diff --git a/FatePaths/Questionable.FatePaths.FateBundle b/FatePaths/Questionable.FatePaths.FateBundle index 7848e7b..88a94cc 100644 Binary files a/FatePaths/Questionable.FatePaths.FateBundle and b/FatePaths/Questionable.FatePaths.FateBundle differ diff --git a/FatePaths/Questionable.FatePaths/AssemblyFateDefinitionLoader.cs b/FatePaths/Questionable.FatePaths/AssemblyFateDefinitionLoader.cs index 22c285c..513acb6 100644 --- a/FatePaths/Questionable.FatePaths/AssemblyFateDefinitionLoader.cs +++ b/FatePaths/Questionable.FatePaths/AssemblyFateDefinitionLoader.cs @@ -3,8 +3,6 @@ using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.IO; -using System.Reflection; -using System.Runtime.CompilerServices; using System.Security.Cryptography; using System.Threading; using Questionable.Model.IO; @@ -18,129 +16,26 @@ internal static class AssemblyFateDefinitionLoader internal static TimeSpan? DecodeDuration { get; private set; } - internal static Stream FateDefinitionSchema - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return _206B_200B_202A_202A_200E_206D_200D_206B_202C_200B_200F_202D_202D_206D_200D_200B_202A_202B_200F_202D_202B_200E_206B_206D_202C_206E_206C_202C_206D_200C_202A_206E_200B_200C_202A_200E_206D_200D_200C_206B_202E(_206D_202B_206F_206C_200B_202C_206C_200D_200D_200D_206D_200E_202A_200D_202C_206F_200C_206B_202E_202B_202B_200B_202E_202E_202E_206D_202D_206C_202B_206A_202C_200E_202A_202A_206E_206B_206E_202C_200D_200D_202E(_200C_202A_202B_206F_206B_200B_202E_202C_206E_200E_206C_200C_200E_206D_206F_206B_200D_206B_206B_200C_200E_202B_202D_206B_206E_202A_202E_206C_206B_202C_200E_200C_206F_206C_206B_206C_206F_202E_206F_200D_202E(typeof(AssemblyFateDefinitionLoader).TypeHandle)), global::_003CModule_003E._206C_200E_206E_202D_200B_206B_200F_202E_206B_202C_200C_206B_202B_206E_202C_200C_200D_202D_206D_200F_206F_202E_206E_206B_202A_202C_206E_206B_206C_206D_200F_206F_202B_206A_200D_202D_200E_206A_202C_206A_202E(657022072)); - } - } + internal static Stream FateDefinitionSchema => typeof(AssemblyFateDefinitionLoader).Assembly.GetManifestResourceStream("Questionable.FatePaths.FateDefinitionSchema"); internal static IReadOnlyDictionary GetDefinitions() { return Definitions.Value; } - [MethodImpl(MethodImplOptions.NoInlining)] private static IReadOnlyDictionary LoadDefinitions() { - Stopwatch stopwatch = _200F_202C_206F_200F_202B_202D_200C_202A_202A_206E_202B_202D_206D_202B_200F_200F_206E_206A_200F_200E_202E_206A_206C_206E_206E_206E_202B_206B_200F_206B_206F_200B_206A_206C_202E_206F_202A_200C_206B_206D_202E(); - Stream stream = _206B_200B_202A_202A_200E_206D_200D_206B_202C_200B_200F_202D_202D_206D_200D_200B_202A_202B_200F_202D_202B_200E_206B_206D_202C_206E_206C_202C_206D_200C_202A_206E_200B_200C_202A_200E_206D_200D_200C_206B_202E(_206D_202B_206F_206C_200B_202C_206C_200D_200D_200D_206D_200E_202A_200D_202C_206F_200C_206B_202E_202B_202B_200B_202E_202E_202E_206D_202D_206C_202B_206A_202C_200E_202A_202A_206E_206B_206E_202C_200D_200D_202E(_200C_202A_202B_206F_206B_200B_202E_202C_206E_200E_206C_200C_200E_206D_206F_206B_200D_206B_206B_200C_200E_202B_202D_206B_206E_202A_202E_206C_206B_202C_200E_200C_206F_206C_206B_206C_206F_202E_206F_200D_202E(typeof(AssemblyFateDefinitionLoader).TypeHandle)), global::_003CModule_003E._206A_200C_202A_206F_206C_206A_202D_206C_206B_200E_200D_202D_200E_206B_202D_206F_206A_200B_202B_206B_200E_202E_206E_202E_206C_206A_200C_206F_206E_200B_202D_200F_206A_206A_200C_200B_200E_206B_202C_202E_202E(1087605776)); - try + Stopwatch stopwatch = Stopwatch.StartNew(); + using Stream stream = typeof(AssemblyFateDefinitionLoader).Assembly.GetManifestResourceStream("Questionable.FatePaths.FateBundle"); + byte[] array = PathBundleSecret.Key(); + List> list = PathBundle.Deserialize(stream, array); + CryptographicOperations.ZeroMemory(array); + Dictionary dictionary = new Dictionary(list.Count); + foreach (var (s, value) in list) { - byte[] array = PathBundleSecret.Key(); - List> list = PathBundle.Deserialize(stream, array); - _206B_202D_202C_200F_206D_202E_202C_200F_206B_202C_206E_202A_200B_206E_206E_206E_200B_200D_206F_206B_206B_202C_202E_202E_202D_206A_200C_202E_202C_202E_206F_202D_202A_206D_202C_202D_206D_206B_202C_202E((Span)array); - Dictionary dictionary = new Dictionary(list.Count); - using (List>.Enumerator enumerator = list.GetEnumerator()) - { - int num = 2495585; - while (true) - { - int num2 = num; - int num3 = 2495585; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 2495585; - break; - case 3: - var (s, value) = (KeyValuePair)(ref enumerator.Current); - dictionary[ushort.Parse(s, _206C_206D_202D_200D_200C_202C_206D_206B_200B_200C_200F_202B_206B_200E_206A_202E_200E_206A_200D_206D_202D_206F_206D_200E_200E_200B_206B_200B_206E_202D_202B_202B_206D_202D_206D_202E_202C_202B_200D_206D_202E())] = value; - num = 2495585; - break; - case 0: - num = (enumerator.MoveNext() ? 2495586 : 2495584); - break; - case 1: - goto end_IL_005c; - } - continue; - end_IL_005c: - break; - } - } - DecodeDuration = _206C_202E_200B_202B_202D_202D_202D_202E_206E_202C_200D_202C_200D_202A_200C_202A_206C_200F_206D_206B_202E_202B_200C_206C_200F_200B_202E_206E_202B_200D_200E_206F_202D_200B_200E_202D_200C_202B_200E_202D_202E(stopwatch); - return dictionary; + dictionary[ushort.Parse(s, CultureInfo.InvariantCulture)] = value; } - finally - { - int num = ((stream == null) ? (-1196840161) : (-1196840164)); - while (true) - { - int num7 = num; - int num3 = -1196840163; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1196840164; - break; - case 1: - _206C_206E_202A_206A_202A_202B_202B_206D_206E_200E_202A_202E_200F_202B_206D_206E_200F_206F_200E_200B_200D_202E_202D_206D_206E_202B_200D_202E_200C_206D_202A_202C_202A_202B_200B_200E_200C_202E_206A_206F_202E((IDisposable)stream); - num = -1196840161; - break; - case 2: - goto end_IL_0143; - } - continue; - end_IL_0143: - break; - } - } - } - - static Type _200C_202A_202B_206F_206B_200B_202E_202C_206E_200E_206C_200C_200E_206D_206F_206B_200D_206B_206B_200C_200E_202B_202D_206B_206E_202A_202E_206C_206B_202C_200E_200C_206F_206C_206B_206C_206F_202E_206F_200D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static Assembly _206D_202B_206F_206C_200B_202C_206C_200D_200D_200D_206D_200E_202A_200D_202C_206F_200C_206B_202E_202B_202B_200B_202E_202E_202E_206D_202D_206C_202B_206A_202C_200E_202A_202A_206E_206B_206E_202C_200D_200D_202E(Type P_0) - { - return P_0.Assembly; - } - - static Stream _206B_200B_202A_202A_200E_206D_200D_206B_202C_200B_200F_202D_202D_206D_200D_200B_202A_202B_200F_202D_202B_200E_206B_206D_202C_206E_206C_202C_206D_200C_202A_206E_200B_200C_202A_200E_206D_200D_200C_206B_202E(Assembly P_0, string P_1) - { - return P_0.GetManifestResourceStream(P_1); - } - - static Stopwatch _200F_202C_206F_200F_202B_202D_200C_202A_202A_206E_202B_202D_206D_202B_200F_200F_206E_206A_200F_200E_202E_206A_206C_206E_206E_206E_202B_206B_200F_206B_206F_200B_206A_206C_202E_206F_202A_200C_206B_206D_202E() - { - return Stopwatch.StartNew(); - } - - static void _206B_202D_202C_200F_206D_202E_202C_200F_206B_202C_206E_202A_200B_206E_206E_206E_200B_200D_206F_206B_206B_202C_202E_202E_202D_206A_200C_202E_202C_202E_206F_202D_202A_206D_202C_202D_206D_206B_202C_202E(Span P_0) - { - CryptographicOperations.ZeroMemory(P_0); - } - - static CultureInfo _206C_206D_202D_200D_200C_202C_206D_206B_200B_200C_200F_202B_206B_200E_206A_202E_200E_206A_200D_206D_202D_206F_206D_200E_200E_200B_206B_200B_206E_202D_202B_202B_206D_202D_206D_202E_202C_202B_200D_206D_202E() - { - return CultureInfo.InvariantCulture; - } - - static TimeSpan _206C_202E_200B_202B_202D_202D_202D_202E_206E_202C_200D_202C_200D_202A_200C_202A_206C_200F_206D_206B_202E_202B_200C_206C_200F_200B_202E_206E_202B_200D_200E_206F_202D_200B_200E_202D_200C_202B_200E_202D_202E(Stopwatch P_0) - { - return P_0.Elapsed; - } - - static void _206C_206E_202A_206A_202A_202B_202B_206D_206E_200E_202A_202E_200F_202B_206D_206E_200F_206F_200E_200B_200D_202E_202D_206D_206E_202B_200D_202E_200C_206D_202A_202C_202A_202B_200B_200E_200C_202E_206A_206F_202E(IDisposable P_0) - { - P_0.Dispose(); + DecodeDuration = stopwatch.Elapsed; + return dictionary; } } diff --git a/FatePaths/Questionable.FatePaths/PathBundleSecret.cs b/FatePaths/Questionable.FatePaths/PathBundleSecret.cs index bf4ffe2..37ddf70 100644 --- a/FatePaths/Questionable.FatePaths/PathBundleSecret.cs +++ b/FatePaths/Questionable.FatePaths/PathBundleSecret.cs @@ -1,64 +1,30 @@ -using System; -using System.Runtime.CompilerServices; - namespace Questionable.FatePaths; internal static class PathBundleSecret { - private static readonly byte[] A; + private static readonly byte[] A = new byte[32] + { + 184, 146, 158, 4, 12, 188, 14, 129, 154, 207, + 124, 249, 11, 86, 207, 158, 174, 9, 114, 165, + 243, 163, 70, 242, 33, 231, 45, 140, 119, 185, + 162, 26 + }; - private static readonly byte[] B; + private static readonly byte[] B = new byte[32] + { + 150, 86, 230, 115, 69, 121, 30, 79, 176, 162, + 216, 139, 248, 83, 68, 111, 173, 223, 203, 79, + 42, 143, 208, 219, 192, 216, 102, 249, 57, 147, + 95, 21 + }; internal static byte[] Key() { byte[] array = new byte[A.Length]; - int num = 0; - int num2 = -1653942217; - while (true) + for (int i = 0; i < array.Length; i++) { - int num3 = num2; - int num4 = -1653942219; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 3: - num2 = -1653942217; - break; - case 2: - num2 = ((num < array.Length) ? (-1653942220) : (-1653942219)); - break; - case 0: - return array; - case 1: - { - int num6 = num; - byte num7 = A[num]; - num4 = B[num]; - num5 = num7; - array[num6] = (byte)((num5 | num4) - (num5 & num4)); - int num8 = num; - num4 = 1; - num5 = num8; - num = (num5 | num4) + (num5 & num4); - num2 = -1653942217; - break; - } - } + array[i] = (byte)(A[i] ^ B[i]); } - } - - static PathBundleSecret() - { - byte[] array = new byte[32]; - _206D_202B_202B_206F_202C_206D_200C_206E_202C_202E_200D_200F_202B_200C_200C_206D_202C_206F_206A_202E_206F_206B_200C_200D_206E_200C_206C_200B_200E_200F_202C_200F_200D_200D_200F_202E_200B_200D_206D_202A_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - A = array; - byte[] array2 = new byte[32]; - _206D_202B_202B_206F_202C_206D_200C_206E_202C_202E_200D_200F_202B_200C_200C_206D_202C_206F_206A_202E_206F_206B_200C_200D_206E_200C_206C_200B_200E_200F_202C_200F_200D_200D_200F_202E_200B_200D_206D_202A_202E((Array)array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - B = array2; - } - - static void _206D_202B_202B_206F_202C_206D_200C_206E_202C_202E_200D_200F_202B_200C_200C_206D_202C_206F_206A_202E_206F_206B_200C_200D_206E_200C_206C_200B_200E_200F_202C_200F_200D_200D_200F_202E_200B_200D_206D_202A_202E(Array P_0, RuntimeFieldHandle P_1) - { - RuntimeHelpers.InitializeArray(P_0, P_1); + return array; } } diff --git a/GatheringPaths/Questionable.GatheringPaths.GatheringBundle b/GatheringPaths/Questionable.GatheringPaths.GatheringBundle index 2d0d2df..6eae81e 100644 Binary files a/GatheringPaths/Questionable.GatheringPaths.GatheringBundle and b/GatheringPaths/Questionable.GatheringPaths.GatheringBundle differ diff --git a/GatheringPaths/Questionable.GatheringPaths/AssemblyGatheringLocationLoader.cs b/GatheringPaths/Questionable.GatheringPaths/AssemblyGatheringLocationLoader.cs index 8e7d44f..b1acb0c 100644 --- a/GatheringPaths/Questionable.GatheringPaths/AssemblyGatheringLocationLoader.cs +++ b/GatheringPaths/Questionable.GatheringPaths/AssemblyGatheringLocationLoader.cs @@ -3,8 +3,6 @@ using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.IO; -using System.Reflection; -using System.Runtime.CompilerServices; using System.Security.Cryptography; using System.Threading; using Questionable.Model.Gathering; @@ -18,129 +16,26 @@ internal static class AssemblyGatheringLocationLoader internal static TimeSpan? DecodeDuration { get; private set; } - internal static Stream GatheringSchema - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return _202D_200C_200E_200F_202A_200B_206C_202B_200D_200D_202D_202D_200B_200D_202A_202A_200B_206E_200B_202D_202D_200D_202A_206A_206E_202C_200F_206C_200F_206E_206C_200D_206B_206A_202C_206D_206C_202E_200F_200C_202E(_202A_202D_206A_206D_206A_200D_200F_200D_206E_202D_200C_200D_202A_202C_206F_200C_200C_200B_200D_200F_206F_202A_206A_200F_206E_200B_200E_206C_200E_200D_202C_200B_202D_202C_206C_206E_202A_206E_206D_206B_202E(_200E_202C_200C_200B_206D_206E_202A_206F_206B_202A_202C_200F_206B_202E_206D_206F_202E_202D_200F_206B_206D_206E_206B_206D_206C_200C_200F_202A_202B_200E_206E_202B_200B_202A_202E_202C_200C_202E_206D_202C_202E(typeof(AssemblyGatheringLocationLoader).TypeHandle)), global::_003CModule_003E._202B_200D_206E_200E_206C_206E_206B_200F_202C_202C_202C_206F_202E_202A_202C_206B_206A_200F_206B_206F_202C_206C_202A_202E_202D_206D_202B_200D_200B_202A_206E_200B_206A_206D_202B_206D_206A_202D_206E_206B_202E(657022072)); - } - } + internal static Stream GatheringSchema => typeof(AssemblyGatheringLocationLoader).Assembly.GetManifestResourceStream("Questionable.GatheringPaths.GatheringLocationSchema"); internal static IReadOnlyDictionary GetLocations() { return Locations.Value; } - [MethodImpl(MethodImplOptions.NoInlining)] private static IReadOnlyDictionary LoadLocations() { - Stopwatch stopwatch = _202A_202A_202D_206C_206F_200F_206B_200C_200B_202E_206D_200E_206C_206A_200D_202B_202B_206D_200B_200C_200E_202E_202A_206F_206A_206D_206F_202B_206F_200C_206A_202B_206A_202D_206F_206D_202D_206D_202B_202A_202E(); - Stream stream = _202D_200C_200E_200F_202A_200B_206C_202B_200D_200D_202D_202D_200B_200D_202A_202A_200B_206E_200B_202D_202D_200D_202A_206A_206E_202C_200F_206C_200F_206E_206C_200D_206B_206A_202C_206D_206C_202E_200F_200C_202E(_202A_202D_206A_206D_206A_200D_200F_200D_206E_202D_200C_200D_202A_202C_206F_200C_200C_200B_200D_200F_206F_202A_206A_200F_206E_200B_200E_206C_200E_200D_202C_200B_202D_202C_206C_206E_202A_206E_206D_206B_202E(_200E_202C_200C_200B_206D_206E_202A_206F_206B_202A_202C_200F_206B_202E_206D_206F_202E_202D_200F_206B_206D_206E_206B_206D_206C_200C_200F_202A_202B_200E_206E_202B_200B_202A_202E_202C_200C_202E_206D_202C_202E(typeof(AssemblyGatheringLocationLoader).TypeHandle)), global::_003CModule_003E._206C_202D_202B_202A_206F_206F_202A_202E_206E_206C_200B_202C_206B_202A_206A_202E_206C_200B_202E_200C_200D_202A_206D_206D_206F_206D_202E_206C_202C_200F_206F_202A_200E_200F_206B_200B_200D_206E_206F_206F_202E(-1881698)); - try + Stopwatch stopwatch = Stopwatch.StartNew(); + using Stream stream = typeof(AssemblyGatheringLocationLoader).Assembly.GetManifestResourceStream("Questionable.GatheringPaths.GatheringBundle"); + byte[] array = PathBundleSecret.Key(); + List> list = PathBundle.Deserialize(stream, array); + CryptographicOperations.ZeroMemory(array); + Dictionary dictionary = new Dictionary(list.Count); + foreach (var (s, value) in list) { - byte[] array = PathBundleSecret.Key(); - List> list = PathBundle.Deserialize(stream, array); - _206E_200D_206E_200B_202D_202E_202D_206C_206B_206F_200E_200E_206D_200D_206F_200C_206B_202B_206B_202D_202C_206B_200B_200B_200C_202C_200E_206F_200D_200C_200F_206E_202C_206E_206E_206F_206C_202A_206A_202E_202E((Span)array); - Dictionary dictionary = new Dictionary(list.Count); - using (List>.Enumerator enumerator = list.GetEnumerator()) - { - int num = 2495585; - while (true) - { - int num2 = num; - int num3 = 2495585; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 2495585; - break; - case 3: - var (s, value) = (KeyValuePair)(ref enumerator.Current); - dictionary[ushort.Parse(s, _206B_202B_200D_200E_202E_202D_202D_206E_206D_206A_200E_206D_202B_206D_200C_202D_206B_200F_200D_202B_202E_202E_206C_202B_200F_206F_206C_200D_200F_200B_206E_200C_202E_206B_202D_206E_200B_200D_200B_206E_202E())] = value; - num = 2495585; - break; - case 0: - num = (enumerator.MoveNext() ? 2495586 : 2495584); - break; - case 1: - goto end_IL_005c; - } - continue; - end_IL_005c: - break; - } - } - DecodeDuration = _200C_206E_202D_202A_206D_202C_200B_202E_200C_200F_202D_206B_200B_206A_200C_202B_206F_202C_202E_202A_206F_200C_206D_202A_200F_206C_202D_202A_206C_206A_206A_202D_206E_206C_206E_206A_206A_206E_206F_202B_202E(stopwatch); - return dictionary; + dictionary[ushort.Parse(s, CultureInfo.InvariantCulture)] = value; } - finally - { - int num = ((stream == null) ? (-1196840161) : (-1196840164)); - while (true) - { - int num7 = num; - int num3 = -1196840163; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1196840164; - break; - case 1: - _202B_202A_200B_200F_206F_206C_206E_200E_206D_202C_202C_202C_206B_206D_202C_206D_202D_200D_200F_202C_206C_202A_202E_202B_206A_200C_202E_202C_202A_206D_206C_202B_206E_206A_202C_206A_202D_202C_202E_200F_202E((IDisposable)stream); - num = -1196840161; - break; - case 2: - goto end_IL_0143; - } - continue; - end_IL_0143: - break; - } - } - } - - static Type _200E_202C_200C_200B_206D_206E_202A_206F_206B_202A_202C_200F_206B_202E_206D_206F_202E_202D_200F_206B_206D_206E_206B_206D_206C_200C_200F_202A_202B_200E_206E_202B_200B_202A_202E_202C_200C_202E_206D_202C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static Assembly _202A_202D_206A_206D_206A_200D_200F_200D_206E_202D_200C_200D_202A_202C_206F_200C_200C_200B_200D_200F_206F_202A_206A_200F_206E_200B_200E_206C_200E_200D_202C_200B_202D_202C_206C_206E_202A_206E_206D_206B_202E(Type P_0) - { - return P_0.Assembly; - } - - static Stream _202D_200C_200E_200F_202A_200B_206C_202B_200D_200D_202D_202D_200B_200D_202A_202A_200B_206E_200B_202D_202D_200D_202A_206A_206E_202C_200F_206C_200F_206E_206C_200D_206B_206A_202C_206D_206C_202E_200F_200C_202E(Assembly P_0, string P_1) - { - return P_0.GetManifestResourceStream(P_1); - } - - static Stopwatch _202A_202A_202D_206C_206F_200F_206B_200C_200B_202E_206D_200E_206C_206A_200D_202B_202B_206D_200B_200C_200E_202E_202A_206F_206A_206D_206F_202B_206F_200C_206A_202B_206A_202D_206F_206D_202D_206D_202B_202A_202E() - { - return Stopwatch.StartNew(); - } - - static void _206E_200D_206E_200B_202D_202E_202D_206C_206B_206F_200E_200E_206D_200D_206F_200C_206B_202B_206B_202D_202C_206B_200B_200B_200C_202C_200E_206F_200D_200C_200F_206E_202C_206E_206E_206F_206C_202A_206A_202E_202E(Span P_0) - { - CryptographicOperations.ZeroMemory(P_0); - } - - static CultureInfo _206B_202B_200D_200E_202E_202D_202D_206E_206D_206A_200E_206D_202B_206D_200C_202D_206B_200F_200D_202B_202E_202E_206C_202B_200F_206F_206C_200D_200F_200B_206E_200C_202E_206B_202D_206E_200B_200D_200B_206E_202E() - { - return CultureInfo.InvariantCulture; - } - - static TimeSpan _200C_206E_202D_202A_206D_202C_200B_202E_200C_200F_202D_206B_200B_206A_200C_202B_206F_202C_202E_202A_206F_200C_206D_202A_200F_206C_202D_202A_206C_206A_206A_202D_206E_206C_206E_206A_206A_206E_206F_202B_202E(Stopwatch P_0) - { - return P_0.Elapsed; - } - - static void _202B_202A_200B_200F_206F_206C_206E_200E_206D_202C_202C_202C_206B_206D_202C_206D_202D_200D_200F_202C_206C_202A_202E_202B_206A_200C_202E_202C_202A_206D_206C_202B_206E_206A_202C_206A_202D_202C_202E_200F_202E(IDisposable P_0) - { - P_0.Dispose(); + DecodeDuration = stopwatch.Elapsed; + return dictionary; } } diff --git a/GatheringPaths/Questionable.GatheringPaths/PathBundleSecret.cs b/GatheringPaths/Questionable.GatheringPaths/PathBundleSecret.cs index 4c6d181..6e96944 100644 --- a/GatheringPaths/Questionable.GatheringPaths/PathBundleSecret.cs +++ b/GatheringPaths/Questionable.GatheringPaths/PathBundleSecret.cs @@ -1,64 +1,30 @@ -using System; -using System.Runtime.CompilerServices; - namespace Questionable.GatheringPaths; internal static class PathBundleSecret { - private static readonly byte[] A; + private static readonly byte[] A = new byte[32] + { + 145, 72, 249, 36, 189, 185, 130, 238, 193, 10, + 202, 232, 4, 205, 253, 37, 116, 120, 105, 80, + 155, 225, 237, 122, 124, 183, 185, 180, 222, 128, + 163, 58 + }; - private static readonly byte[] B; + private static readonly byte[] B = new byte[32] + { + 38, 241, 153, 134, 236, 129, 153, 181, 53, 177, + 92, 29, 47, 248, 180, 1, 80, 8, 68, 19, + 82, 214, 85, 67, 101, 195, 46, 138, 196, 69, + 206, 117 + }; internal static byte[] Key() { byte[] array = new byte[A.Length]; - int num = 0; - int num2 = -1653942217; - while (true) + for (int i = 0; i < array.Length; i++) { - int num3 = num2; - int num4 = -1653942219; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 3: - num2 = -1653942217; - break; - case 2: - num2 = ((num < array.Length) ? (-1653942220) : (-1653942219)); - break; - case 0: - return array; - case 1: - { - int num6 = num; - byte num7 = A[num]; - num4 = B[num]; - num5 = num7; - array[num6] = (byte)((num5 | num4) - (num5 & num4)); - int num8 = num; - num4 = 1; - num5 = num8; - num = (num5 | num4) + (num5 & num4); - num2 = -1653942217; - break; - } - } + array[i] = (byte)(A[i] ^ B[i]); } - } - - static PathBundleSecret() - { - byte[] array = new byte[32]; - _200C_200B_206F_200D_202D_200C_200D_202D_206E_206B_202D_206A_206A_206E_206E_200F_200C_202B_206E_202A_200E_200D_202C_202D_202E_202B_200C_206F_206D_206F_202A_206A_206D_200C_206C_202B_206F_200E_202C_206F_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - A = array; - byte[] array2 = new byte[32]; - _200C_200B_206F_200D_202D_200C_200D_202D_206E_206B_202D_206A_206A_206E_206E_200F_200C_202B_206E_202A_200E_200D_202C_202D_202E_202B_200C_206F_206D_206F_202A_206A_206D_200C_206C_202B_206F_200E_202C_206F_202E((Array)array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - B = array2; - } - - static void _200C_200B_206F_200D_202D_200C_200D_202D_206E_206B_202D_206A_206A_206E_206E_200F_200C_202B_206E_202A_200E_200D_202C_202D_202E_202B_200C_206F_206D_206F_202A_206A_206D_200C_206C_202B_206F_200E_202C_206F_202E(Array P_0, RuntimeFieldHandle P_1) - { - RuntimeHelpers.InitializeArray(P_0, P_1); + return array; } } diff --git a/LLib/--z__ReadOnlyArray.cs b/LLib/--z__ReadOnlyArray.cs index 2b6d9b6..840f515 100644 --- a/LLib/--z__ReadOnlyArray.cs +++ b/LLib/--z__ReadOnlyArray.cs @@ -20,7 +20,7 @@ internal sealed class _003C_003Ez__ReadOnlyArray : IEnumerable, ICollection, } set { - throw _206B_206D_206B_202E_200D_206A_202C_200D_202C_206E_206B_202C_200F_202B_206C_206F_206A_200C_202B_206C_202D_206D_206A_202A_202B_206B_200E_206C_206E_202E_206F_200D_200B_200C_200B_200C_202E_200C_206F_206B_202E(); + throw new NotSupportedException(); } } @@ -44,7 +44,7 @@ internal sealed class _003C_003Ez__ReadOnlyArray : IEnumerable, ICollection, } set { - throw _206B_206D_206B_202E_200D_206A_202C_200D_202C_206E_206B_202C_200F_202B_206C_206F_206A_200C_202B_206C_202D_206D_206A_202A_202B_206B_200E_206C_206E_202E_206F_200D_200B_200C_200B_200C_202E_200C_206F_206B_202E(); + throw new NotSupportedException(); } } @@ -55,47 +55,47 @@ internal sealed class _003C_003Ez__ReadOnlyArray : IEnumerable, ICollection, IEnumerator IEnumerable.GetEnumerator() { - return _206B_206C_206A_206E_200B_202D_200B_202E_200C_200E_202E_200D_202C_202A_202B_200F_202C_200D_206E_200E_200C_200E_200F_202D_200F_202E_200E_200D_202A_200F_200F_202B_206D_202D_206B_202B_200D_202E_206E_202E_202E((IEnumerable)_items); + return ((IEnumerable)_items).GetEnumerator(); } void ICollection.CopyTo(Array array, int index) { - _200E_202C_200B_206C_202D_206C_206A_206D_200B_206A_202D_200B_200B_200C_206D_200C_200E_202D_200D_206B_206C_206A_206F_206D_206D_202A_206D_206E_202C_206A_202B_206B_206D_202D_202D_206A_206F_206D_200E_206A_202E((ICollection)_items, array, index); + ((ICollection)_items).CopyTo(array, index); } int IList.Add(object? value) { - throw _206B_206D_206B_202E_200D_206A_202C_200D_202C_206E_206B_202C_200F_202B_206C_206F_206A_200C_202B_206C_202D_206D_206A_202A_202B_206B_200E_206C_206E_202E_206F_200D_200B_200C_200B_200C_202E_200C_206F_206B_202E(); + throw new NotSupportedException(); } void IList.Clear() { - throw _206B_206D_206B_202E_200D_206A_202C_200D_202C_206E_206B_202C_200F_202B_206C_206F_206A_200C_202B_206C_202D_206D_206A_202A_202B_206B_200E_206C_206E_202E_206F_200D_200B_200C_200B_200C_202E_200C_206F_206B_202E(); + throw new NotSupportedException(); } bool IList.Contains(object? value) { - return _200D_202E_202D_202E_206D_202B_206D_202A_200E_202A_202C_200F_202B_202C_206B_200C_202A_202D_202B_200C_200D_202E_202B_202B_200E_206A_202B_200C_206B_206C_206C_206A_206D_200B_202D_206F_200D_200E_200E_206D_202E((IList)_items, value); + return ((IList)_items).Contains(value); } int IList.IndexOf(object? value) { - return _202D_200D_202C_202B_200B_206E_206B_200C_202E_200B_206E_206B_206B_200D_206A_202A_206E_200B_202C_202B_200E_200B_200F_202C_202C_202A_200C_206E_202A_206F_206C_200E_206B_200F_202E_200E_206D_206F_200C_202A_202E((IList)_items, value); + return ((IList)_items).IndexOf(value); } void IList.Insert(int index, object? value) { - throw _206B_206D_206B_202E_200D_206A_202C_200D_202C_206E_206B_202C_200F_202B_206C_206F_206A_200C_202B_206C_202D_206D_206A_202A_202B_206B_200E_206C_206E_202E_206F_200D_200B_200C_200B_200C_202E_200C_206F_206B_202E(); + throw new NotSupportedException(); } void IList.Remove(object? value) { - throw _206B_206D_206B_202E_200D_206A_202C_200D_202C_206E_206B_202C_200F_202B_206C_206F_206A_200C_202B_206C_202D_206D_206A_202A_202B_206B_200E_206C_206E_202E_206F_200D_200B_200C_200B_200C_202E_200C_206F_206B_202E(); + throw new NotSupportedException(); } void IList.RemoveAt(int index) { - throw _206B_206D_206B_202E_200D_206A_202C_200D_202C_206E_206B_202C_200F_202B_206C_206F_206A_200C_202B_206C_202D_206D_206A_202A_202B_206B_200E_206C_206E_202E_206F_200D_200B_200C_200B_200C_202E_200C_206F_206B_202E(); + throw new NotSupportedException(); } IEnumerator IEnumerable.GetEnumerator() @@ -105,12 +105,12 @@ internal sealed class _003C_003Ez__ReadOnlyArray : IEnumerable, ICollection, void ICollection.Add(T item) { - throw _206B_206D_206B_202E_200D_206A_202C_200D_202C_206E_206B_202C_200F_202B_206C_206F_206A_200C_202B_206C_202D_206D_206A_202A_202B_206B_200E_206C_206E_202E_206F_200D_200B_200C_200B_200C_202E_200C_206F_206B_202E(); + throw new NotSupportedException(); } void ICollection.Clear() { - throw _206B_206D_206B_202E_200D_206A_202C_200D_202C_206E_206B_202C_200F_202B_206C_206F_206A_200C_202B_206C_202D_206D_206A_202A_202B_206B_200E_206C_206E_202E_206F_200D_200B_200C_200B_200C_202E_200C_206F_206B_202E(); + throw new NotSupportedException(); } bool ICollection.Contains(T item) @@ -125,7 +125,7 @@ internal sealed class _003C_003Ez__ReadOnlyArray : IEnumerable, ICollection, bool ICollection.Remove(T item) { - throw _206B_206D_206B_202E_200D_206A_202C_200D_202C_206E_206B_202C_200F_202B_206C_206F_206A_200C_202B_206C_202D_206D_206A_202A_202B_206B_200E_206C_206E_202E_206F_200D_200B_200C_200B_200C_202E_200C_206F_206B_202E(); + throw new NotSupportedException(); } int IList.IndexOf(T item) @@ -135,36 +135,11 @@ internal sealed class _003C_003Ez__ReadOnlyArray : IEnumerable, ICollection, void IList.Insert(int index, T item) { - throw _206B_206D_206B_202E_200D_206A_202C_200D_202C_206E_206B_202C_200F_202B_206C_206F_206A_200C_202B_206C_202D_206D_206A_202A_202B_206B_200E_206C_206E_202E_206F_200D_200B_200C_200B_200C_202E_200C_206F_206B_202E(); + throw new NotSupportedException(); } void IList.RemoveAt(int index) { - throw _206B_206D_206B_202E_200D_206A_202C_200D_202C_206E_206B_202C_200F_202B_206C_206F_206A_200C_202B_206C_202D_206D_206A_202A_202B_206B_200E_206C_206E_202E_206F_200D_200B_200C_200B_200C_202E_200C_206F_206B_202E(); - } - - static IEnumerator _206B_206C_206A_206E_200B_202D_200B_202E_200C_200E_202E_200D_202C_202A_202B_200F_202C_200D_206E_200E_200C_200E_200F_202D_200F_202E_200E_200D_202A_200F_200F_202B_206D_202D_206B_202B_200D_202E_206E_202E_202E(IEnumerable P_0) - { - return P_0.GetEnumerator(); - } - - static void _200E_202C_200B_206C_202D_206C_206A_206D_200B_206A_202D_200B_200B_200C_206D_200C_200E_202D_200D_206B_206C_206A_206F_206D_206D_202A_206D_206E_202C_206A_202B_206B_206D_202D_202D_206A_206F_206D_200E_206A_202E(ICollection P_0, Array P_1, int P_2) - { - P_0.CopyTo(P_1, P_2); - } - - static NotSupportedException _206B_206D_206B_202E_200D_206A_202C_200D_202C_206E_206B_202C_200F_202B_206C_206F_206A_200C_202B_206C_202D_206D_206A_202A_202B_206B_200E_206C_206E_202E_206F_200D_200B_200C_200B_200C_202E_200C_206F_206B_202E() - { - return new NotSupportedException(); - } - - static bool _200D_202E_202D_202E_206D_202B_206D_202A_200E_202A_202C_200F_202B_202C_206B_200C_202A_202D_202B_200C_200D_202E_202B_202B_200E_206A_202B_200C_206B_206C_206C_206A_206D_200B_202D_206F_200D_200E_200E_206D_202E(IList P_0, object P_1) - { - return P_0.Contains(P_1); - } - - static int _202D_200D_202C_202B_200B_206E_206B_200C_202E_200B_206E_206B_206B_200D_206A_202A_206E_200B_202C_202B_200E_200B_200F_202C_202C_202A_200C_206E_202A_206F_206C_200E_206B_200F_202E_200E_206D_206F_200C_202A_202E(IList P_0, object P_1) - { - return P_0.IndexOf(P_1); + throw new NotSupportedException(); } } diff --git a/LLib/LLib.Buddy/BuddyActions.cs b/LLib/LLib.Buddy/BuddyActions.cs index 092d575..3710859 100644 --- a/LLib/LLib.Buddy/BuddyActions.cs +++ b/LLib/LLib.Buddy/BuddyActions.cs @@ -1,4 +1,3 @@ -using System.Runtime.CompilerServices; using Dalamud.Game.ClientState.Conditions; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; @@ -19,219 +18,88 @@ public static class BuddyActions public unsafe static bool TrySummonCompanion() { ActionManager* ptr = ActionManager.Instance(); - int num = ((ptr != null) ? 1651046355 : 1651046352); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1651046354; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 2: - return false; - case 1: - return ptr->UseAction(ActionType.GeneralAction, 24u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); - } - continue; - IL_004b: - num = 1651046352; + return false; } + return ptr->UseAction(ActionType.GeneralAction, 24u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); } public unsafe static bool TryDismissCompanion() { ActionManager* ptr = ActionManager.Instance(); - int num = ((ptr != null) ? (-1011078578) : (-1011078577)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -1011078578; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return ptr->UseAction(ActionType.GeneralAction, 25u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); - case 1: - return false; - case 2: - goto IL_0062; - } - continue; - IL_0062: - num = -1011078577; + return false; } + return ptr->UseAction(ActionType.GeneralAction, 25u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); } public static bool TrySetOrder(byte order) { - int num = (BuddyStateHelper.IsCompanionSummoned() ? (-1422028975) : (-1422028974)); - while (true) + if (!BuddyStateHelper.IsCompanionSummoned()) { - int num2 = num; - int num3 = -1422028976; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - GameMain.ExecuteCommand(500, order); - return true; - case 2: - return false; - case 0: - goto IL_005a; - } - continue; - IL_005a: - num = -1422028974; + return false; } + GameMain.ExecuteCommand(500, order); + return true; } public unsafe static bool IsCompanionUnlocked() { UIState* ptr = UIState.Instance(); - int num = ((ptr == null) ? (-114934898) : (-114934899)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -114934897; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return false; - case 2: - return ptr->IsUnlockLinkUnlocked(8u); - case 0: - goto IL_0055; - } - continue; - IL_0055: - num = -114934899; + return ptr->IsUnlockLinkUnlocked(8u); } + return false; } public unsafe static bool CanSummonCompanion(ICondition condition) { - int num = (IsCompanionUnlocked() ? (-985374925) : (-985374926)); - InventoryManager* ptr = default(InventoryManager*); - while (true) + if (!IsCompanionUnlocked()) { - int num2 = num; - int num3 = -985374920; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 9: - return false; - case 4: - num = (_206B_200F_206E_202A_202E_202C_202D_202D_206F_202A_206D_200D_202C_202E_206D_200E_202C_202E_202C_200B_200C_206B_206F_200F_200E_202B_206D_206F_200D_202D_206B_206E_206B_206D_200B_202B_200C_200F_200D_200E_202E(condition, ConditionFlag.BoundByDuty) ? (-985374920) : (-985374917)); - break; - case 7: - return false; - case 1: - num = ((!_206B_200F_206E_202A_202E_202C_202D_202D_206F_202A_206D_200D_202C_202E_206D_200E_202C_202E_202C_200B_200C_206B_206F_200F_200E_202B_206D_206F_200D_202D_206B_206E_206B_206D_200B_202B_200C_200F_200D_200E_202E(condition, ConditionFlag.InCombat)) ? (-985374918) : (-985374920)); - break; - case 11: - num = ((!BuddyStateHelper.IsCompanionSummoned()) ? (-985374916) : (-985374913)); - break; - case 3: - num = (_206B_200F_206E_202A_202E_202C_202D_202D_206F_202A_206D_200D_202C_202E_206D_200E_202C_202E_202C_200B_200C_206B_206F_200F_200E_202B_206D_206F_200D_202D_206B_206E_206B_206D_200B_202B_200C_200F_200D_200E_202E(condition, ConditionFlag.Mounted) ? (-985374920) : (-985374919)); - break; - case 10: - return false; - case 5: - return true; - case 8: - num = -985374926; - break; - case 6: - num = ((ptr->GetInventoryItemCount(4868u, isHq: false, checkEquipped: true, checkArmory: true, 0) != 0) ? (-985374915) : (-985374927)); - break; - case 0: - return false; - case 2: - ptr = InventoryManager.Instance(); - num = ((ptr == null) ? (-985374927) : (-985374914)); - break; - } + return false; } + if (BuddyStateHelper.IsCompanionSummoned()) + { + return false; + } + if (condition[ConditionFlag.BoundByDuty] || condition[ConditionFlag.Mounted] || condition[ConditionFlag.InCombat]) + { + return false; + } + InventoryManager* ptr = InventoryManager.Instance(); + if (ptr == null || ptr->GetInventoryItemCount(4868u, isHq: false, checkEquipped: true, checkArmory: true, 0) == 0) + { + return false; + } + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool IsFeedAddonReady(IGameGui gameGui) { AtkUnitBase* addonPtr; - return gameGui.TryGetReadyAddon(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(2118248575), out addonPtr); + return gameGui.TryGetReadyAddon("BuddyFeed", out addonPtr); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TrySelectFeedItem(IGameGui gameGui, int index) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetReadyAddon(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1623486615), out addonPtr) ? 590168373 : 590168372); - while (true) + if (!gameGui.TryGetReadyAddon("BuddyFeed", out var addonPtr)) { - int num2 = num; - int num3 = 590168373; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - AddonCallback.Fire(addonPtr, 0, index); - return true; - case 1: - return false; - case 2: - goto IL_0066; - } - continue; - IL_0066: - num = 590168372; + return false; } + AddonCallback.Fire(addonPtr, 0, index); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryConfirmFeed(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetReadyAddon(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(184774238), out addonPtr) ? 596817817 : 596817818); - while (true) + if (!gameGui.TryGetReadyAddon("SelectYesno", out var addonPtr)) { - int num2 = num; - int num3 = 596817819; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0054; - case 2: - AddonCallback.ClickYes(addonPtr); - return true; - case 1: - return false; - } - continue; - IL_0054: - num = 596817818; + return false; } - } - - static bool _206B_200F_206E_202A_202E_202C_202D_202D_206F_202A_206D_200D_202C_202E_206D_200E_202C_202E_202C_200B_200C_206B_206F_200F_200E_202B_206D_206F_200D_202D_206B_206E_206B_206D_200B_202B_200C_200F_200D_200E_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; + AddonCallback.ClickYes(addonPtr); + return true; } } diff --git a/LLib/LLib.Buddy/BuddyEquipActions.cs b/LLib/LLib.Buddy/BuddyEquipActions.cs index dddab84..b934740 100644 --- a/LLib/LLib.Buddy/BuddyEquipActions.cs +++ b/LLib/LLib.Buddy/BuddyEquipActions.cs @@ -1,4 +1,3 @@ -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Component.GUI; @@ -13,138 +12,57 @@ public static class BuddyEquipActions public unsafe static bool TryOpenBuddyAddon() { ActionManager* ptr = ActionManager.Instance(); - int num = ((ptr != null) ? 1019459524 : 1019459527); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1019459526; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 2: - return ptr->UseAction(ActionType.GeneralAction, 26u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); - case 1: - return false; - } - continue; - IL_004b: - num = 1019459527; + return false; } + return ptr->UseAction(ActionType.GeneralAction, 26u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool IsBuddyAddonReady(IGameGui gameGui) { AtkUnitBase* addonPtr; - return gameGui.TryGetReadyAddon(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(583695867), out addonPtr); + return gameGui.TryGetReadyAddon("Buddy", out addonPtr); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TrySelectBardingSlot(IGameGui gameGui, int slot) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetReadyAddon(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(-70251581), out addonPtr) ? (-765945705) : (-765945708)); - while (true) + if (!gameGui.TryGetReadyAddon("Buddy", out var addonPtr)) { - int num2 = num; - int num3 = -765945707; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0052; - case 2: - AddonCallback.Fire(addonPtr, 0, 2); - AddonCallback.Fire(addonPtr, 1, slot); - return true; - case 1: - return false; - } - continue; - IL_0052: - num = -765945708; + return false; } + AddonCallback.Fire(addonPtr, 0, 2); + AddonCallback.Fire(addonPtr, 1, slot); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryEquipBarding(IGameGui gameGui, int bardingIndex) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetReadyAddon(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(1272603864), out addonPtr) ? (-427454791) : (-427454790)); - while (true) + if (!gameGui.TryGetReadyAddon("Buddy", out var addonPtr)) { - int num2 = num; - int num3 = -427454792; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0052; - case 2: - return false; - case 1: - AddonCallback.Fire(addonPtr, 2, bardingIndex); - return true; - } - continue; - IL_0052: - num = -427454790; + return false; } + AddonCallback.Fire(addonPtr, 2, bardingIndex); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryUnequipBarding(IGameGui gameGui, int slot) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetReadyAddon(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(1272603864), out addonPtr) ? 170791386 : 170791385); - while (true) + if (!gameGui.TryGetReadyAddon("Buddy", out var addonPtr)) { - int num2 = num; - int num3 = 170791387; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0052; - case 1: - AddonCallback.Fire(addonPtr, 3, slot); - return true; - case 2: - return false; - } - continue; - IL_0052: - num = 170791385; + return false; } + AddonCallback.Fire(addonPtr, 3, slot); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryCloseBuddyAddon(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(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(583695867), out addonPtr) ? (-1191072356) : (-1191072353)); - while (true) + if (!gameGui.TryGetAddonByName("Buddy", out var addonPtr)) { - int num2 = num; - int num3 = -1191072355; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - AddonCallback.Fire(addonPtr, -1); - return true; - case 2: - return false; - case 0: - goto IL_0066; - } - continue; - IL_0066: - num = -1191072353; + return false; } + AddonCallback.Fire(addonPtr, -1); + return true; } } diff --git a/LLib/LLib.Buddy/BuddyStateHelper.cs b/LLib/LLib.Buddy/BuddyStateHelper.cs index 2ec2c54..922dea9 100644 --- a/LLib/LLib.Buddy/BuddyStateHelper.cs +++ b/LLib/LLib.Buddy/BuddyStateHelper.cs @@ -8,520 +8,213 @@ public static class BuddyStateHelper public unsafe static bool IsCompanionSummoned() { UIState* ptr = UIState.Instance(); - int num = ((ptr != null) ? (-1349796682) : (-1349796683)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -1349796684; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return ptr->Buddy.CompanionInfo.TimeLeft > 0f; - case 1: - return false; - case 0: - goto IL_0063; - } - continue; - IL_0063: - num = -1349796683; + return false; } + return ptr->Buddy.CompanionInfo.TimeLeft > 0f; } public unsafe static bool IsCompanionMounted() { UIState* ptr = UIState.Instance(); - int num = ((ptr != null) ? (-1440023216) : (-1440023213)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -1440023215; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 1: - return ptr->Buddy.CompanionInfo.Mounted; - case 2: - return false; - } - continue; - IL_0049: - num = -1440023213; + return false; } + return ptr->Buddy.CompanionInfo.Mounted; } public unsafe static string GetCompanionName() { UIState* ptr = UIState.Instance(); - int num = ((ptr != null) ? 1483608628 : 1483608631); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1483608630; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 2: - return ptr->Buddy.CompanionInfo.NameString; - case 1: - return string.Empty; - } - continue; - IL_004b: - num = 1483608631; + return string.Empty; } + return ptr->Buddy.CompanionInfo.NameString; } public unsafe static byte GetCompanionColorStainId() { UIState* ptr = UIState.Instance(); - int num = ((ptr != null) ? 345206792 : 345206793); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 345206792; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return ptr->Buddy.CompanionInfo.CurrentColorStainId; - case 1: - return 0; - case 2: - goto IL_005c; - } - continue; - IL_005c: - num = 345206793; + return 0; } + return ptr->Buddy.CompanionInfo.CurrentColorStainId; } public unsafe static byte GetCompanionRank() { UIState* ptr = UIState.Instance(); - int num = ((ptr != null) ? 424961589 : 424961588); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 424961589; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return ptr->Buddy.CompanionInfo.Rank; - case 1: - return 0; - case 2: - goto IL_005c; - } - continue; - IL_005c: - num = 424961588; + return 0; } + return ptr->Buddy.CompanionInfo.Rank; } public unsafe static uint GetCompanionCurrentXP() { UIState* ptr = UIState.Instance(); - int num = ((ptr != null) ? (-7933264) : (-7933261)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -7933262; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return ptr->Buddy.CompanionInfo.CurrentXP; - case 1: - return 0u; - case 0: - goto IL_005c; - } - continue; - IL_005c: - num = -7933261; + return 0u; } + return ptr->Buddy.CompanionInfo.CurrentXP; } public unsafe static byte GetCompanionStars() { UIState* ptr = UIState.Instance(); - int num = ((ptr != null) ? 1600521884 : 1600521887); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1600521885; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 2: - return 0; - case 1: - return ptr->Buddy.CompanionInfo.Stars; - } - continue; - IL_0049: - num = 1600521887; + return 0; } + return ptr->Buddy.CompanionInfo.Stars; } public unsafe static byte GetCompanionSkillPoints() { UIState* ptr = UIState.Instance(); - int num = ((ptr != null) ? 624298941 : 624298942); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 624298940; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return ptr->Buddy.CompanionInfo.SkillPoints; - case 2: - return 0; - case 0: - goto IL_005c; - } - continue; - IL_005c: - num = 624298942; + return 0; } + return ptr->Buddy.CompanionInfo.SkillPoints; } public unsafe static byte GetDefenderLevel() { UIState* ptr = UIState.Instance(); - int num = ((ptr != null) ? (-1160271461) : (-1160271462)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -1160271461; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_004c; - case 1: - return 0; - case 0: - return ptr->Buddy.CompanionInfo.Levels[0]; - } - continue; - IL_004c: - num = -1160271462; + return 0; } + return ptr->Buddy.CompanionInfo.Levels[0]; } public unsafe static byte GetAttackerLevel() { UIState* ptr = UIState.Instance(); - int num = ((ptr != null) ? 35779603 : 35779600); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 35779602; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004c; - case 1: - return ptr->Buddy.CompanionInfo.Levels[1]; - case 2: - return 0; - } - continue; - IL_004c: - num = 35779600; + return 0; } + return ptr->Buddy.CompanionInfo.Levels[1]; } public unsafe static byte GetHealerLevel() { UIState* ptr = UIState.Instance(); - int num = ((ptr != null) ? (-1648020324) : (-1648020321)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -1648020323; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return ptr->Buddy.CompanionInfo.Levels[2]; - case 2: - return 0; - case 0: - goto IL_006b; - } - continue; - IL_006b: - num = -1648020321; + return 0; } + return ptr->Buddy.CompanionInfo.Levels[2]; } public unsafe static (byte Head, byte Chest, byte Feet) GetEquippedBardingIds() { UIState* ptr = UIState.Instance(); - int num = ((ptr != null) ? (-214194545) : (-214194548)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -214194546; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004c; - case 1: - { - Span buddyEquipRowIds = ptr->Buddy.CompanionInfo.BuddyEquipRowIds; - return (Head: buddyEquipRowIds[0], Chest: buddyEquipRowIds[1], Feet: buddyEquipRowIds[2]); - } - case 2: - return (Head: 0, Chest: 0, Feet: 0); - } - continue; - IL_004c: - num = -214194548; + return (Head: 0, Chest: 0, Feet: 0); } + Span buddyEquipRowIds = ptr->Buddy.CompanionInfo.BuddyEquipRowIds; + return (Head: buddyEquipRowIds[0], Chest: buddyEquipRowIds[1], Feet: buddyEquipRowIds[2]); } public unsafe static bool IsBardingUnlocked(uint bardingId) { UIState* ptr = UIState.Instance(); - int num = ((ptr == null) ? 1179942104 : 1179942107); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 1179942105; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 2: - return ptr->Buddy.CompanionInfo.IsBuddyEquipUnlocked(bardingId); - case 1: - return false; - } - continue; - IL_004b: - num = 1179942107; + return ptr->Buddy.CompanionInfo.IsBuddyEquipUnlocked(bardingId); } + return false; } public unsafe static byte GetActiveCommand() { UIState* ptr = UIState.Instance(); - int num = ((ptr != null) ? 360275929 : 360275930); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 360275928; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return ptr->Buddy.CompanionInfo.ActiveCommand; - case 2: - return 0; - case 0: - goto IL_005c; - } - continue; - IL_005c: - num = 360275930; + return 0; } + return ptr->Buddy.CompanionInfo.ActiveCommand; } public unsafe static byte GetFavoriteFeed() { UIState* ptr = UIState.Instance(); - int num = ((ptr != null) ? 816585553 : 816585552); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 816585553; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return ptr->Buddy.CompanionInfo.FavoriteFeed; - case 1: - return 0; - case 2: - goto IL_005e; - } - continue; - IL_005e: - num = 816585552; + return 0; } + return ptr->Buddy.CompanionInfo.FavoriteFeed; } public unsafe static bool IsPetSummoned() { UIState* ptr = UIState.Instance(); - int num = ((ptr != null) ? 318028987 : 318028984); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 318028985; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = ((ptr->Buddy.PetInfo.Pet == null) ? 318028985 : 318028986); - break; - case 3: - return ptr->Buddy.PetInfo.Pet->EntityId != 0; - case 0: - return false; - case 1: - return false; - case 4: - num = 318028984; - break; - } + return false; } + if (ptr->Buddy.PetInfo.Pet != null) + { + return ptr->Buddy.PetInfo.Pet->EntityId != 0; + } + return false; } public unsafe static byte GetPetOrder() { UIState* ptr = UIState.Instance(); - int num = ((ptr != null) ? (-105624424) : (-105624421)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -105624422; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 1: - return 0; - case 2: - return ptr->Buddy.PetInfo.Order; - } - continue; - IL_0049: - num = -105624421; + return 0; } + return ptr->Buddy.PetInfo.Order; } public unsafe static byte GetPetStance() { UIState* ptr = UIState.Instance(); - int num = ((ptr != null) ? 25937805 : 25937806); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 25937807; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 2: - return ptr->Buddy.PetInfo.Stance; - case 1: - return 0; - } - continue; - IL_0049: - num = 25937806; + return 0; } + return ptr->Buddy.PetInfo.Stance; } public unsafe static bool IsBattleBuddyPresent() { UIState* ptr = UIState.Instance(); - int num = ((ptr != null) ? (-506116548) : (-506116552)); - int num7 = default(int); - Span battleBuddies = default(Span); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -506116551; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return false; + } + Span battleBuddies = ptr->Buddy.BattleBuddies; + for (int i = 0; i < battleBuddies.Length; i++) + { + if (battleBuddies[i].EntityId != 0) { - case 3: return true; - case 6: - { - int num8 = num7; - num3 = 1; - num4 = num8; - num7 = (num4 | num3) + (num4 & num3); - num = -506116546; - break; - } - case 0: - num = ((battleBuddies[num7].EntityId == 0) ? (-506116545) : (-506116550)); - break; - case 1: - return false; - case 2: - num = -506116552; - break; - case 7: - num = ((num7 < battleBuddies.Length) ? (-506116551) : (-506116547)); - break; - case 4: - return false; - case 5: - battleBuddies = ptr->Buddy.BattleBuddies; - num7 = 0; - num = -506116546; - break; } } + return false; } public unsafe static bool HasDutyHelpers() { UIState* ptr = UIState.Instance(); - int num = ((ptr != null) ? 132041618 : 132041619); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 132041618; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0049; - case 1: - return false; - case 0: - return ptr->Buddy.DutyHelperInfo.HasHelpers; - } - continue; - IL_0049: - num = 132041619; + return false; } + return ptr->Buddy.DutyHelperInfo.HasHelpers; } } diff --git a/LLib/LLib.External/PluginFeaturePauser.cs b/LLib/LLib.External/PluginFeaturePauser.cs index 101173d..2546046 100644 --- a/LLib/LLib.External/PluginFeaturePauser.cs +++ b/LLib/LLib.External/PluginFeaturePauser.cs @@ -1,7 +1,5 @@ using System; -using System.Collections; using System.Collections.Generic; -using System.Runtime.CompilerServices; using Dalamud.Plugin; using Dalamud.Plugin.Ipc; using Dalamud.Plugin.Ipc.Exceptions; @@ -21,218 +19,73 @@ public sealed class PluginFeaturePauser : IDisposable public bool IsPaused => _pausedFeatures != null; - [MethodImpl(MethodImplOptions.NoInlining)] public PluginFeaturePauser(IDalamudPluginInterface pluginInterface, string getEnabledEndpoint, string setEnabledEndpoint, ILogger logger) { - _200B_202A_202E_202D_200B_202D_206D_206F_202A_206D_206C_200C_206E_206F_206F_206A_206B_202D_200B_202B_206E_206D_202D_202D_202B_202E_206E_206A_202D_206C_200D_200B_206A_206E_200C_206F_206A_206F_206D_206F_202E((object)pluginInterface, 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(766607579)); - _202B_206D_202B_206C_200E_202A_206D_206D_206F_200D_202D_206A_202C_206E_200C_206B_206C_202D_206F_200D_206F_206E_200B_206E_206E_200D_200F_206F_202D_200B_200C_202C_200C_206B_202D_206E_206C_202C_200F_206C_202E(getEnabledEndpoint, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1664369552)); - _202B_206D_202B_206C_200E_202A_206D_206D_206F_200D_202D_206A_202C_206E_200C_206B_206C_202D_206F_200D_206F_206E_200B_206E_206E_200D_200F_206F_202D_200B_200C_202C_200C_206B_202D_206E_206C_202C_200F_206C_202E(setEnabledEndpoint, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1390048610)); - _200B_202A_202E_202D_200B_202D_206D_206F_202A_206D_206C_200C_206E_206F_206F_206A_206B_202D_200B_202B_206E_206D_202D_202D_202B_202E_206E_206A_202D_206C_200D_200B_206A_206E_200C_206F_206A_206F_206D_206F_202E((object)logger, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1584978576)); + ArgumentNullException.ThrowIfNull(pluginInterface, "pluginInterface"); + ArgumentException.ThrowIfNullOrEmpty(getEnabledEndpoint, "getEnabledEndpoint"); + ArgumentException.ThrowIfNullOrEmpty(setEnabledEndpoint, "setEnabledEndpoint"); + ArgumentNullException.ThrowIfNull(logger, "logger"); _getEnabled = pluginInterface.GetIpcSubscriber(getEnabledEndpoint); _setEnabled = pluginInterface.GetIpcSubscriber(setEnabledEndpoint); _logger = logger; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Disable(IEnumerable features) { - int num = ((_pausedFeatures != null) ? (-124220902) : (-124220903)); - while (true) + if (_pausedFeatures == null) { - int num2 = num; - int num3 = -124220901; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _pausedFeatures = new HashSet(); + } + foreach (string feature in features) + { + if (_pausedFeatures.Contains(feature)) { - case 0: - num = -124220903; - break; - case 2: - _pausedFeatures = new HashSet(); - num = -124220902; - break; - case 1: + continue; + } + try { - IEnumerator enumerator = features.GetEnumerator(); - try + if (_getEnabled.InvokeFunc(feature) == true) { - while (_200B_200C_206B_200F_200D_206E_202E_206E_202B_200D_202D_206C_206F_200D_200C_206E_206E_206A_202B_200E_202A_202A_200F_200D_202A_200D_202C_206B_200C_202D_200D_200F_202E_202B_200B_202E_206E_202C_200F_206F_202E((IEnumerator)enumerator)) - { - string current = enumerator.Current; - if (_pausedFeatures.Contains(current)) - { - continue; - } - try - { - num = ((_getEnabled.InvokeFunc(current) != true) ? 879033807 : 879033804); - while (true) - { - int num5 = num; - num3 = 879033805; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 0: - num = 879033804; - break; - case 1: - _setEnabled.InvokeAction(current, arg2: false); - _pausedFeatures.Add(current); - _200E_202B_202C_200F_202C_202B_200C_206D_202E_202E_200B_206B_206A_202E_200E_202D_202E_200C_206C_202D_202E_202D_200C_200D_206F_202E_200C_202E_206C_206C_200E_202B_200D_206A_202A_206B_202C_206C_200E_202E(_logger, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-2022871407), new object[1] { current }); - num = 879033807; - break; - case 2: - goto end_IL_00c8; - } - continue; - end_IL_00c8: - break; - } - } - catch (Exception ex) - { - num = ((ex is IpcError) ? 285871159 : 285871156); - while (true) - { - int num8 = num; - num3 = 285871157; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 285871156; - break; - case 1: - _200C_200F_202D_202D_202E_206E_202B_200F_206F_202B_202A_206C_200F_200C_206E_206F_206C_202E_202B_206F_202C_206A_206F_200C_200D_206D_206B_206D_206C_202B_202E_202E_206E_206F_206A_200D_200C_206D_206F_202D_202E(_logger, ex, 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(-578647561), new object[1] { current }); - num = 285871159; - break; - case 2: - goto end_IL_0170; - } - continue; - end_IL_0170: - break; - } - } - } - return; - } - finally - { - num = ((enumerator == null) ? 1678269636 : 1678269639); - while (true) - { - int num9 = num; - num3 = 1678269637; - num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 1: - goto end_IL_0207; - case 2: - _206D_200B_200D_200B_206C_206B_202D_202B_202E_200E_206B_202D_202A_200D_206A_200B_206F_206D_206B_202C_206A_200E_202B_206B_202C_202A_206A_200F_200E_200B_202C_206B_206F_200B_200D_202C_200B_206F_206B_202E((IDisposable)enumerator); - num = 1678269636; - break; - case 0: - num = 1678269639; - break; - } - continue; - end_IL_0207: - break; - } + _setEnabled.InvokeAction(feature, arg2: false); + _pausedFeatures.Add(feature); + _logger.LogInformation("Paused external feature: {Feature}", feature); } } + catch (Exception ex) + { + if (!(ex is IpcError)) + { + _logger.LogWarning(ex, "Failed to pause external feature {Feature}", feature); + } } } } - [MethodImpl(MethodImplOptions.NoInlining)] public void Restore() { - int num = ((_pausedFeatures != null) ? (-1219556396) : (-1219556395)); - while (true) + if (_pausedFeatures == null) { - int num2 = num; - int num3 = -1219556396; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0051; - case 1: - return; - case 0: - { - HashSet hashSet = new HashSet(); - foreach (string pausedFeature in _pausedFeatures) - { - try - { - _setEnabled.InvokeAction(pausedFeature, arg2: true); - _200E_202B_202C_200F_202C_202B_200C_206D_202E_202E_200B_206B_206A_202E_200E_202D_202E_200C_206C_202D_202E_202D_200C_200D_206F_202E_200C_202E_206C_206C_200E_202B_200D_206A_202A_206B_202C_206C_200E_202E(_logger, 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(1936594651), new object[1] { pausedFeature }); - } - catch (Exception ex) - { - hashSet.Add(pausedFeature); - _200C_200F_202D_202D_202E_206E_202B_200F_206F_202B_202A_206C_200F_200C_206E_206F_206C_202E_202B_206F_202C_206A_206F_200C_200D_206D_206B_206D_206C_202B_202E_202E_206E_206F_206A_200D_200C_206D_206F_202D_202E(_logger, ex, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(902723695), new object[1] { pausedFeature }); - } - } - _pausedFeatures = ((hashSet.Count == 0) ? null : hashSet); - return; - } - } - continue; - IL_0051: - num = -1219556395; + return; } + HashSet hashSet = new HashSet(); + foreach (string pausedFeature in _pausedFeatures) + { + try + { + _setEnabled.InvokeAction(pausedFeature, arg2: true); + _logger.LogInformation("Restored external feature: {Feature}", pausedFeature); + } + catch (Exception exception) + { + hashSet.Add(pausedFeature); + _logger.LogWarning(exception, "Failed to restore external feature {Feature}, keeping it for retry", pausedFeature); + } + } + _pausedFeatures = ((hashSet.Count == 0) ? null : hashSet); } public void Dispose() { Restore(); } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static void _200B_202A_202E_202D_200B_202D_206D_206F_202A_206D_206C_200C_206E_206F_206F_206A_206B_202D_200B_202B_206E_206D_202D_202D_202B_202E_206E_206A_202D_206C_200D_200B_206A_206E_200C_206F_206A_206F_206D_206F_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static void _202B_206D_202B_206C_200E_202A_206D_206D_206F_200D_202D_206A_202C_206E_200C_206B_206C_202D_206F_200D_206F_206E_200B_206E_206E_200D_200F_206F_202D_200B_200C_202C_200C_206B_202D_206E_206C_202C_200F_206C_202E(string P_0, string P_1) - { - ArgumentException.ThrowIfNullOrEmpty(P_0, P_1); - } - - static void _200E_202B_202C_200F_202C_202B_200C_206D_202E_202E_200B_206B_206A_202E_200E_202D_202E_200C_206C_202D_202E_202D_200C_200D_206F_202E_200C_202E_206C_206C_200E_202B_200D_206A_202A_206B_202C_206C_200E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static void _200C_200F_202D_202D_202E_206E_202B_200F_206F_202B_202A_206C_200F_200C_206E_206F_206C_202E_202B_206F_202C_206A_206F_200C_200D_206D_206B_206D_206C_202B_202E_202E_206E_206F_206A_200D_200C_206D_206F_202D_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogWarning(P_1, P_2, P_3); - } - - static bool _200B_200C_206B_200F_200D_206E_202E_206E_202B_200D_202D_206C_206F_200D_200C_206E_206E_206A_202B_200E_202A_202A_200F_200D_202A_200D_202C_206B_200C_202D_200D_200F_202E_202B_200B_202E_206E_202C_200F_206F_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206D_200B_200D_200B_206C_206B_202D_202B_202E_200E_206B_202D_202A_200D_206A_200B_206F_206D_206B_202C_206A_200E_202B_206B_202C_202A_206A_200F_200E_200B_202C_206B_206F_200B_200D_202C_200B_206F_206B_202E(IDisposable P_0) - { - P_0.Dispose(); - } } diff --git a/LLib/LLib.Fishing/WaterSurfaceDetector.cs b/LLib/LLib.Fishing/WaterSurfaceDetector.cs index 1bb9b88..2375751 100644 --- a/LLib/LLib.Fishing/WaterSurfaceDetector.cs +++ b/LLib/LLib.Fishing/WaterSurfaceDetector.cs @@ -19,255 +19,116 @@ public static class WaterSurfaceDetector public static (float Rotation, Vector3 HitPoint)? FindFishableRotation(Vector3 position, int searchSteps = 36) { - float num = MathF.PI * 2f / (float)searchSteps; + float num = (float)Math.PI * 2f / (float)searchSteps; List list = new List(); - int num2 = 0; - int num3 = -766816580; - Vector3? hitPoint = default(Vector3?); - float num9 = default(float); - while (true) + for (int i = 0; i < searchSteps; i++) { - int num4 = num3; - int num5 = -766816580; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) + float rotation = (float)i * num; + if (CheckFishableAtRotation(position, rotation, out var _)) { - case 3: - return null; - case 0: - num3 = ((num2 < searchSteps) ? (-766816579) : (-766816582)); - break; - case 9: - num3 = ((!hitPoint.HasValue) ? (-766816584) : (-766816588)); - break; - case 1: - { - float rotation = (float)num2 * num; - num3 = ((!CheckFishableAtRotation(position, rotation, out var _)) ? (-766816578) : (-766816583)); - break; - } - case 8: - return (num9, hitPoint.Value); - case 6: - num3 = ((list.Count != 0) ? (-766816581) : (-766816577)); - break; - case 4: - return null; - case 2: - { - int num10 = num2; - num5 = 1; - num6 = num10; - num2 = (num6 | num5) + (num6 & num5); - num3 = -766816580; - break; - } - case 5: - list.Add(num2); - num3 = -766816578; - break; - case 7: - { - List list2 = (from g in FindContiguousGroups(list, searchSteps) - orderby g.Count descending - select g).First(); - num9 = ((float)list2[0] + (float)(list2.Count - 1) / 2f) % (float)searchSteps * num; - num3 = ((!CheckFishableAtRotation(position, num9, out hitPoint)) ? (-766816584) : (-766816587)); - break; - } - case 10: - num3 = -766816580; - break; + list.Add(i); } } + if (list.Count == 0) + { + return null; + } + List list2 = (from g in FindContiguousGroups(list, searchSteps) + orderby g.Count descending + select g).First(); + float num2 = ((float)list2[0] + (float)(list2.Count - 1) / 2f) % (float)searchSteps * num; + if (CheckFishableAtRotation(position, num2, out var hitPoint2) && hitPoint2.HasValue) + { + return (num2, hitPoint2.Value); + } + return null; } private unsafe static bool CheckFishableAtRotation(Vector3 position, float rotation, out Vector3? hitPoint) { hitPoint = null; Framework* ptr = Framework.Instance(); - int num = ((ptr == null) ? (-9575683) : (-9575687)); - BGCollisionModule* bGCollisionModule = default(BGCollisionModule*); - Matrix4x4 matrix = default(Matrix4x4); - Vector3 vector3 = default(Vector3); - RaycastHit raycastHit2 = default(RaycastHit); - RaycastHit raycastHit = default(RaycastHit); - while (true) + if (ptr == null || ptr->BGCollisionModule == null) { - int num2 = num; - int num3 = -9575688; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - ReadOnlySpan readOnlySpan; - switch (num5 - (num6 + num6)) - { - case 0: - { - bGCollisionModule = ptr->BGCollisionModule; - float num8 = _200B_202E_206E_202C_202E_202E_202E_200D_206A_202D_206E_206B_202C_206E_202E_206D_206D_200E_206B_202B_202D_202E_206D_202A_206F_200E_202C_206A_206F_206A_202C_200B_200F_206F_206A_202E_202E_206F_200F_202B_202E(rotation); - float num9 = _202A_206D_202E_200E_200F_202D_206D_202A_206C_206C_206A_200D_206B_206E_206D_200E_206B_202B_206F_206F_206E_206D_206B_202B_200E_200D_206F_202B_206E_202E_206F_200D_202E_202D_206A_202B_200F_206C_202D_206F_202E(rotation); - matrix = new Matrix4x4 - { - M11 = num8, - M13 = 0f - num9, - M22 = 1f, - M31 = num9, - M33 = num8 - }; - vector3 = Vector3.Transform(new Vector3(0f, 0f, 2f), matrix) + position; - vector3.Y += 2f; - Vector3 vector4 = new Vector3(position.X, position.Y + 0.87f, position.Z); - Vector3 vector5 = Vector3.Normalize(vector3 - vector4); - float maxDistance = Vector3.Distance(vector4, vector3); - byte* intPtr2 = stackalloc byte[16]; - readOnlySpan = new int[4] { 16384, 0, 16384, 0 }; - // IL cpblk instruction - Unsafe.CopyBlockUnaligned(intPtr2, ref readOnlySpan[0], 16); - int* flags2 = (int*)intPtr2; - num = ((!bGCollisionModule->RaycastMaterialFilter(&raycastHit2, &vector4, &vector5, maxDistance, 1, flags2)) ? (-9575686) : (-9575681)); - break; - } - case 5: - return false; - case 1: - num = ((ptr->BGCollisionModule != null) ? (-9575688) : (-9575683)); - break; - case 6: - num = -9575687; - break; - case 7: - return false; - case 4: - hitPoint = raycastHit.Point; - return true; - case 3: - return false; - case 2: - { - Vector3 vector = Vector3.Transform(new Vector3(0f, -80f, 40f), matrix); - float num7 = vector.Length(); - Vector3 vector2 = vector / num7; - byte* intPtr = stackalloc byte[16]; - readOnlySpan = new int[4] { 32768, 0, 32768, 0 }; - // IL cpblk instruction - Unsafe.CopyBlockUnaligned(intPtr, ref readOnlySpan[0], 16); - int* flags = (int*)intPtr; - num = ((!bGCollisionModule->RaycastMaterialFilter(&raycastHit, &vector3, &vector2, num7, 1, flags)) ? (-9575685) : (-9575684)); - break; - } - } + return false; } + BGCollisionModule* bGCollisionModule = ptr->BGCollisionModule; + float num = MathF.Cos(rotation); + float num2 = MathF.Sin(rotation); + Matrix4x4 matrix = new Matrix4x4 + { + M11 = num, + M13 = 0f - num2, + M22 = 1f, + M31 = num2, + M33 = num + }; + Vector3 vector = Vector3.Transform(new Vector3(0f, 0f, 2f), matrix) + position; + vector.Y += 2f; + Vector3 vector2 = new Vector3(position.X, position.Y + 0.87f, position.Z); + Vector3 vector3 = Vector3.Normalize(vector - vector2); + float maxDistance = Vector3.Distance(vector2, vector); + byte* intPtr = stackalloc byte[16]; + ReadOnlySpan readOnlySpan = new int[4] { 16384, 0, 16384, 0 }; + // IL cpblk instruction + Unsafe.CopyBlockUnaligned(intPtr, ref readOnlySpan[0], 16); + int* flags = (int*)intPtr; + RaycastHit raycastHit = default(RaycastHit); + if (bGCollisionModule->RaycastMaterialFilter(&raycastHit, &vector2, &vector3, maxDistance, 1, flags)) + { + return false; + } + Vector3 vector4 = Vector3.Transform(new Vector3(0f, -80f, 40f), matrix); + float num3 = vector4.Length(); + Vector3 vector5 = vector4 / num3; + byte* intPtr2 = stackalloc byte[16]; + readOnlySpan = new int[4] { 32768, 0, 32768, 0 }; + // IL cpblk instruction + Unsafe.CopyBlockUnaligned(intPtr2, ref readOnlySpan[0], 16); + int* flags2 = (int*)intPtr2; + RaycastHit raycastHit2 = default(RaycastHit); + if (bGCollisionModule->RaycastMaterialFilter(&raycastHit2, &vector, &vector5, num3, 1, flags2)) + { + hitPoint = raycastHit2.Point; + return true; + } + return false; } private static List> FindContiguousGroups(List angles, int maxSteps) { - int num = ((angles.Count != 0) ? 1779780775 : 1779780774); - List list3 = default(List); - List list5 = default(List); - int num8 = default(int); - List> list2 = default(List>); - while (true) + if (angles.Count == 0) { - int num2 = num; - int num3 = 1779780780; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return new List>(); + } + List list = angles.OrderBy((int a) => a).ToList(); + List> list2 = new List>(); + List list3 = new List { list[0] }; + for (int num = 1; num < list.Count; num++) + { + if (list[num] - list[num - 1] == 1) { - case 4: - list3.Add(list5[num8]); - num = 1779780783; - break; - case 6: - num = ((list5[0] != 0) ? 1779780777 : 1779780772); - break; - case 0: - { - int num12 = list5[num8]; - List list6 = list5; - int num13 = num8; - num3 = 1; - num4 = num13; - num = ((num12 - list6[~(~num4 + num3)] != 1) ? 1779780779 : 1779780776); - break; + list3.Add(list[num]); + continue; } - case 1: - list2.Add(list3); - num = ((list2.Count <= 1) ? 1779780777 : 1779780778); - break; - case 9: - num = ((num8 < list5.Count) ? 1779780780 : 1779780781); - break; - case 2: - num = 1779780774; - break; - case 8: + list2.Add(list3); + int num2 = 1; + List list4 = new List(num2); + CollectionsMarshal.SetCount(list4, num2); + CollectionsMarshal.AsSpan(list4)[0] = list[num]; + list3 = list4; + } + list2.Add(list3); + if (list2.Count > 1 && list[0] == 0) + { + if (list[list.Count - 1] == maxSteps - 1) { - List list7 = list5; - int num14 = list7[list7.Count - 1]; - num3 = 1; - num4 = maxSteps; - num = ((num14 != ~(~num4 + num3)) ? 1779780777 : 1779780768); - break; - } - case 5: - return list2; - case 10: - return new List>(); - case 11: - list5 = angles.OrderBy((int a) => a).ToList(); - list2 = new List>(); - list3 = new List { list5[0] }; - num8 = 1; - num = 1779780773; - break; - case 7: - { - list2.Add(list3); - int num11 = 1; - List list4 = new List(num11); - CollectionsMarshal.SetCount(list4, num11); - CollectionsMarshal.AsSpan(list4)[0] = list5[num8]; - list3 = list4; - num = 1779780783; - break; - } - case 12: - { - List> list = list2; - List item = list[list.Count - 1].Concat(list2[0]).ToList(); + List item = list2[list2.Count - 1].Concat(list2[0]).ToList(); list2.RemoveAt(list2.Count - 1); list2.RemoveAt(0); list2.Add(item); - num = 1779780777; - break; - } - case 3: - { - int num7 = num8; - num3 = 1; - num4 = num7; - int num9 = num4 ^ num3; - int num10 = num4 & num3; - num8 = num9 + (num10 + num10); - num = 1779780773; - break; - } } } - } - - static float _200B_202E_206E_202C_202E_202E_202E_200D_206A_202D_206E_206B_202C_206E_202E_206D_206D_200E_206B_202B_202D_202E_206D_202A_206F_200E_202C_206A_206F_206A_202C_200B_200F_206F_206A_202E_202E_206F_200F_202B_202E(float P_0) - { - return MathF.Cos(P_0); - } - - static float _202A_206D_202E_200E_200F_202D_206D_202A_206C_206C_206A_200D_206B_206E_206D_200E_206B_202B_206F_206F_206E_206D_206B_202B_200E_200D_206F_202B_206E_202E_206F_200D_202E_202D_206A_202B_200F_206C_202D_206F_202E(float P_0) - { - return MathF.Sin(P_0); + return list2; } } diff --git a/LLib/LLib.GameData/ClassJobHelper.cs b/LLib/LLib.GameData/ClassJobHelper.cs index 883ffd2..63ef3d8 100644 --- a/LLib/LLib.GameData/ClassJobHelper.cs +++ b/LLib/LLib.GameData/ClassJobHelper.cs @@ -10,28 +10,15 @@ public static class ClassJobHelper { ClassJob row = dataManager.GetExcelSheet().GetRow((uint)classJob); ushort num = (ushort)row.UnlockQuest.RowId; - int num2 = ((num == 0) ? 1968883418 : 1968883419); - while (true) + if (num != 0) { - int num3 = num2; - int num4 = 1968883416; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 1: - return false; - case 3: - return QuestManager.IsQuestComplete(num); - case 4: - return PlayerStateHelper.GetClassJobLevel(row.ExpArrayIndex) > 0; - case 2: - num2 = ((row.ExpArrayIndex >= 0) ? 1968883420 : 1968883417); - break; - case 0: - num2 = 1968883419; - break; - } + return QuestManager.IsQuestComplete(num); } + if (row.ExpArrayIndex < 0) + { + return false; + } + return PlayerStateHelper.GetClassJobLevel(row.ExpArrayIndex) > 0; } public static bool IsJobUnlocked(EClassJob classJob, IDataManager dataManager) diff --git a/LLib/LLib.GameData/ConditionHelper.cs b/LLib/LLib.GameData/ConditionHelper.cs index 8db0f8a..f5fddca 100644 --- a/LLib/LLib.GameData/ConditionHelper.cs +++ b/LLib/LLib.GameData/ConditionHelper.cs @@ -7,249 +7,78 @@ public static class ConditionHelper { public static bool IsBoundByDuty(ICondition condition) { - int num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.BoundByDuty) ? 982422876 : 982422878); - while (true) + if (!condition[ConditionFlag.BoundByDuty] && !condition[ConditionFlag.BoundByDuty56]) { - int num2 = num; - int num3 = 982422877; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 982422878; - break; - case 0: - return _206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.BoundByDuty95); - case 1: - return true; - case 3: - num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.BoundByDuty56) ? 982422876 : 982422877); - break; - } + return condition[ConditionFlag.BoundByDuty95]; } + return true; } public static bool IsInCombat(ICondition condition) { - return _206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.InCombat); + return condition[ConditionFlag.InCombat]; } public static bool IsInCutscene(ICondition condition) { - int num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.OccupiedInCutSceneEvent) ? 298384256 : 298384257); - while (true) + if (!condition[ConditionFlag.OccupiedInCutSceneEvent] && !condition[ConditionFlag.WatchingCutscene]) { - int num2 = num; - int num3 = 298384256; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = 298384257; - break; - case 1: - num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.WatchingCutscene) ? 298384256 : 298384258); - break; - case 0: - return true; - case 2: - return _206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.WatchingCutscene78); - } + return condition[ConditionFlag.WatchingCutscene78]; } + return true; } public static bool IsBetweenAreas(ICondition condition) { - int num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.BetweenAreas) ? 617778151 : 617778150); - while (true) + if (!condition[ConditionFlag.BetweenAreas]) { - int num2 = num; - int num3 = 617778151; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0048; - case 0: - return true; - case 1: - return _206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.BetweenAreas51); - } - continue; - IL_0048: - num = 617778150; + return condition[ConditionFlag.BetweenAreas51]; } + return true; } public static bool IsCrafting(ICondition condition) { - int num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Crafting) ? (-531070532) : (-531070529)); - while (true) + if (!condition[ConditionFlag.Crafting] && !condition[ConditionFlag.PreparingToCraft]) { - int num2 = num; - int num3 = -531070530; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = -531070529; - break; - case 2: - return true; - case 0: - return _206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.ExecutingCraftingAction); - case 1: - num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.PreparingToCraft) ? (-531070532) : (-531070530)); - break; - } + return condition[ConditionFlag.ExecutingCraftingAction]; } + return true; } public static bool IsGathering(ICondition condition) { - int num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Gathering) ? (-1745581447) : (-1745581446)); - while (true) + if (!condition[ConditionFlag.Gathering]) { - int num2 = num; - int num3 = -1745581448; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0047; - case 2: - return _206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.ExecutingGatheringAction); - case 1: - return true; - } - continue; - IL_0047: - num = -1745581446; + return condition[ConditionFlag.ExecutingGatheringAction]; } + return true; } public static bool IsOccupied(ICondition condition) { - int num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Occupied) ? 149420092 : 149420094); - while (true) + if (!condition[ConditionFlag.Occupied] && !condition[ConditionFlag.Occupied30] && !condition[ConditionFlag.Occupied33] && !condition[ConditionFlag.Occupied38]) { - int num2 = num; - int num3 = 149420092; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - num = 149420094; - break; - case 4: - num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Occupied38) ? 149420092 : 149420093); - break; - case 3: - num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Occupied33) ? 149420092 : 149420088); - break; - case 0: - return true; - case 2: - num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Occupied30) ? 149420092 : 149420095); - break; - case 1: - return _206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Occupied39); - } + return condition[ConditionFlag.Occupied39]; } + return true; } public static bool IsLockedIn(ICondition condition) { - int num = (IsBoundByDuty(condition) ? 829421731 : 829421732); - while (true) + if (!IsBoundByDuty(condition) && !IsInCutscene(condition) && !IsBetweenAreas(condition) && !IsOccupied(condition) && !condition[ConditionFlag.Unconscious] && !condition[ConditionFlag.Jumping]) { - int num2 = num; - int num3 = 829421734; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - num = (IsBetweenAreas(condition) ? 829421731 : 829421730); - break; - case 0: - num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Unconscious) ? 829421731 : 829421733); - break; - case 4: - num = (IsOccupied(condition) ? 829421731 : 829421734); - break; - case 3: - num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Jumping) ? 829421731 : 829421728); - break; - case 2: - num = (IsInCutscene(condition) ? 829421731 : 829421735); - break; - case 6: - return _206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Jumping61); - case 7: - num = 829421732; - break; - case 5: - return true; - } + return condition[ConditionFlag.Jumping61]; } + return true; } public static bool IsUnavailable(ICondition condition) { - int num = (IsLockedIn(condition) ? 721479038 : 721479035); - while (true) + if (!IsLockedIn(condition) && !IsCrafting(condition) && !IsGathering(condition) && !condition[ConditionFlag.Mounted] && !condition[ConditionFlag.Mounting] && !condition[ConditionFlag.Mounting71] && !condition[ConditionFlag.ChocoboRacing] && !condition[ConditionFlag.PlayingLordOfVerminion] && !condition[ConditionFlag.Performing] && !condition[ConditionFlag.UsingFashionAccessory]) { - int num2 = num; - int num3 = 721479037; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 7: - num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.UsingFashionAccessory) ? 721479038 : 721479030); - break; - case 2: - num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Mounted) ? 721479038 : 721479029); - break; - case 3: - return true; - case 6: - num = (IsCrafting(condition) ? 721479038 : 721479032); - break; - case 0: - num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.PlayingLordOfVerminion) ? 721479038 : 721479031); - break; - case 5: - num = (IsGathering(condition) ? 721479038 : 721479039); - break; - case 9: - num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Mounting71) ? 721479038 : 721479036); - break; - case 8: - num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Mounting) ? 721479038 : 721479028); - break; - case 1: - num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.ChocoboRacing) ? 721479038 : 721479037); - break; - case 4: - num = 721479035; - break; - case 11: - return _206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.InFlight); - case 10: - num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Performing) ? 721479038 : 721479034); - break; - } + return condition[ConditionFlag.InFlight]; } - } - - static bool _206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; + return true; } } diff --git a/LLib/LLib.GameData/EClassJobExtensions.cs b/LLib/LLib.GameData/EClassJobExtensions.cs index 2dc07fc..9168e9e 100644 --- a/LLib/LLib.GameData/EClassJobExtensions.cs +++ b/LLib/LLib.GameData/EClassJobExtensions.cs @@ -1,6 +1,5 @@ using System.Collections.Generic; using System.Linq; -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using Lumina.Excel.Sheets; @@ -10,49 +9,29 @@ public static class EClassJobExtensions { public static bool IsClass(this EClassJob classJob) { - int num = ((classJob < EClassJob.Gladiator) ? (-1021997813) : (-1021997816)); - bool flag = default(bool); - while (true) + bool flag; + switch (classJob) { - int num2 = num; - int num3 = -1021997812; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 7: - flag = false; - num = -1021997809; - break; - case 4: - num = ((classJob <= EClassJob.Thaumaturge) ? (-1021997810) : (-1021997819)); - break; - case 5: - num = ((classJob != EClassJob.Rogue) ? (-1021997813) : (-1021997810)); - break; - case 8: - return true; - case 2: - flag = true; - num = -1021997809; - break; - case 3: - num = (flag ? (-1021997820) : (-1021997812)); - break; - case 0: - num = (classJob.IsCrafter() ? (-1021997820) : (-1021997811)); - break; - case 1: - return classJob.IsGatherer(); - case 6: - num = -1021997816; - break; - case 9: - num = ((classJob == EClassJob.Arcanist) ? (-1021997810) : (-1021997815)); - break; - } + case EClassJob.Gladiator: + case EClassJob.Pugilist: + case EClassJob.Marauder: + case EClassJob.Lancer: + case EClassJob.Archer: + case EClassJob.Conjurer: + case EClassJob.Thaumaturge: + case EClassJob.Arcanist: + case EClassJob.Rogue: + flag = true; + break; + default: + flag = false; + break; } + if (!flag && !classJob.IsCrafter()) + { + return classJob.IsGatherer(); + } + return true; } public static bool HasBaseClass(this EClassJob classJob) @@ -62,1197 +41,264 @@ public static class EClassJobExtensions public static EClassJob? GetBaseClass(this EClassJob classJob) { - int num; - EClassJob? result = default(EClassJob?); - switch (classJob) + return classJob switch { - default: - num = 1515021; - goto IL_0044; - case EClassJob.Bard: - result = EClassJob.Archer; - num = 1515018; - goto IL_0044; - case EClassJob.Paladin: - goto IL_00ac; - case EClassJob.Dragoon: - goto IL_00be; - case EClassJob.BlackMage: - goto IL_00d0; - case EClassJob.Summoner: - goto IL_00e2; - case EClassJob.Arcanist: - case EClassJob.Rogue: - goto IL_00f5; - case EClassJob.Scholar: - goto IL_010a; - case EClassJob.Ninja: - goto IL_0128; - case EClassJob.Monk: - goto IL_013b; - case EClassJob.Warrior: - goto IL_0158; - case EClassJob.WhiteMage: - goto IL_016a; - IL_0044: - while (true) - { - int num2 = num; - int num3 = 1515022; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - goto end_IL_0044; - case 4: - return result; - case 7: - goto IL_00ac; - case 10: - goto IL_00be; - case 0: - goto IL_00d0; - case 11: - goto IL_00e2; - case 8: - goto IL_00f5; - case 2: - goto IL_010a; - case 3: - num = 1515014; - break; - case 5: - goto IL_0128; - case 9: - goto IL_013b; - case 13: - num = 1515021; - break; - case 12: - goto IL_0158; - case 6: - goto IL_016a; - } - continue; - end_IL_0044: - break; - } - goto case EClassJob.Bard; - IL_016a: - result = EClassJob.Conjurer; - num = 1515018; - goto IL_0044; - IL_0158: - result = EClassJob.Marauder; - num = 1515018; - goto IL_0044; - IL_013b: - result = EClassJob.Pugilist; - num = 1515018; - goto IL_0044; - IL_0128: - result = EClassJob.Rogue; - num = 1515018; - goto IL_0044; - IL_010a: - result = EClassJob.Arcanist; - num = 1515018; - goto IL_0044; - IL_00f5: - result = null; - num = 1515018; - goto IL_0044; - IL_00e2: - result = EClassJob.Arcanist; - num = 1515018; - goto IL_0044; - IL_00d0: - result = EClassJob.Thaumaturge; - num = 1515018; - goto IL_0044; - IL_00be: - result = EClassJob.Lancer; - num = 1515018; - goto IL_0044; - IL_00ac: - result = EClassJob.Gladiator; - num = 1515018; - goto IL_0044; - } + EClassJob.Paladin => EClassJob.Gladiator, + EClassJob.Warrior => EClassJob.Marauder, + EClassJob.Monk => EClassJob.Pugilist, + EClassJob.Dragoon => EClassJob.Lancer, + EClassJob.Ninja => EClassJob.Rogue, + EClassJob.Bard => EClassJob.Archer, + EClassJob.WhiteMage => EClassJob.Conjurer, + EClassJob.BlackMage => EClassJob.Thaumaturge, + EClassJob.Summoner => EClassJob.Arcanist, + EClassJob.Scholar => EClassJob.Arcanist, + _ => null, + }; } public static EClassJob AsJob(this EClassJob classJob) { - int num; - EClassJob result = default(EClassJob); - switch (classJob) + return classJob switch { - default: - num = 2104859750; - goto IL_002f; - case EClassJob.Archer: - result = EClassJob.Bard; - num = 2104859754; - goto IL_002f; - case EClassJob.Marauder: - goto IL_0094; - case EClassJob.Lancer: - goto IL_00a2; - case EClassJob.Conjurer: - goto IL_00d4; - case EClassJob.Pugilist: - goto IL_00e2; - case EClassJob.Gladiator: - goto IL_00f0; - case EClassJob.Thaumaturge: - goto IL_0155; - IL_002f: - while (true) - { - int num2 = num; - int num3 = 2104859745; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 11: - return result; - case 4: - goto end_IL_002f; - case 14: - goto IL_0094; - case 9: - goto IL_00a2; - case 10: - num = 2104859757; - break; - case 1: - result = EClassJob.Ninja; - num = 2104859754; - break; - case 13: - num = 2104859750; - break; - case 5: - goto IL_00d4; - case 0: - goto IL_00e2; - case 3: - goto IL_00f0; - case 7: - goto IL_00fe; - case 6: - goto IL_011c; - case 2: - result = EClassJob.Summoner; - num = 2104859754; - break; - case 12: - result = classJob; - num = 2104859754; - break; - case 8: - goto IL_0155; - } - continue; - IL_011c: - num = ((classJob == EClassJob.Rogue) ? 2104859744 : 2104859755); - continue; - IL_00fe: - num = ((classJob == EClassJob.Arcanist) ? 2104859747 : 2104859751); - continue; - end_IL_002f: - break; - } - goto case EClassJob.Archer; - IL_0155: - result = EClassJob.BlackMage; - num = 2104859754; - goto IL_002f; - IL_00f0: - result = EClassJob.Paladin; - num = 2104859754; - goto IL_002f; - IL_00e2: - result = EClassJob.Monk; - num = 2104859754; - goto IL_002f; - IL_00d4: - result = EClassJob.WhiteMage; - num = 2104859754; - goto IL_002f; - IL_00a2: - result = EClassJob.Dragoon; - num = 2104859754; - goto IL_002f; - IL_0094: - result = EClassJob.Warrior; - num = 2104859754; - goto IL_002f; - } + EClassJob.Gladiator => EClassJob.Paladin, + EClassJob.Marauder => EClassJob.Warrior, + EClassJob.Pugilist => EClassJob.Monk, + EClassJob.Lancer => EClassJob.Dragoon, + EClassJob.Rogue => EClassJob.Ninja, + EClassJob.Archer => EClassJob.Bard, + EClassJob.Conjurer => EClassJob.WhiteMage, + EClassJob.Thaumaturge => EClassJob.BlackMage, + EClassJob.Arcanist => EClassJob.Summoner, + _ => classJob, + }; } public static bool IsTank(this EClassJob classJob) { - int num = ((classJob > EClassJob.Paladin) ? 2088962462 : 2088962449); - bool result = default(bool); - while (true) + switch (classJob) { - int num2 = num; - int num3 = 2088962455; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 7: - num = 2088962449; - break; - case 6: - num = ((classJob == EClassJob.Gladiator) ? 2088962452 : 2088962461); - break; - case 9: - num = ((classJob == EClassJob.Warrior) ? 2088962452 : 2088962451); - break; - case 2: - result = false; - num = 2088962463; - break; - case 5: - num = 2088962453; - break; - case 3: - result = true; - num = 2088962463; - break; - case 4: - num = ((classJob == EClassJob.DarkKnight) ? 2088962452 : 2088962455); - break; - case 10: - num = ((classJob == EClassJob.Marauder) ? 2088962452 : 2088962454); - break; - case 8: - return result; - case 0: - num = ((classJob != EClassJob.Gunbreaker) ? 2088962453 : 2088962452); - break; - case 1: - num = ((classJob == EClassJob.Paladin) ? 2088962452 : 2088962450); - break; - } + case EClassJob.Gladiator: + case EClassJob.Marauder: + case EClassJob.Paladin: + case EClassJob.Warrior: + case EClassJob.DarkKnight: + case EClassJob.Gunbreaker: + return true; + default: + return false; } } public static bool IsHealer(this EClassJob classJob) { - int num = ((classJob > EClassJob.WhiteMage) ? (-693082528) : (-693082517)); - bool result = default(bool); - while (true) + switch (classJob) { - int num2 = num; - int num3 = -693082519; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 7: - num = ((classJob == EClassJob.Astrologian) ? (-693082515) : (-693082520)); - break; - case 3: - result = false; - num = -693082519; - break; - case 8: - num = ((classJob == EClassJob.WhiteMage) ? (-693082515) : (-693082513)); - break; - case 2: - num = ((classJob == EClassJob.Conjurer) ? (-693082515) : (-693082527)); - break; - case 0: - return result; - case 1: - num = ((classJob != EClassJob.Sage) ? (-693082518) : (-693082515)); - break; - case 5: - num = -693082517; - break; - case 6: - num = -693082518; - break; - case 4: - result = true; - num = -693082519; - break; - case 9: - num = ((classJob == EClassJob.Scholar) ? (-693082515) : (-693082514)); - break; - } + case EClassJob.Conjurer: + case EClassJob.WhiteMage: + case EClassJob.Scholar: + case EClassJob.Astrologian: + case EClassJob.Sage: + return true; + default: + return false; } } public static bool IsMelee(this EClassJob classJob) { - int num = ((classJob > EClassJob.Monk) ? 1922031772 : 1922031771); - bool result = default(bool); - while (true) + switch (classJob) { - int num2 = num; - int num3 = 1922031765; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = ((classJob == EClassJob.Samurai) ? 1922031774 : 1922031769); - break; - case 11: - result = true; - num = 1922031767; - break; - case 4: - num = ((classJob == EClassJob.Dragoon) ? 1922031774 : 1922031765); - break; - case 13: - num = ((classJob == EClassJob.Monk) ? 1922031774 : 1922031762); - break; - case 7: - num = 1922031775; - break; - case 9: - num = ((classJob > EClassJob.Ninja) ? 1922031766 : 1922031761); - break; - case 6: - num = 1922031771; - break; - case 5: - num = 1922031775; - break; - case 1: - num = ((classJob == EClassJob.Lancer) ? 1922031774 : 1922031768); - break; - case 8: - num = 1922031775; - break; - case 12: - switch (classJob) - { - case EClassJob.Reaper: - case EClassJob.Viper: - case EClassJob.Beastmaster: - break; - default: - goto IL_015e; - case EClassJob.Sage: - case EClassJob.Pictomancer: - goto IL_016b; - } - goto case 11; - case 2: - return result; - case 10: - goto IL_016b; - case 0: - num = ((classJob - 29 <= EClassJob.Gladiator) ? 1922031774 : 1922031773); - break; - case 14: - { - num = ((classJob == EClassJob.Pugilist) ? 1922031774 : 1922031764); - break; - } - IL_016b: - result = false; - num = 1922031767; - break; - IL_015e: - num = 1922031760; - break; - } + case EClassJob.Pugilist: + case EClassJob.Lancer: + case EClassJob.Monk: + case EClassJob.Dragoon: + case EClassJob.Rogue: + case EClassJob.Ninja: + case EClassJob.Samurai: + case EClassJob.Reaper: + case EClassJob.Viper: + case EClassJob.Beastmaster: + return true; + default: + return false; } } public static bool IsPhysicalRanged(this EClassJob classJob) { - int num = ((classJob > EClassJob.Bard) ? 361445859 : 361445862); - bool result = default(bool); - while (true) + switch (classJob) { - int num2 = num; - int num3 = 361445858; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = 361445862; - break; - case 7: - num = ((classJob != EClassJob.Dancer) ? 361445856 : 361445863); - break; - case 6: - num = ((classJob == EClassJob.Bard) ? 361445863 : 361445858); - break; - case 2: - result = false; - num = 361445866; - break; - case 1: - num = ((classJob == EClassJob.Machinist) ? 361445863 : 361445861); - break; - case 5: - result = true; - num = 361445866; - break; - case 0: - num = 361445856; - break; - case 4: - num = ((classJob == EClassJob.Archer) ? 361445863 : 361445860); - break; - case 8: - return result; - } + case EClassJob.Archer: + case EClassJob.Bard: + case EClassJob.Machinist: + case EClassJob.Dancer: + return true; + default: + return false; } } public static bool IsCaster(this EClassJob classJob) { - int num = ((classJob > EClassJob.Summoner) ? (-152910150) : (-152910151)); - bool result = default(bool); - while (true) + switch (classJob) { - int num2 = num; - int num3 = -152910147; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - num = ((classJob - 25 <= EClassJob.Pugilist) ? (-152910149) : (-152910145)); - break; - case 7: - num = ((classJob - 35 <= EClassJob.Gladiator) ? (-152910149) : (-152910148)); - break; - case 3: - return result; - case 6: - result = true; - num = -152910146; - break; - case 2: - num = -152910155; - break; - case 8: - result = false; - num = -152910146; - break; - case 1: - num = ((classJob != EClassJob.Pictomancer) ? (-152910155) : (-152910149)); - break; - case 4: - num = ((classJob == EClassJob.Thaumaturge) ? (-152910149) : (-152910152)); - break; - case 0: - num = -152910151; - break; - } + case EClassJob.Thaumaturge: + case EClassJob.BlackMage: + case EClassJob.Arcanist: + case EClassJob.Summoner: + case EClassJob.RedMage: + case EClassJob.BlueMage: + case EClassJob.Pictomancer: + return true; + default: + return false; } } public static bool IsDps(this EClassJob classJob) { - int num = (classJob.IsMelee() ? 652988313 : 652988314); - while (true) + if (!classJob.IsMelee() && !classJob.IsPhysicalRanged()) { - int num2 = num; - int num3 = 652988315; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return true; - case 1: - num = (classJob.IsPhysicalRanged() ? 652988313 : 652988315); - break; - case 3: - num = 652988314; - break; - case 0: - return classJob.IsCaster(); - } + return classJob.IsCaster(); } + return true; } public static bool DealsPhysicalDamage(this EClassJob classJob) { - int num = (classJob.IsTank() ? (-1539913949) : (-1539913950)); - while (true) + if (!classJob.IsTank() && !classJob.IsMelee()) { - int num2 = num; - int num3 = -1539913951; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1539913950; - break; - case 2: - return true; - case 1: - return classJob.IsPhysicalRanged(); - case 3: - num = (classJob.IsMelee() ? (-1539913949) : (-1539913952)); - break; - } + return classJob.IsPhysicalRanged(); } + return true; } public static bool DealsMagicDamage(this EClassJob classJob) { - int num = (classJob.IsHealer() ? (-686525847) : (-686525846)); - while (true) + if (!classJob.IsHealer()) { - int num2 = num; - int num3 = -686525845; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return true; - case 1: - return classJob.IsCaster(); - case 0: - goto IL_004f; - } - continue; - IL_004f: - num = -686525846; + return classJob.IsCaster(); } + return true; } public static bool IsCrafter(this EClassJob classJob) { - int num = ((classJob < EClassJob.Carpenter) ? 1685178901 : 1685178902); - while (true) + if (classJob >= EClassJob.Carpenter) { - int num2 = num; - int num3 = 1685178903; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0042; - case 1: - return classJob <= EClassJob.Culinarian; - case 2: - return false; - } - continue; - IL_0042: - num = 1685178902; + return classJob <= EClassJob.Culinarian; } + return false; } public static bool IsGatherer(this EClassJob classJob) { - int num = ((classJob < EClassJob.Miner) ? (-1618937167) : (-1618937166)); - while (true) + if (classJob >= EClassJob.Miner) { - int num2 = num; - int num3 = -1618937168; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0043; - case 1: - return false; - case 2: - return classJob <= EClassJob.Fisher; - } - continue; - IL_0043: - num = -1618937166; + return classJob <= EClassJob.Fisher; } + return false; } public static bool IsLimitedJob(this EClassJob classJob) { - int num = ((classJob == EClassJob.BlueMage) ? 421326945 : 421326949); - bool result = default(bool); - while (true) + if (classJob == EClassJob.BlueMage || classJob == EClassJob.Beastmaster) { - int num2 = num; - int num3 = 421326945; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 421326949; - break; - case 1: - return result; - case 0: - result = true; - num = 421326944; - break; - case 4: - num = ((classJob != EClassJob.Beastmaster) ? 421326946 : 421326945); - break; - case 3: - result = false; - num = 421326944; - break; - } + return true; } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public static string ToFriendlyString(this EClassJob classJob) { - int num = ((classJob == EClassJob.WhiteMage) ? 1982513328 : 1982513340); - string result = default(string); - while (true) + return classJob switch { - int num2 = num; - int num3 = 1982513334; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 8: - num = 1982513340; - continue; - case 0: - result = 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(1101047022); - num = 1982513330; - continue; - case 6: - result = 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(-1414195190); - num = 1982513330; - continue; - case 5: - result = global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1506629366); - num = 1982513330; - continue; - case 2: - num = 1982513329; - continue; - case 3: - goto IL_00bb; - case 10: - num = ((classJob == EClassJob.BlackMage) ? 1982513331 : 1982513343); - continue; - case 4: - return result; - case 1: - goto IL_00f1; - case 9: - switch (classJob) - { - case EClassJob.RedMage: - break; - case EClassJob.BlueMage: - goto IL_00bb; - case EClassJob.DarkKnight: - goto IL_00f1; - default: - goto IL_0124; - case EClassJob.Astrologian: - case EClassJob.Samurai: - goto end_IL_002d; - } - goto case 0; - case 7: - break; - IL_0124: - num = 1982513332; - continue; - IL_00f1: - result = global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(2050012990); - num = 1982513330; - continue; - IL_00bb: - result = 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(656115751); - num = 1982513330; - continue; - end_IL_002d: - break; - } - result = classJob.ToString(); - num = 1982513330; - } + EClassJob.WhiteMage => "White Mage", + EClassJob.BlackMage => "Black Mage", + EClassJob.DarkKnight => "Dark Knight", + EClassJob.RedMage => "Red Mage", + EClassJob.BlueMage => "Blue Mage", + _ => classJob.ToString(), + }; } public static bool IsInCategory(this EClassJob classJob, ClassJobCategory category) { - int num; - bool result = default(bool); - switch (classJob) + return classJob switch { - default: - num = -1564064857; - goto IL_00c1; - case EClassJob.Dragoon: - result = category.DRG; - num = -1564064876; - goto IL_00c1; - case EClassJob.Samurai: - goto IL_01af; - case EClassJob.Miner: - goto IL_01c2; - case EClassJob.Beastmaster: - goto IL_01d5; - case EClassJob.Carpenter: - goto IL_01e8; - case EClassJob.Astrologian: - goto IL_01fb; - case EClassJob.Fisher: - goto IL_020e; - case EClassJob.Sage: - goto IL_022c; - case EClassJob.Goldsmith: - goto IL_023f; - case EClassJob.Thaumaturge: - goto IL_0252; - case EClassJob.WhiteMage: - goto IL_0265; - case EClassJob.Lancer: - goto IL_0278; - case EClassJob.Leatherworker: - goto IL_028b; - case EClassJob.Pictomancer: - goto IL_029e; - case EClassJob.Botanist: - goto IL_02b1; - case EClassJob.Pugilist: - goto IL_02c4; - case EClassJob.Reaper: - goto IL_02d7; - case EClassJob.Viper: - goto IL_02ea; - case EClassJob.Paladin: - goto IL_02fd; - case EClassJob.Weaver: - goto IL_0310; - case EClassJob.Rogue: - goto IL_0323; - case EClassJob.Gunbreaker: - goto IL_0336; - case EClassJob.Culinarian: - goto IL_0354; - case EClassJob.Arcanist: - goto IL_0367; - case EClassJob.Blacksmith: - goto IL_037a; - case EClassJob.Summoner: - goto IL_038d; - case EClassJob.Marauder: - goto IL_03a0; - case EClassJob.BlueMage: - goto IL_03b3; - case EClassJob.Adventurer: - goto IL_03c6; - case EClassJob.Ninja: - goto IL_03d9; - case EClassJob.Monk: - goto IL_03ec; - case EClassJob.Archer: - goto IL_03ff; - case EClassJob.Alchemist: - goto IL_0412; - case EClassJob.Bard: - goto IL_0425; - case EClassJob.BlackMage: - goto IL_043a; - case EClassJob.Scholar: - goto IL_044d; - case EClassJob.Conjurer: - goto IL_0460; - case EClassJob.Machinist: - goto IL_0473; - case EClassJob.Gladiator: - goto IL_0486; - case EClassJob.Warrior: - goto IL_0499; - case EClassJob.Armorer: - goto IL_04ac; - case EClassJob.DarkKnight: - goto IL_04bf; - case EClassJob.Dancer: - goto IL_04d2; - case EClassJob.RedMage: - goto IL_04e5; - IL_00c1: - while (true) - { - int num2 = num; - int num3 = -1564064836; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 31: - goto end_IL_00c1; - case 5: - goto IL_01af; - case 4: - goto IL_01c2; - case 45: - goto IL_01d5; - case 14: - goto IL_01e8; - case 34: - goto IL_01fb; - case 18: - goto IL_020e; - case 9: - num = -1564064857; - break; - case 6: - goto IL_022c; - case 41: - goto IL_023f; - case 11: - goto IL_0252; - case 21: - goto IL_0265; - case 12: - goto IL_0278; - case 39: - goto IL_028b; - case 16: - goto IL_029e; - case 25: - goto IL_02b1; - case 44: - goto IL_02c4; - case 1: - goto IL_02d7; - case 2: - goto IL_02ea; - case 47: - goto IL_02fd; - case 37: - goto IL_0310; - case 38: - goto IL_0323; - case 36: - goto IL_0336; - case 27: - num = -1564064867; - break; - case 46: - goto IL_0354; - case 20: - goto IL_0367; - case 30: - goto IL_037a; - case 23: - goto IL_038d; - case 17: - goto IL_03a0; - case 29: - goto IL_03b3; - case 10: - goto IL_03c6; - case 3: - goto IL_03d9; - case 35: - goto IL_03ec; - case 26: - goto IL_03ff; - case 13: - goto IL_0412; - case 7: - goto IL_0425; - case 40: - return result; - case 15: - goto IL_043a; - case 0: - goto IL_044d; - case 43: - goto IL_0460; - case 42: - goto IL_0473; - case 8: - goto IL_0486; - case 28: - goto IL_0499; - case 22: - goto IL_04ac; - case 32: - goto IL_04bf; - case 19: - goto IL_04d2; - case 24: - goto IL_04e5; - case 33: - result = false; - num = -1564064876; - break; - } - continue; - end_IL_00c1: - break; - } - goto case EClassJob.Dragoon; - IL_04e5: - result = category.RDM; - num = -1564064876; - goto IL_00c1; - IL_04d2: - result = category.DNC; - num = -1564064876; - goto IL_00c1; - IL_04bf: - result = category.DRK; - num = -1564064876; - goto IL_00c1; - IL_04ac: - result = category.ARM; - num = -1564064876; - goto IL_00c1; - IL_0499: - result = category.WAR; - num = -1564064876; - goto IL_00c1; - IL_0486: - result = category.GLA; - num = -1564064876; - goto IL_00c1; - IL_0473: - result = category.MCH; - num = -1564064876; - goto IL_00c1; - IL_0460: - result = category.CNJ; - num = -1564064876; - goto IL_00c1; - IL_044d: - result = category.SCH; - num = -1564064876; - goto IL_00c1; - IL_043a: - result = category.BLM; - num = -1564064876; - goto IL_00c1; - IL_0425: - result = category.BRD; - num = -1564064876; - goto IL_00c1; - IL_0412: - result = category.ALC; - num = -1564064876; - goto IL_00c1; - IL_03ff: - result = category.ARC; - num = -1564064876; - goto IL_00c1; - IL_03ec: - result = category.MNK; - num = -1564064876; - goto IL_00c1; - IL_03d9: - result = category.NIN; - num = -1564064876; - goto IL_00c1; - IL_03c6: - result = category.ADV; - num = -1564064876; - goto IL_00c1; - IL_03b3: - result = category.BLU; - num = -1564064876; - goto IL_00c1; - IL_03a0: - result = category.MRD; - num = -1564064876; - goto IL_00c1; - IL_038d: - result = category.SMN; - num = -1564064876; - goto IL_00c1; - IL_037a: - result = category.BSM; - num = -1564064876; - goto IL_00c1; - IL_0367: - result = category.ACN; - num = -1564064876; - goto IL_00c1; - IL_0354: - result = category.CUL; - num = -1564064876; - goto IL_00c1; - IL_0336: - result = category.GNB; - num = -1564064876; - goto IL_00c1; - IL_0323: - result = category.ROG; - num = -1564064876; - goto IL_00c1; - IL_0310: - result = category.WVR; - num = -1564064876; - goto IL_00c1; - IL_02fd: - result = category.PLD; - num = -1564064876; - goto IL_00c1; - IL_02ea: - result = category.VPR; - num = -1564064876; - goto IL_00c1; - IL_02d7: - result = category.RPR; - num = -1564064876; - goto IL_00c1; - IL_02c4: - result = category.PGL; - num = -1564064876; - goto IL_00c1; - IL_02b1: - result = category.BTN; - num = -1564064876; - goto IL_00c1; - IL_029e: - result = category.PCT; - num = -1564064876; - goto IL_00c1; - IL_028b: - result = category.LTW; - num = -1564064876; - goto IL_00c1; - IL_0278: - result = category.LNC; - num = -1564064876; - goto IL_00c1; - IL_0265: - result = category.WHM; - num = -1564064876; - goto IL_00c1; - IL_0252: - result = category.THM; - num = -1564064876; - goto IL_00c1; - IL_023f: - result = category.GSM; - num = -1564064876; - goto IL_00c1; - IL_022c: - result = category.SGE; - num = -1564064876; - goto IL_00c1; - IL_020e: - result = category.FSH; - num = -1564064876; - goto IL_00c1; - IL_01fb: - result = category.AST; - num = -1564064876; - goto IL_00c1; - IL_01e8: - result = category.CRP; - num = -1564064876; - goto IL_00c1; - IL_01d5: - result = category.Unknown0; - num = -1564064876; - goto IL_00c1; - IL_01c2: - result = category.MIN; - num = -1564064876; - goto IL_00c1; - IL_01af: - result = category.SAM; - num = -1564064876; - goto IL_00c1; - } + EClassJob.Adventurer => category.ADV, + EClassJob.Gladiator => category.GLA, + EClassJob.Pugilist => category.PGL, + EClassJob.Marauder => category.MRD, + EClassJob.Lancer => category.LNC, + EClassJob.Archer => category.ARC, + EClassJob.Conjurer => category.CNJ, + EClassJob.Thaumaturge => category.THM, + EClassJob.Carpenter => category.CRP, + EClassJob.Blacksmith => category.BSM, + EClassJob.Armorer => category.ARM, + EClassJob.Goldsmith => category.GSM, + EClassJob.Leatherworker => category.LTW, + EClassJob.Weaver => category.WVR, + EClassJob.Alchemist => category.ALC, + EClassJob.Culinarian => category.CUL, + EClassJob.Miner => category.MIN, + EClassJob.Botanist => category.BTN, + EClassJob.Fisher => category.FSH, + EClassJob.Paladin => category.PLD, + EClassJob.Monk => category.MNK, + EClassJob.Warrior => category.WAR, + EClassJob.Dragoon => category.DRG, + EClassJob.Bard => category.BRD, + EClassJob.WhiteMage => category.WHM, + EClassJob.BlackMage => category.BLM, + EClassJob.Arcanist => category.ACN, + EClassJob.Summoner => category.SMN, + EClassJob.Scholar => category.SCH, + EClassJob.Rogue => category.ROG, + EClassJob.Ninja => category.NIN, + EClassJob.Machinist => category.MCH, + EClassJob.DarkKnight => category.DRK, + EClassJob.Astrologian => category.AST, + EClassJob.Samurai => category.SAM, + EClassJob.RedMage => category.RDM, + EClassJob.BlueMage => category.BLU, + EClassJob.Gunbreaker => category.GNB, + EClassJob.Dancer => category.DNC, + EClassJob.Reaper => category.RPR, + EClassJob.Sage => category.SGE, + EClassJob.Viper => category.VPR, + EClassJob.Pictomancer => category.PCT, + EClassJob.Beastmaster => category.Unknown0, + _ => false, + }; } public static int GetLevel(this EClassJob classJob, IDataManager dataManager) { ClassJob? rowOrDefault = dataManager.GetExcelSheet().GetRowOrDefault((uint)classJob); - int num = ((!rowOrDefault.HasValue) ? (-2126726363) : (-2126726364)); - while (true) + if (!rowOrDefault.HasValue || rowOrDefault.Value.ExpArrayIndex < 0) { - int num2 = num; - int num3 = -2126726361; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return 0; - case 3: - num = ((rowOrDefault.Value.ExpArrayIndex >= 0) ? (-2126726362) : (-2126726363)); - break; - case 1: - return PlayerStateHelper.GetClassJobLevel(rowOrDefault.Value.ExpArrayIndex); - case 0: - num = -2126726364; - break; - } + return 0; } + return PlayerStateHelper.GetClassJobLevel(rowOrDefault.Value.ExpArrayIndex); } public static int GetExperience(this EClassJob classJob, IDataManager dataManager) { ClassJob? rowOrDefault = dataManager.GetExcelSheet().GetRowOrDefault((uint)classJob); - int num = ((!rowOrDefault.HasValue) ? 638644957 : 638644959); - while (true) + if (!rowOrDefault.HasValue || rowOrDefault.Value.ExpArrayIndex < 0) { - int num2 = num; - int num3 = 638644958; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 638644959; - break; - case 0: - return PlayerStateHelper.GetClassJobExperience(rowOrDefault.Value.ExpArrayIndex); - case 3: - return 0; - case 1: - num = ((rowOrDefault.Value.ExpArrayIndex >= 0) ? 638644958 : 638644957); - break; - } + return 0; } + return PlayerStateHelper.GetClassJobExperience(rowOrDefault.Value.ExpArrayIndex); } public static List GetActions(this EClassJob classJob, IDataManager dataManager) { - return (from a in dataManager.GetExcelSheet().Where(delegate(Action a) - { - int num = ((a.ClassJob.RowId != (uint)classJob) ? 783603201 : 783603202); - while (true) - { - int num2 = num; - int num3 = 783603203; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return false; - case 1: - return a.ClassJobLevel > 0; - case 0: - goto IL_0064; - } - continue; - IL_0064: - num = 783603202; - } - }) + return (from a in dataManager.GetExcelSheet() + where a.ClassJob.RowId == (uint)classJob && a.ClassJobLevel > 0 orderby a.ClassJobLevel select a).ToList(); } diff --git a/LLib/LLib.GameData/ECombatRoleExtensions.cs b/LLib/LLib.GameData/ECombatRoleExtensions.cs index 355e8cb..fd52415 100644 --- a/LLib/LLib.GameData/ECombatRoleExtensions.cs +++ b/LLib/LLib.GameData/ECombatRoleExtensions.cs @@ -4,34 +4,18 @@ public static class ECombatRoleExtensions { public static ECombatRole GetCombatRole(this EClassJob classJob) { - int num = ((!classJob.IsTank()) ? 1662519896 : 1662519898); - while (true) + if (classJob.IsTank()) { - int num2 = num; - int num3 = 1662519899; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return ECombatRole.None; - case 1: - return ECombatRole.Tank; - case 2: - num = 1662519898; - break; - case 3: - num = ((!classJob.IsHealer()) ? 1662519903 : 1662519902); - break; - case 4: - num = ((!classJob.IsDps()) ? 1662519899 : 1662519901); - break; - case 6: - return ECombatRole.Dps; - case 5: - return ECombatRole.Healer; - } + return ECombatRole.Tank; } + if (classJob.IsHealer()) + { + return ECombatRole.Healer; + } + if (classJob.IsDps()) + { + return ECombatRole.Dps; + } + return ECombatRole.None; } } diff --git a/LLib/LLib.GameData/GameStateHelper.cs b/LLib/LLib.GameData/GameStateHelper.cs index 4f7f1a0..17e7c36 100644 --- a/LLib/LLib.GameData/GameStateHelper.cs +++ b/LLib/LLib.GameData/GameStateHelper.cs @@ -1,11 +1,8 @@ -using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; -using System.Runtime.CompilerServices; using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Client.Game.Character; @@ -48,116 +45,55 @@ public sealed class GameStateHelper public bool IsFlyingUnlocked(uint territoryId) { - uint value; - int num = ((!_territoryToAetherCurrentCompFlgSet.TryGetValue(territoryId, out value)) ? 403824667 : 403824666); - while (true) + if (_territoryToAetherCurrentCompFlgSet.TryGetValue(territoryId, out var value)) { - int num2 = num; - int num3 = 403824667; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_004e; - case 0: - return false; - case 1: - return PlayerStateHelper.IsAetherCurrentZoneComplete(value); - } - continue; - IL_004e: - num = 403824666; + return PlayerStateHelper.IsAetherCurrentZoneComplete(value); } + return false; } public bool IsFlyingUnlockedInCurrentZone() { - return IsFlyingUnlocked(_206E_200D_200F_206A_202B_200B_206B_206B_200E_200D_202A_206A_200D_206F_200E_200E_200E_206D_202A_206E_206C_200F_200D_206A_200D_200F_200E_206D_206E_206B_200E_200F_202E_200E_202C_200C_202A_206E_200F_206E_202E(_clientState)); + return IsFlyingUnlocked(_clientState.TerritoryType); } public unsafe ushort? GetMountId() { - IPlayerCharacter playerCharacter = _200F_206D_206D_202B_202B_200E_200D_200F_200C_202C_200E_202A_200E_202A_206D_202D_206D_200E_202B_200E_202C_202A_200D_206D_202E_202E_202A_202D_206D_206B_206A_202D_202D_200D_202C_206C_206B_200F_202B_202B_202E(_objectTable); - int num = ((playerCharacter != null) ? 1199000575 : 1199000574); - BattleChara* ptr = default(BattleChara*); - while (true) + IPlayerCharacter localPlayer = _objectTable.LocalPlayer; + if (localPlayer == null) { - int num2 = num; - int num3 = 1199000570; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - num = ((ptr->Mount.MountId != 0) ? 1199000568 : 1199000569); - break; - case 4: - return null; - case 5: - ptr = (BattleChara*)_202B_206A_206C_202B_206B_202C_202C_206B_206F_206E_206D_206F_202E_200B_206D_202E_206A_206A_206A_200C_206E_200B_206C_200C_200D_206D_202C_206E_206D_202E_200B_202B_206C_202A_202E_206A_202E_206B_202E_202B_202E((IGameObject)playerCharacter); - num = ((ptr == null) ? 1199000569 : 1199000571); - break; - case 3: - return null; - case 2: - return ptr->Mount.MountId; - case 0: - num = 1199000574; - break; - } + return null; } + BattleChara* address = (BattleChara*)localPlayer.Address; + if (address == null || address->Mount.MountId == 0) + { + return null; + } + return address->Mount.MountId; } public unsafe bool HasStatusPreventingMount() { - int num = ((!_202D_206E_206A_206C_206E_202D_200B_200D_200B_202E_200B_206E_200E_200D_200B_200E_202C_206F_206A_206C_202C_202B_200D_206E_202A_202D_202C_202D_200B_200F_200E_206E_200F_206E_206C_202A_206A_202D_202C_202E(_condition, ConditionFlag.Swimming)) ? (-1891317293) : (-1891317282)); - IPlayerCharacter playerCharacter = default(IPlayerCharacter); - StatusManager* statusManager = default(StatusManager*); - while (true) + if (_condition[ConditionFlag.Swimming] && !IsFlyingUnlockedInCurrentZone()) { - int num2 = num; - int num3 = -1891317286; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 8: - return false; - case 4: - num = (IsFlyingUnlockedInCurrentZone() ? (-1891317293) : (-1891317288)); - break; - case 7: - { - BattleChara* ptr = (BattleChara*)_202B_206A_206C_202B_206B_202C_202C_206B_206F_206E_206D_206F_202E_200B_206D_202E_206A_206A_206A_200C_206E_200B_206C_200C_200D_206D_202C_206E_206D_202E_200B_202B_206C_202A_202E_206A_202E_206B_202E_202B_202E((IGameObject)playerCharacter); - statusManager = ptr->GetStatusManager(); - num = (statusManager->HasStatus(1151u) ? (-1891317287) : (-1891317296)); - break; - } - case 5: - num = -1891317282; - break; - case 9: - num = (PlayerStateHelper.IsAnyMountUnlocked() ? (-1891317286) : (-1891317285)); - break; - case 10: - num = ((!statusManager->HasStatus(1945u)) ? (-1891317284) : (-1891317287)); - break; - case 6: - return HasStatusPreventingMountOrSprint(); - case 3: - return true; - case 1: - return true; - case 0: - playerCharacter = _200F_206D_206D_202B_202B_200E_200D_200F_200C_202C_200E_202A_200E_202A_206D_202D_206D_200E_202B_200E_202C_202A_200D_206D_202E_202E_202A_202D_206D_206B_206A_202D_202D_200D_202C_206C_206B_200F_202B_202B_202E(_objectTable); - num = ((playerCharacter != null) ? (-1891317283) : (-1891317294)); - break; - case 2: - return true; - } + return true; } + if (!PlayerStateHelper.IsAnyMountUnlocked()) + { + return true; + } + IPlayerCharacter localPlayer = _objectTable.LocalPlayer; + if (localPlayer == null) + { + return false; + } + BattleChara* address = (BattleChara*)localPlayer.Address; + StatusManager* statusManager = address->GetStatusManager(); + if (statusManager->HasStatus(1151u) || statusManager->HasStatus(1945u)) + { + return true; + } + return HasStatusPreventingMountOrSprint(); } public bool HasStatusPreventingSprint() @@ -165,178 +101,87 @@ public sealed class GameStateHelper return HasStatusPreventingMountOrSprint(); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe bool Mount(uint preferredMountId = 0u) { - int num = ((!_202D_206E_206A_206C_206E_202D_200B_200D_200B_202E_200B_206E_200E_200D_200B_200E_202C_206F_206A_206C_202C_202B_200D_206E_202A_202D_202C_202D_200B_200F_200E_206E_200F_206E_206C_202A_206A_202D_202C_202E(_condition, ConditionFlag.Mounted)) ? (-2056897107) : (-2056897108)); - while (true) + if (_condition[ConditionFlag.Mounted]) { - int num2 = num; - int num3 = -2056897114; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return true; + } + if (HasStatusPreventingMount()) + { + _logger.LogDebug("Cannot mount: status or condition prevents it"); + return false; + } + if (preferredMountId != 0 && PlayerStateHelper.IsMountUnlocked(preferredMountId)) + { + if (ActionManager.Instance()->GetActionStatus(ActionType.Mount, preferredMountId, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) == 0) { - case 13: - num = -2056897108; - break; - case 9: - num = ((ActionManager.Instance()->GetActionStatus(ActionType.GeneralAction, 9u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) != 0) ? (-2056897118) : (-2056897113)); - break; - case 3: - return false; - case 8: - num = ((!PlayerStateHelper.IsMountUnlocked(preferredMountId)) ? (-2056897105) : (-2056897116)); - break; - case 4: - return false; - case 7: - _202D_202E_206F_202A_206D_206A_206B_200C_202A_200D_206B_202C_202C_202C_206E_202E_206F_202E_200B_206C_206E_202A_206A_202D_200F_206B_200D_202D_206D_200F_202D_202C_206E_206D_200D_202B_202B_200C_202D_206A_202E((ILogger)_logger, 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(-1476715702), new object[1] { preferredMountId }); - num = ((!ActionManager.Instance()->UseAction(ActionType.Mount, preferredMountId, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null)) ? (-2056897115) : (-2056897117)); - break; - case 6: - _200B_206F_202B_202C_200E_206D_206A_202A_202C_200B_202B_206D_206F_200D_206D_206A_206A_202E_200F_202C_200E_202E_200C_202E_206D_202C_200D_206E_200B_200E_206B_202C_200B_200E_206F_202E_202D_206C_202D_202E((ILogger)_logger, 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(1773045698), Array.Empty()); + _logger.LogDebug("Attempting preferred mount {Id}", preferredMountId); + if (ActionManager.Instance()->UseAction(ActionType.Mount, preferredMountId, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null)) + { + _logger.LogInformation("Mounted (preferred {Id})", preferredMountId); + return true; + } + } + return false; + } + if (ActionManager.Instance()->GetActionStatus(ActionType.GeneralAction, 9u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) == 0) + { + _logger.LogDebug("Attempting mount roulette"); + if (ActionManager.Instance()->UseAction(ActionType.GeneralAction, 9u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null)) + { + _logger.LogInformation("Mounted (roulette)"); return true; - case 10: - return true; - case 1: - _202D_202E_206F_202A_206D_206A_206B_200C_202A_200D_206B_202C_202C_202C_206E_202E_206F_202E_200B_206C_206E_202A_206A_202D_200F_206B_200D_202D_206D_200F_202D_202C_206E_206D_200D_202B_202B_200C_202D_206A_202E((ILogger)_logger, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-1930041306), Array.Empty()); - num = ((!ActionManager.Instance()->UseAction(ActionType.GeneralAction, 9u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null)) ? (-2056897118) : (-2056897120)); - break; - case 2: - num = ((ActionManager.Instance()->GetActionStatus(ActionType.Mount, preferredMountId, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) != 0) ? (-2056897115) : (-2056897119)); - break; - case 5: - _200B_206F_202B_202C_200E_206D_206A_202A_202C_200B_202B_206D_206F_200D_206D_206A_206A_202E_200F_202C_200E_202E_200C_202E_206D_202C_200D_206E_200B_200E_206B_202C_200B_200E_206F_202E_202D_206C_202D_202E((ILogger)_logger, 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(-297265243), new object[1] { preferredMountId }); - return true; - case 11: - num = ((!HasStatusPreventingMount()) ? (-2056897114) : (-2056897110)); - break; - case 0: - num = ((preferredMountId == 0) ? (-2056897105) : (-2056897106)); - break; - case 12: - _202D_202E_206F_202A_206D_206A_206B_200C_202A_200D_206B_202C_202C_202C_206E_202E_206F_202E_200B_206C_206E_202A_206A_202D_200F_206B_200D_202D_206D_200F_202D_202C_206E_206D_200D_202B_202B_200C_202D_206A_202E((ILogger)_logger, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1799024315), Array.Empty()); - return false; } } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe bool Unmount() { - int num = (_202D_206E_206A_206C_206E_202D_200B_200D_200B_202E_200B_206E_200E_200D_200B_200E_202C_206F_206A_206C_202C_202B_200D_206E_202A_202D_202C_202D_200B_200F_200E_206E_200F_206E_206C_202A_206A_202D_202C_202E(_condition, ConditionFlag.Mounted) ? (-837931161) : (-837931166)); - while (true) + if (!_condition[ConditionFlag.Mounted]) { - int num2 = num; - int num3 = -837931167; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -837931166; - break; - case 3: - return true; - case 1: - _202D_202E_206F_202A_206D_206A_206B_200C_202A_200D_206B_202C_202C_202C_206E_202E_206F_202E_200B_206C_206E_202A_206A_202D_200F_206B_200D_202D_206D_200F_202D_202C_206E_206D_200D_202B_202B_200C_202D_206A_202E((ILogger)_logger, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-714588632), Array.Empty()); - return false; - case 0: - _202D_202E_206F_202A_206D_206A_206B_200C_202A_200D_206B_202C_202C_202C_206E_202E_206F_202E_200B_206C_206E_202A_206A_202D_200F_206B_200D_202D_206D_200F_202D_202C_206E_206D_200D_202B_202B_200C_202D_206A_202E((ILogger)_logger, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-1741093506), Array.Empty()); - num = ((!ActionManager.Instance()->UseAction(ActionType.GeneralAction, 23u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null)) ? (-837931163) : (-837931164)); - break; - case 6: - num = ((ActionManager.Instance()->GetActionStatus(ActionType.GeneralAction, 23u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) == 0) ? (-837931167) : (-837931168)); - break; - case 5: - _200B_206F_202B_202C_200E_206D_206A_202A_202C_200B_202B_206D_206F_200D_206D_206A_206A_202E_200F_202C_200E_202E_200C_202E_206D_202C_200D_206E_200B_200E_206B_202C_200B_200E_206F_202E_202D_206C_202D_202E((ILogger)_logger, 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(-97506348), Array.Empty()); - return true; - case 4: - return false; - } + return true; } + if (ActionManager.Instance()->GetActionStatus(ActionType.GeneralAction, 23u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) != 0) + { + _logger.LogDebug("Cannot unmount: action on cooldown"); + return false; + } + _logger.LogDebug("Attempting dismount"); + if (ActionManager.Instance()->UseAction(ActionType.GeneralAction, 23u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null)) + { + _logger.LogInformation("Unmounted"); + return true; + } + return false; } public unsafe int? GetFreeInventorySlots() { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? (-1831709052) : (-1831709042)); - int num7 = default(int); - int num8 = default(int); - InventoryType inventoryType = default(InventoryType); - InventoryContainer* inventoryContainer = default(InventoryContainer*); - InventoryItem* inventorySlot = default(InventoryItem*); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -1831709050; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return null; + } + int num = 0; + for (InventoryType inventoryType = InventoryType.Inventory1; inventoryType <= InventoryType.Inventory4; inventoryType++) + { + InventoryContainer* inventoryContainer = ptr->GetInventoryContainer(inventoryType); + if (inventoryContainer == null) { - case 1: - { - int num10 = num7; - num3 = 1; - num4 = num10; - int num11 = num4 ^ num3; - int num12 = num4 & num3; - num7 = num11 + (num12 + num12); - num = -1831709055; - break; - } - case 7: - { - int num9 = num8; - num3 = 1; - num4 = num9; - num8 = (num4 | num3) + (num4 & num3); - num = -1831709054; - break; - } - case 12: - num = ((inventoryType <= InventoryType.Inventory4) ? (-1831709053) : (-1831709050)); - break; - case 11: - num8 = 0; - num = -1831709054; - break; - case 8: return null; - case 0: - return num7; - case 13: - num = -1831709042; - break; - case 3: - return null; - case 5: - inventoryContainer = ptr->GetInventoryContainer(inventoryType); - num = ((inventoryContainer != null) ? (-1831709043) : (-1831709051)); - break; - case 10: - num = ((inventorySlot->ItemId != 0) ? (-1831709055) : (-1831709049)); - break; - case 4: - num = ((num8 < inventoryContainer->Size) ? (-1831709056) : (-1831709041)); - break; - case 6: - inventorySlot = inventoryContainer->GetInventorySlot(num8); - num = ((inventorySlot == null) ? (-1831709049) : (-1831709044)); - break; - case 2: - num7 = 0; - inventoryType = InventoryType.Inventory1; - num = -1831709046; - break; - case 9: - inventoryType++; - num = -1831709046; - break; + } + for (int i = 0; i < inventoryContainer->Size; i++) + { + InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(i); + if (inventorySlot == null || inventorySlot->ItemId == 0) + { + num++; + } } } + return num; } public uint GetItemLevel(uint itemId) @@ -344,127 +189,36 @@ public sealed class GameStateHelper return _dataManager.GetExcelSheet().GetRowOrDefault(itemId)?.LevelItem.RowId ?? 0; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe bool IsLoadingScreenVisible() { - AtkUnitBase* addonPtr; - int num = ((!_gameGui.TryGetAddonByName(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(108265439), out addonPtr)) ? (-1210184014) : (-1210184015)); - while (true) + if (_gameGui.TryGetAddonByName("FadeMiddle", out var addonPtr) && LAddon.IsAddonReady(addonPtr) && addonPtr->IsVisible) { - int num2 = num; - int num3 = -1210184006; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 10: - return true; - case 4: - num = ((!LAddon.IsAddonReady(addonPtr)) ? (-1210184004) : (-1210184003)); - break; - case 0: - num = ((!LAddon.IsAddonReady(addonPtr)) ? (-1210184008) : (-1210184013)); - break; - case 6: - return false; - case 5: - return true; - case 3: - num = -1210184015; - break; - case 8: - num = ((!_gameGui.TryGetAddonByName(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(-342678724), out addonPtr)) ? (-1210184008) : (-1210184006)); - break; - case 9: - num = ((!addonPtr->IsVisible) ? (-1210184008) : (-1210184016)); - break; - case 2: - num = ((!_gameGui.TryGetAddonByName(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(190562947), out addonPtr)) ? (-1210184004) : (-1210184002)); - break; - case 11: - num = ((!LAddon.IsAddonReady(addonPtr)) ? (-1210184014) : (-1210184005)); - break; - case 7: - num = ((!addonPtr->IsVisible) ? (-1210184004) : (-1210184010)); - break; - case 12: - return true; - case 1: - num = ((!addonPtr->IsVisible) ? (-1210184014) : (-1210184001)); - break; - } + return true; } + if (_gameGui.TryGetAddonByName("FadeBack", out addonPtr) && LAddon.IsAddonReady(addonPtr) && addonPtr->IsVisible) + { + return true; + } + if (_gameGui.TryGetAddonByName("NowLoading", out addonPtr) && LAddon.IsAddonReady(addonPtr) && addonPtr->IsVisible) + { + return true; + } + return false; } private unsafe bool HasStatusPreventingMountOrSprint() { - IPlayerCharacter playerCharacter = _200F_206D_206D_202B_202B_200E_200D_200F_200C_202C_200E_202A_200E_202A_206D_202D_206D_200E_202B_200E_202C_202A_200D_206D_202E_202E_202A_202D_206D_206B_206A_202D_202D_200D_202C_206C_206B_200F_202B_202B_202E(_objectTable); - int num = ((playerCharacter != null) ? 509350324 : 509350327); - StatusManager* statusManager = default(StatusManager*); - while (true) + IPlayerCharacter localPlayer = _objectTable.LocalPlayer; + if (localPlayer == null) { - int num2 = num; - int num3 = 509350321; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = (statusManager->HasStatus(404u) ? 509350322 : 509350323); - break; - case 1: - return statusManager->HasStatus(2730u); - case 7: - num = (statusManager->HasStatus(2729u) ? 509350322 : 509350320); - break; - case 4: - num = 509350327; - break; - case 6: - return false; - case 2: - num = (statusManager->HasStatus(416u) ? 509350322 : 509350326); - break; - case 5: - { - BattleChara* ptr = (BattleChara*)_202B_206A_206C_202B_206B_202C_202C_206B_206F_206E_206D_206F_202E_200B_206D_202E_206A_206A_206A_200C_206E_200B_206C_200C_200D_206D_202C_206E_206D_202E_200B_202B_206C_202A_202E_206A_202E_206B_202E_202B_202E((IGameObject)playerCharacter); - statusManager = ptr->GetStatusManager(); - num = (statusManager->HasStatus(565u) ? 509350322 : 509350321); - break; - } - case 3: - return true; - } + return false; } - } - - static uint _206E_200D_200F_206A_202B_200B_206B_206B_200E_200D_202A_206A_200D_206F_200E_200E_200E_206D_202A_206E_206C_200F_200D_206A_200D_200F_200E_206D_206E_206B_200E_200F_202E_200E_202C_200C_202A_206E_200F_206E_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static IPlayerCharacter _200F_206D_206D_202B_202B_200E_200D_200F_200C_202C_200E_202A_200E_202A_206D_202D_206D_200E_202B_200E_202C_202A_200D_206D_202E_202E_202A_202D_206D_206B_206A_202D_202D_200D_202C_206C_206B_200F_202B_202B_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static nint _202B_206A_206C_202B_206B_202C_202C_206B_206F_206E_206D_206F_202E_200B_206D_202E_206A_206A_206A_200C_206E_200B_206C_200C_200D_206D_202C_206E_206D_202E_200B_202B_206C_202A_202E_206A_202E_206B_202E_202B_202E(IGameObject P_0) - { - return P_0.Address; - } - - static bool _202D_206E_206A_206C_206E_202D_200B_200D_200B_202E_200B_206E_200E_200D_200B_200E_202C_206F_206A_206C_202C_202B_200D_206E_202A_202D_202C_202D_200B_200F_200E_206E_200F_206E_206C_202A_206A_202D_202C_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static void _202D_202E_206F_202A_206D_206A_206B_200C_202A_200D_206B_202C_202C_202C_206E_202E_206F_202E_200B_206C_206E_202A_206A_202D_200F_206B_200D_202D_206D_200F_202D_202C_206E_206D_200D_202B_202B_200C_202D_206A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static void _200B_206F_202B_202C_200E_206D_206A_202A_202C_200B_202B_206D_206F_200D_206D_206A_206A_202E_200F_202C_200E_202E_200C_202E_206D_202C_200D_206E_200B_200E_206B_202C_200B_200E_206F_202E_202D_206C_202D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); + BattleChara* address = (BattleChara*)localPlayer.Address; + StatusManager* statusManager = address->GetStatusManager(); + if (!statusManager->HasStatus(565u) && !statusManager->HasStatus(404u) && !statusManager->HasStatus(416u) && !statusManager->HasStatus(2729u)) + { + return statusManager->HasStatus(2730u); + } + return true; } } diff --git a/LLib/LLib.GameData/GrandCompanyHelper.cs b/LLib/LLib.GameData/GrandCompanyHelper.cs index 3679717..613a23a 100644 --- a/LLib/LLib.GameData/GrandCompanyHelper.cs +++ b/LLib/LLib.GameData/GrandCompanyHelper.cs @@ -13,50 +13,20 @@ public static class GrandCompanyHelper public unsafe static byte GetGrandCompanyId() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? (-333040930) : (-333040931)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -333040929; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 1: - return ptr->GrandCompany; - case 2: - return 0; - } - continue; - IL_004b: - num = -333040931; + return 0; } + return ptr->GrandCompany; } public unsafe static byte GetGrandCompanyRank() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 871865385 : 871865386); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 871865387; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 2: - return ptr->GetGrandCompanyRank(); - case 1: - return 0; - } - continue; - IL_0049: - num = 871865386; + return 0; } + return ptr->GetGrandCompanyRank(); } } diff --git a/LLib/LLib.GameData/PlayerStateHelper.cs b/LLib/LLib.GameData/PlayerStateHelper.cs index a85bcd8..cb94457 100644 --- a/LLib/LLib.GameData/PlayerStateHelper.cs +++ b/LLib/LLib.GameData/PlayerStateHelper.cs @@ -11,1001 +11,393 @@ public static class PlayerStateHelper public unsafe static string GetCharacterName() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 622565099 : 622565096); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 622565097; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 2: - return ptr->CharacterNameString; - case 1: - return string.Empty; - } - continue; - IL_004b: - num = 622565096; + return string.Empty; } + return ptr->CharacterNameString; } public unsafe static string GetOnlineId() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 1549891514 : 1549891513); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1549891512; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 2: - return ptr->OnlineIdString; - case 1: - return string.Empty; - } - continue; - IL_0049: - num = 1549891513; + return string.Empty; } + return ptr->OnlineIdString; } public unsafe static byte GetCurrentClassJobId() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 1578162240 : 1578162241); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1578162240; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return ptr->CurrentClassJobId; - case 1: - return 0; - case 2: - goto IL_0052; - } - continue; - IL_0052: - num = 1578162241; + return 0; } + return ptr->CurrentClassJobId; } public unsafe static byte GetRace() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 815415223 : 815415220); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 815415221; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 1: - return 0; - case 2: - return ptr->Race; - } - continue; - IL_004b: - num = 815415220; + return 0; } + return ptr->Race; } public unsafe static byte GetSex() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? (-2146489787) : (-2146489786)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -2146489788; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 2: - return 0; - case 1: - return ptr->Sex; - } - continue; - IL_004b: - num = -2146489786; + return 0; } + return ptr->Sex; } public unsafe static byte GetTribe() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 2134298848 : 2134298851); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 2134298850; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return ptr->Tribe; - case 1: - return 0; - case 0: - goto IL_0052; - } - continue; - IL_0052: - num = 2134298851; + return 0; } + return ptr->Tribe; } public unsafe static byte GetMaxExpansion() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 314367618 : 314367619); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 314367618; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_004b; - case 1: - return 0; - case 0: - return ptr->MaxExpansion; - } - continue; - IL_004b: - num = 314367619; + return 0; } + return ptr->MaxExpansion; } public unsafe static byte GetStartTown() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? (-331480694) : (-331480695)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -331480693; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return ptr->StartTown; - case 2: - return 0; - case 0: - goto IL_0052; - } - continue; - IL_0052: - num = -331480695; + return 0; } + return ptr->StartTown; } public unsafe static byte GetFirstClass() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 167290764 : 167290767); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 167290765; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 1: - return ptr->FirstClass; - case 2: - return 0; - } - continue; - IL_004b: - num = 167290767; + return 0; } + return ptr->FirstClass; } public unsafe static short GetClassJobLevel(int expArrayIndex) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? (-683518906) : (-683518905)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -683518906; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_004c; - case 0: - return ptr->ClassJobLevels[expArrayIndex]; - case 1: - return 0; - } - continue; - IL_004c: - num = -683518905; + return 0; } + return ptr->ClassJobLevels[expArrayIndex]; } public unsafe static int GetClassJobExperience(int expArrayIndex) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 1898247155 : 1898247154); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1898247155; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return ptr->ClassJobExperience[expArrayIndex]; - case 1: - return 0; - case 2: - goto IL_005f; - } - continue; - IL_005f: - num = 1898247154; + return 0; } + return ptr->ClassJobExperience[expArrayIndex]; } public unsafe static uint GetFreeAetheryteId() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 2110699587 : 2110699584); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 2110699586; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 1: - return ptr->FreeAetheryteId; - case 2: - return 0u; - } - continue; - IL_0049: - num = 2110699584; + return 0u; } + return ptr->FreeAetheryteId; } public unsafe static uint GetFreeAetherytePSPlusId() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 524234665 : 524234666); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 524234664; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 2: - return 0u; - case 1: - return ptr->FreeAetherytePSPlus; - } - continue; - IL_0049: - num = 524234666; + return 0u; } + return ptr->FreeAetherytePSPlus; } public unsafe static uint GetFreeAetheryteNSOId() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 977827610 : 977827611); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 977827610; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return ptr->FreeAetheryteNSO; - case 1: - return 0u; - case 2: - goto IL_0054; - } - continue; - IL_0054: - num = 977827611; + return 0u; } + return ptr->FreeAetheryteNSO; } public static bool IsFreeAetheryte(uint aetheryteId) { - int num = ((GetFreeAetheryteId() == aetheryteId) ? (-1031394487) : (-1031394488)); - while (true) + if (GetFreeAetheryteId() != aetheryteId && GetFreeAetherytePSPlusId() != aetheryteId) { - int num2 = num; - int num3 = -1031394487; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - return GetFreeAetheryteNSOId() == aetheryteId; - case 0: - return true; - case 2: - num = -1031394488; - break; - case 1: - num = ((GetFreeAetherytePSPlusId() == aetheryteId) ? (-1031394487) : (-1031394486)); - break; - } + return GetFreeAetheryteNSOId() == aetheryteId; } + return true; } public unsafe static bool IsFavouriteAetheryte(uint aetheryteId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? (-814303290) : (-814303295)); - int num8 = default(int); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -814303296; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return false; + } + for (int i = 0; i < ptr->FavouriteAetheryteCount; i++) + { + if (ptr->FavouriteAetherytes[i] == aetheryteId) { - case 4: - num = -814303295; - break; - case 7: - num = ((ptr->FavouriteAetherytes[num8] != aetheryteId) ? (-814303294) : (-814303291)); - break; - case 3: - return false; - case 0: - num = ((num8 < ptr->FavouriteAetheryteCount) ? (-814303289) : (-814303293)); - break; - case 6: - num8 = 0; - num = -814303296; - break; - case 1: - return false; - case 5: return true; - case 2: - { - int num7 = num8; - num3 = 1; - num4 = num7; - num8 = (num4 | num3) + (num4 & num3); - num = -814303296; - break; - } } } + return false; } public unsafe static List GetFavouriteAetherytes() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? (-894678688) : (-894678683)); - List list = default(List); - ushort num6 = default(ushort); - int num5 = default(int); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -894678684; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return new List(); + } + List list = new List(); + for (int i = 0; i < ptr->FavouriteAetheryteCount; i++) + { + ushort num = ptr->FavouriteAetherytes[i]; + if (num != 0) { - case 0: - num = -894678683; - break; - case 3: - list.Add(num6); - num = -894678686; - break; - case 5: - num6 = ptr->FavouriteAetherytes[num5]; - num = ((num6 == 0) ? (-894678686) : (-894678681)); - break; - case 7: - return list; - case 4: - list = new List(); - num5 = 0; - num = -894678682; - break; - case 6: - { - int num7 = num5; - num3 = 1; - num4 = num7; - num5 = (num4 | num3) + (num4 & num3); - num = -894678682; - break; - } - case 2: - num = ((num5 < ptr->FavouriteAetheryteCount) ? (-894678687) : (-894678685)); - break; - case 1: - return new List(); + list.Add(num); } } + return list; } public unsafe static uint GetHomeAetheryteId() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 1546678320 : 1546678323); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1546678321; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 2: - return 0u; - case 1: - return ptr->HomeAetheryteId; - } - continue; - IL_0049: - num = 1546678323; + return 0u; } + return ptr->HomeAetheryteId; } public unsafe static bool HasFavouriteSlotAvailable() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? (-1110880782) : (-1110880783)); - int num7 = default(int); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -1110880781; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return false; + } + for (int i = 0; i < ptr->FavouriteAetheryteCount; i++) + { + if (ptr->FavouriteAetherytes[i] == 0) { - case 7: - num = -1110880783; - break; - case 3: - num = ((num7 < ptr->FavouriteAetheryteCount) ? (-1110880778) : (-1110880781)); - break; - case 2: - return false; - case 0: - return false; - case 1: - num7 = 0; - num = -1110880784; - break; - case 4: - { - int num8 = num7; - num3 = 1; - num4 = num8; - int num9 = num4 ^ num3; - int num10 = num4 & num3; - num7 = num9 + (num10 + num10); - num = -1110880784; - break; - } - case 6: return true; - case 5: - num = ((ptr->FavouriteAetherytes[num7] != 0) ? (-1110880777) : (-1110880779)); - break; } } + return false; } public unsafe static bool IsMentor() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-6609924) : (-6609923)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -6609924; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return false; - case 1: - return ptr->IsMentor(); - case 2: - goto IL_0054; - } - continue; - IL_0054: - num = -6609923; + return ptr->IsMentor(); } + return false; } public unsafe static bool IsBattleMentor() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? 688011153 : 688011154); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 688011155; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 1: - return ptr->IsBattleMentor(); - case 2: - return false; - } - continue; - IL_004b: - num = 688011154; + return ptr->IsBattleMentor(); } + return false; } public unsafe static bool IsTradeMentor() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-1068792182) : (-1068792183)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -1068792181; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 2: - return ptr->IsTradeMentor(); - case 1: - return false; - } - continue; - IL_0049: - num = -1068792183; + return ptr->IsTradeMentor(); } + return false; } public unsafe static bool IsNovice() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-1157353749) : (-1157353752)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -1157353751; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 1: - return ptr->IsNovice(); - case 2: - return false; - } - continue; - IL_0049: - num = -1157353752; + return ptr->IsNovice(); } + return false; } public unsafe static bool IsReturner() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-146346552) : (-146346551)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -146346552; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0049; - case 1: - return ptr->IsReturner(); - case 0: - return false; - } - continue; - IL_0049: - num = -146346551; + return ptr->IsReturner(); } + return false; } public unsafe static byte GetMentorVersion() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 1350105722 : 1350105721); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1350105723; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return ptr->MentorVersion; - case 2: - return 0; - case 0: - goto IL_0054; - } - continue; - IL_0054: - num = 1350105721; + return 0; } + return ptr->MentorVersion; } public unsafe static bool IsPlayerStateFlagSet(PlayerStateFlag flag) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-1522263479) : (-1522263478)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -1522263477; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return false; - case 1: - return ptr->IsPlayerStateFlagSet(flag); - case 0: - goto IL_0055; - } - continue; - IL_0055: - num = -1522263478; + return ptr->IsPlayerStateFlagSet(flag); } + return false; } public unsafe static byte GetBeastTribeRank(byte alliedSocietyId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 1418987817 : 1418987816); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1418987817; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0049; - case 0: - return ptr->GetBeastTribeRank(alliedSocietyId); - case 1: - return 0; - } - continue; - IL_0049: - num = 1418987816; + return 0; } + return ptr->GetBeastTribeRank(alliedSocietyId); } public unsafe static int GetCurrentPose(EmoteController.PoseType poseType) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? (-1004004491) : (-1004004490)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -1004004492; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 2: - return 0; - case 1: - return ptr->CurrentPose(poseType); - } - continue; - IL_004b: - num = -1004004490; + return 0; } + return ptr->CurrentPose(poseType); } public unsafe static byte GetGoldSaucerContentStatus() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 1519531706 : 1519531707); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1519531706; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_004b; - case 1: - return 0; - case 0: - return ptr->GoldSaucerContentStatus; - } - continue; - IL_004b: - num = 1519531707; + return 0; } + return ptr->GoldSaucerContentStatus; } public unsafe static uint GetActiveFestivalId(int index) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 217589694 : 217589693); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 217589695; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004e; - case 1: - return ptr->ActiveFestivalIds[index]; - case 2: - return 0u; - } - continue; - IL_004e: - num = 217589693; + return 0u; } + return ptr->ActiveFestivalIds[index]; } public unsafe static uint GetActiveFestivalPhase(int index) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? (-2009718353) : (-2009718356)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -2009718355; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return ptr->ActiveFestivalPhases[index]; - case 1: - return 0u; - case 0: - goto IL_0061; - } - continue; - IL_0061: - num = -2009718356; + return 0u; } + return ptr->ActiveFestivalPhases[index]; } public unsafe static bool IsMeister(uint classJobId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? 340405753 : 340405752); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 340405753; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return false; - case 1: - return ptr->IsMeisterFlag(classJobId); - case 2: - goto IL_0055; - } - continue; - IL_0055: - num = 340405752; + return ptr->IsMeisterFlag(classJobId); } + return false; } public unsafe static bool IsMeisterWithSoulStone(uint classJobId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? 1639624127 : 1639624124); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 1639624125; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 1: - return ptr->IsMeisterFlagAndHasSoulStoneEquipped(classJobId); - case 2: - return false; - } - continue; - IL_004b: - num = 1639624124; + return ptr->IsMeisterFlagAndHasSoulStoneEquipped(classJobId); } + return false; } public unsafe static bool IsMeisterMaxCount() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-1571337682) : (-1571337683)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -1571337681; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 2: - return ptr->IsMeisterFlagMaxCount(); - case 1: - return false; - } - continue; - IL_0049: - num = -1571337683; + return ptr->IsMeisterFlagMaxCount(); } + return false; } public unsafe static byte GetMeisterFlag() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? (-899158117) : (-899158118)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -899158117; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_004b; - case 1: - return 0; - case 0: - return ptr->MeisterFlag; - } - continue; - IL_004b: - num = -899158118; + return 0; } + return ptr->MeisterFlag; } public unsafe static byte GetDeliveryLevel() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 1942457918 : 1942457917); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1942457916; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 2: - return ptr->DeliveryLevel; - case 1: - return 0; - } - continue; - IL_004b: - num = 1942457917; + return 0; } + return ptr->DeliveryLevel; } public unsafe static int GetPenaltyTimestamp(int index) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 59901669 : 59901670); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 59901671; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return ptr->PenaltyTimestamps[index]; - case 1: - return 0; - case 0: - goto IL_0061; - } - continue; - IL_0061: - num = 59901670; + return 0; } + return ptr->PenaltyTimestamps[index]; } public static int GetDutyFinderPenaltyTimestamp() @@ -1016,1207 +408,481 @@ public static class PlayerStateHelper public unsafe static bool IsMountUnlocked(uint mountId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-85690625) : (-85690628)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -85690627; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return false; - case 1: - return ptr->IsMountUnlocked(mountId); - case 0: - goto IL_0055; - } - continue; - IL_0055: - num = -85690628; + return ptr->IsMountUnlocked(mountId); } + return false; } public unsafe static bool IsAnyMountUnlocked() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? 753037439 : 753037436); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 753037438; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 2: - return ptr->NumOwnedMounts > 0; - case 1: - return false; - } - continue; - IL_004b: - num = 753037436; + return ptr->NumOwnedMounts > 0; } + return false; } public unsafe static bool IsOrnamentUnlocked(uint ornamentId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? 1330167974 : 1330167973); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 1330167975; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return false; - case 2: - return ptr->IsOrnamentUnlocked(ornamentId); - case 0: - goto IL_0055; - } - continue; - IL_0055: - num = 1330167973; + return ptr->IsOrnamentUnlocked(ornamentId); } + return false; } public unsafe static bool IsGlassesUnlocked(ushort glassesId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? 2130615081 : 2130615082); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 2130615080; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 1: - return false; - case 2: - return ptr->IsGlassesUnlocked(glassesId); - } - continue; - IL_0049: - num = 2130615082; + return ptr->IsGlassesUnlocked(glassesId); } + return false; } public unsafe static bool IsOrchestrionRollUnlocked(uint rollId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? 1221964641 : 1221964642); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 1221964643; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return false; - case 1: - return ptr->IsOrchestrionRollUnlocked(rollId); - case 0: - goto IL_0055; - } - continue; - IL_0055: - num = 1221964642; + return ptr->IsOrchestrionRollUnlocked(rollId); } + return false; } public unsafe static bool IsFramersKitUnlocked(uint kitId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? 1337831057 : 1337831056); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 1337831057; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_004b; - case 0: - return false; - case 1: - return ptr->IsFramersKitUnlocked(kitId); - } - continue; - IL_004b: - num = 1337831056; + return ptr->IsFramersKitUnlocked(kitId); } + return false; } public unsafe static bool IsMcGuffinUnlocked(uint id) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? 1298879102 : 1298879103); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 1298879102; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return false; - case 1: - return ptr->IsMcGuffinUnlocked(id); - case 2: - goto IL_0053; - } - continue; - IL_0053: - num = 1298879103; + return ptr->IsMcGuffinUnlocked(id); } + return false; } public unsafe static bool IsDungeonCompleted(uint dungeonId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-993305962) : (-993305963)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -993305961; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return false; - case 2: - return GetBitSafe(ptr->CompletedDungeonsBitArray, dungeonId); - case 0: - goto IL_0058; - } - continue; - IL_0058: - num = -993305963; + return GetBitSafe(ptr->CompletedDungeonsBitArray, dungeonId); } + return false; } public unsafe static bool IsRaidCompleted(uint raidId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-926274817) : (-926274820)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -926274818; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 1: - return false; - case 2: - return GetBitSafe(ptr->CompletedRaidsBitArray, raidId); - } - continue; - IL_0049: - num = -926274820; + return GetBitSafe(ptr->CompletedRaidsBitArray, raidId); } + return false; } public unsafe static bool IsTrialCompleted(uint trialId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-1242533675) : (-1242533674)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -1242533676; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 2: - return GetBitSafe(ptr->CompletedTrialsBitArray, trialId); - case 1: - return false; - } - continue; - IL_004b: - num = -1242533674; + return GetBitSafe(ptr->CompletedTrialsBitArray, trialId); } + return false; } public unsafe static bool IsFrontlineCompleted(uint frontlineId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? 1536431418 : 1536431417); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 1536431416; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return false; - case 1: - return GetBitSafe(ptr->CompletedFrontlinesBitArray, frontlineId); - case 0: - goto IL_005a; - } - continue; - IL_005a: - num = 1536431417; + return GetBitSafe(ptr->CompletedFrontlinesBitArray, frontlineId); } + return false; } public unsafe static bool IsCrystallineConflictCompleted(uint id) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-1237265056) : (-1237265053)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -1237265055; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 1: - return false; - case 2: - return GetBitSafe(ptr->CompletedCrystallineConflictsBitArray, id); - } - continue; - IL_0049: - num = -1237265053; + return GetBitSafe(ptr->CompletedCrystallineConflictsBitArray, id); } + return false; } public unsafe static bool IsGuildOrderCompleted(uint orderId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-73722255) : (-73722256)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -73722255; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return false; - case 1: - return GetBitSafe(ptr->CompletedGuildOrdersBitArray, orderId); - case 2: - goto IL_0058; - } - continue; - IL_0058: - num = -73722256; + return GetBitSafe(ptr->CompletedGuildOrdersBitArray, orderId); } + return false; } public unsafe static bool IsMaskedCarnivaleCompleted(uint stageId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-820654768) : (-820654767)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -820654768; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0049; - case 0: - return false; - case 1: - return GetBitSafe(ptr->CompletedMaskedCarnivaleBitArray, stageId); - } - continue; - IL_0049: - num = -820654767; + return GetBitSafe(ptr->CompletedMaskedCarnivaleBitArray, stageId); } + return false; } public unsafe static bool IsMiscContentCompleted(uint contentId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? 825419022 : 825419021); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 825419020; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 2: - return false; - case 1: - return GetBitSafe(ptr->CompletedMiscContentBitArray, contentId); - } - continue; - IL_004b: - num = 825419021; + return GetBitSafe(ptr->CompletedMiscContentBitArray, contentId); } + return false; } public unsafe static bool IsBeginnerTrainingCompleted(uint trainingId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-1010016233) : (-1010016236)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -1010016234; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 1: - return false; - case 2: - return GetBitSafe(ptr->CompletedBeginnerTrainingBitArray, trainingId); - } - continue; - IL_0049: - num = -1010016236; + return GetBitSafe(ptr->CompletedBeginnerTrainingBitArray, trainingId); } + return false; } public unsafe static bool IsVVDNotebookContentCompleted(uint contentId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-1861355372) : (-1861355369)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -1861355370; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return false; - case 1: - return GetBitSafe(ptr->CompletedVVDNotebookContentsBitArray, contentId); - case 0: - goto IL_005a; - } - continue; - IL_005a: - num = -1861355369; + return GetBitSafe(ptr->CompletedVVDNotebookContentsBitArray, contentId); } + return false; } public unsafe static bool IsDungeonUnlocked(uint dungeonId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? 1637335958 : 1637335959); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 1637335958; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0049; - case 0: - return false; - case 1: - return GetBitSafe(ptr->UnlockedDungeonsBitArray, dungeonId); - } - continue; - IL_0049: - num = 1637335959; + return GetBitSafe(ptr->UnlockedDungeonsBitArray, dungeonId); } + return false; } public unsafe static bool IsRaidUnlocked(uint raidId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? 1897736670 : 1897736671); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 1897736670; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return false; - case 1: - return GetBitSafe(ptr->UnlockedRaidsBitArray, raidId); - case 2: - goto IL_005a; - } - continue; - IL_005a: - num = 1897736671; + return GetBitSafe(ptr->UnlockedRaidsBitArray, raidId); } + return false; } public unsafe static bool IsTrialUnlocked(uint trialId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-1440829942) : (-1440829943)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -1440829944; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 1: - return GetBitSafe(ptr->UnlockedTrialsBitArray, trialId); - case 2: - return false; - } - continue; - IL_0049: - num = -1440829943; + return GetBitSafe(ptr->UnlockedTrialsBitArray, trialId); } + return false; } public unsafe static bool IsFrontlineUnlocked(uint frontlineId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-1660154923) : (-1660154924)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -1660154923; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0049; - case 1: - return GetBitSafe(ptr->UnlockedFrontlinesBitArray, frontlineId); - case 0: - return false; - } - continue; - IL_0049: - num = -1660154924; + return GetBitSafe(ptr->UnlockedFrontlinesBitArray, frontlineId); } + return false; } public unsafe static bool IsCrystallineConflictUnlocked(uint id) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? 37169208 : 37169209); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 37169208; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return false; - case 1: - return GetBitSafe(ptr->UnlockedCrystallineConflictsBitArray, id); - case 2: - goto IL_0058; - } - continue; - IL_0058: - num = 37169209; + return GetBitSafe(ptr->UnlockedCrystallineConflictsBitArray, id); } + return false; } public unsafe static bool IsGuildOrderUnlocked(uint orderId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-1895125962) : (-1895125963)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -1895125961; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return false; - case 2: - return GetBitSafe(ptr->UnlockedGuildOrdersBitArray, orderId); - case 0: - goto IL_0058; - } - continue; - IL_0058: - num = -1895125963; + return GetBitSafe(ptr->UnlockedGuildOrdersBitArray, orderId); } + return false; } public unsafe static bool IsMiscContentUnlocked(uint contentId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? 121866217 : 121866218); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 121866216; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 1: - return false; - case 2: - return GetBitSafe(ptr->UnlockedMiscContentBitArray, contentId); - } - continue; - IL_004b: - num = 121866218; + return GetBitSafe(ptr->UnlockedMiscContentBitArray, contentId); } + return false; } public unsafe static bool IsSpecialContentUnlocked(uint contentId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-1206882405) : (-1206882406)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -1206882405; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return false; - case 1: - return GetBitSafe(ptr->UnlockedSpecialContentBitArray, contentId); - case 2: - goto IL_005a; - } - continue; - IL_005a: - num = -1206882406; + return GetBitSafe(ptr->UnlockedSpecialContentBitArray, contentId); } + return false; } public unsafe static bool IsFishCaught(uint fishId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? 1476471736 : 1476471739); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 1476471738; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 1: - return ptr->IsFishCaught(fishId); - case 2: - return false; - } - continue; - IL_004b: - num = 1476471739; + return ptr->IsFishCaught(fishId); } + return false; } public unsafe static bool IsSpearfishCaught(uint fishId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? 916540449 : 916540448); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 916540449; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0049; - case 0: - return false; - case 1: - return ptr->IsSpearfishCaught(fishId); - } - continue; - IL_0049: - num = 916540448; + return ptr->IsSpearfishCaught(fishId); } + return false; } public unsafe static bool IsFishingSpotUnlocked(uint spotId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-501535389) : (-501535390)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -501535389; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_004b; - case 0: - return false; - case 1: - return GetBitSafe(ptr->UnlockedFishingSpotsBitArray, spotId); - } - continue; - IL_004b: - num = -501535390; + return GetBitSafe(ptr->UnlockedFishingSpotsBitArray, spotId); } + return false; } public unsafe static bool IsSpearfishingNotebookUnlocked(uint notebookId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-2066723645) : (-2066723646)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -2066723645; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return false; - case 1: - return GetBitSafe(ptr->UnlockedSpearfishingNotebooksBitArray, notebookId); - case 2: - goto IL_0058; - } - continue; - IL_0058: - num = -2066723646; + return GetBitSafe(ptr->UnlockedSpearfishingNotebooksBitArray, notebookId); } + return false; } public unsafe static bool IsSecretRecipeBookUnlocked(uint bookId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-1515319093) : (-1515319094)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -1515319093; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return false; - case 1: - return ptr->IsSecretRecipeBookUnlocked(bookId); - case 2: - goto IL_0055; - } - continue; - IL_0055: - num = -1515319094; + return ptr->IsSecretRecipeBookUnlocked(bookId); } + return false; } public unsafe static bool IsFolkloreBookUnlocked(uint bookId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-549279574) : (-549279575)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -549279576; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 2: - return false; - case 1: - return ptr->IsFolkloreBookUnlocked(bookId); - } - continue; - IL_004b: - num = -549279575; + return ptr->IsFolkloreBookUnlocked(bookId); } + return false; } public unsafe static bool IsAdventureComplete(uint adventureId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? 811132530 : 811132529); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 811132531; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return false; - case 2: - return ptr->IsAdventureComplete(adventureId); - case 0: - goto IL_0055; - } - continue; - IL_0055: - num = 811132529; + return ptr->IsAdventureComplete(adventureId); } + return false; } public unsafe static bool IsBotanistFolkloreTomeUnlocked(uint tomeId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-467172317) : (-467172320)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -467172318; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return false; - case 2: - return GetBitSafe(ptr->UnlockedBotanistFolkloreTomesBitArray, tomeId); - case 0: - goto IL_0058; - } - continue; - IL_0058: - num = -467172320; + return GetBitSafe(ptr->UnlockedBotanistFolkloreTomesBitArray, tomeId); } + return false; } public unsafe static bool IsMinerFolkloreTomeUnlocked(uint tomeId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? 2107606707 : 2107606704); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 2107606705; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 1: - return GetBitSafe(ptr->UnlockedMinerFolkloreTomesBitArray, tomeId); - case 2: - return false; - } - continue; - IL_0049: - num = 2107606704; + return GetBitSafe(ptr->UnlockedMinerFolkloreTomesBitArray, tomeId); } + return false; } public unsafe static bool IsFishingFolkloreTomeUnlocked(uint tomeId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? 2052975858 : 2052975857); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 2052975856; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 2: - return false; - case 1: - return GetBitSafe(ptr->UnlockedFishingFolkloreTomesBitArray, tomeId); - } - continue; - IL_004b: - num = 2052975857; + return GetBitSafe(ptr->UnlockedFishingFolkloreTomesBitArray, tomeId); } + return false; } public unsafe static bool IsAetherCurrentUnlocked(uint aetherCurrentId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-2079078502) : (-2079078501)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -2079078502; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0049; - case 0: - return false; - case 1: - return ptr->IsAetherCurrentUnlocked(aetherCurrentId); - } - continue; - IL_0049: - num = -2079078501; + return ptr->IsAetherCurrentUnlocked(aetherCurrentId); } + return false; } public unsafe static bool IsAetherCurrentZoneComplete(uint compFlgSetId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-832592099) : (-832592098)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -832592097; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return false; - case 1: - return ptr->IsAetherCurrentZoneComplete(compFlgSetId); - case 0: - goto IL_0055; - } - continue; - IL_0055: - num = -832592098; + return ptr->IsAetherCurrentZoneComplete(compFlgSetId); } + return false; } public unsafe static bool IsWeeklyBingoExpired() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? 233473812 : 233473815); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 233473813; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return false; - case 2: - return ptr->IsWeeklyBingoExpired(); - case 0: - goto IL_0054; - } - continue; - IL_0054: - num = 233473815; + return ptr->IsWeeklyBingoExpired(); } + return false; } public unsafe static long GetWeeklyBingoExpireTimestamp() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? (-575063473) : (-575063474)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -575063473; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0049; - case 0: - return ptr->GetWeeklyBingoExpireUnixTimestamp(); - case 1: - return 0L; - } - continue; - IL_0049: - num = -575063474; + return 0L; } + return ptr->GetWeeklyBingoExpireUnixTimestamp(); } public unsafe static DateTime GetWeeklyBingoExpireDateTime() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 2135264578 : 2135264577); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 2135264576; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 2: - return ptr->WeeklyBingoExpireDateTime; - case 1: - return DateTime.MinValue; - } - continue; - IL_004b: - num = 2135264577; + return DateTime.MinValue; } + return ptr->WeeklyBingoExpireDateTime; } public unsafe static uint GetWeeklyBingoExpMultiplier() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 1700448851 : 1700448848); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1700448850; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 1: - return ptr->GetWeeklyBingoExpMultiplier(); - case 2: - return 0u; - } - continue; - IL_004b: - num = 1700448848; + return 0u; } + return ptr->GetWeeklyBingoExpMultiplier(); } public unsafe static PlayerState.WeeklyBingoTaskStatus GetWeeklyBingoTaskStatus(int index) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? (-1463129243) : (-1463129242)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -1463129241; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 2: - return ptr->GetWeeklyBingoTaskStatus(index); - case 1: - return PlayerState.WeeklyBingoTaskStatus.Open; - } - continue; - IL_004b: - num = -1463129242; + return PlayerState.WeeklyBingoTaskStatus.Open; } + return ptr->GetWeeklyBingoTaskStatus(index); } public unsafe static bool IsWeeklyBingoStickerPlaced(int index) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-747776692) : (-747776689)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -747776690; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return false; - case 1: - return ptr->IsWeeklyBingoStickerPlaced(index); - case 0: - goto IL_0053; - } - continue; - IL_0053: - num = -747776689; + return ptr->IsWeeklyBingoStickerPlaced(index); } + return false; } public unsafe static int GetWeeklyBingoNumPlacedStickers() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? (-1111468010) : (-1111468011)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -1111468012; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return ptr->WeeklyBingoNumPlacedStickers; - case 1: - return 0; - case 0: - goto IL_0054; - } - continue; - IL_0054: - num = -1111468011; + return 0; } + return ptr->WeeklyBingoNumPlacedStickers; } public unsafe static uint GetWeeklyBingoNumSecondChancePoints() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 584156333 : 584156334); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 584156335; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 1: - return 0u; - case 2: - return ptr->WeeklyBingoNumSecondChancePoints; - } - continue; - IL_0049: - num = 584156334; + return 0u; } + return ptr->WeeklyBingoNumSecondChancePoints; } public unsafe static bool HasWeeklyBingoJournal() { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? (-650781034) : (-650781035)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -650781033; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return false; - case 2: - return ptr->HasWeeklyBingoJournal; - case 0: - goto IL_0054; - } - continue; - IL_0054: - num = -650781035; + return ptr->HasWeeklyBingoJournal; } + return false; } public unsafe static bool IsRouletteComplete(byte rouletteId) { InstanceContent* ptr = InstanceContent.Instance(); - int num = ((ptr == null) ? 1446148648 : 1446148651); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 1446148650; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 1: - return ptr->IsRouletteComplete(rouletteId); - case 2: - return false; - } - continue; - IL_004b: - num = 1446148651; + return ptr->IsRouletteComplete(rouletteId); } + return false; } public unsafe static uint GetContentValue(uint key) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr != null) ? 1170238729 : 1170238730); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1170238731; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return ptr->GetContentValue(key); - case 1: - return 0u; - case 0: - goto IL_0055; - } - continue; - IL_0055: - num = 1170238730; + return 0u; } + return ptr->GetContentValue(key); } private static bool GetBitSafe(BitArray bitArray, uint index) diff --git a/LLib/LLib.GameData/PublicEvent.cs b/LLib/LLib.GameData/PublicEvent.cs index cd20558..44a697b 100644 --- a/LLib/LLib.GameData/PublicEvent.cs +++ b/LLib/LLib.GameData/PublicEvent.cs @@ -1,175 +1,5 @@ -using System; -using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; namespace LLib.GameData; -public readonly record struct PublicEvent(EPublicEventType Type, uint Id, string Name, Vector3 Position, float Radius, byte Level, byte MaxLevel, float Progress, float Duration, float TimeRemaining, bool IsActive, bool IsPending, bool HasBonus, byte FateRule, uint MotivationNpcDataId, ushort ChainFateId) -{ - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206D_206E_202C_202E_206E_202B_200B_206C_200C_206A_206D_202D_202D_200D_200C_206F_200B_200C_206D_206A_200B_202D_200F_206B_206A_206E_202A_202C_206E_206B_206E_202C_200E_206E_202A_206D_202B_200D_202B_200F_202E(); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(stringBuilder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-1204097607)); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(stringBuilder, 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(579144622)); - int num = ((!PrintMembers(stringBuilder)) ? 1670321463 : 1670321462); - while (true) - { - int num2 = num; - int num3 = 1670321463; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 1670321462; - break; - case 1: - _202D_206C_206C_200D_202B_202A_202C_202A_200F_206D_206D_202C_206F_202D_206A_202B_200B_200C_202D_202C_200E_206B_200D_206F_206F_206C_206E_200C_200D_200E_206A_200B_202C_200C_202A_206D_202B_200C_202E_200E_202E(stringBuilder, ' '); - num = 1670321463; - break; - case 0: - _202D_206C_206C_200D_202B_202A_202C_202A_200F_206D_206D_202C_206F_202D_206A_202B_200B_200C_202D_202C_200E_206B_200D_206F_206F_206C_206E_200C_200D_200E_206A_200B_202C_200C_202A_206D_202B_200C_202E_200E_202E(stringBuilder, '}'); - return _202C_202D_206B_206A_206C_206B_206C_206B_206C_200E_206E_200E_202B_206B_200B_200D_202C_202D_206E_206F_206F_200B_206A_200B_206D_202E_200D_200C_202E_200E_200B_200E_200B_202E_202D_200F_206B_200B_202E_202E_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, 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(1703345461)); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, Type.ToString()); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1294221790)); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, Id.ToString()); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-596371270)); - _202D_206C_202B_202E_202D_202D_202C_206E_202D_202C_202D_202E_202E_206F_202A_200C_206A_206B_206A_200E_206D_202A_202A_202E_202B_200F_202D_200D_202D_200D_200B_206F_200F_206D_206A_200D_202B_202C_206B_202D_202E(builder, (object)Name); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_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(-1841021490)); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, Position.ToString()); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1574188482)); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, Radius.ToString()); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, 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(-1538801490)); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, Level.ToString()); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1645586278)); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, MaxLevel.ToString()); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-1015149807)); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, Progress.ToString()); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, 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(1063554664)); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, Duration.ToString()); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, 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(-1641383873)); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, TimeRemaining.ToString()); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-889184607)); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, IsActive.ToString()); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_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(-1150615736)); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, IsPending.ToString()); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_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(-460512089)); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, HasBonus.ToString()); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-713893414)); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, FateRule.ToString()); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, 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(-1765562739)); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, MotivationNpcDataId.ToString()); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1235406246)); - _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(builder, ChainFateId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(PublicEvent other) - { - int num = ((!EqualityComparer.Default.Equals(Type, other.Type)) ? (-285443445) : (-285443439)); - while (true) - { - int num2 = num; - int num3 = -285443429; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = ((!EqualityComparer.Default.Equals(Position, other.Position)) ? (-285443445) : (-285443431)); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(HasBonus, other.HasBonus)) ? (-285443445) : (-285443435)); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(Level, other.Level)) ? (-285443445) : (-285443437)); - break; - case 5: - num = -285443439; - break; - case 2: - num = ((!EqualityComparer.Default.Equals(Radius, other.Radius)) ? (-285443445) : (-285443425)); - break; - case 14: - num = ((!EqualityComparer.Default.Equals(FateRule, other.FateRule)) ? (-285443445) : (-285443434)); - break; - case 15: - return EqualityComparer.Default.Equals(ChainFateId, other.ChainFateId); - case 10: - num = ((!EqualityComparer.Default.Equals(Id, other.Id)) ? (-285443445) : (-285443429)); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(Progress, other.Progress)) ? (-285443445) : (-285443433)); - break; - case 16: - return false; - case 8: - num = ((!EqualityComparer.Default.Equals(MaxLevel, other.MaxLevel)) ? (-285443445) : (-285443430)); - break; - case 7: - num = ((!EqualityComparer.Default.Equals(TimeRemaining, other.TimeRemaining)) ? (-285443445) : (-285443438)); - break; - case 9: - num = ((!EqualityComparer.Default.Equals(IsActive, other.IsActive)) ? (-285443445) : (-285443440)); - break; - case 13: - num = ((!EqualityComparer.Default.Equals(MotivationNpcDataId, other.MotivationNpcDataId)) ? (-285443445) : (-285443436)); - break; - case 12: - num = ((!EqualityComparer.Default.Equals(Duration, other.Duration)) ? (-285443445) : (-285443428)); - break; - case 11: - num = ((!EqualityComparer.Default.Equals(IsPending, other.IsPending)) ? (-285443445) : (-285443427)); - break; - case 0: - num = ((!EqualityComparer.Default.Equals(Name, other.Name)) ? (-285443445) : (-285443432)); - break; - } - } - } - - bool IEquatable.Equals(PublicEvent other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _206D_206E_202C_202E_206E_202B_200B_206C_200C_206A_206D_202D_202D_200D_200C_206F_200B_200C_206D_206A_200B_202D_200F_206B_206A_206E_202A_202C_206E_206B_206E_202C_200E_206E_202A_206D_202B_200D_202B_200F_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202E_200D_202E_202A_206C_202E_200C_200B_202B_200F_200D_200F_202C_202B_200C_200F_202A_200D_200C_202C_202A_202D_206D_206F_202D_206F_202C_202E_206B_202D_202A_206F_200E_200E_202E_202E_202B_206E_202C_202A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202D_206C_206C_200D_202B_202A_202C_202A_200F_206D_206D_202C_206F_202D_206A_202B_200B_200C_202D_202C_200E_206B_200D_206F_206F_206C_206E_200C_200D_200E_206A_200B_202C_200C_202A_206D_202B_200C_202E_200E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202C_202D_206B_206A_206C_206B_206C_206B_206C_200E_206E_200E_202B_206B_200B_200D_202C_202D_206E_206F_206F_200B_206A_200B_206D_202E_200D_200C_202E_200E_200B_200E_200B_202E_202D_200F_206B_200B_202E_202E_202E(object P_0) - { - return P_0.ToString(); - } - - static StringBuilder _202D_206C_202B_202E_202D_202D_202C_206E_202D_202C_202D_202E_202E_206F_202A_200C_206A_206B_206A_200E_206D_202A_202A_202E_202B_200F_202D_200D_202D_200D_200B_206F_200F_206D_206A_200D_202B_202C_206B_202D_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } -} +public readonly record struct PublicEvent(EPublicEventType Type, uint Id, string Name, Vector3 Position, float Radius, byte Level, byte MaxLevel, float Progress, float Duration, float TimeRemaining, bool IsActive, bool IsPending, bool HasBonus, byte FateRule, uint MotivationNpcDataId, ushort ChainFateId); diff --git a/LLib/LLib.GameData/PublicEventHelper.cs b/LLib/LLib.GameData/PublicEventHelper.cs index 42ff063..2977ba3 100644 --- a/LLib/LLib.GameData/PublicEventHelper.cs +++ b/LLib/LLib.GameData/PublicEventHelper.cs @@ -12,186 +12,69 @@ public sealed class PublicEventHelper public unsafe IReadOnlyList GetActiveFates() { FateManager* ptr = FateManager.Instance(); - int num = ((ptr != null) ? (-2066813597) : (-2066813594)); - List list = default(List); - int num5 = default(int); - FateContext* value = default(FateContext*); - bool flag = default(bool); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -2066813595; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - list = new List(); - num5 = 0; - num = -2066813588; - break; - case 5: - value = ptr->Fates[num5].Value; - num = ((value == null) ? (-2066813587) : (-2066813595)); - break; - case 7: - num = -2066813594; - break; - case 10: - num = ((!flag) ? (-2066813587) : (-2066813586)); - break; - case 0: + return Array.Empty(); + } + List list = new List(); + for (int i = 0; i < ptr->Fates.Count; i++) + { + FateContext* value = ptr->Fates[i].Value; + if (value != null) { FateState state = value->State; - num = ((state - 3 > FateState.Unk1) ? (-2066813599) : (-2066813596)); - break; - } - case 8: - { - int num6 = num5; - num3 = 1; - num4 = num6; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - num5 = num7 + (num8 + num8); - num = -2066813588; - break; - } - case 1: - flag = true; - num = -2066813585; - break; - case 2: - return list; - case 4: - flag = false; - num = -2066813585; - break; - case 11: - list.Add(ToPublicEvent(value)); - num = -2066813587; - break; - case 3: - return Array.Empty(); - case 9: - num = ((num5 < ptr->Fates.Count) ? (-2066813600) : (-2066813593)); - break; + if (state - 3 <= FateState.Unk1) + { + list.Add(ToPublicEvent(value)); + } } } + return list; } public unsafe IReadOnlyList GetActiveDynamicEvents() { DynamicEventContainer* instance = DynamicEventContainer.GetInstance(); - int num = ((instance != null) ? (-104590452) : (-104590451)); - int num7 = default(int); - Span events = default(Span); - ref DynamicEvent reference = default(ref DynamicEvent); - List list = default(List); - while (true) + if (instance == null) { - int num2 = num; - int num3 = -104590454; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return Array.Empty(); + } + List list = new List(); + Span events = instance->Events; + for (int i = 0; i < events.Length; i++) + { + ref DynamicEvent reference = ref events[i]; + if (reference.State != DynamicEventState.Inactive) { - case 3: - num = ((num7 < events.Length) ? (-104590450) : (-104590456)); - break; - case 7: - return Array.Empty(); - case 5: - num = -104590451; - break; - case 4: - reference = ref events[num7]; - num = ((reference.State == DynamicEventState.Inactive) ? (-104590454) : (-104590453)); - break; - case 2: - return list; - case 1: list.Add(ToPublicEvent(ref reference)); - num = -104590454; - break; - case 0: - { - int num8 = num7; - num3 = 1; - num4 = num8; - num7 = (num4 | num3) + (num4 & num3); - num = -104590455; - break; - } - case 6: - list = new List(); - events = instance->Events; - num7 = 0; - num = -104590455; - break; } } + return list; } public unsafe IReadOnlyList GetActiveMechaEvents() { WKSManager* ptr = WKSManager.Instance(); - int num = ((ptr != null) ? 1500071953 : 1500071952); - ref WKSMechaEvent reference = default(ref WKSMechaEvent); - Span events = default(Span); - int num7 = default(int); - List list = default(List); - WKSMechaEventModule* mechaEventModule = default(WKSMechaEventModule*); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1500071954; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return Array.Empty(); + } + WKSMechaEventModule* mechaEventModule = ptr->MechaEventModule; + if (mechaEventModule == null) + { + return Array.Empty(); + } + List list = new List(); + Span events = mechaEventModule->Events; + for (int i = 0; i < events.Length; i++) + { + ref WKSMechaEvent reference = ref events[i]; + if ((reference.Flags & WKSMechaEventFlag.IsEventActive) != 0) { - case 8: - reference = ref events[num7]; - num = (((reference.Flags & WKSMechaEventFlag.IsEventActive) == 0) ? 1500071957 : 1500071955); - break; - case 5: - return list; - case 2: - return Array.Empty(); - case 6: - return Array.Empty(); - case 7: - { - int num8 = num7; - num3 = 1; - num4 = num8; - num7 = (num4 | num3) + (num4 & num3); - num = 1500071958; - break; - } - case 0: - num = 1500071952; - break; - case 4: - num = ((num7 < events.Length) ? 1500071962 : 1500071959); - break; - case 1: list.Add(ToPublicEvent(ref reference)); - num = 1500071957; - break; - case 3: - mechaEventModule = ptr->MechaEventModule; - num = ((mechaEventModule != null) ? 1500071963 : 1500071956); - break; - case 9: - list = new List(); - events = mechaEventModule->Events; - num7 = 0; - num = 1500071958; - break; } } + return list; } public IReadOnlyList GetAllActiveEvents() @@ -205,382 +88,159 @@ public sealed class PublicEventHelper public PublicEvent? GetEventById(EPublicEventType type, uint id) { - int num; - PublicEvent? result = default(PublicEvent?); - switch (type) + return type switch { - default: - num = 1438969819; - goto IL_001d; - case EPublicEventType.Fate: - result = GetFateById((ushort)id); - num = 1438969820; - goto IL_001d; - case EPublicEventType.DynamicEvent: - goto IL_006b; - case EPublicEventType.MechaEvent: - goto IL_00aa; - IL_001d: - while (true) - { - int num2 = num; - int num3 = 1438969816; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - goto end_IL_001d; - case 4: - return result; - case 1: - goto IL_006b; - case 5: - num = 1438969819; - break; - case 0: - result = null; - num = 1438969820; - break; - case 3: - num = 1438969816; - break; - case 2: - goto IL_00aa; - } - continue; - end_IL_001d: - break; - } - goto case EPublicEventType.Fate; - IL_00aa: - result = GetMechaEventById(id); - num = 1438969820; - goto IL_001d; - IL_006b: - result = GetDynamicEventById((ushort)id); - num = 1438969820; - goto IL_001d; - } + EPublicEventType.Fate => GetFateById((ushort)id), + EPublicEventType.DynamicEvent => GetDynamicEventById((ushort)id), + EPublicEventType.MechaEvent => GetMechaEventById(id), + _ => null, + }; } public unsafe PublicEvent? GetCurrentPlayerEvent() { FateManager* ptr = FateManager.Instance(); - int num = ((ptr == null) ? 2074475056 : 2074475058); - while (true) + if (ptr == null || ptr->CurrentFate == null) { - int num2 = num; - int num3 = 2074475059; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 2074475058; - break; - case 1: - num = ((ptr->CurrentFate != null) ? 2074475057 : 2074475056); - break; - case 3: - return null; - case 2: - return ToPublicEvent(ptr->CurrentFate); - } + return null; } + return ToPublicEvent(ptr->CurrentFate); } public unsafe PublicEvent? GetCurrentDynamicEvent() { DynamicEventContainer* instance = DynamicEventContainer.GetInstance(); - int num = ((instance != null) ? 285703707 : 285703710); - DynamicEvent* currentEvent = default(DynamicEvent*); - while (true) + if (instance == null) { - int num2 = num; - int num3 = 285703707; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - currentEvent = instance->GetCurrentEvent(); - num = ((currentEvent == null) ? 285703704 : 285703711); - break; - case 4: - num = ((currentEvent->State != DynamicEventState.Inactive) ? 285703706 : 285703704); - break; - case 2: - num = 285703710; - break; - case 3: - return null; - case 5: - return null; - case 1: - return ToPublicEvent(ref *currentEvent); - } + return null; } + DynamicEvent* currentEvent = instance->GetCurrentEvent(); + if (currentEvent == null || currentEvent->State == DynamicEventState.Inactive) + { + return null; + } + return ToPublicEvent(ref *currentEvent); } public unsafe PublicEvent? GetCurrentMechaEvent() { WKSManager* ptr = WKSManager.Instance(); - int num = ((ptr != null) ? 599849311 : 599849304); - WKSMechaEvent* currentEvent = default(WKSMechaEvent*); - WKSMechaEventModule* mechaEventModule = default(WKSMechaEventModule*); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 599849305; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return ToPublicEvent(ref *currentEvent); - case 6: - mechaEventModule = ptr->MechaEventModule; - num = ((mechaEventModule != null) ? 599849308 : 599849307); - break; - case 7: - num = (((currentEvent->Flags & WKSMechaEventFlag.IsEventActive) != 0) ? 599849306 : 599849309); - break; - case 0: - num = 599849304; - break; - case 2: - return null; - case 4: - return null; - case 1: - return null; - case 5: - currentEvent = mechaEventModule->CurrentEvent; - num = ((currentEvent == null) ? 599849309 : 599849310); - break; - } + return null; } + WKSMechaEventModule* mechaEventModule = ptr->MechaEventModule; + if (mechaEventModule == null) + { + return null; + } + WKSMechaEvent* currentEvent = mechaEventModule->CurrentEvent; + if (currentEvent == null || (currentEvent->Flags & WKSMechaEventFlag.IsEventActive) == 0) + { + return null; + } + return ToPublicEvent(ref *currentEvent); } public unsafe bool IsFateActive(ushort fateId) { - int num = ((fateId != 0) ? 1838657614 : 1838657615); - FateContext* fateById = default(FateContext*); - FateManager* ptr = default(FateManager*); - while (true) + if (fateId == 0) { - int num2 = num; - int num3 = 1838657612; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return fateById->State == FateState.Running; - case 6: - return false; - case 3: - return false; - case 4: - fateById = ptr->GetFateById(fateId); - num = ((fateById != null) ? 1838657613 : 1838657610); - break; - case 2: - ptr = FateManager.Instance(); - num = ((ptr != null) ? 1838657608 : 1838657609); - break; - case 5: - return false; - case 0: - num = 1838657615; - break; - } + return false; } + FateManager* ptr = FateManager.Instance(); + if (ptr == null) + { + return false; + } + FateContext* fateById = ptr->GetFateById(fateId); + if (fateById == null) + { + return false; + } + return fateById->State == FateState.Running; } private unsafe PublicEvent? GetFateById(ushort fateId) { - int num = ((fateId != 0) ? (-1398838121) : (-1398838127)); - FateContext* fateById = default(FateContext*); - FateManager* ptr = default(FateManager*); - while (true) + if (fateId == 0) { - int num2 = num; - int num3 = -1398838126; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - fateById = ptr->GetFateById(fateId); - num = ((fateById != null) ? (-1398838124) : (-1398838122)); - break; - case 4: - return null; - case 3: - return null; - case 2: - return null; - case 6: - return ToPublicEvent(fateById); - case 5: - ptr = FateManager.Instance(); - num = ((ptr != null) ? (-1398838125) : (-1398838128)); - break; - case 0: - num = -1398838127; - break; - } + return null; } + FateManager* ptr = FateManager.Instance(); + if (ptr == null) + { + return null; + } + FateContext* fateById = ptr->GetFateById(fateId); + if (fateById == null) + { + return null; + } + return ToPublicEvent(fateById); } private unsafe PublicEvent? GetDynamicEventById(ushort dynamicEventId) { - int num = ((dynamicEventId != 0) ? 190075853 : 190075849); - Span events = default(Span); - DynamicEventContainer* instance = default(DynamicEventContainer*); - int num5 = default(int); - ref DynamicEvent reference = default(ref DynamicEvent); - while (true) + if (dynamicEventId == 0) { - int num2 = num; - int num3 = 190075855; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return null; + } + DynamicEventContainer* instance = DynamicEventContainer.GetInstance(); + if (instance == null) + { + return null; + } + Span events = instance->Events; + for (int i = 0; i < events.Length; i++) + { + ref DynamicEvent reference = ref events[i]; + if (reference.DynamicEventId == dynamicEventId && reference.State != DynamicEventState.Inactive) { - case 1: - events = instance->Events; - num5 = 0; - num = 190075847; - break; - case 2: - instance = DynamicEventContainer.GetInstance(); - num = ((instance != null) ? 190075854 : 190075852); - break; - case 10: - reference = ref events[num5]; - num = ((reference.DynamicEventId != dynamicEventId) ? 190075851 : 190075848); - break; - case 0: - num = 190075849; - break; - case 4: - { - int num6 = num5; - num3 = 1; - num4 = num6; - num5 = (num4 | num3) + (num4 & num3); - num = 190075847; - break; - } - case 7: - num = ((reference.State == DynamicEventState.Inactive) ? 190075851 : 190075846); - break; - case 5: - return null; - case 9: return ToPublicEvent(ref reference); - case 3: - return null; - case 6: - return null; - case 8: - num = ((num5 < events.Length) ? 190075845 : 190075850); - break; } } + return null; } private unsafe PublicEvent? GetMechaEventById(uint mechaEventDataRowId) { - int num = ((mechaEventDataRowId != 0) ? 1662115952 : 1662115954); - int num5 = default(int); - Span events = default(Span); - WKSMechaEventModule* mechaEventModule = default(WKSMechaEventModule*); - WKSManager* ptr = default(WKSManager*); - ref WKSMechaEvent reference = default(ref WKSMechaEvent); - while (true) + if (mechaEventDataRowId == 0) { - int num2 = num; - int num3 = 1662115957; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return null; + } + WKSManager* ptr = WKSManager.Instance(); + if (ptr == null) + { + return null; + } + WKSMechaEventModule* mechaEventModule = ptr->MechaEventModule; + if (mechaEventModule == null) + { + return null; + } + Span events = mechaEventModule->Events; + for (int i = 0; i < events.Length; i++) + { + ref WKSMechaEvent reference = ref events[i]; + if (reference.WKSMechaEventDataRowId == mechaEventDataRowId && (reference.Flags & WKSMechaEventFlag.IsEventActive) != 0) { - case 12: - { - int num6 = num5; - num3 = 1; - num4 = num6; - num5 = (num4 | num3) + (num4 & num3); - num = 1662115955; - break; - } - case 10: - events = mechaEventModule->Events; - num5 = 0; - num = 1662115955; - break; - case 5: - ptr = WKSManager.Instance(); - num = ((ptr != null) ? 1662115956 : 1662115964); - break; - case 0: return ToPublicEvent(ref reference); - case 9: - return null; - case 8: - return null; - case 2: - reference = ref events[num5]; - num = ((reference.WKSMechaEventDataRowId != mechaEventDataRowId) ? 1662115961 : 1662115953); - break; - case 6: - num = ((num5 < events.Length) ? 1662115959 : 1662115965); - break; - case 11: - return null; - case 3: - num = 1662115954; - break; - case 1: - mechaEventModule = ptr->MechaEventModule; - num = ((mechaEventModule != null) ? 1662115967 : 1662115966); - break; - case 7: - return null; - case 4: - num = (((reference.Flags & WKSMechaEventFlag.IsEventActive) == 0) ? 1662115961 : 1662115957); - break; } } + return null; } private unsafe static PublicEvent ToPublicEvent(FateContext* fate) { float num = fate->Duration; float timeRemaining = 0f; - int num2 = ((!(num > 0f)) ? (-597185620) : (-597185618)); - while (true) + if (num > 0f && fate->StartTimeEpoch > 0) { - int num3 = num2; - int num4 = -597185619; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 1: - return new PublicEvent(EPublicEventType.Fate, fate->FateId, fate->Name.ToString(), fate->Location, fate->Radius, fate->Level, fate->MaxLevel, (int)fate->Progress, num, timeRemaining, fate->State == FateState.Running, fate->State == FateState.Preparing, fate->IsBonus, fate->Rule, fate->MotivationNpc, fate->FATEChain); - case 2: - { - float num6 = DateTimeOffset.UtcNow.ToUnixTimeSeconds() - fate->StartTimeEpoch; - timeRemaining = _206C_202D_202E_202E_200C_206F_206B_202C_206F_202E_206E_202A_206C_202E_206B_200D_202A_202A_202A_200C_200E_202C_206C_202B_200F_202C_206F_206E_206B_202E_206D_202D_202C_206F_200E_202D_206B_200E_206B_206B_202E(0f, num - num6); - num2 = -597185620; - break; - } - case 3: - num2 = ((fate->StartTimeEpoch <= 0) ? (-597185620) : (-597185617)); - break; - case 0: - num2 = -597185618; - break; - } + float num2 = DateTimeOffset.UtcNow.ToUnixTimeSeconds() - fate->StartTimeEpoch; + timeRemaining = Math.Max(0f, num - num2); } + return new PublicEvent(EPublicEventType.Fate, fate->FateId, fate->Name.ToString(), fate->Location, fate->Radius, fate->Level, fate->MaxLevel, (int)fate->Progress, num, timeRemaining, fate->State == FateState.Running, fate->State == FateState.Preparing, fate->IsBonus, fate->Rule, fate->MotivationNpc, fate->FATEChain); } private static PublicEvent ToPublicEvent(ref DynamicEvent dynamicEvent) @@ -596,136 +256,30 @@ public sealed class PublicEventHelper float timeRemaining = num2; bool isActive = dynamicEvent.State == DynamicEventState.Battle; DynamicEventState state = dynamicEvent.State; - int num3 = ((state - 1 > DynamicEventState.Register) ? 1959810557 : 1959810558); - bool isPending = default(bool); - while (true) - { - int num4 = num3; - int num5 = 1959810556; - int num6 = num4; - switch ((num6 | num5) - (num6 & num5)) - { - case 3: - num3 = 1959810558; - break; - case 1: - isPending = false; - num3 = 1959810556; - break; - case 2: - isPending = true; - num3 = 1959810556; - break; - case 0: - return new PublicEvent(EPublicEventType.DynamicEvent, dynamicEventId, name, position, radius, 0, 0, progress, duration, timeRemaining, isActive, isPending, HasBonus: false, 0, 0u, 0); - } - } + bool isPending = state - 1 <= DynamicEventState.Register; + return new PublicEvent(EPublicEventType.DynamicEvent, dynamicEventId, name, position, radius, 0, 0, progress, duration, timeRemaining, isActive, isPending, HasBonus: false, 0, 0u, 0); } private unsafe static PublicEvent ToPublicEvent(ref WKSMechaEvent mechaEvent) { long num = DateTimeOffset.UtcNow.ToUnixTimeSeconds(); - int num2 = ((mechaEvent.EventEndTimestamp > mechaEvent.EventStartTimestamp) ? 783714395 : 783714386); - string name = default(string); - WKSMechaEventMapMarker* value = default(WKSMechaEventMapMarker*); - Vector3 position = default(Vector3); - float radius = default(float); - float progress = default(float); - float duration = default(float); - float timeRemaining = default(float); - while (true) + float duration = ((mechaEvent.EventEndTimestamp > mechaEvent.EventStartTimestamp) ? ((float)(mechaEvent.EventEndTimestamp - mechaEvent.EventStartTimestamp)) : 0f); + float timeRemaining = ((mechaEvent.EventEndTimestamp > num) ? ((float)(mechaEvent.EventEndTimestamp - num)) : 0f); + Vector3 position = Vector3.Zero; + float radius = 0f; + string name = string.Empty; + if (mechaEvent.MapMarkerPtrs.Count > 0) { - int num3 = num2; - int num4 = 783714385; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - int num10; - float num14; - float num8; - float num9; - bool isPending; - switch (num6 - (num7 + num7)) + WKSMechaEventMapMarker* value = mechaEvent.MapMarkerPtrs[0].Value; + if (value != null) { - default: - continue; - case 11: - num10 = 0; - goto IL_008f; - case 5: - num14 = 0f; - goto IL_0149; - case 1: - num2 = (((mechaEvent.Flags & WKSMechaEventFlag.IsEventActive) == 0) ? 783714394 : 783714397); - continue; - case 2: - num8 = 0f; - break; - case 0: - num2 = 783714386; - continue; - case 3: - num9 = 0f; - goto IL_024c; - case 8: - { - long num11 = mechaEvent.EventEndTimestamp; - long num12 = num; - long num13 = num11; - num14 = ~(~num13 + num12); - goto IL_0149; - } - case 12: - num10 = ((mechaEvent.EventProgress == 0) ? 1 : 0); - goto IL_008f; - case 9: - num2 = ((mechaEvent.EventProgressMax > 0) ? 783714390 : 783714387); - continue; - case 4: name = value->Name.ToString(); position = value->MapMarkerData.Position; radius = value->MapMarkerData.Radius; - num2 = 783714392; - continue; - case 6: - value = mechaEvent.MapMarkerPtrs[0].Value; - num2 = ((value == null) ? 783714392 : 783714389); - continue; - case 10: - { - int eventEndTimestamp = mechaEvent.EventEndTimestamp; - num4 = mechaEvent.EventStartTimestamp; - num5 = eventEndTimestamp; - num9 = ~(~num5 + num4); - goto IL_024c; } - case 7: - { - num8 = (float)mechaEvent.EventProgress / (float)mechaEvent.EventProgressMax * 100f; - break; - } - IL_008f: - isPending = (byte)num10 != 0; - return new PublicEvent(EPublicEventType.MechaEvent, mechaEvent.WKSMechaEventDataRowId, name, position, radius, 0, 0, progress, duration, timeRemaining, (mechaEvent.Flags & WKSMechaEventFlag.IsEventActive) != 0, isPending, HasBonus: false, 0, 0u, 0); - IL_024c: - duration = num9; - num2 = ((mechaEvent.EventEndTimestamp > num) ? 783714393 : 783714388); - continue; - IL_0149: - timeRemaining = num14; - position = Vector3.Zero; - radius = 0f; - name = string.Empty; - num2 = ((mechaEvent.MapMarkerPtrs.Count <= 0) ? 783714392 : 783714391); - continue; - } - progress = num8; - num2 = (((mechaEvent.Flags & WKSMechaEventFlag.PilotRegistrationOpen) == 0) ? 783714394 : 783714384); } - } - - static float _206C_202D_202E_202E_200C_206F_206B_202C_206F_202E_206E_202A_206C_202E_206B_200D_202A_202A_202A_200C_200E_202C_206C_202B_200F_202C_206F_206E_206B_202E_206D_202D_202C_206F_200E_202D_206B_200E_206B_206B_202E(float P_0, float P_1) - { - return Math.Max(P_0, P_1); + float progress = ((mechaEvent.EventProgressMax > 0) ? ((float)mechaEvent.EventProgress / (float)mechaEvent.EventProgressMax * 100f) : 0f); + bool isPending = (mechaEvent.Flags & WKSMechaEventFlag.PilotRegistrationOpen) != 0 && (mechaEvent.Flags & WKSMechaEventFlag.IsEventActive) != 0 && mechaEvent.EventProgress == 0; + return new PublicEvent(EPublicEventType.MechaEvent, mechaEvent.WKSMechaEventDataRowId, name, position, radius, 0, 0, progress, duration, timeRemaining, (mechaEvent.Flags & WKSMechaEventFlag.IsEventActive) != 0, isPending, HasBonus: false, 0, 0u, 0); } } diff --git a/LLib/LLib.GameData/SatisfactionSupplyHelper.cs b/LLib/LLib.GameData/SatisfactionSupplyHelper.cs index 20a2385..3c448de 100644 --- a/LLib/LLib.GameData/SatisfactionSupplyHelper.cs +++ b/LLib/LLib.GameData/SatisfactionSupplyHelper.cs @@ -1,8 +1,6 @@ using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; -using Lumina.Excel; using Lumina.Excel.Sheets; namespace LLib.GameData; @@ -19,276 +17,80 @@ public sealed class SatisfactionSupplyHelper public uint[] CalculateRequestedItems(uint supplyIndex, uint seed) { List list = new List(); - int num; - int num3; - int num4; - using (SubrowExcelSheet.FlatEnumerator flatEnumerator = _dataManager.GetSubrowExcelSheet().Flatten().GetEnumerator()) + foreach (SatisfactionSupply item in _dataManager.GetSubrowExcelSheet().Flatten()) { - num = -1981977636; - SatisfactionSupply current = default(SatisfactionSupply); - while (true) + if (item.RowId == supplyIndex) { - int num2 = num; - num3 = -1981977636; - num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + list.Add(item); + } + } + uint num = (63874652 * supplyIndex) ^ (437113358 * seed); + uint num2 = (uint)(-547857059 * (int)supplyIndex) ^ (811033966 * seed); + uint num3 = (uint)(-311827390 * (int)supplyIndex) ^ (570616410 * seed); + uint num4 = (uint)((-1359202047 * (int)supplyIndex) ^ (-418962442 * (int)seed)); + uint[] array = new uint[3] { 4294967295u, 4294967295u, 4294967295u }; + uint num5 = num; + for (int i = 1; i < 4; i++) + { + int num6 = 0; + for (int j = 0; j < list.Count; j++) + { + SatisfactionSupply satisfactionSupply = list[j]; + if (satisfactionSupply.Slot == i) { - case 2: - list.Add(current); - num = -1981977636; - break; - case 1: - current = flatEnumerator.Current; - num = ((current.RowId != supplyIndex) ? (-1981977636) : (-1981977634)); - break; - case 4: - num = -1981977636; - break; - case 0: - num = (flatEnumerator.MoveNext() ? (-1981977635) : (-1981977633)); - break; - case 3: - goto end_IL_0038; + num6 += satisfactionSupply.ProbabilityPercent; } + } + uint num7 = num5 ^ (num5 << 11); + num = num3; + num3 = num4; + num5 = num2; + num4 ^= num7 ^ ((num7 ^ (num4 >> 11)) >> 8); + num2 = num; + if (num6 <= 0) + { continue; - end_IL_0038: - break; - } - } - uint num7 = 63874652 * supplyIndex; - num3 = (int)(437113358 * seed); - num4 = (int)num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - uint num10 = (uint)(num8 - (num9 + num9)); - int num11 = -547857059 * (int)supplyIndex; - num3 = (int)(811033966 * seed); - num4 = num11; - uint num12 = (uint)((num4 | num3) - (num4 & num3)); - int num13 = -311827390 * (int)supplyIndex; - num3 = (int)(570616410 * seed); - num4 = num13; - int num14 = num4 + num3; - int num15 = num4 & num3; - uint num16 = (uint)(num14 - (num15 + num15)); - int num17 = -1359202047 * (int)supplyIndex; - num3 = -418962442 * (int)seed; - num4 = num17; - int num18 = num4 + num3; - int num19 = num4 & num3; - uint num20 = (uint)(num18 - (num19 + num19)); - uint[] array = new uint[3]; - _206C_202C_202B_202D_202E_200F_200B_202E_202C_202D_202C_206D_206A_200D_206C_200E_200F_206A_202A_200C_200E_200D_200D_206A_206F_202C_202B_206F_200B_200F_206C_206D_202C_206C_200B_206B_206C_202B_200F_200C_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - uint[] array2 = array; - uint num21 = num10; - int num22 = 1; - num = 1311110073; - int num33 = default(int); - SatisfactionSupply satisfactionSupply2 = default(SatisfactionSupply); - int num46 = default(int); - int num34 = default(int); - long num43 = default(long); - SatisfactionSupply satisfactionSupply = default(SatisfactionSupply); - while (true) - { - int num23 = num; - num3 = 1311110070; - num4 = num23; - int num24 = num4 + num3; - int num25 = num4 & num3; - switch (num24 - (num25 + num25)) - { - case 7: - { - uint num26 = num21; - num3 = (int)(num21 << 11); - num4 = (int)num26; - int num27 = num4 + num3; - int num28 = num4 & num3; - uint num29 = (uint)(num27 - (num28 + num28)); - num10 = num16; - num16 = num20; - num21 = num12; - uint num30 = num20; - num3 = (int)(num20 >> 11); - num4 = (int)num29; - num3 = (num4 | num3) - (num4 & num3) >>> 8; - num4 = (int)num29; - int num31 = num4 + num3; - int num32 = num4 & num3; - num3 = num31 - (num32 + num32); - num4 = (int)num30; - num20 = (uint)((num4 | num3) - (num4 & num3)); - num12 = num10; - num = ((num33 <= 0) ? 1311110072 : 1311110071); - break; - } - case 12: - satisfactionSupply2 = list[num46]; - num = ((satisfactionSupply2.Slot != num22) ? 1311110064 : 1311110078); - break; - case 10: - num = ((num34 < list.Count) ? 1311110070 : 1311110072); - break; - case 4: - num = ((num43 >= satisfactionSupply.ProbabilityPercent) ? 1311110075 : 1311110077); - break; - case 2: - num = ((num46 < list.Count) ? 1311110074 : 1311110065); - break; - case 0: - satisfactionSupply = list[num34]; - num = ((satisfactionSupply.Slot != num22) ? 1311110067 : 1311110066); - break; - case 6: - { - int num47 = num46; - num3 = 1; - num4 = num47; - int num48 = num4 ^ num3; - int num49 = num4 & num3; - num46 = num48 + (num49 + num49); - num = 1311110068; - break; - } - case 8: - num33 += satisfactionSupply2.ProbabilityPercent; - num = 1311110064; - break; - case 16: - num = 1311110073; - break; - case 9: - num33 = 0; - num46 = 0; - num = 1311110068; - break; - case 1: - num43 = num20 % num33; - num34 = 0; - num = 1311110076; - break; - case 3: - return array2; - case 13: - { - long num42 = num43; - long num44 = satisfactionSupply.ProbabilityPercent; - long num45 = num42; - num43 = ~(~num45 + num44); - num = 1311110067; - break; - } - case 5: - { - int num39 = num34; - num3 = 1; - num4 = num39; - int num40 = num4 ^ num3; - int num41 = num4 & num3; - num34 = num40 + (num41 + num41); - num = 1311110076; - break; - } - case 11: - { - int num38 = num22; - num3 = 1; - num4 = num38; - array2[~(~num4 + num3)] = (uint)num34; - num = 1311110072; - break; - } - case 14: - { - int num35 = num22; - num3 = 1; - num4 = num35; - int num36 = num4 ^ num3; - int num37 = num4 & num3; - num22 = num36 + (num37 + num37); - num = 1311110073; - break; - } - case 15: - num = ((num22 < 4) ? 1311110079 : 1311110069); - break; + } + long num8 = num4 % num6; + for (int k = 0; k < list.Count; k++) + { + SatisfactionSupply satisfactionSupply2 = list[k]; + if (satisfactionSupply2.Slot == i) + { + if (num8 < satisfactionSupply2.ProbabilityPercent) + { + array[i - 1] = (uint)k; + break; + } + num8 -= satisfactionSupply2.ProbabilityPercent; + } } } + return array; } public int CalculateBonusGuaranteeIndex(int timestamp) { int count = _dataManager.GetExcelSheet().Count; - int num = ((count != 0) ? 473391985 : 473391984); - while (true) + if (count == 0) { - int num2 = num; - int num3 = 473391985; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_005f; - case 1: - return -1; - case 0: - num3 = 1657008000; - num4 = timestamp; - return ~(~num4 + num3) / 604800 % count; - } - continue; - IL_005f: - num = 473391984; + return -1; } + return (timestamp - 1657008000) / 604800 % count; } public static int CalculateTurnInsToNextRank(ushort currentSatisfaction, ushort maxSatisfaction, int maxTurnIns) { - int num = ((currentSatisfaction < maxSatisfaction) ? 423147797 : 423147794); - int num5 = default(int); - int num6 = default(int); - while (true) + if (currentSatisfaction >= maxSatisfaction) { - int num2 = num; - int num3 = 423147798; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 423147794; - break; - case 3: - num3 = currentSatisfaction; - num4 = maxSatisfaction; - num5 = ~(~num4 + num3); - num6 = maxSatisfaction / maxTurnIns; - num = ((num6 != 0) ? 423147799 : 423147796); - break; - case 4: - return maxTurnIns; - case 2: - return maxTurnIns; - case 1: - return _200D_202D_206D_206C_206D_202A_202A_200D_202E_200B_200B_200C_206E_202E_200D_200B_206B_206C_206F_202C_200B_200C_202D_200B_206C_200F_200B_202E_200C_206F_206F_206D_200D_200E_202A_206E_202C_206F_202D_206E_202E((int)_202E_200D_206F_200C_200B_206B_202E_206E_206D_206D_200E_206B_202D_206D_206D_200E_206B_200E_206A_202B_206F_206A_202D_202B_202C_202D_206E_202B_200D_206F_200F_206D_200D_200B_200F_200C_200F_202B_206B_200D_202E((double)num5 / (double)num6), maxTurnIns); - } + return maxTurnIns; } - } - - static void _206C_202C_202B_202D_202E_200F_200B_202E_202C_202D_202C_206D_206A_200D_206C_200E_200F_206A_202A_200C_200E_200D_200D_206A_206F_202C_202B_206F_200B_200F_206C_206D_202C_206C_200B_206B_206C_202B_200F_200C_202E(Array P_0, RuntimeFieldHandle P_1) - { - RuntimeHelpers.InitializeArray(P_0, P_1); - } - - static double _202E_200D_206F_200C_200B_206B_202E_206E_206D_206D_200E_206B_202D_206D_206D_200E_206B_200E_206A_202B_206F_206A_202D_202B_202C_202D_206E_202B_200D_206F_200F_206D_200D_200B_200F_200C_200F_202B_206B_200D_202E(double P_0) - { - return Math.Ceiling(P_0); - } - - static int _200D_202D_206D_206C_206D_202A_202A_200D_202E_200B_200B_200C_206E_202E_200D_200B_206B_206C_206F_202C_200B_200C_202D_200B_206C_200F_200B_202E_200C_206F_206F_206D_200D_200E_202A_206E_202C_206F_202D_206E_202E(int P_0, int P_1) - { - return Math.Min(P_0, P_1); + int num = maxSatisfaction - currentSatisfaction; + int num2 = maxSatisfaction / maxTurnIns; + if (num2 == 0) + { + return maxTurnIns; + } + return Math.Min((int)Math.Ceiling((double)num / (double)num2), maxTurnIns); } } diff --git a/LLib/LLib.GameData/TeleportHelper.cs b/LLib/LLib.GameData/TeleportHelper.cs index 1e99f9b..971e43c 100644 --- a/LLib/LLib.GameData/TeleportHelper.cs +++ b/LLib/LLib.GameData/TeleportHelper.cs @@ -1,4 +1,3 @@ -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Client.Game.UI; @@ -27,172 +26,75 @@ public sealed class TeleportHelper public unsafe bool IsAetheryteUnlocked(uint aetheryteId) { UIState* ptr = UIState.Instance(); - int num = ((ptr == null) ? 2130643281 : 2130643280); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 2130643281; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return false; - case 1: - return ptr->IsAetheryteUnlocked(aetheryteId); - case 2: - goto IL_0055; - } - continue; - IL_0055: - num = 2130643280; + return ptr->IsAetheryteUnlocked(aetheryteId); } + return false; } public unsafe bool CanTeleport() { ActionManager* ptr = ActionManager.Instance(); - int num = ((ptr == null) ? 978178038 : 978178037); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 978178036; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 1: - return ptr->GetActionStatus(ActionType.Action, 5u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) == 0; - case 2: - return false; - } - continue; - IL_004b: - num = 978178037; + return ptr->GetActionStatus(ActionType.Action, 5u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) == 0; } + return false; } public unsafe bool IsTeleportUnlocked() { UIState* ptr = UIState.Instance(); - int num = ((ptr == null) ? 249650035 : 249650034); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 249650035; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return false; - case 1: - return ptr->IsUnlockLinkUnlocked(_teleportUnlockLink); - case 2: - goto IL_0058; - } - continue; - IL_0058: - num = 249650034; + return ptr->IsUnlockLinkUnlocked(_teleportUnlockLink); } + return false; } public unsafe bool IsFreeAetheryte(uint aetheryteId) { PlayerState* ptr = PlayerState.Instance(); - int num = ((ptr == null) ? 1806053406 : 1806053402); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 1806053406; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (ptr->FreeAetheryteId != aetheryteId && ptr->FreeAetherytePSPlus != aetheryteId) { - case 2: return ptr->FreeAetheryteNSO == aetheryteId; - case 4: - num = ((ptr->FreeAetheryteId == aetheryteId) ? 1806053405 : 1806053407); - break; - case 5: - num = 1806053402; - break; - case 3: - return true; - case 1: - num = ((ptr->FreeAetherytePSPlus == aetheryteId) ? 1806053405 : 1806053404); - break; - case 0: - return false; } + return true; } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe bool Teleport(uint aetheryteId, byte subIndex = 0) { - int num = (IsTeleportUnlocked() ? 1160662395 : 1160662390); - Telepo* ptr = default(Telepo*); - while (true) + if (!IsTeleportUnlocked()) { - int num2 = num; - int num3 = 1160662396; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - ptr = Telepo.Instance(); - num = ((ptr != null) ? 1160662397 : 1160662396); - break; - case 5: - _206C_202B_206D_200E_200D_200C_206E_206A_200F_206D_206A_206A_206E_206D_206E_206D_206A_202A_200F_206B_200D_200F_206E_200C_202A_202D_202C_202C_202D_206E_200D_206D_206A_200B_206F_200D_206C_202E_206D_202E((ILogger)_logger, 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(-979996593), new object[1] { aetheryteId }); - return false; - case 9: - num = (IsAetheryteUnlocked(aetheryteId) ? 1160662388 : 1160662394); - break; - case 7: - num = (CanTeleport() ? 1160662389 : 1160662392); - break; - case 0: - return false; - case 8: - num = ((!_gameState.IsLoadingScreenVisible()) ? 1160662398 : 1160662393); - break; - case 3: - num = 1160662390; - break; - case 1: - _206A_200F_200F_206F_200B_206F_206D_206B_200C_202E_200F_202B_206E_200B_200E_200E_202A_200C_200D_202B_202A_206F_200D_206A_200B_200E_202D_206B_206A_202A_206D_206B_206F_200D_202E_206B_200B_206B_200F_206B_202E((ILogger)_logger, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(2083148089), new object[1] { aetheryteId }); - return ptr->Teleport(aetheryteId, subIndex); - case 6: - _202C_206E_200D_200E_206D_200D_202B_200F_200C_202B_206A_206B_206D_202C_202B_202B_202C_200F_200B_206A_200D_200E_206A_200B_206E_202E_206B_206C_202C_200C_202E_206B_200D_206F_200D_206A_206A_202A_206B_206D_202E((ILogger)_logger, 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(-1264034910), new object[1] { aetheryteId }); - return false; - case 4: - _206C_202B_206D_200E_200D_200C_206E_206A_200F_206D_206A_206A_206E_206D_206E_206D_206A_202A_200F_206B_200D_200F_206E_200C_202A_202D_202C_202C_202D_206E_200D_206D_206A_200B_206F_200D_206C_202E_206D_202E((ILogger)_logger, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1137941263), new object[1] { aetheryteId }); - return false; - case 10: - _202C_206E_200D_200E_206D_200D_202B_200F_200C_202B_206A_206B_206D_202C_202B_202B_202C_200F_200B_206A_200D_200E_206A_200B_206E_202E_206B_206C_202C_200C_202E_206B_200D_206F_200D_206A_206A_202A_206B_206D_202E((ILogger)_logger, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-637254207), new object[1] { aetheryteId }); - return false; - } + _logger.LogWarning("Teleport action is not unlocked; skipping teleport to {Id}", aetheryteId); + return false; } - } - - static void _202C_206E_200D_200E_206D_200D_202B_200F_200C_202B_206A_206B_206D_202C_202B_202B_202C_200F_200B_206A_200D_200E_206A_200B_206E_202E_206B_206C_202C_200C_202E_206B_200D_206F_200D_206A_206A_202A_206B_206D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static void _206C_202B_206D_200E_200D_200C_206E_206A_200F_206D_206A_206A_206E_206D_206E_206D_206A_202A_200F_206B_200D_200F_206E_200C_202A_202D_202C_202C_202D_206E_200D_206D_206A_200B_206F_200D_206C_202E_206D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static void _206A_200F_200F_206F_200B_206F_206D_206B_200C_202E_200F_202B_206E_200B_200E_200E_202A_200C_200D_202B_202A_206F_200D_206A_200B_200E_202D_206B_206A_202A_206D_206B_206F_200D_202E_206B_200B_206B_200F_206B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); + if (!CanTeleport()) + { + _logger.LogDebug("Teleport to {Id} blocked: action on cooldown", aetheryteId); + return false; + } + if (!IsAetheryteUnlocked(aetheryteId)) + { + _logger.LogWarning("Aetheryte {Id} is not unlocked; skipping teleport", aetheryteId); + return false; + } + if (_gameState.IsLoadingScreenVisible()) + { + _logger.LogDebug("Skipping teleport to {Id}: loading screen visible", aetheryteId); + return false; + } + Telepo* ptr = Telepo.Instance(); + if (ptr == null) + { + return false; + } + _logger.LogInformation("Teleporting to aetheryte {Id}", aetheryteId); + return ptr->Teleport(aetheryteId, subIndex); } } diff --git a/LLib/LLib.GameData/WeatherHelper.cs b/LLib/LLib.GameData/WeatherHelper.cs index 253d62c..683e465 100644 --- a/LLib/LLib.GameData/WeatherHelper.cs +++ b/LLib/LLib.GameData/WeatherHelper.cs @@ -40,118 +40,53 @@ public sealed class WeatherHelper public Weather? GetWeatherAtTime(uint territoryId, long unixSeconds) { TerritoryType? rowOrDefault = _dataManager.GetExcelSheet().GetRowOrDefault(territoryId); - int num = (rowOrDefault.HasValue ? 1395957685 : 1395957681); - while (true) + if (!rowOrDefault.HasValue) { - int num2 = num; - int num3 = 1395957685; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - { - WeatherRate value = rowOrDefault.Value.WeatherRate.Value; - uint target = CalculateTarget(unixSeconds); - return ResolveWeather(value, target); - } - case 0: - num = (rowOrDefault.Value.WeatherRate.IsValid ? 1395957684 : 1395957687); - break; - case 4: - return null; - case 3: - num = 1395957681; - break; - case 2: - return null; - } + return null; } + if (!rowOrDefault.Value.WeatherRate.IsValid) + { + return null; + } + WeatherRate value = rowOrDefault.Value.WeatherRate.Value; + uint target = CalculateTarget(unixSeconds); + return ResolveWeather(value, target); } internal static uint CalculateTarget(long unixSeconds) { long num = unixSeconds / 175; - long num2 = 8L; - long num3 = num; - long num4 = num3 ^ num2; - long num5 = num3 & num2; - uint num6 = (uint)((num4 + (num5 + num5) - num % 8) % 24); - int num7 = (int)(unixSeconds / 4200) * 100; - int num8 = (int)num6; - int num9 = num7; - int num10 = num9 ^ num8; - int num11 = num9 & num8; - uint num12 = (uint)(num10 + (num11 + num11)); - uint num13 = num12 << 11; - num8 = (int)num12; - num9 = (int)num13; - int num14 = num9 + num8; - int num15 = num9 & num8; - uint num16 = (uint)(num14 - (num15 + num15)); - uint num17 = num16 >> 8; - num8 = (int)num16; - num9 = (int)num17; - return (uint)((num9 | num8) - (num9 & num8)) % 100u; + uint num2 = (uint)((num + 8 - num % 8) % 24); + uint num3 = (uint)((int)(unixSeconds / 4200) * 100) + num2; + uint num4 = (num3 << 11) ^ num3; + return ((num4 >> 8) ^ num4) % 100; } private static Weather? ResolveWeather(WeatherRate weatherRate, uint target) { Weather? result = null; int num = 0; - int num2 = 0; - int num3 = -1371049026; - RowRef rowRef = default(RowRef); - while (true) + for (int i = 0; i < weatherRate.Rate.Count; i++) { - int num4 = num3; - int num5 = -1371049029; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) + if (weatherRate.Rate[i] <= 0) { - case 0: - return rowRef.Value; - case 4: - num3 = (rowRef.IsValid ? (-1371049029) : (-1371049027)); - break; - case 2: - result = rowRef.Value; - num3 = -1371049030; - break; - case 6: - return null; - case 7: - rowRef = weatherRate.Weather[num2]; - num3 = ((!rowRef.IsValid) ? (-1371049030) : (-1371049031)); - break; - case 9: - num3 = ((weatherRate.Rate[num2] <= 0) ? (-1371049039) : (-1371049028)); - break; - case 8: - num3 = -1371049026; - break; - case 1: - num += weatherRate.Rate[num2]; - num3 = ((target >= num) ? (-1371049039) : (-1371049025)); - break; - case 10: - { - int num9 = num2; - num5 = 1; - num6 = num9; - num2 = (num6 | num5) + (num6 & num5); - num3 = -1371049026; - break; + continue; } - case 3: - return result; - case 5: - num3 = ((num2 < weatherRate.Rate.Count) ? (-1371049038) : (-1371049032)); - break; + RowRef rowRef = weatherRate.Weather[i]; + if (rowRef.IsValid) + { + result = rowRef.Value; + } + num += weatherRate.Rate[i]; + if (target < num) + { + if (!rowRef.IsValid) + { + return null; + } + return rowRef.Value; } } + return result; } } diff --git a/LLib/LLib.GameUI/AddonCallback.cs b/LLib/LLib.GameUI/AddonCallback.cs index 04ef1f2..7479e1f 100644 --- a/LLib/LLib.GameUI/AddonCallback.cs +++ b/LLib/LLib.GameUI/AddonCallback.cs @@ -6,183 +6,57 @@ public static class AddonCallback { public unsafe static void Fire(AtkUnitBase* addon, params int[] args) { - int num = ((addon != null) ? 1413141629 : 1413141631); - int num5 = default(int); - AtkValue* ptr = default(AtkValue*); - while (true) + if (addon != null) { - int num2 = num; - int num3 = 1413141624; - int num4 = num2; - int num9; - switch ((num4 | num3) - (num4 & num3)) + AtkValue* ptr = stackalloc AtkValue[(args.Length == 0) ? 1 : args.Length]; + for (int i = 0; i < args.Length; i++) { - case 3: - num = 1413141631; - break; - case 2: - num = ((num5 < args.Length) ? 1413141625 : 1413141630); - break; - case 4: - num9 = args.Length; - goto IL_0099; - case 7: - return; - case 0: - num9 = 1; - goto IL_0099; - case 5: - num = ((args.Length == 0) ? 1413141624 : 1413141628); - break; - case 1: - { - ptr[num5].Type = AtkValueType.Int; - ptr[num5].Int = args[num5]; - int num6 = num5; - num3 = 1; - num4 = num6; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - num5 = num7 + (num8 + num8); - num = 1413141626; - break; - } - case 6: - { - addon->FireCallback((uint)args.Length, ptr); - return; - } - IL_0099: - ptr = stackalloc AtkValue[num9]; - num5 = 0; - num = 1413141626; - break; + ptr[i].Type = AtkValueType.Int; + ptr[i].Int = args[i]; } + addon->FireCallback((uint)args.Length, ptr); } } public unsafe static void FireWithUpdate(AtkUnitBase* addon, params int[] args) { - int num = ((addon != null) ? 914584294 : 914584289); - AtkValue* ptr = default(AtkValue*); - int num8 = default(int); - while (true) + if (addon != null) { - int num2 = num; - int num3 = 914584290; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num7; - switch (num5 - (num6 + num6)) + AtkValue* ptr = stackalloc AtkValue[(args.Length == 0) ? 1 : args.Length]; + for (int i = 0; i < args.Length; i++) { - case 4: - num = ((args.Length == 0) ? 914584293 : 914584291); - break; - case 3: - return; - case 7: - num7 = 1; - goto IL_007b; - case 5: - num = 914584289; - break; - case 0: - { - ptr[num8].Type = AtkValueType.Int; - ptr[num8].Int = args[num8]; - int num9 = num8; - num3 = 1; - num4 = num9; - int num10 = num4 ^ num3; - int num11 = num4 & num3; - num8 = num10 + (num11 + num11); - num = 914584288; - break; - } - case 2: - num = ((num8 < args.Length) ? 914584290 : 914584292); - break; - case 1: - num7 = args.Length; - goto IL_007b; - case 6: - { - addon->FireCallback((uint)args.Length, ptr, close: true); - return; - } - IL_007b: - ptr = stackalloc AtkValue[num7]; - num8 = 0; - num = 914584288; - break; + ptr[i].Type = AtkValueType.Int; + ptr[i].Int = args[i]; } + addon->FireCallback((uint)args.Length, ptr, close: true); } } public unsafe static void ClickYes(AtkUnitBase* addon) { - int num = ((addon != null) ? (-2035549555) : (-2035549554)); - while (true) + if (addon != null) { - int num2 = num; - int num3 = -2035549553; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0043; - case 1: - return; - case 2: - addon->FireCallbackInt(0); - return; - } - continue; - IL_0043: - num = -2035549554; + addon->FireCallbackInt(0); } } public unsafe static bool ClickButton(AtkUnitBase* addon, AtkComponentButton* button) { - int num = ((addon == null) ? (-1621168599) : (-1621168597)); - AtkComponentNode* ownerNode = default(AtkComponentNode*); - AtkEvent* ptr = default(AtkEvent*); - while (true) + if (addon == null || button == null || !button->IsEnabled) { - int num2 = num; - int num3 = -1621168595; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 7: - ownerNode = button->AtkComponentBase.OwnerNode; - num = ((ownerNode != null) ? (-1621168603) : (-1621168595)); - break; - case 1: - addon->ReceiveEvent(ptr->State.EventType, (int)ptr->Param, ptr, null); - return true; - case 2: - num = (button->IsEnabled ? (-1621168598) : (-1621168599)); - break; - case 5: - return false; - case 4: - return false; - case 8: - ptr = ownerNode->AtkResNode.AtkEventManager.Event; - num = ((ptr != null) ? (-1621168596) : (-1621168600)); - break; - case 3: - num = -1621168597; - break; - case 0: - return false; - case 6: - num = ((button == null) ? (-1621168599) : (-1621168593)); - break; - } + return false; } + AtkComponentNode* ownerNode = button->AtkComponentBase.OwnerNode; + if (ownerNode == null) + { + return false; + } + AtkEvent* ptr = ownerNode->AtkResNode.AtkEventManager.Event; + if (ptr == null) + { + return false; + } + addon->ReceiveEvent(ptr->State.EventType, (int)ptr->Param, ptr, null); + return true; } } diff --git a/LLib/LLib.GameUI/AgentHelper.cs b/LLib/LLib.GameUI/AgentHelper.cs index ab5ee8c..53bf486 100644 --- a/LLib/LLib.GameUI/AgentHelper.cs +++ b/LLib/LLib.GameUI/AgentHelper.cs @@ -7,61 +7,16 @@ public static class AgentHelper { public unsafe static void SendEvent(AgentInterface* agent, ulong eventId, params int[] args) { - int num = ((agent != null) ? (-130884679) : (-130884676)); - int num8 = default(int); - AtkValue* ptr = default(AtkValue*); - while (true) + if (agent != null) { - int num2 = num; - int num3 = -130884678; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num7; - switch (num5 - (num6 + num6)) + AtkValue* ptr = stackalloc AtkValue[(args.Length == 0) ? 1 : args.Length]; + for (int i = 0; i < args.Length; i++) { - case 0: - num = -130884676; - break; - case 3: - num = ((args.Length == 0) ? (-130884674) : (-130884675)); - break; - case 7: - num7 = args.Length; - goto IL_00fd; - case 5: - num = ((num8 < args.Length) ? (-130884677) : (-130884680)); - break; - case 1: - { - ptr[num8].Type = AtkValueType.Int; - ptr[num8].Int = args[num8]; - int num9 = num8; - num3 = 1; - num4 = num9; - int num10 = num4 ^ num3; - int num11 = num4 & num3; - num8 = num10 + (num11 + num11); - num = -130884673; - break; - } - case 4: - num7 = 1; - goto IL_00fd; - case 2: - { - AtkValue* returnValue = stackalloc AtkValue[1]; - agent->ReceiveEvent(returnValue, (args.Length == 0) ? null : ptr, (uint)args.Length, eventId); - return; - } - case 6: - return; - IL_00fd: - ptr = stackalloc AtkValue[num7]; - num8 = 0; - num = -130884673; - break; + ptr[i].Type = AtkValueType.Int; + ptr[i].Int = args[i]; } + AtkValue* returnValue = stackalloc AtkValue[1]; + agent->ReceiveEvent(returnValue, (args.Length == 0) ? null : ptr, (uint)args.Length, eventId); } } } diff --git a/LLib/LLib.GameUI/LAddon.cs b/LLib/LLib.GameUI/LAddon.cs index 6044930..93918e5 100644 --- a/LLib/LLib.GameUI/LAddon.cs +++ b/LLib/LLib.GameUI/LAddon.cs @@ -1,5 +1,4 @@ using System; -using System.Runtime.CompilerServices; using Dalamud.Game.NativeWrapper; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Component.GUI; @@ -13,170 +12,52 @@ public static class LAddon public unsafe static AtkUnitBase* GetAddonById(uint id) { AtkUnitList* ptr = &AtkStage.Instance()->RaptureAtkUnitManager->AtkUnitManager.DepthLayerOneList; - int num = 0; - int num2 = 2129774169; - AtkUnitBase* value = default(AtkUnitBase*); - AtkUnitList* ptr2 = default(AtkUnitList*); - int num10 = default(int); - int num7 = default(int); - while (true) + for (int i = 0; i < 18; i++) { - int num3 = num2; - int num4 = 2129774174; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + AtkUnitList* ptr2 = ptr + i; + int num = Math.Min(ptr2->Count, ptr2->Entries.Length); + for (int j = 0; j < num; j++) { - case 9: - num2 = 2129774169; - break; - case 5: - { - int num11 = num; - num4 = 1; - num5 = num11; - num = (num5 | num4) + (num5 & num4); - num2 = 2129774169; - break; - } - case 8: - num2 = ((value->Id != id) ? 2129774174 : 2129774175); - break; - case 7: - num2 = ((num < 18) ? 2129774170 : 2129774172); - break; - case 1: - return value; - case 4: - ptr2 = ptr + num; - num10 = _200F_202C_206F_202D_200F_202D_206D_200E_200D_206E_200B_200B_202A_202B_200F_202A_200C_200B_206C_206F_200B_202A_200E_202C_202E_206A_202D_206D_200F_200E_202C_206A_206A_206F_202D_206B_200B_200C_206C_202A_202E((int)ptr2->Count, ptr2->Entries.Length); - num7 = 0; - num2 = 2129774168; - break; - case 3: - value = ptr2->Entries[num7].Value; - num2 = ((value == null) ? 2129774174 : 2129774166); - break; - case 6: - num2 = ((num7 < num10) ? 2129774173 : 2129774171); - break; - case 0: - { - int num6 = num7; - num4 = 1; - num5 = num6; - int num8 = num5 ^ num4; - int num9 = num5 & num4; - num7 = num8 + (num9 + num9); - num2 = 2129774168; - break; - } - case 2: - return null; + AtkUnitBase* value = ptr2->Entries[j].Value; + if (value != null && value->Id == id) + { + return value; + } } } + return null; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryGetAddonByName(this IGameGui gameGui, string addonName, out T* addonPtr) where T : unmanaged { - _206F_202D_200B_200D_206C_206D_200D_202D_202B_200C_206D_206C_206E_200D_200F_206E_200B_202E_200F_206F_200E_200F_206A_202B_202C_202B_206F_206A_206C_206F_200E_202E_200F_200E_202C_202D_200F_206F_200C_206D_202E((object)gameGui, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1115223157)); - _206D_200C_206B_206E_200E_202E_202B_206D_206F_202B_200D_200D_206A_202D_202E_202B_202D_206E_206F_206E_206A_202E_202C_202A_206E_200B_206B_206F_200E_202E_202A_200F_202E_206A_206E_206A_206D_206F_206B_206F_202E(addonName, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-709864046)); - AtkUnitBasePtr atkUnitBasePtr = _200F_202D_202D_200E_200F_200C_200E_202D_202E_200B_202A_206B_202A_206A_206A_206F_206D_202A_206D_206C_200E_202D_202C_206A_200D_202E_202D_206E_200C_206A_206B_200F_206C_200E_202D_202C_200B_202D_200E_200F_202E(gameGui, addonName, 1); - int num = (atkUnitBasePtr.IsNull ? (-1471855993) : (-1471855994)); - while (true) + ArgumentNullException.ThrowIfNull(gameGui, "gameGui"); + ArgumentException.ThrowIfNullOrEmpty(addonName, "addonName"); + AtkUnitBasePtr addonByName = gameGui.GetAddonByName(addonName); + if (!addonByName.IsNull) { - int num2 = num; - int num3 = -1471855993; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0072; - case 0: - addonPtr = null; - return false; - case 1: - addonPtr = (T*)atkUnitBasePtr.Address; - return true; - } - continue; - IL_0072: - num = -1471855994; + addonPtr = (T*)addonByName.Address; + return true; } + addonPtr = null; + return false; } public unsafe static bool IsAddonReady(AtkUnitBase* addon) { - int num = ((addon == null) ? 1974833566 : 1974833564); - while (true) + if (addon != null && addon->IsVisible) { - int num2 = num; - int num3 = 1974833565; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return addon->UldManager.LoadedState == AtkLoadState.Loaded; - case 1: - num = ((!addon->IsVisible) ? 1974833566 : 1974833565); - break; - case 3: - return false; - case 2: - num = 1974833564; - break; - } + return addon->UldManager.LoadedState == AtkLoadState.Loaded; } + return false; } public unsafe static bool TryGetReadyAddon(this IGameGui gameGui, string addonName, out T* addonPtr) where T : unmanaged { - int num = ((!gameGui.TryGetAddonByName(addonName, out addonPtr)) ? 1276632889 : 1276632891); - while (true) + if (gameGui.TryGetAddonByName(addonName, out addonPtr) && IsAddonReady((AtkUnitBase*)addonPtr)) { - int num2 = num; - int num3 = 1276632890; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return true; - case 1: - num = ((!IsAddonReady((AtkUnitBase*)addonPtr)) ? 1276632889 : 1276632888); - break; - case 3: - addonPtr = null; - return false; - case 0: - num = 1276632891; - break; - } + return true; } - } - - static int _200F_202C_206F_202D_200F_202D_206D_200E_200D_206E_200B_200B_202A_202B_200F_202A_200C_200B_206C_206F_200B_202A_200E_202C_202E_206A_202D_206D_200F_200E_202C_206A_206A_206F_202D_206B_200B_200C_206C_202A_202E(int P_0, int P_1) - { - return Math.Min(P_0, P_1); - } - - static void _206F_202D_200B_200D_206C_206D_200D_202D_202B_200C_206D_206C_206E_200D_200F_206E_200B_202E_200F_206F_200E_200F_206A_202B_202C_202B_206F_206A_206C_206F_200E_202E_200F_200E_202C_202D_200F_206F_200C_206D_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static void _206D_200C_206B_206E_200E_202E_202B_206D_206F_202B_200D_200D_206A_202D_202E_202B_202D_206E_206F_206E_206A_202E_202C_202A_206E_200B_206B_206F_200E_202E_202A_200F_202E_206A_206E_206A_206D_206F_206B_206F_202E(string P_0, string P_1) - { - ArgumentException.ThrowIfNullOrEmpty(P_0, P_1); - } - - static AtkUnitBasePtr _200F_202D_202D_200E_200F_200C_200E_202D_202E_200B_202A_206B_202A_206A_206A_206F_206D_202A_206D_206C_200E_202D_202C_206A_200D_202E_202D_206E_200C_206A_206B_200F_206C_200E_202D_202C_200B_202D_200E_200F_202E(IGameGui P_0, string P_1, int P_2) - { - return P_0.GetAddonByName(P_1, P_2); + addonPtr = null; + return false; } } diff --git a/LLib/LLib.GameUI/LAtkValue.cs b/LLib/LLib.GameUI/LAtkValue.cs index 69c4f61..928ea9e 100644 --- a/LLib/LLib.GameUI/LAtkValue.cs +++ b/LLib/LLib.GameUI/LAtkValue.cs @@ -1,5 +1,4 @@ using System; -using Dalamud.Game.Text.SeStringHandling; using Dalamud.Memory; using FFXIVClientStructs.FFXIV.Component.GUI; @@ -10,37 +9,14 @@ public static class LAtkValue public unsafe static string? ReadAtkString(this AtkValue atkValue) { AtkValueType atkValueType = atkValue.Type & AtkValueType.TypeMask; - int num = ((atkValueType == AtkValueType.String) ? 1097061061 : 1097061058); - while (true) + if (atkValueType != AtkValueType.String && atkValueType != AtkValueType.ConstString) { - int num2 = num; - int num3 = 1097061057; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - num = 1097061058; - break; - case 3: - num = ((atkValueType == AtkValueType.ConstString) ? 1097061061 : 1097061057); - break; - case 4: - num = ((!atkValue.String.HasValue) ? 1097061059 : 1097061056); - break; - case 1: - return _200F_206A_206C_206F_202D_202E_200D_200B_202D_200B_200B_202E_200C_200C_200C_206B_202A_202D_206C_202B_206A_200E_200E_202B_206C_200E_206D_202E_202B_206C_200F_200F_200B_206F_202B_202E_200E_202C_206A_202A_202E(new IntPtr((byte*)atkValue.String)).WithCertainMacroCodeReplacements(); - case 2: - return null; - case 0: - return null; - } + return null; } - } - - static SeString _200F_206A_206C_206F_202D_202E_200D_200B_202D_200B_200B_202E_200C_200C_200C_206B_202A_202D_206C_202B_206A_200E_200E_202B_206C_200E_206D_202E_202B_206C_200F_200F_200B_206F_202B_202E_200E_202C_206A_202A_202E(nint P_0) - { - return MemoryHelper.ReadSeStringNullTerminated(P_0); + if (atkValue.String.HasValue) + { + return MemoryHelper.ReadSeStringNullTerminated(new IntPtr((byte*)atkValue.String)).WithCertainMacroCodeReplacements(); + } + return null; } } diff --git a/LLib/LLib.GameUI/SeStringExtensions.cs b/LLib/LLib.GameUI/SeStringExtensions.cs index e8688ba..c26be1a 100644 --- a/LLib/LLib.GameUI/SeStringExtensions.cs +++ b/LLib/LLib.GameUI/SeStringExtensions.cs @@ -7,29 +7,10 @@ public static class SeStringExtensions { public static string WithCertainMacroCodeReplacements(this SeString? str) { - int num = ((str != null) ? 678693076 : 678693077); - while (true) + if (str == null) { - int num2 = num; - int num3 = 678693076; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return new ReadOnlySeString(_200E_206E_206F_206E_200D_202D_206F_206C_202E_206A_202A_200F_202A_202E_202B_206A_206B_202C_200D_202E_200E_202D_200D_206C_206A_206E_200F_206D_200D_200D_202B_206D_206A_206F_202B_200C_202C_202C_206B_206F_202E(str)).WithCertainMacroCodeReplacements(); - case 1: - return string.Empty; - case 2: - goto IL_0058; - } - continue; - IL_0058: - num = 678693077; + return string.Empty; } - } - - static byte[] _200E_206E_206F_206E_200D_202D_206F_206C_202E_206A_202A_200F_202A_202E_202B_206A_206B_202C_200D_202E_200E_202D_200D_206C_206A_206E_200F_206D_200D_200D_202B_206D_206A_206F_202B_200C_202C_202C_206B_206F_202E(SeString P_0) - { - return P_0.Encode(); + return new ReadOnlySeString(str.Encode()).WithCertainMacroCodeReplacements(); } } diff --git a/LLib/LLib.Gear/BestItemFinder.cs b/LLib/LLib.Gear/BestItemFinder.cs index 614ffcf..d6ca466 100644 --- a/LLib/LLib.Gear/BestItemFinder.cs +++ b/LLib/LLib.Gear/BestItemFinder.cs @@ -1,7 +1,5 @@ using System; -using System.Collections; using System.Collections.Generic; -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using LLib.GameData; @@ -12,9 +10,41 @@ namespace LLib.Gear; public sealed class BestItemFinder { - public static readonly IReadOnlyList ArmoryAndEquipped; + public static readonly IReadOnlyList ArmoryAndEquipped = new global::_003C_003Ez__ReadOnlyArray(new InventoryType[12] + { + InventoryType.EquippedItems, + InventoryType.ArmoryMainHand, + InventoryType.ArmoryOffHand, + InventoryType.ArmoryHead, + InventoryType.ArmoryBody, + InventoryType.ArmoryHands, + InventoryType.ArmoryLegs, + InventoryType.ArmoryFeets, + InventoryType.ArmoryEar, + InventoryType.ArmoryNeck, + InventoryType.ArmoryWrist, + InventoryType.ArmoryRings + }); - public static readonly IReadOnlyList ArmoryEquippedAndBags; + public static readonly IReadOnlyList ArmoryEquippedAndBags = new global::_003C_003Ez__ReadOnlyArray(new InventoryType[16] + { + InventoryType.EquippedItems, + InventoryType.ArmoryMainHand, + InventoryType.ArmoryOffHand, + InventoryType.ArmoryHead, + InventoryType.ArmoryBody, + InventoryType.ArmoryHands, + InventoryType.ArmoryLegs, + InventoryType.ArmoryFeets, + InventoryType.ArmoryEar, + InventoryType.ArmoryNeck, + InventoryType.ArmoryWrist, + InventoryType.ArmoryRings, + InventoryType.Inventory1, + InventoryType.Inventory2, + InventoryType.Inventory3, + InventoryType.Inventory4 + }); private readonly GearStatsCalculator _calculator; @@ -22,11 +52,10 @@ public sealed class BestItemFinder private readonly ExcelSheet _classJobCategorySheet; - [MethodImpl(MethodImplOptions.NoInlining)] public BestItemFinder(GearStatsCalculator calculator, IDataManager dataManager) { - _206D_206D_200D_200E_206B_206F_200E_200E_206D_200F_200F_202C_206F_200D_200C_200E_206A_202D_206A_200D_202A_202E_200B_206C_206C_202A_206A_202B_202D_202E_200F_200B_206E_202C_202A_206F_202D_202B_200F_200C_202E((object)calculator, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1061074664)); - _206D_206D_200D_200E_206B_206F_200E_200E_206D_200F_200F_202C_206F_200D_200C_200E_206A_202D_206A_200D_202A_202E_200B_206C_206C_202A_206A_202B_202D_202E_200F_200B_206E_202C_202A_206F_202D_202B_200F_200C_202E((object)dataManager, 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(-1509101314)); + ArgumentNullException.ThrowIfNull(calculator, "calculator"); + ArgumentNullException.ThrowIfNull(dataManager, "dataManager"); _calculator = calculator; _itemSheet = dataManager.GetExcelSheet(); _classJobCategorySheet = dataManager.GetExcelSheet(); @@ -36,320 +65,100 @@ public sealed class BestItemFinder { BestItemRef? result = null; ItemRankingKey best = ItemRankingKey.None; - int num = (job.DealsMagicDamage() ? (-539654856) : (-539654853)); - InventoryItem* inventorySlot = default(InventoryItem*); - BestItemRef valueOrDefault = default(BestItemRef); - int num10 = default(int); - Item value = default(Item); - Item? rowOrDefault = default(Item?); - InventoryType current = default(InventoryType); - ItemRankingKey itemRankingKey = default(ItemRankingKey); - EBaseParam param = default(EBaseParam); - InventoryContainer* inventoryContainer = default(InventoryContainer*); - InventoryManager* ptr = default(InventoryManager*); - while (true) + EBaseParam param = (job.DealsMagicDamage() ? EBaseParam.DamageMag : EBaseParam.DamagePhys); + InventoryManager* ptr = InventoryManager.Instance(); + if (ptr == null) { - int num2 = num; - int num3 = -539654855; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num13; - switch (num5 - (num6 + num6)) + return null; + } + foreach (InventoryType container in containers) + { + InventoryContainer* inventoryContainer = ptr->GetInventoryContainer(container); + if (inventoryContainer == null) { - case 3: - num = -539654853; - break; - case 2: - num13 = 12; - goto IL_0093; - case 0: - return null; - case 1: - num13 = 13; - goto IL_0093; - case 4: + continue; + } + for (int i = 0; i < inventoryContainer->Size; i++) + { + InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(i); + if (inventorySlot == null || inventorySlot->ItemId == 0) { - IEnumerator enumerator = containers.GetEnumerator(); - try + continue; + } + if (excludeContainerSlot.HasValue) + { + BestItemRef valueOrDefault = excludeContainerSlot.GetValueOrDefault(); + if (valueOrDefault.Container == container && valueOrDefault.Slot == i) { - num = 1383035705; - while (true) - { - int num7 = num; - num3 = 1383035707; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 2: - num = (_202D_206A_202A_206D_202C_202E_206A_206C_200D_200F_206E_202B_206D_206D_200B_206D_206B_200E_200D_206E_206C_206A_202B_206D_200B_200D_202B_202B_206B_206A_200D_202A_200B_206D_200B_202D_206A_202E_206F_206D_202E((IEnumerator)enumerator) ? 1383035691 : 1383035701); - break; - case 13: - num = ((inventorySlot->ItemId == 0) ? 1383035706 : 1383035700); - break; - case 4: - num = ((valueOrDefault.Slot == num10) ? 1383035706 : 1383035690); - break; - case 6: - value = rowOrDefault.Value; - num = ((!IsAcceptedSlot(value.EquipSlotCategory.RowId, acceptedSlotCategories)) ? 1383035706 : 1383035697); - break; - case 5: - valueOrDefault = excludeContainerSlot.GetValueOrDefault(); - num = ((valueOrDefault.Container != current) ? 1383035690 : 1383035711); - break; - case 0: - num = 1383035705; - break; - case 3: - { - EquipmentStats equipmentStats = _calculator.CalculateGearStats(inventorySlot); - itemRankingKey = new ItemRankingKey(value.LevelItem.RowId, priority.Score(equipmentStats), equipmentStats.Get(param)); - num = ((!IsUpgrade(rankingMode, itemRankingKey, best)) ? 1383035706 : 1383035708); - break; - } - case 9: - inventorySlot = inventoryContainer->GetInventorySlot(num10); - num = ((inventorySlot == null) ? 1383035706 : 1383035702); - break; - case 10: - num = ((value.LevelEquip > playerLevel) ? 1383035706 : 1383035703); - break; - case 15: - num = ((!excludeContainerSlot.HasValue) ? 1383035690 : 1383035710); - break; - case 7: - result = new BestItemRef(current, num10, inventorySlot->ItemId, itemRankingKey.ItemLevel, itemRankingKey.Score); - best = itemRankingKey; - num = 1383035706; - break; - case 11: - num = ((num10 < inventoryContainer->Size) ? 1383035698 : 1383035705); - break; - case 12: - num = ((!IsItemForJob(value, job)) ? 1383035706 : 1383035704); - break; - case 16: - current = enumerator.Current; - inventoryContainer = ptr->GetInventoryContainer(current); - num = ((inventoryContainer == null) ? 1383035705 : 1383035699); - break; - case 1: - { - int num11 = num10; - num3 = 1; - num4 = num11; - num10 = (num4 | num3) + (num4 & num3); - num = 1383035696; - break; - } - case 17: - rowOrDefault = _itemSheet.GetRowOrDefault(inventorySlot->ItemId); - num = ((!rowOrDefault.HasValue) ? 1383035706 : 1383035709); - break; - case 8: - num10 = 0; - num = 1383035696; - break; - case 14: - return result; - } - } - } - finally - { - num = ((enumerator == null) ? 1816874723 : 1816874720); - while (true) - { - int num12 = num; - num3 = 1816874722; - num4 = num12; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1816874720; - break; - case 2: - _206C_202E_206F_206E_206E_200E_200C_206A_200B_206E_202C_202E_206D_202D_202D_202E_206E_206D_200D_200D_202A_202B_202C_202B_200B_200F_202B_202B_200F_200C_202D_206C_200D_202B_200E_200F_206D_206E_206B_200C_202E((IDisposable)enumerator); - num = 1816874723; - break; - case 1: - goto end_IL_042f; - } - continue; - end_IL_042f: - break; - } + continue; + } + } + Item? rowOrDefault = _itemSheet.GetRowOrDefault(inventorySlot->ItemId); + if (!rowOrDefault.HasValue) + { + continue; + } + Item value = rowOrDefault.Value; + if (IsAcceptedSlot(value.EquipSlotCategory.RowId, acceptedSlotCategories) && value.LevelEquip <= playerLevel && IsItemForJob(value, job)) + { + EquipmentStats equipmentStats = _calculator.CalculateGearStats(inventorySlot); + ItemRankingKey itemRankingKey = new ItemRankingKey(value.LevelItem.RowId, priority.Score(equipmentStats), equipmentStats.Get(param)); + if (IsUpgrade(rankingMode, itemRankingKey, best)) + { + result = new BestItemRef(container, i, inventorySlot->ItemId, itemRankingKey.ItemLevel, itemRankingKey.Score); + best = itemRankingKey; } } - IL_0093: - param = (EBaseParam)num13; - ptr = InventoryManager.Instance(); - num = ((ptr != null) ? (-539654851) : (-539654855)); - break; } } + return result; } public static bool IsUpgrade(EItemRankingMode mode, ItemRankingKey candidate, ItemRankingKey best) { - int num = ((mode != EItemRankingMode.DamageFirst) ? (-1413450028) : (-1413450032)); - while (true) + if (mode == EItemRankingMode.DamageFirst && candidate.Damage != best.Damage) { - int num2 = num; - int num3 = -1413450029; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return candidate.Damage > best.Damage; + } + if (mode == EItemRankingMode.ItemLevelFirst) + { + if (candidate.ItemLevel != best.ItemLevel) { - case 8: - num = -1413450032; - break; - case 7: - num = ((mode != EItemRankingMode.ItemLevelFirst) ? (-1413450031) : (-1413450025)); - break; - case 9: - return candidate.ItemLevel > best.ItemLevel; - case 4: - num = ((candidate.ItemLevel == best.ItemLevel) ? (-1413450027) : (-1413450022)); - break; - case 2: - num = ((candidate.Score == best.Score) ? (-1413450029) : (-1413450026)); - break; - case 5: - return candidate.Score > best.Score; - case 1: - return candidate.Damage > best.Damage; - case 3: - num = ((candidate.Damage == best.Damage) ? (-1413450028) : (-1413450030)); - break; - case 6: - return candidate.Score > best.Score; - case 0: return candidate.ItemLevel > best.ItemLevel; } + return candidate.Score > best.Score; } + if (candidate.Score != best.Score) + { + return candidate.Score > best.Score; + } + return candidate.ItemLevel > best.ItemLevel; } public bool IsItemForJob(Item item, EClassJob job) { uint rowId = item.ClassJobCategory.RowId; - int num = ((rowId != 0) ? (-1361138782) : (-1361138777)); - ClassJobCategory? rowOrDefault = default(ClassJobCategory?); - while (true) + if (rowId == 0) { - int num2 = num; - int num3 = -1361138778; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = -1361138777; - break; - case 2: - return false; - case 1: - return true; - case 0: - return job.IsInCategory(rowOrDefault.Value); - case 4: - rowOrDefault = _classJobCategorySheet.GetRowOrDefault(rowId); - num = (rowOrDefault.HasValue ? (-1361138778) : (-1361138780)); - break; - } + return true; } + ClassJobCategory? rowOrDefault = _classJobCategorySheet.GetRowOrDefault(rowId); + if (!rowOrDefault.HasValue) + { + return false; + } + return job.IsInCategory(rowOrDefault.Value); } private static bool IsAcceptedSlot(uint itemSlotCategory, IReadOnlyList accepted) { - IEnumerator enumerator = accepted.GetEnumerator(); - try + foreach (uint item in accepted) { - int num = -1139406440; - while (true) + if (item == itemSlotCategory) { - int num2 = num; - int num3 = -1139406439; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - num = (_202D_206A_202A_206D_202C_202E_206A_206C_200D_200F_206E_202B_206D_206D_200B_206D_206B_200E_200D_206E_206C_206A_202B_206D_200B_200D_202B_202B_206B_206A_200D_202A_200B_206D_200B_202D_206A_202E_206F_206D_202E((IEnumerator)enumerator) ? (-1139406438) : (-1139406439)); - break; - case 3: - num = ((enumerator.Current != itemSlotCategory) ? (-1139406440) : (-1139406437)); - break; - case 4: - num = -1139406440; - break; - case 2: - return true; - case 0: - goto end_IL_0012; - } - continue; - end_IL_0012: - break; - } - } - finally - { - int num = ((enumerator == null) ? (-1966232189) : (-1966232192)); - while (true) - { - int num7 = num; - int num3 = -1966232191; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1966232192; - break; - case 1: - _206C_202E_206F_206E_206E_200E_200C_206A_200B_206E_202C_202E_206D_202D_202D_202E_206E_206D_200D_200D_202A_202B_202C_202B_200B_200F_202B_202B_200F_200C_202D_206C_200D_202B_200E_200F_206D_206E_206B_200C_202E((IDisposable)enumerator); - num = -1966232189; - break; - case 2: - goto end_IL_00c5; - } - continue; - end_IL_00c5: - break; + return true; } } return false; } - - static BestItemFinder() - { - InventoryType[] array = new InventoryType[12]; - _200B_206D_202E_206F_206A_206F_202B_200E_206E_200B_202D_206C_200F_206D_200D_206B_206A_202C_202C_206E_206E_202C_206D_206C_206F_202C_200F_200F_202A_202D_202B_206F_200E_202C_202C_200D_200B_206D_200D_200D_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - ArmoryAndEquipped = new global::_003C_003Ez__ReadOnlyArray(array); - InventoryType[] array2 = new InventoryType[16]; - _200B_206D_202E_206F_206A_206F_202B_200E_206E_200B_202D_206C_200F_206D_200D_206B_206A_202C_202C_206E_206E_202C_206D_206C_206F_202C_200F_200F_202A_202D_202B_206F_200E_202C_202C_200D_200B_206D_200D_200D_202E((Array)array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - ArmoryEquippedAndBags = new global::_003C_003Ez__ReadOnlyArray(array2); - } - - static void _206D_206D_200D_200E_206B_206F_200E_200E_206D_200F_200F_202C_206F_200D_200C_200E_206A_202D_206A_200D_202A_202E_200B_206C_206C_202A_206A_202B_202D_202E_200F_200B_206E_202C_202A_206F_202D_202B_200F_200C_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static bool _202D_206A_202A_206D_202C_202E_206A_206C_200D_200F_206E_202B_206D_206D_200B_206D_206B_200E_200D_206E_206C_206A_202B_206D_200B_200D_202B_202B_206B_206A_200D_202A_200B_206D_200B_202D_206A_202E_206F_206D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206C_202E_206F_206E_206E_200E_200C_206A_200B_206E_202C_202E_206D_202D_202D_202E_206E_206D_200D_200D_202A_202B_202C_202B_200B_200F_202B_202B_200F_200C_202D_206C_200D_202B_200E_200F_206D_206E_206B_200C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _200B_206D_202E_206F_206A_206F_202B_200E_206E_200B_202D_206C_200F_206D_200D_206B_206A_202C_202C_206E_206E_202C_206D_206C_206F_202C_200F_200F_202A_202D_202B_206F_200E_202C_202C_200D_200B_206D_200D_200D_202E(Array P_0, RuntimeFieldHandle P_1) - { - RuntimeHelpers.InitializeArray(P_0, P_1); - } } diff --git a/LLib/LLib.Gear/BestItemRef.cs b/LLib/LLib.Gear/BestItemRef.cs index 87c91d8..2325a1c 100644 --- a/LLib/LLib.Gear/BestItemRef.cs +++ b/LLib/LLib.Gear/BestItemRef.cs @@ -1,117 +1,5 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using FFXIVClientStructs.FFXIV.Client.Game; namespace LLib.Gear; -public readonly record struct BestItemRef(InventoryType Container, int Slot, uint ItemId, uint ItemLevel, float SubstatScore) -{ - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200D_200D_206E_202E_200C_202C_200E_206A_202B_202A_200F_202B_202B_200D_206C_200E_206B_202B_202A_200D_206A_206A_206D_206D_202D_206F_200E_202D_206D_200F_202C_206E_206E_202E_200B_206D_206C_200D_202D_200C_202E(); - _206A_206C_202E_200E_202B_200E_200B_206F_202D_206C_206A_206A_206B_200E_202B_200B_206D_206F_202E_206D_202C_206B_206B_206F_200E_202A_200D_206B_200F_200E_206A_206D_200D_206A_206B_200B_200B_200F_202E_206A_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(879982736)); - _206A_206C_202E_200E_202B_200E_200B_206F_202D_206C_206A_206A_206B_200E_202B_200B_206D_206F_202E_206D_202C_206B_206B_206F_200E_202A_200D_206B_200F_200E_206A_206D_200D_206A_206B_200B_200B_200F_202E_206A_202E(stringBuilder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1581517409)); - int num = ((!PrintMembers(stringBuilder)) ? 1969490728 : 1969490729); - while (true) - { - int num2 = num; - int num3 = 1969490728; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _200D_206F_202B_200E_206D_206B_206B_206B_202A_206B_202D_206F_202C_206D_202C_202B_206A_200D_200C_206A_206D_200E_200F_206E_206E_206A_206B_206D_202E_206C_206A_206C_206F_202E_202B_202B_206F_200E_206A_206C_202E(stringBuilder, '}'); - return _202D_200F_202C_200D_206A_202D_206E_206B_202E_206C_200C_200B_200B_202E_202C_200F_200E_206C_206E_206E_202C_202A_200F_200F_200F_202B_206C_200B_202A_206D_200C_206A_200B_202C_202A_206B_202D_206C_200D_200C_202E((object)stringBuilder); - case 1: - _200D_206F_202B_200E_206D_206B_206B_206B_202A_206B_202D_206F_202C_206D_202C_202B_206A_200D_200C_206A_206D_200E_200F_206E_206E_206A_206B_206D_202E_206C_206A_206C_206F_202E_202B_202B_206F_200E_206A_206C_202E(stringBuilder, ' '); - num = 1969490728; - break; - case 2: - num = 1969490729; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206A_206C_202E_200E_202B_200E_200B_206F_202D_206C_206A_206A_206B_200E_202B_200B_206D_206F_202E_206D_202C_206B_206B_206F_200E_202A_200D_206B_200F_200E_206A_206D_200D_206A_206B_200B_200B_200F_202E_206A_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(-926004725)); - _206A_206C_202E_200E_202B_200E_200B_206F_202D_206C_206A_206A_206B_200E_202B_200B_206D_206F_202E_206D_202C_206B_206B_206F_200E_202A_200D_206B_200F_200E_206A_206D_200D_206A_206B_200B_200B_200F_202E_206A_202E(builder, Container.ToString()); - _206A_206C_202E_200E_202B_200E_200B_206F_202D_206C_206A_206A_206B_200E_202B_200B_206D_206F_202E_206D_202C_206B_206B_206F_200E_202A_200D_206B_200F_200E_206A_206D_200D_206A_206B_200B_200B_200F_202E_206A_202E(builder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-991935084)); - _206A_206C_202E_200E_202B_200E_200B_206F_202D_206C_206A_206A_206B_200E_202B_200B_206D_206F_202E_206D_202C_206B_206B_206F_200E_202A_200D_206B_200F_200E_206A_206D_200D_206A_206B_200B_200B_200F_202E_206A_202E(builder, Slot.ToString()); - _206A_206C_202E_200E_202B_200E_200B_206F_202D_206C_206A_206A_206B_200E_202B_200B_206D_206F_202E_206D_202C_206B_206B_206F_200E_202A_200D_206B_200F_200E_206A_206D_200D_206A_206B_200B_200B_200F_202E_206A_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(-1773173997)); - _206A_206C_202E_200E_202B_200E_200B_206F_202D_206C_206A_206A_206B_200E_202B_200B_206D_206F_202E_206D_202C_206B_206B_206F_200E_202A_200D_206B_200F_200E_206A_206D_200D_206A_206B_200B_200B_200F_202E_206A_202E(builder, ItemId.ToString()); - _206A_206C_202E_200E_202B_200E_200B_206F_202D_206C_206A_206A_206B_200E_202B_200B_206D_206F_202E_206D_202C_206B_206B_206F_200E_202A_200D_206B_200F_200E_206A_206D_200D_206A_206B_200B_200B_200F_202E_206A_202E(builder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-928952484)); - _206A_206C_202E_200E_202B_200E_200B_206F_202D_206C_206A_206A_206B_200E_202B_200B_206D_206F_202E_206D_202C_206B_206B_206F_200E_202A_200D_206B_200F_200E_206A_206D_200D_206A_206B_200B_200B_200F_202E_206A_202E(builder, ItemLevel.ToString()); - _206A_206C_202E_200E_202B_200E_200B_206F_202D_206C_206A_206A_206B_200E_202B_200B_206D_206F_202E_206D_202C_206B_206B_206F_200E_202A_200D_206B_200F_200E_206A_206D_200D_206A_206B_200B_200B_200F_202E_206A_202E(builder, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-2040749927)); - _206A_206C_202E_200E_202B_200E_200B_206F_202D_206C_206A_206A_206B_200E_202B_200B_206D_206F_202E_206D_202C_206B_206B_206F_200E_202A_200D_206B_200F_200E_206A_206D_200D_206A_206B_200B_200B_200F_202E_206A_202E(builder, SubstatScore.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(BestItemRef other) - { - int num = ((!EqualityComparer.Default.Equals(Container, other.Container)) ? 542422515 : 542422514); - while (true) - { - int num2 = num; - int num3 = 542422515; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = ((!EqualityComparer.Default.Equals(ItemLevel, other.ItemLevel)) ? 542422515 : 542422518); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(Slot, other.Slot)) ? 542422515 : 542422512); - break; - case 0: - return false; - case 5: - return EqualityComparer.Default.Equals(SubstatScore, other.SubstatScore); - case 3: - num = ((!EqualityComparer.Default.Equals(ItemId, other.ItemId)) ? 542422515 : 542422519); - break; - case 2: - num = 542422514; - break; - } - } - } - - bool IEquatable.Equals(BestItemRef other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _200D_200D_206E_202E_200C_202C_200E_206A_202B_202A_200F_202B_202B_200D_206C_200E_206B_202B_202A_200D_206A_206A_206D_206D_202D_206F_200E_202D_206D_200F_202C_206E_206E_202E_200B_206D_206C_200D_202D_200C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206A_206C_202E_200E_202B_200E_200B_206F_202D_206C_206A_206A_206B_200E_202B_200B_206D_206F_202E_206D_202C_206B_206B_206F_200E_202A_200D_206B_200F_200E_206A_206D_200D_206A_206B_200B_200B_200F_202E_206A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200D_206F_202B_200E_206D_206B_206B_206B_202A_206B_202D_206F_202C_206D_202C_202B_206A_200D_200C_206A_206D_200E_200F_206E_206E_206A_206B_206D_202E_206C_206A_206C_206F_202E_202B_202B_206F_200E_206A_206C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202D_200F_202C_200D_206A_202D_206E_206B_202E_206C_200C_200B_200B_202E_202C_200F_200E_206C_206E_206E_202C_202A_200F_200F_200F_202B_206C_200B_202A_206D_200C_206A_200B_202C_202A_206B_202D_206C_200D_200C_202E(object P_0) - { - return P_0.ToString(); - } -} +public readonly record struct BestItemRef(InventoryType Container, int Slot, uint ItemId, uint ItemLevel, float SubstatScore); diff --git a/LLib/LLib.Gear/DesynthActions.cs b/LLib/LLib.Gear/DesynthActions.cs index 5fc9e73..6e7b1ac 100644 --- a/LLib/LLib.Gear/DesynthActions.cs +++ b/LLib/LLib.Gear/DesynthActions.cs @@ -1,4 +1,3 @@ -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Client.Game.UI; @@ -16,334 +15,141 @@ public static class DesynthActions public unsafe static bool TryOpenDesynthWindow() { AgentSalvage* ptr = AgentSalvage.Instance(); - int num = ((ptr != null) ? 423836342 : 423836341); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 423836343; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - ptr->AgentInterface.Show(); - return true; - case 2: - return false; - case 0: - goto IL_005a; - } - continue; - IL_005a: - num = 423836341; + return false; } + ptr->AgentInterface.Show(); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool IsDesynthAddonReady(IGameGui gameGui) { AtkUnitBase* addonPtr; - return gameGui.TryGetReadyAddon(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(-866883789), out addonPtr); + return gameGui.TryGetReadyAddon("SalvageItemSelector", out addonPtr); } public unsafe static void SetCategory(AgentSalvage.SalvageItemCategory category) { AgentSalvage* ptr = AgentSalvage.Instance(); - int num = ((ptr == null) ? (-1642327650) : (-1642327651)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -1642327649; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1642327651; - break; - case 1: - return; - case 2: - ptr->SelectedCategory = category; - num = -1642327650; - break; - } + ptr->SelectedCategory = category; } } public unsafe static AgentSalvage.SalvageItemCategory GetCategory() { AgentSalvage* ptr = AgentSalvage.Instance(); - int num = ((ptr != null) ? 1275547526 : 1275547525); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1275547527; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 2: - return AgentSalvage.SalvageItemCategory.InventoryEquipment; - case 1: - return ptr->SelectedCategory; - } - continue; - IL_004b: - num = 1275547525; + return AgentSalvage.SalvageItemCategory.InventoryEquipment; } + return ptr->SelectedCategory; } public unsafe static void RefreshItemList() { AgentSalvage* ptr = AgentSalvage.Instance(); - int num = ((ptr == null) ? 213710031 : 213710028); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 213710029; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 213710028; - break; - case 2: - return; - case 1: - ptr->ItemListRefresh(isSalvageResultAddonOpen: true); - num = 213710031; - break; - } + ptr->ItemListRefresh(isSalvageResultAddonOpen: true); } } public unsafe static int GetItemCount() { AgentSalvage* ptr = AgentSalvage.Instance(); - int num = ((ptr != null) ? (-832139057) : (-832139060)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -832139059; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return (int)ptr->ItemCount; - case 1: - return 0; - case 0: - goto IL_0052; - } - continue; - IL_0052: - num = -832139060; + return 0; } + return (int)ptr->ItemCount; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TrySelectItem(IGameGui gameGui, int itemIndex) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetReadyAddon(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(1627601716), out addonPtr) ? (-770746818) : (-770746819)); - while (true) + if (!gameGui.TryGetReadyAddon("SalvageItemSelector", out var addonPtr)) { - int num2 = num; - int num3 = -770746817; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0054; - case 2: - return false; - case 1: - AddonCallback.FireWithUpdate(addonPtr, 12, itemIndex); - return true; - } - continue; - IL_0054: - num = -770746819; + return false; } + AddonCallback.FireWithUpdate(addonPtr, 12, itemIndex); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool IsConfirmDialogReady(IGameGui gameGui) { AtkUnitBase* addonPtr; - return gameGui.TryGetReadyAddon(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1828930182), out addonPtr); + return gameGui.TryGetReadyAddon("SalvageDialog", out addonPtr); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryConfirmDesynth(IGameGui gameGui, bool nqOnly = false) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetReadyAddon(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(221638269), out addonPtr) ? (-763680542) : (-763680543)); - while (true) + if (!gameGui.TryGetReadyAddon("SalvageDialog", out var addonPtr)) { - int num2 = num; - int num3 = -763680541; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0052; - case 1: - AddonCallback.FireWithUpdate(addonPtr, 15, nqOnly ? 1 : 0); - AddonCallback.FireWithUpdate(addonPtr, default(int), default(int)); - return true; - case 2: - return false; - } - continue; - IL_0052: - num = -763680543; + return false; } + AddonCallback.FireWithUpdate(addonPtr, 15, nqOnly ? 1 : 0); + AddonCallback.FireWithUpdate(addonPtr, default(int), default(int)); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool IsResultDialogReady(IGameGui gameGui) { AtkUnitBase* addonPtr; - return gameGui.TryGetReadyAddon(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-132278347), out addonPtr); + return gameGui.TryGetReadyAddon("SalvageResult", out addonPtr); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryCloseResultDialog(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetReadyAddon(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(937498069), out addonPtr) ? (-1405203810) : (-1405203811)); - while (true) + if (!gameGui.TryGetReadyAddon("SalvageResult", out var addonPtr)) { - int num2 = num; - int num3 = -1405203809; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - addonPtr->Close(fireCallback: true); - return true; - case 2: - return false; - case 0: - goto IL_0060; - } - continue; - IL_0060: - num = -1405203811; + return false; } + addonPtr->Close(fireCallback: true); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryCloseDesynthWindow(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetReadyAddon(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-2023860148), out addonPtr) ? 176704598 : 176704597); - while (true) + if (!gameGui.TryGetReadyAddon("SalvageItemSelector", out var addonPtr)) { - int num2 = num; - int num3 = 176704599; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0052; - case 2: - return false; - case 1: - addonPtr->Close(fireCallback: true); - return true; - } - continue; - IL_0052: - num = 176704597; + return false; } + addonPtr->Close(fireCallback: true); + return true; } public unsafe static AgentSalvage.SalvageListItem? GetItemAtIndex(int index) { AgentSalvage* ptr = AgentSalvage.Instance(); - int num = ((ptr == null) ? 1959558310 : 1959558311); - while (true) + if (ptr == null || ptr->ItemList == null || index < 0 || index >= ptr->ItemCount) { - int num2 = num; - int num3 = 1959558309; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1959558311; - break; - case 2: - num = ((ptr->ItemList == null) ? 1959558310 : 1959558305); - break; - case 1: - return ptr->ItemList[index]; - case 4: - num = ((index < 0) ? 1959558310 : 1959558304); - break; - case 5: - num = ((index < ptr->ItemCount) ? 1959558308 : 1959558310); - break; - case 3: - return null; - } + return null; } + return ptr->ItemList[index]; } public unsafe static bool TryDesynthDirect(InventoryItem* item) { - int num = ((item == null) ? (-1819563004) : (-1819563003)); - AgentSalvage* ptr = default(AgentSalvage*); - while (true) + if (item == null || item->ItemId == 0) { - int num2 = num; - int num3 = -1819563004; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -1819563003; - break; - case 1: - num = ((item->ItemId != 0) ? (-1819563007) : (-1819563004)); - break; - case 5: - ptr = AgentSalvage.Instance(); - num = ((ptr != null) ? (-1819563001) : (-1819563008)); - break; - case 4: - return false; - case 3: - { - ptr->SalvageItem(item, 0, 0); - AtkValue* returnValue = stackalloc AtkValue[1]; - AtkValue* ptr2 = stackalloc AtkValue[2]; - ptr2->Type = AtkValueType.Int; - ptr2->Int = 0; - ptr2[1].Type = AtkValueType.Bool; - ptr2[1].Byte = 1; - ptr->AgentInterface.ReceiveEvent(returnValue, ptr2, 2u, 1uL); - return true; - } - case 0: - return false; - } + return false; } + AgentSalvage* ptr = AgentSalvage.Instance(); + if (ptr == null) + { + return false; + } + ptr->SalvageItem(item, 0, 0); + AtkValue* returnValue = stackalloc AtkValue[1]; + AtkValue* ptr2 = stackalloc AtkValue[2]; + ptr2->Type = AtkValueType.Int; + ptr2->Int = 0; + ptr2[1].Type = AtkValueType.Bool; + ptr2[1].Byte = 1; + ptr->AgentInterface.ReceiveEvent(returnValue, ptr2, 2u, 1uL); + return true; } public static bool IsDesynthUnlocked() @@ -353,111 +159,49 @@ public static class DesynthActions public static bool IsItemDesynthable(IDataManager dataManager, uint itemId) { - Item row; - int num = (dataManager.GetExcelSheet().TryGetRow(itemId, out row) ? (-1608454273) : (-1608454276)); - while (true) + if (!dataManager.GetExcelSheet().TryGetRow(itemId, out var row)) { - int num2 = num; - int num3 = -1608454274; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return row.Desynth > 0; - case 2: - return false; - case 0: - goto IL_0068; - } - continue; - IL_0068: - num = -1608454276; + return false; } + return row.Desynth > 0; } public unsafe static bool CanPlayerDesynthItem(IDataManager dataManager, uint itemId) { - Item row; - int num = (dataManager.GetExcelSheet().TryGetRow(itemId, out row) ? (-1179010991) : (-1179010980)); - PlayerState* ptr = default(PlayerState*); - ClassJob? valueNullable = default(ClassJob?); - while (true) + if (!dataManager.GetExcelSheet().TryGetRow(itemId, out var row)) { - int num2 = num; - int num3 = -1179010983; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = -1179010980; - break; - case 6: - return false; - case 1: - return false; - case 7: - return false; - case 5: - return false; - case 3: - ptr = PlayerState.Instance(); - num = ((ptr != null) ? (-1179010981) : (-1179010984)); - break; - case 2: - return ptr->ClassJobLevels[valueNullable.Value.ExpArrayIndex] >= 30; - case 8: - num = ((row.Desynth > 0) ? (-1179010983) : (-1179010978)); - break; - case 0: - valueNullable = row.ClassJobRepair.ValueNullable; - num = (valueNullable.HasValue ? (-1179010982) : (-1179010977)); - break; - } + return false; } + if (row.Desynth <= 0) + { + return false; + } + ClassJob? valueNullable = row.ClassJobRepair.ValueNullable; + if (!valueNullable.HasValue) + { + return false; + } + PlayerState* ptr = PlayerState.Instance(); + if (ptr == null) + { + return false; + } + return ptr->ClassJobLevels[valueNullable.Value.ExpArrayIndex] >= 30; } public unsafe static float GetDesynthLevel(uint classJobId) { PlayerState* ptr = PlayerState.Instance(); bool flag = ptr == null; - int num = (flag ? 659072519 : 659072518); - bool flag2 = default(bool); - while (true) + if (!flag) { - int num2 = num; - int num3 = 659072516; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 7: - return ptr->GetDesynthesisLevel(classJobId); - case 8: - num = ((classJobId <= 15) ? 659072513 : 659072516); - break; - case 2: - num = ((classJobId < 8) ? 659072516 : 659072524); - break; - case 5: - flag2 = false; - num = 659072517; - break; - case 3: - num = ((!flag) ? 659072515 : 659072512); - break; - case 1: - flag = flag2; - num = 659072519; - break; - case 0: - flag2 = true; - num = 659072517; - break; - case 4: - return 0f; - case 6: - num = 659072518; - break; - } + bool flag2 = ((classJobId < 8 || classJobId > 15) ? true : false); + flag = flag2; } + if (flag) + { + return 0f; + } + return ptr->GetDesynthesisLevel(classJobId); } } diff --git a/LLib/LLib.Gear/EEquipSlotCategoryExtensions.cs b/LLib/LLib.Gear/EEquipSlotCategoryExtensions.cs index cac6d0e..fc89b92 100644 --- a/LLib/LLib.Gear/EEquipSlotCategoryExtensions.cs +++ b/LLib/LLib.Gear/EEquipSlotCategoryExtensions.cs @@ -6,402 +6,137 @@ public static class EEquipSlotCategoryExtensions { public static InventoryType? GetArmoryContainer(this EEquipSlotCategory slot) { - int num; - InventoryType? result = default(InventoryType?); switch (slot) { - default: - num = -2089769317; - goto IL_0047; - case EEquipSlotCategory.Ears: - result = InventoryType.ArmoryEar; - num = -2089769327; - goto IL_0047; - case EEquipSlotCategory.Shield: - goto IL_00b7; - case EEquipSlotCategory.Hands: - goto IL_00cd; - case EEquipSlotCategory.Head: - goto IL_00e3; - case (EEquipSlotCategory)6u: - goto IL_00f9; - case EEquipSlotCategory.Body: - goto IL_010e; - case EEquipSlotCategory.Legs: - goto IL_0131; - case EEquipSlotCategory.Feet: - goto IL_0147; - case EEquipSlotCategory.Wrists: - goto IL_015d; case EEquipSlotCategory.OneHandedMainHand: case EEquipSlotCategory.TwoHandedMainHand: - goto IL_017e; + return InventoryType.ArmoryMainHand; + case EEquipSlotCategory.Shield: + return InventoryType.ArmoryOffHand; + case EEquipSlotCategory.Head: + return InventoryType.ArmoryHead; + case EEquipSlotCategory.Body: + return InventoryType.ArmoryBody; + case EEquipSlotCategory.Hands: + return InventoryType.ArmoryHands; + case EEquipSlotCategory.Legs: + return InventoryType.ArmoryLegs; + case EEquipSlotCategory.Feet: + return InventoryType.ArmoryFeets; + case EEquipSlotCategory.Ears: + return InventoryType.ArmoryEar; case EEquipSlotCategory.Neck: - goto IL_0194; + return InventoryType.ArmoryNeck; + case EEquipSlotCategory.Wrists: + return InventoryType.ArmoryWrist; case EEquipSlotCategory.Rings: - goto IL_01aa; - IL_0047: - while (true) - { - int num2 = num; - int num3 = -2089769328; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 7: - goto end_IL_0047; - case 8: - goto IL_00b7; - case 10: - goto IL_00cd; - case 5: - goto IL_00e3; - case 2: - goto IL_00f9; - case 9: - goto IL_010e; - case 1: - return result; - case 0: - num = -2089769317; - break; - case 12: - goto IL_0131; - case 6: - goto IL_0147; - case 13: - goto IL_015d; - case 11: - num = -2089769326; - break; - case 4: - goto IL_017e; - case 3: - goto IL_0194; - case 14: - goto IL_01aa; - } - continue; - end_IL_0047: - break; - } - goto case EEquipSlotCategory.Ears; - IL_01aa: - result = InventoryType.ArmoryRings; - num = -2089769327; - goto IL_0047; - IL_0194: - result = InventoryType.ArmoryNeck; - num = -2089769327; - goto IL_0047; - IL_017e: - result = InventoryType.ArmoryMainHand; - num = -2089769327; - goto IL_0047; - IL_015d: - result = InventoryType.ArmoryWrist; - num = -2089769327; - goto IL_0047; - IL_0147: - result = InventoryType.ArmoryFeets; - num = -2089769327; - goto IL_0047; - IL_0131: - result = InventoryType.ArmoryLegs; - num = -2089769327; - goto IL_0047; - IL_010e: - result = InventoryType.ArmoryBody; - num = -2089769327; - goto IL_0047; - IL_00f9: - result = null; - num = -2089769327; - goto IL_0047; - IL_00e3: - result = InventoryType.ArmoryHead; - num = -2089769327; - goto IL_0047; - IL_00cd: - result = InventoryType.ArmoryHands; - num = -2089769327; - goto IL_0047; - IL_00b7: - result = InventoryType.ArmoryOffHand; - num = -2089769327; - goto IL_0047; + return InventoryType.ArmoryRings; + default: + return null; } } public unsafe static int? FindFreeSlot(InventoryType container) { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? (-1184837257) : (-1184837263)); - int num5 = default(int); - InventoryItem* inventorySlot = default(InventoryItem*); - InventoryContainer* inventoryContainer = default(InventoryContainer*); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -1184837262; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return null; + } + InventoryContainer* inventoryContainer = ptr->GetInventoryContainer(container); + if (inventoryContainer == null) + { + return null; + } + for (int i = 0; i < inventoryContainer->Size; i++) + { + InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(i); + if (inventorySlot != null && inventorySlot->ItemId == 0) { - case 7: - return null; - case 0: - num5 = 0; - num = -1184837260; - break; - case 2: - { - int num6 = num5; - num3 = 1; - num4 = num6; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - num5 = num7 + (num8 + num8); - num = -1184837260; - break; - } - case 1: - return null; - case 9: - return num5; - case 10: - inventorySlot = inventoryContainer->GetInventorySlot(num5); - num = ((inventorySlot == null) ? (-1184837264) : (-1184837254)); - break; - case 3: - return null; - case 5: - inventoryContainer = ptr->GetInventoryContainer(container); - num = ((inventoryContainer != null) ? (-1184837262) : (-1184837259)); - break; - case 8: - num = ((inventorySlot->ItemId != 0) ? (-1184837264) : (-1184837253)); - break; - case 4: - num = -1184837263; - break; - case 6: - num = ((num5 < inventoryContainer->Size) ? (-1184837256) : (-1184837261)); - break; + return i; } } + return null; } public unsafe static bool TryUnequipItem(int equippedSlotIndex) { - int num; - InventoryType? inventoryType2 = default(InventoryType?); - InventoryManager* ptr = default(InventoryManager*); - InventoryType valueOrDefault2 = default(InventoryType); - int valueOrDefault = default(int); - InventoryType? inventoryType = default(InventoryType?); - int? num7 = default(int?); - InventoryItem* inventorySlot = default(InventoryItem*); - InventoryContainer* inventoryContainer = default(InventoryContainer*); + InventoryType? inventoryType; switch (equippedSlotIndex) { - default: - num = 1686328571; - goto IL_004a; + case 0: + inventoryType = InventoryType.ArmoryMainHand; + break; + case 1: + inventoryType = InventoryType.ArmoryOffHand; + break; + case 2: + inventoryType = InventoryType.ArmoryHead; + break; + case 3: + inventoryType = InventoryType.ArmoryBody; + break; + case 4: + inventoryType = InventoryType.ArmoryHands; + break; case 6: - inventoryType2 = InventoryType.ArmoryLegs; - num = 1686328552; - goto IL_004a; + inventoryType = InventoryType.ArmoryLegs; + break; + case 7: + inventoryType = InventoryType.ArmoryFeets; + break; + case 8: + inventoryType = InventoryType.ArmoryEar; + break; + case 9: + inventoryType = InventoryType.ArmoryNeck; + break; + case 10: + inventoryType = InventoryType.ArmoryWrist; + break; case 11: case 12: - goto IL_0106; - case 0: - goto IL_0147; - case 7: - goto IL_018d; - case 3: - goto IL_01d1; - case 1: - goto IL_022c; - case 5: - goto IL_0259; - case 10: - goto IL_0271; + inventoryType = InventoryType.ArmoryRings; + break; case 13: - goto IL_029d; - case 4: - goto IL_02db; - case 8: - goto IL_0301; - case 2: - goto IL_0351; - case 9: - goto IL_036b; - IL_004a: - while (true) - { - int num2 = num; - int num3 = 1686328567; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 24: - return false; - case 14: - goto end_IL_004a; - case 8: - goto IL_0106; - case 27: - return false; - case 31: - goto IL_0120; - case 6: - goto IL_0147; - case 22: - goto IL_015f; - case 30: - return false; - case 4: - goto IL_018d; - case 11: - goto IL_01a5; - case 15: - goto IL_01d1; - case 16: - goto IL_01e9; - case 20: - goto IL_0208; - case 18: - goto IL_022c; - case 2: - ptr->MoveItemSlot(InventoryType.EquippedItems, (ushort)equippedSlotIndex, valueOrDefault2, (ushort)valueOrDefault, a6: true); - return true; - case 19: - goto IL_0259; - case 3: - goto IL_0271; - case 13: - valueOrDefault2 = inventoryType.GetValueOrDefault(); - num = 1686328557; - break; - case 5: - goto IL_029d; - case 26: - goto IL_02b5; - case 7: - goto IL_02db; - case 0: - num = 1686328571; - break; - case 28: - return false; - case 1: - goto IL_0301; - case 21: - goto IL_0319; - case 12: - num = 1686328548; - break; - case 23: - return false; - case 25: - goto IL_0351; - case 17: - return false; - case 29: - goto IL_036b; - case 10: - valueOrDefault = num7.GetValueOrDefault(); - num = 1686328565; - break; - case 9: - goto IL_0398; - } - continue; - IL_0398: - num = ((inventorySlot->ItemId != 0) ? 1686328545 : 1686328553); - continue; - IL_015f: - num7 = FindFreeSlot(valueOrDefault2); - num = ((!num7.HasValue) ? 1686328556 : 1686328573); - continue; - IL_0208: - num = ((equippedSlotIndex < inventoryContainer->Size) ? 1686328546 : 1686328555); - continue; - IL_0319: - inventorySlot = inventoryContainer->GetInventorySlot(equippedSlotIndex); - num = ((inventorySlot == null) ? 1686328553 : 1686328574); - continue; - IL_0120: - inventoryType = inventoryType2; - num = ((!inventoryType.HasValue) ? 1686328544 : 1686328570); - continue; - IL_01a5: - inventoryContainer = ptr->GetInventoryContainer(InventoryType.EquippedItems); - num = ((inventoryContainer != null) ? 1686328551 : 1686328559); - continue; - IL_02b5: - ptr = InventoryManager.Instance(); - num = ((ptr != null) ? 1686328572 : 1686328550); - continue; - IL_01e9: - num = ((equippedSlotIndex < 0) ? 1686328555 : 1686328547); - continue; - end_IL_004a: - break; - } - goto case 6; - IL_036b: - inventoryType2 = InventoryType.ArmoryNeck; - num = 1686328552; - goto IL_004a; - IL_0351: - inventoryType2 = InventoryType.ArmoryHead; - num = 1686328552; - goto IL_004a; - IL_0301: - inventoryType2 = InventoryType.ArmoryEar; - num = 1686328552; - goto IL_004a; - IL_02db: - inventoryType2 = InventoryType.ArmoryHands; - num = 1686328552; - goto IL_004a; - IL_029d: - inventoryType2 = InventoryType.ArmorySoulCrystal; - num = 1686328552; - goto IL_004a; - IL_0271: - inventoryType2 = InventoryType.ArmoryWrist; - num = 1686328552; - goto IL_004a; - IL_0259: - inventoryType2 = null; - num = 1686328552; - goto IL_004a; - IL_022c: - inventoryType2 = InventoryType.ArmoryOffHand; - num = 1686328552; - goto IL_004a; - IL_01d1: - inventoryType2 = InventoryType.ArmoryBody; - num = 1686328552; - goto IL_004a; - IL_018d: - inventoryType2 = InventoryType.ArmoryFeets; - num = 1686328552; - goto IL_004a; - IL_0147: - inventoryType2 = InventoryType.ArmoryMainHand; - num = 1686328552; - goto IL_004a; - IL_0106: - inventoryType2 = InventoryType.ArmoryRings; - num = 1686328552; - goto IL_004a; + inventoryType = InventoryType.ArmorySoulCrystal; + break; + default: + inventoryType = null; + break; } + InventoryType? inventoryType2 = inventoryType; + if (inventoryType2.HasValue) + { + InventoryType valueOrDefault = inventoryType2.GetValueOrDefault(); + InventoryManager* ptr = InventoryManager.Instance(); + if (ptr == null) + { + return false; + } + InventoryContainer* inventoryContainer = ptr->GetInventoryContainer(InventoryType.EquippedItems); + if (inventoryContainer == null) + { + return false; + } + if (equippedSlotIndex < 0 || equippedSlotIndex >= inventoryContainer->Size) + { + return false; + } + InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(equippedSlotIndex); + if (inventorySlot == null || inventorySlot->ItemId == 0) + { + return false; + } + int? num = FindFreeSlot(valueOrDefault); + if (num.HasValue) + { + int valueOrDefault2 = num.GetValueOrDefault(); + ptr->MoveItemSlot(InventoryType.EquippedItems, (ushort)equippedSlotIndex, valueOrDefault, (ushort)valueOrDefault2, a6: true); + return true; + } + return false; + } + return false; } } diff --git a/LLib/LLib.Gear/EquipmentSlots.cs b/LLib/LLib.Gear/EquipmentSlots.cs index 9e9c7bf..3534205 100644 --- a/LLib/LLib.Gear/EquipmentSlots.cs +++ b/LLib/LLib.Gear/EquipmentSlots.cs @@ -11,48 +11,20 @@ public static class EquipmentSlots public unsafe static InventoryContainer* GetEquippedContainer() { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? (-579848400) : (-579848397)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -579848398; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 1: - return null; - case 2: - return ptr->GetInventoryContainer(InventoryType.EquippedItems); - } - continue; - IL_0049: - num = -579848397; + return null; } + return ptr->GetInventoryContainer(InventoryType.EquippedItems); } public unsafe static bool TryGetEquippedItem(InventoryContainer* container, int slotIndex, out InventoryItem* item) { item = container->GetInventorySlot(slotIndex); - int num = ((item == null) ? 365336456 : 365336459); - while (true) + if (item != null) { - int num2 = num; - int num3 = 365336458; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004d; - case 2: - return false; - case 1: - return item->ItemId != 0; - } - continue; - IL_004d: - num = 365336459; + return item->ItemId != 0; } + return false; } } diff --git a/LLib/LLib.Gear/EquipmentStats.cs b/LLib/LLib.Gear/EquipmentStats.cs index c18a75a..627f255 100644 --- a/LLib/LLib.Gear/EquipmentStats.cs +++ b/LLib/LLib.Gear/EquipmentStats.cs @@ -1,23 +1,11 @@ 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)); @@ -26,79 +14,19 @@ public sealed record EquipmentStats(Dictionary Stats, byte 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; - } + return value?.EquipmentValue ?? 0; } 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; - } + return value?.MateriaValue ?? 0; } 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; - } + return value?.Overcapped ?? false; } public bool Has(EBaseParam substat) @@ -113,197 +41,30 @@ public sealed record EquipmentStats(Dictionary Stats, byte public bool Equals(EquipmentStats? other) { - int num = ((other == null) ? 948419368 : 948419369); - StatInfo statInfo = default(StatInfo); - StatInfo value2 = default(StatInfo); - while (true) + if (other == null || MateriaCount != other.MateriaCount || Stats.Count != other.Stats.Count) { - int num2 = num; - int num3 = 948419368; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return false; + } + foreach (var (key, objA) in Stats) + { + if (!other.Stats.TryGetValue(key, out StatInfo value) || !object.Equals(objA, value)) { - 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); + return true; } public override int GetHashCode() { int num = MateriaCount.GetHashCode(); - using Dictionary.Enumerator enumerator = Stats.GetEnumerator(); - int num2 = 1490502903; - while (true) + foreach (KeyValuePair stat in Stats) { - 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; - } + stat.Deconstruct(out var key, out var value); + EBaseParam value2 = key; + StatInfo value3 = value; + num ^= HashCode.Combine(value2, value3); } - } - - [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); + return num; } } diff --git a/LLib/LLib.Gear/ExtendedBaseParam.cs b/LLib/LLib.Gear/ExtendedBaseParam.cs index 45f0e7f..31ecdd8 100644 --- a/LLib/LLib.Gear/ExtendedBaseParam.cs +++ b/LLib/LLib.Gear/ExtendedBaseParam.cs @@ -27,47 +27,15 @@ public readonly struct ExtendedBaseParam : IExcelRow private static ushort EquipSlotCategoryPctCtor(ExcelPage page, uint parentOffset, uint offset, uint i) { - int num = ((i == 0) ? 1726719508 : 1726719511); - while (true) + if (i != 0) { - int num2 = num; - int num3 = 1726719510; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0043; - case 2: - return 0; - case 1: - { - num3 = 8; - num4 = (int)offset; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - int num9 = num7 + (num8 + num8); - num3 = 1; - num4 = (int)i; - num3 = ~(~num4 + num3) * 2; - num4 = num9; - return _206B_202D_206F_202C_206F_202A_206D_202D_202E_206C_206D_206A_200D_200F_206B_200D_200E_202D_206F_206A_202C_200F_206B_200B_200B_200E_200C_202D_206E_200C_206E_206E_200E_200B_202A_202E_202B_206A_206A_206F_202E(page, (nuint)(uint)((num4 | num3) + (num4 & num3))); - } - } - continue; - IL_0043: - num = 1726719511; + return page.ReadUInt16(offset + 8 + (i - 1) * 2); } + return 0; } public static ExtendedBaseParam Create(ExcelPage page, uint offset, uint row) { return new ExtendedBaseParam(page, offset, row); } - - static ushort _206B_202D_206F_202C_206F_202A_206D_202D_202E_206C_206D_206A_200D_200F_206B_200D_200E_202D_206F_206A_202C_200F_206B_200B_200B_200E_200C_202D_206E_200C_206E_206E_200E_200B_202A_202E_202B_206A_206A_206F_202E(ExcelPage P_0, nuint P_1) - { - return P_0.ReadUInt16(P_1); - } } diff --git a/LLib/LLib.Gear/ExtractActions.cs b/LLib/LLib.Gear/ExtractActions.cs index 6be6a60..ff33997 100644 --- a/LLib/LLib.Gear/ExtractActions.cs +++ b/LLib/LLib.Gear/ExtractActions.cs @@ -1,4 +1,3 @@ -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Component.GUI; @@ -13,147 +12,63 @@ public static class ExtractActions public unsafe static bool TryOpenExtractionWindow() { ActionManager* ptr = ActionManager.Instance(); - int num = ((ptr != null) ? 1517753475 : 1517753472); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1517753473; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 2: - return ptr->UseAction(ActionType.GeneralAction, 14u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); - case 1: - return false; - } - continue; - IL_004b: - num = 1517753472; + return false; } + return ptr->UseAction(ActionType.GeneralAction, 14u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool IsExtractionAddonReady(IGameGui gameGui) { AtkUnitBase* addonPtr; - return gameGui.TryGetReadyAddon(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(1975097749), out addonPtr); + return gameGui.TryGetReadyAddon("Materialize", out addonPtr); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryExtractFirst(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetReadyAddon(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-1577561758), out addonPtr) ? 1656734997 : 1656734996); - while (true) + if (!gameGui.TryGetReadyAddon("Materialize", out var addonPtr)) { - int num2 = num; - int num3 = 1656734997; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - AddonCallback.FireWithUpdate(addonPtr, 2, 0); - return true; - case 1: - return false; - case 2: - goto IL_0068; - } - continue; - IL_0068: - num = 1656734996; + return false; } + AddonCallback.FireWithUpdate(addonPtr, 2, 0); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool IsConfirmDialogReady(IGameGui gameGui) { AtkUnitBase* addonPtr; - return gameGui.TryGetReadyAddon(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(1781947130), out addonPtr); + return gameGui.TryGetReadyAddon("MaterializeDialog", out addonPtr); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryConfirmExtraction(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetReadyAddon(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(839489786), out addonPtr) ? (-1818884272) : (-1818884269)); - while (true) + if (!gameGui.TryGetReadyAddon("MaterializeDialog", out var addonPtr)) { - int num2 = num; - int num3 = -1818884271; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0052; - case 2: - return false; - case 1: - AddonCallback.Fire(addonPtr, default(int)); - return true; - } - continue; - IL_0052: - num = -1818884269; + return false; } + AddonCallback.Fire(addonPtr, default(int)); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TrySwitchCategory(IGameGui gameGui, int category) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetReadyAddon(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(1975097749), out addonPtr) ? (-1576577779) : (-1576577778)); - while (true) + if (!gameGui.TryGetReadyAddon("Materialize", out var addonPtr)) { - int num2 = num; - int num3 = -1576577780; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - AddonCallback.Fire(addonPtr, 1, category); - return true; - case 2: - return false; - case 0: - goto IL_006a; - } - continue; - IL_006a: - num = -1576577778; + return false; } + AddonCallback.Fire(addonPtr, 1, category); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryCloseExtractionWindow(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetReadyAddon(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1686317250), out addonPtr) ? 930280316 : 930280319); - while (true) + if (!gameGui.TryGetReadyAddon("Materialize", out var addonPtr)) { - int num2 = num; - int num3 = 930280317; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0052; - case 2: - return false; - case 1: - AddonCallback.Fire(addonPtr, -1); - return true; - } - continue; - IL_0052: - num = 930280319; + return false; } + AddonCallback.Fire(addonPtr, -1); + return true; } public static bool IsExtractionUnlocked() diff --git a/LLib/LLib.Gear/GearConditionHelper.cs b/LLib/LLib.Gear/GearConditionHelper.cs index 02f80a8..8c21345 100644 --- a/LLib/LLib.Gear/GearConditionHelper.cs +++ b/LLib/LLib.Gear/GearConditionHelper.cs @@ -12,341 +12,121 @@ public static class GearConditionHelper public unsafe static int? GetLowestConditionPercent() { InventoryContainer* equippedContainer = EquipmentSlots.GetEquippedContainer(); - int num = ((equippedContainer != null) ? 136938409 : 136938411); - int? result = default(int?); - int num9 = default(int); - int num8 = default(int); - InventoryItem* item = default(InventoryItem*); - while (true) + if (equippedContainer == null) { - int num2 = num; - int num3 = 136938412; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return null; + } + int? result = null; + for (int i = 0; i < 13; i++) + { + if (i != 5 && EquipmentSlots.TryGetEquippedItem(equippedContainer, i, out var item)) { - case 10: - return result; - case 8: - result = num9; - num = 136938405; - break; - case 4: - num = ((num8 == 5) ? 136938405 : 136938410); - break; - case 7: - return null; - case 6: - num = ((!EquipmentSlots.TryGetEquippedItem(equippedContainer, num8, out item)) ? 136938405 : 136938414); - break; - case 1: - num = ((num9 >= result.Value) ? 136938405 : 136938404); - break; - case 2: - num9 = item->Condition * 100 / 30000; - num = ((!result.HasValue) ? 136938404 : 136938413); - break; - case 5: - result = null; - num8 = 0; - num = 136938415; - break; - case 3: - num = ((num8 < 13) ? 136938408 : 136938406); - break; - case 0: - num = 136938411; - break; - case 9: - { - int num7 = num8; - num3 = 1; - num4 = num7; - num8 = (num4 | num3) + (num4 & num3); - num = 136938415; - break; - } + int num = item->Condition * 100 / 30000; + if (!result.HasValue || num < result.Value) + { + result = num; + } } } + return result; } public unsafe static List GetAllSlotConditions() { List list = new List(13); InventoryContainer* equippedContainer = EquipmentSlots.GetEquippedContainer(); - int num = ((equippedContainer != null) ? 1727066767 : 1727066762); - int num5 = default(int); - InventoryItem* item = default(InventoryItem*); - while (true) + if (equippedContainer == null) { - int num2 = num; - int num3 = 1727066761; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return list; + } + for (int i = 0; i < 13; i++) + { + if (i != 5 && EquipmentSlots.TryGetEquippedItem(equippedContainer, i, out var item)) { - case 4: - num = ((num5 < 13) ? 1727066764 : 1727066763); - break; - case 6: - num5 = 0; - num = 1727066765; - break; - case 3: - return list; - case 8: - { - int num6 = num5; - num3 = 1; - num4 = num6; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - num5 = num7 + (num8 + num8); - num = 1727066765; - break; - } - case 7: - list.Add(new SlotCondition(num5, item->ItemId, item->Condition * 100 / 30000)); - num = 1727066753; - break; - case 5: - num = ((num5 == 5) ? 1727066753 : 1727066760); - break; - case 0: - num = 1727066762; - break; - case 1: - num = ((!EquipmentSlots.TryGetEquippedItem(equippedContainer, num5, out item)) ? 1727066753 : 1727066766); - break; - case 2: - return list; + list.Add(new SlotCondition(i, item->ItemId, item->Condition * 100 / 30000)); } } + return list; } public unsafe static bool HasSpiritbondReadyItem(bool includeBags = false) { InventoryContainer* equippedContainer = EquipmentSlots.GetEquippedContainer(); - int num = ((equippedContainer == null) ? 566966460 : 566966456); - int num5 = default(int); - InventoryContainer* inventoryContainer = default(InventoryContainer*); - int num6 = default(int); - InventoryItem* item = default(InventoryItem*); - InventoryType inventoryType = default(InventoryType); - InventoryItem* inventorySlot = default(InventoryItem*); - InventoryManager* ptr = default(InventoryManager*); - while (true) + if (equippedContainer != null) { - int num2 = num; - int num3 = 566966450; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + for (int i = 0; i < 13; i++) { - case 15: - num = ((num5 < inventoryContainer->Size) ? 566966433 : 566966438); - break; - case 14: - num = (includeBags ? 566966451 : 566966463); - break; - case 4: - num = ((!EquipmentSlots.TryGetEquippedItem(equippedContainer, num6, out item)) ? 566966442 : 566966449); - break; - case 24: - { - int num8 = num6; - num3 = 1; - num4 = num8; - num6 = (num4 | num3) + (num4 & num3); - num = 566966452; - break; - } - case 5: - { - int num7 = num5; - num3 = 1; - num4 = num7; - num5 = (num4 | num3) + (num4 & num3); - num = 566966461; - break; - } - case 7: - num5 = 0; - num = 566966461; - break; - case 18: - num = 566966456; - break; - case 3: - num = ((item->SpiritbondOrCollectability < 10000) ? 566966442 : 566966458); - break; - case 10: - num6 = 0; - num = 566966452; - break; - case 6: - num = ((num6 < 13) ? 566966459 : 566966460); - break; - case 20: - inventoryType++; - num = 566966439; - break; - case 12: - num = (((inventorySlot->Flags & InventoryItem.ItemFlags.Collectable) != InventoryItem.ItemFlags.None) ? 566966455 : 566966457); - break; - case 19: - inventorySlot = inventoryContainer->GetInventorySlot(num5); - num = ((inventorySlot == null) ? 566966455 : 566966434); - break; - case 2: - return false; - case 8: - return true; - case 17: - inventoryContainer = ptr->GetInventoryContainer(inventoryType); - num = ((inventoryContainer == null) ? 566966438 : 566966453); - break; - case 11: - num = ((inventorySlot->SpiritbondOrCollectability < 10000) ? 566966455 : 566966437); - break; - case 23: - return true; - case 22: - return false; - case 13: - return false; - case 16: - num = ((inventorySlot->ItemId == 0) ? 566966455 : 566966462); - break; - case 21: - num = ((inventoryType <= InventoryType.Inventory4) ? 566966435 : 566966436); - break; - case 9: - num = ((num6 == 5) ? 566966442 : 566966454); - break; - case 0: - inventoryType = InventoryType.Inventory1; - num = 566966439; - break; - case 1: - ptr = InventoryManager.Instance(); - num = ((ptr != null) ? 566966450 : 566966448); - break; + if (i != 5 && EquipmentSlots.TryGetEquippedItem(equippedContainer, i, out var item) && item->SpiritbondOrCollectability >= 10000) + { + return true; + } } } + if (!includeBags) + { + return false; + } + InventoryManager* ptr = InventoryManager.Instance(); + if (ptr == null) + { + return false; + } + for (InventoryType inventoryType = InventoryType.Inventory1; inventoryType <= InventoryType.Inventory4; inventoryType++) + { + InventoryContainer* inventoryContainer = ptr->GetInventoryContainer(inventoryType); + if (inventoryContainer == null) + { + continue; + } + for (int j = 0; j < inventoryContainer->Size; j++) + { + InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(j); + if (inventorySlot != null && inventorySlot->ItemId != 0 && (inventorySlot->Flags & InventoryItem.ItemFlags.Collectable) == 0 && inventorySlot->SpiritbondOrCollectability >= 10000) + { + return true; + } + } + } + return false; } public unsafe static int? GetLowestSpiritbondPercent() { InventoryContainer* equippedContainer = EquipmentSlots.GetEquippedContainer(); - int num = ((equippedContainer != null) ? 1500996181 : 1500996188); - int? result = default(int?); - int num8 = default(int); - int num7 = default(int); - InventoryItem* item = default(InventoryItem*); - while (true) + if (equippedContainer == null) { - int num2 = num; - int num3 = 1500996182; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return null; + } + int? result = null; + for (int i = 0; i < 13; i++) + { + if (i != 5 && EquipmentSlots.TryGetEquippedItem(equippedContainer, i, out var item)) { - case 4: - num = 1500996188; - break; - case 6: - result = num8; - num = 1500996183; - break; - case 9: - num = ((num7 < 13) ? 1500996177 : 1500996180); - break; - case 10: - return null; - case 0: - num = ((!EquipmentSlots.TryGetEquippedItem(equippedContainer, num7, out item)) ? 1500996183 : 1500996190); - break; - case 5: - num = ((num8 >= result.Value) ? 1500996183 : 1500996176); - break; - case 1: - { - int num9 = num7; - num3 = 1; - num4 = num9; - int num10 = num4 ^ num3; - int num11 = num4 & num3; - num7 = num10 + (num11 + num11); - num = 1500996191; - break; - } - case 8: - num8 = item->SpiritbondOrCollectability * 100 / 10000; - num = ((!result.HasValue) ? 1500996176 : 1500996179); - break; - case 7: - num = ((num7 == 5) ? 1500996183 : 1500996182); - break; - case 2: - return result; - case 3: - result = null; - num7 = 0; - num = 1500996191; - break; + int num = item->SpiritbondOrCollectability * 100 / 10000; + if (!result.HasValue || num < result.Value) + { + result = num; + } } } + return result; } public unsafe static List GetAllSpiritbondInfo() { List list = new List(13); InventoryContainer* equippedContainer = EquipmentSlots.GetEquippedContainer(); - int num = ((equippedContainer != null) ? 818481642 : 818481641); - int num5 = default(int); - InventoryItem* item = default(InventoryItem*); - while (true) + if (equippedContainer == null) { - int num2 = num; - int num3 = 818481643; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return list; + } + for (int i = 0; i < 13; i++) + { + if (i != 5 && EquipmentSlots.TryGetEquippedItem(equippedContainer, i, out var item)) { - case 5: - num = ((!EquipmentSlots.TryGetEquippedItem(equippedContainer, num5, out item)) ? 818481647 : 818481643); - break; - case 7: - num = ((num5 == 5) ? 818481647 : 818481646); - break; - case 1: - num5 = 0; - num = 818481645; - break; - case 4: - { - int num6 = num5; - num3 = 1; - num4 = num6; - num5 = (num4 | num3) + (num4 & num3); - num = 818481645; - break; - } - case 8: - return list; - case 2: - return list; - case 6: - num = ((num5 < 13) ? 818481644 : 818481635); - break; - case 0: - list.Add(new SlotSpiritbond(num5, item->ItemId, item->SpiritbondOrCollectability * 100 / 10000, item->SpiritbondOrCollectability >= 10000)); - num = 818481647; - break; - case 3: - num = 818481641; - break; + list.Add(new SlotSpiritbond(i, item->ItemId, item->SpiritbondOrCollectability * 100 / 10000, item->SpiritbondOrCollectability >= 10000)); } } + return list; } } diff --git a/LLib/LLib.Gear/GearStatsCalculator.cs b/LLib/LLib.Gear/GearStatsCalculator.cs index f96528a..110449b 100644 --- a/LLib/LLib.Gear/GearStatsCalculator.cs +++ b/LLib/LLib.Gear/GearStatsCalculator.cs @@ -1,9 +1,6 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Linq; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using Lumina.Excel; @@ -13,236 +10,15 @@ namespace LLib.Gear; public sealed class GearStatsCalculator { - private sealed record MateriaInfo(EBaseParam BaseParam, Collection Values, bool HasItem) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202B_200E_202C_202C_206A_206B_206F_202B_200B_206C_202A_206A_206E_202C_206C_206B_202A_200E_202D_202C_200C_206B_206A_202B_202D_200F_206F_202A_206F_202D_200B_202E_200B_200D_206F_206B_202B_200D_206F_202B_202E(typeof(MateriaInfo).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200E_206B_206B_202B_200C_200E_206C_202E_202C_202D_202B_202A_206E_202E_200C_206F_202A_202E_206F_206A_202C_206D_202B_200D_206E_200D_202A_202B_206D_202E_206F_206F_202A_206D_206F_200E_200B_202B_206D_206C_202E(); - _206A_206C_200F_200C_202A_202E_200D_202E_206E_206C_200B_206D_202A_200B_200B_206E_200B_206C_206B_200C_200C_206E_206D_200B_206C_202B_202E_206E_206B_202C_206A_200D_200F_206A_200F_206A_200B_200C_206F_206D_202E(stringBuilder, 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(-451610657)); - _206A_206C_200F_200C_202A_202E_200D_202E_206E_206C_200B_206D_202A_200B_200B_206E_200B_206C_206B_200C_200C_206E_206D_200B_206C_202B_202E_206E_206B_202C_206A_200D_200F_206A_200F_206A_200B_200C_206F_206D_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)) ? 3927346 : 3927345); - while (true) - { - int num2 = num; - int num3 = 3927347; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _202B_202B_202D_202C_200B_206A_202A_200C_202E_206E_200C_202C_200D_202E_202A_202B_200B_200B_202A_200D_206B_202E_206B_206F_200C_200C_202D_206F_200B_200B_206D_206A_206B_202C_206B_200D_206C_202A_202C_202A_202E(stringBuilder, '}'); - return _200D_200C_206A_202A_206D_206E_200D_200B_200D_202C_202A_202E_206D_200F_206D_206A_202C_206D_200D_206D_206D_200E_200D_202C_202D_200B_202B_206A_202D_200D_206B_206E_206E_202E_206F_206B_202A_202C_206E_202B_202E((object)stringBuilder); - case 2: - _202B_202B_202D_202C_200B_206A_202A_200C_202E_206E_200C_202C_200D_202E_202A_202B_200B_200B_202A_200D_206B_202E_206B_206F_200C_200C_202D_206F_200B_200B_206D_206A_206B_202C_206B_200D_206C_202A_202C_202A_202E(stringBuilder, ' '); - num = 3927346; - break; - case 0: - num = 3927345; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202E_206B_200D_206D_202C_206F_206E_200F_200E_206E_200C_200D_200F_206B_206A_206A_206C_202B_200D_200C_202B_200D_206A_200C_206D_200F_202D_206F_206C_206B_206C_206B_202E_202B_200B_206D_200E_206F_202A_202E_202E(); - _206A_206C_200F_200C_202A_202E_200D_202E_206E_206C_200B_206D_202A_200B_200B_206E_200B_206C_206B_200C_200C_206E_206D_200B_206C_202B_202E_206E_206B_202C_206A_200D_200F_206A_200F_206A_200B_200C_206F_206D_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(-1366977224)); - _206A_206C_200F_200C_202A_202E_200D_202E_206E_206C_200B_206D_202A_200B_200B_206E_200B_206C_206B_200C_200C_206E_206D_200B_206C_202B_202E_206E_206B_202C_206A_200D_200F_206A_200F_206A_200B_200C_206F_206D_202E(builder, BaseParam.ToString()); - _206A_206C_200F_200C_202A_202E_200D_202E_206E_206C_200B_206D_202A_200B_200B_206E_200B_206C_206B_200C_200C_206E_206D_200B_206C_202B_202E_206E_206B_202C_206A_200D_200F_206A_200F_206A_200B_200C_206F_206D_202E(builder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-629506369)); - _206A_206C_200F_200C_202A_202E_200D_202E_206E_206C_200B_206D_202A_200B_200B_206E_200B_206C_206B_200C_200C_206E_206D_200B_206C_202B_202E_206E_206B_202C_206A_200D_200F_206A_200F_206A_200B_200C_206F_206D_202E(builder, Values.ToString()); - _206A_206C_200F_200C_202A_202E_200D_202E_206E_206C_200B_206D_202A_200B_200B_206E_200B_206C_206B_200C_200C_206E_206D_200B_206C_202B_202E_206E_206B_202C_206A_200D_200F_206A_200F_206A_200B_200C_206F_206D_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(2080820800)); - _206A_206C_200F_200C_202A_202E_200D_202E_206E_206C_200B_206D_202A_200B_200B_206E_200B_206C_206B_200C_200C_206E_206D_200B_206C_202B_202E_206E_206B_202C_206A_200D_200F_206A_200F_206A_200B_200C_206F_206D_202E(builder, HasItem.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(MateriaInfo? other) - { - int num = (((object)this == other) ? 217201442 : 217201446); - while (true) - { - int num2 = num; - int num3 = 217201441; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - num = ((!_206D_202A_206F_202A_202D_206D_206B_206C_206B_206D_200E_206C_202B_200E_206D_200D_202C_206B_206C_200C_200B_202E_200E_200E_206F_206F_206C_200F_200F_206F_206E_206D_202D_202E_200C_202B_206C_206A_200F_202C_202E(EqualityContract, other.EqualityContract)) ? 217201441 : 217201445); - break; - case 7: - num = (((object)other == null) ? 217201441 : 217201440); - break; - case 3: - return true; - case 5: - num = 217201446; - break; - case 0: - return false; - case 4: - num = ((!EqualityComparer.Default.Equals(BaseParam, other.BaseParam)) ? 217201441 : 217201443); - break; - case 2: - num = ((!EqualityComparer>.Default.Equals(Values, other.Values)) ? 217201441 : 217201447); - break; - case 6: - return EqualityComparer.Default.Equals(HasItem, other.HasItem); - } - } - } - - bool IEquatable.Equals(MateriaInfo? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202B_200E_202C_202C_206A_206B_206F_202B_200B_206C_202A_206A_206E_202C_206C_206B_202A_200E_202D_202C_200C_206B_206A_202B_202D_200F_206F_202A_206F_202D_200B_202E_200B_200D_206F_206B_202B_200D_206F_202B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200E_206B_206B_202B_200C_200E_206C_202E_202C_202D_202B_202A_206E_202E_200C_206F_202A_202E_206F_206A_202C_206D_202B_200D_206E_200D_202A_202B_206D_202E_206F_206F_202A_206D_206F_200E_200B_202B_206D_206C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206A_206C_200F_200C_202A_202E_200D_202E_206E_206C_200B_206D_202A_200B_200B_206E_200B_206C_206B_200C_200C_206E_206D_200B_206C_202B_202E_206E_206B_202C_206A_200D_200F_206A_200F_206A_200B_200C_206F_206D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202B_202B_202D_202C_200B_206A_202A_200C_202E_206E_200C_202C_200D_202E_202A_202B_200B_200B_202A_200D_206B_202E_206B_206F_200C_200C_202D_206F_200B_200B_206D_206A_206B_202C_206B_200D_206C_202A_202C_202A_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200D_200C_206A_202A_206D_206E_200D_200B_200D_202C_202A_202E_206D_200F_206D_206A_202C_206D_200D_206D_206D_200E_200D_202C_202D_200B_202B_206A_202D_200D_206B_206E_206E_202E_206F_206B_202A_202C_206E_202B_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202E_206B_200D_206D_202C_206F_206E_200F_200E_206E_200C_200D_200F_206B_206A_206A_206C_202B_200D_200C_202B_200D_206A_200C_206D_200F_202D_206F_206C_206B_206C_206B_202E_202B_200B_206D_200E_206F_202A_202E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _206D_202A_206F_202A_202D_206D_206B_206C_206B_206D_200E_206C_202B_200E_206D_200D_202C_206B_206C_200C_200B_202E_200E_200E_206F_206F_206C_200F_200F_206F_206E_206D_202D_202E_200C_202B_206C_206A_200F_202C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func> _003C_003E9__7_0; - - public static Func<(EBaseParam, int y, ushort), (EBaseParam, int)> _003C_003E9__7_1; - - public static Func<(EBaseParam, int y, ushort), ushort> _003C_003E9__7_2; - - public static Func _003C_003E9__7_3; - - public static Func _003C_003E9__7_4; - - public static Func _003C_003E9__7_5; - - internal IEnumerable<(EBaseParam, int y, ushort)> _003C_002Ector_003Eb__7_0(ExtendedBaseParam x) - { - _003C_003Ec__DisplayClass7_0 CS_0024_003C_003E8__locals3 = new _003C_003Ec__DisplayClass7_0 - { - x = x - }; - return from y in _202E_202C_202D_206C_200D_200C_206B_200C_206E_202A_206F_202E_206C_200E_206F_200D_202E_206F_202C_206F_200B_206C_206F_206C_206D_202D_202A_202E_202E_206E_206E_202A_206B_202B_202D_206F_202E_206B_202E_202C_202E(0, CS_0024_003C_003E8__locals3.x.EquipSlotCategoryPct.Count) - select ((EBaseParam)CS_0024_003C_003E8__locals3.x.RowId, y: y, CS_0024_003C_003E8__locals3.x.EquipSlotCategoryPct[y]); - } - - internal (EBaseParam, int) _003C_002Ector_003Eb__7_1((EBaseParam, int y, ushort) x) - { - return (x.Item1, x.y); - } - - internal ushort _003C_002Ector_003Eb__7_2((EBaseParam, int y, ushort) x) - { - return x.Item3; - } - - internal bool _003C_002Ector_003Eb__7_3(Materia x) - { - int num = ((x.RowId == 0) ? (-1542142344) : (-1542142341)); - while (true) - { - int num2 = num; - int num3 = -1542142343; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004a; - case 2: - return x.BaseParam.RowId != 0; - case 1: - return false; - } - continue; - IL_004a: - num = -1542142341; - } - } - - internal uint _003C_002Ector_003Eb__7_4(Materia x) - { - return x.RowId; - } - - internal MateriaInfo _003C_002Ector_003Eb__7_5(Materia x) - { - return new MateriaInfo((EBaseParam)x.BaseParam.RowId, x.Value, x.Item[0].RowId != 0); - } - - static IEnumerable _202E_202C_202D_206C_200D_200C_206B_200C_206E_202A_206F_202E_206C_200E_206F_200D_202E_206F_202C_206F_200B_206C_206F_206C_206D_202D_202A_202E_202E_206E_206E_202A_206B_202B_202D_206F_202E_206B_202E_202C_202E(int P_0, int P_1) - { - return Enumerable.Range(P_0, P_1); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass7_0 - { - public ExtendedBaseParam x; - - internal (EBaseParam, int y, ushort) _003C_002Ector_003Eb__6(int y) - { - return ((EBaseParam)x.RowId, y: y, x.EquipSlotCategoryPct[y]); - } - } + private sealed record MateriaInfo(EBaseParam BaseParam, Collection Values, bool HasItem); private const uint EternityRingItemId = 8575u; - private static readonly uint[] CanHaveOffhand; + private static readonly uint[] CanHaveOffhand = new uint[14] + { + 2u, 6u, 8u, 12u, 14u, 16u, 18u, 20u, 22u, 24u, + 26u, 28u, 30u, 32u + }; private readonly ExcelSheet _itemSheet; @@ -252,19 +28,17 @@ public sealed class GearStatsCalculator private readonly Dictionary _materiaStats; - [MethodImpl(MethodImplOptions.NoInlining)] public GearStatsCalculator(IDataManager? dataManager) - : this(dataManager?.GetExcelSheet() ?? throw _202D_206D_206E_202C_200B_200E_206C_202A_200B_200E_206A_200F_200F_202B_206E_200D_206F_200F_200C_206C_200E_200E_206F_200D_202D_206F_206B_206F_202D_200E_206A_200D_202D_200F_206E_200F_206B_206B_200D_206F_202E(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(167281534)), dataManager.GetExcelSheet(), dataManager.GetExcelSheet(), dataManager.GetExcelSheet()) + : this(dataManager?.GetExcelSheet() ?? throw new ArgumentNullException("dataManager"), dataManager.GetExcelSheet(), dataManager.GetExcelSheet(), dataManager.GetExcelSheet()) { } - [MethodImpl(MethodImplOptions.NoInlining)] public GearStatsCalculator(ExcelSheet itemLevelSheet, ExcelSheet baseParamSheet, ExcelSheet materiaSheet, ExcelSheet itemSheet) { - _202A_202D_206D_206A_200C_202C_200D_202E_202B_206C_206C_206A_200B_200C_200C_206D_202C_200E_206B_206F_202B_200D_206E_206F_202C_200F_202E_206B_200F_202A_202E_202B_200B_206B_200C_200B_206D_202D_206B_206F_202E((object)itemLevelSheet, 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(-1517214085)); - _202A_202D_206D_206A_200C_202C_200D_202E_202B_206C_206C_206A_200B_200C_200C_206D_202C_200E_206B_206F_202B_200D_206E_206F_202C_200F_202E_206B_200F_202A_202E_202B_200B_206B_200C_200B_206D_202D_206B_206F_202E((object)baseParamSheet, 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(1818459179)); - _202A_202D_206D_206A_200C_202C_200D_202E_202B_206C_206C_206A_200B_200C_200C_206D_202C_200E_206B_206F_202B_200D_206E_206F_202C_200F_202E_206B_200F_202A_202E_202B_200B_206B_200C_200B_206D_202D_206B_206F_202E((object)materiaSheet, 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(-1786404470)); - _202A_202D_206D_206A_200C_202C_200D_202E_202B_206C_206C_206A_200B_200C_200C_206D_202C_200E_206B_206F_202B_200D_206E_206F_202C_200F_202E_206B_200F_202A_202E_202B_200B_206B_200C_200B_206D_202D_206B_206F_202E((object)itemSheet, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1610602393)); + ArgumentNullException.ThrowIfNull(itemLevelSheet, "itemLevelSheet"); + ArgumentNullException.ThrowIfNull(baseParamSheet, "baseParamSheet"); + ArgumentNullException.ThrowIfNull(materiaSheet, "materiaSheet"); + ArgumentNullException.ThrowIfNull(itemSheet, "itemSheet"); _itemSheet = itemSheet; foreach (ItemLevel item in itemLevelSheet) { @@ -291,597 +65,217 @@ public sealed class GearStatsCalculator _itemLevelStatCaps[(item.RowId, EBaseParam.Craftsmanship)] = item.Craftsmanship; _itemLevelStatCaps[(item.RowId, EBaseParam.Control)] = item.Control; } - _equipSlotCategoryPct = baseParamSheet.SelectMany((ExtendedBaseParam x) => from y in _003C_003Ec._202E_202C_202D_206C_200D_200C_206B_200C_206E_202A_206F_202E_206C_200E_206F_200D_202E_206F_202C_206F_200B_206C_206F_206C_206D_202D_202A_202E_202E_206E_206E_202A_206B_202B_202D_206F_202E_206B_202E_202C_202E(0, x.EquipSlotCategoryPct.Count) + _equipSlotCategoryPct = baseParamSheet.SelectMany((ExtendedBaseParam x) => from y in Enumerable.Range(0, x.EquipSlotCategoryPct.Count) select ((EBaseParam)x.RowId, y: y, x.EquipSlotCategoryPct[y])).ToDictionary(((EBaseParam, int y, ushort) x) => (x.Item1, x.y), ((EBaseParam, int y, ushort) x) => x.Item3); - _materiaStats = materiaSheet.Where(delegate(Materia x) - { - int num = ((x.RowId == 0) ? (-1542142344) : (-1542142341)); - while (true) - { - int num2 = num; - int num3 = -1542142343; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004a; - case 2: - return x.BaseParam.RowId != 0; - case 1: - return false; - } - continue; - IL_004a: - num = -1542142341; - } - }).ToDictionary((Materia x) => x.RowId, (Materia x) => new MateriaInfo((EBaseParam)x.BaseParam.RowId, x.Value, x.Item[0].RowId != 0)); + _materiaStats = materiaSheet.Where((Materia x) => x.RowId != 0 && x.BaseParam.RowId != 0).ToDictionary((Materia x) => x.RowId, (Materia x) => new MateriaInfo((EBaseParam)x.BaseParam.RowId, x.Value, x.Item[0].RowId != 0)); } public unsafe EquipmentStats CalculateGearStats(InventoryItem* item) { List<(uint, byte)> list = new List<(uint, byte)>(); byte b = 0; - int num = ((item->ItemId == 8575) ? 190071822 : 190071818); - int num11 = default(int); - Item? rowOrDefault = default(Item?); - ushort num10 = default(ushort); - while (true) + if (item->ItemId != 8575) { - int num2 = num; - int num3 = 190071819; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + for (int i = 0; i < 5; i++) { - case 6: - { - int num12 = num11; - num3 = 1; - num4 = num12; - int num13 = num4 ^ num3; - int num14 = num4 & num3; - num11 = num13 + (num14 + num14); - num = 190071820; - break; - } - case 1: - num11 = 0; - num = 190071820; - break; - case 5: - rowOrDefault = _itemSheet.GetRowOrDefault(item->ItemId); - num = (rowOrDefault.HasValue ? 190071817 : 190071819); - break; - case 7: - num = ((num11 < 5) ? 190071811 : 190071822); - break; - case 3: - num = 190071818; - break; - case 8: - num10 = item->Materia[num11]; - num = ((num10 == 0) ? 190071821 : 190071823); - break; - case 0: - return new EquipmentStats(new Dictionary(), 0); - case 2: - return CalculateGearStats(rowOrDefault.Value, _206B_200B_206C_206A_200B_200C_206B_200B_202A_206F_206B_206A_206E_206A_200C_202E_206C_200E_200D_200E_202A_206E_200F_206B_200C_200D_200D_206F_206F_200D_206F_200D_206F_202C_202C_202A_200F_206C_206C_200E_202E((Enum)item->Flags, (Enum)InventoryItem.ItemFlags.HighQuality), list)with + ushort num = item->Materia[i]; + if (num != 0) { - MateriaCount = b - }; - case 4: - { - byte num7 = b; - num3 = 1; - num4 = num7; - int num8 = num4 ^ num3; - int num9 = num4 & num3; - b = (byte)(num8 + (num9 + num9)); - list.Add((num10, item->MateriaGrades[num11])); - num = 190071821; - break; - } + b++; + list.Add((num, item->MateriaGrades[i])); + } } } + Item? rowOrDefault = _itemSheet.GetRowOrDefault(item->ItemId); + if (!rowOrDefault.HasValue) + { + return new EquipmentStats(new Dictionary(), 0); + } + return CalculateGearStats(rowOrDefault.Value, item->Flags.HasFlag(InventoryItem.ItemFlags.HighQuality), list)with + { + MateriaCount = b + }; } - [MethodImpl(MethodImplOptions.NoInlining)] public EquipmentStats CalculateGearStats(Item item, bool highQuality, IReadOnlyList<(uint MateriaId, byte Grade)> materias) { - _202A_202D_206D_206A_200C_202C_200D_202E_202B_206C_206C_206A_200B_200C_200C_206D_202C_200E_206B_206F_202B_200D_206E_206F_202C_200F_202E_206B_200F_202A_202E_202B_200B_206B_200C_200B_206D_202D_206B_206F_202E((object)materias, 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(-6679386)); + ArgumentNullException.ThrowIfNull(materias, "materias"); Dictionary dictionary = new Dictionary(); - int num = ((item.DamagePhys <= 0) ? (-1164820612) : (-1164820623)); - int num12 = default(int); - int num11 = default(int); - MateriaInfo value = default(MateriaInfo); - (uint, byte) current = default((uint, byte)); - while (true) + if (item.DamagePhys > 0) { - int num2 = num; - int num3 = -1164820618; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + dictionary[EBaseParam.DamagePhys] = new StatInfo((short)item.DamagePhys, 0, Overcapped: false); + } + if (item.DamageMag > 0) + { + dictionary[EBaseParam.DamageMag] = new StatInfo((short)item.DamageMag, 0, Overcapped: false); + } + for (int i = 0; i < item.BaseParam.Count; i++) + { + AddEquipmentStat(dictionary, item.BaseParam[i], item.BaseParamValue[i]); + } + if (highQuality) + { + for (int j = 0; j < item.BaseParamSpecial.Count; j++) { - case 3: - num12 = 0; - num = -1164820618; - break; - case 4: - { - AddEquipmentStat(dictionary, item.BaseParam[num12], item.BaseParamValue[num12]); - int num13 = num12; - num3 = 1; - num4 = num13; - num12 = (num4 | num3) + (num4 & num3); - num = -1164820618; - break; - } - case 5: - dictionary[EBaseParam.DamageMag] = new StatInfo((short)item.DamageMag, 0, Overcapped: false); - num = -1164820619; - break; - case 6: - { - AddEquipmentStat(dictionary, item.BaseParamSpecial[num11], item.BaseParamValueSpecial[num11]); - int num14 = num11; - num3 = 1; - num4 = num14; - num11 = (num4 | num3) + (num4 & num3); - num = -1164820620; - break; - } - case 10: - num = ((item.DamageMag <= 0) ? (-1164820619) : (-1164820621)); - break; - case 1: - num11 = 0; - num = -1164820620; - break; - case 8: - num = ((!highQuality) ? (-1164820611) : (-1164820617)); - break; - case 7: - dictionary[EBaseParam.DamagePhys] = new StatInfo((short)item.DamagePhys, 0, Overcapped: false); - num = -1164820612; - break; - case 0: - num = ((num12 < item.BaseParam.Count) ? (-1164820622) : (-1164820610)); - break; - case 9: - num = -1164820623; - break; - case 2: - num = ((num11 < item.BaseParamSpecial.Count) ? (-1164820624) : (-1164820611)); - break; - case 11: - { - IEnumerator<(uint, byte)> enumerator = materias.GetEnumerator(); - try - { - num = -1326444285; - while (true) - { - int num5 = num; - num3 = -1326444286; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 1: - num = (_202E_202E_202D_206D_206F_202E_202C_200F_200C_202B_206C_200D_200E_202B_202E_202E_202E_206F_202B_206A_200E_202B_202A_206C_206E_206C_206B_200C_202B_206D_202A_202D_206E_200B_202A_202A_206A_200B_202B_202E((IEnumerator)enumerator) ? (-1326444287) : (-1326444286)); - break; - case 2: - AddMateriaStat(item, dictionary, value, current.Item2); - num = -1326444285; - break; - case 3: - current = enumerator.Current; - num = ((!_materiaStats.TryGetValue(current.Item1, out value)) ? (-1326444285) : (-1326444288)); - break; - case 4: - num = -1326444285; - break; - case 0: - goto end_IL_0238; - } - continue; - end_IL_0238: - break; - } - } - finally - { - num = ((enumerator == null) ? (-851721026) : (-851721027)); - while (true) - { - int num8 = num; - num3 = -851721025; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 1: - goto end_IL_0319; - case 2: - _202B_202D_200E_206F_202E_200D_202E_200B_202E_202C_202E_206E_206F_206C_200F_200C_202C_202D_206C_202E_200D_202E_200B_206D_200D_200D_206C_202E_206E_206C_202E_206C_202B_202B_202B_202D_206E_200E_200C_206D_202E((IDisposable)enumerator); - num = -851721026; - break; - case 0: - num = -851721027; - break; - } - continue; - end_IL_0319: - break; - } - } - return new EquipmentStats(dictionary, 0); - } + AddEquipmentStat(dictionary, item.BaseParamSpecial[j], item.BaseParamValueSpecial[j]); } } + foreach (var materia in materias) + { + if (_materiaStats.TryGetValue(materia.MateriaId, out MateriaInfo value)) + { + AddMateriaStat(item, dictionary, value, materia.Grade); + } + } + return new EquipmentStats(dictionary, 0); } private static void AddEquipmentStat(Dictionary result, RowRef baseParam, short value) { - int num = ((baseParam.RowId != 0) ? (-1609748606) : (-1609748602)); - StatInfo value2 = default(StatInfo); - while (true) + if (baseParam.RowId != 0) { - int num2 = num; - int num3 = -1609748606; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (result.TryGetValue((EBaseParam)baseParam.RowId, out StatInfo value2)) { - case 2: - num = -1609748602; - break; - case 3: result[(EBaseParam)baseParam.RowId] = value2 with { EquipmentValue = (short)(value2.EquipmentValue + value) }; - return; - case 4: - return; - case 1: + } + else + { result[(EBaseParam)baseParam.RowId] = new StatInfo(value, 0, Overcapped: false); - return; - case 0: - num = ((!result.TryGetValue((EBaseParam)baseParam.RowId, out value2)) ? (-1609748605) : (-1609748607)); - break; } } } private void AddMateriaStat(Item item, Dictionary result, MateriaInfo materiaInfo, short grade) { - StatInfo value; - int num = (result.TryGetValue(materiaInfo.BaseParam, out value) ? 1378115408 : 1378115409); - short num5 = default(short); - while (true) + if (!result.TryGetValue(materiaInfo.BaseParam, out StatInfo value)) { - int num2 = num; - int num3 = 1378115413; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + value = (result[materiaInfo.BaseParam] = new StatInfo(0, 0, Overcapped: false)); + } + if (materiaInfo.HasItem) + { + short num = (short)Math.Max(0, GetMaximumStatValue(item, materiaInfo.BaseParam) - value.EquipmentValue); + if (value.MateriaValue + materiaInfo.Values[grade] > num) { - case 6: - num = 1378115409; - break; - case 0: result[materiaInfo.BaseParam] = value with { - MateriaValue = (short)(value.MateriaValue + materiaInfo.Values[grade]) - }; - return; - case 4: - value = (result[materiaInfo.BaseParam] = new StatInfo(0, 0, Overcapped: false)); - num = 1378115408; - break; - case 2: - result[materiaInfo.BaseParam] = value with - { - MateriaValue = num5, + MateriaValue = num, Overcapped = true }; - return; - case 5: - num = ((!materiaInfo.HasItem) ? 1378115413 : 1378115414); - break; - case 3: - num5 = (short)_206C_206F_200B_206F_202D_200C_202E_202C_202E_200C_202A_200D_200D_200D_200F_206B_206A_200B_200B_206E_200D_206E_206E_202B_206E_202D_200F_202B_200C_202E_202A_206D_200F_206E_202C_206B_200F_206B_206D_202C_202E(0, GetMaximumStatValue(item, materiaInfo.BaseParam) - value.EquipmentValue); - num = ((value.MateriaValue + materiaInfo.Values[grade] <= num5) ? 1378115412 : 1378115415); - break; - case 1: + } + else + { result[materiaInfo.BaseParam] = value with { MateriaValue = (short)(value.MateriaValue + materiaInfo.Values[grade]) }; - return; } } + else + { + result[materiaInfo.BaseParam] = value with + { + MateriaValue = (short)(value.MateriaValue + materiaInfo.Values[grade]) + }; + } } public short GetMaximumStatValue(Item item, EBaseParam baseParamValue) { - ushort value; - int num = ((!_itemLevelStatCaps.TryGetValue((item.LevelItem.RowId, baseParamValue), out value)) ? 740973538 : 740973537); - while (true) + if (_itemLevelStatCaps.TryGetValue((item.LevelItem.RowId, baseParamValue), out var value)) { - int num2 = num; - int num3 = 740973536; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_006a; - case 1: - return (short)_200B_206F_202B_202B_206A_200F_200E_206E_206D_206E_206F_202C_200E_200D_202E_202B_202D_202E_200B_206A_206E_206D_202A_200D_206B_206A_206F_206A_202E_206E_202B_200B_200B_200C_206A_206F_202C_206E_202C_200C_202E((double)((float)(value * _equipSlotCategoryPct[(baseParamValue, (int)item.EquipSlotCategory.RowId)]) / 1000f), MidpointRounding.AwayFromZero); - case 2: - return 0; - } - continue; - IL_006a: - num = 740973537; + return (short)Math.Round((float)(value * _equipSlotCategoryPct[(baseParamValue, (int)item.EquipSlotCategory.RowId)]) / 1000f, MidpointRounding.AwayFromZero); } + return 0; } public unsafe short CalculateAverageItemLevel(InventoryContainer* container) { - int num = ((container != null) ? 1354599352 : 1354599354); - Item? rowOrDefault = default(Item?); - InventoryItem* inventorySlot = default(InventoryItem*); - int num10 = default(int); - int num8 = default(int); - uint num7 = default(uint); - while (true) + if (container == null) { - int num2 = num; - int num3 = 1354599355; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - rowOrDefault = _itemSheet.GetRowOrDefault(inventorySlot->ItemId); - num = ((!rowOrDefault.HasValue) ? 1354599358 : 1354599349); - break; - case 5: - { - int num13 = num10; - num3 = 1; - num4 = num13; - int num14 = num4 ^ num3; - int num15 = num4 & num3; - num10 = num14 + (num15 + num15); - num = 1354599348; - break; - } - case 1: - return 0; - case 16: - num = ((num10 != 0) ? 1354599346 : 1354599347); - break; - case 9: - { - int num11 = num8; - num3 = 1; - num4 = num11; - num8 = ~(~num4 + num3); - num = 1354599358; - break; - } - case 11: - inventorySlot = container->GetInventorySlot(num10); - num = ((inventorySlot == null) ? 1354599358 : 1354599336); - break; - case 17: - num = ((num10 != 0) ? 1354599345 : 1354599356); - break; - case 12: - { - num7 += rowOrDefault.Value.LevelItem.RowId; - int num12 = num10; - num3 = 1; - num4 = num12; - num10 = (num4 | num3) + (num4 & num3); - num = 1354599345; - break; - } - case 15: - num = ((num10 < 13) ? 1354599355 : 1354599337); - break; - case 3: - num7 = 0u; - num8 = 12; - num10 = 0; - num = 1354599348; - break; - case 6: - num = 1354599354; - break; - case 7: - num = (((ReadOnlySpan)CanHaveOffhand).Contains(rowOrDefault.Value.ItemUICategory.RowId) ? 1354599345 : 1354599351); - break; - case 0: - num = ((num10 == 5) ? 1354599358 : 1354599344); - break; - case 18: - num = ((num8 > 0) ? 1354599350 : 1354599359); - break; - case 4: - return 0; - case 14: - num = ((rowOrDefault.Value.ItemUICategory.RowId != 105) ? 1354599338 : 1354599339); - break; - case 19: - num = ((inventorySlot->ItemId == 0) ? 1354599358 : 1354599353); - break; - case 10: - num7 += rowOrDefault.Value.LevelItem.RowId; - num = 1354599358; - break; - case 8: - { - int num9 = num8; - num3 = 1; - num4 = num9; - num8 = ~(~num4 + num3); - num = 1354599346; - break; - } - case 13: - return (short)(num7 / num8); - } + return 0; } + uint num = 0u; + int num2 = 12; + for (int i = 0; i < 13; i++) + { + if (i == 5) + { + continue; + } + InventoryItem* inventorySlot = container->GetInventorySlot(i); + if (inventorySlot == null || inventorySlot->ItemId == 0) + { + continue; + } + Item? rowOrDefault = _itemSheet.GetRowOrDefault(inventorySlot->ItemId); + if (!rowOrDefault.HasValue) + { + continue; + } + if (rowOrDefault.Value.ItemUICategory.RowId == 105) + { + if (i == 0) + { + num2--; + } + num2--; + continue; + } + if (i == 0 && !((ReadOnlySpan)CanHaveOffhand).Contains(rowOrDefault.Value.ItemUICategory.RowId)) + { + num += rowOrDefault.Value.LevelItem.RowId; + i++; + } + num += rowOrDefault.Value.LevelItem.RowId; + } + if (num2 <= 0) + { + return 0; + } + return (short)(num / num2); } public unsafe EquipmentStats CalculateGearsetStats(InventoryContainer* container) { - int num = ((container != null) ? 335366351 : 335366348); - EBaseParam key = default(EBaseParam); - StatInfo statInfo = default(StatInfo); - StatInfo value = default(StatInfo); - while (true) + if (container == null) { - int num2 = num; - int num3 = 335366349; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004c; - case 1: - return new EquipmentStats(new Dictionary(), 0); - case 2: - { - Dictionary dictionary = new Dictionary(); - byte b = 0; - int num5 = 0; - while (num5 < 13) - { - if (num5 != 5) - { - InventoryItem* inventorySlot = container->GetInventorySlot(num5); - if (inventorySlot != null && inventorySlot->ItemId != 0) - { - EquipmentStats equipmentStats = CalculateGearStats(inventorySlot); - b += equipmentStats.MateriaCount; - using Dictionary.Enumerator enumerator = equipmentStats.Stats.GetEnumerator(); - num = 2133896260; - while (true) - { - int num6 = num; - num3 = 2133896256; - num4 = num6; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - dictionary[key] = statInfo; - num = 2133896260; - break; - case 1: - { - enumerator.Current.Deconstruct(out var key2, out var value2); - key = key2; - statInfo = value2; - num = ((!dictionary.TryGetValue(key, out value)) ? 2133896261 : 2133896256); - break; - } - case 3: - num = 2133896260; - break; - case 4: - num = (enumerator.MoveNext() ? 2133896257 : 2133896258); - break; - case 0: - dictionary[key] = value with - { - EquipmentValue = (short)(value.EquipmentValue + statInfo.EquipmentValue), - MateriaValue = (short)(value.MateriaValue + statInfo.MateriaValue), - Overcapped = (value.Overcapped || statInfo.Overcapped) - }; - num = 2133896260; - break; - case 2: - goto end_IL_00c3; - } - continue; - end_IL_00c3: - break; - } - } - } - int num7 = num5; - num3 = 1; - num4 = num7; - int num8 = num4 ^ num3; - int num9 = num4 & num3; - num5 = num8 + (num9 + num9); - } - return new EquipmentStats(dictionary, b); - } - } - continue; - IL_004c: - num = 335366348; + return new EquipmentStats(new Dictionary(), 0); } - } - - static GearStatsCalculator() - { - uint[] array = new uint[14]; - _206C_206E_200D_206F_206A_206D_200C_200C_200E_200B_200E_200C_202E_202E_200E_202A_206B_200F_206D_206A_206C_206F_206B_200F_202A_206A_206F_206F_202A_202B_202E_206A_202E_202E_200B_200B_202D_202A_206C_206C_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - CanHaveOffhand = array; - } - - static ArgumentNullException _202D_206D_206E_202C_200B_200E_206C_202A_200B_200E_206A_200F_200F_202B_206E_200D_206F_200F_200C_206C_200E_200E_206F_200D_202D_206F_206B_206F_202D_200E_206A_200D_202D_200F_206E_200F_206B_206B_200D_206F_202E(string P_0) - { - return new ArgumentNullException(P_0); - } - - static void _202A_202D_206D_206A_200C_202C_200D_202E_202B_206C_206C_206A_200B_200C_200C_206D_202C_200E_206B_206F_202B_200D_206E_206F_202C_200F_202E_206B_200F_202A_202E_202B_200B_206B_200C_200B_206D_202D_206B_206F_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static bool _206B_200B_206C_206A_200B_200C_206B_200B_202A_206F_206B_206A_206E_206A_200C_202E_206C_200E_200D_200E_202A_206E_200F_206B_200C_200D_200D_206F_206F_200D_206F_200D_206F_202C_202C_202A_200F_206C_206C_200E_202E(Enum P_0, Enum P_1) - { - return P_0.HasFlag(P_1); - } - - static bool _202E_202E_202D_206D_206F_202E_202C_200F_200C_202B_206C_200D_200E_202B_202E_202E_202E_206F_202B_206A_200E_202B_202A_206C_206E_206C_206B_200C_202B_206D_202A_202D_206E_200B_202A_202A_206A_200B_202B_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202B_202D_200E_206F_202E_200D_202E_200B_202E_202C_202E_206E_206F_206C_200F_200C_202C_202D_206C_202E_200D_202E_200B_206D_200D_200D_206C_202E_206E_206C_202E_206C_202B_202B_202B_202D_206E_200E_200C_206D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static int _206C_206F_200B_206F_202D_200C_202E_202C_202E_200C_202A_200D_200D_200D_200F_206B_206A_200B_200B_206E_200D_206E_206E_202B_206E_202D_200F_202B_200C_202E_202A_206D_200F_206E_202C_206B_200F_206B_206D_202C_202E(int P_0, int P_1) - { - return Math.Max(P_0, P_1); - } - - static double _200B_206F_202B_202B_206A_200F_200E_206E_206D_206E_206F_202C_200E_200D_202E_202B_202D_202E_200B_206A_206E_206D_202A_200D_206B_206A_206F_206A_202E_206E_202B_200B_200B_200C_206A_206F_202C_206E_202C_200C_202E(double P_0, MidpointRounding P_1) - { - return Math.Round(P_0, P_1); - } - - static void _206C_206E_200D_206F_206A_206D_200C_200C_200E_200B_200E_200C_202E_202E_200E_202A_206B_200F_206D_206A_206C_206F_206B_200F_202A_206A_206F_206F_202A_202B_202E_206A_202E_202E_200B_200B_202D_202A_206C_206C_202E(Array P_0, RuntimeFieldHandle P_1) - { - RuntimeHelpers.InitializeArray(P_0, P_1); + Dictionary dictionary = new Dictionary(); + byte b = 0; + for (int i = 0; i < 13; i++) + { + if (i == 5) + { + continue; + } + InventoryItem* inventorySlot = container->GetInventorySlot(i); + if (inventorySlot == null || inventorySlot->ItemId == 0) + { + continue; + } + EquipmentStats equipmentStats = CalculateGearStats(inventorySlot); + b += equipmentStats.MateriaCount; + foreach (var (key, statInfo2) in equipmentStats.Stats) + { + if (dictionary.TryGetValue(key, out var value)) + { + dictionary[key] = value with + { + EquipmentValue = (short)(value.EquipmentValue + statInfo2.EquipmentValue), + MateriaValue = (short)(value.MateriaValue + statInfo2.MateriaValue), + Overcapped = (value.Overcapped || statInfo2.Overcapped) + }; + } + else + { + dictionary[key] = statInfo2; + } + } + } + return new EquipmentStats(dictionary, b); } } diff --git a/LLib/LLib.Gear/GearsetHelper.cs b/LLib/LLib.Gear/GearsetHelper.cs index 6b93c2b..d0cfc18 100644 --- a/LLib/LLib.Gear/GearsetHelper.cs +++ b/LLib/LLib.Gear/GearsetHelper.cs @@ -7,83 +7,31 @@ public static class GearsetHelper public unsafe static int GetCurrentGearsetIndex() { RaptureGearsetModule* ptr = RaptureGearsetModule.Instance(); - int num = ((ptr != null) ? (-1692442216) : (-1692442213)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -1692442214; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 1: - return -1; - case 2: - return ptr->CurrentGearsetIndex; - } - continue; - IL_0049: - num = -1692442213; + return -1; } + return ptr->CurrentGearsetIndex; } public unsafe static bool TryEquipGearset(int gearsetIndex) { RaptureGearsetModule* ptr = RaptureGearsetModule.Instance(); - int num = ((ptr == null) ? 231059237 : 231059236); - while (true) + if (ptr == null || gearsetIndex < 0 || !ptr->IsValidGearset(gearsetIndex)) { - int num2 = num; - int num3 = 231059239; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - ptr->EquipGearset(gearsetIndex, 0); - return true; - case 1: - num = (ptr->IsValidGearset(gearsetIndex) ? 231059239 : 231059237); - break; - case 2: - return false; - case 3: - num = ((gearsetIndex < 0) ? 231059237 : 231059238); - break; - case 4: - num = 231059236; - break; - } + return false; } + ptr->EquipGearset(gearsetIndex, 0); + return true; } public unsafe static byte GetGearsetClassJob(int gearsetIndex) { RaptureGearsetModule* ptr = RaptureGearsetModule.Instance(); - int num = ((ptr == null) ? (-76399401) : (-76399403)); - while (true) + if (ptr == null || gearsetIndex < 0 || !ptr->IsValidGearset(gearsetIndex)) { - int num2 = num; - int num3 = -76399402; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return 0; - case 2: - num = (ptr->IsValidGearset(gearsetIndex) ? (-76399406) : (-76399401)); - break; - case 4: - return ptr->GetGearset(gearsetIndex)->ClassJob; - case 0: - num = -76399403; - break; - case 3: - num = ((gearsetIndex < 0) ? (-76399401) : (-76399404)); - break; - } + return 0; } + return ptr->GetGearset(gearsetIndex)->ClassJob; } } diff --git a/LLib/LLib.Gear/ItemRankingKey.cs b/LLib/LLib.Gear/ItemRankingKey.cs index e4a72a9..384dad8 100644 --- a/LLib/LLib.Gear/ItemRankingKey.cs +++ b/LLib/LLib.Gear/ItemRankingKey.cs @@ -1,106 +1,6 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; - namespace LLib.Gear; public readonly record struct ItemRankingKey(uint ItemLevel, float Score, short Damage) { public static readonly ItemRankingKey None = new ItemRankingKey(0u, float.NegativeInfinity, short.MinValue); - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206A_202E_200D_202A_202D_206B_202D_200F_206A_202A_206A_202E_200E_200C_206F_202A_206E_206D_202C_206E_206F_202D_202E_206E_206F_200F_206A_200C_200F_206E_202C_200C_200F_206B_200C_200B_202C_202E_202D_200F_202E(); - _206A_200D_202A_206C_200D_206F_206F_206B_202E_206E_200D_202A_202A_200D_200E_206E_206A_200E_200C_202C_206B_200F_202B_202E_202C_206E_206F_206E_206A_200E_202E_206A_206C_202E_202B_200D_200D_206D_200B_200D_202E(stringBuilder, 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(1583508102)); - _206A_200D_202A_206C_200D_206F_206F_206B_202E_206E_200D_202A_202A_200D_200E_206E_206A_200E_200C_202C_206B_200F_202B_202E_202C_206E_206F_206E_206A_200E_202E_206A_206C_202E_202B_200D_200D_206D_200B_200D_202E(stringBuilder, 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(1148273145)); - int num = ((!PrintMembers(stringBuilder)) ? 83489676 : 83489679); - while (true) - { - int num2 = num; - int num3 = 83489678; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 83489679; - break; - case 1: - _202A_206F_206A_206A_200C_206D_200B_202B_202D_206F_202B_202C_202A_200F_206D_206E_200B_206A_206B_206B_206F_202D_202E_206C_200C_200F_206E_202E_206C_202B_206E_200E_202B_200E_202E_206F_202A_200B_206A_206B_202E(stringBuilder, ' '); - num = 83489676; - break; - case 2: - _202A_206F_206A_206A_200C_206D_200B_202B_202D_206F_202B_202C_202A_200F_206D_206E_200B_206A_206B_206B_206F_202D_202E_206C_200C_200F_206E_202E_206C_202B_206E_200E_202B_200E_202E_206F_202A_200B_206A_206B_202E(stringBuilder, '}'); - return _206C_202E_200D_200D_206E_202D_206C_206B_206A_202B_200F_202D_202C_206C_202B_202B_202A_200F_206A_202B_206F_206D_202B_206E_200D_200C_202C_206E_206C_202C_202E_200D_202B_206D_200B_202B_202E_202E_202B_202D_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206A_200D_202A_206C_200D_206F_206F_206B_202E_206E_200D_202A_202A_200D_200E_206E_206A_200E_200C_202C_206B_200F_202B_202E_202C_206E_206F_206E_206A_200E_202E_206A_206C_202E_202B_200D_200D_206D_200B_200D_202E(builder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-802987284)); - _206A_200D_202A_206C_200D_206F_206F_206B_202E_206E_200D_202A_202A_200D_200E_206E_206A_200E_200C_202C_206B_200F_202B_202E_202C_206E_206F_206E_206A_200E_202E_206A_206C_202E_202B_200D_200D_206D_200B_200D_202E(builder, ItemLevel.ToString()); - _206A_200D_202A_206C_200D_206F_206F_206B_202E_206E_200D_202A_202A_200D_200E_206E_206A_200E_200C_202C_206B_200F_202B_202E_202C_206E_206F_206E_206A_200E_202E_206A_206C_202E_202B_200D_200D_206D_200B_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(892084588)); - _206A_200D_202A_206C_200D_206F_206F_206B_202E_206E_200D_202A_202A_200D_200E_206E_206A_200E_200C_202C_206B_200F_202B_202E_202C_206E_206F_206E_206A_200E_202E_206A_206C_202E_202B_200D_200D_206D_200B_200D_202E(builder, Score.ToString()); - _206A_200D_202A_206C_200D_206F_206F_206B_202E_206E_200D_202A_202A_200D_200E_206E_206A_200E_200C_202C_206B_200F_202B_202E_202C_206E_206F_206E_206A_200E_202E_206A_206C_202E_202B_200D_200D_206D_200B_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(-1290468425)); - _206A_200D_202A_206C_200D_206F_206F_206B_202E_206E_200D_202A_202A_200D_200E_206E_206A_200E_200C_202C_206B_200F_202B_202E_202C_206E_206F_206E_206A_200E_202E_206A_206C_202E_202B_200D_200D_206D_200B_200D_202E(builder, Damage.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(ItemRankingKey other) - { - int num = ((!EqualityComparer.Default.Equals(ItemLevel, other.ItemLevel)) ? (-23667421) : (-23667422)); - while (true) - { - int num2 = num; - int num3 = -23667421; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return false; - case 1: - num = ((!EqualityComparer.Default.Equals(Score, other.Score)) ? (-23667421) : (-23667424)); - break; - case 2: - num = -23667422; - break; - case 3: - return EqualityComparer.Default.Equals(Damage, other.Damage); - } - } - } - - bool IEquatable.Equals(ItemRankingKey other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _206A_202E_200D_202A_202D_206B_202D_200F_206A_202A_206A_202E_200E_200C_206F_202A_206E_206D_202C_206E_206F_202D_202E_206E_206F_200F_206A_200C_200F_206E_202C_200C_200F_206B_200C_200B_202C_202E_202D_200F_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206A_200D_202A_206C_200D_206F_206F_206B_202E_206E_200D_202A_202A_200D_200E_206E_206A_200E_200C_202C_206B_200F_202B_202E_202C_206E_206F_206E_206A_200E_202E_206A_206C_202E_202B_200D_200D_206D_200B_200D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202A_206F_206A_206A_200C_206D_200B_202B_202D_206F_202B_202C_202A_200F_206D_206E_200B_206A_206B_206B_206F_202D_202E_206C_200C_200F_206E_202E_206C_202B_206E_200E_202B_200E_202E_206F_202A_200B_206A_206B_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206C_202E_200D_200D_206E_202D_206C_206B_206A_202B_200F_202D_202C_206C_202B_202B_202A_200F_206A_202B_206F_206D_202B_206E_200D_200C_202C_206E_206C_202C_202E_200D_202B_206D_200B_202B_202E_202E_202B_202D_202E(object P_0) - { - return P_0.ToString(); - } } diff --git a/LLib/LLib.Gear/MateriaHelper.cs b/LLib/LLib.Gear/MateriaHelper.cs index 1b7e48c..651bb67 100644 --- a/LLib/LLib.Gear/MateriaHelper.cs +++ b/LLib/LLib.Gear/MateriaHelper.cs @@ -13,257 +13,108 @@ public static class MateriaHelper public unsafe static List GetMeldedMateria(InventoryItem* item) { List list = new List(5); - int num = ((item == null) ? (-1527939717) : (-1527939716)); - int num7 = default(int); - uint num9 = default(uint); - while (true) + if (item == null || item->ItemId == 0) { - int num2 = num; - int num3 = -1527939719; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return list; + } + for (int i = 0; i < 5; i++) + { + uint num = item->Materia[i]; + if (num != 0) { - case 7: - return list; - case 4: - num7 = 0; - num = -1527939727; - break; - case 6: - list.Add(new MeldSlotInfo(num7, num9, item->MateriaGrades[num7])); - num = -1527939720; - break; - case 1: - { - int num8 = num7; - num3 = 1; - num4 = num8; - num7 = (num4 | num3) + (num4 & num3); - num = -1527939727; - break; - } - case 0: - num = -1527939716; - break; - case 3: - num9 = item->Materia[num7]; - num = ((num9 == 0) ? (-1527939720) : (-1527939713)); - break; - case 5: - num = ((item->ItemId != 0) ? (-1527939715) : (-1527939717)); - break; - case 8: - num = ((num7 < 5) ? (-1527939718) : (-1527939714)); - break; - case 2: - return list; + list.Add(new MeldSlotInfo(i, num, item->MateriaGrades[i])); } } + return list; } public static int GetNormalSlotCount(IDataManager dataManager, uint itemId) { - Item row; - int num = (dataManager.GetExcelSheet().TryGetRow(itemId, out row) ? (-1343561605) : (-1343561608)); - while (true) + if (!dataManager.GetExcelSheet().TryGetRow(itemId, out var row)) { - int num2 = num; - int num3 = -1343561607; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return row.MateriaSlotCount; - case 1: - return 0; - case 0: - goto IL_0067; - } - continue; - IL_0067: - num = -1343561608; + return 0; } + return row.MateriaSlotCount; } public static bool CanOvermeld(IDataManager dataManager, uint itemId) { - Item row; - int num = (dataManager.GetExcelSheet().TryGetRow(itemId, out row) ? (-2077097183) : (-2077097182)); - while (true) + if (!dataManager.GetExcelSheet().TryGetRow(itemId, out var row)) { - int num2 = num; - int num3 = -2077097184; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return row.IsAdvancedMeldingPermitted; - case 2: - return false; - case 0: - goto IL_0065; - } - continue; - IL_0065: - num = -2077097182; + return false; } + return row.IsAdvancedMeldingPermitted; } public static int GetOvermeldSuccessRate(IDataManager dataManager, byte grade, int overmeldSlot, bool isHq) { - int num = ((overmeldSlot >= 0) ? 943397358 : 943397347); - MateriaGrade row = default(MateriaGrade); - while (true) + if (overmeldSlot < 0) { - int num2 = num; - int num3 = 943397355; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return 0; + } + if (!dataManager.GetExcelSheet().TryGetRow(grade, out var row)) + { + return 0; + } + if (isHq) + { + if (overmeldSlot >= row.OvermeldHQPercent.Count) { - case 0: - num = 943397347; - break; - case 2: - return row.OvermeldHQPercent[overmeldSlot]; - case 4: - num = ((overmeldSlot < row.OvermeldHQPercent.Count) ? 943397353 : 943397345); - break; - case 8: - return 0; - case 5: - num = (dataManager.GetExcelSheet().TryGetRow(grade, out row) ? 943397354 : 943397356); - break; - case 3: - num = ((overmeldSlot < row.OvermeldNQPercent.Count) ? 943397346 : 943397357); - break; - case 7: - return 0; - case 10: - return 0; - case 9: - return row.OvermeldNQPercent[overmeldSlot]; - case 1: - num = ((!isHq) ? 943397352 : 943397359); - break; - case 6: return 0; } + return row.OvermeldHQPercent[overmeldSlot]; } + if (overmeldSlot >= row.OvermeldNQPercent.Count) + { + return 0; + } + return row.OvermeldNQPercent[overmeldSlot]; } public unsafe static int CountMateriaInInventory(uint materiaItemId) { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? 244394904 : 244394907); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 244394905; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return ptr->GetInventoryItemCount(materiaItemId, isHq: false, checkEquipped: true, checkArmory: true, 0); - case 2: - return 0; - case 0: - goto IL_0059; - } - continue; - IL_0059: - num = 244394907; + return 0; } + return ptr->GetInventoryItemCount(materiaItemId, isHq: false, checkEquipped: true, checkArmory: true, 0); } public static int EstimateMateriaNeeded(int successRatePercent, int confidencePercent = 90) { - int num = ((successRatePercent < 100) ? 394334376 : 394334378); - double num5 = default(double); - while (true) + if (successRatePercent >= 100) { - int num2 = num; - int num3 = 394334379; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - { - double num6 = (double)successRatePercent / 100.0; - double num7 = (double)_200E_200C_202D_202E_206D_206B_202B_202E_200E_200F_200F_202B_202A_202A_206D_200B_202E_200F_206E_206A_200D_206D_200F_200E_206B_200B_202A_200B_206A_200C_206E_202E_206E_206F_206B_206B_206A_200B_200B_202A_202E(confidencePercent, 0, 99) / 100.0; - num5 = _202B_200F_202E_202E_200D_202C_206D_206B_200E_200E_202A_200D_206D_206D_202E_202A_200C_202C_200C_202A_206A_206B_200F_200E_206B_202B_206F_202B_202E_200E_202D_202E_206B_202A_202C_206C_206B_202B_200C_206B_202E(_200F_202B_200B_200C_206C_200E_202A_206D_206C_206D_200B_200C_202B_206A_200E_202A_206F_202B_206A_200D_200F_200D_200B_202E_202C_202C_200F_206B_206F_202E_200F_200C_200F_202C_202E_206F_200F_200B_206C_200C_202E(1.0 - num7) / _200F_202B_200B_200C_206C_200E_202A_206D_206C_206D_200B_200C_202B_206A_200E_202A_206F_202B_206A_200D_200F_200D_200B_202E_202C_202C_200F_206B_206F_202E_200F_200C_200F_202C_202E_206F_200F_200B_206C_200C_202E(1.0 - num6)); - num = ((!(num5 < 1.0)) ? 394334379 : 394334371); - break; - } - case 1: - return 1; - case 7: - num = 394334378; - break; - case 5: - return int.MaxValue; - case 6: - return (int)num5; - case 4: - return int.MaxValue; - case 0: - num = ((!(num5 > 2147483647.0)) ? 394334381 : 394334382); - break; - case 3: - num = ((successRatePercent > 0) ? 394334377 : 394334383); - break; - case 8: - return 1; - } + return 1; } + if (successRatePercent <= 0) + { + return int.MaxValue; + } + double num = (double)successRatePercent / 100.0; + double num2 = (double)Math.Clamp(confidencePercent, 0, 99) / 100.0; + double num3 = Math.Ceiling(Math.Log(1.0 - num2) / Math.Log(1.0 - num)); + if (num3 < 1.0) + { + return 1; + } + if (num3 > 2147483647.0) + { + return int.MaxValue; + } + return (int)num3; } public static uint GetMateriaItemId(IDataManager dataManager, uint materiaRowId, byte grade) { - Materia row; - int num = (dataManager.GetExcelSheet().TryGetRow(materiaRowId, out row) ? (-1528382481) : (-1528382482)); - while (true) + if (!dataManager.GetExcelSheet().TryGetRow(materiaRowId, out var row)) { - int num2 = num; - int num3 = -1528382483; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return 0u; - case 3: - return 0u; - case 4: - return row.Item[grade].RowId; - case 2: - num = ((grade < row.Item.Count) ? (-1528382487) : (-1528382484)); - break; - case 0: - num = -1528382482; - break; - } + return 0u; } - } - - static int _200E_200C_202D_202E_206D_206B_202B_202E_200E_200F_200F_202B_202A_202A_206D_200B_202E_200F_206E_206A_200D_206D_200F_200E_206B_200B_202A_200B_206A_200C_206E_202E_206E_206F_206B_206B_206A_200B_200B_202A_202E(int P_0, int P_1, int P_2) - { - return Math.Clamp(P_0, P_1, P_2); - } - - static double _200F_202B_200B_200C_206C_200E_202A_206D_206C_206D_200B_200C_202B_206A_200E_202A_206F_202B_206A_200D_200F_200D_200B_202E_202C_202C_200F_206B_206F_202E_200F_200C_200F_202C_202E_206F_200F_200B_206C_200C_202E(double P_0) - { - return Math.Log(P_0); - } - - static double _202B_200F_202E_202E_200D_202C_206D_206B_200E_200E_202A_200D_206D_206D_202E_202A_200C_202C_200C_202A_206A_206B_200F_200E_206B_202B_206F_202B_202E_200E_202D_202E_206B_202A_202C_206C_206B_202B_200C_206B_202E(double P_0) - { - return Math.Ceiling(P_0); + if (grade >= row.Item.Count) + { + return 0u; + } + return row.Item[grade].RowId; } } diff --git a/LLib/LLib.Gear/MeldActions.cs b/LLib/LLib.Gear/MeldActions.cs index b948546..00bafb5 100644 --- a/LLib/LLib.Gear/MeldActions.cs +++ b/LLib/LLib.Gear/MeldActions.cs @@ -1,4 +1,3 @@ -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Client.UI.Agent; @@ -17,568 +16,216 @@ public static class MeldActions public unsafe static bool TryOpenMeldAgent() { ActionManager* ptr = ActionManager.Instance(); - int num = ((ptr != null) ? (-92377207) : (-92377206)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -92377205; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 2: - return ptr->UseAction(ActionType.GeneralAction, 13u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); - case 1: - return false; - } - continue; - IL_0049: - num = -92377206; + return false; } + return ptr->UseAction(ActionType.GeneralAction, 13u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); } public unsafe static bool IsMeldAgentReady() { AgentInterface* agentByInternalId = AgentModule.Instance()->GetAgentByInternalId(AgentId.MateriaAttach); - int num = ((agentByInternalId == null) ? 1012581320 : 1012581323); - while (true) + if (agentByInternalId != null) { - int num2 = num; - int num3 = 1012581322; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0050; - case 2: - return false; - case 1: - return agentByInternalId->IsAgentActive(); - } - continue; - IL_0050: - num = 1012581323; + return agentByInternalId->IsAgentActive(); } + return false; } public unsafe static void CloseMeldAgent() { AgentInterface* agentByInternalId = AgentModule.Instance()->GetAgentByInternalId(AgentId.MateriaAttach); - int num = ((agentByInternalId == null) ? 1172237178 : 1172237177); - while (true) + if (agentByInternalId != null) { - int num2 = num; - int num3 = 1172237179; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return; - case 2: - agentByInternalId->Hide(); - num = 1172237178; - break; - case 0: - num = 1172237177; - break; - } + agentByInternalId->Hide(); } } public unsafe static bool TrySelectItemCategory(int category) { AgentInterface* agentByInternalId = AgentModule.Instance()->GetAgentByInternalId(AgentId.MateriaAttach); - int num = ((agentByInternalId == null) ? 1631304881 : 1631304883); - while (true) + if (agentByInternalId == null || !agentByInternalId->IsAgentActive()) { - int num2 = num; - int num3 = 1631304882; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - return false; - case 2: - AgentHelper.SendEvent(agentByInternalId, 0uL, 0, category); - return true; - case 0: - num = 1631304883; - break; - case 1: - num = (agentByInternalId->IsAgentActive() ? 1631304880 : 1631304881); - break; - } + return false; } + AgentHelper.SendEvent(agentByInternalId, 0uL, 0, category); + return true; } public unsafe static bool TrySelectItem(int itemIndex) { AgentInterface* agentByInternalId = AgentModule.Instance()->GetAgentByInternalId(AgentId.MateriaAttach); - int num = ((agentByInternalId == null) ? (-2072200034) : (-2072200035)); - while (true) + if (agentByInternalId == null || !agentByInternalId->IsAgentActive()) { - int num2 = num; - int num3 = -2072200036; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -2072200035; - break; - case 2: - return false; - case 1: - num = (agentByInternalId->IsAgentActive() ? (-2072200033) : (-2072200034)); - break; - case 3: - AgentHelper.SendEvent(agentByInternalId, 0uL, 1, itemIndex, 1, 0); - return true; - } + return false; } + AgentHelper.SendEvent(agentByInternalId, 0uL, 1, itemIndex, 1, 0); + return true; } public unsafe static bool TrySelectMateria(int materiaIndex) { AgentInterface* agentByInternalId = AgentModule.Instance()->GetAgentByInternalId(AgentId.MateriaAttach); - int num = ((agentByInternalId == null) ? 1070130699 : 1070130696); - while (true) + if (agentByInternalId == null || !agentByInternalId->IsAgentActive()) { - int num2 = num; - int num3 = 1070130698; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return false; - case 2: - num = (agentByInternalId->IsAgentActive() ? 1070130697 : 1070130699); - break; - case 3: - AgentHelper.SendEvent(agentByInternalId, 0uL, 2, materiaIndex, 1, 0); - return true; - case 0: - num = 1070130696; - break; - } + return false; } + AgentHelper.SendEvent(agentByInternalId, 0uL, 2, materiaIndex, 1, 0); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryConfirmMeld(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetReadyAddon(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(627835042), out addonPtr) ? 1229741423 : 1229741420); - while (true) + if (!gameGui.TryGetReadyAddon("MateriaAttachDialog", out var addonPtr)) { - int num2 = num; - int num3 = 1229741422; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0052; - case 2: - return false; - case 1: - AddonCallback.Fire(addonPtr, 0, 0, 1); - addonPtr->Close(fireCallback: true); - return true; - } - continue; - IL_0052: - num = 1229741420; + return false; } + AddonCallback.Fire(addonPtr, 0, 0, 1); + addonPtr->Close(fireCallback: true); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryConfirmOvermeld(IGameGui gameGui) { AgentInterface* agentByInternalId = AgentModule.Instance()->GetAgentByInternalId(AgentId.MateriaAttach); - int num = ((agentByInternalId == null) ? (-1324266092) : (-1324266093)); - AtkUnitBase* addonPtr = default(AtkUnitBase*); - while (true) + if (agentByInternalId == null || !agentByInternalId->IsAgentActive()) { - int num2 = num; - int num3 = -1324266089; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - AddonCallback.ClickYes(addonPtr); - addonPtr->Close(fireCallback: true); - return true; - case 4: - num = (agentByInternalId->IsAgentActive() ? (-1324266090) : (-1324266092)); - break; - case 2: - return false; - case 1: - num = (gameGui.TryGetReadyAddon(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(184774238), out addonPtr) ? (-1324266089) : (-1324266091)); - break; - case 5: - num = -1324266093; - break; - case 3: - return false; - } + return false; } + if (!gameGui.TryGetReadyAddon("SelectYesno", out var addonPtr)) + { + return false; + } + AddonCallback.ClickYes(addonPtr); + addonPtr->Close(fireCallback: true); + return true; } public unsafe static bool TryRequestRetrieve() { AgentInterface* agentByInternalId = AgentModule.Instance()->GetAgentByInternalId(AgentId.MateriaAttach); - int num = ((agentByInternalId == null) ? (-1148814480) : (-1148814479)); - while (true) + if (agentByInternalId == null || !agentByInternalId->IsAgentActive()) { - int num2 = num; - int num3 = -1148814480; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return false; - case 1: - num = (agentByInternalId->IsAgentActive() ? (-1148814477) : (-1148814480)); - break; - case 2: - num = -1148814479; - break; - case 3: - AgentHelper.SendEvent(agentByInternalId, 4uL, 0, 1, 0, 0, 0); - return true; - } + return false; } + AgentHelper.SendEvent(agentByInternalId, 4uL, 0, 1, 0, 0, 0); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryConfirmRetrieve(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetReadyAddon(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(-507581273), out addonPtr) ? (-1428512463) : (-1428512462)); - while (true) + if (!gameGui.TryGetReadyAddon("MateriaRetrieveDialog", out var addonPtr)) { - int num2 = num; - int num3 = -1428512461; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0052; - case 2: - AddonCallback.Fire(addonPtr, default(int)); - addonPtr->Close(fireCallback: true); - return true; - case 1: - return false; - } - continue; - IL_0052: - num = -1428512462; + return false; } + AddonCallback.Fire(addonPtr, default(int)); + addonPtr->Close(fireCallback: true); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool IsMeldDialogReady(IGameGui gameGui) { AtkUnitBase* addonPtr; - return gameGui.TryGetReadyAddon(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(2146370651), out addonPtr); + return gameGui.TryGetReadyAddon("MateriaAttachDialog", out addonPtr); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool IsRetrieveDialogReady(IGameGui gameGui) { AtkUnitBase* addonPtr; - return gameGui.TryGetReadyAddon(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(1509768351), out addonPtr); + return gameGui.TryGetReadyAddon("MateriaRetrieveDialog", out addonPtr); } public unsafe static bool IsAgentLoading() { AgentMateriaAttach* ptr = AgentMateriaAttach.Instance(); - int num = ((ptr == null) ? (-1447124743) : (-1447124742)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -1447124741; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return false; - case 1: - return ptr->UpdateState != 0; - case 0: - goto IL_0057; - } - continue; - IL_0057: - num = -1447124742; + return ptr->UpdateState != 0; } + return false; } public unsafe static int GetSelectedItemIndex() { AgentMateriaAttach* ptr = AgentMateriaAttach.Instance(); - int num = ((ptr == null) ? (-10593117) : (-10593120)); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = -10593119; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return -1; - case 1: - return ptr->SelectedItemIndex; - case 0: - goto IL_0054; - } - continue; - IL_0054: - num = -10593120; + return ptr->SelectedItemIndex; } + return -1; } public static AgentMateriaAttach.FilterCategory GetFilterCategory(InventoryType inventoryType) { - int num = ((inventoryType > InventoryType.EquippedItems) ? (-1327648937) : (-1327648944)); - AgentMateriaAttach.FilterCategory result = default(AgentMateriaAttach.FilterCategory); - while (true) + switch (inventoryType) { - int num2 = num; - int num3 = -1327648930; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 11: - result = AgentMateriaAttach.FilterCategory.Equipped; - num = -1327648933; - break; - case 4: - result = AgentMateriaAttach.FilterCategory.ArmouryWeapon; - num = -1327648933; - break; - case 10: - result = AgentMateriaAttach.FilterCategory.Inventory; - num = -1327648933; - break; - case 14: - num = ((inventoryType <= InventoryType.Inventory4) ? (-1327648940) : (-1327648931)); - break; - case 9: - switch (inventoryType) - { - case InventoryType.ArmoryOffHand: - break; - default: - goto IL_00f8; - case InventoryType.ArmoryHead: - case InventoryType.ArmoryBody: - case InventoryType.ArmoryHands: - goto IL_010e; - case InventoryType.ArmoryWrist: - goto IL_011b; - case InventoryType.ArmoryLegs: - case InventoryType.ArmoryFeets: - goto IL_0128; - case InventoryType.ArmoryEar: - case InventoryType.ArmoryNeck: - goto IL_0135; - case InventoryType.ArmoryWaist: - goto IL_016e; - } - goto case 4; - case 15: - num = -1327648944; - break; - case 7: - goto IL_010e; - case 2: - goto IL_011b; - case 6: - goto IL_0128; - case 8: - goto IL_0135; - case 1: - num = ((inventoryType == InventoryType.ArmoryMainHand) ? (-1327648934) : (-1327648946)); - break; - case 16: - num = -1327648930; - break; - case 0: - goto IL_016e; - case 5: - return result; - case 3: - num = ((inventoryType == InventoryType.EquippedItems) ? (-1327648939) : (-1327648942)); - break; - case 12: - num = -1327648930; - break; - case 13: - { - num = ((inventoryType == InventoryType.ArmoryRings) ? (-1327648932) : (-1327648929)); - break; - } - IL_010e: - result = AgentMateriaAttach.FilterCategory.ArmouryHeadBodyHands; - num = -1327648933; - break; - IL_00f8: - num = -1327648941; - break; - IL_016e: - result = AgentMateriaAttach.FilterCategory.None; - num = -1327648933; - break; - IL_0135: - result = AgentMateriaAttach.FilterCategory.ArmouryNeckEars; - num = -1327648933; - break; - IL_0128: - result = AgentMateriaAttach.FilterCategory.ArmouryLegsFeet; - num = -1327648933; - break; - IL_011b: - result = AgentMateriaAttach.FilterCategory.ArmouryWristRing; - num = -1327648933; - break; - } + case InventoryType.Inventory1: + case InventoryType.Inventory2: + case InventoryType.Inventory3: + case InventoryType.Inventory4: + return AgentMateriaAttach.FilterCategory.Inventory; + case InventoryType.ArmoryOffHand: + case InventoryType.ArmoryMainHand: + return AgentMateriaAttach.FilterCategory.ArmouryWeapon; + case InventoryType.ArmoryHead: + case InventoryType.ArmoryBody: + case InventoryType.ArmoryHands: + return AgentMateriaAttach.FilterCategory.ArmouryHeadBodyHands; + case InventoryType.ArmoryLegs: + case InventoryType.ArmoryFeets: + return AgentMateriaAttach.FilterCategory.ArmouryLegsFeet; + case InventoryType.ArmoryEar: + case InventoryType.ArmoryNeck: + return AgentMateriaAttach.FilterCategory.ArmouryNeckEars; + case InventoryType.ArmoryWrist: + case InventoryType.ArmoryRings: + return AgentMateriaAttach.FilterCategory.ArmouryWristRing; + case InventoryType.EquippedItems: + return AgentMateriaAttach.FilterCategory.Equipped; + default: + return AgentMateriaAttach.FilterCategory.None; } } public unsafe static int? FindItemIndex(InventoryItem* target) { - int num = ((target != null) ? (-1032587333) : (-1032587331)); - AgentMateriaAttach* ptr = default(AgentMateriaAttach*); - int num5 = default(int); - AgentMateriaAttach.MateriaAttachEntry* value = default(AgentMateriaAttach.MateriaAttachEntry*); - while (true) + if (target == null) { - int num2 = num; - int num3 = -1032587332; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return null; + } + AgentMateriaAttach* ptr = AgentMateriaAttach.Instance(); + if (ptr == null || !ptr->IsAgentActive() || ptr->Data == null) + { + return null; + } + for (int i = 0; i < ptr->ItemCount; i++) + { + AgentMateriaAttach.MateriaAttachEntry* value = ptr->Data->ItemsSorted[i].Value; + if (value != null && value->Item == target) { - case 8: - num = ((!ptr->IsAgentActive()) ? (-1032587329) : (-1032587330)); - break; - case 3: - return null; - case 10: - num = ((num5 < ptr->ItemCount) ? (-1032587339) : (-1032587336)); - break; - case 7: - ptr = AgentMateriaAttach.Instance(); - num = ((ptr == null) ? (-1032587329) : (-1032587340)); - break; - case 4: - return null; - case 12: - { - int num6 = num5; - num3 = 1; - num4 = num6; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - num5 = num7 + (num8 + num8); - num = -1032587338; - break; - } - case 9: - value = ptr->Data->ItemsSorted[num5].Value; - num = ((value == null) ? (-1032587344) : (-1032587335)); - break; - case 5: - num = ((value->Item != target) ? (-1032587344) : (-1032587337)); - break; - case 1: - return null; - case 2: - num = ((ptr->Data != null) ? (-1032587334) : (-1032587329)); - break; - case 11: - return num5; - case 0: - num = -1032587331; - break; - case 6: - num5 = 0; - num = -1032587338; - break; + return i; } } + return null; } public unsafe static int? FindMateriaIndex(uint materiaItemId) { AgentMateriaAttach* ptr = AgentMateriaAttach.Instance(); - int num = ((ptr == null) ? 2014235157 : 2014235164); - AgentMateriaAttach.MateriaAttachEntry* value = default(AgentMateriaAttach.MateriaAttachEntry*); - int num6 = default(int); - while (true) + if (ptr == null || !ptr->IsAgentActive() || ptr->Data == null) { - int num2 = num; - int num3 = 2014235167; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return null; + } + for (int i = 0; i < ptr->MateriaCount; i++) + { + AgentMateriaAttach.MateriaAttachEntry* value = ptr->Data->MateriaSorted[i].Value; + if (value != null && value->Item != null && value->Item->ItemId == materiaItemId) { - case 11: - num = ((value->Item->ItemId != materiaItemId) ? 2014235158 : 2014235159); - break; - case 0: - num = ((ptr->Data != null) ? 2014235166 : 2014235157); - break; - case 10: - return null; - case 8: - return num6; - case 7: - return null; - case 3: - num = ((!ptr->IsAgentActive()) ? 2014235157 : 2014235167); - break; - case 2: - num = 2014235164; - break; - case 4: - num = ((num6 < ptr->MateriaCount) ? 2014235162 : 2014235160); - break; - case 1: - num6 = 0; - num = 2014235163; - break; - case 5: - value = ptr->Data->MateriaSorted[num6].Value; - num = ((value == null) ? 2014235158 : 2014235161); - break; - case 6: - num = ((value->Item == null) ? 2014235158 : 2014235156); - break; - case 9: - { - int num5 = num6; - num3 = 1; - num4 = num5; - num6 = (num4 | num3) + (num4 & num3); - num = 2014235163; - break; - } + return i; } } + return null; } public static bool IsMeldingUnlocked() @@ -593,69 +240,30 @@ public static class MeldActions public unsafe static bool CanMeldItem(IDataManager dataManager, InventoryItem* item) { - int num = ((item == null) ? (-1684140330) : (-1684140332)); - Item row = default(Item); - int num5 = default(int); - int num6 = default(int); - while (true) + if (item == null || item->ItemId == 0) { - int num2 = num; - int num3 = -1684140328; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return false; + } + if (!dataManager.GetExcelSheet().TryGetRow(item->ItemId, out var row)) + { + return false; + } + if (row.MateriaSlotCount == 0) + { + return false; + } + int num = row.MateriaSlotCount; + if (row.IsAdvancedMeldingPermitted) + { + num = 5; + } + for (int i = 0; i < num; i++) + { + if (item->Materia[i] == 0) { - case 6: - num = (dataManager.GetExcelSheet().TryGetRow(item->ItemId, out row) ? (-1684140324) : (-1684140325)); - break; - case 5: - num5 = row.MateriaSlotCount; - num = ((!row.IsAdvancedMeldingPermitted) ? (-1684140336) : (-1684140333)); - break; - case 4: - num = ((row.MateriaSlotCount != 0) ? (-1684140323) : (-1684140335)); - break; - case 2: - num = -1684140332; - break; - case 1: - num = ((item->Materia[num6] != 0) ? (-1684140334) : (-1684140321)); - break; - case 13: - return false; - case 11: - num5 = 5; - num = -1684140336; - break; - case 0: - num = ((num6 < num5) ? (-1684140327) : (-1684140331)); - break; - case 10: - { - int num7 = num6; - num3 = 1; - num4 = num7; - int num8 = num4 ^ num3; - int num9 = num4 & num3; - num6 = num8 + (num9 + num9); - num = -1684140328; - break; - } - case 8: - num6 = 0; - num = -1684140328; - break; - case 7: return true; - case 9: - return false; - case 14: - return false; - case 3: - return false; - case 12: - num = ((item->ItemId != 0) ? (-1684140322) : (-1684140330)); - break; } } + return false; } } diff --git a/LLib/LLib.Gear/MeldInstruction.cs b/LLib/LLib.Gear/MeldInstruction.cs index 57234d6..49d02b1 100644 --- a/LLib/LLib.Gear/MeldInstruction.cs +++ b/LLib/LLib.Gear/MeldInstruction.cs @@ -1,111 +1,3 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; - namespace LLib.Gear; -public readonly record struct MeldInstruction(uint ItemId, int SlotIndex, uint MateriaItemId, bool IsOvermeld) -{ - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206F_202B_202C_200C_200F_202E_206B_206B_200F_206D_200F_206E_200F_202A_202E_202B_202B_206C_202A_200C_206D_202B_200F_200F_206F_200E_202B_206F_202A_200B_206E_206D_206B_202C_202A_200F_200C_206F_202A_202C_202E(); - _206B_202B_200E_206B_200D_200D_206E_206E_200B_206E_206E_206C_206A_200D_200B_202E_202D_206D_206B_206C_202D_206A_206F_206A_202E_206E_206F_200F_206B_200B_206F_206E_206D_200E_202E_206C_206A_200F_200D_202C_202E(stringBuilder, 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(910491666)); - _206B_202B_200E_206B_200D_200D_206E_206E_200B_206E_206E_206C_206A_200D_200B_202E_202D_206D_206B_206C_202D_206A_206F_206A_202E_206E_206F_200F_206B_200B_206F_206E_206D_200E_202E_206C_206A_200F_200D_202C_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)) ? 1348202798 : 1348202799); - while (true) - { - int num2 = num; - int num3 = 1348202798; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 1348202799; - break; - case 0: - _202E_206B_202B_200B_206D_206D_200D_202D_200B_202D_206C_202C_206D_206C_202E_202D_202C_206A_202A_200D_202B_206B_206F_206E_202E_206A_200B_202E_202C_200B_206C_200B_200C_202A_202C_206C_206A_206C_206A_202A_202E(stringBuilder, '}'); - return _202A_200D_206C_206B_202A_202A_206D_200D_200B_200F_202A_202B_206C_200F_202E_206A_206C_206B_202A_202A_206B_200B_200E_202D_206C_206A_200D_202E_206E_202E_206C_202E_202D_200E_200B_202A_202E_200E_202D_206B_202E((object)stringBuilder); - case 1: - _202E_206B_202B_200B_206D_206D_200D_202D_200B_202D_206C_202C_206D_206C_202E_202D_202C_206A_202A_200D_202B_206B_206F_206E_202E_206A_200B_202E_202C_200B_206C_200B_200C_202A_202C_206C_206A_206C_206A_202A_202E(stringBuilder, ' '); - num = 1348202798; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206B_202B_200E_206B_200D_200D_206E_206E_200B_206E_206E_206C_206A_200D_200B_202E_202D_206D_206B_206C_202D_206A_206F_206A_202E_206E_206F_200F_206B_200B_206F_206E_206D_200E_202E_206C_206A_200F_200D_202C_202E(builder, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1758736713)); - _206B_202B_200E_206B_200D_200D_206E_206E_200B_206E_206E_206C_206A_200D_200B_202E_202D_206D_206B_206C_202D_206A_206F_206A_202E_206E_206F_200F_206B_200B_206F_206E_206D_200E_202E_206C_206A_200F_200D_202C_202E(builder, ItemId.ToString()); - _206B_202B_200E_206B_200D_200D_206E_206E_200B_206E_206E_206C_206A_200D_200B_202E_202D_206D_206B_206C_202D_206A_206F_206A_202E_206E_206F_200F_206B_200B_206F_206E_206D_200E_202E_206C_206A_200F_200D_202C_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(66042605)); - _206B_202B_200E_206B_200D_200D_206E_206E_200B_206E_206E_206C_206A_200D_200B_202E_202D_206D_206B_206C_202D_206A_206F_206A_202E_206E_206F_200F_206B_200B_206F_206E_206D_200E_202E_206C_206A_200F_200D_202C_202E(builder, SlotIndex.ToString()); - _206B_202B_200E_206B_200D_200D_206E_206E_200B_206E_206E_206C_206A_200D_200B_202E_202D_206D_206B_206C_202D_206A_206F_206A_202E_206E_206F_200F_206B_200B_206F_206E_206D_200E_202E_206C_206A_200F_200D_202C_202E(builder, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1813688100)); - _206B_202B_200E_206B_200D_200D_206E_206E_200B_206E_206E_206C_206A_200D_200B_202E_202D_206D_206B_206C_202D_206A_206F_206A_202E_206E_206F_200F_206B_200B_206F_206E_206D_200E_202E_206C_206A_200F_200D_202C_202E(builder, MateriaItemId.ToString()); - _206B_202B_200E_206B_200D_200D_206E_206E_200B_206E_206E_206C_206A_200D_200B_202E_202D_206D_206B_206C_202D_206A_206F_206A_202E_206E_206F_200F_206B_200B_206F_206E_206D_200E_202E_206C_206A_200F_200D_202C_202E(builder, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-2051131662)); - _206B_202B_200E_206B_200D_200D_206E_206E_200B_206E_206E_206C_206A_200D_200B_202E_202D_206D_206B_206C_202D_206A_206F_206A_202E_206E_206F_200F_206B_200B_206F_206E_206D_200E_202E_206C_206A_200F_200D_202C_202E(builder, IsOvermeld.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(MeldInstruction other) - { - int num = ((!EqualityComparer.Default.Equals(ItemId, other.ItemId)) ? 1583334064 : 1583334069); - while (true) - { - int num2 = num; - int num3 = 1583334068; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = 1583334069; - break; - case 0: - num = ((!EqualityComparer.Default.Equals(MateriaItemId, other.MateriaItemId)) ? 1583334064 : 1583334070); - break; - case 2: - return EqualityComparer.Default.Equals(IsOvermeld, other.IsOvermeld); - case 1: - num = ((!EqualityComparer.Default.Equals(SlotIndex, other.SlotIndex)) ? 1583334064 : 1583334068); - break; - case 4: - return false; - } - } - } - - bool IEquatable.Equals(MeldInstruction other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _206F_202B_202C_200C_200F_202E_206B_206B_200F_206D_200F_206E_200F_202A_202E_202B_202B_206C_202A_200C_206D_202B_200F_200F_206F_200E_202B_206F_202A_200B_206E_206D_206B_202C_202A_200F_200C_206F_202A_202C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206B_202B_200E_206B_200D_200D_206E_206E_200B_206E_206E_206C_206A_200D_200B_202E_202D_206D_206B_206C_202D_206A_206F_206A_202E_206E_206F_200F_206B_200B_206F_206E_206D_200E_202E_206C_206A_200F_200D_202C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202E_206B_202B_200B_206D_206D_200D_202D_200B_202D_206C_202C_206D_206C_202E_202D_202C_206A_202A_200D_202B_206B_206F_206E_202E_206A_200B_202E_202C_200B_206C_200B_200C_202A_202C_206C_206A_206C_206A_202A_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202A_200D_206C_206B_202A_202A_206D_200D_200B_200F_202A_202B_206C_200F_202E_206A_206C_206B_202A_202A_206B_200B_200E_202D_206C_206A_200D_202E_206E_202E_206C_202E_202D_200E_200B_202A_202E_200E_202D_206B_202E(object P_0) - { - return P_0.ToString(); - } -} +public readonly record struct MeldInstruction(uint ItemId, int SlotIndex, uint MateriaItemId, bool IsOvermeld); diff --git a/LLib/LLib.Gear/MeldSlotInfo.cs b/LLib/LLib.Gear/MeldSlotInfo.cs index 0be84ba..de417ba 100644 --- a/LLib/LLib.Gear/MeldSlotInfo.cs +++ b/LLib/LLib.Gear/MeldSlotInfo.cs @@ -1,110 +1,6 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; - namespace LLib.Gear; public readonly record struct MeldSlotInfo(int SlotIndex, uint MateriaId, byte Grade) { public bool IsEmpty => MateriaId == 0; - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206D_206A_202B_206C_202D_200F_200E_206E_202D_202D_206B_202B_202C_202C_200B_200F_206F_202E_202E_206C_206D_206E_206F_200E_202E_206B_200B_202A_206E_200B_206A_206D_202B_202E_202E_202E_206C_200F_202A_200F_202E(); - _200B_202C_202A_202C_200B_202E_202E_200E_202C_206E_206D_202D_200F_202E_200B_206B_200F_206B_202E_202C_206D_200C_206C_200D_206C_200E_200D_202E_206D_200B_206B_206A_200D_200C_200D_206E_206A_202B_206A_206C_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(-178237641)); - _200B_202C_202A_202C_200B_202E_202E_200E_202C_206E_206D_202D_200F_202E_200B_206B_200F_206B_202E_202C_206D_200C_206C_200D_206C_200E_200D_202E_206D_200B_206B_206A_200D_200C_200D_206E_206A_202B_206A_206C_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)) ? (-753586067) : (-753586066)); - while (true) - { - int num2 = num; - int num3 = -753586068; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -753586066; - break; - case 1: - _202D_200E_206F_206F_202C_200D_202A_202C_202D_200C_206F_206F_206B_202B_206C_200E_206F_202C_202B_206A_206C_206B_206F_200E_206E_202A_202C_206C_206E_206C_200D_206D_206C_202C_202A_202B_202A_206E_200C_202E_202E(stringBuilder, '}'); - return _206F_202A_200E_202E_206A_206F_200F_206A_206C_206F_206D_206F_200F_200E_200E_202D_202D_206C_202C_206C_206D_206C_200F_202E_206A_200C_200D_200D_200D_206D_206C_202D_206D_200D_202C_206C_202E_200D_206A_206E_202E((object)stringBuilder); - case 2: - _202D_200E_206F_206F_202C_200D_202A_202C_202D_200C_206F_206F_206B_202B_206C_200E_206F_202C_202B_206A_206C_206B_206F_200E_206E_202A_202C_206C_206E_206C_200D_206D_206C_202C_202A_202B_202A_206E_200C_202E_202E(stringBuilder, ' '); - num = -753586067; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200B_202C_202A_202C_200B_202E_202E_200E_202C_206E_206D_202D_200F_202E_200B_206B_200F_206B_202E_202C_206D_200C_206C_200D_206C_200E_200D_202E_206D_200B_206B_206A_200D_200C_200D_206E_206A_202B_206A_206C_202E(builder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1108590379)); - _200B_202C_202A_202C_200B_202E_202E_200E_202C_206E_206D_202D_200F_202E_200B_206B_200F_206B_202E_202C_206D_200C_206C_200D_206C_200E_200D_202E_206D_200B_206B_206A_200D_200C_200D_206E_206A_202B_206A_206C_202E(builder, SlotIndex.ToString()); - _200B_202C_202A_202C_200B_202E_202E_200E_202C_206E_206D_202D_200F_202E_200B_206B_200F_206B_202E_202C_206D_200C_206C_200D_206C_200E_200D_202E_206D_200B_206B_206A_200D_200C_200D_206E_206A_202B_206A_206C_202E(builder, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-548869315)); - _200B_202C_202A_202C_200B_202E_202E_200E_202C_206E_206D_202D_200F_202E_200B_206B_200F_206B_202E_202C_206D_200C_206C_200D_206C_200E_200D_202E_206D_200B_206B_206A_200D_200C_200D_206E_206A_202B_206A_206C_202E(builder, MateriaId.ToString()); - _200B_202C_202A_202C_200B_202E_202E_200E_202C_206E_206D_202D_200F_202E_200B_206B_200F_206B_202E_202C_206D_200C_206C_200D_206C_200E_200D_202E_206D_200B_206B_206A_200D_200C_200D_206E_206A_202B_206A_206C_202E(builder, 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(-1808759350)); - _200B_202C_202A_202C_200B_202E_202E_200E_202C_206E_206D_202D_200F_202E_200B_206B_200F_206B_202E_202C_206D_200C_206C_200D_206C_200E_200D_202E_206D_200B_206B_206A_200D_200C_200D_206E_206A_202B_206A_206C_202E(builder, Grade.ToString()); - _200B_202C_202A_202C_200B_202E_202E_200E_202C_206E_206D_202D_200F_202E_200B_206B_200F_206B_202E_202C_206D_200C_206C_200D_206C_200E_200D_202E_206D_200B_206B_206A_200D_200C_200D_206E_206A_202B_206A_206C_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(-1359578170)); - _200B_202C_202A_202C_200B_202E_202E_200E_202C_206E_206D_202D_200F_202E_200B_206B_200F_206B_202E_202C_206D_200C_206C_200D_206C_200E_200D_202E_206D_200B_206B_206A_200D_200C_200D_206E_206A_202B_206A_206C_202E(builder, IsEmpty.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(MeldSlotInfo other) - { - int num = ((!EqualityComparer.Default.Equals(SlotIndex, other.SlotIndex)) ? (-1955436948) : (-1955436946)); - while (true) - { - int num2 = num; - int num3 = -1955436945; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1955436946; - break; - case 1: - num = ((!EqualityComparer.Default.Equals(MateriaId, other.MateriaId)) ? (-1955436948) : (-1955436947)); - break; - case 3: - return false; - case 2: - return EqualityComparer.Default.Equals(Grade, other.Grade); - } - } - } - - bool IEquatable.Equals(MeldSlotInfo other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _206D_206A_202B_206C_202D_200F_200E_206E_202D_202D_206B_202B_202C_202C_200B_200F_206F_202E_202E_206C_206D_206E_206F_200E_202E_206B_200B_202A_206E_200B_206A_206D_202B_202E_202E_202E_206C_200F_202A_200F_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200B_202C_202A_202C_200B_202E_202E_200E_202C_206E_206D_202D_200F_202E_200B_206B_200F_206B_202E_202C_206D_200C_206C_200D_206C_200E_200D_202E_206D_200B_206B_206A_200D_200C_200D_206E_206A_202B_206A_206C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202D_200E_206F_206F_202C_200D_202A_202C_202D_200C_206F_206F_206B_202B_206C_200E_206F_202C_202B_206A_206C_206B_206F_200E_206E_202A_202C_206C_206E_206C_200D_206D_206C_202C_202A_202B_202A_206E_200C_202E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206F_202A_200E_202E_206A_206F_200F_206A_206C_206F_206D_206F_200F_200E_200E_202D_202D_206C_202C_206C_206D_206C_200F_202E_206A_200C_200D_200D_200D_206D_206C_202D_206D_200D_202C_206C_202E_200D_206A_206E_202E(object P_0) - { - return P_0.ToString(); - } } diff --git a/LLib/LLib.Gear/RepairActions.cs b/LLib/LLib.Gear/RepairActions.cs index 756acf5..aa9ae64 100644 --- a/LLib/LLib.Gear/RepairActions.cs +++ b/LLib/LLib.Gear/RepairActions.cs @@ -1,5 +1,4 @@ using System; -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Client.UI; @@ -17,434 +16,157 @@ public static class RepairActions public unsafe static bool TryOpenRepairWindow() { ActionManager* ptr = ActionManager.Instance(); - int num = ((ptr != null) ? 68220505 : 68220506); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 68220504; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return ptr->UseAction(ActionType.GeneralAction, 6u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); - case 2: - return false; - case 0: - goto IL_0061; - } - continue; - IL_0061: - num = 68220506; + return false; } + return ptr->UseAction(ActionType.GeneralAction, 6u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool IsRepairAddonReady(IGameGui gameGui) { AtkUnitBase* addonPtr; - return gameGui.TryGetReadyAddon(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(2048825811), out addonPtr); + return gameGui.TryGetReadyAddon("Repair", out addonPtr); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryRepairAll(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetReadyAddon(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(419098168), out addonPtr) ? (-498234615) : (-498234614)); - while (true) + if (!gameGui.TryGetReadyAddon("Repair", out var addonPtr)) { - int num2 = num; - int num3 = -498234613; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0052; - case 2: - return AddonCallback.ClickButton(addonPtr, ((AddonRepair*)addonPtr)->RepairAllButton); - case 1: - return false; - } - continue; - IL_0052: - num = -498234614; + return false; } + return AddonCallback.ClickButton(addonPtr, ((AddonRepair*)addonPtr)->RepairAllButton); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryConfirmDialog(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetReadyAddon(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(2048825811), out addonPtr) ? 2047386500 : 2047386499); - AtkUnitBase* addonPtr2 = default(AtkUnitBase*); - while (true) + if (!gameGui.TryGetReadyAddon("Repair", out var _)) { - int num2 = num; - int num3 = 2047386496; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - AddonCallback.ClickYes(addonPtr2); - return true; - case 3: - return false; - case 4: - num = (gameGui.TryGetReadyAddon(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(423301839), out addonPtr2) ? 2047386498 : 2047386497); - break; - case 1: - return false; - case 0: - num = 2047386499; - break; - } + return false; } + if (!gameGui.TryGetReadyAddon("SelectYesno", out var addonPtr2)) + { + return false; + } + AddonCallback.ClickYes(addonPtr2); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static string DescribeRepairAddon(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(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(-469715628), out addonPtr) ? 1483181869 : 1483181871); - AtkComponentButton* repairAllButton = default(AtkComponentButton*); - while (true) + if (!gameGui.TryGetAddonByName("Repair", out var addonPtr)) { - int num2 = num; - int num3 = 1483181870; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - string text; - string value; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler; - switch (num5 - (num6 + num6)) - { - case 2: - num = 1483181871; - break; - case 3: - repairAllButton = ((AddonRepair*)addonPtr)->RepairAllButton; - num = ((repairAllButton == null) ? 1483181864 : 1483181866); - break; - case 1: - return 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(1020358053); - case 0: - text = 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(1832920714); - goto IL_00eb; - case 5: - text = 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(120055411); - goto IL_00eb; - case 6: - text = global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(2048905668); - goto IL_00eb; - case 4: - { - num = (repairAllButton->IsEnabled ? 1483181867 : 1483181870); - break; - } - IL_00eb: - value = text; - defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(44, 3); - defaultInterpolatedStringHandler.AppendLiteral(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(-734034791)); - defaultInterpolatedStringHandler.AppendFormatted(addonPtr->IsVisible); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-199296985)); - defaultInterpolatedStringHandler.AppendFormatted(LAddon.IsAddonReady(addonPtr)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1116769434)); - defaultInterpolatedStringHandler.AppendFormatted(value); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } + return "addon: not open"; } + AtkComponentButton* repairAllButton = ((AddonRepair*)addonPtr)->RepairAllButton; + string value = ((repairAllButton == null) ? "null" : (repairAllButton->IsEnabled ? "enabled" : "disabled")); + return $"addon: visible={addonPtr->IsVisible}, ready={LAddon.IsAddonReady(addonPtr)}, repair-all button: {value}"; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryCloseRepairWindow(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1033968236), out addonPtr) ? (-405897678) : (-405897677)); - while (true) + if (!gameGui.TryGetAddonByName("Repair", out var addonPtr)) { - int num2 = num; - int num3 = -405897678; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0052; - case 0: - addonPtr->Close(fireCallback: true); - return true; - case 1: - return false; - } - continue; - IL_0052: - num = -405897677; + return false; } + addonPtr->Close(fireCallback: true); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TrySelectRepairFromMenu(IGameGui gameGui, int repairIndex) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetReadyAddon(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-779772561), out addonPtr) ? 1787787027 : 1787787024); - while (true) + if (!gameGui.TryGetReadyAddon("SelectIconString", out var addonPtr)) { - int num2 = num; - int num3 = 1787787025; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0052; - case 1: - return false; - case 2: - AddonCallback.FireWithUpdate(addonPtr, repairIndex); - return true; - } - continue; - IL_0052: - num = 1787787024; + return false; } + AddonCallback.FireWithUpdate(addonPtr, repairIndex); + return true; } public static int? FindRepairIndex(IDataManager dataManager, uint npcBaseId) { - ENpcBase row; - int num = (dataManager.GetExcelSheet().TryGetRow(npcBaseId, out row) ? (-1361038007) : (-1361038008)); - int num5 = default(int); - while (true) + if (!dataManager.GetExcelSheet().TryGetRow(npcBaseId, out var row)) { - int num2 = num; - int num3 = -1361038006; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return null; + } + for (int i = 0; i < row.ENpcData.Count; i++) + { + if (row.ENpcData[i].RowId == 720915) { - case 6: - { - int num6 = num5; - num3 = 1; - num4 = num6; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - num5 = num7 + (num8 + num8); - num = -1361038003; - break; - } - case 2: - return null; - case 3: - num5 = 0; - num = -1361038003; - break; - case 1: - num = ((row.ENpcData[num5].RowId != 720915) ? (-1361038004) : (-1361038002)); - break; - case 7: - num = ((num5 < row.ENpcData.Count) ? (-1361038005) : (-1361038001)); - break; - case 4: - return num5; - case 0: - num = -1361038008; - break; - case 5: - return null; + return i; } } + return null; } public static bool CanSelfRepairItem(uint itemId, IDataManager dataManager, Func jobLevelLookup) { - Item row; - int num = (dataManager.GetExcelSheet().TryGetRow(itemId, out row) ? 1632671578 : 1632671580); - uint rowId = default(uint); - uint num7 = default(uint); - while (true) + if (!dataManager.GetExcelSheet().TryGetRow(itemId, out var row)) { - int num2 = num; - int num3 = 1632671577; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 7: - return false; - case 6: - { - byte num8 = jobLevelLookup(rowId); - int num9 = _206E_206F_206E_202B_202E_202E_206A_202A_202B_200F_206E_200D_200F_206C_200B_206D_206D_202E_200D_200B_200D_206C_200D_202E_206F_202B_206C_206B_206B_206B_200D_202B_206C_200F_202B_206E_202C_206C_202B_202A_202E(row.LevelEquip - 10, 1); - num = ((num8 >= num9) ? 1632671576 : 1632671581); - break; - } - case 0: - return HasDarkMatterOrBetter(dataManager, num7); - case 5: - return false; - case 2: - return false; - case 4: - return false; - case 3: - rowId = row.ClassJobRepair.RowId; - num = ((rowId != 0) ? 1632671583 : 1632671579); - break; - case 8: - num = 1632671580; - break; - case 1: - num7 = row.ItemRepair.ValueNullable?.Item.RowId ?? 0; - num = ((num7 != 0) ? 1632671577 : 1632671582); - break; - } + return false; } + uint rowId = row.ClassJobRepair.RowId; + if (rowId == 0) + { + return false; + } + byte num = jobLevelLookup(rowId); + int num2 = Math.Max(row.LevelEquip - 10, 1); + if (num < num2) + { + return false; + } + uint num3 = row.ItemRepair.ValueNullable?.Item.RowId ?? 0; + if (num3 == 0) + { + return false; + } + return HasDarkMatterOrBetter(dataManager, num3); } public unsafe static bool CanSelfRepairAny(IDataManager dataManager, Func jobLevelLookup, int thresholdPercent = 100) { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? 1849138139 : 1849138142); - int num7 = default(int); - InventoryItem* inventorySlot = default(InventoryItem*); - InventoryContainer* inventoryContainer = default(InventoryContainer*); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1849138143; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return false; + } + InventoryContainer* inventoryContainer = ptr->GetInventoryContainer(InventoryType.EquippedItems); + if (inventoryContainer == null) + { + return false; + } + for (int i = 0; i < inventoryContainer->Size; i++) + { + InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(i); + if (inventorySlot != null && inventorySlot->ItemId != 0 && inventorySlot->Condition * 100 / 30000 < thresholdPercent && CanSelfRepairItem(inventorySlot->ItemId, dataManager, jobLevelLookup)) { - case 0: return true; - case 9: - num7 = 0; - num = 1849138140; - break; - case 5: - num = ((!CanSelfRepairItem(inventorySlot->ItemId, dataManager, jobLevelLookup)) ? 1849138131 : 1849138143); - break; - case 2: - num = 1849138142; - break; - case 7: - inventorySlot = inventoryContainer->GetInventorySlot(num7); - num = ((inventorySlot == null) ? 1849138131 : 1849138132); - break; - case 10: - return false; - case 6: - num = ((inventorySlot->Condition * 100 / 30000 >= thresholdPercent) ? 1849138131 : 1849138138); - break; - case 11: - num = ((inventorySlot->ItemId == 0) ? 1849138131 : 1849138137); - break; - case 8: - return false; - case 12: - { - int num8 = num7; - num3 = 1; - num4 = num8; - int num9 = num4 ^ num3; - int num10 = num4 & num3; - num7 = num9 + (num10 + num10); - num = 1849138140; - break; - } - case 3: - num = ((num7 < inventoryContainer->Size) ? 1849138136 : 1849138133); - break; - case 4: - inventoryContainer = ptr->GetInventoryContainer(InventoryType.EquippedItems); - num = ((inventoryContainer != null) ? 1849138134 : 1849138135); - break; - case 1: - return false; } } + return false; } private unsafe static bool HasDarkMatterOrBetter(IDataManager dataManager, uint requiredItemId) { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? (-248963167) : (-248963166)); - ItemRepairResource current = default(ItemRepairResource); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -248963165; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0054; - case 1: - return false; - case 2: - { - ExcelSheet excelSheet = dataManager.GetExcelSheet(); - bool flag = false; - using (ExcelSheet.Enumerator enumerator = excelSheet.GetEnumerator()) - { - num = 975190741; - while (true) - { - int num7 = num; - num3 = 975190742; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 3: - num = (enumerator.MoveNext() ? 975190743 : 975190742); - break; - case 6: - flag = true; - num = 975190737; - break; - case 1: - current = enumerator.Current; - num = ((current.Item.RowId != requiredItemId) ? 975190737 : 975190736); - break; - case 5: - num = ((ptr->GetInventoryItemCount(current.Item.RowId, isHq: false, checkEquipped: true, checkArmory: true, 0) <= 0) ? 975190741 : 975190740); - break; - case 4: - num = 975190741; - break; - case 7: - num = ((!flag) ? 975190741 : 975190739); - break; - case 2: - return true; - case 0: - goto end_IL_0086; - } - continue; - end_IL_0086: - break; - } - } - return false; - } - } - continue; - IL_0054: - num = -248963166; + return false; } - } - - static int _206E_206F_206E_202B_202E_202E_206A_202A_202B_200F_206E_200D_200F_206C_200B_206D_206D_202E_200D_200B_200D_206C_200D_202E_206F_202B_206C_206B_206B_206B_200D_202B_206C_200F_202B_206E_202C_206C_202B_202A_202E(int P_0, int P_1) - { - return Math.Max(P_0, P_1); + ExcelSheet excelSheet = dataManager.GetExcelSheet(); + bool flag = false; + foreach (ItemRepairResource item in excelSheet) + { + if (item.Item.RowId == requiredItemId) + { + flag = true; + } + if (flag && ptr->GetInventoryItemCount(item.Item.RowId, isHq: false, checkEquipped: true, checkArmory: true, 0) > 0) + { + return true; + } + } + return false; } } diff --git a/LLib/LLib.Gear/SlotCondition.cs b/LLib/LLib.Gear/SlotCondition.cs index 196ad6a..06f6c88 100644 --- a/LLib/LLib.Gear/SlotCondition.cs +++ b/LLib/LLib.Gear/SlotCondition.cs @@ -1,106 +1,3 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; - namespace LLib.Gear; -public readonly record struct SlotCondition(int SlotIndex, uint ItemId, int ConditionPercent) -{ - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200E_202C_206F_200F_200F_200E_202B_202C_206F_206B_200D_206B_206C_202B_200D_200F_206D_200E_200C_200E_206A_206D_206D_202E_206A_202D_206B_206C_206D_200D_200F_202B_206D_202D_202B_200B_202C_200C_206B_206C_202E(); - _202E_206A_200B_200C_206E_200D_206F_206C_206E_202B_200D_202D_206D_200B_206F_206A_206A_202A_206F_206B_206B_202A_206D_206C_202D_206C_202B_206F_200F_206D_202D_200E_206E_202D_200F_202B_206F_200E_202B_202C_202E(stringBuilder, 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(401739836)); - _202E_206A_200B_200C_206E_200D_206F_206C_206E_202B_200D_202D_206D_200B_206F_206A_206A_202A_206F_206B_206B_202A_206D_206C_202D_206C_202B_206F_200F_206D_202D_200E_206E_202D_200F_202B_206F_200E_202B_202C_202E(stringBuilder, 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(1148273145)); - int num = ((!PrintMembers(stringBuilder)) ? (-272952950) : (-272952951)); - while (true) - { - int num2 = num; - int num3 = -272952952; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - _200D_202E_200E_202A_200E_206F_206E_202B_206D_202D_206E_200C_200D_200B_200E_206A_200F_206D_206F_202B_202D_200D_202C_206C_200F_206A_202E_206E_202A_202B_200C_202C_206C_200B_202B_200C_206A_200E_206A_206F_202E(stringBuilder, '}'); - return _206D_206E_206B_206B_202B_206F_202D_200E_200C_206D_200D_200F_200D_202D_202E_206A_200E_206D_200E_206C_200E_206F_206F_202E_200F_202E_202D_206B_200D_206D_200D_202C_206D_200D_200C_206E_202A_202B_202D_202E_202E((object)stringBuilder); - case 1: - _200D_202E_200E_202A_200E_206F_206E_202B_206D_202D_206E_200C_200D_200B_200E_206A_200F_206D_206F_202B_202D_200D_202C_206C_200F_206A_202E_206E_202A_202B_200C_202C_206C_200B_202B_200C_206A_200E_206A_206F_202E(stringBuilder, ' '); - num = -272952950; - break; - case 0: - num = -272952951; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202E_206A_200B_200C_206E_200D_206F_206C_206E_202B_200D_202D_206D_200B_206F_206A_206A_202A_206F_206B_206B_202A_206D_206C_202D_206C_202B_206F_200F_206D_202D_200E_206E_202D_200F_202B_206F_200E_202B_202C_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(-578928888)); - _202E_206A_200B_200C_206E_200D_206F_206C_206E_202B_200D_202D_206D_200B_206F_206A_206A_202A_206F_206B_206B_202A_206D_206C_202D_206C_202B_206F_200F_206D_202D_200E_206E_202D_200F_202B_206F_200E_202B_202C_202E(builder, SlotIndex.ToString()); - _202E_206A_200B_200C_206E_200D_206F_206C_206E_202B_200D_202D_206D_200B_206F_206A_206A_202A_206F_206B_206B_202A_206D_206C_202D_206C_202B_206F_200F_206D_202D_200E_206E_202D_200F_202B_206F_200E_202B_202C_202E(builder, 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(466953188)); - _202E_206A_200B_200C_206E_200D_206F_206C_206E_202B_200D_202D_206D_200B_206F_206A_206A_202A_206F_206B_206B_202A_206D_206C_202D_206C_202B_206F_200F_206D_202D_200E_206E_202D_200F_202B_206F_200E_202B_202C_202E(builder, ItemId.ToString()); - _202E_206A_200B_200C_206E_200D_206F_206C_206E_202B_200D_202D_206D_200B_206F_206A_206A_202A_206F_206B_206B_202A_206D_206C_202D_206C_202B_206F_200F_206D_202D_200E_206E_202D_200F_202B_206F_200E_202B_202C_202E(builder, 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(-1004296737)); - _202E_206A_200B_200C_206E_200D_206F_206C_206E_202B_200D_202D_206D_200B_206F_206A_206A_202A_206F_206B_206B_202A_206D_206C_202D_206C_202B_206F_200F_206D_202D_200E_206E_202D_200F_202B_206F_200E_202B_202C_202E(builder, ConditionPercent.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(SlotCondition other) - { - int num = ((!EqualityComparer.Default.Equals(SlotIndex, other.SlotIndex)) ? (-1584065341) : (-1584065343)); - while (true) - { - int num2 = num; - int num3 = -1584065344; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1584065343; - break; - case 1: - num = ((!EqualityComparer.Default.Equals(ItemId, other.ItemId)) ? (-1584065341) : (-1584065342)); - break; - case 2: - return EqualityComparer.Default.Equals(ConditionPercent, other.ConditionPercent); - case 3: - return false; - } - } - } - - bool IEquatable.Equals(SlotCondition other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _200E_202C_206F_200F_200F_200E_202B_202C_206F_206B_200D_206B_206C_202B_200D_200F_206D_200E_200C_200E_206A_206D_206D_202E_206A_202D_206B_206C_206D_200D_200F_202B_206D_202D_202B_200B_202C_200C_206B_206C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202E_206A_200B_200C_206E_200D_206F_206C_206E_202B_200D_202D_206D_200B_206F_206A_206A_202A_206F_206B_206B_202A_206D_206C_202D_206C_202B_206F_200F_206D_202D_200E_206E_202D_200F_202B_206F_200E_202B_202C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200D_202E_200E_202A_200E_206F_206E_202B_206D_202D_206E_200C_200D_200B_200E_206A_200F_206D_206F_202B_202D_200D_202C_206C_200F_206A_202E_206E_202A_202B_200C_202C_206C_200B_202B_200C_206A_200E_206A_206F_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206D_206E_206B_206B_202B_206F_202D_200E_200C_206D_200D_200F_200D_202D_202E_206A_200E_206D_200E_206C_200E_206F_206F_202E_200F_202E_202D_206B_200D_206D_200D_202C_206D_200D_200C_206E_202A_202B_202D_202E_202E(object P_0) - { - return P_0.ToString(); - } -} +public readonly record struct SlotCondition(int SlotIndex, uint ItemId, int ConditionPercent); diff --git a/LLib/LLib.Gear/SlotSpiritbond.cs b/LLib/LLib.Gear/SlotSpiritbond.cs index 11f8932..f43e122 100644 --- a/LLib/LLib.Gear/SlotSpiritbond.cs +++ b/LLib/LLib.Gear/SlotSpiritbond.cs @@ -1,109 +1,3 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; - namespace LLib.Gear; -public readonly record struct SlotSpiritbond(int SlotIndex, uint ItemId, int SpiritbondPercent, bool IsReady) -{ - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202D_206C_206D_200D_206C_206F_200B_202A_200D_200D_202B_202D_206E_202C_202D_200B_206A_206C_200E_200F_206A_202B_202A_200F_202E_202E_206B_202A_206C_202C_206C_206C_200E_202D_206B_206A_206E_202C_200F_202B_202E(); - _202D_202D_206E_202B_202C_200F_202E_206F_202A_206F_206E_200E_206A_202C_206D_202E_200F_206A_200C_202E_200F_206F_202B_202A_206B_202C_200E_200C_200D_200C_200B_200E_200F_202D_206A_202B_200D_206C_202D_202C_202E(stringBuilder, 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(2109045036)); - _202D_202D_206E_202B_202C_200F_202E_206F_202A_206F_206E_200E_206A_202C_206D_202E_200F_206A_200C_202E_200F_206F_202B_202A_206B_202C_200E_200C_200D_200C_200B_200E_200F_202D_206A_202B_200D_206C_202D_202C_202E(stringBuilder, 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(579144622)); - int num = ((!PrintMembers(stringBuilder)) ? (-2119618883) : (-2119618882)); - while (true) - { - int num2 = num; - int num3 = -2119618881; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -2119618882; - break; - case 1: - _202E_200F_206D_202D_206A_206B_206E_202E_200D_200F_200C_206D_206E_200C_200C_206A_200D_200B_202B_206E_200C_200C_202A_202A_200F_206C_200C_206D_206C_202C_200B_200C_200C_200C_202C_200D_206F_200B_206A_206C_202E(stringBuilder, ' '); - num = -2119618883; - break; - case 2: - _202E_200F_206D_202D_206A_206B_206E_202E_200D_200F_200C_206D_206E_200C_200C_206A_200D_200B_202B_206E_200C_200C_202A_202A_200F_206C_200C_206D_206C_202C_200B_200C_200C_200C_202C_200D_206F_200B_206A_206C_202E(stringBuilder, '}'); - return _202E_206B_202D_206B_200C_200E_202E_206B_202B_202C_202E_206A_206F_206F_206F_202E_206F_200D_206D_200B_200E_202A_206B_206C_200D_206B_202B_206B_206D_202C_200C_202D_200D_202B_202C_200E_200E_206E_200F_206A_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202D_202D_206E_202B_202C_200F_202E_206F_202A_206F_206E_200E_206A_202C_206D_202E_200F_206A_200C_202E_200F_206F_202B_202A_206B_202C_200E_200C_200D_200C_200B_200E_200F_202D_206A_202B_200D_206C_202D_202C_202E(builder, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-78434179)); - _202D_202D_206E_202B_202C_200F_202E_206F_202A_206F_206E_200E_206A_202C_206D_202E_200F_206A_200C_202E_200F_206F_202B_202A_206B_202C_200E_200C_200D_200C_200B_200E_200F_202D_206A_202B_200D_206C_202D_202C_202E(builder, SlotIndex.ToString()); - _202D_202D_206E_202B_202C_200F_202E_206F_202A_206F_206E_200E_206A_202C_206D_202E_200F_206A_200C_202E_200F_206F_202B_202A_206B_202C_200E_200C_200D_200C_200B_200E_200F_202D_206A_202B_200D_206C_202D_202C_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(-1773173997)); - _202D_202D_206E_202B_202C_200F_202E_206F_202A_206F_206E_200E_206A_202C_206D_202E_200F_206A_200C_202E_200F_206F_202B_202A_206B_202C_200E_200C_200D_200C_200B_200E_200F_202D_206A_202B_200D_206C_202D_202C_202E(builder, ItemId.ToString()); - _202D_202D_206E_202B_202C_200F_202E_206F_202A_206F_206E_200E_206A_202C_206D_202E_200F_206A_200C_202E_200F_206F_202B_202A_206B_202C_200E_200C_200D_200C_200B_200E_200F_202D_206A_202B_200D_206C_202D_202C_202E(builder, 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(1225522819)); - _202D_202D_206E_202B_202C_200F_202E_206F_202A_206F_206E_200E_206A_202C_206D_202E_200F_206A_200C_202E_200F_206F_202B_202A_206B_202C_200E_200C_200D_200C_200B_200E_200F_202D_206A_202B_200D_206C_202D_202C_202E(builder, SpiritbondPercent.ToString()); - _202D_202D_206E_202B_202C_200F_202E_206F_202A_206F_206E_200E_206A_202C_206D_202E_200F_206A_200C_202E_200F_206F_202B_202A_206B_202C_200E_200C_200D_200C_200B_200E_200F_202D_206A_202B_200D_206C_202D_202C_202E(builder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1842281916)); - _202D_202D_206E_202B_202C_200F_202E_206F_202A_206F_206E_200E_206A_202C_206D_202E_200F_206A_200C_202E_200F_206F_202B_202A_206B_202C_200E_200C_200D_200C_200B_200E_200F_202D_206A_202B_200D_206C_202D_202C_202E(builder, IsReady.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(SlotSpiritbond other) - { - int num = ((!EqualityComparer.Default.Equals(SlotIndex, other.SlotIndex)) ? (-364855096) : (-364855094)); - while (true) - { - int num2 = num; - int num3 = -364855096; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - num = ((!EqualityComparer.Default.Equals(SpiritbondPercent, other.SpiritbondPercent)) ? (-364855096) : (-364855093)); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(ItemId, other.ItemId)) ? (-364855096) : (-364855095)); - break; - case 4: - num = -364855094; - break; - case 0: - return false; - case 3: - return EqualityComparer.Default.Equals(IsReady, other.IsReady); - } - } - } - - bool IEquatable.Equals(SlotSpiritbond other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _202D_206C_206D_200D_206C_206F_200B_202A_200D_200D_202B_202D_206E_202C_202D_200B_206A_206C_200E_200F_206A_202B_202A_200F_202E_202E_206B_202A_206C_202C_206C_206C_200E_202D_206B_206A_206E_202C_200F_202B_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202D_202D_206E_202B_202C_200F_202E_206F_202A_206F_206E_200E_206A_202C_206D_202E_200F_206A_200C_202E_200F_206F_202B_202A_206B_202C_200E_200C_200D_200C_200B_200E_200F_202D_206A_202B_200D_206C_202D_202C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202E_200F_206D_202D_206A_206B_206E_202E_200D_200F_200C_206D_206E_200C_200C_206A_200D_200B_202B_206E_200C_200C_202A_202A_200F_206C_200C_206D_206C_202C_200B_200C_200C_200C_202C_200D_206F_200B_206A_206C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202E_206B_202D_206B_200C_200E_202E_206B_202B_202C_202E_206A_206F_206F_206F_202E_206F_200D_206D_200B_200E_202A_206B_206C_200D_206B_202B_206B_206D_202C_200C_202D_200D_202B_202C_200E_200E_206E_200F_206A_202E(object P_0) - { - return P_0.ToString(); - } -} +public readonly record struct SlotSpiritbond(int SlotIndex, uint ItemId, int SpiritbondPercent, bool IsReady); diff --git a/LLib/LLib.Gear/StatInfo.cs b/LLib/LLib.Gear/StatInfo.cs index 2949a1f..d9080e8 100644 --- a/LLib/LLib.Gear/StatInfo.cs +++ b/LLib/LLib.Gear/StatInfo.cs @@ -1,147 +1,6 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; - namespace LLib.Gear; public sealed record StatInfo(short EquipmentValue, short MateriaValue, bool Overcapped) { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202C_200D_206E_200F_202B_200B_200B_206C_206A_202A_202A_206B_200D_202B_206E_206C_202B_200D_206B_206E_206F_200B_206B_206A_200D_202A_206C_202C_206F_206E_200F_202B_200D_202E_206E_206A_206C_200F_202B_202D_202E(typeof(StatInfo).TypeHandle); - } - } - public short TotalValue => (short)(EquipmentValue + MateriaValue); - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202B_202A_202C_200D_202C_200C_200F_200F_206A_206A_200E_202A_200D_202D_206B_206E_200E_202B_202A_200C_202B_206A_206C_202C_206D_202B_206E_202D_200D_206A_202A_206A_200C_200E_206A_206E_206E_202E_200F_202D_202E(); - _200C_202A_206E_202A_206A_202E_202D_200E_202A_202A_200F_200F_206F_202D_200C_202C_200E_206F_202A_202D_200D_200B_202E_206E_206A_206E_206B_200B_200E_200C_202D_202D_202C_206C_200F_206A_200B_200B_202C_206F_202E(stringBuilder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-1952140969)); - _200C_202A_206E_202A_206A_202E_202D_200E_202A_202A_200F_200F_206F_202D_200C_202C_200E_206F_202A_202D_200D_200B_202E_206E_206A_206E_206B_200B_200E_200C_202D_202D_202C_206C_200F_206A_200B_200B_202C_206F_202E(stringBuilder, 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(579144622)); - int num = ((!PrintMembers(stringBuilder)) ? 1013311267 : 1013311264); - while (true) - { - int num2 = num; - int num3 = 1013311266; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1013311264; - break; - case 2: - _200C_206C_202D_200D_200C_202E_200F_202C_206A_206A_206A_200C_206C_206C_206F_202E_202B_200D_200B_202C_202D_206F_200F_202E_206B_202E_200D_200D_206E_202D_202E_206D_206C_200C_200E_200F_206D_206F_200E_200D_202E(stringBuilder, ' '); - num = 1013311267; - break; - case 1: - _200C_206C_202D_200D_200C_202E_200F_202C_206A_206A_206A_200C_206C_206C_206F_202E_202B_200D_200B_202C_202D_206F_200F_202E_206B_202E_200D_200D_206E_202D_202E_206D_206C_200C_200E_200F_206D_206F_200E_200D_202E(stringBuilder, '}'); - return _202A_200B_206C_200E_206C_202B_202D_206F_206B_202A_200D_200F_202D_200D_202B_202A_200F_200D_200E_202B_202C_202B_202A_200F_206E_206C_206F_202E_206D_202D_202B_200C_202D_200B_202B_202A_200B_206F_200F_206E_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206D_206C_202B_206D_206F_206C_206D_202C_202D_206E_200D_200B_200E_206E_200B_200B_200E_206D_206D_200E_202E_202C_206F_202D_206C_206E_206F_206C_206A_206A_200E_206F_206E_206F_206A_200C_206A_206F_206D_200F_202E(); - _200C_202A_206E_202A_206A_202E_202D_200E_202A_202A_200F_200F_206F_202D_200C_202C_200E_206F_202A_202D_200D_200B_202E_206E_206A_206E_206B_200B_200E_200C_202D_202D_202C_206C_200F_206A_200B_200B_202C_206F_202E(builder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(771577716)); - _200C_202A_206E_202A_206A_202E_202D_200E_202A_202A_200F_200F_206F_202D_200C_202C_200E_206F_202A_202D_200D_200B_202E_206E_206A_206E_206B_200B_200E_200C_202D_202D_202C_206C_200F_206A_200B_200B_202C_206F_202E(builder, EquipmentValue.ToString()); - _200C_202A_206E_202A_206A_202E_202D_200E_202A_202A_200F_200F_206F_202D_200C_202C_200E_206F_202A_202D_200D_200B_202E_206E_206A_206E_206B_200B_200E_200C_202D_202D_202C_206C_200F_206A_200B_200B_202C_206F_202E(builder, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1148322998)); - _200C_202A_206E_202A_206A_202E_202D_200E_202A_202A_200F_200F_206F_202D_200C_202C_200E_206F_202A_202D_200D_200B_202E_206E_206A_206E_206B_200B_200E_200C_202D_202D_202C_206C_200F_206A_200B_200B_202C_206F_202E(builder, MateriaValue.ToString()); - _200C_202A_206E_202A_206A_202E_202D_200E_202A_202A_200F_200F_206F_202D_200C_202C_200E_206F_202A_202D_200D_200B_202E_206E_206A_206E_206B_200B_200E_200C_202D_202D_202C_206C_200F_206A_200B_200B_202C_206F_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(2107946747)); - _200C_202A_206E_202A_206A_202E_202D_200E_202A_202A_200F_200F_206F_202D_200C_202C_200E_206F_202A_202D_200D_200B_202E_206E_206A_206E_206B_200B_200E_200C_202D_202D_202C_206C_200F_206A_200B_200B_202C_206F_202E(builder, Overcapped.ToString()); - _200C_202A_206E_202A_206A_202E_202D_200E_202A_202A_200F_200F_206F_202D_200C_202C_200E_206F_202A_202D_200D_200B_202E_206E_206A_206E_206B_200B_200E_200C_202D_202D_202C_206C_200F_206A_200B_200B_202C_206F_202E(builder, 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(-2076013549)); - _200C_202A_206E_202A_206A_202E_202D_200E_202A_202A_200F_200F_206F_202D_200C_202C_200E_206F_202A_202D_200D_200B_202E_206E_206A_206E_206B_200B_200E_200C_202D_202D_202C_206C_200F_206A_200B_200B_202C_206F_202E(builder, TotalValue.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(StatInfo? other) - { - int num = (((object)this == other) ? 1623034008 : 1623034013); - while (true) - { - int num2 = num; - int num3 = 1623034015; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 7: - return true; - case 2: - num = (((object)other == null) ? 1623034011 : 1623034010); - break; - case 4: - return false; - case 0: - num = 1623034013; - break; - case 6: - return EqualityComparer.Default.Equals(Overcapped, other.Overcapped); - case 1: - num = ((!EqualityComparer.Default.Equals(EquipmentValue, other.EquipmentValue)) ? 1623034011 : 1623034012); - break; - case 3: - num = ((!EqualityComparer.Default.Equals(MateriaValue, other.MateriaValue)) ? 1623034011 : 1623034009); - break; - case 5: - num = ((!_202A_202C_206E_202E_206B_202B_202E_200B_200D_200E_200C_206D_206A_200D_206D_202B_206C_202E_206B_202D_206E_206F_206C_206A_202C_202B_206D_200B_200C_200C_200C_202D_206D_200C_206F_206D_206E_206B_200F_202E(EqualityContract, other.EqualityContract)) ? 1623034011 : 1623034014); - break; - } - } - } - - bool IEquatable.Equals(StatInfo? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202C_200D_206E_200F_202B_200B_200B_206C_206A_202A_202A_206B_200D_202B_206E_206C_202B_200D_206B_206E_206F_200B_206B_206A_200D_202A_206C_202C_206F_206E_200F_202B_200D_202E_206E_206A_206C_200F_202B_202D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202B_202A_202C_200D_202C_200C_200F_200F_206A_206A_200E_202A_200D_202D_206B_206E_200E_202B_202A_200C_202B_206A_206C_202C_206D_202B_206E_202D_200D_206A_202A_206A_200C_200E_206A_206E_206E_202E_200F_202D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200C_202A_206E_202A_206A_202E_202D_200E_202A_202A_200F_200F_206F_202D_200C_202C_200E_206F_202A_202D_200D_200B_202E_206E_206A_206E_206B_200B_200E_200C_202D_202D_202C_206C_200F_206A_200B_200B_202C_206F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200C_206C_202D_200D_200C_202E_200F_202C_206A_206A_206A_200C_206C_206C_206F_202E_202B_200D_200B_202C_202D_206F_200F_202E_206B_202E_200D_200D_206E_202D_202E_206D_206C_200C_200E_200F_206D_206F_200E_200D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202A_200B_206C_200E_206C_202B_202D_206F_206B_202A_200D_200F_202D_200D_202B_202A_200F_200D_200E_202B_202C_202B_202A_200F_206E_206C_206F_202E_206D_202D_202B_200C_202D_200B_202B_202A_200B_206F_200F_206E_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206D_206C_202B_206D_206F_206C_206D_202C_202D_206E_200D_200B_200E_206E_200B_200B_200E_206D_206D_200E_202E_202C_206F_202D_206C_206E_206F_206C_206A_206A_200E_206F_206E_206F_206A_200C_206A_206F_206D_200F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _202A_202C_206E_202E_206B_202B_202E_200B_200D_200E_200C_206D_206A_200D_206D_202B_206C_202E_206B_202D_206E_206F_206C_206A_202C_202B_206D_200B_200C_200C_200C_202D_206D_200C_206F_206D_206E_206B_200F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } } diff --git a/LLib/LLib.Gear/StatPriority.cs b/LLib/LLib.Gear/StatPriority.cs index 765f623..be70c00 100644 --- a/LLib/LLib.Gear/StatPriority.cs +++ b/LLib/LLib.Gear/StatPriority.cs @@ -1,7 +1,5 @@ using System; -using System.Collections; using System.Collections.Generic; -using System.Runtime.CompilerServices; using LLib.GameData; namespace LLib.Gear; @@ -20,69 +18,14 @@ public sealed class StatPriority public float Score(EquipmentStats stats) { float num = 0f; - IEnumerator> enumerator = _weights.GetEnumerator(); - try + foreach (var (param, num3) in _weights) { - int num2 = -280188401; - EBaseParam param = default(EBaseParam); - float num6 = default(float); - while (true) + if (num3 != 0f) { - 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; + num += (float)stats.Get(param) * num3; } } + return num; } public static StatPriority ForJob(EClassJob job) @@ -90,155 +33,96 @@ public sealed class StatPriority EBaseParam[] relevantParams = GetRelevantParams(job); Dictionary dictionary = new Dictionary(relevantParams.Length); EBaseParam[] array = relevantParams; - int num = 0; - int num2 = 1591763655; - while (true) + foreach (EBaseParam key in array) { - 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; - } + dictionary[key] = 1f; } + return new StatPriority(dictionary); } private static EBaseParam[] GetRelevantParams(EClassJob job) { - int num = ((!job.IsCrafter()) ? 1757392226 : 1757392244); - bool flag = default(bool); - bool flag2 = default(bool); - while (true) + if (job.IsCrafter()) { - int num2 = num; - int num3 = 1757392228; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return new EBaseParam[3] { - 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; - } + EBaseParam.CP, + EBaseParam.Control, + EBaseParam.Craftsmanship + }; } - } - - 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); + if (job.IsGatherer()) + { + return new EBaseParam[3] + { + EBaseParam.GP, + EBaseParam.Gathering, + EBaseParam.Perception + }; + } + if (job.IsHealer()) + { + return new EBaseParam[5] + { + EBaseParam.Mind, + EBaseParam.Piety, + EBaseParam.SpellSpeed, + EBaseParam.Determination, + EBaseParam.Crit + }; + } + if (job.IsTank()) + { + return new EBaseParam[7] + { + EBaseParam.Strength, + EBaseParam.Vitality, + EBaseParam.Determination, + EBaseParam.Tenacity, + EBaseParam.DirectHit, + EBaseParam.Crit, + EBaseParam.SkillSpeed + }; + } + bool flag = job.IsPhysicalRanged(); + if (!flag) + { + bool flag2 = ((job - 29 <= EClassJob.Gladiator || job == EClassJob.Viper) ? true : false); + flag = flag2; + } + if (flag) + { + return new EBaseParam[5] + { + EBaseParam.Dexterity, + EBaseParam.Determination, + EBaseParam.DirectHit, + EBaseParam.Crit, + EBaseParam.SkillSpeed + }; + } + if (job.IsMelee()) + { + return new EBaseParam[5] + { + EBaseParam.Strength, + EBaseParam.Determination, + EBaseParam.DirectHit, + EBaseParam.Crit, + EBaseParam.SkillSpeed + }; + } + if (job.IsCaster()) + { + return new EBaseParam[5] + { + EBaseParam.Intelligence, + EBaseParam.Determination, + EBaseParam.DirectHit, + EBaseParam.Crit, + EBaseParam.SpellSpeed + }; + } + return Array.Empty(); } } diff --git a/LLib/LLib.ImGui/LWindow.cs b/LLib/LLib.ImGui/LWindow.cs index e2d2256..fc3c02a 100644 --- a/LLib/LLib.ImGui/LWindow.cs +++ b/LLib/LLib.ImGui/LWindow.cs @@ -1,9 +1,11 @@ using System; +using System.Reflection; using Dalamud.Bindings.ImGui; using Dalamud.Interface.Windowing; namespace LLib.ImGui; +[Obfuscation(Feature = "-rename", Exclude = false, ApplyToMembers = true)] public abstract class LWindow : Window { private bool _initializedConfig; @@ -18,29 +20,15 @@ public abstract class LWindow : Window { get { - int num = ((!_202C_202D_206F_200C_202D_202E_200B_200E_206C_206A_200F_200F_202D_200D_200C_200B_200E_202C_200E_206C_200E_206D_202B_200D_202C_206E_200D_200E_202A_202C_202A_202B_200B_206C_206A_200D_200C_200F_202A_200F_202E()) ? 683185440 : 683185441); - while (true) + if (base.IsOpen) { - int num2 = num; - int num3 = 683185440; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0046; - case 0: - return false; - case 1: - return !_wasCollapsedLastFrame; - } - continue; - IL_0046: - num = 683185441; + return !_wasCollapsedLastFrame; } + return false; } set { - _200F_200D_206A_200C_200C_200F_206F_200F_206C_202A_200D_206F_206D_206F_206D_200D_202D_202B_202D_206B_202D_202A_202B_202A_206E_200C_206D_202E_202C_200F_206B_206F_202D_202E_202A_202D_202E_202E_202C_206F_202E(value); + base.IsOpen = value; UncollapseNextFrame = value; } } @@ -49,35 +37,17 @@ public abstract class LWindow : Window { get { - float? num = _202B_200B_200F_206E_202D_200E_200F_206B_202C_200F_206F_206E_206A_206B_200F_206C_202D_202E_200C_206B_200B_206C_202D_206C_206F_200B_206B_202E_206A_200D_206A_206D_206C_206C_202A_206A_202C_206C_206F_202E(); - int num2 = ((!num.HasValue) ? (-473648869) : (-473648872)); - float valueOrDefault = default(float); - while (true) + float? bgAlpha = base.BgAlpha; + if (bgAlpha.HasValue) { - int num3 = num2; - int num4 = -473648870; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 0: - num2 = -473648872; - break; - case 3: - return (int)_202B_202B_200E_200C_200F_200B_200D_200D_200D_206D_200B_206B_202A_202B_200C_206C_206E_206D_206A_202C_206A_202D_206D_206E_206D_200E_202A_206C_200B_200D_206F_206F_200E_200C_206B_200E_200C_206F_206D_200D_202E(100000f * valueOrDefault); - case 2: - valueOrDefault = num.GetValueOrDefault(); - num2 = -473648871; - break; - case 1: - return null; - } + float valueOrDefault = bgAlpha.GetValueOrDefault(); + return (int)MathF.Round(100000f * valueOrDefault); } + return null; } set { - _200F_202B_206C_202C_206F_200C_200B_202D_200C_206E_202C_206D_202A_206D_202C_206A_202B_202B_202C_206E_200C_206D_206E_200D_202C_200B_200D_202C_200C_200C_206B_200E_200B_200D_200C_200C_206F_200E_202C_206D_202E((float?)value / 100000f); + base.BgAlpha = (float?)value / 100000f; } } @@ -88,123 +58,54 @@ public abstract class LWindow : Window private void LoadWindowConfig() { - IPersistableWindowConfig persistableWindowConfig = this as IPersistableWindowConfig; - int num = ((persistableWindowConfig == null) ? (-1866426683) : (-1866426684)); - WindowConfig windowConfig = default(WindowConfig); - while (true) + if (!(this is IPersistableWindowConfig persistableWindowConfig)) { - int num2 = num; - int num3 = -1866426683; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - Alpha = windowConfig.Alpha; - num = -1866426685; - break; - case 4: - _202A_202A_206B_206A_202A_200B_200B_206D_206E_206A_200C_202D_206E_202B_202B_206C_202D_206A_202B_200E_202C_202D_206E_202E_200F_202B_206D_206B_206A_202A_206B_200E_206C_200E_200D_206A_206B_200B_202E_206E_202E(windowConfig.IsPinned); - num = -1866426686; - break; - case 8: - num = ((!_206F_202C_200E_206A_202C_202E_200D_202E_202E_200F_206C_200C_200C_202C_202B_200F_200E_200C_206E_200E_200D_206F_206C_202A_206C_206B_206E_202E_202B_206B_200F_202A_202E_202B_200D_206A_206E_200C_202C_202C_202E()) ? (-1866426686) : (-1866426687)); - break; - case 6: - _initializedConfig = true; - num = -1866426683; - break; - case 0: - return; - case 7: - num = ((!_202A_206A_200E_200F_202C_206F_206E_206A_206E_200C_200E_202E_202C_202B_206D_206A_206F_200B_200D_202B_206A_202C_200E_206C_206F_206D_206D_200B_206F_202D_200F_206E_206E_206D_206A_200E_202C_206C_202B_206A_202E()) ? (-1866426688) : (-1866426682)); - break; - case 3: - _200D_200B_202D_200D_200D_206F_200B_202E_200E_202A_206D_202B_206D_202B_206F_200D_200E_206C_200D_206A_206E_200B_206A_200E_200F_200C_202B_206E_206A_200C_202B_206E_206F_206A_200B_202C_202B_202C_206B_206F_202E(windowConfig.IsClickthrough); - num = -1866426688; - break; - case 1: - windowConfig = persistableWindowConfig.WindowConfig; - num = ((windowConfig == null) ? (-1866426685) : (-1866426675)); - break; - case 2: - num = -1866426684; - break; - } + return; } + WindowConfig windowConfig = persistableWindowConfig.WindowConfig; + if (windowConfig != null) + { + if (base.AllowPinning) + { + base.IsPinned = windowConfig.IsPinned; + } + if (base.AllowClickthrough) + { + base.IsClickthrough = windowConfig.IsClickthrough; + } + Alpha = windowConfig.Alpha; + } + _initializedConfig = true; } private void UpdateWindowConfig() { - IPersistableWindowConfig persistableWindowConfig = this as IPersistableWindowConfig; - int num = ((persistableWindowConfig == null) ? (-692903602) : (-692903601)); - WindowConfig windowConfig = default(WindowConfig); - bool flag = default(bool); - while (true) + if (!(this is IPersistableWindowConfig persistableWindowConfig) || Dalamud.Bindings.ImGui.ImGui.IsAnyMouseDown()) { - int num2 = num; - int num3 = -692903608; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + WindowConfig windowConfig = persistableWindowConfig.WindowConfig; + if (windowConfig != null) + { + bool flag = false; + if (base.AllowPinning && windowConfig.IsPinned != base.IsPinned) { - case 0: - num = -692903601; - break; - case 6: - return; - case 1: - windowConfig.IsPinned = _200C_202C_202B_206A_206E_202C_200C_202A_206A_206B_202D_202C_200F_200F_206C_206C_206D_206E_202D_206A_206B_200D_202C_206C_200E_206E_200F_200F_202E_206B_206C_200E_206B_202E_202A_200C_202A_206B_206F_206B_202E(); + windowConfig.IsPinned = base.IsPinned; flag = true; - num = -692903603; - break; - case 3: - num = ((windowConfig.IsClickthrough == _200C_206A_200D_200B_202B_202B_206A_202B_206A_206A_202D_202B_202E_206E_202E_200B_206B_202E_200F_202D_202C_200F_202D_200F_202C_200F_202C_206A_206E_202C_202D_200C_202C_200C_206D_206E_206B_200F_200C_206B_202E()) ? (-692903606) : (-692903604)); - break; - case 4: - windowConfig.IsClickthrough = _200C_206A_200D_200B_202B_202B_206A_202B_206A_206A_202D_202B_202E_206E_202E_200B_206B_202E_200F_202D_202C_200F_202D_200F_202C_200F_202C_206A_206E_202C_202D_200C_202C_200C_206D_206E_206B_200F_200C_206B_202E(); + } + if (base.AllowClickthrough && windowConfig.IsClickthrough != base.IsClickthrough) + { + windowConfig.IsClickthrough = base.IsClickthrough; flag = true; - num = -692903606; - break; - case 12: - flag = false; - num = ((!_206F_202C_200E_206A_202C_202E_200D_202E_202E_200F_206C_200C_200C_202C_202B_200F_200E_200C_206E_200E_200D_206F_206C_202A_206C_206B_206E_202E_202B_206B_200F_202A_202E_202B_200D_206A_206E_200C_202C_202C_202E()) ? (-692903603) : (-692903615)); - break; - case 13: + } + if (windowConfig.Alpha != Alpha) + { windowConfig.Alpha = Alpha; flag = true; - num = -692903616; - break; - case 5: - num = ((!_202A_206A_200E_200F_202C_206F_206E_206A_206E_200C_200E_202E_202C_202B_206D_206A_206F_200B_200D_202B_206A_202C_200E_206C_206F_206D_206D_200B_206F_202D_200F_206E_206E_206D_206A_200E_202C_206C_202B_206A_202E()) ? (-692903606) : (-692903605)); - break; - case 10: - windowConfig = persistableWindowConfig.WindowConfig; - num = ((windowConfig == null) ? (-692903602) : (-692903612)); - break; - case 7: - num = (_206E_206F_206B_200D_200F_202D_202A_202D_206D_200F_200B_200F_200C_202E_200E_200E_202C_206E_206C_206F_206E_202E_202C_206B_200F_202C_206E_206A_206B_206D_206D_202A_200F_206A_206C_200E_206F_200B_200C_206A_202E() ? (-692903602) : (-692903614)); - break; - case 8: - num = ((!flag) ? (-692903602) : (-692903613)); - break; - case 2: - { - int? alpha = windowConfig.Alpha; - int? alpha2 = Alpha; - bool num7 = alpha.GetValueOrDefault() == alpha2.GetValueOrDefault(); - num3 = ((alpha.HasValue == alpha2.HasValue) ? 1 : 0); - num4 = (num7 ? 1 : 0); - num = ((num4 + num3 - (num4 | num3) != 0) ? (-692903616) : (-692903611)); - break; } - case 11: + if (flag) + { persistableWindowConfig.SaveWindowConfig(); - num = -692903602; - break; - case 9: - num = ((windowConfig.IsPinned == _200C_202C_202B_206A_206E_202C_200C_202A_206A_206B_202D_202C_200F_200F_206C_206C_206D_206E_202D_206A_206B_200D_202C_206C_200E_206E_200F_200F_202E_206B_206C_200E_206B_202E_202A_200C_202A_206B_206F_206B_202E()) ? (-692903603) : (-692903607)); - break; } } } @@ -223,7 +124,7 @@ public abstract class LWindow : Window { _closeRequested = false; UncollapseNextFrame = true; - _202B_206D_200D_206C_206F_202B_202C_200F_206E_206F_206B_200D_200E_202E_202A_200E_202C_202E_206A_202C_206F_206B_206B_206C_206F_202D_200E_200D_206A_202E_200B_200F_206E_202B_202A_202C_206D_206B_200C_206E_202E(); + base.OnOpen(); } public override void Update() @@ -233,42 +134,21 @@ public abstract class LWindow : Window public override void PreDraw() { - int num = ((!_closeRequested) ? (-306664405) : (-306664404)); - while (true) + if (_closeRequested) { - int num2 = num; - int num3 = -306664406; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - num = (_initializedConfig ? (-306664408) : (-306664402)); - break; - case 6: - _closeRequested = false; - _200F_200D_206A_200C_200C_200F_206F_200F_206C_202A_200D_206F_206D_206F_206D_200D_202D_202B_202D_206B_202D_202A_202B_202A_206E_200C_206D_202E_202C_200F_206B_206F_202D_202E_202A_202D_202E_202E_202C_206F_202E(false); - num = -306664405; - break; - case 4: - LoadWindowConfig(); - num = -306664408; - break; - case 0: - _202E_206B_206E_206C_202C_202A_200D_202C_206E_200E_206C_206F_202B_202D_206A_206B_200F_206C_200D_206E_206A_206C_200C_200B_200B_202A_200D_200C_202A_206A_206D_206C_202A_202C_200B_200D_202E_200D_200E_202B_202E(false); - UncollapseNextFrame = false; - num = -306664407; - break; - case 5: - num = -306664404; - break; - case 3: - _200E_200F_200F_202A_206E_202D_200D_206C_206A_200D_202E_200C_200F_202D_200B_202E_200E_200D_202A_206C_206F_202E_202E_200F_200D_206E_206A_202A_206A_206B_206E_202D_202C_200F_206E_206C_206E_200C_206A_200C_202E(); - return; - case 2: - num = ((!UncollapseNextFrame) ? (-306664407) : (-306664406)); - break; - } + _closeRequested = false; + base.IsOpen = false; } + if (!_initializedConfig) + { + LoadWindowConfig(); + } + if (UncollapseNextFrame) + { + Dalamud.Bindings.ImGui.ImGui.SetNextWindowCollapsed(collapsed: false); + UncollapseNextFrame = false; + } + base.PreDraw(); } public sealed override void Draw() @@ -281,105 +161,10 @@ public abstract class LWindow : Window public override void PostDraw() { - _200B_202E_202E_206B_202B_202A_206B_200B_202D_206E_202D_200F_202B_200C_200C_200B_206A_206E_206C_206B_206E_202D_202D_206E_200C_206B_202B_206F_202E_202B_206A_206B_206D_202E_202B_206E_200B_206A_200E_200C_202E(); - int num = ((!_initializedConfig) ? (-1105315844) : (-1105315843)); - while (true) + base.PostDraw(); + if (_initializedConfig) { - int num2 = num; - int num3 = -1105315844; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1105315843; - break; - case 0: - return; - case 1: - UpdateWindowConfig(); - num = -1105315844; - break; - } + UpdateWindowConfig(); } } - - bool _202C_202D_206F_200C_202D_202E_200B_200E_206C_206A_200F_200F_202D_200D_200C_200B_200E_202C_200E_206C_200E_206D_202B_200D_202C_206E_200D_200E_202A_202C_202A_202B_200B_206C_206A_200D_200C_200F_202A_200F_202E() - { - return base.IsOpen; - } - - void _200F_200D_206A_200C_200C_200F_206F_200F_206C_202A_200D_206F_206D_206F_206D_200D_202D_202B_202D_206B_202D_202A_202B_202A_206E_200C_206D_202E_202C_200F_206B_206F_202D_202E_202A_202D_202E_202E_202C_206F_202E(bool P_0) - { - base.IsOpen = P_0; - } - - float? _202B_200B_200F_206E_202D_200E_200F_206B_202C_200F_206F_206E_206A_206B_200F_206C_202D_202E_200C_206B_200B_206C_202D_206C_206F_200B_206B_202E_206A_200D_206A_206D_206C_206C_202A_206A_202C_206C_206F_202E() - { - return base.BgAlpha; - } - - static float _202B_202B_200E_200C_200F_200B_200D_200D_200D_206D_200B_206B_202A_202B_200C_206C_206E_206D_206A_202C_206A_202D_206D_206E_206D_200E_202A_206C_200B_200D_206F_206F_200E_200C_206B_200E_200C_206F_206D_200D_202E(float P_0) - { - return MathF.Round(P_0); - } - - void _200F_202B_206C_202C_206F_200C_200B_202D_200C_206E_202C_206D_202A_206D_202C_206A_202B_202B_202C_206E_200C_206D_206E_200D_202C_200B_200D_202C_200C_200C_206B_200E_200B_200D_200C_200C_206F_200E_202C_206D_202E(float? P_0) - { - base.BgAlpha = P_0; - } - - bool _206F_202C_200E_206A_202C_202E_200D_202E_202E_200F_206C_200C_200C_202C_202B_200F_200E_200C_206E_200E_200D_206F_206C_202A_206C_206B_206E_202E_202B_206B_200F_202A_202E_202B_200D_206A_206E_200C_202C_202C_202E() - { - return base.AllowPinning; - } - - void _202A_202A_206B_206A_202A_200B_200B_206D_206E_206A_200C_202D_206E_202B_202B_206C_202D_206A_202B_200E_202C_202D_206E_202E_200F_202B_206D_206B_206A_202A_206B_200E_206C_200E_200D_206A_206B_200B_202E_206E_202E(bool P_0) - { - base.IsPinned = P_0; - } - - bool _202A_206A_200E_200F_202C_206F_206E_206A_206E_200C_200E_202E_202C_202B_206D_206A_206F_200B_200D_202B_206A_202C_200E_206C_206F_206D_206D_200B_206F_202D_200F_206E_206E_206D_206A_200E_202C_206C_202B_206A_202E() - { - return base.AllowClickthrough; - } - - void _200D_200B_202D_200D_200D_206F_200B_202E_200E_202A_206D_202B_206D_202B_206F_200D_200E_206C_200D_206A_206E_200B_206A_200E_200F_200C_202B_206E_206A_200C_202B_206E_206F_206A_200B_202C_202B_202C_206B_206F_202E(bool P_0) - { - base.IsClickthrough = P_0; - } - - static bool _206E_206F_206B_200D_200F_202D_202A_202D_206D_200F_200B_200F_200C_202E_200E_200E_202C_206E_206C_206F_206E_202E_202C_206B_200F_202C_206E_206A_206B_206D_206D_202A_200F_206A_206C_200E_206F_200B_200C_206A_202E() - { - return Dalamud.Bindings.ImGui.ImGui.IsAnyMouseDown(); - } - - bool _200C_202C_202B_206A_206E_202C_200C_202A_206A_206B_202D_202C_200F_200F_206C_206C_206D_206E_202D_206A_206B_200D_202C_206C_200E_206E_200F_200F_202E_206B_206C_200E_206B_202E_202A_200C_202A_206B_206F_206B_202E() - { - return base.IsPinned; - } - - bool _200C_206A_200D_200B_202B_202B_206A_202B_206A_206A_202D_202B_202E_206E_202E_200B_206B_202E_200F_202D_202C_200F_202D_200F_202C_200F_202C_206A_206E_202C_202D_200C_202C_200C_206D_206E_206B_200F_200C_206B_202E() - { - return base.IsClickthrough; - } - - void _202B_206D_200D_206C_206F_202B_202C_200F_206E_206F_206B_200D_200E_202E_202A_200E_202C_202E_206A_202C_206F_206B_206B_206C_206F_202D_200E_200D_206A_202E_200B_200F_206E_202B_202A_202C_206D_206B_200C_206E_202E() - { - base.OnOpen(); - } - - static void _202E_206B_206E_206C_202C_202A_200D_202C_206E_200E_206C_206F_202B_202D_206A_206B_200F_206C_200D_206E_206A_206C_200C_200B_200B_202A_200D_200C_202A_206A_206D_206C_202A_202C_200B_200D_202E_200D_200E_202B_202E(bool P_0) - { - Dalamud.Bindings.ImGui.ImGui.SetNextWindowCollapsed(P_0); - } - - void _200E_200F_200F_202A_206E_202D_200D_206C_206A_200D_202E_200C_200F_202D_200B_202E_200E_200D_202A_206C_206F_202E_202E_200F_200D_206E_206A_202A_206A_206B_206E_202D_202C_200F_206E_206C_206E_200C_206A_200C_202E() - { - base.PreDraw(); - } - - void _200B_202E_202E_206B_202B_202A_206B_200B_202D_206E_202D_200F_202B_200C_200C_200B_206A_206E_206C_206B_206E_202D_202D_206E_200C_206B_202B_206F_202E_202B_206A_206B_206D_202E_202B_206E_200B_206A_200E_200C_202E() - { - base.PostDraw(); - } } diff --git a/LLib/LLib.ImGui/MapPolygonEditor.cs b/LLib/LLib.ImGui/MapPolygonEditor.cs index 0c87690..bc4d20b 100644 --- a/LLib/LLib.ImGui/MapPolygonEditor.cs +++ b/LLib/LLib.ImGui/MapPolygonEditor.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Dalamud.Bindings.ImGui; using Dalamud.Interface.Textures.TextureWraps; @@ -81,215 +80,96 @@ public sealed class MapPolygonEditor _offset = Vector2.Zero; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Draw(IEditablePolygonSet polygons, Vector3? playerPosition, Vector2? size = null) { - Vector2 vector = _202A_200B_202A_206D_202C_202C_202E_200C_202D_202E_200C_206D_206F_202A_206B_206E_200E_200F_206F_206A_206A_202B_202C_200F_200D_200F_202D_200F_200B_200C_202C_202D_200D_202C_200B_200D_202A_200B_206D_206B_202E(); - Vector2? vector2 = size; - int num = (vector2.HasValue ? 1179262283 : 1179262292); - ImDrawListPtr drawList = default(ImDrawListPtr); - Vector2 vector3 = default(Vector2); - Vector2 vector4 = default(Vector2); - bool flag = default(bool); - int nearVertexIndex = default(int); - Vector2 vector5 = default(Vector2); - Vector2 vector6 = default(Vector2); - IDalamudTextureWrap textureWrap = default(IDalamudTextureWrap); - while (true) + Vector2 contentRegionAvail = Dalamud.Bindings.ImGui.ImGui.GetContentRegionAvail(); + Vector2 size2 = size ?? new Vector2(contentRegionAvail.X, MathF.Max(contentRegionAvail.Y, 400f)); + if (!Dalamud.Bindings.ImGui.ImGui.BeginChild("##MapPolygonEditor", size2, border: true)) { - int num2 = num; - int num3 = 1179262298; - int num4 = num2; - Vector2 vector7; - Vector2 vector8; - switch ((num4 | num3) - (num4 & num3)) - { - case 10: - num = ((!_isDrawing) ? 1179262280 : 1179262301); - break; - case 7: - DrawPolygonInProgress(drawList, vector3, vector4); - num = 1179262280; - break; - case 18: - HandleMouseInput(polygons, vector3, vector4, flag); - HandleDrawingInput(polygons, vector3, vector4, flag); - _206C_202E_202E_202C_202E_202B_206C_206D_202C_206B_206F_206B_202B_206C_206D_200B_206E_200B_206D_202D_206B_202C_200C_206A_206B_206B_206C_206A_200B_200B_200B_202B_200B_202E_206D_200B_206A_200D_202B_206E_202E(); - return; - case 8: - HandleVertexDrag(polygons, vector3, vector4, flag, nearVertexIndex); - num = (_isDraggingVertex ? 1179262291 : 1179262299); - break; - case 1: - HandlePanZoom(vector5, vector6, flag); - num = 1179262291; - break; - case 5: - _206D_202C_202B_206C_202B_200D_202B_200E_202E_206F_202E_200D_200B_202B_206A_202E_200F_206D_202A_206F_200F_200B_202D_200B_206A_202E_206E_202D_202E_200D_206C_200F_206C_202D_202C_202B_202B_200F_206D_206E_202E((ImU8String)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(-2135402966)); - num = 1179262294; - break; - case 17: - vector7 = vector2.GetValueOrDefault(); - goto IL_0167; - case 0: - _206D_202C_202B_206C_202B_200D_202B_200E_202E_206F_202E_200D_200B_202B_206A_202E_200F_206D_202A_206F_200F_200B_202D_200B_206A_202E_206E_202D_202E_200D_206C_200F_206C_202D_202C_202B_202B_200F_206D_206E_202E((ImU8String)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(1849117165)); - num = 1179262294; - break; - case 19: - num = ((SelectedIndex >= polygons.PolygonCount) ? 1179262290 : 1179262300); - break; - case 12: - _206C_202E_202E_202C_202E_202B_206C_206D_202C_206B_206F_206B_202B_206C_206D_200B_206E_200B_206D_202D_206B_202C_200C_206A_206B_206B_206C_206A_200B_200B_200B_202B_200B_202E_206D_200B_206A_200D_202B_206E_202E(); - return; - case 14: - vector7 = new Vector2(vector.X, _206A_202A_200D_202A_206E_202A_202E_200B_206E_200E_202A_206B_202A_202C_200D_206C_200F_206D_206B_206D_200F_200C_202D_206F_202A_202A_206E_206F_206C_202B_206D_202E_206B_206D_200D_200E_200B_200F_200F_200D_202E(vector.Y, 400f)); - goto IL_0167; - case 6: - { - IList vertices = polygons.GetVertices(SelectedIndex); - nearVertexIndex = FindNearestVertexHandle(vertices, vector3, vector4); - num = 1179262290; - break; - } - case 13: - vector5 = _200D_206C_202C_202A_200F_200F_200F_200D_202E_202E_200F_206C_200E_200B_206C_200E_206A_202A_202E_200D_202D_200F_200D_202B_200C_206D_200D_202A_202E_202C_202A_202A_206F_202E_200E_200E_202E_200C_206F_206C_202E(); - vector6 = _202A_200B_202A_206D_202C_202C_202E_200C_202D_202E_200C_206D_206F_202A_206B_206E_200E_200F_206F_206A_206A_202B_202C_200F_200D_200F_202D_200F_200B_200C_202C_202D_200D_202C_200B_200D_202A_200B_206D_206B_202E(); - _206E_200D_206A_202C_202D_206B_202B_206B_202A_206F_200F_206C_206A_202C_200B_202E_200F_206C_202C_202A_200F_202C_206E_206D_202A_206A_200E_202E_200F_200E_206E_206D_202D_202B_206F_206B_200D_200E_206D_206F_202E((ImU8String)global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1669427471), vector6, ImGuiButtonFlags.None); - flag = _200D_200B_206C_202A_202C_206F_200C_202E_200F_202C_202E_200E_202A_202A_206C_200B_206F_200D_202A_206D_202B_202B_202A_206F_206F_206C_202E_206D_202B_200C_206C_206C_200E_200C_206F_202E_206F_206B_200F_200D_202E(); - textureWrap = _mapService.GetTextureWrap(); - num = ((textureWrap != null) ? 1179262282 : 1179262297); - break; - case 2: - num = ((SelectedIndex < 0) ? 1179262290 : 1179262281); - break; - case 9: - vector3 = vector5 + _offset + vector6 * 0.5f - vector4 * 0.5f; - drawList = _200B_200C_202B_202C_206F_206E_206A_202B_200B_202D_202D_206D_202C_200B_202B_200F_206E_206C_206D_202D_206E_200F_206A_200E_202D_206F_200C_200F_202D_202A_202A_202C_202E_206B_202C_206D_202C_202A_202D_202E_202E(); - drawList.AddImage(_200B_202A_202D_202A_200B_206F_202A_200D_206A_202C_206B_206F_206C_206E_206C_202C_206D_206F_202E_206A_202C_202E_206A_202C_206B_206B_202C_202B_206A_206F_206F_206D_200E_206C_200F_202B_206B_206E_202B_200E_202E(textureWrap), vector3, vector3 + vector4); - DrawPolygons(drawList, polygons, vector3, vector4); - num = ((!playerPosition.HasValue) ? 1179262288 : 1179262293); - break; - case 11: - num = 1179262292; - break; - case 3: - _202B_206C_200F_200F_200D_202C_206D_200C_200B_200D_202A_202D_206F_202B_206E_206C_202B_200D_206D_202E_206A_202A_200B_206B_202B_206E_200C_200C_200D_206C_202D_206A_202B_206F_200D_200F_202C_202B_206D_200E_202E(vector5 + new Vector2(8f, 8f)); - num = ((!_mapService.IsSearching) ? 1179262303 : 1179262298); - break; - case 16: - { - float value = 2048f * _zoom; - vector4 = new Vector2(value); - vector3 = vector5 + _offset + vector6 * 0.5f - vector4 * 0.5f; - nearVertexIndex = -1; - num = (_isDrawing ? 1179262290 : 1179262296); - break; - } - case 4: - _206C_202E_202E_202C_202E_202B_206C_206D_202C_206B_206F_206B_202B_206C_206D_200B_206E_200B_206D_202D_206B_202C_200C_206A_206B_206B_206C_206A_200B_200B_200B_202B_200B_202E_206D_200B_206A_200D_202B_206E_202E(); - return; - case 15: - { - Vector3 valueOrDefault = playerPosition.GetValueOrDefault(); - Vector2 center = _mapService.WorldToScreen(valueOrDefault.X, valueOrDefault.Z, vector3, vector4); - drawList.AddCircleFilled(center, 4f, 4278255360u); - drawList.AddCircle(center, 6f, 4278190080u); - num = 1179262288; - break; - } - IL_0167: - vector8 = vector7; - num = (_206A_202A_202E_206F_202E_200F_200E_202E_206A_206D_206D_202E_200D_202D_206C_202A_200E_202E_206B_202B_200C_202A_206E_200B_206E_202A_206F_206E_202C_200B_200B_202A_206A_206B_202A_206B_202C_202B_202C_202A_202E((ImU8String)global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1901948127), vector8, true, ImGuiWindowFlags.None) ? 1179262295 : 1179262302); - break; - } + Dalamud.Bindings.ImGui.ImGui.EndChild(); + return; } + Vector2 cursorScreenPos = Dalamud.Bindings.ImGui.ImGui.GetCursorScreenPos(); + Vector2 contentRegionAvail2 = Dalamud.Bindings.ImGui.ImGui.GetContentRegionAvail(); + Dalamud.Bindings.ImGui.ImGui.InvisibleButton("##MapCapture", contentRegionAvail2); + bool flag = Dalamud.Bindings.ImGui.ImGui.IsItemHovered(); + IDalamudTextureWrap textureWrap = _mapService.GetTextureWrap(); + if (textureWrap == null) + { + Dalamud.Bindings.ImGui.ImGui.SetCursorScreenPos(cursorScreenPos + new Vector2(8f, 8f)); + if (_mapService.IsSearching) + { + Dalamud.Bindings.ImGui.ImGui.TextDisabled("Loading map texture..."); + } + else + { + Dalamud.Bindings.ImGui.ImGui.TextDisabled("No map texture available."); + } + Dalamud.Bindings.ImGui.ImGui.EndChild(); + return; + } + float value = 2048f * _zoom; + Vector2 vector = new Vector2(value); + Vector2 imagePos = cursorScreenPos + _offset + contentRegionAvail2 * 0.5f - vector * 0.5f; + int nearVertexIndex = -1; + if (!_isDrawing && SelectedIndex >= 0 && SelectedIndex < polygons.PolygonCount) + { + IList vertices = polygons.GetVertices(SelectedIndex); + nearVertexIndex = FindNearestVertexHandle(vertices, imagePos, vector); + } + HandleVertexDrag(polygons, imagePos, vector, flag, nearVertexIndex); + if (!_isDraggingVertex) + { + HandlePanZoom(cursorScreenPos, contentRegionAvail2, flag); + } + imagePos = cursorScreenPos + _offset + contentRegionAvail2 * 0.5f - vector * 0.5f; + ImDrawListPtr windowDrawList = Dalamud.Bindings.ImGui.ImGui.GetWindowDrawList(); + windowDrawList.AddImage(textureWrap.Handle, imagePos, imagePos + vector); + DrawPolygons(windowDrawList, polygons, imagePos, vector); + if (playerPosition.HasValue) + { + Vector3 valueOrDefault = playerPosition.GetValueOrDefault(); + Vector2 center = _mapService.WorldToScreen(valueOrDefault.X, valueOrDefault.Z, imagePos, vector); + windowDrawList.AddCircleFilled(center, 4f, 4278255360u); + windowDrawList.AddCircle(center, 6f, 4278190080u); + } + if (_isDrawing) + { + DrawPolygonInProgress(windowDrawList, imagePos, vector); + } + HandleMouseInput(polygons, imagePos, vector, flag); + HandleDrawingInput(polygons, imagePos, vector, flag); + Dalamud.Bindings.ImGui.ImGui.EndChild(); } private void DrawPolygons(ImDrawListPtr drawList, IEditablePolygonSet polygons, Vector2 imagePos, Vector2 imageSizeVec) { - int num = 0; - int num2 = 1957768774; - IList vertices = default(IList); - string label = default(string); - while (true) + for (int i = 0; i < polygons.PolygonCount; i++) { - int num3 = num2; - int num4 = 1957768782; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + IList vertices = polygons.GetVertices(i); + if (vertices.Count >= 3) { - case 5: - num2 = 1957768774; - break; - case 6: - vertices = polygons.GetVertices(num); - num2 = ((vertices.Count < 3) ? 1957768778 : 1957768777); - break; - case 8: - num2 = ((num < polygons.PolygonCount) ? 1957768776 : 1957768781); - break; - case 1: - DrawVertexHandles(drawList, vertices, imagePos, imageSizeVec); - num2 = 1957768780; - break; - case 4: - { - int num12 = num; - num4 = 1; - num5 = num12; - int num13 = num5 ^ num4; - int num14 = num5 & num4; - num = num13 + (num14 + num14); - num2 = 1957768774; - break; - } - case 2: - label = polygons.GetLabel(num); - num2 = (_206C_200B_206A_206F_200D_206E_202D_206B_206C_206F_200E_200E_202E_200B_206F_206B_202B_202B_200D_200B_202C_206B_202A_206D_200F_202B_202C_206D_202E_200C_206A_202B_200D_202C_202E_202A_202C_200E_206E_202C_202E(label) ? 1957768778 : 1957768782); - break; - case 7: - { - uint num6 = polygons.GetColor(num); - bool num7 = num == SelectedIndex; - if (num7) + uint num = polygons.GetColor(i); + bool num2 = i == SelectedIndex; + if (num2) { - uint num8 = num6; - num4 = 16777215; - num5 = (int)num8; - int num9 = num5 + num4 - (num5 | num4); - num4 = -1879048192; - num5 = num9; - num6 = (uint)((num5 & num4) + (num5 ^ num4)); + num = (num & 0xFFFFFF) | 0x90000000u; } - DrawFilledPolygon(drawList, vertices, imagePos, imageSizeVec, num6); - float thickness = (num7 ? 3f : 1f); - int num11; - if (!num7) - { - uint num10 = num6; - num4 = -16777216; - num5 = (int)num10; - num11 = num5 + num4 - (num5 & num4); - } - else - { - num11 = -1; - } - uint color = (uint)num11; + DrawFilledPolygon(drawList, vertices, imagePos, imageSizeVec, num); + float thickness = (num2 ? 3f : 1f); + uint color = (num2 ? uint.MaxValue : (num | 0xFF000000u)); DrawPolygonBorder(drawList, vertices, imagePos, imageSizeVec, color, thickness); - num2 = ((!num7) ? 1957768780 : 1957768783); - break; - } - case 3: - return; - case 0: - { - Vector2 vector = ComputeCentroid(vertices); - Vector2 pos = _mapService.WorldToScreen(vector.X, vector.Y, imagePos, imageSizeVec); - drawList.AddText(pos, uint.MaxValue, label); - num2 = 1957768778; - break; - } + if (num2) + { + DrawVertexHandles(drawList, vertices, imagePos, imageSizeVec); + } + string label = polygons.GetLabel(i); + if (!string.IsNullOrEmpty(label)) + { + Vector2 vector = ComputeCentroid(vertices); + Vector2 pos = _mapService.WorldToScreen(vector.X, vector.Y, imagePos, imageSizeVec); + drawList.AddText(pos, uint.MaxValue, label); + } } } } @@ -297,113 +177,36 @@ public sealed class MapPolygonEditor private void DrawFilledPolygon(ImDrawListPtr drawList, IList verts, Vector2 imagePos, Vector2 imageSizeVec, uint color) { Vector2[] array = new Vector2[verts.Count]; - int num = 0; - int num2 = 303773687; - int num9 = default(int); - int num8 = default(int); - bool flag = default(bool); - List list = default(List); - float polySignedArea = default(float); - int num13 = default(int); - int num14 = default(int); - int num15 = default(int); - while (true) + for (int i = 0; i < verts.Count; i++) { - int num3 = num2; - int num4 = 303773680; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) + array[i] = _mapService.WorldToScreen(verts[i].X, verts[i].Y, imagePos, imageSizeVec); + } + List list = new List(verts.Count); + for (int j = 0; j < verts.Count; j++) + { + list.Add(j); + } + float polySignedArea = SignedArea(array, list); + while (list.Count > 2) + { + bool flag = false; + for (int k = 0; k < list.Count; k++) { - case 14: - { - int num16 = num9; - num4 = 1; - num5 = num16; - int num17 = num5 ^ num4; - int num18 = num5 & num4; - num9 = num17 + (num18 + num18); - num2 = 303773689; - break; + int index = (k - 1 + list.Count) % list.Count; + int index2 = (k + 1) % list.Count; + int num = list[index]; + int num2 = list[k]; + int num3 = list[index2]; + if (IsEar(array, list, num, num2, num3, polySignedArea)) + { + drawList.AddTriangleFilled(array[num], array[num2], array[num3], color); + list.RemoveAt(k); + flag = true; + break; + } } - case 11: + if (!flag) { - array[num] = _mapService.WorldToScreen(verts[num].X, verts[num].Y, imagePos, imageSizeVec); - int num10 = num; - num4 = 1; - num5 = num10; - num = (num5 | num4) + (num5 & num4); - num2 = 303773687; - break; - } - case 6: - num2 = ((num8 < verts.Count) ? 303773683 : 303773688); - break; - case 2: - flag = false; - num9 = 0; - num2 = 303773689; - break; - case 3: - { - list.Add(num8); - int num19 = num8; - num4 = 1; - num5 = num19; - int num20 = num5 ^ num4; - int num21 = num5 & num4; - num8 = num20 + (num21 + num21); - num2 = 303773686; - break; - } - case 12: - num2 = ((list.Count > 2) ? 303773682 : 303773680); - break; - case 4: - num2 = 303773687; - break; - case 5: - num2 = ((!flag) ? 303773680 : 303773692); - break; - case 8: - polySignedArea = SignedArea(array, list); - num2 = 303773692; - break; - case 0: - return; - case 10: - list = new List(verts.Count); - num8 = 0; - num2 = 303773686; - break; - case 13: - drawList.AddTriangleFilled(array[num13], array[num14], array[num15], color); - list.RemoveAt(num9); - flag = true; - num2 = 303773685; - break; - case 1: - { - int num11 = num9; - num4 = 1; - num5 = num11; - int index = (~(~num5 + num4) + list.Count) % list.Count; - int num12 = num9; - num4 = 1; - num5 = num12; - int index2 = ((num5 | num4) + (num5 & num4)) % list.Count; - num13 = list[index]; - num14 = list[num9]; - num15 = list[index2]; - num2 = ((!IsEar(array, list, num13, num14, num15, polySignedArea)) ? 303773694 : 303773693); - break; - } - case 9: - num2 = ((num9 < list.Count) ? 303773681 : 303773685); - break; - case 7: - num2 = ((num < verts.Count) ? 303773691 : 303773690); break; } } @@ -412,44 +215,13 @@ public sealed class MapPolygonEditor private static float SignedArea(Vector2[] verts, List indices) { float num = 0f; - int num2 = 0; - int num3 = 747837533; - while (true) + for (int i = 0; i < indices.Count; i++) { - int num4 = num3; - int num5 = 747837535; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) - { - case 1: - return num; - case 3: - { - Vector2 vector = verts[indices[num2]]; - int num9 = num2; - num5 = 1; - num6 = num9; - Vector2 vector2 = verts[indices[((num6 | num5) + (num6 & num5)) % indices.Count]]; - num += (vector2.X - vector.X) * (vector2.Y + vector.Y); - int num10 = num2; - num5 = 1; - num6 = num10; - int num11 = num6 ^ num5; - int num12 = num6 & num5; - num2 = num11 + (num12 + num12); - num3 = 747837533; - break; - } - case 2: - num3 = ((num2 < indices.Count) ? 747837532 : 747837534); - break; - case 0: - num3 = 747837533; - break; - } + Vector2 vector = verts[indices[i]]; + Vector2 vector2 = verts[indices[(i + 1) % indices.Count]]; + num += (vector2.X - vector.X) * (vector2.Y + vector.Y); } + return num; } private static bool IsEar(Vector2[] verts, List indices, int prev, int curr, int next, float polySignedArea) @@ -458,76 +230,22 @@ public sealed class MapPolygonEditor Vector2 vector2 = verts[curr]; Vector2 vector3 = verts[next]; float num = Cross2D(vector2 - vector, vector3 - vector); - int num2 = ((!(polySignedArea > 0f)) ? (-640455158) : (-640455157)); - int current = default(int); - while (true) + if (polySignedArea > 0f && num >= 0f) { - int num3 = num2; - int num4 = -640455158; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + return false; + } + if (polySignedArea <= 0f && num <= 0f) + { + return false; + } + foreach (int index in indices) + { + if (index != prev && index != curr && index != next && PointInTriangle(verts[index], vector, vector2, vector3)) { - case 3: - num2 = ((!(num <= 0f)) ? (-640455153) : (-640455160)); - break; - case 1: - num2 = ((!(num >= 0f)) ? (-640455158) : (-640455156)); - break; - case 4: - num2 = -640455157; - break; - case 0: - num2 = ((!(polySignedArea <= 0f)) ? (-640455153) : (-640455159)); - break; - case 2: return false; - case 6: - return false; - case 5: - { - using (List.Enumerator enumerator = indices.GetEnumerator()) - { - num2 = -95069085; - while (true) - { - int num6 = num2; - num4 = -95069086; - num5 = num6; - switch ((num5 | num4) - (num5 & num4)) - { - case 1: - num2 = (enumerator.MoveNext() ? (-95069087) : (-95069082)); - break; - case 5: - num2 = ((current == curr) ? (-95069085) : (-95069088)); - break; - case 6: - return false; - case 3: - current = enumerator.Current; - num2 = ((current == prev) ? (-95069085) : (-95069081)); - break; - case 0: - num2 = -95069085; - break; - case 2: - num2 = ((current == next) ? (-95069085) : (-95069083)); - break; - case 7: - num2 = ((!PointInTriangle(verts[current], vector, vector2, vector3)) ? (-95069085) : (-95069084)); - break; - case 4: - goto end_IL_011b; - } - continue; - end_IL_011b: - break; - } - } - return true; - } } } + return true; } private static bool PointInTriangle(Vector2 p, Vector2 a, Vector2 b, Vector2 c) @@ -536,37 +254,8 @@ public sealed class MapPolygonEditor float num2 = Cross2D(p - b, c - b); float num3 = Cross2D(p - c, a - c); bool flag = num < 0f || num2 < 0f || num3 < 0f; - int num4 = ((num > 0f) ? (-1226120995) : (-1226120996)); - while (true) - { - int num5 = num4; - int num6 = -1226120994; - int num7 = num5; - int num8; - bool flag2; - switch ((num7 | num6) - (num7 & num6)) - { - case 3: - num8 = 1; - goto IL_00b3; - case 1: - num8 = ((num3 > 0f) ? 1 : 0); - goto IL_00b3; - case 2: - num4 = ((num2 > 0f) ? (-1226120995) : (-1226120993)); - break; - case 0: - { - num4 = -1226120996; - break; - } - IL_00b3: - flag2 = (byte)num8 != 0; - num6 = (flag2 ? 1 : 0); - num7 = (flag ? 1 : 0); - return (num7 | num6) - (num7 ^ num6) == 0; - } - } + bool flag2 = num > 0f || num2 > 0f || num3 > 0f; + return !(flag && flag2); } private static float Cross2D(Vector2 a, Vector2 b) @@ -576,44 +265,12 @@ public sealed class MapPolygonEditor private void DrawPolygonBorder(ImDrawListPtr drawList, IList verts, Vector2 imagePos, Vector2 imageSizeVec, uint color, float thickness) { - int num = 0; - int num2 = -1536705379; - while (true) + for (int i = 0; i < verts.Count; i++) { - int num3 = num2; - int num4 = -1536705377; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 3: - num2 = -1536705379; - break; - case 0: - return; - case 2: - num2 = ((num < verts.Count) ? (-1536705378) : (-1536705377)); - break; - case 1: - { - int num8 = num; - num4 = 1; - num5 = num8; - int num9 = num5 ^ num4; - int num10 = num5 & num4; - int index = (num9 + (num10 + num10)) % verts.Count; - Vector2 p = _mapService.WorldToScreen(verts[num].X, verts[num].Y, imagePos, imageSizeVec); - Vector2 p2 = _mapService.WorldToScreen(verts[index].X, verts[index].Y, imagePos, imageSizeVec); - drawList.AddLine(p, p2, color, thickness); - int num11 = num; - num4 = 1; - num5 = num11; - num = (num5 | num4) + (num5 & num4); - num2 = -1536705379; - break; - } - } + int index = (i + 1) % verts.Count; + Vector2 p = _mapService.WorldToScreen(verts[i].X, verts[i].Y, imagePos, imageSizeVec); + Vector2 p2 = _mapService.WorldToScreen(verts[index].X, verts[index].Y, imagePos, imageSizeVec); + drawList.AddLine(p, p2, color, thickness); } } @@ -621,587 +278,223 @@ public sealed class MapPolygonEditor { _hoveredVertexIndex = FindNearestVertexHandle(verts, imagePos, imageSizeVec); _hoveredEdgeIndex = -1; - int num = ((_hoveredVertexIndex >= 0) ? (-717290128) : (-717290123)); - int num8 = default(int); - Vector2 center = default(Vector2); - uint col = default(uint); - Vector2 center2 = default(Vector2); - uint col2 = default(uint); - while (true) + if (_hoveredVertexIndex < 0 && !_isDraggingVertex) { - int num2 = num; - int num3 = -717290126; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - float num12; - float num13; - float radius; - Vector2 vector2; - bool num14; - float radius2; - int num15; - switch (num5 - (num6 + num6)) - { - case 3: - num = -717290123; - break; - case 7: - num = (_isDraggingVertex ? (-717290128) : (-717290124)); - break; - case 0: - num = ((num8 < verts.Count) ? (-717290122) : (-717290125)); - break; - case 1: - return; - case 10: - num12 = 7f; - goto IL_00e2; - case 6: - _hoveredEdgeIndex = FindNearestEdgeMidpoint(verts, imagePos, imageSizeVec); - num = -717290128; - break; - case 5: - num12 = 5f; - goto IL_00e2; - case 9: - num13 = 6f; - goto IL_0156; - case 8: - num13 = 4f; - goto IL_0156; - case 2: - num8 = 0; - num = -717290126; - break; - case 4: - { - int num7 = num8; - num3 = 1; - num4 = num7; - int num9 = num4 ^ num3; - int num10 = num4 & num3; - int index = (num9 + (num10 + num10)) % verts.Count; - Vector2 vector = (verts[num8] + verts[index]) / 2f; - center = _mapService.WorldToScreen(vector.X, vector.Y, imagePos, imageSizeVec); - bool num11 = num8 == _hoveredEdgeIndex; - col = (num11 ? 4278255615u : 2164260863u); - num = (num11 ? (-717290117) : (-717290118)); - break; - } - IL_0156: - radius = num13; - drawList.AddCircleFilled(center, radius, col); - vector2 = verts[num8]; - center2 = _mapService.WorldToScreen(vector2.X, vector2.Y, imagePos, imageSizeVec); - num14 = num8 == _hoveredVertexIndex; - col2 = (num14 ? 4278255615u : uint.MaxValue); - num = (num14 ? (-717290120) : (-717290121)); - break; - IL_00e2: - radius2 = num12; - drawList.AddCircleFilled(center2, radius2, col2); - drawList.AddCircle(center2, radius2, 4278190080u); - num15 = num8; - num3 = 1; - num4 = num15; - num8 = (num4 | num3) + (num4 & num3); - num = -717290126; - break; - } + _hoveredEdgeIndex = FindNearestEdgeMidpoint(verts, imagePos, imageSizeVec); + } + for (int i = 0; i < verts.Count; i++) + { + int index = (i + 1) % verts.Count; + Vector2 vector = (verts[i] + verts[index]) / 2f; + Vector2 center = _mapService.WorldToScreen(vector.X, vector.Y, imagePos, imageSizeVec); + bool num = i == _hoveredEdgeIndex; + uint col = (num ? 4278255615u : 2164260863u); + float radius = (num ? 6f : 4f); + drawList.AddCircleFilled(center, radius, col); + Vector2 vector2 = verts[i]; + Vector2 center2 = _mapService.WorldToScreen(vector2.X, vector2.Y, imagePos, imageSizeVec); + bool num2 = i == _hoveredVertexIndex; + uint col2 = (num2 ? 4278255615u : uint.MaxValue); + float radius2 = (num2 ? 7f : 5f); + drawList.AddCircleFilled(center2, radius2, col2); + drawList.AddCircle(center2, radius2, 4278190080u); } } private void DrawPolygonInProgress(ImDrawListPtr drawList, Vector2 imagePos, Vector2 imageSizeVec) { - Vector2 vector = _206F_202E_202D_206E_200D_200D_202D_206F_206F_206E_202C_202C_202D_200C_206D_202E_206A_200E_200B_200B_202C_202A_200C_200C_200E_202C_200B_206A_206B_202D_202D_206C_200D_202D_200C_202C_206E_202D_202E_206B_202E(); - int num = ((_drawingVertices.Count != 0) ? 147595329 : 147595340); - int num8 = default(int); - Vector2 vector2 = default(Vector2); - Vector2 center = default(Vector2); - int num7 = default(int); - while (true) + Vector2 mousePos = Dalamud.Bindings.ImGui.ImGui.GetMousePos(); + if (_drawingVertices.Count == 0) { - int num2 = num; - int num3 = 147595328; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num18; - uint col; - int num19; - switch (num5 - (num6 + num6)) + drawList.AddCircle(mousePos, 4f, uint.MaxValue); + return; + } + for (int i = 0; i < _drawingVertices.Count - 1; i++) + { + Vector2 p = _mapService.WorldToScreen(_drawingVertices[i].X, _drawingVertices[i].Y, imagePos, imageSizeVec); + Vector2 p2 = _mapService.WorldToScreen(_drawingVertices[i + 1].X, _drawingVertices[i + 1].Y, imagePos, imageSizeVec); + drawList.AddLine(p, p2, uint.MaxValue, 2f); + } + for (int j = 0; j < _drawingVertices.Count; j++) + { + Vector2 center = _mapService.WorldToScreen(_drawingVertices[j].X, _drawingVertices[j].Y, imagePos, imageSizeVec); + uint col = ((j == 0) ? 4278255360u : uint.MaxValue); + drawList.AddCircleFilled(center, 4f, col); + } + MapTextureService mapService = _mapService; + List drawingVertices = _drawingVertices; + float x = drawingVertices[drawingVertices.Count - 1].X; + List drawingVertices2 = _drawingVertices; + Vector2 p3 = mapService.WorldToScreen(x, drawingVertices2[drawingVertices2.Count - 1].Y, imagePos, imageSizeVec); + drawList.AddLine(p3, mousePos, 2164260863u, 1.5f); + if (_drawingVertices.Count >= 3) + { + Vector2 vector = _mapService.WorldToScreen(_drawingVertices[0].X, _drawingVertices[0].Y, imagePos, imageSizeVec); + if (Vector2.Distance(mousePos, vector) < 12f) { - case 1: - num8 = 0; - num = 147595332; - break; - case 12: - drawList.AddCircle(vector, 4f, uint.MaxValue); - return; - case 3: - { - Vector2 p = _mapService.WorldToScreen(_drawingVertices[num8].X, _drawingVertices[num8].Y, imagePos, imageSizeVec); - MapTextureService mapService = _mapService; - List drawingVertices = _drawingVertices; - int num9 = num8; - num3 = 1; - num4 = num9; - int num10 = num4 ^ num3; - int num11 = num4 & num3; - float x = drawingVertices[num10 + (num11 + num11)].X; - List drawingVertices2 = _drawingVertices; - int num12 = num8; - num3 = 1; - num4 = num12; - int num13 = num4 ^ num3; - int num14 = num4 & num3; - Vector2 p2 = mapService.WorldToScreen(x, drawingVertices2[num13 + (num14 + num14)].Y, imagePos, imageSizeVec); - drawList.AddLine(p, p2, uint.MaxValue, 2f); - int num15 = num8; - num3 = 1; - num4 = num15; - int num16 = num4 ^ num3; - int num17 = num4 & num3; - num8 = num16 + (num17 + num17); - num = 147595332; - break; - } - case 0: - num = 147595340; - break; - case 5: - drawList.AddCircle(vector2, 12f, 4278255360u, 0, 2f); - num = 147595337; - break; - case 13: - center = _mapService.WorldToScreen(_drawingVertices[num7].X, _drawingVertices[num7].Y, imagePos, imageSizeVec); - num = ((num7 == 0) ? 147595338 : 147595336); - break; - case 4: - num = ((num8 < _drawingVertices.Count - 1) ? 147595331 : 147595339); - break; - case 7: - { - MapTextureService mapService2 = _mapService; - List drawingVertices3 = _drawingVertices; - float x2 = drawingVertices3[drawingVertices3.Count - 1].X; - List drawingVertices4 = _drawingVertices; - Vector2 p3 = mapService2.WorldToScreen(x2, drawingVertices4[drawingVertices4.Count - 1].Y, imagePos, imageSizeVec); - drawList.AddLine(p3, vector, 2164260863u, 1.5f); - num = ((_drawingVertices.Count < 3) ? 147595337 : 147595334); - break; - } - case 6: - vector2 = _mapService.WorldToScreen(_drawingVertices[0].X, _drawingVertices[0].Y, imagePos, imageSizeVec); - num = ((!(Vector2.Distance(vector, vector2) < 12f)) ? 147595337 : 147595333); - break; - case 9: - return; - case 10: - num18 = -16711936; - goto IL_02e3; - case 8: - num18 = -1; - goto IL_02e3; - case 2: - num = ((num7 < _drawingVertices.Count) ? 147595341 : 147595335); - break; - case 11: - { - num7 = 0; - num = 147595330; - break; - } - IL_02e3: - col = (uint)num18; - drawList.AddCircleFilled(center, 4f, col); - num19 = num7; - num3 = 1; - num4 = num19; - num7 = (num4 | num3) + (num4 & num3); - num = 147595330; - break; + drawList.AddCircle(vector, 12f, 4278255360u, 0, 2f); } } } private void HandlePanZoom(Vector2 canvasPos, Vector2 canvasSize, bool isHovered) { - ImGuiIOPtr imGuiIOPtr = _202A_206D_200D_200B_206F_206A_202B_202E_202B_200F_200B_206E_206E_202C_200B_206A_202A_200F_202A_200C_206C_202A_202C_206F_202D_206C_202C_206F_206C_206D_206A_200E_206E_200B_200E_202B_206A_200E_202C_202D_202E(); - int num = ((!isHovered) ? (-621061490) : (-621061489)); - while (true) + ImGuiIOPtr iO = Dalamud.Bindings.ImGui.ImGui.GetIO(); + if (isHovered && MathF.Abs(iO.MouseWheel) > 0.01f) { - int num2 = num; - int num3 = -621061492; - int num4 = num2; - int num5; - bool flag; - switch ((num4 | num3) - (num4 & num3)) + float zoom = _zoom; + _zoom = MathF.Max(0.1f, MathF.Min(3f, _zoom + iO.MouseWheel * 0.05f)); + Vector2 vector = Dalamud.Bindings.ImGui.ImGui.GetMousePos() - canvasPos - canvasSize * 0.5f - _offset; + _offset -= vector * (_zoom / zoom - 1f); + } + bool flag = Dalamud.Bindings.ImGui.ImGui.IsMouseDown(ImGuiMouseButton.Left) || Dalamud.Bindings.ImGui.ImGui.IsMouseDown(ImGuiMouseButton.Right) || Dalamud.Bindings.ImGui.ImGui.IsMouseDown(ImGuiMouseButton.Middle); + if (isHovered && flag) + { + if (!_isPanning) { - case 0: - num = -621061489; - break; - case 7: - { - Vector2 vector = _206F_202E_202D_206E_200D_200D_202D_206F_206F_206E_202C_202C_202D_200C_206D_202E_206A_200E_200B_200B_202C_202A_200C_200C_200E_202C_200B_206A_206B_202D_202D_206C_200D_202D_200C_202C_206E_202D_202E_206B_202E(); - Vector2 vector2 = vector - _lastMousePos; - _offset += vector2; - _lastMousePos = vector; - return; - } - case 5: - num5 = 1; - goto IL_00af; - case 4: - num = (_isPanning ? (-621061493) : (-621061500)); - break; - case 8: _isPanning = true; - _lastMousePos = _206F_202E_202D_206E_200D_200D_202D_206F_206F_206E_202C_202C_202D_200C_206D_202E_206A_200E_200B_200B_202C_202A_200C_200C_200E_202C_200B_206A_206B_202D_202D_206C_200D_202D_200C_202C_206E_202D_202E_206B_202E(); + _lastMousePos = Dalamud.Bindings.ImGui.ImGui.GetMousePos(); _panStartPos = _lastMousePos; - return; - case 1: + } + else { - float zoom = _zoom; - _zoom = _206A_202A_200D_202A_206E_202A_202E_200B_206E_200E_202A_206B_202A_202C_200D_206C_200F_206D_206B_206D_200F_200C_202D_206F_202A_202A_206E_206F_206C_202B_206D_202E_206B_206D_200D_200E_200B_200F_200F_200D_202E(0.1f, _202A_206A_206F_206A_202E_200B_202C_206A_200B_206F_206D_202B_202D_206D_202C_202D_206D_200D_200B_200E_200D_206A_202E_200D_200D_202B_206A_202C_206F_200E_200D_202A_206F_206D_206B_202C_202E_206B_206D_206D_202E(3f, _zoom + imGuiIOPtr.MouseWheel * 0.05f)); - Vector2 vector3 = _206F_202E_202D_206E_200D_200D_202D_206F_206F_206E_202C_202C_202D_200C_206D_202E_206A_200E_200B_200B_202C_202A_200C_200C_200E_202C_200B_206A_206B_202D_202D_206C_200D_202D_200C_202C_206E_202D_202E_206B_202E() - canvasPos - canvasSize * 0.5f - _offset; - _offset -= vector3 * (_zoom / zoom - 1f); - num = -621061490; - break; - } - case 6: - num5 = (_202D_200B_206D_200B_206C_200D_206E_202C_200F_206A_200C_202C_202A_206B_206D_202D_206B_200C_206F_206B_200D_202C_206D_206A_200B_202D_200F_206E_202D_202C_200E_202D_202E_202B_206D_202A_202B_202C_206E_202C_202E(ImGuiMouseButton.Middle) ? 1 : 0); - goto IL_00af; - case 2: - num = (_202D_200B_206D_200B_206C_200D_206E_202C_200F_206A_200C_202C_202A_206B_206D_202D_206B_200C_206F_206B_200D_202C_206D_206A_200B_202D_200F_206E_202D_202C_200E_202D_202E_202B_206D_202A_202B_202C_206E_202C_202E(ImGuiMouseButton.Left) ? (-621061495) : (-621061498)); - break; - case 10: - num = (_202D_200B_206D_200B_206C_200D_206E_202C_200F_206A_200C_202C_202A_206B_206D_202D_206B_200C_206F_206B_200D_202C_206D_206A_200B_202D_200F_206E_202D_202C_200E_202D_202E_202B_206D_202A_202B_202C_206E_202C_202E(ImGuiMouseButton.Right) ? (-621061495) : (-621061494)); - break; - case 9: - _isPanning = false; - return; - case 3: - { - num = ((!(_206F_200F_206B_200F_200D_200F_202C_202A_206A_200B_200C_206E_206B_206C_200F_200D_206C_200B_202B_200D_200C_206F_206B_206E_200B_206E_206E_206E_206C_202C_200C_200E_202C_202B_200D_206E_200B_200D_206C_202E_202E(imGuiIOPtr.MouseWheel) > 0.01f)) ? (-621061490) : (-621061491)); - break; - } - IL_00af: - flag = (byte)num5 != 0; - num3 = (flag ? 1 : 0); - num4 = (isHovered ? 1 : 0); - num = ((num4 + num3 - (num4 | num3) == 0) ? (-621061499) : (-621061496)); - break; + Vector2 mousePos = Dalamud.Bindings.ImGui.ImGui.GetMousePos(); + Vector2 vector2 = mousePos - _lastMousePos; + _offset += vector2; + _lastMousePos = mousePos; } } + else + { + _isPanning = false; + } } private void HandleVertexDrag(IEditablePolygonSet polygons, Vector2 imagePos, Vector2 imageSizeVec, bool mapHovered, int nearVertexIndex) { - int num = (_isDraggingVertex ? (-1319429381) : (-1319429404)); - IList vertices = default(IList); - IList vertices2 = default(IList); - while (true) + if (!_isDraggingVertex && !_isDrawing && mapHovered && nearVertexIndex >= 0 && Dalamud.Bindings.ImGui.ImGui.IsMouseClicked(ImGuiMouseButton.Left)) { - int num2 = num; - int num3 = -1319429406; - int num4 = num2; - int num5; - int num6; - switch ((num4 | num3) - (num4 & num3)) + _isDraggingVertex = true; + _dragPolyIndex = SelectedIndex; + _dragVertexIndex = nearVertexIndex; + } + if (_isDraggingVertex && Dalamud.Bindings.ImGui.ImGui.IsMouseDown(ImGuiMouseButton.Left) && _dragPolyIndex >= 0 && _dragPolyIndex < polygons.PolygonCount) + { + IList vertices = polygons.GetVertices(_dragPolyIndex); + if (_dragVertexIndex >= 0 && _dragVertexIndex < vertices.Count) { - case 0: - num = -1319429404; - break; - case 5: - num = ((!_202E_202A_206A_200F_200E_206A_202D_202E_200E_202E_206A_206E_200B_200D_200B_202C_200C_206A_202E_206E_200E_202E_200F_202B_200E_202B_202E_206E_206B_202D_202D_200C_202A_206D_206B_206F_200E_200D_206E_202D_202E(ImGuiMouseButton.Left)) ? (-1319429397) : (-1319429386)); - break; - case 16: - num = ((!_202B_206C_206A_200D_202D_206B_200D_206C_206C_200B_206F_200B_206B_202C_202E_202D_206E_200C_206B_206E_202E_206E_206A_206F_202A_202D_202C_200D_202E_200F_206B_202E_200F_206A_206E_202B_200E_206C_202D_202E_202E(ImGuiMouseButton.Left)) ? (-1319429392) : (-1319429402)); - break; - case 4: - _isDraggingVertex = false; - _dragPolyIndex = -1; - _dragVertexIndex = -1; - _suppressClickThisFrame = true; - num = -1319429392; - break; - case 19: - num = ((_dragPolyIndex >= polygons.PolygonCount) ? (-1319429394) : (-1319429407)); - break; - case 22: - num = ((SelectedIndex < 0) ? (-1319429389) : (-1319429395)); - break; - case 14: - { - Vector2 vector = _206F_202E_202D_206E_200D_200D_202D_206F_206F_206E_202C_202C_202D_200C_206D_202E_206A_200E_200B_200B_202C_202A_200C_200C_200E_202C_200B_206A_206B_202D_202D_206C_200D_202D_200C_202C_206E_202D_202E_206B_202E(); - Vector2 vector2 = _mapService.ScreenToWorld(vector, imagePos, imageSizeVec); - Vector2? vector3 = FindSnapTarget(polygons, _dragPolyIndex, _dragVertexIndex, vector, imagePos, imageSizeVec); - vertices[_dragVertexIndex] = vector3 ?? vector2; - num = -1319429394; - break; + Vector2 mousePos = Dalamud.Bindings.ImGui.ImGui.GetMousePos(); + Vector2 vector = _mapService.ScreenToWorld(mousePos, imagePos, imageSizeVec); + Vector2? vector2 = FindSnapTarget(polygons, _dragPolyIndex, _dragVertexIndex, mousePos, imagePos, imageSizeVec); + vertices[_dragVertexIndex] = vector2 ?? vector; } - case 11: - vertices2 = polygons.GetVertices(SelectedIndex); - num = ((vertices2.Count <= 3) ? (-1319429389) : (-1319429393)); - break; - case 10: - num = ((!_202D_200B_206D_200B_206C_200D_206E_202C_200F_206A_200C_202C_202A_206B_206D_202D_206B_200C_206F_206B_200D_202C_206D_206A_200B_202D_200F_206E_202D_202C_200E_202D_202E_202B_206D_202A_202B_202C_206E_202C_202E(ImGuiMouseButton.Left)) ? (-1319429394) : (-1319429387)); - break; - case 9: - num = ((!_isDraggingVertex) ? (-1319429394) : (-1319429400)); - break; - case 12: - num = ((!_isDraggingVertex) ? (-1319429392) : (-1319429390)); - break; - case 15: - num = ((SelectedIndex >= polygons.PolygonCount) ? (-1319429389) : (-1319429399)); - break; - case 24: - num = ((nearVertexIndex < 0) ? (-1319429397) : (-1319429401)); - break; - case 6: - num5 = ((!_isDrawing) ? 1 : 0); - goto IL_02be; - case 25: - num5 = 0; - goto IL_02be; - case 2: - num = ((_dragVertexIndex >= vertices.Count) ? (-1319429394) : (-1319429396)); - break; - case 21: - num = ((!_202E_202A_206A_200F_200E_206A_202D_202E_200E_202E_206A_206E_200B_200D_200B_202C_200C_206A_202E_206E_200E_202E_200F_202B_200E_202B_202E_206E_206B_202D_202D_200C_202A_206D_206B_206F_200E_200D_206E_202D_202E(ImGuiMouseButton.Right)) ? (-1319429389) : (-1319429388)); - break; - case 13: + } + if (_isDraggingVertex && Dalamud.Bindings.ImGui.ImGui.IsMouseReleased(ImGuiMouseButton.Left)) + { + _isDraggingVertex = false; + _dragPolyIndex = -1; + _dragVertexIndex = -1; + _suppressClickThisFrame = true; + } + if (!_isDraggingVertex && !_isDrawing && mapHovered && nearVertexIndex >= 0 && Dalamud.Bindings.ImGui.ImGui.IsMouseClicked(ImGuiMouseButton.Right) && SelectedIndex >= 0 && SelectedIndex < polygons.PolygonCount) + { + IList vertices2 = polygons.GetVertices(SelectedIndex); + if (vertices2.Count > 3) + { vertices2.RemoveAt(nearVertexIndex); - num = -1319429389; - break; - case 18: - num = (_isDraggingVertex ? (-1319429403) : (-1319429405)); - break; - case 7: - num6 = 0; - goto IL_0363; - case 3: - vertices = polygons.GetVertices(_dragPolyIndex); - num = ((_dragVertexIndex < 0) ? (-1319429394) : (-1319429408)); - break; - case 8: - num = ((nearVertexIndex < 0) ? (-1319429389) : (-1319429385)); - break; - case 20: - _isDraggingVertex = true; - _dragPolyIndex = SelectedIndex; - _dragVertexIndex = nearVertexIndex; - num = -1319429397; - break; - case 1: - num6 = ((!_isDrawing) ? 1 : 0); - goto IL_0363; - case 23: - num = ((_dragPolyIndex < 0) ? (-1319429394) : (-1319429391)); - break; - case 17: - return; - IL_02be: - num = ((((uint)num5 & (mapHovered ? 1u : 0u)) == 0) ? (-1319429397) : (-1319429382)); - break; - IL_0363: - num = ((((uint)num6 & (mapHovered ? 1u : 0u)) == 0) ? (-1319429389) : (-1319429398)); - break; } } } private void HandleMouseInput(IEditablePolygonSet polygons, Vector2 imagePos, Vector2 imageSizeVec, bool mapHovered) { - int num = (_202B_206C_206A_200D_202D_206B_200D_206C_206C_200B_206F_200B_206B_202C_202E_202D_206E_200C_206B_206E_202E_206E_206A_206F_202A_202D_202C_200D_202E_200F_206B_202E_200F_206A_206E_202B_200E_206C_202D_202E_202E(ImGuiMouseButton.Left) ? 1762495191 : 1762495193); - int num8 = default(int); - int num7 = default(int); - IList vertices2 = default(IList); - int hoveredEdgeIndex = default(int); - Vector2 point = default(Vector2); - while (true) + if (!Dalamud.Bindings.ImGui.ImGui.IsMouseReleased(ImGuiMouseButton.Left)) { - int num2 = num; - int num3 = 1762495184; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + if (_suppressClickThisFrame) + { + _suppressClickThisFrame = false; + } + else + { + if (_isDrawing || _isDraggingVertex || Vector2.Distance(Dalamud.Bindings.ImGui.ImGui.GetMousePos(), _panStartPos) > 4f || !mapHovered) { - case 2: - num = ((SelectedIndex < 0) ? 1762495175 : 1762495192); - break; - case 18: - num8 = num7; - num = 1762495196; - break; - case 5: - vertices2 = polygons.GetVertices(SelectedIndex); - hoveredEdgeIndex = _hoveredEdgeIndex; - num = ((hoveredEdgeIndex >= vertices2.Count) ? 1762495175 : 1762495194); - break; - case 8: - num = ((SelectedIndex >= polygons.PolygonCount) ? 1762495175 : 1762495189); - break; - case 17: - num = ((num8 < 0) ? 1762495199 : 1762495198); - break; - case 21: - return; - case 4: - num = ((!_isDraggingVertex) ? 1762495190 : 1762495173); - break; - case 1: - num = (mapHovered ? 1762495174 : 1762495172); - break; - case 23: - num8 = -1; - num7 = 0; - num = 1762495195; - break; - case 20: - return; - case 12: - { - int num9 = num7; - num3 = 1; - num4 = num9; - num7 = (num4 | num3) + (num4 & num3); - num = 1762495195; - break; - } - case 11: - num = ((num7 < polygons.PolygonCount) ? 1762495168 : 1762495169); - break; - case 13: - return; - case 0: - num = (_isDrawing ? 1762495173 : 1762495188); - break; - case 10: - { - int num10 = hoveredEdgeIndex; - num3 = 1; - num4 = num10; - int num11 = num4 ^ num3; - int num12 = num4 & num3; - int index = (num11 + (num12 + num12)) % vertices2.Count; - Vector2 item = (vertices2[hoveredEdgeIndex] + vertices2[index]) / 2f; - vertices2.Insert(index, item); return; } - case 14: - SelectedIndex = num8; - num = 1762495199; - break; - case 7: - num = ((!_suppressClickThisFrame) ? 1762495184 : 1762495187); - break; - case 9: - return; - case 22: + Vector2 mousePos = Dalamud.Bindings.ImGui.ImGui.GetMousePos(); + Vector2 point = _mapService.ScreenToWorld(mousePos, imagePos, imageSizeVec); + if (_hoveredEdgeIndex >= 0 && SelectedIndex >= 0 && SelectedIndex < polygons.PolygonCount) { - Vector2 screenPos = _206F_202E_202D_206E_200D_200D_202D_206F_206F_206E_202C_202C_202D_200C_206D_202E_206A_200E_200B_200B_202C_202A_200C_200C_200E_202C_200B_206A_206B_202D_202D_206C_200D_202D_200C_202C_206E_202D_202E_206B_202E(); - point = _mapService.ScreenToWorld(screenPos, imagePos, imageSizeVec); - num = ((_hoveredEdgeIndex < 0) ? 1762495175 : 1762495186); - break; + IList vertices = polygons.GetVertices(SelectedIndex); + int hoveredEdgeIndex = _hoveredEdgeIndex; + if (hoveredEdgeIndex < vertices.Count) + { + int index = (hoveredEdgeIndex + 1) % vertices.Count; + Vector2 item = (vertices[hoveredEdgeIndex] + vertices[index]) / 2f; + vertices.Insert(index, item); + return; + } } - case 16: + int num = -1; + for (int i = 0; i < polygons.PolygonCount; i++) { - IList vertices = polygons.GetVertices(num7); - num = ((!PointInPolygon(point, vertices)) ? 1762495196 : 1762495170); - break; + IList vertices2 = polygons.GetVertices(i); + if (PointInPolygon(point, vertices2)) + { + num = i; + } } - case 6: - num = ((!(Vector2.Distance(_206F_202E_202D_206E_200D_200D_202D_206F_206F_206E_202C_202C_202D_200C_206D_202E_206A_200E_200B_200B_202C_202A_200C_200C_200E_202C_200B_206A_206B_202D_202D_206C_200D_202D_200C_202C_206E_202D_202E_206B_202E(), _panStartPos) > 4f)) ? 1762495185 : 1762495197); - break; - case 3: - _suppressClickThisFrame = false; - return; - case 15: - return; - case 19: - num = 1762495193; - break; + if (num >= 0) + { + SelectedIndex = num; } } } private void HandleDrawingInput(IEditablePolygonSet polygons, Vector2 imagePos, Vector2 imageSizeVec, bool mapHovered) { - int num = (_isDrawing ? 1750843241 : 1750843236); - Vector2 item = default(Vector2); - Vector2 vector = default(Vector2); - while (true) + if (!_isDrawing) { - int num2 = num; - int num3 = 1750843243; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + if (Dalamud.Bindings.ImGui.ImGui.IsKeyPressed(ImGuiKey.Escape)) + { + _isDrawing = false; + _drawingVertices.Clear(); + } + else if (Dalamud.Bindings.ImGui.ImGui.IsKeyPressed(ImGuiKey.Enter) && _drawingVertices.Count >= 3) + { + FinishDrawing(polygons); + } + else + { + if (!mapHovered) { - case 0: - _drawingVertices.Add(item); - num = 1750843238; - break; - case 1: - num = ((!_200D_202D_206D_202D_206B_206A_206F_202D_206C_202C_206C_206B_206D_206C_206E_200C_202A_206B_202A_202D_206B_202C_200D_200D_202A_200D_200D_206C_200C_200E_206C_200C_200C_206D_206B_206C_202A_200C_200D_206E_202E(ImGuiMouseButton.Left)) ? 1750843232 : 1750843245); - break; - case 16: - num = ((_drawingVertices.Count < 3) ? 1750843244 : 1750843246); - break; - case 11: - num = ((!_202E_202A_206A_200F_200E_206A_202D_202E_200E_202E_206A_206E_200B_200D_200B_202C_200C_206A_202E_206E_200E_202E_200F_202B_200E_202B_202E_206E_206B_202D_202D_200C_202A_206D_206B_206F_200E_200D_206E_202D_202E(ImGuiMouseButton.Left)) ? 1750843238 : 1750843234); - break; - case 12: return; - case 13: - return; - case 17: - num = ((!_206A_200C_206A_206E_200E_200F_202B_206A_206E_206C_206A_202B_202B_200C_200F_200B_202A_206F_206F_200F_206E_200D_206F_200C_200C_206A_200B_200F_206C_202B_200D_202B_202E_202B_200F_202C_202B_200D_202C_202D_202E(ImGuiKey.Enter)) ? 1750843244 : 1750843259); - break; - case 10: - { - Vector2 value = _mapService.WorldToScreen(_drawingVertices[0].X, _drawingVertices[0].Y, imagePos, imageSizeVec); - num = ((!(Vector2.Distance(vector, value) < 12f)) ? 1750843243 : 1750843247); - break; } - case 15: - return; - case 2: - num = ((!_206A_200C_206A_206E_200E_200F_202B_206A_206E_206C_206A_202B_202B_200C_200F_200B_202A_206F_206F_200F_206E_200D_206F_200C_200C_206A_200B_200F_206C_202B_200D_202B_202E_202B_200F_202C_202B_200D_202C_202D_202E(ImGuiKey.Escape)) ? 1750843258 : 1750843237); - break; - case 4: + if (Dalamud.Bindings.ImGui.ImGui.IsMouseDoubleClicked(ImGuiMouseButton.Left) && _drawingVertices.Count >= 3) + { FinishDrawing(polygons); - return; - case 7: - num = (mapHovered ? 1750843242 : 1750843239); - break; - case 3: - num = 1750843236; - break; - case 8: - FinishDrawing(polygons); - return; - case 5: - FinishDrawing(polygons); - return; - case 9: - vector = _206F_202E_202D_206E_200D_200D_202D_206F_206F_206E_202C_202C_202D_200C_206D_202E_206A_200E_200B_200B_202C_202A_200C_200C_200E_202C_200B_206A_206B_202D_202D_206C_200D_202D_200C_202C_206E_202D_202E_206B_202E(); - item = _mapService.ScreenToWorld(vector, imagePos, imageSizeVec); - num = ((_drawingVertices.Count < 3) ? 1750843243 : 1750843233); - break; - case 14: - _isDrawing = false; - _drawingVertices.Clear(); - return; - case 6: - num = ((_drawingVertices.Count < 3) ? 1750843232 : 1750843235); - break; + } + else + { + if (!Dalamud.Bindings.ImGui.ImGui.IsMouseClicked(ImGuiMouseButton.Left)) + { + return; + } + Vector2 mousePos = Dalamud.Bindings.ImGui.ImGui.GetMousePos(); + Vector2 item = _mapService.ScreenToWorld(mousePos, imagePos, imageSizeVec); + if (_drawingVertices.Count >= 3) + { + Vector2 value = _mapService.WorldToScreen(_drawingVertices[0].X, _drawingVertices[0].Y, imagePos, imageSizeVec); + if (Vector2.Distance(mousePos, value) < 12f) + { + FinishDrawing(polygons); + return; + } + } + _drawingVertices.Add(item); } } } @@ -1209,439 +502,124 @@ public sealed class MapPolygonEditor private void FinishDrawing(IEditablePolygonSet polygons) { _isDrawing = false; - int num = ((_drawingVertices.Count >= 3) ? 1071882970 : 1071882969); - while (true) + if (_drawingVertices.Count < 3) { - int num2 = num; - int num3 = 1071882968; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_005e; - case 1: - _drawingVertices.Clear(); - return; - case 2: - { - List drawingVertices = _drawingVertices; - int count = drawingVertices.Count; - List list = new List(count); - CollectionsMarshal.SetCount(list, count); - Span span = CollectionsMarshal.AsSpan(list); - int num7 = 0; - Span span2 = CollectionsMarshal.AsSpan(drawingVertices); - span2.CopyTo(span.Slice(num7, span2.Length)); - num7 += span2.Length; - polygons.AddPolygon(list); - SelectedIndex = polygons.PolygonCount - 1; - _drawingVertices.Clear(); - return; - } - } - continue; - IL_005e: - num = 1071882969; + _drawingVertices.Clear(); + return; } + List drawingVertices = _drawingVertices; + int count = drawingVertices.Count; + List list = new List(count); + CollectionsMarshal.SetCount(list, count); + Span span = CollectionsMarshal.AsSpan(list); + int num = 0; + Span span2 = CollectionsMarshal.AsSpan(drawingVertices); + span2.CopyTo(span.Slice(num, span2.Length)); + num += span2.Length; + polygons.AddPolygon(list); + SelectedIndex = polygons.PolygonCount - 1; + _drawingVertices.Clear(); } private int FindNearestVertexHandle(IList verts, Vector2 imagePos, Vector2 imageSizeVec) { - Vector2 value = _206F_202E_202D_206E_200D_200D_202D_206F_206F_206E_202C_202C_202D_200C_206D_202E_206A_200E_200B_200B_202C_202A_200C_200C_200E_202C_200B_206A_206B_202D_202D_206C_200D_202D_200C_202C_206E_202D_202E_206B_202E(); + Vector2 mousePos = Dalamud.Bindings.ImGui.ImGui.GetMousePos(); float num = 12f; int result = -1; - int num2 = 0; - int num3 = 1099861971; - float num9 = default(float); - while (true) + for (int i = 0; i < verts.Count; i++) { - int num4 = num3; - int num5 = 1099861975; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) + Vector2 value = _mapService.WorldToScreen(verts[i].X, verts[i].Y, imagePos, imageSizeVec); + float num2 = Vector2.Distance(mousePos, value); + if (num2 < num) { - case 4: - num3 = ((num2 < verts.Count) ? 1099861974 : 1099861973); - break; - case 2: - return result; - case 0: - num3 = 1099861971; - break; - case 3: - { - int num10 = num2; - num5 = 1; - num6 = num10; - num2 = (num6 | num5) + (num6 & num5); - num3 = 1099861971; - break; - } - case 5: - num = num9; - result = num2; - num3 = 1099861972; - break; - case 1: - { - Vector2 value2 = _mapService.WorldToScreen(verts[num2].X, verts[num2].Y, imagePos, imageSizeVec); - num9 = Vector2.Distance(value, value2); - num3 = ((!(num9 < num)) ? 1099861972 : 1099861970); - break; - } + num = num2; + result = i; } } + return result; } private int FindNearestEdgeMidpoint(IList verts, Vector2 imagePos, Vector2 imageSizeVec) { - int num = ((verts.Count >= 2) ? (-1822434936) : (-1822434929)); - float num8 = default(float); - float num9 = default(float); - int result = default(int); - int num7 = default(int); - Vector2 value = default(Vector2); - while (true) + if (verts.Count < 2) { - int num2 = num; - int num3 = -1822434930; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return -1; + } + Vector2 mousePos = Dalamud.Bindings.ImGui.ImGui.GetMousePos(); + float num = 10f; + int result = -1; + for (int i = 0; i < verts.Count; i++) + { + int index = (i + 1) % verts.Count; + Vector2 vector = (verts[i] + verts[index]) / 2f; + Vector2 value = _mapService.WorldToScreen(vector.X, vector.Y, imagePos, imageSizeVec); + float num2 = Vector2.Distance(mousePos, value); + if (num2 < num) { - case 3: - num = -1822434929; - break; - case 4: - num8 = num9; - result = num7; - num = -1822434930; - break; - case 5: - { - int num13 = num7; - num3 = 1; - num4 = num13; - int num14 = num4 ^ num3; - int num15 = num4 & num3; - int index = (num14 + (num15 + num15)) % verts.Count; - Vector2 vector = (verts[num7] + verts[index]) / 2f; - Vector2 value2 = _mapService.WorldToScreen(vector.X, vector.Y, imagePos, imageSizeVec); - num9 = Vector2.Distance(value, value2); - num = ((!(num9 < num8)) ? (-1822434930) : (-1822434934)); - break; - } - case 0: - { - int num10 = num7; - num3 = 1; - num4 = num10; - int num11 = num4 ^ num3; - int num12 = num4 & num3; - num7 = num11 + (num12 + num12); - num = -1822434935; - break; - } - case 1: - return -1; - case 6: - value = _206F_202E_202D_206E_200D_200D_202D_206F_206F_206E_202C_202C_202D_200C_206D_202E_206A_200E_200B_200B_202C_202A_200C_200C_200E_202C_200B_206A_206B_202D_202D_206C_200D_202D_200C_202C_206E_202D_202E_206B_202E(); - num8 = 10f; - result = -1; - num7 = 0; - num = -1822434935; - break; - case 2: - return result; - case 7: - num = ((num7 < verts.Count) ? (-1822434933) : (-1822434932)); - break; + num = num2; + result = i; } } + return result; } private Vector2? FindSnapTarget(IEditablePolygonSet polygons, int currentPolyIndex, int currentVertexIndex, Vector2 mouseScreenPos, Vector2 imagePos, Vector2 imageSizeVec) { float num = 10f; Vector2? result = null; - int num2 = 0; - int num3 = 302081773; - float num8 = default(float); - IList vertices = default(IList); - int num7 = default(int); - while (true) + for (int i = 0; i < polygons.PolygonCount; i++) { - int num4 = num3; - int num5 = 302081770; - int num6 = num4; - switch ((num6 | num5) - (num6 & num5)) + IList vertices = polygons.GetVertices(i); + for (int j = 0; j < vertices.Count; j++) { - case 3: - num = num8; - result = vertices[num7]; - num3 = 302081775; - break; - case 6: - { - int num9 = num2; - num5 = 1; - num6 = num9; - num2 = (num6 | num5) + (num6 & num5); - num3 = 302081773; - break; - } - case 8: - { - Vector2 value = _mapService.WorldToScreen(vertices[num7].X, vertices[num7].Y, imagePos, imageSizeVec); - num8 = Vector2.Distance(mouseScreenPos, value); - num3 = ((!(num8 < num)) ? 302081775 : 302081769); - break; - } - case 10: - num3 = ((num2 != currentPolyIndex) ? 302081762 : 302081770); - break; - case 4: - num3 = 302081773; - break; - case 7: - num3 = ((num2 < polygons.PolygonCount) ? 302081771 : 302081763); - break; - case 1: - vertices = polygons.GetVertices(num2); - num7 = 0; - num3 = 302081768; - break; - case 5: - { - int num10 = num7; - num5 = 1; - num6 = num10; - num7 = (num6 | num5) + (num6 & num5); - num3 = 302081768; - break; - } - case 9: - return result; - case 0: - num3 = ((num7 == currentVertexIndex) ? 302081775 : 302081762); - break; - case 2: - num3 = ((num7 < vertices.Count) ? 302081760 : 302081772); - break; + if (i != currentPolyIndex || j != currentVertexIndex) + { + Vector2 value = _mapService.WorldToScreen(vertices[j].X, vertices[j].Y, imagePos, imageSizeVec); + float num2 = Vector2.Distance(mouseScreenPos, value); + if (num2 < num) + { + num = num2; + result = vertices[j]; + } + } } } + return result; } private static bool PointInPolygon(Vector2 point, IList verts) { - int num = ((verts.Count >= 3) ? 1302891100 : 1302891101); - bool flag = default(bool); - float x2 = default(float); - int num7 = default(int); - float y = default(float); - float x = default(float); - int index = default(int); - float y2 = default(float); - while (true) + if (verts.Count < 3) { - int num2 = num; - int num3 = 1302891097; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - flag = !flag; - num = 1302891098; - break; - case 7: - x2 = verts[num7].X; - y = verts[num7].Y; - x = verts[index].X; - y2 = verts[index].Y; - num = ((y > point.Y == y2 > point.Y) ? 1302891098 : 1302891096); - break; - case 0: - return flag; - case 1: - num = ((!(point.X < (x - x2) * (point.Y - y) / (y2 - y) + x2)) ? 1302891098 : 1302891103); - break; - case 4: - return false; - case 5: - flag = false; - num7 = 0; - index = verts.Count - 1; - num = 1302891089; - break; - case 2: - num = 1302891101; - break; - case 3: - { - int num8 = num7; - num3 = 1; - num4 = num8; - int num9 = num4 ^ num3; - int num10 = num4 & num3; - num7 = num9 + (num10 + num10); - index = num8; - num = 1302891089; - break; - } - case 8: - num = ((num7 < verts.Count) ? 1302891102 : 1302891097); - break; - } + return false; } + bool flag = false; + int num = 0; + int index = verts.Count - 1; + while (num < verts.Count) + { + float x = verts[num].X; + float y = verts[num].Y; + float x2 = verts[index].X; + float y2 = verts[index].Y; + if (y > point.Y != y2 > point.Y && point.X < (x2 - x) * (point.Y - y) / (y2 - y) + x) + { + flag = !flag; + } + index = num++; + } + return flag; } private static Vector2 ComputeCentroid(IList verts) { float num = 0f; float num2 = 0f; - int num3 = 0; - int num4 = 321919645; - while (true) + for (int i = 0; i < verts.Count; i++) { - int num5 = num4; - int num6 = 321919644; - int num7 = num5; - int num8 = num7 + num6; - int num9 = num7 & num6; - switch (num8 - (num9 + num9)) - { - case 0: - num4 = 321919645; - break; - case 1: - num4 = ((num3 < verts.Count) ? 321919646 : 321919647); - break; - case 3: - return new Vector2(num / (float)verts.Count, num2 / (float)verts.Count); - case 2: - { - num += verts[num3].X; - num2 += verts[num3].Y; - int num10 = num3; - num6 = 1; - num7 = num10; - num3 = (num7 | num6) + (num7 & num6); - num4 = 321919645; - break; - } - } + num += verts[i].X; + num2 += verts[i].Y; } - } - - static Vector2 _202A_200B_202A_206D_202C_202C_202E_200C_202D_202E_200C_206D_206F_202A_206B_206E_200E_200F_206F_206A_206A_202B_202C_200F_200D_200F_202D_200F_200B_200C_202C_202D_200D_202C_200B_200D_202A_200B_206D_206B_202E() - { - return Dalamud.Bindings.ImGui.ImGui.GetContentRegionAvail(); - } - - static float _206A_202A_200D_202A_206E_202A_202E_200B_206E_200E_202A_206B_202A_202C_200D_206C_200F_206D_206B_206D_200F_200C_202D_206F_202A_202A_206E_206F_206C_202B_206D_202E_206B_206D_200D_200E_200B_200F_200F_200D_202E(float P_0, float P_1) - { - return MathF.Max(P_0, P_1); - } - - static bool _206A_202A_202E_206F_202E_200F_200E_202E_206A_206D_206D_202E_200D_202D_206C_202A_200E_202E_206B_202B_200C_202A_206E_200B_206E_202A_206F_206E_202C_200B_200B_202A_206A_206B_202A_206B_202C_202B_202C_202A_202E(ImU8String P_0, Vector2 P_1, bool P_2, ImGuiWindowFlags P_3) - { - return Dalamud.Bindings.ImGui.ImGui.BeginChild(P_0, P_1, P_2, P_3); - } - - static void _206C_202E_202E_202C_202E_202B_206C_206D_202C_206B_206F_206B_202B_206C_206D_200B_206E_200B_206D_202D_206B_202C_200C_206A_206B_206B_206C_206A_200B_200B_200B_202B_200B_202E_206D_200B_206A_200D_202B_206E_202E() - { - Dalamud.Bindings.ImGui.ImGui.EndChild(); - } - - static Vector2 _200D_206C_202C_202A_200F_200F_200F_200D_202E_202E_200F_206C_200E_200B_206C_200E_206A_202A_202E_200D_202D_200F_200D_202B_200C_206D_200D_202A_202E_202C_202A_202A_206F_202E_200E_200E_202E_200C_206F_206C_202E() - { - return Dalamud.Bindings.ImGui.ImGui.GetCursorScreenPos(); - } - - static bool _206E_200D_206A_202C_202D_206B_202B_206B_202A_206F_200F_206C_206A_202C_200B_202E_200F_206C_202C_202A_200F_202C_206E_206D_202A_206A_200E_202E_200F_200E_206E_206D_202D_202B_206F_206B_200D_200E_206D_206F_202E(ImU8String P_0, Vector2 P_1, ImGuiButtonFlags P_2) - { - return Dalamud.Bindings.ImGui.ImGui.InvisibleButton(P_0, P_1, P_2); - } - - static bool _200D_200B_206C_202A_202C_206F_200C_202E_200F_202C_202E_200E_202A_202A_206C_200B_206F_200D_202A_206D_202B_202B_202A_206F_206F_206C_202E_206D_202B_200C_206C_206C_200E_200C_206F_202E_206F_206B_200F_200D_202E() - { - return Dalamud.Bindings.ImGui.ImGui.IsItemHovered(); - } - - static void _202B_206C_200F_200F_200D_202C_206D_200C_200B_200D_202A_202D_206F_202B_206E_206C_202B_200D_206D_202E_206A_202A_200B_206B_202B_206E_200C_200C_200D_206C_202D_206A_202B_206F_200D_200F_202C_202B_206D_200E_202E(Vector2 P_0) - { - Dalamud.Bindings.ImGui.ImGui.SetCursorScreenPos(P_0); - } - - static void _206D_202C_202B_206C_202B_200D_202B_200E_202E_206F_202E_200D_200B_202B_206A_202E_200F_206D_202A_206F_200F_200B_202D_200B_206A_202E_206E_202D_202E_200D_206C_200F_206C_202D_202C_202B_202B_200F_206D_206E_202E(ImU8String P_0) - { - Dalamud.Bindings.ImGui.ImGui.TextDisabled(P_0); - } - - static ImDrawListPtr _200B_200C_202B_202C_206F_206E_206A_202B_200B_202D_202D_206D_202C_200B_202B_200F_206E_206C_206D_202D_206E_200F_206A_200E_202D_206F_200C_200F_202D_202A_202A_202C_202E_206B_202C_206D_202C_202A_202D_202E_202E() - { - return Dalamud.Bindings.ImGui.ImGui.GetWindowDrawList(); - } - - static ImTextureID _200B_202A_202D_202A_200B_206F_202A_200D_206A_202C_206B_206F_206C_206E_206C_202C_206D_206F_202E_206A_202C_202E_206A_202C_206B_206B_202C_202B_206A_206F_206F_206D_200E_206C_200F_202B_206B_206E_202B_200E_202E(IDalamudTextureWrap P_0) - { - return P_0.Handle; - } - - static bool _206C_200B_206A_206F_200D_206E_202D_206B_206C_206F_200E_200E_202E_200B_206F_206B_202B_202B_200D_200B_202C_206B_202A_206D_200F_202B_202C_206D_202E_200C_206A_202B_200D_202C_202E_202A_202C_200E_206E_202C_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static Vector2 _206F_202E_202D_206E_200D_200D_202D_206F_206F_206E_202C_202C_202D_200C_206D_202E_206A_200E_200B_200B_202C_202A_200C_200C_200E_202C_200B_206A_206B_202D_202D_206C_200D_202D_200C_202C_206E_202D_202E_206B_202E() - { - return Dalamud.Bindings.ImGui.ImGui.GetMousePos(); - } - - static ImGuiIOPtr _202A_206D_200D_200B_206F_206A_202B_202E_202B_200F_200B_206E_206E_202C_200B_206A_202A_200F_202A_200C_206C_202A_202C_206F_202D_206C_202C_206F_206C_206D_206A_200E_206E_200B_200E_202B_206A_200E_202C_202D_202E() - { - return Dalamud.Bindings.ImGui.ImGui.GetIO(); - } - - static float _206F_200F_206B_200F_200D_200F_202C_202A_206A_200B_200C_206E_206B_206C_200F_200D_206C_200B_202B_200D_200C_206F_206B_206E_200B_206E_206E_206E_206C_202C_200C_200E_202C_202B_200D_206E_200B_200D_206C_202E_202E(float P_0) - { - return MathF.Abs(P_0); - } - - static float _202A_206A_206F_206A_202E_200B_202C_206A_200B_206F_206D_202B_202D_206D_202C_202D_206D_200D_200B_200E_200D_206A_202E_200D_200D_202B_206A_202C_206F_200E_200D_202A_206F_206D_206B_202C_202E_206B_206D_206D_202E(float P_0, float P_1) - { - return MathF.Min(P_0, P_1); - } - - static bool _202D_200B_206D_200B_206C_200D_206E_202C_200F_206A_200C_202C_202A_206B_206D_202D_206B_200C_206F_206B_200D_202C_206D_206A_200B_202D_200F_206E_202D_202C_200E_202D_202E_202B_206D_202A_202B_202C_206E_202C_202E(ImGuiMouseButton P_0) - { - return Dalamud.Bindings.ImGui.ImGui.IsMouseDown(P_0); - } - - static bool _202E_202A_206A_200F_200E_206A_202D_202E_200E_202E_206A_206E_200B_200D_200B_202C_200C_206A_202E_206E_200E_202E_200F_202B_200E_202B_202E_206E_206B_202D_202D_200C_202A_206D_206B_206F_200E_200D_206E_202D_202E(ImGuiMouseButton P_0) - { - return Dalamud.Bindings.ImGui.ImGui.IsMouseClicked(P_0); - } - - static bool _202B_206C_206A_200D_202D_206B_200D_206C_206C_200B_206F_200B_206B_202C_202E_202D_206E_200C_206B_206E_202E_206E_206A_206F_202A_202D_202C_200D_202E_200F_206B_202E_200F_206A_206E_202B_200E_206C_202D_202E_202E(ImGuiMouseButton P_0) - { - return Dalamud.Bindings.ImGui.ImGui.IsMouseReleased(P_0); - } - - static bool _206A_200C_206A_206E_200E_200F_202B_206A_206E_206C_206A_202B_202B_200C_200F_200B_202A_206F_206F_200F_206E_200D_206F_200C_200C_206A_200B_200F_206C_202B_200D_202B_202E_202B_200F_202C_202B_200D_202C_202D_202E(ImGuiKey P_0) - { - return Dalamud.Bindings.ImGui.ImGui.IsKeyPressed(P_0); - } - - static bool _200D_202D_206D_202D_206B_206A_206F_202D_206C_202C_206C_206B_206D_206C_206E_200C_202A_206B_202A_202D_206B_202C_200D_200D_202A_200D_200D_206C_200C_200E_206C_200C_200C_206D_206B_206C_202A_200C_200D_206E_202E(ImGuiMouseButton P_0) - { - return Dalamud.Bindings.ImGui.ImGui.IsMouseDoubleClicked(P_0); + return new Vector2(num / (float)verts.Count, num2 / (float)verts.Count); } } diff --git a/LLib/LLib.ImGui/MapTextureService.cs b/LLib/LLib.ImGui/MapTextureService.cs index f722e6f..41ce75c 100644 --- a/LLib/LLib.ImGui/MapTextureService.cs +++ b/LLib/LLib.ImGui/MapTextureService.cs @@ -2,7 +2,6 @@ using System; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Interface.Textures; using Dalamud.Interface.Textures.TextureWraps; using Dalamud.Plugin.Services; @@ -54,238 +53,92 @@ public sealed class MapTextureService _logger = logger; } - [MethodImpl(MethodImplOptions.NoInlining)] public bool LoadForTerritory(uint territoryType) { - int num = ((territoryType != _loadedTerritoryType) ? (-703602804) : (-703602806)); - List list2 = default(List); - string value = default(string); - Map? map = default(Map?); - string[] array = default(string[]); - string text = default(string); - TerritoryType? rowOrDefault = default(TerritoryType?); - while (true) + if (territoryType == _loadedTerritoryType && _resolvedTexture != null) { - int num2 = num; - int num3 = -703602814; - int num4 = num2; - Map? obj; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 0: - return false; - case 3: - num = ((_200E_206C_202D_200C_200F_206A_202A_200E_200E_202C_202D_202D_202B_206B_206F_206F_200F_206D_206A_206E_202C_206E_200F_200F_206B_202A_206A_202A_200F_206A_206F_206A_200E_200D_206E_206D_206B_206B_200D_206E_202E() >= _retryAtMs) ? (-703602796) : (-703602814)); - continue; - case 16: - num = ((_candidateTextures == null) ? (-703602797) : (-703602813)); - continue; - case 21: - _failed = true; - return false; - case 1: - PollCandidates(); - return _resolvedTexture != null; - case 7: - num = ((!_failed) ? (-703602799) : (-703602816)); - continue; - case 15: - { - List list = list2; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(19, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(674220722)); - defaultInterpolatedStringHandler.AppendFormatted(value); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-27764842)); - defaultInterpolatedStringHandler.AppendFormatted(value); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(582629916)); - list.Add(defaultInterpolatedStringHandler.ToStringAndClear()); - num = -703602795; - continue; - } - case 23: - _206F_200B_200E_206D_200C_200B_206B_206C_202A_206C_206C_206C_206D_202E_206E_206F_206A_200C_200D_200C_202D_202D_200E_206D_202E_202D_200D_202C_206C_200B_200E_202B_200F_202E_202E_206A_202D_206C_206A_206C_202E((ILogger)_logger, 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(1609496745), new object[2] - { - territoryType, - _200C_200F_206E_202C_206F_206E_206F_206F_200E_206B_202E_200B_206C_200F_200B_206A_200C_200E_202C_202A_202A_200B_202D_202C_202D_206B_202E_206A_200D_200E_202D_206E_202B_202C_200C_200C_202B_206C_206B_202E_202E(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(1645706687), (IEnumerable)list2) - }); - _candidateTextures = list2.Select((string p) => _202E_206B_206B_200F_206B_206E_202B_202D_200C_200F_202C_202E_200B_206B_200B_202B_202B_200D_202B_202A_202C_202C_206F_206C_206D_200E_202A_200C_200E_200E_202C_202B_206B_200C_202D_202B_200B_202E_200D_206B_202E(_textureProvider, p)).ToList(); - PollCandidates(); - return _resolvedTexture != null; - case 14: - num = ((territoryType != _loadedTerritoryType) ? (-703602799) : (-703602811)); - continue; - case 17: - num = ((territoryType != _loadedTerritoryType) ? (-703602796) : (-703602815)); - continue; - case 20: - num = ((map.Value.RowId != 0) ? (-703602808) : (-703602809)); - continue; - case 19: - num = ((territoryType != _loadedTerritoryType) ? (-703602797) : (-703602798)); - continue; - case 13: - return true; - case 9: - obj = null; - break; - case 4: - num = -703602806; - continue; - case 2: - return false; - case 18: - array = _202B_200D_202E_202E_200B_206D_206C_206E_200C_200B_200E_202E_202B_200F_202C_200F_202E_206B_200E_206B_200C_202E_206D_206C_206F_206C_202D_200F_200B_200F_202D_206B_202A_206E_206D_206B_206A_202B_202A_200D_202E(text, '/', StringSplitOptions.None); - num = ((array.Length == 2) ? (-703602807) : (-703602793)); - continue; - case 5: - _failed = true; - return false; - case 11: - { - value = array[0]; - string text2 = array[1]; - List list3 = new List(); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(14, 3); - defaultInterpolatedStringHandler2.AppendLiteral(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(1333505234)); - defaultInterpolatedStringHandler2.AppendFormatted(text); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-102430846)); - defaultInterpolatedStringHandler2.AppendFormatted(value); - defaultInterpolatedStringHandler2.AppendFormatted(text2); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-25096421)); - list3.Add(defaultInterpolatedStringHandler2.ToStringAndClear()); - list2 = list3; - num = ((!_206A_200E_206B_206F_206B_200E_202B_206E_202E_200C_206F_206A_202E_200F_206B_206E_206A_200B_200D_202D_200B_202B_206A_200C_202E_206C_206D_206D_206D_206C_200F_202B_200D_200D_202C_206F_206B_206A_206A_206D_202E(text2, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-1596345032))) ? (-703602795) : (-703602803)); - continue; - } - case 6: - _failed = true; - return false; - case 8: - num = ((_resolvedTexture == null) ? (-703602804) : (-703602801)); - continue; - case 22: - _resolvedTexture = null; - _candidateTextures = null; - _failed = false; - _retryAtMs = 0L; - _loadedTerritoryType = territoryType; - _searchFrames = 0; - rowOrDefault = _dataManager.GetExcelSheet().GetRowOrDefault(territoryType); - num = (rowOrDefault.HasValue ? (-703602802) : (-703602805)); - continue; - case 10: - _sizeFactor = map.Value.SizeFactor; - _offsetX = map.Value.OffsetX; - _offsetY = map.Value.OffsetY; - text = map.Value.Id.ExtractText(); - num = ((!_206C_200D_202E_202D_202C_202E_200C_202D_202C_202A_200F_206D_200B_206B_200B_206B_202A_206A_200D_206F_206C_200B_206A_200E_206C_206E_200B_202E_200C_200E_206E_206F_206F_202A_206C_200D_200B_200B_206C_206B_202E(text)) ? (-703602800) : (-703602812)); - continue; - case 12: - obj = rowOrDefault.GetValueOrDefault().Map.ValueNullable; - break; - } - map = obj; - num = ((!map.HasValue) ? (-703602809) : (-703602794)); + return true; } + if (territoryType == _loadedTerritoryType && _failed) + { + return false; + } + if (territoryType == _loadedTerritoryType && _candidateTextures != null) + { + PollCandidates(); + return _resolvedTexture != null; + } + if (territoryType == _loadedTerritoryType && Environment.TickCount64 < _retryAtMs) + { + return false; + } + _resolvedTexture = null; + _candidateTextures = null; + _failed = false; + _retryAtMs = 0L; + _loadedTerritoryType = territoryType; + _searchFrames = 0; + Map? map = _dataManager.GetExcelSheet().GetRowOrDefault(territoryType)?.Map.ValueNullable; + if (!map.HasValue || map.Value.RowId == 0) + { + _failed = true; + return false; + } + _sizeFactor = map.Value.SizeFactor; + _offsetX = map.Value.OffsetX; + _offsetY = map.Value.OffsetY; + string text = map.Value.Id.ExtractText(); + if (string.IsNullOrEmpty(text)) + { + _failed = true; + return false; + } + string[] array = text.Split('/'); + if (array.Length != 2) + { + _failed = true; + return false; + } + string value = array[0]; + string text2 = array[1]; + List list = new List { $"ui/map/{text}/{value}{text2}_m.tex" }; + if (text2 != "00") + { + list.Add($"ui/map/{value}/00/{value}00_m.tex"); + } + _logger.LogDebug("Starting map texture search for territory {TerritoryType}: {Paths}", territoryType, string.Join(", ", list)); + _candidateTextures = list.Select((string p) => _textureProvider.GetFromGame(p)).ToList(); + PollCandidates(); + return _resolvedTexture != null; } - [MethodImpl(MethodImplOptions.NoInlining)] private void PollCandidates() { - int num = ((_candidateTextures != null) ? 1719406812 : 1719406813); - ISharedImmediateTexture current = default(ISharedImmediateTexture); - while (true) + if (_candidateTextures == null) { - int num2 = num; - int num3 = 1719406812; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + foreach (ISharedImmediateTexture candidateTexture in _candidateTextures) + { + if (candidateTexture.GetWrapOrDefault() != null) { - case 2: - goto IL_004b; - case 1: + _resolvedTexture = candidateTexture; + _candidateTextures = null; return; - case 0: - { - using (List.Enumerator enumerator = _candidateTextures.GetEnumerator()) - { - num = -2142994811; - while (true) - { - int num7 = num; - num3 = -2142994811; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = (enumerator.MoveNext() ? (-2142994815) : (-2142994809)); - break; - case 4: - current = enumerator.Current; - num = ((_202E_200B_200C_200B_206D_200E_200B_206F_200D_206E_202C_206D_200C_206C_200D_202D_206E_200E_206F_200C_206B_200F_200B_206A_206E_200F_202D_200D_200D_202E_202E_200C_200B_206A_206B_202E_206D_202E_202A_202D_202E(current, (IDalamudTextureWrap)null) == null) ? (-2142994811) : (-2142994812)); - break; - case 3: - num = -2142994811; - break; - case 1: - _resolvedTexture = current; - _candidateTextures = null; - return; - case 2: - goto end_IL_006e; - } - continue; - end_IL_006e: - break; - } - } - int searchFrames = _searchFrames; - num3 = 1; - num4 = searchFrames; - int num8 = num4 ^ num3; - int num9 = num4 & num3; - _searchFrames = num8 + (num9 + num9); - num = ((_searchFrames < 120) ? 613954225 : 613954226); - while (true) - { - int num10 = num; - num3 = 613954224; - num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 613954226; - break; - case 2: - _206D_206F_202C_200D_202B_202E_200C_200B_206C_206A_206D_202B_206B_202B_206B_202C_202A_206B_202C_200E_206E_200F_200F_206D_202A_206B_206F_206B_200D_200F_200D_206D_200C_206B_200D_202B_200D_206A_206D_200C_202E((ILogger)_logger, 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(1519773533), new object[2] { _loadedTerritoryType, 30L }); - _candidateTextures = null; - _retryAtMs = _200E_206C_202D_200C_200F_206A_202A_200E_200E_202C_202D_202D_202B_206B_206F_206F_200F_206D_206A_206E_202C_206E_200F_200F_206B_202A_206A_202A_200F_206A_206F_206A_200E_200D_206E_206D_206B_206B_200D_206E_202E() + 30000; - num = 613954225; - break; - case 1: - return; - } - } } - } - continue; - IL_004b: - num = 1719406813; + } + _searchFrames++; + if (_searchFrames >= 120) + { + _logger.LogWarning("Map texture search timed out for territory {TerritoryType}, retrying in {Delay}s", _loadedTerritoryType, 30L); + _candidateTextures = null; + _retryAtMs = Environment.TickCount64 + 30000; } } public IDalamudTextureWrap? GetTextureWrap() { - ISharedImmediateTexture? resolvedTexture = _resolvedTexture; - if (resolvedTexture == null) - { - return null; - } - return _202E_200B_200C_200B_206D_200E_200B_206F_200D_206E_202C_206D_200C_206C_200D_202D_206E_200E_206F_200C_206B_200F_200B_206A_206E_200F_202D_200D_200D_202E_202E_200C_200B_206A_206B_202E_206D_202E_202A_202D_202E(resolvedTexture, (IDalamudTextureWrap)null); + return _resolvedTexture?.GetWrapOrDefault(); } public Vector2 WorldToUV(float worldX, float worldZ) @@ -315,49 +168,4 @@ public sealed class MapTextureService Vector2 vector = (screenPos - imagePos) / imageSize; return UVToWorld(vector.X, vector.Y); } - - static long _200E_206C_202D_200C_200F_206A_202A_200E_200E_202C_202D_202D_202B_206B_206F_206F_200F_206D_206A_206E_202C_206E_200F_200F_206B_202A_206A_202A_200F_206A_206F_206A_200E_200D_206E_206D_206B_206B_200D_206E_202E() - { - return Environment.TickCount64; - } - - static bool _206C_200D_202E_202D_202C_202E_200C_202D_202C_202A_200F_206D_200B_206B_200B_206B_202A_206A_200D_206F_206C_200B_206A_200E_206C_206E_200B_202E_200C_200E_206E_206F_206F_202A_206C_200D_200B_200B_206C_206B_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static string[] _202B_200D_202E_202E_200B_206D_206C_206E_200C_200B_200E_202E_202B_200F_202C_200F_202E_206B_200E_206B_200C_202E_206D_206C_206F_206C_202D_200F_200B_200F_202D_206B_202A_206E_206D_206B_206A_202B_202A_200D_202E(string P_0, char P_1, StringSplitOptions P_2) - { - return P_0.Split(P_1, P_2); - } - - static bool _206A_200E_206B_206F_206B_200E_202B_206E_202E_200C_206F_206A_202E_200F_206B_206E_206A_200B_200D_202D_200B_202B_206A_200C_202E_206C_206D_206D_206D_206C_200F_202B_200D_200D_202C_206F_206B_206A_206A_206D_202E(string P_0, string P_1) - { - return P_0 != P_1; - } - - static string _200C_200F_206E_202C_206F_206E_206F_206F_200E_206B_202E_200B_206C_200F_200B_206A_200C_200E_202C_202A_202A_200B_202D_202C_202D_206B_202E_206A_200D_200E_202D_206E_202B_202C_200C_200C_202B_206C_206B_202E_202E(string P_0, IEnumerable P_1) - { - return string.Join(P_0, P_1); - } - - static void _206F_200B_200E_206D_200C_200B_206B_206C_202A_206C_206C_206C_206D_202E_206E_206F_206A_200C_200D_200C_202D_202D_200E_206D_202E_202D_200D_202C_206C_200B_200E_202B_200F_202E_202E_206A_202D_206C_206A_206C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static IDalamudTextureWrap _202E_200B_200C_200B_206D_200E_200B_206F_200D_206E_202C_206D_200C_206C_200D_202D_206E_200E_206F_200C_206B_200F_200B_206A_206E_200F_202D_200D_200D_202E_202E_200C_200B_206A_206B_202E_206D_202E_202A_202D_202E(ISharedImmediateTexture P_0, IDalamudTextureWrap P_1) - { - return P_0.GetWrapOrDefault(P_1); - } - - static void _206D_206F_202C_200D_202B_202E_200C_200B_206C_206A_206D_202B_206B_202B_206B_202C_202A_206B_202C_200E_206E_200F_200F_206D_202A_206B_206F_206B_200D_200F_200D_206D_200C_206B_200D_202B_200D_206A_206D_200C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static ISharedImmediateTexture _202E_206B_206B_200F_206B_206E_202B_202D_200C_200F_202C_202E_200B_206B_200B_202B_202B_200D_202B_202A_202C_202C_206F_206C_206D_200E_202A_200C_200E_200E_202C_202B_206B_200C_202D_202B_200B_202E_200D_206B_202E(ITextureProvider P_0, string P_1) - { - return P_0.GetFromGame(P_1); - } } diff --git a/LLib/LLib.ImGui/WindowConfig.cs b/LLib/LLib.ImGui/WindowConfig.cs index 4aa4e7f..acd18ca 100644 --- a/LLib/LLib.ImGui/WindowConfig.cs +++ b/LLib/LLib.ImGui/WindowConfig.cs @@ -1,5 +1,8 @@ +using System.Reflection; + namespace LLib.ImGui; +[Obfuscation(Feature = "-rename", Exclude = false, ApplyToMembers = true)] public class WindowConfig { public bool IsPinned { get; set; } diff --git a/LLib/LLib.ImGui/WindowFlash.cs b/LLib/LLib.ImGui/WindowFlash.cs index 3b23e39..551a787 100644 --- a/LLib/LLib.ImGui/WindowFlash.cs +++ b/LLib/LLib.ImGui/WindowFlash.cs @@ -43,37 +43,17 @@ public static class WindowFlash public static void Flash(nint hwnd, uint count = 3u) { - int num = ((hwnd != 0) ? (-1584485795) : (-1584485796)); - while (true) + if (hwnd != 0) { - int num2 = num; - int num3 = -1584485795; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + FLASHWINFO pwfi = new FLASHWINFO { - case 0: - { - FLASHWINFO pwfi = new FLASHWINFO - { - cbSize = (uint)Marshal.SizeOf(), - hwnd = hwnd, - dwFlags = ((count == 0) ? 15u : 3u), - uCount = count, - dwTimeout = 0u - }; - FlashWindowEx(ref pwfi); - return; - } - case 1: - return; - case 2: - goto IL_0093; - } - continue; - IL_0093: - num = -1584485796; + cbSize = (uint)Marshal.SizeOf(), + hwnd = hwnd, + dwFlags = ((count == 0) ? 15u : 3u), + uCount = count, + dwTimeout = 0u + }; + FlashWindowEx(ref pwfi); } } } diff --git a/LLib/LLib.Inventory/CofferHelper.cs b/LLib/LLib.Inventory/CofferHelper.cs index a3155af..0c68d66 100644 --- a/LLib/LLib.Inventory/CofferHelper.cs +++ b/LLib/LLib.Inventory/CofferHelper.cs @@ -7,46 +7,15 @@ public static class CofferHelper public static bool IsGearCoffer(Item item) { ItemAction? valueNullable = item.ItemAction.ValueNullable; - int num = (valueNullable.HasValue ? (-77683553) : (-77683554)); - bool flag = default(bool); - uint rowId = default(uint); - while (true) + if (!valueNullable.HasValue) { - int num2 = num; - int num3 = -77683553; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - return false; - case 8: - return item.ItemUICategory.RowId == 61; - case 7: - flag = false; - num = -77683558; - break; - case 5: - num = ((!flag) ? (-77683557) : (-77683561)); - break; - case 3: - flag = true; - num = -77683558; - break; - case 2: - num = -77683554; - break; - case 6: - num = ((rowId != 1085) ? (-77683560) : (-77683556)); - break; - case 1: - return false; - case 0: - rowId = valueNullable.Value.RowId; - num = ((rowId == 388) ? (-77683556) : (-77683559)); - break; - } + return false; } + uint rowId = valueNullable.Value.RowId; + if ((rowId == 388 || rowId == 1085) ? true : false) + { + return item.ItemUICategory.RowId == 61; + } + return false; } } diff --git a/LLib/LLib.Inventory/InventoryContainers.cs b/LLib/LLib.Inventory/InventoryContainers.cs index 4966748..4ab6e8a 100644 --- a/LLib/LLib.Inventory/InventoryContainers.cs +++ b/LLib/LLib.Inventory/InventoryContainers.cs @@ -50,264 +50,87 @@ public static class InventoryContainers public unsafe static int CountFreeSlots(ReadOnlySpan containers) { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? 422803500 : 422803490); - ReadOnlySpan readOnlySpan = default(ReadOnlySpan); - int num7 = default(int); - InventoryContainer* inventoryContainer = default(InventoryContainer*); - int num9 = default(int); - int num11 = default(int); - InventoryItem* inventorySlot = default(InventoryItem*); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 422803495; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return 0; + } + int num = 0; + ReadOnlySpan readOnlySpan = containers; + for (int i = 0; i < readOnlySpan.Length; i++) + { + InventoryType inventoryType = readOnlySpan[i]; + InventoryContainer* inventoryContainer = ptr->GetInventoryContainer(inventoryType); + if (inventoryContainer == null) { - case 1: - { - InventoryType inventoryType = readOnlySpan[num7]; - inventoryContainer = ptr->GetInventoryContainer(inventoryType); - num = ((inventoryContainer == null) ? 422803501 : 422803493); - break; + continue; } - case 11: - num9 = 0; - readOnlySpan = containers; - num7 = 0; - num = 422803492; - break; - case 0: - num = ((num11 < inventoryContainer->Size) ? 422803491 : 422803501); - break; - case 10: + for (int j = 0; j < inventoryContainer->Size; j++) { - int num14 = num7; - num3 = 1; - num4 = num14; - num7 = (num4 | num3) + (num4 & num3); - num = 422803492; - break; - } - case 7: - { - int num10 = num11; - num3 = 1; - num4 = num10; - int num12 = num4 ^ num3; - int num13 = num4 & num3; - num11 = num12 + (num13 + num13); - num = 422803495; - break; - } - case 9: - { - int num8 = num9; - num3 = 1; - num4 = num8; - num9 = (num4 | num3) + (num4 & num3); - num = 422803488; - break; - } - case 5: - return 0; - case 12: - return num9; - case 6: - num = 422803490; - break; - case 8: - num = ((inventorySlot->ItemId != 0) ? 422803488 : 422803502); - break; - case 2: - num11 = 0; - num = 422803495; - break; - case 4: - inventorySlot = inventoryContainer->GetInventorySlot(num11); - num = ((inventorySlot == null) ? 422803502 : 422803503); - break; - case 3: - num = ((num7 < readOnlySpan.Length) ? 422803494 : 422803499); - break; + InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(j); + if (inventorySlot == null || inventorySlot->ItemId == 0) + { + num++; + } } } + return num; } public unsafe static int CountItems(uint itemId, ReadOnlySpan containers) { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? 107037197 : 107037193); - int num11 = default(int); - InventoryContainer* inventoryContainer = default(InventoryContainer*); - int num7 = default(int); - ReadOnlySpan readOnlySpan = default(ReadOnlySpan); - int num5 = default(int); - InventoryItem* inventorySlot = default(InventoryItem*); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 107037196; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return 0; + } + int num = 0; + ReadOnlySpan readOnlySpan = containers; + for (int i = 0; i < readOnlySpan.Length; i++) + { + InventoryType inventoryType = readOnlySpan[i]; + InventoryContainer* inventoryContainer = ptr->GetInventoryContainer(inventoryType); + if (inventoryContainer == null) { - case 9: - num11 = 0; - num = 107037196; - break; - case 0: - num = ((num11 < inventoryContainer->Size) ? 107037190 : 107037191); - break; - case 1: - num7 = 0; - readOnlySpan = containers; - num5 = 0; - num = 107037184; - break; - case 3: - num = ((inventorySlot->ItemId != itemId) ? 107037192 : 107037188); - break; - case 7: - num = 107037193; - break; - case 8: - { - int num6 = num7; - num3 = inventorySlot->Quantity; - num4 = num6; - int num8 = num4 ^ num3; - int num9 = num4 & num3; - num7 = num8 + (num9 + num9); - num = 107037192; - break; + continue; } - case 5: - return 0; - case 10: - inventorySlot = inventoryContainer->GetInventorySlot(num11); - num = ((inventorySlot == null) ? 107037192 : 107037199); - break; - case 4: + for (int j = 0; j < inventoryContainer->Size; j++) { - int num12 = num11; - num3 = 1; - num4 = num12; - int num13 = num4 ^ num3; - int num14 = num4 & num3; - num11 = num13 + (num14 + num14); - num = 107037196; - break; - } - case 6: - { - InventoryType inventoryType = readOnlySpan[num5]; - inventoryContainer = ptr->GetInventoryContainer(inventoryType); - num = ((inventoryContainer == null) ? 107037191 : 107037189); - break; - } - case 2: - return num7; - case 11: - { - int num10 = num5; - num3 = 1; - num4 = num10; - num5 = (num4 | num3) + (num4 & num3); - num = 107037184; - break; - } - case 12: - num = ((num5 < readOnlySpan.Length) ? 107037194 : 107037198); - break; + InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(j); + if (inventorySlot != null && inventorySlot->ItemId == itemId) + { + num += inventorySlot->Quantity; + } } } + return num; } public unsafe static List GetHqItems(ReadOnlySpan containers) { List list = new List(); InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? (-877452053) : (-877452056)); - InventoryItem* inventorySlot = default(InventoryItem*); - InventoryContainer* inventoryContainer = default(InventoryContainer*); - int num5 = default(int); - ReadOnlySpan readOnlySpan = default(ReadOnlySpan); - int num9 = default(int); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -877452054; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return list; + } + ReadOnlySpan readOnlySpan = containers; + for (int i = 0; i < readOnlySpan.Length; i++) + { + InventoryType inventoryType = readOnlySpan[i]; + InventoryContainer* inventoryContainer = ptr->GetInventoryContainer(inventoryType); + if (inventoryContainer == null) { - case 5: - inventorySlot = inventoryContainer->GetInventorySlot(num5); - num = ((inventorySlot == null) ? (-877452055) : (-877452050)); - break; - case 2: - return list; - case 9: - num = -877452056; - break; - case 0: - { - InventoryType inventoryType = readOnlySpan[num9]; - inventoryContainer = ptr->GetInventoryContainer(inventoryType); - num = ((inventoryContainer == null) ? (-877452051) : (-877452057)); - break; + continue; } - case 7: + for (int j = 0; j < inventoryContainer->Size; j++) { - int num10 = num9; - num3 = 1; - num4 = num10; - int num11 = num4 ^ num3; - int num12 = num4 & num3; - num9 = num11 + (num12 + num12); - num = -877452064; - break; - } - case 10: - num = ((num9 < readOnlySpan.Length) ? (-877452054) : (-877452063)); - break; - case 6: - num = ((num5 < inventoryContainer->Size) ? (-877452049) : (-877452051)); - break; - case 12: - num = (((inventorySlot->Flags & InventoryItem.ItemFlags.HighQuality) == 0) ? (-877452055) : (-877452062)); - break; - case 8: - list.Add(*inventorySlot); - num = -877452055; - break; - case 1: - readOnlySpan = containers; - num9 = 0; - num = -877452064; - break; - case 4: - num = ((inventorySlot->ItemId == 0) ? (-877452055) : (-877452058)); - break; - case 3: - { - int num6 = num5; - num3 = 1; - num4 = num6; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - num5 = num7 + (num8 + num8); - num = -877452052; - break; - } - case 11: - return list; - case 13: - num5 = 0; - num = -877452052; - break; + InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(j); + if (inventorySlot != null && inventorySlot->ItemId != 0 && (inventorySlot->Flags & InventoryItem.ItemFlags.HighQuality) != InventoryItem.ItemFlags.None) + { + list.Add(*inventorySlot); + } } } + return list; } } diff --git a/LLib/LLib.Inventory/InventoryHelper.cs b/LLib/LLib.Inventory/InventoryHelper.cs index 49bc178..a14ce27 100644 --- a/LLib/LLib.Inventory/InventoryHelper.cs +++ b/LLib/LLib.Inventory/InventoryHelper.cs @@ -1,5 +1,4 @@ using System; -using System.Runtime.CompilerServices; using FFXIVClientStructs.FFXIV.Client.Game; using Lumina.Excel; using Lumina.Excel.Sheets; @@ -11,94 +10,35 @@ public static class InventoryHelper public unsafe static int GetItemCount(uint itemId, bool checkEquipped = false, bool checkArmory = false) { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? (-1076709592) : (-1076709591)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -1076709592; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return ptr->GetInventoryItemCount(itemId, isHq: false, checkEquipped, checkArmory, 0) + ptr->GetInventoryItemCount(itemId, isHq: true, checkEquipped, checkArmory, 0); - case 1: - return 0; - case 2: - goto IL_0063; - } - continue; - IL_0063: - num = -1076709591; + return 0; } + return ptr->GetInventoryItemCount(itemId, isHq: false, checkEquipped, checkArmory, 0) + ptr->GetInventoryItemCount(itemId, isHq: true, checkEquipped, checkArmory, 0); } public unsafe static int GetItemCount(uint itemId, InventoryType inventoryType) { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? (-397486013) : (-397486005)); - int num7 = default(int); - int num8 = default(int); - InventoryItem* inventorySlot = default(InventoryItem*); - InventoryContainer* inventoryContainer = default(InventoryContainer*); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -397486013; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return 0; + } + InventoryContainer* inventoryContainer = ptr->GetInventoryContainer(inventoryType); + if (inventoryContainer == null) + { + return 0; + } + int num = 0; + for (int i = 0; i < inventoryContainer->Size; i++) + { + InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(i); + if (inventorySlot != null && inventorySlot->ItemId == itemId) { - case 1: - return 0; - case 7: - { - int num9 = num7; - num3 = 1; - num4 = num9; - num7 = (num4 | num3) + (num4 & num3); - num = -397486009; - break; - } - case 8: - return 0; - case 3: - { - int num10 = num8; - num3 = inventorySlot->Quantity; - num4 = num10; - int num11 = num4 ^ num3; - int num12 = num4 & num3; - num8 = num11 + (num12 + num12); - num = -397486012; - break; - } - case 0: - inventoryContainer = ptr->GetInventoryContainer(inventoryType); - num = ((inventoryContainer != null) ? (-397486007) : (-397486014)); - break; - case 4: - num = ((num7 < inventoryContainer->Size) ? (-397486010) : (-397486011)); - break; - case 6: - return num8; - case 9: - num = ((inventorySlot->ItemId != itemId) ? (-397486012) : (-397486016)); - break; - case 10: - num8 = 0; - num7 = 0; - num = -397486009; - break; - case 5: - inventorySlot = inventoryContainer->GetInventorySlot(num7); - num = ((inventorySlot == null) ? (-397486012) : (-397486006)); - break; - case 2: - num = -397486005; - break; + num += inventorySlot->Quantity; } } + return num; } public static bool HasFreeInventorySlot() @@ -109,167 +49,56 @@ public static class InventoryHelper public unsafe static int CountFreeInventorySlots() { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? 1747914912 : 1747914917); - InventoryContainer* inventoryContainer = default(InventoryContainer*); - InventoryType inventoryType = default(InventoryType); - int num5 = default(int); - int num9 = default(int); - InventoryItem* inventorySlot = default(InventoryItem*); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1747914921; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return 0; + } + int num = 0; + for (InventoryType inventoryType = InventoryType.Inventory1; inventoryType <= InventoryType.Inventory4; inventoryType++) + { + InventoryContainer* inventoryContainer = ptr->GetInventoryContainer(inventoryType); + if (inventoryContainer == null) { - case 6: - inventoryContainer = ptr->GetInventoryContainer(inventoryType); - num = ((inventoryContainer == null) ? 1747914922 : 1747914926); - break; - case 4: - num = ((inventoryType <= InventoryType.Inventory4) ? 1747914927 : 1747914915); - break; - case 2: - num = ((num5 < inventoryContainer->Size) ? 1747914921 : 1747914922); - break; - case 3: - inventoryType++; - num = 1747914925; - break; - case 5: - { - int num10 = num9; - num3 = 1; - num4 = num10; - num9 = (num4 | num3) + (num4 & num3); - num = 1747914920; - break; + continue; } - case 7: - num5 = 0; - num = 1747914923; - break; - case 9: - num9 = 0; - inventoryType = InventoryType.Inventory1; - num = 1747914925; - break; - case 8: - num = ((inventorySlot->ItemId != 0) ? 1747914920 : 1747914924); - break; - case 10: - return num9; - case 12: - return 0; - case 11: - num = 1747914917; - break; - case 1: + for (int i = 0; i < inventoryContainer->Size; i++) { - int num6 = num5; - num3 = 1; - num4 = num6; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - num5 = num7 + (num8 + num8); - num = 1747914923; - break; - } - case 0: - inventorySlot = inventoryContainer->GetInventorySlot(num5); - num = ((inventorySlot == null) ? 1747914924 : 1747914913); - break; + InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(i); + if (inventorySlot == null || inventorySlot->ItemId == 0) + { + num++; + } } } + return num; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static int CountInventorySlotsWithCondition(uint itemId, Predicate predicate) { - _206A_202D_202D_202C_200F_206B_206C_202C_206D_202D_206C_200C_206B_202B_200C_200E_202C_200E_200F_206B_202B_202D_200F_202D_200B_200B_206D_206A_200C_200B_202D_206F_202C_200F_206C_206A_206A_206D_200E_200C_202E((object)predicate, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-279872189)); + ArgumentNullException.ThrowIfNull(predicate, "predicate"); InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? (-1746491217) : (-1746491226)); - InventoryType inventoryType = default(InventoryType); - int num7 = default(int); - int num11 = default(int); - InventoryContainer* inventoryContainer = default(InventoryContainer*); - InventoryItem* inventorySlot = default(InventoryItem*); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -1746491230; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return 0; + } + int num = 0; + for (InventoryType inventoryType = InventoryType.Inventory1; inventoryType <= InventoryType.Inventory4; inventoryType++) + { + InventoryContainer* inventoryContainer = ptr->GetInventoryContainer(inventoryType); + if (inventoryContainer == null) { - case 14: - num = ((inventoryType <= InventoryType.Inventory4) ? (-1746491221) : (-1746491231)); - break; - case 11: - num7 = 0; - num = -1746491225; - break; - case 13: - num11 = 0; - inventoryType = InventoryType.Inventory1; - num = -1746491220; - break; - case 9: - inventoryContainer = ptr->GetInventoryContainer(inventoryType); - num = ((inventoryContainer == null) ? (-1746491230) : (-1746491223)); - break; - case 5: - num = ((num7 < inventoryContainer->Size) ? (-1746491232) : (-1746491230)); - break; - case 10: - { - int num8 = num7; - num3 = 1; - num4 = num8; - int num9 = num4 ^ num3; - int num10 = num4 & num3; - num7 = num9 + (num10 + num10); - num = -1746491225; - break; + continue; } - case 2: - inventorySlot = inventoryContainer->GetInventorySlot(num7); - num = ((inventorySlot == null) ? (-1746491224) : (-1746491227)); - break; - case 8: + for (int i = 0; i < inventoryContainer->Size; i++) { - int num12 = num11; - num3 = 1; - num4 = num12; - int num13 = num4 ^ num3; - int num14 = num4 & num3; - num11 = num13 + (num14 + num14); - num = -1746491224; - break; - } - case 0: - inventoryType++; - num = -1746491220; - break; - case 7: - num = ((inventorySlot->ItemId == 0) ? (-1746491224) : (-1746491218)); - break; - case 6: - num = -1746491226; - break; - case 3: - return num11; - case 1: - num = ((!predicate(inventorySlot->Quantity)) ? (-1746491224) : (-1746491222)); - break; - case 12: - num = ((inventorySlot->ItemId != itemId) ? (-1746491224) : (-1746491229)); - break; - case 4: - return 0; + InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(i); + if (inventorySlot != null && inventorySlot->ItemId != 0 && inventorySlot->ItemId == itemId && predicate(inventorySlot->Quantity)) + { + num++; + } } } + return num; } public static bool IsItemEquipped(uint itemId) @@ -280,195 +109,76 @@ public static class InventoryHelper public unsafe static int GetEquippedItemSlot(uint itemId) { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? 1216447237 : 1216447232); - InventoryItem* inventorySlot = default(InventoryItem*); - InventoryContainer* inventoryContainer = default(InventoryContainer*); - int num8 = default(int); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1216447236; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return -1; + } + InventoryContainer* inventoryContainer = ptr->GetInventoryContainer(InventoryType.EquippedItems); + if (inventoryContainer == null) + { + return -1; + } + for (int i = 0; i < inventoryContainer->Size; i++) + { + InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(i); + if (inventorySlot != null && inventorySlot->ItemId == itemId) { - case 9: - inventorySlot = inventoryContainer->GetInventorySlot(num8); - num = ((inventorySlot == null) ? 1216447246 : 1216447244); - break; - case 3: - return num8; - case 10: - { - int num7 = num8; - num3 = 1; - num4 = num7; - int num9 = num4 ^ num3; - int num10 = num4 & num3; - num8 = num9 + (num10 + num10); - num = 1216447236; - break; - } - case 4: - return -1; - case 6: - return -1; - case 5: - num = 1216447232; - break; - case 0: - num = ((num8 < inventoryContainer->Size) ? 1216447245 : 1216447234); - break; - case 2: - num8 = 0; - num = 1216447236; - break; - case 7: - return -1; - case 1: - inventoryContainer = ptr->GetInventoryContainer(InventoryType.EquippedItems); - num = ((inventoryContainer != null) ? 1216447238 : 1216447235); - break; - case 8: - num = ((inventorySlot->ItemId != itemId) ? 1216447246 : 1216447239); - break; + return i; } } + return -1; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static int GetRemainingStackCapacity(uint itemId, ExcelSheet itemSheet) { - _206A_202D_202D_202C_200F_206B_206C_202C_206D_202D_206C_200C_206B_202B_200C_200E_202C_200E_200F_206B_202B_202D_200F_202D_200B_200B_206D_206A_200C_200B_202D_206F_202C_200F_206C_206A_206A_206D_200E_200C_202E((object)itemSheet, 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(-2041652730)); + ArgumentNullException.ThrowIfNull(itemSheet, "itemSheet"); InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? 2074514221 : 2074514216); - int num9 = default(int); - InventoryType inventoryType = default(InventoryType); - int num7 = default(int); - InventoryItem* inventorySlot = default(InventoryItem*); - InventoryContainer* inventoryContainer = default(InventoryContainer*); - int num8 = default(int); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 2074514213; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return 0; + } + int num = (int)(itemSheet.GetRowOrDefault(itemId)?.StackSize ?? 0); + if (num <= 1) + { + return 0; + } + int num2 = 0; + for (InventoryType inventoryType = InventoryType.Inventory1; inventoryType <= InventoryType.Inventory4; inventoryType++) + { + InventoryContainer* inventoryContainer = ptr->GetInventoryContainer(inventoryType); + if (inventoryContainer == null) { - case 14: - return 0; - case 8: - num9 = (int)(itemSheet.GetRowOrDefault(itemId)?.StackSize ?? 0); - num = ((num9 > 1) ? 2074514215 : 2074514219); - break; - case 10: - inventoryType++; - num = 2074514220; - break; - case 11: - num7 = 0; - num = 2074514213; - break; - case 1: - inventorySlot = inventoryContainer->GetInventorySlot(num7); - num = ((inventorySlot == null) ? 2074514214 : 2074514211); - break; - case 4: - return num8; - case 2: - num8 = 0; - inventoryType = InventoryType.Inventory1; - num = 2074514220; - break; - case 6: - num = ((inventorySlot->ItemId != itemId) ? 2074514214 : 2074514208); - break; - case 15: - { - int num11 = num8; - int num12 = num9; - num3 = inventorySlot->Quantity; - num4 = num12; - num3 = ~(~num4 + num3); - num4 = num11; - num8 = (num4 | num3) + (num4 & num3); - num = 2074514214; - break; + continue; } - case 12: - num = 2074514216; - break; - case 3: + for (int i = 0; i < inventoryContainer->Size; i++) { - int num10 = num7; - num3 = 1; - num4 = num10; - num7 = (num4 | num3) + (num4 & num3); - num = 2074514213; - break; - } - case 7: - inventoryContainer = ptr->GetInventoryContainer(inventoryType); - num = ((inventoryContainer == null) ? 2074514223 : 2074514222); - break; - case 9: - num = ((inventoryType <= InventoryType.Inventory4) ? 2074514210 : 2074514209); - break; - case 0: - num = ((num7 < inventoryContainer->Size) ? 2074514212 : 2074514223); - break; - case 13: - return 0; - case 5: - num = (((inventorySlot->Flags & InventoryItem.ItemFlags.HighQuality) != InventoryItem.ItemFlags.None) ? 2074514214 : 2074514218); - break; + InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(i); + if (inventorySlot != null && inventorySlot->ItemId == itemId && (inventorySlot->Flags & InventoryItem.ItemFlags.HighQuality) == 0) + { + num2 += num - inventorySlot->Quantity; + } } } + return num2; } - [MethodImpl(MethodImplOptions.NoInlining)] public static int GetMaxHoldableQuantity(uint itemId, ExcelSheet itemSheet) { - _206A_202D_202D_202C_200F_206B_206C_202C_206D_202D_206C_200C_206B_202B_200C_200E_202C_200E_200F_206B_202B_202D_200F_202D_200B_200B_206D_206A_200C_200B_202D_206F_202C_200F_206C_206A_206A_206D_200E_200C_202E((object)itemSheet, 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(-2041652730)); + ArgumentNullException.ThrowIfNull(itemSheet, "itemSheet"); Item? rowOrDefault = itemSheet.GetRowOrDefault(itemId); - int num = (rowOrDefault.HasValue ? (-1200966345) : (-1200966350)); - int stackSize = default(int); - while (true) + if (!rowOrDefault.HasValue) { - int num2 = num; - int num3 = -1200966351; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - num = ((!rowOrDefault.Value.IsUnique) ? (-1200966349) : (-1200966352)); - break; - case 1: - return (GetItemCount(itemId, checkEquipped: true, checkArmory: true) <= 0) ? 1 : 0; - case 4: - return GetRemainingStackCapacity(itemId, itemSheet) + CountFreeInventorySlots() * stackSize; - case 3: - return 0; - case 2: - stackSize = (int)rowOrDefault.Value.StackSize; - num = ((stackSize > 0) ? (-1200966347) : (-1200966348)); - break; - case 0: - num = -1200966350; - break; - case 5: - return 0; - } + return 0; } - } - - static void _206A_202D_202D_202C_200F_206B_206C_202C_206D_202D_206C_200C_206B_202B_200C_200E_202C_200E_200F_206B_202B_202D_200F_202D_200B_200B_206D_206A_200C_200B_202D_206F_202C_200F_206C_206A_206A_206D_200E_200C_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); + if (rowOrDefault.Value.IsUnique) + { + return (GetItemCount(itemId, checkEquipped: true, checkArmory: true) <= 0) ? 1 : 0; + } + int stackSize = (int)rowOrDefault.Value.StackSize; + if (stackSize <= 0) + { + return 0; + } + return GetRemainingStackCapacity(itemId, itemSheet) + CountFreeInventorySlots() * stackSize; } } diff --git a/LLib/LLib.Inventory/ItemHandle.cs b/LLib/LLib.Inventory/ItemHandle.cs index 4cd9917..36f2d11 100644 --- a/LLib/LLib.Inventory/ItemHandle.cs +++ b/LLib/LLib.Inventory/ItemHandle.cs @@ -1,6 +1,4 @@ using System; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using Lumina.Excel.Sheets; @@ -13,25 +11,11 @@ public readonly record struct ItemHandle(uint RawId) { get { - int num = ((RawId >= 1000000) ? 357166028 : 357166029); - while (true) + if (RawId < 1000000) { - int num2 = num; - int num3 = 357166028; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_004b; - case 1: - return RawId; - case 0: - return RawId % 1000000; - } - continue; - IL_004b: - num = 357166029; + return RawId; } + return RawId % 1000000; } } @@ -61,49 +45,21 @@ public readonly record struct ItemHandle(uint RawId) public unsafe static ItemHandle FromInventorySlot(InventoryItem* slot) { - int num = ((slot != null) ? (-1287272070) : (-1287272069)); - while (true) + if (slot == null) { - int num2 = num; - int num3 = -1287272070; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0043; - case 0: - return new ItemHandle(slot->ItemId); - case 1: - return new ItemHandle(0u); - } - continue; - IL_0043: - num = -1287272069; + return new ItemHandle(0u); } + return new ItemHandle(slot->ItemId); } public unsafe int GetCount(bool checkEquipped = false, bool checkArmory = false) { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? 991214794 : 991214795); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 991214794; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0049; - case 0: - return ptr->GetInventoryItemCount(Id, isHq: false, checkEquipped, checkArmory, 0) + ptr->GetInventoryItemCount(Id, isHq: true, checkEquipped, checkArmory, 0); - case 1: - return 0; - } - continue; - IL_0049: - num = 991214795; + return 0; } + return ptr->GetInventoryItemCount(Id, isHq: false, checkEquipped, checkArmory, 0) + ptr->GetInventoryItemCount(Id, isHq: true, checkEquipped, checkArmory, 0); } public int GetCountInContainer(InventoryType container) @@ -140,68 +96,4 @@ public readonly record struct ItemHandle(uint RawId) { return GetRow(dataManager)?.LevelItem.RowId ?? 0; } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206E_206E_206A_200B_206C_200B_202B_202B_200C_206E_206F_206C_206C_202A_200B_200B_200C_206D_206F_200E_206A_200E_202A_202B_206A_206D_200C_200E_206D_200D_202A_202D_206A_206C_200F_200C_206C_200F_202E_206E_202E(); - _200F_206B_200D_200E_206E_206A_206E_200F_206F_200C_200E_206E_206D_200E_200B_202C_202D_202E_200F_206D_202D_200C_206E_200D_206B_206D_206F_206A_200F_206E_202E_202A_206A_200B_200C_206C_206F_206B_200D_202A_202E(stringBuilder, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(29412539)); - _200F_206B_200D_200E_206E_206A_206E_200F_206F_200C_200E_206E_206D_200E_200B_202C_202D_202E_200F_206D_202D_200C_206E_200D_206B_206D_206F_206A_200F_206E_202E_202A_206A_200B_200C_206C_206F_206B_200D_202A_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)) ? 631534302 : 631534303); - while (true) - { - int num2 = num; - int num3 = 631534302; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 631534303; - break; - case 1: - _202C_200E_202D_200E_200E_200C_202C_206A_206B_206D_202C_206B_200E_200C_200E_202D_202D_206F_206B_206B_202A_200E_202E_206A_202B_206C_206E_200C_200F_206B_200B_200C_202A_200C_202E_200E_200E_206B_200C_206C_202E(stringBuilder, ' '); - num = 631534302; - break; - case 0: - _202C_200E_202D_200E_200E_200C_202C_206A_206B_206D_202C_206B_200E_200C_200E_202D_202D_206F_206B_206B_202A_200E_202E_206A_202B_206C_206E_200C_200F_206B_200B_200C_202A_200C_202E_200E_200E_206B_200C_206C_202E(stringBuilder, '}'); - return _200B_202B_206F_200F_200E_202E_206C_202B_206E_200B_206C_200B_202E_202E_206C_206F_206D_206A_202A_206B_206C_202B_200B_200C_206C_200F_202E_202B_200E_200B_202A_200D_200E_206F_200C_200F_202B_206B_206C_206E_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200F_206B_200D_200E_206E_206A_206E_200F_206F_200C_200E_206E_206D_200E_200B_202C_202D_202E_200F_206D_202D_200C_206E_200D_206B_206D_206F_206A_200F_206E_202E_202A_206A_200B_200C_206C_206F_206B_200D_202A_202E(builder, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-595664961)); - _200F_206B_200D_200E_206E_206A_206E_200F_206F_200C_200E_206E_206D_200E_200B_202C_202D_202E_200F_206D_202D_200C_206E_200D_206B_206D_206F_206A_200F_206E_202E_202A_206A_200B_200C_206C_206F_206B_200D_202A_202E(builder, RawId.ToString()); - _200F_206B_200D_200E_206E_206A_206E_200F_206F_200C_200E_206E_206D_200E_200B_202C_202D_202E_200F_206D_202D_200C_206E_200D_206B_206D_206F_206A_200F_206E_202E_202A_206A_200B_200C_206C_206F_206B_200D_202A_202E(builder, 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(-1970731150)); - _200F_206B_200D_200E_206E_206A_206E_200F_206F_200C_200E_206E_206D_200E_200B_202C_202D_202E_200F_206D_202D_200C_206E_200D_206B_206D_206F_206A_200F_206E_202E_202A_206A_200B_200C_206C_206F_206B_200D_202A_202E(builder, Id.ToString()); - _200F_206B_200D_200E_206E_206A_206E_200F_206F_200C_200E_206E_206D_200E_200B_202C_202D_202E_200F_206D_202D_200C_206E_200D_206B_206D_206F_206A_200F_206E_202E_202A_206A_200B_200C_206C_206F_206B_200D_202A_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(1700323707)); - _200F_206B_200D_200E_206E_206A_206E_200F_206F_200C_200E_206E_206D_200E_200B_202C_202D_202E_200F_206D_202D_200C_206E_200D_206B_206D_206F_206A_200F_206E_202E_202A_206A_200B_200C_206C_206F_206B_200D_202A_202E(builder, IsHq.ToString()); - return true; - } - - static StringBuilder _206E_206E_206A_200B_206C_200B_202B_202B_200C_206E_206F_206C_206C_202A_200B_200B_200C_206D_206F_200E_206A_200E_202A_202B_206A_206D_200C_200E_206D_200D_202A_202D_206A_206C_200F_200C_206C_200F_202E_206E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200F_206B_200D_200E_206E_206A_206E_200F_206F_200C_200E_206E_206D_200E_200B_202C_202D_202E_200F_206D_202D_200C_206E_200D_206B_206D_206F_206A_200F_206E_202E_202A_206A_200B_200C_206C_206F_206B_200D_202A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202C_200E_202D_200E_200E_200C_202C_206A_206B_206D_202C_206B_200E_200C_200E_202D_202D_206F_206B_206B_202A_200E_202E_206A_202B_206C_206E_200C_200F_206B_200B_200C_202A_200C_202E_200E_200E_206B_200C_206C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200B_202B_206F_200F_200E_202E_206C_202B_206E_200B_206C_200B_202E_202E_206C_206F_206D_206A_202A_206B_206C_202B_200B_200C_206C_200F_202E_202B_200E_200B_202A_200D_200E_206F_200C_200F_202B_206B_206C_206E_202E(object P_0) - { - return P_0.ToString(); - } } diff --git a/LLib/LLib.Logging/DalamudLoggerProvider.cs b/LLib/LLib.Logging/DalamudLoggerProvider.cs index da7fa10..710ab76 100644 --- a/LLib/LLib.Logging/DalamudLoggerProvider.cs +++ b/LLib/LLib.Logging/DalamudLoggerProvider.cs @@ -1,8 +1,6 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Globalization; -using System.Runtime.CompilerServices; using System.Text; using Dalamud.Plugin.Services; using Microsoft.Extensions.Logging; @@ -25,130 +23,6 @@ public sealed class DalamudLoggerProvider : ILoggerProvider, IDisposable, ISuppo public void Dispose() { } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - } - - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec__8 where TState : notnull - { - public static readonly _003C_003Ec__8 _003C_003E9 = new _003C_003Ec__8(); - - public static Action _003C_003E9__8_0; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal void _003CLog_003Eb__8_0(object? scope, StringBuilder builder) - { - int num; - if (scope is IEnumerable> enumerable) - { - IEnumerator> enumerator = enumerable.GetEnumerator(); - try - { - num = 1757387982; - while (true) - { - int num2 = num; - int num3 = 1757387982; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = (_202E_200F_206A_200B_200E_206F_200D_206F_200E_202A_206D_200F_206F_202C_200F_206C_200F_202E_200E_200C_202C_200F_206F_200E_200B_200C_200B_202A_200F_206D_200E_206C_200B_206B_200C_202B_206C_200E_202D_206D_202E((IEnumerator)enumerator) ? 1757387983 : 1757387980); - break; - case 1: - { - KeyValuePair current = enumerator.Current; - _206C_206C_200B_206D_202D_206E_202E_202D_200E_206A_200E_200C_206E_206B_206A_200D_200C_200D_200E_206E_200B_202E_202E_206A_206A_206A_206E_200B_200E_200E_200D_200F_206F_200F_206F_202B_200C_206A_202E_202B_202E(_202B_202D_202A_202C_202B_200C_200F_202C_206A_206D_200E_202C_200C_200F_200E_200B_202B_206F_202E_200E_200C_200C_206F_206E_200E_206D_200D_202C_200C_206B_200E_202D_202C_202A_202E_200F_200E_200B_200D_200F_202E(_202E_202A_206C_206E_206F_202C_206D_206E_202C_200C_200C_202B_200E_202B_202B_200D_200E_200B_202B_206B_202B_206E_200C_206B_206E_206B_200E_202C_202C_202C_206E_206B_202A_206B_206A_200D_200B_200B_206F_202E_202E(_206C_206C_200B_206D_202D_206E_202E_202D_200E_206A_200E_200C_206E_206B_206A_200D_200C_200D_200E_206E_200B_202E_202E_206A_206A_206A_206E_200B_200E_200E_200D_200F_206F_200F_206F_202B_200C_206A_202E_202B_202E(_202E_202A_206C_206E_206F_202C_206D_206E_202C_200C_200C_202B_200E_202B_202B_200D_200E_200B_202B_206B_202B_206E_200C_206B_206E_206B_200E_202C_202C_202C_206E_206B_202A_206B_206A_200D_200B_200B_206F_202E_202E(builder, '<'), current.Key), '='), current.Value), 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(783152655)); - num = 1757387982; - break; - } - case 3: - num = 1757387982; - break; - case 2: - return; - } - } - } - finally - { - num = ((enumerator == null) ? 1601489106 : 1601489107); - while (true) - { - int num7 = num; - int num3 = 1601489106; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1601489107; - break; - case 1: - _200E_202B_206E_200C_200B_200E_206F_200F_200B_206F_200B_202A_200D_206D_206C_202C_200D_200C_206F_200F_206C_206A_202B_206B_200C_206A_202E_206F_206B_200B_206F_202C_200E_202C_202D_202E_206A_202D_206F_206B_202E((IDisposable)enumerator); - num = 1601489106; - break; - case 0: - goto end_IL_00e6; - } - continue; - end_IL_00e6: - break; - } - } - } - num = ((scope == null) ? (-1655192650) : (-1655192651)); - while (true) - { - int num8 = num; - int num3 = -1655192649; - int num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1655192651; - break; - case 2: - _206C_206C_200B_206D_202D_206E_202E_202D_200E_206A_200E_200C_206E_206B_206A_200D_200C_200D_200E_206E_200B_202E_202E_206A_206A_206A_206E_200B_200E_200E_200D_200F_206F_200F_206F_202B_200C_206A_202E_202B_202E(_202B_202D_202A_202C_202B_200C_200F_202C_206A_206D_200E_202C_200C_200F_200E_200B_202B_206F_202E_200E_200C_200C_206F_206E_200E_206D_200D_202C_200C_206B_200E_202D_202C_202A_202E_200F_200E_200B_200D_200F_202E(_202E_202A_206C_206E_206F_202C_206D_206E_202C_200C_200C_202B_200E_202B_202B_200D_200E_200B_202B_206B_202B_206E_200C_206B_206E_206B_200E_202C_202C_202C_206E_206B_202A_206B_206A_200D_200B_200B_206F_202E_202E(builder, '<'), scope), 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(783152655)); - num = -1655192650; - break; - case 1: - return; - } - } - } - - static StringBuilder _202E_202A_206C_206E_206F_202C_206D_206E_202C_200C_200C_202B_200E_202B_202B_200D_200E_200B_202B_206B_202B_206E_200C_206B_206E_206B_200E_202C_202C_202C_206E_206B_202A_206B_206A_200D_200B_200B_206F_202E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206C_206C_200B_206D_202D_206E_202E_202D_200E_206A_200E_200C_206E_206B_206A_200D_200C_200D_200E_206E_200B_202E_202E_206A_206A_206A_206E_200B_200E_200E_200D_200F_206F_200F_206F_202B_200C_206A_202E_202B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202B_202D_202A_202C_202B_200C_200F_202C_206A_206D_200E_202C_200C_200F_200E_200B_202B_206F_202E_200E_200C_200C_206F_206E_200E_206D_200D_202C_200C_206B_200E_202D_202C_202A_202E_200F_200E_200B_200D_200F_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202E_200F_206A_200B_200E_206F_200D_206F_200E_202A_206D_200F_206F_202C_200F_206C_200F_202E_200E_200C_202C_200F_206F_200E_200B_200C_200B_202A_200F_206D_200E_206C_200B_206B_200C_202B_206C_200E_202D_206D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200E_202B_206E_200C_200B_200E_206F_200F_200B_206F_200B_202A_200D_206D_206C_202C_200D_200C_206F_200F_206C_206A_202B_206B_200C_206A_202E_206F_206B_200B_206F_202C_200E_202C_202D_202E_206A_202D_206F_206B_202E(IDisposable P_0) - { - P_0.Dispose(); - } } private readonly string? _name; @@ -168,309 +42,66 @@ public sealed class DalamudLoggerProvider : ILoggerProvider, IDisposable, ISuppo public IDisposable BeginScope(TState state) where TState : notnull { - IExternalScopeProvider? scopeProvider = ScopeProvider; - return ((scopeProvider != null) ? _200D_200D_200D_200D_202E_202C_202B_202A_200D_206C_202C_202B_206E_200C_202A_200F_202E_200C_202C_202D_206B_206A_206D_206C_206B_200D_200B_202E_206B_200B_202A_202E_200B_200F_206D_206C_202A_200F_200F_202E(scopeProvider, (object)state) : null) ?? NullScope.Instance; - } - - IDisposable ILogger.BeginScope(TState state) - { - //ILSpy generated this explicit interface implementation from .override directive in BeginScope - return this.BeginScope(state); + return ScopeProvider?.Push(state) ?? NullScope.Instance; } public bool IsEnabled(LogLevel logLevel) { - int num = ((logLevel != LogLevel.None) ? 833573961 : 833573962); - while (true) + if (logLevel == LogLevel.None) { - int num2 = num; - int num3 = 833573960; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0042; - case 1: - return ToSerilogLevel(logLevel) >= _200C_202A_200F_206D_200B_200B_206C_206B_202D_202A_206F_206A_202E_200E_200E_202B_202A_202B_200F_202E_206E_200C_206D_202C_200B_202E_206B_206B_202B_202C_202D_206B_202B_200C_202E_206A_202E_202B_202C_206B_202E(_pluginLog); - case 2: - return false; - } - continue; - IL_0042: - num = 833573962; + return false; } + return ToSerilogLevel(logLevel) >= _pluginLog.MinimumLogLevel; } - bool ILogger.IsEnabled(LogLevel logLevel) - { - //ILSpy generated this explicit interface implementation from .override directive in IsEnabled - return this.IsEnabled(logLevel); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public void Log(LogLevel logLevel, EventId eventId, TState state, Exception? exception, Func formatter) { - int num = (IsEnabled(logLevel) ? (-262151412) : (-262151415)); - StringBuilder stringBuilder = default(StringBuilder); - LogEventLevel logEventLevel = default(LogEventLevel); - while (true) + if (!IsEnabled(logLevel)) { - int num2 = num; - int num3 = -262151412; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 4: - num = -262151415; - continue; - case 3: - _202D_206F_206C_206C_206A_202A_200D_200F_206B_200B_206A_206D_200D_206E_200F_202D_202B_206F_202E_200F_200E_206C_206F_206A_206D_206C_206C_200C_206A_202A_206F_206F_206E_206C_202E_200B_206A_202A_206B_200F_202E(stringBuilder, formatter(state, null)); - _202B_202B_202B_200F_202D_200E_202B_206B_200C_206E_200B_206E_206E_202A_202D_206C_200B_200F_202E_206B_200B_202D_206F_200D_200E_202D_206A_202E_200E_202C_202E_202E_206C_202A_202B_206F_206A_206C_206B_206A_202E(_pluginLog, logEventLevel, exception, _202E_202E_206E_200E_200D_200E_206F_202D_202D_202D_200D_200C_202D_200B_202A_200F_202E_202B_200F_206E_202B_200E_200B_206E_202A_206B_202B_200D_202C_206F_202A_202E_202E_206C_202E_202E_200C_200F_200B_206C_202E((object)stringBuilder), Array.Empty()); - return; - case 0: - { - _206B_206F_202E_206A_200C_200F_200F_200B_206E_202C_206C_206F_200B_206A_202D_202B_202E_200D_202B_206B_206F_206A_202A_206A_206B_206E_206D_200D_206E_206C_200D_202C_206F_206E_200D_206A_200D_200B_200E_202D_202E((object)formatter, 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(134909540)); - logEventLevel = ToSerilogLevel(logLevel); - stringBuilder = _206B_206B_202C_206B_206D_200B_206F_202A_206D_200D_200F_200C_202A_200D_202E_206E_202A_206E_202A_202B_206F_202C_202B_206D_202E_206E_202D_200F_202B_206C_202C_200F_200D_206F_200E_206A_200C_200F_206D_202E(); - IExternalScopeProvider? scopeProvider = ScopeProvider; - if (scopeProvider == null) - { - break; - } - scopeProvider.ForEachScope([MethodImpl(MethodImplOptions.NoInlining)] (object? scope, StringBuilder builder) => - { - int num5; - if (scope is IEnumerable> enumerable) - { - IEnumerator> enumerator = enumerable.GetEnumerator(); - try - { - num5 = 1757387982; - while (true) - { - int num6 = num5; - int num7 = 1757387982; - int num8 = num6; - int num9 = num8 + num7; - int num10 = num8 & num7; - switch (num9 - (num10 + num10)) - { - case 0: - num5 = (_003C_003Ec__8._202E_200F_206A_200B_200E_206F_200D_206F_200E_202A_206D_200F_206F_202C_200F_206C_200F_202E_200E_200C_202C_200F_206F_200E_200B_200C_200B_202A_200F_206D_200E_206C_200B_206B_200C_202B_206C_200E_202D_206D_202E((IEnumerator)enumerator) ? 1757387983 : 1757387980); - break; - case 1: - { - KeyValuePair current = enumerator.Current; - _003C_003Ec__8._206C_206C_200B_206D_202D_206E_202E_202D_200E_206A_200E_200C_206E_206B_206A_200D_200C_200D_200E_206E_200B_202E_202E_206A_206A_206A_206E_200B_200E_200E_200D_200F_206F_200F_206F_202B_200C_206A_202E_202B_202E(_003C_003Ec__8._202B_202D_202A_202C_202B_200C_200F_202C_206A_206D_200E_202C_200C_200F_200E_200B_202B_206F_202E_200E_200C_200C_206F_206E_200E_206D_200D_202C_200C_206B_200E_202D_202C_202A_202E_200F_200E_200B_200D_200F_202E(_003C_003Ec__8._202E_202A_206C_206E_206F_202C_206D_206E_202C_200C_200C_202B_200E_202B_202B_200D_200E_200B_202B_206B_202B_206E_200C_206B_206E_206B_200E_202C_202C_202C_206E_206B_202A_206B_206A_200D_200B_200B_206F_202E_202E(_003C_003Ec__8._206C_206C_200B_206D_202D_206E_202E_202D_200E_206A_200E_200C_206E_206B_206A_200D_200C_200D_200E_206E_200B_202E_202E_206A_206A_206A_206E_200B_200E_200E_200D_200F_206F_200F_206F_202B_200C_206A_202E_202B_202E(_003C_003Ec__8._202E_202A_206C_206E_206F_202C_206D_206E_202C_200C_200C_202B_200E_202B_202B_200D_200E_200B_202B_206B_202B_206E_200C_206B_206E_206B_200E_202C_202C_202C_206E_206B_202A_206B_206A_200D_200B_200B_206F_202E_202E(builder, '<'), current.Key), '='), current.Value), 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(783152655)); - num5 = 1757387982; - break; - } - case 3: - num5 = 1757387982; - break; - case 2: - return; - } - } - } - finally - { - num5 = ((enumerator == null) ? 1601489106 : 1601489107); - while (true) - { - int num11 = num5; - int num7 = 1601489106; - int num8 = num11; - switch ((num8 | num7) - (num8 & num7)) - { - case 2: - num5 = 1601489107; - break; - case 1: - _003C_003Ec__8._200E_202B_206E_200C_200B_200E_206F_200F_200B_206F_200B_202A_200D_206D_206C_202C_200D_200C_206F_200F_206C_206A_202B_206B_200C_206A_202E_206F_206B_200B_206F_202C_200E_202C_202D_202E_206A_202D_206F_206B_202E((IDisposable)enumerator); - num5 = 1601489106; - break; - case 0: - goto end_IL_00e6; - } - continue; - end_IL_00e6: - break; - } - } - } - num5 = ((scope == null) ? (-1655192650) : (-1655192651)); - while (true) - { - int num12 = num5; - int num7 = -1655192649; - int num8 = num12; - switch ((num8 | num7) - (num8 & num7)) - { - case 0: - num5 = -1655192651; - break; - case 2: - _003C_003Ec__8._206C_206C_200B_206D_202D_206E_202E_202D_200E_206A_200E_200C_206E_206B_206A_200D_200C_200D_200E_206E_200B_202E_202E_206A_206A_206A_206E_200B_200E_200E_200D_200F_206F_200F_206F_202B_200C_206A_202E_202B_202E(_003C_003Ec__8._202B_202D_202A_202C_202B_200C_200F_202C_206A_206D_200E_202C_200C_200F_200E_200B_202B_206F_202E_200E_200C_200C_206F_206E_200E_206D_200D_202C_200C_206B_200E_202D_202C_202A_202E_200F_200E_200B_200D_200F_202E(_003C_003Ec__8._202E_202A_206C_206E_206F_202C_206D_206E_202C_200C_200C_202B_200E_202B_202B_200D_200E_200B_202B_206B_202B_206E_200C_206B_206E_206B_200E_202C_202C_202C_206E_206B_202A_206B_206A_200D_200B_200B_206F_202E_202E(builder, '<'), scope), 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(783152655)); - num5 = -1655192650; - break; - case 1: - return; - } - } - }, stringBuilder); - num = -262151411; - continue; - } - case 5: - return; - case 2: - _202D_206F_206C_206C_206A_202A_200D_200F_206B_200B_206A_206D_200D_206E_200F_202D_202B_206F_202E_200F_200E_206C_206F_206A_206D_206C_206C_200C_206A_202A_206F_206F_206E_206C_202E_200B_206A_202A_206B_200F_202E(_202D_206F_206C_206C_206A_202A_200D_200F_206B_200B_206A_206D_200D_206E_200F_202D_202B_206F_202E_200F_200E_206C_206F_206A_206D_206C_206C_200C_206A_202A_206F_206F_206E_206C_202E_200B_206A_202A_206B_200F_202E(stringBuilder, _name), 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(-1104179104)); - num = -262151409; - continue; - case 1: - break; - } - num = (_202C_202D_200B_206A_200B_200F_206C_200D_200D_202E_200B_206F_202B_200F_200E_206E_202B_200F_200D_206D_206E_206D_206B_206A_200E_200C_200B_202C_206A_206D_206F_202A_200C_200B_202C_202D_202C_200D_206F_206C_202E(_name) ? (-262151409) : (-262151410)); + return; } + ArgumentNullException.ThrowIfNull(formatter, "formatter"); + LogEventLevel level = ToSerilogLevel(logLevel); + StringBuilder stringBuilder = new StringBuilder(); + ScopeProvider?.ForEachScope(delegate(object? scope, StringBuilder builder) + { + if (scope is IEnumerable> enumerable) + { + { + foreach (KeyValuePair item in enumerable) + { + builder.Append('<').Append(item.Key).Append('=') + .Append(item.Value) + .Append("> "); + } + return; + } + } + if (scope != null) + { + builder.Append('<').Append(scope).Append("> "); + } + }, stringBuilder); + if (!string.IsNullOrEmpty(_name)) + { + stringBuilder.Append(_name).Append(": "); + } + stringBuilder.Append(formatter(state, null)); + _pluginLog.Write(level, exception, stringBuilder.ToString()); } - void ILogger.Log(LogLevel logLevel, EventId eventId, TState state, Exception? exception, Func formatter) - { - //ILSpy generated this explicit interface implementation from .override directive in Log - this.Log(logLevel, eventId, state, exception, formatter); - } - - [MethodImpl(MethodImplOptions.NoInlining)] private static LogEventLevel ToSerilogLevel(LogLevel logLevel) { - int num; - LogEventLevel result = default(LogEventLevel); - switch (logLevel) + return logLevel switch { - default: - num = -1396162966; - goto IL_0029; - case LogLevel.Critical: - result = LogEventLevel.Fatal; - num = -1396162971; - goto IL_0029; - case LogLevel.Error: - goto IL_007b; - case LogLevel.Information: - goto IL_0093; - case LogLevel.Debug: - goto IL_00ab; - case LogLevel.Warning: - goto IL_00b8; - case LogLevel.Trace: - goto IL_00dc; - IL_0029: - while (true) - { - int num2 = num; - int num3 = -1396162973; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - goto end_IL_0029; - case 6: - return result; - case 1: - goto IL_007b; - case 9: - num = -1396162975; - break; - case 7: - goto IL_0093; - case 8: - num = -1396162966; - break; - case 0: - goto IL_00ab; - case 5: - goto IL_00b8; - case 2: - throw _200C_206F_206D_200F_202B_206C_200D_202B_202A_200F_200C_202A_206C_202E_200C_202C_206C_206C_206A_206A_206B_202D_206B_206F_206D_206F_206C_206B_206D_206C_202E_206C_206D_206C_200C_202A_200D_202E_206A_206B_202E(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(1228083926), (object)logLevel, (string)null); - case 3: - goto IL_00dc; - } - continue; - end_IL_0029: - break; - } - goto case LogLevel.Critical; - IL_00dc: - result = LogEventLevel.Verbose; - num = -1396162971; - goto IL_0029; - IL_00b8: - result = LogEventLevel.Warning; - num = -1396162971; - goto IL_0029; - IL_00ab: - result = LogEventLevel.Debug; - num = -1396162971; - goto IL_0029; - IL_0093: - result = LogEventLevel.Information; - num = -1396162971; - goto IL_0029; - IL_007b: - result = LogEventLevel.Error; - num = -1396162971; - goto IL_0029; - } - } - - static IDisposable _200D_200D_200D_200D_202E_202C_202B_202A_200D_206C_202C_202B_206E_200C_202A_200F_202E_200C_202C_202D_206B_206A_206D_206C_206B_200D_200B_202E_206B_200B_202A_202E_200B_200F_206D_206C_202A_200F_200F_202E(IExternalScopeProvider P_0, object P_1) - { - return P_0.Push(P_1); - } - - static LogEventLevel _200C_202A_200F_206D_200B_200B_206C_206B_202D_202A_206F_206A_202E_200E_200E_202B_202A_202B_200F_202E_206E_200C_206D_202C_200B_202E_206B_206B_202B_202C_202D_206B_202B_200C_202E_206A_202E_202B_202C_206B_202E(IPluginLog P_0) - { - return P_0.MinimumLogLevel; - } - - static void _206B_206F_202E_206A_200C_200F_200F_200B_206E_202C_206C_206F_200B_206A_202D_202B_202E_200D_202B_206B_206F_206A_202A_206A_206B_206E_206D_200D_206E_206C_200D_202C_206F_206E_200D_206A_200D_200B_200E_202D_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static StringBuilder _206B_206B_202C_206B_206D_200B_206F_202A_206D_200D_200F_200C_202A_200D_202E_206E_202A_206E_202A_202B_206F_202C_202B_206D_202E_206E_202D_200F_202B_206C_202C_200F_200D_206F_200E_206A_200C_200F_206D_202E() - { - return new StringBuilder(); - } - - static bool _202C_202D_200B_206A_200B_200F_206C_200D_200D_202E_200B_206F_202B_200F_200E_206E_202B_200F_200D_206D_206E_206D_206B_206A_200E_200C_200B_202C_206A_206D_206F_202A_200C_200B_202C_202D_202C_200D_206F_206C_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static StringBuilder _202D_206F_206C_206C_206A_202A_200D_200F_206B_200B_206A_206D_200D_206E_200F_202D_202B_206F_202E_200F_200E_206C_206F_206A_206D_206C_206C_200C_206A_202A_206F_206F_206E_206C_202E_200B_206A_202A_206B_200F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static string _202E_202E_206E_200E_200D_200E_206F_202D_202D_202D_200D_200C_202D_200B_202A_200F_202E_202B_200F_206E_202B_200E_200B_206E_202A_206B_202B_200D_202C_206F_202A_202E_202E_206C_202E_202E_200C_200F_200B_206C_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202B_202B_202B_200F_202D_200E_202B_206B_200C_206E_200B_206E_206E_202A_202D_206C_200B_200F_202E_206B_200B_202D_206F_200D_200E_202D_206A_202E_200E_202C_202E_202E_206C_202A_202B_206F_206A_206C_206B_206A_202E(IPluginLog P_0, LogEventLevel P_1, Exception P_2, string P_3, object[] P_4) - { - P_0.Write(P_1, P_2, P_3, P_4); - } - - static ArgumentOutOfRangeException _200C_206F_206D_200F_202B_206C_200D_202B_202A_200F_200C_202A_206C_202E_200C_202C_206C_206C_206A_206A_206B_202D_206B_206F_206D_206F_206C_206B_206D_206C_202E_206C_206D_206C_200C_202A_200D_202E_206A_206B_202E(string P_0, object P_1, string P_2) - { - return new ArgumentOutOfRangeException(P_0, P_1, P_2); + LogLevel.Trace => LogEventLevel.Verbose, + LogLevel.Debug => LogEventLevel.Debug, + LogLevel.Information => LogEventLevel.Information, + LogLevel.Warning => LogEventLevel.Warning, + LogLevel.Error => LogEventLevel.Error, + LogLevel.Critical => LogEventLevel.Fatal, + _ => throw new ArgumentOutOfRangeException("logLevel", logLevel, null), + }; } } @@ -480,10 +111,9 @@ public sealed class DalamudLoggerProvider : ILoggerProvider, IDisposable, ISuppo private IExternalScopeProvider? _scopeProvider; - [MethodImpl(MethodImplOptions.NoInlining)] public DalamudLoggerProvider(IPluginLog pluginLog, Func? categoryNameFormatter = null) { - _200B_206D_206B_206A_202A_206D_200B_206F_202B_206A_200C_206F_206E_206E_206B_206E_200C_206E_200E_206F_206B_202E_200E_200B_200E_202E_202A_206B_202D_206D_200F_200F_200F_200E_206E_206C_206B_200D_206B_200C_202E((object)pluginLog, 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(1117547694)); + ArgumentNullException.ThrowIfNull(pluginLog, "pluginLog"); _pluginLog = pluginLog; _categoryNameFormatter = categoryNameFormatter ?? ((Func)((string t) => t)); } @@ -491,100 +121,32 @@ public sealed class DalamudLoggerProvider : ILoggerProvider, IDisposable, ISuppo public ILogger CreateLogger(string categoryName) { string name = _categoryNameFormatter(categoryName); - int num = ((!LooksObfuscated(name)) ? (-1377550317) : (-1377550318)); - while (true) + if (LooksObfuscated(name)) { - int num2 = num; - int num3 = -1377550317; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return new DalamudLogger(name, this, _pluginLog); - case 1: - name = null; - num = -1377550317; - break; - case 2: - num = -1377550318; - break; - } + name = null; } - } - - ILogger ILoggerProvider.CreateLogger(string categoryName) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateLogger - return this.CreateLogger(categoryName); + return new DalamudLogger(name, this, _pluginLog); } private static bool LooksObfuscated(string? name) { - int num = ((!_200B_202E_206E_206B_206D_202D_206E_200F_206A_202A_200C_200B_200C_206D_202E_206E_206A_202A_202A_202E_206A_206A_202A_200F_200E_206A_202D_202A_206A_206E_206F_202A_206F_200B_202D_206A_202E_202D_202E_200F_202E(name)) ? (-1967590757) : (-1967590764)); - char c = default(char); - string text = default(string); - int num5 = default(int); - UnicodeCategory unicodeCategory = default(UnicodeCategory); - bool flag = default(bool); - while (true) + if (string.IsNullOrEmpty(name)) { - int num2 = num; - int num3 = -1967590755; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return false; + } + foreach (char c in name) + { + if (char.IsControl(c)) { - case 4: - c = _202A_206E_202A_206B_206B_200B_206B_206A_200E_206E_202B_206B_200D_200B_200F_202B_206F_206C_200E_200B_202D_200E_206D_200C_202A_202B_206D_200E_206A_206E_200D_200E_202A_206C_206D_206A_200D_206E_200E_202A_202E(text, num5); - num = ((!char.IsControl(c)) ? (-1967590758) : (-1967590756)); - break; - case 11: - return false; - case 2: return true; - case 7: - unicodeCategory = _200D_200D_206D_200C_200F_206D_200D_200F_206F_202C_200C_200B_202B_206B_206C_206C_206F_206B_206B_206A_206E_206A_202D_206B_202B_202E_202D_206D_206C_202D_206C_202E_200B_200F_202E_206D_200D_200E_202A_202D_202E(c); - num = (((uint)(unicodeCategory - 15) <= 2u) ? (-1967590768) : (-1967590767)); - break; - case 3: - num = ((!flag) ? (-1967590755) : (-1967590753)); - break; - case 5: - num = ((num5 < _206C_206E_200B_206A_200F_202D_202B_206F_206B_206B_206A_206A_202B_202A_202B_206A_202D_206A_206F_202A_206B_206A_206B_206B_202D_206D_206E_200F_202E_206E_202E_200F_202D_206A_206D_206F_200F_200D_202E_202E(text)) ? (-1967590759) : (-1967590762)); - break; - case 8: - flag = false; - num = -1967590754; - break; - case 0: - { - int num6 = num5; - num3 = 1; - num4 = num6; - num5 = (num4 | num3) + (num4 & num3); - num = -1967590760; - break; } - case 1: + UnicodeCategory unicodeCategory = CharUnicodeInfo.GetUnicodeCategory(c); + if (((uint)(unicodeCategory - 15) <= 2u || unicodeCategory == UnicodeCategory.OtherNotAssigned) ? true : false) + { return true; - case 9: - return false; - case 10: - num = -1967590764; - break; - case 12: - num = ((unicodeCategory != UnicodeCategory.OtherNotAssigned) ? (-1967590763) : (-1967590768)); - break; - case 6: - text = name; - num5 = 0; - num = -1967590760; - break; - case 13: - flag = true; - num = -1967590754; - break; } } + return false; } public void SetScopeProvider(IExternalScopeProvider scopeProvider) @@ -592,44 +154,7 @@ public sealed class DalamudLoggerProvider : ILoggerProvider, IDisposable, ISuppo _scopeProvider = scopeProvider; } - void ISupportExternalScope.SetScopeProvider(IExternalScopeProvider scopeProvider) - { - //ILSpy generated this explicit interface implementation from .override directive in SetScopeProvider - this.SetScopeProvider(scopeProvider); - } - public void Dispose() { } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static void _200B_206D_206B_206A_202A_206D_200B_206F_202B_206A_200C_206F_206E_206E_206B_206E_200C_206E_200E_206F_206B_202E_200E_200B_200E_202E_202A_206B_202D_206D_200F_200F_200F_200E_206E_206C_206B_200D_206B_200C_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static bool _200B_202E_206E_206B_206D_202D_206E_200F_206A_202A_200C_200B_200C_206D_202E_206E_206A_202A_202A_202E_206A_206A_202A_200F_200E_206A_202D_202A_206A_206E_206F_202A_206F_200B_202D_206A_202E_202D_202E_200F_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static char _202A_206E_202A_206B_206B_200B_206B_206A_200E_206E_202B_206B_200D_200B_200F_202B_206F_206C_200E_200B_202D_200E_206D_200C_202A_202B_206D_200E_206A_206E_200D_200E_202A_206C_206D_206A_200D_206E_200E_202A_202E(string P_0, int P_1) - { - return P_0[P_1]; - } - - static UnicodeCategory _200D_200D_206D_200C_200F_206D_200D_200F_206F_202C_200C_200B_202B_206B_206C_206C_206F_206B_206B_206A_206E_206A_202D_206B_202B_202E_202D_206D_206C_202D_206C_202E_200B_200F_202E_206D_200D_200E_202A_202D_202E(char P_0) - { - return CharUnicodeInfo.GetUnicodeCategory(P_0); - } - - static int _206C_206E_200B_206A_200F_202D_202B_206F_206B_206B_206A_206A_202B_202A_202B_206A_202D_206A_206F_202A_206B_206A_206B_206B_202D_206D_206E_200F_202E_206E_202E_200F_202D_206A_206D_206F_200F_200D_202E_202E(string P_0) - { - return P_0.Length; - } } diff --git a/LLib/LLib.Movement.Unstuck/RecoveryDecision.cs b/LLib/LLib.Movement.Unstuck/RecoveryDecision.cs index ad98f2a..c529871 100644 --- a/LLib/LLib.Movement.Unstuck/RecoveryDecision.cs +++ b/LLib/LLib.Movement.Unstuck/RecoveryDecision.cs @@ -1,109 +1,3 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; - namespace LLib.Movement.Unstuck; -public readonly record struct RecoveryDecision(RecoveryDecisionKind Kind, IRecoveryRung? Rung, RecoveryExhaustion? Exhaustion) -{ - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200C_206E_200E_206B_206B_202E_200D_206B_200B_200F_206F_206D_206F_200C_206A_206C_202A_206E_206D_200B_200F_202B_200B_206A_206D_206E_202E_206F_200D_206F_206F_202E_206E_202A_206B_200D_202A_202D_206C_200F_202E(); - _200C_202E_202C_206A_200C_206A_202A_206D_206E_206D_206A_206F_206F_206C_202C_206B_206A_202E_206F_202B_200D_200B_206F_202B_206F_206B_206E_200E_200F_206A_200E_202A_202C_202D_200C_202B_206C_206B_206D_202D_202E(stringBuilder, 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(74641930)); - _200C_202E_202C_206A_200C_206A_202A_206D_206E_206D_206A_206F_206F_206C_202C_206B_206A_202E_206F_202B_200D_200B_206F_202B_206F_206B_206E_200E_200F_206A_200E_202A_202C_202D_200C_202B_206C_206B_206D_202D_202E(stringBuilder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1581517409)); - int num = ((!PrintMembers(stringBuilder)) ? 836946002 : 836946003); - while (true) - { - int num2 = num; - int num3 = 836946002; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 836946003; - break; - case 0: - _200F_202E_206E_202E_202C_206A_206D_200E_200B_206C_206C_206B_206F_206F_206F_206D_200C_202C_200D_200D_200D_202D_200B_202A_206C_202B_200B_200C_200C_206D_200D_206A_202A_200D_200D_202E_206D_206F_202E_202C_202E(stringBuilder, '}'); - return _200B_206A_206D_200D_206C_200B_206A_200E_206E_206D_200F_202C_200D_206A_202B_202C_202D_200B_206D_200B_200B_202A_202D_206B_202D_206B_206A_202B_206D_202A_206D_202C_202A_200B_206C_200D_200F_200C_200D_200C_202E((object?)stringBuilder); - case 1: - _200F_202E_206E_202E_202C_206A_206D_200E_200B_206C_206C_206B_206F_206F_206F_206D_200C_202C_200D_200D_200D_202D_200B_202A_206C_202B_200B_200C_200C_206D_200D_206A_202A_200D_200D_202E_206D_206F_202E_202C_202E(stringBuilder, ' '); - num = 836946002; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200C_202E_202C_206A_200C_206A_202A_206D_206E_206D_206A_206F_206F_206C_202C_206B_206A_202E_206F_202B_200D_200B_206F_202B_206F_206B_206E_200E_200F_206A_200E_202A_202C_202D_200C_202B_206C_206B_206D_202D_202E(builder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-409624799)); - _200C_202E_202C_206A_200C_206A_202A_206D_206E_206D_206A_206F_206F_206C_202C_206B_206A_202E_206F_202B_200D_200B_206F_202B_206F_206B_206E_200E_200F_206A_200E_202A_202C_202D_200C_202B_206C_206B_206D_202D_202E(builder, Kind.ToString()); - _200C_202E_202C_206A_200C_206A_202A_206D_206E_206D_206A_206F_206F_206C_202C_206B_206A_202E_206F_202B_200D_200B_206F_202B_206F_206B_206E_200E_200F_206A_200E_202A_202C_202D_200C_202B_206C_206B_206D_202D_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(1157142729)); - _202D_206A_206D_200C_200E_202A_202E_202D_202B_200F_200E_202E_200B_206C_206E_202E_200B_202B_206F_200B_200F_206A_206C_206C_200F_206B_206A_206C_202C_206B_206B_206C_206F_206C_202C_200C_202E_200E_200F_202A_202E(builder, (object?)Rung); - _200C_202E_202C_206A_200C_206A_202A_206D_206E_206D_206A_206F_206F_206C_202C_206B_206A_202E_206F_202B_200D_200B_206F_202B_206F_206B_206E_200E_200F_206A_200E_202A_202C_202D_200C_202B_206C_206B_206D_202D_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(-113611179)); - _202D_206A_206D_200C_200E_202A_202E_202D_202B_200F_200E_202E_200B_206C_206E_202E_200B_202B_206F_200B_200F_206A_206C_206C_200F_206B_206A_206C_202C_206B_206B_206C_206F_206C_202C_200C_202E_200E_200F_202A_202E(builder, (object?)Exhaustion); - return true; - } - - [CompilerGenerated] - public bool Equals(RecoveryDecision other) - { - int num = ((!EqualityComparer.Default.Equals(Kind, other.Kind)) ? 379657536 : 379657539); - while (true) - { - int num2 = num; - int num3 = 379657538; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = 379657539; - break; - case 0: - return EqualityComparer.Default.Equals(Exhaustion, other.Exhaustion); - case 2: - return false; - case 1: - num = ((!EqualityComparer.Default.Equals(Rung, other.Rung)) ? 379657536 : 379657538); - break; - } - } - } - - bool IEquatable.Equals(RecoveryDecision other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder? _200C_206E_200E_206B_206B_202E_200D_206B_200B_200F_206F_206D_206F_200C_206A_206C_202A_206E_206D_200B_200F_202B_200B_206A_206D_206E_202E_206F_200D_206F_206F_202E_206E_202A_206B_200D_202A_202D_206C_200F_202E() - { - return new StringBuilder(); - } - - static StringBuilder? _200C_202E_202C_206A_200C_206A_202A_206D_206E_206D_206A_206F_206F_206C_202C_206B_206A_202E_206F_202B_200D_200B_206F_202B_206F_206B_206E_200E_200F_206A_200E_202A_202C_202D_200C_202B_206C_206B_206D_202D_202E(StringBuilder? P_0, string? P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder? _200F_202E_206E_202E_202C_206A_206D_200E_200B_206C_206C_206B_206F_206F_206F_206D_200C_202C_200D_200D_200D_202D_200B_202A_206C_202B_200B_200C_200C_206D_200D_206A_202A_200D_200D_202E_206D_206F_202E_202C_202E(StringBuilder? P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string? _200B_206A_206D_200D_206C_200B_206A_200E_206E_206D_200F_202C_200D_206A_202B_202C_202D_200B_206D_200B_200B_202A_202D_206B_202D_206B_206A_202B_206D_202A_206D_202C_202A_200B_206C_200D_200F_200C_200D_200C_202E(object? P_0) - { - return P_0.ToString(); - } - - static StringBuilder? _202D_206A_206D_200C_200E_202A_202E_202D_202B_200F_200E_202E_200B_206C_206E_202E_200B_202B_206F_200B_200F_206A_206C_206C_200F_206B_206A_206C_202C_206B_206B_206C_206F_206C_202C_200C_202E_200E_200F_202A_202E(StringBuilder? P_0, object? P_1) - { - return P_0.Append(P_1); - } -} +public readonly record struct RecoveryDecision(RecoveryDecisionKind Kind, IRecoveryRung? Rung, RecoveryExhaustion? Exhaustion); diff --git a/LLib/LLib.Movement.Unstuck/RecoveryExhaustion.cs b/LLib/LLib.Movement.Unstuck/RecoveryExhaustion.cs index f18ec7f..a78614c 100644 --- a/LLib/LLib.Movement.Unstuck/RecoveryExhaustion.cs +++ b/LLib/LLib.Movement.Unstuck/RecoveryExhaustion.cs @@ -1,153 +1,5 @@ -using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; namespace LLib.Movement.Unstuck; -public sealed record RecoveryExhaustion(int Attempts, IReadOnlyList RungsFired, long FirstStallMs, long LastStallMs) -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200F_206F_206F_202A_202B_206F_200B_202A_200E_202C_206A_200E_200E_200F_200C_200E_206B_206A_206B_200F_206C_200E_206E_206E_200B_206F_202C_202C_202B_202B_200E_202A_206E_202C_202A_202D_206F_202A_200E_200D_202E(typeof(RecoveryExhaustion).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202E_206B_206F_206E_200B_206D_206E_200E_200E_200B_202B_206A_206B_206E_206A_206B_202C_206C_202C_206C_202C_206D_206C_206B_202B_200B_200C_206F_202A_200D_206C_202B_206C_206B_200C_200B_206D_200E_202E_206D_202E(); - _206C_206D_200C_202C_206F_206A_202E_202D_202B_200D_200F_200F_200F_200F_202E_202E_200F_200F_202E_200E_206A_202D_200B_200E_200B_202D_202E_200F_200E_202A_206E_200E_206A_202D_206A_206D_206B_202A_200E_206E_202E(stringBuilder, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-390353260)); - _206C_206D_200C_202C_206F_206A_202E_202D_202B_200D_200F_200F_200F_200F_202E_202E_200F_200F_202E_200E_206A_202D_200B_200E_200B_202D_202E_200F_200E_202A_206E_200E_206A_202D_206A_206D_206B_202A_200E_206E_202E(stringBuilder, 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(1148273145)); - int num = ((!PrintMembers(stringBuilder)) ? (-834076820) : (-834076819)); - while (true) - { - int num2 = num; - int num3 = -834076820; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -834076819; - break; - case 0: - _206D_202C_200C_206A_200B_206C_202B_202B_202B_200E_202C_206C_206A_200D_200E_200D_206E_200B_200E_206D_206C_200B_200E_202B_206C_200D_200D_206C_206C_200E_202B_200C_200E_200F_206A_206E_206C_202E_202C_206A_202E(stringBuilder, '}'); - return _200B_202D_202D_200B_206A_202A_202A_206B_206C_206C_200D_206E_206C_206E_206C_206F_206C_202E_200D_200E_202D_202C_206D_200B_200B_206C_202E_206D_200C_206D_206B_202A_206C_200F_202A_206D_200D_206B_200D_206E_202E((object)stringBuilder); - case 1: - _206D_202C_200C_206A_200B_206C_202B_202B_202B_200E_202C_206C_206A_200D_200E_200D_206E_200B_200E_206D_206C_200B_200E_202B_206C_200D_200D_206C_206C_200E_202B_200C_200E_200F_206A_206E_206C_202E_202C_206A_202E(stringBuilder, ' '); - num = -834076820; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206C_200B_200F_206F_206E_206F_202D_206D_206C_202D_206E_202A_200E_206D_202C_206D_202C_200C_206E_202C_200F_206F_206B_200E_200F_206B_206A_200B_202A_206A_206B_206A_206F_206C_200B_202D_206D_200D_202E_202E(); - _206C_206D_200C_202C_206F_206A_202E_202D_202B_200D_200F_200F_200F_200F_202E_202E_200F_200F_202E_200E_206A_202D_200B_200E_200B_202D_202E_200F_200E_202A_206E_200E_206A_202D_206A_206D_206B_202A_200E_206E_202E(builder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-53828862)); - _206C_206D_200C_202C_206F_206A_202E_202D_202B_200D_200F_200F_200F_200F_202E_202E_200F_200F_202E_200E_206A_202D_200B_200E_200B_202D_202E_200F_200E_202A_206E_200E_206A_202D_206A_206D_206B_202A_200E_206E_202E(builder, Attempts.ToString()); - _206C_206D_200C_202C_206F_206A_202E_202D_202B_200D_200F_200F_200F_200F_202E_202E_200F_200F_202E_200E_206A_202D_200B_200E_200B_202D_202E_200F_200E_202A_206E_200E_206A_202D_206A_206D_206B_202A_200E_206E_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(-596316751)); - _200D_202A_200F_200E_206A_202C_202A_200F_206C_200F_200B_206C_202E_200E_200B_206D_206F_200B_206B_202C_200C_202D_200C_202B_206E_200C_206D_200F_202B_202D_206E_206B_200E_206A_200B_206E_200C_206F_206D_202E_202E(builder, (object)RungsFired); - _206C_206D_200C_202C_206F_206A_202E_202D_202B_200D_200F_200F_200F_200F_202E_202E_200F_200F_202E_200E_206A_202D_200B_200E_200B_202D_202E_200F_200E_202A_206E_200E_206A_202D_206A_206D_206B_202A_200E_206E_202E(builder, 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(118713089)); - _206C_206D_200C_202C_206F_206A_202E_202D_202B_200D_200F_200F_200F_200F_202E_202E_200F_200F_202E_200E_206A_202D_200B_200E_200B_202D_202E_200F_200E_202A_206E_200E_206A_202D_206A_206D_206B_202A_200E_206E_202E(builder, FirstStallMs.ToString()); - _206C_206D_200C_202C_206F_206A_202E_202D_202B_200D_200F_200F_200F_200F_202E_202E_200F_200F_202E_200E_206A_202D_200B_200E_200B_202D_202E_200F_200E_202A_206E_200E_206A_202D_206A_206D_206B_202A_200E_206E_202E(builder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(616880075)); - _206C_206D_200C_202C_206F_206A_202E_202D_202B_200D_200F_200F_200F_200F_202E_202E_200F_200F_202E_200E_206A_202D_200B_200E_200B_202D_202E_200F_200E_202A_206E_200E_206A_202D_206A_206D_206B_202A_200E_206E_202E(builder, LastStallMs.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(RecoveryExhaustion? other) - { - int num = (((object)this == other) ? (-542937588) : (-542937600)); - while (true) - { - int num2 = num; - int num3 = -542937596; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - return EqualityComparer.Default.Equals(LastStallMs, other.LastStallMs); - case 1: - return false; - case 2: - num = ((!_202B_200F_202A_206D_206D_200B_206D_200D_202E_200F_200D_206E_200F_202C_206C_206E_206E_200B_206F_200B_206F_202B_200E_202E_206C_202C_206A_200E_200E_206C_202C_200F_206E_206E_206F_200C_200C_206E_206B_200E_202E(EqualityContract, other.EqualityContract)) ? (-542937595) : (-542937596)); - break; - case 0: - num = ((!EqualityComparer.Default.Equals(Attempts, other.Attempts)) ? (-542937595) : (-542937597)); - break; - case 8: - return true; - case 6: - num = ((!EqualityComparer.Default.Equals(FirstStallMs, other.FirstStallMs)) ? (-542937595) : (-542937593)); - break; - case 7: - num = ((!EqualityComparer>.Default.Equals(RungsFired, other.RungsFired)) ? (-542937595) : (-542937598)); - break; - case 4: - num = (((object)other == null) ? (-542937595) : (-542937594)); - break; - case 5: - num = -542937600; - break; - } - } - } - - bool IEquatable.Equals(RecoveryExhaustion? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200F_206F_206F_202A_202B_206F_200B_202A_200E_202C_206A_200E_200E_200F_200C_200E_206B_206A_206B_200F_206C_200E_206E_206E_200B_206F_202C_202C_202B_202B_200E_202A_206E_202C_202A_202D_206F_202A_200E_200D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202E_206B_206F_206E_200B_206D_206E_200E_200E_200B_202B_206A_206B_206E_206A_206B_202C_206C_202C_206C_202C_206D_206C_206B_202B_200B_200C_206F_202A_200D_206C_202B_206C_206B_200C_200B_206D_200E_202E_206D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206C_206D_200C_202C_206F_206A_202E_202D_202B_200D_200F_200F_200F_200F_202E_202E_200F_200F_202E_200E_206A_202D_200B_200E_200B_202D_202E_200F_200E_202A_206E_200E_206A_202D_206A_206D_206B_202A_200E_206E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206D_202C_200C_206A_200B_206C_202B_202B_202B_200E_202C_206C_206A_200D_200E_200D_206E_200B_200E_206D_206C_200B_200E_202B_206C_200D_200D_206C_206C_200E_202B_200C_200E_200F_206A_206E_206C_202E_202C_206A_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200B_202D_202D_200B_206A_202A_202A_206B_206C_206C_200D_206E_206C_206E_206C_206F_206C_202E_200D_200E_202D_202C_206D_200B_200B_206C_202E_206D_200C_206D_206B_202A_206C_200F_202A_206D_200D_206B_200D_206E_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206C_200B_200F_206F_206E_206F_202D_206D_206C_202D_206E_202A_200E_206D_202C_206D_202C_200C_206E_202C_200F_206F_206B_200E_200F_206B_206A_200B_202A_206A_206B_206A_206F_206C_200B_202D_206D_200D_202E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200D_202A_200F_200E_206A_202C_202A_200F_206C_200F_200B_206C_202E_200E_200B_206D_206F_200B_206B_202C_200C_202D_200C_202B_206E_200C_206D_200F_202B_202D_206E_206B_200E_206A_200B_206E_200C_206F_206D_202E_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202B_200F_202A_206D_206D_200B_206D_200D_202E_200F_200D_206E_200F_202C_206C_206E_206E_200B_206F_200B_206F_202B_200E_202E_206C_202C_206A_200E_200E_206C_202C_200F_206E_206E_206F_200C_200C_206E_206B_200E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +public sealed record RecoveryExhaustion(int Attempts, IReadOnlyList RungsFired, long FirstStallMs, long LastStallMs); diff --git a/LLib/LLib.Movement.Unstuck/RecoveryLadder.cs b/LLib/LLib.Movement.Unstuck/RecoveryLadder.cs index e1dc24a..6c80183 100644 --- a/LLib/LLib.Movement.Unstuck/RecoveryLadder.cs +++ b/LLib/LLib.Movement.Unstuck/RecoveryLadder.cs @@ -25,47 +25,12 @@ public sealed class RecoveryLadder public bool IsExhausted { get; private set; } - private int Cap + private int Cap => _003Coptions_003EP.Mode switch { - get - { - RecoveryMode mode = _003Coptions_003EP.Mode; - int num = ((mode == RecoveryMode.Aggressive) ? (-304547260) : (-304547257)); - int result = default(int); - while (true) - { - int num2 = num; - int num3 = -304547258; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - result = _003Coptions_003EP.PassiveCap; - num = -304547258; - break; - case 1: - num = ((mode == RecoveryMode.Passive) ? (-304547262) : (-304547264)); - break; - case 6: - num = -304547261; - break; - case 2: - result = _003Coptions_003EP.AggressiveCap; - num = -304547258; - break; - case 5: - result = _003Coptions_003EP.ConservativeCap; - num = -304547258; - break; - case 3: - num = -304547257; - break; - case 0: - return result; - } - } - } - } + RecoveryMode.Aggressive => _003Coptions_003EP.AggressiveCap, + RecoveryMode.Passive => _003Coptions_003EP.PassiveCap, + _ => _003Coptions_003EP.ConservativeCap, + }; public RecoveryLadder(RecoveryLadderOptions options, IReadOnlyList rungs) { @@ -79,91 +44,39 @@ public sealed class RecoveryLadder public RecoveryDecision OnStall(long nowMs) { - int num = ((!IsExhausted) ? 1754338781 : 1754338772); - IRecoveryRung recoveryRung = default(IRecoveryRung); - int num7 = default(int); - while (true) + if (IsExhausted) { - int num2 = num; - int num3 = 1754338771; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return new RecoveryDecision(RecoveryDecisionKind.None, null, null); + } + if (Attempts >= Cap) + { + IsExhausted = true; + return new RecoveryDecision(RecoveryDecisionKind.Exhausted, null, new RecoveryExhaustion(Attempts, _rungsFired.ToArray(), _firstStallMs, _lastStallMs)); + } + if (_hasRunAny && nowMs - _lastRunAnyMs < _003Coptions_003EP.GlobalCooldownMs) + { + return new RecoveryDecision(RecoveryDecisionKind.None, null, null); + } + if (_003Coptions_003EP.Mode == RecoveryMode.Passive) + { + Consume(nowMs); + return new RecoveryDecision(RecoveryDecisionKind.Observe, null, null); + } + for (int i = 0; i < _rungs.Length; i++) + { + IRecoveryRung recoveryRung = _rungs[i]; + if ((!_hasRun[i] || nowMs - _lastRunMs[i] >= recoveryRung.CooldownMs) && recoveryRung.CanRun(Attempts + 1, nowMs)) { - case 9: - { - long num8 = _lastRunAnyMs; - long num9 = nowMs; - num = ((~(~num9 + num8) >= _003Coptions_003EP.GlobalCooldownMs) ? 1754338774 : 1754338768); - break; - } - case 0: - num = ((!_hasRunAny) ? 1754338774 : 1754338778); - break; - case 14: - num = ((Attempts < Cap) ? 1754338771 : 1754338783); - break; - case 16: - num = ((!recoveryRung.CanRun(Attempts + 1, nowMs)) ? 1754338773 : 1754338782); - break; - case 10: - recoveryRung = _rungs[num7]; - num = ((!_hasRun[num7]) ? 1754338755 : 1754338776); - break; - case 4: - num = 1754338772; - break; - case 13: Consume(nowMs); _rungsFired.Add(recoveryRung.Name); - _hasRun[num7] = true; - _lastRunMs[num7] = nowMs; + _hasRun[i] = true; + _lastRunMs[i] = nowMs; _hasRunAny = true; _lastRunAnyMs = nowMs; return new RecoveryDecision(RecoveryDecisionKind.Run, recoveryRung, null); - case 6: - { - int num10 = num7; - num3 = 1; - num4 = num10; - int num11 = num4 ^ num3; - int num12 = num4 & num3; - num7 = num11 + (num12 + num12); - num = 1754338769; - break; - } - case 12: - IsExhausted = true; - return new RecoveryDecision(RecoveryDecisionKind.Exhausted, null, new RecoveryExhaustion(Attempts, _rungsFired.ToArray(), _firstStallMs, _lastStallMs)); - case 1: - Consume(nowMs); - return new RecoveryDecision(RecoveryDecisionKind.Observe, null, null); - case 5: - num = ((_003Coptions_003EP.Mode != RecoveryMode.Passive) ? 1754338779 : 1754338770); - break; - case 11: - { - long num8 = _lastRunMs[num7]; - long num9 = nowMs; - num = ((~(~num9 + num8) < recoveryRung.CooldownMs) ? 1754338773 : 1754338755); - break; - } - case 3: - return new RecoveryDecision(RecoveryDecisionKind.None, null, null); - case 2: - num = ((num7 < _rungs.Length) ? 1754338777 : 1754338780); - break; - case 15: - return new RecoveryDecision(RecoveryDecisionKind.None, null, null); - case 7: - return new RecoveryDecision(RecoveryDecisionKind.None, null, null); - case 8: - num7 = 0; - num = 1754338769; - break; } } + return new RecoveryDecision(RecoveryDecisionKind.None, null, null); } public void Reset() @@ -172,70 +85,19 @@ public sealed class RecoveryLadder IsExhausted = false; _rungsFired.Clear(); _hasRunAny = false; - int num = 0; - int num2 = -478483629; - while (true) + for (int i = 0; i < _hasRun.Length; i++) { - int num3 = num2; - int num4 = -478483631; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 0: - return; - case 2: - num2 = ((num < _hasRun.Length) ? (-478483632) : (-478483631)); - break; - case 1: - { - _hasRun[num] = false; - int num8 = num; - num4 = 1; - num5 = num8; - int num9 = num5 ^ num4; - int num10 = num5 & num4; - num = num9 + (num10 + num10); - num2 = -478483629; - break; - } - case 3: - num2 = -478483629; - break; - } + _hasRun[i] = false; } } private void Consume(long nowMs) { - int num = ((Attempts != 0) ? 1659706856 : 1659706857); - while (true) + if (Attempts == 0) { - int num2 = num; - int num3 = 1659706856; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 1659706857; - break; - case 1: - _firstStallMs = nowMs; - num = 1659706856; - break; - case 0: - { - int attempts = Attempts; - num3 = 1; - num4 = attempts; - Attempts = (num4 | num3) + (num4 & num3); - _lastStallMs = nowMs; - return; - } - } + _firstStallMs = nowMs; } + Attempts++; + _lastStallMs = nowMs; } } diff --git a/LLib/LLib.Movement.Unstuck/RecoveryLadderOptions.cs b/LLib/LLib.Movement.Unstuck/RecoveryLadderOptions.cs index 4fdc858..303231d 100644 --- a/LLib/LLib.Movement.Unstuck/RecoveryLadderOptions.cs +++ b/LLib/LLib.Movement.Unstuck/RecoveryLadderOptions.cs @@ -1,22 +1,7 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; - namespace LLib.Movement.Unstuck; public sealed record RecoveryLadderOptions { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200E_200F_202D_206F_200E_202B_206A_206E_206C_202A_200D_202B_206E_202C_202E_200D_202E_202D_200C_202D_202E_200B_206A_206B_206F_200E_202B_200C_206F_206E_200F_200E_200F_202C_200B_202A_202D_202C_200C_206A_202E(typeof(RecoveryLadderOptions).TypeHandle); - } - } - public RecoveryMode Mode { get; init; } = RecoveryMode.Conservative; public int AggressiveCap { get; init; } = 10; @@ -26,138 +11,4 @@ public sealed record RecoveryLadderOptions public int PassiveCap { get; init; } = 2; public long GlobalCooldownMs { get; init; } = 3000L; - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206E_206D_202C_202E_200B_202D_200E_202D_206F_206A_206E_206A_202B_202A_206C_206B_206D_200F_206D_200F_200B_206D_200C_200F_202B_202A_206D_200C_200B_206D_200D_202C_202E_206A_202D_206A_202D_202E_206B_202D_202E(); - _202C_206D_202E_200E_202D_206D_206F_200E_200E_200E_206F_200B_206E_202A_206C_200C_206E_200E_202C_200C_206F_202B_206B_206A_200C_200C_200F_202B_206B_206D_206B_206B_202B_200F_206F_202E_200E_202E_200F_202C_202E(stringBuilder, 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(-1014979507)); - _202C_206D_202E_200E_202D_206D_206F_200E_200E_200E_206F_200B_206E_202A_206C_200C_206E_200E_202C_200C_206F_202B_206B_206A_200C_200C_200F_202B_206B_206D_206B_206B_202B_200F_206F_202E_200E_202E_200F_202C_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)) ? 128748061 : 128748062); - while (true) - { - int num2 = num; - int num3 = 128748063; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 128748062; - break; - case 2: - _200D_202B_206E_206C_206E_206F_200F_200D_200F_200E_200B_206C_202E_206D_202D_206C_206A_200C_202D_200D_200E_206F_206E_200F_202A_202B_202D_202A_202B_202D_202E_200E_206C_200E_202D_206E_200B_206B_202E_202E(stringBuilder, '}'); - return _200B_202B_200E_202E_200F_202D_206E_202B_200B_202B_200D_200C_200C_202D_200F_202B_200E_202E_206E_202B_206B_200B_200E_202E_202A_200E_200D_202B_200F_202A_200E_206D_206E_202D_202B_202C_202E_200D_202D_206B_202E((object)stringBuilder); - case 1: - _200D_202B_206E_206C_206E_206F_200F_200D_200F_200E_200B_206C_202E_206D_202D_206C_206A_200C_202D_200D_200E_206F_206E_200F_202A_202B_202D_202A_202B_202D_202E_200E_206C_200E_202D_206E_200B_206B_202E_202E(stringBuilder, ' '); - num = 128748061; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206C_206D_206F_206A_202D_206A_206F_206C_206D_202E_200E_200D_202D_206B_200B_200D_206E_200F_202B_206A_200E_202A_206D_206F_206B_206B_202A_202E_206B_206E_206A_206F_200F_200F_200D_206B_200E_206C_200D_206F_202E(); - _202C_206D_202E_200E_202D_206D_206F_200E_200E_200E_206F_200B_206E_202A_206C_200C_206E_200E_202C_200C_206F_202B_206B_206A_200C_200C_200F_202B_206B_206D_206B_206B_202B_200F_206F_202E_200E_202E_200F_202C_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(-537195815)); - _202C_206D_202E_200E_202D_206D_206F_200E_200E_200E_206F_200B_206E_202A_206C_200C_206E_200E_202C_200C_206F_202B_206B_206A_200C_200C_200F_202B_206B_206D_206B_206B_202B_200F_206F_202E_200E_202E_200F_202C_202E(builder, Mode.ToString()); - _202C_206D_202E_200E_202D_206D_206F_200E_200E_200E_206F_200B_206E_202A_206C_200C_206E_200E_202C_200C_206F_202B_206B_206A_200C_200C_200F_202B_206B_206D_206B_206B_202B_200F_206F_202E_200E_202E_200F_202C_202E(builder, 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(-1738569869)); - _202C_206D_202E_200E_202D_206D_206F_200E_200E_200E_206F_200B_206E_202A_206C_200C_206E_200E_202C_200C_206F_202B_206B_206A_200C_200C_200F_202B_206B_206D_206B_206B_202B_200F_206F_202E_200E_202E_200F_202C_202E(builder, AggressiveCap.ToString()); - _202C_206D_202E_200E_202D_206D_206F_200E_200E_200E_206F_200B_206E_202A_206C_200C_206E_200E_202C_200C_206F_202B_206B_206A_200C_200C_200F_202B_206B_206D_206B_206B_202B_200F_206F_202E_200E_202E_200F_202C_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(1436744253)); - _202C_206D_202E_200E_202D_206D_206F_200E_200E_200E_206F_200B_206E_202A_206C_200C_206E_200E_202C_200C_206F_202B_206B_206A_200C_200C_200F_202B_206B_206D_206B_206B_202B_200F_206F_202E_200E_202E_200F_202C_202E(builder, ConservativeCap.ToString()); - _202C_206D_202E_200E_202D_206D_206F_200E_200E_200E_206F_200B_206E_202A_206C_200C_206E_200E_202C_200C_206F_202B_206B_206A_200C_200C_200F_202B_206B_206D_206B_206B_202B_200F_206F_202E_200E_202E_200F_202C_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(56536959)); - _202C_206D_202E_200E_202D_206D_206F_200E_200E_200E_206F_200B_206E_202A_206C_200C_206E_200E_202C_200C_206F_202B_206B_206A_200C_200C_200F_202B_206B_206D_206B_206B_202B_200F_206F_202E_200E_202E_200F_202C_202E(builder, PassiveCap.ToString()); - _202C_206D_202E_200E_202D_206D_206F_200E_200E_200E_206F_200B_206E_202A_206C_200C_206E_200E_202C_200C_206F_202B_206B_206A_200C_200C_200F_202B_206B_206D_206B_206B_202B_200F_206F_202E_200E_202E_200F_202C_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(1236985358)); - _202C_206D_202E_200E_202D_206D_206F_200E_200E_200E_206F_200B_206E_202A_206C_200C_206E_200E_202C_200C_206F_202B_206B_206A_200C_200C_200F_202B_206B_206D_206B_206B_202B_200F_206F_202E_200E_202E_200F_202C_202E(builder, GlobalCooldownMs.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(RecoveryLadderOptions? other) - { - int num = (((object)this == other) ? (-1889404605) : (-1889404604)); - while (true) - { - int num2 = num; - int num3 = -1889404603; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = ((!EqualityComparer.Default.Equals(PassiveCap, other.PassiveCap)) ? (-1889404595) : (-1889404601)); - break; - case 9: - num = ((!_206D_202D_206B_200C_200C_200F_200E_202D_202D_206F_202A_200F_206D_200E_202B_200E_202A_206C_206B_206E_202C_200C_200B_206C_202A_202D_202A_202D_202D_206F_200F_206C_202B_200B_200F_202B_206A_202D_206D_206B_202E(EqualityContract, other.EqualityContract)) ? (-1889404595) : (-1889404607)); - break; - case 3: - num = ((!EqualityComparer.Default.Equals(ConservativeCap, other.ConservativeCap)) ? (-1889404595) : (-1889404603)); - break; - case 7: - num = ((!EqualityComparer.Default.Equals(AggressiveCap, other.AggressiveCap)) ? (-1889404595) : (-1889404602)); - break; - case 8: - return false; - case 1: - num = (((object)other == null) ? (-1889404595) : (-1889404596)); - break; - case 6: - return true; - case 2: - return EqualityComparer.Default.Equals(GlobalCooldownMs, other.GlobalCooldownMs); - case 5: - num = -1889404604; - break; - case 4: - num = ((!EqualityComparer.Default.Equals(Mode, other.Mode)) ? (-1889404595) : (-1889404606)); - break; - } - } - } - - bool IEquatable.Equals(RecoveryLadderOptions? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200E_200F_202D_206F_200E_202B_206A_206E_206C_202A_200D_202B_206E_202C_202E_200D_202E_202D_200C_202D_202E_200B_206A_206B_206F_200E_202B_200C_206F_206E_200F_200E_200F_202C_200B_202A_202D_202C_200C_206A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206E_206D_202C_202E_200B_202D_200E_202D_206F_206A_206E_206A_202B_202A_206C_206B_206D_200F_206D_200F_200B_206D_200C_200F_202B_202A_206D_200C_200B_206D_200D_202C_202E_206A_202D_206A_202D_202E_206B_202D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202C_206D_202E_200E_202D_206D_206F_200E_200E_200E_206F_200B_206E_202A_206C_200C_206E_200E_202C_200C_206F_202B_206B_206A_200C_200C_200F_202B_206B_206D_206B_206B_202B_200F_206F_202E_200E_202E_200F_202C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200D_202B_206E_206C_206E_206F_200F_200D_200F_200E_200B_206C_202E_206D_202D_206C_206A_200C_202D_200D_200E_206F_206E_200F_202A_202B_202D_202A_202B_202D_202E_200E_206C_200E_202D_206E_200B_206B_202E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200B_202B_200E_202E_200F_202D_206E_202B_200B_202B_200D_200C_200C_202D_200F_202B_200E_202E_206E_202B_206B_200B_200E_202E_202A_200E_200D_202B_200F_202A_200E_206D_206E_202D_202B_202C_202E_200D_202D_206B_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206C_206D_206F_206A_202D_206A_206F_206C_206D_202E_200E_200D_202D_206B_200B_200D_206E_200F_202B_206A_200E_202A_206D_206F_206B_206B_202A_202E_206B_206E_206A_206F_200F_200F_200D_206B_200E_206C_200D_206F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _206D_202D_206B_200C_200C_200F_200E_202D_202D_206F_202A_200F_206D_200E_202B_200E_202A_206C_206B_206E_202C_200C_200B_206C_202A_202D_202A_202D_202D_206F_200F_206C_202B_200B_200F_202B_206A_202D_206D_206B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } } diff --git a/LLib/LLib.Movement.Unstuck/StallDetector.cs b/LLib/LLib.Movement.Unstuck/StallDetector.cs index 5d19e71..2fbe284 100644 --- a/LLib/LLib.Movement.Unstuck/StallDetector.cs +++ b/LLib/LLib.Movement.Unstuck/StallDetector.cs @@ -25,58 +25,22 @@ public sealed class StallDetector(StallDetectorOptions options) public StallVerdict? Observe(in StallSample sample) { - int num = (sample.Driving ? 860999294 : 860999280); - bool flag = default(bool); - while (true) + if (!sample.Driving) { - int num2 = num; - int num3 = 860999289; - int num4 = num2; - int num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 8: - num5 = (sample.DistanceToTarget.HasValue ? 1 : 0); - goto IL_0163; - case 4: - num = ((sample.TimestampMs - _lastDrivenMs > options.ContinuityGapMs) ? 860999295 : 860999282); - break; - case 1: - return ObserveProgress(in sample); - case 11: - num = ((sample.Mode != _anchorMode) ? 860999295 : 860999289); - break; - case 10: - return ObserveDisplacement(in sample); - case 7: - num = ((sample.Mode == DriveMode.Ground) ? 860999292 : 860999281); - break; - case 2: - num = 860999280; - break; - case 6: - Anchor(in sample, flag); - return null; - case 9: - return null; - case 0: - num = ((flag == _anchorUsesProgress) ? 860999290 : 860999295); - break; - case 5: - num5 = 0; - goto IL_0163; - case 3: - { - _lastDrivenMs = sample.TimestampMs; - num = (flag ? 860999288 : 860999283); - break; - } - IL_0163: - flag = (byte)num5 != 0; - num = ((!_hasAnchor) ? 860999295 : 860999293); - break; - } + return null; } + bool flag = sample.Mode != DriveMode.Ground && sample.DistanceToTarget.HasValue; + if (!_hasAnchor || sample.TimestampMs - _lastDrivenMs > options.ContinuityGapMs || sample.Mode != _anchorMode || flag != _anchorUsesProgress) + { + Anchor(in sample, flag); + return null; + } + _lastDrivenMs = sample.TimestampMs; + if (!flag) + { + return ObserveDisplacement(in sample); + } + return ObserveProgress(in sample); } public void Reset() @@ -88,118 +52,53 @@ public sealed class StallDetector(StallDetectorOptions options) private StallVerdict? ObserveProgress(in StallSample sample) { float value = sample.DistanceToTarget.Value; - int num = ((!(value < _bestDistance)) ? 755996687 : 755996681); - long num7 = default(long); - float num8 = default(float); - while (true) + if (value < _bestDistance) { - int num2 = num; - int num3 = 755996685; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 755996681; - break; - case 3: - return null; - case 6: - return Trip(in sample, num7, num8); - case 2: - num8 = _referenceBestDistance - _bestDistance; - num = ((!(num8 >= options.ProgressImprovementThreshold)) ? 755996684 : 755996680); - break; - case 5: - _referenceBestDistance = _bestDistance; - _anchorMs = sample.TimestampMs; - _anchorPosition = sample.Position; - return null; - case 1: - num7 = sample.TimestampMs - _anchorMs; - num = ((num7 < options.ProgressWindowMs) ? 755996686 : 755996683); - break; - case 4: - _bestDistance = value; - num = 755996687; - break; - } + _bestDistance = value; } + float num = _referenceBestDistance - _bestDistance; + if (num >= options.ProgressImprovementThreshold) + { + _referenceBestDistance = _bestDistance; + _anchorMs = sample.TimestampMs; + _anchorPosition = sample.Position; + return null; + } + long num2 = sample.TimestampMs - _anchorMs; + if (num2 >= options.ProgressWindowMs) + { + return Trip(in sample, num2, num); + } + return null; } private StallVerdict? ObserveDisplacement(in StallSample sample) { - int num = ((sample.Mode == DriveMode.Ground) ? 508532326 : 508532323); - long num9 = default(long); - float num8 = default(float); - while (true) + float num = ((sample.Mode == DriveMode.Ground) ? DistanceXZ(_anchorPosition, sample.Position) : Vector3.Distance(_anchorPosition, sample.Position)); + if (num >= options.GroundDistanceThreshold) { - int num2 = num; - int num3 = 508532327; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - float num7; - switch (num5 - (num6 + num6)) - { - case 2: - num9 = sample.TimestampMs - _anchorMs; - num = ((num9 < options.GroundWindowMs) ? 508532324 : 508532322); - break; - case 5: - return Trip(in sample, num9, num8); - case 1: - num7 = DistanceXZ(_anchorPosition, sample.Position); - goto IL_00ae; - case 3: - return null; - case 0: - num = 508532323; - break; - case 4: - num7 = Vector3.Distance(_anchorPosition, sample.Position); - goto IL_00ae; - case 6: - { - _anchorMs = sample.TimestampMs; - _anchorPosition = sample.Position; - return null; - } - IL_00ae: - num8 = num7; - num = ((!(num8 >= options.GroundDistanceThreshold)) ? 508532325 : 508532321); - break; - } + _anchorMs = sample.TimestampMs; + _anchorPosition = sample.Position; + return null; } + long num2 = sample.TimestampMs - _anchorMs; + if (num2 >= options.GroundWindowMs) + { + return Trip(in sample, num2, num); + } + return null; } private StallVerdict? Trip(in StallSample sample, long elapsedMs, float measured) { bool num = sample.TimestampMs < _cooldownUntilMs; Anchor(in sample, _anchorUsesProgress); - int num2 = ((!num) ? (-1156731677) : (-1156731680)); - while (true) + if (num) { - int num3 = num2; - int num4 = -1156731679; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 2: - _cooldownUntilMs = sample.TimestampMs + options.CooldownMs; - return new StallVerdict(elapsedMs, measured, sample.Mode); - case 1: - return null; - case 0: - goto IL_0092; - } - continue; - IL_0092: - num2 = -1156731680; + return null; } + _cooldownUntilMs = sample.TimestampMs + options.CooldownMs; + return new StallVerdict(elapsedMs, measured, sample.Mode); } private void Anchor(in StallSample sample, bool usesProgress) @@ -217,11 +116,6 @@ public sealed class StallDetector(StallDetectorOptions options) { float num = a.X - b.X; float num2 = a.Z - b.Z; - return _206A_202D_200C_206C_206C_206B_202D_202E_206B_200B_200B_206F_206F_202B_200D_200F_206A_202C_200C_202A_202D_202C_200B_206F_206F_200F_206F_206B_206E_200D_202C_200C_200D_206F_202A_202D_202D_200B_200D_202C_202E(num * num + num2 * num2); - } - - static float _206A_202D_200C_206C_206C_206B_202D_202E_206B_200B_200B_206F_206F_202B_200D_200F_206A_202C_200C_202A_202D_202C_200B_206F_206F_200F_206F_206B_206E_200D_202C_200C_200D_206F_202A_202D_202D_200B_200D_202C_202E(float P_0) - { - return MathF.Sqrt(P_0); + return MathF.Sqrt(num * num + num2 * num2); } } diff --git a/LLib/LLib.Movement.Unstuck/StallDetectorOptions.cs b/LLib/LLib.Movement.Unstuck/StallDetectorOptions.cs index ddb550e..46df34c 100644 --- a/LLib/LLib.Movement.Unstuck/StallDetectorOptions.cs +++ b/LLib/LLib.Movement.Unstuck/StallDetectorOptions.cs @@ -1,22 +1,7 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; - namespace LLib.Movement.Unstuck; public sealed record StallDetectorOptions { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200F_202A_206D_206E_202B_200C_200C_200C_200B_200E_200C_206F_202C_206B_200C_200D_206D_202A_202E_200F_200D_206A_206E_206C_206F_206F_200C_202C_202E_200C_202B_200C_206C_202E_200E_206C_206C_206E_200F_202E_202E(typeof(StallDetectorOptions).TypeHandle); - } - } - public float GroundDistanceThreshold { get; init; } = 0.3f; public long GroundWindowMs { get; init; } = 500L; @@ -28,141 +13,4 @@ public sealed record StallDetectorOptions public long ContinuityGapMs { get; init; } = 250L; public long CooldownMs { get; init; } = 500L; - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202D_202B_206E_200E_206A_202D_206E_206C_200B_206E_202C_200B_206D_206B_206C_200E_200E_206C_200B_200C_202C_202C_206F_206F_202C_206B_202D_200B_202C_206F_206B_202A_200B_200B_200D_206E_200B_202D_206C_206A_202E(); - _200F_202D_206D_202B_206F_206D_202A_206B_206C_200F_200D_206E_206F_202C_200E_202E_206C_206A_206E_202C_206A_200D_200F_202A_200C_200B_202E_202C_200D_206E_202D_200F_202A_202D_206F_206E_206D_200D_202B_202E(stringBuilder, 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(701563104)); - _200F_202D_206D_202B_206F_206D_202A_206B_206C_200F_200D_206E_206F_202C_200E_202E_206C_206A_206E_202C_206A_200D_200F_202A_200C_200B_202E_202C_200D_206E_202D_200F_202A_202D_206F_206E_206D_200D_202B_202E(stringBuilder, 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(1148273145)); - int num = ((!PrintMembers(stringBuilder)) ? (-1370681067) : (-1370681068)); - while (true) - { - int num2 = num; - int num3 = -1370681067; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1370681068; - break; - case 0: - _202D_202E_200E_202E_200D_206E_200B_206F_202E_202B_206E_202A_202A_200B_202A_202B_200C_202C_202D_200C_202D_202B_206B_200B_206D_206F_200D_200B_202E_202A_202C_202A_206B_206C_200B_200D_202B_206D_202B_206F_202E(stringBuilder, '}'); - return _206D_202D_200B_200D_206B_206D_200F_200B_200F_200D_202C_202D_206B_200F_206E_202C_202A_202C_200F_202B_206F_206E_206B_200B_206C_200B_202B_206E_206F_206F_206B_202B_202C_202C_202D_202E_200F_206A_202D_202C_202E((object)stringBuilder); - case 1: - _202D_202E_200E_202E_200D_206E_200B_206F_202E_202B_206E_202A_202A_200B_202A_202B_200C_202C_202D_200C_202D_202B_206B_200B_206D_206F_200D_200B_202E_202A_202C_202A_206B_206C_200B_200D_202B_206D_202B_206F_202E(stringBuilder, ' '); - num = -1370681067; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206E_206F_200D_206F_200E_202B_200B_202B_206A_202A_206C_200C_200D_206A_200D_202D_200C_202A_206E_202C_206B_200E_206A_202E_206A_206F_200E_200D_200D_202A_200B_206A_206B_206F_202B_200B_200D_200F_202E_206B_202E(); - _200F_202D_206D_202B_206F_206D_202A_206B_206C_200F_200D_206E_206F_202C_200E_202E_206C_206A_206E_202C_206A_200D_200F_202A_200C_200B_202E_202C_200D_206E_202D_200F_202A_202D_206F_206E_206D_200D_202B_202E(builder, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(486831587)); - _200F_202D_206D_202B_206F_206D_202A_206B_206C_200F_200D_206E_206F_202C_200E_202E_206C_206A_206E_202C_206A_200D_200F_202A_200C_200B_202E_202C_200D_206E_202D_200F_202A_202D_206F_206E_206D_200D_202B_202E(builder, GroundDistanceThreshold.ToString()); - _200F_202D_206D_202B_206F_206D_202A_206B_206C_200F_200D_206E_206F_202C_200E_202E_206C_206A_206E_202C_206A_200D_200F_202A_200C_200B_202E_202C_200D_206E_202D_200F_202A_202D_206F_206E_206D_200D_202B_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(456054749)); - _200F_202D_206D_202B_206F_206D_202A_206B_206C_200F_200D_206E_206F_202C_200E_202E_206C_206A_206E_202C_206A_200D_200F_202A_200C_200B_202E_202C_200D_206E_202D_200F_202A_202D_206F_206E_206D_200D_202B_202E(builder, GroundWindowMs.ToString()); - _200F_202D_206D_202B_206F_206D_202A_206B_206C_200F_200D_206E_206F_202C_200E_202E_206C_206A_206E_202C_206A_200D_200F_202A_200C_200B_202E_202C_200D_206E_202D_200F_202A_202D_206F_206E_206D_200D_202B_202E(builder, 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(1152636967)); - _200F_202D_206D_202B_206F_206D_202A_206B_206C_200F_200D_206E_206F_202C_200E_202E_206C_206A_206E_202C_206A_200D_200F_202A_200C_200B_202E_202C_200D_206E_202D_200F_202A_202D_206F_206E_206D_200D_202B_202E(builder, ProgressImprovementThreshold.ToString()); - _200F_202D_206D_202B_206F_206D_202A_206B_206C_200F_200D_206E_206F_202C_200E_202E_206C_206A_206E_202C_206A_200D_200F_202A_200C_200B_202E_202C_200D_206E_202D_200F_202A_202D_206F_206E_206D_200D_202B_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(942915890)); - _200F_202D_206D_202B_206F_206D_202A_206B_206C_200F_200D_206E_206F_202C_200E_202E_206C_206A_206E_202C_206A_200D_200F_202A_200C_200B_202E_202C_200D_206E_202D_200F_202A_202D_206F_206E_206D_200D_202B_202E(builder, ProgressWindowMs.ToString()); - _200F_202D_206D_202B_206F_206D_202A_206B_206C_200F_200D_206E_206F_202C_200E_202E_206C_206A_206E_202C_206A_200D_200F_202A_200C_200B_202E_202C_200D_206E_202D_200F_202A_202D_206F_206E_206D_200D_202B_202E(builder, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1835438226)); - _200F_202D_206D_202B_206F_206D_202A_206B_206C_200F_200D_206E_206F_202C_200E_202E_206C_206A_206E_202C_206A_200D_200F_202A_200C_200B_202E_202C_200D_206E_202D_200F_202A_202D_206F_206E_206D_200D_202B_202E(builder, ContinuityGapMs.ToString()); - _200F_202D_206D_202B_206F_206D_202A_206B_206C_200F_200D_206E_206F_202C_200E_202E_206C_206A_206E_202C_206A_200D_200F_202A_200C_200B_202E_202C_200D_206E_202D_200F_202A_202D_206F_206E_206D_200D_202B_202E(builder, 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(-1517208652)); - _200F_202D_206D_202B_206F_206D_202A_206B_206C_200F_200D_206E_206F_202C_200E_202E_206C_206A_206E_202C_206A_200D_200F_202A_200C_200B_202E_202C_200D_206E_202D_200F_202A_202D_206F_206E_206D_200D_202B_202E(builder, CooldownMs.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(StallDetectorOptions? other) - { - int num = (((object)this == other) ? 1683992717 : 1683992704); - while (true) - { - int num2 = num; - int num3 = 1683992711; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return false; - case 3: - num = ((!EqualityComparer.Default.Equals(ProgressWindowMs, other.ProgressWindowMs)) ? 1683992710 : 1683992707); - break; - case 6: - num = 1683992704; - break; - case 0: - num = ((!EqualityComparer.Default.Equals(GroundDistanceThreshold, other.GroundDistanceThreshold)) ? 1683992710 : 1683992706); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(ProgressImprovementThreshold, other.ProgressImprovementThreshold)) ? 1683992710 : 1683992708); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(ContinuityGapMs, other.ContinuityGapMs)) ? 1683992710 : 1683992719); - break; - case 10: - return true; - case 9: - num = ((!_200D_206F_206A_200F_206A_200F_206A_200C_200B_206F_200C_202B_202E_200C_206F_206E_206C_200E_200C_206D_202D_202B_206B_202A_202A_206D_202C_206E_200D_202E_206B_202D_206D_206D_206F_202D_206C_206C_206D_206F_202E(EqualityContract, other.EqualityContract)) ? 1683992710 : 1683992711); - break; - case 7: - num = (((object)other == null) ? 1683992710 : 1683992718); - break; - case 5: - num = ((!EqualityComparer.Default.Equals(GroundWindowMs, other.GroundWindowMs)) ? 1683992710 : 1683992709); - break; - case 8: - return EqualityComparer.Default.Equals(CooldownMs, other.CooldownMs); - } - } - } - - bool IEquatable.Equals(StallDetectorOptions? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200F_202A_206D_206E_202B_200C_200C_200C_200B_200E_200C_206F_202C_206B_200C_200D_206D_202A_202E_200F_200D_206A_206E_206C_206F_206F_200C_202C_202E_200C_202B_200C_206C_202E_200E_206C_206C_206E_200F_202E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202D_202B_206E_200E_206A_202D_206E_206C_200B_206E_202C_200B_206D_206B_206C_200E_200E_206C_200B_200C_202C_202C_206F_206F_202C_206B_202D_200B_202C_206F_206B_202A_200B_200B_200D_206E_200B_202D_206C_206A_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200F_202D_206D_202B_206F_206D_202A_206B_206C_200F_200D_206E_206F_202C_200E_202E_206C_206A_206E_202C_206A_200D_200F_202A_200C_200B_202E_202C_200D_206E_202D_200F_202A_202D_206F_206E_206D_200D_202B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202D_202E_200E_202E_200D_206E_200B_206F_202E_202B_206E_202A_202A_200B_202A_202B_200C_202C_202D_200C_202D_202B_206B_200B_206D_206F_200D_200B_202E_202A_202C_202A_206B_206C_200B_200D_202B_206D_202B_206F_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206D_202D_200B_200D_206B_206D_200F_200B_200F_200D_202C_202D_206B_200F_206E_202C_202A_202C_200F_202B_206F_206E_206B_200B_206C_200B_202B_206E_206F_206F_206B_202B_202C_202C_202D_202E_200F_206A_202D_202C_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206E_206F_200D_206F_200E_202B_200B_202B_206A_202A_206C_200C_200D_206A_200D_202D_200C_202A_206E_202C_206B_200E_206A_202E_206A_206F_200E_200D_200D_202A_200B_206A_206B_206F_202B_200B_200D_200F_202E_206B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _200D_206F_206A_200F_206A_200F_206A_200C_200B_206F_200C_202B_202E_200C_206F_206E_206C_200E_200C_206D_202D_202B_206B_202A_202A_206D_202C_206E_200D_202E_206B_202D_206D_206D_206F_202D_206C_206C_206D_206F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } } diff --git a/LLib/LLib.Movement.Unstuck/StallSample.cs b/LLib/LLib.Movement.Unstuck/StallSample.cs index b175e90..9e1566c 100644 --- a/LLib/LLib.Movement.Unstuck/StallSample.cs +++ b/LLib/LLib.Movement.Unstuck/StallSample.cs @@ -1,115 +1,5 @@ -using System; -using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; namespace LLib.Movement.Unstuck; -public readonly record struct StallSample(long TimestampMs, Vector3 Position, DriveMode Mode, bool Driving, float? DistanceToTarget) -{ - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206C_206D_202E_200F_202B_206A_206E_200E_200F_206F_202C_206D_206E_200E_200D_200D_200D_202B_200E_206C_200F_206F_206A_202D_206E_206B_202C_202D_206D_200D_202D_202A_206F_206C_206A_206E_206A_202B_206C_206C_202E(); - _202A_202C_206C_206C_200D_206F_206B_206F_202E_200D_202E_200C_200C_202A_200D_202C_206E_206C_206C_200C_200B_206D_202B_200C_206E_200C_200C_200B_206A_202E_202D_206A_206D_206B_206C_202E_200D_206C_202E(stringBuilder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-843870221)); - _202A_202C_206C_206C_200D_206F_206B_206F_202E_200D_202E_200C_200C_202A_200D_202C_206E_206C_206C_200C_200B_206D_202B_200C_206E_200C_200C_200B_206A_202E_202D_206A_206D_206B_206C_202E_200D_206C_202E(stringBuilder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1581517409)); - int num = ((!PrintMembers(stringBuilder)) ? (-435415033) : (-435415036)); - while (true) - { - int num2 = num; - int num3 = -435415035; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - _206E_200B_206D_200C_206C_202A_202C_202B_206F_200D_200D_200D_206C_206A_206B_200B_200C_202B_202A_206D_206B_200B_202A_202C_206E_202B_202B_202A_200C_202E_206B_206D_206A_206A_202E_202E_206E_200C_200C_206F_202E(stringBuilder, '}'); - return _206B_206E_206D_206A_206D_202D_202D_200C_202B_202E_206F_202D_206F_206B_202C_202D_206A_202B_200C_202D_206C_206C_202B_206A_202C_202A_200F_206D_202B_206C_200D_202B_202B_206C_206C_206D_206B_200D_200C_206A_202E((object)stringBuilder); - case 1: - _206E_200B_206D_200C_206C_202A_202C_202B_206F_200D_200D_200D_206C_206A_206B_200B_200C_202B_202A_206D_206B_200B_202A_202C_206E_202B_202B_202A_200C_202E_206B_206D_206A_206A_202E_202E_206E_200C_200C_206F_202E(stringBuilder, ' '); - num = -435415033; - break; - case 0: - num = -435415036; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202A_202C_206C_206C_200D_206F_206B_206F_202E_200D_202E_200C_200C_202A_200D_202C_206E_206C_206C_200C_200B_206D_202B_200C_206E_200C_200C_200B_206A_202E_202D_206A_206D_206B_206C_202E_200D_206C_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(1273497407)); - _202A_202C_206C_206C_200D_206F_206B_206F_202E_200D_202E_200C_200C_202A_200D_202C_206E_206C_206C_200C_200B_206D_202B_200C_206E_200C_200C_200B_206A_202E_202D_206A_206D_206B_206C_202E_200D_206C_202E(builder, TimestampMs.ToString()); - _202A_202C_206C_206C_200D_206F_206B_206F_202E_200D_202E_200C_200C_202A_200D_202C_206E_206C_206C_200C_200B_206D_202B_200C_206E_200C_200C_200B_206A_202E_202D_206A_206D_206B_206C_202E_200D_206C_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(-73966411)); - _202A_202C_206C_206C_200D_206F_206B_206F_202E_200D_202E_200C_200C_202A_200D_202C_206E_206C_206C_200C_200B_206D_202B_200C_206E_200C_200C_200B_206A_202E_202D_206A_206D_206B_206C_202E_200D_206C_202E(builder, Position.ToString()); - _202A_202C_206C_206C_200D_206F_206B_206F_202E_200D_202E_200C_200C_202A_200D_202C_206E_206C_206C_200C_200B_206D_202B_200C_206E_200C_200C_200B_206A_202E_202D_206A_206D_206B_206C_202E_200D_206C_202E(builder, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1530027189)); - _202A_202C_206C_206C_200D_206F_206B_206F_202E_200D_202E_200C_200C_202A_200D_202C_206E_206C_206C_200C_200B_206D_202B_200C_206E_200C_200C_200B_206A_202E_202D_206A_206D_206B_206C_202E_200D_206C_202E(builder, Mode.ToString()); - _202A_202C_206C_206C_200D_206F_206B_206F_202E_200D_202E_200C_200C_202A_200D_202C_206E_206C_206C_200C_200B_206D_202B_200C_206E_200C_200C_200B_206A_202E_202D_206A_206D_206B_206C_202E_200D_206C_202E(builder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-1807392495)); - _202A_202C_206C_206C_200D_206F_206B_206F_202E_200D_202E_200C_200C_202A_200D_202C_206E_206C_206C_200C_200B_206D_202B_200C_206E_200C_200C_200B_206A_202E_202D_206A_206D_206B_206C_202E_200D_206C_202E(builder, Driving.ToString()); - _202A_202C_206C_206C_200D_206F_206B_206F_202E_200D_202E_200C_200C_202A_200D_202C_206E_206C_206C_200C_200B_206D_202B_200C_206E_200C_200C_200B_206A_202E_202D_206A_206D_206B_206C_202E_200D_206C_202E(builder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(371582453)); - _202A_202C_206C_206C_200D_206F_206B_206F_202E_200D_202E_200C_200C_202A_200D_202C_206E_206C_206C_200C_200B_206D_202B_200C_206E_200C_200C_200B_206A_202E_202D_206A_206D_206B_206C_202E_200D_206C_202E(builder, DistanceToTarget.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(StallSample other) - { - int num = ((!EqualityComparer.Default.Equals(TimestampMs, other.TimestampMs)) ? 364630668 : 364630670); - while (true) - { - int num2 = num; - int num3 = 364630671; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - num = 364630670; - break; - case 0: - return EqualityComparer.Default.Equals(DistanceToTarget, other.DistanceToTarget); - case 3: - return false; - case 1: - num = ((!EqualityComparer.Default.Equals(Position, other.Position)) ? 364630668 : 364630669); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(Mode, other.Mode)) ? 364630668 : 364630667); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(Driving, other.Driving)) ? 364630668 : 364630671); - break; - } - } - } - - bool IEquatable.Equals(StallSample other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _206C_206D_202E_200F_202B_206A_206E_200E_200F_206F_202C_206D_206E_200E_200D_200D_200D_202B_200E_206C_200F_206F_206A_202D_206E_206B_202C_202D_206D_200D_202D_202A_206F_206C_206A_206E_206A_202B_206C_206C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202A_202C_206C_206C_200D_206F_206B_206F_202E_200D_202E_200C_200C_202A_200D_202C_206E_206C_206C_200C_200B_206D_202B_200C_206E_200C_200C_200B_206A_202E_202D_206A_206D_206B_206C_202E_200D_206C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206E_200B_206D_200C_206C_202A_202C_202B_206F_200D_200D_200D_206C_206A_206B_200B_200C_202B_202A_206D_206B_200B_202A_202C_206E_202B_202B_202A_200C_202E_206B_206D_206A_206A_202E_202E_206E_200C_200C_206F_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206B_206E_206D_206A_206D_202D_202D_200C_202B_202E_206F_202D_206F_206B_202C_202D_206A_202B_200C_202D_206C_206C_202B_206A_202C_202A_200F_206D_202B_206C_200D_202B_202B_206C_206C_206D_206B_200D_200C_206A_202E(object P_0) - { - return P_0.ToString(); - } -} +public readonly record struct StallSample(long TimestampMs, Vector3 Position, DriveMode Mode, bool Driving, float? DistanceToTarget); diff --git a/LLib/LLib.Movement.Unstuck/StallVerdict.cs b/LLib/LLib.Movement.Unstuck/StallVerdict.cs index 2abcadd..0edcca4 100644 --- a/LLib/LLib.Movement.Unstuck/StallVerdict.cs +++ b/LLib/LLib.Movement.Unstuck/StallVerdict.cs @@ -1,106 +1,3 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; - namespace LLib.Movement.Unstuck; -public readonly record struct StallVerdict(long WindowMs, float MovedDistance, DriveMode Mode) -{ - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200C_206C_206B_202E_202E_206B_200E_202D_200D_202A_200F_206D_206C_206F_206B_200E_206C_206E_206E_202C_200B_206D_202C_202A_202B_202C_206E_200D_206C_200D_200C_200C_202A_206A_206F_202C_200D_206D_206D_202E(); - _206F_206B_200E_202C_200D_206B_200E_206E_206A_200D_200B_206B_202E_206F_202B_202E_202A_206A_206C_200C_202E_202B_202E_206D_200D_206E_202B_200B_206E_200D_200D_200F_206F_200B_206C_200D_206A_200C_206D_206A_202E(stringBuilder, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1822422138)); - _206F_206B_200E_202C_200D_206B_200E_206E_206A_200D_200B_206B_202E_206F_202B_202E_202A_206A_206C_200C_202E_202B_202E_206D_200D_206E_202B_200B_206E_200D_200D_200F_206F_200B_206C_200D_206A_200C_206D_206A_202E(stringBuilder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1581517409)); - int num = ((!PrintMembers(stringBuilder)) ? (-1803587058) : (-1803587059)); - while (true) - { - int num2 = num; - int num3 = -1803587060; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - _200E_202E_200F_202A_200D_206A_206C_206E_200D_200C_202C_206F_200C_200F_202A_206E_200D_202A_202A_206F_202A_206B_202A_206F_206C_202C_200C_202E_200B_202B_200F_202E_202A_206D_202D_200D_202B_200D_200F_206A_202E(stringBuilder, '}'); - return _202E_202D_202D_202B_200B_200C_206B_206C_200F_200E_206E_206C_200F_200D_206C_206A_202B_206A_202A_206D_202E_206C_202E_202B_200C_206C_206A_206E_206F_206E_206B_200C_206B_200E_206F_202B_206E_202D_202C_200D_202E((object)stringBuilder); - case 1: - _200E_202E_200F_202A_200D_206A_206C_206E_200D_200C_202C_206F_200C_200F_202A_206E_200D_202A_202A_206F_202A_206B_202A_206F_206C_202C_200C_202E_200B_202B_200F_202E_202A_206D_202D_200D_202B_200D_200F_206A_202E(stringBuilder, ' '); - num = -1803587058; - break; - case 0: - num = -1803587059; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206F_206B_200E_202C_200D_206B_200E_206E_206A_200D_200B_206B_202E_206F_202B_202E_202A_206A_206C_200C_202E_202B_202E_206D_200D_206E_202B_200B_206E_200D_200D_200F_206F_200B_206C_200D_206A_200C_206D_206A_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(1679493069)); - _206F_206B_200E_202C_200D_206B_200E_206E_206A_200D_200B_206B_202E_206F_202B_202E_202A_206A_206C_200C_202E_202B_202E_206D_200D_206E_202B_200B_206E_200D_200D_200F_206F_200B_206C_200D_206A_200C_206D_206A_202E(builder, WindowMs.ToString()); - _206F_206B_200E_202C_200D_206B_200E_206E_206A_200D_200B_206B_202E_206F_202B_202E_202A_206A_206C_200C_202E_202B_202E_206D_200D_206E_202B_200B_206E_200D_200D_200F_206F_200B_206C_200D_206A_200C_206D_206A_202E(builder, 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(-980000238)); - _206F_206B_200E_202C_200D_206B_200E_206E_206A_200D_200B_206B_202E_206F_202B_202E_202A_206A_206C_200C_202E_202B_202E_206D_200D_206E_202B_200B_206E_200D_200D_200F_206F_200B_206C_200D_206A_200C_206D_206A_202E(builder, MovedDistance.ToString()); - _206F_206B_200E_202C_200D_206B_200E_206E_206A_200D_200B_206B_202E_206F_202B_202E_202A_206A_206C_200C_202E_202B_202E_206D_200D_206E_202B_200B_206E_200D_200D_200F_206F_200B_206C_200D_206A_200C_206D_206A_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(-830019758)); - _206F_206B_200E_202C_200D_206B_200E_206E_206A_200D_200B_206B_202E_206F_202B_202E_202A_206A_206C_200C_202E_202B_202E_206D_200D_206E_202B_200B_206E_200D_200D_200F_206F_200B_206C_200D_206A_200C_206D_206A_202E(builder, Mode.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(StallVerdict other) - { - int num = ((!EqualityComparer.Default.Equals(WindowMs, other.WindowMs)) ? 449006355 : 449006353); - while (true) - { - int num2 = num; - int num3 = 449006355; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = 449006353; - break; - case 1: - return EqualityComparer.Default.Equals(Mode, other.Mode); - case 0: - return false; - case 2: - num = ((!EqualityComparer.Default.Equals(MovedDistance, other.MovedDistance)) ? 449006355 : 449006354); - break; - } - } - } - - bool IEquatable.Equals(StallVerdict other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _200C_206C_206B_202E_202E_206B_200E_202D_200D_202A_200F_206D_206C_206F_206B_200E_206C_206E_206E_202C_200B_206D_202C_202A_202B_202C_206E_200D_206C_200D_200C_200C_202A_206A_206F_202C_200D_206D_206D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206F_206B_200E_202C_200D_206B_200E_206E_206A_200D_200B_206B_202E_206F_202B_202E_202A_206A_206C_200C_202E_202B_202E_206D_200D_206E_202B_200B_206E_200D_200D_200F_206F_200B_206C_200D_206A_200C_206D_206A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200E_202E_200F_202A_200D_206A_206C_206E_200D_200C_202C_206F_200C_200F_202A_206E_200D_202A_202A_206F_202A_206B_202A_206F_206C_202C_200C_202E_200B_202B_200F_202E_202A_206D_202D_200D_202B_200D_200F_206A_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202E_202D_202D_202B_200B_200C_206B_206C_200F_200E_206E_206C_200F_200D_206C_206A_202B_206A_202A_206D_202E_206C_202E_202B_200C_206C_206A_206E_206F_206E_206B_200C_206B_200E_206F_202B_206E_202D_202C_200D_202E(object P_0) - { - return P_0.ToString(); - } -} +public readonly record struct StallVerdict(long WindowMs, float MovedDistance, DriveMode Mode); diff --git a/LLib/LLib.Movement/MovementOverrideHook.cs b/LLib/LLib.Movement/MovementOverrideHook.cs index aa99718..4355dda 100644 --- a/LLib/LLib.Movement/MovementOverrideHook.cs +++ b/LLib/LLib.Movement/MovementOverrideHook.cs @@ -1,9 +1,7 @@ using System; using System.Numerics; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Game.ClientState.Statuses; using Dalamud.Game.Config; using Dalamud.Hooking; @@ -38,9 +36,9 @@ public sealed class MovementOverrideHook : IDisposable private const long UserInputFreshnessMs = 250L; - private const float MisdirectionThresholdRad = MathF.PI / 4f; + private const float MisdirectionThresholdRad = (float)Math.PI / 4f; - private static readonly uint[] MisdirectionStatusIds; + private static readonly uint[] MisdirectionStatusIds = new uint[4] { 1422u, 2936u, 3694u, 3909u }; private readonly ILogger _logger; @@ -94,7 +92,7 @@ public sealed class MovementOverrideHook : IDisposable public bool IsActive { get; private set; } - public bool UserInputDetected => _202C_200F_206E_202D_202A_202D_202E_206A_202D_202B_206E_200F_200D_200E_202A_202A_200E_206D_206D_202B_200C_206E_200E_202B_202A_200E_202B_200E_202E_206C_202C_206F_202D_202C_200B_202C_206B_202B_200D_206F_202E() - _lastUserInputAtMs < 250; + public bool UserInputDetected => Environment.TickCount64 - _lastUserInputAtMs < 250; public float Precision { get; set; } = 0.1f; @@ -106,50 +104,14 @@ public sealed class MovementOverrideHook : IDisposable } set { - System.Numerics.Vector3? desiredDirection = _desiredDirection; - System.Numerics.Vector3? vector = value; - int num = ((desiredDirection.HasValue == vector.HasValue) ? (-1630909431) : (-1630909425)); - while (true) + if (!(_desiredDirection == value)) { - int num2 = num; - int num3 = -1630909430; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + _desiredDirection = value; + if (value.HasValue) { - case 8: - num = -1630909425; - break; - case 2: - if (desiredDirection.GetValueOrDefault() == vector.GetValueOrDefault()) - { - goto case 6; - } - goto case 5; - case 6: - num = -1630909429; - break; - case 5: - num = -1630909426; - break; - case 3: - num = (desiredDirection.HasValue ? (-1630909432) : (-1630909428)); - break; - case 4: - _desiredDirection = value; - num = ((!value.HasValue) ? (-1630909427) : (-1630909430)); - break; - case 0: _desiredPosition = null; - num = -1630909427; - break; - case 7: - ResetStallTracking(); - return; - case 1: - return; } + ResetStallTracking(); } } } @@ -162,52 +124,14 @@ public sealed class MovementOverrideHook : IDisposable } set { - System.Numerics.Vector3? desiredPosition = _desiredPosition; - System.Numerics.Vector3? vector = value; - int num = ((desiredPosition.HasValue == vector.HasValue) ? 1571063872 : 1571063873); - while (true) + if (!(_desiredPosition == value)) { - int num2 = num; - int num3 = 1571063878; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + _desiredPosition = value; + if (value.HasValue) { - default: - continue; - case 3: - num = 1571063873; - continue; - case 5: - _desiredPosition = value; - num = ((!value.HasValue) ? 1571063878 : 1571063879); - continue; - case 6: - num = (desiredPosition.HasValue ? 1571063874 : 1571063876); - continue; - case 8: - return; - case 0: - ResetStallTracking(); - return; - case 1: _desiredDirection = null; - num = 1571063878; - continue; - case 4: - if (!(desiredPosition.GetValueOrDefault() == vector.GetValueOrDefault())) - { - break; - } - goto case 2; - case 2: - num = 1571063886; - continue; - case 7: - break; } - num = 1571063875; + ResetStallTracking(); } } } @@ -220,43 +144,10 @@ public sealed class MovementOverrideHook : IDisposable } set { - System.Numerics.Vector3? desiredFlyPosition = _desiredFlyPosition; - System.Numerics.Vector3? vector = value; - int num = ((desiredFlyPosition.HasValue == vector.HasValue) ? 175204761 : 175204766); - while (true) + if (!(_desiredFlyPosition == value)) { - int num2 = num; - int num3 = 175204762; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return; - case 6: - if (desiredFlyPosition.GetValueOrDefault() == vector.GetValueOrDefault()) - { - goto case 1; - } - goto case 4; - case 1: - num = 175204762; - break; - case 4: - num = 175204760; - break; - case 5: - num = 175204766; - break; - case 3: - num = (desiredFlyPosition.HasValue ? 175204764 : 175204763); - break; - case 2: - _desiredFlyPosition = value; - ResetFlyStallTracking(); - return; - } + _desiredFlyPosition = value; + ResetFlyStallTracking(); } } } @@ -266,679 +157,315 @@ public sealed class MovementOverrideHook : IDisposable _logger = logger; _objectTable = objectTable; _gameConfig = gameConfig; - _202B_206B_206B_202B_202A_206A_200E_200F_206C_206E_206F_200C_200F_202C_206B_206B_202B_206A_202C_206A_206E_206E_206B_206E_206D_200D_200D_206C_206B_202E_206F_206A_200C_202A_200E_206E_200E_202B_206A_202C_202E(_gameConfig, (EventHandler)OnGameConfigChanged); + _gameConfig.UiControlChanged += OnGameConfigChanged; UpdateLegacyMode(); TryInstallHook(sigScanner, interop, enabled); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void TryInstallHook(ISigScanner sigScanner, IGameInteropProvider interop, bool enabled) { - int num = (enabled ? (-1900473583) : (-1900473584)); - while (true) + if (!enabled) { - int num2 = num; - int num3 = -1900473583; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _logger.LogInformation("MovementOverrideHook is disabled - skipping hook install"); + IsAvailable = false; + return; + } + try + { + nint num = sigScanner.ScanText("E8 ?? ?? ?? ?? 84 C0 75 10 38 43 3C"); + _isInputEnabled1 = Marshal.GetDelegateForFunctionPointer(num); + nint num2 = sigScanner.ScanText("E8 ?? ?? ?? ?? 84 C0 75 03 88 47 3F"); + _isInputEnabled2 = Marshal.GetDelegateForFunctionPointer(num2); + _rmiWalkHook = interop.HookFromSignature("E8 ?? ?? ?? ?? 80 7B 3E 00 48 8D 3D", RMIWalkDetour); + _rmiWalkHook.Enable(); + _rmiFlyHook = interop.HookFromSignature("E8 ?? ?? ?? ?? 0F B6 0D ?? ?? ?? ?? B8", RMIFlyDetour); + _rmiFlyHook.Enable(); + IsAvailable = true; + _logger.LogInformation("MovementOverrideHook installed: RMIWalk=0x{Walk:X}, RMIFly=0x{Fly:X}, IsEnabled1=0x{E1:X}, IsEnabled2=0x{E2:X}", _rmiWalkHook.Address, _rmiFlyHook.Address, num, num2); + } + catch (Exception ex) + { + if (IsTrampolineExhaustion(ex)) { - case 2: - goto IL_004a; - case 1: - _200C_200F_202B_200E_202B_200C_206E_200D_202A_202D_206A_202D_200D_200F_206C_200E_202C_202C_206D_206D_206D_200E_202E_200C_200C_206B_200D_200C_206D_206E_200D_202B_206D_206D_202A_202B_202A_206E_200C_200D_202E((ILogger)_logger, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1885951886), Array.Empty()); - IsAvailable = false; - return; - case 0: - try - { - nint num5 = _202E_206A_202B_200D_202E_206C_200D_206D_200C_200B_202C_206B_202B_200D_206C_206A_206E_202A_202D_200E_200B_200F_200E_206C_200E_200C_200D_206E_202E_202D_202B_200F_206E_200D_202E_202B_202E_206B_202C_200F_202E(sigScanner, 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(4336795)); - _isInputEnabled1 = Marshal.GetDelegateForFunctionPointer(num5); - nint num6 = _202E_206A_202B_200D_202E_206C_200D_206D_200C_200B_202C_206B_202B_200D_206C_206A_206E_202A_202D_200E_200B_200F_200E_206C_200E_200C_200D_206E_202E_202D_202B_200F_206E_200D_202E_202B_202E_206B_202C_200F_202E(sigScanner, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-343401937)); - _isInputEnabled2 = Marshal.GetDelegateForFunctionPointer(num6); - _rmiWalkHook = interop.HookFromSignature(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(211326417), RMIWalkDetour); - _rmiWalkHook.Enable(); - _rmiFlyHook = interop.HookFromSignature(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(509698149), RMIFlyDetour); - _rmiFlyHook.Enable(); - IsAvailable = true; - _200C_200F_202B_200E_202B_200C_206E_200D_202A_202D_206A_202D_200D_200F_206C_200E_202C_202C_206D_206D_206D_200E_202E_200C_200C_206B_200D_200C_206D_206E_200D_202B_206D_206D_202A_202B_202A_206E_200C_200D_202E((ILogger)_logger, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(113861434), new object[4] { _rmiWalkHook.Address, _rmiFlyHook.Address, num5, num6 }); - } - catch (Exception ex) - { - num = ((!IsTrampolineExhaustion(ex)) ? (-1568159259) : (-1568159263)); - while (true) - { - int num7 = num; - num3 = -1568159264; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 2: - num = -1568159263; - continue; - case 0: - { - _rmiWalkHook = null; - Hook? rmiFlyHook = _rmiFlyHook; - if (rmiFlyHook == null) - { - break; - } - rmiFlyHook.Dispose(); - num = -1568159261; - continue; - } - case 4: - { - IsAvailable = false; - _isInputEnabled1 = null; - _isInputEnabled2 = null; - Hook? rmiWalkHook = _rmiWalkHook; - if (rmiWalkHook == null) - { - goto case 0; - } - rmiWalkHook.Dispose(); - num = -1568159264; - continue; - } - case 1: - _206C_206C_202A_200B_206C_200C_200E_202B_200C_202B_202D_200B_200D_200D_202A_200B_206D_202E_200B_206B_206D_200D_202D_200B_206C_202C_206A_202C_206E_202D_200B_206C_206F_206F_202B_200E_206F_202A_200C_206A_202E((ILogger)_logger, ex, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-763323413), Array.Empty()); - num = -1568159260; - continue; - case 5: - _206C_206C_202A_200B_206C_200C_200E_202B_200C_202B_202D_200B_200D_200D_202A_200B_206D_202E_200B_206B_206D_200D_202D_200B_206C_202C_206A_202C_206E_202D_200B_206C_206F_206F_202B_200E_206F_202A_200C_206A_202E((ILogger)_logger, ex, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1136207760), Array.Empty()); - num = -1568159260; - continue; - case 3: - break; - } - break; - } - _rmiFlyHook = null; - return; - } - try - { - nint num8 = (nint)(_forcedMovementDirection = (float*)_206F_202A_206B_202A_200C_202D_206F_202E_206C_206D_202A_206B_200C_200E_202D_200D_202C_200C_206A_206D_206A_206A_200C_202C_202B_200E_206E_202B_200B_206A_200D_200D_206C_206A_206C_200B_200C_206E_202D_206B_202E(sigScanner, 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(-334079399), 0)); - _mcIsInputActiveHook = interop.HookFromSignature(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1492373940), MCIsInputActiveDetour); - _mcIsInputActiveHook.Enable(); - _200C_200F_202B_200E_202B_200C_206E_200D_202A_202D_206A_202D_200D_200F_206C_200E_202C_202C_206D_206D_206D_200E_202E_200C_200C_206B_200D_200C_206D_206E_200D_202B_206D_206D_202A_202B_202A_206E_200C_200D_202E((ILogger)_logger, 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(-1868632107), new object[2] { _mcIsInputActiveHook.Address, num8 }); - return; - } - catch (Exception ex2) - { - _206C_206C_202A_200B_206C_200C_200E_202B_200C_202B_202D_200B_200D_200D_202A_200B_206D_202E_200B_206B_206D_200D_202D_200B_206C_202C_206A_202C_206E_202D_200B_206C_206F_206F_202B_200E_206F_202A_200C_206A_202E((ILogger)_logger, ex2, 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(164606071), Array.Empty()); - _forcedMovementDirection = null; - _mcIsInputActiveHook?.Dispose(); - _mcIsInputActiveHook = null; - return; - } + _logger.LogWarning(ex, "Failed to install MovementOverrideHook: the hook backend found the function but could not place a trampoline near it. That space fills up over repeated plugin reloads in one game session and is never returned - restart the game client to clear it. Fast movement override is unavailable until then - callers will fall back to navmesh."); } - continue; - IL_004a: - num = -1900473584; + else + { + _logger.LogWarning(ex, "Failed to install MovementOverrideHook (signature scan or hook creation failed). Fast movement override is unavailable - callers will fall back to navmesh. This usually means the game was patched; update the plugin when a new version is available."); + } + IsAvailable = false; + _isInputEnabled1 = null; + _isInputEnabled2 = null; + _rmiWalkHook?.Dispose(); + _rmiWalkHook = null; + _rmiFlyHook?.Dispose(); + _rmiFlyHook = null; + return; + } + try + { + nint num3 = (nint)(_forcedMovementDirection = (float*)sigScanner.GetStaticAddressFromSig("F3 0F 11 0D ?? ?? ?? ?? 48 85 DB")); + _mcIsInputActiveHook = interop.HookFromSignature("E8 ?? ?? ?? ?? 84 C0 74 09 84 DB 74 1A", MCIsInputActiveDetour); + _mcIsInputActiveHook.Enable(); + _logger.LogInformation("MovementOverrideHook misdirection primitives installed: MCIsInputActive=0x{Mc:X}, ForcedMovementDirection=0x{Fmd:X}", _mcIsInputActiveHook.Address, num3); + } + catch (Exception exception) + { + _logger.LogWarning(exception, "Failed to install MovementOverrideHook misdirection primitives (MCIsInputActive / ForcedMovementDirection). Core movement override is still active; the detour will bail during misdirection mechanics rather than drive through the input rotation."); + _forcedMovementDirection = null; + _mcIsInputActiveHook?.Dispose(); + _mcIsInputActiveHook = null; } } - [MethodImpl(MethodImplOptions.NoInlining)] private static bool IsTrampolineExhaustion(Exception ex) { - int num = (_206C_202D_206F_202C_206C_200D_200E_202B_206B_206C_200E_206F_206F_206B_206B_200B_202C_206F_202E_200C_206A_200C_200E_202D_200D_206B_206C_206E_200D_206C_206B_206B_200C_200F_200D_202C_206B_200E_206C_200D_202E(_200B_200E_202A_200F_206F_200D_206F_206C_202C_206E_206E_206C_202C_202C_200B_202B_206F_200B_202D_206C_200D_206F_206A_206A_202B_202A_200F_206E_200D_200D_202B_202A_202E_202E_206B_200D_200E_202D_206E_202B_202E(ex), global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(493339631), StringComparison.Ordinal) ? (-550622530) : (-550622529)); - while (true) + if (!ex.Message.Contains("MemoryBuffer", StringComparison.Ordinal)) { - int num2 = num; - int num3 = -550622530; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0058; - case 0: - return true; - case 1: - return _206C_202D_206F_202C_206C_200D_200E_202B_206B_206C_200E_206F_206F_206B_206B_200B_202C_206F_202E_200C_206A_200C_200E_202D_200D_206B_206C_206E_200D_206C_206B_206B_200C_200F_200D_202C_206B_200E_206C_200D_202E(_200B_200E_202A_200F_206F_200D_206F_206C_202C_206E_206E_206C_202C_202C_200B_202B_206F_200B_202D_206C_200D_206F_206A_206A_202B_202A_200F_206E_200D_200D_202B_202A_202E_202E_206B_200D_200E_202D_206E_202B_202E(ex), global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(2133354563), StringComparison.OrdinalIgnoreCase); - } - continue; - IL_0058: - num = -550622529; + return ex.Message.Contains("memory location", StringComparison.OrdinalIgnoreCase); } + return true; } private unsafe byte MCIsInputActiveDetour(void* self, byte inputSourceFlags) { - int num = ((!_forcedControlState.HasValue) ? 1868292107 : 1868292104); - while (true) + if (_forcedControlState.HasValue) { - int num2 = num; - int num3 = 1868292106; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004d; - case 1: - return _mcIsInputActiveHook.Original(self, inputSourceFlags); - case 2: - return _forcedControlState.Value ? ((byte)1) : ((byte)0); - } - continue; - IL_004d: - num = 1868292104; + return _forcedControlState.Value ? ((byte)1) : ((byte)0); } + return _mcIsInputActiveHook.Original(self, inputSourceFlags); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void RMIFlyDetour(void* self, PlayerMoveControllerFlyInput* result) { _rmiFlyHook.Original(self, result); - int num = ((result->Forward != 0f) ? (-511834047) : (-511834036)); - float num6 = default(float); - float num12 = default(float); - IPlayerCharacter playerCharacter = default(IPlayerCharacter); - bool flag = default(bool); - float num5 = default(float); - float? num10 = default(float?); - long num8 = default(long); - System.Numerics.Vector3 vector2 = default(System.Numerics.Vector3); - System.Numerics.Vector3 valueOrDefault = default(System.Numerics.Vector3); - System.Numerics.Vector3? desiredFlyPosition = default(System.Numerics.Vector3?); - while (true) + bool flag = result->Forward != 0f || result->Left != 0f || result->Up != 0f; + if (flag) { - int num2 = num; - int num3 = -511834024; - int num4 = num2; - int num11; - switch ((num4 | num3) - (num4 & num3)) + _lastUserInputAtMs = Environment.TickCount64; + } + if (!IsAvailable || flag) + { + return; + } + Func? isExternalPathfindingActive = IsExternalPathfindingActive; + if (isExternalPathfindingActive != null && isExternalPathfindingActive()) + { + return; + } + IPlayerCharacter localPlayer = _objectTable.LocalPlayer; + if (localPlayer == null) + { + return; + } + System.Numerics.Vector3? desiredFlyPosition = _desiredFlyPosition; + if (!desiredFlyPosition.HasValue) + { + return; + } + System.Numerics.Vector3 valueOrDefault = desiredFlyPosition.GetValueOrDefault(); + System.Numerics.Vector3 position = localPlayer.Position; + System.Numerics.Vector3 vector = valueOrDefault - position; + float num = vector.X * vector.X + vector.Y * vector.Y + vector.Z * vector.Z; + if (num < Precision * Precision) + { + _desiredFlyPosition = null; + ResetFlyStallTracking(); + return; + } + float num3; + if (_legacyMode) + { + float? num2 = TryGetCameraAzimuth(); + if (!num2.HasValue) { - case 15: - { - Func? isExternalPathfindingActive = IsExternalPathfindingActive; - num = ((isExternalPathfindingActive == null || !isExternalPathfindingActive()) ? (-511834032) : (-511834039)); - break; - } - case 26: return; - case 29: + } + num3 = num2.Value + (float)Math.PI; + } + else + { + num3 = localPlayer.Rotation; + } + long tickCount = Environment.TickCount64; + if (tickCount >= _flyStallCooldownUntilMs) + { + float num4 = MathF.Sqrt(num); + if (_flyStallImprovementMs == 0L || tickCount - _flyLastDriveMs > 250 || num4 < _flyStallBestDist - 0.3f) + { + _flyStallBestDist = num4; + _flyStallImprovementMs = tickCount; + } + else if (tickCount - _flyStallImprovementMs >= 500) + { + _logger.LogDebug("MovementOverride fly watchdog tripped: no progress toward target ({Dist:F2}y away) within {Elapsed}ms, clearing", num4, tickCount - _flyStallImprovementMs); _desiredFlyPosition = null; ResetFlyStallTracking(); - return; - case 16: - return; - case 0: - num6 = _202B_200B_200F_200C_202D_206C_206D_202B_202A_200B_200F_206B_200C_206D_200B_202D_206E_202C_206F_206C_202D_200D_200F_202A_202A_200D_200B_206B_206A_206C_202C_206C_200E_206C_206D_200B_206C_202D_202A_206D_202E(num12); - num = ((_flyStallImprovementMs == 0L) ? (-511834041) : (-511834034)); - break; - case 8: - playerCharacter = _200B_206D_206B_202B_206D_200D_200B_200C_206D_200C_206B_206F_202B_206A_200D_202C_202A_200D_202C_200C_200E_206F_200E_202C_202B_206A_202E_200C_202E_202C_206D_202A_206E_202A_202D_202A_202A_200F_200D_200D_202E(_objectTable); - num = ((playerCharacter != null) ? (-511834018) : (-511834038)); - break; - case 14: - num = ((!flag) ? (-511834025) : (-511834040)); - break; - case 5: - num5 = num10.Value + MathF.PI; - num = -511834033; - break; - case 27: - { - long num7 = num8; - long flyStallImprovementMs = _flyStallImprovementMs; - long num9 = num7; - num = ((~(~num9 + flyStallImprovementMs) < 500) ? (-511834020) : (-511834035)); - break; - } - case 17: - return; - case 19: - num = -511834036; - break; - case 18: - return; - case 1: - { - System.Numerics.Vector3 vector = _202E_202C_206C_206F_200D_200F_206A_206F_202A_200B_206F_200D_206E_202B_200C_202A_202B_202B_200B_200E_200D_202E_206C_206B_202D_200C_200B_200B_206C_200D_200B_206F_200B_206B_202B_206A_206C_200C_202B_200E_202E((IGameObject)playerCharacter); - vector2 = valueOrDefault - vector; - num12 = vector2.X * vector2.X + vector2.Y * vector2.Y + vector2.Z * vector2.Z; - num = ((!(num12 < Precision * Precision)) ? (-511834022) : (-511834043)); - break; - } - case 12: - valueOrDefault = desiredFlyPosition.GetValueOrDefault(); - num = -511834023; - break; - case 20: - num = ((result->Left != 0f) ? (-511834047) : (-511834048)); - break; - case 23: - num8 = _202C_200F_206E_202D_202A_202D_202E_206A_202D_202B_206E_200F_200D_200E_202A_202A_200E_206D_206D_202B_200C_206E_200E_202B_202A_200E_202B_200E_202E_206C_202C_206F_202D_202C_200B_202C_206B_202B_200D_206F_202E(); - num = ((num8 >= _flyStallCooldownUntilMs) ? (-511834024) : (-511834046)); - break; - case 13: - _lastUserInputAtMs = _202C_200F_206E_202D_202A_202D_202E_206A_202D_202B_206E_200F_200D_200E_202A_202A_200E_206D_206D_202B_200C_206E_200E_202B_202A_200E_202B_200E_202E_206C_202C_206F_202D_202C_200B_202C_206B_202B_200D_206F_202E(); - num = -511834044; - break; - case 9: - return; - case 22: - { - long num19 = num8; - long flyStallImprovementMs = _flyLastDriveMs; - long num9 = num19; - num = ((~(~num9 + flyStallImprovementMs) > 250) ? (-511834041) : (-511834030)); - break; - } - case 4: - { - _flyLastDriveMs = num8; - float num17 = _200E_206F_200F_200B_206F_200B_200B_200B_200B_206C_206E_206A_202D_206C_202D_200C_202B_202B_200B_200F_206A_202B_200D_206B_206A_202E_206E_202A_202A_202C_206A_202C_206D_206A_202A_202A_206F_202D_206E_206F_202E(vector2.X, vector2.Z) - num5; - result->Forward = _206B_202D_206C_200D_206A_206A_202E_206B_200D_206C_202E_206A_202A_206C_200B_206C_202C_200B_206D_200B_206C_202B_202D_200C_200F_200D_202D_202C_206C_202C_206E_202A_200D_206B_206F_200F_202B_200D_202A_206D_202E(num17); - result->Left = _206D_202C_200F_202D_200D_200C_206D_202D_206E_206F_206D_206F_200E_200D_200D_200B_200C_202C_202D_200C_202D_200E_200E_200B_206F_200E_202C_202E_206D_200E_200C_200D_206A_202C_200D_206B_206E_200D_200F_206F_202E(num17); - float num18 = _202B_200B_200F_200C_202D_206C_206D_202B_202A_200B_200F_206B_200C_206D_200B_202D_206E_202C_206F_206C_202D_200D_200F_202A_202A_200D_200B_206B_206A_206C_202C_206C_200E_206C_206D_200B_206C_202D_202A_206D_202E(vector2.X * vector2.X + vector2.Z * vector2.Z); - result->Up = _200E_206F_200F_200B_206F_200B_200B_200B_200B_206C_206E_206A_202D_206C_202D_200C_202B_202B_200B_200F_206A_202B_200D_206B_206A_202E_206E_202A_202A_202C_206A_202C_206D_206A_202A_202A_206F_202D_206E_206F_202E(vector2.Y, num18); + _flyStallCooldownUntilMs = tickCount + 500; return; } - case 21: - { - ILogger logger = _logger; - string text = global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-934855556); - object[] obj = new object[2] { num6, null }; - long num13 = num8; - long flyStallImprovementMs = _flyStallImprovementMs; - long num9 = num13; - obj[1] = ~(~num9 + flyStallImprovementMs); - _206E_200C_206E_206B_202C_202D_200E_200F_206D_202E_202A_202A_206B_202A_200E_200D_200E_202E_202D_200C_206A_200E_206A_200D_200E_202A_200F_200F_206A_206A_206E_206B_206C_202B_202B_206D_206E_200F_206B_206C_202E((ILogger)logger, text, obj); - _desiredFlyPosition = null; - ResetFlyStallTracking(); - long num14 = num8; - flyStallImprovementMs = 500L; - num9 = num14; - long num15 = num9 ^ flyStallImprovementMs; - long num16 = num9 & flyStallImprovementMs; - _flyStallCooldownUntilMs = num15 + (num16 + num16); - return; - } - case 2: - num = ((!_legacyMode) ? (-511834017) : (-511834042)); - break; - case 3: - return; - case 24: - num11 = ((result->Up != 0f) ? 1 : 0); - goto IL_0447; - case 25: - num11 = 1; - goto IL_0447; - case 6: - desiredFlyPosition = _desiredFlyPosition; - num = ((!desiredFlyPosition.HasValue) ? (-511834029) : (-511834028)); - break; - case 28: - num = (IsAvailable ? (-511834026) : (-511834021)); - break; - case 31: - _flyStallBestDist = num6; - _flyStallImprovementMs = num8; - num = -511834020; - break; - case 30: - num10 = TryGetCameraAzimuth(); - num = (num10.HasValue ? (-511834019) : (-511834031)); - break; - case 11: - return; - case 10: - num = ((!(num6 < _flyStallBestDist - 0.3f)) ? (-511834045) : (-511834041)); - break; - case 7: - { - num5 = _206F_206B_206B_202D_200E_202B_206C_202A_202D_206A_202D_206D_206B_200B_206E_206D_200B_202B_206D_206F_200F_200E_200C_202E_206E_200B_206B_200C_206D_206E_200C_202D_206C_200D_202B_200F_200B_200F_200E_206C_202E((IGameObject)playerCharacter); - num = -511834033; - break; - } - IL_0447: - flag = (byte)num11 != 0; - num = ((!flag) ? (-511834044) : (-511834027)); - break; - } + _flyLastDriveMs = tickCount; + float x = MathF.Atan2(vector.X, vector.Z) - num3; + result->Forward = MathF.Cos(x); + result->Left = MathF.Sin(x); + float x2 = MathF.Sqrt(vector.X * vector.X + vector.Z * vector.Z); + result->Up = MathF.Atan2(vector.Y, x2); } } private static bool PlayerHasMisdirection(IPlayerCharacter player) { - StatusList statusList = _202E_206C_206D_202E_206C_206C_200D_206B_206A_206F_200B_202D_206C_200F_200C_200B_206C_206A_206A_202C_206B_202C_206A_206F_200B_200E_202E_206B_202D_202D_206F_202E_200B_206C_206A_206D_206F_202B_206B_200E_202E((IBattleChara)player); - int num = 0; - int num2 = -1842578236; - uint num8 = default(uint); - IStatus status = default(IStatus); - int num9 = default(int); - while (true) + StatusList statusList = player.StatusList; + for (int i = 0; i < statusList.Length; i++) { - int num3 = num2; - int num4 = -1842578235; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) + IStatus status = statusList[i]; + if (status == null) { - case 9: - num2 = -1842578236; - break; - case 2: - { - int num13 = num; - num4 = 1; - num5 = num13; - int num14 = num5 ^ num4; - int num15 = num5 & num4; - num = num14 + (num15 + num15); - num2 = -1842578236; - break; + continue; } - case 0: - num8 = _200F_200B_206A_200E_206A_200E_206F_206B_206B_202B_202A_206E_206C_202B_200F_200E_202B_202A_202E_200F_206D_206E_200F_200F_202B_202D_202A_206A_200B_206F_200B_200D_206D_200C_200F_206A_200E_200F_200F_202D_202E(status); - num9 = 0; - num2 = -1842578237; - break; - case 3: - num2 = ((num8 != MisdirectionStatusIds[num9]) ? (-1842578240) : (-1842578238)); - break; - case 5: + uint statusId = status.StatusId; + for (int j = 0; j < MisdirectionStatusIds.Length; j++) { - int num10 = num9; - num4 = 1; - num5 = num10; - int num11 = num5 ^ num4; - int num12 = num5 & num4; - num9 = num11 + (num12 + num12); - num2 = -1842578237; - break; - } - case 6: - num2 = ((num9 < MisdirectionStatusIds.Length) ? (-1842578234) : (-1842578233)); - break; - case 1: - num2 = ((num < _200F_202E_200C_200D_200F_202C_206F_206B_200D_200D_200D_202A_206C_202D_202A_200C_200D_206C_200D_202D_202C_206F_206C_200C_206B_200E_206B_202B_200B_200B_206C_202D_202B_202B_206D_206F_206F_206C_206A_202B_202E(statusList)) ? (-1842578227) : (-1842578239)); - break; - case 7: - return true; - case 4: - return false; - case 8: - status = _200C_202B_200D_206B_202C_202E_200B_200F_200F_202B_200C_200B_206A_202D_200E_202E_200F_206A_202E_200F_206C_202D_206A_206B_206B_206A_202C_200B_202C_202B_206E_202D_202E_200E_200D_200B_200C_200C_200B_202D_202E(statusList, num); - num2 = ((status == null) ? (-1842578233) : (-1842578235)); - break; + if (statusId == MisdirectionStatusIds[j]) + { + return true; + } } } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void RMIWalkDetour(void* self, float* sumLeft, float* sumForward, float* sumTurnLeft, byte* haveBackwardOrStrafe, byte* a6, byte bAdditiveUnk) { - int num = ((bAdditiveUnk != 0) ? (-1181401386) : (-1181401372)); - float num11 = default(float); - System.Numerics.Vector3 vector = default(System.Numerics.Vector3); - long num14 = default(long); - float? num12 = default(float?); - float referenceRotation = default(float); - float num9 = default(float); - System.Numerics.Vector3? vector2 = default(System.Numerics.Vector3?); - float item = default(float); - float item2 = default(float); - IPlayerCharacter playerCharacter = default(IPlayerCharacter); - bool flag = default(bool); - while (true) + if (bAdditiveUnk == 0) { - int num2 = num; - int num3 = -1181401394; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num21; - switch (num5 - (num6 + num6)) + _forcedControlState = null; + } + _rmiWalkHook.Original(self, sumLeft, sumForward, sumTurnLeft, haveBackwardOrStrafe, a6, bAdditiveUnk); + if (bAdditiveUnk != 0) + { + return; + } + bool flag = *sumLeft != 0f || *sumForward != 0f; + if (flag) + { + _lastUserInputAtMs = Environment.TickCount64; + } + if (!IsAvailable) + { + IsActive = false; + return; + } + if (flag) + { + IsActive = false; + return; + } + Func? isExternalPathfindingActive = IsExternalPathfindingActive; + if (isExternalPathfindingActive != null && isExternalPathfindingActive()) + { + IsActive = false; + return; + } + if (_isInputEnabled1 == null || _isInputEnabled2 == null) + { + IsActive = false; + return; + } + if (!_isInputEnabled1(self) || !_isInputEnabled2(self)) + { + IsActive = false; + return; + } + IPlayerCharacter localPlayer = _objectTable.LocalPlayer; + if (localPlayer == null) + { + IsActive = false; + return; + } + System.Numerics.Vector3 position = localPlayer.Position; + System.Numerics.Vector3? vector = ComputeDesiredWorldDirection(position); + if (!vector.HasValue) + { + IsActive = false; + return; + } + long tickCount = Environment.TickCount64; + if (tickCount < _stallCooldownUntilMs) + { + IsActive = false; + return; + } + float referenceRotation; + if (_legacyMode) + { + float? num = TryGetCameraAzimuth(); + if (!num.HasValue) { - case 8: - num = ((num11 < -MathF.PI) ? (-1181401363) : (-1181401398)); - break; - case 35: - num11 += MathF.PI * 2f; - num = -1181401402; - break; - case 48: IsActive = false; return; - case 33: - _stallCheckPosition = vector; - _stallCheckStartMs = num14; - num = -1181401375; - break; - case 15: - _stallCheckPosition = vector; - _stallCheckStartMs = num14; - num = -1181401375; - break; - case 46: - num = ((!_legacyMode) ? (-1181401370) : (-1181401394)); - break; - case 21: - num = -1181401402; - break; - case 10: - num21 = 1; - goto IL_01b5; - case 34: - num = ((!_isInputEnabled1(self)) ? (-1181401403) : (-1181401378)); - break; - case 0: - num12 = TryGetCameraAzimuth(); - num = (num12.HasValue ? (-1181401380) : (-1181401397)); - break; - case 18: - referenceRotation = num12.Value + MathF.PI; - num = -1181401395; - break; - case 36: - { - float num7 = vector.X - _stallCheckPosition.X; - float num8 = vector.Z - _stallCheckPosition.Z; - num9 = num7 * num7 + num8 * num8; - num = ((!(num9 < 0.09f)) ? (-1181401407) : (-1181401408)); - break; } - case 50: - IsActive = false; - return; - case 4: + referenceRotation = num.Value + (float)Math.PI; + } + else + { + referenceRotation = localPlayer.Rotation; + } + var (num2, num3) = WorldToPlayerRelative(vector.Value, referenceRotation); + if (PlayerHasMisdirection(localPlayer)) + { + if (_forcedMovementDirection == null || _mcIsInputActiveHook == null) { - bool flag2 = _206E_206E_200B_200C_202D_206C_200D_200E_200D_200B_206C_206E_200F_206E_206A_202C_200C_202D_206A_200D_202C_206E_206D_200F_202A_206A_200B_200C_200D_202A_202D_202B_206A_202D_206D_202C_206F_200F_206D_202A_202E(num11) <= MathF.PI / 4f; - _forcedControlState = flag2; - num = (flag2 ? (-1181401396) : (-1181401374)); - break; + IsActive = false; + return; } - case 32: - num21 = ((*sumForward != 0f) ? 1 : 0); - goto IL_01b5; - case 42: - _forcedControlState = null; - num = -1181401386; - break; - case 6: - num14 = _202C_200F_206E_202D_202A_202D_202E_206A_202D_202B_206E_200F_200D_200E_202A_202A_200E_206D_206D_202B_200C_206E_200E_202B_202A_200E_202B_200E_202E_206C_202C_206F_202D_202C_200B_202C_206B_202B_200D_206F_202E(); - num = ((num14 >= _stallCooldownUntilMs) ? (-1181401376) : (-1181401365)); - break; - case 25: + float num4 = MathF.Atan2(vector.Value.X, vector.Value.Z); + float forcedMovementDirection = *_forcedMovementDirection; + float num5; + for (num5 = num4 - forcedMovementDirection; num5 > (float)Math.PI; num5 -= (float)Math.PI * 2f) { - long num20 = num14; - long stallCheckStartMs = _lastDriveMs; - long num15 = num20; - num = ((~(~num15 + stallCheckStartMs) <= 250) ? (-1181401345) : (-1181401361)); - break; } - case 29: - return; - case 38: - num = ((*sumLeft != 0f) ? (-1181401404) : (-1181401362)); - break; - case 28: - IsActive = false; - return; - case 11: - IsActive = false; - return; - case 23: - _lastUserInputAtMs = _202C_200F_206E_202D_202A_202D_202E_206A_202D_202B_206E_200F_200D_200E_202A_202A_200E_206D_206D_202B_200C_206E_200E_202B_202A_200E_202B_200E_202E_206C_202C_206F_202D_202C_200B_202C_206B_202B_200D_206F_202E(); - num = -1181401377; - break; - case 3: + for (; num5 < -(float)Math.PI; num5 += (float)Math.PI * 2f) { - (float left, float forward) tuple = WorldToPlayerRelative(vector2.Value, referenceRotation); - item = tuple.left; - item2 = tuple.forward; - num = ((!PlayerHasMisdirection(playerCharacter)) ? (-1181401396) : (-1181401401)); - break; } - case 30: - IsActive = false; - return; - case 43: - num = -1181401372; - break; - case 20: - IsActive = false; - return; - case 7: + bool flag2 = MathF.Abs(num5) <= (float)Math.PI / 4f; + _forcedControlState = flag2; + if (!flag2) { - Func? isExternalPathfindingActive = IsExternalPathfindingActive; - num = ((isExternalPathfindingActive == null || !isExternalPathfindingActive()) ? (-1181401393) : (-1181401392)); - break; - } - case 1: - num = ((_isInputEnabled1 == null) ? (-1181401390) : (-1181401405)); - break; - case 17: - num = (IsAvailable ? (-1181401369) : (-1181401382)); - break; - case 40: - referenceRotation = _206F_206B_206B_202D_200E_202B_206C_202A_202D_206A_202D_206D_206B_200B_206E_206D_200B_202B_206D_206F_200F_200E_200C_202E_206E_200B_206B_200C_206D_206E_200C_202D_206C_200D_202B_200F_200B_200F_200E_206C_202E((IGameObject)playerCharacter); - num = -1181401395; - break; - case 22: - vector = _202E_202C_206C_206F_200D_200F_206A_206F_202A_200B_206F_200D_206E_202B_200C_202A_202B_202B_200B_200E_200D_202E_206C_206B_202D_200C_200B_200B_206C_200D_200B_206F_200B_206B_202B_206A_206C_200C_202B_200E_202E((IGameObject)playerCharacter); - vector2 = ComputeDesiredWorldDirection(vector); - num = (vector2.HasValue ? (-1181401400) : (-1181401406)); - break; - case 2: - num = ((_stallCheckStartMs == 0L) ? (-1181401361) : (-1181401385)); - break; - case 27: - num11 -= MathF.PI * 2f; - num = -1181401373; - break; - case 26: - playerCharacter = _200B_206D_206B_202B_206D_200D_200B_200C_206D_200C_206B_206F_202B_206A_200D_202C_202A_200D_202C_200C_200E_206F_200E_202C_202B_206A_202E_200C_202E_202C_206D_202A_206E_202A_202D_202A_202A_200F_200D_200D_202E(_objectTable); - num = ((playerCharacter != null) ? (-1181401384) : (-1181401348)); - break; - case 44: *sumLeft = 0f; *sumForward = 0f; IsActive = false; return; - case 24: - _rmiWalkHook.Original(self, sumLeft, sumForward, sumTurnLeft, haveBackwardOrStrafe, a6, bAdditiveUnk); - num = ((bAdditiveUnk == 0) ? (-1181401368) : (-1181401389)); - break; - case 47: - _lastDriveMs = num14; - *sumLeft = item; - *sumForward = item2; - IsActive = true; - return; - case 49: - { - long num19 = num14; - long stallCheckStartMs = _stallCheckStartMs; - long num15 = num19; - num = ((~(~num15 + stallCheckStartMs) < 500) ? (-1181401375) : (-1181401366)); - break; } - case 45: - num = ((num11 > MathF.PI) ? (-1181401387) : (-1181401381)); - break; - case 16: - num = (_isInputEnabled2(self) ? (-1181401388) : (-1181401403)); - break; - case 14: + } + if (_stallCheckStartMs == 0L || tickCount - _lastDriveMs > 250) + { + _stallCheckPosition = position; + _stallCheckStartMs = tickCount; + } + else if (tickCount - _stallCheckStartMs >= 500) + { + float num6 = position.X - _stallCheckPosition.X; + float num7 = position.Z - _stallCheckPosition.Z; + float num8 = num6 * num6 + num7 * num7; + if (num8 < 0.09f) { - ILogger logger = _logger; - string text = 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(1233622867); - object[] obj = new object[2] - { - _202B_200B_200F_200C_202D_206C_206D_202B_202A_200B_200F_206B_200C_206D_200B_202D_206E_202C_206F_206C_202D_200D_200F_202A_202A_200D_200B_206B_206A_206C_202C_206C_200E_206C_206D_200B_206C_202D_202A_206D_202E(num9), - null - }; - long num13 = num14; - long stallCheckStartMs = _stallCheckStartMs; - long num15 = num13; - obj[1] = ~(~num15 + stallCheckStartMs); - _206E_200C_206E_206B_202C_202D_200E_200F_206D_202E_202A_202A_206B_202A_200E_200D_200E_202E_202D_200C_206A_200E_206A_200D_200E_202A_200F_200F_206A_206A_206E_206B_206C_202B_202B_206D_206E_200F_206B_206C_202E((ILogger)logger, text, obj); + _logger.LogDebug("MovementOverride stall watchdog tripped: player moved {Dist:F2}y over {Elapsed}ms, clearing", MathF.Sqrt(num8), tickCount - _stallCheckStartMs); _desiredDirection = null; _desiredPosition = null; ResetStallTracking(); - long num16 = num14; - stallCheckStartMs = 500L; - num15 = num16; - long num17 = num15 ^ stallCheckStartMs; - long num18 = num15 & stallCheckStartMs; - _stallCooldownUntilMs = num17 + (num18 + num18); + _stallCooldownUntilMs = tickCount + 500; _forcedControlState = null; IsActive = false; return; } - case 31: - IsActive = false; - return; - case 13: - num = ((_isInputEnabled2 != null) ? (-1181401364) : (-1181401390)); - break; - case 41: - num = ((!flag) ? (-1181401399) : (-1181401391)); - break; - case 39: - { - float num10 = _200E_206F_200F_200B_206F_200B_200B_200B_200B_206C_206E_206A_202D_206C_202D_200C_202B_202B_200B_200F_206A_202B_200D_206B_206A_202E_206E_202A_202A_202C_206A_202C_206D_206A_202A_202A_206F_202D_206E_206F_202E(vector2.Value.X, vector2.Value.Z); - float forcedMovementDirection = *_forcedMovementDirection; - num11 = num10 - forcedMovementDirection; - num = -1181401373; - break; - } - case 12: - IsActive = false; - return; - case 5: - IsActive = false; - return; - case 37: - IsActive = false; - return; - case 19: - num = ((_mcIsInputActiveHook != null) ? (-1181401367) : (-1181401346)); - break; - case 9: - { - num = ((_forcedMovementDirection == null) ? (-1181401346) : (-1181401379)); - break; - } - IL_01b5: - flag = (byte)num21 != 0; - num = ((!flag) ? (-1181401377) : (-1181401383)); - break; - } + _stallCheckPosition = position; + _stallCheckStartMs = tickCount; } + _lastDriveMs = tickCount; + *sumLeft = num2; + *sumForward = num3; + IsActive = true; } private void OnGameConfigChanged(object? sender, ConfigChangeEvent evt) @@ -946,85 +473,36 @@ public sealed class MovementOverrideHook : IDisposable UpdateLegacyMode(); } - [MethodImpl(MethodImplOptions.NoInlining)] private void UpdateLegacyMode() { - uint num2 = default(uint); - int num = ((!_202B_206F_202D_206E_202A_206C_206A_200B_202D_200B_206D_206C_206E_206C_202E_206A_202D_200F_202A_200B_206A_200B_202E_202D_206F_202C_206F_202E_206F_206D_206A_206A_206B_202E_202E_202E_202A_206D_202B_206A_202E(_206D_200E_206E_202E_206B_200D_206A_206E_206E_200C_202B_202A_200F_206B_202A_202E_202C_202A_206E_202E_200C_206C_202D_206F_202C_200C_200F_206B_206B_200C_200B_202D_202D_200B_202D_206C_202A_200D_200B_202E_202E(_gameConfig), 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(-1244554421), ref num2)) ? (-1166724982) : (-1166724977)); - bool flag = default(bool); - while (true) + uint value; + bool flag = _gameConfig.UiControl.TryGetUInt("MoveMode", out value) && value == 1; + if (flag != _legacyMode) { - int num3 = num; - int num4 = -1166724978; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - int num8; - switch (num6 - (num7 + num7)) - { - case 4: - num8 = 0; - goto IL_006a; - case 1: - num8 = ((num2 == 1) ? 1 : 0); - goto IL_006a; - case 0: - return; - case 2: - num = -1166724977; - break; - case 3: - { - _legacyMode = flag; - _200C_200F_202B_200E_202B_200C_206E_200D_202A_202D_206A_202D_200D_200F_206C_200E_202C_202C_206D_206D_206D_200E_202E_200C_200C_206B_200D_200C_206D_206E_200D_202B_206D_206D_202A_202B_202A_206E_200C_200D_202E((ILogger)_logger, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1714575420), new object[1] { flag ? global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(527119189) : global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-585283226) }); - num = -1166724978; - break; - } - IL_006a: - flag = (byte)num8 != 0; - num = ((flag == _legacyMode) ? (-1166724978) : (-1166724979)); - break; - } + _legacyMode = flag; + _logger.LogInformation("Legacy movement mode is now {State}", flag ? "enabled" : "disabled"); } } private unsafe static float? TryGetCameraAzimuth() { CameraManager* ptr = CameraManager.Instance(); - int num = ((ptr != null) ? 129017006 : 129017005); - FFXIVClientStructs.FFXIV.Client.Game.Camera* activeCamera = default(FFXIVClientStructs.FFXIV.Client.Game.Camera*); - FFXIVClientStructs.FFXIV.Client.Graphics.Render.Camera* renderCamera = default(FFXIVClientStructs.FFXIV.Client.Graphics.Render.Camera*); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 129017004; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - return null; - case 2: - activeCamera = ptr->GetActiveCamera(); - num = ((activeCamera != null) ? 129017007 : 129017002); - break; - case 1: - return null; - case 5: - return null; - case 4: - { - FFXIVClientStructs.FFXIV.Common.Math.Matrix4x4 viewMatrix = renderCamera->ViewMatrix; - return _200E_206F_200F_200B_206F_200B_200B_200B_200B_206C_206E_206A_202D_206C_202D_200C_202B_202B_200B_200F_206A_202B_200D_206B_206A_202E_206E_202A_202A_202C_206A_202C_206D_206A_202A_202A_206F_202D_206E_206F_202E(viewMatrix.M13, viewMatrix.M33); - } - case 0: - num = 129017005; - break; - case 3: - renderCamera = activeCamera->SceneCamera.RenderCamera; - num = ((renderCamera != null) ? 129017000 : 129017001); - break; - } + return null; } + FFXIVClientStructs.FFXIV.Client.Game.Camera* activeCamera = ptr->GetActiveCamera(); + if (activeCamera == null) + { + return null; + } + FFXIVClientStructs.FFXIV.Client.Graphics.Render.Camera* renderCamera = activeCamera->SceneCamera.RenderCamera; + if (renderCamera == null) + { + return null; + } + FFXIVClientStructs.FFXIV.Common.Math.Matrix4x4 viewMatrix = renderCamera->ViewMatrix; + return MathF.Atan2(viewMatrix.M13, viewMatrix.M33); } public void Reset() @@ -1056,299 +534,56 @@ public sealed class MovementOverrideHook : IDisposable private System.Numerics.Vector3? ComputeDesiredWorldDirection(System.Numerics.Vector3 playerPosition) { - System.Numerics.Vector3? vector = _desiredDirection; - int num = ((!vector.HasValue) ? (-84514510) : (-84514509)); - System.Numerics.Vector3 valueOrDefault = default(System.Numerics.Vector3); - float num9 = default(float); - float num7 = default(float); - float num8 = default(float); - float num6 = default(float); - while (true) + System.Numerics.Vector3? desiredDirection = _desiredDirection; + if (desiredDirection.HasValue) { - int num2 = num; - int num3 = -84514510; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + System.Numerics.Vector3 valueOrDefault = desiredDirection.GetValueOrDefault(); + float num = valueOrDefault.X * valueOrDefault.X + valueOrDefault.Z * valueOrDefault.Z; + if (num < 1E-08f) + { + return null; + } + float num2 = MathF.Sqrt(num); + return new System.Numerics.Vector3(valueOrDefault.X / num2, 0f, valueOrDefault.Z / num2); + } + desiredDirection = _desiredPosition; + if (desiredDirection.HasValue) + { + System.Numerics.Vector3 valueOrDefault2 = desiredDirection.GetValueOrDefault(); + float num3 = valueOrDefault2.X - playerPosition.X; + float num4 = valueOrDefault2.Z - playerPosition.Z; + float num5 = num3 * num3 + num4 * num4; + if (num5 < Precision * Precision) { - case 5: - num = -84514509; - break; - case 4: _desiredPosition = null; ResetStallTracking(); return null; - case 1: - valueOrDefault = vector.GetValueOrDefault(); - num9 = valueOrDefault.X * valueOrDefault.X + valueOrDefault.Z * valueOrDefault.Z; - num = ((!(num9 < 1E-08f)) ? (-84514507) : (-84514511)); - break; - case 6: - return null; - case 2: - { - System.Numerics.Vector3 valueOrDefault2 = vector.GetValueOrDefault(); - num7 = valueOrDefault2.X - playerPosition.X; - num8 = valueOrDefault2.Z - playerPosition.Z; - num6 = num7 * num7 + num8 * num8; - num = ((!(num6 < Precision * Precision)) ? (-84514502) : (-84514506)); - break; - } - case 7: - { - float num10 = _202B_200B_200F_200C_202D_206C_206D_202B_202A_200B_200F_206B_200C_206D_200B_202D_206E_202C_206F_206C_202D_200D_200F_202A_202A_200D_200B_206B_206A_206C_202C_206C_200E_206C_206D_200B_206C_202D_202A_206D_202E(num9); - return new System.Numerics.Vector3(valueOrDefault.X / num10, 0f, valueOrDefault.Z / num10); - } - case 3: - return null; - case 0: - vector = _desiredPosition; - num = ((!vector.HasValue) ? (-84514508) : (-84514512)); - break; - case 8: - { - float num5 = _202B_200B_200F_200C_202D_206C_206D_202B_202A_200B_200F_206B_200C_206D_200B_202D_206E_202C_206F_206C_202D_200D_200F_202A_202A_200D_200B_206B_206A_206C_202C_206C_200E_206C_206D_200B_206C_202D_202A_206D_202E(num6); - return new System.Numerics.Vector3(num7 / num5, 0f, num8 / num5); - } } + float num6 = MathF.Sqrt(num5); + return new System.Numerics.Vector3(num3 / num6, 0f, num4 / num6); } + return null; } private static (float left, float forward) WorldToPlayerRelative(System.Numerics.Vector3 worldDir, float referenceRotation) { - float num = _206D_202C_200F_202D_200D_200C_206D_202D_206E_206F_206D_206F_200E_200D_200D_200B_200C_202C_202D_200C_202D_200E_200E_200B_206F_200E_202C_202E_206D_200E_200C_200D_206A_202C_200D_206B_206E_200D_200F_206F_202E(referenceRotation); - float num2 = _206B_202D_206C_200D_206A_206A_202E_206B_200D_206C_202E_206A_202A_206C_200B_206C_202C_200B_206D_200B_206C_202B_202D_200C_200F_200D_202D_202C_206C_202C_206E_202A_200D_206B_206F_200F_202B_200D_202A_206D_202E(referenceRotation); + float num = MathF.Sin(referenceRotation); + float num2 = MathF.Cos(referenceRotation); float item = worldDir.X * num + worldDir.Z * num2; return (left: worldDir.X * num2 - worldDir.Z * num, forward: item); } public void Dispose() { - _202C_200C_202E_206D_206F_202C_206C_202D_206E_206C_200B_206D_206F_202E_202B_202D_206A_206E_200D_200E_202A_200F_202B_202C_202E_202A_202B_206D_200E_206F_206D_200F_200C_202B_206C_200C_206C_206A_206B_200E_202E(_gameConfig, (EventHandler)OnGameConfigChanged); - Hook? mcIsInputActiveHook = _mcIsInputActiveHook; - if (mcIsInputActiveHook == null) - { - goto IL_00e8; - } - mcIsInputActiveHook.Disable(); - int num = -1239037411; - goto IL_0039; - IL_0112: - _rmiFlyHook = null; - Hook? rmiWalkHook = _rmiWalkHook; - if (rmiWalkHook == null) - { - goto IL_00c6; - } - rmiWalkHook.Disable(); - num = -1239037416; - goto IL_0039; - IL_00e8: - Hook? mcIsInputActiveHook2 = _mcIsInputActiveHook; - if (mcIsInputActiveHook2 == null) - { - goto IL_007b; - } - mcIsInputActiveHook2.Dispose(); - num = -1239037412; - goto IL_0039; - IL_0039: - while (true) - { - int num2 = num; - int num3 = -1239037410; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1239037411; - break; - case 2: - goto end_IL_0039; - case 5: - goto IL_00a4; - case 6: - goto IL_00c6; - case 3: - goto IL_00e8; - case 1: - goto IL_010a; - case 4: - goto IL_0112; - } - continue; - end_IL_0039: - break; - } - goto IL_007b; - IL_007b: + _gameConfig.UiControlChanged -= OnGameConfigChanged; + _mcIsInputActiveHook?.Disable(); + _mcIsInputActiveHook?.Dispose(); _mcIsInputActiveHook = null; - Hook? rmiFlyHook = _rmiFlyHook; - if (rmiFlyHook == null) - { - goto IL_00a4; - } - rmiFlyHook.Disable(); - num = -1239037413; - goto IL_0039; - IL_00c6: - Hook? rmiWalkHook2 = _rmiWalkHook; - if (rmiWalkHook2 == null) - { - goto IL_010a; - } - rmiWalkHook2.Dispose(); - num = -1239037409; - goto IL_0039; - IL_00a4: - Hook? rmiFlyHook2 = _rmiFlyHook; - if (rmiFlyHook2 == null) - { - goto IL_0112; - } - rmiFlyHook2.Dispose(); - num = -1239037414; - goto IL_0039; - IL_010a: + _rmiFlyHook?.Disable(); + _rmiFlyHook?.Dispose(); + _rmiFlyHook = null; + _rmiWalkHook?.Disable(); + _rmiWalkHook?.Dispose(); _rmiWalkHook = null; } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static MovementOverrideHook() - { - uint[] array = new uint[4]; - _202D_200F_206F_200F_200C_200E_200C_200D_200B_202A_206C_200E_202C_202C_200B_206A_206F_202D_206D_202E_202D_202B_206E_206F_200D_206F_206F_206B_200D_206E_202C_200C_206A_206D_200D_206E_200F_206B_202E_202D_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - MisdirectionStatusIds = array; - } - - static long _202C_200F_206E_202D_202A_202D_202E_206A_202D_202B_206E_200F_200D_200E_202A_202A_200E_206D_206D_202B_200C_206E_200E_202B_202A_200E_202B_200E_202E_206C_202C_206F_202D_202C_200B_202C_206B_202B_200D_206F_202E() - { - return Environment.TickCount64; - } - - static void _202B_206B_206B_202B_202A_206A_200E_200F_206C_206E_206F_200C_200F_202C_206B_206B_202B_206A_202C_206A_206E_206E_206B_206E_206D_200D_200D_206C_206B_202E_206F_206A_200C_202A_200E_206E_200E_202B_206A_202C_202E(IGameConfig P_0, EventHandler P_1) - { - P_0.UiControlChanged += P_1; - } - - static void _200C_200F_202B_200E_202B_200C_206E_200D_202A_202D_206A_202D_200D_200F_206C_200E_202C_202C_206D_206D_206D_200E_202E_200C_200C_206B_200D_200C_206D_206E_200D_202B_206D_206D_202A_202B_202A_206E_200C_200D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static nint _202E_206A_202B_200D_202E_206C_200D_206D_200C_200B_202C_206B_202B_200D_206C_206A_206E_202A_202D_200E_200B_200F_200E_206C_200E_200C_200D_206E_202E_202D_202B_200F_206E_200D_202E_202B_202E_206B_202C_200F_202E(ISigScanner P_0, string P_1) - { - return P_0.ScanText(P_1); - } - - static void _206C_206C_202A_200B_206C_200C_200E_202B_200C_202B_202D_200B_200D_200D_202A_200B_206D_202E_200B_206B_206D_200D_202D_200B_206C_202C_206A_202C_206E_202D_200B_206C_206F_206F_202B_200E_206F_202A_200C_206A_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogWarning(P_1, P_2, P_3); - } - - static nint _206F_202A_206B_202A_200C_202D_206F_202E_206C_206D_202A_206B_200C_200E_202D_200D_202C_200C_206A_206D_206A_206A_200C_202C_202B_200E_206E_202B_200B_206A_200D_200D_206C_206A_206C_200B_200C_206E_202D_206B_202E(ISigScanner P_0, string P_1, int P_2) - { - return P_0.GetStaticAddressFromSig(P_1, P_2); - } - - static string _200B_200E_202A_200F_206F_200D_206F_206C_202C_206E_206E_206C_202C_202C_200B_202B_206F_200B_202D_206C_200D_206F_206A_206A_202B_202A_200F_206E_200D_200D_202B_202A_202E_202E_206B_200D_200E_202D_206E_202B_202E(Exception P_0) - { - return P_0.Message; - } - - static bool _206C_202D_206F_202C_206C_200D_200E_202B_206B_206C_200E_206F_206F_206B_206B_200B_202C_206F_202E_200C_206A_200C_200E_202D_200D_206B_206C_206E_200D_206C_206B_206B_200C_200F_200D_202C_206B_200E_206C_200D_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.Contains(P_1, P_2); - } - - static IPlayerCharacter _200B_206D_206B_202B_206D_200D_200B_200C_206D_200C_206B_206F_202B_206A_200D_202C_202A_200D_202C_200C_200E_206F_200E_202C_202B_206A_202E_200C_202E_202C_206D_202A_206E_202A_202D_202A_202A_200F_200D_200D_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static System.Numerics.Vector3 _202E_202C_206C_206F_200D_200F_206A_206F_202A_200B_206F_200D_206E_202B_200C_202A_202B_202B_200B_200E_200D_202E_206C_206B_202D_200C_200B_200B_206C_200D_200B_206F_200B_206B_202B_206A_206C_200C_202B_200E_202E(IGameObject P_0) - { - return P_0.Position; - } - - static float _206F_206B_206B_202D_200E_202B_206C_202A_202D_206A_202D_206D_206B_200B_206E_206D_200B_202B_206D_206F_200F_200E_200C_202E_206E_200B_206B_200C_206D_206E_200C_202D_206C_200D_202B_200F_200B_200F_200E_206C_202E(IGameObject P_0) - { - return P_0.Rotation; - } - - static float _202B_200B_200F_200C_202D_206C_206D_202B_202A_200B_200F_206B_200C_206D_200B_202D_206E_202C_206F_206C_202D_200D_200F_202A_202A_200D_200B_206B_206A_206C_202C_206C_200E_206C_206D_200B_206C_202D_202A_206D_202E(float P_0) - { - return MathF.Sqrt(P_0); - } - - static void _206E_200C_206E_206B_202C_202D_200E_200F_206D_202E_202A_202A_206B_202A_200E_200D_200E_202E_202D_200C_206A_200E_206A_200D_200E_202A_200F_200F_206A_206A_206E_206B_206C_202B_202B_206D_206E_200F_206B_206C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static float _200E_206F_200F_200B_206F_200B_200B_200B_200B_206C_206E_206A_202D_206C_202D_200C_202B_202B_200B_200F_206A_202B_200D_206B_206A_202E_206E_202A_202A_202C_206A_202C_206D_206A_202A_202A_206F_202D_206E_206F_202E(float P_0, float P_1) - { - return MathF.Atan2(P_0, P_1); - } - - static float _206B_202D_206C_200D_206A_206A_202E_206B_200D_206C_202E_206A_202A_206C_200B_206C_202C_200B_206D_200B_206C_202B_202D_200C_200F_200D_202D_202C_206C_202C_206E_202A_200D_206B_206F_200F_202B_200D_202A_206D_202E(float P_0) - { - return MathF.Cos(P_0); - } - - static float _206D_202C_200F_202D_200D_200C_206D_202D_206E_206F_206D_206F_200E_200D_200D_200B_200C_202C_202D_200C_202D_200E_200E_200B_206F_200E_202C_202E_206D_200E_200C_200D_206A_202C_200D_206B_206E_200D_200F_206F_202E(float P_0) - { - return MathF.Sin(P_0); - } - - static StatusList _202E_206C_206D_202E_206C_206C_200D_206B_206A_206F_200B_202D_206C_200F_200C_200B_206C_206A_206A_202C_206B_202C_206A_206F_200B_200E_202E_206B_202D_202D_206F_202E_200B_206C_206A_206D_206F_202B_206B_200E_202E(IBattleChara P_0) - { - return P_0.StatusList; - } - - static IStatus _200C_202B_200D_206B_202C_202E_200B_200F_200F_202B_200C_200B_206A_202D_200E_202E_200F_206A_202E_200F_206C_202D_206A_206B_206B_206A_202C_200B_202C_202B_206E_202D_202E_200E_200D_200B_200C_200C_200B_202D_202E(StatusList P_0, int P_1) - { - return P_0[P_1]; - } - - static uint _200F_200B_206A_200E_206A_200E_206F_206B_206B_202B_202A_206E_206C_202B_200F_200E_202B_202A_202E_200F_206D_206E_200F_200F_202B_202D_202A_206A_200B_206F_200B_200D_206D_200C_200F_206A_200E_200F_200F_202D_202E(IStatus P_0) - { - return P_0.StatusId; - } - - static int _200F_202E_200C_200D_200F_202C_206F_206B_200D_200D_200D_202A_206C_202D_202A_200C_200D_206C_200D_202D_202C_206F_206C_200C_206B_200E_206B_202B_200B_200B_206C_202D_202B_202B_206D_206F_206F_206C_206A_202B_202E(StatusList P_0) - { - return P_0.Length; - } - - static float _206E_206E_200B_200C_202D_206C_200D_200E_200D_200B_206C_206E_200F_206E_206A_202C_200C_202D_206A_200D_202C_206E_206D_200F_202A_206A_200B_200C_200D_202A_202D_202B_206A_202D_206D_202C_206F_200F_206D_202A_202E(float P_0) - { - return MathF.Abs(P_0); - } - - static GameConfigSection _206D_200E_206E_202E_206B_200D_206A_206E_206E_200C_202B_202A_200F_206B_202A_202E_202C_202A_206E_202E_200C_206C_202D_206F_202C_200C_200F_206B_206B_200C_200B_202D_202D_200B_202D_206C_202A_200D_200B_202E_202E(IGameConfig P_0) - { - return P_0.UiControl; - } - - static bool _202B_206F_202D_206E_202A_206C_206A_200B_202D_200B_206D_206C_206E_206C_202E_206A_202D_200F_202A_200B_206A_200B_202E_202D_206F_202C_206F_202E_206F_206D_206A_206A_206B_202E_202E_202E_202A_206D_202B_206A_202E(GameConfigSection P_0, string P_1, ref uint P_2) - { - return P_0.TryGetUInt(P_1, out P_2); - } - - static void _202C_200C_202E_206D_206F_202C_206C_202D_206E_206C_200B_206D_206F_202E_202B_202D_206A_206E_200D_200E_202A_200F_202B_202C_202E_202A_202B_206D_200E_206F_206D_200F_200C_202B_206C_200C_206C_206A_206B_200E_202E(IGameConfig P_0, EventHandler P_1) - { - P_0.UiControlChanged -= P_1; - } - - static void _202D_200F_206F_200F_200C_200E_200C_200D_200B_202A_206C_200E_202C_202C_200B_206A_206F_202D_206D_202E_202D_202B_206E_206F_200D_206F_206F_206B_200D_206E_202C_200C_206A_206D_200D_206E_200F_206B_202E_202D_202E(Array P_0, RuntimeFieldHandle P_1) - { - RuntimeHelpers.InitializeArray(P_0, P_1); - } } diff --git a/LLib/LLib.Notifications/OutOfGameNotifier.cs b/LLib/LLib.Notifications/OutOfGameNotifier.cs index 2bc8dd7..a1dcab2 100644 --- a/LLib/LLib.Notifications/OutOfGameNotifier.cs +++ b/LLib/LLib.Notifications/OutOfGameNotifier.cs @@ -1,6 +1,5 @@ using System; using System.IO; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using FFXIVClientStructs.FFXIV.Client.Graphics.Kernel; using LLib.ImGui; @@ -134,27 +133,11 @@ public sealed class OutOfGameNotifier : IDisposable get { Device* ptr = Device.Instance(); - int num = ((ptr != null) ? 539179088 : 539179091); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 539179090; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 2: - return (nint)ptr->hWnd; - case 1: - return 0; - } - continue; - IL_004b: - num = 539179091; + return 0; } + return (nint)ptr->hWnd; } } @@ -163,27 +146,11 @@ public sealed class OutOfGameNotifier : IDisposable get { nint gameWindowHandle = GameWindowHandle; - int num = ((gameWindowHandle == 0) ? 1427669893 : 1427669894); - while (true) + if (gameWindowHandle != 0) { - int num2 = num; - int num3 = 1427669892; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0049; - case 1: - return false; - case 2: - return NativeMethods.GetForegroundWindow() == gameWindowHandle; - } - continue; - IL_0049: - num = 1427669894; + return NativeMethods.GetForegroundWindow() == gameWindowHandle; } + return false; } } @@ -197,231 +164,118 @@ public sealed class OutOfGameNotifier : IDisposable WindowFlash.Flash(GameWindowHandle, 0u); } - [MethodImpl(MethodImplOptions.NoInlining)] public void PlayAlertSound(string? wavPath) { - int num = (_202E_202E_200E_206D_200E_202B_206E_206C_202D_202D_202D_200B_206D_200C_200E_206B_206B_202D_202B_206A_202B_206A_200D_206B_206E_202B_200B_202C_206D_206F_200B_206C_200D_206D_206B_206E_200B_200C_200D_200D_202E(wavPath) ? 199681171 : 199681169); - while (true) + if (!string.IsNullOrEmpty(wavPath) && File.Exists(wavPath)) { - int num2 = num; - int num3 = 199681171; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + if (NativeMethods.PlaySound(wavPath, 0, 131075u)) { - case 5: - num = 199681169; - break; - case 3: - num = ((!NativeMethods.PlaySound(wavPath, 0, 131075u)) ? 199681170 : 199681175); - break; - case 1: - _200E_200D_202A_200C_206A_206E_200D_202D_206C_202E_202D_202C_202E_200D_200E_206D_206D_200D_200E_206F_206F_200E_202B_202B_200C_200B_200B_200B_206E_200E_206B_206F_200B_206C_200B_202C_206B_200C_200B_206F_202E((ILogger)_logger, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-928191835), new object[1] { wavPath }); - num = 199681171; - break; - case 2: - num = ((!_200C_200B_202C_206C_206B_202D_206B_202C_202D_206C_202D_200C_206A_200F_206F_206B_202D_200F_206B_202E_206F_202B_206D_200C_202B_206D_202C_200D_200F_202E_202E_200E_206E_200F_200C_206D_200F_202A_200B_200E_202E(wavPath)) ? 199681171 : 199681168); - break; - case 0: - num = (NativeMethods.MessageBeep(64u) ? 199681172 : 199681173); - break; - case 7: - return; - case 6: - _200E_200D_202A_200C_206A_206E_200D_202D_206C_202E_202D_202C_202E_200D_200E_206D_206D_200D_200E_206F_206F_200E_202B_202B_200C_200B_200B_200B_206E_200E_206B_206F_200B_206C_200B_202C_206B_200C_200B_206F_202E((ILogger)_logger, 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(1376931042), Array.Empty()); - num = 199681172; - break; - case 4: return; } + _logger.LogTrace("PlaySound failed for {Path}, falling back to beep", wavPath); + } + if (!NativeMethods.MessageBeep(64u)) + { + _logger.LogTrace("MessageBeep returned false"); } } - [MethodImpl(MethodImplOptions.NoInlining)] public void ShowTrayNotification(string title, string message) { nint gameWindowHandle = GameWindowHandle; - int num = ((gameWindowHandle != 0) ? (-102834731) : (-102834730)); - nint num8 = default(nint); - while (true) + if (gameWindowHandle == 0) { - int num2 = num; - int num3 = -102834732; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _logger.LogWarning("Cannot show tray notification - game window handle not available"); + return; + } + try + { + if (!_trayIconRegistered) { - case 0: - goto IL_0050; - case 2: - _202C_202E_200B_206C_202C_206E_206E_202C_206B_206D_206F_206B_202C_202C_202A_206B_200B_206C_202B_202C_206F_206F_206F_202B_202C_200E_206B_200D_206B_200D_202C_202E_206D_206E_206D_206D_202D_206B_202E_206E_202E((ILogger)_logger, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-498044301), Array.Empty()); - return; - case 1: - try + nint num = GetGameIcon(gameWindowHandle); + if (num == 0) { - num = (_trayIconRegistered ? (-1863308179) : (-1863308178)); - while (true) - { - int num5 = num; - num3 = -1863308179; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 4: - { - NOTIFYICONDATA lpData3 = new NOTIFYICONDATA - { - cbSize = (uint)Marshal.SizeOf(), - hWnd = gameWindowHandle, - uID = 176u, - uTimeoutOrVersion = 4u - }; - NativeMethods.Shell_NotifyIcon(4u, ref lpData3); - _trayHWnd = gameWindowHandle; - _trayIconRegistered = true; - num = -1863308179; - break; - } - case 3: - num8 = GetGameIcon(gameWindowHandle); - num = ((num8 != 0) ? (-1863308184) : (-1863308180)); - break; - case 8: - _202C_202E_200B_206C_202C_206E_206E_202C_206B_206D_206F_206B_202C_202C_202A_206B_200B_206C_202B_202C_206F_206F_206F_202B_202C_200E_206B_200D_206B_200D_202C_202E_206D_206E_206D_206D_202D_206B_202E_206E_202E((ILogger)_logger, 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(-218723301), Array.Empty()); - num = -1863308177; - break; - case 7: - _202C_202E_200B_206C_202C_206E_206E_202C_206B_206D_206F_206B_202C_202C_202A_206B_200B_206C_202B_202C_206F_206F_206F_202B_202C_200E_206B_200D_206B_200D_202C_202E_206D_206E_206D_206D_202D_206B_202E_206E_202E((ILogger)_logger, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(621311524), Array.Empty()); - return; - case 6: - num = -1863308178; - break; - case 1: - num8 = NativeMethods.LoadIcon(0, 32512); - num = -1863308184; - break; - case 0: - { - NOTIFYICONDATA lpData2 = new NOTIFYICONDATA - { - cbSize = (uint)Marshal.SizeOf(), - hWnd = _trayHWnd, - uID = 176u, - uFlags = 16u, - szInfoTitle = Truncate(title, 63), - szInfo = Truncate(message, 255), - dwInfoFlags = 1u - }; - num = (NativeMethods.Shell_NotifyIcon(1u, ref lpData2) ? (-1863308177) : (-1863308187)); - break; - } - case 5: - { - NOTIFYICONDATA lpData = new NOTIFYICONDATA - { - cbSize = (uint)Marshal.SizeOf(), - hWnd = gameWindowHandle, - uID = 176u, - uFlags = 6u, - hIcon = num8, - szTip = Truncate(title, 127) - }; - num = (NativeMethods.Shell_NotifyIcon(0u, ref lpData) ? (-1863308183) : (-1863308182)); - break; - } - case 2: - return; - } - } + num = NativeMethods.LoadIcon(0, 32512); } - catch (Exception ex) + NOTIFYICONDATA lpData = new NOTIFYICONDATA { - _206E_206A_206C_200C_200F_206C_202C_206E_206D_202C_200B_202B_202D_206C_202E_206C_200C_200E_206E_200E_202C_206F_202C_200B_202D_200F_200C_200F_202E_200F_200C_200D_206E_202B_200D_202B_202A_202B_200E_202E_202E((ILogger)_logger, ex, 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(1309216025), Array.Empty()); + cbSize = (uint)Marshal.SizeOf(), + hWnd = gameWindowHandle, + uID = 176u, + uFlags = 6u, + hIcon = num, + szTip = Truncate(title, 127) + }; + if (!NativeMethods.Shell_NotifyIcon(0u, ref lpData)) + { + _logger.LogWarning("Shell_NotifyIcon(NIM_ADD) failed"); return; } + NOTIFYICONDATA lpData2 = new NOTIFYICONDATA + { + cbSize = (uint)Marshal.SizeOf(), + hWnd = gameWindowHandle, + uID = 176u, + uTimeoutOrVersion = 4u + }; + NativeMethods.Shell_NotifyIcon(4u, ref lpData2); + _trayHWnd = gameWindowHandle; + _trayIconRegistered = true; } - continue; - IL_0050: - num = -102834730; + NOTIFYICONDATA lpData3 = new NOTIFYICONDATA + { + cbSize = (uint)Marshal.SizeOf(), + hWnd = _trayHWnd, + uID = 176u, + uFlags = 16u, + szInfoTitle = Truncate(title, 63), + szInfo = Truncate(message, 255), + dwInfoFlags = 1u + }; + if (!NativeMethods.Shell_NotifyIcon(1u, ref lpData3)) + { + _logger.LogWarning("Shell_NotifyIcon(NIM_MODIFY) failed"); + } + } + catch (Exception exception) + { + _logger.LogError(exception, "Failed to show tray notification"); } } private static nint GetGameIcon(nint hWnd) { nint num = NativeMethods.SendMessage(hWnd, 127u, 1, 0); - int num2 = ((num != 0) ? 1006480639 : 1006480632); - while (true) + if (num == 0) { - int num3 = num2; - int num4 = 1006480638; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 4: - num2 = 1006480632; - break; - case 5: - num = NativeMethods.GetClassLongPtr(hWnd, -14); - num2 = 1006480637; - break; - case 1: - num2 = ((num != 0) ? 1006480637 : 1006480635); - break; - case 2: - return num; - case 0: - num = NativeMethods.GetClassLongPtr(hWnd, -34); - num2 = 1006480636; - break; - case 3: - num2 = ((num != 0) ? 1006480636 : 1006480638); - break; - case 6: - num = NativeMethods.SendMessage(hWnd, 127u, 0, 0); - num2 = 1006480639; - break; - } + num = NativeMethods.SendMessage(hWnd, 127u, 0, 0); } + if (num == 0) + { + num = NativeMethods.GetClassLongPtr(hWnd, -14); + } + if (num == 0) + { + num = NativeMethods.GetClassLongPtr(hWnd, -34); + } + return num; } private static string Truncate(string value, int maxChars) { - int num = ((_202C_206C_206F_202B_202E_206A_202C_206B_200F_200E_200F_200C_202E_202E_206C_206D_200C_200D_206A_202D_206B_200B_206E_206F_206F_200E_206B_202C_202A_202D_206C_206B_200D_200D_200E_200B_202A_202C_200D_206D_202E(value) <= maxChars) ? (-362575814) : (-362575815)); - while (true) + if (value.Length > maxChars) { - int num2 = num; - int num3 = -362575813; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0047; - case 2: - return _200D_200D_200D_206C_200B_206C_200B_206A_206B_202D_202B_202E_200D_206E_206D_202A_200C_206C_200C_202C_206D_200B_200C_202B_202B_200F_202B_202A_200E_202E_200C_200B_206B_206A_202A_200C_200C_206D_206B_206A_202E(value, 0, maxChars); - case 1: - return value; - } - continue; - IL_0047: - num = -362575815; + return value.Substring(0, maxChars); } + return value; } public void Dispose() { - int num = ((!_disposed) ? 413573275 : 413573272); - while (true) + if (!_disposed) { - int num2 = num; - int num3 = 413573273; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return; - case 1: - return; - case 4: + _disposed = true; + if (_trayIconRegistered) { NOTIFYICONDATA lpData = new NOTIFYICONDATA { @@ -431,57 +285,7 @@ public sealed class OutOfGameNotifier : IDisposable }; NativeMethods.Shell_NotifyIcon(2u, ref lpData); _trayIconRegistered = false; - return; - } - case 2: - _disposed = true; - num = (_trayIconRegistered ? 413573277 : 413573273); - break; - case 3: - num = 413573272; - break; } } } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static bool _202E_202E_200E_206D_200E_202B_206E_206C_202D_202D_202D_200B_206D_200C_200E_206B_206B_202D_202B_206A_202B_206A_200D_206B_206E_202B_200B_202C_206D_206F_200B_206C_200D_206D_206B_206E_200B_200C_200D_200D_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static bool _200C_200B_202C_206C_206B_202D_206B_202C_202D_206C_202D_200C_206A_200F_206F_206B_202D_200F_206B_202E_206F_202B_206D_200C_202B_206D_202C_200D_200F_202E_202E_200E_206E_200F_200C_206D_200F_202A_200B_200E_202E(string P_0) - { - return File.Exists(P_0); - } - - static void _200E_200D_202A_200C_206A_206E_200D_202D_206C_202E_202D_202C_202E_200D_200E_206D_206D_200D_200E_206F_206F_200E_202B_202B_200C_200B_200B_200B_206E_200E_206B_206F_200B_206C_200B_202C_206B_200C_200B_206F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogTrace(P_1, P_2); - } - - static void _202C_202E_200B_206C_202C_206E_206E_202C_206B_206D_206F_206B_202C_202C_202A_206B_200B_206C_202B_202C_206F_206F_206F_202B_202C_200E_206B_200D_206B_200D_202C_202E_206D_206E_206D_206D_202D_206B_202E_206E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static void _206E_206A_206C_200C_200F_206C_202C_206E_206D_202C_200B_202B_202D_206C_202E_206C_200C_200E_206E_200E_202C_206F_202C_200B_202D_200F_200C_200F_202E_200F_200C_200D_206E_202B_200D_202B_202A_202B_200E_202E_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } - - static int _202C_206C_206F_202B_202E_206A_202C_206B_200F_200E_200F_200C_202E_202E_206C_206D_200C_200D_206A_202D_206B_200B_206E_206F_206F_200E_206B_202C_202A_202D_206C_206B_200D_200D_200E_200B_202A_202C_200D_206D_202E(string P_0) - { - return P_0.Length; - } - - static string _200D_200D_200D_206C_200B_206C_200B_206A_206B_202D_202B_202E_200D_206E_206D_202A_200C_206C_200C_202C_206D_200B_200C_202B_202B_200F_202B_202A_200E_202E_200C_200B_206B_206A_202A_200C_200C_206D_206B_206A_202E(string P_0, int P_1, int P_2) - { - return P_0.Substring(P_1, P_2); - } } diff --git a/LLib/LLib.Notifications/WindowsSounds.cs b/LLib/LLib.Notifications/WindowsSounds.cs index 5fb36fb..a041454 100644 --- a/LLib/LLib.Notifications/WindowsSounds.cs +++ b/LLib/LLib.Notifications/WindowsSounds.cs @@ -2,48 +2,24 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; -using System.Runtime.CompilerServices; namespace LLib.Notifications; public static class WindowsSounds { - public static string MediaDirectory - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return _200F_200F_200E_200D_206C_200B_206F_206F_202E_200B_206D_202C_202E_200B_200C_200F_202C_200F_206B_200D_202E_200C_200E_206C_206C_200C_202D_202B_200F_206D_206F_200F_206B_202A_200E_202B_200F_206F_206C_206E_202E(_206A_202A_202B_200B_200D_200F_206C_202A_206B_202E_202A_206D_202C_202D_200D_202E_202D_206E_206A_200B_206C_200D_206A_200D_202E_206E_206F_200F_200E_200D_202C_200D_200B_200B_202D_206F_200E_206C_200E_206F_202E(Environment.SpecialFolder.Windows), 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(-1437924549)); - } - } + public static string MediaDirectory => Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Windows), "Media"); - [MethodImpl(MethodImplOptions.NoInlining)] public static IReadOnlyList ListWavFileNames() { try { - int num = (_200B_206D_200F_202A_200F_206D_200F_206C_202A_200B_200F_200D_200F_206A_206A_206C_202D_206F_200E_202D_202C_200B_200F_202B_202D_206D_206C_200D_200D_206D_206D_200B_206A_202A_200E_202A_200E_202D_206F_200E_202E(MediaDirectory) ? 1352349132 : 1352349133); - while (true) + if (!Directory.Exists(MediaDirectory)) { - int num2 = num; - int num3 = 1352349132; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_004c; - case 1: - return Array.Empty(); - case 0: - return _200E_202C_200D_200C_206E_202E_206D_200F_200B_202D_206B_202D_206B_206B_206D_206E_202B_206E_200E_202D_206E_206E_206B_202D_200C_206E_202E_202D_202E_202B_200E_206E_202B_200B_202D_206E_206B_200F_206A_202A_202E(MediaDirectory, 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(-258286566)).Select(Path.GetFileName).OfType().OrderBy((string x) => x, _206E_200D_202B_206E_200B_206F_206E_202C_206E_200F_202D_206D_202E_202C_206A_206B_202C_206B_206F_206E_200F_206A_206A_206F_200C_206F_200D_200F_202E_200C_206E_202E_200E_206A_202D_200D_202C_200D_206D_202C_202E()) - .ToArray(); - } - continue; - IL_004c: - num = 1352349133; + return Array.Empty(); } + return Directory.EnumerateFiles(MediaDirectory, "*.wav").Select(Path.GetFileName).OfType() + .OrderBy((string x) => x, StringComparer.OrdinalIgnoreCase) + .ToArray(); } catch (Exception) { @@ -53,66 +29,15 @@ public static class WindowsSounds public static string? ResolvePath(string? fileName) { - int num = ((!_200C_202D_206A_200D_206E_202A_202B_202C_202A_206A_202D_206E_202B_202E_202B_200F_206C_206B_200D_206D_200E_202A_200F_202A_200F_206D_200E_200E_206B_206D_200D_200D_200C_202E_206B_206D_206E_206A_202A_200D_202E(fileName)) ? 301346880 : 301346882); - string text = default(string); - while (true) + if (string.IsNullOrEmpty(fileName)) { - int num2 = num; - int num3 = 301346883; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = 301346882; - break; - case 1: - return null; - case 2: - return null; - case 0: - return text; - case 3: - text = _200F_200F_200E_200D_206C_200B_206F_206F_202E_200B_206D_202C_202E_200B_200C_200F_202C_200F_206B_200D_202E_200C_200E_206C_206C_200C_202D_202B_200F_206D_206F_200F_206B_202A_200E_202B_200F_206F_206C_206E_202E(MediaDirectory, fileName); - num = (_206C_200F_206E_206F_200D_202E_206B_206A_206C_206D_200C_202D_200E_200D_206E_202D_202C_206F_200D_200E_202E_200C_206E_206C_202A_202B_206E_206E_200E_200B_200B_206D_206A_206B_206F_200D_200B_200B_200F_206A_202E(text) ? 301346883 : 301346881); - break; - } + return null; } - } - - static string _206A_202A_202B_200B_200D_200F_206C_202A_206B_202E_202A_206D_202C_202D_200D_202E_202D_206E_206A_200B_206C_200D_206A_200D_202E_206E_206F_200F_200E_200D_202C_200D_200B_200B_202D_206F_200E_206C_200E_206F_202E(Environment.SpecialFolder P_0) - { - return Environment.GetFolderPath(P_0); - } - - static string _200F_200F_200E_200D_206C_200B_206F_206F_202E_200B_206D_202C_202E_200B_200C_200F_202C_200F_206B_200D_202E_200C_200E_206C_206C_200C_202D_202B_200F_206D_206F_200F_206B_202A_200E_202B_200F_206F_206C_206E_202E(string P_0, string P_1) - { - return Path.Combine(P_0, P_1); - } - - static bool _200B_206D_200F_202A_200F_206D_200F_206C_202A_200B_200F_200D_200F_206A_206A_206C_202D_206F_200E_202D_202C_200B_200F_202B_202D_206D_206C_200D_200D_206D_206D_200B_206A_202A_200E_202A_200E_202D_206F_200E_202E(string P_0) - { - return Directory.Exists(P_0); - } - - static IEnumerable _200E_202C_200D_200C_206E_202E_206D_200F_200B_202D_206B_202D_206B_206B_206D_206E_202B_206E_200E_202D_206E_206E_206B_202D_200C_206E_202E_202D_202E_202B_200E_206E_202B_200B_202D_206E_206B_200F_206A_202A_202E(string P_0, string P_1) - { - return Directory.EnumerateFiles(P_0, P_1); - } - - static StringComparer _206E_200D_202B_206E_200B_206F_206E_202C_206E_200F_202D_206D_202E_202C_206A_206B_202C_206B_206F_206E_200F_206A_206A_206F_200C_206F_200D_200F_202E_200C_206E_202E_200E_206A_202D_200D_202C_200D_206D_202C_202E() - { - return StringComparer.OrdinalIgnoreCase; - } - - static bool _200C_202D_206A_200D_206E_202A_202B_202C_202A_206A_202D_206E_202B_202E_202B_200F_206C_206B_200D_206D_200E_202A_200F_202A_200F_206D_200E_200E_206B_206D_200D_200D_200C_202E_206B_206D_206E_206A_202A_200D_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static bool _206C_200F_206E_206F_200D_202E_206B_206A_206C_206D_200C_202D_200E_200D_206E_202D_202C_206F_200D_200E_202E_200C_206E_206C_202A_202B_206E_206E_200E_200B_200B_206D_206A_206B_206F_200D_200B_200B_200F_206A_202E(string P_0) - { - return File.Exists(P_0); + string text = Path.Combine(MediaDirectory, fileName); + if (!File.Exists(text)) + { + return null; + } + return text; } } diff --git a/LLib/LLib.Shop.Model/ItemForSale.cs b/LLib/LLib.Shop.Model/ItemForSale.cs index a865103..6a87e87 100644 --- a/LLib/LLib.Shop.Model/ItemForSale.cs +++ b/LLib/LLib.Shop.Model/ItemForSale.cs @@ -18,50 +18,19 @@ public sealed class ItemForSale : IEquatable public bool Equals(ItemForSale? other) { - int num = ((other != null) ? (-673406129) : (-673406143)); - while (true) + if (other == null) { - int num2 = num; - int num3 = -673406136; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 8: - num = ((Price != other.Price) ? (-673406130) : (-673406133)); - break; - case 9: - return false; - case 2: - return OwnedItems == other.OwnedItems; - case 0: - num = -673406143; - break; - case 6: - return false; - case 7: - num = ((this != other) ? (-673406135) : (-673406132)); - break; - case 3: - num = ((CurrencyItemId != other.CurrencyItemId) ? (-673406130) : (-673406134)); - break; - case 4: - return true; - case 5: - num = ((ItemId != other.ItemId) ? (-673406130) : (-673406144)); - break; - case 1: - num = ((Position != other.Position) ? (-673406130) : (-673406131)); - break; - } + return false; } - } - - bool IEquatable.Equals(ItemForSale? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); + if (this == other) + { + return true; + } + if (Position == other.Position && ItemId == other.ItemId && Price == other.Price && CurrencyItemId == other.CurrencyItemId) + { + return OwnedItems == other.OwnedItems; + } + return false; } public override bool Equals(object? obj) diff --git a/LLib/LLib.Shop.Model/PurchaseState.cs b/LLib/LLib.Shop.Model/PurchaseState.cs index aa057e5..2c43154 100644 --- a/LLib/LLib.Shop.Model/PurchaseState.cs +++ b/LLib/LLib.Shop.Model/PurchaseState.cs @@ -10,7 +10,7 @@ public sealed class PurchaseState public int InitialOwnedItems { get; } - public int ItemsLeftToBuy => _206E_206B_202A_202D_202E_206B_206B_206B_206A_206C_200D_200D_200B_202E_200B_200D_200B_202D_200C_206F_202E_202D_202C_206B_200E_206D_206E_202C_206D_206C_202C_200E_206C_200B_206B_202D_202E_200E_206E_200D_202E(0, DesiredItems - OwnedItems); + public int ItemsLeftToBuy => Math.Max(0, DesiredItems - OwnedItems); public bool IsComplete => ItemsLeftToBuy == 0; @@ -24,9 +24,4 @@ public sealed class PurchaseState OwnedItems = ownedItems; InitialOwnedItems = ownedItems; } - - static int _206E_206B_202A_202D_202E_206B_206B_206B_206A_206C_200D_200D_200B_202E_200B_200D_200B_202D_200C_206F_202E_202D_202C_206B_200E_206D_206E_202C_206D_206C_202C_200E_206C_200B_206B_202D_202E_200E_206E_200D_202E(int P_0, int P_1) - { - return Math.Max(P_0, P_1); - } } diff --git a/LLib/LLib.Shop.Model/ShopSearchResult.cs b/LLib/LLib.Shop.Model/ShopSearchResult.cs index 37044b6..634ab41 100644 --- a/LLib/LLib.Shop.Model/ShopSearchResult.cs +++ b/LLib/LLib.Shop.Model/ShopSearchResult.cs @@ -1,169 +1,5 @@ -using System; -using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; namespace LLib.Shop.Model; -public sealed record ShopSearchResult(uint ShopId, uint NpcId, ushort TerritoryId, Vector3 NpcPosition, EShopType ShopType, uint Price, uint CurrencyItemId, int DialogOptionIndex = 0) -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200F_202B_206E_202C_206C_206B_202A_200F_206C_206C_206C_206C_200C_202C_200E_200E_206B_200C_206E_200F_200F_206C_206F_206F_206C_206C_206C_202B_200F_200C_206D_202D_206D_200C_200B_206B_200C_206F_200E_202A_202E(typeof(ShopSearchResult).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200D_206C_206E_206C_200F_200F_206F_200D_200F_202C_202A_202B_200C_200F_206A_206B_200E_206E_206F_200E_206F_202E_202C_202A_200F_206D_200F_200C_202A_202E_206E_202E_200D_200D_206D_202C_200F_202D_206A_202E_202E(); - _200C_206F_200F_202B_206B_202E_206B_206D_206B_206E_202E_200D_206E_202E_206E_200C_206D_202D_202A_202E_202A_202D_206A_206C_202B_202B_200D_202B_202D_206A_200B_202A_206C_206C_206F_206C_202A_206B_206A_202B_202E(stringBuilder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-172046224)); - _200C_206F_200F_202B_206B_202E_206B_206D_206B_206E_202E_200D_206E_202E_206E_200C_206D_202D_202A_202E_202A_202D_206A_206C_202B_202B_200D_202B_202D_206A_200B_202A_206C_206C_206F_206C_202A_206B_206A_202B_202E(stringBuilder, 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(1148273145)); - int num = ((!PrintMembers(stringBuilder)) ? 861671392 : 861671393); - while (true) - { - int num2 = num; - int num3 = 861671392; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _202C_202B_206F_206B_206B_202A_200D_202D_206A_200B_200E_202E_206A_202A_200C_200F_202D_206F_202C_206B_206A_202A_206E_206C_206D_202C_202C_202B_206B_206F_202C_202C_206A_200C_200F_206D_200B_202A_202A_200D_202E(stringBuilder, '}'); - return _202A_200C_202E_202E_206D_206B_200D_206F_200C_206E_202D_200D_202A_206D_200E_202C_202A_200F_206E_202B_200E_202C_206A_202B_206B_206B_206D_206B_206D_206F_200E_200D_202C_202E_202C_200B_206C_200D_206D_206F_202E((object)stringBuilder); - case 1: - _202C_202B_206F_206B_206B_202A_200D_202D_206A_200B_200E_202E_206A_202A_200C_200F_202D_206F_202C_206B_206A_202A_206E_206C_206D_202C_202C_202B_206B_206F_202C_202C_206A_200C_200F_206D_200B_202A_202A_200D_202E(stringBuilder, ' '); - num = 861671392; - break; - case 2: - num = 861671393; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200F_206A_206D_202B_206C_206F_200C_202E_200D_206D_202E_206B_206F_200B_200B_200D_206B_206E_200E_202A_202E_202E_200B_206A_202C_206D_202C_206A_200F_200C_202A_206A_202C_202C_206D_206B_206A_200B_202B_200C_202E(); - _200C_206F_200F_202B_206B_202E_206B_206D_206B_206E_202E_200D_206E_202E_206E_200C_206D_202D_202A_202E_202A_202D_206A_206C_202B_202B_200D_202B_202D_206A_200B_202A_206C_206C_206F_206C_202A_206B_206A_202B_202E(builder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1462184987)); - _200C_206F_200F_202B_206B_202E_206B_206D_206B_206E_202E_200D_206E_202E_206E_200C_206D_202D_202A_202E_202A_202D_206A_206C_202B_202B_200D_202B_202D_206A_200B_202A_206C_206C_206F_206C_202A_206B_206A_202B_202E(builder, ShopId.ToString()); - _200C_206F_200F_202B_206B_202E_206B_206D_206B_206E_202E_200D_206E_202E_206E_200C_206D_202D_202A_202E_202A_202D_206A_206C_202B_202B_200D_202B_202D_206A_200B_202A_206C_206C_206F_206C_202A_206B_206A_202B_202E(builder, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(402538369)); - _200C_206F_200F_202B_206B_202E_206B_206D_206B_206E_202E_200D_206E_202E_206E_200C_206D_202D_202A_202E_202A_202D_206A_206C_202B_202B_200D_202B_202D_206A_200B_202A_206C_206C_206F_206C_202A_206B_206A_202B_202E(builder, NpcId.ToString()); - _200C_206F_200F_202B_206B_202E_206B_206D_206B_206E_202E_200D_206E_202E_206E_200C_206D_202D_202A_202E_202A_202D_206A_206C_202B_202B_200D_202B_202D_206A_200B_202A_206C_206C_206F_206C_202A_206B_206A_202B_202E(builder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1525167587)); - _200C_206F_200F_202B_206B_202E_206B_206D_206B_206E_202E_200D_206E_202E_206E_200C_206D_202D_202A_202E_202A_202D_206A_206C_202B_202B_200D_202B_202D_206A_200B_202A_206C_206C_206F_206C_202A_206B_206A_202B_202E(builder, TerritoryId.ToString()); - _200C_206F_200F_202B_206B_202E_206B_206D_206B_206E_202E_200D_206E_202E_206E_200C_206D_202D_202A_202E_202A_202D_206A_206C_202B_202B_200D_202B_202D_206A_200B_202A_206C_206C_206F_206C_202A_206B_206A_202B_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(77058786)); - _200C_206F_200F_202B_206B_202E_206B_206D_206B_206E_202E_200D_206E_202E_206E_200C_206D_202D_202A_202E_202A_202D_206A_206C_202B_202B_200D_202B_202D_206A_200B_202A_206C_206C_206F_206C_202A_206B_206A_202B_202E(builder, NpcPosition.ToString()); - _200C_206F_200F_202B_206B_202E_206B_206D_206B_206E_202E_200D_206E_202E_206E_200C_206D_202D_202A_202E_202A_202D_206A_206C_202B_202B_200D_202B_202D_206A_200B_202A_206C_206C_206F_206C_202A_206B_206A_202B_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(47056198)); - _200C_206F_200F_202B_206B_202E_206B_206D_206B_206E_202E_200D_206E_202E_206E_200C_206D_202D_202A_202E_202A_202D_206A_206C_202B_202B_200D_202B_202D_206A_200B_202A_206C_206C_206F_206C_202A_206B_206A_202B_202E(builder, ShopType.ToString()); - _200C_206F_200F_202B_206B_202E_206B_206D_206B_206E_202E_200D_206E_202E_206E_200C_206D_202D_202A_202E_202A_202D_206A_206C_202B_202B_200D_202B_202D_206A_200B_202A_206C_206C_206F_206C_202A_206B_206A_202B_202E(builder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(180433324)); - _200C_206F_200F_202B_206B_202E_206B_206D_206B_206E_202E_200D_206E_202E_206E_200C_206D_202D_202A_202E_202A_202D_206A_206C_202B_202B_200D_202B_202D_206A_200B_202A_206C_206C_206F_206C_202A_206B_206A_202B_202E(builder, Price.ToString()); - _200C_206F_200F_202B_206B_202E_206B_206D_206B_206E_202E_200D_206E_202E_206E_200C_206D_202D_202A_202E_202A_202D_206A_206C_202B_202B_200D_202B_202D_206A_200B_202A_206C_206C_206F_206C_202A_206B_206A_202B_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(2138166188)); - _200C_206F_200F_202B_206B_202E_206B_206D_206B_206E_202E_200D_206E_202E_206E_200C_206D_202D_202A_202E_202A_202D_206A_206C_202B_202B_200D_202B_202D_206A_200B_202A_206C_206C_206F_206C_202A_206B_206A_202B_202E(builder, CurrencyItemId.ToString()); - _200C_206F_200F_202B_206B_202E_206B_206D_206B_206E_202E_200D_206E_202E_206E_200C_206D_202D_202A_202E_202A_202D_206A_206C_202B_202B_200D_202B_202D_206A_200B_202A_206C_206C_206F_206C_202A_206B_206A_202B_202E(builder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-846071550)); - _200C_206F_200F_202B_206B_202E_206B_206D_206B_206E_202E_200D_206E_202E_206E_200C_206D_202D_202A_202E_202A_202D_206A_206C_202B_202B_200D_202B_202D_206A_200B_202A_206C_206C_206F_206C_202A_206B_206A_202B_202E(builder, DialogOptionIndex.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(ShopSearchResult? other) - { - int num = (((object)this == other) ? (-1154151868) : (-1154151871)); - while (true) - { - int num2 = num; - int num3 = -1154151865; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1154151871; - break; - case 7: - num = ((!EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId)) ? (-1154151867) : (-1154151866)); - break; - case 6: - num = (((object)other == null) ? (-1154151867) : (-1154151860)); - break; - case 9: - num = ((!EqualityComparer.Default.Equals(CurrencyItemId, other.CurrencyItemId)) ? (-1154151867) : (-1154151869)); - break; - case 10: - num = ((!EqualityComparer.Default.Equals(Price, other.Price)) ? (-1154151867) : (-1154151858)); - break; - case 12: - num = ((!EqualityComparer.Default.Equals(NpcId, other.NpcId)) ? (-1154151867) : (-1154151872)); - break; - case 8: - num = ((!EqualityComparer.Default.Equals(ShopType, other.ShopType)) ? (-1154151867) : (-1154151859)); - break; - case 3: - return true; - case 11: - num = ((!_200D_206D_202D_200B_200E_200B_202C_206C_200E_200F_206E_202B_202C_202D_206F_206E_206D_202D_202D_202A_202A_206A_206B_202C_206B_206B_200D_202D_202D_202D_202D_200D_200C_200D_206C_200B_206D_206B_206F_202B_202E(EqualityContract, other.EqualityContract)) ? (-1154151867) : (-1154151870)); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(NpcPosition, other.NpcPosition)) ? (-1154151867) : (-1154151857)); - break; - case 5: - num = ((!EqualityComparer.Default.Equals(ShopId, other.ShopId)) ? (-1154151867) : (-1154151861)); - break; - case 2: - return false; - case 4: - return EqualityComparer.Default.Equals(DialogOptionIndex, other.DialogOptionIndex); - } - } - } - - bool IEquatable.Equals(ShopSearchResult? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200F_202B_206E_202C_206C_206B_202A_200F_206C_206C_206C_206C_200C_202C_200E_200E_206B_200C_206E_200F_200F_206C_206F_206F_206C_206C_206C_202B_200F_200C_206D_202D_206D_200C_200B_206B_200C_206F_200E_202A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200D_206C_206E_206C_200F_200F_206F_200D_200F_202C_202A_202B_200C_200F_206A_206B_200E_206E_206F_200E_206F_202E_202C_202A_200F_206D_200F_200C_202A_202E_206E_202E_200D_200D_206D_202C_200F_202D_206A_202E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200C_206F_200F_202B_206B_202E_206B_206D_206B_206E_202E_200D_206E_202E_206E_200C_206D_202D_202A_202E_202A_202D_206A_206C_202B_202B_200D_202B_202D_206A_200B_202A_206C_206C_206F_206C_202A_206B_206A_202B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202C_202B_206F_206B_206B_202A_200D_202D_206A_200B_200E_202E_206A_202A_200C_200F_202D_206F_202C_206B_206A_202A_206E_206C_206D_202C_202C_202B_206B_206F_202C_202C_206A_200C_200F_206D_200B_202A_202A_200D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202A_200C_202E_202E_206D_206B_200D_206F_200C_206E_202D_200D_202A_206D_200E_202C_202A_200F_206E_202B_200E_202C_206A_202B_206B_206B_206D_206B_206D_206F_200E_200D_202C_202E_202C_200B_206C_200D_206D_206F_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200F_206A_206D_202B_206C_206F_200C_202E_200D_206D_202E_206B_206F_200B_200B_200D_206B_206E_200E_202A_202E_202E_200B_206A_202C_206D_202C_206A_200F_200C_202A_206A_202C_202C_206D_206B_206A_200B_202B_200C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _200D_206D_202D_200B_200E_200B_202C_206C_200E_200F_206E_202B_202C_202D_206F_206E_206D_202D_202D_202A_202A_206A_206B_202C_206B_206B_200D_202D_202D_202D_202D_200D_200C_200D_206C_200B_206D_206B_206F_202B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +public sealed record ShopSearchResult(uint ShopId, uint NpcId, ushort TerritoryId, Vector3 NpcPosition, EShopType ShopType, uint Price, uint CurrencyItemId, int DialogOptionIndex = 0); diff --git a/LLib/LLib.Shop.Searchers/GCShopSearcher.cs b/LLib/LLib.Shop.Searchers/GCShopSearcher.cs index 5d583a0..2bc5472 100644 --- a/LLib/LLib.Shop.Searchers/GCShopSearcher.cs +++ b/LLib/LLib.Shop.Searchers/GCShopSearcher.cs @@ -1,7 +1,5 @@ -using System; using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using LLib.Shop.Model; using Lumina.Excel; @@ -11,9 +9,9 @@ namespace LLib.Shop.Searchers; internal sealed class GCShopSearcher { - private static readonly uint[] SealItemIds; + private static readonly uint[] SealItemIds = new uint[4] { 0u, 20u, 21u, 22u }; - private static readonly uint[] QuartermasterNpcIds; + private static readonly uint[] QuartermasterNpcIds = new uint[4] { 0u, 1003251u, 1000394u, 1004416u }; private readonly IDataManager _dataManager; @@ -32,243 +30,71 @@ internal sealed class GCShopSearcher ExcelSheet excelSheet = _dataManager.GetExcelSheet(); ExcelSheet excelSheet2 = _dataManager.GetExcelSheet(); Dictionary dictionary = new Dictionary(); - int num; - using (ExcelSheet.Enumerator enumerator = excelSheet2.GetEnumerator()) + foreach (GCShop item in excelSheet2) { - num = 1051383977; - uint rowId = default(uint); - GCShop current = default(GCShop); - while (true) + uint rowId = item.GrandCompany.RowId; + if (rowId != 0) { - int num2 = num; - int num3 = 1051383979; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1051383977; - break; - case 2: - num = (enumerator.MoveNext() ? 1051383983 : 1051383976); - break; - case 1: - dictionary.TryAdd(rowId, current.RowId); - num = 1051383977; - break; - case 4: - current = enumerator.Current; - rowId = current.GrandCompany.RowId; - num = ((rowId == 0) ? 1051383977 : 1051383978); - break; - case 3: - goto end_IL_0063; - } - continue; - end_IL_0063: - break; + dictionary.TryAdd(rowId, item.RowId); } } Dictionary dictionary2 = new Dictionary(); - using (SubrowExcelSheet.Enumerator enumerator2 = subrowExcelSheet.GetEnumerator()) + foreach (SubrowCollection item2 in subrowExcelSheet) { - num = 754964801; - uint num8 = default(uint); - uint value2 = default(uint); - uint rowId3 = default(uint); - uint value = default(uint); - SubrowCollection current2 = default(SubrowCollection); - uint rowId2 = default(uint); - int num7 = default(int); - GCScripShopCategory row = default(GCScripShopCategory); - uint costGCSeals = default(uint); - GCScripShopItem gCScripShopItem = default(GCScripShopItem); - while (true) + uint rowId2 = item2.RowId; + for (int i = 0; i < item2.Count; i++) { - int num5 = num; - int num3 = 754964806; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) + GCScripShopItem gCScripShopItem = item2[i]; + if (gCScripShopItem.Item.RowId != itemId) { - case 17: - num8 = 1u; - num = 754964805; - break; - case 2: - num = ((!dictionary2.TryGetValue(num8, out value2)) ? 754964815 : 754964813); - break; - case 6: - num = ((!dictionary2.TryGetValue(rowId3, out value)) ? 754964803 : 754964822); - break; - case 13: - current2 = enumerator2.Current; - rowId2 = current2.RowId; - num7 = 0; - num = 754964808; - break; - case 10: - { - uint num9 = num8; - num3 = 1; - num4 = (int)num9; - int num10 = num4 ^ num3; - int num11 = num4 & num3; - num8 = (uint)(num10 + (num11 + num11)); - num = 754964805; - break; + continue; } - case 0: - rowId3 = row.GrandCompany.RowId; - num = ((rowId3 != 0) ? 754964800 : 754964823); - break; - case 14: - num = ((num7 < current2.Count) ? 754964809 : 754964801); - break; - case 1: - costGCSeals = gCScripShopItem.CostGCSeals; - num = ((!excelSheet.TryGetRow(rowId2, out row)) ? 754964810 : 754964806); - break; - case 8: - num = 754964810; - break; - case 9: - dictionary2[num8] = costGCSeals; - num = 754964812; - break; - case 7: - num = (enumerator2.MoveNext() ? 754964811 : 754964820); - break; - case 4: - num = 754964801; - break; - case 11: - num = ((costGCSeals >= value2) ? 754964812 : 754964815); - break; - case 5: - dictionary2[rowId3] = costGCSeals; - num = 754964810; - break; - case 3: - num = ((num8 < (uint)QuartermasterNpcIds.Length) ? 754964804 : 754964814); - break; - case 16: - num = ((costGCSeals >= value) ? 754964810 : 754964803); - break; - case 15: - gCScripShopItem = current2[num7]; - num = ((gCScripShopItem.Item.RowId != itemId) ? 754964810 : 754964807); - break; - case 12: + uint costGCSeals = gCScripShopItem.CostGCSeals; + if (!excelSheet.TryGetRow(rowId2, out var row)) { - int num6 = num7; - num3 = 1; - num4 = num6; - num7 = (num4 | num3) + (num4 & num3); - num = 754964808; - break; + continue; } - case 18: - goto end_IL_014c; - } - continue; - end_IL_014c: - break; - } - } - num = ((dictionary2.Count != 0) ? (-231383589) : (-231383590)); - (ushort, Vector3)? position = default((ushort, Vector3)?); - uint num14 = default(uint); - uint num16 = default(uint); - uint price = default(uint); - uint currencyItemId = default(uint); - while (true) - { - int num12 = num; - int num3 = -231383589; - int num4 = num12; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_046f; - case 1: - return list; - case 0: - { - using Dictionary.Enumerator enumerator3 = dictionary2.GetEnumerator(); - num = 1589717565; - while (true) + uint rowId3 = row.GrandCompany.RowId; + uint value2; + if (rowId3 == 0) { - int num13 = num; - num3 = 1589717566; - num4 = num13; - int num15; - switch ((num4 | num3) - (num4 & num3)) + for (uint num = 1u; num < (uint)QuartermasterNpcIds.Length; num++) { - case 6: - { - (ushort, Vector3) valueOrDefault = position.GetValueOrDefault(); - dictionary.TryGetValue(num14, out var value3); - list.Add(new ShopSearchResult(value3, num16, valueOrDefault.Item1, valueOrDefault.Item2, EShopType.GCShop, price, currencyItemId)); - num = 1589717565; - break; - } - case 1: - num15 = 0; - goto IL_0563; - case 7: - num = 1589717565; - break; - case 3: - num = (enumerator3.MoveNext() ? 1589717564 : 1589717563); - break; - case 0: - num15 = (int)SealItemIds[num14]; - goto IL_0563; - case 2: - { - enumerator3.Current.Deconstruct(out var key, out var value4); - num14 = key; - price = value4; - num = ((num14 >= (uint)QuartermasterNpcIds.Length) ? 1589717565 : 1589717562); - break; - } - case 4: - num16 = QuartermasterNpcIds[num14]; - num = ((num16 == 0) ? 1589717565 : 1589717558); - break; - case 8: - num = ((num14 < (uint)SealItemIds.Length) ? 1589717566 : 1589717567); - break; - case 5: + if (!dictionary2.TryGetValue(num, out var value) || costGCSeals < value) { - return list; + dictionary2[num] = costGCSeals; } - IL_0563: - currencyItemId = (uint)num15; - position = _positionCache.GetPosition(num16); - num = ((!position.HasValue) ? 1589717565 : 1589717560); - break; } } + else if (!dictionary2.TryGetValue(rowId3, out value2) || costGCSeals < value2) + { + dictionary2[rowId3] = costGCSeals; + } } - } - continue; - IL_046f: - num = -231383590; } - } - - static GCShopSearcher() - { - uint[] array = new uint[4]; - _200F_206D_202A_206E_202D_200C_206D_200D_200B_202E_202B_206B_206B_206E_202B_206A_202B_206D_202C_200E_206F_200C_200B_202B_200C_202B_206C_202C_202E_200F_206D_200B_202B_202B_206E_206B_206A_200D_206A_200F_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - SealItemIds = array; - uint[] array2 = new uint[4]; - _200F_206D_202A_206E_202D_200C_206D_200D_200B_202E_202B_206B_206B_206E_202B_206A_202B_206D_202C_200E_206F_200C_200B_202B_200C_202B_206C_202C_202E_200F_206D_200B_202B_202B_206E_206B_206A_200D_206A_200F_202E((Array)array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - QuartermasterNpcIds = array2; - } - - static void _200F_206D_202A_206E_202D_200C_206D_200D_200B_202E_202B_206B_206B_206E_202B_206A_202B_206D_202C_200E_206F_200C_200B_202B_200C_202B_206C_202C_202E_200F_206D_200B_202B_202B_206E_206B_206A_200D_206A_200F_202E(Array P_0, RuntimeFieldHandle P_1) - { - RuntimeHelpers.InitializeArray(P_0, P_1); + if (dictionary2.Count == 0) + { + return list; + } + foreach (var (num4, price) in dictionary2) + { + if (num4 >= (uint)QuartermasterNpcIds.Length) + { + continue; + } + uint num5 = QuartermasterNpcIds[num4]; + if (num5 != 0) + { + uint currencyItemId = ((num4 < (uint)SealItemIds.Length) ? SealItemIds[num4] : 0u); + (ushort, Vector3)? position = _positionCache.GetPosition(num5); + if (position.HasValue) + { + (ushort, Vector3) valueOrDefault = position.GetValueOrDefault(); + dictionary.TryGetValue(num4, out var value3); + list.Add(new ShopSearchResult(value3, num5, valueOrDefault.Item1, valueOrDefault.Item2, EShopType.GCShop, price, currencyItemId)); + } + } + } + return list; } } diff --git a/LLib/LLib.Shop.Searchers/GilShopSearcher.cs b/LLib/LLib.Shop.Searchers/GilShopSearcher.cs index 98e06fe..10d8ff7 100644 --- a/LLib/LLib.Shop.Searchers/GilShopSearcher.cs +++ b/LLib/LLib.Shop.Searchers/GilShopSearcher.cs @@ -24,137 +24,52 @@ internal sealed class GilShopSearcher List list = new List(); ExcelSheet excelSheet = _dataManager.GetExcelSheet(); SubrowExcelSheet subrowExcelSheet = _dataManager.GetSubrowExcelSheet(); - int num = (_dataManager.GetExcelSheet().TryGetRow(itemId, out var row) ? (-465006418) : (-465006419)); - uint rowId = default(uint); - RowRef current2 = default(RowRef); - SubrowCollection row2 = default(SubrowCollection); - bool flag = default(bool); - int num15 = default(int); - while (true) + if (!_dataManager.GetExcelSheet().TryGetRow(itemId, out var row)) { - int num2 = num; - int num3 = -465006420; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_009d; - case 1: - return list; - case 2: - { - uint priceMid = row.PriceMid; - { - foreach (ENpcBase item in excelSheet) - { - if (item.RowId == 0) - { - continue; - } - (ushort, Vector3)? position = _positionCache.GetPosition(item.RowId); - if (!position.HasValue) - { - continue; - } - (ushort, Vector3) valueOrDefault = position.GetValueOrDefault(); - int num7 = 0; - using Collection.Enumerator enumerator2 = item.ENpcData.GetEnumerator(); - num = 342150999; - while (true) - { - int num8 = num; - num3 = 342150993; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 5: - rowId = current2.RowId; - num = (subrowExcelSheet.TryGetRow(rowId, out row2) ? 342150994 : 342150992); - break; - case 3: - flag = false; - num15 = 0; - num = 342151000; - break; - case 7: - num = ((row2[num15].Item.RowId != itemId) ? 342151005 : 342150997); - break; - case 8: - current2 = enumerator2.Current; - num = ((current2.RowId >> 16 != 4) ? 342150999 : 342150996); - break; - case 9: - num = ((num15 < row2.Count) ? 342150998 : 342150995); - break; - case 6: - num = (enumerator2.MoveNext() ? 342151001 : 342151003); - break; - case 1: - { - int num18 = num7; - num3 = 1; - num4 = num18; - int num19 = num4 ^ num3; - int num20 = num4 & num3; - num7 = num19 + (num20 + num20); - num = 342150999; - break; - } - case 13: - num = 342150999; - break; - case 4: - flag = true; - num = 342150995; - break; - case 2: - num = ((!flag) ? 342150993 : 342151002); - break; - case 11: - list.Add(new ShopSearchResult(rowId, item.RowId, valueOrDefault.Item1, valueOrDefault.Item2, EShopType.GilShop, priceMid, 1u, num7)); - num = 342150993; - break; - case 12: - { - int num14 = num15; - num3 = 1; - num4 = num14; - int num16 = num4 ^ num3; - int num17 = num4 & num3; - num15 = num16 + (num17 + num17); - num = 342151000; - break; - } - case 0: - { - int num11 = num7; - num3 = 1; - num4 = num11; - int num12 = num4 ^ num3; - int num13 = num4 & num3; - num7 = num12 + (num13 + num13); - num = 342150999; - break; - } - case 10: - goto end_IL_0120; - } - continue; - end_IL_0120: - break; - } - } - return list; - } - } - } - continue; - IL_009d: - num = -465006419; + return list; } + uint priceMid = row.PriceMid; + foreach (ENpcBase item in excelSheet) + { + if (item.RowId == 0) + { + continue; + } + (ushort, Vector3)? position = _positionCache.GetPosition(item.RowId); + if (!position.HasValue) + { + continue; + } + (ushort, Vector3) valueOrDefault = position.GetValueOrDefault(); + int num = 0; + foreach (RowRef eNpcDatum in item.ENpcData) + { + if (eNpcDatum.RowId >> 16 != 4) + { + continue; + } + uint rowId = eNpcDatum.RowId; + if (!subrowExcelSheet.TryGetRow(rowId, out var row2)) + { + num++; + continue; + } + bool flag = false; + for (int i = 0; i < row2.Count; i++) + { + if (row2[i].Item.RowId == itemId) + { + flag = true; + break; + } + } + if (flag) + { + list.Add(new ShopSearchResult(rowId, item.RowId, valueOrDefault.Item1, valueOrDefault.Item2, EShopType.GilShop, priceMid, 1u, num)); + } + num++; + } + } + return list; } } diff --git a/LLib/LLib.Shop.Searchers/SpecialShopSearcher.cs b/LLib/LLib.Shop.Searchers/SpecialShopSearcher.cs index 9406ba7..0020310 100644 --- a/LLib/LLib.Shop.Searchers/SpecialShopSearcher.cs +++ b/LLib/LLib.Shop.Searchers/SpecialShopSearcher.cs @@ -42,17 +42,6 @@ internal sealed class SpecialShopSearcher List list = new List(); ExcelSheet excelSheet = _dataManager.GetExcelSheet(); ExcelSheet excelSheet2 = _dataManager.GetExcelSheet(); - uint rowId = default(uint); - RowRef current2 = default(RowRef); - SpecialShop shop = default(SpecialShop); - uint price = default(uint); - uint currencyItemId = default(uint); - SpecialShop.ItemStruct itemStruct = default(SpecialShop.ItemStruct); - int num13 = default(int); - int num9 = default(int); - bool flag = default(bool); - int num12 = default(int); - SpecialShop.ItemStruct.ItemCostsStruct itemCostsStruct = default(SpecialShop.ItemStruct.ItemCostsStruct); foreach (ENpcBase item in excelSheet) { if (item.RowId == 0) @@ -66,137 +55,53 @@ internal sealed class SpecialShopSearcher } (ushort, Vector3) valueOrDefault = position.GetValueOrDefault(); int num = 0; - using Collection.Enumerator enumerator2 = item.ENpcData.GetEnumerator(); - int num2 = 1586357649; - while (true) + foreach (RowRef eNpcDatum in item.ENpcData) { - int num3 = num2; - int num4 = 1586357637; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) + if (eNpcDatum.RowId >> 16 != 27) + { + continue; + } + uint rowId = eNpcDatum.RowId; + if (!excelSheet2.TryGetRow(rowId, out var row)) + { + num++; + continue; + } + bool flag = false; + uint currencyItemId = 0u; + uint price = 0u; + for (int i = 0; i < row.Item.Count; i++) + { + SpecialShop.ItemStruct itemStruct = row.Item[i]; + for (int j = 0; j < itemStruct.ReceiveItems.Count; j++) + { + if (itemStruct.ReceiveItems[j].Item.RowId != itemId) + { + continue; + } + flag = true; + for (int k = 0; k < itemStruct.ItemCosts.Count; k++) + { + SpecialShop.ItemStruct.ItemCostsStruct itemCostsStruct = itemStruct.ItemCosts[k]; + if (itemCostsStruct.ItemCost.RowId != 0) + { + currencyItemId = ConvertCurrencyItemId(itemCostsStruct.ItemCost.RowId, in row); + price = itemCostsStruct.CurrencyCost; + break; + } + } + break; + } + if (flag) + { + break; + } + } + if (flag) { - case 5: - rowId = current2.RowId; - num2 = (excelSheet2.TryGetRow(rowId, out shop) ? 1586357643 : 1586357652); - break; - case 8: list.Add(new ShopSearchResult(rowId, item.RowId, valueOrDefault.Item1, valueOrDefault.Item2, EShopType.SpecialShop, price, currencyItemId, num)); - num2 = 1586357638; - break; - case 2: - itemStruct = shop.Item[num13]; - num9 = 0; - num2 = 1586357640; - break; - case 18: - flag = true; - num12 = 0; - num2 = 1586357651; - break; - case 1: - num2 = ((num13 < shop.Item.Count) ? 1586357639 : 1586357635); - break; - case 16: - itemCostsStruct = itemStruct.ItemCosts[num12]; - num2 = ((itemCostsStruct.ItemCost.RowId == 0) ? 1586357646 : 1586357642); - break; - case 17: - { - int num19 = num; - num4 = 1; - num5 = num19; - num = (num5 | num4) + (num5 & num4); - num2 = 1586357649; - break; } - case 10: - num2 = (flag ? 1586357635 : 1586357648); - break; - case 11: - { - int num18 = num12; - num4 = 1; - num5 = num18; - num12 = (num5 | num4) + (num5 & num4); - num2 = 1586357651; - break; - } - case 3: - { - int num15 = num; - num4 = 1; - num5 = num15; - int num16 = num5 ^ num4; - int num17 = num5 & num4; - num = num16 + (num17 + num17); - num2 = 1586357649; - break; - } - case 12: - num2 = 1586357649; - break; - case 6: - num2 = ((!flag) ? 1586357638 : 1586357645); - break; - case 13: - num2 = ((num9 < itemStruct.ReceiveItems.Count) ? 1586357634 : 1586357647); - break; - case 7: - num2 = ((itemStruct.ReceiveItems[num9].Item.RowId != itemId) ? 1586357633 : 1586357655); - break; - case 14: - flag = false; - currencyItemId = 0u; - price = 0u; - num13 = 0; - num2 = 1586357636; - break; - case 20: - num2 = (enumerator2.MoveNext() ? 1586357644 : 1586357654); - break; - case 9: - current2 = enumerator2.Current; - num2 = ((current2.RowId >> 16 != 27) ? 1586357649 : 1586357632); - break; - case 21: - { - int num14 = num13; - num4 = 1; - num5 = num14; - num13 = (num5 | num4) + (num5 & num4); - num2 = 1586357636; - break; - } - case 22: - num2 = ((num12 < itemStruct.ItemCosts.Count) ? 1586357653 : 1586357637); - break; - case 15: - currencyItemId = ConvertCurrencyItemId(itemCostsStruct.ItemCost.RowId, in shop); - price = itemCostsStruct.CurrencyCost; - num2 = 1586357647; - break; - case 0: - num2 = 1586357647; - break; - case 4: - { - int num8 = num9; - num4 = 1; - num5 = num8; - int num10 = num5 ^ num4; - int num11 = num5 & num4; - num9 = num10 + (num11 + num11); - num2 = 1586357640; - break; - } - case 19: - goto end_IL_009b; - } - continue; - end_IL_009b: - break; + num++; } } return list; @@ -204,95 +109,22 @@ internal sealed class SpecialShopSearcher private uint ConvertCurrencyItemId(uint costItemId, in SpecialShop shop) { - int num = ((costItemId == 0) ? 1435581379 : 1435581385); - uint num8 = default(uint); - ushort num7 = default(ushort); - bool flag = default(bool); - while (true) + if (costItemId == 0 || costItemId >= 8) { - int num2 = num; - int num3 = 1435581387; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - uint num10; - switch (num5 - (num6 + num6)) - { - case 3: - num8 = SpecialCurrencies.GetValueOrDefault(costItemId, costItemId); - num = 1435581387; - break; - case 7: - num = ((num7 == 8) ? 1435581389 : 1435581390); - break; - case 4: - num8 = costItemId; - num = 1435581387; - break; - case 15: - num10 = costItemId; - goto IL_014f; - case 12: - flag = false; - num = 1435581386; - break; - case 14: - num7 = 16; - num = 1435581403; - break; - case 5: - num = ((num7 != 16) ? 1435581391 : 1435581384); - break; - case 16: - num = ((num7 == 4) ? 1435581382 : 1435581388); - break; - case 11: - num = 1435581385; - break; - case 8: - return costItemId; - case 17: - { - uint[] tomestoneItemIds = _tomestoneItemIds; - num3 = 1; - num4 = (int)costItemId; - num10 = tomestoneItemIds[~(~num4 + num3)]; - goto IL_014f; - } - case 10: - flag = true; - num = 1435581386; - break; - case 2: - num = ((costItemId < 8) ? 1435581378 : 1435581379); - break; - case 13: - num = ((costItemId <= _tomestoneItemIds.Length) ? 1435581402 : 1435581380); - break; - case 0: - return num8; - case 6: - num8 = 1u; - num = 1435581387; - break; - case 1: - num = ((!flag) ? 1435581403 : 1435581381); - break; - case 9: - { - num7 = shop.UseCurrencyType; - num8 = shop.RowId; - uint num9 = num8; - num3 = 1770637; - num4 = (int)num9; - num = (((uint)(~(~num4 + num3)) > 1u) ? 1435581383 : 1435581377); - break; - } - IL_014f: - num8 = num10; - num = 1435581387; - break; - } + return costItemId; } + ushort num = shop.UseCurrencyType; + uint rowId = shop.RowId; + if (rowId - 1770637 <= 1) + { + num = 16; + } + return num switch + { + 16 => SpecialCurrencies.GetValueOrDefault(costItemId, costItemId), + 8 => 1u, + 4 => (costItemId <= _tomestoneItemIds.Length) ? _tomestoneItemIds[costItemId - 1] : costItemId, + _ => costItemId, + }; } } diff --git a/LLib/LLib.Shop/GcSupplyActions.cs b/LLib/LLib.Shop/GcSupplyActions.cs index 2090e6c..afd62c5 100644 --- a/LLib/LLib.Shop/GcSupplyActions.cs +++ b/LLib/LLib.Shop/GcSupplyActions.cs @@ -1,4 +1,3 @@ -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Component.GUI; using LLib.GameData; @@ -23,665 +22,281 @@ public static class GcSupplyActions public const int MaxListRows = 40; - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool IsSelectStringReady(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1633169237), out addonPtr) ? 1661521836 : 1661521839); - while (true) + if (!gameGui.TryGetAddonByName("SelectString", out var addonPtr)) { - int num2 = num; - int num3 = 1661521838; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0054; - case 1: - return false; - case 2: - return LAddon.IsAddonReady(addonPtr); - } - continue; - IL_0054: - num = 1661521839; + return false; } + return LAddon.IsAddonReady(addonPtr); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TrySelectStringOption(IGameGui gameGui, int index) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(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(-223032717), out addonPtr) ? (-1381192086) : (-1381192087)); - while (true) + if (!gameGui.TryGetAddonByName("SelectString", out var addonPtr)) { - int num2 = num; - int num3 = -1381192088; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = (LAddon.IsAddonReady(addonPtr) ? (-1381192088) : (-1381192085)); - break; - case 1: - return false; - case 0: - AddonCallback.Fire(addonPtr, index); - return true; - case 3: - return false; - case 4: - num = -1381192087; - break; - } + return false; } + if (!LAddon.IsAddonReady(addonPtr)) + { + return false; + } + AddonCallback.Fire(addonPtr, index); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryCloseSelectString(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(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(-223032717), out addonPtr) ? (-378189346) : (-378189345)); - while (true) + if (!gameGui.TryGetAddonByName("SelectString", out var addonPtr)) { - int num2 = num; - int num3 = -378189346; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - AddonCallback.Fire(addonPtr, -1); - return true; - case 1: - return false; - case 2: - goto IL_0068; - } - continue; - IL_0068: - num = -378189345; + return false; } + AddonCallback.Fire(addonPtr, -1); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool IsSupplyListReady(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1021783127), out addonPtr) ? 1360876237 : 1360876238); - while (true) + if (!gameGui.TryGetAddonByName("GrandCompanySupplyList", out var addonPtr)) { - int num2 = num; - int num3 = 1360876236; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return LAddon.IsAddonReady(addonPtr); - case 2: - return false; - case 0: - goto IL_005b; - } - continue; - IL_005b: - num = 1360876238; + return false; } + return LAddon.IsAddonReady(addonPtr); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TrySwitchToExpertTab(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1021783127), out addonPtr) ? (-1935915101) : (-1935915100)); - while (true) + if (!gameGui.TryGetAddonByName("GrandCompanySupplyList", out var addonPtr)) { - int num2 = num; - int num3 = -1935915097; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - AddonCallback.Fire(addonPtr, 0, 2, 0); - return true; - case 4: - num = (LAddon.IsAddonReady(addonPtr) ? (-1935915097) : (-1935915098)); - break; - case 3: - return false; - case 2: - num = -1935915100; - break; - case 1: - return false; - } + return false; } + if (!LAddon.IsAddonReady(addonPtr)) + { + return false; + } + AddonCallback.Fire(addonPtr, 0, 2, 0); + return true; } private unsafe static bool IsListLoaded(AtkUnitBase* addon) { AtkValue atkValues = *addon->AtkValues; - AtkValueType type = atkValues.Type; - int num = ((type == AtkValueType.Int) ? 440834222 : 440834223); - bool result = default(bool); - while (true) + return atkValues.Type switch { - int num2 = num; - int num3 = 440834218; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 440834223; - break; - case 4: - result = atkValues.Int == 2; - num = 440834217; - break; - case 1: - result = atkValues.UInt == 2; - num = 440834217; - break; - case 2: - result = false; - num = 440834217; - break; - case 3: - return result; - case 5: - num = ((type != AtkValueType.UInt) ? 440834216 : 440834219); - break; - } - } + AtkValueType.UInt => atkValues.UInt == 2, + AtkValueType.Int => atkValues.Int == 2, + _ => false, + }; } private unsafe static bool IsExpertTab(AtkUnitBase* addon) { AtkValue atkValue = addon->AtkValues[5]; - AtkValueType type = atkValue.Type; - int num = ((type == AtkValueType.Int) ? (-1706563251) : (-1706563253)); - bool result = default(bool); - while (true) + return atkValue.Type switch { - int num2 = num; - int num3 = -1706563256; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - result = atkValue.UInt == 2; - num = -1706563255; - break; - case 1: - return result; - case 0: - result = false; - num = -1706563255; - break; - case 2: - num = -1706563253; - break; - case 5: - result = atkValue.Int == 2; - num = -1706563255; - break; - case 3: - num = ((type != AtkValueType.UInt) ? (-1706563256) : (-1706563252)); - break; - } - } + AtkValueType.UInt => atkValue.UInt == 2, + AtkValueType.Int => atkValue.Int == 2, + _ => false, + }; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool IsExpertTabActive(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(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(-56578548), out addonPtr) ? (-429976172) : (-429976171)); - while (true) + if (!gameGui.TryGetAddonByName("GrandCompanySupplyList", out var addonPtr)) { - int num2 = num; - int num3 = -429976175; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - num = ((addonPtr->AtkValuesCount >= 7) ? (-429976174) : (-429976173)); - break; - case 4: - return false; - case 5: - num = (LAddon.IsAddonReady(addonPtr) ? (-429976176) : (-429976170)); - break; - case 7: - return false; - case 3: - return IsExpertTab(addonPtr); - case 2: - return false; - case 0: - num = -429976171; - break; - case 1: - num = ((addonPtr->AtkValues == null) ? (-429976173) : (-429976169)); - break; - } + return false; } + if (!LAddon.IsAddonReady(addonPtr)) + { + return false; + } + if (addonPtr->AtkValues == null || addonPtr->AtkValuesCount < 7) + { + return false; + } + return IsExpertTab(addonPtr); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static int GetListItemCount(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(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(-791024633), out addonPtr) ? (-2072162579) : (-2072162586)); - AtkValue atkValue = default(AtkValue); - while (true) + if (!gameGui.TryGetAddonByName("GrandCompanySupplyList", out var addonPtr)) { - int num2 = num; - int num3 = -2072162587; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 8: - num = (LAddon.IsAddonReady(addonPtr) ? (-2072162581) : (-2072162590)); - break; - case 9: - num = ((addonPtr->AtkValuesCount >= 7) ? (-2072162589) : (-2072162577)); - break; - case 0: - num = -2072162586; - break; - case 7: - return -1; - case 5: - return atkValue.Int; - case 10: - return -1; - case 11: - num = ((atkValue.Type != AtkValueType.UInt) ? (-2072162583) : (-2072162591)); - break; - case 12: - return -1; - case 4: - return (int)atkValue.UInt; - case 14: - num = ((addonPtr->AtkValues == null) ? (-2072162577) : (-2072162580)); - break; - case 3: - return -1; - case 13: - num = (IsExpertTab(addonPtr) ? (-2072162588) : (-2072162585)); - break; - case 2: - return -1; - case 6: - num = ((!IsListLoaded(addonPtr)) ? (-2072162585) : (-2072162584)); - break; - case 1: - atkValue = addonPtr->AtkValues[6]; - num = ((atkValue.Type != AtkValueType.Int) ? (-2072162578) : (-2072162592)); - break; - } + return -1; } + if (!LAddon.IsAddonReady(addonPtr)) + { + return -1; + } + if (addonPtr->AtkValues == null || addonPtr->AtkValuesCount < 7) + { + return -1; + } + if (!IsListLoaded(addonPtr) || !IsExpertTab(addonPtr)) + { + return -1; + } + AtkValue atkValue = addonPtr->AtkValues[6]; + if (atkValue.Type == AtkValueType.Int) + { + return atkValue.Int; + } + if (atkValue.Type == AtkValueType.UInt) + { + return (int)atkValue.UInt; + } + return -1; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static uint GetListItemId(IGameGui gameGui, int itemIndex) { - int num = ((itemIndex < 0) ? 157882237 : 157882223); - AtkValue atkValue = default(AtkValue); - AtkUnitBase* addonPtr = default(AtkUnitBase*); - while (true) + if (itemIndex < 0 || itemIndex >= 40) { - int num2 = num; - int num3 = 157882237; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 12: - num = ((atkValue.Int <= 0) ? 157882235 : 157882226); - break; - case 3: - return atkValue.UInt; - case 5: - num = ((atkValue.Type != AtkValueType.Int) ? 157882235 : 157882225); - break; - case 14: - { - ushort atkValuesCount = addonPtr->AtkValuesCount; - num3 = itemIndex; - num4 = 425; - int num5 = num4 ^ num3; - int num6 = num4 & num3; - num = ((atkValuesCount > num5 + (num6 + num6)) ? 157882233 : 157882228); - break; - } - case 0: - return 0u; - case 15: - return (uint)atkValue.Int; - case 17: - return 0u; - case 18: - num = ((itemIndex < 40) ? 157882221 : 157882237); - break; - case 8: - num = 157882223; - break; - case 1: - num = ((addonPtr->AtkValues == null) ? 157882228 : 157882227); - break; - case 9: - return 0u; - case 13: - return 0u; - case 16: - num = (gameGui.TryGetAddonByName(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(2078745431), out addonPtr) ? 157882239 : 157882231); - break; - case 2: - num = (LAddon.IsAddonReady(addonPtr) ? 157882236 : 157882224); - break; - case 6: - return 0u; - case 7: - num = (IsExpertTab(addonPtr) ? 157882230 : 157882220); - break; - case 11: - { - AtkValue* atkValues = addonPtr->AtkValues; - num3 = itemIndex; - num4 = 425; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - atkValue = atkValues[num7 + (num8 + num8)]; - num = ((atkValue.Type != AtkValueType.UInt) ? 157882232 : 157882238); - break; - } - case 10: - return 0u; - case 4: - num = ((!IsListLoaded(addonPtr)) ? 157882220 : 157882234); - break; - } + return 0u; } + if (!gameGui.TryGetAddonByName("GrandCompanySupplyList", out var addonPtr)) + { + return 0u; + } + if (!LAddon.IsAddonReady(addonPtr)) + { + return 0u; + } + if (addonPtr->AtkValues == null || addonPtr->AtkValuesCount <= 425 + itemIndex) + { + return 0u; + } + if (!IsListLoaded(addonPtr) || !IsExpertTab(addonPtr)) + { + return 0u; + } + AtkValue atkValue = addonPtr->AtkValues[425 + itemIndex]; + if (atkValue.Type == AtkValueType.UInt) + { + return atkValue.UInt; + } + if (atkValue.Type == AtkValueType.Int && atkValue.Int > 0) + { + return (uint)atkValue.Int; + } + return 0u; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static int GetListItemSealReward(IGameGui gameGui, int itemIndex) { - int num = ((itemIndex < 0) ? 942417142 : 942417140); - AtkUnitBase* addonPtr = default(AtkUnitBase*); - AtkValue atkValue = default(AtkValue); - while (true) + if (itemIndex < 0 || itemIndex >= 40) { - int num2 = num; - int num3 = 942417143; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 11: - return -1; - case 17: - num = ((!IsListLoaded(addonPtr)) ? 942417138 : 942417143); - break; - case 9: - { - ushort atkValuesCount = addonPtr->AtkValuesCount; - num3 = itemIndex; - num4 = 265; - num = ((atkValuesCount > (num4 | num3) + (num4 & num3)) ? 942417126 : 942417144); - break; - } - case 14: - return -1; - case 12: - num = 942417140; - break; - case 4: - num = ((addonPtr->AtkValues == null) ? 942417144 : 942417150); - break; - case 2: - return (int)atkValue.UInt; - case 3: - num = ((itemIndex < 40) ? 942417137 : 942417142); - break; - case 0: - num = (IsExpertTab(addonPtr) ? 942417151 : 942417138); - break; - case 16: - num = ((atkValue.Type != AtkValueType.UInt) ? 942417149 : 942417141); - break; - case 1: - return -1; - case 13: - return atkValue.Int; - case 7: - num = (LAddon.IsAddonReady(addonPtr) ? 942417139 : 942417145); - break; - case 5: - return -1; - case 15: - return -1; - case 6: - num = (gameGui.TryGetAddonByName(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(2078745431), out addonPtr) ? 942417136 : 942417148); - break; - case 10: - return -1; - case 8: - { - AtkValue* atkValues = addonPtr->AtkValues; - num3 = itemIndex; - num4 = 265; - atkValue = atkValues[(num4 | num3) + (num4 & num3)]; - num = ((atkValue.Type != AtkValueType.Int) ? 942417127 : 942417146); - break; - } - } + return -1; } + if (!gameGui.TryGetAddonByName("GrandCompanySupplyList", out var addonPtr)) + { + return -1; + } + if (!LAddon.IsAddonReady(addonPtr)) + { + return -1; + } + if (addonPtr->AtkValues == null || addonPtr->AtkValuesCount <= 265 + itemIndex) + { + return -1; + } + if (!IsListLoaded(addonPtr) || !IsExpertTab(addonPtr)) + { + return -1; + } + AtkValue atkValue = addonPtr->AtkValues[265 + itemIndex]; + if (atkValue.Type == AtkValueType.Int) + { + return atkValue.Int; + } + if (atkValue.Type == AtkValueType.UInt) + { + return (int)atkValue.UInt; + } + return -1; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TrySelectItem(IGameGui gameGui, int itemIndex) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(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(2047037119), out addonPtr) ? 83215981 : 83215979); - while (true) + if (!gameGui.TryGetAddonByName("GrandCompanySupplyList", out var addonPtr)) { - int num2 = num; - int num3 = 83215977; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 83215979; - break; - case 4: - num = (LAddon.IsAddonReady(addonPtr) ? 83215976 : 83215978); - break; - case 3: - return false; - case 1: - AddonCallback.Fire(addonPtr, 1, itemIndex, 0); - return true; - case 2: - return false; - } + return false; } + if (!LAddon.IsAddonReady(addonPtr)) + { + return false; + } + AddonCallback.Fire(addonPtr, 1, itemIndex, 0); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryForceRefresh(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(2078745431), out addonPtr) ? 1468289263 : 1468289256); - while (true) + if (!gameGui.TryGetAddonByName("GrandCompanySupplyList", out var addonPtr)) { - int num2 = num; - int num3 = 1468289259; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1468289256; - break; - case 3: - return false; - case 4: - num = (LAddon.IsAddonReady(addonPtr) ? 1468289258 : 1468289257); - break; - case 1: - AddonCallback.Fire(addonPtr, 2); - return true; - case 2: - return false; - } + return false; } + if (!LAddon.IsAddonReady(addonPtr)) + { + return false; + } + AddonCallback.Fire(addonPtr, 2); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryCloseSupplyList(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(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(-56578548), out addonPtr) ? (-131329648) : (-131329645)); - while (true) + if (!gameGui.TryGetAddonByName("GrandCompanySupplyList", out var addonPtr)) { - int num2 = num; - int num3 = -131329647; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0052; - case 2: - return false; - case 1: - AddonCallback.Fire(addonPtr, -1); - return true; - } - continue; - IL_0052: - num = -131329645; + return false; } + AddonCallback.Fire(addonPtr, -1); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool IsRewardDialogReady(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-1608495528), out addonPtr) ? 578433628 : 578433629); - while (true) + if (!gameGui.TryGetAddonByName("GrandCompanySupplyReward", out var addonPtr)) { - int num2 = num; - int num3 = 578433628; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0052; - case 0: - return LAddon.IsAddonReady(addonPtr); - case 1: - return false; - } - continue; - IL_0052: - num = 578433629; + return false; } + return LAddon.IsAddonReady(addonPtr); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryConfirmTurnIn(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(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(275890163), out addonPtr) ? 799150129 : 799150135); - while (true) + if (!gameGui.TryGetAddonByName("GrandCompanySupplyReward", out var addonPtr)) { - int num2 = num; - int num3 = 799150131; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = 799150135; - break; - case 4: - return false; - case 1: - AddonCallback.Fire(addonPtr, default(int)); - return true; - case 2: - num = (LAddon.IsAddonReady(addonPtr) ? 799150130 : 799150131); - break; - case 0: - return false; - } + return false; } + if (!LAddon.IsAddonReady(addonPtr)) + { + return false; + } + AddonCallback.Fire(addonPtr, default(int)); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool IsHqConfirmReady(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(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(1402346953), out addonPtr) ? 140237471 : 140237470); - while (true) + if (!gameGui.TryGetAddonByName("SelectYesno", out var addonPtr)) { - int num2 = num; - int num3 = 140237471; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0054; - case 1: - return false; - case 0: - return LAddon.IsAddonReady(addonPtr); - } - continue; - IL_0054: - num = 140237470; + return false; } + return LAddon.IsAddonReady(addonPtr); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryConfirmHqTrade(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(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(-502173951), out addonPtr) ? 1659793375 : 1659793372); - while (true) + if (!gameGui.TryGetAddonByName("SelectYesno", out var addonPtr)) { - int num2 = num; - int num3 = 1659793374; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return false; - case 0: - AddonCallback.ClickYes(addonPtr); - return true; - case 4: - num = 1659793372; - break; - case 1: - num = (LAddon.IsAddonReady(addonPtr) ? 1659793374 : 1659793373); - break; - case 2: - return false; - } + return false; } + if (!LAddon.IsAddonReady(addonPtr)) + { + return false; + } + AddonCallback.ClickYes(addonPtr); + return true; } public static int GetCurrentSeals() @@ -692,59 +307,27 @@ public static class GcSupplyActions public static int GetMaxSeals(IDataManager dataManager) { byte grandCompanyRank = GrandCompanyHelper.GetGrandCompanyRank(); - int num = ((grandCompanyRank != 0) ? 1262186934 : 1262186932); - GrandCompanyRank row = default(GrandCompanyRank); - while (true) + if (grandCompanyRank == 0) { - int num2 = num; - int num3 = 1262186933; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1262186932; - break; - case 1: - return 0; - case 4: - return (int)row.MaxSeals; - case 2: - return 0; - case 3: - num = (dataManager.GetExcelSheet().TryGetRow(grandCompanyRank, out row) ? 1262186929 : 1262186935); - break; - } + return 0; } + if (!dataManager.GetExcelSheet().TryGetRow(grandCompanyRank, out var row)) + { + return 0; + } + return (int)row.MaxSeals; } public static bool IsItemExpertDeliverable(IDataManager dataManager, uint itemId) { - Item row; - int num = (dataManager.GetExcelSheet().TryGetRow(itemId, out row) ? (-1763780714) : (-1763780716)); - while (true) + if (!dataManager.GetExcelSheet().TryGetRow(itemId, out var row)) { - int num2 = num; - int num3 = -1763780715; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -1763780716; - break; - case 0: - return false; - case 3: - num = ((row.Rarity >= 2) ? (-1763780719) : (-1763780715)); - break; - case 1: - return false; - case 4: - return row.Desynth > 0; - } + return false; } + if (row.Rarity < 2) + { + return false; + } + return row.Desynth > 0; } } diff --git a/LLib/LLib.Shop/GrandCompanyShop.cs b/LLib/LLib.Shop/GrandCompanyShop.cs index aa9cd15..b9dd673 100644 --- a/LLib/LLib.Shop/GrandCompanyShop.cs +++ b/LLib/LLib.Shop/GrandCompanyShop.cs @@ -1,11 +1,8 @@ using System; using System.Collections.Generic; using System.Collections.ObjectModel; -using System.Runtime.CompilerServices; -using System.Threading; using Dalamud.Game.Addon.Lifecycle; using Dalamud.Game.Addon.Lifecycle.AddonArgTypes; -using Dalamud.Game.NativeWrapper; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Client.Game.UI; @@ -73,738 +70,214 @@ public sealed class GrandCompanyShop : IDisposable private int _itemCountBeforePurchase; - [CompilerGenerated] - private EventHandler? m_PurchaseCompleted; - - [CompilerGenerated] - private EventHandler? m_ShopOpened; - - [CompilerGenerated] - private EventHandler? m_ShopClosed; - public bool IsOpen { get; private set; } public bool IsPurchaseInProgress => _pendingPurchase != null; public bool IsAwaitingConfirmation { get; private set; } - public event EventHandler? PurchaseCompleted - { - [CompilerGenerated] - add - { - EventHandler eventHandler = this.m_PurchaseCompleted; - int num = 1165402561; - while (true) - { - int num2 = num; - int num3 = 1165402563; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1165402561; - break; - case 1: - return; - case 2: - { - EventHandler eventHandler2 = eventHandler; - EventHandler value2 = (EventHandler)_202E_202C_206F_200C_202C_206D_202A_206E_206B_200B_200F_202B_200F_206C_200F_200F_202E_200C_200E_206D_206B_202B_206A_202A_202D_202A_200D_200E_206F_206C_200D_202C_200C_206D_200B_206E_206C_206E_202E_206B_202E((Delegate)eventHandler2, (Delegate)value); - eventHandler = Interlocked.CompareExchange(ref this.m_PurchaseCompleted, value2, eventHandler2); - num = (((object)eventHandler != eventHandler2) ? 1165402561 : 1165402562); - break; - } - } - } - } - [CompilerGenerated] - remove - { - EventHandler eventHandler = this.m_PurchaseCompleted; - int num = -1559785428; - while (true) - { - int num2 = num; - int num3 = -1559785427; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return; - case 1: - { - EventHandler eventHandler2 = eventHandler; - EventHandler value2 = (EventHandler)_200B_200F_200D_200E_200E_206D_200C_206C_206F_200B_202C_202C_206F_202C_202B_206D_206A_202B_206C_202C_206E_200C_200D_202E_200D_202A_202A_200B_202C_202B_206B_200F_206B_200E_206A_206C_200F_200D_200F_206D_202E((Delegate)eventHandler2, (Delegate)value); - eventHandler = Interlocked.CompareExchange(ref this.m_PurchaseCompleted, value2, eventHandler2); - num = (((object)eventHandler != eventHandler2) ? (-1559785428) : (-1559785427)); - break; - } - case 2: - num = -1559785428; - break; - } - } - } - } + public event EventHandler? PurchaseCompleted; - public event EventHandler? ShopOpened - { - [CompilerGenerated] - add - { - EventHandler eventHandler = this.m_ShopOpened; - int num = 1361377683; - while (true) - { - int num2 = num; - int num3 = 1361377682; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1361377683; - break; - case 1: - { - EventHandler eventHandler2 = eventHandler; - EventHandler value2 = (EventHandler)_202E_202C_206F_200C_202C_206D_202A_206E_206B_200B_200F_202B_200F_206C_200F_200F_202E_200C_200E_206D_206B_202B_206A_202A_202D_202A_200D_200E_206F_206C_200D_202C_200C_206D_200B_206E_206C_206E_202E_206B_202E((Delegate)eventHandler2, (Delegate)value); - eventHandler = Interlocked.CompareExchange(ref this.m_ShopOpened, value2, eventHandler2); - num = (((object)eventHandler != eventHandler2) ? 1361377683 : 1361377680); - break; - } - case 2: - return; - } - } - } - [CompilerGenerated] - remove - { - EventHandler eventHandler = this.m_ShopOpened; - int num = -281406326; - while (true) - { - int num2 = num; - int num3 = -281406328; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -281406326; - break; - case 1: - return; - case 2: - { - EventHandler eventHandler2 = eventHandler; - EventHandler value2 = (EventHandler)_200B_200F_200D_200E_200E_206D_200C_206C_206F_200B_202C_202C_206F_202C_202B_206D_206A_202B_206C_202C_206E_200C_200D_202E_200D_202A_202A_200B_202C_202B_206B_200F_206B_200E_206A_206C_200F_200D_200F_206D_202E((Delegate)eventHandler2, (Delegate)value); - eventHandler = Interlocked.CompareExchange(ref this.m_ShopOpened, value2, eventHandler2); - num = (((object)eventHandler != eventHandler2) ? (-281406326) : (-281406327)); - break; - } - } - } - } - } + public event EventHandler? ShopOpened; - public event EventHandler? ShopClosed - { - [CompilerGenerated] - add - { - EventHandler eventHandler = this.m_ShopClosed; - int num = 1747740711; - while (true) - { - int num2 = num; - int num3 = 1747740710; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 1747740711; - break; - case 0: - return; - case 1: - { - EventHandler eventHandler2 = eventHandler; - EventHandler value2 = (EventHandler)_202E_202C_206F_200C_202C_206D_202A_206E_206B_200B_200F_202B_200F_206C_200F_200F_202E_200C_200E_206D_206B_202B_206A_202A_202D_202A_200D_200E_206F_206C_200D_202C_200C_206D_200B_206E_206C_206E_202E_206B_202E((Delegate)eventHandler2, (Delegate)value); - eventHandler = Interlocked.CompareExchange(ref this.m_ShopClosed, value2, eventHandler2); - num = (((object)eventHandler != eventHandler2) ? 1747740711 : 1747740710); - break; - } - } - } - } - [CompilerGenerated] - remove - { - EventHandler eventHandler = this.m_ShopClosed; - int num = 34666078; - while (true) - { - int num2 = num; - int num3 = 34666076; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 34666078; - break; - case 1: - return; - case 2: - { - EventHandler eventHandler2 = eventHandler; - EventHandler value2 = (EventHandler)_200B_200F_200D_200E_200E_206D_200C_206C_206F_200B_202C_202C_206F_202C_202B_206D_206A_202B_206C_202C_206E_200C_200D_202E_200D_202A_202A_200B_202C_202B_206B_200F_206B_200E_206A_206C_200F_200D_200F_206D_202E((Delegate)eventHandler2, (Delegate)value); - eventHandler = Interlocked.CompareExchange(ref this.m_ShopClosed, value2, eventHandler2); - num = (((object)eventHandler != eventHandler2) ? 34666078 : 34666077); - break; - } - } - } - } - } + public event EventHandler? ShopClosed; - [MethodImpl(MethodImplOptions.NoInlining)] public GrandCompanyShop(IPluginLog pluginLog, IGameGui gameGui, IAddonLifecycle addonLifecycle, IDataManager dataManager) { - _206D_202D_200F_202D_200D_206A_200F_206C_202D_202C_200F_200D_206D_206E_206B_200D_202A_200D_206E_206A_206C_200D_206F_200F_206D_200C_200D_200F_206E_200F_206A_200C_206B_206B_202B_202E_206D_200B_200B_206A_202E((object)pluginLog, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1267946466)); - _206D_202D_200F_202D_200D_206A_200F_206C_202D_202C_200F_200D_206D_206E_206B_200D_202A_200D_206E_206A_206C_200D_206F_200F_206D_200C_200D_200F_206E_200F_206A_200C_206B_206B_202B_202E_206D_200B_200B_206A_202E((object)gameGui, 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(-89144403)); - _206D_202D_200F_202D_200D_206A_200F_206C_202D_202C_200F_200D_206D_206E_206B_200D_202A_200D_206E_206A_206C_200D_206F_200F_206D_200C_200D_200F_206E_200F_206A_200C_206B_206B_202B_202E_206D_200B_200B_206A_202E((object)addonLifecycle, 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(1756451262)); - _206D_202D_200F_202D_200D_206A_200F_206C_202D_202C_200F_200D_206D_206E_206B_200D_202A_200D_206E_206A_206C_200D_206F_200F_206D_200C_200D_200F_206E_200F_206A_200C_206B_206B_202B_202E_206D_200B_200B_206A_202E((object)dataManager, 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(167281534)); + ArgumentNullException.ThrowIfNull(pluginLog, "pluginLog"); + ArgumentNullException.ThrowIfNull(gameGui, "gameGui"); + ArgumentNullException.ThrowIfNull(addonLifecycle, "addonLifecycle"); + ArgumentNullException.ThrowIfNull(dataManager, "dataManager"); _pluginLog = pluginLog; _gameGui = gameGui; _addonLifecycle = addonLifecycle; _itemSheet = dataManager.GetExcelSheet(); - _202A_206B_206F_206E_202E_206A_202B_202C_200E_202A_200C_200C_200B_200E_206B_202E_202E_202C_200B_202D_206F_206A_206C_206F_200B_206A_206A_202B_206F_206B_200B_206A_200C_206B_202E_206E_200F_202E_200E_200D_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1178205757), (IAddonLifecycle.AddonEventDelegate)OnShopPostSetup); - _202A_206B_206F_206E_202E_206A_202B_202C_200E_202A_200C_200C_200B_200E_206B_202E_202E_202C_200B_202D_206F_206A_206C_206F_200B_206A_206A_202B_206F_206B_200B_206A_200C_206B_202E_206E_200F_202E_200E_200D_202E(_addonLifecycle, AddonEvent.PreFinalize, 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(-1848412387), (IAddonLifecycle.AddonEventDelegate)OnShopPreFinalize); - _202A_206B_206F_206E_202E_206A_202B_202C_200E_202A_200C_200C_200B_200E_206B_202E_202E_202C_200B_202D_206F_206A_206C_206F_200B_206A_206A_202B_206F_206B_200B_206A_200C_206B_202E_206E_200F_202E_200E_200D_202E(_addonLifecycle, AddonEvent.PostSetup, 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(-502173951), (IAddonLifecycle.AddonEventDelegate)OnSelectYesNoPostSetup); - _202A_206B_206F_206E_202E_206A_202B_202C_200E_202A_200C_200C_200B_200E_206B_202E_202E_202C_200B_202D_206F_206A_206C_206F_200B_206A_206A_202B_206F_206B_200B_206A_200C_206B_202E_206E_200F_202E_200E_200D_202E(_addonLifecycle, AddonEvent.PostUpdate, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(423301839), (IAddonLifecycle.AddonEventDelegate)OnSelectYesNoPostUpdate); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "GrandCompanyExchange", OnShopPostSetup); + _addonLifecycle.RegisterListener(AddonEvent.PreFinalize, "GrandCompanyExchange", OnShopPreFinalize); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "SelectYesno", OnSelectYesNoPostSetup); + _addonLifecycle.RegisterListener(AddonEvent.PostUpdate, "SelectYesno", OnSelectYesNoPostUpdate); } - [MethodImpl(MethodImplOptions.NoInlining)] private void OnShopPostSetup(AddonEvent type, AddonArgs args) { IsOpen = true; _navigationStep = 0; - _200D_206E_200E_202C_202B_202B_206B_206D_206F_202E_200E_206D_202C_206C_200D_200C_206F_206C_206F_202C_206C_200E_202D_202D_202A_200B_202E_206C_206D_200F_206A_200C_202A_202D_202A_206B_200B_200E_200C_202C_202E(_pluginLog, 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(1066347615), Array.Empty()); + _pluginLog.Debug("[GCShop] Shop opened"); this.ShopOpened?.Invoke(this, EventArgs.Empty); } - [MethodImpl(MethodImplOptions.NoInlining)] private void OnShopPreFinalize(AddonEvent type, AddonArgs args) { uint? num = _pendingPurchase?.ItemId; IsOpen = false; ResetPurchaseState(); - _200D_206E_200E_202C_202B_202B_206B_206D_206F_202E_200E_206D_202C_206C_200D_200C_206F_206C_206F_202C_206C_200E_202D_202D_202A_200B_202E_206C_206D_200F_206A_200C_202A_202D_202A_206B_200B_200E_200C_202C_202E(_pluginLog, 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(666829825), Array.Empty()); - EventHandler? eventHandler = this.ShopClosed; - if (eventHandler == null) + _pluginLog.Debug("[GCShop] Shop closed"); + this.ShopClosed?.Invoke(this, EventArgs.Empty); + if (num.HasValue) { - goto IL_00d9; + this.PurchaseCompleted?.Invoke(this, new PurchaseCompletedEventArgs(num.Value, success: false)); } - eventHandler(this, EventArgs.Empty); - int num2 = -1294964905; - goto IL_0075; - IL_00d9: - num2 = ((!num.HasValue) ? (-1294964908) : (-1294964906)); - goto IL_0075; - IL_0075: - while (true) - { - int num3 = num2; - int num4 = -1294964907; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - default: - continue; - case 0: - num2 = -1294964905; - continue; - case 3: - { - EventHandler? eventHandler2 = this.PurchaseCompleted; - if (eventHandler2 == null) - { - return; - } - eventHandler2(this, new PurchaseCompletedEventArgs(num.Value, success: false)); - num2 = -1294964908; - continue; - } - case 2: - break; - case 1: - return; - } - break; - } - goto IL_00d9; } private void OnSelectYesNoPostSetup(AddonEvent type, AddonArgs args) { - int num = ((_pendingPurchase == null) ? 1914486152 : 1914486153); - while (true) + if (_pendingPurchase != null && IsAwaitingConfirmation) { - int num2 = num; - int num3 = 1914486154; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _yesNoArmed = true; - num = 1914486152; - break; - case 2: - return; - case 0: - num = 1914486153; - break; - case 3: - num = ((!IsAwaitingConfirmation) ? 1914486152 : 1914486155); - break; - } + _yesNoArmed = true; } } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void OnSelectYesNoPostUpdate(AddonEvent type, AddonArgs args) { - int num = ((_pendingPurchase == null) ? (-1083928703) : (-1083928698)); - AtkUnitBase* address = default(AtkUnitBase*); - while (true) + if (_pendingPurchase != null && IsAwaitingConfirmation && _yesNoArmed) { - int num2 = num; - int num3 = -1083928701; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address; + if (LAddon.IsAddonReady(address)) { - case 0: - address = (AtkUnitBase*)_206F_202E_200B_202E_206B_206B_206B_202A_200C_206C_202D_200C_202E_200C_202D_202E_202E_206B_206B_206D_206E_202D_206F_206B_200D_200C_206F_202D_206B_202E_206E_202E_202C_200F_202E_206A_202A_202A_200F_206D_202E(args).Address; - num = (LAddon.IsAddonReady(address) ? (-1083928704) : (-1083928699)); - break; - case 3: _yesNoArmed = false; - _202B_202B_202A_206C_206D_206F_200F_202B_202B_200B_200D_200B_200F_202A_202D_200B_202C_202C_200D_202D_202D_206F_200B_206D_202C_200D_202B_206E_202D_202C_202C_202A_200F_200C_200B_206C_200E_202E_202A_206A_202E(_pluginLog, 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(-1268211520), Array.Empty()); + _pluginLog.Information("[GCShop] Confirming purchase dialog"); AddonCallback.ClickYes(address); address->Close(fireCallback: true); IsAwaitingConfirmation = false; - _lastActionMs = _202E_202B_202B_206F_200E_200E_202E_206D_200E_206F_200F_206E_200B_206D_206A_206E_206D_202B_200C_200F_206C_202C_202E_202D_206A_200E_202A_200C_200C_202D_202C_202A_206E_206B_200D_206B_202E_206D_202E_202E(); - return; - case 2: - return; - case 6: - return; - case 4: - num = -1083928698; - break; - case 5: - num = ((!IsAwaitingConfirmation) ? (-1083928703) : (-1083928702)); - break; - case 1: - num = (_yesNoArmed ? (-1083928701) : (-1083928703)); - break; + _lastActionMs = Environment.TickCount64; } } } - [MethodImpl(MethodImplOptions.NoInlining)] public bool StartPurchase(uint itemId, int rankTabIndex, int categoryTabIndex, int quantity) { - int num = ((!IsOpen) ? 1313706852 : 1313706855); - while (true) + if (!IsOpen || _pendingPurchase != null) { - int num2 = num; - int num3 = 1313706853; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1313706855; - break; - case 1: - return false; - case 3: - { - _pendingPurchase = new GrandCompanyPurchaseRequest - { - ItemId = itemId, - RankTabIndex = rankTabIndex, - CategoryTabIndex = categoryTabIndex, - DesiredQuantity = quantity - }; - _navigationStep = 0; - _lastActionMs = 0L; - _itemCountBeforePurchase = -1; - IPluginLog pluginLog = _pluginLog; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(37, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(243895174)); - defaultInterpolatedStringHandler.AppendFormatted(quantity); - defaultInterpolatedStringHandler.AppendLiteral(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(1293415020)); - defaultInterpolatedStringHandler.AppendFormatted(itemId); - _202B_202B_202A_206C_206D_206F_200F_202B_202B_200B_200D_200B_200F_202A_202D_200B_202C_202C_200D_202D_202D_206F_200B_206D_202C_200D_202B_206E_202D_202C_202C_202A_200F_200C_200B_206C_200E_202E_202A_206A_202E(pluginLog, defaultInterpolatedStringHandler.ToStringAndClear(), Array.Empty()); - return true; - } - case 2: - num = ((_pendingPurchase == null) ? 1313706854 : 1313706852); - break; - } + return false; } + _pendingPurchase = new GrandCompanyPurchaseRequest + { + ItemId = itemId, + RankTabIndex = rankTabIndex, + CategoryTabIndex = categoryTabIndex, + DesiredQuantity = quantity + }; + _navigationStep = 0; + _lastActionMs = 0L; + _itemCountBeforePurchase = -1; + _pluginLog.Information($"[GCShop] Starting purchase of {quantity}x item {itemId}"); + return true; } public void CancelPurchase() { uint? num = _pendingPurchase?.ItemId; ResetPurchaseState(); - int num2 = ((!num.HasValue) ? (-828309669) : (-828309670)); - while (true) + if (num.HasValue) { - int num3 = num2; - int num4 = -828309669; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - num2 = -828309670; - break; - case 0: - return; - case 1: - { - EventHandler? eventHandler = this.PurchaseCompleted; - if (eventHandler == null) - { - return; - } - eventHandler(this, new PurchaseCompletedEventArgs(num.Value, success: false)); - num2 = -828309669; - break; - } - } + this.PurchaseCompleted?.Invoke(this, new PurchaseCompletedEventArgs(num.Value, success: false)); } } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe bool ProcessPurchase() { - int num = ((_pendingPurchase == null) ? 636680118 : 636680125); - long num11 = default(long); - int num10 = default(int); - int num15 = default(int); - int maxHoldableQuantity = default(int); - int inventoryItemCount = default(int); - InventoryManager* ptr2 = default(InventoryManager*); - AtkUnitBase* addonPtr = default(AtkUnitBase*); - InventoryManager* ptr = default(InventoryManager*); - GrandCompanyItem grandCompanyItem = default(GrandCompanyItem); - int num12 = default(int); - int num9 = default(int); - while (true) + if (_pendingPurchase == null || !IsOpen) { - int num2 = num; - int num3 = 636680111; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num8; - int num7; - int navigationStep2; - int num16; - int num17; - int navigationStep3; - int num18; - int num19; - switch (num5 - (num6 + num6)) + return false; + } + InventoryManager* ptr = InventoryManager.Instance(); + if (ptr != null && _navigationStep == 0 && _itemCountBeforePurchase == -1) + { + int inventoryItemCount = ptr->GetInventoryItemCount(_pendingPurchase.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0); + if (inventoryItemCount >= _pendingPurchase.DesiredQuantity) { - default: - continue; - case 13: - num11 = _202E_202B_202B_206F_200E_200E_202E_206D_200E_206F_200F_206E_200B_206D_206A_206E_206D_202B_200C_200F_206C_202C_202E_202D_206A_200E_202A_200C_200C_202D_202C_202A_206E_206B_200D_206B_202E_206D_202E_202E() - _lastActionMs; - num = ((num11 >= 100) ? 636680076 : 636680104); - continue; - case 1: - { - IPluginLog pluginLog3 = _pluginLog; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(61, 4); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-2005174402)); - defaultInterpolatedStringHandler3.AppendFormatted(_pendingPurchase.ItemId); - defaultInterpolatedStringHandler3.AppendLiteral(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(-2111689734)); - defaultInterpolatedStringHandler3.AppendFormatted(num10); - defaultInterpolatedStringHandler3.AppendLiteral(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(-356398602)); - defaultInterpolatedStringHandler3.AppendFormatted(num15); - defaultInterpolatedStringHandler3.AppendLiteral(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(-967737798)); - defaultInterpolatedStringHandler3.AppendFormatted(maxHoldableQuantity); - _200E_202D_200D_200E_202A_200F_202D_206A_206A_200E_202B_206F_202C_200F_206F_206D_200C_202D_200B_206F_206E_200F_200C_206B_200D_206C_206B_200F_200F_206C_200C_202B_206D_200F_202A_202D_200D_206C_202E_206C_202E(pluginLog3, defaultInterpolatedStringHandler3.ToStringAndClear(), Array.Empty()); - CancelPurchase(); - num = 636680108; - continue; - } - case 8: - num = 636680108; - continue; - case 35: - num = ((num11 < 3000) ? 636680117 : 636680114); - continue; - case 18: - num = (IsOpen ? 636680123 : 636680118); - continue; - case 30: - num = ((_navigationStep != 0) ? 636680074 : 636680079); - continue; - case 2: - switch (_navigationStep) - { - case 2: - goto IL_048f; - case 0: - goto IL_0509; - case 1: - goto IL_0597; - case 3: - goto end_IL_003b; - } - num = 636680103; - continue; - case 29: - { - IPluginLog pluginLog5 = _pluginLog; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler5 = new DefaultInterpolatedStringHandler(66, 1); - defaultInterpolatedStringHandler5.AppendLiteral(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-47133297)); - defaultInterpolatedStringHandler5.AppendFormatted(3000); - defaultInterpolatedStringHandler5.AppendLiteral(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(1573770018)); - _200E_202D_200D_200E_202A_200F_202D_206A_206A_200E_202B_206F_202C_200F_206F_206D_200C_202D_200B_206F_206E_200F_200C_206B_200D_206C_206B_200F_200F_206C_200C_202B_206D_200F_202A_202D_200D_206C_202E_206C_202E(pluginLog5, defaultInterpolatedStringHandler5.ToStringAndClear(), Array.Empty()); - CancelPurchase(); - return false; - } - case 9: - { - IPluginLog pluginLog4 = _pluginLog; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler4 = new DefaultInterpolatedStringHandler(32, 1); - defaultInterpolatedStringHandler4.AppendLiteral(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-701323076)); - defaultInterpolatedStringHandler4.AppendFormatted(_pendingPurchase.ItemId); - defaultInterpolatedStringHandler4.AppendLiteral(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-229047175)); - _200E_202D_200D_200E_202A_200F_202D_206A_206A_200E_202B_206F_202C_200F_206F_206D_200C_202D_200B_206F_206E_200F_200C_206B_200D_206C_206B_200F_200F_206C_200C_202B_206D_200F_202A_202D_200D_206C_202E_206C_202E(pluginLog4, defaultInterpolatedStringHandler4.ToStringAndClear(), Array.Empty()); - CancelPurchase(); - num = 636680108; - continue; - } - case 14: - inventoryItemCount = ptr2->GetInventoryItemCount(_pendingPurchase.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0); - num = ((inventoryItemCount < _pendingPurchase.DesiredQuantity) ? 636680074 : 636680105); - continue; - case 20: - ptr2 = InventoryManager.Instance(); - num = ((ptr2 == null) ? 636680074 : 636680113); - continue; - case 26: - num = ((_navigationStep != 2) ? 636680127 : 636680106); - continue; - case 7: - return false; - case 6: - { - IPluginLog pluginLog = _pluginLog; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(37, 3); - defaultInterpolatedStringHandler.AppendLiteral(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(848483749)); - defaultInterpolatedStringHandler.AppendFormatted(inventoryItemCount); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(245261652)); - defaultInterpolatedStringHandler.AppendFormatted(_pendingPurchase.ItemId); - defaultInterpolatedStringHandler.AppendLiteral(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(1873420954)); - defaultInterpolatedStringHandler.AppendFormatted(_pendingPurchase.DesiredQuantity); - defaultInterpolatedStringHandler.AppendLiteral(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(-2066276253)); - _202B_202B_202A_206C_206D_206F_200F_202B_202B_200B_200D_200B_200F_202A_202D_200B_202C_202C_200D_202D_202D_206F_200B_206D_202C_200D_202B_206E_202D_202C_202C_202A_200F_200C_200B_206C_200E_202E_202A_206A_202E(pluginLog, defaultInterpolatedStringHandler.ToStringAndClear(), Array.Empty()); + _pluginLog.Information($"[GCShop] Already have {inventoryItemCount}x item {_pendingPurchase.ItemId} (need {_pendingPurchase.DesiredQuantity})"); uint itemId = _pendingPurchase.ItemId; ResetPurchaseState(); - EventHandler? eventHandler = this.PurchaseCompleted; - if (eventHandler == null) - { - goto case 27; - } - eventHandler(this, new PurchaseCompletedEventArgs(itemId, success: true)); - num = 636680116; - continue; - } - case 32: - num = ((_itemCountBeforePurchase != -1) ? 636680074 : 636680097); - continue; - case 19: - goto IL_048f; - case 37: - num = ((!_gameGui.TryGetAddonByName(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(-1848412387), out addonPtr)) ? 636680112 : 636680101); - continue; - case 4: - return false; - case 11: - num8 = 0; - goto IL_07ab; - case 22: - goto IL_0509; - case 28: - ptr = InventoryManager.Instance(); - num = ((ptr != null) ? 636680096 : 636680122); - continue; - case 34: - num = 636680125; - continue; - case 33: - goto IL_0597; - case 17: - num = ((!_awaitingAddonReady) ? 636680109 : 636680098); - continue; - case 36: - { - IPluginLog pluginLog2 = _pluginLog; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(61, 4); - defaultInterpolatedStringHandler2.AppendLiteral(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(979872393)); - defaultInterpolatedStringHandler2.AppendFormatted(grandCompanyItem.ItemId); - defaultInterpolatedStringHandler2.AppendLiteral(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(2094782171)); - defaultInterpolatedStringHandler2.AppendFormatted(grandCompanyItem.Index); - defaultInterpolatedStringHandler2.AppendLiteral(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(889356428)); - defaultInterpolatedStringHandler2.AppendFormatted(num12); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-326512158)); - defaultInterpolatedStringHandler2.AppendFormatted(num9); - defaultInterpolatedStringHandler2.AppendLiteral(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(-361921312)); - _202B_202B_202A_206C_206D_206F_200F_202B_202B_200B_200D_200B_200F_202A_202D_200B_202C_202C_200D_202D_202D_206F_200B_206D_202C_200D_202B_206E_202D_202C_202C_202A_200F_200C_200B_206C_200E_202E_202A_206A_202E(pluginLog2, defaultInterpolatedStringHandler2.ToStringAndClear(), Array.Empty()); - FirePurchaseCallback(addonPtr, grandCompanyItem, num12); - IsAwaitingConfirmation = true; - int navigationStep = _navigationStep; - num3 = 1; - num4 = navigationStep; - int num13 = num4 ^ num3; - int num14 = num4 & num3; - _navigationStep = num13 + (num14 + num14); - _lastActionMs = _202E_202B_202B_206F_200E_200E_202E_206D_200E_206F_200F_206E_200B_206D_206A_206E_206D_202B_200C_200F_206C_202C_202E_202D_206A_200E_202A_200C_200C_202D_202C_202A_206E_206B_200D_206B_202E_206D_202E_202E(); - num = 636680108; - continue; - } - case 21: - num7 = 0; - goto IL_0814; - case 25: - return false; - case 5: - num = ((GetAtkValueInt(addonPtr, 1) > 0) ? 636680127 : 636680107); - continue; - case 12: - _pendingPurchase.InitialCount = num9; - num = 636680119; - continue; - case 31: - return false; - case 27: + this.PurchaseCompleted?.Invoke(this, new PurchaseCompletedEventArgs(itemId, success: true)); return true; - case 24: - _itemCountBeforePurchase = num9; - num10 = _pendingPurchase.DesiredQuantity - (num9 - _pendingPurchase.InitialCount); - num = ((grandCompanyItem.SealCost != 0) ? 636680120 : 636680100); - continue; - case 23: - num8 = GetCompanySeals() / (int)grandCompanyItem.SealCost; - goto IL_07ab; - case 15: - num7 = ptr->GetInventoryItemCount(_pendingPurchase.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0); - goto IL_0814; - case 3: + } + } + if (!_gameGui.TryGetAddonByName("GrandCompanyExchange", out var addonPtr) || !LAddon.IsAddonReady(addonPtr)) + { + return false; + } + if (_awaitingAddonReady) + { + long num = Environment.TickCount64 - _lastActionMs; + if (num < 100) + { return false; - case 10: - num = (LAddon.IsAddonReady(addonPtr) ? 636680126 : 636680112); - continue; - case 16: - _awaitingAddonReady = false; - num = 636680109; - continue; - case 0: - break; - IL_048f: - grandCompanyItem = FindItemInShop(addonPtr, _pendingPurchase.ItemId); - num = ((grandCompanyItem == null) ? 636680102 : 636680115); - continue; - IL_0814: - num9 = num7; - num = ((_pendingPurchase.InitialCount != -1) ? 636680119 : 636680099); - continue; - IL_07ab: - num15 = num8; - maxHoldableQuantity = InventoryHelper.GetMaxHoldableQuantity(_pendingPurchase.ItemId, _itemSheet); - num12 = _200D_206A_206D_200D_206A_200C_206A_200C_206A_200B_206B_206C_200B_206D_202C_206F_206D_202A_206A_202A_206C_200B_200C_206A_202E_200B_206A_200E_200C_206B_206B_206E_200D_200D_202E_206A_200F_202B_200E_202A_202E(_200D_206A_206D_200D_206A_200C_206A_200C_206A_200B_206B_206C_200B_206D_202C_206F_206D_202A_206A_202A_206C_200B_200C_206A_202E_200B_206A_200E_200C_206B_206B_206E_200D_200D_202E_206A_200F_202B_200E_202A_202E(num10, 99), _200D_206A_206D_200D_206A_200C_206A_200C_206A_200B_206B_206C_200B_206D_202C_206F_206D_202A_206A_202A_206C_200B_200C_206A_202E_200B_206A_200E_200C_206B_206B_206E_200D_200D_202E_206A_200F_202B_200E_202A_202E(num15, maxHoldableQuantity)); - num = ((num12 > 0) ? 636680075 : 636680110); - continue; - IL_0597: - AddonCallback.Fire(addonPtr, 2, _pendingPurchase.CategoryTabIndex); - navigationStep2 = _navigationStep; - num3 = 1; - num4 = navigationStep2; - num16 = num4 ^ num3; - num17 = num4 & num3; - _navigationStep = num16 + (num17 + num17); - _lastActionMs = _202E_202B_202B_206F_200E_200E_202E_206D_200E_206F_200F_206E_200B_206D_206A_206E_206D_202B_200C_200F_206C_202C_202E_202D_206A_200E_202A_200C_200C_202D_202C_202A_206E_206B_200D_206B_202E_206D_202E_202E(); - _awaitingAddonReady = true; - num = 636680108; - continue; - IL_0509: - AddonCallback.Fire(addonPtr, 1, _pendingPurchase.RankTabIndex); - navigationStep3 = _navigationStep; - num3 = 1; - num4 = navigationStep3; - num18 = num4 ^ num3; - num19 = num4 & num3; - _navigationStep = num18 + (num19 + num19); - _lastActionMs = _202E_202B_202B_206F_200E_200E_202E_206D_200E_206F_200F_206E_200B_206D_206A_206E_206D_202B_200C_200F_206C_202C_202E_202D_206A_200E_202A_200C_200C_202D_202C_202A_206E_206B_200D_206B_202E_206D_202E_202E(); - _awaitingAddonReady = true; - num = 636680108; - continue; - end_IL_003b: - break; + } + if (num >= 3000) + { + _pluginLog.Warning($"[GCShop] Addon did not become ready within {3000}ms, cancelling purchase"); + CancelPurchase(); + return false; + } + if (_navigationStep == 2 && GetAtkValueInt(addonPtr, 1) <= 0) + { + return false; + } + _awaitingAddonReady = false; + } + switch (_navigationStep) + { + case 0: + AddonCallback.Fire(addonPtr, 1, _pendingPurchase.RankTabIndex); + _navigationStep++; + _lastActionMs = Environment.TickCount64; + _awaitingAddonReady = true; + break; + case 1: + AddonCallback.Fire(addonPtr, 2, _pendingPurchase.CategoryTabIndex); + _navigationStep++; + _lastActionMs = Environment.TickCount64; + _awaitingAddonReady = true; + break; + case 2: + { + GrandCompanyItem grandCompanyItem = FindItemInShop(addonPtr, _pendingPurchase.ItemId); + if (grandCompanyItem != null) + { + InventoryManager* ptr2 = InventoryManager.Instance(); + int num2 = ((ptr2 != null) ? ptr2->GetInventoryItemCount(_pendingPurchase.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0) : 0); + if (_pendingPurchase.InitialCount == -1) + { + _pendingPurchase.InitialCount = num2; + } + _itemCountBeforePurchase = num2; + int num3 = _pendingPurchase.DesiredQuantity - (num2 - _pendingPurchase.InitialCount); + int num4 = ((grandCompanyItem.SealCost != 0) ? (GetCompanySeals() / (int)grandCompanyItem.SealCost) : 0); + int maxHoldableQuantity = InventoryHelper.GetMaxHoldableQuantity(_pendingPurchase.ItemId, _itemSheet); + int num5 = Math.Min(Math.Min(num3, 99), Math.Min(num4, maxHoldableQuantity)); + if (num5 <= 0) + { + _pluginLog.Warning($"[GCShop] Cannot buy item {_pendingPurchase.ItemId}: remaining={num3}, affordable={num4}, holdable={maxHoldableQuantity}"); + CancelPurchase(); + } + else + { + _pluginLog.Information($"[GCShop] Found item {grandCompanyItem.ItemId} at index {grandCompanyItem.Index}, purchasing {num5}x (count before: {num2})"); + FirePurchaseCallback(addonPtr, grandCompanyItem, num5); + IsAwaitingConfirmation = true; + _navigationStep++; + _lastActionMs = Environment.TickCount64; + } + } + else + { + _pluginLog.Warning($"[GCShop] Item {_pendingPurchase.ItemId} not found in shop"); + CancelPurchase(); } break; } - return WaitForPurchaseCompletion(); + case 3: + return WaitForPurchaseCompletion(); + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe void CloseShop() { - int num = (IsOpen ? (-576018868) : (-576018870)); - AtkUnitBase* addonPtr = default(AtkUnitBase*); - while (true) + if (IsOpen && _gameGui.TryGetAddonByName("GrandCompanyExchange", out var addonPtr)) { - int num2 = num; - int num3 = -576018872; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - addonPtr->Close(fireCallback: true); - num = -576018869; - break; - case 3: - return; - case 2: - return; - case 0: - num = -576018870; - break; - case 4: - num = ((!_gameGui.TryGetAddonByName(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1178205757), out addonPtr)) ? (-576018869) : (-576018871)); - break; - } + addonPtr->Close(fireCallback: true); } } @@ -812,283 +285,99 @@ public sealed class GrandCompanyShop : IDisposable { InventoryManager* ptr = InventoryManager.Instance(); PlayerState* ptr2 = PlayerState.Instance(); - int num = ((ptr == null) ? 1253116757 : 1253116759); - while (true) + if (ptr == null || ptr2 == null) { - int num2 = num; - int num3 = 1253116758; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - return 0; - case 1: - num = ((ptr2 != null) ? 1253116758 : 1253116757); - break; - case 2: - num = 1253116759; - break; - case 0: - return (int)ptr->GetCompanySeals(ptr2->GrandCompany); - } + return 0; } + return (int)ptr->GetCompanySeals(ptr2->GrandCompany); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe ReadOnlyCollection GetAvailableItems() { - int num = ((!IsOpen) ? 1134948284 : 1134948272); - int atkValueInt2 = default(int); - AtkUnitBase* addonPtr = default(AtkUnitBase*); - List list2 = default(List); - int num6 = default(int); - int atkValueInt = default(int); - while (true) + if (!IsOpen || !_gameGui.TryGetAddonByName("GrandCompanyExchange", out var addonPtr) || !LAddon.IsAddonReady(addonPtr)) { - int num2 = num; - int num3 = 1134948277; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return EmptyItems; + } + int atkValueInt = GetAtkValueInt(addonPtr, 1); + List list = new List(atkValueInt); + for (int i = 0; i < atkValueInt; i++) + { + int atkValueInt2 = GetAtkValueInt(addonPtr, 317 + i); + if (atkValueInt2 > 0) { - case 7: - atkValueInt2 = GetAtkValueInt(addonPtr, 1); - list2 = new List(atkValueInt2); - num6 = 0; - num = 1134948277; - break; - case 2: - num = (LAddon.IsAddonReady(addonPtr) ? 1134948274 : 1134948284); - break; - case 4: - return list2.AsReadOnly(); - case 3: - { - AtkUnitBase* addon = addonPtr; - num3 = num6; - num4 = 317; - atkValueInt = GetAtkValueInt(addon, (num4 | num3) + (num4 & num3)); - num = ((atkValueInt <= 0) ? 1134948276 : 1134948275); - break; - } - case 9: - return EmptyItems; - case 8: - num = 1134948272; - break; - case 0: - num = ((num6 < atkValueInt2) ? 1134948278 : 1134948273); - break; - case 6: - { - List list = list2; - GrandCompanyItem obj = new GrandCompanyItem + list.Add(new GrandCompanyItem { - Index = num6, - ItemId = (uint)atkValueInt - }; - AtkUnitBase* addon2 = addonPtr; - num3 = num6; - num4 = 167; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - obj.IconId = (uint)GetAtkValueInt(addon2, num7 + (num8 + num8)); - AtkUnitBase* addon3 = addonPtr; - num3 = num6; - num4 = 67; - int num9 = num4 ^ num3; - int num10 = num4 & num3; - obj.SealCost = (uint)GetAtkValueInt(addon3, num9 + (num10 + num10)); - list.Add(obj); - num = 1134948276; - break; - } - case 5: - num = ((!_gameGui.TryGetAddonByName(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1178205757), out addonPtr)) ? 1134948284 : 1134948279); - break; - case 1: - { - int num5 = num6; - num3 = 1; - num4 = num5; - num6 = (num4 | num3) + (num4 & num3); - num = 1134948277; - break; - } + Index = i, + ItemId = (uint)atkValueInt2, + IconId = (uint)GetAtkValueInt(addonPtr, 167 + i), + SealCost = (uint)GetAtkValueInt(addonPtr, 67 + i) + }); } } + return list.AsReadOnly(); } private unsafe static GrandCompanyItem? FindItemInShop(AtkUnitBase* addon, uint targetItemId) { int atkValueInt = GetAtkValueInt(addon, 1); - int num = ((atkValueInt > 0) ? 1303324821 : 1303324817); - int num5 = default(int); - int atkValueInt2 = default(int); - while (true) + if (atkValueInt <= 0) { - int num2 = num; - int num3 = 1303324819; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return null; + } + for (int i = 0; i < atkValueInt; i++) + { + int atkValueInt2 = GetAtkValueInt(addon, 317 + i); + if (atkValueInt2 == (int)targetItemId) { - case 4: - return null; - case 2: - return null; - case 0: - num = 1303324817; - break; - case 1: - { - int num8 = num5; - num3 = 1; - num4 = num8; - int num9 = num4 ^ num3; - int num10 = num4 & num3; - num5 = num9 + (num10 + num10); - num = 1303324816; - break; - } - case 3: - num = ((num5 < atkValueInt) ? 1303324822 : 1303324823); - break; - case 6: - num5 = 0; - num = 1303324816; - break; - case 7: - { - GrandCompanyItem obj = new GrandCompanyItem + return new GrandCompanyItem { - Index = num5, - ItemId = (uint)atkValueInt2 + Index = i, + ItemId = (uint)atkValueInt2, + IconId = (uint)GetAtkValueInt(addon, 167 + i), + SealCost = (uint)GetAtkValueInt(addon, 67 + i) }; - num3 = num5; - num4 = 167; - int num11 = num4 ^ num3; - int num12 = num4 & num3; - obj.IconId = (uint)GetAtkValueInt(addon, num11 + (num12 + num12)); - num3 = num5; - num4 = 67; - int num13 = num4 ^ num3; - int num14 = num4 & num3; - obj.SealCost = (uint)GetAtkValueInt(addon, num13 + (num14 + num14)); - return obj; - } - case 5: - { - num3 = num5; - num4 = 317; - int num6 = num4 ^ num3; - int num7 = num4 & num3; - atkValueInt2 = GetAtkValueInt(addon, num6 + (num7 + num7)); - num = ((atkValueInt2 != (int)targetItemId) ? 1303324818 : 1303324820); - break; - } } } + return null; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe bool WaitForPurchaseCompletion() { - long num = _202E_202B_202B_206F_200E_200E_202E_206D_200E_206F_200F_206E_200B_206D_206A_206E_206D_202B_200C_200F_206C_202C_202E_202D_206A_200E_202A_200C_200C_202D_202C_202A_206E_206B_200D_206B_202E_206D_202E_202E() - _lastActionMs; - int num2 = ((!IsAwaitingConfirmation) ? 1518393876 : 1518393882); - int num8 = default(int); - InventoryManager* ptr = default(InventoryManager*); - while (true) + long num = Environment.TickCount64 - _lastActionMs; + if (IsAwaitingConfirmation) { - int num3 = num2; - int num4 = 1518393887; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) + if (num >= 3000) { - case 2: - num2 = 1518393882; - break; - case 7: - return false; - case 8: - { - IPluginLog pluginLog3 = _pluginLog; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(33, 2); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(32368461)); - defaultInterpolatedStringHandler3.AppendFormatted(num8); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(640094798)); - defaultInterpolatedStringHandler3.AppendFormatted(_pendingPurchase.ItemId); - defaultInterpolatedStringHandler3.AppendLiteral(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(-1848110280)); - _202B_202B_202A_206C_206D_206F_200F_202B_202B_200B_200D_200B_200F_202A_202D_200B_202C_202C_200D_202D_202D_206F_200B_206D_202C_200D_202B_206E_202D_202C_202C_202A_200F_200C_200B_206C_200E_202E_202A_206A_202E(pluginLog3, defaultInterpolatedStringHandler3.ToStringAndClear(), Array.Empty()); - uint itemId = _pendingPurchase.ItemId; - int quantityPurchased = num8; - ResetPurchaseState(); - EventHandler? eventHandler = this.PurchaseCompleted; - if (eventHandler == null) - { - goto case 4; - } - eventHandler(this, new PurchaseCompletedEventArgs(itemId, success: true, quantityPurchased)); - num2 = 1518393883; - break; - } - case 3: - return false; - case 0: - _200E_202D_200D_200E_202A_200F_202D_206A_206A_200E_202B_206F_202C_200F_206F_206D_200C_202D_200B_206F_206E_200F_200C_206B_200D_206C_206B_200F_200F_206C_200C_202B_206D_200F_202A_202D_200D_206C_202E_206C_202E(_pluginLog, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(201100359), Array.Empty()); + _pluginLog.Warning("[GCShop] Confirmation dialog was not handled in time, cancelling purchase"); CancelPurchase(); - num2 = 1518393880; - break; - case 4: - return true; - case 11: - ptr = InventoryManager.Instance(); - num2 = ((ptr == null) ? 1518393878 : 1518393886); - break; - case 10: - { - IPluginLog pluginLog = _pluginLog; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(65, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-504508394)); - defaultInterpolatedStringHandler.AppendFormatted(3000); - defaultInterpolatedStringHandler.AppendLiteral(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(222200661)); - _200E_202D_200D_200E_202A_200F_202D_206A_206A_200E_202B_206F_202C_200F_206F_206D_200C_202D_200B_206F_206E_200F_200C_206B_200D_206C_206B_200F_200F_206C_200C_202B_206D_200F_202A_202D_200D_206C_202E_206C_202E(pluginLog, defaultInterpolatedStringHandler.ToStringAndClear(), Array.Empty()); - CancelPurchase(); - num2 = 1518393884; - break; - } - case 5: - num2 = ((num < 3000) ? 1518393880 : 1518393887); - break; - case 9: - num2 = ((num < 3000) ? 1518393884 : 1518393877); - break; - case 1: - num2 = ((ptr->GetInventoryItemCount(_pendingPurchase.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0) <= _itemCountBeforePurchase) ? 1518393878 : 1518393875); - break; - case 6: - { - IPluginLog pluginLog2 = _pluginLog; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(48, 2); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(2052935036)); - defaultInterpolatedStringHandler2.AppendFormatted(num8); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1145280286)); - defaultInterpolatedStringHandler2.AppendFormatted(_pendingPurchase.DesiredQuantity); - defaultInterpolatedStringHandler2.AppendLiteral(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(-413392469)); - _202B_202B_202A_206C_206D_206F_200F_202B_202B_200B_200D_200B_200F_202A_202D_200B_202C_202C_200D_202D_202D_206F_200B_206D_202C_200D_202B_206E_202D_202C_202C_202A_200F_200C_200B_206C_200E_202E_202A_206A_202E(pluginLog2, defaultInterpolatedStringHandler2.ToStringAndClear(), Array.Empty()); - _navigationStep = 2; - _lastActionMs = _202E_202B_202B_206F_200E_200E_202E_206D_200E_206F_200F_206E_200B_206D_206A_206E_206D_202B_200C_200F_206C_202C_202E_202D_206A_200E_202A_200C_200C_202D_202C_202A_206E_206B_200D_206B_202E_206D_202E_202E(); - _awaitingAddonReady = true; - return false; - } - case 12: - num8 = ptr->GetInventoryItemCount(_pendingPurchase.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0) - _pendingPurchase.InitialCount; - num2 = ((num8 < _pendingPurchase.DesiredQuantity) ? 1518393881 : 1518393879); - break; } + return false; } + InventoryManager* ptr = InventoryManager.Instance(); + if (ptr != null && ptr->GetInventoryItemCount(_pendingPurchase.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0) > _itemCountBeforePurchase) + { + int num2 = ptr->GetInventoryItemCount(_pendingPurchase.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0) - _pendingPurchase.InitialCount; + if (num2 >= _pendingPurchase.DesiredQuantity) + { + _pluginLog.Information($"[GCShop] Purchase of {num2}x {_pendingPurchase.ItemId} completed"); + uint itemId = _pendingPurchase.ItemId; + int quantityPurchased = num2; + ResetPurchaseState(); + this.PurchaseCompleted?.Invoke(this, new PurchaseCompletedEventArgs(itemId, success: true, quantityPurchased)); + return true; + } + _pluginLog.Information($"[GCShop] Batch complete ({num2}/{_pendingPurchase.DesiredQuantity}), starting next batch"); + _navigationStep = 2; + _lastActionMs = Environment.TickCount64; + _awaitingAddonReady = true; + return false; + } + if (num >= 3000) + { + _pluginLog.Warning($"[GCShop] Item count did not increase within {3000}ms after confirmation"); + CancelPurchase(); + } + return false; } private void ResetPurchaseState() @@ -1104,172 +393,48 @@ public sealed class GrandCompanyShop : IDisposable private unsafe void FirePurchaseCallback(AtkUnitBase* addon, GrandCompanyItem item, int quantity) { AtkValue* ptr = stackalloc AtkValue[9]; - ptr->Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int; + ptr->Type = AtkValueType.Int; ptr->Int = 0; - ptr[1].Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int; + ptr[1].Type = AtkValueType.Int; ptr[1].Int = item.Index; - ptr[2].Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int; + ptr[2].Type = AtkValueType.Int; ptr[2].Int = quantity; - ptr[3].Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int; + ptr[3].Type = AtkValueType.Int; ptr[3].Int = 0; - ptr[4].Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int; + ptr[4].Type = AtkValueType.Int; ptr[4].Int = 0; - ptr[5].Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int; + ptr[5].Type = AtkValueType.Int; ptr[5].Int = 0; - ptr[6].Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.UInt; + ptr[6].Type = AtkValueType.UInt; ptr[6].UInt = item.ItemId; - ptr[7].Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.UInt; + ptr[7].Type = AtkValueType.UInt; ptr[7].UInt = item.IconId; - ptr[8].Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.UInt; + ptr[8].Type = AtkValueType.UInt; ptr[8].UInt = item.SealCost; addon->FireCallback(9u, ptr); } private unsafe static int GetAtkValueInt(AtkUnitBase* addon, int index) { - int num = ((addon == null) ? (-57715483) : (-57715477)); - int result = default(int); - AtkValue atkValue = default(AtkValue); - while (true) + if (addon == null || addon->AtkValues == null || index < 0 || index >= addon->AtkValuesCount) { - int num2 = num; - int num3 = -57715475; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 7: - num = ((index < addon->AtkValuesCount) ? (-57715474) : (-57715483)); - continue; - case 6: - num = ((addon->AtkValues == null) ? (-57715483) : (-57715476)); - continue; - case 10: - result = ((atkValue.Byte != 0) ? 1 : 0); - num = -57715480; - continue; - case 2: - goto IL_00c7; - case 3: - atkValue = addon->AtkValues[index]; - switch (atkValue.Type) - { - case FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Bool: - break; - case FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int64: - goto IL_00c7; - default: - goto IL_0109; - case FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.UInt: - goto IL_0140; - case FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int: - goto end_IL_0033; - } - goto case 10; - case 5: - return result; - case 8: - return -1; - case 1: - num = ((index < 0) ? (-57715483) : (-57715478)); - continue; - case 0: - num = -57715477; - continue; - case 11: - goto IL_0140; - case 4: - num = -57715473; - continue; - case 9: - break; - IL_0140: - result = (int)atkValue.UInt; - num = -57715480; - continue; - IL_0109: - num = -57715479; - continue; - IL_00c7: - result = -1; - num = -57715480; - continue; - end_IL_0033: - break; - } - result = atkValue.Int; - num = -57715480; + return -1; } + AtkValue atkValue = addon->AtkValues[index]; + return atkValue.Type switch + { + AtkValueType.Int => atkValue.Int, + AtkValueType.UInt => (int)atkValue.UInt, + AtkValueType.Bool => (atkValue.Byte != 0) ? 1 : 0, + _ => -1, + }; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Dispose() { - _206D_206E_206A_202D_202B_206F_202D_206F_206F_200E_202A_206E_200C_202D_202D_200F_200E_202D_202E_202E_206A_202C_200F_202A_202E_200B_206F_202E_206E_206A_206A_206A_202D_206C_200E_200D_206F_206E_202C_206D_202E(_addonLifecycle, AddonEvent.PostSetup, 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(-238810398), (IAddonLifecycle.AddonEventDelegate)OnShopPostSetup); - _206D_206E_206A_202D_202B_206F_202D_206F_206F_200E_202A_206E_200C_202D_202D_200F_200E_202D_202E_202E_206A_202C_200F_202A_202E_200B_206F_202E_206E_206A_206A_206A_202D_206C_200E_200D_206F_206E_202C_206D_202E(_addonLifecycle, AddonEvent.PreFinalize, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1178205757), (IAddonLifecycle.AddonEventDelegate)OnShopPreFinalize); - _206D_206E_206A_202D_202B_206F_202D_206F_206F_200E_202A_206E_200C_202D_202D_200F_200E_202D_202E_202E_206A_202C_200F_202A_202E_200B_206F_202E_206E_206A_206A_206A_202D_206C_200E_200D_206F_206E_202C_206D_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(423301839), (IAddonLifecycle.AddonEventDelegate)OnSelectYesNoPostSetup); - _206D_206E_206A_202D_202B_206F_202D_206F_206F_200E_202A_206E_200C_202D_202D_200F_200E_202D_202E_202E_206A_202C_200F_202A_202E_200B_206F_202E_206E_206A_206A_206A_202D_206C_200E_200D_206F_206E_202C_206D_202E(_addonLifecycle, AddonEvent.PostUpdate, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(423301839), (IAddonLifecycle.AddonEventDelegate)OnSelectYesNoPostUpdate); - } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static void _206D_202D_200F_202D_200D_206A_200F_206C_202D_202C_200F_200D_206D_206E_206B_200D_202A_200D_206E_206A_206C_200D_206F_200F_206D_200C_200D_200F_206E_200F_206A_200C_206B_206B_202B_202E_206D_200B_200B_206A_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static void _202A_206B_206F_206E_202E_206A_202B_202C_200E_202A_200C_200C_200B_200E_206B_202E_202E_202C_200B_202D_206F_206A_206C_206F_200B_206A_206A_202B_206F_206B_200B_206A_200C_206B_202E_206E_200F_202E_200E_200D_202E(IAddonLifecycle P_0, AddonEvent P_1, string P_2, IAddonLifecycle.AddonEventDelegate P_3) - { - P_0.RegisterListener(P_1, P_2, P_3); - } - - static Delegate _202E_202C_206F_200C_202C_206D_202A_206E_206B_200B_200F_202B_200F_206C_200F_200F_202E_200C_200E_206D_206B_202B_206A_202A_202D_202A_200D_200E_206F_206C_200D_202C_200C_206D_200B_206E_206C_206E_202E_206B_202E(Delegate P_0, Delegate P_1) - { - return Delegate.Combine(P_0, P_1); - } - - static Delegate _200B_200F_200D_200E_200E_206D_200C_206C_206F_200B_202C_202C_206F_202C_202B_206D_206A_202B_206C_202C_206E_200C_200D_202E_200D_202A_202A_200B_202C_202B_206B_200F_206B_200E_206A_206C_200F_200D_200F_206D_202E(Delegate P_0, Delegate P_1) - { - return Delegate.Remove(P_0, P_1); - } - - static void _200D_206E_200E_202C_202B_202B_206B_206D_206F_202E_200E_206D_202C_206C_200D_200C_206F_206C_206F_202C_206C_200E_202D_202D_202A_200B_202E_206C_206D_200F_206A_200C_202A_202D_202A_206B_200B_200E_200C_202C_202E(IPluginLog P_0, string P_1, object[] P_2) - { - P_0.Debug(P_1, P_2); - } - - static AtkUnitBasePtr _206F_202E_200B_202E_206B_206B_206B_202A_200C_206C_202D_200C_202E_200C_202D_202E_202E_206B_206B_206D_206E_202D_206F_206B_200D_200C_206F_202D_206B_202E_206E_202E_202C_200F_202E_206A_202A_202A_200F_206D_202E(AddonArgs P_0) - { - return P_0.Addon; - } - - static void _202B_202B_202A_206C_206D_206F_200F_202B_202B_200B_200D_200B_200F_202A_202D_200B_202C_202C_200D_202D_202D_206F_200B_206D_202C_200D_202B_206E_202D_202C_202C_202A_200F_200C_200B_206C_200E_202E_202A_206A_202E(IPluginLog P_0, string P_1, object[] P_2) - { - P_0.Information(P_1, P_2); - } - - static long _202E_202B_202B_206F_200E_200E_202E_206D_200E_206F_200F_206E_200B_206D_206A_206E_206D_202B_200C_200F_206C_202C_202E_202D_206A_200E_202A_200C_200C_202D_202C_202A_206E_206B_200D_206B_202E_206D_202E_202E() - { - return Environment.TickCount64; - } - - static void _200E_202D_200D_200E_202A_200F_202D_206A_206A_200E_202B_206F_202C_200F_206F_206D_200C_202D_200B_206F_206E_200F_200C_206B_200D_206C_206B_200F_200F_206C_200C_202B_206D_200F_202A_202D_200D_206C_202E_206C_202E(IPluginLog P_0, string P_1, object[] P_2) - { - P_0.Warning(P_1, P_2); - } - - static int _200D_206A_206D_200D_206A_200C_206A_200C_206A_200B_206B_206C_200B_206D_202C_206F_206D_202A_206A_202A_206C_200B_200C_206A_202E_200B_206A_200E_200C_206B_206B_206E_200D_200D_202E_206A_200F_202B_200E_202A_202E(int P_0, int P_1) - { - return Math.Min(P_0, P_1); - } - - static void _206D_206E_206A_202D_202B_206F_202D_206F_206F_200E_202A_206E_200C_202D_202D_200F_200E_202D_202E_202E_206A_202C_200F_202A_202E_200B_206F_202E_206E_206A_206A_206A_202D_206C_200E_200D_206F_206E_202C_206D_202E(IAddonLifecycle P_0, AddonEvent P_1, string P_2, IAddonLifecycle.AddonEventDelegate P_3) - { - P_0.UnregisterListener(P_1, P_2, P_3); + _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "GrandCompanyExchange", OnShopPostSetup); + _addonLifecycle.UnregisterListener(AddonEvent.PreFinalize, "GrandCompanyExchange", OnShopPreFinalize); + _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "SelectYesno", OnSelectYesNoPostSetup); + _addonLifecycle.UnregisterListener(AddonEvent.PostUpdate, "SelectYesno", OnSelectYesNoPostUpdate); } } diff --git a/LLib/LLib.Shop/NpcPositionCache.cs b/LLib/LLib.Shop/NpcPositionCache.cs index 85d481f..3eae4b7 100644 --- a/LLib/LLib.Shop/NpcPositionCache.cs +++ b/LLib/LLib.Shop/NpcPositionCache.cs @@ -2,7 +2,6 @@ using System; using System.Collections.Generic; using System.IO; using System.Numerics; -using System.Runtime.CompilerServices; using System.Threading; using Dalamud.Plugin.Services; using Lumina.Data.Files; @@ -15,13 +14,7 @@ namespace LLib.Shop; public sealed class NpcPositionCache { - private static readonly string[] LgbFileNames = new string[4] - { - 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(-1908634427), - 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(-2021484130), - 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(-418261511), - 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(280692179) - }; + private static readonly string[] LgbFileNames = new string[4] { "planevent", "planmap", "planner", "planlive" }; private const uint FileMagic = 1129336401u; @@ -35,7 +28,7 @@ public sealed class NpcPositionCache private readonly NpcPositionCacheOptions _options; - private readonly object _buildLock = _202C_200B_202B_202C_206D_206E_202B_202C_200B_206B_200C_206C_202A_200B_200F_202C_206B_200E_206A_206D_200F_200D_206B_206D_200B_200C_206D_200D_206F_202E_202A_206E_202B_206C_206D_200F_206C_200D_206A_206B_202E(); + private readonly object _buildLock = new object(); private volatile Dictionary? _cache; @@ -43,31 +36,13 @@ public sealed class NpcPositionCache private string? CacheFilePath { - [MethodImpl(MethodImplOptions.NoInlining)] get { - int num = (_206B_202C_200C_202A_200C_202B_200D_206B_206D_206C_200C_206E_200D_202E_202C_206E_206F_200E_202B_200E_202A_206C_202E_200E_202E_202D_206A_206B_206B_200B_200B_202B_200D_202E_202E_206E_200F_202B_206A_202E(_options.CacheDirectory) ? (-1379965594) : (-1379965593)); - while (true) + if (string.IsNullOrEmpty(_options.CacheDirectory) || string.IsNullOrEmpty(_options.GameVersion)) { - int num2 = num; - int num3 = -1379965594; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return _202A_206E_206D_202D_206F_200F_206B_206D_206F_202C_206A_202B_200B_206F_206C_206B_200E_206A_206A_202B_206F_200D_200F_202C_206D_202B_200F_200E_200C_202B_206A_206F_206D_202B_206B_202B_206A_206D_206E_202A_202E(_options.CacheDirectory, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1995757655)); - case 1: - num = ((!_206B_202C_200C_202A_200C_202B_200D_206B_206D_206C_200C_206E_200D_202E_202C_206E_206F_200E_202B_200E_202A_206C_202E_200E_202E_202D_206A_206B_206B_200B_200B_202B_200D_202E_202E_206E_200F_202B_206A_202E(_options.GameVersion)) ? (-1379965596) : (-1379965594)); - break; - case 0: - return null; - case 3: - num = -1379965593; - break; - } + return null; } + return Path.Combine(_options.CacheDirectory, "npc-position-cache.bin"); } } @@ -81,134 +56,36 @@ public sealed class NpcPositionCache public (ushort TerritoryId, Vector3 Position)? TryGetPosition(uint npcId) { Dictionary cache = _cache; - int num = ((cache == null) ? (-89260434) : (-89260433)); - (ushort, Vector3, bool) value = default((ushort, Vector3, bool)); - while (true) + if (cache == null || !cache.TryGetValue(npcId, out var value)) { - int num2 = num; - int num3 = -89260436; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return (value.Item1, value.Item2); - case 2: - return null; - case 3: - num = (cache.TryGetValue(npcId, out value) ? (-89260435) : (-89260434)); - break; - case 0: - num = -89260433; - break; - } + return null; } + return (value.Item1, value.Item2); } public (ushort TerritoryId, Vector3 Position, bool FestivalOnly)? TryGetPlacement(uint npcId) { Dictionary cache = _cache; - int num = ((cache == null) ? 704628277 : 704628279); - (ushort, Vector3, bool) value = default((ushort, Vector3, bool)); - while (true) + if (cache == null || !cache.TryGetValue(npcId, out var value)) { - int num2 = num; - int num3 = 704628276; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return value; - case 1: - return null; - case 3: - num = (cache.TryGetValue(npcId, out value) ? 704628278 : 704628277); - break; - case 0: - num = 704628279; - break; - } + return null; } + return value; } public bool TryLoadFromDisk() { - int num = ((_cache == null) ? (-139769747) : (-139769746)); - while (true) + if (_cache != null) { - int num2 = num; - int num3 = -139769748; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return true; + } + lock (_buildLock) + { + if (_cache == null) { - case 0: - goto IL_0050; - case 2: - return true; - case 1: - { - object buildLock = _buildLock; - bool flag = false; - try - { - _200B_206A_200F_200D_200E_202A_200C_200E_206E_206B_206E_206A_202E_206E_206B_206F_200E_206B_206E_206D_202B_200D_202C_202A_206D_202A_202C_200C_206F_200F_206A_202D_206C_202A_200B_206A_202B_200E_206C_206D_202E(buildLock, ref flag); - num = ((_cache != null) ? (-1432120080) : (-1432120079)); - while (true) - { - int num7 = num; - num3 = -1432120080; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 2: - num = -1432120079; - break; - case 1: - _cache = LoadFromDisk(); - num = -1432120080; - break; - case 0: - return _cache != null; - } - } - } - finally - { - num = ((!flag) ? 1654086869 : 1654086870); - while (true) - { - int num10 = num; - num3 = 1654086868; - num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - case 1: - goto end_IL_010f; - case 2: - _200D_200C_206C_202E_206E_206F_206F_202E_206A_200D_206B_202A_206D_200F_202D_206D_200E_200C_200D_202B_202B_206F_202C_202E_200B_206D_202E_206E_202E_202B_202B_200D_202D_206D_202E_200C_206A_206C_200F_202E_202E(buildLock); - num = 1654086869; - break; - case 0: - num = 1654086870; - break; - } - continue; - end_IL_010f: - break; - } - } + _cache = LoadFromDisk(); } - } - continue; - IL_0050: - num = -139769746; + return _cache != null; } } @@ -220,55 +97,21 @@ public sealed class NpcPositionCache public (ushort TerritoryId, Vector3 Position)? GetPosition(uint npcId) { EnsureBuilt(); - (ushort, Vector3, bool) value; - int num = (_cache.TryGetValue(npcId, out value) ? (-2002474753) : (-2002474754)); - while (true) + if (!_cache.TryGetValue(npcId, out (ushort, Vector3, bool) value)) { - int num2 = num; - int num3 = -2002474753; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0067; - case 1: - return null; - case 0: - return (value.Item1, value.Item2); - } - continue; - IL_0067: - num = -2002474754; + return null; } + return (value.Item1, value.Item2); } public (ushort TerritoryId, Vector3 Position, bool FestivalOnly)? GetPlacement(uint npcId) { EnsureBuilt(); - (ushort, Vector3, bool) value; - int num = (_cache.TryGetValue(npcId, out value) ? 1062147025 : 1062147024); - while (true) + if (!_cache.TryGetValue(npcId, out (ushort, Vector3, bool) value)) { - int num2 = num; - int num3 = 1062147025; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0067; - case 0: - return value; - case 1: - return null; - } - continue; - IL_0067: - num = 1062147024; + return null; } + return value; } public IReadOnlyCollection GetAllNpcIds() @@ -277,335 +120,108 @@ public sealed class NpcPositionCache return _cache.Keys; } - [MethodImpl(MethodImplOptions.NoInlining)] private void EnsureBuilt(CancellationToken cancellationToken = default(CancellationToken)) { - int num = ((_cache == null) ? 699426378 : 699426379); - Dictionary dictionary = default(Dictionary); - while (true) + if (_cache != null) { - int num2 = num; - int num3 = 699426378; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + lock (_buildLock) + { + if (_cache == null) { - case 2: - goto IL_0050; - case 1: - return; - case 0: - { - object buildLock = _buildLock; - bool flag = false; - try + Dictionary dictionary = LoadFromDisk(); + if (dictionary == null) { - _200B_206A_200F_200D_200E_202A_200C_200E_206E_206B_206E_206A_202E_206E_206B_206F_200E_206B_206E_206D_202B_200D_202C_202A_206D_202A_202C_200C_206F_200F_206A_202D_206C_202A_200B_206A_202B_200E_206C_206D_202E(buildLock, ref flag); - num = ((_cache == null) ? 563419148 : 563419149); - while (true) - { - int num7 = num; - num3 = 563419150; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 563419149; - break; - case 2: - dictionary = LoadFromDisk(); - num = ((dictionary != null) ? 563419151 : 563419146); - break; - case 3: - return; - case 4: - dictionary = BuildNpcPositionCache(cancellationToken); - SaveToDisk(dictionary); - _202D_206F_206E_200E_200F_206F_206B_206A_202A_206E_206F_202B_206E_206E_202C_200F_202D_206B_206A_200F_206C_202D_202E_202C_200E_206A_200F_206B_202A_200D_202D_206D_206E_206B_200B_202C_206A_206B_202B_202A_202E((ILogger)_logger, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(955007798), new object[1] { dictionary.Count }); - num = 563419151; - break; - case 1: - _cache = dictionary; - return; - } - } - } - finally - { - num = ((!flag) ? (-2036326357) : (-2036326358)); - while (true) - { - int num8 = num; - num3 = -2036326357; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 0: - goto end_IL_016e; - case 1: - _200D_200C_206C_202E_206E_206F_206F_202E_206A_200D_206B_202A_206D_200F_202D_206D_200E_200C_200D_202B_202B_206F_202C_202E_200B_206D_202E_206E_202E_202B_202B_200D_202D_206D_202E_200C_206A_206C_200F_202E_202E(buildLock); - num = -2036326357; - break; - case 2: - num = -2036326358; - break; - } - continue; - end_IL_016e: - break; - } + dictionary = BuildNpcPositionCache(cancellationToken); + SaveToDisk(dictionary); + _logger.LogDebug("NPC position cache built with {Count} entries", dictionary.Count); } + _cache = dictionary; } - } - continue; - IL_0050: - num = 699426379; } } - [MethodImpl(MethodImplOptions.NoInlining)] private Dictionary? LoadFromDisk() { string cacheFilePath = CacheFilePath; - int num = ((cacheFilePath == null) ? 923324017 : 923324018); - int num10 = default(int); - int num11 = default(int); - Dictionary dictionary = default(Dictionary); - while (true) + if (cacheFilePath == null || !File.Exists(cacheFilePath)) { - int num2 = num; - int num3 = 923324017; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return null; + } + try + { + using BinaryReader binaryReader = new BinaryReader(File.OpenRead(cacheFilePath)); + if (binaryReader.ReadUInt32() != 1129336401 || binaryReader.ReadInt32() != 1) { - case 2: - num = 923324018; - break; - case 3: - num = (_202E_202B_206B_202B_202C_200E_206A_200B_200E_202C_202C_202A_202A_206A_202B_202C_202B_206A_206D_206F_200F_206E_206A_206B_202D_200E_202B_206E_202B_202B_200D_200F_202A_206C_200F_200F_200F_206E_200E_200F_202E(cacheFilePath) ? 923324016 : 923324017); - break; - case 0: - return null; - case 1: - try + _logger.LogDebug("NPC position cache file has an unknown header, discarding"); + } + else + { + if (!(binaryReader.ReadString() != _options.GameVersion)) { - BinaryReader binaryReader = _202C_206B_202E_200D_206B_202A_202D_202D_202D_202A_206A_200D_206C_200F_206B_200D_202B_206D_202C_202D_200E_200D_202A_206B_202B_200B_202B_202E_206F_206C_206D_200F_202D_200B_202E_202C_202D_200D_202D_206B_202E((Stream)_202C_206E_200B_206F_200F_202B_202A_206E_200D_206A_200F_200F_206D_206F_200F_206D_200C_202B_202C_202A_200F_202C_200D_200F_202B_200F_206F_202E_206D_200D_206C_200B_206E_202A_202E_202B_206F_200C_202A_200F_202E(cacheFilePath)); - try + int num = binaryReader.ReadInt32(); + Dictionary dictionary = new Dictionary(num); + for (int i = 0; i < num; i++) { - num = ((_202B_202B_202D_202B_202B_202C_200F_202A_206F_202B_206C_206E_200D_206F_202C_202A_202C_202C_206D_206D_206B_202C_206C_202B_206B_202A_202A_206F_202E_206A_206D_200E_206C_200E_202B_200B_200C_202C_202A_200F_202E(binaryReader) != 1129336401) ? 1097724439 : 1097724435); - while (true) - { - int num7 = num; - num3 = 1097724436; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 4: - num = ((num10 < num11) ? 1097724433 : 1097724434); - break; - case 3: - _202D_206F_206E_200E_200F_206F_206B_206A_202A_206E_206F_202B_206E_206E_202C_200F_202D_206B_206A_200F_206C_202D_202E_202C_200E_206A_200F_206B_202A_200D_202D_206D_206E_206B_200B_202C_206A_206B_202B_202A_202E((ILogger)_logger, 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(-1352529546), Array.Empty()); - num = 1097724444; - break; - case 9: - num11 = _206F_200B_200D_206A_200E_200E_200F_200D_206E_206A_200D_206E_206B_200B_200F_206D_200B_200C_202C_200C_200C_202D_206D_202D_202D_206A_200F_200C_200C_200C_200C_202B_200E_200C_202A_206D_202E_206B_206E_200F_202E(binaryReader); - dictionary = new Dictionary(num11); - num10 = 0; - num = 1097724432; - break; - case 2: - num = ((!_206D_202D_202D_206C_206E_206B_206E_206A_200B_202B_202A_202B_202E_202D_202A_200C_202D_202A_206F_206F_200D_202C_200E_202A_200C_206A_202E_202B_206A_202E_202C_206A_202E_206B_202A_202B_206F_206D_200E_200C_202E(_206D_202A_202D_200F_202E_202C_200C_200E_200D_202E_206F_202D_202A_200B_206B_206D_206B_202C_206B_206D_206F_206C_206B_200E_206E_206C_206C_200E_206F_200C_200B_206E_202A_200C_202C_200B_202E_200C_206E_200E_202E(binaryReader), _options.GameVersion)) ? 1097724445 : 1097724437); - break; - case 6: - _202D_206F_206E_200E_200F_206F_206B_206A_202A_206E_206F_202B_206E_206E_202C_200F_202D_206B_206A_200F_206C_202D_202E_202C_200E_206A_200F_206B_202A_200D_202D_206D_206E_206B_200B_202C_206A_206B_202B_202A_202E((ILogger)_logger, 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(-922037796), new object[1] { dictionary.Count }); - return dictionary; - case 5: - { - uint key = _202B_202B_202D_202B_202B_202C_200F_202A_206F_202B_206C_206E_200D_206F_202C_202A_202C_202C_206D_206D_206B_202C_206C_202B_206B_202A_202A_206F_202E_206A_206D_200E_206C_200E_202B_200B_200C_202C_202A_200F_202E(binaryReader); - ushort item = _202C_200B_202A_202E_206C_200E_200F_206C_200E_202E_202A_206C_202B_202C_202D_202A_202B_206D_202C_202C_200E_202E_202A_202D_200C_200F_200F_202C_206C_206A_202B_206F_202A_202C_202A_202D_202C_200B_206F_202E_202E(binaryReader); - Vector3 item2 = new Vector3(_206F_200B_202B_206A_206B_206A_200B_202C_202D_200D_206B_200B_206B_202B_202D_206A_206F_200B_206A_200B_206F_202C_202A_200E_206E_206D_206E_202D_206B_200F_202E_202E_200B_206B_206F_202E_206D_200D_206A_200E_202E(binaryReader), _206F_200B_202B_206A_206B_206A_200B_202C_202D_200D_206B_200B_206B_202B_202D_206A_206F_200B_206A_200B_206F_202C_202A_200E_206E_206D_206E_202D_206B_200F_202E_202E_200B_206B_206F_202E_206D_200D_206A_200E_202E(binaryReader), _206F_200B_202B_206A_206B_206A_200B_202C_202D_200D_206B_200B_206B_202B_202D_206A_206F_200B_206A_200B_206F_202C_202A_200E_206E_206D_206E_202D_206B_200F_202E_202E_200B_206B_206F_202E_206D_200D_206A_200E_202E(binaryReader)); - bool item3 = _206A_200B_200D_200D_202C_202A_200B_206F_206D_202C_206C_202C_202B_202D_202C_202D_206F_200C_206E_200C_206E_200B_200F_202D_202A_200F_202E_202C_202B_206D_206A_206D_200B_200C_200B_200F_200F_202B_200C_206F_202E(binaryReader); - dictionary[key] = (item, item2, item3); - int num12 = num10; - num3 = 1; - num4 = num12; - int num13 = num4 ^ num3; - int num14 = num4 & num3; - num10 = num13 + (num14 + num14); - num = 1097724432; - break; - } - case 1: - _202D_206F_206E_200E_200F_206F_206B_206A_202A_206E_206F_202B_206E_206E_202C_200F_202D_206B_206A_200F_206C_202D_202E_202C_200E_206A_200F_206B_202A_200D_202D_206D_206E_206B_200B_202C_206A_206B_202B_202A_202E((ILogger)_logger, 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(-691142266), Array.Empty()); - num = 1097724444; - break; - case 0: - num = 1097724435; - break; - case 7: - num = ((_206F_200B_200D_206A_200E_200E_200F_200D_206E_206A_200D_206E_206B_200B_200F_206D_200B_200C_202C_200C_200C_202D_206D_202D_202D_206A_200F_200C_200C_200C_200C_202B_200E_200C_202A_206D_202E_206B_206E_200F_202E(binaryReader) == 1) ? 1097724438 : 1097724439); - break; - case 8: - goto end_IL_00bd; - } - continue; - end_IL_00bd: - break; - } - } - finally - { - num = ((binaryReader == null) ? (-215914217) : (-215914220)); - while (true) - { - int num15 = num; - num3 = -215914218; - num4 = num15; - int num16 = num4 + num3; - int num17 = num4 & num3; - switch (num16 - (num17 + num17)) - { - case 1: - goto end_IL_02b9; - case 2: - _206D_202C_200F_202A_200D_202A_206B_206D_202E_202D_200D_206B_202B_202D_200E_206F_202D_202A_202C_200D_202E_202D_206A_206E_206B_202D_200B_202C_206B_206A_202D_206E_202D_206A_206A_206F_206C_202B_200C_206A_202E((IDisposable)binaryReader); - num = -215914217; - break; - case 0: - num = -215914220; - break; - } - continue; - end_IL_02b9: - break; - } + uint key = binaryReader.ReadUInt32(); + ushort item = binaryReader.ReadUInt16(); + Vector3 item2 = new Vector3(binaryReader.ReadSingle(), binaryReader.ReadSingle(), binaryReader.ReadSingle()); + bool item3 = binaryReader.ReadBoolean(); + dictionary[key] = (item, item2, item3); } + _logger.LogDebug("NPC position cache loaded from disk with {Count} entries", dictionary.Count); + return dictionary; } - catch (Exception ex) - { - _200F_202C_202E_206C_206C_202B_206C_202D_202D_206E_202B_202D_200E_206B_206B_200B_206B_202B_206B_200B_202E_202C_206A_206B_206E_202A_200D_202C_202A_200F_202C_202A_202A_206F_206F_200E_202C_202B_200D_206D_202E((ILogger)_logger, ex, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1077656609), Array.Empty()); - } - try - { - _202B_202E_202C_206C_206B_206F_202C_200E_206E_200B_202A_206F_202A_200D_206C_206B_200F_200B_200E_200F_206B_202A_202C_206D_202E_206B_206E_200F_206C_200B_202B_206A_202B_206E_206D_202A_200C_206A_202B_202B_202E(cacheFilePath); - } - catch (Exception) - { - } - return null; + _logger.LogDebug("NPC position cache file is for a different game version, discarding"); } } + catch (Exception exception) + { + _logger.LogWarning(exception, "Failed to load NPC position cache file, discarding"); + } + try + { + File.Delete(cacheFilePath); + } + catch (Exception) + { + } + return null; } - [MethodImpl(MethodImplOptions.NoInlining)] private void SaveToDisk(Dictionary cache) { string cacheFilePath = CacheFilePath; - int num = ((cacheFilePath != null) ? (-1878126128) : (-1878126125)); - while (true) + if (cacheFilePath == null) { - int num2 = num; - int num3 = -1878126126; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + try + { + Directory.CreateDirectory(_options.CacheDirectory); + string text = cacheFilePath + ".tmp"; + using (BinaryWriter binaryWriter = new BinaryWriter(File.Create(text))) { - case 0: - goto IL_0053; - case 1: - return; - case 2: - try + binaryWriter.Write(1129336401u); + binaryWriter.Write(1); + binaryWriter.Write(_options.GameVersion); + binaryWriter.Write(cache.Count); + foreach (var (value, tuple2) in cache) { - _206A_200D_206F_206D_200C_202A_200C_202D_206E_206C_206D_206E_206D_202D_206B_202D_206C_202B_200F_202E_206C_206D_200F_202D_202E_206E_200B_202B_200F_200B_206C_200D_206B_200D_202A_202E_206C_206B_200F_202A_202E(_options.CacheDirectory); - string text = _200D_200D_206D_206D_206E_200C_200E_202B_206F_200B_200C_200E_200D_202B_206E_206C_200F_202E_206B_200F_206D_206B_200C_200F_200F_206D_202B_202E_202D_206D_200C_200E_200E_206A_202A_206C_200E_206F_202D_206C_202E(cacheFilePath, 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(236937827)); - BinaryWriter binaryWriter = _202E_206F_200E_206B_206A_206D_206D_200F_206A_202A_200D_200F_200D_202C_200C_200F_206F_202A_202E_202E_202C_202B_206E_206F_200F_200C_200F_200B_200F_206F_202E_200B_200E_206C_206A_202C_206F_202D_202B_206C_202E((Stream)_206D_206E_202B_200B_200B_202A_202D_206F_206C_206F_206F_202B_200F_200E_206E_206D_206A_202C_202E_200E_206F_202C_200F_200E_200B_202A_202A_200E_200F_202C_202A_200C_202E_206C_202C_200C_206C_202B_202A_206D_202E(text)); - try - { - _206F_202A_202B_206C_202E_200C_200B_200F_206D_200E_202D_202B_202D_206D_206B_206F_202D_200E_200C_200B_202E_200C_206E_200E_200E_200E_206E_206F_206F_206C_206F_200B_206E_206C_200E_202B_200F_200B_200D_206B_202E(binaryWriter, 1129336401u); - _200E_206C_202B_202B_200C_200B_200E_200D_200B_200D_206B_206E_202D_202A_206D_202D_200F_202A_200E_206E_200B_202C_206C_200C_200F_206B_202A_206D_206B_202C_206C_202B_206C_202A_202D_200F_206E_206D_206E_200F_202E(binaryWriter, 1); - _202A_202A_206F_206B_206A_200F_202D_206E_202D_206D_206D_202E_206A_202B_202D_202C_206E_202A_202A_202D_202E_202D_200C_202B_202A_206E_200C_200D_206B_206B_202A_200F_202B_202A_206C_202A_206B_202C_202B_206A_202E(binaryWriter, _options.GameVersion); - _200E_206C_202B_202B_200C_200B_200E_200D_200B_200D_206B_206E_202D_202A_206D_202D_200F_202A_200E_206E_200B_202C_206C_200C_200F_206B_202A_206D_206B_202C_206C_202B_206C_202A_202D_200F_206E_206D_206E_200F_202E(binaryWriter, cache.Count); - using Dictionary.Enumerator enumerator = cache.GetEnumerator(); - num = 177392188; - while (true) - { - int num7 = num; - num3 = 177392188; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 0: - num = (enumerator.MoveNext() ? 177392189 : 177392190); - break; - case 1: - var (num11, tuple2) = (KeyValuePair)(ref enumerator.Current); - _206F_202A_202B_206C_202E_200C_200B_200F_206D_200E_202D_202B_202D_206D_206B_206F_202D_200E_200C_200B_202E_200C_206E_200E_200E_200E_206E_206F_206F_206C_206F_200B_206E_206C_200E_202B_200F_200B_200D_206B_202E(binaryWriter, num11); - _206E_200B_200E_200C_200B_206E_206A_200D_202D_202D_200E_202A_202A_202E_202D_206E_206B_206F_202B_206C_202B_202C_206C_206E_202C_206E_200D_200C_206A_206F_200F_206E_206A_202B_202C_200C_200D_202B_202A_200E_202E(binaryWriter, tuple2.Item1); - _200E_202D_206C_202B_202A_206B_200D_202D_200B_206F_202C_202A_200E_202A_202B_200B_200D_202E_206F_200C_202A_202C_202E_206C_206B_202D_202E_202E_200D_206B_200B_206E_200C_206C_200F_202A_200C_202D_206D_200F_202E(binaryWriter, tuple2.Item2.X); - _200E_202D_206C_202B_202A_206B_200D_202D_200B_206F_202C_202A_200E_202A_202B_200B_200D_202E_206F_200C_202A_202C_202E_206C_206B_202D_202E_202E_200D_206B_200B_206E_200C_206C_200F_202A_200C_202D_206D_200F_202E(binaryWriter, tuple2.Item2.Y); - _200E_202D_206C_202B_202A_206B_200D_202D_200B_206F_202C_202A_200E_202A_202B_200B_200D_202E_206F_200C_202A_202C_202E_206C_206B_202D_202E_202E_200D_206B_200B_206E_200C_206C_200F_202A_200C_202D_206D_200F_202E(binaryWriter, tuple2.Item2.Z); - _200F_206E_202A_202E_200C_202D_206D_202B_206B_200B_200B_202A_200C_206D_206E_200B_206F_202D_200C_206E_206C_202D_206A_206A_206F_202C_200B_200F_206F_202C_200D_200E_202C_206C_202B_202A_206B_200B_202E_202E_202E(binaryWriter, tuple2.Item3); - num = 177392188; - break; - case 3: - num = 177392188; - break; - case 2: - goto end_IL_00d1; - } - continue; - end_IL_00d1: - break; - } - } - finally - { - num = ((binaryWriter == null) ? (-2116583790) : (-2116583791)); - while (true) - { - int num12 = num; - num3 = -2116583789; - num4 = num12; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -2116583791; - break; - case 1: - goto end_IL_01e9; - case 2: - _206D_202C_200F_202A_200D_202A_206B_206D_202E_202D_200D_206B_202B_202D_200E_206F_202D_202A_202C_200D_202E_202D_206A_206E_206B_202D_200B_202C_206B_206A_202D_206E_202D_206A_206A_206F_206C_202B_200C_206A_202E((IDisposable)binaryWriter); - num = -2116583790; - break; - } - continue; - end_IL_01e9: - break; - } - } - _206C_206F_200E_206B_200F_202E_206D_206F_202D_206B_202B_202C_200B_200B_206C_200F_202D_202B_202B_202B_200E_206A_200E_206E_206E_200D_206C_200E_202B_202A_206F_200E_202B_202C_202B_206C_200D_200E_206D_202B_202E(text, cacheFilePath, true); - return; - } - catch (Exception ex) - { - _200F_202C_202E_206C_206C_202B_206C_202D_202D_206E_202B_202D_200E_206B_206B_200B_206B_202B_206B_200B_202E_202C_206A_206B_206E_202A_200D_202C_202A_200F_202C_202A_202A_206F_206F_200E_202C_202B_200D_206D_202E((ILogger)_logger, ex, 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(-1457796029), Array.Empty()); - return; + binaryWriter.Write(value); + binaryWriter.Write(tuple2.Item1); + binaryWriter.Write(tuple2.Item2.X); + binaryWriter.Write(tuple2.Item2.Y); + binaryWriter.Write(tuple2.Item2.Z); + binaryWriter.Write(tuple2.Item3); } } - continue; - IL_0053: - num = -1878126125; + File.Move(text, cacheFilePath, overwrite: true); + } + catch (Exception exception) + { + _logger.LogWarning(exception, "Failed to save NPC position cache file"); } } @@ -613,535 +229,113 @@ public sealed class NpcPositionCache { Dictionary dictionary = new Dictionary(); HashSet hashSet = new HashSet(); - using (ExcelSheet.Enumerator enumerator = _dataManager.GetExcelSheet().GetEnumerator()) + foreach (Aetheryte item in _dataManager.GetExcelSheet()) { - int num = -1281480948; - while (true) - { - int num2 = num; - int num3 = -1281480948; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1281480948; - break; - case 0: - num = (enumerator.MoveNext() ? (-1281480945) : (-1281480947)); - break; - case 3: - hashSet.Add(enumerator.Current.Territory.RowId); - num = -1281480948; - break; - case 1: - goto end_IL_0035; - } - continue; - end_IL_0035: - break; - } + hashSet.Add(item.Territory.RowId); } ExcelSheet excelSheet = _dataManager.GetExcelSheet(); HashSet visitedLgbPaths = new HashSet(); - using (ExcelSheet.Enumerator enumerator2 = excelSheet.GetEnumerator()) + bool cacheFileResources = _dataManager.GameData.Options.CacheFileResources; + _dataManager.GameData.Options.CacheFileResources = false; + try { - int num = 1492955023; - TerritoryType current = default(TerritoryType); - while (true) + foreach (TerritoryType item2 in excelSheet) { - int num5 = num; - int num3 = 1492955023; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) + if (hashSet.Contains(item2.RowId)) { - case 0: - num = (enumerator2.MoveNext() ? 1492955019 : 1492955022); - break; - case 3: - ScanLgbFiles(dictionary, visitedLgbPaths, current, cancellationToken); - num = 1492955023; - break; - case 4: - current = enumerator2.Current; - num = ((!hashSet.Contains(current.RowId)) ? 1492955023 : 1492955020); - break; - case 2: - num = 1492955023; - break; - case 1: - goto end_IL_0105; + ScanLgbFiles(dictionary, visitedLgbPaths, item2, cancellationToken); } - continue; - end_IL_0105: - break; + } + foreach (TerritoryType item3 in excelSheet) + { + ScanLgbFiles(dictionary, visitedLgbPaths, item3, cancellationToken); } } - using (ExcelSheet.Enumerator enumerator2 = excelSheet.GetEnumerator()) + finally { - int num = -1441158644; - while (true) - { - int num8 = num; - int num3 = -1441158642; - int num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = -1441158644; - break; - case 2: - num = (enumerator2.MoveNext() ? (-1441158641) : (-1441158642)); - break; - case 1: - { - TerritoryType current2 = enumerator2.Current; - ScanLgbFiles(dictionary, visitedLgbPaths, current2, cancellationToken); - num = -1441158644; - break; - } - case 0: - goto end_IL_01dc; - } - continue; - end_IL_01dc: - break; - } + _dataManager.GameData.Options.CacheFileResources = cacheFileResources; } ExcelSheet excelSheet2 = _dataManager.GetExcelSheet(); ExcelSheet excelSheet3 = _dataManager.GetExcelSheet(); - using ExcelSheet.Enumerator enumerator3 = _dataManager.GetExcelSheet().GetEnumerator(); - int num = -1886979544; - Level current3 = default(Level); - while (true) + foreach (Level item4 in _dataManager.GetExcelSheet()) { - int num9 = num; - int num3 = -1886979543; - int num4 = num9; - switch ((num4 | num3) - (num4 & num3)) + if (item4.RowId != 0 && item4.Object.RowId != 0 && item4.Territory.IsValid && (excelSheet2.HasRow(item4.Object.RowId) || excelSheet3.HasRow(item4.Object.RowId))) { - case 3: - num = ((!excelSheet3.HasRow(current3.Object.RowId)) ? (-1886979544) : (-1886979537)); - break; - case 5: - num = ((!current3.Territory.IsValid) ? (-1886979544) : (-1886979551)); - break; - case 2: - num = ((current3.Object.RowId == 0) ? (-1886979544) : (-1886979540)); - break; - case 7: - current3 = enumerator3.Current; - num = ((current3.RowId == 0) ? (-1886979544) : (-1886979541)); - break; - case 6: - dictionary.TryAdd(current3.Object.RowId, ((ushort)current3.Territory.RowId, new Vector3(current3.X, current3.Y, current3.Z), false)); - num = -1886979544; - break; - case 8: - num = (excelSheet2.HasRow(current3.Object.RowId) ? (-1886979537) : (-1886979542)); - break; - case 0: - num = -1886979544; - break; - case 1: - num = (enumerator3.MoveNext() ? (-1886979538) : (-1886979539)); - break; - case 4: - return dictionary; + dictionary.TryAdd(item4.Object.RowId, ((ushort)item4.Territory.RowId, new Vector3(item4.X, item4.Y, item4.Z), false)); } } + return dictionary; } - [MethodImpl(MethodImplOptions.NoInlining)] private void ScanLgbFiles(Dictionary cache, HashSet visitedLgbPaths, TerritoryType territory, CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); string text = territory.Bg.ExtractText(); - int num = ((!_206B_202C_200C_202A_200C_202B_200D_206B_206D_206C_200C_206E_200D_202E_202C_206E_206F_200E_202B_200E_202A_206C_202E_200E_202E_202D_206A_206B_206B_200B_200B_202B_200D_202E_202E_206E_200F_202B_206A_202E(text)) ? (-1877077488) : (-1877077481)); - int num10 = default(int); - LgbFile file = default(LgbFile); - (ushort, Vector3, bool) value = default((ushort, Vector3, bool)); - bool flag = default(bool); - uint baseId = default(uint); - LayerCommon.InstanceObject instanceObject = default(LayerCommon.InstanceObject); - LayerCommon.InstanceObject[] instanceObjects = default(LayerCommon.InstanceObject[]); - int num17 = default(int); - LayerCommon.Layer[] array = default(LayerCommon.Layer[]); - int num14 = default(int); - LayerCommon.Layer layer = default(LayerCommon.Layer); - while (true) + if (string.IsNullOrEmpty(text)) { - int num2 = num; - int num3 = -1877077484; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + int num = text.IndexOf("/level/", StringComparison.Ordinal); + if (num < 0) + { + return; + } + int num2 = 0; + string[] lgbFileNames = LgbFileNames; + foreach (string text2 in lgbFileNames) + { + string text3 = "bg/" + text.Substring(0, num + 1) + "level/" + text2 + ".lgb"; + if (!visitedLgbPaths.Add(text3)) { - case 0: - num = -1877077481; - break; - case 3: - return; - case 4: - num10 = _206A_200D_206A_200C_202E_202A_202C_202C_202E_206C_206B_200F_202A_200B_202A_206D_206C_202D_200F_200B_200C_206A_200C_206A_202E_200D_206C_206B_206D_200E_200F_206A_202D_202D_200E_206A_200D_202C_206D_200C_202E(text, 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(507453428), StringComparison.Ordinal); - num = ((num10 >= 0) ? (-1877077482) : (-1877077483)); - break; - case 1: - return; - case 2: + continue; + } + LgbFile file; + try { - int num7 = 0; - string[] lgbFileNames = LgbFileNames; - int num8 = 0; - while (true) + file = _dataManager.GetFile(text3); + } + catch (Exception exception) + { + _logger.LogTrace(exception, "Failed to load LGB file {Path}", text3); + continue; + } + if (file == null) + { + continue; + } + num2++; + LayerCommon.Layer[] layers = file.Layers; + for (int j = 0; j < layers.Length; j++) + { + LayerCommon.Layer layer = layers[j]; + bool flag = layer.FestivalID != 0 || layer.IsTemporary != 0; + LayerCommon.InstanceObject[] instanceObjects = layer.InstanceObjects; + for (int k = 0; k < instanceObjects.Length; k++) { - if (num8 < lgbFileNames.Length) + LayerCommon.InstanceObject instanceObject = instanceObjects[k]; + uint baseId; + if (instanceObject.AssetType == LayerEntryType.EventNPC) { - string text2 = lgbFileNames[num8]; - string[] obj = new string[5] - { - global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-849387939), - null, - null, - null, - null - }; - int num9 = num10; - num3 = 1; - num4 = num9; - obj[1] = _202D_202D_200D_206A_206D_202D_200B_202A_200B_202B_202D_206C_206C_202B_202E_206F_200C_206A_202D_206C_200B_200E_202E_200E_200B_206C_200D_202B_206F_202A_200E_202D_202D_202B_200C_200E_200C_202E_202A_206C_202E(text, 0, (num4 | num3) + (num4 & num3)); - obj[2] = 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(993927731); - obj[3] = text2; - obj[4] = global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(2127002196); - string text3 = _202D_202D_206A_206E_200C_200E_200D_206C_200D_206E_200C_200D_202E_202A_206D_206D_200E_202B_206E_206A_206E_206E_206B_202E_206C_202D_206F_200B_206D_206A_206A_206C_202D_206B_206F_200C_202C_200B_202D_206E_202E(obj); - if (!visitedLgbPaths.Add(text3)) - { - goto IL_0458; - } - try - { - file = _dataManager.GetFile(text3); - } - catch (Exception ex) - { - _206D_206F_200F_202C_200C_206A_206A_206C_200F_202B_206F_206D_200E_200D_202C_202D_200D_200D_202A_200E_200E_206E_202B_200F_202D_206C_206F_206B_202D_206E_202B_202A_206C_206B_200B_206A_200C_202E_206D_202D_202E((ILogger)_logger, ex, 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(1684031378), new object[1] { text3 }); - goto IL_0458; - } - num = ((file == null) ? (-959666391) : (-959666381)); + baseId = ((LayerCommon.ENPCInstanceObject)instanceObject.Object).ParentData.ParentData.BaseId; } else { - num = -959666382; + if (instanceObject.AssetType != LayerEntryType.EventObject) + { + continue; + } + baseId = ((LayerCommon.EventInstanceObject)instanceObject.Object).ParentData.BaseId; } - while (true) + if (baseId != 0 && (!cache.TryGetValue(baseId, out (ushort, Vector3, bool) value) || !(!value.Item3 || flag))) { - int num11 = num; - num3 = -959666372; - num4 = num11; - int num12; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 3: - num = ((!(_options.ScanThrottle > TimeSpan.Zero)) ? (-959666387) : (-959666380)); - continue; - case 0: - { - bool num18 = !value.Item3; - num3 = (flag ? 1 : 0); - num4 = (num18 ? 1 : 0); - num = ((num4 + num3 - (num4 & num3) != 0) ? (-959666376) : (-959666373)); - continue; - } - case 19: - num = -959666381; - continue; - case 13: - baseId = ((LayerCommon.EventInstanceObject)instanceObject.Object).ParentData.BaseId; - num = -959666386; - continue; - case 11: - instanceObject = instanceObjects[num17]; - num = ((instanceObject.AssetType != LayerEntryType.EventNPC) ? (-959666374) : (-959666379)); - continue; - case 6: - num = ((instanceObject.AssetType != LayerEntryType.EventObject) ? (-959666376) : (-959666383)); - continue; - case 17: - return; - case 7: - cache[baseId] = ((ushort)territory.RowId, new Vector3(instanceObject.Transform.Translation.X, instanceObject.Transform.Translation.Y, instanceObject.Transform.Translation.Z), flag); - num = -959666376; - continue; - case 15: - { - int num19 = num7; - num3 = 1; - num4 = num19; - num7 = (num4 | num3) + (num4 & num3); - array = _202B_202E_206F_206F_202B_200B_206B_202A_206E_206D_206F_202E_202E_200D_200C_206D_206F_202A_200D_206F_206E_206C_202A_200B_202D_206B_202D_200B_206E_200C_206E_206B_206F_206F_200C_206E_202A_202A_200C_200C_202E(file); - num14 = 0; - num = -959666384; - continue; - } - case 14: - num = ((num7 <= 0) ? (-959666387) : (-959666369)); - continue; - case 2: - num12 = ((layer.IsTemporary != 0) ? 1 : 0); - goto IL_051b; - case 8: - _206C_200B_206C_206F_206E_206A_206C_206A_206F_200D_206A_202E_206F_206B_200B_200C_206E_206E_206D_202D_200B_202B_202A_200D_206A_206C_206C_200D_200C_202A_202C_202B_206A_206D_200B_200B_202B_206C_202E_206A_202E(_options.ScanThrottle); - num = -959666387; - continue; - case 4: - { - int num20 = num17; - num3 = 1; - num4 = num20; - num17 = (num4 | num3) + (num4 & num3); - num = -959666371; - continue; - } - case 9: - baseId = ((LayerCommon.ENPCInstanceObject)instanceObject.Object).ParentData.ParentData.BaseId; - num = -959666386; - continue; - case 18: - num = ((baseId == 0) ? (-959666376) : (-959666388)); - continue; - case 16: - num = ((!cache.TryGetValue(baseId, out value)) ? (-959666373) : (-959666372)); - continue; - case 21: - break; - case 5: - layer = array[num14]; - num = ((layer.FestivalID != 0) ? (-959666378) : (-959666370)); - continue; - case 1: - num = ((num17 < instanceObjects.Length) ? (-959666377) : (-959666392)); - continue; - case 12: - num = ((num14 < array.Length) ? (-959666375) : (-959666391)); - continue; - case 20: - { - int num13 = num14; - num3 = 1; - num4 = num13; - int num15 = num4 ^ num3; - int num16 = num4 & num3; - num14 = num15 + (num16 + num16); - num = -959666384; - continue; - } - case 10: - { - num12 = 1; - goto IL_051b; - } - IL_051b: - flag = (byte)num12 != 0; - instanceObjects = layer.InstanceObjects; - num17 = 0; - num = -959666371; - continue; - } - break; + cache[baseId] = ((ushort)territory.RowId, new Vector3(instanceObject.Transform.Translation.X, instanceObject.Transform.Translation.Y, instanceObject.Transform.Translation.Z), flag); } - goto IL_0458; - IL_0458: - int num21 = num8; - num3 = 1; - num4 = num21; - num8 = (num4 | num3) + (num4 & num3); } } - } + } + if (num2 > 0 && _options.ScanThrottle > TimeSpan.Zero) + { + Thread.Sleep(_options.ScanThrottle); } } - - static object _202C_200B_202B_202C_206D_206E_202B_202C_200B_206B_200C_206C_202A_200B_200F_202C_206B_200E_206A_206D_200F_200D_206B_206D_200B_200C_206D_200D_206F_202E_202A_206E_202B_206C_206D_200F_206C_200D_206A_206B_202E() - { - return new object(); - } - - static void _200B_206A_200F_200D_200E_202A_200C_200E_206E_206B_206E_206A_202E_206E_206B_206F_200E_206B_206E_206D_202B_200D_202C_202A_206D_202A_202C_200C_206F_200F_206A_202D_206C_202A_200B_206A_202B_200E_206C_206D_202E(object P_0, ref bool P_1) - { - Monitor.Enter(P_0, ref P_1); - } - - static void _200D_200C_206C_202E_206E_206F_206F_202E_206A_200D_206B_202A_206D_200F_202D_206D_200E_200C_200D_202B_202B_206F_202C_202E_200B_206D_202E_206E_202E_202B_202B_200D_202D_206D_202E_200C_206A_206C_200F_202E_202E(object P_0) - { - Monitor.Exit(P_0); - } - - static void _202D_206F_206E_200E_200F_206F_206B_206A_202A_206E_206F_202B_206E_206E_202C_200F_202D_206B_206A_200F_206C_202D_202E_202C_200E_206A_200F_206B_202A_200D_202D_206D_206E_206B_200B_202C_206A_206B_202B_202A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _206B_202C_200C_202A_200C_202B_200D_206B_206D_206C_200C_206E_200D_202E_202C_206E_206F_200E_202B_200E_202A_206C_202E_200E_202E_202D_206A_206B_206B_200B_200B_202B_200D_202E_202E_206E_200F_202B_206A_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static string _202A_206E_206D_202D_206F_200F_206B_206D_206F_202C_206A_202B_200B_206F_206C_206B_200E_206A_206A_202B_206F_200D_200F_202C_206D_202B_200F_200E_200C_202B_206A_206F_206D_202B_206B_202B_206A_206D_206E_202A_202E(string P_0, string P_1) - { - return Path.Combine(P_0, P_1); - } - - static bool _202E_202B_206B_202B_202C_200E_206A_200B_200E_202C_202C_202A_202A_206A_202B_202C_202B_206A_206D_206F_200F_206E_206A_206B_202D_200E_202B_206E_202B_202B_200D_200F_202A_206C_200F_200F_200F_206E_200E_200F_202E(string P_0) - { - return File.Exists(P_0); - } - - static FileStream _202C_206E_200B_206F_200F_202B_202A_206E_200D_206A_200F_200F_206D_206F_200F_206D_200C_202B_202C_202A_200F_202C_200D_200F_202B_200F_206F_202E_206D_200D_206C_200B_206E_202A_202E_202B_206F_200C_202A_200F_202E(string P_0) - { - return File.OpenRead(P_0); - } - - static BinaryReader _202C_206B_202E_200D_206B_202A_202D_202D_202D_202A_206A_200D_206C_200F_206B_200D_202B_206D_202C_202D_200E_200D_202A_206B_202B_200B_202B_202E_206F_206C_206D_200F_202D_200B_202E_202C_202D_200D_202D_206B_202E(Stream P_0) - { - return new BinaryReader(P_0); - } - - static uint _202B_202B_202D_202B_202B_202C_200F_202A_206F_202B_206C_206E_200D_206F_202C_202A_202C_202C_206D_206D_206B_202C_206C_202B_206B_202A_202A_206F_202E_206A_206D_200E_206C_200E_202B_200B_200C_202C_202A_200F_202E(BinaryReader P_0) - { - return P_0.ReadUInt32(); - } - - static int _206F_200B_200D_206A_200E_200E_200F_200D_206E_206A_200D_206E_206B_200B_200F_206D_200B_200C_202C_200C_200C_202D_206D_202D_202D_206A_200F_200C_200C_200C_200C_202B_200E_200C_202A_206D_202E_206B_206E_200F_202E(BinaryReader P_0) - { - return P_0.ReadInt32(); - } - - static string _206D_202A_202D_200F_202E_202C_200C_200E_200D_202E_206F_202D_202A_200B_206B_206D_206B_202C_206B_206D_206F_206C_206B_200E_206E_206C_206C_200E_206F_200C_200B_206E_202A_200C_202C_200B_202E_200C_206E_200E_202E(BinaryReader P_0) - { - return P_0.ReadString(); - } - - static bool _206D_202D_202D_206C_206E_206B_206E_206A_200B_202B_202A_202B_202E_202D_202A_200C_202D_202A_206F_206F_200D_202C_200E_202A_200C_206A_202E_202B_206A_202E_202C_206A_202E_206B_202A_202B_206F_206D_200E_200C_202E(string P_0, string P_1) - { - return P_0 != P_1; - } - - static ushort _202C_200B_202A_202E_206C_200E_200F_206C_200E_202E_202A_206C_202B_202C_202D_202A_202B_206D_202C_202C_200E_202E_202A_202D_200C_200F_200F_202C_206C_206A_202B_206F_202A_202C_202A_202D_202C_200B_206F_202E_202E(BinaryReader P_0) - { - return P_0.ReadUInt16(); - } - - static float _206F_200B_202B_206A_206B_206A_200B_202C_202D_200D_206B_200B_206B_202B_202D_206A_206F_200B_206A_200B_206F_202C_202A_200E_206E_206D_206E_202D_206B_200F_202E_202E_200B_206B_206F_202E_206D_200D_206A_200E_202E(BinaryReader P_0) - { - return P_0.ReadSingle(); - } - - static bool _206A_200B_200D_200D_202C_202A_200B_206F_206D_202C_206C_202C_202B_202D_202C_202D_206F_200C_206E_200C_206E_200B_200F_202D_202A_200F_202E_202C_202B_206D_206A_206D_200B_200C_200B_200F_200F_202B_200C_206F_202E(BinaryReader P_0) - { - return P_0.ReadBoolean(); - } - - static void _206D_202C_200F_202A_200D_202A_206B_206D_202E_202D_200D_206B_202B_202D_200E_206F_202D_202A_202C_200D_202E_202D_206A_206E_206B_202D_200B_202C_206B_206A_202D_206E_202D_206A_206A_206F_206C_202B_200C_206A_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _200F_202C_202E_206C_206C_202B_206C_202D_202D_206E_202B_202D_200E_206B_206B_200B_206B_202B_206B_200B_202E_202C_206A_206B_206E_202A_200D_202C_202A_200F_202C_202A_202A_206F_206F_200E_202C_202B_200D_206D_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogWarning(P_1, P_2, P_3); - } - - static void _202B_202E_202C_206C_206B_206F_202C_200E_206E_200B_202A_206F_202A_200D_206C_206B_200F_200B_200E_200F_206B_202A_202C_206D_202E_206B_206E_200F_206C_200B_202B_206A_202B_206E_206D_202A_200C_206A_202B_202B_202E(string P_0) - { - File.Delete(P_0); - } - - static DirectoryInfo _206A_200D_206F_206D_200C_202A_200C_202D_206E_206C_206D_206E_206D_202D_206B_202D_206C_202B_200F_202E_206C_206D_200F_202D_202E_206E_200B_202B_200F_200B_206C_200D_206B_200D_202A_202E_206C_206B_200F_202A_202E(string P_0) - { - return Directory.CreateDirectory(P_0); - } - - static string _200D_200D_206D_206D_206E_200C_200E_202B_206F_200B_200C_200E_200D_202B_206E_206C_200F_202E_206B_200F_206D_206B_200C_200F_200F_206D_202B_202E_202D_206D_200C_200E_200E_206A_202A_206C_200E_206F_202D_206C_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static FileStream _206D_206E_202B_200B_200B_202A_202D_206F_206C_206F_206F_202B_200F_200E_206E_206D_206A_202C_202E_200E_206F_202C_200F_200E_200B_202A_202A_200E_200F_202C_202A_200C_202E_206C_202C_200C_206C_202B_202A_206D_202E(string P_0) - { - return File.Create(P_0); - } - - static BinaryWriter _202E_206F_200E_206B_206A_206D_206D_200F_206A_202A_200D_200F_200D_202C_200C_200F_206F_202A_202E_202E_202C_202B_206E_206F_200F_200C_200F_200B_200F_206F_202E_200B_200E_206C_206A_202C_206F_202D_202B_206C_202E(Stream P_0) - { - return new BinaryWriter(P_0); - } - - static void _206F_202A_202B_206C_202E_200C_200B_200F_206D_200E_202D_202B_202D_206D_206B_206F_202D_200E_200C_200B_202E_200C_206E_200E_200E_200E_206E_206F_206F_206C_206F_200B_206E_206C_200E_202B_200F_200B_200D_206B_202E(BinaryWriter P_0, uint P_1) - { - P_0.Write(P_1); - } - - static void _200E_206C_202B_202B_200C_200B_200E_200D_200B_200D_206B_206E_202D_202A_206D_202D_200F_202A_200E_206E_200B_202C_206C_200C_200F_206B_202A_206D_206B_202C_206C_202B_206C_202A_202D_200F_206E_206D_206E_200F_202E(BinaryWriter P_0, int P_1) - { - P_0.Write(P_1); - } - - static void _202A_202A_206F_206B_206A_200F_202D_206E_202D_206D_206D_202E_206A_202B_202D_202C_206E_202A_202A_202D_202E_202D_200C_202B_202A_206E_200C_200D_206B_206B_202A_200F_202B_202A_206C_202A_206B_202C_202B_206A_202E(BinaryWriter P_0, string P_1) - { - P_0.Write(P_1); - } - - static void _206E_200B_200E_200C_200B_206E_206A_200D_202D_202D_200E_202A_202A_202E_202D_206E_206B_206F_202B_206C_202B_202C_206C_206E_202C_206E_200D_200C_206A_206F_200F_206E_206A_202B_202C_200C_200D_202B_202A_200E_202E(BinaryWriter P_0, ushort P_1) - { - P_0.Write(P_1); - } - - static void _200E_202D_206C_202B_202A_206B_200D_202D_200B_206F_202C_202A_200E_202A_202B_200B_200D_202E_206F_200C_202A_202C_202E_206C_206B_202D_202E_202E_200D_206B_200B_206E_200C_206C_200F_202A_200C_202D_206D_200F_202E(BinaryWriter P_0, float P_1) - { - P_0.Write(P_1); - } - - static void _200F_206E_202A_202E_200C_202D_206D_202B_206B_200B_200B_202A_200C_206D_206E_200B_206F_202D_200C_206E_206C_202D_206A_206A_206F_202C_200B_200F_206F_202C_200D_200E_202C_206C_202B_202A_206B_200B_202E_202E_202E(BinaryWriter P_0, bool P_1) - { - P_0.Write(P_1); - } - - static void _206C_206F_200E_206B_200F_202E_206D_206F_202D_206B_202B_202C_200B_200B_206C_200F_202D_202B_202B_202B_200E_206A_200E_206E_206E_200D_206C_200E_202B_202A_206F_200E_202B_202C_202B_206C_200D_200E_206D_202B_202E(string P_0, string P_1, bool P_2) - { - File.Move(P_0, P_1, P_2); - } - - static int _206A_200D_206A_200C_202E_202A_202C_202C_202E_206C_206B_200F_202A_200B_202A_206D_206C_202D_200F_200B_200C_206A_200C_206A_202E_200D_206C_206B_206D_200E_200F_206A_202D_202D_200E_206A_200D_202C_206D_200C_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.IndexOf(P_1, P_2); - } - - static string _202D_202D_200D_206A_206D_202D_200B_202A_200B_202B_202D_206C_206C_202B_202E_206F_200C_206A_202D_206C_200B_200E_202E_200E_200B_206C_200D_202B_206F_202A_200E_202D_202D_202B_200C_200E_200C_202E_202A_206C_202E(string P_0, int P_1, int P_2) - { - return P_0.Substring(P_1, P_2); - } - - static string _202D_202D_206A_206E_200C_200E_200D_206C_200D_206E_200C_200D_202E_202A_206D_206D_200E_202B_206E_206A_206E_206E_206B_202E_206C_202D_206F_200B_206D_206A_206A_206C_202D_206B_206F_200C_202C_200B_202D_206E_202E(string[] P_0) - { - return string.Concat(P_0); - } - - static void _206D_206F_200F_202C_200C_206A_206A_206C_200F_202B_206F_206D_200E_200D_202C_202D_200D_200D_202A_200E_200E_206E_202B_200F_202D_206C_206F_206B_202D_206E_202B_202A_206C_206B_200B_206A_200C_202E_206D_202D_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogTrace(P_1, P_2, P_3); - } - - static LayerCommon.Layer[] _202B_202E_206F_206F_202B_200B_206B_202A_206E_206D_206F_202E_202E_200D_200C_206D_206F_202A_200D_206F_206E_206C_202A_200B_202D_206B_202D_200B_206E_200C_206E_206B_206F_206F_200C_206E_202A_202A_200C_200C_202E(LgbFile P_0) - { - return P_0.Layers; - } - - static void _206C_200B_206C_206F_206E_206A_206C_206A_206F_200D_206A_202E_206F_206B_200B_200C_206E_206E_206D_202D_200B_202B_202A_200D_206A_206C_206C_200D_200C_202A_202C_202B_206A_206D_200B_200B_202B_206C_202E_206A_202E(TimeSpan P_0) - { - Thread.Sleep(P_0); - } } diff --git a/LLib/LLib.Shop/NpcPositionCacheOptions.cs b/LLib/LLib.Shop/NpcPositionCacheOptions.cs index e3c0f57..c0e3033 100644 --- a/LLib/LLib.Shop/NpcPositionCacheOptions.cs +++ b/LLib/LLib.Shop/NpcPositionCacheOptions.cs @@ -1,152 +1,12 @@ using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; namespace LLib.Shop; public sealed record NpcPositionCacheOptions { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200D_200B_200C_206D_206E_206F_200D_202D_206B_202E_202C_206F_206E_200C_202B_202D_206F_206C_206A_202C_202A_206C_200C_200D_206A_200D_200B_202D_202A_200E_202D_206C_200C_200F_202B_206F_202E_206E_206F_200E_202E(typeof(NpcPositionCacheOptions).TypeHandle); - } - } - public string? CacheDirectory { get; init; } public string? GameVersion { get; init; } public TimeSpan ScanThrottle { get; init; } = TimeSpan.Zero; - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202B_206D_202A_206F_202C_206F_202C_200C_200F_206C_202A_202E_200E_202D_200D_200D_200D_202E_206F_200B_202B_200E_200D_206C_200F_206C_206B_206C_206E_200C_200D_206F_206F_200E_206D_200F_200E_202C_206F_200C_202E(); - _206D_206E_200B_202D_202C_206E_202C_202B_206C_206D_202B_202A_206A_200E_206A_206B_200C_202D_206B_200B_200C_206B_202E_200C_200C_202E_206A_200B_202A_206D_206E_200F_206E_202C_206C_202D_202B_202E_200D_206E_202E(stringBuilder, 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(-186520668)); - _206D_206E_200B_202D_202C_206E_202C_202B_206C_206D_202B_202A_206A_200E_206A_206B_200C_202D_206B_200B_200C_206B_202E_200C_200C_202E_206A_200B_202A_206D_206E_200F_206E_202C_206C_202D_202B_202E_200D_206E_202E(stringBuilder, 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(579144622)); - int num = ((!PrintMembers(stringBuilder)) ? (-658124115) : (-658124116)); - while (true) - { - int num2 = num; - int num3 = -658124115; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -658124116; - break; - case 1: - _202E_200D_202E_200E_206C_200D_206A_206B_202B_200B_206B_206F_206F_206F_206D_206C_202D_202C_206F_202A_206B_206A_202D_202E_202A_206F_200B_206F_200E_206A_200D_202B_202B_200B_206A_202A_202E_200D_200C_202E_202E(stringBuilder, ' '); - num = -658124115; - break; - case 0: - _202E_200D_202E_200E_206C_200D_206A_206B_202B_200B_206B_206F_206F_206F_206D_206C_202D_202C_206F_202A_206B_206A_202D_202E_202A_206F_200B_206F_200E_206A_200D_202B_202B_200B_206A_202A_202E_200D_200C_202E_202E(stringBuilder, '}'); - return _200B_202C_202C_200F_200F_206F_200B_200D_202E_202B_206F_206F_200D_200D_206B_200E_200F_202A_202D_202C_200B_206C_200D_202B_206E_202C_206F_206A_206F_206B_202A_200D_206F_202D_200F_200E_206E_200C_206C_200C_202E((object?)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206E_202A_202D_202A_202E_202A_200B_200B_202B_202B_202D_202E_206D_206D_206B_202B_202A_202D_206E_206E_200F_200B_206B_206E_200E_202C_206A_202E_206D_200D_202C_202A_202A_206F_200C_202D_202E_206E_200B_206C_202E(); - _206D_206E_200B_202D_202C_206E_202C_202B_206C_206D_202B_202A_206A_200E_206A_206B_200C_202D_206B_200B_200C_206B_202E_200C_200C_202E_206A_200B_202A_206D_206E_200F_206E_202C_206C_202D_202B_202E_200D_206E_202E(builder, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(624739849)); - _206C_202D_206D_202A_202B_202D_206C_206F_202B_206D_206C_202C_206F_202E_200F_206C_202C_200E_200E_202C_206A_200F_202C_200B_202B_200D_202E_200C_206F_206A_206C_202C_202C_206E_200E_206D_202E_200F_206A_206F_202E(builder, (object?)CacheDirectory); - _206D_206E_200B_202D_202C_206E_202C_202B_206C_206D_202B_202A_206A_200E_206A_206B_200C_202D_206B_200B_200C_206B_202E_200C_200C_202E_206A_200B_202A_206D_206E_200F_206E_202C_206C_202D_202B_202E_200D_206E_202E(builder, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1054887383)); - _206C_202D_206D_202A_202B_202D_206C_206F_202B_206D_206C_202C_206F_202E_200F_206C_202C_200E_200E_202C_206A_200F_202C_200B_202B_200D_202E_200C_206F_206A_206C_202C_202C_206E_200E_206D_202E_200F_206A_206F_202E(builder, (object?)GameVersion); - _206D_206E_200B_202D_202C_206E_202C_202B_206C_206D_202B_202A_206A_200E_206A_206B_200C_202D_206B_200B_200C_206B_202E_200C_200C_202E_206A_200B_202A_206D_206E_200F_206E_202C_206C_202D_202B_202E_200D_206E_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(2000135391)); - _206D_206E_200B_202D_202C_206E_202C_202B_206C_206D_202B_202A_206A_200E_206A_206B_200C_202D_206B_200B_200C_206B_202E_200C_200C_202E_206A_200B_202A_206D_206E_200F_206E_202C_206C_202D_202B_202E_200D_206E_202E(builder, ScanThrottle.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(NpcPositionCacheOptions? other) - { - int num = (((object)this == other) ? (-1497695151) : (-1497695145)); - while (true) - { - int num2 = num; - int num3 = -1497695146; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - num = -1497695145; - break; - case 3: - return false; - case 1: - num = (((object)other == null) ? (-1497695147) : (-1497695146)); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(GameVersion, other.GameVersion)) ? (-1497695147) : (-1497695152)); - break; - case 6: - return EqualityComparer.Default.Equals(ScanThrottle, other.ScanThrottle); - case 7: - return true; - case 4: - num = ((!EqualityComparer.Default.Equals(CacheDirectory, other.CacheDirectory)) ? (-1497695147) : (-1497695148)); - break; - case 0: - num = ((!_200C_202B_206E_200C_206B_202A_202C_202D_200D_206D_200C_200F_200F_200D_206B_206F_206F_206C_202D_206D_202A_206D_200D_200C_202E_200B_200C_200B_200F_202D_206D_206E_200C_200C_202C_206F_200B_200F_202D_202C_202E(EqualityContract, other.EqualityContract)) ? (-1497695147) : (-1497695150)); - break; - } - } - } - - bool IEquatable.Equals(NpcPositionCacheOptions? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type? _200D_200B_200C_206D_206E_206F_200D_202D_206B_202E_202C_206F_206E_200C_202B_202D_206F_206C_206A_202C_202A_206C_200C_200D_206A_200D_200B_202D_202A_200E_202D_206C_200C_200F_202B_206F_202E_206E_206F_200E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder? _202B_206D_202A_206F_202C_206F_202C_200C_200F_206C_202A_202E_200E_202D_200D_200D_200D_202E_206F_200B_202B_200E_200D_206C_200F_206C_206B_206C_206E_200C_200D_206F_206F_200E_206D_200F_200E_202C_206F_200C_202E() - { - return new StringBuilder(); - } - - static StringBuilder? _206D_206E_200B_202D_202C_206E_202C_202B_206C_206D_202B_202A_206A_200E_206A_206B_200C_202D_206B_200B_200C_206B_202E_200C_200C_202E_206A_200B_202A_206D_206E_200F_206E_202C_206C_202D_202B_202E_200D_206E_202E(StringBuilder? P_0, string? P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder? _202E_200D_202E_200E_206C_200D_206A_206B_202B_200B_206B_206F_206F_206F_206D_206C_202D_202C_206F_202A_206B_206A_202D_202E_202A_206F_200B_206F_200E_206A_200D_202B_202B_200B_206A_202A_202E_200D_200C_202E_202E(StringBuilder? P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string? _200B_202C_202C_200F_200F_206F_200B_200D_202E_202B_206F_206F_200D_200D_206B_200E_200F_202A_202D_202C_200B_206C_200D_202B_206E_202C_206F_206A_206F_206B_202A_200D_206F_202D_200F_200E_206E_200C_206C_200C_202E(object? P_0) - { - return P_0.ToString(); - } - - static void _206E_202A_202D_202A_202E_202A_200B_200B_202B_202B_202D_202E_206D_206D_206B_202B_202A_202D_206E_206E_200F_200B_206B_206E_200E_202C_206A_202E_206D_200D_202C_202A_202A_206F_200C_202D_202E_206E_200B_206C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder? _206C_202D_206D_202A_202B_202D_206C_206F_202B_206D_206C_202C_206F_202E_200F_206C_202C_200E_200E_202C_206A_200F_202C_200B_202B_200D_202E_200C_206F_206A_206C_202C_202C_206E_200E_206D_202E_200F_206A_206F_202E(StringBuilder? P_0, object? P_1) - { - return P_0.Append(P_1); - } - - static bool _200C_202B_206E_200C_206B_202A_202C_202D_200D_206D_200C_200F_200F_200D_206B_206F_206F_206C_202D_206D_202A_206D_200D_200C_202E_200B_200C_200B_200F_202D_206D_206E_200C_200C_202C_206F_200B_200F_202D_202C_202E(Type? P_0, Type? P_1) - { - return P_0 == P_1; - } } diff --git a/LLib/LLib.Shop/RegularShopBase.cs b/LLib/LLib.Shop/RegularShopBase.cs index e1fbeb7..ec8c343 100644 --- a/LLib/LLib.Shop/RegularShopBase.cs +++ b/LLib/LLib.Shop/RegularShopBase.cs @@ -1,10 +1,7 @@ using System; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Threading; using Dalamud.Game.Addon.Lifecycle; using Dalamud.Game.Addon.Lifecycle.AddonArgTypes; -using Dalamud.Game.NativeWrapper; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Component.GUI; using LLib.GameUI; @@ -31,9 +28,6 @@ public class RegularShopBase : IDisposable private long _purchaseDeadlineMs; - [CompilerGenerated] - private EventHandler? m_PurchaseCompleted; - private const int MaxPurchaseQuantity = 99; private const int MaxWaitMs = 3000; @@ -52,267 +46,110 @@ public class RegularShopBase : IDisposable } set { - int num = ((PurchaseState == null) ? (-314894367) : (-314894366)); - while (true) + if (PurchaseState != null) { - int num2 = num; - int num3 = -314894368; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -314894366; - break; - case 1: - return; - case 2: - PurchaseState.IsAwaitingYesNo = value; - num = -314894367; - break; - } + PurchaseState.IsAwaitingYesNo = value; } } } - public event EventHandler? PurchaseCompleted - { - [CompilerGenerated] - add - { - EventHandler eventHandler = this.m_PurchaseCompleted; - int num = 660558086; - while (true) - { - int num2 = num; - int num3 = 660558087; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return; - case 1: - { - EventHandler eventHandler2 = eventHandler; - EventHandler value2 = (EventHandler)_202E_202D_202E_200D_200B_206C_202C_200F_206C_200C_206B_202A_200B_202A_200D_206B_202B_206B_200F_200C_206C_206C_206B_202B_202C_200D_206B_202A_200E_206D_206B_200E_200E_206E_202D_206D_200F_206E_202C_206E_202E((Delegate)eventHandler2, (Delegate)value); - eventHandler = Interlocked.CompareExchange(ref this.m_PurchaseCompleted, value2, eventHandler2); - num = (((object)eventHandler != eventHandler2) ? 660558086 : 660558085); - break; - } - case 0: - num = 660558086; - break; - } - } - } - [CompilerGenerated] - remove - { - EventHandler eventHandler = this.m_PurchaseCompleted; - int num = 1746183052; - while (true) - { - int num2 = num; - int num3 = 1746183053; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1746183052; - break; - case 2: - return; - case 1: - { - EventHandler eventHandler2 = eventHandler; - EventHandler value2 = (EventHandler)_200B_206D_202C_206D_206C_200D_202B_200D_202A_202E_200E_200C_200E_206D_202B_206E_200F_206E_200E_200B_202C_206E_202C_206A_206B_206F_206B_200B_206D_202D_202C_202C_206D_202B_202D_206B_200D_200C_200C_202C_202E((Delegate)eventHandler2, (Delegate)value); - eventHandler = Interlocked.CompareExchange(ref this.m_PurchaseCompleted, value2, eventHandler2); - num = (((object)eventHandler != eventHandler2) ? 1746183052 : 1746183055); - break; - } - } - } - } - } + public event EventHandler? PurchaseCompleted; - [MethodImpl(MethodImplOptions.NoInlining)] public RegularShopBase(IShopWindow parentWindow, string addonName, IPluginLog pluginLog, IGameGui gameGui, IAddonLifecycle addonLifecycle, IDataManager dataManager) { - _206B_206A_202C_200C_206E_200C_202C_206A_200D_202A_202D_206D_200E_200B_206E_206F_200B_206A_206F_202D_200F_202A_202C_200E_202C_202B_206A_202C_200F_202D_206D_202D_202A_206C_202C_206C_206B_200B_200D_200F_202E((object)parentWindow, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1152352366)); - _200F_206D_202A_206D_200C_206A_202D_200D_206E_200F_206E_206D_206F_202B_202C_202A_200E_202D_206C_202B_200E_202D_206F_206C_202B_202B_206F_206F_206D_202C_202B_202E_200D_202A_206D_206A_206C_200C_206F_200F_202E(addonName, 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(876094366)); - _206B_206A_202C_200C_206E_200C_202C_206A_200D_202A_202D_206D_200E_200B_206E_206F_200B_206A_206F_202D_200F_202A_202C_200E_202C_202B_206A_202C_200F_202D_206D_202D_202A_206C_202C_206C_206B_200B_200D_200F_202E((object)pluginLog, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-2117874046)); - _206B_206A_202C_200C_206E_200C_202C_206A_200D_202A_202D_206D_200E_200B_206E_206F_200B_206A_206F_202D_200F_202A_202C_200E_202C_202B_206A_202C_200F_202D_206D_202D_202A_206C_202C_206C_206B_200B_200D_200F_202E((object)gameGui, 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(608358874)); - _206B_206A_202C_200C_206E_200C_202C_206A_200D_202A_202D_206D_200E_200B_206E_206F_200B_206A_206F_202D_200F_202A_202C_200E_202C_202B_206A_202C_200F_202D_206D_202D_202A_206C_202C_206C_206B_200B_200D_200F_202E((object)addonLifecycle, 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(1756451262)); - _206B_206A_202C_200C_206E_200C_202C_206A_200D_202A_202D_206D_200E_200B_206E_206F_200B_206A_206F_202D_200F_202A_202C_200E_202C_202B_206A_202C_200F_202D_206D_202D_202A_206C_202C_206C_206B_200B_200D_200F_202E((object)dataManager, 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(990210437)); + ArgumentNullException.ThrowIfNull(parentWindow, "parentWindow"); + ArgumentException.ThrowIfNullOrEmpty(addonName, "addonName"); + ArgumentNullException.ThrowIfNull(pluginLog, "pluginLog"); + ArgumentNullException.ThrowIfNull(gameGui, "gameGui"); + ArgumentNullException.ThrowIfNull(addonLifecycle, "addonLifecycle"); + ArgumentNullException.ThrowIfNull(dataManager, "dataManager"); _parentWindow = parentWindow; _addonName = addonName; _pluginLog = pluginLog; _gameGui = gameGui; _addonLifecycle = addonLifecycle; _itemSheet = dataManager.GetExcelSheet(); - _202B_200B_206D_200B_206F_200C_200C_206E_200B_206E_206D_206B_206E_202A_200B_206F_202B_206F_206F_206E_200D_200F_206D_200E_202C_200D_206E_200C_200D_202A_202C_200B_202A_202E_202D_202E_202A_206B_206F_200C_202E(_addonLifecycle, AddonEvent.PostSetup, _addonName, (IAddonLifecycle.AddonEventDelegate)ShopPostSetup); - _202B_200B_206D_200B_206F_200C_200C_206E_200B_206E_206D_206B_206E_202A_200B_206F_202B_206F_206F_206E_200D_200F_206D_200E_202C_200D_206E_200C_200D_202A_202C_200B_202A_202E_202D_202E_202A_206B_206F_200C_202E(_addonLifecycle, AddonEvent.PreFinalize, _addonName, (IAddonLifecycle.AddonEventDelegate)ShopPreFinalize); - _202B_200B_206D_200B_206F_200C_200C_206E_200B_206E_206D_206B_206E_202A_200B_206F_202B_206F_206F_206E_200D_200F_206D_200E_202C_200D_206E_200C_200D_202A_202C_200B_202A_202E_202D_202E_202A_206B_206F_200C_202E(_addonLifecycle, AddonEvent.PostUpdate, _addonName, (IAddonLifecycle.AddonEventDelegate)ShopPostUpdate); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, _addonName, ShopPostSetup); + _addonLifecycle.RegisterListener(AddonEvent.PreFinalize, _addonName, ShopPreFinalize); + _addonLifecycle.RegisterListener(AddonEvent.PostUpdate, _addonName, ShopPostUpdate); } private unsafe void ShopPostSetup(AddonEvent type, AddonArgs args) { - int num = (_parentWindow.IsEnabled ? (-1920873629) : (-1920873630)); - while (true) + if (!_parentWindow.IsEnabled) { - int num2 = num; - int num3 = -1920873629; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - _parentWindow.IsOpen = true; - num = -1920873632; - break; - case 0: - _parentWindow.UpdateShopStock((AtkUnitBase*)_206F_200C_202D_200F_200F_206B_206F_200D_202B_206C_202E_206C_206F_200D_206F_206B_200C_200B_202E_200D_200B_200C_206B_200F_200B_202E_202C_202C_206A_200C_206D_200D_206D_200B_200E_202C_206D_200B_200C_202A_202E(args).Address); - PostUpdateShopStock(); - num = ((ItemForSale == null) ? (-1920873632) : (-1920873625)); - break; - case 3: - return; - case 2: - num = -1920873630; - break; - case 1: - ItemForSale = null; - _parentWindow.IsOpen = false; - return; - } + ItemForSale = null; + _parentWindow.IsOpen = false; + return; + } + _parentWindow.UpdateShopStock((AtkUnitBase*)args.Addon.Address); + PostUpdateShopStock(); + if (ItemForSale != null) + { + _parentWindow.IsOpen = true; } } private void ShopPreFinalize(AddonEvent type, AddonArgs args) { - int num = ((PurchaseState == null) ? (-1080756393) : (-1080756395)); - while (true) + if (PurchaseState != null && ItemForSale != null) { - int num2 = num; - int num3 = -1080756396; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _parentWindow.IsOpen = false; - return; - case 1: - num = ((ItemForSale == null) ? (-1080756393) : (-1080756400)); - break; - case 4: - CompletePurchase(ItemForSale.ItemId, success: false); - num = -1080756396; - break; - case 3: - PurchaseState = null; - _parentWindow.RestoreExternalPluginState(); - num = -1080756396; - break; - case 2: - num = -1080756395; - break; - } + CompletePurchase(ItemForSale.ItemId, success: false); } + else + { + PurchaseState = null; + _parentWindow.RestoreExternalPluginState(); + } + _parentWindow.IsOpen = false; } private unsafe void ShopPostUpdate(AddonEvent type, AddonArgs args) { - int num = (_parentWindow.IsEnabled ? (-1011514953) : (-1011514956)); - Vector2 valueOrDefault = default(Vector2); - Vector2? position = default(Vector2?); - short num6 = default(short); - short num5 = default(short); - while (true) + if (!_parentWindow.IsEnabled) { - int num2 = num; - int num3 = -1011514953; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + ItemForSale = null; + _parentWindow.IsOpen = false; + return; + } + _parentWindow.UpdateShopStock((AtkUnitBase*)args.Addon.Address); + PostUpdateShopStock(); + if (ItemForSale != null) + { + AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address; + short num = 0; + short num2 = 0; + address->GetPosition(&num, &num2); + ushort num3 = 0; + ushort num4 = 0; + address->GetSize(&num3, &num4, scaled: true); + num += (short)num3; + Vector2? position = _parentWindow.Position; + if (position.HasValue) { - case 0: - _parentWindow.UpdateShopStock((AtkUnitBase*)_206F_200C_202D_200F_200F_206B_206F_200D_202B_206C_202E_206C_206F_200D_206F_206B_200C_200B_202E_200D_200B_200C_206B_200F_200B_202E_202C_202C_206A_200C_206D_200D_206D_200B_200E_202C_206D_200B_200C_202A_202E(args).Address); - PostUpdateShopStock(); - num = ((ItemForSale == null) ? (-1011514945) : (-1011514954)); - break; - case 8: - _parentWindow.IsOpen = false; - return; - case 6: - valueOrDefault = position.GetValueOrDefault(); - num = (((short)valueOrDefault.X != num6) ? (-1011514958) : (-1011514955)); - break; - case 7: - num = -1011514956; - break; - case 4: - _parentWindow.IsOpen = true; - return; - case 5: - _parentWindow.Position = new Vector2(num6, num5); - num = -1011514957; - break; - case 1: - { - AtkUnitBase* address = (AtkUnitBase*)_206F_200C_202D_200F_200F_206B_206F_200D_202B_206C_202E_206C_206F_200D_206F_206B_200C_200B_202E_200D_200B_200C_206B_200F_200B_202E_202C_202C_206A_200C_206D_200D_206D_200B_200E_202C_206D_200B_200C_202A_202E(args).Address; - num6 = 0; - num5 = 0; - address->GetPosition(&num6, &num5); - ushort num7 = 0; - ushort num8 = 0; - address->GetSize(&num7, &num8, scaled: true); - num6 += (short)num7; - position = _parentWindow.Position; - num = ((!position.HasValue) ? (-1011514957) : (-1011514959)); - break; - } - case 2: - num = (((short)valueOrDefault.Y == num5) ? (-1011514957) : (-1011514958)); - break; - case 3: - ItemForSale = null; - _parentWindow.IsOpen = false; - return; + Vector2 valueOrDefault = position.GetValueOrDefault(); + if ((short)valueOrDefault.X != num || (short)valueOrDefault.Y != num2) + { + _parentWindow.Position = new Vector2(num, num2); + } } + _parentWindow.IsOpen = true; + } + else + { + _parentWindow.IsOpen = false; } } private void PostUpdateShopStock() { - int num = ((ItemForSale == null) ? 662202299 : 662202301); - int ownedItems = default(int); - while (true) + if (ItemForSale != null && PurchaseState != null) { - int num2 = num; - int num3 = 662202297; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + int ownedItems = (int)ItemForSale.OwnedItems; + if (PurchaseState.OwnedItems != ownedItems) { - case 3: - ownedItems = (int)ItemForSale.OwnedItems; - num = ((PurchaseState.OwnedItems == ownedItems) ? 662202299 : 662202296); - break; - case 2: - return; - case 0: - num = 662202301; - break; - case 4: - num = ((PurchaseState == null) ? 662202299 : 662202298); - break; - case 1: PurchaseState.OwnedItems = ownedItems; - PurchaseState.NextStepMs = _202E_202E_202D_202D_202D_202D_206B_202B_200E_206D_206E_206C_206B_202C_200C_200D_206C_200E_200C_202E_200B_202D_206B_202C_200E_202E_202C_200C_200E_202A_206C_200C_206F_200D_200E_206D_202A_202E_206C_202E() + 250; - num = 662202299; - break; + PurchaseState.NextStepMs = Environment.TickCount64 + 250; } } } @@ -324,324 +161,93 @@ public class RegularShopBase : IDisposable public int GetMaxItemsToPurchase() { - int num = ((ItemForSale != null) ? (-1965181968) : (-1965181966)); - int maxHoldableQuantity = default(int); - while (true) + if (ItemForSale == null) { - int num2 = num; - int num3 = -1965181965; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - maxHoldableQuantity = InventoryHelper.GetMaxHoldableQuantity(ItemForSale.ItemId, _itemSheet); - num = ((ItemForSale.Price != 0) ? (-1965181967) : (-1965181965)); - break; - case 2: - return _200E_202C_200C_202A_206C_202C_206E_206F_206D_202C_202C_200C_200B_200E_206D_206E_202D_206A_202D_202D_202D_202A_202B_200C_206E_206E_206D_206A_206D_206C_200E_206A_202B_206C_200D_200C_206F_206D_200C_202D_202E((int)(GetCurrencyCount(ItemForSale.CurrencyItemId) / ItemForSale.Price), maxHoldableQuantity); - case 4: - num = -1965181966; - break; - case 1: - return 0; - case 0: - return maxHoldableQuantity; - } + return 0; } + int maxHoldableQuantity = InventoryHelper.GetMaxHoldableQuantity(ItemForSale.ItemId, _itemSheet); + if (ItemForSale.Price == 0) + { + return maxHoldableQuantity; + } + return Math.Min((int)(GetCurrencyCount(ItemForSale.CurrencyItemId) / ItemForSale.Price), maxHoldableQuantity); } public void CancelAutoPurchase() { - int num = ((ItemForSale == null) ? (-639138042) : (-639138043)); - while (true) + if (ItemForSale != null && PurchaseState != null) { - int num2 = num; - int num3 = -639138041; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return; - case 2: - num = ((PurchaseState == null) ? (-639138042) : (-639138044)); - break; - case 0: - num = -639138043; - break; - case 3: - CompletePurchase(ItemForSale.ItemId, success: false); - num = -639138042; - break; - } + CompletePurchase(ItemForSale.ItemId, success: false); } } - [MethodImpl(MethodImplOptions.NoInlining)] public void StartAutoPurchase(int toPurchase) { - int num = ((ItemForSale != null) ? 547091109 : 547091110); - while (true) + if (ItemForSale == null) { - int num2 = num; - int num3 = 547091111; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0046; - case 1: - throw _200D_200C_202A_202D_202C_206D_206F_202E_202A_206E_202B_200E_200C_200F_200C_206B_200E_202E_206E_202E_202B_206C_200E_200D_200C_206B_200D_200F_202D_206D_202E_206A_206B_200D_200E_200E_200F_202D_202A_202A_202E(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(-1974882015)); - case 2: - PurchaseState = new PurchaseState((int)ItemForSale.OwnedItems + toPurchase, (int)ItemForSale.OwnedItems); - _parentWindow.SaveExternalPluginState(); - return; - } - continue; - IL_0046: - num = 547091110; + throw new InvalidOperationException("Cannot start auto-purchase without an item selected"); } + PurchaseState = new PurchaseState((int)ItemForSale.OwnedItems + toPurchase, (int)ItemForSale.OwnedItems); + _parentWindow.SaveExternalPluginState(); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe void HandleNextPurchaseStep() { - int num = ((ItemForSale == null) ? (-1459965159) : (-1459965154)); - int num7 = default(int); - AtkUnitBase* addonPtr = default(AtkUnitBase*); - while (true) + if (ItemForSale == null || PurchaseState == null) { - int num2 = num; - int num3 = -1459965163; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - num = -1459965154; - break; - case 10: - return; - case 0: - _206B_200E_206A_206A_202E_202E_202E_200F_206C_202B_206E_200C_202C_200F_202E_200E_206E_202E_202C_202C_206E_206B_206E_206C_200E_206F_202C_202B_202B_206E_202C_202C_202C_200F_202C_200C_206B_206D_200F_202B_202E(_pluginLog, _200E_206A_206B_200B_206E_200D_202B_200B_202C_200C_206A_202E_206F_202C_206E_200D_200B_200F_202D_202B_206A_202E_200D_206F_200B_206E_200F_202E_206D_200C_206C_200B_206F_202C_206E_200D_200C_202E_206D_202B_202E(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(-1851945026), ItemForSale.ItemName), Array.Empty()); - CompletePurchase(ItemForSale.ItemId, success: false); - return; - case 2: - num = ((PurchaseState.NextStepMs != long.MaxValue) ? (-1459965153) : (-1459965155)); - break; - case 13: - { - IPluginLog pluginLog2 = _pluginLog; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(45, 2); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1919731444)); - defaultInterpolatedStringHandler2.AppendFormatted(PurchaseState.DesiredItems); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-1891359698)); - defaultInterpolatedStringHandler2.AppendFormatted(PurchaseState.OwnedItems); - defaultInterpolatedStringHandler2.AppendLiteral(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(-542666901)); - _202C_202E_200D_202B_202D_200B_200B_206E_202C_200D_202B_206E_206E_206B_202D_206B_202E_200D_202C_202D_206C_206E_202C_200C_206E_202B_202E_202A_202D_206F_200B_200D_206C_206C_200F_200B_206D_202D_202D_200E_202E(pluginLog2, defaultInterpolatedStringHandler2.ToStringAndClear(), Array.Empty()); - CompletePurchase(ItemForSale.ItemId, success: true); - return; - } - case 1: - num = ((!PurchaseState.IsComplete) ? (-1459965168) : (-1459965160)); - break; - case 5: - { - int maxHoldableQuantity = InventoryHelper.GetMaxHoldableQuantity(ItemForSale.ItemId, _itemSheet); - num7 = _200E_202C_200C_202A_206C_202C_206E_206F_206D_202C_202C_200C_200B_200E_206D_206E_202D_206A_202D_202D_202D_202A_202B_200C_206E_206E_206D_206A_206D_206C_200E_206A_202B_206C_200D_200C_206F_206D_200C_202D_202E(99, maxHoldableQuantity); - num = ((num7 != 0) ? (-1459965167) : (-1459965163)); - break; - } - case 3: - num = ((!_gameGui.TryGetAddonByName(_addonName, out addonPtr)) ? (-1459965161) : (-1459965156)); - break; - case 4: - num = ((_202E_202E_202D_202D_202D_202D_206B_202B_200E_206D_206E_206C_206B_202C_200C_200D_206C_200E_200C_202E_200B_202D_206B_202C_200E_202E_202C_200C_200E_202A_206C_200C_206F_200D_200E_206D_202A_202E_206C_202E() < PurchaseState.NextStepMs) ? (-1459965161) : (-1459965162)); - break; - case 9: - { - int num8 = _200E_202C_200C_202A_206C_202C_206E_206F_206D_202C_202C_200C_200B_200E_206D_206E_202D_206A_202D_202D_202D_202A_202B_200C_206E_206E_206D_206A_206D_206C_200E_206A_202B_206C_200D_200C_206F_206D_200C_202D_202E(PurchaseState.ItemsLeftToBuy, num7); - IPluginLog pluginLog3 = _pluginLog; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(9, 2); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-2017196427)); - defaultInterpolatedStringHandler3.AppendFormatted(num8); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(640094798)); - defaultInterpolatedStringHandler3.AppendFormatted(ItemForSale.ItemName); - _202C_202E_200D_202B_202D_200B_200B_206E_202C_200D_202B_206E_206E_206B_202D_206B_202E_200D_202C_202D_206C_206E_202C_200C_206E_202B_202E_202A_202D_206F_200B_200D_206C_206C_200F_200B_206D_202D_202D_200E_202E(pluginLog3, defaultInterpolatedStringHandler3.ToStringAndClear(), Array.Empty()); - _parentWindow.TriggerPurchase(addonPtr, num8); - PurchaseState.NextStepMs = long.MaxValue; - _purchaseDeadlineMs = _202E_202E_202D_202D_202D_202D_206B_202B_200E_206D_206E_206C_206B_202C_200C_200D_206C_200E_200C_202E_200B_202D_206B_202C_200E_202E_202C_200C_200E_202A_206C_200C_206F_200D_200E_206D_202A_202E_206C_202E() + 3000; - PurchaseState.IsAwaitingYesNo = true; - return; - } - case 11: - num = ((PurchaseState != null) ? (-1459965164) : (-1459965159)); - break; - case 8: - num = ((_202E_202E_202D_202D_202D_202D_206B_202B_200E_206D_206E_206C_206B_202C_200C_200D_206C_200E_200C_202E_200B_202D_206B_202C_200E_202E_202C_200C_200E_202A_206C_200C_206F_200D_200E_206D_202A_202E_206C_202E() < _purchaseDeadlineMs) ? (-1459965153) : (-1459965166)); - break; - case 7: - { - IPluginLog pluginLog = _pluginLog; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(51, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(785267404)); - defaultInterpolatedStringHandler.AppendFormatted(ItemForSale.ItemName); - defaultInterpolatedStringHandler.AppendLiteral(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(-1250823657)); - defaultInterpolatedStringHandler.AppendFormatted(3000); - defaultInterpolatedStringHandler.AppendLiteral(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(1905813856)); - _206B_200E_206A_206A_202E_202E_202E_200F_206C_202B_206E_200C_202C_200F_202E_200E_206E_202E_202C_202C_206E_206B_206E_206C_200E_206F_202C_202B_202B_206E_202C_202C_202C_200F_202C_200C_206B_206D_200F_202B_202E(pluginLog, defaultInterpolatedStringHandler.ToStringAndClear(), Array.Empty()); - CompletePurchase(ItemForSale.ItemId, success: false); - num = -1459965153; - break; - } - case 12: - return; - } + return; + } + if (PurchaseState.IsComplete) + { + _pluginLog.Information($"Stopping item purchase (desired = {PurchaseState.DesiredItems}, owned = {PurchaseState.OwnedItems})"); + CompletePurchase(ItemForSale.ItemId, success: true); + return; + } + int maxHoldableQuantity = InventoryHelper.GetMaxHoldableQuantity(ItemForSale.ItemId, _itemSheet); + int num = Math.Min(99, maxHoldableQuantity); + AtkUnitBase* addonPtr; + if (num == 0) + { + _pluginLog.Warning("No inventory space for " + ItemForSale.ItemName); + CompletePurchase(ItemForSale.ItemId, success: false); + } + else if (Environment.TickCount64 >= PurchaseState.NextStepMs && _gameGui.TryGetAddonByName(_addonName, out addonPtr)) + { + int num2 = Math.Min(PurchaseState.ItemsLeftToBuy, num); + _pluginLog.Information($"Buying {num2}x {ItemForSale.ItemName}"); + _parentWindow.TriggerPurchase(addonPtr, num2); + PurchaseState.NextStepMs = long.MaxValue; + _purchaseDeadlineMs = Environment.TickCount64 + 3000; + PurchaseState.IsAwaitingYesNo = true; + } + else if (PurchaseState.NextStepMs == long.MaxValue && Environment.TickCount64 >= _purchaseDeadlineMs) + { + _pluginLog.Warning($"Purchase of {ItemForSale.ItemName} did not progress within {3000}ms, cancelling"); + CompletePurchase(ItemForSale.ItemId, success: false); } } private void CompletePurchase(uint itemId, bool success) { - int num = ((!success) ? (-1114779348) : (-1114779346)); - while (true) - { - int num2 = num; - int num3 = -1114779347; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num7; - int quantityPurchased; - switch (num5 - (num6 + num6)) - { - case 2: - num7 = PurchaseState.OwnedItems - PurchaseState.InitialOwnedItems; - goto IL_005e; - case 3: - num = ((PurchaseState != null) ? (-1114779345) : (-1114779348)); - break; - case 0: - num = -1114779346; - break; - case 1: - { - num7 = 0; - goto IL_005e; - } - IL_005e: - quantityPurchased = num7; - PurchaseState = null; - _parentWindow.RestoreExternalPluginState(); - this.PurchaseCompleted?.Invoke(this, new PurchaseCompletedEventArgs(itemId, success, quantityPurchased)); - return; - } - } + int quantityPurchased = ((success && PurchaseState != null) ? (PurchaseState.OwnedItems - PurchaseState.InitialOwnedItems) : 0); + PurchaseState = null; + _parentWindow.RestoreExternalPluginState(); + this.PurchaseCompleted?.Invoke(this, new PurchaseCompletedEventArgs(itemId, success, quantityPurchased)); } protected virtual void Dispose(bool disposing) { - int num = ((!disposing) ? 1043096164 : 1043096167); - while (true) + if (disposing) { - int num2 = num; - int num3 = 1043096165; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1043096167; - break; - case 2: - _200E_202B_202D_200C_206B_200F_202E_202D_206D_206F_202C_202E_206A_202A_206D_200E_202D_200D_202B_206A_206F_202C_206D_206E_200B_200E_206B_200F_200F_202C_206A_200E_206A_200F_206B_200B_202B_202C_200F_200F_202E(_addonLifecycle, AddonEvent.PostSetup, _addonName, (IAddonLifecycle.AddonEventDelegate)ShopPostSetup); - _200E_202B_202D_200C_206B_200F_202E_202D_206D_206F_202C_202E_206A_202A_206D_200E_202D_200D_202B_206A_206F_202C_206D_206E_200B_200E_206B_200F_200F_202C_206A_200E_206A_200F_206B_200B_202B_202C_200F_200F_202E(_addonLifecycle, AddonEvent.PreFinalize, _addonName, (IAddonLifecycle.AddonEventDelegate)ShopPreFinalize); - _200E_202B_202D_200C_206B_200F_202E_202D_206D_206F_202C_202E_206A_202A_206D_200E_202D_200D_202B_206A_206F_202C_206D_206E_200B_200E_206B_200F_200F_202C_206A_200E_206A_200F_206B_200B_202B_202C_200F_200F_202E(_addonLifecycle, AddonEvent.PostUpdate, _addonName, (IAddonLifecycle.AddonEventDelegate)ShopPostUpdate); - num = 1043096164; - break; - case 1: - return; - } + _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, _addonName, ShopPostSetup); + _addonLifecycle.UnregisterListener(AddonEvent.PreFinalize, _addonName, ShopPreFinalize); + _addonLifecycle.UnregisterListener(AddonEvent.PostUpdate, _addonName, ShopPostUpdate); } } public void Dispose() { Dispose(disposing: true); - _200B_202C_202A_200E_200F_202E_202C_206C_206F_206B_206F_206C_206E_200B_200C_200F_202B_206D_206B_206E_202D_202E_200E_200E_206D_202E_200C_200B_202B_202D_200D_202A_206B_202C_200F_206B_202A_206C_206E_200F_202E((object)this); - } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static void _206B_206A_202C_200C_206E_200C_202C_206A_200D_202A_202D_206D_200E_200B_206E_206F_200B_206A_206F_202D_200F_202A_202C_200E_202C_202B_206A_202C_200F_202D_206D_202D_202A_206C_202C_206C_206B_200B_200D_200F_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static void _200F_206D_202A_206D_200C_206A_202D_200D_206E_200F_206E_206D_206F_202B_202C_202A_200E_202D_206C_202B_200E_202D_206F_206C_202B_202B_206F_206F_206D_202C_202B_202E_200D_202A_206D_206A_206C_200C_206F_200F_202E(string P_0, string P_1) - { - ArgumentException.ThrowIfNullOrEmpty(P_0, P_1); - } - - static void _202B_200B_206D_200B_206F_200C_200C_206E_200B_206E_206D_206B_206E_202A_200B_206F_202B_206F_206F_206E_200D_200F_206D_200E_202C_200D_206E_200C_200D_202A_202C_200B_202A_202E_202D_202E_202A_206B_206F_200C_202E(IAddonLifecycle P_0, AddonEvent P_1, string P_2, IAddonLifecycle.AddonEventDelegate P_3) - { - P_0.RegisterListener(P_1, P_2, P_3); - } - - static Delegate _202E_202D_202E_200D_200B_206C_202C_200F_206C_200C_206B_202A_200B_202A_200D_206B_202B_206B_200F_200C_206C_206C_206B_202B_202C_200D_206B_202A_200E_206D_206B_200E_200E_206E_202D_206D_200F_206E_202C_206E_202E(Delegate P_0, Delegate P_1) - { - return Delegate.Combine(P_0, P_1); - } - - static Delegate _200B_206D_202C_206D_206C_200D_202B_200D_202A_202E_200E_200C_200E_206D_202B_206E_200F_206E_200E_200B_202C_206E_202C_206A_206B_206F_206B_200B_206D_202D_202C_202C_206D_202B_202D_206B_200D_200C_200C_202C_202E(Delegate P_0, Delegate P_1) - { - return Delegate.Remove(P_0, P_1); - } - - static AtkUnitBasePtr _206F_200C_202D_200F_200F_206B_206F_200D_202B_206C_202E_206C_206F_200D_206F_206B_200C_200B_202E_200D_200B_200C_206B_200F_200B_202E_202C_202C_206A_200C_206D_200D_206D_200B_200E_202C_206D_200B_200C_202A_202E(AddonArgs P_0) - { - return P_0.Addon; - } - - static long _202E_202E_202D_202D_202D_202D_206B_202B_200E_206D_206E_206C_206B_202C_200C_200D_206C_200E_200C_202E_200B_202D_206B_202C_200E_202E_202C_200C_200E_202A_206C_200C_206F_200D_200E_206D_202A_202E_206C_202E() - { - return Environment.TickCount64; - } - - static int _200E_202C_200C_202A_206C_202C_206E_206F_206D_202C_202C_200C_200B_200E_206D_206E_202D_206A_202D_202D_202D_202A_202B_200C_206E_206E_206D_206A_206D_206C_200E_206A_202B_206C_200D_200C_206F_206D_200C_202D_202E(int P_0, int P_1) - { - return Math.Min(P_0, P_1); - } - - static InvalidOperationException _200D_200C_202A_202D_202C_206D_206F_202E_202A_206E_202B_200E_200C_200F_200C_206B_200E_202E_206E_202E_202B_206C_200E_200D_200C_206B_200D_200F_202D_206D_202E_206A_206B_200D_200E_200E_200F_202D_202A_202A_202E(string P_0) - { - return new InvalidOperationException(P_0); - } - - static void _202C_202E_200D_202B_202D_200B_200B_206E_202C_200D_202B_206E_206E_206B_202D_206B_202E_200D_202C_202D_206C_206E_202C_200C_206E_202B_202E_202A_202D_206F_200B_200D_206C_206C_200F_200B_206D_202D_202D_200E_202E(IPluginLog P_0, string P_1, object[] P_2) - { - P_0.Information(P_1, P_2); - } - - static string _200E_206A_206B_200B_206E_200D_202B_200B_202C_200C_206A_202E_206F_202C_206E_200D_200B_200F_202D_202B_206A_202E_200D_206F_200B_206E_200F_202E_206D_200C_206C_200B_206F_202C_206E_200D_200C_202E_206D_202B_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static void _206B_200E_206A_206A_202E_202E_202E_200F_206C_202B_206E_200C_202C_200F_202E_200E_206E_202E_202C_202C_206E_206B_206E_206C_200E_206F_202C_202B_202B_206E_202C_202C_202C_200F_202C_200C_206B_206D_200F_202B_202E(IPluginLog P_0, string P_1, object[] P_2) - { - P_0.Warning(P_1, P_2); - } - - static void _200E_202B_202D_200C_206B_200F_202E_202D_206D_206F_202C_202E_206A_202A_206D_200E_202D_200D_202B_206A_206F_202C_206D_206E_200B_200E_206B_200F_200F_202C_206A_200E_206A_200F_206B_200B_202B_202C_200F_200F_202E(IAddonLifecycle P_0, AddonEvent P_1, string P_2, IAddonLifecycle.AddonEventDelegate P_3) - { - P_0.UnregisterListener(P_1, P_2, P_3); - } - - static void _200B_202C_202A_200E_200F_202E_202C_206C_206F_206B_206F_206C_206E_200B_200C_200F_202B_206D_206B_206E_202D_202E_200E_200E_206D_202E_200C_200B_202B_202D_200D_202A_206B_202C_200F_206B_202A_206C_206E_200F_202E(object P_0) - { - GC.SuppressFinalize(P_0); + GC.SuppressFinalize(this); } } diff --git a/LLib/LLib.Shop/SatisfactionSupplyActions.cs b/LLib/LLib.Shop/SatisfactionSupplyActions.cs index 5f4ff9b..29c04d6 100644 --- a/LLib/LLib.Shop/SatisfactionSupplyActions.cs +++ b/LLib/LLib.Shop/SatisfactionSupplyActions.cs @@ -1,7 +1,4 @@ using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Client.UI.Agent; @@ -13,110 +10,7 @@ namespace LLib.Shop; public static class SatisfactionSupplyActions { - public readonly record struct NpcState(int Rank, int SatisfactionCurrent, int SatisfactionMax, int UsedDeliveries) - { - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206F_200F_202A_202D_202C_206E_202E_202A_202A_202D_200F_202B_206E_206D_206C_202B_206E_206B_200D_200C_200D_200C_200C_200E_202B_202D_200D_202E_206D_206C_200D_202A_202D_200D_206B_202A_206F_200B_202E_200D_202E(); - _202E_206E_202A_200B_206C_202C_206A_206E_206D_202E_206D_202B_202A_206B_202E_206D_200D_206B_200E_202D_206E_202E_206F_206B_206C_200D_206B_200D_200C_202A_202B_206E_200E_206E_206B_200E_206A_200D_206B_200C_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(-1314736612)); - _202E_206E_202A_200B_206C_202C_206A_206E_206D_202E_206D_202B_202A_206B_202E_206D_200D_206B_200E_202D_206E_202E_206F_206B_206C_200D_206B_200D_200C_202A_202B_206E_200E_206E_206B_200E_206A_200D_206B_200C_202E(stringBuilder, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1581517409)); - int num = ((!PrintMembers(stringBuilder)) ? 745418664 : 745418667); - while (true) - { - int num2 = num; - int num3 = 745418666; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - _200E_206F_202E_202A_202C_200C_200F_202D_206C_202D_200E_202A_202D_202B_200F_200C_202C_206A_200B_200B_202E_206D_206D_200E_200F_206A_202D_206A_200D_200F_200C_206D_206D_206B_200E_202E_200E_202A_202A_206F_202E(stringBuilder, '}'); - return _200C_200F_200B_200C_200C_202C_200E_200E_200C_202D_202C_200F_206F_200C_206C_206D_200F_206C_206E_200B_202E_200F_202C_206B_206D_206A_200D_202C_206B_206D_200E_200F_202B_206E_200E_202E_200C_202A_202B_206F_202E((object)stringBuilder); - case 1: - _200E_206F_202E_202A_202C_200C_200F_202D_206C_202D_200E_202A_202D_202B_200F_200C_202C_206A_200B_200B_202E_206D_206D_200E_200F_206A_202D_206A_200D_200F_200C_206D_206D_206B_200E_202E_200E_202A_202A_206F_202E(stringBuilder, ' '); - num = 745418664; - break; - case 0: - num = 745418667; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202E_206E_202A_200B_206C_202C_206A_206E_206D_202E_206D_202B_202A_206B_202E_206D_200D_206B_200E_202D_206E_202E_206F_206B_206C_200D_206B_200D_200C_202A_202B_206E_200E_206E_206B_200E_206A_200D_206B_200C_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(2105858442)); - _202E_206E_202A_200B_206C_202C_206A_206E_206D_202E_206D_202B_202A_206B_202E_206D_200D_206B_200E_202D_206E_202E_206F_206B_206C_200D_206B_200D_200C_202A_202B_206E_200E_206E_206B_200E_206A_200D_206B_200C_202E(builder, Rank.ToString()); - _202E_206E_202A_200B_206C_202C_206A_206E_206D_202E_206D_202B_202A_206B_202E_206D_200D_206B_200E_202D_206E_202E_206F_206B_206C_200D_206B_200D_200C_202A_202B_206E_200E_206E_206B_200E_206A_200D_206B_200C_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(2014742517)); - _202E_206E_202A_200B_206C_202C_206A_206E_206D_202E_206D_202B_202A_206B_202E_206D_200D_206B_200E_202D_206E_202E_206F_206B_206C_200D_206B_200D_200C_202A_202B_206E_200E_206E_206B_200E_206A_200D_206B_200C_202E(builder, SatisfactionCurrent.ToString()); - _202E_206E_202A_200B_206C_202C_206A_206E_206D_202E_206D_202B_202A_206B_202E_206D_200D_206B_200E_202D_206E_202E_206F_206B_206C_200D_206B_200D_200C_202A_202B_206E_200E_206E_206B_200E_206A_200D_206B_200C_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(1923626592)); - _202E_206E_202A_200B_206C_202C_206A_206E_206D_202E_206D_202B_202A_206B_202E_206D_200D_206B_200E_202D_206E_202E_206F_206B_206C_200D_206B_200D_200C_202A_202B_206E_200E_206E_206B_200E_206A_200D_206B_200C_202E(builder, SatisfactionMax.ToString()); - _202E_206E_202A_200B_206C_202C_206A_206E_206D_202E_206D_202B_202A_206B_202E_206D_200D_206B_200E_202D_206E_202E_206F_206B_206C_200D_206B_200D_200C_202A_202B_206E_200E_206E_206B_200E_206A_200D_206B_200C_202E(builder, 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(564142829)); - _202E_206E_202A_200B_206C_202C_206A_206E_206D_202E_206D_202B_202A_206B_202E_206D_200D_206B_200E_202D_206E_202E_206F_206B_206C_200D_206B_200D_200C_202A_202B_206E_200E_206E_206B_200E_206A_200D_206B_200C_202E(builder, UsedDeliveries.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(NpcState other) - { - int num = ((!EqualityComparer.Default.Equals(Rank, other.Rank)) ? 1376880194 : 1376880192); - while (true) - { - int num2 = num; - int num3 = 1376880193; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return EqualityComparer.Default.Equals(UsedDeliveries, other.UsedDeliveries); - case 3: - return false; - case 4: - num = ((!EqualityComparer.Default.Equals(SatisfactionMax, other.SatisfactionMax)) ? 1376880194 : 1376880193); - break; - case 2: - num = 1376880192; - break; - case 1: - num = ((!EqualityComparer.Default.Equals(SatisfactionCurrent, other.SatisfactionCurrent)) ? 1376880194 : 1376880197); - break; - } - } - } - - bool IEquatable.Equals(NpcState other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _206F_200F_202A_202D_202C_206E_202E_202A_202A_202D_200F_202B_206E_206D_206C_202B_206E_206B_200D_200C_200D_200C_200C_200E_202B_202D_200D_202E_206D_206C_200D_202A_202D_200D_206B_202A_206F_200B_202E_200D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202E_206E_202A_200B_206C_202C_206A_206E_206D_202E_206D_202B_202A_206B_202E_206D_200D_206B_200E_202D_206E_202E_206F_206B_206C_200D_206B_200D_200C_202A_202B_206E_200E_206E_206B_200E_206A_200D_206B_200C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200E_206F_202E_202A_202C_200C_200F_202D_206C_202D_200E_202A_202D_202B_200F_200C_202C_206A_200B_200B_202E_206D_206D_200E_200F_206A_202D_206A_200D_200F_200C_206D_206D_206B_200E_202E_200E_202A_202A_206F_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200C_200F_200B_200C_200C_202C_200E_200E_200C_202D_202C_200F_206F_200C_206C_206D_200F_206C_206E_200B_202E_200F_202C_206B_206D_206A_200D_202C_206B_206D_200E_200F_202B_206E_200E_202E_200C_202A_202B_206F_202E(object P_0) - { - return P_0.ToString(); - } - } + public readonly record struct NpcState(int Rank, int SatisfactionCurrent, int SatisfactionMax, int UsedDeliveries); private const string SatisfactionSupplyAddon = "SatisfactionSupply"; @@ -124,457 +18,199 @@ public static class SatisfactionSupplyActions private const string TalkAddon = "Talk"; - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool IsSatisfactionSupplyReady(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(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(-799124681), out addonPtr) ? 288080028 : 288080031); - while (true) + if (!gameGui.TryGetAddonByName("SatisfactionSupply", out var addonPtr)) { - int num2 = num; - int num3 = 288080030; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0054; - case 2: - return LAddon.IsAddonReady(addonPtr); - case 1: - return false; - } - continue; - IL_0054: - num = 288080031; + return false; } + return LAddon.IsAddonReady(addonPtr); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool IsSatisfactionSupplyFullyReady(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1887910937), out addonPtr) ? (-536091870) : (-536091865)); - AgentSatisfactionSupply* ptr = default(AgentSatisfactionSupply*); - while (true) + if (!gameGui.TryGetAddonByName("SatisfactionSupply", out var addonPtr)) { - int num2 = num; - int num3 = -536091868; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - ptr = AgentSatisfactionSupply.Instance(); - num = ((ptr == null) ? (-536091871) : (-536091872)); - break; - case 2: - return ptr->NpcInfo.Initialized; - case 6: - num = (LAddon.IsAddonReady(addonPtr) ? (-536091867) : (-536091869)); - break; - case 7: - return false; - case 8: - num = ((!ptr->NpcInfo.Valid) ? (-536091871) : (-536091866)); - break; - case 0: - num = -536091865; - break; - case 4: - num = ((!ptr->IsAgentActive()) ? (-536091871) : (-536091860)); - break; - case 5: - return false; - case 3: - return false; - } + return false; } + if (!LAddon.IsAddonReady(addonPtr)) + { + return false; + } + AgentSatisfactionSupply* ptr = AgentSatisfactionSupply.Instance(); + if (ptr != null && ptr->IsAgentActive() && ptr->NpcInfo.Valid) + { + return ptr->NpcInfo.Initialized; + } + return false; } public unsafe static bool TrySelectDeliverySlot(IGameGui gameGui, int slot) { - int num = (IsSatisfactionSupplyFullyReady(gameGui) ? 1316647877 : 1316647878); - while (true) + if (!IsSatisfactionSupplyFullyReady(gameGui)) { - int num2 = num; - int num3 = 1316647876; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - { - AgentSatisfactionSupply* ptr = AgentSatisfactionSupply.Instance(); - AtkValue atkValue = new AtkValue(); - Span span = stackalloc AtkValue[2]; - span[0].SetInt(1); - span[1].SetInt(slot); - ptr->ReceiveEvent(&atkValue, span.GetPointer(0), 2u, 0uL); - return true; - } - case 2: - return false; - case 0: - goto IL_009f; - } - continue; - IL_009f: - num = 1316647878; + return false; } + AgentSatisfactionSupply* ptr = AgentSatisfactionSupply.Instance(); + AtkValue atkValue = new AtkValue(); + Span span = stackalloc AtkValue[2]; + span[0].SetInt(1); + span[1].SetInt(slot); + ptr->ReceiveEvent(&atkValue, span.GetPointer(0), 2u, 0uL); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryCloseSatisfactionSupply(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(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(-304354033), out addonPtr) ? (-1559808430) : (-1559808431)); - while (true) + if (!gameGui.TryGetAddonByName("SatisfactionSupply", out var addonPtr)) { - int num2 = num; - int num3 = -1559808429; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0052; - case 1: - addonPtr->FireCallbackInt(0); - return true; - case 2: - return false; - } - continue; - IL_0052: - num = -1559808431; + return false; } + addonPtr->FireCallbackInt(0); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool IsTalkInProgress(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-5198087), out addonPtr) ? 208572511 : 208572508); - while (true) + if (!gameGui.TryGetAddonByName("Talk", out var addonPtr)) { - int num2 = num; - int num3 = 208572510; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = 208572508; - break; - case 0: - return LAddon.IsAddonReady(addonPtr); - case 2: - return false; - case 4: - return false; - case 1: - num = ((!addonPtr->IsVisible) ? 208572506 : 208572510); - break; - } + return false; } + if (addonPtr->IsVisible) + { + return LAddon.IsAddonReady(addonPtr); + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryProgressTalk(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(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(1257507185), out addonPtr) ? 1712398322 : 1712398327); - while (true) + if (!gameGui.TryGetAddonByName("Talk", out var addonPtr)) { - int num2 = num; - int num3 = 1712398326; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return false; - case 1: - return false; - case 3: - num = 1712398327; - break; - case 0: - num = (LAddon.IsAddonReady(addonPtr) ? 1712398323 : 1712398324); - break; - case 5: - addonPtr->FireCallbackInt(0); - return true; - case 4: - num = ((!addonPtr->IsVisible) ? 1712398324 : 1712398326); - break; - } + return false; } + if (!addonPtr->IsVisible || !LAddon.IsAddonReady(addonPtr)) + { + return false; + } + addonPtr->FireCallbackInt(0); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool IsSatisfactionSupplyResultVisible(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(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(-1902425193), out addonPtr) ? 744661943 : 744661940); - while (true) + if (!gameGui.TryGetAddonByName("SatisfactionSupplyResult", out var addonPtr)) { - int num2 = num; - int num3 = 744661941; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return LAddon.IsAddonReady(addonPtr); - case 1: - return false; - case 0: - goto IL_005b; - } - continue; - IL_005b: - num = 744661940; + return false; } + return LAddon.IsAddonReady(addonPtr); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryCloseSatisfactionSupplyResult(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-2097771631), out addonPtr) ? (-1858872072) : (-1858872069)); - while (true) + if (!gameGui.TryGetAddonByName("SatisfactionSupplyResult", out var addonPtr)) { - int num2 = num; - int num3 = -1858872071; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0054; - case 2: - return false; - case 1: - addonPtr->Close(fireCallback: true); - return true; - } - continue; - IL_0054: - num = -1858872069; + return false; } + addonPtr->Close(fireCallback: true); + return true; } public unsafe static bool IsNpcTradeReady() { AgentNpcTrade* ptr = AgentNpcTrade.Instance(); - int num = ((ptr == null) ? 553633651 : 553633650); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 553633651; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_004b; - case 1: - return ptr->IsAgentActive(); - case 0: - return false; - } - continue; - IL_004b: - num = 553633650; + return ptr->IsAgentActive(); } + return false; } public unsafe static (bool Exists, bool Active, int SelectedSlot) GetNpcTradeState() { AgentNpcTrade* ptr = AgentNpcTrade.Instance(); - int num = ((ptr != null) ? 1702648938 : 1702648937); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1702648939; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 2: - return (Exists: false, Active: false, SelectedSlot: -99); - case 1: - return (Exists: true, Active: ptr->IsAgentActive(), SelectedSlot: ptr->SelectedTurnInSlot); - } - continue; - IL_0049: - num = 1702648937; + return (Exists: false, Active: false, SelectedSlot: -99); } + return (Exists: true, Active: ptr->IsAgentActive(), SelectedSlot: ptr->SelectedTurnInSlot); } public unsafe static bool TryConfirmTrade() { AgentNpcTrade* ptr = AgentNpcTrade.Instance(); - int num = ((ptr == null) ? (-859221764) : (-859221774)); - AtkValue atkValue = default(AtkValue); - Span span = default(Span); - while (true) + if (ptr == null || !ptr->IsAgentActive()) { - int num2 = num; - int num3 = -859221772; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return false; + } + AtkValue atkValue = new AtkValue(); + Span span = stackalloc AtkValue[4]; + if (ptr->SelectedTurnInSlot < 0) + { + span[0].SetInt(2); + span[1].SetInt(0); + span[2].SetInt(0); + span[3].SetInt(0); + ptr->ReceiveEvent(&atkValue, span.GetPointer(0), 4u, 0uL); + if (ptr->SelectedTurnInSlot != 0 || ptr->SelectedTurnInSlotItemOptions <= 0) { - case 2: return false; - case 0: - atkValue = new AtkValue(); - span = stackalloc AtkValue[4]; - num = ((ptr->SelectedTurnInSlot >= 0) ? (-859221771) : (-859221776)); - break; - case 6: - num = (ptr->IsAgentActive() ? (-859221772) : (-859221764)); - break; - case 8: - return false; - case 7: - return false; - case 5: - span[0].SetInt(0); - span[1].SetInt(0); - span[2].SetInt(0); - span[3].SetInt(0); - ptr->ReceiveEvent(&atkValue, span.GetPointer(0), 4u, 1uL); - ptr->ReceiveEvent(&atkValue, span.GetPointer(0), 4u, 0uL); - return true; - case 1: - num = ((ptr->SelectedTurnInSlot == 0) ? (-859221775) : (-859221770)); - break; - case 9: - num = -859221774; - break; - case 3: - num = ((ptr->SelectedTurnInSlotItemOptions > 0) ? (-859221775) : (-859221773)); - break; - case 4: - span[0].SetInt(2); - span[1].SetInt(0); - span[2].SetInt(0); - span[3].SetInt(0); - ptr->ReceiveEvent(&atkValue, span.GetPointer(0), 4u, 0uL); - num = ((ptr->SelectedTurnInSlot != 0) ? (-859221773) : (-859221769)); - break; } } + else if (ptr->SelectedTurnInSlot != 0) + { + return false; + } + span[0].SetInt(0); + span[1].SetInt(0); + span[2].SetInt(0); + span[3].SetInt(0); + ptr->ReceiveEvent(&atkValue, span.GetPointer(0), 4u, 1uL); + ptr->ReceiveEvent(&atkValue, span.GetPointer(0), 4u, 0uL); + return true; } public unsafe static int GetRemainingAllowances() { SatisfactionSupplyManager* ptr = SatisfactionSupplyManager.Instance(); - int num = ((ptr != null) ? (-1768883873) : (-1768883876)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -1768883874; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 2: - return 0; - case 1: - return ptr->GetRemainingAllowances(); - } - continue; - IL_0049: - num = -1768883876; + return 0; } + return ptr->GetRemainingAllowances(); } public unsafe static NpcState GetNpcState(int npcIndex) { SatisfactionSupplyManager* ptr = SatisfactionSupplyManager.Instance(); - int num = ((ptr != null) ? (-1038874379) : (-1038874380)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -1038874384; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1038874380; - break; - case 2: - return new NpcState(ptr->SatisfactionRanks[npcIndex], ptr->Satisfaction[npcIndex], 0, ptr->UsedAllowances[npcIndex]); - case 1: - return default(NpcState); - case 3: - num = ((npcIndex < ptr->SatisfactionRanks.Length) ? (-1038874382) : (-1038874383)); - break; - case 5: - num = ((npcIndex < 0) ? (-1038874383) : (-1038874381)); - break; - case 4: - return default(NpcState); - } + return default(NpcState); } + if (npcIndex < 0 || npcIndex >= ptr->SatisfactionRanks.Length) + { + return default(NpcState); + } + return new NpcState(ptr->SatisfactionRanks[npcIndex], ptr->Satisfaction[npcIndex], 0, ptr->UsedAllowances[npcIndex]); } public unsafe static uint GetSupplySeed() { SatisfactionSupplyManager* ptr = SatisfactionSupplyManager.Instance(); - int num = ((ptr != null) ? (-919360628) : (-919360625)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -919360626; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 1: - return 0u; - case 2: - return ptr->SupplySeed; - } - continue; - IL_004b: - num = -919360625; + return 0u; } + return ptr->SupplySeed; } public unsafe static byte GetBonusGuaranteeRowId() { SatisfactionSupplyManager* ptr = SatisfactionSupplyManager.Instance(); - int num = ((ptr != null) ? (-1374760124) : (-1374760121)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -1374760123; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return ptr->BonusGuaranteeRowId; - case 2: - return byte.MaxValue; - case 0: - goto IL_0058; - } - continue; - IL_0058: - num = -1374760121; + return byte.MaxValue; } + return ptr->BonusGuaranteeRowId; } } diff --git a/LLib/LLib.Shop/VendorPurchaseActions.cs b/LLib/LLib.Shop/VendorPurchaseActions.cs index 6a7fef7..14b77ee 100644 --- a/LLib/LLib.Shop/VendorPurchaseActions.cs +++ b/LLib/LLib.Shop/VendorPurchaseActions.cs @@ -1,4 +1,3 @@ -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Component.GUI; using LLib.GameUI; @@ -15,288 +14,131 @@ public static class VendorPurchaseActions private const string SelectYesnoAddon = "SelectYesno"; - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool IsDialogReady(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = ((!gameGui.TryGetAddonByName(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1862554063), out addonPtr)) ? 148759857 : 148759862); - AtkUnitBase* addonPtr2 = default(AtkUnitBase*); - while (true) + if (gameGui.TryGetAddonByName("SelectIconString", out var addonPtr) && LAddon.IsAddonReady(addonPtr)) { - int num2 = num; - int num3 = 148759859; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - return true; - case 5: - num = ((!LAddon.IsAddonReady(addonPtr)) ? 148759857 : 148759858); - break; - case 0: - return false; - case 2: - num = ((!gameGui.TryGetAddonByName(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(-1204054181), out addonPtr2)) ? 148759859 : 148759863); - break; - case 6: - num = 148759862; - break; - case 1: - return true; - case 4: - num = ((!LAddon.IsAddonReady(addonPtr2)) ? 148759859 : 148759856); - break; - } + return true; } + if (gameGui.TryGetAddonByName("SelectString", out var addonPtr2) && LAddon.IsAddonReady(addonPtr2)) + { + return true; + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TrySelectDialogOption(IGameGui gameGui, int index) { - AtkUnitBase* addonPtr; - int num = ((!gameGui.TryGetAddonByName(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1862554063), out addonPtr)) ? (-479532860) : (-479532861)); - AtkUnitBase* addonPtr2 = default(AtkUnitBase*); - while (true) + if (gameGui.TryGetAddonByName("SelectIconString", out var addonPtr) && LAddon.IsAddonReady(addonPtr)) { - int num2 = num; - int num3 = -479532858; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = -479532861; - break; - case 2: - num = ((!gameGui.TryGetAddonByName(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-100229517), out addonPtr2)) ? (-479532857) : (-479532862)); - break; - case 5: - num = ((!LAddon.IsAddonReady(addonPtr)) ? (-479532860) : (-479532858)); - break; - case 4: - num = ((!LAddon.IsAddonReady(addonPtr2)) ? (-479532857) : (-479532864)); - break; - case 6: - AddonCallback.Fire(addonPtr2, index); - return true; - case 0: - AddonCallback.Fire(addonPtr, index); - return true; - case 1: - return false; - } + AddonCallback.Fire(addonPtr, index); + return true; } + if (gameGui.TryGetAddonByName("SelectString", out var addonPtr2) && LAddon.IsAddonReady(addonPtr2)) + { + AddonCallback.Fire(addonPtr2, index); + return true; + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool IsShopReady(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(854458650), out addonPtr) ? 1690879529 : 1690879530); - while (true) + if (!gameGui.TryGetAddonByName("Shop", out var addonPtr)) { - int num2 = num; - int num3 = 1690879531; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0054; - case 1: - return false; - case 2: - return LAddon.IsAddonReady(addonPtr); - } - continue; - IL_0054: - num = 1690879530; + return false; } + return LAddon.IsAddonReady(addonPtr); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static int FindItemDisplayIndex(IGameGui gameGui, uint itemId) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(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(-526765299), out addonPtr) ? 2111523499 : 2111523488); - int num6 = default(int); - int num5 = default(int); - uint uInt = default(uint); - while (true) + if (!gameGui.TryGetAddonByName("Shop", out var addonPtr)) { - int num2 = num; - int num3 = 2111523490; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return -1; + } + if (!LAddon.IsAddonReady(addonPtr)) + { + return -1; + } + if (addonPtr->AtkValues == null || addonPtr->AtkValuesCount <= 2) + { + return -1; + } + uint uInt = addonPtr->AtkValues[2].UInt; + for (int i = 0; i < uInt; i++) + { + int num = 441 + i; + if (num >= addonPtr->AtkValuesCount) { - case 8: - num = ((addonPtr->AtkValues == null) ? 2111523494 : 2111523490); - break; - case 7: - { - int num7 = num6; - num3 = 1; - num4 = num7; - num6 = (num4 | num3) + (num4 & num3); - num = 2111523502; - break; + return -1; } - case 5: + if (addonPtr->AtkValues[num].UInt == itemId) { - num3 = num6; - num4 = 441; - int num8 = num4 ^ num3; - int num9 = num4 & num3; - num5 = num8 + (num9 + num9); - num = ((num5 < addonPtr->AtkValuesCount) ? 2111523492 : 2111523503); - break; - } - case 14: - uInt = addonPtr->AtkValues[2].UInt; - num6 = 0; - num = 2111523502; - break; - case 12: - num = ((num6 < uInt) ? 2111523495 : 2111523491); - break; - case 2: - return -1; - case 10: - return -1; - case 9: - num = (LAddon.IsAddonReady(addonPtr) ? 2111523498 : 2111523496); - break; - case 3: - return num6; - case 0: - num = ((addonPtr->AtkValuesCount > 2) ? 2111523500 : 2111523494); - break; - case 1: - return -1; - case 4: - return -1; - case 13: - return -1; - case 11: - num = 2111523488; - break; - case 6: - num = ((addonPtr->AtkValues[num5].UInt != itemId) ? 2111523493 : 2111523489); - break; + return i; } } + return -1; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryBuyItem(IGameGui gameGui, int itemIndex, int quantity) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(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(-364498650), out addonPtr) ? (-705089016) : (-705089011)); - while (true) + if (!gameGui.TryGetAddonByName("Shop", out var addonPtr)) { - int num2 = num; - int num3 = -705089012; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = (LAddon.IsAddonReady(addonPtr) ? (-705089009) : (-705089012)); - break; - case 0: - return false; - case 2: - num = -705089011; - break; - case 1: - return false; - case 3: - { - AtkValue* values = stackalloc AtkValue[4] - { - new AtkValue - { - Type = AtkValueType.Int, - Int = 0 - }, - new AtkValue - { - Type = AtkValueType.Int, - Int = itemIndex - }, - new AtkValue - { - Type = AtkValueType.Int, - Int = quantity - }, - new AtkValue - { - Type = AtkValueType.Undefined, - Int = 0 - } - }; - addonPtr->FireCallback(4u, values); - return true; - } - } + return false; } + if (!LAddon.IsAddonReady(addonPtr)) + { + return false; + } + AtkValue* values = stackalloc AtkValue[4] + { + new AtkValue + { + Type = AtkValueType.Int, + Int = 0 + }, + new AtkValue + { + Type = AtkValueType.Int, + Int = itemIndex + }, + new AtkValue + { + Type = AtkValueType.Int, + Int = quantity + }, + new AtkValue + { + Type = AtkValueType.Undefined, + Int = 0 + } + }; + addonPtr->FireCallback(4u, values); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryConfirmPurchase(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(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(-502173951), out addonPtr) ? 723548803 : 723548800); - while (true) + if (!gameGui.TryGetAddonByName("SelectYesno", out var addonPtr)) { - int num2 = num; - int num3 = 723548802; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - AddonCallback.ClickYes(addonPtr); - return true; - case 2: - return false; - case 4: - num = 723548800; - break; - case 1: - num = (LAddon.IsAddonReady(addonPtr) ? 723548801 : 723548802); - break; - case 0: - return false; - } + return false; } + if (!LAddon.IsAddonReady(addonPtr)) + { + return false; + } + AddonCallback.ClickYes(addonPtr); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe static bool TryCloseShop(IGameGui gameGui) { - AtkUnitBase* addonPtr; - int num = (gameGui.TryGetAddonByName(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(-364498650), out addonPtr) ? 206614822 : 206614821); - while (true) + if (!gameGui.TryGetAddonByName("Shop", out var addonPtr)) { - int num2 = num; - int num3 = 206614820; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - addonPtr->Close(fireCallback: true); - return true; - case 1: - return false; - case 0: - goto IL_0060; - } - continue; - IL_0060: - num = 206614821; + return false; } + addonPtr->Close(fireCallback: true); + return true; } } diff --git a/LLib/LLib.Shop/VendorResolver.cs b/LLib/LLib.Shop/VendorResolver.cs index 067428b..780cda5 100644 --- a/LLib/LLib.Shop/VendorResolver.cs +++ b/LLib/LLib.Shop/VendorResolver.cs @@ -31,87 +31,22 @@ public sealed class VendorResolver public IReadOnlyList FindVendorsForItem(uint itemId, EShopType shopType) { - int num; - List result = default(List); - switch (shopType) + return shopType switch { - default: - num = -1685291890; - goto IL_001d; - case EShopType.SpecialShop: - result = _specialShopSearcher.Search(itemId); - num = -1685291895; - goto IL_001d; - case EShopType.GCShop: - goto IL_006c; - case EShopType.GilShop: - goto IL_00ab; - IL_001d: - while (true) - { - int num2 = num; - int num3 = -1685291889; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - return result; - case 4: - goto end_IL_001d; - case 2: - goto IL_006c; - case 0: - result = new List(); - num = -1685291895; - break; - case 5: - num = -1685291890; - break; - case 1: - num = -1685291889; - break; - case 3: - goto IL_00ab; - } - continue; - end_IL_001d: - break; - } - goto case EShopType.SpecialShop; - IL_00ab: - result = _gilShopSearcher.Search(itemId); - num = -1685291895; - goto IL_001d; - IL_006c: - result = _gcShopSearcher.Search(itemId); - num = -1685291895; - goto IL_001d; - } + EShopType.GilShop => _gilShopSearcher.Search(itemId), + EShopType.SpecialShop => _specialShopSearcher.Search(itemId), + EShopType.GCShop => _gcShopSearcher.Search(itemId), + _ => new List(), + }; } public ShopSearchResult? FindGilVendor(uint itemId) { List list = _gilShopSearcher.Search(itemId); - int num = ((list.Count > 0) ? 274593349 : 274593348); - while (true) + if (list.Count <= 0) { - int num2 = num; - int num3 = 274593349; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0056; - case 1: - return null; - case 0: - return list[0]; - } - continue; - IL_0056: - num = 274593348; + return null; } + return list[0]; } } diff --git a/LLib/LLib.csproj b/LLib/LLib.csproj index 737da72..d3f7bfc 100644 --- a/LLib/LLib.csproj +++ b/LLib/LLib.csproj @@ -13,15 +13,15 @@ + + C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\FFXIVClientStructs.dll + C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\Dalamud.dll C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\Lumina.dll - - C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\FFXIVClientStructs.dll - C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\Lumina.Excel.dll diff --git a/LLib/LLib/AtomicFile.cs b/LLib/LLib/AtomicFile.cs index 69f61cd..f1437fd 100644 --- a/LLib/LLib/AtomicFile.cs +++ b/LLib/LLib/AtomicFile.cs @@ -1,95 +1,30 @@ using System; -using System.Collections; -using System.Collections.Generic; using System.IO; -using System.Runtime.CompilerServices; namespace LLib; public static class AtomicFile { - [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteAllText(string path, string contents) { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(5, 2); - defaultInterpolatedStringHandler.AppendFormatted(path); - defaultInterpolatedStringHandler.AppendLiteral(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(657022072)); - defaultInterpolatedStringHandler.AppendFormatted(Guid.NewGuid(), 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(-2122338139)); - defaultInterpolatedStringHandler.AppendLiteral(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(-1367875388)); - string text = defaultInterpolatedStringHandler.ToStringAndClear(); + string text = $"{path}.{Guid.NewGuid():N}.tmp"; try { - FileStream fileStream = _200F_202A_202C_202D_206D_202A_206A_202E_200F_206D_200F_206D_206B_202E_206E_206A_200D_200D_202D_200C_200C_206C_206E_200F_200B_202D_206D_200B_206B_200C_202E_206D_206B_202D_200B_206C_200C_202B_202B_202E_202E(text, FileMode.CreateNew, FileAccess.Write, FileShare.None); - try + using (FileStream fileStream = new FileStream(text, FileMode.CreateNew, FileAccess.Write, FileShare.None)) { - StreamWriter streamWriter = _202C_202C_202D_206A_202A_200B_200E_206B_206F_206A_202C_206B_206E_202E_206C_206F_206B_206F_206B_202B_202C_200F_202A_206A_202E_202C_200F_206B_200F_206D_202D_202A_200C_200E_202C_206A_202D_206B_202D_202B_202E((Stream)fileStream); - try - { - _206F_206F_202B_202B_206A_206A_202A_206C_200C_200E_206C_206A_200C_200E_202A_200E_206F_206F_202E_202B_202E_202E_202A_202B_206B_200F_202B_206F_202C_202D_200C_202A_202D_202B_202A_206D_202B_206B_206D_206D_202E((TextWriter)streamWriter, contents); - _206D_202E_200C_200D_202D_206D_202B_206B_202C_200E_202E_202D_206B_202C_206C_206C_206C_202C_202D_206D_200E_200F_200C_202C_202A_206A_200B_202E_200D_206F_200C_206D_202C_206B_200B_200C_200F_200B_202D_202A_202E((TextWriter)streamWriter); - _200C_200F_202A_206C_200D_206A_200F_206D_206E_202B_200D_200F_202B_206D_202A_202D_200E_206A_202C_200C_200C_202C_202C_206E_202B_200C_206A_206D_200E_200F_206E_200B_200C_202B_200D_206A_200D_202C_206A_200D_202E(fileStream, true); - } - finally - { - int num = ((streamWriter == null) ? 2495584 : 2495587); - while (true) - { - int num2 = num; - int num3 = 2495585; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - goto end_IL_0099; - case 2: - _206E_202D_202D_200F_202E_206C_206E_200C_206C_200E_202E_206A_206C_200D_200E_202B_206E_202C_200D_206E_200F_202A_206F_202B_202D_206F_206C_206C_206E_200D_200B_200F_202E_206E_200C_200D_206A_200C_206F_202C_202E((IDisposable)streamWriter); - num = 2495584; - break; - case 0: - num = 2495587; - break; - } - continue; - end_IL_0099: - break; - } - } + using StreamWriter streamWriter = new StreamWriter(fileStream); + streamWriter.Write(contents); + streamWriter.Flush(); + fileStream.Flush(flushToDisk: true); } - finally - { - int num = ((fileStream == null) ? 135208521 : 135208522); - while (true) - { - int num7 = num; - int num3 = 135208520; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 135208522; - break; - case 2: - _206E_202D_202D_200F_202E_206C_206E_200C_206C_200E_202E_206A_206C_200D_200E_202B_206E_202C_200D_206E_200F_202A_206F_202B_202D_206F_206C_206C_206E_200D_200B_200F_202E_206E_200C_200D_206A_200C_206F_202C_202E((IDisposable)fileStream); - num = 135208521; - break; - case 1: - goto end_IL_0109; - } - continue; - end_IL_0109: - break; - } - } - _202D_202C_200C_200B_200F_206E_202E_200C_200F_202D_202C_200C_200E_206A_200B_206A_200D_202E_200E_200C_200D_206D_206C_206E_206D_200B_202D_200E_202D_200E_206C_202D_200D_206F_202A_202D_206B_202A_202E_202E_202E(text, path, true); + File.Move(text, path, overwrite: true); CleanupOrphanedTempFiles(path, text); } catch { try { - _206D_200C_200C_202B_206D_206F_206F_200D_200E_200D_200F_200E_202D_202C_206D_202D_200B_202C_202E_206D_200F_206F_206C_206E_206B_206D_202B_202E_206F_200C_206B_200E_202D_206A_200C_206D_202C_206A_200D_206C_202E(text); + File.Delete(text); } catch { @@ -98,80 +33,24 @@ public static class AtomicFile } } - [MethodImpl(MethodImplOptions.NoInlining)] private static void CleanupOrphanedTempFiles(string path, string currentTmp) { try { - string text = _200C_200D_200F_202B_202B_200B_200D_206E_206C_206B_200F_206D_202E_206B_200E_206B_206C_200B_206C_202A_206F_206C_206A_200E_202B_206B_202E_206A_200D_202D_202B_200C_202D_206B_200E_200E_206C_200E_200F_200D_202E(path); - int num = ((text == null) ? (-1500986327) : (-1500986326)); - string text2; - while (true) + string directoryName = Path.GetDirectoryName(path); + string path2 = ((directoryName != null && directoryName.Length > 0) ? directoryName : "."); + string searchPattern = Path.GetFileName(path) + ".*.tmp"; + foreach (string item in Directory.EnumerateFiles(path2, searchPattern)) { - int num2 = num; - int num3 = -1500986327; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + if (!string.Equals(Path.GetFileName(item), Path.GetFileName(currentTmp), StringComparison.Ordinal)) { - default: - continue; - case 2: - num = -1500986326; - continue; - case 3: - num = ((_200C_206E_200D_202A_200C_202D_200F_200E_200F_202E_202B_206A_200F_206C_200B_200F_202B_200F_200D_206D_206F_200F_202E_206D_202C_200E_202A_202C_206A_202D_200D_202B_200B_202B_206D_206B_200B_200C_202E_202E_202E(text) > 0) ? (-1500986328) : (-1500986327)); - continue; - case 0: - text2 = global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-1154351772); - break; - case 1: - text2 = text; - break; - } - break; - } - string text3 = _202B_200F_206B_206B_206A_202C_200D_200D_200D_202A_202A_206D_202E_202A_200E_200C_206B_202A_202A_200B_200E_206B_206C_206D_200C_206F_202E_206A_206B_202B_206F_206C_200F_202C_206A_200F_202E_202C_206E_206F_202E(_202C_206E_200F_200F_202D_200B_206D_202C_202E_206E_200F_200B_206E_200C_200F_202C_206F_206B_206B_206C_200E_202B_206E_206F_202E_206D_206A_202E_202E_202B_202D_206E_206E_206D_202E_206A_206D_206B_200D_202C_202E(path), 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(-1112271862)); - IEnumerator enumerator = _202D_206C_206F_200F_206C_206E_206C_200C_200E_202B_202A_202B_202C_206A_206D_202C_202D_206F_202B_200E_206C_206C_200B_206D_202D_202E_206B_202E_200B_200C_206F_206B_200B_200E_200F_200F_206A_200C_200C_202C_202E(text2, text3).GetEnumerator(); - try - { - while (_200D_202B_206F_200E_206A_200C_202D_200E_206D_206A_206E_206F_200D_202A_202D_202C_202E_202D_206C_206D_206F_206C_206F_200D_206F_206D_200B_202E_200E_200B_200B_206D_206D_202C_200C_202B_202C_200B_206B_206A_202E((IEnumerator)enumerator)) - { - string current = enumerator.Current; - if (!_206E_200B_202D_202A_206E_202D_202C_202E_206B_206D_202E_200D_206E_206A_200B_202D_200F_206D_206F_200E_206B_206A_200B_206A_206A_206C_200D_206A_206C_200D_202C_202C_200D_206D_202D_206B_200D_200C_202A_202C_202E(_202C_206E_200F_200F_202D_200B_206D_202C_202E_206E_200F_200B_206E_200C_200F_202C_206F_206B_206B_206C_200E_202B_206E_206F_202E_206D_206A_202E_202E_202B_202D_206E_206E_206D_202E_206A_206D_206B_200D_202C_202E(current), _202C_206E_200F_200F_202D_200B_206D_202C_202E_206E_200F_200B_206E_200C_200F_202C_206F_206B_206B_206C_200E_202B_206E_206F_202E_206D_206A_202E_202E_202B_202D_206E_206E_206D_202E_206A_206D_206B_200D_202C_202E(currentTmp), StringComparison.Ordinal)) + try { - try - { - _206D_200C_200C_202B_206D_206F_206F_200D_200E_200D_200F_200E_202D_202C_206D_202D_200B_202C_202E_206D_200F_206F_206C_206E_206B_206D_202B_202E_206F_200C_206B_200E_202D_206A_200C_206D_202C_206A_200D_206C_202E(current); - } - catch - { - } + File.Delete(item); } - } - } - finally - { - num = ((enumerator == null) ? (-1811405444) : (-1811405441)); - while (true) - { - int num5 = num; - int num3 = -1811405443; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) + catch { - case 0: - num = -1811405441; - break; - case 2: - _206E_202D_202D_200F_202E_206C_206E_200C_206C_200E_202E_206A_206C_200D_200E_202B_206E_202C_200D_206E_200F_202A_206F_202B_202D_206F_206C_206C_206E_200D_200B_200F_202E_206E_200C_200D_206A_200C_206F_202C_202E((IDisposable)enumerator); - num = -1811405444; - break; - case 1: - goto end_IL_0126; } - continue; - end_IL_0126: - break; } } } @@ -179,79 +58,4 @@ public static class AtomicFile { } } - - static FileStream _200F_202A_202C_202D_206D_202A_206A_202E_200F_206D_200F_206D_206B_202E_206E_206A_200D_200D_202D_200C_200C_206C_206E_200F_200B_202D_206D_200B_206B_200C_202E_206D_206B_202D_200B_206C_200C_202B_202B_202E_202E(string P_0, FileMode P_1, FileAccess P_2, FileShare P_3) - { - return new FileStream(P_0, P_1, P_2, P_3); - } - - static StreamWriter _202C_202C_202D_206A_202A_200B_200E_206B_206F_206A_202C_206B_206E_202E_206C_206F_206B_206F_206B_202B_202C_200F_202A_206A_202E_202C_200F_206B_200F_206D_202D_202A_200C_200E_202C_206A_202D_206B_202D_202B_202E(Stream P_0) - { - return new StreamWriter(P_0); - } - - static void _206F_206F_202B_202B_206A_206A_202A_206C_200C_200E_206C_206A_200C_200E_202A_200E_206F_206F_202E_202B_202E_202E_202A_202B_206B_200F_202B_206F_202C_202D_200C_202A_202D_202B_202A_206D_202B_206B_206D_206D_202E(TextWriter P_0, string P_1) - { - P_0.Write(P_1); - } - - static void _206D_202E_200C_200D_202D_206D_202B_206B_202C_200E_202E_202D_206B_202C_206C_206C_206C_202C_202D_206D_200E_200F_200C_202C_202A_206A_200B_202E_200D_206F_200C_206D_202C_206B_200B_200C_200F_200B_202D_202A_202E(TextWriter P_0) - { - P_0.Flush(); - } - - static void _200C_200F_202A_206C_200D_206A_200F_206D_206E_202B_200D_200F_202B_206D_202A_202D_200E_206A_202C_200C_200C_202C_202C_206E_202B_200C_206A_206D_200E_200F_206E_200B_200C_202B_200D_206A_200D_202C_206A_200D_202E(FileStream P_0, bool P_1) - { - P_0.Flush(P_1); - } - - static void _206E_202D_202D_200F_202E_206C_206E_200C_206C_200E_202E_206A_206C_200D_200E_202B_206E_202C_200D_206E_200F_202A_206F_202B_202D_206F_206C_206C_206E_200D_200B_200F_202E_206E_200C_200D_206A_200C_206F_202C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _202D_202C_200C_200B_200F_206E_202E_200C_200F_202D_202C_200C_200E_206A_200B_206A_200D_202E_200E_200C_200D_206D_206C_206E_206D_200B_202D_200E_202D_200E_206C_202D_200D_206F_202A_202D_206B_202A_202E_202E_202E(string P_0, string P_1, bool P_2) - { - File.Move(P_0, P_1, P_2); - } - - static void _206D_200C_200C_202B_206D_206F_206F_200D_200E_200D_200F_200E_202D_202C_206D_202D_200B_202C_202E_206D_200F_206F_206C_206E_206B_206D_202B_202E_206F_200C_206B_200E_202D_206A_200C_206D_202C_206A_200D_206C_202E(string P_0) - { - File.Delete(P_0); - } - - static string _200C_200D_200F_202B_202B_200B_200D_206E_206C_206B_200F_206D_202E_206B_200E_206B_206C_200B_206C_202A_206F_206C_206A_200E_202B_206B_202E_206A_200D_202D_202B_200C_202D_206B_200E_200E_206C_200E_200F_200D_202E(string P_0) - { - return Path.GetDirectoryName(P_0); - } - - static int _200C_206E_200D_202A_200C_202D_200F_200E_200F_202E_202B_206A_200F_206C_200B_200F_202B_200F_200D_206D_206F_200F_202E_206D_202C_200E_202A_202C_206A_202D_200D_202B_200B_202B_206D_206B_200B_200C_202E_202E_202E(string P_0) - { - return P_0.Length; - } - - static string _202C_206E_200F_200F_202D_200B_206D_202C_202E_206E_200F_200B_206E_200C_200F_202C_206F_206B_206B_206C_200E_202B_206E_206F_202E_206D_206A_202E_202E_202B_202D_206E_206E_206D_202E_206A_206D_206B_200D_202C_202E(string P_0) - { - return Path.GetFileName(P_0); - } - - static string _202B_200F_206B_206B_206A_202C_200D_200D_200D_202A_202A_206D_202E_202A_200E_200C_206B_202A_202A_200B_200E_206B_206C_206D_200C_206F_202E_206A_206B_202B_206F_206C_200F_202C_206A_200F_202E_202C_206E_206F_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static IEnumerable _202D_206C_206F_200F_206C_206E_206C_200C_200E_202B_202A_202B_202C_206A_206D_202C_202D_206F_202B_200E_206C_206C_200B_206D_202D_202E_206B_202E_200B_200C_206F_206B_200B_200E_200F_200F_206A_200C_200C_202C_202E(string P_0, string P_1) - { - return Directory.EnumerateFiles(P_0, P_1); - } - - static bool _206E_200B_202D_202A_206E_202D_202C_202E_206B_206D_202E_200D_206E_206A_200B_202D_200F_206D_206F_200E_206B_206A_200B_206A_206A_206C_200D_206A_206C_200D_202C_202C_200D_206D_202D_206B_200D_200C_202A_202C_202E(string P_0, string P_1, StringComparison P_2) - { - return string.Equals(P_0, P_1, P_2); - } - - static bool _200D_202B_206F_200E_206A_200C_202D_200E_206D_206A_206E_206F_200D_202A_202D_202C_202E_202D_206C_206D_206F_206C_206F_200D_206F_206D_200B_202E_200E_200B_200B_206D_206D_202C_200C_202B_202C_200B_206B_206A_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } } diff --git a/LLib/LLib/ChatHelper.cs b/LLib/LLib/ChatHelper.cs index 13c02dc..a4d68b5 100644 --- a/LLib/LLib/ChatHelper.cs +++ b/LLib/LLib/ChatHelper.cs @@ -10,42 +10,23 @@ public static class ChatHelper public unsafe static void SendCommand(string command) { Framework* ptr = Framework.Instance(); - int num = ((ptr != null) ? 97201329 : 97201331); - UIModule* uIModule = default(UIModule*); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 97201328; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 97201331; - break; - case 3: - return; - case 2: - return; - case 1: - uIModule = ptr->GetUIModule(); - num = ((uIModule != null) ? 97201332 : 97201330); - break; - case 4: - { - Utf8String utf8String = new Utf8String(command); - try - { - uIModule->ProcessChatBoxEntry(&utf8String); - return; - } - finally - { - ((IDisposable)utf8String/*cast due to .constrained prefix*/).Dispose(); - } - } - } + return; + } + UIModule* uIModule = ptr->GetUIModule(); + if (uIModule == null) + { + return; + } + Utf8String utf8String = new Utf8String(command); + try + { + uIModule->ProcessChatBoxEntry(&utf8String); + } + finally + { + ((IDisposable)utf8String/*cast due to .constrained prefix*/).Dispose(); } } } diff --git a/LLib/LLib/DalamudReflector.cs b/LLib/LLib/DalamudReflector.cs index 0ba3c7c..b1de8cc 100644 --- a/LLib/LLib/DalamudReflector.cs +++ b/LLib/LLib/DalamudReflector.cs @@ -2,13 +2,9 @@ using System; using System.Collections; using System.Collections.Concurrent; using System.Collections.Generic; -using System.Diagnostics; using System.Diagnostics.CodeAnalysis; -using System.Globalization; using System.Linq; using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; using System.Threading; using System.Threading.Tasks; using Dalamud.Plugin; @@ -18,1078 +14,6 @@ namespace LLib; public sealed class DalamudReflector : IDisposable { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass22_0 - { - public string repoUrl; - - internal bool _003CFindAvailableManifest_003Eb__0(string alias) - { - return RepoUrlEquals(repoUrl, alias); - } - } - - [StructLayout(LayoutKind.Auto)] - [CompilerGenerated] - private struct _003CAddPluginAsync_003Ed__9 : IAsyncStateMachine - { - public int _003C_003E1__state; - - public AsyncTaskMethodBuilder _003C_003Et__builder; - - public DalamudReflector _003C_003E4__this; - - public string internalName; - - public string thirdPartyRepoUrl; - - public IReadOnlyList aliases; - - private object _003CpluginManager_003E5__2; - - private Assembly _003Cassembly_003E5__3; - - private MethodInfo _003CreloadMethod_003E5__4; - - private Task _003CinstallTask_003E5__5; - - private bool _003Cloaded_003E5__6; - - private ConfiguredTaskAwaitable.ConfiguredTaskAwaiter _003C_003Eu__1; - - [MethodImpl(MethodImplOptions.NoInlining)] - private void MoveNext() - { - int num = _003C_003E1__state; - DalamudReflector dalamudReflector = _003C_003E4__this; - bool result; - try - { - switch (num) - { - case 2: - goto IL_016d; - case 0: - goto IL_0603; - case 1: - goto IL_062c; - } - int num2 = -158450101; - goto IL_002c; - IL_016d: - ConfiguredTaskAwaitable.ConfiguredTaskAwaiter awaiter = _003C_003Eu__1; - _003C_003Eu__1 = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - num = (_003C_003E1__state = -1); - num2 = -158450083; - goto IL_002c; - IL_002c: - int num7 = default(int); - object[] array = default(object[]); - object obj3 = default(object); - object obj = default(object); - object obj2 = default(object); - MethodInfo methodInfo = default(MethodInfo); - Type type = default(Type); - ParameterInfo[] array2 = default(ParameterInfo[]); - Type type2 = default(Type); - object obj4 = default(object); - while (true) - { - int num3 = num2; - int num4 = -158450089; - int num5 = num3; - int num6; - switch ((num5 | num4) - (num5 & num4)) - { - case 8: - goto IL_00d4; - case 2: - goto end_IL_002c; - case 28: - goto IL_0196; - case 31: - goto IL_01f2; - case 0: - { - int num8 = num7; - num4 = 1; - num5 = num8; - num7 = (num5 | num4) + (num5 & num4); - num2 = -158450057; - break; - } - case 30: - throw _206C_206F_206C_200D_200D_206D_202A_206E_206B_206F_202A_206E_206E_202D_200C_202B_200B_206B_206F_202D_202B_200C_202A_202B_202D_202B_202C_206C_202E_202E_200E_200B_206E_200B_206C_200E_200C_206D_206E_206D_202E(_202E_206D_206D_202C_206A_206F_202A_200B_200F_206B_206F_202D_206D_200F_202D_200B_206A_200F_200C_206F_206A_206F_200E_200B_206C_202D_206E_206C_200D_206E_200C_206A_206E_200B_202A_206E_202E_206F_200D_202C_202E(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1931795628), internalName, 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(2124475057))); - case 15: - array[num7] = obj3; - num2 = -158450089; - break; - case 33: - goto IL_0285; - case 13: - array[num7] = null; - num2 = -158450089; - break; - case 24: - goto IL_02ee; - case 26: - goto IL_0346; - case 20: - result = true; - goto end_IL_000e; - case 9: - goto IL_039c; - case 32: - goto IL_03d2; - case 23: - goto IL_03f5; - case 10: - goto IL_041b; - case 18: - goto IL_047f; - case 21: - num = (_003C_003E1__state = 2); - _003C_003Eu__1 = awaiter; - _003C_003Et__builder.AwaitUnsafeOnCompleted(ref awaiter, ref this); - return; - case 12: - awaiter.GetResult(); - obj = FindAvailableManifest(_003CpluginManager_003E5__2, internalName, thirdPartyRepoUrl, aliases); - num2 = -158450108; - break; - case 11: - goto IL_050e; - case 16: - num2 = -158450101; - break; - case 1: - goto IL_0599; - case 7: - throw _206C_206F_206C_200D_200D_206D_202A_206E_206B_206F_202A_206E_206E_202D_200C_202B_200B_206B_206F_202D_202B_200C_202A_202B_202D_202B_202C_206C_202E_202E_200E_200B_206E_200B_206C_200E_200C_206D_206E_206D_202E(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(-169019911)); - case 6: - goto IL_0603; - case 17: - goto IL_062c; - case 4: - num = (_003C_003E1__state = 0); - _003C_003Eu__1 = awaiter; - _003C_003Et__builder.AwaitUnsafeOnCompleted(ref awaiter, ref this); - return; - case 3: - num = (_003C_003E1__state = 1); - _003C_003Eu__1 = awaiter; - _003C_003Et__builder.AwaitUnsafeOnCompleted(ref awaiter, ref this); - return; - case 22: - goto IL_06b5; - case 5: - result = false; - goto end_IL_000e; - case 14: - array[num7] = false; - num2 = -158450089; - break; - case 29: - _003Cloaded_003E5__6 = (bool)obj2; - num6 = 1; - goto IL_0752; - case 19: - goto IL_0721; - case 25: - array[num7] = obj; - num2 = -158450089; - break; - case 27: - { - num6 = 0; - goto IL_0752; - } - IL_0752: - result = (byte)((uint)num6 & (_003Cloaded_003E5__6 ? 1u : 0u)) != 0; - goto end_IL_000e; - } - continue; - IL_0721: - num2 = ((obj != null) ? (-158450081) : (-158450103)); - continue; - IL_00d4: - methodInfo = _206B_206D_206A_200F_202E_206C_202A_206C_206E_206A_200B_206B_202C_202D_206D_206C_202B_202D_200E_200C_200F_202C_206C_200C_202B_200E_200C_200B_206F_202D_202E_202C_202E_200B_206B_200B_206A_206E_200E_200F_202E(_200D_206A_206A_202B_200C_206E_206C_200B_202D_202A_202D_206D_206D_200C_206F_202A_206C_202C_200B_206A_200B_200D_202D_200F_206C_206C_202C_206A_206F_202A_202B_202E_200F_200F_200F_206E_206C_206A_200D_206A_202E(_003CpluginManager_003E5__2), global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1435604918), BindingFlags.Instance | BindingFlags.Public) ?? throw _206C_206F_206C_200D_200D_206D_202A_206E_206B_206F_202A_206E_206E_202D_200C_202B_200B_206B_206F_202D_202B_200C_202A_202B_202D_202B_202C_206C_202E_202E_200E_200B_206E_200B_206C_200E_200C_206D_206E_206D_202E(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(-1358635013)); - type = _200F_206E_206B_200C_200D_206A_200E_200B_202A_206F_200D_202D_202C_202B_202C_206D_206F_206C_202E_202E_202D_202A_206F_202C_202A_206B_206C_200D_200F_202A_206E_202E_202E_202B_206A_206C_206D_200C_202D_200F_202E(_003Cassembly_003E5__3, 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(-1964451499)) ?? throw _206C_206F_206C_200D_200D_206D_202A_206E_206B_206F_202A_206E_206E_202D_200C_202B_200B_206B_206F_202D_202B_200C_202A_202B_202D_202B_202C_206C_202E_202E_200E_200B_206E_200B_206C_200E_200C_206D_206E_206D_202E(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(-1640054167)); - obj3 = _200D_200E_200E_200D_202D_200B_202A_206F_202D_202A_206B_206E_200C_202C_202A_206C_206F_206B_200E_206B_200D_200D_200F_200B_206B_200F_202E_206A_200B_200C_206C_206B_202B_200C_200E_200D_202E_202D_206E_200E_202E(type, 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(1257923011)); - array2 = _200F_202A_202D_202D_206E_202B_202D_206B_200D_200E_200E_202E_206A_206E_202A_200B_200E_202E_200E_202B_200C_200C_202B_200E_202A_206B_206D_206A_206C_200D_206A_202C_202D_202C_200C_202B_206B_202C_202B_206E_202E((MethodBase)methodInfo); - array = new object[array2.Length]; - num7 = 0; - num2 = -158450057; - continue; - IL_047f: - num2 = ((!_206F_206F_202A_200B_206D_200B_200E_200F_206D_202B_206D_206C_202A_206D_202A_206F_206A_200B_206D_202E_202E_202C_206B_200F_202D_202E_200F_202C_200D_200C_206B_206A_202E_202A_206C_202D_206C_202B_206B_206B_202E(type2, _206C_206A_206B_200D_206E_206A_206F_200D_202A_206D_200E_206C_200B_202D_202A_202C_200E_206E_206E_200C_200D_206B_200B_206A_200C_206D_206D_206F_206D_206C_206D_200D_202E_202E_206B_200C_200E_206E_206E_200D_202E(typeof(bool).TypeHandle))) ? (-158450112) : (-158450087)); - continue; - IL_06b5: - num2 = ((thirdPartyRepoUrl == null) ? (-158450108) : (-158450058)); - continue; - IL_03d2: - num2 = ((num7 < array2.Length) ? (-158450082) : (-158450097)); - continue; - IL_01f2: - awaiter = _200B_206F_206B_202B_206D_202A_200D_202D_206C_206C_202B_202A_206D_206A_200D_206B_200B_202D_206C_206C_206D_206A_206F_200E_206C_202B_202D_200B_202C_202D_202B_202B_206E_206E_200B_202B_200B_200D_206B_202B_202E(_003CinstallTask_003E5__5, false).GetAwaiter(); - num2 = (awaiter.IsCompleted ? (-158450083) : (-158450110)); - continue; - IL_0599: - obj2 = _200D_202B_202D_206C_200E_206F_202C_200F_200F_200C_206E_206B_202E_200D_200D_206E_200E_202A_200D_202D_200C_206B_206C_202A_206F_202A_200E_206D_206D_202B_206A_202A_202D_206F_200D_206C_206F_206F_206A_202A_202E(_202A_200E_206F_206C_206E_200F_206B_202C_202A_206D_200B_200C_200B_206E_206C_202C_202C_200C_202A_200D_200D_202D_206B_200F_202C_200D_206A_206E_206F_200E_202A_206D_202E_200E_202E_200F_202B_200C_200E_206B_202E(_200D_206A_206A_202B_200C_206E_206C_200B_202D_202A_202D_206D_206D_200C_206F_202A_206C_202C_200B_206A_200B_200D_202D_200F_206C_206C_202C_206A_206F_202A_202B_202E_200F_200F_200F_206E_206C_206A_200D_206A_202E(obj4), 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(1946306806)) ?? throw _206C_206F_206C_200D_200D_206D_202A_206E_206B_206F_202A_206E_206E_202D_200C_202B_200B_206B_206F_202D_202B_200C_202A_202B_202D_202B_202C_206C_202E_202E_200E_200B_206E_200B_206C_200E_200C_206D_206E_206D_202E(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(241214595)), obj4); - num2 = ((!(obj2 is bool)) ? (-158450100) : (-158450102)); - continue; - IL_041b: - awaiter.GetResult(); - obj4 = _200D_202B_202D_206C_200E_206F_202C_200F_200F_200C_206E_206B_202E_200D_200D_206E_200E_202A_200D_202D_200C_206B_206C_202A_206F_202A_200E_206D_206D_202B_206A_202A_202D_206F_200D_206C_206F_206F_206A_202A_202E(_202A_200E_206F_206C_206E_200F_206B_202C_202A_206D_200B_200C_200B_206E_206C_202C_202C_200C_202A_200D_200D_202D_206B_200F_202C_200D_206A_206E_206F_200E_202A_206D_202E_200E_202E_200F_202B_200C_200E_206B_202E(_200D_206A_206A_202B_200C_206E_206C_200B_202D_202A_202D_206D_206D_200C_206F_202A_206C_202C_200B_206A_200B_200D_202D_200F_206C_206C_202C_206A_206F_202A_202B_202E_200F_200F_200F_206E_206C_206A_200D_206A_202E((object)_003CinstallTask_003E5__5), global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-1037220679)) ?? throw _206C_206F_206C_200D_200D_206D_202A_206E_206B_206F_202A_206E_206E_202D_200C_202B_200B_206B_206F_202D_202B_200C_202A_202B_202D_202B_202C_206C_202E_202E_200E_200B_206E_200B_206C_200E_200C_206D_206E_206D_202E(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(1256600865)), (object)_003CinstallTask_003E5__5); - num2 = ((obj4 != null) ? (-158450090) : (-158450094)); - continue; - IL_02ee: - object obj5 = _200D_206A_202B_202A_206B_202B_206B_202D_206B_200F_202D_202E_202D_200B_202E_200C_206C_202C_202D_206D_206D_206A_202B_200E_206E_200B_200F_202C_206B_200C_202D_200B_202C_202E_206A_206A_206B_206A_202E((MethodBase)methodInfo, _003CpluginManager_003E5__2, array) ?? throw _206C_206F_206C_200D_200D_206D_202A_206E_206B_206F_202A_206E_206E_202D_200C_202B_200B_206B_206F_202D_202B_200C_202A_202B_202D_202B_202C_206C_202E_202E_200E_200B_206E_200B_206C_200E_200C_206D_206E_206D_202E(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(121476692)); - _003CinstallTask_003E5__5 = obj5 as Task; - num2 = ((_003CinstallTask_003E5__5 != null) ? (-158450104) : (-158450096)); - continue; - IL_039c: - type2 = _206C_202C_206E_200C_206F_200D_206F_206E_202C_202B_202E_206E_200F_206C_206C_200F_202C_206D_200E_202D_206F_200D_202E_202E_206D_206F_206C_200F_202C_202C_206E_200E_206D_206A_200C_206F_200C_202D_200B_206F_202E(array2[num7]); - num2 = ((!_202B_202C_202A_206C_200E_206E_202B_206B_202C_206C_206A_206C_200D_202E_206A_200D_200F_202A_200C_200E_206B_206E_202D_206D_206D_202E_202E_200C_200D_200B_202D_206D_206A_200D_202A_200F_202A_206C_206F_202D_202E(type2, _200D_206A_206A_202B_200C_206E_206C_200B_202D_202A_202D_206D_206D_200C_206F_202A_206C_202C_200B_206A_200B_200D_202D_200F_206C_206C_202C_206A_206F_202A_202B_202E_200F_200F_200F_206E_206C_206A_200D_206A_202E(obj))) ? (-158450107) : (-158450098)); - continue; - IL_0285: - AddOrEnableThirdPartyRepo(_003Cassembly_003E5__3, thirdPartyRepoUrl); - awaiter = _200B_206F_206B_202B_206D_202A_200D_202D_206C_206C_202B_202A_206D_206A_200D_206B_200B_202D_206C_206C_206D_206A_206F_200E_206C_202B_202D_200B_202C_202D_202B_202B_206E_206E_200B_202B_200B_200D_206B_202B_202E(InvokeReloadAsync(_003CpluginManager_003E5__2, _003CreloadMethod_003E5__4), false).GetAwaiter(); - num2 = (awaiter.IsCompleted ? (-158450085) : (-158450092)); - continue; - IL_050e: - _003CreloadMethod_003E5__4 = _206B_206D_206A_200F_202E_206C_202A_206C_206E_206A_200B_206B_202C_202D_206D_206C_202B_202D_200E_200C_200F_202C_206C_200C_202B_200E_200C_200B_206F_202D_202E_202C_202E_200B_206B_200B_206A_206E_200E_200F_202E(_200D_206A_206A_202B_200C_206E_206C_200B_202D_202A_202D_206D_206D_200C_206F_202A_206C_202C_200B_206A_200B_200D_202D_200F_206C_206C_202C_206A_206F_202A_202B_202E_200F_200F_200F_206E_206C_206A_200D_206A_202E(_003CpluginManager_003E5__2), 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(-1659108735), BindingFlags.Instance | BindingFlags.Public) ?? throw _206C_206F_206C_200D_200D_206D_202A_206E_206B_206F_202A_206E_206E_202D_200C_202B_200B_206B_206F_202D_202B_200C_202A_202B_202D_202B_202C_206C_202E_202E_200E_200B_206E_200B_206C_200E_200C_206D_206E_206D_202E(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-54915131)); - awaiter = _200B_206F_206B_202B_206D_202A_200D_202D_206C_206C_202B_202A_206D_206A_200D_206B_200B_202D_206C_206C_206D_206A_206F_200E_206C_202B_202D_200B_202C_202D_202B_202B_206E_206E_200B_202B_200B_200D_206B_202B_202E(InvokeReloadAsync(_003CpluginManager_003E5__2, _003CreloadMethod_003E5__4), false).GetAwaiter(); - num2 = (awaiter.IsCompleted ? (-158450099) : (-158450093)); - continue; - IL_0196: - _003CpluginManager_003E5__2 = dalamudReflector.GetPluginManager(); - _003Cassembly_003E5__3 = _200B_202A_202B_202D_202B_206F_202B_200D_202C_202E_206F_206A_202A_206B_206F_206B_200B_202D_206E_202A_206A_200E_206E_202C_200E_206B_202A_200D_206A_202B_200B_200D_200B_206A_206F_200D_206D_202A_200E_200F_202E(_200D_206A_206A_202B_200C_206E_206C_200B_202D_202A_202D_206D_206D_200C_206F_202A_206C_202C_200B_206A_200B_200D_202D_200F_206C_206C_202C_206A_206F_202A_202B_202E_200F_200F_200F_206E_206C_206A_200D_206A_202E((object)dalamudReflector._pluginInterface)); - num2 = ((!IsVariantLoaded(_003CpluginManager_003E5__2, internalName, thirdPartyRepoUrl, aliases)) ? (-158450084) : (-158450109)); - continue; - IL_03f5: - num2 = ((!_206F_206F_202A_200B_206D_200B_200E_200F_206D_202B_206D_206C_202A_206D_202A_206F_206A_200B_206D_202E_202E_202C_206B_200F_202D_202E_200F_202C_200D_200C_206B_206A_202E_202A_206C_202D_206C_202B_206B_206B_202E(type2, type)) ? (-158450086) : (-158450088)); - continue; - IL_0346: - awaiter.GetResult(); - obj = FindAvailableManifest(_003CpluginManager_003E5__2, internalName, thirdPartyRepoUrl, aliases); - num2 = ((obj != null) ? (-158450108) : (-158450111)); - continue; - end_IL_002c: - break; - } - goto IL_016d; - IL_062c: - awaiter = _003C_003Eu__1; - _003C_003Eu__1 = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - num = (_003C_003E1__state = -1); - num2 = -158450085; - goto IL_002c; - IL_0603: - awaiter = _003C_003Eu__1; - _003C_003Eu__1 = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - num = (_003C_003E1__state = -1); - num2 = -158450099; - goto IL_002c; - end_IL_000e:; - } - catch (Exception exception) - { - _003C_003E1__state = -2; - _003CpluginManager_003E5__2 = null; - _003Cassembly_003E5__3 = null; - _003CreloadMethod_003E5__4 = null; - _003CinstallTask_003E5__5 = null; - _003C_003Et__builder.SetException(exception); - return; - } - _003C_003E1__state = -2; - _003CpluginManager_003E5__2 = null; - _003Cassembly_003E5__3 = null; - _003CreloadMethod_003E5__4 = null; - _003CinstallTask_003E5__5 = null; - _003C_003Et__builder.SetResult(result); - } - - void IAsyncStateMachine.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - this.MoveNext(); - } - - [DebuggerHidden] - private void SetStateMachine(IAsyncStateMachine stateMachine) - { - _003C_003Et__builder.SetStateMachine(stateMachine); - } - - void IAsyncStateMachine.SetStateMachine(IAsyncStateMachine stateMachine) - { - //ILSpy generated this explicit interface implementation from .override directive in SetStateMachine - this.SetStateMachine(stateMachine); - } - - static Type _200D_206A_206A_202B_200C_206E_206C_200B_202D_202A_202D_206D_206D_200C_206F_202A_206C_202C_200B_206A_200B_200D_202D_200F_206C_206C_202C_206A_206F_202A_202B_202E_200F_200F_200F_206E_206C_206A_200D_206A_202E(object P_0) - { - return P_0.GetType(); - } - - static Assembly _200B_202A_202B_202D_202B_206F_202B_200D_202C_202E_206F_206A_202A_206B_206F_206B_200B_202D_206E_202A_206A_200E_206E_202C_200E_206B_202A_200D_206A_202B_200B_200D_200B_206A_206F_200D_206D_202A_200E_200F_202E(Type P_0) - { - return P_0.Assembly; - } - - static MethodInfo _206B_206D_206A_200F_202E_206C_202A_206C_206E_206A_200B_206B_202C_202D_206D_206C_202B_202D_200E_200C_200F_202C_206C_200C_202B_200E_200C_200B_206F_202D_202E_202C_202E_200B_206B_200B_206A_206E_200E_200F_202E(Type P_0, string P_1, BindingFlags P_2) - { - return P_0.GetMethod(P_1, P_2); - } - - static InvalidOperationException _206C_206F_206C_200D_200D_206D_202A_206E_206B_206F_202A_206E_206E_202D_200C_202B_200B_206B_206F_202D_202B_200C_202A_202B_202D_202B_202C_206C_202E_202E_200E_200B_206E_200B_206C_200E_200C_206D_206E_206D_202E(string P_0) - { - return new InvalidOperationException(P_0); - } - - static ConfiguredTaskAwaitable _200B_206F_206B_202B_206D_202A_200D_202D_206C_206C_202B_202A_206D_206A_200D_206B_200B_202D_206C_206C_206D_206A_206F_200E_206C_202B_202D_200B_202C_202D_202B_202B_206E_206E_200B_202B_200B_200D_206B_202B_202E(Task P_0, bool P_1) - { - return P_0.ConfigureAwait(P_1); - } - - static string _202E_206D_206D_202C_206A_206F_202A_200B_200F_206B_206F_202D_206D_200F_202D_200B_206A_200F_200C_206F_206A_206F_200E_200B_206C_202D_206E_206C_200D_206E_200C_206A_206E_200B_202A_206E_202E_206F_200D_202C_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static Type _200F_206E_206B_200C_200D_206A_200E_200B_202A_206F_200D_202D_202C_202B_202C_206D_206F_206C_202E_202E_202D_202A_206F_202C_202A_206B_206C_200D_200F_202A_206E_202E_202E_202B_206A_206C_206D_200C_202D_200F_202E(Assembly P_0, string P_1) - { - return P_0.GetType(P_1); - } - - static object _200D_200E_200E_200D_202D_200B_202A_206F_202D_202A_206B_206E_200C_202C_202A_206C_206F_206B_200E_206B_200D_200D_200F_200B_206B_200F_202E_206A_200B_200C_206C_206B_202B_200C_200E_200D_202E_202D_206E_200E_202E(Type P_0, string P_1) - { - return Enum.Parse(P_0, P_1); - } - - static ParameterInfo[] _200F_202A_202D_202D_206E_202B_202D_206B_200D_200E_200E_202E_206A_206E_202A_200B_200E_202E_200E_202B_200C_200C_202B_200E_202A_206B_206D_206A_206C_200D_206A_202C_202D_202C_200C_202B_206B_202C_202B_206E_202E(MethodBase P_0) - { - return P_0.GetParameters(); - } - - static Type _206C_202C_206E_200C_206F_200D_206F_206E_202C_202B_202E_206E_200F_206C_206C_200F_202C_206D_200E_202D_206F_200D_202E_202E_206D_206F_206C_200F_202C_202C_206E_200E_206D_206A_200C_206F_200C_202D_200B_206F_202E(ParameterInfo P_0) - { - return P_0.ParameterType; - } - - static bool _202B_202C_202A_206C_200E_206E_202B_206B_202C_206C_206A_206C_200D_202E_206A_200D_200F_202A_200C_200E_206B_206E_202D_206D_206D_202E_202E_200C_200D_200B_202D_206D_206A_200D_202A_200F_202A_206C_206F_202D_202E(Type P_0, Type P_1) - { - return P_0.IsAssignableFrom(P_1); - } - - static Type _206C_206A_206B_200D_206E_206A_206F_200D_202A_206D_200E_206C_200B_202D_202A_202C_200E_206E_206E_200C_200D_206B_200B_206A_200C_206D_206D_206F_206D_206C_206D_200D_202E_202E_206B_200C_200E_206E_206E_200D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static bool _206F_206F_202A_200B_206D_200B_200E_200F_206D_202B_206D_206C_202A_206D_202A_206F_206A_200B_206D_202E_202E_202C_206B_200F_202D_202E_200F_202C_200D_200C_206B_206A_202E_202A_206C_202D_206C_202B_206B_206B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - - static object _200D_206A_202B_202A_206B_202B_206B_202D_206B_200F_202D_202E_202D_200B_202E_200C_206C_202C_202D_206D_206D_206A_202B_200E_206E_200B_200F_202C_206B_200C_202D_200B_202C_202E_206A_206A_206B_206A_202E(MethodBase P_0, object P_1, object[] P_2) - { - return P_0.Invoke(P_1, P_2); - } - - static PropertyInfo _202A_200E_206F_206C_206E_200F_206B_202C_202A_206D_200B_200C_200B_206E_206C_202C_202C_200C_202A_200D_200D_202D_206B_200F_202C_200D_206A_206E_206F_200E_202A_206D_202E_200E_202E_200F_202B_200C_200E_206B_202E(Type P_0, string P_1) - { - return P_0.GetProperty(P_1); - } - - static object _200D_202B_202D_206C_200E_206F_202C_200F_200F_200C_206E_206B_202E_200D_200D_206E_200E_202A_200D_202D_200C_206B_206C_202A_206F_202A_200E_206D_206D_202B_206A_202A_202D_206F_200D_206C_206F_206F_206A_202A_202E(PropertyInfo P_0, object P_1) - { - return P_0.GetValue(P_1); - } - } - - [StructLayout(LayoutKind.Auto)] - [CompilerGenerated] - private struct _003CEnablePluginAsync_003Ed__10 : IAsyncStateMachine - { - public int _003C_003E1__state; - - public AsyncTaskMethodBuilder _003C_003Et__builder; - - public DalamudReflector _003C_003E4__this; - - public string internalName; - - public string thirdPartyRepoUrl; - - public IReadOnlyList aliases; - - private Assembly _003Cassembly_003E5__2; - - private object _003ClocalPlugin_003E5__3; - - private Type _003ClocalPluginType_003E5__4; - - private PropertyInfo _003CisLoadedProperty_003E5__5; - - private bool _003CloadedAfter_003E5__6; - - private ConfiguredTaskAwaitable.ConfiguredTaskAwaiter _003C_003Eu__1; - - [MethodImpl(MethodImplOptions.NoInlining)] - private void MoveNext() - { - int num = _003C_003E1__state; - DalamudReflector dalamudReflector = _003C_003E4__this; - bool result; - try - { - ConfiguredTaskAwaitable.ConfiguredTaskAwaiter awaiter = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - object obj2 = default(object); - int num6 = default(int); - int num2; - if (num != 0) - { - num2 = -517751488; - PropertyInfo propertyInfo = default(PropertyInfo); - object obj3 = default(object); - string text = default(string); - IDisposable disposable = default(IDisposable); - while (true) - { - int num3 = num2; - int num4 = -517751487; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - default: - continue; - case 0: - num2 = -517751488; - continue; - case 1: - if (num != 1) - { - num2 = -517751485; - continue; - } - awaiter = _003C_003Eu__1; - _003C_003Eu__1 = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - num = (_003C_003E1__state = -1); - num2 = -219266637; - break; - case 2: - { - object pluginManager = dalamudReflector.GetPluginManager(); - _003Cassembly_003E5__2 = _202B_202C_206B_206B_206C_206D_206D_206B_206F_202A_202B_200B_206A_202A_206D_200D_202C_206B_202D_202D_202B_206B_206F_200C_202D_206D_206B_206B_202D_206D_202C_200C_206C_202A_202E_206D_200E_200F_206E_200D_202E(_202B_206E_206C_206A_202A_202C_202E_206C_206B_206B_200F_200D_202B_202A_200E_200C_206F_206E_202E_200D_206E_206D_202B_202D_206A_202D_200E_200F_200E_206B_206B_200E_206C_206E_200B_206E_206E_206B_206A_202D_202E((object)dalamudReflector._pluginInterface)); - IEnumerable obj = (_202E_202B_202A_206A_206A_200C_200C_206E_202E_202B_200D_206E_200B_202C_202C_200C_202B_200B_206E_200E_206D_200B_200D_200D_206D_206F_202B_206D_202B_206F_206A_202C_200D_202C_202A_202D_206F_206C_202C_202E(_202C_206D_202A_200D_200B_200E_202C_206B_206E_200D_206F_200C_202A_206E_206D_200D_206D_206A_200D_202E_202C_206A_206A_206C_206D_206A_200D_200B_206D_200D_200F_202B_202B_200F_202A_206C_202E_202D_206D_206B_202E(_202B_206E_206C_206A_202A_202C_202E_206C_206B_206B_200F_200D_202B_202A_200E_200C_206F_206E_202E_200D_206E_206D_202B_202D_206A_202D_200E_200F_200E_206B_206B_200E_206C_206E_200B_206E_206E_206B_206A_202D_202E(pluginManager), 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(-797332337)) ?? throw _202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1353226340)), pluginManager) as IEnumerable) ?? throw _202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(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(-1803355673)); - _003ClocalPlugin_003E5__3 = null; - obj2 = null; - num6 = 0; - IEnumerator enumerator = _206B_206D_202C_206B_200B_206F_202A_206B_202A_206D_200F_202B_200D_206A_200B_200D_202D_202B_200F_206C_206C_206D_202C_200F_202E_200F_202B_200D_206B_200B_202E_206E_206A_206B_202E_202E_206F_200C_200B_206B_202E(obj); - try - { - num2 = 1208540772; - while (true) - { - int num7 = num2; - num4 = 1208540771; - num5 = num7; - int num8 = num5 + num4; - int num9 = num5 & num4; - switch (num8 - (num9 + num9)) - { - case 5: - propertyInfo = _206D_202A_202B_200C_206D_202D_202A_202E_206E_202A_202C_200F_202B_206C_206E_202E_206D_202A_206F_206F_200E_206A_206F_206C_200E_206F_200F_206B_206C_206E_206A_206E_206E_206F_200C_200E_200F_206B_202A_202D_202E(_202B_206E_206C_206A_202A_202C_202E_206C_206B_206B_200F_200D_202B_202A_200E_200C_206F_206E_202E_200D_206E_206D_202B_202D_206A_202D_200E_200F_200E_206B_206B_200E_206C_206E_200B_206E_206E_206B_206A_202D_202E(obj3), 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(-1994460583), BindingFlags.Instance | BindingFlags.Public); - num2 = (_206B_206B_202C_206D_202D_200E_202B_202B_200C_200D_200F_206A_202C_206C_202B_206B_206D_202B_206C_200F_202B_202C_206E_200E_200F_200F_202D_200E_206D_200C_202D_206B_206A_206F_206A_200D_206B_200C_206D_206C_202E(propertyInfo, (PropertyInfo)null) ? 1208540772 : 1208540769); - break; - case 4: - num2 = (_206B_206C_200D_202B_202D_202B_200D_200D_200E_206D_200B_206A_206B_202A_206E_202C_206A_202E_202D_202D_202B_206B_206A_202C_206F_202A_200C_200D_202C_200B_200D_202B_200B_202D_206B_200D_200C_200F_202E_206C_202E(text, internalName) ? 1208540772 : 1208540773); - break; - case 2: - text = _202E_202B_202A_206A_206A_200C_200C_206E_202E_202B_200D_206E_200B_202C_202C_200C_202B_200B_206E_200E_206D_200B_200D_200D_206D_206F_202B_206D_202B_206F_206A_202C_200D_202C_202A_202D_206F_206C_202C_202E(propertyInfo, obj3) as string; - num2 = ((text == null) ? 1208540772 : 1208540775); - break; - case 6: - { - int num10 = num6; - num4 = 1; - num5 = num10; - num6 = (num5 | num4) + (num5 & num4); - num2 = ((obj2 != null) ? 1208540779 : 1208540778); - break; - } - case 9: - obj2 = obj3; - num2 = 1208540779; - break; - case 0: - _003ClocalPlugin_003E5__3 = obj3; - num2 = 1208540770; - break; - case 10: - obj3 = _206C_202A_206F_202B_200B_206F_206D_202D_200D_200B_200F_206E_200C_202E_202A_200C_200F_202C_206D_202B_206E_206F_200D_206B_200E_206A_206E_202A_200F_200B_202A_206C_202C_202E_206E_206D_200B_202A_206B_200E_202E(enumerator); - num2 = ((obj3 == null) ? 1208540772 : 1208540774); - break; - case 8: - num2 = ((!LocalPluginMatchesRepo(obj3, thirdPartyRepoUrl, aliases)) ? 1208540772 : 1208540771); - break; - case 3: - num2 = 1208540772; - break; - case 7: - num2 = (_202A_206F_206C_202A_200F_202C_206A_200B_202A_206B_206A_202B_202E_202B_202C_206A_202E_202D_206F_202D_200E_206F_206A_206A_202B_206C_200D_200E_202E_202E_202A_206A_206B_206F_202E_200E_200D_206F_206B_200F_202E(enumerator) ? 1208540777 : 1208540770); - break; - case 1: - goto end_IL_00f5; - } - continue; - end_IL_00f5: - break; - } - } - finally - { - num2 = ((num >= 0) ? 1809875927 : 1809875925); - while (true) - { - int num11 = num2; - num4 = 1809875926; - num5 = num11; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - _200E_200E_202C_202B_200B_200D_202B_202E_206F_200F_202E_200C_206A_202D_206E_202E_202D_200C_202B_202D_206A_202E_200D_200B_200F_202B_200B_202D_200D_202C_206D_206C_202C_202B_202C_206A_200B_202B_206F_206A_202E(disposable); - num2 = 1809875927; - break; - case 1: - goto end_IL_02de; - case 2: - num2 = 1809875925; - break; - case 3: - disposable = enumerator as IDisposable; - num2 = ((disposable == null) ? 1809875927 : 1809875926); - break; - } - continue; - end_IL_02de: - break; - } - } - num2 = ((_003ClocalPlugin_003E5__3 != null) ? (-219266648) : (-219266644)); - break; - } - } - break; - } - } - else - { - awaiter = _003C_003Eu__1; - _003C_003Eu__1 = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - num = (_003C_003E1__state = -1); - num2 = -219266653; - } - string text3 = default(string); - object[] array2 = default(object[]); - int num17 = default(int); - object obj5 = default(object); - object obj4 = default(object); - Type type = default(Type); - ParameterInfo[] array3 = default(ParameterInfo[]); - Type type2 = default(Type); - int num16 = default(int); - string[] array = default(string[]); - Guid guid = default(Guid); - MethodInfo methodInfo = default(MethodInfo); - bool flag = default(bool); - while (true) - { - int num12 = num2; - int num4 = -219266628; - int num5 = num12; - int num14; - string text2; - int num13; - switch ((num5 | num4) - (num5 & num4)) - { - case 21: - num = (_003C_003E1__state = 1); - _003C_003Eu__1 = awaiter; - _003C_003Et__builder.AwaitUnsafeOnCompleted(ref awaiter, ref this); - return; - case 7: - throw _202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(930706806)); - case 35: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(37, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(-704778144)); - defaultInterpolatedStringHandler.AppendFormatted(internalName); - defaultInterpolatedStringHandler.AppendLiteral(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(-1141968393)); - defaultInterpolatedStringHandler.AppendFormatted(text3); - defaultInterpolatedStringHandler.AppendLiteral(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(-831521228)); - throw _202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 14: - array2[num17] = obj5; - num2 = -219266659; - break; - case 0: - num14 = 0; - goto IL_04fe; - case 18: - throw _202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(_200F_200F_202C_200E_202B_200D_206B_200C_206F_206F_206F_200E_200F_200D_206C_206A_202C_202C_200E_206A_206A_202D_200B_200B_202A_202A_200B_206D_200C_202C_200D_200F_202B_206B_202E_202B_200C_200B_202B_200F_202E(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(-704778144), internalName, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-1737777117))); - case 3: - text2 = _200F_200F_202C_200E_202B_200D_206B_200C_206F_206F_206F_200E_200F_200D_206C_206A_202C_202C_200E_206A_206A_202D_200B_200B_202A_202A_200B_206D_200C_202C_200D_200F_202B_206B_202E_202B_200C_200B_202B_200F_202E(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1931795628), internalName, 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(1283726812)); - goto IL_0562; - case 9: - _003CisLoadedProperty_003E5__5 = _202C_206D_202A_200D_200B_200E_202C_206B_206E_200D_206F_200C_202A_206E_206D_200D_206D_206A_200D_202E_202C_206A_206A_206C_206D_206A_200D_200B_206D_200D_200F_202B_202B_200F_202A_206C_202E_202D_206D_206B_202E(_003ClocalPluginType_003E5__4, 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(-904839146)) ?? throw _202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(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(-952438240)); - obj4 = _202E_202B_202A_206A_206A_200C_200C_206E_202E_202B_200D_206E_200B_202C_202C_200C_202B_200B_206E_200E_206D_200B_200D_200D_206D_206F_202B_206D_202B_206F_206A_202C_200D_202C_202A_202D_206F_206C_202C_202E(_003CisLoadedProperty_003E5__5, _003ClocalPlugin_003E5__3); - num2 = ((!(obj4 is bool)) ? (-219266628) : (-219266655)); - break; - case 20: - num2 = ((_003ClocalPlugin_003E5__3 != null) ? (-219266636) : (-219266652)); - break; - case 27: - array2[num17] = false; - num2 = -219266659; - break; - case 34: - type = _200F_206B_200D_206F_206A_202A_202B_202C_206D_200E_206B_206B_206E_206E_200D_206C_200B_206B_206E_206B_200D_200E_202B_202B_200E_200F_200B_206E_206F_202D_202C_202C_202C_206F_202A_206F_200D_206B_206F_200C_202E(array3[num17]); - num2 = ((!_206B_206A_206C_200C_202D_200E_206E_202B_206A_202A_206E_206F_200C_200E_206E_202E_200E_206E_200B_206E_202A_206E_202E_206F_202C_200C_206E_200E_206A_206F_202B_206A_202B_200B_206A_202E_206B_200B_200E_206E_202E(type, type2)) ? (-219266639) : (-219266638)); - break; - case 10: - result = true; - goto end_IL_0379; - case 30: - num13 = 0; - goto IL_0651; - case 5: - obj4 = _202E_202B_202A_206A_206A_200C_200C_206E_202E_202B_200D_206E_200B_202C_202C_200C_202B_200B_206E_200E_206D_200B_200D_200D_206D_206F_202B_206D_202B_206F_206A_202C_200D_202C_202A_202D_206F_206C_202C_202E(_206D_202A_202B_200C_206D_202D_202A_202E_206E_202A_202C_200F_202B_206C_206E_202E_206D_202A_206F_206F_200E_206A_206F_206C_200E_206F_200F_206B_206C_206E_206A_206E_206E_206F_200C_200E_200F_206B_202A_202D_202E(_003ClocalPluginType_003E5__4, 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(-592843582), BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) ?? throw _202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(2067190462)), _003ClocalPlugin_003E5__3); - num2 = ((!(obj4 is Guid)) ? (-219266629) : (-219266632)); - break; - case 16: - num2 = ((num6 != 1) ? (-219266648) : (-219266641)); - break; - case 33: - { - int num18 = num17; - num4 = 1; - num5 = num18; - num17 = (num5 | num4) + (num5 & num4); - num2 = -219266660; - break; - } - case 11: - num2 = ((num16 < array.Length) ? (-219266626) : (-219266635)); - break; - case 12: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(70, 2); - defaultInterpolatedStringHandler2.AppendLiteral(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(709905315)); - defaultInterpolatedStringHandler2.AppendFormatted(internalName); - defaultInterpolatedStringHandler2.AppendLiteral(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(-2030116922)); - defaultInterpolatedStringHandler2.AppendFormatted(thirdPartyRepoUrl ?? global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-889155816)); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1771580269)); - text2 = defaultInterpolatedStringHandler2.ToStringAndClear(); - goto IL_0562; - } - case 24: - num2 = ((num6 == 0) ? (-219266625) : (-219266640)); - break; - case 6: - array2[num17] = (_200C_200D_202E_202E_200E_200C_206A_206D_206C_206E_200E_200C_206D_206B_200B_202D_200D_206E_200B_206D_200D_200B_200D_200D_206D_200D_202D_206B_206C_202C_206E_200D_200D_200B_206E_202B_202B_202D_206F_206F_202E(array3[num17]) ? _200E_202B_206F_200C_200C_200C_202D_206B_200C_200B_202C_200F_206F_200C_200B_200C_202A_206C_206D_206A_200E_200E_200F_206C_200F_202A_200C_200C_202B_206A_202D_202B_206D_206D_200C_206E_206B_202B_200F_206A_202E(array3[num17]) : null); - num2 = -219266659; - break; - case 1: - result = true; - goto end_IL_0379; - case 4: - guid = (Guid)obj4; - num2 = -219266650; - break; - case 32: - num2 = ((num17 < array3.Length) ? (-219266658) : (-219266643)); - break; - case 17: - awaiter = _202E_206A_200F_200F_200D_206E_200D_200D_200F_200E_200B_206A_202D_200B_206C_200F_206D_200D_202E_206E_206A_202B_206D_200F_206F_202C_200E_206A_200D_202C_202B_206A_206B_206E_206D_200E_202C_202C_202E_206B_202E(((_206E_206E_200F_202A_206A_200C_206E_200F_200F_200E_200D_206B_206E_206D_206E_202C_200F_202C_202A_200D_202D_206B_200C_202B_202E_200E_200E_200C_202A_206F_202E_206A_206A_206C_200E_206B_202A_202C_200B_200E_202E((MethodBase)methodInfo, _003ClocalPlugin_003E5__3, array2) ?? throw _202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1001583693))) as Task) ?? throw _202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(796993768)), false).GetAwaiter(); - num2 = (awaiter.IsCompleted ? (-219266637) : (-219266647)); - break; - case 2: - { - text3 = array[num16]; - PropertyInfo propertyInfo2 = _206D_202A_202B_200C_206D_202D_202A_202E_206E_202A_202C_200F_202B_206C_206E_202E_206D_202A_206F_206F_200E_206A_206F_206C_200E_206F_200F_206B_206C_206E_206A_206E_206E_206F_200C_200E_200F_206B_202A_202D_202E(_003ClocalPluginType_003E5__4, text3, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); - obj4 = (((object)propertyInfo2 != null) ? _206B_202A_200C_206C_200C_202D_200D_202D_206E_206B_202E_206B_200C_200D_200D_206D_206D_202B_202C_200F_206A_200D_206E_206E_206C_202E_206F_200D_206F_200D_206A_202D_202A_202C_206C_202B_200F_200B_206D_202B_202E(propertyInfo2, _003ClocalPlugin_003E5__3) : null); - num2 = ((!(obj4 is bool)) ? (-219266664) : (-219266645)); - break; - } - case 22: - num2 = -219266644; - break; - case 26: - { - Type type3 = _202E_200B_202B_202E_202A_202B_202A_202E_202E_202D_200B_200D_202C_202B_206F_202C_202A_202C_202E_202E_202C_206C_200C_202B_202D_206B_202B_200C_200D_200E_200B_206D_200B_206F_206E_200D_206B_200B_200F_202E(_003Cassembly_003E5__2, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1664398343)) ?? throw _202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-933355142)); - object obj6 = _202A_206C_206E_206A_206D_206A_206C_206C_206F_200E_202D_202D_206C_202C_202C_200D_202B_200C_206E_200D_202A_202E_202A_200B_202D_202D_206C_200F_200D_200D_206F_206B_200C_202A_202D_206C_202D_200B_202D_202E_202E((MethodBase)(_200B_200B_200D_200C_200E_202A_200D_206E_202A_202C_206D_206F_202C_206E_206F_202B_200D_206D_206E_200D_206F_202D_206E_206B_200E_202A_200F_200B_200C_202C_206C_200D_202E_206D_206B_202B_200B_206F_202E(_206F_200F_206F_206A_202A_202C_200E_206E_202E_202B_200C_206B_200E_200E_206F_202E_206D_206B_202E_202C_200C_206A_202C_200B_202E_202D_202B_200F_202A_206F_200F_202B_206E_206F_202D_206E_206B_202D_200C_206E_202E(_202E_200B_202B_202E_202A_202B_202A_202E_202E_202D_200B_200D_202C_202B_206F_202C_202A_202C_202E_202E_202C_206C_200C_202B_202D_206B_202B_200C_200D_200E_200B_206D_200B_206F_206E_200D_206B_200B_200F_202E(_003Cassembly_003E5__2, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1909913745)) ?? throw _202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(2073227713)), new Type[1] { type3 }), global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(619471143)) ?? throw _202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-2972004))), (object)null, BindingFlags.Default, (Binder)null, Array.Empty(), (CultureInfo)null) ?? throw _202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-555459542)); - object obj7 = _202E_202B_202A_206A_206A_200C_200C_206E_202E_202B_200D_206E_200B_202C_202C_200C_202B_200B_206E_200E_206D_200B_200D_200D_206D_206F_202B_206D_202B_206F_206A_202C_200D_202C_202A_202D_206F_206C_202C_202E(_206D_202A_202B_200C_206D_202D_202A_202E_206E_202A_202C_200F_202B_206C_206E_202E_206D_202A_206F_206F_200E_206A_206F_206C_200E_206F_200F_206B_206C_206E_206A_206E_206E_206F_200C_200E_200F_206B_202A_202D_202E(type3, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-420103450), BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) ?? throw _202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1512306431)), obj6) ?? throw _202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(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(-1036682349)); - awaiter = _202E_206A_200F_200F_200D_206E_200D_200D_200F_200E_200B_206A_202D_200B_206C_200F_206D_200D_202E_206E_206A_202B_206D_200F_206F_202C_200E_206A_200D_202C_202B_206A_206B_206E_206D_200E_202C_202C_202E_206B_202E(((_206E_206E_200F_202A_206A_200C_206E_200F_200F_200E_200D_206B_206E_206D_206E_202C_200F_202C_202A_200D_202D_206B_200C_202B_202E_200E_200E_200C_202A_206F_202E_206A_206A_206C_200E_206B_202A_202C_200B_200E_202E((MethodBase)(_206D_206C_206F_202A_202B_206E_200B_206B_200C_206E_200F_202E_202A_202C_206F_202A_202D_206A_200D_200F_200E_206F_202D_206D_202A_206D_206F_206F_206E_206C_206D_206B_206D_206E_202B_200D_202A_202E_202D_206D_202E(_202B_206E_206C_206A_202A_202C_202E_206C_206B_206B_200F_200D_202B_202A_200E_200C_206F_206E_202E_200D_206E_206D_202B_202D_206A_202D_200E_200F_200E_206B_206B_200E_206C_206E_200B_206E_206E_206B_206A_202D_202E(obj7), global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(2080206550), BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) ?? throw _202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(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(793866729))), obj7, new object[4] { guid, internalName, true, false }) ?? throw _202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(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(-86444387))) as Task) ?? throw _202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(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(480378918)), false).GetAwaiter(); - num2 = (awaiter.IsCompleted ? (-219266653) : (-219266656)); - break; - } - case 31: - awaiter.GetResult(); - type2 = _202E_200B_202B_202E_202A_202B_202A_202E_202E_202D_200B_200D_202C_202B_206F_202C_202A_202C_202E_202E_202C_206C_200C_202B_202D_206B_202B_200C_200D_200E_200B_206D_200B_206F_206E_200D_206B_200B_200F_202E(_003Cassembly_003E5__2, 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(185084398)) ?? throw _202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(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(303708542)); - obj5 = _200B_206E_200C_202B_200F_206A_202E_200E_200E_202C_202E_202C_200F_202B_200E_206A_202B_200B_202E_206F_206F_200E_206D_206B_200B_206D_206C_200C_202B_206C_200E_202A_202A_202B_206D_206C_202E_206C_206C_202D_202E(type2, 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(-302107944)); - methodInfo = _206D_206C_206F_202A_202B_206E_200B_206B_200C_206E_200F_202E_202A_202C_206F_202A_202D_206A_200D_200F_200E_206F_202D_206D_202A_206D_206F_206F_206E_206C_206D_206B_206D_206E_202B_200D_202A_202E_202D_206D_202E(_003ClocalPluginType_003E5__4, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-226194717), BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) ?? throw _202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(67221465)); - array3 = _200C_202C_200E_206B_200B_206A_200E_206B_202E_202D_202C_202B_206A_206A_202C_206F_202E_200B_206F_202D_206C_200D_206B_206F_202B_206E_206E_206F_202D_206E_200D_206D_206E_206E_202D_200D_206B_202D_202C_200D_202E((MethodBase)methodInfo); - array2 = new object[array3.Length]; - num17 = 0; - num2 = -219266660; - break; - case 28: - num = (_003C_003E1__state = 0); - _003C_003Eu__1 = awaiter; - _003C_003Et__builder.AwaitUnsafeOnCompleted(ref awaiter, ref this); - return; - case 8: - _003ClocalPluginType_003E5__4 = _202B_206E_206C_206A_202A_202C_202E_206C_206B_206B_200F_200D_202B_202A_200E_200C_206F_206E_202E_200D_206E_206D_202B_202D_206A_202D_200E_200F_200E_206B_206B_200E_206C_206E_200B_206E_206E_206B_206A_202D_202E(_003ClocalPlugin_003E5__3); - array = new string[4] - { - 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(510149799), - 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(-1905938056), - 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(-315909297), - global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(840433285) - }; - num16 = 0; - num2 = -219266633; - break; - case 19: - _003ClocalPlugin_003E5__3 = obj2; - num2 = -219266648; - break; - case 23: - num2 = ((!(bool)obj4) ? (-219266664) : (-219266657)); - break; - case 15: - awaiter.GetResult(); - obj4 = _202E_202B_202A_206A_206A_200C_200C_206E_202E_202B_200D_206E_200B_202C_202C_200C_202B_200B_206E_200E_206D_200B_200D_200D_206D_206F_202B_206D_202B_206F_206A_202C_200D_202C_202A_202D_206F_206C_202C_202E(_003CisLoadedProperty_003E5__5, _003ClocalPlugin_003E5__3); - num2 = ((!(obj4 is bool)) ? (-219266654) : (-219266651)); - break; - case 36: - { - int num15 = num16; - num4 = 1; - num5 = num15; - num16 = (num5 | num4) + (num5 & num4); - num2 = -219266633; - break; - } - case 29: - flag = (bool)obj4; - num14 = 1; - goto IL_04fe; - case 13: - num2 = ((!_206B_206A_206C_200C_202D_200E_206E_202B_206A_202A_206E_206F_200C_200E_206E_202E_200E_206E_200B_206E_202A_206E_202E_206F_202C_200C_206E_200E_206A_206F_202B_206A_202B_200B_206A_202E_206B_200B_200E_206E_202E(type, _202A_206E_206D_200E_202D_202B_206C_202B_200D_200D_200D_200B_202D_200F_206B_206F_200B_206E_202A_200C_200D_200F_206F_202E_200E_206E_202E_200D_206B_202C_200E_200B_206C_206F_206D_202B_200B_200B_206E_200D_202E(typeof(bool).TypeHandle))) ? (-219266630) : (-219266649)); - break; - case 25: - { - _003CloadedAfter_003E5__6 = (bool)obj4; - num13 = 1; - goto IL_0651; - } - IL_0562: - throw _202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(text2); - IL_04fe: - num2 = ((((uint)num14 & (flag ? 1u : 0u)) == 0) ? (-219266631) : (-219266634)); - break; - IL_0651: - num2 = ((((uint)num13 & (_003CloadedAfter_003E5__6 ? 1u : 0u)) == 0) ? (-219266642) : (-219266627)); - break; - } - continue; - end_IL_0379: - break; - } - } - catch (Exception exception) - { - _003C_003E1__state = -2; - _003Cassembly_003E5__2 = null; - _003ClocalPlugin_003E5__3 = null; - _003ClocalPluginType_003E5__4 = null; - _003CisLoadedProperty_003E5__5 = null; - _003C_003Et__builder.SetException(exception); - return; - } - _003C_003E1__state = -2; - _003Cassembly_003E5__2 = null; - _003ClocalPlugin_003E5__3 = null; - _003ClocalPluginType_003E5__4 = null; - _003CisLoadedProperty_003E5__5 = null; - _003C_003Et__builder.SetResult(result); - } - - void IAsyncStateMachine.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - this.MoveNext(); - } - - [DebuggerHidden] - private void SetStateMachine(IAsyncStateMachine stateMachine) - { - _003C_003Et__builder.SetStateMachine(stateMachine); - } - - void IAsyncStateMachine.SetStateMachine(IAsyncStateMachine stateMachine) - { - //ILSpy generated this explicit interface implementation from .override directive in SetStateMachine - this.SetStateMachine(stateMachine); - } - - static Type _202B_206E_206C_206A_202A_202C_202E_206C_206B_206B_200F_200D_202B_202A_200E_200C_206F_206E_202E_200D_206E_206D_202B_202D_206A_202D_200E_200F_200E_206B_206B_200E_206C_206E_200B_206E_206E_206B_206A_202D_202E(object P_0) - { - return P_0.GetType(); - } - - static Assembly _202B_202C_206B_206B_206C_206D_206D_206B_206F_202A_202B_200B_206A_202A_206D_200D_202C_206B_202D_202D_202B_206B_206F_200C_202D_206D_206B_206B_202D_206D_202C_200C_206C_202A_202E_206D_200E_200F_206E_200D_202E(Type P_0) - { - return P_0.Assembly; - } - - static PropertyInfo _202C_206D_202A_200D_200B_200E_202C_206B_206E_200D_206F_200C_202A_206E_206D_200D_206D_206A_200D_202E_202C_206A_206A_206C_206D_206A_200D_200B_206D_200D_200F_202B_202B_200F_202A_206C_202E_202D_206D_206B_202E(Type P_0, string P_1) - { - return P_0.GetProperty(P_1); - } - - static InvalidOperationException _202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(string P_0) - { - return new InvalidOperationException(P_0); - } - - static object _202E_202B_202A_206A_206A_200C_200C_206E_202E_202B_200D_206E_200B_202C_202C_200C_202B_200B_206E_200E_206D_200B_200D_200D_206D_206F_202B_206D_202B_206F_206A_202C_200D_202C_202A_202D_206F_206C_202C_202E(PropertyInfo P_0, object P_1) - { - return P_0.GetValue(P_1); - } - - static IEnumerator _206B_206D_202C_206B_200B_206F_202A_206B_202A_206D_200F_202B_200D_206A_200B_200D_202D_202B_200F_206C_206C_206D_202C_200F_202E_200F_202B_200D_206B_200B_202E_206E_206A_206B_202E_202E_206F_200C_200B_206B_202E(IEnumerable P_0) - { - return P_0.GetEnumerator(); - } - - static object _206C_202A_206F_202B_200B_206F_206D_202D_200D_200B_200F_206E_200C_202E_202A_200C_200F_202C_206D_202B_206E_206F_200D_206B_200E_206A_206E_202A_200F_200B_202A_206C_202C_202E_206E_206D_200B_202A_206B_200E_202E(IEnumerator P_0) - { - return P_0.Current; - } - - static PropertyInfo _206D_202A_202B_200C_206D_202D_202A_202E_206E_202A_202C_200F_202B_206C_206E_202E_206D_202A_206F_206F_200E_206A_206F_206C_200E_206F_200F_206B_206C_206E_206A_206E_206E_206F_200C_200E_200F_206B_202A_202D_202E(Type P_0, string P_1, BindingFlags P_2) - { - return P_0.GetProperty(P_1, P_2); - } - - static bool _206B_206B_202C_206D_202D_200E_202B_202B_200C_200D_200F_206A_202C_206C_202B_206B_206D_202B_206C_200F_202B_202C_206E_200E_200F_200F_202D_200E_206D_200C_202D_206B_206A_206F_206A_200D_206B_200C_206D_206C_202E(PropertyInfo P_0, PropertyInfo P_1) - { - return P_0 == P_1; - } - - static bool _206B_206C_200D_202B_202D_202B_200D_200D_200E_206D_200B_206A_206B_202A_206E_202C_206A_202E_202D_202D_202B_206B_206A_202C_206F_202A_200C_200D_202C_200B_200D_202B_200B_202D_206B_200D_200C_200F_202E_206C_202E(string P_0, string P_1) - { - return P_0 != P_1; - } - - static bool _202A_206F_206C_202A_200F_202C_206A_200B_202A_206B_206A_202B_202E_202B_202C_206A_202E_202D_206F_202D_200E_206F_206A_206A_202B_206C_200D_200E_202E_202E_202A_206A_206B_206F_202E_200E_200D_206F_206B_200F_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200E_200E_202C_202B_200B_200D_202B_202E_206F_200F_202E_200C_206A_202D_206E_202E_202D_200C_202B_202D_206A_202E_200D_200B_200F_202B_200B_202D_200D_202C_206D_206C_202C_202B_202C_206A_200B_202B_206F_206A_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static string _200F_200F_202C_200E_202B_200D_206B_200C_206F_206F_206F_200E_200F_200D_206C_206A_202C_202C_200E_206A_206A_202D_200B_200B_202A_202A_200B_206D_200C_202C_200D_200F_202B_206B_202E_202B_200C_200B_202B_200F_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static object _206B_202A_200C_206C_200C_202D_200D_202D_206E_206B_202E_206B_200C_200D_200D_206D_206D_202B_202C_200F_206A_200D_206E_206E_206C_202E_206F_200D_206F_200D_206A_202D_202A_202C_206C_202B_200F_200B_206D_202B_202E(PropertyInfo P_0, object P_1) - { - return P_0.GetValue(P_1); - } - - static Type _202E_200B_202B_202E_202A_202B_202A_202E_202E_202D_200B_200D_202C_202B_206F_202C_202A_202C_202E_202E_202C_206C_200C_202B_202D_206B_202B_200C_200D_200E_200B_206D_200B_206F_206E_200D_206B_200B_200F_202E(Assembly P_0, string P_1) - { - return P_0.GetType(P_1); - } - - static Type _206F_200F_206F_206A_202A_202C_200E_206E_202E_202B_200C_206B_200E_200E_206F_202E_206D_206B_202E_202C_200C_206A_202C_200B_202E_202D_202B_200F_202A_206F_200F_202B_206E_206F_202D_206E_206B_202D_200C_206E_202E(Type P_0, Type[] P_1) - { - return P_0.MakeGenericType(P_1); - } - - static MethodInfo _200B_200B_200D_200C_200E_202A_200D_206E_202A_202C_206D_206F_202C_206E_206F_202B_200D_206D_206E_200D_206F_202D_206E_206B_200E_202A_200F_200B_200C_202C_206C_200D_202E_206D_206B_202B_200B_206F_202E(Type P_0, string P_1) - { - return P_0.GetMethod(P_1); - } - - static object _202A_206C_206E_206A_206D_206A_206C_206C_206F_200E_202D_202D_206C_202C_202C_200D_202B_200C_206E_200D_202A_202E_202A_200B_202D_202D_206C_200F_200D_200D_206F_206B_200C_202A_202D_206C_202D_200B_202D_202E_202E(MethodBase P_0, object P_1, BindingFlags P_2, Binder P_3, object[] P_4, CultureInfo P_5) - { - return P_0.Invoke(P_1, P_2, P_3, P_4, P_5); - } - - static MethodInfo _206D_206C_206F_202A_202B_206E_200B_206B_200C_206E_200F_202E_202A_202C_206F_202A_202D_206A_200D_200F_200E_206F_202D_206D_202A_206D_206F_206F_206E_206C_206D_206B_206D_206E_202B_200D_202A_202E_202D_206D_202E(Type P_0, string P_1, BindingFlags P_2) - { - return P_0.GetMethod(P_1, P_2); - } - - static object _206E_206E_200F_202A_206A_200C_206E_200F_200F_200E_200D_206B_206E_206D_206E_202C_200F_202C_202A_200D_202D_206B_200C_202B_202E_200E_200E_200C_202A_206F_202E_206A_206A_206C_200E_206B_202A_202C_200B_200E_202E(MethodBase P_0, object P_1, object[] P_2) - { - return P_0.Invoke(P_1, P_2); - } - - static ConfiguredTaskAwaitable _202E_206A_200F_200F_200D_206E_200D_200D_200F_200E_200B_206A_202D_200B_206C_200F_206D_200D_202E_206E_206A_202B_206D_200F_206F_202C_200E_206A_200D_202C_202B_206A_206B_206E_206D_200E_202C_202C_202E_206B_202E(Task P_0, bool P_1) - { - return P_0.ConfigureAwait(P_1); - } - - static object _200B_206E_200C_202B_200F_206A_202E_200E_200E_202C_202E_202C_200F_202B_200E_206A_202B_200B_202E_206F_206F_200E_206D_206B_200B_206D_206C_200C_202B_206C_200E_202A_202A_202B_206D_206C_202E_206C_206C_202D_202E(Type P_0, string P_1) - { - return Enum.Parse(P_0, P_1); - } - - static ParameterInfo[] _200C_202C_200E_206B_200B_206A_200E_206B_202E_202D_202C_202B_206A_206A_202C_206F_202E_200B_206F_202D_206C_200D_206B_206F_202B_206E_206E_206F_202D_206E_200D_206D_206E_206E_202D_200D_206B_202D_202C_200D_202E(MethodBase P_0) - { - return P_0.GetParameters(); - } - - static Type _200F_206B_200D_206F_206A_202A_202B_202C_206D_200E_206B_206B_206E_206E_200D_206C_200B_206B_206E_206B_200D_200E_202B_202B_200E_200F_200B_206E_206F_202D_202C_202C_202C_206F_202A_206F_200D_206B_206F_200C_202E(ParameterInfo P_0) - { - return P_0.ParameterType; - } - - static bool _206B_206A_206C_200C_202D_200E_206E_202B_206A_202A_206E_206F_200C_200E_206E_202E_200E_206E_200B_206E_202A_206E_202E_206F_202C_200C_206E_200E_206A_206F_202B_206A_202B_200B_206A_202E_206B_200B_200E_206E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - - static Type _202A_206E_206D_200E_202D_202B_206C_202B_200D_200D_200D_200B_202D_200F_206B_206F_200B_206E_202A_200C_200D_200F_206F_202E_200E_206E_202E_200D_206B_202C_200E_200B_206C_206F_206D_202B_200B_200B_206E_200D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static bool _200C_200D_202E_202E_200E_200C_206A_206D_206C_206E_200E_200C_206D_206B_200B_202D_200D_206E_200B_206D_200D_200B_200D_200D_206D_200D_202D_206B_206C_202C_206E_200D_200D_200B_206E_202B_202B_202D_206F_206F_202E(ParameterInfo P_0) - { - return P_0.HasDefaultValue; - } - - static object _200E_202B_206F_200C_200C_200C_202D_206B_200C_200B_202C_200F_206F_200C_200B_200C_202A_206C_206D_206A_200E_200E_200F_206C_200F_202A_200C_200C_202B_206A_202D_202B_206D_206D_200C_206E_206B_202B_200F_206A_202E(ParameterInfo P_0) - { - return P_0.DefaultValue; - } - } - - [StructLayout(LayoutKind.Auto)] - [CompilerGenerated] - private struct _003CInvokeReloadAsync_003Ed__13 : IAsyncStateMachine - { - public int _003C_003E1__state; - - public AsyncTaskMethodBuilder _003C_003Et__builder; - - public MethodInfo reloadMethod; - - public object pluginManager; - - private ConfiguredTaskAwaitable.ConfiguredTaskAwaiter _003C_003Eu__1; - - [MethodImpl(MethodImplOptions.NoInlining)] - private void MoveNext() - { - int num = _003C_003E1__state; - try - { - int num2 = ((num == 0) ? (-99592063) : (-99592058)); - ConfiguredTaskAwaitable.ConfiguredTaskAwaiter awaiter = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - while (true) - { - int num3 = num2; - int num4 = -99592059; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 1: - num = (_003C_003E1__state = 0); - _003C_003Eu__1 = awaiter; - _003C_003Et__builder.AwaitUnsafeOnCompleted(ref awaiter, ref this); - return; - case 4: - awaiter = _003C_003Eu__1; - _003C_003Eu__1 = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - num = (_003C_003E1__state = -1); - num2 = -99592057; - break; - case 0: - num2 = -99592058; - break; - case 3: - awaiter = _200E_206A_200B_200D_202D_206B_202D_202C_200F_206B_200F_200E_206C_200F_206C_200F_202A_206C_206B_200C_202E_200B_206E_206E_206C_202D_202B_202A_202C_206C_200C_202E_202D_200F_202B_200D_206F_200E_206B_202A_202E(((Task)_202D_206C_206C_200E_200B_206C_206B_206F_200D_206B_206D_202C_206D_200E_206C_200C_206B_200C_206C_202C_202D_206F_206B_202D_206B_202C_200C_202A_206C_206D_206C_200B_200C_200E_200C_206E_202E_206D_206A_206A_202E((MethodBase)reloadMethod, pluginManager, new object[1] { true })) ?? throw _202A_202B_200C_202E_200D_200D_206F_200F_200E_206C_206F_206D_200C_206A_202B_206B_200F_202C_200B_200B_200F_202B_200F_206F_206E_206C_200D_202A_200F_206C_200B_200E_206E_206B_202A_200C_206C_200B_206E_206D_202E(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(-7195696)), false).GetAwaiter(); - num2 = (awaiter.IsCompleted ? (-99592057) : (-99592060)); - break; - case 2: - awaiter.GetResult(); - goto end_IL_0025; - } - continue; - end_IL_0025: - break; - } - } - catch (Exception exception) - { - _003C_003E1__state = -2; - _003C_003Et__builder.SetException(exception); - return; - } - _003C_003E1__state = -2; - _003C_003Et__builder.SetResult(); - } - - void IAsyncStateMachine.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - this.MoveNext(); - } - - [DebuggerHidden] - private void SetStateMachine(IAsyncStateMachine stateMachine) - { - _003C_003Et__builder.SetStateMachine(stateMachine); - } - - void IAsyncStateMachine.SetStateMachine(IAsyncStateMachine stateMachine) - { - //ILSpy generated this explicit interface implementation from .override directive in SetStateMachine - this.SetStateMachine(stateMachine); - } - - static object _202D_206C_206C_200E_200B_206C_206B_206F_200D_206B_206D_202C_206D_200E_206C_200C_206B_200C_206C_202C_202D_206F_206B_202D_206B_202C_200C_202A_206C_206D_206C_200B_200C_200E_200C_206E_202E_206D_206A_206A_202E(MethodBase P_0, object P_1, object[] P_2) - { - return P_0.Invoke(P_1, P_2); - } - - static InvalidOperationException _202A_202B_200C_202E_200D_200D_206F_200F_200E_206C_206F_206D_200C_206A_202B_206B_200F_202C_200B_200B_200F_202B_200F_206F_206E_206C_200D_202A_200F_206C_200B_200E_206E_206B_202A_200C_206C_200B_206E_206D_202E(string P_0) - { - return new InvalidOperationException(P_0); - } - - static ConfiguredTaskAwaitable _200E_206A_200B_200D_202D_206B_202D_202C_200F_206B_200F_200E_206C_200F_206C_200F_202A_206C_206B_200C_202E_200B_206E_206E_206C_202D_202B_202A_202C_206C_200C_202E_202D_200F_202B_200D_206F_200E_206B_202A_202E(Task P_0, bool P_1) - { - return P_0.ConfigureAwait(P_1); - } - } - private readonly IDalamudPluginInterface _pluginInterface; private readonly IPluginLog _pluginLog; @@ -1100,1869 +24,554 @@ public sealed class DalamudReflector : IDisposable private int _cacheVersion; - [MethodImpl(MethodImplOptions.NoInlining)] public DalamudReflector(IDalamudPluginInterface pluginInterface, IFramework framework, IPluginLog pluginLog) { - _206B_200C_202D_200D_202D_206A_206F_202D_202B_200F_206F_206D_206C_202E_206E_206A_200C_202A_206F_202A_200E_202D_206E_202C_206A_206A_200D_200C_202E_206B_206C_202A_206C_200D_202E_206B_202C_206B_202B_206F_202E((object)pluginInterface, 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(766607579)); - _206B_200C_202D_200D_202D_206A_206F_202D_202B_200F_206F_206D_206C_202E_206E_206A_200C_202A_206F_202A_200E_202D_206E_202C_206A_206A_200D_200C_202E_206B_206C_202A_206C_200D_202E_206B_202C_206B_202B_206F_202E((object)framework, 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(-1938330958)); - _206B_200C_202D_200D_202D_206A_206F_202D_202B_200F_206F_206D_206C_202E_206E_206A_200C_202A_206F_202A_200E_202D_206E_202C_206A_206A_200D_200C_202E_206B_206C_202A_206C_200D_202E_206B_202C_206B_202B_206F_202E((object)pluginLog, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-2117874046)); + ArgumentNullException.ThrowIfNull(pluginInterface, "pluginInterface"); + ArgumentNullException.ThrowIfNull(framework, "framework"); + ArgumentNullException.ThrowIfNull(pluginLog, "pluginLog"); _pluginInterface = pluginInterface; _pluginLog = pluginLog; _pluginManager = GetPluginManager(); - _202C_206A_202C_206C_200F_202D_200B_200D_202D_200B_202A_206F_200E_200D_202A_206F_206C_200E_200F_202E_202A_206F_200C_200F_200C_206C_202D_202B_200D_206F_202D_202A_202B_200D_206D_202B_200E_206E_202E_202B_202E(_202C_202B_202D_200C_202D_206F_202E_206B_202E_202C_206E_202E_200E_202D_202D_206B_202E_202E_206B_206A_202D_202A_206F_202B_202B_202B_200E_200F_206E_202C_206E_202E_200E_206E_206F_202B_202C_202D_206D_200D_202E(_202E_206D_200C_206B_202C_200F_206C_206A_206D_206F_206C_202B_202B_200E_206D_202A_206A_202B_202C_206E_206A_200B_200C_200C_206E_200C_206D_202C_206D_202B_200C_206E_206A_206F_200E_202A_202E_200D_206D_206A_202E(_pluginManager), global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(61100902)) ?? throw _202D_206D_202E_200D_202C_202B_206A_200F_200B_206D_200D_202E_200D_202E_202A_200F_202B_202C_202D_206A_206C_200D_206B_206B_200B_202C_206F_206B_200E_202C_200C_202B_202B_206C_206D_206C_200E_200D_202D_206B_202E(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(704518146)), _pluginManager, (Delegate)new Action(OnInstalledPluginsChanged)); + (_pluginManager.GetType().GetEvent("OnInstalledPluginsChanged") ?? throw new InvalidOperationException("Could not find OnInstalledPluginsChanged event - Dalamud internals may have changed")).AddEventHandler(_pluginManager, new Action(OnInstalledPluginsChanged)); } - [MethodImpl(MethodImplOptions.NoInlining)] public void Dispose() { try { - EventInfo eventInfo = _202C_202B_202D_200C_202D_206F_202E_206B_202E_202C_206E_202E_200E_202D_202D_206B_202E_202E_206B_206A_202D_202A_206F_202B_202B_202B_200E_200F_206E_202C_206E_202E_200E_206E_206F_202B_202C_202D_206D_200D_202E(_202E_206D_200C_206B_202C_200F_206C_206A_206D_206F_206C_202B_202B_200E_206D_202A_206A_202B_202C_206E_206A_200B_200C_200C_206E_200C_206D_202C_206D_202B_200C_206E_206A_206F_200E_202A_202E_200D_206D_206A_202E(_pluginManager), 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(901875249)); - if ((object)eventInfo != null) + _pluginManager.GetType().GetEvent("OnInstalledPluginsChanged")?.RemoveEventHandler(_pluginManager, new Action(OnInstalledPluginsChanged)); + } + catch (Exception exception) + { + _pluginLog.Warning(exception, "[DalamudReflector] Failed to unhook OnInstalledPluginsChanged"); + } + } + + private object GetPluginManager() + { + Assembly assembly = _pluginInterface.GetType().Assembly; + Type type = assembly.GetType("Dalamud.Service`1") ?? throw new InvalidOperationException("Could not find Dalamud.Service`1 type - Dalamud internals may have changed"); + Type type2 = assembly.GetType("Dalamud.Plugin.Internal.PluginManager") ?? throw new InvalidOperationException("Could not find Dalamud.Plugin.Internal.PluginManager type - Dalamud internals may have changed"); + return (type.MakeGenericType(type2).GetMethod("Get") ?? throw new InvalidOperationException("Could not find Service.Get() method - Dalamud internals may have changed")).Invoke(null, BindingFlags.Default, null, Array.Empty(), null) ?? throw new InvalidOperationException("Service.Get() returned null"); + } + + public bool TryGetDalamudPlugin(string internalName, [MaybeNullWhen(false)] out object instance, bool suppressErrors = false, bool ignoreCache = false) + { + if (!ignoreCache && _pluginCache.TryGetValue(internalName, out instance)) + { + return true; + } + try + { + int num = Volatile.Read(in _cacheVersion); + object pluginManager = GetPluginManager(); + IEnumerable plugins = (IEnumerable)((pluginManager.GetType().GetProperty("InstalledPlugins") ?? throw new InvalidOperationException("Could not find InstalledPlugins property - Dalamud internals may have changed")).GetValue(pluginManager) ?? throw new InvalidOperationException("InstalledPlugins returned null")); + bool warnedNullInstance = false; + if (TryFindByProperty(plugins, "InternalName", out var found) || TryFindByProperty(plugins, "Name", out found)) { - _200E_206A_200C_206C_200C_200C_206A_202B_206E_202E_206B_200F_206F_206E_200E_200C_202E_200D_202E_206C_202B_206F_200B_206B_206C_202C_200D_202D_206E_200F_200D_200D_202D_206B_200E_202D_206B_202D_206F_206C_202E(eventInfo, _pluginManager, (Delegate)new Action(OnInstalledPluginsChanged)); + instance = found; + if (Volatile.Read(in _cacheVersion) == num) + { + _pluginCache[internalName] = found; + if (Volatile.Read(in _cacheVersion) != num) + { + _pluginCache.TryRemove(internalName, out object _); + } + } + return true; + } + instance = null; + return false; + bool TryFindByProperty(IEnumerable enumerable, string propertyName, [MaybeNullWhen(false)] out object reference) + { + foreach (object item in enumerable) + { + PropertyInfo property = item.GetType().GetProperty(propertyName); + if (!(property == null) && !((string)property.GetValue(item) != internalName)) + { + object obj = (((item.GetType().Name == "LocalDevPlugin") ? item.GetType().BaseType : item.GetType())?.GetField("instance", BindingFlags.Instance | BindingFlags.NonPublic))?.GetValue(item); + if (obj != null) + { + reference = obj; + return true; + } + if (!suppressErrors && !warnedNullInstance) + { + warnedNullInstance = true; + _pluginLog.Warning("[DalamudReflector] Found requested plugin " + internalName + " but it was null"); + } + } + } + reference = null; + return false; } } catch (Exception ex) { - _200D_202D_206F_200C_206E_202A_202B_200E_202C_202B_206E_202A_202D_206D_202D_200D_202C_206A_202A_202E_206F_206C_206D_202C_202B_206B_206F_202D_202A_202C_206A_202A_202E_206F_202D_202C_206C_206C_200E_206A_202E(_pluginLog, ex, 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(-1858220140), Array.Empty()); - } - } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private object GetPluginManager() - { - Assembly assembly = _200F_202E_200B_202A_200B_202C_206F_200D_202A_200D_200B_206D_200F_206A_200C_206C_202B_202E_202D_206D_202C_202E_200E_206F_200F_200C_202D_202D_206D_200F_200F_200C_206B_206F_200D_206B_200E_202A_200D_202D_202E(_202E_206D_200C_206B_202C_200F_206C_206A_206D_206F_206C_202B_202B_200E_206D_202A_206A_202B_202C_206E_206A_200B_200C_200C_206E_200C_206D_202C_206D_202B_200C_206E_206A_206F_200E_202A_202E_200D_206D_206A_202E((object)_pluginInterface)); - Type type = _202A_206F_206D_200B_200D_202B_200B_202B_202D_200E_202A_206D_202D_202E_206A_206E_206C_200D_206C_200D_202B_206E_202B_200B_200E_206D_206D_200E_200C_200B_206D_206F_200D_200D_202D_200D_206C_206B_202C_202A_202E(assembly, 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(-986462569)) ?? throw _202D_206D_202E_200D_202C_202B_206A_200F_200B_206D_200D_202E_200D_202E_202A_200F_202B_202C_202D_206A_206C_200D_206B_206B_200B_202C_206F_206B_200E_202C_200C_202B_202B_206C_206D_206C_200E_200D_202D_206B_202E(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(2104843711)); - Type type2 = _202A_206F_206D_200B_200D_202B_200B_202B_202D_200E_202A_206D_202D_202E_206A_206E_206C_200D_206C_200D_202B_206E_202B_200B_200E_206D_206D_200E_200C_200B_206D_206F_200D_200D_202D_200D_206C_206B_202C_202A_202E(assembly, 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(-99944467)) ?? throw _202D_206D_202E_200D_202C_202B_206A_200F_200B_206D_200D_202E_200D_202E_202A_200F_202B_202C_202D_206A_206C_200D_206B_206B_200B_202C_206F_206B_200E_202C_200C_202B_202B_206C_206D_206C_200E_200D_202D_206B_202E(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(-1767393178)); - return _206D_200D_200B_206A_202A_206C_202A_202B_206C_200E_206E_200E_202E_206F_200E_206C_206A_202C_206C_202E_202B_206D_200B_206F_200C_202B_206C_200F_202C_200C_200C_206E_206E_200B_206C_200D_206C_206C_206E_206E_202E((MethodBase)(_200D_200E_200B_202D_206D_202E_200B_200D_202D_200D_200B_206B_202C_200B_202E_202C_202A_206F_202B_200F_200D_202A_202A_200D_200B_200C_202C_202A_206F_206C_200C_202B_206A_206A_202A_206E_206B_202D_206C_206C_202E(_206E_206A_200C_202D_206B_202B_206B_202A_206A_206D_202A_206D_206B_200C_200E_206E_206E_202E_202A_206E_206F_202C_202A_206A_202B_206C_200B_200C_200D_202C_206D_200D_200C_206C_200E_202B_200D_206D_202C_202E(type, new Type[1] { type2 }), 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(584300081)) ?? throw _202D_206D_202E_200D_202C_202B_206A_200F_200B_206D_200D_202E_200D_202E_202A_200F_202B_202C_202D_206A_206C_200D_206B_206B_200B_202C_206F_206B_200E_202C_200C_202B_202B_206C_206D_206C_200E_200D_202D_206B_202E(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(1719334999))), (object)null, BindingFlags.Default, (Binder)null, Array.Empty(), (CultureInfo)null) ?? throw _202D_206D_202E_200D_202C_202B_206A_200F_200B_206D_200D_202E_200D_202E_202A_200F_202B_202C_202D_206A_206C_200D_206B_206B_200B_202C_206F_206B_200E_202C_200C_202B_202B_206C_206D_206C_200E_200D_202D_206B_202E(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(-1317436628)); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - public bool TryGetDalamudPlugin(string internalName, [MaybeNullWhen(false)] out object instance, bool suppressErrors = false, bool ignoreCache = false) - { - int num = (ignoreCache ? 733685784 : 733685787); - while (true) - { - int num2 = num; - int num3 = 733685786; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (!suppressErrors) { - case 3: - return true; - case 1: - num = ((!_pluginCache.TryGetValue(internalName, out instance)) ? 733685784 : 733685785); - break; - case 0: - num = 733685787; - break; - case 2: - try - { - int num7 = _202D_202C_206B_206C_202E_206D_200B_202E_206F_206B_200F_206E_206D_200D_206A_206A_202A_206C_200B_206B_200F_200F_206B_200E_202C_202B_200F_200B_206D_206E_200D_200B_206B_200B_206D_202A_200C_202A_202D_206F_202E(ref _cacheVersion); - object pluginManager = GetPluginManager(); - IEnumerable plugins = (IEnumerable)(_200F_200E_202E_202C_202C_200F_200F_206E_202A_200E_200E_206B_200F_200B_206D_202A_206C_206C_206C_206A_200D_200E_200F_202E_206F_206B_206D_200C_206E_202E_206B_200C_206B_200E_202E_206D_202B_200F_200D_200D_202E(_206C_200B_202A_206D_206E_206B_206A_200D_200E_200D_200C_202E_202A_200E_202E_206A_206B_200B_200C_202B_200D_206D_202B_202C_202C_206B_206D_206D_202E_206A_202E_200D_206C_202E_200B_202A_206A_200D_206C_202D_202E(_202E_206D_200C_206B_202C_200F_206C_206A_206D_206F_206C_202B_202B_200E_206D_202A_206A_202B_202C_206E_206A_200B_200C_200C_206E_200C_206D_202C_206D_202B_200C_206E_206A_206F_200E_202A_202E_200D_206D_206A_202E(pluginManager), global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1507868704)) ?? throw _202D_206D_202E_200D_202C_202B_206A_200F_200B_206D_200D_202E_200D_202E_202A_200F_202B_202C_202D_206A_206C_200D_206B_206B_200B_202C_206F_206B_200E_202C_200C_202B_202B_206C_206D_206C_200E_200D_202D_206B_202E(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(-1553385684)), pluginManager) ?? throw _202D_206D_202E_200D_202C_202B_206A_200F_200B_206D_200D_202E_200D_202E_202A_200F_202B_202C_202D_206A_206C_200D_206B_206B_200B_202C_206F_206B_200E_202C_200C_202B_202B_206C_206D_206C_200E_200D_202D_206B_202E(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(-169322018))); - bool warnedNullInstance = false; - num = (TryFindByProperty(plugins, 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(1471187825), out var found) ? 1267877679 : 1267877678); - while (true) - { - int num8 = num; - num3 = 1267877674; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 2: - return true; - case 5: - instance = found; - num = ((_202D_202C_206B_206C_202E_206D_200B_202E_206F_206B_200F_206E_206D_200D_206A_206A_202A_206C_200B_206B_200F_200F_206B_200E_202C_202B_200F_200B_206D_206E_200D_200B_206B_200B_206D_202A_200C_202A_202D_206F_202E(ref _cacheVersion) != num7) ? 1267877672 : 1267877676); - break; - case 1: - { - _pluginCache.TryRemove(internalName, out object _); - num = 1267877672; - break; - } - case 6: - _pluginCache[internalName] = found; - num = ((_202D_202C_206B_206C_202E_206D_200B_202E_206F_206B_200F_206E_206D_200D_206A_206A_202A_206C_200B_206B_200F_200F_206B_200E_202C_202B_200F_200B_206D_206E_200D_200B_206B_200B_206D_202A_200C_202A_202D_206F_202E(ref _cacheVersion) == num7) ? 1267877672 : 1267877675); - break; - case 4: - num = ((!TryFindByProperty(plugins, 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(1712180490), out found)) ? 1267877674 : 1267877679); - break; - case 3: - num = 1267877678; - break; - case 0: - instance = null; - return false; - } - } - [MethodImpl(MethodImplOptions.NoInlining)] - bool TryFindByProperty(IEnumerable enumerable, string propertyName, [MaybeNullWhen(false)] out object reference) - { - IEnumerator enumerator = _206D_200B_202A_206A_200B_206A_206B_202D_200F_206A_202C_206E_206B_202C_200C_206B_206E_202C_200F_202B_206F_202E_202E_200F_200D_206E_202A_202C_200E_200B_206A_200C_202C_206A_206D_200F_206F_206C_206B_206F_202E(enumerable); - try - { - int num14 = -2001915741; - object obj2 = default(object); - PropertyInfo propertyInfo = default(PropertyInfo); - object obj = default(object); - while (true) - { - int num15 = num14; - int num16 = -2001915739; - int num17 = num15; - int num18 = num17 + num16; - int num19 = num17 & num16; - Type type; - FieldInfo obj3; - switch (num18 - (num19 + num19)) - { - case 5: - type = _200D_200F_206A_206C_200B_200C_200B_206A_202C_200E_206F_202B_206B_200B_202E_206F_200D_206B_202C_202E_206C_200C_200D_200D_206C_206D_202E_200B_206E_200C_206A_200B_206A_206B_202E_200D_200D_202B_206E_206B_202E(_202E_206D_200C_206B_202C_200F_206C_206A_206D_206F_206C_202B_202B_200E_206D_202A_206A_202B_202C_206E_206A_200B_200C_200C_206E_200C_206D_202C_206D_202B_200C_206E_206A_206F_200E_202A_202E_200D_206D_206A_202E(obj2)); - goto IL_0070; - case 11: - type = _202E_206D_200C_206B_202C_200F_206C_206A_206D_206F_206C_202B_202B_200E_206D_202A_206A_202B_202C_206E_206A_200B_200C_200C_206E_200C_206D_202C_206D_202B_200C_206E_206A_206F_200E_202A_202E_200D_206D_206A_202E(obj2); - goto IL_0070; - case 4: - warnedNullInstance = true; - _206F_202C_206D_202B_202C_206C_200B_200E_206F_200C_206F_206E_202C_206A_206A_206B_206F_202C_200C_206C_200D_200D_202D_202E_202C_200E_202C_200B_202A_206E_202B_202C_206E_206D_206A_206E_206E_206E_202B_206E_202E(_pluginLog, _200D_200B_202C_206F_200B_202C_206F_202A_200F_200E_206A_200B_202C_206E_202E_206E_200D_200C_202E_202E_202D_200F_206D_202A_200F_206D_206B_200C_206B_200B_206E_202A_200E_206F_206E_206D_206E_202A_206D_200D_202E(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-651447327), internalName, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-1207385205)), Array.Empty()); - num14 = -2001915741; - break; - case 0: - num14 = -2001915741; - break; - case 2: - num14 = (warnedNullInstance ? (-2001915741) : (-2001915743)); - break; - case 1: - num14 = (_200D_200F_200D_206F_200D_206D_202D_206E_200C_200F_202E_206D_206E_200C_200D_206A_200B_202B_202B_200E_202D_206E_200B_206D_200C_200D_200D_200B_202E_200B_202C_202C_200D_202C_200E_202E_200D_206E_206C_202A_202E((string)_200F_200E_202E_202C_202C_200F_200F_206E_202A_200E_200E_206B_200F_200B_206D_202A_206C_206C_206C_206A_200D_200E_200F_202E_206F_206B_206D_200C_206E_202E_206B_200C_206B_200E_202E_206D_202B_200F_200D_200D_202E(propertyInfo, obj2), internalName) ? (-2001915741) : (-2001915732)); - break; - case 7: - num14 = (suppressErrors ? (-2001915741) : (-2001915737)); - break; - case 8: - obj2 = _206F_200F_200C_202D_202E_202A_202A_202C_200D_200D_206F_206E_206B_200C_200B_202C_206D_206A_206D_202D_202B_200E_206D_202B_200B_202C_206D_200D_202D_206A_206A_202C_202E_206D_206E_206B_200F_200B_206D_202B_202E(enumerator); - propertyInfo = _206C_200B_202A_206D_206E_206B_206A_200D_200E_200D_200C_202E_202A_200E_202E_206A_206B_200B_200C_202B_200D_206D_202B_202C_202C_206B_206D_206D_202E_206A_202E_200D_206C_202E_200B_202A_206A_200D_206C_202D_202E(_202E_206D_200C_206B_202C_200F_206C_206A_206D_206F_206C_202B_202B_200E_206D_202A_206A_202B_202C_206E_206A_200B_200C_200C_206E_200C_206D_202C_206D_202B_200C_206E_206A_206F_200E_202A_202E_200D_206D_206A_202E(obj2), propertyName); - num14 = (_206A_206B_200D_202B_200F_206C_200D_206F_200B_206A_206D_202D_202B_206E_202D_206A_206E_206F_206B_206D_206E_202B_206C_206B_200F_206C_206B_200F_206D_200C_206E_206A_200D_200E_200C_206A_206D_206D_200B_200F_202E(propertyInfo, (PropertyInfo)null) ? (-2001915741) : (-2001915740)); - break; - case 9: - num14 = (_206C_200E_200C_200C_206B_206A_202A_200E_206E_200F_202E_200B_202B_206C_206F_202C_202A_206E_206F_202A_206F_202A_200F_200B_206D_202D_200D_206B_202A_202B_202E_202B_202A_206B_206A_200E_202B_206E_206B_202C_202E(_206D_200D_206E_200E_202E_200B_202B_206E_206B_200F_200F_202E_202A_200C_200E_202E_200E_202E_206D_202C_206A_200D_202A_206C_200B_202B_202A_202E_206F_206B_200D_200E_206D_206B_200F_206F_206A_206A_206C_206E_202E((MemberInfo)_202E_206D_200C_206B_202C_200F_206C_206A_206D_206F_206C_202B_202B_200E_206D_202A_206A_202B_202C_206E_206A_200B_200C_200C_206E_200C_206D_202C_206D_202B_200C_206E_206A_206F_200E_202A_202E_200D_206D_206A_202E(obj2)), 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(-2129999289)) ? (-2001915744) : (-2001915730)); - break; - case 6: - num14 = (_206F_200C_200B_206E_202D_200C_200E_202E_200C_200F_206C_206E_200B_200C_202C_200D_200F_206C_206C_202B_202B_202B_206C_206B_200C_206A_200F_200C_202B_206F_202D_200C_206B_200D_206A_202B_200D_200F_206F_202C_202E(enumerator) ? (-2001915731) : (-2001915738)); - break; - case 10: - reference = obj; - return true; - case 3: - goto end_IL_0013; - IL_0070: - obj3 = (((object)type != null) ? _206C_206F_200C_206B_202B_202C_200F_206A_200C_202A_206D_200F_206F_202D_206E_202C_202B_200C_202B_200C_202C_202D_202B_200B_200E_202D_202C_202A_200D_206E_206F_202B_200D_206A_200F_206F_206D_200D_200F_206A_202E(type, 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(-1540023666), BindingFlags.Instance | BindingFlags.NonPublic) : null); - obj = (((object)obj3 != null) ? _200B_200C_202B_200B_200F_206A_206B_202E_200F_206D_200B_202A_206D_202B_200D_206A_200B_200F_200B_206A_202D_202A_202C_206E_202A_206C_200C_206D_206D_202D_202D_206F_200C_202D_206C_200F_202B_202C_206F_200C_202E(obj3, obj2) : null); - num14 = ((obj != null) ? (-2001915729) : (-2001915742)); - break; - } - continue; - end_IL_0013: - break; - } - } - finally - { - IDisposable disposable = enumerator as IDisposable; - int num14 = ((disposable == null) ? 668881106 : 668881105); - while (true) - { - int num20 = num14; - int num16 = 668881107; - int num17 = num20; - switch ((num17 | num16) - (num17 & num16)) - { - case 0: - num14 = 668881105; - break; - case 1: - goto end_IL_0279; - case 2: - _200F_206A_202B_200D_200B_206E_202D_200D_202A_200B_202D_206D_200B_206E_202E_206E_202A_200C_206A_200D_200F_206E_200F_202C_202E_200B_202A_200D_200D_200B_200E_200D_202D_206C_206E_200F_202C_202D_202D_202A_202E(disposable); - num14 = 668881106; - break; - } - continue; - end_IL_0279: - break; - } - } - reference = null; - return false; - } - } - catch (Exception ex) - { - num = (suppressErrors ? 2034033441 : 2034033442); - while (true) - { - int num11 = num; - num3 = 2034033443; - num4 = num11; - int num12 = num4 + num3; - int num13 = num4 & num3; - switch (num12 - (num13 + num13)) - { - case 0: - num = 2034033442; - break; - case 1: - _202B_200D_202A_206E_202E_202B_206F_206B_206A_202C_202A_200C_200E_206E_202E_206B_202C_206E_206F_200F_206C_206F_206A_206C_206C_200B_206A_206E_206B_202C_202A_202E_206D_202B_202E_200F_206A_202B_206B_200C_202E(_pluginLog, ex, _200E_206E_200B_206B_206E_202E_206A_206A_202C_202C_202D_202B_200D_206D_202E_206F_200B_200E_206E_200E_202D_200E_202B_200B_200F_200C_200B_200F_206B_202E_206D_200B_206F_206E_206E_200C_200E_206B_200F_202E(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(1900988923), internalName, 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(-1295840145), _206D_202B_206D_202D_200C_202E_206E_206F_202E_200D_202E_202E_206D_202C_200D_200D_200C_202E_202D_200E_206A_206B_206E_202B_206F_200B_200D_200F_206B_200D_206B_202C_200D_202A_202D_200C_206D_200C_206D_206C_202E(ex)), Array.Empty()); - num = 2034033441; - break; - case 2: - instance = null; - return false; - } - } - } + _pluginLog.Error(ex, "Can't find " + internalName + " plugin: " + ex.Message); } + instance = null; + return false; } } public async Task AddPluginAsync(string internalName, string? thirdPartyRepoUrl, IReadOnlyList? aliases = null) { - int num = -158450101; - MethodInfo methodInfo = default(MethodInfo); - object pluginManager = default(object); - Type type2 = default(Type); - Assembly assembly = default(Assembly); - object obj2 = default(object); - ParameterInfo[] array2 = default(ParameterInfo[]); - object[] array = default(object[]); - int num6 = default(int); - ConfiguredTaskAwaitable.ConfiguredTaskAwaiter configuredTaskAwaiter = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - ConfiguredTaskAwaitable.ConfiguredTaskAwaiter configuredTaskAwaiter2 = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - Task installTask = default(Task); - MethodInfo reloadMethod = default(MethodInfo); - object obj = default(object); - Type type = default(Type); - object obj5 = default(object); - object obj4 = default(object); - bool loaded = default(bool); - int num5; - while (true) + object pluginManager = GetPluginManager(); + Assembly assembly = _pluginInterface.GetType().Assembly; + if (IsVariantLoaded(pluginManager, internalName, thirdPartyRepoUrl, aliases)) { - int num2 = num; - int num3 = -158450089; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 8: - methodInfo = _003CAddPluginAsync_003Ed__9._206B_206D_206A_200F_202E_206C_202A_206C_206E_206A_200B_206B_202C_202D_206D_206C_202B_202D_200E_200C_200F_202C_206C_200C_202B_200E_200C_200B_206F_202D_202E_202C_202E_200B_206B_200B_206A_206E_200E_200F_202E(_003CAddPluginAsync_003Ed__9._200D_206A_206A_202B_200C_206E_206C_200B_202D_202A_202D_206D_206D_200C_206F_202A_206C_202C_200B_206A_200B_200D_202D_200F_206C_206C_202C_206A_206F_202A_202B_202E_200F_200F_200F_206E_206C_206A_200D_206A_202E(pluginManager), global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1435604918), BindingFlags.Instance | BindingFlags.Public) ?? throw _003CAddPluginAsync_003Ed__9._206C_206F_206C_200D_200D_206D_202A_206E_206B_206F_202A_206E_206E_202D_200C_202B_200B_206B_206F_202D_202B_200C_202A_202B_202D_202B_202C_206C_202E_202E_200E_200B_206E_200B_206C_200E_200C_206D_206E_206D_202E(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(-1358635013)); - type2 = _003CAddPluginAsync_003Ed__9._200F_206E_206B_200C_200D_206A_200E_200B_202A_206F_200D_202D_202C_202B_202C_206D_206F_206C_202E_202E_202D_202A_206F_202C_202A_206B_206C_200D_200F_202A_206E_202E_202E_202B_206A_206C_206D_200C_202D_200F_202E(assembly, 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(-1964451499)) ?? throw _003CAddPluginAsync_003Ed__9._206C_206F_206C_200D_200D_206D_202A_206E_206B_206F_202A_206E_206E_202D_200C_202B_200B_206B_206F_202D_202B_200C_202A_202B_202D_202B_202C_206C_202E_202E_200E_200B_206E_200B_206C_200E_200C_206D_206E_206D_202E(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(-1640054167)); - obj2 = _003CAddPluginAsync_003Ed__9._200D_200E_200E_200D_202D_200B_202A_206F_202D_202A_206B_206E_200C_202C_202A_206C_206F_206B_200E_206B_200D_200D_200F_200B_206B_200F_202E_206A_200B_200C_206C_206B_202B_200C_200E_200D_202E_202D_206E_200E_202E(type2, 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(1257923011)); - array2 = _003CAddPluginAsync_003Ed__9._200F_202A_202D_202D_206E_202B_202D_206B_200D_200E_200E_202E_206A_206E_202A_200B_200E_202E_200E_202B_200C_200C_202B_200E_202A_206B_206D_206A_206C_200D_206A_202C_202D_202C_200C_202B_206B_202C_202B_206E_202E((MethodBase)methodInfo); - array = new object[array2.Length]; - num6 = 0; - num = -158450057; - continue; - case 2: - configuredTaskAwaiter = configuredTaskAwaiter2; - configuredTaskAwaiter2 = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - num = -158450083; - continue; - case 28: - pluginManager = GetPluginManager(); - assembly = _003CAddPluginAsync_003Ed__9._200B_202A_202B_202D_202B_206F_202B_200D_202C_202E_206F_206A_202A_206B_206F_206B_200B_202D_206E_202A_206A_200E_206E_202C_200E_206B_202A_200D_206A_202B_200B_200D_200B_206A_206F_200D_206D_202A_200E_200F_202E(_003CAddPluginAsync_003Ed__9._200D_206A_206A_202B_200C_206E_206C_200B_202D_202A_202D_206D_206D_200C_206F_202A_206C_202C_200B_206A_200B_200D_202D_200F_206C_206C_202C_206A_206F_202A_202B_202E_200F_200F_200F_206E_206C_206A_200D_206A_202E((object)_pluginInterface)); - num = ((!IsVariantLoaded(pluginManager, internalName, thirdPartyRepoUrl, aliases)) ? (-158450084) : (-158450109)); - continue; - case 31: - configuredTaskAwaiter = _003CAddPluginAsync_003Ed__9._200B_206F_206B_202B_206D_202A_200D_202D_206C_206C_202B_202A_206D_206A_200D_206B_200B_202D_206C_206C_206D_206A_206F_200E_206C_202B_202D_200B_202C_202D_202B_202B_206E_206E_200B_202B_200B_200D_206B_202B_202E(installTask, false).GetAwaiter(); - num = (configuredTaskAwaiter.IsCompleted ? (-158450083) : (-158450110)); - continue; - case 0: - { - int num7 = num6; - num3 = 1; - num4 = num7; - num6 = (num4 | num3) + (num4 & num3); - num = -158450057; - continue; - } - case 30: - throw _003CAddPluginAsync_003Ed__9._206C_206F_206C_200D_200D_206D_202A_206E_206B_206F_202A_206E_206E_202D_200C_202B_200B_206B_206F_202D_202B_200C_202A_202B_202D_202B_202C_206C_202E_202E_200E_200B_206E_200B_206C_200E_200C_206D_206E_206D_202E(_003CAddPluginAsync_003Ed__9._202E_206D_206D_202C_206A_206F_202A_200B_200F_206B_206F_202D_206D_200F_202D_200B_206A_200F_200C_206F_206A_206F_200E_200B_206C_202D_206E_206C_200D_206E_200C_206A_206E_200B_202A_206E_202E_206F_200D_202C_202E(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1931795628), internalName, 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(2124475057))); - case 15: - array[num6] = obj2; - num = -158450089; - continue; - case 33: - AddOrEnableThirdPartyRepo(assembly, thirdPartyRepoUrl); - configuredTaskAwaiter = _003CAddPluginAsync_003Ed__9._200B_206F_206B_202B_206D_202A_200D_202D_206C_206C_202B_202A_206D_206A_200D_206B_200B_202D_206C_206C_206D_206A_206F_200E_206C_202B_202D_200B_202C_202D_202B_202B_206E_206E_200B_202B_200B_200D_206B_202B_202E(InvokeReloadAsync(pluginManager, reloadMethod), false).GetAwaiter(); - num = (configuredTaskAwaiter.IsCompleted ? (-158450085) : (-158450092)); - continue; - case 13: - array[num6] = null; - num = -158450089; - continue; - case 24: - { - object obj3 = _003CAddPluginAsync_003Ed__9._200D_206A_202B_202A_206B_202B_206B_202D_206B_200F_202D_202E_202D_200B_202E_200C_206C_202C_202D_206D_206D_206A_202B_200E_206E_200B_200F_202C_206B_200C_202D_200B_202C_202E_206A_206A_206B_206A_202E((MethodBase)methodInfo, pluginManager, array) ?? throw _003CAddPluginAsync_003Ed__9._206C_206F_206C_200D_200D_206D_202A_206E_206B_206F_202A_206E_206E_202D_200C_202B_200B_206B_206F_202D_202B_200C_202A_202B_202D_202B_202C_206C_202E_202E_200E_200B_206E_200B_206C_200E_200C_206D_206E_206D_202E(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(121476692)); - installTask = obj3 as Task; - num = ((installTask != null) ? (-158450104) : (-158450096)); - continue; - } - case 26: - configuredTaskAwaiter.GetResult(); - obj = FindAvailableManifest(pluginManager, internalName, thirdPartyRepoUrl, aliases); - num = ((obj != null) ? (-158450108) : (-158450111)); - continue; - case 20: - return true; - case 9: - type = _003CAddPluginAsync_003Ed__9._206C_202C_206E_200C_206F_200D_206F_206E_202C_202B_202E_206E_200F_206C_206C_200F_202C_206D_200E_202D_206F_200D_202E_202E_206D_206F_206C_200F_202C_202C_206E_200E_206D_206A_200C_206F_200C_202D_200B_206F_202E(array2[num6]); - num = ((!_003CAddPluginAsync_003Ed__9._202B_202C_202A_206C_200E_206E_202B_206B_202C_206C_206A_206C_200D_202E_206A_200D_200F_202A_200C_200E_206B_206E_202D_206D_206D_202E_202E_200C_200D_200B_202D_206D_206A_200D_202A_200F_202A_206C_206F_202D_202E(type, _003CAddPluginAsync_003Ed__9._200D_206A_206A_202B_200C_206E_206C_200B_202D_202A_202D_206D_206D_200C_206F_202A_206C_202C_200B_206A_200B_200D_202D_200F_206C_206C_202C_206A_206F_202A_202B_202E_200F_200F_200F_206E_206C_206A_200D_206A_202E(obj))) ? (-158450107) : (-158450098)); - continue; - case 32: - num = ((num6 < array2.Length) ? (-158450082) : (-158450097)); - continue; - case 23: - num = ((!_003CAddPluginAsync_003Ed__9._206F_206F_202A_200B_206D_200B_200E_200F_206D_202B_206D_206C_202A_206D_202A_206F_206A_200B_206D_202E_202E_202C_206B_200F_202D_202E_200F_202C_200D_200C_206B_206A_202E_202A_206C_202D_206C_202B_206B_206B_202E(type, type2)) ? (-158450086) : (-158450088)); - continue; - case 10: - configuredTaskAwaiter.GetResult(); - obj5 = _003CAddPluginAsync_003Ed__9._200D_202B_202D_206C_200E_206F_202C_200F_200F_200C_206E_206B_202E_200D_200D_206E_200E_202A_200D_202D_200C_206B_206C_202A_206F_202A_200E_206D_206D_202B_206A_202A_202D_206F_200D_206C_206F_206F_206A_202A_202E(_003CAddPluginAsync_003Ed__9._202A_200E_206F_206C_206E_200F_206B_202C_202A_206D_200B_200C_200B_206E_206C_202C_202C_200C_202A_200D_200D_202D_206B_200F_202C_200D_206A_206E_206F_200E_202A_206D_202E_200E_202E_200F_202B_200C_200E_206B_202E(_003CAddPluginAsync_003Ed__9._200D_206A_206A_202B_200C_206E_206C_200B_202D_202A_202D_206D_206D_200C_206F_202A_206C_202C_200B_206A_200B_200D_202D_200F_206C_206C_202C_206A_206F_202A_202B_202E_200F_200F_200F_206E_206C_206A_200D_206A_202E((object)installTask), global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-1037220679)) ?? throw _003CAddPluginAsync_003Ed__9._206C_206F_206C_200D_200D_206D_202A_206E_206B_206F_202A_206E_206E_202D_200C_202B_200B_206B_206F_202D_202B_200C_202A_202B_202D_202B_202C_206C_202E_202E_200E_200B_206E_200B_206C_200E_200C_206D_206E_206D_202E(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(1256600865)), (object)installTask); - num = ((obj5 != null) ? (-158450090) : (-158450094)); - continue; - case 18: - num = ((!_003CAddPluginAsync_003Ed__9._206F_206F_202A_200B_206D_200B_200E_200F_206D_202B_206D_206C_202A_206D_202A_206F_206A_200B_206D_202E_202E_202C_206B_200F_202D_202E_200F_202C_200D_200C_206B_206A_202E_202A_206C_202D_206C_202B_206B_206B_202E(type, _003CAddPluginAsync_003Ed__9._206C_206A_206B_200D_206E_206A_206F_200D_202A_206D_200E_206C_200B_202D_202A_202C_200E_206E_206E_200C_200D_206B_200B_206A_200C_206D_206D_206F_206D_206C_206D_200D_202E_202E_206B_200C_200E_206E_206E_200D_202E(typeof(bool).TypeHandle))) ? (-158450112) : (-158450087)); - continue; - case 21: - await configuredTaskAwaiter; - goto case 2; - case 12: - configuredTaskAwaiter.GetResult(); - obj = FindAvailableManifest(pluginManager, internalName, thirdPartyRepoUrl, aliases); - num = -158450108; - continue; - case 11: - reloadMethod = _003CAddPluginAsync_003Ed__9._206B_206D_206A_200F_202E_206C_202A_206C_206E_206A_200B_206B_202C_202D_206D_206C_202B_202D_200E_200C_200F_202C_206C_200C_202B_200E_200C_200B_206F_202D_202E_202C_202E_200B_206B_200B_206A_206E_200E_200F_202E(_003CAddPluginAsync_003Ed__9._200D_206A_206A_202B_200C_206E_206C_200B_202D_202A_202D_206D_206D_200C_206F_202A_206C_202C_200B_206A_200B_200D_202D_200F_206C_206C_202C_206A_206F_202A_202B_202E_200F_200F_200F_206E_206C_206A_200D_206A_202E(pluginManager), 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(-1659108735), BindingFlags.Instance | BindingFlags.Public) ?? throw _003CAddPluginAsync_003Ed__9._206C_206F_206C_200D_200D_206D_202A_206E_206B_206F_202A_206E_206E_202D_200C_202B_200B_206B_206F_202D_202B_200C_202A_202B_202D_202B_202C_206C_202E_202E_200E_200B_206E_200B_206C_200E_200C_206D_206E_206D_202E(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-54915131)); - configuredTaskAwaiter = _003CAddPluginAsync_003Ed__9._200B_206F_206B_202B_206D_202A_200D_202D_206C_206C_202B_202A_206D_206A_200D_206B_200B_202D_206C_206C_206D_206A_206F_200E_206C_202B_202D_200B_202C_202D_202B_202B_206E_206E_200B_202B_200B_200D_206B_202B_202E(InvokeReloadAsync(pluginManager, reloadMethod), false).GetAwaiter(); - num = (configuredTaskAwaiter.IsCompleted ? (-158450099) : (-158450093)); - continue; - case 16: - num = -158450101; - continue; - case 1: - obj4 = _003CAddPluginAsync_003Ed__9._200D_202B_202D_206C_200E_206F_202C_200F_200F_200C_206E_206B_202E_200D_200D_206E_200E_202A_200D_202D_200C_206B_206C_202A_206F_202A_200E_206D_206D_202B_206A_202A_202D_206F_200D_206C_206F_206F_206A_202A_202E(_003CAddPluginAsync_003Ed__9._202A_200E_206F_206C_206E_200F_206B_202C_202A_206D_200B_200C_200B_206E_206C_202C_202C_200C_202A_200D_200D_202D_206B_200F_202C_200D_206A_206E_206F_200E_202A_206D_202E_200E_202E_200F_202B_200C_200E_206B_202E(_003CAddPluginAsync_003Ed__9._200D_206A_206A_202B_200C_206E_206C_200B_202D_202A_202D_206D_206D_200C_206F_202A_206C_202C_200B_206A_200B_200D_202D_200F_206C_206C_202C_206A_206F_202A_202B_202E_200F_200F_200F_206E_206C_206A_200D_206A_202E(obj5), 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(1946306806)) ?? throw _003CAddPluginAsync_003Ed__9._206C_206F_206C_200D_200D_206D_202A_206E_206B_206F_202A_206E_206E_202D_200C_202B_200B_206B_206F_202D_202B_200C_202A_202B_202D_202B_202C_206C_202E_202E_200E_200B_206E_200B_206C_200E_200C_206D_206E_206D_202E(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(241214595)), obj5); - num = ((!(obj4 is bool)) ? (-158450100) : (-158450102)); - continue; - case 7: - throw _003CAddPluginAsync_003Ed__9._206C_206F_206C_200D_200D_206D_202A_206E_206B_206F_202A_206E_206E_202D_200C_202B_200B_206B_206F_202D_202B_200C_202A_202B_202D_202B_202C_206C_202E_202E_200E_200B_206E_200B_206C_200E_200C_206D_206E_206D_202E(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(-169019911)); - case 6: - configuredTaskAwaiter = configuredTaskAwaiter2; - configuredTaskAwaiter2 = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - num = -158450099; - continue; - case 17: - configuredTaskAwaiter = configuredTaskAwaiter2; - configuredTaskAwaiter2 = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - num = -158450085; - continue; - case 4: - await configuredTaskAwaiter; - goto case 6; - case 3: - await configuredTaskAwaiter; - goto case 17; - case 22: - num = ((thirdPartyRepoUrl == null) ? (-158450108) : (-158450058)); - continue; - case 5: - return false; - case 14: - array[num6] = false; - num = -158450089; - continue; - case 29: - loaded = (bool)obj4; - num5 = 1; - break; - case 19: - num = ((obj != null) ? (-158450081) : (-158450103)); - continue; - case 25: - array[num6] = obj; - num = -158450089; - continue; - case 27: - num5 = 0; - break; - } - break; + return true; } - return (byte)((uint)num5 & (loaded ? 1u : 0u)) != 0; + MethodInfo reloadMethod = pluginManager.GetType().GetMethod("SetPluginReposFromConfigAsync", BindingFlags.Instance | BindingFlags.Public) ?? throw new InvalidOperationException("Could not find PluginManager.SetPluginReposFromConfigAsync - Dalamud internals may have changed"); + await InvokeReloadAsync(pluginManager, reloadMethod).ConfigureAwait(continueOnCapturedContext: false); + object obj = FindAvailableManifest(pluginManager, internalName, thirdPartyRepoUrl, aliases); + if (obj == null && thirdPartyRepoUrl != null) + { + AddOrEnableThirdPartyRepo(assembly, thirdPartyRepoUrl); + await InvokeReloadAsync(pluginManager, reloadMethod).ConfigureAwait(continueOnCapturedContext: false); + obj = FindAvailableManifest(pluginManager, internalName, thirdPartyRepoUrl, aliases); + } + if (obj == null) + { + throw new InvalidOperationException("Plugin '" + internalName + "' not found in available repositories"); + } + MethodInfo methodInfo = pluginManager.GetType().GetMethod("InstallPluginAsync", BindingFlags.Instance | BindingFlags.Public) ?? throw new InvalidOperationException("Could not find PluginManager.InstallPluginAsync - Dalamud internals may have changed"); + Type type = assembly.GetType("Dalamud.Plugin.PluginLoadReason") ?? throw new InvalidOperationException("Could not find Dalamud.Plugin.PluginLoadReason - Dalamud internals may have changed"); + object obj2 = Enum.Parse(type, "Installer"); + ParameterInfo[] parameters = methodInfo.GetParameters(); + object[] array = new object[parameters.Length]; + for (int i = 0; i < parameters.Length; i++) + { + Type parameterType = parameters[i].ParameterType; + if (parameterType.IsAssignableFrom(obj.GetType())) + { + array[i] = obj; + } + else if (parameterType == typeof(bool)) + { + array[i] = false; + } + else if (parameterType == type) + { + array[i] = obj2; + } + else + { + array[i] = null; + } + } + object obj3 = methodInfo.Invoke(pluginManager, array) ?? throw new InvalidOperationException("PluginManager.InstallPluginAsync returned null - Dalamud internals may have changed"); + if (!(obj3 is Task installTask)) + { + throw new InvalidOperationException("PluginManager.InstallPluginAsync did not return a Task - Dalamud internals may have changed"); + } + await installTask.ConfigureAwait(continueOnCapturedContext: false); + object value = (installTask.GetType().GetProperty("Result") ?? throw new InvalidOperationException("Install task has no Result property - Dalamud internals may have changed")).GetValue(installTask); + if (value == null) + { + return false; + } + object value2 = (value.GetType().GetProperty("IsLoaded") ?? throw new InvalidOperationException("LocalPlugin has no IsLoaded property - Dalamud internals may have changed")).GetValue(value); + bool loaded = default(bool); + int num; + if (value2 is bool) + { + loaded = (bool)value2; + num = 1; + } + else + { + num = 0; + } + return (byte)((uint)num & (loaded ? 1u : 0u)) != 0; } public async Task EnablePluginAsync(string internalName, string? thirdPartyRepoUrl, IReadOnlyList? aliases = null) { - ConfiguredTaskAwaitable.ConfiguredTaskAwaiter configuredTaskAwaiter = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - ConfiguredTaskAwaitable.ConfiguredTaskAwaiter configuredTaskAwaiter2 = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - Assembly assembly = default(Assembly); - object localPlugin = default(object); - object obj2 = default(object); - int num5 = default(int); - PropertyInfo propertyInfo = default(PropertyInfo); - object obj3 = default(object); - string text = default(string); - IDisposable disposable = default(IDisposable); - string text3 = default(string); - object[] array3 = default(object[]); - int num17 = default(int); - object obj5 = default(object); - PropertyInfo isLoadedProperty = default(PropertyInfo); - Type localPluginType = default(Type); - object obj4 = default(object); - Type type = default(Type); - ParameterInfo[] array2 = default(ParameterInfo[]); - Type type2 = default(Type); - int num16 = default(int); - string[] array = default(string[]); - Guid guid = default(Guid); - MethodInfo methodInfo = default(MethodInfo); - bool flag = default(bool); - bool loadedAfter = default(bool); - while (true) + object pluginManager = GetPluginManager(); + Assembly assembly = _pluginInterface.GetType().Assembly; + IEnumerable obj = ((pluginManager.GetType().GetProperty("InstalledPlugins") ?? throw new InvalidOperationException("Could not find PluginManager.InstalledPlugins - Dalamud internals may have changed")).GetValue(pluginManager) as IEnumerable) ?? throw new InvalidOperationException("PluginManager.InstalledPlugins was not enumerable - Dalamud internals may have changed"); + object localPlugin = null; + object obj2 = null; + int num = 0; + foreach (object item in obj) { - int num = -517751488; - while (true) + if (item == null) { - int num2 = num; - int num3 = -517751487; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 0: - num = -517751488; - continue; - case 1: - { - int num11; - if (num11 != 1) - { - num = -517751485; - continue; - } - configuredTaskAwaiter = configuredTaskAwaiter2; - configuredTaskAwaiter2 = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - num = -219266637; - break; - } - case 2: - { - object pluginManager = GetPluginManager(); - assembly = _003CEnablePluginAsync_003Ed__10._202B_202C_206B_206B_206C_206D_206D_206B_206F_202A_202B_200B_206A_202A_206D_200D_202C_206B_202D_202D_202B_206B_206F_200C_202D_206D_206B_206B_202D_206D_202C_200C_206C_202A_202E_206D_200E_200F_206E_200D_202E(_003CEnablePluginAsync_003Ed__10._202B_206E_206C_206A_202A_202C_202E_206C_206B_206B_200F_200D_202B_202A_200E_200C_206F_206E_202E_200D_206E_206D_202B_202D_206A_202D_200E_200F_200E_206B_206B_200E_206C_206E_200B_206E_206E_206B_206A_202D_202E((object)_pluginInterface)); - IEnumerable obj = (_003CEnablePluginAsync_003Ed__10._202E_202B_202A_206A_206A_200C_200C_206E_202E_202B_200D_206E_200B_202C_202C_200C_202B_200B_206E_200E_206D_200B_200D_200D_206D_206F_202B_206D_202B_206F_206A_202C_200D_202C_202A_202D_206F_206C_202C_202E(_003CEnablePluginAsync_003Ed__10._202C_206D_202A_200D_200B_200E_202C_206B_206E_200D_206F_200C_202A_206E_206D_200D_206D_206A_200D_202E_202C_206A_206A_206C_206D_206A_200D_200B_206D_200D_200F_202B_202B_200F_202A_206C_202E_202D_206D_206B_202E(_003CEnablePluginAsync_003Ed__10._202B_206E_206C_206A_202A_202C_202E_206C_206B_206B_200F_200D_202B_202A_200E_200C_206F_206E_202E_200D_206E_206D_202B_202D_206A_202D_200E_200F_200E_206B_206B_200E_206C_206E_200B_206E_206E_206B_206A_202D_202E(pluginManager), 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(-797332337)) ?? throw _003CEnablePluginAsync_003Ed__10._202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1353226340)), pluginManager) as IEnumerable) ?? throw _003CEnablePluginAsync_003Ed__10._202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(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(-1803355673)); - localPlugin = null; - obj2 = null; - num5 = 0; - IEnumerator enumerator = _003CEnablePluginAsync_003Ed__10._206B_206D_202C_206B_200B_206F_202A_206B_202A_206D_200F_202B_200D_206A_200B_200D_202D_202B_200F_206C_206C_206D_202C_200F_202E_200F_202B_200D_206B_200B_202E_206E_206A_206B_202E_202E_206F_200C_200B_206B_202E(obj); - try - { - num = 1208540772; - while (true) - { - int num6 = num; - num3 = 1208540771; - num4 = num6; - int num7 = num4 + num3; - int num8 = num4 & num3; - switch (num7 - (num8 + num8)) - { - case 5: - propertyInfo = _003CEnablePluginAsync_003Ed__10._206D_202A_202B_200C_206D_202D_202A_202E_206E_202A_202C_200F_202B_206C_206E_202E_206D_202A_206F_206F_200E_206A_206F_206C_200E_206F_200F_206B_206C_206E_206A_206E_206E_206F_200C_200E_200F_206B_202A_202D_202E(_003CEnablePluginAsync_003Ed__10._202B_206E_206C_206A_202A_202C_202E_206C_206B_206B_200F_200D_202B_202A_200E_200C_206F_206E_202E_200D_206E_206D_202B_202D_206A_202D_200E_200F_200E_206B_206B_200E_206C_206E_200B_206E_206E_206B_206A_202D_202E(obj3), 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(-1994460583), BindingFlags.Instance | BindingFlags.Public); - num = (_003CEnablePluginAsync_003Ed__10._206B_206B_202C_206D_202D_200E_202B_202B_200C_200D_200F_206A_202C_206C_202B_206B_206D_202B_206C_200F_202B_202C_206E_200E_200F_200F_202D_200E_206D_200C_202D_206B_206A_206F_206A_200D_206B_200C_206D_206C_202E(propertyInfo, (PropertyInfo)null) ? 1208540772 : 1208540769); - break; - case 4: - num = (_003CEnablePluginAsync_003Ed__10._206B_206C_200D_202B_202D_202B_200D_200D_200E_206D_200B_206A_206B_202A_206E_202C_206A_202E_202D_202D_202B_206B_206A_202C_206F_202A_200C_200D_202C_200B_200D_202B_200B_202D_206B_200D_200C_200F_202E_206C_202E(text, internalName) ? 1208540772 : 1208540773); - break; - case 2: - text = _003CEnablePluginAsync_003Ed__10._202E_202B_202A_206A_206A_200C_200C_206E_202E_202B_200D_206E_200B_202C_202C_200C_202B_200B_206E_200E_206D_200B_200D_200D_206D_206F_202B_206D_202B_206F_206A_202C_200D_202C_202A_202D_206F_206C_202C_202E(propertyInfo, obj3) as string; - num = ((text == null) ? 1208540772 : 1208540775); - break; - case 6: - { - int num9 = num5; - num3 = 1; - num4 = num9; - num5 = (num4 | num3) + (num4 & num3); - num = ((obj2 != null) ? 1208540779 : 1208540778); - break; - } - case 9: - obj2 = obj3; - num = 1208540779; - break; - case 0: - localPlugin = obj3; - num = 1208540770; - break; - case 10: - obj3 = _003CEnablePluginAsync_003Ed__10._206C_202A_206F_202B_200B_206F_206D_202D_200D_200B_200F_206E_200C_202E_202A_200C_200F_202C_206D_202B_206E_206F_200D_206B_200E_206A_206E_202A_200F_200B_202A_206C_202C_202E_206E_206D_200B_202A_206B_200E_202E(enumerator); - num = ((obj3 == null) ? 1208540772 : 1208540774); - break; - case 8: - num = ((!LocalPluginMatchesRepo(obj3, thirdPartyRepoUrl, aliases)) ? 1208540772 : 1208540771); - break; - case 3: - num = 1208540772; - break; - case 7: - num = (_003CEnablePluginAsync_003Ed__10._202A_206F_206C_202A_200F_202C_206A_200B_202A_206B_206A_202B_202E_202B_202C_206A_202E_202D_206F_202D_200E_206F_206A_206A_202B_206C_200D_200E_202E_202E_202A_206A_206B_206F_202E_200E_200D_206F_206B_200F_202E(enumerator) ? 1208540777 : 1208540770); - break; - case 1: - goto end_IL_00f5; - } - continue; - end_IL_00f5: - break; - } - } - finally - { - num = 1809875925; - while (true) - { - int num10 = num; - num3 = 1809875926; - num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - _003CEnablePluginAsync_003Ed__10._200E_200E_202C_202B_200B_200D_202B_202E_206F_200F_202E_200C_206A_202D_206E_202E_202D_200C_202B_202D_206A_202E_200D_200B_200F_202B_200B_202D_200D_202C_206D_206C_202C_202B_202C_206A_200B_202B_206F_206A_202E(disposable); - num = 1809875927; - break; - case 1: - goto end_IL_02de; - case 2: - num = 1809875925; - break; - case 3: - disposable = enumerator as IDisposable; - num = ((disposable == null) ? 1809875927 : 1809875926); - break; - } - continue; - end_IL_02de: - break; - } - } - num = ((localPlugin != null) ? (-219266648) : (-219266644)); - break; - } - } - break; + continue; } - while (true) + PropertyInfo property = item.GetType().GetProperty("InternalName", BindingFlags.Instance | BindingFlags.Public); + if (!(property == null) && property.GetValue(item) is string text && !(text != internalName)) { - int num12 = num; - int num3 = -219266628; - int num4 = num12; - int num14; - string text2; - int num13; - switch ((num4 | num3) - (num4 & num3)) + num++; + if (obj2 == null) { - default: - continue; - case 21: + obj2 = item; + } + if (LocalPluginMatchesRepo(item, thirdPartyRepoUrl, aliases)) + { + localPlugin = item; break; - case 7: - throw _003CEnablePluginAsync_003Ed__10._202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(930706806)); - case 35: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(37, 2); - defaultInterpolatedStringHandler2.AppendLiteral(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(-704778144)); - defaultInterpolatedStringHandler2.AppendFormatted(internalName); - defaultInterpolatedStringHandler2.AppendLiteral(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(-1141968393)); - defaultInterpolatedStringHandler2.AppendFormatted(text3); - defaultInterpolatedStringHandler2.AppendLiteral(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(-831521228)); - throw _003CEnablePluginAsync_003Ed__10._202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(defaultInterpolatedStringHandler2.ToStringAndClear()); } - case 14: - array3[num17] = obj5; - num = -219266659; - continue; - case 0: - num14 = 0; - goto IL_04fe; - case 18: - throw _003CEnablePluginAsync_003Ed__10._202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(_003CEnablePluginAsync_003Ed__10._200F_200F_202C_200E_202B_200D_206B_200C_206F_206F_206F_200E_200F_200D_206C_206A_202C_202C_200E_206A_206A_202D_200B_200B_202A_202A_200B_206D_200C_202C_200D_200F_202B_206B_202E_202B_200C_200B_202B_200F_202E(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(-704778144), internalName, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-1737777117))); - case 3: - text2 = _003CEnablePluginAsync_003Ed__10._200F_200F_202C_200E_202B_200D_206B_200C_206F_206F_206F_200E_200F_200D_206C_206A_202C_202C_200E_206A_206A_202D_200B_200B_202A_202A_200B_206D_200C_202C_200D_200F_202B_206B_202E_202B_200C_200B_202B_200F_202E(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1931795628), internalName, 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(1283726812)); - goto IL_0562; - case 9: - isLoadedProperty = _003CEnablePluginAsync_003Ed__10._202C_206D_202A_200D_200B_200E_202C_206B_206E_200D_206F_200C_202A_206E_206D_200D_206D_206A_200D_202E_202C_206A_206A_206C_206D_206A_200D_200B_206D_200D_200F_202B_202B_200F_202A_206C_202E_202D_206D_206B_202E(localPluginType, 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(-904839146)) ?? throw _003CEnablePluginAsync_003Ed__10._202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(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(-952438240)); - obj4 = _003CEnablePluginAsync_003Ed__10._202E_202B_202A_206A_206A_200C_200C_206E_202E_202B_200D_206E_200B_202C_202C_200C_202B_200B_206E_200E_206D_200B_200D_200D_206D_206F_202B_206D_202B_206F_206A_202C_200D_202C_202A_202D_206F_206C_202C_202E(isLoadedProperty, localPlugin); - num = ((!(obj4 is bool)) ? (-219266628) : (-219266655)); - continue; - case 20: - num = ((localPlugin != null) ? (-219266636) : (-219266652)); - continue; - case 27: - array3[num17] = false; - num = -219266659; - continue; - case 34: - type = _003CEnablePluginAsync_003Ed__10._200F_206B_200D_206F_206A_202A_202B_202C_206D_200E_206B_206B_206E_206E_200D_206C_200B_206B_206E_206B_200D_200E_202B_202B_200E_200F_200B_206E_206F_202D_202C_202C_202C_206F_202A_206F_200D_206B_206F_200C_202E(array2[num17]); - num = ((!_003CEnablePluginAsync_003Ed__10._206B_206A_206C_200C_202D_200E_206E_202B_206A_202A_206E_206F_200C_200E_206E_202E_200E_206E_200B_206E_202A_206E_202E_206F_202C_200C_206E_200E_206A_206F_202B_206A_202B_200B_206A_202E_206B_200B_200E_206E_202E(type, type2)) ? (-219266639) : (-219266638)); - continue; - case 10: - return true; - case 30: - num13 = 0; - goto IL_0651; - case 5: - obj4 = _003CEnablePluginAsync_003Ed__10._202E_202B_202A_206A_206A_200C_200C_206E_202E_202B_200D_206E_200B_202C_202C_200C_202B_200B_206E_200E_206D_200B_200D_200D_206D_206F_202B_206D_202B_206F_206A_202C_200D_202C_202A_202D_206F_206C_202C_202E(_003CEnablePluginAsync_003Ed__10._206D_202A_202B_200C_206D_202D_202A_202E_206E_202A_202C_200F_202B_206C_206E_202E_206D_202A_206F_206F_200E_206A_206F_206C_200E_206F_200F_206B_206C_206E_206A_206E_206E_206F_200C_200E_200F_206B_202A_202D_202E(localPluginType, 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(-592843582), BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) ?? throw _003CEnablePluginAsync_003Ed__10._202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(2067190462)), localPlugin); - num = ((!(obj4 is Guid)) ? (-219266629) : (-219266632)); - continue; - case 16: - num = ((num5 != 1) ? (-219266648) : (-219266641)); - continue; - case 33: - { - int num18 = num17; - num3 = 1; - num4 = num18; - num17 = (num4 | num3) + (num4 & num3); - num = -219266660; - continue; - } - case 11: - num = ((num16 < array.Length) ? (-219266626) : (-219266635)); - continue; - case 12: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(70, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(709905315)); - defaultInterpolatedStringHandler.AppendFormatted(internalName); - defaultInterpolatedStringHandler.AppendLiteral(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(-2030116922)); - defaultInterpolatedStringHandler.AppendFormatted(thirdPartyRepoUrl ?? global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-889155816)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1771580269)); - text2 = defaultInterpolatedStringHandler.ToStringAndClear(); - goto IL_0562; - } - case 24: - num = ((num5 == 0) ? (-219266625) : (-219266640)); - continue; - case 6: - array3[num17] = (_003CEnablePluginAsync_003Ed__10._200C_200D_202E_202E_200E_200C_206A_206D_206C_206E_200E_200C_206D_206B_200B_202D_200D_206E_200B_206D_200D_200B_200D_200D_206D_200D_202D_206B_206C_202C_206E_200D_200D_200B_206E_202B_202B_202D_206F_206F_202E(array2[num17]) ? _003CEnablePluginAsync_003Ed__10._200E_202B_206F_200C_200C_200C_202D_206B_200C_200B_202C_200F_206F_200C_200B_200C_202A_206C_206D_206A_200E_200E_200F_206C_200F_202A_200C_200C_202B_206A_202D_202B_206D_206D_200C_206E_206B_202B_200F_206A_202E(array2[num17]) : null); - num = -219266659; - continue; - case 1: - return true; - case 4: - guid = (Guid)obj4; - num = -219266650; - continue; - case 32: - num = ((num17 < array2.Length) ? (-219266658) : (-219266643)); - continue; - case 17: - configuredTaskAwaiter = _003CEnablePluginAsync_003Ed__10._202E_206A_200F_200F_200D_206E_200D_200D_200F_200E_200B_206A_202D_200B_206C_200F_206D_200D_202E_206E_206A_202B_206D_200F_206F_202C_200E_206A_200D_202C_202B_206A_206B_206E_206D_200E_202C_202C_202E_206B_202E(((_003CEnablePluginAsync_003Ed__10._206E_206E_200F_202A_206A_200C_206E_200F_200F_200E_200D_206B_206E_206D_206E_202C_200F_202C_202A_200D_202D_206B_200C_202B_202E_200E_200E_200C_202A_206F_202E_206A_206A_206C_200E_206B_202A_202C_200B_200E_202E((MethodBase)methodInfo, localPlugin, array3) ?? throw _003CEnablePluginAsync_003Ed__10._202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1001583693))) as Task) ?? throw _003CEnablePluginAsync_003Ed__10._202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(796993768)), false).GetAwaiter(); - num = (configuredTaskAwaiter.IsCompleted ? (-219266637) : (-219266647)); - continue; - case 2: - { - text3 = array[num16]; - PropertyInfo propertyInfo2 = _003CEnablePluginAsync_003Ed__10._206D_202A_202B_200C_206D_202D_202A_202E_206E_202A_202C_200F_202B_206C_206E_202E_206D_202A_206F_206F_200E_206A_206F_206C_200E_206F_200F_206B_206C_206E_206A_206E_206E_206F_200C_200E_200F_206B_202A_202D_202E(localPluginType, text3, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); - obj4 = (((object)propertyInfo2 != null) ? _003CEnablePluginAsync_003Ed__10._206B_202A_200C_206C_200C_202D_200D_202D_206E_206B_202E_206B_200C_200D_200D_206D_206D_202B_202C_200F_206A_200D_206E_206E_206C_202E_206F_200D_206F_200D_206A_202D_202A_202C_206C_202B_200F_200B_206D_202B_202E(propertyInfo2, localPlugin) : null); - num = ((!(obj4 is bool)) ? (-219266664) : (-219266645)); - continue; - } - case 22: - num = -219266644; - continue; - case 26: - { - Type type3 = _003CEnablePluginAsync_003Ed__10._202E_200B_202B_202E_202A_202B_202A_202E_202E_202D_200B_200D_202C_202B_206F_202C_202A_202C_202E_202E_202C_206C_200C_202B_202D_206B_202B_200C_200D_200E_200B_206D_200B_206F_206E_200D_206B_200B_200F_202E(assembly, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1664398343)) ?? throw _003CEnablePluginAsync_003Ed__10._202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-933355142)); - object obj6 = _003CEnablePluginAsync_003Ed__10._202A_206C_206E_206A_206D_206A_206C_206C_206F_200E_202D_202D_206C_202C_202C_200D_202B_200C_206E_200D_202A_202E_202A_200B_202D_202D_206C_200F_200D_200D_206F_206B_200C_202A_202D_206C_202D_200B_202D_202E_202E((MethodBase)(_003CEnablePluginAsync_003Ed__10._200B_200B_200D_200C_200E_202A_200D_206E_202A_202C_206D_206F_202C_206E_206F_202B_200D_206D_206E_200D_206F_202D_206E_206B_200E_202A_200F_200B_200C_202C_206C_200D_202E_206D_206B_202B_200B_206F_202E(_003CEnablePluginAsync_003Ed__10._206F_200F_206F_206A_202A_202C_200E_206E_202E_202B_200C_206B_200E_200E_206F_202E_206D_206B_202E_202C_200C_206A_202C_200B_202E_202D_202B_200F_202A_206F_200F_202B_206E_206F_202D_206E_206B_202D_200C_206E_202E(_003CEnablePluginAsync_003Ed__10._202E_200B_202B_202E_202A_202B_202A_202E_202E_202D_200B_200D_202C_202B_206F_202C_202A_202C_202E_202E_202C_206C_200C_202B_202D_206B_202B_200C_200D_200E_200B_206D_200B_206F_206E_200D_206B_200B_200F_202E(assembly, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1909913745)) ?? throw _003CEnablePluginAsync_003Ed__10._202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(2073227713)), new Type[1] { type3 }), global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(619471143)) ?? throw _003CEnablePluginAsync_003Ed__10._202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-2972004))), (object)null, BindingFlags.Default, (Binder)null, Array.Empty(), (CultureInfo)null) ?? throw _003CEnablePluginAsync_003Ed__10._202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-555459542)); - object obj7 = _003CEnablePluginAsync_003Ed__10._202E_202B_202A_206A_206A_200C_200C_206E_202E_202B_200D_206E_200B_202C_202C_200C_202B_200B_206E_200E_206D_200B_200D_200D_206D_206F_202B_206D_202B_206F_206A_202C_200D_202C_202A_202D_206F_206C_202C_202E(_003CEnablePluginAsync_003Ed__10._206D_202A_202B_200C_206D_202D_202A_202E_206E_202A_202C_200F_202B_206C_206E_202E_206D_202A_206F_206F_200E_206A_206F_206C_200E_206F_200F_206B_206C_206E_206A_206E_206E_206F_200C_200E_200F_206B_202A_202D_202E(type3, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-420103450), BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) ?? throw _003CEnablePluginAsync_003Ed__10._202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1512306431)), obj6) ?? throw _003CEnablePluginAsync_003Ed__10._202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(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(-1036682349)); - configuredTaskAwaiter = _003CEnablePluginAsync_003Ed__10._202E_206A_200F_200F_200D_206E_200D_200D_200F_200E_200B_206A_202D_200B_206C_200F_206D_200D_202E_206E_206A_202B_206D_200F_206F_202C_200E_206A_200D_202C_202B_206A_206B_206E_206D_200E_202C_202C_202E_206B_202E(((_003CEnablePluginAsync_003Ed__10._206E_206E_200F_202A_206A_200C_206E_200F_200F_200E_200D_206B_206E_206D_206E_202C_200F_202C_202A_200D_202D_206B_200C_202B_202E_200E_200E_200C_202A_206F_202E_206A_206A_206C_200E_206B_202A_202C_200B_200E_202E((MethodBase)(_003CEnablePluginAsync_003Ed__10._206D_206C_206F_202A_202B_206E_200B_206B_200C_206E_200F_202E_202A_202C_206F_202A_202D_206A_200D_200F_200E_206F_202D_206D_202A_206D_206F_206F_206E_206C_206D_206B_206D_206E_202B_200D_202A_202E_202D_206D_202E(_003CEnablePluginAsync_003Ed__10._202B_206E_206C_206A_202A_202C_202E_206C_206B_206B_200F_200D_202B_202A_200E_200C_206F_206E_202E_200D_206E_206D_202B_202D_206A_202D_200E_200F_200E_206B_206B_200E_206C_206E_200B_206E_206E_206B_206A_202D_202E(obj7), global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(2080206550), BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) ?? throw _003CEnablePluginAsync_003Ed__10._202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(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(793866729))), obj7, new object[4] { guid, internalName, true, false }) ?? throw _003CEnablePluginAsync_003Ed__10._202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(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(-86444387))) as Task) ?? throw _003CEnablePluginAsync_003Ed__10._202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(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(480378918)), false).GetAwaiter(); - num = (configuredTaskAwaiter.IsCompleted ? (-219266653) : (-219266656)); - continue; - } - case 31: - configuredTaskAwaiter.GetResult(); - type2 = _003CEnablePluginAsync_003Ed__10._202E_200B_202B_202E_202A_202B_202A_202E_202E_202D_200B_200D_202C_202B_206F_202C_202A_202C_202E_202E_202C_206C_200C_202B_202D_206B_202B_200C_200D_200E_200B_206D_200B_206F_206E_200D_206B_200B_200F_202E(assembly, 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(185084398)) ?? throw _003CEnablePluginAsync_003Ed__10._202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(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(303708542)); - obj5 = _003CEnablePluginAsync_003Ed__10._200B_206E_200C_202B_200F_206A_202E_200E_200E_202C_202E_202C_200F_202B_200E_206A_202B_200B_202E_206F_206F_200E_206D_206B_200B_206D_206C_200C_202B_206C_200E_202A_202A_202B_206D_206C_202E_206C_206C_202D_202E(type2, 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(-302107944)); - methodInfo = _003CEnablePluginAsync_003Ed__10._206D_206C_206F_202A_202B_206E_200B_206B_200C_206E_200F_202E_202A_202C_206F_202A_202D_206A_200D_200F_200E_206F_202D_206D_202A_206D_206F_206F_206E_206C_206D_206B_206D_206E_202B_200D_202A_202E_202D_206D_202E(localPluginType, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-226194717), BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) ?? throw _003CEnablePluginAsync_003Ed__10._202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(67221465)); - array2 = _003CEnablePluginAsync_003Ed__10._200C_202C_200E_206B_200B_206A_200E_206B_202E_202D_202C_202B_206A_206A_202C_206F_202E_200B_206F_202D_206C_200D_206B_206F_202B_206E_206E_206F_202D_206E_200D_206D_206E_206E_202D_200D_206B_202D_202C_200D_202E((MethodBase)methodInfo); - array3 = new object[array2.Length]; - num17 = 0; - num = -219266660; - continue; - case 28: - await configuredTaskAwaiter; - configuredTaskAwaiter = configuredTaskAwaiter2; - configuredTaskAwaiter2 = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - num = -219266653; - continue; - case 8: - localPluginType = _003CEnablePluginAsync_003Ed__10._202B_206E_206C_206A_202A_202C_202E_206C_206B_206B_200F_200D_202B_202A_200E_200C_206F_206E_202E_200D_206E_206D_202B_202D_206A_202D_200E_200F_200E_206B_206B_200E_206C_206E_200B_206E_206E_206B_206A_202D_202E(localPlugin); - array = new string[4] - { - 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(510149799), - 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(-1905938056), - 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(-315909297), - global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(840433285) - }; - num16 = 0; - num = -219266633; - continue; - case 19: - localPlugin = obj2; - num = -219266648; - continue; - case 23: - num = ((!(bool)obj4) ? (-219266664) : (-219266657)); - continue; - case 15: - configuredTaskAwaiter.GetResult(); - obj4 = _003CEnablePluginAsync_003Ed__10._202E_202B_202A_206A_206A_200C_200C_206E_202E_202B_200D_206E_200B_202C_202C_200C_202B_200B_206E_200E_206D_200B_200D_200D_206D_206F_202B_206D_202B_206F_206A_202C_200D_202C_202A_202D_206F_206C_202C_202E(isLoadedProperty, localPlugin); - num = ((!(obj4 is bool)) ? (-219266654) : (-219266651)); - continue; - case 36: - { - int num15 = num16; - num3 = 1; - num4 = num15; - num16 = (num4 | num3) + (num4 & num3); - num = -219266633; - continue; - } - case 29: - flag = (bool)obj4; - num14 = 1; - goto IL_04fe; - case 13: - num = ((!_003CEnablePluginAsync_003Ed__10._206B_206A_206C_200C_202D_200E_206E_202B_206A_202A_206E_206F_200C_200E_206E_202E_200E_206E_200B_206E_202A_206E_202E_206F_202C_200C_206E_200E_206A_206F_202B_206A_202B_200B_206A_202E_206B_200B_200E_206E_202E(type, _003CEnablePluginAsync_003Ed__10._202A_206E_206D_200E_202D_202B_206C_202B_200D_200D_200D_200B_202D_200F_206B_206F_200B_206E_202A_200C_200D_200F_206F_202E_200E_206E_202E_200D_206B_202C_200E_200B_206C_206F_206D_202B_200B_200B_206E_200D_202E(typeof(bool).TypeHandle))) ? (-219266630) : (-219266649)); - continue; - case 25: - { - loadedAfter = (bool)obj4; - num13 = 1; - goto IL_0651; - } - IL_0562: - throw _003CEnablePluginAsync_003Ed__10._202B_200B_200F_206E_202E_200D_206D_206B_202E_206E_206C_206F_202A_206A_200D_200D_200F_200E_206C_206D_206A_206B_202D_206B_206B_202D_206E_202A_206E_202D_206C_206D_200B_202A_200B_200B_200C_206E_206D_202C_202E(text2); - IL_04fe: - num = ((((uint)num14 & (flag ? 1u : 0u)) == 0) ? (-219266631) : (-219266634)); - continue; - IL_0651: - num = ((((uint)num13 & (loadedAfter ? 1u : 0u)) == 0) ? (-219266642) : (-219266627)); - continue; - } - break; } - await configuredTaskAwaiter; } + if (localPlugin == null && num == 1) + { + localPlugin = obj2; + } + if (localPlugin == null) + { + throw new InvalidOperationException((num == 0) ? ("Plugin '" + internalName + "' is not in PluginManager.InstalledPlugins - cannot enable") : $"Multiple copies of '{internalName}' installed and none match repo '{thirdPartyRepoUrl ?? "
"}' - cannot enable"); + } + Type localPluginType = localPlugin.GetType(); + string[] array = new string[4] { "IsBanned", "IsDecommissioned", "IsOrphaned", "IsOutdated" }; + object obj3; + foreach (string text2 in array) + { + obj3 = localPluginType.GetProperty(text2, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)?.GetValue(localPlugin); + if (obj3 is bool && (bool)obj3) + { + throw new InvalidOperationException($"Plugin '{internalName}' cannot be enabled - {text2} is set"); + } + } + PropertyInfo isLoadedProperty = localPluginType.GetProperty("IsLoaded") ?? throw new InvalidOperationException("LocalPlugin has no IsLoaded property - Dalamud internals may have changed"); + obj3 = isLoadedProperty.GetValue(localPlugin); + bool flag = default(bool); + int num2; + if (obj3 is bool) + { + flag = (bool)obj3; + num2 = 1; + } + else + { + num2 = 0; + } + if (((uint)num2 & (flag ? 1u : 0u)) != 0) + { + return true; + } + if (!((localPluginType.GetProperty("EffectiveWorkingPluginId", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) ?? throw new InvalidOperationException("LocalPlugin has no EffectiveWorkingPluginId property - Dalamud internals may have changed")).GetValue(localPlugin) is Guid guid)) + { + throw new InvalidOperationException("LocalPlugin.EffectiveWorkingPluginId was not a Guid - Dalamud internals may have changed"); + } + Type type = assembly.GetType("Dalamud.Plugin.Internal.Profiles.ProfileManager") ?? throw new InvalidOperationException("Could not find Dalamud.Plugin.Internal.Profiles.ProfileManager - Dalamud internals may have changed"); + object obj4 = ((assembly.GetType("Dalamud.Service`1") ?? throw new InvalidOperationException("Could not find Dalamud.Service`1 type - Dalamud internals may have changed")).MakeGenericType(type).GetMethod("Get") ?? throw new InvalidOperationException("Could not find Service.Get() - Dalamud internals may have changed")).Invoke(null, BindingFlags.Default, null, Array.Empty(), null) ?? throw new InvalidOperationException("Service.Get() returned null"); + object obj5 = (type.GetProperty("DefaultProfile", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) ?? throw new InvalidOperationException("Could not find ProfileManager.DefaultProfile - Dalamud internals may have changed")).GetValue(obj4) ?? throw new InvalidOperationException("ProfileManager.DefaultProfile returned null - Dalamud internals may have changed"); + await ((((obj5.GetType().GetMethod("AddOrUpdateAsync", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) ?? throw new InvalidOperationException("Could not find Profile.AddOrUpdateAsync - Dalamud internals may have changed")).Invoke(obj5, new object[4] { guid, internalName, true, false }) ?? throw new InvalidOperationException("Profile.AddOrUpdateAsync returned null - Dalamud internals may have changed")) as Task) ?? throw new InvalidOperationException("Profile.AddOrUpdateAsync did not return a Task - Dalamud internals may have changed")).ConfigureAwait(continueOnCapturedContext: false); + Type type2 = assembly.GetType("Dalamud.Plugin.PluginLoadReason") ?? throw new InvalidOperationException("Could not find Dalamud.Plugin.PluginLoadReason - Dalamud internals may have changed"); + object obj6 = Enum.Parse(type2, "Installer"); + MethodInfo methodInfo = localPluginType.GetMethod("LoadAsync", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) ?? throw new InvalidOperationException("Could not find LocalPlugin.LoadAsync - Dalamud internals may have changed"); + ParameterInfo[] parameters = methodInfo.GetParameters(); + object[] array2 = new object[parameters.Length]; + for (int j = 0; j < parameters.Length; j++) + { + Type parameterType = parameters[j].ParameterType; + if (parameterType == type2) + { + array2[j] = obj6; + } + else if (parameterType == typeof(bool)) + { + array2[j] = false; + } + else + { + array2[j] = (parameters[j].HasDefaultValue ? parameters[j].DefaultValue : null); + } + } + await (((methodInfo.Invoke(localPlugin, array2) ?? throw new InvalidOperationException("LocalPlugin.LoadAsync returned null - Dalamud internals may have changed")) as Task) ?? throw new InvalidOperationException("LocalPlugin.LoadAsync did not return a Task - Dalamud internals may have changed")).ConfigureAwait(continueOnCapturedContext: false); + obj3 = isLoadedProperty.GetValue(localPlugin); + bool loadedAfter = default(bool); + int num3; + if (obj3 is bool) + { + loadedAfter = (bool)obj3; + num3 = 1; + } + else + { + num3 = 0; + } + if (((uint)num3 & (loadedAfter ? 1u : 0u)) != 0) + { + return true; + } + throw new InvalidOperationException("Plugin '" + internalName + "' did not transition to loaded after LoadAsync - see /xllog"); } - [MethodImpl(MethodImplOptions.NoInlining)] private static bool LocalPluginMatchesRepo(object localPlugin, string? expectedRepoUrl, IReadOnlyList? aliases = null) { - PropertyInfo propertyInfo = _202E_200C_202C_206F_202E_200C_202A_202A_202B_202C_200D_202D_200C_206C_202C_202C_200F_206C_206A_202A_202E_206F_202B_206E_206A_202D_200B_202D_206C_206B_200F_206F_206A_206A_202A_200B_202C_200F_200E_202D_202E(_202E_206D_200C_206B_202C_200F_206C_206A_206D_206F_206C_202B_202B_200E_206D_202A_206A_202B_202C_206E_206A_200B_200C_200C_206E_200C_206D_202C_206D_202B_200C_206E_206A_206F_200E_202A_202E_200D_206D_206A_202E(localPlugin), global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1685908891), BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); - object obj = (((object)propertyInfo != null) ? _202A_202B_200E_200F_202D_206F_206B_200C_202B_202E_200E_200E_202B_206F_206A_206C_200F_200E_202E_200D_206E_206B_202C_200E_206B_206F_206E_206F_206C_202C_206C_200B_202A_202A_200D_202B_202B_206B_206E_206B_202E(propertyInfo, localPlugin) : null); - int num = ((obj != null) ? (-1744615779) : (-1744615788)); - string installedFrom = default(string); - while (true) + object obj = localPlugin.GetType().GetProperty("Manifest", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)?.GetValue(localPlugin); + if (obj == null) { - int num2 = num; - int num3 = -1744615787; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + if (string.IsNullOrEmpty(expectedRepoUrl)) { - default: - continue; - case 6: - return false; - case 8: - { - PropertyInfo propertyInfo2 = _202E_200C_202C_206F_202E_200C_202A_202A_202B_202C_200D_202D_200C_206C_202C_202C_200F_206C_206A_202A_202E_206F_202B_206E_206A_202D_200B_202D_206C_206B_200F_206F_206A_206A_202A_200B_202C_200F_200E_202D_202E(_202E_206D_200C_206B_202C_200F_206C_206A_206D_206F_206C_202B_202B_200E_206D_202A_206A_202B_202C_206E_206A_200B_200C_200C_206E_200C_206D_202C_206D_202B_200C_206E_206A_206F_200E_202A_202E_200D_206D_206A_202E(obj), global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(709710176), BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); - installedFrom = (((object)propertyInfo2 != null) ? _202A_202B_200E_200F_202D_206F_206B_200C_202B_202E_200E_200E_202B_206F_206A_206C_200F_200E_202E_200D_206E_206B_202C_200E_206B_206F_206E_206F_206C_202C_206C_200B_202A_202A_200D_202B_202B_206B_206E_206B_202E(propertyInfo2, obj) : null) as string; - num = ((!LocalPluginUrlMatches(installedFrom, expectedRepoUrl)) ? (-1744615791) : (-1744615792)); - continue; - } - case 7: - num = -1744615788; - continue; - case 3: - return aliases.Count == 0; - case 2: - num = ((aliases == null) ? (-1744615780) : (-1744615786)); - continue; - case 5: - return true; - case 1: - num = ((!_206D_202C_200B_202A_200E_202D_200D_206F_200C_206A_200E_202C_200B_200C_206B_200B_202B_206A_202A_206C_206E_206B_202D_206C_202D_202C_200F_206F_200C_202C_200E_202B_202E_206E_206A_206D_200E_202A_206D_206B_202E(expectedRepoUrl)) ? (-1744615789) : (-1744615785)); - continue; - case 9: - return true; - case 4: if (aliases != null) { - num = -1744615787; - continue; + return aliases.Count == 0; } - break; - case 0: + return true; + } + return false; + } + string installedFrom = obj.GetType().GetProperty("InstalledFromUrl", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)?.GetValue(obj) as string; + if (LocalPluginUrlMatches(installedFrom, expectedRepoUrl)) + { + return true; + } + if (aliases != null) + { + foreach (string alias in aliases) { - IEnumerator enumerator = aliases.GetEnumerator(); - try + if (LocalPluginUrlMatches(installedFrom, alias)) { - num = 1901558294; - while (true) - { - int num5 = num; - num3 = 1901558294; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 2: - return true; - case 4: - { - string current = enumerator.Current; - num = ((!LocalPluginUrlMatches(installedFrom, current)) ? 1901558294 : 1901558292); - break; - } - case 3: - num = 1901558294; - break; - case 0: - num = (_206F_200C_200B_206E_202D_200C_200E_202E_200C_200F_206C_206E_200B_200C_202C_200D_200F_206C_206C_202B_202B_202B_206C_206B_200C_206A_200F_200C_202B_206F_202D_200C_206B_200D_206A_202B_200D_200F_206F_202C_202E((IEnumerator)enumerator) ? 1901558290 : 1901558295); - break; - case 1: - goto end_IL_0167; - } - continue; - end_IL_0167: - break; - } + return true; } - finally - { - num = ((enumerator == null) ? 1363377408 : 1363377411); - while (true) - { - int num8 = num; - num3 = 1363377410; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 0: - num = 1363377411; - break; - case 2: - goto end_IL_022e; - case 1: - _200F_206A_202B_200D_200B_206E_202D_200D_202A_200B_202D_206D_200B_206E_202E_206E_202A_200C_206A_200D_200F_206E_200F_202C_202E_200B_202A_200D_200D_200B_200E_200D_202D_206C_206E_200F_202C_202D_202D_202A_202E((IDisposable)enumerator); - num = 1363377408; - break; - } - continue; - end_IL_022e: - break; - } - } - break; } - } - break; } return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private static bool LocalPluginUrlMatches(string? installedFrom, string? expectedRepoUrl) { - bool flag = _206D_202C_200B_202A_200E_202D_200D_206F_200C_206A_200E_202C_200B_200C_206B_200B_202B_206A_202A_206C_206E_206B_202D_206C_202D_202C_200F_206F_200C_202C_200E_202B_202E_206E_206A_206D_200E_202A_206D_206B_202E(expectedRepoUrl); - int num = (_206D_202C_200B_202A_200E_202D_200D_206F_200C_206A_200E_202C_200B_200C_206B_200B_202B_206A_202A_206C_206E_206B_202D_206C_202D_202C_200F_206F_200C_202C_200E_202B_202E_206E_206A_206D_200E_202A_206D_206B_202E(installedFrom) ? 1968257030 : 1968257031); - bool flag2 = default(bool); - while (true) + bool flag = string.IsNullOrEmpty(expectedRepoUrl); + bool flag2 = string.IsNullOrEmpty(installedFrom) || string.Equals(installedFrom, "OFFICIAL", StringComparison.OrdinalIgnoreCase); + if (flag && flag2) { - int num2 = num; - int num3 = 1968257029; - int num4 = num2; - int num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return false; - case 2: - num5 = (_200E_200D_200F_206B_200E_200E_206E_200B_206E_206A_202C_206E_200F_206D_200F_206C_206F_202C_206B_202D_200F_200C_202D_202C_200D_202E_206D_202A_202A_206A_200B_206F_202C_206B_200E_202A_206D_206D_206E_202E_202E(installedFrom, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-435753891), StringComparison.OrdinalIgnoreCase) ? 1 : 0); - goto IL_008c; - case 4: - return RepoUrlEquals(installedFrom, expectedRepoUrl); - case 3: - num5 = 1; - goto IL_008c; - case 6: - num3 = (flag2 ? 1 : 0); - num4 = (flag ? 1 : 0); - num = (((num4 & num3) + (num4 ^ num3) == 0) ? 1968257025 : 1968257028); - break; - case 5: - return true; - case 0: - { - num = 1968257031; - break; - } - IL_008c: - flag2 = (byte)num5 != 0; - num3 = (flag2 ? 1 : 0); - num4 = (flag ? 1 : 0); - num = ((num4 + num3 - (num4 | num3) == 0) ? 1968257027 : 1968257024); - break; - } + return true; } + if (flag || flag2) + { + return false; + } + return RepoUrlEquals(installedFrom, expectedRepoUrl); } private static async Task InvokeReloadAsync(object pluginManager, MethodInfo reloadMethod) { - int num = -99592058; - ConfiguredTaskAwaitable.ConfiguredTaskAwaiter configuredTaskAwaiter = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - ConfiguredTaskAwaitable.ConfiguredTaskAwaiter configuredTaskAwaiter2 = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - while (true) - { - int num2 = num; - int num3 = -99592059; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - await configuredTaskAwaiter; - num = -99592063; - break; - case 4: - configuredTaskAwaiter = configuredTaskAwaiter2; - configuredTaskAwaiter2 = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - num = -99592057; - break; - case 0: - num = -99592058; - break; - case 3: - configuredTaskAwaiter = _003CInvokeReloadAsync_003Ed__13._200E_206A_200B_200D_202D_206B_202D_202C_200F_206B_200F_200E_206C_200F_206C_200F_202A_206C_206B_200C_202E_200B_206E_206E_206C_202D_202B_202A_202C_206C_200C_202E_202D_200F_202B_200D_206F_200E_206B_202A_202E(((Task)_003CInvokeReloadAsync_003Ed__13._202D_206C_206C_200E_200B_206C_206B_206F_200D_206B_206D_202C_206D_200E_206C_200C_206B_200C_206C_202C_202D_206F_206B_202D_206B_202C_200C_202A_206C_206D_206C_200B_200C_200E_200C_206E_202E_206D_206A_206A_202E((MethodBase)reloadMethod, pluginManager, new object[1] { true })) ?? throw _003CInvokeReloadAsync_003Ed__13._202A_202B_200C_202E_200D_200D_206F_200F_200E_206C_206F_206D_200C_206A_202B_206B_200F_202C_200B_200B_200F_202B_200F_206F_206E_206C_200D_202A_200F_206C_200B_200E_206E_206B_202A_200C_206C_200B_206E_206D_202E(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(-7195696)), false).GetAwaiter(); - num = (configuredTaskAwaiter.IsCompleted ? (-99592057) : (-99592060)); - break; - case 2: - configuredTaskAwaiter.GetResult(); - return; - } - } + await (((Task)reloadMethod.Invoke(pluginManager, new object[1] { true })) ?? throw new InvalidOperationException("PluginManager.SetPluginReposFromConfigAsync returned null - Dalamud internals may have changed")).ConfigureAwait(continueOnCapturedContext: false); } - [MethodImpl(MethodImplOptions.NoInlining)] private static bool IsVariantLoaded(object pluginManager, string internalName, string? thirdPartyRepoUrl, IReadOnlyList? aliases = null) { - IEnumerable enumerable = _200F_200E_202E_202C_202C_200F_200F_206E_202A_200E_200E_206B_200F_200B_206D_202A_206C_206C_206C_206A_200D_200E_200F_202E_206F_206B_206D_200C_206E_202E_206B_200C_206B_200E_202E_206D_202B_200F_200D_200D_202E(_206C_200B_202A_206D_206E_206B_206A_200D_200E_200D_200C_202E_202A_200E_202E_206A_206B_200B_200C_202B_200D_206D_202B_202C_202C_206B_206D_206D_202E_206A_202E_200D_206C_202E_200B_202A_206A_200D_206C_202D_202E(_202E_206D_200C_206B_202C_200F_206C_206A_206D_206F_206C_202B_202B_200E_206D_202A_206A_202B_202C_206E_206A_200B_200C_200C_206E_200C_206D_202C_206D_202B_200C_206E_206A_206F_200E_202A_202E_200D_206D_206A_202E(pluginManager), 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(-1069078896)) ?? throw _202D_206D_202E_200D_202C_202B_206A_200F_200B_206D_200D_202E_200D_202E_202A_200F_202B_202C_202D_206A_206C_200D_206B_206B_200B_202C_206F_206B_200E_202C_200C_202B_202B_206C_206D_206C_200E_200D_202D_206B_202E(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1353226340)), pluginManager) as IEnumerable; - int num = ((enumerable != null) ? (-1331774432) : (-1331774431)); - object obj2 = default(object); - string text = default(string); - object obj = default(object); - while (true) + if (!((pluginManager.GetType().GetProperty("InstalledPlugins") ?? throw new InvalidOperationException("Could not find PluginManager.InstalledPlugins - Dalamud internals may have changed")).GetValue(pluginManager) is IEnumerable enumerable)) { - int num2 = num; - int num3 = -1331774432; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0084; - case 1: - return false; - case 0: - { - IEnumerator enumerator = _206D_200B_202A_206A_200B_206A_206B_202D_200F_206A_202C_206E_206B_202C_200C_206B_206E_202C_200F_202B_206F_202E_202E_200F_200D_206E_202A_202C_200E_200B_206A_200C_202C_206A_206D_200F_206F_206C_206B_206F_202E(enumerable); - try - { - num = 1358949611; - while (true) - { - int num7 = num; - num3 = 1358949609; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 9: - num = ((!LocalPluginMatchesRepo(obj2, thirdPartyRepoUrl, aliases)) ? 1358949611 : 1358949601); - break; - case 0: - { - PropertyInfo propertyInfo2 = _202E_200C_202C_206F_202E_200C_202A_202A_202B_202C_200D_202D_200C_206C_202C_202C_200F_206C_206A_202A_202E_206F_202B_206E_206A_202D_200B_202D_206C_206B_200F_206F_206A_206A_202A_200B_202C_200F_200E_202D_202E(_202E_206D_200C_206B_202C_200F_206C_206A_206D_206F_206C_202B_202B_200E_206D_202A_206A_202B_202C_206E_206A_200B_200C_200C_206E_200C_206D_202C_206D_202B_200C_206E_206A_206F_200E_202A_202E_200D_206D_206A_202E(obj2), 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(1288595854), BindingFlags.Instance | BindingFlags.Public); - text = (((object)propertyInfo2 != null) ? _202A_202B_200E_200F_202D_206F_206B_200C_202B_202E_200E_200E_202B_206F_206A_206C_200F_200E_202E_200D_206E_206B_202C_200E_206B_206F_206E_206F_206C_202C_206C_200B_202A_202A_200D_202B_202B_206B_206E_206B_202E(propertyInfo2, obj2) : null) as string; - num = ((text == null) ? 1358949611 : 1358949613); - break; - } - case 2: - num = (_206F_200C_200B_206E_202D_200C_200E_202E_200C_200F_206C_206E_200B_200C_202C_200D_200F_206C_206C_202B_202B_202B_206C_206B_200C_206A_200F_200C_202B_206F_202D_200C_206B_200D_206A_202B_200D_200F_206F_202C_202E(enumerator) ? 1358949612 : 1358949610); - break; - case 7: - num = 1358949611; - break; - case 4: - num = (_200D_200F_200D_206F_200D_206D_202D_206E_200C_200F_202E_206D_206E_200C_200D_206A_200B_202B_202B_200E_202D_206E_200B_206D_200C_200D_200D_200B_202E_200B_202C_202C_200D_202C_200E_202E_200D_206E_206C_202A_202E(text, internalName) ? 1358949611 : 1358949608); - break; - case 8: - return true; - case 1: - { - PropertyInfo propertyInfo = _202E_200C_202C_206F_202E_200C_202A_202A_202B_202C_200D_202D_200C_206C_202C_202C_200F_206C_206A_202A_202E_206F_202B_206E_206A_202D_200B_202D_206C_206B_200F_206F_206A_206A_202A_200B_202C_200F_200E_202D_202E(_202E_206D_200C_206B_202C_200F_206C_206A_206D_206F_206C_202B_202B_200E_206D_202A_206A_202B_202C_206E_206A_200B_200C_200C_206E_200C_206D_202C_206D_202B_200C_206E_206A_206F_200E_202A_202E_200D_206D_206A_202E(obj2), global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1106796058), BindingFlags.Instance | BindingFlags.Public); - obj = (((object)propertyInfo != null) ? _202A_202B_200E_200F_202D_206F_206B_200C_202B_202E_200E_200E_202B_206F_206A_206C_200F_200E_202E_200D_206E_206B_202C_200E_206B_206F_206E_206F_206C_202C_206C_200B_202A_202A_200D_202B_202B_206B_206E_206B_202E(propertyInfo, obj2) : null); - num = ((!(obj is bool)) ? 1358949611 : 1358949615); - break; - } - case 5: - obj2 = _206F_200F_200C_202D_202E_202A_202A_202C_200D_200D_206F_206E_206B_200C_200B_202C_206D_206A_206D_202D_202B_200E_206D_202B_200B_202C_206D_200D_202D_206A_206A_202C_202E_206D_206E_206B_200F_200B_206D_202B_202E(enumerator); - num = ((obj2 == null) ? 1358949611 : 1358949609); - break; - case 6: - num = ((!(bool)obj) ? 1358949611 : 1358949600); - break; - case 3: - goto end_IL_00a5; - } - continue; - end_IL_00a5: - break; - } - } - finally - { - IDisposable disposable = enumerator as IDisposable; - num = ((disposable == null) ? (-2122455954) : (-2122455955)); - while (true) - { - int num8 = num; - num3 = -2122455953; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 1: - goto end_IL_0290; - case 2: - _200F_206A_202B_200D_200B_206E_202D_200D_202A_200B_202D_206D_200B_206E_202E_206E_202A_200C_206A_200D_200F_206E_200F_202C_202E_200B_202A_200D_200D_200B_200E_200D_202D_206C_206E_200F_202C_202D_202D_202A_202E(disposable); - num = -2122455954; - break; - case 0: - num = -2122455955; - break; - } - continue; - end_IL_0290: - break; - } - } - return false; - } - } - continue; - IL_0084: - num = -1331774431; + return false; } + foreach (object item in enumerable) + { + if (item != null && item.GetType().GetProperty("InternalName", BindingFlags.Instance | BindingFlags.Public)?.GetValue(item) is string text && !(text != internalName)) + { + object obj = item.GetType().GetProperty("IsLoaded", BindingFlags.Instance | BindingFlags.Public)?.GetValue(item); + if (obj is bool && (bool)obj && LocalPluginMatchesRepo(item, thirdPartyRepoUrl, aliases)) + { + return true; + } + } + } + return false; } internal static bool RepoUrlEquals(string? a, string? b) { - int num = ((a == null) ? (-2066126507) : (-2066126505)); - while (true) + if (a == null || b == null) { - int num2 = num; - int num3 = -2066126506; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -2066126505; - break; - case 0: - return _200E_200D_200F_206B_200E_200E_206E_200B_206E_206A_202C_206E_200F_206D_200F_206C_206F_202C_206B_202D_200F_200C_202D_202C_200D_202E_206D_202A_202A_206A_200B_206F_202C_206B_200E_202A_206D_206D_206E_202E_202E(CanonicalizeRepoUrl(a), CanonicalizeRepoUrl(b), StringComparison.OrdinalIgnoreCase); - case 1: - num = ((b != null) ? (-2066126506) : (-2066126507)); - break; - case 3: - return _206C_200E_200C_200C_206B_206A_202A_200E_206E_200F_202E_200B_202B_206C_206F_202C_202A_206E_206F_202A_206F_202A_200F_200B_206D_202D_200D_206B_202A_202B_202E_202B_202A_206B_206A_200E_202B_206E_206B_202C_202E(a, b); - } + return a == b; } + return string.Equals(CanonicalizeRepoUrl(a), CanonicalizeRepoUrl(b), StringComparison.OrdinalIgnoreCase); } - [MethodImpl(MethodImplOptions.NoInlining)] private static string CanonicalizeRepoUrl(string url) { - Uri uri = default(Uri); - int num = (_206F_200D_202B_206B_206C_206B_200C_202E_202B_206C_202E_200B_202A_200D_206A_202C_202D_202E_200D_202A_206F_200D_206E_202A_202A_202B_200E_206F_202A_200D_200E_200F_200D_202E_206F_200E_202C_202B_206F_202D_202E(url, UriKind.Absolute, ref uri) ? 530622185 : 530622188); - string text = default(string); - string[] array = default(string[]); - string value = default(string); - string value2 = default(string); - int num7 = default(int); - while (true) + if (!Uri.TryCreate(url, UriKind.Absolute, out Uri result)) { - int num2 = num; - int num3 = 530622183; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return url.TrimEnd('/'); + } + string host = result.Host; + string[] array = result.AbsolutePath.Split('/', StringSplitOptions.RemoveEmptyEntries); + if (host.Equals("github.com", StringComparison.OrdinalIgnoreCase) && array.Length >= 4 && string.Equals(array[2], "raw", StringComparison.OrdinalIgnoreCase)) + { + string value = array[0]; + string value2 = array[1]; + int num = 3; + if (array.Length >= 6 && string.Equals(array[3], "refs", StringComparison.OrdinalIgnoreCase) && string.Equals(array[4], "heads", StringComparison.OrdinalIgnoreCase)) { - case 10: - num = ((!_200F_202A_200C_206C_200F_206E_202A_206B_200E_206C_202A_202A_202E_206F_202E_202A_200B_200D_206C_202C_206D_200C_206E_200E_206F_200D_206F_200F_200E_200C_202E_206A_206A_200D_202C_206D_202D_206E_200E_202E(text, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-1128935720), StringComparison.OrdinalIgnoreCase)) ? 530622199 : 530622184); - break; - case 15: - num = ((array.Length < 5) ? 530622199 : 530622178); - break; - case 6: - value = array[0]; - value2 = array[1]; - num7 = 3; - num = ((array.Length < 6) ? 530622179 : 530622191); - break; - case 12: - num7 = 5; - num = 530622179; - break; - case 16: - { - UriBuilder uriBuilder = _206B_200E_202B_202B_202A_202C_206B_200C_206A_206D_202B_202E_200D_202D_202C_206E_206C_202A_206A_206A_200D_200C_206A_200D_206A_202D_202C_206A_202B_206B_200C_200B_202E_202A_206D_202C_206A_200D_202D_206E_202E(uri); - _206D_202A_206B_206F_206F_206F_202A_202A_206C_206A_202D_206B_206C_202D_200C_200D_202D_202B_202E_202A_200B_200D_206A_200C_202D_202B_206B_202E_200F_206F_200F_202E_206C_200C_206E_200E_200B_206E_200E_200E_202E(uriBuilder, _202D_206B_202E_202B_202E_206F_206A_202C_202E_206E_206A_200B_202A_200D_200C_206C_202B_200B_200F_206E_206E_206A_206F_200B_206E_206A_206C_200F_206C_200B_206B_200E_206E_206E_200F_206C_206D_200D_200E_200C_202E(text)); - _206D_202A_200C_200E_200D_200D_200C_206C_202C_200E_200C_206A_200E_202C_206A_202B_200E_200F_200F_206C_206D_206F_202C_206E_200C_202B_202A_200D_202C_200F_202B_206C_200D_206F_202B_202B_202E_200E_200E_206D_202E(uriBuilder, string.Empty); - _202B_200E_202D_206D_200D_206B_206D_206D_202E_206E_200E_200C_202A_202D_200F_200B_202B_200D_206F_202B_202D_206F_202B_200B_200C_206C_202A_200D_200B_206F_206C_202D_200C_202D_206E_200C_202A_206B_200C_202C_202E(uriBuilder, string.Empty); - _202E_200C_206F_206B_200F_200F_206D_206A_202B_202C_200E_200F_202E_206F_200F_200E_202C_200D_200F_206D_200F_200B_200D_200E_202D_202C_202D_206E_206B_202D_202E_202A_202B_200B_206E_200B_206F_202C_206A_200C_202E(uriBuilder, _200F_206B_206A_206D_202A_202E_200D_202E_206B_202C_200D_202A_206C_202A_202E_202B_202A_206A_202A_202B_206B_206D_200E_200C_206A_206D_202E_200E_206C_206D_206F_202D_206D_202A_206D_202E_202E_202E_200F_206E_202E(_202B_206B_202E_202C_200D_202B_200C_202C_206B_206C_206E_200F_202C_206A_206A_200D_206B_206F_206F_200C_206D_200B_200D_202D_200E_206D_202D_200E_206A_202A_200C_202D_202C_202A_200E_202E_202D_202C_200F_206C_202E(uri), '/')); - return _200F_206B_206A_206D_202A_202E_200D_202E_206B_202C_200D_202A_206C_202A_202E_202B_202A_206A_202A_202B_206B_206D_200E_200C_206A_206D_202E_200E_206C_206D_206F_202D_206D_202A_206D_202E_202E_202E_200F_206E_202E(_200D_202D_200E_206E_200F_202D_202D_202C_202B_200D_200F_206A_202D_202D_200E_202E_206D_206A_200E_200F_206A_206F_202D_200D_200F_200E_206F_200B_202D_202B_206B_202A_202C_206B_200D_202A_202E_202D_206C_202A_202E((object)_206B_206D_200E_206E_200D_206C_202B_202E_202C_200F_206A_202D_200D_206A_206B_200D_206A_200E_202B_206D_200D_206F_202B_206F_200D_202B_206F_200E_206C_206D_200E_206E_202A_202B_202E_206E_206A_202D_200C_202B_202E(uriBuilder)), '/'); + num = 5; } - case 11: - return _200F_206B_206A_206D_202A_202E_200D_202E_206B_202C_200D_202A_206C_202A_202E_202B_202A_206A_202A_202B_206B_206D_200E_200C_206A_206D_202E_200E_206C_206D_206F_202D_206D_202A_206D_202E_202E_202E_200F_206E_202E(url, '/'); - case 4: - num = ((array.Length <= num7) ? 530622199 : 530622186); - break; - case 13: + if (array.Length > num) { - string value6 = string.Join('/', array.Skip(num7)); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(36, 3); - defaultInterpolatedStringHandler2.AppendLiteral(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(305796847)); - defaultInterpolatedStringHandler2.AppendFormatted(value); - defaultInterpolatedStringHandler2.AppendLiteral(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(453460398)); - defaultInterpolatedStringHandler2.AppendFormatted(value2); - defaultInterpolatedStringHandler2.AppendLiteral(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(1537983182)); - defaultInterpolatedStringHandler2.AppendFormatted(value6); - return defaultInterpolatedStringHandler2.ToStringAndClear(); - } - case 7: - num = ((!_200E_200D_200F_206B_200E_200E_206E_200B_206E_206A_202C_206E_200F_206D_200F_206C_206F_202C_206B_202D_200F_200C_202D_202C_200D_202E_206D_202A_202A_206A_200B_206F_202C_206B_200E_202A_206D_206D_206E_202E_202E(array[4], 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(1341608927), StringComparison.OrdinalIgnoreCase)) ? 530622179 : 530622187); - break; - case 3: - num = ((!_200E_200D_200F_206B_200E_200E_206E_200B_206E_206A_202C_206E_200F_206D_200F_206C_206F_202C_206B_202D_200F_200C_202D_202C_200D_202E_206D_202A_202A_206A_200B_206F_202C_206B_200E_202A_206D_206D_206E_202E_202E(array[2], 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(-26671864), StringComparison.OrdinalIgnoreCase)) ? 530622189 : 530622177); - break; - case 9: - num = ((!_200E_200D_200F_206B_200E_200E_206E_200B_206E_206A_202C_206E_200F_206D_200F_206C_206F_202C_206B_202D_200F_200C_202D_202C_200D_202E_206D_202A_202A_206A_200B_206F_202C_206B_200E_202A_206D_206D_206E_202E_202E(array[3], 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(602707159), StringComparison.OrdinalIgnoreCase)) ? 530622199 : 530622181); - break; - case 0: - num = 530622188; - break; - case 8: - num = ((!_200E_200D_200F_206B_200E_200E_206E_200B_206E_206A_202C_206E_200F_206D_200F_206C_206F_202C_206B_202D_200F_200C_202D_202C_200D_202E_206D_202A_202A_206A_200B_206F_202C_206B_200E_202A_206D_206D_206E_202E_202E(array[3], global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-773139783), StringComparison.OrdinalIgnoreCase)) ? 530622179 : 530622176); - break; - case 2: - { - string value3 = array[0]; - string value4 = array[1]; - string value5 = string.Join('/', array.Skip(4)); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(36, 3); - defaultInterpolatedStringHandler.AppendLiteral(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(-332568864)); - defaultInterpolatedStringHandler.AppendFormatted(value3); - defaultInterpolatedStringHandler.AppendLiteral(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(1537983182)); - defaultInterpolatedStringHandler.AppendFormatted(value4); - defaultInterpolatedStringHandler.AppendLiteral(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(1817903541)); - defaultInterpolatedStringHandler.AppendFormatted(value5); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - case 5: - num = ((!_200E_200D_200F_206B_200E_200E_206E_200B_206E_206A_202C_206E_200F_206D_200F_206C_206F_202C_206B_202D_200F_200C_202D_202C_200D_202E_206D_202A_202A_206A_200B_206F_202C_206B_200E_202A_206D_206D_206E_202E_202E(array[2], 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(-1962363194), StringComparison.OrdinalIgnoreCase)) ? 530622199 : 530622190); - break; - case 1: - num = ((array.Length < 4) ? 530622189 : 530622180); - break; - case 14: - text = _200B_206E_202A_200D_202B_202B_200C_206D_206D_202E_202C_206A_200C_202A_202E_206D_206A_200E_200B_200E_206B_206E_206F_206E_206F_206D_206E_200E_202C_202B_206C_200B_206D_206B_206F_206D_206D_200C_206E_206D_202E(uri); - array = _206C_206C_206D_200D_202B_200E_206E_202A_202A_206E_206A_202A_206B_200D_200C_202D_206E_202C_206B_206C_206F_200B_202C_202C_206A_206A_202B_200E_200E_200F_200B_200F_206E_202E_206C_206D_206B_202E_206F_206E_202E(_202B_206B_202E_202C_200D_202B_200C_202C_206B_206C_206E_200F_202C_206A_206A_200D_206B_206F_206F_200C_206D_200B_200D_202D_200E_206D_202D_200E_206A_202A_200C_202D_202C_202A_200E_202E_202D_202C_200F_206C_202E(uri), '/', StringSplitOptions.RemoveEmptyEntries); - num = ((!_200F_202A_200C_206C_200F_206E_202A_206B_200E_206C_202A_202A_202E_206F_202E_202A_200B_200D_206C_202C_206D_200C_206E_200E_206F_200D_206F_200F_200E_200C_202E_206A_206A_200D_202C_206D_202D_206E_200E_202E(text, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(416896839), StringComparison.OrdinalIgnoreCase)) ? 530622189 : 530622182); - break; + string value3 = string.Join('/', array.Skip(num)); + return $"https://raw.githubusercontent.com/{value}/{value2}/{value3}"; } } + else if (host.Equals("raw.githubusercontent.com", StringComparison.OrdinalIgnoreCase) && array.Length >= 5 && string.Equals(array[2], "refs", StringComparison.OrdinalIgnoreCase) && string.Equals(array[3], "heads", StringComparison.OrdinalIgnoreCase)) + { + string value4 = array[0]; + string value5 = array[1]; + string value6 = string.Join('/', array.Skip(4)); + return $"https://raw.githubusercontent.com/{value4}/{value5}/{value6}"; + } + return new UriBuilder(result) + { + Host = host.ToLowerInvariant(), + Query = string.Empty, + Fragment = string.Empty, + Path = result.AbsolutePath.TrimEnd('/') + }.Uri.ToString().TrimEnd('/'); } - [MethodImpl(MethodImplOptions.NoInlining)] private static void AddOrEnableThirdPartyRepo(Assembly assembly, string repoUrl) { object dalamudConfiguration = GetDalamudConfiguration(assembly); - IList list = (GetFieldOrPropertyValue(dalamudConfiguration, 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(-964957061)) as IList) ?? throw _202D_206D_202E_200D_202C_202B_206A_200F_200B_206D_200D_202E_200D_202E_202A_200F_202B_202C_202D_206A_206C_200D_206B_206B_200B_202C_206F_206B_200E_202C_200C_202B_202B_206C_206D_206C_200E_200D_202D_206B_202E(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(1646915115)); - Type type = _202A_206F_206D_200B_200D_202B_200B_202B_202D_200E_202A_206D_202D_202E_206A_206E_206C_200D_206C_200D_202B_206E_202B_200B_200E_206D_206D_200E_200C_200B_206D_206F_200D_200D_202D_200D_206C_206B_202C_202A_202E(assembly, 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(1877024477)) ?? throw _202D_206D_202E_200D_202C_202B_206A_200F_200B_206D_200D_202E_200D_202E_202A_200F_202B_202C_202D_206A_206C_200D_206B_206B_200B_202C_206F_206B_200E_202C_200C_202B_202B_206C_206D_206C_200E_200D_202D_206B_202E(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(1453439841)); - IEnumerator enumerator = _206D_200B_202A_206A_200B_206A_206B_202D_200F_206A_202C_206E_206B_202C_200C_206B_206E_202C_200F_202B_206F_202E_202E_200F_200D_206E_202A_202C_200E_200B_206A_200C_202C_206A_206D_200F_206F_206C_206B_206F_202E((IEnumerable)list); - try + IList list = (GetFieldOrPropertyValue(dalamudConfiguration, "ThirdRepoList") as IList) ?? throw new InvalidOperationException("Could not read DalamudConfiguration.ThirdRepoList as IList - Dalamud internals may have changed"); + Type type = assembly.GetType("Dalamud.Configuration.ThirdPartyRepoSettings") ?? throw new InvalidOperationException("Could not find Dalamud.Configuration.ThirdPartyRepoSettings - Dalamud internals may have changed"); + foreach (object item in list) { - int num = -1033870805; - bool flag = default(bool); - object obj = default(object); - object fieldOrPropertyValue = default(object); - while (true) + if (item != null && RepoUrlEquals(GetFieldOrPropertyValue(item, "Url") as string, repoUrl)) { - int num2 = num; - int num3 = -1033870808; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + bool flag = false; + object fieldOrPropertyValue = GetFieldOrPropertyValue(item, "IsEnabled"); + if (fieldOrPropertyValue is bool && !(bool)fieldOrPropertyValue) { - case 9: - num = ((!flag) ? (-1033870806) : (-1033870802)); - break; - case 0: - num = ((!RepoUrlEquals(GetFieldOrPropertyValue(obj, 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(2027261338)) as string, repoUrl)) ? (-1033870805) : (-1033870814)); - break; - case 1: - SetFieldOrPropertyValue(obj, 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(-686673173), true); + SetFieldOrPropertyValue(item, "IsEnabled", true); flag = true; - num = -1033870815; - break; - case 10: - flag = false; - fieldOrPropertyValue = GetFieldOrPropertyValue(obj, 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(-1602768536)); - num = ((!(fieldOrPropertyValue is bool)) ? (-1033870815) : (-1033870816)); - break; - case 4: - num = -1033870805; - break; - case 6: - SaveDalamudConfig(dalamudConfiguration); - num = -1033870806; - break; - case 8: - num = (((bool)fieldOrPropertyValue) ? (-1033870815) : (-1033870807)); - break; - case 3: - num = (_206F_200C_200B_206E_202D_200C_200E_202E_200C_200F_206C_206E_200B_200C_202C_200D_200F_206C_206C_202B_202B_202B_206C_206B_200C_206A_200F_200C_202B_206F_202D_200C_206B_200D_206A_202B_200D_200F_206F_202C_202E(enumerator) ? (-1033870801) : (-1033870803)); - break; - case 7: - obj = _206F_200F_200C_202D_202E_202A_202A_202C_200D_200D_206F_206E_206B_200C_200B_202C_206D_206A_206D_202D_202B_200E_206D_202B_200B_202C_206D_200D_202D_206A_206A_202C_202E_206D_206E_206B_200F_200B_206D_202B_202E(enumerator); - num = ((obj == null) ? (-1033870805) : (-1033870808)); - break; - case 2: - return; - case 5: - goto end_IL_0070; } - continue; - end_IL_0070: - break; - } - } - finally - { - IDisposable disposable = enumerator as IDisposable; - int num = ((disposable == null) ? (-317404082) : (-317404081)); - while (true) - { - int num5 = num; - int num3 = -317404082; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) + if (flag) { - case 2: - num = -317404081; - break; - case 0: - goto end_IL_0244; - case 1: - _200F_206A_202B_200D_200B_206E_202D_200D_202A_200B_202D_206D_200B_206E_202E_206E_202A_200C_206A_200D_200F_206E_200F_202C_202E_200B_202A_200D_200D_200B_200E_200D_202D_206C_206E_200F_202C_202D_202D_202A_202E(disposable); - num = -317404082; - break; + SaveDalamudConfig(dalamudConfiguration); } - continue; - end_IL_0244: - break; + return; } } - object obj2 = _206F_206C_202E_206D_200D_200F_202B_206F_200D_200E_202E_202B_206C_206B_202D_206D_206A_206A_206F_206B_200F_206E_206D_206A_200E_206F_206A_206A_206E_206B_206D_206D_200C_200C_200B_206C_202E_202D_200F_200F_202E(type) ?? throw _202D_206D_202E_200D_202C_202B_206A_200F_200B_206D_200D_202E_200D_202E_202A_200F_202B_202C_202D_206A_206C_200D_206B_206B_200B_202C_206F_206B_200E_202C_200C_202B_202B_206C_206D_206C_200E_200D_202D_206B_202E(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(-1179183900)); - SetFieldOrPropertyValue(obj2, 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(2027261338), repoUrl); - SetFieldOrPropertyValue(obj2, 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(-2043613357), true); - _206B_206D_202C_206A_206A_206E_200B_206A_202A_206A_202B_206B_202E_202A_206D_206E_206A_206C_206B_206F_202B_206E_200C_206D_206F_202B_200D_202A_206E_206F_206B_206B_202C_200B_206A_202E_202C_200F_202D_206B_202E(list, obj2); + object obj = Activator.CreateInstance(type) ?? throw new InvalidOperationException("Activator.CreateInstance(ThirdPartyRepoSettings) returned null - Dalamud internals may have changed"); + SetFieldOrPropertyValue(obj, "Url", repoUrl); + SetFieldOrPropertyValue(obj, "IsEnabled", true); + list.Add(obj); SaveDalamudConfig(dalamudConfiguration); } - [MethodImpl(MethodImplOptions.NoInlining)] private static object? GetFieldOrPropertyValue(object target, string name) { - Type type = _202E_206D_200C_206B_202C_200F_206C_206A_206D_206F_206C_202B_202B_200E_206D_202A_206A_202B_202C_206E_206A_200B_200C_200C_206E_200C_206D_202C_206D_202B_200C_206E_206A_206F_200E_202A_202E_200D_206D_206A_202E(target); - FieldInfo fieldInfo = _206C_206F_200C_206B_202B_202C_200F_206A_200C_202A_206D_200F_206F_202D_206E_202C_202B_200C_202B_200C_202C_202D_202B_200B_200E_202D_202C_202A_200D_206E_206F_202B_200D_206A_200F_206F_206D_200D_200F_206A_202E(type, name, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); - int num = ((!_200E_206D_200C_206B_202C_200D_206B_202A_206F_202C_206D_206D_200E_202D_202A_200E_202E_206D_206E_202A_206A_206A_206B_206A_202B_206A_202A_202C_206D_200C_200C_206A_202C_200F_200F_202D_202C_206A_202D_206A_202E(fieldInfo, (FieldInfo)null)) ? 2137954489 : 2137954494); - PropertyInfo propertyInfo = default(PropertyInfo); - while (true) + Type type = target.GetType(); + FieldInfo field = type.GetField(name, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); + if (field != null) { - int num2 = num; - int num3 = 2137954490; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(76, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(-1361415750)); - defaultInterpolatedStringHandler.AppendFormatted(name); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-628391309)); - defaultInterpolatedStringHandler.AppendFormatted(_200B_200F_206F_200F_202C_206D_200C_206D_202C_200E_200B_200D_200C_206E_206A_200D_202E_206E_200F_202E_202A_206A_202B_200D_200F_202D_202D_206D_200F_200C_200D_200B_206B_200F_206E_202C_202D_200E_202B_202A_202E(type)); - defaultInterpolatedStringHandler.AppendLiteral(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(-329405732)); - throw _202D_206D_202E_200D_202C_202B_206A_200F_200B_206D_200D_202E_200D_202E_202A_200F_202B_202C_202D_206A_206C_200D_206B_206B_200B_202C_206F_206B_200E_202C_200C_202B_202B_206C_206D_206C_200E_200D_202D_206B_202E(defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 3: - propertyInfo = _202E_200C_202C_206F_202E_200C_202A_202A_202B_202C_200D_202D_200C_206C_202C_202C_200F_206C_206A_202A_202E_206F_202B_206E_206A_202D_200B_202D_206C_206B_200F_206F_206A_206A_202A_200B_202C_200F_200E_202D_202E(type, name, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); - num = ((!_206F_206C_202A_202A_200D_202C_206D_202B_200C_206A_200E_200B_200E_206E_202A_206A_206A_206A_206F_206C_200B_202C_202E_202E_206D_206D_206D_200C_202B_202A_202B_202A_200F_206F_200E_200E_202A_200D_206B_200D_202E(propertyInfo, (PropertyInfo)null)) ? 2137954491 : 2137954488); - break; - case 2: - return _200F_200E_202E_202C_202C_200F_200F_206E_202A_200E_200E_206B_200F_200B_206D_202A_206C_206C_206C_206A_200D_200E_200F_202E_206F_206B_206D_200C_206E_202E_206B_200C_206B_200E_202E_206D_202B_200F_200D_200D_202E(propertyInfo, target); - case 4: - return _200B_200C_202B_200B_200F_206A_206B_202E_200F_206D_200B_202A_206D_202B_200D_206A_200B_200F_200B_206A_202D_202A_202C_206E_202A_206C_200C_206D_206D_202D_202D_206F_200C_202D_206C_200F_202B_202C_206F_200C_202E(fieldInfo, target); - case 0: - num = 2137954494; - break; - } + return field.GetValue(target); } + PropertyInfo property = type.GetProperty(name, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); + if (property != null) + { + return property.GetValue(target); + } + throw new InvalidOperationException($"Could not find field or property '{name}' on {type.FullName} - Dalamud internals may have changed"); } - [MethodImpl(MethodImplOptions.NoInlining)] private static void SetFieldOrPropertyValue(object target, string name, object value) { - Type type = _202E_206D_200C_206B_202C_200F_206C_206A_206D_206F_206C_202B_202B_200E_206D_202A_206A_202B_202C_206E_206A_200B_200C_200C_206E_200C_206D_202C_206D_202B_200C_206E_206A_206F_200E_202A_202E_200D_206D_206A_202E(target); - FieldInfo fieldInfo = _206C_206F_200C_206B_202B_202C_200F_206A_200C_202A_206D_200F_206F_202D_206E_202C_202B_200C_202B_200C_202C_202D_202B_200B_200E_202D_202C_202A_200D_206E_206F_202B_200D_206A_200F_206F_206D_200D_200F_206A_202E(type, name, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); - int num = ((!_200E_206D_200C_206B_202C_200D_206B_202A_206F_202C_206D_206D_200E_202D_202A_200E_202E_206D_206E_202A_206A_206A_206B_206A_202B_206A_202A_202C_206D_200C_200C_206A_202C_200F_200F_202D_202C_206A_202D_206A_202E(fieldInfo, (FieldInfo)null)) ? 1086843726 : 1086843724); - PropertyInfo propertyInfo = default(PropertyInfo); - while (true) + Type type = target.GetType(); + FieldInfo field = type.GetField(name, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); + if (field != null) { - int num2 = num; - int num3 = 1086843725; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - propertyInfo = _202E_200C_202C_206F_202E_200C_202A_202A_202B_202C_200D_202D_200C_206C_202C_202C_200F_206C_206A_202A_202E_206F_202B_206E_206A_202D_200B_202D_206C_206B_200F_206F_206A_206A_202A_200B_202C_200F_200E_202D_202E(type, name, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); - num = ((!_206F_206C_202A_202A_200D_202C_206D_202B_200C_206A_200E_200B_200E_206E_202A_206A_206A_206A_206F_206C_200B_202C_202E_202E_206D_206D_206D_200C_202B_202A_202B_202A_200F_206F_200E_200E_202A_200D_206B_200D_202E(propertyInfo, (PropertyInfo)null)) ? 1086843727 : 1086843721); - break; - case 1: - _206F_206F_206A_202C_206A_202C_200E_200C_206D_200C_200B_200C_206F_206E_200F_200E_200B_206C_202A_206A_202B_200F_200D_202B_206B_202A_206D_206B_202B_206A_202D_202D_206C_202C_200E_200C_200F_200F_206F_202B_202E(fieldInfo, target, value); - return; - case 4: - num = ((!_200D_206E_200E_200E_202A_202D_202D_200C_200B_202D_200B_200B_200D_200F_206A_200B_202D_206F_206E_206E_200D_202E_202D_200C_202E_206A_206A_206D_200E_206F_200B_206A_206F_206F_202E_200D_202D_200E_200B_206B_202E(propertyInfo)) ? 1086843727 : 1086843725); - break; - case 2: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(75, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(2111351755)); - defaultInterpolatedStringHandler.AppendFormatted(name); - defaultInterpolatedStringHandler.AppendLiteral(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(-1540325773)); - defaultInterpolatedStringHandler.AppendFormatted(_200B_200F_206F_200F_202C_206D_200C_206D_202C_200E_200B_200D_200C_206E_206A_200D_202E_206E_200F_202E_202A_206A_202B_200D_200F_202D_202D_206D_200F_200C_200D_200B_206B_200F_206E_202C_202D_200E_202B_202A_202E(type)); - defaultInterpolatedStringHandler.AppendLiteral(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(-1985257044)); - throw _202D_206D_202E_200D_202C_202B_206A_200F_200B_206D_200D_202E_200D_202E_202A_200F_202B_202C_202D_206A_206C_200D_206B_206B_200B_202C_206F_206B_200E_202C_200C_202B_202B_206C_206D_206C_200E_200D_202D_206B_202E(defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 0: - _200F_206C_200E_206E_206F_206E_200F_200D_202C_206A_200C_206E_202C_206E_206B_206F_202A_202A_202E_202B_206E_206C_206F_206F_206E_206E_200D_206A_202C_206D_200E_206B_206E_200F_206E_206E_200B_200B_202D_202C_202E(propertyInfo, target, value); - return; - case 5: - num = 1086843724; - break; - } + field.SetValue(target, value); + return; } + PropertyInfo property = type.GetProperty(name, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); + if (property != null && property.CanWrite) + { + property.SetValue(target, value); + return; + } + throw new InvalidOperationException($"Could not set field or property '{name}' on {type.FullName} - Dalamud internals may have changed"); } - [MethodImpl(MethodImplOptions.NoInlining)] private static object GetDalamudConfiguration(Assembly assembly) { - Type obj = _202A_206F_206D_200B_200D_202B_200B_202B_202D_200E_202A_206D_202D_202E_206A_206E_206C_200D_206C_200D_202B_206E_202B_200B_200E_206D_206D_200E_200C_200B_206D_206F_200D_200D_202D_200D_206C_206B_202C_202A_202E(assembly, 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(24234399)) ?? throw _202D_206D_202E_200D_202C_202B_206A_200F_200B_206D_200D_202E_200D_202E_202A_200F_202B_202C_202D_206A_206C_200D_206B_206B_200B_202C_206F_206B_200E_202C_200C_202B_202B_206C_206D_206C_200E_200D_202D_206B_202E(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(2073227713)); - Type type = _202A_206F_206D_200B_200D_202B_200B_202B_202D_200E_202A_206D_202D_202E_206A_206E_206C_200D_206C_200D_202B_206E_202B_200B_200E_206D_206D_200E_200C_200B_206D_206F_200D_200D_202D_200D_206C_206B_202C_202A_202E(assembly, 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(269892115)) ?? throw _202D_206D_202E_200D_202C_202B_206A_200F_200B_206D_200D_202E_200D_202E_202A_200F_202B_202C_202D_206A_206C_200D_206B_206B_200B_202C_206F_206B_200E_202C_200C_202B_202B_206C_206D_206C_200E_200D_202D_206B_202E(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(2145503210)); - return _206D_200D_200B_206A_202A_206C_202A_202B_206C_200E_206E_200E_202E_206F_200E_206C_206A_202C_206C_202E_202B_206D_200B_206F_200C_202B_206C_200F_202C_200C_200C_206E_206E_200B_206C_200D_206C_206C_206E_206E_202E((MethodBase)(_200D_200E_200B_202D_206D_202E_200B_200D_202D_200D_200B_206B_202C_200B_202E_202C_202A_206F_202B_200F_200D_202A_202A_200D_200B_200C_202C_202A_206F_206C_200C_202B_206A_206A_202A_206E_206B_202D_206C_206C_202E(_206E_206A_200C_202D_206B_202B_206B_202A_206A_206D_202A_206D_206B_200C_200E_206E_206E_202E_202A_206E_206F_202C_202A_206A_202B_206C_200B_200C_200D_202C_206D_200D_200C_206C_200E_202B_200D_206D_202C_202E(obj, new Type[1] { type }), 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(323184710)) ?? throw _202D_206D_202E_200D_202C_202B_206A_200F_200B_206D_200D_202E_200D_202E_202A_200F_202B_202C_202D_206A_206C_200D_206B_206B_200B_202C_206F_206B_200E_202C_200C_202B_202B_206C_206D_206C_200E_200D_202D_206B_202E(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-1758761720))), (object)null, BindingFlags.Default, (Binder)null, Array.Empty(), (CultureInfo)null) ?? throw _202D_206D_202E_200D_202C_202B_206A_200F_200B_206D_200D_202E_200D_202E_202A_200F_202B_202C_202D_206A_206C_200D_206B_206B_200B_202C_206F_206B_200E_202C_200C_202B_202B_206C_206D_206C_200E_200D_202D_206B_202E(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(933870238)); + Type? obj = assembly.GetType("Dalamud.Service`1") ?? throw new InvalidOperationException("Could not find Dalamud.Service`1 type - Dalamud internals may have changed"); + Type type = assembly.GetType("Dalamud.Configuration.Internal.DalamudConfiguration") ?? throw new InvalidOperationException("Could not find DalamudConfiguration type - Dalamud internals may have changed"); + return (obj.MakeGenericType(type).GetMethod("Get") ?? throw new InvalidOperationException("Could not find Service.Get() - Dalamud internals may have changed")).Invoke(null, BindingFlags.Default, null, Array.Empty(), null) ?? throw new InvalidOperationException("Service.Get() returned null"); } - [MethodImpl(MethodImplOptions.NoInlining)] private static void SaveDalamudConfig(object config) { - _200E_200D_202B_206D_202B_202D_202E_200F_206F_202E_200D_206A_202D_200B_202C_206F_206A_206A_202C_206F_202A_206C_206D_202B_202B_202A_206B_206E_206D_200B_200D_200C_200E_202C_206F_206B_202C_202B_202D_202D_202E((MethodBase)(_202C_202A_200E_200C_200D_202C_200C_206E_206B_206F_202C_202B_200B_200C_202C_206A_200E_206F_200D_200C_202E_206D_202C_206D_200D_200C_200F_200F_200C_200C_202E_200F_206E_202C_202C_206B_206E_202E_206D_206F_202E(_202E_206D_200C_206B_202C_200F_206C_206A_206D_206F_206C_202B_202B_200E_206D_202A_206A_202B_202C_206E_206A_200B_200C_200C_206E_200C_206D_202C_206D_202B_200C_206E_206A_206F_200E_202A_202E_200D_206D_206A_202E(config), 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(1757338491), BindingFlags.Instance | BindingFlags.Public) ?? throw _202D_206D_202E_200D_202C_202B_206A_200F_200B_206D_200D_202E_200D_202E_202A_200F_202B_202C_202D_206A_206C_200D_206B_206B_200B_202C_206F_206B_200E_202C_200C_202B_202B_206C_206D_206C_200E_200D_202D_206B_202E(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(1710433567))), config, (object[])null); + (config.GetType().GetMethod("QueueSave", BindingFlags.Instance | BindingFlags.Public) ?? throw new InvalidOperationException("Could not find DalamudConfiguration.QueueSave() - Dalamud internals may have changed")).Invoke(config, null); } - [MethodImpl(MethodImplOptions.NoInlining)] private static object? FindAvailableManifest(object pluginManager, string internalName, string? thirdPartyRepoUrl, IReadOnlyList? aliases) { - IEnumerable obj = (_200F_200E_202E_202C_202C_200F_200F_206E_202A_200E_200E_206B_200F_200B_206D_202A_206C_206C_206C_206A_200D_200E_200F_202E_206F_206B_206D_200C_206E_202E_206B_200C_206B_200E_202E_206D_202B_200F_200D_200D_202E(_202E_200C_202C_206F_202E_200C_202A_202A_202B_202C_200D_202D_200C_206C_202C_202C_200F_206C_206A_202A_202E_206F_202B_206E_206A_202D_200B_202D_206C_206B_200F_206F_206A_206A_202A_200B_202C_200F_200E_202D_202E(_202E_206D_200C_206B_202C_200F_206C_206A_206D_206F_206C_202B_202B_200E_206D_202A_206A_202B_202C_206E_206A_200B_200C_200C_206E_200C_206D_202C_206D_202B_200C_206E_206A_206F_200E_202A_202E_200D_206D_206A_202E(pluginManager), 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(-1276746319), BindingFlags.Instance | BindingFlags.Public) ?? throw _202D_206D_202E_200D_202C_202B_206A_200F_200B_206D_200D_202E_200D_202E_202A_200F_202B_202C_202D_206A_206C_200D_206B_206B_200B_202C_206F_206B_200E_202C_200C_202B_202B_206C_206D_206C_200E_200D_202D_206B_202E(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1333702208)), pluginManager) as IEnumerable) ?? throw _202D_206D_202E_200D_202C_202B_206A_200F_200B_206D_200D_202E_200D_202E_202A_200F_202B_202C_202D_206A_206C_200D_206B_206B_200B_202C_206F_206B_200E_202C_200C_202B_202B_206C_206D_206C_200E_200D_202D_206B_202E(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-903554674)); + IEnumerable obj = ((pluginManager.GetType().GetProperty("AvailablePlugins", BindingFlags.Instance | BindingFlags.Public) ?? throw new InvalidOperationException("Could not find PluginManager.AvailablePlugins - Dalamud internals may have changed")).GetValue(pluginManager) as IEnumerable) ?? throw new InvalidOperationException("PluginManager.AvailablePlugins was not enumerable - Dalamud internals may have changed"); object obj2 = null; - IEnumerator enumerator = _206D_200B_202A_206A_200B_206A_206B_202D_200F_206A_202C_206E_206B_202C_200C_206B_206E_202C_200F_202B_206F_202E_202E_200F_200D_206E_202A_202C_200E_200B_206A_200C_202C_206A_206D_200F_206F_206C_206B_206F_202E(obj); - object obj5 = default(object); + IEnumerator enumerator = obj.GetEnumerator(); + object obj4; try { - int num = -850025118; - object obj3 = default(object); - object obj4 = default(object); - string text = default(string); - PropertyInfo propertyInfo2 = default(PropertyInfo); - _003C_003Ec__DisplayClass22_0 _003C_003Ec__DisplayClass22_ = default(_003C_003Ec__DisplayClass22_0); while (true) { - int num2 = num; - int num3 = -850025105; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + if (enumerator.MoveNext()) { - case 18: - { - PropertyInfo propertyInfo3 = _202E_200C_202C_206F_202E_200C_202A_202A_202B_202C_200D_202D_200C_206C_202C_202C_200F_206C_206A_202A_202E_206F_202B_206E_206A_202D_200B_202D_206C_206B_200F_206F_206A_206A_202A_200B_202C_200F_200E_202D_202E(_202E_206D_200C_206B_202C_200F_206C_206A_206D_206F_206C_202B_202B_200E_206D_202A_206A_202B_202C_206E_206A_200B_200C_200C_206E_200C_206D_202C_206D_202B_200C_206E_206A_206F_200E_202A_202E_200D_206D_206A_202E(obj3), 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(1147668931), BindingFlags.Instance | BindingFlags.Public); - obj5 = (((object)propertyInfo3 != null) ? _202A_202B_200E_200F_202D_206F_206B_200C_202B_202E_200E_200E_202B_206F_206A_206C_200F_200E_202E_200D_206E_206B_202C_200E_206B_206F_206E_206F_206C_202C_206C_200B_202A_202A_200D_202B_202B_206B_206E_206B_202E(propertyInfo3, obj3) : null); - num = ((!(obj5 is bool)) ? (-850025118) : (-850025108)); - break; + object current = enumerator.Current; + if (current == null) + { + continue; + } + PropertyInfo property = current.GetType().GetProperty("InternalName", BindingFlags.Instance | BindingFlags.Public); + if (property == null || !(property.GetValue(current) is string text) || text != internalName) + { + continue; + } + if (obj2 == null) + { + obj2 = current; + } + object obj3 = current.GetType().GetProperty("SourceRepo", BindingFlags.Instance | BindingFlags.Public)?.GetValue(current); + if (obj3 == null) + { + continue; + } + if (thirdPartyRepoUrl == null) + { + obj4 = obj3.GetType().GetProperty("IsThirdParty", BindingFlags.Instance | BindingFlags.Public)?.GetValue(obj3); + if (obj4 is bool && !(bool)obj4) + { + obj4 = current; + break; + } + continue; + } + string repoUrl = obj3.GetType().GetProperty("PluginMasterUrl", BindingFlags.Instance | BindingFlags.Public)?.GetValue(obj3) as string; + if (RepoUrlEquals(repoUrl, thirdPartyRepoUrl)) + { + obj4 = current; + break; + } + if (aliases != null && aliases.Any((string alias) => RepoUrlEquals(repoUrl, alias))) + { + obj4 = current; + break; + } + continue; } - case 17: - obj5 = obj4; - goto end_IL_0063; - case 2: - obj2 = obj4; - num = -850025110; - break; - case 14: - obj4 = _206F_200F_200C_202D_202E_202A_202A_202C_200D_200D_206F_206E_206B_200C_200B_202C_206D_206A_206D_202D_202B_200E_206D_202B_200B_202C_206D_200D_202D_206A_206A_202C_202E_206D_206E_206B_200F_200B_206D_202B_202E(enumerator); - num = ((obj4 == null) ? (-850025118) : (-850025113)); - break; - case 0: - num = ((obj2 != null) ? (-850025110) : (-850025107)); - break; - case 3: - num = (((bool)obj5) ? (-850025118) : (-850025115)); - break; - case 12: - num = ((aliases == null) ? (-850025118) : (-850025112)); - break; - case 9: - num = -850025118; - break; - case 5: - { - PropertyInfo propertyInfo4 = _202E_200C_202C_206F_202E_200C_202A_202A_202B_202C_200D_202D_200C_206C_202C_202C_200F_206C_206A_202A_202E_206F_202B_206E_206A_202D_200B_202D_206C_206B_200F_206F_206A_206A_202A_200B_202C_200F_200E_202D_202E(_202E_206D_200C_206B_202C_200F_206C_206A_206D_206F_206C_202B_202B_200E_206D_202A_206A_202B_202C_206E_206A_200B_200C_200C_206E_200C_206D_202C_206D_202B_200C_206E_206A_206F_200E_202A_202E_200D_206D_206A_202E(obj4), global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(54205377), BindingFlags.Instance | BindingFlags.Public); - obj3 = (((object)propertyInfo4 != null) ? _202A_202B_200E_200F_202D_206F_206B_200C_202B_202E_200E_200E_202B_206F_206A_206C_200F_200E_202E_200D_206E_206B_202C_200E_206B_206F_206E_206F_206C_202C_206C_200B_202A_202A_200D_202B_202B_206B_206E_206B_202E(propertyInfo4, obj4) : null); - num = ((obj3 == null) ? (-850025118) : (-850025116)); - break; - } - case 16: - num = (_200D_200F_200D_206F_200D_206D_202D_206E_200C_200F_202E_206D_206E_200C_200D_206A_200B_202B_202B_200E_202D_206E_200B_206D_200C_200D_200D_200B_202E_200B_202C_202C_200D_202C_200E_202E_200D_206E_206C_202A_202E(text, internalName) ? (-850025118) : (-850025105)); - break; - case 10: - obj5 = obj4; - goto end_IL_0063; - case 8: - propertyInfo2 = _202E_200C_202C_206F_202E_200C_202A_202A_202B_202C_200D_202D_200C_206C_202C_202C_200F_206C_206A_202A_202E_206F_202B_206E_206A_202D_200B_202D_206C_206B_200F_206F_206A_206A_202A_200B_202C_200F_200E_202D_202E(_202E_206D_200C_206B_202C_200F_206C_206A_206D_206F_206C_202B_202B_200E_206D_202A_206A_202B_202C_206E_206A_200B_200C_200C_206E_200C_206D_202C_206D_202B_200C_206E_206A_206F_200E_202A_202E_200D_206D_206A_202E(obj4), 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(-1994460583), BindingFlags.Instance | BindingFlags.Public); - num = (_206A_206B_200D_202B_200F_206C_200D_206F_200B_206A_206D_202D_202B_206E_202D_206A_206E_206F_206B_206D_206E_202B_206C_206B_200F_206C_206B_200F_206D_200C_206E_206A_200D_200E_200C_206A_206D_206D_200B_200F_202E(propertyInfo2, (PropertyInfo)null) ? (-850025118) : (-850025109)); - break; - case 13: - num = (_206F_200C_200B_206E_202D_200C_200E_202E_200C_200F_206C_206E_200B_200C_202C_200D_200F_206C_206C_202B_202B_202B_206C_206B_200C_206A_200F_200C_202B_206F_202D_200C_206B_200D_206A_202B_200D_200F_206F_202C_202E(enumerator) ? (-850025119) : (-850025111)); - break; - case 4: - text = _200F_200E_202E_202C_202C_200F_200F_206E_202A_200E_200E_206B_200F_200B_206D_202A_206C_206C_206C_206A_200D_200E_200F_202E_206F_206B_206D_200C_206E_202E_206B_200C_206B_200E_202E_206D_202B_200F_200D_200D_202E(propertyInfo2, obj4) as string; - num = ((text == null) ? (-850025118) : (-850025089)); - break; - case 15: - obj5 = obj4; - goto end_IL_0063; - case 11: - num = ((thirdPartyRepoUrl != null) ? (-850025106) : (-850025091)); - break; - case 7: - num = ((!aliases.Any(_003C_003Ec__DisplayClass22_._003CFindAvailableManifest_003Eb__0)) ? (-850025118) : (-850025120)); - break; - case 1: - { - _003C_003Ec__DisplayClass22_ = new _003C_003Ec__DisplayClass22_0(); - _003C_003Ec__DisplayClass22_0 _003C_003Ec__DisplayClass22_2 = _003C_003Ec__DisplayClass22_; - PropertyInfo propertyInfo = _202E_200C_202C_206F_202E_200C_202A_202A_202B_202C_200D_202D_200C_206C_202C_202C_200F_206C_206A_202A_202E_206F_202B_206E_206A_202D_200B_202D_206C_206B_200F_206F_206A_206A_202A_200B_202C_200F_200E_202D_202E(_202E_206D_200C_206B_202C_200F_206C_206A_206D_206F_206C_202B_202B_200E_206D_202A_206A_202B_202C_206E_206A_200B_200C_200C_206E_200C_206D_202C_206D_202B_200C_206E_206A_206F_200E_202A_202E_200D_206D_206A_202E(obj3), 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(1503580727), BindingFlags.Instance | BindingFlags.Public); - _003C_003Ec__DisplayClass22_2.repoUrl = (((object)propertyInfo != null) ? _202A_202B_200E_200F_202D_206F_206B_200C_202B_202E_200E_200E_202B_206F_206A_206C_200F_200E_202E_200D_206E_206B_202C_200E_206B_206F_206E_206F_206C_202C_206C_200B_202A_202A_200D_202B_202B_206B_206E_206B_202E(propertyInfo, obj3) : null) as string; - num = ((!RepoUrlEquals(_003C_003Ec__DisplayClass22_.repoUrl, thirdPartyRepoUrl)) ? (-850025117) : (-850025090)); - break; - } - case 6: - return obj2; - } - continue; - end_IL_0063: - break; + return obj2; } } finally { IDisposable disposable = enumerator as IDisposable; - int num = ((disposable == null) ? 980189250 : 980189249); - while (true) + if (disposable != null) { - int num5 = num; - int num3 = 980189248; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_03db; - case 1: - _200F_206A_202B_200D_200B_206E_202D_200D_202A_200B_202D_206D_200B_206E_202E_206E_202A_200C_206A_200D_200F_206E_200F_202C_202E_200B_202A_200D_200D_200B_200E_200D_202D_206C_206E_200F_202C_202D_202D_202A_202E(disposable); - num = 980189250; - break; - case 0: - num = 980189249; - break; - } - continue; - end_IL_03db: - break; + disposable.Dispose(); } } - return obj5; + return obj4; } - [MethodImpl(MethodImplOptions.NoInlining)] private void OnInstalledPluginsChanged() { - _200C_206D_206A_202D_202D_202C_206A_200D_206C_200D_206F_202D_206E_202B_200B_200E_202B_206D_206B_202B_206A_202A_206C_202A_206E_202A_202A_202A_202D_202A_206D_200F_202E_206B_202D_202E_200B_200B_200B_202C_202E(_pluginLog, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-2004059342), Array.Empty()); - _200C_206D_200D_206E_200E_202D_200F_202B_200C_202E_206D_206D_200F_206D_206C_202B_202C_206E_206D_200E_206F_200F_202C_206A_200E_202C_202B_200C_206F_206B_200E_206B_202A_206B_206B_202E_202D_206F_202B_206E_202E(ref _cacheVersion); + _pluginLog.Verbose("Installed plugins changed event fired"); + Interlocked.Increment(ref _cacheVersion); _pluginCache.Clear(); } - - static void _206B_200C_202D_200D_202D_206A_206F_202D_202B_200F_206F_206D_206C_202E_206E_206A_200C_202A_206F_202A_200E_202D_206E_202C_206A_206A_200D_200C_202E_206B_206C_202A_206C_200D_202E_206B_202C_206B_202B_206F_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static Type _202E_206D_200C_206B_202C_200F_206C_206A_206D_206F_206C_202B_202B_200E_206D_202A_206A_202B_202C_206E_206A_200B_200C_200C_206E_200C_206D_202C_206D_202B_200C_206E_206A_206F_200E_202A_202E_200D_206D_206A_202E(object P_0) - { - return P_0.GetType(); - } - - static EventInfo _202C_202B_202D_200C_202D_206F_202E_206B_202E_202C_206E_202E_200E_202D_202D_206B_202E_202E_206B_206A_202D_202A_206F_202B_202B_202B_200E_200F_206E_202C_206E_202E_200E_206E_206F_202B_202C_202D_206D_200D_202E(Type P_0, string P_1) - { - return P_0.GetEvent(P_1); - } - - static InvalidOperationException _202D_206D_202E_200D_202C_202B_206A_200F_200B_206D_200D_202E_200D_202E_202A_200F_202B_202C_202D_206A_206C_200D_206B_206B_200B_202C_206F_206B_200E_202C_200C_202B_202B_206C_206D_206C_200E_200D_202D_206B_202E(string P_0) - { - return new InvalidOperationException(P_0); - } - - static void _202C_206A_202C_206C_200F_202D_200B_200D_202D_200B_202A_206F_200E_200D_202A_206F_206C_200E_200F_202E_202A_206F_200C_200F_200C_206C_202D_202B_200D_206F_202D_202A_202B_200D_206D_202B_200E_206E_202E_202B_202E(EventInfo P_0, object P_1, Delegate P_2) - { - P_0.AddEventHandler(P_1, P_2); - } - - static void _200E_206A_200C_206C_200C_200C_206A_202B_206E_202E_206B_200F_206F_206E_200E_200C_202E_200D_202E_206C_202B_206F_200B_206B_206C_202C_200D_202D_206E_200F_200D_200D_202D_206B_200E_202D_206B_202D_206F_206C_202E(EventInfo P_0, object P_1, Delegate P_2) - { - P_0.RemoveEventHandler(P_1, P_2); - } - - static void _200D_202D_206F_200C_206E_202A_202B_200E_202C_202B_206E_202A_202D_206D_202D_200D_202C_206A_202A_202E_206F_206C_206D_202C_202B_206B_206F_202D_202A_202C_206A_202A_202E_206F_202D_202C_206C_206C_200E_206A_202E(IPluginLog P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.Warning(P_1, P_2, P_3); - } - - static Assembly _200F_202E_200B_202A_200B_202C_206F_200D_202A_200D_200B_206D_200F_206A_200C_206C_202B_202E_202D_206D_202C_202E_200E_206F_200F_200C_202D_202D_206D_200F_200F_200C_206B_206F_200D_206B_200E_202A_200D_202D_202E(Type P_0) - { - return P_0.Assembly; - } - - static Type _202A_206F_206D_200B_200D_202B_200B_202B_202D_200E_202A_206D_202D_202E_206A_206E_206C_200D_206C_200D_202B_206E_202B_200B_200E_206D_206D_200E_200C_200B_206D_206F_200D_200D_202D_200D_206C_206B_202C_202A_202E(Assembly P_0, string P_1) - { - return P_0.GetType(P_1); - } - - static Type _206E_206A_200C_202D_206B_202B_206B_202A_206A_206D_202A_206D_206B_200C_200E_206E_206E_202E_202A_206E_206F_202C_202A_206A_202B_206C_200B_200C_200D_202C_206D_200D_200C_206C_200E_202B_200D_206D_202C_202E(Type P_0, Type[] P_1) - { - return P_0.MakeGenericType(P_1); - } - - static MethodInfo _200D_200E_200B_202D_206D_202E_200B_200D_202D_200D_200B_206B_202C_200B_202E_202C_202A_206F_202B_200F_200D_202A_202A_200D_200B_200C_202C_202A_206F_206C_200C_202B_206A_206A_202A_206E_206B_202D_206C_206C_202E(Type P_0, string P_1) - { - return P_0.GetMethod(P_1); - } - - static object _206D_200D_200B_206A_202A_206C_202A_202B_206C_200E_206E_200E_202E_206F_200E_206C_206A_202C_206C_202E_202B_206D_200B_206F_200C_202B_206C_200F_202C_200C_200C_206E_206E_200B_206C_200D_206C_206C_206E_206E_202E(MethodBase P_0, object P_1, BindingFlags P_2, Binder P_3, object[] P_4, CultureInfo P_5) - { - return P_0.Invoke(P_1, P_2, P_3, P_4, P_5); - } - - static int _202D_202C_206B_206C_202E_206D_200B_202E_206F_206B_200F_206E_206D_200D_206A_206A_202A_206C_200B_206B_200F_200F_206B_200E_202C_202B_200F_200B_206D_206E_200D_200B_206B_200B_206D_202A_200C_202A_202D_206F_202E(ref int P_0) - { - return Volatile.Read(in P_0); - } - - static PropertyInfo _206C_200B_202A_206D_206E_206B_206A_200D_200E_200D_200C_202E_202A_200E_202E_206A_206B_200B_200C_202B_200D_206D_202B_202C_202C_206B_206D_206D_202E_206A_202E_200D_206C_202E_200B_202A_206A_200D_206C_202D_202E(Type P_0, string P_1) - { - return P_0.GetProperty(P_1); - } - - static object _200F_200E_202E_202C_202C_200F_200F_206E_202A_200E_200E_206B_200F_200B_206D_202A_206C_206C_206C_206A_200D_200E_200F_202E_206F_206B_206D_200C_206E_202E_206B_200C_206B_200E_202E_206D_202B_200F_200D_200D_202E(PropertyInfo P_0, object P_1) - { - return P_0.GetValue(P_1); - } - - static string _206D_202B_206D_202D_200C_202E_206E_206F_202E_200D_202E_202E_206D_202C_200D_200D_200C_202E_202D_200E_206A_206B_206E_202B_206F_200B_200D_200F_206B_200D_206B_202C_200D_202A_202D_200C_206D_200C_206D_206C_202E(Exception P_0) - { - return P_0.Message; - } - - static string _200E_206E_200B_206B_206E_202E_206A_206A_202C_202C_202D_202B_200D_206D_202E_206F_200B_200E_206E_200E_202D_200E_202B_200B_200F_200C_200B_200F_206B_202E_206D_200B_206F_206E_206E_200C_200E_206B_200F_202E(string P_0, string P_1, string P_2, string P_3) - { - return P_0 + P_1 + P_2 + P_3; - } - - static void _202B_200D_202A_206E_202E_202B_206F_206B_206A_202C_202A_200C_200E_206E_202E_206B_202C_206E_206F_200F_206C_206F_206A_206C_206C_200B_206A_206E_206B_202C_202A_202E_206D_202B_202E_200F_206A_202B_206B_200C_202E(IPluginLog P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.Error(P_1, P_2, P_3); - } - - static PropertyInfo _202E_200C_202C_206F_202E_200C_202A_202A_202B_202C_200D_202D_200C_206C_202C_202C_200F_206C_206A_202A_202E_206F_202B_206E_206A_202D_200B_202D_206C_206B_200F_206F_206A_206A_202A_200B_202C_200F_200E_202D_202E(Type P_0, string P_1, BindingFlags P_2) - { - return P_0.GetProperty(P_1, P_2); - } - - static object _202A_202B_200E_200F_202D_206F_206B_200C_202B_202E_200E_200E_202B_206F_206A_206C_200F_200E_202E_200D_206E_206B_202C_200E_206B_206F_206E_206F_206C_202C_206C_200B_202A_202A_200D_202B_202B_206B_206E_206B_202E(PropertyInfo P_0, object P_1) - { - return P_0.GetValue(P_1); - } - - static bool _206D_202C_200B_202A_200E_202D_200D_206F_200C_206A_200E_202C_200B_200C_206B_200B_202B_206A_202A_206C_206E_206B_202D_206C_202D_202C_200F_206F_200C_202C_200E_202B_202E_206E_206A_206D_200E_202A_206D_206B_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static bool _206F_200C_200B_206E_202D_200C_200E_202E_200C_200F_206C_206E_200B_200C_202C_200D_200F_206C_206C_202B_202B_202B_206C_206B_200C_206A_200F_200C_202B_206F_202D_200C_206B_200D_206A_202B_200D_200F_206F_202C_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200F_206A_202B_200D_200B_206E_202D_200D_202A_200B_202D_206D_200B_206E_202E_206E_202A_200C_206A_200D_200F_206E_200F_202C_202E_200B_202A_200D_200D_200B_200E_200D_202D_206C_206E_200F_202C_202D_202D_202A_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static bool _200E_200D_200F_206B_200E_200E_206E_200B_206E_206A_202C_206E_200F_206D_200F_206C_206F_202C_206B_202D_200F_200C_202D_202C_200D_202E_206D_202A_202A_206A_200B_206F_202C_206B_200E_202A_206D_206D_206E_202E_202E(string P_0, string P_1, StringComparison P_2) - { - return string.Equals(P_0, P_1, P_2); - } - - static IEnumerator _206D_200B_202A_206A_200B_206A_206B_202D_200F_206A_202C_206E_206B_202C_200C_206B_206E_202C_200F_202B_206F_202E_202E_200F_200D_206E_202A_202C_200E_200B_206A_200C_202C_206A_206D_200F_206F_206C_206B_206F_202E(IEnumerable P_0) - { - return P_0.GetEnumerator(); - } - - static object _206F_200F_200C_202D_202E_202A_202A_202C_200D_200D_206F_206E_206B_200C_200B_202C_206D_206A_206D_202D_202B_200E_206D_202B_200B_202C_206D_200D_202D_206A_206A_202C_202E_206D_206E_206B_200F_200B_206D_202B_202E(IEnumerator P_0) - { - return P_0.Current; - } - - static bool _200D_200F_200D_206F_200D_206D_202D_206E_200C_200F_202E_206D_206E_200C_200D_206A_200B_202B_202B_200E_202D_206E_200B_206D_200C_200D_200D_200B_202E_200B_202C_202C_200D_202C_200E_202E_200D_206E_206C_202A_202E(string P_0, string P_1) - { - return P_0 != P_1; - } - - static bool _206C_200E_200C_200C_206B_206A_202A_200E_206E_200F_202E_200B_202B_206C_206F_202C_202A_206E_206F_202A_206F_202A_200F_200B_206D_202D_200D_206B_202A_202B_202E_202B_202A_206B_206A_200E_202B_206E_206B_202C_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - - static bool _206F_200D_202B_206B_206C_206B_200C_202E_202B_206C_202E_200B_202A_200D_206A_202C_202D_202E_200D_202A_206F_200D_206E_202A_202A_202B_200E_206F_202A_200D_200E_200F_200D_202E_206F_200E_202C_202B_206F_202D_202E(string P_0, UriKind P_1, ref Uri P_2) - { - return Uri.TryCreate(P_0, P_1, out P_2); - } - - static string _200F_206B_206A_206D_202A_202E_200D_202E_206B_202C_200D_202A_206C_202A_202E_202B_202A_206A_202A_202B_206B_206D_200E_200C_206A_206D_202E_200E_206C_206D_206F_202D_206D_202A_206D_202E_202E_202E_200F_206E_202E(string P_0, char P_1) - { - return P_0.TrimEnd(P_1); - } - - static string _200B_206E_202A_200D_202B_202B_200C_206D_206D_202E_202C_206A_200C_202A_202E_206D_206A_200E_200B_200E_206B_206E_206F_206E_206F_206D_206E_200E_202C_202B_206C_200B_206D_206B_206F_206D_206D_200C_206E_206D_202E(Uri P_0) - { - return P_0.Host; - } - - static string _202B_206B_202E_202C_200D_202B_200C_202C_206B_206C_206E_200F_202C_206A_206A_200D_206B_206F_206F_200C_206D_200B_200D_202D_200E_206D_202D_200E_206A_202A_200C_202D_202C_202A_200E_202E_202D_202C_200F_206C_202E(Uri P_0) - { - return P_0.AbsolutePath; - } - - static string[] _206C_206C_206D_200D_202B_200E_206E_202A_202A_206E_206A_202A_206B_200D_200C_202D_206E_202C_206B_206C_206F_200B_202C_202C_206A_206A_202B_200E_200E_200F_200B_200F_206E_202E_206C_206D_206B_202E_206F_206E_202E(string P_0, char P_1, StringSplitOptions P_2) - { - return P_0.Split(P_1, P_2); - } - - static bool _200F_202A_200C_206C_200F_206E_202A_206B_200E_206C_202A_202A_202E_206F_202E_202A_200B_200D_206C_202C_206D_200C_206E_200E_206F_200D_206F_200F_200E_200C_202E_206A_206A_200D_202C_206D_202D_206E_200E_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.Equals(P_1, P_2); - } - - static UriBuilder _206B_200E_202B_202B_202A_202C_206B_200C_206A_206D_202B_202E_200D_202D_202C_206E_206C_202A_206A_206A_200D_200C_206A_200D_206A_202D_202C_206A_202B_206B_200C_200B_202E_202A_206D_202C_206A_200D_202D_206E_202E(Uri P_0) - { - return new UriBuilder(P_0); - } - - static string _202D_206B_202E_202B_202E_206F_206A_202C_202E_206E_206A_200B_202A_200D_200C_206C_202B_200B_200F_206E_206E_206A_206F_200B_206E_206A_206C_200F_206C_200B_206B_200E_206E_206E_200F_206C_206D_200D_200E_200C_202E(string P_0) - { - return P_0.ToLowerInvariant(); - } - - static void _206D_202A_206B_206F_206F_206F_202A_202A_206C_206A_202D_206B_206C_202D_200C_200D_202D_202B_202E_202A_200B_200D_206A_200C_202D_202B_206B_202E_200F_206F_200F_202E_206C_200C_206E_200E_200B_206E_200E_200E_202E(UriBuilder P_0, string P_1) - { - P_0.Host = P_1; - } - - static void _206D_202A_200C_200E_200D_200D_200C_206C_202C_200E_200C_206A_200E_202C_206A_202B_200E_200F_200F_206C_206D_206F_202C_206E_200C_202B_202A_200D_202C_200F_202B_206C_200D_206F_202B_202B_202E_200E_200E_206D_202E(UriBuilder P_0, string P_1) - { - P_0.Query = P_1; - } - - static void _202B_200E_202D_206D_200D_206B_206D_206D_202E_206E_200E_200C_202A_202D_200F_200B_202B_200D_206F_202B_202D_206F_202B_200B_200C_206C_202A_200D_200B_206F_206C_202D_200C_202D_206E_200C_202A_206B_200C_202C_202E(UriBuilder P_0, string P_1) - { - P_0.Fragment = P_1; - } - - static void _202E_200C_206F_206B_200F_200F_206D_206A_202B_202C_200E_200F_202E_206F_200F_200E_202C_200D_200F_206D_200F_200B_200D_200E_202D_202C_202D_206E_206B_202D_202E_202A_202B_200B_206E_200B_206F_202C_206A_200C_202E(UriBuilder P_0, string P_1) - { - P_0.Path = P_1; - } - - static Uri _206B_206D_200E_206E_200D_206C_202B_202E_202C_200F_206A_202D_200D_206A_206B_200D_206A_200E_202B_206D_200D_206F_202B_206F_200D_202B_206F_200E_206C_206D_200E_206E_202A_202B_202E_206E_206A_202D_200C_202B_202E(UriBuilder P_0) - { - return P_0.Uri; - } - - static string _200D_202D_200E_206E_200F_202D_202D_202C_202B_200D_200F_206A_202D_202D_200E_202E_206D_206A_200E_200F_206A_206F_202D_200D_200F_200E_206F_200B_202D_202B_206B_202A_202C_206B_200D_202A_202E_202D_206C_202A_202E(object P_0) - { - return P_0.ToString(); - } - - static object _206F_206C_202E_206D_200D_200F_202B_206F_200D_200E_202E_202B_206C_206B_202D_206D_206A_206A_206F_206B_200F_206E_206D_206A_200E_206F_206A_206A_206E_206B_206D_206D_200C_200C_200B_206C_202E_202D_200F_200F_202E(Type P_0) - { - return Activator.CreateInstance(P_0); - } - - static int _206B_206D_202C_206A_206A_206E_200B_206A_202A_206A_202B_206B_202E_202A_206D_206E_206A_206C_206B_206F_202B_206E_200C_206D_206F_202B_200D_202A_206E_206F_206B_206B_202C_200B_206A_202E_202C_200F_202D_206B_202E(IList P_0, object P_1) - { - return P_0.Add(P_1); - } - - static FieldInfo _206C_206F_200C_206B_202B_202C_200F_206A_200C_202A_206D_200F_206F_202D_206E_202C_202B_200C_202B_200C_202C_202D_202B_200B_200E_202D_202C_202A_200D_206E_206F_202B_200D_206A_200F_206F_206D_200D_200F_206A_202E(Type P_0, string P_1, BindingFlags P_2) - { - return P_0.GetField(P_1, P_2); - } - - static bool _200E_206D_200C_206B_202C_200D_206B_202A_206F_202C_206D_206D_200E_202D_202A_200E_202E_206D_206E_202A_206A_206A_206B_206A_202B_206A_202A_202C_206D_200C_200C_206A_202C_200F_200F_202D_202C_206A_202D_206A_202E(FieldInfo P_0, FieldInfo P_1) - { - return P_0 != P_1; - } - - static object _200B_200C_202B_200B_200F_206A_206B_202E_200F_206D_200B_202A_206D_202B_200D_206A_200B_200F_200B_206A_202D_202A_202C_206E_202A_206C_200C_206D_206D_202D_202D_206F_200C_202D_206C_200F_202B_202C_206F_200C_202E(FieldInfo P_0, object P_1) - { - return P_0.GetValue(P_1); - } - - static bool _206F_206C_202A_202A_200D_202C_206D_202B_200C_206A_200E_200B_200E_206E_202A_206A_206A_206A_206F_206C_200B_202C_202E_202E_206D_206D_206D_200C_202B_202A_202B_202A_200F_206F_200E_200E_202A_200D_206B_200D_202E(PropertyInfo P_0, PropertyInfo P_1) - { - return P_0 != P_1; - } - - static string _200B_200F_206F_200F_202C_206D_200C_206D_202C_200E_200B_200D_200C_206E_206A_200D_202E_206E_200F_202E_202A_206A_202B_200D_200F_202D_202D_206D_200F_200C_200D_200B_206B_200F_206E_202C_202D_200E_202B_202A_202E(Type P_0) - { - return P_0.FullName; - } - - static void _206F_206F_206A_202C_206A_202C_200E_200C_206D_200C_200B_200C_206F_206E_200F_200E_200B_206C_202A_206A_202B_200F_200D_202B_206B_202A_206D_206B_202B_206A_202D_202D_206C_202C_200E_200C_200F_200F_206F_202B_202E(FieldInfo P_0, object P_1, object P_2) - { - P_0.SetValue(P_1, P_2); - } - - static bool _200D_206E_200E_200E_202A_202D_202D_200C_200B_202D_200B_200B_200D_200F_206A_200B_202D_206F_206E_206E_200D_202E_202D_200C_202E_206A_206A_206D_200E_206F_200B_206A_206F_206F_202E_200D_202D_200E_200B_206B_202E(PropertyInfo P_0) - { - return P_0.CanWrite; - } - - static void _200F_206C_200E_206E_206F_206E_200F_200D_202C_206A_200C_206E_202C_206E_206B_206F_202A_202A_202E_202B_206E_206C_206F_206F_206E_206E_200D_206A_202C_206D_200E_206B_206E_200F_206E_206E_200B_200B_202D_202C_202E(PropertyInfo P_0, object P_1, object P_2) - { - P_0.SetValue(P_1, P_2); - } - - static MethodInfo _202C_202A_200E_200C_200D_202C_200C_206E_206B_206F_202C_202B_200B_200C_202C_206A_200E_206F_200D_200C_202E_206D_202C_206D_200D_200C_200F_200F_200C_200C_202E_200F_206E_202C_202C_206B_206E_202E_206D_206F_202E(Type P_0, string P_1, BindingFlags P_2) - { - return P_0.GetMethod(P_1, P_2); - } - - static object _200E_200D_202B_206D_202B_202D_202E_200F_206F_202E_200D_206A_202D_200B_202C_206F_206A_206A_202C_206F_202A_206C_206D_202B_202B_202A_206B_206E_206D_200B_200D_200C_200E_202C_206F_206B_202C_202B_202D_202D_202E(MethodBase P_0, object P_1, object[] P_2) - { - return P_0.Invoke(P_1, P_2); - } - - static bool _206A_206B_200D_202B_200F_206C_200D_206F_200B_206A_206D_202D_202B_206E_202D_206A_206E_206F_206B_206D_206E_202B_206C_206B_200F_206C_206B_200F_206D_200C_206E_206A_200D_200E_200C_206A_206D_206D_200B_200F_202E(PropertyInfo P_0, PropertyInfo P_1) - { - return P_0 == P_1; - } - - static void _200C_206D_206A_202D_202D_202C_206A_200D_206C_200D_206F_202D_206E_202B_200B_200E_202B_206D_206B_202B_206A_202A_206C_202A_206E_202A_202A_202A_202D_202A_206D_200F_202E_206B_202D_202E_200B_200B_200B_202C_202E(IPluginLog P_0, string P_1, object[] P_2) - { - P_0.Verbose(P_1, P_2); - } - - static int _200C_206D_200D_206E_200E_202D_200F_202B_200C_202E_206D_206D_200F_206D_206C_202B_202C_206E_206D_200E_206F_200F_202C_206A_200E_202C_202B_200C_206F_206B_200E_206B_202A_206B_206B_202E_202D_206F_202B_206E_202E(ref int P_0) - { - return Interlocked.Increment(ref P_0); - } - - static string _206D_200D_206E_200E_202E_200B_202B_206E_206B_200F_200F_202E_202A_200C_200E_202E_200E_202E_206D_202C_206A_200D_202A_206C_200B_202B_202A_202E_206F_206B_200D_200E_206D_206B_200F_206F_206A_206A_206C_206E_202E(MemberInfo P_0) - { - return P_0.Name; - } - - static Type _200D_200F_206A_206C_200B_200C_200B_206A_202C_200E_206F_202B_206B_200B_202E_206F_200D_206B_202C_202E_206C_200C_200D_200D_206C_206D_202E_200B_206E_200C_206A_200B_206A_206B_202E_200D_200D_202B_206E_206B_202E(Type P_0) - { - return P_0.BaseType; - } - - static string _200D_200B_202C_206F_200B_202C_206F_202A_200F_200E_206A_200B_202C_206E_202E_206E_200D_200C_202E_202E_202D_200F_206D_202A_200F_206D_206B_200C_206B_200B_206E_202A_200E_206F_206E_206D_206E_202A_206D_200D_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static void _206F_202C_206D_202B_202C_206C_200B_200E_206F_200C_206F_206E_202C_206A_206A_206B_206F_202C_200C_206C_200D_200D_202D_202E_202C_200E_202C_200B_202A_206E_202B_202C_206E_206D_206A_206E_206E_206E_202B_206E_202E(IPluginLog P_0, string P_1, object[] P_2) - { - P_0.Warning(P_1, P_2); - } } diff --git a/LLib/LLib/DataManagerExtensions.cs b/LLib/LLib/DataManagerExtensions.cs index 87f14b8..9036e1b 100644 --- a/LLib/LLib/DataManagerExtensions.cs +++ b/LLib/LLib/DataManagerExtensions.cs @@ -1,7 +1,5 @@ using System; -using System.Collections.Generic; using System.Linq; -using System.Runtime.CompilerServices; using System.Text.RegularExpressions; using Dalamud.Plugin.Services; using Lumina.Excel; @@ -12,143 +10,9 @@ namespace LLib; public static class DataManagerExtensions { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__7_0; - - public static Func _003C_003E9__8_0; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal string _003CToRegex_003Eb__7_0(ReadOnlySePayload payload) - { - int num = ((payload.Type != ReadOnlySePayloadType.Text) ? 653215038 : 653215037); - while (true) - { - int num2 = num; - int num3 = 653215036; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0049; - case 2: - return global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1401261324); - case 1: - return _206E_200E_202D_206D_206F_200E_202C_206B_206E_202E_200D_200E_200F_200F_202D_206F_200B_202B_200B_200E_202E_206C_200C_202E_206A_200C_202E_200D_200D_206C_206C_206D_202A_202D_200B_206C_200C_200E_202C_202E(payload.ToString()); - } - continue; - IL_0049: - num = 653215037; - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal string _003CWithCertainMacroCodeReplacements_003Eb__8_0(ReadOnlySePayload payload) - { - ReadOnlySePayloadType type = payload.Type; - int num = ((type == ReadOnlySePayloadType.Text) ? 665720307 : 665720306); - MacroCode macroCode = default(MacroCode); - string result = default(string); - string text = default(string); - while (true) - { - int num2 = num; - int num3 = 665720319; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 15: - macroCode = payload.MacroCode; - num = ((macroCode > MacroCode.SoftHyphen) ? 665720311 : 665720310); - break; - case 5: - return result; - case 10: - text = 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(-1220250632); - num = 665720312; - break; - case 18: - num = 665720306; - break; - case 17: - num = ((macroCode == MacroCode.Hyphen) ? 665720309 : 665720318); - break; - case 4: - text = payload.ToString(); - num = 665720312; - break; - case 14: - text = global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-581253858); - num = 665720312; - break; - case 0: - num = ((macroCode == MacroCode.SoftHyphen) ? 665720313 : 665720303); - break; - case 13: - num = ((type == ReadOnlySePayloadType.Macro) ? 665720304 : 665720308); - break; - case 12: - result = payload.ToString(); - num = 665720314; - break; - case 16: - num = 665720315; - break; - case 1: - num = 665720315; - break; - case 7: - result = text; - num = 665720314; - break; - case 6: - text = global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(336218591); - num = 665720312; - break; - case 8: - num = ((macroCode == MacroCode.NonBreakingSpace) ? 665720305 : 665720302); - break; - case 2: - text = _202A_200D_200D_202A_200B_200E_202E_202C_200D_202D_202B_200F_202C_206A_202D_202A_206B_206C_200D_206B_206A_206B_206E_202B_202B_206C_206F_202A_206B_202B_202C_206F_200F_202B_202B_200C_202E_200B_202D_202C_202E(); - num = 665720312; - break; - case 11: - num = 665720316; - break; - case 9: - num = ((macroCode == MacroCode.NewLine) ? 665720317 : 665720319); - break; - case 3: - result = payload.ToString(); - num = 665720314; - break; - } - } - } - - static string _206E_200E_202D_206D_206F_200E_202C_206B_206E_202E_200D_200E_200F_200F_202D_206F_200B_202B_200B_200E_202E_206C_200C_202E_206A_200C_202E_200D_200D_206C_206C_206D_202A_202D_200B_206C_200C_200E_202C_202E(string P_0) - { - return Regex.Escape(P_0); - } - - static string _202A_200D_200D_202A_200B_200E_202E_202C_200D_202D_202B_200F_202C_206A_202D_202A_206B_206C_200D_206B_206A_206B_206E_202B_202B_206C_206F_202A_206B_202B_202C_206F_200F_202B_202B_200C_202E_200B_202D_202C_202E() - { - return Environment.NewLine; - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public static ReadOnlySeString? GetSeString(this IDataManager dataManager, string key) where T : struct, IQuestDialogueText, IExcelRow { - _202A_202A_206D_206A_206B_202B_206E_206F_206F_206A_202B_202E_206A_202E_202A_206A_206A_202C_200D_206C_206E_202B_202B_206E_200E_200F_200F_202D_206E_202B_202C_200B_206E_206D_202D_200E_202E_206A_200B_202C_202E((object)dataManager, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1058761074)); + ArgumentNullException.ThrowIfNull(dataManager, "dataManager"); return dataManager.GetExcelSheet().Cast().FirstOrDefault((T? x) => x.Value.Key == key)?.Value; } @@ -160,56 +24,23 @@ public static class DataManagerExtensions public static Regex? GetRegex(this IDataManager dataManager, string key, IPluginLog? pluginLog) where T : struct, IQuestDialogueText, IExcelRow { ReadOnlySeString? seString = dataManager.GetSeString(key); - int num = (seString.HasValue ? 532905786 : 532905785); - while (true) + if (!seString.HasValue) { - int num2 = num; - int num3 = 532905787; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0051; - case 1: - return seString.ToRegex(); - case 2: - return null; - } - continue; - IL_0051: - num = 532905785; + return null; } + return seString.ToRegex(); } - [MethodImpl(MethodImplOptions.NoInlining)] public static ReadOnlySeString? GetSeString(this IDataManager dataManager, uint rowId, Func mapper) where T : struct, IExcelRow { - _202A_202A_206D_206A_206B_202B_206E_206F_206F_206A_202B_202E_206A_202E_202A_206A_206A_202C_200D_206C_206E_202B_202B_206E_200E_200F_200F_202D_206E_202B_202C_200B_206E_206D_202D_200E_202E_206A_200B_202C_202E((object)dataManager, 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(-1509101314)); - _202A_202A_206D_206A_206B_202B_206E_206F_206F_206A_202B_202E_206A_202E_202A_206A_206A_202C_200D_206C_206E_202B_202B_206E_200E_200F_200F_202D_206E_202B_202C_200B_206E_206D_202D_200E_202E_206A_200B_202C_202E((object)mapper, 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(1413795073)); + ArgumentNullException.ThrowIfNull(dataManager, "dataManager"); + ArgumentNullException.ThrowIfNull(mapper, "mapper"); T? rowOrDefault = dataManager.GetExcelSheet().GetRowOrDefault(rowId); - int num = (rowOrDefault.HasValue ? 766901278 : 766901279); - while (true) + if (!rowOrDefault.HasValue) { - int num2 = num; - int num3 = 766901278; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0086; - case 1: - return null; - case 0: - return mapper(rowOrDefault.Value); - } - continue; - IL_0086: - num = 766901279; + return null; } + return mapper(rowOrDefault.Value); } public static string? GetString(this IDataManager dataManager, uint rowId, Func mapper, IPluginLog? pluginLog = null) where T : struct, IExcelRow @@ -220,188 +51,44 @@ public static class DataManagerExtensions public static Regex? GetRegex(this IDataManager dataManager, uint rowId, Func mapper, IPluginLog? pluginLog = null) where T : struct, IExcelRow { ReadOnlySeString? seString = dataManager.GetSeString(rowId, mapper); - int num = (seString.HasValue ? (-1910871313) : (-1910871316)); - while (true) + if (!seString.HasValue) { - int num2 = num; - int num3 = -1910871314; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return seString.ToRegex(); - case 2: - return null; - case 0: - goto IL_005b; - } - continue; - IL_005b: - num = -1910871316; + return null; } + return seString.ToRegex(); } - [MethodImpl(MethodImplOptions.NoInlining)] public static Regex? GetRegex(this T excelRow, Func mapper, IPluginLog? pluginLog) where T : struct, IExcelRow { - _202A_202A_206D_206A_206B_202B_206E_206F_206F_206A_202B_202E_206A_202E_202A_206A_206A_202C_200D_206C_206E_202B_202B_206E_200E_200F_200F_202D_206E_202B_202C_200B_206E_206D_202D_200E_202E_206A_200B_202C_202E((object)mapper, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(211367094)); + ArgumentNullException.ThrowIfNull(mapper, "mapper"); ReadOnlySeString? text = mapper(excelRow); - int num = (text.HasValue ? 995158761 : 995158762); - while (true) + if (!text.HasValue) { - int num2 = num; - int num3 = 995158760; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return text.ToRegex(); - case 2: - return null; - case 0: - goto IL_006a; - } - continue; - IL_006a: - num = 995158762; + return null; } + return text.ToRegex(); } - [MethodImpl(MethodImplOptions.NoInlining)] public static Regex ToRegex(this ReadOnlySeString? text) { - _202A_202A_206D_206A_206B_202B_206E_206F_206F_206A_202B_202E_206A_202E_202A_206A_206A_202C_200D_206C_206E_202B_202B_206E_200E_200F_200F_202D_206E_202B_202C_200B_206E_206D_202D_200E_202E_206A_200B_202C_202E((object)text, 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(782807675)); - return _206B_202D_202E_202A_206F_206D_202D_200D_202C_200E_200D_200D_206D_200B_202C_206F_202E_202A_206B_202A_202A_202C_202D_200E_200D_202D_200B_206A_206F_206F_206F_206E_202B_206F_200D_200F_200C_202A_200F_202E_202E(_200D_206D_200E_206E_202B_200C_202A_200D_206A_202D_206C_206C_200E_206E_202D_202D_200F_206D_202A_202D_200D_200F_200F_202E_200D_206F_202B_206F_202D_206D_206C_200B_206A_202B_206F_202A_206C_200C_206C_200C_202E(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(-1158161199), text.Value.Select([MethodImpl(MethodImplOptions.NoInlining)] (ReadOnlySePayload payload) => - { - int num = ((payload.Type != ReadOnlySePayloadType.Text) ? 653215038 : 653215037); - while (true) - { - int num2 = num; - int num3 = 653215036; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0049; - case 2: - return global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1401261324); - case 1: - return _003C_003Ec._206E_200E_202D_206D_206F_200E_202C_206B_206E_202E_200D_200E_200F_200F_202D_206F_200B_202B_200B_200E_202E_206C_200C_202E_206A_200C_202E_200D_200D_206C_206C_206D_202A_202D_200B_206C_200C_200E_202C_202E(payload.ToString()); - } - continue; - IL_0049: - num = 653215037; - } - })), RegexOptions.Compiled); + ArgumentNullException.ThrowIfNull(text, "text"); + return new Regex(string.Join("", text.Value.Select((ReadOnlySePayload payload) => (payload.Type == ReadOnlySePayloadType.Text) ? Regex.Escape(payload.ToString()) : "(.*)")), RegexOptions.Compiled); } - [MethodImpl(MethodImplOptions.NoInlining)] public static string WithCertainMacroCodeReplacements(this ReadOnlySeString text) { - return _200D_206D_200E_206E_202B_200C_202A_200D_206A_202D_206C_206C_200E_206E_202D_202D_200F_206D_202A_202D_200D_200F_200F_202E_200D_206F_202B_206F_202D_206D_206C_200B_206A_202B_206F_202A_206C_200C_206C_200C_202E(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(336218591), text.Select([MethodImpl(MethodImplOptions.NoInlining)] (ReadOnlySePayload payload) => + return string.Join("", text.Select((ReadOnlySePayload payload) => payload.Type switch { - ReadOnlySePayloadType type = payload.Type; - int num = ((type == ReadOnlySePayloadType.Text) ? 665720307 : 665720306); - MacroCode macroCode = default(MacroCode); - string result = default(string); - string text2 = default(string); - while (true) + ReadOnlySePayloadType.Text => payload.ToString(), + ReadOnlySePayloadType.Macro => payload.MacroCode switch { - int num2 = num; - int num3 = 665720319; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 15: - macroCode = payload.MacroCode; - num = ((macroCode > MacroCode.SoftHyphen) ? 665720311 : 665720310); - break; - case 5: - return result; - case 10: - text2 = 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(-1220250632); - num = 665720312; - break; - case 18: - num = 665720306; - break; - case 17: - num = ((macroCode == MacroCode.Hyphen) ? 665720309 : 665720318); - break; - case 4: - text2 = payload.ToString(); - num = 665720312; - break; - case 14: - text2 = global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-581253858); - num = 665720312; - break; - case 0: - num = ((macroCode == MacroCode.SoftHyphen) ? 665720313 : 665720303); - break; - case 13: - num = ((type == ReadOnlySePayloadType.Macro) ? 665720304 : 665720308); - break; - case 12: - result = payload.ToString(); - num = 665720314; - break; - case 16: - num = 665720315; - break; - case 1: - num = 665720315; - break; - case 7: - result = text2; - num = 665720314; - break; - case 6: - text2 = global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(336218591); - num = 665720312; - break; - case 8: - num = ((macroCode == MacroCode.NonBreakingSpace) ? 665720305 : 665720302); - break; - case 2: - text2 = _003C_003Ec._202A_200D_200D_202A_200B_200E_202E_202C_200D_202D_202B_200F_202C_206A_202D_202A_206B_206C_200D_206B_206A_206B_206E_202B_202B_206C_206F_202A_206B_202B_202C_206F_200F_202B_202B_200C_202E_200B_202D_202C_202E(); - num = 665720312; - break; - case 11: - num = 665720316; - break; - case 9: - num = ((macroCode == MacroCode.NewLine) ? 665720317 : 665720319); - break; - case 3: - result = payload.ToString(); - num = 665720314; - break; - } - } + MacroCode.NewLine => Environment.NewLine, + MacroCode.NonBreakingSpace => " ", + MacroCode.Hyphen => "-", + MacroCode.SoftHyphen => "", + _ => payload.ToString(), + }, + _ => payload.ToString(), })); } - - static void _202A_202A_206D_206A_206B_202B_206E_206F_206F_206A_202B_202E_206A_202E_202A_206A_206A_202C_200D_206C_206E_202B_202B_206E_200E_200F_200F_202D_206E_202B_202C_200B_206E_206D_202D_200E_202E_206A_200B_202C_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static string _200D_206D_200E_206E_202B_200C_202A_200D_206A_202D_206C_206C_200E_206E_202D_202D_200F_206D_202A_202D_200D_200F_200F_202E_200D_206F_202B_206F_202D_206D_206C_200B_206A_202B_206F_202A_206C_200C_206C_200C_202E(string P_0, IEnumerable P_1) - { - return string.Join(P_0, P_1); - } - - static Regex _206B_202D_202E_202A_206F_206D_202D_200D_202C_200E_200D_200D_206D_200B_202C_206F_202E_202A_206B_202A_202A_202C_202D_200E_200D_202D_200B_206A_206F_206F_206F_206E_202B_206F_200D_200F_200C_202A_200F_202E_202E(string P_0, RegexOptions P_1) - { - return new Regex(P_0, P_1); - } } diff --git a/LLib/LLib/PluginInstaller.cs b/LLib/LLib/PluginInstaller.cs index ac33438..1b3490b 100644 --- a/LLib/LLib/PluginInstaller.cs +++ b/LLib/LLib/PluginInstaller.cs @@ -1,9 +1,6 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Linq; -using System.Reflection; -using System.Runtime.CompilerServices; using System.Threading.Tasks; using Dalamud.Plugin; using Dalamud.Plugin.Services; @@ -12,280 +9,6 @@ namespace LLib; public sealed class PluginInstaller : IDisposable { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass12_0 - { - public string internalName; - - internal bool _003CTryInstall_003Eb__0(IExposedPlugin p) - { - return _200E_206C_206B_206D_202E_202E_200B_206E_206F_206A_206B_202B_200E_206A_200C_202A_206A_202A_200B_206C_206A_200C_202E_206B_202C_202B_206B_206B_206E_202A_206B_202B_206C_206D_206D_200F_202D_202D_202A_206D_202E(_200E_202E_202B_206F_206B_206F_202D_200E_206D_206D_206A_202A_202D_200B_200C_202D_200E_200B_200D_206C_200E_202E_206F_202D_202A_202D_200E_206E_200C_206B_200B_206D_200D_206C_200E_200F_200D_206B_200F_206E_202E(p), internalName); - } - - static string _200E_202E_202B_206F_206B_206F_202D_200E_206D_206D_206A_202A_202D_200B_200C_202D_200E_200B_200D_206C_200E_202E_206F_202D_202A_202D_200E_206E_200C_206B_200B_206D_200D_206C_200E_200F_200D_206B_200F_206E_202E(IExposedPlugin P_0) - { - return P_0.InternalName; - } - - static bool _200E_206C_206B_206D_202E_202E_200B_206E_206F_206A_206B_202B_200E_206A_200C_202A_206A_202A_200B_206C_206A_200C_202E_206B_202C_202B_206B_206B_206E_202A_206B_202B_206C_206D_206D_200F_202D_202D_202A_206D_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass13_0 - { - public string internalName; - - public string thirdPartyRepoUrl; - - public IReadOnlyList aliases; - - internal bool _003CTryEnable_003Eb__0(IExposedPlugin p) - { - return _202D_200B_202B_202B_202E_200B_202C_200B_200C_206C_206E_206D_206C_206B_202A_202E_206C_202D_202D_200F_202D_200C_202E_200E_206D_206C_202D_202E_200E_206C_206A_200B_206F_202D_202E_202D_202B_206D_200E_206D_202E(_202E_202E_202A_206F_200C_200E_200F_200D_202A_200C_206E_200D_206F_206E_206E_200F_206B_202C_202B_206B_206C_202E_202E_202E_202B_206B_206E_200F_200E_206F_206C_206D_202E_202A_202B_202B_202E_206B_202B_202E_202E(p), internalName); - } - - internal bool _003CTryEnable_003Eb__1(IExposedPlugin p) - { - return MatchesRepo(p, thirdPartyRepoUrl, aliases); - } - - static string _202E_202E_202A_206F_200C_200E_200F_200D_202A_200C_206E_200D_206F_206E_206E_200F_206B_202C_202B_206B_206C_202E_202E_202E_202B_206B_206E_200F_200E_206F_206C_206D_202E_202A_202B_202B_202E_206B_202B_202E_202E(IExposedPlugin P_0) - { - return P_0.InternalName; - } - - static bool _202D_200B_202B_202B_202E_200B_202C_200B_200C_206C_206E_206D_206C_206B_202A_202E_206C_202D_202D_200F_202D_200C_202E_200E_206D_206C_202D_202E_200E_206C_206A_200B_206F_202D_202E_202D_202B_206D_200E_206D_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass14_0 - { - public PluginInstaller _003C_003E4__this; - - public PluginInstallState state; - - public string name; - - public string repoOrNull; - - public IReadOnlyList aliases; - - public Func _003C_003E9__1; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal void _003CDispose_003Eb__0(Task t) - { - try - { - int num = ((!_200E_200D_200C_202E_206F_200F_202B_206B_202C_200F_202E_200E_202C_206C_206B_206C_200F_200F_206F_206E_206C_200D_202B_202B_206B_206B_206E_206F_202D_200E_206B_200B_206F_206E_202A_200C_200F_200D_202A_202B_202E((Task)t)) ? 301551005 : 301551002); - while (true) - { - int num2 = num; - int num3 = 301551003; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 301551002; - break; - case 3: - num = ((!t.Result) ? 301551006 : 301551007); - break; - case 5: - if (_206E_202C_200E_200F_202B_206D_206C_200E_202B_206D_200E_206C_202D_206A_206B_206F_206E_206E_200C_206B_200B_206F_206D_202A_202B_202B_206C_202B_200D_202A_200F_200B_206F_206B_202A_200F_202E_206B_200B_206E_202E((Task)t)) - { - num = 301551001; - break; - } - state.Status = PluginInstallStatus.Failed; - state.ErrorMessage = global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(636778409); - return; - case 4: - state.Status = PluginInstallStatus.Succeeded; - state.ErrorMessage = null; - return; - case 1: - { - AggregateException ex = _206D_200E_206C_202C_202A_206C_202B_206A_202C_202B_206C_202D_206B_206B_206D_202E_200F_202D_200F_202A_200E_200F_200B_206E_206B_206E_200B_206D_202C_206F_200F_202B_206A_202B_202E_206D_202C_200E_202A_200C_202E((Task)t); - Exception ex2 = ((ex != null) ? _200C_202C_206A_206E_202E_200B_206F_200B_200E_206C_200B_200B_206F_206C_206D_200F_202A_202B_200E_200E_200C_200B_206E_206B_200D_206D_202C_200F_206C_206E_202D_206C_202B_206B_202C_200F_200C_202D_202E_206B_202E((Exception)ex) : null); - state.Status = PluginInstallStatus.Failed; - state.ErrorMessage = ((ex2 != null) ? _200C_200B_202E_200D_206C_200E_202E_200E_200B_202B_202C_206C_206C_200E_206E_206F_202E_200F_206A_206E_206F_200C_206C_202C_202E_200D_206F_206E_202D_202E_202C_202C_202E_202A_202D_200C_202C_206D_206C_206A_202E(ex2) : null) ?? 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(591139344); - _206E_206C_202D_202D_202D_200F_200B_200F_200B_200F_206C_200B_200D_202E_206C_206A_202C_200B_202E_206F_206B_206F_200D_206D_200C_206A_206E_200B_200D_200B_202B_206F_202A_202C_202A_206C_206A_200F_200E_202B_202E(_003C_003E4__this._log, ex2, _200B_206A_202A_202B_202E_202B_206F_200C_206C_206E_202C_200E_200D_206A_202B_200C_202B_206B_206A_206F_206A_200E_200B_202C_206D_200C_206F_206C_200D_206E_206B_202C_202D_206E_200C_202C_202A_206A_206F_202A_202E(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(1519518124), name, 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(-977292932)), Array.Empty()); - return; - } - case 6: - num = ((!_206E_202C_200E_200F_202B_206D_206C_200E_202B_206D_200E_206C_202D_206A_206B_206F_206E_206E_200C_206B_200B_206F_206D_202A_202B_202B_206C_202B_200D_202A_200F_200B_206F_206B_202A_200F_202E_206B_200B_206E_202E((Task)t)) ? 301551006 : 301551000); - break; - case 2: - { - bool flag = false; - try - { - flag = _202A_200B_200C_200F_206B_200F_206B_206A_202A_202C_206B_206F_206E_200C_200E_200F_202E_202B_206A_200F_206D_202E_200C_206C_206C_202C_200B_206B_202A_200C_200C_206D_202D_200D_206B_206B_202E_200B_202B_202E(_003C_003E4__this._pluginInterface).Any(delegate(IExposedPlugin p) - { - int num7 = ((!_206B_206D_206D_206E_206A_206F_206A_202D_202B_202D_206A_202A_206E_200E_202C_200D_200F_202C_206D_202D_200C_206C_206A_206D_206C_202A_200E_206F_202B_200C_206F_202D_206A_206A_206B_202E_206A_206D_202C_202C_202E(_206E_200E_206C_202C_202C_206F_200E_200F_200F_202E_202E_202C_200E_202C_202C_206C_200C_200F_202A_202A_200B_206E_206E_206A_202C_200F_202B_202C_206C_202C_200B_202B_206D_200F_202A_202D_206A_202C_206C_202E_202E(p), name)) ? (-1300118370) : (-1300118369)); - while (true) - { - int num8 = num7; - int num9 = -1300118370; - int num10 = num8; - switch ((num10 | num9) - (num10 & num9)) - { - case 2: - goto IL_0051; - case 0: - return false; - case 1: - return MatchesRepo(p, repoOrNull, aliases); - } - continue; - IL_0051: - num7 = -1300118369; - } - }); - } - catch - { - } - state.Status = (flag ? PluginInstallStatus.Succeeded : PluginInstallStatus.Failed); - state.ErrorMessage = (flag ? null : 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(-2084381224)); - return; - } - } - } - } - catch - { - state.Status = PluginInstallStatus.Failed; - state.ErrorMessage = global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1428532838); - } - } - - internal bool _003CDispose_003Eb__1(IExposedPlugin p) - { - int num = ((!_206B_206D_206D_206E_206A_206F_206A_202D_202B_202D_206A_202A_206E_200E_202C_200D_200F_202C_206D_202D_200C_206C_206A_206D_206C_202A_200E_206F_202B_200C_206F_202D_206A_206A_206B_202E_206A_206D_202C_202C_202E(_206E_200E_206C_202C_202C_206F_200E_200F_200F_202E_202E_202C_200E_202C_202C_206C_200C_200F_202A_202A_200B_206E_206E_206A_202C_200F_202B_202C_206C_202C_200B_202B_206D_200F_202A_202D_206A_202C_206C_202E_202E(p), name)) ? (-1300118370) : (-1300118369)); - while (true) - { - int num2 = num; - int num3 = -1300118370; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0051; - case 0: - return false; - case 1: - return MatchesRepo(p, repoOrNull, aliases); - } - continue; - IL_0051: - num = -1300118369; - } - } - - static bool _200E_200D_200C_202E_206F_200F_202B_206B_202C_200F_202E_200E_202C_206C_206B_206C_200F_200F_206F_206E_206C_200D_202B_202B_206B_206B_206E_206F_202D_200E_206B_200B_206F_206E_202A_200C_200F_200D_202A_202B_202E(Task P_0) - { - return P_0.IsFaulted; - } - - static AggregateException _206D_200E_206C_202C_202A_206C_202B_206A_202C_202B_206C_202D_206B_206B_206D_202E_200F_202D_200F_202A_200E_200F_200B_206E_206B_206E_200B_206D_202C_206F_200F_202B_206A_202B_202E_206D_202C_200E_202A_200C_202E(Task P_0) - { - return P_0.Exception; - } - - static Exception _200C_202C_206A_206E_202E_200B_206F_200B_200E_206C_200B_200B_206F_206C_206D_200F_202A_202B_200E_200E_200C_200B_206E_206B_200D_206D_202C_200F_206C_206E_202D_206C_202B_206B_202C_200F_200C_202D_202E_206B_202E(Exception P_0) - { - return P_0.GetBaseException(); - } - - static string _200C_200B_202E_200D_206C_200E_202E_200E_200B_202B_202C_206C_206C_200E_206E_206F_202E_200F_206A_206E_206F_200C_206C_202C_202E_200D_206F_206E_202D_202E_202C_202C_202E_202A_202D_200C_202C_206D_206C_206A_202E(Exception P_0) - { - return P_0.Message; - } - - static string _200B_206A_202A_202B_202E_202B_206F_200C_206C_206E_202C_200E_200D_206A_202B_200C_202B_206B_206A_206F_206A_200E_200B_202C_206D_200C_206F_206C_200D_206E_206B_202C_202D_206E_200C_202C_202A_206A_206F_202A_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static void _206E_206C_202D_202D_202D_200F_200B_200F_200B_200F_206C_200B_200D_202E_206C_206A_202C_200B_202E_206F_206B_206F_200D_206D_200C_206A_206E_200B_200D_200B_202B_206F_202A_202C_202A_206C_206A_200F_200E_202B_202E(IPluginLog P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.Error(P_1, P_2, P_3); - } - - static bool _206E_202C_200E_200F_202B_206D_206C_200E_202B_206D_200E_206C_202D_206A_206B_206F_206E_206E_200C_206B_200B_206F_206D_202A_202B_202B_206C_202B_200D_202A_200F_200B_206F_206B_202A_200F_202E_206B_200B_206E_202E(Task P_0) - { - return P_0.IsCompletedSuccessfully; - } - - static IEnumerable _202A_200B_200C_200F_206B_200F_206B_206A_202A_202C_206B_206F_206E_200C_200E_200F_202E_202B_206A_200F_206D_202E_200C_206C_206C_202C_200B_206B_202A_200C_200C_206D_202D_200D_206B_206B_202E_200B_202B_202E(IDalamudPluginInterface P_0) - { - return P_0.InstalledPlugins; - } - - static string _206E_200E_206C_202C_202C_206F_200E_200F_200F_202E_202E_202C_200E_202C_202C_206C_200C_200F_202A_202A_200B_206E_206E_206A_202C_200F_202B_202C_206C_202C_200B_202B_206D_200F_202A_202D_206A_202C_206C_202E_202E(IExposedPlugin P_0) - { - return P_0.InternalName; - } - - static bool _206B_206D_206D_206E_206A_206F_206A_202D_202B_202D_206A_202A_206E_200E_202C_200D_200F_202C_206D_202D_200C_206C_206A_206D_206C_202A_200E_206F_202B_200C_206F_202D_206A_206A_206B_202E_206A_206D_202C_202C_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass15_0 - { - public string name; - - public string repoOrNull; - - public IReadOnlyList aliases; - - internal bool _003COnFrameworkUpdate_003Eb__0(IExposedPlugin p) - { - int num = ((!_202B_206F_206F_200E_202D_200F_200C_206D_202D_200D_206B_202E_200D_206D_200E_206D_200C_202B_200C_200B_200B_206D_200B_200C_206D_202A_200C_200C_206C_206B_206E_202D_206C_206A_200E_206A_202E_202B_206E_202A_202E(_200E_202B_202A_206A_202E_202C_200C_206E_202B_206F_200C_200B_206B_206B_202E_202A_206C_200B_206D_206F_200B_206A_202B_206F_206B_200F_202D_200E_202A_206D_206F_200C_206A_200F_200C_200E_206F_206D_206B_206A_202E(p), name)) ? 1406489619 : 1406489616); - while (true) - { - int num2 = num; - int num3 = 1406489617; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0051; - case 2: - return false; - case 1: - return MatchesRepo(p, repoOrNull, aliases); - } - continue; - IL_0051: - num = 1406489616; - } - } - - static string _200E_202B_202A_206A_202E_202C_200C_206E_202B_206F_200C_200B_206B_206B_202E_202A_206C_200B_206D_206F_200B_206A_202B_206F_206B_200F_202D_200E_202A_206D_206F_200C_206A_200F_200C_200E_206F_206D_206B_206A_202E(IExposedPlugin P_0) - { - return P_0.InternalName; - } - - static bool _202B_206F_206F_200E_202D_200F_200C_206D_202D_200D_206B_202E_200D_206D_200E_206D_200C_202B_200C_200B_200B_206D_200B_200C_206D_202A_200C_200C_206C_206B_206E_202D_206C_206A_200E_206A_202E_202B_206E_202A_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - } - private readonly DalamudReflector _reflector; private readonly IFramework _framework; @@ -304,13 +27,12 @@ public sealed class PluginInstaller : IDisposable public bool IsAnyInstallInProgress => _currentOperation.HasValue; - [MethodImpl(MethodImplOptions.NoInlining)] public PluginInstaller(DalamudReflector reflector, IFramework framework, IPluginLog log, IDalamudPluginInterface pluginInterface) { - _206D_202C_200F_200F_202A_206B_206B_206E_200F_206E_202B_200C_202D_200F_206E_202C_206E_202D_200F_202D_200C_206F_206F_206E_206C_202A_200B_200F_202A_202D_200B_206C_206E_200E_200C_202A_206D_202B_206A_200D_202E((object)reflector, 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(657626286)); - _206D_202C_200F_200F_202A_206B_206B_206E_200F_206E_202B_200C_202D_200F_206E_202C_206E_202D_200F_202D_200C_206F_206F_206E_206C_202A_200B_200F_202A_202D_200B_206C_206E_200E_200C_202A_206D_202B_206A_200D_202E((object)framework, 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(-1938330958)); - _206D_202C_200F_200F_202A_206B_206B_206E_200F_206E_202B_200C_202D_200F_206E_202C_206E_202D_200F_202D_200C_206F_206F_206E_206C_202A_200B_200F_202A_202D_200B_206C_206E_200E_200C_202A_206D_202B_206A_200D_202E((object)log, 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(-1367271174)); - _206D_202C_200F_200F_202A_206B_206B_206E_200F_206E_202B_200C_202D_200F_206E_202C_206E_202D_200F_202D_200C_206F_206F_206E_206C_202A_200B_200F_202A_202D_200B_206C_206E_200E_200C_202A_206D_202B_206A_200D_202E((object)pluginInterface, 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(766607579)); + ArgumentNullException.ThrowIfNull(reflector, "reflector"); + ArgumentNullException.ThrowIfNull(framework, "framework"); + ArgumentNullException.ThrowIfNull(log, "log"); + ArgumentNullException.ThrowIfNull(pluginInterface, "pluginInterface"); _reflector = reflector; _framework = framework; _log = log; @@ -320,432 +42,187 @@ public sealed class PluginInstaller : IDisposable public PluginInstallState GetState(string internalName, string? thirdPartyRepoUrl) { (string, string) key = (internalName, thirdPartyRepoUrl ?? string.Empty); - PluginInstallState value; - int num = (_states.TryGetValue(key, out value) ? (-539873295) : (-539873294)); - while (true) + if (!_states.TryGetValue(key, out PluginInstallState value)) { - int num2 = num; - int num3 = -539873296; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -539873294; - break; - case 2: - value = new PluginInstallState(); - _states[key] = value; - num = -539873295; - break; - case 1: - return value; - } + value = new PluginInstallState(); + _states[key] = value; } + return value; } - [MethodImpl(MethodImplOptions.NoInlining)] public bool TryInstall(string internalName, string? thirdPartyRepoUrl, IReadOnlyList? aliases = null) { - int num = ((!_currentOperation.HasValue) ? (-1204487385) : (-1204487387)); - PluginInstallState state = default(PluginInstallState); - IExposedPlugin exposedPlugin = default(IExposedPlugin); - while (true) + if (_currentOperation.HasValue) { - int num2 = num; - int num3 = -1204487391; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1204487387; - break; - case 5: - return true; - case 6: - state = GetState(internalName, thirdPartyRepoUrl); - exposedPlugin = _206B_202B_202E_200D_200D_202B_202C_200E_202E_202D_200E_206A_206E_202B_200E_200D_202D_200C_206D_200F_200F_202E_200E_202E_202B_202E_202A_206A_206F_206D_202E_206F_202C_200D_206E_200F_206A_206D_202E_200C_202E(_pluginInterface).FirstOrDefault((IExposedPlugin p) => _003C_003Ec__DisplayClass12_0._200E_206C_206B_206D_202E_202E_200B_206E_206F_206A_206B_202B_200E_206A_200C_202A_206A_202A_200B_206C_206A_200C_202E_206B_202C_202B_206B_206B_206E_202A_206B_202B_206C_206D_206D_200F_202D_202D_202A_206D_202E(_003C_003Ec__DisplayClass12_0._200E_202E_202B_206F_206B_206F_202D_200E_206D_206D_206A_202A_202D_200B_200C_202D_200E_200B_200D_206C_200E_202E_206F_202D_202A_202D_200E_206E_200C_206B_200B_206D_200D_206C_200E_200F_200D_206B_200F_206E_202E(p), internalName)); - num = ((exposedPlugin == null) ? (-1204487389) : (-1204487392)); - break; - case 3: - _202A_200C_200E_200E_200F_206B_206E_202C_200D_200B_206F_206E_206C_200B_202C_200C_200B_206F_202D_206D_202D_200D_206E_202A_202B_206A_200B_200E_206A_202D_202A_206A_206B_206E_206D_200F_206F_200C_202A_200F_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkUpdate); - _frameworkHooked = true; - num = -1204487388; - break; - case 2: - state.Status = PluginInstallStatus.InProgress; - state.ErrorMessage = null; - _currentOperation = (internalName, thirdPartyRepoUrl ?? string.Empty, aliases); - _installTask = _reflector.AddPluginAsync(internalName, thirdPartyRepoUrl, aliases); - num = (_frameworkHooked ? (-1204487388) : (-1204487390)); - break; - case 4: - return false; - case 1: - state.Status = PluginInstallStatus.Failed; - state.ErrorMessage = (_200B_206A_202C_206D_206C_200D_200E_206E_200D_202C_200C_206D_202C_206A_202C_206D_202D_200E_202E_206B_200B_202B_200E_200E_206B_200C_200B_206C_202B_200D_206B_206C_206F_206D_202C_206E_202A_202E_206F_206F_202E(exposedPlugin) ? 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(879990026) : global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-776183824)); - return false; - } + return false; } + PluginInstallState state = GetState(internalName, thirdPartyRepoUrl); + IExposedPlugin exposedPlugin = _pluginInterface.InstalledPlugins.FirstOrDefault((IExposedPlugin p) => p.InternalName == internalName); + if (exposedPlugin != null) + { + state.Status = PluginInstallStatus.Failed; + state.ErrorMessage = (exposedPlugin.IsLoaded ? "Already installed and loaded" : "Already installed but disabled - use Enable instead"); + return false; + } + state.Status = PluginInstallStatus.InProgress; + state.ErrorMessage = null; + _currentOperation = (internalName, thirdPartyRepoUrl ?? string.Empty, aliases); + _installTask = _reflector.AddPluginAsync(internalName, thirdPartyRepoUrl, aliases); + if (!_frameworkHooked) + { + _framework.Update += OnFrameworkUpdate; + _frameworkHooked = true; + } + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public bool TryEnable(string internalName, string? thirdPartyRepoUrl, IReadOnlyList? aliases = null) { - int num = ((!_currentOperation.HasValue) ? (-1761587597) : (-1761587599)); - PluginInstallState state = default(PluginInstallState); - List list = default(List); - IExposedPlugin exposedPlugin = default(IExposedPlugin); - while (true) + if (_currentOperation.HasValue) { - int num2 = num; - int num3 = -1761587600; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - object obj; - switch (num5 - (num6 + num6)) - { - case 0: - return true; - case 6: - _202A_200C_200E_200E_200F_206B_206E_202C_200D_200B_206F_206E_206C_200B_202C_200C_200B_206F_202D_206D_202D_200D_206E_202A_202B_206A_200B_200E_206A_202D_202A_206A_206B_206E_206D_200F_206F_200C_202A_200F_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkUpdate); - _frameworkHooked = true; - num = -1761587600; - break; - case 7: - state.Status = PluginInstallStatus.Succeeded; - state.ErrorMessage = null; - return false; - case 10: - num = -1761587599; - break; - case 2: - state.Status = PluginInstallStatus.Failed; - state.ErrorMessage = ((list.Count == 0) ? 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(-1598187262) : 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(94861650)); - return false; - case 8: - obj = list[0]; - goto IL_0113; - case 9: - state.Status = PluginInstallStatus.InProgress; - state.ErrorMessage = null; - _currentOperation = (internalName, thirdPartyRepoUrl ?? string.Empty, aliases); - _installTask = _reflector.EnablePluginAsync(internalName, thirdPartyRepoUrl, aliases); - num = (_frameworkHooked ? (-1761587600) : (-1761587594)); - break; - case 5: - num = ((!_200B_206A_202C_206D_206C_200D_200E_206E_200D_202C_200C_206D_202C_206A_202C_206D_202D_200E_202E_206B_200B_202B_200E_200E_206B_200C_200B_206C_202B_200D_206B_206C_206F_206D_202C_206E_202A_202E_206F_206F_202E(exposedPlugin)) ? (-1761587591) : (-1761587593)); - break; - case 3: - state = GetState(internalName, thirdPartyRepoUrl); - list = (from p in _206B_202B_202E_200D_200D_202B_202C_200E_202E_202D_200E_206A_206E_202B_200E_200D_202D_200C_206D_200F_200F_202E_200E_202E_202B_202E_202A_206A_206F_206D_202E_206F_202C_200D_206E_200F_206A_206D_202E_200C_202E(_pluginInterface) - where _003C_003Ec__DisplayClass13_0._202D_200B_202B_202B_202E_200B_202C_200B_200C_206C_206E_206D_206C_206B_202A_202E_206C_202D_202D_200F_202D_200C_202E_200E_206D_206C_202D_202E_200E_206C_206A_200B_206F_202D_202E_202D_202B_206D_200E_206D_202E(_003C_003Ec__DisplayClass13_0._202E_202E_202A_206F_200C_200E_200F_200D_202A_200C_206E_200D_206F_206E_206E_200F_206B_202C_202B_206B_206C_202E_202E_202E_202B_206B_206E_200F_200E_206F_206C_206D_202E_202A_202B_202B_202E_206B_202B_202E_202E(p), internalName) - select p).ToList(); - obj = list.FirstOrDefault((IExposedPlugin p) => MatchesRepo(p, thirdPartyRepoUrl, aliases)); - if (obj == null) - { - num = ((list.Count == 1) ? (-1761587592) : (-1761587596)); - break; - } - goto IL_0113; - case 1: - return false; - case 4: - { - obj = null; - goto IL_0113; - } - IL_0113: - exposedPlugin = (IExposedPlugin)obj; - num = ((exposedPlugin != null) ? (-1761587595) : (-1761587598)); - break; - } + return false; } + PluginInstallState state = GetState(internalName, thirdPartyRepoUrl); + List list = _pluginInterface.InstalledPlugins.Where((IExposedPlugin p) => p.InternalName == internalName).ToList(); + IExposedPlugin exposedPlugin = list.FirstOrDefault((IExposedPlugin p) => MatchesRepo(p, thirdPartyRepoUrl, aliases)) ?? ((list.Count == 1) ? list[0] : null); + if (exposedPlugin == null) + { + state.Status = PluginInstallStatus.Failed; + state.ErrorMessage = ((list.Count == 0) ? "Not installed - nothing to enable" : "Multiple installed copies and none match the expected repo"); + return false; + } + if (exposedPlugin.IsLoaded) + { + state.Status = PluginInstallStatus.Succeeded; + state.ErrorMessage = null; + return false; + } + state.Status = PluginInstallStatus.InProgress; + state.ErrorMessage = null; + _currentOperation = (internalName, thirdPartyRepoUrl ?? string.Empty, aliases); + _installTask = _reflector.EnablePluginAsync(internalName, thirdPartyRepoUrl, aliases); + if (!_frameworkHooked) + { + _framework.Update += OnFrameworkUpdate; + _frameworkHooked = true; + } + return true; } public void Dispose() { Task installTask = _installTask; (string, string, IReadOnlyList)? currentOperation = _currentOperation; - int num = ((installTask == null) ? 1286770811 : 1286770810); - string name; - IReadOnlyList aliases; - string repoOrNull; - PluginInstallState state; - while (true) + if (installTask != null && currentOperation.HasValue) { - int num2 = num; - int num3 = 1286770811; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + (string, string, IReadOnlyList) value = currentOperation.Value; + string name = value.Item1; + string item = value.Item2; + IReadOnlyList aliases = value.Item3; + string repoOrNull = ((item.Length == 0) ? null : item); + PluginInstallState state = GetState(name, repoOrNull); + installTask.ContinueWith(delegate(Task t) { - case 3: - num = 1286770810; - break; - case 0: - ClearCurrent(); - return; - case 1: - num = ((!currentOperation.HasValue) ? 1286770811 : 1286770809); - break; - case 2: - { - (string, string, IReadOnlyList) value = currentOperation.Value; - name = value.Item1; - string item = value.Item2; - aliases = value.Item3; - repoOrNull = ((_202A_200D_206F_200D_206E_202C_206D_200D_202E_206B_206E_202A_200E_206C_200F_206F_202A_202E_206C_202A_202C_200F_206A_206A_202B_200E_200F_200B_202B_202E_206B_200F_202D_202E_200E_200E_206C_202C_200B_200E_202E(item) == 0) ? null : item); - state = GetState(name, repoOrNull); - installTask.ContinueWith([MethodImpl(MethodImplOptions.NoInlining)] (Task t) => + try { - try + if (t.IsFaulted) { - int num7 = ((!_003C_003Ec__DisplayClass14_0._200E_200D_200C_202E_206F_200F_202B_206B_202C_200F_202E_200E_202C_206C_206B_206C_200F_200F_206F_206E_206C_200D_202B_202B_206B_206B_206E_206F_202D_200E_206B_200B_206F_206E_202A_200C_200F_200D_202A_202B_202E((Task)t)) ? 301551005 : 301551002); - while (true) - { - int num8 = num7; - int num9 = 301551003; - int num10 = num8; - int num11 = num10 + num9; - int num12 = num10 & num9; - switch (num11 - (num12 + num12)) - { - case 0: - num7 = 301551002; - break; - case 3: - num7 = ((!t.Result) ? 301551006 : 301551007); - break; - case 5: - if (!_003C_003Ec__DisplayClass14_0._206E_202C_200E_200F_202B_206D_206C_200E_202B_206D_200E_206C_202D_206A_206B_206F_206E_206E_200C_206B_200B_206F_206D_202A_202B_202B_206C_202B_200D_202A_200F_200B_206F_206B_202A_200F_202E_206B_200B_206E_202E((Task)t)) - { - state.Status = PluginInstallStatus.Failed; - state.ErrorMessage = global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(636778409); - return; - } - num7 = 301551001; - break; - case 4: - state.Status = PluginInstallStatus.Succeeded; - state.ErrorMessage = null; - return; - case 1: - { - AggregateException ex = _003C_003Ec__DisplayClass14_0._206D_200E_206C_202C_202A_206C_202B_206A_202C_202B_206C_202D_206B_206B_206D_202E_200F_202D_200F_202A_200E_200F_200B_206E_206B_206E_200B_206D_202C_206F_200F_202B_206A_202B_202E_206D_202C_200E_202A_200C_202E((Task)t); - Exception ex2 = ((ex != null) ? _003C_003Ec__DisplayClass14_0._200C_202C_206A_206E_202E_200B_206F_200B_200E_206C_200B_200B_206F_206C_206D_200F_202A_202B_200E_200E_200C_200B_206E_206B_200D_206D_202C_200F_206C_206E_202D_206C_202B_206B_202C_200F_200C_202D_202E_206B_202E((Exception)ex) : null); - state.Status = PluginInstallStatus.Failed; - state.ErrorMessage = ((ex2 != null) ? _003C_003Ec__DisplayClass14_0._200C_200B_202E_200D_206C_200E_202E_200E_200B_202B_202C_206C_206C_200E_206E_206F_202E_200F_206A_206E_206F_200C_206C_202C_202E_200D_206F_206E_202D_202E_202C_202C_202E_202A_202D_200C_202C_206D_206C_206A_202E(ex2) : null) ?? 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(591139344); - _003C_003Ec__DisplayClass14_0._206E_206C_202D_202D_202D_200F_200B_200F_200B_200F_206C_200B_200D_202E_206C_206A_202C_200B_202E_206F_206B_206F_200D_206D_200C_206A_206E_200B_200D_200B_202B_206F_202A_202C_202A_206C_206A_200F_200E_202B_202E(_log, ex2, _003C_003Ec__DisplayClass14_0._200B_206A_202A_202B_202E_202B_206F_200C_206C_206E_202C_200E_200D_206A_202B_200C_202B_206B_206A_206F_206A_200E_200B_202C_206D_200C_206F_206C_200D_206E_206B_202C_202D_206E_200C_202C_202A_206A_206F_202A_202E(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(1519518124), name, 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(-977292932)), Array.Empty()); - return; - } - case 6: - num7 = ((!_003C_003Ec__DisplayClass14_0._206E_202C_200E_200F_202B_206D_206C_200E_202B_206D_200E_206C_202D_206A_206B_206F_206E_206E_200C_206B_200B_206F_206D_202A_202B_202B_206C_202B_200D_202A_200F_200B_206F_206B_202A_200F_202E_206B_200B_206E_202E((Task)t)) ? 301551006 : 301551000); - break; - case 2: - { - bool flag = false; - try - { - flag = _003C_003Ec__DisplayClass14_0._202A_200B_200C_200F_206B_200F_206B_206A_202A_202C_206B_206F_206E_200C_200E_200F_202E_202B_206A_200F_206D_202E_200C_206C_206C_202C_200B_206B_202A_200C_200C_206D_202D_200D_206B_206B_202E_200B_202B_202E(_pluginInterface).Any(delegate(IExposedPlugin p) - { - int num13 = ((!_003C_003Ec__DisplayClass14_0._206B_206D_206D_206E_206A_206F_206A_202D_202B_202D_206A_202A_206E_200E_202C_200D_200F_202C_206D_202D_200C_206C_206A_206D_206C_202A_200E_206F_202B_200C_206F_202D_206A_206A_206B_202E_206A_206D_202C_202C_202E(_003C_003Ec__DisplayClass14_0._206E_200E_206C_202C_202C_206F_200E_200F_200F_202E_202E_202C_200E_202C_202C_206C_200C_200F_202A_202A_200B_206E_206E_206A_202C_200F_202B_202C_206C_202C_200B_202B_206D_200F_202A_202D_206A_202C_206C_202E_202E(p), name)) ? (-1300118370) : (-1300118369)); - while (true) - { - int num14 = num13; - int num15 = -1300118370; - int num16 = num14; - switch ((num16 | num15) - (num16 & num15)) - { - case 2: - goto IL_0051; - case 0: - return false; - case 1: - return MatchesRepo(p, repoOrNull, aliases); - } - continue; - IL_0051: - num13 = -1300118369; - } - }); - } - catch - { - } - state.Status = (flag ? PluginInstallStatus.Succeeded : PluginInstallStatus.Failed); - state.ErrorMessage = (flag ? null : 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(-2084381224)); - return; - } - } - } + Exception ex = t.Exception?.GetBaseException(); + state.Status = PluginInstallStatus.Failed; + state.ErrorMessage = ex?.Message ?? "Unknown error"; + _log.Error(ex, "[PluginInstaller] Operation on " + name + " failed after dispose"); } - catch + else if (t.IsCompletedSuccessfully && t.Result) + { + state.Status = PluginInstallStatus.Succeeded; + state.ErrorMessage = null; + } + else if (t.IsCompletedSuccessfully) + { + bool flag = false; + try + { + flag = _pluginInterface.InstalledPlugins.Any((IExposedPlugin p) => p.InternalName == name && MatchesRepo(p, repoOrNull, aliases)); + } + catch + { + } + state.Status = (flag ? PluginInstallStatus.Succeeded : PluginInstallStatus.Failed); + state.ErrorMessage = (flag ? null : "Dalamud rejected the operation (see /xllog)"); + } + else { state.Status = PluginInstallStatus.Failed; - state.ErrorMessage = global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1428532838); + state.ErrorMessage = "Operation was cancelled"; } - }, _200D_200D_206B_200F_200F_200D_206C_200D_200D_202B_206F_200B_202B_202B_202A_200F_206B_202B_206B_202C_200B_200D_206A_206A_202B_200B_202D_206F_200C_200C_202D_200C_202D_200B_202D_202A_206D_206E_202D_202A_202E()); - num = 1286770811; - break; - } - } + } + catch + { + state.Status = PluginInstallStatus.Failed; + state.ErrorMessage = "Operation outcome could not be determined after dispose"; + } + }, TaskScheduler.Default); } + ClearCurrent(); } - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] private void OnFrameworkUpdate(IFramework framework) { Task installTask = _installTask; (string, string, IReadOnlyList)? currentOperation = _currentOperation; - int num = ((installTask == null) ? (-20087938) : (-20087941)); - Exception ex2 = default(Exception); - string name = default(string); - IReadOnlyList aliases = default(IReadOnlyList); - string repoOrNull = default(string); - PluginInstallState state = default(PluginInstallState); - while (true) + if (installTask == null || !currentOperation.HasValue || !installTask.IsCompleted) { - int num2 = num; - int num3 = -20087938; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - object obj; - string errorMessage; - switch (num5 - (num6 + num6)) - { - case 6: - num = -20087941; - break; - case 7: - obj = _202E_206A_200F_206A_206B_200D_202D_202D_206A_202E_200E_206D_200E_202B_206C_206C_202A_200B_206E_206D_202D_206C_200F_202A_200C_206E_206F_200C_206A_206D_200C_202D_206B_206D_200D_202E_200C_206F_200D_202C_202E(ex2); - goto IL_008f; - case 0: - return; - case 8: - obj = null; - goto IL_008f; - case 9: - num = (_206B_206F_206E_206A_200D_202B_200B_202D_206E_200E_202B_200D_200E_200D_202C_202E_206D_206C_202E_200D_200E_202D_202B_200E_202E_202C_206C_206B_202B_206B_200E_200F_206B_206E_206D_200B_202E_206E_206A_206B_202E((Task)installTask) ? (-20087942) : (-20087939)); - break; - case 4: - { - (string, string, IReadOnlyList) value = currentOperation.Value; - name = value.Item1; - string item = value.Item2; - aliases = value.Item3; - repoOrNull = ((_202A_200D_206F_200D_206E_202C_206D_200D_202E_206B_206E_202A_200E_206C_200F_206F_202A_202E_206C_202A_202C_200F_206A_206A_202B_200E_200F_200B_202B_202E_206B_200F_202D_202E_200E_200E_206C_202C_200B_200E_202E(item) == 0) ? null : item); - state = GetState(name, repoOrNull); - num = ((!_202D_202D_202D_202B_206B_200D_202E_200C_202E_202D_200F_200B_202B_200E_206F_206C_206F_202D_200D_200F_202C_202B_200B_200D_202E_202A_202A_202D_200B_206B_200B_206B_202B_206A_200C_200E_200B_200E_200E_200C_202E((Task)installTask)) ? (-20087937) : (-20087940)); - break; - } - case 3: - return; - case 2: - { - AggregateException ex3 = _202B_202C_202E_200E_206A_202C_200C_206F_206F_206E_200D_200B_206D_206B_202C_202D_206C_202A_206D_202B_206D_202C_202C_202A_202A_200F_200C_200D_206D_200F_202B_200E_200E_206E_202C_206F_202E_206A_202B_206E_202E((Task)installTask); - ex2 = ((ex3 != null) ? _202D_200B_200C_202D_206A_202D_200C_202E_202A_200F_200B_200D_206B_200B_206B_200B_200E_206A_200D_200B_202B_206C_200E_202D_206B_202E_200B_202B_202C_202D_206A_200D_206A_200F_200B_206C_206F_206D_202A_206E_202E((Exception)ex3) : null); - num = ((ex2 != null) ? (-20087943) : (-20087946)); - break; - } - case 5: - num = (currentOperation.HasValue ? (-20087945) : (-20087938)); - break; - case 1: - { - bool result; - try - { - result = installTask.Result; - } - catch (Exception ex) - { - _200D_206A_202C_200C_202B_200F_202E_200B_202C_206B_200F_200B_206F_206F_200C_200D_206A_202C_202D_202D_206D_200C_200C_206C_202D_200F_200E_200F_206B_200F_200C_206E_200B_206C_202B_202B_200E_206E_206E_206B_202E(_log, ex, _202E_200C_200C_200C_200D_200B_206E_206B_206A_202D_200D_202C_206D_202E_202E_206F_206E_206F_202A_202E_202C_206C_206D_206A_202E_200B_206E_200F_200C_200E_202E_202E_200C_202D_202A_202B_202E_202A_202A_202E(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(154304713), name, 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(-1085586749)), Array.Empty()); - state.Status = PluginInstallStatus.Failed; - state.ErrorMessage = _202E_206A_200F_206A_206B_200D_202D_202D_206A_202E_200E_206D_200E_202B_206C_206C_202A_200B_206E_206D_202D_206C_200F_202A_200C_206E_206F_200C_206A_206D_200C_202D_206B_206D_200D_202E_200C_206F_200D_202C_202E(ex); - ClearCurrent(); - return; - } - num = ((!result) ? (-2093940265) : (-2093940272)); - while (true) - { - int num7 = num; - num3 = -2093940269; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -2093940272; - break; - case 2: - _206F_202D_206B_202B_206D_206F_206A_206F_206D_200C_200B_206E_206B_200F_200D_206B_200C_200C_206E_202C_202D_200E_206B_202A_200C_200E_202D_202B_206A_200F_206F_202B_200B_206D_206C_206D_200E_206B_206E_202D_202E(_log, _202E_200C_200C_200C_200D_200B_206E_206B_206A_202D_200D_202C_206D_202E_202E_206F_206E_206F_202A_202E_202C_206C_206D_206A_202E_200B_206E_200F_200C_200E_202E_202E_200C_202D_202A_202B_202E_202A_202A_202E(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(-1975449291), name, 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(66532366)), Array.Empty()); - state.Status = PluginInstallStatus.Succeeded; - state.ErrorMessage = null; - ClearCurrent(); - return; - case 4: - num = ((!_206B_202B_202E_200D_200D_202B_202C_200E_202E_202D_200E_206A_206E_202B_200E_200D_202D_200C_206D_200F_200F_202E_200E_202E_202B_202E_202A_206A_206F_206D_202E_206F_202C_200D_206E_200F_206A_206D_202E_200C_202E(_pluginInterface).Any(delegate(IExposedPlugin p) - { - int num8 = ((!_003C_003Ec__DisplayClass15_0._202B_206F_206F_200E_202D_200F_200C_206D_202D_200D_206B_202E_200D_206D_200E_206D_200C_202B_200C_200B_200B_206D_200B_200C_206D_202A_200C_200C_206C_206B_206E_202D_206C_206A_200E_206A_202E_202B_206E_202A_202E(_003C_003Ec__DisplayClass15_0._200E_202B_202A_206A_202E_202C_200C_206E_202B_206F_200C_200B_206B_206B_202E_202A_206C_200B_206D_206F_200B_206A_202B_206F_206B_200F_202D_200E_202A_206D_206F_200C_206A_200F_200C_200E_206F_206D_206B_206A_202E(p), name)) ? 1406489619 : 1406489616); - while (true) - { - int num9 = num8; - int num10 = 1406489617; - int num11 = num9; - switch ((num11 | num10) - (num11 & num10)) - { - case 0: - goto IL_0051; - case 2: - return false; - case 1: - return MatchesRepo(p, repoOrNull, aliases); - } - continue; - IL_0051: - num8 = 1406489616; - } - })) ? (-2093940270) : (-2093940271)); - break; - case 3: - _206F_202D_206B_202B_206D_206F_206A_206F_206D_200C_200B_206E_206B_200F_200D_206B_200C_200C_206E_202C_202D_200E_206B_202A_200C_200E_202D_202B_206A_200F_206F_202B_200B_206D_206C_206D_200E_206B_206E_202D_202E(_log, _206D_200D_200F_200F_200C_202B_202A_202E_206C_206F_202C_206E_200E_200F_202A_206A_206D_202A_202A_200C_206C_202C_202C_206C_200C_202A_202B_200E_206A_202B_202D_202A_202E_206A_202B_200F_206D_206D_206F_202E_202E(global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-1920092139), name), Array.Empty()); - state.Status = PluginInstallStatus.Succeeded; - state.ErrorMessage = null; - ClearCurrent(); - return; - case 1: - _200F_202B_200F_206B_206D_206B_200E_200C_206A_206A_206F_202A_206D_206C_206C_206B_202D_206E_200D_200D_202B_200D_206C_206C_206B_206E_200C_202C_202A_202C_206A_202B_206B_202B_202B_202C_202B_202A_202D_206C_202E(_log, _202E_200C_200C_200C_200D_200B_206E_206B_206A_202D_200D_202C_206D_202E_202E_206F_206E_206F_202A_202E_202C_206C_206D_206A_202E_200B_206E_200F_200C_200E_202E_202E_200C_202D_202A_202B_202E_202A_202A_202E(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(694138335), name, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1663750406)), Array.Empty()); - state.Status = PluginInstallStatus.Failed; - state.ErrorMessage = 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(-2084381224); - ClearCurrent(); - return; - } - } - } - IL_008f: - if (obj == null) - { - obj = 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(591139344); - } - errorMessage = (string)obj; - _200D_206A_202C_200C_202B_200F_202E_200B_202C_206B_200F_200B_206F_206F_200C_200D_206A_202C_202D_202D_206D_200C_200C_206C_202D_200F_200E_200F_206B_200F_200C_206E_200B_206C_202B_202B_200E_206E_206E_206B_202E(_log, ex2, _202E_200C_200C_200C_200D_200B_206E_206B_206A_202D_200D_202C_206D_202E_202E_206F_206E_206F_202A_202E_202C_206C_206D_206A_202E_200B_206E_200F_200C_200E_202E_202E_200C_202D_202A_202B_202E_202A_202A_202E(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(154304713), name, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-333020202)), Array.Empty()); - state.Status = PluginInstallStatus.Failed; - state.ErrorMessage = errorMessage; - ClearCurrent(); - return; - } + return; + } + (string, string, IReadOnlyList) value = currentOperation.Value; + string name = value.Item1; + string item = value.Item2; + IReadOnlyList aliases = value.Item3; + string repoOrNull = ((item.Length == 0) ? null : item); + PluginInstallState state = GetState(name, repoOrNull); + if (installTask.IsFaulted) + { + Exception ex = installTask.Exception?.GetBaseException(); + string errorMessage = ex?.Message ?? "Unknown error"; + _log.Error(ex, "[PluginInstaller] Operation on " + name + " failed"); + state.Status = PluginInstallStatus.Failed; + state.ErrorMessage = errorMessage; + ClearCurrent(); + return; + } + bool result; + try + { + result = installTask.Result; + } + catch (Exception ex2) + { + _log.Error(ex2, "[PluginInstaller] Operation on " + name + " task.Result threw"); + state.Status = PluginInstallStatus.Failed; + state.ErrorMessage = ex2.Message; + ClearCurrent(); + return; + } + if (result) + { + _log.Information("[PluginInstaller] Completed operation on " + name); + state.Status = PluginInstallStatus.Succeeded; + state.ErrorMessage = null; + ClearCurrent(); + } + else if (_pluginInterface.InstalledPlugins.Any((IExposedPlugin p) => p.InternalName == name && MatchesRepo(p, repoOrNull, aliases))) + { + _log.Information("[PluginInstaller] Completed operation on " + name + " (fallback - task returned false but plugin is present)"); + state.Status = PluginInstallStatus.Succeeded; + state.ErrorMessage = null; + ClearCurrent(); + } + else + { + _log.Error("[PluginInstaller] Operation on " + name + " rejected by Dalamud"); + state.Status = PluginInstallStatus.Failed; + state.ErrorMessage = "Dalamud rejected the operation (see /xllog)"; + ClearCurrent(); } } @@ -753,321 +230,55 @@ public sealed class PluginInstaller : IDisposable { _currentOperation = null; _installTask = null; - int num = ((!_frameworkHooked) ? 1877061817 : 1877061816); - while (true) + if (_frameworkHooked) { - int num2 = num; - int num3 = 1877061817; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return; - case 1: - _206F_202C_206B_206A_202D_206E_206F_206F_202B_206D_202C_206B_206E_206D_202E_202E_200C_202A_202B_200D_206B_200E_206D_206C_202A_202B_206B_200D_206E_200F_200E_202B_200D_200C_200F_202A_200F_206D_200B_206A_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkUpdate); - _frameworkHooked = false; - num = 1877061817; - break; - case 2: - num = 1877061816; - break; - } + _framework.Update -= OnFrameworkUpdate; + _frameworkHooked = false; } } public static bool MatchesRepo(IExposedPlugin plugin, string? expectedRepoUrl, IReadOnlyList? aliases = null) { string installedFrom = TryGetInstalledFromUrl(plugin); - int num = ((!SingleRepoUrlMatches(installedFrom, expectedRepoUrl)) ? (-493404997) : (-493405000)); - while (true) + if (SingleRepoUrlMatches(installedFrom, expectedRepoUrl)) { - int num2 = num; - int num3 = -493404999; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return true; + } + if (aliases != null) + { + foreach (string alias in aliases) { - default: - continue; - case 2: - if (aliases != null) + if (SingleRepoUrlMatches(installedFrom, alias)) { - num = -493404999; - continue; + return true; } - break; - case 1: - return true; - case 3: - num = -493405000; - continue; - case 0: - { - IEnumerator enumerator = aliases.GetEnumerator(); - try - { - num = 257099616; - while (true) - { - int num7 = num; - num3 = 257099617; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 1: - num = (_200E_206B_200D_202B_200B_200F_200D_202A_202A_202D_200E_200E_202B_200B_202C_206A_206B_202B_206D_202B_202E_200D_206D_206F_200D_206B_206D_206C_202C_200F_200D_200D_206A_206F_206F_206E_202A_206A_206F_206D_202E((IEnumerator)enumerator) ? 257099618 : 257099617); - break; - case 2: - return true; - case 3: - { - string current = enumerator.Current; - num = ((!SingleRepoUrlMatches(installedFrom, current)) ? 257099616 : 257099619); - break; - } - case 4: - num = 257099616; - break; - case 0: - goto end_IL_0090; - } - continue; - end_IL_0090: - break; - } - } - finally - { - num = ((enumerator == null) ? 1755953266 : 1755953267); - while (true) - { - int num10 = num; - num3 = 1755953266; - num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - case 0: - goto end_IL_0156; - case 1: - _206C_202C_200F_202C_200D_200F_206B_200E_202A_202A_202A_206E_200F_202A_200D_206C_200F_202C_200C_206A_202B_206B_200D_206E_200C_206D_206D_202D_202B_200C_200F_206B_202C_206A_202D_200F_206D_200C_206F_200E_202E((IDisposable)enumerator); - num = 1755953266; - break; - case 2: - num = 1755953267; - break; - } - continue; - end_IL_0156: - break; - } - } - break; } - } - break; } return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private static bool SingleRepoUrlMatches(string? installedFrom, string? expectedRepoUrl) { - bool flag = _206E_200E_206E_206B_206C_202D_200B_202B_200E_202A_202A_202B_200E_202D_202E_202A_200C_200D_200E_206C_202C_202B_202B_202A_206C_206A_206B_200B_202A_200F_202E_200F_202D_206D_206F_202B_206C_206F_200E_202B_202E(expectedRepoUrl); - int num = (_206E_200E_206E_206B_206C_202D_200B_202B_200E_202A_202A_202B_200E_202D_202E_202A_200C_200D_200E_206C_202C_202B_202B_202A_206C_206A_206B_200B_202A_200F_202E_200F_202D_206D_206F_202B_206C_206F_200E_202B_202E(installedFrom) ? 962949554 : 962949557); - bool flag2 = default(bool); - while (true) + bool flag = string.IsNullOrEmpty(expectedRepoUrl); + bool flag2 = string.IsNullOrEmpty(installedFrom) || string.Equals(installedFrom, "OFFICIAL", StringComparison.OrdinalIgnoreCase); + if (flag && flag2) { - int num2 = num; - int num3 = 962949556; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num7; - switch (num5 - (num6 + num6)) - { - case 6: - num7 = 1; - goto IL_0063; - case 5: - return DalamudReflector.RepoUrlEquals(installedFrom, expectedRepoUrl); - case 4: - num = 962949557; - break; - case 3: - return true; - case 0: - return false; - case 1: - num7 = (_206D_206C_206A_206D_206A_200C_206C_200B_200B_200C_206C_200B_200F_202B_200D_202D_202E_206D_200F_200C_206B_202C_202D_206B_202B_202B_202B_200B_206E_202C_202A_200F_200E_200E_206B_206A_202D_200E_202B_206F_202E(installedFrom, 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(682779368), StringComparison.OrdinalIgnoreCase) ? 1 : 0); - goto IL_0063; - case 2: - { - num3 = (flag2 ? 1 : 0); - num4 = (flag ? 1 : 0); - num = (((num4 & num3) + (num4 ^ num3) == 0) ? 962949553 : 962949556); - break; - } - IL_0063: - flag2 = (byte)num7 != 0; - num3 = (flag2 ? 1 : 0); - num4 = (flag ? 1 : 0); - num = ((num4 + num3 - (num4 | num3) == 0) ? 962949558 : 962949559); - break; - } + return true; } + if (flag || flag2) + { + return false; + } + return DalamudReflector.RepoUrlEquals(installedFrom, expectedRepoUrl); } - [MethodImpl(MethodImplOptions.NoInlining)] private static string? TryGetInstalledFromUrl(IExposedPlugin plugin) { - PropertyInfo propertyInfo = _206E_202A_200C_206D_200B_206D_202E_200D_206E_200F_200C_202C_200F_206B_202A_200B_200F_206B_206F_206F_206E_200E_206B_206C_200F_202C_200E_200C_202A_206E_200F_200C_200D_200E_200F_206D_202A_202C_202E_200E_202E(_202E_202C_202B_202A_206A_200C_206B_206F_200B_200E_206A_200B_200C_202C_202C_206A_202D_200E_206B_202B_206E_202E_206D_202E_206C_206C_206C_206C_206C_200D_200F_206F_202B_206A_200B_202E_206F_202A_202C_200C_202E((object)plugin), 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(1760038507)); - object obj = (((object)propertyInfo != null) ? _206C_202D_206E_202B_206E_200E_202C_202C_206E_200C_202C_202C_202B_206B_200F_202C_200D_202A_206B_200B_200B_200F_200E_206A_206B_206E_206F_200E_206B_202C_206A_202C_202E_200D_202A_200C_202B_200E_202E_206B_202E(propertyInfo, (object)plugin) : null); - int num = ((obj != null) ? (-1115973018) : (-1115973019)); - while (true) + object obj = plugin.GetType().GetProperty("Manifest")?.GetValue(plugin); + if (obj == null) { - int num2 = num; - int num3 = -1115973017; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_006a; - case 1: - { - PropertyInfo propertyInfo2 = _206E_202A_200C_206D_200B_206D_202E_200D_206E_200F_200C_202C_200F_206B_202A_200B_200F_206B_206F_206F_206E_200E_206B_206C_200F_202C_200E_200C_202A_206E_200F_200C_200D_200E_200F_206D_202A_202C_202E_200E_202E(_202E_202C_202B_202A_206A_200C_206B_206F_200B_200E_206A_200B_200C_202C_202C_206A_202D_200E_206B_202B_206E_202E_206D_202E_206C_206C_206C_206C_206C_200D_200F_206F_202B_206A_200B_202E_206F_202A_202C_200C_202E(obj), global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(709710176)); - return (((object)propertyInfo2 != null) ? _206C_202D_206E_202B_206E_200E_202C_202C_206E_200C_202C_202C_202B_206B_200F_202C_200D_202A_206B_200B_200B_200F_200E_206A_206B_206E_206F_200E_206B_202C_206A_202C_202E_200D_202A_200C_202B_200E_202E_206B_202E(propertyInfo2, obj) : null) as string; - } - case 2: - return null; - } - continue; - IL_006a: - num = -1115973019; + return null; } - } - - static void _206D_202C_200F_200F_202A_206B_206B_206E_200F_206E_202B_200C_202D_200F_206E_202C_206E_202D_200F_202D_200C_206F_206F_206E_206C_202A_200B_200F_202A_202D_200B_206C_206E_200E_200C_202A_206D_202B_206A_200D_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static IEnumerable _206B_202B_202E_200D_200D_202B_202C_200E_202E_202D_200E_206A_206E_202B_200E_200D_202D_200C_206D_200F_200F_202E_200E_202E_202B_202E_202A_206A_206F_206D_202E_206F_202C_200D_206E_200F_206A_206D_202E_200C_202E(IDalamudPluginInterface P_0) - { - return P_0.InstalledPlugins; - } - - static bool _200B_206A_202C_206D_206C_200D_200E_206E_200D_202C_200C_206D_202C_206A_202C_206D_202D_200E_202E_206B_200B_202B_200E_200E_206B_200C_200B_206C_202B_200D_206B_206C_206F_206D_202C_206E_202A_202E_206F_206F_202E(IExposedPlugin P_0) - { - return P_0.IsLoaded; - } - - static void _202A_200C_200E_200E_200F_206B_206E_202C_200D_200B_206F_206E_206C_200B_202C_200C_200B_206F_202D_206D_202D_200D_206E_202A_202B_206A_200B_200E_206A_202D_202A_206A_206B_206E_206D_200F_206F_200C_202A_200F_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1) - { - P_0.Update += P_1; - } - - static int _202A_200D_206F_200D_206E_202C_206D_200D_202E_206B_206E_202A_200E_206C_200F_206F_202A_202E_206C_202A_202C_200F_206A_206A_202B_200E_200F_200B_202B_202E_206B_200F_202D_202E_200E_200E_206C_202C_200B_200E_202E(string P_0) - { - return P_0.Length; - } - - static TaskScheduler _200D_200D_206B_200F_200F_200D_206C_200D_200D_202B_206F_200B_202B_202B_202A_200F_206B_202B_206B_202C_200B_200D_206A_206A_202B_200B_202D_206F_200C_200C_202D_200C_202D_200B_202D_202A_206D_206E_202D_202A_202E() - { - return TaskScheduler.Default; - } - - static bool _206B_206F_206E_206A_200D_202B_200B_202D_206E_200E_202B_200D_200E_200D_202C_202E_206D_206C_202E_200D_200E_202D_202B_200E_202E_202C_206C_206B_202B_206B_200E_200F_206B_206E_206D_200B_202E_206E_206A_206B_202E(Task P_0) - { - return P_0.IsCompleted; - } - - static bool _202D_202D_202D_202B_206B_200D_202E_200C_202E_202D_200F_200B_202B_200E_206F_206C_206F_202D_200D_200F_202C_202B_200B_200D_202E_202A_202A_202D_200B_206B_200B_206B_202B_206A_200C_200E_200B_200E_200E_200C_202E(Task P_0) - { - return P_0.IsFaulted; - } - - static AggregateException _202B_202C_202E_200E_206A_202C_200C_206F_206F_206E_200D_200B_206D_206B_202C_202D_206C_202A_206D_202B_206D_202C_202C_202A_202A_200F_200C_200D_206D_200F_202B_200E_200E_206E_202C_206F_202E_206A_202B_206E_202E(Task P_0) - { - return P_0.Exception; - } - - static Exception _202D_200B_200C_202D_206A_202D_200C_202E_202A_200F_200B_200D_206B_200B_206B_200B_200E_206A_200D_200B_202B_206C_200E_202D_206B_202E_200B_202B_202C_202D_206A_200D_206A_200F_200B_206C_206F_206D_202A_206E_202E(Exception P_0) - { - return P_0.GetBaseException(); - } - - static string _202E_206A_200F_206A_206B_200D_202D_202D_206A_202E_200E_206D_200E_202B_206C_206C_202A_200B_206E_206D_202D_206C_200F_202A_200C_206E_206F_200C_206A_206D_200C_202D_206B_206D_200D_202E_200C_206F_200D_202C_202E(Exception P_0) - { - return P_0.Message; - } - - static string _202E_200C_200C_200C_200D_200B_206E_206B_206A_202D_200D_202C_206D_202E_202E_206F_206E_206F_202A_202E_202C_206C_206D_206A_202E_200B_206E_200F_200C_200E_202E_202E_200C_202D_202A_202B_202E_202A_202A_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static void _200D_206A_202C_200C_202B_200F_202E_200B_202C_206B_200F_200B_206F_206F_200C_200D_206A_202C_202D_202D_206D_200C_200C_206C_202D_200F_200E_200F_206B_200F_200C_206E_200B_206C_202B_202B_200E_206E_206E_206B_202E(IPluginLog P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.Error(P_1, P_2, P_3); - } - - static string _206D_200D_200F_200F_200C_202B_202A_202E_206C_206F_202C_206E_200E_200F_202A_206A_206D_202A_202A_200C_206C_202C_202C_206C_200C_202A_202B_200E_206A_202B_202D_202A_202E_206A_202B_200F_206D_206D_206F_202E_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static void _206F_202D_206B_202B_206D_206F_206A_206F_206D_200C_200B_206E_206B_200F_200D_206B_200C_200C_206E_202C_202D_200E_206B_202A_200C_200E_202D_202B_206A_200F_206F_202B_200B_206D_206C_206D_200E_206B_206E_202D_202E(IPluginLog P_0, string P_1, object[] P_2) - { - P_0.Information(P_1, P_2); - } - - static void _200F_202B_200F_206B_206D_206B_200E_200C_206A_206A_206F_202A_206D_206C_206C_206B_202D_206E_200D_200D_202B_200D_206C_206C_206B_206E_200C_202C_202A_202C_206A_202B_206B_202B_202B_202C_202B_202A_202D_206C_202E(IPluginLog P_0, string P_1, object[] P_2) - { - P_0.Error(P_1, P_2); - } - - static void _206F_202C_206B_206A_202D_206E_206F_206F_202B_206D_202C_206B_206E_206D_202E_202E_200C_202A_202B_200D_206B_200E_206D_206C_202A_202B_206B_200D_206E_200F_200E_202B_200D_200C_200F_202A_200F_206D_200B_206A_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1) - { - P_0.Update -= P_1; - } - - static bool _200E_206B_200D_202B_200B_200F_200D_202A_202A_202D_200E_200E_202B_200B_202C_206A_206B_202B_206D_202B_202E_200D_206D_206F_200D_206B_206D_206C_202C_200F_200D_200D_206A_206F_206F_206E_202A_206A_206F_206D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206C_202C_200F_202C_200D_200F_206B_200E_202A_202A_202A_206E_200F_202A_200D_206C_200F_202C_200C_206A_202B_206B_200D_206E_200C_206D_206D_202D_202B_200C_200F_206B_202C_206A_202D_200F_206D_200C_206F_200E_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static bool _206E_200E_206E_206B_206C_202D_200B_202B_200E_202A_202A_202B_200E_202D_202E_202A_200C_200D_200E_206C_202C_202B_202B_202A_206C_206A_206B_200B_202A_200F_202E_200F_202D_206D_206F_202B_206C_206F_200E_202B_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static bool _206D_206C_206A_206D_206A_200C_206C_200B_200B_200C_206C_200B_200F_202B_200D_202D_202E_206D_200F_200C_206B_202C_202D_206B_202B_202B_202B_200B_206E_202C_202A_200F_200E_200E_206B_206A_202D_200E_202B_206F_202E(string P_0, string P_1, StringComparison P_2) - { - return string.Equals(P_0, P_1, P_2); - } - - static Type _202E_202C_202B_202A_206A_200C_206B_206F_200B_200E_206A_200B_200C_202C_202C_206A_202D_200E_206B_202B_206E_202E_206D_202E_206C_206C_206C_206C_206C_200D_200F_206F_202B_206A_200B_202E_206F_202A_202C_200C_202E(object P_0) - { - return P_0.GetType(); - } - - static PropertyInfo _206E_202A_200C_206D_200B_206D_202E_200D_206E_200F_200C_202C_200F_206B_202A_200B_200F_206B_206F_206F_206E_200E_206B_206C_200F_202C_200E_200C_202A_206E_200F_200C_200D_200E_200F_206D_202A_202C_202E_200E_202E(Type P_0, string P_1) - { - return P_0.GetProperty(P_1); - } - - static object _206C_202D_206E_202B_206E_200E_202C_202C_206E_200C_202C_202C_202B_206B_200F_202C_200D_202A_206B_200B_200B_200F_200E_206A_206B_206E_206F_200E_206B_202C_206A_202C_202E_200D_202A_200C_202B_200E_202E_206B_202E(PropertyInfo P_0, object P_1) - { - return P_0.GetValue(P_1); + return obj.GetType().GetProperty("InstalledFromUrl")?.GetValue(obj) as string; } } diff --git a/LLib/LLib/PollHelper.cs b/LLib/LLib/PollHelper.cs index c6208af..4efd9a0 100644 --- a/LLib/LLib/PollHelper.cs +++ b/LLib/LLib/PollHelper.cs @@ -1,7 +1,4 @@ using System; -using System.Diagnostics; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; using System.Threading; using System.Threading.Tasks; using Dalamud.Plugin.Services; @@ -10,446 +7,47 @@ namespace LLib; public static class PollHelper { - [StructLayout(LayoutKind.Auto)] - [CompilerGenerated] - private struct _003CPollUntilAsync_003Ed__1 : IAsyncStateMachine - { - public int _003C_003E1__state; - - public AsyncTaskMethodBuilder _003C_003Et__builder; - - public TimeSpan timeout; - - public TimeSpan? interval; - - public CancellationToken ct; - - public Func action; - - private bool _003Cinfinite_003E5__2; - - private long _003CdeadlineMs_003E5__3; - - private TimeSpan _003Cdelay_003E5__4; - - private TaskAwaiter _003C_003Eu__1; - - private void MoveNext() - { - int num = _003C_003E1__state; - bool result; - try - { - int num2 = ((num == 0) ? 1451400526 : 1451400517); - TaskAwaiter awaiter = default(TaskAwaiter); - while (true) - { - int num3 = num2; - int num4 = 1451400516; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 9: - ct.ThrowIfCancellationRequested(); - num2 = ((!action()) ? 1451400515 : 1451400516); - break; - case 0: - result = true; - goto end_IL_0025; - case 5: - result = false; - goto end_IL_0025; - case 8: - num2 = ((_202D_200B_206E_202E_206F_200B_200F_202E_200D_202C_206B_206E_206E_206C_200D_202E_202C_206D_200B_202D_202D_206A_206C_202A_202E_202A_202B_200C_206E_202B_202C_200E_206F_200E_206D_200F_206D_206C_206F_202A_202E() < _003CdeadlineMs_003E5__3) ? 1451400518 : 1451400513); - break; - case 4: - num2 = 1451400517; - break; - case 1: - _003Cinfinite_003E5__2 = timeout < TimeSpan.Zero; - _003CdeadlineMs_003E5__3 = _202D_200B_206E_202E_206F_200B_200F_202E_200D_202C_206B_206E_206E_206C_200D_202E_202C_206D_200B_202D_202D_206A_206C_202A_202E_202A_202B_200C_206E_202B_202C_200E_206F_200E_206D_200F_206D_206C_206F_202A_202E() + (long)timeout.TotalMilliseconds; - _003Cdelay_003E5__4 = interval ?? DefaultInterval; - num2 = 1451400525; - break; - case 7: - num2 = (_003Cinfinite_003E5__2 ? 1451400518 : 1451400524); - break; - case 2: - awaiter = _200C_202A_202A_202A_206C_206E_202C_206C_206A_200D_202D_200F_202B_200E_202D_202E_206F_206A_206F_200D_206E_202B_202D_200B_206D_202C_200B_206C_206C_200F_200D_206C_206D_206C_206F_202A_200C_206F_200C_206D_202E(_206B_202C_200F_200F_200C_202C_200E_200E_202B_202C_206C_200D_200E_206C_200F_206A_202C_206B_202B_206C_206F_200F_200C_206C_206F_202B_206E_202C_202A_200E_200B_202E_202C_202C_206A_200C_202A_206E_202B_206F_202E(_003Cdelay_003E5__4, ct)); - num2 = (awaiter.IsCompleted ? 1451400514 : 1451400519); - break; - case 6: - awaiter.GetResult(); - num2 = 1451400525; - break; - case 10: - awaiter = _003C_003Eu__1; - _003C_003Eu__1 = default(TaskAwaiter); - num = (_003C_003E1__state = -1); - num2 = 1451400514; - break; - case 3: - num = (_003C_003E1__state = 0); - _003C_003Eu__1 = awaiter; - _003C_003Et__builder.AwaitUnsafeOnCompleted(ref awaiter, ref this); - return; - } - continue; - end_IL_0025: - break; - } - } - catch (Exception exception) - { - _003C_003E1__state = -2; - _003C_003Et__builder.SetException(exception); - return; - } - _003C_003E1__state = -2; - _003C_003Et__builder.SetResult(result); - } - - void IAsyncStateMachine.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - this.MoveNext(); - } - - [DebuggerHidden] - private void SetStateMachine(IAsyncStateMachine stateMachine) - { - _003C_003Et__builder.SetStateMachine(stateMachine); - } - - void IAsyncStateMachine.SetStateMachine(IAsyncStateMachine stateMachine) - { - //ILSpy generated this explicit interface implementation from .override directive in SetStateMachine - this.SetStateMachine(stateMachine); - } - - static long _202D_200B_206E_202E_206F_200B_200F_202E_200D_202C_206B_206E_206E_206C_200D_202E_202C_206D_200B_202D_202D_206A_206C_202A_202E_202A_202B_200C_206E_202B_202C_200E_206F_200E_206D_200F_206D_206C_206F_202A_202E() - { - return Environment.TickCount64; - } - - static Task _206B_202C_200F_200F_200C_202C_200E_200E_202B_202C_206C_200D_200E_206C_200F_206A_202C_206B_202B_206C_206F_200F_200C_206C_206F_202B_206E_202C_202A_200E_200B_202E_202C_202C_206A_200C_202A_206E_202B_206F_202E(TimeSpan P_0, CancellationToken P_1) - { - return Task.Delay(P_0, P_1); - } - - static TaskAwaiter _200C_202A_202A_202A_206C_206E_202C_206C_206A_200D_202D_200F_202B_200E_202D_202E_206F_206A_206F_200D_206E_202B_202D_200B_206D_202C_200B_206C_206C_200F_200D_206C_206D_206C_206F_202A_200C_206F_200C_206D_202E(Task P_0) - { - return P_0.GetAwaiter(); - } - } - - [StructLayout(LayoutKind.Auto)] - [CompilerGenerated] - private struct _003CPollUntilOnFrameworkAsync_003Ed__2 : IAsyncStateMachine - { - public int _003C_003E1__state; - - public AsyncTaskMethodBuilder _003C_003Et__builder; - - public TimeSpan timeout; - - public TimeSpan? interval; - - public CancellationToken ct; - - public IFramework framework; - - public Func action; - - private bool _003Cinfinite_003E5__2; - - private long _003CdeadlineMs_003E5__3; - - private TimeSpan _003Cdelay_003E5__4; - - private TaskAwaiter _003C_003Eu__1; - - private TaskAwaiter _003C_003Eu__2; - - private void MoveNext() - { - int num = _003C_003E1__state; - bool result; - try - { - int num2 = ((num == 0) ? 30471137 : 30471145); - TaskAwaiter awaiter2 = default(TaskAwaiter); - TaskAwaiter awaiter = default(TaskAwaiter); - while (true) - { - int num3 = num2; - int num4 = 30471147; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 6: - num2 = ((_206C_202A_200D_202C_206C_206D_202B_206D_206E_202E_200C_200C_200C_206A_202A_202D_206B_206A_206B_200C_206F_206F_206D_200F_206A_202E_202E_200B_200C_200D_206E_202B_202D_202B_202B_206E_202E_200F_206A_206A_202E() < _003CdeadlineMs_003E5__3) ? 30471143 : 30471142); - break; - case 2: - num2 = ((num == 1) ? 30471144 : 30471136); - break; - case 12: - awaiter2 = _200C_200E_200B_200D_202D_206B_202A_202D_206E_202E_202D_202B_206B_206C_200C_200E_206E_202D_206C_200C_202D_206A_206B_206D_206B_206E_202D_200B_206F_200E_206D_200F_206B_206D_202D_206A_202C_206A_200F_200D_202E(_202A_206C_202B_200B_200D_206F_202B_202C_202E_202B_206F_202E_200B_206A_206F_200D_200C_202E_202E_206E_202E_202E_202B_202E_202C_206F_206C_200B_206B_202A_202B_206A_202E_202C_202C_200E_206B_206B_200D_202E_202E(_003Cdelay_003E5__4, ct)); - num2 = (awaiter2.IsCompleted ? 30471141 : 30471151); - break; - case 13: - result = false; - goto end_IL_0025; - case 8: - result = true; - goto end_IL_0025; - case 1: - ct.ThrowIfCancellationRequested(); - awaiter = framework.RunOnFrameworkThread(action).WaitAsync(ct).GetAwaiter(); - num2 = (awaiter.IsCompleted ? 30471138 : 30471150); - break; - case 14: - awaiter2.GetResult(); - num2 = 30471146; - break; - case 3: - awaiter2 = _003C_003Eu__2; - _003C_003Eu__2 = default(TaskAwaiter); - num = (_003C_003E1__state = -1); - num2 = 30471141; - break; - case 9: - num2 = ((!awaiter.GetResult()) ? 30471147 : 30471139); - break; - case 4: - num = (_003C_003E1__state = 1); - _003C_003Eu__2 = awaiter2; - _003C_003Et__builder.AwaitUnsafeOnCompleted(ref awaiter2, ref this); - return; - case 10: - awaiter = _003C_003Eu__1; - _003C_003Eu__1 = default(TaskAwaiter); - num = (_003C_003E1__state = -1); - num2 = 30471138; - break; - case 0: - num2 = (_003Cinfinite_003E5__2 ? 30471143 : 30471149); - break; - case 7: - num2 = 30471145; - break; - case 5: - num = (_003C_003E1__state = 0); - _003C_003Eu__1 = awaiter; - _003C_003Et__builder.AwaitUnsafeOnCompleted(ref awaiter, ref this); - return; - case 11: - _003Cinfinite_003E5__2 = timeout < TimeSpan.Zero; - _003CdeadlineMs_003E5__3 = _206C_202A_200D_202C_206C_206D_202B_206D_206E_202E_200C_200C_200C_206A_202A_202D_206B_206A_206B_200C_206F_206F_206D_200F_206A_202E_202E_200B_200C_200D_206E_202B_202D_202B_202B_206E_202E_200F_206A_206A_202E() + (long)timeout.TotalMilliseconds; - _003Cdelay_003E5__4 = interval ?? DefaultInterval; - num2 = 30471146; - break; - } - continue; - end_IL_0025: - break; - } - } - catch (Exception exception) - { - _003C_003E1__state = -2; - _003C_003Et__builder.SetException(exception); - return; - } - _003C_003E1__state = -2; - _003C_003Et__builder.SetResult(result); - } - - void IAsyncStateMachine.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - this.MoveNext(); - } - - [DebuggerHidden] - private void SetStateMachine(IAsyncStateMachine stateMachine) - { - _003C_003Et__builder.SetStateMachine(stateMachine); - } - - void IAsyncStateMachine.SetStateMachine(IAsyncStateMachine stateMachine) - { - //ILSpy generated this explicit interface implementation from .override directive in SetStateMachine - this.SetStateMachine(stateMachine); - } - - static long _206C_202A_200D_202C_206C_206D_202B_206D_206E_202E_200C_200C_200C_206A_202A_202D_206B_206A_206B_200C_206F_206F_206D_200F_206A_202E_202E_200B_200C_200D_206E_202B_202D_202B_202B_206E_202E_200F_206A_206A_202E() - { - return Environment.TickCount64; - } - - static Task _202A_206C_202B_200B_200D_206F_202B_202C_202E_202B_206F_202E_200B_206A_206F_200D_200C_202E_202E_206E_202E_202E_202B_202E_202C_206F_206C_200B_206B_202A_202B_206A_202E_202C_202C_200E_206B_206B_200D_202E_202E(TimeSpan P_0, CancellationToken P_1) - { - return Task.Delay(P_0, P_1); - } - - static TaskAwaiter _200C_200E_200B_200D_202D_206B_202A_202D_206E_202E_202D_202B_206B_206C_200C_200E_206E_202D_206C_200C_202D_206A_206B_206D_206B_206E_202D_200B_206F_200E_206D_200F_206B_206D_202D_206A_202C_206A_200F_200D_202E(Task P_0) - { - return P_0.GetAwaiter(); - } - } - private static readonly TimeSpan DefaultInterval = TimeSpan.FromMilliseconds(100L); public static async Task PollUntilAsync(Func action, TimeSpan timeout, CancellationToken ct, TimeSpan? interval = null) { - int num = 1451400517; - long deadlineMs = default(long); - bool infinite = default(bool); - TimeSpan delay = default(TimeSpan); - TaskAwaiter taskAwaiter = default(TaskAwaiter); - TaskAwaiter taskAwaiter2 = default(TaskAwaiter); + bool infinite = timeout < TimeSpan.Zero; + long deadlineMs = Environment.TickCount64 + (long)timeout.TotalMilliseconds; + TimeSpan delay = interval ?? DefaultInterval; while (true) { - int num2 = num; - int num3 = 1451400516; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + ct.ThrowIfCancellationRequested(); + if (action()) { - case 9: - ct.ThrowIfCancellationRequested(); - num = ((!action()) ? 1451400515 : 1451400516); - break; - case 0: return true; - case 5: - return false; - case 8: - num = ((_003CPollUntilAsync_003Ed__1._202D_200B_206E_202E_206F_200B_200F_202E_200D_202C_206B_206E_206E_206C_200D_202E_202C_206D_200B_202D_202D_206A_206C_202A_202E_202A_202B_200C_206E_202B_202C_200E_206F_200E_206D_200F_206D_206C_206F_202A_202E() < deadlineMs) ? 1451400518 : 1451400513); - break; - case 4: - num = 1451400517; - break; - case 1: - infinite = timeout < TimeSpan.Zero; - deadlineMs = _003CPollUntilAsync_003Ed__1._202D_200B_206E_202E_206F_200B_200F_202E_200D_202C_206B_206E_206E_206C_200D_202E_202C_206D_200B_202D_202D_206A_206C_202A_202E_202A_202B_200C_206E_202B_202C_200E_206F_200E_206D_200F_206D_206C_206F_202A_202E() + (long)timeout.TotalMilliseconds; - delay = interval ?? DefaultInterval; - num = 1451400525; - break; - case 7: - num = (infinite ? 1451400518 : 1451400524); - break; - case 2: - taskAwaiter = _003CPollUntilAsync_003Ed__1._200C_202A_202A_202A_206C_206E_202C_206C_206A_200D_202D_200F_202B_200E_202D_202E_206F_206A_206F_200D_206E_202B_202D_200B_206D_202C_200B_206C_206C_200F_200D_206C_206D_206C_206F_202A_200C_206F_200C_206D_202E(_003CPollUntilAsync_003Ed__1._206B_202C_200F_200F_200C_202C_200E_200E_202B_202C_206C_200D_200E_206C_200F_206A_202C_206B_202B_206C_206F_200F_200C_206C_206F_202B_206E_202C_202A_200E_200B_202E_202C_202C_206A_200C_202A_206E_202B_206F_202E(delay, ct)); - num = (taskAwaiter.IsCompleted ? 1451400514 : 1451400519); - break; - case 6: - taskAwaiter.GetResult(); - num = 1451400525; - break; - case 10: - taskAwaiter = taskAwaiter2; - taskAwaiter2 = default(TaskAwaiter); - num = 1451400514; - break; - case 3: - await taskAwaiter; - num = 1451400526; + } + if (!infinite && Environment.TickCount64 >= deadlineMs) + { break; } + await Task.Delay(delay, ct); } + return false; } public static async Task PollUntilOnFrameworkAsync(this IFramework framework, Func action, TimeSpan timeout, CancellationToken ct, TimeSpan? interval = null) { - long deadlineMs = default(long); - TaskAwaiter taskAwaiter2 = default(TaskAwaiter); - TimeSpan delay = default(TimeSpan); - TaskAwaiter taskAwaiter = default(TaskAwaiter); - TaskAwaiter taskAwaiter4 = default(TaskAwaiter); - TaskAwaiter taskAwaiter3 = default(TaskAwaiter); - bool infinite = default(bool); + bool infinite = timeout < TimeSpan.Zero; + long deadlineMs = Environment.TickCount64 + (long)timeout.TotalMilliseconds; + TimeSpan delay = interval ?? DefaultInterval; while (true) { - int num = 30471145; - while (true) + ct.ThrowIfCancellationRequested(); + if (await framework.RunOnFrameworkThread(action).WaitAsync(ct)) + { + return true; + } + if (!infinite && Environment.TickCount64 >= deadlineMs) { - int num2 = num; - int num3 = 30471147; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num7; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 6: - num = ((_003CPollUntilOnFrameworkAsync_003Ed__2._206C_202A_200D_202C_206C_206D_202B_206D_206E_202E_200C_200C_200C_206A_202A_202D_206B_206A_206B_200C_206F_206F_206D_200F_206A_202E_202E_200B_200C_200D_206E_202B_202D_202B_202B_206E_202E_200F_206A_206A_202E() < deadlineMs) ? 30471143 : 30471142); - continue; - case 2: - num = ((num7 == 1) ? 30471144 : 30471136); - continue; - case 12: - taskAwaiter2 = _003CPollUntilOnFrameworkAsync_003Ed__2._200C_200E_200B_200D_202D_206B_202A_202D_206E_202E_202D_202B_206B_206C_200C_200E_206E_202D_206C_200C_202D_206A_206B_206D_206B_206E_202D_200B_206F_200E_206D_200F_206B_206D_202D_206A_202C_206A_200F_200D_202E(_003CPollUntilOnFrameworkAsync_003Ed__2._202A_206C_202B_200B_200D_206F_202B_202C_202E_202B_206F_202E_200B_206A_206F_200D_200C_202E_202E_206E_202E_202E_202B_202E_202C_206F_206C_200B_206B_202A_202B_206A_202E_202C_202C_200E_206B_206B_200D_202E_202E(delay, ct)); - num = (taskAwaiter2.IsCompleted ? 30471141 : 30471151); - continue; - case 13: - return false; - case 8: - return true; - case 1: - ct.ThrowIfCancellationRequested(); - taskAwaiter = framework.RunOnFrameworkThread(action).WaitAsync(ct).GetAwaiter(); - num = (taskAwaiter.IsCompleted ? 30471138 : 30471150); - continue; - case 14: - taskAwaiter2.GetResult(); - num = 30471146; - continue; - case 3: - taskAwaiter2 = taskAwaiter4; - taskAwaiter4 = default(TaskAwaiter); - num7 = -1; - num = 30471141; - continue; - case 9: - num = ((!taskAwaiter.GetResult()) ? 30471147 : 30471139); - continue; - case 4: - break; - case 10: - taskAwaiter = taskAwaiter3; - taskAwaiter3 = default(TaskAwaiter); - num7 = -1; - num = 30471138; - continue; - case 0: - num = (infinite ? 30471143 : 30471149); - continue; - case 7: - num = 30471145; - continue; - case 5: - await taskAwaiter; - num = 30471137; - continue; - case 11: - infinite = timeout < TimeSpan.Zero; - deadlineMs = _003CPollUntilOnFrameworkAsync_003Ed__2._206C_202A_200D_202C_206C_206D_202B_206D_206E_202E_200C_200C_200C_206A_202A_202D_206B_206A_206B_200C_206F_206F_206D_200F_206A_202E_202E_200B_200C_200D_206E_202B_202D_202B_202B_206E_202E_200F_206A_206A_202E() + (long)timeout.TotalMilliseconds; - delay = interval ?? DefaultInterval; - num = 30471146; - continue; - } break; } - await taskAwaiter2; + await Task.Delay(delay, ct); } + return false; } } diff --git a/LLib/LLib/QuestDialogueText.cs b/LLib/LLib/QuestDialogueText.cs index b3d33d1..054f28d 100644 --- a/LLib/LLib/QuestDialogueText.cs +++ b/LLib/LLib/QuestDialogueText.cs @@ -12,21 +12,9 @@ public readonly struct QuestDialogueText : IQuestDialogueText, IExcelRow _003Coffset_003EP; - public ReadOnlySeString Key => _202C_200E_200F_206D_206B_206A_206C_200D_202C_202A_206C_206D_200D_202E_200D_206F_206C_206F_202C_206E_206B_206C_202D_200F_200C_202B_206D_206F_206A_200F_202D_200B_200E_200E_200B_202B_200C_200C_200B_206E_202E(_003Cpage_003EP, (nuint)_003Coffset_003EP, (nuint)_003Coffset_003EP); + public ReadOnlySeString Key => _003Cpage_003EP.ReadString(_003Coffset_003EP, _003Coffset_003EP); - public ReadOnlySeString Value - { - get - { - ExcelPage excelPage = _003Cpage_003EP; - uint num = _003Coffset_003EP; - int num2 = 4; - int num3 = (int)num; - int num4 = num3 ^ num2; - int num5 = num3 & num2; - return _202C_200E_200F_206D_206B_206A_206C_200D_202C_202A_206C_206D_200D_202E_200D_206F_206C_206F_202C_206E_206B_206C_202D_200F_200C_202B_206D_206F_206A_200F_202D_200B_200E_200E_200B_202B_200C_200C_200B_206E_202E(excelPage, (nuint)(uint)(num4 + (num5 + num5)), (nuint)_003Coffset_003EP); - } - } + public ReadOnlySeString Value => _003Cpage_003EP.ReadString(_003Coffset_003EP + 4, _003Coffset_003EP); public QuestDialogueText(ExcelPage page, uint offset, uint row) { @@ -39,9 +27,4 @@ public readonly struct QuestDialogueText : IQuestDialogueText, IExcelRow _200F_202C_200C_202E_206A_206F_206E_206D_206C_202E_202E_202D_200B_206E_200D_200F_206F_202C_200D_200F_206C_200D_202E_206C_200D_202E_200C_206E_202A_206B_202E_202E_202C_206A_202E_200D_200E_206D_202D_206A_202E() >= _nextAllowedMs; + public readonly bool IsReady => Environment.TickCount64 >= _nextAllowedMs; public bool TryReset(double cooldownSeconds) { - long num = _200F_202C_200C_202E_206A_206F_206E_206D_206C_202E_202E_202D_200B_206E_200D_200F_206F_202C_200D_200F_206C_200D_202E_206C_200D_202E_200C_206E_202A_206B_202E_202E_202C_206A_202E_200D_200E_206D_202D_206A_202E(); - int num2 = ((num >= _nextAllowedMs) ? (-1425131609) : (-1425131610)); - while (true) + long tickCount = Environment.TickCount64; + if (tickCount < _nextAllowedMs) { - int num3 = num2; - int num4 = -1425131609; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - { - long num6 = (long)(cooldownSeconds * 1000.0); - long num7 = num; - _nextAllowedMs = (num7 | num6) + (num7 & num6); - return true; - } - case 1: - return false; - case 2: - goto IL_0073; - } - continue; - IL_0073: - num2 = -1425131610; + return false; } + _nextAllowedMs = tickCount + (long)(cooldownSeconds * 1000.0); + return true; } public void Clear() { _nextAllowedMs = 0L; } - - static long _200F_202C_200C_202E_206A_206F_206E_206D_206C_202E_202E_202D_200B_206E_200D_200F_206F_202C_200D_200F_206C_200D_202E_206C_200D_202E_200C_206E_202A_206B_202E_202E_202C_206A_202E_200D_200E_206D_202D_206A_202E() - { - return Environment.TickCount64; - } } diff --git a/QuestPaths/Questionable.QuestPaths.QuestBundle b/QuestPaths/Questionable.QuestPaths.QuestBundle index e6d9b3c..d61e136 100644 Binary files a/QuestPaths/Questionable.QuestPaths.QuestBundle and b/QuestPaths/Questionable.QuestPaths.QuestBundle differ diff --git a/QuestPaths/Questionable.QuestPaths/AssemblyQuestLoader.cs b/QuestPaths/Questionable.QuestPaths/AssemblyQuestLoader.cs index 44d3482..da61149 100644 --- a/QuestPaths/Questionable.QuestPaths/AssemblyQuestLoader.cs +++ b/QuestPaths/Questionable.QuestPaths/AssemblyQuestLoader.cs @@ -2,8 +2,6 @@ using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; -using System.Reflection; -using System.Runtime.CompilerServices; using System.Security.Cryptography; using System.Threading; using Questionable.Model.IO; @@ -17,14 +15,7 @@ internal static class AssemblyQuestLoader internal static TimeSpan? DecodeDuration { get; private set; } - internal static Stream QuestSchema - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return _200E_200D_206A_200C_200B_200B_206F_200B_206D_206E_202A_206A_202A_202B_202E_206B_206F_200B_202A_202E_202B_206F_200C_202E_202E_206E_202D_200D_202B_202C_200B_200C_202A_200B_206A_206B_206F_200B_200E_202E(_202C_202D_200C_206D_202A_200E_200C_206B_206B_206B_206B_206B_206B_202D_206B_206E_206C_200D_206F_202B_200C_206B_202D_202A_206B_200F_202E_200E_200B_206F_200C_200F_206D_202D_200F_206D_206C_202B_206C_206C_202E(_202D_202C_202A_206B_202E_206C_206E_206B_200B_202A_200D_200D_202A_202A_206D_206C_200F_202C_206A_202D_200F_202B_202E_202E_206D_202E_206F_202E_200D_200F_206C_200E_202E_200E_206E_200E_202D_202D_206C_206F_202E(typeof(AssemblyQuestLoader).TypeHandle)), global::_003CModule_003E._206F_202D_200C_200B_206A_202E_206E_202A_200D_206A_202B_202C_200E_202B_200B_202C_200B_202C_206A_202D_206C_200C_206A_200D_200B_202A_206C_206F_206E_202E_200E_206A_202D_200B_200E_206E_200E_200D_202A_202E(-1394732188)); - } - } + internal static Stream QuestSchema => typeof(AssemblyQuestLoader).Assembly.GetManifestResourceStream("Questionable.QuestPaths.QuestSchema"); internal static IReadOnlyDictionary GetQuests() { @@ -36,113 +27,19 @@ internal static class AssemblyQuestLoader return null; } - [MethodImpl(MethodImplOptions.NoInlining)] private static IReadOnlyDictionary LoadQuests() { - Stopwatch stopwatch = _200B_200E_200D_200D_202B_206F_200E_202A_206E_206E_202A_206B_202B_202E_206C_200E_202A_200B_206E_200C_202A_200D_200C_200F_206E_206F_200C_206B_200E_200F_206B_206B_206F_202E_202B_206F_206C_200B_202B_202E(); - Stream stream = _200E_200D_206A_200C_200B_200B_206F_200B_206D_206E_202A_206A_202A_202B_202E_206B_206F_200B_202A_202E_202B_206F_200C_202E_202E_206E_202D_200D_202B_202C_200B_200C_202A_200B_206A_206B_206F_200B_200E_202E(_202C_202D_200C_206D_202A_200E_200C_206B_206B_206B_206B_206B_206B_202D_206B_206E_206C_200D_206F_202B_200C_206B_202D_202A_206B_200F_202E_200E_200B_206F_200C_200F_206D_202D_200F_206D_206C_202B_206C_206C_202E(_202D_202C_202A_206B_202E_206C_206E_206B_200B_202A_200D_200D_202A_202A_206D_206C_200F_202C_206A_202D_200F_202B_202E_202E_206D_202E_206F_202E_200D_200F_206C_200E_202E_200E_206E_200E_202D_202D_206C_206F_202E(typeof(AssemblyQuestLoader).TypeHandle)), global::_003CModule_003E._200B_200F_206E_200E_206B_200B_200D_200E_200C_202C_200B_202C_200D_206F_206E_202E_202C_202B_202C_206B_206F_200F_206E_206B_206A_206B_200C_206A_200B_206A_200D_206C_206B_202E_200C_206E_202E_202D_200D_206D_202E(-1192865642)); - try + Stopwatch stopwatch = Stopwatch.StartNew(); + using Stream stream = typeof(AssemblyQuestLoader).Assembly.GetManifestResourceStream("Questionable.QuestPaths.QuestBundle"); + byte[] array = PathBundleSecret.Key(); + List> list = PathBundle.Deserialize(stream, array); + CryptographicOperations.ZeroMemory(array); + Dictionary dictionary = new Dictionary(list.Count); + foreach (var (value, value2) in list) { - byte[] array = PathBundleSecret.Key(); - List> list = PathBundle.Deserialize(stream, array); - _206E_200C_206B_206D_206B_202E_206E_200F_202B_200C_200F_202D_202B_200E_206E_206D_202B_206C_200E_202E_202C_200B_202B_206F_202E_206B_202A_202C_200D_206A_200D_200B_206D_206B_206E_200B_202D_202E_206F_206D_202E((Span)array); - Dictionary dictionary = new Dictionary(list.Count); - using (List>.Enumerator enumerator = list.GetEnumerator()) - { - int num = -221038175; - while (true) - { - int num2 = num; - int num3 = -221038175; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = (enumerator.MoveNext() ? (-221038176) : (-221038174)); - break; - case 1: - var (text2, value) = (KeyValuePair)(ref enumerator.Current); - dictionary[_200D_206F_200D_206E_200B_202D_206C_206A_202E_200C_206B_200D_200C_206D_200E_202C_206C_200E_206E_202D_200C_202C_200F_200E_202B_206E_206F_206E_200C_206C_202A_206A_206F_200E_202D_200E_206F_206E_206B_206F_202E(text2)] = value; - num = -221038175; - break; - case 2: - num = -221038175; - break; - case 3: - goto end_IL_005c; - } - continue; - end_IL_005c: - break; - } - } - DecodeDuration = _202A_206C_200C_202D_202A_202E_202C_206E_206E_206E_202C_202D_202B_200C_200F_200F_202E_206D_200D_206B_202E_202A_200B_202A_200E_200E_206A_200C_200F_202D_206D_206A_206B_202C_206B_202E_200C_200F_206F_206B_202E(stopwatch); - return dictionary; + dictionary[ElementId.FromString(value)] = value2; } - finally - { - int num = ((stream == null) ? (-142648274) : (-142648275)); - while (true) - { - int num5 = num; - int num3 = -142648273; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -142648275; - break; - case 2: - _202D_206B_200E_206C_202A_206B_206C_200E_206A_200D_206E_202E_200E_202A_206C_202C_200E_206E_200F_200F_202D_206E_202B_202C_206E_202D_202A_200F_202D_200C_202A_202C_202A_206A_202B_206F_206C_202C_206F_206D_202E((IDisposable)stream); - num = -142648274; - break; - case 1: - goto end_IL_013c; - } - continue; - end_IL_013c: - break; - } - } - } - - static Type _202D_202C_202A_206B_202E_206C_206E_206B_200B_202A_200D_200D_202A_202A_206D_206C_200F_202C_206A_202D_200F_202B_202E_202E_206D_202E_206F_202E_200D_200F_206C_200E_202E_200E_206E_200E_202D_202D_206C_206F_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static Assembly _202C_202D_200C_206D_202A_200E_200C_206B_206B_206B_206B_206B_206B_202D_206B_206E_206C_200D_206F_202B_200C_206B_202D_202A_206B_200F_202E_200E_200B_206F_200C_200F_206D_202D_200F_206D_206C_202B_206C_206C_202E(Type P_0) - { - return P_0.Assembly; - } - - static Stream _200E_200D_206A_200C_200B_200B_206F_200B_206D_206E_202A_206A_202A_202B_202E_206B_206F_200B_202A_202E_202B_206F_200C_202E_202E_206E_202D_200D_202B_202C_200B_200C_202A_200B_206A_206B_206F_200B_200E_202E(Assembly P_0, string P_1) - { - return P_0.GetManifestResourceStream(P_1); - } - - static Stopwatch _200B_200E_200D_200D_202B_206F_200E_202A_206E_206E_202A_206B_202B_202E_206C_200E_202A_200B_206E_200C_202A_200D_200C_200F_206E_206F_200C_206B_200E_200F_206B_206B_206F_202E_202B_206F_206C_200B_202B_202E() - { - return Stopwatch.StartNew(); - } - - static void _206E_200C_206B_206D_206B_202E_206E_200F_202B_200C_200F_202D_202B_200E_206E_206D_202B_206C_200E_202E_202C_200B_202B_206F_202E_206B_202A_202C_200D_206A_200D_200B_206D_206B_206E_200B_202D_202E_206F_206D_202E(Span P_0) - { - CryptographicOperations.ZeroMemory(P_0); - } - - static ElementId _200D_206F_200D_206E_200B_202D_206C_206A_202E_200C_206B_200D_200C_206D_200E_202C_206C_200E_206E_202D_200C_202C_200F_200E_202B_206E_206F_206E_200C_206C_202A_206A_206F_200E_202D_200E_206F_206E_206B_206F_202E(string P_0) - { - return ElementId.FromString(P_0); - } - - static TimeSpan _202A_206C_200C_202D_202A_202E_202C_206E_206E_206E_202C_202D_202B_200C_200F_200F_202E_206D_200D_206B_202E_202A_200B_202A_200E_200E_206A_200C_200F_202D_206D_206A_206B_202C_206B_202E_200C_200F_206F_206B_202E(Stopwatch P_0) - { - return P_0.Elapsed; - } - - static void _202D_206B_200E_206C_202A_206B_206C_200E_206A_200D_206E_202E_200E_202A_206C_202C_200E_206E_200F_200F_202D_206E_202B_202C_206E_202D_202A_200F_202D_200C_202A_202C_202A_206A_202B_206F_206C_202C_206F_206D_202E(IDisposable P_0) - { - P_0.Dispose(); + DecodeDuration = stopwatch.Elapsed; + return dictionary; } } diff --git a/QuestPaths/Questionable.QuestPaths/PathBundleSecret.cs b/QuestPaths/Questionable.QuestPaths/PathBundleSecret.cs index ccccde7..c6a5d56 100644 --- a/QuestPaths/Questionable.QuestPaths/PathBundleSecret.cs +++ b/QuestPaths/Questionable.QuestPaths/PathBundleSecret.cs @@ -1,66 +1,30 @@ -using System; -using System.Runtime.CompilerServices; - namespace Questionable.QuestPaths; internal static class PathBundleSecret { - private static readonly byte[] A; + private static readonly byte[] A = new byte[32] + { + 14, 205, 205, 220, 252, 13, 221, 232, 100, 189, + 37, 224, 91, 77, 175, 255, 30, 195, 23, 136, + 234, 230, 125, 209, 122, 165, 20, 174, 100, 226, + 27, 222 + }; - private static readonly byte[] B; + private static readonly byte[] B = new byte[32] + { + 241, 56, 43, 159, 122, 127, 111, 25, 223, 150, + 24, 59, 99, 24, 253, 141, 217, 107, 154, 16, + 247, 125, 175, 254, 169, 41, 27, 2, 18, 101, + 46, 175 + }; internal static byte[] Key() { byte[] array = new byte[A.Length]; - int num = 0; - int num2 = 320407520; - while (true) + for (int i = 0; i < array.Length; i++) { - int num3 = num2; - int num4 = 320407521; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 3: - num2 = 320407520; - break; - case 0: - return array; - case 2: - { - int num6 = num; - byte num7 = A[num]; - num4 = B[num]; - num5 = num7; - int num8 = num5 + num4; - int num9 = num5 & num4; - array[num6] = (byte)(num8 - (num9 + num9)); - int num10 = num; - num4 = 1; - num5 = num10; - num = (num5 | num4) + (num5 & num4); - num2 = 320407520; - break; - } - case 1: - num2 = ((num < array.Length) ? 320407523 : 320407521); - break; - } + array[i] = (byte)(A[i] ^ B[i]); } - } - - static PathBundleSecret() - { - byte[] array = new byte[32]; - _206B_200D_200D_200D_200F_202A_200E_202D_202B_206C_206B_206D_202E_202A_206D_206A_200E_200C_202D_206D_206C_202B_202B_206D_202D_202C_200C_202D_200D_206F_200F_206B_206F_206B_206E_200F_200E_200E_200C_202D_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - A = array; - byte[] array2 = new byte[32]; - _206B_200D_200D_200D_200F_202A_200E_202D_202B_206C_206B_206D_202E_202A_206D_206A_200E_200C_202D_206D_206C_202B_202B_206D_202D_202C_200C_202D_200D_206F_200F_206B_206F_206B_206E_200F_200E_200E_200C_202D_202E((Array)array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - B = array2; - } - - static void _206B_200D_200D_200D_200F_202A_200E_202D_202B_206C_206B_206D_202E_202A_206D_206A_200E_200C_202D_206D_206C_202B_202B_206D_202D_202C_200C_202D_200D_206F_200F_206B_206F_206B_206E_200F_200E_200E_200C_202D_202E(Array P_0, RuntimeFieldHandle P_1) - { - RuntimeHelpers.InitializeArray(P_0, P_1); + return array; } } diff --git a/Questionable.LgbWorker/Questionable.LgbWorker.csproj b/Questionable.LgbWorker/Questionable.LgbWorker.csproj new file mode 100644 index 0000000..323b7e2 --- /dev/null +++ b/Questionable.LgbWorker/Questionable.LgbWorker.csproj @@ -0,0 +1,21 @@ + + + + Questionable.LgbWorker + False + Exe + netcoreapp1.0 + x64 + + + 12.0 + True + + + + + + C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\Lumina.dll + + + \ No newline at end of file diff --git a/Questionable.LgbWorker/Questionable.LgbWorker/ExitRangeEntry.cs b/Questionable.LgbWorker/Questionable.LgbWorker/ExitRangeEntry.cs new file mode 100644 index 0000000..44d9c16 --- /dev/null +++ b/Questionable.LgbWorker/Questionable.LgbWorker/ExitRangeEntry.cs @@ -0,0 +1,5 @@ +using System.Numerics; + +namespace Questionable.LgbWorker; + +internal sealed record ExitRangeEntry(ushort SourceTerritoryId, uint InstanceId, Vector3 SourcePosition, ushort DestTerritoryId, uint DestInstanceId, uint ReturnInstanceId, Vector3 Rotation, Vector3 HalfExtents); diff --git a/Questionable.LgbWorker/Questionable.LgbWorker/LevelEntry.cs b/Questionable.LgbWorker/Questionable.LgbWorker/LevelEntry.cs new file mode 100644 index 0000000..ae2943d --- /dev/null +++ b/Questionable.LgbWorker/Questionable.LgbWorker/LevelEntry.cs @@ -0,0 +1,21 @@ +using System.Text.Json.Serialization; + +namespace Questionable.LgbWorker; + +internal sealed class LevelEntry +{ + [JsonPropertyName("objectId")] + public uint ObjectId { get; set; } + + [JsonPropertyName("territoryId")] + public ushort TerritoryId { get; set; } + + [JsonPropertyName("x")] + public float X { get; set; } + + [JsonPropertyName("y")] + public float Y { get; set; } + + [JsonPropertyName("z")] + public float Z { get; set; } +} diff --git a/Questionable.LgbWorker/Questionable.LgbWorker/LgbMessageType.cs b/Questionable.LgbWorker/Questionable.LgbWorker/LgbMessageType.cs new file mode 100644 index 0000000..59c9147 --- /dev/null +++ b/Questionable.LgbWorker/Questionable.LgbWorker/LgbMessageType.cs @@ -0,0 +1,7 @@ +namespace Questionable.LgbWorker; + +internal enum LgbMessageType : byte +{ + Progress = 1, + Final +} diff --git a/Questionable.LgbWorker/Questionable.LgbWorker/LgbWorkerFraming.cs b/Questionable.LgbWorker/Questionable.LgbWorker/LgbWorkerFraming.cs new file mode 100644 index 0000000..21bb26b --- /dev/null +++ b/Questionable.LgbWorker/Questionable.LgbWorker/LgbWorkerFraming.cs @@ -0,0 +1,80 @@ +using System; +using System.IO; +using System.Text; + +namespace Questionable.LgbWorker; + +internal static class LgbWorkerFraming +{ + public static void Write(Stream stream, in LgbWorkerMessage message) + { + using MemoryStream memoryStream = new MemoryStream(); + using BinaryWriter binaryWriter = new BinaryWriter(memoryStream, Encoding.UTF8, leaveOpen: true); + binaryWriter.Write((byte)message.Type); + switch (message.Type) + { + case LgbMessageType.Progress: + binaryWriter.Write(message.Done); + binaryWriter.Write(message.Total); + break; + case LgbMessageType.Final: + binaryWriter.Write(message.Success); + binaryWriter.Write(message.DurationMs); + binaryWriter.Write(message.Error ?? string.Empty); + break; + default: + throw new ArgumentOutOfRangeException("message"); + } + binaryWriter.Flush(); + byte[] array = memoryStream.ToArray(); + Span span = stackalloc byte[4]; + BitConverter.TryWriteBytes(span, array.Length); + stream.Write(span); + stream.Write(array); + } + + public static LgbWorkerMessage Read(Stream stream) + { + Span span = stackalloc byte[4]; + ReadExact(stream, span); + int num = BitConverter.ToInt32(span); + if ((num <= 0 || num > 65536) ? true : false) + { + throw new InvalidDataException($"Invalid frame length: {num}"); + } + byte[] array = new byte[num]; + ReadExact(stream, array); + using BinaryReader binaryReader = new BinaryReader(new MemoryStream(array), Encoding.UTF8); + LgbMessageType lgbMessageType = (LgbMessageType)binaryReader.ReadByte(); + return lgbMessageType switch + { + LgbMessageType.Progress => new LgbWorkerMessage + { + Type = lgbMessageType, + Done = binaryReader.ReadInt32(), + Total = binaryReader.ReadInt32() + }, + LgbMessageType.Final => new LgbWorkerMessage + { + Type = lgbMessageType, + Success = binaryReader.ReadBoolean(), + DurationMs = binaryReader.ReadInt64(), + Error = binaryReader.ReadString() + }, + _ => throw new InvalidDataException($"Unknown message type: {lgbMessageType}"), + }; + } + + private static void ReadExact(Stream stream, Span buffer) + { + int num; + for (int i = 0; i < buffer.Length; i += num) + { + num = stream.Read(buffer.Slice(i)); + if (num == 0) + { + throw new EndOfStreamException(); + } + } + } +} diff --git a/Questionable.LgbWorker/Questionable.LgbWorker/LgbWorkerManifest.cs b/Questionable.LgbWorker/Questionable.LgbWorker/LgbWorkerManifest.cs new file mode 100644 index 0000000..bc6eaf8 --- /dev/null +++ b/Questionable.LgbWorker/Questionable.LgbWorker/LgbWorkerManifest.cs @@ -0,0 +1,42 @@ +using System.Collections.Generic; +using System.IO; +using System.Text.Json; +using System.Text.Json.Serialization; + +namespace Questionable.LgbWorker; + +internal sealed class LgbWorkerManifest +{ + [JsonPropertyName("sqpackPath")] + public string SqpackPath { get; set; } = string.Empty; + + [JsonPropertyName("gameVersion")] + public string GameVersion { get; set; } = string.Empty; + + [JsonPropertyName("npcCachePath")] + public string NpcCachePath { get; set; } = string.Empty; + + [JsonPropertyName("boundaryCachePath")] + public string BoundaryCachePath { get; set; } = string.Empty; + + [JsonPropertyName("territories")] + public List Territories { get; set; } = new List(); + + [JsonPropertyName("levelEntries")] + public List LevelEntries { get; set; } = new List(); + + public static LgbWorkerManifest Load(string path) + { + using FileStream utf8Json = File.OpenRead(path); + LgbWorkerManifest? obj = JsonSerializer.Deserialize(utf8Json) ?? throw new InvalidDataException("Manifest deserialized to null"); + if (string.IsNullOrWhiteSpace(obj.SqpackPath)) + { + throw new InvalidDataException("SqpackPath is missing"); + } + if (string.IsNullOrWhiteSpace(obj.GameVersion)) + { + throw new InvalidDataException("GameVersion is missing"); + } + return obj; + } +} diff --git a/Questionable.LgbWorker/Questionable.LgbWorker/LgbWorkerMessage.cs b/Questionable.LgbWorker/Questionable.LgbWorker/LgbWorkerMessage.cs new file mode 100644 index 0000000..a0fd9e4 --- /dev/null +++ b/Questionable.LgbWorker/Questionable.LgbWorker/LgbWorkerMessage.cs @@ -0,0 +1,16 @@ +namespace Questionable.LgbWorker; + +internal readonly struct LgbWorkerMessage +{ + public LgbMessageType Type { get; init; } + + public int Done { get; init; } + + public int Total { get; init; } + + public bool Success { get; init; } + + public long DurationMs { get; init; } + + public string? Error { get; init; } +} diff --git a/Questionable.LgbWorker/Questionable.LgbWorker/PopRangeEntry.cs b/Questionable.LgbWorker/Questionable.LgbWorker/PopRangeEntry.cs new file mode 100644 index 0000000..1099ddb --- /dev/null +++ b/Questionable.LgbWorker/Questionable.LgbWorker/PopRangeEntry.cs @@ -0,0 +1,5 @@ +using System.Numerics; + +namespace Questionable.LgbWorker; + +internal sealed record PopRangeEntry(ushort TerritoryId, uint InstanceId, Vector3 Position); diff --git a/Questionable.LgbWorker/Questionable.LgbWorker/Program.cs b/Questionable.LgbWorker/Questionable.LgbWorker/Program.cs new file mode 100644 index 0000000..7cfe3c7 --- /dev/null +++ b/Questionable.LgbWorker/Questionable.LgbWorker/Program.cs @@ -0,0 +1,573 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Diagnostics; +using System.Globalization; +using System.IO; +using System.IO.Pipes; +using System.Numerics; +using System.Text.Json; +using System.Threading; +using System.Threading.Tasks; +using Lumina; +using Lumina.Data.Files; +using Lumina.Data.Parsing.Layer; + +namespace Questionable.LgbWorker; + +internal static class Program +{ + private const int ExitSuccess = 0; + + private const int ExitUsage = 2; + + private const int ExitProtocol = 3; + + private const int ExitGameData = 4; + + private const int ExitScanFailed = 5; + + private const int ExitPipeConnect = 6; + + private const int ExitOrphaned = 7; + + private const int ConnectTimeoutMs = 30000; + + private static readonly TimeSpan ParentPollInterval = TimeSpan.FromSeconds(1L); + + private const uint NpcFileMagic = 1129336401u; + + private const int NpcFileFormatVersion = 1; + + private const uint BoundaryFileMagic = 1112425562u; + + private const int BoundaryFileFormatVersion = 1; + + private static readonly string[] LgbFileNames = new string[4] { "planevent", "planmap", "planner", "planlive" }; + + private static int Main(string[] args) + { + try + { + return Run(args); + } + catch (Exception value) + { + Console.Error.WriteLine($"LGB worker failed unexpectedly: {value}"); + return 5; + } + } + + private static int Run(string[] args) + { + if (!TryParseArgs(args, out string pipeName, out string manifestPath, out int? parentPid)) + { + return Usage(); + } + NamedPipeClientStream namedPipeClientStream = null; + try + { + namedPipeClientStream = new NamedPipeClientStream(".", pipeName, PipeDirection.Out, PipeOptions.Asynchronous); + namedPipeClientStream.Connect(30000); + } + catch (Exception ex) when (((ex is TimeoutException || ex is IOException || ex is UnauthorizedAccessException || ex is ArgumentException) ? 1 : 0) != 0) + { + namedPipeClientStream?.Dispose(); + Console.Error.WriteLine("LGB worker could not connect to pipe '" + pipeName + "': " + ex.Message); + return 6; + } + using (namedPipeClientStream) + { + return RunScan(namedPipeClientStream, manifestPath, parentPid); + } + } + + private static int RunScan(Stream pipe, string manifestPath, int? parentPid) + { + LgbWorkerManifest lgbWorkerManifest; + try + { + lgbWorkerManifest = LgbWorkerManifest.Load(manifestPath); + } + catch (Exception ex) when (((ex is InvalidDataException || ex is IOException || ex is UnauthorizedAccessException || ex is ArgumentException || ex is JsonException) ? 1 : 0) != 0) + { + Console.Error.WriteLine("LGB worker cannot read manifest '" + manifestPath + "': " + ex.Message); + return 3; + } + GameData gameData; + try + { + gameData = new GameData(lgbWorkerManifest.SqpackPath, new LuminaOptions + { + CacheFileResources = false + }); + } + catch (Exception ex2) + { + Console.Error.WriteLine("LGB worker cannot open game data at '" + lgbWorkerManifest.SqpackPath + "': " + ex2.Message); + return 4; + } + CancellationTokenSource abort = new CancellationTokenSource(); + try + { + CancellationTokenSource stopWatching = new CancellationTokenSource(); + try + { + if (parentPid.HasValue) + { + int pid = parentPid.GetValueOrDefault(); + Task.Run(() => WatchParentAsync(pid, abort, stopWatching.Token)); + } + try + { + return Scan(pipe, lgbWorkerManifest, gameData, abort.Token); + } + finally + { + stopWatching.Cancel(); + gameData.Dispose(); + } + } + finally + { + if (stopWatching != null) + { + ((IDisposable)stopWatching).Dispose(); + } + } + } + finally + { + if (abort != null) + { + ((IDisposable)abort).Dispose(); + } + } + } + + private static int Scan(Stream pipe, LgbWorkerManifest manifest, GameData gameData, CancellationToken ct) + { + Stopwatch stopwatch = Stopwatch.StartNew(); + Console.Error.WriteLine($"Scanning {manifest.Territories.Count} territories, {manifest.LevelEntries.Count} level entries"); + try + { + int total = manifest.Territories.Count * 2; + int num = 0; + Dictionary dictionary = new Dictionary(); + HashSet visitedLgbPaths = new HashSet(); + List list = new List(); + Dictionary<(ushort, uint), PopRangeEntry> dictionary2 = new Dictionary<(ushort, uint), PopRangeEntry>(); + HashSet visitedLgbPaths2 = new HashSet(); + foreach (TerritoryEntry territory in manifest.Territories) + { + ct.ThrowIfCancellationRequested(); + if (territory.HasAetheryte) + { + ScanNpcLgbFiles(gameData, dictionary, visitedLgbPaths, territory); + ScanBoundaryLgb(gameData, list, dictionary2, visitedLgbPaths2, territory); + num++; + ReportProgress(pipe, num, total); + } + } + foreach (TerritoryEntry territory2 in manifest.Territories) + { + ct.ThrowIfCancellationRequested(); + ScanNpcLgbFiles(gameData, dictionary, visitedLgbPaths, territory2); + ScanBoundaryLgb(gameData, list, dictionary2, visitedLgbPaths2, territory2); + num++; + ReportProgress(pipe, num, total); + } + foreach (LevelEntry levelEntry in manifest.LevelEntries) + { + dictionary.TryAdd(levelEntry.ObjectId, (levelEntry.TerritoryId, new Vector3(levelEntry.X, levelEntry.Y, levelEntry.Z), false)); + } + Console.Error.WriteLine($"Scan complete: {dictionary.Count} NPCs, {list.Count} exits, {dictionary2.Count} pops"); + if (!string.IsNullOrEmpty(manifest.NpcCachePath)) + { + WriteNpcCache(manifest.NpcCachePath, manifest.GameVersion, dictionary); + Console.Error.WriteLine("Wrote NPC cache: " + manifest.NpcCachePath); + } + if (!string.IsNullOrEmpty(manifest.BoundaryCachePath)) + { + WriteBoundaryCache(manifest.BoundaryCachePath, manifest.GameVersion, list, dictionary2); + Console.Error.WriteLine("Wrote boundary cache: " + manifest.BoundaryCachePath); + } + } + catch (OperationCanceledException) + { + Console.Error.WriteLine("LGB worker scan cancelled: the parent process is gone."); + return 7; + } + catch (IOException ex2) + { + Console.Error.WriteLine("LGB worker pipe broke during the scan: " + ex2.Message); + return 7; + } + catch (Exception ex3) + { + return ReportFailure(pipe, ex3.ToString()); + } + stopwatch.Stop(); + try + { + LgbWorkerMessage message = new LgbWorkerMessage + { + Type = LgbMessageType.Final, + Success = true, + DurationMs = stopwatch.ElapsedMilliseconds + }; + LgbWorkerFraming.Write(pipe, in message); + pipe.Flush(); + } + catch (IOException ex4) + { + Console.Error.WriteLine("LGB worker pipe broke before the final message: " + ex4.Message); + return 7; + } + return 0; + } + + private static void ScanNpcLgbFiles(GameData gameData, Dictionary cache, HashSet visitedLgbPaths, TerritoryEntry territory) + { + string bgPath = territory.BgPath; + if (string.IsNullOrEmpty(bgPath)) + { + return; + } + int num = bgPath.IndexOf("/level/", StringComparison.Ordinal); + if (num < 0) + { + return; + } + string[] lgbFileNames = LgbFileNames; + foreach (string text in lgbFileNames) + { + string text2 = "bg/" + bgPath.Substring(0, num + 1) + "level/" + text + ".lgb"; + if (!visitedLgbPaths.Add(text2)) + { + continue; + } + LgbFile file; + try + { + file = gameData.GetFile(text2); + } + catch + { + continue; + } + if (file == null) + { + continue; + } + LayerCommon.Layer[] layers = file.Layers; + for (int j = 0; j < layers.Length; j++) + { + LayerCommon.Layer layer = layers[j]; + bool flag = layer.FestivalID != 0 || layer.IsTemporary != 0; + LayerCommon.InstanceObject[] instanceObjects = layer.InstanceObjects; + for (int k = 0; k < instanceObjects.Length; k++) + { + LayerCommon.InstanceObject instanceObject = instanceObjects[k]; + uint baseId; + if (instanceObject.AssetType == LayerEntryType.EventNPC) + { + baseId = ((LayerCommon.ENPCInstanceObject)instanceObject.Object).ParentData.ParentData.BaseId; + } + else + { + if (instanceObject.AssetType != LayerEntryType.EventObject) + { + continue; + } + baseId = ((LayerCommon.EventInstanceObject)instanceObject.Object).ParentData.BaseId; + } + if (baseId != 0 && (!cache.TryGetValue(baseId, out (ushort, Vector3, bool) value) || !(!value.Item3 || flag))) + { + cache[baseId] = ((ushort)territory.RowId, new Vector3(instanceObject.Transform.Translation.X, instanceObject.Transform.Translation.Y, instanceObject.Transform.Translation.Z), flag); + } + } + } + } + } + + private static void ScanBoundaryLgb(GameData gameData, List exitRanges, Dictionary<(ushort TerritoryId, uint InstanceId), PopRangeEntry> popRangeIndex, HashSet visitedLgbPaths, TerritoryEntry territory) + { + if (!IsNavigableOverworld(territory.IntendedUse)) + { + return; + } + string bgPath = territory.BgPath; + if (string.IsNullOrEmpty(bgPath)) + { + return; + } + int num = bgPath.IndexOf("/level/", StringComparison.Ordinal); + if (num < 0) + { + return; + } + string text = "bg/" + bgPath.Substring(0, num + 1) + "level/planmap.lgb"; + if (!visitedLgbPaths.Add(text)) + { + return; + } + ushort num2 = (ushort)territory.RowId; + LgbFile file; + try + { + file = gameData.GetFile(text); + } + catch + { + return; + } + if (file == null) + { + return; + } + LayerCommon.Layer[] layers = file.Layers; + for (int i = 0; i < layers.Length; i++) + { + LayerCommon.InstanceObject[] instanceObjects = layers[i].InstanceObjects; + for (int j = 0; j < instanceObjects.Length; j++) + { + LayerCommon.InstanceObject instanceObject = instanceObjects[j]; + if (instanceObject.AssetType == LayerEntryType.ExitRange) + { + LayerCommon.ExitRangeInstanceObject exitRangeInstanceObject = (LayerCommon.ExitRangeInstanceObject)(object)instanceObject.Object; + exitRanges.Add(new ExitRangeEntry(num2, instanceObject.InstanceId, new Vector3(instanceObject.Transform.Translation.X, instanceObject.Transform.Translation.Y, instanceObject.Transform.Translation.Z), exitRangeInstanceObject.TerritoryType, exitRangeInstanceObject.DestInstanceId, exitRangeInstanceObject.ReturnInstanceId, new Vector3(instanceObject.Transform.Rotation.X, instanceObject.Transform.Rotation.Y, instanceObject.Transform.Rotation.Z), new Vector3(instanceObject.Transform.Scale.X, instanceObject.Transform.Scale.Y, instanceObject.Transform.Scale.Z))); + } + else if (instanceObject.AssetType == LayerEntryType.PopRange) + { + popRangeIndex[(num2, instanceObject.InstanceId)] = new PopRangeEntry(num2, instanceObject.InstanceId, new Vector3(instanceObject.Transform.Translation.X, instanceObject.Transform.Translation.Y, instanceObject.Transform.Translation.Z)); + } + } + } + } + + private static bool IsNavigableOverworld(byte use) + { + switch (use) + { + case 0: + case 1: + case 6: + case 13: + case 21: + case 22: + case 23: + case 41: + case 48: + case 49: + case 60: + case 61: + return true; + default: + return false; + } + } + + private static void WriteNpcCache(string path, string gameVersion, Dictionary cache) + { + Directory.CreateDirectory(Path.GetDirectoryName(path)); + string text = path + ".tmp"; + using (BinaryWriter binaryWriter = new BinaryWriter(File.Create(text))) + { + binaryWriter.Write(1129336401u); + binaryWriter.Write(1); + binaryWriter.Write(gameVersion); + binaryWriter.Write(cache.Count); + foreach (var (value, tuple2) in cache) + { + binaryWriter.Write(value); + binaryWriter.Write(tuple2.Item1); + binaryWriter.Write(tuple2.Item2.X); + binaryWriter.Write(tuple2.Item2.Y); + binaryWriter.Write(tuple2.Item2.Z); + binaryWriter.Write(tuple2.Item3); + } + } + File.Move(text, path, overwrite: true); + } + + private static void WriteBoundaryCache(string path, string gameVersion, List exitRanges, Dictionary<(ushort TerritoryId, uint InstanceId), PopRangeEntry> popRangeIndex) + { + Directory.CreateDirectory(Path.GetDirectoryName(path)); + string text = path + ".tmp"; + using (BinaryWriter binaryWriter = new BinaryWriter(File.Create(text))) + { + binaryWriter.Write(1112425562u); + binaryWriter.Write(1); + binaryWriter.Write(gameVersion); + binaryWriter.Write(exitRanges.Count); + foreach (ExitRangeEntry exitRange in exitRanges) + { + binaryWriter.Write(exitRange.SourceTerritoryId); + binaryWriter.Write(exitRange.InstanceId); + binaryWriter.Write(exitRange.SourcePosition.X); + binaryWriter.Write(exitRange.SourcePosition.Y); + binaryWriter.Write(exitRange.SourcePosition.Z); + binaryWriter.Write(exitRange.DestTerritoryId); + binaryWriter.Write(exitRange.DestInstanceId); + binaryWriter.Write(exitRange.ReturnInstanceId); + binaryWriter.Write(exitRange.Rotation.X); + binaryWriter.Write(exitRange.Rotation.Y); + binaryWriter.Write(exitRange.Rotation.Z); + binaryWriter.Write(exitRange.HalfExtents.X); + binaryWriter.Write(exitRange.HalfExtents.Y); + binaryWriter.Write(exitRange.HalfExtents.Z); + } + binaryWriter.Write(popRangeIndex.Count); + foreach (var (_, popRangeEntry2) in popRangeIndex) + { + binaryWriter.Write(popRangeEntry2.TerritoryId); + binaryWriter.Write(popRangeEntry2.InstanceId); + binaryWriter.Write(popRangeEntry2.Position.X); + binaryWriter.Write(popRangeEntry2.Position.Y); + binaryWriter.Write(popRangeEntry2.Position.Z); + } + } + File.Move(text, path, overwrite: true); + } + + private static void ReportProgress(Stream pipe, int done, int total) + { + try + { + LgbWorkerMessage message = new LgbWorkerMessage + { + Type = LgbMessageType.Progress, + Done = done, + Total = total + }; + LgbWorkerFraming.Write(pipe, in message); + } + catch (IOException) + { + } + } + + private static int ReportFailure(Stream pipe, string error) + { + Console.Error.WriteLine(error); + try + { + LgbWorkerMessage message = new LgbWorkerMessage + { + Type = LgbMessageType.Final, + Success = false, + Error = error + }; + LgbWorkerFraming.Write(pipe, in message); + pipe.Flush(); + } + catch (Exception ex) when (((ex is IOException || ex is ObjectDisposedException) ? 1 : 0) != 0) + { + Console.Error.WriteLine("LGB worker could not report the failure: " + ex.Message); + } + return 5; + } + + private static async Task WatchParentAsync(int parentPid, CancellationTokenSource abort, CancellationToken stop) + { + _ = 1; + try + { + while (!stop.IsCancellationRequested) + { + if (!ProcessExists(parentPid)) + { + await abort.CancelAsync().ConfigureAwait(continueOnCapturedContext: false); + break; + } + await Task.Delay(ParentPollInterval, stop).ConfigureAwait(continueOnCapturedContext: false); + } + } + catch (OperationCanceledException) + { + } + catch (ObjectDisposedException) + { + } + catch (Exception value) + { + Console.Error.WriteLine($"LGB worker parent watch stopped: {value}"); + } + } + + private static bool ProcessExists(int pid) + { + try + { + using Process process = Process.GetProcessById(pid); + return !process.HasExited; + } + catch (Exception ex) when (((ex is ArgumentException || ex is InvalidOperationException) ? 1 : 0) != 0) + { + return false; + } + catch (Win32Exception) + { + return true; + } + } + + private static bool TryParseArgs(string[] args, out string pipeName, out string manifestPath, out int? parentPid) + { + pipeName = ""; + manifestPath = ""; + parentPid = null; + for (int i = 0; i < args.Length; i++) + { + switch (args[i]) + { + case "--pipe": + if (!TryTakeValue(args, ref i, out pipeName)) + { + return false; + } + break; + case "--manifest": + if (!TryTakeValue(args, ref i, out manifestPath)) + { + return false; + } + break; + case "--parent-pid": + { + if (!TryTakeValue(args, ref i, out string value) || !int.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out var result)) + { + return false; + } + parentPid = result; + break; + } + default: + return false; + } + } + if (pipeName.Length > 0) + { + return manifestPath.Length > 0; + } + return false; + } + + private static bool TryTakeValue(string[] args, ref int i, out string value) + { + value = ""; + if (i + 1 >= args.Length || string.IsNullOrWhiteSpace(args[i + 1])) + { + return false; + } + value = args[++i]; + return true; + } + + private static int Usage() + { + Console.Error.WriteLine("Usage: Questionable.LgbWorker --pipe --manifest [--parent-pid ]"); + return 2; + } +} diff --git a/Questionable.LgbWorker/Questionable.LgbWorker/TerritoryEntry.cs b/Questionable.LgbWorker/Questionable.LgbWorker/TerritoryEntry.cs new file mode 100644 index 0000000..d347f13 --- /dev/null +++ b/Questionable.LgbWorker/Questionable.LgbWorker/TerritoryEntry.cs @@ -0,0 +1,18 @@ +using System.Text.Json.Serialization; + +namespace Questionable.LgbWorker; + +internal sealed class TerritoryEntry +{ + [JsonPropertyName("rowId")] + public uint RowId { get; set; } + + [JsonPropertyName("bgPath")] + public string BgPath { get; set; } = string.Empty; + + [JsonPropertyName("intendedUse")] + public byte IntendedUse { get; set; } + + [JsonPropertyName("hasAetheryte")] + public bool HasAetheryte { get; set; } +} diff --git a/Questionable.Model/Questionable.Model.Converter/StringListOrValueConverter.cs b/Questionable.Model/Questionable.Model.Converter/StringListOrValueConverter.cs index 2d2e569..d5a2386 100644 --- a/Questionable.Model/Questionable.Model.Converter/StringListOrValueConverter.cs +++ b/Questionable.Model/Questionable.Model.Converter/StringListOrValueConverter.cs @@ -10,139 +10,45 @@ public sealed class StringListOrValueConverter : JsonConverter> { public override List Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - int num = ((reader.TokenType != JsonTokenType.String) ? 2003232125 : 2003232123); - List list = default(List); - while (true) + if (reader.TokenType == JsonTokenType.String) { - int num2 = num; - int num3 = 2003232122; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - num = 2003232123; - break; - case 1: - { - int num7 = 1; - List list2 = new List(num7); - CollectionsMarshal.SetCount(list2, num7); - CollectionsMarshal.AsSpan(list2)[0] = reader.GetString(); - return list2; - } - case 0: - num = ((reader.TokenType != JsonTokenType.EndArray) ? 2003232120 : 2003232126); - break; - case 2: - list.Add(reader.GetString()); - reader.Read(); - num = 2003232122; - break; - case 4: - return list; - case 6: - throw _200D_200C_200E_206B_202E_200D_200E_202D_206B_206D_206F_202D_202C_200F_202E_206B_206E_200E_206D_202C_206F_206F_200B_206A_206C_200D_202D_206A_206A_200C_206D_200D_206F_206D_202A_202C_202B_202D_200F_202B_202E(); - case 7: - num = ((reader.TokenType == JsonTokenType.StartArray) ? 2003232121 : 2003232124); - break; - case 3: - reader.Read(); - list = new List(); - num = 2003232122; - break; - } + int num = 1; + List list = new List(num); + CollectionsMarshal.SetCount(list, num); + CollectionsMarshal.AsSpan(list)[0] = reader.GetString(); + return list; } + if (reader.TokenType != JsonTokenType.StartArray) + { + throw new JsonException(); + } + reader.Read(); + List list2 = new List(); + while (reader.TokenType != JsonTokenType.EndArray) + { + list2.Add(reader.GetString()); + reader.Read(); + } + return list2; } public override void Write(Utf8JsonWriter writer, List? value, JsonSerializerOptions options) { - int num = ((value != null) ? (-1425131611) : (-1425131610)); - while (true) + if (value == null) { - int num2 = num; - int num3 = -1425131609; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1425131610; - break; - case 1: - _202D_200D_202A_200D_206A_202A_206B_202C_202B_202C_202E_206E_206C_206C_206F_202C_200E_200C_202E_206C_202C_206F_206A_206F_206E_202A_206D_206A_200B_206C_206E_200C_206A_200E_202D_202D_200D_206F_206F_202E_202E(writer); - return; - case 4: - _206A_206C_206B_206D_200B_206B_200B_200D_202A_206C_206E_202C_206E_206E_202E_202C_206A_206C_206A_200F_202E_206B_206E_200F_202A_200B_206D_200E_202E_202B_206B_202A_206B_202E_200E_206E_200B_200E_200D_200C_202E(writer, value[0]); - return; - case 2: - num = ((value.Count != 1) ? (-1425131612) : (-1425131613)); - break; - case 3: - { - _200E_206C_202B_200C_206B_200B_200E_206F_200E_202A_206B_206C_200C_200D_200B_202C_200D_200C_200D_200E_206C_200B_202A_202D_202D_202D_202D_202C_206C_200C_200D_200B_200B_200B_200B_206E_206C_202A_206D_200F_202E(writer); - using (List.Enumerator enumerator = value.GetEnumerator()) - { - num = -1381192088; - while (true) - { - int num5 = num; - num3 = -1381192088; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 2: - num = -1381192088; - break; - case 1: - { - string current = enumerator.Current; - _206A_206C_206B_206D_200B_206B_200B_200D_202A_206C_206E_202C_206E_206E_202E_202C_206A_206C_206A_200F_202E_206B_206E_200F_202A_200B_206D_200E_202E_202B_206B_202A_206B_202E_200E_206E_200B_200E_200D_200C_202E(writer, current); - num = -1381192088; - break; - } - case 0: - num = (enumerator.MoveNext() ? (-1381192087) : (-1381192085)); - break; - case 3: - goto end_IL_00a6; - } - continue; - end_IL_00a6: - break; - } - } - _206B_202D_206B_200F_202C_206C_200C_206A_202C_202C_202D_200F_200E_200C_200D_200F_206C_200E_202E_206C_206F_202C_202E_200D_206C_206D_206A_200C_202B_206C_206D_202C_200E_202C_202B_206D_200B_200B_206B_202C_202E(writer); - return; - } - } + writer.WriteNullValue(); + return; } - } - - static JsonException _200D_200C_200E_206B_202E_200D_200E_202D_206B_206D_206F_202D_202C_200F_202E_206B_206E_200E_206D_202C_206F_206F_200B_206A_206C_200D_202D_206A_206A_200C_206D_200D_206F_206D_202A_202C_202B_202D_200F_202B_202E() - { - return new JsonException(); - } - - static void _202D_200D_202A_200D_206A_202A_206B_202C_202B_202C_202E_206E_206C_206C_206F_202C_200E_200C_202E_206C_202C_206F_206A_206F_206E_202A_206D_206A_200B_206C_206E_200C_206A_200E_202D_202D_200D_206F_206F_202E_202E(Utf8JsonWriter P_0) - { - P_0.WriteNullValue(); - } - - static void _206A_206C_206B_206D_200B_206B_200B_200D_202A_206C_206E_202C_206E_206E_202E_202C_206A_206C_206A_200F_202E_206B_206E_200F_202A_200B_206D_200E_202E_202B_206B_202A_206B_202E_200E_206E_200B_200E_200D_200C_202E(Utf8JsonWriter P_0, string P_1) - { - P_0.WriteStringValue(P_1); - } - - static void _200E_206C_202B_200C_206B_200B_200E_206F_200E_202A_206B_206C_200C_200D_200B_202C_200D_200C_200D_200E_206C_200B_202A_202D_202D_202D_202D_202C_206C_200C_200D_200B_200B_200B_200B_206E_206C_202A_206D_200F_202E(Utf8JsonWriter P_0) - { - P_0.WriteStartArray(); - } - - static void _206B_202D_206B_200F_202C_206C_200C_206A_202C_202C_202D_200F_200E_200C_200D_200F_206C_200E_202E_206C_206F_202C_202E_200D_206C_206D_206A_200C_202B_206C_206D_202C_200E_202C_202B_206D_200B_200B_206B_202C_202E(Utf8JsonWriter P_0) - { - P_0.WriteEndArray(); + if (value.Count == 1) + { + writer.WriteStringValue(value[0]); + return; + } + writer.WriteStartArray(); + foreach (string item in value) + { + writer.WriteStringValue(item); + } + writer.WriteEndArray(); } } diff --git a/Questionable.Model/Questionable.Model.Converter/VectorListConverter.cs b/Questionable.Model/Questionable.Model.Converter/VectorListConverter.cs index 6cddb8c..4381c2b 100644 --- a/Questionable.Model/Questionable.Model.Converter/VectorListConverter.cs +++ b/Questionable.Model/Questionable.Model.Converter/VectorListConverter.cs @@ -9,109 +9,33 @@ namespace Questionable.Model.Converter; public sealed class VectorListConverter : JsonConverter> { - private static readonly VectorConverter ItemConverter = _206C_200C_200D_206E_202A_200E_206F_200E_206F_200B_200C_202E_200D_206F_206B_202E_200D_206C_202C_206A_200E_200C_202D_206E_202D_206A_202C_200C_206D_202D_202C_206F_206C_202B_200C_200C_206B_202C_202C_202C_202E(); + private static readonly VectorConverter ItemConverter = new VectorConverter(); public override List Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - int num = ((reader.TokenType == JsonTokenType.StartArray) ? 1775411337 : 1775411336); - List list = default(List); - while (true) + if (reader.TokenType != JsonTokenType.StartArray) { - int num2 = num; - int num3 = 1775411340; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - throw _202B_206F_202B_202E_206E_200D_206B_200B_202A_202B_200D_206A_202A_200E_200C_202E_200F_206F_200F_202B_206A_206B_202E_202D_200C_200B_202A_206B_200F_206A_202B_206B_206E_202E_200D_206C_206C_202B_200D_200D_202E(); - case 0: - list.Add(ItemConverter.Read(ref reader, _206C_206A_202A_206E_206D_202D_206D_200C_206B_206C_200C_206E_206C_202A_200C_206F_200F_206F_206B_200B_206A_200F_206B_206C_200C_202E_206B_206D_202A_202C_206B_206E_206B_202C_202C_202C_206F_200F_200F_200E_202E(typeof(Vector3).TypeHandle), options)); - num = 1775411338; - break; - case 6: - num = (reader.Read() ? 1775411339 : 1775411343); - break; - case 4: - throw _202B_206F_202B_202E_206E_200D_206B_200B_202A_202B_200D_206A_202A_200E_200C_202E_200F_206F_200F_202B_206A_206B_202E_202D_200C_200B_202A_206B_200F_206A_202B_206B_206E_202E_200D_206C_206C_202B_200D_200D_202E(); - case 2: - num = 1775411336; - break; - case 7: - num = ((reader.TokenType != JsonTokenType.EndArray) ? 1775411340 : 1775411341); - break; - case 1: - return list; - case 5: - list = new List(); - num = 1775411338; - break; - } + throw new JsonException(); } + List list = new List(); + while (reader.Read()) + { + if (reader.TokenType == JsonTokenType.EndArray) + { + return list; + } + list.Add(ItemConverter.Read(ref reader, typeof(Vector3), options)); + } + throw new JsonException(); } public override void Write(Utf8JsonWriter writer, List value, JsonSerializerOptions options) { - _200B_200D_206A_206E_202B_202B_200D_206A_202A_202A_200B_206D_202D_206D_200F_206B_206C_202C_202B_200D_202C_200B_206A_200D_202A_206A_202C_202C_200F_200F_200D_202A_206B_200F_200E_206D_200E_206A_202D_202E_202E(writer); - using (List.Enumerator enumerator = value.GetEnumerator()) + writer.WriteStartArray(); + foreach (Vector3 item in value) { - int num = -1222196604; - while (true) - { - int num2 = num; - int num3 = -1222196603; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = -1222196604; - break; - case 1: - num = (enumerator.MoveNext() ? (-1222196601) : (-1222196603)); - break; - case 2: - { - Vector3 current = enumerator.Current; - ItemConverter.Write(writer, current, options); - num = -1222196604; - break; - } - case 0: - goto end_IL_0018; - } - continue; - end_IL_0018: - break; - } + ItemConverter.Write(writer, item, options); } - _200F_206C_202B_200F_206B_206F_206B_200B_200C_202A_202D_202B_200C_202E_206B_206D_202B_200B_206D_200D_206B_200D_202D_200F_206F_202B_200F_206A_202C_206F_202E_200B_202A_202D_206E_202C_200F_202C_206C_206E_202E(writer); - } - - static JsonException _202B_206F_202B_202E_206E_200D_206B_200B_202A_202B_200D_206A_202A_200E_200C_202E_200F_206F_200F_202B_206A_206B_202E_202D_200C_200B_202A_206B_200F_206A_202B_206B_206E_202E_200D_206C_206C_202B_200D_200D_202E() - { - return new JsonException(); - } - - static Type _206C_206A_202A_206E_206D_202D_206D_200C_206B_206C_200C_206E_206C_202A_200C_206F_200F_206F_206B_200B_206A_200F_206B_206C_200C_202E_206B_206D_202A_202C_206B_206E_206B_202C_202C_202C_206F_200F_200F_200E_202E(RuntimeTypeHandle P_0) - { - return System.Type.GetTypeFromHandle(P_0); - } - - static void _200B_200D_206A_206E_202B_202B_200D_206A_202A_202A_200B_206D_202D_206D_200F_206B_206C_202C_202B_200D_202C_200B_206A_200D_202A_206A_202C_202C_200F_200F_200D_202A_206B_200F_200E_206D_200E_206A_202D_202E_202E(Utf8JsonWriter P_0) - { - P_0.WriteStartArray(); - } - - static void _200F_206C_202B_200F_206B_206F_206B_200B_200C_202A_202D_202B_200C_202E_206B_206D_202B_200B_206D_200D_206B_200D_202D_200F_206F_202B_200F_206A_202C_206F_202E_200B_202A_202D_206E_202C_200F_202C_206C_206E_202E(Utf8JsonWriter P_0) - { - P_0.WriteEndArray(); - } - - static VectorConverter _206C_200C_200D_206E_202A_200E_206F_200E_206F_200B_200C_202E_200D_206F_206B_202E_200D_206C_202C_206A_200E_200C_202D_206E_202D_206A_202C_200C_206D_202D_202C_206F_206C_202B_200C_200C_206B_202C_202C_202C_202E() - { - return new VectorConverter(); + writer.WriteEndArray(); } } diff --git a/Questionable.Model/Questionable.Model.Gathering/GatheringLocation.cs b/Questionable.Model/Questionable.Model.Gathering/GatheringLocation.cs index e0eed12..9842b75 100644 --- a/Questionable.Model/Questionable.Model.Gathering/GatheringLocation.cs +++ b/Questionable.Model/Questionable.Model.Gathering/GatheringLocation.cs @@ -23,25 +23,11 @@ public sealed class GatheringLocation public bool IsCone() { - int num = ((!MinimumAngle.HasValue) ? (-443145177) : (-443145178)); - while (true) + if (MinimumAngle.HasValue) { - int num2 = num; - int num3 = -443145177; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return false; - case 1: - return MaximumAngle.HasValue; - case 2: - goto IL_005f; - } - continue; - IL_005f: - num = -443145178; + return MaximumAngle.HasValue; } + return false; } public float CalculateMinimumDistance() diff --git a/Questionable.Model/Questionable.Model.Gathering/GatheringPointId.cs b/Questionable.Model/Questionable.Model.Gathering/GatheringPointId.cs index 2369b67..da1b982 100644 --- a/Questionable.Model/Questionable.Model.Gathering/GatheringPointId.cs +++ b/Questionable.Model/Questionable.Model.Gathering/GatheringPointId.cs @@ -14,97 +14,45 @@ public class GatheringPointId : IComparable, IEquatable.CompareTo(GatheringPointId? other) - { - //ILSpy generated this explicit interface implementation from .override directive in CompareTo - return this.CompareTo(other); + if ((object)other == null) + { + return 1; + } + return Value.CompareTo(other.Value); } public bool Equals(GatheringPointId? other) { - int num = (((object)other != null) ? 1984551825 : 1984551830); - while (true) + if ((object)other == null) { - int num2 = num; - int num3 = 1984551829; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return Value == other.Value; - case 3: - return false; - case 2: - num = 1984551830; - break; - case 1: - return true; - case 4: - num = (((object)this != other) ? 1984551829 : 1984551828); - break; - } + return false; } - } - - bool IEquatable.Equals(GatheringPointId? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); + if ((object)this == other) + { + return true; + } + return Value == other.Value; } public override bool Equals(object? obj) { - int num = ((obj != null) ? 1644524089 : 1644524094); - while (true) + if (obj == null) { - int num2 = num; - int num3 = 1644524093; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - num = 1644524094; - break; - case 4: - num = ((this != obj) ? 1644524092 : 1644524095); - break; - case 1: - num = ((!_202B_206C_206D_200E_200B_206A_202E_200B_202E_206A_200C_202E_202D_202C_206E_202C_202E_206C_200C_202B_202D_206D_202C_206C_200E_206C_202B_202B_200C_202B_206A_206A_200F_200B_206F_206D_200C_202B_200F_200F_202E(_202C_202E_206C_206D_200C_206E_206F_200E_206F_200C_206F_202B_206F_206E_202D_206F_200B_202D_200D_200B_200F_202B_202D_202A_206D_206D_202B_206C_202C_202B_202B_200F_206D_200D_200F_202C_206C_206D_206E_200E_202E(obj), _202E_200B_200D_202C_202D_200D_200C_200E_200B_200C_206D_200E_202D_206F_206E_200E_200B_206E_206E_202B_206B_202D_200F_206C_202C_202B_202E_202A_200D_200B_206A_206D_200F_202C_206D_202D_200C_200D_206C_200D_202E((object?)this))) ? 1644524093 : 1644524088); - break; - case 3: - return false; - case 5: - return false; - case 2: - return true; - case 0: - return Equals((GatheringPointId)obj); - } + return false; } + if (this == obj) + { + return true; + } + if (obj.GetType() != GetType()) + { + return false; + } + return Equals((GatheringPointId)obj); } public override int GetHashCode() @@ -114,41 +62,16 @@ public class GatheringPointId : IComparable, IEquatable where T : notnull - { - public (string Id, int Offset, int Length)[] entries; - - public byte[] container; - - public KeyValuePair[] result; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal void _003CDeserialize_003Eb__0(int i) - { - (string Id, int Offset, int Length) tuple = entries[i]; - string item = tuple.Id; - int item2 = tuple.Offset; - int item3 = tuple.Length; - T val = JsonSerializer.Deserialize(new ReadOnlySpan(container, item2, item3)); - int num = ((val != null) ? 1712657816 : 1712657817); - while (true) - { - int num2 = num; - int num3 = 1712657816; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0087; - case 0: - { - T value = val; - result[i] = new KeyValuePair(item, value); - return; - } - case 1: - throw _206D_206E_200B_200C_202A_202C_202B_200D_202E_200D_206E_202D_200B_200C_200C_206B_206B_206B_200B_200C_200F_206D_206D_202E_206F_202D_206F_206B_202D_206F_202A_206A_202A_202B_206C_202B_200C_200D_206D_206C_202E(_200F_200D_200C_202B_200F_202D_202D_200D_200F_202B_200E_202B_200D_202B_206B_200D_206B_200B_202E_200E_200D_200E_200B_202A_202D_206A_202A_206E_206D_206D_206E_200F_206F_202A_200B_200C_200C_200B_202C_202B_202E(global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1974405317), item)); - } - continue; - IL_0087: - num = 1712657817; - } - } - - static string _200F_200D_200C_202B_200F_202D_202D_200D_200F_202B_200E_202B_200D_202B_206B_200D_206B_200B_202E_200E_200D_200E_200B_202A_202D_206A_202A_206E_206D_206D_206E_200F_206F_202A_200B_200C_200C_200B_202C_202B_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static InvalidDataException _206D_206E_200B_200C_202A_202C_202B_200D_202E_200D_206E_202D_200B_200C_200C_206B_206B_206B_200B_200C_200F_206D_206D_202E_206F_202D_206F_206B_202D_206F_202A_206A_202A_202B_206C_202B_200C_200D_206D_206C_202E(string P_0) - { - return new InvalidDataException(P_0); - } - } - private const int NonceSize = 12; private const int TagSize = 16; @@ -77,690 +20,92 @@ internal static class PathBundle internal static byte[] Encode(IReadOnlyList> entries, byte[] key, byte[] nonce) { - MemoryStream memoryStream = _202B_206B_202B_206C_200C_200E_200B_202B_202C_206C_200F_206E_202B_200C_200B_200F_202A_202A_206F_206B_202C_202A_202A_200C_200F_206D_200B_202D_206C_202E_200D_202C_200D_200B_200D_206B_200B_206F_206D_202B_202E(); - try + using MemoryStream memoryStream = new MemoryStream(); + using (BinaryWriter binaryWriter = new BinaryWriter(memoryStream, Encoding.UTF8, leaveOpen: true)) { - BinaryWriter binaryWriter = _206E_206E_200E_202B_202D_200B_206B_206A_206F_206D_206A_206F_200F_206A_206C_200C_202C_202E_206E_202C_206A_200B_206C_206A_206B_200C_200B_200B_202C_206E_206B_202C_206D_206A_202B_202C_202B_200C_206C_206B_202E((Stream)memoryStream, _200D_206A_206D_200D_206B_202E_206E_200E_202D_206B_202E_200E_206D_202A_200E_206E_200B_202D_206F_206A_200C_202C_200F_202C_202B_200E_206F_202D_200B_206D_206F_200E_206A_200E_206E_206D_202E_202A_202E_202B_202E(), true); - try + binaryWriter.Write(Magic); + binaryWriter.Write(entries.Count); + foreach (KeyValuePair entry in entries) { - _200F_206D_200F_202D_206F_200B_202A_202B_200E_206F_202B_200D_200B_206E_202E_202B_206F_206D_206B_202A_200E_206E_206E_200F_206E_206B_202A_202B_206C_200B_202E_200C_206F_200E_200D_206E_206C_202A_206A_200D_202E(binaryWriter, Magic); - _202C_200E_206F_206D_202B_206F_200C_206C_200D_200D_206E_202C_200F_206E_200F_200B_206B_202D_202D_206E_202D_202C_202C_200E_202B_206A_206D_206D_202C_206C_206E_206B_206F_206D_206E_202E_206D_206B_206C_200E_202E(binaryWriter, entries.Count); - IEnumerator> enumerator = entries.GetEnumerator(); - try - { - int num = 490624708; - while (true) - { - int num2 = num; - int num3 = 490624709; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - num = (_206A_200C_206E_200F_202A_206A_200C_206D_200C_206A_200F_200B_200D_202D_206B_200B_202A_206D_206F_200F_206F_200C_200B_206E_202D_206A_202C_206C_200B_206B_200D_202C_202E_200F_206D_202D_202D_202D_200D_206C_202E((IEnumerator)enumerator) ? 490624710 : 490624711); - break; - case 3: - { - enumerator.Current.Deconstruct(out var key2, out var value); - string text = key2; - byte[] array = value; - byte[] array2 = _200D_206C_206C_200D_200B_200E_202E_202D_202E_206A_206B_206D_202E_200F_200B_200D_202E_200F_200F_200B_200B_200B_206E_200C_206D_200E_206F_206F_200B_206A_202A_206E_200C_206A_202B_206A_200B_200D_206F_200C_202E(_200D_206A_206D_200D_206B_202E_206E_200E_202D_206B_202E_200E_206D_202A_200E_206E_200B_202D_206F_206A_200C_202C_200F_202C_202B_200E_206F_202D_200B_206D_206F_200E_206A_200E_206E_206D_202E_202A_202E_202B_202E(), text); - _200F_200F_200F_200B_200F_202A_200D_206D_200F_206D_206D_200D_206E_206A_202A_206D_206A_202E_200C_206F_200E_206A_202A_206E_206A_200D_200F_206C_202A_202B_200F_202E_202B_206A_206A_206F_206F_202B_202D_206C_202E(binaryWriter, checked((byte)array2.Length)); - _200F_206D_200F_202D_206F_200B_202A_202B_200E_206F_202B_200D_200B_206E_202E_202B_206F_206D_206B_202A_200E_206E_206E_200F_206E_206B_202A_202B_206C_200B_202E_200C_206F_200E_200D_206E_206C_202A_206A_200D_202E(binaryWriter, array2); - _202C_200E_206F_206D_202B_206F_200C_206C_200D_200D_206E_202C_200F_206E_200F_200B_206B_202D_202D_206E_202D_202C_202C_200E_202B_206A_206D_206D_202C_206C_206E_206B_206F_206D_206E_202E_206D_206B_206C_200E_202E(binaryWriter, array.Length); - _200F_206D_200F_202D_206F_200B_202A_202B_200E_206F_202B_200D_200B_206E_202E_202B_206F_206D_206B_202A_200E_206E_206E_200F_206E_206B_202A_202B_206C_200B_202E_200C_206F_200E_200D_206E_206C_202A_206A_200D_202E(binaryWriter, array); - num = 490624708; - break; - } - case 0: - num = 490624708; - break; - case 2: - goto end_IL_0041; - } - continue; - end_IL_0041: - break; - } - } - finally - { - int num = ((enumerator == null) ? (-755997639) : (-755997638)); - while (true) - { - int num7 = num; - int num3 = -755997640; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 1: - goto end_IL_0126; - case 2: - _206E_202B_200B_200C_200D_206A_202E_206F_202C_206D_202C_202D_206A_206E_202E_200E_206C_206C_202E_206B_202A_200F_200B_206F_202B_200F_200B_200D_202B_202D_202C_202C_200B_202A_200F_206C_202B_206A_200D_202E_202E((IDisposable)enumerator); - num = -755997639; - break; - case 0: - num = -755997638; - break; - } - continue; - end_IL_0126: - break; - } - } - } - finally - { - int num = ((binaryWriter == null) ? 1938638087 : 1938638086); - while (true) - { - int num10 = num; - int num3 = 1938638087; - int num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1938638086; - break; - case 0: - goto end_IL_0193; - case 1: - _206E_202B_200B_200C_200D_206A_202E_206F_202C_206D_202C_202D_206A_206E_202E_200E_206C_206C_202E_206B_202A_200F_200B_206F_202B_200F_200B_200D_202B_202D_202C_202C_200B_202A_200F_206C_202B_206A_200D_202E_202E((IDisposable)binaryWriter); - num = 1938638087; - break; - } - continue; - end_IL_0193: - break; - } - } - MemoryStream memoryStream2 = _202B_206B_202B_206C_200C_200E_200B_202B_202C_206C_200F_206E_202B_200C_200B_200F_202A_202A_206F_206B_202C_202A_202A_200C_200F_206D_200B_202D_206C_202E_200D_202C_200D_200B_200D_206B_200B_206F_206D_202B_202E(); - try - { - DeflateStream deflateStream = _206A_206F_206D_202D_200D_206A_202C_202E_202D_202E_206B_206C_200F_206E_200E_202A_202B_200B_206D_200F_206F_202E_200F_206A_202D_206A_206E_200E_200E_206A_206D_200D_200E_202D_206E_200F_206F_200E_206B_200D_202E((Stream)memoryStream2, CompressionLevel.Optimal, true); - int num3; - int num4; - try - { - _206B_200D_200F_202C_202A_200F_200B_206E_202B_206A_202C_200E_200C_206D_202A_202E_206F_206C_206E_200B_206D_200B_200E_206B_200B_206C_200B_206E_202D_206C_206A_200D_206B_202D_202C_200E_206E_200E_200F_206A_202E((Stream)deflateStream, _200B_206E_202C_200D_206C_200B_200D_202C_200F_200E_200F_206B_200B_206F_206D_202C_202E_202A_206B_206C_202E_200F_202B_206E_202E_206B_206E_206C_202C_200F_202A_206B_202B_206B_202B_206D_206C_206F_202A_206C_202E(memoryStream), 0, (int)_200E_202E_206A_200D_206B_202E_206B_206E_202C_206C_202B_200F_202A_206D_200D_200D_206C_206E_206B_200E_200D_200C_200D_202E_202A_202B_202C_202E_206E_202E_206A_206F_202D_206E_206C_206B_202B_200E_202B_206D_202E((Stream)memoryStream)); - } - finally - { - int num = ((deflateStream == null) ? (-1620706509) : (-1620706512)); - while (true) - { - int num11 = num; - num3 = -1620706511; - num4 = num11; - int num12 = num4 + num3; - int num13 = num4 & num3; - switch (num12 - (num13 + num13)) - { - case 0: - num = -1620706512; - break; - case 1: - _206E_202B_200B_200C_200D_206A_202E_206F_202C_206D_202C_202D_206A_206E_202E_200E_206C_206C_202E_206B_202A_200F_200B_206F_202B_200F_200B_200D_202B_202D_202C_202C_200B_202A_200F_206C_202B_206A_200D_202E_202E((IDisposable)deflateStream); - num = -1620706509; - break; - case 2: - goto end_IL_0228; - } - continue; - end_IL_0228: - break; - } - } - byte[] array3 = _200D_200B_202A_206E_202B_200B_206D_200B_200F_200F_202E_206D_206A_200B_200C_200F_206B_200D_202A_202E_200E_200D_206F_202B_206D_202B_202C_200B_206E_206B_206F_200F_206D_200B_200E_200F_202C_202E_206B_200F_202E(memoryStream2); - num3 = array3.Length; - num4 = 28; - byte[] array4 = new byte[(num4 | num3) + (num4 & num3)]; - _202C_206D_200D_200B_202D_202E_202B_202E_206F_200C_202A_202E_202A_202D_206F_202C_200F_200B_200F_200F_200B_206E_200E_200C_200F_200C_206D_200B_206E_206E_200E_200B_206C_200C_206B_206F_200F_200E_200D_202D_202E((Array)nonce, (Array)array4, 0); - AesGcm aesGcm = _206D_200E_202D_200D_206B_206E_202C_200D_206D_200B_206E_200C_202A_206F_200F_200B_206D_200D_206F_202A_202C_202C_202B_202B_200F_202B_206F_200C_202A_202B_202E_206C_200B_200C_202D_206C_202E_206F_206B_200C_202E(key, 16); - try - { - _202A_200B_202C_206F_206C_206C_200F_206A_200D_200D_206B_200E_206A_202D_206E_202E_206D_202D_200E_202A_206C_202D_202D_202A_200D_206F_200C_206B_202B_200D_206C_206D_206D_206E_206F_206F_206B_200D_200B_206E_202E(aesGcm, (ReadOnlySpan)nonce, (ReadOnlySpan)array3, array4.AsSpan(28), array4.AsSpan(12, 16), default(ReadOnlySpan)); - return array4; - } - finally - { - int num = ((aesGcm == null) ? (-854300539) : (-854300538)); - while (true) - { - int num14 = num; - num3 = -854300540; - num4 = num14; - int num15 = num4 + num3; - int num16 = num4 & num3; - switch (num15 - (num16 + num16)) - { - case 0: - num = -854300538; - break; - case 1: - goto end_IL_02ff; - case 2: - _206E_202B_200B_200C_200D_206A_202E_206F_202C_206D_202C_202D_206A_206E_202E_200E_206C_206C_202E_206B_202A_200F_200B_206F_202B_200F_200B_200D_202B_202D_202C_202C_200B_202A_200F_206C_202B_206A_200D_202E_202E((IDisposable)aesGcm); - num = -854300539; - break; - } - continue; - end_IL_02ff: - break; - } - } - } - finally - { - int num = ((memoryStream2 == null) ? (-1540033213) : (-1540033214)); - while (true) - { - int num17 = num; - int num3 = -1540033213; - int num4 = num17; - int num18 = num4 + num3; - int num19 = num4 & num3; - switch (num18 - (num19 + num19)) - { - case 2: - num = -1540033214; - break; - case 0: - goto end_IL_036b; - case 1: - _206E_202B_200B_200C_200D_206A_202E_206F_202C_206D_202C_202D_206A_206E_202E_200E_206C_206C_202E_206B_202A_200F_200B_206F_202B_200F_200B_200D_202B_202D_202C_202C_200B_202A_200F_206C_202B_206A_200D_202E_202E((IDisposable)memoryStream2); - num = -1540033213; - break; - } - continue; - end_IL_036b: - break; - } + entry.Deconstruct(out var key2, out var value); + string s = key2; + byte[] array = value; + byte[] bytes = Encoding.UTF8.GetBytes(s); + binaryWriter.Write(checked((byte)bytes.Length)); + binaryWriter.Write(bytes); + binaryWriter.Write(array.Length); + binaryWriter.Write(array); } } - finally + using MemoryStream memoryStream2 = new MemoryStream(); + using (DeflateStream deflateStream = new DeflateStream(memoryStream2, CompressionLevel.Optimal, leaveOpen: true)) { - int num = ((memoryStream == null) ? (-1562787015) : (-1562787016)); - while (true) - { - int num20 = num; - int num3 = -1562787015; - int num4 = num20; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto end_IL_03d6; - case 1: - _206E_202B_200B_200C_200D_206A_202E_206F_202C_206D_202C_202D_206A_206E_202E_200E_206C_206C_202E_206B_202A_200F_200B_206F_202B_200F_200B_200D_202B_202D_202C_202C_200B_202A_200F_206C_202B_206A_200D_202E_202E((IDisposable)memoryStream); - num = -1562787015; - break; - case 2: - num = -1562787016; - break; - } - continue; - end_IL_03d6: - break; - } + deflateStream.Write(memoryStream.GetBuffer(), 0, (int)memoryStream.Length); } + byte[] array2 = memoryStream2.ToArray(); + byte[] array3 = new byte[28 + array2.Length]; + nonce.CopyTo(array3, 0); + using AesGcm aesGcm = new AesGcm(key, 16); + aesGcm.Encrypt(nonce, array2, array3.AsSpan(28), array3.AsSpan(12, 16)); + return array3; } - [MethodImpl(MethodImplOptions.NoInlining)] internal static List> Deserialize(Stream stream, byte[] key) { byte[] container = Decode(stream, key); - MemoryStream memoryStream = _206C_200E_200B_206B_200D_202C_202C_202D_206A_200B_202C_206B_206F_206A_202C_202B_200F_200D_202E_200C_202A_202B_206C_202D_206D_200F_206D_200F_206C_206F_202A_206A_206B_206E_200C_206A_200F_202E_200B_202C_202E(container); - try + using MemoryStream memoryStream = new MemoryStream(container); + using BinaryReader binaryReader = new BinaryReader(memoryStream, Encoding.UTF8); + if (!((ReadOnlySpan)binaryReader.ReadBytes(Magic.Length).AsSpan()).SequenceEqual((ReadOnlySpan)Magic)) { - BinaryReader binaryReader = _206E_202D_206F_202A_202E_206E_202B_202A_200E_206A_200B_206F_200C_206E_200F_202E_200D_200E_200D_202D_202D_206B_206D_206B_206F_200C_206B_202C_202C_206D_200F_200B_202B_200F_202C_200C_206A_206D_206E_206F_202E((Stream)memoryStream, _200D_206A_206D_200D_206B_202E_206E_200E_202D_206B_202E_200E_206D_202A_200E_206E_200B_202D_206F_206A_200C_202C_200F_202C_202B_200E_206F_202D_200B_206D_206F_200E_206A_200E_206E_206D_202E_202A_202E_202B_202E()); - try - { - int num = (((ReadOnlySpan)_202C_206B_200F_200E_200C_202E_206C_202D_200C_200F_202B_200F_202A_206C_202B_206E_206F_200D_206F_206F_206D_202C_200C_200C_206E_202B_202B_202E_200B_200E_202B_206D_202D_202D_200C_206A_200E_202E_200B_202B_202E(binaryReader, Magic.Length).AsSpan()).SequenceEqual((ReadOnlySpan)Magic) ? (-1526478709) : (-1526478707)); - (string Id, int Offset, int Length)[] entries = default((string Id, int Offset, int Length)[]); - int num6 = default(int); - int num5 = default(int); - KeyValuePair[] result; - while (true) - { - int num2 = num; - int num3 = -1526478705; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - { - int num7 = _202D_200C_200D_206D_206E_200D_206B_200F_200D_202E_202A_202D_200D_200D_202A_200B_200E_206A_206A_200E_202B_206B_200B_206E_202B_202C_200C_200B_200E_200C_206B_202C_200F_206C_202D_202A_206F_200D_202A_206C_202E(binaryReader); - string item = _202C_200E_202E_200B_206A_206F_206E_202B_200B_206C_202B_202B_202D_200E_206E_206A_206F_200E_200E_206A_202E_200D_200B_206D_206F_200D_200E_206B_202D_202E_202B_202C_206F_200D_206E_200F_206B_202D_202B_202D_202E(_200D_206A_206D_200D_206B_202E_206E_200E_202D_206B_202E_200E_206D_202A_200E_206E_200B_202D_206F_206A_200C_202C_200F_202C_202B_200E_206F_202D_200B_206D_206F_200E_206A_200E_206E_206D_202E_202A_202E_202B_202E(), _202C_206B_200F_200E_200C_202E_206C_202D_200C_200F_202B_200F_202A_206C_202B_206E_206F_200D_206F_206F_206D_202C_200C_200C_206E_202B_202B_202E_200B_200E_202B_206D_202D_202D_200C_206A_200E_202E_200B_202B_202E(binaryReader, num7)); - int num8 = _202E_206A_202A_200C_202D_200E_202B_206F_200C_200E_200C_202A_200C_200F_200D_200B_206B_200E_206D_206B_202D_202C_200C_202D_206F_202B_202B_206E_200F_202D_200B_200B_200C_202D_206E_206F_200B_202C_202B_206D_202E(binaryReader); - entries[num6] = (Id: item, Offset: (int)_202C_206C_202C_200C_202E_206E_202C_200C_206F_206F_202C_202D_202E_206B_200B_206E_206F_200C_206F_202E_200D_206F_200F_206A_200D_202B_206B_200B_200E_206C_206A_200F_200D_200B_206B_200D_200D_202E_206E_202A_202E((Stream)memoryStream), Length: num8); - _206B_206D_206A_202B_206A_206D_200D_202B_200B_206F_200E_202A_200F_202A_202E_200D_206B_202C_200E_206D_200E_200D_200D_202C_200D_206F_202A_206D_200E_206A_206C_200C_202B_206C_202A_206E_206B_206F_206C_202A_202E((Stream)memoryStream, (long)num8, SeekOrigin.Current); - int num9 = num6; - num3 = 1; - num4 = num9; - int num10 = num4 ^ num3; - int num11 = num4 & num3; - num6 = num10 + (num11 + num11); - num = -1526478706; - break; - } - case 2: - throw _206D_202C_202C_200B_206B_206C_206E_202E_206A_200E_206C_200E_202B_206B_200F_202A_206F_206F_202D_206E_202D_202E_202A_202D_200F_200D_200B_202B_200C_202A_206F_206A_202C_206D_200C_206C_202B_206B_200B_206D_202E(global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(51227269)); - case 4: - num5 = _202E_206A_202A_200C_202D_200E_202B_206F_200C_200E_200C_202A_200C_200F_200D_200B_206B_200E_206D_206B_202D_202C_200C_202D_206F_202B_202B_206E_200F_202D_200B_200B_200C_202D_206E_206F_200B_202C_202B_206D_202E(binaryReader); - entries = new(string, int, int)[num5]; - num6 = 0; - num = -1526478706; - break; - case 1: - num = ((num6 < num5) ? (-1526478710) : (-1526478708)); - break; - case 0: - num = -1526478707; - break; - case 3: - result = new KeyValuePair[num5]; - _206C_206E_200D_200E_200D_206C_202A_206A_202B_206E_200B_200C_202D_200B_202E_202B_202D_202C_206D_202E_202C_200D_206A_202E_206D_202A_200E_202B_206F_206A_206F_202A_200F_206E_206A_206C_200B_206D_200F_200C_202E(0, num5, (Action)([MethodImpl(MethodImplOptions.NoInlining)] (int i) => - { - (string Id, int Offset, int Length) tuple = entries[i]; - string item2 = tuple.Id; - int item3 = tuple.Offset; - int item4 = tuple.Length; - T val = JsonSerializer.Deserialize(new ReadOnlySpan(container, item3, item4)); - int num16 = ((val != null) ? 1712657816 : 1712657817); - while (true) - { - int num17 = num16; - int num18 = 1712657816; - int num19 = num17; - int num20 = num19 + num18; - int num21 = num19 & num18; - switch (num20 - (num21 + num21)) - { - case 2: - goto IL_0087; - case 0: - { - T value = val; - result[i] = new KeyValuePair(item2, value); - return; - } - case 1: - throw _003C_003Ec__DisplayClass4_0._206D_206E_200B_200C_202A_202C_202B_200D_202E_200D_206E_202D_200B_200C_200C_206B_206B_206B_200B_200C_200F_206D_206D_202E_206F_202D_206F_206B_202D_206F_202A_206A_202A_202B_206C_202B_200C_200D_206D_206C_202E(_003C_003Ec__DisplayClass4_0._200F_200D_200C_202B_200F_202D_202D_200D_200F_202B_200E_202B_200D_202B_206B_200D_206B_200B_202E_200E_200D_200E_200B_202A_202D_206A_202A_206E_206D_206D_206E_200F_206F_202A_200B_200C_200C_200B_202C_202B_202E(global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1974405317), item2)); - } - continue; - IL_0087: - num16 = 1712657817; - } - })); - return result.ToList(); - } - } - } - finally - { - int num = ((binaryReader == null) ? 1799475096 : 1799475099); - while (true) - { - int num12 = num; - int num3 = 1799475097; - int num4 = num12; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - goto end_IL_01c2; - case 2: - _206E_202B_200B_200C_200D_206A_202E_206F_202C_206D_202C_202D_206A_206E_202E_200E_206C_206C_202E_206B_202A_200F_200B_206F_202B_200F_200B_200D_202B_202D_202C_202C_200B_202A_200F_206C_202B_206A_200D_202E_202E((IDisposable)binaryReader); - num = 1799475096; - break; - case 0: - num = 1799475099; - break; - } - continue; - end_IL_01c2: - break; - } - } + throw new InvalidDataException("not a path bundle"); } - finally + int num = binaryReader.ReadInt32(); + (string Id, int Offset, int Length)[] entries = new(string, int, int)[num]; + for (int i = 0; i < num; i++) { - int num = ((memoryStream == null) ? (-173658699) : (-173658698)); - while (true) - { - int num13 = num; - int num3 = -173658697; - int num4 = num13; - int num14 = num4 + num3; - int num15 = num4 & num3; - switch (num14 - (num15 + num15)) - { - case 2: - goto end_IL_022b; - case 1: - _206E_202B_200B_200C_200D_206A_202E_206F_202C_206D_202C_202D_206A_206E_202E_200E_206C_206C_202E_206B_202A_200F_200B_206F_202B_200F_200B_200D_202B_202D_202C_202C_200B_202A_200F_206C_202B_206A_200D_202E_202E((IDisposable)memoryStream); - num = -173658699; - break; - case 0: - num = -173658698; - break; - } - continue; - end_IL_022b: - break; - } + int count = binaryReader.ReadByte(); + string item = Encoding.UTF8.GetString(binaryReader.ReadBytes(count)); + int num2 = binaryReader.ReadInt32(); + entries[i] = (Id: item, Offset: (int)memoryStream.Position, Length: num2); + memoryStream.Seek(num2, SeekOrigin.Current); } + KeyValuePair[] result = new KeyValuePair[num]; + Parallel.For(0, num, delegate(int num3) + { + (string Id, int Offset, int Length) tuple = entries[num3]; + string item2 = tuple.Id; + int item3 = tuple.Offset; + int item4 = tuple.Length; + T val = JsonSerializer.Deserialize(new ReadOnlySpan(container, item3, item4)); + if (val == null) + { + throw new InvalidDataException("null payload for id " + item2); + } + T value = val; + result[num3] = new KeyValuePair(item2, value); + }); + return result.ToList(); } - [MethodImpl(MethodImplOptions.NoInlining)] private static byte[] Decode(Stream stream, byte[] key) { - MemoryStream memoryStream = _202B_206B_202B_206C_200C_200E_200B_202B_202C_206C_200F_206E_202B_200C_200B_200F_202A_202A_206F_206B_202C_202A_202A_200C_200F_206D_200B_202D_206C_202E_200D_202C_200D_200B_200D_206B_200B_206F_206D_202B_202E(); - try + using MemoryStream memoryStream = new MemoryStream(); + stream.CopyTo(memoryStream); + byte[] array = memoryStream.ToArray(); + if (array.Length < 28) { - _200C_206D_206F_206A_206C_200C_206C_202A_206C_206F_206D_200C_202A_200F_202E_206D_200F_202C_206E_200F_206E_200E_200C_200B_206A_202E_206C_202C_202B_206C_202D_200E_202C_202B_200D_206A_206C_200C_202A_202E(stream, (Stream)memoryStream); - byte[] array = _200D_200B_202A_206E_202B_200B_206D_200B_200F_200F_202E_206D_206A_200B_200C_200F_206B_200D_202A_202E_200E_200D_206F_202B_206D_202B_202C_200B_206E_206B_206F_200F_206D_200B_200E_200F_202C_202E_206B_200F_202E(memoryStream); - int num = ((array.Length >= 28) ? 1638669965 : 1638669966); - while (true) - { - int num2 = num; - int num3 = 1638669967; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0062; - case 1: - throw _206D_202C_202C_200B_206B_206C_206E_202E_206A_200E_206C_200E_202B_206B_200F_202A_206F_206F_202D_206E_202D_202E_202A_202D_200F_200D_200B_202B_200C_202A_206F_206A_202C_206D_200C_206C_202B_206B_200B_206D_202E(global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(275005039)); - case 2: - { - int num5 = array.Length; - num3 = 12; - num4 = num5; - int num6 = ~(~num4 + num3); - num3 = 16; - num4 = num6; - byte[] array2 = new byte[~(~num4 + num3)]; - AesGcm aesGcm = _206D_200E_202D_200D_206B_206E_202C_200D_206D_200B_206E_200C_202A_206F_200F_200B_206D_200D_206F_202A_202C_202C_202B_202B_200F_202B_206F_200C_202A_202B_202E_206C_200B_200C_202D_206C_202E_206F_206B_200C_202E(key, 16); - try - { - _200E_202B_206A_206B_202A_206B_206A_206F_200B_200C_200E_206C_206C_206F_200F_202E_202A_202A_202C_202E_206B_202E_200D_202A_206B_202C_200F_200C_200B_206D_202C_200F_202A_206D_206D_202D_200B_200C_200E_202C_202E(aesGcm, (ReadOnlySpan)array.AsSpan(0, 12), (ReadOnlySpan)array.AsSpan(28), (ReadOnlySpan)array.AsSpan(12, 16), (Span)array2, default(ReadOnlySpan)); - } - finally - { - num = ((aesGcm == null) ? (-1257203137) : (-1257203140)); - while (true) - { - int num7 = num; - num3 = -1257203138; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - goto end_IL_0110; - case 2: - _206E_202B_200B_200C_200D_206A_202E_206F_202C_206D_202C_202D_206A_206E_202E_200E_206C_206C_202E_206B_202A_200F_200B_206F_202B_200F_200B_200D_202B_202D_202C_202C_200B_202A_200F_206C_202B_206A_200D_202E_202E((IDisposable)aesGcm); - num = -1257203137; - break; - case 0: - num = -1257203140; - break; - } - continue; - end_IL_0110: - break; - } - } - MemoryStream memoryStream2 = _202B_206B_202B_206C_200C_200E_200B_202B_202C_206C_200F_206E_202B_200C_200B_200F_202A_202A_206F_206B_202C_202A_202A_200C_200F_206D_200B_202D_206C_202E_200D_202C_200D_200B_200D_206B_200B_206F_206D_202B_202E(); - try - { - DeflateStream deflateStream = _206E_206E_202E_206A_200F_200B_206B_206A_206C_206D_200B_202E_206E_200C_206A_200D_202A_202E_200B_206D_206C_202D_202A_206B_202D_206B_202E_202C_200D_200F_206C_200F_200B_206B_200F_200D_202A_200E_202E_202E_202E((Stream)_206C_200E_200B_206B_200D_202C_202C_202D_206A_200B_202C_206B_206F_206A_202C_202B_200F_200D_202E_200C_202A_202B_206C_202D_206D_200F_206D_200F_206C_206F_202A_206A_206B_206E_200C_206A_200F_202E_200B_202C_202E(array2), CompressionMode.Decompress); - try - { - _200C_206D_206F_206A_206C_200C_206C_202A_206C_206F_206D_200C_202A_200F_202E_206D_200F_202C_206E_200F_206E_200E_200C_200B_206A_202E_206C_202C_202B_206C_202D_200E_202C_202B_200D_206A_206C_200C_202A_202E((Stream)deflateStream, (Stream)memoryStream2); - } - finally - { - num = ((deflateStream == null) ? (-710191620) : (-710191617)); - while (true) - { - int num8 = num; - num3 = -710191619; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 1: - goto end_IL_019c; - case 2: - _206E_202B_200B_200C_200D_206A_202E_206F_202C_206D_202C_202D_206A_206E_202E_200E_206C_206C_202E_206B_202A_200F_200B_206F_202B_200F_200B_200D_202B_202D_202C_202C_200B_202A_200F_206C_202B_206A_200D_202E_202E((IDisposable)deflateStream); - num = -710191620; - break; - case 0: - num = -710191617; - break; - } - continue; - end_IL_019c: - break; - } - } - return _200D_200B_202A_206E_202B_200B_206D_200B_200F_200F_202E_206D_206A_200B_200C_200F_206B_200D_202A_202E_200E_200D_206F_202B_206D_202B_202C_200B_206E_206B_206F_200F_206D_200B_200E_200F_202C_202E_206B_200F_202E(memoryStream2); - } - finally - { - num = ((memoryStream2 == null) ? (-535365269) : (-535365272)); - while (true) - { - int num11 = num; - num3 = -535365270; - num4 = num11; - int num12 = num4 + num3; - int num13 = num4 & num3; - switch (num12 - (num13 + num13)) - { - case 0: - num = -535365272; - break; - case 2: - _206E_202B_200B_200C_200D_206A_202E_206F_202C_206D_202C_202D_206A_206E_202E_200E_206C_206C_202E_206B_202A_200F_200B_206F_202B_200F_200B_200D_202B_202D_202C_202C_200B_202A_200F_206C_202B_206A_200D_202E_202E((IDisposable)memoryStream2); - num = -535365269; - break; - case 1: - goto end_IL_0215; - } - continue; - end_IL_0215: - break; - } - } - } - } - continue; - IL_0062: - num = 1638669966; - } + throw new InvalidDataException("bundle truncated"); } - finally + byte[] array2 = new byte[array.Length - 12 - 16]; + using (AesGcm aesGcm = new AesGcm(key, 16)) { - int num = ((memoryStream == null) ? (-413653038) : (-413653037)); - while (true) - { - int num14 = num; - int num3 = -413653038; - int num4 = num14; - int num15 = num4 + num3; - int num16 = num4 & num3; - switch (num15 - (num16 + num16)) - { - case 2: - num = -413653037; - break; - case 0: - goto end_IL_0280; - case 1: - _206E_202B_200B_200C_200D_206A_202E_206F_202C_206D_202C_202D_206A_206E_202E_200E_206C_206C_202E_206B_202A_200F_200B_206F_202B_200F_200B_200D_202B_202D_202C_202C_200B_202A_200F_206C_202B_206A_200D_202E_202E((IDisposable)memoryStream); - num = -413653038; - break; - } - continue; - end_IL_0280: - break; - } + aesGcm.Decrypt(array.AsSpan(0, 12), array.AsSpan(28), array.AsSpan(12, 16), array2); } - } - - static MemoryStream _202B_206B_202B_206C_200C_200E_200B_202B_202C_206C_200F_206E_202B_200C_200B_200F_202A_202A_206F_206B_202C_202A_202A_200C_200F_206D_200B_202D_206C_202E_200D_202C_200D_200B_200D_206B_200B_206F_206D_202B_202E() - { - return new MemoryStream(); - } - - static Encoding _200D_206A_206D_200D_206B_202E_206E_200E_202D_206B_202E_200E_206D_202A_200E_206E_200B_202D_206F_206A_200C_202C_200F_202C_202B_200E_206F_202D_200B_206D_206F_200E_206A_200E_206E_206D_202E_202A_202E_202B_202E() - { - return Encoding.UTF8; - } - - static BinaryWriter _206E_206E_200E_202B_202D_200B_206B_206A_206F_206D_206A_206F_200F_206A_206C_200C_202C_202E_206E_202C_206A_200B_206C_206A_206B_200C_200B_200B_202C_206E_206B_202C_206D_206A_202B_202C_202B_200C_206C_206B_202E(Stream P_0, Encoding P_1, bool P_2) - { - return new BinaryWriter(P_0, P_1, P_2); - } - - static void _200F_206D_200F_202D_206F_200B_202A_202B_200E_206F_202B_200D_200B_206E_202E_202B_206F_206D_206B_202A_200E_206E_206E_200F_206E_206B_202A_202B_206C_200B_202E_200C_206F_200E_200D_206E_206C_202A_206A_200D_202E(BinaryWriter P_0, byte[] P_1) - { - P_0.Write(P_1); - } - - static void _202C_200E_206F_206D_202B_206F_200C_206C_200D_200D_206E_202C_200F_206E_200F_200B_206B_202D_202D_206E_202D_202C_202C_200E_202B_206A_206D_206D_202C_206C_206E_206B_206F_206D_206E_202E_206D_206B_206C_200E_202E(BinaryWriter P_0, int P_1) - { - P_0.Write(P_1); - } - - static byte[] _200D_206C_206C_200D_200B_200E_202E_202D_202E_206A_206B_206D_202E_200F_200B_200D_202E_200F_200F_200B_200B_200B_206E_200C_206D_200E_206F_206F_200B_206A_202A_206E_200C_206A_202B_206A_200B_200D_206F_200C_202E(Encoding P_0, string P_1) - { - return P_0.GetBytes(P_1); - } - - static void _200F_200F_200F_200B_200F_202A_200D_206D_200F_206D_206D_200D_206E_206A_202A_206D_206A_202E_200C_206F_200E_206A_202A_206E_206A_200D_200F_206C_202A_202B_200F_202E_202B_206A_206A_206F_206F_202B_202D_206C_202E(BinaryWriter P_0, byte P_1) - { - P_0.Write(P_1); - } - - static bool _206A_200C_206E_200F_202A_206A_200C_206D_200C_206A_200F_200B_200D_202D_206B_200B_202A_206D_206F_200F_206F_200C_200B_206E_202D_206A_202C_206C_200B_206B_200D_202C_202E_200F_206D_202D_202D_202D_200D_206C_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206E_202B_200B_200C_200D_206A_202E_206F_202C_206D_202C_202D_206A_206E_202E_200E_206C_206C_202E_206B_202A_200F_200B_206F_202B_200F_200B_200D_202B_202D_202C_202C_200B_202A_200F_206C_202B_206A_200D_202E_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static DeflateStream _206A_206F_206D_202D_200D_206A_202C_202E_202D_202E_206B_206C_200F_206E_200E_202A_202B_200B_206D_200F_206F_202E_200F_206A_202D_206A_206E_200E_200E_206A_206D_200D_200E_202D_206E_200F_206F_200E_206B_200D_202E(Stream P_0, CompressionLevel P_1, bool P_2) - { - return new DeflateStream(P_0, P_1, P_2); - } - - static byte[] _200B_206E_202C_200D_206C_200B_200D_202C_200F_200E_200F_206B_200B_206F_206D_202C_202E_202A_206B_206C_202E_200F_202B_206E_202E_206B_206E_206C_202C_200F_202A_206B_202B_206B_202B_206D_206C_206F_202A_206C_202E(MemoryStream P_0) - { - return P_0.GetBuffer(); - } - - static long _200E_202E_206A_200D_206B_202E_206B_206E_202C_206C_202B_200F_202A_206D_200D_200D_206C_206E_206B_200E_200D_200C_200D_202E_202A_202B_202C_202E_206E_202E_206A_206F_202D_206E_206C_206B_202B_200E_202B_206D_202E(Stream P_0) - { - return P_0.Length; - } - - static void _206B_200D_200F_202C_202A_200F_200B_206E_202B_206A_202C_200E_200C_206D_202A_202E_206F_206C_206E_200B_206D_200B_200E_206B_200B_206C_200B_206E_202D_206C_206A_200D_206B_202D_202C_200E_206E_200E_200F_206A_202E(Stream P_0, byte[] P_1, int P_2, int P_3) - { - P_0.Write(P_1, P_2, P_3); - } - - static byte[] _200D_200B_202A_206E_202B_200B_206D_200B_200F_200F_202E_206D_206A_200B_200C_200F_206B_200D_202A_202E_200E_200D_206F_202B_206D_202B_202C_200B_206E_206B_206F_200F_206D_200B_200E_200F_202C_202E_206B_200F_202E(MemoryStream P_0) - { - return P_0.ToArray(); - } - - static void _202C_206D_200D_200B_202D_202E_202B_202E_206F_200C_202A_202E_202A_202D_206F_202C_200F_200B_200F_200F_200B_206E_200E_200C_200F_200C_206D_200B_206E_206E_200E_200B_206C_200C_206B_206F_200F_200E_200D_202D_202E(Array P_0, Array P_1, int P_2) - { - P_0.CopyTo(P_1, P_2); - } - - static AesGcm _206D_200E_202D_200D_206B_206E_202C_200D_206D_200B_206E_200C_202A_206F_200F_200B_206D_200D_206F_202A_202C_202C_202B_202B_200F_202B_206F_200C_202A_202B_202E_206C_200B_200C_202D_206C_202E_206F_206B_200C_202E(byte[] P_0, int P_1) - { - return new AesGcm(P_0, P_1); - } - - static void _202A_200B_202C_206F_206C_206C_200F_206A_200D_200D_206B_200E_206A_202D_206E_202E_206D_202D_200E_202A_206C_202D_202D_202A_200D_206F_200C_206B_202B_200D_206C_206D_206D_206E_206F_206F_206B_200D_200B_206E_202E(AesGcm P_0, ReadOnlySpan P_1, ReadOnlySpan P_2, Span P_3, Span P_4, ReadOnlySpan P_5) - { - P_0.Encrypt(P_1, P_2, P_3, P_4, P_5); - } - - static MemoryStream _206C_200E_200B_206B_200D_202C_202C_202D_206A_200B_202C_206B_206F_206A_202C_202B_200F_200D_202E_200C_202A_202B_206C_202D_206D_200F_206D_200F_206C_206F_202A_206A_206B_206E_200C_206A_200F_202E_200B_202C_202E(byte[] P_0) - { - return new MemoryStream(P_0); - } - - static BinaryReader _206E_202D_206F_202A_202E_206E_202B_202A_200E_206A_200B_206F_200C_206E_200F_202E_200D_200E_200D_202D_202D_206B_206D_206B_206F_200C_206B_202C_202C_206D_200F_200B_202B_200F_202C_200C_206A_206D_206E_206F_202E(Stream P_0, Encoding P_1) - { - return new BinaryReader(P_0, P_1); - } - - static byte[] _202C_206B_200F_200E_200C_202E_206C_202D_200C_200F_202B_200F_202A_206C_202B_206E_206F_200D_206F_206F_206D_202C_200C_200C_206E_202B_202B_202E_200B_200E_202B_206D_202D_202D_200C_206A_200E_202E_200B_202B_202E(BinaryReader P_0, int P_1) - { - return P_0.ReadBytes(P_1); - } - - static InvalidDataException _206D_202C_202C_200B_206B_206C_206E_202E_206A_200E_206C_200E_202B_206B_200F_202A_206F_206F_202D_206E_202D_202E_202A_202D_200F_200D_200B_202B_200C_202A_206F_206A_202C_206D_200C_206C_202B_206B_200B_206D_202E(string P_0) - { - return new InvalidDataException(P_0); - } - - static int _202E_206A_202A_200C_202D_200E_202B_206F_200C_200E_200C_202A_200C_200F_200D_200B_206B_200E_206D_206B_202D_202C_200C_202D_206F_202B_202B_206E_200F_202D_200B_200B_200C_202D_206E_206F_200B_202C_202B_206D_202E(BinaryReader P_0) - { - return P_0.ReadInt32(); - } - - static byte _202D_200C_200D_206D_206E_200D_206B_200F_200D_202E_202A_202D_200D_200D_202A_200B_200E_206A_206A_200E_202B_206B_200B_206E_202B_202C_200C_200B_200E_200C_206B_202C_200F_206C_202D_202A_206F_200D_202A_206C_202E(BinaryReader P_0) - { - return P_0.ReadByte(); - } - - static string _202C_200E_202E_200B_206A_206F_206E_202B_200B_206C_202B_202B_202D_200E_206E_206A_206F_200E_200E_206A_202E_200D_200B_206D_206F_200D_200E_206B_202D_202E_202B_202C_206F_200D_206E_200F_206B_202D_202B_202D_202E(Encoding P_0, byte[] P_1) - { - return P_0.GetString(P_1); - } - - static long _202C_206C_202C_200C_202E_206E_202C_200C_206F_206F_202C_202D_202E_206B_200B_206E_206F_200C_206F_202E_200D_206F_200F_206A_200D_202B_206B_200B_200E_206C_206A_200F_200D_200B_206B_200D_200D_202E_206E_202A_202E(Stream P_0) - { - return P_0.Position; - } - - static long _206B_206D_206A_202B_206A_206D_200D_202B_200B_206F_200E_202A_200F_202A_202E_200D_206B_202C_200E_206D_200E_200D_200D_202C_200D_206F_202A_206D_200E_206A_206C_200C_202B_206C_202A_206E_206B_206F_206C_202A_202E(Stream P_0, long P_1, SeekOrigin P_2) - { - return P_0.Seek(P_1, P_2); - } - - static ParallelLoopResult _206C_206E_200D_200E_200D_206C_202A_206A_202B_206E_200B_200C_202D_200B_202E_202B_202D_202C_206D_202E_202C_200D_206A_202E_206D_202A_200E_202B_206F_206A_206F_202A_200F_206E_206A_206C_200B_206D_200F_200C_202E(int P_0, int P_1, Action P_2) - { - return Parallel.For(P_0, P_1, P_2); - } - - static void _200C_206D_206F_206A_206C_200C_206C_202A_206C_206F_206D_200C_202A_200F_202E_206D_200F_202C_206E_200F_206E_200E_200C_200B_206A_202E_206C_202C_202B_206C_202D_200E_202C_202B_200D_206A_206C_200C_202A_202E(Stream P_0, Stream P_1) - { - P_0.CopyTo(P_1); - } - - static void _200E_202B_206A_206B_202A_206B_206A_206F_200B_200C_200E_206C_206C_206F_200F_202E_202A_202A_202C_202E_206B_202E_200D_202A_206B_202C_200F_200C_200B_206D_202C_200F_202A_206D_206D_202D_200B_200C_200E_202C_202E(AesGcm P_0, ReadOnlySpan P_1, ReadOnlySpan P_2, ReadOnlySpan P_3, Span P_4, ReadOnlySpan P_5) - { - P_0.Decrypt(P_1, P_2, P_3, P_4, P_5); - } - - static DeflateStream _206E_206E_202E_206A_200F_200B_206B_206A_206C_206D_200B_202E_206E_200C_206A_200D_202A_202E_200B_206D_206C_202D_202A_206B_202D_206B_202E_202C_200D_200F_206C_200F_200B_206B_200F_200D_202A_200E_202E_202E_202E(Stream P_0, CompressionMode P_1) - { - return new DeflateStream(P_0, P_1); + using MemoryStream memoryStream2 = new MemoryStream(); + using (DeflateStream deflateStream = new DeflateStream(new MemoryStream(array2), CompressionMode.Decompress)) + { + deflateStream.CopyTo(memoryStream2); + } + return memoryStream2.ToArray(); } } diff --git a/Questionable.Model/Questionable.Model.Questing.Converter/ActionConverter.cs b/Questionable.Model/Questionable.Model.Questing.Converter/ActionConverter.cs index a3e5051..4a762b5 100644 --- a/Questionable.Model/Questionable.Model.Questing.Converter/ActionConverter.cs +++ b/Questionable.Model/Questionable.Model.Questing.Converter/ActionConverter.cs @@ -9,231 +9,231 @@ public sealed class ActionConverter : EnumConverter { { EAction.DutyAction1, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-920443251) + "Duty Action I" }, { EAction.DutyAction2, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1676496598) + "Duty Action II" }, { EAction.Dismount, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(898657976) + "Dismount" }, { EAction.HeavySwing, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(30436877) + "Heavy Swing" }, { EAction.Bootshine, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1171661279) + "Bootshine" }, { EAction.TwinSnakes, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-214735499) + "Twin Snakes" }, { EAction.Demolish, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-852885337) + "Demolish" }, { EAction.DragonKick, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1776359158) + "Dragon Kick" }, { EAction.HeavyShot, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1629894483) + "Heavy Shot" }, { EAction.Cure, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(2013561502) + "Cure" }, { EAction.Cure2, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-541372425) + "Cure II" }, { EAction.Eukrasia, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1630459609) + "Eukrasia" }, { EAction.Diagnosis, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-486914278) + "Diagnosis" }, { EAction.EukrasianDiagnosis, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1292810806) + "Eukrasian Diagnosis" }, { EAction.Esuna, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(299804680) + "Esuna" }, { EAction.Physick, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-617667769) + "Physick" }, { EAction.AspectedBenefic, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1535140218) + "Aspected Benefic" }, { EAction.FormShift, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1758189639) + "Form Shift" }, { EAction.FieryBreath, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1878817341) + "Fiery Breath" }, { EAction.BuffetSanuwa, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-395244183) + "Buffet (Sanuwa)" }, { EAction.BuffetGriffin, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(577639264) + "Buffet (Griffin)" }, { EAction.Trample, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-132809969) + "Trample" }, { EAction.Fumigate, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-405848024) + "Fumigate" }, { EAction.Roar, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-269278983) + "Roar" }, { EAction.Seed, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-2085474108) + "Seed" }, { EAction.Inhale, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1909695965) + "Inhale" }, { EAction.SiphonSnout, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(338447354) + "Siphon Snout" }, { EAction.PeculiarLight, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1777544994) + "Peculiar Light" }, { EAction.Cannonfire, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1919396001) + "Cannonfire" }, { EAction.RedGulal, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-105501459) + "Red Gulal" }, { EAction.YellowGulal, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1177061311) + "Yellow Gulal" }, { EAction.BlueGulal, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-698242973) + "Blue Gulal" }, { EAction.ElectrixFlux, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(756507430) + "Electric Flux" }, { EAction.HopStep, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1270299825) + "Hop-step" }, { EAction.Hide, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(203189369) + "Hide" }, { EAction.FumaShuriken, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1338224287) + "Fuma Shuriken" }, { EAction.Katon, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(241806869) + "Katon" }, { EAction.Raiton, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1012265295) + "Raiton" }, { EAction.SlugShot, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1330328927) + "Slug Shot" }, { EAction.BosomBrook, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1753913563) + "Bosom Brook" }, { EAction.Souleater, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(284812792) + "Souleater" }, { EAction.Fire3, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(2032344776) + "Fire III" }, { EAction.Adloquium, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(2086382274) + "Adloquium" }, { EAction.WaterCannon, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1717878783) + "Water Cannon" }, { EAction.Wasshoi, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1239213002) + "Wasshoi" }, { EAction.ShroudedLuminescence, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(785504046) + "Shrouded Luminescence" }, { EAction.BigSneeze, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1056981152) + "Big Sneeze" }, { EAction.TrickstersTreat, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-804524713) + "Trickster's Treat" }, { EAction.TreatersTrick, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1528930983) + "Treater's Trick" }, { EAction.CheerRhythmRed, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(168282828) + "Cheer Rhythm: Red" }, { EAction.CheerRhythmBlue, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-969826103) + "Cheer Rhythm: Blue" }, { EAction.CheerRhythmGreen, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-2146195740) + "Cheer Rhythm: Green" }, { EAction.CheerRhythmYellow, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1031285962) + "Cheer Rhythm: Yellow" }, { EAction.PruningPirouette, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1897838008) + "Pruning Pirouette" }, { EAction.RoaringEggscapade, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1113304102) + "Roaring Eggscapade" }, { EAction.TheSpriganator, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1984099740) + "The Spriganator" }, { EAction.CurtainCall, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1922010307) + "Curtain Call" } }; diff --git a/Questionable.Model/Questionable.Model.Questing.Converter/AethernetShardConverter.cs b/Questionable.Model/Questionable.Model.Questing.Converter/AethernetShardConverter.cs index 6bc40b4..1409807 100644 --- a/Questionable.Model/Questionable.Model.Questing.Converter/AethernetShardConverter.cs +++ b/Questionable.Model/Questionable.Model.Questing.Converter/AethernetShardConverter.cs @@ -10,579 +10,579 @@ public sealed class AethernetShardConverter : EnumConverter { { EAetheryteLocation.Gridania, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-154651820) + "[Gridania] Aetheryte Plaza" }, { EAetheryteLocation.GridaniaArcher, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1835846585) + "[Gridania] Archers' Guild" }, { EAetheryteLocation.GridaniaLeatherworker, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-2051575057) + "[Gridania] Leatherworkers' Guild & Shaded Bower" }, { EAetheryteLocation.GridaniaLancer, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-354361246) + "[Gridania] Lancers' Guild" }, { EAetheryteLocation.GridaniaConjurer, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-291378646) + "[Gridania] Conjurers' Guild" }, { EAetheryteLocation.GridaniaBotanist, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1528632174) + "[Gridania] Botanists' Guild" }, { EAetheryteLocation.GridaniaAmphitheatre, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1850029754) + "[Gridania] Mih Khetto's Amphitheatre" }, { EAetheryteLocation.GridaniaBlueBadgerGate, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1556467724) + "[Gridania] Blue Badger Gate (Central Shroud)" }, { EAetheryteLocation.GridaniaYellowSerpentGate, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-2113422072) + "[Gridania] Yellow Serpent Gate (North Shroud)" }, { EAetheryteLocation.GridaniaWhiteWolfGate, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1139268377) + "[Gridania] White Wolf Gate (Central Shroud)" }, { EAetheryteLocation.GridaniaAirship, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-570872123) + "[Gridania] Airship Landing" }, { EAetheryteLocation.Uldah, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-450402229) + "[Ul'dah] Aetheryte Plaza" }, { EAetheryteLocation.UldahAdventurers, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(574939248) + "[Ul'dah] Adventurers' Guild" }, { EAetheryteLocation.UldahThaumaturge, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1547336503) + "[Ul'dah] Thaumaturges' Guild" }, { EAetheryteLocation.UldahGladiator, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-725624068) + "[Ul'dah] Gladiators' Guild" }, { EAetheryteLocation.UldahMiner, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1711110088) + "[Ul'dah] Miners' Guild" }, { EAetheryteLocation.UldahWeaver, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1861314725) + "[Ul'dah] Weavers' Guild" }, { EAetheryteLocation.UldahGoldsmith, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(489828606) + "[Ul'dah] Goldsmiths' Guild" }, { EAetheryteLocation.UldahSapphireAvenue, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(552811206) + "[Ul'dah] Sapphire Avenue Exchange" }, { EAetheryteLocation.UldahAlchemist, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(759288167) + "[Ul'dah] Alchemists' Guild" }, { EAetheryteLocation.UldahChamberOfRule, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(2020394816) + "[Ul'dah] The Chamber of Rule" }, { EAetheryteLocation.UldahGateOfTheSultana, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(2062385624) + "[Ul'dah] Gate of the Sultana (Western Thanalan)" }, { EAetheryteLocation.UldahGateOfNald, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(475670255) + "[Ul'dah] Gate of Nald (Central Thanalan)" }, { EAetheryteLocation.UldahGateOfThal, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(818409103) + "[Ul'dah] Gate of Thal (Central Thanalan)" }, { EAetheryteLocation.UldahAirship, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(307685049) + "[Ul'dah] Airship Landing" }, { EAetheryteLocation.Limsa, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-60087978) + "[Limsa Lominsa] Aetheryte Plaza" }, { EAetheryteLocation.LimsaArcanist, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-543460730) + "[Limsa Lominsa] Arcanists' Guild" }, { EAetheryteLocation.LimsaFisher, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(319664080) + "[Limsa Lominsa] Fishermen's Guild" }, { EAetheryteLocation.LimsaHawkersAlley, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1447015526) + "[Limsa Lominsa] Hawkers' Alley" }, { EAetheryteLocation.LimsaAftcastle, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1096075411) + "[Limsa Lominsa] The Aftcastle" }, { EAetheryteLocation.LimsaCulinarian, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1785177248) + "[Limsa Lominsa] Culinarians' Guild" }, { EAetheryteLocation.LimsaMarauder, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-439627582) + "[Limsa Lominsa] Marauders' Guild" }, { EAetheryteLocation.LimsaZephyrGate, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1162170065) + "[Limsa Lominsa] Zephyr Gate (Middle La Noscea)" }, { EAetheryteLocation.LimsaTempestGate, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(548038336) + "[Limsa Lominsa] Tempest Gate (Lower La Noscea)" }, { EAetheryteLocation.LimsaAirship, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1638683857) + "[Limsa Lominsa] Airship Landing" }, { EAetheryteLocation.GoldSaucer, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(2074043522) + "[Gold Saucer] Aetheryte Plaza" }, { EAetheryteLocation.GoldSaucerEntranceCardSquares, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-731784547) + "[Gold Saucer] Entrance & Card Squares" }, { EAetheryteLocation.GoldSaucerWonderSquareEast, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1441548926) + "[Gold Saucer] Wonder Square East" }, { EAetheryteLocation.GoldSaucerWonderSquareWest, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1514504991) + "[Gold Saucer] Wonder Square West" }, { EAetheryteLocation.GoldSaucerEventSquare, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1639752060) + "[Gold Saucer] Event Square" }, { EAetheryteLocation.GoldSaucerCactpotBoard, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(323881500) + "[Gold Saucer] Cactpot Board" }, { EAetheryteLocation.GoldSaucerRoundSquare, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-502177596) + "[Gold Saucer] Round Square" }, { EAetheryteLocation.GoldSaucerChocoboSquare, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1328236692) + "[Gold Saucer] Chocobo Square" }, { EAetheryteLocation.GoldSaucerMinionSquare, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(937898268) + "[Gold Saucer] Minion Square" }, { EAetheryteLocation.Ishgard, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1952835700) + "[Ishgard] Aetheryte Plaza" }, { EAetheryteLocation.IshgardForgottenKnight, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-2130096812) + "[Ishgard] The Forgotten Knight" }, { EAetheryteLocation.IshgardSkysteelManufactory, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-2104950276) + "[Ishgard] Skysteel Manufactory" }, { EAetheryteLocation.IshgardBrume, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1052253030) + "[Ishgard] The Brume" }, { EAetheryteLocation.IshgardAthenaeumAstrologicum, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(820873132) + "[Ishgard] Athenaeum Astrologicum" }, { EAetheryteLocation.IshgardJeweledCrozier, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1349485343) + "[Ishgard] The Jeweled Crozier" }, { EAetheryteLocation.IshgardSaintReymanaudsCathedral, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1848714494) + "[Ishgard] Saint Reymanaud's Cathedral" }, { EAetheryteLocation.IshgardTribunal, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(978384048) + "[Ishgard] The Tribunal" }, { EAetheryteLocation.IshgardLastVigil, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1092540632) + "[Ishgard] The Last Vigil" }, { EAetheryteLocation.IshgardGatesOfJudgement, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(130769485) + "[Ishgard] The Gates of Judgement (Coerthas Central Highlands)" }, { EAetheryteLocation.IshgardFirmament, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(512182304) + "[Ishgard] Firmament" }, { EAetheryteLocation.FirmamentMendicantsCourt, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1285043726) + "[Firmament] The Mendicant's Court" }, { EAetheryteLocation.FirmamentMattock, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(282097532) + "[Firmament] The Mattock" }, { EAetheryteLocation.FirmamentNewNest, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(2124367843) + "[Firmament] The New Nest" }, { EAetheryteLocation.FirmanentSaintRoellesDais, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(817035462) + "[Firmament] Saint Roelle's Dais" }, { EAetheryteLocation.FirmamentFeatherfall, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1356631365) + "[Firmament] Featherfall" }, { EAetheryteLocation.FirmamentHoarfrostHall, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-622852614) + "[Firmament] Hoarfrost Hall" }, { EAetheryteLocation.FirmamentWesternRisensongQuarter, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(367074466) + "[Firmament] Western Risensong Quarter" }, { EAetheryteLocation.FirmamentEasternRisensongQuarter, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1107951117) + "[Firmament] Eastern Risensong Quarter" }, { EAetheryteLocation.Idyllshire, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1024981516) + "[Idyllshire] Aetheryte Plaza" }, { EAetheryteLocation.IdyllshireWest, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(2039918948) + "[Idyllshire] West Idyllshire" }, { EAetheryteLocation.IdyllshirePrologueGate, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-2088254845) + "[Idyllshire] Prologue Gate (Western Hinterlands)" }, { EAetheryteLocation.IdyllshireEpilogueGate, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1606166755) + "[Idyllshire] Epilogue Gate (Eastern Hinterlands)" }, { EAetheryteLocation.RhalgrsReach, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(904175694) + "[Rhalgr's Reach] Aetheryte Plaza" }, { EAetheryteLocation.RhalgrsReachWest, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(422414557) + "[Rhalgr's Reach] Western Rhalgr's Reach" }, { EAetheryteLocation.RhalgrsReachNorthEast, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1266106510) + "[Rhalgr's Reach] Northeastern Rhalgr's Reach" }, { EAetheryteLocation.RhalgrsReachFringesGate, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1156106094) + "[Rhalgr's Reach] Fringes Gate" }, { EAetheryteLocation.RhalgrsReachPeaksGate, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(903963554) + "[Rhalgr's Reach] Peaks Gate" }, { EAetheryteLocation.Kugane, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(737327557) + "[Kugane] Aetheryte Plaza" }, { EAetheryteLocation.KuganeShiokazeHostelry, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(389262993) + "[Kugane] Shiokaze Hostelry" }, { EAetheryteLocation.KuganePier1, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1984652830) + "[Kugane] Pier #1" }, { EAetheryteLocation.KuganeThavnairianConsulate, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1654876663) + "[Kugane] Thavnairian Consulate" }, { EAetheryteLocation.KuganeMarkets, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1303936548) + "[Kugane] Kogane Dori Markets" }, { EAetheryteLocation.KuganeBokairoInn, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(84111244) + "[Kugane] Bokairo Inn" }, { EAetheryteLocation.KuganeRubyBazaar, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(279041210) + "[Kugane] The Ruby Bazaar" }, { EAetheryteLocation.KuganeSekiseigumiBarracks, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1028291171) + "[Kugane] Sekiseigumi Barracks" }, { EAetheryteLocation.KuganeRakuzaDistrict, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-353698586) + "[Kugane] Rakuza District" }, { EAetheryteLocation.KuganeRubyPrice, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1760655176) + "[Kugane] The Ruby Price" }, { EAetheryteLocation.KuganeAirship, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-305748688) + "[Kugane] Airship Landing" }, { EAetheryteLocation.DomanEnclave, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(175036154) + "[Doman Enclave] Aetheryte Plaza" }, { EAetheryteLocation.DomanEnclaveNorthern, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(596539376) + "[Doman Enclave] The Northern Enclave" }, { EAetheryteLocation.DomanEnclaveSouthern, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1610418315) + "[Doman Enclave] The Southern Enclave" }, { EAetheryteLocation.DomanEnclaveDocks, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1237871968) + "[Doman Enclave] Ferry Docks" }, { EAetheryteLocation.DomanEnclaveOneRiver, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1302316452) + "[Doman Enclave] The One River" }, { EAetheryteLocation.DomanEnclaveGangos, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-522822113) + "[Doman Enclave] Gangos" }, { EAetheryteLocation.Crystarium, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1426819768) + "[Crystarium] Aetheryte Plaza" }, { EAetheryteLocation.CrystariumMarkets, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1547488828) + "[Crystarium] Musica Universalis Markets" }, { EAetheryteLocation.CrystariumTemenosRookery, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1239932163) + "[Crystarium] Temenos Rookery" }, { EAetheryteLocation.CrystariumDossalGate, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1996979557) + "[Crystarium] The Dossal Gate" }, { EAetheryteLocation.CrystariumPendants, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(2059962157) + "[Crystarium] The Pendants" }, { EAetheryteLocation.CrystariumAmaroLaunch, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1278165338) + "[Crystarium] The Amaro Launch" }, { EAetheryteLocation.CrystariumCrystallineMean, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1704166220) + "[Crystarium] The Crystalline Mean" }, { EAetheryteLocation.CrystariumCabinetOfCuriosity, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1874586734) + "[Crystarium] The Cabinet of Curiosity" }, { EAetheryteLocation.CrystariumTessellation, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1184483087) + "[Crystarium] Tessellation (Lakeland)" }, { EAetheryteLocation.Eulmore, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1337286274) + "[Eulmore] Aetheryte Plaza" }, { EAetheryteLocation.EulmoreSoutheastDerelict, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(490117002) + "[Eulmore] Southeast Derelicts" }, { EAetheryteLocation.EulmoreNightsoilPots, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-858519344) + "[Eulmore] Nightsoil Pots" }, { EAetheryteLocation.EulmoreGloryGate, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1761215389) + "[Eulmore] The Glory Gate" }, { EAetheryteLocation.EulmoreMainstay, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1320723530) + "[Eulmore] The Mainstay" }, { EAetheryteLocation.EulmorePathToGlory, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(199706279) + "[Eulmore] The Path to Glory (Kholusia)" }, { EAetheryteLocation.OldSharlayan, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1839208848) + "[Old Sharlayan] Aetheryte Plaza" }, { EAetheryteLocation.OldSharlayanStudium, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(367006088) + "[Old Sharlayan] The Studium" }, { EAetheryteLocation.OldSharlayanBaldesionAnnex, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1204054181) + "[Old Sharlayan] The Baldesion Annex" }, { EAetheryteLocation.OldSharlayanRostra, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-591635593) + "[Old Sharlayan] The Rostra" }, { EAetheryteLocation.OldSharlayanLeveilleurEstate, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(184774238) + "[Old Sharlayan] The Leveilleur Estate" }, { EAetheryteLocation.OldSharlayanJourneysEnd, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1722949494) + "[Old Sharlayan] Journey's End" }, { EAetheryteLocation.OldSharlayanScholarsHarbor, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-2093584763) + "[Old Sharlayan] Scholar's Harbor" }, { EAetheryteLocation.OldSharlayanHallOfArtifice, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-728935200) + "[Old Sharlayan] The Hall of Artifice (Labyrinthos)" }, { EAetheryteLocation.RadzAtHan, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1847117793) + "[Radz-at-Han] Aetheryte Plaza" }, { EAetheryteLocation.RadzAtHanMeghaduta, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-418488035) + "[Radz-at-Han] Meghaduta" }, { EAetheryteLocation.RadzAtHanRuveydahFibers, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1873420954) + "[Radz-at-Han] Ruveydah Fibers" }, { EAetheryteLocation.RadzAtHanAirship, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1874028006) + "[Radz-at-Han] Airship Landing" }, { EAetheryteLocation.RadzAtHanAlzadaalsPeace, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1159535712) + "[Radz-at-Han] Alzadaal's Peace" }, { EAetheryteLocation.RadzAtHanHallOfTheRadiantHost, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(718544283) + "[Radz-at-Han] Hall of the Radiant Host" }, { EAetheryteLocation.RadzAtHanMehrydesMeyhane, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1549395644) + "[Radz-at-Han] Mehryde's Meyhane" }, { EAetheryteLocation.RadzAtHanKama, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(785890257) + "[Radz-at-Han] Kama" }, { EAetheryteLocation.RadzAtHanHighCrucible, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1833447809) + "[Radz-at-Han] The High Crucible of Al-Kimiya" }, { EAetheryteLocation.RadzAtHanGateOfFirstSight, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-219561939) + "[Radz-at-Han] The Gate of First Sight (Thavnair)" }, { EAetheryteLocation.Tuliyollal, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1540634472) + "[Tuliyollal] Aetheryte Plaza" }, { EAetheryteLocation.TuliyollalDirigibleLanding, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1529685964) + "[Tuliyollal] Dirigible Landing" }, { EAetheryteLocation.TuliyollalTheResplendentQuarter, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1008767039) + "[Tuliyollal] The Resplendent Quarter" }, { EAetheryteLocation.TuliyollalTheForardCabins, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1834383238) + "[Tuliyollal] The For'ard Cabins" }, { EAetheryteLocation.TuliyollalBaysideBevyMarketplace, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-836977105) + "[Tuliyollal] Bayside Bevy Marketplace" }, { EAetheryteLocation.TuliyollalVollokShoonsa, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1802696799) + "[Tuliyollal] Vollok Shoonsa" }, { EAetheryteLocation.TuliyollalWachumeqimeqi, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1831693487) + "[Tuliyollal] Wachumeqimeqi" }, { EAetheryteLocation.TuliyollalBrightploomPost, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-269334777) + "[Tuliyollal] Brightploom Post" }, { EAetheryteLocation.TuliyollalArchOfTheDawnUrqopacha, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1641380228) + "[Tuliyollal] Arch of the Dawn (Urqopacha)" }, { EAetheryteLocation.TuliyollalArchOfTheDawnKozamauka, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(588439328) + "[Tuliyollal] Arch of the Dawn (Kozama'uka)" }, { EAetheryteLocation.TuliyollalIhuykatumu, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1167210172) + "[Tuliyollal] Ihuykatumu (Kozama'uka)" }, { EAetheryteLocation.TuliyollalDirigibleLandingYakTel, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-745522402) + "[Tuliyollal] Dirigible Landing (Yak T'el)" }, { EAetheryteLocation.TuliyollalXakTuralSkygate, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-2057072714) + "[Tuliyollal] Xak Tural Skygate (Shaaloani)" }, { EAetheryteLocation.SolutionNine, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-442784534) + "[Solution Nine] Aetheryte Plaza" }, { EAetheryteLocation.SolutionNineInformationCenter, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1038335739) + "[Solution Nine] Information Center" }, { EAetheryteLocation.SolutionNineTrueVue, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1457796029) + "[Solution Nine] True Vue" }, { EAetheryteLocation.SolutionNineNeonStein, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-527950168) + "[Solution Nine] Neon Stein" }, { EAetheryteLocation.SolutionNineTheArcadion, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1721073376) + "[Solution Nine] The Arcadion" }, { EAetheryteLocation.SolutionNineResolution, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1557694312) + "[Solution Nine] Resolution" }, { EAetheryteLocation.SolutionNineNexusArcade, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1093845183) + "[Solution Nine] Nexus Arcade" }, { EAetheryteLocation.SolutionNineResidentialSector, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(246675911) + "[Solution Nine] Residential Sector" }, { EAetheryteLocation.SolutionNineScanningPortNine, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(631632294) + "[Solution Nine] Scanning Port Nine (Heritage Found)" } }; diff --git a/Questionable.Model/Questionable.Model.Questing.Converter/CombatItemUseConditionConverter.cs b/Questionable.Model/Questionable.Model.Questing.Converter/CombatItemUseConditionConverter.cs index 8b2b53c..0757bdc 100644 --- a/Questionable.Model/Questionable.Model.Questing.Converter/CombatItemUseConditionConverter.cs +++ b/Questionable.Model/Questionable.Model.Questing.Converter/CombatItemUseConditionConverter.cs @@ -9,15 +9,15 @@ public sealed class CombatItemUseConditionConverter : EnumConverter(2083549168) + "Incapacitated" }, { ECombatItemUseCondition.HealthPercent, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1244082044) + "Health%" }, { ECombatItemUseCondition.MissingStatus, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1125172324) + "MissingStatus" } }; diff --git a/Questionable.Model/Questionable.Model.Questing.Converter/DialogueChoiceTypeConverter.cs b/Questionable.Model/Questionable.Model.Questing.Converter/DialogueChoiceTypeConverter.cs index 726e5a1..7e60b9d 100644 --- a/Questionable.Model/Questionable.Model.Questing.Converter/DialogueChoiceTypeConverter.cs +++ b/Questionable.Model/Questionable.Model.Questing.Converter/DialogueChoiceTypeConverter.cs @@ -9,11 +9,11 @@ public sealed class DialogueChoiceTypeConverter : EnumConverter(431163095) + "YesNo" }, { EDialogChoiceType.List, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-504112928) + "List" } }; diff --git a/Questionable.Model/Questionable.Model.Questing.Converter/ElementIdConverter.cs b/Questionable.Model/Questionable.Model.Questing.Converter/ElementIdConverter.cs index 19f839d..73b0f45 100644 --- a/Questionable.Model/Questionable.Model.Questing.Converter/ElementIdConverter.cs +++ b/Questionable.Model/Questionable.Model.Questing.Converter/ElementIdConverter.cs @@ -8,73 +8,22 @@ public sealed class ElementIdConverter : JsonConverter { public override ElementId Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - int num = ((reader.TokenType != JsonTokenType.Number) ? 937296843 : 937296840); - while (true) + if (reader.TokenType == JsonTokenType.Number) { - int num2 = num; - int num3 = 937296842; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0049; - case 1: - return ElementId.FromString(reader.GetString() ?? throw _200F_200C_200C_202B_202D_206A_200F_206B_200D_206D_202B_202C_206D_206F_202E_206C_206A_200B_200B_206B_206C_202B_206F_206D_200B_206B_202C_200C_202E_200D_200C_200D_202B_202B_200C_202C_200F_202A_202C_202C_202E()); - case 2: - return new QuestId(reader.GetUInt16()); - } - continue; - IL_0049: - num = 937296840; + return new QuestId(reader.GetUInt16()); } + return ElementId.FromString(reader.GetString() ?? throw new JsonException()); } public override void Write(Utf8JsonWriter writer, ElementId value, JsonSerializerOptions options) { - int num = ((!(value is QuestId)) ? (-1636085642) : (-1636085643)); - while (true) + if (value is QuestId) { - int num2 = num; - int num3 = -1636085641; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0048; - case 1: - _206D_202E_202D_200B_202D_200B_206B_200E_200D_206F_202D_200D_206A_200F_202D_200F_200E_202E_202D_206C_200F_206E_200F_202C_206F_206B_200B_200F_200B_200C_206C_200B_206F_206B_202D_202B_202C_200D_202B_202E_202E(writer, _200E_202C_206D_200B_200D_206A_206F_206D_200B_200F_200D_200D_206E_206A_202D_200B_202A_202E_206D_202B_202E_200E_200E_200D_200D_200E_202D_200C_206A_202D_202E_200E_202E_202E_202C_206F_202B_200D_206B_202E((object)value)); - return; - case 2: - _202D_200D_206A_202D_206A_202E_202D_202D_202C_202B_202C_202E_202B_202B_200F_206C_206E_202C_206A_202A_200C_206E_202E_206E_200E_202E_202B_206A_200B_206E_202E_206B_206C_206B_200F_202E_202D_200C_202A_202E(writer, (int)value.Value); - return; - } - continue; - IL_0048: - num = -1636085643; + writer.WriteNumberValue(value.Value); + } + else + { + writer.WriteStringValue(value.ToString()); } } - - static JsonException _200F_200C_200C_202B_202D_206A_200F_206B_200D_206D_202B_202C_206D_206F_202E_206C_206A_200B_200B_206B_206C_202B_206F_206D_200B_206B_202C_200C_202E_200D_200C_200D_202B_202B_200C_202C_200F_202A_202C_202C_202E() - { - return new JsonException(); - } - - static void _202D_200D_206A_202D_206A_202E_202D_202D_202C_202B_202C_202E_202B_202B_200F_206C_206E_202C_206A_202A_200C_206E_202E_206E_200E_202E_202B_206A_200B_206E_202E_206B_206C_206B_200F_202E_202D_200C_202A_202E(Utf8JsonWriter P_0, int P_1) - { - P_0.WriteNumberValue(P_1); - } - - static string _200E_202C_206D_200B_200D_206A_206F_206D_200B_200F_200D_200D_206E_206A_202D_200B_202A_202E_206D_202B_202E_200E_200E_200D_200D_200E_202D_200C_206A_202D_202E_200E_202E_202E_202C_206F_202B_200D_206B_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206D_202E_202D_200B_202D_200B_206B_200E_200D_206F_202D_200D_206A_200F_202D_200F_200E_202E_202D_206C_200F_206E_200F_202C_206F_206B_200B_200F_200B_200C_206C_200B_206F_206B_202D_202B_202C_200D_202B_202E_202E(Utf8JsonWriter P_0, string P_1) - { - P_0.WriteStringValue(P_1); - } } diff --git a/Questionable.Model/Questionable.Model.Questing.Converter/ElementIdListConverter.cs b/Questionable.Model/Questionable.Model.Questing.Converter/ElementIdListConverter.cs index 28c9d68..967ba51 100644 --- a/Questionable.Model/Questionable.Model.Questing.Converter/ElementIdListConverter.cs +++ b/Questionable.Model/Questionable.Model.Questing.Converter/ElementIdListConverter.cs @@ -9,121 +9,41 @@ public sealed class ElementIdListConverter : JsonConverter> { public override List Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - int num = ((reader.TokenType == JsonTokenType.StartArray) ? (-129183690) : (-129183685)); - List list = default(List); - while (true) + if (reader.TokenType != JsonTokenType.StartArray) { - int num2 = num; - int num3 = -129183693; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - list.Add(new QuestId(reader.GetUInt16())); - num = -129183689; - break; - case 8: - throw _200D_206C_202A_200B_200B_200F_202E_202D_206B_200D_206F_200C_200C_202B_202D_206A_202E_206C_206B_202A_206E_206E_200F_200E_202C_202D_206E_200E_206E_202E_200B_206C_206E_200C_206B_206A_202E_206C_206A_200E_202E(); - case 3: - num = -129183685; - break; - case 1: - return list; - case 5: - reader.Read(); - list = new List(); - num = -129183691; - break; - case 4: - reader.Read(); - num = -129183691; - break; - case 2: - list.Add(ElementId.FromString(reader.GetString() ?? throw _200D_206C_202A_200B_200B_200F_202E_202D_206B_200D_206F_200C_200C_202B_202D_206A_202E_206C_206B_202A_206E_206E_200F_200E_202C_202D_206E_200E_206E_202E_200B_206C_206E_200C_206B_206A_202E_206C_206A_200E_202E())); - num = -129183689; - break; - case 7: - num = ((reader.TokenType != JsonTokenType.Number) ? (-129183695) : (-129183693)); - break; - case 6: - num = ((reader.TokenType != JsonTokenType.EndArray) ? (-129183692) : (-129183694)); - break; - } + throw new JsonException(); } + reader.Read(); + List list = new List(); + while (reader.TokenType != JsonTokenType.EndArray) + { + if (reader.TokenType == JsonTokenType.Number) + { + list.Add(new QuestId(reader.GetUInt16())); + } + else + { + list.Add(ElementId.FromString(reader.GetString() ?? throw new JsonException())); + } + reader.Read(); + } + return list; } public override void Write(Utf8JsonWriter writer, List value, JsonSerializerOptions options) { - _200B_206C_202D_200F_202E_206F_202C_206F_200F_200D_200B_206A_200D_206C_202A_202C_202A_202A_200C_202D_206D_202A_200C_202D_200D_206B_206B_206E_200D_200F_200B_200D_206B_202A_206E_206C_202A_200E_206A_202D_202E(writer); - using (List.Enumerator enumerator = value.GetEnumerator()) + writer.WriteStartArray(); + foreach (ElementId item in value) { - int num = 840120325; - ElementId current = default(ElementId); - while (true) + if (item is QuestId) { - int num2 = num; - int num3 = 840120321; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 840120325; - break; - case 5: - current = enumerator.Current; - num = ((!(current is QuestId)) ? 840120320 : 840120322); - break; - case 1: - _200E_202A_200D_200C_200B_202C_202E_200E_202C_206C_206D_202C_200E_200C_200B_202D_202E_200E_200C_200F_200F_200F_206C_206F_206E_200D_200C_202B_200D_206E_206C_202E_200B_206D_202C_200C_206C_206F_206C_206C_202E(writer, _202B_202E_206E_202C_200F_206D_200D_202C_200B_202E_202B_200C_202E_202C_200C_206E_200D_202A_206D_200B_202B_202A_202A_206B_202C_202E_200D_200E_206C_200D_200C_202A_202B_206D_206F_202A_200C_206F_206A_202A_202E((object)current)); - num = 840120325; - break; - case 4: - num = (enumerator.MoveNext() ? 840120324 : 840120323); - break; - case 3: - _206E_206B_206E_200F_200E_206F_206E_206D_200C_202E_202A_206F_200B_202C_206A_202A_200B_202D_206F_202D_202C_202C_202A_200F_202E_202B_200F_206A_206F_206A_202A_206F_200D_200B_202C_200F_206B_206E_202A_202A_202E(writer, (int)current.Value); - num = 840120325; - break; - case 2: - goto end_IL_0018; - } - continue; - end_IL_0018: - break; + writer.WriteNumberValue(item.Value); + } + else + { + writer.WriteStringValue(item.ToString()); } } - _202E_202B_200E_200D_206F_200E_206B_206A_200D_206D_202C_206D_200B_202D_202D_202A_202B_202C_206E_206F_200F_206D_206B_200B_200D_202E_200D_200D_202B_206B_202B_202B_206E_202B_202E_200C_206C_200B_206E_202A_202E(writer); - } - - static JsonException _200D_206C_202A_200B_200B_200F_202E_202D_206B_200D_206F_200C_200C_202B_202D_206A_202E_206C_206B_202A_206E_206E_200F_200E_202C_202D_206E_200E_206E_202E_200B_206C_206E_200C_206B_206A_202E_206C_206A_200E_202E() - { - return new JsonException(); - } - - static void _200B_206C_202D_200F_202E_206F_202C_206F_200F_200D_200B_206A_200D_206C_202A_202C_202A_202A_200C_202D_206D_202A_200C_202D_200D_206B_206B_206E_200D_200F_200B_200D_206B_202A_206E_206C_202A_200E_206A_202D_202E(Utf8JsonWriter P_0) - { - P_0.WriteStartArray(); - } - - static void _206E_206B_206E_200F_200E_206F_206E_206D_200C_202E_202A_206F_200B_202C_206A_202A_200B_202D_206F_202D_202C_202C_202A_200F_202E_202B_200F_206A_206F_206A_202A_206F_200D_200B_202C_200F_206B_206E_202A_202A_202E(Utf8JsonWriter P_0, int P_1) - { - P_0.WriteNumberValue(P_1); - } - - static string _202B_202E_206E_202C_200F_206D_200D_202C_200B_202E_202B_200C_202E_202C_200C_206E_200D_202A_206D_200B_202B_202A_202A_206B_202C_202E_200D_200E_206C_200D_200C_202A_202B_206D_206F_202A_200C_206F_206A_202A_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200E_202A_200D_200C_200B_202C_202E_200E_202C_206C_206D_202C_200E_200C_200B_202D_202E_200E_200C_200F_200F_200F_206C_206F_206E_200D_200C_202B_200D_206E_206C_202E_200B_206D_202C_200C_206C_206F_206C_206C_202E(Utf8JsonWriter P_0, string P_1) - { - P_0.WriteStringValue(P_1); - } - - static void _202E_202B_200E_200D_206F_200E_206B_206A_200D_206D_202C_206D_200B_202D_202D_202A_202B_202C_206E_206F_200F_206D_206B_200B_200D_202E_200D_200D_202B_206B_202B_202B_206E_202B_202E_200C_206C_200B_206E_202A_202E(Utf8JsonWriter P_0) - { - P_0.WriteEndArray(); + writer.WriteEndArray(); } } diff --git a/Questionable.Model/Questionable.Model.Questing.Converter/EmoteConverter.cs b/Questionable.Model/Questionable.Model.Questing.Converter/EmoteConverter.cs index a4135b3..69bdd5e 100644 --- a/Questionable.Model/Questionable.Model.Questing.Converter/EmoteConverter.cs +++ b/Questionable.Model/Questionable.Model.Questing.Converter/EmoteConverter.cs @@ -9,1063 +9,1063 @@ public sealed class EmoteConverter : EnumConverter { { EEmote.Surprised, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(98667450) + "surprised" }, { EEmote.Angry, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1274243662) + "angry" }, { EEmote.Furious, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1348561989) + "furious" }, { EEmote.Blush, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-864854824) + "blush" }, { EEmote.Bow, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1795881261) + "bow" }, { EEmote.Cheer, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-221423317) + "cheer" }, { EEmote.Clap, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-801872224) + "clap" }, { EEmote.Beckon, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-903630718) + "beckon" }, { EEmote.Comfort, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1266023059) + "comfort" }, { EEmote.Cry, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1030439780) + "cry" }, { EEmote.Dance, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1068591807) + "dance" }, { EEmote.Doubt, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(439963963) + "doubt" }, { EEmote.Doze, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-324005700) + "doze" }, { EEmote.Fume, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(2029992722) + "fume" }, { EEmote.Goodbye, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1250823657) + "goodbye" }, { EEmote.Wave, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-71185674) + "wave" }, { EEmote.Huh, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(872973505) + "huh" }, { EEmote.Joy, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1692980971) + "joy" }, { EEmote.Kneel, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1017336384) + "kneel" }, { EEmote.Chuckle, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-669576444) + "chuckle" }, { EEmote.Laugh, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(830680885) + "laugh" }, { EEmote.Lookout, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1180299182) + "lookout" }, { EEmote.Me, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(593751748) + "me" }, { EEmote.No, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1277764165) + "no" }, { EEmote.Deny, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1147271987) + "deny" }, { EEmote.Panic, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1803231473) + "panic" }, { EEmote.Point, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1474653182) + "point" }, { EEmote.Poke, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(612817019) + "poke" }, { EEmote.Congratulate, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(835104534) + "congratulate" }, { EEmote.Psych, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1390201925) + "psych" }, { EEmote.Salute, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1025885930) + "salute" }, { EEmote.Shocked, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1182258233) + "shocked" }, { EEmote.Shrug, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(721748952) + "shrug" }, { EEmote.Rally, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(246732313) + "rally" }, { EEmote.Soothe, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-168113590) + "soothe" }, { EEmote.Stagger, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1103389613) + "stagger" }, { EEmote.Stretch, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(889863284) + "stretch" }, { EEmote.Sulk, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1225530109) + "sulk" }, { EEmote.Think, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-617881224) + "think" }, { EEmote.Upset, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(985341395) + "upset" }, { EEmote.Welcome, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-2129987918) + "welcome" }, { EEmote.Yes, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-2016616842) + "yes" }, { EEmote.ThumbsUp, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1140011580) + "thumbsup" }, { EEmote.ExamineSelf, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-2057484029) + "examineself" }, { EEmote.Pose, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1516780487) + "pose" }, { EEmote.BlowKiss, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1751681935) + "blowkiss" }, { EEmote.Grovel, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1979751057) + "grovel" }, { EEmote.Happy, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-178230351) + "happy" }, { EEmote.Disappointed, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-942200014) + "disappointed" }, { EEmote.Lounge, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-846071550) + "lounge" }, { EEmote.GroundSit, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1877647135) + "groundsit" }, { EEmote.AirQuotes, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-928191835) + "airquotes" }, { EEmote.GcSalute, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1940629735) + "gcsalute" }, { EEmote.Pray, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-867420776) + "pray" }, { EEmote.ImperialSalute, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(2132984389) + "imperialsalute" }, { EEmote.Visor, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(914124861) + "visor" }, { EEmote.Megaflare, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(22441766) + "megaflare" }, { EEmote.CrimsonLotus, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1521851198) + "crimsonlotus" }, { EEmote.Charmed, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(849575682) + "charmed" }, { EEmote.CheerOn, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1618283828) + "cheeron" }, { EEmote.CheerWave, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1044505648) + "cheerwave" }, { EEmote.CheerJump, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1557663424) + "cheerjump" }, { EEmote.StraightFace, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-569663416) + "straightface" }, { EEmote.Smile, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-156633868) + "smile" }, { EEmote.Grin, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-2011746046) + "grin" }, { EEmote.Smirk, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1346808624) + "smirk" }, { EEmote.Taunt, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-286224556) + "taunt" }, { EEmote.ShutEyes, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-640353371) + "shuteyes" }, { EEmote.Sad, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(143922978) + "sad" }, { EEmote.Scared, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(963930444) + "scared" }, { EEmote.Amazed, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1292020461) + "amazed" }, { EEmote.Ouch, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1158860410) + "ouch" }, { EEmote.Annoyed, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1978867876) + "annoyed" }, { EEmote.Alert, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1355003061) + "alert" }, { EEmote.Worried, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-2065974146) + "worried" }, { EEmote.BigGrin, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1491542961) + "biggrin" }, { EEmote.Reflect, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(848785856) + "reflect" }, { EEmote.Furrow, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1144544209) + "furrow" }, { EEmote.Scoff, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(769000478) + "scoff" }, { EEmote.Throw, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(2116620461) + "throw" }, { EEmote.ChangePose, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1199148012) + "changepose" }, { EEmote.StepDance, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(256395680) + "stepdance" }, { EEmote.HarvestDance, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(669425228) + "harvestdance" }, { EEmote.BallDance, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(308791400) + "balldance" }, { EEmote.MandervilleDance, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1948806332) + "mandervilledance" }, { EEmote.Pet, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-251123493) + "pet" }, { EEmote.HandOver, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(406256383) + "handover" }, { EEmote.BombDance, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1182368338) + "bombdance" }, { EEmote.Hurray, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-901075998) + "hurray" }, { EEmote.Slap, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1662168223) + "slap" }, { EEmote.Hug, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1849206098) + "hug" }, { EEmote.Embrace, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1903241685) + "embrace" }, { EEmote.Hildibrand, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-2025072736) + "hildibrand" }, { EEmote.FistBump, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1336713752) + "fistbump" }, { EEmote.ThavDance, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1480328999) + "thavdance" }, { EEmote.GoldDance, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(154867554) + "golddance" }, { EEmote.SundropDance, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1115886354) + "sundropdance" }, { EEmote.BattleStance, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1378287355) + "battlestance" }, { EEmote.VictoryPose, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1963055626) + "victorypose" }, { EEmote.Backflip, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(699114469) + "backflip" }, { EEmote.EasternGreeting, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1578046250) + "easterngreeting" }, { EEmote.Eureka, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-887942603) + "eureka" }, { EEmote.MogDance, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1118849886) + "mogdance" }, { EEmote.Haurchefant, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1298118204) + "haurchefant" }, { EEmote.EasternStretch, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-884186219) + "easternstretch" }, { EEmote.EasternDance, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1151219950) + "easterndance" }, { EEmote.RangerPose1R, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1881645202) + "rangerpose1r" }, { EEmote.RangerPose2R, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(546457201) + "rangerpose2r" }, { EEmote.RangerPose3R, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-356573702) + "rangerpose3r" }, { EEmote.Wink, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(2000292546) + "wink" }, { EEmote.RangerPose1L, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(657763012) + "rangerpose1l" }, { EEmote.RangerPose2L, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1273195300) + "rangerpose2l" }, { EEmote.RangerPose3L, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-482943921) + "rangerpose3l" }, { EEmote.Facepalm, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1028022924) + "facepalm" }, { EEmote.Zantetsuken, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1811053747) + "zantetsuken" }, { EEmote.Flex, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-150475210) + "flex" }, { EEmote.Respect, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1877007873) + "respect" }, { EEmote.Sneer, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(846710812) + "sneer" }, { EEmote.PrettyPlease, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1858836049) + "prettyplease" }, { EEmote.PlayDead, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-574059846) + "playdead" }, { EEmote.IceHeart, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(2083978462) + "iceheart" }, { EEmote.MoonLift, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1320008799) + "moonlift" }, { EEmote.Dote, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1096079056) + "dote" }, { EEmote.Spectacles, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-715492218) + "spectacles" }, { EEmote.Songbird, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1554577618) + "songbird" }, { EEmote.WaterFloat, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1599991099) + "waterfloat" }, { EEmote.WaterFlip, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1535548577) + "waterflip" }, { EEmote.PuckerUp, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1844337056) + "puckerup" }, { EEmote.PowerUp, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-847407621) + "powerup" }, { EEmote.EasternBow, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-924473821) + "easternbow" }, { EEmote.Squats, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1314333753) + "squats" }, { EEmote.PushUps, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(2063161094) + "pushups" }, { EEmote.SitUps, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-909810757) + "situps" }, { EEmote.BreathControl, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1388138160) + "breathcontrol" }, { EEmote.Converse, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(619301595) + "converse" }, { EEmote.Concentrate, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1451120760) + "concentrate" }, { EEmote.Disturbed, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1411798736) + "disturbed" }, { EEmote.Simper, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(969068684) + "simper" }, { EEmote.Beam, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(205099021) + "beam" }, { EEmote.Attention, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1074482573) + "attention" }, { EEmote.AtEase, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1046127895) + "atease" }, { EEmote.Box, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-538906388) + "box" }, { EEmote.RitualPrayer, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1628393862) + "ritualprayer" }, { EEmote.Tremble, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1922521474) + "tremble" }, { EEmote.Winded, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1020667525) + "winded" }, { EEmote.Aback, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1178528460) + "aback" }, { EEmote.Greeting, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1623459731) + "greeting" }, { EEmote.BoxStep, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1919306646) + "boxstep" }, { EEmote.SideStep, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1221290023) + "sidestep" }, { EEmote.Ultima, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1052754600) + "ultima" }, { EEmote.YolDance, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(874056870) + "yoldance" }, { EEmote.Splash, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(739528886) + "splash" }, { EEmote.Sweat, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1962578928) + "sweat" }, { EEmote.Shiver, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(639725052) + "shiver" }, { EEmote.Elucidate, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(450472234) + "elucidate" }, { EEmote.Ponder, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1858224599) + "ponder" }, { EEmote.LeftWink, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-437148906) + "leftwink" }, { EEmote.GetFantasy, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(268240384) + "getfantasy" }, { EEmote.PopotoStep, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1473220423) + "popotostep" }, { EEmote.Hum, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-6981493) + "hum" }, { EEmote.Confirm, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(164605638) + "confirm" }, { EEmote.Scheme, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1767828257) + "scheme" }, { EEmote.Endure, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-252153869) + "endure" }, { EEmote.Tomestone, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(550517012) + "tomestone" }, { EEmote.HeelToe, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(160657080) + "heeltoe" }, { EEmote.GoobbueDouble, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1529732906) + "goobbuedo" }, { EEmote.Gratuity, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1706843347) + "gratuity" }, { EEmote.FistPump, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1341775306) + "fistpump" }, { EEmote.Reprimand, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(2140667863) + "reprimand" }, { EEmote.Sabotender, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1288380120) + "sabotender" }, { EEmote.MandervilleMambo, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1282398839) + "mandervillemambo" }, { EEmote.LaliHo, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1403364557) + "laliho" }, { EEmote.SimulationM, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-428408073) + "simulationm" }, { EEmote.SimulationF, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1312248632) + "simulationf" }, { EEmote.Toast, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(298409665) + "toast" }, { EEmote.Lean, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(837467568) + "lean" }, { EEmote.Headache, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1913906614) + "headache" }, { EEmote.Snap, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1527571215) + "snap" }, { EEmote.BreakFast, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1047027334) + "breakfast" }, { EEmote.Read, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(802624359) + "read" }, { EEmote.Insist, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-239460273) + "insist" }, { EEmote.Consider, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(221295472) + "consider" }, { EEmote.Wasshoi, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1450707239) + "wasshoi" }, { EEmote.FlowerShower, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1306643854) + "flowershower" }, { EEmote.FlameDance, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1457753538) + "flamedance" }, { EEmote.HighFive, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1886070129) + "highfive" }, { EEmote.Guard, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-2095397405) + "guard" }, { EEmote.Malevolence, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1754638620) + "malevolence" }, { EEmote.BeesKnees, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1741293096) + "beesknees" }, { EEmote.LaliHop, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(528776740) + "lalihop" }, { EEmote.EatRiceBall, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-987906398) + "eatriceball" }, { EEmote.EatApple, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1101957601) + "eatapple" }, { EEmote.WringHands, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-655437687) + "wringhands" }, { EEmote.Sweep, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(758503886) + "sweep" }, { EEmote.PaintBlack, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-172025471) + "paintblack" }, { EEmote.PaintRed, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1244554421) + "paintred" }, { EEmote.PaintYellow, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(773949116) + "paintyellow" }, { EEmote.PaintBlue, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1945193976) + "paintblue" }, { EEmote.FakeSmile, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1405290692) + "fakesmile" }, { EEmote.Pantomime, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1700021600) + "pantomime" }, { EEmote.Vexed, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-390353260) + "vexed" }, { EEmote.Shush, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1307825709) + "shush" }, { EEmote.EatPizza, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1019901387) + "eatpizza" }, { EEmote.ClutchHead, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-877678175) + "clutchhead" }, { EEmote.EatChocolate, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(2059681963) + "eatchocolate" }, { EEmote.EatEgg, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1414497297) + "eategg" }, { EEmote.Content, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-778548601) + "content" }, { EEmote.Sheathe, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-472607399) + "sheathe" }, { EEmote.Draw, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(2004312001) + "draw" }, { EEmote.Tea, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(719332096) + "tea" }, { EEmote.Determined, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-975143158) + "determined" }, { EEmote.ShowRight, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(16130706) + "showright" }, { EEmote.ShowLeft, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(275011842) + "showleft" }, { EEmote.Deride, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1066026804) + "deride" }, { EEmote.Wow, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(469941808) + "wow" }, { EEmote.EatPumpkinCookie, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1289949274) + "eatpumpkincookie" }, { EEmote.Spirit, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1895315349) + "spirit" }, { EEmote.MagicTrick, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(324066738) + "magictrick" }, { EEmote.LittleLadiesDance, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1055718362) + "littleladiesdance" }, { EEmote.Linkpearl, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-295843029) + "linkpearl" }, { EEmote.EarWiggle, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-272719976) + "earwiggle" }, { EEmote.Frighten, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1922947020) + "frighten" }, { EEmote.AdventOfLight, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-528105845) + "adventoflight" }, { EEmote.JumpForJoy1, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-513490336) + "jumpforjoy1" }, { EEmote.JumpForJoy2, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1369083816) + "jumpforjoy2" }, { EEmote.JumpForJoy3, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(900986020) + "jumpforjoy3" }, { EEmote.JumpForJoy4, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(2029381536) + "jumpforjoy4" }, { EEmote.JumpForJoy5, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-24362244) + "jumpforjoy5" }, { EEmote.HandToHeart, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-878739064) + "handtoheart" }, { EEmote.CheerOnBright, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-324542536) + "cheeronbright" }, { EEmote.CheerWaveViolet, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1591089667) + "cheerwaveviolet" }, { EEmote.CheerJumpGreen, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1351047410) + "cheerjumpgreen" }, { EEmote.AllSaintsCharm, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1996340295) + "allsaintscharm" }, { EEmote.LopHop, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(583393760) + "lophop" }, { EEmote.Reference, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-406435122) + "reference" }, { EEmote.EatChicken, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1886434971) + "eatchicken" }, { EEmote.Sundering, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1124925175) + "sundering" }, { EEmote.Slump, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(308599853) + "slump" }, { EEmote.LoveHeart, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-2054417066) + "loveheart" }, { EEmote.HumbleTriumph, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(916326190) + "humbletriumph" }, { EEmote.VictoryReveal, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-904949689) + "victoryreveal" }, { EEmote.FryEgg, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(547939088) + "fryegg" }, { EEmote.Uchiwasshoi, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1681427295) + "uchiwasshoi" }, { EEmote.Attend, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(497547653) + "attend" }, { EEmote.Water, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(2075878414) + "water" }, { EEmote.ShakeDrink, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1311908751) + "shakedrink" }, { EEmote.Unbound, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-465974621) + "unbound" }, { EEmote.Bouquet, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1931848452) + "bouquet" }, { EEmote.BlowBubbles, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1918187573) + "blowbubbles" }, { EEmote.Ohokaliy, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1610602393) + "ohokaliy" }, { EEmote.Visage, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1144672054) + "visage" }, { EEmote.Photograph, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1415672427) + "photograph" }, { EEmote.Overreact, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1838965527) + "overreact" }, { EEmote.Twirl, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-165517427) + "twirl" }, { EEmote.Dazed, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-197077325) + "dazed" }, { EEmote.Rage, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1619791035) + "rage" }, { EEmote.TomeScroll, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-214044221) + "tomescroll" }, { EEmote.Study, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1964930727) + "study" }, { EEmote.GridanianSip, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-457912376) + "gridaniansip" }, { EEmote.UldahnSip, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1182102556) + "uldahnsip" }, { EEmote.LominsanSip, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(456664716) + "lominsansip" }, { EEmote.GridanianGulp, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-460814196) + "gridaniangulp" }, { EEmote.UldahnGulp, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(719634203) + "uldahngulp" }, { EEmote.LominsanGulp, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1709715073) + "lominsangulp" }, { EEmote.Pen, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(474461827) + "pen" } }; diff --git a/Questionable.Model/Questionable.Model.Questing.Converter/EnemySpawnTypeConverter.cs b/Questionable.Model/Questionable.Model.Questing.Converter/EnemySpawnTypeConverter.cs index 8c20267..db280fd 100644 --- a/Questionable.Model/Questionable.Model.Questing.Converter/EnemySpawnTypeConverter.cs +++ b/Questionable.Model/Questionable.Model.Questing.Converter/EnemySpawnTypeConverter.cs @@ -9,35 +9,35 @@ public sealed class EnemySpawnTypeConverter : EnumConverter { { EEnemySpawnType.AfterInteraction, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1051601295) + "AfterInteraction" }, { EEnemySpawnType.AfterItemUse, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1200775416) + "AfterItemUse" }, { EEnemySpawnType.AfterAction, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1185165004) + "AfterAction" }, { EEnemySpawnType.AfterEmote, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(2039087727) + "AfterEmote" }, { EEnemySpawnType.AutoOnEnterArea, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1832294933) + "AutoOnEnterArea" }, { EEnemySpawnType.OverworldEnemies, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(111153979) + "OverworldEnemies" }, { EEnemySpawnType.FateEnemies, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(801257626) + "FateEnemies" }, { EEnemySpawnType.FinishCombatIfAny, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(2024596938) + "FinishCombatIfAny" } }; diff --git a/Questionable.Model/Questionable.Model.Questing.Converter/ExcelRefConverter.cs b/Questionable.Model/Questionable.Model.Questing.Converter/ExcelRefConverter.cs index a0872f8..e7c9065 100644 --- a/Questionable.Model/Questionable.Model.Questing.Converter/ExcelRefConverter.cs +++ b/Questionable.Model/Questionable.Model.Questing.Converter/ExcelRefConverter.cs @@ -8,96 +8,31 @@ public sealed class ExcelRefConverter : JsonConverter { public override ExcelRef? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - JsonTokenType tokenType = reader.TokenType; - int num = ((tokenType == JsonTokenType.String) ? (-1439045557) : (-1439045556)); - ExcelRef result = default(ExcelRef); - while (true) + return reader.TokenType switch { - int num2 = num; - int num3 = -1439045553; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1439045556; - break; - case 6: - num = -1439045558; - break; - case 4: - result = ExcelRef.FromKey(reader.GetString()); - num = -1439045555; - break; - case 1: - result = ExcelRef.FromRowId(reader.GetUInt32()); - num = -1439045555; - break; - case 3: - num = ((tokenType == JsonTokenType.Number) ? (-1439045554) : (-1439045559)); - break; - case 2: - return result; - case 5: - result = null; - num = -1439045555; - break; - } - } + JsonTokenType.String => ExcelRef.FromKey(reader.GetString()), + JsonTokenType.Number => ExcelRef.FromRowId(reader.GetUInt32()), + _ => null, + }; } public override void Write(Utf8JsonWriter writer, ExcelRef? value, JsonSerializerOptions options) { - int num = ((value != null) ? 1575360776 : 1575360781); - while (true) + if (value == null) { - int num2 = num; - int num3 = 1575360779; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - num = 1575360781; - break; - case 2: - _206B_202A_206B_200C_206D_200F_206C_202B_206D_206C_202A_202D_202B_200C_206B_200F_202C_206B_206A_200B_200F_202D_202D_202E_200B_202E_206F_202D_200E_206F_200E_202C_206B_206A_202A_202B_202E_200E_206E_206E_202E(writer, value.AsKey()); - return; - case 1: - num = ((value.Type != ExcelRef.EType.RowId) ? 1575360783 : 1575360779); - break; - case 4: - throw _206E_200D_200D_202B_206C_202A_200F_202E_206D_200C_200C_206A_200B_206D_206E_202B_206E_206E_202C_202E_202A_206A_200D_200C_200F_202D_206F_200D_206C_200F_200E_206E_206E_200D_202B_206A_200F_206F_202D_200F_202E(); - case 3: - num = ((value.Type != ExcelRef.EType.Key) ? 1575360778 : 1575360777); - break; - case 6: - _200F_206C_202B_202A_206B_206A_206C_202A_206D_202D_206F_202B_200E_202B_202C_200C_206D_206E_206D_202D_206B_202A_206D_202E_200F_206C_202A_200B_200D_202A_206E_206E_202B_200C_206C_206F_202E_206A_202A_202A_202E(writer); - return; - case 0: - _200B_200E_202E_206E_202C_202A_206A_202B_200B_200D_206B_206E_206F_202D_200D_202C_202B_206F_202A_206D_200D_202B_200C_206D_202C_206B_202A_202B_202D_200F_200F_200D_200C_200F_202B_202A_206E_206C_206C_202A_202E(writer, value.AsRowId()); - return; - } + writer.WriteNullValue(); + return; } - } - - static void _200F_206C_202B_202A_206B_206A_206C_202A_206D_202D_206F_202B_200E_202B_202C_200C_206D_206E_206D_202D_206B_202A_206D_202E_200F_206C_202A_200B_200D_202A_206E_206E_202B_200C_206C_206F_202E_206A_202A_202A_202E(Utf8JsonWriter P_0) - { - P_0.WriteNullValue(); - } - - static void _206B_202A_206B_200C_206D_200F_206C_202B_206D_206C_202A_202D_202B_200C_206B_200F_202C_206B_206A_200B_200F_202D_202D_202E_200B_202E_206F_202D_200E_206F_200E_202C_206B_206A_202A_202B_202E_200E_206E_206E_202E(Utf8JsonWriter P_0, string P_1) - { - P_0.WriteStringValue(P_1); - } - - static void _200B_200E_202E_206E_202C_202A_206A_202B_200B_200D_206B_206E_206F_202D_200D_202C_202B_206F_202A_206D_200D_202B_200C_206D_202C_206B_202A_202B_202D_200F_200F_200D_200C_200F_202B_202A_206E_206C_206C_202A_202E(Utf8JsonWriter P_0, uint P_1) - { - P_0.WriteNumberValue(P_1); - } - - static JsonException _206E_200D_200D_202B_206C_202A_200F_202E_206D_200C_200C_206A_200B_206D_206E_202B_206E_206E_202C_202E_202A_206A_200D_200C_200F_202D_206F_200D_206C_200F_200E_206E_206E_200D_202B_206A_200F_206F_202D_200F_202E() - { - return new JsonException(); + if (value.Type == ExcelRef.EType.Key) + { + writer.WriteStringValue(value.AsKey()); + return; + } + if (value.Type == ExcelRef.EType.RowId) + { + writer.WriteNumberValue(value.AsRowId()); + return; + } + throw new JsonException(); } } diff --git a/Questionable.Model/Questionable.Model.Questing.Converter/ExtendedClassJobConverter.cs b/Questionable.Model/Questionable.Model.Questing.Converter/ExtendedClassJobConverter.cs index 0dbf902..226b852 100644 --- a/Questionable.Model/Questionable.Model.Questing.Converter/ExtendedClassJobConverter.cs +++ b/Questionable.Model/Questionable.Model.Questing.Converter/ExtendedClassJobConverter.cs @@ -9,203 +9,203 @@ internal sealed class ExtendedClassJobConverter : EnumConverter(220085912) + "None" }, { EExtendedClassJob.Gladiator, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1856855877) + "Gladiator" }, { EExtendedClassJob.Pugilist, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-2014526783) + "Pugilist" }, { EExtendedClassJob.Marauder, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1605052653) + "Marauder" }, { EExtendedClassJob.Lancer, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1726604852) + "Lancer" }, { EExtendedClassJob.Archer, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1800052101) + "Archer" }, { EExtendedClassJob.Conjurer, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1887045234) + "Conjurer" }, { EExtendedClassJob.Thaumaturge, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1239279937) + "Thaumaturge" }, { EExtendedClassJob.Carpenter, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(404863755) + "Carpenter" }, { EExtendedClassJob.Blacksmith, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(705278727) + "Blacksmith" }, { EExtendedClassJob.Armorer, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-775767864) + "Armorer" }, { EExtendedClassJob.Goldsmith, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(827454755) + "Goldsmith" }, { EExtendedClassJob.Leatherworker, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-619062784) + "Leatherworker" }, { EExtendedClassJob.Weaver, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1479280583) + "Weaver" }, { EExtendedClassJob.Alchemist, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1290468425) + "Alchemist" }, { EExtendedClassJob.Culinarian, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-2023860148) + "Culinarian" }, { EExtendedClassJob.Miner, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-2137637697) + "Miner" }, { EExtendedClassJob.Botanist, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1983714001) + "Botanist" }, { EExtendedClassJob.Fisher, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1777503038) + "Fisher" }, { EExtendedClassJob.Paladin, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(130522344) + "Paladin" }, { EExtendedClassJob.Monk, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1564935464) + "Monk" }, { EExtendedClassJob.Warrior, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1291602378) + "Warrior" }, { EExtendedClassJob.Dragoon, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(75520123) + "Dragoon" }, { EExtendedClassJob.Bard, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1256169716) + "Bard" }, { EExtendedClassJob.WhiteMage, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(538430590) + "White Mage" }, { EExtendedClassJob.BlackMage, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1577561758) + "Black Mage" }, { EExtendedClassJob.Arcanist, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1781947130) + "Arcanist" }, { EExtendedClassJob.Summoner, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1576598069) + "Summoner" }, { EExtendedClassJob.Scholar, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-807762853) + "Scholar" }, { EExtendedClassJob.Rogue, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1190429901) + "Rogue" }, { EExtendedClassJob.Ninja, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-240327074) + "Ninja" }, { EExtendedClassJob.Machinist, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1004296737) + "Machinist" }, { EExtendedClassJob.DarkKnight, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1426098160) + "Dark Knight" }, { EExtendedClassJob.Astrologian, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1002513524) + "Astrologian" }, { EExtendedClassJob.Samurai, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(2021699864) + "Samurai" }, { EExtendedClassJob.RedMage, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1450405132) + "Red Mage" }, { EExtendedClassJob.BlueMage, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1970924243) + "Blue Mage" }, { EExtendedClassJob.Gunbreaker, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1541505151) + "Gunbreaker" }, { EExtendedClassJob.Dancer, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1907941643) + "Dancer" }, { EExtendedClassJob.Reaper, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(238492990) + "Reaper" }, { EExtendedClassJob.Sage, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1995027649) + "Sage" }, { EExtendedClassJob.Viper, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1844959043) + "Viper" }, { EExtendedClassJob.Pictomancer, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-6679386) + "Pictomancer" }, { EExtendedClassJob.Beastmaster, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1237232706) + "Beastmaster" }, { EExtendedClassJob.DoW, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1411791118) + "DoW" }, { EExtendedClassJob.DoM, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1504403372) + "DoM" }, { EExtendedClassJob.DoH, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1174250106) + "DoH" }, { EExtendedClassJob.DoL, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1034508513) + "DoL" }, { EExtendedClassJob.ConfiguredCombatJob, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(483665366) + "ConfiguredCombatJob" }, { EExtendedClassJob.QuestStartJob, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-280820024) + "QuestStartJob" } }; diff --git a/Questionable.Model/Questionable.Model.Questing.Converter/InteractionTypeConverter.cs b/Questionable.Model/Questionable.Model.Questing.Converter/InteractionTypeConverter.cs index 97d1e1f..71be765 100644 --- a/Questionable.Model/Questionable.Model.Questing.Converter/InteractionTypeConverter.cs +++ b/Questionable.Model/Questionable.Model.Questing.Converter/InteractionTypeConverter.cs @@ -9,143 +9,143 @@ public sealed class InteractionTypeConverter : EnumConverter { { EInteractionType.None, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1117900284) + "None" }, { EInteractionType.Interact, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1309208735) + "Interact" }, { EInteractionType.WalkTo, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1106879120) + "WalkTo" }, { EInteractionType.AttuneAethernetShard, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1549209074) + "AttuneAethernetShard" }, { EInteractionType.AttuneAetheryte, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1716223117) + "AttuneAetheryte" }, { EInteractionType.RegisterFreeOrFavoredAetheryte, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1646008794) + "RegisterFreeOrFavoredAetheryte" }, { EInteractionType.AttuneAetherCurrent, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(896215651) + "AttuneAetherCurrent" }, { EInteractionType.Combat, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1754940727) + "Combat" }, { EInteractionType.UseItem, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1822859380) + "UseItem" }, { EInteractionType.EquipItem, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(837876705) + "EquipItem" }, { EInteractionType.UnequipItem, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1846417149) + "UnequipItem" }, { EInteractionType.PurchaseItem, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1523519145) + "PurchaseItem" }, { EInteractionType.EquipRecommended, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1066503502) + "EquipRecommended" }, { EInteractionType.Say, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(958268620) + "Say" }, { EInteractionType.Emote, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1426054162) + "Emote" }, { EInteractionType.Action, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1123609333) + "Action" }, { EInteractionType.StatusOff, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1568540604) + "StatusOff" }, { EInteractionType.WaitForObjectAtPosition, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-916266641) + "WaitForObjectAtPosition" }, { EInteractionType.WaitForManualProgress, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(2036323045) + "WaitForManualProgress" }, { EInteractionType.Duty, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1148322998) + "Duty" }, { EInteractionType.SinglePlayerDuty, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(834560316) + "SinglePlayerDuty" }, { EInteractionType.Jump, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1391632879) + "Jump" }, { EInteractionType.Dive, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1379304053) + "Dive" }, { EInteractionType.Craft, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(352799179) + "Craft" }, { EInteractionType.Gather, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1454984084) + "Gather" }, { EInteractionType.Snipe, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1442286653) + "Snipe" }, { EInteractionType.SwitchClass, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-1506629366) + "SwitchClass" }, { EInteractionType.UnlockTaxiStand, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1659367566) + "UnlockTaxiStand" }, { EInteractionType.MeldMateria, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(322492278) + "MeldMateria" }, { EInteractionType.Instruction, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-353939349) + "Instruction" }, { EInteractionType.AcceptQuest, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-524676994) + "AcceptQuest" }, { EInteractionType.CompleteQuest, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1545978293) + "CompleteQuest" }, { EInteractionType.FateAction, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-2127899613) + "FateAction" }, { EInteractionType.Fish, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1262677760) + "Fish" }, { EInteractionType.CriticalEncounter, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-987368890) + "CriticalEncounter" } }; diff --git a/Questionable.Model/Questionable.Model.Questing.Converter/JumpTypeConverter.cs b/Questionable.Model/Questionable.Model.Questing.Converter/JumpTypeConverter.cs index b19087e..17aa163 100644 --- a/Questionable.Model/Questionable.Model.Questing.Converter/JumpTypeConverter.cs +++ b/Questionable.Model/Questionable.Model.Questing.Converter/JumpTypeConverter.cs @@ -9,11 +9,11 @@ public sealed class JumpTypeConverter : EnumConverter { { EJumpType.SingleJump, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1386886680) + "SingleJump" }, { EJumpType.RepeatedJumps, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(472729139) + "RepeatedJumps" } }; diff --git a/Questionable.Model/Questionable.Model.Questing.Converter/LockedSkipConditionConverter.cs b/Questionable.Model/Questionable.Model.Questing.Converter/LockedSkipConditionConverter.cs index 6542607..93e3f84 100644 --- a/Questionable.Model/Questionable.Model.Questing.Converter/LockedSkipConditionConverter.cs +++ b/Questionable.Model/Questionable.Model.Questing.Converter/LockedSkipConditionConverter.cs @@ -9,11 +9,11 @@ public sealed class LockedSkipConditionConverter : EnumConverter(1790290277) + "Locked" }, { ELockedSkipCondition.Unlocked, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-2013924116) + "Unlocked" } }; diff --git a/Questionable.Model/Questionable.Model.Questing.Converter/QuestWorkConfigConverter.cs b/Questionable.Model/Questionable.Model.Questing.Converter/QuestWorkConfigConverter.cs index bd81b86..4c94d41 100644 --- a/Questionable.Model/Questionable.Model.Questing.Converter/QuestWorkConfigConverter.cs +++ b/Questionable.Model/Questionable.Model.Questing.Converter/QuestWorkConfigConverter.cs @@ -1,5 +1,4 @@ using System; -using System.Runtime.CompilerServices; using System.Text.Json; using System.Text.Json.Serialization; @@ -7,189 +6,77 @@ namespace Questionable.Model.Questing.Converter; public sealed class QuestWorkConfigConverter : JsonConverter { - [MethodImpl(MethodImplOptions.NoInlining)] public override QuestWorkValue Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - int num = ((reader.TokenType != JsonTokenType.Number) ? 442773036 : 442773049); - EQuestWorkMode mode = default(EQuestWorkMode); - string text = default(string); - byte? high = default(byte?); - byte? low = default(byte?); - JsonTokenType tokenType = default(JsonTokenType); - while (true) + if (reader.TokenType == JsonTokenType.Number) { - int num2 = num; - int num3 = 442773048; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return new QuestWorkValue(reader.GetByte()); + } + if (reader.TokenType != JsonTokenType.StartObject) + { + throw new JsonException(); + } + byte? high = null; + byte? low = null; + EQuestWorkMode mode = EQuestWorkMode.Bitwise; + while (reader.Read()) + { + switch (reader.TokenType) { - case 19: - num = (reader.Read() ? 442773033 : 442773046); + case JsonTokenType.PropertyName: + { + string text = reader.GetString(); + if (text == null || !reader.Read()) + { + throw new JsonException(); + } + switch (text) + { + case "High": + high = reader.GetByte(); + break; + case "Low": + low = reader.GetByte(); + break; + case "Mode": + mode = new QuestWorkModeConverter().Read(ref reader, typeof(EQuestWorkMode), options); + break; + default: + throw new JsonException(); + } break; - case 6: - throw _206C_202A_200B_206B_206C_206B_206C_200F_202C_200F_206E_202A_200E_206D_202D_206B_206B_200D_206C_202E_200C_200F_200B_206E_206E_202E_200D_206B_202E_206F_206E_206F_202E_202D_202B_202B_206D_200D_202D_202B_202E(); - case 10: - mode = new QuestWorkModeConverter().Read(ref reader, _202B_200D_206D_206C_202B_202B_206C_200D_202A_200C_200C_200D_200F_200F_200D_202A_200F_206F_200B_202D_200B_202C_202D_206D_206D_200C_202D_202D_206A_206F_200C_206B_206A_206D_206D_206E_206D_200C_206C_202C_202E(typeof(EQuestWorkMode).TypeHandle), options); - num = 442773035; - break; - case 8: - num = (_202E_206D_206B_202A_200C_206C_206E_200D_200F_206D_202D_202B_202A_200C_200E_200C_202D_206D_200D_206A_202B_200E_200D_200F_200C_200D_206B_206E_202C_200C_206B_202D_206E_206B_200D_200D_202C_202C_206B_202A_202E(text, global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-232827495)) ? 442773042 : 442773041); - break; - case 1: - return new QuestWorkValue(reader.GetByte()); - case 9: - num = 442773050; - break; - case 15: - throw _206C_202A_200B_206B_206C_206B_206C_200F_202C_200F_206E_202A_200E_206D_202D_206B_206B_200D_206C_202E_200C_200F_200B_206E_206E_202E_200D_206B_202E_206F_206E_206F_202E_202D_202B_202B_206D_200D_202D_202B_202E(); - case 18: - high = reader.GetByte(); - num = 442773035; - break; - case 2: - throw _206C_202A_200B_206B_206C_206B_206C_200F_202C_200F_206E_202A_200E_206D_202D_206B_206B_200D_206C_202E_200C_200F_200B_206E_206E_202E_200D_206B_202E_206F_206E_206F_202E_202D_202B_202B_206D_200D_202D_202B_202E(); - case 5: - num = (_202E_206D_206B_202A_200C_206C_206E_200D_200F_206D_202D_202B_202A_200C_200E_200C_202D_206D_200D_206A_202B_200E_200D_200F_200C_200D_206B_206E_202C_200C_206B_202D_206E_206B_200D_200D_202C_202C_206B_202A_202E(text, global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(805197850)) ? 442773034 : 442773032); - break; - case 16: - num = (_202E_206D_206B_202A_200C_206C_206E_200D_200F_206D_202D_202B_202A_200C_200E_200C_202D_206D_200D_206A_202B_200E_200D_200F_200C_200D_206B_206E_202C_200C_206B_202D_206E_206B_200D_200D_202C_202C_206B_202A_202E(text, global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(856659979)) ? 442773045 : 442773040); - break; - case 13: - low = reader.GetByte(); - num = 442773035; - break; - case 20: - num = ((reader.TokenType == JsonTokenType.StartObject) ? 442773052 : 442773054); - break; - case 21: - num = (reader.Read() ? 442773053 : 442773047); - break; - case 7: - num = ((tokenType != JsonTokenType.PropertyName) ? 442773048 : 442773043); - break; - case 4: - high = null; - low = null; - mode = EQuestWorkMode.Bitwise; - num = 442773035; - break; - case 0: - throw _206C_202A_200B_206B_206C_206B_206C_200F_202C_200F_206E_202A_200E_206D_202D_206B_206B_200D_206C_202E_200C_200F_200B_206E_206E_202E_200D_206B_202E_206F_206E_206F_202E_202D_202B_202B_206D_200D_202D_202B_202E(); - case 3: - num = 442773049; - break; - case 11: - text = reader.GetString(); - num = ((text == null) ? 442773047 : 442773037); - break; - case 12: + } + case JsonTokenType.EndObject: return new QuestWorkValue(high, low, mode); - case 17: - tokenType = reader.TokenType; - num = ((tokenType == JsonTokenType.EndObject) ? 442773044 : 442773055); - break; - case 14: - throw _206C_202A_200B_206B_206C_206B_206C_200F_202C_200F_206E_202A_200E_206D_202D_206B_206B_200D_206C_202E_200C_200F_200B_206E_206E_202E_200D_206B_202E_206F_206E_206F_202E_202D_202B_202B_206D_200D_202D_202B_202E(); + default: + throw new JsonException(); } } + throw new JsonException(); } - [MethodImpl(MethodImplOptions.NoInlining)] public override void Write(Utf8JsonWriter writer, QuestWorkValue value, JsonSerializerOptions options) { - int num = ((value == null) ? (-20087947) : (-20087945)); - while (true) + if (value != null && value.High.HasValue && value.Low.HasValue && value.Mode == EQuestWorkMode.Bitwise) { - int num2 = num; - int num3 = -20087938; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - _206C_202B_200D_206C_206E_202D_206D_202D_202A_206F_206E_202A_200B_202E_202E_202D_206F_206D_202C_202D_200C_202C_202A_200B_206C_202A_206B_206B_200E_200F_206A_202D_200F_200E_202C_206F_206F_206E_200F_206F_202E(writer); - return; - case 8: - num = ((!value.Low.HasValue) ? (-20087948) : (-20087944)); - break; - case 1: - _206E_202A_200C_202E_200E_202A_206C_206A_202C_202E_202B_206D_206D_202E_206E_200D_206D_200C_206E_206B_206F_202C_202A_200D_206E_206B_202E_206D_202C_200E_200C_200F_202A_200F_200D_200C_206C_200F_200E_202B_202E(writer, global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1703476951)); - new QuestWorkModeConverter().Write(writer, value.Mode, options); - num = -20087939; - break; - case 10: - num = ((value.Mode == EQuestWorkMode.Bitwise) ? (-20087939) : (-20087937)); - break; - case 2: - num = ((!value.Low.HasValue) ? (-20087947) : (-20087941)); - break; - case 0: - { - byte b = (byte)((value.High.Value << 4) + value.Low.Value); - _202C_206F_206C_202D_206B_200E_206C_200B_206F_202E_202C_202D_200F_200E_200C_200F_202D_200C_200F_202C_206E_202C_200F_206E_200D_202A_202C_206E_206D_202D_202C_202D_202D_202A_206B_200D_202B_206F_200E_206D_202E(writer, (int)b); - return; - } - case 5: - num = ((value.Mode != EQuestWorkMode.Bitwise) ? (-20087947) : (-20087938)); - break; - case 11: - _200B_206C_202E_206F_200E_200C_200B_200E_200D_206C_200C_206D_200D_206C_206B_200D_200F_202E_202E_206D_200F_202B_200D_202B_202B_206C_202D_206B_206F_206F_202A_200D_200D_200F_202C_200C_200C_200D_200C_202C_202E(writer); - num = ((!value.High.HasValue) ? (-20087946) : (-20087942)); - break; - case 7: - num = -20087945; - break; - case 6: - _206C_206E_200B_202B_206D_206D_200F_202B_202C_206E_206E_200C_206C_206D_202D_206D_202D_206A_202A_206D_200B_200F_200E_206B_206F_202A_200C_202D_206C_200E_200E_202D_202C_200B_202C_202B_202A_206C_200C_202C_202E(writer, global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1470135272), (int)value.Low.Value); - num = -20087948; - break; - case 9: - num = ((!value.High.HasValue) ? (-20087947) : (-20087940)); - break; - case 4: - _206C_206E_200B_202B_206D_206D_200F_202B_202C_206E_206E_200C_206C_206D_202D_206D_202D_206A_202A_206D_200B_200F_200E_206B_206F_202A_200C_202D_206C_200E_200E_202D_202C_200B_202C_202B_202A_206C_200C_202C_202E(writer, global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-44654621), (int)value.High.Value); - num = -20087946; - break; - } + byte value2 = (byte)((value.High.Value << 4) + value.Low.Value); + writer.WriteNumberValue(value2); + return; } - } - - static JsonException _206C_202A_200B_206B_206C_206B_206C_200F_202C_200F_206E_202A_200E_206D_202D_206B_206B_200D_206C_202E_200C_200F_200B_206E_206E_202E_200D_206B_202E_206F_206E_206F_202E_202D_202B_202B_206D_200D_202D_202B_202E() - { - return new JsonException(); - } - - static bool _202E_206D_206B_202A_200C_206C_206E_200D_200F_206D_202D_202B_202A_200C_200E_200C_202D_206D_200D_206A_202B_200E_200D_200F_200C_200D_206B_206E_202C_200C_206B_202D_206E_206B_200D_200D_202C_202C_206B_202A_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - - static Type _202B_200D_206D_206C_202B_202B_206C_200D_202A_200C_200C_200D_200F_200F_200D_202A_200F_206F_200B_202D_200B_202C_202D_206D_206D_200C_202D_202D_206A_206F_200C_206B_206A_206D_206D_206E_206D_200C_206C_202C_202E(RuntimeTypeHandle P_0) - { - return System.Type.GetTypeFromHandle(P_0); - } - - static void _202C_206F_206C_202D_206B_200E_206C_200B_206F_202E_202C_202D_200F_200E_200C_200F_202D_200C_200F_202C_206E_202C_200F_206E_200D_202A_202C_206E_206D_202D_202C_202D_202D_202A_206B_200D_202B_206F_200E_206D_202E(Utf8JsonWriter P_0, int P_1) - { - P_0.WriteNumberValue(P_1); - } - - static void _200B_206C_202E_206F_200E_200C_200B_200E_200D_206C_200C_206D_200D_206C_206B_200D_200F_202E_202E_206D_200F_202B_200D_202B_202B_206C_202D_206B_206F_206F_202A_200D_200D_200F_202C_200C_200C_200D_200C_202C_202E(Utf8JsonWriter P_0) - { - P_0.WriteStartObject(); - } - - static void _206C_206E_200B_202B_206D_206D_200F_202B_202C_206E_206E_200C_206C_206D_202D_206D_202D_206A_202A_206D_200B_200F_200E_206B_206F_202A_200C_202D_206C_200E_200E_202D_202C_200B_202C_202B_202A_206C_200C_202C_202E(Utf8JsonWriter P_0, string P_1, int P_2) - { - P_0.WriteNumber(P_1, P_2); - } - - static void _206E_202A_200C_202E_200E_202A_206C_206A_202C_202E_202B_206D_206D_202E_206E_200D_206D_200C_206E_206B_206F_202C_202A_200D_206E_206B_202E_206D_202C_200E_200C_200F_202A_200F_200D_200C_206C_200F_200E_202B_202E(Utf8JsonWriter P_0, string P_1) - { - P_0.WritePropertyName(P_1); - } - - static void _206C_202B_200D_206C_206E_202D_206D_202D_202A_206F_206E_202A_200B_202E_202E_202D_206F_206D_202C_202D_200C_202C_202A_200B_206C_202A_206B_206B_200E_200F_206A_202D_200F_200E_202C_206F_206F_206E_200F_206F_202E(Utf8JsonWriter P_0) - { - P_0.WriteEndObject(); + writer.WriteStartObject(); + if (value.High.HasValue) + { + writer.WriteNumber("High", value.High.Value); + } + if (value.Low.HasValue) + { + writer.WriteNumber("Low", value.Low.Value); + } + if (value.Mode != EQuestWorkMode.Bitwise) + { + writer.WritePropertyName("Mode"); + new QuestWorkModeConverter().Write(writer, value.Mode, options); + } + writer.WriteEndObject(); } } diff --git a/Questionable.Model/Questionable.Model.Questing.Converter/QuestWorkModeConverter.cs b/Questionable.Model/Questionable.Model.Questing.Converter/QuestWorkModeConverter.cs index abaca11..3c2ddde 100644 --- a/Questionable.Model/Questionable.Model.Questing.Converter/QuestWorkModeConverter.cs +++ b/Questionable.Model/Questionable.Model.Questing.Converter/QuestWorkModeConverter.cs @@ -9,11 +9,11 @@ public sealed class QuestWorkModeConverter : EnumConverter { { EQuestWorkMode.Bitwise, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1893719908) + "Bitwise" }, { EQuestWorkMode.Exact, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1802603983) + "Exact" } }; diff --git a/Questionable.Model/Questionable.Model.Questing.Converter/SkipConditionConverter.cs b/Questionable.Model/Questionable.Model.Questing.Converter/SkipConditionConverter.cs index 54d2653..53eccf4 100644 --- a/Questionable.Model/Questionable.Model.Questing.Converter/SkipConditionConverter.cs +++ b/Questionable.Model/Questionable.Model.Questing.Converter/SkipConditionConverter.cs @@ -9,27 +9,27 @@ public sealed class SkipConditionConverter : EnumConverter { { EExtraSkipCondition.WakingSandsMainArea, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1312725330) + "WakingSandsMainArea" }, { EExtraSkipCondition.WakingSandsSolar, - global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(347424923) + "WakingSandsSolar" }, { EExtraSkipCondition.RisingStonesSolar, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-556671983) + "RisingStonesSolar" }, { EExtraSkipCondition.RoguesGuild, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-525640832) + "RoguesGuild" }, { EExtraSkipCondition.NotRoguesGuild, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-754181016) + "NotRoguesGuild" }, { EExtraSkipCondition.DockStorehouse, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(2064364815) + "DockStorehouse" } }; diff --git a/Questionable.Model/Questionable.Model.Questing.Converter/StatusConverter.cs b/Questionable.Model/Questionable.Model.Questing.Converter/StatusConverter.cs index a173cd4..514d43b 100644 --- a/Questionable.Model/Questionable.Model.Questing.Converter/StatusConverter.cs +++ b/Questionable.Model/Questionable.Model.Questing.Converter/StatusConverter.cs @@ -9,15 +9,15 @@ public sealed class StatusConverter : EnumConverter { { EStatus.Transfiguration, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1080763882) + "Transfiguration" }, { EStatus.Hidden, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-535107510) + "Hidden" }, { EStatus.FaceInTheCrowd, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-533388670) + "FaceInTheCrowd" } }; diff --git a/Questionable.Model/Questionable.Model.Questing/EActionExtensions.cs b/Questionable.Model/Questionable.Model.Questing/EActionExtensions.cs index 1e276d9..caf08cd 100644 --- a/Questionable.Model/Questionable.Model.Questing/EActionExtensions.cs +++ b/Questionable.Model/Questionable.Model.Questing/EActionExtensions.cs @@ -4,122 +4,34 @@ public static class EActionExtensions { public static bool RequiresMount(this EAction action) { - int num = ((action > EAction.Wasshoi) ? 2059469552 : 2059469519); - bool result = default(bool); - while (true) + switch (action) { - int num2 = num; - int num3 = 2059469521; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 27: - num = ((action == EAction.PeculiarLight) ? 2059469512 : 2059469507); - break; - case 13: - num = ((action == EAction.Fumigate) ? 2059469512 : 2059469533); - break; - case 19: - num = (((uint)(action - 1764) <= 1u) ? 2059469512 : 2059469553); - break; - case 8: - num = ((action > EAction.BigSneeze) ? 2059469504 : 2059469520); - break; - case 2: - num = ((action == EAction.Trample) ? 2059469512 : 2059469524); - break; - case 15: - num = ((action == EAction.Wasshoi) ? 2059469512 : 2059469555); - break; - case 9: - return result; - case 10: - num = ((action == EAction.SiphonSnout) ? 2059469512 : 2059469514); - break; - case 32: - num = 2059469525; - break; - case 33: - num = ((action > EAction.BlueGulal) ? 2059469505 : 2059469516); - break; - case 26: - num = (((uint)(action - 44517) > 1u) ? 2059469525 : 2059469512); - break; - case 4: - result = false; - num = 2059469528; - break; - case 34: - num = 2059469525; - break; - case 23: - num = 2059469519; - break; - case 21: - num = (((uint)(action - 6293) <= 1u) ? 2059469512 : 2059469526); - break; - case 18: - num = 2059469525; - break; - case 3: - num = ((action == EAction.Cannonfire) ? 2059469512 : 2059469509); - break; - case 0: - num = ((action == EAction.ElectrixFlux) ? 2059469512 : 2059469527); - break; - case 30: - num = ((action > EAction.Trample) ? 2059469517 : 2059469529); - break; - case 29: - num = ((action > EAction.PeculiarLight) ? 2059469522 : 2059469531); - break; - case 6: - num = ((action == EAction.HopStep) ? 2059469512 : 2059469530); - break; - case 12: - num = 2059469525; - break; - case 5: - num = 2059469525; - break; - case 7: - num = ((action == EAction.Inhale) ? 2059469512 : 2059469534); - break; - case 22: - num = ((action == EAction.ShroudedLuminescence) ? 2059469512 : 2059469515); - break; - case 16: - num = ((action > EAction.HopStep) ? 2059469535 : 2059469521); - break; - case 14: - num = ((action == EAction.BosomBrook) ? 2059469512 : 2059469511); - break; - case 20: - num = (((uint)(action - 29382) <= 2u) ? 2059469512 : 2059469518); - break; - case 11: - num = 2059469525; - break; - case 17: - num = ((action == EAction.BuffetGriffin) ? 2059469512 : 2059469523); - break; - case 25: - result = true; - num = 2059469528; - break; - case 1: - num = ((action == EAction.Dismount) ? 2059469512 : 2059469506); - break; - case 24: - num = ((action == EAction.BuffetSanuwa) ? 2059469512 : 2059469532); - break; - case 28: - num = ((action > EAction.Fumigate) ? 2059469508 : 2059469513); - break; - case 31: - num = 2059469525; - break; - } + case EAction.Dismount: + case EAction.FieryBreath: + case EAction.BigSneeze: + case EAction.BuffetGriffin: + case EAction.Trample: + case EAction.BuffetSanuwa: + case EAction.Fumigate: + case EAction.Roar: + case EAction.Seed: + case EAction.Inhale: + case EAction.Wasshoi: + case EAction.SiphonSnout: + case EAction.PeculiarLight: + case EAction.Cannonfire: + case EAction.RedGulal: + case EAction.YellowGulal: + case EAction.BlueGulal: + case EAction.ElectrixFlux: + case EAction.HopStep: + case EAction.BosomBrook: + case EAction.ShroudedLuminescence: + case EAction.TrickstersTreat: + case EAction.TreatersTrick: + return true; + default: + return false; } } } diff --git a/Questionable.Model/Questionable.Model.Questing/ElementId.cs b/Questionable.Model/Questionable.Model.Questing/ElementId.cs index 75c6605..549ebed 100644 --- a/Questionable.Model/Questionable.Model.Questing/ElementId.cs +++ b/Questionable.Model/Questionable.Model.Questing/ElementId.cs @@ -1,8 +1,6 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Globalization; -using System.Runtime.CompilerServices; namespace Questionable.Model.Questing; @@ -17,104 +15,49 @@ public abstract class ElementId : IComparable, IEquatable public int CompareTo(ElementId? other) { - int num = (((object)this != other) ? 1197187714 : 1197187715); - while (true) + if ((object)this == other) { - int num2 = num; - int num3 = 1197187714; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1197187715; - break; - case 1: - return 0; - case 4: - return 1; - case 3: - return Value.CompareTo(other.Value); - case 0: - num = (((object)other != null) ? 1197187713 : 1197187718); - break; - } + return 0; } - } - - int IComparable.CompareTo(ElementId? other) - { - //ILSpy generated this explicit interface implementation from .override directive in CompareTo - return this.CompareTo(other); + if ((object)other == null) + { + return 1; + } + return Value.CompareTo(other.Value); } public bool Equals(ElementId? other) { - int num = (((object)other != null) ? (-1056496819) : (-1056496824)); - while (true) + if ((object)other == null) { - int num2 = num; - int num3 = -1056496820; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = -1056496824; - break; - case 1: - num = (((object)this != other) ? (-1056496818) : (-1056496823)); - break; - case 6: - return Value == other.Value; - case 0: - return false; - case 5: - return true; - case 4: - return false; - case 2: - num = ((!_200C_200B_200B_202C_206F_206A_206E_206A_206F_202A_200F_202B_200D_206C_206D_206B_206D_206C_202B_202A_202C_206C_206D_206A_206B_200C_206B_200D_206E_200F_206A_202D_206A_202D_202E_200E_200B_200E_206D_202D_202E(_202C_206B_200C_206A_206E_202B_200E_200D_206A_206F_202E_206F_206C_206D_200C_200C_206A_200F_202B_202C_202A_200C_202B_202A_206F_206B_200D_200E_206C_206E_206D_206B_200C_206E_200D_200E_200D_206C_206F_206A_202E((object?)other), _202E_202E_200B_202E_202A_202C_206B_202C_200D_200C_206E_206C_206E_200E_206C_202B_206C_200C_202D_202A_200C_200F_200C_200E_206C_200D_200B_206E_206A_200D_206B_206B_206E_202D_202B_202D_200F_200D_202B_202D_202E((object?)this))) ? (-1056496822) : (-1056496820)); - break; - } + return false; } - } - - bool IEquatable.Equals(ElementId? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); + if ((object)this == other) + { + return true; + } + if (other.GetType() != GetType()) + { + return false; + } + return Value == other.Value; } public override bool Equals(object? obj) { - int num = ((obj != null) ? (-1614624425) : (-1614624428)); - while (true) + if (obj == null) { - int num2 = num; - int num3 = -1614624426; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - return Equals((ElementId)obj); - case 1: - num = ((this != obj) ? (-1614624429) : (-1614624432)); - break; - case 3: - return false; - case 6: - return true; - case 0: - num = -1614624428; - break; - case 2: - return false; - case 5: - num = ((!_200C_200B_200B_202C_206F_206A_206E_206A_206F_202A_200F_202B_200D_206C_206D_206B_206D_206C_202B_202A_202C_206C_206D_206A_206B_200C_206B_200D_206E_200F_206A_202D_206A_202D_202E_200E_200B_200E_206D_202D_202E(_202C_206B_200C_206A_206E_202B_200E_200D_206A_206F_202E_206F_206C_206D_200C_200C_206A_200F_202B_202C_202A_200C_202B_202A_206F_206B_200D_200E_206C_206E_206D_206B_200C_206E_200D_200E_200D_206C_206F_206A_202E(obj), _202E_202E_200B_202E_202A_202C_206B_202C_200D_200C_206E_206C_206E_200E_206C_202B_206C_200C_202D_202A_200C_200F_200C_200E_206C_200D_200B_206E_206A_200D_206B_206B_206E_202D_202B_202D_200F_200D_202B_202D_202E((object?)this))) ? (-1614624430) : (-1614624427)); - break; - } + return false; } + if (this == obj) + { + return true; + } + if (obj.GetType() != GetType()) + { + return false; + } + return Equals((ElementId)obj); } public override int GetHashCode() @@ -124,111 +67,39 @@ public abstract class ElementId : IComparable, IEquatable public static bool operator ==(ElementId? left, ElementId? right) { - return _206F_202B_202B_200B_200C_200E_206F_206B_206A_206D_202B_206E_206C_200B_202B_200D_202C_206A_200F_206F_200D_206A_200E_206B_200F_206F_206E_200B_206C_202D_202A_202E_206F_202B_206A_206E_200F_206A_206C_206D_202E((object?)left, (object?)right); + return object.Equals(left, right); } public static bool operator !=(ElementId? left, ElementId? right) { - return !_206F_202B_202B_200B_200C_200E_206F_206B_206A_206D_202B_206E_206C_200B_202B_200D_202C_206A_200F_206F_200D_206A_200E_206B_200F_206F_206E_200B_206C_202D_202A_202E_206F_202B_206A_206E_200F_206A_206C_206D_202E((object?)left, (object?)right); + return !object.Equals(left, right); } - [MethodImpl(MethodImplOptions.NoInlining)] public static ElementId FromString(string value) { - int num = ((!_200B_202C_206E_200D_200E_202D_200E_206E_200B_200F_206B_200E_206B_200E_202C_200F_200F_202A_200B_206C_200F_202C_200E_202D_202B_206E_206F_206E_200D_202E_200F_206B_206B_202A_200E_200E_200B_202A_202D_206B_202E(value, global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(2047666330))) ? (-1593570026) : (-1593570027)); - while (true) + if (value.StartsWith("U")) { - int num2 = num; - int num3 = -1593570025; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - num = ((!_200B_202C_206E_200D_200E_202D_200E_206E_200B_200F_206B_200E_206B_200E_202C_200F_200F_202A_200B_206C_200F_202C_200E_202D_202B_206E_206F_206E_200D_202E_200F_206B_206B_202A_200E_200E_200B_202A_202D_206B_202E(value, global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1969362176))) ? (-1593570028) : (-1593570029)); - break; - case 2: - return new SatisfactionSupplyNpcId(ushort.Parse(_206E_206D_202D_202E_200E_200D_206B_200D_200B_202A_200E_206A_206B_202A_206F_202E_206C_206D_200B_206B_206A_206F_202D_206B_202C_206D_206D_202D_206E_206B_206A_200D_200B_206B_206F_202B_206A_206C_206A_200F_202E(value, 1), _206F_200B_206F_206A_206C_202D_200C_206F_200C_206E_202A_202C_206A_206B_206E_202B_206F_206F_200B_200C_202E_200C_202A_200B_200B_202A_202C_206D_202A_206F_200D_200C_202A_206F_200D_202D_206B_202E())); - case 0: - num = -1593570027; - break; - case 3: - return new QuestId(ushort.Parse(value, _206F_200B_206F_206A_206C_202D_200C_206F_200C_206E_202A_202C_206A_206B_206E_202B_206F_206F_200B_200C_202E_200C_202A_200B_200B_202A_202C_206D_202A_206F_200D_200C_202A_206F_200D_202D_206B_202E())); - case 4: - return new UnlockLinkId(ushort.Parse(_206E_206D_202D_202E_200E_200D_206B_200D_200B_202A_200E_206A_206B_202A_206F_202E_206C_206D_200B_206B_206A_206F_202D_206B_202C_206D_206D_202D_206E_206B_206A_200D_200B_206B_206F_202B_206A_206C_206A_200F_202E(value, 1), _206F_200B_206F_206A_206C_202D_200C_206F_200C_206E_202A_202C_206A_206B_206E_202B_206F_206F_200B_200C_202E_200C_202A_200B_200B_202A_202C_206D_202A_206F_200D_200C_202A_206F_200D_202D_206B_202E())); - } + return new UnlockLinkId(ushort.Parse(value.Substring(1), CultureInfo.InvariantCulture)); } + return new QuestId(ushort.Parse(value, CultureInfo.InvariantCulture)); } public static List FromStrings(IEnumerable values, out int skippedCount) { List list = new List(); skippedCount = 0; - IEnumerator enumerator = values.GetEnumerator(); - try + foreach (string value in values) { - int num = 1723974477; - ElementId elementId = default(ElementId); - while (true) + if (TryFromString(value, out ElementId elementId) && elementId != null) { - int num2 = num; - int num3 = 1723974478; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - num = 1723974477; - break; - case 1: - num = ((!(elementId != null)) ? 1723974476 : 1723974478); - break; - case 0: - list.Add(elementId); - num = 1723974477; - break; - case 3: - num = (_206A_202C_206C_202A_202C_206E_206C_202D_200B_200B_202D_202C_200B_200E_200E_202E_206D_202D_206A_202E_206E_206A_202B_206C_202C_202D_206D_206C_200D_206D_200B_200C_202A_206D_206C_206B_200E_200E_200C_206A_202E((IEnumerator?)enumerator) ? 1723974474 : 1723974472); - break; - case 2: - skippedCount++; - num = 1723974477; - break; - case 4: - num = ((!TryFromString(enumerator.Current, out elementId)) ? 1723974476 : 1723974479); - break; - case 6: - return list; - } - } - } - finally - { - int num = ((enumerator == null) ? (-1730205036) : (-1730205035)); - while (true) - { - int num7 = num; - int num3 = -1730205036; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1730205035; - break; - case 1: - _202C_202B_206B_206D_206B_206E_200B_206B_202E_202D_206A_206C_202E_206D_206C_202D_206B_206B_202B_200F_206F_206C_200F_200F_200D_206E_202E_200F_206B_200C_200F_200E_206D_202B_200F_200D_200C_206D_202C_202D_202E((IDisposable?)enumerator); - num = -1730205036; - break; - case 0: - goto end_IL_0112; - } - continue; - end_IL_0112: - break; + list.Add(elementId); + } + else + { + skippedCount++; } } + return list; } public static bool TryFromString(string value, out ElementId? elementId) @@ -246,49 +117,4 @@ public abstract class ElementId : IComparable, IEquatable } public abstract override string ToString(); - - static Type? _202C_206B_200C_206A_206E_202B_200E_200D_206A_206F_202E_206F_206C_206D_200C_200C_206A_200F_202B_202C_202A_200C_202B_202A_206F_206B_200D_200E_206C_206E_206D_206B_200C_206E_200D_200E_200D_206C_206F_206A_202E(object? P_0) - { - return P_0.GetType(); - } - - static Type? _202E_202E_200B_202E_202A_202C_206B_202C_200D_200C_206E_206C_206E_200E_206C_202B_206C_200C_202D_202A_200C_200F_200C_200E_206C_200D_200B_206E_206A_200D_206B_206B_206E_202D_202B_202D_200F_200D_202B_202D_202E(object? P_0) - { - return P_0.GetType(); - } - - static bool _200C_200B_200B_202C_206F_206A_206E_206A_206F_202A_200F_202B_200D_206C_206D_206B_206D_206C_202B_202A_202C_206C_206D_206A_206B_200C_206B_200D_206E_200F_206A_202D_206A_202D_202E_200E_200B_200E_206D_202D_202E(Type? P_0, Type? P_1) - { - return P_0 != P_1; - } - - static bool _206F_202B_202B_200B_200C_200E_206F_206B_206A_206D_202B_206E_206C_200B_202B_200D_202C_206A_200F_206F_200D_206A_200E_206B_200F_206F_206E_200B_206C_202D_202A_202E_206F_202B_206A_206E_200F_206A_206C_206D_202E(object? P_0, object? P_1) - { - return object.Equals(P_0, P_1); - } - - static bool _200B_202C_206E_200D_200E_202D_200E_206E_200B_200F_206B_200E_206B_200E_202C_200F_200F_202A_200B_206C_200F_202C_200E_202D_202B_206E_206F_206E_200D_202E_200F_206B_206B_202A_200E_200E_200B_202A_202D_206B_202E(string? P_0, string? P_1) - { - return P_0.StartsWith(P_1); - } - - static string? _206E_206D_202D_202E_200E_200D_206B_200D_200B_202A_200E_206A_206B_202A_206F_202E_206C_206D_200B_206B_206A_206F_202D_206B_202C_206D_206D_202D_206E_206B_206A_200D_200B_206B_206F_202B_206A_206C_206A_200F_202E(string? P_0, int P_1) - { - return P_0.Substring(P_1); - } - - static CultureInfo? _206F_200B_206F_206A_206C_202D_200C_206F_200C_206E_202A_202C_206A_206B_206E_202B_206F_206F_200B_200C_202E_200C_202A_200B_200B_202A_202C_206D_202A_206F_200D_200C_202A_206F_200D_202D_206B_202E() - { - return CultureInfo.InvariantCulture; - } - - static bool _206A_202C_206C_202A_202C_206E_206C_202D_200B_200B_202D_202C_200B_200E_200E_202E_206D_202D_206A_202E_206E_206A_202B_206C_202C_202D_206D_206C_200D_206D_200B_200C_202A_206D_206C_206B_200E_200E_200C_206A_202E(IEnumerator? P_0) - { - return P_0.MoveNext(); - } - - static void _202C_202B_206B_206D_206B_206E_200B_206B_202E_202D_206A_206C_202E_206D_206C_202D_206B_206B_202B_200F_206F_206C_200F_200F_200D_206E_202E_200F_206B_200C_200F_200E_206D_202B_200F_200D_200C_206D_202C_202D_202E(IDisposable? P_0) - { - P_0.Dispose(); - } } diff --git a/Questionable.Model/Questionable.Model.Questing/ExcelRef.cs b/Questionable.Model/Questionable.Model.Questing/ExcelRef.cs index 7a6e656..146572b 100644 --- a/Questionable.Model/Questionable.Model.Questing/ExcelRef.cs +++ b/Questionable.Model/Questionable.Model.Questing/ExcelRef.cs @@ -56,79 +56,28 @@ public class ExcelRef public string AsKey() { - int num = ((Type == EType.Key) ? 50157888 : 50157889); - while (true) + if (Type != EType.Key) { - int num2 = num; - int num3 = 50157888; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0049; - case 0: - return _stringValue; - case 1: - throw _202A_206D_200F_202D_202D_206E_202B_206A_206B_200E_206A_206D_200B_202B_200F_202D_206D_200F_200E_202D_202A_206F_206D_200F_206B_200F_202A_206A_206B_202E_200B_206C_202B_206B_200C_202D_206D_202D_202D_202E_202E(); - } - continue; - IL_0049: - num = 50157889; + throw new InvalidOperationException(); } + return _stringValue; } public uint AsRowId() { - int num = ((Type == EType.RowId) ? 565255808 : 565255811); - while (true) + if (Type != EType.RowId) { - int num2 = num; - int num3 = 565255809; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0049; - case 1: - return _rowIdValue.Value; - case 2: - throw _202A_206D_200F_202D_202D_206E_202B_206A_206B_200E_206A_206D_200B_202B_200F_202D_206D_200F_200E_202D_202A_206F_206D_200F_206B_200F_202A_206A_206B_202E_200B_206C_202B_206B_200C_202D_206D_202D_202D_202E_202E(); - } - continue; - IL_0049: - num = 565255811; + throw new InvalidOperationException(); } + return _rowIdValue.Value; } public string AsRawString() { - int num = ((Type == EType.RawString) ? (-1382216459) : (-1382216460)); - while (true) + if (Type != EType.RawString) { - int num2 = num; - int num3 = -1382216459; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return _stringValue; - case 1: - throw _202A_206D_200F_202D_202D_206E_202B_206A_206B_200E_206A_206D_200B_202B_200F_202D_206D_200F_200E_202D_202A_206F_206D_200F_206B_200F_202A_206A_206B_202E_200B_206C_202B_206B_200C_202D_206D_202D_202D_202E_202E(); - case 2: - goto IL_0054; - } - continue; - IL_0054: - num = -1382216460; + throw new InvalidOperationException(); } - } - - static InvalidOperationException _202A_206D_200F_202D_202D_206E_202B_206A_206B_200E_206A_206D_200B_202B_200F_202D_206D_200F_200E_202D_202A_206F_206D_200F_206B_200F_202A_206A_206B_202E_200B_206C_202B_206B_200C_202D_206D_202D_202D_202E_202E() - { - return new InvalidOperationException(); + return _stringValue; } } diff --git a/Questionable.Model/Questionable.Model.Questing/QuestId.cs b/Questionable.Model/Questionable.Model.Questing/QuestId.cs index 885ac4f..6525d8b 100644 --- a/Questionable.Model/Questionable.Model.Questing/QuestId.cs +++ b/Questionable.Model/Questionable.Model.Questing/QuestId.cs @@ -11,17 +11,11 @@ public sealed class QuestId : ElementId public static QuestId FromRowId(uint rowId) { - int num = 65535; - return new QuestId((ushort)((rowId | (uint)num) - (rowId ^ (uint)num))); + return new QuestId((ushort)(rowId & 0xFFFF)); } public override string ToString() { - return base.Value.ToString(_200F_200E_202C_202C_206D_206C_200C_200C_200D_200C_202B_206D_202C_200E_200D_206A_200B_206B_202D_200D_206A_202C_206C_206B_206F_200B_200D_202B_202A_202D_200E_200C_206F_202C_202E_206A_200C_206F_200E_206C_202E()); - } - - static CultureInfo _200F_200E_202C_202C_206D_206C_200C_200C_200D_200C_202B_206D_202C_200E_200D_206A_200B_206B_202D_200D_206A_202C_206C_206B_206F_200B_200D_202B_202A_202D_200E_200C_206F_202C_202E_206A_200C_206F_200E_206C_202E() - { - return CultureInfo.InvariantCulture; + return base.Value.ToString(CultureInfo.InvariantCulture); } } diff --git a/Questionable.Model/Questionable.Model.Questing/QuestRootSerializer.cs b/Questionable.Model/Questionable.Model.Questing/QuestRootSerializer.cs index fbb17bb..eed72fa 100644 --- a/Questionable.Model/Questionable.Model.Questing/QuestRootSerializer.cs +++ b/Questionable.Model/Questionable.Model.Questing/QuestRootSerializer.cs @@ -3,7 +3,6 @@ using System.Collections; using System.Collections.Generic; using System.IO; using System.Linq; -using System.Runtime.CompilerServices; using System.Text.Encodings.Web; using System.Text.Json; using System.Text.Json.Nodes; @@ -14,143 +13,26 @@ namespace Questionable.Model.Questing; public static class QuestRootSerializer { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__4_0; - - public static Func _003C_003E9__5_0; - - public static Func _003C_003E9__5_1; - - public static Func _003C_003E9__6_0; - - public static Func _003C_003E9__6_1; - - internal bool _003CNoEmptyCollectionModifier_003Eb__4_0(object _, object? val) - { - ICollection collection = val as ICollection; - int num = ((collection == null) ? (-655689827) : (-655689826)); - while (true) - { - int num2 = num; - int num3 = -655689825; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return false; - case 1: - return _200E_200B_200C_206D_202A_206E_206A_202A_202B_200F_206D_202B_206F_202B_202D_200E_206A_202C_200C_206C_206B_206F_200C_202B_202C_200E_206B_200C_206E_200D_206D_202D_206D_206F_202A_202E_206E_200B_206A_200D_202E(collection) > 0; - case 0: - goto IL_0056; - } - continue; - IL_0056: - num = -655689826; - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal bool _003CDialogueChoiceSerializationModifier_003Eb__5_0(JsonPropertyInfo x) - { - return _202D_206F_200C_206B_200B_206C_206C_202B_202D_206D_200D_202C_202A_206C_202E_206D_202E_206A_200B_206D_202A_200D_200E_202B_200E_206F_200F_202C_202D_202A_200F_206E_202A_200E_200E_206F_206D_206F_200E_200E_202E(_200E_206E_202E_202A_206F_206B_202D_206D_200C_206C_202E_202E_206C_206F_200E_200B_206C_206D_202E_200C_206E_206D_202A_206F_200B_200C_206B_202C_206F_206A_200C_202E_202E_202D_200B_200D_200B_202C_206B_206F_202E(x), global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-282631776)); - } - - internal bool _003CDialogueChoiceSerializationModifier_003Eb__5_1(object obj, object? _) - { - DialogueChoice dialogueChoice = obj as DialogueChoice; - int num = ((dialogueChoice == null) ? 1809875924 : 1809875927); - while (true) - { - int num2 = num; - int num3 = 1809875926; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return false; - case 1: - return dialogueChoice.Type == EDialogChoiceType.YesNo; - case 0: - goto IL_0056; - } - continue; - IL_0056: - num = 1809875927; - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal bool _003CNonDefaultBoolModifier_003Eb__6_0(JsonPropertyInfo x) - { - return _202D_206F_200C_206B_200B_206C_206C_202B_202D_206D_200D_202C_202A_206C_202E_206D_202E_206A_200B_206D_202A_200D_200E_202B_200E_206F_200F_202C_202D_202A_200F_206E_202A_200E_200E_206F_206D_206F_200E_200E_202E(_200E_206E_202E_202A_206F_206B_202D_206D_200C_206C_202E_202E_206C_206F_200E_200B_206C_206D_202E_200C_206E_206D_202A_206F_200B_200C_206B_202C_206F_206A_200C_202E_202E_202D_200B_200D_200B_202C_206B_206F_202E(x), global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-395466289)); - } - - internal bool _003CNonDefaultBoolModifier_003Eb__6_1(object obj, object? _) - { - QuestRoot questRoot = obj as QuestRoot; - int num = ((questRoot == null) ? (-737791523) : (-737791524)); - while (true) - { - int num2 = num; - int num3 = -737791523; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_004a; - case 0: - return false; - case 1: - return !questRoot.Interruptible; - } - continue; - IL_004a: - num = -737791524; - } - } - - static int _200E_200B_200C_206D_202A_206E_206A_202A_202B_200F_206D_202B_206F_202B_202D_200E_206A_202C_200C_206C_206B_206F_200C_202B_202C_200E_206B_200C_206E_200D_206D_202D_206D_206F_202A_202E_206E_200B_206A_200D_202E(ICollection P_0) - { - return P_0.Count; - } - - static string _200E_206E_202E_202A_206F_206B_202D_206D_200C_206C_202E_202E_206C_206F_200E_200B_206C_206D_202E_200C_206E_206D_202A_206F_200B_200C_206B_202C_206F_206A_200C_202E_202E_202D_200B_200D_200B_202C_206B_206F_202E(JsonPropertyInfo P_0) - { - return P_0.Name; - } - - static bool _202D_206F_200C_206B_200B_206C_206C_202B_202D_206D_200D_202C_202A_206C_202E_206D_202E_206A_200B_206D_202A_200D_200E_202B_200E_206F_200F_202C_202D_202A_200F_206E_202A_200E_200E_206F_206D_206F_200E_200E_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - } - public const string SchemaUrl = "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/QuestPaths/quest-v1.json"; public static JsonSerializerOptions CreateOptions() { - JsonSerializerOptions jsonSerializerOptions = _200C_206A_202B_202B_206D_206F_200C_206D_206B_200B_206F_202E_206B_206A_206D_206D_200B_206E_206F_206B_202B_206D_200D_206C_200E_202B_206B_200F_200F_202B_200B_206B_200B_206E_206C_206E_206B_202B_200D_206C_202E(); - _206F_202C_200E_202A_200F_200F_206B_200D_206A_200F_206D_206F_202E_200B_200D_200B_200B_200F_206D_200F_200E_202C_200C_206E_202D_200E_206D_202E_206C_206A_206D_206F_206C_202C_202A_202C_200E_206D_200D_202E(jsonSerializerOptions, _202E_206B_200E_200C_206E_202C_202D_200C_202B_200B_202C_202B_202B_202C_206D_202B_200B_200D_206A_206C_200B_206D_206D_202C_206E_200F_202E_206A_200C_206C_206C_206F_206B_202B_200C_202B_200D_200C_202E_206C_202E()); - _206D_200E_200C_206D_202B_202A_202C_206C_206C_202A_206C_206C_206F_202E_202C_200F_206F_202E_200E_200E_202B_206C_202D_206A_200E_200D_206C_200B_200B_200D_200E_206E_200D_200E_200B_206E_202E_202A_200D_202E(jsonSerializerOptions, JsonIgnoreCondition.WhenWritingDefault); - _202A_200B_202B_202C_206F_200B_202A_202C_206A_200C_206F_206B_200C_206F_200D_206E_202B_206F_206D_206C_202B_202E_200D_202A_206A_202B_200D_202A_206B_202D_202A_206B_206C_206E_202E_202C_202A_202C_200E_200E_202E(jsonSerializerOptions, true); - _200D_206A_200C_206A_202A_206E_202E_202D_200C_206A_200D_206C_202C_202B_202C_202C_206D_200B_200E_206E_206A_200D_206F_200E_206A_202A_206B_202B_206A_200D_200D_202E_200E_206E_206E_200E_202B_202D_206D_206C_202E(jsonSerializerOptions, false); - DefaultJsonTypeInfoResolver defaultJsonTypeInfoResolver = _200F_202B_202C_200E_206C_206F_202D_200C_202D_206F_202A_200D_206F_200F_200D_206D_206B_202C_206E_200F_200D_202A_206F_206D_202E_206C_200F_202A_206A_200F_202E_200F_206C_206B_200C_206B_200E_206B_206B_200C_202E(); - _200B_202A_202A_202E_206B_206D_200B_206B_200C_202A_202B_200B_200B_206C_206C_200E_202D_206D_202E_200C_206E_200C_202D_202B_200F_206B_200B_206E_206E_206C_202B_202B_202D_206A_206D_206D_202B_200D_202D_202E(defaultJsonTypeInfoResolver).Add(NoEmptyCollectionModifier); - _200B_202A_202A_202E_206B_206D_200B_206B_200C_202A_202B_200B_200B_206C_206C_200E_202D_206D_202E_200C_206E_200C_202D_202B_200F_206B_200B_206E_206E_206C_202B_202B_202D_206A_206D_206D_202B_200D_202D_202E(defaultJsonTypeInfoResolver).Add(DialogueChoiceSerializationModifier); - _200B_202A_202A_202E_206B_206D_200B_206B_200C_202A_202B_200B_200B_206C_206C_200E_202D_206D_202E_200C_206E_200C_202D_202B_200F_206B_200B_206E_206E_206C_202B_202B_202D_206A_206D_206D_202B_200D_202D_202E(defaultJsonTypeInfoResolver).Add(NonDefaultBoolModifier); - _206E_200F_200D_202E_206E_206A_200F_206D_206E_200D_206E_206B_206B_202A_202A_202B_206A_206F_206B_202A_206D_206B_206A_206C_206C_202E_206D_202E_206E_206A_202A_206E_206A_206B_206B_202B_202D_206D_206A_206D_202E(jsonSerializerOptions, (IJsonTypeInfoResolver)defaultJsonTypeInfoResolver); - return jsonSerializerOptions; + return new JsonSerializerOptions + { + Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping, + DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingDefault, + WriteIndented = true, + IncludeFields = false, + TypeInfoResolver = new DefaultJsonTypeInfoResolver + { + Modifiers = + { + (Action)NoEmptyCollectionModifier, + (Action)DialogueChoiceSerializationModifier, + (Action)NonDefaultBoolModifier + } + } + }; } public static QuestRoot Clone(QuestRoot source, JsonSerializerOptions options) @@ -158,479 +40,64 @@ public static class QuestRootSerializer return JsonSerializer.Deserialize(JsonSerializer.Serialize(source, options), options); } - [MethodImpl(MethodImplOptions.NoInlining)] public static byte[] SerializeToUtf8(QuestRoot questRoot, JsonSerializerOptions options) { JsonObject obj = (JsonObject)JsonSerializer.SerializeToNode(questRoot, options); - JsonObject jsonObject = _202E_202D_200F_202C_202A_206A_202C_200B_206B_202B_200B_200C_200D_206B_206D_200D_200E_200B_200B_206B_206B_200C_200C_200B_200B_206B_206D_206A_206A_200E_202A_202C_202A_206F_206A_202A_206C_206A_202B_206C_202E((JsonNodeOptions?)null); - _200E_202C_200B_202D_206F_202C_206B_206C_200B_202A_206B_206F_202C_200B_206B_206B_200F_206D_202E_200C_200C_202C_206C_206A_202C_200E_206B_200C_206E_206D_202D_200E_200F_206B_202E_202D_206C_202D_200B_202B_202E(jsonObject, global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(993021410), _202D_206A_200D_200E_202C_206D_200E_200D_206A_202D_206B_206E_202C_200D_200D_202E_206F_200C_206A_206B_206E_202B_206C_206C_202A_200E_206A_200D_206A_206C_202E_202B_206B_200D_206C_200F_206C_202A_200C_202D_202E(global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-550734837))); - IEnumerator> enumerator = _202C_200D_206C_206C_206D_206D_206C_200C_206C_202C_200F_200E_202A_206B_206D_200C_200F_206E_206E_206F_206A_206F_206D_206D_206F_202E_206B_200E_206A_202D_206B_206B_202A_200B_206B_202B_206D_206B_202B_206C_202E(obj); - try + JsonObject jsonObject = new JsonObject { { "$schema", "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/QuestPaths/quest-v1.json" } }; + foreach (var (propertyName, jsonNode2) in obj) { - int num = 576637742; - while (true) - { - int num2 = num; - int num3 = 576637740; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 576637742; - break; - case 2: - num = (_206C_202D_200C_206A_206E_206F_202D_200F_200B_202C_206C_202D_200C_206A_202D_200F_200E_202E_202A_206B_202D_200F_206B_200F_200C_202D_206A_202E_206B_200B_206B_206B_206E_206F_200D_206E_202A_206B_206D_206D_202E((IEnumerator)enumerator) ? 576637741 : 576637743); - break; - case 1: - var (text2, jsonNode2) = (KeyValuePair)(ref enumerator.Current); - _200E_202C_200B_202D_206F_202C_206B_206C_200B_202A_206B_206F_202C_200B_206B_206B_200F_206D_202E_200C_200C_202C_206C_206A_202C_200E_206B_200C_206E_206D_202D_200E_200F_206B_202E_202D_206C_202D_200B_202B_202E(jsonObject, text2, (jsonNode2 != null) ? _202D_200D_202A_202C_206D_206F_200F_206C_200F_202C_200E_202D_202B_200B_206D_206F_200C_202C_202D_202D_200C_206E_206B_200E_206D_202B_206C_206D_206F_202C_200B_206A_206A_202E_200F_200F_206E_202E_200E_200F_202E(jsonNode2) : null); - num = 576637742; - break; - case 3: - goto end_IL_004c; - } - continue; - end_IL_004c: - break; - } + jsonObject.Add(propertyName, jsonNode2?.DeepClone()); } - finally + using MemoryStream memoryStream = new MemoryStream(); + using (Utf8JsonWriter writer = new Utf8JsonWriter(memoryStream, new JsonWriterOptions { - int num = ((enumerator == null) ? (-396801584) : (-396801583)); - while (true) - { - int num7 = num; - int num3 = -396801584; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 0: - goto end_IL_0113; - case 1: - _206A_202C_206D_206D_206E_200B_200B_202B_206C_202B_206E_206B_206E_200B_202E_206D_202E_202D_200D_206B_200D_200C_202B_200C_200B_206B_200F_202A_206F_206A_206A_200F_202D_206E_202C_206C_206F_206C_206D_200C_202E((IDisposable)enumerator); - num = -396801584; - break; - case 2: - num = -396801583; - break; - } - continue; - end_IL_0113: - break; - } - } - MemoryStream memoryStream = _202E_202C_206A_200F_202B_200B_206B_200C_206B_200D_206B_202B_202B_202A_206A_200E_200D_206C_206D_202D_206D_206A_202A_206E_200E_202D_200C_206C_202B_202C_202A_206E_206C_200D_202A_206B_200D_200E_202E_206E_202E(); - try + Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping, + Indented = true, + IndentSize = 2, + IndentCharacter = ' ', + NewLine = "\n" + })) { - Utf8JsonWriter utf8JsonWriter = _202C_206D_202B_202C_202C_206B_200C_206B_202C_202B_202E_206D_206D_202B_202D_202B_206C_200D_200E_206F_206A_200B_200D_202D_202B_200E_200E_202B_206A_202E_200D_206D_202A_202C_206D_202C_200C_202B_200E_206C_202E((Stream)memoryStream, new JsonWriterOptions - { - Encoder = _202E_206B_200E_200C_206E_202C_202D_200C_202B_200B_202C_202B_202B_202C_206D_202B_200B_200D_206A_206C_200B_206D_206D_202C_206E_200F_202E_206A_200C_206C_206C_206F_206B_202B_200C_202B_200D_200C_202E_206C_202E(), - Indented = true, - IndentSize = 2, - IndentCharacter = ' ' - }); - try - { - _200B_200C_200F_206A_202B_202B_202E_200D_206F_206C_206B_202E_206C_200E_206A_202B_200F_206A_200F_200C_206B_200D_206E_200D_200B_202E_202E_206C_206B_200D_200D_206B_206C_202D_202C_202E_206F_206E_202A_200D_202E((JsonNode)jsonObject, utf8JsonWriter, options); - } - finally - { - int num = ((utf8JsonWriter == null) ? (-2004320933) : (-2004320934)); - while (true) - { - int num10 = num; - int num3 = -2004320933; - int num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - case 2: - num = -2004320934; - break; - case 1: - _206A_202C_206D_206D_206E_200B_200B_202B_206C_202B_206E_206B_206E_200B_202E_206D_202E_202D_200D_206B_200D_200C_202B_200C_200B_206B_200F_202A_206F_206A_206A_200F_202D_206E_202C_206C_206F_206C_206D_200C_202E((IDisposable)utf8JsonWriter); - num = -2004320933; - break; - case 0: - goto end_IL_01ca; - } - continue; - end_IL_01ca: - break; - } - } - _202E_206A_200F_206F_206D_200B_200F_206E_202E_206E_206C_202C_202E_200D_202B_202B_202B_206E_200E_202D_206A_206C_200C_200E_200F_202C_206E_200F_206B_202A_206B_202E_206B_206D_202B_202D_202E_206E_202C_206E_202E((Stream)memoryStream, (byte)10); - return _206D_206E_206C_206D_202A_206D_202E_200E_206E_206A_202D_200B_206A_200C_206D_202B_202D_202B_206B_200F_206B_206F_202A_202B_202C_202C_202E_206C_200B_206F_200F_206E_206F_206C_202E_206B_200F_202A_200E_206D_202E(memoryStream); - } - finally - { - int num = ((memoryStream == null) ? (-1070998518) : (-1070998519)); - while (true) - { - int num13 = num; - int num3 = -1070998520; - int num4 = num13; - int num14 = num4 + num3; - int num15 = num4 & num3; - switch (num14 - (num15 + num15)) - { - case 0: - num = -1070998519; - break; - case 1: - _206A_202C_206D_206D_206E_200B_200B_202B_206C_202B_206E_206B_206E_200B_202E_206D_202E_202D_200D_206B_200D_200C_202B_200C_200B_206B_200F_202A_206F_206A_206A_200F_202D_206E_202C_206C_206F_206C_206D_200C_202E((IDisposable)memoryStream); - num = -1070998518; - break; - case 2: - goto end_IL_024b; - } - continue; - end_IL_024b: - break; - } + jsonObject.WriteTo(writer, options); } + memoryStream.WriteByte(10); + return memoryStream.ToArray(); } private static void NoEmptyCollectionModifier(JsonTypeInfo typeInfo) { - IEnumerator enumerator = _200C_206E_202C_202D_206B_206A_206E_200E_206A_202A_200C_202E_202E_200E_206A_200F_206D_200B_206D_200F_206A_200C_202B_200C_200E_200F_206D_206F_200B_202B_206D_200B_206C_202B_206C_206B_206E_200C_200D_202D_202E(typeInfo).GetEnumerator(); - try + foreach (JsonPropertyInfo property in typeInfo.Properties) { - int num = 1452355275; - JsonPropertyInfo current = default(JsonPropertyInfo); - while (true) + if (typeof(ICollection).IsAssignableFrom(property.PropertyType)) { - int num2 = num; - int num3 = 1452355274; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - num = (_206C_202D_200C_206A_206E_206F_202D_200F_200B_202C_206C_202D_200C_206A_202D_200F_200E_202E_202A_206B_202D_200F_206B_200F_200C_202D_206A_202E_206B_200B_206B_206B_206E_206F_200D_206E_202A_206B_206D_206D_202E((IEnumerator)enumerator) ? 1452355273 : 1452355278); - break; - case 2: - _206E_202A_206F_200B_202A_200D_202A_202D_202A_200E_206C_206F_202C_206E_206E_200F_206E_200B_200D_202E_206D_200B_206D_200C_206F_200C_206F_200F_202A_202C_202A_206D_202E_206F_202A_200F_200B_206C_202A_200F_202E(current, (Func)delegate(object _, object? val) - { - ICollection collection = val as ICollection; - int num10 = ((collection == null) ? (-655689827) : (-655689826)); - while (true) - { - int num11 = num10; - int num12 = -655689825; - int num13 = num11; - int num14 = num13 + num12; - int num15 = num13 & num12; - switch (num14 - (num15 + num15)) - { - case 2: - return false; - case 1: - return _003C_003Ec._200E_200B_200C_206D_202A_206E_206A_202A_202B_200F_206D_202B_206F_202B_202D_200E_206A_202C_200C_206C_206B_206F_200C_202B_202C_200E_206B_200C_206E_200D_206D_202D_206D_206F_202A_202E_206E_200B_206A_200D_202E(collection) > 0; - case 0: - goto IL_0056; - } - continue; - IL_0056: - num10 = -655689826; - } - }); - num = 1452355275; - break; - case 3: - current = enumerator.Current; - num = ((!_200F_206B_200D_202A_202C_206B_200B_206C_200F_200C_202B_202E_200D_202E_206F_202A_200F_206B_200D_202D_206F_206F_202E_200B_206C_206D_202E_206D_200C_206E_200C_202C_202A_200B_202A_200F_200D_202C_200D_202E_202E(_206B_206D_202D_200C_206F_206F_202D_206B_202C_200E_206B_206D_200B_200E_202C_206C_200F_206E_206C_206D_200F_202E_200E_200C_200C_202E_206A_202A_206F_206C_206C_202B_200F_202E_202C_206B_206B_200E_200F_202A_202E(typeof(ICollection).TypeHandle), _206B_200F_202D_206D_206C_202D_202D_206F_206B_206C_202C_206E_202C_202C_200C_206B_206A_206E_206C_200F_200B_206C_202A_202A_200C_202D_200C_200B_202A_200B_202A_202B_202C_202B_200D_202A_206C_206F_200F_202B_202E(current))) ? 1452355275 : 1452355272); - break; - case 0: - num = 1452355275; - break; - case 4: - return; - } - } - } - finally - { - int num = ((enumerator == null) ? (-517751485) : (-517751488)); - while (true) - { - int num7 = num; - int num3 = -517751487; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 0: - num = -517751488; - break; - case 1: - _206A_202C_206D_206D_206E_200B_200B_202B_206C_202B_206E_206B_206E_200B_202E_206D_202E_202D_200D_206B_200D_200C_202B_200C_200B_206B_200F_202A_206F_206A_206A_200F_202D_206E_202C_206C_206F_206C_206D_200C_202E((IDisposable)enumerator); - num = -517751485; - break; - case 2: - goto end_IL_0100; - } - continue; - end_IL_0100: - break; + property.ShouldSerialize = (object _, object? val) => val is ICollection collection && collection.Count > 0; } } } private static void DialogueChoiceSerializationModifier(JsonTypeInfo typeInfo) { - int num = ((!_202E_202E_202B_202B_202C_200C_206F_206A_200D_206B_206E_200F_206E_200C_206C_206C_206E_206B_200B_200C_206B_200B_202B_202E_206B_206C_206A_202D_206E_200F_202E_206A_202B_206E_202E_200D_202D_202E_206C_200F_202E(_202C_202E_206A_206F_200E_202B_202E_202B_200F_202C_202D_202C_206D_200F_200C_202D_206C_202D_206C_206D_206C_206A_202C_206F_200C_202B_206B_206A_206A_206A_206D_206A_202A_206A_202A_206B_206C_206D_200C_206B_202E(typeInfo), _206B_206D_202D_200C_206F_206F_202D_206B_202C_200E_206B_206D_200B_200E_202C_206C_200F_206E_206C_206D_200F_202E_200E_200C_200C_202E_206A_202A_206F_206C_206C_202B_200F_202E_202C_206B_206B_200E_200F_202A_202E(typeof(DialogueChoice).TypeHandle))) ? (-1647660698) : (-1647660700)); - JsonPropertyInfo jsonPropertyInfo = default(JsonPropertyInfo); - while (true) + if (typeInfo.Type != typeof(DialogueChoice)) { - int num2 = num; - int num3 = -1647660699; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = -1647660700; - break; - case 1: - return; - case 2: - return; - case 3: - jsonPropertyInfo = _200C_206E_202C_202D_206B_206A_206E_200E_206A_202A_200C_202E_202E_200E_206A_200F_206D_200B_206D_200F_206A_200C_202B_200C_200E_200F_206D_206F_200B_202B_206D_200B_206C_202B_206C_206B_206E_200C_200D_202D_202E(typeInfo).FirstOrDefault([MethodImpl(MethodImplOptions.NoInlining)] (JsonPropertyInfo x) => _003C_003Ec._202D_206F_200C_206B_200B_206C_206C_202B_202D_206D_200D_202C_202A_206C_202E_206D_202E_206A_200B_206D_202A_200D_200E_202B_200E_206F_200F_202C_202D_202A_200F_206E_202A_200E_200E_206F_206D_206F_200E_200E_202E(_003C_003Ec._200E_206E_202E_202A_206F_206B_202D_206D_200C_206C_202E_202E_206C_206F_200E_200B_206C_206D_202E_200C_206E_206D_202A_206F_200B_200C_206B_202C_206F_206A_200C_202E_202E_202D_200B_200D_200B_202C_206B_206F_202E(x), global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-282631776))); - num = ((jsonPropertyInfo == null) ? (-1647660697) : (-1647660699)); - break; - case 0: - _206E_202A_206F_200B_202A_200D_202A_202D_202A_200E_206C_206F_202C_206E_206E_200F_206E_200B_200D_202E_206D_200B_206D_200C_206F_200C_206F_200F_202A_202C_202A_206D_202E_206F_202A_200F_200B_206C_202A_200F_202E(jsonPropertyInfo, (Func)delegate(object obj, object? _) - { - DialogueChoice dialogueChoice = obj as DialogueChoice; - int num5 = ((dialogueChoice == null) ? 1809875924 : 1809875927); - while (true) - { - int num6 = num5; - int num7 = 1809875926; - int num8 = num6; - int num9 = num8 + num7; - int num10 = num8 & num7; - switch (num9 - (num10 + num10)) - { - case 2: - return false; - case 1: - return dialogueChoice.Type == EDialogChoiceType.YesNo; - case 0: - goto IL_0056; - } - continue; - IL_0056: - num5 = 1809875927; - } - }); - num = -1647660697; - break; - } + return; + } + JsonPropertyInfo jsonPropertyInfo = typeInfo.Properties.FirstOrDefault((JsonPropertyInfo x) => x.Name == "Yes"); + if (jsonPropertyInfo != null) + { + jsonPropertyInfo.ShouldSerialize = (object obj, object? _) => obj is DialogueChoice dialogueChoice && dialogueChoice.Type == EDialogChoiceType.YesNo; } } private static void NonDefaultBoolModifier(JsonTypeInfo typeInfo) { - int num = ((!_202E_202E_202B_202B_202C_200C_206F_206A_200D_206B_206E_200F_206E_200C_206C_206C_206E_206B_200B_200C_206B_200B_202B_202E_206B_206C_206A_202D_206E_200F_202E_206A_202B_206E_202E_200D_202D_202E_206C_200F_202E(_202C_202E_206A_206F_200E_202B_202E_202B_200F_202C_202D_202C_206D_200F_200C_202D_206C_202D_206C_206D_206C_206A_202C_206F_200C_202B_206B_206A_206A_206A_206D_206A_202A_206A_202A_206B_206C_206D_200C_206B_202E(typeInfo), _206B_206D_202D_200C_206F_206F_202D_206B_202C_200E_206B_206D_200B_200E_202C_206C_200F_206E_206C_206D_200F_202E_200E_200C_200C_202E_206A_202A_206F_206C_206C_202B_200F_202E_202C_206B_206B_200E_200F_202A_202E(typeof(QuestRoot).TypeHandle))) ? 178105966 : 178105962); - JsonPropertyInfo jsonPropertyInfo = default(JsonPropertyInfo); - while (true) + if (typeInfo.Type != typeof(QuestRoot)) { - int num2 = num; - int num3 = 178105966; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return; - case 4: - return; - case 2: - num = 178105962; - break; - case 3: - _206E_202A_206F_200B_202A_200D_202A_202D_202A_200E_206C_206F_202C_206E_206E_200F_206E_200B_200D_202E_206D_200B_206D_200C_206F_200C_206F_200F_202A_202C_202A_206D_202E_206F_202A_200F_200B_206C_202A_200F_202E(jsonPropertyInfo, (Func)delegate(object obj, object? _) - { - QuestRoot questRoot = obj as QuestRoot; - int num7 = ((questRoot == null) ? (-737791523) : (-737791524)); - while (true) - { - int num8 = num7; - int num9 = -737791523; - int num10 = num8; - int num11 = num10 + num9; - int num12 = num10 & num9; - switch (num11 - (num12 + num12)) - { - case 2: - goto IL_004a; - case 0: - return false; - case 1: - return !questRoot.Interruptible; - } - continue; - IL_004a: - num7 = -737791524; - } - }); - num = 178105967; - break; - case 0: - jsonPropertyInfo = _200C_206E_202C_202D_206B_206A_206E_200E_206A_202A_200C_202E_202E_200E_206A_200F_206D_200B_206D_200F_206A_200C_202B_200C_200E_200F_206D_206F_200B_202B_206D_200B_206C_202B_206C_206B_206E_200C_200D_202D_202E(typeInfo).FirstOrDefault([MethodImpl(MethodImplOptions.NoInlining)] (JsonPropertyInfo x) => _003C_003Ec._202D_206F_200C_206B_200B_206C_206C_202B_202D_206D_200D_202C_202A_206C_202E_206D_202E_206A_200B_206D_202A_200D_200E_202B_200E_206F_200F_202C_202D_202A_200F_206E_202A_200E_200E_206F_206D_206F_200E_200E_202E(_003C_003Ec._200E_206E_202E_202A_206F_206B_202D_206D_200C_206C_202E_202E_206C_206F_200E_200B_206C_206D_202E_200C_206E_206D_202A_206F_200B_200C_206B_202C_206F_206A_200C_202E_202E_202D_200B_200D_200B_202C_206B_206F_202E(x), global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-395466289))); - num = ((jsonPropertyInfo == null) ? 178105967 : 178105965); - break; - } + return; + } + JsonPropertyInfo jsonPropertyInfo = typeInfo.Properties.FirstOrDefault((JsonPropertyInfo x) => x.Name == "Interruptible"); + if (jsonPropertyInfo != null) + { + jsonPropertyInfo.ShouldSerialize = (object obj, object? _) => obj is QuestRoot questRoot && !questRoot.Interruptible; } } - - static JsonSerializerOptions _200C_206A_202B_202B_206D_206F_200C_206D_206B_200B_206F_202E_206B_206A_206D_206D_200B_206E_206F_206B_202B_206D_200D_206C_200E_202B_206B_200F_200F_202B_200B_206B_200B_206E_206C_206E_206B_202B_200D_206C_202E() - { - return new JsonSerializerOptions(); - } - - static JavaScriptEncoder _202E_206B_200E_200C_206E_202C_202D_200C_202B_200B_202C_202B_202B_202C_206D_202B_200B_200D_206A_206C_200B_206D_206D_202C_206E_200F_202E_206A_200C_206C_206C_206F_206B_202B_200C_202B_200D_200C_202E_206C_202E() - { - return JavaScriptEncoder.UnsafeRelaxedJsonEscaping; - } - - static void _206F_202C_200E_202A_200F_200F_206B_200D_206A_200F_206D_206F_202E_200B_200D_200B_200B_200F_206D_200F_200E_202C_200C_206E_202D_200E_206D_202E_206C_206A_206D_206F_206C_202C_202A_202C_200E_206D_200D_202E(JsonSerializerOptions P_0, JavaScriptEncoder P_1) - { - P_0.Encoder = P_1; - } - - static void _206D_200E_200C_206D_202B_202A_202C_206C_206C_202A_206C_206C_206F_202E_202C_200F_206F_202E_200E_200E_202B_206C_202D_206A_200E_200D_206C_200B_200B_200D_200E_206E_200D_200E_200B_206E_202E_202A_200D_202E(JsonSerializerOptions P_0, JsonIgnoreCondition P_1) - { - P_0.DefaultIgnoreCondition = P_1; - } - - static void _202A_200B_202B_202C_206F_200B_202A_202C_206A_200C_206F_206B_200C_206F_200D_206E_202B_206F_206D_206C_202B_202E_200D_202A_206A_202B_200D_202A_206B_202D_202A_206B_206C_206E_202E_202C_202A_202C_200E_200E_202E(JsonSerializerOptions P_0, bool P_1) - { - P_0.WriteIndented = P_1; - } - - static void _200D_206A_200C_206A_202A_206E_202E_202D_200C_206A_200D_206C_202C_202B_202C_202C_206D_200B_200E_206E_206A_200D_206F_200E_206A_202A_206B_202B_206A_200D_200D_202E_200E_206E_206E_200E_202B_202D_206D_206C_202E(JsonSerializerOptions P_0, bool P_1) - { - P_0.IncludeFields = P_1; - } - - static DefaultJsonTypeInfoResolver _200F_202B_202C_200E_206C_206F_202D_200C_202D_206F_202A_200D_206F_200F_200D_206D_206B_202C_206E_200F_200D_202A_206F_206D_202E_206C_200F_202A_206A_200F_202E_200F_206C_206B_200C_206B_200E_206B_206B_200C_202E() - { - return new DefaultJsonTypeInfoResolver(); - } - - static IList> _200B_202A_202A_202E_206B_206D_200B_206B_200C_202A_202B_200B_200B_206C_206C_200E_202D_206D_202E_200C_206E_200C_202D_202B_200F_206B_200B_206E_206E_206C_202B_202B_202D_206A_206D_206D_202B_200D_202D_202E(DefaultJsonTypeInfoResolver P_0) - { - return P_0.Modifiers; - } - - static void _206E_200F_200D_202E_206E_206A_200F_206D_206E_200D_206E_206B_206B_202A_202A_202B_206A_206F_206B_202A_206D_206B_206A_206C_206C_202E_206D_202E_206E_206A_202A_206E_206A_206B_206B_202B_202D_206D_206A_206D_202E(JsonSerializerOptions P_0, IJsonTypeInfoResolver P_1) - { - P_0.TypeInfoResolver = P_1; - } - - static JsonObject _202E_202D_200F_202C_202A_206A_202C_200B_206B_202B_200B_200C_200D_206B_206D_200D_200E_200B_200B_206B_206B_200C_200C_200B_200B_206B_206D_206A_206A_200E_202A_202C_202A_206F_206A_202A_206C_206A_202B_206C_202E(JsonNodeOptions? P_0) - { - return new JsonObject(P_0); - } - - static JsonNode _202D_206A_200D_200E_202C_206D_200E_200D_206A_202D_206B_206E_202C_200D_200D_202E_206F_200C_206A_206B_206E_202B_206C_206C_202A_200E_206A_200D_206A_206C_202E_202B_206B_200D_206C_200F_206C_202A_200C_202D_202E(string P_0) - { - return P_0; - } - - static void _200E_202C_200B_202D_206F_202C_206B_206C_200B_202A_206B_206F_202C_200B_206B_206B_200F_206D_202E_200C_200C_202C_206C_206A_202C_200E_206B_200C_206E_206D_202D_200E_200F_206B_202E_202D_206C_202D_200B_202B_202E(JsonObject P_0, string P_1, JsonNode P_2) - { - P_0.Add(P_1, P_2); - } - - static IEnumerator> _202C_200D_206C_206C_206D_206D_206C_200C_206C_202C_200F_200E_202A_206B_206D_200C_200F_206E_206E_206F_206A_206F_206D_206D_206F_202E_206B_200E_206A_202D_206B_206B_202A_200B_206B_202B_206D_206B_202B_206C_202E(JsonObject P_0) - { - return P_0.GetEnumerator(); - } - - static JsonNode _202D_200D_202A_202C_206D_206F_200F_206C_200F_202C_200E_202D_202B_200B_206D_206F_200C_202C_202D_202D_200C_206E_206B_200E_206D_202B_206C_206D_206F_202C_200B_206A_206A_202E_200F_200F_206E_202E_200E_200F_202E(JsonNode P_0) - { - return P_0.DeepClone(); - } - - static bool _206C_202D_200C_206A_206E_206F_202D_200F_200B_202C_206C_202D_200C_206A_202D_200F_200E_202E_202A_206B_202D_200F_206B_200F_200C_202D_206A_202E_206B_200B_206B_206B_206E_206F_200D_206E_202A_206B_206D_206D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206A_202C_206D_206D_206E_200B_200B_202B_206C_202B_206E_206B_206E_200B_202E_206D_202E_202D_200D_206B_200D_200C_202B_200C_200B_206B_200F_202A_206F_206A_206A_200F_202D_206E_202C_206C_206F_206C_206D_200C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static MemoryStream _202E_202C_206A_200F_202B_200B_206B_200C_206B_200D_206B_202B_202B_202A_206A_200E_200D_206C_206D_202D_206D_206A_202A_206E_200E_202D_200C_206C_202B_202C_202A_206E_206C_200D_202A_206B_200D_200E_202E_206E_202E() - { - return new MemoryStream(); - } - - static Utf8JsonWriter _202C_206D_202B_202C_202C_206B_200C_206B_202C_202B_202E_206D_206D_202B_202D_202B_206C_200D_200E_206F_206A_200B_200D_202D_202B_200E_200E_202B_206A_202E_200D_206D_202A_202C_206D_202C_200C_202B_200E_206C_202E(Stream P_0, JsonWriterOptions P_1) - { - return new Utf8JsonWriter(P_0, P_1); - } - - static void _200B_200C_200F_206A_202B_202B_202E_200D_206F_206C_206B_202E_206C_200E_206A_202B_200F_206A_200F_200C_206B_200D_206E_200D_200B_202E_202E_206C_206B_200D_200D_206B_206C_202D_202C_202E_206F_206E_202A_200D_202E(JsonNode P_0, Utf8JsonWriter P_1, JsonSerializerOptions P_2) - { - P_0.WriteTo(P_1, P_2); - } - - static void _202E_206A_200F_206F_206D_200B_200F_206E_202E_206E_206C_202C_202E_200D_202B_202B_202B_206E_200E_202D_206A_206C_200C_200E_200F_202C_206E_200F_206B_202A_206B_202E_206B_206D_202B_202D_202E_206E_202C_206E_202E(Stream P_0, byte P_1) - { - P_0.WriteByte(P_1); - } - - static byte[] _206D_206E_206C_206D_202A_206D_202E_200E_206E_206A_202D_200B_206A_200C_206D_202B_202D_202B_206B_200F_206B_206F_202A_202B_202C_202C_202E_206C_200B_206F_200F_206E_206F_206C_202E_206B_200F_202A_200E_206D_202E(MemoryStream P_0) - { - return P_0.ToArray(); - } - - static IList _200C_206E_202C_202D_206B_206A_206E_200E_206A_202A_200C_202E_202E_200E_206A_200F_206D_200B_206D_200F_206A_200C_202B_200C_200E_200F_206D_206F_200B_202B_206D_200B_206C_202B_206C_206B_206E_200C_200D_202D_202E(JsonTypeInfo P_0) - { - return P_0.Properties; - } - - static Type _206B_206D_202D_200C_206F_206F_202D_206B_202C_200E_206B_206D_200B_200E_202C_206C_200F_206E_206C_206D_200F_202E_200E_200C_200C_202E_206A_202A_206F_206C_206C_202B_200F_202E_202C_206B_206B_200E_200F_202A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static Type _206B_200F_202D_206D_206C_202D_202D_206F_206B_206C_202C_206E_202C_202C_200C_206B_206A_206E_206C_200F_200B_206C_202A_202A_200C_202D_200C_200B_202A_200B_202A_202B_202C_202B_200D_202A_206C_206F_200F_202B_202E(JsonPropertyInfo P_0) - { - return P_0.PropertyType; - } - - static bool _200F_206B_200D_202A_202C_206B_200B_206C_200F_200C_202B_202E_200D_202E_206F_202A_200F_206B_200D_202D_206F_206F_202E_200B_206C_206D_202E_206D_200C_206E_200C_202C_202A_200B_202A_200F_200D_202C_200D_202E_202E(Type P_0, Type P_1) - { - return P_0.IsAssignableFrom(P_1); - } - - static void _206E_202A_206F_200B_202A_200D_202A_202D_202A_200E_206C_206F_202C_206E_206E_200F_206E_200B_200D_202E_206D_200B_206D_200C_206F_200C_206F_200F_202A_202C_202A_206D_202E_206F_202A_200F_200B_206C_202A_200F_202E(JsonPropertyInfo P_0, Func P_1) - { - P_0.ShouldSerialize = P_1; - } - - static Type _202C_202E_206A_206F_200E_202B_202E_202B_200F_202C_202D_202C_206D_200F_200C_202D_206C_202D_206C_206D_206C_206A_202C_206F_200C_202B_206B_206A_206A_206A_206D_206A_202A_206A_202A_206B_206C_206D_200C_206B_202E(JsonTypeInfo P_0) - { - return P_0.Type; - } - - static bool _202E_202E_202B_202B_202C_200C_206F_206A_200D_206B_206E_200F_206E_200C_206C_206C_206E_206B_200B_200C_206B_200B_202B_202E_206B_206C_206A_202D_206E_200F_202E_206A_202B_206E_202E_200D_202D_202E_206C_200F_202E(Type P_0, Type P_1) - { - return P_0 != P_1; - } } diff --git a/Questionable.Model/Questionable.Model.Questing/QuestSequence.cs b/Questionable.Model/Questionable.Model.Questing/QuestSequence.cs index 422bebf..01ff48d 100644 --- a/Questionable.Model/Questionable.Model.Questing/QuestSequence.cs +++ b/Questionable.Model/Questionable.Model.Questing/QuestSequence.cs @@ -15,28 +15,11 @@ public sealed class QuestSequence public QuestStep? FindStep(int step) { - int num = ((step < 0) ? (-1021069970) : (-1021069969)); - while (true) + if (step < 0 || step >= Steps.Count) { - int num2 = num; - int num3 = -1021069971; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - return null; - case 1: - return Steps[step]; - case 0: - num = -1021069969; - break; - case 2: - num = ((step < Steps.Count) ? (-1021069972) : (-1021069970)); - break; - } + return null; } + return Steps[step]; } public QuestStep? LastStep() diff --git a/Questionable.Model/Questionable.Model.Questing/QuestStep.cs b/Questionable.Model/Questionable.Model.Questing/QuestStep.cs index a821dc2..c4b6394 100644 --- a/Questionable.Model/Questionable.Model.Questing/QuestStep.cs +++ b/Questionable.Model/Questionable.Model.Questing/QuestStep.cs @@ -159,46 +159,19 @@ public sealed class QuestStep public float CalculateActualStopDistance() { float? stopDistance = StopDistance; - int num = ((!stopDistance.HasValue) ? (-455732266) : (-455732271)); - float result = default(float); - EInteractionType interactionType = default(EInteractionType); - while (true) + if (stopDistance.HasValue) { - int num2 = num; - int num3 = -455732267; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - result = 10f; - num = -455732268; - break; - case 4: - return stopDistance.GetValueOrDefault(); - case 8: - num = (((uint)(interactionType - 4) <= 1u) ? (-455732265) : (-455732272)); - break; - case 5: - num = -455732270; - break; - case 3: - interactionType = InteractionType; - num = ((interactionType == EInteractionType.WalkTo) ? (-455732269) : (-455732259)); - break; - case 0: - num = -455732271; - break; - case 7: - result = 3f; - num = -455732268; - break; - case 6: - result = 0.25f; - num = -455732268; - break; - case 1: - return result; - } + return stopDistance.GetValueOrDefault(); + } + switch (InteractionType) + { + case EInteractionType.WalkTo: + return 0.25f; + case EInteractionType.AttuneAetheryte: + case EInteractionType.RegisterFreeOrFavoredAetheryte: + return 10f; + default: + return 3f; } } } diff --git a/Questionable.Model/Questionable.Model.Questing/QuestWorkValue.cs b/Questionable.Model/Questionable.Model.Questing/QuestWorkValue.cs index 0b30ce1..5d5caa8 100644 --- a/Questionable.Model/Questionable.Model.Questing/QuestWorkValue.cs +++ b/Questionable.Model/Questionable.Model.Questing/QuestWorkValue.cs @@ -1,4 +1,3 @@ -using System.Runtime.CompilerServices; using System.Text.Json.Serialization; using Questionable.Model.Questing.Converter; @@ -7,66 +6,31 @@ namespace Questionable.Model.Questing; [JsonConverter(typeof(QuestWorkConfigConverter))] public sealed class QuestWorkValue(byte? high, byte? low, EQuestWorkMode mode) { - public byte? High { get; set; } + public byte? High { get; set; } = high; - public byte? Low { get; set; } + public byte? Low { get; set; } = low; - public EQuestWorkMode Mode { get; set; } - - public QuestWorkValue(byte? high, byte? low, EQuestWorkMode mode) - { - High = high; - Low = low; - Mode = mode; - base._002Ector(); - } + public EQuestWorkMode Mode { get; set; } = mode; public QuestWorkValue(byte value) + : this((byte)(value >> 4), (byte)(value & 0xF), EQuestWorkMode.Bitwise) { - byte? high = (byte)(value >> 4); - int num = 15; - this._002Ector(high, (byte)((value | num) - (value ^ num)), EQuestWorkMode.Bitwise); } - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - int num = ((!High.HasValue) ? 30778248 : 30778253); - while (true) + if (High.HasValue && Low.HasValue) { - int num2 = num; - int num3 = 30778255; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return ((byte)((High.Value << 4) + Low.Value)).ToString(); - case 2: - num = ((!Low.HasValue) ? 30778248 : 30778254); - break; - case 7: - num = ((!High.HasValue) ? 30778250 : 30778252); - break; - case 0: - return global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(-882791204); - case 3: - return _206A_200C_200D_206D_206F_202B_206F_202C_206C_200B_202C_202D_202B_206E_206B_206B_206B_202C_200C_202C_202C_206C_206E_200F_206D_202A_200E_200B_202B_206F_202B_200D_206E_206F_202A_200F_206C_206D_200E_202C_202E(High.Value.ToString(), global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(48541848)); - case 6: - num = 30778253; - break; - case 4: - return _206A_200C_200D_206D_206F_202B_206F_202C_206C_200B_202C_202D_202B_206E_206B_206B_206B_202C_200C_202C_202C_206C_206E_200F_206D_202A_200E_200B_202B_206F_202B_200D_206E_206F_202A_200F_206C_206D_200E_202C_202E(Low.Value.ToString(), global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(2110978622)); - case 5: - num = ((!Low.HasValue) ? 30778255 : 30778251); - break; - } + return ((byte)((High.Value << 4) + Low.Value)).ToString(); } - } - - static string _206A_200C_200D_206D_206F_202B_206F_202C_206C_200B_202C_202D_202B_206E_206B_206B_206B_202C_200C_202C_202C_206C_206E_200F_206D_202A_200E_200B_202B_206F_202B_200D_206E_206F_202A_200F_206C_206D_200E_202C_202E(string P_0, string P_1) - { - return P_0 + P_1; + if (High.HasValue) + { + return High.Value + "H"; + } + if (Low.HasValue) + { + return Low.Value + "L"; + } + return "-"; } } diff --git a/Questionable.Model/Questionable.Model.Questing/SkipStepConditions.cs b/Questionable.Model/Questionable.Model.Questing/SkipStepConditions.cs index de92ba8..35f9560 100644 --- a/Questionable.Model/Questionable.Model.Questing/SkipStepConditions.cs +++ b/Questionable.Model/Questionable.Model.Questing/SkipStepConditions.cs @@ -1,6 +1,5 @@ using System.Collections.Generic; using System.Linq; -using System.Runtime.CompilerServices; using System.Text.Json.Serialization; using Questionable.Model.Questing.Converter; using SmartNav.Model; @@ -49,139 +48,19 @@ public sealed class SkipStepConditions public bool HasSkipConditions() { - int num = ((!Never) ? (-1487390778) : (-1487390776)); - while (true) + if (Never) { - int num2 = num; - int num3 = -1487390773; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 14: - num = ((QuestsAccepted.Count > 0) ? (-1487390781) : (-1487390769)); - break; - case 13: - num = ((CompletionQuestVariablesFlags.Count <= 0) ? (-1487390773) : (-1487390770)); - break; - case 11: - num = (MinimumLevel.HasValue ? (-1487390781) : (-1487390771)); - break; - case 3: - return false; - case 2: - num = ((Item != null) ? (-1487390781) : (-1487390779)); - break; - case 1: - num = (Diving.HasValue ? (-1487390781) : (-1487390782)); - break; - case 10: - num = ((InTerritory.Count > 0) ? (-1487390781) : (-1487390772)); - break; - case 15: - num = (Chocobo.HasValue ? (-1487390781) : (-1487390774)); - break; - case 19: - num = (AetheryteLocked.HasValue ? (-1487390781) : (-1487390757)); - break; - case 9: - num = (NotTargetable ? (-1487390781) : (-1487390783)); - break; - case 12: - num = -1487390776; - break; - case 0: - num = (Flying.HasValue ? (-1487390781) : (-1487390780)); - break; - case 18: - return ExtraCondition.HasValue; - case 8: - return true; - case 16: - num = (AetheryteUnlocked.HasValue ? (-1487390781) : (-1487390784)); - break; - case 7: - num = ((NotInTerritory.Count > 0) ? (-1487390781) : (-1487390775)); - break; - case 17: - num = ((NotNearPosition != null) ? (-1487390781) : (-1487390759)); - break; - case 4: - num = ((QuestsCompleted.Count > 0) ? (-1487390781) : (-1487390753)); - break; - case 6: - num = ((NearPosition != null) ? (-1487390781) : (-1487390758)); - break; - case 5: - num = (CompletionQuestVariablesFlags.Any((QuestWorkValue x) => x != null) ? (-1487390781) : (-1487390773)); - break; - case 20: - num = ((NotNamePlateIconId.Count > 0) ? (-1487390781) : (-1487390760)); - break; - } + return false; } + if ((CompletionQuestVariablesFlags.Count <= 0 || !CompletionQuestVariablesFlags.Any((QuestWorkValue x) => x != null)) && !Flying.HasValue && !Chocobo.HasValue && !Diving.HasValue && !NotTargetable && InTerritory.Count <= 0 && NotInTerritory.Count <= 0 && Item == null && QuestsAccepted.Count <= 0 && QuestsCompleted.Count <= 0 && NotNamePlateIconId.Count <= 0 && !AetheryteLocked.HasValue && !AetheryteUnlocked.HasValue && !MinimumLevel.HasValue && NearPosition == null && NotNearPosition == null) + { + return ExtraCondition.HasValue; + } + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(54, 28); - defaultInterpolatedStringHandler.AppendFormatted(global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1770959126)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1976970320)); - defaultInterpolatedStringHandler.AppendFormatted(Never); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1869626143)); - defaultInterpolatedStringHandler.AppendFormatted(global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1553385684)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1976970320)); - defaultInterpolatedStringHandler.AppendFormatted(CompletionQuestVariablesFlags); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(382305646)); - defaultInterpolatedStringHandler.AppendFormatted(global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-350975942)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1776596717)); - defaultInterpolatedStringHandler.AppendFormatted(Flying); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1869626143)); - defaultInterpolatedStringHandler.AppendFormatted(global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1544197877)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(107920315)); - defaultInterpolatedStringHandler.AppendFormatted(Chocobo); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1869626143)); - defaultInterpolatedStringHandler.AppendFormatted(global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1731183236)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1976970320)); - defaultInterpolatedStringHandler.AppendFormatted(Diving); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1869626143)); - defaultInterpolatedStringHandler.AppendFormatted(global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(2118852789)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1776596717)); - defaultInterpolatedStringHandler.AppendFormatted(NotTargetable); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1833048559)); - defaultInterpolatedStringHandler.AppendFormatted(global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1379711779)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1776596717)); - defaultInterpolatedStringHandler.AppendFormatted(string.Join(global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(2081445888), InTerritory)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-641561799)); - defaultInterpolatedStringHandler.AppendFormatted(global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1826733459)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1976970320)); - defaultInterpolatedStringHandler.AppendFormatted(string.Join(global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1595229972), NotInTerritory)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(813575713)); - defaultInterpolatedStringHandler.AppendFormatted(global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1712180490)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1776596717)); - defaultInterpolatedStringHandler.AppendFormatted(Item); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(382305646)); - defaultInterpolatedStringHandler.AppendFormatted(global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-1917849384)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(107920315)); - defaultInterpolatedStringHandler.AppendFormatted(string.Join(global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(-1595229972), QuestsAccepted)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(813575713)); - defaultInterpolatedStringHandler.AppendFormatted(global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(2044649201)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1049618677)); - defaultInterpolatedStringHandler.AppendFormatted(string.Join(global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(108957871), QuestsCompleted)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(382305646)); - defaultInterpolatedStringHandler.AppendFormatted(global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-405742690)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(107920315)); - defaultInterpolatedStringHandler.AppendFormatted(string.Join(global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1549529312), NotNamePlateIconId)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1833048559)); - defaultInterpolatedStringHandler.AppendFormatted(global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(429954667)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1903063187)); - defaultInterpolatedStringHandler.AppendFormatted(NearPosition); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-641561799)); - defaultInterpolatedStringHandler.AppendFormatted(global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-634452865)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1903063187)); - defaultInterpolatedStringHandler.AppendFormatted(ExtraCondition); - return defaultInterpolatedStringHandler.ToStringAndClear(); + return $"{"Never"}: {Never}, {"CompletionQuestVariablesFlags"}: {CompletionQuestVariablesFlags}, {"Flying"}: {Flying}, {"Chocobo"}: {Chocobo}, {"Diving"}: {Diving}, {"NotTargetable"}: {NotTargetable}, {"InTerritory"}: {string.Join(" ", InTerritory)}, {"NotInTerritory"}: {string.Join(" ", NotInTerritory)}, {"Item"}: {Item}, {"QuestsAccepted"}: {string.Join(" ", QuestsAccepted)}, {"QuestsCompleted"}: {string.Join(" ", QuestsCompleted)}, {"NotNamePlateIconId"}: {string.Join(" ", NotNamePlateIconId)}, {"NearPosition"}: {NearPosition}, {"ExtraCondition"}: {ExtraCondition}"; } } diff --git a/Questionable.Model/Questionable.Model.Questing/UnlockLinkId.cs b/Questionable.Model/Questionable.Model.Questing/UnlockLinkId.cs index a102ba6..9f37263 100644 --- a/Questionable.Model/Questionable.Model.Questing/UnlockLinkId.cs +++ b/Questionable.Model/Questionable.Model.Questing/UnlockLinkId.cs @@ -1,5 +1,4 @@ using System.Globalization; -using System.Runtime.CompilerServices; namespace Questionable.Model.Questing; @@ -10,19 +9,8 @@ public sealed class UnlockLinkId : ElementId { } - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return _200D_206B_206E_202B_206B_200D_206D_202B_202C_206C_206C_200B_202B_200E_206A_202A_200C_206B_202E_202B_200C_206B_200C_200D_200E_206D_202E_202A_200E_202B_200F_200E_200F_206C_202C_206D_202E_202E_206E_200E_202E(global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-326705716), base.Value.ToString(_200F_202A_206B_202C_206E_206D_206C_206E_206D_200D_206C_202E_202D_200E_206D_202A_202B_206C_206B_206E_206A_202D_206E_200B_202E_206D_200D_206E_202D_202C_202C_206B_202E_206A_206A_200B_206A_206B_200F_206D_202E())); - } - - static CultureInfo _200F_202A_206B_202C_206E_206D_206C_206E_206D_200D_206C_202E_202D_200E_206D_202A_202B_206C_206B_206E_206A_202D_206E_200B_202E_206D_200D_206E_202D_202C_202C_206B_202E_206A_206A_200B_206A_206B_200F_206D_202E() - { - return CultureInfo.InvariantCulture; - } - - static string _200D_206B_206E_202B_206B_200D_206D_202B_202C_206C_206C_200B_202B_200E_206A_202A_200C_206B_202E_202B_200C_206B_200C_200D_200E_206D_202E_202A_200E_202B_200F_200E_200F_206C_202C_206D_202E_202E_206E_200E_202E(string P_0, string P_1) - { - return P_0 + P_1; + return "U" + base.Value.ToString(CultureInfo.InvariantCulture); } } diff --git a/Questionable.Model/Questionable.Model/AssemblyModelLoader.cs b/Questionable.Model/Questionable.Model/AssemblyModelLoader.cs index 3b3fd95..d448dfa 100644 --- a/Questionable.Model/Questionable.Model/AssemblyModelLoader.cs +++ b/Questionable.Model/Questionable.Model/AssemblyModelLoader.cs @@ -1,75 +1,19 @@ -using System; using System.IO; -using System.Reflection; -using System.Runtime.CompilerServices; using SmartNav.Model; namespace Questionable.Model; public static class AssemblyModelLoader { - public static Stream CommonAetheryte => _206C_206C_202A_202E_206D_202B_200E_200B_202C_200D_202B_202A_200D_206E_206A_206F_206F_200C_206A_206B_206E_206C_206D_206F_200F_200B_200B_202B_200C_202E_206C_200E_206F_202D_206A_206C_200F_200C_202B_206E_202E(); + public static Stream CommonAetheryte => ModelResources.CommonAetheryte; - public static Stream CommonAethernetShard => _202A_202E_206E_202E_202E_206D_202C_200F_202C_200D_206B_206F_206F_200E_206A_200F_206D_206C_206E_202D_200D_202A_202B_202E_200D_206B_200E_206F_200F_202A_206A_206F_206F_206D_206E_206A_206C_206E_200C_206B_202E(); + public static Stream CommonAethernetShard => ModelResources.CommonAethernetShard; - public static Stream CommonClassJob - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return _200B_200F_202A_206D_200C_206C_206E_200F_200E_206D_206F_206D_202A_202E_202A_200D_200F_206B_200C_206B_206E_206D_206B_200D_202D_202A_200E_202A_206C_200C_202B_202C_200B_200C_202E_202B_202C_206D_200C_200D_202E(_202E_200C_206F_206A_200F_200C_206F_202E_200C_206D_202E_200C_206E_200D_206A_202C_202D_206E_206E_206D_200E_206C_200C_200B_202A_206D_202E_202C_200B_200E_206F_202A_200E_202D_202C_206F_200B_202A_200F_206E_202E(_202B_200B_206E_200D_206D_206F_202E_200E_200C_206F_202C_200D_200E_200E_206F_200C_200C_202A_206E_206E_202D_206E_206C_206A_200D_206A_206A_202C_206F_200F_206D_200E_202B_200C_202C_206A_200E_206D_206C_206F_202E(typeof(AssemblyModelLoader).TypeHandle)), global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(657022072)); - } - } + public static Stream CommonClassJob => typeof(AssemblyModelLoader).Assembly.GetManifestResourceStream("Questionable.Model.CommonClassJob"); - public static Stream CommonCompletionFlags - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return _200B_200F_202A_206D_200C_206C_206E_200F_200E_206D_206F_206D_202A_202E_202A_200D_200F_206B_200C_206B_206E_206D_206B_200D_202D_202A_200E_202A_206C_200C_202B_202C_200B_200C_202E_202B_202C_206D_200C_200D_202E(_202E_200C_206F_206A_200F_200C_206F_202E_200C_206D_202E_200C_206E_200D_206A_202C_202D_206E_206E_206D_200E_206C_200C_200B_202A_206D_202E_202C_200B_200E_206F_202A_200E_202D_202C_206F_200B_202A_200F_206E_202E(_202B_200B_206E_200D_206D_206F_202E_200E_200C_206F_202C_200D_200E_200E_206F_200C_200C_202A_206E_206E_202D_206E_206C_206A_200D_206A_206A_202C_206F_200F_206D_200E_202B_200C_202C_206A_200E_206D_206C_206F_202E(typeof(AssemblyModelLoader).TypeHandle)), global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(2114110650)); - } - } + public static Stream CommonCompletionFlags => typeof(AssemblyModelLoader).Assembly.GetManifestResourceStream("Questionable.Model.CommonCompletionFlags"); - public static Stream CommonRequiredVariables - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return _200B_200F_202A_206D_200C_206C_206E_200F_200E_206D_206F_206D_202A_202E_202A_200D_200F_206B_200C_206B_206E_206D_206B_200D_202D_202A_200E_202A_206C_200C_202B_202C_200B_200C_202E_202B_202C_206D_200C_200D_202E(_202E_200C_206F_206A_200F_200C_206F_202E_200C_206D_202E_200C_206E_200D_206A_202C_202D_206E_206E_206D_200E_206C_200C_200B_202A_206D_202E_202C_200B_200E_206F_202A_200E_202D_202C_206F_200B_202A_200F_206E_202E(_202B_200B_206E_200D_206D_206F_202E_200E_200C_206F_202C_200D_200E_200E_206F_200C_200C_202A_206E_206E_202D_206E_206C_206A_200D_206A_206A_202C_206F_200F_206D_200E_202B_200C_202C_206A_200E_206D_206C_206F_202E(typeof(AssemblyModelLoader).TypeHandle)), global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(1657928596)); - } - } + public static Stream CommonRequiredVariables => typeof(AssemblyModelLoader).Assembly.GetManifestResourceStream("Questionable.Model.CommonRequiredVariables"); - public static Stream CommonVector3 - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return _200B_200F_202A_206D_200C_206C_206E_200F_200E_206D_206F_206D_202A_202E_202A_200D_200F_206B_200C_206B_206E_206D_206B_200D_202D_202A_200E_202A_206C_200C_202B_202C_200B_200C_202E_202B_202C_206D_200C_200D_202E(_202E_200C_206F_206A_200F_200C_206F_202E_200C_206D_202E_200C_206E_200D_206A_202C_202D_206E_206E_206D_200E_206C_200C_200B_202A_206D_202E_202C_200B_200E_206F_202A_200E_202D_202C_206F_200B_202A_200F_206E_202E(_202B_200B_206E_200D_206D_206F_202E_200E_200C_206F_202C_200D_200E_200E_206F_200C_200C_202A_206E_206E_202D_206E_206C_206A_200D_206A_206A_202C_206F_200F_206D_200E_202B_200C_202C_206A_200E_206D_206C_206F_202E(typeof(AssemblyModelLoader).TypeHandle)), global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-1903633621)); - } - } - - static Stream _206C_206C_202A_202E_206D_202B_200E_200B_202C_200D_202B_202A_200D_206E_206A_206F_206F_200C_206A_206B_206E_206C_206D_206F_200F_200B_200B_202B_200C_202E_206C_200E_206F_202D_206A_206C_200F_200C_202B_206E_202E() - { - return ModelResources.CommonAetheryte; - } - - static Stream _202A_202E_206E_202E_202E_206D_202C_200F_202C_200D_206B_206F_206F_200E_206A_200F_206D_206C_206E_202D_200D_202A_202B_202E_200D_206B_200E_206F_200F_202A_206A_206F_206F_206D_206E_206A_206C_206E_200C_206B_202E() - { - return ModelResources.CommonAethernetShard; - } - - static Type _202B_200B_206E_200D_206D_206F_202E_200E_200C_206F_202C_200D_200E_200E_206F_200C_200C_202A_206E_206E_202D_206E_206C_206A_200D_206A_206A_202C_206F_200F_206D_200E_202B_200C_202C_206A_200E_206D_206C_206F_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static Assembly _202E_200C_206F_206A_200F_200C_206F_202E_200C_206D_202E_200C_206E_200D_206A_202C_202D_206E_206E_206D_200E_206C_200C_200B_202A_206D_202E_202C_200B_200E_206F_202A_200E_202D_202C_206F_200B_202A_200F_206E_202E(Type P_0) - { - return P_0.Assembly; - } - - static Stream _200B_200F_202A_206D_200C_206C_206E_200F_200E_206D_206F_206D_202A_202E_202A_200D_200F_206B_200C_206B_206E_206D_206B_200D_202D_202A_200E_202A_206C_200C_202B_202C_200B_200C_202E_202B_202C_206D_200C_200D_202E(Assembly P_0, string P_1) - { - return P_0.GetManifestResourceStream(P_1); - } + public static Stream CommonVector3 => typeof(AssemblyModelLoader).Assembly.GetManifestResourceStream("Questionable.Model.CommonVector3"); } diff --git a/Questionable.Model/Questionable.Model/ExpansionData.cs b/Questionable.Model/Questionable.Model/ExpansionData.cs index 2bf6f2a..af90eb8 100644 --- a/Questionable.Model/Questionable.Model/ExpansionData.cs +++ b/Questionable.Model/Questionable.Model/ExpansionData.cs @@ -1,6 +1,5 @@ using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; namespace Questionable.Model; @@ -10,227 +9,64 @@ public static class ExpansionData { { EExpansionVersion.ARealmReborn, - global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(1600629017) + "2.x - A Realm Reborn" }, { EExpansionVersion.Heavensward, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(2010245113) + "3.x - Heavensward" }, { EExpansionVersion.Stormblood, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1214854245) + "4.x - Stormblood" }, { EExpansionVersion.Shadowbringers, - global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(501979102) + "5.x - Shadowbringers" }, { EExpansionVersion.Endwalker, - global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(355179699) + "6.x - Endwalker" }, { EExpansionVersion.Dawntrail, - global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1427994859) + "7.x - Dawntrail" } }; - [MethodImpl(MethodImplOptions.NoInlining)] public static string ToFriendlyString(this EExpansionVersion expansionVersion) { - int num = ((expansionVersion != EExpansionVersion.ARealmReborn) ? 2495585 : 2495586); - string result = default(string); - while (true) + if (expansionVersion == EExpansionVersion.ARealmReborn) { - int num2 = num; - int num3 = 2495585; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return result; - case 0: - result = expansionVersion.ToString(); - num = 2495584; - break; - case 3: - result = global::_003CModule_003E._200F_200E_200D_202C_206F_200B_200B_206E_206B_202D_202C_202C_200B_206C_206B_202E_206D_202A_206B_202B_202B_206E_206C_202B_200D_206B_206C_200D_200B_200E_206C_206F_200D_202A_206C_206F_200B_202C_206A_202D_202E(-2063217203); - num = 2495584; - break; - case 2: - num = 2495586; - break; - } + return "A Realm Reborn"; } + return expansionVersion.ToString(); } - [MethodImpl(MethodImplOptions.NoInlining)] public static string ToAbbreviation(this EExpansionVersion expansionVersion) { - int num; - string result = default(string); - switch (expansionVersion) + return expansionVersion switch { - default: - num = -1514715948; - goto IL_0029; - case EExpansionVersion.Stormblood: - result = global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1303815993); - num = -1514715940; - goto IL_0029; - case EExpansionVersion.Heavensward: - goto IL_008b; - case EExpansionVersion.Shadowbringers: - goto IL_00a1; - case EExpansionVersion.Dawntrail: - goto IL_00b7; - case EExpansionVersion.ARealmReborn: - goto IL_00cd; - case EExpansionVersion.Endwalker: - goto IL_00f9; - IL_0029: - while (true) - { - int num2 = num; - int num3 = -1514715947; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = -1514715948; - break; - case 8: - goto end_IL_0029; - case 5: - goto IL_008b; - case 3: - goto IL_00a1; - case 0: - goto IL_00b7; - case 6: - goto IL_00cd; - case 7: - result = global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E(1947262513); - num = -1514715940; - break; - case 2: - goto IL_00f9; - case 1: - num = -1514715950; - break; - case 9: - return result; - } - continue; - end_IL_0029: - break; - } - goto case EExpansionVersion.Stormblood; - IL_00f9: - result = global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1716845541); - num = -1514715940; - goto IL_0029; - IL_00cd: - result = global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1752062659); - num = -1514715940; - goto IL_0029; - IL_00b7: - result = global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1876241525); - num = -1514715940; - goto IL_0029; - IL_00a1: - result = global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-637152881); - num = -1514715940; - goto IL_0029; - IL_008b: - result = global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(-1050182429); - num = -1514715940; - goto IL_0029; - } + EExpansionVersion.ARealmReborn => "ARR", + EExpansionVersion.Heavensward => "HW", + EExpansionVersion.Stormblood => "SB", + EExpansionVersion.Shadowbringers => "ShB", + EExpansionVersion.Endwalker => "EW", + EExpansionVersion.Dawntrail => "DT", + _ => "?", + }; } public static Vector4 GetExpansionColor(this EExpansionVersion expansionVersion) { - int num; - Vector4 result = default(Vector4); - switch (expansionVersion) + return expansionVersion switch { - default: - num = 976463858; - goto IL_0029; - case EExpansionVersion.ARealmReborn: - result = new Vector4(0.7f, 0.7f, 0.7f, 1f); - num = 976463863; - goto IL_0029; - case EExpansionVersion.Endwalker: - goto IL_00b4; - case EExpansionVersion.Stormblood: - goto IL_00d9; - case EExpansionVersion.Shadowbringers: - goto IL_0109; - case EExpansionVersion.Dawntrail: - goto IL_013b; - case EExpansionVersion.Heavensward: - goto IL_0160; - IL_0029: - while (true) - { - int num2 = num; - int num3 = 976463859; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 9: - result = new Vector4(0.5f, 0.5f, 0.5f, 1f); - num = 976463863; - break; - case 5: - goto end_IL_0029; - case 3: - goto IL_00b4; - case 7: - goto IL_00d9; - case 8: - num = 976463858; - break; - case 2: - goto IL_0109; - case 1: - num = 976463866; - break; - case 4: - return result; - case 6: - goto IL_013b; - case 0: - goto IL_0160; - } - continue; - end_IL_0029: - break; - } - goto case EExpansionVersion.ARealmReborn; - IL_0160: - result = new Vector4(0.4f, 0.6f, 0.9f, 1f); - num = 976463863; - goto IL_0029; - IL_013b: - result = new Vector4(0.3f, 0.8f, 0.5f, 1f); - num = 976463863; - goto IL_0029; - IL_0109: - result = new Vector4(0.5f, 0.4f, 0.7f, 1f); - num = 976463863; - goto IL_0029; - IL_00d9: - result = new Vector4(0.9f, 0.3f, 0.3f, 1f); - num = 976463863; - goto IL_0029; - IL_00b4: - result = new Vector4(0.8f, 0.8f, 0.4f, 1f); - num = 976463863; - goto IL_0029; - } + EExpansionVersion.ARealmReborn => new Vector4(0.7f, 0.7f, 0.7f, 1f), + EExpansionVersion.Heavensward => new Vector4(0.4f, 0.6f, 0.9f, 1f), + EExpansionVersion.Stormblood => new Vector4(0.9f, 0.3f, 0.3f, 1f), + EExpansionVersion.Shadowbringers => new Vector4(0.5f, 0.4f, 0.7f, 1f), + EExpansionVersion.Endwalker => new Vector4(0.8f, 0.8f, 0.4f, 1f), + EExpansionVersion.Dawntrail => new Vector4(0.3f, 0.8f, 0.5f, 1f), + _ => new Vector4(0.5f, 0.5f, 0.5f, 1f), + }; } } diff --git a/Questionable.Model/Questionable.Model/GatheringMath.cs b/Questionable.Model/Questionable.Model/GatheringMath.cs index 78a9d05..4826334 100644 --- a/Questionable.Model/Questionable.Model/GatheringMath.cs +++ b/Questionable.Model/Questionable.Model/GatheringMath.cs @@ -6,70 +6,20 @@ namespace Questionable.Model; public static class GatheringMath { - private static readonly Random Rng = _206D_206A_202A_200D_202D_206B_200B_206B_200E_202E_200C_206F_202E_206A_200E_206C_202C_206A_202E_206A_200C_206A_202B_200B_200E_206E_206A_202A_200B_200B_202B_202D_200C_206C_200C_202E_206C_200D_200C_202A_202E(); + private static readonly Random Rng = new Random(); public static (Vector3, int, float) CalculateLandingLocation(GatheringLocation location) { - int num = ((!location.IsCone()) ? 106991975 : 106991972); - int num6 = default(int); - while (true) - { - int num2 = num; - int num3 = 106991973; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = 106991972; - break; - case 1: - num6 = _202C_206E_202B_200E_202C_206C_200F_200D_200F_200D_200F_206D_202A_206F_200E_200E_200B_206F_202D_200E_206F_206B_206A_202A_206D_206D_206F_200B_202D_200B_206B_202E_200B_206D_200F_202A_202E_206E_206A_200F_202E(Rng, location.MinimumAngle.GetValueOrDefault(), location.MaximumAngle.GetValueOrDefault()); - num = 106991973; - break; - case 2: - num6 = _202C_206E_202B_200E_202C_206C_200F_200D_200F_200D_200F_206D_202A_206F_200E_200E_200B_206F_202D_200E_206F_206B_206A_202A_206D_206D_206F_200B_202D_200B_206B_202E_200B_206D_200F_202A_202E_206E_206A_200F_202E(Rng, 0, 360); - num = 106991973; - break; - case 0: - { - float num5 = (float)_202C_206E_202B_200E_202C_206C_200F_200D_200F_200D_200F_206D_202A_206F_200E_200E_200B_206F_202D_200E_206F_206B_206A_202A_206D_206D_206F_200B_202D_200B_206B_202E_200B_206D_200F_202A_202E_206E_206A_200F_202E(Rng, (int)(location.CalculateMinimumDistance() * 100f), (int)(location.CalculateMaximumDistance() * 100f)) / 100f; - return (CalculateLandingLocation(location.Position, num6, num5), num6, num5); - } - } - } + int num = ((!location.IsCone()) ? Rng.Next(0, 360) : Rng.Next(location.MinimumAngle.GetValueOrDefault(), location.MaximumAngle.GetValueOrDefault())); + float num2 = (float)Rng.Next((int)(location.CalculateMinimumDistance() * 100f), (int)(location.CalculateMaximumDistance() * 100f)) / 100f; + return (CalculateLandingLocation(location.Position, num, num2), num, num2); } public static Vector3 CalculateLandingLocation(GatheringLocation location, float angleScale, float rangeScale) { - int num = ((!location.IsCone()) ? (-2058900286) : (-2058900288)); - int degrees = default(int); - while (true) - { - int num2 = num; - int num3 = -2058900287; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -2058900288; - break; - case 0: - { - float range = location.CalculateMinimumDistance() + rangeScale * (location.CalculateMaximumDistance() - location.CalculateMinimumDistance()); - return CalculateLandingLocation(location.Position, degrees, range); - } - case 1: - degrees = location.MinimumAngle.GetValueOrDefault() + (int)(angleScale * (float)(location.MaximumAngle.GetValueOrDefault() - location.MinimumAngle.GetValueOrDefault())); - num = -2058900287; - break; - case 3: - degrees = (int)(rangeScale * 360f); - num = -2058900287; - break; - } - } + int degrees = ((!location.IsCone()) ? ((int)(rangeScale * 360f)) : (location.MinimumAngle.GetValueOrDefault() + (int)(angleScale * (float)(location.MaximumAngle.GetValueOrDefault() - location.MinimumAngle.GetValueOrDefault())))); + float range = location.CalculateMinimumDistance() + rangeScale * (location.CalculateMaximumDistance() - location.CalculateMinimumDistance()); + return CalculateLandingLocation(location.Position, degrees, range); } private static Vector3 CalculateLandingLocation(Vector3 position, int degrees, float range) @@ -77,29 +27,9 @@ public static class GatheringMath float num = 0f - (float)((double)degrees * Math.PI / 180.0); return new Vector3 { - X = position.X + range * (float)_206E_200D_200F_200E_206A_200F_206C_206B_206B_206E_206C_200D_206F_206F_206E_200B_200D_200E_206E_202D_200B_200D_200D_200D_206A_202A_206D_206C_206B_200E_200E_200C_200B_206F_200B_206B_206B_206C_206E_202E_202E((double)num), + X = position.X + range * (float)Math.Sin(num), Y = position.Y, - Z = position.Z + range * (float)_202D_206F_206A_206E_206C_206B_200B_202C_206A_206E_206F_202A_202A_202E_206C_202D_202A_200D_202E_206B_200D_200C_200C_200F_200E_206C_202E_200E_200C_202B_206A_200B_206B_200E_200E_202E_202B_202D_200B_206C_202E((double)num) + Z = position.Z + range * (float)Math.Cos(num) }; } - - static int _202C_206E_202B_200E_202C_206C_200F_200D_200F_200D_200F_206D_202A_206F_200E_200E_200B_206F_202D_200E_206F_206B_206A_202A_206D_206D_206F_200B_202D_200B_206B_202E_200B_206D_200F_202A_202E_206E_206A_200F_202E(Random P_0, int P_1, int P_2) - { - return P_0.Next(P_1, P_2); - } - - static double _206E_200D_200F_200E_206A_200F_206C_206B_206B_206E_206C_200D_206F_206F_206E_200B_200D_200E_206E_202D_200B_200D_200D_200D_206A_202A_206D_206C_206B_200E_200E_200C_200B_206F_200B_206B_206B_206C_206E_202E_202E(double P_0) - { - return Math.Sin(P_0); - } - - static double _202D_206F_206A_206E_206C_206B_200B_202C_206A_206E_206F_202A_202A_202E_206C_202D_202A_200D_202E_206B_200D_200C_200C_200F_200E_206C_202E_200E_200C_202B_206A_200B_206B_200E_200E_202E_202B_202D_200B_206C_202E(double P_0) - { - return Math.Cos(P_0); - } - - static Random _206D_206A_202A_200D_202D_206B_200B_206B_200E_202E_200C_206F_202E_206A_200E_206C_202C_206A_202E_206A_200C_206A_202B_200B_200E_206E_206A_202A_200B_200B_202B_202D_200C_206C_200C_202E_206C_200D_200C_202A_202E() - { - return new Random(); - } } diff --git a/Questionable.Model/Questionable.Model/LandingZoneMath.cs b/Questionable.Model/Questionable.Model/LandingZoneMath.cs index aad86a4..dae6e55 100644 --- a/Questionable.Model/Questionable.Model/LandingZoneMath.cs +++ b/Questionable.Model/Questionable.Model/LandingZoneMath.cs @@ -1,438 +1,164 @@ using System; using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; using Questionable.Model.Questing; namespace Questionable.Model; public static class LandingZoneMath { - private static readonly Random Rng = _200C_202E_206B_200E_200F_202B_200F_202E_206E_206F_200C_200D_200F_200C_206E_202E_200C_200C_200E_202E_202B_206E_202B_206C_200E_206C_206B_202B_202B_202B_206E_200C_202A_202D_202B_206F_202E_200E_206A_206A_202E(); + private static readonly Random Rng = new Random(); - [MethodImpl(MethodImplOptions.NoInlining)] public static Vector3 CalculateLandingLocation(IReadOnlyList zones) { - int num = ((zones.Count != 0) ? 2112702001 : 2112702014); - float num12 = default(float); - float num9 = default(float); - float num11 = default(float); - int num7 = default(int); - int num8 = default(int); - Span span = default(Span); - while (true) + if (zones.Count == 0) { - int num2 = num; - int num3 = 2112702011; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + throw new ArgumentException("At least one landing zone is required.", "zones"); + } + if (zones.Count == 1) + { + return RandomPointInConvexPolygon(zones[0].Vertices); + } + float num = 0f; + Span span = stackalloc float[zones.Count]; + for (int i = 0; i < zones.Count; i++) + { + span[i] = CalculatePolygonArea(zones[i].Vertices); + num += span[i]; + } + float num2 = (float)(Rng.NextDouble() * (double)num); + float num3 = 0f; + for (int j = 0; j < zones.Count; j++) + { + num3 += span[j]; + if (num2 <= num3) { - case 3: - num12 = (float)(_206A_202D_206C_206F_200B_202B_206A_206C_200C_206A_200E_206B_200F_202A_206E_200E_200D_206A_202A_202A_200B_206B_200D_200C_200F_200F_206A_200D_206A_206D_206C_206C_200F_206A_202D_206B_206A_206A_200D_200F_202E(Rng) * (double)num9); - num11 = 0f; - num7 = 0; - num = 2112702009; - break; - case 6: - return RandomPointInConvexPolygon(zones[zones.Count - 1].Vertices); - case 10: - num = ((zones.Count != 1) ? 2112702011 : 2112702007); - break; - case 7: - num = ((num8 < zones.Count) ? 2112702000 : 2112702008); - break; - case 1: - { - int num13 = num7; - num3 = 1; - num4 = num13; - num7 = (num4 | num3) + (num4 & num3); - num = 2112702009; - break; - } - case 8: - num11 += span[num7]; - num = ((!(num12 <= num11)) ? 2112702010 : 2112702015); - break; - case 12: - return RandomPointInConvexPolygon(zones[0].Vertices); - case 9: - num = 2112702014; - break; - case 0: - num9 = 0f; - span = stackalloc float[zones.Count]; - num8 = 0; - num = 2112702012; - break; - case 11: - { - span[num8] = CalculatePolygonArea(zones[num8].Vertices); - num9 += span[num8]; - int num10 = num8; - num3 = 1; - num4 = num10; - num8 = (num4 | num3) + (num4 & num3); - num = 2112702012; - break; - } - case 4: - return RandomPointInConvexPolygon(zones[num7].Vertices); - case 5: - throw _202B_206B_202C_200B_206B_206A_202B_200E_200C_200D_202B_202D_202B_200B_202D_202D_200B_202C_206F_206F_200B_200D_202E_206E_200D_200B_200C_202C_202D_206D_200D_202A_200F_206E_206E_206A_200F_200F_202A_202B_202E(global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(1973710914), global::_003CModule_003E._202C_200B_200E_200D_206A_200D_202D_206E_200E_206D_202C_200E_206A_202D_202E_206F_200C_206C_206B_206F_200E_202A_200E_200E_202B_202B_206D_202B_206D_200C_206C_200C_200E_202A_202C_200D_206E_202C_200B_202A_202E(-187426989)); - case 2: - num = ((num7 < zones.Count) ? 2112702003 : 2112702013); - break; + return RandomPointInConvexPolygon(zones[j].Vertices); } } + return RandomPointInConvexPolygon(zones[zones.Count - 1].Vertices); } - [MethodImpl(MethodImplOptions.NoInlining)] public static Vector3 RandomPointInConvexPolygon(IReadOnlyList vertices) { - int num = ((vertices.Count >= 3) ? 1769041742 : 1769041734); - int num8 = default(int); - float num7 = default(float); - Span span = default(Span); - float num5 = default(float); - int num9 = default(int); - float num6 = default(float); - int num10 = default(int); - while (true) + if (vertices.Count < 3) { - int num2 = num; - int num3 = 1769041740; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + throw new ArgumentException("Polygon must have at least 3 vertices.", "vertices"); + } + if (vertices.Count == 3) + { + return RandomPointInTriangle(vertices[0], vertices[1], vertices[2]); + } + int num = vertices.Count - 2; + Span span = stackalloc float[num]; + float num2 = 0f; + for (int i = 0; i < num; i++) + { + span[i] = TriangleAreaXZ(vertices[0], vertices[i + 1], vertices[i + 2]); + num2 += span[i]; + } + float num3 = (float)(Rng.NextDouble() * (double)num2); + float num4 = 0f; + for (int j = 0; j < num; j++) + { + num4 += span[j]; + if (num3 <= num4) { - case 12: - { - Vector3 a2 = vertices[0]; - int num19 = num8; - num3 = 1; - num4 = num19; - Vector3 b2 = vertices[(num4 | num3) + (num4 & num3)]; - int num20 = num8; - num3 = 2; - num4 = num20; - return RandomPointInTriangle(a2, b2, vertices[(num4 | num3) + (num4 & num3)]); - } - case 0: - num7 += span[num8]; - num = ((!(num5 <= num7)) ? 1769041733 : 1769041728); - break; - case 4: - return RandomPointInTriangle(vertices[0], vertices[vertices.Count - 2], vertices[vertices.Count - 1]); - case 9: - { - int num16 = num8; - num3 = 1; - num4 = num16; - int num17 = num4 ^ num3; - int num18 = num4 & num3; - num8 = num17 + (num18 + num18); - num = 1769041739; - break; - } - case 11: - { - ref float reference = ref span[num9]; - Vector3 a = vertices[0]; - int num11 = num9; - num3 = 1; - num4 = num11; - Vector3 b = vertices[(num4 | num3) + (num4 & num3)]; - int num12 = num9; - num3 = 2; - num4 = num12; - int num13 = num4 ^ num3; - int num14 = num4 & num3; - reference = TriangleAreaXZ(a, b, vertices[num13 + (num14 + num14)]); - num6 += span[num9]; - int num15 = num9; - num3 = 1; - num4 = num15; - num9 = (num4 | num3) + (num4 & num3); - num = 1769041743; - break; - } - case 8: - num = 1769041734; - break; - case 6: - num10 = vertices.Count - 2; - span = stackalloc float[num10]; - num6 = 0f; - num9 = 0; - num = 1769041743; - break; - case 7: - num = ((num8 < num10) ? 1769041740 : 1769041736); - break; - case 10: - throw _202B_206B_202C_200B_206B_206A_202B_200E_200C_200D_202B_202D_202B_200B_202D_202D_200B_202C_206F_206F_200B_200D_202E_206E_200D_200B_200C_202C_202D_206D_200D_202A_200F_206E_206E_206A_200F_200F_202A_202B_202E(global::_003CModule_003E._206D_200B_206E_206A_206A_206F_206E_200F_206C_206C_202D_200E_200F_200E_206A_202E_206B_202A_206D_206A_200E_200D_202A_202C_202C_206A_202A_200C_206E_206D_206C_202A_202E_200D_200E_206E_202D_206F_200F_200D_202E(1325412476), global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E(935263915)); - case 2: - num = ((vertices.Count != 3) ? 1769041738 : 1769041741); - break; - case 3: - num = ((num9 < num10) ? 1769041735 : 1769041737); - break; - case 5: - num5 = (float)(_206A_202D_206C_206F_200B_202B_206A_206C_200C_206A_200E_206B_200F_202A_206E_200E_200D_206A_202A_202A_200B_206B_200D_200C_200F_200F_206A_200D_206A_206D_206C_206C_200F_206A_202D_206B_206A_206A_200D_200F_202E(Rng) * (double)num6); - num7 = 0f; - num8 = 0; - num = 1769041739; - break; - case 1: - return RandomPointInTriangle(vertices[0], vertices[1], vertices[2]); + return RandomPointInTriangle(vertices[0], vertices[j + 1], vertices[j + 2]); } } + return RandomPointInTriangle(vertices[0], vertices[vertices.Count - 2], vertices[vertices.Count - 1]); } private static Vector3 RandomPointInTriangle(Vector3 a, Vector3 b, Vector3 c) { - float num = (float)_206A_202D_206C_206F_200B_202B_206A_206C_200C_206A_200E_206B_200F_202A_206E_200E_200D_206A_202A_202A_200B_206B_200D_200C_200F_200F_206A_200D_206A_206D_206C_206C_200F_206A_202D_206B_206A_206A_200D_200F_202E(Rng); - float num2 = (float)_206A_202D_206C_206F_200B_202B_206A_206C_200C_206A_200E_206B_200F_202A_206E_200E_200D_206A_202A_202A_200B_206B_200D_200C_200F_200F_206A_200D_206A_206D_206C_206C_200F_206A_202D_206B_206A_206A_200D_200F_202E(Rng); - int num3 = ((!(num + num2 > 1f)) ? (-918918961) : (-918918964)); - while (true) + float num = (float)Rng.NextDouble(); + float num2 = (float)Rng.NextDouble(); + if (num + num2 > 1f) { - int num4 = num3; - int num5 = -918918962; - int num6 = num4; - switch ((num6 | num5) - (num6 & num5)) - { - case 1: - return a + num * (b - a) + num2 * (c - a); - case 2: - num = 1f - num; - num2 = 1f - num2; - num3 = -918918961; - break; - case 0: - num3 = -918918964; - break; - } + num = 1f - num; + num2 = 1f - num2; } + return a + num * (b - a) + num2 * (c - a); } private static float TriangleAreaXZ(Vector3 a, Vector3 b, Vector3 c) { - return _206E_200E_200C_206E_200B_200F_200D_200B_200F_206E_206D_206E_202E_200D_202D_202A_202E_202B_206B_206E_202D_200D_202D_206B_200F_200C_200C_202C_202E_200F_200E_206B_202E_206C_206C_202E_202D_206D_206C_206F_202E((b.X - a.X) * (c.Z - a.Z) - (c.X - a.X) * (b.Z - a.Z)) * 0.5f; + return MathF.Abs((b.X - a.X) * (c.Z - a.Z) - (c.X - a.X) * (b.Z - a.Z)) * 0.5f; } public static float CalculatePolygonArea(IReadOnlyList vertices) { - int num = ((vertices.Count >= 3) ? 1886131755 : 1886131757); - int num7 = default(int); - float num8 = default(float); - while (true) + if (vertices.Count < 3) { - int num2 = num; - int num3 = 1886131758; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return _206E_200E_200C_206E_200B_200F_200D_200B_200F_206E_206D_206E_202E_200D_202D_202A_202E_202B_206B_206E_202D_200D_202D_206B_200F_200C_200C_202C_202E_200F_200E_206B_202E_206C_206C_202E_202D_206D_206C_206F_202E(num8) * 0.5f; - case 3: - return 0f; - case 1: - { - int num9 = num7; - num3 = 1; - num4 = num9; - int num10 = num4 ^ num3; - int num11 = num4 & num3; - int index = (num10 + (num11 + num11)) % vertices.Count; - num8 += vertices[num7].X * vertices[index].Z; - num8 -= vertices[index].X * vertices[num7].Z; - int num12 = num7; - num3 = 1; - num4 = num12; - num7 = (num4 | num3) + (num4 & num3); - num = 1886131754; - break; - } - case 5: - num8 = 0f; - num7 = 0; - num = 1886131754; - break; - case 2: - num = 1886131757; - break; - case 4: - num = ((num7 < vertices.Count) ? 1886131759 : 1886131758); - break; - } + return 0f; } + float num = 0f; + for (int i = 0; i < vertices.Count; i++) + { + int index = (i + 1) % vertices.Count; + num += vertices[i].X * vertices[index].Z; + num -= vertices[index].X * vertices[i].Z; + } + return MathF.Abs(num) * 0.5f; } public static bool IsConvex(IReadOnlyList vertices) { - int num = ((vertices.Count >= 3) ? (-1470216164) : (-1470216169)); - bool? flag = default(bool?); - bool flag2 = default(bool); - int num6 = default(int); - int count = default(int); - float num7 = default(float); - while (true) + if (vertices.Count < 3) { - int num2 = num; - int num3 = -1470216161; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return false; + } + bool? flag = null; + int count = vertices.Count; + for (int i = 0; i < count; i++) + { + Vector3 vector = vertices[i]; + Vector3 vector2 = vertices[(i + 1) % count]; + Vector3 vector3 = vertices[(i + 2) % count]; + float num = (vector2.X - vector.X) * (vector3.Z - vector2.Z) - (vector2.Z - vector.Z) * (vector3.X - vector2.X); + if (!(MathF.Abs(num) < 1E-06f)) { - case 5: - return flag.HasValue; - case 10: - return false; - case 6: - flag = flag2; - num = -1470216162; - break; - case 2: - num = ((flag == flag2) ? (-1470216162) : (-1470216171)); - break; - case 0: - num = ((num6 < count) ? (-1470216165) : (-1470216166)); - break; - case 8: - return false; - case 4: - { - Vector3 vector = vertices[num6]; - int num8 = num6; - num3 = 1; - num4 = num8; - int num9 = num4 ^ num3; - int num10 = num4 & num3; - Vector3 vector2 = vertices[(num9 + (num10 + num10)) % count]; - int num11 = num6; - num3 = 2; - num4 = num11; - Vector3 vector3 = vertices[((num4 | num3) + (num4 & num3)) % count]; - num7 = (vector2.X - vector.X) * (vector3.Z - vector2.Z) - (vector2.Z - vector.Z) * (vector3.X - vector2.X); - num = ((_206E_200E_200C_206E_200B_200F_200D_200B_200F_206E_206D_206E_202E_200D_202D_202A_202E_202B_206B_206E_202D_200D_202D_206B_200F_200C_200C_202C_202E_200F_200E_206B_202E_206C_206C_202E_202D_206D_206C_206F_202E(num7) < 1E-06f) ? (-1470216162) : (-1470216168)); - break; - } - case 7: - flag2 = num7 > 0f; - num = (flag.HasValue ? (-1470216163) : (-1470216167)); - break; - case 9: - num = -1470216169; - break; - case 3: - flag = null; - count = vertices.Count; - num6 = 0; - num = -1470216161; - break; - case 1: - { - int num5 = num6; - num3 = 1; - num4 = num5; - num6 = (num4 | num3) + (num4 & num3); - num = -1470216161; - break; - } + bool flag2 = num > 0f; + if (!flag.HasValue) + { + flag = flag2; + } + else if (flag != flag2) + { + return false; + } } } + return flag.HasValue; } public static bool IsPointInConvexPolygon(Vector2 point, IReadOnlyList vertices) { - int num = ((vertices.Count >= 3) ? (-1183918555) : (-1183918551)); - int num5 = default(int); - int count = default(int); - float num9 = default(float); - bool? flag = default(bool?); - bool flag2 = default(bool); - while (true) + if (vertices.Count < 3) { - int num2 = num; - int num3 = -1183918557; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return false; + } + bool? flag = null; + int count = vertices.Count; + for (int i = 0; i < count; i++) + { + Vector3 vector = vertices[i]; + Vector3 vector2 = vertices[(i + 1) % count]; + float num = (vector2.X - vector.X) * (point.Y - vector.Z) - (vector2.Z - vector.Z) * (point.X - vector.X); + if (!(MathF.Abs(num) < 1E-06f)) { - case 0: - { - int num6 = num5; - num3 = 1; - num4 = num6; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - num5 = num7 + (num8 + num8); - num = -1183918549; - break; - } - case 5: - return true; - case 3: - { - Vector3 vector = vertices[num5]; - int num10 = num5; - num3 = 1; - num4 = num10; - Vector3 vector2 = vertices[((num4 | num3) + (num4 & num3)) % count]; - num9 = (vector2.X - vector.X) * (point.Y - vector.Z) - (vector2.Z - vector.Z) * (point.X - vector.X); - num = ((_206E_200E_200C_206E_200B_200F_200D_200B_200F_206E_206D_206E_202E_200D_202D_202A_202E_202B_206B_206E_202D_200D_202D_206B_200F_200C_200C_202C_202E_200F_200E_206B_202E_206C_206C_202E_202D_206D_206C_206F_202E(num9) < 1E-06f) ? (-1183918557) : (-1183918553)); - break; - } - case 9: - num = -1183918551; - break; - case 2: - flag = flag2; - num = -1183918557; - break; - case 1: - num = ((flag == flag2) ? (-1183918557) : (-1183918556)); - break; - case 6: - flag = null; - count = vertices.Count; - num5 = 0; - num = -1183918549; - break; - case 7: - return false; - case 4: - flag2 = num9 > 0f; - num = (flag.HasValue ? (-1183918558) : (-1183918559)); - break; - case 8: - num = ((num5 < count) ? (-1183918560) : (-1183918554)); - break; - case 10: - return false; + bool flag2 = num > 0f; + if (!flag.HasValue) + { + flag = flag2; + } + else if (flag != flag2) + { + return false; + } } } - } - - static ArgumentException _202B_206B_202C_200B_206B_206A_202B_200E_200C_200D_202B_202D_202B_200B_202D_202D_200B_202C_206F_206F_200B_200D_202E_206E_200D_200B_200C_202C_202D_206D_200D_202A_200F_206E_206E_206A_200F_200F_202A_202B_202E(string P_0, string P_1) - { - return new ArgumentException(P_0, P_1); - } - - static double _206A_202D_206C_206F_200B_202B_206A_206C_200C_206A_200E_206B_200F_202A_206E_200E_200D_206A_202A_202A_200B_206B_200D_200C_200F_200F_206A_200D_206A_206D_206C_206C_200F_206A_202D_206B_206A_206A_200D_200F_202E(Random P_0) - { - return P_0.NextDouble(); - } - - static float _206E_200E_200C_206E_200B_200F_200D_200B_200F_206E_206D_206E_202E_200D_202D_202A_202E_202B_206B_206E_202D_200D_202D_206B_200F_200C_200C_202C_202E_200F_200E_206B_202E_206C_206C_202E_202D_206D_206C_206F_202E(float P_0) - { - return MathF.Abs(P_0); - } - - static Random _200C_202E_206B_200E_200F_202B_200F_202E_206E_206F_200C_200D_200F_200C_206E_202E_200C_200C_200E_202E_202B_206E_202B_206C_200E_206C_206B_202B_202B_202B_206E_200C_202A_202D_202B_206F_202E_200E_206A_206A_202E() - { - return new Random(); + return true; } } diff --git a/Questionable/--z__ReadOnlyArray.cs b/Questionable/--z__ReadOnlyArray.cs index 1329fbd..840f515 100644 --- a/Questionable/--z__ReadOnlyArray.cs +++ b/Questionable/--z__ReadOnlyArray.cs @@ -20,7 +20,7 @@ internal sealed class _003C_003Ez__ReadOnlyArray : IEnumerable, ICollection, } set { - throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E(); + throw new NotSupportedException(); } } @@ -44,7 +44,7 @@ internal sealed class _003C_003Ez__ReadOnlyArray : IEnumerable, ICollection, } set { - throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E(); + throw new NotSupportedException(); } } @@ -55,47 +55,47 @@ internal sealed class _003C_003Ez__ReadOnlyArray : IEnumerable, ICollection, IEnumerator IEnumerable.GetEnumerator() { - return _200F_206A_202D_200D_200C_200C_200C_202C_202B_202A_202E_200D_202B_202C_202E_202B_206D_202B_206F_200E_200B_200D_200E_200E_202A_202D_202A_206D_200C_202A_202B_206F_200B_202D_202E_202D_202E_202D_202C_200C_202E((IEnumerable)_items); + return ((IEnumerable)_items).GetEnumerator(); } void ICollection.CopyTo(Array array, int index) { - _206D_202E_200E_202A_202C_206B_200D_206B_206F_202A_206F_206E_206B_200C_200D_206F_200E_206D_206A_202B_202B_202D_206E_206B_200E_202D_200E_206A_206A_206F_206A_200D_200B_200C_200F_202B_200E_206E_200D_202E((ICollection)_items, array, index); + ((ICollection)_items).CopyTo(array, index); } int IList.Add(object? value) { - throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E(); + throw new NotSupportedException(); } void IList.Clear() { - throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E(); + throw new NotSupportedException(); } bool IList.Contains(object? value) { - return _202D_206E_202B_200D_202B_206A_200B_200C_200C_206F_200C_200D_206F_202C_200E_200B_200B_202C_202E_200F_200E_202C_206E_200F_202B_200B_206E_200F_202E_202E_202D_206F_200E_200C_206C_206E_200D_202E_202E_200E_202E((IList)_items, value); + return ((IList)_items).Contains(value); } int IList.IndexOf(object? value) { - return _200B_202D_206E_202A_202E_200E_202A_200D_206D_206A_206C_200D_202A_202D_202C_202C_200F_206A_202E_206A_202D_200E_200F_206B_206B_200D_202C_202C_206D_206D_202A_200E_206A_200C_200E_206C_200C_206D_206E_202E((IList)_items, value); + return ((IList)_items).IndexOf(value); } void IList.Insert(int index, object? value) { - throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E(); + throw new NotSupportedException(); } void IList.Remove(object? value) { - throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E(); + throw new NotSupportedException(); } void IList.RemoveAt(int index) { - throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E(); + throw new NotSupportedException(); } IEnumerator IEnumerable.GetEnumerator() @@ -105,12 +105,12 @@ internal sealed class _003C_003Ez__ReadOnlyArray : IEnumerable, ICollection, void ICollection.Add(T item) { - throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E(); + throw new NotSupportedException(); } void ICollection.Clear() { - throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E(); + throw new NotSupportedException(); } bool ICollection.Contains(T item) @@ -125,7 +125,7 @@ internal sealed class _003C_003Ez__ReadOnlyArray : IEnumerable, ICollection, bool ICollection.Remove(T item) { - throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E(); + throw new NotSupportedException(); } int IList.IndexOf(T item) @@ -135,36 +135,11 @@ internal sealed class _003C_003Ez__ReadOnlyArray : IEnumerable, ICollection, void IList.Insert(int index, T item) { - throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E(); + throw new NotSupportedException(); } void IList.RemoveAt(int index) { - throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E(); - } - - static IEnumerator _200F_206A_202D_200D_200C_200C_200C_202C_202B_202A_202E_200D_202B_202C_202E_202B_206D_202B_206F_200E_200B_200D_200E_200E_202A_202D_202A_206D_200C_202A_202B_206F_200B_202D_202E_202D_202E_202D_202C_200C_202E(IEnumerable P_0) - { - return P_0.GetEnumerator(); - } - - static void _206D_202E_200E_202A_202C_206B_200D_206B_206F_202A_206F_206E_206B_200C_200D_206F_200E_206D_206A_202B_202B_202D_206E_206B_200E_202D_200E_206A_206A_206F_206A_200D_200B_200C_200F_202B_200E_206E_200D_202E(ICollection P_0, Array P_1, int P_2) - { - P_0.CopyTo(P_1, P_2); - } - - static NotSupportedException _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E() - { - return new NotSupportedException(); - } - - static bool _202D_206E_202B_200D_202B_206A_200B_200C_200C_206F_200C_200D_206F_202C_200E_200B_200B_202C_202E_200F_200E_202C_206E_200F_202B_200B_206E_200F_202E_202E_202D_206F_200E_200C_206C_206E_200D_202E_202E_200E_202E(IList P_0, object P_1) - { - return P_0.Contains(P_1); - } - - static int _200B_202D_206E_202A_202E_200E_202A_200D_206D_206A_206C_200D_202A_202D_202C_202C_200F_206A_202E_206A_202D_200E_200F_206B_206B_200D_202C_202C_206D_206D_202A_200E_206A_200C_200E_206C_200C_206D_206E_202E(IList P_0, object P_1) - { - return P_0.IndexOf(P_1); + throw new NotSupportedException(); } } diff --git a/Questionable/--z__ReadOnlyList.cs b/Questionable/--z__ReadOnlyList.cs index c043a74..3329bf4 100644 --- a/Questionable/--z__ReadOnlyList.cs +++ b/Questionable/--z__ReadOnlyList.cs @@ -20,7 +20,7 @@ internal sealed class _003C_003Ez__ReadOnlyList : IEnumerable, ICollection, I } set { - throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E(); + throw new NotSupportedException(); } } @@ -44,7 +44,7 @@ internal sealed class _003C_003Ez__ReadOnlyList : IEnumerable, ICollection, I } set { - throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E(); + throw new NotSupportedException(); } } @@ -55,47 +55,47 @@ internal sealed class _003C_003Ez__ReadOnlyList : IEnumerable, ICollection, I IEnumerator IEnumerable.GetEnumerator() { - return _202B_202E_206D_206E_206E_206D_202D_206E_200F_202E_202A_200E_202D_206B_200F_206A_206F_202E_200C_200D_202C_200B_200F_202E_206B_206B_206D_200C_202D_206A_200F_200F_202D_202A_200C_200B_202A_200E_200C_206D_202E((IEnumerable)_items); + return ((IEnumerable)_items).GetEnumerator(); } void ICollection.CopyTo(Array array, int index) { - _200D_206E_206D_202E_202E_202B_206A_202A_202A_206A_206B_206C_200D_202C_206D_202E_202D_206A_200E_206E_206A_202D_200E_202C_200F_202E_202B_206D_206A_202B_200D_200E_202E_200F_206C_200F_206D_206B_200E_200D_202E((ICollection)_items, array, index); + ((ICollection)_items).CopyTo(array, index); } int IList.Add(object? value) { - throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E(); + throw new NotSupportedException(); } void IList.Clear() { - throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E(); + throw new NotSupportedException(); } bool IList.Contains(object? value) { - return _202C_202B_200B_206E_206A_206C_200C_202D_206B_206B_202A_206D_206E_206D_200B_202A_200F_206E_202B_206B_206C_206D_206F_200D_202D_200D_202D_202A_200D_202B_202C_206A_206C_200D_206B_202C_202C_200E_202A_206F_202E((IList)_items, value); + return ((IList)_items).Contains(value); } int IList.IndexOf(object? value) { - return _202D_202E_202C_202E_200F_206F_200E_206D_202B_200F_206A_202D_202B_200E_200D_206D_206A_206F_202A_206E_206A_202A_206A_206A_206F_200F_202A_200E_200E_206E_206A_202A_206B_200F_202A_202C_202D_202B_206A_206C_202E((IList)_items, value); + return ((IList)_items).IndexOf(value); } void IList.Insert(int index, object? value) { - throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E(); + throw new NotSupportedException(); } void IList.Remove(object? value) { - throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E(); + throw new NotSupportedException(); } void IList.RemoveAt(int index) { - throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E(); + throw new NotSupportedException(); } IEnumerator IEnumerable.GetEnumerator() @@ -105,12 +105,12 @@ internal sealed class _003C_003Ez__ReadOnlyList : IEnumerable, ICollection, I void ICollection.Add(T item) { - throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E(); + throw new NotSupportedException(); } void ICollection.Clear() { - throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E(); + throw new NotSupportedException(); } bool ICollection.Contains(T item) @@ -125,7 +125,7 @@ internal sealed class _003C_003Ez__ReadOnlyList : IEnumerable, ICollection, I bool ICollection.Remove(T item) { - throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E(); + throw new NotSupportedException(); } int IList.IndexOf(T item) @@ -135,36 +135,11 @@ internal sealed class _003C_003Ez__ReadOnlyList : IEnumerable, ICollection, I void IList.Insert(int index, T item) { - throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E(); + throw new NotSupportedException(); } void IList.RemoveAt(int index) { - throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E(); - } - - static IEnumerator _202B_202E_206D_206E_206E_206D_202D_206E_200F_202E_202A_200E_202D_206B_200F_206A_206F_202E_200C_200D_202C_200B_200F_202E_206B_206B_206D_200C_202D_206A_200F_200F_202D_202A_200C_200B_202A_200E_200C_206D_202E(IEnumerable P_0) - { - return P_0.GetEnumerator(); - } - - static void _200D_206E_206D_202E_202E_202B_206A_202A_202A_206A_206B_206C_200D_202C_206D_202E_202D_206A_200E_206E_206A_202D_200E_202C_200F_202E_202B_206D_206A_202B_200D_200E_202E_200F_206C_200F_206D_206B_200E_200D_202E(ICollection P_0, Array P_1, int P_2) - { - P_0.CopyTo(P_1, P_2); - } - - static NotSupportedException _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E() - { - return new NotSupportedException(); - } - - static bool _202C_202B_200B_206E_206A_206C_200C_202D_206B_206B_202A_206D_206E_206D_200B_202A_200F_206E_202B_206B_206C_206D_206F_200D_202D_200D_202D_202A_200D_202B_202C_206A_206C_200D_206B_202C_202C_200E_202A_206F_202E(IList P_0, object P_1) - { - return P_0.Contains(P_1); - } - - static int _202D_202E_202C_202E_200F_206F_200E_206D_202B_200F_206A_202D_202B_200E_200D_206D_206A_206F_202A_206E_206A_202A_206A_206A_206F_200F_202A_200E_200E_206E_206A_202A_206B_200F_202A_202C_202D_202B_206A_206C_202E(IList P_0, object P_1) - { - return P_0.IndexOf(P_1); + throw new NotSupportedException(); } } diff --git a/Questionable/--z__ReadOnlySingleElementList.cs b/Questionable/--z__ReadOnlySingleElementList.cs index a33c232..5b22426 100644 --- a/Questionable/--z__ReadOnlySingleElementList.cs +++ b/Questionable/--z__ReadOnlySingleElementList.cs @@ -19,27 +19,11 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList : IEnumerable, I bool IEnumerator.MoveNext() { - int num = (_moveNextCalled ? (-1358713628) : (-1358713625)); - while (true) + if (!_moveNextCalled) { - int num2 = num; - int num3 = -1358713626; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return false; - case 1: - return _moveNextCalled = true; - case 0: - goto IL_0055; - } - continue; - IL_0055: - num = -1358713625; + return _moveNextCalled = true; } + return false; } void IEnumerator.Reset() @@ -62,29 +46,15 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList : IEnumerable, I { get { - int num = ((index == 0) ? 745258458 : 745258459); - while (true) + if (index != 0) { - int num2 = num; - int num3 = 745258458; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0041; - case 0: - return _item; - case 1: - throw _202E_206A_206F_200B_200E_206C_206D_202E_202A_200E_200F_202A_202E_206A_200D_206D_206D_206B_206C_200F_206C_206C_202B_206D_206A_206B_202C_200C_206F_200C_206D_206A_202D_202B_206D_202C_206E_202D_200F_202B_202E(); - } - continue; - IL_0041: - num = 745258459; + throw new IndexOutOfRangeException(); } + return _item; } set { - throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E(); + throw new NotSupportedException(); } } @@ -98,25 +68,11 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList : IEnumerable, I { get { - int num = ((index == 0) ? (-543192047) : (-543192046)); - while (true) + if (index != 0) { - int num2 = num; - int num3 = -543192048; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0041; - case 1: - return _item; - case 2: - throw _202E_206A_206F_200B_200E_206C_206D_202E_202A_200E_200F_202A_202E_206A_200D_206D_206D_206B_206C_200F_206C_206C_202B_206D_206A_206B_202C_200C_206F_200C_206D_206A_202D_202B_206D_202C_206E_202D_200F_202B_202E(); - } - continue; - IL_0041: - num = -543192046; + throw new IndexOutOfRangeException(); } + return _item; } } @@ -128,31 +84,15 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList : IEnumerable, I { get { - int num = ((index == 0) ? (-1389399719) : (-1389399720)); - while (true) + if (index != 0) { - int num2 = num; - int num3 = -1389399719; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return _item; - case 1: - throw _202E_206A_206F_200B_200E_206C_206D_202E_202A_200E_200F_202A_202E_206A_200D_206D_206D_206B_206C_200F_206C_206C_202B_206D_206A_206B_202C_200C_206F_200C_206D_206A_202D_202B_206D_202C_206E_202D_200F_202B_202E(); - case 2: - goto IL_0050; - } - continue; - IL_0050: - num = -1389399720; + throw new IndexOutOfRangeException(); } + return _item; } set { - throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E(); + throw new NotSupportedException(); } } @@ -168,17 +108,17 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList : IEnumerable, I void ICollection.CopyTo(Array array, int index) { - _206B_206E_206A_202D_206E_202D_206F_202B_202C_200E_202E_202A_206C_206F_206F_206B_200C_200F_206D_202A_206A_202B_200C_202B_200E_206D_202A_200E_206A_206F_206F_200C_206A_202C_202B_200D_206A_200B_206B_202A_202E(array, (object)_item, index); + array.SetValue(_item, index); } int IList.Add(object? value) { - throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E(); + throw new NotSupportedException(); } void IList.Clear() { - throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E(); + throw new NotSupportedException(); } bool IList.Contains(object? value) @@ -188,42 +128,26 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList : IEnumerable, I int IList.IndexOf(object? value) { - int num = (EqualityComparer.Default.Equals(_item, (T)value) ? 82767569 : 82767568); - while (true) + if (!EqualityComparer.Default.Equals(_item, (T)value)) { - int num2 = num; - int num3 = 82767569; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0058; - case 0: - return 0; - case 1: - return -1; - } - continue; - IL_0058: - num = 82767568; + return -1; } + return 0; } void IList.Insert(int index, object? value) { - throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E(); + throw new NotSupportedException(); } void IList.Remove(object? value) { - throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E(); + throw new NotSupportedException(); } void IList.RemoveAt(int index) { - throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E(); + throw new NotSupportedException(); } IEnumerator IEnumerable.GetEnumerator() @@ -233,12 +157,12 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList : IEnumerable, I void ICollection.Add(T item) { - throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E(); + throw new NotSupportedException(); } void ICollection.Clear() { - throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E(); + throw new NotSupportedException(); } bool ICollection.Contains(T item) @@ -253,54 +177,25 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList : IEnumerable, I bool ICollection.Remove(T item) { - throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E(); + throw new NotSupportedException(); } int IList.IndexOf(T item) { - int num = (EqualityComparer.Default.Equals(_item, item) ? (-1404189620) : (-1404189617)); - while (true) + if (!EqualityComparer.Default.Equals(_item, item)) { - int num2 = num; - int num3 = -1404189618; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0051; - case 2: - return 0; - case 1: - return -1; - } - continue; - IL_0051: - num = -1404189617; + return -1; } + return 0; } void IList.Insert(int index, T item) { - throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E(); + throw new NotSupportedException(); } void IList.RemoveAt(int index) { - throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E(); - } - - static void _206B_206E_206A_202D_206E_202D_206F_202B_202C_200E_202E_202A_206C_206F_206F_206B_200C_200F_206D_202A_206A_202B_200C_202B_200E_206D_202A_200E_206A_206F_206F_200C_206A_202C_202B_200D_206A_200B_206B_202A_202E(Array P_0, object P_1, int P_2) - { - P_0.SetValue(P_1, P_2); - } - - static IndexOutOfRangeException _202E_206A_206F_200B_200E_206C_206D_202E_202A_200E_200F_202A_202E_206A_200D_206D_206D_206B_206C_200F_206C_206C_202B_206D_206A_206B_202C_200C_206F_200C_206D_206A_202D_202B_206D_202C_206E_202D_200F_202B_202E() - { - return new IndexOutOfRangeException(); - } - - static NotSupportedException _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E() - { - return new NotSupportedException(); + throw new NotSupportedException(); } } diff --git a/Questionable/Questionable.Controller.CombatModules/BossModModule.cs b/Questionable/Questionable.Controller.CombatModules/BossModModule.cs index 5996f35..5587599 100644 --- a/Questionable/Questionable.Controller.CombatModules/BossModModule.cs +++ b/Questionable/Questionable.Controller.CombatModules/BossModModule.cs @@ -1,11 +1,8 @@ using System; -using System.Runtime.CompilerServices; using Dalamud.Game.ClientState.Objects.SubKinds; using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Ipc.Exceptions; using Dalamud.Plugin.Services; -using Lumina.Excel; -using Lumina.Excel.Sheets; using Microsoft.Extensions.Logging; using Questionable.External; @@ -31,124 +28,56 @@ internal sealed class BossModModule : ICombatModule, IDisposable public bool CanHandleFight(CombatController.CombatData combatData) { - int num = ((_configuration.General.CombatModule == Configuration.ECombatModule.BossMod) ? (-1465780808) : (-1465780807)); - while (true) + if (_configuration.General.CombatModule != Configuration.ECombatModule.BossMod) { - int num2 = num; - int num3 = -1465780808; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return _bossModIpc.IsSupported(); - case 1: - return false; - case 2: - goto IL_005f; - } - continue; - IL_005f: - num = -1465780807; + return false; } + return _bossModIpc.IsSupported(); } - bool ICombatModule.CanHandleFight(CombatController.CombatData combatData) - { - //ILSpy generated this explicit interface implementation from .override directive in CanHandleFight - return this.CanHandleFight(combatData); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public bool Start(CombatController.CombatData combatData) { try { - _200F_202B_206D_200D_202A_206D_206B_200D_206F_206C_202D_202B_200E_202B_202A_200C_202C_206C_206B_206F_206A_202B_206E_206A_200F_202D_206A_200F_206E_200D_202E_202B_200D_202E_202C_202C_200B_200C_200F_206B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(460354770), new object[1] { combatData.SpawnType }); - int num = (_bossModIpc.EnableAi(BossModIpc.EPreset.Active) ? (-1132234490) : (-1132234488)); - byte? b = default(byte?); - bool flag = default(bool); - IPlayerCharacter playerCharacter = default(IPlayerCharacter); - while (true) + _logger.LogDebug("BossModModule.Start: SpawnType={SpawnType}, enabling Active preset", combatData.SpawnType); + if (!_bossModIpc.EnableAi(BossModIpc.EPreset.Active)) { - int num2 = num; - int num3 = -1132234496; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: + _logger.LogWarning("BossModModule.Start: failed to enable BossMod AI"); + return false; + } + IPlayerCharacter localPlayer = _objectTable.LocalPlayer; + bool flag; + if (localPlayer != null) + { + byte? b = localPlayer.ClassJob.ValueNullable?.Role; + if (b.HasValue) { byte valueOrDefault = b.GetValueOrDefault(); - num3 = 3; - num4 = valueOrDefault; - num = (((uint)(~(~num4 + num3)) > 1u) ? (-1132234489) : (-1132234494)); - break; - } - case 2: - flag = true; - num = -1132234493; - break; - case 1: - b = _200C_202E_206E_200C_206E_206E_202C_200F_200C_200F_200B_200B_200C_206A_202A_206C_206E_206C_206D_206D_202D_200F_202B_206C_200B_206B_206E_200F_200E_206A_202A_202C_200D_206D_202D_206F_206E_202A_206B_200E_202E((ICharacter)playerCharacter).ValueNullable?.Role; - num = ((!b.HasValue) ? (-1132234489) : (-1132234491)); - break; - case 3: - { - bool flag2 = flag; - ILogger logger = _logger; - string text = 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(305098006); - object[] obj = new object[2] { flag2, null }; - ClassJob? valueNullable = _200C_202E_206E_200C_206E_206E_202C_200F_200C_200F_200B_200B_200C_206A_202A_206C_206E_206C_206D_206D_202D_200F_202B_206C_200B_206B_206E_200F_200E_206A_202A_202C_200D_206D_202D_206F_206E_202A_206B_200E_202E((ICharacter)playerCharacter).ValueNullable; - byte? b2; - if (!valueNullable.HasValue) + if ((uint)(valueOrDefault - 3) <= 1u) { - b = null; - b2 = b; + flag = true; + goto IL_00bd; } - else - { - b2 = valueNullable.GetValueOrDefault().Role; - } - obj[1] = b2; - _200F_202B_206D_200D_202A_206D_206B_200D_206F_206C_202D_202B_200E_202B_202A_200C_202C_206C_206B_206F_206A_202B_206E_206A_200F_202D_206A_200F_206E_200D_202E_202B_200D_202E_202C_202C_200B_200C_200F_206B_202E((ILogger)logger, text, obj); - _bossModIpc.SetRangeStrategy(BossModIpc.EPreset.Active, flag2); - num = -1132234492; - break; - } - case 6: - playerCharacter = _206F_206B_200B_206F_200D_206E_202C_206B_202D_200F_202D_202A_206D_206C_202E_200E_200D_200F_206B_206E_202A_206D_206F_200D_200F_200E_206A_200E_206B_206C_200D_200F_206F_206E_202E_202E_206F_206E_200E_202A_202E(_objectTable); - num = ((playerCharacter == null) ? (-1132234492) : (-1132234495)); - break; - case 8: - _200E_202D_202D_206F_206D_202D_206D_206A_200B_200D_206E_206A_206E_200B_200B_200C_206E_206E_206E_200D_202B_206A_202C_202E_206B_200D_206A_202C_200E_206D_202E_202C_202A_200F_200D_202C_202B_206F_202E_202B_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-651638394), Array.Empty()); - return false; - case 0: - num = -1132234488; - break; - case 7: - flag = false; - num = -1132234493; - break; - case 4: - return true; } + flag = false; + goto IL_00bd; } + goto IL_012e; + IL_00bd: + bool flag2 = flag; + _logger.LogDebug("BossModModule.Start: isRanged={IsRanged}, job role={Role}", flag2, localPlayer.ClassJob.ValueNullable?.Role); + _bossModIpc.SetRangeStrategy(BossModIpc.EPreset.Active, flag2); + goto IL_012e; + IL_012e: + return true; } - catch (IpcError ipcError) + catch (IpcError exception) { - _206E_206C_202C_202E_200F_206E_206B_206D_202B_202E_202C_202A_200D_200B_206B_200F_202E_202C_202B_206B_200E_202D_200B_206D_200B_206B_200C_202E_206B_206D_206F_200E_200E_202D_200E_206E_206A_202C_202A_206C_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1300221531), Array.Empty()); + _logger.LogWarning(exception, "Could not start combat"); return false; } } - bool ICombatModule.Start(CombatController.CombatData combatData) - { - //ILSpy generated this explicit interface implementation from .override directive in Start - return this.Start(combatData); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public bool Stop() { try @@ -156,73 +85,24 @@ internal sealed class BossModModule : ICombatModule, IDisposable _bossModIpc.DisableAi(); return true; } - catch (IpcError ipcError) + catch (IpcError exception) { - _206E_206C_202C_202E_200F_206E_206B_206D_202B_202E_202C_202A_200D_200B_206B_200F_202E_202C_202B_206B_200E_202D_200B_206D_200B_206B_200C_202E_206B_206D_206F_200E_200E_202D_200E_206E_206A_202C_202A_206C_202E((ILogger)_logger, (Exception)ipcError, 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(-52047300), Array.Empty()); + _logger.LogWarning(exception, "Could not turn off combat"); return false; } } - bool ICombatModule.Stop() - { - //ILSpy generated this explicit interface implementation from .override directive in Stop - return this.Stop(); - } - public void Update(IGameObject gameObject) { } - void ICombatModule.Update(IGameObject gameObject) - { - //ILSpy generated this explicit interface implementation from .override directive in Update - this.Update(gameObject); - } - public bool CanAttack(IBattleNpc target) { return true; } - bool ICombatModule.CanAttack(IBattleNpc target) - { - //ILSpy generated this explicit interface implementation from .override directive in CanAttack - return this.CanAttack(target); - } - public void Dispose() { Stop(); } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static void _200F_202B_206D_200D_202A_206D_206B_200D_206F_206C_202D_202B_200E_202B_202A_200C_202C_206C_206B_206F_206A_202B_206E_206A_200F_202D_206A_200F_206E_200D_202E_202B_200D_202E_202C_202C_200B_200C_200F_206B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static void _200E_202D_202D_206F_206D_202D_206D_206A_200B_200D_206E_206A_206E_200B_200B_200C_206E_206E_206E_200D_202B_206A_202C_202E_206B_200D_206A_202C_200E_206D_202E_202C_202A_200F_200D_202C_202B_206F_202E_202B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static IPlayerCharacter _206F_206B_200B_206F_200D_206E_202C_206B_202D_200F_202D_202A_206D_206C_202E_200E_200D_200F_206B_206E_202A_206D_206F_200D_200F_200E_206A_200E_206B_206C_200D_200F_206F_206E_202E_202E_206F_206E_200E_202A_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static RowRef _200C_202E_206E_200C_206E_206E_202C_200F_200C_200F_200B_200B_200C_206A_202A_206C_206E_206C_206D_206D_202D_200F_202B_206C_200B_206B_206E_200F_200E_206A_202A_202C_200D_206D_202D_206F_206E_202A_206B_200E_202E(ICharacter P_0) - { - return P_0.ClassJob; - } - - static void _206E_206C_202C_202E_200F_206E_206B_206D_202B_202E_202C_202A_200D_200B_206B_200F_202E_202C_202B_206B_200E_202D_200B_206D_200B_206B_200C_202E_206B_206D_206F_200E_200E_202D_200E_206E_206A_202C_202A_206C_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogWarning(P_1, P_2, P_3); - } } diff --git a/Questionable/Questionable.Controller.CombatModules/ItemUseModule.cs b/Questionable/Questionable.Controller.CombatModules/ItemUseModule.cs index 41dc8e6..99a926f 100644 --- a/Questionable/Questionable.Controller.CombatModules/ItemUseModule.cs +++ b/Questionable/Questionable.Controller.CombatModules/ItemUseModule.cs @@ -1,8 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Reflection; -using System.Runtime.CompilerServices; using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; @@ -17,65 +15,6 @@ namespace Questionable.Controller.CombatModules; internal sealed class ItemUseModule : ICombatModule { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass15_0 - { - public IGameObject nextTarget; - - internal bool _003CUpdate_003Eb__0(ComplexCombatData x) - { - int num = ((_200F_200D_202D_206C_200E_200D_206C_206D_206F_206F_206E_206F_202D_202D_200F_202E_202B_200B_202C_206D_202B_200B_200D_200D_206D_200D_200E_206B_206D_206D_202D_206C_202C_202E_206D_200E_200D_206A_206B_202D_202E(x) != _202D_206F_202C_206C_206B_200F_202A_200B_206A_200E_200D_200E_202B_202A_200B_202B_202D_202D_202D_200E_206F_206B_206E_202E_202B_206E_200C_206C_202E_200D_202E_206E_206E_200B_202A_206B_206B_200D_206A_206A_202E(nextTarget)) ? 1884617909 : 1884617907); - ICharacter character = default(ICharacter); - while (true) - { - int num2 = num; - int num3 = 1884617910; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - return _200D_202C_200D_206D_200D_206D_202B_206C_202E_202A_202C_202B_206D_202D_206F_200E_202D_206E_200B_200F_202C_200D_206C_206C_200B_206E_202B_202B_202A_200E_200E_206B_202D_202B_202E_206B_202E_206B_206B_202B_202E(x) == _202C_202C_200B_206B_200C_206A_206F_206B_202C_206B_206D_200D_206A_202A_200D_206B_202D_206C_200C_200C_200B_206F_200C_206E_200B_200B_206D_206C_200E_206E_202A_206C_202C_206C_206D_200F_206A_202A_206F_202E(character); - case 6: - character = nextTarget as ICharacter; - num = ((character == null) ? 1884617910 : 1884617906); - break; - case 3: - return false; - case 0: - return false; - case 2: - num = 1884617907; - break; - case 1: - return true; - case 5: - num = ((!_200D_202C_200D_206D_200D_206D_202B_206C_202E_202A_202C_202B_206D_202D_206F_200E_202D_206E_200B_200F_202C_200D_206C_206C_200B_206E_202B_202B_202A_200E_200E_206B_202D_202B_202E_206B_202E_206B_206B_202B_202E(x).HasValue) ? 1884617911 : 1884617904); - break; - } - } - } - - static uint _200F_200D_202D_206C_200E_200D_206C_206D_206F_206F_206E_206F_202D_202D_200F_202E_202B_200B_202C_206D_202B_200B_200D_200D_206D_200D_200E_206B_206D_206D_202D_206C_202C_202E_206D_200E_200D_206A_206B_202D_202E(ComplexCombatData P_0) - { - return P_0.DataId; - } - - static uint _202D_206F_202C_206C_206B_200F_202A_200B_206A_200E_200D_200E_202B_202A_200B_202B_202D_202D_202D_200E_206F_206B_206E_202E_202B_206E_200C_206C_202E_200D_202E_206E_206E_200B_202A_206B_206B_200D_206A_206A_202E(IGameObject P_0) - { - return P_0.BaseId; - } - - static uint? _200D_202C_200D_206D_200D_206D_202B_206C_202E_202A_202C_202B_206D_202D_206F_200E_202D_206E_200B_200F_202C_200D_206C_206C_200B_206E_202B_202B_202A_200E_200E_206B_202D_202B_202E_206B_202E_206B_206B_202B_202E(ComplexCombatData P_0) - { - return P_0.NameId; - } - - static uint _202C_202C_200B_206B_200C_206A_206F_206B_202C_206B_206D_200D_206A_202A_200D_206B_202D_206C_200C_200C_200B_206F_200C_206E_200B_200B_206D_206C_200E_206E_202A_206C_202C_206C_206D_200F_206A_202A_206F_202E(ICharacter P_0) - { - return P_0.NameId; - } - } - private readonly IServiceProvider _serviceProvider; private readonly ICondition _condition; @@ -103,364 +42,135 @@ internal sealed class ItemUseModule : ICombatModule _logger = logger; } - [MethodImpl(MethodImplOptions.NoInlining)] public bool CanHandleFight(CombatController.CombatData combatData) { - int num = ((combatData.CombatItemUse != null) ? (-969597141) : (-969597144)); - while (true) + if (combatData.CombatItemUse == null) { - int num2 = num; - int num3 = -969597142; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_005a; - case 1: - { - _delegate = (from x in _serviceProvider.GetRequiredService>() - where !(x is ItemUseModule) - select x).FirstOrDefault((ICombatModule x) => x.CanHandleFight(combatData)); - ILogger logger = _logger; - string text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-150894400); - object[] array = new object[1]; - ICombatModule? combatModule = _delegate; - array[0] = ((combatModule != null) ? _202C_206B_202B_206E_200B_206D_200F_206D_206F_200D_200B_206F_206E_202B_202E_200D_202D_206A_206B_200E_202A_206A_202B_202D_206E_206A_206C_202C_200B_200E_206E_206C_200E_206E_206A_206C_202C_202E_202A_202E_202E((MemberInfo)_202A_200C_206B_202C_206A_206B_202C_202B_206A_200C_206A_206B_206B_202B_202D_202B_202D_206B_206F_202D_206C_202D_206C_202E_202C_206D_200D_202C_200D_202B_200D_200E_200E_206F_202B_200E_206A_202A_206E_202C_202E((object)combatModule)) : null); - _202D_200C_200B_202A_200C_202C_206F_206E_206C_202D_200D_206A_200E_202D_206F_206B_200D_202E_202C_206F_200B_202B_206B_200D_206D_200B_206B_202A_202D_200F_206F_200D_206B_206D_206B_206D_206F_200D_202B_206A_202E((ILogger)logger, text, array); - return _delegate != null; - } - case 2: - return false; - } - continue; - IL_005a: - num = -969597144; + return false; } - } - - bool ICombatModule.CanHandleFight(CombatController.CombatData combatData) - { - //ILSpy generated this explicit interface implementation from .override directive in CanHandleFight - return this.CanHandleFight(combatData); + _delegate = (from x in _serviceProvider.GetRequiredService>() + where !(x is ItemUseModule) + select x).FirstOrDefault((ICombatModule x) => x.CanHandleFight(combatData)); + _logger.LogDebug("ItemUse delegate: {Delegate}", _delegate?.GetType().Name); + return _delegate != null; } public bool Start(CombatController.CombatData combatData) { - int num = ((!_delegate.Start(combatData)) ? 109561954 : 109561955); - while (true) + if (_delegate.Start(combatData)) { - int num2 = num; - int num3 = 109561954; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_004e; - case 1: - _combatData = combatData; - _isDoingRotation = true; - _continueAt = _202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E(); - _itemUsePending = false; - return true; - case 0: - return false; - } - continue; - IL_004e: - num = 109561955; + _combatData = combatData; + _isDoingRotation = true; + _continueAt = Environment.TickCount64; + _itemUsePending = false; + return true; } - } - - bool ICombatModule.Start(CombatController.CombatData combatData) - { - //ILSpy generated this explicit interface implementation from .override directive in Start - return this.Start(combatData); + return false; } public bool Stop() { - int num = ((!_isDoingRotation) ? 1494033930 : 1494033931); - while (true) + if (_isDoingRotation) { - int num2 = num; - int num3 = 1494033930; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 1494033931; - break; - case 0: - return true; - case 1: - _delegate.Stop(); - _isDoingRotation = false; - _combatData = null; - _delegate = null; - _continueAt = _202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E(); - num = 1494033930; - break; - } + _delegate.Stop(); + _isDoingRotation = false; + _combatData = null; + _delegate = null; + _continueAt = Environment.TickCount64; } + return true; } - bool ICombatModule.Stop() - { - //ILSpy generated this explicit interface implementation from .override directive in Stop - return this.Stop(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe void Update(IGameObject nextTarget) { - int num = ((_delegate != null) ? (-1423296184) : (-1423296167)); - long num7 = default(long); - int inventoryItemCount = default(int); - while (true) + if (_delegate == null || _continueAt > Environment.TickCount64) { - int num2 = num; - int num3 = -1423296181; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + if (_combatData?.CombatItemUse == null) + { + _delegate.Update(nextTarget); + } + else if (_combatData.KillEnemyDataIds.Contains(nextTarget.BaseId) || _combatData.ComplexCombatDatas.Any((ComplexCombatData x) => x.DataId == nextTarget.BaseId && (!x.NameId.HasValue || (nextTarget is ICharacter character && x.NameId == character.NameId)))) + { + if (_isDoingRotation) + { + int inventoryItemCount = InventoryManager.Instance()->GetInventoryItemCount(_combatData.CombatItemUse.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0); + if (_itemUsePending) + { + if (Environment.TickCount64 < _itemUsePendingUntil) + { + _logger.LogDebug("Item use pending; ignoring temporary inventory count={Count}", inventoryItemCount); + } + else + { + _itemUsePending = false; + } + } + if (!_itemUsePending && inventoryItemCount == 0) + { + _delegate.Update(nextTarget); + } + else if (ShouldUseItem(nextTarget)) + { + _logger.LogDebug("Attempting to use item {ItemId}", _combatData.CombatItemUse.ItemId); + _itemUsePending = true; + _itemUsePendingUntil = Environment.TickCount64 + 3000; + AgentInventoryContext.Instance()->UseItem(_combatData.CombatItemUse.ItemId, InventoryType.Invalid, 0u, 0); + _continueAt = Environment.TickCount64 + 2000; + } + else + { + _delegate.Update(nextTarget); + } + } + else if (_condition[ConditionFlag.Casting]) + { + long num = Environment.TickCount64 + 500; + if (num > _continueAt) + { + _continueAt = num; + } + } + else { - case 17: - _delegate.Update(nextTarget); - return; - case 6: - num = ((!ShouldUseItem(nextTarget)) ? (-1423296182) : (-1423296189)); - break; - case 11: - num = ((_202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E() >= _itemUsePendingUntil) ? (-1423296180) : (-1423296161)); - break; - case 2: - num = ((!_isDoingRotation) ? (-1423296174) : (-1423296162)); - break; - case 23: - num = ((!_isDoingRotation) ? (-1423296168) : (-1423296177)); - break; - case 5: - _continueAt = num7; - return; - case 22: - num = ((_combatData?.CombatItemUse != null) ? (-1423296190) : (-1423296166)); - break; - case 10: _isDoingRotation = true; _delegate.Start(_combatData); - return; - case 16: - _delegate.Update(nextTarget); - return; - case 19: - num = ((!_200D_200F_202C_206F_202E_202C_206A_202D_206E_206A_206A_206E_200B_202D_206E_202B_202C_206E_202B_206D_206C_200E_202E_200F_206C_202C_200B_202E_206F_200E_206E_200C_202B_202A_200E_200C_206B_200C_206F_206F_202E(_condition, ConditionFlag.Casting)) ? (-1423296191) : (-1423296186)); - break; - case 24: - num = -1423296167; - break; - case 3: - num = ((_continueAt <= _202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E()) ? (-1423296163) : (-1423296188)); - break; - case 25: - return; - case 14: - num = ((inventoryItemCount != 0) ? (-1423296179) : (-1423296165)); - break; - case 1: - _delegate.Update(nextTarget); - return; - case 21: - _delegate.Update(nextTarget); - num = -1423296174; - break; - case 13: - num7 = _202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E() + 500; - num = ((num7 <= _continueAt) ? (-1423296174) : (-1423296178)); - break; - case 12: - num = (_itemUsePending ? (-1423296179) : (-1423296187)); - break; - case 0: - num = ((!_combatData.ComplexCombatDatas.Any(delegate(ComplexCombatData x) - { - int num8 = ((_003C_003Ec__DisplayClass15_0._200F_200D_202D_206C_200E_200D_206C_206D_206F_206F_206E_206F_202D_202D_200F_202E_202B_200B_202C_206D_202B_200B_200D_200D_206D_200D_200E_206B_206D_206D_202D_206C_202C_202E_206D_200E_200D_206A_206B_202D_202E(x) != _003C_003Ec__DisplayClass15_0._202D_206F_202C_206C_206B_200F_202A_200B_206A_200E_200D_200E_202B_202A_200B_202B_202D_202D_202D_200E_206F_206B_206E_202E_202B_206E_200C_206C_202E_200D_202E_206E_206E_200B_202A_206B_206B_200D_206A_206A_202E(nextTarget)) ? 1884617909 : 1884617907); - ICharacter character = default(ICharacter); - while (true) - { - int num9 = num8; - int num10 = 1884617910; - int num11 = num9; - switch ((num11 | num10) - (num11 & num10)) - { - case 4: - return _003C_003Ec__DisplayClass15_0._200D_202C_200D_206D_200D_206D_202B_206C_202E_202A_202C_202B_206D_202D_206F_200E_202D_206E_200B_200F_202C_200D_206C_206C_200B_206E_202B_202B_202A_200E_200E_206B_202D_202B_202E_206B_202E_206B_206B_202B_202E(x) == _003C_003Ec__DisplayClass15_0._202C_202C_200B_206B_200C_206A_206F_206B_202C_206B_206D_200D_206A_202A_200D_206B_202D_206C_200C_200C_200B_206F_200C_206E_200B_200B_206D_206C_200E_206E_202A_206C_202C_206C_206D_200F_206A_202A_206F_202E(character); - case 6: - character = nextTarget as ICharacter; - num8 = ((character == null) ? 1884617910 : 1884617906); - break; - case 3: - return false; - case 0: - return false; - case 2: - num8 = 1884617907; - break; - case 1: - return true; - case 5: - num8 = ((!_003C_003Ec__DisplayClass15_0._200D_202C_200D_206D_200D_206D_202B_206C_202E_202A_202C_202B_206D_202D_206F_200E_202D_206E_200B_200F_202C_200D_206C_206C_200B_206E_202B_202B_202A_200E_200E_206B_202D_202B_202E_206B_202E_206B_206B_202B_202E(x).HasValue) ? 1884617911 : 1884617904); - break; - } - } - })) ? (-1423296183) : (-1423296164)); - break; - case 7: - _itemUsePending = false; - num = -1423296185; - break; - case 4: - inventoryItemCount = InventoryManager.Instance()->GetInventoryItemCount(_202A_206E_200D_202B_200D_202D_206C_206C_202B_200C_206D_206B_206A_206A_200E_202E_200C_206E_200C_202B_200F_200F_202B_200D_202A_202A_200F_206D_202A_200B_200C_200E_206C_202A_206E_206F_206B_206F_206A_206A_202E(_combatData.CombatItemUse), isHq: false, checkEquipped: true, checkArmory: true, 0); - num = ((!_itemUsePending) ? (-1423296185) : (-1423296192)); - break; - case 15: - return; - case 18: - return; - case 20: - _202D_200C_200B_202A_200C_202C_206F_206E_206C_202D_200D_206A_200E_202D_206F_206B_200D_202E_202C_206F_200B_202B_206B_200D_206D_200B_206B_202A_202D_200F_206F_200D_206B_206D_206B_206D_206F_200D_202B_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-316452763), new object[1] { inventoryItemCount }); - num = -1423296185; - break; - case 9: - num = (_combatData.KillEnemyDataIds.Contains(_206D_202D_206D_202B_206E_202C_202B_202D_200E_200F_202E_202E_206E_202B_202E_202A_202B_202A_200F_206A_206F_202E_200C_200C_202A_206E_200F_206F_200B_200B_206B_206E_206D_206D_206D_206D_206A_202A_206A_200E_202E(nextTarget)) ? (-1423296164) : (-1423296181)); - break; - case 8: - _202D_200C_200B_202A_200C_202C_206F_206E_206C_202D_200D_206A_200E_202D_206F_206B_200D_202E_202C_206F_200B_202B_206B_200D_206D_200B_206B_202A_202D_200F_206F_200D_206B_206D_206B_206D_206F_200D_202B_206A_202E((ILogger)_logger, 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(-350550837), new object[1] { _202A_206E_200D_202B_200D_202D_206C_206C_202B_200C_206D_206B_206A_206A_200E_202E_200C_206E_200C_202B_200F_200F_202B_200D_202A_202A_200F_206D_202A_200B_200C_200E_206C_202A_206E_206F_206B_206F_206A_206A_202E(_combatData.CombatItemUse) }); - _itemUsePending = true; - _itemUsePendingUntil = _202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E() + 3000; - AgentInventoryContext.Instance()->UseItem(_202A_206E_200D_202B_200D_202D_206C_206C_202B_200C_206D_206B_206A_206A_200E_202E_200C_206E_200C_202B_200F_200F_202B_200D_202A_202A_200F_206D_202A_200B_200C_200E_206C_202A_206E_206F_206B_206F_206A_206A_202E(_combatData.CombatItemUse), InventoryType.Invalid, 0u, 0); - _continueAt = _202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E() + 2000; - return; } } - } - - void ICombatModule.Update(IGameObject nextTarget) - { - //ILSpy generated this explicit interface implementation from .override directive in Update - this.Update(nextTarget); + else if (_isDoingRotation) + { + _delegate.Update(nextTarget); + } } private unsafe bool ShouldUseItem(IGameObject gameObject) { - int num = ((_combatData?.CombatItemUse != null) ? (-1964360590) : (-1964360581)); - BattleChara* ptr = default(BattleChara*); - while (true) + if (_combatData?.CombatItemUse == null) { - int num2 = num; - int num3 = -1964360589; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return false; + } + if (gameObject is IBattleChara) + { + BattleChara* address = (BattleChara*)gameObject.Address; + if (_combatData.CombatItemUse.Condition == ECombatItemUseCondition.Incapacitated) { - case 2: - { - byte actorControlFlags = ptr->ActorControlFlags; - num3 = 64; - num4 = actorControlFlags; - return (num4 | num3) - (num4 ^ num3) != 0; + return (address->ActorControlFlags & 0x40) != 0; } - case 0: - return 100f * (float)ptr->Health / (float)ptr->MaxHealth < (float)_206F_202B_200E_200D_200E_200D_206B_200C_200E_206C_200E_200E_202C_202E_206E_200D_206B_206C_200D_206A_202E_200C_206B_200D_200E_200C_206D_200B_200B_206D_202D_200B_202E_200F_200E_206D_200D_206D_200E_202E(_combatData.CombatItemUse); - case 9: - num = -1964360581; - break; - case 7: - return false; - case 6: - num = ((_206E_206C_206F_206C_206F_200F_200E_202A_200E_200B_200C_202C_206A_200E_200C_206A_202D_206F_200E_206E_202A_200D_200E_200E_206B_202C_202C_202E_202B_200C_202D_206F_200B_206F_200F_206F_206A_200F_202B_206F_202E(_combatData.CombatItemUse) != ECombatItemUseCondition.MissingStatus) ? (-1964360588) : (-1964360585)); - break; - case 4: - return !ptr->StatusManager.HasStatus((uint)_206F_202B_200E_200D_200E_200D_206B_200C_200E_206C_200E_200E_202C_202E_206E_200D_206B_206C_200D_206A_202E_200C_206B_200D_200E_200C_206D_200B_200B_206D_202D_200B_202E_200F_200E_206D_200D_206D_200E_202E(_combatData.CombatItemUse)); - case 8: - return false; - case 5: - ptr = (BattleChara*)_200D_200D_202A_206D_202B_206C_202E_200B_206F_202D_200C_206F_200E_200B_206C_200C_206F_200B_206D_206D_202E_202D_206F_206B_202A_206A_202B_206D_206D_200C_200F_202D_202D_206D_202D_206C_200C_202E_202D_202E_202E(gameObject); - num = ((_206E_206C_206F_206C_206F_200F_200E_202A_200E_200B_200C_202C_206A_200E_200C_206A_202D_206F_200E_206E_202A_200D_200E_200E_206B_202C_202C_202E_202B_200C_202D_206F_200B_206F_200F_206F_206A_200F_202B_206F_202E(_combatData.CombatItemUse) != ECombatItemUseCondition.Incapacitated) ? (-1964360592) : (-1964360591)); - break; - case 1: - num = ((!(gameObject is IBattleChara)) ? (-1964360588) : (-1964360586)); - break; - case 3: - num = ((_206E_206C_206F_206C_206F_200F_200E_202A_200E_200B_200C_202C_206A_200E_200C_206A_202D_206F_200E_206E_202A_200D_200E_200E_206B_202C_202C_202E_202B_200C_202D_206F_200B_206F_200F_206F_206A_200F_202B_206F_202E(_combatData.CombatItemUse) != ECombatItemUseCondition.HealthPercent) ? (-1964360587) : (-1964360589)); - break; + if (_combatData.CombatItemUse.Condition == ECombatItemUseCondition.HealthPercent) + { + return 100f * (float)address->Health / (float)address->MaxHealth < (float)_combatData.CombatItemUse.Value; + } + if (_combatData.CombatItemUse.Condition == ECombatItemUseCondition.MissingStatus) + { + return !address->StatusManager.HasStatus((uint)_combatData.CombatItemUse.Value); } } + return false; } public bool CanAttack(IBattleNpc target) { return _delegate.CanAttack(target); } - - bool ICombatModule.CanAttack(IBattleNpc target) - { - //ILSpy generated this explicit interface implementation from .override directive in CanAttack - return this.CanAttack(target); - } - - static Type _202A_200C_206B_202C_206A_206B_202C_202B_206A_200C_206A_206B_206B_202B_202D_202B_202D_206B_206F_202D_206C_202D_206C_202E_202C_206D_200D_202C_200D_202B_200D_200E_200E_206F_202B_200E_206A_202A_206E_202C_202E(object P_0) - { - return P_0.GetType(); - } - - static string _202C_206B_202B_206E_200B_206D_200F_206D_206F_200D_200B_206F_206E_202B_202E_200D_202D_206A_206B_200E_202A_206A_202B_202D_206E_206A_206C_202C_200B_200E_206E_206C_200E_206E_206A_206C_202C_202E_202A_202E_202E(MemberInfo P_0) - { - return P_0.Name; - } - - static void _202D_200C_200B_202A_200C_202C_206F_206E_206C_202D_200D_206A_200E_202D_206F_206B_200D_202E_202C_206F_200B_202B_206B_200D_206D_200B_206B_202A_202D_200F_206F_200D_206B_206D_206B_206D_206F_200D_202B_206A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static long _202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E() - { - return Environment.TickCount64; - } - - static uint _206D_202D_206D_202B_206E_202C_202B_202D_200E_200F_202E_202E_206E_202B_202E_202A_202B_202A_200F_206A_206F_202E_200C_200C_202A_206E_200F_206F_200B_200B_206B_206E_206D_206D_206D_206D_206A_202A_206A_200E_202E(IGameObject P_0) - { - return P_0.BaseId; - } - - static uint _202A_206E_200D_202B_200D_202D_206C_206C_202B_200C_206D_206B_206A_206A_200E_202E_200C_206E_200C_202B_200F_200F_202B_200D_202A_202A_200F_206D_202A_200B_200C_200E_206C_202A_206E_206F_206B_206F_206A_206A_202E(CombatItemUse P_0) - { - return P_0.ItemId; - } - - static bool _200D_200F_202C_206F_202E_202C_206A_202D_206E_206A_206A_206E_200B_202D_206E_202B_202C_206E_202B_206D_206C_200E_202E_200F_206C_202C_200B_202E_206F_200E_206E_200C_202B_202A_200E_200C_206B_200C_206F_206F_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static nint _200D_200D_202A_206D_202B_206C_202E_200B_206F_202D_200C_206F_200E_200B_206C_200C_206F_200B_206D_206D_202E_202D_206F_206B_202A_206A_202B_206D_206D_200C_200F_202D_202D_206D_202D_206C_200C_202E_202D_202E_202E(IGameObject P_0) - { - return P_0.Address; - } - - static ECombatItemUseCondition _206E_206C_206F_206C_206F_200F_200E_202A_200E_200B_200C_202C_206A_200E_200C_206A_202D_206F_200E_206E_202A_200D_200E_200E_206B_202C_202C_202E_202B_200C_202D_206F_200B_206F_200F_206F_206A_200F_202B_206F_202E(CombatItemUse P_0) - { - return P_0.Condition; - } - - static int _206F_202B_200E_200D_200E_200D_206B_200C_200E_206C_200E_200E_202C_202E_206E_200D_206B_206C_200D_206A_202E_200C_206B_200D_200E_200C_206D_200B_200B_206D_202D_200B_202E_200F_200E_206D_200D_206D_200E_202E(CombatItemUse P_0) - { - return P_0.Value; - } } diff --git a/Questionable/Questionable.Controller.CombatModules/Mount128Module.cs b/Questionable/Questionable.Controller.CombatModules/Mount128Module.cs index 495a781..64b30a8 100644 --- a/Questionable/Questionable.Controller.CombatModules/Mount128Module.cs +++ b/Questionable/Questionable.Controller.CombatModules/Mount128Module.cs @@ -23,38 +23,7 @@ internal sealed class Mount128Module : ICombatModule public bool CanHandleFight(CombatController.CombatData combatData) { - ushort? mountId = _gameFunctions.GetMountId(); - int num = (mountId.HasValue ? 1315978543 : 1315978542); - int? obj; - while (true) - { - int num2 = num; - int num3 = 1315978543; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 2: - goto IL_005c; - case 0: - obj = mountId.GetValueOrDefault(); - break; - case 1: - obj = null; - break; - } - break; - IL_005c: - num = 1315978542; - } - return obj == 128; - } - - bool ICombatModule.CanHandleFight(CombatController.CombatData combatData) - { - //ILSpy generated this explicit interface implementation from .override directive in CanHandleFight - return this.CanHandleFight(combatData); + return _gameFunctions.GetMountId() == 128; } public bool Start(CombatController.CombatData combatData) @@ -62,114 +31,30 @@ internal sealed class Mount128Module : ICombatModule return true; } - bool ICombatModule.Start(CombatController.CombatData combatData) - { - //ILSpy generated this explicit interface implementation from .override directive in Start - return this.Start(combatData); - } - public bool Stop() { return true; } - bool ICombatModule.Stop() - { - //ILSpy generated this explicit interface implementation from .override directive in Stop - return this.Stop(); - } - public void Update(IGameObject gameObject) { EAction[] actions = _actions; - int num = 0; - int num2 = -321000316; - while (true) + foreach (EAction action in actions) { - int num3 = num2; - int num4 = -321000313; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + if (_gameFunctions.UseAction(gameObject, action, checkCanUse: false)) { - case 5: - num2 = -321000316; - break; - case 4: - return; - case 0: - { - int num6 = num; - num4 = 1; - num5 = num6; - int num7 = num5 ^ num4; - int num8 = num5 & num4; - num = num7 + (num8 + num8); - num2 = -321000316; - break; - } - case 2: - return; - case 1: - { - EAction action = actions[num]; - num2 = ((!_gameFunctions.UseAction(gameObject, action, checkCanUse: false)) ? (-321000313) : (-321000315)); - break; - } - case 3: - num2 = ((num < actions.Length) ? (-321000314) : (-321000317)); break; } } } - void ICombatModule.Update(IGameObject gameObject) - { - //ILSpy generated this explicit interface implementation from .override directive in Update - this.Update(gameObject); - } - public bool CanAttack(IBattleNpc target) { - uint num = _200D_206E_206B_200C_200E_200F_200E_206A_200C_200E_202B_202A_206C_202B_206A_202B_200D_206F_200F_202D_200C_200E_206E_200D_200E_202A_200B_200B_206F_206F_202B_206D_202A_200E_202D_206F_206D_200F_202B_202E((IGameObject)target); - int num2 = 7504; - int num3 = (int)num; - int num4 = (((uint)(~(~num3 + num2)) <= 1u) ? 2050510022 : 2050510023); - bool result = default(bool); - while (true) + uint baseId = target.BaseId; + if (baseId - 7504 <= 1 || baseId == 14107) { - int num5 = num4; - num2 = 2050510022; - num3 = num5; - switch ((num3 | num2) - (num3 & num2)) - { - case 2: - return result; - case 1: - num4 = ((num != 14107) ? 2050510018 : 2050510022); - break; - case 3: - num4 = 2050510023; - break; - case 0: - result = true; - num4 = 2050510020; - break; - case 4: - result = false; - num4 = 2050510020; - break; - } + return true; } - } - - bool ICombatModule.CanAttack(IBattleNpc target) - { - //ILSpy generated this explicit interface implementation from .override directive in CanAttack - return this.CanAttack(target); - } - - static uint _200D_206E_206B_200C_200E_200F_200E_206A_200C_200E_202B_202A_206C_202B_206A_202B_200D_206F_200F_202D_200C_200E_206E_200D_200E_202A_200B_200B_206F_206F_202B_206D_202A_200E_202D_206F_206D_200F_202B_202E(IGameObject P_0) - { - return P_0.BaseId; + return false; } } diff --git a/Questionable/Questionable.Controller.CombatModules/Mount147Module.cs b/Questionable/Questionable.Controller.CombatModules/Mount147Module.cs index cae93c4..4806ebd 100644 --- a/Questionable/Questionable.Controller.CombatModules/Mount147Module.cs +++ b/Questionable/Questionable.Controller.CombatModules/Mount147Module.cs @@ -19,38 +19,7 @@ internal sealed class Mount147Module : ICombatModule public bool CanHandleFight(CombatController.CombatData combatData) { - ushort? mountId = _gameFunctions.GetMountId(); - int num = (mountId.HasValue ? (-1629535910) : (-1629535911)); - int? obj; - while (true) - { - int num2 = num; - int num3 = -1629535909; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 1: - obj = mountId.GetValueOrDefault(); - break; - case 2: - obj = null; - break; - case 0: - goto IL_009c; - } - break; - IL_009c: - num = -1629535911; - } - return obj == 147; - } - - bool ICombatModule.CanHandleFight(CombatController.CombatData combatData) - { - //ILSpy generated this explicit interface implementation from .override directive in CanHandleFight - return this.CanHandleFight(combatData); + return _gameFunctions.GetMountId() == 147; } public bool Start(CombatController.CombatData combatData) @@ -58,85 +27,25 @@ internal sealed class Mount147Module : ICombatModule return true; } - bool ICombatModule.Start(CombatController.CombatData combatData) - { - //ILSpy generated this explicit interface implementation from .override directive in Start - return this.Start(combatData); - } - public bool Stop() { return true; } - bool ICombatModule.Stop() - { - //ILSpy generated this explicit interface implementation from .override directive in Stop - return this.Stop(); - } - public void Update(IGameObject gameObject) { EAction[] actions = _actions; - int num = 0; - int num2 = -1800928323; - while (true) + foreach (EAction action in actions) { - int num3 = num2; - int num4 = -1800928324; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + if (_gameFunctions.UseAction(gameObject, action, checkCanUse: false)) { - case 1: - num2 = ((num < actions.Length) ? (-1800928327) : (-1800928321)); break; - case 3: - return; - case 5: - { - EAction action = actions[num]; - num2 = ((!_gameFunctions.UseAction(gameObject, action, checkCanUse: false)) ? (-1800928322) : (-1800928328)); - break; - } - case 0: - num2 = -1800928323; - break; - case 2: - { - int num6 = num; - num4 = 1; - num5 = num6; - int num7 = num5 ^ num4; - int num8 = num5 & num4; - num = num7 + (num8 + num8); - num2 = -1800928323; - break; - } - case 4: - return; } } } - void ICombatModule.Update(IGameObject gameObject) - { - //ILSpy generated this explicit interface implementation from .override directive in Update - this.Update(gameObject); - } - public bool CanAttack(IBattleNpc target) { - return _200F_202B_206E_206D_206B_200D_202E_200E_202A_202D_202D_206E_206B_200D_200C_202B_206A_202D_206F_206E_202C_200E_202D_206D_206A_202E_206B_200B_202B_202A_206F_200C_200C_202E_200E_206C_206C_200E_200E_202C_202E((IGameObject)target) == 8593; - } - - bool ICombatModule.CanAttack(IBattleNpc target) - { - //ILSpy generated this explicit interface implementation from .override directive in CanAttack - return this.CanAttack(target); - } - - static uint _200F_202B_206E_206D_206B_200D_202E_200E_202A_202D_202D_206E_206B_200D_200C_202B_206A_202D_206F_206E_202C_200E_202D_206D_206A_202E_206B_200B_202B_202A_206F_200C_200C_202E_200E_206C_206C_200E_200E_202C_202E(IGameObject P_0) - { - return P_0.BaseId; + return target.BaseId == 8593; } } diff --git a/Questionable/Questionable.Controller.CombatModules/RotationSolverRebornModule.cs b/Questionable/Questionable.Controller.CombatModules/RotationSolverRebornModule.cs index 134bdbc..3805a4f 100644 --- a/Questionable/Questionable.Controller.CombatModules/RotationSolverRebornModule.cs +++ b/Questionable/Questionable.Controller.CombatModules/RotationSolverRebornModule.cs @@ -1,5 +1,4 @@ using System; -using System.Runtime.CompilerServices; using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin; using Dalamud.Plugin.Ipc; @@ -24,45 +23,29 @@ internal sealed class RotationSolverRebornModule : ICombatModule, IDisposable private readonly ICallGateSubscriber _setConfig; - [MethodImpl(MethodImplOptions.NoInlining)] public RotationSolverRebornModule(ILogger logger, IDalamudPluginInterface pluginInterface, Configuration configuration) { _logger = logger; _configuration = configuration; - _test = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1411732443)); - _changeOperationMode = pluginInterface.GetIpcSubscriber(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(1860544423)); - _setConfig = pluginInterface.GetIpcSubscriber(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(1066419232)); + _test = pluginInterface.GetIpcSubscriber("RotationSolverReborn.Test"); + _changeOperationMode = pluginInterface.GetIpcSubscriber("RotationSolverReborn.ChangeOperatingMode"); + _setConfig = pluginInterface.GetIpcSubscriber("RotationSolverReborn.SetConfig"); } - [MethodImpl(MethodImplOptions.NoInlining)] public bool IsAvailable() { - int num = ((_configuration.General.CombatModule == Configuration.ECombatModule.RotationSolverReborn) ? 1043338071 : 1043338068); - while (true) + if (_configuration.General.CombatModule != Configuration.ECombatModule.RotationSolverReborn) { - int num2 = num; - int num3 = 1043338070; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0051; - case 2: - return false; - case 1: - try - { - _test.InvokeAction(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(801710835)); - return true; - } - catch (IpcError) - { - return false; - } - } - continue; - IL_0051: - num = 1043338068; + return false; + } + try + { + _test.InvokeAction("Validate RSR is callable from Questionable"); + return true; + } + catch (IpcError) + { + return false; } } @@ -71,131 +54,63 @@ internal sealed class RotationSolverRebornModule : ICombatModule, IDisposable return IsAvailable(); } - bool ICombatModule.CanHandleFight(CombatController.CombatData combatData) - { - //ILSpy generated this explicit interface implementation from .override directive in CanHandleFight - return this.CanHandleFight(combatData); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public bool Start(CombatController.CombatData combatData) { try { _changeOperationMode.InvokeAction(4); - SetConfig(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1302352989), false); - SetConfig(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-21636385), true); - SetConfig(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(440160262), 1); + SetConfig("AutoOffAfterCombat", false); + SetConfig("HealPartyMembers", true); + SetConfig("HostileType", 1); return true; } - catch (IpcError ipcError) + catch (IpcError exception) { - _206B_200C_200B_202B_202B_206C_202B_200E_202D_202E_200C_206A_206D_202C_200B_202C_202E_200E_200E_200D_200F_206B_202A_206C_206F_202C_206D_206A_200E_202D_202E_200D_200F_202E_200E_200D_200E_200C_200F_202B_202E((ILogger)_logger, (Exception)ipcError, 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(-1187675745), Array.Empty()); + _logger.LogWarning(exception, "Could not start combat"); return false; } } - bool ICombatModule.Start(CombatController.CombatData combatData) - { - //ILSpy generated this explicit interface implementation from .override directive in Start - return this.Start(combatData); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public bool Stop() { - int num = (_202B_200D_202B_206D_206F_202A_206C_206C_200D_200C_202B_202C_202C_202C_200E_206B_202D_202C_202A_206B_206B_206C_202B_202D_200F_206E_200D_206E_206B_206F_206A_206F_206A_200E_206B_200E_206B_206D_202A_206B_202E((ICallGateSubscriber)_changeOperationMode) ? (-427994100) : (-427994099)); - while (true) + if (!_changeOperationMode.HasAction) { - int num2 = num; - int num3 = -427994100; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_004e; - case 1: - return true; - case 0: - try - { - _changeOperationMode.InvokeAction(0); - return true; - } - catch (IpcError ipcError) - { - _206B_200C_200B_202B_202B_206C_202B_200E_202D_202E_200C_206A_206D_202C_200B_202C_202E_200E_200E_200D_200F_206B_202A_206C_206F_202C_206D_206A_200E_202D_202E_200D_200F_202E_200E_200D_200E_200C_200F_202B_202E((ILogger)_logger, (Exception)ipcError, 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(-52047300), Array.Empty()); - return false; - } - } - continue; - IL_004e: - num = -427994099; + return true; + } + try + { + _changeOperationMode.InvokeAction(0); + return true; + } + catch (IpcError exception) + { + _logger.LogWarning(exception, "Could not turn off combat"); + return false; } - } - - bool ICombatModule.Stop() - { - //ILSpy generated this explicit interface implementation from .override directive in Stop - return this.Stop(); } public void Update(IGameObject gameObject) { } - void ICombatModule.Update(IGameObject gameObject) - { - //ILSpy generated this explicit interface implementation from .override directive in Update - this.Update(gameObject); - } - public bool CanAttack(IBattleNpc target) { return true; } - bool ICombatModule.CanAttack(IBattleNpc target) - { - //ILSpy generated this explicit interface implementation from .override directive in CanAttack - return this.CanAttack(target); - } - public void Dispose() { } - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] private void SetConfig(string key, object value) { try { _setConfig.InvokeAction(key, value); } - catch (IpcError ipcError) + catch (IpcError exception) { - _202D_206C_200F_200F_206F_202B_206F_202C_206B_206E_206A_202D_202B_206A_202A_200D_206F_206F_200F_200F_202A_206E_206F_202E_206C_200D_200B_200E_206C_200B_206A_202E_202E_206D_200B_202E_200C_200E_202C_202D_202E((ILogger)_logger, (Exception)ipcError, 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(-1316823844), new object[1] { key }); + _logger.LogDebug(exception, "RSR SetConfig {Key} failed", key); } } - - static void _206B_200C_200B_202B_202B_206C_202B_200E_202D_202E_200C_206A_206D_202C_200B_202C_202E_200E_200E_200D_200F_206B_202A_206C_206F_202C_206D_206A_200E_202D_202E_200D_200F_202E_200E_200D_200E_200C_200F_202B_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogWarning(P_1, P_2, P_3); - } - - static bool _202B_200D_202B_206D_206F_202A_206C_206C_200D_200C_202B_202C_202C_202C_200E_206B_202D_202C_202A_206B_206B_206C_202B_202D_200F_206E_200D_206E_206B_206F_206A_206F_206A_200E_206B_200E_206B_206D_202A_206B_202E(ICallGateSubscriber P_0) - { - return P_0.HasAction; - } - - static void _202D_206C_200F_200F_206F_202B_206F_202C_206B_206E_206A_202D_202B_206A_202A_200D_206F_206F_200F_200F_202A_206E_206F_202E_206C_200D_200B_200E_206C_200B_206A_202E_202E_206D_200B_202E_200C_200E_202C_202D_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogDebug(P_1, P_2, P_3); - } } diff --git a/Questionable/Questionable.Controller.CombatModules/WrathComboModule.cs b/Questionable/Questionable.Controller.CombatModules/WrathComboModule.cs index 8180e5f..afc3de3 100644 --- a/Questionable/Questionable.Controller.CombatModules/WrathComboModule.cs +++ b/Questionable/Questionable.Controller.CombatModules/WrathComboModule.cs @@ -1,14 +1,10 @@ using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; -using Dalamud.Game.ClientState.Objects.SubKinds; using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin; using Dalamud.Plugin.Ipc; using Dalamud.Plugin.Ipc.Exceptions; using Dalamud.Plugin.Services; -using Lumina.Excel; -using Lumina.Excel.Sheets; using Microsoft.Extensions.Logging; using Questionable.Controller.Steps; @@ -105,54 +101,37 @@ internal sealed class WrathComboModule : ICombatModule, IDisposable private Guid? _lease; - [MethodImpl(MethodImplOptions.NoInlining)] public WrathComboModule(ILogger logger, Configuration configuration, IObjectTable objectTable, IDalamudPluginInterface pluginInterface) { _logger = logger; _configuration = configuration; _objectTable = objectTable; - _test = pluginInterface.GetIpcSubscriber(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(-881363820)); - _registerForLeaseWithCallback = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-200781622)); - _releaseControl = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(254606733)); - _setAutoRotationState = pluginInterface.GetIpcSubscriber(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(-1072043349)); - _setAutoRotationConfigState = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(920538037)); - _setCurrentJobAutoRotationReady = pluginInterface.GetIpcSubscriber(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(-1662176505)); - _getComboNamesForJob = pluginInterface.GetIpcSubscriber>(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(987268149)); - _setComboState = pluginInterface.GetIpcSubscriber(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(1902147951)); - _callback = pluginInterface.GetIpcProvider(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-437654203)); + _test = pluginInterface.GetIpcSubscriber("WrathCombo.Test"); + _registerForLeaseWithCallback = pluginInterface.GetIpcSubscriber("WrathCombo.RegisterForLeaseWithCallback"); + _releaseControl = pluginInterface.GetIpcSubscriber("WrathCombo.ReleaseControl"); + _setAutoRotationState = pluginInterface.GetIpcSubscriber("WrathCombo.SetAutoRotationState"); + _setAutoRotationConfigState = pluginInterface.GetIpcSubscriber("WrathCombo.SetAutoRotationConfigState"); + _setCurrentJobAutoRotationReady = pluginInterface.GetIpcSubscriber("WrathCombo.SetCurrentJobAutoRotationReady"); + _getComboNamesForJob = pluginInterface.GetIpcSubscriber>("WrathCombo.GetComboNamesForJob"); + _setComboState = pluginInterface.GetIpcSubscriber("WrathCombo.SetComboState"); + _callback = pluginInterface.GetIpcProvider("Questionable$Wrath.WrathComboCallback"); _callback.RegisterAction(Callback); } public bool IsAvailable() { - int num = ((_configuration.General.CombatModule == Configuration.ECombatModule.WrathCombo) ? (-1348986340) : (-1348986337)); - while (true) + if (_configuration.General.CombatModule != Configuration.ECombatModule.WrathCombo) { - int num2 = num; - int num3 = -1348986338; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0053; - case 1: - return false; - case 2: - try - { - _test.InvokeAction(); - return true; - } - catch (IpcError) - { - return false; - } - } - continue; - IL_0053: - num = -1348986337; + return false; + } + try + { + _test.InvokeAction(); + return true; + } + catch (IpcError) + { + return false; } } @@ -161,408 +140,155 @@ internal sealed class WrathComboModule : ICombatModule, IDisposable return IsAvailable(); } - bool ICombatModule.CanHandleFight(CombatController.CombatData combatData) - { - //ILSpy generated this explicit interface implementation from .override directive in CanHandleFight - return this.CanHandleFight(combatData); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public bool Start(CombatController.CombatData combatData) { try { - _lease = _registerForLeaseWithCallback.InvokeFunc(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), 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(-121562455)); - int num = ((!_lease.HasValue) ? (-1358981583) : (-1358981584)); - while (true) + _lease = _registerForLeaseWithCallback.InvokeFunc("Questionable", "Questionable", "Questionable$Wrath"); + if (_lease.HasValue) { - int num2 = num; - int num3 = -1358981583; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + _logger.LogDebug("Wrath combo lease: {Lease}", _lease.Value); + ESetResult eSetResult = _setAutoRotationState.InvokeFunc(_lease.Value, arg2: true); + _logger.LogDebug("SetAutoRotationState={Result}", eSetResult); + if (!eSetResult.IsSuccess()) { - case 6: - num = -1358981584; - break; - case 5: - { - ESetResult eSetResult2 = _setCurrentJobAutoRotationReady.InvokeFunc(_lease.Value); - _202C_202A_202B_206B_202B_202D_206B_206D_202A_200D_202C_200F_200F_200B_202B_200E_200B_202D_200D_206A_200D_206C_202E_206E_202C_200D_200E_206B_200F_206E_206E_202C_200E_202E_206B_206D_200C_206B_200C_202B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-246523235), new object[1] { eSetResult2 }); - num = (eSetResult2.IsSuccess() ? (-1358981581) : (-1358981579)); - break; - } - case 1: - { - _202C_202A_202B_206B_202B_202D_206B_206D_202A_200D_202C_200F_200F_200B_202B_200E_200B_202D_200D_206A_200D_206C_202E_206E_202C_200D_200E_206B_200F_206E_206E_202C_200E_202E_206B_206D_200C_206B_200C_202B_202E((ILogger)_logger, 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(-1086439273), new object[1] { _lease.Value }); - ESetResult eSetResult = _setAutoRotationState.InvokeFunc(_lease.Value, arg2: true); - _202C_202A_202B_206B_202B_202D_206B_206D_202A_200D_202C_200F_200F_200B_202B_200E_200B_202D_200D_206A_200D_206C_202E_206E_202C_200D_200E_206B_200F_206E_206E_202C_200E_202E_206B_206D_200C_206B_200C_202B_202E((ILogger)_logger, 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(-650979249), new object[1] { eSetResult }); - num = (eSetResult.IsSuccess() ? (-1358981580) : (-1358981582)); - break; - } - case 4: - _200C_200D_202C_206F_200B_206E_206F_200D_200E_206D_200E_202E_200C_200C_202D_206A_202D_206E_202D_206F_200F_200D_200D_202E_206B_206F_200C_206C_202E_200F_202E_200C_202D_202E_202E_200E_206B_206E_202B_202D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-831608674), Array.Empty()); + _logger.LogError("Unable to set autorotation state"); Stop(); return false; - case 2: - EnableCombosForCurrentJob(); - SetConfig(AutoRotationConfigOption.HealerRotationMode, HealerRotationMode.Lowest_Current); - SetConfig(AutoRotationConfigOption.DPSRotationMode, DPSRotationMode.Manual); - SetConfig(AutoRotationConfigOption.InCombatOnly, 0); - SetConfig(AutoRotationConfigOption.IncludeNPCs, 1); - SetConfig(AutoRotationConfigOption.OnlyAttackInCombat, 0); - SetConfig(AutoRotationConfigOption.AutoCleanse, 1); - SetConfig(AutoRotationConfigOption.AutoRez, 1); - SetConfig(AutoRotationConfigOption.AutoRezDPSJobs, 1); - SetConfig(AutoRotationConfigOption.ManageKardia, 1); - SetConfig(AutoRotationConfigOption.DPSAoETargets, 3); - SetConfig(AutoRotationConfigOption.AutoRezOutOfParty, 0); - SetConfig(AutoRotationConfigOption.DPSAlwaysHardTarget, 1); - SetConfig(AutoRotationConfigOption.BypassQuest, 1); - return true; - case 3: - _200C_200D_202C_206F_200B_206E_206F_200D_200E_206D_200E_202E_200C_200C_202D_206A_202D_206E_202D_206F_200F_200D_200D_202E_206B_206F_200C_206C_202E_200F_202E_200C_202D_202E_202E_200E_206B_206E_202B_202D_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2060892089), Array.Empty()); + } + ESetResult eSetResult2 = _setCurrentJobAutoRotationReady.InvokeFunc(_lease.Value); + _logger.LogDebug("SetCurrentJobAutoRotationReady={Result}", eSetResult2); + if (!eSetResult2.IsSuccess()) + { + _logger.LogError("Unable to set current job for autorotation"); Stop(); return false; - case 0: - _200C_200D_202C_206F_200B_206E_206F_200D_200E_206D_200E_202E_200C_200C_202D_206A_202D_206E_202D_206F_200F_200D_200D_202E_206B_206F_200C_206C_202E_200F_202E_200C_202D_202E_202E_200E_206B_206E_202B_202D_202E((ILogger)_logger, 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(-1103601186), Array.Empty()); - return false; } + EnableCombosForCurrentJob(); + SetConfig(AutoRotationConfigOption.HealerRotationMode, HealerRotationMode.Lowest_Current); + SetConfig(AutoRotationConfigOption.DPSRotationMode, DPSRotationMode.Manual); + SetConfig(AutoRotationConfigOption.InCombatOnly, 0); + SetConfig(AutoRotationConfigOption.IncludeNPCs, 1); + SetConfig(AutoRotationConfigOption.OnlyAttackInCombat, 0); + SetConfig(AutoRotationConfigOption.AutoCleanse, 1); + SetConfig(AutoRotationConfigOption.AutoRez, 1); + SetConfig(AutoRotationConfigOption.AutoRezDPSJobs, 1); + SetConfig(AutoRotationConfigOption.ManageKardia, 1); + SetConfig(AutoRotationConfigOption.DPSAoETargets, 3); + SetConfig(AutoRotationConfigOption.AutoRezOutOfParty, 0); + SetConfig(AutoRotationConfigOption.DPSAlwaysHardTarget, 1); + SetConfig(AutoRotationConfigOption.BypassQuest, 1); + return true; } + _logger.LogError("Wrath combo did not return a lease"); + return false; } - catch (IpcError ipcError) + catch (IpcError exception) { - _206B_206A_206C_202C_200F_202D_206B_202C_206F_200D_200B_206A_206E_202E_200B_200F_200E_206C_200C_206B_200D_200D_206E_206F_202D_202B_206A_200D_206A_200F_202C_202C_202E_202E_206C_206B_202C_202C_202A_202D_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1303013100), Array.Empty()); + _logger.LogError(exception, "Unable to use wrath combo for combat"); return false; } } - bool ICombatModule.Start(CombatController.CombatData combatData) - { - //ILSpy generated this explicit interface implementation from .override directive in Start - return this.Start(combatData); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public bool Stop() { try { - int num = ((!_lease.HasValue) ? (-1077439308) : (-1077439305)); - while (true) + if (_lease.HasValue) { - int num2 = num; - int num3 = -1077439307; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1077439305; - break; - case 2: - _releaseControl.InvokeAction(_lease.Value); - _lease = null; - num = -1077439308; - break; - case 1: - return true; - } + _releaseControl.InvokeAction(_lease.Value); + _lease = null; } + return true; } - catch (IpcError ipcError) + catch (IpcError exception) { - _202C_202C_202C_202B_200E_202C_202B_202B_202D_202C_206F_206C_202C_206C_202E_206F_206C_202D_200F_200B_200D_202D_200E_206E_200D_206E_200E_206B_206D_202D_206C_206E_202D_200E_202C_200D_202D_202D_200D_200C_202E((ILogger)_logger, (Exception)ipcError, 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(1222809597), Array.Empty()); + _logger.LogWarning(exception, "Could not turn off wrath combo"); return false; } } - bool ICombatModule.Stop() - { - //ILSpy generated this explicit interface implementation from .override directive in Stop - return this.Stop(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public void Update(IGameObject nextTarget) { - int num = (_lease.HasValue ? 1213985662 : 1213985663); - while (true) + if (!_lease.HasValue) { - int num2 = num; - int num3 = 1213985662; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return; - case 1: - throw new TaskException(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(688347319)); - case 2: - goto IL_005e; - } - continue; - IL_005e: - num = 1213985663; + throw new TaskException("Wrath Combo Lease is cancelled"); } } - void ICombatModule.Update(IGameObject nextTarget) - { - //ILSpy generated this explicit interface implementation from .override directive in Update - this.Update(nextTarget); - } - public bool CanAttack(IBattleNpc target) { return true; } - bool ICombatModule.CanAttack(IBattleNpc target) - { - //ILSpy generated this explicit interface implementation from .override directive in CanAttack - return this.CanAttack(target); - } - - [MethodImpl(MethodImplOptions.NoInlining)] private void EnableCombosForCurrentJob() { - int num = (_lease.HasValue ? (-1738503464) : (-1738503461)); - uint num7 = default(uint); - string current = default(string); - ESetResult eSetResult = default(ESetResult); - while (true) + if (!_lease.HasValue) { - int num2 = num; - int num3 = -1738503463; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + uint num = _objectTable.LocalPlayer?.ClassJob.RowId ?? 0; + if (num == 0) + { + return; + } + try + { + List list = _getComboNamesForJob.InvokeFunc(num); + if (list == null || list.Count == 0) { - case 0: - num = -1738503461; - break; - case 1: + _logger.LogWarning("No combos found for job {JobId}", num); + return; + } + _logger.LogDebug("Found {Count} combos for job {JobId}: {Combos}", list.Count, num, string.Join(", ", list)); + int num2 = 0; + foreach (string item in list) { - IPlayerCharacter playerCharacter = _200C_200E_200F_206E_202E_206F_206E_200B_206F_202E_202B_202C_206D_206F_202A_202D_200C_206A_200B_206A_206D_202E_206D_202E_206F_202B_206E_200B_202C_206F_200D_206D_206B_202A_206B_200D_206E_202B_202D_206F_202E(_objectTable); - num7 = ((playerCharacter != null) ? _200B_202E_206C_200D_202E_200B_202D_202C_200E_202B_202D_206F_202D_200D_206D_206E_206F_200E_206E_200B_200C_202A_206E_200C_206D_200F_206E_206B_200D_202D_206F_202B_206F_200C_206E_206E_206C_206A_202C_202A_202E((ICharacter)playerCharacter).RowId : 0u); - num = ((num7 != 0) ? (-1738503462) : (-1738503459)); - break; - } - case 2: - return; - case 4: - return; - case 3: - try + ESetResult eSetResult = _setComboState.InvokeFunc(_lease.Value, item, arg3: true, arg4: true); + if (eSetResult.IsSuccess()) { - List list = _getComboNamesForJob.InvokeFunc(num7); - num = ((list == null) ? 406782414 : 406782415); - while (true) - { - int num8 = num; - num3 = 406782413; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 0: - num = 406782415; - break; - case 3: - _200E_202E_206F_200D_206A_200E_206B_202D_200D_200B_200D_206D_200C_200F_206A_200C_202E_202D_202C_206B_202D_200B_206D_202D_200E_206C_206A_206F_200E_202A_206E_202E_202C_206F_206F_202B_200C_200D_206F_206A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1097438702), new object[1] { num7 }); - return; - case 2: - num = ((list.Count != 0) ? 406782412 : 406782414); - break; - case 1: - { - _202C_202A_202B_206B_202B_202D_206B_206D_202A_200D_202C_200F_200F_200B_202B_200E_200B_202D_200D_206A_200D_206C_202E_206E_202C_200D_200E_206B_200F_206E_206E_202C_200E_202E_206B_206D_200C_206B_200C_202B_202E((ILogger)_logger, 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(-155886281), new object[3] - { - list.Count, - num7, - _206F_206D_206C_206C_206E_206A_200B_200D_200E_206A_206C_202C_206B_202D_200F_206D_206B_206A_202C_200E_200F_200F_202C_202C_206F_206F_202A_200F_202D_206B_200B_200F_200F_206D_206B_200E_202B_200C_200F_200C_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1467939024), (IEnumerable)list) - }); - int num11 = 0; - using (List.Enumerator enumerator = list.GetEnumerator()) - { - num = 1772577375; - while (true) - { - int num12 = num; - num3 = 1772577374; - num4 = num12; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - _200E_202E_206F_200D_206A_200E_206B_202D_200D_200B_200D_206D_200C_200F_206A_200C_202E_202D_202C_206B_202D_200B_206D_202D_200E_206C_206A_206F_200E_202A_206E_202E_202C_206F_206F_202B_200C_200D_206F_206A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1020041796), new object[2] { current, eSetResult }); - num = 1772577375; - break; - case 3: - current = enumerator.Current; - eSetResult = _setComboState.InvokeFunc(_lease.Value, current, arg3: true, arg4: true); - num = ((!eSetResult.IsSuccess()) ? 1772577370 : 1772577371); - break; - case 0: - num = 1772577375; - break; - case 1: - num = (enumerator.MoveNext() ? 1772577373 : 1772577372); - break; - case 5: - { - int num13 = num11; - num3 = 1; - num4 = num13; - num11 = (num4 | num3) + (num4 & num3); - num = 1772577375; - break; - } - case 2: - goto end_IL_01cd; - } - continue; - end_IL_01cd: - break; - } - } - _202C_202A_202B_206B_202B_202D_206B_206D_202A_200D_202C_200F_200F_200B_202B_200E_200B_202D_200D_206A_200D_206C_202E_206E_202C_200D_200E_206B_200F_206E_206E_202C_200E_202E_206B_206D_200C_206B_200C_202B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1723018308), new object[3] { num11, list.Count, num7 }); - return; - } - } - } - } - catch (IpcError ipcError) - { - _202C_202C_202C_202B_200E_202C_202B_202B_202D_202C_206F_206C_202C_206C_202E_206F_206C_202D_200F_200B_200D_202D_200E_206E_200D_206E_200E_206B_206D_202D_206C_206E_202D_200E_202C_200D_202D_202D_200D_200C_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-290281876), new object[1] { num7 }); - return; + num2++; + continue; } + _logger.LogWarning("SetComboState({Combo})={Result}", item, eSetResult); } + _logger.LogDebug("Enabled {Count}/{Total} combos for job {JobId}", num2, list.Count, num); + } + catch (IpcError exception) + { + _logger.LogWarning(exception, "Failed to enable combos for job {JobId}", num); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void SetConfig(AutoRotationConfigOption configKey, object value) { - int num = (_lease.HasValue ? 965536274 : 965536273); - while (true) + if (!_lease.HasValue) { - int num2 = num; - int num3 = 965536272; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + try + { + ESetResult eSetResult = _setAutoRotationConfigState.InvokeFunc(_lease.Value, configKey, value); + if (!eSetResult.IsSuccess()) { - case 0: - goto IL_0050; - case 1: - return; - case 2: - try - { - ESetResult eSetResult = _setAutoRotationConfigState.InvokeFunc(_lease.Value, configKey, value); - num = (eSetResult.IsSuccess() ? (-646726898) : (-646726899)); - while (true) - { - int num7 = num; - num3 = -646726897; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 0: - num = -646726899; - break; - case 2: - _200E_202E_206F_200D_206A_200E_206B_202D_200D_200B_200D_206D_200C_200F_206A_200C_202E_202D_202C_206B_202D_200B_206D_202D_200E_206C_206A_206F_200E_202A_206E_202E_202C_206F_206F_202B_200C_200D_206F_206A_202E((ILogger)_logger, 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(1491997045), new object[3] { configKey, value, eSetResult }); - num = -646726898; - break; - case 1: - return; - } - } - } - catch (IpcError ipcError) - { - _202C_202C_202C_202B_200E_202C_202B_202B_202D_202C_206F_206C_202C_206C_202E_206F_206C_202D_200F_200B_200D_202D_200E_206E_200D_206E_200E_206B_206D_202D_206C_206E_202D_200E_202C_200D_202D_202D_200D_200C_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-931599605), new object[2] { configKey, value }); - return; - } + _logger.LogWarning("WrathCombo config {ConfigKey}={Value} returned {Result}", configKey, value, eSetResult); } - continue; - IL_0050: - num = 965536273; + } + catch (IpcError exception) + { + _logger.LogWarning(exception, "Failed to set WrathCombo config {ConfigKey}={Value}", configKey, value); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void Callback(int reason, string additionalInfo) { - _200E_202E_206F_200D_206A_200E_206B_202D_200D_200B_200D_206D_200C_200F_206A_200C_202E_202D_202C_206B_202D_200B_206D_202D_200E_206C_206A_206F_200E_202A_206E_202E_202C_206F_206F_202B_200C_200D_206F_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-935286471), new object[2] { reason, additionalInfo }); + _logger.LogWarning("WrathCombo callback: {Reason} ({Info})", reason, additionalInfo); _lease = null; } public void Dispose() { _lease = null; - _202C_206B_202E_206B_202D_200E_200F_206C_200E_206D_200C_200B_202B_202D_206E_206A_206C_206B_206F_206A_200D_202E_206D_206D_202C_200D_200E_206E_202C_202A_202B_200B_202B_202E_202B_206F_200D_200F_206F_202E((ICallGateProvider)_callback); - } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static void _202C_202A_202B_206B_202B_202D_206B_206D_202A_200D_202C_200F_200F_200B_202B_200E_200B_202D_200D_206A_200D_206C_202E_206E_202C_200D_200E_206B_200F_206E_206E_202C_200E_202E_206B_206D_200C_206B_200C_202B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static void _200C_200D_202C_206F_200B_206E_206F_200D_200E_206D_200E_202E_200C_200C_202D_206A_202D_206E_202D_206F_200F_200D_200D_202E_206B_206F_200C_206C_202E_200F_202E_200C_202D_202E_202E_200E_206B_206E_202B_202D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogError(P_1, P_2); - } - - static void _206B_206A_206C_202C_200F_202D_206B_202C_206F_200D_200B_206A_206E_202E_200B_200F_200E_206C_200C_206B_200D_200D_206E_206F_202D_202B_206A_200D_206A_200F_202C_202C_202E_202E_206C_206B_202C_202C_202A_202D_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } - - static void _202C_202C_202C_202B_200E_202C_202B_202B_202D_202C_206F_206C_202C_206C_202E_206F_206C_202D_200F_200B_200D_202D_200E_206E_200D_206E_200E_206B_206D_202D_206C_206E_202D_200E_202C_200D_202D_202D_200D_200C_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogWarning(P_1, P_2, P_3); - } - - static IPlayerCharacter _200C_200E_200F_206E_202E_206F_206E_200B_206F_202E_202B_202C_206D_206F_202A_202D_200C_206A_200B_206A_206D_202E_206D_202E_206F_202B_206E_200B_202C_206F_200D_206D_206B_202A_206B_200D_206E_202B_202D_206F_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static RowRef _200B_202E_206C_200D_202E_200B_202D_202C_200E_202B_202D_206F_202D_200D_206D_206E_206F_200E_206E_200B_200C_202A_206E_200C_206D_200F_206E_206B_200D_202D_206F_202B_206F_200C_206E_206E_206C_206A_202C_202A_202E(ICharacter P_0) - { - return P_0.ClassJob; - } - - static void _200E_202E_206F_200D_206A_200E_206B_202D_200D_200B_200D_206D_200C_200F_206A_200C_202E_202D_202C_206B_202D_200B_206D_202D_200E_206C_206A_206F_200E_202A_206E_202E_202C_206F_206F_202B_200C_200D_206F_206A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static string _206F_206D_206C_206C_206E_206A_200B_200D_200E_206A_206C_202C_206B_202D_200F_206D_206B_206A_202C_200E_200F_200F_202C_202C_206F_206F_202A_200F_202D_206B_200B_200F_200F_206D_206B_200E_202B_200C_200F_200C_202E(string P_0, IEnumerable P_1) - { - return string.Join(P_0, P_1); - } - - static void _202C_206B_202E_206B_202D_200E_200F_206C_200E_206D_200C_200B_202B_202D_206E_206A_206C_206B_206F_206A_200D_202E_206D_206D_202C_200D_200E_206E_202C_202A_202B_200B_202B_202E_202B_206F_200D_200F_206F_202E(ICallGateProvider P_0) - { - P_0.UnregisterAction(); + _callback.UnregisterAction(); } } diff --git a/Questionable/Questionable.Controller.CombatModules/WrathResultExtensions.cs b/Questionable/Questionable.Controller.CombatModules/WrathResultExtensions.cs index 3ed7bff..442a40b 100644 --- a/Questionable/Questionable.Controller.CombatModules/WrathResultExtensions.cs +++ b/Questionable/Questionable.Controller.CombatModules/WrathResultExtensions.cs @@ -4,31 +4,10 @@ internal static class WrathResultExtensions { public static bool IsSuccess(this WrathComboModule.ESetResult result) { - int num = (((uint)result > 1u) ? 142889615 : 142889612); - bool result2 = default(bool); - while (true) + if ((uint)result <= 1u) { - int num2 = num; - int num3 = 142889614; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 142889612; - break; - case 2: - result2 = true; - num = 142889613; - break; - case 1: - result2 = false; - num = 142889613; - break; - case 3: - return result2; - } + return true; } + return false; } } diff --git a/Questionable/Questionable.Controller.Conditions/BeforeDutyCondition.cs b/Questionable/Questionable.Controller.Conditions/BeforeDutyCondition.cs index 47e1fce..2d54e15 100644 --- a/Questionable/Questionable.Controller.Conditions/BeforeDutyCondition.cs +++ b/Questionable/Questionable.Controller.Conditions/BeforeDutyCondition.cs @@ -1,4 +1,3 @@ -using System.Runtime.CompilerServices; using Questionable.Model.Questing; namespace Questionable.Controller.Conditions; @@ -12,43 +11,19 @@ internal sealed class BeforeDutyCondition : StopCondition public override bool Evaluate(StopEvaluationContext context) { EInteractionType? upcomingInteractionType = context.UpcomingInteractionType; - int num = ((!upcomingInteractionType.HasValue) ? (-1887031172) : (-1887031170)); - bool result = default(bool); - while (true) + if (upcomingInteractionType.HasValue) { - int num2 = num; - int num3 = -1887031171; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + EInteractionType valueOrDefault = upcomingInteractionType.GetValueOrDefault(); + if ((uint)(valueOrDefault - 19) <= 1u) { - case 1: - result = false; - num = -1887031171; - break; - case 4: - result = true; - num = -1887031171; - break; - case 3: - { - EInteractionType valueOrDefault = upcomingInteractionType.GetValueOrDefault(); - num = (((uint)(valueOrDefault - 19) > 1u) ? (-1887031172) : (-1887031175)); - break; - } - case 0: - return result; - case 2: - num = -1887031170; - break; + return true; } } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public override string GetDescription() { - return 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(-2024271967); + return "Before duty"; } } diff --git a/Questionable/Questionable.Controller.Conditions/GilThresholdCondition.cs b/Questionable/Questionable.Controller.Conditions/GilThresholdCondition.cs index 850c6e3..79f59fc 100644 --- a/Questionable/Questionable.Controller.Conditions/GilThresholdCondition.cs +++ b/Questionable/Questionable.Controller.Conditions/GilThresholdCondition.cs @@ -1,5 +1,3 @@ -using System.Runtime.CompilerServices; - namespace Questionable.Controller.Conditions; internal sealed class GilThresholdCondition : StopCondition @@ -15,12 +13,8 @@ internal sealed class GilThresholdCondition : StopCondition return context.Gil < MinGil; } - [MethodImpl(MethodImplOptions.NoInlining)] public override string GetDescription() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(10, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-789256971)); - defaultInterpolatedStringHandler.AppendFormatted(MinGil, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1282575127)); - return defaultInterpolatedStringHandler.ToStringAndClear(); + return $"Gil below {MinGil:N0}"; } } diff --git a/Questionable/Questionable.Controller.Conditions/GlobalSequenceCondition.cs b/Questionable/Questionable.Controller.Conditions/GlobalSequenceCondition.cs index 89826d4..e7baf48 100644 --- a/Questionable/Questionable.Controller.Conditions/GlobalSequenceCondition.cs +++ b/Questionable/Questionable.Controller.Conditions/GlobalSequenceCondition.cs @@ -1,5 +1,3 @@ -using System.Runtime.CompilerServices; - namespace Questionable.Controller.Conditions; internal sealed class GlobalSequenceCondition : StopCondition @@ -15,12 +13,8 @@ internal sealed class GlobalSequenceCondition : StopCondition return context.CurrentSequence >= TargetSequence; } - [MethodImpl(MethodImplOptions.NoInlining)] public override string GetDescription() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(9, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(48652591)); - defaultInterpolatedStringHandler.AppendFormatted(TargetSequence); - return defaultInterpolatedStringHandler.ToStringAndClear(); + return $"Sequence {TargetSequence}"; } } diff --git a/Questionable/Questionable.Controller.Conditions/InventoryFullCondition.cs b/Questionable/Questionable.Controller.Conditions/InventoryFullCondition.cs index f01fb71..91af556 100644 --- a/Questionable/Questionable.Controller.Conditions/InventoryFullCondition.cs +++ b/Questionable/Questionable.Controller.Conditions/InventoryFullCondition.cs @@ -1,5 +1,3 @@ -using System.Runtime.CompilerServices; - namespace Questionable.Controller.Conditions; internal sealed class InventoryFullCondition : StopCondition @@ -13,9 +11,8 @@ internal sealed class InventoryFullCondition : StopCondition return context.FreeInventorySlots == 0; } - [MethodImpl(MethodImplOptions.NoInlining)] public override string GetDescription() { - return global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(915709300); + return "Inventory full"; } } diff --git a/Questionable/Questionable.Controller.Conditions/LevelCondition.cs b/Questionable/Questionable.Controller.Conditions/LevelCondition.cs index 0c9acbd..570e3e4 100644 --- a/Questionable/Questionable.Controller.Conditions/LevelCondition.cs +++ b/Questionable/Questionable.Controller.Conditions/LevelCondition.cs @@ -1,5 +1,3 @@ -using System.Runtime.CompilerServices; - namespace Questionable.Controller.Conditions; internal sealed class LevelCondition : StopCondition @@ -15,12 +13,8 @@ internal sealed class LevelCondition : StopCondition return context.PlayerLevel >= TargetLevel; } - [MethodImpl(MethodImplOptions.NoInlining)] public override string GetDescription() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(6, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1980344015)); - defaultInterpolatedStringHandler.AppendFormatted(TargetLevel); - return defaultInterpolatedStringHandler.ToStringAndClear(); + return $"Level {TargetLevel}"; } } diff --git a/Questionable/Questionable.Controller.Conditions/QuestAcceptCondition.cs b/Questionable/Questionable.Controller.Conditions/QuestAcceptCondition.cs index 6970fdd..a5e67ca 100644 --- a/Questionable/Questionable.Controller.Conditions/QuestAcceptCondition.cs +++ b/Questionable/Questionable.Controller.Conditions/QuestAcceptCondition.cs @@ -1,4 +1,3 @@ -using System.Runtime.CompilerServices; using Questionable.Model.Questing; namespace Questionable.Controller.Conditions; @@ -15,17 +14,12 @@ internal sealed class QuestAcceptCondition : StopCondition public override bool Evaluate(StopEvaluationContext context) { - return ((QuestAcceptCondition)(object)context.AcceptedQuestId)?._200B_206A_200B_200C_206C_200C_200B_206A_202E_206F_202A_206B_202B_206C_202E_200C_202B_206B_202A_202D_206B_206C_206F_206E_206A_206E_202A_206A_206C_200F_206C_200B_206E_200B_200C_200B_206B_200F_206A_206D_202E(QuestId) ?? false; + return context.AcceptedQuestId?.Equals(QuestId) ?? false; } - [MethodImpl(MethodImplOptions.NoInlining)] public override string GetDescription() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(15, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-145606806)); - defaultInterpolatedStringHandler.AppendFormatted(QuestId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1158663954)); - return defaultInterpolatedStringHandler.ToStringAndClear(); + return $"Quest {QuestId} accepted"; } public static QuestAcceptCondition CreateSession(ElementId questId) @@ -37,9 +31,4 @@ internal sealed class QuestAcceptCondition : StopCondition Mode = EStopConditionMode.Stop }; } - - bool _200B_206A_200B_200C_206C_200C_200B_206A_202E_206F_202A_206B_202B_206C_202E_200C_202B_206B_202A_202D_206B_206C_206F_206E_206A_206E_202A_206A_206C_200F_206C_200B_206E_200B_200C_200B_206B_200F_206A_206D_202E(ElementId P_0) - { - return ((ElementId)(object)this).Equals(P_0); - } } diff --git a/Questionable/Questionable.Controller.Conditions/QuestCompleteCondition.cs b/Questionable/Questionable.Controller.Conditions/QuestCompleteCondition.cs index 324a818..36e4a0d 100644 --- a/Questionable/Questionable.Controller.Conditions/QuestCompleteCondition.cs +++ b/Questionable/Questionable.Controller.Conditions/QuestCompleteCondition.cs @@ -1,4 +1,3 @@ -using System.Runtime.CompilerServices; using Questionable.Model.Questing; namespace Questionable.Controller.Conditions; @@ -18,71 +17,29 @@ internal sealed class QuestCompleteCondition : StopCondition public override bool Evaluate(StopEvaluationContext context) { int? sequence = Sequence; - int num = ((!sequence.HasValue) ? 1923712411 : 1923712409); - int valueOrDefault = default(int); - while (true) + if (sequence.HasValue) { - int num2 = num; - int num3 = 1923712408; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + int valueOrDefault = sequence.GetValueOrDefault(); + ElementId? currentQuestId = context.CurrentQuestId; + if ((object)currentQuestId != null && currentQuestId.Equals(QuestId)) { - case 2: - return false; - case 0: return context.CurrentSequence >= valueOrDefault; - case 1: - { - valueOrDefault = sequence.GetValueOrDefault(); - ElementId? currentQuestId = context.CurrentQuestId; - num = (((object)currentQuestId == null || !((QuestCompleteCondition)(object)currentQuestId)._206F_202D_200C_200B_200F_200D_200D_202B_206B_206D_202B_200D_202D_200D_206A_202C_202C_206D_206C_202D_206C_206A_202B_202E_202E_206C_206F_200D_206A_202A_200F_206B_206F_202E_206C_206F_200E_200F_202B_200D_202E(QuestId)) ? 1923712410 : 1923712408); - break; - } - case 4: - num = 1923712409; - break; - case 3: - return ((QuestCompleteCondition)(object)context.CompletedQuestId)?._206F_202D_200C_200B_200F_200D_200D_202B_206B_206D_202B_200D_202D_200D_206A_202C_202C_206D_206C_202D_206C_206A_202B_202E_202E_206C_206F_200D_206A_202A_200F_206B_206F_202E_206C_206F_200E_200F_202B_200D_202E(QuestId) ?? false; } + return false; } + return context.CompletedQuestId?.Equals(QuestId) ?? false; } - [MethodImpl(MethodImplOptions.NoInlining)] public override string GetDescription() { - string text = _206C_202B_200F_200F_206A_206D_200D_206E_202C_202B_202C_206A_206F_200B_206A_206B_200C_202A_206B_200D_206E_202A_206D_206C_200F_202B_202A_206C_206A_202C_206D_202B_206B_202B_202B_206E_206F_206C_200E_202B_202E((object)QuestId); + string text = QuestId.ToString(); int? sequence = Sequence; - int num = ((!sequence.HasValue) ? (-1343890336) : (-1343890335)); - int valueOrDefault = default(int); - while (true) + if (sequence.HasValue) { - int num2 = num; - int num3 = -1343890336; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = -1343890335; - break; - case 1: - valueOrDefault = sequence.GetValueOrDefault(); - num = -1343890334; - break; - case 2: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(19, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(18748268)); - defaultInterpolatedStringHandler.AppendFormatted(text); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1980091129)); - defaultInterpolatedStringHandler.AppendFormatted(valueOrDefault); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - case 0: - return _202B_202D_206E_206D_202D_206D_202C_206C_206D_206D_200F_206E_206F_206F_202D_200B_202A_202A_202D_206E_202E_200D_200F_206D_200B_202A_206A_200C_206F_206F_206F_202A_202A_200E_202C_202A_206B_200B_202A_200C_202E(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(-1754422725), text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-729035300)); - } + int valueOrDefault = sequence.GetValueOrDefault(); + return $"Quest {text} at sequence {valueOrDefault}"; } + return "Quest " + text + " completed"; } public static QuestCompleteCondition CreateSession(ElementId questId) @@ -94,19 +51,4 @@ internal sealed class QuestCompleteCondition : StopCondition Mode = EStopConditionMode.Stop }; } - - bool _206F_202D_200C_200B_200F_200D_200D_202B_206B_206D_202B_200D_202D_200D_206A_202C_202C_206D_206C_202D_206C_206A_202B_202E_202E_206C_206F_200D_206A_202A_200F_206B_206F_202E_206C_206F_200E_200F_202B_200D_202E(ElementId P_0) - { - return ((ElementId)(object)this).Equals(P_0); - } - - static string _206C_202B_200F_200F_206A_206D_200D_206E_202C_202B_202C_206A_206F_200B_206A_206B_200C_202A_206B_200D_206E_202A_206D_206C_200F_202B_202A_206C_206A_202C_206D_202B_206B_202B_202B_206E_206F_206C_200E_202B_202E(object P_0) - { - return P_0.ToString(); - } - - static string _202B_202D_206E_206D_202D_206D_202C_206C_206D_206D_200F_206E_206F_206F_202D_200B_202A_202A_202D_206E_202E_200D_200F_206D_200B_202A_206A_200C_206F_206F_206F_202A_202A_200E_202C_202A_206B_200B_202A_200C_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } } diff --git a/Questionable/Questionable.Controller.Conditions/QuestCountCondition.cs b/Questionable/Questionable.Controller.Conditions/QuestCountCondition.cs index da7a9ec..4a15906 100644 --- a/Questionable/Questionable.Controller.Conditions/QuestCountCondition.cs +++ b/Questionable/Questionable.Controller.Conditions/QuestCountCondition.cs @@ -1,5 +1,3 @@ -using System.Runtime.CompilerServices; - namespace Questionable.Controller.Conditions; internal sealed class QuestCountCondition : StopCondition @@ -15,12 +13,8 @@ internal sealed class QuestCountCondition : StopCondition return context.QuestsCompletedThisSession >= Count; } - [MethodImpl(MethodImplOptions.NoInlining)] public override string GetDescription() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(17, 1); - defaultInterpolatedStringHandler.AppendFormatted(Count); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1579947935)); - return defaultInterpolatedStringHandler.ToStringAndClear(); + return $"{Count} quests completed"; } } diff --git a/Questionable/Questionable.Controller.Conditions/StopConditionConverter.cs b/Questionable/Questionable.Controller.Conditions/StopConditionConverter.cs index 8616602..bc84675 100644 --- a/Questionable/Questionable.Controller.Conditions/StopConditionConverter.cs +++ b/Questionable/Questionable.Controller.Conditions/StopConditionConverter.cs @@ -1,5 +1,4 @@ using System; -using System.Runtime.CompilerServices; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Questionable.Model.Questing; @@ -20,415 +19,142 @@ internal sealed class StopConditionConverter : JsonConverter } } - [MethodImpl(MethodImplOptions.NoInlining)] private static StopCondition? ReadJsonCore(JsonReader reader) { - JObject jObject = _206C_200E_206F_200F_202C_202D_200B_200E_200D_200D_200F_202E_206B_206E_202C_206B_206F_200E_206C_202D_200E_202E_206D_206E_202C_202E_206D_200C_206E_202E_206F_200C_202E_206D_206E_202D_206E_202C_206B_200D_202E(reader); - string text = _200F_202B_202C_206A_206F_200F_206B_202C_200C_202C_200B_202B_200E_206C_200F_200D_200E_206D_202D_206C_206B_200D_200B_202E_200B_200F_202E_202B_206E_206D_206D_202C_202D_206B_206E_206A_200B_206C_206E_202E_202E(jObject, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(52233837))?.Value(); - int num = ((text == null) ? (-2010192551) : (-2010192556)); - ElementId elementId2 = default(ElementId); - StopCondition stopCondition2 = default(StopCondition); - ElementId elementId = default(ElementId); - StopCondition stopCondition = default(StopCondition); - int? num7 = default(int?); - char c = default(char); - while (true) + JObject jObject = JObject.Load(reader); + StopCondition stopCondition; + switch (jObject["Type"]?.Value()) { - int num2 = num; - int num3 = -2010192547; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + case "QuestComplete": + { + ElementId elementId2 = DeserializeElementId(jObject["QuestId"]); + if ((object)elementId2 != null) { - case 10: - elementId2 = DeserializeElementId(_200F_202B_202C_206A_206F_200F_206B_202C_200C_202C_200B_202B_200E_206C_200F_200D_200E_206D_202D_206C_206B_200D_200B_202E_200B_200F_202E_202B_206E_206D_206D_202C_202D_206B_206E_206A_200B_206C_206E_202E_202E(jObject, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(795152114))); - num = (((object)elementId2 == null) ? (-2010192551) : (-2010192558)); + stopCondition = new QuestCompleteCondition + { + QuestId = elementId2, + Sequence = jObject["Sequence"]?.Value() + }; break; - case 5: - num = (_206A_206B_206D_206E_206B_202D_200F_202C_200C_202B_206A_200C_206F_202B_206F_206F_200E_200F_202C_206A_200E_202A_200B_202B_202A_206D_206E_200C_200B_206F_200D_206F_202D_202D_200E_200F_200E_202E_200D_206A_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1603904649)) ? (-2010192557) : (-2010192562)); - break; - case 4: - goto IL_0152; - case 3: - stopCondition2 = new QuestAcceptCondition + } + goto default; + } + case "QuestAccept": + { + ElementId elementId = DeserializeElementId(jObject["QuestId"]); + if ((object)elementId != null) + { + stopCondition = new QuestAcceptCondition { QuestId = elementId }; - num = -2010192575; break; - case 28: - stopCondition = stopCondition2; - num = ((stopCondition == null) ? (-2010192572) : (-2010192548)); - break; - case 6: - num = (_206A_206B_206D_206E_206B_202D_200F_202C_200C_202B_206A_200C_206F_202B_206F_206F_200E_200F_202C_206A_200E_202A_200B_202B_202A_206D_206E_200C_200B_206F_200D_206F_202D_202D_200E_200F_200E_202E_200D_206A_202E(text, 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(436457362)) ? (-2010192553) : (-2010192563)); - break; - case 25: - return stopCondition; - case 14: - elementId = DeserializeElementId(_200F_202B_202C_206A_206F_200F_206B_202C_200C_202C_200B_202B_200E_206C_200F_200D_200E_206D_202D_206C_206B_200D_200B_202E_200B_200F_202E_202B_206E_206D_206D_202C_202D_206B_206E_206A_200B_206C_206E_202E_202E(jObject, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(795152114))); - num = (((object)elementId == null) ? (-2010192551) : (-2010192546)); - break; - case 0: - stopCondition2 = new BeforeDutyCondition(); - num = -2010192575; - break; - case 19: - num = -2010192551; - break; - case 15: + } + goto default; + } + case "Level": + stopCondition = new LevelCondition { - QuestCompleteCondition obj = new QuestCompleteCondition + TargetLevel = (jObject["TargetLevel"]?.Value() ?? 50) + }; + break; + case "GlobalSequence": + stopCondition = new GlobalSequenceCondition + { + TargetSequence = (jObject["TargetSequence"]?.Value() ?? 1) + }; + break; + case "InventoryFull": + stopCondition = new InventoryFullCondition(); + break; + case "BeforeDuty": + stopCondition = new BeforeDutyCondition(); + break; + case "GilThreshold": + stopCondition = new GilThresholdCondition + { + MinGil = (jObject["MinGil"]?.Value() ?? 1000) + }; + break; + default: + stopCondition = null; + break; + } + StopCondition stopCondition2 = stopCondition; + if (stopCondition2 != null) + { + int? num = jObject["Mode"]?.Value(); + if (num.HasValue) + { + int valueOrDefault = num.GetValueOrDefault(); + stopCondition2.Mode = (EStopConditionMode)valueOrDefault; + } + } + return stopCondition2; + } + + public override void WriteJson(JsonWriter writer, StopCondition? value, JsonSerializer serializer) + { + if (value == null || value.IsSession) + { + writer.WriteNull(); + return; + } + JObject jObject = new JObject + { + ["Type"] = value.Type.ToString(), + ["Mode"] = (int)value.Mode + }; + if (!(value is QuestCompleteCondition questCompleteCondition)) + { + if (!(value is QuestAcceptCondition questAcceptCondition)) + { + if (!(value is LevelCondition levelCondition)) { - QuestId = elementId2 - }; - JToken jToken = _200F_202B_202C_206A_206F_200F_206B_202C_200C_202C_200B_202B_200E_206C_200F_200D_200E_206D_202D_206C_206B_200D_200B_202E_200B_200F_202E_202B_206E_206D_206D_202C_202D_206B_206E_206A_200B_206C_206E_202E_202E(jObject, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(5286166)); - int? sequence; - if (jToken == null) - { - num7 = null; - sequence = num7; + if (!(value is GlobalSequenceCondition globalSequenceCondition)) + { + if (value is GilThresholdCondition gilThresholdCondition) + { + jObject["MinGil"] = gilThresholdCondition.MinGil; + } + } + else + { + jObject["TargetSequence"] = globalSequenceCondition.TargetSequence; + } } else { - sequence = jToken.Value(); + jObject["TargetLevel"] = levelCondition.TargetLevel; } - obj.Sequence = sequence; - stopCondition2 = obj; - num = -2010192575; - break; } - case 2: - goto IL_026d; - case 31: - stopCondition2 = new GilThresholdCondition - { - MinGil = (_200F_202B_202C_206A_206F_200F_206B_202C_200C_202C_200B_202B_200E_206C_200F_200D_200E_206D_202D_206C_206B_200D_200B_202E_200B_200F_202E_202B_206E_206D_206D_202C_202D_206B_206E_206A_200B_206C_206E_202E_202E(jObject, 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(-1170513832))?.Value() ?? 1000) - }; - num = -2010192575; - break; - case 7: - num = -2010192551; - break; - case 29: - num = -2010192551; - break; - case 24: - goto IL_02f2; - case 22: - num = -2010192551; - break; - case 9: + else { - int num8 = _206F_202A_200E_206F_206E_206C_206D_206A_202D_202B_202B_206C_206B_206B_202B_200C_200F_200C_202D_202E_206B_206E_200B_200D_202C_206E_206C_202A_202D_200E_206F_202C_200D_206E_202A_202D_202B_200C_206D_206A_202E(text); - num3 = 5; - num4 = num8; - switch (~(~num4 + num3)) - { - case 6: - break; - case 1: - case 2: - case 3: - case 4: - goto IL_0152; - case 5: - goto IL_026d; - case 9: - goto IL_02f2; - default: - goto IL_0370; - case 7: - goto IL_0394; - case 8: - goto IL_03e3; - case 0: - goto IL_04e6; - } - goto case 5; - } - case 23: - num = -2010192556; - break; - case 11: - num = -2010192551; - break; - case 20: - goto IL_0394; - case 17: - num = ((c != 'Q') ? (-2010192551) : (-2010192549)); - break; - case 32: - goto IL_03e3; - case 16: - num = -2010192551; - break; - case 26: - stopCondition2 = new LevelCondition - { - TargetLevel = (_200F_202B_202C_206A_206F_200F_206B_202C_200C_202C_200B_202B_200E_206C_200F_200D_200E_206D_202D_206C_206B_200D_200B_202E_200B_200F_202E_202B_206E_206D_206D_202C_202D_206B_206E_206A_200B_206C_206E_202E_202E(jObject, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(133157427))?.Value() ?? 50) - }; - num = -2010192575; - break; - case 12: - num = -2010192551; - break; - case 8: - stopCondition2 = new GlobalSequenceCondition - { - TargetSequence = (_200F_202B_202C_206A_206F_200F_206B_202C_200C_202C_200B_202B_200E_206C_200F_200D_200E_206D_202D_206C_206B_200D_200B_202E_200B_200F_202E_202B_206E_206D_206D_202C_202D_206B_206E_206A_200B_206C_206E_202E_202E(jObject, 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(-1825719736))?.Value() ?? 1) - }; - num = -2010192575; - break; - case 30: - num = (_206A_206B_206D_206E_206B_202D_200F_202C_200C_202B_206A_200C_206F_202B_206F_206F_200E_200F_202C_206A_200E_202A_200B_202B_202A_206D_206E_200C_200B_206F_200D_206F_202D_202D_200E_200F_200E_202E_200D_206A_202E(text, 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(-17723474)) ? (-2010192570) : (-2010192565)); - break; - case 18: - { - int valueOrDefault = num7.GetValueOrDefault(); - stopCondition.Mode = (EStopConditionMode)valueOrDefault; - num = -2010192572; - break; - } - case 21: - goto IL_04e6; - case 27: - stopCondition2 = new InventoryFullCondition(); - num = -2010192575; - break; - case 1: - num7 = _200F_202B_202C_206A_206F_200F_206B_202C_200C_202C_200B_202B_200E_206C_200F_200D_200E_206D_202D_206C_206B_200D_200B_202E_200B_200F_202E_202B_206E_206D_206D_202C_202D_206B_206E_206A_200B_206C_206E_202E_202E(jObject, 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(-672065767))?.Value(); - num = ((!num7.HasValue) ? (-2010192572) : (-2010192561)); - break; - case 13: - { - num = -2010192551; - break; - } - IL_0394: - num = (_206A_206B_206D_206E_206B_202D_200F_202C_200C_202B_206A_200C_206F_202B_206F_206F_200E_200F_202C_206A_200E_202A_200B_202B_202A_206D_206E_200C_200B_206F_200D_206F_202D_202D_200E_200F_200E_202E_200D_206A_202E(text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1252232514)) ? (-2010192574) : (-2010192576)); - break; - IL_0370: - num = -2010192559; - break; - IL_02f2: - num = (_206A_206B_206D_206E_206B_202D_200F_202C_200C_202B_206A_200C_206F_202B_206F_206F_200E_200F_202C_206A_200E_202A_200B_202B_202A_206D_206E_200C_200B_206F_200D_206F_202D_202D_200E_200F_200E_202E_200D_206A_202E(text, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1543657704)) ? (-2010192555) : (-2010192550)); - break; - IL_026d: - num = (_206A_206B_206D_206E_206B_202D_200F_202C_200C_202B_206A_200C_206F_202B_206F_206F_200E_200F_202C_206A_200E_202A_200B_202B_202A_206D_206E_200C_200B_206F_200D_206F_202D_202D_200E_200F_200E_202E_200D_206A_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(512682232)) ? (-2010192547) : (-2010192560)); - break; - IL_04e6: - num = (_206A_206B_206D_206E_206B_202D_200F_202C_200C_202B_206A_200C_206F_202B_206F_206F_200E_200F_202C_206A_200E_202A_200B_202B_202A_206D_206E_200C_200B_206F_200D_206F_202D_202D_200E_200F_200E_202E_200D_206A_202E(text, 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(-1372234188)) ? (-2010192569) : (-2010192554)); - break; - IL_03e3: - c = _206D_206F_202A_202E_202A_200F_206C_202D_202E_200D_200F_206B_206C_206C_200C_202E_200B_202A_202C_206A_202C_200F_200B_206F_206C_206A_200D_200C_206C_200D_206E_200F_206E_206E_202D_206A_206D_200C_202C_202A_202E(text, 0); - num = ((c == 'I') ? (-2010192573) : (-2010192564)); - break; - IL_0152: - stopCondition2 = null; - num = -2010192575; - break; + jObject["QuestId"] = questAcceptCondition.QuestId.ToString(); } } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - public override void WriteJson(JsonWriter writer, StopCondition? value, JsonSerializer serializer) - { - int num = ((value == null) ? (-588005033) : (-588005040)); - JObject jObject = default(JObject); - QuestCompleteCondition questCompleteCondition = default(QuestCompleteCondition); - LevelCondition levelCondition = default(LevelCondition); - QuestAcceptCondition questAcceptCondition = default(QuestAcceptCondition); - GlobalSequenceCondition globalSequenceCondition = default(GlobalSequenceCondition); - GilThresholdCondition gilThresholdCondition = default(GilThresholdCondition); - while (true) + else { - int num2 = num; - int num3 = -588005025; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + jObject["QuestId"] = questCompleteCondition.QuestId.ToString(); + if (questCompleteCondition.Sequence.HasValue) { - case 0: - num = -588005040; - break; - case 11: - _202C_200D_202D_206A_200C_200F_206B_202B_206F_200D_200D_200C_202E_200E_206E_206F_202B_202E_200F_202E_202E_200D_202C_202C_206C_206B_202C_202B_206A_200D_206C_206F_202C_202D_206A_206A_206D_200E_202C_202E(jObject, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1722090064), _206B_202A_206F_200D_202E_202A_202B_200B_202D_206A_206B_200B_206A_202A_202C_206C_206C_200B_206E_202D_200D_202C_200F_206C_206F_206B_206A_206E_206C_206A_200C_202E_202E_206B_202A_206A_206D_202D_202D_206F_202E(_200D_206A_206B_206D_206B_202D_202B_206F_206C_200F_202D_200C_202B_202A_200B_206E_206F_200B_206B_206C_206D_200D_200D_206F_206C_206F_200E_200B_200C_202E_206D_206D_200E_202B_202D_202C_200B_200C_206C_202E((object)questCompleteCondition.QuestId))); - num = ((!questCompleteCondition.Sequence.HasValue) ? (-588005027) : (-588005032)); - break; - case 13: - _202C_200D_202D_206A_200C_200F_206B_202B_206F_200D_200D_200C_202E_200E_206E_206F_202B_202E_200F_202E_202E_200D_202C_202C_206C_206B_202C_202B_206A_200D_206C_206F_202C_202D_206A_206A_206D_200E_202C_202E(jObject, 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(-1235586580), _202C_200E_202B_206A_202B_206A_206E_206E_202C_200E_202C_202A_206A_206C_206F_202A_200E_202D_200C_200E_200D_202C_206F_202D_206A_202C_200F_200B_202C_202E_200D_202A_202B_206D_206D_202B_202E_200F_202D_200E_202E(levelCondition.TargetLevel)); - num = -588005027; - break; - case 6: - questAcceptCondition = value as QuestAcceptCondition; - num = ((questAcceptCondition != null) ? (-588005030) : (-588005037)); - break; - case 9: - globalSequenceCondition = value as GlobalSequenceCondition; - num = ((globalSequenceCondition != null) ? (-588005028) : (-588005026)); - break; - case 5: - _202C_200D_202D_206A_200C_200F_206B_202B_206F_200D_200D_200C_202E_200E_206E_206F_202B_202E_200F_202E_202E_200D_202C_202C_206C_206B_202C_202B_206A_200D_206C_206F_202C_202D_206A_206A_206D_200E_202C_202E(jObject, 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(764363779), _206B_202A_206F_200D_202E_202A_202B_200B_202D_206A_206B_200B_206A_202A_202C_206C_206C_200B_206E_202D_200D_202C_200F_206C_206F_206B_206A_206E_206C_206A_200C_202E_202E_206B_202A_206A_206D_202D_202D_206F_202E(_200D_206A_206B_206D_206B_202D_202B_206F_206C_200F_202D_200C_202B_202A_200B_206E_206F_200B_206B_206C_206D_200D_200D_206F_206C_206F_200E_200B_200C_202E_206D_206D_200E_202B_202D_202C_200B_200C_206C_202E((object)questAcceptCondition.QuestId))); - num = -588005027; - break; - case 14: - { - JObject jObject2 = _202A_202B_202E_206A_202D_200C_206E_200C_202E_200B_206E_206A_206E_206C_206D_206A_206B_200D_206B_202B_202D_202A_202D_202D_206B_206A_202D_202B_206D_202B_206D_202A_202D_202E_202E_200E_202D_200D_202E_206A_202E(); - _202C_200D_202D_206A_200C_200F_206B_202B_206F_200D_200D_200C_202E_200E_206E_206F_202B_202E_200F_202E_202E_200D_202C_202C_206C_206B_202C_202B_206A_200D_206C_206F_202C_202D_206A_206A_206D_200E_202C_202E(jObject2, 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(-1591043485), _206B_202A_206F_200D_202E_202A_202B_200B_202D_206A_206B_200B_206A_202A_202C_206C_206C_200B_206E_202D_200D_202C_200F_206C_206F_206B_206A_206E_206C_206A_200C_202E_202E_206B_202A_206A_206D_202D_202D_206F_202E(value.Type.ToString())); - _202C_200D_202D_206A_200C_200F_206B_202B_206F_200D_200D_200C_202E_200E_206E_206F_202B_202E_200F_202E_202E_200D_202C_202C_206C_206B_202C_202B_206A_200D_206C_206F_202C_202D_206A_206A_206D_200E_202C_202E(jObject2, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1945719235), _202C_200E_202B_206A_202B_206A_206E_206E_202C_200E_202C_202A_206A_206C_206F_202A_200E_202D_200C_200E_200D_202C_206F_202D_206A_202C_200F_200B_202C_202E_200D_202A_202B_206D_206D_202B_202E_200F_202D_200E_202E((int)value.Mode)); - jObject = jObject2; - questCompleteCondition = value as QuestCompleteCondition; - num = ((questCompleteCondition != null) ? (-588005036) : (-588005031)); - break; - } - case 7: - _202C_200D_202D_206A_200C_200F_206B_202B_206F_200D_200D_200C_202E_200E_206E_206F_202B_202E_200F_202E_202E_200D_202C_202C_206C_206B_202C_202B_206A_200D_206C_206F_202C_202D_206A_206A_206D_200E_202C_202E(jObject, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-5124988), _202E_206B_200F_202D_202A_200B_202C_202B_200E_202E_206D_202A_206E_206A_206E_206A_206D_206B_206E_206E_200F_206E_206F_202B_202C_206D_202D_206B_206E_202A_202A_206F_206E_202B_200D_200B_202D_206F_202A_202E_202E(questCompleteCondition.Sequence)); - num = -588005027; - break; - case 1: - gilThresholdCondition = value as GilThresholdCondition; - num = ((gilThresholdCondition != null) ? (-588005035) : (-588005029)); - break; - case 10: - _202C_200D_202D_206A_200C_200F_206B_202B_206F_200D_200D_200C_202E_200E_206E_206F_202B_202E_200F_202E_202E_200D_202C_202C_206C_206B_202C_202B_206A_200D_206C_206F_202C_202D_206A_206A_206D_200E_202C_202E(jObject, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-51044274), _202C_200E_202B_206A_202B_206A_206E_206E_202C_200E_202C_202A_206A_206C_206F_202A_200E_202D_200C_200E_200D_202C_206F_202D_206A_202C_200F_200B_202C_202E_200D_202A_202B_206D_206D_202B_202E_200F_202D_200E_202E(gilThresholdCondition.MinGil)); - num = -588005027; - break; - case 12: - levelCondition = value as LevelCondition; - num = ((levelCondition != null) ? (-588005038) : (-588005034)); - break; - case 8: - _202B_206F_206B_202D_200F_202E_206B_206E_202C_202A_202B_200E_202B_206F_202D_206B_206A_200E_206E_206A_202A_202B_202C_202C_200D_206B_200B_206A_200D_206E_202C_206C_200B_202D_206C_200E_200E_206F_200D_202D_202E(writer); - return; - case 4: - num = -588005027; - break; - case 2: - _200F_206E_200B_206B_200B_200F_200B_200F_206F_206A_206D_200F_206F_202A_202E_202B_202C_202B_206B_200E_200B_206F_202D_200B_206E_206A_206C_200B_200E_202A_202A_200D_202E_206B_200B_206B_200E_206F_200B_200F_202E((JToken)jObject, writer); - return; - case 3: - _202C_200D_202D_206A_200C_200F_206B_202B_206F_200D_200D_200C_202E_200E_206E_206F_202B_202E_200F_202E_202E_200D_202C_202C_206C_206B_202C_202B_206A_200D_206C_206F_202C_202D_206A_206A_206D_200E_202C_202E(jObject, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-512840921), _202C_200E_202B_206A_202B_206A_206E_206E_202C_200E_202C_202A_206A_206C_206F_202A_200E_202D_200C_200E_200D_202C_206F_202D_206A_202C_200F_200B_202C_202E_200D_202A_202B_206D_206D_202B_202E_200F_202D_200E_202E(globalSequenceCondition.TargetSequence)); - num = -588005027; - break; - case 15: - num = ((!value.IsSession) ? (-588005039) : (-588005033)); - break; + jObject["Sequence"] = questCompleteCondition.Sequence; } } + jObject.WriteTo(writer); } private static ElementId? DeserializeElementId(JToken? token) { - int num = ((token != null) ? (-620565956) : (-620565958)); - ElementId result = default(ElementId); - string text = default(string); - while (true) + string text = token?.Value(); + if (text == null) { - int num2 = num; - int num3 = -620565956; - int num4 = num2; - object obj; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = -620565958; - break; - case 2: - return null; - case 1: - return result; - case 0: - obj = token.Value(); - goto IL_0069; - case 4: - num = (_200C_202C_200F_202B_202B_206A_200C_202B_206A_202D_202B_206B_202B_202D_202D_202C_200C_206F_202D_206D_202B_202B_202E_200F_202E_202A_206F_206A_202B_200C_202E_202A_206C_202D_206C_206F_206F_202E_206E_202D_202E(text, ref result) ? (-620565955) : (-620565954)); - break; - case 5: - return null; - case 6: - { - obj = null; - goto IL_0069; - } - IL_0069: - text = (string)obj; - num = ((text != null) ? (-620565960) : (-620565959)); - break; - } + return null; } - } - - static JObject _206C_200E_206F_200F_202C_202D_200B_200E_200D_200D_200F_202E_206B_206E_202C_206B_206F_200E_206C_202D_200E_202E_206D_206E_202C_202E_206D_200C_206E_202E_206F_200C_202E_206D_206E_202D_206E_202C_206B_200D_202E(JsonReader P_0) - { - return JObject.Load(P_0); - } - - static JToken _200F_202B_202C_206A_206F_200F_206B_202C_200C_202C_200B_202B_200E_206C_200F_200D_200E_206D_202D_206C_206B_200D_200B_202E_200B_200F_202E_202B_206E_206D_206D_202C_202D_206B_206E_206A_200B_206C_206E_202E_202E(JObject P_0, string P_1) - { - return P_0[P_1]; - } - - static int _206F_202A_200E_206F_206E_206C_206D_206A_202D_202B_202B_206C_206B_206B_202B_200C_200F_200C_202D_202E_206B_206E_200B_200D_202C_206E_206C_202A_202D_200E_206F_202C_200D_206E_202A_202D_202B_200C_206D_206A_202E(string P_0) - { - return P_0.Length; - } - - static char _206D_206F_202A_202E_202A_200F_206C_202D_202E_200D_200F_206B_206C_206C_200C_202E_200B_202A_202C_206A_202C_200F_200B_206F_206C_206A_200D_200C_206C_200D_206E_200F_206E_206E_202D_206A_206D_200C_202C_202A_202E(string P_0, int P_1) - { - return P_0[P_1]; - } - - static bool _206A_206B_206D_206E_206B_202D_200F_202C_200C_202B_206A_200C_206F_202B_206F_206F_200E_200F_202C_206A_200E_202A_200B_202B_202A_206D_206E_200C_200B_206F_200D_206F_202D_202D_200E_200F_200E_202E_200D_206A_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - - static void _202B_206F_206B_202D_200F_202E_206B_206E_202C_202A_202B_200E_202B_206F_202D_206B_206A_200E_206E_206A_202A_202B_202C_202C_200D_206B_200B_206A_200D_206E_202C_206C_200B_202D_206C_200E_200E_206F_200D_202D_202E(JsonWriter P_0) - { - P_0.WriteNull(); - } - - static JObject _202A_202B_202E_206A_202D_200C_206E_200C_202E_200B_206E_206A_206E_206C_206D_206A_206B_200D_206B_202B_202D_202A_202D_202D_206B_206A_202D_202B_206D_202B_206D_202A_202D_202E_202E_200E_202D_200D_202E_206A_202E() - { - return new JObject(); - } - - static JToken _206B_202A_206F_200D_202E_202A_202B_200B_202D_206A_206B_200B_206A_202A_202C_206C_206C_200B_206E_202D_200D_202C_200F_206C_206F_206B_206A_206E_206C_206A_200C_202E_202E_206B_202A_206A_206D_202D_202D_206F_202E(string P_0) - { - return P_0; - } - - static void _202C_200D_202D_206A_200C_200F_206B_202B_206F_200D_200D_200C_202E_200E_206E_206F_202B_202E_200F_202E_202E_200D_202C_202C_206C_206B_202C_202B_206A_200D_206C_206F_202C_202D_206A_206A_206D_200E_202C_202E(JObject P_0, string P_1, JToken P_2) - { - P_0[P_1] = P_2; - } - - static JToken _202C_200E_202B_206A_202B_206A_206E_206E_202C_200E_202C_202A_206A_206C_206F_202A_200E_202D_200C_200E_200D_202C_206F_202D_206A_202C_200F_200B_202C_202E_200D_202A_202B_206D_206D_202B_202E_200F_202D_200E_202E(int P_0) - { - return P_0; - } - - static string _200D_206A_206B_206D_206B_202D_202B_206F_206C_200F_202D_200C_202B_202A_200B_206E_206F_200B_206B_206C_206D_200D_200D_206F_206C_206F_200E_200B_200C_202E_206D_206D_200E_202B_202D_202C_200B_200C_206C_202E(object P_0) - { - return P_0.ToString(); - } - - static JToken _202E_206B_200F_202D_202A_200B_202C_202B_200E_202E_206D_202A_206E_206A_206E_206A_206D_206B_206E_206E_200F_206E_206F_202B_202C_206D_202D_206B_206E_202A_202A_206F_206E_202B_200D_200B_202D_206F_202A_202E_202E(int? P_0) - { - return P_0; - } - - static void _200F_206E_200B_206B_200B_200F_200B_200F_206F_206A_206D_200F_206F_202A_202E_202B_202C_202B_206B_200E_200B_206F_202D_200B_206E_206A_206C_200B_200E_202A_202A_200D_202E_206B_200B_206B_200E_206F_200B_200F_202E(JToken P_0, JsonWriter P_1) - { - P_0.WriteTo(P_1); - } - - static bool _200C_202C_200F_202B_202B_206A_200C_202B_206A_202D_202B_206B_202B_202D_202D_202C_200C_206F_202D_206D_202B_202B_202E_200F_202E_202A_206F_206A_202B_200C_202E_202A_206C_202D_206C_206F_206F_202E_206E_202D_202E(string P_0, ref ElementId P_1) - { - return ElementId.TryFromString(P_0, out P_1); + if (!ElementId.TryFromString(text, out ElementId elementId)) + { + return null; + } + return elementId; } } diff --git a/Questionable/Questionable.Controller.Conditions/TimePlayedCondition.cs b/Questionable/Questionable.Controller.Conditions/TimePlayedCondition.cs index 0fca105..c0b51b9 100644 --- a/Questionable/Questionable.Controller.Conditions/TimePlayedCondition.cs +++ b/Questionable/Questionable.Controller.Conditions/TimePlayedCondition.cs @@ -1,5 +1,4 @@ using System; -using System.Runtime.CompilerServices; namespace Questionable.Controller.Conditions; @@ -16,12 +15,8 @@ internal sealed class TimePlayedCondition : StopCondition return context.ElapsedSinceStart >= TimeSpan.FromMinutes(Minutes); } - [MethodImpl(MethodImplOptions.NoInlining)] public override string GetDescription() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(8, 1); - defaultInterpolatedStringHandler.AppendFormatted(Minutes); - defaultInterpolatedStringHandler.AppendLiteral(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(-470345411)); - return defaultInterpolatedStringHandler.ToStringAndClear(); + return $"{Minutes} minutes"; } } diff --git a/Questionable/Questionable.Controller.CustomDelivery/CustomDeliveryNpc.cs b/Questionable/Questionable.Controller.CustomDelivery/CustomDeliveryNpc.cs new file mode 100644 index 0000000..dd664cc --- /dev/null +++ b/Questionable/Questionable.Controller.CustomDelivery/CustomDeliveryNpc.cs @@ -0,0 +1,6 @@ +using Questionable.Model; +using Questionable.Model.Questing; + +namespace Questionable.Controller.CustomDelivery; + +internal sealed record CustomDeliveryNpc(int NpcIndex, ushort NpcRowId, string Name, ushort Level, EExpansionVersion Expansion, QuestId UnlockQuestId); diff --git a/Questionable/Questionable.Controller.CustomDelivery/CustomDeliveryNpcData.cs b/Questionable/Questionable.Controller.CustomDelivery/CustomDeliveryNpcData.cs new file mode 100644 index 0000000..4bdf7fc --- /dev/null +++ b/Questionable/Questionable.Controller.CustomDelivery/CustomDeliveryNpcData.cs @@ -0,0 +1,31 @@ +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; +using System.Linq; +using Dalamud.Plugin.Services; +using Lumina.Excel.Sheets; +using Questionable.Model; +using Questionable.Model.Questing; + +namespace Questionable.Controller.CustomDelivery; + +internal sealed class CustomDeliveryNpcData +{ + private readonly List _npcs; + + private readonly Dictionary _npcsByRowId; + + public IReadOnlyList AllNpcs => _npcs; + + public CustomDeliveryNpcData(IDataManager dataManager) + { + _npcs = (from x in dataManager.GetExcelSheet() + where x.RowId != 0 && x.Npc.RowId != 0 + select new CustomDeliveryNpc((int)(x.RowId - 1), (ushort)x.RowId, x.Npc.Value.Singular.ToString(), x.LevelUnlock, (EExpansionVersion)x.QuestRequired.Value.Expansion.RowId, QuestId.FromRowId(x.QuestRequired.RowId))).ToList(); + _npcsByRowId = _npcs.ToDictionary((CustomDeliveryNpc x) => x.NpcRowId); + } + + public bool TryGetByRowId(ushort npcRowId, [NotNullWhen(true)] out CustomDeliveryNpc? npc) + { + return _npcsByRowId.TryGetValue(npcRowId, out npc); + } +} diff --git a/Questionable/Questionable.Controller.CustomDelivery/DeliveryNpcApproachExecutor.cs b/Questionable/Questionable.Controller.CustomDelivery/DeliveryNpcApproachExecutor.cs index 0099145..67c1dd6 100644 --- a/Questionable/Questionable.Controller.CustomDelivery/DeliveryNpcApproachExecutor.cs +++ b/Questionable/Questionable.Controller.CustomDelivery/DeliveryNpcApproachExecutor.cs @@ -1,8 +1,6 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; using Dalamud.Game.ClientState.Objects.SubKinds; @@ -34,276 +32,116 @@ internal sealed class DeliveryNpcApproachExecutor(NavmeshIpc navmeshIpc, Movemen private Vector3 _npcPosition; - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { _candidates.Clear(); _candidateIndex = 0; _moving = false; _pathfindTask = null; - _cancellationTokenSource = _202C_206C_202B_200E_200E_206D_202D_202C_200E_206F_206A_202B_202B_202A_206B_206A_206E_206B_200E_200F_206A_206B_200B_200D_206A_206D_200E_206C_200D_202D_202E_202B_202B_202A_200F_200F_200D_200F_202A_202A_202E(TimeSpan.FromSeconds(30L)); - IPlayerCharacter playerCharacter = _206D_202C_200D_202A_206B_202B_206F_202C_206A_200B_206F_200F_200E_202A_200F_202B_202A_206E_200E_206D_202A_200B_206C_202D_206E_206F_206E_206C_206F_202C_206F_202B_202A_200B_200E_202D_206A_206D_202E_206C_202E(objectTable); + _cancellationTokenSource = new CancellationTokenSource(TimeSpan.FromSeconds(30L)); + IPlayerCharacter localPlayer = objectTable.LocalPlayer; IGameObject gameObject = gameFunctions.FindObjectByDataId(base.Task.NpcDataId, null, warnIfMissing: false); - _npcPosition = ((gameObject != null) ? _200E_200C_200C_200B_202B_202D_206F_200F_202A_206A_206E_206F_206F_206E_202A_206B_206C_202B_206B_202B_206C_202E_206A_206A_206C_202B_206E_202A_206D_206A_202E_200B_200F_202E_200F_206C_200E_202D_200C_202A_202E(gameObject) : base.Task.NpcPosition); - _interactionDistance = 3f + ((gameObject != null) ? _200B_200D_202E_206D_206E_200F_200E_200B_206D_202D_202C_200E_200E_200B_206D_200E_200C_202B_206E_202E_202B_202A_202A_206D_206A_206B_206C_200B_206F_206A_202B_202B_202C_206B_200E_202A_206D_206A_200C_202B_202E(gameObject) : 0f) + ((playerCharacter != null) ? _200B_200D_202E_206D_206E_200F_200E_200B_206D_202D_202C_200E_200E_200B_206D_200E_200C_202B_206E_202E_202B_202A_202A_206D_206A_206B_206C_200B_206F_206A_202B_202B_202C_206B_200E_202A_206D_206A_200C_202B_202E((IGameObject)playerCharacter) : 0f); - int num = ((playerCharacter == null) ? (-965250056) : (-965250059)); - int num5 = default(int); - Vector3? pointOnFloor = default(Vector3?); - float num6 = default(float); - float num7 = default(float); - while (true) + _npcPosition = gameObject?.Position ?? base.Task.NpcPosition; + _interactionDistance = 3f + (gameObject?.HitboxRadius ?? 0f) + (localPlayer?.HitboxRadius ?? 0f); + if (localPlayer == null || clientState.TerritoryType != base.Task.TerritoryId) { - int num2 = num; - int num3 = -965250056; - int num4 = num2; - int num14; - int num15; - float num16; - Vector3 position; - switch ((num4 | num3) - (num4 & num3)) + return true; + } + float num = MathF.Atan2(localPlayer.Position.X - _npcPosition.X, localPlayer.Position.Z - _npcPosition.Z); + float num2 = MathF.Max(1f, _interactionDistance - 0.5f); + for (int i = 0; i < 24; i++) + { + int num3 = ((i != 0) ? ((i + 1) / 2 * ((i % 2 == 1) ? 1 : (-1))) : 0); + float x = num + (float)Math.PI * 2f * (float)num3 / 24f; + Vector3 position = new Vector3(_npcPosition.X + MathF.Sin(x) * num2, _npcPosition.Y + 5f, _npcPosition.Z + MathF.Cos(x) * num2); + Vector3? pointOnFloor = navmeshIpc.GetPointOnFloor(position, unlandable: false, 0.75f); + if (pointOnFloor.HasValue && Vector2.Distance(new Vector2(pointOnFloor.Value.X, pointOnFloor.Value.Z), new Vector2(_npcPosition.X, _npcPosition.Z)) <= _interactionDistance && HasLineOfSight(pointOnFloor.Value, _npcPosition) && HasBodyClearance(pointOnFloor.Value, localPlayer.HitboxRadius + 0.5f)) { - case 7: - _202A_200F_206B_200E_200D_206D_206F_206F_200D_206A_206A_202C_206C_206A_202C_206F_206A_202D_200B_206E_206D_202D_202C_206E_202E_200E_200B_206E_202B_206D_202E_200B_200D_206B_206E_206D_206E_200B_206B_202D_202E((ILogger)logger, 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(90792700), new object[3] - { - _candidates.Count, - base.Task.NpcDataId, - _interactionDistance - }); - StartNextPathfind(); - return true; - case 12: - num = ((num5 == 0) ? (-965250052) : (-965250055)); - break; - case 4: - num14 = 0; - goto IL_01a9; - case 9: - num = ((!(Vector2.Distance(new Vector2(pointOnFloor.Value.X, pointOnFloor.Value.Z), new Vector2(_npcPosition.X, _npcPosition.Z)) <= _interactionDistance)) ? (-965250064) : (-965250051)); - break; - case 13: - num = ((_200C_202B_200C_206A_206D_206A_202E_202B_206A_200F_200F_200F_202A_206F_206D_202B_200B_202C_200F_200D_206B_206D_200B_202E_202A_202A_202C_200C_206F_202E_200C_200F_202B_200D_200D_202C_202E_202E_200D_206A_202E(clientState) == base.Task.TerritoryId) ? (-965250054) : (-965250056)); - break; - case 5: - num = ((!HasLineOfSight(pointOnFloor.Value, _npcPosition)) ? (-965250064) : (-965250061)); - break; - case 0: - return true; - case 1: - { - int num11 = num5; - num3 = 1; - num4 = num11; - int num12 = num4 ^ num3; - int num13 = num4 & num3; - num14 = (num12 + (num13 + num13)) / 2 * ((num5 % 2 == 1) ? 1 : (-1)); - goto IL_01a9; - } - case 10: - num = ((num5 < 24) ? (-965250060) : (-965250049)); - break; - case 8: - { - int num8 = num5; - num3 = 1; - num4 = num8; - int num9 = num4 ^ num3; - int num10 = num4 & num3; - num5 = num9 + (num10 + num10); - num = -965250062; - break; - } - case 3: - num = -965250059; - break; - case 2: - num6 = _200E_200F_200D_206C_206A_202C_206B_206F_202B_202C_200E_200D_206A_200E_206D_200B_200B_202A_206E_202A_202D_202E_206B_200C_200B_206A_200B_200C_206E_200B_200D_206D_200C_202B_206F_200F_200B_202B_200C_200E_202E(_200E_200C_200C_200B_202B_202D_206F_200F_202A_206A_206E_206F_206F_206E_202A_206B_206C_202B_206B_202B_206C_202E_206A_206A_206C_202B_206E_202A_206D_206A_202E_200B_200F_202E_200F_206C_200E_202D_200C_202A_202E((IGameObject)playerCharacter).X - _npcPosition.X, _200E_200C_200C_200B_202B_202D_206F_200F_202A_206A_206E_206F_206F_206E_202A_206B_206C_202B_206B_202B_206C_202E_206A_206A_206C_202B_206E_202A_206D_206A_202E_200B_200F_202E_200F_206C_200E_202D_200C_202A_202E((IGameObject)playerCharacter).Z - _npcPosition.Z); - num7 = _202B_200F_200E_206C_200E_206B_202C_202D_200B_200C_202A_206C_200F_200B_200D_200C_200B_206E_206D_202C_202D_200E_200D_202C_202A_206F_200B_200C_202B_206E_200B_202B_200F_206B_206A_200B_206E_202A_206D_206F_202E(1f, _interactionDistance - 0.5f); - num5 = 0; - num = -965250062; - break; - case 11: - num = ((!HasBodyClearance(pointOnFloor.Value, _200B_200D_202E_206D_206E_200F_200E_200B_206D_202D_202C_200E_200E_200B_206D_200E_200C_202B_206E_202E_202B_202A_202A_206D_206A_206B_206C_200B_206F_206A_202B_202B_202C_206B_200E_202A_206D_206A_200C_202B_202E((IGameObject)playerCharacter) + 0.5f)) ? (-965250064) : (-965250050)); - break; - case 6: - { - _candidates.Add(pointOnFloor.Value); - num = -965250064; - break; - } - IL_01a9: - num15 = num14; - num16 = num6 + MathF.PI * 2f * (float)num15 / 24f; - position = new Vector3(_npcPosition.X + _202B_202D_206B_200B_200B_200B_202A_206A_202B_206F_202B_206F_206F_206D_206B_200C_206D_202A_206B_202D_200C_206B_206C_206F_206D_206B_202E_202A_202D_206A_206E_206F_200D_202C_200F_202A_206F_200D_206A_202E_202E(num16) * num7, _npcPosition.Y + 5f, _npcPosition.Z + _200B_202E_202E_206A_202B_202B_202A_200E_206A_202E_202D_200B_200C_202D_202D_202E_202C_200C_206C_200E_200F_206D_200D_200B_200C_202A_200B_206E_206E_202C_202D_202A_200B_202C_206C_206C_202C_202E_206D_202E_202E(num16) * num7); - pointOnFloor = navmeshIpc.GetPointOnFloor(position, unlandable: false, 0.75f); - num = ((!pointOnFloor.HasValue) ? (-965250064) : (-965250063)); - break; + _candidates.Add(pointOnFloor.Value); } } + logger.LogDebug("Searching {CandidateCount} reachable approaches to delivery NPC {DataId} within {Distance:F1}y", _candidates.Count, base.Task.NpcDataId, _interactionDistance); + StartNextPathfind(); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - int num = ((!_moving) ? (-1907182923) : (-1907182931)); - Vector3 vector = default(Vector3); - NavPathfindResult result = default(NavPathfindResult); - IPlayerCharacter playerCharacter = default(IPlayerCharacter); - float num6 = default(float); - IPlayerCharacter playerCharacter2 = default(IPlayerCharacter); - while (true) + if (_moving) { - int num2 = num; - int num3 = -1907182938; - int num4 = num2; - float num5; - switch ((num4 | num3) - (num4 & num3)) + if (movementController.IsPathfinding || movementController.IsPathRunning) { - case 17: - { - List candidates = _candidates; - int candidateIndex = _candidateIndex; - num3 = 1; - num4 = candidateIndex; - vector = candidates[~(~num4 + num3)]; - result = _pathfindTask.Result; - num = (result.HasPartialInfo ? (-1907182936) : (-1907182924)); - break; + return ETaskResult.StillRunning; } - case 16: - num = ((_candidateIndex < _candidates.Count) ? (-1907182927) : (-1907182930)); - break; - case 19: - num = ((_pathfindTask != null) ? (-1907182940) : (-1907182922)); - break; - case 8: - throw new MovementController.PathfindingFailedException(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(1585195763)); - case 6: - num = ((!movementController.IsPathRunning) ? (-1907182925) : (-1907182941)); - break; - case 29: - num = ((!_202C_202E_202A_200B_206B_200F_200F_206E_202A_206B_202A_206A_202C_202A_200C_206A_202A_200C_200D_200C_202A_206E_206A_200D_206C_206E_206C_202C_202C_206E_206C_200D_202A_206D_202C_206A_202D_202C_202C_200E_202E((System.Threading.Tasks.Task)_pathfindTask)) ? (-1907182937) : (-1907182928)); - break; - case 7: - _202A_200F_206B_200E_200D_206D_206F_206F_200D_206A_206A_202C_206C_206A_202C_206F_206A_202D_200B_206E_206D_202D_202C_206E_202E_200E_200B_206E_202B_206D_202E_200B_200D_206B_206E_206D_206E_200B_206B_202D_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(190605907), new object[1] { vector }); - movementController.NavigateTo(EMovementType.Quest, base.Task.NpcDataId, result.Waypoints, fly: false, sprint: true, 0.5f); - _moving = true; - return ETaskResult.StillRunning; - case 24: - num = (result.IsPartial ? (-1907182929) : (-1907182933)); - break; - case 20: - throw new MovementController.PathfindingFailedException(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1442579003)); - case 2: - num = (_200F_200F_202B_206F_206E_202E_206A_206B_202B_200D_200F_200F_202A_206E_206A_200F_200E_200D_206B_202E_206E_206D_206B_202E_206C_200C_200E_202B_202E_200B_200F_202D_200B_200E_200E_206B_202B_200C_206E_206D_202E((System.Threading.Tasks.Task)_pathfindTask) ? (-1907182917) : (-1907182913)); - break; - case 22: - throw new MovementController.PathfindingFailedException(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(688174064)); - case 27: - num = ((playerCharacter == null) ? (-1907182929) : (-1907182942)); - break; - case 14: - num5 = result.EndDistance; - goto IL_02ae; - case 23: - StartNextPathfind(); - return ETaskResult.StillRunning; - case 11: - num = (movementController.IsPathfinding ? (-1907182941) : (-1907182944)); - break; - case 1: - num = ((!_202E_202B_206F_200E_200D_206D_206B_206F_206B_200B_206F_206F_200D_200D_200C_200F_200C_206F_200D_200B_200C_202D_206D_202D_206A_200D_206D_206B_206E_202E_206C_202C_206B_202E_200E_200F_202E_200D_206F_206B_202E((System.Threading.Tasks.Task)_pathfindTask)) ? (-1907182921) : (-1907182939)); - break; - case 0: - num = -1907182931; - break; - case 12: - num = ((!result.HasPartialInfo) ? (-1907182933) : (-1907182914)); - break; - case 13: - num = ((!(num6 <= 1f)) ? (-1907182929) : (-1907182915)); - break; - case 15: + IPlayerCharacter localPlayer = objectTable.LocalPlayer; + if (localPlayer != null && Vector3.Distance(localPlayer.Position, _npcPosition) <= _interactionDistance + 0.5f) + { + return ETaskResult.TaskComplete; + } + throw new MovementController.PathfindingFailedException("Delivery NPC approach ended outside interaction range"); + } + if (_pathfindTask == null) + { + if (_candidateIndex >= _candidates.Count) + { + throw new MovementController.PathfindingFailedException("No reachable approach within delivery NPC interaction range"); + } + StartNextPathfind(); + return ETaskResult.StillRunning; + } + if (!_pathfindTask.IsCompleted) + { + return ETaskResult.StillRunning; + } + if (_pathfindTask.IsCanceled) + { + throw new MovementController.PathfindingFailedException("Delivery NPC approach search timed out"); + } + if (_pathfindTask.IsFaulted) + { + logger.LogDebug(_pathfindTask.Exception, "Delivery NPC approach candidate pathfinding failed"); + _pathfindTask = null; + return ETaskResult.StillRunning; + } + Vector3 vector = _candidates[_candidateIndex - 1]; + NavPathfindResult result = _pathfindTask.Result; + float num; + if (!result.HasPartialInfo) + { + if (result.Waypoints.Count <= 0) + { + num = float.MaxValue; + } + else { List waypoints = result.Waypoints; - num5 = Vector3.Distance(waypoints[waypoints.Count - 1], vector); - goto IL_02ae; - } - case 21: - playerCharacter2 = _206D_202C_200D_202A_206B_202B_206F_202C_206A_200B_206F_200F_200E_202A_200F_202B_202A_206E_200E_206D_202A_200B_206C_202D_206E_206F_206E_206C_206F_202C_206F_202B_202A_200B_200E_202D_206A_206D_202E_206C_202E(objectTable); - num = ((playerCharacter2 == null) ? (-1907182926) : (-1907182918)); - break; - case 3: - _200E_206D_206E_206A_200C_202B_206B_202D_206B_200C_200D_202C_206A_206B_200F_206C_200D_200F_206B_202B_206E_202E_206B_202A_200C_206F_206A_206D_200E_200F_202D_202E_206E_206B_202D_200B_202C_202D_202B_200E_202E((ILogger)logger, (Exception)_206B_206A_200F_206E_202E_206D_200C_202A_200E_202A_202A_206F_206C_200B_202C_202E_206A_202C_202B_200D_200C_206D_200E_202C_206E_202B_206B_202C_202E_200C_200D_206E_206A_200D_200E_206B_200E_202A_206D_200D_202E((System.Threading.Tasks.Task)_pathfindTask), 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(-1595020908), Array.Empty()); - _pathfindTask = null; - return ETaskResult.StillRunning; - case 28: - num = ((!(Vector3.Distance(_200E_200C_200C_200B_202B_202D_206F_200F_202A_206A_206E_206F_206F_206E_202A_206B_206C_202B_206B_202B_206C_202E_206A_206A_206C_202B_206E_202A_206D_206A_202E_200B_200F_202E_200F_206C_200E_202D_200C_202A_202E((IGameObject)playerCharacter2), _npcPosition) <= _interactionDistance + 0.5f)) ? (-1907182926) : (-1907182916)); - break; - case 25: - return ETaskResult.StillRunning; - case 26: - return ETaskResult.TaskComplete; - case 18: - num = ((result.Waypoints.Count > 0) ? (-1907182935) : (-1907182932)); - break; - case 10: - num5 = float.MaxValue; - goto IL_02ae; - case 9: - _pathfindTask = null; - return ETaskResult.StillRunning; - case 4: - num = ((!HasCollisionFreePath(_200E_200C_200C_200B_202B_202D_206F_200F_202A_206A_206E_206F_206F_206E_202A_206B_206C_202B_206B_202B_206C_202E_206A_206A_206C_202B_206E_202A_206D_206A_202E_200B_200F_202E_200F_206C_200E_202D_200C_202A_202E((IGameObject)playerCharacter), result.Waypoints)) ? (-1907182929) : (-1907182943)); - break; - case 5: - { - return ETaskResult.StillRunning; - } - IL_02ae: - num6 = num5; - playerCharacter = _206D_202C_200D_202A_206B_202B_206F_202C_206A_200B_206F_200F_200E_202A_200F_202B_202A_206E_200E_206D_202A_200B_206C_202D_206E_206F_206E_206C_206F_202C_206F_202B_202A_200B_200E_202D_206A_206D_202E_206C_202E(objectTable); - num = ((result.Waypoints.Count <= 0) ? (-1907182929) : (-1907182934)); - break; + num = Vector3.Distance(waypoints[waypoints.Count - 1], vector); } } + else + { + num = result.EndDistance; + } + float num2 = num; + IPlayerCharacter localPlayer2 = objectTable.LocalPlayer; + if (result.Waypoints.Count > 0 && (!result.HasPartialInfo || !result.IsPartial) && num2 <= 1f && localPlayer2 != null && HasCollisionFreePath(localPlayer2.Position, result.Waypoints)) + { + logger.LogDebug("Selected reachable delivery NPC approach {Approach}", vector); + movementController.NavigateTo(EMovementType.Quest, base.Task.NpcDataId, result.Waypoints, fly: false, sprint: true, 0.5f); + _moving = true; + return ETaskResult.StillRunning; + } + _pathfindTask = null; + return ETaskResult.StillRunning; } private void StartNextPathfind() { - IPlayerCharacter playerCharacter = _206D_202C_200D_202A_206B_202B_206F_202C_206A_200B_206F_200F_200E_202A_200F_202B_202A_206E_200E_206D_202A_200B_206C_202D_206E_206F_206E_206C_206F_202C_206F_202B_202A_200B_200E_202D_206A_206D_202E_206C_202E(objectTable); - int num = ((playerCharacter == null) ? 461991521 : 461991527); - while (true) + IPlayerCharacter localPlayer = objectTable.LocalPlayer; + if (localPlayer != null && _candidateIndex < _candidates.Count && _cancellationTokenSource != null) { - int num2 = num; - int num3 = 461991523; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - num = ((_cancellationTokenSource != null) ? 461991520 : 461991521); - break; - case 4: - num = ((_candidateIndex >= _candidates.Count) ? 461991521 : 461991522); - break; - case 2: - return; - case 0: - num = 461991527; - break; - case 3: - { - List candidates = _candidates; - int candidateIndex = _candidateIndex; - num3 = 1; - num4 = candidateIndex; - int num5 = num4 ^ num3; - int num6 = num4 & num3; - _candidateIndex = num5 + (num6 + num6); - Vector3 targetPosition = candidates[candidateIndex]; - _pathfindTask = navmeshIpc.Pathfind(_200E_200C_200C_200B_202B_202D_206F_200F_202A_206A_206E_206F_206F_206E_202A_206B_206C_202B_206B_202B_206C_202E_206A_206A_206C_202B_206E_202A_206D_206A_202E_200B_200F_202E_200F_206C_200E_202D_200C_202A_202E((IGameObject)playerCharacter), targetPosition, fly: false, _202E_206E_200F_206F_200D_200C_206D_202A_200C_200D_202C_200F_202D_206F_206D_206F_206E_200D_206E_202C_200C_206E_200C_206F_206B_206B_200D_200C_200F_200D_202E_206E_202A_206F_202D_202C_206D_200C_206F_200D_202E(_cancellationTokenSource)); - return; - } - } + Vector3 targetPosition = _candidates[_candidateIndex++]; + _pathfindTask = navmeshIpc.Pathfind(localPlayer.Position, targetPosition, fly: false, _cancellationTokenSource.Token); } } @@ -314,114 +152,27 @@ internal sealed class DeliveryNpcApproachExecutor(NavmeshIpc navmeshIpc, Movemen private static bool HasBodyClearance(Vector3 position, float radius) { - int num = 0; - int num2 = 883120263; - while (true) + for (int i = 0; i < 8; i++) { - int num3 = num2; - int num4 = 883120261; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) + float x = (float)Math.PI * 2f * (float)i / 8f; + if (!HasLineOfSightAtHeight(to: new Vector3(position.X + MathF.Sin(x) * radius, position.Y, position.Z + MathF.Cos(x) * radius), from: position, height: 1f)) { - case 4: - num2 = 883120263; - break; - case 0: return false; - case 1: - return true; - case 2: - num2 = ((num < 8) ? 883120262 : 883120260); - break; - case 5: - { - int num9 = num; - num4 = 1; - num5 = num9; - num = (num5 | num4) + (num5 & num4); - num2 = 883120263; - break; - } - case 3: - { - float num8 = MathF.PI * 2f * (float)num / 8f; - num2 = (HasLineOfSightAtHeight(to: new Vector3(position.X + _202B_202D_206B_200B_200B_200B_202A_206A_202B_206F_202B_206F_206F_206D_206B_200C_206D_202A_206B_202D_200C_206B_206C_206F_206D_206B_202E_202A_202D_206A_206E_206F_200D_202C_200F_202A_206F_200D_206A_202E_202E(num8) * radius, position.Y, position.Z + _200B_202E_202E_206A_202B_202B_202A_200E_206A_202E_202D_200B_200C_202D_202D_202E_202C_200C_206C_200E_200F_206D_200D_200B_200C_202A_200B_206E_206E_202C_202D_202A_200B_202C_206C_206C_202C_202E_206D_202E_202E(num8) * radius), from: position, height: 1f) ? 883120256 : 883120261); - break; - } } } + return true; } private static bool HasCollisionFreePath(Vector3 start, IReadOnlyList waypoints) { Vector3 vector = start; - IEnumerator enumerator = waypoints.GetEnumerator(); - try + foreach (Vector3 waypoint in waypoints) { - int num = -1337017310; - Vector3 current = default(Vector3); - while (true) + if (!HasLineOfSightAtHeight(vector, waypoint, 0.75f) || !HasLineOfSightAtHeight(vector, waypoint, 1.5f)) { - int num2 = num; - int num3 = -1337017311; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - num = -1337017310; - break; - case 4: - return false; - case 1: - current = enumerator.Current; - num = ((!HasLineOfSightAtHeight(vector, current, 0.75f)) ? (-1337017307) : (-1337017309)); - break; - case 2: - num = (HasLineOfSightAtHeight(vector, current, 1.5f) ? (-1337017311) : (-1337017307)); - break; - case 3: - num = (_206D_202B_202E_200E_202C_206A_200E_200B_206E_202E_206F_206A_200C_206D_200B_206E_200F_202D_202C_206D_200D_206F_202A_200C_206D_200B_202E_200D_206A_206B_202D_202A_202A_206F_202D_200C_202C_206A_200B_200D_202E((IEnumerator)enumerator) ? (-1337017312) : (-1337017308)); - break; - case 0: - vector = current; - num = -1337017310; - break; - case 5: - goto end_IL_0015; - } - continue; - end_IL_0015: - break; - } - } - finally - { - int num = ((enumerator == null) ? (-1236481576) : (-1236481575)); - while (true) - { - int num5 = num; - int num3 = -1236481576; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 2: - num = -1236481575; - break; - case 0: - goto end_IL_011d; - case 1: - _200F_200B_206B_200E_202D_202A_202C_200F_202B_206E_200D_200B_206D_206C_202C_206F_202D_200C_206F_202D_202A_202D_206F_202E_206B_206F_200B_202D_200B_200D_200E_202A_200F_200E_200E_200E_200F_206F_206E_206E_202E((IDisposable)enumerator); - num = -1236481576; - break; - } - continue; - end_IL_011d: - break; + return false; } + vector = waypoint; } return true; } @@ -429,175 +180,37 @@ internal sealed class DeliveryNpcApproachExecutor(NavmeshIpc navmeshIpc, Movemen private unsafe static bool HasLineOfSightAtHeight(Vector3 from, Vector3 to, float height) { Framework* ptr = Framework.Instance(); - int num = ((ptr == null) ? (-2105382518) : (-2105382517)); - Vector3 vector = default(Vector3); - float num7 = default(float); - RaycastHit raycastHit = default(RaycastHit); - while (true) + if (ptr == null || ptr->BGCollisionModule == null) { - int num2 = num; - int num3 = -2105382513; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - return true; - case 1: - return true; - case 3: - { - Vector3 vector2 = vector / num7; - int* flags = stackalloc int[4] { 16384, 0, 16384, 0 }; - return !ptr->BGCollisionModule->RaycastMaterialFilter(&raycastHit, &from, &vector2, num7, 1, flags); - } - case 0: - num = -2105382517; - break; - case 4: - num = ((ptr->BGCollisionModule != null) ? (-2105382515) : (-2105382518)); - break; - case 2: - from.Y += height; - to.Y += height; - vector = to - from; - num7 = vector.Length(); - num = ((!(num7 < 0.1f)) ? (-2105382516) : (-2105382514)); - break; - } + return true; } + from.Y += height; + to.Y += height; + Vector3 vector = to - from; + float num = vector.Length(); + if (num < 0.1f) + { + return true; + } + Vector3 vector2 = vector / num; + int* flags = stackalloc int[4] { 16384, 0, 16384, 0 }; + RaycastHit raycastHit = default(RaycastHit); + return !ptr->BGCollisionModule->RaycastMaterialFilter(&raycastHit, &from, &vector2, num, 1, flags); } public void StopNow() { - CancellationTokenSource? cancellationTokenSource = _cancellationTokenSource; - if (cancellationTokenSource != null) - { - _200B_206A_202A_202E_200F_206E_206D_200F_206D_206C_206E_202E_200F_206A_202A_206A_206E_200F_202A_206F_206A_206F_202A_206D_200E_200B_202A_200E_206C_202E_202B_206F_206D_206C_206C_200E_206F_200C_202D_202D_202E(cancellationTokenSource); - } + _cancellationTokenSource?.Cancel(); movementController.Stop(); } - void IStoppableTaskExecutor.StopNow() - { - //ILSpy generated this explicit interface implementation from .override directive in StopNow - this.StopNow(); - } - public void Dispose() { - ((DeliveryNpcApproachExecutor)(object)_cancellationTokenSource)?._206B_200B_202D_206F_206A_206E_202D_202A_206A_206E_206B_206B_200B_202B_202E_206C_202E_200B_200C_200C_200F_206A_200F_206C_206B_200C_206C_206C_200B_202D_206C_202C_206E_202A_200C_200F_206A_206F_206B_206F_202E(); - } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); + _cancellationTokenSource?.Dispose(); } public override bool ShouldInterruptOnDamage() { return false; } - - static CancellationTokenSource _202C_206C_202B_200E_200E_206D_202D_202C_200E_206F_206A_202B_202B_202A_206B_206A_206E_206B_200E_200F_206A_206B_200B_200D_206A_206D_200E_206C_200D_202D_202E_202B_202B_202A_200F_200F_200D_200F_202A_202A_202E(TimeSpan P_0) - { - return new CancellationTokenSource(P_0); - } - - static IPlayerCharacter _206D_202C_200D_202A_206B_202B_206F_202C_206A_200B_206F_200F_200E_202A_200F_202B_202A_206E_200E_206D_202A_200B_206C_202D_206E_206F_206E_206C_206F_202C_206F_202B_202A_200B_200E_202D_206A_206D_202E_206C_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static Vector3 _200E_200C_200C_200B_202B_202D_206F_200F_202A_206A_206E_206F_206F_206E_202A_206B_206C_202B_206B_202B_206C_202E_206A_206A_206C_202B_206E_202A_206D_206A_202E_200B_200F_202E_200F_206C_200E_202D_200C_202A_202E(IGameObject P_0) - { - return P_0.Position; - } - - static float _200B_200D_202E_206D_206E_200F_200E_200B_206D_202D_202C_200E_200E_200B_206D_200E_200C_202B_206E_202E_202B_202A_202A_206D_206A_206B_206C_200B_206F_206A_202B_202B_202C_206B_200E_202A_206D_206A_200C_202B_202E(IGameObject P_0) - { - return P_0.HitboxRadius; - } - - static uint _200C_202B_200C_206A_206D_206A_202E_202B_206A_200F_200F_200F_202A_206F_206D_202B_200B_202C_200F_200D_206B_206D_200B_202E_202A_202A_202C_200C_206F_202E_200C_200F_202B_200D_200D_202C_202E_202E_200D_206A_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static float _200E_200F_200D_206C_206A_202C_206B_206F_202B_202C_200E_200D_206A_200E_206D_200B_200B_202A_206E_202A_202D_202E_206B_200C_200B_206A_200B_200C_206E_200B_200D_206D_200C_202B_206F_200F_200B_202B_200C_200E_202E(float P_0, float P_1) - { - return MathF.Atan2(P_0, P_1); - } - - static float _202B_200F_200E_206C_200E_206B_202C_202D_200B_200C_202A_206C_200F_200B_200D_200C_200B_206E_206D_202C_202D_200E_200D_202C_202A_206F_200B_200C_202B_206E_200B_202B_200F_206B_206A_200B_206E_202A_206D_206F_202E(float P_0, float P_1) - { - return MathF.Max(P_0, P_1); - } - - static float _202B_202D_206B_200B_200B_200B_202A_206A_202B_206F_202B_206F_206F_206D_206B_200C_206D_202A_206B_202D_200C_206B_206C_206F_206D_206B_202E_202A_202D_206A_206E_206F_200D_202C_200F_202A_206F_200D_206A_202E_202E(float P_0) - { - return MathF.Sin(P_0); - } - - static float _200B_202E_202E_206A_202B_202B_202A_200E_206A_202E_202D_200B_200C_202D_202D_202E_202C_200C_206C_200E_200F_206D_200D_200B_200C_202A_200B_206E_206E_202C_202D_202A_200B_202C_206C_206C_202C_202E_206D_202E_202E(float P_0) - { - return MathF.Cos(P_0); - } - - static void _202A_200F_206B_200E_200D_206D_206F_206F_200D_206A_206A_202C_206C_206A_202C_206F_206A_202D_200B_206E_206D_202D_202C_206E_202E_200E_200B_206E_202B_206D_202E_200B_200D_206B_206E_206D_206E_200B_206B_202D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _200F_200F_202B_206F_206E_202E_206A_206B_202B_200D_200F_200F_202A_206E_206A_200F_200E_200D_206B_202E_206E_206D_206B_202E_206C_200C_200E_202B_202E_200B_200F_202D_200B_200E_200E_206B_202B_200C_206E_206D_202E(System.Threading.Tasks.Task P_0) - { - return P_0.IsCompleted; - } - - static bool _202C_202E_202A_200B_206B_200F_200F_206E_202A_206B_202A_206A_202C_202A_200C_206A_202A_200C_200D_200C_202A_206E_206A_200D_206C_206E_206C_202C_202C_206E_206C_200D_202A_206D_202C_206A_202D_202C_202C_200E_202E(System.Threading.Tasks.Task P_0) - { - return P_0.IsCanceled; - } - - static bool _202E_202B_206F_200E_200D_206D_206B_206F_206B_200B_206F_206F_200D_200D_200C_200F_200C_206F_200D_200B_200C_202D_206D_202D_206A_200D_206D_206B_206E_202E_206C_202C_206B_202E_200E_200F_202E_200D_206F_206B_202E(System.Threading.Tasks.Task P_0) - { - return P_0.IsFaulted; - } - - static AggregateException _206B_206A_200F_206E_202E_206D_200C_202A_200E_202A_202A_206F_206C_200B_202C_202E_206A_202C_202B_200D_200C_206D_200E_202C_206E_202B_206B_202C_202E_200C_200D_206E_206A_200D_200E_206B_200E_202A_206D_200D_202E(System.Threading.Tasks.Task P_0) - { - return P_0.Exception; - } - - static void _200E_206D_206E_206A_200C_202B_206B_202D_206B_200C_200D_202C_206A_206B_200F_206C_200D_200F_206B_202B_206E_202E_206B_202A_200C_206F_206A_206D_200E_200F_202D_202E_206E_206B_202D_200B_202C_202D_202B_200E_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogDebug(P_1, P_2, P_3); - } - - static CancellationToken _202E_206E_200F_206F_200D_200C_206D_202A_200C_200D_202C_200F_202D_206F_206D_206F_206E_200D_206E_202C_200C_206E_200C_206F_206B_206B_200D_200C_200F_200D_202E_206E_202A_206F_202D_202C_206D_200C_206F_200D_202E(CancellationTokenSource P_0) - { - return P_0.Token; - } - - static bool _206D_202B_202E_200E_202C_206A_200E_200B_206E_202E_206F_206A_200C_206D_200B_206E_200F_202D_202C_206D_200D_206F_202A_200C_206D_200B_202E_200D_206A_206B_202D_202A_202A_206F_202D_200C_202C_206A_200B_200D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200F_200B_206B_200E_202D_202A_202C_200F_202B_206E_200D_200B_206D_206C_202C_206F_202D_200C_206F_202D_202A_202D_206F_202E_206B_206F_200B_202D_200B_200D_200E_202A_200F_200E_200E_200E_200F_206F_206E_206E_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _200B_206A_202A_202E_200F_206E_206D_200F_206D_206C_206E_202E_200F_206A_202A_206A_206E_200F_202A_206F_206A_206F_202A_206D_200E_200B_202A_200E_206C_202E_202B_206F_206D_206C_206C_200E_206F_200C_202D_202D_202E(CancellationTokenSource P_0) - { - P_0.Cancel(); - } - - void _206B_200B_202D_206F_206A_206E_202D_202A_206A_206E_206B_206B_200B_202B_202E_206C_202E_200B_200C_200C_200F_206A_200F_206C_206B_200C_206C_206C_200B_202D_206C_202C_206E_202A_200C_200F_206A_206F_206B_206F_202E() - { - ((CancellationTokenSource)(object)this).Dispose(); - } } diff --git a/Questionable/Questionable.Controller.CustomDelivery/DeliveryNpcApproachTask.cs b/Questionable/Questionable.Controller.CustomDelivery/DeliveryNpcApproachTask.cs index 54107db..b6143c2 100644 --- a/Questionable/Questionable.Controller.CustomDelivery/DeliveryNpcApproachTask.cs +++ b/Questionable/Questionable.Controller.CustomDelivery/DeliveryNpcApproachTask.cs @@ -1,109 +1,12 @@ -using System; -using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Questionable.Controller.Steps; namespace Questionable.Controller.CustomDelivery; internal sealed record DeliveryNpcApproachTask(ushort TerritoryId, Vector3 NpcPosition, uint NpcDataId) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202B_206C_200F_206B_200B_202D_200D_200F_200C_206C_202A_206C_200E_206B_206A_200F_202A_200F_202E_206D_206D_202A_200C_206C_200D_200C_200D_202A_202C_202D_206F_206C_202B_206F_200C_202E_202C_202E_202C_206E_202E(typeof(DeliveryNpcApproachTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(21, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(853725271)); - defaultInterpolatedStringHandler.AppendFormatted(NpcDataId); - defaultInterpolatedStringHandler.AppendLiteral(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(424561659)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202A_202A_202C_202E_206B_206A_200C_200E_206E_206A_200D_206C_200E_202D_206E_206E_200F_200E_202C_200E_202D_206F_200D_200D_200D_206E_200D_202D_206F_206E_206A_202A_206E_206C_206E_202C_202B_200C_202E_200C_202E(); - _202C_206E_200C_200D_202B_206D_206E_206A_200B_206C_202E_206F_202E_200C_206F_200C_206D_202C_206D_206E_206E_206B_202A_202E_206E_202D_200C_202E_202C_206F_200E_202A_206C_202A_206D_206B_202A_206A_200F_200C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2145374973)); - _202C_206E_200C_200D_202B_206D_206E_206A_200B_206C_202E_206F_202E_200C_206F_200C_206D_202C_206D_206E_206E_206B_202A_202E_206E_202D_200C_202E_202C_206F_200E_202A_206C_202A_206D_206B_202A_206A_200F_200C_202E(builder, TerritoryId.ToString()); - _202C_206E_200C_200D_202B_206D_206E_206A_200B_206C_202E_206F_202E_200C_206F_200C_206D_202C_206D_206E_206E_206B_202A_202E_206E_202D_200C_202E_202C_206F_200E_202A_206C_202A_206D_206B_202A_206A_200F_200C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1319777869)); - _202C_206E_200C_200D_202B_206D_206E_206A_200B_206C_202E_206F_202E_200C_206F_200C_206D_202C_206D_206E_206E_206B_202A_202E_206E_202D_200C_202E_202C_206F_200E_202A_206C_202A_206D_206B_202A_206A_200F_200C_202E(builder, NpcPosition.ToString()); - _202C_206E_200C_200D_202B_206D_206E_206A_200B_206C_202E_206F_202E_200C_206F_200C_206D_202C_206D_206E_206E_206B_202A_202E_206E_202D_200C_202E_202C_206F_200E_202A_206C_202A_206D_206B_202A_206A_200F_200C_202E(builder, 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(-323573035)); - _202C_206E_200C_200D_202B_206D_206E_206A_200B_206C_202E_206F_202E_200C_206F_200C_206D_202C_206D_206E_206E_206B_202A_202E_206E_202D_200C_202E_202C_206F_200E_202A_206C_202A_206D_206B_202A_206A_200F_200C_202E(builder, NpcDataId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(DeliveryNpcApproachTask? other) - { - int num = (((object)this == other) ? (-2005585280) : (-2005585273)); - while (true) - { - int num2 = num; - int num3 = -2005585274; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -2005585273; - break; - case 7: - num = ((!_200C_202D_202D_202D_200F_200C_200E_202E_200C_200E_206E_200E_200B_202E_206A_206A_202D_202D_200C_202E_200C_202D_206F_200E_202E_206D_200E_206A_202B_200F_200C_202A_206E_202B_206A_206A_200E_206A_200E_202B_202E(EqualityContract, other.EqualityContract)) ? (-2005585274) : (-2005585275)); - break; - case 1: - num = (((object)other == null) ? (-2005585274) : (-2005585279)); - break; - case 6: - return true; - case 5: - return EqualityComparer.Default.Equals(NpcDataId, other.NpcDataId); - case 0: - return false; - case 3: - num = ((!EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId)) ? (-2005585274) : (-2005585278)); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(NpcPosition, other.NpcPosition)) ? (-2005585274) : (-2005585277)); - break; - } - } - } - - bool IEquatable.Equals(DeliveryNpcApproachTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202B_206C_200F_206B_200B_202D_200D_200F_200C_206C_202A_206C_200E_206B_206A_200F_202A_200F_202E_206D_206D_202A_200C_206C_200D_200C_200D_202A_202C_202D_206F_206C_202B_206F_200C_202E_202C_202E_202C_206E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _202A_202A_202C_202E_206B_206A_200C_200E_206E_206A_200D_206C_200E_202D_206E_206E_200F_200E_202C_200E_202D_206F_200D_200D_200D_206E_200D_202D_206F_206E_206A_202A_206E_206C_206E_202C_202B_200C_202E_200C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202C_206E_200C_200D_202B_206D_206E_206A_200B_206C_202E_206F_202E_200C_206F_200C_206D_202C_206D_206E_206E_206B_202A_202E_206E_202D_200C_202E_202C_206F_200E_202A_206C_202A_206D_206B_202A_206A_200F_200C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _200C_202D_202D_202D_200F_200C_200E_202E_200C_200E_206E_200E_200B_202E_206A_206A_202D_202D_200C_202E_200C_202D_206F_200E_202E_206D_200E_206A_202B_200F_200C_202A_206E_202B_206A_206A_200E_206A_200E_202B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"ApproachDeliveryNpc({NpcDataId})"; } } diff --git a/Questionable/Questionable.Controller.CustomDelivery/DeliveryPlannerService.cs b/Questionable/Questionable.Controller.CustomDelivery/DeliveryPlannerService.cs index 96bd44b..5d1f65c 100644 --- a/Questionable/Questionable.Controller.CustomDelivery/DeliveryPlannerService.cs +++ b/Questionable/Questionable.Controller.CustomDelivery/DeliveryPlannerService.cs @@ -1,7 +1,5 @@ using System; -using System.Collections; using System.Collections.Generic; -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using LLib.GameData; @@ -38,622 +36,233 @@ internal sealed class DeliveryPlannerService _logger = logger; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe DeliveryPlan? CreatePlan(int npcIndex, EDeliverySlot slot) { - int num = (_200D_206E_202C_202A_202A_202E_202E_206C_200D_200C_200E_200C_206B_206C_200D_200B_206B_206D_206C_202E_202A_206C_206E_200D_200B_206C_200D_200F_206B_202A_202C_202D_206A_206B_206F_200B_200F_202E_200F_200D_202E() ? (-1888935827) : (-1888935840)); - uint rowId = default(uint); - SatisfactionSupply subrow = default(SatisfactionSupply); - Configuration.CustomDeliveryConfiguration.ECollectabilityTier collectabilityTier = default(Configuration.CustomDeliveryConfiguration.ECollectabilityTier); - int num20 = default(int); - int num21 = default(int); - int num30 = default(int); - SatisfactionSupplyActions.NpcState npcState = default(SatisfactionSupplyActions.NpcState); - uint supplyIndex = default(uint); - SatisfactionNpc row = default(SatisfactionNpc); - uint num28 = default(uint); - uint num29 = default(uint); - Configuration.AchievementGoal value = default(Configuration.AchievementGoal); - int num27 = default(int); - int num9 = default(int); - int num19 = default(int); - VendorResolverService.RecipeInfo? recipe = default(VendorResolverService.RecipeInfo?); - List list = default(List); - ushort num7 = default(ushort); - ushort num18 = default(ushort); - ushort levelUnlock = default(ushort); - int satisfactionRequired = default(int); - int num26 = default(int); - VendorResolverService.IngredientInfo current = default(VendorResolverService.IngredientInfo); - int num15 = default(int); - int count = default(int); - int num14 = default(int); - VendorResolverService.VendorInfo? vendor = default(VendorResolverService.VendorInfo?); - while (true) + if (!InventoryHelper.HasFreeInventorySlot()) { - int num2 = num; - int num3 = -1888935819; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + _logger.LogWarning("No free inventory slots, cannot plan custom delivery"); + return null; + } + if (!IsNpcUnlocked(npcIndex)) + { + _logger.LogDebug("NPC {NpcIndex} prerequisite quest not complete", npcIndex); + return null; + } + SatisfactionSupplyActions.NpcState npcState = SatisfactionSupplyActions.GetNpcState(npcIndex); + int remainingAllowances = SatisfactionSupplyActions.GetRemainingAllowances(); + uint supplySeed = SatisfactionSupplyActions.GetSupplySeed(); + if (npcState.Rank <= 0) + { + _logger.LogDebug("NPC {NpcIndex} is locked (rank {Rank})", npcIndex, npcState.Rank); + return null; + } + if (remainingAllowances <= 0) + { + _logger.LogDebug("No remaining weekly allowances"); + return null; + } + if (!_dataManager.GetExcelSheet().TryGetRow((uint)(npcIndex + 1), out var row)) + { + _logger.LogWarning("SatisfactionNpc row not found for index {NpcIndex}", npcIndex); + return null; + } + ushort levelUnlock = row.LevelUnlock; + if (!HasJobAtLevel(slot, levelUnlock)) + { + _logger.LogDebug("No job at level {Level} for slot {Slot}, NPC {NpcIndex}", levelUnlock, slot, npcIndex); + return null; + } + uint supplyIndex = (uint)row.SatisfactionNpcParams[npcState.Rank].SupplyIndex; + uint num = _supplyHelper.CalculateRequestedItems(supplyIndex, supplySeed)[(int)slot]; + if (num == uint.MaxValue) + { + _logger.LogDebug("No item predicted for NPC {NpcIndex} slot {Slot}", npcIndex, slot); + return null; + } + if (!_dataManager.GetSubrowExcelSheet().TryGetSubrow(supplyIndex, (ushort)num, out var subrow)) + { + _logger.LogWarning("SatisfactionSupply subrow ({SupplyIndex}, {SubrowIndex}) not found", supplyIndex, num); + return null; + } + uint rowId = subrow.Item.RowId; + ushort num2 = _configuration.CustomDeliveries.CollectabilityTier switch + { + Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Low => subrow.CollectabilityLow, + Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Mid => subrow.CollectabilityMid, + _ => subrow.CollectabilityHigh, + }; + if (rowId == 0) + { + _logger.LogWarning("SatisfactionSupply subrow ({SupplyIndex}, {SubrowIndex}) has no item", supplyIndex, num); + return null; + } + int num3 = row.DeliveriesPerWeek - npcState.UsedDeliveries; + int num4 = Math.Min(num3, remainingAllowances); + if (num4 <= 0) + { + _logger.LogDebug("No deliveries available for NPC {NpcIndex} (npc remaining: {NpcRemaining}, global remaining: {GlobalRemaining})", npcIndex, num3, remainingAllowances); + return null; + } + int satisfactionRequired = row.SatisfactionNpcParams[npcState.Rank].SatisfactionRequired; + if (satisfactionRequired > 0) + { + Configuration.CustomDeliveryConfiguration.ECollectabilityTier collectabilityTier = _configuration.CustomDeliveries.CollectabilityTier; + int num5 = _rewardCalculator.CalculateSatisfactionPerDelivery(subrow.Reward.RowId, subrow.IsBonus, collectabilityTier); + if (num5 > 0) { - default: - continue; - case 14: - rowId = subrow.Item.RowId; - collectabilityTier = _configuration.CustomDeliveries.CollectabilityTier; - num = ((collectabilityTier == Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Mid) ? (-1888935855) : (-1888935835)); - continue; - case 23: - _206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1441943308), new object[3] { npcIndex, num20, num21 }); - return null; - case 1: - _206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-325747451), new object[1] { npcIndex }); - return null; - case 30: - { - uint rowId2 = subrow.Reward.RowId; - bool isBonus = subrow.IsBonus; - num30 = _rewardCalculator.MaxDeliveriesBeforeOvercap(rowId2, isBonus, _configuration.CustomDeliveries.CollectabilityTier); - num = ((num30 > 0) ? (-1888935826) : (-1888935820)); - continue; - } - case 39: - _206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(72727050), new object[1] { npcIndex }); - return null; - case 31: - _206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(350000111), new object[2] { npcIndex, npcState.Rank }); - return null; - case 40: - supplyIndex = (uint)row.SatisfactionNpcParams[npcState.Rank].SupplyIndex; - num28 = _202C_206E_206A_202A_206E_206D_206D_206C_200E_200C_206B_200C_202B_202E_200C_200B_206A_200D_202A_202D_202D_206D_206E_206A_206D_206F_200C_206C_206B_206B_202B_202E_206D_206A_206E_202A_202C_206F_200B_200E_202E(_supplyHelper, supplyIndex, num29)[(int)slot]; - num = ((num28 != uint.MaxValue) ? (-1888935833) : (-1888935823)); - continue; - case 6: - _206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1592384275), new object[3] { npcIndex, npcState.UsedDeliveries, value.TargetCount }); - return null; - case 18: - num = (_dataManager.GetSubrowExcelSheet().TryGetSubrow(supplyIndex, (ushort)num28, out subrow) ? (-1888935813) : (-1888935852)); - continue; - case 29: - num = ((num27 >= num9) ? (-1888935844) : (-1888935810)); - continue; - case 13: - { - ExcelSheet excelSheet = _dataManager.GetExcelSheet(); - num3 = 1; - num4 = npcIndex; - int num22 = num4 ^ num3; - int num23 = num4 & num3; - num = (excelSheet.TryGetRow((uint)(num22 + (num23 + num23)), out row) ? (-1888935842) : (-1888935849)); - continue; - } - case 35: - num = ((_configuration.CustomDeliveries.ScripOvercapMode == Configuration.CustomDeliveryConfiguration.EScripOvercapMode.Ignore) ? (-1888935856) : (-1888935829)); - continue; - case 2: - num19 = (int)value.TargetCount - npcState.UsedDeliveries; - num = ((num19 <= 0) ? (-1888935821) : (-1888935836)); - continue; - case 16: - num = ((collectabilityTier != Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Low) ? (-1888935824) : (-1888935818)); - continue; - case 37: - recipe = null; - list = new List(); - if (slot == EDeliverySlot.Craft) + int num6 = (satisfactionRequired - npcState.SatisfactionCurrent + num5 - 1) / num5; + if (num6 > 0 && num6 < num4) { - num = -1888935831; - continue; + _logger.LogDebug("Capping deliveries from {Original} to {Capped} to avoid rank-up mid-batch (sat: {Current}/{Required}, per delivery: {PerDelivery})", num4, num6, npcState.SatisfactionCurrent, satisfactionRequired, num5); + num4 = num6; } - break; - case 15: - _206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E((ILogger)_logger, 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(-349074918), Array.Empty()); - return null; - case 33: - _206C_206F_206E_206A_206F_200F_202B_206D_206E_200D_202E_202D_206D_200B_200F_202B_202D_200F_200D_206C_202A_200C_200E_200E_206C_200D_206B_200F_206D_200E_202A_206C_200D_200B_202B_200B_202A_202C_202C_200F_202E((ILogger)_logger, 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(-583199100), new object[2] { supplyIndex, num28 }); - return null; - case 32: - num7 = num18; - num = ((rowId != 0) ? (-1888935837) : (-1888935811)); - continue; - case 36: - num18 = subrow.CollectabilityMid; - num = -1888935851; - continue; - case 19: - _206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(758096436), new object[3] { levelUnlock, slot, npcIndex }); - return null; - case 22: - num20 = row.DeliveriesPerWeek - npcState.UsedDeliveries; - num9 = _202E_200E_200B_202D_200C_200D_206B_202B_206F_202D_206F_200D_200E_200C_206B_202C_206A_202A_200F_206A_202A_200B_200B_202E_206F_202A_200C_200D_200D_200D_200D_206B_202E_202A_200B_206A_200C_206D_206D_200F_202E(num20, num21); - num = ((num9 > 0) ? (-1888935822) : (-1888935838)); - continue; - case 17: - num9 = _202E_200E_200B_202D_200C_200D_206B_202B_206F_202D_206F_200D_200E_200C_206B_202C_206A_202A_200F_206A_202A_200B_200B_202E_206F_202A_200C_200D_200D_200D_200D_206B_202E_202A_200B_206A_200C_206D_206D_200F_202E(num9, num19); - num = -1888935850; - continue; - case 27: - num = ((num30 >= num9) ? (-1888935856) : (-1888935812)); - continue; - case 9: - _206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-252217524), new object[3] { num9, num30, npcIndex }); - num9 = num30; - num = -1888935856; - continue; - case 43: - levelUnlock = row.LevelUnlock; - num = (HasJobAtLevel(slot, levelUnlock) ? (-1888935843) : (-1888935834)); - continue; - case 8: - _206C_206F_206E_206A_206F_200F_202B_206D_206E_200D_202E_202D_206D_200B_200F_202B_202D_200F_200D_206C_202A_200C_200E_200E_206C_200D_206B_200F_206D_200E_202A_206C_200D_200B_202B_200B_202A_202C_202C_200F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1074922241), new object[2] { supplyIndex, num28 }); - return null; - case 12: - npcState = _200F_206F_206A_200F_202C_206F_206E_200E_202B_200C_200B_200D_200B_202C_206D_202B_206E_200B_202C_202D_202D_200D_206D_202E_200B_206E_202A_202D_202A_206E_202D_200B_202E_202E_202A_200B_202B_202D_202E_206C_202E(npcIndex); - num21 = _206F_206A_202D_202B_200F_206F_202E_206D_206F_200D_202D_206C_206C_206D_202C_206C_202B_202E_206D_202B_200D_202B_200D_200E_202E_206D_206B_206D_200E_202A_202A_206A_200C_202A_206F_202B_206C_206D_200E_200D_202E(); - num29 = _200C_206C_200F_202B_206A_206F_200B_206C_202A_206F_206F_206C_206B_202B_200F_202A_206D_206A_200D_206E_202A_206A_206D_206C_206D_202C_206F_200D_202E_200D_200E_202D_200E_206F_202C_206E_202C_202E_202A_206F_202E(); - num = ((npcState.Rank > 0) ? (-1888935853) : (-1888935830)); - continue; - case 10: - num = -1888935840; - continue; - case 38: - num = ((num21 > 0) ? (-1888935816) : (-1888935814)); - continue; - case 11: - _206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E((ILogger)_logger, 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(1847422502), new object[5] { num9, num27, npcState.SatisfactionCurrent, satisfactionRequired, num26 }); - num9 = num27; - num = -1888935844; - continue; - case 0: - num27 = (satisfactionRequired - npcState.SatisfactionCurrent + num26 - 1) / num26; - num = ((num27 <= 0) ? (-1888935844) : (-1888935832)); - continue; - case 34: - _206C_206F_206E_206A_206F_200F_202B_206D_206E_200D_202E_202D_206D_200B_200F_202B_202D_200F_200D_206C_202A_200C_200E_200E_206C_200D_206B_200F_206D_200E_202A_206C_200D_200B_202B_200B_202A_202C_202C_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1005271434), new object[1] { npcIndex }); - return null; - case 28: - recipe = _vendorResolver.ResolveRecipe(rowId); - num = (recipe.HasValue ? (-1888935828) : (-1888935825)); - continue; - case 24: - num = (IsNpcUnlocked(npcIndex) ? (-1888935815) : (-1888935854)); - continue; - case 42: - { - Configuration.CustomDeliveryConfiguration.ECollectabilityTier collectabilityTier2 = _configuration.CustomDeliveries.CollectabilityTier; - num26 = _rewardCalculator.CalculateSatisfactionPerDelivery(subrow.Reward.RowId, subrow.IsBonus, collectabilityTier2); - num = ((num26 <= 0) ? (-1888935844) : (-1888935819)); - continue; } - case 21: - _206C_206F_206E_206A_206F_200F_202B_206D_206E_200D_202E_202D_206D_200B_200F_202B_202D_200F_200D_206C_202A_200C_200E_200E_206C_200D_206B_200F_206D_200E_202A_206C_200D_200B_202B_200B_202A_202C_202C_200F_202E((ILogger)_logger, 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(929546920), Array.Empty()); - return null; - case 41: + } + ushort key = (ushort)(npcIndex + 1); + if (_configuration.CustomDeliveries.AchievementGoals.TryGetValue(key, out Configuration.AchievementGoal value) && value.Active) + { + int num7 = (int)value.TargetCount - npcState.UsedDeliveries; + if (num7 <= 0) { - num3 = 1; - num4 = npcIndex; - int num24 = num4 ^ num3; - int num25 = num4 & num3; - ushort key = (ushort)(num24 + (num25 + num25)); - num = ((!_configuration.CustomDeliveries.AchievementGoals.TryGetValue(key, out value)) ? (-1888935850) : (-1888935839)); - continue; + _logger.LogDebug("Achievement goal already met for NPC {NpcIndex} (used: {Used}, target: {Target})", npcIndex, npcState.UsedDeliveries, value.TargetCount); + return null; } - case 7: - satisfactionRequired = row.SatisfactionNpcParams[npcState.Rank].SatisfactionRequired; - num = ((satisfactionRequired <= 0) ? (-1888935844) : (-1888935841)); - continue; - case 26: - _202E_202D_202C_206E_202C_206A_206E_202D_202E_202D_206C_200B_200E_202E_206C_200B_206A_202E_206B_206D_206B_200E_200B_200E_206B_206D_202A_206F_200C_202D_206E_206D_206C_206A_206B_200F_202E_200E_202B_200E_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-375018658), new object[1] { rowId }); - return null; - case 20: - num = ((!value.Active) ? (-1888935850) : (-1888935817)); - continue; - case 3: - num18 = subrow.CollectabilityLow; - num = -1888935851; - continue; - case 5: - num18 = subrow.CollectabilityHigh; - num = -1888935851; - continue; - case 4: - _206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E((ILogger)_logger, 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(1585031772), new object[2] { npcIndex, slot }); - return null; - case 25: + num4 = Math.Min(num4, num7); + } + if (_configuration.CustomDeliveries.ScripOvercapMode != Configuration.CustomDeliveryConfiguration.EScripOvercapMode.Ignore) + { + uint rowId2 = subrow.Reward.RowId; + bool isBonus = subrow.IsBonus; + int num8 = _rewardCalculator.MaxDeliveriesBeforeOvercap(rowId2, isBonus, _configuration.CustomDeliveries.CollectabilityTier); + if (num8 <= 0) { - int inventoryItemCount = InventoryManager.Instance()->GetInventoryItemCount(rowId, isHq: false, checkEquipped: true, checkArmory: true, (short)num7); - int num8 = num9; - num3 = inventoryItemCount; + _logger.LogDebug("Scrip overcap: blocking delivery for NPC {NpcIndex}", npcIndex); + return null; + } + if (num8 < num4) + { + _logger.LogDebug("Scrip overcap: capping delivery count from {Original} to {Capped} for NPC {NpcIndex}", num4, num8, npcIndex); num4 = num8; - int num10 = _200C_206C_200D_202C_202B_202C_206A_206E_200E_200E_202D_202A_202C_206D_206B_206D_206D_200B_202B_206A_206D_202D_206D_200C_206C_200D_200E_200D_200C_202C_206D_206F_206B_206D_202A_200C_202B_200B_200C_206A_202E(0, ~(~num4 + num3)); - IEnumerator enumerator = recipe.Value.Ingredients.GetEnumerator(); - try - { - num = -2147286294; - while (true) - { - int num11 = num; - num3 = -2147286291; - num4 = num11; - int num12 = num4 + num3; - int num13 = num4 & num3; - switch (num12 - (num13 + num13)) - { - case 2: - num = -2147286294; - break; - case 1: - { - current = enumerator.Current; - num15 = num10 * current.CountPerCraft; - count = ((ItemHandle)current.ItemId).GetCount(); - int num16 = num15; - num3 = count; - num4 = num16; - num14 = _200C_206C_200D_202C_202B_202C_206A_206E_200E_200E_202D_202A_202C_206D_206B_206D_206D_200B_202B_206A_206D_202D_206D_200C_206C_200D_200E_200D_200C_202C_206D_206F_206B_206D_202A_200C_202B_200B_200C_206A_202E(0, ~(~num4 + num3)); - vendor = null; - num = ((num14 <= 0) ? (-2147286293) : (-2147286291)); - break; - } - case 3: - num = (vendor.HasValue ? (-2147286296) : (-2147286299)); - break; - case 6: - num = ((num14 <= 0) ? (-2147286296) : (-2147286290)); - break; - case 7: - num = (_202D_202B_206D_202B_202E_200E_200E_206F_202C_200E_200F_200E_200D_206B_202A_202C_206B_202E_202D_200F_200E_206C_200D_200D_202E_206C_202A_206A_200E_200D_202E_200E_206A_202E_206D_206D_206B_206B_202C_202B_202E((IEnumerator)enumerator) ? (-2147286292) : (-2147286295)); - break; - case 5: - list.Add(new IngredientPlan - { - ItemId = current.ItemId, - TotalNeeded = num15, - InInventory = count, - ToBuy = num14, - Vendor = vendor - }); - num = -2147286294; - break; - case 0: - vendor = _vendorResolver.ResolveVendor(current.ItemId); - num = -2147286293; - break; - case 8: - _206C_206F_206E_206A_206F_200F_202B_206D_206E_200D_202E_202D_206D_200B_200F_202B_202D_200F_200D_206C_202A_200C_200E_200E_206C_200D_206B_200F_206D_200E_202A_206C_200D_200B_202B_200B_202A_202C_202C_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1168604579), new object[3] { rowId, num14, current.ItemId }); - return null; - case 4: - goto end_IL_097f; - } - continue; - end_IL_097f: - break; - } - } - finally - { - num = ((enumerator == null) ? 903605072 : 903605073); - while (true) - { - int num17 = num; - num3 = 903605072; - num4 = num17; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 903605073; - break; - case 1: - _206B_202C_200B_202D_202C_206A_202A_202E_200B_202D_200E_202B_202A_200D_206A_206E_202D_202A_202A_206D_200E_206D_202A_206B_206C_206A_200F_200E_206B_202E_200D_200E_206D_200D_206C_202E_202E_202D_206D_200C_202E((IDisposable)enumerator); - num = 903605072; - break; - case 0: - goto end_IL_0b81; - } - continue; - end_IL_0b81: - break; - } - } - break; } + } + VendorResolverService.RecipeInfo? recipe = null; + List list = new List(); + if (slot == EDeliverySlot.Craft) + { + recipe = _vendorResolver.ResolveRecipe(rowId); + if (!recipe.HasValue) + { + _logger.LogError("Cannot resolve recipe for craft item {ItemId}", rowId); + return null; + } + int inventoryItemCount = InventoryManager.Instance()->GetInventoryItemCount(rowId, isHq: false, checkEquipped: true, checkArmory: true, (short)num2); + int num9 = Math.Max(0, num4 - inventoryItemCount); + foreach (VendorResolverService.IngredientInfo ingredient in recipe.Value.Ingredients) + { + int num10 = num9 * ingredient.CountPerCraft; + int count = ((ItemHandle)ingredient.ItemId).GetCount(); + int num11 = Math.Max(0, num10 - count); + VendorResolverService.VendorInfo? vendor = null; + if (num11 > 0) + { + vendor = _vendorResolver.ResolveVendor(ingredient.ItemId); + } + if (num11 > 0 && !vendor.HasValue) + { + _logger.LogWarning("Cannot plan craft delivery for item {ItemId}: missing {ToBuy}x ingredient {IngredientId} with no gil vendor", rowId, num11, ingredient.ItemId); + return null; + } + list.Add(new IngredientPlan + { + ItemId = ingredient.ItemId, + TotalNeeded = num10, + InInventory = count, + ToBuy = num11, + Vendor = vendor + }); } - break; } DeliveryPlan result = new DeliveryPlan { NpcIndex = npcIndex, Slot = slot, ItemId = rowId, - Collectability = num7, - DeliveryCount = num9, + Collectability = num2, + DeliveryCount = num4, Recipe = recipe, IngredientPlans = list }; - int num31 = 0; - using (List.Enumerator enumerator2 = list.GetEnumerator()) + int num12 = 0; + foreach (IngredientPlan item in list) { - num = -832133554; - while (true) - { - int num32 = num; - int num3 = -832133554; - int num4 = num32; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = (enumerator2.MoveNext() ? (-832133553) : (-832133555)); - break; - case 1: - { - IngredientPlan current2 = enumerator2.Current; - num31 += current2.ToBuy; - num = -832133554; - break; - } - case 2: - num = -832133554; - break; - case 3: - goto end_IL_0c22; - } - continue; - end_IL_0c22: - break; - } + num12 += item.ToBuy; } - _206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E((ILogger)_logger, 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(-251047374), new object[5] { npcIndex, slot, rowId, num9, num31 }); + _logger.LogDebug("Delivery plan: NPC {NpcIndex} slot {Slot}, item {ItemId} x{Count}, ingredients to buy: {ToBuy}", npcIndex, slot, rowId, num4, num12); return result; } public bool IsNpcUnlocked(int npcIndex) { - ExcelSheet excelSheet = _dataManager.GetExcelSheet(); - int num = 1; - int num2 = npcIndex; - int num3 = num2 ^ num; - int num4 = num2 & num; - SatisfactionNpc row; - int num5 = (excelSheet.TryGetRow((uint)(num3 + (num4 + num4)), out row) ? (-1323628219) : (-1323628220)); - uint rowId = default(uint); - while (true) + if (!_dataManager.GetExcelSheet().TryGetRow((uint)(npcIndex + 1), out var row)) { - int num6 = num5; - num = -1323628219; - num2 = num6; - int num7 = num2 + num; - int num8 = num2 & num; - switch (num7 - (num8 + num8)) - { - case 3: - num5 = -1323628220; - break; - case 2: - return true; - case 0: - rowId = row.QuestRequired.RowId; - num5 = ((rowId != 0) ? (-1323628223) : (-1323628217)); - break; - case 1: - return false; - case 4: - return QuestManager.IsQuestComplete((ushort)rowId); - } + return false; } + uint rowId = row.QuestRequired.RowId; + if (rowId == 0) + { + return true; + } + return QuestManager.IsQuestComplete((ushort)rowId); } private bool HasJobAtLevel(EDeliverySlot slot, ushort requiredLevel) { ExcelSheet excelSheet = _dataManager.GetExcelSheet(); - int num; - EClassJob[] array = default(EClassJob[]); - int num8 = default(int); - ClassJob row = default(ClassJob); - EClassJob[] array2; - switch (slot) + EClassJob[] array = slot switch { - default: - num = 208972121; - goto IL_0034; - case EDeliverySlot.Fish: - array = new EClassJob[1] { EClassJob.Fisher }; - num = 208972119; - goto IL_0034; - case EDeliverySlot.Gather: - goto IL_00fb; - case EDeliverySlot.Craft: - goto IL_0192; - IL_0034: - while (true) + EDeliverySlot.Craft => new EClassJob[8] { - int num2 = num; - int num3 = 208972117; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - goto IL_008a; - case 12: - num = 208972112; - break; - case 10: - goto IL_00c2; - case 7: - goto end_IL_0034; - case 6: - goto IL_00fb; - case 2: - array = array; - num8 = 0; - num = 208972127; - break; - case 3: - num = 208972121; - break; - case 1: - { - int num7 = num8; - num3 = 1; - num4 = num7; - num8 = (num4 | num3) + (num4 & num3); - num = 208972127; - break; - } - case 11: - return false; - case 8: - return true; - case 5: - array = Array.Empty(); - num = 208972119; - break; - case 0: - goto IL_0168; - case 9: - goto IL_0192; - } - continue; - IL_0168: - num = ((_202D_206B_206F_200C_200E_200F_202A_206D_202D_202D_202C_202D_206F_206F_202D_202E_202A_206B_202A_202D_206E_202D_200D_200D_202D_202A_200C_200B_200E_202E_200D_206A_206D_202B_206F_202D_200B_200E_206F_202A_202E((int)row.ExpArrayIndex) < requiredLevel) ? 208972116 : 208972125); - continue; - IL_00c2: - num = ((num8 < array.Length) ? 208972113 : 208972126); - continue; - IL_008a: - EClassJob rowId = array[num8]; - num = ((!excelSheet.TryGetRow((uint)rowId, out row)) ? 208972116 : 208972117); - continue; - end_IL_0034: - break; - } - goto case EDeliverySlot.Fish; - IL_0192: - array2 = new EClassJob[8]; - _202A_200D_202C_202B_202D_202B_202B_202C_200F_202A_206F_200B_200D_202E_206E_202A_200B_200B_202D_206E_206B_202C_206C_200D_202A_206A_206F_200B_202E_202E_200E_200B_206A_200C_206F_206D_202B_202B_206C_206C_202E((Array)array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - array = array2; - num = 208972119; - goto IL_0034; - IL_00fb: - array = new EClassJob[2] + EClassJob.Carpenter, + EClassJob.Blacksmith, + EClassJob.Armorer, + EClassJob.Goldsmith, + EClassJob.Leatherworker, + EClassJob.Weaver, + EClassJob.Alchemist, + EClassJob.Culinarian + }, + EDeliverySlot.Gather => new EClassJob[2] { EClassJob.Miner, EClassJob.Botanist - }; - num = 208972119; - goto IL_0034; + }, + EDeliverySlot.Fish => new EClassJob[1] { EClassJob.Fisher }, + _ => Array.Empty(), + }; + foreach (EClassJob rowId in array) + { + if (excelSheet.TryGetRow((uint)rowId, out var row) && PlayerStateHelper.GetClassJobLevel(row.ExpArrayIndex) >= requiredLevel) + { + return true; + } } + return false; } public EDeliverySlot? AutoSelectSlot(int npcIndex, ArtisanIpc artisanIpc, AutoHookIpc autoHookIpc) { - int num = ((!artisanIpc.IsAvailable()) ? 1675924989 : 1675924988); - while (true) + if (artisanIpc.IsAvailable() && CreatePlan(npcIndex, EDeliverySlot.Craft) != null) { - int num2 = num; - int num3 = 1675924986; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = ((!autoHookIpc.IsAvailable()) ? 1675924990 : 1675924985); - break; - case 4: - return null; - case 1: - return EDeliverySlot.Gather; - case 2: - num = 1675924988; - break; - case 8: - return EDeliverySlot.Fish; - case 3: - num = ((CreatePlan(npcIndex, EDeliverySlot.Fish) == null) ? 1675924990 : 1675924978); - break; - case 7: - num = ((CreatePlan(npcIndex, EDeliverySlot.Gather) == null) ? 1675924986 : 1675924987); - break; - case 5: - return EDeliverySlot.Craft; - case 6: - num = ((CreatePlan(npcIndex, EDeliverySlot.Craft) == null) ? 1675924989 : 1675924991); - break; - } + return EDeliverySlot.Craft; } - } - - static bool _200D_206E_202C_202A_202A_202E_202E_206C_200D_200C_200E_200C_206B_206C_200D_200B_206B_206D_206C_202E_202A_206C_206E_200D_200B_206C_200D_200F_206B_202A_202C_202D_206A_206B_206F_200B_200F_202E_200F_200D_202E() - { - return InventoryHelper.HasFreeInventorySlot(); - } - - static void _206C_206F_206E_206A_206F_200F_202B_206D_206E_200D_202E_202D_206D_200B_200F_202B_202D_200F_200D_206C_202A_200C_200E_200E_206C_200D_206B_200F_206D_200E_202A_206C_200D_200B_202B_200B_202A_202C_202C_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static void _206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static SatisfactionSupplyActions.NpcState _200F_206F_206A_200F_202C_206F_206E_200E_202B_200C_200B_200D_200B_202C_206D_202B_206E_200B_202C_202D_202D_200D_206D_202E_200B_206E_202A_202D_202A_206E_202D_200B_202E_202E_202A_200B_202B_202D_202E_206C_202E(int P_0) - { - return SatisfactionSupplyActions.GetNpcState(P_0); - } - - static int _206F_206A_202D_202B_200F_206F_202E_206D_206F_200D_202D_206C_206C_206D_202C_206C_202B_202E_206D_202B_200D_202B_200D_200E_202E_206D_206B_206D_200E_202A_202A_206A_200C_202A_206F_202B_206C_206D_200E_200D_202E() - { - return SatisfactionSupplyActions.GetRemainingAllowances(); - } - - static uint _200C_206C_200F_202B_206A_206F_200B_206C_202A_206F_206F_206C_206B_202B_200F_202A_206D_206A_200D_206E_202A_206A_206D_206C_206D_202C_206F_200D_202E_200D_200E_202D_200E_206F_202C_206E_202C_202E_202A_206F_202E() - { - return SatisfactionSupplyActions.GetSupplySeed(); - } - - static uint[] _202C_206E_206A_202A_206E_206D_206D_206C_200E_200C_206B_200C_202B_202E_200C_200B_206A_200D_202A_202D_202D_206D_206E_206A_206D_206F_200C_206C_206B_206B_202B_202E_206D_206A_206E_202A_202C_206F_200B_200E_202E(SatisfactionSupplyHelper P_0, uint P_1, uint P_2) - { - return P_0.CalculateRequestedItems(P_1, P_2); - } - - static int _202E_200E_200B_202D_200C_200D_206B_202B_206F_202D_206F_200D_200E_200C_206B_202C_206A_202A_200F_206A_202A_200B_200B_202E_206F_202A_200C_200D_200D_200D_200D_206B_202E_202A_200B_206A_200C_206D_206D_200F_202E(int P_0, int P_1) - { - return Math.Min(P_0, P_1); - } - - static void _202E_202D_202C_206E_202C_206A_206E_202D_202E_202D_206C_200B_200E_202E_206C_200B_206A_202E_206B_206D_206B_200E_200B_200E_206B_206D_202A_206F_200C_202D_206E_206D_206C_206A_206B_200F_202E_200E_202B_200E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogError(P_1, P_2); - } - - static int _200C_206C_200D_202C_202B_202C_206A_206E_200E_200E_202D_202A_202C_206D_206B_206D_206D_200B_202B_206A_206D_202D_206D_200C_206C_200D_200E_200D_200C_202C_206D_206F_206B_206D_202A_200C_202B_200B_200C_206A_202E(int P_0, int P_1) - { - return Math.Max(P_0, P_1); - } - - static bool _202D_202B_206D_202B_202E_200E_200E_206F_202C_200E_200F_200E_200D_206B_202A_202C_206B_202E_202D_200F_200E_206C_200D_200D_202E_206C_202A_206A_200E_200D_202E_200E_206A_202E_206D_206D_206B_206B_202C_202B_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206B_202C_200B_202D_202C_206A_202A_202E_200B_202D_200E_202B_202A_200D_206A_206E_202D_202A_202A_206D_200E_206D_202A_206B_206C_206A_200F_200E_206B_202E_200D_200E_206D_200D_206C_202E_202E_202D_206D_200C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _202A_200D_202C_202B_202D_202B_202B_202C_200F_202A_206F_200B_200D_202E_206E_202A_200B_200B_202D_206E_206B_202C_206C_200D_202A_206A_206F_200B_202E_202E_200E_200B_206A_200C_206F_206D_202B_202B_206C_206C_202E(Array P_0, RuntimeFieldHandle P_1) - { - RuntimeHelpers.InitializeArray(P_0, P_1); - } - - static short _202D_206B_206F_200C_200E_200F_202A_206D_202D_202D_202C_202D_206F_206F_202D_202E_202A_206B_202A_202D_206E_202D_200D_200D_202D_202A_200C_200B_200E_202E_200D_206A_206D_202B_206F_202D_200B_200E_206F_202A_202E(int P_0) - { - return PlayerStateHelper.GetClassJobLevel(P_0); + if (CreatePlan(npcIndex, EDeliverySlot.Gather) != null) + { + return EDeliverySlot.Gather; + } + if (autoHookIpc.IsAvailable() && CreatePlan(npcIndex, EDeliverySlot.Fish) != null) + { + return EDeliverySlot.Fish; + } + return null; } } diff --git a/Questionable/Questionable.Controller.CustomDelivery/DeliveryRewardCalculator.cs b/Questionable/Questionable.Controller.CustomDelivery/DeliveryRewardCalculator.cs index 18547cc..8deb364 100644 --- a/Questionable/Questionable.Controller.CustomDelivery/DeliveryRewardCalculator.cs +++ b/Questionable/Questionable.Controller.CustomDelivery/DeliveryRewardCalculator.cs @@ -1,118 +1,14 @@ using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Plugin.Services; using LLib.Inventory; -using Lumina.Excel; using Lumina.Excel.Sheets; namespace Questionable.Controller.CustomDelivery; internal sealed class DeliveryRewardCalculator(IDataManager dataManager) { - internal record struct CurrencyReward(uint CurrencyItemId, string CurrencyName, int AmountPerDelivery) - { - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override readonly string ToString() - { - StringBuilder stringBuilder = _206A_200C_202B_206F_202E_202C_202C_200D_200D_206E_200C_206C_202C_200F_206F_206E_202C_200D_200C_202E_206A_206A_206C_202A_206C_206A_200E_200D_202E_200B_206A_202D_202A_206A_206B_206F_206C_200B_206B_202B_202E(); - _200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_202E(stringBuilder, 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(175214569)); - _200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1664411125)); - int num = ((!PrintMembers(stringBuilder)) ? 851670769 : 851670770); - while (true) - { - int num2 = num; - int num3 = 851670771; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 851670770; - break; - case 2: - _206E_200E_200B_200B_200F_206E_202C_206A_200B_200B_206C_206C_202C_200E_206A_202A_206D_202E_202C_206C_200F_206B_202C_206A_206C_202B_200B_200E_202B_200B_200E_202C_202B_206F_202E_200D_202D_202C_206B_206D_202E(stringBuilder, '}'); - return _200C_200D_200C_200E_206A_202A_206A_202A_202B_200B_200D_200E_200C_200F_200B_200D_206B_206D_200F_200D_206B_206B_206C_202E_206F_202E_200E_200C_200E_206F_200B_206B_202A_206A_206D_206C_200C_206C_206A_206E_202E((object)stringBuilder); - case 1: - _206E_200E_200B_200B_200F_206E_202C_206A_200B_200B_206C_206C_202C_200E_206A_202A_206D_202E_202C_206C_200F_206B_202C_206A_206C_202B_200B_200E_202B_200B_200E_202C_202B_206F_202E_200D_202D_202C_206B_206D_202E(stringBuilder, ' '); - num = 851670769; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private readonly bool PrintMembers(StringBuilder builder) - { - _200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(557355409)); - _200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_202E(builder, CurrencyItemId.ToString()); - _200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_202E(builder, 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(-1370044589)); - _200B_206F_200D_202B_202B_200C_206C_206F_202B_202C_206D_200F_206F_200D_206D_206C_200F_206B_206A_206A_200F_202E_206B_202B_206B_200D_206E_202B_206A_200E_206F_202E_206B_206C_202B_200F_200F_202D_200E_206C_202E(builder, (object)CurrencyName); - _200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_202E(builder, 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(1289637212)); - _200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_202E(builder, AmountPerDelivery.ToString()); - return true; - } - - [CompilerGenerated] - public readonly bool Equals(CurrencyReward other) - { - int num = ((!EqualityComparer.Default.Equals(CurrencyItemId, other.CurrencyItemId)) ? (-1286878871) : (-1286878870)); - while (true) - { - int num2 = num; - int num3 = -1286878869; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return false; - case 1: - num = ((!EqualityComparer.Default.Equals(CurrencyName, other.CurrencyName)) ? (-1286878871) : (-1286878869)); - break; - case 0: - return EqualityComparer.Default.Equals(AmountPerDelivery, other.AmountPerDelivery); - case 3: - num = -1286878870; - break; - } - } - } - - bool IEquatable.Equals(CurrencyReward other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _206A_200C_202B_206F_202E_202C_202C_200D_200D_206E_200C_206C_202C_200F_206F_206E_202C_200D_200C_202E_206A_206A_206C_202A_206C_206A_200E_200D_202E_200B_206A_202D_202A_206A_206B_206F_206C_200B_206B_202B_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206E_200E_200B_200B_200F_206E_202C_206A_200B_200B_206C_206C_202C_200E_206A_202A_206D_202E_202C_206C_200F_206B_202C_206A_206C_202B_200B_200E_202B_200B_200E_202C_202B_206F_202E_200D_202D_202C_206B_206D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200C_200D_200C_200E_206A_202A_206A_202A_202B_200B_200D_200E_200C_200F_200B_200D_206B_206D_200F_200D_206B_206B_206C_202E_206F_202E_200E_200C_200E_206F_200B_206B_202A_206A_206D_206C_200C_206C_206A_206E_202E(object P_0) - { - return P_0.ToString(); - } - - static StringBuilder _200B_206F_200D_202B_202B_200C_206C_206F_202B_202C_206D_200F_206F_200D_206D_206C_200F_206B_206A_206A_200F_202E_206B_202B_206B_200D_206E_202B_206A_200E_206F_202E_206B_206C_202B_200F_200F_202D_200E_206C_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - } + internal record struct CurrencyReward(uint CurrencyItemId, string CurrencyName, int AmountPerDelivery); private static readonly Dictionary ScripCaps = new Dictionary { @@ -123,289 +19,87 @@ internal sealed class DeliveryRewardCalculator(IDataManager dataManager) internal List CalculateRewards(uint rewardRowId, bool hasBonus, Configuration.CustomDeliveryConfiguration.ECollectabilityTier tier = Configuration.CustomDeliveryConfiguration.ECollectabilityTier.High) { List list = new List(); - int num = (dataManager.GetExcelSheet().TryGetRow(rewardRowId, out var row) ? 1083172624 : 1083172627); - uint rewardCurrency = default(uint); - int num8 = default(int); - ushort num9 = default(ushort); - SatisfactionSupplyReward.SatisfactionSupplyRewardDataStruct current = default(SatisfactionSupplyReward.SatisfactionSupplyRewardDataStruct); - while (true) + if (!dataManager.GetExcelSheet().TryGetRow(rewardRowId, out var row)) { - int num2 = num; - int num3 = 1083172625; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_006c; - case 2: - return list; - case 1: - { - using Collection.Enumerator enumerator = row.SatisfactionSupplyRewardData.GetEnumerator(); - num = 328961127; - while (true) - { - int num5 = num; - num3 = 328961135; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 6: - { - string currencyName = GetCurrencyName(rewardCurrency); - list.Add(new CurrencyReward(rewardCurrency, currencyName, num8)); - num = 328961127; - break; - } - case 9: - num = ((tier != Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Low) ? 328961125 : 328961132); - break; - case 4: - num = ((tier == Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Mid) ? 328961128 : 328961126); - break; - case 1: - num8 = num9; - num = ((!hasBonus) ? 328961129 : 328961135); - break; - case 11: - num = 328961127; - break; - case 10: - num9 = current.QuantityHigh; - num = 328961134; - break; - case 3: - num9 = current.QuantityLow; - num = 328961134; - break; - case 8: - num = (enumerator.MoveNext() ? 328961130 : 328961133); - break; - case 5: - current = enumerator.Current; - rewardCurrency = current.RewardCurrency; - num = ((rewardCurrency == 0) ? 328961127 : 328961131); - break; - case 7: - num9 = current.QuantityMid; - num = 328961134; - break; - case 0: - num8 = num8 * row.BonusMultiplier / 100; - num = 328961129; - break; - case 2: - return list; - } - } - } - } - continue; - IL_006c: - num = 1083172627; + return list; } + foreach (SatisfactionSupplyReward.SatisfactionSupplyRewardDataStruct satisfactionSupplyRewardDatum in row.SatisfactionSupplyRewardData) + { + uint rewardCurrency = satisfactionSupplyRewardDatum.RewardCurrency; + if (rewardCurrency != 0) + { + int num = tier switch + { + Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Low => satisfactionSupplyRewardDatum.QuantityLow, + Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Mid => satisfactionSupplyRewardDatum.QuantityMid, + _ => satisfactionSupplyRewardDatum.QuantityHigh, + }; + if (hasBonus) + { + num = num * row.BonusMultiplier / 100; + } + string currencyName = GetCurrencyName(rewardCurrency); + list.Add(new CurrencyReward(rewardCurrency, currencyName, num)); + } + } + return list; } internal static bool WouldOvercap(uint currencyItemId, int amountPerDelivery, int deliveryCount) { - int value; - int num = (ScripCaps.TryGetValue(currencyItemId, out value) ? (-1863089792) : (-1863089789)); - while (true) + if (!ScripCaps.TryGetValue(currencyItemId, out var value)) { - int num2 = num; - int num3 = -1863089790; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004d; - case 1: - return false; - case 2: - return _202B_200E_206D_200C_206E_200D_202B_206E_206A_200C_200B_206E_202A_206F_202B_200F_206C_202C_200F_200C_202B_206A_202D_206D_202C_202E_206B_202D_206D_202A_206A_200B_206C_206F_206C_202B_200D_202E_206A_202A_202E(currencyItemId, false, false) + amountPerDelivery * deliveryCount > value; - } - continue; - IL_004d: - num = -1863089789; + return false; } + return InventoryHelper.GetItemCount(currencyItemId) + amountPerDelivery * deliveryCount > value; } internal int MaxDeliveriesBeforeOvercap(uint rewardRowId, bool hasBonus, Configuration.CustomDeliveryConfiguration.ECollectabilityTier tier = Configuration.CustomDeliveryConfiguration.ECollectabilityTier.High) { List list = CalculateRewards(rewardRowId, hasBonus, tier); int num = int.MaxValue; - int num2; - using (List.Enumerator enumerator = list.GetEnumerator()) + foreach (CurrencyReward item in list) { - num2 = -1256353988; - int num10 = default(int); - CurrencyReward current = default(CurrencyReward); - int value = default(int); - while (true) + if (ScripCaps.TryGetValue(item.CurrencyItemId, out var value) && item.AmountPerDelivery > 0) { - int num3 = num2; - int num4 = -1256353985; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - int num12; - int num11; - switch (num6 - (num7 + num7)) - { - case 4: - num12 = num10 / current.AmountPerDelivery; - goto IL_006d; - case 1: - current = enumerator.Current; - num2 = ((!ScripCaps.TryGetValue(current.CurrencyItemId, out value)) ? (-1256353988) : (-1256353985)); - break; - case 2: - num2 = -1256353988; - break; - case 5: - num12 = 0; - goto IL_006d; - case 3: - num2 = (enumerator.MoveNext() ? (-1256353986) : (-1256353992)); - break; - case 0: - num2 = ((current.AmountPerDelivery <= 0) ? (-1256353988) : (-1256353991)); - break; - case 6: - { - int num8 = _202B_200E_206D_200C_206E_200D_202B_206E_206A_200C_200B_206E_202A_206F_202B_200F_206C_202C_200F_200C_202B_206A_202D_206D_202C_202E_206B_202D_206D_202A_206A_200B_206C_206F_206C_202B_200D_202E_206A_202A_202E(current.CurrencyItemId, false, false); - int num9 = value; - num4 = num8; - num5 = num9; - num10 = ~(~num5 + num4); - num2 = ((num10 > 0) ? (-1256353989) : (-1256353990)); - break; - } - case 7: - goto end_IL_0021; - IL_006d: - num11 = num12; - num = _200E_202E_200C_200F_206B_206C_200E_200B_202A_206A_200D_200D_200D_202A_200D_200C_206B_202A_200B_206C_206C_202A_200E_200F_206E_206E_200D_206B_206B_206F_202E_206C_200B_202B_206B_206A_202B_200E_206A_200D_202E(num, num11); - num2 = -1256353988; - break; - } - continue; - end_IL_0021: - break; + int itemCount = InventoryHelper.GetItemCount(item.CurrencyItemId); + int num2 = value - itemCount; + int val = ((num2 > 0) ? (num2 / item.AmountPerDelivery) : 0); + num = Math.Min(num, val); } } - num2 = ((num == int.MaxValue) ? 1414795502 : 1414795503); - while (true) + if (num != int.MaxValue) { - int num13 = num2; - int num4 = 1414795502; - int num5 = num13; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - goto IL_01c5; - case 1: - return num; - case 0: - return int.MaxValue; - } - continue; - IL_01c5: - num2 = 1414795503; + return num; } + return int.MaxValue; } internal int CalculateSatisfactionPerDelivery(uint rewardRowId, bool hasBonus, Configuration.CustomDeliveryConfiguration.ECollectabilityTier tier = Configuration.CustomDeliveryConfiguration.ECollectabilityTier.High) { - SatisfactionSupplyReward row; - int num = (dataManager.GetExcelSheet().TryGetRow(rewardRowId, out row) ? 284816978 : 284816979); - ushort num8 = default(ushort); - int num7 = default(int); - while (true) + if (!dataManager.GetExcelSheet().TryGetRow(rewardRowId, out var row)) { - int num2 = num; - int num3 = 284816978; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - num8 = row.SatisfactionHigh; - num = 284816981; - break; - case 4: - num = ((tier != Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Low) ? 284816983 : 284816977); - break; - case 0: - num = ((tier == Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Mid) ? 284816980 : 284816982); - break; - case 6: - num8 = row.SatisfactionMid; - num = 284816981; - break; - case 9: - return num7; - case 7: - num7 = num8; - num = ((!hasBonus) ? 284816987 : 284816986); - break; - case 2: - num = 284816979; - break; - case 3: - num8 = row.SatisfactionLow; - num = 284816981; - break; - case 8: - num7 = num7 * row.BonusMultiplier / 100; - num = 284816987; - break; - case 1: - return 0; - } + return 0; } + int num = tier switch + { + Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Low => row.SatisfactionLow, + Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Mid => row.SatisfactionMid, + _ => row.SatisfactionHigh, + }; + if (hasBonus) + { + num = num * row.BonusMultiplier / 100; + } + return num; } - [MethodImpl(MethodImplOptions.NoInlining)] private string GetCurrencyName(uint currencyItemId) { - Item row; - int num = ((!dataManager.GetExcelSheet().TryGetRow(currencyItemId, out row)) ? (-1217003400) : (-1217003397)); - while (true) + if (dataManager.GetExcelSheet().TryGetRow(currencyItemId, out var row)) { - int num2 = num; - int num3 = -1217003399; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(9, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1297490435)); - defaultInterpolatedStringHandler.AppendFormatted(currencyItemId); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - case 2: - return row.Name.ToString(); - case 0: - goto IL_00a7; - } - continue; - IL_00a7: - num = -1217003397; + return row.Name.ToString(); } - } - - static int _202B_200E_206D_200C_206E_200D_202B_206E_206A_200C_200B_206E_202A_206F_202B_200F_206C_202C_200F_200C_202B_206A_202D_206D_202C_202E_206B_202D_206D_202A_206A_200B_206C_206F_206C_202B_200D_202E_206A_202A_202E(uint P_0, bool P_1, bool P_2) - { - return InventoryHelper.GetItemCount(P_0, P_1, P_2); - } - - static int _200E_202E_200C_200F_206B_206C_200E_200B_202A_206A_200D_200D_200D_202A_200D_200C_206B_202A_200B_206C_206C_202A_200E_200F_206E_206E_200D_206B_206B_206F_202E_206C_200B_202B_206B_206A_202B_200E_206A_200D_202E(int P_0, int P_1) - { - return Math.Min(P_0, P_1); + return $"Currency#{currencyItemId}"; } } diff --git a/Questionable/Questionable.Controller.CustomDelivery/SatisfactionSupplyTurnInExecutor.cs b/Questionable/Questionable.Controller.CustomDelivery/SatisfactionSupplyTurnInExecutor.cs index 8adfc98..4a584dc 100644 --- a/Questionable/Questionable.Controller.CustomDelivery/SatisfactionSupplyTurnInExecutor.cs +++ b/Questionable/Questionable.Controller.CustomDelivery/SatisfactionSupplyTurnInExecutor.cs @@ -1,5 +1,4 @@ using System; -using System.Runtime.CompilerServices; using Dalamud.Game.ClientState.Conditions; using Dalamud.Plugin.Services; using LLib; @@ -38,391 +37,163 @@ internal sealed class SatisfactionSupplyTurnInExecutor(GameFunctions gameFunctio private long _phaseStartMs; - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { _phase = EPhase.InteractWithNpc; _remaining = base.Task.DeliveryCount; - _lastUsedDeliveries = _206D_206D_202E_206B_206B_206F_206D_206E_206A_200C_206F_206F_200C_206C_206C_206E_206B_206D_202D_202D_202E_206D_200D_200C_202D_202E_206B_206E_202E_202B_206C_206E_200E_206F_200F_202D_200C_202E_202B_200E_202E(base.Task.NpcIndex).UsedDeliveries; + _lastUsedDeliveries = SatisfactionSupplyActions.GetNpcState(base.Task.NpcIndex).UsedDeliveries; _throttle.Clear(); - _phaseStartMs = _202D_206E_200C_202C_206E_206A_202D_206D_200C_202B_206E_206A_200E_200E_202C_202B_202B_200D_206E_200E_202D_206A_206B_202C_202E_202C_200C_200C_202E_200D_200F_200E_200B_200C_200F_202B_202A_206F_206A_200C_202E(); - _206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1474000530), new object[3] - { - base.Task.NpcIndex, - base.Task.Slot, - base.Task.DeliveryCount - }); + _phaseStartMs = Environment.TickCount64; + logger.LogDebug("Starting satisfaction supply turn-in: npc={NpcIndex}, slot={Slot}, count={Count}", base.Task.NpcIndex, base.Task.Slot, base.Task.DeliveryCount); return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - long num = _202D_206E_200C_202C_206E_206A_202D_206D_200C_202B_206E_206A_200E_200E_202C_202B_202B_200D_206E_200E_202D_206A_206B_202C_202E_202C_200C_200C_202E_200D_200F_200E_200B_200C_200F_202B_202A_206F_206A_200C_202E() - _phaseStartMs; - int num2 = ((_phase != EPhase.WaitForCutsceneEnd) ? 427799827 : 427799864); - int usedDeliveries = default(int); - int num6 = default(int); - bool flag = default(bool); - while (true) + long num = Environment.TickCount64 - _phaseStartMs; + if ((_phase != EPhase.WaitForCutsceneEnd) ? (num > 15000) : (num > 60000)) { - int num3 = num2; - int num4 = 427799834; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - default: - continue; - case 2: - num2 = ((!_throttle.TryReset(0.5)) ? 427799816 : 427799857); - continue; - case 44: - SetPhase(EPhase.Closing); - num2 = 427799816; - continue; - case 20: - num2 = 427799864; - continue; - case 31: - goto IL_015d; - case 19: - num2 = 427799816; - continue; - case 11: - _206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(350961385), Array.Empty()); - SetPhase(EPhase.CheckCompletion); - num2 = 427799816; - continue; - case 3: - goto IL_01c7; - case 25: - { - int remaining = _remaining; - int num7 = usedDeliveries; - num4 = _lastUsedDeliveries; - num5 = num7; - num4 = ~(~num5 + num4); - num5 = remaining; - _remaining = _206F_200D_200C_202C_200F_202A_206B_200B_206D_202A_206D_202B_200E_202D_200D_200C_202B_206D_202A_206F_200B_202E_206F_202E_206A_206A_200D_200E_200E_200E_206B_202A_200E_206A_202C_206B_206A_200B_202D_202E_202E(0, ~(~num5 + num4)); - _lastUsedDeliveries = usedDeliveries; - num6 = _202D_200F_202C_202A_206D_206A_200C_206F_206E_206E_202C_206E_202D_206A_200B_206F_202E_202A_200C_202A_202C_200D_202E_200D_202C_206D_200D_206B_206F_200C_202A_200F_200B_202E_200D_206F_206C_200D_202D_200F_202E(); - _206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-306504982), new object[2] { _remaining, num6 }); - num2 = ((_remaining <= 0) ? 427799862 : 427799860); - continue; - } - case 34: - flag = num > 60000; - num2 = 427799835; - continue; - case 32: - _206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1631440184), new object[1] { base.Task.Slot }); - SetPhase(EPhase.WaitForCutsceneStart); - num2 = 427799816; - continue; - case 33: - _206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1374604529), Array.Empty()); - return ETaskResult.TaskComplete; - case 40: - goto IL_02fd; - case 4: - num2 = ((!_206B_206A_202A_202D_206C_202C_202C_202A_206D_202C_200E_200D_202E_200C_202A_202A_206A_200E_206A_206C_200D_202A_202A_200E_200B_202C_206A_206F_206B_202D_206D_202B_200C_200E_206B_202B_200C_206D_202A_200D_202E(gameGui)) ? 427799836 : 427799815); - continue; - case 28: - _206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1574397942), Array.Empty()); - return ETaskResult.TaskComplete; - case 24: - num2 = ((!_206B_206A_202A_202D_206C_202C_202C_202A_206D_202C_200E_200D_202E_200C_202A_202A_206A_200E_206A_206C_200D_202A_202A_200E_200B_202C_206A_206F_206B_202D_206D_202B_200C_200E_206B_202B_200C_206D_202A_200D_202E(gameGui)) ? 427799816 : 427799826); - continue; - case 5: - num2 = (TryDismissResultAddon() ? 427799816 : 427799856); - continue; - case 42: - num2 = ((!_200C_206C_200D_202C_206C_202E_202E_202E_200B_200F_200D_202A_206E_200C_200F_202C_206E_206E_200B_202C_202D_202E_200E_200E_206D_202E_202C_206C_200B_206F_202C_200F_200E_206D_200F_202B_206B_206F_206D_206B_202E(gameGui)) ? 427799828 : 427799867); - continue; - case 22: - _206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1456862888), Array.Empty()); - SetPhase(EPhase.ConfirmTrade); - num2 = 427799816; - continue; - case 18: - return ETaskResult.StillRunning; - case 0: - num2 = ((!_200B_200E_206A_200F_206F_206A_206F_200C_206B_202E_206D_200C_200C_200B_202D_200F_202B_206D_202A_202B_202B_202A_206A_202E_202B_206E_200D_206C_202D_202E_206C_206F_202A_206E_200E_200F_206A_200D_200B_200E_202E(condition, ConditionFlag.OccupiedInCutSceneEvent)) ? 427799816 : 427799829); - continue; - case 26: - _206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1394771024), Array.Empty()); - num2 = 427799816; - continue; - case 21: - goto IL_0464; - case 37: - SetPhase(EPhase.InteractWithNpc); - num2 = 427799816; - continue; - case 12: - _206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, 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(-251211365), new object[1] { base.Task.NpcDataId }); - SetPhase(EPhase.WaitForAddon); - num2 = 427799816; - continue; - case 10: - SetPhase(EPhase.WaitForAddon); - num2 = 427799816; - continue; - case 38: - goto IL_0509; - case 9: - flag = num > 15000; - num2 = 427799835; - continue; - case 17: - _206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1397355813), Array.Empty()); - SetPhase(EPhase.CheckCompletion); - num2 = 427799816; - continue; - case 29: - _206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1083762627), Array.Empty()); - SetPhase(EPhase.SelectSlot); - num2 = 427799816; - continue; - case 13: - num2 = ((!TryDismissResultAddon()) ? 427799810 : 427799871); - continue; - case 27: - num2 = ((!gameFunctions.InteractWith(base.Task.NpcDataId)) ? 427799816 : 427799830); - continue; - case 43: - num2 = ((base.Task.NpcDataId == 0) ? 427799816 : 427799809); - continue; - case 1: - num2 = ((!flag) ? 427799818 : 427799863); - continue; - case 16: - switch (_phase) - { - case EPhase.InteractWithNpc: - break; - case EPhase.SelectSlot: - goto IL_015d; - case EPhase.WaitForAddon: - goto IL_01c7; - case EPhase.ConfirmTrade: - goto IL_02fd; - case EPhase.CheckCompletion: - goto IL_0464; - case EPhase.WaitForCutsceneEnd: - goto IL_0509; - default: - goto IL_0678; - case EPhase.WaitForCutsceneStart: - goto IL_06e7; - case EPhase.Closing: - goto end_IL_0047; - } - goto case 2; - case 46: - num2 = ((num6 <= 0) ? 427799862 : 427799824); - continue; - case 23: - num2 = ((!_202E_200B_202B_202C_202B_202D_206D_206A_202B_206F_200D_200B_206B_206D_206C_206C_206A_202C_206E_206D_202E_206B_200F_200B_202D_200B_206D_202D_200B_202E_200F_202D_206F_206D_202A_202D_202E_202E_206E_206C_202E()) ? 427799816 : 427799866); - continue; - case 7: - num2 = ((!_200E_200F_206E_206C_200E_200F_206D_202C_202E_200E_202A_200D_202E_202D_206E_200B_206C_206A_200C_200E_202A_206E_202B_206C_206E_200C_200E_202E_200F_200C_206D_202B_206C_206E_200F_206B_206C_202A_202B_202B_202E()) ? 427799831 : 427799820); - continue; - case 30: - goto IL_06e7; - case 45: - _206C_202A_206F_200F_206C_202A_200B_200D_206D_206D_202E_206C_202D_206D_206D_202E_200D_202C_200B_200E_202D_200B_200E_202B_200B_202D_202A_206A_200E_206B_202B_202D_206E_206F_206D_200C_202E_202E_206E_206F_202E((ILogger)logger, 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(-1661028568), new object[2] { _phase, num }); - TryDismissResultAddon(); - _200C_206C_200D_202C_206C_202E_202E_202E_200B_200F_200D_202A_206E_200C_200F_202C_206E_206E_200B_202C_202D_202E_200E_200E_206D_202E_202C_206C_200B_206F_202C_200F_200E_206D_200F_202B_206B_206F_206D_206B_202E(gameGui); - return ETaskResult.RetryStep; - case 15: - _206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, 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(-285034380), Array.Empty()); - SetPhase(EPhase.WaitForCutsceneEnd); - num2 = 427799816; - continue; - case 36: - num2 = (TryDismissResultAddon() ? 427799816 : 427799838); - continue; - case 6: - num2 = ((!_200F_206A_200F_200E_206A_202E_206C_202E_202A_206D_202D_202B_202D_206B_206B_206F_202D_200E_202A_202C_206A_202C_200C_206A_202C_200B_202C_206A_200E_206F_206E_200C_206F_206A_206E_202B_200C_200B_206A_202E_202E(gameGui)) ? 427799859 : 427799865); - continue; - case 14: - num2 = (_202E_200B_202E_200D_206C_206F_206E_200D_202B_206B_202D_200B_200D_202A_206D_202E_200D_202A_200E_200F_206F_206C_202E_206E_206E_206D_200F_202A_206D_206B_202A_200D_206B_200E_200E_206B_202C_206D_200B_202D_202E(gameGui) ? 427799816 : 427799814); - continue; - case 41: - num2 = ((!_200C_206A_206B_200D_200C_202C_206D_206A_206D_206C_202E_200C_202E_202A_206C_206E_202E_206D_202D_200B_200F_202B_200D_206E_200E_200D_206A_206B_206A_206B_206F_206E_200C_202A_202E_206E_202D_206F_200B_200F_202E(gameGui)) ? 427799816 : 427799808); - continue; - case 8: - _202C_200D_206E_206E_200B_202C_206A_206D_206C_202E_200F_206C_206A_200F_202C_206B_206C_202B_202A_206D_206E_202C_206C_200B_206A_202A_200C_202C_200F_202E_200F_206E_206A_206A_202D_200C_206C_202A_206A_206F_202E(gameGui, (int)base.Task.Slot); - _206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1693755949), new object[1] { base.Task.Slot }); - num2 = 427799816; - continue; - case 35: - _202A_206D_206A_200C_202B_200C_206F_200F_200E_200D_206C_202C_200D_202A_202C_206E_206F_200C_202B_206F_206A_202E_206D_206E_202E_206D_202B_206E_202C_202D_206C_206D_200E_206F_200F_206C_200C_200B_200D_206A_202E(gameGui, 0); - _206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2145457438), Array.Empty()); - num2 = 427799816; - continue; - case 39: - break; - IL_0464: - usedDeliveries = _206D_206D_202E_206B_206B_206F_206D_206E_206A_200C_206F_206F_200C_206C_206C_206E_206B_206D_202D_202D_202E_206D_200D_200C_202D_202E_206B_206E_202E_202B_206C_206E_200E_206F_200F_202D_200C_202E_202B_200E_202E(base.Task.NpcIndex).UsedDeliveries; - num2 = ((usedDeliveries <= _lastUsedDeliveries) ? 427799816 : 427799811); - continue; - IL_02fd: - num2 = ((!_throttle.TryReset(0.5)) ? 427799816 : 427799821); - continue; - IL_06e7: - num2 = ((!HasDeliveryRegistered()) ? 427799834 : 427799819); - continue; - IL_0678: - num2 = 427799817; - continue; - IL_015d: - num2 = ((!_throttle.TryReset(0.5)) ? 427799816 : 427799837); - continue; - IL_01c7: - num2 = ((!_throttle.TryReset(0.5)) ? 427799816 : 427799870); - continue; - IL_0509: - num2 = (_200B_200E_206A_200F_206F_206A_206F_200C_206B_202E_206D_200C_200C_200B_202D_200F_202B_206D_202A_202B_202B_202A_206A_202E_202B_206E_200D_206C_202D_202E_206C_206F_202A_206E_200E_200F_206A_200D_200B_200E_202E(condition, ConditionFlag.OccupiedInCutSceneEvent) ? 427799816 : 427799825); - continue; - end_IL_0047: - break; - } - num2 = ((!_throttle.TryReset(0.5)) ? 427799816 : 427799839); + logger.LogWarning("Turn-in timed out in phase {Phase} after {Elapsed}ms, retrying", _phase, num); + TryDismissResultAddon(); + SatisfactionSupplyActions.TryCloseSatisfactionSupply(gameGui); + return ETaskResult.RetryStep; } + switch (_phase) + { + case EPhase.InteractWithNpc: + if (_throttle.TryReset(0.5) && base.Task.NpcDataId != 0 && gameFunctions.InteractWith(base.Task.NpcDataId)) + { + logger.LogDebug("Interacted with delivery NPC {DataId}", base.Task.NpcDataId); + SetPhase(EPhase.WaitForAddon); + } + break; + case EPhase.WaitForAddon: + if (_throttle.TryReset(0.5) && !TryDismissResultAddon()) + { + if (SatisfactionSupplyActions.IsSatisfactionSupplyFullyReady(gameGui)) + { + logger.LogDebug("SatisfactionSupply addon fully ready"); + SetPhase(EPhase.SelectSlot); + } + else if (VendorPurchaseActions.IsDialogReady(gameGui)) + { + VendorPurchaseActions.TrySelectDialogOption(gameGui, 0); + logger.LogDebug("Dismissed NPC dialog to reach SatisfactionSupply"); + } + else if (SatisfactionSupplyActions.TryProgressTalk(gameGui)) + { + logger.LogDebug("Progressed NPC dialog to reach SatisfactionSupply"); + } + } + break; + case EPhase.SelectSlot: + if (_throttle.TryReset(0.5)) + { + if (SatisfactionSupplyActions.IsNpcTradeReady()) + { + logger.LogDebug("NpcTrade agent ready"); + SetPhase(EPhase.ConfirmTrade); + } + else if (TryDismissResultAddon()) + { + SetPhase(EPhase.InteractWithNpc); + } + else if (SatisfactionSupplyActions.IsSatisfactionSupplyFullyReady(gameGui)) + { + SatisfactionSupplyActions.TrySelectDeliverySlot(gameGui, (int)base.Task.Slot); + logger.LogDebug("Fired delivery slot {Slot} selection", base.Task.Slot); + } + } + break; + case EPhase.ConfirmTrade: + if (_throttle.TryReset(0.5) && SatisfactionSupplyActions.TryConfirmTrade()) + { + logger.LogDebug("Confirmed trade for slot {Slot}", base.Task.Slot); + SetPhase(EPhase.WaitForCutsceneStart); + } + break; + case EPhase.WaitForCutsceneStart: + if (HasDeliveryRegistered()) + { + logger.LogDebug("Delivery registered before cutscene state was observed"); + SetPhase(EPhase.CheckCompletion); + } + else if (condition[ConditionFlag.OccupiedInCutSceneEvent]) + { + logger.LogDebug("Cutscene started"); + SetPhase(EPhase.WaitForCutsceneEnd); + } + break; + case EPhase.WaitForCutsceneEnd: + if (!condition[ConditionFlag.OccupiedInCutSceneEvent]) + { + logger.LogDebug("Cutscene ended"); + SetPhase(EPhase.CheckCompletion); + } + break; + case EPhase.CheckCompletion: + { + int usedDeliveries = SatisfactionSupplyActions.GetNpcState(base.Task.NpcIndex).UsedDeliveries; + if (usedDeliveries > _lastUsedDeliveries) + { + _remaining = Math.Max(0, _remaining - (usedDeliveries - _lastUsedDeliveries)); + _lastUsedDeliveries = usedDeliveries; + int remainingAllowances = SatisfactionSupplyActions.GetRemainingAllowances(); + logger.LogDebug("Delivery complete, remaining={Remaining}, allowances={Allowances}", _remaining, remainingAllowances); + if (_remaining > 0 && remainingAllowances > 0) + { + SetPhase(EPhase.WaitForAddon); + } + else + { + SetPhase(EPhase.Closing); + } + } + break; + } + case EPhase.Closing: + if (_throttle.TryReset(0.5) && !TryDismissResultAddon()) + { + if (SatisfactionSupplyActions.TryCloseSatisfactionSupply(gameGui)) + { + logger.LogDebug("Closed SatisfactionSupply addon"); + return ETaskResult.TaskComplete; + } + if (!SatisfactionSupplyActions.IsSatisfactionSupplyReady(gameGui)) + { + logger.LogDebug("SatisfactionSupply addon already closed"); + return ETaskResult.TaskComplete; + } + } + break; + } + return ETaskResult.StillRunning; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool TryDismissResultAddon() { - int num = (_200D_206D_202C_206F_200E_200D_206D_206A_206D_206F_202C_200C_200D_202E_200F_202C_206D_200C_202D_202E_202A_206A_206F_200F_206A_200D_200C_200E_206B_206A_202E_200D_200B_202C_202B_206C_206D_206C_206C_200F_202E(gameGui) ? 1612697595 : 1612697592); - while (true) + if (!SatisfactionSupplyActions.IsSatisfactionSupplyResultVisible(gameGui)) { - int num2 = num; - int num3 = 1612697593; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004d; - case 2: - _206D_200B_200E_202D_206C_202D_202A_206C_206A_206B_202A_206F_202D_200B_200D_202D_202C_202C_202D_206C_202A_200B_206B_202A_200D_206F_202B_202C_206B_202D_200F_202B_200C_200B_202C_202D_206C_200B_206C_206B_202E(gameGui); - _206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1119009587), Array.Empty()); - return true; - case 1: - return false; - } - continue; - IL_004d: - num = 1612697592; + return false; } + SatisfactionSupplyActions.TryCloseSatisfactionSupplyResult(gameGui); + logger.LogDebug("Closed rank-up result addon"); + return true; } private void SetPhase(EPhase phase) { _phase = phase; - _phaseStartMs = _202D_206E_200C_202C_206E_206A_202D_206D_200C_202B_206E_206A_200E_200E_202C_202B_202B_200D_206E_200E_202D_206A_206B_202C_202E_202C_200C_200C_202E_200D_200F_200E_200B_200C_200F_202B_202A_206F_206A_200C_202E(); + _phaseStartMs = Environment.TickCount64; } private bool HasDeliveryRegistered() { - return _206D_206D_202E_206B_206B_206F_206D_206E_206A_200C_206F_206F_200C_206C_206C_206E_206B_206D_202D_202D_202E_206D_200D_200C_202D_202E_206B_206E_202E_202B_206C_206E_200E_206F_200F_202D_200C_202E_202B_200E_202E(base.Task.NpcIndex).UsedDeliveries > _lastUsedDeliveries; + return SatisfactionSupplyActions.GetNpcState(base.Task.NpcIndex).UsedDeliveries > _lastUsedDeliveries; } public override bool ShouldInterruptOnDamage() { return false; } - - static SatisfactionSupplyActions.NpcState _206D_206D_202E_206B_206B_206F_206D_206E_206A_200C_206F_206F_200C_206C_206C_206E_206B_206D_202D_202D_202E_206D_200D_200C_202D_202E_206B_206E_202E_202B_206C_206E_200E_206F_200F_202D_200C_202E_202B_200E_202E(int P_0) - { - return SatisfactionSupplyActions.GetNpcState(P_0); - } - - static long _202D_206E_200C_202C_206E_206A_202D_206D_200C_202B_206E_206A_200E_200E_202C_202B_202B_200D_206E_200E_202D_206A_206B_202C_202E_202C_200C_200C_202E_200D_200F_200E_200B_200C_200F_202B_202A_206F_206A_200C_202E() - { - return Environment.TickCount64; - } - - static void _206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static void _206C_202A_206F_200F_206C_202A_200B_200D_206D_206D_202E_206C_202D_206D_206D_202E_200D_202C_200B_200E_202D_200B_200E_202B_200B_202D_202A_206A_200E_206B_202B_202D_206E_206F_206D_200C_202E_202E_206E_206F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static bool _200C_206C_200D_202C_206C_202E_202E_202E_200B_200F_200D_202A_206E_200C_200F_202C_206E_206E_200B_202C_202D_202E_200E_200E_206D_202E_202C_206C_200B_206F_202C_200F_200E_206D_200F_202B_206B_206F_206D_206B_202E(IGameGui P_0) - { - return SatisfactionSupplyActions.TryCloseSatisfactionSupply(P_0); - } - - static bool _206B_206A_202A_202D_206C_202C_202C_202A_206D_202C_200E_200D_202E_200C_202A_202A_206A_200E_206A_206C_200D_202A_202A_200E_200B_202C_206A_206F_206B_202D_206D_202B_200C_200E_206B_202B_200C_206D_202A_200D_202E(IGameGui P_0) - { - return SatisfactionSupplyActions.IsSatisfactionSupplyFullyReady(P_0); - } - - static bool _200F_206A_200F_200E_206A_202E_206C_202E_202A_206D_202D_202B_202D_206B_206B_206F_202D_200E_202A_202C_206A_202C_200C_206A_202C_200B_202C_206A_200E_206F_206E_200C_206F_206A_206E_202B_200C_200B_206A_202E_202E(IGameGui P_0) - { - return VendorPurchaseActions.IsDialogReady(P_0); - } - - static bool _202A_206D_206A_200C_202B_200C_206F_200F_200E_200D_206C_202C_200D_202A_202C_206E_206F_200C_202B_206F_206A_202E_206D_206E_202E_206D_202B_206E_202C_202D_206C_206D_200E_206F_200F_206C_200C_200B_200D_206A_202E(IGameGui P_0, int P_1) - { - return VendorPurchaseActions.TrySelectDialogOption(P_0, P_1); - } - - static bool _200C_206A_206B_200D_200C_202C_206D_206A_206D_206C_202E_200C_202E_202A_206C_206E_202E_206D_202D_200B_200F_202B_200D_206E_200E_200D_206A_206B_206A_206B_206F_206E_200C_202A_202E_206E_202D_206F_200B_200F_202E(IGameGui P_0) - { - return SatisfactionSupplyActions.TryProgressTalk(P_0); - } - - static bool _200E_200F_206E_206C_200E_200F_206D_202C_202E_200E_202A_200D_202E_202D_206E_200B_206C_206A_200C_200E_202A_206E_202B_206C_206E_200C_200E_202E_200F_200C_206D_202B_206C_206E_200F_206B_206C_202A_202B_202B_202E() - { - return SatisfactionSupplyActions.IsNpcTradeReady(); - } - - static bool _202C_200D_206E_206E_200B_202C_206A_206D_206C_202E_200F_206C_206A_200F_202C_206B_206C_202B_202A_206D_206E_202C_206C_200B_206A_202A_200C_202C_200F_202E_200F_206E_206A_206A_202D_200C_206C_202A_206A_206F_202E(IGameGui P_0, int P_1) - { - return SatisfactionSupplyActions.TrySelectDeliverySlot(P_0, P_1); - } - - static bool _202E_200B_202B_202C_202B_202D_206D_206A_202B_206F_200D_200B_206B_206D_206C_206C_206A_202C_206E_206D_202E_206B_200F_200B_202D_200B_206D_202D_200B_202E_200F_202D_206F_206D_202A_202D_202E_202E_206E_206C_202E() - { - return SatisfactionSupplyActions.TryConfirmTrade(); - } - - static bool _200B_200E_206A_200F_206F_206A_206F_200C_206B_202E_206D_200C_200C_200B_202D_200F_202B_206D_202A_202B_202B_202A_206A_202E_202B_206E_200D_206C_202D_202E_206C_206F_202A_206E_200E_200F_206A_200D_200B_200E_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static int _206F_200D_200C_202C_200F_202A_206B_200B_206D_202A_206D_202B_200E_202D_200D_200C_202B_206D_202A_206F_200B_202E_206F_202E_206A_206A_200D_200E_200E_200E_206B_202A_200E_206A_202C_206B_206A_200B_202D_202E_202E(int P_0, int P_1) - { - return Math.Max(P_0, P_1); - } - - static int _202D_200F_202C_202A_206D_206A_200C_206F_206E_206E_202C_206E_202D_206A_200B_206F_202E_202A_200C_202A_202C_200D_202E_200D_202C_206D_200D_206B_206F_200C_202A_200F_200B_202E_200D_206F_206C_200D_202D_200F_202E() - { - return SatisfactionSupplyActions.GetRemainingAllowances(); - } - - static bool _202E_200B_202E_200D_206C_206F_206E_200D_202B_206B_202D_200B_200D_202A_206D_202E_200D_202A_200E_200F_206F_206C_202E_206E_206E_206D_200F_202A_206D_206B_202A_200D_206B_200E_200E_206B_202C_206D_200B_202D_202E(IGameGui P_0) - { - return SatisfactionSupplyActions.IsSatisfactionSupplyReady(P_0); - } - - static bool _200D_206D_202C_206F_200E_200D_206D_206A_206D_206F_202C_200C_200D_202E_200F_202C_206D_200C_202D_202E_202A_206A_206F_200F_206A_200D_200C_200E_206B_206A_202E_200D_200B_202C_202B_206C_206D_206C_206C_200F_202E(IGameGui P_0) - { - return SatisfactionSupplyActions.IsSatisfactionSupplyResultVisible(P_0); - } - - static bool _206D_200B_200E_202D_206C_202D_202A_206C_206A_206B_202A_206F_202D_200B_200D_202D_202C_202C_202D_206C_202A_200B_206B_202A_200D_206F_202B_202C_206B_202D_200F_202B_200C_200B_202C_202D_206C_200B_206C_206B_202E(IGameGui P_0) - { - return SatisfactionSupplyActions.TryCloseSatisfactionSupplyResult(P_0); - } } diff --git a/Questionable/Questionable.Controller.CustomDelivery/SatisfactionSupplyTurnInTask.cs b/Questionable/Questionable.Controller.CustomDelivery/SatisfactionSupplyTurnInTask.cs index efcad29..f19fc8b 100644 --- a/Questionable/Questionable.Controller.CustomDelivery/SatisfactionSupplyTurnInTask.cs +++ b/Questionable/Questionable.Controller.CustomDelivery/SatisfactionSupplyTurnInTask.cs @@ -1,117 +1,11 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Questionable.Controller.Steps; namespace Questionable.Controller.CustomDelivery; internal sealed record SatisfactionSupplyTurnInTask(int NpcIndex, EDeliverySlot Slot, int DeliveryCount, uint NpcDataId) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200F_206E_202C_200D_206E_200F_200F_202C_200C_206B_206A_202A_206C_202E_202B_206D_200C_206F_206B_206E_200F_200E_200F_202E_206B_200D_206A_202A_206D_200D_202D_206A_202A_202C_206B_206F_202B_202E_202D_206C_202E(typeof(SatisfactionSupplyTurnInTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(27, 3); - defaultInterpolatedStringHandler.AppendLiteral(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(-1300446303)); - defaultInterpolatedStringHandler.AppendFormatted(NpcIndex); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1337890915)); - defaultInterpolatedStringHandler.AppendFormatted(Slot); - defaultInterpolatedStringHandler.AppendLiteral(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(1866089119)); - defaultInterpolatedStringHandler.AppendFormatted(DeliveryCount); - defaultInterpolatedStringHandler.AppendLiteral(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(444206578)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206C_206B_206E_200D_200C_200F_200C_206F_202C_202E_206D_200C_202D_202C_202C_200F_202B_202E_200F_202B_202E_206D_200E_200F_206E_206E_200F_202E_202D_206B_206D_206A_200C_206E_202C_200F_200D_202B_206D_200C_202E(); - _200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(builder, 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(-1595512881)); - _200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(builder, NpcIndex.ToString()); - _200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1002596104)); - _200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(builder, Slot.ToString()); - _200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1495805969)); - _200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(builder, DeliveryCount.ToString()); - _200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(builder, 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(1084145586)); - _200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(builder, NpcDataId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(SatisfactionSupplyTurnInTask? other) - { - int num = (((object)this == other) ? 887679026 : 887679031); - while (true) - { - int num2 = num; - int num3 = 887679025; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 8: - return EqualityComparer.Default.Equals(NpcDataId, other.NpcDataId); - case 1: - num = ((!EqualityComparer.Default.Equals(DeliveryCount, other.DeliveryCount)) ? 887679029 : 887679033); - break; - case 5: - num = ((!EqualityComparer.Default.Equals(NpcIndex, other.NpcIndex)) ? 887679029 : 887679027); - break; - case 6: - num = (((object)other == null) ? 887679029 : 887679030); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(Slot, other.Slot)) ? 887679029 : 887679024); - break; - case 3: - return true; - case 4: - return false; - case 0: - num = 887679031; - break; - case 7: - num = ((!_200F_206E_202C_200B_206A_200D_206E_202C_206E_202D_202D_200D_202B_200B_202E_206E_200F_200D_200C_200C_206F_206C_200B_200E_202E_200F_200E_206F_200D_200C_202A_200F_202C_206C_202E_200D_206B_206F_202A_200F_202E(EqualityContract, other.EqualityContract)) ? 887679029 : 887679028); - break; - } - } - } - - bool IEquatable.Equals(SatisfactionSupplyTurnInTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200F_206E_202C_200D_206E_200F_200F_202C_200C_206B_206A_202A_206C_202E_202B_206D_200C_206F_206B_206E_200F_200E_200F_202E_206B_200D_206A_202A_206D_200D_202D_206A_202A_202C_206B_206F_202B_202E_202D_206C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _206C_206B_206E_200D_200C_200F_200C_206F_202C_202E_206D_200C_202D_202C_202C_200F_202B_202E_200F_202B_202E_206D_200E_200F_206E_206E_200F_202E_202D_206B_206D_206A_200C_206E_202C_200F_200D_202B_206D_200C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _200F_206E_202C_200B_206A_200D_206E_202C_206E_202D_202D_200D_202B_200B_202E_206E_200F_200D_200C_200C_206F_206C_200B_200E_202E_200F_200E_206F_200D_200C_202A_200F_202C_206C_202E_200D_206B_206F_202A_200F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"TurnIn(npc={NpcIndex}, slot={Slot}, count={DeliveryCount})"; } } diff --git a/Questionable/Questionable.Controller.CustomDelivery/VendorPurchaseExecutor.cs b/Questionable/Questionable.Controller.CustomDelivery/VendorPurchaseExecutor.cs index 01de942..20ad679 100644 --- a/Questionable/Questionable.Controller.CustomDelivery/VendorPurchaseExecutor.cs +++ b/Questionable/Questionable.Controller.CustomDelivery/VendorPurchaseExecutor.cs @@ -1,5 +1,4 @@ using System; -using System.Runtime.CompilerServices; using Dalamud.Game.ClientState.Conditions; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; @@ -50,7 +49,7 @@ internal sealed class VendorPurchaseExecutor(GameFunctions gameFunctions, IGameG _state = EState.InteractWithNpc; _throttle.Clear(); _purchaseIndex = 0; - _stateStartMs = _206E_206E_200E_202B_202A_206A_200C_206D_206A_202D_202B_206E_206D_206E_200C_200D_202A_200D_200C_202D_202E_200F_206D_206E_206C_202C_206C_206A_200E_206D_200F_206C_206E_202B_206A_206B_200E_200F_206E_206B_202E(); + _stateStartMs = Environment.TickCount64; _failed = false; _countBeforeBuy = 0; _buyAttempts = 0; @@ -58,362 +57,167 @@ internal sealed class VendorPurchaseExecutor(GameFunctions gameFunctions, IGameG return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe override ETaskResult Update() { - long num = _206E_206E_200E_202B_202A_206A_200C_206D_206A_202D_202B_206E_206D_206E_200C_200D_202A_200D_200C_202D_202E_200F_206D_206E_206C_202C_206C_206A_200E_206D_200F_206C_206E_202B_206A_206B_200E_200F_206E_206B_202E() - _stateStartMs; - int num2 = ((_state == EState.WaitForBuy) ? 839409606 : 839409644); - int inventoryItemCount = default(int); - VendorPurchaseTask.PurchaseItem purchaseItem = default(VendorPurchaseTask.PurchaseItem); - VendorPurchaseTask.PurchaseItem purchaseItem2 = default(VendorPurchaseTask.PurchaseItem); - int num16 = default(int); - while (true) + long num = Environment.TickCount64 - _stateStartMs; + if (_state != EState.WaitForBuy && num > 15000) { - int num3 = num2; - int num4 = 839409609; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) + logger.LogWarning("Vendor purchase timed out in state {State} after {Elapsed}ms, retrying", _state, num); + return ETaskResult.RetryStep; + } + switch (_state) + { + case EState.InteractWithNpc: + if (!_throttle.TryReset(1.0)) { - case 11: - num2 = 839409644; - break; - case 26: return ETaskResult.StillRunning; - case 10: - return ETaskResult.StillRunning; - case 7: - return ETaskResult.StillRunning; - case 34: - num2 = ((!_206F_200E_200B_206B_202C_206A_206B_200E_206B_202E_206A_206D_202C_200D_200F_200B_200B_206B_202D_200C_200D_202C_202A_200E_206D_200E_200B_202A_206A_206F_206F_202C_202B_200F_202D_206C_200F_202C_202A_206B_202E(gameGui)) ? 839409635 : 839409631); - break; - case 37: - num2 = ((num <= 15000) ? 839409606 : 839409622); - break; - case 6: - goto IL_0195; - case 23: - return ETaskResult.StillRunning; - case 21: - inventoryItemCount = InventoryManager.Instance()->GetInventoryItemCount(purchaseItem.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0); - num2 = ((inventoryItemCount > _countBeforeBuy) ? 839409605 : 839409604); - break; - case 51: - return ETaskResult.StillRunning; - case 32: - return ETaskResult.StillRunning; - case 35: - num2 = (_202D_202E_202D_206E_202A_202A_206B_206B_202C_202E_200B_200D_202B_202C_202E_200B_202B_200E_200D_206E_202B_206B_206C_206C_202A_202D_202B_202E_200C_200C_206C_202A_200D_200C_200F_202C_202C_200F_206B_202D_202E(condition, ConditionFlag.OccupiedInEvent) ? 839409603 : 839409656); - break; - case 30: - _206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger, 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(-1366453963), Array.Empty()); - SetState(EState.WaitForClose); - num2 = 839409637; - break; - case 44: - return ETaskResult.StillRunning; - case 46: - num2 = (_throttle.TryReset(0.5) ? 839409607 : 839409614); - break; - case 56: - goto IL_0292; - case 52: - { - int buyAttempts2 = _buyAttempts; - num4 = 1; - num5 = buyAttempts2; - int num14 = num5 ^ num4; - int num15 = num5 & num4; - _buyAttempts = num14 + (num15 + num15); - _confirmationClicked = false; - ILogger logger3 = logger; - string text3 = 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(1763985144); - object[] obj2 = new object[7] { purchaseItem2.ItemId, num16, purchaseItem2.Quantity, _buyAttempts, 3, null, null }; - int purchaseIndex3 = _purchaseIndex; - num4 = 1; - num5 = purchaseIndex3; - int num17 = num5 ^ num4; - int num18 = num5 & num4; - obj2[5] = num17 + (num18 + num18); - obj2[6] = base.Task.Purchases.Count; - _206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger3, text3, obj2); - SetState(EState.WaitForBuy); - num2 = 839409636; - break; } - case 33: - _206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(519166747), Array.Empty()); + if (gameFunctions.InteractWith(base.Task.VendorNpcId)) + { + logger.LogDebug("Interacted with vendor NPC {NpcId}", base.Task.VendorNpcId); + SetState(EState.WaitForShopOrDialog); + } + return ETaskResult.StillRunning; + case EState.WaitForShopOrDialog: + if (VendorPurchaseActions.IsShopReady(gameGui)) + { + logger.LogDebug("Shop is ready, moving to BuyItem"); SetState(EState.BuyItem); - num2 = 839409658; - break; - case 14: - num2 = ((!_200D_206B_206A_200C_200F_206A_202A_200E_200F_206D_202E_200D_200B_206A_200D_202B_200D_206C_202E_206A_202C_206B_202E_206F_206A_202B_202B_206B_202A_200C_202B_200B_202B_202C_206A_200C_202D_206B_206D_202B_202E(gameGui, base.Task.DialogOptionIndex)) ? 839409658 : 839409638); - break; - case 17: - num2 = ((!gameFunctions.InteractWith(base.Task.VendorNpcId)) ? 839409618 : 839409616); - break; - case 55: - return ETaskResult.StillRunning; - case 47: - _206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger, 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(457605072), new object[1] { base.Task.DialogOptionIndex }); - num2 = 839409658; - break; - case 53: - num2 = ((_buyAttempts >= 3) ? 839409659 : 839409633); - break; - case 9: - return ETaskResult.StillRunning; - case 41: - { - _206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger, 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(-87832125), new object[3] { purchaseItem.ItemId, _countBeforeBuy, inventoryItemCount }); - int purchaseIndex = _purchaseIndex; - num4 = 1; - num5 = purchaseIndex; - int num8 = num5 ^ num4; - int num9 = num5 & num4; - _purchaseIndex = num8 + (num9 + num9); - num2 = ((_purchaseIndex >= base.Task.Purchases.Count) ? 839409629 : 839409601); - break; } - case 36: - purchaseItem2 = base.Task.Purchases[_purchaseIndex]; - num16 = _200B_206D_202D_202A_202A_202E_206A_206E_206A_200C_202A_206C_206D_200E_206D_200D_206B_202D_202D_206A_206C_202C_202D_200F_206E_202D_206F_206F_206C_202C_202B_202A_200E_200E_200D_202B_200E_200C_206C_200D_202E(gameGui, purchaseItem2.ItemId); - num2 = ((num16 >= 0) ? 839409611 : 839409617); - break; - case 1: - goto IL_055e; - case 2: - _countBeforeBuy = InventoryManager.Instance()->GetInventoryItemCount(purchaseItem2.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0); - num2 = ((!_206F_200D_206B_206C_202C_202D_206A_200F_200B_206E_206A_206B_200C_206D_200D_200E_206B_202E_200F_206B_200C_200E_206F_206D_202A_202C_200B_206D_202A_206D_200E_202D_202A_200E_202A_200F_200C_202E_202B_202A_202E(gameGui, num16, purchaseItem2.Quantity)) ? 839409636 : 839409661); - break; - case 50: - _200E_202B_200C_200C_206A_200E_206D_202D_200C_200F_200F_202C_200C_206F_206A_206D_202A_202A_202A_200F_206B_200C_200E_206C_206B_206F_202E_200E_206B_206F_206C_202E_206B_206B_202B_200C_202B_200C_206E_200D_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-968313219), new object[2] { purchaseItem.ItemId, _buyAttempts }); + else if (VendorPurchaseActions.IsDialogReady(gameGui)) + { + if (!_throttle.TryReset(0.5)) + { + return ETaskResult.StillRunning; + } + if (VendorPurchaseActions.TrySelectDialogOption(gameGui, base.Task.DialogOptionIndex)) + { + logger.LogDebug("Selected dialog option {Index} to open shop", base.Task.DialogOptionIndex); + } + } + return ETaskResult.StillRunning; + case EState.BuyItem: + { + if (!_throttle.TryReset(0.5)) + { + return ETaskResult.StillRunning; + } + VendorPurchaseTask.PurchaseItem purchaseItem2 = base.Task.Purchases[_purchaseIndex]; + int num2 = VendorPurchaseActions.FindItemDisplayIndex(gameGui, purchaseItem2.ItemId); + if (num2 < 0) + { + logger.LogError("Item {ItemId} not found in shop display list", purchaseItem2.ItemId); _failed = true; SetState(EState.CloseShop); return ETaskResult.StillRunning; - case 24: - _200E_202B_200C_200C_206A_200E_206D_202D_200C_200F_200F_202C_200C_206F_206A_206D_202A_202A_202A_200F_206B_200C_200E_206C_206B_206F_202E_200E_206B_206F_206C_202E_206B_206B_202B_200C_202B_200C_206E_200D_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(326113005), new object[1] { purchaseItem2.ItemId }); - _failed = true; - SetState(EState.CloseShop); - return ETaskResult.StillRunning; - case 18: + } + _countBeforeBuy = InventoryManager.Instance()->GetInventoryItemCount(purchaseItem2.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0); + if (VendorPurchaseActions.TryBuyItem(gameGui, num2, purchaseItem2.Quantity)) + { + _buyAttempts++; + _confirmationClicked = false; + logger.LogDebug("Submitted purchase for item {ItemId} (display index {DisplayIndex}) x{Quantity}, attempt {Attempt}/{MaxAttempts} ({Current}/{Total})", purchaseItem2.ItemId, num2, purchaseItem2.Quantity, _buyAttempts, 3, _purchaseIndex + 1, base.Task.Purchases.Count); + SetState(EState.WaitForBuy); + } + return ETaskResult.StillRunning; + } + case EState.WaitForBuy: + { + VendorPurchaseTask.PurchaseItem purchaseItem = base.Task.Purchases[_purchaseIndex]; + if (!_confirmationClicked && VendorPurchaseActions.TryConfirmPurchase(gameGui)) + { _confirmationClicked = true; - _206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger, 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(-1038383555), new object[1] { purchaseItem.ItemId }); + logger.LogDebug("Confirmed purchase of item {ItemId}", purchaseItem.ItemId); SetState(EState.WaitForBuy); return ETaskResult.StillRunning; - case 13: - num2 = ((num >= 2000) ? 839409660 : 839409641); - break; - case 31: - _206D_202B_206F_206B_200B_206E_202B_206A_200B_206C_206C_202C_206A_206B_206F_206B_200D_200B_206A_206A_202A_202B_200F_202E_202B_200B_200E_200B_206D_200B_202E_202D_202B_206A_206D_202D_202A_200B_200B_200C_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-208232877), new object[2] { _state, num }); - return ETaskResult.RetryStep; - case 19: - num2 = (_throttle.TryReset(0.5) ? 839409657 : 839409600); - break; - case 54: + } + int inventoryItemCount = InventoryManager.Instance()->GetInventoryItemCount(purchaseItem.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0); + if (inventoryItemCount <= _countBeforeBuy) + { + if (num < 2000) + { + return ETaskResult.StillRunning; + } + if (_buyAttempts < 3) + { + logger.LogWarning("Purchase of item {ItemId} was not reflected in inventory; retrying ({Attempt}/{MaxAttempts})", purchaseItem.ItemId, _buyAttempts + 1, 3); + SetState(EState.BuyItem); + return ETaskResult.StillRunning; + } + logger.LogError("Purchase of item {ItemId} failed after {Attempts} attempts", purchaseItem.ItemId, _buyAttempts); + _failed = true; + SetState(EState.CloseShop); return ETaskResult.StillRunning; - case 38: + } + if (!_throttle.TryReset(0.5)) + { return ETaskResult.StillRunning; - case 8: + } + logger.LogDebug("Verified purchase of item {ItemId}: inventory {Before} -> {After}", purchaseItem.ItemId, _countBeforeBuy, inventoryItemCount); + _purchaseIndex++; + if (_purchaseIndex < base.Task.Purchases.Count) { _buyAttempts = 0; - ILogger logger2 = logger; - string text2 = 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(-274284666); - object[] array = new object[2]; - int purchaseIndex2 = _purchaseIndex; - num4 = 1; - num5 = purchaseIndex2; - int num12 = num5 ^ num4; - int num13 = num5 & num4; - array[0] = num12 + (num13 + num13); - array[1] = base.Task.Purchases.Count; - _206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger2, text2, array); + logger.LogDebug("Buying next item ({Index}/{Total})", _purchaseIndex + 1, base.Task.Purchases.Count); SetState(EState.BuyItem); - num2 = 839409663; - break; } - case 20: - _206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger, 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(1561512200), Array.Empty()); - SetState(EState.CloseShop); - num2 = 839409663; - break; - case 27: - return ETaskResult.StillRunning; - case 49: - num2 = ((!_failed) ? 839409610 : 839409625); - break; - case 25: - _206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger, 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(816270239), new object[1] { base.Task.VendorNpcId }); - SetState(EState.WaitForShopOrDialog); - num2 = 839409618; - break; - case 22: - return ETaskResult.StillRunning; - case 39: - num2 = 839409662; - break; - case 43: - goto IL_0831; - case 15: - switch (_state) - { - case EState.WaitForClose: - break; - case EState.BuyItem: - goto IL_0195; - case EState.WaitForShopOrDialog: - goto IL_0292; - case EState.CloseShop: - goto IL_055e; - case EState.WaitForBuy: - goto IL_0831; - default: - goto IL_0892; - case EState.InteractWithNpc: - goto IL_0a14; - } - goto case 34; - case 40: + else + { + logger.LogDebug("All purchases complete, closing shop"); + SetState(EState.CloseShop); + } + return ETaskResult.StillRunning; + } + case EState.CloseShop: + if (!_throttle.TryReset(0.5)) { - ILogger logger = logger; - string text = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-366147931); - object[] obj = new object[3] { purchaseItem.ItemId, null, null }; - int buyAttempts = _buyAttempts; - num4 = 1; - num5 = buyAttempts; - int num10 = num5 ^ num4; - int num11 = num5 & num4; - obj[1] = num10 + (num11 + num11); - obj[2] = 3; - _206D_202B_206F_206B_200B_206E_202B_206A_200B_206C_206C_202C_206A_206B_206F_206B_200D_200B_206A_206A_202A_202B_200F_202E_202B_200B_200E_200B_206D_200B_202E_202D_202B_206A_206D_202D_202A_200B_200B_200C_202E((ILogger)logger, text, obj); - SetState(EState.BuyItem); return ETaskResult.StillRunning; } - case 42: - num2 = ((!_206F_200D_202E_206A_206F_200C_206A_200C_202B_206F_206A_200D_200E_206B_200E_200D_200B_200D_202A_206A_200F_206E_206A_206A_200D_206E_202C_206F_202D_206A_206B_206F_200D_206A_206B_206E_206C_206A_206A_206A_202E(gameGui)) ? 839409642 : 839409626); - break; - case 45: + if (VendorPurchaseActions.TryCloseShop(gameGui)) + { + logger.LogDebug("Closing shop"); + SetState(EState.WaitForClose); + } + return ETaskResult.StillRunning; + case EState.WaitForClose: + if (VendorPurchaseActions.IsShopReady(gameGui)) + { return ETaskResult.StillRunning; - case 0: - num2 = ((!_206B_200B_206C_202D_206B_206C_202E_202E_202C_206E_206E_200C_206F_202D_200B_200C_206A_200B_202B_202C_206C_206D_206A_202A_200F_200C_206C_200F_202A_200D_206A_206C_200E_202A_206B_206B_202C_200D_200C_200D_202E(gameGui)) ? 839409628 : 839409627); - break; - case 12: - num2 = (_throttle.TryReset(0.5) ? 839409632 : 839409647); - break; - case 29: - num2 = ((!_206F_200D_202E_206A_206F_200C_206A_200C_202B_206F_206A_200D_200E_206B_200E_200D_200B_200D_202A_206A_200F_206E_206A_206A_200D_206E_202C_206F_202D_206A_206B_206F_200D_206A_206B_206E_206C_206A_206A_206A_202E(gameGui)) ? 839409658 : 839409639); - break; - case 3: - _206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1460452754), Array.Empty()); - return ETaskResult.TaskComplete; - case 4: - return ETaskResult.StillRunning; - case 28: - num2 = ((!_206D_202A_202D_200F_206C_202A_200D_206A_202E_206A_206B_200C_206F_206B_202C_206D_200C_206C_202D_200F_202D_200F_206C_206C_200C_200D_202D_200C_202A_200D_202D_206D_200B_200D_202C_206D_206F_206A_202A_202C_202E(gameGui)) ? 839409637 : 839409623); - break; - case 48: - _200D_206B_206A_200C_200F_206A_202A_200E_200F_206D_202E_200D_200B_206A_200D_202B_200D_206C_202E_206A_202C_206B_202E_206F_206A_202B_202B_206B_202A_200C_202B_200B_202B_202C_206A_200C_202D_206B_206D_202B_202E(gameGui, -1); - _206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(408167584), Array.Empty()); - return ETaskResult.StillRunning; - case 5: - goto IL_0a14; - case 16: + } + if (VendorPurchaseActions.IsDialogReady(gameGui)) + { + if (!_throttle.TryReset(0.5)) { - _206D_202B_206F_206B_200B_206E_202B_206A_200B_206C_206C_202C_206A_206B_206F_206B_200D_200B_206A_206A_202A_202B_200F_202E_202B_200B_200E_200B_206D_200B_202E_202D_202B_206A_206D_202D_202A_200B_200B_200C_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1743816671), Array.Empty()); + return ETaskResult.StillRunning; + } + VendorPurchaseActions.TrySelectDialogOption(gameGui, -1); + logger.LogDebug("Dismissing post-shop dialog"); + return ETaskResult.StillRunning; + } + if (!condition[ConditionFlag.OccupiedInEvent]) + { + if (_failed) + { + logger.LogWarning("Shop closed after failed purchase, retrying"); return ETaskResult.RetryStep; } - IL_0a14: - num2 = (_throttle.TryReset(1.0) ? 839409624 : 839409619); - break; - IL_0892: - num2 = 839409646; - break; - IL_0831: - purchaseItem = base.Task.Purchases[_purchaseIndex]; - num2 = (_confirmationClicked ? 839409628 : 839409609); - break; - IL_0292: - num2 = ((!_206F_200E_200B_206B_202C_206A_206B_200E_206B_202E_206A_206D_202C_200D_200F_200B_200B_206B_202D_200C_200D_202C_202A_200E_206D_200E_200B_202A_206A_206F_206F_202C_202B_200F_202D_206C_200F_202C_202A_206B_202E(gameGui)) ? 839409620 : 839409640); - break; - IL_0195: - num2 = (_throttle.TryReset(0.5) ? 839409645 : 839409613); - break; - IL_055e: - num2 = (_throttle.TryReset(0.5) ? 839409621 : 839409630); - break; + logger.LogDebug("Shop closed, vendor purchase complete"); + return ETaskResult.TaskComplete; } + return ETaskResult.StillRunning; + default: + return ETaskResult.StillRunning; } } private void SetState(EState state) { _state = state; - _stateStartMs = _206E_206E_200E_202B_202A_206A_200C_206D_206A_202D_202B_206E_206D_206E_200C_200D_202A_200D_200C_202D_202E_200F_206D_206E_206C_202C_206C_206A_200E_206D_200F_206C_206E_202B_206A_206B_200E_200F_206E_206B_202E(); + _stateStartMs = Environment.TickCount64; } public override bool ShouldInterruptOnDamage() { return false; } - - static long _206E_206E_200E_202B_202A_206A_200C_206D_206A_202D_202B_206E_206D_206E_200C_200D_202A_200D_200C_202D_202E_200F_206D_206E_206C_202C_206C_206A_200E_206D_200F_206C_206E_202B_206A_206B_200E_200F_206E_206B_202E() - { - return Environment.TickCount64; - } - - static void _206D_202B_206F_206B_200B_206E_202B_206A_200B_206C_206C_202C_206A_206B_206F_206B_200D_200B_206A_206A_202A_202B_200F_202E_202B_200B_200E_200B_206D_200B_202E_202D_202B_206A_206D_202D_202A_200B_200B_200C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static void _206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _206F_200E_200B_206B_202C_206A_206B_200E_206B_202E_206A_206D_202C_200D_200F_200B_200B_206B_202D_200C_200D_202C_202A_200E_206D_200E_200B_202A_206A_206F_206F_202C_202B_200F_202D_206C_200F_202C_202A_206B_202E(IGameGui P_0) - { - return VendorPurchaseActions.IsShopReady(P_0); - } - - static bool _206F_200D_202E_206A_206F_200C_206A_200C_202B_206F_206A_200D_200E_206B_200E_200D_200B_200D_202A_206A_200F_206E_206A_206A_200D_206E_202C_206F_202D_206A_206B_206F_200D_206A_206B_206E_206C_206A_206A_206A_202E(IGameGui P_0) - { - return VendorPurchaseActions.IsDialogReady(P_0); - } - - static bool _200D_206B_206A_200C_200F_206A_202A_200E_200F_206D_202E_200D_200B_206A_200D_202B_200D_206C_202E_206A_202C_206B_202E_206F_206A_202B_202B_206B_202A_200C_202B_200B_202B_202C_206A_200C_202D_206B_206D_202B_202E(IGameGui P_0, int P_1) - { - return VendorPurchaseActions.TrySelectDialogOption(P_0, P_1); - } - - static int _200B_206D_202D_202A_202A_202E_206A_206E_206A_200C_202A_206C_206D_200E_206D_200D_206B_202D_202D_206A_206C_202C_202D_200F_206E_202D_206F_206F_206C_202C_202B_202A_200E_200E_200D_202B_200E_200C_206C_200D_202E(IGameGui P_0, uint P_1) - { - return VendorPurchaseActions.FindItemDisplayIndex(P_0, P_1); - } - - static void _200E_202B_200C_200C_206A_200E_206D_202D_200C_200F_200F_202C_200C_206F_206A_206D_202A_202A_202A_200F_206B_200C_200E_206C_206B_206F_202E_200E_206B_206F_206C_202E_206B_206B_202B_200C_202B_200C_206E_200D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogError(P_1, P_2); - } - - static bool _206F_200D_206B_206C_202C_202D_206A_200F_200B_206E_206A_206B_200C_206D_200D_200E_206B_202E_200F_206B_200C_200E_206F_206D_202A_202C_200B_206D_202A_206D_200E_202D_202A_200E_202A_200F_200C_202E_202B_202A_202E(IGameGui P_0, int P_1, int P_2) - { - return VendorPurchaseActions.TryBuyItem(P_0, P_1, P_2); - } - - static bool _206B_200B_206C_202D_206B_206C_202E_202E_202C_206E_206E_200C_206F_202D_200B_200C_206A_200B_202B_202C_206C_206D_206A_202A_200F_200C_206C_200F_202A_200D_206A_206C_200E_202A_206B_206B_202C_200D_200C_200D_202E(IGameGui P_0) - { - return VendorPurchaseActions.TryConfirmPurchase(P_0); - } - - static bool _206D_202A_202D_200F_206C_202A_200D_206A_202E_206A_206B_200C_206F_206B_202C_206D_200C_206C_202D_200F_202D_200F_206C_206C_200C_200D_202D_200C_202A_200D_202D_206D_200B_200D_202C_206D_206F_206A_202A_202C_202E(IGameGui P_0) - { - return VendorPurchaseActions.TryCloseShop(P_0); - } - - static bool _202D_202E_202D_206E_202A_202A_206B_206B_202C_202E_200B_200D_202B_202C_202E_200B_202B_200E_200D_206E_202B_206B_206C_206C_202A_202D_202B_202E_200C_200C_206C_202A_200D_200C_200F_202C_202C_200F_206B_202D_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } } diff --git a/Questionable/Questionable.Controller.CustomDelivery/VendorPurchaseTask.cs b/Questionable/Questionable.Controller.CustomDelivery/VendorPurchaseTask.cs index 9d7db25..bbb87a8 100644 --- a/Questionable/Questionable.Controller.CustomDelivery/VendorPurchaseTask.cs +++ b/Questionable/Questionable.Controller.CustomDelivery/VendorPurchaseTask.cs @@ -1,244 +1,18 @@ -using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Questionable.Controller.Steps; namespace Questionable.Controller.CustomDelivery; internal sealed record VendorPurchaseTask(uint VendorNpcId, IReadOnlyList Purchases, int DialogOptionIndex = 0) : ITask { - internal readonly record struct PurchaseItem(uint ItemId, int Quantity) - { - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206F_200F_200F_206B_200C_206F_200D_202E_206F_202D_200D_200E_202C_202E_206F_206C_200D_206D_206F_206D_206E_206A_206B_206F_206E_200D_200C_206B_200F_200D_200C_202A_202B_200F_206D_200E_202C_202D_206A_202C_202E(); - _202E_200B_206F_206D_202A_200F_206B_200D_200F_202C_202E_200B_206B_206D_202D_206B_202B_206F_206A_200E_202C_202C_202A_206B_206A_206B_202B_206A_202B_206A_206D_202D_206F_206C_206C_206A_206D_206C_202B_202E_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1504160608)); - _202E_200B_206F_206D_202A_200F_206B_200D_200F_202C_202E_200B_206B_206D_202D_206B_202B_206F_206A_200E_202C_202C_202A_206B_206A_206B_202B_206A_202B_206A_206D_202D_206F_206C_206C_206A_206D_206C_202B_202E_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1664411125)); - int num = ((!PrintMembers(stringBuilder)) ? 1320909858 : 1320909859); - while (true) - { - int num2 = num; - int num3 = 1320909858; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 1320909859; - break; - case 1: - _202A_202A_206F_206C_206B_200F_202A_200F_200C_200D_206B_200E_206B_200E_200E_202D_206F_202E_206A_202E_206B_202B_200E_200F_200B_202E_200F_200B_202C_200D_200B_202A_206E_206D_200C_202C_202E_206A_200B_200F_202E(stringBuilder, ' '); - num = 1320909858; - break; - case 0: - _202A_202A_206F_206C_206B_200F_202A_200F_200C_200D_206B_200E_206B_200E_200E_202D_206F_202E_206A_202E_206B_202B_200E_200F_200B_202E_200F_200B_202C_200D_200B_202A_206E_206D_200C_202C_202E_206A_200B_200F_202E(stringBuilder, '}'); - return _206C_202D_206D_200E_200B_200F_200E_200C_202C_206D_206A_202E_202E_200C_206D_202E_200B_202C_206B_200F_206A_200D_202E_206D_200B_206A_202B_202C_200F_200F_200B_202E_202C_202B_200E_202B_206C_206E_200E_200C_202E((object)stringBuilder); - } - } - } + internal readonly record struct PurchaseItem(uint ItemId, int Quantity); - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202E_200B_206F_206D_202A_200F_206B_200D_200F_202C_202E_200B_206B_206D_202D_206B_202B_206F_206A_200E_202C_202C_202A_206B_206A_206B_202B_206A_202B_206A_206D_202D_206F_206C_206C_206A_206D_206C_202B_202E_202E(builder, 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(-1176260912)); - _202E_200B_206F_206D_202A_200F_206B_200D_200F_202C_202E_200B_206B_206D_202D_206B_202B_206F_206A_200E_202C_202C_202A_206B_206A_206B_202B_206A_202B_206A_206D_202D_206F_206C_206C_206A_206D_206C_202B_202E_202E(builder, ItemId.ToString()); - _202E_200B_206F_206D_202A_200F_206B_200D_200F_202C_202E_200B_206B_206D_202D_206B_202B_206F_206A_200E_202C_202C_202A_206B_206A_206B_202B_206A_202B_206A_206D_202D_206F_206C_206C_206A_206D_206C_202B_202E_202E(builder, 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(-640041388)); - _202E_200B_206F_206D_202A_200F_206B_200D_200F_202C_202E_200B_206B_206D_202D_206B_202B_206F_206A_200E_202C_202C_202A_206B_206A_206B_202B_206A_202B_206A_206D_202D_206F_206C_206C_206A_206D_206C_202B_202E_202E(builder, Quantity.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(PurchaseItem other) - { - int num = ((!EqualityComparer.Default.Equals(ItemId, other.ItemId)) ? (-997799700) : (-997799699)); - while (true) - { - int num2 = num; - int num3 = -997799700; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0058; - case 1: - return EqualityComparer.Default.Equals(Quantity, other.Quantity); - case 0: - return false; - } - continue; - IL_0058: - num = -997799699; - } - } - - bool IEquatable.Equals(PurchaseItem other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _206F_200F_200F_206B_200C_206F_200D_202E_206F_202D_200D_200E_202C_202E_206F_206C_200D_206D_206F_206D_206E_206A_206B_206F_206E_200D_200C_206B_200F_200D_200C_202A_202B_200F_206D_200E_202C_202D_206A_202C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202E_200B_206F_206D_202A_200F_206B_200D_200F_202C_202E_200B_206B_206D_202D_206B_202B_206F_206A_200E_202C_202C_202A_206B_206A_206B_202B_206A_202B_206A_206D_202D_206F_206C_206C_206A_206D_206C_202B_202E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202A_202A_206F_206C_206B_200F_202A_200F_200C_200D_206B_200E_206B_200E_200E_202D_206F_202E_206A_202E_206B_202B_200E_200F_200B_202E_200F_200B_202C_200D_200B_202A_206E_206D_200C_202C_202E_206A_200B_200F_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206C_202D_206D_200E_200B_200F_200E_200C_202C_206D_206A_202E_202E_200C_206D_202E_200B_202C_206B_200F_206A_200D_202E_206D_200B_206A_202B_202C_200F_200F_200B_202E_202C_202B_200E_202B_206C_206E_200E_200C_202E(object P_0) - { - return P_0.ToString(); - } - } - - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206B_206B_206F_200C_206F_202C_206A_200C_206B_206C_200C_200B_200F_200B_202E_202A_200E_200C_206E_206B_202D_202E_202D_206A_200F_202B_202E_202B_206A_206F_206A_200B_200C_200D_200B_206A_206D_200B_206B_202E(typeof(VendorPurchaseTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - int num = ((Purchases.Count == 1) ? 681809870 : 681809871); - while (true) + if (Purchases.Count == 1) { - int num2 = num; - int num3 = 681809870; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0052; - case 0: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(34, 4); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-426748651)); - defaultInterpolatedStringHandler2.AppendFormatted(VendorNpcId); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1317325121)); - defaultInterpolatedStringHandler2.AppendFormatted(Purchases[0].ItemId); - defaultInterpolatedStringHandler2.AppendLiteral(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(-1725354679)); - defaultInterpolatedStringHandler2.AppendFormatted(Purchases[0].Quantity); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1203794399)); - defaultInterpolatedStringHandler2.AppendFormatted(DialogOptionIndex); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1618480346)); - return defaultInterpolatedStringHandler2.ToStringAndClear(); - } - case 1: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(33, 3); - defaultInterpolatedStringHandler.AppendLiteral(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(-1531781508)); - defaultInterpolatedStringHandler.AppendFormatted(VendorNpcId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1467939024)); - defaultInterpolatedStringHandler.AppendFormatted(Purchases.Count); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1987907938)); - defaultInterpolatedStringHandler.AppendFormatted(DialogOptionIndex); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - } - continue; - IL_0052: - num = 681809871; + return $"VendorPurchase({VendorNpcId}, item {Purchases[0].ItemId} x{Purchases[0].Quantity}, dialog {DialogOptionIndex})"; } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200C_200B_202C_202A_206A_206D_206B_200C_202A_202C_202A_202A_202E_206E_206B_206B_200B_206B_200B_200E_206A_200C_206A_206C_206E_200F_202E_200E_202D_206E_202D_202C_202E_202A_206A_206C_206D_200D_200E_200E_202E(); - _206A_206F_206E_206E_202A_202A_206A_200C_200F_200B_206F_206A_202A_200C_206A_202E_206F_200E_206C_206B_200F_206A_200E_200E_206F_200D_202B_202B_200D_206F_206D_200C_200B_206F_206E_200C_206E_200B_200D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(206754998)); - _206A_206F_206E_206E_202A_202A_206A_200C_200F_200B_206F_206A_202A_200C_206A_202E_206F_200E_206C_206B_200F_206A_200E_200E_206F_200D_202B_202B_200D_206F_206D_200C_200B_206F_206E_200C_206E_200B_200D_202E(builder, VendorNpcId.ToString()); - _206A_206F_206E_206E_202A_202A_206A_200C_200F_200B_206F_206A_202A_200C_206A_202E_206F_200E_206C_206B_200F_206A_200E_200E_206F_200D_202B_202B_200D_206F_206D_200C_200B_206F_206E_200C_206E_200B_200D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(166759684)); - _202E_206F_200B_202B_202B_202E_200F_206C_200B_200B_202A_206F_200E_200E_206B_202E_202B_206E_206C_202B_200F_200E_202B_206F_202D_202A_206A_200E_200E_206F_206A_200B_206E_206D_206F_206F_202C_202D_206A_202A_202E(builder, (object)Purchases); - _206A_206F_206E_206E_202A_202A_206A_200C_200F_200B_206F_206A_202A_200C_206A_202E_206F_200E_206C_206B_200F_206A_200E_200E_206F_200D_202B_202B_200D_206F_206D_200C_200B_206F_206E_200C_206E_200B_200D_202E(builder, 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(474766985)); - _206A_206F_206E_206E_202A_202A_206A_200C_200F_200B_206F_206A_202A_200C_206A_202E_206F_200E_206C_206B_200F_206A_200E_200E_206F_200D_202B_202B_200D_206F_206D_200C_200B_206F_206E_200C_206E_200B_200D_202E(builder, DialogOptionIndex.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(VendorPurchaseTask? other) - { - int num = (((object)this == other) ? (-1933996366) : (-1933996367)); - while (true) - { - int num2 = num; - int num3 = -1933996361; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1933996367; - break; - case 5: - return true; - case 6: - num = (((object)other == null) ? (-1933996364) : (-1933996362)); - break; - case 2: - return EqualityComparer.Default.Equals(DialogOptionIndex, other.DialogOptionIndex); - case 7: - num = ((!EqualityComparer.Default.Equals(VendorNpcId, other.VendorNpcId)) ? (-1933996364) : (-1933996365)); - break; - case 4: - num = ((!EqualityComparer>.Default.Equals(Purchases, other.Purchases)) ? (-1933996364) : (-1933996363)); - break; - case 1: - num = ((!_202C_202E_200C_202E_202C_200D_200B_200F_206C_202E_202A_200D_200C_200D_202E_206F_202A_202C_202A_200F_200D_202D_206F_206D_206B_206F_206A_202E_200F_202D_202A_202A_200E_200B_202D_206D_206B_200B_202A_202B_202E(EqualityContract, other.EqualityContract)) ? (-1933996364) : (-1933996368)); - break; - case 3: - return false; - } - } - } - - bool IEquatable.Equals(VendorPurchaseTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206B_206B_206F_200C_206F_202C_206A_200C_206B_206C_200C_200B_200F_200B_202E_202A_200E_200C_206E_206B_202D_202E_202D_206A_200F_202B_202E_202B_206A_206F_206A_200B_200C_200D_200B_206A_206D_200B_206B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _200C_200B_202C_202A_206A_206D_206B_200C_202A_202C_202A_202A_202E_206E_206B_206B_200B_206B_200B_200E_206A_200C_206A_206C_206E_200F_202E_200E_202D_206E_202D_202C_202E_202A_206A_206C_206D_200D_200E_200E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206A_206F_206E_206E_202A_202A_206A_200C_200F_200B_206F_206A_202A_200C_206A_202E_206F_200E_206C_206B_200F_206A_200E_200E_206F_200D_202B_202B_200D_206F_206D_200C_200B_206F_206E_200C_206E_200B_200D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202E_206F_200B_202B_202B_202E_200F_206C_200B_200B_202A_206F_200E_200E_206B_202E_202B_206E_206C_202B_200F_200E_202B_206F_202D_202A_206A_200E_200E_206F_206A_200B_206E_206D_206F_206F_202C_202D_206A_202A_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202C_202E_200C_202E_202C_200D_200B_200F_206C_202E_202A_200D_200C_200D_202E_206F_202A_202C_202A_200F_200D_202D_206F_206D_206B_206F_206A_202E_200F_202D_202A_202A_200E_200B_202D_206D_206B_200B_202A_202B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"VendorPurchase({VendorNpcId}, {Purchases.Count} items, dialog {DialogOptionIndex})"; } } diff --git a/Questionable/Questionable.Controller.CustomDelivery/VendorResolverService.cs b/Questionable/Questionable.Controller.CustomDelivery/VendorResolverService.cs index 3f0d17d..004dd0e 100644 --- a/Questionable/Questionable.Controller.CustomDelivery/VendorResolverService.cs +++ b/Questionable/Questionable.Controller.CustomDelivery/VendorResolverService.cs @@ -1,8 +1,5 @@ -using System; using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Plugin.Services; using LLib.GameData; using LLib.Shop; @@ -14,579 +11,100 @@ namespace Questionable.Controller.CustomDelivery; internal sealed class VendorResolverService(IDataManager dataManager, VendorResolver vendorResolver, NpcPositionCache npcPositionCache, ILogger logger) { - internal readonly record struct IngredientInfo(uint ItemId, int CountPerCraft) - { - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200E_206E_200E_206F_200D_200E_202C_206A_200C_202A_206B_200E_200E_202E_202C_200D_202A_206E_206D_200C_200F_202A_206C_200E_202D_200B_200C_206D_206A_206B_202D_206B_200C_206C_206F_206B_202D_202E_206C_200D_202E(); - _202C_206A_206F_206A_200F_206C_200E_200B_202E_200F_202E_200C_206F_202B_206C_206E_202C_200C_206A_202B_206E_202E_200F_200E_206E_202E_200B_206C_200D_206F_200E_202B_202D_206D_202A_200B_206C_206A_206F_206C_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1900362320)); - _202C_206A_206F_206A_200F_206C_200E_200B_202E_200F_202E_200C_206F_202B_206C_206E_202C_200C_206A_202B_206E_202E_200F_200E_206E_202E_200B_206C_200D_206F_200E_202B_202D_206D_202A_200B_206C_206A_206F_206C_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(556540328)); - int num = ((!PrintMembers(stringBuilder)) ? 985551290 : 985551291); - while (true) - { - int num2 = num; - int num3 = 985551290; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 985551291; - break; - case 0: - _202D_206F_206D_200C_206E_206F_200C_200D_202C_200B_202D_202B_206E_202A_206F_200F_200C_200B_206C_202B_206F_200C_202E_202D_200E_202D_202B_200F_200D_202D_200B_202C_202E_200E_206A_202E_206A_206E_202B_206C_202E(stringBuilder, '}'); - return _200C_206D_202E_202B_202E_202D_206B_200C_206B_202B_206D_200B_206F_206F_200C_200E_206F_202B_200B_200C_202D_206A_202C_206A_206D_200F_206E_200F_200E_206C_202B_200B_202E_202E_200B_202C_202D_202D_200E_206E_202E((object)stringBuilder); - case 1: - _202D_206F_206D_200C_206E_206F_200C_200D_202C_200B_202D_202B_206E_202A_206F_200F_200C_200B_206C_202B_206F_200C_202E_202D_200E_202D_202B_200F_200D_202D_200B_202C_202E_200E_206A_202E_206A_206E_202B_206C_202E(stringBuilder, ' '); - num = 985551290; - break; - } - } - } + internal readonly record struct IngredientInfo(uint ItemId, int CountPerCraft); - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202C_206A_206F_206A_200F_206C_200E_200B_202E_200F_202E_200C_206F_202B_206C_206E_202C_200C_206A_202B_206E_202E_200F_200E_206E_202E_200B_206C_200D_206F_200E_202B_202D_206D_202A_200B_206C_206A_206F_206C_202E(builder, 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(-1176260912)); - _202C_206A_206F_206A_200F_206C_200E_200B_202E_200F_202E_200C_206F_202B_206C_206E_202C_200C_206A_202B_206E_202E_200F_200E_206E_202E_200B_206C_200D_206F_200E_202B_202D_206D_202A_200B_206C_206A_206F_206C_202E(builder, ItemId.ToString()); - _202C_206A_206F_206A_200F_206C_200E_200B_202E_200F_202E_200C_206F_202B_206C_206E_202C_200C_206A_202B_206E_202E_200F_200E_206E_202E_200B_206C_200D_206F_200E_202B_202D_206D_202A_200B_206C_206A_206F_206C_202E(builder, 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(-710805120)); - _202C_206A_206F_206A_200F_206C_200E_200B_202E_200F_202E_200C_206F_202B_206C_206E_202C_200C_206A_202B_206E_202E_200F_200E_206E_202E_200B_206C_200D_206F_200E_202B_202D_206D_202A_200B_206C_206A_206F_206C_202E(builder, CountPerCraft.ToString()); - return true; - } + internal readonly record struct RecipeInfo(uint RecipeId, uint CraftedItemId, IReadOnlyList Ingredients, EClassJob CraftingClass); - [CompilerGenerated] - public bool Equals(IngredientInfo other) - { - int num = ((!EqualityComparer.Default.Equals(ItemId, other.ItemId)) ? (-577386697) : (-577386700)); - while (true) - { - int num2 = num; - int num3 = -577386698; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return false; - case 2: - return EqualityComparer.Default.Equals(CountPerCraft, other.CountPerCraft); - case 0: - goto IL_0071; - } - continue; - IL_0071: - num = -577386700; - } - } + internal readonly record struct VendorInfo(uint ShopId, uint VendorNpcId, ushort TerritoryId, Vector3 Position, int DialogOptionIndex); - bool IEquatable.Equals(IngredientInfo other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _200E_206E_200E_206F_200D_200E_202C_206A_200C_202A_206B_200E_200E_202E_202C_200D_202A_206E_206D_200C_200F_202A_206C_200E_202D_200B_200C_206D_206A_206B_202D_206B_200C_206C_206F_206B_202D_202E_206C_200D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202C_206A_206F_206A_200F_206C_200E_200B_202E_200F_202E_200C_206F_202B_206C_206E_202C_200C_206A_202B_206E_202E_200F_200E_206E_202E_200B_206C_200D_206F_200E_202B_202D_206D_202A_200B_206C_206A_206F_206C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202D_206F_206D_200C_206E_206F_200C_200D_202C_200B_202D_202B_206E_202A_206F_200F_200C_200B_206C_202B_206F_200C_202E_202D_200E_202D_202B_200F_200D_202D_200B_202C_202E_200E_206A_202E_206A_206E_202B_206C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200C_206D_202E_202B_202E_202D_206B_200C_206B_202B_206D_200B_206F_206F_200C_200E_206F_202B_200B_200C_202D_206A_202C_206A_206D_200F_206E_200F_200E_206C_202B_200B_202E_202E_200B_202C_202D_202D_200E_206E_202E(object P_0) - { - return P_0.ToString(); - } - } - - internal readonly record struct RecipeInfo(uint RecipeId, uint CraftedItemId, IReadOnlyList Ingredients, EClassJob CraftingClass) - { - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206C_206D_202C_206A_206C_206D_206A_200C_202C_206A_206A_202B_206F_200E_206C_206F_206F_200D_200F_200C_206E_202C_206E_206F_202D_202B_200F_206F_202A_206E_202E_202E_206F_202C_202C_206F_202E_200E_202A_206F_202E(); - _200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1038169593)); - _200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1664411125)); - int num = ((!PrintMembers(stringBuilder)) ? 935744891 : 935744888); - while (true) - { - int num2 = num; - int num3 = 935744890; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 935744888; - break; - case 1: - _202A_202B_202D_206F_206C_206D_202E_202A_206D_200F_200D_202A_202A_200E_206E_206E_206B_200D_206A_202C_200B_206A_202A_202C_206D_200F_200F_200C_200E_206E_200D_206B_202E_200F_202D_200B_202B_202C_202B_202C_202E(stringBuilder, '}'); - return _206C_202A_202D_202C_206F_206A_200C_202B_200C_200E_206B_200C_200E_206D_206E_202C_206F_206E_200E_200C_202C_206E_206A_202D_206B_202B_200D_200E_202E_206D_206C_202C_200C_206F_200B_202C_200F_202B_200F_206D_202E((object)stringBuilder); - case 2: - _202A_202B_202D_206F_206C_206D_202E_202A_206D_200F_200D_202A_202A_200E_206E_206E_206B_200D_206A_202C_200B_206A_202A_202C_206D_200F_200F_200C_200E_206E_200D_206B_202E_200F_202D_200B_202B_202C_202B_202C_202E(stringBuilder, ' '); - num = 935744891; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1168472186)); - _200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(builder, RecipeId.ToString()); - _200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-229385593)); - _200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(builder, CraftedItemId.ToString()); - _200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1346587480)); - _200D_202A_202C_206A_206F_202D_206A_202C_206D_206F_206D_202A_202B_200E_200E_206B_200F_206C_206D_206D_206E_202B_200C_200D_200D_202D_202C_200C_200F_206F_202D_206A_202E_206A_200F_202B_206C_206A_200D_206B_202E(builder, (object)Ingredients); - _200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-356853243)); - _200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(builder, CraftingClass.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(RecipeInfo other) - { - int num = ((!EqualityComparer.Default.Equals(RecipeId, other.RecipeId)) ? 1163014536 : 1163014541); - while (true) - { - int num2 = num; - int num3 = 1163014537; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = 1163014541; - break; - case 1: - return false; - case 0: - num = ((!EqualityComparer>.Default.Equals(Ingredients, other.Ingredients)) ? 1163014536 : 1163014539); - break; - case 2: - return EqualityComparer.Default.Equals(CraftingClass, other.CraftingClass); - case 4: - num = ((!EqualityComparer.Default.Equals(CraftedItemId, other.CraftedItemId)) ? 1163014536 : 1163014537); - break; - } - } - } - - bool IEquatable.Equals(RecipeInfo other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _206C_206D_202C_206A_206C_206D_206A_200C_202C_206A_206A_202B_206F_200E_206C_206F_206F_200D_200F_200C_206E_202C_206E_206F_202D_202B_200F_206F_202A_206E_202E_202E_206F_202C_202C_206F_202E_200E_202A_206F_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202A_202B_202D_206F_206C_206D_202E_202A_206D_200F_200D_202A_202A_200E_206E_206E_206B_200D_206A_202C_200B_206A_202A_202C_206D_200F_200F_200C_200E_206E_200D_206B_202E_200F_202D_200B_202B_202C_202B_202C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206C_202A_202D_202C_206F_206A_200C_202B_200C_200E_206B_200C_200E_206D_206E_202C_206F_206E_200E_200C_202C_206E_206A_202D_206B_202B_200D_200E_202E_206D_206C_202C_200C_206F_200B_202C_200F_202B_200F_206D_202E(object P_0) - { - return P_0.ToString(); - } - - static StringBuilder _200D_202A_202C_206A_206F_202D_206A_202C_206D_206F_206D_202A_202B_200E_200E_206B_200F_206C_206D_206D_206E_202B_200C_200D_200D_202D_202C_200C_200F_206F_202D_206A_202E_206A_200F_202B_206C_206A_200D_206B_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - } - - internal readonly record struct VendorInfo(uint ShopId, uint VendorNpcId, ushort TerritoryId, Vector3 Position, int DialogOptionIndex) - { - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206E_200F_206A_202A_206C_202A_202A_200B_202D_206E_202E_202B_206C_206D_206D_202A_202A_206F_202A_202B_206B_200C_200E_206F_206F_200F_202D_206F_206F_206C_206C_202A_206B_202D_200C_200B_200E_202A_206E_200D_202E(); - _206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1730025500)); - _206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1664411125)); - int num = ((!PrintMembers(stringBuilder)) ? (-1077906353) : (-1077906356)); - while (true) - { - int num2 = num; - int num3 = -1077906354; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1077906356; - break; - case 2: - _206B_206D_202D_200B_202A_200B_206D_200E_206A_200F_202E_202D_200E_202B_200F_206A_200C_206B_206B_206A_200F_206B_206E_202B_200B_206A_206D_200B_206E_200C_200B_202E_202D_202D_200C_202E_202B_200C_202A_200D_202E(stringBuilder, ' '); - num = -1077906353; - break; - case 1: - _206B_206D_202D_200B_202A_200B_206D_200E_206A_200F_202E_202D_200E_202B_200F_206A_200C_206B_206B_206A_200F_206B_206E_202B_200B_206A_206D_200B_206E_200C_200B_202E_202D_202D_200C_202E_202B_200C_202A_200D_202E(stringBuilder, '}'); - return _206D_200E_200B_202D_202E_206B_200F_202B_206D_206A_202E_206C_202B_200C_202B_206D_200D_202C_202E_202A_202D_200E_206B_202B_206B_202E_202D_206C_202E_200D_202A_206B_206F_200D_200E_200F_206D_202B_206A_206F_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(317359128)); - _206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, ShopId.ToString()); - _206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, 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(-88160107)); - _206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, VendorNpcId.ToString()); - _206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, 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(-1428648191)); - _206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, TerritoryId.ToString()); - _206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1993330002)); - _206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, Position.ToString()); - _206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, 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(2076481420)); - _206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, DialogOptionIndex.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(VendorInfo other) - { - int num = ((!EqualityComparer.Default.Equals(ShopId, other.ShopId)) ? 756999807 : 756999806); - while (true) - { - int num2 = num; - int num3 = 756999804; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = ((!EqualityComparer.Default.Equals(Position, other.Position)) ? 756999807 : 756999800); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(VendorNpcId, other.VendorNpcId)) ? 756999807 : 756999805); - break; - case 3: - return false; - case 1: - num = ((!EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId)) ? 756999807 : 756999804); - break; - case 5: - num = 756999806; - break; - case 4: - return EqualityComparer.Default.Equals(DialogOptionIndex, other.DialogOptionIndex); - } - } - } - - bool IEquatable.Equals(VendorInfo other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _206E_200F_206A_202A_206C_202A_202A_200B_202D_206E_202E_202B_206C_206D_206D_202A_202A_206F_202A_202B_206B_200C_200E_206F_206F_200F_202D_206F_206F_206C_206C_202A_206B_202D_200C_200B_200E_202A_206E_200D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206B_206D_202D_200B_202A_200B_206D_200E_206A_200F_202E_202D_200E_202B_200F_206A_200C_206B_206B_206A_200F_206B_206E_202B_200B_206A_206D_200B_206E_200C_200B_202E_202D_202D_200C_202E_202B_200C_202A_200D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206D_200E_200B_202D_202E_206B_200F_202B_206D_206A_202E_206C_202B_200C_202B_206D_200D_202C_202E_202A_202D_200E_206B_202B_206B_202E_202D_206C_202E_200D_202A_206B_206F_200D_200E_200F_206D_202B_206A_206F_202E(object P_0) - { - return P_0.ToString(); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public RecipeInfo? ResolveRecipe(uint craftedItemId, EClassJob? preferredJob = null) { - RecipeLookup row; - int num = (dataManager.GetExcelSheet().TryGetRow(craftedItemId, out row) ? (-1604445138) : (-1604445150)); - List list = default(List); - Recipe row3 = default(Recipe); - List list2 = default(List); - Recipe row2 = default(Recipe); - uint item = default(uint); - (EClassJob, uint)[] array2 = default((EClassJob, uint)[]); - int num5 = default(int); - EClassJob item2 = default(EClassJob); - (EClassJob, uint)[] array = default((EClassJob, uint)[]); - EClassJob item4 = default(EClassJob); - uint item3 = default(uint); - while (true) + if (!dataManager.GetExcelSheet().TryGetRow(craftedItemId, out var row)) { - int num2 = num; - int num3 = -1604445143; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + logger.LogDebug("No RecipeLookup row for item {ItemId}", craftedItemId); + return null; + } + (EClassJob, uint)[] array = new(EClassJob, uint)[8] + { + (EClassJob.Carpenter, row.CRP.RowId), + (EClassJob.Blacksmith, row.BSM.RowId), + (EClassJob.Armorer, row.ARM.RowId), + (EClassJob.Goldsmith, row.GSM.RowId), + (EClassJob.Leatherworker, row.LTW.RowId), + (EClassJob.Weaver, row.WVR.RowId), + (EClassJob.Alchemist, row.ALC.RowId), + (EClassJob.Culinarian, row.CUL.RowId) + }; + (EClassJob, uint)[] array2; + if (preferredJob.HasValue) + { + array2 = array; + for (int i = 0; i < array2.Length; i++) { - case 9: - list = CollectIngredients(row3); - num = ((list.Count == 0) ? (-1604445141) : (-1604445146)); - break; - case 4: - list2 = CollectIngredients(row2); - num = ((list2.Count == 0) ? (-1604445143) : (-1604445128)); - break; - case 8: - num = ((item == 0) ? (-1604445148) : (-1604445145)); - break; - case 3: - { - (EClassJob, uint) tuple = array2[num5]; - item2 = tuple.Item1; - item = tuple.Item2; - num = ((item2 != preferredJob.Value) ? (-1604445148) : (-1604445151)); - break; - } - case 2: - array2 = array; - num5 = 0; - num = -1604445125; - break; - case 5: - { - (EClassJob, uint) tuple2 = array2[num5]; - item4 = tuple2.Item1; - item3 = tuple2.Item2; - num = ((item3 == 0) ? (-1604445143) : (-1604445147)); - break; - } - case 6: - num = -1604445150; - break; - case 12: - num = ((!dataManager.GetExcelSheet().TryGetRow(item3, out row2)) ? (-1604445143) : (-1604445139)); - break; - case 14: - num = ((!dataManager.GetExcelSheet().TryGetRow(item, out row3)) ? (-1604445141) : (-1604445152)); - break; - case 0: - { - int num7 = num5; - num3 = 1; - num4 = num7; - int num8 = num4 ^ num3; - int num9 = num4 & num3; - num5 = num8 + (num9 + num9); - num = -1604445125; - break; - } - case 11: - _202D_202B_202B_200D_202A_202B_206C_202D_200F_206F_206C_202D_200C_202D_206B_202C_200D_206B_206F_206F_200B_202A_200B_200B_206C_202A_200E_202D_206B_206F_202A_200B_206E_200C_202B_202A_206A_200F_202D_202B_202E((ILogger)logger, 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(-1431969650), new object[1] { craftedItemId }); - return null; - case 16: - num = ((num5 < array2.Length) ? (-1604445142) : (-1604445141)); - break; - case 10: - array2 = array; - num5 = 0; - num = -1604445127; - break; - case 18: - num = ((num5 < array2.Length) ? (-1604445140) : (-1604445144)); - break; - case 13: - { - int num6 = num5; - num3 = 1; - num4 = num6; - num5 = (num4 | num3) + (num4 & num3); - num = -1604445127; - break; - } - case 7: - array = new(EClassJob, uint)[8] + var (eClassJob, num) = array2[i]; + if (eClassJob == preferredJob.Value && num != 0) { - (EClassJob.Carpenter, row.CRP.RowId), - (EClassJob.Blacksmith, row.BSM.RowId), - (EClassJob.Armorer, row.ARM.RowId), - (EClassJob.Goldsmith, row.GSM.RowId), - (EClassJob.Leatherworker, row.LTW.RowId), - (EClassJob.Weaver, row.WVR.RowId), - (EClassJob.Alchemist, row.ALC.RowId), - (EClassJob.Culinarian, row.CUL.RowId) - }; - num = ((!preferredJob.HasValue) ? (-1604445141) : (-1604445149)); - break; - case 17: - _202D_202B_202B_200D_202A_202B_206C_202D_200F_206F_206C_202D_200C_202D_206B_202C_200D_206B_206F_206F_200B_202A_200B_200B_206C_202A_200E_202D_206B_206F_202A_200B_206E_200C_202B_202A_206A_200F_202D_202B_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1407786323), new object[4] { item3, item4, craftedItemId, list2.Count }); - return new RecipeInfo(item3, craftedItemId, list2, item4); - case 1: - _202D_202B_202B_200D_202A_202B_206C_202D_200F_206F_206C_202D_200C_202D_206B_202C_200D_206B_206F_206F_200B_202A_200B_200B_206C_202A_200E_202D_206B_206F_202A_200B_206E_200C_202B_202A_206A_200F_202D_202B_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1806969075), new object[1] { craftedItemId }); - return null; - case 15: - _202D_202B_202B_200D_202A_202B_206C_202D_200F_206F_206C_202D_200C_202D_206B_202C_200D_206B_206F_206F_200B_202A_200B_200B_206C_202A_200E_202D_206B_206F_202A_200B_206E_200C_202B_202A_206A_200F_202D_202B_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1664800932), new object[4] { item, item2, craftedItemId, list.Count }); - return new RecipeInfo(item, craftedItemId, list, item2); + if (!dataManager.GetExcelSheet().TryGetRow(num, out var row2)) + { + break; + } + List list = CollectIngredients(row2); + if (list.Count == 0) + { + break; + } + logger.LogDebug("Resolved recipe {RecipeId} ({ClassJob}) for item {ItemId} via preferred job: {Count} ingredient(s)", num, eClassJob, craftedItemId, list.Count); + return new RecipeInfo(num, craftedItemId, list, eClassJob); + } } } + array2 = array; + for (int i = 0; i < array2.Length; i++) + { + var (eClassJob2, num2) = array2[i]; + if (num2 != 0 && dataManager.GetExcelSheet().TryGetRow(num2, out var row3)) + { + List list2 = CollectIngredients(row3); + if (list2.Count != 0) + { + logger.LogDebug("Resolved recipe {RecipeId} ({ClassJob}) for item {ItemId}: {Count} ingredient(s)", num2, eClassJob2, craftedItemId, list2.Count); + return new RecipeInfo(num2, craftedItemId, list2, eClassJob2); + } + } + } + logger.LogDebug("No valid recipe found for item {ItemId}", craftedItemId); + return null; } - [MethodImpl(MethodImplOptions.NoInlining)] public VendorInfo? ResolveVendor(uint ingredientId) { - int num = (_200B_202E_200F_200C_206F_202B_206F_200E_206B_200E_200E_206E_206D_202D_200E_206C_206A_200F_200C_206F_202D_202E_206C_206B_202D_206E_206C_200E_206B_206B_202E_202E_200C_200F_206B_206D_202B_200C_200E_202B_202E(npcPositionCache) ? 1075940384 : 1075940385); - ShopSearchResult shopSearchResult = default(ShopSearchResult); - while (true) + if (!npcPositionCache.IsBuilt) { - int num2 = num; - int num3 = 1075940386; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _202D_202B_202B_200D_202A_202B_206C_202D_200F_206F_206C_202D_200C_202D_206B_202C_200D_206B_206F_206F_200B_202A_200B_200B_206C_202A_200E_202D_206B_206F_202A_200B_206E_200C_202B_202A_206A_200F_202D_202B_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-563414727), new object[1] { ingredientId }); - return null; - case 3: - _200D_202E_206C_202D_200B_202A_202E_202B_202D_200D_200F_206E_206B_200E_200C_200C_200D_206F_206C_202D_200E_206D_202C_202A_200C_200E_200C_200C_206F_202A_202C_200D_202B_202D_200C_206B_200B_206E_200E_202D_202E((ILogger)logger, 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(1813598717), new object[1] { ingredientId }); - return null; - case 4: - num = 1075940385; - break; - case 0: - _202D_202B_202B_200D_202A_202B_206C_202D_200F_206F_206C_202D_200C_202D_206B_202C_200D_206B_206F_206F_200B_202A_200B_200B_206C_202A_200E_202D_206B_206F_202A_200B_206E_200C_202B_202A_206A_200F_202D_202B_202E((ILogger)logger, 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(1256305400), new object[5] - { - _202D_202E_206F_206C_206F_202E_200B_200E_202B_202B_200F_200F_206A_200F_200E_206A_202C_202D_206B_206E_200D_206C_206E_206E_200D_200E_200F_200B_202A_202B_206B_202D_206B_200B_202D_200E_202A_206B_200B_202E_202E(shopSearchResult), - ingredientId, - _200D_200D_206C_202A_200D_206A_206E_202E_206D_206F_206E_200B_206D_202E_206D_200C_200F_206C_202C_206E_206E_206E_202B_206F_200C_206B_206F_206D_202E_206C_206C_200B_206B_206E_202D_206B_206D_202E_206F_206A_202E(shopSearchResult), - _206D_202B_200C_206D_206F_200E_202E_202C_200C_202A_206B_202D_202E_200F_202A_202A_200C_200F_202B_206F_206D_206B_206F_202A_206E_206F_200D_206E_202B_206C_206E_206C_200B_206A_202E_200C_206B_202A_206B_206C_202E(shopSearchResult), - _206B_200C_200C_202B_202B_200F_202C_206F_200E_200B_200D_200C_202D_202A_200E_200C_206A_200C_206F_202A_206C_202E_206B_202B_206D_202C_200B_200B_200B_200D_206D_200B_202B_202E_202B_202D_200E_200C_202A_200C_202E(shopSearchResult) - }); - return new VendorInfo(_200D_200D_206C_202A_200D_206A_206E_202E_206D_206F_206E_200B_206D_202E_206D_200C_200F_206C_202C_206E_206E_206E_202B_206F_200C_206B_206F_206D_202E_206C_206C_200B_206B_206E_202D_206B_206D_202E_206F_206A_202E(shopSearchResult), _202D_202E_206F_206C_206F_202E_200B_200E_202B_202B_200F_200F_206A_200F_200E_206A_202C_202D_206B_206E_200D_206C_206E_206E_200D_200E_200F_200B_202A_202B_206B_202D_206B_200B_202D_200E_202A_206B_200B_202E_202E(shopSearchResult), _206D_202B_200C_206D_206F_200E_202E_202C_200C_202A_206B_202D_202E_200F_202A_202A_200C_200F_202B_206F_206D_206B_206F_202A_206E_206F_200D_206E_202B_206C_206E_206C_200B_206A_202E_200C_206B_202A_206B_206C_202E(shopSearchResult), _202A_200E_206F_206C_202B_202E_200F_206F_202C_202A_206E_200C_200B_202B_200D_206C_206F_206F_200F_206E_206C_200D_202B_202D_200F_206D_206B_200C_206D_206A_206C_206F_200C_206C_200C_206A_200B_202A_200B_202A_202E(shopSearchResult), _206B_200C_200C_202B_202B_200F_202C_206F_200E_200B_200D_200C_202D_202A_200E_200C_206A_200C_206F_202A_206C_202E_206B_202B_206D_202C_200B_200B_200B_200D_206D_200B_202B_202E_202B_202D_200E_200C_202A_200C_202E(shopSearchResult)); - case 2: - shopSearchResult = _206A_202E_202A_200E_202C_202E_202A_200D_200B_200C_200F_200B_202A_206F_202A_200F_202E_202E_206B_202A_200C_200F_206F_200B_200B_200B_202B_206B_202D_202B_206C_202B_206B_200C_206F_200C_206F_206A_206C_206E_202E(vendorResolver, ingredientId); - num = ((!_206D_200F_206D_202D_202D_200E_206B_206A_200E_200F_200C_202D_202C_202E_206D_206F_202C_200F_206A_200B_202A_206A_202B_206C_200D_202B_202C_202A_200B_206E_202E_206D_200E_200D_200C_206C_200D_200D_206B_206A_202E(shopSearchResult, (ShopSearchResult)null)) ? 1075940386 : 1075940387); - break; - } + logger.LogWarning("NPC position cache not built yet, cannot resolve a vendor for ingredient {IngredientId}", ingredientId); + return null; } + ShopSearchResult shopSearchResult = vendorResolver.FindGilVendor(ingredientId); + if (shopSearchResult == null) + { + logger.LogDebug("No vendor with known position found for ingredient {IngredientId}", ingredientId); + return null; + } + logger.LogDebug("Found vendor NPC {NpcId} selling ingredient {IngredientId} at shop {ShopId} in territory {TerritoryId} (dialog option {DialogOption})", shopSearchResult.NpcId, ingredientId, shopSearchResult.ShopId, shopSearchResult.TerritoryId, shopSearchResult.DialogOptionIndex); + return new VendorInfo(shopSearchResult.ShopId, shopSearchResult.NpcId, shopSearchResult.TerritoryId, shopSearchResult.NpcPosition, shopSearchResult.DialogOptionIndex); } private static List CollectIngredients(Recipe recipe) { List list = new List(); - int num = 0; - int num2 = 1773501195; - uint rowId = default(uint); - int num6 = default(int); - while (true) + for (int i = 0; i < recipe.Ingredient.Count; i++) { - int num3 = num2; - int num4 = 1773501198; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + uint rowId = recipe.Ingredient[i].RowId; + int num = recipe.AmountIngredient[i]; + if (rowId != 0 && num > 0) { - case 5: - num2 = ((num < recipe.Ingredient.Count) ? 1773501197 : 1773501196); - break; - case 1: - list.Add(new IngredientInfo(rowId, num6)); - num2 = 1773501192; - break; - case 2: - return list; - case 0: - num2 = ((num6 <= 0) ? 1773501192 : 1773501199); - break; - case 4: - num2 = 1773501195; - break; - case 6: - { - int num7 = num; - num4 = 1; - num5 = num7; - num = (num5 | num4) + (num5 & num4); - num2 = 1773501195; - break; - } - case 3: - rowId = recipe.Ingredient[num].RowId; - num6 = recipe.AmountIngredient[num]; - num2 = ((rowId == 0) ? 1773501192 : 1773501198); - break; + list.Add(new IngredientInfo(rowId, num)); } } - } - - static void _202D_202B_202B_200D_202A_202B_206C_202D_200F_206F_206C_202D_200C_202D_206B_202C_200D_206B_206F_206F_200B_202A_200B_200B_206C_202A_200E_202D_206B_206F_202A_200B_206E_200C_202B_202A_206A_200F_202D_202B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _200B_202E_200F_200C_206F_202B_206F_200E_206B_200E_200E_206E_206D_202D_200E_206C_206A_200F_200C_206F_202D_202E_206C_206B_202D_206E_206C_200E_206B_206B_202E_202E_200C_200F_206B_206D_202B_200C_200E_202B_202E(NpcPositionCache P_0) - { - return P_0.IsBuilt; - } - - static void _200D_202E_206C_202D_200B_202A_202E_202B_202D_200D_200F_206E_206B_200E_200C_200C_200D_206F_206C_202D_200E_206D_202C_202A_200C_200E_200C_200C_206F_202A_202C_200D_202B_202D_200C_206B_200B_206E_200E_202D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static ShopSearchResult _206A_202E_202A_200E_202C_202E_202A_200D_200B_200C_200F_200B_202A_206F_202A_200F_202E_202E_206B_202A_200C_200F_206F_200B_200B_200B_202B_206B_202D_202B_206C_202B_206B_200C_206F_200C_206F_206A_206C_206E_202E(VendorResolver P_0, uint P_1) - { - return P_0.FindGilVendor(P_1); - } - - static bool _206D_200F_206D_202D_202D_200E_206B_206A_200E_200F_200C_202D_202C_202E_206D_206F_202C_200F_206A_200B_202A_206A_202B_206C_200D_202B_202C_202A_200B_206E_202E_206D_200E_200D_200C_206C_200D_200D_206B_206A_202E(ShopSearchResult P_0, ShopSearchResult P_1) - { - return P_0 == P_1; - } - - static uint _202D_202E_206F_206C_206F_202E_200B_200E_202B_202B_200F_200F_206A_200F_200E_206A_202C_202D_206B_206E_200D_206C_206E_206E_200D_200E_200F_200B_202A_202B_206B_202D_206B_200B_202D_200E_202A_206B_200B_202E_202E(ShopSearchResult P_0) - { - return P_0.NpcId; - } - - static uint _200D_200D_206C_202A_200D_206A_206E_202E_206D_206F_206E_200B_206D_202E_206D_200C_200F_206C_202C_206E_206E_206E_202B_206F_200C_206B_206F_206D_202E_206C_206C_200B_206B_206E_202D_206B_206D_202E_206F_206A_202E(ShopSearchResult P_0) - { - return P_0.ShopId; - } - - static ushort _206D_202B_200C_206D_206F_200E_202E_202C_200C_202A_206B_202D_202E_200F_202A_202A_200C_200F_202B_206F_206D_206B_206F_202A_206E_206F_200D_206E_202B_206C_206E_206C_200B_206A_202E_200C_206B_202A_206B_206C_202E(ShopSearchResult P_0) - { - return P_0.TerritoryId; - } - - static int _206B_200C_200C_202B_202B_200F_202C_206F_200E_200B_200D_200C_202D_202A_200E_200C_206A_200C_206F_202A_206C_202E_206B_202B_206D_202C_200B_200B_200B_200D_206D_200B_202B_202E_202B_202D_200E_200C_202A_200C_202E(ShopSearchResult P_0) - { - return P_0.DialogOptionIndex; - } - - static Vector3 _202A_200E_206F_206C_202B_202E_200F_206F_202C_202A_206E_200C_200B_202B_200D_206C_206F_206F_200F_206E_206C_200D_202B_202D_200F_206D_206B_200C_206D_206A_206C_206F_200C_206C_200C_206A_200B_202A_200B_202A_202E(ShopSearchResult P_0) - { - return P_0.NpcPosition; + return list; } } diff --git a/Questionable/Questionable.Controller.DebugCommands/AbandonDutyCommandHandler.cs b/Questionable/Questionable.Controller.DebugCommands/AbandonDutyCommandHandler.cs index 35df1d2..f3e7452 100644 --- a/Questionable/Questionable.Controller.DebugCommands/AbandonDutyCommandHandler.cs +++ b/Questionable/Questionable.Controller.DebugCommands/AbandonDutyCommandHandler.cs @@ -1,4 +1,3 @@ -using System.Runtime.CompilerServices; using Questionable.Functions; namespace Questionable.Controller.DebugCommands; @@ -7,14 +6,7 @@ internal sealed class AbandonDutyCommandHandler : IDebugCommandHandler { private readonly GameFunctions _gameFunctions; - public string CommandName - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return 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(-2080095221); - } - } + public string CommandName => "abandon-duty"; public AbandonDutyCommandHandler(GameFunctions gameFunctions) { @@ -25,10 +17,4 @@ internal sealed class AbandonDutyCommandHandler : IDebugCommandHandler { _gameFunctions.AbandonDuty(); } - - void IDebugCommandHandler.Execute(string[] arguments) - { - //ILSpy generated this explicit interface implementation from .override directive in Execute - this.Execute(arguments); - } } diff --git a/Questionable/Questionable.Controller.DebugCommands/AethernetCommandHandler.cs b/Questionable/Questionable.Controller.DebugCommands/AethernetCommandHandler.cs index c4dd3ac..58a2f5c 100644 --- a/Questionable/Questionable.Controller.DebugCommands/AethernetCommandHandler.cs +++ b/Questionable/Questionable.Controller.DebugCommands/AethernetCommandHandler.cs @@ -1,9 +1,6 @@ using System; -using System.Collections; using System.Collections.Generic; -using System.Collections.ObjectModel; using System.Linq; -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using Questionable.Functions; using Questionable.Model.Questing.Converter; @@ -22,14 +19,7 @@ internal sealed class AethernetCommandHandler : IDebugCommandHandler private readonly IChatGui _chatGui; - public string CommandName - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-753561834); - } - } + public string CommandName => "aethernet"; public AethernetCommandHandler(IDataManager dataManager, IClientState clientState, AetheryteFunctions aetheryteFunctions, IChatGui chatGui) { @@ -39,418 +29,88 @@ internal sealed class AethernetCommandHandler : IDebugCommandHandler _chatGui = chatGui; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Execute(string[] arguments) { - uint num = _200E_206C_202A_202B_200F_202E_206A_200F_200F_200F_202B_202C_206D_202B_206A_200F_202D_202D_202D_202A_206B_202E_202E_200B_206F_200E_206F_206A_202E_202C_206E_200E_202C_200D_206C_202E_206E_200D_206E_202A_202E(_clientState); + uint territoryType = _clientState.TerritoryType; Dictionary values = AethernetShardConverter.Values; - AetheryteData aetheryteData = _200C_206E_206B_202A_200B_206A_206C_202D_206B_200F_202C_200B_206D_202A_206F_202C_202E_200C_206D_202B_202B_200D_202B_202B_202C_200D_206D_200B_206D_202D_202A_200D_202A_200B_202B_200E_200B_206E_200D_200F_202E(_dataManager); + AetheryteData aetheryteData = new AetheryteData(_dataManager); HashSet hashSet = new HashSet(); Dictionary> dictionary = new Dictionary>(); EAetheryteLocation key; - string value2; - int num2; - using (Dictionary.Enumerator enumerator = values.GetEnumerator()) + string value; + foreach (KeyValuePair item3 in values) { - num2 = 743370573; - string text = default(string); - int num8 = default(int); - ushort value = default(ushort); - while (true) + item3.Deconstruct(out key, out value); + EAetheryteLocation key2 = key; + string text = value; + if (aetheryteData.TerritoryIds.TryGetValue(key2, out var value2) && value2 == territoryType) { - int num3 = num2; - int num4 = 743370569; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) + int num = text.IndexOf(']', StringComparison.Ordinal); + if (num > 0) { - case 4: - num2 = (enumerator.MoveNext() ? 743370572 : 743370570); - break; - case 1: - { - string text2 = text; - int num9 = num8; - num4 = 1; - num5 = num9; - string item = _206C_206B_202C_202B_202A_206A_202D_206C_202D_206F_202D_200C_206E_200D_200B_206A_202D_202D_202B_202D_200D_206E_202C_202D_200E_202B_206C_206D_202B_200D_202E_202C_200E_200B_200B_206E_206B_200C_202A_206B_202E(text2, 1, ~(~num5 + num4)); + string item = text.Substring(1, num - 1); hashSet.Add(item); - num2 = 743370573; - break; } - case 2: - num2 = 743370573; - break; - case 6: - num2 = ((value != num) ? 743370573 : 743370569); - break; - case 5: - { - enumerator.Current.Deconstruct(out key, out value2); - EAetheryteLocation key2 = key; - text = value2; - num2 = ((!_200C_206A_206A_206E_200E_200C_200D_202E_200B_200E_200B_200E_200B_200C_200D_206F_200D_200E_206D_200E_206E_206F_206B_202A_206A_206D_202C_206B_200E_200F_206D_200B_200E_206E_206F_202E_200B_206C_206A_206A_202E(aetheryteData).TryGetValue(key2, out value)) ? 743370573 : 743370575); - break; - } - case 0: - num8 = _202C_206E_202A_200F_200F_202B_206F_202A_206B_206E_200C_200C_200D_206E_206A_200D_206E_202A_202A_200D_202C_206D_202D_202D_206C_200E_200D_200D_206E_202C_200B_206A_202D_202D_200E_206D_206A_202A_206F_202C_202E(text, ']', StringComparison.Ordinal); - num2 = ((num8 <= 0) ? 743370573 : 743370568); - break; - case 3: - goto end_IL_003f; - } - continue; - end_IL_003f: - break; } } - num2 = ((hashSet.Count != 0) ? 1358822914 : 1358822913); - string text3 = default(string); - int num12 = default(int); - string text4 = default(string); - EAetheryteLocation eAetheryteLocation = default(EAetheryteLocation); - while (true) + if (hashSet.Count == 0) { - int num10 = num2; - int num4 = 1358822915; - int num5 = num10; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - goto IL_01d0; - case 2: - _200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(_chatGui, 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(-1644635197), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - return; - case 1: - { - using (Dictionary.Enumerator enumerator = values.GetEnumerator()) - { - num2 = 229198899; - while (true) - { - int num11 = num2; - num4 = 229198902; - num5 = num11; - switch ((num5 | num4) - (num5 & num4)) - { - case 3: - { - string text5 = text3; - int num13 = num12; - num4 = 1; - num5 = num13; - text4 = _206C_206B_202C_202B_202A_206A_202D_206C_202D_206F_202D_200C_206E_200D_200B_206A_202D_202D_202B_202D_200D_206E_202C_202D_200E_202B_206C_206D_202B_200D_202E_202C_200E_200B_200B_206E_206B_200C_202A_206B_202E(text5, 1, ~(~num5 + num4)); - num2 = ((!hashSet.Contains(text4)) ? 229198899 : 229198897); - break; - } - case 4: - dictionary[text4] = new List<(EAetheryteLocation, string, bool)>(); - num2 = 229198900; - break; - case 0: - num2 = 229198899; - break; - case 1: - enumerator.Current.Deconstruct(out key, out value2); - eAetheryteLocation = key; - text3 = value2; - num12 = _202C_206E_202A_200F_200F_202B_206F_202A_206B_206E_200C_200C_200D_206E_206A_200D_206E_202A_202A_200D_202C_206D_202D_202D_206C_200E_200D_200D_206E_202C_200B_206A_202D_202D_200E_206D_206A_202A_206F_202C_202E(text3, ']', StringComparison.Ordinal); - num2 = ((num12 <= 0) ? 229198899 : 229198901); - break; - case 2: - { - bool item2 = _aetheryteFunctions.IsAetheryteUnlocked(eAetheryteLocation); - dictionary[text4].Add((eAetheryteLocation, text3, item2)); - num2 = 229198899; - break; - } - case 7: - num2 = (dictionary.ContainsKey(text4) ? 229198900 : 229198898); - break; - case 5: - num2 = (enumerator.MoveNext() ? 229198903 : 229198896); - break; - case 6: - goto end_IL_021a; - } - continue; - end_IL_021a: - break; - } - } - IEnumerator>> enumerator2 = dictionary.OrderBy>, string>((KeyValuePair> x) => x.Key).GetEnumerator(); - try - { - while (true) - { - if (_202A_200B_202A_202E_206E_202A_206D_206B_206E_202C_202A_200F_200E_202E_202B_200C_202A_206F_206E_206A_202A_200E_206D_200C_206A_202E_206C_202D_202B_200E_200C_206F_200E_202A_206C_206A_206D_202D_202C_200D_202E((IEnumerator)enumerator2)) - { - enumerator2.Current.Deconstruct(out value2, out var value3); - string value4 = value2; - List<(EAetheryteLocation, string, bool)> list = value3; - List<(EAetheryteLocation, string, bool)> list2 = list.Where<(EAetheryteLocation, string, bool)>(((EAetheryteLocation Location, string Name, bool Unlocked) x) => x.Unlocked).ToList(); - List<(EAetheryteLocation, string, bool)> list3 = list.Where<(EAetheryteLocation, string, bool)>(((EAetheryteLocation Location, string Name, bool Unlocked) x) => !x.Unlocked).ToList(); - IChatGui chatGui = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(30, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-259971891)); - defaultInterpolatedStringHandler.AppendFormatted(value4); - defaultInterpolatedStringHandler.AppendLiteral(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(588901087)); - defaultInterpolatedStringHandler.AppendFormatted(list.Count); - defaultInterpolatedStringHandler.AppendLiteral(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(626621693)); - _200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(467221712), (ushort?)(ushort)576); - IChatGui chatGui2 = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(12, 1); - defaultInterpolatedStringHandler2.AppendLiteral(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(-1594528935)); - defaultInterpolatedStringHandler2.AppendFormatted(list2.Count); - _200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(chatGui2, defaultInterpolatedStringHandler2.ToStringAndClear(), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - IChatGui chatGui3 = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(11, 1); - defaultInterpolatedStringHandler3.AppendLiteral(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(-1397817883)); - defaultInterpolatedStringHandler3.AppendFormatted(list3.Count); - _200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(chatGui3, defaultInterpolatedStringHandler3.ToStringAndClear(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); - _200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(_chatGui, 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(1200342830), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - if (list3.Count > 0) - { - _200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(_chatGui, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1492898966), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - IEnumerator<(EAetheryteLocation, string, bool)> enumerator3 = list3.OrderBy<(EAetheryteLocation, string, bool), string>(((EAetheryteLocation Location, string Name, bool Unlocked) x) => x.Name).GetEnumerator(); - try - { - num2 = 2044246783; - while (true) - { - int num14 = num2; - num4 = 2044246780; - num5 = num14; - int num15 = num5 + num4; - int num16 = num5 & num4; - switch (num15 - (num16 + num16)) - { - case 3: - num2 = (_202A_200B_202A_202E_206E_202A_206D_206B_206E_202C_202A_200F_200E_202E_202B_200C_202A_206F_206E_206A_202A_200E_206D_200C_206A_202E_206C_202D_202B_200E_200C_206F_200E_202A_206C_206A_206D_202D_202C_200D_202E((IEnumerator)enumerator3) ? 2044246782 : 2044246781); - break; - case 2: - { - (EAetheryteLocation, string, bool) current = enumerator3.Current; - _200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(_chatGui, _206B_206F_202C_206F_200D_200C_206C_200C_206F_206E_206E_206A_202B_202B_202C_206F_200B_202C_206C_202D_202A_200B_202B_202A_200D_206B_206B_200C_202B_202A_202D_200D_202E_206E_206A_206C_202E_206A_206A_202C_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1427836459), current.Item2), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); - num2 = 2044246783; - break; - } - case 0: - num2 = 2044246783; - break; - case 1: - goto end_IL_05fa; - } - continue; - end_IL_05fa: - break; - } - } - finally - { - num2 = ((enumerator3 == null) ? 273930028 : 273930029); - while (true) - { - int num17 = num2; - num4 = 273930028; - num5 = num17; - int num18 = num5 + num4; - int num19 = num5 & num4; - switch (num18 - (num19 + num19)) - { - case 2: - num2 = 273930029; - break; - case 1: - _206E_200E_206B_206C_206E_200F_206D_200F_206D_200C_206B_202E_202B_200E_202C_206F_206F_200B_206A_200D_200D_200F_200E_206A_206D_202D_202E_200D_200C_206F_200B_200B_200B_206F_202B_206E_206B_202A_202D_206D_202E((IDisposable)enumerator3); - num2 = 273930028; - break; - case 0: - goto end_IL_06ca; - } - continue; - end_IL_06ca: - break; - } - } - _200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(_chatGui, 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(-1720149641), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(467221712), (ushort?)(ushort)576); - } - if (list2.Count > 0) - { - _200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(_chatGui, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1522560698), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); - IEnumerator<(EAetheryteLocation, string, bool)> enumerator3 = list2.OrderBy<(EAetheryteLocation, string, bool), string>(((EAetheryteLocation Location, string Name, bool Unlocked) x) => x.Name).GetEnumerator(); - try - { - num2 = 111331971; - while (true) - { - int num20 = num2; - num4 = 111331970; - num5 = num20; - switch ((num5 | num4) - (num5 & num4)) - { - case 3: - num2 = 111331971; - break; - case 1: - num2 = (_202A_200B_202A_202E_206E_202A_206D_206B_206E_202C_202A_200F_200E_202E_202B_200C_202A_206F_206E_206A_202A_200E_206D_200C_206A_202E_206C_202D_202B_200E_200C_206F_200E_202A_206C_206A_206D_202D_202C_200D_202E((IEnumerator)enumerator3) ? 111331968 : 111331970); - break; - case 2: - { - (EAetheryteLocation, string, bool) current2 = enumerator3.Current; - _200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(_chatGui, _206B_206F_202C_206F_200D_200C_206C_200C_206F_206E_206E_206A_202B_202B_202C_206F_200B_202C_206C_202D_202A_200B_202B_202A_200D_206B_206B_200C_202B_202A_202D_200D_202E_206E_206A_206C_202E_206A_206A_202C_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(244795324), current2.Item2), 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(85756196), (ushort?)(ushort)576); - num2 = 111331971; - break; - } - case 0: - goto end_IL_07b3; - } - continue; - end_IL_07b3: - break; - } - } - finally - { - num2 = ((enumerator3 == null) ? 842300158 : 842300157); - while (true) - { - int num21 = num2; - num4 = 842300156; - num5 = num21; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - goto end_IL_0881; - case 1: - _206E_200E_206B_206C_206E_200F_206D_200F_206D_200C_206B_202E_202B_200E_202C_206F_206F_200B_206A_200D_200D_200F_200E_206A_206D_202D_202E_200D_200C_206F_200B_200B_200B_206F_202B_206E_206B_202A_202D_206D_202E((IDisposable)enumerator3); - num2 = 842300158; - break; - case 0: - num2 = 842300157; - break; - } - continue; - end_IL_0881: - break; - } - } - } - num2 = ((dictionary.Count <= 1) ? (-941740781) : (-941740784)); - } - else - { - num2 = -941740782; - } - while (true) - { - int num22 = num2; - num4 = -941740782; - num5 = num22; - int num23 = num5 + num4; - int num24 = num5 & num4; - switch (num23 - (num24 + num24)) - { - default: - continue; - case 3: - num2 = -941740784; - continue; - case 1: - break; - case 2: - _200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(_chatGui, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1694032531), 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(1481660241), (ushort?)(ushort)576); - num2 = -941740781; - continue; - case 0: - return; - } - break; - } - } - } - finally - { - num2 = ((enumerator2 == null) ? (-992508169) : (-992508172)); - while (true) - { - int num25 = num2; - num4 = -992508170; - num5 = num25; - switch ((num5 | num4) - (num5 & num4)) - { - case 1: - goto end_IL_09a1; - case 2: - _206E_200E_206B_206C_206E_200F_206D_200F_206D_200C_206B_202E_202B_200E_202C_206F_206F_200B_206A_200D_200D_200F_200E_206A_206D_202D_202E_200D_200C_206F_200B_200B_200B_206F_202B_206E_206B_202A_202D_206D_202E((IDisposable)enumerator2); - num2 = -992508169; - break; - case 0: - num2 = -992508172; - break; - } - continue; - end_IL_09a1: - break; - } - } - } - } - continue; - IL_01d0: - num2 = 1358822913; + _chatGui.Print("No aethernet shards found in current zone.", "Questionable", 576); + return; + } + foreach (KeyValuePair item4 in values) + { + item4.Deconstruct(out key, out value); + EAetheryteLocation eAetheryteLocation = key; + string text2 = value; + int num2 = text2.IndexOf(']', StringComparison.Ordinal); + if (num2 <= 0) + { + continue; + } + string text3 = text2.Substring(1, num2 - 1); + if (hashSet.Contains(text3)) + { + if (!dictionary.ContainsKey(text3)) + { + dictionary[text3] = new List<(EAetheryteLocation, string, bool)>(); + } + bool item2 = _aetheryteFunctions.IsAetheryteUnlocked(eAetheryteLocation); + dictionary[text3].Add((eAetheryteLocation, text2, item2)); + } + } + foreach (KeyValuePair> item5 in dictionary.OrderBy>, string>((KeyValuePair> x) => x.Key)) + { + item5.Deconstruct(out value, out var value3); + string value4 = value; + List<(EAetheryteLocation, string, bool)> list = value3; + List<(EAetheryteLocation, string, bool)> list2 = list.Where<(EAetheryteLocation, string, bool)>(((EAetheryteLocation Location, string Name, bool Unlocked) x) => x.Unlocked).ToList(); + List<(EAetheryteLocation, string, bool)> list3 = list.Where<(EAetheryteLocation, string, bool)>(((EAetheryteLocation Location, string Name, bool Unlocked) x) => !x.Unlocked).ToList(); + _chatGui.Print($"Aethernet Shards in {value4} ({list.Count} total):", "Questionable", 576); + _chatGui.Print($" Unlocked: {list2.Count}", "Questionable", 576); + _chatGui.Print($" Missing: {list3.Count}", "Questionable", 576); + _chatGui.Print("", "Questionable", 576); + if (list3.Count > 0) + { + _chatGui.Print("Missing/Unattuned Aethernet Shards:", "Questionable", 576); + foreach (var item6 in list3.OrderBy<(EAetheryteLocation, string, bool), string>(((EAetheryteLocation Location, string Name, bool Unlocked) x) => x.Name)) + { + _chatGui.Print(" " + item6.Item2, "Questionable", 576); + } + _chatGui.Print("", "Questionable", 576); + } + if (list2.Count > 0) + { + _chatGui.Print("Unlocked Aethernet Shards:", "Questionable", 576); + foreach (var item7 in list2.OrderBy<(EAetheryteLocation, string, bool), string>(((EAetheryteLocation Location, string Name, bool Unlocked) x) => x.Name)) + { + _chatGui.Print(" " + item7.Item2, "Questionable", 576); + } + } + if (dictionary.Count > 1) + { + _chatGui.Print("", "Questionable", 576); + } } - } - - void IDebugCommandHandler.Execute(string[] arguments) - { - //ILSpy generated this explicit interface implementation from .override directive in Execute - this.Execute(arguments); - } - - static uint _200E_206C_202A_202B_200F_202E_206A_200F_200F_200F_202B_202C_206D_202B_206A_200F_202D_202D_202D_202A_206B_202E_202E_200B_206F_200E_206F_206A_202E_202C_206E_200E_202C_200D_206C_202E_206E_200D_206E_202A_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static AetheryteData _200C_206E_206B_202A_200B_206A_206C_202D_206B_200F_202C_200B_206D_202A_206F_202C_202E_200C_206D_202B_202B_200D_202B_202B_202C_200D_206D_200B_206D_202D_202A_200D_202A_200B_202B_200E_200B_206E_200D_200F_202E(IDataManager P_0) - { - return new AetheryteData(P_0); - } - - static ReadOnlyDictionary _200C_206A_206A_206E_200E_200C_200D_202E_200B_200E_200B_200E_200B_200C_200D_206F_200D_200E_206D_200E_206E_206F_206B_202A_206A_206D_202C_206B_200E_200F_206D_200B_200E_206E_206F_202E_200B_206C_206A_206A_202E(AetheryteData P_0) - { - return P_0.TerritoryIds; - } - - static int _202C_206E_202A_200F_200F_202B_206F_202A_206B_206E_200C_200C_200D_206E_206A_200D_206E_202A_202A_200D_202C_206D_202D_202D_206C_200E_200D_200D_206E_202C_200B_206A_202D_202D_200E_206D_206A_202A_206F_202C_202E(string P_0, char P_1, StringComparison P_2) - { - return P_0.IndexOf(P_1, P_2); - } - - static string _206C_206B_202C_202B_202A_206A_202D_206C_202D_206F_202D_200C_206E_200D_200B_206A_202D_202D_202B_202D_200D_206E_202C_202D_200E_202B_206C_206D_202B_200D_202E_202C_200E_200B_200B_206E_206B_200C_202A_206B_202E(string P_0, int P_1, int P_2) - { - return P_0.Substring(P_1, P_2); - } - - static void _200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.Print(P_1, P_2, P_3); - } - - static string _206B_206F_202C_206F_200D_200C_206C_200C_206F_206E_206E_206A_202B_202B_202C_206F_200B_202C_206C_202D_202A_200B_202B_202A_200D_206B_206B_200C_202B_202A_202D_200D_202E_206E_206A_206C_202E_206A_206A_202C_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static bool _202A_200B_202A_202E_206E_202A_206D_206B_206E_202C_202A_200F_200E_202E_202B_200C_202A_206F_206E_206A_202A_200E_206D_200C_206A_202E_206C_202D_202B_200E_200C_206F_200E_202A_206C_206A_206D_202D_202C_200D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206E_200E_206B_206C_206E_200F_206D_200F_206D_200C_206B_202E_202B_200E_202C_206F_206F_200B_206A_200D_200D_200F_200E_206A_206D_202D_202E_200D_200C_206F_200B_200B_200B_206F_202B_206E_206B_202A_202D_206D_202E(IDisposable P_0) - { - P_0.Dispose(); } } diff --git a/Questionable/Questionable.Controller.DebugCommands/DebugCommandExecutor.cs b/Questionable/Questionable.Controller.DebugCommands/DebugCommandExecutor.cs index 4cbbb33..b2fd9fd 100644 --- a/Questionable/Questionable.Controller.DebugCommands/DebugCommandExecutor.cs +++ b/Questionable/Questionable.Controller.DebugCommands/DebugCommandExecutor.cs @@ -10,36 +10,16 @@ internal sealed class DebugCommandExecutor public DebugCommandExecutor(IEnumerable handlers) { - _handlers = handlers.ToDictionary((IDebugCommandHandler h) => h.CommandName, _202E_200E_202A_202D_206B_202D_206D_202B_206F_200E_202E_200F_200E_200E_202D_200C_200B_202C_202A_202B_200C_202C_206F_200C_200E_206B_202D_200F_200D_206E_202D_200F_200D_202E_200F_202D_202A_202C_206B_206C_202E()); + _handlers = handlers.ToDictionary((IDebugCommandHandler h) => h.CommandName, StringComparer.OrdinalIgnoreCase); } public bool TryExecute(string command, string[] arguments) { - IDebugCommandHandler value; - int num = ((!_handlers.TryGetValue(command, out value)) ? (-573165882) : (-573165881)); - while (true) + if (_handlers.TryGetValue(command, out IDebugCommandHandler value)) { - int num2 = num; - int num3 = -573165882; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return false; - case 1: - value.Execute(arguments); - return true; - case 2: - goto IL_0059; - } - continue; - IL_0059: - num = -573165881; + value.Execute(arguments); + return true; } - } - - static StringComparer _202E_200E_202A_202D_206B_202D_206D_202B_206F_200E_202E_200F_200E_200E_202D_200C_200B_202C_202A_202B_200C_202C_206F_200C_200E_206B_202D_200F_200D_206E_202D_200F_200D_202E_200F_202D_202A_202C_206B_206C_202E() - { - return StringComparer.OrdinalIgnoreCase; + return false; } } diff --git a/Questionable/Questionable.Controller.DebugCommands/FestivalsCommandHandler.cs b/Questionable/Questionable.Controller.DebugCommands/FestivalsCommandHandler.cs index 233f2bd..b855864 100644 --- a/Questionable/Questionable.Controller.DebugCommands/FestivalsCommandHandler.cs +++ b/Questionable/Questionable.Controller.DebugCommands/FestivalsCommandHandler.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; @@ -9,126 +8,32 @@ internal sealed class FestivalsCommandHandler : IDebugCommandHandler { private readonly IChatGui _chatGui; - public string CommandName - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-121174418); - } - } + public string CommandName => "festivals"; public FestivalsCommandHandler(IChatGui chatGui) { _chatGui = chatGui; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe void Execute(string[] arguments) { List list = new List(); - byte b = 0; - int num = 1430954904; - GameMain.Festival festival = default(GameMain.Festival); - while (true) + for (byte b = 0; b < 4; b++) { - int num2 = num; - int num3 = 1430954907; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + GameMain.Festival festival = GameMain.Instance()->ActiveFestivals[b]; + if (festival.Id == 0) { - case 6: - { - byte num8 = b; - num3 = 1; - num4 = num8; - b = (byte)((num4 | num3) + (num4 & num3)); - num = 1430954904; - break; + list.Add($"Slot {b}: None"); } - case 0: + else { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(9, 3); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1926210210)); - defaultInterpolatedStringHandler.AppendFormatted(b); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2074665157)); - defaultInterpolatedStringHandler.AppendFormatted(festival.Id); - defaultInterpolatedStringHandler.AppendLiteral(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(1721352497)); - defaultInterpolatedStringHandler.AppendFormatted(festival.Phase); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321)); - list.Add(defaultInterpolatedStringHandler.ToStringAndClear()); - num = 1430954909; - break; - } - case 4: - festival = GameMain.Instance()->ActiveFestivals[b]; - num = ((festival.Id != 0) ? 1430954907 : 1430954906); - break; - case 1: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(11, 1); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1926210210)); - defaultInterpolatedStringHandler2.AppendFormatted(b); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-911476888)); - list.Add(defaultInterpolatedStringHandler2.ToStringAndClear()); - num = 1430954909; - break; - } - case 3: - num = ((b < 4) ? 1430954911 : 1430954905); - break; - case 5: - num = 1430954904; - break; - case 2: - { - _206E_202E_202D_206B_206E_206E_202A_202D_202C_206B_202A_200D_200F_202B_206B_200D_206D_206E_202D_206C_206B_200B_202D_200B_200B_206C_200E_206F_206F_200E_202E_206F_206A_202B_202B_200C_200F_202E_206E_200F_202E(_chatGui, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(968833819), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(467221712), (ushort?)(ushort)576); - using List.Enumerator enumerator = list.GetEnumerator(); - num = 1158746389; - while (true) - { - int num7 = num; - num3 = 1158746390; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1158746389; - break; - case 2: - { - string current = enumerator.Current; - _206E_202E_202D_206B_206E_206E_202A_202D_202C_206B_202A_200D_200F_202B_206B_200D_206D_206E_202D_206C_206B_200B_202D_200B_200B_206C_200E_206F_206F_200E_202E_206F_206A_202B_202B_200C_200F_202E_206E_200F_202E(_chatGui, _202A_206E_202B_206B_200D_206A_200C_200F_200E_202A_200B_200D_202A_202E_206D_206A_200E_200B_206A_202D_202B_206C_206F_202B_200C_206D_206B_200E_202C_206E_200D_202B_206C_206A_202B_202E_206F_206A_200F_200E_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-616133030), current), 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(1481660241), (ushort?)(ushort)576); - num = 1158746389; - break; - } - case 3: - num = (enumerator.MoveNext() ? 1158746388 : 1158746391); - break; - case 1: - return; - } - } - } + list.Add($"Slot {b}: {festival.Id}({festival.Phase})"); } } - } - - void IDebugCommandHandler.Execute(string[] arguments) - { - //ILSpy generated this explicit interface implementation from .override directive in Execute - this.Execute(arguments); - } - - static void _206E_202E_202D_206B_206E_206E_202A_202D_202C_206B_202A_200D_200F_202B_206B_200D_206D_206E_202D_206C_206B_200B_202D_200B_200B_206C_200E_206F_206F_200E_202E_206F_206A_202B_202B_200C_200F_202E_206E_200F_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.Print(P_1, P_2, P_3); - } - - static string _202A_206E_202B_206B_200D_206A_200C_200F_200E_202A_200B_200D_202A_202E_206D_206A_200E_200B_206A_202D_202B_206C_206F_202B_200C_206D_206B_200E_202C_206E_200D_202B_206C_206A_202B_202E_206F_206A_200F_200E_202E(string P_0, string P_1) - { - return P_0 + P_1; + _chatGui.Print("Festival slots:", "Questionable", 576); + foreach (string item in list) + { + _chatGui.Print(" " + item, "Questionable", 576); + } } } diff --git a/Questionable/Questionable.Controller.DebugCommands/MountIdCommandHandler.cs b/Questionable/Questionable.Controller.DebugCommands/MountIdCommandHandler.cs index 2aa84b7..29962f3 100644 --- a/Questionable/Questionable.Controller.DebugCommands/MountIdCommandHandler.cs +++ b/Questionable/Questionable.Controller.DebugCommands/MountIdCommandHandler.cs @@ -1,4 +1,3 @@ -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using Lumina.Excel.Sheets; using Questionable.Functions; @@ -13,14 +12,7 @@ internal sealed class MountIdCommandHandler : IDebugCommandHandler private readonly IChatGui _chatGui; - public string CommandName - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1623938064); - } - } + public string CommandName => "mountid"; public MountIdCommandHandler(GameFunctions gameFunctions, IDataManager dataManager, IChatGui chatGui) { @@ -29,52 +21,17 @@ internal sealed class MountIdCommandHandler : IDebugCommandHandler _chatGui = chatGui; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Execute(string[] arguments) { ushort? mountId = _gameFunctions.GetMountId(); - int num = ((!mountId.HasValue) ? (-816888412) : (-816888409)); - while (true) + if (mountId.HasValue) { - int num2 = num; - int num3 = -816888410; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_005c; - case 1: - { - Mount? rowOrDefault = _dataManager.GetExcelSheet().GetRowOrDefault(mountId.Value); - IChatGui chatGui = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(32, 3); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-724667410)); - defaultInterpolatedStringHandler.AppendFormatted(mountId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1645361832)); - defaultInterpolatedStringHandler.AppendFormatted(rowOrDefault?.Singular); - defaultInterpolatedStringHandler.AppendLiteral(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(-1660044622)); - defaultInterpolatedStringHandler.AppendFormatted((rowOrDefault?.Order == -1) ? global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(474250124) : global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(514511304)); - _202E_206C_202D_206C_202C_206D_202E_200D_202B_206F_206D_206F_206B_202B_202D_206D_200E_206C_202B_202E_202E_202C_202E_206D_200D_202B_202C_202B_202D_200B_206C_200F_200F_202C_206D_202B_206F_202E_200F_202D_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), 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(85756196), (ushort?)(ushort)576); - return; - } - case 2: - _202E_206C_202D_206C_202C_206D_202E_200D_202B_206F_206D_206F_206B_202B_202D_206D_200E_206C_202B_202E_202E_202C_202E_206D_200D_202B_202C_202B_202D_200B_206C_200F_200F_202C_206D_202B_206F_202E_200F_202D_202E(_chatGui, 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(2009796622), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - return; - } - continue; - IL_005c: - num = -816888409; + Mount? rowOrDefault = _dataManager.GetExcelSheet().GetRowOrDefault(mountId.Value); + _chatGui.Print($"Mount ID: {mountId}, Name: {rowOrDefault?.Singular}, Obtainable: {((rowOrDefault?.Order == -1) ? "No" : "Yes")}", "Questionable", 576); + } + else + { + _chatGui.Print("You are not mounted.", "Questionable", 576); } } - - void IDebugCommandHandler.Execute(string[] arguments) - { - //ILSpy generated this explicit interface implementation from .override directive in Execute - this.Execute(arguments); - } - - static void _202E_206C_202D_206C_202C_206D_202E_200D_202B_206F_206D_206F_206B_202B_202D_206D_200E_206C_202B_202E_202E_202C_202E_206D_200D_202B_202C_202B_202D_200B_206C_200F_200F_202C_206D_202B_206F_202E_200F_202D_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.Print(P_1, P_2, P_3); - } } diff --git a/Questionable/Questionable.Controller.DebugCommands/NextQuestCommandHandler.cs b/Questionable/Questionable.Controller.DebugCommands/NextQuestCommandHandler.cs index 5c00604..bf640eb 100644 --- a/Questionable/Questionable.Controller.DebugCommands/NextQuestCommandHandler.cs +++ b/Questionable/Questionable.Controller.DebugCommands/NextQuestCommandHandler.cs @@ -1,4 +1,3 @@ -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using Questionable.Functions; using Questionable.Model; @@ -16,14 +15,7 @@ internal sealed class NextQuestCommandHandler : IDebugCommandHandler private readonly IChatGui _chatGui; - public string CommandName - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1283200128); - } - } + public string CommandName => "next"; public NextQuestCommandHandler(QuestController questController, QuestRegistry questRegistry, QuestFunctions questFunctions, IChatGui chatGui) { @@ -33,98 +25,29 @@ internal sealed class NextQuestCommandHandler : IDebugCommandHandler _chatGui = chatGui; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Execute(string[] arguments) { - int num = ((arguments.Length < 1) ? 618054138 : 618054137); - ElementId elementId = default(ElementId); - Quest quest = default(Quest); - while (true) + if (arguments.Length >= 1 && ElementId.TryFromString(arguments[0], out ElementId elementId) && elementId != null) { - int num2 = num; - int num3 = 618054140; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + Quest quest; + if (_questFunctions.IsQuestLocked(elementId)) { - case 3: - num = ((!_questRegistry.TryGetQuest(elementId, out quest)) ? 618054132 : 618054141); - break; - case 1: + _chatGui.PrintError($"Quest {elementId} is locked.", "Questionable", 576); + } + else if (_questRegistry.TryGetQuest(elementId, out quest)) { _questController.SetNextQuest(quest); - IChatGui chatGui2 = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(22, 2); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1603211036)); - defaultInterpolatedStringHandler2.AppendFormatted(elementId); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1473546846)); - defaultInterpolatedStringHandler2.AppendFormatted(quest.Info.Name); - defaultInterpolatedStringHandler2.AppendLiteral(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(1109945913)); - _206A_206B_206E_202B_200B_202E_206F_206E_202C_202B_200D_200D_206C_200D_202A_206C_202A_206B_200E_200C_202C_206C_202D_200C_200F_202E_200C_202D_206A_200D_206C_202E_202E_206D_206A_206B_202B_206B_200F_206B_202E(chatGui2, defaultInterpolatedStringHandler2.ToStringAndClear(), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - return; + _chatGui.Print($"Set next quest to {elementId} ({quest.Info.Name}).", "Questionable", 576); } - case 5: - num = ((!_200F_206D_206E_206A_206B_206F_202C_206F_202B_206C_206E_200E_206D_200D_200D_206A_202E_200B_202C_200D_200D_200B_206B_202C_200C_206C_202D_206D_200B_200F_202B_206F_200F_206E_202A_206E_200E_206A_206A_202C_202E(arguments[0], ref elementId)) ? 618054138 : 618054136); - break; - case 8: + else { - IChatGui chatGui = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(15, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-13913784)); - defaultInterpolatedStringHandler.AppendFormatted(elementId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-293246245)); - _200D_206D_200F_202B_200F_206F_200F_200B_206C_200B_202A_206C_202C_206D_202D_206A_200E_202A_202A_202E_202B_200E_200B_202A_202D_202E_200B_206A_206B_206E_202B_206A_206C_200E_206D_200C_200B_202E_200E_202D_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), 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(1481660241), (ushort?)(ushort)576); - return; - } - case 2: - { - IChatGui chatGui3 = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(17, 1); - defaultInterpolatedStringHandler3.AppendLiteral(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(18748268)); - defaultInterpolatedStringHandler3.AppendFormatted(elementId); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-832519361)); - _200D_206D_200F_202B_200F_206F_200F_200B_206C_200B_202A_206C_202C_206D_202D_206A_200E_202A_202A_202E_202B_200E_200B_202A_202D_202E_200B_206A_206B_206E_202B_206A_206C_200E_206D_200C_200B_202E_200E_202D_202E(chatGui3, defaultInterpolatedStringHandler3.ToStringAndClear(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); - return; - } - case 7: - num = ((!_questFunctions.IsQuestLocked(elementId)) ? 618054143 : 618054142); - break; - case 4: - num = ((!_202C_202A_206C_202D_200E_202D_200F_202C_206B_200B_202C_206B_200C_202C_202D_202E_200D_200B_206E_206B_200E_200F_206F_202A_206E_206C_200B_202E_206B_206B_206B_202D_206E_200E_202E_206F_202E_206E_202E_202D_202E(elementId, (ElementId)null)) ? 618054138 : 618054139); - break; - case 0: - num = 618054137; - break; - case 6: - _questController.SetNextQuest(null); - _206A_206B_206E_202B_200B_202E_206F_206E_202C_202B_200D_200D_206C_200D_202A_206C_202A_206B_200E_200C_202C_206C_202D_200C_200F_202E_200C_202D_206A_200D_206C_202E_202E_206D_206A_206B_202B_206B_200F_206B_202E(_chatGui, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-925408437), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); - return; + _chatGui.PrintError($"Unknown quest {elementId}.", "Questionable", 576); } } - } - - void IDebugCommandHandler.Execute(string[] arguments) - { - //ILSpy generated this explicit interface implementation from .override directive in Execute - this.Execute(arguments); - } - - static bool _200F_206D_206E_206A_206B_206F_202C_206F_202B_206C_206E_200E_206D_200D_200D_206A_202E_200B_202C_200D_200D_200B_206B_202C_200C_206C_202D_206D_200B_200F_202B_206F_200F_206E_202A_206E_200E_206A_206A_202C_202E(string P_0, ref ElementId P_1) - { - return ElementId.TryFromString(P_0, out P_1); - } - - static bool _202C_202A_206C_202D_200E_202D_200F_202C_206B_200B_202C_206B_200C_202C_202D_202E_200D_200B_206E_206B_200E_200F_206F_202A_206E_206C_200B_202E_206B_206B_206B_202D_206E_200E_202E_206F_202E_206E_202E_202D_202E(ElementId P_0, ElementId P_1) - { - return P_0 != P_1; - } - - static void _200D_206D_200F_202B_200F_206F_200F_200B_206C_200B_202A_206C_202C_206D_202D_206A_200E_202A_202A_202E_202B_200E_200B_202A_202D_202E_200B_206A_206B_206E_202B_206A_206C_200E_206D_200C_200B_202E_200E_202D_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); - } - - static void _206A_206B_206E_202B_200B_202E_206F_206E_202C_202B_200D_200D_206C_200D_202A_206C_202A_206B_200E_200C_202C_206C_202D_200C_200F_202E_200C_202D_206A_200D_206C_202E_202E_206D_206A_206B_202B_206B_200F_206B_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.Print(P_1, P_2, P_3); + else + { + _questController.SetNextQuest(null); + _chatGui.Print("Cleared next quest.", "Questionable", 576); + } } } diff --git a/Questionable/Questionable.Controller.DebugCommands/QuestKillsCommandHandler.cs b/Questionable/Questionable.Controller.DebugCommands/QuestKillsCommandHandler.cs index ca96a70..72c9403 100644 --- a/Questionable/Questionable.Controller.DebugCommands/QuestKillsCommandHandler.cs +++ b/Questionable/Questionable.Controller.DebugCommands/QuestKillsCommandHandler.cs @@ -1,9 +1,6 @@ -using System; -using System.Collections; using System.Collections.Generic; using System.Globalization; using System.Linq; -using System.Runtime.CompilerServices; using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using Lumina.Excel; @@ -26,14 +23,7 @@ internal sealed class QuestKillsCommandHandler : IDebugCommandHandler private readonly IChatGui _chatGui; - public string CommandName - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return 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(-882231323); - } - } + public string CommandName => "quest-kills"; public QuestKillsCommandHandler(QuestController questController, QuestFunctions questFunctions, IDataManager dataManager, IObjectTable objectTable, IChatGui chatGui) { @@ -44,993 +34,187 @@ internal sealed class QuestKillsCommandHandler : IDebugCommandHandler _chatGui = chatGui; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Execute(string[] arguments) { (QuestController.QuestProgress, QuestController.ECurrentQuestType)? currentQuestDetails = _questController.CurrentQuestDetails; - int num = (currentQuestDetails.HasValue ? (-2091724656) : (-2091724646)); - QuestController.QuestProgress item = default(QuestController.QuestProgress); - Questionable.Model.Quest quest = default(Questionable.Model.Quest); - QuestSequence questSequence = default(QuestSequence); - QuestProgressInfo questProgressInfo = default(QuestProgressInfo); - QuestId questId = default(QuestId); - QuestStep questStep = default(QuestStep); - string item2 = default(string); - uint current2 = default(uint); - byte b = default(byte); - byte? b3 = default(byte?); - byte? b2 = default(byte?); - int num14 = default(int); - int num15 = default(int); - QuestWorkValue questWorkValue = default(QuestWorkValue); - ComplexCombatData complexCombatData = default(ComplexCombatData); - string value = default(string); - uint current3 = default(uint); - string item3 = default(string); - int num18 = default(int); - int num24 = default(int); - string value5 = default(string); - BNpcName? bNpcName = default(BNpcName?); - string item4 = default(string); - int num26 = default(int); - int num25 = default(int); - ComplexCombatData complexCombatData2 = default(ComplexCombatData); - byte b8 = default(byte); - byte? b5 = default(byte?); - QuestWorkValue questWorkValue3 = default(QuestWorkValue); - bool flag = default(bool); - byte b4 = default(byte); - byte b6 = default(byte); - byte b7 = default(byte); - QuestWorkValue questWorkValue2 = default(QuestWorkValue); - string value4 = default(string); - string value6 = default(string); - while (true) + if (!currentQuestDetails.HasValue) { - int num2 = num; - int num3 = -2091724647; - int num4 = num2; - object obj; - ExcelSheet bnpcNameSheet; - switch ((num4 | num3) - (num4 & num3)) + _chatGui.PrintError("No active quest.", "Questionable", 576); + return; + } + QuestController.QuestProgress item = currentQuestDetails.Value.Item1; + Questionable.Model.Quest quest = item.Quest; + QuestProgressInfo questProgressInfo = null; + if (quest.Id is QuestId elementId) + { + questProgressInfo = _questFunctions.GetQuestProgressInfo(elementId); + } + if (questProgressInfo == null) + { + _chatGui.PrintError("Unable to retrieve quest progress information.", "Questionable", 576); + return; + } + QuestSequence questSequence = quest.FindSequence(item.Sequence); + if (questSequence == null) + { + _chatGui.PrintError($"Sequence {item.Sequence} not found for quest {quest.Id}.", "Questionable", 576); + return; + } + QuestStep questStep = ((item.Step < questSequence.Steps.Count) ? questSequence.Steps[item.Step] : null); + if (questStep == null) + { + _chatGui.PrintError($"Step {item.Step} not found in sequence {item.Sequence}.", "Questionable", 576); + return; + } + _chatGui.Print($"Quest: {quest.Info.Name} ({quest.Id})", "Questionable", 576); + _chatGui.Print($"Sequence: {item.Sequence}, Step: {item.Step}", "Questionable", 576); + _chatGui.Print("", "Questionable", 576); + _chatGui.Print("Quest Variables: " + string.Join(", ", questProgressInfo.Variables.Select((byte v, int i) => $"[{i}]={v}")), "Questionable", 576); + _chatGui.Print("", "Questionable", 576); + ExcelSheet bnpcNameSheet = _dataManager.GetExcelSheet(); + HashSet hashSet = new HashSet(questStep.KillEnemyDataIds); + foreach (ComplexCombatData complexCombatDatum in questStep.ComplexCombatData) + { + hashSet.Add(complexCombatDatum.DataId); + } + if (hashSet.Count > 0) + { + _chatGui.Print($"All Enemy DataIds Found: {hashSet.Count}", "Questionable", 576); + foreach (uint item3 in hashSet.OrderBy((uint x) => x)) { - case 5: - { - IChatGui chatGui10 = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler11 = new DefaultInterpolatedStringHandler(31, 2); - defaultInterpolatedStringHandler11.AppendLiteral(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(-998481792)); - defaultInterpolatedStringHandler11.AppendFormatted(item.Sequence); - defaultInterpolatedStringHandler11.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1605795825)); - defaultInterpolatedStringHandler11.AppendFormatted(quest.Id); - defaultInterpolatedStringHandler11.AppendLiteral(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(-2093316539)); - _202B_200B_206E_206C_206E_202C_206B_202D_200D_202A_206A_200B_206E_206A_200D_200E_200D_200D_200E_200D_202E_200B_202D_202E_200E_200E_202A_202C_202B_200C_200F_200D_200C_202A_202E_202C_202A_200C_206F_206F_202E(chatGui10, defaultInterpolatedStringHandler11.ToStringAndClear(), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - return; - } - case 4: - num = ((item.Step < _206C_202A_206B_206B_206D_202A_200C_206A_202C_202B_202B_202E_206C_202D_200C_206F_206B_202C_200F_200D_206E_200B_202C_206A_206D_202C_200E_202B_202C_206C_206C_200E_202A_206C_202A_202B_200C_206D_206F_200C_202E(questSequence).Count) ? (-2091724642) : (-2091724655)); - break; - case 9: - item = currentQuestDetails.Value.Item1; - quest = item.Quest; - questProgressInfo = null; - questId = quest.Id as QuestId; - num = (((object)questId == null) ? (-2091724645) : (-2091724648)); - break; - case 7: - obj = _206C_202A_206B_206B_206D_202A_200C_206A_202C_202B_202B_202E_206C_202D_200C_206F_206B_202C_200F_200D_206E_200B_202C_206A_206D_202C_200E_202B_202C_206C_206C_200E_202A_206C_202A_202B_200C_206D_206F_200C_202E(questSequence)[item.Step]; - goto IL_0186; - case 0: - _202B_200B_206E_206C_206E_202C_206B_202D_200D_202A_206A_200B_206E_206A_200D_200E_200D_200D_200E_200D_202E_200B_202D_202E_200E_200E_202A_202C_202B_200C_200F_200D_200C_202A_202E_202C_202A_200C_206F_206F_202E(_chatGui, 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(1880590323), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - return; - case 2: - num = ((questProgressInfo != null) ? (-2091724651) : (-2091724647)); - break; - case 12: - questSequence = quest.FindSequence(item.Sequence); - num = ((questSequence != null) ? (-2091724643) : (-2091724644)); - break; - case 1: - questProgressInfo = _questFunctions.GetQuestProgressInfo(questId); - num = -2091724645; - break; - case 3: - _202B_200B_206E_206C_206E_202C_206B_202D_200D_202A_206A_200B_206E_206A_200D_200E_200D_200D_200E_200D_202E_200B_202D_202E_200E_200E_202A_202C_202B_200C_200F_200D_200C_202A_202E_202C_202A_200C_206F_206F_202E(_chatGui, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(882400571), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - return; - case 6: - num = -2091724646; - break; - case 11: - { - IChatGui chatGui9 = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler10 = new DefaultInterpolatedStringHandler(29, 2); - defaultInterpolatedStringHandler10.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-965467699)); - defaultInterpolatedStringHandler10.AppendFormatted(item.Step); - defaultInterpolatedStringHandler10.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1303781530)); - defaultInterpolatedStringHandler10.AppendFormatted(item.Sequence); - defaultInterpolatedStringHandler10.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-293246245)); - _202B_200B_206E_206C_206E_202C_206B_202D_200D_202A_206A_200B_206E_206A_200D_200E_200D_200D_200E_200D_202E_200B_202D_202E_200E_200E_202A_202C_202B_200C_200F_200D_200C_202A_202E_202C_202A_200C_206F_206F_202E(chatGui9, defaultInterpolatedStringHandler10.ToStringAndClear(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); - return; - } - case 8: - obj = null; - goto IL_0186; - case 10: + (string Name, bool Found) tuple = GetEnemyName(item3); + var (value, _) = tuple; + if (tuple.Found) { - IChatGui chatGui = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(10, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1585494658)); - defaultInterpolatedStringHandler.AppendFormatted(quest.Info.Name); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1473546846)); - defaultInterpolatedStringHandler.AppendFormatted(quest.Id); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321)); - _206C_206B_202B_206F_200D_202B_200B_200C_206C_206B_206A_200B_206B_206A_200F_200D_202A_200D_200E_206A_206A_200B_200F_202A_202E_200F_200F_200D_202A_202A_206A_206D_206A_206C_206E_206B_202D_200D_200D_202E_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); - IChatGui chatGui2 = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(18, 2); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1490060220)); - defaultInterpolatedStringHandler2.AppendFormatted(item.Sequence); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1683192731)); - defaultInterpolatedStringHandler2.AppendFormatted(item.Step); - _206C_206B_202B_206F_200D_202B_200B_200C_206C_206B_206A_200B_206B_206A_200F_200D_202A_200D_200E_206A_206A_200B_200F_202A_202E_200F_200F_200D_202A_202A_206A_206D_206A_206C_206E_206B_202D_200D_200D_202E_202E(chatGui2, defaultInterpolatedStringHandler2.ToStringAndClear(), 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(1481660241), (ushort?)(ushort)576); - _206C_206B_202B_206F_200D_202B_200B_200C_206C_206B_206A_200B_206B_206A_200F_200D_202A_200D_200E_206A_206A_200B_200F_202A_202E_200F_200F_200D_202A_202A_206A_206D_206A_206C_206E_206B_202D_200D_200D_202E_202E(_chatGui, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1694032531), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - _206C_206B_202B_206F_200D_202B_200B_200C_206C_206B_206A_200B_206B_206A_200F_200D_202A_200D_200E_206A_206A_200B_200F_202A_202E_200F_200F_200D_202A_202A_206A_206D_206A_206C_206E_206B_202D_200D_200D_202E_202E(_chatGui, _200C_200E_202E_206C_202B_200B_200D_206E_202A_206C_202B_200E_206D_206D_200D_206B_200B_202A_206C_202B_202C_200D_202D_200D_200F_202B_206F_202A_200D_206C_202B_206C_206F_200C_200E_200E_206A_206F_202D_202B_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(426079486), _202C_200D_202A_200B_200B_206F_200D_202E_200D_202D_200F_200D_206F_202A_200B_206B_206D_206F_200E_206A_206E_200F_206A_206E_200B_206A_206B_206E_200D_200E_202E_202B_200E_206E_202B_200C_202C_202B_202D_206F_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1087086507), questProgressInfo.Variables.Select([MethodImpl(MethodImplOptions.NoInlining)] (byte v, int i) => - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler17 = new DefaultInterpolatedStringHandler(3, 2); - defaultInterpolatedStringHandler17.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1234830832)); - defaultInterpolatedStringHandler17.AppendFormatted(i); - defaultInterpolatedStringHandler17.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-534324276)); - defaultInterpolatedStringHandler17.AppendFormatted(v); - return defaultInterpolatedStringHandler17.ToStringAndClear(); - }))), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - _206C_206B_202B_206F_200D_202B_200B_200C_206C_206B_206A_200B_206B_206A_200F_200D_202A_200D_200E_206A_206A_200B_200F_202A_202E_200F_200F_200D_202A_202A_206A_206D_206A_206C_206E_206B_202D_200D_200D_202E_202E(_chatGui, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-87324410), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - bnpcNameSheet = _dataManager.GetExcelSheet(); - HashSet hashSet = new HashSet(_200E_200E_206F_200F_206C_200C_202C_206F_202B_200F_202B_202E_200B_206A_206E_200C_200D_206D_202E_202C_202C_200D_206D_206A_200F_206B_206F_200C_200D_206F_202E_202C_200E_200F_202B_200B_202B_202E_206A_202E(questStep)); - using (List.Enumerator enumerator = _200F_206E_200E_202A_202D_206F_202D_200F_202C_206B_200B_206B_200D_200E_200B_200D_206A_202D_200C_200D_202C_202D_206A_202A_206C_206C_200E_206C_202B_200E_206A_200D_202B_202C_202C_200F_200F_202B_200D_202B_202E(questStep).GetEnumerator()) - { - num = 199057681; - while (true) - { - int num5 = num; - num3 = 199057682; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = (enumerator.MoveNext() ? 199057680 : 199057683); - break; - case 2: - { - ComplexCombatData current = enumerator.Current; - hashSet.Add(_200C_206A_206C_202B_202E_206F_206C_202C_200B_202A_202C_200F_200B_202E_200F_202A_206C_206F_206E_200C_202D_200B_200C_200C_202D_200E_200F_202A_206F_200C_206B_200E_200D_200F_206B_206F_200C_206E_206C_206F_202E(current)); - num = 199057681; - break; - } - case 0: - num = 199057681; - break; - case 1: - goto end_IL_04ee; - } - continue; - end_IL_04ee: - break; - } - } - if (hashSet.Count > 0) - { - IChatGui chatGui3 = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(25, 1); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-102593290)); - defaultInterpolatedStringHandler3.AppendFormatted(hashSet.Count); - _206C_206B_202B_206F_200D_202B_200B_200C_206C_206B_206A_200B_206B_206A_200F_200D_202A_200D_200E_206A_206A_200B_200F_202A_202E_200F_200F_200D_202A_202A_206A_206D_206A_206C_206E_206B_202D_200D_200D_202E_202E(chatGui3, defaultInterpolatedStringHandler3.ToStringAndClear(), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(467221712), (ushort?)(ushort)576); - IEnumerator enumerator2 = hashSet.OrderBy((uint x) => x).GetEnumerator(); - try - { - num = 1388776285; - while (true) - { - int num6 = num; - num3 = 1388776281; - num4 = num6; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1388776285; - break; - case 1: - { - IChatGui chatGui4 = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler4 = new DefaultInterpolatedStringHandler(15, 2); - defaultInterpolatedStringHandler4.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-302791330)); - defaultInterpolatedStringHandler4.AppendFormatted(item2); - defaultInterpolatedStringHandler4.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(600656782)); - defaultInterpolatedStringHandler4.AppendFormatted(current2); - defaultInterpolatedStringHandler4.AppendLiteral(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(424561659)); - _206C_206B_202B_206F_200D_202B_200B_200C_206C_206B_206A_200B_206B_206A_200F_200D_202A_200D_200E_206A_206A_200B_200F_202A_202E_200F_200F_200D_202A_202A_206A_206D_206A_206C_206E_206B_202D_200D_200D_202E_202E(chatGui4, defaultInterpolatedStringHandler4.ToStringAndClear(), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(467221712), (ushort?)(ushort)576); - num = 1388776285; - break; - } - case 3: - { - current2 = enumerator2.Current; - (string Name, bool Found) tuple = GetEnemyName(current2); - item2 = tuple.Name; - num = ((!tuple.Found) ? 1388776283 : 1388776280); - break; - } - case 2: - { - IChatGui chatGui5 = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler5 = new DefaultInterpolatedStringHandler(12, 1); - defaultInterpolatedStringHandler5.AppendLiteral(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(500943606)); - defaultInterpolatedStringHandler5.AppendFormatted(current2); - _206C_206B_202B_206F_200D_202B_200B_200C_206C_206B_206A_200B_206B_206A_200F_200D_202A_200D_200E_206A_206A_200B_200F_202A_202E_200F_200F_200D_202A_202A_206A_206D_206A_206C_206E_206B_202D_200D_200D_202E_202E(chatGui5, defaultInterpolatedStringHandler5.ToStringAndClear(), 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(1481660241), (ushort?)(ushort)576); - num = 1388776285; - break; - } - case 4: - num = (_206D_202D_202A_202A_200B_206C_200D_206B_206F_200F_206C_202B_200C_206E_200F_200D_200C_206E_206C_200C_200C_202D_200F_202D_202D_202A_202B_206D_206D_200C_202B_206A_200B_200F_200B_200C_202D_200B_206B_200C_202E((IEnumerator)enumerator2) ? 1388776282 : 1388776284); - break; - case 5: - goto end_IL_061d; - } - continue; - end_IL_061d: - break; - } - } - finally - { - num = ((enumerator2 == null) ? 166814860 : 166814863); - while (true) - { - int num7 = num; - num3 = 166814862; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 166814863; - break; - case 2: - goto end_IL_07bd; - case 1: - _202E_206E_200F_206E_202A_206A_200F_206F_200B_206F_206D_200D_202A_200D_202E_206E_206A_206A_206A_202B_200E_200C_202D_200E_202D_206E_200B_206A_206F_206B_206A_202D_206F_206B_200B_200D_200D_202B_202A_206F_202E((IDisposable)enumerator2); - num = 166814860; - break; - } - continue; - end_IL_07bd: - break; - } - } - _206C_206B_202B_206F_200D_202B_200B_200C_206C_206B_206A_200B_206B_206A_200F_200D_202A_200D_200E_206A_206A_200B_200F_202A_202E_200F_200F_200D_202A_202A_206A_206D_206A_206C_206E_206B_202D_200D_200D_202E_202E(_chatGui, 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(-1720149641), 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(85756196), (ushort?)(ushort)576); - } - if (_200F_206E_200E_202A_202D_206F_202D_200F_202C_206B_200B_206B_200D_200E_200B_200D_206A_202D_200C_200D_202C_202D_206A_202A_206C_206C_200E_206C_202B_200E_206A_200D_202B_202C_202C_200F_200F_202B_200D_202B_202E(questStep).Count > 0) - { - num = 974555832; - while (true) - { - int num8 = num; - num3 = 974555816; - num4 = num8; - string text; - int num13; - string text2; - string value2; - IEnumerator enumerator2; - switch ((num4 | num3) - (num4 & num3)) - { - case 12: - goto IL_08bc; - case 11: - { - byte num17 = b; - b3 = b2; - if (num17 >= b3) - { - num = 974555816; - break; - } - goto case 17; - } - case 9: - num14 = num15; - b2 = _200C_206D_200E_206B_202D_206E_206B_200C_206D_202D_202D_200B_206D_202D_200C_200F_206B_206F_200F_200D_202C_202B_206A_206D_200E_206A_206D_200D_200F_200D_200B_202D_206E_206B_202E_202C_206C_202D_202A_202E_202E(questWorkValue); - num = 974555812; - break; - case 1: - text = 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(-1522766800); - goto IL_0c16; - case 5: - goto IL_0964; - case 10: - num13 = 0; - goto IL_0a25; - case 6: - { - int num16 = num15; - num3 = 1; - num4 = num16; - num15 = (num4 | num3) + (num4 & num3); - num = 974555821; - break; - } - case 13: - goto IL_09c1; - case 18: - complexCombatData = _200F_206E_200E_202A_202D_206F_202D_200F_202C_206B_200B_206B_200D_200E_200B_200D_206A_202D_200C_200D_202C_202D_206A_202A_206C_206C_200E_206C_202B_200E_206A_200D_202B_202C_202C_200F_200F_202B_200D_202B_202E(questStep)[0]; - num14 = -1; - b2 = null; - num15 = 0; - num = 974555821; - break; - case 2: - num13 = questProgressInfo.Variables[num14]; - goto IL_0a25; - case 17: - num = 974555817; - break; - case 4: - text2 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-87324410); - goto IL_0acc; - case 8: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler6 = new DefaultInterpolatedStringHandler(2, 2); - defaultInterpolatedStringHandler6.AppendLiteral(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(-1051702537)); - defaultInterpolatedStringHandler6.AppendFormatted(b); - defaultInterpolatedStringHandler6.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-70733513)); - defaultInterpolatedStringHandler6.AppendFormatted(b2); - text2 = defaultInterpolatedStringHandler6.ToStringAndClear(); - goto IL_0acc; - } - case 7: - goto IL_0af2; - case 14: - num = 974555832; - break; - case 16: - goto IL_0b17; - case 3: - goto IL_0bb2; - case 15: - goto IL_0be1; - case 0: - { - text = 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(-557889982); - goto IL_0c16; - } - IL_0acc: - value = text2; - num = ((!b2.HasValue) ? 974555833 : 974555811); - break; - IL_0c16: - value2 = text; - enumerator2 = hashSet.OrderBy((uint x) => x).GetEnumerator(); - try - { - num = 180586777; - while (true) - { - int num9 = num; - num3 = 180586780; - num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 0: - { - IChatGui chatGui7 = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler8 = new DefaultInterpolatedStringHandler(25, 3); - defaultInterpolatedStringHandler8.AppendLiteral(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(-2047193429)); - defaultInterpolatedStringHandler8.AppendFormatted(value2); - defaultInterpolatedStringHandler8.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1785539984)); - defaultInterpolatedStringHandler8.AppendFormatted(value); - defaultInterpolatedStringHandler8.AppendLiteral(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(-1864270054)); - defaultInterpolatedStringHandler8.AppendFormatted(current3); - defaultInterpolatedStringHandler8.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321)); - _206C_206B_202B_206F_200D_202B_200B_200C_206C_206B_206A_200B_206B_206A_200F_200D_202A_200D_200E_206A_206A_200B_200F_202A_202E_200F_200F_200D_202A_202A_206A_206D_206A_206C_206E_206B_202D_200D_200D_202E_202E(chatGui7, defaultInterpolatedStringHandler8.ToStringAndClear(), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - num = 180586777; - break; - } - case 2: - { - IChatGui chatGui6 = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler7 = new DefaultInterpolatedStringHandler(20, 4); - defaultInterpolatedStringHandler7.AppendLiteral(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(244795324)); - defaultInterpolatedStringHandler7.AppendFormatted(value2); - defaultInterpolatedStringHandler7.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(722906616)); - defaultInterpolatedStringHandler7.AppendFormatted(item3); - defaultInterpolatedStringHandler7.AppendLiteral(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(-2093316539)); - defaultInterpolatedStringHandler7.AppendFormatted(value); - defaultInterpolatedStringHandler7.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(600656782)); - defaultInterpolatedStringHandler7.AppendFormatted(current3); - defaultInterpolatedStringHandler7.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1618480346)); - _206C_206B_202B_206F_200D_202B_200B_200C_206C_206B_206A_200B_206B_206A_200F_200D_202A_200D_200E_206A_206A_200B_200F_202A_202E_200F_200F_200D_202A_202A_206A_206D_206A_206C_206E_206B_202D_200D_200D_202E_202E(chatGui6, defaultInterpolatedStringHandler7.ToStringAndClear(), 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(85756196), (ushort?)(ushort)576); - num = 180586777; - break; - } - case 1: - { - current3 = enumerator2.Current; - (string Name, bool Found) tuple2 = GetEnemyName(current3); - item3 = tuple2.Name; - num = ((!tuple2.Found) ? 180586780 : 180586782); - break; - } - case 5: - num = (_206D_202D_202A_202A_200B_206C_200D_206B_206F_200F_206C_202B_200C_206E_200F_200D_200C_206E_206C_200C_200C_202D_200F_202D_202D_202A_202B_206D_206D_200C_202B_206A_200B_200F_200B_200C_202D_200B_206B_200C_202E((IEnumerator)enumerator2) ? 180586781 : 180586776); - break; - case 3: - num = 180586777; - break; - case 4: - goto end_IL_0c54; - } - continue; - end_IL_0c54: - break; - } - } - finally - { - num = ((enumerator2 == null) ? (-170666151) : (-170666150)); - while (true) - { - int num12 = num; - num3 = -170666152; - num4 = num12; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - goto end_IL_0e6f; - case 2: - _202E_206E_200F_206E_202A_206A_200F_206F_200B_206F_206D_200D_202A_200D_202E_206E_206A_206A_206A_202B_200E_200C_202D_200E_202D_206E_200B_206A_206F_206B_206A_202D_206F_206B_200B_200D_200D_202B_202A_206F_202E((IDisposable)enumerator2); - num = -170666151; - break; - case 0: - num = -170666150; - break; - } - continue; - end_IL_0e6f: - break; - } - } - goto end_IL_0850; - IL_0a25: - b = (byte)(num13 & 0xF); - num = (b2.HasValue ? 974555808 : 974555820); - break; - } - continue; - IL_0be1: - num = ((num14 < questProgressInfo.Variables.Count) ? 974555818 : 974555810); - continue; - IL_0964: - num = ((num15 < _200B_206F_206B_200E_202A_202E_202B_200C_200F_206E_202A_200E_202A_202E_200F_200C_206A_206F_206D_200D_200F_202C_200F_202B_206D_200C_202D_206B_202B_206D_200B_206E_202C_202C_200D_200C_200D_202C_202B_200F_202E(complexCombatData).Count) ? 974555819 : 974555812); - continue; - IL_0af2: - if (hashSet.Count > 1) - { - num = 974555834; - continue; - } - goto IL_0ebb; - IL_0bb2: - questWorkValue = _200B_206F_206B_200E_202A_202E_202B_200C_200F_206E_202A_200E_202A_202E_200F_200C_206A_206F_206D_200D_200F_202C_200F_202B_206D_200C_202D_206B_202B_206D_200B_206E_202C_202C_200D_200C_200D_202C_202B_200F_202E(complexCombatData)[num15]; - num = ((questWorkValue == null) ? 974555822 : 974555813); - continue; - IL_08bc: - num = ((num14 < 0) ? 974555810 : 974555815); - continue; - IL_09c1: - b3 = _200C_206D_200E_206B_202D_206E_206B_200C_206D_202D_202D_200B_206D_202D_200C_200F_206B_206F_200F_200D_202C_202B_206A_206D_200E_206A_206D_200D_200F_200D_200B_202D_206E_206B_202E_202C_206C_202D_202A_202E_202E(questWorkValue); - num = ((!b3.HasValue) ? 974555822 : 974555809); - continue; - IL_0b17: - IChatGui chatGui8 = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler9 = new DefaultInterpolatedStringHandler(29, 1); - defaultInterpolatedStringHandler9.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-658090933)); - defaultInterpolatedStringHandler9.AppendFormatted(_200F_206E_200E_202A_202D_206F_202D_200F_202C_206B_200B_206B_200D_200E_200B_200D_206A_202D_200C_200D_202C_202D_206A_202A_206C_206C_200E_206C_202B_200E_206A_200D_202B_202C_202C_200F_200F_202B_200D_202B_202E(questStep).Count); - _206C_206B_202B_206F_200D_202B_200B_200C_206C_206B_206A_200B_206B_206A_200F_200D_202A_200D_200E_206A_206A_200B_200F_202A_202E_200F_200F_200D_202A_202A_206A_206D_206A_206C_206E_206B_202D_200D_200D_202E_202E(chatGui8, defaultInterpolatedStringHandler9.ToStringAndClear(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); - _206C_206B_202B_206F_200D_202B_200B_200C_206C_206B_206A_200B_206B_206A_200F_200D_202A_200D_200E_206A_206A_200B_200F_202A_202E_200F_200F_200D_202A_202A_206A_206D_206A_206C_206E_206B_202D_200D_200D_202E_202E(_chatGui, 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(831519376), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - if (_200F_206E_200E_202A_202D_206F_202D_200F_202C_206B_200B_206B_200D_200E_200B_200D_206A_202D_200C_200D_202C_202D_206A_202A_206C_206C_200E_206C_202B_200E_206A_200D_202B_202C_202C_200F_200F_202B_200D_202B_202E(questStep).Count == 1) - { - num = 974555823; - continue; - } - goto IL_0ebb; - continue; - end_IL_0850: - break; - } - goto IL_15ce; - } - if (_200E_200E_206F_200F_206C_200C_202C_206F_202B_200F_202B_202E_200B_206A_206E_200C_200D_206D_202E_202C_202C_200D_206D_206A_200F_206B_206F_200C_200D_206F_202E_202C_200E_200F_202B_200B_202B_202E_206A_202E(questStep).Count == 0) - { - _206C_206B_202B_206F_200D_202B_200B_200C_206C_206B_206A_200B_206B_206A_200F_200D_202A_200D_200E_206A_206A_200B_200F_202A_202E_200F_200F_200D_202A_202A_206A_206D_206A_206C_206E_206B_202D_200D_200D_202E_202E(_chatGui, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1983270106), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(467221712), (ushort?)(ushort)576); - _206C_206B_202B_206F_200D_202B_200B_200C_206C_206B_206A_200B_206B_206A_200F_200D_202A_200D_200E_206A_206A_200B_200F_202A_202E_200F_200F_200D_202A_202A_206A_206D_206A_206C_206E_206B_202D_200D_200D_202E_202E(_chatGui, 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(-1720149641), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - num = 1524603349; - goto IL_0eca; - } - goto IL_18fe; + _chatGui.Print($" - {value} (DataId: {item3})", "Questionable", 576); } - IL_15ce: - _206C_206B_202B_206F_200D_202B_200B_200C_206C_206B_206A_200B_206B_206A_200F_200D_202A_200D_200E_206A_206A_200B_200F_202A_202E_200F_200F_200D_202A_202A_206A_206D_206A_206C_206E_206B_202D_200D_200D_202E_202E(_chatGui, 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(-1720149641), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - goto IL_18fe; - IL_0186: - questStep = (QuestStep)obj; - num = ((questStep != null) ? (-2091724653) : (-2091724654)); - break; - IL_0ebb: - num18 = 0; - num = 1524603363; - goto IL_0eca; - IL_18fe: - num = ((_200F_206E_202D_206C_206B_206F_202B_200E_200C_202C_200E_206E_200F_206E_200B_202C_206A_202C_202D_200F_206D_202D_206C_206E_202E_206A_202B_202D_202A_206F_202D_200D_202E_200D_206A_206C_202A_200C_202C_202E(questStep).Count <= 0) ? 1524603368 : 1524603367); - goto IL_0eca; - IL_0eca: - while (true) + else { - int num19 = num; - num3 = 1524603367; - num4 = num19; - int num20 = num4 + num3; - int num21 = num4 & num3; - int num23; - int? obj2; - int? obj3; - string text5; - string text6; - string text7; - int num28; - string text4; - string text3; - int num27; - string value3; - IChatGui chatGui11; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler15; - int num33; - string value7; - IChatGui chatGui12; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler16; - switch (num20 - (num21 + num21)) - { - case 7: - goto IL_0fbc; - case 51: - num23 = questProgressInfo.Variables[num24]; - goto IL_0ff7; - case 47: - value5 = bNpcName.Value.Singular.ToString(); - num = 1524603334; - break; - case 36: - obj2 = null; - goto IL_16a2; - case 44: - goto IL_1078; - case 42: - obj3 = b3.GetValueOrDefault(); - goto IL_10a4; - case 16: - text5 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1281927779); - goto IL_186a; - case 12: - obj3 = null; - goto IL_10a4; - case 9: - value5 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-163993857); - num = 1524603334; - break; - case 5: - text6 = item4; - goto IL_112a; - case 49: - goto IL_1138; - case 10: - text7 = 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(1061070267); - goto IL_118a; - case 1: - text7 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1706582457); - goto IL_118a; - case 4: - goto IL_12e5; - case 48: - goto IL_1310; - case 18: - { - int num34 = num26; - num3 = 1; - num4 = num34; - num26 = (num4 | num3) + (num4 & num3); - num = 1524603332; - break; - } - case 45: - goto IL_135b; - case 27: - num28 = questProgressInfo.Variables[num25]; - goto IL_1398; - case 14: - text4 = 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(-971719931); - goto IL_13c3; - case 38: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler14 = new DefaultInterpolatedStringHandler(21, 2); - defaultInterpolatedStringHandler14.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(54370243)); - defaultInterpolatedStringHandler14.AppendFormatted(_200C_206A_206C_202B_202E_206F_206C_202C_200B_202A_202C_200F_200B_202E_200F_202A_206C_206F_206E_200C_202D_200B_200C_200C_202D_200E_200F_202A_206F_200C_206B_200E_200D_200F_206B_206F_200C_206E_206C_206F_202E(complexCombatData2)); - defaultInterpolatedStringHandler14.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1194311042)); - defaultInterpolatedStringHandler14.AppendFormatted(_200B_202C_200C_206C_202B_202B_200C_200D_206C_202D_206A_206E_202B_206E_200E_206A_202B_202E_202D_206C_200B_202D_200E_206D_202B_200E_206A_206F_206C_206D_202B_202D_200F_202D_200D_206C_200E_200C_202D_200F_202E(complexCombatData2)); - defaultInterpolatedStringHandler14.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1618480346)); - text3 = defaultInterpolatedStringHandler14.ToStringAndClear(); - goto IL_1452; - } - case 23: - _206C_206B_202B_206F_200D_202B_200B_200C_206C_206B_206A_200B_206B_206A_200F_200D_202A_200D_200E_206A_206A_200B_200F_202A_202E_200F_200F_200D_202A_202A_206A_206D_206A_206C_206E_206B_202D_200D_200D_202E_202E(_chatGui, 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(1454492371), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); - num24 = 0; - num = 1524603343; - break; - case 22: - text6 = 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(44675168); - goto IL_112a; - case 3: - { - byte num32 = b8; - num3 = 15; - num4 = num32; - num27 = (byte)(num4 + num3 - (num4 | num3)); - goto IL_17cc; - } - case 11: - num = 1524603363; - break; - case 29: - { - int num29 = num24; - num3 = 1; - num4 = num29; - int num30 = num4 ^ num3; - int num31 = num4 & num3; - num24 = num30 + (num31 + num31); - num = 1524603343; - break; - } - case 46: - goto IL_15a1; - case 21: - goto end_IL_0eca; - case 24: - goto IL_166b; - case 43: - obj2 = b3.GetValueOrDefault(); - goto IL_16a2; - case 15: - return; - case 26: - num = 1524603328; - break; - case 34: - num28 = 0; - goto IL_1398; - case 28: - num25 = num26; - b5 = _202D_200B_206F_206C_202C_202B_206D_202E_202A_202A_200B_202C_202B_200D_202B_202C_202A_206B_200E_206B_206C_206D_206E_206F_206E_200C_206D_206C_206B_200F_206D_202A_202A_200D_202D_200E_206C_202A_206A_206A_202E(questWorkValue3); - flag = true; - num = 1524603339; - break; - case 37: - num23 = 0; - goto IL_0ff7; - case 31: - goto IL_1737; - case 2: - goto IL_178e; - case 17: - num27 = (byte)(b8 >> 4); - goto IL_17cc; - case 35: - goto IL_17fb; - case 20: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler13 = new DefaultInterpolatedStringHandler(2, 2); - defaultInterpolatedStringHandler13.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(751790982)); - defaultInterpolatedStringHandler13.AppendFormatted(b4); - defaultInterpolatedStringHandler13.AppendLiteral(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(-1392036559)); - defaultInterpolatedStringHandler13.AppendFormatted(b5); - text5 = defaultInterpolatedStringHandler13.ToStringAndClear(); - goto IL_186a; - } - case 8: - goto IL_1890; - case 32: - complexCombatData2 = _200F_206E_200E_202A_202D_206F_202D_200F_202C_206B_200B_206B_200D_200E_200B_200D_206A_202D_200C_200D_202C_202D_206A_202A_206C_206C_200E_206C_202B_200E_206A_200D_202B_202C_202C_200F_200F_202B_200D_202B_202E(questStep)[num18]; - num25 = -1; - b5 = null; - flag = false; - num26 = 0; - num = 1524603332; - break; - case 50: - goto IL_18fe; - case 6: - num25 = num26; - b5 = _200C_206D_200E_206B_202D_206E_206B_200C_206D_202D_202D_200B_206D_202D_200C_200F_206B_206F_200F_200D_202C_202B_206A_206D_200E_206A_206D_200D_200F_200D_200B_202D_206E_206B_202E_202C_206C_202D_202A_202E_202E(questWorkValue3); - flag = false; - num = 1524603339; - break; - case 0: - goto IL_1944; - case 39: - text4 = 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(-1070075457); - goto IL_13c3; - case 13: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler12 = new DefaultInterpolatedStringHandler(11, 1); - defaultInterpolatedStringHandler12.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(821000004)); - defaultInterpolatedStringHandler12.AppendFormatted(_200C_206A_206C_202B_202E_206F_206C_202C_200B_202A_202C_200F_200B_202E_200F_202A_206C_206F_206E_200C_202D_200B_200C_200C_202D_200E_200F_202A_206F_200C_206B_200E_200D_200F_206B_206F_200C_206E_206C_206F_202E(complexCombatData2)); - defaultInterpolatedStringHandler12.AppendLiteral(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(424561659)); - text3 = defaultInterpolatedStringHandler12.ToStringAndClear(); - goto IL_1452; - } - case 40: - goto IL_19fc; - case 33: - goto IL_1a27; - case 19: - goto IL_1a4b; - case 41: - goto IL_1a78; - case 25: - { - byte num22 = b4; - b3 = b5; - if (num22 >= b3) - { - num = 1524603369; - break; - } - goto case 26; - } - case 30: - goto IL_1af9; - IL_16a2: - num = ((obj2 != b6) ? 1524603373 : 1524603350); - break; - IL_10a4: - num = ((obj3 == b7) ? 1524603366 : 1524603373); - break; - IL_0ff7: - b6 = (byte)(num23 >> 4); - b7 = (byte)(num23 & 0xF); - b3 = _202D_200B_206F_206C_202C_202B_206D_202E_202A_202A_200B_202C_202B_200D_202B_202C_202A_206B_200E_206B_206C_206D_206E_206F_206E_200C_206D_206C_206B_200F_206D_202A_202A_200D_202D_200E_206C_202A_206A_206A_202E(questWorkValue2); - num = ((!b3.HasValue) ? 1524603350 : 1524603342); - break; - IL_17cc: - b4 = (byte)num27; - num = ((!_200B_202C_200C_206C_202B_202B_200C_200D_206C_202D_206A_206E_202B_206E_200E_206A_202B_202E_202D_206C_200B_202D_200E_206D_202B_200E_206A_206F_206C_206D_202B_202D_200F_202D_200D_206C_200E_200C_202D_200F_202E(complexCombatData2).HasValue) ? 1524603365 : 1524603384); - break; - IL_1452: - value3 = text3; - chatGui11 = _chatGui; - defaultInterpolatedStringHandler15 = new DefaultInterpolatedStringHandler(9, 4); - defaultInterpolatedStringHandler15.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-616133030)); - defaultInterpolatedStringHandler15.AppendFormatted(value4); - defaultInterpolatedStringHandler15.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1549383798)); - defaultInterpolatedStringHandler15.AppendFormatted(value5); - defaultInterpolatedStringHandler15.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-293246245)); - defaultInterpolatedStringHandler15.AppendFormatted(value6); - defaultInterpolatedStringHandler15.AppendFormatted(value3); - _206C_206B_202B_206F_200D_202B_200B_200C_206C_206B_206A_200B_206B_206A_200F_200D_202A_200D_200E_206A_206A_200B_200F_202A_202E_200F_200F_200D_202A_202A_206A_206D_206A_206C_206E_206B_202D_200D_200D_202E_202E(chatGui11, defaultInterpolatedStringHandler15.ToStringAndClear(), 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(85756196), (ushort?)(ushort)576); - num33 = num18; - num3 = 1; - num4 = num33; - num18 = (num4 | num3) + (num4 & num3); - num = 1524603363; - break; - IL_13c3: - value4 = text4; - num = (_200B_202C_200C_206C_202B_202B_200C_200D_206C_202D_206A_206E_202B_206E_200E_206A_202B_202E_202D_206C_200B_202D_200E_206D_202B_200E_206A_206F_206C_206D_202B_202D_200F_202D_200D_206C_200E_200C_202D_200F_202E(complexCombatData2).HasValue ? 1524603329 : 1524603370); - break; - IL_1398: - b8 = (byte)num28; - num = (flag ? 1524603382 : 1524603364); - break; - IL_112a: - value5 = text6; - num = 1524603334; - break; - IL_118a: - value7 = text7; - chatGui12 = _chatGui; - defaultInterpolatedStringHandler16 = new DefaultInterpolatedStringHandler(36, 6); - defaultInterpolatedStringHandler16.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1298792990)); - defaultInterpolatedStringHandler16.AppendFormatted(num24); - defaultInterpolatedStringHandler16.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-97652402)); - defaultInterpolatedStringHandler16.AppendFormatted(_202D_200B_206F_206C_202C_202B_206D_202E_202A_202A_200B_202C_202B_200D_202B_202C_202A_206B_200E_206B_206C_206D_206E_206F_206E_200C_206D_206C_206B_200F_206D_202A_202A_200D_202D_200E_206C_202A_206A_206A_202E(questWorkValue2)?.ToString(_206E_202D_206F_200C_206F_202C_206B_200F_200B_206B_206A_200F_200F_206F_202B_200E_202A_206A_206B_206E_202D_200B_202D_202A_200F_206B_206B_206D_206D_202E_200D_200C_206C_206A_206A_200F_206E_206B_202B_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(-575051895)); - defaultInterpolatedStringHandler16.AppendLiteral(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(-1233946670)); - b3 = _200C_206D_200E_206B_202D_206E_206B_200C_206D_202D_202D_200B_206D_202D_200C_200F_206B_206F_200F_200D_202C_202B_206A_206D_200E_206A_206D_200D_200F_200D_200B_202D_206E_206B_202E_202C_206C_202D_202A_202E_202E(questWorkValue2); - defaultInterpolatedStringHandler16.AppendFormatted(b3?.ToString(_206E_202D_206F_200C_206F_202C_206B_200F_200B_206B_206A_200F_200F_206F_202B_200E_202A_206A_206B_206E_202D_200B_202D_202A_200F_206B_206B_206D_206D_202E_200D_200C_206C_206A_206A_200F_206E_206B_202B_202E()) ?? global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(351843544)); - defaultInterpolatedStringHandler16.AppendLiteral(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(1790161765)); - defaultInterpolatedStringHandler16.AppendFormatted(b6.ToString(_206E_202D_206F_200C_206F_202C_206B_200F_200B_206B_206A_200F_200F_206F_202B_200E_202A_206A_206B_206E_202D_200B_202D_202A_200F_206B_206B_206D_206D_202E_200D_200C_206C_206A_206A_200F_206E_206B_202B_202E())); - defaultInterpolatedStringHandler16.AppendLiteral(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(389824923)); - defaultInterpolatedStringHandler16.AppendFormatted(b7.ToString(_206E_202D_206F_200C_206F_202C_206B_200F_200B_206B_206A_200F_200F_206F_202B_200E_202A_206A_206B_206E_202D_200B_202D_202A_200F_206B_206B_206D_206D_202E_200D_200C_206C_206A_206A_200F_206E_206B_202B_202E())); - defaultInterpolatedStringHandler16.AppendFormatted(value7); - _206C_206B_202B_206F_200D_202B_200B_200C_206C_206B_206A_200B_206B_206A_200F_200D_202A_200D_200E_206A_206A_200B_200F_202A_202E_200F_200F_200D_202A_202A_206A_206D_206A_206C_206E_206B_202D_200D_200D_202E_202E(chatGui12, defaultInterpolatedStringHandler16.ToStringAndClear(), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(467221712), (ushort?)(ushort)576); - num = 1524603386; - break; - IL_186a: - value6 = text5; - num = ((!b5.HasValue) ? 1524603389 : 1524603390); - break; - } - continue; - IL_1af9: - questWorkValue2 = _200F_206E_202D_206C_206B_206F_202B_200E_200C_202C_200E_206E_200F_206E_200B_202C_206A_202C_202D_200F_206D_202D_206C_206E_202E_206A_202B_202D_202A_206F_202D_200D_202E_200D_206A_206C_202A_200C_202C_202E(questStep)[num24]; - num = ((questWorkValue2 == null) ? 1524603386 : 1524603351); - continue; - IL_0fbc: - b3 = _202D_200B_206F_206C_202C_202B_206D_202E_202A_202A_200B_202C_202B_200D_202B_202C_202A_206B_200E_206B_206C_206D_206E_206F_206E_200C_206D_206C_206B_200F_206D_202A_202A_200D_202D_200E_206C_202A_206A_206A_202E(questWorkValue3); - num = ((!b3.HasValue) ? 1524603381 : 1524603387); - continue; - IL_1138: - b3 = _200C_206D_200E_206B_202D_206E_206B_200C_206D_202D_202D_200B_206D_202D_200C_200F_206B_206F_200F_200D_202C_202B_206A_206D_200E_206A_206D_200D_200F_200D_200B_202D_206E_206B_202E_202C_206C_202D_202A_202E_202E(questWorkValue2); - num = ((!b3.HasValue) ? 1524603366 : 1524603337); - continue; - IL_1a78: - b3 = _202D_200B_206F_206C_202C_202B_206D_202E_202A_202A_200B_202C_202B_200D_202B_202C_202A_206B_200E_206B_206C_206D_206E_206F_206E_200C_206D_206C_206B_200F_206D_202A_202A_200D_202D_200E_206C_202A_206A_206A_202E(questWorkValue2); - num = (b3.HasValue ? 1524603340 : 1524603331); - continue; - IL_1890: - num = (_206D_200C_200E_200B_200B_202E_206C_200E_200B_206D_206E_202C_202C_206F_202A_202C_200B_200E_200D_206E_206D_202C_202A_202A_206E_200B_200C_202C_202C_206B_206E_202D_200B_200C_202E_206D_202B_206A_202B_200D_202E(bNpcName.Value.Singular.ToString()) ? 1524603374 : 1524603336); - continue; - IL_15a1: - b3 = _200C_206D_200E_206B_202D_206E_206B_200C_206D_202D_202D_200B_206D_202D_200C_200F_206B_206F_200F_200D_202C_202B_206A_206D_200E_206A_206D_200D_200F_200D_200B_202D_206E_206B_202E_202C_206C_202D_202A_202E_202E(questWorkValue2); - num = (b3.HasValue ? 1524603341 : 1524603371); - continue; - IL_1a4b: - b3 = _200C_206D_200E_206B_202D_206E_206B_200C_206D_202D_202D_200B_206D_202D_200C_200F_206B_206F_200F_200D_202C_202B_206A_206D_200E_206A_206D_200D_200F_200D_200B_202D_206E_206B_202E_202C_206C_202D_202A_202E_202E(questWorkValue3); - num = ((!b3.HasValue) ? 1524603360 : 1524603361); - continue; - IL_135b: - questWorkValue3 = _200B_206F_206B_200E_202A_202E_202B_200C_200F_206E_202A_200E_202A_202E_200F_200C_206A_206F_206D_200D_200F_202C_200F_202B_206D_200C_202D_206B_202B_206D_200B_206E_202C_202C_200D_200C_200D_202C_202B_200F_202E(complexCombatData2)[num26]; - num = ((questWorkValue3 == null) ? 1524603381 : 1524603380); - continue; - IL_17fb: - num = ((num26 < _200B_206F_206B_200E_202A_202E_202B_200C_200F_206E_202A_200E_202A_202E_200F_200C_206A_206F_206D_200D_200F_202C_200F_202B_206D_200C_202D_206B_202B_206D_200B_206E_202C_202C_200D_200C_200D_202C_202B_200F_202E(complexCombatData2).Count) ? 1524603338 : 1524603339); - continue; - IL_1a27: - num = (b5.HasValue ? 1524603379 : 1524603383); - continue; - IL_12e5: - num = ((num18 < _200F_206E_200E_202A_202D_206F_202D_200F_202C_206B_200B_206B_200D_200E_200B_200D_206A_202D_200C_200D_202C_202D_206A_202A_206C_206C_200E_206C_202B_200E_206A_200D_202B_202C_202C_200F_200F_202B_200D_202B_202E(questStep).Count) ? 1524603335 : 1524603378); - continue; - IL_166b: - num = ((num25 < questProgressInfo.Variables.Count) ? 1524603388 : 1524603333); - continue; - IL_19fc: - num = ((num24 < _200F_206E_202D_206C_206B_206F_202B_200E_200C_202C_200E_206E_200F_206E_200B_202C_206A_202C_202D_200F_206D_202D_206C_206E_202E_206A_202B_202D_202A_206F_202D_200D_202E_200D_206A_206C_202A_200C_202C_202E(questStep).Count) ? 1524603385 : 1524603368); - continue; - IL_178e: - (string Name, bool Found) tuple3 = GetEnemyName(_200C_206A_206C_202B_202E_206F_206C_202C_200B_202A_202C_200F_200B_202E_200F_202A_206C_206F_206E_200C_202D_200B_200C_200C_202D_200E_200F_202A_206F_200C_206B_200E_200D_200F_206B_206F_200C_206E_206C_206F_202E(complexCombatData2)); - item4 = tuple3.Name; - num = (tuple3.Found ? 1524603362 : 1524603377); - continue; - IL_1078: - num = ((num25 < 0) ? 1524603333 : 1524603391); - continue; - IL_1944: - num = ((!_200F_206E_202D_206C_206B_206F_202B_200E_200C_202C_200E_206E_200F_206E_200B_202C_206A_202C_202D_200F_206D_202D_206C_206E_202E_206A_202B_202D_202A_206F_202D_200D_202E_200D_206A_206C_202A_200C_202C_202E(questStep).Any((QuestWorkValue x) => x != null)) ? 1524603368 : 1524603376); - continue; - IL_1737: - bNpcName = bnpcNameSheet?.GetRowOrDefault(_200B_202C_200C_206C_202B_202B_200C_200D_206C_202D_206A_206E_202B_206E_200E_206A_202B_202E_202D_206C_200B_202D_200E_206D_202B_200E_206A_206F_206C_206D_202B_202D_200F_202D_200D_206C_200E_200C_202D_200F_202E(complexCombatData2).Value); - num = ((!bNpcName.HasValue) ? 1524603374 : 1524603375); - continue; - IL_1310: - num = ((num24 < questProgressInfo.Variables.Count) ? 1524603348 : 1524603330); - continue; - end_IL_0eca: - break; + _chatGui.Print($" - DataId: {item3}", "Questionable", 576); } - goto IL_15ce; + } + _chatGui.Print("", "Questionable", 576); + } + if (questStep.ComplexCombatData.Count > 0) + { + _chatGui.Print($"Complex Combat Data Entries: {questStep.ComplexCombatData.Count}", "Questionable", 576); + _chatGui.Print("Kill Progress:", "Questionable", 576); + if (questStep.ComplexCombatData.Count == 1 && hashSet.Count > 1) + { + ComplexCombatData complexCombatData = questStep.ComplexCombatData[0]; + int num = -1; + byte? b = null; + for (int num2 = 0; num2 < complexCombatData.CompletionQuestVariablesFlags.Count; num2++) + { + QuestWorkValue questWorkValue = complexCombatData.CompletionQuestVariablesFlags[num2]; + if (questWorkValue != null && questWorkValue.Low.HasValue) + { + num = num2; + b = questWorkValue.Low; + break; + } + } + byte b2 = (byte)(((num >= 0 && num < questProgressInfo.Variables.Count) ? questProgressInfo.Variables[num] : 0) & 0xF); + string value2 = (b.HasValue ? $" {b2}/{b}" : ""); + string value3 = ((b.HasValue && b2 >= b) ? "✓" : "○"); + foreach (uint item4 in hashSet.OrderBy((uint x) => x)) + { + (string Name, bool Found) tuple3 = GetEnemyName(item4); + var (value4, _) = tuple3; + if (tuple3.Found) + { + _chatGui.Print($" {value3} Slay {value4}.{value2} (DataId: {item4})", "Questionable", 576); + } + else + { + _chatGui.Print($" {value3} Slay enemy.{value2} (DataId: {item4})", "Questionable", 576); + } + } + } + else + { + for (int num3 = 0; num3 < questStep.ComplexCombatData.Count; num3++) + { + ComplexCombatData complexCombatData2 = questStep.ComplexCombatData[num3]; + int num4 = -1; + byte? b3 = null; + bool flag = false; + for (int num5 = 0; num5 < complexCombatData2.CompletionQuestVariablesFlags.Count; num5++) + { + QuestWorkValue questWorkValue2 = complexCombatData2.CompletionQuestVariablesFlags[num5]; + if (questWorkValue2 != null) + { + if (questWorkValue2.Low.HasValue) + { + num4 = num5; + b3 = questWorkValue2.Low; + flag = false; + break; + } + if (questWorkValue2.High.HasValue) + { + num4 = num5; + b3 = questWorkValue2.High; + flag = true; + break; + } + } + } + byte b4 = (byte)((num4 >= 0 && num4 < questProgressInfo.Variables.Count) ? questProgressInfo.Variables[num4] : 0); + byte b5 = (flag ? ((byte)(b4 >> 4)) : ((byte)(b4 & 0xF))); + string value5; + if (complexCombatData2.NameId.HasValue) + { + BNpcName? bNpcName = bnpcNameSheet?.GetRowOrDefault(complexCombatData2.NameId.Value); + value5 = ((!bNpcName.HasValue || string.IsNullOrEmpty(bNpcName.Value.Singular.ToString())) ? "enemy" : bNpcName.Value.Singular.ToString()); + } + else + { + (string Name, bool Found) tuple5 = GetEnemyName(complexCombatData2.DataId); + string item2 = tuple5.Name; + value5 = (tuple5.Found ? item2 : "enemy"); + } + string value6 = (b3.HasValue ? $" {b5}/{b3}" : ""); + string value7 = ((b3.HasValue && b5 >= b3) ? "✓" : "○"); + string value8 = (complexCombatData2.NameId.HasValue ? $" (DataId: {complexCombatData2.DataId}, NameId: {complexCombatData2.NameId})" : $" (DataId: {complexCombatData2.DataId})"); + _chatGui.Print($" {value7} Slay {value5}.{value6}{value8}", "Questionable", 576); + } + } + _chatGui.Print("", "Questionable", 576); + } + else if (questStep.KillEnemyDataIds.Count == 0) + { + _chatGui.Print("No kill enemy data for this step.", "Questionable", 576); + _chatGui.Print("", "Questionable", 576); + } + if (questStep.CompletionQuestVariablesFlags.Count <= 0 || !questStep.CompletionQuestVariablesFlags.Any((QuestWorkValue x) => x != null)) + { + return; + } + _chatGui.Print("Completion Flags (Debug):", "Questionable", 576); + for (int num6 = 0; num6 < questStep.CompletionQuestVariablesFlags.Count; num6++) + { + QuestWorkValue questWorkValue3 = questStep.CompletionQuestVariablesFlags[num6]; + if (questWorkValue3 != null) + { + int num7 = ((num6 < questProgressInfo.Variables.Count) ? questProgressInfo.Variables[num6] : 0); + byte b6 = (byte)(num7 >> 4); + byte b7 = (byte)(num7 & 0xF); + string value9 = (((!questWorkValue3.High.HasValue || questWorkValue3.High == b6) && (!questWorkValue3.Low.HasValue || questWorkValue3.Low == b7)) ? " ✓" : " ✗"); + _chatGui.Print($" [{num6}] Expected: H={questWorkValue3.High?.ToString(CultureInfo.InvariantCulture) ?? "any"} L={questWorkValue3.Low?.ToString(CultureInfo.InvariantCulture) ?? "any"} | Actual: H={b6.ToString(CultureInfo.InvariantCulture)} L={b7.ToString(CultureInfo.InvariantCulture)}{value9}", "Questionable", 576); } } - } - - void IDebugCommandHandler.Execute(string[] arguments) - { - //ILSpy generated this explicit interface implementation from .override directive in Execute - this.Execute(arguments); - } - - static void _202B_200B_206E_206C_206E_202C_206B_202D_200D_202A_206A_200B_206E_206A_200D_200E_200D_200D_200E_200D_202E_200B_202D_202E_200E_200E_202A_202C_202B_200C_200F_200D_200C_202A_202E_202C_202A_200C_206F_206F_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); - } - - static List _206C_202A_206B_206B_206D_202A_200C_206A_202C_202B_202B_202E_206C_202D_200C_206F_206B_202C_200F_200D_206E_200B_202C_206A_206D_202C_200E_202B_202C_206C_206C_200E_202A_206C_202A_202B_200C_206D_206F_200C_202E(QuestSequence P_0) - { - return P_0.Steps; - } - - static void _206C_206B_202B_206F_200D_202B_200B_200C_206C_206B_206A_200B_206B_206A_200F_200D_202A_200D_200E_206A_206A_200B_200F_202A_202E_200F_200F_200D_202A_202A_206A_206D_206A_206C_206E_206B_202D_200D_200D_202E_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.Print(P_1, P_2, P_3); - } - - static string _202C_200D_202A_200B_200B_206F_200D_202E_200D_202D_200F_200D_206F_202A_200B_206B_206D_206F_200E_206A_206E_200F_206A_206E_200B_206A_206B_206E_200D_200E_202E_202B_200E_206E_202B_200C_202C_202B_202D_206F_202E(string P_0, IEnumerable P_1) - { - return string.Join(P_0, P_1); - } - - static string _200C_200E_202E_206C_202B_200B_200D_206E_202A_206C_202B_200E_206D_206D_200D_206B_200B_202A_206C_202B_202C_200D_202D_200D_200F_202B_206F_202A_200D_206C_202B_206C_206F_200C_200E_200E_206A_206F_202D_202B_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static List _200E_200E_206F_200F_206C_200C_202C_206F_202B_200F_202B_202E_200B_206A_206E_200C_200D_206D_202E_202C_202C_200D_206D_206A_200F_206B_206F_200C_200D_206F_202E_202C_200E_200F_202B_200B_202B_202E_206A_202E(QuestStep P_0) - { - return P_0.KillEnemyDataIds; - } - - static List _200F_206E_200E_202A_202D_206F_202D_200F_202C_206B_200B_206B_200D_200E_200B_200D_206A_202D_200C_200D_202C_202D_206A_202A_206C_206C_200E_206C_202B_200E_206A_200D_202B_202C_202C_200F_200F_202B_200D_202B_202E(QuestStep P_0) - { - return P_0.ComplexCombatData; - } - - static uint _200C_206A_206C_202B_202E_206F_206C_202C_200B_202A_202C_200F_200B_202E_200F_202A_206C_206F_206E_200C_202D_200B_200C_200C_202D_200E_200F_202A_206F_200C_206B_200E_200D_200F_206B_206F_200C_206E_206C_206F_202E(ComplexCombatData P_0) - { - return P_0.DataId; - } - - static bool _206D_202D_202A_202A_200B_206C_200D_206B_206F_200F_206C_202B_200C_206E_200F_200D_200C_206E_206C_200C_200C_202D_200F_202D_202D_202A_202B_206D_206D_200C_202B_206A_200B_200F_200B_200C_202D_200B_206B_200C_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202E_206E_200F_206E_202A_206A_200F_206F_200B_206F_206D_200D_202A_200D_202E_206E_206A_206A_206A_202B_200E_200C_202D_200E_202D_206E_200B_206A_206F_206B_206A_202D_206F_206B_200B_200D_200D_202B_202A_206F_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static IList _200B_206F_206B_200E_202A_202E_202B_200C_200F_206E_202A_200E_202A_202E_200F_200C_206A_206F_206D_200D_200F_202C_200F_202B_206D_200C_202D_206B_202B_206D_200B_206E_202C_202C_200D_200C_200D_202C_202B_200F_202E(ComplexCombatData P_0) - { - return P_0.CompletionQuestVariablesFlags; - } - - static byte? _200C_206D_200E_206B_202D_206E_206B_200C_206D_202D_202D_200B_206D_202D_200C_200F_206B_206F_200F_200D_202C_202B_206A_206D_200E_206A_206D_200D_200F_200D_200B_202D_206E_206B_202E_202C_206C_202D_202A_202E_202E(QuestWorkValue P_0) - { - return P_0.Low; - } - - static byte? _202D_200B_206F_206C_202C_202B_206D_202E_202A_202A_200B_202C_202B_200D_202B_202C_202A_206B_200E_206B_206C_206D_206E_206F_206E_200C_206D_206C_206B_200F_206D_202A_202A_200D_202D_200E_206C_202A_206A_206A_202E(QuestWorkValue P_0) - { - return P_0.High; - } - - static uint? _200B_202C_200C_206C_202B_202B_200C_200D_206C_202D_206A_206E_202B_206E_200E_206A_202B_202E_202D_206C_200B_202D_200E_206D_202B_200E_206A_206F_206C_206D_202B_202D_200F_202D_200D_206C_200E_200C_202D_200F_202E(ComplexCombatData P_0) - { - return P_0.NameId; - } - - static bool _206D_200C_200E_200B_200B_202E_206C_200E_200B_206D_206E_202C_202C_206F_202A_202C_200B_200E_200D_206E_206D_202C_202A_202A_206E_200B_200C_202C_202C_206B_206E_202D_200B_200C_202E_206D_202B_206A_202B_200D_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static List _200F_206E_202D_206C_206B_206F_202B_200E_200C_202C_200E_206E_200F_206E_200B_202C_206A_202C_202D_200F_206D_202D_206C_206E_202E_206A_202B_202D_202A_206F_202D_200D_202E_200D_206A_206C_202A_200C_202C_202E(QuestStep P_0) - { - return P_0.CompletionQuestVariablesFlags; - } - - static CultureInfo _206E_202D_206F_200C_206F_202C_206B_200F_200B_206B_206A_200F_200F_206F_202B_200E_202A_206A_206B_206E_202D_200B_202D_202A_200F_206B_206B_206D_206D_202E_200D_200C_206C_206A_206A_200F_206E_206B_202B_202E() - { - return CultureInfo.InvariantCulture; - } - - static uint _202C_202E_200C_206C_206B_200B_200F_200F_200D_200E_202E_206B_206E_200D_202B_202E_206C_206F_200C_200C_206E_206B_206E_200E_206A_200F_200D_206E_202B_200F_202C_202E_206B_206F_202E_202B_202E_206B_202E_200E_202E(ICharacter P_0) - { - return P_0.NameId; + (string Name, bool Found) GetEnemyName(uint dataId) + { + if (_objectTable.FirstOrDefault((IGameObject x) => x is IBattleNpc battleNpc2 && battleNpc2.BaseId == dataId) is IBattleNpc { NameId: not 0u } battleNpc) + { + BNpcName? bNpcName2 = bnpcNameSheet?.GetRowOrDefault(battleNpc.NameId); + if (bNpcName2.HasValue && !string.IsNullOrEmpty(bNpcName2.Value.Singular.ToString())) + { + return (Name: bNpcName2.Value.Singular.ToString(), Found: true); + } + } + return (Name: string.Empty, Found: false); + } } } diff --git a/Questionable/Questionable.Controller.DebugCommands/SequencesCommandHandler.cs b/Questionable/Questionable.Controller.DebugCommands/SequencesCommandHandler.cs index 7664cde..3e3c9f6 100644 --- a/Questionable/Questionable.Controller.DebugCommands/SequencesCommandHandler.cs +++ b/Questionable/Questionable.Controller.DebugCommands/SequencesCommandHandler.cs @@ -1,5 +1,3 @@ -using System.Runtime.CompilerServices; -using LLib.ImGui; using Questionable.Model.Questing; using Questionable.Windows; @@ -9,14 +7,7 @@ internal sealed class SequencesCommandHandler : IDebugCommandHandler { private readonly QuestSequenceWindow _questSequenceWindow; - public string CommandName - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2123114850); - } - } + public string CommandName => "seq"; public SequencesCommandHandler(QuestSequenceWindow questSequenceWindow) { @@ -25,52 +16,13 @@ internal sealed class SequencesCommandHandler : IDebugCommandHandler public void Execute(string[] arguments) { - int num = ((arguments.Length < 1) ? (-723182513) : (-723182515)); - ElementId elementId = default(ElementId); - while (true) + if (arguments.Length >= 1 && ElementId.TryFromString(arguments[0], out ElementId elementId) && elementId != null) { - int num2 = num; - int num3 = -723182516; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -723182515; - break; - case 1: - num = ((!_206E_202A_206F_206A_202C_202A_206B_202D_206F_206F_200C_206B_202A_200E_202A_206C_206C_200D_206D_202E_206C_202E_200B_202C_200C_206F_206A_206C_206E_200C_202E_206A_206A_206A_202B_202B_206D_200F_202B_206A_202E(arguments[0], ref elementId)) ? (-723182513) : (-723182516)); - break; - case 0: - num = ((!_200F_200D_202B_206C_202A_206C_200D_200E_206E_202D_206E_200B_200C_200E_200B_200E_202B_200E_200B_206D_202D_206B_206F_200F_200E_200B_200E_202A_206D_206A_202C_202B_200E_202D_202C_202E_200D_206E_202D_206E_202E(elementId, (ElementId)null)) ? (-723182513) : (-723182520)); - break; - case 3: - _206D_202A_206F_206A_206C_202E_206F_206E_206B_200D_202B_206E_200D_202B_202A_202B_206F_206E_206B_206B_200E_206F_200D_202B_206F_200E_200D_202A_206F_202E_202D_206C_206F_206F_200B_206E_200F_206B_206D_200D_202E((LWindow)_questSequenceWindow); - return; - case 4: - _questSequenceWindow.OpenForQuest(elementId); - return; - } + _questSequenceWindow.OpenForQuest(elementId); + } + else + { + _questSequenceWindow.ToggleOrUncollapse(); } } - - void IDebugCommandHandler.Execute(string[] arguments) - { - //ILSpy generated this explicit interface implementation from .override directive in Execute - this.Execute(arguments); - } - - static bool _206E_202A_206F_206A_202C_202A_206B_202D_206F_206F_200C_206B_202A_200E_202A_206C_206C_200D_206D_202E_206C_202E_200B_202C_200C_206F_206A_206C_206E_200C_202E_206A_206A_206A_202B_202B_206D_200F_202B_206A_202E(string P_0, ref ElementId P_1) - { - return ElementId.TryFromString(P_0, out P_1); - } - - static bool _200F_200D_202B_206C_202A_206C_200D_200E_206E_202D_206E_200B_200C_200E_200B_200E_202B_200E_200B_206D_202D_206B_206F_200F_200E_200B_200E_202A_206D_206A_202C_202B_200E_202D_202C_202E_200D_206E_202D_206E_202E(ElementId P_0, ElementId P_1) - { - return P_0 != P_1; - } - - static void _206D_202A_206F_206A_206C_202E_206F_206E_206B_200D_202B_206E_200D_202B_202A_202B_206F_206E_206B_206B_200E_206F_200D_202B_206F_200E_200D_202A_206F_202E_202D_206C_206F_206F_200B_206E_200F_206B_206D_200D_202E(LWindow P_0) - { - P_0.ToggleOrUncollapse(); - } } diff --git a/Questionable/Questionable.Controller.DebugCommands/SetupCommandHandler.cs b/Questionable/Questionable.Controller.DebugCommands/SetupCommandHandler.cs index edb1aee..685b435 100644 --- a/Questionable/Questionable.Controller.DebugCommands/SetupCommandHandler.cs +++ b/Questionable/Questionable.Controller.DebugCommands/SetupCommandHandler.cs @@ -1,5 +1,3 @@ -using System.Runtime.CompilerServices; -using LLib.ImGui; using Questionable.Windows; namespace Questionable.Controller.DebugCommands; @@ -8,14 +6,7 @@ internal sealed class SetupCommandHandler : IDebugCommandHandler { private readonly OneTimeSetupWindow _oneTimeSetupWindow; - public string CommandName - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2087530843); - } - } + public string CommandName => "setup"; public SetupCommandHandler(OneTimeSetupWindow oneTimeSetupWindow) { @@ -24,17 +15,6 @@ internal sealed class SetupCommandHandler : IDebugCommandHandler public void Execute(string[] arguments) { - _206D_200D_200D_202D_200C_206A_200D_202C_202E_206F_200B_206E_200B_202A_200E_202D_202B_202B_200D_200F_202A_200B_206C_202C_200C_202D_206A_200F_202A_206E_206E_206C_202C_202C_206B_202C_200F_200D_206E_200E_202E((LWindow)_oneTimeSetupWindow, true); - } - - void IDebugCommandHandler.Execute(string[] arguments) - { - //ILSpy generated this explicit interface implementation from .override directive in Execute - this.Execute(arguments); - } - - static void _206D_200D_200D_202D_200C_206A_200D_202C_202E_206F_200B_206E_200B_202A_200E_202D_202B_202B_200D_200F_202A_200B_206C_202C_200C_202D_206A_200F_202A_206E_206E_206C_202C_202C_206B_202C_200F_200D_206E_200E_202E(LWindow P_0, bool P_1) - { - P_0.IsOpenAndUncollapsed = P_1; + _oneTimeSetupWindow.IsOpenAndUncollapsed = true; } } diff --git a/Questionable/Questionable.Controller.DebugCommands/SimulateQuestCommandHandler.cs b/Questionable/Questionable.Controller.DebugCommands/SimulateQuestCommandHandler.cs index b48fc38..da762f3 100644 --- a/Questionable/Questionable.Controller.DebugCommands/SimulateQuestCommandHandler.cs +++ b/Questionable/Questionable.Controller.DebugCommands/SimulateQuestCommandHandler.cs @@ -1,4 +1,3 @@ -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using Questionable.Model; using Questionable.Model.Questing; @@ -13,14 +12,7 @@ internal sealed class SimulateQuestCommandHandler : IDebugCommandHandler private readonly IChatGui _chatGui; - public string CommandName - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(408484576); - } - } + public string CommandName => "sim"; public SimulateQuestCommandHandler(QuestController questController, QuestRegistry questRegistry, IChatGui chatGui) { @@ -29,126 +21,38 @@ internal sealed class SimulateQuestCommandHandler : IDebugCommandHandler _chatGui = chatGui; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Execute(string[] arguments) { - int num = ((arguments.Length < 1) ? 75346620 : 75346609); - int step = default(int); - int result = default(int); - ElementId elementId = default(ElementId); - byte result2 = default(byte); - byte sequence = default(byte); - QuestSequence questSequence = default(QuestSequence); - Quest quest = default(Quest); - while (true) + if (arguments.Length >= 1 && ElementId.TryFromString(arguments[0], out ElementId elementId) && elementId != null) { - int num2 = num; - int num3 = 75346615; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 12: - step = result; - num = 75346611; - break; - case 7: - { - IChatGui chatGui2 = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(15, 1); - defaultInterpolatedStringHandler2.AppendLiteral(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(-742005049)); - defaultInterpolatedStringHandler2.AppendFormatted(elementId); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-404473860)); - _200B_206F_202C_200F_200E_200C_200E_200B_202C_200F_206F_200D_200E_202A_202D_200C_200D_202B_200C_200B_206B_202B_200C_202A_202D_206F_206E_202B_206E_200E_202D_206D_202E_200E_200D_200E_202E_200F_200D_202B_202E(chatGui2, defaultInterpolatedStringHandler2.ToStringAndClear(), 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(1481660241), (ushort?)(ushort)576); - return; - } - case 0: - num = ((!byte.TryParse(arguments[1], out result2)) ? 75346611 : 75346614); - break; - case 9: - num = ((!_206F_200B_200F_202E_206B_206A_202C_202B_206A_200B_202E_202B_202C_202A_200C_200B_202B_202D_206E_206C_202E_206A_202A_200C_206B_200F_200F_200B_206E_202C_206C_206A_202B_206D_206F_202D_206E_206E_200C_206B_202E(elementId, (ElementId)null)) ? 75346620 : 75346613); - break; - case 3: - num = ((!int.TryParse(arguments[2], out result)) ? 75346611 : 75346618); - break; - case 10: - num = 75346609; - break; - case 8: - sequence = 0; - step = 0; - num = ((arguments.Length < 2) ? 75346611 : 75346615); - break; - case 13: - num = ((_206E_200E_202A_206C_202A_200D_206D_200D_202B_202D_200C_200F_202D_202C_202D_202E_206B_202C_206F_200C_206E_206B_202D_206D_206A_206D_200E_202A_206C_206A_206A_206C_206E_206D_206A_206B_200E_206E_206E_200E_202E(questSequence, result) == null) ? 75346611 : 75346619); - break; - case 11: - _questController.SimulateQuest(null, 0, 0); - _200B_206D_206B_206E_206E_202C_200C_202C_202D_202C_206E_202A_206E_206B_206D_206E_200E_206B_206A_200C_200C_206B_202D_200C_206F_200E_202C_206E_206D_202A_206B_202B_202A_206E_206A_202C_206C_206C_206E_206E_202E(_chatGui, 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(31159756), 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(85756196), (ushort?)(ushort)576); - return; - case 2: - num = ((!_questRegistry.TryGetQuest(elementId, out quest)) ? 75346608 : 75346623); - break; - case 5: - sequence = _206A_200B_206E_206D_200F_206F_202A_206A_202D_202E_200F_200E_202C_200E_206C_206F_200C_202A_202E_202E_206C_200F_202C_206A_200B_200F_200E_206F_206D_202A_206E_202A_202A_200B_206C_206D_206A_200D_206E_202B_202E(questSequence); - num = ((arguments.Length < 3) ? 75346611 : 75346612); - break; - case 1: - questSequence = quest.FindSequence(result2); - num = ((questSequence == null) ? 75346611 : 75346610); - break; - case 4: + if (_questRegistry.TryGetQuest(elementId, out Quest quest)) { + byte sequence = 0; + int step = 0; + if (arguments.Length >= 2 && byte.TryParse(arguments[1], out var result)) + { + QuestSequence questSequence = quest.FindSequence(result); + if (questSequence != null) + { + sequence = questSequence.Sequence; + if (arguments.Length >= 3 && int.TryParse(arguments[2], out var result2) && questSequence.FindStep(result2) != null) + { + step = result2; + } + } + } _questController.SimulateQuest(quest, sequence, step); - IChatGui chatGui = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(21, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1180305998)); - defaultInterpolatedStringHandler.AppendFormatted(elementId); - defaultInterpolatedStringHandler.AppendLiteral(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(1099691430)); - defaultInterpolatedStringHandler.AppendFormatted(quest.Info.Name); - defaultInterpolatedStringHandler.AppendLiteral(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(1109945913)); - _200B_206D_206B_206E_206E_202C_200C_202C_202D_202C_206E_202A_206E_206B_206D_206E_200E_206B_206A_200C_200C_206B_202D_200C_206F_200E_202C_206E_206D_202A_206B_202B_202A_206E_206A_202C_206C_206C_206E_206E_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - return; + _chatGui.Print($"Simulating quest {elementId} ({quest.Info.Name}).", "Questionable", 576); } - case 6: - num = ((!_202A_206D_206D_206D_206C_200D_200E_202D_202A_206A_202C_206F_200B_202B_206E_200C_200E_200C_206E_206A_200C_206F_200E_202A_202C_206F_200F_200B_206D_202D_202B_202D_202E_200E_202D_200E_200D_200B_206E_200E_202E(arguments[0], ref elementId)) ? 75346620 : 75346622); - break; + else + { + _chatGui.PrintError($"Unknown quest {elementId}.", "Questionable", 576); } } - } - - void IDebugCommandHandler.Execute(string[] arguments) - { - //ILSpy generated this explicit interface implementation from .override directive in Execute - this.Execute(arguments); - } - - static bool _202A_206D_206D_206D_206C_200D_200E_202D_202A_206A_202C_206F_200B_202B_206E_200C_200E_200C_206E_206A_200C_206F_200E_202A_202C_206F_200F_200B_206D_202D_202B_202D_202E_200E_202D_200E_200D_200B_206E_200E_202E(string P_0, ref ElementId P_1) - { - return ElementId.TryFromString(P_0, out P_1); - } - - static bool _206F_200B_200F_202E_206B_206A_202C_202B_206A_200B_202E_202B_202C_202A_200C_200B_202B_202D_206E_206C_202E_206A_202A_200C_206B_200F_200F_200B_206E_202C_206C_206A_202B_206D_206F_202D_206E_206E_200C_206B_202E(ElementId P_0, ElementId P_1) - { - return P_0 != P_1; - } - - static byte _206A_200B_206E_206D_200F_206F_202A_206A_202D_202E_200F_200E_202C_200E_206C_206F_200C_202A_202E_202E_206C_200F_202C_206A_200B_200F_200E_206F_206D_202A_206E_202A_202A_200B_206C_206D_206A_200D_206E_202B_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - - static QuestStep _206E_200E_202A_206C_202A_200D_206D_200D_202B_202D_200C_200F_202D_202C_202D_202E_206B_202C_206F_200C_206E_206B_202D_206D_206A_206D_200E_202A_206C_206A_206A_206C_206E_206D_206A_206B_200E_206E_206E_200E_202E(QuestSequence P_0, int P_1) - { - return P_0.FindStep(P_1); - } - - static void _200B_206D_206B_206E_206E_202C_200C_202C_202D_202C_206E_202A_206E_206B_206D_206E_200E_206B_206A_200C_200C_206B_202D_200C_206F_200E_202C_206E_206D_202A_206B_202B_202A_206E_206A_202C_206C_206C_206E_206E_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.Print(P_1, P_2, P_3); - } - - static void _200B_206F_202C_200F_200E_200C_200E_200B_202C_200F_206F_200D_200E_202A_202D_200C_200D_202B_200C_200B_206B_202B_200C_202A_202D_206F_206E_202B_206E_200E_202D_206D_202E_200E_200D_200E_202E_200F_200D_202B_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); + else + { + _questController.SimulateQuest(null, 0, 0); + _chatGui.Print("Cleared simulated quest.", "Questionable", 576); + } } } diff --git a/Questionable/Questionable.Controller.DebugCommands/TaxiCommandHandler.cs b/Questionable/Questionable.Controller.DebugCommands/TaxiCommandHandler.cs index 3581a0d..45de1dc 100644 --- a/Questionable/Questionable.Controller.DebugCommands/TaxiCommandHandler.cs +++ b/Questionable/Questionable.Controller.DebugCommands/TaxiCommandHandler.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game.UI; using Lumina.Excel; @@ -15,14 +14,7 @@ internal sealed class TaxiCommandHandler : IDebugCommandHandler private readonly IChatGui _chatGui; - public string CommandName - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(36013436); - } - } + public string CommandName => "taxi"; public TaxiCommandHandler(IDataManager dataManager, IClientState clientState, IChatGui chatGui) { @@ -31,177 +23,44 @@ internal sealed class TaxiCommandHandler : IDebugCommandHandler _chatGui = chatGui; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe void Execute(string[] arguments) { List list = new List(); ExcelSheet excelSheet = _dataManager.GetExcelSheet(); UIState* ptr = UIState.Instance(); - int num = ((ptr != null) ? (-1504900883) : (-1504900882)); - string text = default(string); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -1504900881; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _chatGui.PrintError("UIState is null", "Questionable", 576); + return; + } + for (int i = 0; i < 192; i++) + { + uint num = (uint)(i + 1179648); + try { - case 0: - goto IL_006e; - case 1: - _202A_202A_206C_200D_200B_202A_206E_206C_206D_200B_200D_200C_202B_206E_200E_200C_206B_202B_206D_206C_200C_202E_206E_200C_202A_206F_202B_206E_202A_200B_206D_206F_202B_202E_206A_200C_206D_200D_206F_202D_202E(_chatGui, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(450011813), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); - return; - case 2: - { - for (int num5 = 0; num5 < 192; num5 = (num4 | num3) + (num4 & num3)) + if (excelSheet.HasRow(num) && ptr->IsChocoboTaxiStandUnlocked(num)) { - int num6 = num5; - num3 = 1179648; - num4 = num6; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - uint num9 = (uint)(num7 + (num8 + num8)); - try + string value = excelSheet.GetRow(num).PlaceName.ToString(); + if (string.IsNullOrEmpty(value)) { - num = (excelSheet.HasRow(num9) ? (-1045043585) : (-1045043591)); - while (true) - { - int num10 = num; - num3 = -1045043587; - num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - num = -1045043591; - break; - case 3: - text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-934792339); - num = -1045043587; - break; - case 4: - goto end_IL_00eb; - case 2: - num = ((!ptr->IsChocoboTaxiStandUnlocked(num9)) ? (-1045043592) : (-1045043588)); - break; - case 1: - text = excelSheet.GetRow(num9).PlaceName.ToString(); - num = ((!_200D_200E_202E_200F_202B_200B_206B_200C_202B_206A_202E_200D_206E_200C_206D_206A_202B_200C_206E_200E_202B_202D_202B_200E_200C_206C_206A_206F_206B_202A_202E_202D_202A_202A_200C_200E_202A_206C_200E_206E_202E(text)) ? (-1045043587) : (-1045043586)); - break; - case 0: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(16, 3); - defaultInterpolatedStringHandler.AppendFormatted(text); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(911808460)); - defaultInterpolatedStringHandler.AppendFormatted(num5); - defaultInterpolatedStringHandler.AppendLiteral(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(201911383)); - defaultInterpolatedStringHandler.AppendFormatted(num9, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(906389666)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1618480346)); - list.Add(defaultInterpolatedStringHandler.ToStringAndClear()); - num = -1045043592; - break; - } - case 5: - goto end_IL_00eb; - } - continue; - end_IL_00eb: - break; - } - } - catch - { - } - int num11 = num5; - num3 = 1; - num4 = num11; - } - num = 2067861557; - while (true) - { - int num12 = num; - num3 = 2067861556; - num4 = num12; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 2067861557; - break; - case 1: - { - IChatGui chatGui = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(24, 1); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(527408719)); - defaultInterpolatedStringHandler2.AppendFormatted(list.Count); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1060622796)); - _206E_200B_202D_200B_200B_200C_202E_200C_206D_200C_206E_206B_202C_206B_202A_202C_202D_202E_200C_202E_206A_202C_206A_202D_206A_206C_200B_200B_202E_206F_200B_200D_200F_202E_202E_202B_200B_206A_206A_200C_202E(chatGui, defaultInterpolatedStringHandler2.ToStringAndClear(), 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(1481660241), (ushort?)(ushort)576); - num = ((list.Count != 0) ? 2067861559 : 2067861556); - break; - } - case 0: - _206E_200B_202D_200B_200B_200C_202E_200C_206D_200C_206E_206B_202C_206B_202A_202C_202D_202E_200C_202E_206A_202C_206A_202D_206A_206C_200B_200B_202E_206F_200B_200D_200F_202E_202E_202B_200B_206A_206A_200C_202E(_chatGui, 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(372663010), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(467221712), (ushort?)(ushort)576); - return; - case 3: - { - using List.Enumerator enumerator = list.GetEnumerator(); - num = -1727299586; - while (true) - { - int num13 = num; - num3 = -1727299586; - num4 = num13; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1727299586; - break; - case 0: - num = (enumerator.MoveNext() ? (-1727299585) : (-1727299587)); - break; - case 1: - { - string current = enumerator.Current; - _206E_200B_202D_200B_200B_200C_202E_200C_206D_200C_206E_206B_202C_206B_202A_202C_202D_202E_200C_202E_206A_202C_206A_202D_206A_206C_200B_200B_202E_206F_200B_200D_200F_202E_202E_202B_200B_206A_206A_200C_202E(_chatGui, _202A_202E_206A_206D_200C_202A_206C_206E_202C_206E_206C_206D_202B_202E_206D_200D_202A_206D_200F_200E_206F_202E_200C_200C_200E_202E_202C_202A_202A_202C_200E_202C_200B_206A_202A_206B_202E_206A_200F_206C_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(232485537), current), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - num = -1727299586; - break; - } - case 3: - return; - } - } - } + value = "Unknown"; } + list.Add($"{value} (ID: {i}, Row: 0x{num:X})"); } } + catch + { } - continue; - IL_006e: - num = -1504900882; + } + _chatGui.Print($"Unlocked taxi stands ({list.Count}):", "Questionable", 576); + if (list.Count == 0) + { + _chatGui.Print(" (No unlocked taxi stands found)", "Questionable", 576); + return; + } + foreach (string item in list) + { + _chatGui.Print(" - " + item, "Questionable", 576); } } - - void IDebugCommandHandler.Execute(string[] arguments) - { - //ILSpy generated this explicit interface implementation from .override directive in Execute - this.Execute(arguments); - } - - static void _202A_202A_206C_200D_200B_202A_206E_206C_206D_200B_200D_200C_202B_206E_200E_200C_206B_202B_206D_206C_200C_202E_206E_200C_202A_206F_202B_206E_202A_200B_206D_206F_202B_202E_206A_200C_206D_200D_206F_202D_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); - } - - static bool _200D_200E_202E_200F_202B_200B_206B_200C_202B_206A_202E_200D_206E_200C_206D_206A_202B_200C_206E_200E_202B_202D_202B_200E_200C_206C_206A_206F_206B_202A_202E_202D_202A_202A_200C_200E_202A_206C_200E_206E_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static void _206E_200B_202D_200B_200B_200C_202E_200C_206D_200C_206E_206B_202C_206B_202A_202C_202D_202E_200C_202E_206A_202C_206A_202D_206A_206C_200B_200B_202E_206F_200B_200D_200F_202E_202E_202B_200B_206A_206A_200C_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.Print(P_1, P_2, P_3); - } - - static string _202A_202E_206A_206D_200C_202A_206C_206E_202C_206E_206C_206D_202B_202E_206D_200D_202A_206D_200F_200E_206F_202E_200C_200C_200E_202E_202C_202A_202A_202C_200E_202C_200B_206A_202A_206B_202E_206A_200F_206C_202E(string P_0, string P_1) - { - return P_0 + P_1; - } } diff --git a/Questionable/Questionable.Controller.DebugCommands/UnlockLinksCommandHandler.cs b/Questionable/Questionable.Controller.DebugCommands/UnlockLinksCommandHandler.cs index ecc5574..06dc43d 100644 --- a/Questionable/Questionable.Controller.DebugCommands/UnlockLinksCommandHandler.cs +++ b/Questionable/Questionable.Controller.DebugCommands/UnlockLinksCommandHandler.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using Questionable.Functions; @@ -15,14 +14,7 @@ internal sealed class UnlockLinksCommandHandler : IDebugCommandHandler private IReadOnlyList _previouslyUnlockedUnlockLinks = Array.Empty(); - public string CommandName - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return 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(1519844067); - } - } + public string CommandName => "unlock-links"; public UnlockLinksCommandHandler(GameFunctions gameFunctions, IChatGui chatGui) { @@ -30,77 +22,27 @@ internal sealed class UnlockLinksCommandHandler : IDebugCommandHandler _chatGui = chatGui; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Execute(string[] arguments) { IReadOnlyList unlockLinks = _gameFunctions.GetUnlockLinks(); - int num = ((unlockLinks.Count < 0) ? (-529327854) : (-529327856)); - List list = default(List); - while (true) + if (unlockLinks.Count >= 0) { - int num2 = num; - int num3 = -529327853; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + _chatGui.Print($"Saved {unlockLinks.Count} unlock links to log.", "Questionable", 576); + List list = unlockLinks.Except(_previouslyUnlockedUnlockLinks).ToList(); + if (_previouslyUnlockedUnlockLinks.Count > 0 && list.Count > 0) { - case 2: - num = -529327856; - break; - case 5: - _206B_202A_200C_200E_202B_206D_202D_206A_202C_200F_206B_206D_206C_206A_206E_202C_206E_200B_202E_200C_202D_202A_206C_206B_206C_202A_202E_200C_202E_200E_206E_206D_202A_200E_206D_200D_206D_202D_202B_206B_202E(_chatGui, _206A_200D_200D_202A_202A_200B_200C_206E_200D_200F_200D_202A_202C_206A_206F_200B_206F_200D_200D_206F_200B_206A_200F_202C_200E_202C_206A_202E_206E_200D_200C_200B_206B_202A_202B_200C_202E_202C_200D_206B_202E(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(1421488541), string.Join(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(-1095822044), list)), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - num = -529327849; - break; - case 4: - _previouslyUnlockedUnlockLinks = unlockLinks; - return; - case 1: - _206B_202A_200F_200D_200B_200B_202E_200D_202D_200C_202A_206B_206B_202A_206F_200B_202A_202E_200D_200E_202D_206C_200F_206C_206B_202B_206A_202E_206A_202C_200B_206D_202D_200C_206A_200F_202C_206A_206E_202B_202E(_chatGui, 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(929710911), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - num = -529327849; - break; - case 0: - num = ((list.Count <= 0) ? (-529327849) : (-529327850)); - break; - case 3: - { - IChatGui chatGui = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(27, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(278706240)); - defaultInterpolatedStringHandler.AppendFormatted(unlockLinks.Count); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1528398919)); - _206B_202A_200C_200E_202B_206D_202D_206A_202C_200F_206B_206D_206C_206A_206E_202C_206E_200B_202E_200C_202D_202A_206C_206B_206C_202A_202E_200C_202E_200E_206E_206D_202A_200E_206D_200D_206D_202D_202B_206B_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(467221712), (ushort?)(ushort)576); - list = unlockLinks.Except(_previouslyUnlockedUnlockLinks).ToList(); - num = ((_previouslyUnlockedUnlockLinks.Count <= 0) ? (-529327849) : (-529327853)); - break; - } + _chatGui.Print("New unlock links: " + string.Join(", ", list), "Questionable", 576); } } - } - - void IDebugCommandHandler.Execute(string[] arguments) - { - //ILSpy generated this explicit interface implementation from .override directive in Execute - this.Execute(arguments); + else + { + _chatGui.PrintError("Could not query unlock links.", "Questionable", 576); + } + _previouslyUnlockedUnlockLinks = unlockLinks; } public void Reset() { _previouslyUnlockedUnlockLinks = Array.Empty(); } - - static void _206B_202A_200C_200E_202B_206D_202D_206A_202C_200F_206B_206D_206C_206A_206E_202C_206E_200B_202E_200C_202D_202A_206C_206B_206C_202A_202E_200C_202E_200E_206E_206D_202A_200E_206D_200D_206D_202D_202B_206B_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.Print(P_1, P_2, P_3); - } - - static string _206A_200D_200D_202A_202A_200B_200C_206E_200D_200F_200D_202A_202C_206A_206F_200B_206F_200D_200D_206F_200B_206A_200F_202C_200E_202C_206A_202E_206E_200D_200C_200B_206B_202A_202B_200C_202E_202C_200D_206B_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static void _206B_202A_200F_200D_200B_200B_202E_200D_202D_200C_202A_206B_206B_202A_206F_200B_202A_202E_200D_200E_202D_206C_200F_206C_206B_202B_206A_202E_206A_202C_200B_206D_202D_200C_206A_200F_202C_206A_206E_202B_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); - } } diff --git a/Questionable/Questionable.Controller.GameUi/AutoSnipeHandler.cs b/Questionable/Questionable.Controller.GameUi/AutoSnipeHandler.cs index 663631e..a9cfba7 100644 --- a/Questionable/Questionable.Controller.GameUi/AutoSnipeHandler.cs +++ b/Questionable/Questionable.Controller.GameUi/AutoSnipeHandler.cs @@ -1,5 +1,4 @@ using System; -using System.Runtime.CompilerServices; using Dalamud.Hooking; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game.Event; @@ -20,7 +19,6 @@ internal sealed class AutoSnipeHandler : IDisposable private readonly Hook? _enqueueSnipeTaskHook; - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe AutoSnipeHandler(QuestController questController, Configuration configuration, IGameInteropProvider gameInteropProvider, ILogger logger) { _questController = questController; @@ -28,90 +26,38 @@ internal sealed class AutoSnipeHandler : IDisposable _logger = logger; try { - _enqueueSnipeTaskHook = gameInteropProvider.HookFromSignature(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(-116900171), EnqueueSnipeTask); + _enqueueSnipeTaskHook = gameInteropProvider.HookFromSignature("48 89 5C 24 ?? 48 89 6C 24 ?? 48 89 74 24 ?? 57 48 83 EC 50 48 8B F9 48 8D 4C 24 ??", EnqueueSnipeTask); _enqueueSnipeTaskHook.Enable(); - _200C_200C_200F_202D_200B_202A_206A_206A_200C_206E_206E_206A_206E_206A_206B_206F_200B_206C_202B_206B_206A_206A_200B_202E_200F_200F_206F_202A_206D_202B_200E_206E_200E_200B_202B_202D_202D_206F_200D_206E_202E((ILogger)_logger, 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(-2135730328), Array.Empty()); + _logger.LogDebug("AutoSnipeHandler enabled"); } - catch (Exception ex) + catch (Exception exception) { - _202C_200E_206A_200D_206C_206C_200F_206F_200D_206A_206E_200D_202B_202E_202D_206C_206B_202C_202A_206F_206D_200B_200C_200C_206D_202C_206F_206A_202A_206E_200C_200E_200C_202D_206D_202A_206C_200E_202B_202D_202E((ILogger)_logger, ex, 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(309361772), Array.Empty()); + _logger.LogError(exception, "Failed to initialize AutoSnipeHandler"); _enqueueSnipeTaskHook = null; } } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe ulong EnqueueSnipeTask(EventSceneModuleImplBase* scene, lua_State* state) { - int num = ((!_configuration.General.AutoSnipe) ? 905347558 : 905347556); - while (true) + if (_configuration.General.AutoSnipe && _questController.IsRunning) { - int num2 = num; - int num3 = 905347557; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 905347556; - break; - case 3: - return _enqueueSnipeTaskHook.Original(scene, state); - case 1: - num = ((!_questController.IsRunning) ? 905347558 : 905347557); - break; - case 0: - { - _200C_200C_200F_202D_200B_202A_206A_206A_200C_206E_206E_206A_206E_206A_206B_206F_200B_206C_202B_206B_206A_206A_200B_202E_200F_200F_206F_202A_206D_202B_200E_206E_200E_200B_202B_202D_202D_206F_200D_206E_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(486539700), Array.Empty()); - TValue* top = state->top; - top->tt = 3; - top->value.n = 1.0; - state->top++; - return 1uL; - } - } + _logger.LogDebug("Auto-completing snipe task"); + TValue* top = state->top; + top->tt = 3; + top->value.n = 1.0; + state->top++; + return 1uL; } + return _enqueueSnipeTaskHook.Original(scene, state); } - [MethodImpl(MethodImplOptions.NoInlining)] public void Dispose() { - int num = ((_enqueueSnipeTaskHook == null) ? 1906347675 : 1906347672); - while (true) + if (_enqueueSnipeTaskHook != null) { - int num2 = num; - int num3 = 1906347673; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return; - case 1: - _enqueueSnipeTaskHook.Disable(); - _enqueueSnipeTaskHook.Dispose(); - _200C_200C_200F_202D_200B_202A_206A_206A_200C_206E_206E_206A_206E_206A_206B_206F_200B_206C_202B_206B_206A_206A_200B_202E_200F_200F_206F_202A_206D_202B_200E_206E_200E_200B_202B_202D_202D_206F_200D_206E_202E((ILogger)_logger, 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(135526562), Array.Empty()); - num = 1906347675; - break; - case 0: - num = 1906347672; - break; - } + _enqueueSnipeTaskHook.Disable(); + _enqueueSnipeTaskHook.Dispose(); + _logger.LogDebug("AutoSnipeHandler disabled"); } } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static void _200C_200C_200F_202D_200B_202A_206A_206A_200C_206E_206E_206A_206E_206A_206B_206F_200B_206C_202B_206B_206A_206A_200B_202E_200F_200F_206F_202A_206D_202B_200E_206E_200E_200B_202B_202D_202D_206F_200D_206E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static void _202C_200E_206A_200D_206C_206C_200F_206F_200D_206A_206E_200D_202B_202E_202D_206C_206B_202C_202A_206F_206D_200B_200C_200C_206D_202C_206F_206A_202A_206E_200C_200E_200C_202D_206D_202A_206C_200E_202B_202D_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } } diff --git a/Questionable/Questionable.Controller.GameUi/ChocoboNameHandler.cs b/Questionable/Questionable.Controller.GameUi/ChocoboNameHandler.cs index 1a4f6a6..c9d2749 100644 --- a/Questionable/Questionable.Controller.GameUi/ChocoboNameHandler.cs +++ b/Questionable/Questionable.Controller.GameUi/ChocoboNameHandler.cs @@ -1,11 +1,9 @@ using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text; using Dalamud.Game.Addon.Lifecycle; using Dalamud.Game.Addon.Lifecycle.AddonArgTypes; -using Dalamud.Game.NativeWrapper; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Component.GUI; using LLib.GameUI; @@ -18,9 +16,9 @@ internal sealed class ChocoboNameHandler : IDisposable { private static readonly HashSet ChocoboQuestIds = new HashSet { - _206C_206C_202C_202A_202B_202C_202C_202C_202D_200C_200D_206D_202E_200E_202E_206D_206A_202C_206E_206E_202C_200B_206D_200C_202B_206E_202D_206B_206F_206B_200F_206B_202D_206C_202C_200B_206F_206E_206E_202C_202E((ushort)700), - _206C_206C_202C_202A_202B_202C_202C_202C_202D_200C_200D_206D_202E_200E_202E_206D_206A_202C_206E_206E_202C_200B_206D_200C_202B_206E_202D_206B_206F_206B_200F_206B_202D_206C_202C_200B_206F_206E_206E_202C_202E((ushort)701), - _206C_206C_202C_202A_202B_202C_202C_202C_202D_200C_200D_206D_202E_200E_202E_206D_206A_202C_206E_206E_202C_200B_206D_200C_202B_206E_202D_206B_206F_206B_200F_206B_202D_206C_202C_200B_206F_206E_206E_202C_202E((ushort)702) + new QuestId(700), + new QuestId(701), + new QuestId(702) }; private readonly QuestController _questController; @@ -33,328 +31,108 @@ internal sealed class ChocoboNameHandler : IDisposable private bool _awaitingConfirmation; - [MethodImpl(MethodImplOptions.NoInlining)] public ChocoboNameHandler(QuestController questController, Configuration configuration, IAddonLifecycle addonLifecycle, ILogger logger) { _questController = questController; _configuration = configuration; _addonLifecycle = addonLifecycle; _logger = logger; - _206F_206A_206D_206E_202D_202B_202A_202D_206A_202B_200C_206F_200B_200E_202C_200F_202D_202A_206E_202D_206B_206A_202E_206A_202A_206F_206B_202C_206D_200C_206D_202D_200C_202E_200D_202D_202D_206C_202E_202B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(86143620), (IAddonLifecycle.AddonEventDelegate)OnInputStringSetup); - _206F_206A_206D_206E_202D_202B_202A_202D_206A_202B_200C_206F_200B_200E_202C_200F_202D_202A_206E_202D_206B_206A_202E_206A_202A_206F_206B_202C_206D_200C_206D_202D_200C_202E_200D_202D_202D_206C_202E_202B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(559979746), (IAddonLifecycle.AddonEventDelegate)OnSelectYesNoSetup); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "InputString", OnInputStringSetup); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "SelectYesno", OnSelectYesNoSetup); } - [MethodImpl(MethodImplOptions.NoInlining)] public void Dispose() { - _200D_200C_206E_202B_200C_200D_202C_200D_202A_200D_202D_200D_206D_200C_206D_202A_200B_206E_202A_206F_200B_202D_200B_200B_206B_200B_202D_206A_206E_200F_206C_200F_202C_200F_200F_206A_206F_206C_202B_202A_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1652110159), (IAddonLifecycle.AddonEventDelegate)OnSelectYesNoSetup); - _200D_200C_206E_202B_200C_200D_202C_200D_202A_200D_202D_200D_206D_200C_206D_202A_200B_206E_202A_206F_200B_202D_200B_200B_206B_200B_202D_206A_206E_200F_206C_200F_202C_200F_200F_206A_206F_206C_202B_202A_202E(_addonLifecycle, AddonEvent.PostSetup, 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(1424112397), (IAddonLifecycle.AddonEventDelegate)OnInputStringSetup); - } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); + _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "SelectYesno", OnSelectYesNoSetup); + _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "InputString", OnInputStringSetup); } private bool IsChocoboQuestActive() { QuestController.QuestProgress currentQuest = _questController.CurrentQuest; - int num = ((currentQuest == null) ? (-1870798202) : (-1870798201)); - while (true) + if (currentQuest != null) { - int num2 = num; - int num3 = -1870798202; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_004d; - case 0: - return false; - case 1: - return ChocoboQuestIds.Contains(currentQuest.Quest.Id); - } - continue; - IL_004d: - num = -1870798201; + return ChocoboQuestIds.Contains(currentQuest.Quest.Id); } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void OnInputStringSetup(AddonEvent type, AddonArgs args) { - int num = (_questController.IsRunning ? 1822557266 : 1822557269); - AtkUnitBase* address = default(AtkUnitBase*); - while (true) + if (_questController.IsRunning && IsChocoboQuestActive()) { - int num2 = num; - int num3 = 1822557265; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: + AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address; + if (LAddon.IsAddonReady(address)) { string validatedChocoboName = GetValidatedChocoboName(_configuration.Advanced.ChocoboName); - _202B_202A_200B_200B_202A_202A_206C_202D_200F_206E_200D_200B_206B_200B_202A_200C_202E_206D_206A_206E_200C_200E_206A_206E_206C_206A_202A_206C_206C_200B_206B_206C_206B_206A_202B_202C_200C_200D_206F_206C_202E((ILogger)_logger, 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(1006446610), new object[1] { validatedChocoboName }); + _logger.LogDebug("Entering chocobo name: {Name}", validatedChocoboName); FireInputStringCallback(address, validatedChocoboName); _awaitingConfirmation = true; - return; - } - case 6: - return; - case 2: - num = 1822557269; - break; - case 4: - return; - case 1: - address = (AtkUnitBase*)_200E_202E_206D_200B_206C_202B_200E_200C_200C_200D_200E_206F_200D_206A_200D_202A_202D_200E_206B_202A_206C_202D_200E_202A_202E_206D_202C_202E_206D_206D_202C_200F_206D_206D_200F_202B_202E_202B_206E_206E_202E(args).Address; - num = (_200F_206F_206E_206B_202C_202E_200F_206A_202D_206D_206A_200F_206A_202B_200E_202A_206E_200B_202D_206B_206E_206B_206F_206D_206C_202D_202C_202A_206D_202C_200C_202A_202A_206F_206D_206E_202E_202B_200D_200E_202E(address) ? 1822557268 : 1822557271); - break; - case 0: - return; - case 3: - num = (IsChocoboQuestActive() ? 1822557264 : 1822557265); - break; } } } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void OnSelectYesNoSetup(AddonEvent type, AddonArgs args) { - int num = (_questController.IsRunning ? (-693008591) : (-693008586)); - AtkUnitBase* address = default(AtkUnitBase*); - while (true) + if (_questController.IsRunning && _awaitingConfirmation) { - int num2 = num; - int num3 = -693008590; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address; + if (LAddon.IsAddonReady(address)) { - case 2: - return; - case 4: - return; - case 1: - return; - case 6: - _202B_202A_200B_200B_202A_202A_206C_202D_200F_206E_200D_200B_206B_200B_202A_200C_202E_206D_206A_206E_200C_200E_206A_206E_206C_206A_202A_206C_206C_200B_206B_206C_206B_206A_202B_202C_200C_200D_206F_206C_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-410002708), Array.Empty()); + _logger.LogDebug("Confirming chocobo name"); ClickYes(address); _awaitingConfirmation = false; - return; - case 5: - address = (AtkUnitBase*)_200E_202E_206D_200B_206C_202B_200E_200C_200C_200D_200E_206F_200D_206A_200D_202A_202D_200E_206B_202A_206C_202D_200E_202A_202E_206D_202C_202E_206D_206D_202C_200F_206D_206D_200F_202B_202E_202B_206E_206E_202E(args).Address; - num = (_200F_206F_206E_206B_202C_202E_200F_206A_202D_206D_206A_200F_206A_202B_200E_202A_206E_200B_202D_206B_206E_206B_206F_206D_206C_202D_202C_202A_206D_202C_200C_202A_202A_206F_206D_206E_202E_202B_200D_200E_202E(address) ? (-693008588) : (-693008589)); - break; - case 0: - num = -693008586; - break; - case 3: - num = (_awaitingConfirmation ? (-693008585) : (-693008592)); - break; } } } - [MethodImpl(MethodImplOptions.NoInlining)] private static string GetValidatedChocoboName(string? configuredName) { - int num = ((!_206D_202E_200E_202A_202E_200B_202B_200F_206E_200F_202C_202E_206C_200C_206E_202A_202D_200B_202B_206E_206B_206A_202D_202C_206B_200B_202D_206C_206A_202C_206C_206D_206B_206C_200C_200B_202B_206D_206E_200C_202E(configuredName)) ? 807668921 : 807668920); - string text = default(string); - while (true) + if (string.IsNullOrWhiteSpace(configuredName)) { - int num2 = num; - int num3 = 807668921; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = ((_200B_202B_206F_202D_202C_206F_200B_202E_202E_206D_200E_202B_202B_200F_202A_200E_206B_202C_206C_206D_206F_202B_202C_202C_200B_200C_200D_200D_206A_206F_202A_202E_202C_202D_202B_206C_200C_206D_200D_200F_202E(text) <= 20) ? 807668925 : 807668924); - break; - case 1: - return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1639602730); - case 0: - text = _206B_202B_206E_206B_206F_202D_202D_200F_202A_200C_200B_202E_206B_206E_206B_200C_206B_206E_200D_200E_200E_202E_206E_202A_206C_206A_202E_206F_206B_202C_206E_206C_206D_200F_206A_202C_206E_200C_200E_200C_202E(configuredName); - num = ((_200B_202B_206F_202D_202C_206F_200B_202E_202E_206D_200E_202B_202B_200F_202A_200E_206B_202C_206C_206D_206F_202B_202C_202C_200B_200C_200D_200D_206A_206F_202A_202E_202C_202D_202B_206C_200C_206D_200D_200F_202E(text) < 2) ? 807668924 : 807668923); - break; - case 5: - return global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1096463492); - case 4: - return _202B_202B_206C_200C_202D_206C_200F_202B_200B_200B_206E_206D_206B_202A_206E_206F_202B_202A_200C_206F_206E_200E_200D_202C_206D_200C_206E_202D_206A_206C_206D_200C_206D_200D_206E_206B_206E_206C_206B_202E(_202A_206E_202A_202B_202A_206F_202B_202E_200B_206D_202D_202D_202C_202B_200B_202E_206A_200B_206E_200D_202C_206D_202A_200E_206C_206E_200E_202B_206E_200C_200D_200B_206A_200D_202B_206D_206B_206D_202C_202E(_200F_206E_206F_206A_206B_206F_206C_206E_206C_202A_200E_206D_206B_202D_206D_206E_200D_202A_202C_206A_206D_200C_206A_200D_202B_202D_206C_206B_202B_206A_202D_206E_200E_206E_200B_206D_202C_206A_202A_202E_202E(text, 0, 1)), (_200B_202B_206F_202D_202C_206F_200B_202E_202E_206D_200E_202B_202B_200F_202A_200E_206B_202C_206C_206D_206F_202B_202C_202C_200B_200C_200D_200D_206A_206F_202A_202E_202C_202D_202B_206C_200C_206D_200D_200F_202E(text) > 1) ? _200F_200E_206B_202E_206E_206A_206B_200E_200B_206A_202B_200D_202B_206F_206F_206F_202D_206F_200F_200F_206B_200D_206B_206E_200D_206E_206E_202B_202C_206E_206E_200E_202E_206D_206C_206C_206C_206E_202A_206E_202E(_202D_206D_200B_206E_202B_200F_206B_200B_206D_200F_202E_200D_206A_206F_200D_202E_200C_202D_206E_202A_206F_206B_206B_202A_200C_206C_206A_200B_206A_206C_202B_202B_202B_206A_202C_206B_206E_200D_206C_202C_202E(text, 1)) : string.Empty); - case 3: - num = 807668920; - break; - } + return "Kweh"; } + string text = configuredName.Trim(); + if (text.Length < 2 || text.Length > 20) + { + return "Kweh"; + } + return text.Substring(0, 1).ToUpperInvariant() + ((text.Length > 1) ? text.Substring(1).ToLowerInvariant() : string.Empty); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void FireInputStringCallback(AtkUnitBase* addon, string text) { AtkComponentNode* componentNodeById = addon->GetComponentNodeById(9u); - int num = ((componentNodeById != null) ? 1161429663 : 1161429658); - AtkComponentTextInput* asAtkComponentTextInput = default(AtkComponentTextInput*); - while (true) + if (componentNodeById == null) { - int num2 = num; - int num3 = 1161429659; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - asAtkComponentTextInput = componentNodeById->GetAsAtkComponentTextInput(); - num = ((asAtkComponentTextInput != null) ? 1161429659 : 1161429656); - break; - case 3: - _202B_206C_200C_202C_200F_200C_202A_200D_202D_206D_202B_202C_200E_206C_206C_206D_206C_200B_206C_206A_202A_206A_202D_200E_202A_202A_202D_206B_206F_202E_202C_200F_202E_206A_202B_206F_200B_202B_206A_202D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1465025434), Array.Empty()); - return; - case 0: - { - asAtkComponentTextInput->SetText(text); - AtkValue* ptr = stackalloc AtkValue[2]; - ptr->Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int; - ptr->Int = 0; - byte[] array = _202A_202B_202A_200E_206F_200F_200F_206C_200B_206A_202A_200B_200F_202B_202B_206B_206F_202A_202E_200F_200E_206A_202D_206F_200C_202E_206B_200B_202D_206C_206E_202D_202D_200B_206A_200D_200B_200C_202A_202C_202E(_200F_200C_202C_206C_200C_206D_202C_206D_202C_200B_206B_206D_206D_202D_200B_206D_202B_206D_206C_206C_206D_206B_206F_206C_206A_202E_206A_200D_200F_202A_200E_202B_200D_206A_200B_206E_206E_206D_200C_200C_202E(), text); - int num7 = array.Length; - num3 = 1; - num4 = num7; - int num8 = num4 ^ num3; - int num9 = num4 & num3; - nint num10 = _202B_202E_202A_200F_200E_202A_206A_202A_206C_202D_206A_202D_202B_200E_200F_206F_206E_200E_202B_200B_206E_206F_202B_200B_206A_200B_202B_200E_200C_200D_202D_206D_200C_202C_200F_202B_206D_206D_206A_202E_202E(num8 + (num9 + num9)); - _202D_200F_200B_206D_202E_206C_200C_206A_202B_200E_202B_202C_206E_206E_206C_200D_206B_202A_206B_206F_200F_206C_206E_200E_200C_206E_202A_202D_202C_202A_202B_200E_202D_200E_200C_202A_202D_200F_200D_200E_202E(array, 0, num10, array.Length); - _200D_206D_200B_202C_202C_200B_206E_206C_206C_200B_206E_206A_206E_200F_202B_202B_202E_200D_202A_206A_202E_202D_200B_202E_206C_206F_200C_206A_200B_200F_200B_206D_202E_200F_202D_200E_202A_206B_200D_206C_202E(num10 + array.Length, (byte)0); - ptr[1].Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.String; - ptr[1].String = (byte*)num10; - addon->FireCallback(2u, ptr); - _206E_200B_200B_200E_200E_202B_202D_202E_206E_206B_206B_202D_206D_202D_200B_206D_202D_206E_206D_206C_202C_206F_206E_206A_206E_200E_206D_202D_206B_202A_202B_202A_206C_206A_200B_206D_202C_202A_200F_200E_202E(num10); - return; - } - case 1: - _202B_206C_200C_202C_200F_200C_202A_200D_202D_206D_202B_202C_200E_206C_206C_206D_206C_200B_206C_206A_202A_206A_202D_200E_202A_202A_202D_206B_206F_202E_202C_200F_202E_206A_202B_206F_200B_202B_206A_202D_202E((ILogger)_logger, 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(-740037157), Array.Empty()); - return; - case 2: - num = 1161429658; - break; - } + _logger.LogWarning("Could not find text input node in InputString addon"); + return; } + AtkComponentTextInput* asAtkComponentTextInput = componentNodeById->GetAsAtkComponentTextInput(); + if (asAtkComponentTextInput == null) + { + _logger.LogWarning("Node is not a text input component"); + return; + } + asAtkComponentTextInput->SetText(text); + AtkValue* ptr = stackalloc AtkValue[2]; + ptr->Type = AtkValueType.Int; + ptr->Int = 0; + byte[] bytes = Encoding.UTF8.GetBytes(text); + nint num = Marshal.AllocHGlobal(bytes.Length + 1); + Marshal.Copy(bytes, 0, num, bytes.Length); + Marshal.WriteByte(num + bytes.Length, 0); + ptr[1].Type = AtkValueType.String; + ptr[1].String = (byte*)num; + addon->FireCallback(2u, ptr); + Marshal.FreeHGlobal(num); } private unsafe static void ClickYes(AtkUnitBase* addon) { AtkValue* ptr = stackalloc AtkValue[1]; - ptr->Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int; + ptr->Type = AtkValueType.Int; ptr->Int = 0; addon->FireCallback(1u, ptr); } - - static void _206F_206A_206D_206E_202D_202B_202A_202D_206A_202B_200C_206F_200B_200E_202C_200F_202D_202A_206E_202D_206B_206A_202E_206A_202A_206F_206B_202C_206D_200C_206D_202D_200C_202E_200D_202D_202D_206C_202E_202B_202E(IAddonLifecycle P_0, AddonEvent P_1, string P_2, IAddonLifecycle.AddonEventDelegate P_3) - { - P_0.RegisterListener(P_1, P_2, P_3); - } - - static void _200D_200C_206E_202B_200C_200D_202C_200D_202A_200D_202D_200D_206D_200C_206D_202A_200B_206E_202A_206F_200B_202D_200B_200B_206B_200B_202D_206A_206E_200F_206C_200F_202C_200F_200F_206A_206F_206C_202B_202A_202E(IAddonLifecycle P_0, AddonEvent P_1, string P_2, IAddonLifecycle.AddonEventDelegate P_3) - { - P_0.UnregisterListener(P_1, P_2, P_3); - } - - static AtkUnitBasePtr _200E_202E_206D_200B_206C_202B_200E_200C_200C_200D_200E_206F_200D_206A_200D_202A_202D_200E_206B_202A_206C_202D_200E_202A_202E_206D_202C_202E_206D_206D_202C_200F_206D_206D_200F_202B_202E_202B_206E_206E_202E(AddonArgs P_0) - { - return P_0.Addon; - } - - unsafe static bool _200F_206F_206E_206B_202C_202E_200F_206A_202D_206D_206A_200F_206A_202B_200E_202A_206E_200B_202D_206B_206E_206B_206F_206D_206C_202D_202C_202A_206D_202C_200C_202A_202A_206F_206D_206E_202E_202B_200D_200E_202E(AtkUnitBase* P_0) - { - return LAddon.IsAddonReady(P_0); - } - - static void _202B_202A_200B_200B_202A_202A_206C_202D_200F_206E_200D_200B_206B_200B_202A_200C_202E_206D_206A_206E_200C_200E_206A_206E_206C_206A_202A_206C_206C_200B_206B_206C_206B_206A_202B_202C_200C_200D_206F_206C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _206D_202E_200E_202A_202E_200B_202B_200F_206E_200F_202C_202E_206C_200C_206E_202A_202D_200B_202B_206E_206B_206A_202D_202C_206B_200B_202D_206C_206A_202C_206C_206D_206B_206C_200C_200B_202B_206D_206E_200C_202E(string P_0) - { - return string.IsNullOrWhiteSpace(P_0); - } - - static string _206B_202B_206E_206B_206F_202D_202D_200F_202A_200C_200B_202E_206B_206E_206B_200C_206B_206E_200D_200E_200E_202E_206E_202A_206C_206A_202E_206F_206B_202C_206E_206C_206D_200F_206A_202C_206E_200C_200E_200C_202E(string P_0) - { - return P_0.Trim(); - } - - static int _200B_202B_206F_202D_202C_206F_200B_202E_202E_206D_200E_202B_202B_200F_202A_200E_206B_202C_206C_206D_206F_202B_202C_202C_200B_200C_200D_200D_206A_206F_202A_202E_202C_202D_202B_206C_200C_206D_200D_200F_202E(string P_0) - { - return P_0.Length; - } - - static string _200F_206E_206F_206A_206B_206F_206C_206E_206C_202A_200E_206D_206B_202D_206D_206E_200D_202A_202C_206A_206D_200C_206A_200D_202B_202D_206C_206B_202B_206A_202D_206E_200E_206E_200B_206D_202C_206A_202A_202E_202E(string P_0, int P_1, int P_2) - { - return P_0.Substring(P_1, P_2); - } - - static string _202A_206E_202A_202B_202A_206F_202B_202E_200B_206D_202D_202D_202C_202B_200B_202E_206A_200B_206E_200D_202C_206D_202A_200E_206C_206E_200E_202B_206E_200C_200D_200B_206A_200D_202B_206D_206B_206D_202C_202E(string P_0) - { - return P_0.ToUpperInvariant(); - } - - static string _202D_206D_200B_206E_202B_200F_206B_200B_206D_200F_202E_200D_206A_206F_200D_202E_200C_202D_206E_202A_206F_206B_206B_202A_200C_206C_206A_200B_206A_206C_202B_202B_202B_206A_202C_206B_206E_200D_206C_202C_202E(string P_0, int P_1) - { - return P_0.Substring(P_1); - } - - static string _200F_200E_206B_202E_206E_206A_206B_200E_200B_206A_202B_200D_202B_206F_206F_206F_202D_206F_200F_200F_206B_200D_206B_206E_200D_206E_206E_202B_202C_206E_206E_200E_202E_206D_206C_206C_206C_206E_202A_206E_202E(string P_0) - { - return P_0.ToLowerInvariant(); - } - - static string _202B_202B_206C_200C_202D_206C_200F_202B_200B_200B_206E_206D_206B_202A_206E_206F_202B_202A_200C_206F_206E_200E_200D_202C_206D_200C_206E_202D_206A_206C_206D_200C_206D_200D_206E_206B_206E_206C_206B_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static void _202B_206C_200C_202C_200F_200C_202A_200D_202D_206D_202B_202C_200E_206C_206C_206D_206C_200B_206C_206A_202A_206A_202D_200E_202A_202A_202D_206B_206F_202E_202C_200F_202E_206A_202B_206F_200B_202B_206A_202D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static Encoding _200F_200C_202C_206C_200C_206D_202C_206D_202C_200B_206B_206D_206D_202D_200B_206D_202B_206D_206C_206C_206D_206B_206F_206C_206A_202E_206A_200D_200F_202A_200E_202B_200D_206A_200B_206E_206E_206D_200C_200C_202E() - { - return Encoding.UTF8; - } - - static byte[] _202A_202B_202A_200E_206F_200F_200F_206C_200B_206A_202A_200B_200F_202B_202B_206B_206F_202A_202E_200F_200E_206A_202D_206F_200C_202E_206B_200B_202D_206C_206E_202D_202D_200B_206A_200D_200B_200C_202A_202C_202E(Encoding P_0, string P_1) - { - return P_0.GetBytes(P_1); - } - - static nint _202B_202E_202A_200F_200E_202A_206A_202A_206C_202D_206A_202D_202B_200E_200F_206F_206E_200E_202B_200B_206E_206F_202B_200B_206A_200B_202B_200E_200C_200D_202D_206D_200C_202C_200F_202B_206D_206D_206A_202E_202E(int P_0) - { - return Marshal.AllocHGlobal(P_0); - } - - static void _202D_200F_200B_206D_202E_206C_200C_206A_202B_200E_202B_202C_206E_206E_206C_200D_206B_202A_206B_206F_200F_206C_206E_200E_200C_206E_202A_202D_202C_202A_202B_200E_202D_200E_200C_202A_202D_200F_200D_200E_202E(byte[] P_0, int P_1, nint P_2, int P_3) - { - Marshal.Copy(P_0, P_1, P_2, P_3); - } - - static void _200D_206D_200B_202C_202C_200B_206E_206C_206C_200B_206E_206A_206E_200F_202B_202B_202E_200D_202A_206A_202E_202D_200B_202E_206C_206F_200C_206A_200B_200F_200B_206D_202E_200F_202D_200E_202A_206B_200D_206C_202E(nint P_0, byte P_1) - { - Marshal.WriteByte(P_0, P_1); - } - - static void _206E_200B_200B_200E_200E_202B_202D_202E_206E_206B_206B_202D_206D_202D_200B_206D_202D_206E_206D_206C_202C_206F_206E_206A_206E_200E_206D_202D_206B_202A_202B_202A_206C_206A_200B_206D_202C_202A_200F_200E_202E(nint P_0) - { - Marshal.FreeHGlobal(P_0); - } - - static QuestId _206C_206C_202C_202A_202B_202C_202C_202C_202D_200C_200D_206D_202E_200E_202E_206D_206A_202C_206E_206E_202C_200B_206D_200C_202B_206E_202D_206B_206F_206B_200F_206B_202D_206C_202C_200B_206F_206E_206E_202C_202E(ushort P_0) - { - return new QuestId(P_0); - } } diff --git a/Questionable/Questionable.Controller.GameUi/CraftworksSupplyController.cs b/Questionable/Questionable.Controller.GameUi/CraftworksSupplyController.cs index 0a42842..d329937 100644 --- a/Questionable/Questionable.Controller.GameUi/CraftworksSupplyController.cs +++ b/Questionable/Questionable.Controller.GameUi/CraftworksSupplyController.cs @@ -1,10 +1,7 @@ using System; -using System.Runtime.CompilerServices; using System.Threading; -using System.Threading.Tasks; using Dalamud.Game.Addon.Lifecycle; using Dalamud.Game.Addon.Lifecycle.AddonArgTypes; -using Dalamud.Game.NativeWrapper; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.UI; using FFXIVClientStructs.FFXIV.Component.GUI; @@ -27,7 +24,6 @@ internal sealed class CraftworksSupplyController : IDisposable private bool ShouldHandleUiInteractions => _questController.IsRunning; - [MethodImpl(MethodImplOptions.NoInlining)] public CraftworksSupplyController(QuestController questController, IAddonLifecycle addonLifecycle, IGameGui gameGui, IFramework framework, ILogger logger) { _questController = questController; @@ -35,273 +31,125 @@ internal sealed class CraftworksSupplyController : IDisposable _gameGui = gameGui; _framework = framework; _logger = logger; - _206A_206B_206F_200B_200D_206D_200F_200D_202D_206B_200E_206B_200F_206D_200F_206F_206C_206A_206B_206F_202D_206B_206D_206B_206F_206F_202B_202C_200B_206C_206D_200F_200F_206E_206F_206A_202E_206B_200B_206D_202E(_addonLifecycle, AddonEvent.PostReceiveEvent, 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(-1810521484), (IAddonLifecycle.AddonEventDelegate)ContextIconMenuPostReceiveEvent); - _206A_206B_206F_200B_200D_206D_200F_200D_202D_206B_200E_206B_200F_206D_200F_206F_206C_206A_206B_206F_202D_206B_206D_206B_206F_206F_202B_202C_200B_206C_206D_200F_200F_206E_206F_206A_202E_206B_200B_206D_202E(_addonLifecycle, AddonEvent.PostSetup, 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(-145476245), (IAddonLifecycle.AddonEventDelegate)BankaCraftworksSupplyPostUpdate); + _addonLifecycle.RegisterListener(AddonEvent.PostReceiveEvent, "ContextIconMenu", ContextIconMenuPostReceiveEvent); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "BankaCraftworksSupply", BankaCraftworksSupplyPostUpdate); } private unsafe void BankaCraftworksSupplyPostUpdate(AddonEvent type, AddonArgs args) { - int num = (ShouldHandleUiInteractions ? (-1071885415) : (-1071885414)); - while (true) + if (ShouldHandleUiInteractions) { - int num2 = num; - int num3 = -1071885413; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - { - AtkUnitBase* address = (AtkUnitBase*)_202D_202C_206E_200E_200F_200C_200B_200E_202B_206B_200D_200F_200F_206A_202E_202A_200B_202B_206E_200C_206D_202B_200C_202C_200B_202E_200D_200E_206D_206C_202B_206A_200D_206C_206C_200D_200C_200C_202E(args).Address; - InteractWithBankaCraftworksSupply(address); - return; - } - case 1: - return; - case 0: - goto IL_005b; - } - continue; - IL_005b: - num = -1071885414; + AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address; + InteractWithBankaCraftworksSupply(address); } } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void InteractWithBankaCraftworksSupply() { - AtkUnitBase* addonPtr; - int num = ((!_gameGui.TryGetAddonByName(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(473068994), out addonPtr)) ? 1997830523 : 1997830520); - while (true) + if (_gameGui.TryGetAddonByName("BankaCraftworksSupply", out var addonPtr)) { - int num2 = num; - int num3 = 1997830522; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return; - case 2: - InteractWithBankaCraftworksSupply(addonPtr); - num = 1997830523; - break; - case 0: - num = 1997830520; - break; - } + InteractWithBankaCraftworksSupply(addonPtr); } } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void InteractWithBankaCraftworksSupply(AtkUnitBase* addon) { AtkValue* atkValues = addon->AtkValues; uint uInt = atkValues[7].UInt; - int num = (int)uInt; - int num2 = 6; - uint num3 = (uint)(~(~num2 + num)); - int num4 = 0; - int num5 = 571288913; - while (true) + uint num = 6 - uInt; + for (int i = 0; i < num; i++) { - int num6 = num5; - num = 571288917; - num2 = num6; - int num7 = num2 + num; - int num8 = num2 & num; - switch (num7 - (num8 + num8)) + if (atkValues[31 + i].UInt == 0) { - case 7: - _200F_200E_206D_202E_206A_206E_202E_202E_200E_206F_200E_206A_202E_200E_202C_200E_200D_202C_206B_200C_202A_202C_206E_200B_200D_206A_202C_200E_200F_206E_206C_200C_202B_200D_200B_202B_202E_200E_202A_206C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1814180026), Array.Empty()); - addon->FireCallbackInt(0); - num5 = 571288916; - break; - case 2: - { - int num11 = num4; - num = 1; - num2 = num11; - int num12 = num2 ^ num; - int num13 = num2 & num; - num4 = num12 + (num13 + num13); - num5 = 571288913; - break; - } - case 3: - num5 = 571288913; - break; - case 1: - return; - case 5: - { - _200F_200E_206D_202E_206A_206E_202E_202E_200E_206F_200E_206A_202E_200E_202C_200E_200D_202C_206B_200C_202A_202C_206E_200B_200D_206A_202C_200E_200F_206E_206C_200C_202B_200D_200B_202B_202E_200E_202A_206C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2009382844), new object[1] { num4 }); + _logger.LogDebug("Selecting an item for slot {Slot}", i); AtkValue* values = stackalloc AtkValue[2] { new AtkValue { - Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int, + Type = AtkValueType.Int, Int = 2 }, new AtkValue { - Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int, - Int = num4 + Type = AtkValueType.Int, + Int = i } }; addon->FireCallback(2u, values); return; } - case 4: - num5 = ((num4 < num3) ? 571288915 : 571288917); - break; - case 0: - num5 = ((atkValues[31].UInt == 0) ? 571288916 : 571288914); - break; - case 6: - { - num = num4; - num2 = 31; - int num9 = num2 ^ num; - int num10 = num2 & num; - num5 = ((atkValues[num9 + (num10 + num10)].UInt != 0) ? 571288919 : 571288912); - break; - } - } + } + if (atkValues[31].UInt != 0) + { + _logger.LogDebug("Confirming turn-in"); + addon->FireCallbackInt(0); } } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void ContextIconMenuPostReceiveEvent(AddonEvent type, AddonArgs args) { - int num = (ShouldHandleUiInteractions ? 127250467 : 127250479); - AtkUnitBase* addonById = default(AtkUnitBase*); - ushort blockedParentId = default(ushort); - AddonContextIconMenu* address = default(AddonContextIconMenu*); - while (true) + if (!ShouldHandleUiInteractions) { - int num2 = num; - int num3 = 127250475; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + AddonContextIconMenu* address = (AddonContextIconMenu*)args.Addon.Address; + if (!address->IsVisible) + { + return; + } + ushort blockedParentId = address->BlockedParentId; + if (blockedParentId == 0) + { + return; + } + AtkUnitBase* addonById = AtkStage.Instance()->RaptureAtkUnitManager->GetAddonById(blockedParentId); + if (addonById->NameString == "BankaCraftworksSupply") + { + _logger.LogDebug("Picking item for {AddonName}", addonById->NameString); + AtkValue* values = stackalloc AtkValue[5] { - case 7: - return; - case 10: - addonById = AtkStage.Instance()->RaptureAtkUnitManager->GetAddonById(blockedParentId); - num = ((!_206B_200E_202C_202E_200F_200E_206C_202E_206F_200E_202D_200F_200D_202E_200E_200E_206F_206E_200E_206F_200B_202D_200B_206D_202B_206A_200D_206A_202E_200B_202A_206E_202B_206F_202B_200B_200E_206B_200B_202B_202E(addonById->NameString, 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(-145476245))) ? 127250475 : 127250473); - break; - case 4: - return; - case 5: - return; - case 9: - num = 127250479; - break; - case 2: - { - _200F_200E_206D_202E_206A_206E_202E_202E_200E_206F_200E_206A_202E_200E_202C_200E_200D_202C_206B_200C_202A_202C_206E_200B_200D_206A_202C_200E_200F_206E_206C_200C_202B_200D_200B_202B_202E_200E_202A_206C_202E((ILogger)_logger, 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(1861072248), new object[1] { addonById->NameString }); - AtkValue* values = stackalloc AtkValue[5] + new AtkValue { - new AtkValue - { - Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int, - Int = 0 - }, - new AtkValue - { - Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int, - Int = 0 - }, - new AtkValue - { - Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.UInt, - UInt = 20802u - }, - new AtkValue - { - Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.UInt, - UInt = 0u - }, - new AtkValue - { - Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Undefined, - Int = 0 - } - }; - address->FireCallback(5u, values); - address->Close(fireCallback: true); - num = ((!_206B_200E_202C_202E_200F_200E_206C_202E_206F_200E_202D_200F_200D_202E_200E_200E_206F_206E_200E_206F_200B_202D_200B_206D_202B_206A_200D_206A_202E_200B_202A_206E_202B_206F_202B_200B_200E_206B_200B_202B_202E(addonById->NameString, 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(473068994))) ? 127250476 : 127250477); - break; - } - case 8: - address = (AddonContextIconMenu*)_202D_202C_206E_200E_200F_200C_200B_200E_202B_206B_200D_200F_200F_206A_202E_202A_200B_202B_206E_200C_206D_202B_200C_202C_200B_202E_200D_200E_206D_206C_202B_206A_200D_206C_206C_200D_200C_200C_202E(args).Address; - num = (address->IsVisible ? 127250472 : 127250474); - break; - case 1: - return; - case 3: - blockedParentId = address->BlockedParentId; - num = ((blockedParentId != 0) ? 127250465 : 127250478); - break; - case 6: - _206E_202E_200E_200E_200D_206B_200E_200F_206E_202B_202E_202C_202C_206D_202B_202B_206D_206C_206A_206B_206D_202E_206D_202A_206B_202A_200F_206B_200B_202A_202D_200E_206C_200D_200E_206A_202A_200F_200F_200D_202E(_framework, (Action)InteractWithBankaCraftworksSupply, TimeSpan.FromMilliseconds(50L), 0, default(CancellationToken)); - return; - case 0: - _200D_200B_202D_200D_200D_202D_200F_206A_202C_206A_200F_206F_202E_206A_206C_206D_200B_206F_206D_206F_206F_200E_202B_202D_202E_202E_200F_206A_200E_200B_206B_202B_206E_200F_200C_202A_206E_206E_200E_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(599931769), new object[1] { addonById->NameString }); - num = 127250476; - break; + Type = AtkValueType.Int, + Int = 0 + }, + new AtkValue + { + Type = AtkValueType.Int, + Int = 0 + }, + new AtkValue + { + Type = AtkValueType.UInt, + UInt = 20802u + }, + new AtkValue + { + Type = AtkValueType.UInt, + UInt = 0u + }, + new AtkValue + { + Type = AtkValueType.Undefined, + Int = 0 + } + }; + address->FireCallback(5u, values); + address->Close(fireCallback: true); + if (addonById->NameString == "BankaCraftworksSupply") + { + _framework.RunOnTick((Action)InteractWithBankaCraftworksSupply, TimeSpan.FromMilliseconds(50L), 0, default(CancellationToken)); } } + else + { + _logger.LogTrace("Ignoring contextmenu event for {AddonName}", addonById->NameString); + } } - [MethodImpl(MethodImplOptions.NoInlining)] public void Dispose() { - _202C_202A_200D_206E_206B_206E_202E_206F_200C_202D_200E_202A_202D_202A_206E_202D_200E_202C_206E_202B_206F_206F_200F_206D_200D_200E_202B_206D_202C_202C_206F_202C_200C_206F_200F_206B_202E_200F_202C_202E(_addonLifecycle, AddonEvent.PostSetup, 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(-145476245), (IAddonLifecycle.AddonEventDelegate)BankaCraftworksSupplyPostUpdate); - _202C_202A_200D_206E_206B_206E_202E_206F_200C_202D_200E_202A_202D_202A_206E_202D_200E_202C_206E_202B_206F_206F_200F_206D_200D_200E_202B_206D_202C_202C_206F_202C_200C_206F_200F_206B_202E_200F_202C_202E(_addonLifecycle, AddonEvent.PostReceiveEvent, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1517352896), (IAddonLifecycle.AddonEventDelegate)ContextIconMenuPostReceiveEvent); - } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static void _206A_206B_206F_200B_200D_206D_200F_200D_202D_206B_200E_206B_200F_206D_200F_206F_206C_206A_206B_206F_202D_206B_206D_206B_206F_206F_202B_202C_200B_206C_206D_200F_200F_206E_206F_206A_202E_206B_200B_206D_202E(IAddonLifecycle P_0, AddonEvent P_1, string P_2, IAddonLifecycle.AddonEventDelegate P_3) - { - P_0.RegisterListener(P_1, P_2, P_3); - } - - static AtkUnitBasePtr _202D_202C_206E_200E_200F_200C_200B_200E_202B_206B_200D_200F_200F_206A_202E_202A_200B_202B_206E_200C_206D_202B_200C_202C_200B_202E_200D_200E_206D_206C_202B_206A_200D_206C_206C_200D_200C_200C_202E(AddonArgs P_0) - { - return P_0.Addon; - } - - static void _200F_200E_206D_202E_206A_206E_202E_202E_200E_206F_200E_206A_202E_200E_202C_200E_200D_202C_206B_200C_202A_202C_206E_200B_200D_206A_202C_200E_200F_206E_206C_200C_202B_200D_200B_202B_202E_200E_202A_206C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _206B_200E_202C_202E_200F_200E_206C_202E_206F_200E_202D_200F_200D_202E_200E_200E_206F_206E_200E_206F_200B_202D_200B_206D_202B_206A_200D_206A_202E_200B_202A_206E_202B_206F_202B_200B_200E_206B_200B_202B_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - - static Task _206E_202E_200E_200E_200D_206B_200E_200F_206E_202B_202E_202C_202C_206D_202B_202B_206D_206C_206A_206B_206D_202E_206D_202A_206B_202A_200F_206B_200B_202A_202D_200E_206C_200D_200E_206A_202A_200F_200F_200D_202E(IFramework P_0, Action P_1, TimeSpan P_2, int P_3, CancellationToken P_4) - { - return P_0.RunOnTick(P_1, P_2, P_3, P_4); - } - - static void _200D_200B_202D_200D_200D_202D_200F_206A_202C_206A_200F_206F_202E_206A_206C_206D_200B_206F_206D_206F_206F_200E_202B_202D_202E_202E_200F_206A_200E_200B_206B_202B_206E_200F_200C_202A_206E_206E_200E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogTrace(P_1, P_2); - } - - static void _202C_202A_200D_206E_206B_206E_202E_206F_200C_202D_200E_202A_202D_202A_206E_202D_200E_202C_206E_202B_206F_206F_200F_206D_200D_200E_202B_206D_202C_202C_206F_202C_200C_206F_200F_206B_202E_200F_202C_202E(IAddonLifecycle P_0, AddonEvent P_1, string P_2, IAddonLifecycle.AddonEventDelegate P_3) - { - P_0.UnregisterListener(P_1, P_2, P_3); + _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "BankaCraftworksSupply", BankaCraftworksSupplyPostUpdate); + _addonLifecycle.UnregisterListener(AddonEvent.PostReceiveEvent, "ContextIconMenu", ContextIconMenuPostReceiveEvent); } } diff --git a/Questionable/Questionable.Controller.GameUi/CreditsController.cs b/Questionable/Questionable.Controller.GameUi/CreditsController.cs index ec751e7..01c385b 100644 --- a/Questionable/Questionable.Controller.GameUi/CreditsController.cs +++ b/Questionable/Questionable.Controller.GameUi/CreditsController.cs @@ -1,11 +1,7 @@ using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Threading; using Dalamud.Game.Addon.Lifecycle; using Dalamud.Game.Addon.Lifecycle.AddonArgTypes; using Dalamud.Game.ClientState.Conditions; -using Dalamud.Game.NativeWrapper; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Component.GUI; using Microsoft.Extensions.Logging; @@ -14,84 +10,6 @@ namespace Questionable.Controller.GameUi; internal sealed class CreditsController : IDisposable { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass23_0 - { - public CreditsController _003C_003E4__this; - - public AddonArgs args; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal unsafe void _003CCreditScrollPostSetup_003Eb__0() - { - _202C_202D_202B_206B_200E_200F_200E_206B_206A_206D_206B_200B_200F_202E_206C_206F_202C_206C_206E_200D_202B_206A_206D_202B_202D_206D_206C_202E_202C_200E_200F_202D_206B_202C_202B_206B_202E_200F_206F_202E((ILogger)_003C_003E4__this._logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1595844089), Array.Empty()); - AtkUnitBase* address = (AtkUnitBase*)_202C_200E_200E_202A_206A_200C_202B_206F_206C_206F_200C_206F_206E_200C_200D_202C_202C_206F_202A_206C_202C_202A_202B_200E_206E_200F_202C_206E_202B_206B_202A_200C_200D_200C_206C_202A_200D_202E_200D_206B_202E(args).Address; - address->FireCallbackInt(-2); - } - - static void _202C_202D_202B_206B_200E_200F_200E_206B_206A_206D_206B_200B_200F_202E_206C_206F_202C_206C_206E_200D_202B_206A_206D_202B_202D_206D_206C_202E_202C_200E_200F_202D_206B_202C_202B_206B_202E_200F_206F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static AtkUnitBasePtr _202C_200E_200E_202A_206A_200C_202B_206F_206C_206F_200C_206F_206E_200C_200D_202C_202C_206F_202A_206C_202C_202A_202B_200E_206E_200F_202C_206E_202B_206B_202A_200C_200D_200C_206C_202A_200D_202E_200D_206B_202E(AddonArgs P_0) - { - return P_0.Addon; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass24_0 - { - public CreditsController _003C_003E4__this; - - public AddonArgs args; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal unsafe void _003CCreditPostSetup_003Eb__0() - { - _206F_202B_200E_206B_200F_206B_206D_202E_200B_202C_202C_206E_200C_202D_202D_200B_202B_200E_202C_206B_206D_200D_200D_202C_200F_200C_200E_202C_206F_206B_200B_202D_200E_202B_206E_202A_200F_200D_200C_202E((ILogger)_003C_003E4__this._logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1464866894), Array.Empty()); - AtkUnitBase* address = (AtkUnitBase*)_202E_206A_206F_206F_200D_200D_202B_206B_206F_200D_202E_202E_202C_202A_202C_202E_206A_206D_206D_206D_206D_200E_202B_200D_200B_200F_206F_202D_202B_206E_200F_206E_206A_206A_200E_200B_202D_206A_202C_202C_202E(args).Address; - address->FireCallbackInt(-2); - } - - static void _206F_202B_200E_206B_200F_206B_206D_202E_200B_202C_202C_206E_200C_202D_202D_200B_202B_200E_202C_206B_206D_200D_200D_202C_200F_200C_200E_202C_206F_206B_200B_202D_200E_202B_206E_202A_200F_200D_200C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static AtkUnitBasePtr _202E_206A_206F_206F_200D_200D_202B_206B_206F_200D_202E_202E_202C_202A_202C_202E_206A_206D_206D_206D_206D_200E_202B_200D_200B_200F_206F_202D_202B_206E_200F_206E_206A_206A_200E_200B_202D_206A_202C_202C_202E(AddonArgs P_0) - { - return P_0.Addon; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass25_0 - { - public CreditsController _003C_003E4__this; - - public AddonArgs args; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal unsafe void _003CCreditPlayerPostSetup_003Eb__0() - { - _200C_206E_200C_200D_202D_202C_206C_200B_200C_206B_202B_200B_202A_206B_202C_206B_202A_206F_206E_206B_200E_202A_200E_200E_200C_202D_202A_202B_200E_202A_200C_200C_206D_200C_202D_200F_200F_202D_206B_202A_202E((ILogger)_003C_003E4__this._logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(586600745), Array.Empty()); - AtkUnitBase* address = (AtkUnitBase*)_200D_200B_202D_202A_200B_200F_200B_206F_206C_202C_202C_206E_206D_206E_200D_200D_200F_206A_202C_206B_206A_202A_200F_202A_206C_206E_206E_202D_202B_206B_202A_202B_200B_200D_206A_202D_200D_206B_202E_202E(args).Address; - address->Close(fireCallback: true); - } - - static void _200C_206E_200C_200D_202D_202C_206C_200B_200C_206B_202B_200B_202A_206B_202C_206B_202A_206F_206E_206B_200E_202A_200E_200E_200C_202D_202A_202B_200E_202A_200C_200C_206D_200C_202D_200F_200F_202D_206B_202A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static AtkUnitBasePtr _200D_200B_202D_202A_200B_200F_200B_206F_206C_202C_202C_206E_206D_206E_200D_200D_200F_206A_202C_206B_206A_202A_200F_202A_206C_206E_206E_202D_202B_206B_202A_202B_200B_200D_206A_202D_200D_206B_202E_202E(AddonArgs P_0) - { - return P_0.Addon; - } - } - private static CreditsController? _instance; private static IAddonLifecycle? _registeredLifecycle; @@ -111,11 +29,11 @@ internal sealed class CreditsController : IDisposable _instance?.CreditPlayerPostSetup(t, a); }; - private static readonly string[] CreditScrollArray = new string[1] { global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1480537905) }; + private static readonly string[] CreditScrollArray = new string[1] { "CreditScroll" }; - private static readonly string[] CreditArray = new string[1] { global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1278080404) }; + private static readonly string[] CreditArray = new string[1] { "Credit" }; - private static readonly string[] CreditPlayerArray = new string[1] { 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(1133859703) }; + private static readonly string[] CreditPlayerArray = new string[1] { "CreditPlayer" }; private static bool _deferDisposeUntilCutsceneEnds; @@ -141,558 +59,191 @@ internal sealed class CreditsController : IDisposable private readonly ILogger _logger; - private static readonly object _lock = _202A_206C_206F_202E_200B_206A_206D_202C_202B_200E_200E_206E_206B_202D_206B_206E_200D_202A_202C_206B_206A_202D_200C_206D_202E_200F_202A_206B_200E_206E_202C_200F_200D_202C_206A_200E_206C_206B_202A_206D_202E(); + private static readonly object _lock = new object(); - [MethodImpl(MethodImplOptions.NoInlining)] public CreditsController(IAddonLifecycle addonLifecycle, Configuration configuration, ICondition condition, ILogger logger) { _addonLifecycle = addonLifecycle; _configuration = configuration; _condition = condition; _logger = logger; - object obj = _lock; - bool flag = false; - try + lock (_lock) { - _200B_200F_202B_200E_200D_206E_200E_206D_206F_202D_206C_200B_206E_200D_202B_206E_202C_200E_202D_200E_202D_202D_206C_202B_200D_202B_206C_202B_202C_206B_202E_202A_202E_202C_206A_206A_206E_206A_206D_202E_202E(obj, ref flag); if (_instance == null) { _instance = this; _registeredLifecycle = _addonLifecycle; - _200C_202A_202A_202B_202A_200F_200F_206A_206C_200F_200F_202B_206A_206F_202B_200B_200B_202C_206D_206A_202B_200F_200F_202D_202D_200B_206A_200D_200D_202C_202B_200E_200F_200F_200D_206C_206D_202D_206B_200F_202E(_addonLifecycle, AddonEvent.PostSetup, (IEnumerable)CreditScrollArray, _creditScrollHandler); - _200C_202A_202A_202B_202A_200F_200F_206A_206C_200F_200F_202B_206A_206F_202B_200B_200B_202C_206D_206A_202B_200F_200F_202D_202D_200B_206A_200D_200D_202C_202B_200E_200F_200F_200D_206C_206D_202D_206B_200F_202E(_addonLifecycle, AddonEvent.PostSetup, (IEnumerable)CreditArray, _creditHandler); - _200C_202A_202A_202B_202A_200F_200F_206A_206C_200F_200F_202B_206A_206F_202B_200B_200B_202C_206D_206A_202B_200F_200F_202D_202D_200B_206A_200D_200D_202C_202B_200E_200F_200F_200D_206C_206D_202D_206B_200F_202E(_addonLifecycle, AddonEvent.PostSetup, (IEnumerable)CreditPlayerArray, _creditPlayerHandler); - _202D_200E_206B_200C_206D_200C_202C_206E_200E_206C_206C_200F_206D_206C_206B_202E_202B_206F_200F_206D_206B_206F_200B_200D_206E_200F_200C_202A_202B_200F_202D_200E_202E_206B_202C_206C_206F_200B_206B_202C_202E(_condition, (ICondition.ConditionChangeDelegate)OnConditionChange); - _200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1181221171), new object[1] { _maxConsecutiveSkips }); - } - } - finally - { - if (flag) - { - _200C_206A_200D_200F_202D_200B_206C_206B_202A_202C_202A_200B_202A_202E_206E_202B_206D_200F_206A_200C_202B_200F_200D_206F_206F_200F_200B_200C_202D_202D_206B_200C_206A_206E_200B_206D_200C_200E_206E_202E(obj); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, CreditScrollArray, _creditScrollHandler); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, CreditArray, _creditHandler); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, CreditPlayerArray, _creditPlayerHandler); + _condition.ConditionChange += OnConditionChange; + _logger.LogDebug("CreditsController: registered listeners and ready to skip up to {MaxSkips} successive cutscenes.", _maxConsecutiveSkips); } } } private void OnConditionChange(ConditionFlag flag, bool value) { - int num = ((flag == ConditionFlag.OccupiedInCutSceneEvent) ? 186472363 : 186472362); - bool flag2 = default(bool); - while (true) + if ((flag == ConditionFlag.OccupiedInCutSceneEvent || flag == ConditionFlag.WatchingCutscene || flag == ConditionFlag.WatchingCutscene78) ? true : false) { - int num2 = num; - int num3 = 186472361; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + if (value) { - case 10: - num = 186472362; - break; - case 0: - num = ((!value) ? 186472366 : 186472352); - break; - case 4: - num = ((flag != ConditionFlag.WatchingCutscene78) ? 186472367 : 186472363); - break; - case 11: - NotifyCutsceneEnded(); - num = 186472360; - break; - case 9: DeferDisposeUntilCutsceneEnds(); - return; - case 12: - num = (flag2 ? 186472361 : 186472364); - break; - case 6: - flag2 = false; - num = 186472357; - break; - case 2: - flag2 = true; - num = 186472357; - break; - case 5: - return; - case 13: - num = (_206F_200E_202C_206A_200D_202D_206A_202A_202A_202B_200B_202D_200B_200F_200C_206E_206E_202B_206E_200E_206E_206A_202B_206A_200E_202D_200C_206C_200E_200D_206B_206E_202A_200B_200B_200D_202E_202C_206F_202B_202E(_condition, ConditionFlag.WatchingCutscene78) ? 186472360 : 186472354); - break; - case 8: - num = (_206F_200E_202C_206A_200D_202D_206A_202A_202A_202B_200B_202D_200B_200F_200C_206E_206E_202B_206E_200E_206E_206A_202B_206A_200E_202D_200C_206C_200E_200D_206B_206E_202A_200B_200B_200D_202E_202C_206F_202B_202E(_condition, ConditionFlag.WatchingCutscene) ? 186472360 : 186472356); - break; - case 1: - return; - case 7: - num = (_206F_200E_202C_206A_200D_202D_206A_202A_202A_202B_200B_202D_200B_200F_200C_206E_206E_202B_206E_200E_206E_206A_202B_206A_200E_202D_200C_206C_200E_200D_206B_206E_202A_200B_200B_200D_202E_202C_206F_202B_202E(_condition, ConditionFlag.OccupiedInCutSceneEvent) ? 186472360 : 186472353); - break; - case 3: - num = ((flag == ConditionFlag.WatchingCutscene) ? 186472363 : 186472365); - break; + } + else if (!_condition[ConditionFlag.OccupiedInCutSceneEvent] && !_condition[ConditionFlag.WatchingCutscene] && !_condition[ConditionFlag.WatchingCutscene78]) + { + NotifyCutsceneEnded(); } } } private unsafe void CreditScrollPostSetup(AddonEvent type, AddonArgs args) { - HandleCutscene([MethodImpl(MethodImplOptions.NoInlining)] () => + HandleCutscene(delegate { - _003C_003Ec__DisplayClass23_0._202C_202D_202B_206B_200E_200F_200E_206B_206A_206D_206B_200B_200F_202E_206C_206F_202C_206C_206E_200D_202B_206A_206D_202B_202D_206D_206C_202E_202C_200E_200F_202D_206B_202C_202B_206B_202E_200F_206F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1595844089), Array.Empty()); - AtkUnitBase* address = (AtkUnitBase*)_003C_003Ec__DisplayClass23_0._202C_200E_200E_202A_206A_200C_202B_206F_206C_206F_200C_206F_206E_200C_200D_202C_202C_206F_202A_206C_202C_202A_202B_200E_206E_200F_202C_206E_202B_206B_202A_200C_200D_200C_206C_202A_200D_202E_200D_206B_202E(args).Address; + _logger.LogDebug("CreditScrollPostSetup: attempting to close credits sequence (scroll)."); + AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address; address->FireCallbackInt(-2); }, args); } private unsafe void CreditPostSetup(AddonEvent type, AddonArgs args) { - HandleCutscene([MethodImpl(MethodImplOptions.NoInlining)] () => + HandleCutscene(delegate { - _003C_003Ec__DisplayClass24_0._206F_202B_200E_206B_200F_206B_206D_202E_200B_202C_202C_206E_200C_202D_202D_200B_202B_200E_202C_206B_206D_200D_200D_202C_200F_200C_200E_202C_206F_206B_200B_202D_200E_202B_206E_202A_200F_200D_200C_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1464866894), Array.Empty()); - AtkUnitBase* address = (AtkUnitBase*)_003C_003Ec__DisplayClass24_0._202E_206A_206F_206F_200D_200D_202B_206B_206F_200D_202E_202E_202C_202A_202C_202E_206A_206D_206D_206D_206D_200E_202B_200D_200B_200F_206F_202D_202B_206E_200F_206E_206A_206A_200E_200B_202D_206A_202C_202C_202E(args).Address; + _logger.LogDebug("CreditPostSetup: attempting to close credits sequence."); + AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address; address->FireCallbackInt(-2); }, args); } private unsafe void CreditPlayerPostSetup(AddonEvent type, AddonArgs args) { - HandleCutscene([MethodImpl(MethodImplOptions.NoInlining)] () => + HandleCutscene(delegate { - _003C_003Ec__DisplayClass25_0._200C_206E_200C_200D_202D_202C_206C_200B_200C_206B_202B_200B_202A_206B_202C_206B_202A_206F_206E_206B_200E_202A_200E_200E_200C_202D_202A_202B_200E_202A_200C_200C_206D_200C_202D_200F_200F_202D_206B_202A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(586600745), Array.Empty()); - AtkUnitBase* address = (AtkUnitBase*)_003C_003Ec__DisplayClass25_0._200D_200B_202D_202A_200B_200F_200B_206F_206C_202C_202C_206E_206D_206E_200D_200D_200F_206A_202C_206B_206A_202A_200F_202A_206C_206E_206E_202D_202B_206B_202A_202B_200B_200D_206A_202D_200D_206B_202E_202E(args).Address; + _logger.LogDebug("CreditPlayerPostSetup: attempting to close CreditPlayer."); + AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address; address->Close(fireCallback: true); }, args); } - [MethodImpl(MethodImplOptions.NoInlining)] private void HandleCutscene(Action nativeAction, AddonArgs args) { - int num = ((!_configuration.General.CinemaMode) ? 1928788595 : 1928788597); - long valueOrDefault = default(long); - long num8 = default(long); - while (true) + if (_configuration.General.CinemaMode) { - int num2 = num; - int num3 = 1928788595; - int num4 = num2; - long num10; - switch ((num4 | num3) - (num4 & num3)) + _logger.LogDebug("HandleCutscene: Cinema Mode enabled, not skipping cutscene."); + return; + } + long num = ((args.Addon.Address == IntPtr.Zero) ? 0 : ((IntPtr)args.Addon.Address).ToInt64()); + if (num == 0L) + { + _logger.LogDebug("HandleCutscene: Addon address is zero, skipping."); + return; + } + lock (_lock) + { + long? lastHandledAt = _lastHandledAt; + if (lastHandledAt.HasValue) { - case 3: - num = 1928788597; - break; - case 5: - num10 = 0L; - goto IL_0077; - case 2: - _200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_logger, 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(-2015596937), Array.Empty()); - return; - case 0: - num = ((_206A_206F_200B_206C_200C_200C_206D_200D_206D_206D_202A_206E_200F_206E_206A_206A_200F_202D_206E_202D_202D_200C_206A_206A_200F_206F_202B_200D_206B_200B_200B_206C_202C_206F_200F_206D_200B_200B_206D_202A_202E(args).Address == IntPtr.Zero) ? 1928788598 : 1928788599); - break; - case 4: - num10 = ((IntPtr)_206A_206F_200B_206C_200C_200C_206D_200D_206D_206D_202A_206E_200F_206E_206A_206A_200F_202D_206E_202D_202D_200C_206A_206A_200F_206F_202B_200D_206B_200B_200B_206C_202C_206F_200F_206D_200B_200B_206D_202A_202E(args).Address).ToInt64(); - goto IL_0077; - case 6: - _200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(643918301), Array.Empty()); - return; - case 1: + long valueOrDefault = lastHandledAt.GetValueOrDefault(); + if (Environment.TickCount64 - valueOrDefault > 10000) { - object obj = _lock; - bool flag = false; - try + if (_handledConsecutiveCutscenes != 0) { - _200B_200F_202B_200E_200D_206E_200E_206D_206F_202D_206C_200B_206E_200D_202B_206E_202C_200E_202D_200E_202D_202D_206C_202B_200D_202B_206C_202B_202C_206B_202E_202A_202E_202C_206A_206A_206E_206A_206D_202E_202E(obj, ref flag); - long? lastHandledAt = _lastHandledAt; - num = ((!lastHandledAt.HasValue) ? (-333719538) : (-333719537)); - while (true) - { - int num5 = num; - num3 = -333719546; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 5: - _handledConsecutiveCutscenes = 0; - num = -333719538; - break; - case 4: - num = ((_handledConsecutiveCutscenes < _maxConsecutiveSkips) ? (-333719551) : (-333719539)); - break; - case 9: - valueOrDefault = lastHandledAt.GetValueOrDefault(); - num = ((_206B_200C_206C_202E_200C_200F_200E_206E_202E_206C_206B_200F_202C_202E_200F_200B_206C_202A_200E_202C_206C_206E_206A_202D_202B_206B_202B_206E_200B_202A_206E_200B_206B_200F_202B_206A_200B_200F_206D_206F_202E() - valueOrDefault <= 10000) ? (-333719538) : (-333719548)); - break; - case 2: - num = ((_handledConsecutiveCutscenes == 0) ? (-333719549) : (-333719547)); - break; - case 10: - num = ((num8 != _lastHandledAddr) ? (-333719550) : (-333719552)); - break; - case 1: - { - long valueOrDefault2 = lastHandledAt.GetValueOrDefault(); - num = ((_206B_200C_206C_202E_200C_200F_200E_206E_202E_206C_206B_200F_202C_202E_200F_200B_206C_202A_200E_202C_206C_206E_206A_202D_202B_206B_202B_206E_200B_202A_206E_200B_206B_200F_202B_206A_200B_200F_206D_206F_202E() - valueOrDefault2 >= 500) ? (-333719550) : (-333719540)); - break; - } - case 3: - _200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_logger, 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(1948237893), new object[2] - { - _206B_200C_206C_202E_200C_200F_200E_206E_202E_206C_206B_200F_202C_202E_200F_200B_206C_202A_200E_202C_206C_206E_206A_202D_202B_206B_202B_206E_200B_202A_206E_200B_206B_200F_202B_206A_200B_200F_206D_206F_202E() - valueOrDefault, - _handledConsecutiveCutscenes - }); - num = -333719549; - break; - case 11: - _202E_202C_200F_200D_206C_200F_206B_200D_200C_200F_202D_206E_200E_202E_206E_206C_206B_202D_206B_200E_200B_200C_200B_200B_206E_202E_202C_202C_206E_200E_200F_206B_200B_206A_200B_200B_202D_206B_202D_200D_202E((ILogger)_logger, 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(767914834), new object[1] { _maxConsecutiveSkips }); - return; - case 0: - num = -333719537; - break; - case 8: - lastHandledAt = _lastHandledAt; - num = ((!lastHandledAt.HasValue) ? (-333719550) : (-333719545)); - break; - case 6: - _200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-915129815), new object[1] { num8 }); - return; - case 7: - { - _lastHandledAt = _206B_200C_206C_202E_200C_200F_200E_206E_202E_206C_206B_200F_202C_202E_200F_200B_206C_202A_200E_202C_206C_206E_206A_202D_202B_206B_202B_206E_200B_202A_206E_200B_206B_200F_202B_206A_200B_200F_206D_206F_202E(); - _lastHandledAddr = num8; - int handledConsecutiveCutscenes = _handledConsecutiveCutscenes; - num3 = 1; - num4 = handledConsecutiveCutscenes; - _handledConsecutiveCutscenes = (num4 | num3) + (num4 & num3); - _200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_logger, 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(-84388314), new object[2] { _handledConsecutiveCutscenes, num8 }); - goto end_IL_0158; - } - } - continue; - end_IL_0158: - break; - } + _logger.LogDebug("HandleCutscene: long pause detected ({ElapsedMs}ms), resetting consecutive counter (was {Was}).", Environment.TickCount64 - valueOrDefault, _handledConsecutiveCutscenes); } - finally - { - num = ((!flag) ? 1553266183 : 1553266182); - while (true) - { - int num9 = num; - num3 = 1553266183; - num4 = num9; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1553266182; - break; - case 0: - goto end_IL_03fc; - case 1: - _200C_206A_200D_200F_202D_200B_206C_206B_202A_202C_202A_200B_202A_202E_206E_202B_206D_200F_206A_200C_202B_200F_200D_206F_206F_200F_200B_200C_202D_202D_206B_200C_206A_206E_200B_206D_200C_200E_206E_202E(obj); - num = 1553266183; - break; - } - continue; - end_IL_03fc: - break; - } - } - try - { - nativeAction(); - _200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1887133010), new object[1] { num8 }); - } - catch (Exception ex) - { - _206C_206C_202C_200C_202C_206E_206E_206A_202E_200F_202D_200B_202B_200C_206D_200B_202E_206A_200E_200F_206C_206D_206F_200E_206D_206F_202C_202B_206C_202D_200B_206E_200B_202A_206A_200D_202A_202A_200D_202A_202E((ILogger)_logger, ex, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(873524230), new object[1] { num8 }); - } - _200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2081767975), new object[2] { _handledConsecutiveCutscenes, _maxConsecutiveSkips }); + _handledConsecutiveCutscenes = 0; + } + } + lastHandledAt = _lastHandledAt; + if (lastHandledAt.HasValue) + { + long valueOrDefault2 = lastHandledAt.GetValueOrDefault(); + if (Environment.TickCount64 - valueOrDefault2 < 500 && num == _lastHandledAddr) + { + _logger.LogDebug("HandleCutscene: suppressed re-entrant invocation for same addon (addr=0x{Address:X}).", num); return; } - IL_0077: - num8 = num10; - num = ((num8 != 0L) ? 1928788594 : 1928788593); - break; } + if (_handledConsecutiveCutscenes >= _maxConsecutiveSkips) + { + _logger.LogInformation("HandleCutscene: reached max consecutive skips ({MaxSkips}), pausing until cutscenes stop for a while.", _maxConsecutiveSkips); + return; + } + _lastHandledAt = Environment.TickCount64; + _lastHandledAddr = num; + _handledConsecutiveCutscenes++; + _logger.LogDebug("HandleCutscene: handling cutscene #{Count} (addr=0x{Address:X}).", _handledConsecutiveCutscenes, num); } + try + { + nativeAction(); + _logger.LogDebug("HandleCutscene: native action executed for addon at 0x{Address:X}.", num); + } + catch (Exception exception) + { + _logger.LogError(exception, "HandleCutscene: exception while executing native action for addon at 0x{Address:X}.", num); + } + _logger.LogDebug("HandleCutscene: handled {Count}/{Max} consecutive cutscenes.", _handledConsecutiveCutscenes, _maxConsecutiveSkips); } - [MethodImpl(MethodImplOptions.NoInlining)] public static void DeferDisposeUntilCutsceneEnds() { - object obj = _lock; - bool flag = false; - try + lock (_lock) { - _200B_200F_202B_200E_200D_206E_200E_206D_206F_202D_206C_200B_206E_200D_202B_206E_202C_200E_202D_200E_202D_202D_206C_202B_200D_202B_206C_202B_202C_206B_202E_202A_202E_202C_206A_206A_206E_206A_206D_202E_202E(obj, ref flag); _deferDisposeUntilCutsceneEnds = true; - int num = ((_instance == null) ? 1593867446 : 1593867445); - while (true) + if (_instance != null) { - int num2 = num; - int num3 = 1593867444; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1593867445; - break; - case 1: - _200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_instance._logger, 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(-1723920399), Array.Empty()); - num = 1593867446; - break; - case 2: - return; - } - } - } - finally - { - int num = ((!flag) ? (-821324345) : (-821324348)); - while (true) - { - int num7 = num; - int num3 = -821324347; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_00b5; - case 1: - _200C_206A_200D_200F_202D_200B_206C_206B_202A_202C_202A_200B_202A_202E_206E_202B_206D_200F_206A_200C_202B_200F_200D_206F_206F_200F_200B_200C_202D_202D_206B_200C_206A_206E_200B_206D_200C_200E_206E_202E(obj); - num = -821324345; - break; - case 0: - num = -821324348; - break; - } - continue; - end_IL_00b5: - break; + _instance._logger.LogDebug("CreditsController: deferring dispose until cutscene ends."); } } } - [MethodImpl(MethodImplOptions.NoInlining)] public static void NotifyCutsceneEnded() { - object obj = _lock; - bool flag = false; - try + lock (_lock) { - _200B_200F_202B_200E_200D_206E_200E_206D_206F_202D_206C_200B_206E_200D_202B_206E_202C_200E_202D_200E_202D_202D_206C_202B_200D_202B_206C_202B_202C_206B_202E_202A_202E_202C_206A_206A_206E_206A_206D_202E_202E(obj, ref flag); _deferDisposeUntilCutsceneEnds = false; - int num = ((_instance == null) ? 1205296441 : 1205296446); - while (true) + if (_instance != null) { - int num2 = num; - int num3 = 1205296442; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - num = ((_instance == null) ? 1205296442 : 1205296440); - break; - case 3: - num = ((!_pendingDispose) ? 1205296442 : 1205296443); - break; - case 4: - _200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_instance._logger, 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(1784202689), Array.Empty()); - num = 1205296441; - break; - case 2: - _200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_instance._logger, 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(1095714007), Array.Empty()); - _instance.Dispose(); - num = 1205296442; - break; - case 5: - num = 1205296446; - break; - case 0: - return; - } + _instance._logger.LogDebug("CreditsController: cutscene ended, processing pending dispose state."); } - } - finally - { - int num = ((!flag) ? (-15651437) : (-15651440)); - while (true) + if (_pendingDispose && _instance != null) { - int num5 = num; - int num3 = -15651439; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_0132; - case 1: - _200C_206A_200D_200F_202D_200B_206C_206B_202A_202C_202A_200B_202A_202E_206E_202B_206D_200F_206A_200C_202B_200F_200D_206F_206F_200F_200B_200C_202D_202D_206B_200C_206A_206E_200B_206D_200C_200E_206E_202E(obj); - num = -15651437; - break; - case 0: - num = -15651440; - break; - } - continue; - end_IL_0132: - break; + _instance._logger.LogDebug("CreditsController: pending dispose detected, performing unregister now."); + _instance.Dispose(); } } } - [MethodImpl(MethodImplOptions.NoInlining)] public void Dispose() { - object obj = _lock; - bool flag = false; - try + lock (_lock) { - _200B_200F_202B_200E_200D_206E_200E_206D_206F_202D_206C_200B_206E_200D_202B_206E_202C_200E_202D_200E_202D_202D_206C_202B_200D_202B_206C_202B_202C_206B_202E_202A_202E_202C_206A_206A_206E_206A_206D_202E_202E(obj, ref flag); - int num = ((_instance == this) ? (-273121773) : (-273121772)); - while (true) + if (_instance != this) { - int num2 = num; - int num3 = -273121774; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - num = ((!_deferDisposeUntilCutsceneEnds) ? (-273121776) : (-273121775)); - break; - case 6: - return; - case 2: - num = ((_registeredLifecycle == null) ? (-273121770) : (-273121774)); - break; - case 0: - _206B_200C_202E_206C_200F_206D_206F_206C_202B_206F_206A_200B_202C_206B_206D_206E_206A_202B_206F_200D_202A_206F_200B_202E_206D_202C_202E_202C_202E_202B_200D_202A_202B_202E_206C_206C_200F_202E_206B_206D_202E(_registeredLifecycle, AddonEvent.PostSetup, (IEnumerable)CreditPlayerArray, _creditPlayerHandler); - _206B_200C_202E_206C_200F_206D_206F_206C_202B_206F_206A_200B_202C_206B_206D_206E_206A_202B_206F_200D_202A_206F_200B_202E_206D_202C_202E_202C_202E_202B_200D_202A_202B_202E_206C_206C_200F_202E_206B_206D_202E(_registeredLifecycle, AddonEvent.PostSetup, (IEnumerable)CreditArray, _creditHandler); - _206B_200C_202E_206C_200F_206D_206F_206C_202B_206F_206A_200B_202C_206B_206D_206E_206A_202B_206F_200D_202A_206F_200B_202E_206D_202C_202E_202C_202E_202B_200D_202A_202B_202E_206C_206C_200F_202E_206B_206D_202E(_registeredLifecycle, AddonEvent.PostSetup, (IEnumerable)CreditScrollArray, _creditScrollHandler); - num = -273121770; - break; - case 3: - _pendingDispose = true; - _200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1915726020), Array.Empty()); - return; - case 5: - num = -273121772; - break; - case 4: - _200D_200B_206D_200E_206C_200B_206C_206D_200E_200C_200E_206E_200E_206D_206C_202C_200E_206A_206A_202E_202B_202B_202C_202C_206B_202B_206A_200B_206D_200B_200F_200D_202C_202D_202E_202B_206F_200C_206F_202B_202E(_condition, (ICondition.ConditionChangeDelegate)OnConditionChange); - _registeredLifecycle = null; - _instance = null; - _pendingDispose = false; - _handledConsecutiveCutscenes = 0; - _lastHandledAddr = 0L; - _lastHandledAt = null; - _200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-677486284), Array.Empty()); - return; - } + return; } - } - finally - { - int num = ((!flag) ? 1603499567 : 1603499564); - while (true) + if (_deferDisposeUntilCutsceneEnds) { - int num7 = num; - int num3 = 1603499566; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 0: - num = 1603499564; - break; - case 1: - goto end_IL_01bc; - case 2: - _200C_206A_200D_200F_202D_200B_206C_206B_202A_202C_202A_200B_202A_202E_206E_202B_206D_200F_206A_200C_202B_200F_200D_206F_206F_200F_200B_200C_202D_202D_206B_200C_206A_206E_200B_206D_200C_200E_206E_202E(obj); - num = 1603499567; - break; - } - continue; - end_IL_01bc: - break; + _pendingDispose = true; + _logger.LogDebug("CreditsController.Dispose deferred until cutscene end."); + return; } + if (_registeredLifecycle != null) + { + _registeredLifecycle.UnregisterListener(AddonEvent.PostSetup, CreditPlayerArray, _creditPlayerHandler); + _registeredLifecycle.UnregisterListener(AddonEvent.PostSetup, CreditArray, _creditHandler); + _registeredLifecycle.UnregisterListener(AddonEvent.PostSetup, CreditScrollArray, _creditScrollHandler); + } + _condition.ConditionChange -= OnConditionChange; + _registeredLifecycle = null; + _instance = null; + _pendingDispose = false; + _handledConsecutiveCutscenes = 0; + _lastHandledAddr = 0L; + _lastHandledAt = null; + _logger.LogDebug("CreditsController listeners unregistered and disposed (primary instance)."); } } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static void _200B_200F_202B_200E_200D_206E_200E_206D_206F_202D_206C_200B_206E_200D_202B_206E_202C_200E_202D_200E_202D_202D_206C_202B_200D_202B_206C_202B_202C_206B_202E_202A_202E_202C_206A_206A_206E_206A_206D_202E_202E(object P_0, ref bool P_1) - { - Monitor.Enter(P_0, ref P_1); - } - - static void _200C_202A_202A_202B_202A_200F_200F_206A_206C_200F_200F_202B_206A_206F_202B_200B_200B_202C_206D_206A_202B_200F_200F_202D_202D_200B_206A_200D_200D_202C_202B_200E_200F_200F_200D_206C_206D_202D_206B_200F_202E(IAddonLifecycle P_0, AddonEvent P_1, IEnumerable P_2, IAddonLifecycle.AddonEventDelegate P_3) - { - P_0.RegisterListener(P_1, P_2, P_3); - } - - static void _202D_200E_206B_200C_206D_200C_202C_206E_200E_206C_206C_200F_206D_206C_206B_202E_202B_206F_200F_206D_206B_206F_200B_200D_206E_200F_200C_202A_202B_200F_202D_200E_202E_206B_202C_206C_206F_200B_206B_202C_202E(ICondition P_0, ICondition.ConditionChangeDelegate P_1) - { - P_0.ConditionChange += P_1; - } - - static void _200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static void _200C_206A_200D_200F_202D_200B_206C_206B_202A_202C_202A_200B_202A_202E_206E_202B_206D_200F_206A_200C_202B_200F_200D_206F_206F_200F_200B_200C_202D_202D_206B_200C_206A_206E_200B_206D_200C_200E_206E_202E(object P_0) - { - Monitor.Exit(P_0); - } - - static bool _206F_200E_202C_206A_200D_202D_206A_202A_202A_202B_200B_202D_200B_200F_200C_206E_206E_202B_206E_200E_206E_206A_202B_206A_200E_202D_200C_206C_200E_200D_206B_206E_202A_200B_200B_200D_202E_202C_206F_202B_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static AtkUnitBasePtr _206A_206F_200B_206C_200C_200C_206D_200D_206D_206D_202A_206E_200F_206E_206A_206A_200F_202D_206E_202D_202D_200C_206A_206A_200F_206F_202B_200D_206B_200B_200B_206C_202C_206F_200F_206D_200B_200B_206D_202A_202E(AddonArgs P_0) - { - return P_0.Addon; - } - - static long _206B_200C_206C_202E_200C_200F_200E_206E_202E_206C_206B_200F_202C_202E_200F_200B_206C_202A_200E_202C_206C_206E_206A_202D_202B_206B_202B_206E_200B_202A_206E_200B_206B_200F_202B_206A_200B_200F_206D_206F_202E() - { - return Environment.TickCount64; - } - - static void _202E_202C_200F_200D_206C_200F_206B_200D_200C_200F_202D_206E_200E_202E_206E_206C_206B_202D_206B_200E_200B_200C_200B_200B_206E_202E_202C_202C_206E_200E_200F_206B_200B_206A_200B_200B_202D_206B_202D_200D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static void _206C_206C_202C_200C_202C_206E_206E_206A_202E_200F_202D_200B_202B_200C_206D_200B_202E_206A_200E_200F_206C_206D_206F_200E_206D_206F_202C_202B_206C_202D_200B_206E_200B_202A_206A_200D_202A_202A_200D_202A_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } - - static void _206B_200C_202E_206C_200F_206D_206F_206C_202B_206F_206A_200B_202C_206B_206D_206E_206A_202B_206F_200D_202A_206F_200B_202E_206D_202C_202E_202C_202E_202B_200D_202A_202B_202E_206C_206C_200F_202E_206B_206D_202E(IAddonLifecycle P_0, AddonEvent P_1, IEnumerable P_2, IAddonLifecycle.AddonEventDelegate P_3) - { - P_0.UnregisterListener(P_1, P_2, P_3); - } - - static void _200D_200B_206D_200E_206C_200B_206C_206D_200E_200C_200E_206E_200E_206D_206C_202C_200E_206A_206A_202E_202B_202B_202C_202C_206B_202B_206A_200B_206D_200B_200F_200D_202C_202D_202E_202B_206F_200C_206F_202B_202E(ICondition P_0, ICondition.ConditionChangeDelegate P_1) - { - P_0.ConditionChange -= P_1; - } - - static object _202A_206C_206F_202E_200B_206A_206D_202C_202B_200E_200E_206E_206B_202D_206B_206E_200D_202A_202C_206B_206A_202D_200C_206D_202E_200F_202A_206B_200E_206E_202C_200F_200D_202C_206A_200E_206C_206B_202A_206D_202E() - { - return new object(); - } } diff --git a/Questionable/Questionable.Controller.GameUi/GCShopHandler.cs b/Questionable/Questionable.Controller.GameUi/GCShopHandler.cs index f2277ae..df5bad7 100644 --- a/Questionable/Questionable.Controller.GameUi/GCShopHandler.cs +++ b/Questionable/Questionable.Controller.GameUi/GCShopHandler.cs @@ -1,6 +1,4 @@ using System; -using System.Runtime.CompilerServices; -using Dalamud.Game.ClientState.Objects.SubKinds; using Dalamud.Plugin.Services; using LLib.Shop; using Microsoft.Extensions.Logging; @@ -44,371 +42,115 @@ internal sealed class GCShopHandler : IDisposable _objectTable = objectTable; _framework = framework; _logger = logger; - _206A_200B_200C_200F_202A_206F_202C_202A_200D_200D_200E_202A_206C_206C_206D_200F_206A_206A_206B_202A_206E_202C_200F_202B_206E_200C_202A_200D_202D_202C_206D_200C_206F_200D_206E_202B_200E_200B_206B_202A_202E(_gcShop, (EventHandler)OnPurchaseCompleted); - _202E_200B_202E_200B_200B_202A_206D_206F_202D_200F_200C_206D_206E_200D_200F_206E_202D_206F_206A_206D_206B_206E_200E_200B_200D_200D_202E_206E_206F_202A_206E_200C_206A_200B_200D_200F_200D_206F_202D_206B_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkUpdate); + _gcShop.PurchaseCompleted += OnPurchaseCompleted; + _framework.Update += OnFrameworkUpdate; } public void Dispose() { - _202E_206A_206E_206C_200F_202E_206C_200B_206B_206B_202A_206F_202B_206A_200D_202E_200D_200E_202B_206F_202C_200C_206E_206D_202B_206E_200B_206B_206C_200B_200B_202B_200C_206A_202E_206D_206A_206D_200B_206C_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkUpdate); - _202B_200D_200C_206D_206B_202B_200F_206C_200F_206A_202E_206E_206B_206A_200F_200E_202B_206B_206D_206E_206A_202B_200F_202D_202B_200D_202C_206F_200D_202C_202A_200F_202C_200B_202A_202B_202C_206A_206F_202B_202E(_gcShop, (EventHandler)OnPurchaseCompleted); + _framework.Update -= OnFrameworkUpdate; + _gcShop.PurchaseCompleted -= OnPurchaseCompleted; } - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] private void OnFrameworkUpdate(IFramework framework) { - int num = ((_206F_202D_200C_206C_206A_202C_202E_202E_200E_202D_202B_206C_202C_202A_200E_206A_200F_200B_206A_200D_200C_202E_206A_206C_200D_206C_206E_200C_202E_200B_200B_202B_202B_200E_202A_206D_206F_206A_206E_206C_202E(_objectTable) != null) ? (-1672254239) : (-1672254236)); - while (true) + if (_objectTable.LocalPlayer == null) { - int num2 = num; - int num3 = -1672254240; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + if (!_questController.IsRunning) + { + if (_state != GCShopState.Inactive) { - case 0: - HandlePurchasing(); - return; - case 1: - num = (_questController.IsRunning ? (-1672254233) : (-1672254232)); - break; - case 4: - return; - case 2: - return; - case 7: - CheckForGCPurchase(); - num = ((_state != GCShopState.Purchasing) ? (-1672254234) : (-1672254240)); - break; - case 10: Reset(); - num = -1672254238; - break; - case 8: - num = ((_state == GCShopState.Inactive) ? (-1672254238) : (-1672254230)); - break; - case 5: - return; - case 9: - num = -1672254236; - break; - case 6: - num = ((_state != GCShopState.Completed) ? (-1672254235) : (-1672254237)); - break; - case 3: - _200B_206A_206D_206D_206F_200E_200E_202E_200B_200E_206A_200E_206D_202A_206C_202E_206C_206D_200D_206F_200B_206C_200C_200E_200E_206A_200B_202B_202A_200B_206A_200D_206D_200F_202B_200B_200B_200E_202A_206D_202E((ILogger)_logger, 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(-314267187), Array.Empty()); - _state = GCShopState.Inactive; - _lastActionMs = 0L; - num = -1672254235; - break; } + return; + } + CheckForGCPurchase(); + if (_state == GCShopState.Purchasing) + { + HandlePurchasing(); + } + else if (_state == GCShopState.Completed) + { + _logger.LogDebug("GC shop purchase completed!"); + _state = GCShopState.Inactive; + _lastActionMs = 0L; } } - [MethodImpl(MethodImplOptions.NoInlining)] private void CheckForGCPurchase() { QuestController.QuestProgress currentQuest = _questController.CurrentQuest; - int num = ((currentQuest != null) ? (-837261037) : (-837261044)); - GCPurchaseInfo gCPurchaseInfo = default(GCPurchaseInfo); - while (true) + if (currentQuest == null) { - int num2 = num; - int num3 = -837261053; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + if (_currentPurchase != null) { - case 13: - _currentPurchase = gCPurchaseInfo; - _purchaseCompletedThisStep = false; - num = -837261041; - break; - case 15: - num = ((_currentPurchase == null) ? (-837261054) : (-837261055)); - break; - case 8: - return; - case 2: Reset(); - num = -837261054; - break; - case 6: - num = ((_currentPurchase == gCPurchaseInfo) ? (-837261041) : (-837261042)); - break; - case 10: - num = (_purchaseCompletedThisStep ? (-837261046) : (-837261048)); - break; - case 3: - num = ((!_200C_200C_202E_200F_202A_206B_206B_206F_202B_206A_202D_206F_200D_206B_202E_202A_200D_206C_206E_206B_206C_200D_206C_200B_206F_202B_200B_202A_206C_202B_200F_206B_202C_200F_206D_200F_206B_200D_200E_200F_202E(_gcShop)) ? (-837261045) : (-837261043)); - break; - case 0: - num = -837261044; - break; - case 7: + } + return; + } + GCPurchaseInfo gCPurchaseInfo = (currentQuest.Quest.FindSequence(currentQuest.Sequence)?.FindStep(currentQuest.Step))?.GCPurchase; + if (gCPurchaseInfo == null) + { + if (_currentPurchase != null) + { _currentPurchase = null; _purchaseCompletedThisStep = false; - num = -837261056; - break; - case 14: - _200B_206A_206D_206D_206F_200E_200E_202E_200B_200E_206A_200E_206D_202A_206C_202E_206C_206D_200D_206F_200B_206C_200C_200E_200E_206A_200B_202B_202A_200B_206A_200D_206D_200F_202B_200B_200B_200E_202A_206D_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1787866068), new object[3] - { - currentQuest.Quest.Id, - currentQuest.Sequence, - currentQuest.Step - }); - num = -837261045; - break; - case 1: - return; - case 12: - num = ((!_200C_200C_202E_200F_202A_206B_206B_206F_202B_206A_202D_206F_200D_206B_202E_202A_200D_206C_206E_206B_206C_200D_206C_200B_206F_202B_200B_202A_206C_202B_200F_206B_202C_200F_206D_200F_206B_200D_200E_200F_202E(_gcShop)) ? (-837261046) : (-837261049)); - break; - case 16: - { - QuestSequence? questSequence = currentQuest.Quest.FindSequence(currentQuest.Sequence); - QuestStep obj = ((questSequence != null) ? _206D_202A_200B_206B_206A_202E_202D_200B_206B_206A_200C_200B_200E_206C_202B_202B_200B_206F_200B_202A_202D_202B_206E_206A_202B_202C_200C_202B_200B_200B_202C_202E_202C_202E_202A_200C_206D_202E_200B_200C_202E(questSequence, currentQuest.Step) : null); - gCPurchaseInfo = ((obj != null) ? _202E_206F_206D_202E_206B_206F_206B_202A_200E_206D_202B_202A_206C_206B_206E_206A_200B_206F_202B_200B_200B_202A_202B_200E_200F_206A_206C_206D_200E_202C_202B_202E_200E_200C_206D_206E_206B_200B_200B_200F_202E(obj) : null); - num = ((gCPurchaseInfo != null) ? (-837261051) : (-837261050)); - break; } - case 11: - _200F_202B_206A_200C_200B_200E_200B_202E_202D_200E_202A_200C_200C_200D_202E_200C_200C_200F_206F_200B_200C_206F_206A_202E_202E_200D_200D_206F_202C_200D_206C_202B_206A_206C_206A_200D_202C_200E_206A_206A_202E((ILogger)_logger, 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(-478138400), new object[1] { _206D_206B_200F_206B_200B_200D_202B_206D_202B_200C_202A_206F_206F_200D_202A_206E_202E_206C_206F_202A_200E_200E_202E_200F_200C_206E_202C_206A_206B_202C_206D_200B_202B_206B_202C_206F_206C_202D_206A_206F_202E(gCPurchaseInfo) }); + if (_gcShop.IsOpen) + { + _logger.LogDebug("GC shop is open but current step has no GCPurchase. Quest={QuestId}, Seq={Sequence}, Step={Step}", currentQuest.Quest.Id, currentQuest.Sequence, currentQuest.Step); + } + } + else + { + if (_currentPurchase != gCPurchaseInfo) + { + _currentPurchase = gCPurchaseInfo; + _purchaseCompletedThisStep = false; + } + if (_gcShop.IsOpen && _state == GCShopState.Inactive && !_purchaseCompletedThisStep) + { + _logger.LogInformation("GC shop is open. Starting purchase of item {ItemId}.", gCPurchaseInfo.ItemId); _state = GCShopState.Purchasing; - num = -837261046; - break; - case 4: - num = ((_state != GCShopState.Inactive) ? (-837261046) : (-837261047)); - break; - case 5: - num = ((_currentPurchase == null) ? (-837261056) : (-837261052)); - break; - case 9: - return; } } } private void HandlePurchasing() { - int num = ((!_200C_200C_202E_200F_202A_206B_206B_206F_202B_206A_202D_206F_200D_206B_202E_202A_200D_206C_206E_206B_206C_200D_206C_200B_206F_202B_200B_202A_206C_202B_200F_206B_202C_200F_206D_200F_206B_200D_200E_200F_202E(_gcShop)) ? 252931591 : 252931585); - while (true) + if (_gcShop.IsOpen && _currentPurchase != null && Environment.TickCount64 - _lastActionMs >= 500) { - int num2 = num; - int num3 = 252931587; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (!_gcShop.IsPurchaseInProgress) { - case 0: - _200C_206B_202A_202C_206B_202C_200B_202B_200B_200E_206E_206F_206F_202D_200F_202B_206F_206C_200F_200F_200D_200D_202A_202A_206A_202E_200D_200B_202E_206C_206D_200D_202D_202C_202A_206E_206A_202B_206D_206C_202E(_gcShop, _206D_206B_200F_206B_200B_200D_202B_206D_202B_200C_202A_206F_206F_200D_202A_206E_202E_206C_206F_202A_200E_200E_202E_200F_200C_206E_202C_206A_206B_202C_206D_200B_202B_206B_202C_206F_206C_202D_206A_206F_202E(_currentPurchase), _200C_206E_202B_206A_202E_206F_202D_202A_206C_200D_202A_206C_200C_200C_206A_200B_202E_200C_206A_206D_206C_200B_200F_200B_202A_200B_202D_202A_200D_202B_202D_206A_202C_206E_206D_202D_202D_200C_206C_206D_202E(_currentPurchase), _202C_202A_200D_202D_202B_200E_202C_200D_200C_202D_206B_206F_200C_200E_200B_202B_206F_206E_206B_206E_202C_202D_202C_200D_206A_200E_202B_202C_202E_200C_206C_202B_206C_200F_200B_200B_206D_202D_202E_202E_202E(_currentPurchase), 1); - _lastActionMs = _206A_200B_202B_202A_206F_206B_206E_200E_206C_200C_202C_200E_206C_206B_206E_202B_200B_200B_206C_206B_206A_202B_206A_202B_202D_206B_200E_206E_202D_206B_200E_206B_200C_202C_200F_200F_206B_202C_206A_200C_202E(); - num = 252931586; - break; - case 5: - num = ((_206A_200B_202B_202A_206F_206B_206E_200E_206C_200C_202C_200E_206C_206B_206E_202B_200B_200B_206C_206B_206A_202B_206A_202B_202D_206B_200E_206E_202D_206B_200E_206B_200C_202C_200F_200F_206B_202C_206A_200C_202E() - _lastActionMs >= 500) ? 252931588 : 252931584); - break; - case 3: - return; - case 7: - num = (_200E_206B_200F_206C_202A_202C_200B_202E_202B_202A_202D_206F_200B_206C_202C_206F_206E_206A_206F_202B_200B_206B_200D_202B_202E_200C_200D_202A_202A_206E_206C_202B_206D_206A_200F_200D_202D_200C_200F_206C_202E(_gcShop) ? 252931586 : 252931587); - break; - case 6: - num = 252931585; - break; - case 2: - num = ((_currentPurchase != null) ? 252931590 : 252931591); - break; - case 1: - _202D_206C_206A_200E_206C_202E_202D_202C_200D_200D_202C_206E_202E_200B_200E_206A_206F_206E_202C_206C_202C_202A_200C_202A_200C_206E_200B_206F_206F_206A_206B_206A_206E_200F_202D_206E_202E_206F_200F_206F_202E(_gcShop); - return; - case 4: - return; + _gcShop.StartPurchase(_currentPurchase.ItemId, _currentPurchase.RankTab, _currentPurchase.CategoryTab, 1); + _lastActionMs = Environment.TickCount64; } + _gcShop.ProcessPurchase(); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void OnPurchaseCompleted(object? sender, PurchaseCompletedEventArgs e) { - int num = ((_state != GCShopState.Purchasing) ? 191751636 : 191751642); - while (true) + if (_state == GCShopState.Purchasing && _currentPurchase != null && _questController.IsRunning && e.Success && e.ItemId == _currentPurchase.ItemId) { - int num2 = num; - int num3 = 191751644; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 8: - return; - case 6: - num = ((_currentPurchase != null) ? 191751641 : 191751636); - break; - case 1: - num = ((!_202E_200D_202E_206C_206C_202B_206D_202C_206F_202E_206A_206B_200F_206F_206C_206C_206C_206A_200E_206B_206E_206D_206C_202A_202D_202A_202A_206D_202B_200B_206A_206F_200F_206D_200B_206C_202E_202B_200D_202E_202E(e)) ? 191751646 : 191751640); - break; - case 4: - num = ((_200E_202D_206A_200B_206C_206A_206A_202A_200B_202E_200B_206D_200F_200E_202A_202B_206D_202A_202A_200F_206A_206B_206B_206F_206A_206D_202C_206E_200D_202B_200F_206A_200B_202C_202C_206D_202D_200D_200D_202D_202E(e) != _206D_206B_200F_206B_200B_200D_202B_206D_202B_200C_202A_206F_206F_200D_202A_206E_202E_206C_206F_202A_200E_200E_202E_200F_200C_206E_202C_206A_206B_202C_206D_200B_202B_206B_202C_206F_206C_202D_206A_206F_202E(_currentPurchase)) ? 191751646 : 191751643); - break; - case 7: - _200F_202B_206A_200C_200B_200E_200B_202E_202D_200E_202A_200C_200C_200D_202E_200C_200C_200F_206F_200B_200C_206F_206A_202E_202E_200D_200D_206F_202C_200D_206C_202B_206A_206C_206A_200D_202C_200E_206A_206A_202E((ILogger)_logger, 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(134659059), new object[1] { _200E_202D_206A_200B_206C_206A_206A_202A_200B_202E_200B_206D_200F_200E_202A_202B_206D_202A_202A_200F_206A_206B_206B_206F_206A_206D_202C_206E_200D_202B_200F_206A_200B_202C_202C_206D_202D_200D_200D_202D_202E(e) }); - _200B_200B_202C_206F_202E_206C_206F_206C_206C_202A_200E_202B_206D_200F_200D_202D_200D_200F_202C_200B_202D_206B_200C_200F_206B_206A_206C_206A_206E_202C_202D_206C_206A_206A_206C_206B_202D_206B_200F_202B_202E(_gcShop); - _purchaseCompletedThisStep = true; - _state = GCShopState.Completed; - num = 191751646; - break; - case 2: - return; - case 5: - num = (_questController.IsRunning ? 191751645 : 191751647); - break; - case 0: - num = 191751642; - break; - case 3: - return; - } + _logger.LogInformation("GC purchase of item {ItemId} completed successfully", e.ItemId); + _gcShop.CloseShop(); + _purchaseCompletedThisStep = true; + _state = GCShopState.Completed; } } private void Reset() { - int num = ((!_200E_206B_200F_206C_202A_202C_200B_202E_202B_202A_202D_206F_200B_206C_202C_206F_206E_206A_206F_202B_200B_206B_200D_202B_202E_200C_200D_202A_202A_206E_206C_202B_206D_206A_200F_200D_202D_200C_200F_206C_202E(_gcShop)) ? (-1390147797) : (-1390147798)); - while (true) + if (_gcShop.IsPurchaseInProgress) { - int num2 = num; - int num3 = -1390147797; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -1390147798; - break; - case 1: - _200C_206B_206A_202D_206D_206F_206A_202B_202D_200D_202C_202A_200C_206A_200E_202C_206F_206B_206E_202E_200F_200F_202C_206F_206F_202E_202B_202C_206B_200C_202B_206A_206E_202B_200D_202B_202E_206E_200E_202E_202E(_gcShop); - num = -1390147797; - break; - case 0: - _state = GCShopState.Inactive; - _currentPurchase = null; - _lastActionMs = 0L; - _purchaseCompletedThisStep = false; - return; - } + _gcShop.CancelPurchase(); } - } - - static void _206A_200B_200C_200F_202A_206F_202C_202A_200D_200D_200E_202A_206C_206C_206D_200F_206A_206A_206B_202A_206E_202C_200F_202B_206E_200C_202A_200D_202D_202C_206D_200C_206F_200D_206E_202B_200E_200B_206B_202A_202E(GrandCompanyShop P_0, EventHandler P_1) - { - P_0.PurchaseCompleted += P_1; - } - - static void _202E_200B_202E_200B_200B_202A_206D_206F_202D_200F_200C_206D_206E_200D_200F_206E_202D_206F_206A_206D_206B_206E_200E_200B_200D_200D_202E_206E_206F_202A_206E_200C_206A_200B_200D_200F_200D_206F_202D_206B_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1) - { - P_0.Update += P_1; - } - - static void _202E_206A_206E_206C_200F_202E_206C_200B_206B_206B_202A_206F_202B_206A_200D_202E_200D_200E_202B_206F_202C_200C_206E_206D_202B_206E_200B_206B_206C_200B_200B_202B_200C_206A_202E_206D_206A_206D_200B_206C_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1) - { - P_0.Update -= P_1; - } - - static void _202B_200D_200C_206D_206B_202B_200F_206C_200F_206A_202E_206E_206B_206A_200F_200E_202B_206B_206D_206E_206A_202B_200F_202D_202B_200D_202C_206F_200D_202C_202A_200F_202C_200B_202A_202B_202C_206A_206F_202B_202E(GrandCompanyShop P_0, EventHandler P_1) - { - P_0.PurchaseCompleted -= P_1; - } - - static IPlayerCharacter _206F_202D_200C_206C_206A_202C_202E_202E_200E_202D_202B_206C_202C_202A_200E_206A_200F_200B_206A_200D_200C_202E_206A_206C_200D_206C_206E_200C_202E_200B_200B_202B_202B_200E_202A_206D_206F_206A_206E_206C_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static void _200B_206A_206D_206D_206F_200E_200E_202E_200B_200E_206A_200E_206D_202A_206C_202E_206C_206D_200D_206F_200B_206C_200C_200E_200E_206A_200B_202B_202A_200B_206A_200D_206D_200F_202B_200B_200B_200E_202A_206D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static QuestStep _206D_202A_200B_206B_206A_202E_202D_200B_206B_206A_200C_200B_200E_206C_202B_202B_200B_206F_200B_202A_202D_202B_206E_206A_202B_202C_200C_202B_200B_200B_202C_202E_202C_202E_202A_200C_206D_202E_200B_200C_202E(QuestSequence P_0, int P_1) - { - return P_0.FindStep(P_1); - } - - static GCPurchaseInfo _202E_206F_206D_202E_206B_206F_206B_202A_200E_206D_202B_202A_206C_206B_206E_206A_200B_206F_202B_200B_200B_202A_202B_200E_200F_206A_206C_206D_200E_202C_202B_202E_200E_200C_206D_206E_206B_200B_200B_200F_202E(QuestStep P_0) - { - return P_0.GCPurchase; - } - - static bool _200C_200C_202E_200F_202A_206B_206B_206F_202B_206A_202D_206F_200D_206B_202E_202A_200D_206C_206E_206B_206C_200D_206C_200B_206F_202B_200B_202A_206C_202B_200F_206B_202C_200F_206D_200F_206B_200D_200E_200F_202E(GrandCompanyShop P_0) - { - return P_0.IsOpen; - } - - static uint _206D_206B_200F_206B_200B_200D_202B_206D_202B_200C_202A_206F_206F_200D_202A_206E_202E_206C_206F_202A_200E_200E_202E_200F_200C_206E_202C_206A_206B_202C_206D_200B_202B_206B_202C_206F_206C_202D_206A_206F_202E(GCPurchaseInfo P_0) - { - return P_0.ItemId; - } - - static void _200F_202B_206A_200C_200B_200E_200B_202E_202D_200E_202A_200C_200C_200D_202E_200C_200C_200F_206F_200B_200C_206F_206A_202E_202E_200D_200D_206F_202C_200D_206C_202B_206A_206C_206A_200D_202C_200E_206A_206A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static long _206A_200B_202B_202A_206F_206B_206E_200E_206C_200C_202C_200E_206C_206B_206E_202B_200B_200B_206C_206B_206A_202B_206A_202B_202D_206B_200E_206E_202D_206B_200E_206B_200C_202C_200F_200F_206B_202C_206A_200C_202E() - { - return Environment.TickCount64; - } - - static bool _200E_206B_200F_206C_202A_202C_200B_202E_202B_202A_202D_206F_200B_206C_202C_206F_206E_206A_206F_202B_200B_206B_200D_202B_202E_200C_200D_202A_202A_206E_206C_202B_206D_206A_200F_200D_202D_200C_200F_206C_202E(GrandCompanyShop P_0) - { - return P_0.IsPurchaseInProgress; - } - - static int _200C_206E_202B_206A_202E_206F_202D_202A_206C_200D_202A_206C_200C_200C_206A_200B_202E_200C_206A_206D_206C_200B_200F_200B_202A_200B_202D_202A_200D_202B_202D_206A_202C_206E_206D_202D_202D_200C_206C_206D_202E(GCPurchaseInfo P_0) - { - return P_0.RankTab; - } - - static int _202C_202A_200D_202D_202B_200E_202C_200D_200C_202D_206B_206F_200C_200E_200B_202B_206F_206E_206B_206E_202C_202D_202C_200D_206A_200E_202B_202C_202E_200C_206C_202B_206C_200F_200B_200B_206D_202D_202E_202E_202E(GCPurchaseInfo P_0) - { - return P_0.CategoryTab; - } - - static bool _200C_206B_202A_202C_206B_202C_200B_202B_200B_200E_206E_206F_206F_202D_200F_202B_206F_206C_200F_200F_200D_200D_202A_202A_206A_202E_200D_200B_202E_206C_206D_200D_202D_202C_202A_206E_206A_202B_206D_206C_202E(GrandCompanyShop P_0, uint P_1, int P_2, int P_3, int P_4) - { - return P_0.StartPurchase(P_1, P_2, P_3, P_4); - } - - static bool _202D_206C_206A_200E_206C_202E_202D_202C_200D_200D_202C_206E_202E_200B_200E_206A_206F_206E_202C_206C_202C_202A_200C_202A_200C_206E_200B_206F_206F_206A_206B_206A_206E_200F_202D_206E_202E_206F_200F_206F_202E(GrandCompanyShop P_0) - { - return P_0.ProcessPurchase(); - } - - static bool _202E_200D_202E_206C_206C_202B_206D_202C_206F_202E_206A_206B_200F_206F_206C_206C_206C_206A_200E_206B_206E_206D_206C_202A_202D_202A_202A_206D_202B_200B_206A_206F_200F_206D_200B_206C_202E_202B_200D_202E_202E(PurchaseCompletedEventArgs P_0) - { - return P_0.Success; - } - - static uint _200E_202D_206A_200B_206C_206A_206A_202A_200B_202E_200B_206D_200F_200E_202A_202B_206D_202A_202A_200F_206A_206B_206B_206F_206A_206D_202C_206E_200D_202B_200F_206A_200B_202C_202C_206D_202D_200D_200D_202D_202E(PurchaseCompletedEventArgs P_0) - { - return P_0.ItemId; - } - - static void _200B_200B_202C_206F_202E_206C_206F_206C_206C_202A_200E_202B_206D_200F_200D_202D_200D_200F_202C_200B_202D_206B_200C_200F_206B_206A_206C_206A_206E_202C_202D_206C_206A_206A_206C_206B_202D_206B_200F_202B_202E(GrandCompanyShop P_0) - { - P_0.CloseShop(); - } - - static void _200C_206B_206A_202D_206D_206F_206A_202B_202D_200D_202C_202A_200C_206A_200E_202C_206F_206B_206E_202E_200F_200F_202C_206F_206F_202E_202B_202C_206B_200C_202B_206A_206E_202B_200D_202B_202E_206E_200E_202E_202E(GrandCompanyShop P_0) - { - P_0.CancelPurchase(); + _state = GCShopState.Inactive; + _currentPurchase = null; + _lastActionMs = 0L; + _purchaseCompletedThisStep = false; } } diff --git a/Questionable/Questionable.Controller.GameUi/HelpUiController.cs b/Questionable/Questionable.Controller.GameUi/HelpUiController.cs index e4398e4..e649e98 100644 --- a/Questionable/Questionable.Controller.GameUi/HelpUiController.cs +++ b/Questionable/Questionable.Controller.GameUi/HelpUiController.cs @@ -1,15 +1,10 @@ using System; -using System.Runtime.CompilerServices; -using System.Threading; -using System.Threading.Tasks; using Dalamud.Game.Addon.Lifecycle; using Dalamud.Game.Addon.Lifecycle.AddonArgTypes; -using Dalamud.Game.NativeWrapper; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Component.GUI; using LLib.GameUI; using Microsoft.Extensions.Logging; -using Questionable.Model.Questing; namespace Questionable.Controller.GameUi; @@ -25,7 +20,6 @@ internal sealed class HelpUiController : IDisposable private readonly ILogger _logger; - [MethodImpl(MethodImplOptions.NoInlining)] public HelpUiController(QuestController questController, IAddonLifecycle addonLifecycle, IGameGui gameGui, IFramework framework, ILogger logger) { _questController = questController; @@ -34,419 +28,157 @@ internal sealed class HelpUiController : IDisposable _framework = framework; _logger = logger; _questController.AutomationTypeChanged += CloseHelpWindowsWhenStartingQuests; - _206B_206F_206A_206D_206D_206D_200D_202C_202B_200E_206F_202E_206C_200F_206D_202E_206C_206F_202A_206E_206A_202E_200F_200F_206B_200B_206C_206B_200E_206A_200E_206A_202D_200D_200B_206D_202A_206E_202B_200E_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(475712939), (IAddonLifecycle.AddonEventDelegate)UnendingCodexPostSetup); - _206B_206F_206A_206D_206D_206D_200D_202C_202B_200E_206F_202E_206C_200F_206D_202E_206C_206F_202A_206E_206A_202E_200F_200F_206B_200B_206C_206B_200E_206A_200E_206A_202D_200D_200B_206D_202A_206E_202B_200E_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1875325540), (IAddonLifecycle.AddonEventDelegate)ContentsTutorialPostSetup); - _206B_206F_206A_206D_206D_206D_200D_202C_202B_200E_206F_202E_206C_200F_206D_202E_206C_206F_202A_206E_206A_202E_200F_200F_206B_200B_206C_206B_200E_206A_200E_206A_202D_200D_200B_206D_202A_206E_202B_200E_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(539331049), (IAddonLifecycle.AddonEventDelegate)MultipleHelpWindowPostSetup); - _206B_206F_206A_206D_206D_206D_200D_202C_202B_200E_206F_202E_206C_200F_206D_202E_206C_206F_202A_206E_206A_202E_200F_200F_206B_200B_206C_206B_200E_206A_200E_206A_202D_200D_200B_206D_202A_206E_202B_200E_202E(_addonLifecycle, AddonEvent.PostSetup, 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(-923307026), (IAddonLifecycle.AddonEventDelegate)JobHudNoticePostSetup); - _206B_206F_206A_206D_206D_206D_200D_202C_202B_200E_206F_202E_206C_200F_206D_202E_206C_206F_202A_206E_206A_202E_200F_200F_206B_200B_206C_206B_200E_206A_200E_206A_202D_200D_200B_206D_202A_206E_202B_200E_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(891874771), (IAddonLifecycle.AddonEventDelegate)GuidePostSetup); - _206B_206F_206A_206D_206D_206D_200D_202C_202B_200E_206F_202E_206C_200F_206D_202E_206C_206F_202A_206E_206A_202E_200F_200F_206B_200B_206C_206B_200E_206A_200E_206A_202D_200D_200B_206D_202A_206E_202B_200E_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2059724302), (IAddonLifecycle.AddonEventDelegate)EventTutorialPostSetup); - _206B_206F_206A_206D_206D_206D_200D_202C_202B_200E_206F_202E_206C_200F_206D_202E_206C_206F_202A_206E_206A_202E_200F_200F_206B_200B_206C_206B_200E_206A_200E_206A_202D_200D_200B_206D_202A_206E_202B_200E_202E(_addonLifecycle, AddonEvent.PostSetup, 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(1877366658), (IAddonLifecycle.AddonEventDelegate)DescriptionPostSetup); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "AkatsukiNote", UnendingCodexPostSetup); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "ContentsTutorial", ContentsTutorialPostSetup); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "MultipleHelpWindow", MultipleHelpWindowPostSetup); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "JobHudNotice", JobHudNoticePostSetup); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "Guide", GuidePostSetup); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "EventTutorial", EventTutorialPostSetup); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "Description", DescriptionPostSetup); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void CloseHelpWindowsWhenStartingQuests(object sender, QuestController.EAutomationType e) { - int num = ((e != QuestController.EAutomationType.Manual) ? 153660423 : 153660419); - AtkUnitBase* addonPtr4 = default(AtkUnitBase*); - AtkUnitBase* addonPtr2 = default(AtkUnitBase*); - AtkUnitBase* addonPtr3 = default(AtkUnitBase*); - AtkUnitBase* addonPtr = default(AtkUnitBase*); - while (true) + if (e != QuestController.EAutomationType.Manual) { - int num2 = num; - int num3 = 153660420; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (_gameGui.TryGetAddonByName("Guide", out var addonPtr)) { - case 3: - num = ((!_gameGui.TryGetAddonByName(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-696336610), out addonPtr4)) ? 153660418 : 153660417); - break; - case 5: - _206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-889278169), Array.Empty()); - GuidePostSetup(addonPtr4); - num = 153660418; - break; - case 8: - num = ((!_gameGui.TryGetAddonByName(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(535644183), out addonPtr2)) ? 153660422 : 153660429); - break; - case 7: - return; - case 2: - return; - case 4: - _206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2009840112), Array.Empty()); - EventTutorialPostSetup(addonPtr3); - num = 153660421; - break; - case 6: - num = ((!_gameGui.TryGetAddonByName(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(1259257238), out addonPtr3)) ? 153660421 : 153660416); - break; - case 1: - num = ((!_gameGui.TryGetAddonByName(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(-1889051347), out addonPtr)) ? 153660428 : 153660430); - break; - case 9: - _206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-829695307), Array.Empty()); - JobHudNoticePostSetup(addonPtr2); - num = 153660422; - break; - case 10: - _206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-574086776), Array.Empty()); - ContentsTutorialPostSetup(addonPtr); - num = 153660428; - break; - case 0: - num = 153660419; - break; + _logger.LogDebug("Guide window is open"); + GuidePostSetup(addonPtr); + } + if (_gameGui.TryGetAddonByName("EventTutorial", out var addonPtr2)) + { + _logger.LogDebug("EventTutorial window is open"); + EventTutorialPostSetup(addonPtr2); + } + if (_gameGui.TryGetAddonByName("ContentsTutorial", out var addonPtr3)) + { + _logger.LogDebug("ContentsTutorial window is open"); + ContentsTutorialPostSetup(addonPtr3); + } + if (_gameGui.TryGetAddonByName("JobHudNotice", out var addonPtr4)) + { + _logger.LogDebug("JobHudNotice window is open"); + JobHudNoticePostSetup(addonPtr4); } } } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void UnendingCodexPostSetup(AddonEvent type, AddonArgs args) { - QuestController.QuestProgress? startedQuest = _questController.StartedQuest; - ushort? num = ((startedQuest != null) ? new ushort?(_202E_200F_206D_200E_202D_202E_200F_200B_200F_206E_202E_202D_206F_202D_206C_202B_202D_200F_206A_202B_200B_206B_202A_206C_200C_200D_202C_200B_202E_200D_202C_206A_206E_200D_202D_202D_206C_202E_202C_206F_202E(startedQuest.Quest.Id)) : ((ushort?)null)); - int num2 = (num.HasValue ? (-1404777382) : (-1404777383)); - while (true) + if (_questController.StartedQuest?.Quest.Id.Value == 4526) { - int num3 = num2; - int num4 = -1404777381; - int num5 = num3; - int? obj; - switch ((num5 | num4) - (num5 & num4)) - { - case 1: - obj = num.GetValueOrDefault(); - goto IL_0099; - case 3: - return; - case 0: - num2 = -1404777383; - break; - case 4: - { - _206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E((ILogger)_logger, 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(24407879), Array.Empty()); - AtkUnitBase* address = (AtkUnitBase*)_206E_206A_206A_206F_202B_202B_202B_206B_206B_206A_200B_202A_206E_206B_206F_200E_200E_206E_206C_202A_206A_200D_202C_206A_206B_200F_206F_202B_206E_200F_202C_200E_202B_206C_206A_202C_202B_200B_202B_206E_202E(args).Address; - address->FireCallbackInt(-2); - num2 = -1404777384; - break; - } - case 2: - { - obj = null; - goto IL_0099; - } - IL_0099: - num2 = ((obj != 4526) ? (-1404777384) : (-1404777377)); - break; - } + _logger.LogDebug("Closing Unending Codex"); + AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address; + address->FireCallbackInt(-2); } } private unsafe void ContentsTutorialPostSetup(AddonEvent type, AddonArgs args) { - QuestController.QuestProgress? startedQuest = _questController.StartedQuest; - ushort? num = ((startedQuest != null) ? new ushort?(_202E_200F_206D_200E_202D_202E_200F_200B_200F_206E_202E_202D_206F_202D_206C_202B_202D_200F_206A_202B_200B_206B_202A_206C_200C_200D_202C_200B_202E_200D_202C_206A_206E_200D_202D_202D_206C_202E_202C_206F_202E(startedQuest.Quest.Id)) : ((ushort?)null)); - int num2 = ((!num.HasValue) ? (-763031592) : (-763031600)); - bool flag = default(bool); - ushort valueOrDefault = default(ushort); - while (true) + bool flag; + switch (_questController.StartedQuest?.Quest.Id.Value) { - int num3 = num2; - int num4 = -763031592; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 4: - num2 = -763031600; - break; - case 5: - flag = true; - num2 = -763031589; - break; - case 1: - num2 = ((valueOrDefault == 3872) ? (-763031587) : (-763031586)); - break; - case 8: - valueOrDefault = num.GetValueOrDefault(); - num2 = ((valueOrDefault == 245) ? (-763031587) : (-763031591)); - break; - case 3: - num2 = ((!flag) ? (-763031585) : (-763031590)); - break; - case 7: - return; - case 0: - flag = false; - num2 = -763031589; - break; - case 2: - ContentsTutorialPostSetup((AtkUnitBase*)_206E_206A_206A_206F_202B_202B_202B_206B_206B_206A_200B_202A_206E_206B_206F_200E_200E_206E_206C_202A_206A_200D_202C_206A_206B_200F_206F_202B_206E_200F_202C_200E_202B_206C_206A_202C_202B_200B_202B_206E_202E(args).Address); - num2 = -763031585; - break; - case 6: - num2 = ((valueOrDefault != 5253) ? (-763031592) : (-763031587)); - break; - } + case 245: + case 3872: + case 5253: + flag = true; + break; + default: + flag = false; + break; + } + if (flag) + { + ContentsTutorialPostSetup((AtkUnitBase*)args.Addon.Address); } } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void ContentsTutorialPostSetup(AtkUnitBase* addon) { - _206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E((ILogger)_logger, 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(997030499), Array.Empty()); + _logger.LogDebug("Closing ContentsTutorial"); addon->FireCallbackInt(13); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void MultipleHelpWindowPostSetup(AddonEvent type, AddonArgs args) { - QuestController.QuestProgress? startedQuest = _questController.StartedQuest; - ushort? num = ((startedQuest != null) ? new ushort?(_202E_200F_206D_200E_202D_202E_200F_200B_200F_206E_202E_202D_206F_202D_206C_202B_202D_200F_206A_202B_200B_206B_202A_206C_200C_200D_202C_200B_202E_200D_202C_206A_206E_200D_202D_202D_206C_202E_202C_206F_202E(startedQuest.Quest.Id)) : ((ushort?)null)); - int num2 = (num.HasValue ? 841439404 : 841439402); - while (true) + if (_questController.StartedQuest?.Quest.Id.Value == 245) { - int num3 = num2; - int num4 = 841439400; - int num5 = num3; - int? obj; - switch ((num5 | num4) - (num5 & num4)) - { - case 4: - obj = num.GetValueOrDefault(); - goto IL_0099; - case 2: - obj = null; - goto IL_0099; - case 0: - { - _206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1717636655), Array.Empty()); - AtkUnitBase* address = (AtkUnitBase*)_206E_206A_206A_206F_202B_202B_202B_206B_206B_206A_200B_202A_206E_206B_206F_200E_200E_206E_206C_202A_206A_200D_202C_206A_206B_200F_206F_202B_206E_200F_202C_200E_202B_206C_206A_202C_202B_200B_202B_206E_202E(args).Address; - address->FireCallbackInt(-2); - address->FireCallbackInt(-1); - num2 = 841439401; - break; - } - case 1: - return; - case 3: - { - num2 = 841439402; - break; - } - IL_0099: - num2 = ((obj != 245) ? 841439401 : 841439400); - break; - } + _logger.LogDebug("Closing MultipleHelpWindow"); + AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address; + address->FireCallbackInt(-2); + address->FireCallbackInt(-1); } } private unsafe void JobHudNoticePostSetup(AddonEvent type, AddonArgs args) { - int num = (_questController.IsRunning ? (-1467614893) : (-1467614895)); - while (true) + if (_questController.IsRunning || _questController.AutomationType != QuestController.EAutomationType.Manual) { - int num2 = num; - int num3 = -1467614894; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1467614895; - break; - case 3: - num = ((_questController.AutomationType == QuestController.EAutomationType.Manual) ? (-1467614896) : (-1467614893)); - break; - case 1: - JobHudNoticePostSetup((AtkUnitBase*)_206E_206A_206A_206F_202B_202B_202B_206B_206B_206A_200B_202A_206E_206B_206F_200E_200E_206E_206C_202A_206A_200D_202C_206A_206B_200F_206F_202B_206E_200F_202C_200E_202B_206C_206A_202C_202B_200B_202B_206E_202E(args).Address); - num = -1467614896; - break; - case 2: - return; - } + JobHudNoticePostSetup((AtkUnitBase*)args.Addon.Address); } } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void JobHudNoticePostSetup(AtkUnitBase* addon) { - _206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E((ILogger)_logger, 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(365911133), Array.Empty()); + _logger.LogDebug("Clicking the JobHudNotice window to open the relevant Guide page"); addon->FireCallbackInt(0); } private unsafe void GuidePostSetup(AddonEvent type, AddonArgs args) { - int num = (_questController.IsRunning ? 373369011 : 373369010); - while (true) + if (_questController.IsRunning || _questController.AutomationType != QuestController.EAutomationType.Manual) { - int num2 = num; - int num3 = 373369009; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 373369010; - break; - case 1: - return; - case 3: - num = ((_questController.AutomationType == QuestController.EAutomationType.Manual) ? 373369008 : 373369011); - break; - case 2: - GuidePostSetup((AtkUnitBase*)_206E_206A_206A_206F_202B_202B_202B_206B_206B_206A_200B_202A_206E_206B_206F_200E_200E_206E_206C_202A_206A_200D_202C_206A_206B_200F_206F_202B_206E_200F_202C_200E_202B_206C_206A_202C_202B_200B_202B_206E_202E(args).Address); - num = 373369008; - break; - } + GuidePostSetup((AtkUnitBase*)args.Addon.Address); } } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void GuidePostSetup(AtkUnitBase* addon) { - _206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E((ILogger)_logger, 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(-1393090876), Array.Empty()); + _logger.LogDebug("Closing Guide window"); addon->FireCallbackInt(-1); } private unsafe void EventTutorialPostSetup(AddonEvent type, AddonArgs args) { - int num = (_questController.IsRunning ? (-1567711917) : (-1567711920)); - while (true) + if (!_questController.IsRunning && _questController.AutomationType == QuestController.EAutomationType.Manual) { - int num2 = num; - int num3 = -1567711918; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return; - case 2: - num = ((_questController.AutomationType == QuestController.EAutomationType.Manual) ? (-1567711918) : (-1567711917)); - break; - case 1: - _200D_206E_202D_200C_202D_206E_206C_202B_202A_206B_206E_202B_202D_206D_202E_206D_200D_206C_206A_200E_206E_200C_200D_206F_202C_200E_206F_200B_206F_200D_200E_200E_202D_206A_200B_202A_200E_200D_200D_206B_202E(_framework, (Action)([MethodImpl(MethodImplOptions.NoInlining)] () => - { - AtkUnitBase* addonPtr; - int num5 = ((!_gameGui.TryGetAddonByName(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1630487467), out addonPtr)) ? 912686340 : 912686341); - while (true) - { - int num6 = num5; - int num7 = 912686340; - int num8 = num6; - switch ((num8 | num7) - (num8 & num7)) - { - case 0: - return; - case 1: - EventTutorialPostSetup(addonPtr); - num5 = 912686340; - break; - case 2: - num5 = 912686341; - break; - } - } - }), default(TimeSpan), 0, default(CancellationToken)); - num = -1567711918; - break; - case 3: - num = -1567711920; - break; - } + return; } + _framework.RunOnTick(delegate + { + if (_gameGui.TryGetAddonByName("EventTutorial", out var addonPtr)) + { + EventTutorialPostSetup(addonPtr); + } + }); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void EventTutorialPostSetup(AtkUnitBase* addon) { - _206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E((ILogger)_logger, 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(1936999602), Array.Empty()); + _logger.LogDebug("Closing EventTutorial window"); addon->FireCallbackInt(-1); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void DescriptionPostSetup(AddonEvent type, AddonArgs args) { - int num = (_questController.IsRunning ? (-1356307906) : (-1356307905)); - while (true) + if (_questController.IsRunning || _questController.AutomationType != QuestController.EAutomationType.Manual) { - int num2 = num; - int num3 = -1356307907; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - { - _206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1957969933), Array.Empty()); - AtkUnitBase* address = (AtkUnitBase*)_206E_206A_206A_206F_202B_202B_202B_206B_206B_206A_200B_202A_206E_206B_206F_200E_200E_206E_206C_202A_206A_200D_202C_206A_206B_200F_206F_202B_206E_200F_202C_200E_202B_206C_206A_202C_202B_200B_202B_206E_202E(args).Address; - address->FireCallbackInt(-1); - num = -1356307908; - break; - } - case 1: - return; - case 0: - num = -1356307905; - break; - case 2: - num = ((_questController.AutomationType == QuestController.EAutomationType.Manual) ? (-1356307908) : (-1356307906)); - break; - } + _logger.LogDebug("Closing Description window"); + AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address; + address->FireCallbackInt(-1); } } - [MethodImpl(MethodImplOptions.NoInlining)] public void Dispose() { - _200B_200B_200F_202B_202B_206B_202E_200D_202C_206F_206C_202D_202B_206D_206D_200E_202A_202C_206C_206A_202D_200D_206C_202D_206E_202B_206B_206A_202D_200E_202C_206E_200E_206E_200E_200D_206D_200B_200C_206B_202E(_addonLifecycle, AddonEvent.PostSetup, 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(1877366658), (IAddonLifecycle.AddonEventDelegate)DescriptionPostSetup); - _200B_200B_200F_202B_202B_206B_202E_200D_202C_206F_206C_202D_202B_206D_206D_200E_202A_202C_206C_206A_202D_200D_206C_202D_206E_202B_206B_206A_202D_200E_202C_206E_200E_206E_200E_200D_206D_200B_200C_206B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-547923045), (IAddonLifecycle.AddonEventDelegate)EventTutorialPostSetup); - _200B_200B_200F_202B_202B_206B_202E_200D_202C_206F_206C_202D_202B_206D_206D_200E_202A_202C_206C_206A_202D_200D_206C_202D_206E_202B_206B_206A_202D_200E_202C_206E_200E_206E_200E_200D_206D_200B_200C_206B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-968492780), (IAddonLifecycle.AddonEventDelegate)GuidePostSetup); - _200B_200B_200F_202B_202B_206B_202E_200D_202C_206F_206C_202D_202B_206D_206D_200E_202A_202C_206C_206A_202D_200D_206C_202D_206E_202B_206B_206A_202D_200E_202C_206E_200E_206E_200E_200D_206D_200B_200C_206B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1813722758), (IAddonLifecycle.AddonEventDelegate)JobHudNoticePostSetup); - _200B_200B_200F_202B_202B_206B_202E_200D_202C_206F_206C_202D_202B_206D_206D_200E_202A_202C_206C_206A_202D_200D_206C_202D_206E_202B_206B_206A_202D_200E_202C_206E_200E_206E_200E_200D_206D_200B_200C_206B_202E(_addonLifecycle, AddonEvent.PostSetup, 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(341545647), (IAddonLifecycle.AddonEventDelegate)MultipleHelpWindowPostSetup); - _200B_200B_200F_202B_202B_206B_202E_200D_202C_206F_206C_202D_202B_206D_206D_200E_202A_202C_206C_206A_202D_200D_206C_202D_206E_202B_206B_206A_202D_200E_202C_206E_200E_206E_200E_200D_206D_200B_200C_206B_202E(_addonLifecycle, AddonEvent.PostSetup, 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(-1889051347), (IAddonLifecycle.AddonEventDelegate)ContentsTutorialPostSetup); - _200B_200B_200F_202B_202B_206B_202E_200D_202C_206F_206C_202D_202B_206D_206D_200E_202A_202C_206C_206A_202D_200D_206C_202D_206E_202B_206B_206A_202D_200E_202C_206E_200E_206E_200E_200D_206D_200B_200C_206B_202E(_addonLifecycle, AddonEvent.PostSetup, 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(40702289), (IAddonLifecycle.AddonEventDelegate)UnendingCodexPostSetup); + _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "Description", DescriptionPostSetup); + _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "EventTutorial", EventTutorialPostSetup); + _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "Guide", GuidePostSetup); + _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "JobHudNotice", JobHudNoticePostSetup); + _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "MultipleHelpWindow", MultipleHelpWindowPostSetup); + _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "ContentsTutorial", ContentsTutorialPostSetup); + _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "AkatsukiNote", UnendingCodexPostSetup); _questController.AutomationTypeChanged -= CloseHelpWindowsWhenStartingQuests; } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static void _206B_206F_206A_206D_206D_206D_200D_202C_202B_200E_206F_202E_206C_200F_206D_202E_206C_206F_202A_206E_206A_202E_200F_200F_206B_200B_206C_206B_200E_206A_200E_206A_202D_200D_200B_206D_202A_206E_202B_200E_202E(IAddonLifecycle P_0, AddonEvent P_1, string P_2, IAddonLifecycle.AddonEventDelegate P_3) - { - P_0.RegisterListener(P_1, P_2, P_3); - } - - static void _206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static ushort _202E_200F_206D_200E_202D_202E_200F_200B_200F_206E_202E_202D_206F_202D_206C_202B_202D_200F_206A_202B_200B_206B_202A_206C_200C_200D_202C_200B_202E_200D_202C_206A_206E_200D_202D_202D_206C_202E_202C_206F_202E(ElementId P_0) - { - return P_0.Value; - } - - static AtkUnitBasePtr _206E_206A_206A_206F_202B_202B_202B_206B_206B_206A_200B_202A_206E_206B_206F_200E_200E_206E_206C_202A_206A_200D_202C_206A_206B_200F_206F_202B_206E_200F_202C_200E_202B_206C_206A_202C_202B_200B_202B_206E_202E(AddonArgs P_0) - { - return P_0.Addon; - } - - static Task _200D_206E_202D_200C_202D_206E_206C_202B_202A_206B_206E_202B_202D_206D_202E_206D_200D_206C_206A_200E_206E_200C_200D_206F_202C_200E_206F_200B_206F_200D_200E_200E_202D_206A_200B_202A_200E_200D_200D_206B_202E(IFramework P_0, Action P_1, TimeSpan P_2, int P_3, CancellationToken P_4) - { - return P_0.RunOnTick(P_1, P_2, P_3, P_4); - } - - static void _200B_200B_200F_202B_202B_206B_202E_200D_202C_206F_206C_202D_202B_206D_206D_200E_202A_202C_206C_206A_202D_200D_206C_202D_206E_202B_206B_206A_202D_200E_202C_206E_200E_206E_200E_200D_206D_200B_200C_206B_202E(IAddonLifecycle P_0, AddonEvent P_1, string P_2, IAddonLifecycle.AddonEventDelegate P_3) - { - P_0.UnregisterListener(P_1, P_2, P_3); - } } diff --git a/Questionable/Questionable.Controller.GameUi/InteractionUiController.cs b/Questionable/Questionable.Controller.GameUi/InteractionUiController.cs index e8a6a7f..d3baaf0 100644 --- a/Questionable/Questionable.Controller.GameUi/InteractionUiController.cs +++ b/Questionable/Questionable.Controller.GameUi/InteractionUiController.cs @@ -1,17 +1,13 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Linq; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -using System.Text; using System.Text.RegularExpressions; using Dalamud.Game.Addon.Lifecycle; using Dalamud.Game.Addon.Lifecycle.AddonArgTypes; using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Objects.Types; -using Dalamud.Game.NativeWrapper; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game.Event; using FFXIVClientStructs.FFXIV.Client.Game.InstanceContent; @@ -20,9 +16,7 @@ using FFXIVClientStructs.FFXIV.Component.GUI; using LLib; using LLib.GameData; using LLib.GameUI; -using Lumina.Excel; using Lumina.Excel.Sheets; -using Lumina.Text.ReadOnly; using Microsoft.Extensions.Logging; using Questionable.Controller.Steps.Interactions; using Questionable.Data; @@ -37,340 +31,7 @@ namespace Questionable.Controller.GameUi; internal sealed class InteractionUiController : IDisposable { - private sealed record DialogueChoiceInfo(Questionable.Model.Quest? Quest, DialogueChoice DialogueChoice) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202D_200E_202C_206B_202E_200D_206F_206F_206D_200F_200E_202B_206A_202B_202C_200B_202C_200D_202C_200D_200C_206B_200E_206C_200B_202A_200E_202B_202D_206F_206D_202B_200F_202D_200D_206E_202A_202B_200D_202E_202E(typeof(DialogueChoiceInfo).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202A_200B_200B_202C_202B_200F_202D_206F_200C_202E_206F_206F_202C_206C_206A_202A_200E_202E_200B_206E_206D_200C_200D_206A_206B_200E_206C_206C_200E_202A_200F_202C_206C_200D_200D_206D_200D_206A_206C_202C_202E(); - _200C_200C_200E_200B_206F_202C_200D_202B_202E_206D_200C_202C_200B_202A_200D_202E_200B_206C_200C_202A_202A_206C_206D_200B_200E_200D_200E_206B_202C_200E_200B_202C_200C_206F_202A_206B_206B_206E_200E_200F_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2025267953)); - _200C_200C_200E_200B_206F_202C_200D_202B_202E_206D_200C_202C_200B_202A_200D_202E_200B_206C_200C_202A_202A_206C_206D_200B_200E_200D_200E_206B_202C_200E_200B_202C_200C_206F_202A_206B_206B_206E_200E_200F_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1344697862)); - int num = ((!PrintMembers(stringBuilder)) ? (-35304262) : (-35304261)); - while (true) - { - int num2 = num; - int num3 = -35304262; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -35304261; - break; - case 0: - _200C_200E_206D_202E_206D_206F_200F_206B_206A_206A_200D_200B_206F_202E_202B_200C_202A_206D_206C_200D_206C_202A_202D_200F_206A_200C_206A_206A_200C_202E_200C_202D_206A_206C_202C_202D_200D_200F_206D_202B_202E(stringBuilder, '}'); - return _202B_202B_202C_202B_206B_200F_200F_200F_200B_200E_202D_202D_202A_202E_202C_200B_206B_206A_202A_200B_200B_206D_200F_202D_206A_202A_206D_200C_202B_200E_206A_206B_202C_200E_200B_206A_200E_202E_206D_206E_202E((object)stringBuilder); - case 1: - _200C_200E_206D_202E_206D_206F_200F_206B_206A_206A_200D_200B_206F_202E_202B_200C_202A_206D_206C_200D_206C_202A_202D_200F_206A_200C_206A_206A_200C_202E_200C_202D_206A_206C_202C_202D_200D_200F_206D_202B_202E(stringBuilder, ' '); - num = -35304262; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202D_206C_200D_206B_202E_200E_200F_202C_200C_202D_202C_202B_202D_206E_206B_202D_206D_206C_200D_206F_206E_200F_206C_200D_206A_200D_200C_206D_206D_206E_200D_202A_200D_202D_200F_200D_206A_206C_200C_206F_202E(); - _200C_200C_200E_200B_206F_202C_200D_202B_202E_206D_200C_202C_200B_202A_200D_202E_200B_206C_200C_202A_202A_206C_206D_200B_200E_200D_200E_206B_202C_200E_200B_202C_200C_206F_202A_206B_206B_206E_200E_200F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1155335586)); - _200F_206E_200B_206C_200F_202E_202C_206A_206A_206F_206F_206E_206C_206A_202C_200D_200B_200B_200F_200E_206A_202B_200D_206D_200B_200C_206F_200C_200B_200B_206E_206C_200F_202B_206C_202E_200F_206F_200E_202B_202E(builder, (object)Quest); - _200C_200C_200E_200B_206F_202C_200D_202B_202E_206D_200C_202C_200B_202A_200D_202E_200B_206C_200C_202A_202A_206C_206D_200B_200E_200D_200E_206B_202C_200E_200B_202C_200C_206F_202A_206B_206B_206E_200E_200F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1903054558)); - _200F_206E_200B_206C_200F_202E_202C_206A_206A_206F_206F_206E_206C_206A_202C_200D_200B_200B_200F_200E_206A_202B_200D_206D_200B_200C_206F_200C_200B_200B_206E_206C_200F_202B_206C_202E_200F_206F_200E_202B_202E(builder, (object)DialogueChoice); - return true; - } - - [CompilerGenerated] - public bool Equals(DialogueChoiceInfo? other) - { - int num = (((object)this == other) ? (-1316842306) : (-1316842311)); - while (true) - { - int num2 = num; - int num3 = -1316842307; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - num = ((!EqualityComparer.Default.Equals(Quest, other.Quest)) ? (-1316842305) : (-1316842309)); - break; - case 4: - num = (((object)other == null) ? (-1316842305) : (-1316842307)); - break; - case 3: - return true; - case 5: - num = -1316842311; - break; - case 2: - return false; - case 6: - return EqualityComparer.Default.Equals(DialogueChoice, other.DialogueChoice); - case 0: - num = ((!_206C_200E_202B_202E_200F_202B_206A_206E_206D_202D_202E_200D_206E_206F_206B_202D_202A_202D_206F_206C_202E_202C_200B_202D_206D_202D_202B_206C_202C_206E_206B_200E_206A_206E_200B_206F_206C_200B_206C_200F_202E(EqualityContract, other.EqualityContract)) ? (-1316842305) : (-1316842308)); - break; - } - } - } - - bool IEquatable.Equals(DialogueChoiceInfo? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202D_200E_202C_206B_202E_200D_206F_206F_206D_200F_200E_202B_206A_202B_202C_200B_202C_200D_202C_200D_200C_206B_200E_206C_200B_202A_200E_202B_202D_206F_206D_202B_200F_202D_200D_206E_202A_202B_200D_202E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202A_200B_200B_202C_202B_200F_202D_206F_200C_202E_206F_206F_202C_206C_206A_202A_200E_202E_200B_206E_206D_200C_200D_206A_206B_200E_206C_206C_200E_202A_200F_202C_206C_200D_200D_206D_200D_206A_206C_202C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200C_200C_200E_200B_206F_202C_200D_202B_202E_206D_200C_202C_200B_202A_200D_202E_200B_206C_200C_202A_202A_206C_206D_200B_200E_200D_200E_206B_202C_200E_200B_202C_200C_206F_202A_206B_206B_206E_200E_200F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200C_200E_206D_202E_206D_206F_200F_206B_206A_206A_200D_200B_206F_202E_202B_200C_202A_206D_206C_200D_206C_202A_202D_200F_206A_200C_206A_206A_200C_202E_200C_202D_206A_206C_202C_202D_200D_200F_206D_202B_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202B_202B_202C_202B_206B_200F_200F_200F_200B_200E_202D_202D_202A_202E_202C_200B_206B_206A_202A_200B_200B_206D_200F_202D_206A_202A_206D_200C_202B_200E_206A_206B_202C_200E_200B_206A_200E_202E_206D_206E_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202D_206C_200D_206B_202E_200E_200F_202C_200C_202D_202C_202B_202D_206E_206B_202D_206D_206C_200D_206F_206E_200F_206C_200D_206A_200D_200C_206D_206D_206E_200D_202A_200D_202D_200F_200D_206A_206C_200C_206F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200F_206E_200B_206C_200F_202E_202C_206A_206A_206F_206F_206E_206C_206A_202C_200D_200B_200B_200F_200E_206A_202B_200D_206D_200B_200C_206F_200C_200B_200B_206E_206C_200F_202B_206C_202E_200F_206F_200E_202B_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206C_200E_202B_202E_200F_202B_206A_206E_206D_202D_202E_200D_206E_206F_206B_202D_202A_202D_206F_206C_202E_202C_200B_202D_206D_202D_202B_206C_202C_206E_206B_200E_206A_206E_200B_206F_206C_200B_206C_200F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__42_0; - - public static Func _003C_003E9__42_1; - - public static Func> _003C_003E9__55_4; - - public static Func _003C_003E9__55_6; - - public static Func _003C_003E9__55_7; - - public static Func _003C_003E9__55_8; - - public static Func _003C_003E9__55_9; - - public static Func _003C_003E9__55_11; - - public static Func> _003C_003E9__55_12; - - public static Func _003C_003E9__55_0; - - public static Func _003C_003E9__55_1; - - public static Func> _003C_003E9__57_0; - - public static Func, int> _003C_003E9__57_2; - - internal ReadOnlySeString? _003C_002Ector_003Eb__42_0(Addon addon) - { - return addon.Text; - } - - internal ReadOnlySeString? _003C_002Ector_003Eb__42_1(Addon addon) - { - return addon.Text; - } - - internal IEnumerable _003CHandleListChoice_003Eb__55_4(QuestStep x) - { - return _200C_202A_206B_202A_202C_200E_200B_202A_206F_206A_206F_200E_206A_202D_200C_200D_202A_202E_200D_206C_206C_200D_206A_206B_202B_202E_206E_202E_202B_206D_200F_206B_206D_206B_206A_206D_200C_200D_206D_206F_202E(x); - } - - internal bool _003CHandleListChoice_003Eb__55_6(QuestStep x) - { - return _206B_202D_206F_202A_202B_200E_202B_202B_206D_206A_206D_202E_200D_206A_200F_202D_206D_206C_206F_202D_200C_200C_206E_206F_202D_200E_202C_200B_206E_202C_206D_206C_200F_202C_206B_200B_200F_206B_202C_202E(x) == EInteractionType.UnlockTaxiStand; - } - - internal bool _003CHandleListChoice_003Eb__55_7(QuestStep x) - { - int num = ((x == null) ? (-59017433) : (-59017434)); - while (true) - { - int num2 = num; - int num3 = -59017433; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return _202B_202B_206C_200D_202B_200D_206D_202D_200C_200B_200F_202A_206C_202D_206B_206E_202A_200D_200B_206E_202E_202A_202B_200B_206E_202D_202C_206B_202A_200C_200D_202D_200B_200E_202E_202B_200E_200B_200E_202B_202E(x).HasValue; - case 1: - num = ((_206B_202D_206F_202A_202B_200E_202B_202B_206D_206A_206D_202E_200D_206A_200F_202D_206D_206C_206F_202D_200C_200C_206E_206F_202D_200E_202C_200B_206E_202C_206D_206C_200F_202C_206B_200B_200F_206B_202C_202E(x) != EInteractionType.RegisterFreeOrFavoredAetheryte) ? (-59017433) : (-59017435)); - break; - case 3: - num = -59017434; - break; - case 0: - return false; - } - } - } - - internal EAetheryteLocation _003CHandleListChoice_003Eb__55_8(QuestStep x) - { - return _202B_202B_206C_200D_202B_200D_206D_202D_200C_200B_200F_202A_206C_202D_206B_206E_202A_200D_200B_206E_202E_202A_202B_200B_206E_202D_202C_206B_202A_200C_200D_202D_200B_200E_202E_202B_200E_200B_200E_202B_202E(x).Value; - } - - internal bool _003CHandleListChoice_003Eb__55_9(QuestStep x) - { - return _206B_202D_206F_202A_202B_200E_202B_202B_206D_206A_206D_202E_200D_206A_200F_202D_206D_206C_206F_202D_200C_200C_206E_206F_202D_200E_202C_200B_206E_202C_206D_206C_200F_202C_206B_200B_200F_206B_202C_202E(x) == EInteractionType.SinglePlayerDuty; - } - - internal bool _003CHandleListChoice_003Eb__55_11(IQuestInfo x) - { - return x.QuestId is QuestId; - } - - internal IEnumerable _003CHandleListChoice_003Eb__55_12(QuestStep x) - { - return _200C_202A_206B_202A_202C_200E_200B_202A_206F_206A_206F_200E_206A_202D_200C_200D_202A_202E_200D_206C_206C_200D_206A_206B_202B_202E_206E_202E_202B_206D_200F_206B_206D_206B_206A_206D_200C_200D_206D_206F_202E(x); - } - - internal DialogueChoiceInfo _003CHandleListChoice_003Eb__55_0(DialogueChoice x) - { - return new DialogueChoiceInfo(null, x); - } - - internal DialogueChoiceInfo _003CHandleListChoice_003Eb__55_1(DialogueChoice x) - { - return new DialogueChoiceInfo(null, x); - } - - internal global::_003C_003Ef__AnonymousType0 _003CFindBestRegexMatch_003Eb__57_0(string answer, int index) - { - return new { answer, index }; - } - - internal int _003CFindBestRegexMatch_003Eb__57_2(global::_003C_003Ef__AnonymousType0 x) - { - return x.index; - } - - static List _200C_202A_206B_202A_202C_200E_200B_202A_206F_206A_206F_200E_206A_202D_200C_200D_202A_202E_200D_206C_206C_200D_206A_206B_202B_202E_206E_202E_202B_206D_200F_206B_206D_206B_206A_206D_200C_200D_206D_206F_202E(QuestStep P_0) - { - return P_0.DialogueChoices; - } - - static EInteractionType _206B_202D_206F_202A_202B_200E_202B_202B_206D_206A_206D_202E_200D_206A_200F_202D_206D_206C_206F_202D_200C_200C_206E_206F_202D_200E_202C_200B_206E_202C_206D_206C_200F_202C_206B_200B_200F_206B_202C_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static EAetheryteLocation? _202B_202B_206C_200D_202B_200D_206D_202D_200C_200B_200F_202A_206C_202D_206B_206E_202A_200D_200B_206E_202E_202A_202B_200B_206E_202D_202C_206B_202A_200C_200D_202D_200B_200E_202E_202B_200E_200B_200E_202B_202E(QuestStep P_0) - { - return P_0.Aetheryte; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass55_0 - { - public Questionable.Model.Quest quest; - - internal DialogueChoiceInfo _003CHandleListChoice_003Eb__5(DialogueChoice x) - { - return new DialogueChoiceInfo(quest, x); - } - - internal DialogueChoiceInfo _003CHandleListChoice_003Eb__10(DialogueChoice x) - { - return new DialogueChoiceInfo(quest, x); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass55_1 - { - public Questionable.Model.Quest knownQuest; - - internal DialogueChoiceInfo _003CHandleListChoice_003Eb__13(DialogueChoice x) - { - return new DialogueChoiceInfo(knownQuest, x); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass58_0 - { - public List answers; - - internal int _003CGetBestMatchFromQuestPath_003Eb__0(int i) - { - string? text = answers[i]; - if (text == null) - { - return int.MaxValue; - } - return _202A_202B_206C_202A_202B_206B_206D_202D_206F_202C_200F_206B_200E_200B_202E_206B_200D_202D_206C_206E_200D_202A_206D_206E_202B_206E_206C_200D_202C_202E_200B_202D_206B_206E_200E_200D_202E_206F_206A_200C_202E(text); - } - - static int _202A_202B_206C_202A_202B_206B_206D_202D_206F_202C_200F_206B_200E_200B_202E_206B_200D_202D_206C_206E_200D_202A_206D_206E_202B_206E_206C_200D_202C_202E_200B_202D_206B_206E_200E_200D_202E_206F_206A_200C_202E(string P_0) - { - return P_0.Length; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass64_0 - { - public InteractionUiController _003C_003E4__this; - - public unsafe AddonSelectYesno* addonSelectYesno; - - public Questionable.Model.Quest quest; - - public string actualPrompt; - - internal unsafe bool _003CCheckQuestYesNo_003Eb__0(QuestStep step) - { - return _003C_003E4__this.HandleDefaultYesNo(addonSelectYesno, quest, step, _200F_206D_206D_202C_202E_206B_206F_202D_200E_206D_202C_200D_206E_206B_200E_200E_206F_206C_200C_202A_200E_206E_200B_200C_202D_202D_206E_206D_200B_200D_202C_206F_206E_206F_206A_202B_200E_206C_206C_200D_202E(step), actualPrompt); - } - - static List _200F_206D_206D_202C_202E_206B_206F_202D_200E_206D_202C_200D_206E_206B_200E_200E_206F_206C_200C_202A_200E_206E_200B_200C_202D_202D_206E_206D_200B_200D_202C_206F_206E_206F_206A_202B_200E_206C_206C_200D_202E(QuestStep P_0) - { - return P_0.DialogueChoices; - } - } + private sealed record DialogueChoiceInfo(Questionable.Model.Quest? Quest, DialogueChoice DialogueChoice); private readonly IAddonLifecycle _addonLifecycle; @@ -436,36 +97,14 @@ internal sealed class InteractionUiController : IDisposable { get { - int num = (_questController.IsRunning ? (-301711873) : (-301711880)); - while (true) + if (!_questController.IsRunning && !_fateController.IsRunning && !_seasonalDutyController.IsRunning && !_attunementController.IsRunning) { - int num2 = num; - int num3 = -301711875; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = -301711880; - break; - case 2: - return true; - case 3: - num = (_attunementController.IsRunning ? (-301711873) : (-301711875)); - break; - case 1: - num = (_seasonalDutyController.IsRunning ? (-301711873) : (-301711874)); - break; - case 5: - num = (_fateController.IsRunning ? (-301711873) : (-301711876)); - break; - case 0: - return _territoryData.IsQuestBattleInstance(_200D_206E_200C_200C_202A_200B_200E_202D_206E_206E_200E_200D_206D_200C_202B_200B_202A_206F_206F_206F_206C_206B_200C_200B_200F_200E_200D_200E_206B_202E_200E_200C_206E_200C_206F_206E_202B_206D_206B_202E(_clientState)); - } + return _territoryData.IsQuestBattleInstance(_clientState.TerritoryType); } + return true; } } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe InteractionUiController(IAddonLifecycle addonLifecycle, IDataManager dataManager, QuestFunctions questFunctions, AetheryteFunctions aetheryteFunctions, ExcelFunctions excelFunctions, QuestController questController, GatheringPointRegistry gatheringPointRegistry, QuestRegistry questRegistry, QuestData questData, TerritoryData territoryData, IGameGui gameGui, ITargetManager targetManager, IPluginLog pluginLog, IClientState clientState, IObjectTable objectTable, ShopController shopController, FateController fateController, SeasonalDutyController seasonalDutyController, AttunementController attunementController, BossModIpc bossModIpc, DutyRetryState dutyRetryState, ICondition condition, Configuration configuration, ILogger logger) { _addonLifecycle = addonLifecycle; @@ -494,16 +133,16 @@ internal sealed class InteractionUiController : IDisposable _returnRegex = _dataManager.GetExcelSheet().GetRow(196u).GetRegex((Addon addon) => addon.Text, pluginLog); _purchaseItemRegex = _dataManager.GetRegex(3406u, (Addon addon) => addon.Text, pluginLog); _questController.AutomationTypeChanged += HandleCurrentDialogueChoices; - _206C_202C_200D_200B_206E_200F_206E_206E_206C_206A_206B_206E_206A_202C_202B_200D_200C_200D_206E_206C_200F_200D_202D_200B_200D_202A_202E_200E_206B_206D_202A_206B_200C_200F_200B_206C_202E_200C_206E_206B_202E(_addonLifecycle, AddonEvent.PostSetup, 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(-422420534), (IAddonLifecycle.AddonEventDelegate)SelectStringPostSetup); - _206C_202C_200D_200B_206E_200F_206E_206E_206C_206A_206B_206E_206A_202C_202B_200D_200C_200D_206E_206C_200F_200D_202D_200B_200D_202A_202E_200E_206B_206D_202A_206B_200C_200F_200B_206C_202E_200C_206E_206B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(316394614), (IAddonLifecycle.AddonEventDelegate)CutsceneSelectStringPostSetup); - _206C_202C_200D_200B_206E_200F_206E_206E_206C_206A_206B_206E_206A_202C_202B_200D_200C_200D_206E_206C_200F_200D_202D_200B_200D_202A_202E_200E_206B_206D_202A_206B_200C_200F_200B_206C_202E_200C_206E_206B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(706325697), (IAddonLifecycle.AddonEventDelegate)SelectIconStringPostSetup); - _206C_202C_200D_200B_206E_200F_206E_206E_206C_206A_206B_206E_206A_202C_202B_200D_200C_200D_206E_206C_200F_200D_202D_200B_200D_202A_202E_200E_206B_206D_202A_206B_200C_200F_200B_206C_202E_200C_206E_206B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(559979746), (IAddonLifecycle.AddonEventDelegate)SelectYesnoPostSetup); - _206C_202C_200D_200B_206E_200F_206E_206E_206C_206A_206B_206E_206A_202C_202B_200D_200C_200D_206E_206C_200F_200D_202D_200B_200D_202A_202E_200E_206B_206D_202A_206B_200C_200F_200B_206C_202E_200C_206E_206B_202E(_addonLifecycle, AddonEvent.PostUpdate, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2133528248), (IAddonLifecycle.AddonEventDelegate)SelectYesnoDeathRecoveryPostUpdate); - _206C_202C_200D_200B_206E_200F_206E_206E_206C_206A_206B_206E_206A_202C_202B_200D_200C_200D_206E_206C_200F_200D_202D_200B_200D_202A_202E_200E_206B_206D_202A_206B_200C_200F_200B_206C_202E_200C_206E_206B_202E(_addonLifecycle, AddonEvent.PostSetup, 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(-1560213177), (IAddonLifecycle.AddonEventDelegate)DifficultySelectYesNoPostSetup); - _206C_202C_200D_200B_206E_200F_206E_206E_206C_206A_206B_206E_206A_202C_202B_200D_200C_200D_206E_206C_200F_200D_202D_200B_200D_202A_202E_200E_206B_206D_202A_206B_200C_200F_200B_206C_202E_200C_206E_206B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1285367197), (IAddonLifecycle.AddonEventDelegate)PointMenuPostSetup); - _206C_202C_200D_200B_206E_200F_206E_206E_206C_206A_206B_206E_206A_202C_202B_200D_200C_200D_206E_206C_200F_200D_202D_200B_200D_202A_202E_200E_206B_206D_202A_206B_200C_200F_200B_206C_202E_200C_206E_206B_202E(_addonLifecycle, AddonEvent.PostSetup, 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(-880835995), (IAddonLifecycle.AddonEventDelegate)HousingSelectBlockPostSetup); - _206C_202C_200D_200B_206E_200F_206E_206E_206C_206A_206B_206E_206A_202C_202B_200D_200C_200D_206E_206C_200F_200D_202D_200B_200D_202A_202E_200E_206B_206D_202A_206B_200C_200F_200B_206C_202E_200C_206E_206B_202E(_addonLifecycle, AddonEvent.PostSetup, 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(-445790534), (IAddonLifecycle.AddonEventDelegate)EasterMowingResultPostSetup); - if (_gameGui.TryGetAddonByName(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-740095251), out var addonPtr)) + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "SelectString", SelectStringPostSetup); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "CutSceneSelectString", CutsceneSelectStringPostSetup); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "SelectIconString", SelectIconStringPostSetup); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "SelectYesno", SelectYesnoPostSetup); + _addonLifecycle.RegisterListener(AddonEvent.PostUpdate, "SelectYesno", SelectYesnoDeathRecoveryPostUpdate); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "DifficultySelectYesNo", DifficultySelectYesNoPostSetup); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "PointMenu", PointMenuPostSetup); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "HousingSelectBlock", HousingSelectBlockPostSetup); + _addonLifecycle.RegisterListener(AddonEvent.PostSetup, "EasterMowingResult", EasterMowingResultPostSetup); + if (_gameGui.TryGetAddonByName("RhythmAction", out var addonPtr)) { addonPtr->Close(fireCallback: true); } @@ -511,1831 +150,694 @@ internal sealed class InteractionUiController : IDisposable private void HandleCurrentDialogueChoices(object sender, QuestController.EAutomationType automationType) { - int num = ((automationType == QuestController.EAutomationType.Manual) ? 1384116977 : 1384116978); - while (true) + if (automationType != QuestController.EAutomationType.Manual) { - int num2 = num; - int num3 = 1384116976; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1384116978; - break; - case 1: - return; - case 2: - HandleCurrentDialogueChoices(); - num = 1384116977; - break; - } + HandleCurrentDialogueChoices(); } } - [MethodImpl(MethodImplOptions.NoInlining)] internal unsafe void HandleCurrentDialogueChoices() { - AddonSelectString* addonPtr; - int num = ((!_gameGui.TryGetAddonByName(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(534731026), out addonPtr)) ? (-1609490153) : (-1609490155)); - AtkUnitBase* addonPtr6 = default(AtkUnitBase*); - AddonSelectYesno* addonPtr4 = default(AddonSelectYesno*); - AtkUnitBase* addonPtr3 = default(AtkUnitBase*); - AddonCutSceneSelectString* addonPtr5 = default(AddonCutSceneSelectString*); - AddonSelectIconString* addonPtr2 = default(AddonSelectIconString*); - while (true) + if (_gameGui.TryGetAddonByName("SelectString", out var addonPtr)) { - int num2 = num; - int num3 = -1609490145; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 11: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-800287418), Array.Empty()); - PointMenuPostSetup(addonPtr6, checkAllSteps: true); - num = -1609490151; - break; - case 9: - num = ((!_gameGui.TryGetAddonByName(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(559979746), out addonPtr4)) ? (-1609490146) : (-1609490157)); - break; - case 0: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-591681686), Array.Empty()); - DifficultySelectYesNoPostSetup(addonPtr3, checkAllSteps: true); - num = -1609490148; - break; - case 10: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1862678185), Array.Empty()); - SelectStringPostSetup(addonPtr, checkAllSteps: true); - num = -1609490153; - break; - case 12: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, 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(-368581114), Array.Empty()); - SelectYesnoPostSetup(addonPtr4, checkAllSteps: true); - num = -1609490146; - break; - case 1: - num = ((!_gameGui.TryGetAddonByName(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(19567484), out addonPtr3)) ? (-1609490148) : (-1609490145)); - break; - case 5: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, 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(-1921123424), Array.Empty()); - CutsceneSelectStringPostSetup(addonPtr5, checkAllSteps: true); - num = -1609490149; - break; - case 6: - return; - case 2: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(462301389), Array.Empty()); - SelectIconStringPostSetup(addonPtr2, checkAllSteps: true); - num = -1609490154; - break; - case 3: - num = ((!_gameGui.TryGetAddonByName(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1295086227), out addonPtr6)) ? (-1609490151) : (-1609490156)); - break; - case 7: - num = -1609490155; - break; - case 8: - num = ((!_gameGui.TryGetAddonByName(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(-1487047646), out addonPtr5)) ? (-1609490149) : (-1609490150)); - break; - case 4: - num = ((!_gameGui.TryGetAddonByName(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(1216084341), out addonPtr2)) ? (-1609490154) : (-1609490147)); - break; - } + _logger.LogDebug("SelectString window is open"); + SelectStringPostSetup(addonPtr, checkAllSteps: true); + } + if (_gameGui.TryGetAddonByName("CutSceneSelectString", out var addonPtr2)) + { + _logger.LogDebug("CutSceneSelectString window is open"); + CutsceneSelectStringPostSetup(addonPtr2, checkAllSteps: true); + } + if (_gameGui.TryGetAddonByName("SelectIconString", out var addonPtr3)) + { + _logger.LogDebug("SelectIconString window is open"); + SelectIconStringPostSetup(addonPtr3, checkAllSteps: true); + } + if (_gameGui.TryGetAddonByName("SelectYesno", out var addonPtr4)) + { + _logger.LogDebug("SelectYesno window is open"); + SelectYesnoPostSetup(addonPtr4, checkAllSteps: true); + } + if (_gameGui.TryGetAddonByName("DifficultySelectYesNo", out var addonPtr5)) + { + _logger.LogDebug("DifficultySelectYesNo window is open"); + DifficultySelectYesNoPostSetup(addonPtr5, checkAllSteps: true); + } + if (_gameGui.TryGetAddonByName("PointMenu", out var addonPtr6)) + { + _logger.LogDebug("PointMenu is open"); + PointMenuPostSetup(addonPtr6, checkAllSteps: true); } } private unsafe void SelectStringPostSetup(AddonEvent type, AddonArgs args) { - AddonSelectString* address = (AddonSelectString*)_200C_202E_202E_200C_206B_202B_200C_206B_200C_200D_206C_206C_200F_202A_206F_202B_206C_206E_206E_206C_200F_200D_206A_206F_200E_206E_202E_200F_200C_206B_206E_202E_200B_202C_200D_202A_200B_200D_200F_200D_202E(args).Address; + AddonSelectString* address = (AddonSelectString*)args.Addon.Address; SelectStringPostSetup(address, checkAllSteps: false); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void SelectStringPostSetup(AddonSelectString* addonSelectString, bool checkAllSteps) { - int num = (checkAllSteps ? (-141072502) : (-141072507)); - string text = default(string); - List list = default(List); - ushort num8 = default(ushort); - int? num10 = default(int?); - int? num7 = default(int?); - while (true) + if (!checkAllSteps && !ShouldHandleUiInteractions) { - int num2 = num; - int num3 = -141072508; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int? num9; - switch (num5 - (num6 + num6)) + return; + } + string text = addonSelectString->AtkUnitBase.AtkValues[2].ReadAtkString(); + if (text == null) + { + return; + } + List list = new List(); + for (ushort num = 7; num < addonSelectString->AtkUnitBase.AtkValuesCount; num++) + { + if (addonSelectString->AtkUnitBase.AtkValues[(int)num].Type == AtkValueType.String) { - case 5: - num9 = HandleInstanceListChoice(text); - goto IL_01fe; - case 1: - num = (ShouldHandleUiInteractions ? (-141072502) : (-141072498)); - break; - case 2: - list.Add(_202C_206E_202E_206D_202C_200F_202A_202E_202D_202C_200D_206E_202E_202C_200E_202E_202C_200B_206F_202B_202E_202A_202E_206D_206F_202A_200C_202E_202D_200D_202A_200E_200E_206D_202D_202D_206D_202D_200B_200C_202E(addonSelectString->AtkUnitBase.AtkValues[(int)num8])); - num = -141072504; - break; - case 14: - text = _202C_206E_202E_206D_202C_200F_202A_202E_202D_202C_200D_206E_202E_202C_200E_202E_202C_200B_206F_202B_202E_202A_202E_206D_206F_202A_200C_202E_202D_200D_202A_200E_200E_206D_202D_202D_206D_202D_200B_200C_202E(addonSelectString->AtkUnitBase.AtkValues[2]); - num = ((text != null) ? (-141072499) : (-141072512)); - break; - case 13: - return; - case 11: - num = -141072507; - break; - case 0: - num = ((num8 < addonSelectString->AtkUnitBase.AtkValuesCount) ? (-141072509) : (-141072505)); - break; - case 12: - { - ushort num11 = num8; - num3 = 1; - num4 = num11; - int num12 = num4 ^ num3; - int num13 = num4 & num3; - num8 = (ushort)(num12 + (num13 + num13)); - num = -141072508; - break; - } - case 7: - num = ((addonSelectString->AtkUnitBase.AtkValues[(int)num8].Type != FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.String) ? (-141072504) : (-141072506)); - break; - case 8: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, 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(937798958), new object[2] { num10, text }); - addonSelectString->AtkUnitBase.FireCallbackInt(num10.Value); - num = -141072503; - break; - case 6: - num9 = num7; - goto IL_01fe; - case 4: - return; - case 9: - list = new List(); - num8 = 7; - num = -141072508; - break; - case 3: - num7 = HandleListChoice(text, list, checkAllSteps); - num = (num7.HasValue ? (-141072510) : (-141072511)); - break; - case 10: - return; - IL_01fe: - num10 = num9; - num = ((!num10.HasValue) ? (-141072503) : (-141072500)); - break; + list.Add(addonSelectString->AtkUnitBase.AtkValues[(int)num].ReadAtkString()); } } + int? num2 = HandleListChoice(text, list, checkAllSteps) ?? HandleInstanceListChoice(text); + if (num2.HasValue) + { + _logger.LogDebug("Using choice {Choice} for list prompt '{Prompt}'", num2, text); + addonSelectString->AtkUnitBase.FireCallbackInt(num2.Value); + } } private unsafe void CutsceneSelectStringPostSetup(AddonEvent type, AddonArgs args) { - AddonCutSceneSelectString* address = (AddonCutSceneSelectString*)_200C_202E_202E_200C_206B_202B_200C_206B_200C_200D_206C_206C_200F_202A_206F_202B_206C_206E_206E_206C_200F_200D_206A_206F_200E_206E_202E_200F_200C_206B_206E_202E_200B_202C_200D_202A_200B_200D_200F_200D_202E(args).Address; + AddonCutSceneSelectString* address = (AddonCutSceneSelectString*)args.Addon.Address; CutsceneSelectStringPostSetup(address, checkAllSteps: false); } private unsafe void CutsceneSelectStringPostSetup(AddonCutSceneSelectString* addonCutSceneSelectString, bool checkAllSteps) { - int num = (checkAllSteps ? (-1410911193) : (-1410911188)); - string text = default(string); - int? num7 = default(int?); - int num5 = default(int); - List list = default(List); - while (true) + if (!checkAllSteps && !ShouldHandleUiInteractions) { - int num2 = num; - int num3 = -1410911195; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return; + } + string text = addonCutSceneSelectString->AtkUnitBase.AtkValues[2].ReadAtkString(); + if (text != null) + { + List list = new List(); + for (int i = 5; i < addonCutSceneSelectString->AtkUnitBase.AtkValuesCount; i++) { - case 2: - text = _202C_206E_202E_206D_202C_200F_202A_202E_202D_202C_200D_206E_202E_202C_200E_202E_202C_200B_206F_202B_202E_202A_202E_206D_206F_202A_200C_202E_202D_200D_202A_200E_200E_206D_202D_202D_206D_202D_200B_200C_202E(addonCutSceneSelectString->AtkUnitBase.AtkValues[2]); - num = ((text != null) ? (-1410911198) : (-1410911195)); - break; - case 3: - return; - case 10: - addonCutSceneSelectString->AtkUnitBase.FireCallbackInt(num7.Value); - num = -1410911194; - break; - case 6: - num = -1410911188; - break; - case 1: - num = ((num5 < addonCutSceneSelectString->AtkUnitBase.AtkValuesCount) ? (-1410911199) : (-1410911200)); - break; - case 9: - num = (ShouldHandleUiInteractions ? (-1410911193) : (-1410911187)); - break; - case 7: - list = new List(); - num5 = 5; - num = -1410911196; - break; - case 5: - num7 = HandleListChoice(text, list, checkAllSteps); - num = ((!num7.HasValue) ? (-1410911194) : (-1410911185)); - break; - case 8: - return; - case 0: - return; - case 4: - { - list.Add(_202C_206E_202E_206D_202C_200F_202A_202E_202D_202C_200D_206E_202E_202C_200E_202E_202C_200B_206F_202B_202E_202A_202E_206D_206F_202A_200C_202E_202D_200D_202A_200E_200E_206D_202D_202D_206D_202D_200B_200C_202E(addonCutSceneSelectString->AtkUnitBase.AtkValues[num5])); - int num6 = num5; - num3 = 1; - num4 = num6; - num5 = (num4 | num3) + (num4 & num3); - num = -1410911196; - break; + list.Add(addonCutSceneSelectString->AtkUnitBase.AtkValues[i].ReadAtkString()); } + int? num = HandleListChoice(text, list, checkAllSteps); + if (num.HasValue) + { + addonCutSceneSelectString->AtkUnitBase.FireCallbackInt(num.Value); } } } private unsafe void SelectIconStringPostSetup(AddonEvent type, AddonArgs args) { - AddonSelectIconString* address = (AddonSelectIconString*)_200C_202E_202E_200C_206B_202B_200C_206B_200C_200D_206C_206C_200F_202A_206F_202B_206C_206E_206E_206C_200F_200D_206A_206F_200E_206E_202E_200F_200C_206B_206E_202E_200B_202C_200D_202A_200B_200D_200F_200D_202E(args).Address; + AddonSelectIconString* address = (AddonSelectIconString*)args.Addon.Address; SelectIconStringPostSetup(address, checkAllSteps: false); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void SelectIconStringPostSetup(AddonSelectIconString* addonSelectIconString, bool checkAllSteps) { - int num = (checkAllSteps ? (-12129082) : (-12129078)); - QuestController.QuestProgress startedQuest = default(QuestController.QuestProgress); - QuestStep questStep = default(QuestStep); - List choices = default(List); - string text = default(string); - QuestController.QuestProgress nextQuest = default(QuestController.QuestProgress); - int? num5 = default(int?); - Questionable.Model.Quest quest = default(Questionable.Model.Quest); - string text2 = default(string); - while (true) + if (!checkAllSteps && !ShouldHandleUiInteractions) { - int num2 = num; - int num3 = -12129083; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return; + } + string text = addonSelectIconString->AtkUnitBase.AtkValues[3].ReadAtkString(); + if (string.IsNullOrEmpty(text)) + { + text = null; + } + List choices = GetChoices(addonSelectIconString); + int? num = HandleListChoice(text, choices, checkAllSteps); + if (num.HasValue) + { + _logger.LogDebug("Using choice {Choice} for list prompt '{Prompt}'", num, text); + addonSelectIconString->AtkUnitBase.FireCallbackInt(num.Value); + return; + } + string text2 = (*addonSelectIconString->AtkValues).ReadAtkString(); + QuestController.QuestProgress startedQuest = _questController.StartedQuest; + if (startedQuest != null && (text == null || text2 != null)) + { + _logger.LogDebug("Checking if current quest {Name} is on the list", startedQuest.Quest.Info.Name); + if (CheckQuestSelection(addonSelectIconString, startedQuest.Quest, choices)) { - case 12: + return; + } + QuestStep questStep = startedQuest.Quest.FindSequence(startedQuest.Sequence)?.FindStep(startedQuest.Step); + if (questStep != null && questStep.InteractionType == EInteractionType.AcceptQuest && (object)questStep.PickUpQuestId != null && _questRegistry.TryGetQuest(questStep.PickUpQuestId, out Questionable.Model.Quest quest)) { - QuestSequence? questSequence = startedQuest.Quest.FindSequence(startedQuest.Sequence); - questStep = ((questSequence != null) ? _200D_200E_200D_206C_206D_200C_200F_200C_206A_206C_202A_206C_202A_200C_200C_202A_206C_202E_206C_200E_202C_202D_200E_202A_200F_200F_200E_202E_200C_200D_206C_202C_200E_200B_206E_206A_200D_200D_200C_200D_202E(questSequence, startedQuest.Step) : null); - num = ((questStep == null) ? (-12129084) : (-12129065)); - break; - } - case 7: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, 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(-821203051), new object[1] { startedQuest.Quest.Info.Name }); - num = ((!CheckQuestSelection(addonSelectIconString, startedQuest.Quest, choices)) ? (-12129079) : (-12129066)); - break; - case 3: - text = _202C_206E_202E_206D_202C_200F_202A_202E_202D_202C_200D_206E_202E_202C_200E_202E_202C_200B_206F_202B_202E_202A_202E_206D_206F_202A_200C_202E_202D_200D_202A_200E_200E_206D_202D_202D_206D_202D_200B_200C_202E(addonSelectIconString->AtkUnitBase.AtkValues[3]); - num = ((!_200B_206D_200D_206B_202D_206E_200E_206C_206C_202E_206E_200D_200B_206B_206B_200F_200D_202A_202C_202C_200C_206A_206E_206F_206C_200B_206A_202A_200E_200B_200D_206B_206B_206F_206D_202C_206D_202B_202C_202A_202E(text)) ? (-12129087) : (-12129075)); - break; - case 1: - nextQuest = _questController.NextQuest; - num = ((nextQuest == null) ? (-12129088) : (-12129074)); - break; - case 18: - num = ((_202A_206C_200B_202D_206C_206E_206C_200F_200E_202B_206E_206D_200C_206E_206A_206C_202C_206F_200F_206A_200B_206F_200B_202B_200B_206B_200B_202E_202D_200B_202A_200E_206E_206C_202D_202B_200E_200E_200B_200E_202E(questStep) != EInteractionType.AcceptQuest) ? (-12129084) : (-12129080)); - break; - case 16: - return; - case 4: - choices = GetChoices(addonSelectIconString); - num5 = HandleListChoice(text, choices, checkAllSteps); - num = ((!num5.HasValue) ? (-12129085) : (-12129069)); - break; - case 0: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-986592503), new object[1] { quest.Info.Name }); - num = ((!CheckQuestSelection(addonSelectIconString, quest, choices)) ? (-12129084) : (-12129067)); - break; - case 2: - num = ((!_questRegistry.TryGetQuest(_200E_200E_200E_200B_202B_202D_206F_200E_206F_202D_206A_206A_200C_206E_200B_206B_202D_206F_202D_200B_200B_206A_202B_206F_200E_200F_206C_206F_202C_200F_206F_206F_206A_202B_202E_200C_200B_200E_200E_206B_202E(questStep), out quest)) ? (-12129084) : (-12129083)); - break; - case 6: - text2 = _202C_206E_202E_206D_202C_200F_202A_202E_202D_202C_200D_206E_202E_202C_200E_202E_202C_200B_206F_202B_202E_202A_202E_206D_206F_202A_200C_202E_202D_200D_202A_200E_200E_206D_202D_202D_206D_202D_200B_200C_202E(*addonSelectIconString->AtkValues); - startedQuest = _questController.StartedQuest; - num = ((startedQuest == null) ? (-12129084) : (-12129068)); - break; - case 22: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, 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(937798958), new object[2] { num5, text }); - addonSelectIconString->AtkUnitBase.FireCallbackInt(num5.Value); - return; - case 11: - num = ((text == null) ? (-12129072) : (-12129076)); - break; - case 20: - num = -12129078; - break; - case 10: - num = ((text2 == null) ? (-12129084) : (-12129086)); - break; - case 8: - text = null; - num = -12129087; - break; - case 5: - return; - case 9: - num = ((text2 == null) ? (-12129088) : (-12129072)); - break; - case 14: - return; - case 17: - num = ((text == null) ? (-12129086) : (-12129073)); - break; - case 21: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, 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(734639769), new object[1] { nextQuest.Quest.Info.Name }); - CheckQuestSelection(addonSelectIconString, nextQuest.Quest, choices); - return; - case 13: - num = (((object)_200E_200E_200E_200B_202B_202D_206F_200E_206F_202D_206A_206A_200C_206E_200B_206B_202D_206F_202D_200B_200B_206A_202B_206F_200E_200F_206C_206F_202C_200F_206F_206F_206A_202B_202E_200C_200B_200E_200E_206B_202E(questStep) == null) ? (-12129084) : (-12129081)); - break; - case 19: - return; - case 15: - num = (ShouldHandleUiInteractions ? (-12129082) : (-12129077)); - break; + _logger.LogDebug("Checking if current picked-up {Name} is on the list", quest.Info.Name); + if (CheckQuestSelection(addonSelectIconString, quest, choices)) + { + return; + } } } + QuestController.QuestProgress nextQuest = _questController.NextQuest; + if (nextQuest != null && (text == null || text2 != null)) + { + _logger.LogDebug("Checking if next quest {Name} is on the list", nextQuest.Quest.Info.Name); + CheckQuestSelection(addonSelectIconString, nextQuest.Quest, choices); + } } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe bool CheckQuestSelection(AddonSelectIconString* addonSelectIconString, Questionable.Model.Quest quest, List answers) { string questName = quest.Info.Name; int num = answers.FindIndex((string? x) => GameFunctions.GameStringEquals(questName, x)); - int num2 = ((num < 0) ? (-863924327) : (-863924326)); - while (true) + if (num >= 0) { - int num3 = num2; - int num4 = -863924325; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - goto IL_006f; - case 2: - return false; - case 1: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-172604722), new object[1] { questName }); - addonSelectIconString->AtkUnitBase.FireCallbackInt(num); - return true; - } - continue; - IL_006f: - num2 = -863924326; + _logger.LogDebug("Selecting quest {QuestName}", questName); + addonSelectIconString->AtkUnitBase.FireCallbackInt(num); + return true; } + return false; } public unsafe static List GetChoices(AddonSelectIconString* addonSelectIconString) { List list = new List(); ushort num = 0; - int num2 = 423527263; - while (true) + while (num < addonSelectIconString->AtkUnitBase.AtkValues[5].Int && num * 3 + 7 < addonSelectIconString->AtkUnitBase.AtkValuesCount) { - int num3 = num2; - int num4 = 423527261; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 4: - { - int num10 = num * 3; - num4 = 7; - num5 = num10; - int num11 = num5 ^ num4; - int num12 = num5 & num4; - num2 = ((num11 + (num12 + num12) < addonSelectIconString->AtkUnitBase.AtkValuesCount) ? 423527262 : 423527260); - break; - } - case 1: - return list; - case 2: - num2 = ((num >= addonSelectIconString->AtkUnitBase.AtkValues[5].Int) ? 423527260 : 423527257); - break; - case 0: - num2 = 423527263; - break; - case 3: - { - AtkValue* atkValues = addonSelectIconString->AtkValues; - int num6 = num * 3; - num4 = 7; - num5 = num6; - int num7 = num5 ^ num4; - int num8 = num5 & num4; - list.Add(_202C_206E_202E_206D_202C_200F_202A_202E_202D_202C_200D_206E_202E_202C_200E_202E_202C_200B_206F_202B_202E_202A_202E_206D_206F_202A_200C_202E_202D_200D_202A_200E_200E_206D_202D_202D_206D_202D_200B_200C_202E(atkValues[num7 + (num8 + num8)])); - ushort num9 = num; - num4 = 1; - num5 = num9; - num = (ushort)((num5 | num4) + (num5 & num4)); - num2 = 423527263; - break; - } - } + list.Add(addonSelectIconString->AtkValues[num * 3 + 7].ReadAtkString()); + num++; } + return list; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe int? HandleListChoice(string? actualPrompt, List answers, bool checkAllSteps) { List list = new List(); List list2 = new List(); - QuestController.QuestProgress questProgress = _questController.SimulatedQuest ?? _questController.GatheringQuest ?? _questController.StartedQuest; - int num; + QuestController.QuestProgress questProgress = _questController.SimulatedQuest ?? _questController.StartedQuest; if (questProgress != null) { - num = 897579792; - QuestSequence questSequence = default(QuestSequence); - _003C_003Ec__DisplayClass55_0 _003C_003Ec__DisplayClass55_ = default(_003C_003Ec__DisplayClass55_0); - QuestStep questStep = default(QuestStep); - bool flag = default(bool); - List source = default(List); - EAetheryteLocation? eAetheryteLocation = default(EAetheryteLocation?); - ushort? num10 = default(ushort?); - string current = default(string); - uint? warpId = default(uint?); - string warpText = default(string); - while (true) + Questionable.Model.Quest quest = questProgress.Quest; + bool flag = false; + List source = new List(); + if (checkAllSteps) { - int num2 = num; - int num3 = 897579799; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + QuestSequence? questSequence = quest.FindSequence(questProgress.Sequence); + IEnumerable enumerable = questSequence?.Steps.SelectMany((QuestStep x) => x.DialogueChoices); + if (enumerable != null) { - default: - continue; - case 24: - questSequence = _003C_003Ec__DisplayClass55_.quest.FindSequence(questProgress.Sequence); - num = ((questSequence == null) ? 897579787 : 897579789); - continue; - case 18: - num = ((questProgress.Step != 255) ? 897579787 : 897579791); - continue; - case 25: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, 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(2056265490), Array.Empty()); - num = 897579794; - continue; - case 19: - num = ((questStep != null) ? 897579787 : 897579781); - continue; - case 11: - flag = _202A_206C_200B_202D_206C_206E_206C_200F_200E_202B_206E_206D_200C_206E_206A_206C_202C_206F_200F_206A_200B_206F_200B_202B_200B_206B_200B_202E_202D_200B_202A_200E_206E_206C_202D_202B_200E_200E_200B_200E_202E(questStep) == EInteractionType.UnlockTaxiStand; - num = 897579794; - continue; - case 2: - num = ((questStep == null) ? 897579804 : 897579807); - continue; - case 3: - num = 897579792; - continue; - case 9: - { - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1911129672), Array.Empty()); - Questionable.Model.Quest quest3 = _003C_003Ec__DisplayClass55_.quest; - DialogueChoice dialogueChoice3 = _200D_200E_206A_202E_200F_206B_206D_206B_200C_200E_202D_206C_206F_200B_200C_200F_202A_202D_206D_200B_206E_206F_200F_200B_202C_200B_202B_202B_202E_206B_202C_202B_200D_206B_206A_202B_206F_206B_202B_206D_202E(); - _202B_206E_200F_202A_206A_200C_202C_200D_200D_202A_206B_202C_200D_200C_202E_206D_206D_202D_202A_202B_206D_200E_202A_202E_200D_200B_200D_200C_202A_200E_200B_202A_200C_206D_200F_202D_206C_206C_206C_202C_202E(dialogueChoice3, EDialogChoiceType.List); - _202E_206A_200D_200B_206F_206C_202A_206B_202D_200C_202A_202D_202D_206D_200B_206F_202B_202B_202E_200D_202B_202C_202A_206B_206C_206D_200D_206E_200B_206C_206D_202C_202A_206A_206E_206A_200D_200E_206D_202E_202E(dialogueChoice3, 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(-1089041782)); - _202A_202A_202B_206A_200F_202D_202D_206E_202D_200B_206A_206A_206D_206B_202E_206B_202A_202B_206E_206C_200D_202A_206B_206F_202D_202C_200B_200B_206E_206E_202D_200C_206E_206C_202C_202B_200B_206C_200E_200F_202E(dialogueChoice3, _202B_202C_206D_200C_200B_202E_202E_200B_202C_200B_202B_200C_206E_206A_200B_200F_206A_202C_200E_200B_200B_202D_206C_202C_200D_200C_206A_200D_202A_202C_202D_206B_202D_202B_202E_202A_206F_200F_202E_202D_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(842653526))); - _202B_206A_200C_202C_206F_206A_202D_202B_206B_202A_206B_200E_206D_202C_202B_202B_202D_202A_202C_202A_206D_202E_200E_206B_206A_202E_206C_200B_206F_200B_200F_202E_206C_202E_202C_202D_206B_202D_202B_206A_202E(dialogueChoice3, true); - _202A_200F_200B_202B_202A_200E_206D_200C_200C_202B_200D_200E_202E_202C_202E_202C_200E_202E_202D_206D_202B_206F_206F_206B_206C_206A_206A_200B_206C_202E_202C_202A_200B_200C_200F_200B_200B_206A_206C_200D_202E(dialogueChoice3, _202B_202C_206D_200C_200B_202E_202E_200B_202C_200B_202B_200C_206E_206A_200B_200F_206A_202C_200E_200B_200B_202D_206C_202C_200D_200C_206A_200D_202A_202C_202D_206B_202D_202B_202E_202A_206F_200F_202E_202D_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(57857705))); - _200D_202B_200F_206B_200D_206B_200B_200F_202B_206B_202B_202A_202B_200F_200F_200D_200C_206A_206B_202D_206D_206A_206D_206B_202C_200E_200E_206F_206A_202B_206D_202B_202A_206C_202E_202E_202A_200F_206C_206D_202E(dialogueChoice3, true); - list.Add(new DialogueChoiceInfo(quest3, dialogueChoice3)); - num = 897579788; - continue; + list.AddRange(enumerable.Select((DialogueChoice x) => new DialogueChoiceInfo(quest, x))); } - case 7: - _003C_003Ec__DisplayClass55_ = new _003C_003Ec__DisplayClass55_0(); - _003C_003Ec__DisplayClass55_.quest = questProgress.Quest; - flag = false; - source = new List(); - num = ((!checkAllSteps) ? 897579777 : 897579779); - continue; - case 23: + flag = questSequence?.Steps.Any((QuestStep x) => x.InteractionType == EInteractionType.UnlockTaxiStand) ?? false; + source = (from x in questSequence?.Steps + where x != null && x.InteractionType == EInteractionType.RegisterFreeOrFavoredAetheryte && x.Aetheryte.HasValue + select x.Aetheryte.Value).ToList() ?? new List(); + } + else + { + QuestStep questStep = null; + if (_territoryData.IsQuestBattleInstance(_clientState.TerritoryType)) { - Questionable.Model.Quest quest2 = _003C_003Ec__DisplayClass55_.quest; - DialogueChoice dialogueChoice2 = _200D_200E_206A_202E_200F_206B_206D_206B_200C_200E_202D_206C_206F_200B_200C_200F_202A_202D_206D_200B_206E_206F_200F_200B_202C_200B_202B_202B_202E_206B_202C_202B_200D_206B_206A_202B_206F_206B_202B_206D_202E(); - _202B_206E_200F_202A_206A_200C_202C_200D_200D_202A_206B_202C_200D_200C_202E_206D_206D_202D_202A_202B_206D_200E_202A_202E_200D_200B_200D_200C_202A_200E_200B_202A_200C_206D_200F_202D_206C_206C_206C_202C_202E(dialogueChoice2, EDialogChoiceType.List); - _202E_206A_200D_200B_206F_206C_202A_206B_202D_200C_202A_202D_202D_206D_200B_206F_202B_202B_202E_200D_202B_202C_202A_206B_206C_206D_200D_206E_200B_206C_206D_202C_202A_206A_206E_206A_200D_200E_206D_202E_202E(dialogueChoice2, _206E_202E_206E_200D_206D_202B_202D_202D_206A_206E_206F_200E_202D_206D_200B_206D_202D_202A_202C_200F_200F_202B_202E_202D_202A_202C_202E_202A_206E_206E_200F_206D_206F_202A_202C_200B_202E_200D_200E_206B_202E(_206E_200E_206F_202C_200F_206A_206D_202D_202C_202E_200B_200B_200E_206C_202D_206E_202E_206F_206C_200F_206E_200E_206A_200B_200F_202B_200E_206B_202A_206D_200E_202D_206E_206A_202E_202D_200D_206B_200D_200E_202E(questStep))); - _202A_202A_202B_206A_200F_202D_202D_206E_202D_200B_206A_206A_206D_206B_202E_206B_202A_202B_206E_206C_200D_202A_206B_206F_202D_202C_200B_200B_206E_206E_202D_200C_206E_206C_202C_202B_200B_206C_200E_200F_202E(dialogueChoice2, (ExcelRef)null); - _202A_200F_200B_202B_202A_200E_206D_200C_200C_202B_200D_200E_202E_202C_202E_202C_200E_202E_202D_206D_202B_206F_206F_206B_206C_206A_206A_200B_206C_202E_202C_202A_200B_200C_200F_200B_200B_206A_206C_200D_202E(dialogueChoice2, _206B_200F_206D_202E_202E_206C_206A_202E_206D_200D_206F_200C_200F_200D_206B_206C_200F_200C_206E_206F_206E_202B_200C_200D_200B_206A_206F_206D_206B_200E_202C_202E_202D_206C_206E_202A_200B_202C_202A_200F_202E(_206E_200E_206F_202C_200F_206A_206D_202D_202C_202E_200B_200B_200E_206C_202D_206E_202E_206F_206C_200F_206E_200E_206A_200B_200F_202B_200E_206B_202A_206D_200E_202D_206E_206A_202E_202D_200D_206B_200D_200E_202E(questStep))); - list.Add(new DialogueChoiceInfo(quest2, dialogueChoice2)); - num = 897579797; - continue; + questStep = quest.FindSequence(questProgress.Sequence)?.Steps.FirstOrDefault((QuestStep x) => x.InteractionType == EInteractionType.SinglePlayerDuty); } - case 16: - list.AddRange(_200E_206A_200F_200C_206D_206A_202B_206D_206E_206A_200B_200B_202E_206C_202C_206E_206F_200C_202E_202A_200C_200F_200E_206E_206F_202C_200B_202A_206B_206E_206F_200E_206D_206A_202E_200C_206C_206B_202E_202E(questStep).Select(_003C_003Ec__DisplayClass55_._003CHandleListChoice_003Eb__10)); - num = ((_206E_200E_206F_202C_200F_206A_206D_202D_202C_202E_200B_200B_200E_206C_202D_206E_202E_206F_206C_200F_206E_200E_206A_200B_200F_202B_200E_206B_202A_206D_200E_202D_206E_206A_202E_202D_200D_206B_200D_200E_202E(questStep) == null) ? 897579797 : 897579776); - continue; - case 4: + if (questStep == null) { - EAetheryteLocation valueOrDefault = eAetheryteLocation.GetValueOrDefault(); - int num11 = 1; - List list3 = new List(num11); - CollectionsMarshal.SetCount(list3, num11); - CollectionsMarshal.AsSpan(list3)[0] = valueOrDefault; - source = list3; - num = 897579804; - continue; + questStep = quest.FindSequence(questProgress.Sequence)?.FindStep(questProgress.Step); } - case 17: - num = ((!source.Any((EAetheryteLocation x) => _aetheryteFunctions.CanRegisterFreeOrFavoriteAetheryte(x) == AetheryteRegistrationResult.FavoredDestinationAvailable)) ? 897579788 : 897579806); - continue; - case 10: + if (questStep == null && questProgress.Step == 255) { - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(399617756), Array.Empty()); - Questionable.Model.Quest quest4 = _003C_003Ec__DisplayClass55_.quest; - DialogueChoice dialogueChoice4 = _200D_200E_206A_202E_200F_206B_206D_206B_200C_200E_202D_206C_206F_200B_200C_200F_202A_202D_206D_200B_206E_206F_200F_200B_202C_200B_202B_202B_202E_206B_202C_202B_200D_206B_206A_202B_206F_206B_202B_206D_202E(); - _202B_206E_200F_202A_206A_200C_202C_200D_200D_202A_206B_202C_200D_200C_202E_206D_206D_202D_202A_202B_206D_200E_202A_202E_200D_200B_200D_200C_202A_200E_200B_202A_200C_206D_200F_202D_206C_206C_206C_202C_202E(dialogueChoice4, EDialogChoiceType.List); - _202E_206A_200D_200B_206F_206C_202A_206B_202D_200C_202A_202D_202D_206D_200B_206F_202B_202B_202E_200D_202B_202C_202A_206B_206C_206D_200D_206E_200B_206C_206D_202C_202A_206A_206E_206A_200D_200E_206D_202E_202E(dialogueChoice4, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2128324396)); - _202A_202A_202B_206A_200F_202D_202D_206E_202D_200B_206A_206A_206D_206B_202E_206B_202A_202B_206E_206C_200D_202A_206B_206F_202D_202C_200B_200B_206E_206E_202D_200C_206E_206C_202C_202B_200B_206C_200E_200F_202E(dialogueChoice4, _202B_202C_206D_200C_200B_202E_202E_200B_202C_200B_202B_200C_206E_206A_200B_200F_206A_202C_200E_200B_200B_202D_206C_202C_200D_200C_206A_200D_202A_202C_202D_206B_202D_202B_202E_202A_206F_200F_202E_202D_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(842653526))); - _202B_206A_200C_202C_206F_206A_202D_202B_206B_202A_206B_200E_206D_202C_202B_202B_202D_202A_202C_202A_206D_202E_200E_206B_206A_202E_206C_200B_206F_200B_200F_202E_206C_202E_202C_202D_206B_202D_202B_206A_202E(dialogueChoice4, true); - _202A_200F_200B_202B_202A_200E_206D_200C_200C_202B_200D_200E_202E_202C_202E_202C_200E_202E_202D_206D_202B_206F_206F_206B_206C_206A_206A_200B_206C_202E_202C_202A_200B_200C_200F_200B_200B_206A_206C_200D_202E(dialogueChoice4, _202B_202C_206D_200C_200B_202E_202E_200B_202C_200B_202B_200C_206E_206A_200B_200F_206A_202C_200E_200B_200B_202D_206C_202C_200D_200C_206A_200D_202A_202C_202D_206B_202D_202B_202E_202A_206F_200F_202E_202D_202E(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(1914742090))); - _200D_202B_200F_206B_200D_206B_200B_200F_202B_206B_202B_202A_202B_200F_200F_200D_200C_206A_206B_202D_206D_206A_206D_206B_202C_200E_200E_206F_206A_202B_206D_202B_202A_206C_202E_202E_202A_200F_206C_206D_202E(dialogueChoice4, true); - list.Add(new DialogueChoiceInfo(quest4, dialogueChoice4)); - num = 897579788; - continue; - } - case 1: - { - QuestSequence? questSequence2 = _003C_003Ec__DisplayClass55_.quest.FindSequence(questProgress.Sequence); - questStep = ((questSequence2 != null) ? _202B_200C_202E_200B_202E_202E_200C_206C_200B_200F_200D_200C_202C_202E_206A_202E_202D_206E_202C_206E_206E_200B_200D_200B_206A_200E_202A_206E_200D_200F_200E_200F_200D_206C_206B_200D_200F_200B_206A_202E_202E(questSequence2).FirstOrDefault((QuestStep x) => _003C_003Ec._206B_202D_206F_202A_202B_200E_202B_202B_206D_206A_206D_202E_200D_206A_200F_202D_206D_206C_206F_202D_200C_200C_206E_206F_202D_200E_202C_200B_206E_202C_206D_206C_200F_202C_206B_200B_200F_206B_202C_202E(x) == EInteractionType.SinglePlayerDuty) : null); - num = 897579778; - continue; - } - case 6: - eAetheryteLocation = _202C_200E_206D_206E_202B_206A_202E_202B_202E_200E_202E_206A_206C_200B_202B_206A_202C_206F_202D_200E_200D_200C_206B_202B_200F_206E_200E_206F_202C_202B_206E_206D_206E_206D_206F_202B_202D_206A_202D_202A_202E(questStep); - num = ((!eAetheryteLocation.HasValue) ? 897579804 : 897579795); - continue; - case 12: - { - QuestSequence? questSequence4 = _003C_003Ec__DisplayClass55_.quest.FindSequence(questProgress.Sequence); - questStep = ((questSequence4 != null) ? _200D_200E_200D_206C_206D_200C_200F_200C_206A_206C_202A_206C_202A_200C_200C_202A_206C_202E_206C_200E_202C_202D_200E_202A_200F_200F_200E_202E_200C_200D_206C_202C_200E_200B_206E_206A_200D_200D_200C_200D_202E(questSequence4, questProgress.Step) : null); - num = 897579780; - continue; - } - case 21: - num = ((questStep != null) ? 897579780 : 897579803); - continue; - case 14: - num = ((!source.Any((EAetheryteLocation x) => _aetheryteFunctions.CanRegisterFreeOrFavoriteAetheryte(x) == AetheryteRegistrationResult.SecurityTokenFreeDestinationAvailable)) ? 897579782 : 897579805); - continue; - case 27: - num10 = FindTargetTerritoryFromQuestStep(questProgress); - if (num10.HasValue) + QuestSequence questSequence2 = quest.FindSequence(questProgress.Sequence); + if (questSequence2 != null && questSequence2.Steps.Count > 0) { - num = 897579802; - continue; + List steps = questSequence2.Steps; + questStep = steps[steps.Count - 1]; } - break; - case 15: - { - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, 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(-1507339893), Array.Empty()); - Questionable.Model.Quest quest5 = _003C_003Ec__DisplayClass55_.quest; - DialogueChoice dialogueChoice5 = _200D_200E_206A_202E_200F_206B_206D_206B_200C_200E_202D_206C_206F_200B_200C_200F_202A_202D_206D_200B_206E_206F_200F_200B_202C_200B_202B_202B_202E_206B_202C_202B_200D_206B_206A_202B_206F_206B_202B_206D_202E(); - _202B_206E_200F_202A_206A_200C_202C_200D_200D_202A_206B_202C_200D_200C_202E_206D_206D_202D_202A_202B_206D_200E_202A_202E_200D_200B_200D_200C_202A_200E_200B_202A_200C_206D_200F_202D_206C_206C_206C_202C_202E(dialogueChoice5, EDialogChoiceType.List); - _202E_206A_200D_200B_206F_206C_202A_206B_202D_200C_202A_202D_202D_206D_200B_206F_202B_202B_202E_200D_202B_202C_202A_206B_206C_206D_200D_206E_200B_206C_206D_202C_202A_206A_206E_206A_200D_200E_206D_202E_202E(dialogueChoice5, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2093996360)); - _202A_202A_202B_206A_200F_202D_202D_206E_202D_200B_206A_206A_206D_206B_202E_206B_202A_202B_206E_206C_200D_202A_206B_206F_202D_202C_200B_200B_206E_206E_202D_200C_206E_206C_202C_202B_200B_206C_200E_200F_202E(dialogueChoice5, _202B_202C_206D_200C_200B_202E_202E_200B_202C_200B_202B_200C_206E_206A_200B_200F_206A_202C_200E_200B_200B_202D_206C_202C_200D_200C_206A_200D_202A_202C_202D_206B_202D_202B_202E_202A_206F_200F_202E_202D_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1362537579))); - _202A_200F_200B_202B_202A_200E_206D_200C_200C_202B_200D_200E_202E_202C_202E_202C_200E_202E_202D_206D_202B_206F_206F_206B_206C_206A_206A_200B_206C_202E_202C_202A_200B_200C_200F_200B_200B_206A_206C_200D_202E(dialogueChoice5, _202B_202C_206D_200C_200B_202E_202E_200B_202C_200B_202B_200C_206E_206A_200B_200F_206A_202C_200E_200B_200B_202D_206C_202C_200D_200C_206A_200D_202A_202C_202D_206B_202D_202B_202E_202A_206F_200F_202E_202D_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(234500203))); - list.Add(new DialogueChoiceInfo(quest5, dialogueChoice5)); - num = 897579801; - continue; } - case 20: + if (questStep == null) { - QuestSequence? questSequence3 = _003C_003Ec__DisplayClass55_.quest.FindSequence(questProgress.Sequence); - IEnumerable enumerable = ((questSequence3 != null) ? _202B_200C_202E_200B_202E_202E_200C_206C_200B_200F_200D_200C_202C_202E_206A_202E_202D_206E_202C_206E_206E_200B_200D_200B_206A_200E_202A_206E_200D_200F_200E_200F_200D_206C_206B_200D_200F_200B_206A_202E_202E(questSequence3).SelectMany((QuestStep x) => _003C_003Ec._200C_202A_206B_202A_202C_200E_200B_202A_206F_206A_206F_200E_206A_202D_200C_200D_202A_202E_200D_206C_206C_200D_206A_206B_202B_202E_206E_202E_202B_206D_200F_206B_206D_206B_206A_206D_200C_200D_206D_206F_202E(x)) : null); - if (enumerable != null) + _logger.LogDebug("Ignoring current quest dialogue choices, no active step"); + } + else + { + list.AddRange(questStep.DialogueChoices.Select((DialogueChoice x) => new DialogueChoiceInfo(quest, x))); + if (questStep.PurchaseMenu != null) { - list.AddRange(enumerable.Select(_003C_003Ec__DisplayClass55_._003CHandleListChoice_003Eb__5)); + list.Add(new DialogueChoiceInfo(quest, new DialogueChoice + { + Type = EDialogChoiceType.List, + ExcelSheet = questStep.PurchaseMenu.ExcelSheet, + Prompt = null, + Answer = questStep.PurchaseMenu.Key + })); } - flag = questSequence3 != null && _202B_200C_202E_200B_202E_202E_200C_206C_200B_200F_200D_200C_202C_202E_206A_202E_202D_206E_202C_206E_206E_200B_200D_200B_206A_200E_202A_206E_200D_200F_200E_200F_200D_206C_206B_200D_200F_200B_206A_202E_202E(questSequence3).Any((QuestStep x) => _003C_003Ec._206B_202D_206F_202A_202B_200E_202B_202B_206D_206A_206D_202E_200D_206A_200F_202D_206D_206C_206F_202D_200C_200C_206E_206F_202D_200E_202C_200B_206E_202C_206D_206C_200F_202C_206B_200B_200F_206B_202C_202E(x) == EInteractionType.UnlockTaxiStand); - source = ((questSequence3 != null) ? (from x in _202B_200C_202E_200B_202E_202E_200C_206C_200B_200F_200D_200C_202C_202E_206A_202E_202D_206E_202C_206E_206E_200B_200D_200B_206A_200E_202A_206E_200D_200F_200E_200F_200D_206C_206B_200D_200F_200B_206A_202E_202E(questSequence3).Where(delegate(QuestStep x) - { - int num37 = ((x == null) ? (-59017433) : (-59017434)); - while (true) - { - int num38 = num37; - int num39 = -59017433; - int num40 = num38; - switch ((num40 | num39) - (num40 & num39)) - { - case 2: - return _003C_003Ec._202B_202B_206C_200D_202B_200D_206D_202D_200C_200B_200F_202A_206C_202D_206B_206E_202A_200D_200B_206E_202E_202A_202B_200B_206E_202D_202C_206B_202A_200C_200D_202D_200B_200E_202E_202B_200E_200B_200E_202B_202E(x).HasValue; - case 1: - num37 = ((_003C_003Ec._206B_202D_206F_202A_202B_200E_202B_202B_206D_206A_206D_202E_200D_206A_200F_202D_206D_206C_206F_202D_200C_200C_206E_206F_202D_200E_202C_200B_206E_202C_206D_206C_200F_202C_206B_200B_200F_206B_202C_202E(x) != EInteractionType.RegisterFreeOrFavoredAetheryte) ? (-59017433) : (-59017435)); - break; - case 3: - num37 = -59017434; - break; - case 0: - return false; - } - } - }) - select _003C_003Ec._202B_202B_206C_200D_202B_200D_206D_202D_200C_200B_200F_202A_206C_202D_206B_206E_202A_200D_200B_206E_202E_202A_202B_200B_206E_202D_202C_206B_202A_200C_200D_202D_200B_200E_202E_202B_200E_200B_200E_202B_202E(x).Value).ToList() : null) ?? new List(); - num = 897579794; - continue; - } - case 0: - { - List list4 = _202C_206F_200B_206E_200D_200B_206B_202A_200E_206D_200F_202E_202C_206D_202C_200F_206B_206C_202C_202D_200B_202B_206F_202B_202A_206B_206B_200F_202C_206A_202B_202A_206A_202C_202E_200D_206D_200E_202E_206C_202E(questSequence); - questStep = list4[list4.Count - 1]; - num = 897579787; - continue; - } - case 8: - num = ((_202A_206C_200B_202D_206C_206E_206C_200F_200E_202B_206E_206D_200C_206E_206A_206C_202C_206F_200F_206A_200B_206F_200B_202B_200B_206B_200B_202E_202D_200B_202A_200E_206E_206C_202D_202B_200E_200E_200B_200E_202E(questStep) != EInteractionType.RegisterFreeOrFavoredAetheryte) ? 897579804 : 897579793); - continue; - case 22: - questStep = null; - num = ((!_territoryData.IsQuestBattleInstance(_200D_206E_200C_200C_202A_200B_200E_202D_206E_206E_200E_200D_206D_200C_202B_200B_202A_206F_206F_206F_206C_206B_200C_200B_200F_200E_200D_200E_206B_202E_200E_200C_206E_200C_206F_206E_202B_206D_206B_202E(_clientState))) ? 897579778 : 897579798); - continue; - case 28: - num = ((questStep != null) ? 897579783 : 897579790); - continue; - case 26: - num = ((_202B_200C_202E_200B_202E_202E_200C_206C_200B_200F_200D_200C_202C_202E_206A_202E_202D_206E_202C_206E_206E_200B_200D_200B_206A_200E_202A_206E_200D_200F_200E_200F_200D_206C_206B_200D_200F_200B_206A_202E_202E(questSequence).Count <= 0) ? 897579787 : 897579799); - continue; - case 5: - num = ((!flag) ? 897579801 : 897579800); - continue; - case 13: - { - using (List.Enumerator enumerator = answers.GetEnumerator()) + if (questStep != null && questStep.InteractionType == EInteractionType.RegisterFreeOrFavoredAetheryte) { - num = -827856624; - while (true) + EAetheryteLocation? aetheryte = questStep.Aetheryte; + if (aetheryte.HasValue) { - int num7 = num; - num3 = -827856623; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 1: - num = (enumerator.MoveNext() ? (-827856622) : (-827856620)); - break; - case 3: - current = enumerator.Current; - num = ((current == null) ? (-827856624) : (-827856619)); - break; - case 2: - { - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1614302542), new object[2] { warpId, warpText }); - Questionable.Model.Quest quest = _003C_003Ec__DisplayClass55_.quest; - DialogueChoice dialogueChoice = _200D_200E_206A_202E_200F_206B_206D_206B_200C_200E_202D_206C_206F_200B_200C_200F_202A_202D_206D_200B_206E_206F_200F_200B_202C_200B_202B_202B_202E_206B_202C_202B_200D_206B_206A_202B_206F_206B_202B_206D_202E(); - _202B_206E_200F_202A_206A_200C_202C_200D_200D_202A_206B_202C_200D_200C_202E_206D_206D_202D_202A_202B_206D_200E_202A_202E_200D_200B_200D_200C_202A_200E_200B_202A_200C_206D_200F_202D_206C_206C_206C_202C_202E(dialogueChoice, EDialogChoiceType.List); - _202E_206A_200D_200B_206F_206C_202A_206B_202D_200C_202A_202D_202D_206D_200B_206F_202B_202B_202E_200D_202B_202C_202A_206B_206C_206D_200D_206E_200B_206C_206D_202C_202A_206A_206E_206A_200D_200E_206D_202E_202E(dialogueChoice, (string)null); - _202A_202A_202B_206A_200F_202D_202D_206E_202D_200B_206A_206A_206D_206B_202E_206B_202A_202B_206E_206C_200D_202A_206B_206F_202D_202C_200B_200B_206E_206E_202D_200C_206E_206C_202C_202B_200B_206C_200E_200F_202E(dialogueChoice, (ExcelRef)null); - _202A_200F_200B_202B_202A_200E_206D_200C_200C_202B_200D_200E_202E_202C_202E_202C_200E_202E_202D_206D_202B_206F_206F_206B_206C_206A_206A_200B_206C_202E_202C_202A_200B_200C_200F_200B_200B_206A_206C_200D_202E(dialogueChoice, _206D_206F_206D_206E_206B_206A_206C_206D_206C_202D_200D_202E_202C_206C_200F_200C_202B_200F_206E_202C_206F_200B_206C_206E_202C_202C_206E_202B_206E_206F_200C_200B_206E_202B_200C_200B_206B_202C_200E_206B_202E(warpText)); - list.Add(new DialogueChoiceInfo(quest, dialogueChoice)); - num = -827856624; - break; - } - case 4: - num = ((!TryFindWarp(num10.Value, current, out warpId, out warpText)) ? (-827856624) : (-827856621)); - break; - case 0: - num = -827856624; - break; - case 5: - goto end_IL_07ef; - } - continue; - end_IL_07ef: - break; + EAetheryteLocation valueOrDefault = aetheryte.GetValueOrDefault(); + int num = 1; + List list3 = new List(num); + CollectionsMarshal.SetCount(list3, num); + CollectionsMarshal.AsSpan(list3)[0] = valueOrDefault; + source = list3; } } - break; + flag = questStep.InteractionType == EInteractionType.UnlockTaxiStand; } + } + if (flag) + { + _logger.LogDebug("Adding chocobo taxi stand unlock dialogue choices"); + list.Add(new DialogueChoiceInfo(quest, new DialogueChoice + { + Type = EDialogChoiceType.List, + ExcelSheet = "transport/ChocoboTaxiStand", + Prompt = ExcelRef.FromKey("TEXT_CHOCOBOTAXISTAND_00000_Q1_000_1"), + Answer = ExcelRef.FromKey("TEXT_CHOCOBOTAXISTAND_00000_A1_000_3") + })); + } + if (source.Any((EAetheryteLocation x) => _aetheryteFunctions.CanRegisterFreeOrFavoriteAetheryte(x) == AetheryteRegistrationResult.SecurityTokenFreeDestinationAvailable)) + { + _logger.LogDebug("Adding security token aetheryte unlock dialogue choice"); + list.Add(new DialogueChoiceInfo(quest, new DialogueChoice + { + Type = EDialogChoiceType.List, + ExcelSheet = "transport/Aetheryte", + Prompt = ExcelRef.FromKey("TEXT_AETHERYTE_MAINMENU_TITLE"), + PromptIsRegularExpression = true, + Answer = ExcelRef.FromKey("TEXT_AETHERYTE_REGISTER_TOKEN_FAVORITE"), + AnswerIsRegularExpression = true + })); + } + else if (source.Any((EAetheryteLocation x) => _aetheryteFunctions.CanRegisterFreeOrFavoriteAetheryte(x) == AetheryteRegistrationResult.FavoredDestinationAvailable)) + { + _logger.LogDebug("Adding favored aetheryte unlock dialogue choice"); + list.Add(new DialogueChoiceInfo(quest, new DialogueChoice + { + Type = EDialogChoiceType.List, + ExcelSheet = "transport/Aetheryte", + Prompt = ExcelRef.FromKey("TEXT_AETHERYTE_MAINMENU_TITLE"), + PromptIsRegularExpression = true, + Answer = ExcelRef.FromKey("TEXT_AETHERYTE_REGISTER_FAVORITE"), + AnswerIsRegularExpression = true + })); + } + ushort? num2 = FindTargetTerritoryFromQuestStep(questProgress); + if (num2.HasValue) + { + foreach (string answer in answers) + { + if (answer != null && TryFindWarp(num2.Value, answer, out uint? warpId, out string warpText)) + { + _logger.LogDebug("Adding warp {Id}, {Prompt}", warpId, warpText); + list.Add(new DialogueChoiceInfo(quest, new DialogueChoice + { + Type = EDialogChoiceType.List, + ExcelSheet = null, + Prompt = null, + Answer = ExcelRef.FromSheetValue(warpText) + })); + } } - break; } } else { - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1928126356), Array.Empty()); + _logger.LogDebug("Ignoring current quest dialogue choices, no active quest"); } - IGameObject gameObject = _206E_206B_206B_200F_206F_200C_206E_206C_202A_202E_202A_206D_206A_206B_206F_206A_200D_200B_202E_202C_206F_200D_206E_206D_200E_206D_206B_202E_202E_202E_202C_202E_200B_200E_200E_200E_200C_202C_200E_200C_202E(_targetManager); - if (gameObject != null) + IGameObject target = _targetManager.Target; + if (target != null) { - IEnumerator enumerator2 = (from x in _questData.GetAllByIssuerDataId(_206B_202D_202B_206A_200C_202C_206B_206C_206E_200E_202C_202A_202D_206E_206C_200D_202A_206F_200E_206B_206B_206A_202B_202C_202C_200B_200C_202B_202B_200D_200C_202E_206D_206F_202B_200B_200B_200F_202C_206C_202E(gameObject)) + foreach (IQuestInfo item in from x in _questData.GetAllByIssuerDataId(target.BaseId) where x.QuestId is QuestId - select x).GetEnumerator(); - try + select x) { - num = 820791829; - _003C_003Ec__DisplayClass55_1 _003C_003Ec__DisplayClass55_2 = default(_003C_003Ec__DisplayClass55_1); - List list5 = default(List); - IQuestInfo current2 = default(IQuestInfo); - while (true) + if (!_questFunctions.IsReadyToAcceptQuest(item.QuestId) || !_questRegistry.TryGetQuest(item.QuestId, out Questionable.Model.Quest knownQuest)) { - int num12 = num; - int num3 = 820791831; - int num4 = num12; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = (_206C_206B_202B_206D_200F_202A_200B_202C_206B_206D_202B_202C_206A_206E_202C_206A_206B_202C_206E_206C_202D_206C_200E_202A_200B_200B_200C_200E_202D_206D_200B_202E_206C_202E_200B_200B_200D_206D_200E_202C_202E((IEnumerator)enumerator2) ? 820791826 : 820791828); - break; - case 7: - { - QuestSequence? questSequence5 = _003C_003Ec__DisplayClass55_2.knownQuest.FindSequence(0); - list5 = ((questSequence5 != null) ? _202B_200C_202E_200B_202E_202E_200C_206C_200B_200F_200D_200C_202C_202E_206A_202E_202D_206E_202C_206E_206E_200B_200D_200B_206A_200E_202A_206E_200D_200F_200E_200F_200D_206C_206B_200D_200F_200B_206A_202E_202E(questSequence5).SelectMany((QuestStep x) => _003C_003Ec._200C_202A_206B_202A_202C_200E_200B_202A_206F_206A_206F_200E_206A_202D_200C_200D_202A_202E_200D_206C_206C_200D_206A_206B_202B_202E_206E_202E_202B_206D_200F_206B_206D_206B_206A_206D_200C_200D_206D_206F_202E(x)).ToList() : null); - num = ((list5 == null) ? 820791829 : 820791825); - break; - } - case 0: - num = ((!_questRegistry.TryGetQuest(current2.QuestId, out _003C_003Ec__DisplayClass55_2.knownQuest)) ? 820791829 : 820791824); - break; - case 5: - current2 = enumerator2.Current; - _003C_003Ec__DisplayClass55_2 = new _003C_003Ec__DisplayClass55_1(); - num = ((!_questFunctions.IsReadyToAcceptQuest(current2.QuestId)) ? 820791829 : 820791831); - break; - case 6: - num = ((list5.Count <= 0) ? 820791829 : 820791830); - break; - case 1: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(638333770), new object[2] { list5.Count, current2.Name }); - list.AddRange(list5.Select(_003C_003Ec__DisplayClass55_2._003CHandleListChoice_003Eb__13)); - num = 820791829; - break; - case 4: - num = 820791829; - break; - case 3: - goto end_IL_09aa; - } continue; - end_IL_09aa: - break; } - } - finally - { - num = ((enumerator2 == null) ? 1718720169 : 1718720170); - while (true) + List list4 = knownQuest.FindSequence(0)?.Steps.SelectMany((QuestStep x) => x.DialogueChoices).ToList(); + if (list4 != null && list4.Count > 0) { - int num13 = num; - int num3 = 1718720171; - int num4 = num13; - int num14 = num4 + num3; - int num15 = num4 & num3; - switch (num14 - (num15 + num15)) - { - case 2: - goto end_IL_0b9f; - case 1: - _202B_206A_200F_206A_206C_202C_206D_202D_200E_202C_200F_202A_202A_206B_200D_206B_206E_202D_202B_200C_202E_200B_200D_206C_200B_206E_206D_206B_202C_200D_200C_206F_202B_200D_200F_206E_206E_200E_202E_202D_202E((IDisposable)enumerator2); - num = 1718720169; - break; - case 0: - num = 1718720170; - break; - } - continue; - end_IL_0b9f: - break; + _logger.LogDebug("Adding {Count} dialogue choices from not accepted quest {QuestName}", list4.Count, item.Name); + list.AddRange(list4.Select((DialogueChoice x) => new DialogueChoiceInfo(knownQuest, x))); } } } - num = ((!_fateController.IsRunning) ? (-1183571135) : (-1183571133)); - List list6 = default(List); - ushort? smartNavDestTerritoryId = default(ushort?); - string current3 = default(string); - uint? warpId2 = default(uint?); - string warpText2 = default(string); - while (true) + if (_fateController.IsRunning) { - int num16 = num; - int num3 = -1183571136; - int num4 = num16; - switch ((num4 | num3) - (num4 & num3)) + List list5 = _fateController.CurrentFate?.TransformDialogueChoices; + if (list5 != null) { - default: - continue; - case 2: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1083305359), new object[1] { list6.Count }); - list.AddRange(list6.Select((DialogueChoice x) => new DialogueChoiceInfo(null, x))); - num = -1183571135; - continue; - case 1: - smartNavDestTerritoryId = SmartNavDestTerritoryId; - if (smartNavDestTerritoryId.HasValue) - { - num = -1183571132; - continue; - } - break; - case 0: - num = -1183571133; - continue; - case 3: - { - FateDefinition? currentFate = _fateController.CurrentFate; - list6 = ((currentFate != null) ? _202C_200F_202B_202C_200F_202E_206A_200E_200D_206E_206C_202A_202C_202B_206D_202C_200D_206F_200B_202E_202B_202E_200F_202C_200F_200E_200E_202B_206A_206A_202A_202D_200D_200F_200E_206A_200B_202B_206D_202A_202E(currentFate) : null); - num = ((list6 == null) ? (-1183571135) : (-1183571134)); - continue; + _logger.LogDebug("Adding {Count} dialogue choices from active FATE", list5.Count); + list.AddRange(list5.Select((DialogueChoice x) => new DialogueChoiceInfo(null, x))); } - case 4: + } + ushort? smartNavDestTerritoryId = SmartNavDestTerritoryId; + if (smartNavDestTerritoryId.HasValue) + { + ushort valueOrDefault2 = smartNavDestTerritoryId.GetValueOrDefault(); + foreach (string answer2 in answers) { - ushort valueOrDefault2 = smartNavDestTerritoryId.GetValueOrDefault(); - using (List.Enumerator enumerator = answers.GetEnumerator()) + if (answer2 != null && TryFindWarp(valueOrDefault2, answer2, out uint? warpId2, out string warpText2)) { - num = -1608964332; - while (true) + _logger.LogDebug("SmartNav: Adding warp {Id}, {Text} for list selection", warpId2, warpText2); + list.Add(new DialogueChoiceInfo(null, new DialogueChoice { - int num17 = num; - num3 = -1608964332; - num4 = num17; - int num18 = num4 + num3; - int num19 = num4 & num3; - switch (num18 - (num19 + num19)) - { - case 2: - num = ((!TryFindWarp(valueOrDefault2, current3, out warpId2, out warpText2)) ? (-1608964332) : (-1608964335)); - break; - case 1: - current3 = enumerator.Current; - num = ((current3 == null) ? (-1608964332) : (-1608964330)); - break; - case 0: - num = (enumerator.MoveNext() ? (-1608964331) : (-1608964329)); - break; - case 5: - { - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, 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(-609989729), new object[2] { warpId2, warpText2 }); - DialogueChoice dialogueChoice6 = _200D_200E_206A_202E_200F_206B_206D_206B_200C_200E_202D_206C_206F_200B_200C_200F_202A_202D_206D_200B_206E_206F_200F_200B_202C_200B_202B_202B_202E_206B_202C_202B_200D_206B_206A_202B_206F_206B_202B_206D_202E(); - _202B_206E_200F_202A_206A_200C_202C_200D_200D_202A_206B_202C_200D_200C_202E_206D_206D_202D_202A_202B_206D_200E_202A_202E_200D_200B_200D_200C_202A_200E_200B_202A_200C_206D_200F_202D_206C_206C_206C_202C_202E(dialogueChoice6, EDialogChoiceType.List); - _202A_202A_202B_206A_200F_202D_202D_206E_202D_200B_206A_206A_206D_206B_202E_206B_202A_202B_206E_206C_200D_202A_206B_206F_202D_202C_200B_200B_206E_206E_202D_200C_206E_206C_202C_202B_200B_206C_200E_200F_202E(dialogueChoice6, (ExcelRef)null); - _202A_200F_200B_202B_202A_200E_206D_200C_200C_202B_200D_200E_202E_202C_202E_202C_200E_202E_202D_206D_202B_206F_206F_206B_206C_206A_206A_200B_206C_202E_202C_202A_200B_200C_200F_200B_200B_206A_206C_200D_202E(dialogueChoice6, _206D_206F_206D_206E_206B_206A_206C_206D_206C_202D_200D_202E_202C_206C_200F_200C_202B_200F_206E_202C_206F_200B_206C_206E_202C_202C_206E_202B_206E_206F_200C_200B_206E_202B_200C_200B_206B_202C_200E_206B_202E(warpText2)); - list.Add(new DialogueChoiceInfo(null, dialogueChoice6)); - num = -1608964332; - break; - } - case 4: - num = -1608964332; - break; - case 3: - goto end_IL_0d35; - } - continue; - end_IL_0d35: - break; - } + Type = EDialogChoiceType.List, + Prompt = null, + Answer = ExcelRef.FromSheetValue(warpText2) + })); } - break; } - } - break; } string smartNavTaxiDestPlaceName = SmartNavTaxiDestPlaceName; if (smartNavTaxiDestPlaceName != null) { - using List.Enumerator enumerator = answers.GetEnumerator(); - num = 1140002236; - string current4 = default(string); - while (true) + foreach (string answer3 in answers) { - int num20 = num; - int num3 = 1140002233; - int num4 = num20; - switch ((num4 | num3) - (num4 & num3)) + if (answer3 != null && GameFunctions.GameStringEquals(answer3, smartNavTaxiDestPlaceName)) { - case 4: - { - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1976115373), new object[1] { smartNavTaxiDestPlaceName }); - DialogueChoice dialogueChoice7 = _200D_200E_206A_202E_200F_206B_206D_206B_200C_200E_202D_206C_206F_200B_200C_200F_202A_202D_206D_200B_206E_206F_200F_200B_202C_200B_202B_202B_202E_206B_202C_202B_200D_206B_206A_202B_206F_206B_202B_206D_202E(); - _202B_206E_200F_202A_206A_200C_202C_200D_200D_202A_206B_202C_200D_200C_202E_206D_206D_202D_202A_202B_206D_200E_202A_202E_200D_200B_200D_200C_202A_200E_200B_202A_200C_206D_200F_202D_206C_206C_206C_202C_202E(dialogueChoice7, EDialogChoiceType.List); - _202A_202A_202B_206A_200F_202D_202D_206E_202D_200B_206A_206A_206D_206B_202E_206B_202A_202B_206E_206C_200D_202A_206B_206F_202D_202C_200B_200B_206E_206E_202D_200C_206E_206C_202C_202B_200B_206C_200E_200F_202E(dialogueChoice7, (ExcelRef)null); - _202A_200F_200B_202B_202A_200E_206D_200C_200C_202B_200D_200E_202E_202C_202E_202C_200E_202E_202D_206D_202B_206F_206F_206B_206C_206A_206A_200B_206C_202E_202C_202A_200B_200C_200F_200B_200B_206A_206C_200D_202E(dialogueChoice7, _206D_206F_206D_206E_206B_206A_206C_206D_206C_202D_200D_202E_202C_206C_200F_200C_202B_200F_206E_202C_206F_200B_206C_206E_202C_202C_206E_202B_206E_206F_200C_200B_206E_202B_200C_200B_206B_202C_200E_206B_202E(smartNavTaxiDestPlaceName)); - list.Add(new DialogueChoiceInfo(null, dialogueChoice7)); - num = 1140002236; - break; + _logger.LogDebug("SmartNav: Adding taxi destination {Dest} for list selection", smartNavTaxiDestPlaceName); + list.Add(new DialogueChoiceInfo(null, new DialogueChoice + { + Type = EDialogChoiceType.List, + Prompt = null, + Answer = ExcelRef.FromSheetValue(smartNavTaxiDestPlaceName) + })); } - case 2: - num = ((!GameFunctions.GameStringEquals(current4, smartNavTaxiDestPlaceName)) ? 1140002236 : 1140002237); - break; - case 1: - current4 = enumerator.Current; - num = ((current4 == null) ? 1140002236 : 1140002235); - break; - case 3: - num = 1140002236; - break; - case 5: - num = (enumerator.MoveNext() ? 1140002232 : 1140002233); - break; - case 0: - goto end_IL_0e8a; - } - continue; - end_IL_0e8a: - break; } } string aethernetDestinationName = AethernetDestinationName; if (aethernetDestinationName != null) { - using List.Enumerator enumerator = answers.GetEnumerator(); - num = -62641593; - string current5 = default(string); - while (true) + foreach (string answer4 in answers) { - int num21 = num; - int num3 = -62641598; - int num4 = num21; - switch ((num4 | num3) - (num4 & num3)) + if (answer4 != null && GameFunctions.GameStringEquals(answer4, aethernetDestinationName)) { - case 2: - num = -62641593; - break; - case 0: - num = ((!GameFunctions.GameStringEquals(current5, aethernetDestinationName)) ? (-62641593) : (-62641594)); - break; - case 4: - { - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-588273048), new object[1] { aethernetDestinationName }); - DialogueChoice dialogueChoice8 = _200D_200E_206A_202E_200F_206B_206D_206B_200C_200E_202D_206C_206F_200B_200C_200F_202A_202D_206D_200B_206E_206F_200F_200B_202C_200B_202B_202B_202E_206B_202C_202B_200D_206B_206A_202B_206F_206B_202B_206D_202E(); - _202B_206E_200F_202A_206A_200C_202C_200D_200D_202A_206B_202C_200D_200C_202E_206D_206D_202D_202A_202B_206D_200E_202A_202E_200D_200B_200D_200C_202A_200E_200B_202A_200C_206D_200F_202D_206C_206C_206C_202C_202E(dialogueChoice8, EDialogChoiceType.List); - _202A_202A_202B_206A_200F_202D_202D_206E_202D_200B_206A_206A_206D_206B_202E_206B_202A_202B_206E_206C_200D_202A_206B_206F_202D_202C_200B_200B_206E_206E_202D_200C_206E_206C_202C_202B_200B_206C_200E_200F_202E(dialogueChoice8, (ExcelRef)null); - _202A_200F_200B_202B_202A_200E_206D_200C_200C_202B_200D_200E_202E_202C_202E_202C_200E_202E_202D_206D_202B_206F_206F_206B_206C_206A_206A_200B_206C_202E_202C_202A_200B_200C_200F_200B_200B_206A_206C_200D_202E(dialogueChoice8, _206D_206F_206D_206E_206B_206A_206C_206D_206C_202D_200D_202E_202C_206C_200F_200C_202B_200F_206E_202C_206F_200B_206C_206E_202C_202C_206E_202B_206E_206F_200C_200B_206E_202B_200C_200B_206B_202C_200E_206B_202E(aethernetDestinationName)); - list.Add(new DialogueChoiceInfo(null, dialogueChoice8)); - num = -62641593; - break; + _logger.LogDebug("SmartNav: Adding aethernet destination {Dest} for list selection", aethernetDestinationName); + list.Add(new DialogueChoiceInfo(null, new DialogueChoice + { + Type = EDialogChoiceType.List, + Prompt = null, + Answer = ExcelRef.FromSheetValue(aethernetDestinationName) + })); } - case 5: - num = (enumerator.MoveNext() ? (-62641597) : (-62641599)); - break; - case 1: - current5 = enumerator.Current; - num = ((current5 == null) ? (-62641593) : (-62641598)); - break; - case 3: - goto end_IL_0fce; + } + } + if (_seasonalDutyController.IsRunning) + { + List list6 = _seasonalDutyController.CurrentDuty?.DialogueChoices; + if (list6 != null && list6.Count > 0) + { + _logger.LogDebug("Adding {Count} dialogue choices from active seasonal duty", list6.Count); + list.AddRange(list6.Select((DialogueChoice x) => new DialogueChoiceInfo(null, x))); + } + } + if (list.Count == 0) + { + _logger.LogDebug("No dialogue choices to check"); + return null; + } + foreach (var (quest3, dialogueChoice2) in list) + { + if (dialogueChoice2.Type != EDialogChoiceType.List) + { + continue; + } + if (dialogueChoice2.SpecialCondition == "NoDutyActions") + { + try + { + ContentDirector* contentDirector = EventFramework.Instance()->GetContentDirector(); + if (contentDirector != null && contentDirector->DutyActionManager.ActionsPresent) + { + _logger.LogDebug("NoDutyActions: actions present, skipping dialogue choice"); + continue; + } + } + catch (Exception exception) + { + _logger.LogError(exception, "Failed to check for duty actions"); + continue; + } + } + if (dialogueChoice2.Answer == null) + { + _logger.LogDebug("Ignoring entry in DialogueChoices, no answer"); + continue; + } + if (dialogueChoice2.DataId.HasValue && dialogueChoice2.DataId != _targetManager.Target?.BaseId) + { + _logger.LogDebug("Skipping entry in DialogueChoice expecting target dataId {ExpectedDataId}, actual target is {ActualTargetId}", dialogueChoice2.DataId, _targetManager.Target?.BaseId); + continue; + } + StringOrRegex stringOrRegex = ResolveReference(quest3, dialogueChoice2.ExcelSheet, dialogueChoice2.Prompt, dialogueChoice2.PromptIsRegularExpression); + StringOrRegex stringOrRegex2 = ResolveReference(quest3, dialogueChoice2.ExcelSheet, dialogueChoice2.Answer, dialogueChoice2.AnswerIsRegularExpression); + if (actualPrompt == null && stringOrRegex != null) + { + _logger.LogDebug("Unexpected excelPrompt: {ExcelPrompt}", stringOrRegex); + continue; + } + if (actualPrompt != null && stringOrRegex != null && !IsMatch(actualPrompt, stringOrRegex)) + { + _logger.LogDebug("Unexpected excelPrompt: {ExcelPrompt}, actualPrompt: {ActualPrompt}", stringOrRegex, actualPrompt); + int? num3 = TryFindAnswerMatchIndex(answers, stringOrRegex2, dialogueChoice2.AnswerIsRegularExpression, quest3, dialogueChoice2); + if (num3.HasValue) + { + list2.Add(num3.Value); } continue; - end_IL_0fce: - break; } - } - num = ((!_seasonalDutyController.IsRunning) ? (-1526467600) : (-1526467595)); - List list7 = default(List); - Questionable.Model.Quest quest7 = default(Questionable.Model.Quest); - DialogueChoice dialogueChoice10 = default(DialogueChoice); - StringOrRegex stringOrRegex = default(StringOrRegex); - int? num31 = default(int?); - StringOrRegex stringOrRegex2 = default(StringOrRegex); - int num27 = default(int); - int? num35 = default(int?); - while (true) - { - int num22 = num; - int num3 = -1526467599; - int num4 = num22; - switch ((num4 | num3) - (num4 & num3)) + if (dialogueChoice2.AnswerIsRegularExpression && stringOrRegex2 != null) { - case 6: - num = ((list7.Count <= 0) ? (-1526467600) : (-1526467598)); - break; - case 4: - { - SeasonalDutyDefinition? currentDuty = _seasonalDutyController.CurrentDuty; - list7 = ((currentDuty != null) ? _200F_200D_206C_200E_206F_202B_200D_206E_200B_206D_202D_206A_206D_200C_202D_206F_206D_206E_206D_206F_206D_202C_200E_200E_200F_200B_200D_206F_200E_200C_206D_206F_206D_206D_200E_206A_206A_206D_200E_206D_202E(currentDuty) : null); - num = ((list7 == null) ? (-1526467600) : (-1526467593)); - break; - } - case 2: - num = -1526467595; - break; - case 1: - num = ((list.Count != 0) ? (-1526467596) : (-1526467599)); - break; - case 3: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1534056102), new object[1] { list7.Count }); - list.AddRange(list7.Select((DialogueChoice x) => new DialogueChoiceInfo(null, x))); - num = -1526467600; - break; - case 0: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2104605404), Array.Empty()); - return null; - case 5: - { - using (List.Enumerator enumerator3 = list.GetEnumerator()) + int? num4 = FindBestRegexMatch(answers, stringOrRegex2, quest3, dialogueChoice2); + if (!num4.HasValue) { - while (true) - { - IL_182f: - if (enumerator3.MoveNext()) - { - (quest7, dialogueChoice10) = enumerator3.Current; - if (_202B_202C_206E_206A_202D_200E_202C_202B_200F_202E_202B_200B_202B_200E_206E_200B_206C_206F_206A_206B_206E_202E_206C_200D_202E_202B_206F_206A_206F_200E_202C_206A_206F_202B_206C_206C_202C_206D_202D_202C_202E(dialogueChoice10) != EDialogChoiceType.List) - { - continue; - } - if (_202B_200C_200D_200F_202A_206A_206C_206A_202D_206F_200B_200F_200D_206E_202D_200D_202D_200D_206C_200E_206A_202B_202B_206E_206D_206B_206D_202A_202A_200D_202B_202C_200F_202E_206A_200F_202A_206D_206A_206C_202E(_206A_200B_206D_206D_206B_200F_206E_202D_206D_202B_202B_206A_206C_200E_206A_206E_206F_202A_206A_200C_206E_202A_200C_202C_206C_200C_202B_202D_200D_202C_200F_200B_202C_206D_202A_200B_200F_200D_200F_206E_202E(dialogueChoice10), 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(-1063732664))) - { - try - { - ContentDirector* contentDirector = EventFramework.Instance()->GetContentDirector(); - num = ((contentDirector == null) ? 665372634 : 665372633); - while (true) - { - int num23 = num; - num3 = 665372632; - num4 = num23; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 665372633; - break; - case 3: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, 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(1750706886), Array.Empty()); - goto IL_182f; - case 1: - num = ((!contentDirector->DutyActionManager.ActionsPresent) ? 665372634 : 665372635); - break; - case 2: - goto end_IL_12e9; - } - continue; - end_IL_12e9: - break; - } - } - catch (Exception ex) - { - _206C_202C_200D_200B_200B_200B_202B_206B_202B_206B_200F_202E_202B_202C_206F_200E_202B_202B_200B_206B_202A_206D_202B_206A_200B_206C_206C_202A_206C_200F_202E_202E_206E_200F_202E_200D_200D_200E_200F_200F_202E((ILogger)_logger, ex, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2069415584), Array.Empty()); - continue; - } - } - num = ((_200B_206B_202B_200F_200F_200E_206B_202D_206F_206A_200B_200C_200F_206C_200F_202E_200E_202E_206A_202C_206B_206E_202B_200E_200B_202B_202B_200C_206D_206A_206E_202E_200E_202E_202E_206F_200E_202B_206A_206E_202E(dialogueChoice10) != null) ? 426070677 : 426070674); - } - else - { - num = 426070686; - } - while (true) - { - int num24 = num; - num3 = 426070681; - num4 = num24; - int num25 = num4 + num3; - int num26 = num4 & num3; - switch (num25 - (num26 + num26)) - { - default: - continue; - case 14: - num = ((stringOrRegex == null) ? 426070683 : 426070676); - continue; - case 23: - num = ((actualPrompt == null) ? 426070685 : 426070678); - continue; - case 8: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, 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(-478958355), new object[3] - { - num31.Value, - answers[num31.Value], - actualPrompt - }); - return num31.Value; - case 1: - num = ((stringOrRegex2 == null) ? 426070670 : 426070672); - continue; - case 6: - num = (IsMatch(actualPrompt, stringOrRegex2) ? 426070685 : 426070664); - continue; - case 9: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1880137339), new object[1] { stringOrRegex2 }); - num = 426070666; - continue; - case 0: - { - int num32 = num27; - num3 = 1; - num4 = num32; - int num33 = num4 ^ num3; - int num34 = num4 & num3; - num27 = num33 + (num34 + num34); - num = 426070684; - continue; - } - case 20: - num = 426070674; - continue; - case 10: - { - ILogger logger = _logger; - string text = 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(78334962); - object[] obj = new object[2] - { - _206D_206A_206E_200B_200D_202E_200D_206E_206F_200E_202A_202A_200E_206D_202D_206D_206D_202B_206C_206F_202A_206F_206E_202B_206B_202A_200C_202C_200C_202E_202B_200F_206A_200B_206F_200F_202E_206A_202A_206C_202E(dialogueChoice10), - null - }; - IGameObject gameObject3 = _206E_206B_206B_200F_206F_200C_206E_206C_202A_202E_202A_206D_206A_206B_206F_206A_200D_200B_202E_202C_206F_200D_206E_206D_200E_206D_206B_202E_202E_202E_202C_202E_200B_200E_200E_200E_200C_202C_200E_200C_202E(_targetManager); - obj[1] = ((gameObject3 != null) ? new uint?(_206B_202D_202B_206A_200C_202C_206B_206C_206E_200E_202C_202A_202D_206E_206C_200D_202A_206F_200E_206B_206B_206A_202B_202C_202C_200B_200C_202B_202B_200D_200C_202E_206D_206F_202B_200B_200B_200F_202C_206C_202E(gameObject3)) : ((uint?)null)); - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)logger, text, obj); - num = 426070666; - continue; - } - case 4: - num = ((!_202A_206A_206B_200F_206F_200C_200E_202E_206C_202E_200C_200C_200B_200E_206F_200E_200E_202C_206A_202A_202D_200F_202D_202E_200D_206B_206F_200E_206A_206F_202D_200E_206E_206B_202E_200D_206B_202C_200E_200C_202E(dialogueChoice10)) ? 426070683 : 426070679); - continue; - case 11: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1814235837), Array.Empty()); - num = 426070666; - continue; - case 16: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(409856380), new object[3] - { - num27, - answers[num27], - actualPrompt - }); - return num27; - case 21: - { - uint? num28 = _206D_206A_206E_200B_200D_202E_200D_206E_206F_200E_202A_202A_200E_206D_202D_206D_206D_202B_206C_206F_202A_206F_206E_202B_206B_202A_200C_202C_200C_202E_202B_200F_206A_200B_206F_200F_202E_206A_202A_206C_202E(dialogueChoice10); - IGameObject gameObject2 = _206E_206B_206B_200F_206F_200C_206E_206C_202A_202E_202A_206D_206A_206B_206F_206A_200D_200B_202E_202C_206F_200D_206E_206D_200E_206D_206B_202E_202E_202E_202C_202E_200B_200E_200E_200E_200C_202C_200E_200C_202E(_targetManager); - uint? num29 = ((gameObject2 != null) ? new uint?(_206B_202D_202B_206A_200C_202C_206B_206C_206E_200E_202C_202A_202D_206E_206C_200D_202A_206F_200E_206B_206B_206A_202B_202C_202C_200B_200C_202B_202B_200D_200C_202E_206D_206F_202B_200B_200B_200F_202C_206C_202E(gameObject2)) : ((uint?)null)); - bool num30 = num28.GetValueOrDefault() == num29.GetValueOrDefault(); - num3 = ((num28.HasValue == num29.HasValue) ? 1 : 0); - num4 = (num30 ? 1 : 0); - num = ((num4 + num3 - (num4 | num3) != 0) ? 426070671 : 426070675); - continue; - } - case 17: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, 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(209530327), new object[2] { stringOrRegex2, actualPrompt }); - num35 = TryFindAnswerMatchIndex(answers, stringOrRegex, _202A_206A_206B_200F_206F_200C_200E_202E_206C_202E_200C_200C_200B_200E_206F_200E_200E_202C_206A_202A_202D_200F_202D_202E_200D_206B_206F_200E_206A_206F_202D_200E_206E_206B_202E_200D_206B_202C_200E_200C_202E(dialogueChoice10), quest7, dialogueChoice10); - num = ((!num35.HasValue) ? 426070666 : 426070682); - continue; - case 2: - num27 = 0; - num = 426070684; - continue; - case 22: - stringOrRegex2 = ResolveReference(quest7, _206F_202C_206F_200C_200C_200D_202A_200F_206B_206B_206C_206C_200E_200F_202A_202D_200C_202C_200C_200B_202C_206E_200F_202B_200D_206C_206A_206F_206C_202C_206E_200F_200F_202E_206F_202E_200B_206B_206B_200E_202E(dialogueChoice10), _206F_202D_200F_200B_200E_206D_200E_206A_206E_200F_202C_200D_206E_202D_200E_206C_202D_200C_202A_200D_200B_200F_200E_202B_200F_202A_206A_206E_200F_206D_206B_202E_202D_202B_200D_206F_200C_200D_206E_200E_202E(dialogueChoice10), _206C_202A_202C_202B_206A_200B_200B_206A_206B_206E_206C_202A_200E_200E_206C_206F_206C_206E_202B_200B_206F_202B_206E_202A_206A_206A_206E_206F_206C_206A_200C_206C_202C_202D_200E_206E_202D_200C_200E_206B_202E(dialogueChoice10)); - stringOrRegex = ResolveReference(quest7, _206F_202C_206F_200C_200C_200D_202A_200F_206B_206B_206C_206C_200E_200F_202A_202D_200C_202C_200C_200B_202C_206E_200F_202B_200D_206C_206A_206F_206C_202C_206E_200F_200F_202E_206F_202E_200B_206B_206B_200E_202E(dialogueChoice10), _200B_206B_202B_200F_200F_200E_206B_202D_206F_206A_200B_200C_200F_206C_200F_202E_200E_202E_206A_202C_206B_206E_202B_200E_200B_202B_202B_200C_206D_206A_206E_202E_200E_202E_202E_206F_200E_202B_206A_206E_202E(dialogueChoice10), _202A_206A_206B_200F_206F_200C_200E_202E_206C_202E_200C_200C_200B_200E_206F_200E_200E_202C_206A_202A_202D_200F_202D_202E_200D_206B_206F_200E_206A_206F_202D_200E_206E_206B_202E_200D_206B_202C_200E_200C_202E(dialogueChoice10)); - num = ((actualPrompt != null) ? 426070670 : 426070680); - continue; - case 3: - list2.Add(num35.Value); - num = 426070666; - continue; - case 12: - num = ((!_206D_206A_206E_200B_200D_202E_200D_206E_206F_200E_202A_202A_200E_206D_202D_206D_206D_202B_206C_206F_202A_206F_206E_202B_206B_202A_200C_202C_200C_202E_202B_200F_206A_200B_206F_200F_202E_206A_202A_206C_202E(dialogueChoice10).HasValue) ? 426070671 : 426070668); - continue; - case 15: - num = ((stringOrRegex2 == null) ? 426070685 : 426070687); - continue; - case 19: - break; - case 5: - num = ((num27 < answers.Count) ? 426070667 : 426070666); - continue; - case 13: - num31 = FindBestRegexMatch(answers, stringOrRegex, quest7, dialogueChoice10); - num = ((!num31.HasValue) ? 426070666 : 426070673); - continue; - case 18: - _206D_200D_200E_202C_200F_200E_202E_206B_206A_202C_206E_202E_202D_206D_206E_206E_200D_200B_200B_206C_206E_200D_200D_206F_200D_202C_202B_200D_202C_200D_200E_206A_200F_202D_202B_202C_206C_200F_200D_200F_202E((ILogger)_logger, 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(-661728963), new object[2] - { - answers[num27], - stringOrRegex - }); - num = ((!IsMatch(answers[num27], stringOrRegex)) ? 426070681 : 426070665); - continue; - case 7: - goto end_IL_13c5; - } - goto IL_182f; - continue; - end_IL_13c5: - break; - } - break; - } - } - int[] array = list2.Distinct().ToArray(); - num = ((array.Length != 1) ? (-1077307619) : (-1077307618)); - while (true) - { - int num36 = num; - num3 = -1077307617; - num4 = num36; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_1963; - case 2: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, 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(-2079227718), new object[1] { actualPrompt }); - return null; - case 1: - _206D_202E_202E_200D_202C_206A_202B_200F_202D_206F_200C_206A_206C_202A_200D_200D_202A_206D_202D_206B_202D_206F_200C_200B_206B_200F_206A_206E_202D_206B_200C_206C_200E_206A_200D_206C_200E_206F_206B_202C_202E((ILogger)_logger, 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(-1985270948), new object[3] - { - actualPrompt, - array[0], - answers[array[0]] - }); - return array[0]; - } continue; - IL_1963: - num = -1077307618; + } + _logger.LogDebug("Returning {Index}: '{Answer}' for '{Prompt}' (best regex match)", num4.Value, answers[num4.Value], actualPrompt); + return num4.Value; + } + for (int num5 = 0; num5 < answers.Count; num5++) + { + _logger.LogTrace("Checking if {ActualAnswer} == {ExpectedAnswer}", answers[num5], stringOrRegex2); + if (IsMatch(answers[num5], stringOrRegex2)) + { + _logger.LogDebug("Returning {Index}: '{Answer}' for '{Prompt}'", num5, answers[num5], actualPrompt); + return num5; } } - } } + int[] array = list2.Distinct().ToArray(); + if (array.Length == 1) + { + _logger.LogWarning("Using answer-only fallback for prompt '{Prompt}'. Selected index {Index}: '{Answer}'", actualPrompt, array[0], answers[array[0]]); + return array[0]; + } + _logger.LogDebug("No matching answer found for {Prompt}.", actualPrompt); + return null; } private static int? TryFindAnswerMatchIndex(List answers, StringOrRegex? excelAnswer, bool answerIsRegularExpression, Questionable.Model.Quest? quest, DialogueChoice dialogueChoice) { - int num = ((excelAnswer != null) ? (-1499015005) : (-1499015008)); - int num5 = default(int); - while (true) + if (excelAnswer == null) { - int num2 = num; - int num3 = -1499015002; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return null; + } + if (answerIsRegularExpression) + { + return FindBestRegexMatch(answers, excelAnswer, quest, dialogueChoice); + } + for (int i = 0; i < answers.Count; i++) + { + if (IsMatch(answers[i], excelAnswer)) { - case 1: - return FindBestRegexMatch(answers, excelAnswer, quest, dialogueChoice); - case 9: - return null; - case 4: - num = ((!IsMatch(answers[num5], excelAnswer)) ? (-1499014994) : (-1499015007)); - break; - case 0: - num = -1499015008; - break; - case 2: - num5 = 0; - num = -1499015003; - break; - case 8: - { - int num6 = num5; - num3 = 1; - num4 = num6; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - num5 = num7 + (num8 + num8); - num = -1499015003; - break; - } - case 7: - return num5; - case 6: - return null; - case 5: - num = ((!answerIsRegularExpression) ? (-1499015004) : (-1499015001)); - break; - case 3: - num = ((num5 < answers.Count) ? (-1499015006) : (-1499014993)); - break; + return i; } } + return null; } private static int? FindBestRegexMatch(List answers, StringOrRegex expectedAnswer, Questionable.Model.Quest? quest, DialogueChoice dialogueChoice) { - List list = (from x in answers.Select((string answer, int index) => new { answer, index }).Where(x => - { - int num7 = ((x.answer == null) ? 1616600266 : 1616600265); - while (true) - { - int num8 = num7; - int num9 = 1616600267; - int num10 = num8; - int num11 = num10 + num9; - int num12 = num10 & num9; - switch (num11 - (num12 + num12)) - { - case 0: - goto IL_0048; - case 1: - return false; - case 2: - return expectedAnswer.IsMatch(x.answer); - } - continue; - IL_0048: - num7 = 1616600265; - } - }) + List list = (from x in answers.Select((string answer, int index) => new { answer, index }) + where x.answer != null && expectedAnswer.IsMatch(x.answer) select x.index).ToList(); - int count = list.Count; - int num = ((count == 0) ? 1658119131 : 1658119130); - int? result = default(int?); - while (true) + return list.Count switch { - int num2 = num; - int num3 = 1658119128; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return result; - case 2: - num = ((count == 1) ? 1658119133 : 1658119129); - break; - case 3: - result = null; - num = 1658119128; - break; - case 5: - result = list[0]; - num = 1658119128; - break; - case 6: - result = GetBestMatchFromQuestPath(answers, list, quest, dialogueChoice); - num = 1658119128; - break; - case 4: - num = 1658119130; - break; - case 1: - num = 1658119134; - break; - } - } + 0 => null, + 1 => list[0], + _ => GetBestMatchFromQuestPath(answers, list, quest, dialogueChoice), + }; } private static int GetBestMatchFromQuestPath(List answers, List matchingIndexes, Questionable.Model.Quest? quest, DialogueChoice dialogueChoice) { - if (quest != null && _200B_206B_202B_200F_200F_200E_206B_202D_206F_206A_200B_200C_200F_206C_200F_202E_200E_202E_206A_202C_206B_206E_202B_200E_200B_202B_202B_200C_206D_206A_206E_202E_200E_202E_202E_206F_200E_202B_206A_206E_202E(dialogueChoice) != null) + if (quest != null && dialogueChoice.Answer != null) { try { string text = null; - int num = ((_202D_202D_206D_206C_206D_206B_206A_206F_206B_200F_206D_200E_206D_206D_206D_200C_200C_200D_202E_202A_206D_202B_202E_202D_206B_200F_202D_202D_202E_206C_202E_202D_202C_202E_200E_200F_206A_202A_206C_206D_202E(_200B_206B_202B_200F_200F_200E_206B_202D_206F_206A_200B_200C_200F_206C_200F_202E_200E_202E_206A_202C_206B_206E_202B_200E_200B_202B_202B_200C_206D_206A_206E_202E_200E_202E_202E_206F_200E_202B_206A_206E_202E(dialogueChoice)) != ExcelRef.EType.RawString) ? 716291791 : 716291789); - int current = default(int); - while (true) + if (dialogueChoice.Answer.Type == ExcelRef.EType.RawString) { - int num2 = num; - int num3 = 716291788; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + text = dialogueChoice.Answer.AsRawString(); + } + if (!string.IsNullOrEmpty(text)) + { + foreach (int matchingIndex in matchingIndexes) { - case 0: - num = 716291789; - break; - case 1: - text = _202C_200C_200B_202A_202A_202D_202C_202E_200F_206F_206A_200B_202A_202D_206A_202D_206D_202C_202B_200F_200F_200F_200C_206A_206C_200C_206B_206B_200E_202D_206F_200C_202E_206B_206F_200F_200B_206E_206C_206E_202E(_200B_206B_202B_200F_200F_200E_206B_202D_206F_206A_200B_200C_200F_206C_200F_202E_200E_202E_206A_202C_206B_206E_202B_200E_200B_202B_202B_200C_206D_206A_206E_202E_200E_202E_202E_206F_200E_202B_206A_206E_202E(dialogueChoice)); - num = 716291791; - break; - case 3: - if (!_200B_206D_200D_206B_202D_206E_200E_206C_206C_202E_206E_200D_200B_206B_206B_200F_200D_202A_202C_202C_200C_206A_206E_206F_206C_200B_206A_202A_200E_200B_200D_206B_206B_206F_206D_202C_206D_202B_202C_202A_202E(text)) + if (string.Equals(answers[matchingIndex], text, StringComparison.OrdinalIgnoreCase)) { - num = 716291790; - break; + return matchingIndex; } - goto end_IL_0049; - case 2: - { - using (List.Enumerator enumerator = matchingIndexes.GetEnumerator()) - { - num = 284785868; - while (true) - { - int num7 = num; - num3 = 284785870; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 2: - num = (enumerator.MoveNext() ? 284785871 : 284785870); - break; - case 1: - current = enumerator.Current; - num = ((!_206D_200E_200D_202D_202D_200C_200F_206B_206B_206E_202A_206A_206F_202E_202C_200F_202B_202B_206C_206D_202E_200B_206F_206A_200C_206A_200F_206D_202A_206A_200D_200F_200D_206A_200D_206A_202C_202C_200F_202C_202E(answers[current], text, StringComparison.OrdinalIgnoreCase)) ? 284785868 : 284785869); - break; - case 4: - num = 284785868; - break; - case 3: - return current; - case 0: - goto end_IL_00c9; - } - continue; - end_IL_00c9: - break; - } - } - goto end_IL_0049; } - } - continue; - end_IL_0049: - break; } } catch { } } - return matchingIndexes.OrderBy(delegate(int i) - { - string? text2 = answers[i]; - return (text2 == null) ? int.MaxValue : _003C_003Ec__DisplayClass58_0._202A_202B_206C_202A_202B_206B_206D_202D_206F_202C_200F_206B_200E_200B_202E_206B_200D_202D_206C_206E_200D_202A_206D_206E_202B_206E_206C_200D_202C_202E_200B_202D_206B_206E_200E_200D_202E_206F_206A_200C_202E(text2); - }).First(); + return matchingIndexes.OrderBy((int i) => answers[i]?.Length ?? int.MaxValue).First(); } private static bool IsMatch(string? actualAnswer, StringOrRegex? expectedAnswer) { - int num = ((actualAnswer != null) ? (-391415350) : (-391415345)); - while (true) + if (actualAnswer == null && expectedAnswer == null) { - int num2 = num; - int num3 = -391415346; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = ((actualAnswer == null) ? (-391415349) : (-391415346)); - break; - case 0: - num = ((expectedAnswer != null) ? (-391415352) : (-391415349)); - break; - case 6: - return expectedAnswer.IsMatch(actualAnswer); - case 5: - return false; - case 3: - return true; - case 2: - num = -391415345; - break; - case 1: - num = ((expectedAnswer != null) ? (-391415350) : (-391415347)); - break; - } + return true; } + if (actualAnswer == null || expectedAnswer == null) + { + return false; + } + return expectedAnswer.IsMatch(actualAnswer); } - [MethodImpl(MethodImplOptions.NoInlining)] private int? HandleInstanceListChoice(string? actualPrompt) { - string b = _excelFunctions.GetDialogueTextByRowId(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1387823594), 2090u, isRegex: false).GetString(); - int num = ((!GameFunctions.GameStringEquals(actualPrompt, b)) ? 928090522 : 928090521); - while (true) + string b = _excelFunctions.GetDialogueTextByRowId("Addon", 2090u, isRegex: false).GetString(); + if (GameFunctions.GameStringEquals(actualPrompt, b)) { - int num2 = num; - int num3 = 928090523; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_006d; - case 2: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1170365373), new object[1] { actualPrompt }); - return 0; - case 1: - return null; - } - continue; - IL_006d: - num = 928090521; + _logger.LogDebug("Selecting no prefered instance as answer for '{Prompt}'", actualPrompt); + return 0; } + return null; } private unsafe void SelectYesnoPostSetup(AddonEvent type, AddonArgs args) { _deathRecoveryConfirmFired = false; - AddonSelectYesno* address = (AddonSelectYesno*)_200C_202E_202E_200C_206B_202B_200C_206B_200C_200D_206C_206C_200F_202A_206F_202B_206C_206E_206E_206C_200F_200D_206A_206F_200E_206E_202E_200F_200C_206B_206E_202E_200B_202C_200D_202A_200B_200D_200F_200D_202E(args).Address; + AddonSelectYesno* address = (AddonSelectYesno*)args.Addon.Address; SelectYesnoPostSetup(address, checkAllSteps: false); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void SelectYesnoDeathRecoveryPostUpdate(AddonEvent type, AddonArgs args) { - int num = ((!_questController.IsDeathRecoveryPending) ? (-2017828228) : (-2017828237)); - string text = default(string); - AddonSelectYesno* address = default(AddonSelectYesno*); - while (true) + if (_questController.IsDeathRecoveryPending && _condition[ConditionFlag.Unconscious] && !_deathRecoveryConfirmFired) { - int num2 = num; - int num3 = -2017828229; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + AddonSelectYesno* address = (AddonSelectYesno*)args.Addon.Address; + string text = (*address->AtkUnitBase.AtkValues).ReadAtkString(); + if (text != null && _returnRegex.IsMatch(text)) { - case 3: - num = ((!_202D_200E_200B_206E_206D_200D_206F_200E_202E_200F_202E_206F_206E_202E_202D_202D_206A_206D_206A_206C_202E_200F_206A_202D_206E_202D_206F_206B_206A_206B_200B_206E_202A_200E_200E_202C_202B_200C_200B_200D_202E(_returnRegex, text)) ? (-2017828227) : (-2017828226)); - break; - case 1: - return; - case 7: - return; - case 2: - num = -2017828237; - break; - case 6: - return; - case 4: - num = ((!_deathRecoveryConfirmFired) ? (-2017828229) : (-2017828230)); - break; - case 0: - address = (AddonSelectYesno*)_200C_202E_202E_200C_206B_202B_200C_206B_200C_200D_206C_206C_200F_202A_206F_202B_206C_206E_206E_206C_200F_200D_206A_206F_200E_206E_202E_200F_200C_206B_206E_202E_200B_202C_200D_202A_200B_200D_200F_200D_202E(args).Address; - text = _202C_206E_202E_206D_202C_200F_202A_202E_202D_202C_200D_206E_202E_202C_200E_202E_202C_200B_206F_202B_202E_202A_202E_206D_206F_202A_200C_202E_202D_200D_202A_200E_200E_206D_202D_202D_206D_202D_200B_200C_202E(*address->AtkUnitBase.AtkValues); - num = ((text == null) ? (-2017828227) : (-2017828232)); - break; - case 8: - num = (_202A_200B_206D_200E_206A_206A_200B_200C_206D_202D_206E_200D_200E_202E_206F_206F_206E_200E_206B_206B_200D_206C_200B_206F_206A_200D_202C_200C_200D_200F_206A_200E_202B_202B_206C_202D_202E_206F_206D_206C_202E(_condition, ConditionFlag.Unconscious) ? (-2017828225) : (-2017828228)); - break; - case 5: - _202B_202A_206C_206F_206E_202C_202B_206E_200F_206B_200E_202B_202E_206B_200B_206F_206E_202E_202A_200F_206E_202E_200C_206E_206C_200D_202C_200B_202C_200E_206E_206C_206B_200B_202E_202B_206C_202C_202A_202B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1684981861), Array.Empty()); + _logger.LogInformation("Death recovery: confirming return to home point (PostUpdate)"); address->AtkUnitBase.FireCallbackInt(0); _deathRecoveryConfirmFired = true; - num = -2017828227; - break; } } } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void SelectYesnoPostSetup(AddonSelectYesno* addonSelectYesno, bool checkAllSteps) { - int num = (checkAllSteps ? 898992558 : 898992547); - QuestController.QuestProgress startedQuest = default(QuestController.QuestProgress); - QuestController.QuestProgress simulatedQuest = default(QuestController.QuestProgress); - List list = default(List); - QuestController.QuestProgress nextQuest = default(QuestController.QuestProgress); - string text = default(string); - StringOrRegex stringOrRegex = default(StringOrRegex); - DialogueChoice current = default(DialogueChoice); - while (true) + if (!checkAllSteps && !ShouldHandleUiInteractions) { - int num2 = num; - int num3 = 898992559; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 14: - return; - case 21: - return; - case 22: - return; - case 12: - num = (ShouldHandleUiInteractions ? 898992558 : 898992545); - continue; - case 17: - startedQuest = _questController.StartedQuest; - num = ((startedQuest == null) ? 898992555 : 898992548); - continue; - case 10: - return; - case 4: - simulatedQuest = _questController.SimulatedQuest; - num = ((simulatedQuest == null) ? 898992556 : 898992551); - continue; - case 23: - { - FateDefinition? currentFate = _fateController.CurrentFate; - list = ((currentFate != null) ? _202C_200F_202B_202C_200F_202E_206A_200E_200D_206E_206C_202A_202C_202B_206D_202C_200D_206F_200B_202E_202B_202E_200F_202C_200F_200E_200E_202B_206A_206A_202A_202D_200D_200F_200E_206A_200B_202B_206D_202A_202E(currentFate) : null); - if (list != null) - { - num = 898992557; - continue; - } - break; - } - case 9: - addonSelectYesno->AtkUnitBase.FireCallbackInt(0); - _shopController.IsAwaitingYesNo = false; - return; - case 15: - num = ((!CheckQuestYesNo(addonSelectYesno, nextQuest, text, checkAllSteps)) ? 898992573 : 898992552); - continue; - case 8: - num = ((!HandleTravelYesNo(addonSelectYesno, simulatedQuest, text)) ? 898992556 : 898992570); - continue; - case 18: - if (_fateController.IsRunning) - { - num = 898992568; - continue; - } - break; - case 16: - num = ((!_202D_200E_200B_206E_206D_200D_206F_200E_202E_200F_202E_206F_206E_202E_202D_202D_206A_206D_206A_206C_202E_200F_206A_202D_206E_202D_206F_206B_206A_206B_200B_206E_202A_200E_200E_202C_202B_200C_200B_200D_202E(_purchaseItemRegex, text)) ? 898992574 : 898992550); - continue; - case 19: - _202B_202A_206C_206F_206E_202C_202B_206E_200F_206B_200E_202B_202E_206B_200B_206F_206E_202E_202A_200F_206E_202E_200C_206E_206C_200D_202C_200B_202C_200E_206E_206C_206B_200B_202E_202B_206C_202C_202A_202B_202E((ILogger)_logger, 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(533532426), Array.Empty()); - addonSelectYesno->AtkUnitBase.FireCallbackInt(0); - return; - case 5: - num = ((!_shopController.IsAwaitingYesNo) ? 898992574 : 898992575); - continue; - case 1: - text = _202C_206E_202E_206D_202C_200F_202A_202E_202D_202C_200D_206E_202E_202C_200E_202E_202C_200B_206F_202B_202E_202A_202E_206D_206F_202A_200C_202E_202D_200D_202A_200E_200E_206D_202D_202D_206D_202D_200B_200C_202E(*addonSelectYesno->AtkUnitBase.AtkValues); - num = ((text != null) ? 898992546 : 898992549); - continue; - case 20: - num = ((!_202A_200B_206D_200E_206A_206A_200B_200C_206D_202D_206E_200D_200E_202E_206F_206F_206E_200E_206B_206B_200D_206C_200B_206F_206A_200D_202C_200C_200D_200F_206A_200E_202B_202B_206C_202D_202E_206F_206D_206C_202E(_condition, ConditionFlag.Unconscious)) ? 898992554 : 898992559); - continue; - case 7: - return; - case 6: - num = 898992547; - continue; - case 3: - nextQuest = _questController.NextQuest; - num = ((nextQuest == null) ? 898992573 : 898992544); - continue; - case 11: - num = ((!CheckQuestYesNo(addonSelectYesno, startedQuest, text, checkAllSteps)) ? 898992555 : 898992569); - continue; - case 0: - num = ((!_202D_200E_200B_206E_206D_200D_206F_200E_202E_200F_202E_206F_206E_202E_202D_202D_206A_206D_206A_206C_202E_200F_206A_202D_206E_202D_206F_206B_206A_206B_200B_206E_202A_200E_200E_202C_202B_200C_200B_200D_202E(_returnRegex, text)) ? 898992554 : 898992572); - continue; - case 13: - _206D_200D_200E_202C_200F_200E_202E_206B_206A_202C_206E_202E_202D_206D_206E_206E_200D_200B_200B_206C_206E_200D_200D_206F_200D_202C_202B_200D_202C_200D_200E_206A_200F_202D_202B_202C_206C_200F_200D_200F_202E((ILogger)_logger, 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(1498409244), new object[1] { text }); - num = ((!_questController.IsDeathRecoveryPending) ? 898992554 : 898992571); - continue; - case 2: - { - using (List.Enumerator enumerator = list.GetEnumerator()) - { - num = 27807126; - while (true) - { - int num7 = num; - num3 = 27807120; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 0: - num = 27807126; - break; - case 4: - stringOrRegex = ResolveReference(null, _206F_202C_206F_200C_200C_200D_202A_200F_206B_206B_206C_206C_200E_200F_202A_202D_200C_202C_200C_200B_202C_206E_200F_202B_200D_206C_206A_206F_206C_202C_206E_200F_200F_202E_206F_202E_200B_206B_206B_200E_202E(current), _206F_202D_200F_200B_200E_206D_200E_206A_206E_200F_202C_200D_206E_202D_200E_206C_202D_200C_202A_200D_200B_200F_200E_202B_200F_202A_206A_206E_200F_206D_206B_202E_202D_202B_200D_206F_200C_200D_206E_200E_202E(current), _206C_202A_202C_202B_206A_200B_200B_206A_206B_206E_206C_202A_200E_200E_206C_206F_206C_206E_202B_200B_206F_202B_206E_202A_206A_206A_206E_206F_206C_206A_200C_206C_202C_202D_200E_206E_202D_200C_200E_206B_202E(current)); - num = ((stringOrRegex == null) ? 27807126 : 27807125); - break; - case 5: - num = ((!IsMatch(text, stringOrRegex)) ? 27807126 : 27807122); - break; - case 1: - current = enumerator.Current; - num = ((_202B_202C_206E_206A_202D_200E_202C_202B_200F_202E_202B_200B_202B_200E_206E_200B_206C_206F_206A_206B_206E_202E_206C_200D_202E_202B_206F_206A_206F_200E_202C_206A_206F_202B_206C_206C_202C_206D_202D_202C_202E(current) != EDialogChoiceType.YesNo) ? 27807126 : 27807124); - break; - case 2: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1136244811), new object[2] - { - _200B_200E_202B_200C_206D_202E_202C_200B_206E_206D_202B_206E_202B_206F_206A_202E_200B_202C_202E_206B_200F_200B_200D_206F_202E_200C_200F_200B_202C_202C_202A_206D_200F_206C_206C_200B_200D_202C_202C_202E(current) ? 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(-1054717956) : global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1667933530), - text - }); - addonSelectYesno->AtkUnitBase.FireCallbackInt((!_200B_200E_202B_200C_206D_202E_202C_200B_206E_206D_202B_206E_202B_206F_206A_202E_200B_202C_202E_206B_200F_200B_200D_206F_202E_200C_200F_200B_202C_202C_202A_206D_200F_206C_206C_200B_200D_202C_202C_202E(current)) ? 1 : 0); - return; - case 6: - num = (enumerator.MoveNext() ? 27807121 : 27807123); - break; - case 3: - goto end_IL_0389; - } - continue; - end_IL_0389: - break; - } - } - break; - } - } - break; + return; } - num = ((!SmartNavWarpRowId.HasValue) ? (-1344390674) : (-1344390673)); - List list2 = default(List); - StringOrRegex stringOrRegex2 = default(StringOrRegex); - DialogueChoice current2 = default(DialogueChoice); - while (true) + string text = (*addonSelectYesno->AtkUnitBase.AtkValues).ReadAtkString(); + if (text == null) { - int num10 = num; - int num3 = -1344390679; - int num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) + return; + } + _logger.LogTrace("Prompt: '{Prompt}'", text); + if (_questController.IsDeathRecoveryPending && _condition[ConditionFlag.Unconscious] && _returnRegex.IsMatch(text)) + { + _logger.LogInformation("Death recovery: confirming return to home point"); + addonSelectYesno->AtkUnitBase.FireCallbackInt(0); + return; + } + if (_shopController.IsAwaitingYesNo && _purchaseItemRegex.IsMatch(text)) + { + addonSelectYesno->AtkUnitBase.FireCallbackInt(0); + _shopController.IsAwaitingYesNo = false; + return; + } + QuestController.QuestProgress startedQuest = _questController.StartedQuest; + if (startedQuest != null && CheckQuestYesNo(addonSelectYesno, startedQuest, text, checkAllSteps)) + { + return; + } + QuestController.QuestProgress simulatedQuest = _questController.SimulatedQuest; + if (simulatedQuest != null && HandleTravelYesNo(addonSelectYesno, simulatedQuest, text)) + { + return; + } + QuestController.QuestProgress nextQuest = _questController.NextQuest; + if (nextQuest != null && CheckQuestYesNo(addonSelectYesno, nextQuest, text, checkAllSteps)) + { + return; + } + if (_fateController.IsRunning) + { + List list = _fateController.CurrentFate?.TransformDialogueChoices; + if (list != null) { - case 3: - { - SeasonalDutyDefinition? currentDuty = _seasonalDutyController.CurrentDuty; - list2 = ((currentDuty != null) ? _200F_200D_206C_200E_206F_202B_200D_206E_200B_206D_202D_206A_206D_200C_202D_206F_206D_206E_206D_206F_206D_202C_200E_200E_200F_200B_200D_206F_200E_200C_206D_206F_206D_206D_200E_206A_206A_206D_200E_206D_202E(currentDuty) : null); - if (list2 != null) + foreach (DialogueChoice item in list) { - num = -1344390675; - break; - } - return; - } - case 7: - num = ((SmartNavTaxiDestPlaceName == null) ? (-1344390677) : (-1344390679)); - break; - case 6: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1074279270), new object[1] { SmartNavWarpRowId }); - addonSelectYesno->AtkUnitBase.FireCallbackInt(0); - return; - case 5: - num = -1344390673; - break; - case 0: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(280259749), new object[1] { SmartNavTaxiDestPlaceName }); - addonSelectYesno->AtkUnitBase.FireCallbackInt(0); - return; - case 4: - if (list2.Count > 0) - { - num = -1344390680; - break; - } - return; - case 2: - if (_seasonalDutyController.IsRunning) - { - num = -1344390678; - break; - } - return; - case 1: - { - using List.Enumerator enumerator = list2.GetEnumerator(); - num = 720151628; - while (true) - { - int num13 = num; - num3 = 720151630; - num4 = num13; - int num14 = num4 + num3; - int num15 = num4 & num3; - switch (num14 - (num15 + num15)) + if (item.Type == EDialogChoiceType.YesNo) { - case 0: - num = 720151628; - break; - case 6: - stringOrRegex2 = ResolveReference(null, _206F_202C_206F_200C_200C_200D_202A_200F_206B_206B_206C_206C_200E_200F_202A_202D_200C_202C_200C_200B_202C_206E_200F_202B_200D_206C_206A_206F_206C_202C_206E_200F_200F_202E_206F_202E_200B_206B_206B_200E_202E(current2), _206F_202D_200F_200B_200E_206D_200E_206A_206E_200F_202C_200D_206E_202D_200E_206C_202D_200C_202A_200D_200B_200F_200E_202B_200F_202A_206A_206E_200F_206D_206B_202E_202D_202B_200D_206F_200C_200D_206E_200E_202E(current2), _206C_202A_202C_202B_206A_200B_200B_206A_206B_206E_206C_202A_200E_200E_206C_206F_206C_206E_202B_200B_206F_202B_206E_202A_206A_206A_206E_206F_206C_206A_200C_206C_202C_202D_200E_206E_202D_200C_200E_206B_202E(current2)); - num = ((stringOrRegex2 == null) ? 720151628 : 720151626); - break; - case 4: - num = ((!IsMatch(text, stringOrRegex2)) ? 720151628 : 720151629); - break; - case 1: - current2 = enumerator.Current; - num = ((_202B_202C_206E_206A_202D_200E_202C_202B_200F_202E_202B_200B_202B_200E_206E_200B_206C_206F_206A_206B_206E_202E_206C_200D_202E_202B_206F_206A_206F_200E_202C_206A_206F_202B_206C_206C_202C_206D_202D_202C_202E(current2) != EDialogChoiceType.YesNo) ? 720151628 : 720151624); - break; - case 3: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(872691985), new object[2] + StringOrRegex stringOrRegex = ResolveReference(null, item.ExcelSheet, item.Prompt, item.PromptIsRegularExpression); + if (stringOrRegex != null && IsMatch(text, stringOrRegex)) { - _200B_200E_202B_200C_206D_202E_202C_200B_206E_206D_202B_206E_202B_206F_206A_202E_200B_202C_202E_206B_200F_200B_200D_206F_202E_200C_200F_200B_202C_202C_202A_206D_200F_206C_206C_200B_200D_202C_202C_202E(current2) ? global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1705182101) : 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(1127405909), - text - }); - addonSelectYesno->AtkUnitBase.FireCallbackInt((!_200B_200E_202B_200C_206D_202E_202C_200B_206E_206D_202B_206E_202B_206F_206A_202E_200B_202C_202E_206B_200F_200B_200D_206F_202E_200C_200F_200B_202C_202C_202A_206D_200F_206C_206C_200B_200D_202C_202C_202E(current2)) ? 1 : 0); - return; - case 2: - num = (enumerator.MoveNext() ? 720151631 : 720151627); - break; - case 5: - return; + _logger.LogDebug("FATE: Returning {YesNo} for '{Prompt}'", item.Yes ? "Yes" : "No", text); + addonSelectYesno->AtkUnitBase.FireCallbackInt((!item.Yes) ? 1 : 0); + return; + } } } } + } + if (SmartNavWarpRowId.HasValue) + { + _logger.LogDebug("SmartNav: confirming warp YesNo for warp {WarpId}", SmartNavWarpRowId); + addonSelectYesno->AtkUnitBase.FireCallbackInt(0); + } + else if (SmartNavTaxiDestPlaceName != null) + { + _logger.LogDebug("SmartNav: confirming taxi YesNo for destination {Dest}", SmartNavTaxiDestPlaceName); + addonSelectYesno->AtkUnitBase.FireCallbackInt(0); + } + else + { + if (!_seasonalDutyController.IsRunning) + { + return; + } + List list2 = _seasonalDutyController.CurrentDuty?.DialogueChoices; + if (list2 == null || list2.Count <= 0) + { + return; + } + foreach (DialogueChoice item2 in list2) + { + if (item2.Type == EDialogChoiceType.YesNo) + { + StringOrRegex stringOrRegex2 = ResolveReference(null, item2.ExcelSheet, item2.Prompt, item2.PromptIsRegularExpression); + if (stringOrRegex2 != null && IsMatch(text, stringOrRegex2)) + { + _logger.LogDebug("Seasonal duty: Returning {YesNo} for '{Prompt}'", item2.Yes ? "Yes" : "No", text); + addonSelectYesno->AtkUnitBase.FireCallbackInt((!item2.Yes) ? 1 : 0); + break; + } + } } } } @@ -2343,733 +845,278 @@ internal sealed class InteractionUiController : IDisposable private unsafe bool CheckQuestYesNo(AddonSelectYesno* addonSelectYesno, QuestController.QuestProgress currentQuest, string actualPrompt, bool checkAllSteps) { Questionable.Model.Quest quest = currentQuest.Quest; - int num = ((!checkAllSteps) ? 809682558 : 809682548); - QuestSequence questSequence3 = default(QuestSequence); - QuestSequence questSequence = default(QuestSequence); - QuestStep questStep = default(QuestStep); - while (true) + if (checkAllSteps) { - int num2 = num; - int num3 = 809682551; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + QuestSequence questSequence = quest.FindSequence(currentQuest.Sequence); + if (questSequence != null && questSequence.Steps.Any((QuestStep step) => HandleDefaultYesNo(addonSelectYesno, quest, step, step.DialogueChoices, actualPrompt))) { - case 7: - num = ((!_202C_206F_200B_206E_200D_200B_206B_202A_200E_206D_200F_202E_202C_206D_202C_200F_206B_206C_202C_202D_200B_202B_206F_202B_202A_206B_206B_200F_202C_206A_202B_202A_206A_202C_202E_200D_206D_200E_202E_206C_202E(questSequence3).Any((QuestStep step) => HandleDefaultYesNo(addonSelectYesno, quest, step, _003C_003Ec__DisplayClass64_0._200F_206D_206D_202C_202E_206B_206F_202D_200E_206D_202C_200D_206E_206B_200E_200E_206F_206C_200C_202A_200E_206E_200B_200C_202D_202D_206E_206D_200B_200D_202C_206F_206E_206F_206A_202B_200E_206C_206C_200D_202E(step), actualPrompt))) ? 809682555 : 809682545); - break; - case 10: - { - List list = _202C_206F_200B_206E_200D_200B_206B_202A_200E_206D_200F_202E_202C_206D_202C_200F_206B_206C_202C_202D_200B_202B_206F_202B_202A_206B_206B_200F_202C_206A_202B_202A_206A_202C_202E_200D_206D_200E_202E_206C_202E(questSequence); - questStep = list[list.Count - 1]; - num = 809682559; - break; - } - case 14: - questSequence = quest.FindSequence(currentQuest.Sequence); - num = ((questSequence == null) ? 809682559 : 809682546); - break; - case 1: - num = ((currentQuest.Step != 255) ? 809682559 : 809682553); - break; - case 6: return true; - case 3: - questSequence3 = quest.FindSequence(currentQuest.Sequence); - num = ((questSequence3 == null) ? 809682555 : 809682544); - break; - case 13: - return true; - case 2: - return false; - case 4: - num = ((!HandleDefaultYesNo(addonSelectYesno, quest, questStep, _200E_206A_200F_200C_206D_206A_202B_206D_206E_206A_200B_200B_202E_206C_202C_206E_206F_200C_202E_202A_200C_200F_200E_206E_206F_202C_200B_202A_206B_206E_206F_200E_206D_206A_202E_200C_206C_206B_202E_202E(questStep), actualPrompt)) ? 809682555 : 809682554); - break; - case 12: - num = ((!HandleTravelYesNo(addonSelectYesno, currentQuest, actualPrompt)) ? 809682549 : 809682551); - break; - case 5: - num = ((_202B_200C_202E_200B_202E_202E_200C_206C_200B_200F_200D_200C_202C_202E_206A_202E_202D_206E_202C_206E_206E_200B_200D_200B_206A_200E_202A_206E_200D_200F_200E_200F_200D_206C_206B_200D_200F_200B_206A_202E_202E(questSequence).Count <= 0) ? 809682559 : 809682557); - break; - case 11: - num = 809682548; - break; - case 0: - return true; - case 9: - { - QuestSequence? questSequence2 = quest.FindSequence(currentQuest.Sequence); - questStep = ((questSequence2 != null) ? _200D_200E_200D_206C_206D_200C_200F_200C_206A_206C_202A_206C_202A_200C_200C_202A_206C_202E_206C_200E_202C_202D_200E_202A_200F_200F_200E_202E_200C_200D_206C_202C_200E_200B_206E_206A_200D_200D_200C_200D_202E(questSequence2, currentQuest.Step) : null); - num = ((questStep != null) ? 809682559 : 809682550); - break; - } - case 8: - num = ((questStep == null) ? 809682555 : 809682547); - break; } } + else + { + QuestStep questStep = quest.FindSequence(currentQuest.Sequence)?.FindStep(currentQuest.Step); + if (questStep == null && currentQuest.Step == 255) + { + QuestSequence questSequence2 = quest.FindSequence(currentQuest.Sequence); + if (questSequence2 != null && questSequence2.Steps.Count > 0) + { + List steps = questSequence2.Steps; + questStep = steps[steps.Count - 1]; + } + } + if (questStep != null && HandleDefaultYesNo(addonSelectYesno, quest, questStep, questStep.DialogueChoices, actualPrompt)) + { + return true; + } + } + if (HandleTravelYesNo(addonSelectYesno, currentQuest, actualPrompt)) + { + return true; + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe bool HandleDefaultYesNo(AddonSelectYesno* addonSelectYesno, Questionable.Model.Quest quest, QuestStep? step, List dialogueChoices, string actualPrompt) { - int num = ((step == null) ? 649941538 : 649941536); - EAetheryteLocation? eAetheryteLocation = default(EAetheryteLocation?); - AetheryteRegistrationResult aetheryteRegistrationResult = default(AetheryteRegistrationResult); - DialogueChoice current = default(DialogueChoice); - StringOrRegex stringOrRegex = default(StringOrRegex); - while (true) + if (step != null && step.InteractionType == EInteractionType.RegisterFreeOrFavoredAetheryte) { - int num2 = num; - int num3 = 649941541; - int num4 = num2; - Span span; - switch ((num4 | num3) - (num4 & num3)) + EAetheryteLocation? aetheryte = step.Aetheryte; + if (aetheryte.HasValue) { - case 6: - { - List list = dialogueChoices; - int num15 = 1 + list.Count; - List list3 = new List(num15); - CollectionsMarshal.SetCount(list3, num15); - Span span3 = CollectionsMarshal.AsSpan(list3); - int num14 = 0; - span = CollectionsMarshal.AsSpan(list); - span.CopyTo(span3.Slice(num14, span.Length)); - num14 += span.Length; - ref DialogueChoice reference2 = ref span3[num14]; - DialogueChoice dialogueChoice2 = _200D_200E_206A_202E_200F_206B_206D_206B_200C_200E_202D_206C_206F_200B_200C_200F_202A_202D_206D_200B_206E_206F_200F_200B_202C_200B_202B_202B_202E_206B_202C_202B_200D_206B_206A_202B_206F_206B_202B_206D_202E(); - _202B_206E_200F_202A_206A_200C_202C_200D_200D_202A_206B_202C_200D_200C_202E_206D_206D_202D_202A_202B_206D_200E_202A_202E_200D_200B_200D_200C_202A_200E_200B_202A_200C_206D_200F_202D_206C_206C_206C_202C_202E(dialogueChoice2, EDialogChoiceType.YesNo); - _202E_206A_200D_200B_206F_206C_202A_206B_202D_200C_202A_202D_202D_206D_200B_206F_202B_202B_202E_200D_202B_202C_202A_206B_206C_206D_200D_206E_200B_206C_206D_202C_202A_206A_206E_206A_200D_200E_206D_202E_202E(dialogueChoice2, 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(-1901839129)); - _202A_202A_202B_206A_200F_202D_202D_206E_202D_200B_206A_206A_206D_206B_202E_206B_202A_202B_206E_206C_200D_202A_206B_206F_202D_202C_200B_200B_206E_206E_202D_200C_206E_206C_202C_202B_200B_206C_200E_200F_202E(dialogueChoice2, _206D_202E_206F_202B_206B_200F_206B_206A_200F_200C_200E_200C_206F_206C_200E_202B_200F_200E_202D_202A_206B_200D_200B_206B_202B_206C_202B_200E_202A_206A_202D_202A_206E_206B_200F_200E_200F_200C_206E_206A_202E(102334u)); - _202A_200E_200E_206B_202B_200F_206E_206E_202B_200E_206F_200D_206D_202D_206A_206D_202C_202B_202C_202D_202E_202B_200C_202B_202E_206B_202D_202E_200C_202B_206F_202A_200D_200E_206A_206B_200E_202E_200F_202C_202E(dialogueChoice2, true); - reference2 = dialogueChoice2; - dialogueChoices = list3; - num = 649941538; - break; - } - case 4: - { - List list = dialogueChoices; - int num14 = 1 + list.Count; - List list2 = new List(num14); - CollectionsMarshal.SetCount(list2, num14); - span = CollectionsMarshal.AsSpan(list2); - int num15 = 0; - Span span2 = CollectionsMarshal.AsSpan(list); - span2.CopyTo(span.Slice(num15, span2.Length)); - num15 += span2.Length; - ref DialogueChoice reference = ref span[num15]; - DialogueChoice dialogueChoice = _200D_200E_206A_202E_200F_206B_206D_206B_200C_200E_202D_206C_206F_200B_200C_200F_202A_202D_206D_200B_206E_206F_200F_200B_202C_200B_202B_202B_202E_206B_202C_202B_200D_206B_206A_202B_206F_206B_202B_206D_202E(); - _202B_206E_200F_202A_206A_200C_202C_200D_200D_202A_206B_202C_200D_200C_202E_206D_206D_202D_202A_202B_206D_200E_202A_202E_200D_200B_200D_200C_202A_200E_200B_202A_200C_206D_200F_202D_206C_206C_206C_202C_202E(dialogueChoice, EDialogChoiceType.YesNo); - _202E_206A_200D_200B_206F_206C_202A_206B_202D_200C_202A_202D_202D_206D_200B_206F_202B_202B_202E_200D_202B_202C_202A_206B_206C_206D_200D_206E_200B_206C_206D_202C_202A_206A_206E_206A_200D_200E_206D_202E_202E(dialogueChoice, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(322628157)); - _202A_202A_202B_206A_200F_202D_202D_206E_202D_200B_206A_206A_206D_206B_202E_206B_202A_202B_206E_206C_200D_202A_206B_206F_202D_202C_200B_200B_206E_206E_202D_200C_206E_206C_202C_202B_200B_206C_200E_200F_202E(dialogueChoice, _206D_202E_206F_202B_206B_200F_206B_206A_200F_200C_200E_200C_206F_206C_200E_202B_200F_200E_202D_202A_206B_200D_200B_206B_202B_206C_202B_200E_202A_206A_202D_202A_206E_206B_200F_200E_200F_200C_206E_206A_202E(102306u)); - _202A_200E_200E_206B_202B_200F_206E_206E_202B_200E_206F_200D_206D_202D_206A_206D_202C_202B_202C_202D_202E_202B_200C_202B_202E_206B_202D_202E_200C_202B_206F_202A_200D_200E_206A_206B_200E_202E_200F_202C_202E(dialogueChoice, true); - reference = dialogueChoice; - dialogueChoices = list2; - num = 649941538; - break; - } - case 3: - num = 649941536; - break; - case 5: - num = ((_202A_206C_200B_202D_206C_206E_206C_200F_200E_202B_206E_206D_200C_206E_206A_206C_202C_206F_200F_206A_200B_206F_200B_202B_200B_206B_200B_202E_202D_200B_202A_200E_206E_206C_202D_202B_200E_200E_200B_200E_202E(step) != EInteractionType.RegisterFreeOrFavoredAetheryte) ? 649941538 : 649941540); - break; - case 1: - eAetheryteLocation = _202C_200E_206D_206E_202B_206A_202E_202B_202E_200E_202E_206A_206C_200B_202B_206A_202C_206F_202D_200E_200D_200C_206B_202B_200F_206E_200E_206F_202C_202B_206E_206D_206E_206D_206F_202B_202D_206A_202D_202A_202E(step); - num = ((!eAetheryteLocation.HasValue) ? 649941538 : 649941541); - break; - case 0: - { - EAetheryteLocation valueOrDefault = eAetheryteLocation.GetValueOrDefault(); - aetheryteRegistrationResult = _aetheryteFunctions.CanRegisterFreeOrFavoriteAetheryte(valueOrDefault); - num = ((aetheryteRegistrationResult != AetheryteRegistrationResult.SecurityTokenFreeDestinationAvailable) ? 649941543 : 649941539); - break; - } - case 2: - num = ((aetheryteRegistrationResult != AetheryteRegistrationResult.FavoredDestinationAvailable) ? 649941538 : 649941537); - break; - case 7: - { - _206D_200D_200E_202C_200F_200E_202E_206B_206A_202C_206E_202E_202D_206D_206E_206E_200D_200B_200B_206C_206E_200D_200D_206F_200D_202C_202B_200D_202C_200D_200E_206A_200F_202D_202B_202C_206C_200F_200D_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(549701124), new object[1] { dialogueChoices.Count }); - using (List.Enumerator enumerator = dialogueChoices.GetEnumerator()) + EAetheryteLocation valueOrDefault = aetheryte.GetValueOrDefault(); + Span span; + switch (_aetheryteFunctions.CanRegisterFreeOrFavoriteAetheryte(valueOrDefault)) { - num = -1231901395; - while (true) - { - int num5 = num; - num3 = -1231901403; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 9: - num = ((!_206D_206A_206E_200B_200D_202E_200D_206E_206F_200E_202A_202A_200E_206D_202D_206D_206D_202B_206C_206F_202A_206F_206E_202B_206B_202A_200C_202C_200C_202E_202B_200F_206A_200B_206F_200F_202E_206A_202A_206C_202E(current).HasValue) ? (-1231901393) : (-1231901402)); - break; - case 6: - num = (IsMatch(actualPrompt, stringOrRegex) ? (-1231901407) : (-1231901401)); - break; - case 0: - num = -1231901395; - break; - case 3: - { - uint? num8 = _206D_206A_206E_200B_200D_202E_200D_206E_206F_200E_202A_202A_200E_206D_202D_206D_206D_202B_206C_206F_202A_206F_206E_202B_206B_202A_200C_202C_200C_202E_202B_200F_206A_200B_206F_200F_202E_206A_202A_206C_202E(current); - IGameObject gameObject = _206E_206B_206B_200F_206F_200C_206E_206C_202A_202E_202A_206D_206A_206B_206F_206A_200D_200B_202E_202C_206F_200D_206E_206D_200E_206D_206B_202E_202E_202E_202C_202E_200B_200E_200E_200E_200C_202C_200E_200C_202E(_targetManager); - uint? num9 = ((gameObject != null) ? new uint?(_206B_202D_202B_206A_200C_202C_206B_206C_206E_200E_202C_202A_202D_206E_206C_200D_202A_206F_200E_206B_206B_206A_202B_202C_202C_200B_200C_202B_202B_200D_200C_202E_206D_206F_202B_200B_200B_200F_202C_206C_202E(gameObject)) : ((uint?)null)); - bool num10 = num8.GetValueOrDefault() == num9.GetValueOrDefault(); - num3 = ((num8.HasValue == num9.HasValue) ? 1 : 0); - num4 = (num10 ? 1 : 0); - num = (((num4 | num3) - (num4 ^ num3) != 0) ? (-1231901393) : (-1231901406)); - break; - } - case 8: - num = (enumerator.MoveNext() ? (-1231901404) : (-1231901408)); - break; - case 2: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, 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(1191229816), new object[2] { stringOrRegex, actualPrompt }); - num = -1231901395; - break; - case 4: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1148349469), new object[2] - { - _200B_200E_202B_200C_206D_202E_202C_200B_206E_206D_202B_206E_202B_206F_206A_202E_200B_202C_202E_206B_200F_200B_200D_206F_202E_200C_200F_200B_202C_202C_202A_206D_200F_206C_206C_200B_200D_202C_202C_202E(current) ? global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1295539558) : global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1191036459), - actualPrompt - }); - addonSelectYesno->AtkUnitBase.FireCallbackInt((!_200B_200E_202B_200C_206D_202E_202C_200B_206E_206D_202B_206E_202B_206F_206A_202E_200B_202C_202E_206B_200F_200B_200D_206F_202E_200C_200F_200B_202C_202C_202A_206D_200F_206C_206C_200B_200D_202C_202C_202E(current)) ? 1 : 0); - return true; - case 7: - { - ILogger logger = _logger; - string text = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-948190502); - object[] obj = new object[2] - { - _206D_206A_206E_200B_200D_202E_200D_206E_206F_200E_202A_202A_200E_206D_202D_206D_206D_202B_206C_206F_202A_206F_206E_202B_206B_202A_200C_202C_200C_202E_202B_200F_206A_200B_206F_200F_202E_206A_202A_206C_202E(current), - null - }; - IGameObject gameObject2 = _206E_206B_206B_200F_206F_200C_206E_206C_202A_202E_202A_206D_206A_206B_206F_206A_200D_200B_202E_202C_206F_200D_206E_206D_200E_206D_206B_202E_202E_202E_202C_202E_200B_200E_200E_200E_200C_202C_200E_200C_202E(_targetManager); - obj[1] = ((gameObject2 != null) ? new uint?(_206B_202D_202B_206A_200C_202C_206B_206C_206E_200E_202C_202A_202D_206E_206C_200D_202A_206F_200E_206B_206B_206A_202B_202C_202C_200B_200C_202B_202B_200D_200C_202E_206D_206F_202B_200B_200B_200F_202C_206C_202E(gameObject2)) : ((uint?)null)); - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)logger, text, obj); - num = -1231901395; - break; - } - case 1: - current = enumerator.Current; - num = ((_202B_202C_206E_206A_202D_200E_202C_202B_200F_202E_202B_200B_202B_200E_206E_200B_206C_206F_206A_206B_206E_202E_206C_200D_202E_202B_206F_206A_206F_200E_202C_206A_206F_202B_206C_206C_202C_206D_202D_202C_202E(current) != EDialogChoiceType.YesNo) ? (-1231901395) : (-1231901396)); - break; - case 10: - stringOrRegex = ResolveReference(quest, _206F_202C_206F_200C_200C_200D_202A_200F_206B_206B_206C_206C_200E_200F_202A_202D_200C_202C_200C_200B_202C_206E_200F_202B_200D_206C_206A_206F_206C_202C_206E_200F_200F_202E_206F_202E_200B_206B_206B_200E_202E(current), _206F_202D_200F_200B_200E_206D_200E_206A_206E_200F_202C_200D_206E_202D_200E_206C_202D_200C_202A_200D_200B_200F_200E_202B_200F_202A_206A_206E_200F_206D_206B_202E_202D_202B_200D_206F_200C_200D_206E_200E_202E(current), _206C_202A_202C_202B_206A_200B_200B_206A_206B_206E_206C_202A_200E_200E_206C_206F_206C_206E_202B_200B_206F_202B_206E_202A_206A_206A_206E_206F_206C_206A_200C_206C_202C_202D_200E_206E_202D_200C_200E_206B_202E(current)); - num = ((stringOrRegex == null) ? (-1231901401) : (-1231901405)); - break; - case 5: - goto end_IL_0285; - } - continue; - end_IL_0285: - break; - } - } - num = ((!CheckSinglePlayerDutyYesNo(quest.Id, step)) ? 1032501046 : 1032501045); - while (true) + case AetheryteRegistrationResult.SecurityTokenFreeDestinationAvailable: { - int num11 = num; - num3 = 1032501047; - num4 = num11; - int num12 = num4 + num3; - int num13 = num4 & num3; - switch (num12 - (num13 + num13)) + List list = dialogueChoices; + int num2 = 1 + list.Count; + List list3 = new List(num2); + CollectionsMarshal.SetCount(list3, num2); + Span span3 = CollectionsMarshal.AsSpan(list3); + int num = 0; + span = CollectionsMarshal.AsSpan(list); + span.CopyTo(span3.Slice(num, span.Length)); + num += span.Length; + span3[num] = new DialogueChoice { - case 0: - goto IL_05ba; - case 2: - addonSelectYesno->AtkUnitBase.FireCallbackInt(0); - return true; - case 1: - return false; - } - continue; - IL_05ba: - num = 1032501045; + Type = EDialogChoiceType.YesNo, + ExcelSheet = "Addon", + Prompt = ExcelRef.FromRowId(102334u), + Yes = true + }; + dialogueChoices = list3; + break; + } + case AetheryteRegistrationResult.FavoredDestinationAvailable: + { + List list = dialogueChoices; + int num = 1 + list.Count; + List list2 = new List(num); + CollectionsMarshal.SetCount(list2, num); + span = CollectionsMarshal.AsSpan(list2); + int num2 = 0; + Span span2 = CollectionsMarshal.AsSpan(list); + span2.CopyTo(span.Slice(num2, span2.Length)); + num2 += span2.Length; + span[num2] = new DialogueChoice + { + Type = EDialogChoiceType.YesNo, + ExcelSheet = "Addon", + Prompt = ExcelRef.FromRowId(102306u), + Yes = true + }; + dialogueChoices = list2; + break; + } } - } } } + _logger.LogTrace("DefaultYesNo: Choice count: {Count}", dialogueChoices.Count); + foreach (DialogueChoice dialogueChoice in dialogueChoices) + { + if (dialogueChoice.Type != EDialogChoiceType.YesNo) + { + continue; + } + if (dialogueChoice.DataId.HasValue && dialogueChoice.DataId != _targetManager.Target?.BaseId) + { + _logger.LogDebug("Skipping entry in DialogueChoice expecting target dataId {ExpectedDataId}, actual target is {ActualTargetId}", dialogueChoice.DataId, _targetManager.Target?.BaseId); + continue; + } + StringOrRegex stringOrRegex = ResolveReference(quest, dialogueChoice.ExcelSheet, dialogueChoice.Prompt, dialogueChoice.PromptIsRegularExpression); + if (stringOrRegex == null || !IsMatch(actualPrompt, stringOrRegex)) + { + _logger.LogDebug("Unexpected excelPrompt: {ExcelPrompt}, actualPrompt: {ActualPrompt}", stringOrRegex, actualPrompt); + continue; + } + _logger.LogDebug("Returning {YesNo} for '{Prompt}'", dialogueChoice.Yes ? "Yes" : "No", actualPrompt); + addonSelectYesno->AtkUnitBase.FireCallbackInt((!dialogueChoice.Yes) ? 1 : 0); + return true; + } + if (CheckSinglePlayerDutyYesNo(quest.Id, step)) + { + addonSelectYesno->AtkUnitBase.FireCallbackInt(0); + return true; + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool CheckSinglePlayerDutyYesNo(ElementId questId, QuestStep? step) { - int num = ((step == null) ? (-67535065) : (-67535067)); - while (true) + if (step != null && step.InteractionType == EInteractionType.SinglePlayerDuty && _bossModIpc.IsConfiguredToRunSoloInstance(questId, step.SinglePlayerDutyOptions)) { - int num2 = num; - int num3 = -67535068; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = ((!_bossModIpc.IsConfiguredToRunSoloInstance(questId, _202A_200F_200B_206A_206B_206E_202B_206C_200B_206A_200B_206F_202A_200D_202C_206F_202C_206F_206F_206D_206E_202E_202A_200F_206D_206A_202B_200D_200E_202C_206D_206D_200E_206B_200F_206B_206D_206E_202E_206F_202E(step))) ? (-67535065) : (-67535068)); - break; - case 3: - return false; - case 2: - num = -67535067; - break; - case 1: - num = ((_202A_206C_200B_202D_206C_206E_206C_200F_200E_202B_206E_206D_200C_206E_206A_206C_202C_206F_200F_206A_200B_206F_200B_202B_200B_206B_200B_202E_202D_200B_202A_200E_206E_206C_202D_202B_200E_200E_200B_200E_202E(step) != EInteractionType.SinglePlayerDuty) ? (-67535065) : (-67535072)); - break; - case 0: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(889876292), Array.Empty()); - return true; - } + _logger.LogDebug("SinglePlayerDutyYesNo: probably Single Player Duty"); + return true; } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe bool HandleTravelYesNo(AddonSelectYesno* addonSelectYesno, QuestController.QuestProgress currentQuest, string actualPrompt) { - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, 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(-1960829333), Array.Empty()); - int num = ((_206F_200E_200E_202D_206E_206A_202B_200E_206F_202A_202C_202D_200F_200F_206D_206A_200B_206B_202C_202E_200C_202B_200E_200C_202E_202C_200B_200B_202D_206B_206E_206D_206C_202D_200D_200C_202A_206B_202B_206F_202E() - _aetheryteFunctions.ReturnRequestedAt > 2000) ? 1655529223 : 1655529224); - uint? warpId = default(uint?); - string warpText = default(string); - ushort? num7 = default(ushort?); - while (true) + _logger.LogDebug("TravelYesNo"); + if (Environment.TickCount64 - _aetheryteFunctions.ReturnRequestedAt <= 2000 && _returnRegex.IsMatch(actualPrompt)) { - int num2 = num; - int num3 = 1655529216; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, 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(1010595978), new object[2] { warpId, warpText }); - addonSelectYesno->AtkUnitBase.FireCallbackInt(0); - return true; - case 1: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1154825939), Array.Empty()); - addonSelectYesno->AtkUnitBase.FireCallbackInt(0); - return true; - case 8: - num = ((!_202D_200E_200B_206E_206D_200D_206F_200E_202E_200F_202E_206F_206E_202E_202D_202D_206A_206D_206A_206C_202E_200F_206A_202D_206E_202D_206F_206B_206A_206B_200B_206E_202A_200E_200E_202C_202B_200C_200B_200D_202E(_returnRegex, actualPrompt)) ? 1655529223 : 1655529221); - break; - case 2: - num = ((!TryFindWarp(num7.Value, actualPrompt, out warpId, out warpText)) ? 1655529216 : 1655529222); - break; - case 0: - return false; - case 5: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-890675885), Array.Empty()); - addonSelectYesno->AtkUnitBase.FireCallbackInt(0); - return true; - case 7: - num = ((!_questController.IsRunning) ? 1655529220 : 1655529219); - break; - case 4: - num7 = FindTargetTerritoryFromQuestStep(currentQuest); - num = ((!num7.HasValue) ? 1655529216 : 1655529218); - break; - case 3: - { - num = ((!_gameGui.TryGetAddonByName(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1462282105), out var _)) ? 1655529220 : 1655529217); - break; - } - case 9: - num = 1655529224; - break; - } + _logger.LogDebug("Automatically confirming return..."); + addonSelectYesno->AtkUnitBase.FireCallbackInt(0); + return true; } + if (_questController.IsRunning && _gameGui.TryGetAddonByName("HousingSelectBlock", out var _)) + { + _logger.LogDebug("Automatically confirming ward selection"); + addonSelectYesno->AtkUnitBase.FireCallbackInt(0); + return true; + } + ushort? num = FindTargetTerritoryFromQuestStep(currentQuest); + if (num.HasValue && TryFindWarp(num.Value, actualPrompt, out uint? warpId, out string warpText)) + { + _logger.LogDebug("Using warp {Id}, {Prompt}", warpId, warpText); + addonSelectYesno->AtkUnitBase.FireCallbackInt(0); + return true; + } + return false; } private unsafe void DifficultySelectYesNoPostSetup(AddonEvent type, AddonArgs args) { - AtkUnitBase* address = (AtkUnitBase*)_200C_202E_202E_200C_206B_202B_200C_206B_200C_200D_206C_206C_200F_202A_206F_202B_206C_206E_206E_206C_200F_200D_206A_206F_200E_206E_202E_200F_200C_206B_206E_202E_200B_202C_200D_202A_200B_200D_200F_200D_202E(args).Address; + AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address; DifficultySelectYesNoPostSetup(address, checkAllSteps: false); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void DifficultySelectYesNoPostSetup(AtkUnitBase* addonDifficultySelectYesNo, bool checkAllSteps) { - int num = (_questController.IsRunning ? 1023104881 : 1023104891); - QuestSequence questSequence2 = default(QuestSequence); - Questionable.Model.Quest quest = default(Questionable.Model.Quest); - QuestController.QuestProgress startedQuest = default(QuestController.QuestProgress); - QuestStep questStep = default(QuestStep); - bool flag = default(bool); - while (true) + if (!_questController.IsRunning) { - int num2 = num; - int num3 = 1023104895; - int num4 = num2; - int num5; - int num6; - switch ((num4 | num3) - (num4 & num3)) + return; + } + QuestController.QuestProgress startedQuest = _questController.StartedQuest; + if (startedQuest == null) + { + return; + } + Questionable.Model.Quest quest = startedQuest.Quest; + bool flag; + if (checkAllSteps) + { + flag = quest.FindSequence(startedQuest.Sequence)?.Steps.Any((QuestStep step) => CheckSinglePlayerDutyYesNo(quest.Id, step)) ?? false; + } + else + { + QuestStep questStep = quest.FindSequence(startedQuest.Sequence)?.FindStep(startedQuest.Step); + flag = questStep != null && CheckSinglePlayerDutyYesNo(quest.Id, questStep); + } + if (flag) + { + if (_dutyRetryState.AwaitingOutcome && !_dutyRetryState.CanRetry(_configuration.SinglePlayerDuties.MaxRetries)) { - case 5: - num = 1023104891; - break; - case 7: - { - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-174771791), new object[1] { _configuration.SinglePlayerDuties.RetryDifficulty }); - AtkValue* values = stackalloc AtkValue[2] - { - new AtkValue - { - Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int, - Int = 0 - }, - new AtkValue - { - Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int, - Int = (int)_configuration.SinglePlayerDuties.RetryDifficulty - } - }; - addonDifficultySelectYesNo->FireCallback(2u, values); - num = 1023104894; - break; + _logger.LogInformation("DifficultySelectYesNo: retry limit reached, not auto-confirming"); + return; } - case 10: - return; - case 13: - num = (_dutyRetryState.CanRetry(_configuration.SinglePlayerDuties.MaxRetries) ? 1023104888 : 1023104880); - break; - case 3: - questSequence2 = quest.FindSequence(startedQuest.Sequence); - num = ((questSequence2 == null) ? 1023104883 : 1023104886); - break; - case 9: - num5 = (_202C_206F_200B_206E_200D_200B_206B_202A_200E_206D_200F_202E_202C_206D_202C_200F_206B_206C_202C_202D_200B_202B_206F_202B_202A_206B_206B_200F_202C_206A_202B_202A_206A_202C_202E_200D_206D_200E_202E_206C_202E(questSequence2).Any((QuestStep step) => CheckSinglePlayerDutyYesNo(quest.Id, step)) ? 1 : 0); - goto IL_022c; - case 11: + _logger.LogDebug("Confirming difficulty ({Difficulty}) for quest battle", _configuration.SinglePlayerDuties.RetryDifficulty); + AtkValue* values = stackalloc AtkValue[2] { - QuestSequence? questSequence = quest.FindSequence(startedQuest.Sequence); - questStep = ((questSequence != null) ? _200D_200E_200D_206C_206D_200C_200F_200C_206A_206C_202A_206C_202A_200C_200C_202A_206C_202E_206C_200E_202C_202D_200E_202A_200F_200F_200E_202E_200C_200D_206C_202C_200E_200B_206E_206A_200D_200D_200C_200D_202E(questSequence, startedQuest.Step) : null); - num = ((questStep == null) ? 1023104889 : 1023104893); - break; - } - case 12: - num5 = 0; - goto IL_022c; - case 14: - startedQuest = _questController.StartedQuest; - num = ((startedQuest != null) ? 1023104879 : 1023104885); - break; - case 6: - num6 = 0; - goto IL_0264; - case 8: - num = ((!flag) ? 1023104894 : 1023104895); - break; - case 15: - _202B_202A_206C_206F_206E_202C_202B_206E_200F_206B_200E_202B_202E_206B_200B_206F_206E_202E_202A_200F_206E_202E_200C_206E_206C_200D_202C_200B_202C_200E_206E_206C_206B_200B_202E_202B_206C_202C_202A_202B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1840610405), Array.Empty()); - return; - case 4: - return; - case 1: - return; - case 2: - num6 = (CheckSinglePlayerDutyYesNo(quest.Id, questStep) ? 1 : 0); - goto IL_0264; - case 16: - quest = startedQuest.Quest; - num = ((!checkAllSteps) ? 1023104884 : 1023104892); - break; - case 0: + new AtkValue { - num = ((!_dutyRetryState.AwaitingOutcome) ? 1023104888 : 1023104882); - break; + Type = AtkValueType.Int, + Int = 0 + }, + new AtkValue + { + Type = AtkValueType.Int, + Int = (int)_configuration.SinglePlayerDuties.RetryDifficulty } - IL_022c: - flag = (byte)num5 != 0; - num = 1023104887; - break; - IL_0264: - flag = (byte)num6 != 0; - num = 1023104887; - break; - } + }; + addonDifficultySelectYesNo->FireCallback(2u, values); } } - [MethodImpl(MethodImplOptions.NoInlining)] private ushort? FindTargetTerritoryFromQuestStep(QuestController.QuestProgress currentQuest) { QuestSequence questSequence = currentQuest.Quest.FindSequence(currentQuest.Sequence); - int num = ((questSequence != null) ? (-1997211430) : (-1997211426)); - QuestStep questStep = default(QuestStep); - GatheringPointId gatheringPointId = default(GatheringPointId); - GatheringRoot gatheringRoot = default(GatheringRoot); - QuestStep current = default(QuestStep); - while (true) + if (questSequence == null) { - int num2 = num; - int num3 = -1997211425; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return null; + } + QuestStep questStep = questSequence.FindStep(currentQuest.Step); + if (questStep != null) + { + _logger.LogTrace("FindTargetTerritoryFromQuestStep (current): {CurrentTerritory}, {TargetTerritory}", questStep.TerritoryId, questStep.TargetTerritoryId); + } + if (questStep != null && (questStep.TerritoryId != _clientState.TerritoryType || !questStep.TargetTerritoryId.HasValue) && questStep.InteractionType == EInteractionType.Gather) + { + IGameObject gameObject = _objectTable[0]; + if (_gatheringPointRegistry.TryGetGatheringPointId(questStep.ItemsToGather[0].ItemId, ((EClassJob?)(gameObject as ICharacter)?.ClassJob.RowId).GetValueOrDefault(), out GatheringPointId gatheringPointId) && _gatheringPointRegistry.TryGetGatheringPoint(gatheringPointId, out GatheringRoot gatheringRoot)) { - default: - continue; - case 7: - if (questStep != null) + foreach (QuestStep step in gatheringRoot.Steps) { - num = -1997211431; - continue; - } - break; - case 1: - return null; - case 3: - if (_202A_206C_200B_202D_206C_206E_206C_200F_200E_202B_206E_206D_200C_206E_206A_206C_202C_206F_200F_206A_200B_206F_200B_202B_200B_206B_200B_202E_202D_200B_202A_200E_206E_206C_202D_202B_200E_200E_200B_200E_202E(questStep) == EInteractionType.Gather) - { - num = -1997211433; - continue; - } - break; - case 0: - if (!_200D_202A_200E_206B_200B_206B_206D_202E_202B_206C_206D_202C_206E_200C_206D_202B_206D_206B_206B_202E_206D_200C_206E_200D_202C_206E_206B_206B_206E_200B_202D_202A_206D_206A_206D_206E_206C_200E_202D_202B_202E(questStep).HasValue) - { - num = -1997211428; - continue; - } - break; - case 6: - num = ((_206E_200D_206B_202C_202B_202E_206C_200C_202D_206F_206F_206C_200B_206E_202D_200E_206F_202C_206B_202E_206F_206B_200F_202A_202D_200B_206A_202B_202B_206B_202D_202C_206A_206A_206E_200D_200E_202B_206A_202B_202E(questStep) != _200D_206E_200C_200C_202A_200B_200E_202D_206E_206E_200E_200D_206D_200C_202B_200B_202A_206F_206F_206F_206C_206B_200C_200B_200F_200E_200D_200E_206B_202E_200E_200C_206E_200C_206F_206E_202B_206D_206B_202E(_clientState)) ? (-1997211428) : (-1997211425)); - continue; - case 2: - _206D_200D_200E_202C_200F_200E_202E_206B_206A_202C_206E_202E_202D_206D_206E_206E_200D_200B_200B_206C_206E_200D_200D_206F_200D_202C_202B_200D_202C_200D_200E_206A_200F_202D_202B_202C_206C_200F_200D_200F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1599957604), new object[2] - { - _206E_200D_206B_202C_202B_202E_206C_200C_202D_206F_206F_206C_200B_206E_202D_200E_206F_202C_206B_202E_206F_206B_200F_202A_202D_200B_206A_202B_202B_206B_202D_202C_206A_206A_206E_200D_200E_202B_206A_202B_202E(questStep), - _200D_202A_200E_206B_200B_206B_206D_202E_202B_206C_206D_202C_206E_200C_206D_202B_206D_206B_206B_202E_206D_200C_206E_200D_202C_206E_206B_206B_206E_200B_202D_202A_206D_206A_206D_206E_206C_200E_202D_202B_202E(questStep) - }); - num = -1997211432; - continue; - case 8: - { - IGameObject gameObject = _206C_206D_200D_200F_202C_202D_200D_206A_200E_200F_206C_206A_206F_202A_206A_206C_200B_202B_206B_206A_200B_200F_202A_206D_202B_206F_206F_202C_202E_206E_206D_202C_206A_206E_200C_206B_206A_206E_202D_200D_202E(_objectTable, 0); - GatheringPointRegistry gatheringPointRegistry = _gatheringPointRegistry; - uint itemId = _202C_206A_200E_206D_206F_200E_202B_200B_202E_206D_200C_206B_202C_200C_206D_200D_206E_200D_202E_206E_200D_200B_206F_206E_206F_200F_206C_206E_206B_206E_200B_202B_202E_200C_202A_200E_200D_206F_200D_202E(_200C_206F_206A_206E_200B_206A_200C_202D_206A_206F_206D_200E_202B_206E_206C_206E_202B_200C_202A_202E_200B_200F_200E_202A_206D_202A_200F_206A_206F_206E_206C_202C_206D_206E_200B_200C_202A_206E_206E_206B_202E(questStep)[0]); - ICharacter obj = gameObject as ICharacter; - if (gatheringPointRegistry.TryGetGatheringPointId(itemId, ((EClassJob?)((obj != null) ? new uint?(_202A_206F_206C_200B_206F_200B_206E_206D_206F_202D_206D_202E_202A_200D_206B_206B_202E_206F_206B_200F_206D_202C_206B_206B_202D_206B_206A_202A_202B_202B_200D_202C_206E_206F_202B_206C_206F_206D_200E_206B_202E(obj).RowId) : ((uint?)null))).GetValueOrDefault(), out gatheringPointId)) - { - num = -1997211434; - continue; - } - break; - } - case 9: - if (_gatheringPointRegistry.TryGetGatheringPoint(gatheringPointId, out gatheringRoot)) - { - num = -1997211435; - continue; - } - break; - case 4: - num = -1997211426; - continue; - case 5: - questStep = _206D_200E_206F_202C_202B_206B_206B_200E_206F_200F_202D_206B_202D_206D_200E_206A_202D_202A_200C_200E_200E_206A_206C_202D_206C_206F_202B_206A_206B_206E_206F_200C_202D_200F_206A_200B_206D_202B_202B_200C_202E(questSequence, currentQuest.Step); - num = ((questStep == null) ? (-1997211432) : (-1997211427)); - continue; - case 10: - { - using (List.Enumerator enumerator = _200F_202D_202C_202A_200D_200D_200B_200F_200E_206D_202B_206B_202C_202E_206E_202D_202D_206D_200C_206C_202B_200E_206C_206E_202B_202C_200B_206A_202C_206A_200C_206F_202E_206C_202E_202C_206A_206E_202B_200C_202E(gatheringRoot).GetEnumerator()) - { - num = 1631096220; - while (true) + if (step.TerritoryId == _clientState.TerritoryType && step.TargetTerritoryId.HasValue) { - int num7 = num; - num3 = 1631096222; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - _206D_200D_200E_202C_200F_200E_202E_206B_206A_202C_206E_202E_202D_206D_206E_206E_200D_200B_200B_206C_206E_200D_200D_206F_200D_202C_202B_200D_202C_200D_200E_206A_200F_202D_202B_202C_206C_200F_200D_200F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(460838574), new object[2] - { - _206E_200D_206B_202C_202B_202E_206C_200C_202D_206F_206F_206C_200B_206E_202D_200E_206F_202C_206B_202E_206F_206B_200F_202A_202D_200B_206A_202B_202B_206B_202D_202C_206A_206A_206E_200D_200E_202B_206A_202B_202E(current), - _200D_202A_200E_206B_200B_206B_206D_202E_202B_206C_206D_202C_206E_200C_206D_202B_206D_206B_206B_202E_206D_200C_206E_200D_202C_206E_206B_206B_206E_200B_202D_202A_206D_206A_206D_206E_206C_200E_202D_202B_202E(current) - }); - return _200D_202A_200E_206B_200B_206B_206D_202E_202B_206C_206D_202C_206E_200C_206D_202B_206D_206B_206B_202E_206D_200C_206E_200D_202C_206E_206B_206B_206E_200B_202D_202A_206D_206A_206D_206E_206C_200E_202D_202B_202E(current); - case 0: - num = ((!_200D_202A_200E_206B_200B_206B_206D_202E_202B_206C_206D_202C_206E_200C_206D_202B_206D_206B_206B_202E_206D_200C_206E_200D_202C_206E_206B_206B_206E_200B_202D_202A_206D_206A_206D_206E_206C_200E_202D_202B_202E(current).HasValue) ? 1631096220 : 1631096221); - break; - case 2: - num = (enumerator.MoveNext() ? 1631096219 : 1631096223); - break; - case 4: - num = 1631096220; - break; - case 5: - current = enumerator.Current; - num = ((_206E_200D_206B_202C_202B_202E_206C_200C_202D_206F_206F_206C_200B_206E_202D_200E_206F_202C_206B_202E_206F_206B_200F_202A_202D_200B_206A_202B_202B_206B_202D_202C_206A_206A_206E_200D_200E_202B_206A_202B_202E(current) != _200D_206E_200C_200C_202A_200B_200E_202D_206E_206E_200E_200D_206D_200C_202B_200B_202A_206F_206F_206F_206C_206B_200C_200B_200F_200E_200D_200E_206B_202E_200E_200C_206E_200C_206F_206E_202B_206D_206B_202E(_clientState)) ? 1631096220 : 1631096222); - break; - case 1: - goto end_IL_0251; - } - continue; - end_IL_0251: - break; + _logger.LogTrace("FindTargetTerritoryFromQuestStep (gathering): {CurrentTerritory}, {TargetTerritory}", step.TerritoryId, step.TargetTerritoryId); + return step.TargetTerritoryId; } } - break; } - } - break; } - num = ((questStep == null) ? 752015086 : 752015087); - while (true) + if (questStep == null || !questStep.TargetTerritoryId.HasValue) { - int num8 = num; - int num3 = 752015085; - int num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) + _logger.LogTrace("FindTargetTerritoryFromQuestStep: Checking previous step..."); + questStep = questSequence.FindStep((currentQuest.Step == 255) ? (questSequence.Steps.Count - 1) : (currentQuest.Step - 1)); + if (questStep != null) { - case 3: - _206D_200D_200E_202C_200F_200E_202E_206B_206A_202C_206E_202E_202D_206D_206E_206E_200D_200B_200B_206C_206E_200D_200D_206F_200D_202C_202B_200D_202C_200D_200E_206A_200F_202D_202B_202C_206C_200F_200D_200F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-731518161), Array.Empty()); - questStep = _206D_200E_206F_202C_202B_206B_206B_200E_206F_200F_202D_206B_202D_206D_200E_206A_202D_202A_200C_200E_200E_206A_206C_202D_206C_206F_202B_206A_206B_206E_206F_200C_202D_200F_206A_200B_206D_202B_202B_200C_202E(questSequence, (currentQuest.Step == 255) ? (_202C_206F_200B_206E_200D_200B_206B_202A_200E_206D_200F_202E_202C_206D_202C_200F_206B_206C_202C_202D_200B_202B_206F_202B_202A_206B_206B_200F_202C_206A_202B_202A_206A_202C_202E_200D_206D_200E_202E_206C_202E(questSequence).Count - 1) : (currentQuest.Step - 1)); - num = ((questStep == null) ? 752015082 : 752015080); - break; - case 2: - num = (_200D_202A_200E_206B_200B_206B_206D_202E_202B_206C_206D_202C_206E_200C_206D_202B_206D_206B_206B_202E_206D_200C_206E_200D_202C_206E_206B_206B_206E_200B_202D_202A_206D_206A_206D_206E_206C_200E_202D_202B_202E(questStep).HasValue ? 752015082 : 752015086); - break; - case 0: - num = 752015087; - break; - case 1: - num = (_200D_202A_200E_206B_200B_206B_206D_202E_202B_206C_206D_202C_206E_200C_206D_202B_206D_206B_206B_202E_206D_200C_206E_200D_202C_206E_206B_206B_206E_200B_202D_202A_206D_206A_206D_206E_206C_200E_202D_202B_202E(questStep).HasValue ? 752015083 : 752015081); - break; - case 7: - num = ((questStep == null) ? 752015081 : 752015084); - break; - case 6: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-176972039), new object[1] { _200D_202A_200E_206B_200B_206B_206D_202E_202B_206C_206D_202C_206E_200C_206D_202B_206D_206B_206B_202E_206D_200C_206E_200D_202C_206E_206B_206B_206E_200B_202D_202A_206D_206A_206D_206E_206C_200E_202D_202B_202E(questStep) }); - return _200D_202A_200E_206B_200B_206B_206D_202E_202B_206C_206D_202C_206E_200C_206D_202B_206D_206B_206B_202E_206D_200C_206E_200D_202C_206E_206B_206B_206E_200B_202D_202A_206D_206A_206D_206E_206C_200E_202D_202B_202E(questStep); - case 5: - _206D_200D_200E_202C_200F_200E_202E_206B_206A_202C_206E_202E_202D_206D_206E_206E_200D_200B_200B_206C_206E_200D_200D_206F_200D_202C_202B_200D_202C_200D_200E_206A_200F_202D_202B_202C_206C_200F_200D_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1109011822), new object[2] - { - _206E_200D_206B_202C_202B_202E_206C_200C_202D_206F_206F_206C_200B_206E_202D_200E_206F_202C_206B_202E_206F_206B_200F_202A_202D_200B_206A_202B_202B_206B_202D_202C_206A_206A_206E_200D_200E_202B_206A_202B_202E(questStep), - _200D_202A_200E_206B_200B_206B_206D_202E_202B_206C_206D_202C_206E_200C_206D_202B_206D_206B_206B_202E_206D_200C_206E_200D_202C_206E_206B_206B_206E_200B_202D_202A_206D_206A_206D_206E_206C_200E_202D_202B_202E(questStep) - }); - num = 752015082; - break; - case 4: - _206D_200D_200E_202C_200F_200E_202E_206B_206A_202C_206E_202E_202D_206D_206E_206E_200D_200B_200B_206C_206E_200D_200D_206F_200D_202C_202B_200D_202C_200D_200E_206A_200F_202D_202B_202C_206C_200F_200D_200F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(179258549), Array.Empty()); - return null; + _logger.LogTrace("FindTargetTerritoryFromQuestStep (previous): {CurrentTerritory}, {TargetTerritory}", questStep.TerritoryId, questStep.TargetTerritoryId); } } + if (questStep == null || !questStep.TargetTerritoryId.HasValue) + { + _logger.LogTrace("FindTargetTerritoryFromQuestStep: Not found"); + return null; + } + _logger.LogDebug("Target territory for quest step: {TargetTerritory}", questStep.TargetTerritoryId); + return questStep.TargetTerritoryId; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool TryFindWarp(ushort targetTerritoryId, string actualPrompt, [NotNullWhen(true)] out uint? warpId, [NotNullWhen(true)] out string? warpText) { - IEnumerator enumerator = _dataManager.GetExcelSheet().Where(delegate(Warp x) + foreach (Warp item in from x in _dataManager.GetExcelSheet() + where x.RowId != 0 && x.TerritoryType.RowId == targetTerritoryId + select x) { - int num8 = ((x.RowId == 0) ? (-1261934104) : (-1261934103)); - while (true) + string text = item.Name.WithCertainMacroCodeReplacements(); + string text2 = item.Question.WithCertainMacroCodeReplacements(); + if (!string.IsNullOrEmpty(text2) && GameFunctions.GameStringEquals(text2, actualPrompt)) { - int num9 = num8; - int num10 = -1261934104; - int num11 = num9; - switch ((num11 | num10) - (num11 & num10)) - { - case 2: - goto IL_0048; - case 0: - return false; - case 1: - return x.TerritoryType.RowId == targetTerritoryId; - } - continue; - IL_0048: - num8 = -1261934103; + warpId = item.RowId; + warpText = text2; + return true; } - }).GetEnumerator(); - try - { - int num = -1235873289; - string text = default(string); - Warp current = default(Warp); - string text2 = default(string); - while (true) + if (!string.IsNullOrEmpty(text) && GameFunctions.GameStringEquals(text, actualPrompt)) { - int num2 = num; - int num3 = -1235873289; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - num = ((!GameFunctions.GameStringEquals(text, actualPrompt)) ? (-1235873291) : (-1235873282)); - break; - case 6: - current = enumerator.Current; - text2 = _200F_200F_206A_202B_200F_200E_200C_200F_202C_206A_206F_202C_200C_206C_200C_202D_202E_200B_200B_206F_206A_206D_200E_206D_202E_202B_200C_206A_200D_206C_202D_206D_206A_202B_202B_202A_200E_206E_206C_206C_202E(current.Name); - text = _200F_200F_206A_202B_200F_200E_200C_200F_202C_206A_206F_202C_200C_206C_200C_202D_202E_200B_200B_206F_206A_206D_200E_206D_202E_202B_200C_206A_200D_206C_202D_206D_206A_202B_202B_202A_200E_206E_206C_206C_202E(current.Question); - num = (_200B_206D_200D_206B_202D_206E_200E_206C_206C_202E_206E_200D_200B_206B_206B_200F_200D_202A_202C_202C_200C_206A_206E_206F_206C_200B_206A_202A_200E_200B_200D_206B_206B_206F_206D_202C_206D_202B_202C_202A_202E(text) ? (-1235873291) : (-1235873290)); - break; - case 0: - num = (_206C_206B_202B_206D_200F_202A_200B_202C_206B_206D_202B_202C_206A_206E_202C_206A_206B_202C_206E_206C_202D_206C_200E_202A_200B_200B_200C_200E_202D_206D_200B_202E_206C_202E_200B_200B_200D_206D_200E_202C_202E((IEnumerator)enumerator) ? (-1235873295) : (-1235873294)); - break; - case 2: - num = (_200B_206D_200D_206B_202D_206E_200E_206C_206C_202E_206E_200D_200B_206B_206B_200F_200D_202A_202C_202C_200C_206A_206E_206F_206C_200B_206A_202A_200E_200B_200D_206B_206B_206F_206D_202C_206D_202B_202C_202A_202E(text2) ? (-1235873281) : (-1235873292)); - break; - case 4: - warpId = current.RowId; - warpText = text2; - return true; - case 3: - num = ((!GameFunctions.GameStringEquals(text2, actualPrompt)) ? (-1235873281) : (-1235873293)); - break; - case 8: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1283589118), new object[1] { text }); - num = -1235873289; - break; - case 9: - warpId = current.RowId; - warpText = text; - return true; - case 7: - num = -1235873289; - break; - case 5: - goto end_IL_0045; - } - continue; - end_IL_0045: - break; - } - } - finally - { - int num = ((enumerator == null) ? (-64783073) : (-64783076)); - while (true) - { - int num7 = num; - int num3 = -64783074; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -64783076; - break; - case 1: - goto end_IL_0218; - case 2: - _202B_206A_200F_206A_206C_202C_206D_202D_200E_202C_200F_202A_202A_206B_200D_206B_206E_202D_202B_200C_202E_200B_200D_206C_200B_206E_206D_206B_202C_200D_200C_206F_202B_200D_200F_206E_206E_200E_202E_202D_202E((IDisposable)enumerator); - num = -64783073; - break; - } - continue; - end_IL_0218: - break; + warpId = item.RowId; + warpText = text; + return true; } + _logger.LogDebug("Ignoring prompt '{Prompt}'", text2); } warpId = null; warpText = null; @@ -3078,563 +1125,133 @@ internal sealed class InteractionUiController : IDisposable private unsafe void PointMenuPostSetup(AddonEvent type, AddonArgs args) { - AtkUnitBase* address = (AtkUnitBase*)_200C_202E_202E_200C_206B_202B_200C_206B_200C_200D_206C_206C_200F_202A_206F_202B_206C_206E_206E_206C_200F_200D_206A_206F_200E_206E_202E_200F_200C_206B_206E_202E_200B_202C_200D_202A_200B_200D_200F_200D_202E(args).Address; + AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address; PointMenuPostSetup(address, checkAllSteps: false); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void PointMenuPostSetup(AtkUnitBase* addonPointMenu, bool checkAllSteps) { - int num = (checkAllSteps ? (-2076994705) : (-2076994712)); - QuestSequence questSequence = default(QuestSequence); - QuestController.QuestProgress startedQuest = default(QuestController.QuestProgress); - QuestStep questStep = default(QuestStep); - int pointMenuCounter = default(int); - while (true) + if (!checkAllSteps && !ShouldHandleUiInteractions) { - int num2 = num; - int num3 = -2076994710; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 13: - _206D_202E_202E_200D_202C_206A_202B_200F_202D_206F_200C_206A_206C_202A_200D_200D_202A_206D_202D_206B_202D_206F_200C_200B_206B_200F_206A_206E_202D_206B_200C_206C_200E_206A_200D_206C_200E_206F_206B_202C_202E((ILogger)_logger, 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(-629140143), Array.Empty()); - return; - case 2: - num = (ShouldHandleUiInteractions ? (-2076994705) : (-2076994707)); - break; - case 9: - questSequence = startedQuest.Quest.FindSequence(startedQuest.Sequence); - num = ((questSequence != null) ? (-2076994709) : (-2076994710)); - break; - case 0: - return; - case 4: - num = ((_202C_200F_206B_206F_202D_206D_200F_202B_202A_206F_202C_202D_202E_206A_202B_202D_200B_206B_206A_200C_200D_206E_200C_200E_206F_206D_206B_200F_206A_202A_206B_200F_202A_206C_200C_206D_202E_202E_202C_200F_202E(questStep).Count != 0) ? (-2076994714) : (-2076994708)); - break; - case 6: - _206D_202E_202E_200D_202C_206A_202B_200F_202D_206F_200C_206A_206C_202A_200D_200D_202A_206D_202D_206B_202D_206F_200C_200B_206B_200F_206A_206E_202D_206B_200C_206C_200E_206A_200D_206C_200E_206F_206B_202C_202E((ILogger)_logger, 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(600445072), Array.Empty()); - return; - case 3: - return; - case 1: - questStep = _206D_200E_206F_202C_202B_206B_206B_200E_206F_200F_202D_206B_202D_206D_200E_206A_202D_202A_200C_200E_200E_206A_206C_202D_206C_206F_202B_206A_206B_206E_206F_200C_202D_200F_206A_200B_206D_202B_202B_200C_202E(questSequence, startedQuest.Step); - num = ((questStep != null) ? (-2076994706) : (-2076994711)); - break; - case 11: - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1939621760), Array.Empty()); - return; - case 10: - { - uint num7 = _202C_200F_206B_206F_202D_206D_200F_202B_202A_206F_202C_202D_202E_206A_202B_202D_200B_206B_206A_200C_200D_206E_200C_200E_206F_206D_206B_200F_206A_202A_206B_200F_202A_206C_200C_206D_202E_202E_202C_200F_202E(questStep)[pointMenuCounter]; - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1247950313), new object[2] { num7, pointMenuCounter }); - AtkValue* values = stackalloc AtkValue[2] - { - new AtkValue - { - Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int, - Int = 13 - }, - new AtkValue - { - Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.UInt, - UInt = num7 - } - }; - addonPointMenu->FireCallback(2u, values); - startedQuest.IncreasePointMenuCounter(); - return; - } - case 8: - num = -2076994712; - break; - case 7: - return; - case 5: - startedQuest = _questController.StartedQuest; - num = ((startedQuest != null) ? (-2076994717) : (-2076994719)); - break; - case 12: - pointMenuCounter = startedQuest.StepProgress.PointMenuCounter; - num = ((pointMenuCounter < _202C_200F_206B_206F_202D_206D_200F_202B_202A_206F_202C_202D_202E_206A_202B_202D_200B_206B_206A_200C_200D_206E_200C_200E_206F_206D_206B_200F_206A_202A_206B_200F_202A_206C_200C_206D_202E_202E_202C_200F_202E(questStep).Count) ? (-2076994720) : (-2076994713)); - break; - } + return; } + QuestController.QuestProgress startedQuest = _questController.StartedQuest; + if (startedQuest == null) + { + _logger.LogDebug("Ignoring point menu, no active quest"); + return; + } + QuestSequence questSequence = startedQuest.Quest.FindSequence(startedQuest.Sequence); + if (questSequence == null) + { + return; + } + QuestStep questStep = questSequence.FindStep(startedQuest.Step); + if (questStep == null) + { + return; + } + if (questStep.PointMenuChoices.Count == 0) + { + _logger.LogWarning("No point menu choices"); + return; + } + int pointMenuCounter = startedQuest.StepProgress.PointMenuCounter; + if (pointMenuCounter >= questStep.PointMenuChoices.Count) + { + _logger.LogWarning("No remaining point menu choices"); + return; + } + uint num = questStep.PointMenuChoices[pointMenuCounter]; + _logger.LogDebug("Handling point menu, picking choice {Choice} (index = {Index})", num, pointMenuCounter); + AtkValue* values = stackalloc AtkValue[2] + { + new AtkValue + { + Type = AtkValueType.Int, + Int = 13 + }, + new AtkValue + { + Type = AtkValueType.UInt, + UInt = num + } + }; + addonPointMenu->FireCallback(2u, values); + startedQuest.IncreasePointMenuCounter(); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void HousingSelectBlockPostSetup(AddonEvent type, AddonArgs args) { - int num = (ShouldHandleUiInteractions ? 514883216 : 514883217); - while (true) + if (ShouldHandleUiInteractions) { - int num2 = num; - int num3 = 514883216; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0048; - case 0: - { - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, 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(-457521013), Array.Empty()); - AtkUnitBase* address = (AtkUnitBase*)_200C_202E_202E_200C_206B_202B_200C_206B_200C_200D_206C_206C_200F_202A_206F_202B_206C_206E_206E_206C_200F_200D_206A_206F_200E_206E_202E_200F_200C_206B_206E_202E_200B_202C_200D_202A_200B_200D_200F_200D_202E(args).Address; - address->FireCallbackInt(0); - return; - } - case 1: - return; - } - continue; - IL_0048: - num = 514883217; + _logger.LogDebug("Confirming selected housing ward"); + AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address; + address->FireCallbackInt(0); } } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void EasterMowingResultPostSetup(AddonEvent type, AddonArgs args) { - int num = (_seasonalDutyController.IsRunning ? 1290654287 : 1290654286); - while (true) + if (_seasonalDutyController.IsRunning || ShouldHandleUiInteractions) { - int num2 = num; - int num3 = 1290654285; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + _logger.LogDebug("Dismissing EasterMowingResult"); + AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address; + AtkValue* values = stackalloc AtkValue[3] { - case 2: - { - _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(175571683), Array.Empty()); - AtkUnitBase* address = (AtkUnitBase*)_200C_202E_202E_200C_206B_202B_200C_206B_200C_200D_206C_206C_200F_202A_206F_202B_206C_206E_206E_206C_200F_200D_206A_206F_200E_206E_202E_200F_200C_206B_206E_202E_200B_202C_200D_202A_200B_200D_200F_200D_202E(args).Address; - AtkValue* values = stackalloc AtkValue[3] + new AtkValue { - new AtkValue - { - Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int, - Int = -1 - }, - new AtkValue - { - Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int, - Int = 1 - }, - new AtkValue - { - Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int, - Int = 1 - } - }; - address->FireCallback(3u, values); - address->Close(fireCallback: true); - return; - } - case 1: - return; - case 3: - num = (ShouldHandleUiInteractions ? 1290654287 : 1290654284); - break; - case 0: - num = 1290654286; - break; - } + Type = AtkValueType.Int, + Int = -1 + }, + new AtkValue + { + Type = AtkValueType.Int, + Int = 1 + }, + new AtkValue + { + Type = AtkValueType.Int, + Int = 1 + } + }; + address->FireCallback(3u, values); + address->Close(fireCallback: true); } } private StringOrRegex? ResolveReference(Questionable.Model.Quest? quest, string? excelSheet, ExcelRef? excelRef, bool isRegExp) { - int num = ((excelRef != null) ? (-2041443838) : (-2041443828)); - while (true) + if (excelRef == null) { - int num2 = num; - int num3 = -2041443830; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return _excelFunctions.GetDialogueText(quest, excelSheet, _202E_202E_200B_206B_206C_202A_206F_206B_200C_206B_200F_206E_202E_206B_202E_206B_202A_206B_202B_202C_200D_202A_200E_202A_206D_200D_206F_202A_202A_206F_202A_200B_200E_200B_202E_200B_200E_206D_206B_206D_202E(excelRef), isRegExp); - case 5: - num = ((_202D_202D_206D_206C_206D_206B_206A_206F_206B_200F_206D_200E_206D_206D_206D_200C_200C_200D_202E_202A_206D_202B_202E_202D_206B_200F_202D_202D_202E_206C_202E_202D_202C_202E_200E_200F_206A_202A_206C_206D_202E(excelRef) != ExcelRef.EType.RowId) ? (-2041443826) : (-2041443829)); - break; - case 4: - num = ((_202D_202D_206D_206C_206D_206B_206A_206F_206B_200F_206D_200E_206D_206D_206D_200C_200C_200D_202E_202A_206D_202B_202E_202D_206B_200F_202D_202D_202E_206C_202E_202D_202C_202E_200E_200F_206A_202A_206C_206D_202E(excelRef) != ExcelRef.EType.RawString) ? (-2041443831) : (-2041443827)); - break; - case 3: - return null; - case 1: - return _excelFunctions.GetDialogueTextByRowId(excelSheet, _202D_200E_200C_202B_206A_200F_206F_202B_206D_206B_202B_206C_200D_202A_200E_200F_200B_202A_206D_206D_202D_202A_206A_206B_206A_206B_200B_202D_206F_206E_206A_200C_200D_206D_200E_200B_202A_206B_206B_202E(excelRef), isRegExp); - case 6: - return null; - case 8: - num = ((_202D_202D_206D_206C_206D_206B_206A_206F_206B_200F_206D_200E_206D_206D_206D_200C_200C_200D_202E_202A_206D_202B_202E_202D_206B_200F_202D_202D_202E_206C_202E_202D_202C_202E_200E_200F_206A_202A_206C_206D_202E(excelRef) != ExcelRef.EType.Key) ? (-2041443825) : (-2041443830)); - break; - case 2: - num = -2041443828; - break; - case 7: - return new StringOrRegex(_202C_200C_200B_202A_202A_202D_202C_202E_200F_206F_206A_200B_202A_202D_206A_202D_206D_202C_202B_200F_200F_200F_200C_206A_206C_200C_206B_206B_200E_202D_206F_200C_202E_206B_206F_200F_200B_206E_206C_206E_202E(excelRef)); - } + return null; } + if (excelRef.Type == ExcelRef.EType.Key) + { + return _excelFunctions.GetDialogueText(quest, excelSheet, excelRef.AsKey(), isRegExp); + } + if (excelRef.Type == ExcelRef.EType.RowId) + { + return _excelFunctions.GetDialogueTextByRowId(excelSheet, excelRef.AsRowId(), isRegExp); + } + if (excelRef.Type == ExcelRef.EType.RawString) + { + return new StringOrRegex(excelRef.AsRawString()); + } + return null; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Dispose() { - _206F_202A_200C_200E_202E_200D_202E_200C_206F_202A_202C_206F_202E_206A_202E_200B_206E_206F_200E_200D_202D_200F_206E_202A_202C_200F_206A_202E_202A_202A_202A_200E_202B_202A_206C_202B_206A_206D_202A_206B_202E(_addonLifecycle, AddonEvent.PostSetup, 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(-1845712813), (IAddonLifecycle.AddonEventDelegate)EasterMowingResultPostSetup); - _206F_202A_200C_200E_202E_200D_202E_200C_206F_202A_202C_206F_202E_206A_202E_200B_206E_206F_200E_200D_202D_200F_206E_202A_202C_200F_206A_202E_202A_202A_202A_200E_202B_202A_206C_202B_206A_206D_202A_206B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1462282105), (IAddonLifecycle.AddonEventDelegate)HousingSelectBlockPostSetup); - _206F_202A_200C_200E_202E_200D_202E_200C_206F_202A_202C_206F_202E_206A_202E_200B_206E_206F_200E_200D_202D_200F_206E_202A_202C_200F_206A_202E_202A_202A_202A_200E_202B_202A_206C_202B_206A_206D_202A_206B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1285367197), (IAddonLifecycle.AddonEventDelegate)PointMenuPostSetup); - _206F_202A_200C_200E_202E_200D_202E_200C_206F_202A_202C_206F_202E_206A_202E_200B_206E_206F_200E_200D_202D_200F_206E_202A_202C_200F_206A_202E_202A_202A_202A_200E_202B_202A_206C_202B_206A_206D_202A_206B_202E(_addonLifecycle, AddonEvent.PostSetup, 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(-2016464440), (IAddonLifecycle.AddonEventDelegate)DifficultySelectYesNoPostSetup); - _206F_202A_200C_200E_202E_200D_202E_200C_206F_202A_202C_206F_202E_206A_202E_200B_206E_206F_200E_200D_202D_200F_206E_202A_202C_200F_206A_202E_202A_202A_202A_200E_202B_202A_206C_202B_206A_206D_202A_206B_202E(_addonLifecycle, AddonEvent.PostUpdate, 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(-1358767050), (IAddonLifecycle.AddonEventDelegate)SelectYesnoDeathRecoveryPostUpdate); - _206F_202A_200C_200E_202E_200D_202E_200C_206F_202A_202C_206F_202E_206A_202E_200B_206E_206F_200E_200D_202D_200F_206E_202A_202C_200F_206A_202E_202A_202A_202A_200E_202B_202A_206C_202B_206A_206D_202A_206B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(559979746), (IAddonLifecycle.AddonEventDelegate)SelectYesnoPostSetup); - _206F_202A_200C_200E_202E_200D_202E_200C_206F_202A_202C_206F_202E_206A_202E_200B_206E_206F_200E_200D_202D_200F_206E_202A_202C_200F_206A_202E_202A_202A_202A_200E_202B_202A_206C_202B_206A_206D_202A_206B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-888070793), (IAddonLifecycle.AddonEventDelegate)SelectIconStringPostSetup); - _206F_202A_200C_200E_202E_200D_202E_200C_206F_202A_202C_206F_202E_206A_202E_200B_206E_206F_200E_200D_202D_200F_206E_202A_202C_200F_206A_202E_202A_202A_202A_200E_202B_202A_206C_202B_206A_206D_202A_206B_202E(_addonLifecycle, AddonEvent.PostSetup, 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(-1068435547), (IAddonLifecycle.AddonEventDelegate)CutsceneSelectStringPostSetup); - _206F_202A_200C_200E_202E_200D_202E_200C_206F_202A_202C_206F_202E_206A_202E_200B_206E_206F_200E_200D_202D_200F_206E_202A_202C_200F_206A_202E_202A_202A_202A_200E_202B_202A_206C_202B_206A_206D_202A_206B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-467046057), (IAddonLifecycle.AddonEventDelegate)SelectStringPostSetup); + _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "EasterMowingResult", EasterMowingResultPostSetup); + _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "HousingSelectBlock", HousingSelectBlockPostSetup); + _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "PointMenu", PointMenuPostSetup); + _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "DifficultySelectYesNo", DifficultySelectYesNoPostSetup); + _addonLifecycle.UnregisterListener(AddonEvent.PostUpdate, "SelectYesno", SelectYesnoDeathRecoveryPostUpdate); + _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "SelectYesno", SelectYesnoPostSetup); + _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "SelectIconString", SelectIconStringPostSetup); + _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "CutSceneSelectString", CutsceneSelectStringPostSetup); + _addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "SelectString", SelectStringPostSetup); _questController.AutomationTypeChanged -= HandleCurrentDialogueChoices; } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static void _206C_202C_200D_200B_206E_200F_206E_206E_206C_206A_206B_206E_206A_202C_202B_200D_200C_200D_206E_206C_200F_200D_202D_200B_200D_202A_202E_200E_206B_206D_202A_206B_200C_200F_200B_206C_202E_200C_206E_206B_202E(IAddonLifecycle P_0, AddonEvent P_1, string P_2, IAddonLifecycle.AddonEventDelegate P_3) - { - P_0.RegisterListener(P_1, P_2, P_3); - } - - static uint _200D_206E_200C_200C_202A_200B_200E_202D_206E_206E_200E_200D_206D_200C_202B_200B_202A_206F_206F_206F_206C_206B_200C_200B_200F_200E_200D_200E_206B_202E_200E_200C_206E_200C_206F_206E_202B_206D_206B_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static void _200D_202E_202B_202E_202C_202A_206B_206E_206E_200E_206F_206A_202B_200B_202E_206D_206E_206B_206E_206B_200F_206F_200F_200F_200C_200D_206F_202A_206A_202D_206D_202A_202A_200B_202B_202A_200D_202A_202A_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static AtkUnitBasePtr _200C_202E_202E_200C_206B_202B_200C_206B_200C_200D_206C_206C_200F_202A_206F_202B_206C_206E_206E_206C_200F_200D_206A_206F_200E_206E_202E_200F_200C_206B_206E_202E_200B_202C_200D_202A_200B_200D_200F_200D_202E(AddonArgs P_0) - { - return P_0.Addon; - } - - static string _202C_206E_202E_206D_202C_200F_202A_202E_202D_202C_200D_206E_202E_202C_200E_202E_202C_200B_206F_202B_202E_202A_202E_206D_206F_202A_200C_202E_202D_200D_202A_200E_200E_206D_202D_202D_206D_202D_200B_200C_202E(AtkValue P_0) - { - return P_0.ReadAtkString(); - } - - static bool _200B_206D_200D_206B_202D_206E_200E_206C_206C_202E_206E_200D_200B_206B_206B_200F_200D_202A_202C_202C_200C_206A_206E_206F_206C_200B_206A_202A_200E_200B_200D_206B_206B_206F_206D_202C_206D_202B_202C_202A_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static QuestStep _200D_200E_200D_206C_206D_200C_200F_200C_206A_206C_202A_206C_202A_200C_200C_202A_206C_202E_206C_200E_202C_202D_200E_202A_200F_200F_200E_202E_200C_200D_206C_202C_200E_200B_206E_206A_200D_200D_200C_200D_202E(QuestSequence P_0, int P_1) - { - return P_0.FindStep(P_1); - } - - static EInteractionType _202A_206C_200B_202D_206C_206E_206C_200F_200E_202B_206E_206D_200C_206E_206A_206C_202C_206F_200F_206A_200B_206F_200B_202B_200B_206B_200B_202E_202D_200B_202A_200E_206E_206C_202D_202B_200E_200E_200B_200E_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static ElementId _200E_200E_200E_200B_202B_202D_206F_200E_206F_202D_206A_206A_200C_206E_200B_206B_202D_206F_202D_200B_200B_206A_202B_206F_200E_200F_206C_206F_202C_200F_206F_206F_206A_202B_202E_200C_200B_200E_200E_206B_202E(QuestStep P_0) - { - return P_0.PickUpQuestId; - } - - static List _202B_200C_202E_200B_202E_202E_200C_206C_200B_200F_200D_200C_202C_202E_206A_202E_202D_206E_202C_206E_206E_200B_200D_200B_206A_200E_202A_206E_200D_200F_200E_200F_200D_206C_206B_200D_200F_200B_206A_202E_202E(QuestSequence P_0) - { - return P_0.Steps; - } - - static List _202C_206F_200B_206E_200D_200B_206B_202A_200E_206D_200F_202E_202C_206D_202C_200F_206B_206C_202C_202D_200B_202B_206F_202B_202A_206B_206B_200F_202C_206A_202B_202A_206A_202C_202E_200D_206D_200E_202E_206C_202E(QuestSequence P_0) - { - return P_0.Steps; - } - - static List _200E_206A_200F_200C_206D_206A_202B_206D_206E_206A_200B_200B_202E_206C_202C_206E_206F_200C_202E_202A_200C_200F_200E_206E_206F_202C_200B_202A_206B_206E_206F_200E_206D_206A_202E_200C_206C_206B_202E_202E(QuestStep P_0) - { - return P_0.DialogueChoices; - } - - static PurchaseMenu _206E_200E_206F_202C_200F_206A_206D_202D_202C_202E_200B_200B_200E_206C_202D_206E_202E_206F_206C_200F_206E_200E_206A_200B_200F_202B_200E_206B_202A_206D_200E_202D_206E_206A_202E_202D_200D_206B_200D_200E_202E(QuestStep P_0) - { - return P_0.PurchaseMenu; - } - - static DialogueChoice _200D_200E_206A_202E_200F_206B_206D_206B_200C_200E_202D_206C_206F_200B_200C_200F_202A_202D_206D_200B_206E_206F_200F_200B_202C_200B_202B_202B_202E_206B_202C_202B_200D_206B_206A_202B_206F_206B_202B_206D_202E() - { - return new DialogueChoice(); - } - - static void _202B_206E_200F_202A_206A_200C_202C_200D_200D_202A_206B_202C_200D_200C_202E_206D_206D_202D_202A_202B_206D_200E_202A_202E_200D_200B_200D_200C_202A_200E_200B_202A_200C_206D_200F_202D_206C_206C_206C_202C_202E(DialogueChoice P_0, EDialogChoiceType P_1) - { - P_0.Type = P_1; - } - - static string _206E_202E_206E_200D_206D_202B_202D_202D_206A_206E_206F_200E_202D_206D_200B_206D_202D_202A_202C_200F_200F_202B_202E_202D_202A_202C_202E_202A_206E_206E_200F_206D_206F_202A_202C_200B_202E_200D_200E_206B_202E(PurchaseMenu P_0) - { - return P_0.ExcelSheet; - } - - static void _202E_206A_200D_200B_206F_206C_202A_206B_202D_200C_202A_202D_202D_206D_200B_206F_202B_202B_202E_200D_202B_202C_202A_206B_206C_206D_200D_206E_200B_206C_206D_202C_202A_206A_206E_206A_200D_200E_206D_202E_202E(DialogueChoice P_0, string P_1) - { - P_0.ExcelSheet = P_1; - } - - static void _202A_202A_202B_206A_200F_202D_202D_206E_202D_200B_206A_206A_206D_206B_202E_206B_202A_202B_206E_206C_200D_202A_206B_206F_202D_202C_200B_200B_206E_206E_202D_200C_206E_206C_202C_202B_200B_206C_200E_200F_202E(DialogueChoice P_0, ExcelRef P_1) - { - P_0.Prompt = P_1; - } - - static ExcelRef _206B_200F_206D_202E_202E_206C_206A_202E_206D_200D_206F_200C_200F_200D_206B_206C_200F_200C_206E_206F_206E_202B_200C_200D_200B_206A_206F_206D_206B_200E_202C_202E_202D_206C_206E_202A_200B_202C_202A_200F_202E(PurchaseMenu P_0) - { - return P_0.Key; - } - - static void _202A_200F_200B_202B_202A_200E_206D_200C_200C_202B_200D_200E_202E_202C_202E_202C_200E_202E_202D_206D_202B_206F_206F_206B_206C_206A_206A_200B_206C_202E_202C_202A_200B_200C_200F_200B_200B_206A_206C_200D_202E(DialogueChoice P_0, ExcelRef P_1) - { - P_0.Answer = P_1; - } - - static EAetheryteLocation? _202C_200E_206D_206E_202B_206A_202E_202B_202E_200E_202E_206A_206C_200B_202B_206A_202C_206F_202D_200E_200D_200C_206B_202B_200F_206E_200E_206F_202C_202B_206E_206D_206E_206D_206F_202B_202D_206A_202D_202A_202E(QuestStep P_0) - { - return P_0.Aetheryte; - } - - static ExcelRef _202B_202C_206D_200C_200B_202E_202E_200B_202C_200B_202B_200C_206E_206A_200B_200F_206A_202C_200E_200B_200B_202D_206C_202C_200D_200C_206A_200D_202A_202C_202D_206B_202D_202B_202E_202A_206F_200F_202E_202D_202E(string P_0) - { - return ExcelRef.FromKey(P_0); - } - - static void _202B_206A_200C_202C_206F_206A_202D_202B_206B_202A_206B_200E_206D_202C_202B_202B_202D_202A_202C_202A_206D_202E_200E_206B_206A_202E_206C_200B_206F_200B_200F_202E_206C_202E_202C_202D_206B_202D_202B_206A_202E(DialogueChoice P_0, bool P_1) - { - P_0.PromptIsRegularExpression = P_1; - } - - static void _200D_202B_200F_206B_200D_206B_200B_200F_202B_206B_202B_202A_202B_200F_200F_200D_200C_206A_206B_202D_206D_206A_206D_206B_202C_200E_200E_206F_206A_202B_206D_202B_202A_206C_202E_202E_202A_200F_206C_206D_202E(DialogueChoice P_0, bool P_1) - { - P_0.AnswerIsRegularExpression = P_1; - } - - static ExcelRef _206D_206F_206D_206E_206B_206A_206C_206D_206C_202D_200D_202E_202C_206C_200F_200C_202B_200F_206E_202C_206F_200B_206C_206E_202C_202C_206E_202B_206E_206F_200C_200B_206E_202B_200C_200B_206B_202C_200E_206B_202E(string P_0) - { - return ExcelRef.FromSheetValue(P_0); - } - - static IGameObject _206E_206B_206B_200F_206F_200C_206E_206C_202A_202E_202A_206D_206A_206B_206F_206A_200D_200B_202E_202C_206F_200D_206E_206D_200E_206D_206B_202E_202E_202E_202C_202E_200B_200E_200E_200E_200C_202C_200E_200C_202E(ITargetManager P_0) - { - return P_0.Target; - } - - static uint _206B_202D_202B_206A_200C_202C_206B_206C_206E_200E_202C_202A_202D_206E_206C_200D_202A_206F_200E_206B_206B_206A_202B_202C_202C_200B_200C_202B_202B_200D_200C_202E_206D_206F_202B_200B_200B_200F_202C_206C_202E(IGameObject P_0) - { - return P_0.BaseId; - } - - static bool _206C_206B_202B_206D_200F_202A_200B_202C_206B_206D_202B_202C_206A_206E_202C_206A_206B_202C_206E_206C_202D_206C_200E_202A_200B_200B_200C_200E_202D_206D_200B_202E_206C_202E_200B_200B_200D_206D_200E_202C_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202B_206A_200F_206A_206C_202C_206D_202D_200E_202C_200F_202A_202A_206B_200D_206B_206E_202D_202B_200C_202E_200B_200D_206C_200B_206E_206D_206B_202C_200D_200C_206F_202B_200D_200F_206E_206E_200E_202E_202D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static List _202C_200F_202B_202C_200F_202E_206A_200E_200D_206E_206C_202A_202C_202B_206D_202C_200D_206F_200B_202E_202B_202E_200F_202C_200F_200E_200E_202B_206A_206A_202A_202D_200D_200F_200E_206A_200B_202B_206D_202A_202E(FateDefinition P_0) - { - return P_0.TransformDialogueChoices; - } - - static List _200F_200D_206C_200E_206F_202B_200D_206E_200B_206D_202D_206A_206D_200C_202D_206F_206D_206E_206D_206F_206D_202C_200E_200E_200F_200B_200D_206F_200E_200C_206D_206F_206D_206D_200E_206A_206A_206D_200E_206D_202E(SeasonalDutyDefinition P_0) - { - return P_0.DialogueChoices; - } - - static EDialogChoiceType _202B_202C_206E_206A_202D_200E_202C_202B_200F_202E_202B_200B_202B_200E_206E_200B_206C_206F_206A_206B_206E_202E_206C_200D_202E_202B_206F_206A_206F_200E_202C_206A_206F_202B_206C_206C_202C_206D_202D_202C_202E(DialogueChoice P_0) - { - return P_0.Type; - } - - static string _206A_200B_206D_206D_206B_200F_206E_202D_206D_202B_202B_206A_206C_200E_206A_206E_206F_202A_206A_200C_206E_202A_200C_202C_206C_200C_202B_202D_200D_202C_200F_200B_202C_206D_202A_200B_200F_200D_200F_206E_202E(DialogueChoice P_0) - { - return P_0.SpecialCondition; - } - - static bool _202B_200C_200D_200F_202A_206A_206C_206A_202D_206F_200B_200F_200D_206E_202D_200D_202D_200D_206C_200E_206A_202B_202B_206E_206D_206B_206D_202A_202A_200D_202B_202C_200F_202E_206A_200F_202A_206D_206A_206C_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - - static void _206C_202C_200D_200B_200B_200B_202B_206B_202B_206B_200F_202E_202B_202C_206F_200E_202B_202B_200B_206B_202A_206D_202B_206A_200B_206C_206C_202A_206C_200F_202E_202E_206E_200F_202E_200D_200D_200E_200F_200F_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } - - static ExcelRef _200B_206B_202B_200F_200F_200E_206B_202D_206F_206A_200B_200C_200F_206C_200F_202E_200E_202E_206A_202C_206B_206E_202B_200E_200B_202B_202B_200C_206D_206A_206E_202E_200E_202E_202E_206F_200E_202B_206A_206E_202E(DialogueChoice P_0) - { - return P_0.Answer; - } - - static uint? _206D_206A_206E_200B_200D_202E_200D_206E_206F_200E_202A_202A_200E_206D_202D_206D_206D_202B_206C_206F_202A_206F_206E_202B_206B_202A_200C_202C_200C_202E_202B_200F_206A_200B_206F_200F_202E_206A_202A_206C_202E(DialogueChoice P_0) - { - return P_0.DataId; - } - - static string _206F_202C_206F_200C_200C_200D_202A_200F_206B_206B_206C_206C_200E_200F_202A_202D_200C_202C_200C_200B_202C_206E_200F_202B_200D_206C_206A_206F_206C_202C_206E_200F_200F_202E_206F_202E_200B_206B_206B_200E_202E(DialogueChoice P_0) - { - return P_0.ExcelSheet; - } - - static ExcelRef _206F_202D_200F_200B_200E_206D_200E_206A_206E_200F_202C_200D_206E_202D_200E_206C_202D_200C_202A_200D_200B_200F_200E_202B_200F_202A_206A_206E_200F_206D_206B_202E_202D_202B_200D_206F_200C_200D_206E_200E_202E(DialogueChoice P_0) - { - return P_0.Prompt; - } - - static bool _206C_202A_202C_202B_206A_200B_200B_206A_206B_206E_206C_202A_200E_200E_206C_206F_206C_206E_202B_200B_206F_202B_206E_202A_206A_206A_206E_206F_206C_206A_200C_206C_202C_202D_200E_206E_202D_200C_200E_206B_202E(DialogueChoice P_0) - { - return P_0.PromptIsRegularExpression; - } - - static bool _202A_206A_206B_200F_206F_200C_200E_202E_206C_202E_200C_200C_200B_200E_206F_200E_200E_202C_206A_202A_202D_200F_202D_202E_200D_206B_206F_200E_206A_206F_202D_200E_206E_206B_202E_200D_206B_202C_200E_200C_202E(DialogueChoice P_0) - { - return P_0.AnswerIsRegularExpression; - } - - static void _206D_200D_200E_202C_200F_200E_202E_206B_206A_202C_206E_202E_202D_206D_206E_206E_200D_200B_200B_206C_206E_200D_200D_206F_200D_202C_202B_200D_202C_200D_200E_206A_200F_202D_202B_202C_206C_200F_200D_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogTrace(P_1, P_2); - } - - static void _206D_202E_202E_200D_202C_206A_202B_200F_202D_206F_200C_206A_206C_202A_200D_200D_202A_206D_202D_206B_202D_206F_200C_200B_206B_200F_206A_206E_202D_206B_200C_206C_200E_206A_200D_206C_200E_206F_206B_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static ExcelRef.EType _202D_202D_206D_206C_206D_206B_206A_206F_206B_200F_206D_200E_206D_206D_206D_200C_200C_200D_202E_202A_206D_202B_202E_202D_206B_200F_202D_202D_202E_206C_202E_202D_202C_202E_200E_200F_206A_202A_206C_206D_202E(ExcelRef P_0) - { - return P_0.Type; - } - - static string _202C_200C_200B_202A_202A_202D_202C_202E_200F_206F_206A_200B_202A_202D_206A_202D_206D_202C_202B_200F_200F_200F_200C_206A_206C_200C_206B_206B_200E_202D_206F_200C_202E_206B_206F_200F_200B_206E_206C_206E_202E(ExcelRef P_0) - { - return P_0.AsRawString(); - } - - static bool _206D_200E_200D_202D_202D_200C_200F_206B_206B_206E_202A_206A_206F_202E_202C_200F_202B_202B_206C_206D_202E_200B_206F_206A_200C_206A_200F_206D_202A_206A_200D_200F_200D_206A_200D_206A_202C_202C_200F_202C_202E(string P_0, string P_1, StringComparison P_2) - { - return string.Equals(P_0, P_1, P_2); - } - - static bool _202A_200B_206D_200E_206A_206A_200B_200C_206D_202D_206E_200D_200E_202E_206F_206F_206E_200E_206B_206B_200D_206C_200B_206F_206A_200D_202C_200C_200D_200F_206A_200E_202B_202B_206C_202D_202E_206F_206D_206C_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static bool _202D_200E_200B_206E_206D_200D_206F_200E_202E_200F_202E_206F_206E_202E_202D_202D_206A_206D_206A_206C_202E_200F_206A_202D_206E_202D_206F_206B_206A_206B_200B_206E_202A_200E_200E_202C_202B_200C_200B_200D_202E(Regex P_0, string P_1) - { - return P_0.IsMatch(P_1); - } - - static void _202B_202A_206C_206F_206E_202C_202B_206E_200F_206B_200E_202B_202E_206B_200B_206F_206E_202E_202A_200F_206E_202E_200C_206E_206C_200D_202C_200B_202C_200E_206E_206C_206B_200B_202E_202B_206C_202C_202A_202B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static bool _200B_200E_202B_200C_206D_202E_202C_200B_206E_206D_202B_206E_202B_206F_206A_202E_200B_202C_202E_206B_200F_200B_200D_206F_202E_200C_200F_200B_202C_202C_202A_206D_200F_206C_206C_200B_200D_202C_202C_202E(DialogueChoice P_0) - { - return P_0.Yes; - } - - static ExcelRef _206D_202E_206F_202B_206B_200F_206B_206A_200F_200C_200E_200C_206F_206C_200E_202B_200F_200E_202D_202A_206B_200D_200B_206B_202B_206C_202B_200E_202A_206A_202D_202A_206E_206B_200F_200E_200F_200C_206E_206A_202E(uint P_0) - { - return ExcelRef.FromRowId(P_0); - } - - static void _202A_200E_200E_206B_202B_200F_206E_206E_202B_200E_206F_200D_206D_202D_206A_206D_202C_202B_202C_202D_202E_202B_200C_202B_202E_206B_202D_202E_200C_202B_206F_202A_200D_200E_206A_206B_200E_202E_200F_202C_202E(DialogueChoice P_0, bool P_1) - { - P_0.Yes = P_1; - } - - static SinglePlayerDutyOptions _202A_200F_200B_206A_206B_206E_202B_206C_200B_206A_200B_206F_202A_200D_202C_206F_202C_206F_206F_206D_206E_202E_202A_200F_206D_206A_202B_200D_200E_202C_206D_206D_200E_206B_200F_206B_206D_206E_202E_206F_202E(QuestStep P_0) - { - return P_0.SinglePlayerDutyOptions; - } - - static long _206F_200E_200E_202D_206E_206A_202B_200E_206F_202A_202C_202D_200F_200F_206D_206A_200B_206B_202C_202E_200C_202B_200E_200C_202E_202C_200B_200B_202D_206B_206E_206D_206C_202D_200D_200C_202A_206B_202B_206F_202E() - { - return Environment.TickCount64; - } - - static QuestStep _206D_200E_206F_202C_202B_206B_206B_200E_206F_200F_202D_206B_202D_206D_200E_206A_202D_202A_200C_200E_200E_206A_206C_202D_206C_206F_202B_206A_206B_206E_206F_200C_202D_200F_206A_200B_206D_202B_202B_200C_202E(QuestSequence P_0, int P_1) - { - return P_0.FindStep(P_1); - } - - static ushort _206E_200D_206B_202C_202B_202E_206C_200C_202D_206F_206F_206C_200B_206E_202D_200E_206F_202C_206B_202E_206F_206B_200F_202A_202D_200B_206A_202B_202B_206B_202D_202C_206A_206A_206E_200D_200E_202B_206A_202B_202E(QuestStep P_0) - { - return P_0.TerritoryId; - } - - static ushort? _200D_202A_200E_206B_200B_206B_206D_202E_202B_206C_206D_202C_206E_200C_206D_202B_206D_206B_206B_202E_206D_200C_206E_200D_202C_206E_206B_206B_206E_200B_202D_202A_206D_206A_206D_206E_206C_200E_202D_202B_202E(QuestStep P_0) - { - return P_0.TargetTerritoryId; - } - - static IGameObject _206C_206D_200D_200F_202C_202D_200D_206A_200E_200F_206C_206A_206F_202A_206A_206C_200B_202B_206B_206A_200B_200F_202A_206D_202B_206F_206F_202C_202E_206E_206D_202C_206A_206E_200C_206B_206A_206E_202D_200D_202E(IObjectTable P_0, int P_1) - { - return P_0[P_1]; - } - - static List _200C_206F_206A_206E_200B_206A_200C_202D_206A_206F_206D_200E_202B_206E_206C_206E_202B_200C_202A_202E_200B_200F_200E_202A_206D_202A_200F_206A_206F_206E_206C_202C_206D_206E_200B_200C_202A_206E_206E_206B_202E(QuestStep P_0) - { - return P_0.ItemsToGather; - } - - static uint _202C_206A_200E_206D_206F_200E_202B_200B_202E_206D_200C_206B_202C_200C_206D_200D_206E_200D_202E_206E_200D_200B_206F_206E_206F_200F_206C_206E_206B_206E_200B_202B_202E_200C_202A_200E_200D_206F_200D_202E(GatheredItem P_0) - { - return P_0.ItemId; - } - - static RowRef _202A_206F_206C_200B_206F_200B_206E_206D_206F_202D_206D_202E_202A_200D_206B_206B_202E_206F_206B_200F_206D_202C_206B_206B_202D_206B_206A_202A_202B_202B_200D_202C_206E_206F_202B_206C_206F_206D_200E_206B_202E(ICharacter P_0) - { - return P_0.ClassJob; - } - - static List _200F_202D_202C_202A_200D_200D_200B_200F_200E_206D_202B_206B_202C_202E_206E_202D_202D_206D_200C_206C_202B_200E_206C_206E_202B_202C_200B_206A_202C_206A_200C_206F_202E_206C_202E_202C_206A_206E_202B_200C_202E(GatheringRoot P_0) - { - return P_0.Steps; - } - - static string _200F_200F_206A_202B_200F_200E_200C_200F_202C_206A_206F_202C_200C_206C_200C_202D_202E_200B_200B_206F_206A_206D_200E_206D_202E_202B_200C_206A_200D_206C_202D_206D_206A_202B_202B_202A_200E_206E_206C_206C_202E(ReadOnlySeString P_0) - { - return P_0.WithCertainMacroCodeReplacements(); - } - - static List _202C_200F_206B_206F_202D_206D_200F_202B_202A_206F_202C_202D_202E_206A_202B_202D_200B_206B_206A_200C_200D_206E_200C_200E_206F_206D_206B_200F_206A_202A_206B_200F_202A_206C_200C_206D_202E_202E_202C_200F_202E(QuestStep P_0) - { - return P_0.PointMenuChoices; - } - - static string _202E_202E_200B_206B_206C_202A_206F_206B_200C_206B_200F_206E_202E_206B_202E_206B_202A_206B_202B_202C_200D_202A_200E_202A_206D_200D_206F_202A_202A_206F_202A_200B_200E_200B_202E_200B_200E_206D_206B_206D_202E(ExcelRef P_0) - { - return P_0.AsKey(); - } - - static uint _202D_200E_200C_202B_206A_200F_206F_202B_206D_206B_202B_206C_200D_202A_200E_200F_200B_202A_206D_206D_202D_202A_206A_206B_206A_206B_200B_202D_206F_206E_206A_200C_200D_206D_200E_200B_202A_206B_206B_202E(ExcelRef P_0) - { - return P_0.AsRowId(); - } - - static void _206F_202A_200C_200E_202E_200D_202E_200C_206F_202A_202C_206F_202E_206A_202E_200B_206E_206F_200E_200D_202D_200F_206E_202A_202C_200F_206A_202E_202A_202A_202A_200E_202B_202A_206C_202B_206A_206D_202A_206B_202E(IAddonLifecycle P_0, AddonEvent P_1, string P_2, IAddonLifecycle.AddonEventDelegate P_3) - { - P_0.UnregisterListener(P_1, P_2, P_3); - } } diff --git a/Questionable/Questionable.Controller.GameUi/QteController.cs b/Questionable/Questionable.Controller.GameUi/QteController.cs index d5f4318..a23ad6a 100644 --- a/Questionable/Questionable.Controller.GameUi/QteController.cs +++ b/Questionable/Questionable.Controller.GameUi/QteController.cs @@ -1,6 +1,4 @@ using System; -using System.Runtime.CompilerServices; -using Dalamud.Game.Config; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Component.GUI; using FFXIVClientStructs.Interop; @@ -25,7 +23,7 @@ internal sealed class QteController : IDisposable private Throttle _throttle; - private readonly Random _random = _206A_206D_200B_206B_202B_206B_206F_202C_200B_200C_202A_206B_206B_200F_206C_202E_206A_202D_202D_200E_206F_200B_206A_200B_206F_206F_202C_200D_200B_200C_202C_202E_202A_202E_202C_206D_206A_202C_200B_206B_202E(); + private readonly Random _random = new Random(); private bool _hasDirectChat; @@ -38,243 +36,81 @@ internal sealed class QteController : IDisposable _gameConfig = gameConfig; _framework = framework; _logger = logger; - _200C_206B_202C_202D_206D_202C_200B_202B_206E_206C_200E_206C_200D_206C_200B_206C_206C_200F_202D_202B_200B_206B_206C_200E_206C_200E_200E_206F_206A_206A_202B_206F_202E_206A_200D_206B_202E_200D_200E_202E_202E(_framework, (IFramework.OnUpdateDelegate)OnUpdate); + _framework.Update += OnUpdate; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void OnUpdate(IFramework framework) { - int num = (_configuration.General.AutoSolveQte ? (-1685552556) : (-1685552558)); - AtkUnitBase* addonPtr = default(AtkUnitBase*); - while (true) + AtkUnitBase* addonPtr; + if (!_configuration.General.AutoSolveQte) { - int num2 = num; - int num3 = -1685552557; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + EnableDirectChatIfNeeded(); + } + else if (_gameGui.TryGetAddonByName("QTE", out addonPtr) && LAddon.IsAddonReady(addonPtr) && addonPtr->IsVisible) + { + DisableDirectChatIfNeeded(); + if (_throttle.TryReset((double)_random.Next(25, 50) / 1000.0)) { - case 3: - _206B_202D_206C_206F_200D_200E_202D_202A_206B_206E_200E_200B_202C_206F_202C_206A_206D_200C_202E_206D_206C_200C_202B_206F_206B_206E_200B_206A_200C_200F_200C_200F_200D_206A_202B_202A_206F_200B_202D_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(495416041), Array.Empty()); - WindowsKeypress.SendKeypress(WindowsKeypress.LimitedKeys.Escape); - num = -1685552559; - break; - case 5: - EnableDirectChatIfNeeded(); - num = -1685552550; - break; - case 1: - EnableDirectChatIfNeeded(); - return; - case 0: - num = ((!_206D_206D_200E_200E_206C_206A_202C_206D_200D_200D_206A_202B_202D_200E_206C_200E_206D_202B_206B_202C_206D_200D_206D_206F_200D_206F_200B_206C_202B_200F_200C_200F_206B_202D_206C_206E_206E_202C_200F_202C_202E(addonPtr)) ? (-1685552554) : (-1685552549)); - break; - case 9: - return; - case 4: - DisableDirectChatIfNeeded(); - num = ((!_throttle.TryReset((double)_206C_206E_200E_200C_202C_206C_202B_206C_202E_206E_206A_200B_206D_202B_202C_206B_202C_206C_200B_202B_206D_206D_206B_200B_206F_206F_202C_202D_206D_206C_206E_200C_200D_202C_202A_202D_206C_202C_200E_206F_202E(_random, 25, 50) / 1000.0)) ? (-1685552550) : (-1685552551)); - break; - case 10: - num = ((!IsChatLogFocused()) ? (-1685552559) : (-1685552560)); - break; - case 6: - num = -1685552558; - break; - case 7: - num = ((!_gameGui.TryGetAddonByName(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(-1397653892), out addonPtr)) ? (-1685552554) : (-1685552557)); - break; - case 2: + if (IsChatLogFocused()) + { + _logger.LogDebug("Chat is focused during QTE, sending Escape"); + WindowsKeypress.SendKeypress(WindowsKeypress.LimitedKeys.Escape); + } WindowsKeypress.SendKeypress(WindowsKeypress.LimitedKeys.A); - return; - case 8: - num = ((!addonPtr->IsVisible) ? (-1685552554) : (-1685552553)); - break; } } + else + { + EnableDirectChatIfNeeded(); + } } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe bool IsChatLogFocused() { AtkStage* ptr = AtkStage.Instance(); - int num = ((ptr != null) ? (-1746454886) : (-1746454891)); - int num5 = default(int); - Span> entries = default(Span>); - Pointer pointer = default(Pointer); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -1746454883; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return false; + } + Span> entries = ptr->RaptureAtkUnitManager->AtkUnitManager.FocusedUnitsList.Entries; + for (int i = 0; i < entries.Length; i++) + { + Pointer pointer = entries[i]; + if (pointer.Value != null && pointer.Value->NameString == "ChatLog") { - case 5: - num = ((num5 < entries.Length) ? (-1746454887) : (-1746454885)); - break; - case 8: - return false; - case 0: - num = -1746454891; - break; - case 6: - return false; - case 3: return true; - case 2: - { - int num6 = num5; - num3 = 1; - num4 = num6; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - num5 = num7 + (num8 + num8); - num = -1746454888; - break; - } - case 4: - pointer = entries[num5]; - num = ((pointer.Value == null) ? (-1746454881) : (-1746454884)); - break; - case 7: - entries = ptr->RaptureAtkUnitManager->AtkUnitManager.FocusedUnitsList.Entries; - num5 = 0; - num = -1746454888; - break; - case 1: - num = ((!_206D_200D_200D_206A_202C_200D_202A_206F_202C_206A_200D_200B_200E_202E_200E_200E_202D_200D_200F_202C_202A_200D_206B_206C_200F_202E_200C_206D_200B_200F_200F_206A_200D_202D_200C_206C_202E_206B_202C_202E_202E(pointer.Value->NameString, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-101701378))) ? (-1746454881) : (-1746454882)); - break; } } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private void EnableDirectChatIfNeeded() { - int num = ((!_hasDirectChat) ? 514735225 : 514735226); - while (true) + if (_hasDirectChat) { - int num2 = num; - int num3 = 514735224; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return; - case 2: - _202A_206D_202C_202A_200F_206B_200F_206D_200E_206E_200B_206F_202C_206B_206B_202A_206E_206F_202E_202E_200F_206F_206A_206E_200D_206C_206A_200C_206B_200D_200D_200E_206A_202C_200E_200C_202D_206D_202C_206E_202E(_200E_202C_206D_206C_200C_206E_200F_200F_200B_206E_200D_200D_206D_206C_206A_200C_206C_202E_202C_206C_206D_202E_202E_200C_206F_200E_206E_202B_200D_200D_200F_206B_200F_202C_200C_202B_206C_200D_202E(_gameConfig), 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(12163311), _directChatWasEnabled); - _hasDirectChat = false; - _206B_202D_206C_206F_200D_200E_202D_202A_206B_206E_200E_200B_202C_206F_202C_206A_206D_200C_202E_206D_206C_200C_202B_206F_206B_206E_200B_206A_200C_200F_200C_200F_200D_206A_202B_202A_206F_200B_202D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1824458648), new object[1] { _directChatWasEnabled }); - num = 514735225; - break; - case 0: - num = 514735226; - break; - } + _gameConfig.UiControl.Set("DirectChat", _directChatWasEnabled); + _hasDirectChat = false; + _logger.LogDebug("Restored DirectChat to {Value}", _directChatWasEnabled); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DisableDirectChatIfNeeded() { - int num = (_hasDirectChat ? 343908918 : 343908917); - bool flag = default(bool); - while (true) + if (!_hasDirectChat && _gameConfig.UiControl.TryGetBool("DirectChat", out var value)) { - int num2 = num; - int num3 = 343908918; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + _directChatWasEnabled = value; + if (value) { - case 0: - return; - case 3: - num = ((!_206B_206E_200C_206C_202A_202E_206A_206F_206D_206D_200E_200C_206D_200F_202E_202E_206F_206F_202D_202A_202A_206B_202E_200C_206A_206C_200E_200C_202A_200F_200C_206B_202A_200B_200E_206C_206D_202A_206B_200D_202E(_200E_202C_206D_206C_200C_206E_200F_200F_200B_206E_200D_200D_206D_206C_206A_200C_206C_202E_202C_206C_206D_202E_202E_200C_206F_200E_206E_202B_200D_200D_200F_206B_200F_202C_200C_202B_206C_200D_202E(_gameConfig), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1876854388), ref flag)) ? 343908918 : 343908916); - break; - case 5: - _hasDirectChat = true; - num = 343908918; - break; - case 1: - _202A_206D_202C_202A_200F_206B_200F_206D_200E_206E_200B_206F_202C_206B_206B_202A_206E_206F_202E_202E_200F_206F_206A_206E_200D_206C_206A_200C_206B_200D_200D_200E_206A_202C_200E_200C_202D_206D_202C_206E_202E(_200E_202C_206D_206C_200C_206E_200F_200F_200B_206E_200D_200D_206D_206C_206A_200C_206C_202E_202C_206C_206D_202E_202E_200C_206F_200E_206E_202B_200D_200D_200F_206B_200F_202C_200C_202B_206C_200D_202E(_gameConfig), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1876854388), false); - _206B_202D_206C_206F_200D_200E_202D_202A_206B_206E_200E_200B_202C_206F_202C_206A_206D_200C_202E_206D_206C_200C_202B_206F_206B_206E_200B_206A_200C_200F_200C_200F_200D_206A_202B_202A_206F_200B_202D_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1363621454), Array.Empty()); - num = 343908915; - break; - case 4: - num = 343908917; - break; - case 2: - _directChatWasEnabled = flag; - num = ((!flag) ? 343908915 : 343908919); - break; + _gameConfig.UiControl.Set("DirectChat", value: false); + _logger.LogDebug("Temporarily disabled DirectChat for QTE handling"); } + _hasDirectChat = true; } } public void Dispose() { - _200D_200C_206B_206C_200F_200B_202B_202C_202E_200C_200E_202B_200E_200E_206A_200C_202A_202A_202D_206A_202C_202A_206D_202A_206F_206F_202B_206E_206B_200E_206E_202E_200B_200F_200B_202E_200E_202C_200F_206E_202E(_framework, (IFramework.OnUpdateDelegate)OnUpdate); + _framework.Update -= OnUpdate; EnableDirectChatIfNeeded(); } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static Random _206A_206D_200B_206B_202B_206B_206F_202C_200B_200C_202A_206B_206B_200F_206C_202E_206A_202D_202D_200E_206F_200B_206A_200B_206F_206F_202C_200D_200B_200C_202C_202E_202A_202E_202C_206D_206A_202C_200B_206B_202E() - { - return new Random(); - } - - static void _200C_206B_202C_202D_206D_202C_200B_202B_206E_206C_200E_206C_200D_206C_200B_206C_206C_200F_202D_202B_200B_206B_206C_200E_206C_200E_200E_206F_206A_206A_202B_206F_202E_206A_200D_206B_202E_200D_200E_202E_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1) - { - P_0.Update += P_1; - } - - unsafe static bool _206D_206D_200E_200E_206C_206A_202C_206D_200D_200D_206A_202B_202D_200E_206C_200E_206D_202B_206B_202C_206D_200D_206D_206F_200D_206F_200B_206C_202B_200F_200C_200F_206B_202D_206C_206E_206E_202C_200F_202C_202E(AtkUnitBase* P_0) - { - return LAddon.IsAddonReady(P_0); - } - - static int _206C_206E_200E_200C_202C_206C_202B_206C_202E_206E_206A_200B_206D_202B_202C_206B_202C_206C_200B_202B_206D_206D_206B_200B_206F_206F_202C_202D_206D_206C_206E_200C_200D_202C_202A_202D_206C_202C_200E_206F_202E(Random P_0, int P_1, int P_2) - { - return P_0.Next(P_1, P_2); - } - - static void _206B_202D_206C_206F_200D_200E_202D_202A_206B_206E_200E_200B_202C_206F_202C_206A_206D_200C_202E_206D_206C_200C_202B_206F_206B_206E_200B_206A_200C_200F_200C_200F_200D_206A_202B_202A_206F_200B_202D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _206D_200D_200D_206A_202C_200D_202A_206F_202C_206A_200D_200B_200E_202E_200E_200E_202D_200D_200F_202C_202A_200D_206B_206C_200F_202E_200C_206D_200B_200F_200F_206A_200D_202D_200C_206C_202E_206B_202C_202E_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - - static GameConfigSection _200E_202C_206D_206C_200C_206E_200F_200F_200B_206E_200D_200D_206D_206C_206A_200C_206C_202E_202C_206C_206D_202E_202E_200C_206F_200E_206E_202B_200D_200D_200F_206B_200F_202C_200C_202B_206C_200D_202E(IGameConfig P_0) - { - return P_0.UiControl; - } - - static void _202A_206D_202C_202A_200F_206B_200F_206D_200E_206E_200B_206F_202C_206B_206B_202A_206E_206F_202E_202E_200F_206F_206A_206E_200D_206C_206A_200C_206B_200D_200D_200E_206A_202C_200E_200C_202D_206D_202C_206E_202E(GameConfigSection P_0, string P_1, bool P_2) - { - P_0.Set(P_1, P_2); - } - - static bool _206B_206E_200C_206C_202A_202E_206A_206F_206D_206D_200E_200C_206D_200F_202E_202E_206F_206F_202D_202A_202A_206B_202E_200C_206A_206C_200E_200C_202A_200F_200C_206B_202A_200B_200E_206C_206D_202A_206B_200D_202E(GameConfigSection P_0, string P_1, ref bool P_2) - { - return P_0.TryGetBool(P_1, out P_2); - } - - static void _200D_200C_206B_206C_200F_200B_202B_202C_202E_200C_200E_202B_200E_200E_206A_200C_202A_202A_202D_206A_202C_202A_206D_202A_206F_206F_202B_206E_206B_200E_206E_202E_200B_200F_200B_202E_200E_202C_200F_206E_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1) - { - P_0.Update -= P_1; - } } diff --git a/Questionable/Questionable.Controller.GameUi/ShopController.cs b/Questionable/Questionable.Controller.GameUi/ShopController.cs index eefebfb..dbc1dd8 100644 --- a/Questionable/Questionable.Controller.GameUi/ShopController.cs +++ b/Questionable/Questionable.Controller.GameUi/ShopController.cs @@ -1,8 +1,6 @@ using System; -using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Component.GUI; using LLib.GameUI; @@ -15,93 +13,6 @@ namespace Questionable.Controller.GameUi; internal sealed class ShopController : IDisposable, IShopWindow { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass28_0 - { - public unsafe AtkValue* atkValues; - - public QuestStep currentStep; - - internal unsafe ItemForSale _003CUpdateShopStock_003Eb__0(int i) - { - ItemForSale itemForSale = _206D_206A_200F_206C_206E_200F_200E_202E_200B_200B_206F_206C_202D_206B_200E_200C_202E_202B_202A_206B_206A_206A_206F_206D_206A_200D_200C_202D_206F_200F_202D_206D_206C_200E_202D_200E_206F_206B_200E_202E_202E(); - _200D_202B_206C_206B_200D_202B_200F_206B_200E_206A_206E_200E_202D_200B_206E_206B_202A_200C_206A_206A_206D_202A_202B_206E_200F_206E_202C_202D_202A_200C_202C_202C_206E_206B_200E_202A_202B_206D_200B_206F_202E(itemForSale, i); - AtkValue* num = atkValues; - int num2 = i; - int num3 = 14; - _206F_202E_206F_202E_206A_202C_202C_202B_202E_202C_202D_200D_200B_202B_206B_206F_202D_200E_202D_206F_206A_200E_206A_202D_206E_206D_206E_206A_202A_202D_200F_200C_202D_202C_200D_206C_200C_206D_202A_202E(itemForSale, _200E_200C_202C_200E_200F_202E_202D_200C_200D_200C_200C_202B_200B_202C_200D_206B_206E_202D_200C_206E_200F_202D_206E_200B_202B_206F_200C_200B_200D_206F_202B_206B_202B_206F_200F_200C_206F_200E_206E_202C_202E(num[(num3 | num2) + (num3 & num2)])); - AtkValue* num4 = atkValues; - num2 = i; - num3 = 75; - _206A_200B_206E_206D_202D_206B_206A_206C_202E_202B_200C_206B_206B_206B_202E_200D_200E_202C_206B_206B_202D_202E_202E_206E_206A_206B_200F_200E_206D_200F_206C_202C_202D_200B_206D_206B_206D_202C_202A_206D_202E(itemForSale, num4[(num3 | num2) + (num3 & num2)].UInt); - _202C_206E_206F_202E_200B_206C_202C_200C_206A_206F_200E_202A_200B_200B_206A_206C_206C_202A_202C_202C_200C_200B_202C_206F_206D_202B_206A_202E_202C_206A_206A_200D_200C_200F_202A_202E_202D_200B_202C_206A_202E(itemForSale, 1u); - AtkValue* num5 = atkValues; - num2 = i; - num3 = 136; - _202D_200D_200E_206A_200F_200F_200D_206E_200C_206C_202E_206D_206F_200C_206A_200B_200F_200B_206D_202D_200F_200E_202E_206B_200C_200F_200C_200F_200D_200B_200D_200E_200C_200F_200D_206F_202D_206C_206B_206B_202E(itemForSale, num5[(num3 | num2) + (num3 & num2)].UInt); - AtkValue* num6 = atkValues; - num2 = i; - num3 = 441; - _200F_202C_202E_202D_206C_206A_200B_200C_200B_202E_202A_200B_202E_200D_202B_202E_200C_202D_206B_202C_202A_206F_206C_202A_200F_200C_202B_206D_202B_200D_206C_202A_200D_206D_200D_206F_202B_206D_200B_202C_202E(itemForSale, num6[(num3 | num2) + (num3 & num2)].UInt); - return itemForSale; - } - - internal bool _003CUpdateShopStock_003Eb__1(ItemForSale x) - { - return _206D_202C_206C_200B_200D_206D_206F_206C_206A_200D_206A_206E_200B_206F_200B_202E_206F_202C_206C_202C_206E_202A_206D_202D_200C_200D_206A_200F_202D_202C_202A_200F_206D_200F_206A_200D_200F_202D_202E_200D_202E(x) == _202D_202B_202E_206A_200F_202C_202A_206F_206E_206B_206D_206E_200C_200F_206A_202D_202B_200F_202B_200F_200B_206C_206E_202B_206F_206E_200E_200B_202B_200D_202C_202A_206E_202D_200D_200B_202C_206D_202D_206A_202E(currentStep); - } - - static ItemForSale _206D_206A_200F_206C_206E_200F_200E_202E_200B_200B_206F_206C_202D_206B_200E_200C_202E_202B_202A_206B_206A_206A_206F_206D_206A_200D_200C_202D_206F_200F_202D_206D_206C_200E_202D_200E_206F_206B_200E_202E_202E() - { - return new ItemForSale(); - } - - static void _200D_202B_206C_206B_200D_202B_200F_206B_200E_206A_206E_200E_202D_200B_206E_206B_202A_200C_206A_206A_206D_202A_202B_206E_200F_206E_202C_202D_202A_200C_202C_202C_206E_206B_200E_202A_202B_206D_200B_206F_202E(ItemForSale P_0, int P_1) - { - P_0.Position = P_1; - } - - static string _200E_200C_202C_200E_200F_202E_202D_200C_200D_200C_200C_202B_200B_202C_200D_206B_206E_202D_200C_206E_200F_202D_206E_200B_202B_206F_200C_200B_200D_206F_202B_206B_202B_206F_200F_200C_206F_200E_206E_202C_202E(AtkValue P_0) - { - return P_0.ReadAtkString(); - } - - static void _206F_202E_206F_202E_206A_202C_202C_202B_202E_202C_202D_200D_200B_202B_206B_206F_202D_200E_202D_206F_206A_200E_206A_202D_206E_206D_206E_206A_202A_202D_200F_200C_202D_202C_200D_206C_200C_206D_202A_202E(ItemForSale P_0, string P_1) - { - P_0.ItemName = P_1; - } - - static void _206A_200B_206E_206D_202D_206B_206A_206C_202E_202B_200C_206B_206B_206B_202E_200D_200E_202C_206B_206B_202D_202E_202E_206E_206A_206B_200F_200E_206D_200F_206C_202C_202D_200B_206D_206B_206D_202C_202A_206D_202E(ItemForSale P_0, uint P_1) - { - P_0.Price = P_1; - } - - static void _202C_206E_206F_202E_200B_206C_202C_200C_206A_206F_200E_202A_200B_200B_206A_206C_206C_202A_202C_202C_200C_200B_202C_206F_206D_202B_206A_202E_202C_206A_206A_200D_200C_200F_202A_202E_202D_200B_202C_206A_202E(ItemForSale P_0, uint P_1) - { - P_0.CurrencyItemId = P_1; - } - - static void _202D_200D_200E_206A_200F_200F_200D_206E_200C_206C_202E_206D_206F_200C_206A_200B_200F_200B_206D_202D_200F_200E_202E_206B_200C_200F_200C_200F_200D_200B_200D_200E_200C_200F_200D_206F_202D_206C_206B_206B_202E(ItemForSale P_0, uint P_1) - { - P_0.OwnedItems = P_1; - } - - static void _200F_202C_202E_202D_206C_206A_200B_200C_200B_202E_202A_200B_202E_200D_202B_202E_200C_202D_206B_202C_202A_206F_206C_202A_200F_200C_202B_206D_202B_200D_206C_202A_200D_206D_200D_206F_202B_206D_200B_202C_202E(ItemForSale P_0, uint P_1) - { - P_0.ItemId = P_1; - } - - static uint _206D_202C_206C_200B_200D_206D_206F_206C_206A_200D_206A_206E_200B_206F_200B_202E_206F_202C_206C_202C_206E_202A_206D_202D_200C_200D_206A_200F_202D_202C_202A_200F_206D_200F_206A_200D_200F_202D_202E_200D_202E(ItemForSale P_0) - { - return P_0.ItemId; - } - - static uint? _202D_202B_202E_206A_200F_202C_202A_206F_206E_206B_206D_206E_200C_200F_206A_202D_202B_200F_202B_200F_200B_206C_206E_202B_206F_206E_200E_200B_202B_200D_202C_202A_206E_202D_200D_200B_202C_206D_202D_206A_202E(QuestStep P_0) - { - return P_0.ItemId; - } - } - private readonly QuestController _questController; private readonly IGameGui _gameGui; @@ -124,262 +35,124 @@ internal sealed class ShopController : IDisposable, IShopWindow public bool IsOpen { get; set; } - public bool IsAutoBuyEnabled => _200C_202E_202B_202B_206C_206C_206E_200E_200B_200D_206E_202B_202A_202A_200B_200C_200D_206C_200D_206F_202A_202B_202A_200B_206B_202A_200B_200F_206F_202A_200E_202A_202B_206F_202B_200F_200E_200F_206F_202C_202E(_shop); + public bool IsAutoBuyEnabled => _shop.AutoBuyEnabled; public bool IsAwaitingYesNo { get { - return _206F_200B_202D_202B_206C_206B_200E_202B_200D_200E_206D_202D_202C_206D_206C_200F_200C_206F_200B_200E_202D_202D_200E_206E_202D_202C_206C_202D_202A_200F_202E_202D_202E_206F_202E_202D_200D_206B_202A_202A_202E(_shop); + return _shop.IsAwaitingYesNo; } set { - _202E_200F_206E_206E_202D_200F_202D_202E_206A_206F_202B_206A_200B_202B_202B_206A_200C_206D_202A_206F_206A_202A_206B_200B_202E_202C_202D_202A_206B_200C_206B_200F_206C_200F_202A_202C_200D_206B_206F_206C_202E(_shop, value); + _shop.IsAwaitingYesNo = value; } } public Vector2? Position { get; set; } - [MethodImpl(MethodImplOptions.NoInlining)] public ShopController(QuestController questController, IGameGui gameGui, IAddonLifecycle addonLifecycle, IFramework framework, ILogger logger, IPluginLog pluginLog, IDataManager dataManager) { _questController = questController; _gameGui = gameGui; _framework = framework; - _shop = _206D_202A_202E_206D_206B_202C_200C_206E_200B_202B_206D_202A_202B_206D_202E_200C_200B_206F_206C_206C_202C_206F_206C_202E_206B_202B_206E_202C_200D_206D_202A_206E_206B_206A_206B_206A_206E_206D_202E((IShopWindow)this, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2121285778), pluginLog, gameGui, addonLifecycle, dataManager); + _shop = new RegularShopBase(this, "Shop", pluginLog, gameGui, addonLifecycle, dataManager); _logger = logger; - _200B_202A_200F_206D_200C_200B_206B_206A_202E_202A_200D_202C_202B_200D_202A_206A_206F_202A_206C_206F_200D_202D_202B_206E_206A_200C_206A_206D_206D_202A_202B_202B_202E_202B_206B_200D_206D_202B_200B_206C_202E(_framework, (IFramework.OnUpdateDelegate)FrameworkUpdate); + _framework.Update += FrameworkUpdate; } public void Dispose() { - _202E_206A_206E_200F_206E_200C_206B_200B_200C_200D_200E_200C_206A_200D_206E_200C_202C_206E_206F_206D_202D_206F_200F_206E_202B_206A_206C_200D_206B_202C_206C_202D_206A_200C_206B_200B_206E_206D_200B_200E_202E(_framework, (IFramework.OnUpdateDelegate)FrameworkUpdate); - _200C_202E_206E_206C_202A_200C_202B_200C_202A_206E_206C_206F_202B_202C_202B_200E_206B_200F_202B_206D_206F_206E_200E_206F_206B_200B_202D_202E_206A_206B_200B_200E_200E_206C_202D_200E_202E_202C_206E_202A_202E(_shop); + _framework.Update -= FrameworkUpdate; + _shop.Dispose(); } - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] private void FrameworkUpdate(IFramework framework) { - int num = ((!IsOpen) ? (-1743708968) : (-1743708973)); - QuestStep questStep = default(QuestStep); - int num7 = default(int); - while (true) + if (!IsOpen || _shop.ItemForSale == null) { - int num2 = num; - int num3 = -1743708974; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - _202E_202A_200F_202E_200F_202E_200C_200D_206B_202D_202B_200E_206F_200C_202E_200D_200E_202E_206C_206D_206E_206C_202A_202A_202A_206F_206B_200F_202D_200B_202A_200B_202E_206C_206A_206E_200D_200F_202B_200D_202E(_shop, (ItemForSale)null); - RestoreExternalPluginState(); - num = -1743708968; - break; - case 8: - num = ((_202B_200D_200D_206C_200E_200C_202C_206F_206A_206E_206C_202E_202C_200E_206C_206D_202E_206E_206B_202D_202B_200E_206F_202D_206C_202B_206C_206F_206D_202A_202D_200F_200F_202B_202B_202D_206A_200F_200F_202C_202E(_shop) == null) ? (-1743708974) : (-1743708975)); - break; - case 1: - num = ((_206C_202C_206C_202D_206D_202A_206A_200C_202C_200B_202C_206F_200D_206B_206B_202C_206D_202D_200E_200B_206D_202B_206E_202D_202E_202E_206F_206E_206C_202E_206F_206A_206F_200B_202E_206E_200B_200D_200C_206F_202E(_shop) == null) ? (-1743708968) : (-1743708966)); - break; - case 5: - { - int num8 = _200E_206D_206B_202D_200C_206A_200E_206D_200B_202D_202E_206A_206B_206E_206D_200E_200C_202A_200F_202E_202C_206A_200F_206A_200C_200E_206A_206D_200E_200D_202E_206F_206F_202A_200B_202D_206D_200C_206C_200E_202E(0, _206C_202A_206F_200F_200B_200F_206F_200B_200B_206B_200B_202E_202B_200B_200F_200B_202A_206C_206B_202C_206E_200F_200F_206D_206A_200B_206C_200E_202B_200D_202D_200F_206A_200E_200B_200E_202C_202D_206D_206D_202E(questStep).GetValueOrDefault() - (int)_202E_206F_202B_202C_202E_206F_200D_206B_202A_202B_206B_206A_206D_200D_202E_202C_200D_206E_200E_200D_206E_202D_206E_200E_200E_206D_206C_200B_200F_200E_202C_206A_206B_200B_200C_206A_206C_206B_202B_202A_202E(_206C_202C_206C_202D_206D_202A_206A_200C_202C_200B_202C_206F_200D_206B_206B_202C_206D_202D_200E_200B_206D_202B_206E_202D_202E_202E_206F_206E_206C_202E_206F_206A_206F_200B_202E_206E_200B_200D_200C_206F_202E(_shop))); - num7 = _200F_202B_202B_206C_200D_200C_200F_206A_206D_206D_202D_206A_202C_202D_206F_206F_202D_206C_202E_202B_206E_202B_200C_206F_206F_200C_200F_200E_206A_206C_206B_200D_200E_206F_206B_202A_202E_202C_206A_202A_202E(_202D_202D_200D_200D_206A_202C_202C_200C_206B_206C_200D_206B_202B_202E_206F_202B_202B_200D_202C_206E_202E_200E_200E_200D_200C_200E_202B_206C_206D_200F_200F_202D_200D_200B_206B_206E_202B_202C_200C_202A_202E(_shop), num8); - num = ((num7 <= 0) ? (-1743708970) : (-1743708965)); - break; - } - case 2: - _202E_202A_200F_202E_200F_202E_200C_200D_206B_202D_202B_200E_206F_200C_202E_200D_200E_202E_206C_206D_206E_206C_202A_202A_202A_206F_206B_200F_202D_200B_202A_200B_202E_206C_206A_206E_200D_200F_202B_200D_202E(_shop, (ItemForSale)null); - RestoreExternalPluginState(); - return; - case 10: - return; - case 6: - num = -1743708973; - break; - case 0: - questStep = FindCurrentStep(); - num = ((questStep == null) ? (-1743708976) : (-1743708971)); - break; - case 7: - num = ((_206B_200F_206A_200C_206B_206B_202D_202E_206E_202D_200C_202C_206C_200F_202C_206B_206C_202B_202A_200F_202A_206A_206C_206C_206F_206D_200F_200D_206B_202C_202B_202B_206A_200E_206A_202C_200C_206D_206A_202B_202E(questStep) == EInteractionType.PurchaseItem) ? (-1743708969) : (-1743708976)); - break; - case 3: - _202E_200C_206B_202C_200E_202B_200C_206F_202A_206F_200D_206C_202D_202C_200F_206A_202B_200D_200B_202D_206F_206E_200E_206C_206F_206C_202E_206A_206C_202E_206B_206D_206C_206F_202A_200F_206B_206F_200E_202A_202E(_shop); - return; - case 9: - _202B_206A_206D_206D_206E_200E_202B_206E_202C_206D_200D_202A_202C_202D_206F_202C_202D_202D_206D_206E_206E_202A_202B_206F_200B_200E_202E_202E_202B_200B_206E_206A_206F_200E_202B_200C_200B_206C_200B_202E_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(434015474), new object[2] - { - num7, - _200F_202B_206D_202E_202E_202C_200C_202D_200F_202B_202A_206E_206E_200F_206F_202B_202D_202D_202A_202A_200E_200B_206C_206A_200E_206F_206C_200C_206D_206F_206B_202B_200C_200E_202E_206C_202C_206B_202C_206D_202E(_206C_202C_206C_202D_206D_202A_206A_200C_202C_200B_202C_206F_200D_206B_206B_202C_206D_202D_200E_200B_206D_202B_206E_202D_202E_202E_206F_206E_206C_202E_206F_206A_206F_200B_202E_206E_200B_200D_200C_206F_202E(_shop)) - }); - _200D_200E_202E_202A_206E_206F_202E_206D_206B_206F_206A_200D_206C_200D_202B_202D_200E_200E_200E_200D_200D_200B_202A_206B_202E_206F_202C_200E_206B_200D_200B_202E_202E_202C_200D_206A_206B_206F_206D_202A_202E(_shop, num7); - _202E_200C_206B_202C_200E_202B_200C_206F_202A_206F_200D_206C_202D_202C_200F_206A_202B_200D_200B_202D_206F_206E_200E_206C_206F_206C_202E_206A_206C_202E_206B_206D_206C_206F_202A_200F_206B_206F_200E_202A_202E(_shop); - return; - } + return; + } + if (_shop.PurchaseState != null) + { + _shop.HandleNextPurchaseStep(); + return; + } + QuestStep questStep = FindCurrentStep(); + if (questStep == null || questStep.InteractionType != EInteractionType.PurchaseItem) + { + _shop.ItemForSale = null; + RestoreExternalPluginState(); + return; + } + int val = Math.Max(0, questStep.ItemCount.GetValueOrDefault() - (int)_shop.ItemForSale.OwnedItems); + int num = Math.Min(_shop.GetMaxItemsToPurchase(), val); + if (num > 0) + { + _logger.LogDebug("Auto-buying {ToPurchase} {ItemName}", num, _shop.ItemForSale.ItemName); + _shop.StartAutoPurchase(num); + _shop.HandleNextPurchaseStep(); + } + else + { + _shop.ItemForSale = null; + RestoreExternalPluginState(); } } private QuestStep? FindCurrentStep() { QuestController.QuestProgress currentQuest = _questController.CurrentQuest; - int num = ((currentQuest != null) ? (-2079361187) : (-2079361188)); - object obj; - while (true) - { - int num2 = num; - int num3 = -2079361187; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 2: - goto IL_004d; - case 0: - obj = currentQuest.Quest.FindSequence(currentQuest.Sequence); - break; - case 1: - obj = null; - break; - } - break; - IL_004d: - num = -2079361188; - } - if (obj == null) - { - return null; - } - return _206C_206B_200C_202A_206C_206C_200B_200C_202C_206A_200B_206C_200E_202E_202C_200D_206A_200B_202A_206A_206B_202E_206D_202E_200C_202D_200D_206B_200D_200F_206C_206E_206A_202A_206B_206F_200E_206D_206A_202D_202E((QuestSequence)obj, currentQuest?.Step ?? 0); + return (currentQuest?.Quest.FindSequence(currentQuest.Sequence))?.FindStep(currentQuest?.Step ?? 0); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe void UpdateShopStock(AtkUnitBase* addon) { QuestStep currentStep = FindCurrentStep(); - int num = ((currentStep == null) ? 958087197 : 958087193); - uint uInt = default(uint); - AtkValue* atkValues = default(AtkValue*); - while (true) + if (currentStep == null || currentStep.InteractionType != EInteractionType.PurchaseItem) { - int num2 = num; - int num3 = 958087192; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - _202E_202A_200F_202E_200F_202E_200C_200D_206B_202D_202B_200E_206F_200C_202E_200D_200E_202E_206C_206D_206E_206C_202A_202A_202A_206F_206B_200F_202D_200B_202A_200B_202E_206C_206A_206E_200D_200F_202B_200D_202E(_shop, (ItemForSale)null); - return; - case 6: - return; - case 0: - uInt = atkValues[2].UInt; - num = ((uInt != 0) ? 958087189 : 958087196); - break; - case 7: - num = ((_currentStockSwitchAttempts >= 3) ? 958087198 : 958087195); - break; - case 9: - _lastPurchaseItemId = _206F_202C_200B_202C_200D_206E_202D_200C_200B_200F_202B_202C_200B_206E_206C_206E_202A_206A_200F_206B_200B_200F_202C_202D_206E_200D_200E_200E_206E_206F_206E_206C_202B_202D_206C_200E_206C_200E_200E_202D_202E(currentStep); - _currentStockSwitchAttempts = 0; - num = 958087192; - break; - case 5: - _202E_202A_200F_202E_200F_202E_200C_200D_206B_202D_202B_200E_206F_200C_202E_200D_200E_202E_206C_206D_206E_206C_202A_202A_202A_206F_206B_200F_202D_200B_202A_200B_202E_206C_206A_206E_200D_200F_202B_200D_202E(_shop, (ItemForSale)null); - return; - case 8: - _202A_200C_206E_202D_206D_206D_202C_202E_200B_200E_206C_200F_202A_200B_206F_206E_206E_206C_200F_200D_206E_202A_202E_202D_200B_200B_202E_206F_202D_206D_206A_202B_206E_202D_202A_206A_200C_206B_206E_206D_202E((ILogger)_logger, 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(-662596466), new object[1] { addon->AtkValuesCount }); - _202E_202A_200F_202E_200F_202E_200C_200D_206B_202D_202B_200E_206F_200C_202E_200D_200E_202E_206C_206D_206E_206C_202A_202A_202A_206F_206B_200F_202D_200B_202A_200B_202E_206C_206A_206E_200D_200F_202B_200D_202E(_shop, (ItemForSale)null); - return; - case 3: - num = ((_202B_206B_206D_206A_202B_200F_200B_200F_200F_202D_206E_206F_200F_200C_206F_202E_202E_202A_200B_202E_200D_206D_200B_206C_200E_206A_206B_206C_202D_206C_202B_200F_206D_202E_200C_206A_206C_206A_200E_206B_202E() - _lastCurrentStockSwitchMs <= 2000) ? 958087198 : 958087188); - break; - case 14: - _currentStockSwitchAttempts = 0; - return; - case 1: - num = ((_206B_200F_206A_200C_206B_206B_202D_202E_206E_202D_200C_202C_206C_200F_202C_206B_206C_202B_202A_200F_202A_206A_206C_206C_206F_206D_200F_200D_206B_202C_202B_202B_206A_200E_206A_202C_200C_206D_206A_202B_202E(currentStep) == EInteractionType.PurchaseItem) ? 958087186 : 958087197); - break; - case 10: - num = ((addon->AtkValuesCount == 625) ? 958087187 : 958087184); - break; - case 11: - { - atkValues = addon->AtkValues; - uint? num7 = _206F_202C_200B_202C_200D_206E_202D_200C_200B_200F_202B_202C_200B_206E_206C_206E_202A_206A_200F_206B_200B_200F_202C_202D_206E_200D_200E_200E_206E_206F_206E_206C_202B_202D_206C_200E_206C_200E_200E_202D_202E(currentStep); - uint? lastPurchaseItemId = _lastPurchaseItemId; - bool num8 = num7.GetValueOrDefault() == lastPurchaseItemId.GetValueOrDefault(); - num3 = ((num7.HasValue == lastPurchaseItemId.HasValue) ? 1 : 0); - num4 = (num8 ? 1 : 0); - num = (((num4 | num3) - (num4 ^ num3) != 0) ? 958087192 : 958087185); - break; - } - case 2: - num = 958087193; - break; - case 13: - _202E_202A_200F_202E_200F_202E_200C_200D_206B_202D_202B_200E_206F_200C_202E_200D_200E_202E_206C_206D_206E_206C_202A_202A_202A_206F_206B_200F_202D_200B_202A_200B_202E_206C_206A_206E_200D_200F_202B_200D_202E(_shop, _206C_202D_206B_206B_200E_206D_206B_200D_202C_200E_206C_206A_202D_206F_206C_200C_206A_206B_200E_200F_200E_206D_202D_206A_206D_206F_202D_200D_202A_202D_202D_202A_206C_200C_202C_206F_200E_202A_202D_206E_202E(0, (int)uInt).Select(delegate(int i) - { - ItemForSale itemForSale = _003C_003Ec__DisplayClass28_0._206D_206A_200F_206C_206E_200F_200E_202E_200B_200B_206F_206C_202D_206B_200E_200C_202E_202B_202A_206B_206A_206A_206F_206D_206A_200D_200C_202D_206F_200F_202D_206D_206C_200E_202D_200E_206F_206B_200E_202E_202E(); - _003C_003Ec__DisplayClass28_0._200D_202B_206C_206B_200D_202B_200F_206B_200E_206A_206E_200E_202D_200B_206E_206B_202A_200C_206A_206A_206D_202A_202B_206E_200F_206E_202C_202D_202A_200C_202C_202C_206E_206B_200E_202A_202B_206D_200B_206F_202E(itemForSale, i); - AtkValue* num9 = atkValues; - int num10 = i; - int num11 = 14; - _003C_003Ec__DisplayClass28_0._206F_202E_206F_202E_206A_202C_202C_202B_202E_202C_202D_200D_200B_202B_206B_206F_202D_200E_202D_206F_206A_200E_206A_202D_206E_206D_206E_206A_202A_202D_200F_200C_202D_202C_200D_206C_200C_206D_202A_202E(itemForSale, _003C_003Ec__DisplayClass28_0._200E_200C_202C_200E_200F_202E_202D_200C_200D_200C_200C_202B_200B_202C_200D_206B_206E_202D_200C_206E_200F_202D_206E_200B_202B_206F_200C_200B_200D_206F_202B_206B_202B_206F_200F_200C_206F_200E_206E_202C_202E(num9[(num11 | num10) + (num11 & num10)])); - AtkValue* num12 = atkValues; - num10 = i; - num11 = 75; - _003C_003Ec__DisplayClass28_0._206A_200B_206E_206D_202D_206B_206A_206C_202E_202B_200C_206B_206B_206B_202E_200D_200E_202C_206B_206B_202D_202E_202E_206E_206A_206B_200F_200E_206D_200F_206C_202C_202D_200B_206D_206B_206D_202C_202A_206D_202E(itemForSale, num12[(num11 | num10) + (num11 & num10)].UInt); - _003C_003Ec__DisplayClass28_0._202C_206E_206F_202E_200B_206C_202C_200C_206A_206F_200E_202A_200B_200B_206A_206C_206C_202A_202C_202C_200C_200B_202C_206F_206D_202B_206A_202E_202C_206A_206A_200D_200C_200F_202A_202E_202D_200B_202C_206A_202E(itemForSale, 1u); - AtkValue* num13 = atkValues; - num10 = i; - num11 = 136; - _003C_003Ec__DisplayClass28_0._202D_200D_200E_206A_200F_200F_200D_206E_200C_206C_202E_206D_206F_200C_206A_200B_200F_200B_206D_202D_200F_200E_202E_206B_200C_200F_200C_200F_200D_200B_200D_200E_200C_200F_200D_206F_202D_206C_206B_206B_202E(itemForSale, num13[(num11 | num10) + (num11 & num10)].UInt); - AtkValue* num14 = atkValues; - num10 = i; - num11 = 441; - _003C_003Ec__DisplayClass28_0._200F_202C_202E_202D_206C_206A_200B_200C_200B_202E_202A_200B_202E_200D_202B_202E_200C_202D_206B_202C_202A_206F_206C_202A_200F_200C_202B_206D_202B_200D_206C_202A_200D_206D_200D_206F_202B_206D_200B_202C_202E(itemForSale, num14[(num11 | num10) + (num11 & num10)].UInt); - return itemForSale; - }).FirstOrDefault((ItemForSale x) => _003C_003Ec__DisplayClass28_0._206D_202C_206C_200B_200D_206D_206F_206C_206A_200D_206A_206E_200B_206F_200B_202E_206F_202C_206C_202C_206E_202A_206D_202D_200C_200D_206A_200F_202D_202C_202A_200F_206D_200F_206A_200D_200F_202D_202E_200D_202E(x) == _003C_003Ec__DisplayClass28_0._202D_202B_202E_206A_200F_202C_202A_206F_206E_206B_206D_206E_200C_200F_206A_202D_202B_200F_202B_200F_200B_206C_206E_202B_206F_206E_200E_200B_202B_200D_202C_202A_206E_202D_200D_200B_202C_206D_202D_206A_202E(currentStep))); - num = ((_206C_202C_206C_202D_206D_202A_206A_200C_202C_200B_202C_206F_200D_206B_206B_202C_206D_202D_200E_200B_206D_202B_206E_202D_202E_202E_206F_206E_206C_202E_206F_206A_206F_200B_202E_206E_200B_200D_200C_206F_202E(_shop) == null) ? 958087199 : 958087190); - break; - case 12: - { - int currentStockSwitchAttempts = _currentStockSwitchAttempts; - num3 = 1; - num4 = currentStockSwitchAttempts; - int num5 = num4 ^ num3; - int num6 = num4 & num3; - _currentStockSwitchAttempts = num5 + (num6 + num6); - _lastCurrentStockSwitchMs = _202B_206B_206D_206A_202B_200F_200B_200F_200F_202D_206E_206F_200F_200C_206F_202E_202E_202A_200B_202E_200D_206D_200B_206C_200E_206A_206B_206C_202D_206C_202B_200F_206D_202E_200C_206A_206C_206A_200E_206B_202E(); - _200D_200B_200F_206C_200B_202D_202A_202A_206B_200D_202A_206A_206E_206E_206C_200E_206B_202E_200C_202A_202A_202E_206D_206C_206F_206F_206D_200D_206F_200C_200F_206B_200F_200B_206D_200B_200F_200B_202C_200E_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(773010987), new object[4] - { - uInt, - _206F_202C_200B_202C_200D_206E_202D_200C_200B_200F_202B_202C_200B_206E_206C_206E_202A_206A_200F_206B_200B_200F_202C_202D_206E_200D_200E_200E_206E_206F_206E_206C_202B_202D_206C_200E_206C_200E_200E_202D_202E(currentStep), - _currentStockSwitchAttempts, - 3 - }); - SwitchToCurrentStockTab(addon); - num = 958087198; - break; - } - } + _shop.ItemForSale = null; + return; + } + if (addon->AtkValuesCount != 625) + { + _logger.LogError("Unexpected amount of atkvalues for Shop addon ({AtkValueCount})", addon->AtkValuesCount); + _shop.ItemForSale = null; + return; + } + AtkValue* atkValues = addon->AtkValues; + if (currentStep.ItemId != _lastPurchaseItemId) + { + _lastPurchaseItemId = currentStep.ItemId; + _currentStockSwitchAttempts = 0; + } + uint uInt = atkValues[2].UInt; + if (uInt == 0) + { + _shop.ItemForSale = null; + return; + } + _shop.ItemForSale = (from i in Enumerable.Range(0, (int)uInt) + select new ItemForSale + { + Position = i, + ItemName = atkValues[14 + i].ReadAtkString(), + Price = atkValues[75 + i].UInt, + CurrencyItemId = 1u, + OwnedItems = atkValues[136 + i].UInt, + ItemId = atkValues[441 + i].UInt + }).FirstOrDefault((ItemForSale x) => x.ItemId == currentStep.ItemId); + if (_shop.ItemForSale != null) + { + _currentStockSwitchAttempts = 0; + } + else if (_currentStockSwitchAttempts < 3 && Environment.TickCount64 - _lastCurrentStockSwitchMs > 2000) + { + _currentStockSwitchAttempts++; + _lastCurrentStockSwitchMs = Environment.TickCount64; + _logger.LogWarning("Shop list has {ItemCount} item(s) but not {ItemId}; switching to Current Stock tab ({Attempt}/{Max})", uInt, currentStep.ItemId, _currentStockSwitchAttempts, 3); + SwitchToCurrentStockTab(addon); } - } - - unsafe void IShopWindow.UpdateShopStock(AtkUnitBase* addon) - { - //ILSpy generated this explicit interface implementation from .override directive in UpdateShopStock - this.UpdateShopStock(addon); } public unsafe void TriggerPurchase(AtkUnitBase* addonShop, int buyNow) @@ -394,7 +167,7 @@ internal sealed class ShopController : IDisposable, IShopWindow new AtkValue { Type = AtkValueType.Int, - Int = _202A_200F_202A_202D_206E_202A_200E_202A_202A_206E_206B_202C_200F_202C_202D_206A_206C_202E_202C_206A_200D_200B_202B_206E_202A_200E_202A_202D_206F_200C_202B_202A_206F_206C_200F_206A_200B_202A_206D_206C_202E(_206C_202C_206C_202D_206D_202A_206A_200C_202C_200B_202C_206F_200D_206B_206B_202C_206D_202D_200E_200B_206D_202B_206E_202D_202E_202E_206F_206E_206C_202E_206F_206A_206F_200B_202E_206E_200B_200D_200C_206F_202E(_shop)) + Int = _shop.ItemForSale.Position }, new AtkValue { @@ -410,12 +183,6 @@ internal sealed class ShopController : IDisposable, IShopWindow addonShop->FireCallback(4u, values); } - unsafe void IShopWindow.TriggerPurchase(AtkUnitBase* addonShop, int buyNow) - { - //ILSpy generated this explicit interface implementation from .override directive in TriggerPurchase - this.TriggerPurchase(addonShop, buyNow); - } - private unsafe void SwitchToCurrentStockTab(AtkUnitBase* addonShop) { AtkValue* values = stackalloc AtkValue[3] @@ -443,177 +210,11 @@ internal sealed class ShopController : IDisposable, IShopWindow { } - void IShopWindow.SaveExternalPluginState() - { - //ILSpy generated this explicit interface implementation from .override directive in SaveExternalPluginState - this.SaveExternalPluginState(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe void RestoreExternalPluginState() { - AtkUnitBase* addonPtr; - int num = ((!_gameGui.TryGetAddonByName(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(831697146), out addonPtr)) ? 2003329777 : 2003329778); - while (true) + if (_gameGui.TryGetAddonByName("Shop", out var addonPtr)) { - int num2 = num; - int num3 = 2003329776; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 2003329778; - break; - case 2: - addonPtr->FireCallbackInt(-1); - num = 2003329777; - break; - case 1: - return; - } + addonPtr->FireCallbackInt(-1); } } - - void IShopWindow.RestoreExternalPluginState() - { - //ILSpy generated this explicit interface implementation from .override directive in RestoreExternalPluginState - this.RestoreExternalPluginState(); - } - - static RegularShopBase _206D_202A_202E_206D_206B_202C_200C_206E_200B_202B_206D_202A_202B_206D_202E_200C_200B_206F_206C_206C_202C_206F_206C_202E_206B_202B_206E_202C_200D_206D_202A_206E_206B_206A_206B_206A_206E_206D_202E(IShopWindow P_0, string P_1, IPluginLog P_2, IGameGui P_3, IAddonLifecycle P_4, IDataManager P_5) - { - return new RegularShopBase(P_0, P_1, P_2, P_3, P_4, P_5); - } - - static void _200B_202A_200F_206D_200C_200B_206B_206A_202E_202A_200D_202C_202B_200D_202A_206A_206F_202A_206C_206F_200D_202D_202B_206E_206A_200C_206A_206D_206D_202A_202B_202B_202E_202B_206B_200D_206D_202B_200B_206C_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1) - { - P_0.Update += P_1; - } - - static bool _200C_202E_202B_202B_206C_206C_206E_200E_200B_200D_206E_202B_202A_202A_200B_200C_200D_206C_200D_206F_202A_202B_202A_200B_206B_202A_200B_200F_206F_202A_200E_202A_202B_206F_202B_200F_200E_200F_206F_202C_202E(RegularShopBase P_0) - { - return P_0.AutoBuyEnabled; - } - - static bool _206F_200B_202D_202B_206C_206B_200E_202B_200D_200E_206D_202D_202C_206D_206C_200F_200C_206F_200B_200E_202D_202D_200E_206E_202D_202C_206C_202D_202A_200F_202E_202D_202E_206F_202E_202D_200D_206B_202A_202A_202E(RegularShopBase P_0) - { - return P_0.IsAwaitingYesNo; - } - - static void _202E_200F_206E_206E_202D_200F_202D_202E_206A_206F_202B_206A_200B_202B_202B_206A_200C_206D_202A_206F_206A_202A_206B_200B_202E_202C_202D_202A_206B_200C_206B_200F_206C_200F_202A_202C_200D_206B_206F_206C_202E(RegularShopBase P_0, bool P_1) - { - P_0.IsAwaitingYesNo = P_1; - } - - static void _202E_206A_206E_200F_206E_200C_206B_200B_200C_200D_200E_200C_206A_200D_206E_200C_202C_206E_206F_206D_202D_206F_200F_206E_202B_206A_206C_200D_206B_202C_206C_202D_206A_200C_206B_200B_206E_206D_200B_200E_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1) - { - P_0.Update -= P_1; - } - - static void _200C_202E_206E_206C_202A_200C_202B_200C_202A_206E_206C_206F_202B_202C_202B_200E_206B_200F_202B_206D_206F_206E_200E_206F_206B_200B_202D_202E_206A_206B_200B_200E_200E_206C_202D_200E_202E_202C_206E_202A_202E(RegularShopBase P_0) - { - P_0.Dispose(); - } - - static ItemForSale _206C_202C_206C_202D_206D_202A_206A_200C_202C_200B_202C_206F_200D_206B_206B_202C_206D_202D_200E_200B_206D_202B_206E_202D_202E_202E_206F_206E_206C_202E_206F_206A_206F_200B_202E_206E_200B_200D_200C_206F_202E(RegularShopBase P_0) - { - return P_0.ItemForSale; - } - - static PurchaseState _202B_200D_200D_206C_200E_200C_202C_206F_206A_206E_206C_202E_202C_200E_206C_206D_202E_206E_206B_202D_202B_200E_206F_202D_206C_202B_206C_206F_206D_202A_202D_200F_200F_202B_202B_202D_206A_200F_200F_202C_202E(RegularShopBase P_0) - { - return P_0.PurchaseState; - } - - static void _202E_200C_206B_202C_200E_202B_200C_206F_202A_206F_200D_206C_202D_202C_200F_206A_202B_200D_200B_202D_206F_206E_200E_206C_206F_206C_202E_206A_206C_202E_206B_206D_206C_206F_202A_200F_206B_206F_200E_202A_202E(RegularShopBase P_0) - { - P_0.HandleNextPurchaseStep(); - } - - static EInteractionType _206B_200F_206A_200C_206B_206B_202D_202E_206E_202D_200C_202C_206C_200F_202C_206B_206C_202B_202A_200F_202A_206A_206C_206C_206F_206D_200F_200D_206B_202C_202B_202B_206A_200E_206A_202C_200C_206D_206A_202B_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static void _202E_202A_200F_202E_200F_202E_200C_200D_206B_202D_202B_200E_206F_200C_202E_200D_200E_202E_206C_206D_206E_206C_202A_202A_202A_206F_206B_200F_202D_200B_202A_200B_202E_206C_206A_206E_200D_200F_202B_200D_202E(RegularShopBase P_0, ItemForSale P_1) - { - P_0.ItemForSale = P_1; - } - - static int? _206C_202A_206F_200F_200B_200F_206F_200B_200B_206B_200B_202E_202B_200B_200F_200B_202A_206C_206B_202C_206E_200F_200F_206D_206A_200B_206C_200E_202B_200D_202D_200F_206A_200E_200B_200E_202C_202D_206D_206D_202E(QuestStep P_0) - { - return P_0.ItemCount; - } - - static uint _202E_206F_202B_202C_202E_206F_200D_206B_202A_202B_206B_206A_206D_200D_202E_202C_200D_206E_200E_200D_206E_202D_206E_200E_200E_206D_206C_200B_200F_200E_202C_206A_206B_200B_200C_206A_206C_206B_202B_202A_202E(ItemForSale P_0) - { - return P_0.OwnedItems; - } - - static int _200E_206D_206B_202D_200C_206A_200E_206D_200B_202D_202E_206A_206B_206E_206D_200E_200C_202A_200F_202E_202C_206A_200F_206A_200C_200E_206A_206D_200E_200D_202E_206F_206F_202A_200B_202D_206D_200C_206C_200E_202E(int P_0, int P_1) - { - return Math.Max(P_0, P_1); - } - - static int _202D_202D_200D_200D_206A_202C_202C_200C_206B_206C_200D_206B_202B_202E_206F_202B_202B_200D_202C_206E_202E_200E_200E_200D_200C_200E_202B_206C_206D_200F_200F_202D_200D_200B_206B_206E_202B_202C_200C_202A_202E(RegularShopBase P_0) - { - return P_0.GetMaxItemsToPurchase(); - } - - static int _200F_202B_202B_206C_200D_200C_200F_206A_206D_206D_202D_206A_202C_202D_206F_206F_202D_206C_202E_202B_206E_202B_200C_206F_206F_200C_200F_200E_206A_206C_206B_200D_200E_206F_206B_202A_202E_202C_206A_202A_202E(int P_0, int P_1) - { - return Math.Min(P_0, P_1); - } - - static string _200F_202B_206D_202E_202E_202C_200C_202D_200F_202B_202A_206E_206E_200F_206F_202B_202D_202D_202A_202A_200E_200B_206C_206A_200E_206F_206C_200C_206D_206F_206B_202B_200C_200E_202E_206C_202C_206B_202C_206D_202E(ItemForSale P_0) - { - return P_0.ItemName; - } - - static void _202B_206A_206D_206D_206E_200E_202B_206E_202C_206D_200D_202A_202C_202D_206F_202C_202D_202D_206D_206E_206E_202A_202B_206F_200B_200E_202E_202E_202B_200B_206E_206A_206F_200E_202B_200C_200B_206C_200B_202E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static void _200D_200E_202E_202A_206E_206F_202E_206D_206B_206F_206A_200D_206C_200D_202B_202D_200E_200E_200E_200D_200D_200B_202A_206B_202E_206F_202C_200E_206B_200D_200B_202E_202E_202C_200D_206A_206B_206F_206D_202A_202E(RegularShopBase P_0, int P_1) - { - P_0.StartAutoPurchase(P_1); - } - - static QuestStep _206C_206B_200C_202A_206C_206C_200B_200C_202C_206A_200B_206C_200E_202E_202C_200D_206A_200B_202A_206A_206B_202E_206D_202E_200C_202D_200D_206B_200D_200F_206C_206E_206A_202A_206B_206F_200E_206D_206A_202D_202E(QuestSequence P_0, int P_1) - { - return P_0.FindStep(P_1); - } - - static void _202A_200C_206E_202D_206D_206D_202C_202E_200B_200E_206C_200F_202A_200B_206F_206E_206E_206C_200F_200D_206E_202A_202E_202D_200B_200B_202E_206F_202D_206D_206A_202B_206E_202D_202A_206A_200C_206B_206E_206D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogError(P_1, P_2); - } - - static uint? _206F_202C_200B_202C_200D_206E_202D_200C_200B_200F_202B_202C_200B_206E_206C_206E_202A_206A_200F_206B_200B_200F_202C_202D_206E_200D_200E_200E_206E_206F_206E_206C_202B_202D_206C_200E_206C_200E_200E_202D_202E(QuestStep P_0) - { - return P_0.ItemId; - } - - static IEnumerable _206C_202D_206B_206B_200E_206D_206B_200D_202C_200E_206C_206A_202D_206F_206C_200C_206A_206B_200E_200F_200E_206D_202D_206A_206D_206F_202D_200D_202A_202D_202D_202A_206C_200C_202C_206F_200E_202A_202D_206E_202E(int P_0, int P_1) - { - return Enumerable.Range(P_0, P_1); - } - - static long _202B_206B_206D_206A_202B_200F_200B_200F_200F_202D_206E_206F_200F_200C_206F_202E_202E_202A_200B_202E_200D_206D_200B_206C_200E_206A_206B_206C_202D_206C_202B_200F_206D_202E_200C_206A_206C_206A_200E_206B_202E() - { - return Environment.TickCount64; - } - - static void _200D_200B_200F_206C_200B_202D_202A_202A_206B_200D_202A_206A_206E_206E_206C_200E_206B_202E_200C_202A_202A_202E_206D_206C_206F_206F_206D_200D_206F_200C_200F_206B_200F_200B_206D_200B_200F_200B_202C_200E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static int _202A_200F_202A_202D_206E_202A_200E_202A_202A_206E_206B_202C_200F_202C_202D_206A_206C_202E_202C_206A_200D_200B_202B_206E_202A_200E_202A_202D_206F_200C_202B_202A_206F_206C_200F_206A_200B_202A_206D_206C_202E(ItemForSale P_0) - { - return P_0.Position; - } } diff --git a/Questionable/Questionable.Controller.NavigationOverrides/AlternateLocation.cs b/Questionable/Questionable.Controller.NavigationOverrides/AlternateLocation.cs index f3bf2cb..3b32343 100644 --- a/Questionable/Questionable.Controller.NavigationOverrides/AlternateLocation.cs +++ b/Questionable/Questionable.Controller.NavigationOverrides/AlternateLocation.cs @@ -1,117 +1,23 @@ using System; -using System.Collections.Generic; using System.Globalization; using System.Numerics; using System.Runtime.CompilerServices; -using System.Text; namespace Questionable.Controller.NavigationOverrides; public sealed record AlternateLocation(Vector3 Point, bool RecalculateNavmesh) { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206A_200D_200F_202C_206C_202B_200E_200F_206B_200F_206C_206B_206A_206F_206C_202A_202A_206E_202E_200F_200C_200B_200C_206A_206D_200C_202D_202D_200D_206E_200F_200D_206A_200C_200E_200D_200F_200D_206C_206B_202E(typeof(AlternateLocation).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - IFormatProvider formatProvider = _202E_206D_200D_206D_206E_202D_206C_202D_206A_202E_202C_202E_202B_200D_202E_200D_200E_206A_202D_200F_206D_200C_206A_206E_202A_206D_206E_200D_202D_206D_202C_202C_206C_206B_206A_200F_200F_200C_200F_200C_202E(); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(6, 4, formatProvider); - defaultInterpolatedStringHandler.AppendFormatted(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(-772385023)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2035955381)); - defaultInterpolatedStringHandler.AppendFormatted(Point, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1450220880)); - defaultInterpolatedStringHandler.AppendLiteral(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(1577352017)); - defaultInterpolatedStringHandler.AppendFormatted(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(528515555)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2074665157)); - defaultInterpolatedStringHandler.AppendFormatted(RecalculateNavmesh); - return _206C_202D_206A_202C_200D_200D_202B_200E_206C_202E_206F_206B_200C_206C_206B_200B_206D_206E_206F_202C_206F_206B_200E_200D_206A_202D_202D_200E_200F_206D_206A_206E_206D_200B_202D_202C_202A_206D_206B_202D_202E(formatProvider, ref defaultInterpolatedStringHandler); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202B_200F_202C_206B_202B_202B_206D_206B_206D_202E_200C_206C_206E_202B_206F_200D_202B_200E_206E_206E_200B_206F_202D_202C_202B_202D_202C_206D_200B_206B_206D_202E_206D_200E_206F_206A_206F_202A_206C_202D_202E(); - _206D_202E_200E_200B_206E_200C_202A_202B_206B_200B_202A_206C_202C_202D_206D_206F_206A_206E_200E_206B_200B_202B_202B_206A_202D_200E_202B_206D_200D_206F_206B_206E_206D_206F_200D_206D_206B_200D_206B_206F_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1934952826)); - _206D_202E_200E_200B_206E_200C_202A_202B_206B_200B_202A_206C_202C_202D_206D_206F_206A_206E_200E_206B_200B_202B_202B_206A_202D_200E_202B_206D_200D_206F_206B_206E_206D_206F_200D_206D_206B_200D_206B_206F_202E(builder, Point.ToString()); - _206D_202E_200E_200B_206E_200C_202A_202B_206B_200B_202A_206C_202C_202D_206D_206F_206A_206E_200E_206B_200B_202B_202B_206A_202D_200E_202B_206D_200D_206F_206B_206E_206D_206F_200D_206D_206B_200D_206B_206F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1357493032)); - _206D_202E_200E_200B_206E_200C_202A_202B_206B_200B_202A_206C_202C_202D_206D_206F_206A_206E_200E_206B_200B_202B_202B_206A_202D_200E_202B_206D_200D_206F_206B_206E_206D_206F_200D_206D_206B_200D_206B_206F_202E(builder, RecalculateNavmesh.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(AlternateLocation? other) - { - int num = (((object)this == other) ? 1935903240 : 1935903245); - while (true) - { - int num2 = num; - int num3 = 1935903244; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - num = ((!EqualityComparer.Default.Equals(Point, other.Point)) ? 1935903242 : 1935903244); - break; - case 1: - num = (((object)other == null) ? 1935903242 : 1935903246); - break; - case 6: - return false; - case 4: - return true; - case 3: - num = 1935903245; - break; - case 2: - num = ((!_206B_206B_206F_206B_202C_206C_202C_202B_200C_200B_206B_206F_206A_206B_206C_206F_200B_200F_200B_202A_202A_206B_206B_202D_206B_206C_206F_202A_202B_202D_202C_200F_200B_200B_200C_202B_200F_206D_200B_206A_202E(EqualityContract, other.EqualityContract)) ? 1935903242 : 1935903241); - break; - case 0: - return EqualityComparer.Default.Equals(RecalculateNavmesh, other.RecalculateNavmesh); - } - } - } - - bool IEquatable.Equals(AlternateLocation? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206A_200D_200F_202C_206C_202B_200E_200F_206B_200F_206C_206B_206A_206F_206C_202A_202A_206E_202E_200F_200C_200B_200C_206A_206D_200C_202D_202D_200D_206E_200F_200D_206A_200C_200E_200D_200F_200D_206C_206B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static CultureInfo _202E_206D_200D_206D_206E_202D_206C_202D_206A_202E_202C_202E_202B_200D_202E_200D_200E_206A_202D_200F_206D_200C_206A_206E_202A_206D_206E_200D_202D_206D_202C_202C_206C_206B_206A_200F_200F_200C_200F_200C_202E() - { - return CultureInfo.InvariantCulture; - } - - static string _206C_202D_206A_202C_200D_200D_202B_200E_206C_202E_206F_206B_200C_206C_206B_200B_206D_206E_206F_202C_206F_206B_200E_200D_206A_202D_202D_200E_200F_206D_206A_206E_206D_200B_202D_202C_202A_206D_206B_202D_202E(IFormatProvider P_0, ref DefaultInterpolatedStringHandler P_1) - { - return string.Create(P_0, ref P_1); - } - - static void _202B_200F_202C_206B_202B_202B_206D_206B_206D_202E_200C_206C_206E_202B_206F_200D_202B_200E_206E_206E_200B_206F_202D_202C_202B_202D_202C_206D_200B_206B_206D_202E_206D_200E_206F_206A_206F_202A_206C_202D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206D_202E_200E_200B_206E_200C_202A_202B_206B_200B_202A_206C_202C_202D_206D_206F_206A_206E_200E_206B_200B_202B_202B_206A_202D_200E_202B_206D_200D_206F_206B_206E_206D_206F_200D_206D_206B_200D_206B_206F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _206B_206B_206F_206B_202C_206C_202C_202B_200C_200B_206B_206F_206A_206B_206C_206F_200B_200F_200B_202A_202A_206B_206B_202D_206B_206C_206F_202A_202B_202D_202C_200F_200B_200B_200C_202B_200F_206D_200B_206A_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + IFormatProvider invariantCulture = CultureInfo.InvariantCulture; + DefaultInterpolatedStringHandler handler = new DefaultInterpolatedStringHandler(6, 4, invariantCulture); + handler.AppendFormatted("Point"); + handler.AppendLiteral(": "); + handler.AppendFormatted(Point, "G"); + handler.AppendLiteral(", "); + handler.AppendFormatted("RecalculateNavmesh"); + handler.AppendLiteral(": "); + handler.AppendFormatted(RecalculateNavmesh); + return string.Create(invariantCulture, ref handler); } } diff --git a/Questionable/Questionable.Controller.NavigationOverrides/BlacklistedArea.cs b/Questionable/Questionable.Controller.NavigationOverrides/BlacklistedArea.cs index 305b2ca..2e46cd4 100644 --- a/Questionable/Questionable.Controller.NavigationOverrides/BlacklistedArea.cs +++ b/Questionable/Questionable.Controller.NavigationOverrides/BlacklistedArea.cs @@ -1,187 +1,16 @@ -using System; -using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; namespace Questionable.Controller.NavigationOverrides; internal sealed record BlacklistedArea(ushort TerritoryId, Vector3 Center, float MinDistance, float MaxDistance, bool RecalculateNavmesh = false) : IBlacklistedLocation { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202D_206B_206D_202C_206E_206A_206B_202C_206A_202C_206D_206F_202D_202A_200D_202B_200F_200C_206F_206A_200F_202E_206A_202A_202B_200F_200E_200F_206E_202A_202C_206B_206B_202D_202A_200E_200D_200B_200C_206C_202E(typeof(BlacklistedArea).TypeHandle); - } - } - public AlternateLocation? AdjustPoint(Vector3 point) { float num = (point - Center).Length(); - int num2 = ((num < MinDistance) ? 1953826546 : 1953826545); - while (true) + if (num < MinDistance || num > MaxDistance) { - int num3 = num2; - int num4 = 1953826547; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 3: - num2 = 1953826545; - break; - case 0: - return new AlternateLocation(Center + Vector3.Normalize(point - Center) * MaxDistance, RecalculateNavmesh); - case 2: - num2 = ((!(num > MaxDistance)) ? 1953826547 : 1953826546); - break; - case 1: - return null; - } + return null; } - } - - AlternateLocation? IBlacklistedLocation.AdjustPoint(Vector3 point) - { - //ILSpy generated this explicit interface implementation from .override directive in AdjustPoint - return this.AdjustPoint(point); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206B_202A_200E_202B_202E_202D_202C_200F_206A_202A_202C_202B_206C_200D_206E_206A_202E_206E_202B_200B_206D_202E_202D_206C_206D_202E_202E_200E_202C_200F_200F_202D_206A_206C_202D_202B_202B_202C_206C_200E_202E(); - _202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(stringBuilder, 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(699267182)); - _202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? 1630506085 : 1630506086); - while (true) - { - int num2 = num; - int num3 = 1630506087; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - _200C_202C_202B_206A_206E_200C_206B_202B_202A_200E_206C_200C_206C_200D_200B_206D_206F_206D_206E_202A_200B_206E_206D_206E_200C_200C_200F_206E_202B_206A_206C_206E_202E_202E_202A_206F_206B_206C_202C_202E_202E(stringBuilder, '}'); - return _202A_206B_206C_202B_206E_202B_200E_202D_202C_206F_206C_206D_200F_202E_206F_200C_200C_200F_202E_200E_200C_206E_202B_206C_200F_202A_206B_206B_202B_206A_206C_200B_200E_202A_200D_206D_200F_202D_206A_200E_202E((object)stringBuilder); - case 1: - _200C_202C_202B_206A_206E_200C_206B_202B_202A_200E_206C_200C_206C_200D_200B_206D_206F_206D_206E_202A_200B_206E_206D_206E_200C_200C_200F_206E_202B_206A_206C_206E_202E_202E_202A_206F_206B_206C_202C_202E_202E(stringBuilder, ' '); - num = 1630506085; - break; - case 0: - num = 1630506086; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200C_200D_206A_206E_206E_206E_206A_200C_206F_202C_200C_200D_206D_200C_206B_202C_202D_202E_200E_200F_202D_206F_202B_200C_206C_202E_206C_200B_202D_202C_202C_200B_206A_200D_206C_200B_202E_202E_206C_202B_202E(); - _202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(builder, 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(-871596524)); - _202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(builder, TerritoryId.ToString()); - _202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2067705783)); - _202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(builder, Center.ToString()); - _202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-950319635)); - _202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(builder, MinDistance.ToString()); - _202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(builder, 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(1555143771)); - _202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(builder, MaxDistance.ToString()); - _202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1075142813)); - _202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(builder, RecalculateNavmesh.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(BlacklistedArea? other) - { - int num = (((object)this == other) ? 284124876 : 284124877); - while (true) - { - int num2 = num; - int num3 = 284124874; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = 284124877; - break; - case 8: - return EqualityComparer.Default.Equals(RecalculateNavmesh, other.RecalculateNavmesh); - case 0: - num = ((!EqualityComparer.Default.Equals(Center, other.Center)) ? 284124879 : 284124875); - break; - case 4: - num = ((!_206C_206E_200C_200D_206A_202B_206C_202B_206B_206C_202B_200D_200D_202D_206D_206F_200B_202C_206C_206B_206F_200F_202C_202B_200F_200B_202C_202E_202C_202C_202B_200B_206B_202E_202D_202B_200B_206F_200E_206B_202E(EqualityContract, other.EqualityContract)) ? 284124879 : 284124867); - break; - case 7: - num = (((object)other == null) ? 284124879 : 284124878); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(MinDistance, other.MinDistance)) ? 284124879 : 284124872); - break; - case 9: - num = ((!EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId)) ? 284124879 : 284124874); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(MaxDistance, other.MaxDistance)) ? 284124879 : 284124866); - break; - case 6: - return true; - case 5: - return false; - } - } - } - - bool IEquatable.Equals(BlacklistedArea? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202D_206B_206D_202C_206E_206A_206B_202C_206A_202C_206D_206F_202D_202A_200D_202B_200F_200C_206F_206A_200F_202E_206A_202A_202B_200F_200E_200F_206E_202A_202C_206B_206B_202D_202A_200E_200D_200B_200C_206C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206B_202A_200E_202B_202E_202D_202C_200F_206A_202A_202C_202B_206C_200D_206E_206A_202E_206E_202B_200B_206D_202E_202D_206C_206D_202E_202E_200E_202C_200F_200F_202D_206A_206C_202D_202B_202B_202C_206C_200E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200C_202C_202B_206A_206E_200C_206B_202B_202A_200E_206C_200C_206C_200D_200B_206D_206F_206D_206E_202A_200B_206E_206D_206E_200C_200C_200F_206E_202B_206A_206C_206E_202E_202E_202A_206F_206B_206C_202C_202E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202A_206B_206C_202B_206E_202B_200E_202D_202C_206F_206C_206D_200F_202E_206F_200C_200C_200F_202E_200E_200C_206E_202B_206C_200F_202A_206B_206B_202B_206A_206C_200B_200E_202A_200D_206D_200F_202D_206A_200E_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200C_200D_206A_206E_206E_206E_206A_200C_206F_202C_200C_200D_206D_200C_206B_202C_202D_202E_200E_200F_202D_206F_202B_200C_206C_202E_206C_200B_202D_202C_202C_200B_206A_200D_206C_200B_202E_202E_206C_202B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _206C_206E_200C_200D_206A_202B_206C_202B_206B_206C_202B_200D_200D_202D_206D_206F_200B_202C_206C_206B_206F_200F_202C_202B_200F_200B_202C_202E_202C_202C_202B_200B_206B_202E_202D_202B_200B_206F_200E_206B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return new AlternateLocation(Center + Vector3.Normalize(point - Center) * MaxDistance, RecalculateNavmesh); } } diff --git a/Questionable/Questionable.Controller.NavigationOverrides/BlacklistedPoint.cs b/Questionable/Questionable.Controller.NavigationOverrides/BlacklistedPoint.cs index a6eeee5..99dc4c4 100644 --- a/Questionable/Questionable.Controller.NavigationOverrides/BlacklistedPoint.cs +++ b/Questionable/Questionable.Controller.NavigationOverrides/BlacklistedPoint.cs @@ -1,185 +1,15 @@ -using System; -using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; namespace Questionable.Controller.NavigationOverrides; public sealed record BlacklistedPoint(ushort TerritoryId, Vector3 Original, Vector3 Replacement, float CheckDistance = 0.05f, bool RecalculateNavmesh = false) : IBlacklistedLocation { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206C_200E_206E_200B_206A_206E_206F_200E_206C_206B_206B_206B_202B_202B_200D_200E_202C_200D_206B_206E_206B_202A_206A_202C_202A_206D_200D_200F_206A_206F_200C_202D_200D_202C_200C_206B_206B_206F_206D_202C_202E(typeof(BlacklistedPoint).TypeHandle); - } - } - public AlternateLocation? AdjustPoint(Vector3 point) { - int num = ((!((point - Original).Length() > CheckDistance)) ? (-2043857747) : (-2043857748)); - while (true) + if ((point - Original).Length() > CheckDistance) { - int num2 = num; - int num3 = -2043857747; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_005c; - case 1: - return null; - case 0: - return new AlternateLocation(Replacement, RecalculateNavmesh); - } - continue; - IL_005c: - num = -2043857748; + return null; } - } - - AlternateLocation? IBlacklistedLocation.AdjustPoint(Vector3 point) - { - //ILSpy generated this explicit interface implementation from .override directive in AdjustPoint - return this.AdjustPoint(point); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202A_202C_200B_202E_202D_202A_206B_202C_206B_206E_206D_206C_206F_200C_200D_200E_206B_206B_206C_200F_206C_206F_206A_202B_202B_202B_206C_202C_200C_202D_200E_206D_202E_202C_206B_202C_200F_206A_202A_202C_202E(); - _200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(stringBuilder, 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(-2024611645)); - _200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(556540328)); - int num = ((!PrintMembers(stringBuilder)) ? 156676506 : 156676505); - while (true) - { - int num2 = num; - int num3 = 156676504; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 156676505; - break; - case 2: - _202C_202E_200D_206B_206D_206B_202C_200E_206E_200B_200E_206B_202B_202C_206A_200B_202C_200F_202C_206D_202E_202B_200B_200D_202B_200F_200B_202A_200F_202C_200F_200B_206B_206A_202B_200D_202C_200E_206B_206D_202E(stringBuilder, '}'); - return _202C_200D_206F_206C_202A_200E_200D_206F_206B_206A_202A_206A_202D_200C_200D_206C_200F_202A_202A_200E_206A_202D_206B_202A_200B_206E_200D_206B_202A_202B_200B_206D_202B_202D_206F_206F_202C_202A_206C_200D_202E((object)stringBuilder); - case 1: - _202C_202E_200D_206B_206D_206B_202C_200E_206E_200B_200E_206B_202B_202C_206A_200B_202C_200F_202C_206D_202E_202B_200B_200D_202B_200F_200B_202A_200F_202C_200F_200B_206B_206A_202B_200D_202C_200E_206B_206D_202E(stringBuilder, ' '); - num = 156676506; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206B_200C_200E_202A_202B_200F_200E_202D_206F_202A_206A_206B_202C_206D_206D_206E_206C_206B_200E_202E_200C_206A_202E_206D_200C_206A_200C_202E_200E_206F_200D_206D_202B_200B_206D_200C_200E_202A_200C_202D_202E(); - _200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2023728416)); - _200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(builder, TerritoryId.ToString()); - _200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-268848232)); - _200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(builder, Original.ToString()); - _200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1594334695)); - _200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(builder, Replacement.ToString()); - _200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(builder, 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(-453523176)); - _200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(builder, CheckDistance.ToString()); - _200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(builder, 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(-901239)); - _200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(builder, RecalculateNavmesh.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(BlacklistedPoint? other) - { - int num = (((object)this == other) ? 1826590402 : 1826590405); - while (true) - { - int num2 = num; - int num3 = 1826590402; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return true; - case 5: - num = ((!EqualityComparer.Default.Equals(Original, other.Original)) ? 1826590403 : 1826590410); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(CheckDistance, other.CheckDistance)) ? 1826590403 : 1826590406); - break; - case 9: - num = ((!EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId)) ? 1826590403 : 1826590407); - break; - case 1: - return false; - case 8: - num = ((!EqualityComparer.Default.Equals(Replacement, other.Replacement)) ? 1826590403 : 1826590400); - break; - case 6: - num = ((!_206A_206A_200D_202E_200D_206E_206C_202B_200C_200E_202C_202C_206D_206E_200B_206C_206F_202A_206B_202D_200F_206A_206E_202A_202A_206D_200C_202E_202D_202C_202C_206E_206B_206B_206A_202A_202D_200B_202B_202E(EqualityContract, other.EqualityContract)) ? 1826590403 : 1826590411); - break; - case 3: - num = 1826590405; - break; - case 7: - num = (((object)other == null) ? 1826590403 : 1826590404); - break; - case 4: - return EqualityComparer.Default.Equals(RecalculateNavmesh, other.RecalculateNavmesh); - } - } - } - - bool IEquatable.Equals(BlacklistedPoint? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206C_200E_206E_200B_206A_206E_206F_200E_206C_206B_206B_206B_202B_202B_200D_200E_202C_200D_206B_206E_206B_202A_206A_202C_202A_206D_200D_200F_206A_206F_200C_202D_200D_202C_200C_206B_206B_206F_206D_202C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202A_202C_200B_202E_202D_202A_206B_202C_206B_206E_206D_206C_206F_200C_200D_200E_206B_206B_206C_200F_206C_206F_206A_202B_202B_202B_206C_202C_200C_202D_200E_206D_202E_202C_206B_202C_200F_206A_202A_202C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202C_202E_200D_206B_206D_206B_202C_200E_206E_200B_200E_206B_202B_202C_206A_200B_202C_200F_202C_206D_202E_202B_200B_200D_202B_200F_200B_202A_200F_202C_200F_200B_206B_206A_202B_200D_202C_200E_206B_206D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202C_200D_206F_206C_202A_200E_200D_206F_206B_206A_202A_206A_202D_200C_200D_206C_200F_202A_202A_200E_206A_202D_206B_202A_200B_206E_200D_206B_202A_202B_200B_206D_202B_202D_206F_206F_202C_202A_206C_200D_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206B_200C_200E_202A_202B_200F_200E_202D_206F_202A_206A_206B_202C_206D_206D_206E_206C_206B_200E_202E_200C_206A_202E_206D_200C_206A_200C_202E_200E_206F_200D_206D_202B_200B_206D_200C_200E_202A_200C_202D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _206A_206A_200D_202E_200D_206E_206C_202B_200C_200E_202C_202C_206D_206E_200B_206C_206F_202A_206B_202D_200F_206A_206E_202A_202A_206D_200C_202E_202D_202C_202C_206E_206B_206B_206A_202A_202D_200B_202B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return new AlternateLocation(Replacement, RecalculateNavmesh); } } diff --git a/Questionable/Questionable.Controller.NavigationOverrides/MovementOverrideController.cs b/Questionable/Questionable.Controller.NavigationOverrides/MovementOverrideController.cs index afa8883..c94c456 100644 --- a/Questionable/Questionable.Controller.NavigationOverrides/MovementOverrideController.cs +++ b/Questionable/Questionable.Controller.NavigationOverrides/MovementOverrideController.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Dalamud.Plugin.Services; using Microsoft.Extensions.Logging; @@ -24,78 +23,26 @@ internal sealed class MovementOverrideController _logger = logger; } - [MethodImpl(MethodImplOptions.NoInlining)] public (List, bool) AdjustPath(List navPoints) { - using (List.Enumerator enumerator = BlacklistedLocations.GetEnumerator()) + foreach (IBlacklistedLocation blacklistedLocation in BlacklistedLocations) { - int num = -1572847159; - AlternateLocation alternateLocation = default(AlternateLocation); - IBlacklistedLocation current = default(IBlacklistedLocation); - int num7 = default(int); - while (true) + if (_clientState.TerritoryType != blacklistedLocation.TerritoryId) { - int num2 = num; - int num3 = -1572847156; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - alternateLocation = current.AdjustPoint(navPoints[num7]); - num = ((!(alternateLocation != null)) ? (-1572847155) : (-1572847163)); - break; - case 5: - num = (enumerator.MoveNext() ? (-1572847154) : (-1572847160)); - break; - case 0: - num = -1572847159; - break; - case 8: - num7 = 0; - num = -1572847153; - break; - case 2: - current = enumerator.Current; - num = ((_206E_206C_202E_202C_206B_200E_206A_206D_200F_202E_202B_202C_200B_202D_202B_202C_206E_202C_206E_200B_202E_206E_206C_202E_206D_202E_202E_206B_202E_202A_200C_202A_206F_200D_206A_202D_206D_202E_206A_202D_202E(_clientState) != current.TerritoryId) ? (-1572847159) : (-1572847164)); - break; - case 3: - num = ((num7 < navPoints.Count) ? (-1572847158) : (-1572847159)); - break; - case 7: - { - int num11 = num7; - num3 = 1; - num4 = num11; - return (navPoints.Take((num4 | num3) + (num4 & num3)).ToList(), true); - } - case 1: - { - int num8 = num7; - num3 = 1; - num4 = num8; - int num9 = num4 ^ num3; - int num10 = num4 & num3; - num7 = num9 + (num10 + num10); - num = -1572847153; - break; - } - case 9: - _200E_202B_200B_200F_206D_202C_202E_200D_200C_200C_202B_202D_200F_202B_206A_200E_202A_206C_200B_202D_202A_200D_206F_200E_200D_200F_200E_202E_202D_200D_200F_200D_202E_202E_202A_202A_206B_202E_206A_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1083711634), new object[2] - { - navPoints[num7].ToString(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(2120763774), _202E_206B_200B_206E_202B_206F_202D_206B_202C_202C_202A_200F_206E_206B_202A_200C_200E_202E_200C_206A_202B_202C_200D_200E_202A_202B_202E_200E_200B_200C_202C_206C_206B_202A_202C_200D_206F_202D_206F_206E_202E()), - alternateLocation - }); - navPoints[num7] = alternateLocation.Point; - num = ((!alternateLocation.RecalculateNavmesh) ? (-1572847155) : (-1572847157)); - break; - case 4: - goto end_IL_0017; - } continue; - end_IL_0017: - break; + } + for (int i = 0; i < navPoints.Count; i++) + { + AlternateLocation alternateLocation = blacklistedLocation.AdjustPoint(navPoints[i]); + if (alternateLocation != null) + { + _logger.LogDebug("Fudging navmesh point from {Original} to {Replacement} in blacklisted area", navPoints[i].ToString("G", CultureInfo.InvariantCulture), alternateLocation); + navPoints[i] = alternateLocation.Point; + if (alternateLocation.RecalculateNavmesh) + { + return (navPoints.Take(i + 1).ToList(), true); + } + } } } return (navPoints, false); @@ -140,19 +87,4 @@ internal sealed class MovementOverrideController span[30] = new BlacklistedPoint(1186, new Vector3(287.75f, 51.25f, 172f), new Vector3(288.875f, 50.75f, 166.25f)); BlacklistedLocations = list; } - - static uint _206E_206C_202E_202C_206B_200E_206A_206D_200F_202E_202B_202C_200B_202D_202B_202C_206E_202C_206E_200B_202E_206E_206C_202E_206D_202E_202E_206B_202E_202A_200C_202A_206F_200D_206A_202D_206D_202E_206A_202D_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static CultureInfo _202E_206B_200B_206E_202B_206F_202D_206B_202C_202C_202A_200F_206E_206B_202A_200C_200E_202E_200C_206A_202B_202C_200D_200E_202A_202B_202E_200E_200B_200C_202C_206C_206B_202A_202C_200D_206F_202D_206F_206E_202E() - { - return CultureInfo.InvariantCulture; - } - - static void _200E_202B_200B_200F_206D_202C_202E_200D_200C_200C_202B_202D_200F_202B_206A_200E_202A_206C_200B_202D_202A_200D_206F_200E_200D_200F_200E_202E_202D_200D_200F_200D_202E_202E_202A_202A_206B_202E_206A_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } } diff --git a/Questionable/Questionable.Controller.Steps.Common/AbstractDelayedTaskExecutor.cs b/Questionable/Questionable.Controller.Steps.Common/AbstractDelayedTaskExecutor.cs index 303d1e8..e6e2fb4 100644 --- a/Questionable/Questionable.Controller.Steps.Common/AbstractDelayedTaskExecutor.cs +++ b/Questionable/Questionable.Controller.Steps.Common/AbstractDelayedTaskExecutor.cs @@ -21,7 +21,7 @@ internal abstract class AbstractDelayedTaskExecutor : TaskExecutor where T protected sealed override bool Start() { bool result = StartInternal(); - _continueAtMs = _200D_206E_200D_200E_202D_202A_206F_202D_200D_206F_206D_202E_202D_202C_200B_200B_206E_200D_202B_206A_200C_200C_202E_206F_206D_200B_200D_206A_200E_202D_200B_200D_202D_202E_206D_200E_202C_206F_200C_202C_202E() + (long)Delay.TotalMilliseconds; + _continueAtMs = Environment.TickCount64 + (long)Delay.TotalMilliseconds; return result; } @@ -29,36 +29,15 @@ internal abstract class AbstractDelayedTaskExecutor : TaskExecutor where T public override ETaskResult Update() { - int num = ((_200D_206E_200D_200E_202D_202A_206F_202D_200D_206F_206D_202E_202D_202C_200B_200B_206E_200D_202B_206A_200C_200C_202E_206F_206D_200B_200D_206A_200E_202D_200B_200D_202D_202E_206D_200E_202C_206F_200C_202C_202E() >= _continueAtMs) ? 741757895 : 741757892); - while (true) + if (Environment.TickCount64 < _continueAtMs) { - int num2 = num; - int num3 = 741757894; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004d; - case 1: - return UpdateInternal(); - case 2: - return ETaskResult.StillRunning; - } - continue; - IL_004d: - num = 741757892; + return ETaskResult.StillRunning; } + return UpdateInternal(); } protected virtual ETaskResult UpdateInternal() { return ETaskResult.TaskComplete; } - - static long _200D_206E_200D_200E_202D_202A_206F_202D_200D_206F_206D_202E_202D_202C_200B_200B_206E_200D_202B_206A_200C_200C_202E_206F_206D_200B_200D_206A_200E_202D_200B_200D_202D_202E_206D_200E_202C_206F_200C_202C_202E() - { - return Environment.TickCount64; - } } diff --git a/Questionable/Questionable.Controller.Steps.Common/Mount.cs b/Questionable/Questionable.Controller.Steps.Common/Mount.cs index 78d37d4..42c9f20 100644 --- a/Questionable/Questionable.Controller.Steps.Common/Mount.cs +++ b/Questionable/Questionable.Controller.Steps.Common/Mount.cs @@ -1,11 +1,8 @@ using System; -using System.Collections.Generic; using System.Numerics; using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Client.Game.Character; @@ -20,28 +17,17 @@ internal static class Mount { internal sealed record MountTask : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206E_202A_200B_206E_202B_206B_202B_206B_200B_206D_206C_206B_206B_202D_206B_200E_202C_200B_202E_200F_202A_200B_202A_200E_200C_206C_206C_206D_200B_206A_206E_206F_202A_200D_200C_200E_200C_202C_202E_202E(typeof(MountTask).TypeHandle); - } - } - public ushort TerritoryId { get; init; } public EMountIf MountIf { get; init; } public FFXIVClientStructs.FFXIV.Common.Math.Vector3? Position { get; } - [MethodImpl(MethodImplOptions.NoInlining)] public MountTask(ushort TerritoryId, EMountIf MountIf, FFXIVClientStructs.FFXIV.Common.Math.Vector3? Position = null) { this.TerritoryId = TerritoryId; this.MountIf = MountIf; - this.Position = ((MountIf == EMountIf.AwayFromPosition) ? new FFXIVClientStructs.FFXIV.Common.Math.Vector3?(Position ?? throw _202C_200E_202C_200D_200F_206F_202E_206F_202A_202E_202D_206A_200D_206A_206D_200C_200C_206A_206E_206B_200B_200B_200B_200D_206A_202A_200F_206A_202B_202E_200E_200D_202A_202A_206F_200E_200C_202B_200D_206A_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1692510639))) : ((FFXIVClientStructs.FFXIV.Common.Math.Vector3?)null)); + this.Position = ((MountIf == EMountIf.AwayFromPosition) ? new FFXIVClientStructs.FFXIV.Common.Math.Vector3?(Position ?? throw new ArgumentNullException("Position")) : ((FFXIVClientStructs.FFXIV.Common.Math.Vector3?)null)); base._002Ector(); } @@ -50,72 +36,9 @@ internal static class Mount return true; } - bool ITask.ShouldRedoOnInterrupt() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt - return this.ShouldRedoOnInterrupt(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-9684774); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206A_206A_206A_206C_206E_200C_200D_202A_200C_200C_202B_202D_202A_206A_202C_206E_206D_206F_202A_206E_206F_202E_202E_206E_200E_206B_202A_200F_202B_202C_206B_202B_200F_200C_206F_206D_200B_200B_200C_206D_202E(); - _202B_202A_202E_202B_206B_206C_202E_200D_202C_200F_206D_202A_206E_202E_202A_202A_200E_200D_200F_206A_202D_202A_200C_202D_202B_200C_206B_206F_200B_202A_206B_202C_206C_202B_200E_200C_202B_200E_206B_200F_202E(builder, 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(-871596524)); - _202B_202A_202E_202B_206B_206C_202E_200D_202C_200F_206D_202A_206E_202E_202A_202A_200E_200D_200F_206A_202D_202A_200C_202D_202B_200C_206B_206F_200B_202A_206B_202C_206C_202B_200E_200C_202B_200E_206B_200F_202E(builder, TerritoryId.ToString()); - _202B_202A_202E_202B_206B_206C_202E_200D_202C_200F_206D_202A_206E_202E_202A_202A_200E_200D_200F_206A_202D_202A_200C_202D_202B_200C_206B_206F_200B_202A_206B_202C_206C_202B_200E_200C_202B_200E_206B_200F_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1100545370)); - _202B_202A_202E_202B_206B_206C_202E_200D_202C_200F_206D_202A_206E_202E_202A_202A_200E_200D_200F_206A_202D_202A_200C_202D_202B_200C_206B_206F_200B_202A_206B_202C_206C_202B_200E_200C_202B_200E_206B_200F_202E(builder, MountIf.ToString()); - _202B_202A_202E_202B_206B_206C_202E_200D_202C_200F_206D_202A_206E_202E_202A_202A_200E_200D_200F_206A_202D_202A_200C_202D_202B_200C_206B_206F_200B_202A_206B_202C_206C_202B_200E_200C_202B_200E_206B_200F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1993330002)); - _202B_202A_202E_202B_206B_206C_202E_200D_202C_200F_206D_202A_206E_202E_202A_202A_200E_200D_200F_206A_202D_202A_200C_202D_202B_200C_206B_206F_200B_202A_206B_202C_206C_202B_200E_200C_202B_200E_206B_200F_202E(builder, Position.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(MountTask? other) - { - int num = (((object)this == other) ? (-244243578) : (-244243579)); - while (true) - { - int num2 = num; - int num3 = -244243580; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -244243579; - break; - case 5: - return EqualityComparer.Default.Equals(Position, other.Position); - case 1: - num = (((object)other == null) ? (-244243582) : (-244243584)); - break; - case 6: - return false; - case 3: - num = ((!EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId)) ? (-244243582) : (-244243581)); - break; - case 4: - num = ((!_206A_206E_206B_202B_206B_206A_200C_200D_202E_206B_202B_200B_206B_202E_202B_206A_206B_202A_200B_206D_202E_202A_202B_202B_206A_200F_202E_206A_206D_206C_206B_206F_206B_202E_202A_202D_202D_200F_202C_202B_202E(EqualityContract, other.EqualityContract)) ? (-244243582) : (-244243577)); - break; - case 2: - return true; - case 7: - num = ((!EqualityComparer.Default.Equals(MountIf, other.MountIf)) ? (-244243582) : (-244243583)); - break; - } - } - } - - bool IEquatable.Equals(MountTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); + return "Mount"; } [CompilerGenerated] @@ -125,150 +48,47 @@ internal static class Mount MountIf = this.MountIf; Position = this.Position; } - - static ArgumentNullException _202C_200E_202C_200D_200F_206F_202E_206F_202A_202E_202D_206A_200D_206A_206D_200C_200C_206A_206E_206B_200B_200B_200B_200D_206A_202A_200F_206A_202B_202E_200E_200D_202A_202A_206F_200E_200C_202B_200D_206A_202E(string P_0) - { - return new ArgumentNullException(P_0); - } - - static Type _206E_202A_200B_206E_202B_206B_202B_206B_200B_206D_206C_206B_206B_202D_206B_200E_202C_200B_202E_200F_202A_200B_202A_200E_200C_206C_206C_206D_200B_206A_206E_206F_202A_200D_200C_200E_200C_202C_202E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _206A_206A_206A_206C_206E_200C_200D_202A_200C_200C_202B_202D_202A_206A_202C_206E_206D_206F_202A_206E_206F_202E_202E_206E_200E_206B_202A_200F_202B_202C_206B_202B_200F_200C_206F_206D_200B_200B_200C_206D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202B_202A_202E_202B_206B_206C_202E_200D_202C_200F_206D_202A_206E_202E_202A_202A_200E_200D_200F_206A_202D_202A_200C_202D_202B_200C_206B_206F_200B_202A_206B_202C_206C_202B_200E_200C_202B_200E_206B_200F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _206A_206E_206B_202B_206B_206A_200C_200D_202E_206B_202B_200B_206B_202E_202B_206A_206B_202A_200B_206D_202E_202A_202B_202B_206A_200F_202E_206A_206D_206C_206B_206F_206B_202E_202A_202D_202D_200F_202C_202B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } } internal sealed class MountEvaluator(GameFunctions gameFunctions, ICondition condition, TerritoryData territoryData, IClientState clientState, IObjectTable objectTable, ILogger logger) { - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe MountResult EvaluateMountState(MountTask task, bool dryRun, ref long retryAtMs) { - int num = ((!_200D_200F_200B_200B_200E_206D_206D_200C_206E_200C_202A_206D_202C_206B_206E_200F_206F_202D_202B_200B_202A_206B_206A_202A_202E_202D_200E_200F_202B_206C_200D_206C_206F_202D_206D_206E_202A_206D_206F_202E_202E(condition, ConditionFlag.Mounted)) ? (-1122253637) : (-1122253641)); - float num8 = default(float); - LogLevel logLevel = default(LogLevel); - while (true) + if (condition[ConditionFlag.Mounted]) { - int num2 = num; - int num3 = -1122253647; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num7; - switch (num5 - (num6 + num6)) - { - case 14: - num = ((!(num8 < 30f)) ? (-1122253635) : (-1122253640)); - break; - case 3: - num7 = 6; - goto IL_00b6; - case 8: - _202B_202E_200B_202E_206F_206F_202E_206A_200C_202E_206A_202E_206E_200D_200C_200D_200B_202E_200C_200E_206D_200C_202B_202D_206E_206B_206B_206C_202C_200C_206D_200B_202D_206E_200C_202E_206B_206E_200B_202C_202E((ILogger)logger, logLevel, 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(-353154207), new object[1] { task.TerritoryId }); - num = (_200D_200F_200B_200B_200E_206D_206D_200C_206E_200C_202A_206D_202C_206B_206E_200F_206F_202D_202B_200B_202A_206B_206A_202A_202E_202D_200E_200F_202B_206C_200D_206C_206F_202D_206D_206E_202A_206D_206F_202E_202E(condition, ConditionFlag.InCombat) ? (-1122253644) : (-1122253643)); - break; - case 4: - num = ((!dryRun) ? (-1122253642) : (-1122253663)); - break; - case 5: - return MountResult.WhenOutOfCombat; - case 12: - _202B_202E_200B_202E_206F_206F_202E_206A_200C_202E_206A_202E_206E_200D_200C_200D_200B_202E_200C_200E_206D_200C_202B_202D_206E_206B_206B_206C_202C_200C_206D_200B_202D_206E_200C_202E_206B_206E_200B_202C_202E((ILogger)logger, logLevel, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1123067859), new object[2] { num8, task.TerritoryId }); - num = -1122253639; - break; - case 2: - _202B_202E_200B_202E_206F_206F_202E_206A_200C_202E_206A_202E_206E_200D_200C_200D_200B_202E_200C_200E_206D_200C_202B_202D_206E_206B_206B_206C_202C_200C_206D_200B_202D_206E_200C_202E_206B_206E_200B_202C_202E((ILogger)logger, logLevel, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(603618635), Array.Empty()); - return MountResult.DontMount; - case 11: - num7 = 1; - goto IL_00b6; - case 6: - return MountResult.DontMount; - case 10: - num = (dryRun ? (-1122253646) : (-1122253638)); - break; - case 17: - { - IPlayerCharacter playerCharacter = _206D_202A_206A_206C_206E_206B_206D_200F_200D_206C_202B_200F_206D_202B_202B_202A_200F_200D_206A_202D_200F_200C_206B_202A_202E_200B_202C_206B_206E_206D_206D_200C_202E_206B_200C_200F_200B_202B_202C_206F_202E(objectTable); - num8 = System.Numerics.Vector3.Distance((FFXIVClientStructs.FFXIV.Common.Math.Vector3)((playerCharacter != null) ? _206A_202D_206A_206C_202C_206D_200C_200D_202A_206C_202B_202D_206C_206D_206C_206C_202E_206D_200C_202C_206E_206B_202A_206C_200B_200B_206B_200E_206D_202D_200F_202D_206B_200F_206F_202B_202C_206B_200D_200D_202E((IGameObject)playerCharacter) : ((System.Numerics.Vector3)FFXIVClientStructs.FFXIV.Common.Math.Vector3.Zero)), task.Position.GetValueOrDefault()); - num = ((task.TerritoryId != _200D_200E_200C_202C_200D_202A_200E_206A_202B_206E_202E_206B_200B_202B_200D_202E_200C_206F_202A_206A_206D_206D_202B_206F_202A_206B_206F_200E_206E_200D_202C_206A_202C_202D_206C_206B_200E_200C_200B_200D_202E(clientState)) ? (-1122253635) : (-1122253633)); - break; - } - case 7: - return MountResult.Mount; - case 1: - num = ((task.MountIf != EMountIf.AwayFromPosition) ? (-1122253639) : (-1122253664)); - break; - case 15: - _202B_202E_200B_202E_206F_206F_202E_206A_200C_202E_206A_202E_206E_200D_200C_200D_200B_202E_200C_200E_206D_200C_202B_202D_206E_206B_206B_206C_202C_200C_206D_200B_202D_206E_200C_202E_206B_206E_200B_202C_202E((ILogger)logger, logLevel, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1312445464), Array.Empty()); - return MountResult.DontMount; - case 0: - num = -1122253641; - break; - case 13: - num = ((!gameFunctions.HasStatusPreventingMount()) ? (-1122253648) : (-1122253634)); - break; - case 9: - num = (FFXIVClientStructs.FFXIV.Client.Game.Conditions.Instance()->Diving ? (-1122253635) : (-1122253645)); - break; - case 18: - _202B_202E_200B_202E_206F_206F_202E_206A_200C_202E_206A_202E_206E_200D_200C_200D_200B_202E_200C_200E_206D_200C_202B_202D_206E_206B_206B_206C_202C_200C_206D_200B_202D_206E_200C_202E_206B_206E_200B_202C_202E((ILogger)logger, logLevel, 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(2123178136), new object[1] { task.TerritoryId }); - return MountResult.DontMount; - case 16: - { - retryAtMs = _202A_206E_202A_202E_200C_200F_200E_206C_206A_206A_202A_206A_206C_202D_200D_202D_200B_202B_206C_206B_206A_200F_200C_206D_206C_206C_200E_200B_200B_202A_206C_202D_200F_200D_206E_200D_200D_206F_206A_202D_202E() + 500; - num = -1122253642; - break; - } - IL_00b6: - logLevel = (LogLevel)num7; - num = (territoryData.CanUseMount(task.TerritoryId) ? (-1122253636) : (-1122253661)); - break; - } + return MountResult.DontMount; } - } - - static bool _200D_200F_200B_200B_200E_206D_206D_200C_206E_200C_202A_206D_202C_206B_206E_200F_206F_202D_202B_200B_202A_206B_206A_202A_202E_202D_200E_200F_202B_206C_200D_206C_206F_202D_206D_206E_202A_206D_206F_202E_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static void _202B_202E_200B_202E_206F_206F_202E_206A_200C_202E_206A_202E_206E_200D_200C_200D_200B_202E_200C_200E_206D_200C_202B_202D_206E_206B_206B_206C_202C_200C_206D_200B_202D_206E_200C_202E_206B_206E_200B_202C_202E(ILogger P_0, LogLevel P_1, string P_2, object[] P_3) - { - P_0.Log(P_1, P_2, P_3); - } - - static IPlayerCharacter _206D_202A_206A_206C_206E_206B_206D_200F_200D_206C_202B_200F_206D_202B_202B_202A_200F_200D_206A_202D_200F_200C_206B_202A_202E_200B_202C_206B_206E_206D_206D_200C_202E_206B_200C_200F_200B_202B_202C_206F_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static System.Numerics.Vector3 _206A_202D_206A_206C_202C_206D_200C_200D_202A_206C_202B_202D_206C_206D_206C_206C_202E_206D_200C_202C_206E_206B_202A_206C_200B_200B_206B_200E_206D_202D_200F_202D_206B_200F_206F_202B_202C_206B_200D_200D_202E(IGameObject P_0) - { - return P_0.Position; - } - - static uint _200D_200E_200C_202C_200D_202A_200E_206A_202B_206E_202E_206B_200B_202B_200D_202E_200C_206F_202A_206A_206D_206D_202B_206F_202A_206B_206F_200E_206E_200D_202C_206A_202C_202D_206C_206B_200E_200C_200B_200D_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static long _202A_206E_202A_202E_200C_200F_200E_206C_206A_206A_202A_206A_206C_202D_200D_202D_200B_202B_206C_206B_206A_200F_200C_206D_206C_206C_200E_200B_200B_202A_206C_202D_200F_200D_206E_200D_200D_206F_206A_202D_202E() - { - return Environment.TickCount64; + LogLevel logLevel = ((!dryRun) ? LogLevel.Debug : LogLevel.None); + if (!territoryData.CanUseMount(task.TerritoryId)) + { + logger.Log(logLevel, "Can't use mount in current territory {Id}", task.TerritoryId); + return MountResult.DontMount; + } + if (gameFunctions.HasStatusPreventingMount()) + { + logger.Log(logLevel, "Can't mount due to status preventing sprint or mount"); + return MountResult.DontMount; + } + if (task.MountIf == EMountIf.AwayFromPosition) + { + float num = System.Numerics.Vector3.Distance((FFXIVClientStructs.FFXIV.Common.Math.Vector3)(objectTable.LocalPlayer?.Position ?? ((System.Numerics.Vector3)FFXIVClientStructs.FFXIV.Common.Math.Vector3.Zero)), task.Position.GetValueOrDefault()); + if (task.TerritoryId == clientState.TerritoryType && num < 30f && !FFXIVClientStructs.FFXIV.Client.Game.Conditions.Instance()->Diving) + { + logger.Log(logLevel, "Not using mount, as we're close to the target"); + return MountResult.DontMount; + } + logger.Log(logLevel, "Want to use mount if away from destination ({Distance} yalms), trying (in territory {Id})...", num, task.TerritoryId); + } + logger.Log(logLevel, "Want to use mount, trying (in territory {Id})...", task.TerritoryId); + if (!condition[ConditionFlag.InCombat]) + { + if (dryRun) + { + retryAtMs = Environment.TickCount64 + 500; + } + return MountResult.Mount; + } + return MountResult.WhenOutOfCombat; } } @@ -284,96 +104,51 @@ internal static class Mount return mountEvaluator.EvaluateMountState(base.Task, dryRun: false, ref _retryAtMs) == MountResult.Mount; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - int num = ((!_mountTriggered) ? (-694294955) : (-694294952)); - while (true) + if (_mountTriggered && !condition[ConditionFlag.Mounted] && Environment.TickCount64 > _retryAtMs) { - int num2 = num; - int num3 = -694294945; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + logger.LogDebug("Not mounted, retrying..."); + _mountTriggered = false; + _retryAtMs = long.MaxValue; + } + if (!_mountTriggered) + { + if (gameFunctions.HasStatusPreventingMount()) { - case 2: - num = ((!gameFunctions.HasStatusPreventingMount()) ? (-694294957) : (-694294950)); - break; - case 3: - ResetProgressTimer(); + logger.LogDebug("Can't mount due to status preventing sprint or mount"); return ETaskResult.TaskComplete; - case 5: - _200D_206B_202E_200F_200E_202A_200B_202B_200F_206A_202C_206D_202E_202C_200F_202A_206E_202A_202C_202A_202A_200E_206C_202A_206A_202E_206E_200F_202B_200B_200F_202A_206F_206C_200F_202E_202A_206A_202B_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1137964517), Array.Empty()); - return ETaskResult.TaskComplete; - case 6: - _200D_206B_202E_200F_200E_202A_200B_202B_200F_206A_202C_206D_202E_202C_200F_202A_206E_202A_202C_202A_202A_200E_206C_202A_206A_202E_206E_200F_202B_200B_200F_202A_206F_206C_200F_202E_202A_206A_202B_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(614136280), Array.Empty()); + } + base.ProgressContext = InteractionProgressContext.FromActionUse(() => _mountTriggered = gameFunctions.Mount()); + ResetProgressTimer(); + _retryAtMs = Environment.TickCount64 + 5000; + return ETaskResult.StillRunning; + } + if (condition[ConditionFlag.Mounted]) + { + ResetProgressTimer(); + return ETaskResult.TaskComplete; + } + if (base.ProgressContext != null) + { + if (base.ProgressContext.WasInterrupted()) + { + logger.LogDebug("Mount was interrupted"); _mountTriggered = false; - _retryAtMs = long.MaxValue; - num = -694294955; - break; - case 11: - ResetProgressTimer(); - num = -694294945; - break; - case 10: - num = (_mountTriggered ? (-694294946) : (-694294947)); - break; - case 9: - num = ((!base.ProgressContext.WasInterrupted()) ? (-694294958) : (-694294953)); - break; - case 15: - num = ((base.ProgressContext == null) ? (-694294945) : (-694294954)); - break; - case 14: - num = ((_206D_202C_200D_206E_202D_206D_206D_206B_202B_200F_200E_206C_202B_206B_200F_206E_202C_206F_200F_206E_206B_202C_202E_206F_206A_202B_202D_202A_206F_206A_200F_202B_206F_202E_202A_206C_200D_202A_206D_202E_202E() <= _retryAtMs) ? (-694294955) : (-694294951)); - break; - case 7: - num = (_200E_206F_200E_202D_200C_206F_200F_202C_202B_200F_202B_200E_206D_200F_202D_202D_206F_202D_200E_200D_200E_206A_206B_206F_202C_202E_202D_202B_206E_206E_206C_206A_206C_200E_200C_200C_206D_200B_200B_200C_202E(condition, ConditionFlag.Mounted) ? (-694294955) : (-694294959)); - break; - case 13: - num = ((!base.ProgressContext.WasSuccessful()) ? (-694294945) : (-694294956)); - break; - case 1: - num = ((!_200E_206F_200E_202D_200C_206F_200F_202C_202B_200F_202B_200E_206D_200F_202D_202D_206F_202D_200E_200D_200E_206A_206B_206F_202C_202E_202D_202B_206E_206E_206C_206A_206C_200E_200C_200C_206D_200B_200B_200C_202E(condition, ConditionFlag.Mounted)) ? (-694294960) : (-694294948)); - break; - case 4: - num = -694294952; - break; - case 8: - _200D_206B_202E_200F_200E_202A_200B_202B_200F_206A_202C_206D_202E_202C_200F_202A_206E_202A_202C_202A_202A_200E_206C_202A_206A_202E_206E_200F_202B_200B_200F_202A_206F_206C_200F_202E_202A_206A_202B_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1257322524), Array.Empty()); - _mountTriggered = false; - return ETaskResult.StillRunning; - case 0: - return ETaskResult.StillRunning; - case 12: - base.ProgressContext = InteractionProgressContext.FromActionUse(() => _mountTriggered = gameFunctions.Mount()); - ResetProgressTimer(); - _retryAtMs = _206D_202C_200D_206E_202D_206D_206D_206B_202B_200F_200E_206C_202B_206B_200F_206E_202C_206F_200F_206E_206B_202C_202E_206F_206A_202B_202D_202A_206F_206A_200F_202B_206F_202E_202A_206C_200D_202A_206D_202E_202E() + 5000; return ETaskResult.StillRunning; } + if (base.ProgressContext.WasSuccessful()) + { + ResetProgressTimer(); + } } + return ETaskResult.StillRunning; } public override bool ShouldInterruptOnDamage() { return false; } - - static bool _200E_206F_200E_202D_200C_206F_200F_202C_202B_200F_202B_200E_206D_200F_202D_202D_206F_202D_200E_200D_200E_206A_206B_206F_202C_202E_202D_202B_206E_206E_206C_206A_206C_200E_200C_200C_206D_200B_200B_200C_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static long _206D_202C_200D_206E_202D_206D_206D_206B_202B_200F_200E_206C_202B_206B_200F_206E_202C_206F_200F_206E_206B_202C_202E_206F_206A_202B_202D_202A_206F_206A_200F_202B_206F_202E_202A_206C_200D_202A_206D_202E_202E() - { - return Environment.TickCount64; - } - - static void _200D_206B_202E_200F_200E_202A_200B_202B_200F_206A_202C_206D_202E_202C_200F_202A_206E_202A_202C_202A_202A_200E_206C_202A_206A_202E_206E_200F_202B_200B_200F_202A_206F_206C_200F_202E_202A_206A_202B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } } internal enum MountResult @@ -385,74 +160,14 @@ internal static class Mount internal sealed record UnmountTask : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200C_206C_200F_206C_202C_202E_200C_200D_202B_202B_200C_206B_200D_206D_202E_206E_206F_206E_206E_202B_202B_200C_206E_202B_200F_206C_200C_200E_206F_206C_206D_200B_200C_206D_206D_202C_206E_200F_200E_202B_202E(typeof(UnmountTask).TypeHandle); - } - } - public bool ShouldRedoOnInterrupt() { return true; } - bool ITask.ShouldRedoOnInterrupt() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt - return this.ShouldRedoOnInterrupt(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2092040442); - } - - [CompilerGenerated] - public bool Equals(UnmountTask? other) - { - int num = (((object)this == other) ? (-325437699) : (-325437704)); - while (true) - { - int num2 = num; - int num3 = -325437700; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return false; - case 0: - return _202E_200D_202B_206F_202E_206C_200C_200E_202A_206F_200E_206F_202E_202D_202C_206D_202E_200C_206D_206D_200F_200B_206F_202C_202D_206E_200E_206B_206F_200C_202E_206C_206C_206F_206B_206D_206B_200D_202D_206F_202E(EqualityContract, other.EqualityContract); - case 4: - num = (((object)other == null) ? (-325437697) : (-325437700)); - break; - case 1: - return true; - case 2: - num = -325437704; - break; - } - } - } - - bool IEquatable.Equals(UnmountTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200C_206C_200F_206C_202C_202E_200C_200D_202B_202B_200C_206B_200D_206D_202E_206E_206F_206E_206E_202B_202B_200C_206E_202B_200F_206C_200C_200E_206F_206C_206D_200B_200C_206D_206D_202C_206E_200F_200E_202B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static bool _202E_200D_202B_206F_202E_206C_200C_200E_202A_206F_200E_206F_202E_202D_202C_206D_202E_200C_206D_206D_200F_200B_206F_202C_202D_206E_200E_206B_206F_200C_202E_206C_206C_206F_206B_206D_206B_200D_202D_206F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "Unmount"; } } @@ -462,161 +177,75 @@ internal static class Mount private long _continueAtMs; - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { - int num = (_202B_202C_206F_200E_202E_206E_200E_200C_200C_206B_202D_200F_202C_206F_206D_206A_200E_202B_200D_206A_202C_202A_200B_206A_200D_202B_206B_206F_202B_202D_202D_200D_206A_206A_202E_200C_200F_200B_202C_206C_202E(condition, ConditionFlag.Mounted) ? 488246470 : 488246469); - while (true) + if (!condition[ConditionFlag.Mounted]) { - int num2 = num; - int num3 = 488246471; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _unmountTriggered = gameFunctions.Unmount(); - _continueAtMs = _202B_206A_206A_206D_206A_200C_200F_206E_206F_206D_206C_202A_206B_206C_200C_202C_206F_206D_206C_200E_202E_200C_200C_200C_202A_202E_206B_200E_206F_200B_206C_202B_200E_200F_206E_202C_202D_206A_200C_206D_202E() + 1000; - return true; - case 2: - return false; - case 4: - gameFunctions.Unmount(); - _continueAtMs = _202B_206A_206A_206D_206A_200C_200F_206E_206F_206D_206C_202A_206B_206C_200C_202C_206F_206D_206C_200E_202E_200C_200C_200C_202A_202E_206B_200E_206F_200B_206C_202B_200E_200F_206E_202C_202D_206A_200C_206D_202E() + 1000; - return true; - case 3: - num = 488246469; - break; - case 1: - _202C_202D_200C_202C_200B_206C_200E_200F_202B_200F_200C_200E_206C_206A_200C_206F_202A_200B_202D_206E_206A_202D_206A_206A_200C_202B_200D_206B_206D_206F_202C_206F_202A_206D_202E_202E_202B_200F_200D_202A_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-194036115), Array.Empty()); - num = ((!_202B_202C_206F_200E_202E_206E_200E_200C_200C_206B_202D_200F_202C_206F_206D_206A_200E_202B_200D_206A_202C_202A_200B_206A_200D_202B_206B_206F_202B_202D_202D_200D_206A_206A_202E_200C_200F_200B_202C_206C_202E(condition, ConditionFlag.InFlight)) ? 488246471 : 488246467); - break; - } + return false; } + logger.LogDebug("Step explicitly wants no mount, trying to unmount..."); + if (condition[ConditionFlag.InFlight]) + { + gameFunctions.Unmount(); + _continueAtMs = Environment.TickCount64 + 1000; + return true; + } + _unmountTriggered = gameFunctions.Unmount(); + _continueAtMs = Environment.TickCount64 + 1000; + return true; } public override ETaskResult Update() { - int num = ((_202B_206A_206A_206D_206A_200C_200F_206E_206F_206D_206C_202A_206B_206C_200C_202C_206F_206D_206C_200E_202E_200C_200C_200C_202A_202E_206B_200E_206F_200B_206C_202B_200E_200F_206E_202C_202D_206A_200C_206D_202E() >= _continueAtMs) ? 353264902 : 353264910); - while (true) + if (Environment.TickCount64 < _continueAtMs) { - int num2 = num; - int num3 = 353264907; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 13: - num = ((!IsUnmounting()) ? 353264903 : 353264898); - break; - case 14: - num = ((!_202B_202C_206F_200E_202E_206E_200E_200C_200C_206B_202D_200F_202C_206F_206D_206A_200E_202B_200D_206A_202C_202A_200B_206A_200D_202B_206B_206F_202B_202D_202D_200D_206A_206A_202E_200C_200F_200B_202C_206C_202E(condition, ConditionFlag.InCombat)) ? 353264899 : 353264904); - break; - case 6: - _continueAtMs = _202B_206A_206A_206D_206A_200C_200F_206E_206F_206D_206C_202A_206B_206C_200C_202C_206F_206D_206C_200E_202E_200C_200C_200C_202A_202E_206B_200E_206F_200B_206C_202B_200E_200F_206E_202C_202D_206A_200C_206D_202E() + 1000; - return ETaskResult.StillRunning; - case 1: - num = ((!_202B_202C_206F_200E_202E_206E_200E_200C_200C_206B_202D_200F_202C_206F_206D_206A_200E_202B_200D_206A_202C_202A_200B_206A_200D_202B_206B_206F_202B_202D_202D_200D_206A_206A_202E_200C_200F_200B_202C_206C_202E(condition, ConditionFlag.Mounted)) ? 353264899 : 353264901); - break; - case 0: - num = 353264910; - break; - case 2: - return ETaskResult.TaskComplete; - case 3: - _unmountTriggered = gameFunctions.Unmount(); - _continueAtMs = _202B_206A_206A_206D_206A_200C_200F_206E_206F_206D_206C_202A_206B_206C_200C_202C_206F_206D_206C_200E_202E_200C_200C_200C_202A_202E_206B_200E_206F_200B_206C_202B_200E_200F_206E_202C_202D_206A_200C_206D_202E() + 1000; - return ETaskResult.StillRunning; - case 11: - num = ((!_202B_202C_206F_200E_202E_206E_200E_200C_200C_206B_202D_200F_202C_206F_206D_206A_200E_202B_200D_206A_202C_202A_200B_206A_200D_202B_206B_206F_202B_202D_202D_200D_206A_206A_202E_200C_200F_200B_202C_206C_202E(condition, ConditionFlag.InFlight)) ? 353264911 : 353264897); - break; - case 12: - num = (_unmountTriggered ? 353264906 : 353264896); - break; - case 5: - return ETaskResult.StillRunning; - case 7: - return ETaskResult.StillRunning; - case 4: - _unmountTriggered = gameFunctions.Unmount(); - num = 353264909; - break; - case 8: - num = (_202B_202C_206F_200E_202E_206E_200E_200C_200C_206B_202D_200F_202C_206F_206D_206A_200E_202B_200D_206A_202C_202A_200B_206A_200D_202B_206B_206F_202B_202D_202D_200D_206A_206A_202E_200C_200F_200B_202C_206C_202E(condition, ConditionFlag.Mounted) ? 353264908 : 353264905); - break; - case 10: - gameFunctions.Unmount(); - num = 353264909; - break; - case 9: - return ETaskResult.StillRunning; - } + return ETaskResult.StillRunning; } + if (IsUnmounting()) + { + return ETaskResult.StillRunning; + } + if (!_unmountTriggered) + { + if (condition[ConditionFlag.InFlight]) + { + gameFunctions.Unmount(); + } + else + { + _unmountTriggered = gameFunctions.Unmount(); + } + _continueAtMs = Environment.TickCount64 + 1000; + return ETaskResult.StillRunning; + } + if (condition[ConditionFlag.Mounted] && condition[ConditionFlag.InCombat]) + { + _unmountTriggered = gameFunctions.Unmount(); + _continueAtMs = Environment.TickCount64 + 1000; + return ETaskResult.StillRunning; + } + if (!condition[ConditionFlag.Mounted]) + { + return ETaskResult.TaskComplete; + } + return ETaskResult.StillRunning; } private unsafe bool IsUnmounting() { - IPlayerCharacter playerCharacter = _200B_202D_206D_206F_206B_202D_206B_206C_200C_202B_206F_206C_206E_200C_200E_202E_202D_202E_206C_206B_202B_200D_202B_206A_202B_206E_202B_206A_206E_206D_206D_200D_202D_202B_206E_200C_202D_206C_202E_202A_202E(objectTable); - int num = ((playerCharacter == null) ? 117430025 : 117430026); - while (true) + IPlayerCharacter localPlayer = objectTable.LocalPlayer; + if (localPlayer != null) { - int num2 = num; - int num3 = 117430027; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0052; - case 2: - return false; - case 1: - { - BattleChara* ptr = (BattleChara*)_200F_202B_206E_200F_206E_200C_200C_200F_206E_206D_206C_200D_202D_206E_200C_200E_206B_202D_202C_206D_206A_206D_200C_206E_200D_202E_202B_206F_200B_202D_206F_202A_206C_200E_206E_200E_206A_200D_202E_202E((IGameObject)playerCharacter); - byte flags = ptr->Mount.Flags; - num3 = 1; - num4 = flags; - return num4 + num3 - (num4 | num3) == 1; - } - } - continue; - IL_0052: - num = 117430026; + BattleChara* address = (BattleChara*)localPlayer.Address; + return (address->Mount.Flags & 1) == 1; } + return false; } public override bool ShouldInterruptOnDamage() { return false; } - - static bool _202B_202C_206F_200E_202E_206E_200E_200C_200C_206B_202D_200F_202C_206F_206D_206A_200E_202B_200D_206A_202C_202A_200B_206A_200D_202B_206B_206F_202B_202D_202D_200D_206A_206A_202E_200C_200F_200B_202C_206C_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static void _202C_202D_200C_202C_200B_206C_200E_200F_202B_200F_200C_200E_206C_206A_200C_206F_202A_200B_202D_206E_206A_202D_206A_206A_200C_202B_200D_206B_206D_206F_202C_206F_202A_206D_202E_202E_202B_200F_200D_202A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static long _202B_206A_206A_206D_206A_200C_200F_206E_206F_206D_206C_202A_206B_206C_200C_202C_206F_206D_206C_200E_202E_200C_200C_200C_202A_202E_206B_200E_206F_200B_206C_202B_200E_200F_206E_202C_202D_206A_200C_206D_202E() - { - return Environment.TickCount64; - } - - static IPlayerCharacter _200B_202D_206D_206F_206B_202D_206B_206C_200C_202B_206F_206C_206E_200C_200E_202E_202D_202E_206C_206B_202B_200D_202B_206A_202B_206E_202B_206A_206E_206D_206D_200D_202D_202B_206E_200C_202D_206C_202E_202A_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static nint _200F_202B_206E_200F_206E_200C_200C_200F_206E_206D_206C_200D_202D_206E_200C_200E_206B_202D_202C_206D_206A_206D_200C_206E_200D_202E_202B_206F_200B_202D_206F_202A_206C_200E_206E_200E_206A_200D_202E_202E(IGameObject P_0) - { - return P_0.Address; - } } public enum EMountIf diff --git a/Questionable/Questionable.Controller.Steps.Common/NextQuest.cs b/Questionable/Questionable.Controller.Steps.Common/NextQuest.cs index ce7f348..d785cc3 100644 --- a/Questionable/Questionable.Controller.Steps.Common/NextQuest.cs +++ b/Questionable/Questionable.Controller.Steps.Common/NextQuest.cs @@ -1,7 +1,3 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Microsoft.Extensions.Logging; using Questionable.Functions; using Questionable.Model; @@ -15,234 +11,66 @@ internal static class NextQuest { public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((_202A_206F_206D_206A_200D_206F_200C_206B_202E_202D_202A_206A_206F_200C_200C_206C_202E_206D_202C_206A_206E_202E_202A_200E_206E_202B_202E_202B_206B_202C_200B_200D_200C_202E_202D_200B_202C_202B_206E_206E_202E(step) == EInteractionType.CompleteQuest) ? (-1909378292) : (-1909378290)); - while (true) + if (step.InteractionType != EInteractionType.CompleteQuest) { - int num2 = num; - int num3 = -1909378291; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 7: - num = -1909378290; - break; - case 0: - return null; - case 5: - return new SetQuestTask(_206F_206E_200D_200E_200B_202B_202B_202D_202D_202B_202E_202D_206F_200E_200B_200D_200E_200D_202B_202C_200E_202E_206C_200B_200E_200D_206D_206A_206F_202D_200C_200E_202B_206B_202D_206B_206E_202B_200B_200E_202E(step), quest.Id); - case 4: - return null; - case 1: - num = ((!_200B_202C_200B_206C_202A_200C_206F_206C_200D_202B_200F_200E_206A_200B_200D_202C_200E_206D_206B_202B_200C_202D_200D_206F_202D_200E_206A_202E_200B_202C_206A_202B_202D_206C_200B_200F_202E_206D_206B_206F_202E(_206F_206E_200D_200E_200B_202B_202B_202D_202D_202B_202E_202D_206F_200E_200B_200D_200E_200D_202B_202C_200E_202E_206C_200B_200E_200D_206D_206A_206F_202D_200C_200E_202B_206B_202D_206B_206E_202B_200B_200E_202E(step), (ElementId)null)) ? (-1909378293) : (-1909378299)); - break; - case 6: - num = ((!_200B_202C_200B_206C_202A_200C_206F_206C_200D_202B_200F_200E_206A_200B_200D_202C_200E_206D_206B_202B_200C_202D_200D_206F_202D_200E_206A_202E_200B_202C_206A_202B_202D_206C_200B_200F_202E_206D_206B_206F_202E(_206F_206E_200D_200E_200B_202B_202B_202D_202D_202B_202E_202D_206F_200E_200B_200D_200E_200D_202B_202C_200E_202E_206C_200B_200E_200D_206D_206A_206F_202D_200C_200E_202B_206B_202D_206B_206E_202B_200B_200E_202E(step), quest.Id)) ? (-1909378289) : (-1909378295)); - break; - case 2: - num = ((!questFunctions.GetPriorityQuests(onlyClassAndRoleQuests: true).Contains(_206F_206E_200D_200E_200B_202B_202B_202D_202D_202B_202E_202D_206F_200E_200B_200D_200E_200D_202B_202C_200E_202E_206C_200B_200E_200D_206D_206A_206F_202D_200C_200E_202B_206B_202D_206B_206E_202B_200B_200E_202E(step))) ? (-1909378296) : (-1909378291)); - break; - case 3: - return null; - case 8: - return null; - } + return null; } - } - - static EInteractionType _202A_206F_206D_206A_200D_206F_200C_206B_202E_202D_202A_206A_206F_200C_200C_206C_202E_206D_202C_206A_206E_202E_202A_200E_206E_202B_202E_202B_206B_202C_200B_200D_200C_202E_202D_200B_202C_202B_206E_206E_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static ElementId _206F_206E_200D_200E_200B_202B_202B_202D_202D_202B_202E_202D_206F_200E_200B_200D_200E_200D_202B_202C_200E_202E_206C_200B_200E_200D_206D_206A_206F_202D_200C_200E_202B_206B_202D_206B_206E_202B_200B_200E_202E(QuestStep P_0) - { - return P_0.NextQuestId; - } - - static bool _200B_202C_200B_206C_202A_200C_206F_206C_200D_202B_200F_200E_206A_200B_200D_202C_200E_206D_206B_202B_200C_202D_200D_206F_202D_200E_206A_202E_200B_202C_206A_202B_202D_206C_200B_200F_202E_206D_206B_206F_202E(ElementId P_0, ElementId P_1) - { - return P_0 == P_1; + if (step.NextQuestId == null) + { + return null; + } + if (step.NextQuestId == quest.Id) + { + return null; + } + if (questFunctions.GetPriorityQuests(onlyClassAndRoleQuests: true).Contains(step.NextQuestId)) + { + return null; + } + return new SetQuestTask(step.NextQuestId, quest.Id); } } internal sealed record SetQuestTask(ElementId NextQuestId, ElementId CurrentQuestId) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200E_202A_206A_200C_200D_202E_206B_206B_202B_206F_200D_202C_200C_202C_206A_200C_206B_206C_206C_206F_200E_202B_206C_200B_200C_206B_202A_200D_202A_206A_200B_200C_202C_202D_206A_202D_206E_202C_200B_206D_202E(typeof(SetQuestTask).TypeHandle); - } - } - public bool ShouldRedoOnInterrupt() { return true; } - bool ITask.ShouldRedoOnInterrupt() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt - return this.ShouldRedoOnInterrupt(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(14, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2031144159)); - defaultInterpolatedStringHandler.AppendFormatted(NextQuestId); - defaultInterpolatedStringHandler.AppendLiteral(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(424561659)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202E_206B_202E_200B_200D_200B_206F_206B_202D_202C_200C_200E_206B_206F_206C_202E_206A_206B_200D_202D_206B_206F_206F_202A_202C_206B_202C_206F_202C_206D_200E_200B_202B_202D_206C_200E_202D_206E_202D_200D_202E(); - _206E_206A_206A_202B_200E_206D_206C_200B_200C_200E_206B_202A_200D_206E_206A_200E_206F_206F_202D_202E_206A_200E_202D_202C_200F_206F_206C_202D_206F_202C_202E_206C_200C_202B_202C_206A_206E_206F_202C_206F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(129873473)); - _202D_202A_206B_200E_206B_200C_206C_206D_202D_202D_202A_202B_200F_202B_206C_206E_202C_200C_206D_200F_206A_200F_200F_202E_200B_200F_206F_200F_200B_206F_202B_202D_200C_206A_200B_206F_200D_206C_200D_206F_202E(builder, (object)NextQuestId); - _206E_206A_206A_202B_200E_206D_206C_200B_200C_200E_206B_202A_200D_206E_206A_200E_206F_206F_202D_202E_206A_200E_202D_202C_200F_206F_206C_202D_206F_202C_202E_206C_200C_202B_202C_206A_206E_206F_202C_206F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1559739733)); - _202D_202A_206B_200E_206B_200C_206C_206D_202D_202D_202A_202B_200F_202B_206C_206E_202C_200C_206D_200F_206A_200F_200F_202E_200B_200F_206F_200F_200B_206F_202B_202D_200C_206A_200B_206F_200D_206C_200D_206F_202E(builder, (object)CurrentQuestId); - return true; - } - - [CompilerGenerated] - public bool Equals(SetQuestTask? other) - { - int num = (((object)this == other) ? (-1393326810) : (-1393326816)); - while (true) - { - int num2 = num; - int num3 = -1393326814; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - return EqualityComparer.Default.Equals(CurrentQuestId, other.CurrentQuestId); - case 2: - num = (((object)other == null) ? (-1393326813) : (-1393326809)); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(NextQuestId, other.NextQuestId)) ? (-1393326813) : (-1393326815)); - break; - case 4: - return true; - case 5: - num = ((!_206E_200E_200E_200D_202D_206B_206B_200E_200F_206E_202B_200B_202D_206C_202B_202B_200C_206E_200C_202B_202A_206D_202C_200B_206D_206E_206C_206E_202D_202C_200F_206B_200D_200D_200B_200C_202A_206F_200B_202D_202E(EqualityContract, other.EqualityContract)) ? (-1393326813) : (-1393326812)); - break; - case 1: - return false; - case 0: - num = -1393326816; - break; - } - } - } - - bool IEquatable.Equals(SetQuestTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200E_202A_206A_200C_200D_202E_206B_206B_202B_206F_200D_202C_200C_202C_206A_200C_206B_206C_206C_206F_200E_202B_206C_200B_200C_206B_202A_200D_202A_206A_200B_200C_202C_202D_206A_202D_206E_202C_200B_206D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _202E_206B_202E_200B_200D_200B_206F_206B_202D_202C_200C_200E_206B_206F_206C_202E_206A_206B_200D_202D_206B_206F_206F_202A_202C_206B_202C_206F_202C_206D_200E_200B_202B_202D_206C_200E_202D_206E_202D_200D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206E_206A_206A_202B_200E_206D_206C_200B_200C_200E_206B_202A_200D_206E_206A_200E_206F_206F_202D_202E_206A_200E_202D_202C_200F_206F_206C_202D_206F_202C_202E_206C_200C_202B_202C_206A_206E_206F_202C_206F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202D_202A_206B_200E_206B_200C_206C_206D_202D_202D_202A_202B_200F_202B_206C_206E_202C_200C_206D_200F_206A_200F_200F_202E_200B_200F_206F_200F_200B_206F_202B_202D_200C_206A_200B_206F_200D_206C_200D_206F_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206E_200E_200E_200D_202D_206B_206B_200E_200F_206E_202B_200B_202D_206C_202B_202B_200C_206E_200C_202B_202A_206D_202C_200B_206D_206E_206C_206E_202D_202C_200F_206B_200D_200D_200B_200C_202A_206F_200B_202D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"SetNextQuest({NextQuestId})"; } } internal sealed class NextQuestExecutor(QuestRegistry questRegistry, QuestController questController, QuestFunctions questFunctions, ILogger logger) : TaskExecutor() { - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { QuestController.EAutomationType automationType = questController.AutomationType; - int num = (((uint)(automationType - 3) > 1u) ? (-54591417) : (-54591410)); - bool flag = default(bool); - Quest quest = default(Quest); - while (true) + Quest quest; + if ((uint)(automationType - 2) <= 1u) { - int num2 = num; - int num3 = -54591409; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = ((!flag) ? (-54591415) : (-54591411)); - break; - case 8: - flag = false; - num = -54591409; - break; - case 7: - return true; - case 6: - num = ((!questFunctions.IsQuestLocked(base.Task.NextQuestId, base.Task.CurrentQuestId)) ? (-54591414) : (-54591418)); - break; - case 3: - num = -54591410; - break; - case 2: - _206A_200F_206F_206E_200E_200E_206D_202C_200C_200D_202C_200C_202D_206F_202A_202A_200B_200E_200E_202D_202B_200D_206A_206E_200B_200F_206E_202C_206E_206E_200D_202C_206E_200F_200F_200E_206C_206F_206C_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-517035289), new object[1] { base.Task.NextQuestId }); - questController.SetNextQuest(null); - num = -54591416; - break; - case 10: - _206A_200F_206F_206E_200E_200E_206D_202C_200C_200D_202C_200C_202D_206F_202A_202A_200B_200E_200E_202D_202B_200D_206A_206E_200B_200F_206E_202C_206E_206E_200D_202C_206E_200F_200F_200E_206C_206F_206C_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2109635352), new object[2] - { - base.Task.NextQuestId, - quest.Info.Name - }); - questController.SetNextQuest(quest); - num = -54591416; - break; - case 9: - _206A_200F_206F_206E_200E_200E_206D_202C_200C_200D_202C_200C_202D_206F_202A_202A_200B_200E_200E_202D_202B_200D_206A_206E_200B_200F_206E_202C_206E_206E_200D_202C_206E_200F_200F_200E_206C_206F_206C_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1849595001), new object[1] { base.Task.NextQuestId }); - questController.SetNextQuest(null); - num = -54591416; - break; - case 1: - flag = true; - num = -54591409; - break; - case 4: - _206A_200F_206F_206E_200E_200E_206D_202C_200C_200D_202C_200C_202D_206F_202A_202A_200B_200E_200E_202D_202B_200D_206A_206E_200B_200F_206E_202C_206E_206E_200D_202C_206E_200F_200F_200E_206C_206F_206C_202E((ILogger)logger, 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(1489956066), new object[1] { base.Task.NextQuestId }); - questController.SetNextQuest(null); - num = -54591416; - break; - case 5: - num = ((!questRegistry.TryGetQuest(base.Task.NextQuestId, out quest)) ? (-54591413) : (-54591419)); - break; - } + logger.LogInformation("Won't set next quest to {QuestId}, automation type is CurrentQuestOnly", base.Task.NextQuestId); + questController.SetNextQuest(null); } + else if (questFunctions.IsQuestLocked(base.Task.NextQuestId, base.Task.CurrentQuestId)) + { + logger.LogInformation("Can't set next quest to {QuestId}, quest is locked", base.Task.NextQuestId); + questController.SetNextQuest(null); + } + else if (questRegistry.TryGetQuest(base.Task.NextQuestId, out quest)) + { + logger.LogInformation("Setting next quest to {QuestId}: '{QuestName}'", base.Task.NextQuestId, quest.Info.Name); + questController.SetNextQuest(quest); + } + else + { + logger.LogInformation("Next quest with id {QuestId} not found", base.Task.NextQuestId); + questController.SetNextQuest(null); + } + return true; } public override ETaskResult Update() @@ -254,10 +82,5 @@ internal static class NextQuest { return false; } - - static void _206A_200F_206F_206E_200E_200E_206D_202C_200C_200D_202C_200C_202D_206F_202A_202A_200B_200E_200E_202D_202B_200D_206A_206E_200B_200F_206E_202C_206E_206E_200D_202C_206E_200F_200F_200E_206C_206F_206C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } } } diff --git a/Questionable/Questionable.Controller.Steps.Common/RepairGear.cs b/Questionable/Questionable.Controller.Steps.Common/RepairGear.cs index b327943..01ecd75 100644 --- a/Questionable/Questionable.Controller.Steps.Common/RepairGear.cs +++ b/Questionable/Questionable.Controller.Steps.Common/RepairGear.cs @@ -1,7 +1,4 @@ using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Plugin.Services; using LLib.Gear; using Microsoft.Extensions.Logging; @@ -14,161 +11,17 @@ internal static class RepairGear { internal sealed record SelfRepairTask : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200D_206E_202A_200E_206D_200C_206C_202B_202C_200E_202A_200B_202D_206B_200F_200C_206C_200E_202A_206A_200C_206D_202C_206A_200D_206A_202D_200D_202B_202A_202C_200E_202B_200B_206E_206F_202E_200D_202A_202E(typeof(SelfRepairTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1902425230); - } - - [CompilerGenerated] - public bool Equals(SelfRepairTask? other) - { - int num = (((object)this == other) ? 995045173 : 995045172); - while (true) - { - int num2 = num; - int num3 = 995045173; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 995045172; - break; - case 0: - return true; - case 4: - return false; - case 1: - num = (((object)other == null) ? 995045169 : 995045174); - break; - case 3: - return _202D_206A_200F_202A_206B_200E_200E_200D_200C_206B_200D_206F_206E_202C_200E_206B_200E_200C_206C_206E_202C_202C_206D_200D_202C_206B_206C_206A_202D_202B_206C_206E_202A_200B_200E_202E_202E_202C_202B_200C_202E(EqualityContract, other.EqualityContract); - } - } - } - - bool IEquatable.Equals(SelfRepairTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200D_206E_202A_200E_206D_200C_206C_202B_202C_200E_202A_200B_202D_206B_200F_200C_206C_200E_202A_206A_200C_206D_202C_206A_200D_206A_202D_200D_202B_202A_202C_200E_202B_200B_206E_206F_202E_200D_202A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static bool _202D_206A_200F_202A_206B_200E_200E_200D_200C_206B_200D_206F_206E_202C_200E_206B_200E_200C_206C_206E_202C_202C_206D_200D_202C_206B_206C_206A_202D_202B_206C_206E_202A_200B_200E_202E_202E_202C_202B_200C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "SelfRepair"; } } internal sealed record MenderRepairTask(MenderNpc Npc) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202C_206D_202C_206A_200D_206E_202E_200F_206E_206A_200F_206B_200B_200C_202B_202C_202A_202E_206A_200D_206C_202A_206F_200B_206E_206B_206D_202A_200F_206E_202E_202B_202B_206F_202C_202D_200F_206A_200D_200E_202E(typeof(MenderRepairTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(14, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1987309815)); - defaultInterpolatedStringHandler.AppendFormatted(Npc.DataId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206E_200D_206E_202B_200E_200B_200F_202C_200C_202D_206D_202D_202B_206C_206B_206B_200E_200B_200D_200D_200C_202C_200C_202E_200B_200D_206D_202E_200B_200C_200F_206D_202D_202D_200B_200C_202E_200B_206B_200F_202E(); - _202C_202D_206F_202B_202C_206B_206F_202B_200C_200D_206D_206A_206B_200E_200B_202B_202D_200F_200B_200F_200D_200E_202C_200D_200E_206D_206B_206B_202B_200C_202B_206E_206A_206C_200B_200E_206E_200C_206A_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2086626931)); - _206A_206B_202A_202E_200D_202D_202D_206B_200B_200E_200F_206A_206D_200F_200E_206A_202B_202D_200F_200C_200F_200F_202B_206C_206B_200F_206A_206D_206F_206F_206B_202B_206B_206F_206B_200B_200B_200C_200D_202A_202E(builder, (object)Npc); - return true; - } - - [CompilerGenerated] - public bool Equals(MenderRepairTask? other) - { - int num = (((object)this == other) ? (-799172425) : (-799172431)); - while (true) - { - int num2 = num; - int num3 = -799172430; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return EqualityComparer.Default.Equals(Npc, other.Npc); - case 5: - return true; - case 4: - num = -799172431; - break; - case 2: - num = ((!_206B_200D_202E_206B_202B_200D_200B_206E_202B_206C_200D_202E_206D_206E_202D_202C_202C_202D_200D_202D_202A_200D_206F_200B_206C_200E_202C_206F_200E_202A_206F_202B_206F_206D_200E_202A_202B_202C_202C_202A_202E(EqualityContract, other.EqualityContract)) ? (-799172430) : (-799172429)); - break; - case 0: - return false; - case 3: - num = (((object)other == null) ? (-799172430) : (-799172432)); - break; - } - } - } - - bool IEquatable.Equals(MenderRepairTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202C_206D_202C_206A_200D_206E_202E_200F_206E_206A_200F_206B_200B_200C_202B_202C_202A_202E_206A_200D_206C_202A_206F_200B_206E_206B_206D_202A_200F_206E_202E_202B_202B_206F_202C_202D_200F_206A_200D_200E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _206E_200D_206E_202B_200E_200B_200F_202C_200C_202D_206D_202D_202B_206C_206B_206B_200E_200B_200D_200D_200C_202C_200C_202E_200B_200D_206D_202E_200B_200C_200F_206D_202D_202D_200B_200C_202E_200B_206B_200F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202C_202D_206F_202B_202C_206B_206F_202B_200C_200D_206D_206A_206B_200E_200B_202B_202D_200F_200B_200F_200D_200E_202C_200D_200E_206D_206B_206B_202B_200C_202B_206E_206A_206C_200B_200E_206E_200C_206A_206A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206A_206B_202A_202E_200D_202D_202D_206B_200B_200E_200F_206A_206D_200F_200E_206A_202B_202D_200F_200C_200F_200F_202B_206C_206B_200F_206A_206D_206F_206F_206B_202B_206B_206F_206B_200B_200B_200C_200D_202A_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206B_200D_202E_206B_202B_200D_200B_206E_202B_206C_200D_202E_206D_206E_202D_202C_202C_202D_200D_202D_202A_200D_206F_200B_206C_200E_202C_206F_200E_202A_206F_202B_206F_206D_200E_202A_202B_202C_202C_202A_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"MenderRepair({Npc.DataId})"; } } @@ -215,296 +68,134 @@ internal static class RepairGear protected sealed override bool Start() { - _conditionBefore = _206F_202D_200D_200E_202D_206E_202B_200D_206B_200B_206A_202B_202C_200D_202C_200B_206A_202E_206D_200F_200C_206F_200B_200E_200E_202E_200F_202D_200F_206E_206A_202E_206A_200D_206B_206F_206E_206A_200B_202E_202E(); + _conditionBefore = GearConditionHelper.GetLowestConditionPercent(); _attempt = 1; EnterState(InitialState); _nextPollAt = 0L; return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public sealed override ETaskResult Update() { - long num = _206B_202D_202A_206E_206C_206F_206F_202B_206E_202E_200E_202B_200F_200F_200F_202C_206A_206D_206D_202E_206A_202B_200E_206C_206E_200D_206B_200F_200B_206C_206B_206D_200D_206E_206A_206A_202A_206A_206E_206D_202E(); - int num2 = ((num >= _nextPollAt) ? 2095781305 : 2095781289); - while (true) + long tickCount = Environment.TickCount64; + if (tickCount < _nextPollAt) { - int num3 = num2; - int num4 = 2095781295; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 11: - num2 = 2095781289; - break; - case 5: - num2 = (UpdateCustomState(_state) ? 2095781294 : 2095781281); - break; - case 1: - return ETaskResult.StillRunning; - case 12: - num2 = 2095781290; - break; - case 22: - { - long num6 = 250L; - long num7 = num; - _nextPollAt = (num7 | num6) + (num7 & num6); - num2 = ((num <= _stateDeadline) ? 2095781287 : 2095781309); - break; - } - case 17: - EnterState(EState.FiringRepair); - num2 = 2095781294; - break; - case 6: - return ETaskResult.StillRunning; - case 3: - goto IL_0140; - case 24: - goto IL_0166; - case 4: - goto IL_018c; - case 19: - _200B_202E_200B_206C_202C_202C_206E_206D_202B_200F_200C_200B_202E_206C_202D_202E_206B_200D_200F_200B_206D_202C_200C_206E_206F_202B_200E_206C_206E_200D_200F_200B_206A_200B_202A_200C_202B_200C_200F_200E_202E(GameGui); - num2 = 2095781294; - break; - case 8: - switch (_state) - { - case EState.Settling: - break; - case EState.Confirming: - goto IL_0140; - case EState.WaitingForClose: - goto IL_0166; - case EState.FiringRepair: - goto IL_018c; - default: - goto IL_01f4; - case EState.Closing: - goto IL_0245; - case EState.WaitingForAddon: - goto IL_026b; - case EState.OpeningWindow: - goto IL_0291; - } - goto case 1; - case 18: - num2 = ((_state != EState.Settling) ? 2095781304 : 2095781302); - break; - case 13: - EnterState(EState.Settling); - num2 = 2095781294; - break; - case 25: - EnterState(EState.Closing); - num2 = 2095781287; - break; - case 15: - goto IL_0245; - case 20: - goto IL_026b; - case 7: - goto IL_0291; - case 16: - EnterState(EState.WaitingForAddon); - num2 = 2095781294; - break; - case 0: - EnterState(EState.Settling); - num2 = 2095781294; - break; - case 21: - EnterState(EState.WaitingForClose); - num2 = 2095781294; - break; - case 10: - EnterState(EState.Confirming); - num2 = 2095781294; - break; - case 23: - _206F_200D_206B_206E_200D_202E_200E_206D_206F_200D_200F_200F_200E_200C_200C_200E_200C_206A_200C_200C_202B_206F_202D_206D_200B_202D_206E_200F_206E_206D_206F_200C_206C_202A_206F_200D_200F_206D_206D_202B_202E(Logger, 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(-310683176), new object[2] - { - _state, - _200B_200E_200E_202D_202A_206F_206F_202A_202B_206D_200C_200D_202B_202B_206E_206F_206E_206B_206E_202C_202D_202E_202B_206C_200D_202A_200C_202A_200F_206F_206D_202E_202D_202E_202B_206B_206B_200F_206E_200E_202E(GameGui) - }); - _202D_200E_202D_202E_200E_202B_200E_206E_200F_202C_202B_202E_202B_202E_206C_200C_206F_200E_206D_200E_200E_206A_206D_200C_206B_200C_202B_202A_202E_206A_202B_206D_200E_200F_206E_200C_202E_202C_206C_206D_202E(GameGui); - return Finish(); - case 2: - return Finish(); - case 9: - num2 = ((!HasConditionImproved()) ? 2095781308 : 2095781295); - break; - case 14: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(23, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1145949598)); - defaultInterpolatedStringHandler.AppendFormatted(_state); - throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear()); - } - IL_018c: - num2 = ((!_200B_202E_200B_206C_202C_202C_206E_206D_202B_200F_200C_200B_202E_206C_202D_202E_206B_200D_200F_200B_206D_202C_200C_206E_206F_202B_200E_206C_206E_200D_200F_200B_206A_200B_202A_200C_202B_200C_200F_200E_202E(GameGui)) ? 2095781294 : 2095781285); - break; - IL_0166: - num2 = (_206B_202C_206A_202C_206F_206D_202E_202B_206B_206D_202C_206D_202B_206B_206E_200B_202C_202D_206C_200C_202E_202C_200D_202A_200C_200F_200F_200C_202E_200D_200E_206C_206C_200C_200C_200E_200F_206A_200D_202B_202E(GameGui) ? 2095781294 : 2095781293); - break; - IL_0291: - num2 = ((!_202A_202E_202D_200D_200C_202E_206C_200C_206C_206F_202B_200D_206E_206A_206D_202C_206D_206F_200C_202B_202A_206B_206E_202C_200C_202D_200C_202D_206D_200C_200B_200D_200D_202C_202C_206A_206E_200F_202D_206E_202E()) ? 2095781294 : 2095781311); - break; - IL_026b: - num2 = ((!_206B_202C_206A_202C_206F_206D_202E_202B_206B_206D_202C_206D_202B_206B_206E_200B_202C_202D_206C_200C_202E_202C_200D_202A_200C_200F_200F_200C_202E_200D_200E_206C_206C_200C_200C_200E_200F_206A_200D_202B_202E(GameGui)) ? 2095781294 : 2095781310); - break; - IL_0140: - num2 = ((!_202E_202D_206A_202E_206D_206F_206E_200B_202A_202E_200C_200F_200D_202C_206E_206C_200F_200C_202A_206C_202C_200C_206D_200E_200E_202B_200F_202D_200B_202B_200C_202E_206E_206C_202C_206C_206D_200E_202B_206E_202E(GameGui)) ? 2095781286 : 2095781282); - break; - IL_0245: - num2 = ((!_202D_200E_202D_202E_200E_202B_200E_206E_200F_202C_202B_202E_202B_202E_206C_200C_206F_200E_206D_200E_200E_206A_206D_200C_206B_200C_202B_202A_202E_206A_202B_206D_200E_200F_206E_200C_202E_202C_206C_206D_202E(GameGui)) ? 2095781294 : 2095781306); - break; - IL_01f4: - num2 = 2095781283; - break; - } + return ETaskResult.StillRunning; } + _nextPollAt = tickCount + 250; + if (tickCount > _stateDeadline) + { + if (_state != EState.Settling) + { + Logger.LogWarning("Repair timed out in state {State} ({Diagnostic}), giving up", _state, RepairActions.DescribeRepairAddon(GameGui)); + RepairActions.TryCloseRepairWindow(GameGui); + return Finish(); + } + EnterState(EState.Closing); + } + switch (_state) + { + case EState.OpeningWindow: + if (RepairActions.TryOpenRepairWindow()) + { + EnterState(EState.WaitingForAddon); + } + break; + case EState.WaitingForAddon: + if (RepairActions.IsRepairAddonReady(GameGui)) + { + EnterState(EState.FiringRepair); + } + break; + case EState.FiringRepair: + if (RepairActions.TryRepairAll(GameGui)) + { + EnterState(EState.Confirming); + } + break; + case EState.Confirming: + if (RepairActions.TryConfirmDialog(GameGui)) + { + EnterState(EState.Settling); + } + else if (HasConditionImproved()) + { + EnterState(EState.Settling); + } + else + { + RepairActions.TryRepairAll(GameGui); + } + break; + case EState.Closing: + if (RepairActions.TryCloseRepairWindow(GameGui)) + { + EnterState(EState.WaitingForClose); + } + break; + case EState.WaitingForClose: + if (!RepairActions.IsRepairAddonReady(GameGui)) + { + return Finish(); + } + break; + default: + if (!UpdateCustomState(_state)) + { + throw new TaskException($"Unhandled repair state {_state}"); + } + break; + case EState.Settling: + break; + } + return ETaskResult.StillRunning; } protected void EnterState(EState state) { _state = state; - _stateDeadline = _206B_202D_202A_206E_206C_206F_206F_202B_206E_202E_200E_202B_200F_200F_200F_202C_206A_206D_206D_202E_206A_202B_200E_206C_206E_200D_206B_200F_200B_206C_206B_206D_200D_206E_206A_206A_202A_206A_206E_206D_202E() + ((state == EState.Settling) ? 1000 : 5000); + _stateDeadline = Environment.TickCount64 + ((state == EState.Settling) ? 1000 : 5000); } private bool HasConditionImproved() { - int? num = _conditionBefore; - int num2 = ((!num.HasValue) ? (-1406824238) : (-1406824240)); - int valueOrDefault = default(int); - while (true) + int? conditionBefore = _conditionBefore; + if (conditionBefore.HasValue) { - int num3 = num2; - int num4 = -1406824237; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) + int valueOrDefault = conditionBefore.GetValueOrDefault(); + conditionBefore = GearConditionHelper.GetLowestConditionPercent(); + if (conditionBefore.HasValue) { - case 0: - num2 = -1406824240; - break; - case 2: - { - int valueOrDefault2 = num.GetValueOrDefault(); + int valueOrDefault2 = conditionBefore.GetValueOrDefault(); return valueOrDefault2 > valueOrDefault; } - case 1: - return false; - case 3: - valueOrDefault = num.GetValueOrDefault(); - num = _206F_202D_200D_200E_202D_206E_202B_200D_206B_200B_206A_202B_202C_200D_202C_200B_206A_202E_206D_200F_200C_206F_200B_200E_200E_202E_200F_202D_200F_206E_206A_202E_206A_200D_206B_206F_206E_206A_200B_202E_202E(); - num2 = ((!num.HasValue) ? (-1406824238) : (-1406824239)); - break; - } } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private ETaskResult Finish() { - int? num = _206F_202D_200D_200E_202D_206E_202B_200D_206B_200B_206A_202B_202C_200D_202C_200B_206A_202E_206D_200F_200C_206F_200B_200E_200E_202E_200F_202D_200F_206E_206A_202E_206A_200D_206B_206F_206E_206A_200B_202E_202E(); - int num2 = ((!HasConditionImproved()) ? 1917505746 : 1917505745); - while (true) + int? lowestConditionPercent = GearConditionHelper.GetLowestConditionPercent(); + if (HasConditionImproved()) { - int num3 = num2; - int num4 = 1917505746; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 1: - { - int attempt = _attempt; - num4 = 1; - num5 = attempt; - _attempt = (num5 | num4) + (num5 & num4); - _206F_200D_206B_206E_200D_202E_200E_206D_206F_200D_200F_200F_200E_200C_200C_200E_200C_206A_200C_200C_202B_206F_202D_206D_200B_202D_206E_200F_206E_206D_206F_200C_206C_202A_206F_200D_200F_206D_206D_202B_202E(Logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(146386847), new object[3] { num, _attempt, 3 }); - _202D_200E_202D_202E_200E_202B_200E_206E_200F_202C_202B_202E_202B_202E_206C_200C_206F_200E_206D_200E_200E_206A_206D_200C_206B_200C_202B_202A_202E_206A_202B_206D_200E_200F_206E_200C_202E_202C_206C_206D_202E(GameGui); - EnterState(InitialState); - return ETaskResult.StillRunning; - } - case 3: - _200E_206D_202E_200B_202B_202E_200E_202E_206F_202D_202B_206D_202B_206F_202D_206E_202B_202B_202C_200E_202B_200D_202A_202C_202B_200B_202D_202C_206F_202D_206E_202B_200E_206D_206E_202D_200E_206E_200F_206F_202E(Logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1763627757), new object[2] { _conditionBefore, num }); - return ETaskResult.TaskComplete; - case 0: - num2 = ((_attempt >= 3) ? 1917505750 : 1917505747); - break; - case 2: - num2 = 1917505745; - break; - case 4: - _206F_200D_206B_206E_200D_202E_200E_206D_206F_200D_200F_200F_200E_200C_200C_200E_200C_206A_200C_200C_202B_206F_202D_206D_200B_202D_206E_200F_206E_206D_206F_200C_206C_202A_206F_200D_200F_206D_206D_202B_202E(Logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1921865562), new object[1] { num }); - return ETaskResult.TaskComplete; - } + Logger.LogInformation("Repair complete, lowest condition {Before}% -> {After}%", _conditionBefore, lowestConditionPercent); + return ETaskResult.TaskComplete; } + if (_attempt < 3) + { + _attempt++; + Logger.LogWarning("Repair pass ended without improving condition (still {After}%), retrying ({Attempt}/{Max})", lowestConditionPercent, _attempt, 3); + RepairActions.TryCloseRepairWindow(GameGui); + EnterState(InitialState); + return ETaskResult.StillRunning; + } + Logger.LogWarning("Repair finished without improving condition (still {After}%)", lowestConditionPercent); + return ETaskResult.TaskComplete; } public void StopNow() { - _202D_200E_202D_202E_200E_202B_200E_206E_200F_202C_202B_202E_202B_202E_206C_200C_206F_200E_206D_200E_200E_206A_206D_200C_206B_200C_202B_202A_202E_206A_202B_206D_200E_200F_206E_200C_202E_202C_206C_206D_202E(GameGui); - } - - void IStoppableTaskExecutor.StopNow() - { - //ILSpy generated this explicit interface implementation from .override directive in StopNow - this.StopNow(); - } - - static int? _206F_202D_200D_200E_202D_206E_202B_200D_206B_200B_206A_202B_202C_200D_202C_200B_206A_202E_206D_200F_200C_206F_200B_200E_200E_202E_200F_202D_200F_206E_206A_202E_206A_200D_206B_206F_206E_206A_200B_202E_202E() - { - return GearConditionHelper.GetLowestConditionPercent(); - } - - static long _206B_202D_202A_206E_206C_206F_206F_202B_206E_202E_200E_202B_200F_200F_200F_202C_206A_206D_206D_202E_206A_202B_200E_206C_206E_200D_206B_200F_200B_206C_206B_206D_200D_206E_206A_206A_202A_206A_206E_206D_202E() - { - return Environment.TickCount64; - } - - static string _200B_200E_200E_202D_202A_206F_206F_202A_202B_206D_200C_200D_202B_202B_206E_206F_206E_206B_206E_202C_202D_202E_202B_206C_200D_202A_200C_202A_200F_206F_206D_202E_202D_202E_202B_206B_206B_200F_206E_200E_202E(IGameGui P_0) - { - return RepairActions.DescribeRepairAddon(P_0); - } - - static void _206F_200D_206B_206E_200D_202E_200E_206D_206F_200D_200F_200F_200E_200C_200C_200E_200C_206A_200C_200C_202B_206F_202D_206D_200B_202D_206E_200F_206E_206D_206F_200C_206C_202A_206F_200D_200F_206D_206D_202B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static bool _202D_200E_202D_202E_200E_202B_200E_206E_200F_202C_202B_202E_202B_202E_206C_200C_206F_200E_206D_200E_200E_206A_206D_200C_206B_200C_202B_202A_202E_206A_202B_206D_200E_200F_206E_200C_202E_202C_206C_206D_202E(IGameGui P_0) - { - return RepairActions.TryCloseRepairWindow(P_0); - } - - static bool _202A_202E_202D_200D_200C_202E_206C_200C_206C_206F_202B_200D_206E_206A_206D_202C_206D_206F_200C_202B_202A_206B_206E_202C_200C_202D_200C_202D_206D_200C_200B_200D_200D_202C_202C_206A_206E_200F_202D_206E_202E() - { - return RepairActions.TryOpenRepairWindow(); - } - - static bool _206B_202C_206A_202C_206F_206D_202E_202B_206B_206D_202C_206D_202B_206B_206E_200B_202C_202D_206C_200C_202E_202C_200D_202A_200C_200F_200F_200C_202E_200D_200E_206C_206C_200C_200C_200E_200F_206A_200D_202B_202E(IGameGui P_0) - { - return RepairActions.IsRepairAddonReady(P_0); - } - - static bool _200B_202E_200B_206C_202C_202C_206E_206D_202B_200F_200C_200B_202E_206C_202D_202E_206B_200D_200F_200B_206D_202C_200C_206E_206F_202B_200E_206C_206E_200D_200F_200B_206A_200B_202A_200C_202B_200C_200F_200E_202E(IGameGui P_0) - { - return RepairActions.TryRepairAll(P_0); - } - - static bool _202E_202D_206A_202E_206D_206F_206E_200B_202A_202E_200C_200F_200D_202C_206E_206C_200F_200C_202A_206C_202C_200C_206D_200E_200E_202B_200F_202D_200B_202B_200C_202E_206E_206C_202C_206C_206D_200E_202B_206E_202E(IGameGui P_0) - { - return RepairActions.TryConfirmDialog(P_0); - } - - static void _200E_206D_202E_200B_202B_202E_200E_202E_206F_202D_202B_206D_202B_206F_202D_206E_202B_202B_202C_200E_202B_200D_202A_202C_202B_200B_202D_202C_206F_202D_206E_202B_200E_206D_206E_202D_200E_206E_200F_206F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); + RepairActions.TryCloseRepairWindow(GameGui); } } @@ -539,64 +230,38 @@ internal static class RepairGear base._002Ector(gameGui, (ILogger)logger); } - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool UpdateCustomState(EState state) { - int num = ((state == EState.Interacting) ? 293305294 : 293305289); - int? num7 = default(int?); - while (true) + switch (state) { - int num2 = num; - int num3 = 293305291; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + case EState.Interacting: + if (_003CgameFunctions_003EP.InteractWith(base.Task.Npc.DataId)) + { + EnterState(EState.SelectingMenu); + } + return true; + case EState.SelectingMenu: + { + if (RepairActions.IsRepairAddonReady(base.GameGui)) { - case 12: EnterState(EState.FiringRepair); return true; - case 11: - return true; - case 2: - num = ((state == EState.SelectingMenu) ? 293305290 : 293305282); - break; - case 5: - num = ((!_003CgameFunctions_003EP.InteractWith(base.Task.Npc.DataId)) ? 293305280 : 293305283); - break; - case 9: - num = 293305281; - break; - case 4: - _202E_200D_202B_202E_202A_200F_206B_206A_200E_206D_206D_206A_206A_202D_202D_200D_200C_200F_202A_206F_202D_202A_200F_206D_202B_200D_206B_206D_206F_200D_202C_200D_206A_202D_202C_202A_206D_200C_200F_200C_202E(base.Logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2096442858), new object[1] { base.Task.Npc.DataId }); + } + int? num = RepairActions.FindRepairIndex(_003CdataManager_003EP, base.Task.Npc.DataId); + if (!num.HasValue) + { + base.Logger.LogWarning("NPC {DataId} has no repair menu entry", base.Task.Npc.DataId); EnterState(EState.Closing); return true; - case 0: - num = ((!_206D_200B_200C_206A_200B_202E_200B_200F_206D_200C_200D_206D_206E_206D_202C_202B_206A_202D_202C_206B_202D_202D_206A_202B_206E_206F_200D_202D_200C_202B_202D_200E_206B_200B_200B_202B_200B_206C_202E(base.GameGui, num7.Value)) ? 293305292 : 293305288); - break; - case 6: - num7 = _202E_200D_202B_206B_200E_200D_206B_200C_200B_202C_200F_200F_206A_200E_202C_206C_200C_202C_202D_202A_202A_206C_206F_206C_200F_200E_200B_200F_206C_202D_206B_202E_206E_202B_202A_200B_202E_200B_206C_206A_202E(_003CdataManager_003EP, base.Task.Npc.DataId); - num = (num7.HasValue ? 293305291 : 293305295); - break; - case 3: - EnterState(EState.WaitingForAddon); - num = 293305292; - break; - case 10: - return false; - case 13: - num = 293305289; - break; - case 1: - num = ((!_206D_202D_200D_200B_202D_202C_206E_206E_202C_206E_206F_206A_200D_206C_200C_202C_202C_206C_206D_200B_200F_206D_200E_202C_202A_206B_206F_200E_206C_200F_206C_202A_200C_206B_206C_200B_200B_200E_202E_202E(base.GameGui)) ? 293305293 : 293305287); - break; - case 8: - EnterState(EState.SelectingMenu); - num = 293305280; - break; - case 7: - return true; } + if (RepairActions.TrySelectRepairFromMenu(base.GameGui, num.Value)) + { + EnterState(EState.WaitingForAddon); + } + return true; + } + default: + return false; } } @@ -604,25 +269,5 @@ internal static class RepairGear { return true; } - - static bool _206D_202D_200D_200B_202D_202C_206E_206E_202C_206E_206F_206A_200D_206C_200C_202C_202C_206C_206D_200B_200F_206D_200E_202C_202A_206B_206F_200E_206C_200F_206C_202A_200C_206B_206C_200B_200B_200E_202E_202E(IGameGui P_0) - { - return RepairActions.IsRepairAddonReady(P_0); - } - - static int? _202E_200D_202B_206B_200E_200D_206B_200C_200B_202C_200F_200F_206A_200E_202C_206C_200C_202C_202D_202A_202A_206C_206F_206C_200F_200E_200B_200F_206C_202D_206B_202E_206E_202B_202A_200B_202E_200B_206C_206A_202E(IDataManager P_0, uint P_1) - { - return RepairActions.FindRepairIndex(P_0, P_1); - } - - static void _202E_200D_202B_202E_202A_200F_206B_206A_200E_206D_206D_206A_206A_202D_202D_200D_200C_200F_202A_206F_202D_202A_200F_206D_202B_200D_206B_206D_206F_200D_202C_200D_206A_202D_202C_202A_206D_200C_200F_200C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static bool _206D_200B_200C_206A_200B_202E_200B_200F_206D_200C_200D_206D_206E_206D_202C_202B_206A_202D_202C_206B_202D_202D_206A_202B_206E_206F_200D_202D_200C_202B_202D_200E_206B_200B_200B_202B_200B_206C_202E(IGameGui P_0, int P_1) - { - return RepairActions.TrySelectRepairFromMenu(P_0, P_1); - } } } diff --git a/Questionable/Questionable.Controller.Steps.Common/SendNotification.cs b/Questionable/Questionable.Controller.Steps.Common/SendNotification.cs index ab06988..7668654 100644 --- a/Questionable/Questionable.Controller.Steps.Common/SendNotification.cs +++ b/Questionable/Questionable.Controller.Steps.Common/SendNotification.cs @@ -1,7 +1,3 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.Text; using Dalamud.Game.Text.SeStringHandling; using Dalamud.Plugin.Services; @@ -17,402 +13,148 @@ internal static class SendNotification { internal sealed class Factory(Configuration configuration, AutoDutyIpc autoDutyIpc, AutoHookIpc autoHookIpc, BossModIpc bossModIpc, TerritoryData territoryData) : SimpleTaskFactory() { - [MethodImpl(MethodImplOptions.NoInlining)] public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step) { - EInteractionType eInteractionType = _202E_200B_202D_202D_200C_200E_202D_202E_202B_200C_206A_200D_200C_202D_206E_206A_200F_206B_206B_202C_206C_202B_200B_200B_206F_200E_202B_200B_206A_202A_206E_200E_206E_202A_202A_206B_200C_202C_206A_200F_202E(step); - int num = ((eInteractionType > EInteractionType.SinglePlayerDuty) ? (-1478149782) : (-1478149769)); - Task result = default(Task); - while (true) + switch (step.InteractionType) { - int num2 = num; - int num3 = -1478149766; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + case EInteractionType.Snipe: + if (!configuration.General.AutoSnipe) { - case 4: - num = -1478149773; - break; - case 1: - num = (autoHookIpc.IsAvailable() ? (-1478149773) : (-1478149767)); - break; - case 11: - num = (bossModIpc.IsConfiguredToRunSoloInstance(quest.Id, _202B_206C_206E_202D_202E_206F_206B_200E_200B_202D_200C_206C_206E_200F_206D_202E_206D_200C_200D_200D_202C_206B_206D_200D_200B_200C_206A_200B_200C_206E_202C_206E_202B_202A_202B_200E_206F_200D_206A_206A_202E(step)) ? (-1478149773) : (-1478149776)); - break; - case 15: - return result; - case 13: - num = ((eInteractionType == EInteractionType.Duty) ? (-1478149761) : (-1478149763)); - break; - case 0: + return new Task(step.InteractionType, step.Comment); + } + break; + case EInteractionType.Duty: + if (!autoDutyIpc.IsConfiguredToRunContent(step.DutyOptions)) { - EInteractionType interactionType = _202E_200B_202D_202D_200C_200E_202D_202E_202B_200C_206A_200D_200C_202D_206E_206A_200F_206B_206B_202C_206C_202B_200B_200B_206F_200E_202B_200B_206A_202A_206E_200E_206E_202A_202A_206B_200C_202C_206A_200F_202E(step); - DutyOptions dutyOptions = _200F_200C_206E_206F_206B_202E_206B_200E_202D_202D_202C_202D_200D_202E_202E_200E_206A_200E_202A_200C_200B_206F_206C_206F_200C_200B_200F_206A_202D_202D_206F_202D_206A_202E_202D_200D_200F_202A_202D_202E(step); - uint? num5 = ((dutyOptions != null) ? new uint?(_202C_200E_202A_200D_200D_202D_200D_200B_200E_206F_206F_206C_200D_202C_200C_202D_206F_200E_202B_200B_200C_200D_206D_206B_206D_200D_206B_200D_202E_202B_206E_200B_202D_206C_200B_200E_206C_202D_202E_206D_202E(dutyOptions)) : ((uint?)null)); + EInteractionType interactionType = step.InteractionType; + uint? num = step.DutyOptions?.ContentFinderConditionId; object comment; - if (num5.HasValue) + if (num.HasValue) { - uint valueOrDefault = num5.GetValueOrDefault(); + uint valueOrDefault = num.GetValueOrDefault(); comment = territoryData.GetContentFinderCondition(valueOrDefault)?.Name; } else { - comment = _206F_206E_206A_202C_202E_200E_206F_202C_206F_206E_206F_206F_206C_202A_200C_202B_202A_206A_200D_202C_202C_206F_202A_202B_206B_200F_200C_206C_200C_206C_200E_202C_202C_202B_202C_206E_202B_206C_206C_206E_202E(step); + comment = step.Comment; } - result = new Task(interactionType, (string?)comment); - num = -1478149771; - break; + return new Task(interactionType, (string?)comment); } - case 3: - result = new Task(_202E_200B_202D_202D_200C_200E_202D_202E_202B_200C_206A_200D_200C_202D_206E_206A_200F_206B_206B_202C_206C_202B_200B_200B_206F_200E_202B_200B_206A_202A_206E_200E_206E_202A_202A_206B_200C_202C_206A_200F_202E(step), _206F_206E_206A_202C_202E_200E_206F_202C_206F_206E_206F_206F_206C_202A_200C_202B_202A_206A_200D_202C_202C_206F_202A_202B_206B_200F_200C_206C_200C_206C_200E_202C_202C_202B_202C_206E_202B_206C_206C_206E_202E(step) ?? global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1221849415)); - num = -1478149771; - break; - case 6: - num = -1478149773; - break; - case 2: - num = (configuration.General.AutoSnipe ? (-1478149773) : (-1478149772)); - break; - case 12: - num = ((eInteractionType == EInteractionType.Fish) ? (-1478149765) : (-1478149764)); - break; - case 14: - result = new Task(_202E_200B_202D_202D_200C_200E_202D_202E_202B_200C_206A_200D_200C_202D_206E_206A_200F_206B_206B_202C_206C_202B_200B_200B_206F_200E_202B_200B_206A_202A_206E_200E_206E_202A_202A_206B_200C_202C_206A_200F_202E(step), _206F_206E_206A_202C_202E_200E_206F_202C_206F_206E_206F_206F_206C_202A_200C_202B_202A_206A_200D_202C_202C_206F_202A_202B_206B_200F_200C_206C_200C_206C_200E_202C_202C_202B_202C_206E_202B_206C_206C_206E_202E(step)); - num = -1478149771; - break; - case 5: - num = (autoDutyIpc.IsConfiguredToRunContent(_200F_200C_206E_206F_206B_202E_206B_200E_202D_202D_202C_202D_200D_202E_202E_200E_206A_200E_202A_200C_200B_206F_206C_206F_200C_200B_200F_206A_202D_202D_206F_202D_206A_202E_202D_200D_200F_202A_202D_202E(step)) ? (-1478149773) : (-1478149766)); - break; - case 9: - result = null; - num = -1478149771; - break; - case 10: - result = new Task(_202E_200B_202D_202D_200C_200E_202D_202E_202B_200C_206A_200D_200C_202D_206E_206A_200F_206B_206B_202C_206C_202B_200B_200B_206F_200E_202B_200B_206A_202A_206E_200E_206E_202A_202A_206B_200C_202C_206A_200F_202E(step), quest.Info.Name); - num = -1478149771; - break; - case 16: - num = ((eInteractionType == EInteractionType.Snipe) ? (-1478149768) : (-1478149770)); - break; - case 7: - num = ((eInteractionType == EInteractionType.SinglePlayerDuty) ? (-1478149775) : (-1478149762)); - break; - case 8: - num = -1478149769; - break; + break; + case EInteractionType.SinglePlayerDuty: + if (!bossModIpc.IsConfiguredToRunSoloInstance(quest.Id, step.SinglePlayerDutyOptions)) + { + return new Task(step.InteractionType, quest.Info.Name); } + break; + case EInteractionType.Fish: + if (!autoHookIpc.IsAvailable()) + { + return new Task(step.InteractionType, step.Comment ?? "AutoHook plugin is required for automatic fishing"); + } + break; } - } - - static EInteractionType _202E_200B_202D_202D_200C_200E_202D_202E_202B_200C_206A_200D_200C_202D_206E_206A_200F_206B_206B_202C_206C_202B_200B_200B_206F_200E_202B_200B_206A_202A_206E_200E_206E_202A_202A_206B_200C_202C_206A_200F_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static string _206F_206E_206A_202C_202E_200E_206F_202C_206F_206E_206F_206F_206C_202A_200C_202B_202A_206A_200D_202C_202C_206F_202A_202B_206B_200F_200C_206C_200C_206C_200E_202C_202C_202B_202C_206E_202B_206C_206C_206E_202E(QuestStep P_0) - { - return P_0.Comment; - } - - static DutyOptions _200F_200C_206E_206F_206B_202E_206B_200E_202D_202D_202C_202D_200D_202E_202E_200E_206A_200E_202A_200C_200B_206F_206C_206F_200C_200B_200F_206A_202D_202D_206F_202D_206A_202E_202D_200D_200F_202A_202D_202E(QuestStep P_0) - { - return P_0.DutyOptions; - } - - static uint _202C_200E_202A_200D_200D_202D_200D_200B_200E_206F_206F_206C_200D_202C_200C_202D_206F_200E_202B_200B_200C_200D_206D_206B_206D_200D_206B_200D_202E_202B_206E_200B_202D_206C_200B_200E_206C_202D_202E_206D_202E(DutyOptions P_0) - { - return P_0.ContentFinderConditionId; - } - - static SinglePlayerDutyOptions _202B_206C_206E_202D_202E_206F_206B_200E_200B_202D_200C_206C_206E_200F_206D_202E_206D_200C_200D_200D_202C_206B_206D_200D_200B_200C_206A_200B_200C_206E_202C_206E_202B_202A_202B_200E_206F_200D_206A_206A_202E(QuestStep P_0) - { - return P_0.SinglePlayerDutyOptions; + return null; } } internal sealed record Task(EInteractionType InteractionType, string? Comment) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202B_206F_206A_202C_200B_202C_206E_202E_206C_206A_200D_202E_206C_200D_200F_202B_206C_200F_202D_206A_206E_202E_202E_202C_200C_206B_202A_202C_200F_206E_200B_206A_206E_206A_206E_200B_206C_206B_202A_200E_202E(typeof(Task).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return 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(1681305913); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206E_206C_202B_200D_206C_200F_206B_200F_202E_200E_200B_206E_206B_200C_206B_206A_202B_206D_202A_200C_200F_206B_200D_200F_202D_200D_200D_206A_200F_206E_200F_202A_202A_200F_200C_202B_206B_206E_202A_202A_202E(); - _200B_206B_202A_206F_200F_200E_206D_200D_202C_206F_206C_202E_202D_206B_202B_200F_202C_202A_200F_200F_200E_206B_200D_200C_202A_200B_200F_200F_202C_206B_202E_200F_206B_202E_206A_206C_202D_200E_206F_206D_202E(builder, 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(702947867)); - _200B_206B_202A_206F_200F_200E_206D_200D_202C_206F_206C_202E_202D_206B_202B_200F_202C_202A_200F_200F_200E_206B_200D_200C_202A_200B_200F_200F_202C_206B_202E_200F_206B_202E_206A_206C_202D_200E_206F_206D_202E(builder, InteractionType.ToString()); - _200B_206B_202A_206F_200F_200E_206D_200D_202C_206F_206C_202E_202D_206B_202B_200F_202C_202A_200F_200F_200E_206B_200D_200C_202A_200B_200F_200F_202C_206B_202E_200F_206B_202E_206A_206C_202D_200E_206F_206D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(430956117)); - _202E_202C_200C_206C_202E_206C_206F_206E_202B_200B_200D_206C_200D_202B_206B_202C_200C_206E_206D_206E_206E_200B_206A_202E_200D_206B_200D_202B_202A_202E_200D_206C_206C_206F_206A_200B_200D_200E_202C_202B_202E(builder, (object?)Comment); - return true; - } - - [CompilerGenerated] - public bool Equals(Task? other) - { - int num = (((object)this == other) ? (-845795892) : (-845795894)); - while (true) - { - int num2 = num; - int num3 = -845795889; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = ((!_206C_200B_202D_200D_200D_206B_206C_200D_200F_200C_200F_202B_200F_200C_206A_202E_200F_206E_206C_202C_202B_202D_206F_200C_206A_206A_202D_206D_206B_200E_206E_202D_200F_200C_200D_206A_202A_206D_202C_206F_202E(EqualityContract, other.EqualityContract)) ? (-845795895) : (-845795891)); - break; - case 5: - num = (((object)other == null) ? (-845795895) : (-845795893)); - break; - case 6: - return false; - case 0: - num = -845795894; - break; - case 2: - num = ((!EqualityComparer.Default.Equals(InteractionType, other.InteractionType)) ? (-845795895) : (-845795890)); - break; - case 1: - return EqualityComparer.Default.Equals(Comment, other.Comment); - case 3: - return true; - } - } - } - - bool IEquatable.Equals(Task? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type? _202B_206F_206A_202C_200B_202C_206E_202E_206C_206A_200D_202E_206C_200D_200F_202B_206C_200F_202D_206A_206E_202E_202E_202C_200C_206B_202A_202C_200F_206E_200B_206A_206E_206A_206E_200B_206C_206B_202A_200E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _206E_206C_202B_200D_206C_200F_206B_200F_202E_200E_200B_206E_206B_200C_206B_206A_202B_206D_202A_200C_200F_206B_200D_200F_202D_200D_200D_206A_200F_206E_200F_202A_202A_200F_200C_202B_206B_206E_202A_202A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder? _200B_206B_202A_206F_200F_200E_206D_200D_202C_206F_206C_202E_202D_206B_202B_200F_202C_202A_200F_200F_200E_206B_200D_200C_202A_200B_200F_200F_202C_206B_202E_200F_206B_202E_206A_206C_202D_200E_206F_206D_202E(StringBuilder? P_0, string? P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder? _202E_202C_200C_206C_202E_206C_206F_206E_202B_200B_200D_206C_200D_202B_206B_202C_200C_206E_206D_206E_206E_200B_206A_202E_200D_206B_200D_202B_202A_202E_200D_206C_206C_206F_206A_200B_200D_200E_202C_202B_202E(StringBuilder? P_0, object? P_1) - { - return P_0.Append(P_1); - } - - static bool _206C_200B_202D_200D_200D_206B_206C_200D_200F_200C_200F_202B_200F_200C_206A_202E_200F_206E_206C_202C_202B_202D_206F_200C_206A_206A_202D_206D_206B_200E_206E_202D_200F_200C_200D_206A_202A_206D_202C_206F_202E(Type? P_0, Type? P_1) - { - return P_0 == P_1; + return "SendNotification"; } } internal sealed class Executor(NotificationService notificationService, IChatGui chatGui, Configuration configuration) : TaskExecutor() { - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { - int num = (configuration.Notifications.Enabled ? 1129159902 : 1129159890); - string text = default(string); - string text2 = default(string); - EInteractionType interactionType = default(EInteractionType); - XivChatType chatType = default(XivChatType); - XivChatEntry xivChatEntry2 = default(XivChatEntry); - while (true) + if (!configuration.Notifications.Enabled) { - int num2 = num; - int num3 = 1129159886; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 18: - text = $"{base.Task.InteractionType}"; - num = 1129159877; - break; - case 8: - text = 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(-279581808); - num = 1129159877; - break; - case 10: - num = 1129159915; - break; - case 6: - num = 1129159900; - break; - case 21: - notificationService.Notify(base.Task.InteractionType, text2); - return true; - case 33: - num = ((interactionType == EInteractionType.Snipe) ? 1129159891 : 1129159880); - break; - case 3: - switch (interactionType) - { - case EInteractionType.Duty: - break; - default: - goto IL_019b; - case EInteractionType.WaitForManualProgress: - goto IL_037c; - case EInteractionType.SinglePlayerDuty: - goto IL_0559; - } - goto case 8; - case 30: - text = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1806447196); - num = 1129159877; - break; - case 23: - num = 1129159900; - break; - case 22: - num = 1129159890; - break; - case 28: - return false; - case 11: - text2 = text; - num = (_206E_202D_200F_202A_200F_202D_202D_200C_206F_206D_206B_206A_200D_206F_202C_206D_200C_206A_202E_200D_202C_202C_206F_200E_206D_202A_202B_200F_206A_206E_206D_206E_206F_200F_206B_200E_202C_206B_206E_202E(base.Task.Comment) ? 1129159912 : 1129159898); - break; - case 1: - num = ((chatType - 10 > (XivChatType)5) ? 1129159915 : 1129159883); - break; - case 16: - interactionType = base.Task.InteractionType; - num = ((interactionType > EInteractionType.Snipe) ? 1129159892 : 1129159885); - break; - case 19: - num = 1129159915; - break; - case 17: - { - XivChatEntry xivChatEntry = xivChatEntry2; - _206A_200D_202B_200E_202B_200E_206E_206F_206B_206D_200E_206F_202A_206F_206D_202D_206F_206A_206F_206A_206A_200C_206B_206C_206F_200C_206C_200F_202D_206C_206D_206F_200C_200B_202A_200E_200D_202D_202B_202E_202E(chatGui, xivChatEntry); - num = 1129159899; - break; - } - case 0: - num = (((int)chatType <= 107) ? 1129159883 : 1129159894); - break; - case 7: - num = ((chatType == XivChatType.NPCDialogueAnnouncements) ? 1129159883 : 1129159901); - break; - case 38: - num = ((configuration.Notifications.ChatType == XivChatType.None) ? 1129159899 : 1129159882); - break; - case 13: - num = ((interactionType == EInteractionType.CriticalEncounter) ? 1129159888 : 1129159897); - break; - case 31: - num = ((chatType == XivChatType.NPCDialogue) ? 1129159883 : 1129159881); - break; - case 24: - num = 1129159915; - break; - case 32: - num = ((interactionType == EInteractionType.Fish) ? 1129159891 : 1129159875); - break; - case 9: - num = (((int)chatType < 16) ? 1129159887 : 1129159914); - break; - case 29: - goto IL_037c; - case 37: - { - XivChatEntry xivChatEntry4 = _202A_202B_202E_200F_206A_200E_206B_200E_206E_200F_202B_200F_206B_202B_206F_200F_206D_206E_206E_202E_206F_206F_200D_200D_200B_202C_200D_200D_206F_206A_206E_206B_206D_202C_206F_200D_206C_200D_206E_200E_202E(); - _200D_200E_200E_206B_202C_206E_206C_202A_200F_200B_200C_206A_202B_200F_200E_206E_206D_206C_200F_206B_200E_206A_206F_206D_206E_206A_206D_200C_206E_202C_200B_206C_200D_200F_200E_200C_202D_206C_206A_202A_202E(xivChatEntry4, _202E_202E_200C_200D_206C_200C_202B_206B_202B_202A_200C_202E_206C_206A_202A_206F_206B_200F_200D_206E_202B_206A_200D_200B_202B_202B_200D_200B_206E_206C_206A_200F_206A_202B_200C_202A_202A_206D_200F_202E_202E(_200F_202C_202D_200C_206D_200C_206A_200C_202B_206A_200D_200E_200C_206F_206D_202A_206C_200B_206E_200C_200B_206D_202A_202E_202E_202A_202E_200B_200E_200E_202D_206D_202A_202C_200D_206F_200B_200F_206A_202A_202E(_200C_202C_202B_202C_202B_206B_206A_202E_206B_200C_202D_202A_200B_202A_206E_206F_206D_200E_202C_206A_200C_202D_206C_206D_206E_200F_206C_206C_202E_202D_206A_202A_200B_206C_206C_206C_200F_200B_206A_202D_202E(_200C_202B_206A_206A_206C_206B_202B_200F_200F_206B_206D_200F_202D_200D_202C_202B_206C_202B_206C_202A_202E_202A_206E_200C_202B_200F_206B_206A_202C_202A_206A_206F_200F_200E_200F_202C_206F_206C_200E_206D_202E(), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-365234196), (ushort)576), text2))); - _200E_200E_200D_202E_200B_206E_200D_206F_200B_206D_206A_200F_202C_200E_206F_202A_200C_202E_206B_206A_200C_206F_200C_202B_200F_206F_202E_202D_206F_206D_202C_200F_206B_200E_200E_202C_206B_202B_206C_200C_202E(xivChatEntry4, (XivChatType?)configuration.Notifications.ChatType); - xivChatEntry2 = xivChatEntry4; - num = 1129159903; - break; - } - case 20: - text2 = _202C_200E_206A_200E_206D_200E_200F_206D_206F_200C_202B_206E_200D_200C_202A_206E_202C_200C_206C_200F_206B_206A_206A_200F_202B_202D_206B_200F_202E_202E_206E_206A_202C_206B_200D_202C_202B_200D_206B_206A_202E(text2, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1186344051), base.Task.Comment); - num = 1129159912; - break; - case 14: - num = ((chatType - 36 <= XivChatType.Debug) ? 1129159883 : 1129159874); - break; - case 5: - { - XivChatEntry xivChatEntry3 = _202A_202B_202E_200F_206A_200E_206B_200E_206E_200F_202B_200F_206B_202B_206F_200F_206D_206E_206E_202E_206F_206F_200D_200D_200B_202C_200D_200D_206F_206A_206E_206B_206D_202C_206F_200D_206C_200D_206E_200E_202E(); - _200D_200E_200E_206B_202C_206E_206C_202A_200F_200B_200C_206A_202B_200F_200E_206E_206D_206C_200F_206B_200E_206A_206F_206D_206E_206A_206D_200C_206E_202C_200B_206C_200D_200F_200E_200C_202D_206C_206A_202A_202E(xivChatEntry3, _200C_206A_206D_202A_202C_202B_202B_202D_202D_200F_200E_206C_206B_206B_202A_200B_200C_200F_200D_206C_202E_206B_200F_206C_206D_206F_206D_206E_206A_202C_206E_202E_200B_206A_206F_200E_206D_206D_200E_206B_202E(text2)); - _200E_200E_200D_202E_200B_206E_200D_206F_200B_206D_206A_200F_202C_200E_206F_202A_200C_202E_206B_206A_200C_206F_200C_202B_200F_206F_202E_202D_206F_206D_202C_200F_206B_200E_200E_202C_206B_202B_206C_200C_202E(xivChatEntry3, (XivChatType?)configuration.Notifications.ChatType); - _206B_206A_200E_202D_200D_200E_202D_202A_200E_202B_206E_206E_202D_206B_202A_202C_206D_206A_206E_206D_202D_206B_202D_200E_206A_202D_200B_202B_206D_206E_202C_200E_206B_200E_202C_200C_206C_206C_200B_202D_202E(xivChatEntry3, _202E_202E_200C_200D_206C_200C_202B_206B_202B_202A_200C_202E_206C_206A_202A_206F_206B_200F_200D_206E_202B_206A_200D_200B_202B_202B_200D_200B_206E_206C_206A_200F_206A_202B_200C_202A_202A_206D_200F_202E_202E(_200C_202C_202B_202C_202B_206B_206A_202E_206B_200C_202D_202A_200B_202A_206E_206F_206D_200E_202C_206A_200C_202D_206C_206D_206E_200F_206C_206C_202E_202D_206A_202A_200B_206C_206C_206C_200F_200B_206A_202D_202E(_200C_202B_206A_206A_206C_206B_202B_200F_200F_206B_206D_200F_202D_200D_202C_202B_206C_202B_206C_202A_202E_202A_206E_200C_202B_200F_206B_206A_202C_202A_206A_206F_200F_200E_200F_202C_206F_206C_200E_206D_202E(), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort)576))); - xivChatEntry2 = xivChatEntry3; - num = 1129159903; - break; - } - case 39: - num = ((chatType == XivChatType.NoviceNetwork) ? 1129159883 : 1129159884); - break; - case 15: - num = ((chatType == XivChatType.FreeCompany) ? 1129159883 : 1129159913); - break; - case 36: - num = (((int)chatType <= 23) ? 1129159883 : 1129159893); - break; - case 27: - num = ((chatType > XivChatType.Yell) ? 1129159895 : 1129159873); - break; - case 26: - num = ((interactionType == EInteractionType.Instruction) ? 1129159891 : 1129159918); - break; - case 25: - num = ((chatType > XivChatType.CrossLinkShell1) ? 1129159889 : 1129159917); - break; - case 34: - goto IL_0559; - case 35: - num = ((chatType == XivChatType.CrossParty) ? 1129159883 : 1129159872); - break; - case 2: - num = ((chatType == XivChatType.Yell) ? 1129159883 : 1129159876); - break; - case 12: - num = 1129159915; - break; - case 4: - { - chatType = configuration.Notifications.ChatType; - num = (((int)chatType < 101) ? 1129159879 : 1129159886); - break; - } - IL_0559: - text = 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(-984674976); - num = 1129159877; - break; - IL_037c: - text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2076274604); - num = 1129159877; - break; - IL_019b: - num = 1129159919; - break; - } + return false; } + string text; + switch (base.Task.InteractionType) + { + case EInteractionType.Duty: + text = "Duty"; + break; + case EInteractionType.SinglePlayerDuty: + text = "Single player duty"; + break; + case EInteractionType.CriticalEncounter: + text = "Critical encounter"; + break; + case EInteractionType.WaitForManualProgress: + case EInteractionType.Snipe: + case EInteractionType.Instruction: + case EInteractionType.Fish: + text = "Manual interaction required"; + break; + default: + text = $"{base.Task.InteractionType}"; + break; + } + string text2 = text; + if (!string.IsNullOrEmpty(base.Task.Comment)) + { + text2 = text2 + " - " + base.Task.Comment; + } + if (configuration.Notifications.ChatType != XivChatType.None) + { + XivChatEntry xivChatEntry; + switch (configuration.Notifications.ChatType) + { + case XivChatType.Say: + case XivChatType.Shout: + case XivChatType.TellOutgoing: + case XivChatType.TellIncoming: + case XivChatType.Party: + case XivChatType.Alliance: + case XivChatType.Ls1: + case XivChatType.Ls2: + case XivChatType.Ls3: + case XivChatType.Ls4: + case XivChatType.Ls5: + case XivChatType.Ls6: + case XivChatType.Ls7: + case XivChatType.Ls8: + case XivChatType.FreeCompany: + case XivChatType.NoviceNetwork: + case XivChatType.Yell: + case XivChatType.CrossParty: + case XivChatType.PvPTeam: + case XivChatType.CrossLinkShell1: + case XivChatType.NPCDialogue: + case XivChatType.NPCDialogueAnnouncements: + case XivChatType.CrossLinkShell2: + case XivChatType.CrossLinkShell3: + case XivChatType.CrossLinkShell4: + case XivChatType.CrossLinkShell5: + case XivChatType.CrossLinkShell6: + case XivChatType.CrossLinkShell7: + case XivChatType.CrossLinkShell8: + xivChatEntry = new XivChatEntry + { + Message = text2, + Type = configuration.Notifications.ChatType, + Name = new SeStringBuilder().AddUiForeground("Questionable", 576).Build() + }; + break; + default: + xivChatEntry = new XivChatEntry + { + Message = new SeStringBuilder().AddUiForeground("[Questionable] ", 576).Append(text2).Build(), + Type = configuration.Notifications.ChatType + }; + break; + } + XivChatEntry chat = xivChatEntry; + chatGui.Print(chat); + } + notificationService.Notify(base.Task.InteractionType, text2); + return true; } public override ETaskResult Update() @@ -424,65 +166,5 @@ internal static class SendNotification { return false; } - - static bool _206E_202D_200F_202A_200F_202D_202D_200C_206F_206D_206B_206A_200D_206F_202C_206D_200C_206A_202E_200D_202C_202C_206F_200E_206D_202A_202B_200F_206A_206E_206D_206E_206F_200F_206B_200E_202C_206B_206E_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static string _202C_200E_206A_200E_206D_200E_200F_206D_206F_200C_202B_206E_200D_200C_202A_206E_202C_200C_206C_200F_206B_206A_206A_200F_202B_202D_206B_200F_202E_202E_206E_206A_202C_206B_200D_202C_202B_200D_206B_206A_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static XivChatEntry _202A_202B_202E_200F_206A_200E_206B_200E_206E_200F_202B_200F_206B_202B_206F_200F_206D_206E_206E_202E_206F_206F_200D_200D_200B_202C_200D_200D_206F_206A_206E_206B_206D_202C_206F_200D_206C_200D_206E_200E_202E() - { - return new XivChatEntry(); - } - - static SeString _200C_206A_206D_202A_202C_202B_202B_202D_202D_200F_200E_206C_206B_206B_202A_200B_200C_200F_200D_206C_202E_206B_200F_206C_206D_206F_206D_206E_206A_202C_206E_202E_200B_206A_206F_200E_206D_206D_200E_206B_202E(string P_0) - { - return P_0; - } - - static void _200D_200E_200E_206B_202C_206E_206C_202A_200F_200B_200C_206A_202B_200F_200E_206E_206D_206C_200F_206B_200E_206A_206F_206D_206E_206A_206D_200C_206E_202C_200B_206C_200D_200F_200E_200C_202D_206C_206A_202A_202E(XivChatEntry P_0, SeString P_1) - { - P_0.Message = P_1; - } - - static void _200E_200E_200D_202E_200B_206E_200D_206F_200B_206D_206A_200F_202C_200E_206F_202A_200C_202E_206B_206A_200C_206F_200C_202B_200F_206F_202E_202D_206F_206D_202C_200F_206B_200E_200E_202C_206B_202B_206C_200C_202E(XivChatEntry P_0, XivChatType? P_1) - { - P_0.Type = P_1; - } - - static SeStringBuilder _200C_202B_206A_206A_206C_206B_202B_200F_200F_206B_206D_200F_202D_200D_202C_202B_206C_202B_206C_202A_202E_202A_206E_200C_202B_200F_206B_206A_202C_202A_206A_206F_200F_200E_200F_202C_206F_206C_200E_206D_202E() - { - return new SeStringBuilder(); - } - - static SeStringBuilder _200C_202C_202B_202C_202B_206B_206A_202E_206B_200C_202D_202A_200B_202A_206E_206F_206D_200E_202C_206A_200C_202D_206C_206D_206E_200F_206C_206C_202E_202D_206A_202A_200B_206C_206C_206C_200F_200B_206A_202D_202E(SeStringBuilder P_0, string P_1, ushort P_2) - { - return P_0.AddUiForeground(P_1, P_2); - } - - static SeString _202E_202E_200C_200D_206C_200C_202B_206B_202B_202A_200C_202E_206C_206A_202A_206F_206B_200F_200D_206E_202B_206A_200D_200B_202B_202B_200D_200B_206E_206C_206A_200F_206A_202B_200C_202A_202A_206D_200F_202E_202E(SeStringBuilder P_0) - { - return P_0.Build(); - } - - static void _206B_206A_200E_202D_200D_200E_202D_202A_200E_202B_206E_206E_202D_206B_202A_202C_206D_206A_206E_206D_202D_206B_202D_200E_206A_202D_200B_202B_206D_206E_202C_200E_206B_200E_202C_200C_206C_206C_200B_202D_202E(XivChatEntry P_0, SeString P_1) - { - P_0.Name = P_1; - } - - static SeStringBuilder _200F_202C_202D_200C_206D_200C_206A_200C_202B_206A_200D_200E_200C_206F_206D_202A_206C_200B_206E_200C_200B_206D_202A_202E_202E_202A_202E_200B_200E_200E_202D_206D_202A_202C_200D_206F_200B_200F_206A_202A_202E(SeStringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static void _206A_200D_202B_200E_202B_200E_206E_206F_206B_206D_200E_206F_202A_206F_206D_202D_206F_206A_206F_206A_206A_200C_206B_206C_206F_200C_206C_200F_202D_206C_206D_206F_200C_200B_202A_200E_200D_202D_202B_202E_202E(IChatGui P_0, XivChatEntry P_1) - { - P_0.Print(P_1); - } } } diff --git a/Questionable/Questionable.Controller.Steps.Common/WaitCondition.cs b/Questionable/Questionable.Controller.Steps.Common/WaitCondition.cs index 0824d2d..fcbf0b8 100644 --- a/Questionable/Questionable.Controller.Steps.Common/WaitCondition.cs +++ b/Questionable/Questionable.Controller.Steps.Common/WaitCondition.cs @@ -1,7 +1,4 @@ using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; namespace Questionable.Controller.Steps.Common; @@ -9,96 +6,10 @@ internal static class WaitCondition { internal sealed record Task(Func Predicate, string Description) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200C_200D_206B_202D_200F_206C_206B_206C_200B_206B_202B_202D_200C_200C_202D_202C_202D_200F_202B_202E_202D_206E_202A_200F_200C_202C_206F_206F_206F_206F_206F_202A_202A_206B_200F_200B_206E_206E_206C_202D_202E(typeof(Task).TypeHandle); - } - } - public override string ToString() { return Description; } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200F_206C_202E_200F_206D_200B_200B_206E_200B_202D_200F_202B_202E_200E_202B_206A_202A_206E_202E_200F_200E_206C_206B_206F_206A_202C_202A_202E_202A_206B_200C_202B_200D_206D_202D_200C_200C_200D_206F_206D_202E(); - _206F_206D_200B_206F_206A_202B_200E_206A_200E_206E_206A_200D_206F_200E_200E_200E_206F_206B_206A_200E_202C_200D_206C_202B_202D_200C_206B_202D_206A_206E_200B_206D_200F_206F_202B_206A_202C_200E_200E_202D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-466916562)); - _206C_206E_206A_200B_206E_206C_206E_200B_200C_200F_202C_200B_206B_206C_202E_202D_202D_206A_206C_206E_206B_206D_206B_200F_206B_202C_206C_206A_202D_202D_200E_200F_200E_206B_202E_200F_202A_202A_206D_206B_202E(builder, (object)Predicate); - _206F_206D_200B_206F_206A_202B_200E_206A_200E_206E_206A_200D_206F_200E_200E_200E_206F_206B_206A_200E_202C_200D_206C_202B_202D_200C_206B_202D_206A_206E_200B_206D_200F_206F_202B_206A_202C_200E_200E_202D_202E(builder, 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(-127749891)); - _206C_206E_206A_200B_206E_206C_206E_200B_200C_200F_202C_200B_206B_206C_202E_202D_202D_206A_206C_206E_206B_206D_206B_200F_206B_202C_206C_206A_202D_202D_200E_200F_200E_206B_202E_200F_202A_202A_206D_206B_202E(builder, (object)Description); - return true; - } - - [CompilerGenerated] - public bool Equals(Task? other) - { - int num = (((object)this == other) ? 1126109151 : 1126109144); - while (true) - { - int num2 = num; - int num3 = 1126109146; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - return false; - case 3: - num = ((!EqualityComparer>.Default.Equals(Predicate, other.Predicate)) ? 1126109148 : 1126109147); - break; - case 4: - num = ((!_200D_206C_206C_206C_206B_206D_206C_206A_206F_202B_200F_206B_200B_206B_206C_202B_200B_206D_200E_206F_202C_200E_202C_200B_206E_206C_202A_200C_202A_200F_206B_200B_206E_206C_200E_202B_200F_206D_200B_200F_202E(EqualityContract, other.EqualityContract)) ? 1126109148 : 1126109145); - break; - case 1: - return EqualityComparer.Default.Equals(Description, other.Description); - case 2: - num = (((object)other == null) ? 1126109148 : 1126109150); - break; - case 5: - return true; - case 0: - num = 1126109144; - break; - } - } - } - - bool IEquatable.Equals(Task? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200C_200D_206B_202D_200F_206C_206B_206C_200B_206B_202B_202D_200C_200C_202D_202C_202D_200F_202B_202E_202D_206E_202A_200F_200C_202C_206F_206F_206F_206F_206F_202A_202A_206B_200F_200B_206E_206E_206C_202D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _200F_206C_202E_200F_206D_200B_200B_206E_200B_202D_200F_202B_202E_200E_202B_206A_202A_206E_202E_200F_200E_206C_206B_206F_206A_202C_202A_202E_202A_206B_200C_202B_200D_206D_202D_200C_200C_200D_206F_206D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206F_206D_200B_206F_206A_202B_200E_206A_200E_206E_206A_200D_206F_200E_200E_200E_206F_206B_206A_200E_202C_200D_206C_202B_202D_200C_206B_202D_206A_206E_200B_206D_200F_206F_202B_206A_202C_200E_200E_202D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206C_206E_206A_200B_206E_206C_206E_200B_200C_200F_202C_200B_206B_206C_202E_202D_202D_206A_206C_206E_206B_206D_206B_200F_206B_202C_206C_206A_202D_202D_200E_200F_200E_206B_202E_200F_202A_202A_206D_206B_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200D_206C_206C_206C_206B_206D_206C_206A_206F_202B_200F_206B_200B_206B_206C_202B_200B_206D_200E_206F_202C_200E_202C_200B_206E_206C_202A_200C_202A_200F_206B_200B_206E_206C_200E_202B_200F_206D_200B_200F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } } internal sealed class WaitConditionExecutor : TaskExecutor @@ -112,46 +23,20 @@ internal static class WaitCondition public override ETaskResult Update() { - int num = ((_continueAtMs != 0L) ? (-757332820) : (-757332817)); - while (true) + if (_continueAtMs == 0L && base.Task.Predicate()) { - int num2 = num; - int num3 = -757332822; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - _continueAtMs = _200E_206C_200D_200F_206F_202B_200B_206C_206D_206C_202E_202A_206D_200D_206A_200E_202D_200E_200B_200D_206D_200B_200B_202A_202D_200C_200B_206C_200E_202C_206A_202B_200B_206E_200B_200D_200D_200B_200B_206A_202E() + 500; - num = -757332820; - break; - case 4: - return ETaskResult.TaskComplete; - case 2: - num = -757332817; - break; - case 6: - num = ((_continueAtMs <= 0) ? (-757332821) : (-757332823)); - break; - case 1: - return ETaskResult.StillRunning; - case 5: - num = ((!base.Task.Predicate()) ? (-757332820) : (-757332822)); - break; - case 3: - num = ((_200E_206C_200D_200F_206F_202B_200B_206C_206D_206C_202E_202A_206D_200D_206A_200E_202D_200E_200B_200D_206D_200B_200B_202A_202D_200C_200B_206C_200E_202C_206A_202B_200B_206E_200B_200D_200D_200B_200B_206A_202E() >= _continueAtMs) ? (-757332818) : (-757332821)); - break; - } + _continueAtMs = Environment.TickCount64 + 500; } + if (_continueAtMs <= 0 || Environment.TickCount64 < _continueAtMs) + { + return ETaskResult.StillRunning; + } + return ETaskResult.TaskComplete; } public override bool ShouldInterruptOnDamage() { return false; } - - static long _200E_206C_200D_200F_206F_202B_200B_206C_206D_206C_202E_202A_206D_200D_206A_200E_202D_200E_200B_200D_206D_200B_200B_202A_202D_200C_200B_206C_200E_202C_206A_202B_200B_206E_200B_200D_200D_200B_200B_206A_202E() - { - return Environment.TickCount64; - } } } diff --git a/Questionable/Questionable.Controller.Steps.Common/WaitNavmesh.cs b/Questionable/Questionable.Controller.Steps.Common/WaitNavmesh.cs index b080bed..99f2515 100644 --- a/Questionable/Questionable.Controller.Steps.Common/WaitNavmesh.cs +++ b/Questionable/Questionable.Controller.Steps.Common/WaitNavmesh.cs @@ -1,71 +1,12 @@ -using System; -using System.Runtime.CompilerServices; - namespace Questionable.Controller.Steps.Common; internal sealed class WaitNavmesh { internal sealed record Task : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206B_200E_202D_206D_200E_206C_202E_206C_202E_202C_202C_200C_200B_202D_202C_202C_202C_206B_202C_206A_206F_202C_202C_202D_200B_200E_206A_202B_200D_206B_202C_206F_206A_206F_202A_200F_200C_202A_202D_206D_202E(typeof(Task).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return 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(93055531); - } - - [CompilerGenerated] - public bool Equals(Task? other) - { - int num = (((object)this == other) ? 772746660 : 772746657); - while (true) - { - int num2 = num; - int num3 = 772746656; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - return true; - case 3: - return _202E_202C_206A_202B_206A_202B_200C_206D_200F_200E_206C_200E_200B_200C_200D_206F_200B_206A_202E_200E_206D_206C_202D_202C_200F_200B_200C_202D_206B_206F_206E_200D_206E_206D_206E_206A_206E_206F_202B_202E_202E(EqualityContract, other.EqualityContract); - case 1: - num = (((object)other == null) ? 772746656 : 772746659); - break; - case 0: - return false; - case 2: - num = 772746657; - break; - } - } - } - - bool IEquatable.Equals(Task? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206B_200E_202D_206D_200E_206C_202E_206C_202E_202C_202C_200C_200B_202D_202C_202C_202C_206B_202C_206A_206F_202C_202C_202D_200B_200E_206A_202B_200D_206B_202C_206F_206A_206F_202A_200F_200C_202A_202D_206D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static bool _202E_202C_206A_202B_206A_202B_200C_206D_200F_200E_206C_200E_200B_200C_200D_206F_200B_206A_202E_200E_206D_206C_202D_202C_200F_200B_200C_202D_206B_206F_206E_200D_206E_206D_206E_206A_206E_206F_202B_202E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "Wait(navmesh)"; } } @@ -78,27 +19,11 @@ internal sealed class WaitNavmesh public override ETaskResult Update() { - int num = (movementController.IsNavmeshReady ? 1367983807 : 1367983806); - while (true) + if (!movementController.IsNavmeshReady) { - int num2 = num; - int num3 = 1367983807; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_004d; - case 0: - return ETaskResult.TaskComplete; - case 1: - return ETaskResult.StillRunning; - } - continue; - IL_004d: - num = 1367983806; + return ETaskResult.StillRunning; } + return ETaskResult.TaskComplete; } public override bool ShouldInterruptOnDamage() @@ -106,40 +31,13 @@ internal sealed class WaitNavmesh return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public string? GetDebugState() { - int num = (movementController.IsNavmeshReady ? (-446165234) : (-446165233)); - while (true) + if (!movementController.IsNavmeshReady) { - int num2 = num; - int num3 = -446165234; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_004b; - case 0: - return null; - case 1: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(10, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-1778800167)); - defaultInterpolatedStringHandler.AppendFormatted(movementController.BuiltNavmeshPercent); - defaultInterpolatedStringHandler.AppendLiteral(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(1720204560)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - } - continue; - IL_004b: - num = -446165233; + return $"Navmesh: {movementController.BuiltNavmeshPercent}%"; } - } - - string? IDebugStateProvider.GetDebugState() - { - //ILSpy generated this explicit interface implementation from .override directive in GetDebugState - return this.GetDebugState(); + return null; } } } diff --git a/Questionable/Questionable.Controller.Steps.Gathering/DoGather.cs b/Questionable/Questionable.Controller.Steps.Gathering/DoGather.cs index f9d5aec..3e7972e 100644 --- a/Questionable/Questionable.Controller.Steps.Gathering/DoGather.cs +++ b/Questionable/Questionable.Controller.Steps.Gathering/DoGather.cs @@ -1,19 +1,13 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Conditions; -using Dalamud.Game.ClientState.Objects.SubKinds; using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Client.UI; using FFXIVClientStructs.FFXIV.Component.GUI; -using LLib.GameData; using LLib.GameUI; -using Lumina.Excel; -using Lumina.Excel.Sheets; using Microsoft.Extensions.Logging; using Questionable.Functions; using Questionable.Model.Gathering; @@ -25,16 +19,6 @@ internal static class DoGather { internal sealed record Task(GatheringController.GatheringRequest Request, GatheringNode Node, bool RevisitRequired) : ITask, IRevisitAware { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202D_202C_206E_206C_202C_206E_200E_206C_206B_200C_206C_206C_206D_200B_202C_206D_202D_206B_206E_202A_202D_206E_206B_200E_206F_202D_200D_200C_200F_200E_200C_202A_206F_206A_206E_202C_202E_200C_200B_206E_202E(typeof(Task).TypeHandle); - } - } - public bool RevisitTriggered { get; private set; } public void OnRevisit() @@ -42,109 +26,9 @@ internal static class DoGather RevisitTriggered = true; } - void IRevisitAware.OnRevisit() - { - //ILSpy generated this explicit interface implementation from .override directive in OnRevisit - this.OnRevisit(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return _200E_206B_206C_206D_200C_200D_206A_206A_202C_202C_206F_206E_200F_200D_200D_206D_200D_200E_200B_206E_206C_206E_206D_206F_200F_202D_202B_206E_202E_200F_200E_202E_202A_202D_200D_202A_202B_200C_202A_202E_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1468970582), RevisitRequired ? global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-522204867) : 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(1200342830)); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206F_206A_202E_200E_206E_200C_206F_202C_202B_206C_206C_200D_202B_202A_200D_200E_202D_202D_200D_206C_200C_206E_200B_202C_202D_206E_206B_206F_202B_200C_200D_202E_206C_200B_200D_202A_200C_200F_202A_202D_202E(); - _206F_202A_202E_206D_206C_206D_202B_202C_200B_202D_202E_202D_202E_200B_200D_200C_202D_200E_206E_200F_200F_202D_200D_206F_206E_202C_200F_200E_202E_202D_206D_206E_206F_200E_206F_206E_200E_206E_206B_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1211042409)); - _202A_202A_206C_200E_202A_206D_202C_206A_200F_200F_200B_206E_206F_202C_200B_202C_202A_200D_200C_202B_200B_202C_206E_202E_202B_206A_200E_206C_206B_200F_202D_206C_200C_206E_200B_202A_206E_202C_206C_200F_202E(builder, (object)Request); - _206F_202A_202E_206D_206C_206D_202B_202C_200B_202D_202E_202D_202E_200B_200D_200C_202D_200E_206E_200F_200F_202D_200D_206F_206E_202C_200F_200E_202E_202D_206D_206E_206F_200E_206F_206E_200E_206E_206B_200D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-722402907)); - _202A_202A_206C_200E_202A_206D_202C_206A_200F_200F_200B_206E_206F_202C_200B_202C_202A_200D_200C_202B_200B_202C_206E_202E_202B_206A_200E_206C_206B_200F_202D_206C_200C_206E_200B_202A_206E_202C_206C_200F_202E(builder, (object)Node); - _206F_202A_202E_206D_206C_206D_202B_202C_200B_202D_202E_202D_202E_200B_200D_200C_202D_200E_206E_200F_200F_202D_200D_206F_206E_202C_200F_200E_202E_202D_206D_206E_206F_200E_206F_206E_200E_206E_206B_200D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1324981721)); - _206F_202A_202E_206D_206C_206D_202B_202C_200B_202D_202E_202D_202E_200B_200D_200C_202D_200E_206E_200F_200F_202D_200D_206F_206E_202C_200F_200E_202E_202D_206D_206E_206F_200E_206F_206E_200E_206E_206B_200D_202E(builder, RevisitRequired.ToString()); - _206F_202A_202E_206D_206C_206D_202B_202C_200B_202D_202E_202D_202E_200B_200D_200C_202D_200E_206E_200F_200F_202D_200D_206F_206E_202C_200F_200E_202E_202D_206D_206E_206F_200E_206F_206E_200E_206E_206B_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-145983723)); - _206F_202A_202E_206D_206C_206D_202B_202C_200B_202D_202E_202D_202E_200B_200D_200C_202D_200E_206E_200F_200F_202D_200D_206F_206E_202C_200F_200E_202E_202D_206D_206E_206F_200E_206F_206E_200E_206E_206B_200D_202E(builder, RevisitTriggered.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(Task? other) - { - int num = (((object)this == other) ? 2025080777 : 2025080782); - while (true) - { - int num2 = num; - int num3 = 2025080783; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = ((!EqualityComparer.Default.Equals(Node, other.Node)) ? 2025080779 : 2025080776); - break; - case 4: - return false; - case 3: - return EqualityComparer.Default.Equals(RevisitTriggered, other.RevisitTriggered); - case 0: - num = 2025080782; - break; - case 8: - num = ((!EqualityComparer.Default.Equals(Request, other.Request)) ? 2025080779 : 2025080781); - break; - case 6: - return true; - case 7: - num = ((!EqualityComparer.Default.Equals(RevisitRequired, other.RevisitRequired)) ? 2025080779 : 2025080780); - break; - case 5: - num = ((!_206A_200B_200C_200E_202A_202B_200E_206A_206F_200B_206C_202E_202E_206B_202E_200C_200E_206E_206E_206E_202D_200E_202A_202A_200C_206B_206F_200B_206A_200C_202E_206D_200B_206F_206F_202B_200C_200D_206D_206C_202E(EqualityContract, other.EqualityContract)) ? 2025080779 : 2025080775); - break; - case 1: - num = (((object)other == null) ? 2025080779 : 2025080778); - break; - } - } - } - - bool IEquatable.Equals(Task? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202D_202C_206E_206C_202C_206E_200E_206C_206B_200C_206C_206C_206D_200B_202C_206D_202D_206B_206E_202A_202D_206E_206B_200E_206F_202D_200D_200C_200F_200E_200C_202A_206F_206A_206E_202C_202E_200C_200B_206E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static string _200E_206B_206C_206D_200C_200D_206A_206A_202C_202C_206F_206E_200F_200D_200D_206D_200D_200E_200B_206E_206C_206E_206D_206F_200F_202D_202B_206E_202E_200F_200E_202E_202A_202D_200D_202A_202B_200C_202A_202E_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static void _206F_206A_202E_200E_206E_200C_206F_202C_202B_206C_206C_200D_202B_202A_200D_200E_202D_202D_200D_206C_200C_206E_200B_202C_202D_206E_206B_206F_202B_200C_200D_202E_206C_200B_200D_202A_200C_200F_202A_202D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206F_202A_202E_206D_206C_206D_202B_202C_200B_202D_202E_202D_202E_200B_200D_200C_202D_200E_206E_200F_200F_202D_200D_206F_206E_202C_200F_200E_202E_202D_206D_206E_206F_200E_206F_206E_200E_206E_206B_200D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202A_202A_206C_200E_202A_206D_202C_206A_200F_200F_200B_206E_206F_202C_200B_202C_202A_200D_200C_202B_200B_202C_206E_202E_202B_206A_200E_206C_206B_200F_202D_206C_200C_206E_200B_202A_206E_202C_206C_200F_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206A_200B_200C_200E_202A_202B_200E_206A_206F_200B_206C_202E_202E_206B_202E_200C_200E_206E_206E_206E_202D_200E_202A_202A_200C_206B_206F_200B_206A_200C_202E_206D_200B_206F_206F_202B_200C_200D_206D_206C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "DoGather" + (RevisitRequired ? " if revist" : ""); } } @@ -165,491 +49,259 @@ internal static class DoGather return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe override ETaskResult Update() { Task task = base.Task; - int num = (((object)task == null) ? 607159611 : 607159599); - SlotInfo slotInfo = default(SlotInfo); - EAction result = default(EAction); - AddonGathering* addonPtr = default(AddonGathering*); - NodeCondition nodeCondition = default(NodeCondition); - List list = default(List); - IGameObject gameObject = default(IGameObject); - uint valueOrDefault = default(uint); - uint? num5 = default(uint?); - while (true) + if ((object)task != null && task.RevisitRequired && !task.RevisitTriggered) { - int num2 = num; - int num3 = 607159603; - int num4 = num2; - uint? obj; - switch ((num4 | num3) - (num4 & num3)) + logger.LogDebug("No revisit"); + return ETaskResult.TaskComplete; + } + task = base.Task; + if ((object)task != null && task.RevisitRequired && task.RevisitTriggered && !condition[ConditionFlag.Gathering]) + { + if (_wasGathering) { - case 33: - slotInfo = null; - num = 607159606; - break; - case 7: - _202A_200F_200D_200C_200E_202E_200B_202C_206C_202E_202C_202B_206C_202A_200C_202B_200F_200B_200E_200E_202D_200F_200E_202C_202A_200F_206D_202B_200F_206B_206A_202B_206D_200B_200B_206E_206A_200B_206C_206E_202E((ILogger)logger, 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(-198696990), new object[1] { _202E_202D_202A_202C_202E_206B_200F_200E_206A_202D_206D_202C_206C_200C_200C_206C_200B_200C_200D_206F_202A_206E_206C_200D_202C_200F_206F_200B_206A_206A_200F_206D_202E_202E_200B_202D_206A_206C_200F_206C_202E(base.Task.Node) }); - num = 607159576; - break; - case 16: - return ETaskResult.StillRunning; - case 13: - _202A_200F_200D_200C_200E_202E_200B_202C_206C_202E_202C_202B_206C_202A_200C_202B_200F_200B_200E_200E_202D_200F_200E_202C_202A_200F_206D_202B_200F_206B_206A_202B_206D_200B_200B_206E_206A_200B_206C_206E_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-380585303), Array.Empty()); return ETaskResult.TaskComplete; - case 50: - num = ((!gameFunctions.UseAction(result)) ? 607159601 : 607159572); - break; - case 26: - num = 607159599; - break; - case 41: - num = ((_actionQueue.Count != 0) ? 607159577 : 607159596); - break; - case 46: - num = ((gameFunctions.GetFreeInventorySlots() != 0) ? 607159592 : 607159597); - break; - case 47: - return ETaskResult.StillRunning; - case 20: - addonPtr->FireCallbackInt(-1); - num = 607159577; - break; - case 21: - num = (_202C_202B_200D_206A_200F_200F_202A_206E_200C_202B_202A_202A_202B_200F_206A_200E_202C_200B_202B_206C_202E_202B_202E_200E_206C_206C_206B_200B_200C_206B_200F_206C_202C_206F_206B_200F_206B_200B_202B_202B_202E(condition, ConditionFlag.Gathering) ? 607159607 : 607159569); - break; - case 49: - _wasGathering = true; - num = ((!gameGui.TryGetAddonByName(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2039761442), out addonPtr)) ? 607159577 : 607159583); - break; - case 1: - obj = slotInfo.ItemId; - goto IL_028d; - case 10: - addonPtr->FireCallbackInt(slotInfo.Index); - num = 607159577; - break; - case 22: - _actionQueue = GetNextActions(nodeCondition, list); - num = ((_actionQueue != null) ? 607159578 : 607159584); - break; - case 9: - { - uint uInt = addonPtr->AtkValues[109].UInt; - uint uInt2 = addonPtr->AtkValues[110].UInt; - _202A_200F_200D_200C_200E_202E_200B_202C_206C_202E_202C_202B_206C_202A_200C_202B_200F_200B_200E_200E_202D_200F_200E_202C_202A_200F_206D_202B_200F_206B_206A_202B_206D_200B_200B_206E_206A_200B_206C_206E_202E((ILogger)logger, 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(-2017511058), new object[2] { uInt, uInt2 }); - num = ((uInt == 0) ? 607159577 : 607159598); - break; } - case 6: - num = ((!_202C_202B_200D_206A_200F_200F_202A_206E_200C_202B_202A_202A_202B_200F_206A_200E_202C_200B_202B_206C_202E_202B_202E_200E_206C_206C_206B_200B_200C_206B_200F_206C_202C_206F_206B_200F_206B_200B_202B_202B_202E(condition, ConditionFlag.Gathering)) ? 607159585 : 607159587); - break; - case 32: + if (Environment.TickCount64 >= _nextRevisitInteractionAt) { - SlotInfo slotInfo2 = list.Single((SlotInfo x) => x.ItemId == base.Task.Request.ItemId); - addonPtr->FireCallbackInt(slotInfo2.Index); - num = 607159577; - break; - } - case 45: - num = ((!gameFunctions.InteractWith(gameObject)) ? 607159576 : 607159604); - break; - case 17: - num = ((!task.RevisitTriggered) ? 607159607 : 607159590); - break; - case 38: - num = ((valueOrDefault > 19) ? 607159606 : 607159588); - break; - case 2: - return ETaskResult.StillRunning; - case 30: - throw new TaskException(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(915709300)); - case 29: - addonPtr->FireCallbackInt(-1); - num = 607159577; - break; - case 27: - num = ((!_202C_202B_200D_206A_200F_200F_202A_206E_200C_202B_202A_202A_202B_200F_206A_200E_202C_200B_202B_206C_202E_202B_202E_200E_206C_206C_206B_200B_200C_206B_200F_206C_202C_206F_206B_200F_206B_200B_202B_202B_202E(condition, ConditionFlag.Gathering)) ? 607159577 : 607159595); - break; - case 40: - _202A_200F_200D_200C_200E_202E_200B_202C_206C_202E_202C_202B_206C_202A_200C_202B_200F_200B_200E_200E_202D_200F_200E_202C_202A_200F_206D_202B_200F_206B_206A_202B_206D_200B_200B_206E_206A_200B_206C_206E_202E((ILogger)logger, 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(1731056646), Array.Empty()); - return ETaskResult.TaskComplete; - case 4: - num = (base.Task.RevisitTriggered ? 607159581 : 607159613); - break; - case 14: - num = ((!gatheringController.HasNodeDisappeared(base.Task.Node)) ? 607159581 : 607159614); - break; - case 39: - _202A_200F_200D_200C_200E_202E_200B_202C_206C_202E_202C_202B_206C_202A_200C_202B_200F_200B_200E_200E_202D_200F_200E_202C_202A_200F_206D_202B_200F_206B_206A_202B_206D_200B_200B_206E_206A_200B_206C_206E_202E((ILogger)logger, 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(1449186336), new object[1] { result }); - _actionQueue.Dequeue(); - num = 607159601; - break; - case 5: - num = ((!(slotInfo != null)) ? 607159591 : 607159609); - break; - case 19: - _202A_200F_200D_200C_200E_202E_200B_202C_206C_202E_202C_202B_206C_202A_200C_202B_200F_200B_200E_200E_202D_200F_200E_202C_202A_200F_206D_202B_200F_206B_206A_202B_206D_200B_200B_206E_206A_200B_206C_206E_202E((ILogger)logger, 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(-1296182537), Array.Empty()); - addonPtr->FireCallbackInt(-1); - return ETaskResult.TaskComplete; - case 44: - num = ((!gatheringController.HasRequestedItems()) ? 607159615 : 607159610); - break; - case 11: - valueOrDefault = num5.GetValueOrDefault(); - num = ((valueOrDefault < 2) ? 607159606 : 607159573); - break; - case 12: - list = ReadSlots(addonPtr); - num = ((base.Task.Request.Collectability <= 0) ? 607159555 : 607159571); - break; - case 23: - num = ((InventoryManager.Instance()->GetInventoryItemCount(slotInfo.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0) != 9999) ? 607159606 : 607159570); - break; - case 34: - num = ((!_wasGathering) ? 607159600 : 607159568); - break; - case 31: - slotInfo = _slotToGather ?? list.SingleOrDefault((SlotInfo x) => x.ItemId == base.Task.Request.ItemId) ?? list.MinBy((SlotInfo x) => x.ItemId); - num = (((object)slotInfo != null) ? 607159602 : 607159552); - break; - case 37: - return ETaskResult.TaskComplete; - case 51: - obj = null; - goto IL_028d; - case 8: - task = base.Task; - num = (((object)task == null) ? 607159607 : 607159594); - break; - case 43: - _nextRevisitInteractionAt = _202C_206F_202B_200E_202E_200B_200E_206C_202A_206B_202C_202B_200F_206E_206C_202E_206E_200C_202E_200B_200E_206D_200B_202E_200E_206A_206A_202C_206D_200F_200E_200D_200E_200D_206C_206A_206C_200D_202D_202B_202E() + 1000; - num = 607159580; - break; - case 3: - num = ((_202C_206F_202B_200E_202E_200B_200E_206C_202A_206B_202C_202B_200F_206E_206C_202E_206E_200C_202E_200B_200E_206D_200B_202E_200E_206A_206A_202C_206D_200F_200E_200D_200E_200D_206C_206A_206C_200D_202D_202B_202E() < _nextRevisitInteractionAt) ? 607159580 : 607159603); - break; - case 15: - num = ((!_actionQueue.TryPeek(out result)) ? 607159589 : 607159553); - break; - case 48: - nodeCondition = new NodeCondition(addonPtr->AtkValues[109].UInt, addonPtr->AtkValues[110].UInt); - _202A_200F_200D_200C_200E_202E_200B_202C_206C_202E_202C_202B_206C_202A_200C_202B_200F_200B_200E_200E_202D_200F_200E_202C_202A_200F_206D_202B_200F_206B_206A_202B_206D_200B_200B_206E_206A_200B_206C_206E_202E((ILogger)logger, 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(1490612030), new object[2] { nodeCondition.CurrentIntegrity, nodeCondition.MaxIntegrity }); - num = ((_actionQueue == null) ? 607159589 : 607159612); - break; - case 24: - { - num = ((!gameGui.TryGetAddonByName(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1601661822), out var _)) ? 607159554 : 607159574); - break; - } - case 35: - return ETaskResult.TaskComplete; - case 36: - num = (task.RevisitTriggered ? 607159611 : 607159579); - break; - case 18: - return ETaskResult.TaskComplete; - case 0: - gameObject = objectTable.FirstOrDefault(delegate(IGameObject x) + IGameObject gameObject = objectTable.FirstOrDefault((IGameObject x) => x.BaseId == base.Task.Node.DataId && x.IsTargetable); + if (gameObject != null && gameFunctions.InteractWith(gameObject)) { - int num6 = ((_206B_202A_200F_206F_202E_206A_206C_202E_202D_206A_202B_206D_200B_200C_202C_202A_202C_206B_206F_202E_206D_206E_202B_200D_206D_202A_206D_206E_206C_200C_202B_202C_202D_206F_200E_202C_200F_200B_206E_202E_202E(x) != _202E_202D_202A_202C_202E_206B_200F_200E_206A_202D_206D_202C_206C_200C_200C_206C_200B_200C_200D_206F_202A_206E_206C_200D_202C_200F_206F_200B_206A_206A_200F_206D_202E_202E_200B_202D_206A_206C_200F_206C_202E(base.Task.Node)) ? (-627265933) : (-627265936)); - while (true) - { - int num7 = num6; - int num8 = -627265935; - int num9 = num7; - switch ((num9 | num8) - (num9 & num8)) - { - case 0: - goto IL_0056; - case 1: - return _206D_202B_202C_202A_202E_202D_200B_200B_206B_202A_202E_206A_202E_202C_200C_202C_200B_200C_202E_206F_200B_206E_206B_202C_200F_206F_200D_200D_200B_202E_200C_200C_206D_200D_202D_202A_200F_202A_200D_200D_202E(x); - case 2: - return false; - } - continue; - IL_0056: - num6 = -627265936; - } - }); - num = ((gameObject == null) ? 607159576 : 607159582); - break; - case 25: - num = ((!task.RevisitRequired) ? 607159607 : 607159586); - break; - case 28: - num = ((!task.RevisitRequired) ? 607159611 : 607159575); - break; - case 42: - { - num = ((!_wasGathering) ? 607159587 : 607159605); - break; + logger.LogDebug("Revisit triggered, re-interacting with node {DataId}", base.Task.Node.DataId); + } + _nextRevisitInteractionAt = Environment.TickCount64 + 1000; + } + return ETaskResult.StillRunning; + } + if (!base.Task.RevisitTriggered && gatheringController.HasNodeDisappeared(base.Task.Node)) + { + logger.LogDebug("Node disappeared"); + return ETaskResult.TaskComplete; + } + if (gameFunctions.GetFreeInventorySlots() == 0) + { + throw new TaskException("Inventory full"); + } + if (condition[ConditionFlag.Gathering]) + { + if (gameGui.TryGetAddonByName("GatheringMasterpiece", out var _)) + { + return ETaskResult.TaskComplete; + } + _wasGathering = true; + if (gameGui.TryGetAddonByName("Gathering", out var addonPtr2)) + { + if (gatheringController.HasRequestedItems()) + { + uint uInt = addonPtr2->AtkValues[109].UInt; + uint uInt2 = addonPtr2->AtkValues[110].UInt; + logger.LogDebug("Requested items complete with node integrity {Current}/{Max}", uInt, uInt2); + if (uInt != 0) + { + addonPtr2->FireCallbackInt(-1); + } + } + else + { + List list = ReadSlots(addonPtr2); + if (base.Task.Request.Collectability > 0) + { + SlotInfo slotInfo = list.Single((SlotInfo x) => x.ItemId == base.Task.Request.ItemId); + addonPtr2->FireCallbackInt(slotInfo.Index); + } + else + { + NodeCondition nodeCondition = new NodeCondition(addonPtr2->AtkValues[109].UInt, addonPtr2->AtkValues[110].UInt); + logger.LogDebug("NodeCondition integrity: {Current}/{Max}", nodeCondition.CurrentIntegrity, nodeCondition.MaxIntegrity); + if (_actionQueue != null && _actionQueue.TryPeek(out var result)) + { + if (gameFunctions.UseAction(result)) + { + logger.LogDebug("Used action {Action} on node", result); + _actionQueue.Dequeue(); + } + return ETaskResult.StillRunning; + } + _actionQueue = GetNextActions(nodeCondition, list); + if (_actionQueue == null) + { + logger.LogDebug("Skipping the rest of gathering..."); + addonPtr2->FireCallbackInt(-1); + return ETaskResult.TaskComplete; + } + if (_actionQueue.Count == 0) + { + SlotInfo slotInfo2 = _slotToGather ?? list.SingleOrDefault((SlotInfo x) => x.ItemId == base.Task.Request.ItemId) ?? list.MinBy((SlotInfo x) => x.ItemId); + switch (slotInfo2?.ItemId) + { + case 2u: + case 3u: + case 4u: + case 5u: + case 6u: + case 7u: + case 8u: + case 9u: + case 10u: + case 11u: + case 12u: + case 13u: + case 14u: + case 15u: + case 16u: + case 17u: + case 18u: + case 19u: + if (InventoryManager.Instance()->GetInventoryItemCount(slotInfo2.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0) == 9999) + { + slotInfo2 = null; + } + break; + } + if (slotInfo2 != null) + { + addonPtr2->FireCallbackInt(slotInfo2.Index); + } + else + { + addonPtr2->FireCallbackInt(-1); + } + } + } } - IL_028d: - num5 = obj; - num = ((!num5.HasValue) ? 607159606 : 607159608); - break; } } + if (!_wasGathering || condition[ConditionFlag.Gathering]) + { + return ETaskResult.StillRunning; + } + return ETaskResult.TaskComplete; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe List ReadSlots(AddonGathering* addonGathering) { List list = new List(); - int num = 0; - int num2 = -324357243; - int result2 = default(int); - int result3 = default(int); - AtkTextNode* asAtkTextNode = default(AtkTextNode*); - uint num6 = default(uint); - int result = default(int); - while (true) + for (int i = 0; i < 8; i++) { - int num3 = num2; - int num4 = -324357247; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + uint num = addonGathering->ItemIds[i]; + if (num != 0) { - case 3: - num2 = -324357243; - break; - case 5: - _206E_200F_202C_202D_206E_200F_202E_202E_206E_202B_206D_202D_200C_200B_206D_206E_206C_206C_200F_200C_200C_202D_200F_200E_202D_206B_200B_206A_200E_202A_202D_206B_206C_206F_202C_200B_202E_206F_202C_206B_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1752800996), new object[1] { string.Join(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(1577352017), list) }); - return list; - case 0: - { - AtkComponentCheckBox* value = addonGathering->GatheredItemComponentCheckbox[num].Value; - if (!int.TryParse(value->UldManager.SearchNodeById(10u)->GetAsAtkTextNode()->NodeText.ToString(), out result2)) + AtkComponentCheckBox* value = addonGathering->GatheredItemComponentCheckbox[i].Value; + if (!int.TryParse(value->UldManager.SearchNodeById(10u)->GetAsAtkTextNode()->NodeText.ToString(), out var result)) + { + result = 0; + } + if (!int.TryParse(value->UldManager.SearchNodeById(16u)->GetAsAtkTextNode()->NodeText.ToString(), out var result2)) { result2 = 0; } - if (!int.TryParse(value->UldManager.SearchNodeById(16u)->GetAsAtkTextNode()->NodeText.ToString(), out result3)) + AtkTextNode* asAtkTextNode = value->UldManager.SearchNodeById(31u)->GetAsAtkComponentNode()->Component->UldManager.SearchNodeById(7u)->GetAsAtkTextNode(); + if (!asAtkTextNode->IsVisible() || !int.TryParse(asAtkTextNode->NodeText.ToString(), out var result3)) { - result3 = 0; + result3 = 1; } - asAtkTextNode = value->UldManager.SearchNodeById(31u)->GetAsAtkComponentNode()->Component->UldManager.SearchNodeById(7u)->GetAsAtkTextNode(); - num2 = ((!asAtkTextNode->IsVisible()) ? (-324357245) : (-324357239)); - break; - } - case 6: - { - int num7 = num; - num4 = 1; - num5 = num7; - int num8 = num5 ^ num4; - int num9 = num5 & num4; - num = num8 + (num9 + num9); - num2 = -324357243; - break; - } - case 7: - { - SlotInfo item = new SlotInfo(num, num6, result2, result3, result); + SlotInfo item = new SlotInfo(i, num, result, result2, result3); list.Add(item); - num2 = -324357241; - break; - } - case 2: - result = 1; - num2 = -324357242; - break; - case 4: - num2 = ((num < 8) ? (-324357248) : (-324357244)); - break; - case 8: - num2 = (int.TryParse(asAtkTextNode->NodeText.ToString(), out result) ? (-324357242) : (-324357245)); - break; - case 1: - num6 = addonGathering->ItemIds[num]; - num2 = ((num6 == 0) ? (-324357241) : (-324357247)); - break; } } + logger.LogTrace("Slots: {Slots}", string.Join(", ", list)); + return list; } private Queue? GetNextActions(NodeCondition nodeCondition, List slots) { - int num = ((!(_slotToGather != null)) ? (-828015562) : (-828015589)); - SlotInfo slotInfo2 = default(SlotInfo); - Queue queue = default(Queue); - SlotInfo slotInfo = default(SlotInfo); - int gatheringChance = default(int); - while (true) + if (_slotToGather != null && slots.All((SlotInfo x) => x.Index != _slotToGather.Index)) { - int num2 = num; - int num3 = -828015595; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + _slotToGather = null; + } + Queue queue = new Queue(); + if (!gameFunctions.HasStatus(EStatus.GatheringRateUp)) + { + if (base.Task.Request.AlternativeItemId != 0) { - case 38: - _slotToGather = null; - num = -828015562; - break; - case 9: - slotInfo2 = slots.Single((SlotInfo x) => x.ItemId == base.Task.Request.AlternativeItemId); - num = ((slotInfo2.GatheringChance != 100) ? (-828015564) : (-828015586)); - break; - case 3: - _slotToGather = slots.MinBy((SlotInfo x) => x.ItemId); - return queue; - case 34: - slotInfo = slots.SingleOrDefault((SlotInfo x) => x.ItemId == base.Task.Request.ItemId); - num = (((object)slotInfo == null) ? (-828015592) : (-828015606)); - break; - case 17: - num = ((!CanUseAction(EAction.SharpVision2, EAction.FieldMastery2)) ? (-828015563) : (-828015604)); - break; - case 13: - return queue; - case 4: - num = ((nodeCondition.CurrentIntegrity != nodeCondition.MaxIntegrity) ? (-828015597) : (-828015596)); - break; - case 15: - num = ((slotInfo.GatheringChance < 50) ? (-828015592) : (-828015616)); - break; - case 24: - num = ((!CanUseAction(EAction.SharpVision1, EAction.FieldMastery1)) ? (-828015598) : (-828015602)); - break; - case 18: - num = (_usedLuck ? (-828015597) : (-828015599)); - break; - case 27: - queue.Enqueue(PickAction(EAction.SharpVision1, EAction.FieldMastery1)); - return queue; - case 12: - num = -828015589; - break; - case 11: - _slotToGather = slotInfo2; - return queue; - case 7: - num = ((slotInfo.GatheringChance < 85) ? (-828015590) : (-828015585)); - break; - case 26: - return null; - case 20: - num = ((!CanUseAction(EAction.SharpVision3, EAction.FieldMastery3)) ? (-828015610) : (-828015567)); - break; - case 6: - num = ((!_usedLuck) ? (-828015561) : (-828015600)); - break; - case 23: - num = ((base.Task.Request.AlternativeItemId == 0) ? (-828015610) : (-828015588)); - break; - case 37: - num = ((!CanUseAction(EAction.SharpVision1, EAction.FieldMastery1)) ? (-828015593) : (-828015611)); - break; - case 32: - num = ((slotInfo2.GatheringChance < 50) ? (-828015610) : (-828015615)); - break; - case 16: - _slotToGather = slotInfo2; - queue.Enqueue(PickAction(EAction.SharpVision1, EAction.FieldMastery1)); - return queue; - case 29: - queue.Enqueue(PickAction(EAction.SharpVision2, EAction.FieldMastery2)); - return queue; - case 36: - _slotToGather = slotInfo2; - queue.Enqueue(PickAction(EAction.SharpVision3, EAction.FieldMastery3)); - return queue; - case 28: - num = ((slotInfo.GatheringChance < 95) ? (-828015598) : (-828015603)); - break; - case 22: - num = ((gatheringChance >= 100) ? (-828015592) : (-828015607)); - break; - case 31: - gatheringChance = slotInfo.GatheringChance; - num = ((gatheringChance <= 0) ? (-828015592) : (-828015613)); - break; - case 25: - _slotToGather = slotInfo2; - queue.Enqueue(PickAction(EAction.SharpVision2, EAction.FieldMastery2)); - return queue; - case 0: - num = ((slotInfo2.GatheringChance < 95) ? (-828015593) : (-828015568)); - break; - case 1: - num = ((!CanUseAction(EAction.LuckOfTheMountaineer, EAction.LuckOfThePioneer)) ? (-828015597) : (-828015605)); - break; - case 2: - num = ((slotInfo2.GatheringChance < 85) ? (-828015563) : (-828015612)); - break; - case 19: - slotInfo = slots.SingleOrDefault((SlotInfo x) => x.ItemId == base.Task.Request.ItemId); - num = ((!(slotInfo == null)) ? (-828015561) : (-828015609)); - break; - case 30: - _usedLuck = true; - queue.Enqueue(PickAction(EAction.LuckOfTheMountaineer, EAction.LuckOfThePioneer)); - return queue; - case 21: - num = ((!CanUseAction(EAction.SharpVision3, EAction.FieldMastery3)) ? (-828015592) : (-828015587)); - break; - case 14: - num = ((!slots.All((SlotInfo x) => x.Index != _slotToGather.Index)) ? (-828015562) : (-828015565)); - break; - case 5: - num = ((nodeCondition.CurrentIntegrity == nodeCondition.MaxIntegrity) ? (-828015594) : (-828015601)); - break; - case 35: - queue = new Queue(); - num = (gameFunctions.HasStatus(EStatus.GatheringRateUp) ? (-828015592) : (-828015614)); - break; - case 8: - queue.Enqueue(PickAction(EAction.SharpVision3, EAction.FieldMastery3)); - return queue; - case 33: - num = ((slotInfo2.GatheringChance <= 0) ? (-828015610) : (-828015595)); - break; - case 10: - num = ((!CanUseAction(EAction.SharpVision2, EAction.FieldMastery2)) ? (-828015590) : (-828015608)); - break; + SlotInfo slotInfo = slots.Single((SlotInfo x) => x.ItemId == base.Task.Request.AlternativeItemId); + if (slotInfo.GatheringChance == 100) + { + _slotToGather = slotInfo; + return queue; + } + if (slotInfo.GatheringChance > 0) + { + if (slotInfo.GatheringChance >= 95 && CanUseAction(EAction.SharpVision1, EAction.FieldMastery1)) + { + _slotToGather = slotInfo; + queue.Enqueue(PickAction(EAction.SharpVision1, EAction.FieldMastery1)); + return queue; + } + if (slotInfo.GatheringChance >= 85 && CanUseAction(EAction.SharpVision2, EAction.FieldMastery2)) + { + _slotToGather = slotInfo; + queue.Enqueue(PickAction(EAction.SharpVision2, EAction.FieldMastery2)); + return queue; + } + if (slotInfo.GatheringChance >= 50 && CanUseAction(EAction.SharpVision3, EAction.FieldMastery3)) + { + _slotToGather = slotInfo; + queue.Enqueue(PickAction(EAction.SharpVision3, EAction.FieldMastery3)); + return queue; + } + } + } + SlotInfo slotInfo2 = slots.SingleOrDefault((SlotInfo x) => x.ItemId == base.Task.Request.ItemId); + if (slotInfo2 == null) + { + if (!_usedLuck && nodeCondition.CurrentIntegrity == nodeCondition.MaxIntegrity && CanUseAction(EAction.LuckOfTheMountaineer, EAction.LuckOfThePioneer)) + { + _usedLuck = true; + queue.Enqueue(PickAction(EAction.LuckOfTheMountaineer, EAction.LuckOfThePioneer)); + return queue; + } + if (_usedLuck) + { + if (nodeCondition.CurrentIntegrity != nodeCondition.MaxIntegrity) + { + return null; + } + _slotToGather = slots.MinBy((SlotInfo x) => x.ItemId); + return queue; + } + } + slotInfo2 = slots.SingleOrDefault((SlotInfo x) => x.ItemId == base.Task.Request.ItemId); + if ((object)slotInfo2 != null) + { + int gatheringChance = slotInfo2.GatheringChance; + if (gatheringChance > 0 && gatheringChance < 100) + { + if (slotInfo2.GatheringChance >= 95 && CanUseAction(EAction.SharpVision1, EAction.FieldMastery1)) + { + queue.Enqueue(PickAction(EAction.SharpVision1, EAction.FieldMastery1)); + return queue; + } + if (slotInfo2.GatheringChance >= 85 && CanUseAction(EAction.SharpVision2, EAction.FieldMastery2)) + { + queue.Enqueue(PickAction(EAction.SharpVision2, EAction.FieldMastery2)); + return queue; + } + if (slotInfo2.GatheringChance >= 50 && CanUseAction(EAction.SharpVision3, EAction.FieldMastery3)) + { + queue.Enqueue(PickAction(EAction.SharpVision3, EAction.FieldMastery3)); + return queue; + } + } } } + return queue; } private EAction PickAction(EAction minerAction, EAction botanistAction) { - IPlayerCharacter playerCharacter = _206B_206E_202D_200C_202E_206E_200C_200E_202E_200F_206E_200B_200F_200D_200E_200E_206E_200D_200B_202A_200F_206E_206C_202B_206F_206F_200C_206D_200C_200C_200C_206B_206A_206C_200C_202A_200D_202A_200D_206E_202E(objectTable); - uint? num = ((playerCharacter != null) ? new uint?(_200D_200F_206E_202D_200B_202C_200E_206C_200D_202A_202E_200D_202A_200C_206E_206D_206A_200F_202A_202B_202D_200D_206C_200C_206B_200D_206D_200D_206C_202A_206D_200E_206F_202D_202D_200D_206C_202E_206B_202E_202E((ICharacter)playerCharacter).RowId) : ((uint?)null)); - int num2 = (num.HasValue ? (-44125136) : (-44125135)); - while (true) + if (objectTable.LocalPlayer?.ClassJob.RowId == 16) { - int num3 = num2; - int num4 = -44125136; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - EClassJob? obj; - switch (num6 - (num7 + num7)) - { - case 2: - return minerAction; - case 1: - obj = null; - goto IL_00c1; - case 4: - num2 = -44125135; - break; - case 0: - obj = (EClassJob)num.GetValueOrDefault(); - goto IL_00c1; - case 3: - { - return botanistAction; - } - IL_00c1: - num2 = ((obj != EClassJob.Miner) ? (-44125133) : (-44125134)); - break; - } + return minerAction; } + return botanistAction; } private unsafe bool CanUseAction(EAction minerAction, EAction botanistAction) @@ -662,323 +314,9 @@ internal static class DoGather { return false; } - - static void _202A_200F_200D_200C_200E_202E_200B_202C_206C_202E_202C_202B_206C_202A_200C_202B_200F_200B_200E_200E_202D_200F_200E_202C_202A_200F_206D_202B_200F_206B_206A_202B_206D_200B_200B_206E_206A_200B_206C_206E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _202C_202B_200D_206A_200F_200F_202A_206E_200C_202B_202A_202A_202B_200F_206A_200E_202C_200B_202B_206C_202E_202B_202E_200E_206C_206C_206B_200B_200C_206B_200F_206C_202C_206F_206B_200F_206B_200B_202B_202B_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static long _202C_206F_202B_200E_202E_200B_200E_206C_202A_206B_202C_202B_200F_206E_206C_202E_206E_200C_202E_200B_200E_206D_200B_202E_200E_206A_206A_202C_206D_200F_200E_200D_200E_200D_206C_206A_206C_200D_202D_202B_202E() - { - return Environment.TickCount64; - } - - static uint _202E_202D_202A_202C_202E_206B_200F_200E_206A_202D_206D_202C_206C_200C_200C_206C_200B_200C_200D_206F_202A_206E_206C_200D_202C_200F_206F_200B_206A_206A_200F_206D_202E_202E_200B_202D_206A_206C_200F_206C_202E(GatheringNode P_0) - { - return P_0.DataId; - } - - static void _206E_200F_202C_202D_206E_200F_202E_202E_206E_202B_206D_202D_200C_200B_206D_206E_206C_206C_200F_200C_200C_202D_200F_200E_202D_206B_200B_206A_200E_202A_202D_206B_206C_206F_202C_200B_202E_206F_202C_206B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogTrace(P_1, P_2); - } - - static IPlayerCharacter _206B_206E_202D_200C_202E_206E_200C_200E_202E_200F_206E_200B_200F_200D_200E_200E_206E_200D_200B_202A_200F_206E_206C_202B_206F_206F_200C_206D_200C_200C_200C_206B_206A_206C_200C_202A_200D_202A_200D_206E_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static RowRef _200D_200F_206E_202D_200B_202C_200E_206C_200D_202A_202E_200D_202A_200C_206E_206D_206A_200F_202A_202B_202D_200D_206C_200C_206B_200D_206D_200D_206C_202A_206D_200E_206F_202D_202D_200D_206C_202E_206B_202E_202E(ICharacter P_0) - { - return P_0.ClassJob; - } - - static uint _206B_202A_200F_206F_202E_206A_206C_202E_202D_206A_202B_206D_200B_200C_202C_202A_202C_206B_206F_202E_206D_206E_202B_200D_206D_202A_206D_206E_206C_200C_202B_202C_202D_206F_200E_202C_200F_200B_206E_202E_202E(IGameObject P_0) - { - return P_0.BaseId; - } - - static bool _206D_202B_202C_202A_202E_202D_200B_200B_206B_202A_202E_206A_202E_202C_200C_202C_200B_200C_202E_206F_200B_206E_206B_202C_200F_206F_200D_200D_200B_202E_200C_200C_206D_200D_202D_202A_200F_202A_200D_200D_202E(IGameObject P_0) - { - return P_0.IsTargetable; - } } - private sealed record SlotInfo(int Index, uint ItemId, int GatheringChance, int BoonChance, int Quantity) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200C_206D_200F_206E_202C_200C_200D_202B_202B_206F_206A_206B_202B_206E_206F_200B_206E_206E_200B_206C_206D_202D_206F_200E_200B_202B_202D_202C_206D_202A_200F_200E_202D_206A_202D_206D_206F_206E_206A_202A_202E(typeof(SlotInfo).TypeHandle); - } - } + private sealed record SlotInfo(int Index, uint ItemId, int GatheringChance, int BoonChance, int Quantity); - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200B_206C_200B_202D_202A_206C_202C_206A_206B_202A_200C_206B_206B_200F_202D_202B_202D_200F_206B_200F_206C_206A_202C_200F_202A_200E_200E_200F_200B_200B_206D_202D_200C_202D_206A_206B_206A_206B_206A_202B_202E(); - _202D_200C_202B_206F_206A_202C_200F_202B_200D_200F_200C_202E_200E_202D_200E_206D_200E_200C_200F_206F_202C_202E_200E_206C_202A_200E_200D_200F_200F_200E_202B_202B_200D_202D_200C_206B_202C_200D_200F_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1163695056)); - _202D_200C_202B_206F_206A_202C_200F_202B_200D_200F_200C_202E_200E_202D_200E_206D_200E_200C_200F_206F_202C_202E_200E_206C_202A_200E_200D_200F_200F_200E_202B_202B_200D_202D_200C_206B_202C_200D_200F_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(556540328)); - int num = ((!PrintMembers(stringBuilder)) ? 2077194273 : 2077194272); - while (true) - { - int num2 = num; - int num3 = 2077194273; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - _206D_202D_202B_200B_202A_206F_200F_200B_200E_206E_200B_202C_206A_202C_202A_202E_202B_206B_200C_202A_200B_202C_200F_200F_200D_202A_206F_206D_206C_206F_206B_202D_202E_202D_200E_202C_202D_206C_202D_206A_202E(stringBuilder, '}'); - return _200E_206C_200D_206E_202A_202B_206A_206B_200B_206B_206A_200B_202A_200F_200D_200C_200F_200E_206F_206C_206F_202C_200D_200E_206A_206A_200E_200B_206C_200E_202A_200B_200E_200F_206E_206D_200C_206A_206C_202E_202E((object)stringBuilder); - case 1: - _206D_202D_202B_200B_202A_206F_200F_200B_200E_206E_200B_202C_206A_202C_202A_202E_202B_206B_200C_202A_200B_202C_200F_200F_200D_202A_206F_206D_206C_206F_206B_202D_202E_202D_200E_202C_202D_206C_202D_206A_202E(stringBuilder, ' '); - num = 2077194273; - break; - case 2: - num = 2077194272; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200D_202B_202A_200D_206C_202B_202E_200E_200B_206F_202A_200E_200C_206A_202C_202E_202D_206D_200F_202C_200B_206D_202E_200E_202C_200F_202C_202B_206F_206A_200D_202B_206B_202B_206A_200C_202A_202A_202C_202E(); - _202D_200C_202B_206F_206A_202C_200F_202B_200D_200F_200C_202E_200E_202D_200E_206D_200E_200C_200F_206F_202C_202E_200E_206C_202A_200E_200D_200F_200F_200E_202B_202B_200D_202D_200C_206B_202C_200D_200F_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1952999036)); - _202D_200C_202B_206F_206A_202C_200F_202B_200D_200F_200C_202E_200E_202D_200E_206D_200E_200C_200F_206F_202C_202E_200E_206C_202A_200E_200D_200F_200F_200E_202B_202B_200D_202D_200C_206B_202C_200D_200F_202E(builder, Index.ToString()); - _202D_200C_202B_206F_206A_202C_200F_202B_200D_200F_200C_202E_200E_202D_200E_206D_200E_200C_200F_206F_202C_202E_200E_206C_202A_200E_200D_200F_200F_200E_202B_202B_200D_202D_200C_206B_202C_200D_200F_202E(builder, 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(-727021518)); - _202D_200C_202B_206F_206A_202C_200F_202B_200D_200F_200C_202E_200E_202D_200E_206D_200E_200C_200F_206F_202C_202E_200E_206C_202A_200E_200D_200F_200F_200E_202B_202B_200D_202D_200C_206B_202C_200D_200F_202E(builder, ItemId.ToString()); - _202D_200C_202B_206F_206A_202C_200F_202B_200D_200F_200C_202E_200E_202D_200E_206D_200E_200C_200F_206F_202C_202E_200E_206C_202A_200E_200D_200F_200F_200E_202B_202B_200D_202D_200C_206B_202C_200D_200F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1315697333)); - _202D_200C_202B_206F_206A_202C_200F_202B_200D_200F_200C_202E_200E_202D_200E_206D_200E_200C_200F_206F_202C_202E_200E_206C_202A_200E_200D_200F_200F_200E_202B_202B_200D_202D_200C_206B_202C_200D_200F_202E(builder, GatheringChance.ToString()); - _202D_200C_202B_206F_206A_202C_200F_202B_200D_200F_200C_202E_200E_202D_200E_206D_200E_200C_200F_206F_202C_202E_200E_206C_202A_200E_200D_200F_200F_200E_202B_202B_200D_202D_200C_206B_202C_200D_200F_202E(builder, 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(1695865317)); - _202D_200C_202B_206F_206A_202C_200F_202B_200D_200F_200C_202E_200E_202D_200E_206D_200E_200C_200F_206F_202C_202E_200E_206C_202A_200E_200D_200F_200F_200E_202B_202B_200D_202D_200C_206B_202C_200D_200F_202E(builder, BoonChance.ToString()); - _202D_200C_202B_206F_206A_202C_200F_202B_200D_200F_200C_202E_200E_202D_200E_206D_200E_200C_200F_206F_202C_202E_200E_206C_202A_200E_200D_200F_200F_200E_202B_202B_200D_202D_200C_206B_202C_200D_200F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-141714243)); - _202D_200C_202B_206F_206A_202C_200F_202B_200D_200F_200C_202E_200E_202D_200E_206D_200E_200C_200F_206F_202C_202E_200E_206C_202A_200E_200D_200F_200F_200E_202B_202B_200D_202D_200C_206B_202C_200D_200F_202E(builder, Quantity.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(SlotInfo? other) - { - int num = (((object)this == other) ? 1061388714 : 1061388708); - while (true) - { - int num2 = num; - int num3 = 1061388717; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - return EqualityComparer.Default.Equals(Quantity, other.Quantity); - case 9: - num = (((object)other == null) ? 1061388713 : 1061388719); - break; - case 3: - num = ((!EqualityComparer.Default.Equals(ItemId, other.ItemId)) ? 1061388713 : 1061388717); - break; - case 7: - return true; - case 5: - num = 1061388708; - break; - case 1: - num = ((!EqualityComparer.Default.Equals(Index, other.Index)) ? 1061388713 : 1061388718); - break; - case 8: - num = ((!EqualityComparer.Default.Equals(BoonChance, other.BoonChance)) ? 1061388713 : 1061388715); - break; - case 2: - num = ((!_200B_206C_200C_206B_202A_206B_206C_202A_200F_200E_202B_202E_202A_200E_206D_206E_202D_206E_206F_206D_202D_202C_202C_202D_200C_202C_200C_200C_202A_200E_200B_206E_202B_206A_202D_206A_202C_200E_200B_206D_202E(EqualityContract, other.EqualityContract)) ? 1061388713 : 1061388716); - break; - case 0: - num = ((!EqualityComparer.Default.Equals(GatheringChance, other.GatheringChance)) ? 1061388713 : 1061388709); - break; - case 4: - return false; - } - } - } - - bool IEquatable.Equals(SlotInfo? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200C_206D_200F_206E_202C_200C_200D_202B_202B_206F_206A_206B_202B_206E_206F_200B_206E_206E_200B_206C_206D_202D_206F_200E_200B_202B_202D_202C_206D_202A_200F_200E_202D_206A_202D_206D_206F_206E_206A_202A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200B_206C_200B_202D_202A_206C_202C_206A_206B_202A_200C_206B_206B_200F_202D_202B_202D_200F_206B_200F_206C_206A_202C_200F_202A_200E_200E_200F_200B_200B_206D_202D_200C_202D_206A_206B_206A_206B_206A_202B_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202D_200C_202B_206F_206A_202C_200F_202B_200D_200F_200C_202E_200E_202D_200E_206D_200E_200C_200F_206F_202C_202E_200E_206C_202A_200E_200D_200F_200F_200E_202B_202B_200D_202D_200C_206B_202C_200D_200F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206D_202D_202B_200B_202A_206F_200F_200B_200E_206E_200B_202C_206A_202C_202A_202E_202B_206B_200C_202A_200B_202C_200F_200F_200D_202A_206F_206D_206C_206F_206B_202D_202E_202D_200E_202C_202D_206C_202D_206A_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200E_206C_200D_206E_202A_202B_206A_206B_200B_206B_206A_200B_202A_200F_200D_200C_200F_200E_206F_206C_206F_202C_200D_200E_206A_206A_200E_200B_206C_200E_202A_200B_200E_200F_206E_206D_200C_206A_206C_202E_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200D_202B_202A_200D_206C_202B_202E_200E_200B_206F_202A_200E_200C_206A_202C_202E_202D_206D_200F_202C_200B_206D_202E_200E_202C_200F_202C_202B_206F_206A_200D_202B_206B_202B_206A_200C_202A_202A_202C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _200B_206C_200C_206B_202A_206B_206C_202A_200F_200E_202B_202E_202A_200E_206D_206E_202D_206E_206F_206D_202D_202C_202C_202D_200C_202C_200C_200C_202A_200E_200B_206E_202B_206A_202D_206A_202C_200E_200B_206D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - private sealed record NodeCondition(uint CurrentIntegrity, uint MaxIntegrity) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206A_206A_200F_202A_200D_206F_202D_206D_200D_200D_202E_200B_206D_206A_200B_200F_202D_200F_206C_200B_202A_202A_200B_202A_200D_206C_202E_202A_206C_200B_202C_200F_206D_206B_206C_202B_202D_202E_202D_202E(typeof(NodeCondition).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206E_202E_200C_202B_200E_206D_200D_202B_206B_206D_206F_202B_206D_202E_206A_206F_206F_202E_202D_202E_202A_206F_206E_200E_202D_202D_206B_206D_200E_200C_200F_206E_202D_202E_200E_202C_206E_206A_206A_202E_202E(); - _200D_202D_202D_202E_202E_200E_206D_200E_200D_206D_206F_200B_202E_206B_202B_200F_200F_202E_206F_206F_202B_202D_202B_206C_200C_206C_206D_200C_202B_206F_200B_200D_200D_202C_200D_202B_202A_206F_206C_202D_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1254648399)); - _200D_202D_202D_202E_202E_200E_206D_200E_200D_206D_206F_200B_202E_206B_202B_200F_200F_202E_206F_206F_202B_202D_202B_206C_200C_206C_206D_200C_202B_206F_200B_200D_200D_202C_200D_202B_202A_206F_206C_202D_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? 270539835 : 270539832); - while (true) - { - int num2 = num; - int num3 = 270539834; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 270539832; - break; - case 1: - _206E_206D_200F_202D_206D_200F_200C_206F_202E_200B_206B_206D_200B_202C_206A_202E_206A_206F_200B_200F_200E_206C_206A_200D_202D_200C_202C_206F_202B_202C_200D_200B_206D_202B_200D_206C_200C_200C_206D_200E_202E(stringBuilder, '}'); - return _206B_200E_202D_206F_206C_200E_206C_206A_200B_200D_206C_202C_202B_202E_206E_206E_206C_200F_206E_200F_206B_206B_200E_206E_202B_202D_206C_202C_206F_206E_200F_202E_200C_200B_202A_200E_200C_200E_206C_206C_202E((object)stringBuilder); - case 2: - _206E_206D_200F_202D_206D_200F_200C_206F_202E_200B_206B_206D_200B_202C_206A_202E_206A_206F_200B_200F_200E_206C_206A_200D_202D_200C_202C_206F_202B_202C_200D_200B_206D_202B_200D_206C_200C_200C_206D_200E_202E(stringBuilder, ' '); - num = 270539835; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206D_200F_200F_200D_206B_202C_206F_202D_206C_206D_202B_202D_200C_200C_206E_202C_202D_200F_200E_200E_202A_206F_202A_206F_200D_202E_206A_200B_206A_206C_206F_206A_200B_202E_202E_200C_200C_202C_206D_206D_202E(); - _200D_202D_202D_202E_202E_200E_206D_200E_200D_206D_206F_200B_202E_206B_202B_200F_200F_202E_206F_206F_202B_202D_202B_206C_200C_206C_206D_200C_202B_206F_200B_200D_200D_202C_200D_202B_202A_206F_206C_202D_202E(builder, 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(-1558737258)); - _200D_202D_202D_202E_202E_200E_206D_200E_200D_206D_206F_200B_202E_206B_202B_200F_200F_202E_206F_206F_202B_202D_202B_206C_200C_206C_206D_200C_202B_206F_200B_200D_200D_202C_200D_202B_202A_206F_206C_202D_202E(builder, CurrentIntegrity.ToString()); - _200D_202D_202D_202E_202E_200E_206D_200E_200D_206D_206F_200B_202E_206B_202B_200F_200F_202E_206F_206F_202B_202D_202B_206C_200C_206C_206D_200C_202B_206F_200B_200D_200D_202C_200D_202B_202A_206F_206C_202D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-799260044)); - _200D_202D_202D_202E_202E_200E_206D_200E_200D_206D_206F_200B_202E_206B_202B_200F_200F_202E_206F_206F_202B_202D_202B_206C_200C_206C_206D_200C_202B_206F_200B_200D_200D_202C_200D_202B_202A_206F_206C_202D_202E(builder, MaxIntegrity.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(NodeCondition? other) - { - int num = (((object)this == other) ? (-459204652) : (-459204650)); - while (true) - { - int num2 = num; - int num3 = -459204651; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return false; - case 6: - return EqualityComparer.Default.Equals(MaxIntegrity, other.MaxIntegrity); - case 5: - num = ((!EqualityComparer.Default.Equals(CurrentIntegrity, other.CurrentIntegrity)) ? (-459204649) : (-459204653)); - break; - case 3: - num = (((object)other == null) ? (-459204649) : (-459204655)); - break; - case 1: - return true; - case 0: - num = -459204650; - break; - case 4: - num = ((!_206B_206F_200F_202A_206F_206D_206D_206C_206A_200C_200D_200C_206C_202D_206D_202C_202D_206A_202E_206C_206A_202E_200F_202A_200F_202A_202B_200C_202A_206B_200B_206B_200F_200B_206B_200B_206B_202D_206F_202D_202E(EqualityContract, other.EqualityContract)) ? (-459204649) : (-459204656)); - break; - } - } - } - - bool IEquatable.Equals(NodeCondition? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206A_206A_200F_202A_200D_206F_202D_206D_200D_200D_202E_200B_206D_206A_200B_200F_202D_200F_206C_200B_202A_202A_200B_202A_200D_206C_202E_202A_206C_200B_202C_200F_206D_206B_206C_202B_202D_202E_202D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206E_202E_200C_202B_200E_206D_200D_202B_206B_206D_206F_202B_206D_202E_206A_206F_206F_202E_202D_202E_202A_206F_206E_200E_202D_202D_206B_206D_200E_200C_200F_206E_202D_202E_200E_202C_206E_206A_206A_202E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200D_202D_202D_202E_202E_200E_206D_200E_200D_206D_206F_200B_202E_206B_202B_200F_200F_202E_206F_206F_202B_202D_202B_206C_200C_206C_206D_200C_202B_206F_200B_200D_200D_202C_200D_202B_202A_206F_206C_202D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206E_206D_200F_202D_206D_200F_200C_206F_202E_200B_206B_206D_200B_202C_206A_202E_206A_206F_200B_200F_200E_206C_206A_200D_202D_200C_202C_206F_202B_202C_200D_200B_206D_202B_200D_206C_200C_200C_206D_200E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206B_200E_202D_206F_206C_200E_206C_206A_200B_200D_206C_202C_202B_202E_206E_206E_206C_200F_206E_200F_206B_206B_200E_206E_202B_202D_206C_202C_206F_206E_200F_202E_200C_200B_202A_200E_200C_200E_206C_206C_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206D_200F_200F_200D_206B_202C_206F_202D_206C_206D_202B_202D_200C_200C_206E_202C_202D_200F_200E_200E_202A_206F_202A_206F_200D_202E_206A_200B_206A_206C_206F_206A_200B_202E_202E_200C_200C_202C_206D_206D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _206B_206F_200F_202A_206F_206D_206D_206C_206A_200C_200D_200C_206C_202D_206D_202C_202D_206A_202E_206C_206A_202E_200F_202A_200F_202A_202B_200C_202A_206B_200B_206B_200F_200B_206B_200B_206B_202D_206F_202D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } + private sealed record NodeCondition(uint CurrentIntegrity, uint MaxIntegrity); } diff --git a/Questionable/Questionable.Controller.Steps.Gathering/DoGatherCollectable.cs b/Questionable/Questionable.Controller.Steps.Gathering/DoGatherCollectable.cs index f56d1ec..d5c6af1 100644 --- a/Questionable/Questionable.Controller.Steps.Gathering/DoGatherCollectable.cs +++ b/Questionable/Questionable.Controller.Steps.Gathering/DoGatherCollectable.cs @@ -1,18 +1,12 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Conditions; -using Dalamud.Game.ClientState.Objects.SubKinds; using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Game.Text; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Component.GUI; -using LLib.GameData; using LLib.GameUI; -using Lumina.Excel; -using Lumina.Excel.Sheets; using Microsoft.Extensions.Logging; using Questionable.Functions; using Questionable.Model.Gathering; @@ -24,16 +18,6 @@ internal static class DoGatherCollectable { internal sealed record Task(GatheringController.GatheringRequest Request, GatheringNode Node, bool RevisitRequired) : ITask, IRevisitAware { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200F_200D_202D_206C_206C_206E_202C_200E_200C_206B_200D_200B_206F_202C_206B_206C_206B_202B_202D_200F_206C_200C_202B_206B_206F_206C_206B_200B_206A_202A_200D_202A_206F_200E_202C_200D_206C_202E_200C_206E_202E(typeof(Task).TypeHandle); - } - } - public bool RevisitTriggered { get; private set; } public void OnRevisit() @@ -41,116 +25,9 @@ internal static class DoGatherCollectable RevisitTriggered = true; } - void IRevisitAware.OnRevisit() - { - //ILSpy generated this explicit interface implementation from .override directive in OnRevisit - this.OnRevisit(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(22, 3); - defaultInterpolatedStringHandler.AppendLiteral(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(1601908547)); - defaultInterpolatedStringHandler.AppendFormatted(_202D_202B_206C_202D_206D_202C_202A_200E_206E_200B_202E_202D_200C_200B_202A_200F_200C_200D_206F_206E_206B_206A_206B_200F_200E_206E_200B_206B_200C_200E_206A_202D_200E_206F_206C_200E_202E_200E_200C_206A_202E(SeIconChar.Collectible)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(503298330)); - defaultInterpolatedStringHandler.AppendFormatted(Request.Collectability); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321)); - defaultInterpolatedStringHandler.AppendFormatted(RevisitRequired ? 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(-1240368665) : 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(1200342830)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200B_200E_200D_200F_202A_202D_200D_206B_206E_202A_202A_206A_202B_200F_206B_200C_202D_206B_202B_206F_206F_200D_206A_206C_202A_202A_200F_206F_200D_202D_200B_202A_200E_202C_200C_206D_206F_206A_200E_202B_202E(); - _202A_202E_206C_206D_206B_206C_206A_206D_202B_200E_206A_202C_206F_200B_200B_202B_200C_200B_206D_206A_206C_200D_206F_200B_202E_206B_206D_206B_206B_202A_200C_206C_200D_202A_202D_206D_206C_202D_202E_206A_202E(builder, 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(1124844995)); - _202D_202B_200C_200F_200D_200F_200E_200C_200D_202A_206C_206E_206A_200D_202B_206C_200D_202B_206A_206C_200F_202D_202A_200C_206B_202A_206C_206F_202A_200E_206A_206A_202D_200C_202E_202C_200E_202A_202D_206E_202E(builder, (object)Request); - _202A_202E_206C_206D_206B_206C_206A_206D_202B_200E_206A_202C_206F_200B_200B_202B_200C_200B_206D_206A_206C_200D_206F_200B_202E_206B_206D_206B_206B_202A_200C_206C_200D_202A_202D_206D_206C_202D_202E_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-722402907)); - _202D_202B_200C_200F_200D_200F_200E_200C_200D_202A_206C_206E_206A_200D_202B_206C_200D_202B_206A_206C_200F_202D_202A_200C_206B_202A_206C_206F_202A_200E_206A_206A_202D_200C_202E_202C_200E_202A_202D_206E_202E(builder, (object)Node); - _202A_202E_206C_206D_206B_206C_206A_206D_202B_200E_206A_202C_206F_200B_200B_202B_200C_200B_206D_206A_206C_200D_206F_200B_202E_206B_206D_206B_206B_202A_200C_206C_200D_202A_202D_206D_206C_202D_202E_206A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(849152591)); - _202A_202E_206C_206D_206B_206C_206A_206D_202B_200E_206A_202C_206F_200B_200B_202B_200C_200B_206D_206A_206C_200D_206F_200B_202E_206B_206D_206B_206B_202A_200C_206C_200D_202A_202D_206D_206C_202D_202E_206A_202E(builder, RevisitRequired.ToString()); - _202A_202E_206C_206D_206B_206C_206A_206D_202B_200E_206A_202C_206F_200B_200B_202B_200C_200B_206D_206A_206C_200D_206F_200B_202E_206B_206D_206B_206B_202A_200C_206C_200D_202A_202D_206D_206C_202D_202E_206A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-145983723)); - _202A_202E_206C_206D_206B_206C_206A_206D_202B_200E_206A_202C_206F_200B_200B_202B_200C_200B_206D_206A_206C_200D_206F_200B_202E_206B_206D_206B_206B_202A_200C_206C_200D_202A_202D_206D_206C_202D_202E_206A_202E(builder, RevisitTriggered.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(Task? other) - { - int num = (((object)this == other) ? 1037561831 : 1037561826); - while (true) - { - int num2 = num; - int num3 = 1037561830; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - num = ((!EqualityComparer.Default.Equals(Node, other.Node)) ? 1037561825 : 1037561829); - break; - case 8: - return EqualityComparer.Default.Equals(RevisitTriggered, other.RevisitTriggered); - case 2: - num = ((!EqualityComparer.Default.Equals(Request, other.Request)) ? 1037561825 : 1037561824); - break; - case 5: - num = ((!_206A_202E_202E_206D_206E_206B_200F_200D_200E_206A_200B_202D_202C_206C_202A_200D_202B_200F_206C_202B_206F_206D_202A_206F_202E_206B_206B_202A_202A_202C_202E_200D_202B_206B_206B_206C_206F_202D_200C_202D_202E(EqualityContract, other.EqualityContract)) ? 1037561825 : 1037561828); - break; - case 3: - num = ((!EqualityComparer.Default.Equals(RevisitRequired, other.RevisitRequired)) ? 1037561825 : 1037561838); - break; - case 0: - num = 1037561826; - break; - case 4: - num = (((object)other == null) ? 1037561825 : 1037561827); - break; - case 7: - return false; - case 1: - return true; - } - } - } - - bool IEquatable.Equals(Task? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200F_200D_202D_206C_206C_206E_202C_200E_200C_206B_200D_200B_206F_202C_206B_206C_206B_202B_202D_200F_206C_200C_202B_206B_206F_206C_206B_200B_206A_202A_200D_202A_206F_200E_202C_200D_206C_202E_200C_206E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static string _202D_202B_206C_202D_206D_202C_202A_200E_206E_200B_202E_202D_200C_200B_202A_200F_200C_200D_206F_206E_206B_206A_206B_200F_200E_206E_200B_206B_200C_200E_206A_202D_200E_206F_206C_200E_202E_200E_200C_206A_202E(SeIconChar P_0) - { - return P_0.ToIconString(); - } - - static void _200B_200E_200D_200F_202A_202D_200D_206B_206E_202A_202A_206A_202B_200F_206B_200C_202D_206B_202B_206F_206F_200D_206A_206C_202A_202A_200F_206F_200D_202D_200B_202A_200E_202C_200C_206D_206F_206A_200E_202B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202A_202E_206C_206D_206B_206C_206A_206D_202B_200E_206A_202C_206F_200B_200B_202B_200C_200B_206D_206A_206C_200D_206F_200B_202E_206B_206D_206B_206B_202A_200C_206C_200D_202A_202D_206D_206C_202D_202E_206A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202D_202B_200C_200F_200D_200F_200E_200C_200D_202A_206C_206E_206A_200D_202B_206C_200D_202B_206A_206C_200F_202D_202A_200C_206B_202A_206C_206F_202A_200E_206A_206A_202D_200C_202E_202C_200E_202A_202D_206E_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206A_202E_202E_206D_206E_206B_200F_200D_200E_206A_200B_202D_202C_206C_202A_200D_202B_200F_206C_202B_206F_206D_202A_206F_202E_206B_206B_202A_202A_202C_202E_200D_202B_206B_206B_206C_206F_202D_200C_202D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"DoGatherCollectable({SeIconChar.Collectible.ToIconString()}/{Request.Collectability}){(RevisitRequired ? " if revist" : "")}"; } } @@ -169,665 +46,206 @@ internal static class DoGatherCollectable return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe override ETaskResult Update() { - int num = ((!base.Task.RevisitRequired) ? (-1306248143) : (-1306248180)); - NodeCondition nodeCondition = default(NodeCondition); - AtkUnitBase* addonPtr = default(AtkUnitBase*); - bool? flag = default(bool?); - EAction result = default(EAction); - IGameObject gameObject = default(IGameObject); - Task task = default(Task); - while (true) + if (base.Task.RevisitRequired && !base.Task.RevisitTriggered) { - int num2 = num; - int num3 = -1306248192; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + logger.LogDebug("No revisit"); + return ETaskResult.TaskComplete; + } + Task task = base.Task; + if ((object)task != null && task.RevisitRequired && task.RevisitTriggered && !condition[ConditionFlag.Gathering]) + { + if (_wasGathering) { - default: - continue; - case 50: - _actionQueue = GetNextActions(nodeCondition); - if (_actionQueue != null) - { - num = -1306248176; - continue; - } - break; - case 36: - return ETaskResult.StillRunning; - case 18: - { - uint uInt3 = addonPtr->AtkValues[62].UInt; - uint uInt4 = addonPtr->AtkValues[63].UInt; - _206B_200E_200D_206F_206B_206F_200C_200B_202D_206A_206E_206F_200F_206A_200B_202B_202D_200B_206E_200C_206D_206F_206E_202A_200E_206A_200F_206F_200B_200F_202B_200F_200B_202E_200B_200E_200C_200B_202C_200C_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1155490632), new object[2] { uInt3, uInt4 }); - num = ((uInt3 == 0) ? (-1306248152) : (-1306248189)); - continue; - } - case 7: - _expectedScrutiny = flag; - _206B_200E_200D_206F_206B_206F_200C_200B_202D_206A_206E_206F_200F_206A_200B_202B_202D_200B_206E_200C_206D_206F_206E_202A_200E_206A_200F_206F_200B_200F_202B_200F_200B_202E_200B_200E_200C_200B_202C_200C_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1760938028), new object[1] { result }); - _actionQueue.Dequeue(); - num = -1306248164; - continue; - case 51: - _206B_200E_200D_206F_206B_206F_200C_200B_202D_206A_206E_206F_200F_206A_200B_202B_202D_200B_206E_200C_206D_206F_206E_202A_200E_206A_200F_206F_200B_200F_202B_200F_200B_202E_200B_200E_200C_200B_202C_200C_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(509991167), Array.Empty()); return ETaskResult.TaskComplete; - case 30: - num = ((!gameFunctions.InteractWith(gameObject)) ? (-1306248136) : (-1306248191)); - continue; - case 17: - num = ((!task.RevisitRequired) ? (-1306248182) : (-1306248173)); - continue; - case 4: - num = -1306248180; - continue; - case 33: - return ETaskResult.StillRunning; - case 45: - num = ((_actionQueue == null) ? (-1306248172) : (-1306248169)); - continue; - case 9: - num = ((!_206E_206B_202D_202E_202B_200F_200B_206F_200C_206A_206D_206E_202A_202E_200B_200C_202A_200B_200E_202E_200B_206B_206F_200F_206D_202A_206E_206F_206C_202C_206D_206E_206E_206D_206D_200D_206C_202D_202E_202A_202E(condition, ConditionFlag.Gathering)) ? (-1306248177) : (-1306248148)); - continue; - case 0: - num = ((!gameFunctions.UseAction(result)) ? (-1306248164) : (-1306248163)); - continue; - case 35: - num = ((!_wasGathering) ? (-1306248154) : (-1306248160)); - continue; - case 28: - return ETaskResult.StillRunning; - case 42: - throw new TaskException(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(1562567850)); - case 49: - task = base.Task; - num = (((object)task == null) ? (-1306248161) : (-1306248165)); - continue; - case 14: - num = ((!_expectedScrutiny.HasValue) ? (-1306248147) : (-1306248170)); - continue; - case 56: - _nextRevisitInteractionAt = _206E_200B_200B_200B_206A_202E_200E_206A_202D_206E_206F_206B_206B_200C_206B_202E_206B_206D_206A_206D_206C_200F_206A_206E_206F_202C_206F_206F_202B_200C_200E_200E_202C_206B_200C_202A_202D_200F_202D_202C_202E() + 1000; - num = -1306248144; - continue; - case 26: - num = ((!gatheringController.HasNodeDisappeared(base.Task.Node)) ? (-1306248183) : (-1306248187)); - continue; - case 37: - task = base.Task; - num = (((object)task == null) ? (-1306248182) : (-1306248175)); - continue; - case 40: - return ETaskResult.StillRunning; - case 23: - num = ((!_actionQueue.TryPeek(out result)) ? (-1306248172) : (-1306248192)); - continue; - case 27: - num = ((!task.RevisitRequired) ? (-1306248161) : (-1306248168)); - continue; - case 55: - flag = true; - num = -1306248185; - continue; - case 6: - num = (_206E_206B_202D_202E_202B_200F_200B_206F_200C_206A_206D_206E_202A_202E_200B_200C_202A_200B_200E_202E_200B_206B_206F_200F_206D_202A_206E_206F_206C_202C_206D_206E_206E_206D_206D_200D_206C_202D_202E_202A_202E(condition, ConditionFlag.Gathering) ? (-1306248156) : (-1306248145)); - continue; - case 15: - num = ((!gatheringController.HasRequestedItems()) ? (-1306248138) : (-1306248153)); - continue; - case 22: - { - bool scrutinyActive = nodeCondition.ScrutinyActive; - flag = _expectedScrutiny; - num = ((scrutinyActive == flag) ? (-1306248190) : (-1306248158)); - continue; } - case 20: - if (nodeCondition.CollectabilityToGoal(base.Task.Request.Collectability) != 0) + if (Environment.TickCount64 >= _nextRevisitInteractionAt) + { + IGameObject gameObject = objectTable.FirstOrDefault((IGameObject x) => x.BaseId == base.Task.Node.DataId && x.IsTargetable); + if (gameObject != null && gameFunctions.InteractWith(gameObject)) { - num = -1306248142; - continue; + logger.LogDebug("Revisit triggered, re-interacting with node {DataId}", base.Task.Node.DataId); } - break; - case 29: + _nextRevisitInteractionAt = Environment.TickCount64 + 1000; + } + return ETaskResult.StillRunning; + } + if (!base.Task.RevisitTriggered && gatheringController.HasNodeDisappeared(base.Task.Node)) + { + logger.LogDebug("Node disappeared"); + return ETaskResult.TaskComplete; + } + if (condition[ConditionFlag.Gathering]) + { + _wasGathering = true; + } + if (gatheringController.HasRequestedItems()) + { + if (gameGui.TryGetAddonByName("GatheringMasterpiece", out var addonPtr)) + { + uint uInt = addonPtr->AtkValues[62].UInt; + uint uInt2 = addonPtr->AtkValues[63].UInt; + logger.LogDebug("Requested collectables complete with node integrity {Current}/{Max}", uInt, uInt2); + if (uInt != 0) + { + addonPtr->FireCallbackInt(1); + } + return ETaskResult.StillRunning; + } + if (gameGui.TryGetAddonByName("Gathering", out addonPtr)) + { + uint uInt3 = addonPtr->AtkValues[109].UInt; + uint uInt4 = addonPtr->AtkValues[110].UInt; + logger.LogDebug("Leaving gathering interface with node integrity {Current}/{Max}", uInt3, uInt4); + if (uInt3 != 0) + { + addonPtr->FireCallbackInt(-1); + } + return ETaskResult.StillRunning; + } + if (!condition[ConditionFlag.Gathering]) + { + return ETaskResult.TaskComplete; + } + return ETaskResult.StillRunning; + } + if (gameFunctions.GetFreeInventorySlots() == 0) + { + throw new TaskException("Inventory full"); + } + NodeCondition nodeCondition = GetNodeCondition(); + if (nodeCondition == null) + { + task = base.Task; + if ((object)task == null || !task.RevisitRequired || !task.RevisitTriggered) + { + return ETaskResult.TaskComplete; + } + return ETaskResult.StillRunning; + } + if (_expectedScrutiny.HasValue) + { + if (nodeCondition.ScrutinyActive != _expectedScrutiny) + { + return ETaskResult.StillRunning; + } + _expectedScrutiny = null; + return ETaskResult.StillRunning; + } + if (_actionQueue != null && _actionQueue.TryPeek(out var result)) + { + if (gameFunctions.UseAction(result)) + { + bool? expectedScrutiny; switch (result) { case EAction.ScrutinyMiner: case EAction.ScrutinyBotanist: + expectedScrutiny = true; break; - default: - goto IL_0540; case EAction.ScourMiner: case EAction.MeticulousMiner: case EAction.ScourBotanist: case EAction.MeticulousBotanist: - goto IL_0627; - case (EAction)22183: - case (EAction)22187: - goto IL_075a; + expectedScrutiny = false; + break; + default: + expectedScrutiny = null; + break; } - goto case 55; - case 5: - _206B_200E_200D_206F_206B_206F_200C_200B_202D_206A_206E_206F_200F_206A_200B_202B_202D_200B_206E_200C_206D_206F_206E_202A_200E_206A_200F_206F_200B_200F_202B_200F_200B_202E_200B_200E_200C_200B_202C_200C_202E((ILogger)logger, 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(670927983), Array.Empty()); - return ETaskResult.TaskComplete; - case 48: - return ETaskResult.StillRunning; - case 32: - return ETaskResult.TaskComplete; - case 8: - gameObject = objectTable.FirstOrDefault(delegate(IGameObject x) - { - int num8 = ((_202E_200C_202C_202B_200F_202C_206B_202A_200B_200F_202C_200B_206E_202A_202B_202E_206B_206C_202C_202A_202C_202E_206E_200B_202C_202C_200F_202A_206C_206B_206B_202C_206E_206C_202B_206C_202C_200E_202C_202D_202E(x) != _202C_202A_202D_200E_206B_200D_206B_200B_206E_202C_200F_206C_206E_202D_202B_206A_206A_202A_200D_206B_206F_202D_200D_200C_206A_202E_206C_200C_200C_202D_202C_202E_202A_200F_206A_200D_206B_200D_200B_206A_202E(base.Task.Node)) ? 101007406 : 101007405); - while (true) - { - int num9 = num8; - int num10 = 101007407; - int num11 = num9; - int num12 = num11 + num10; - int num13 = num11 & num10; - switch (num12 - (num13 + num13)) - { - case 0: - goto IL_0058; - case 1: - return false; - case 2: - return _202A_206A_202A_200C_206B_202E_200E_206E_206E_200D_206C_202B_206B_206C_206D_202C_202B_200B_200C_200F_200B_202B_202D_206C_200B_200F_206F_202D_200B_200E_206E_202E_202B_200E_202C_202B_202C_206B_200D_202E_202E(x); - } - continue; - IL_0058: - num8 = 101007405; - } - }); - num = ((gameObject == null) ? (-1306248136) : (-1306248162)); - continue; - case 19: - num = (task.RevisitTriggered ? (-1306248139) : (-1306248182)); - continue; - case 3: - addonPtr->FireCallbackInt(1); - num = -1306248152; - continue; - case 47: - return ETaskResult.TaskComplete; - case 24: - num = ((!task.RevisitTriggered) ? (-1306248161) : (-1306248179)); - continue; - case 31: - num = (base.Task.RevisitTriggered ? (-1306248183) : (-1306248166)); - continue; - case 21: - goto IL_0627; - case 1: - _206B_200E_200D_206F_206B_206F_200C_200B_202D_206A_206E_206F_200F_206A_200B_202B_202D_200B_206E_200C_206D_206F_206E_202A_200E_206A_200F_206F_200B_200F_202B_200F_200B_202E_200B_200E_200C_200B_202C_200C_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(866221755), new object[1] { _202C_202A_202D_200E_206B_200D_206B_200B_206E_202C_200F_206C_206E_202D_202B_206A_206A_202A_200D_206B_206F_202D_200D_200C_206A_202E_206C_200C_200C_202D_202C_202E_202A_200F_206A_200D_206B_200D_200B_206A_202E(base.Task.Node) }); - num = -1306248136; - continue; - case 52: + _expectedScrutiny = expectedScrutiny; + logger.LogDebug("Used action {Action} on node", result); + _actionQueue.Dequeue(); + } + return ETaskResult.StillRunning; + } + if (nodeCondition.CollectabilityToGoal(base.Task.Request.Collectability) != 0) + { + _actionQueue = GetNextActions(nodeCondition); + if (_actionQueue != null) { - uint uInt = addonPtr->AtkValues[109].UInt; - uint uInt2 = addonPtr->AtkValues[110].UInt; - _206B_200E_200D_206F_206B_206F_200C_200B_202D_206A_206E_206F_200F_206A_200B_202B_202D_200B_206E_200C_206D_206F_206E_202A_200E_206A_200F_206F_200B_200F_202B_200F_200B_202E_200B_200E_200C_200B_202C_200C_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-749226007), new object[2] { uInt, uInt2 }); - num = ((uInt == 0) ? (-1306248159) : (-1306248151)); - continue; - } - case 11: - nodeCondition = GetNodeCondition(); - num = ((!(nodeCondition == null)) ? (-1306248178) : (-1306248155)); - continue; - case 39: - num = ((!gameGui.TryGetAddonByName(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(396218849), out addonPtr)) ? (-1306248149) : (-1306248174)); - continue; - case 25: - goto IL_075a; - case 46: - num = -1306248167; - continue; - case 44: - _wasGathering = true; - num = -1306248177; - continue; - case 54: - num = ((gameFunctions.GetFreeInventorySlots() != 0) ? (-1306248181) : (-1306248150)); - continue; - case 2: - _expectedScrutiny = null; - return ETaskResult.StillRunning; - case 38: - num = ((_206E_200B_200B_200B_206A_202E_200E_206A_202D_206E_206F_206B_206B_200C_206B_202E_206B_206D_206A_206D_206C_200F_206A_206E_206F_202C_206F_206F_202B_200C_200E_200E_202C_206B_200C_202A_202D_200F_202D_202C_202E() < _nextRevisitInteractionAt) ? (-1306248144) : (-1306248184)); - continue; - case 12: - num = (base.Task.RevisitTriggered ? (-1306248143) : (-1306248141)); - continue; - case 53: - return ETaskResult.StillRunning; - case 13: - num = (_206E_206B_202D_202E_202B_200F_200B_206F_200C_206A_206D_206E_202A_202E_200B_200C_202A_200B_200E_202E_200B_206B_206F_200F_206D_202A_206E_206F_206C_202C_206D_206E_206E_206D_206D_200D_206C_202D_202E_202A_202E(condition, ConditionFlag.Gathering) ? (-1306248161) : (-1306248157)); - continue; - case 10: - return ETaskResult.TaskComplete; - case 41: - addonPtr->FireCallbackInt(-1); - num = -1306248159; - continue; - case 43: - num = ((!gameGui.TryGetAddonByName(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(2134680438), out addonPtr)) ? (-1306248186) : (-1306248140)); - continue; - case 34: - return ETaskResult.StillRunning; - case 16: + foreach (EAction item in _actionQueue) { - using (Queue.Enumerator enumerator = _actionQueue.GetEnumerator()) - { - num = -1901885352; - while (true) - { - int num7 = num; - num3 = -1901885351; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1901885352; - break; - case 1: - num = (enumerator.MoveNext() ? (-1901885349) : (-1901885350)); - break; - case 2: - { - EAction current = enumerator.Current; - _206B_200E_200D_206F_206B_206F_200C_200B_202D_206A_206E_206F_200F_206A_200B_202B_202D_200B_206E_200C_206D_206F_206E_202A_200E_206A_200F_206F_200B_200F_202B_200F_200B_202E_200B_200E_200C_200B_202C_200C_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1559757228), new object[1] { current }); - num = -1901885352; - break; - } - case 3: - goto end_IL_08a8; - } - continue; - end_IL_08a8: - break; - } - } - return ETaskResult.StillRunning; + logger.LogDebug("Next Actions {Action}", item); } - IL_075a: - flag = null; - num = -1306248185; - continue; - IL_0627: - flag = false; - num = -1306248185; - continue; - IL_0540: - num = -1306248146; - continue; + return ETaskResult.StillRunning; } - break; } _actionQueue = new Queue(); _actionQueue.Enqueue(PickAction(EAction.CollectMiner, EAction.CollectBotanist)); return ETaskResult.StillRunning; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe NodeCondition? GetNodeCondition() { - AtkUnitBase* addonPtr; - int num = ((!gameGui.TryGetAddonByName(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(206776723), out addonPtr)) ? 460399678 : 460399677); - while (true) + if (gameGui.TryGetAddonByName("GatheringMasterpiece", out var addonPtr)) { - int num2 = num; - int num3 = 460399676; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return null; - case 1: - { - AtkValue* atkValues = addonPtr->AtkValues; - return new NodeCondition(atkValues[13].UInt, atkValues[14].UInt, atkValues[62].UInt, atkValues[63].UInt, atkValues[54].Bool, atkValues[48].UInt, atkValues[51].UInt); - } - case 0: - goto IL_00e2; - } - continue; - IL_00e2: - num = 460399677; + AtkValue* atkValues = addonPtr->AtkValues; + return new NodeCondition(atkValues[13].UInt, atkValues[14].UInt, atkValues[62].UInt, atkValues[63].UInt, atkValues[54].Bool, atkValues[48].UInt, atkValues[51].UInt); } + return null; } - [MethodImpl(MethodImplOptions.NoInlining)] private Queue GetNextActions(NodeCondition nodeCondition) { - IPlayerCharacter playerCharacter = _202C_202B_206D_200C_206C_202C_206A_202A_202C_206D_200C_206E_202E_206A_200D_200C_202C_200C_200B_206C_200E_202E_200E_202D_202E_206E_202D_200E_202D_202D_200F_206A_202A_206A_206B_202B_206B_202B_200B_206A_202E(objectTable); - uint num = ((playerCharacter != null) ? _202C_200B_202B_202B_206A_202E_200F_200B_206E_200C_206B_200F_206D_200D_200D_206F_206A_202E_202B_206A_200F_202C_202A_200B_206F_200F_202C_206F_206F_202D_206C_200D_206C_206E_206D_200D_200F_202A_200D_202A_202E((ICharacter)playerCharacter) : 0u); - _206B_206B_202A_200F_202A_200F_206E_202A_206C_206F_200E_202B_206D_206F_202D_202A_200C_200C_200F_206D_206A_202B_202C_202D_206D_200B_206A_202A_200B_202C_202E_206F_206B_206A_206D_202E_200B_200B_200B_206F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-600944510), new object[3] { num, nodeCondition.CollectabilityFromMeticulous, nodeCondition.CollectabilityFromScour }); + uint num = objectTable.LocalPlayer?.CurrentGp ?? 0; + logger.LogTrace("Getting next actions (with {GP} GP, {MeticulousCollectability}~ meticulous, {ScourCollectability}~ scour)", num, nodeCondition.CollectabilityFromMeticulous, nodeCondition.CollectabilityFromScour); Queue queue = new Queue(); uint num2 = nodeCondition.CollectabilityToGoal(base.Task.Request.Collectability); - int num3 = ((num2 > nodeCondition.CollectabilityFromMeticulous) ? 1622338187 : 1622338185); - while (true) + if (num2 <= nodeCondition.CollectabilityFromMeticulous) { - int num4 = num3; - int num5 = 1622338188; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) - { - case 1: - _206B_206B_202A_200F_202A_200F_206E_202A_206C_206F_200E_202B_206D_206F_202D_202A_200C_200C_200F_206D_206A_202B_202C_202D_206D_200B_206A_202A_200B_202C_202E_206F_206B_206A_206D_202E_200B_200B_200B_206F_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1982406925), new object[2] { num2, nodeCondition.CollectabilityFromMeticulous }); - queue.Enqueue(PickAction(EAction.MeticulousMiner, EAction.MeticulousBotanist)); - return queue; - case 7: - num3 = ((num2 > nodeCondition.CollectabilityFromScour) ? 1622338191 : 1622338184); - break; - case 5: - _206B_206B_202A_200F_202A_200F_206E_202A_206C_206F_200E_202B_206D_206F_202D_202A_200C_200C_200F_206D_206A_202B_202C_202D_206D_200B_206A_202A_200B_202C_202E_206F_206B_206A_206D_202E_200B_200B_200B_206F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1892669606), new object[2] { num2, nodeCondition.CollectabilityFromMeticulous }); - queue.Enqueue(PickAction(EAction.MeticulousMiner, EAction.MeticulousBotanist)); - return queue; - case 8: - num3 = ((!nodeCondition.ScrutinyActive) ? 1622338181 : 1622338189); - break; - case 4: - _206B_206B_202A_200F_202A_200F_206E_202A_206C_206F_200E_202B_206D_206F_202D_202A_200C_200C_200F_206D_206A_202B_202C_202D_206D_200B_206A_202A_200B_202C_202E_206F_206B_206A_206D_202E_200B_200B_200B_206F_202E((ILogger)logger, 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(2113421034), new object[2] { num2, nodeCondition.CollectabilityFromScour }); - queue.Enqueue(PickAction(EAction.ScourMiner, EAction.ScourBotanist)); - return queue; - case 3: - num3 = (nodeCondition.ScrutinyActive ? 1622338180 : 1622338190); - break; - case 2: - num3 = ((num < 200) ? 1622338180 : 1622338186); - break; - case 6: - _206B_206B_202A_200F_202A_200F_206E_202A_206C_206F_200E_202B_206D_206F_202D_202A_200C_200C_200F_206D_206A_202B_202C_202D_206D_200B_206A_202A_200B_202C_202E_206F_206B_206A_206D_202E_200B_200B_200B_206F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-837817091), new object[1] { num2 }); - queue.Enqueue(PickAction(EAction.ScrutinyMiner, EAction.ScrutinyBotanist)); - return queue; - case 9: - _206B_206B_202A_200F_202A_200F_206E_202A_206C_206F_200E_202B_206D_206F_202D_202A_200C_200C_200F_206D_206A_202B_202C_202D_206D_200B_206A_202A_200B_202C_202E_206F_206B_206A_206D_202E_200B_200B_200B_206F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1121451143), new object[2] { num2, nodeCondition.CollectabilityFromScour }); - queue.Enqueue(PickAction(EAction.ScourMiner, EAction.ScourBotanist)); - return queue; - case 0: - num3 = 1622338185; - break; - } + logger.LogTrace("Can get all needed {NeededCollectability} from {Collectability}~ meticulous", num2, nodeCondition.CollectabilityFromMeticulous); + queue.Enqueue(PickAction(EAction.MeticulousMiner, EAction.MeticulousBotanist)); + return queue; } + if (num2 <= nodeCondition.CollectabilityFromScour) + { + logger.LogTrace("Can get all needed {NeededCollectability} from {Collectability}~ scour", num2, nodeCondition.CollectabilityFromScour); + queue.Enqueue(PickAction(EAction.ScourMiner, EAction.ScourBotanist)); + return queue; + } + if (!nodeCondition.ScrutinyActive && num >= 200) + { + logger.LogTrace("Still missing {NeededCollectability} collectability, scrutiny inactive", num2); + queue.Enqueue(PickAction(EAction.ScrutinyMiner, EAction.ScrutinyBotanist)); + return queue; + } + if (nodeCondition.ScrutinyActive) + { + logger.LogTrace("Scrutiny active, need {NeededCollectability} and we expect {Collectability}~ meticulous", num2, nodeCondition.CollectabilityFromMeticulous); + queue.Enqueue(PickAction(EAction.MeticulousMiner, EAction.MeticulousBotanist)); + return queue; + } + logger.LogTrace("Scrutiny inactive, need {NeededCollectability} and we expect {Collectability}~ scour", num2, nodeCondition.CollectabilityFromScour); + queue.Enqueue(PickAction(EAction.ScourMiner, EAction.ScourBotanist)); + return queue; } private EAction PickAction(EAction minerAction, EAction botanistAction) { - IPlayerCharacter playerCharacter = _202C_202B_206D_200C_206C_202C_206A_202A_202C_206D_200C_206E_202E_206A_200D_200C_202C_200C_200B_206C_200E_202E_200E_202D_202E_206E_202D_200E_202D_202D_200F_206A_202A_206A_206B_202B_206B_202B_200B_206A_202E(objectTable); - uint? num = ((playerCharacter != null) ? new uint?(_202C_202B_200F_202A_206B_200E_206D_200D_206D_202C_202E_202C_200B_206D_200E_200D_200E_202A_202B_200D_206D_202B_200B_206C_200E_202E_200E_206B_206A_200B_200E_206B_200E_200E_200C_202B_200F_202C_202C_202A_202E((ICharacter)playerCharacter).RowId) : ((uint?)null)); - int num2 = (num.HasValue ? (-2144175217) : (-2144175223)); - while (true) + if (objectTable.LocalPlayer?.ClassJob.RowId == 16) { - int num3 = num2; - int num4 = -2144175221; - int num5 = num3; - EClassJob? obj; - switch ((num5 | num4) - (num5 & num4)) - { - case 4: - obj = (EClassJob)num.GetValueOrDefault(); - goto IL_0097; - case 1: - return minerAction; - case 0: - num2 = -2144175223; - break; - case 3: - return botanistAction; - case 2: - { - obj = null; - goto IL_0097; - } - IL_0097: - num2 = ((obj != EClassJob.Miner) ? (-2144175224) : (-2144175222)); - break; - } + return minerAction; } + return botanistAction; } public override bool ShouldInterruptOnDamage() { return false; } - - static void _206B_200E_200D_206F_206B_206F_200C_200B_202D_206A_206E_206F_200F_206A_200B_202B_202D_200B_206E_200C_206D_206F_206E_202A_200E_206A_200F_206F_200B_200F_202B_200F_200B_202E_200B_200E_200C_200B_202C_200C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _206E_206B_202D_202E_202B_200F_200B_206F_200C_206A_206D_206E_202A_202E_200B_200C_202A_200B_200E_202E_200B_206B_206F_200F_206D_202A_206E_206F_206C_202C_206D_206E_206E_206D_206D_200D_206C_202D_202E_202A_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static long _206E_200B_200B_200B_206A_202E_200E_206A_202D_206E_206F_206B_206B_200C_206B_202E_206B_206D_206A_206D_206C_200F_206A_206E_206F_202C_206F_206F_202B_200C_200E_200E_202C_206B_200C_202A_202D_200F_202D_202C_202E() - { - return Environment.TickCount64; - } - - static uint _202C_202A_202D_200E_206B_200D_206B_200B_206E_202C_200F_206C_206E_202D_202B_206A_206A_202A_200D_206B_206F_202D_200D_200C_206A_202E_206C_200C_200C_202D_202C_202E_202A_200F_206A_200D_206B_200D_200B_206A_202E(GatheringNode P_0) - { - return P_0.DataId; - } - - static IPlayerCharacter _202C_202B_206D_200C_206C_202C_206A_202A_202C_206D_200C_206E_202E_206A_200D_200C_202C_200C_200B_206C_200E_202E_200E_202D_202E_206E_202D_200E_202D_202D_200F_206A_202A_206A_206B_202B_206B_202B_200B_206A_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static uint _202C_200B_202B_202B_206A_202E_200F_200B_206E_200C_206B_200F_206D_200D_200D_206F_206A_202E_202B_206A_200F_202C_202A_200B_206F_200F_202C_206F_206F_202D_206C_200D_206C_206E_206D_200D_200F_202A_200D_202A_202E(ICharacter P_0) - { - return P_0.CurrentGp; - } - - static void _206B_206B_202A_200F_202A_200F_206E_202A_206C_206F_200E_202B_206D_206F_202D_202A_200C_200C_200F_206D_206A_202B_202C_202D_206D_200B_206A_202A_200B_202C_202E_206F_206B_206A_206D_202E_200B_200B_200B_206F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogTrace(P_1, P_2); - } - - static RowRef _202C_202B_200F_202A_206B_200E_206D_200D_206D_202C_202E_202C_200B_206D_200E_200D_200E_202A_202B_200D_206D_202B_200B_206C_200E_202E_200E_206B_206A_200B_200E_206B_200E_200E_200C_202B_200F_202C_202C_202A_202E(ICharacter P_0) - { - return P_0.ClassJob; - } - - static uint _202E_200C_202C_202B_200F_202C_206B_202A_200B_200F_202C_200B_206E_202A_202B_202E_206B_206C_202C_202A_202C_202E_206E_200B_202C_202C_200F_202A_206C_206B_206B_202C_206E_206C_202B_206C_202C_200E_202C_202D_202E(IGameObject P_0) - { - return P_0.BaseId; - } - - static bool _202A_206A_202A_200C_206B_202E_200E_206E_206E_200D_206C_202B_206B_206C_206D_202C_202B_200B_200C_200F_200B_202B_202D_206C_200B_200F_206F_202D_200B_200E_206E_202E_202B_200E_202C_202B_202C_206B_200D_202E_202E(IGameObject P_0) - { - return P_0.IsTargetable; - } } private sealed record NodeCondition(uint CurrentCollectability, uint MaxCollectability, uint CurrentIntegrity, uint MaxIntegrity, bool ScrutinyActive, uint CollectabilityFromScour, uint CollectabilityFromMeticulous) { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206A_206E_206D_206E_206E_202E_206C_206A_206D_202C_206D_206A_202D_202C_200F_202A_202A_202D_200F_206E_206C_206A_206E_200D_202C_200D_206B_206D_202C_206D_202B_200E_206E_200C_202E_200B_206F_202E_202D_200D_202E(typeof(NodeCondition).TypeHandle); - } - } - public uint CollectabilityToGoal(uint goal) { - int num = ((goal < CurrentCollectability) ? (-1343525975) : (-1343525974)); - while (true) + if (goal >= CurrentCollectability) { - int num2 = num; - int num3 = -1343525973; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return (CurrentCollectability == 0) ? 1u : 0u; - case 1: - return goal - CurrentCollectability; - case 0: - goto IL_005c; - } - continue; - IL_005c: - num = -1343525974; + return goal - CurrentCollectability; } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206E_202C_200C_206D_200D_202C_202E_206A_206D_206F_202A_202C_206D_202A_200C_206F_206C_202A_206D_202B_202A_202B_200B_206D_202D_202C_206B_206C_200B_206C_202A_200C_202E_202D_206E_206D_202E_206E_200B_206F_202E(); - _202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1102678348)); - _202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? 376930465 : 376930466); - while (true) - { - int num2 = num; - int num3 = 376930464; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _202C_206D_206A_202D_206B_202E_202C_206C_200D_200D_202B_206D_200C_202D_202C_202D_202C_200E_202D_202E_206A_200D_206A_202E_200D_200C_200C_206A_200C_206A_202E_200F_206A_202B_206D_202C_206D_202D_200C_206C_202E(stringBuilder, '}'); - return _200B_202B_202A_200E_200E_200D_200E_200E_202A_200B_202E_202A_206B_202A_200D_206C_206C_206F_202D_202A_200C_202D_200D_206F_206A_202D_200E_206F_206E_200B_202A_200C_206A_206F_206A_206B_202A_202D_202C_202E_202E((object)stringBuilder); - case 2: - _202C_206D_206A_202D_206B_202E_202C_206C_200D_200D_202B_206D_200C_202D_202C_202D_202C_200E_202D_202E_206A_200D_206A_202E_200D_200C_200C_206A_200C_206A_202E_200F_206A_202B_206D_202C_206D_202D_200C_206C_202E(stringBuilder, ' '); - num = 376930465; - break; - case 0: - num = 376930466; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202D_200D_206D_200E_202C_200F_202D_206A_202A_206A_202E_206D_206C_200C_202B_200B_200B_206F_206E_200F_202D_200D_206E_206D_202D_206A_206B_206A_202D_206D_202E_206B_202A_202D_202C_200F_206D_200C_206F_200D_202E(); - _202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, 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(-608021837)); - _202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, CurrentCollectability.ToString()); - _202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2066958103)); - _202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, MaxCollectability.ToString()); - _202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, 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(-706377363)); - _202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, CurrentIntegrity.ToString()); - _202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-634525791)); - _202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, MaxIntegrity.ToString()); - _202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(742968729)); - _202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, ScrutinyActive.ToString()); - _202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, 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(506728788)); - _202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, CollectabilityFromScour.ToString()); - _202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1577334643)); - _202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, CollectabilityFromMeticulous.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(NodeCondition? other) - { - int num = (((object)this == other) ? (-1448578084) : (-1448578095)); - while (true) - { - int num2 = num; - int num3 = -1448578086; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - num = ((!EqualityComparer.Default.Equals(MaxIntegrity, other.MaxIntegrity)) ? (-1448578093) : (-1448578083)); - break; - case 11: - num = (((object)other == null) ? (-1448578093) : (-1448578088)); - break; - case 9: - return false; - case 4: - return EqualityComparer.Default.Equals(CollectabilityFromMeticulous, other.CollectabilityFromMeticulous); - case 0: - num = ((!EqualityComparer.Default.Equals(CollectabilityFromScour, other.CollectabilityFromScour)) ? (-1448578093) : (-1448578082)); - break; - case 3: - num = ((!EqualityComparer.Default.Equals(CurrentIntegrity, other.CurrentIntegrity)) ? (-1448578093) : (-1448578085)); - break; - case 8: - num = ((!EqualityComparer.Default.Equals(MaxCollectability, other.MaxCollectability)) ? (-1448578093) : (-1448578087)); - break; - case 5: - num = -1448578095; - break; - case 6: - return true; - case 10: - num = ((!EqualityComparer.Default.Equals(CurrentCollectability, other.CurrentCollectability)) ? (-1448578093) : (-1448578094)); - break; - case 2: - num = ((!_202D_206C_206A_206B_200B_200C_206F_200D_206B_206D_200B_206C_202A_206A_202E_206B_202E_206D_200E_206D_202A_200D_202A_200B_206F_202C_200C_206E_206F_206B_206A_200E_206B_200E_206D_206F_200B_202C_200D_200D_202E(EqualityContract, other.EqualityContract)) ? (-1448578093) : (-1448578096)); - break; - case 7: - num = ((!EqualityComparer.Default.Equals(ScrutinyActive, other.ScrutinyActive)) ? (-1448578093) : (-1448578086)); - break; - } - } - } - - bool IEquatable.Equals(NodeCondition? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206A_206E_206D_206E_206E_202E_206C_206A_206D_202C_206D_206A_202D_202C_200F_202A_202A_202D_200F_206E_206C_206A_206E_200D_202C_200D_206B_206D_202C_206D_202B_200E_206E_200C_202E_200B_206F_202E_202D_200D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206E_202C_200C_206D_200D_202C_202E_206A_206D_206F_202A_202C_206D_202A_200C_206F_206C_202A_206D_202B_202A_202B_200B_206D_202D_202C_206B_206C_200B_206C_202A_200C_202E_202D_206E_206D_202E_206E_200B_206F_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202C_206D_206A_202D_206B_202E_202C_206C_200D_200D_202B_206D_200C_202D_202C_202D_202C_200E_202D_202E_206A_200D_206A_202E_200D_200C_200C_206A_200C_206A_202E_200F_206A_202B_206D_202C_206D_202D_200C_206C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200B_202B_202A_200E_200E_200D_200E_200E_202A_200B_202E_202A_206B_202A_200D_206C_206C_206F_202D_202A_200C_202D_200D_206F_206A_202D_200E_206F_206E_200B_202A_200C_206A_206F_206A_206B_202A_202D_202C_202E_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202D_200D_206D_200E_202C_200F_202D_206A_202A_206A_202E_206D_206C_200C_202B_200B_200B_206F_206E_200F_202D_200D_206E_206D_202D_206A_206B_206A_202D_206D_202E_206B_202A_202D_202C_200F_206D_200C_206F_200D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _202D_206C_206A_206B_200B_200C_206F_200D_206B_206D_200B_206C_202A_206A_202E_206B_202E_206D_200E_206D_202A_200D_202A_200B_206F_202C_200C_206E_206F_206B_206A_200E_206B_200E_206D_206F_200B_202C_200D_200D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return (CurrentCollectability == 0) ? 1u : 0u; } } } diff --git a/Questionable/Questionable.Controller.Steps.Gathering/MoveToLandingLocation.cs b/Questionable/Questionable.Controller.Steps.Gathering/MoveToLandingLocation.cs index 82483ac..125ee15 100644 --- a/Questionable/Questionable.Controller.Steps.Gathering/MoveToLandingLocation.cs +++ b/Questionable/Questionable.Controller.Steps.Gathering/MoveToLandingLocation.cs @@ -1,10 +1,6 @@ -using System; -using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Objects.Enums; using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Game.Text.SeStringHandling; @@ -22,224 +18,38 @@ internal static class MoveToLandingLocation { internal sealed record Task(ushort TerritoryId, bool FlyBetweenNodes, GatheringNode GatheringNode) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206D_206E_202C_202B_206A_200C_200C_200B_200B_206B_206F_206D_206C_202B_206D_200C_202B_206D_200C_206D_206E_202A_206B_200C_202A_206D_202E_202C_200F_206C_202E_202C_200E_202B_202D_202D_202B_206F_202B_200C_202E(typeof(Task).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(5, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1985466382)); - defaultInterpolatedStringHandler.AppendFormatted(FlyBetweenNodes); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206B_206E_202E_202A_206D_200D_202D_200C_202C_202C_206D_206C_202A_206E_206B_202A_202A_206A_202E_206F_202A_200E_202E_202A_202D_206E_202E_202D_206A_202B_200B_206C_202B_200B_206B_206D_200F_206E_206F_206A_202E(); - _206A_206F_206A_200E_206A_206E_202D_206A_202A_200B_206B_202B_200C_206A_206C_202B_200F_206B_202E_202D_202B_206C_202A_200B_202A_206D_202D_206F_200E_200F_206F_202E_202C_202D_206E_200C_202C_202A_202D_202D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1030915870)); - _206A_206F_206A_200E_206A_206E_202D_206A_202A_200B_206B_202B_200C_206A_206C_202B_200F_206B_202E_202D_202B_206C_202A_200B_202A_206D_202D_206F_200E_200F_206F_202E_202C_202D_206E_200C_202C_202A_202D_202D_202E(builder, TerritoryId.ToString()); - _206A_206F_206A_200E_206A_206E_202D_206A_202A_200B_206B_202B_200C_206A_206C_202B_200F_206B_202E_202D_202B_206C_202A_200B_202A_206D_202D_206F_200E_200F_206F_202E_202C_202D_206E_200C_202C_202A_202D_202D_202E(builder, 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(1326412835)); - _206A_206F_206A_200E_206A_206E_202D_206A_202A_200B_206B_202B_200C_206A_206C_202B_200F_206B_202E_202D_202B_206C_202A_200B_202A_206D_202D_206F_200E_200F_206F_202E_202C_202D_206E_200C_202C_202A_202D_202D_202E(builder, FlyBetweenNodes.ToString()); - _206A_206F_206A_200E_206A_206E_202D_206A_202A_200B_206B_202B_200C_206A_206C_202B_200F_206B_202E_202D_202B_206C_202A_200B_202A_206D_202D_206F_200E_200F_206F_202E_202C_202D_206E_200C_202C_202A_202D_202D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-41827092)); - _202C_200F_206A_206A_202C_200C_206F_206E_202E_202C_200C_206C_202B_202A_206B_206E_200D_206D_202A_200E_202E_200E_200C_202D_202C_202A_200F_206D_202A_202E_206C_202C_206F_202A_206F_200B_202B_202A_202A_206A_202E(builder, (object)GatheringNode); - return true; - } - - [CompilerGenerated] - public bool Equals(Task? other) - { - int num = (((object)this == other) ? (-1523296508) : (-1523296507)); - while (true) - { - int num2 = num; - int num3 = -1523296508; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 7: - num = -1523296507; - break; - case 6: - num = ((!EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId)) ? (-1523296505) : (-1523296512)); - break; - case 3: - return false; - case 1: - num = (((object)other == null) ? (-1523296505) : (-1523296506)); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(FlyBetweenNodes, other.FlyBetweenNodes)) ? (-1523296505) : (-1523296511)); - break; - case 0: - return true; - case 5: - return EqualityComparer.Default.Equals(GatheringNode, other.GatheringNode); - case 2: - num = ((!_200C_206D_202D_200F_206A_202B_206C_202A_206D_206E_202C_200F_202D_200D_206A_200D_202A_202E_206F_202B_206A_202A_206E_202A_206C_202C_202A_202B_206A_200E_206D_206D_202E_206E_202C_200C_200E_206D_202A_202C_202E(EqualityContract, other.EqualityContract)) ? (-1523296505) : (-1523296510)); - break; - } - } - } - - bool IEquatable.Equals(Task? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206D_206E_202C_202B_206A_200C_200C_200B_200B_206B_206F_206D_206C_202B_206D_200C_202B_206D_200C_206D_206E_202A_206B_200C_202A_206D_202E_202C_200F_206C_202E_202C_200E_202B_202D_202D_202B_206F_202B_200C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _206B_206E_202E_202A_206D_200D_202D_200C_202C_202C_206D_206C_202A_206E_206B_202A_202A_206A_202E_206F_202A_200E_202E_202A_202D_206E_202E_202D_206A_202B_200B_206C_202B_200B_206B_206D_200F_206E_206F_206A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206A_206F_206A_200E_206A_206E_202D_206A_202A_200B_206B_202B_200C_206A_206C_202B_200F_206B_202E_202D_202B_206C_202A_200B_202A_206D_202D_206F_200E_200F_206F_202E_202C_202D_206E_200C_202C_202A_202D_202D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202C_200F_206A_206A_202C_200C_206F_206E_202E_202C_200C_206C_202B_202A_206B_206E_200D_206D_202A_200E_202E_200E_200C_202D_202C_202A_200F_206D_202A_202E_206C_202C_206F_202A_206F_200B_202B_202A_202A_206A_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200C_206D_202D_200F_206A_202B_206C_202A_206D_206E_202C_200F_202D_200D_206A_200D_202A_202E_206F_202B_206A_202A_206E_202A_206C_202C_202A_202B_206A_200E_206D_206D_202E_206E_202C_200C_200E_206D_202A_202C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"Land/{FlyBetweenNodes}"; } } internal sealed class MoveToLandingLocationExecutor(MoveExecutor moveExecutor, GameFunctions gameFunctions, IObjectTable objectTable, ILogger logger) : TaskExecutor(), IToastAware, ITaskExecutor { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass6_0 - { - public IGameObject gameObject; - - internal bool _003CStart_003Eb__1(GatheringLocation x) - { - return Vector3.Distance(_206C_200F_206C_200E_202B_200C_202C_200E_206E_202D_202B_206C_202D_202B_202D_206E_200F_202E_206B_206E_200C_200D_202E_206E_200E_200C_202A_206C_206F_206B_206B_202D_200C_202D_200B_206F_200C_202A_206E_200F_202E(x), _206F_206F_200C_206F_206B_202A_200F_200D_206C_202D_206B_206B_202D_202C_200B_206F_206D_206D_206D_200C_200F_206F_206A_200D_202D_206D_206C_206D_202C_202D_202B_200D_200D_200E_200B_206E_202C_206E_202C_200D_202E(gameObject)) < 0.1f; - } - - static Vector3 _206C_200F_206C_200E_202B_200C_202C_200E_206E_202D_202B_206C_202D_202B_202D_206E_200F_202E_206B_206E_200C_200D_202E_206E_200E_200C_202A_206C_206F_206B_206B_202D_200C_202D_200B_206F_200C_202A_206E_200F_202E(GatheringLocation P_0) - { - return P_0.Position; - } - - static Vector3 _206F_206F_200C_206F_206B_202A_200F_200D_206C_202D_206B_206B_202D_202C_200B_206F_206D_206D_206D_200C_200F_206F_206A_200D_202D_206D_206C_206D_202C_202D_202B_200D_200D_200E_200B_206E_202C_206E_202C_200D_202E(IGameObject P_0) - { - return P_0.Position; - } - } - private ITask _moveTask; - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { - GatheringLocation gatheringLocation = _202B_202D_206F_206B_202D_200B_200E_200F_200D_200F_202D_206E_200E_202C_200C_206C_206C_200F_202B_202C_200B_200E_202C_206F_206D_206A_200F_200D_206D_202D_200E_200B_206F_202D_206C_206C_206C_200D_206B_206C_202E(base.Task.GatheringNode).First(); - int num = ((_202B_202D_206F_206B_202D_200B_200E_200F_200D_200F_202D_206E_200E_202C_200C_206C_206C_200F_202B_202C_200B_200E_202C_206F_206D_206A_200F_200D_206D_202D_200E_200B_206F_202D_206C_206C_206C_200D_206B_206C_202E(base.Task.GatheringNode).Count <= 1) ? (-148025039) : (-148025036)); - _003C_003Ec__DisplayClass6_0 _003C_003Ec__DisplayClass6_ = default(_003C_003Ec__DisplayClass6_0); - Vector3 vector = default(Vector3); - while (true) + GatheringLocation location = base.Task.GatheringNode.Locations.First(); + if (base.Task.GatheringNode.Locations.Count > 1) { - int num2 = num; - int num3 = -148025039; - int num4 = num2; - int num5; - bool flag; - ushort territoryId; - Vector3 destination; - float? stopDistance; - uint? dataId; - bool fly; - switch ((num4 | num3) - (num4 & num3)) + IGameObject gameObject = objectTable.SingleOrDefault((IGameObject x) => x.ObjectKind == ObjectKind.GatheringPoint && x.BaseId == base.Task.GatheringNode.DataId && x.IsTargetable); + if (gameObject == null) { - case 3: - num5 = 0; - goto IL_0086; - case 4: return false; - case 5: - _003C_003Ec__DisplayClass6_ = new _003C_003Ec__DisplayClass6_0(); - _003C_003Ec__DisplayClass6_.gameObject = objectTable.SingleOrDefault(delegate(IGameObject x) - { - int num8 = ((_202D_202A_206A_206A_206A_202C_200E_206E_200D_202C_206A_206A_200E_206E_200E_200D_200C_202E_200E_200D_202B_206E_202A_200E_200C_202D_202A_200F_206A_206A_206D_200F_200C_202B_202D_206E_206D_206F_206B_202A_202E(x) != ObjectKind.GatheringPoint) ? 412306684 : 412306686); - while (true) - { - int num9 = num8; - int num10 = 412306687; - int num11 = num9; - int num12 = num11 + num10; - int num13 = num11 & num10; - switch (num12 - (num13 + num13)) - { - case 0: - num8 = 412306686; - break; - case 2: - return _206E_202D_206F_200D_206C_206F_206E_206F_200E_200B_206F_200D_206D_202B_206A_200F_206E_202A_202E_202E_206B_202C_200B_202D_202A_202A_200F_202D_206F_200B_202D_200C_202B_202E_200D_206E_200D_206A_206F_206D_202E(x); - case 3: - return false; - case 1: - num8 = ((_202D_202A_206D_202C_206F_206C_202A_206D_202B_202A_206F_206D_206C_202B_202E_200B_202A_206D_200F_200B_200F_202A_202E_200E_202A_200B_202A_200E_206F_202C_200D_206B_206D_202D_206C_206A_206A_206B_202D_202B_202E(x) != _202A_202B_206B_202E_200F_206B_202C_206D_206F_202C_202A_200F_202E_202E_206F_200D_206D_206E_206D_202D_200F_200E_202B_206B_206E_206E_206B_202C_200B_200D_206B_200D_206A_200E_206C_202D_200D_206D_200F_200C_202E(base.Task.GatheringNode)) ? 412306684 : 412306685); - break; - } - } - }); - num = ((_003C_003Ec__DisplayClass6_.gameObject != null) ? (-148025037) : (-148025035)); - break; - case 0: - { - int num6; - float num7; - (vector, num6, num7) = _206D_202A_202C_202B_200E_200B_206F_202C_202B_200F_200D_202C_200D_202E_206C_202C_202B_206C_206A_206A_202D_206B_200D_206C_200B_206C_206E_200E_200F_200C_200C_202A_202E_206B_200F_206E_200F_206B_206E_202D_202E(gatheringLocation); - _202C_200B_200F_206D_200B_202B_202B_206C_200F_206D_202C_200B_202C_206A_206D_202E_200F_200E_202E_206C_206B_202C_206F_206D_206D_202B_200D_202D_200C_206F_202C_200F_202A_200F_200D_200F_202E_200E_206A_206B_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1690558388), new object[3] - { - vector.ToString(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(-1318690943), _200D_202B_202B_206A_206B_206D_206A_202B_200B_206E_206E_200E_202B_200C_206C_206E_200C_206C_202E_202A_200C_200B_206C_206A_206C_206F_206B_200E_202A_202B_202A_206B_200D_202A_202A_206D_202A_202B_206C_202A_202E()), - num6, - num7 - }); - num = ((!base.Task.FlyBetweenNodes) ? (-148025038) : (-148025040)); - break; - } - case 6: - num = -148025036; - break; - case 1: - num5 = (gameFunctions.IsFlyingUnlocked(base.Task.TerritoryId) ? 1 : 0); - goto IL_0086; - case 2: - { - gatheringLocation = _202B_202D_206F_206B_202D_200B_200E_200F_200D_200F_202D_206E_200E_202C_200C_206C_206C_200F_202B_202C_200B_200E_202C_206F_206D_206A_200F_200D_206D_202D_200E_200B_206F_202D_206C_206C_206C_200D_206B_206C_202E(base.Task.GatheringNode).Single(_003C_003Ec__DisplayClass6_._003CStart_003Eb__1); - num = -148025039; - break; - } - IL_0086: - flag = (byte)num5 != 0; - territoryId = base.Task.TerritoryId; - destination = vector; - stopDistance = 0.25f; - dataId = _202A_202B_206B_202E_200F_206B_202C_206D_206F_202C_202A_200F_202E_202E_206F_200D_206D_206E_206D_202D_200F_200E_202B_206B_206E_206E_206B_202C_200B_200D_206B_200D_206A_200E_206C_202D_200D_206D_200F_200C_202E(base.Task.GatheringNode); - fly = flag; - _moveTask = new MoveTask(territoryId, destination, null, MountRequired: false, DismountRequired: false, stopDistance, dataId, DisableNavmesh: false, null, fly, Land: false, IgnoreDistanceToObject: true, RestartNavigation: true, EInteractionType.Gather); - return moveExecutor.Start(_moveTask); } + location = base.Task.GatheringNode.Locations.Single((GatheringLocation x) => Vector3.Distance(x.Position, gameObject.Position) < 0.1f); } + var (vector, num, num2) = GatheringMath.CalculateLandingLocation(location); + logger.LogDebug("Preliminary landing location: {Location}, with degrees = {Degrees}, range = {Range}", vector.ToString("G", CultureInfo.InvariantCulture), num, num2); + bool flag = base.Task.FlyBetweenNodes && gameFunctions.IsFlyingUnlocked(base.Task.TerritoryId); + ushort territoryId = base.Task.TerritoryId; + Vector3 destination = vector; + float? stopDistance = 0.25f; + uint? dataId = base.Task.GatheringNode.DataId; + bool fly = flag; + _moveTask = new MoveTask(territoryId, destination, null, MountRequired: false, DismountRequired: false, stopDistance, dataId, DisableNavmesh: false, null, fly, Land: false, IgnoreDistanceToObject: true, RestartNavigation: true, EInteractionType.Gather); + return moveExecutor.Start(_moveTask); } public override ETaskResult Update() @@ -252,55 +62,9 @@ internal static class MoveToLandingLocation return moveExecutor.OnErrorToast(message); } - bool IToastAware.OnErrorToast(SeString message) - { - //ILSpy generated this explicit interface implementation from .override directive in OnErrorToast - return this.OnErrorToast(message); - } - public override bool ShouldInterruptOnDamage() { return moveExecutor.ShouldInterruptOnDamage(); } - - static List _202B_202D_206F_206B_202D_200B_200E_200F_200D_200F_202D_206E_200E_202C_200C_206C_206C_200F_202B_202C_200B_200E_202C_206F_206D_206A_200F_200D_206D_202D_200E_200B_206F_202D_206C_206C_206C_200D_206B_206C_202E(GatheringNode P_0) - { - return P_0.Locations; - } - - static (Vector3, int, float) _206D_202A_202C_202B_200E_200B_206F_202C_202B_200F_200D_202C_200D_202E_206C_202C_202B_206C_206A_206A_202D_206B_200D_206C_200B_206C_206E_200E_200F_200C_200C_202A_202E_206B_200F_206E_200F_206B_206E_202D_202E(GatheringLocation P_0) - { - return GatheringMath.CalculateLandingLocation(P_0); - } - - static CultureInfo _200D_202B_202B_206A_206B_206D_206A_202B_200B_206E_206E_200E_202B_200C_206C_206E_200C_206C_202E_202A_200C_200B_206C_206A_206C_206F_206B_200E_202A_202B_202A_206B_200D_202A_202A_206D_202A_202B_206C_202A_202E() - { - return CultureInfo.InvariantCulture; - } - - static void _202C_200B_200F_206D_200B_202B_202B_206C_200F_206D_202C_200B_202C_206A_206D_202E_200F_200E_202E_206C_206B_202C_206F_206D_206D_202B_200D_202D_200C_206F_202C_200F_202A_200F_200D_200F_202E_200E_206A_206B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static uint _202A_202B_206B_202E_200F_206B_202C_206D_206F_202C_202A_200F_202E_202E_206F_200D_206D_206E_206D_202D_200F_200E_202B_206B_206E_206E_206B_202C_200B_200D_206B_200D_206A_200E_206C_202D_200D_206D_200F_200C_202E(GatheringNode P_0) - { - return P_0.DataId; - } - - static ObjectKind _202D_202A_206A_206A_206A_202C_200E_206E_200D_202C_206A_206A_200E_206E_200E_200D_200C_202E_200E_200D_202B_206E_202A_200E_200C_202D_202A_200F_206A_206A_206D_200F_200C_202B_202D_206E_206D_206F_206B_202A_202E(IGameObject P_0) - { - return P_0.ObjectKind; - } - - static uint _202D_202A_206D_202C_206F_206C_202A_206D_202B_202A_206F_206D_206C_202B_202E_200B_202A_206D_200F_200B_200F_202A_202E_200E_202A_200B_202A_200E_206F_202C_200D_206B_206D_202D_206C_206A_206A_206B_202D_202B_202E(IGameObject P_0) - { - return P_0.BaseId; - } - - static bool _206E_202D_206F_200D_206C_206F_206E_206F_200E_200B_206F_200D_206D_202B_206A_200F_206E_202A_202E_202E_206B_202C_200B_202D_202A_202A_200F_202D_206F_200B_202D_200C_202B_202E_200D_206E_200D_206A_206F_206D_202E(IGameObject P_0) - { - return P_0.IsTargetable; - } } } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/Action.cs b/Questionable/Questionable.Controller.Steps.Interactions/Action.cs index 46bae73..87e7f7a 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/Action.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/Action.cs @@ -1,8 +1,6 @@ using System; using System.Collections.Generic; using System.Collections.ObjectModel; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Objects.Types; using FFXIVClientStructs.FFXIV.Client.Game; using Microsoft.Extensions.Logging; @@ -18,243 +16,50 @@ internal static class Action { internal sealed class Factory : ITaskFactory { - [MethodImpl(MethodImplOptions.NoInlining)] public IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((_202A_206F_206D_202A_200C_200D_206A_200C_200F_202A_206E_200D_200E_200B_202C_200D_206E_202C_202E_200D_206A_200D_206E_206B_206A_206D_200E_206F_206E_200F_202E_200F_202A_206E_206A_202E_202D_206E_202A_206E_202E(step) == EInteractionType.Action) ? (-1373347802) : (-1373347807)); - ITask task = default(ITask); - while (true) + if (step.InteractionType != EInteractionType.Action) { - int num2 = num; - int num3 = -1373347808; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - return new global::_003C_003Ez__ReadOnlyArray(new ITask[2] - { - new Mount.UnmountTask(), - task - }); - case 5: - _206D_202D_200B_200B_206D_202B_202D_200E_206C_206C_200B_200C_200F_206B_202B_202B_202B_206A_202E_202E_202A_200B_206F_206B_202C_202C_200C_206F_200E_202A_202C_206F_200B_200F_200B_206C_200E_202C_202E((object)_202E_202E_206A_200F_206B_202B_200B_202D_202D_200D_200D_200F_200C_200B_200D_206C_202E_202B_202E_202D_200C_200D_202A_206F_202A_202E_200C_206C_206C_200E_200E_206A_206A_202B_206B_202D_200C_206D_200E_206F_202E(step), 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(-47284709)); - task = OnObject(_202E_206B_206B_200F_200F_202E_202C_206A_200C_206C_200F_202C_200C_206D_202D_200B_206D_202A_200F_200D_202D_206E_202A_206B_206B_200C_200B_200B_200E_202C_202A_202B_200B_206B_206C_206D_206E_202E_200C_202A_202E(step), quest, _202E_202E_206A_200F_206B_202B_200B_202D_202D_200D_200D_200F_200C_200B_200D_206C_202E_202B_202E_202D_200C_200D_202A_206F_202A_202E_200C_206C_206C_200E_200E_206A_206A_202B_206B_202D_200C_206D_200E_206F_202E(step).Value, _206A_206D_206B_202A_200E_200F_200D_202B_202A_202E_200F_206C_206A_202C_206F_206B_202C_200E_206C_206B_202D_202A_202A_202A_206B_200D_200E_206A_202D_202B_202A_206B_202B_206C_200E_200D_200C_200D_206E_200E_202E(step)); - num = ((!_206C_206C_200B_202C_202D_206F_200E_206E_200C_206B_202D_200F_206B_206C_202B_206D_200E_200B_202C_206F_202B_200F_200F_202B_200C_202A_206A_206D_206E_200B_206D_202D_206C_206E_200B_202A_200B_206F_202C_202E_202E(_202E_202E_206A_200F_206B_202B_200B_202D_202D_200D_200D_200F_200C_200B_200D_206C_202E_202B_202E_202D_200C_200D_202A_206F_202A_202E_200C_206C_206C_200E_200E_206A_206A_202B_206B_202D_200C_206D_200E_206F_202E(step).Value)) ? (-1373347804) : (-1373347808)); - break; - case 1: - return Array.Empty(); - case 6: - num = ((_206F_206E_206C_206B_200D_202C_202D_206A_200F_202A_200B_206C_200E_206C_200B_202D_200B_206D_206B_206F_202B_200C_202A_202C_200B_202E_202B_200B_202B_200B_200B_206F_202C_202D_206C_206A_202B_202D_206B_202E_202E(step).Count <= 0) ? (-1373347803) : (-1373347806)); - break; - case 0: - return new global::_003C_003Ez__ReadOnlySingleElementList(task); - case 2: - return Array.Empty(); - case 3: - num = -1373347807; - break; - } + return Array.Empty(); } + if (step.DataIds.Count > 0) + { + return Array.Empty(); + } + ArgumentNullException.ThrowIfNull(step.Action, "step.Action"); + ITask task = OnObject(step.DataId, quest, step.Action.Value, step.CompletionQuestVariablesFlags); + if (step.Action.Value.RequiresMount()) + { + return new global::_003C_003Ez__ReadOnlySingleElementList(task); + } + return new global::_003C_003Ez__ReadOnlyArray(new ITask[2] + { + new Mount.UnmountTask(), + task + }); } - IEnumerable ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks - return this.CreateAllTasks(quest, sequence, step); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public static ITask OnObject(uint? dataId, Quest quest, EAction action, List? completionQuestVariablesFlags) { - int num = (((uint)(action - 2265) > 2u) ? (-1095430213) : (-1095430209)); - bool flag = default(bool); - while (true) + if ((uint)(action - 2265) <= 2u) { - int num2 = num; - int num3 = -1095430210; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - _206D_202D_200B_200B_206D_202B_202D_200E_206C_206C_200B_200C_200F_206B_202B_202B_202B_206A_202E_202E_202A_200B_206F_206B_202C_202C_200C_206F_200E_202A_202C_206F_200B_200F_200B_206C_200E_202C_202E((object)dataId, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-435733247)); - return new UseMudraOnObject(dataId.Value, action); - case 2: - return new UseOnObject(dataId, quest, action, completionQuestVariablesFlags); - case 5: - flag = false; - num = -1095430210; - break; - case 0: - num = ((!flag) ? (-1095430212) : (-1095430214)); - break; - case 3: - num = -1095430209; - break; - case 1: - flag = true; - num = -1095430210; - break; - } + ArgumentNullException.ThrowIfNull(dataId, "dataId"); + return new UseMudraOnObject(dataId.Value, action); } - } - - static EInteractionType _202A_206F_206D_202A_200C_200D_206A_200C_200F_202A_206E_200D_200E_200B_202C_200D_206E_202C_202E_200D_206A_200D_206E_206B_206A_206D_200E_206F_206E_200F_202E_200F_202A_206E_206A_202E_202D_206E_202A_206E_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static List _206F_206E_206C_206B_200D_202C_202D_206A_200F_202A_200B_206C_200E_206C_200B_202D_200B_206D_206B_206F_202B_200C_202A_202C_200B_202E_202B_200B_202B_200B_200B_206F_202C_202D_206C_206A_202B_202D_206B_202E_202E(QuestStep P_0) - { - return P_0.DataIds; - } - - static EAction? _202E_202E_206A_200F_206B_202B_200B_202D_202D_200D_200D_200F_200C_200B_200D_206C_202E_202B_202E_202D_200C_200D_202A_206F_202A_202E_200C_206C_206C_200E_200E_206A_206A_202B_206B_202D_200C_206D_200E_206F_202E(QuestStep P_0) - { - return P_0.Action; - } - - static void _206D_202D_200B_200B_206D_202B_202D_200E_206C_206C_200B_200C_200F_206B_202B_202B_202B_206A_202E_202E_202A_200B_206F_206B_202C_202C_200C_206F_200E_202A_202C_206F_200B_200F_200B_206C_200E_202C_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static uint? _202E_206B_206B_200F_200F_202E_202C_206A_200C_206C_200F_202C_200C_206D_202D_200B_206D_202A_200F_200D_202D_206E_202A_206B_206B_200C_200B_200B_200E_202C_202A_202B_200B_206B_206C_206D_206E_202E_200C_202A_202E(QuestStep P_0) - { - return P_0.DataId; - } - - static List _206A_206D_206B_202A_200E_200F_200D_202B_202A_202E_200F_206C_206A_202C_206F_206B_202C_200E_206C_206B_202D_202A_202A_202A_206B_200D_200E_206A_202D_202B_202A_206B_202B_206C_200E_200D_200C_200D_206E_200E_202E(QuestStep P_0) - { - return P_0.CompletionQuestVariablesFlags; - } - - static bool _206C_206C_200B_202C_202D_206F_200E_206E_200C_206B_202D_200F_206B_206C_202B_206D_200E_200B_202C_206F_202B_200F_200F_202B_200C_202A_206A_206D_206E_200B_206D_202D_206C_206E_200B_202A_200B_206F_202C_202E_202E(EAction P_0) - { - return P_0.RequiresMount(); + return new UseOnObject(dataId, quest, action, completionQuestVariablesFlags); } } internal sealed record UseOnObject(uint? DataId, Quest? Quest, EAction Action, List? CompletionQuestVariablesFlags) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200D_202A_200F_200E_206F_206B_202D_206D_200F_200B_206B_202D_202A_202E_202D_202D_200C_200E_200D_206E_200B_200E_206A_202D_202B_200C_202C_202B_202A_206E_206B_200C_206A_202E_200B_202E_206A_200B_206F_206B_202E(typeof(UseOnObject).TypeHandle); - } - } - public bool ShouldRedoOnInterrupt() { return true; } - bool ITask.ShouldRedoOnInterrupt() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt - return this.ShouldRedoOnInterrupt(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(8, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(1657599072)); - defaultInterpolatedStringHandler.AppendFormatted(Action); - defaultInterpolatedStringHandler.AppendLiteral(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(424561659)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200F_202B_200C_200C_200F_200E_202D_200B_202C_206F_200B_202E_202E_206E_200C_206F_202E_206C_200F_206A_206D_202E_200D_206F_206A_202E_200B_206D_202E_202E_206A_206C_200C_202A_202B_200F_200B_206F_202A_202E_202E(); - _202E_206C_206D_206D_202C_202D_200C_202D_206C_206C_206C_206C_200C_200D_206F_202D_202C_200C_202B_206A_202D_200C_200D_202C_206A_206B_202C_202A_202E_200D_206C_206C_200D_206F_200D_200E_200F_200D_202D_200C_202E(builder, 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(931106117)); - _202E_206C_206D_206D_202C_202D_200C_202D_206C_206C_206C_206C_200C_200D_206F_202D_202C_200C_202B_206A_202D_200C_200D_202C_206A_206B_202C_202A_202E_200D_206C_206C_200D_206F_200D_200E_200F_200D_202D_200C_202E(builder, DataId.ToString()); - _202E_206C_206D_206D_202C_202D_200C_202D_206C_206C_206C_206C_200C_200D_206F_202D_202C_200C_202B_206A_202D_200C_200D_202C_206A_206B_202C_202A_202E_200D_206C_206C_200D_206F_200D_200E_200F_200D_202D_200C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-862307262)); - _200E_202D_202A_202C_202A_202A_200E_206B_206C_200E_206A_200C_202C_202E_206D_206E_200F_206A_202D_200C_206E_200C_200D_200D_206F_200B_202E_206D_202B_200E_200D_200C_206A_206D_202A_200D_202C_200E_200F_200F_202E(builder, (object?)Quest); - _202E_206C_206D_206D_202C_202D_200C_202D_206C_206C_206C_206C_200C_200D_206F_202D_202C_200C_202B_206A_202D_200C_200D_202C_206A_206B_202C_202A_202E_200D_206C_206C_200D_206F_200D_200E_200F_200D_202D_200C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(353413506)); - _202E_206C_206D_206D_202C_202D_200C_202D_206C_206C_206C_206C_200C_200D_206F_202D_202C_200C_202B_206A_202D_200C_200D_202C_206A_206B_202C_202A_202E_200D_206C_206C_200D_206F_200D_200E_200F_200D_202D_200C_202E(builder, Action.ToString()); - _202E_206C_206D_206D_202C_202D_200C_202D_206C_206C_206C_206C_200C_200D_206F_202D_202C_200C_202B_206A_202D_200C_200D_202C_206A_206B_202C_202A_202E_200D_206C_206C_200D_206F_200D_200E_200F_200D_202D_200C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1930370304)); - _200E_202D_202A_202C_202A_202A_200E_206B_206C_200E_206A_200C_202C_202E_206D_206E_200F_206A_202D_200C_206E_200C_200D_200D_206F_200B_202E_206D_202B_200E_200D_200C_206A_206D_202A_200D_202C_200E_200F_200F_202E(builder, (object?)CompletionQuestVariablesFlags); - return true; - } - - [CompilerGenerated] - public bool Equals(UseOnObject? other) - { - int num = (((object)this == other) ? (-1034888155) : (-1034888156)); - while (true) - { - int num2 = num; - int num3 = -1034888158; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = ((!EqualityComparer.Default.Equals(Quest, other.Quest)) ? (-1034888154) : (-1034888157)); - break; - case 4: - return false; - case 7: - return true; - case 1: - num = ((!EqualityComparer.Default.Equals(Action, other.Action)) ? (-1034888154) : (-1034888153)); - break; - case 0: - num = ((!EqualityComparer.Default.Equals(DataId, other.DataId)) ? (-1034888154) : (-1034888160)); - break; - case 3: - num = -1034888156; - break; - case 5: - return EqualityComparer>.Default.Equals(CompletionQuestVariablesFlags, other.CompletionQuestVariablesFlags); - case 6: - num = (((object)other == null) ? (-1034888154) : (-1034888150)); - break; - case 8: - num = ((!_200E_200D_200C_206C_206E_206B_200E_206E_202B_200F_206A_200F_202A_200F_206B_202D_206E_206C_200C_202E_200B_206F_206D_202E_202D_202C_200E_206D_202A_206F_200E_206C_206A_206D_200D_202E_202A_206C_202E_206A_202E(EqualityContract, other.EqualityContract)) ? (-1034888154) : (-1034888158)); - break; - } - } - } - - bool IEquatable.Equals(UseOnObject? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type? _200D_202A_200F_200E_206F_206B_202D_206D_200F_200B_206B_202D_202A_202E_202D_202D_200C_200E_200D_206E_200B_200E_206A_202D_202B_200C_202C_202B_202A_206E_206B_200C_206A_202E_200B_202E_206A_200B_206F_206B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _200F_202B_200C_200C_200F_200E_202D_200B_202C_206F_200B_202E_202E_206E_200C_206F_202E_206C_200F_206A_206D_202E_200D_206F_206A_202E_200B_206D_202E_202E_206A_206C_200C_202A_202B_200F_200B_206F_202A_202E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder? _202E_206C_206D_206D_202C_202D_200C_202D_206C_206C_206C_206C_200C_200D_206F_202D_202C_200C_202B_206A_202D_200C_200D_202C_206A_206B_202C_202A_202E_200D_206C_206C_200D_206F_200D_200E_200F_200D_202D_200C_202E(StringBuilder? P_0, string? P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder? _200E_202D_202A_202C_202A_202A_200E_206B_206C_200E_206A_200C_202C_202E_206D_206E_200F_206A_202D_200C_206E_200C_200D_200D_206F_200B_202E_206D_202B_200E_200D_200C_206A_206D_202A_200D_202C_200E_200F_200F_202E(StringBuilder? P_0, object? P_1) - { - return P_0.Append(P_1); - } - - static bool _200E_200D_200C_206C_206E_206B_200E_206E_202B_200F_206A_200F_202A_200F_206B_202D_206E_206C_200C_202E_200B_206F_206D_202E_202D_202C_200E_206D_202A_206F_200E_206C_206A_206D_200D_202E_202A_206C_202E_206A_202E(Type? P_0, Type? P_1) - { - return P_0 == P_1; + return $"Action({Action})"; } } @@ -270,278 +75,98 @@ internal static class Action public override bool HasTimedOut(float timeoutSeconds) { - int num = (_waitingForQuestFlags ? (-369880556) : (-369880555)); - while (true) + if (!_waitingForQuestFlags) { - int num2 = num; - int num3 = -369880553; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = ((base.ProgressContext == null) ? (-369880553) : (-369880554)); - break; - case 2: - return false; - case 4: - num = -369880555; - break; - case 0: - return _200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E() - _questFlagWaitStarted > (long)(timeoutSeconds * 1000f); - case 1: - return base.HasTimedOut(timeoutSeconds); - } + return false; } + if (base.ProgressContext != null) + { + return base.HasTimedOut(timeoutSeconds); + } + return Environment.TickCount64 - _questFlagWaitStarted > (long)(timeoutSeconds * 1000f); } - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { - int num = ((!base.Task.DataId.HasValue) ? (-1131442756) : (-1131442765)); - IGameObject gameObject = default(IGameObject); - while (true) + if (base.Task.DataId.HasValue) { - int num2 = num; - int num3 = -1131442757; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + IGameObject gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId.Value); + if (gameObject == null) { - case 3: - num = -1131442765; - break; - case 0: - _continueAt = _200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E() + 2000; + logger.LogDebug("Object with dataId {DataId} not found yet, waiting", base.Task.DataId); return true; - case 5: - num = ((!gameFunctions.HasStatus(EStatus.Eukrasia)) ? (-1131442759) : (-1131442758)); - break; - case 7: - _usedAction = gameFunctions.UseAction(base.Task.Action); - _continueAt = _200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E() + 500; - return true; - case 10: - num = ((base.Task.Action != EAction.Diagnosis) ? (-1131442759) : (-1131442754)); - break; - case 6: - _202D_202C_202C_206B_202A_202E_200F_200F_206A_206B_206E_200E_200F_202D_202E_200F_202A_200C_202C_202D_206B_202C_206E_206D_202A_206E_206A_206D_206C_206A_200F_200C_202D_206F_202C_200B_206C_200B_202A_200D_202E((ILogger)logger, 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(600105394), new object[1] { base.Task.DataId }); - return true; - case 2: - _usedAction = gameFunctions.UseAction(gameObject, base.Task.Action); - _continueAt = _200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E() + 500; - return true; - case 1: - num = ((!GameFunctions.RemoveStatus(EStatus.Eukrasia)) ? (-1131442759) : (-1131442757)); - break; - case 8: - gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId.Value); - num = ((gameObject != null) ? (-1131442766) : (-1131442755)); - break; - case 4: - _202D_202C_202C_206B_202A_202E_200F_200F_206A_206B_206E_200E_200F_202D_202E_200F_202A_200C_202C_202D_206B_202C_206E_206D_202A_206E_206A_206D_206C_206A_200F_200C_202D_206F_202C_200B_206C_200B_202A_200D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2073702986), new object[2] - { - base.Task.DataId, - base.Task.Action - }); - num = -1131442756; - break; - case 9: - num = ((!_200C_202B_200E_202A_206A_202C_200D_206C_202E_202D_206B_200E_200C_202C_200F_202E_206B_200B_200E_206F_200F_202A_206E_206F_200F_200B_202D_206F_206C_206E_206E_206F_206E_206C_206F_206E_206A_202D_200C_200C_202E(gameObject)) ? (-1131442753) : (-1131442767)); - break; } + if (gameObject.IsTargetable) + { + if (base.Task.Action == EAction.Diagnosis && gameFunctions.HasStatus(EStatus.Eukrasia) && GameFunctions.RemoveStatus(EStatus.Eukrasia)) + { + _continueAt = Environment.TickCount64 + 2000; + return true; + } + _usedAction = gameFunctions.UseAction(gameObject, base.Task.Action); + _continueAt = Environment.TickCount64 + 500; + return true; + } + logger.LogDebug("Object {DataId} is untargetable, using action {Action} without target", base.Task.DataId, base.Task.Action); } + _usedAction = gameFunctions.UseAction(base.Task.Action); + _continueAt = Environment.TickCount64 + 500; + return true; } public override ETaskResult Update() { - int num = ((_200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E() > _continueAt) ? 1542849482 : 1542849479); - QuestProgressInfo questProgressInfo = default(QuestProgressInfo); - IGameObject gameObject = default(IGameObject); - while (true) + if (Environment.TickCount64 <= _continueAt) { - int num2 = num; - int num3 = 1542849472; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return ETaskResult.StillRunning; + } + if (!_usedAction) + { + if (base.Task.DataId.HasValue) + { + IGameObject gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId.Value); + if (gameObject == null) + { + return ETaskResult.StillRunning; + } + _usedAction = (gameObject.IsTargetable ? gameFunctions.UseAction(gameObject, base.Task.Action) : gameFunctions.UseAction(base.Task.Action)); + } + else + { + _usedAction = gameFunctions.UseAction(base.Task.Action); + } + _continueAt = Environment.TickCount64 + 500; + return ETaskResult.StillRunning; + } + if (base.Task.Quest != null && base.Task.CompletionQuestVariablesFlags != null && QuestWorkUtils.HasCompletionFlags(base.Task.CompletionQuestVariablesFlags)) + { + if (!_waitingForQuestFlags) + { + _waitingForQuestFlags = true; + _questFlagWaitStarted = Environment.TickCount64; + } + QuestProgressInfo questProgressInfo = questFunctions.GetQuestProgressInfo(base.Task.Quest.Id); + if (questProgressInfo != null && QuestWorkUtils.MatchesQuestWork(base.Task.CompletionQuestVariablesFlags, questProgressInfo)) { - case 18: ResetProgressTimer(); return ETaskResult.TaskComplete; - case 0: - questProgressInfo = questFunctions.GetQuestProgressInfo(base.Task.Quest.Id); - num = ((questProgressInfo == null) ? 1542849476 : 1542849478); - break; - case 16: - _continueAt = _200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E() + 500; - return ETaskResult.StillRunning; - case 10: - num = (_usedAction ? 1542849484 : 1542849474); - break; - case 11: - num = (_waitingForQuestFlags ? 1542849472 : 1542849489); - break; - case 14: - num = 1542849479; - break; - case 12: - num = ((base.Task.Quest == null) ? 1542849473 : 1542849481); - break; - case 7: - return ETaskResult.StillRunning; - case 6: - num = ((!QuestWorkUtils.MatchesQuestWork(base.Task.CompletionQuestVariablesFlags, questProgressInfo)) ? 1542849476 : 1542849490); - break; - case 17: - _waitingForQuestFlags = true; - _questFlagWaitStarted = _200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E(); - num = 1542849472; - break; - case 5: - _usedAction = (_200C_202B_200E_202A_206A_202C_200D_206C_202E_202D_206B_200E_200C_202C_200F_202E_206B_200B_200E_206F_200F_202A_206E_206F_200F_200B_202D_206F_206C_206E_206E_206F_206E_206C_206F_206E_206A_202D_200C_200C_202E(gameObject) ? gameFunctions.UseAction(gameObject, base.Task.Action) : gameFunctions.UseAction(base.Task.Action)); - num = 1542849488; - break; - case 1: - return ETaskResult.TaskComplete; - case 4: - return ETaskResult.StillRunning; - case 2: - num = ((!base.Task.DataId.HasValue) ? 1542849487 : 1542849480); - break; - case 15: - _usedAction = gameFunctions.UseAction(base.Task.Action); - num = 1542849488; - break; - case 9: - num = ((base.Task.CompletionQuestVariablesFlags == null) ? 1542849473 : 1542849485); - break; - case 3: - return ETaskResult.StillRunning; - case 13: - num = ((!QuestWorkUtils.HasCompletionFlags(base.Task.CompletionQuestVariablesFlags)) ? 1542849473 : 1542849483); - break; - case 8: - gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId.Value); - num = ((gameObject != null) ? 1542849477 : 1542849475); - break; } + return ETaskResult.StillRunning; } + return ETaskResult.TaskComplete; } public override bool ShouldInterruptOnDamage() { return true; } - - static long _200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E() - { - return Environment.TickCount64; - } - - static void _202D_202C_202C_206B_202A_202E_200F_200F_206A_206B_206E_200E_200F_202D_202E_200F_202A_200C_202C_202D_206B_202C_206E_206D_202A_206E_206A_206D_206C_206A_200F_200C_202D_206F_202C_200B_206C_200B_202A_200D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _200C_202B_200E_202A_206A_202C_200D_206C_202E_202D_206B_200E_200C_202C_200F_202E_206B_200B_200E_206F_200F_202A_206E_206F_200F_200B_202D_206F_206C_206E_206E_206F_206E_206C_206F_206E_206A_202D_200C_200C_202E(IGameObject P_0) - { - return P_0.IsTargetable; - } } internal sealed record UseMudraOnObject(uint DataId, EAction Action) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206A_206F_202E_206E_206E_202E_206E_200B_206E_202D_200C_206C_200D_206C_206B_206B_202D_206E_200F_206B_206A_200F_202C_206B_206A_202B_206D_206B_206B_200B_206B_206D_206A_202C_200B_206C_200D_206F_200F_202E_202E(typeof(UseMudraOnObject).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(7, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-604906008)); - defaultInterpolatedStringHandler.AppendFormatted(Action); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206B_202C_206F_202D_202B_200B_206F_202E_202C_206B_200F_206B_200C_206C_206B_200E_200C_202E_202D_202E_202C_206C_202E_206B_200D_206F_206B_202B_200B_202A_202E_202D_206B_206F_200E_206D_206C_202B_206D_200F_202E(); - _200C_200C_206F_200D_206E_200B_200E_202A_200B_202D_200F_206E_206C_206E_206E_202E_206F_202D_200E_202A_206D_200D_206B_206E_206A_206F_200B_200F_200B_200F_206C_206A_202B_202A_206B_202B_200B_200F_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-813337770)); - _200C_200C_206F_200D_206E_200B_200E_202A_200B_202D_200F_206E_206C_206E_206E_202E_206F_202D_200E_202A_206D_200D_206B_206E_206A_206F_200B_200F_200B_200F_206C_206A_202B_202A_206B_202B_200B_200F_200D_202E(builder, DataId.ToString()); - _200C_200C_206F_200D_206E_200B_200E_202A_200B_202D_200F_206E_206C_206E_206E_202E_206F_202D_200E_202A_206D_200D_206B_206E_206A_206F_200B_200F_200B_200F_206C_206A_202B_202A_206B_202B_200B_200F_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(353413506)); - _200C_200C_206F_200D_206E_200B_200E_202A_200B_202D_200F_206E_206C_206E_206E_202E_206F_202D_200E_202A_206D_200D_206B_206E_206A_206F_200B_200F_200B_200F_206C_206A_202B_202A_206B_202B_200B_200F_200D_202E(builder, Action.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(UseMudraOnObject? other) - { - int num = (((object)this == other) ? 1487709451 : 1487709452); - while (true) - { - int num2 = num; - int num3 = 1487709453; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return EqualityComparer.Default.Equals(Action, other.Action); - case 1: - num = (((object)other == null) ? 1487709455 : 1487709449); - break; - case 4: - num = ((!_200D_206A_202B_206F_202C_206A_206E_206E_206E_200E_202D_202A_202E_200C_202A_200F_202D_200C_202B_200E_206F_206E_206F_200B_202A_202D_200E_200C_202C_206D_200E_206C_202A_202D_206E_206F_206C_202E_200D_202D_202E(EqualityContract, other.EqualityContract)) ? 1487709455 : 1487709448); - break; - case 0: - num = 1487709452; - break; - case 5: - num = ((!EqualityComparer.Default.Equals(DataId, other.DataId)) ? 1487709455 : 1487709454); - break; - case 2: - return false; - case 6: - return true; - } - } - } - - bool IEquatable.Equals(UseMudraOnObject? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206A_206F_202E_206E_206E_202E_206E_200B_206E_202D_200C_206C_200D_206C_206B_206B_202D_206E_200F_206B_206A_200F_202C_206B_206A_202B_206D_206B_206B_200B_206B_206D_206A_202C_200B_206C_200D_206F_200F_202E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _206B_202C_206F_202D_202B_200B_206F_202E_202C_206B_200F_206B_200C_206C_206B_200E_200C_202E_202D_202E_202C_206C_202E_206B_200D_206F_206B_202B_200B_202A_202E_202D_206B_206F_200E_206D_206C_202B_206D_200F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200C_200C_206F_200D_206E_200B_200E_202A_200B_202D_200F_206E_206C_206E_206E_202E_206F_202D_200E_202A_206D_200D_206B_206E_206A_206F_200B_200F_200B_200F_206C_206A_202B_202A_206B_202B_200B_200F_200D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _200D_206A_202B_206F_202C_206A_206E_206E_206E_200E_202D_202A_202E_200C_202A_200F_202D_200C_202B_200E_206F_206E_206F_200B_202A_202D_200E_200C_202C_206D_200E_206C_202A_202D_206E_206F_206C_202E_200D_202D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"Mudra({Action})"; } } @@ -594,187 +219,58 @@ internal static class Action return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe override ETaskResult Update() { - int num = ((_202E_200B_202A_200B_200D_202D_200B_200D_202D_202C_200C_202D_206B_200F_202E_202C_202B_200D_206D_200E_200D_202C_206C_202D_206C_206D_206A_206A_202C_206C_202B_200F_202A_200E_202B_206A_202D_202C_202B_200E_202E() >= _continueAt) ? 1138571284 : 1138571280); - IGameObject gameObject = default(IGameObject); - EAction adjustedActionId = default(EAction); - Dictionary value = default(Dictionary); - EAction value2 = default(EAction); - while (true) + if (Environment.TickCount64 < _continueAt) { - int num2 = num; - int num3 = 1138571289; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return ETaskResult.StillRunning; + } + EAction adjustedActionId = (EAction)ActionManager.Instance()->GetAdjustedActionId(2260u); + if (adjustedActionId == EAction.RabbitMedium) + { + _continueAt = Environment.TickCount64 + 1000; + return ETaskResult.StillRunning; + } + IGameObject gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId); + if (gameObject == null || !gameObject.IsTargetable) + { + return ETaskResult.StillRunning; + } + if (adjustedActionId == base.Task.Action) + { + _continueAt = Environment.TickCount64 + 250; + if (!gameFunctions.UseAction(gameObject, base.Task.Action)) { - case 1: - gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId); - num = ((gameObject == null) ? 1138571290 : 1138571285); - break; - case 7: - num = ((adjustedActionId != base.Task.Action) ? 1138571287 : 1138571293); - break; - case 11: - _continueAt = _202E_200B_202A_200B_200D_202D_200B_200D_202D_202C_200C_202D_206B_200F_202E_202C_202B_200D_206D_200E_200D_202C_206C_202D_206C_206D_206A_206A_202C_206C_202B_200F_202A_200E_202B_206A_202D_202C_202B_200E_202E() + 250; - return ETaskResult.StillRunning; - case 9: - return ETaskResult.StillRunning; - case 10: - num = ((!value.TryGetValue(adjustedActionId, out value2)) ? 1138571282 : 1138571292); - break; - case 6: - _206D_206F_202E_206B_200D_200D_200E_202B_206B_202E_202C_200E_200B_200C_202A_202D_206E_200F_202B_206C_202E_200D_206D_200C_206C_200C_206A_200C_202B_206A_200E_206D_206B_206F_202D_206B_200D_200D_206A_206E_202E((ILogger)logger, 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(412191854), new object[1] { base.Task.Action }); - return ETaskResult.TaskComplete; - case 13: - adjustedActionId = (EAction)ActionManager.Instance()->GetAdjustedActionId(2260u); - num = ((adjustedActionId != EAction.RabbitMedium) ? 1138571288 : 1138571289); - break; - case 8: - return ETaskResult.StillRunning; - case 5: - _continueAt = _202E_200B_202A_200B_200D_202D_200B_200D_202D_202C_200C_202D_206B_200F_202E_202C_202B_200D_206D_200E_200D_202C_206C_202D_206C_206D_206A_206A_202C_206C_202B_200F_202A_200E_202B_206A_202D_202C_202B_200E_202E() + 250; - gameFunctions.UseAction(value2); - return ETaskResult.StillRunning; - case 14: - num = ((!Combos.TryGetValue(base.Task.Action, out value)) ? 1138571295 : 1138571283); - break; - case 4: - _continueAt = _202E_200B_202A_200B_200D_202D_200B_200D_202D_202C_200C_202D_206B_200F_202E_202C_202B_200D_206D_200E_200D_202C_206C_202D_206C_206D_206A_206A_202C_206C_202B_200F_202A_200E_202B_206A_202D_202C_202B_200E_202E() + 250; - num = (gameFunctions.UseAction(gameObject, base.Task.Action) ? 1138571291 : 1138571281); - break; - case 12: - num = (_206A_200C_206A_202D_200C_200D_202C_206C_202A_200F_206E_200F_200B_200E_200E_200F_206C_202D_200B_200B_206C_206D_202A_206B_202C_200F_202A_200D_200D_206D_200F_200F_206D_202A_206E_200D_200D_206B_206C_206E_202E(gameObject) ? 1138571294 : 1138571290); - break; - case 15: - num = 1138571280; - break; - case 3: - return ETaskResult.StillRunning; - case 2: - return ETaskResult.TaskComplete; - case 0: - _continueAt = _202E_200B_202A_200B_200D_202D_200B_200D_202D_202C_200C_202D_206B_200F_202E_202C_202B_200D_206D_200E_200D_202C_206C_202D_206C_206D_206A_206A_202C_206C_202B_200F_202A_200E_202B_206A_202D_202C_202B_200E_202E() + 1000; return ETaskResult.StillRunning; } + return ETaskResult.TaskComplete; } + if (Combos.TryGetValue(base.Task.Action, out Dictionary value)) + { + if (value.TryGetValue(adjustedActionId, out var value2)) + { + _continueAt = Environment.TickCount64 + 250; + gameFunctions.UseAction(value2); + return ETaskResult.StillRunning; + } + _continueAt = Environment.TickCount64 + 250; + return ETaskResult.StillRunning; + } + logger.LogError("Unable to find relevant combo for {Action}", base.Task.Action); + return ETaskResult.TaskComplete; } public override bool ShouldInterruptOnDamage() { return false; } - - static long _202E_200B_202A_200B_200D_202D_200B_200D_202D_202C_200C_202D_206B_200F_202E_202C_202B_200D_206D_200E_200D_202C_206C_202D_206C_206D_206A_206A_202C_206C_202B_200F_202A_200E_202B_206A_202D_202C_202B_200E_202E() - { - return Environment.TickCount64; - } - - static bool _206A_200C_206A_202D_200C_200D_202C_206C_202A_200F_206E_200F_200B_200E_200E_200F_206C_202D_200B_200B_206C_206D_202A_206B_202C_200F_202A_200D_200D_206D_200F_200F_206D_202A_206E_200D_200D_206B_206C_206E_202E(IGameObject P_0) - { - return P_0.IsTargetable; - } - - static void _206D_206F_202E_206B_200D_200D_200E_202B_206B_202E_202C_200E_200B_200C_202A_202D_206E_200F_202B_206C_202E_200D_206D_200C_206C_200C_206A_200C_202B_206A_200E_206D_206B_206F_202D_206B_200D_200D_206A_206E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogError(P_1, P_2); - } } internal sealed record TriggerStatusIfMissing(EStatus Status, EAction Action) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200D_206C_202B_202A_202B_200F_202E_206D_206C_200E_206D_206B_206A_200C_202D_200C_200D_202A_206B_200F_200B_200C_206F_200D_206E_200F_206A_206F_202B_200D_200E_200B_202D_200C_206A_202A_206A_200F_206C_206F_202E(typeof(TriggerStatusIfMissing).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(15, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1306109477)); - defaultInterpolatedStringHandler.AppendFormatted(Status); - defaultInterpolatedStringHandler.AppendLiteral(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(444206578)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200F_206A_202D_206B_200B_200C_202B_206C_200C_206A_200B_202D_200D_200B_206B_200D_200E_202B_202B_200E_206B_206B_202A_206D_206F_206A_200F_202C_200D_202C_206A_202D_206F_200C_206B_200B_206C_200B_206C_202E(); - _200D_202D_206F_202E_206A_200C_202A_206E_200D_206C_200C_200C_202C_200B_206D_200C_202B_200D_200D_200C_202C_200B_202A_206D_200C_206E_202E_206F_206C_206F_200C_202C_202B_200B_206D_202B_206F_200C_200D_202E(builder, 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(-1195039164)); - _200D_202D_206F_202E_206A_200C_202A_206E_200D_206C_200C_200C_202C_200B_206D_200C_202B_200D_200D_200C_202C_200B_202A_206D_200C_206E_202E_206F_206C_206F_200C_202C_202B_200B_206D_202B_206F_200C_200D_202E(builder, Status.ToString()); - _200D_202D_206F_202E_206A_200C_202A_206E_200D_206C_200C_200C_202C_200B_206D_200C_202B_200D_200D_200C_202C_200B_202A_206D_200C_206E_202E_206F_206C_206F_200C_202C_202B_200B_206D_202B_206F_200C_200D_202E(builder, 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(-1765108266)); - _200D_202D_206F_202E_206A_200C_202A_206E_200D_206C_200C_200C_202C_200B_206D_200C_202B_200D_200D_200C_202C_200B_202A_206D_200C_206E_202E_206F_206C_206F_200C_202C_202B_200B_206D_202B_206F_200C_200D_202E(builder, Action.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(TriggerStatusIfMissing? other) - { - int num = (((object)this == other) ? (-1239545030) : (-1239545028)); - while (true) - { - int num2 = num; - int num3 = -1239545026; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - return EqualityComparer.Default.Equals(Action, other.Action); - case 2: - num = (((object)other == null) ? (-1239545029) : (-1239545025)); - break; - case 1: - num = ((!_206F_206A_200C_206E_202A_200C_200E_202A_200C_200F_206D_206C_206B_202A_200C_206A_206A_200E_206B_202E_202D_200F_206E_206D_206E_200F_202A_202B_206C_206A_200E_200C_206F_200C_202D_200B_206B_202A_206B_206D_202E(EqualityContract, other.EqualityContract)) ? (-1239545029) : (-1239545032)); - break; - case 0: - num = -1239545028; - break; - case 5: - return false; - case 4: - return true; - case 6: - num = ((!EqualityComparer.Default.Equals(Status, other.Status)) ? (-1239545029) : (-1239545027)); - break; - } - } - } - - bool IEquatable.Equals(TriggerStatusIfMissing? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200D_206C_202B_202A_202B_200F_202E_206D_206C_200E_206D_206B_206A_200C_202D_200C_200D_202A_206B_200F_200B_200C_206F_200D_206E_200F_206A_206F_202B_200D_200E_200B_202D_200C_206A_202A_206A_200F_206C_206F_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _200F_206A_202D_206B_200B_200C_202B_206C_200C_206A_200B_202D_200D_200B_206B_200D_200E_202B_202B_200E_206B_206B_202A_206D_206F_206A_200F_202C_200D_202C_206A_202D_206F_200C_206B_200B_206C_200B_206C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200D_202D_206F_202E_206A_200C_202A_206E_200D_206C_200C_200C_202C_200B_206D_200C_202B_200D_200D_200C_202C_200B_202A_206D_200C_206E_202E_206F_206C_206F_200C_202C_202B_200B_206D_202B_206F_200C_200D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _206F_206A_200C_206E_202A_200C_200E_202A_200C_200F_206D_206C_206B_202A_200C_206A_206A_200E_206B_202E_202D_200F_206E_206D_206E_200F_202A_202B_206C_206A_200E_200C_206F_200C_202D_200B_206B_202A_206B_206D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"TriggerStatus({Status})"; } } @@ -784,67 +280,32 @@ internal static class Action public override bool HasTimedOut(float timeoutSeconds) { - return _202B_206F_202D_200E_206E_200D_202D_202D_200C_200C_206F_202E_200F_206B_206B_200B_202A_200F_206F_200B_200E_200C_206C_200C_206F_206A_200D_200F_206B_200C_206A_200F_202A_200E_206D_202A_200E_202B_200B_202D_202E() - _startedAt > (long)(timeoutSeconds * 1000f); + return Environment.TickCount64 - _startedAt > (long)(timeoutSeconds * 1000f); } protected override bool Start() { - int num = ((!gameFunctions.HasStatus(base.Task.Status)) ? (-1632132812) : (-1632132809)); - while (true) + if (gameFunctions.HasStatus(base.Task.Status)) { - int num2 = num; - int num3 = -1632132811; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0056; - case 2: - return false; - case 1: - gameFunctions.UseAction(base.Task.Action); - _startedAt = _202B_206F_202D_200E_206E_200D_202D_202D_200C_200C_206F_202E_200F_206B_206B_200B_202A_200F_206F_200B_200E_200C_206C_200C_206F_206A_200D_200F_206B_200C_206A_200F_202A_200E_206D_202A_200E_202B_200B_202D_202E(); - return true; - } - continue; - IL_0056: - num = -1632132809; + return false; } + gameFunctions.UseAction(base.Task.Action); + _startedAt = Environment.TickCount64; + return true; } public override ETaskResult Update() { - int num = (gameFunctions.HasStatus(base.Task.Status) ? 81781723 : 81781720); - while (true) + if (!gameFunctions.HasStatus(base.Task.Status)) { - int num2 = num; - int num3 = 81781722; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0058; - case 2: - return ETaskResult.StillRunning; - case 1: - return ETaskResult.TaskComplete; - } - continue; - IL_0058: - num = 81781720; + return ETaskResult.StillRunning; } + return ETaskResult.TaskComplete; } public override bool ShouldInterruptOnDamage() { return false; } - - static long _202B_206F_202D_200E_206E_200D_202D_202D_200C_200C_206F_202E_200F_206B_206B_200B_202A_200F_206F_200B_200E_200C_206C_200C_206F_206A_200D_200F_206B_200C_206A_200F_202A_200E_206D_202A_200E_202B_200B_202D_202E() - { - return Environment.TickCount64; - } } } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/AetherCurrent.cs b/Questionable/Questionable.Controller.Steps.Interactions/AetherCurrent.cs index 28adef5..b549ae1 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/AetherCurrent.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/AetherCurrent.cs @@ -1,7 +1,4 @@ using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Objects.Enums; using Dalamud.Plugin.Services; using Microsoft.Extensions.Logging; @@ -16,272 +13,75 @@ internal static class AetherCurrent { internal sealed class Factory(AetherCurrentData aetherCurrentData, IChatGui chatGui) : SimpleTaskFactory() { - [MethodImpl(MethodImplOptions.NoInlining)] public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((_206B_200B_202B_200C_206F_202E_200C_206D_206F_206F_202A_206D_200C_200C_206C_200D_202B_202E_200F_202C_202A_206B_202E_206E_206B_202B_202D_206C_200B_200B_200B_206C_202A_200F_202E_202D_202C_200F_200D_202B_202E(step) == EInteractionType.AttuneAetherCurrent) ? 1616096496 : 1616096497); - while (true) + if (step.InteractionType != EInteractionType.AttuneAetherCurrent) { - int num2 = num; - int num3 = 1616096499; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return new Attune(_202E_206C_200B_202C_200D_200C_206A_200B_206F_206D_206F_202E_202D_200F_200D_200B_202A_200D_200C_200D_202B_202D_206F_202B_202E_200F_206D_202B_202E_202A_200E_202D_200E_200E_206D_202B_206B_206C_200B_202D_202E(step).Value, _200B_200C_202D_206B_200F_202B_202A_200B_202B_202E_200D_206C_202A_206C_202A_202D_202D_200B_200D_202C_200C_206B_202A_206F_200B_206A_200C_206C_206A_206E_202E_202B_206F_202D_202E_200C_202C_206E_206B_206F_202E(step).Value); - case 2: - return null; - case 4: - num = 1616096497; - break; - case 1: - { - IChatGui chatGui = chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(86, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-494490534)); - defaultInterpolatedStringHandler.AppendFormatted(_200B_200C_202D_206B_200F_202B_202A_200B_202B_202E_200D_206C_202A_206C_202A_202D_202D_200B_200D_202C_200C_206B_202A_206F_200B_206A_200C_206C_206A_206E_202E_202B_206F_202D_202E_200C_202C_206E_206B_206F_202E(step)); - defaultInterpolatedStringHandler.AppendLiteral(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(214778039)); - _202C_206F_206A_206F_202D_206B_200B_206E_206D_206E_202E_202B_200B_206E_200D_206A_206D_200B_206A_206D_200D_206E_206F_200E_206A_202B_206D_200C_202B_200E_206E_200D_202E_200C_202B_200B_200E_206E_200B_206D_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); - return null; - } - case 3: - _200E_206F_206A_200C_202A_202A_202C_202D_206D_202C_202C_202B_202A_202D_206A_202D_202C_202C_206A_200D_206F_200E_206A_206C_200C_202A_200B_206D_200B_206D_200B_206A_202C_206F_202A_200E_206C_206C_206E_200E_202E((object)_202E_206C_200B_202C_200D_200C_206A_200B_206F_206D_206F_202E_202D_200F_200D_200B_202A_200D_200C_200D_202B_202D_206F_202B_202E_200F_206D_202B_202E_202A_200E_202D_200E_200E_206D_202B_206B_206C_200B_202D_202E(step), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1549410118)); - _200E_206F_206A_200C_202A_202A_202C_202D_206D_202C_202C_202B_202A_202D_206A_202D_202C_202C_206A_200D_206F_200E_206A_206C_200C_202A_200B_206D_200B_206D_200B_206A_202C_206F_202A_200E_206C_206C_206E_200E_202E((object)_200B_200C_202D_206B_200F_202B_202A_200B_202B_202E_200D_206C_202A_206C_202A_202D_202D_200B_200D_202C_200C_206B_202A_206F_200B_206A_200C_206C_206A_206E_202E_202B_206F_202D_202E_200C_202C_206E_206B_206F_202E(step), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-672605828)); - num = (aetherCurrentData.IsValidAetherCurrent(_200C_202A_206F_202E_206B_200B_200B_200B_202C_206F_202C_206F_206A_200D_202C_206F_200D_200F_202E_200B_206F_202B_206D_200D_200C_206E_202B_200B_202C_202E_200F_202D_200F_202C_206C_200E_200D_202B_202C_202A_202E(step), _200B_200C_202D_206B_200F_202B_202A_200B_202B_202E_200D_206C_202A_206C_202A_202D_202D_200B_200D_202C_200C_206B_202A_206F_200B_206A_200C_206C_206A_206E_202E_202B_206F_202D_202E_200C_202C_206E_206B_206F_202E(step).Value) ? 1616096499 : 1616096498); - break; - } + return null; } - } - - static EInteractionType _206B_200B_202B_200C_206F_202E_200C_206D_206F_206F_202A_206D_200C_200C_206C_200D_202B_202E_200F_202C_202A_206B_202E_206E_206B_202B_202D_206C_200B_200B_200B_206C_202A_200F_202E_202D_202C_200F_200D_202B_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static uint? _202E_206C_200B_202C_200D_200C_206A_200B_206F_206D_206F_202E_202D_200F_200D_200B_202A_200D_200C_200D_202B_202D_206F_202B_202E_200F_206D_202B_202E_202A_200E_202D_200E_200E_206D_202B_206B_206C_200B_202D_202E(QuestStep P_0) - { - return P_0.DataId; - } - - static void _200E_206F_206A_200C_202A_202A_202C_202D_206D_202C_202C_202B_202A_202D_206A_202D_202C_202C_206A_200D_206F_200E_206A_206C_200C_202A_200B_206D_200B_206D_200B_206A_202C_206F_202A_200E_206C_206C_206E_200E_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static uint? _200B_200C_202D_206B_200F_202B_202A_200B_202B_202E_200D_206C_202A_206C_202A_202D_202D_200B_200D_202C_200C_206B_202A_206F_200B_206A_200C_206C_206A_206E_202E_202B_206F_202D_202E_200C_202C_206E_206B_206F_202E(QuestStep P_0) - { - return P_0.AetherCurrentId; - } - - static ushort _200C_202A_206F_202E_206B_200B_200B_200B_202C_206F_202C_206F_206A_200D_202C_206F_200D_200F_202E_200B_206F_202B_206D_200D_200C_206E_202B_200B_202C_202E_200F_202D_200F_202C_206C_200E_200D_202B_202C_202A_202E(QuestStep P_0) - { - return P_0.TerritoryId; - } - - static void _202C_206F_206A_206F_202D_206B_200B_206E_206D_206E_202E_202B_200B_206E_200D_206A_206D_200B_206A_206D_200D_206E_206F_200E_206A_202B_206D_200C_202B_200E_206E_200D_202E_200C_202B_200B_200E_206E_200B_206D_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); + ArgumentNullException.ThrowIfNull(step.DataId, "step.DataId"); + ArgumentNullException.ThrowIfNull(step.AetherCurrentId, "step.AetherCurrentId"); + if (!aetherCurrentData.IsValidAetherCurrent(step.TerritoryId, step.AetherCurrentId.Value)) + { + chatGui.PrintError($"Aether current with id {step.AetherCurrentId} is referencing an invalid aether current, will skip attunement", "Questionable", 576); + return null; + } + return new Attune(step.DataId.Value, step.AetherCurrentId.Value); } } internal sealed record Attune(uint DataId, uint AetherCurrentId) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206E_200D_202C_202A_206C_200E_206F_200D_202B_206C_206C_202D_202C_200B_206A_200E_206E_206A_206C_202E_202A_200C_206E_202C_202A_206A_206D_202E_202B_202C_202A_202E_200E_200E_206F_202C_202E_206F_202D_200D_202E(typeof(Attune).TypeHandle); - } - } - public bool ShouldRedoOnInterrupt() { return true; } - bool ITask.ShouldRedoOnInterrupt() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt - return this.ShouldRedoOnInterrupt(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(21, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(361982327)); - defaultInterpolatedStringHandler.AppendFormatted(AetherCurrentId); - defaultInterpolatedStringHandler.AppendLiteral(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(424561659)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206E_202E_200E_200F_206D_206E_206D_202C_202A_202A_200D_202C_200D_206B_202A_202D_200D_202A_200C_202C_202B_200D_200D_202E_200E_206A_202E_202A_202D_202A_200C_202E_206B_202C_200D_202E_200D_206B_200D_200E_202E(); - _202D_200C_206E_202D_202E_202E_200F_202D_200D_200C_200F_200C_200E_206E_206C_202E_202C_202A_202B_206F_202D_200F_200C_206C_202E_202C_200C_200F_206C_200D_206D_202C_206B_202D_206C_200C_200E_206F_206D_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-813337770)); - _202D_200C_206E_202D_202E_202E_200F_202D_200D_200C_200F_200C_200E_206E_206C_202E_202C_202A_202B_206F_202D_200F_200C_206C_202E_202C_200C_200F_206C_200D_206D_202C_206B_202D_206C_200C_200E_206F_206D_202B_202E(builder, DataId.ToString()); - _202D_200C_206E_202D_202E_202E_200F_202D_200D_200C_200F_200C_200E_206E_206C_202E_202C_202A_202B_206F_202D_200F_200C_206C_202E_202C_200C_200F_206C_200D_206D_202C_206B_202D_206C_200C_200E_206F_206D_202B_202E(builder, 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(-1099263671)); - _202D_200C_206E_202D_202E_202E_200F_202D_200D_200C_200F_200C_200E_206E_206C_202E_202C_202A_202B_206F_202D_200F_200C_206C_202E_202C_200C_200F_206C_200D_206D_202C_206B_202D_206C_200C_200E_206F_206D_202B_202E(builder, AetherCurrentId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(Attune? other) - { - int num = (((object)this == other) ? (-814902453) : (-814902454)); - while (true) - { - int num2 = num; - int num3 = -814902455; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return true; - case 3: - num = (((object)other == null) ? (-814902456) : (-814902455)); - break; - case 1: - return false; - case 4: - return EqualityComparer.Default.Equals(AetherCurrentId, other.AetherCurrentId); - case 6: - num = -814902454; - break; - case 5: - num = ((!EqualityComparer.Default.Equals(DataId, other.DataId)) ? (-814902456) : (-814902451)); - break; - case 0: - num = ((!_206B_200B_200B_206C_206B_200F_200F_206E_200D_206D_200C_206F_206D_206A_206F_206B_202E_206C_200B_202E_206E_202B_206C_206F_206E_200E_206E_202E_202B_200E_202C_206A_202D_200B_206F_200B_202C_200C_202E_206C_202E(EqualityContract, other.EqualityContract)) ? (-814902456) : (-814902452)); - break; - } - } - } - - bool IEquatable.Equals(Attune? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206E_200D_202C_202A_206C_200E_206F_200D_202B_206C_206C_202D_202C_200B_206A_200E_206E_206A_206C_202E_202A_200C_206E_202C_202A_206A_206D_202E_202B_202C_202A_202E_200E_200E_206F_202C_202E_206F_202D_200D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _206E_202E_200E_200F_206D_206E_206D_202C_202A_202A_200D_202C_200D_206B_202A_202D_200D_202A_200C_202C_202B_200D_200D_202E_200E_206A_202E_202A_202D_202A_200C_202E_206B_202C_200D_202E_200D_206B_200D_200E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202D_200C_206E_202D_202E_202E_200F_202D_200D_200C_200F_200C_200E_206E_206C_202E_202C_202A_202B_206F_202D_200F_200C_206C_202E_202C_200C_200F_206C_200D_206D_202C_206B_202D_206C_200C_200E_206F_206D_202B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _206B_200B_200B_206C_206B_200F_200F_206E_200D_206D_200C_206F_206D_206A_206F_206B_202E_206C_200B_202E_206E_202B_206C_206F_206E_200E_206E_202E_202B_200E_202C_206A_202D_200B_206F_200B_202C_200C_202E_206C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"AttuneAetherCurrent({AetherCurrentId})"; } } internal sealed class DoAttune(GameFunctions gameFunctions, ILogger logger) : TaskExecutor() { - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { - int num = (GameFunctions.IsAetherCurrentUnlocked(base.Task.AetherCurrentId) ? 1079740231 : 1079740228); - while (true) + if (!GameFunctions.IsAetherCurrentUnlocked(base.Task.AetherCurrentId)) { - int num2 = num; - int num3 = 1079740230; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _200E_200C_202B_200D_206C_206B_206B_206F_200E_206D_200E_200E_202C_200E_200C_200D_202D_206C_206D_206E_206A_206A_200F_200E_202C_206E_206E_202C_206F_200C_200B_206E_206F_202C_200E_200E_200F_202A_206B_202D_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(693559237), new object[2] - { - base.Task.AetherCurrentId, - base.Task.DataId - }); - return false; - case 2: - _206B_202B_202B_202B_200D_206B_202E_202A_206B_202A_202B_202B_202A_200D_202C_200F_202C_200F_200B_200F_206E_206C_206E_200B_200B_202A_206F_206B_200E_200F_200F_200E_206A_200E_202C_206A_200D_202A_206A_200D_202E((ILogger)logger, 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(-2064140489), new object[2] - { - base.Task.AetherCurrentId, - base.Task.DataId - }); - base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => gameFunctions.InteractWith(base.Task.DataId, ObjectKind.EventObj)); - return true; - case 0: - goto IL_00ef; - } - continue; - IL_00ef: - num = 1079740228; + logger.LogInformation("Attuning to aether current {AetherCurrentId} / {DataId}", base.Task.AetherCurrentId, base.Task.DataId); + base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => gameFunctions.InteractWith(base.Task.DataId, ObjectKind.EventObj)); + return true; } + logger.LogDebug("Already attuned to aether current {AetherCurrentId} / {DataId}", base.Task.AetherCurrentId, base.Task.DataId); + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - int num = ((!GameFunctions.IsAetherCurrentUnlocked(base.Task.AetherCurrentId)) ? (-272165629) : (-272165626)); - while (true) + if (GameFunctions.IsAetherCurrentUnlocked(base.Task.AetherCurrentId)) { - int num2 = num; - int num3 = -272165632; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + ResetProgressTimer(); + return ETaskResult.TaskComplete; + } + if (base.ProgressContext != null) + { + if (base.ProgressContext.WasInterrupted()) { - case 4: - ResetProgressTimer(); - num = -272165630; - break; - case 3: - num = ((base.ProgressContext == null) ? (-272165630) : (-272165632)); - break; - case 6: - ResetProgressTimer(); - return ETaskResult.TaskComplete; - case 7: - num = -272165626; - break; - case 1: - _200E_200C_202B_200D_206C_206B_206B_206F_200E_206D_200E_200E_202C_200E_200C_200D_202D_206C_206D_206E_206A_206A_200F_200E_202C_206E_206E_202C_206F_200C_200B_206E_206F_202C_200E_200E_200F_202A_206B_202D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-119711603), new object[1] { base.Task.AetherCurrentId }); + logger.LogDebug("Aether current {AetherCurrentId} attunement was interrupted", base.Task.AetherCurrentId); return ETaskResult.StillRunning; - case 2: - return ETaskResult.StillRunning; - case 0: - num = ((!base.ProgressContext.WasInterrupted()) ? (-272165627) : (-272165631)); - break; - case 5: - num = ((!base.ProgressContext.WasSuccessful()) ? (-272165630) : (-272165628)); - break; + } + if (base.ProgressContext.WasSuccessful()) + { + ResetProgressTimer(); } } + return ETaskResult.StillRunning; } public override bool ShouldInterruptOnDamage() { return true; } - - static void _206B_202B_202B_202B_200D_206B_202E_202A_206B_202A_202B_202B_202A_200D_202C_200F_202C_200F_200B_200F_206E_206C_206E_200B_200B_202A_206F_206B_200E_200F_200F_200E_206A_200E_202C_206A_200D_202A_206A_200D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static void _200E_200C_202B_200D_206C_206B_206B_206F_200E_206D_200E_200E_202C_200E_200C_200D_202D_206C_206D_206E_206A_206A_200F_200E_202C_206E_206E_202C_206F_200C_200B_206E_206F_202C_200E_200E_200F_202A_206B_202D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } } } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/AethernetShard.cs b/Questionable/Questionable.Controller.Steps.Interactions/AethernetShard.cs index 283f688..0f993b9 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/AethernetShard.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/AethernetShard.cs @@ -1,7 +1,4 @@ using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Microsoft.Extensions.Logging; using Questionable.Functions; using Questionable.Model; @@ -14,156 +11,34 @@ internal static class AethernetShard { internal sealed class Factory : SimpleTaskFactory { - [MethodImpl(MethodImplOptions.NoInlining)] public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((_200F_206C_200B_206A_206A_206A_206D_202C_200D_206A_202D_206C_200E_202E_200D_200D_200F_200F_200B_200C_200D_200E_200C_206B_202D_200D_206B_200F_206F_206A_206D_206A_202A_200B_200E_200C_202B_206B_206A_206B_202E(step) == EInteractionType.AttuneAethernetShard) ? (-1186743855) : (-1186743856)); - while (true) + if (step.InteractionType != EInteractionType.AttuneAethernetShard) { - int num2 = num; - int num3 = -1186743855; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0049; - case 0: - _202E_200E_202A_202A_202D_206E_202A_206E_200B_202A_206A_206A_206C_206C_202A_206E_202A_200E_206F_206F_206F_200C_202A_202C_206E_206B_206D_206B_202A_206E_202B_200F_206D_202D_200C_200C_206E_206A_200D_206C_202E((object)_206B_202B_202C_200E_206F_202A_206F_206E_200F_206A_200F_206E_200B_200C_206B_200D_206D_202E_200E_206A_200E_200D_206B_200B_206D_206E_202D_206B_202E_206F_202D_200E_202C_200D_206C_200B_200B_200B_200D_200D_202E(step), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-520107683)); - return new Attune(_206B_202B_202C_200E_206F_202A_206F_206E_200F_206A_200F_206E_200B_200C_206B_200D_206D_202E_200E_206A_200E_200D_206B_200B_206D_206E_202D_206B_202E_206F_202D_200E_202C_200D_206C_200B_200B_200B_200D_200D_202E(step).Value); - case 1: - return null; - } - continue; - IL_0049: - num = -1186743856; + return null; } - } - - static EInteractionType _200F_206C_200B_206A_206A_206A_206D_202C_200D_206A_202D_206C_200E_202E_200D_200D_200F_200F_200B_200C_200D_200E_200C_206B_202D_200D_206B_200F_206F_206A_206D_206A_202A_200B_200E_200C_202B_206B_206A_206B_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static EAetheryteLocation? _206B_202B_202C_200E_206F_202A_206F_206E_200F_206A_200F_206E_200B_200C_206B_200D_206D_202E_200E_206A_200E_200D_206B_200B_206D_206E_202D_206B_202E_206F_202D_200E_202C_200D_206C_200B_200B_200B_200D_200D_202E(QuestStep P_0) - { - return P_0.AethernetShard; - } - - static void _202E_200E_202A_202A_202D_206E_202A_206E_200B_202A_206A_206A_206C_206C_202A_206E_202A_200E_206F_206F_206F_200C_202A_202C_206E_206B_206D_206B_202A_206E_202B_200F_206D_202D_200C_200C_206E_206A_200D_206C_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); + ArgumentNullException.ThrowIfNull(step.AethernetShard, "step.AethernetShard"); + return new Attune(step.AethernetShard.Value); } } internal sealed record Attune(EAetheryteLocation AetheryteLocation) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206D_206A_206D_200E_206E_202B_202A_202B_206E_206D_200F_202C_200F_202C_200E_206E_202E_206E_206D_202B_200D_202B_206D_206E_202D_202D_200C_200C_202E_206B_200F_206A_200F_206D_202C_206B_202C_206C_200C_202E(typeof(Attune).TypeHandle); - } - } - public bool ShouldRedoOnInterrupt() { return true; } - bool ITask.ShouldRedoOnInterrupt() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt - return this.ShouldRedoOnInterrupt(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(22, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(2083697024)); - defaultInterpolatedStringHandler.AppendFormatted(AetheryteLocation); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206A_202E_200E_206F_200C_202E_206E_206F_206B_200B_206F_206B_202C_200E_206A_202A_206E_200C_200F_200B_200B_202B_202D_200F_202B_206A_206B_202D_202E_206E_206A_202C_200F_200C_202A_206C_206D_206A_202A_200E_202E(); - _202A_206F_202A_202B_206D_202A_202A_200D_200F_200B_202C_206F_202D_206E_206F_202E_206D_200B_202B_206C_200F_206B_200D_200D_202E_206D_200E_202A_206F_206E_202E_206B_200D_200C_202B_206A_206E_206C_206B_200C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1285909237)); - _202A_206F_202A_202B_206D_202A_202A_200D_200F_200B_202C_206F_202D_206E_206F_202E_206D_200B_202B_206C_200F_206B_200D_200D_202E_206D_200E_202A_206F_206E_202E_206B_200D_200C_202B_206A_206E_206C_206B_200C_202E(builder, AetheryteLocation.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(Attune? other) - { - int num = (((object)this == other) ? 513184139 : 513184143); - while (true) - { - int num2 = num; - int num3 = 513184142; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 513184143; - break; - case 3: - num = ((!_202D_206E_202C_200D_206A_202B_202E_206C_200E_202E_202A_206E_206B_206B_206B_200F_206F_202D_202A_202A_202B_202B_206F_202D_206D_206A_200C_202B_206D_200E_202C_206D_200C_202A_206F_206C_206C_200C_200F_206E_202E(EqualityContract, other.EqualityContract)) ? 513184140 : 513184138); - break; - case 5: - return true; - case 1: - num = (((object)other == null) ? 513184140 : 513184141); - break; - case 4: - return EqualityComparer.Default.Equals(AetheryteLocation, other.AetheryteLocation); - case 2: - return false; - } - } - } - - bool IEquatable.Equals(Attune? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206D_206A_206D_200E_206E_202B_202A_202B_206E_206D_200F_202C_200F_202C_200E_206E_202E_206E_206D_202B_200D_202B_206D_206E_202D_202D_200C_200C_202E_206B_200F_206A_200F_206D_202C_206B_202C_206C_200C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _206A_202E_200E_206F_200C_202E_206E_206F_206B_200B_206F_206B_202C_200E_206A_202A_206E_200C_200F_200B_200B_202B_202D_200F_202B_206A_206B_202D_202E_206E_206A_202C_200F_200C_202A_206C_206D_206A_202A_200E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202A_206F_202A_202B_206D_202A_202A_200D_200F_200B_202C_206F_202D_206E_206F_202E_206D_200B_202B_206C_200F_206B_200D_200D_202E_206D_200E_202A_206F_206E_202E_206B_200D_200C_202B_206A_206E_206C_206B_200C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _202D_206E_202C_200D_206A_202B_202E_206C_200E_202E_202A_206E_206B_206B_206B_200F_206F_202D_202A_202A_202B_202B_206F_202D_206D_206A_200C_202B_206D_200E_202C_206D_200C_202A_206F_206C_206C_200C_200F_206E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"AttuneAethernetShard({AetheryteLocation})"; } } internal sealed class DoAttune : Aetheryte.DoAttuneBase { - [MethodImpl(MethodImplOptions.NoInlining)] public DoAttune(AetheryteFunctions aetheryteFunctions, GameFunctions gameFunctions, ILogger logger) - : base(aetheryteFunctions, gameFunctions, (ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-577134927)) + : base(aetheryteFunctions, gameFunctions, (ILogger)logger, "aethernet shard") { } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/Aetheryte.cs b/Questionable/Questionable.Controller.Steps.Interactions/Aetheryte.cs index f424194..60b8123 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/Aetheryte.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/Aetheryte.cs @@ -1,7 +1,4 @@ using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Objects.Enums; using Microsoft.Extensions.Logging; using Questionable.Functions; @@ -15,146 +12,27 @@ internal static class Aetheryte { internal sealed class Factory : SimpleTaskFactory { - [MethodImpl(MethodImplOptions.NoInlining)] public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((_200F_206D_200C_206B_200C_206E_202B_202A_206E_200D_200E_206D_202E_202D_200C_202B_200B_206C_202B_206B_200B_206D_200F_206F_206B_200F_200B_200C_202D_202A_206C_202C_200C_202E_202E_200F_206C_202A_206A_202A_202E(step) == EInteractionType.AttuneAetheryte) ? (-343069115) : (-343069116)); - while (true) + if (step.InteractionType != EInteractionType.AttuneAetheryte) { - int num2 = num; - int num3 = -343069115; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0047; - case 1: - return null; - case 0: - _200B_206D_206E_200D_206F_202E_202D_206C_206A_206B_202B_200E_206C_200D_206A_206B_206D_202C_200D_202C_200B_202B_206A_202B_202A_200C_200D_206D_206F_206A_200D_206F_206A_206D_200D_206E_206F_200F_206B_200D_202E((object)_206F_206F_206B_200B_202A_200D_200D_200F_202C_202B_202A_202E_200D_200B_202B_200F_200D_206C_202E_200F_200B_202E_200F_200C_202C_206B_202B_200F_206B_202A_202A_206A_202C_202A_202E_202A_206D_200F_200D_206A_202E(step), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1584480667)); - return new Attune(_206F_206F_206B_200B_202A_200D_200D_200F_202C_202B_202A_202E_200D_200B_202B_200F_200D_206C_202E_200F_200B_202E_200F_200C_202C_206B_202B_200F_206B_202A_202A_206A_202C_202A_202E_202A_206D_200F_200D_206A_202E(step).Value); - } - continue; - IL_0047: - num = -343069116; + return null; } - } - - static EInteractionType _200F_206D_200C_206B_200C_206E_202B_202A_206E_200D_200E_206D_202E_202D_200C_202B_200B_206C_202B_206B_200B_206D_200F_206F_206B_200F_200B_200C_202D_202A_206C_202C_200C_202E_202E_200F_206C_202A_206A_202A_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static EAetheryteLocation? _206F_206F_206B_200B_202A_200D_200D_200F_202C_202B_202A_202E_200D_200B_202B_200F_200D_206C_202E_200F_200B_202E_200F_200C_202C_206B_202B_200F_206B_202A_202A_206A_202C_202A_202E_202A_206D_200F_200D_206A_202E(QuestStep P_0) - { - return P_0.Aetheryte; - } - - static void _200B_206D_206E_200D_206F_202E_202D_206C_206A_206B_202B_200E_206C_200D_206A_206B_206D_202C_200D_202C_200B_202B_206A_202B_202A_200C_200D_206D_206F_206A_200D_206F_206A_206D_200D_206E_206F_200F_206B_200D_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); + ArgumentNullException.ThrowIfNull(step.Aetheryte, "step.Aetheryte"); + return new Attune(step.Aetheryte.Value); } } internal sealed record Attune(EAetheryteLocation AetheryteLocation) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206F_206F_202A_200F_206F_202C_202B_206C_202A_200F_206E_200E_206F_206B_206A_200C_206D_200E_200F_206D_202E_206A_200C_206E_202B_200B_206E_206C_200D_206D_206D_206D_206E_200C_200D_202A_200D_206F_200B_202E_202E(typeof(Attune).TypeHandle); - } - } - public bool ShouldRedoOnInterrupt() { return true; } - bool ITask.ShouldRedoOnInterrupt() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt - return this.ShouldRedoOnInterrupt(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(17, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1240918148)); - defaultInterpolatedStringHandler.AppendFormatted(AetheryteLocation); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202E_206B_202C_200E_202A_200E_200D_200B_200B_206F_206E_206B_200B_200E_202C_200F_206A_200D_206A_200D_202E_200C_206D_206C_200D_206D_206A_206B_200E_206B_202A_202E_202E_206C_200C_206D_202E_206C_206C_202C_202E(); - _202B_202B_206C_202C_202E_200C_200B_206D_200F_202D_200D_202E_202C_206C_206B_206C_206E_200B_206D_202A_200C_202E_206B_202D_202D_206E_202D_202C_200E_200C_202A_202C_200D_200F_206C_200C_200F_202A_206B_202A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1285909237)); - _202B_202B_206C_202C_202E_200C_200B_206D_200F_202D_200D_202E_202C_206C_206B_206C_206E_200B_206D_202A_200C_202E_206B_202D_202D_206E_202D_202C_200E_200C_202A_202C_200D_200F_206C_200C_200F_202A_206B_202A_202E(builder, AetheryteLocation.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(Attune? other) - { - int num = (((object)this == other) ? (-82451630) : (-82451626)); - while (true) - { - int num2 = num; - int num3 = -82451625; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -82451626; - break; - case 1: - num = (((object)other == null) ? (-82451628) : (-82451625)); - break; - case 3: - return false; - case 4: - return EqualityComparer.Default.Equals(AetheryteLocation, other.AetheryteLocation); - case 5: - return true; - case 0: - num = ((!_200C_206A_202D_206A_200D_206E_202A_200F_206A_202A_202D_206E_202E_202C_200E_200D_202D_206F_206F_200F_206C_200E_206C_206B_206E_202D_202B_206E_206D_206D_200C_206D_202E_202C_206C_202B_202D_200C_206D_202A_202E(EqualityContract, other.EqualityContract)) ? (-82451628) : (-82451629)); - break; - } - } - } - - bool IEquatable.Equals(Attune? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206F_206F_202A_200F_206F_202C_202B_206C_202A_200F_206E_200E_206F_206B_206A_200C_206D_200E_200F_206D_202E_206A_200C_206E_202B_200B_206E_206C_200D_206D_206D_206D_206E_200C_200D_202A_200D_206F_200B_202E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _202E_206B_202C_200E_202A_200E_200D_200B_200B_206F_206E_206B_200B_200E_202C_200F_206A_200D_206A_200D_202E_200C_206D_206C_200D_206D_206A_206B_200E_206B_202A_202E_202E_206C_200C_206D_202E_206C_206C_202C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202B_202B_206C_202C_202E_200C_200B_206D_200F_202D_200D_202E_202C_206C_206B_206C_206E_200B_206D_202A_200C_202E_206B_202D_202D_206E_202D_202C_200E_200C_202A_202C_200D_200F_206C_200C_200F_202A_206B_202A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _200C_206A_202D_206A_200D_206E_202A_200F_206A_202A_202D_206E_202E_202C_200E_200D_202D_206F_206F_200F_206C_200E_206C_206B_206E_202D_202B_206E_206D_206D_200C_206D_202E_202C_206C_202B_202D_200C_206D_202A_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"AttuneAetheryte({AetheryteLocation})"; } } @@ -162,100 +40,51 @@ internal static class Aetheryte { protected abstract EAetheryteLocation GetLocation(); - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { EAetheryteLocation location = GetLocation(); - int num = (_003CaetheryteFunctions_003EP.IsAetheryteUnlocked(location) ? 1186609547 : 1186609544); - while (true) + if (!_003CaetheryteFunctions_003EP.IsAetheryteUnlocked(location)) { - int num2 = num; - int num3 = 1186609545; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - _202E_206B_200D_206D_206C_202B_202E_200B_200E_206D_202A_200D_206F_200C_202C_206C_206A_206F_202B_200D_200C_202E_200E_202A_206E_206D_200C_206B_200C_202A_202E_200D_202D_202D_202C_206E_202D_202A_202A_206E_202E(_003Clogger_003EP, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1529861734), new object[2] { _003Clabel_003EP, location }); - return false; - case 1: - _206A_200C_200D_202B_200B_202E_206A_206A_200D_200E_200B_200D_200D_200E_206F_202D_206E_200B_206E_202D_206F_206E_202A_200F_202A_206D_202C_200D_200E_202A_200C_200E_200E_200C_206B_200F_206C_200D_200D_206D_202E(_003Clogger_003EP, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1889927611), new object[2] { _003Clabel_003EP, location }); - base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => _003CgameFunctions_003EP.InteractWith((uint)location, ObjectKind.Aetheryte)); - return true; - case 0: - goto IL_00e9; - } - continue; - IL_00e9: - num = 1186609544; + _003Clogger_003EP.LogInformation("Attuning to {Label} {Location}", _003Clabel_003EP, location); + base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => _003CgameFunctions_003EP.InteractWith((uint)location, ObjectKind.Aetheryte)); + return true; } + _003Clogger_003EP.LogDebug("Already attuned to {Label} {Location}", _003Clabel_003EP, location); + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - int num = ((!_003CaetheryteFunctions_003EP.IsAetheryteUnlocked(GetLocation())) ? 1810240359 : 1810240355); - while (true) + if (_003CaetheryteFunctions_003EP.IsAetheryteUnlocked(GetLocation())) { - int num2 = num; - int num3 = 1810240354; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + ResetProgressTimer(); + return ETaskResult.TaskComplete; + } + if (base.ProgressContext != null) + { + if (base.ProgressContext.WasInterrupted()) { - case 4: - num = ((!base.ProgressContext.WasSuccessful()) ? 1810240357 : 1810240356); - break; - case 5: - num = ((base.ProgressContext == null) ? 1810240357 : 1810240352); - break; - case 7: + _003Clogger_003EP.LogDebug("Attunement to {Label} {Location} was interrupted", _003Clabel_003EP, GetLocation()); return ETaskResult.StillRunning; - case 2: - num = ((!base.ProgressContext.WasInterrupted()) ? 1810240358 : 1810240354); - break; - case 0: - _202E_206B_200D_206D_206C_202B_202E_200B_200E_206D_202A_200D_206F_200C_202C_206C_206A_206F_202B_200D_200C_202E_200E_202A_206E_206D_200C_206B_200C_202A_202E_200D_202D_202D_202C_206E_202D_202A_202A_206E_202E(_003Clogger_003EP, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-854407988), new object[2] - { - _003Clabel_003EP, - GetLocation() - }); - return ETaskResult.StillRunning; - case 3: - num = 1810240355; - break; - case 1: + } + if (base.ProgressContext.WasSuccessful()) + { ResetProgressTimer(); - return ETaskResult.TaskComplete; - case 6: - ResetProgressTimer(); - num = 1810240357; - break; } } + return ETaskResult.StillRunning; } public override bool ShouldInterruptOnDamage() { return true; } - - static void _206A_200C_200D_202B_200B_202E_206A_206A_200D_200E_200B_200D_200D_200E_206F_202D_206E_200B_206E_202D_206F_206E_202A_200F_202A_206D_202C_200D_200E_202A_200C_200E_200E_200C_206B_200F_206C_200D_200D_206D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static void _202E_206B_200D_206D_206C_202B_202E_200B_200E_206D_202A_200D_206F_200C_202C_206C_206A_206F_202B_200D_200C_202E_200E_202A_206E_206D_200C_206B_200C_202A_202E_200D_202D_202D_202C_206E_202D_202A_202A_206E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } } internal sealed class DoAttune : DoAttuneBase { - [MethodImpl(MethodImplOptions.NoInlining)] public DoAttune(AetheryteFunctions aetheryteFunctions, GameFunctions gameFunctions, ILogger logger) - : base(aetheryteFunctions, gameFunctions, (ILogger)logger, 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(1427720199)) + : base(aetheryteFunctions, gameFunctions, (ILogger)logger, "aetheryte") { } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/AetheryteFreeOrFavored.cs b/Questionable/Questionable.Controller.Steps.Interactions/AetheryteFreeOrFavored.cs index 0fc822b..0340202 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/AetheryteFreeOrFavored.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/AetheryteFreeOrFavored.cs @@ -1,7 +1,4 @@ using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Objects.Enums; using Microsoft.Extensions.Logging; using Questionable.Functions; @@ -15,233 +12,72 @@ internal static class AetheryteFreeOrFavored { internal sealed class Factory : SimpleTaskFactory { - [MethodImpl(MethodImplOptions.NoInlining)] public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((_206C_200C_200E_202C_200E_202A_206A_202C_206D_202A_206F_206D_206A_200D_200B_200E_206B_202B_202E_202B_202A_202D_206B_206D_200B_200E_202E_206A_206A_202D_200B_206C_206D_200C_202A_200C_200D_206E_200D_200E_202E(step) == EInteractionType.RegisterFreeOrFavoredAetheryte) ? 499713839 : 499713836); - while (true) + if (step.InteractionType != EInteractionType.RegisterFreeOrFavoredAetheryte) { - int num2 = num; - int num3 = 499713838; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - _202D_206F_202E_200B_200B_206F_206D_202C_206A_202B_200F_202E_200C_206A_206A_202B_206A_200D_206F_202A_200E_206D_206F_202D_206D_202A_200F_202B_206B_202B_202A_200C_206F_200F_206F_202C_200D_206E_202E_206A_202E((object)_202B_202C_202E_202A_206D_202A_200E_200E_206B_200D_206F_206A_206E_206E_202D_202D_206D_206C_202B_202E_202B_206E_200F_202C_206F_200B_202C_206C_206A_202B_200D_200E_200B_206C_200C_206B_200B_200D_202B_202A_202E(step), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1584480667)); - return new Register(_202B_202C_202E_202A_206D_202A_200E_200E_206B_200D_206F_206A_206E_206E_202D_202D_206D_206C_202B_202E_202B_206E_200F_202C_206F_200B_202C_206C_206A_202B_200D_200E_200B_206C_200C_206B_200B_200D_202B_202A_202E(step).Value); - case 2: - return null; - case 0: - goto IL_0077; - } - continue; - IL_0077: - num = 499713836; + return null; } - } - - static EInteractionType _206C_200C_200E_202C_200E_202A_206A_202C_206D_202A_206F_206D_206A_200D_200B_200E_206B_202B_202E_202B_202A_202D_206B_206D_200B_200E_202E_206A_206A_202D_200B_206C_206D_200C_202A_200C_200D_206E_200D_200E_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static EAetheryteLocation? _202B_202C_202E_202A_206D_202A_200E_200E_206B_200D_206F_206A_206E_206E_202D_202D_206D_206C_202B_202E_202B_206E_200F_202C_206F_200B_202C_206C_206A_202B_200D_200E_200B_206C_200C_206B_200B_200D_202B_202A_202E(QuestStep P_0) - { - return P_0.Aetheryte; - } - - static void _202D_206F_202E_200B_200B_206F_206D_202C_206A_202B_200F_202E_200C_206A_206A_202B_206A_200D_206F_202A_200E_206D_206F_202D_206D_202A_200F_202B_206B_202B_202A_200C_206F_200F_206F_202C_200D_206E_202E_206A_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); + ArgumentNullException.ThrowIfNull(step.Aetheryte, "step.Aetheryte"); + return new Register(step.Aetheryte.Value); } } internal sealed record Register(EAetheryteLocation AetheryteLocation) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202B_202A_202B_200E_202B_206A_206D_206D_206E_202B_200E_200C_206B_200D_206B_200F_200C_200B_202D_200F_206D_206E_202D_206A_202C_200B_200B_200F_202C_206E_200B_200C_206A_202D_206D_206F_200B_202B_206E_200F_202E(typeof(Register).TypeHandle); - } - } - public bool ShouldRedoOnInterrupt() { return true; } - bool ITask.ShouldRedoOnInterrupt() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt - return this.ShouldRedoOnInterrupt(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(32, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(837587043)); - defaultInterpolatedStringHandler.AppendFormatted(AetheryteLocation); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1618480346)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202B_206C_200B_200F_206A_202B_206B_206E_202D_202C_202B_206F_206F_202D_206A_206C_202E_200C_202B_200F_202A_200B_200E_200E_200F_200E_206B_200E_206F_200B_200E_200C_200F_206C_200D_206D_200C_200D_202B_202A_202E(); - _206C_202E_202B_200F_206A_206D_202B_202C_200D_206B_206C_206B_200D_200D_200D_202A_200E_202B_200B_200E_206D_206B_202B_202B_206B_206A_206A_202A_200E_206B_200D_206A_200D_202B_202E_202B_200B_206B_206E_202D_202E(builder, 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(719371282)); - _206C_202E_202B_200F_206A_206D_202B_202C_200D_206B_206C_206B_200D_200D_200D_202A_200E_202B_200B_200E_206D_206B_202B_202B_206B_206A_206A_202A_200E_206B_200D_206A_200D_202B_202E_202B_200B_206B_206E_202D_202E(builder, AetheryteLocation.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(Register? other) - { - int num = (((object)this == other) ? 602559884 : 602559880); - while (true) - { - int num2 = num; - int num3 = 602559881; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - return true; - case 2: - return false; - case 4: - num = 602559880; - break; - case 0: - return EqualityComparer.Default.Equals(AetheryteLocation, other.AetheryteLocation); - case 1: - num = (((object)other == null) ? 602559883 : 602559882); - break; - case 3: - num = ((!_202E_206F_200D_200E_206F_200C_202D_202E_206D_200B_202B_200B_200D_200D_202B_202B_202C_200D_206A_202B_200C_206E_202C_200C_202C_200B_202A_206D_200C_202D_206E_206A_206C_202C_206E_200F_200B_200C_200E_206F_202E(EqualityContract, other.EqualityContract)) ? 602559883 : 602559881); - break; - } - } - } - - bool IEquatable.Equals(Register? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202B_202A_202B_200E_202B_206A_206D_206D_206E_202B_200E_200C_206B_200D_206B_200F_200C_200B_202D_200F_206D_206E_202D_206A_202C_200B_200B_200F_202C_206E_200B_200C_206A_202D_206D_206F_200B_202B_206E_200F_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _202B_206C_200B_200F_206A_202B_206B_206E_202D_202C_202B_206F_206F_202D_206A_206C_202E_200C_202B_200F_202A_200B_200E_200E_200F_200E_206B_200E_206F_200B_200E_200C_200F_206C_200D_206D_200C_200D_202B_202A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206C_202E_202B_200F_206A_206D_202B_202C_200D_206B_206C_206B_200D_200D_200D_202A_200E_202B_200B_200E_206D_206B_202B_202B_206B_206A_206A_202A_200E_206B_200D_206A_200D_202B_202E_202B_200B_206B_206E_202D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _202E_206F_200D_200E_206F_200C_202D_202E_206D_200B_202B_200B_200D_200D_202B_202B_202C_200D_206A_202B_200C_206E_202C_200C_202C_200B_202A_206D_200C_202D_206E_206A_206C_202C_206E_200F_200B_200C_200E_206F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"RegisterFreeOrFavoredAetheryte({AetheryteLocation})"; } } internal sealed class DoRegister(AetheryteFunctions aetheryteFunctions, GameFunctions gameFunctions, ILogger logger) : TaskExecutor() { - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { - int num = (aetheryteFunctions.IsAetheryteUnlocked(base.Task.AetheryteLocation) ? 1191746400 : 1191746407); - while (true) + if (!aetheryteFunctions.IsAetheryteUnlocked(base.Task.AetheryteLocation)) { - int num2 = num; - int num3 = 1191746404; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - _200C_202B_206D_200B_202A_202C_200B_206A_200D_202E_206C_202B_200B_206B_206F_206C_200F_200D_200B_206C_200D_202C_202C_206E_206F_206C_202E_206A_200D_206D_206F_202A_202A_206C_206F_206E_200E_200C_202D_202E_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(560864212), new object[1] { base.Task.AetheryteLocation }); - return false; - case 3: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(25, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1957444372)); - defaultInterpolatedStringHandler.AppendFormatted(base.Task.AetheryteLocation); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1174023517)); - throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 4: - num = ((aetheryteFunctions.CanRegisterFreeOrFavoriteAetheryte(base.Task.AetheryteLocation) != AetheryteRegistrationResult.NotPossible) ? 1191746404 : 1191746405); - break; - case 2: - num = 1191746407; - break; - case 0: - base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => gameFunctions.InteractWith((uint)base.Task.AetheryteLocation, ObjectKind.Aetheryte)); - return true; - } + throw new TaskException($"Aetheryte {base.Task.AetheryteLocation} is not attuned"); } + if (aetheryteFunctions.CanRegisterFreeOrFavoriteAetheryte(base.Task.AetheryteLocation) == AetheryteRegistrationResult.NotPossible) + { + logger.LogDebug("Could not register aetheryte {AetheryteLocation} as free or favored", base.Task.AetheryteLocation); + return false; + } + base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => gameFunctions.InteractWith((uint)base.Task.AetheryteLocation, ObjectKind.Aetheryte)); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - int num = ((aetheryteFunctions.CanRegisterFreeOrFavoriteAetheryte(base.Task.AetheryteLocation) != AetheryteRegistrationResult.NotPossible) ? 473627761 : 473627764); - while (true) + if (aetheryteFunctions.CanRegisterFreeOrFavoriteAetheryte(base.Task.AetheryteLocation) == AetheryteRegistrationResult.NotPossible) { - int num2 = num; - int num3 = 473627760; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + ResetProgressTimer(); + return ETaskResult.TaskComplete; + } + if (base.ProgressContext != null) + { + if (base.ProgressContext.WasInterrupted()) { - case 0: - num = 473627764; - break; - case 7: - num = ((!base.ProgressContext.WasSuccessful()) ? 473627762 : 473627766); - break; - case 2: + logger.LogDebug("Registration of {Location} was interrupted", base.Task.AetheryteLocation); return ETaskResult.StillRunning; - case 5: - _200C_202B_206D_200B_202A_202C_200B_206A_200D_202E_206C_202B_200B_206B_206F_206C_200F_200D_200B_206C_200D_202C_202C_206E_206F_206C_202E_206A_200D_206D_206F_202A_202A_206C_206F_206E_200E_200C_202D_202E_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-180503859), new object[1] { base.Task.AetheryteLocation }); - return ETaskResult.StillRunning; - case 4: + } + if (base.ProgressContext.WasSuccessful()) + { ResetProgressTimer(); - return ETaskResult.TaskComplete; - case 6: - ResetProgressTimer(); - num = 473627762; - break; - case 3: - num = ((!base.ProgressContext.WasInterrupted()) ? 473627767 : 473627765); - break; - case 1: - num = ((base.ProgressContext == null) ? 473627762 : 473627763); - break; } } + return ETaskResult.StillRunning; } public override bool ShouldInterruptOnDamage() { return true; } - - static void _200C_202B_206D_200B_202A_202C_200B_206A_200D_202E_206C_202B_200B_206B_206F_206C_200F_200D_200B_206C_200D_202C_202C_206E_206F_206C_202E_206A_200D_206D_206F_202A_202A_206C_206F_206E_200E_200C_202D_202E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } } } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/AutoVendorPurchase.cs b/Questionable/Questionable.Controller.Steps.Interactions/AutoVendorPurchase.cs index 51d306c..b370eba 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/AutoVendorPurchase.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/AutoVendorPurchase.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; -using System.Runtime.CompilerServices; using Microsoft.Extensions.Logging; using Questionable.Controller.CustomDelivery; using Questionable.Controller.Steps.Common; @@ -16,354 +12,25 @@ internal static class AutoVendorPurchase { internal sealed class Factory(VendorResolverService vendorResolver, SmartNavRouteEnqueuer routeEnqueuer, ILogger logger) : ITaskFactory { - [CompilerGenerated] - private sealed class _003CCreateAllTasks_003Ed__4 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ITask _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - private QuestStep step; - - public QuestStep _003C_003E3__step; - - public Factory _003C_003E4__this; - - private VendorResolverService.VendorInfo? _003Cvendor_003E5__2; - - private int _003Cquantity_003E5__3; - - private IEnumerator _003C_003E7__wrap3; - - ITask IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CCreateAllTasks_003Ed__4(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _202E_200D_206C_200F_206B_202D_200B_206D_202A_206E_200F_202E_206D_202E_206A_206E_200B_206B_206D_206A_202E_202D_202D_200C_206D_206F_206C_206A_202B_206E_202E_200C_200F_206C_200B_200B_200E_202E_206F_200C_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = ((num == -3) ? 1416042762 : 1416042763); - while (true) - { - int num3 = num2; - int num4 = 1416042762; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - default: - continue; - case 2: - num2 = 1416042763; - continue; - case 1: - if (num == 1) - { - num2 = 1416042762; - continue; - } - break; - case 0: - try - { - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003C_003E7__wrap3 = null; - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - try - { - int num = _003C_003E1__state; - Factory factory = _003C_003E4__this; - int num2; - switch (num) - { - default: - num2 = 94833750; - goto IL_0030; - case 2: - _003C_003E1__state = -1; - _003C_003E2__current = new VendorPurchaseTask(_003Cvendor_003E5__2.Value.VendorNpcId, new global::_003C_003Ez__ReadOnlySingleElementList(new VendorPurchaseTask.PurchaseItem(_206B_200E_206E_202C_206E_206C_200D_206D_200C_206B_202A_200D_202C_206C_202E_206B_202E_206D_200F_202D_200B_200E_206E_206A_202A_202A_200C_202D_200D_202A_206A_206D_206A_206C_200F_206F_200C_206D_206A_202C_202E(step).Value, _003Cquantity_003E5__3)), _003Cvendor_003E5__2.Value.DialogOptionIndex); - _003C_003E1__state = 3; - return true; - case 0: - goto IL_025b; - case 1: - goto IL_02d8; - case 3: - break; - IL_0030: - while (true) - { - int num3 = num2; - int num4 = 94833758; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 7: - _003C_003Em__Finally1(); - _003C_003E7__wrap3 = null; - _003C_003E2__current = new Mount.UnmountTask(); - _003C_003E1__state = 2; - return true; - case 0: - goto IL_00c0; - case 12: - _206A_202E_202C_206A_206F_206B_206F_206E_200B_200B_200B_200B_200E_206B_202A_202A_206E_206C_200B_206B_200F_206E_206D_202B_200E_200E_202B_202C_202B_206A_206A_206C_200B_206E_206E_200D_206D_200E_206B_206A_202E((ILogger)factory.logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(237865038), new object[1] { _206B_200E_206E_202C_206E_206C_200D_206D_200C_206B_202A_200D_202C_206C_202E_206B_202E_206D_200F_202D_200B_200E_206E_206A_202A_202A_200C_202D_200D_202A_206A_206D_206A_206C_200F_206F_200C_206D_206A_202C_202E(step) }); - return false; - case 8: - return false; - case 11: - { - ITask current = _003C_003E7__wrap3.Current; - _003C_003E2__current = current; - _003C_003E1__state = 1; - return true; - } - case 14: - _003Cquantity_003E5__3 = _206E_206C_206F_202E_200B_202B_200B_202C_200E_206A_202B_200D_202D_202D_206C_206E_206A_206E_202D_206A_202D_200D_200F_200C_202A_206F_206A_200F_202E_200C_202A_206E_202D_206F_200C_200C_206D_206D_200C_202A_202E(step) ?? 1; - _003C_003E7__wrap3 = factory.routeEnqueuer.BuildRoutedTasks(_003Cvendor_003E5__2.Value.TerritoryId, _003Cvendor_003E5__2.Value.Position).GetEnumerator(); - _003C_003E1__state = -3; - num2 = 94833758; - break; - case 2: - num2 = 94833750; - break; - case 6: - goto end_IL_0030; - case 10: - goto IL_025b; - case 1: - goto IL_028c; - case 5: - goto IL_02d8; - case 9: - goto IL_02ec; - case 3: - return false; - case 4: - goto IL_032f; - case 13: - goto end_IL_000f; - } - continue; - IL_032f: - num2 = (_206B_200E_206E_202C_206E_206C_200D_206D_200C_206B_202A_200D_202C_206C_202E_206B_202E_206D_200F_202D_200B_200E_206E_206A_202A_202A_200C_202D_200D_202A_206A_206D_206A_206C_200F_206F_200C_206D_206A_202C_202E(step).HasValue ? 94833759 : 94833757); - continue; - IL_028c: - _003Cvendor_003E5__2 = factory.vendorResolver.ResolveVendor(_206B_200E_206E_202C_206E_206C_200D_206D_200C_206B_202A_200D_202C_206C_202E_206B_202E_206D_200F_202D_200B_200E_206E_206A_202A_202A_200C_202D_200D_202A_206A_206D_206A_206C_200F_206F_200C_206D_206A_202C_202E(step).Value); - num2 = (_003Cvendor_003E5__2.HasValue ? 94833744 : 94833746); - continue; - IL_00c0: - num2 = (_202A_206B_200F_200F_200E_200D_206F_202A_206C_200C_206D_200E_206A_200E_202E_206D_206F_202B_202E_206C_202E_202D_202C_206E_202B_202D_206C_200B_200F_206F_206A_202B_206E_206C_206C_202E_206E_206B_206B_202A_202E((IEnumerator)_003C_003E7__wrap3) ? 94833749 : 94833753); - continue; - IL_02ec: - num2 = (_200C_200F_200C_202A_202D_202D_202A_200C_200D_206C_206C_200C_206E_202E_206A_206A_200D_202C_200E_202C_206B_200F_206A_202A_202A_200C_206E_200D_202D_200C_200E_202B_206F_202C_202C_200C_206E_206A_200E_206D_202E(step).HasValue ? 94833757 : 94833754); - continue; - end_IL_0030: - break; - } - goto case 2; - IL_02d8: - _003C_003E1__state = -3; - num2 = 94833758; - goto IL_0030; - IL_025b: - _003C_003E1__state = -1; - num2 = ((_200B_206A_200B_206E_200B_206D_202C_202D_206F_202E_200D_202E_202A_206F_202C_206B_202B_206D_200D_202E_206A_206D_200C_202A_206F_206B_200C_202D_202B_202A_200E_206B_206C_200D_200E_200D_202D_202B_206D_200C_202E(step) != EInteractionType.PurchaseItem) ? 94833757 : 94833751); - goto IL_0030; - end_IL_000f: - break; - } - _003C_003E1__state = -1; - return false; - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - int num = ((_003C_003E7__wrap3 == null) ? 2030073587 : 2030073584); - while (true) - { - int num2 = num; - int num3 = 2030073586; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return; - case 2: - _206D_202D_206A_200D_202C_206D_206A_206E_200E_206D_202E_206B_206D_206D_206D_200C_202C_200F_206F_200E_202B_202C_202B_202E_206E_200F_202C_202C_202E_200D_200F_202C_200F_202D_206F_200E_206D_202E_202E_202A_202E((IDisposable)_003C_003E7__wrap3); - num = 2030073587; - break; - case 0: - num = 2030073584; - break; - } - } - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _202E_200F_206F_202B_202B_202D_200C_206A_200B_206F_200D_202B_202C_202E_206F_202A_206E_200D_202A_200D_202D_206E_206F_206E_200E_206F_206E_200C_202A_206D_202E_200D_202C_202A_202D_206F_202E_206A_200E_206B_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? (-566231640) : (-566231639)); - _003CCreateAllTasks_003Ed__4 _003CCreateAllTasks_003Ed__ = default(_003CCreateAllTasks_003Ed__4); - while (true) - { - int num2 = num; - int num3 = -566231638; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - _003C_003E1__state = 0; - _003CCreateAllTasks_003Ed__ = this; - num = -566231638; - break; - case 3: - num = ((_003C_003El__initialThreadId != _202E_200D_206C_200F_206B_202D_200B_206D_202A_206E_200F_202E_206D_202E_206A_206E_200B_206B_206D_206A_202E_202D_202D_200C_206D_206F_206C_206A_202B_206E_202E_200C_200F_206C_200B_200B_200E_202E_206F_200C_202E()) ? (-566231640) : (-566231637)); - break; - case 2: - _003CCreateAllTasks_003Ed__ = new _003CCreateAllTasks_003Ed__4(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = -566231638; - break; - case 4: - num = -566231639; - break; - case 0: - _003CCreateAllTasks_003Ed__.step = _003C_003E3__step; - return _003CCreateAllTasks_003Ed__; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _202E_200D_206C_200F_206B_202D_200B_206D_202A_206E_200F_202E_206D_202E_206A_206E_200B_206B_206D_206A_202E_202D_202D_200C_206D_206F_206C_206A_202B_206E_202E_200C_200F_206C_200B_200B_200E_202E_206F_200C_202E() - { - return Environment.CurrentManagedThreadId; - } - - static EInteractionType _200B_206A_200B_206E_200B_206D_202C_202D_206F_202E_200D_202E_202A_206F_202C_206B_202B_206D_200D_202E_206A_206D_200C_202A_206F_206B_200C_202D_202B_202A_200E_206B_206C_200D_200E_200D_202D_202B_206D_200C_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static uint? _200C_200F_200C_202A_202D_202D_202A_200C_200D_206C_206C_200C_206E_202E_206A_206A_200D_202C_200E_202C_206B_200F_206A_202A_202A_200C_206E_200D_202D_200C_200E_202B_206F_202C_202C_200C_206E_206A_200E_206D_202E(QuestStep P_0) - { - return P_0.DataId; - } - - static uint? _206B_200E_206E_202C_206E_206C_200D_206D_200C_206B_202A_200D_202C_206C_202E_206B_202E_206D_200F_202D_200B_200E_206E_206A_202A_202A_200C_202D_200D_202A_206A_206D_206A_206C_200F_206F_200C_206D_206A_202C_202E(QuestStep P_0) - { - return P_0.ItemId; - } - - static void _206A_202E_202C_206A_206F_206B_206F_206E_200B_200B_200B_200B_200E_206B_202A_202A_206E_206C_200B_206B_200F_206E_206D_202B_200E_200E_202B_202C_202B_206A_206A_206C_200B_206E_206E_200D_206D_200E_206B_206A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static int? _206E_206C_206F_202E_200B_202B_200B_202C_200E_206A_202B_200D_202D_202D_206C_206E_206A_206E_202D_206A_202D_200D_200F_200C_202A_206F_206A_200F_202E_200C_202A_206E_202D_206F_200C_200C_206D_206D_200C_202A_202E(QuestStep P_0) - { - return P_0.ItemCount; - } - - static bool _202A_206B_200F_200F_200E_200D_206F_202A_206C_200C_206D_200E_206A_200E_202E_206D_206F_202B_202E_206C_202E_202D_202C_206E_202B_202D_206C_200B_200F_206F_206A_202B_206E_206C_206C_202E_206E_206B_206B_202A_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206D_202D_206A_200D_202C_206D_206A_206E_200E_206D_202E_206B_206D_206D_206D_200C_202C_200F_206F_200E_202B_202C_202B_202E_206E_200F_202C_202C_202E_200D_200F_202C_200F_202D_206F_200E_206D_202E_202E_202A_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static NotSupportedException _202E_200F_206F_202B_202B_202D_200C_206A_200B_206F_200D_202B_202C_202E_206F_202A_206E_200D_202A_200D_202D_206E_206F_206E_200E_206F_206E_200C_202A_206D_202E_200D_202C_202A_202D_206F_202E_206A_200E_206B_202E() - { - return new NotSupportedException(); - } - } - - [IteratorStateMachine(typeof(_003CCreateAllTasks_003Ed__4))] public IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CCreateAllTasks_003Ed__4(-2) + if (step.InteractionType != EInteractionType.PurchaseItem || step.DataId.HasValue || !step.ItemId.HasValue) { - _003C_003E4__this = this, - _003C_003E3__step = step - }; - } - - IEnumerable ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks - return this.CreateAllTasks(quest, sequence, step); + yield break; + } + VendorResolverService.VendorInfo? vendor = vendorResolver.ResolveVendor(step.ItemId.Value); + if (!vendor.HasValue) + { + logger.LogWarning("No vendor with a known location sells item {ItemId}; cannot auto-purchase", step.ItemId); + yield break; + } + int quantity = step.ItemCount ?? 1; + foreach (ITask item in routeEnqueuer.BuildRoutedTasks(vendor.Value.TerritoryId, vendor.Value.Position)) + { + yield return item; + } + yield return new Mount.UnmountTask(); + yield return new VendorPurchaseTask(vendor.Value.VendorNpcId, new global::_003C_003Ez__ReadOnlySingleElementList(new VendorPurchaseTask.PurchaseItem(step.ItemId.Value, quantity)), vendor.Value.DialogOptionIndex); } } } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/ClearObjectsWithAction.cs b/Questionable/Questionable.Controller.Steps.Interactions/ClearObjectsWithAction.cs index 10a802c..69881c8 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/ClearObjectsWithAction.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/ClearObjectsWithAction.cs @@ -1,9 +1,6 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Objects.Enums; using Dalamud.Game.ClientState.Objects.SubKinds; using Dalamud.Game.ClientState.Objects.Types; @@ -21,198 +18,32 @@ internal static class ClearObjectsWithAction { public IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((_200B_200D_200C_200C_202B_206D_200E_202C_200F_206F_206F_200B_206E_200B_200E_200E_202C_202C_206B_200D_200E_202B_206E_202A_200D_200F_200D_200D_202B_206F_206C_200F_202B_202E_206F_200F_206E_202E_200F_200F_202E(step) == EInteractionType.Action) ? (-1145008527) : (-1145008525)); - while (true) + if (step.InteractionType != EInteractionType.Action) { - int num2 = num; - int num3 = -1145008523; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1145008525; - break; - case 6: - return Array.Empty(); - case 2: - return new global::_003C_003Ez__ReadOnlySingleElementList(new ClearTask(_200E_202B_202D_200C_202A_200B_200E_200E_200E_200F_206F_206E_200D_202B_206F_202B_200F_206D_206A_202E_206A_206C_202C_200D_206C_202E_206D_202D_206B_206F_200D_206B_206B_206E_206D_202C_206B_202D_200B_200D_202E(step), _200F_200F_200F_200E_206E_200B_202E_206B_206C_200D_202D_200F_200D_202B_202B_206C_200F_206C_202B_202D_202B_202A_206A_206B_202B_202E_202A_202A_200D_200D_202E_200C_206C_202B_206D_200F_206B_202C_206E_200F_202E(step).Value, _206E_202E_202B_200D_206D_206B_206D_200F_200B_202C_202E_202B_206D_206D_206C_200C_202A_206E_200B_206B_200B_202D_200F_202A_202E_206F_202B_200F_206A_206D_202E_206C_200B_200B_200D_202D_202B_206C_200E_206A_202E(step), _202C_202A_202A_202A_200C_206C_202B_200F_202A_202E_206B_206E_202E_206D_202E_200F_200C_200F_206D_206D_200C_206C_202D_200F_202E_200B_200C_206E_206C_200E_200C_206C_200D_206D_202B_206E_206C_202A_200D_202A_202E(step), _202C_206B_200E_202D_200B_206A_202B_202B_206E_206C_202E_200E_206F_202A_200E_206D_200D_200D_206E_206B_200E_202E_206C_206B_202D_206F_202C_206C_202B_202C_206D_202D_202E_206A_206B_206E_200C_202B_206C_200D_202E(step))); - case 3: - num = (_200F_200F_200F_200E_206E_200B_202E_206B_206C_200D_202D_200F_200D_202B_202B_206C_200F_206C_202B_202D_202B_202A_206A_206B_202B_202E_202A_202A_200D_200D_202E_200C_206C_202B_206D_200F_206B_202C_206E_200F_202E(step).HasValue ? (-1145008521) : (-1145008524)); - break; - case 1: - return Array.Empty(); - case 5: - return Array.Empty(); - case 4: - num = ((_200E_202B_202D_200C_202A_200B_200E_200E_200E_200F_206F_206E_200D_202B_206F_202B_200F_206D_206A_202E_206A_206C_202C_200D_206C_202E_206D_202D_206B_206F_200D_206B_206B_206E_206D_202C_206B_202D_200B_200D_202E(step).Count != 0) ? (-1145008522) : (-1145008528)); - break; - } + return Array.Empty(); } - } - - IEnumerable ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks - return this.CreateAllTasks(quest, sequence, step); - } - - static EInteractionType _200B_200D_200C_200C_202B_206D_200E_202C_200F_206F_206F_200B_206E_200B_200E_200E_202C_202C_206B_200D_200E_202B_206E_202A_200D_200F_200D_200D_202B_206F_206C_200F_202B_202E_206F_200F_206E_202E_200F_200F_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static List _200E_202B_202D_200C_202A_200B_200E_200E_200E_200F_206F_206E_200D_202B_206F_202B_200F_206D_206A_202E_206A_206C_202C_200D_206C_202E_206D_202D_206B_206F_200D_206B_206B_206E_206D_202C_206B_202D_200B_200D_202E(QuestStep P_0) - { - return P_0.DataIds; - } - - static EAction? _200F_200F_200F_200E_206E_200B_202E_206B_206C_200D_202D_200F_200D_202B_202B_206C_200F_206C_202B_202D_202B_202A_206A_206B_202B_202E_202A_202A_200D_200D_202E_200C_206C_202B_206D_200F_206B_202C_206E_200F_202E(QuestStep P_0) - { - return P_0.Action; - } - - static ushort _206E_202E_202B_200D_206D_206B_206D_200F_200B_202C_202E_202B_206D_206D_206C_200C_202A_206E_200B_206B_200B_202D_200F_202A_202E_206F_202B_200F_206A_206D_202E_206C_200B_200B_200D_202D_202B_206C_200E_206A_202E(QuestStep P_0) - { - return P_0.TerritoryId; - } - - static float _202C_202A_202A_202A_200C_206C_202B_200F_202A_202E_206B_206E_202E_206D_202E_200F_200C_200F_206D_206D_200C_206C_202D_200F_202E_200B_200C_206E_206C_200E_200C_206C_200D_206D_202B_206E_206C_202A_200D_202A_202E(QuestStep P_0) - { - return P_0.CalculateActualStopDistance(); - } - - static List _202C_206B_200E_202D_200B_206A_202B_202B_206E_206C_202E_200E_206F_202A_200E_206D_200D_200D_206E_206B_200E_202E_206C_206B_202D_206F_202C_206C_202B_202C_206D_202D_202E_206A_206B_206E_200C_202B_206C_200D_202E(QuestStep P_0) - { - return P_0.WaypointPositions; + if (step.DataIds.Count == 0) + { + return Array.Empty(); + } + if (!step.Action.HasValue) + { + return Array.Empty(); + } + return new global::_003C_003Ez__ReadOnlySingleElementList(new ClearTask(step.DataIds, step.Action.Value, step.TerritoryId, step.CalculateActualStopDistance(), step.WaypointPositions)); } } internal sealed record ClearTask(List DataIds, EAction Action, ushort TerritoryId, float StopDistance, List WaypointPositions) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202B_202A_200C_206D_200B_200F_200C_206D_206C_200F_206B_202E_202E_206F_202C_200E_206C_202D_206E_202E_206F_206A_200D_202E_202E_206E_200E_200E_202D_202A_206D_202C_202E_200F_206A_206A_200B_206F_206B_206F_202E(typeof(ClearTask).TypeHandle); - } - } - public bool ShouldRedoOnInterrupt() { return true; } - bool ITask.ShouldRedoOnInterrupt() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt - return this.ShouldRedoOnInterrupt(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(22, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(-2037963868)); - defaultInterpolatedStringHandler.AppendFormatted(Action); - defaultInterpolatedStringHandler.AppendLiteral(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(-1095822044)); - defaultInterpolatedStringHandler.AppendFormatted(DataIds.Count); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1828980335)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202E_206A_202C_202D_206A_202D_202A_200E_202B_200B_202B_200F_200F_202B_202C_206A_206E_200D_206F_206B_200D_200E_206F_202C_202A_206D_202B_206D_206C_202B_206F_200F_206B_206E_206C_206E_200F_206B_206C_206E_202E(); - _206A_200E_200D_202A_202E_200C_202E_200B_202D_202D_200F_202B_202E_200D_206A_206E_206D_200F_206A_202C_206A_200D_202D_202B_202E_202C_200C_200E_206F_202E_206A_202C_206B_206A_200D_202E_200E_202D_202D_202B_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(552157557)); - _206C_206D_206F_202B_202E_200C_202D_206F_206C_200F_200E_200F_202E_202E_206D_202B_202A_200C_202B_202B_200F_200B_206C_200D_206B_206A_202D_200C_206A_200D_202B_202B_202B_200B_206D_200E_202C_206F_202D_202A_202E(builder, (object)DataIds); - _206A_200E_200D_202A_202E_200C_202E_200B_202D_202D_200F_202B_202E_200D_206A_206E_206D_200F_206A_202C_206A_200D_202D_202B_202E_202C_200C_200E_206F_202E_206A_202C_206B_206A_200D_202E_200E_202D_202D_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(353413506)); - _206A_200E_200D_202A_202E_200C_202E_200B_202D_202D_200F_202B_202E_200D_206A_206E_206D_200F_206A_202C_206A_200D_202D_202B_202E_202C_200C_200E_206F_202E_206A_202C_206B_206A_200D_202E_200E_202D_202D_202B_202E(builder, Action.ToString()); - _206A_200E_200D_202A_202E_200C_202E_200B_202D_202D_200F_202B_202E_200D_206A_206E_206D_200F_206A_202C_206A_200D_202D_202B_202E_202C_200C_200E_206F_202E_206A_202C_206B_206A_200D_202E_200E_202D_202D_202B_202E(builder, 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(-1213099778)); - _206A_200E_200D_202A_202E_200C_202E_200B_202D_202D_200F_202B_202E_200D_206A_206E_206D_200F_206A_202C_206A_200D_202D_202B_202E_202C_200C_200E_206F_202E_206A_202C_206B_206A_200D_202E_200E_202D_202D_202B_202E(builder, TerritoryId.ToString()); - _206A_200E_200D_202A_202E_200C_202E_200B_202D_202D_200F_202B_202E_200D_206A_206E_206D_200F_206A_202C_206A_200D_202D_202B_202E_202C_200C_200E_206F_202E_206A_202C_206B_206A_200D_202E_200E_202D_202D_202B_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-925820105)); - _206A_200E_200D_202A_202E_200C_202E_200B_202D_202D_200F_202B_202E_200D_206A_206E_206D_200F_206A_202C_206A_200D_202D_202B_202E_202C_200C_200E_206F_202E_206A_202C_206B_206A_200D_202E_200E_202D_202D_202B_202E(builder, StopDistance.ToString()); - _206A_200E_200D_202A_202E_200C_202E_200B_202D_202D_200F_202B_202E_200D_206A_206E_206D_200F_206A_202C_206A_200D_202D_202B_202E_202C_200C_200E_206F_202E_206A_202C_206B_206A_200D_202E_200E_202D_202D_202B_202E(builder, 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(1493071895)); - _206C_206D_206F_202B_202E_200C_202D_206F_206C_200F_200E_200F_202E_202E_206D_202B_202A_200C_202B_202B_200F_200B_206C_200D_206B_206A_202D_200C_206A_200D_202B_202B_202B_200B_206D_200E_202C_206F_202D_202A_202E(builder, (object)WaypointPositions); - return true; - } - - [CompilerGenerated] - public bool Equals(ClearTask? other) - { - int num = (((object)this == other) ? 1384445086 : 1384445077); - while (true) - { - int num2 = num; - int num3 = 1384445078; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - return false; - case 8: - return true; - case 6: - num = ((!EqualityComparer.Default.Equals(Action, other.Action)) ? 1384445074 : 1384445078); - break; - case 0: - num = ((!EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId)) ? 1384445074 : 1384445079); - break; - case 7: - num = 1384445077; - break; - case 3: - num = (((object)other == null) ? 1384445074 : 1384445075); - break; - case 9: - num = ((!EqualityComparer>.Default.Equals(DataIds, other.DataIds)) ? 1384445074 : 1384445072); - break; - case 2: - return EqualityComparer>.Default.Equals(WaypointPositions, other.WaypointPositions); - case 5: - num = ((!_206D_200C_206F_202D_206E_200F_200D_206A_202C_202A_202E_200B_206E_200F_206A_202E_206E_202B_202E_202C_200B_200F_202D_206B_206F_206C_200B_206B_202D_202C_202E_206C_200E_202B_206E_206C_202A_200C_200C_202B_202E(EqualityContract, other.EqualityContract)) ? 1384445074 : 1384445087); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(StopDistance, other.StopDistance)) ? 1384445074 : 1384445076); - break; - } - } - } - - bool IEquatable.Equals(ClearTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202B_202A_200C_206D_200B_200F_200C_206D_206C_200F_206B_202E_202E_206F_202C_200E_206C_202D_206E_202E_206F_206A_200D_202E_202E_206E_200E_200E_202D_202A_206D_202C_202E_200F_206A_206A_200B_206F_206B_206F_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _202E_206A_202C_202D_206A_202D_202A_200E_202B_200B_202B_200F_200F_202B_202C_206A_206E_200D_206F_206B_200D_200E_206F_202C_202A_206D_202B_206D_206C_202B_206F_200F_206B_206E_206C_206E_200F_206B_206C_206E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206A_200E_200D_202A_202E_200C_202E_200B_202D_202D_200F_202B_202E_200D_206A_206E_206D_200F_206A_202C_206A_200D_202D_202B_202E_202C_200C_200E_206F_202E_206A_202C_206B_206A_200D_202E_200E_202D_202D_202B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206C_206D_206F_202B_202E_200C_202D_206F_206C_200F_200E_200F_202E_202E_206D_202B_202A_200C_202B_202B_200F_200B_206C_200D_206B_206A_202D_200C_206A_200D_202B_202B_202B_200B_206D_200E_202C_206F_202D_202A_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206D_200C_206F_202D_206E_200F_200D_206A_202C_202A_202E_200B_206E_200F_206A_202E_206E_202B_202E_202C_200B_200F_202D_206B_206F_206C_200B_206B_202D_202C_202E_206C_200E_202B_206E_206C_202A_200C_200C_202B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"ClearObjects({Action}, {DataIds.Count} types)"; } } @@ -246,60 +77,20 @@ internal static class ClearObjectsWithAction protected override bool Start() { - int num = ((_206B_200D_200C_200B_206B_200F_206E_202E_206C_200E_200E_206A_206C_202C_206B_202E_206D_200F_206D_200B_202E_200D_202D_202D_206B_200E_202B_206F_200F_206B_202D_206C_202B_206F_202D_206F_206E_206B_206B_202A_202E(clientState) == base.Task.TerritoryId) ? (-1211544197) : (-1211544198)); - while (true) + if (clientState.TerritoryType != base.Task.TerritoryId) { - int num2 = num; - int num3 = -1211544197; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0058; - case 0: - return TryFindAndMove(); - case 1: - return true; - } - continue; - IL_0058: - num = -1211544198; + return true; } + return TryFindAndMove(); } private bool IsVisitedPosition(Vector3 position) { - using (List.Enumerator enumerator = _visitedPositions.GetEnumerator()) + foreach (Vector3 visitedPosition in _visitedPositions) { - int num = -1511179571; - while (true) + if (Vector3.Distance(visitedPosition, position) <= 5f) { - int num2 = num; - int num3 = -1511179570; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = -1511179571; - break; - case 1: - return true; - case 2: - num = ((!(Vector3.Distance(enumerator.Current, position) <= 5f)) ? (-1511179571) : (-1511179569)); - break; - case 3: - num = (enumerator.MoveNext() ? (-1511179572) : (-1511179570)); - break; - case 0: - goto end_IL_0017; - } - continue; - end_IL_0017: - break; + return true; } } return false; @@ -307,573 +98,233 @@ internal static class ClearObjectsWithAction private IGameObject? FindNearestUnvisitedObject() { - IPlayerCharacter playerCharacter = _202E_202D_206A_206F_206E_206E_202E_206F_206E_202E_206E_202A_206F_202A_200D_202B_202C_200D_206A_200B_206F_206C_206B_200F_202E_206B_202B_202A_200B_206F_202E_202C_202A_202C_200F_202A_200D_206D_200E_206A_202E(objectTable); - int num = ((playerCharacter != null) ? 369863668 : 369863671); - ObjectKind objectKind = default(ObjectKind); - IGameObject current = default(IGameObject); - bool flag = default(bool); - float num9 = default(float); - while (true) + IPlayerCharacter localPlayer = objectTable.LocalPlayer; + if (localPlayer == null) { - int num2 = num; - int num3 = 369863669; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0058; - case 2: - return null; - case 1: - { - IGameObject result = null; - float num7 = float.MaxValue; - IEnumerator enumerator = objectTable.GetEnumerator(); - try - { - num = -809841108; - while (true) - { - int num8 = num; - num3 = -809841120; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - num = -809841108; - break; - case 8: - num = ((objectKind - 8 <= ObjectKind.BattleNpc) ? (-809841113) : (-809841120)); - break; - case 3: - num = ((!base.Task.DataIds.Contains(_200F_202E_202A_202C_202D_200C_206C_202D_202E_200F_202B_206F_206E_200D_206F_202D_206C_202B_200B_206B_206B_206E_206F_206D_206C_206D_200B_202D_200C_200D_206F_200C_202C_200F_206E_206D_206A_200B_200F_202E_202E(current))) ? (-809841108) : (-809841110)); - break; - case 10: - num = (IsVisitedPosition(_206F_206B_202E_202D_206E_206F_200C_206C_200D_200F_200C_202C_200E_202B_200D_200B_202D_206C_202D_206E_206A_200C_206F_202E_200C_200F_202A_206A_202E_206D_206C_202B_200F_200E_202C_202C_200C_202D_206E_200C_202E(current)) ? (-809841108) : (-809841116)); - break; - case 0: - num = ((objectKind != ObjectKind.HousingEventObject) ? (-809841119) : (-809841113)); - break; - case 7: - flag = true; - num = -809841111; - break; - case 5: - current = enumerator.Current; - objectKind = _206B_200C_206F_202D_200D_202E_200F_200B_200E_206A_200C_202D_206B_202A_206E_202A_206D_206C_200D_202D_200E_206C_206A_202E_206E_200B_200F_200B_202D_200C_206B_202C_200C_200D_200E_206A_200B_202A_206B_202A_202E(current); - num = ((objectKind == ObjectKind.Pc) ? (-809841113) : (-809841112)); - break; - case 1: - flag = false; - num = -809841111; - break; - case 12: - num = (_202B_200D_206A_206F_202C_202D_200C_200D_202A_200C_202C_206A_206B_202A_206E_200E_202D_206E_200C_206A_202A_200C_200E_202A_200C_202A_202D_202B_200F_200C_206F_200B_206D_200D_200B_206A_206F_202B_206C_206E_202E((IEnumerator)enumerator) ? (-809841115) : (-809841109)); - break; - case 2: - result = current; - num7 = num9; - num = -809841108; - break; - case 4: - num9 = Vector3.Distance(_206F_206B_202E_202D_206E_206F_200C_206C_200D_200F_200C_202C_200E_202B_200D_200B_202D_206C_202D_206E_206A_200C_206F_202E_200C_200F_202A_206A_202E_206D_206C_202B_200F_200E_202C_202C_200C_202D_206E_200C_202E((IGameObject)playerCharacter), _206F_206B_202E_202D_206E_206F_200C_206C_200D_200F_200C_202C_200E_202B_200D_200B_202D_206C_202D_206E_206A_200C_206F_202E_200C_200F_202A_206A_202E_206D_206C_202B_200F_200E_202C_202C_200C_202D_206E_200C_202E(current)); - num = ((!(num9 < num7)) ? (-809841108) : (-809841118)); - break; - case 9: - num = (flag ? (-809841108) : (-809841117)); - break; - case 11: - return result; - } - } - } - finally - { - num = ((enumerator == null) ? 1651401631 : 1651401630); - while (true) - { - int num10 = num; - num3 = 1651401631; - num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1651401630; - break; - case 1: - _202D_202E_206F_200D_200D_200C_200C_202E_202C_200B_206F_200B_202C_200F_202B_202C_206B_206E_206B_206C_200D_202D_202E_200E_202E_200B_200B_206C_206F_200D_206F_200D_200B_200F_202C_200F_206C_200F_202D_206F_202E((IDisposable)enumerator); - num = 1651401631; - break; - case 0: - goto end_IL_0281; - } - continue; - end_IL_0281: - break; - } - } - } - } - continue; - IL_0058: - num = 369863671; + return null; } + IGameObject result = null; + float num = float.MaxValue; + foreach (IGameObject item in objectTable) + { + ObjectKind objectKind = item.ObjectKind; + bool flag = ((objectKind == ObjectKind.Pc || objectKind - 8 <= ObjectKind.BattleNpc || objectKind == ObjectKind.HousingEventObject) ? true : false); + if (!flag && base.Task.DataIds.Contains(item.BaseId) && !IsVisitedPosition(item.Position)) + { + float num2 = Vector3.Distance(localPlayer.Position, item.Position); + if (num2 < num) + { + result = item; + num = num2; + } + } + } + return result; } private bool AnyMatchingObjectsExist() { - IEnumerator enumerator = objectTable.GetEnumerator(); - try + foreach (IGameObject item in objectTable) { - int num = -1516506812; - bool flag = default(bool); - IGameObject current = default(IGameObject); - ObjectKind objectKind = default(ObjectKind); - while (true) + ObjectKind objectKind = item.ObjectKind; + bool flag = ((objectKind == ObjectKind.Pc || objectKind - 8 <= ObjectKind.BattleNpc || objectKind == ObjectKind.HousingEventObject) ? true : false); + if (!flag && base.Task.DataIds.Contains(item.BaseId)) { - int num2 = num; - int num3 = -1516506804; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - flag = false; - num = -1516506805; - break; - case 2: - current = enumerator.Current; - objectKind = _206B_200C_206F_202D_200D_202E_200F_200B_200E_206A_200C_202D_206B_202A_206E_202A_206D_206C_200D_202D_200E_206C_206A_202E_206E_200B_200F_200B_202D_200C_206B_202C_200C_200D_200E_206A_200B_202A_206B_202A_202E(current); - num = ((objectKind == ObjectKind.Pc) ? (-1516506811) : (-1516506803)); - break; - case 9: - flag = true; - num = -1516506805; - break; - case 7: - num = (flag ? (-1516506812) : (-1516506808)); - break; - case 3: - num = ((objectKind != ObjectKind.HousingEventObject) ? (-1516506806) : (-1516506811)); - break; - case 4: - num = ((!base.Task.DataIds.Contains(_200F_202E_202A_202C_202D_200C_206C_202D_202E_200F_202B_206F_206E_200D_206F_202D_206C_202B_200B_206B_206B_206E_206F_206D_206C_206D_200B_202D_200C_200D_206F_200C_202C_200F_206E_206D_206A_200B_200F_202E_202E(current))) ? (-1516506812) : (-1516506804)); - break; - case 1: - num = ((objectKind - 8 <= ObjectKind.BattleNpc) ? (-1516506811) : (-1516506801)); - break; - case 10: - num = -1516506812; - break; - case 8: - num = (_202B_200D_206A_206F_202C_202D_200C_200D_202A_200C_202C_206A_206B_202A_206E_200E_202D_206E_200C_206A_202A_200C_200E_202A_200C_202A_202D_202B_200F_200C_206F_200B_206D_200D_200B_206A_206F_202B_206C_206E_202E((IEnumerator)enumerator) ? (-1516506802) : (-1516506807)); - break; - case 0: - return true; - case 5: - goto end_IL_0018; - } - continue; - end_IL_0018: - break; - } - } - finally - { - int num = ((enumerator == null) ? 202718047 : 202718046); - while (true) - { - int num7 = num; - int num3 = 202718047; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 2: - num = 202718046; - break; - case 0: - goto end_IL_01a6; - case 1: - _202D_202E_206F_200D_200D_200C_200C_202E_202C_200B_206F_200B_202C_200F_202B_202C_206B_206E_206B_206C_200D_202D_202E_200E_202E_200B_200B_206C_206F_200D_206F_200D_200B_200F_202C_200F_206C_200F_202D_206F_202E((IDisposable)enumerator); - num = 202718047; - break; - } - continue; - end_IL_01a6: - break; + return true; } } return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool TryFindAndMove() { IGameObject gameObject = FindNearestUnvisitedObject(); - int num = ((gameObject != null) ? (-1389714717) : (-1389714719)); - while (true) + if (gameObject == null) { - int num2 = num; - int num3 = -1389714720; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _state = State.FindingObject; + long valueOrDefault = _noObjectFoundSince.GetValueOrDefault(); + if (!_noObjectFoundSince.HasValue) { - case 2: - { - long valueOrDefault = _206E_200B_206F_206F_206A_200B_202A_206C_200F_206A_206F_202A_202C_206D_206A_200B_202C_200D_202D_202A_202D_200C_206C_202A_206A_206F_200E_200F_200D_200F_200E_200F_206A_202B_206A_206C_200E_202B_202E_206E_202E(); + valueOrDefault = Environment.TickCount64; _noObjectFoundSince = valueOrDefault; - num = -1389714720; - break; - } - case 0: - return true; - case 4: - num = -1389714719; - break; - case 3: - { - _noObjectFoundSince = null; - Vector3 vector = _206F_206B_202E_202D_206E_206F_200C_206C_200D_200F_200C_202C_200E_202B_200D_200B_202D_206C_202D_206E_206A_200C_206F_202E_200C_200F_202A_206A_202E_206D_206C_202B_200F_200E_202C_202C_200C_202D_206E_200C_202E(gameObject); - _206D_202E_206F_206A_206A_202D_202D_200E_202A_200D_202B_200E_202E_206D_206C_202C_206D_206B_206C_200C_206A_206E_202D_206A_202E_200B_202D_200F_202A_206E_200D_206F_202D_200E_206D_200D_200C_200C_202E_202C_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-537067884), new object[2] - { - _200F_202E_202A_202C_202D_200C_206C_202D_202E_200F_202B_206F_206E_200D_206F_202D_206C_202B_200B_206B_206B_206E_206F_206D_206C_206D_200B_202D_200C_200D_206F_200C_202C_200F_206E_206D_206A_200B_200F_202E_202E(gameObject), - vector - }); - movementController.NavigateTo(EMovementType.Quest, _200F_202E_202A_202C_202D_200C_206C_202D_202E_200F_202B_206F_206E_200D_206F_202D_206C_202B_200B_206B_206B_206E_206F_206D_206C_206D_200B_202D_200C_200D_206F_200C_202C_200F_206E_206D_206A_200B_200F_202E_202E(gameObject), vector, fly: false, sprint: true, base.Task.StopDistance); - _state = State.MovingToObject; - return true; - } - case 1: - { - _state = State.FindingObject; - long valueOrDefault = _noObjectFoundSince.GetValueOrDefault(); - num = (_noObjectFoundSince.HasValue ? (-1389714720) : (-1389714718)); - break; - } } + return true; } + _noObjectFoundSince = null; + Vector3 position = gameObject.Position; + logger.LogDebug("Moving to object {DataId} at {Position}", gameObject.BaseId, position); + movementController.NavigateTo(EMovementType.Quest, gameObject.BaseId, position, fly: false, sprint: true, base.Task.StopDistance); + _state = State.MovingToObject; + return true; } private (Vector3 Position, int Index)? FindNextWaypoint() { - IPlayerCharacter playerCharacter = _202E_202D_206A_206F_206E_206E_202E_206F_206E_202E_206E_202A_206F_202A_200D_202B_202C_200D_206A_200B_206F_206C_206B_200F_202E_206B_202B_202A_200B_206F_202E_202C_202A_202C_200F_202A_200D_206D_200E_206A_202E(objectTable); - int num = ((playerCharacter == null) ? (-1282394500) : (-1282394504)); - int num5 = default(int); - (Vector3, int)? result = default((Vector3, int)?); - float num6 = default(float); - float num7 = default(float); - while (true) + IPlayerCharacter localPlayer = objectTable.LocalPlayer; + if (localPlayer == null || base.Task.WaypointPositions.Count == 0) { - int num2 = num; - int num3 = -1282394500; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return null; + } + (Vector3, int)? result = null; + float num = float.MaxValue; + for (int i = 0; i < base.Task.WaypointPositions.Count; i++) + { + if (!_triedWaypointIndices.Contains(i)) { - case 9: - num = -1282394504; - break; - case 1: - num = (_triedWaypointIndices.Contains(num5) ? (-1282394497) : (-1282394503)); - break; - case 0: - return null; - case 7: - result = null; - num6 = float.MaxValue; - num5 = 0; - num = -1282394498; - break; - case 8: - return result; - case 5: - num7 = Vector3.Distance(_206F_206B_202E_202D_206E_206F_200C_206C_200D_200F_200C_202C_200E_202B_200D_200B_202D_206C_202D_206E_206A_200C_206F_202E_200C_200F_202A_206A_202E_206D_206C_202B_200F_200E_202C_202C_200C_202D_206E_200C_202E((IGameObject)playerCharacter), base.Task.WaypointPositions[num5]); - num = ((!(num7 < num6)) ? (-1282394497) : (-1282394502)); - break; - case 3: - { - int num8 = num5; - num3 = 1; - num4 = num8; - num5 = (num4 | num3) + (num4 & num3); - num = -1282394498; - break; - } - case 2: - num = ((num5 < base.Task.WaypointPositions.Count) ? (-1282394499) : (-1282394508)); - break; - case 6: - result = (base.Task.WaypointPositions[num5], num5); - num6 = num7; - num = -1282394497; - break; - case 4: - num = ((base.Task.WaypointPositions.Count != 0) ? (-1282394501) : (-1282394500)); - break; + float num2 = Vector3.Distance(localPlayer.Position, base.Task.WaypointPositions[i]); + if (num2 < num) + { + result = (base.Task.WaypointPositions[i], i); + num = num2; + } } } + return result; } - [MethodImpl(MethodImplOptions.NoInlining)] private void NavigateToNextWaypoint() { (Vector3, int)? tuple = FindNextWaypoint(); - int num = (tuple.HasValue ? (-2030731554) : (-2030731555)); - while (true) + if (!tuple.HasValue) { - int num2 = num; - int num3 = -2030731553; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + logger.LogDebug("All waypoints tried without transition, resetting"); + _triedWaypointIndices.Clear(); + tuple = FindNextWaypoint(); + if (!tuple.HasValue) { - case 0: - num = -2030731555; - break; - case 1: - _triedWaypointIndices.Add(tuple.Value.Item2); - _206D_202E_206F_206A_206A_202D_202D_200E_202A_200D_202B_200E_202E_206D_206C_202C_206D_206B_206C_200C_206A_206E_202D_206A_202E_200B_202D_200F_202A_206E_200D_206F_202D_200E_206D_200D_200C_200C_202E_202C_202E((ILogger)logger, 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(-670749677), new object[2] - { - tuple.Value.Item2, - tuple.Value.Item1 - }); - movementController.NavigateTo(EMovementType.Quest, null, tuple.Value.Item1, fly: false, sprint: true, 0f); - _state = State.MovingToWaypoint; - return; - case 2: - _206D_202E_206F_206A_206A_202D_202D_200E_202A_200D_202B_200E_202E_206D_206C_202C_206D_206B_206C_200C_206A_206E_202D_206A_202E_200B_202D_200F_202A_206E_200D_206F_202D_200E_206D_200D_200C_200C_202E_202C_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1862499032), Array.Empty()); - _triedWaypointIndices.Clear(); - tuple = FindNextWaypoint(); - num = (tuple.HasValue ? (-2030731554) : (-2030731556)); - break; - case 3: - { - _200C_206D_202C_202A_200E_200D_206A_202E_202A_202A_206D_200B_200B_206C_202C_206F_206D_206B_206E_200C_202E_202B_202C_206D_202D_202E_202A_202B_206E_206E_202C_206D_202C_206E_202E_206C_202C_202D_206B_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1139290965), Array.Empty()); + logger.LogWarning("No waypoint positions configured, waiting for transition"); _state = State.WaitingForTransition; - IPlayerCharacter playerCharacter = _202E_202D_206A_206F_206E_206E_202E_206F_206E_202E_206E_202A_206F_202A_200D_202B_202C_200D_206A_200B_206F_206C_206B_200F_202E_206B_202B_202A_200B_206F_202E_202C_202A_202C_200F_202A_200D_206D_200E_206A_202E(objectTable); - _lastPlayerPosition = ((playerCharacter != null) ? _206F_206B_202E_202D_206E_206F_200C_206C_200D_200F_200C_202C_200E_202B_200D_200B_202D_206C_202D_206E_206A_200C_206F_202E_200C_200F_202A_206A_202E_206D_206C_202B_200F_200E_202C_202C_200C_202D_206E_200C_202E((IGameObject)playerCharacter) : Vector3.Zero); + _lastPlayerPosition = objectTable.LocalPlayer?.Position ?? Vector3.Zero; return; } - } } + _triedWaypointIndices.Add(tuple.Value.Item2); + logger.LogDebug("Moving to waypoint {Index} at {Position}", tuple.Value.Item2, tuple.Value.Item1); + movementController.NavigateTo(EMovementType.Quest, null, tuple.Value.Item1, fly: false, sprint: true, 0f); + _state = State.MovingToWaypoint; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - int num = ((_206B_200D_200C_200B_206B_200F_206E_202E_206C_200E_200E_206A_206C_202C_206B_202E_206D_200F_206D_200B_202E_200D_202D_202D_206B_200E_202B_206F_200F_206B_202D_206C_202B_206F_202D_206F_206E_206B_206B_202A_202E(clientState) == base.Task.TerritoryId) ? 1463547447 : 1463547454); - long? num5 = default(long?); - float num6 = default(float); - IPlayerCharacter playerCharacter2 = default(IPlayerCharacter); - IGameObject gameObject = default(IGameObject); - IPlayerCharacter playerCharacter = default(IPlayerCharacter); - while (true) + if (clientState.TerritoryType != base.Task.TerritoryId) { - int num2 = num; - int num3 = 1463547413; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return ETaskResult.TaskComplete; + } + switch (_state) + { + case State.FindingObject: + { + long? waypointReachedAt = _noObjectFoundSince; + if (waypointReachedAt.HasValue) { - case 28: - num = (movementController.HasBeenMovingForAtLeast(2000) ? 1463547404 : 1463547398); - break; - case 10: - TryFindAndMove(); - return ETaskResult.StillRunning; - case 32: - return ETaskResult.StillRunning; - case 40: - num = (movementController.HasBeenMovingForAtLeast(2000) ? 1463547406 : 1463547415); - break; - case 19: - return ETaskResult.StillRunning; - case 14: - return ETaskResult.StillRunning; - case 24: - return ETaskResult.StillRunning; - case 21: - _206D_202E_206F_206A_206A_202D_202D_200E_202A_200D_202B_200E_202E_206D_206C_202C_206D_206B_206C_200C_206A_206E_202D_206A_202E_200B_202D_200F_202A_206E_200D_206F_202D_200E_206D_200D_200C_200C_202E_202C_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1558405168), Array.Empty()); - NavigateToNextWaypoint(); - num = 1463547419; - break; - case 41: - num = ((!AnyMatchingObjectsExist()) ? 1463547402 : 1463547443); - break; - case 31: - _206D_202E_206F_206A_206A_202D_202D_200E_202A_200D_202B_200E_202E_206D_206C_202C_206D_206B_206C_200C_206A_206E_202D_206A_202E_200B_202D_200F_202A_206E_200D_206F_202D_200E_206D_200D_200C_200C_202E_202C_202E((ILogger)logger, 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(-1555949411), Array.Empty()); - NavigateToNextWaypoint(); - num = 1463547405; - break; - case 20: - num = 1463547440; - break; - case 7: - num5 = _noObjectFoundSince; - num = ((!num5.HasValue) ? 1463547423 : 1463547403); - break; - case 30: - { - long valueOrDefault2 = num5.GetValueOrDefault(); - long num12 = _206E_200B_206F_206F_206A_200B_202A_206C_200F_206A_206F_202A_202C_206D_206A_200B_202C_200D_202D_202A_202D_200C_206C_202A_206A_206F_200E_200F_200D_200F_200E_200F_206A_202B_206A_206C_200E_202B_202E_206E_202E(); - long num8 = 3000L; - long num9 = valueOrDefault2; - num = ((num12 <= (num9 | num8) + (num9 & num8)) ? 1463547423 : 1463547452); - break; + long valueOrDefault2 = waypointReachedAt.GetValueOrDefault(); + if (Environment.TickCount64 > valueOrDefault2 + 3000) + { + if (AnyMatchingObjectsExist()) + { + logger.LogDebug("Matching objects still exist, clearing visited positions and retrying"); + _visitedPositions.Clear(); + _noObjectFoundSince = null; + } + else + { + logger.LogDebug("No matching objects remain, moving to waypoint"); + NavigateToNextWaypoint(); + } + return ETaskResult.StillRunning; + } } - case 2: - return ETaskResult.StillRunning; - case 26: + TryFindAndMove(); + return ETaskResult.StillRunning; + } + case State.MovingToObject: + { + if (movementController.IsPathfinding || movementController.IsPathRunning) { - long valueOrDefault = num5.GetValueOrDefault(); - long num7 = _206E_200B_206F_206F_206A_200B_202A_206C_200F_206A_206F_202A_202C_206D_206A_200B_202C_200D_202D_202A_202D_200C_206C_202A_206A_206F_200E_200F_200D_200F_200E_200F_206A_202B_206A_206C_200E_202B_202E_206E_202E(); - long num8 = 3000L; - long num9 = valueOrDefault; - long num10 = num9 ^ num8; - long num11 = num9 & num8; - num = ((num7 <= num10 + (num11 + num11)) ? 1463547419 : 1463547392); - break; - } - case 5: - _206D_202E_206F_206A_206A_202D_202D_200E_202A_200D_202B_200E_202E_206D_206C_202C_206D_206B_206C_200C_206A_206E_202D_206A_202E_200B_202D_200F_202A_206E_200D_206F_202D_200E_206D_200D_200C_200C_202E_202C_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(928588385), new object[1] { num6 }); - ResetSearchState(); - _state = State.FindingObject; - return ETaskResult.StillRunning; - case 16: - return ETaskResult.StillRunning; - case 3: - return ETaskResult.StillRunning; - case 39: - num = ((FindNearestUnvisitedObject() == null) ? 1463547400 : 1463547444); - break; - case 15: - goto IL_0302; - case 9: - goto IL_0335; - case 29: - num5 = _waypointReachedAt; - num = ((!num5.HasValue) ? 1463547419 : 1463547407); - break; - case 25: - { - _206D_202E_206F_206A_206A_202D_202D_200E_202A_200D_202B_200E_202E_206D_206C_202C_206D_206B_206C_200C_206A_206E_202D_206A_202E_200B_202D_200F_202A_206E_200D_206F_202D_200E_206D_200D_200C_200C_202E_202C_202E((ILogger)logger, 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(-1901536067), Array.Empty()); - _state = State.WaitingForTransition; - IPlayerCharacter playerCharacter3 = _202E_202D_206A_206F_206E_206E_202E_206F_206E_202E_206E_202A_206F_202A_200D_202B_202C_200D_206A_200B_206F_206C_206B_200F_202E_206B_202B_202A_200B_206F_202E_202C_202A_202C_200F_202A_200D_206D_200E_206A_202E(objectTable); - _lastPlayerPosition = ((playerCharacter3 != null) ? _206F_206B_202E_202D_206E_206F_200C_206C_200D_200F_200C_202C_200E_202B_200D_200B_202D_206C_202D_206E_206A_200C_206F_202E_200C_200F_202A_206A_202E_206D_206C_202B_200F_200E_202C_202C_200C_202D_206E_200C_202E((IGameObject)playerCharacter3) : Vector3.Zero); - _waypointReachedAt = _206E_200B_206F_206F_206A_200B_202A_206C_200F_206A_206F_202A_202C_206D_206A_200B_202C_200D_202D_202A_202D_200C_206C_202A_206A_206F_200E_200F_200D_200F_200E_200F_206A_202B_206A_206C_200E_202B_202E_206E_202E(); return ETaskResult.StillRunning; } - case 42: - num = ((playerCharacter2 == null) ? 1463547396 : 1463547394); - break; - case 18: - num = 1463547454; - break; - case 1: + if (!movementController.HasBeenMovingForAtLeast(2000)) + { return ETaskResult.StillRunning; - case 33: - _206D_202E_206F_206A_206A_202D_202D_200E_202A_200D_202B_200E_202E_206D_206C_202C_206D_206B_206C_200C_206A_206E_202D_206A_202E_200B_202D_200F_202A_206E_200D_206F_202D_200E_206D_200D_200C_200C_202E_202C_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1070649876), Array.Empty()); - ResetSearchState(); - TryFindAndMove(); - return ETaskResult.StillRunning; - case 23: - num = ((!(Vector3.Distance(_206F_206B_202E_202D_206E_206F_200C_206C_200D_200F_200C_202C_200E_202B_200D_200B_202D_206C_202D_206E_206A_200C_206F_202E_200C_200F_202A_206A_202E_206D_206C_202B_200F_200E_202C_202C_200C_202D_206E_200C_202E((IGameObject)playerCharacter2), _206F_206B_202E_202D_206E_206F_200C_206C_200D_200F_200C_202C_200E_202B_200D_200B_202D_206C_202D_206E_206A_200C_206F_202E_200C_200F_202A_206A_202E_206D_206C_202B_200F_200E_202C_202C_200C_202D_206E_200C_202E(gameObject)) <= 5f)) ? 1463547396 : 1463547409); - break; - case 13: - goto IL_046d; - case 37: - return ETaskResult.TaskComplete; - case 38: - _206D_202E_206F_206A_206A_202D_202D_200E_202A_200D_202B_200E_202E_206D_206C_202C_206D_206B_206C_200C_206A_206E_202D_206A_202E_200B_202D_200F_202A_206E_200D_206F_202D_200E_206D_200D_200C_200C_202E_202C_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(913271275), Array.Empty()); - _visitedPositions.Clear(); - _noObjectFoundSince = null; - num = 1463547405; - break; - case 36: - return ETaskResult.StillRunning; - case 17: - _206D_202E_206F_206A_206A_202D_202D_200E_202A_200D_202B_200E_202E_206D_206C_202C_206D_206B_206C_200C_206A_206E_202D_206A_202E_200B_202D_200F_202A_206E_200D_206F_202D_200E_206D_200D_200C_200C_202E_202C_202E((ILogger)logger, 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(-342843260), Array.Empty()); - TryFindAndMove(); - num = 1463547412; - break; - case 6: - num6 = Vector3.Distance(_lastPlayerPosition, _206F_206B_202E_202D_206E_206F_200C_206C_200D_200F_200C_202C_200E_202B_200D_200B_202D_206C_202D_206E_206A_200C_206F_202E_200C_200F_202A_206A_202E_206D_206C_202B_200F_200E_202C_202C_200C_202D_206E_200C_202E((IGameObject)playerCharacter)); - num = ((!(num6 > 50f)) ? 1463547442 : 1463547408); - break; - case 22: - TryFindAndMove(); - return ETaskResult.StillRunning; - case 11: - goto IL_0543; - case 27: - gameObject = FindNearestUnvisitedObject(); - playerCharacter2 = _202E_202D_206A_206F_206E_206E_202E_206F_206E_202E_206E_202A_206F_202A_200D_202B_202C_200D_206A_200B_206F_206C_206B_200F_202E_206B_202B_202A_200B_206F_202E_202C_202A_202C_200F_202A_200D_206D_200E_206A_202E(objectTable); - num = ((gameObject == null) ? 1463547396 : 1463547455); - break; - case 4: - _visitedPositions.Add(_206F_206B_202E_202D_206E_206F_200C_206C_200D_200F_200C_202C_200E_202B_200D_200B_202D_206C_202D_206E_206A_200C_206F_202E_200C_200F_202A_206A_202E_206D_206C_202B_200F_200E_202C_202C_200C_202D_206E_200C_202E(gameObject)); + } + IGameObject gameObject = FindNearestUnvisitedObject(); + IPlayerCharacter localPlayer2 = objectTable.LocalPlayer; + if (gameObject != null && localPlayer2 != null && Vector3.Distance(localPlayer2.Position, gameObject.Position) <= 5f) + { + _visitedPositions.Add(gameObject.Position); _state = State.UsingAction; - num = 1463547412; - break; - case 12: - goto IL_05c0; - case 43: - return ETaskResult.TaskComplete; - case 35: - num = ((!movementController.IsPathRunning) ? 1463547401 : 1463547397); - break; - case 34: - switch (_state) - { - case State.FindingObject: - break; - case State.UsingAction: - goto IL_0302; - case State.WaitingForTransition: - goto IL_0335; - case State.MovingToWaypoint: - goto IL_046d; - case State.MovingToObject: - goto IL_0543; - case State.WaitingAfterAction: - goto IL_05c0; - default: - goto IL_0639; - } - goto case 7; - case 8: - num = ((!movementController.IsPathRunning) ? 1463547453 : 1463547445); - break; - case 0: - { - _206D_202E_206F_206A_206A_202D_202D_200E_202A_200D_202B_200E_202E_206D_206C_202C_206D_206B_206C_200C_206A_206E_202D_206A_202E_200B_202D_200F_202A_206E_200D_206F_202D_200E_206D_200D_200C_200C_202E_202C_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1991658381), new object[1] { base.Task.Action }); - _waitUntil = _206E_200B_206F_206F_206A_200B_202A_206C_200F_206A_206F_202A_202C_206D_206A_200B_202C_200D_202D_202A_202D_200C_206C_202A_206A_206F_200E_200F_200D_200F_200E_200F_206A_202B_206A_206C_200E_202B_202E_206E_202E() + 1000; - _state = State.WaitingAfterAction; - num = 1463547441; - break; - } - IL_0639: - num = 1463547393; - break; - IL_0335: - playerCharacter = _202E_202D_206A_206F_206E_206E_202E_206F_206E_202E_206E_202A_206F_202A_200D_202B_202C_200D_206A_200B_206F_206C_206B_200F_202E_206B_202B_202A_200B_206F_202E_202C_202A_202C_200F_202A_200D_206D_200E_206A_202E(objectTable); - num = ((playerCharacter == null) ? 1463547442 : 1463547411); - break; - IL_05c0: - num = ((_206E_200B_206F_206F_206A_200B_202A_206C_200F_206A_206F_202A_202C_206D_206A_200B_202C_200D_202D_202A_202D_200C_206C_202A_206A_206F_200E_200F_200D_200F_200E_200F_206A_202B_206A_206C_200E_202B_202E_206E_202E() >= _waitUntil) ? 1463547395 : 1463547414); - break; - IL_0302: - num = ((!gameFunctions.UseAction(base.Task.Action)) ? 1463547441 : 1463547413); - break; - IL_0543: - num = (movementController.IsPathfinding ? 1463547445 : 1463547421); - break; - IL_046d: - num = (movementController.IsPathfinding ? 1463547397 : 1463547446); - break; } + else + { + logger.LogDebug("Target no longer valid at destination, finding next"); + TryFindAndMove(); + } + return ETaskResult.StillRunning; + } + case State.UsingAction: + if (gameFunctions.UseAction(base.Task.Action)) + { + logger.LogDebug("Used action {Action}", base.Task.Action); + _waitUntil = Environment.TickCount64 + 1000; + _state = State.WaitingAfterAction; + } + return ETaskResult.StillRunning; + case State.WaitingAfterAction: + if (Environment.TickCount64 < _waitUntil) + { + return ETaskResult.StillRunning; + } + TryFindAndMove(); + return ETaskResult.StillRunning; + case State.MovingToWaypoint: + if (movementController.IsPathfinding || movementController.IsPathRunning) + { + return ETaskResult.StillRunning; + } + if (!movementController.HasBeenMovingForAtLeast(2000)) + { + return ETaskResult.StillRunning; + } + logger.LogDebug("Reached waypoint, waiting for zone transition"); + _state = State.WaitingForTransition; + _lastPlayerPosition = objectTable.LocalPlayer?.Position ?? Vector3.Zero; + _waypointReachedAt = Environment.TickCount64; + return ETaskResult.StillRunning; + case State.WaitingForTransition: + { + IPlayerCharacter localPlayer = objectTable.LocalPlayer; + if (localPlayer != null) + { + float num = Vector3.Distance(_lastPlayerPosition, localPlayer.Position); + if (num > 50f) + { + logger.LogDebug("Zone transition detected (moved {Distance}), resuming plant clearing", num); + ResetSearchState(); + _state = State.FindingObject; + return ETaskResult.StillRunning; + } + } + if (FindNearestUnvisitedObject() != null) + { + logger.LogDebug("New objects detected, resuming plant clearing"); + ResetSearchState(); + TryFindAndMove(); + return ETaskResult.StillRunning; + } + long? waypointReachedAt = _waypointReachedAt; + if (waypointReachedAt.HasValue) + { + long valueOrDefault = waypointReachedAt.GetValueOrDefault(); + if (Environment.TickCount64 > valueOrDefault + 3000) + { + logger.LogDebug("No transition at this waypoint, trying next"); + NavigateToNextWaypoint(); + } + } + return ETaskResult.StillRunning; + } + default: + return ETaskResult.TaskComplete; } } @@ -888,55 +339,5 @@ internal static class ClearObjectsWithAction { return false; } - - static uint _206B_200D_200C_200B_206B_200F_206E_202E_206C_200E_200E_206A_206C_202C_206B_202E_206D_200F_206D_200B_202E_200D_202D_202D_206B_200E_202B_206F_200F_206B_202D_206C_202B_206F_202D_206F_206E_206B_206B_202A_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static IPlayerCharacter _202E_202D_206A_206F_206E_206E_202E_206F_206E_202E_206E_202A_206F_202A_200D_202B_202C_200D_206A_200B_206F_206C_206B_200F_202E_206B_202B_202A_200B_206F_202E_202C_202A_202C_200F_202A_200D_206D_200E_206A_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static ObjectKind _206B_200C_206F_202D_200D_202E_200F_200B_200E_206A_200C_202D_206B_202A_206E_202A_206D_206C_200D_202D_200E_206C_206A_202E_206E_200B_200F_200B_202D_200C_206B_202C_200C_200D_200E_206A_200B_202A_206B_202A_202E(IGameObject P_0) - { - return P_0.ObjectKind; - } - - static uint _200F_202E_202A_202C_202D_200C_206C_202D_202E_200F_202B_206F_206E_200D_206F_202D_206C_202B_200B_206B_206B_206E_206F_206D_206C_206D_200B_202D_200C_200D_206F_200C_202C_200F_206E_206D_206A_200B_200F_202E_202E(IGameObject P_0) - { - return P_0.BaseId; - } - - static Vector3 _206F_206B_202E_202D_206E_206F_200C_206C_200D_200F_200C_202C_200E_202B_200D_200B_202D_206C_202D_206E_206A_200C_206F_202E_200C_200F_202A_206A_202E_206D_206C_202B_200F_200E_202C_202C_200C_202D_206E_200C_202E(IGameObject P_0) - { - return P_0.Position; - } - - static bool _202B_200D_206A_206F_202C_202D_200C_200D_202A_200C_202C_206A_206B_202A_206E_200E_202D_206E_200C_206A_202A_200C_200E_202A_200C_202A_202D_202B_200F_200C_206F_200B_206D_200D_200B_206A_206F_202B_206C_206E_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202D_202E_206F_200D_200D_200C_200C_202E_202C_200B_206F_200B_202C_200F_202B_202C_206B_206E_206B_206C_200D_202D_202E_200E_202E_200B_200B_206C_206F_200D_206F_200D_200B_200F_202C_200F_206C_200F_202D_206F_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static long _206E_200B_206F_206F_206A_200B_202A_206C_200F_206A_206F_202A_202C_206D_206A_200B_202C_200D_202D_202A_202D_200C_206C_202A_206A_206F_200E_200F_200D_200F_200E_200F_206A_202B_206A_206C_200E_202B_202E_206E_202E() - { - return Environment.TickCount64; - } - - static void _206D_202E_206F_206A_206A_202D_202D_200E_202A_200D_202B_200E_202E_206D_206C_202C_206D_206B_206C_200C_206A_206E_202D_206A_202E_200B_202D_200F_202A_206E_200D_206F_202D_200E_206D_200D_200C_200C_202E_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static void _200C_206D_202C_202A_200E_200D_206A_202E_202A_202A_206D_200B_200B_206C_202C_206F_206D_206B_206E_200C_202E_202B_202C_206D_202D_202E_202A_202B_206E_206E_202C_206D_202C_206E_202E_206C_202C_202D_206B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } } } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/Combat.cs b/Questionable/Questionable.Controller.Steps.Interactions/Combat.cs index e02e4e8..90c3b7a 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/Combat.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/Combat.cs @@ -1,11 +1,6 @@ using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Linq; -using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Questionable.Controller.Steps.Common; using Questionable.Controller.Steps.Shared; using Questionable.Controller.Utils; @@ -19,912 +14,104 @@ internal static class Combat { internal sealed class Factory(GameFunctions gameFunctions) : ITaskFactory { - [CompilerGenerated] - private sealed class _003CCreateAllTasks_003Ed__2 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ITask _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - private QuestStep step; - - public QuestStep _003C_003E3__step; - - public Factory _003C_003E4__this; - - private Quest quest; - - public Quest _003C_003E3__quest; - - private QuestSequence sequence; - - public QuestSequence _003C_003E3__sequence; - - ITask IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CCreateAllTasks_003Ed__2(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _200B_206D_206A_202A_206A_200C_202C_202D_200D_202B_202D_202C_200D_206A_200E_206E_206E_202A_200C_206F_206E_206E_206E_200D_200B_206F_200E_206A_206B_202A_200F_202B_206F_200E_202A_202B_202E_206B_202A_206F_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - int num = _003C_003E1__state; - Factory factory = _003C_003E4__this; - int num2; - ushort? num8 = default(ushort?); - EEnemySpawnType? eEnemySpawnType = default(EEnemySpawnType?); - ushort? mountId = default(ushort?); - switch (num) - { - default: - num2 = 1179923930; - goto IL_0084; - case 21: - _003C_003E1__state = -1; - num2 = 1179923917; - goto IL_0084; - case 6: - goto IL_022c; - case 8: - goto IL_0241; - case 16: - goto IL_0291; - case 11: - goto IL_02e5; - case 12: - goto IL_02f8; - case 5: - goto IL_030b; - case 23: - goto IL_031e; - case 22: - goto IL_0331; - case 1: - goto IL_03b6; - case 20: - goto IL_040b; - case 13: - goto IL_041e; - case 7: - goto IL_0485; - case 2: - goto IL_050d; - case 18: - goto IL_0796; - case 3: - goto IL_088c; - case 9: - goto IL_08ae; - case 17: - goto IL_0959; - case 14: - goto IL_096c; - case 19: - goto IL_099a; - case 4: - goto IL_09c8; - case 24: - goto IL_0a80; - case 15: - goto IL_0a93; - case 0: - goto IL_0b4b; - case 10: - break; - IL_0084: - while (true) - { - int num3 = num2; - int num4 = 1179923945; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - int? obj; - int? obj2; - switch (num6 - (num7 + num7)) - { - case 20: - goto IL_01a2; - case 23: - goto end_IL_0084; - case 35: - obj = num8.GetValueOrDefault(); - goto IL_01f2; - case 25: - return false; - case 60: - goto IL_022c; - case 49: - return false; - case 18: - goto IL_0241; - case 8: - _003C_003E2__current = new Emote.UseOnObject(_200F_200F_202C_200E_200D_200F_206D_202D_200D_202B_206B_206F_206D_200D_206F_200C_202E_202D_206A_206C_206A_206B_202A_206E_206E_206D_206C_206F_200F_206D_202C_202A_202B_206D_206D_206E_206E_200B_206B_202E_202E(step).Value, _202E_206A_202C_206D_206C_200B_206E_202A_202B_206C_200E_202B_206A_200C_206F_200F_202E_206D_202E_202B_206E_206D_206D_202E_202B_200B_200B_200D_206F_202D_206D_202C_202E_206C_200E_206B_202E_200E_200E_202D_202E(step).Value); - _003C_003E1__state = 17; - return true; - case 61: - goto IL_0291; - case 31: - _003C_003E2__current = new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(1L)); - _003C_003E1__state = 19; - return true; - case 5: - goto IL_02e5; - case 4: - goto IL_02f8; - case 13: - goto IL_030b; - case 19: - goto IL_031e; - case 41: - goto IL_0331; - case 21: - _206E_206B_200B_206C_202C_206B_206C_202A_200C_206C_200C_200E_200E_206D_202E_200F_202B_200F_206D_202C_200E_202E_206A_200F_202C_206F_200D_202E_202D_200F_200D_200C_202D_206F_202B_200E_206A_202E_200B_202E_202E((object)_200E_206E_200B_206B_206C_202D_202C_206C_202A_206D_200F_206E_206A_200E_200F_202D_202A_206C_200F_206F_202B_200E_206B_202D_200D_206D_200F_206B_200B_200E_206A_202A_202D_200C_202D_206A_202A_206C_200F_202A_202E(step), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2143064378)); - _003C_003E2__current = new UseItem.UseOnPosition(quest.Id, _200E_206E_200B_206B_206C_202D_202C_206C_202A_206D_200F_206E_206A_200E_200F_202D_202A_206C_200F_206F_202B_200E_206B_202D_200D_206D_200F_206B_200B_200E_206A_202A_202D_200C_202D_206A_202A_206C_200F_202A_202E(step).Value, _202A_202B_206D_200F_202C_200E_202C_206A_202D_202C_202A_200D_200E_206E_200C_206C_206A_200E_202C_206D_202A_202E_202A_200F_206D_206B_206E_206F_206A_202A_202C_206A_200E_200D_206F_206C_202C_202D_202D_202A_202E(step).Value, _206A_202E_200B_206A_200B_202B_200C_206D_206D_206B_206F_200D_206E_202A_202E_200B_206C_202E_202A_202E_206E_206A_206F_206E_200B_202B_200F_206F_202D_202C_202A_202D_200F_200F_200C_202E_202E_202C_200D_200F_202E(step), StartingCombat: true); - _003C_003E1__state = 7; - return true; - case 9: - goto IL_03b6; - case 0: - _003C_003E2__current = CreateTask(quest, sequence, step); - _003C_003E1__state = 24; - return true; - case 33: - obj2 = null; - goto IL_05c8; - case 38: - goto IL_040b; - case 12: - goto IL_041e; - case 22: - _003C_003E2__current = new Action.UseOnObject(_202E_206A_202C_206D_206C_200B_206E_202A_202B_206C_200E_202B_206A_200C_206F_200F_202E_206D_202E_202B_206E_206D_206D_202E_202B_200B_200B_200D_206F_202D_206D_202C_202E_206C_200E_206B_202E_200E_200E_202D_202E(step).Value, null, _206D_206C_202C_202D_206F_200E_202E_206D_200F_200E_206D_200E_202A_200C_202A_206B_206F_202C_200D_202B_202C_200F_202E_202A_200D_200C_206B_200E_206D_202A_200E_202B_200F_206B_200B_200C_202B_206C_206E_200E_202E(step).Value, null); - _003C_003E1__state = 13; - return true; - case 46: - goto IL_0485; - case 29: - goto IL_0498; - case 54: - { - string text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1557910661); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(19, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2133040643)); - defaultInterpolatedStringHandler.AppendFormatted(_206E_200E_202E_206B_206B_200C_200F_200F_206F_206B_200E_202D_206A_206C_206E_206C_206A_206E_202A_206C_200D_202B_202B_206D_200B_200B_206B_200E_200E_200E_202B_202A_206A_200C_206A_206E_202E_202C_206E_200E_202E(step)); - throw _200B_200E_206F_200B_202B_200B_206B_202B_206B_206B_200E_202B_202A_202D_206A_206E_200F_206C_200E_202E_206C_202B_206B_202C_200C_206E_200C_202E_206F_202A_206C_206B_206C_202C_202E_206C_202A_200B_206B_202B_202E(text, defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 14: - goto IL_050d; - case 3: - goto IL_0520; - case 55: - _003C_003E2__current = new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(1L)); - _003C_003E1__state = 21; - return true; - case 51: - return false; - case 59: - _003C_003E2__current = new Emote.UseOnSelf(_200F_200F_202C_200E_200D_200F_206D_202D_200D_202B_206B_206F_206D_200D_206F_200C_202E_202D_206A_206C_206A_206B_202A_206E_206E_206D_206C_206F_200F_206D_202C_202A_202B_206D_206D_206E_206E_200B_206B_202E_202E(step).Value); - _003C_003E1__state = 18; - return true; - case 28: - _003C_003E2__current = new WaitAtStart.WaitDelay(TimeSpan.FromSeconds(_200F_202B_206A_200C_200F_206E_202A_200C_202D_202C_202D_206B_202E_206F_200E_206F_200F_200E_206D_202E_200D_206A_200B_202C_202E_206E_200F_200B_206F_200B_206E_200C_206E_206B_202A_202B_202C_202C_200D_206D_202E(step).Value)); - _003C_003E1__state = 2; - return true; - case 50: - obj2 = num8.GetValueOrDefault(); - goto IL_05c8; - case 42: - _003C_003E2__current = new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(1L)); - _003C_003E1__state = 10; - return true; - case 24: - goto IL_061c; - case 15: - _003C_003E2__current = new UseItem.UseOnObject(quest.Id, _202E_206A_202C_206D_206C_200B_206E_202A_202B_206C_200E_202B_206A_200C_206F_200F_202E_206D_202E_202B_206E_206D_206D_202E_202B_200B_200B_200D_206F_202D_206D_202C_202E_206C_200E_206B_202E_200E_200E_202D_202E(step).Value, _202A_202B_206D_200F_202C_200E_202C_206A_202D_202C_202A_200D_200E_206E_200C_206C_206A_200E_202C_206D_202A_202E_202A_200F_206D_206B_206E_206F_206A_202A_202C_206A_200E_200D_206F_206C_202C_202D_202D_202A_202E(step).Value, _206A_202E_200B_206A_200B_202B_200C_206D_206D_206B_206F_200D_206E_202A_202E_200B_206C_202E_202A_202E_206E_206A_206F_206E_200B_202B_200F_206F_202D_202C_202A_202D_200F_200F_200C_202E_202E_202C_200D_200F_202E(step), StartingCombat: true); - _003C_003E1__state = 8; - return true; - case 6: - goto IL_06a3; - case 40: - num2 = 1179923935; - break; - case 37: - goto IL_0729; - case 47: - _003C_003E2__current = new Mount.UnmountTask(); - _003C_003E1__state = 12; - return true; - case 11: - goto IL_0765; - case 44: - goto IL_0796; - case 58: - goto IL_07a9; - case 27: - switch (eEnemySpawnType.GetValueOrDefault()) - { - case EEnemySpawnType.FinishCombatIfAny: - break; - case EEnemySpawnType.AutoOnEnterArea: - goto IL_0498; - case EEnemySpawnType.AfterEmote: - goto IL_061c; - case EEnemySpawnType.AfterInteraction: - goto IL_06a3; - case EEnemySpawnType.OverworldEnemies: - case EEnemySpawnType.FateEnemies: - goto IL_0729; - default: - goto IL_080c; - case EEnemySpawnType.AfterAction: - goto IL_0818; - case EEnemySpawnType.AfterItemUse: - goto IL_09f5; - } - goto case 0; - case 30: - goto IL_0818; - case 1: - goto IL_088c; - case 39: - goto IL_08ae; - case 17: - _003C_003E2__current = new UseItem.UseOnSelf(quest.Id, _202A_202B_206D_200F_202C_200E_202C_206A_202D_202C_202A_200D_200E_206E_200C_206C_206A_200E_202C_206D_202A_202E_202A_200F_206D_206B_206E_206F_206A_202A_202C_206A_200E_200D_206F_206C_202C_202D_202D_202A_202E(step).Value, _206A_202E_200B_206A_200B_202B_200C_206D_206D_206B_206F_200D_206E_202A_202E_200B_206C_202E_202A_202E_206E_206A_206F_206E_200B_202B_200F_206F_202D_202C_202A_202D_200F_200F_200C_202E_202E_202C_200D_200F_202E(step), StartingCombat: true); - _003C_003E1__state = 9; - return true; - case 36: - _003C_003E2__current = CreateTask(quest, sequence, step); - _003C_003E1__state = 22; - return true; - case 52: - goto IL_0928; - case 62: - goto IL_0959; - case 32: - goto IL_096c; - case 7: - goto IL_099a; - case 2: - goto IL_09c8; - case 10: - goto IL_09f5; - case 53: - _003C_003E2__current = new Mount.UnmountTask(); - _003C_003E1__state = 1; - return true; - case 43: - obj = null; - goto IL_01f2; - case 45: - num2 = 1179923930; - break; - case 16: - goto IL_0a80; - case 57: - goto IL_0a93; - case 48: - goto IL_0aa6; - case 34: - _003C_003E2__current = new UseItem.UseOnGround(quest.Id, _202E_206A_202C_206D_206C_200B_206E_202A_202B_206C_200E_202B_206A_200C_206F_200F_202E_206D_202E_202B_206E_206D_206D_202E_202B_200B_200B_200D_206F_202D_206D_202C_202E_206C_200E_206B_202E_200E_200E_202D_202E(step).Value, _202A_202B_206D_200F_202C_200E_202C_206A_202D_202C_202A_200D_200E_206E_200C_206C_206A_200E_202C_206D_202A_202E_202A_200F_206D_206B_206E_206F_206A_202A_202C_206A_200E_200D_206F_206C_202C_202D_202D_202A_202E(step).Value, _206A_202E_200B_206A_200B_202B_200C_206D_206D_206B_206F_200D_206E_202A_202E_200B_206C_202E_202A_202E_206E_206A_206F_206E_200B_202B_200F_206F_202D_202C_202A_202D_200F_200F_200C_202E_202E_202C_200D_200F_202E(step), StartingCombat: true); - _003C_003E1__state = 6; - return true; - case 26: - goto IL_0b4b; - case 56: - goto end_IL_000f; - IL_080c: - num2 = 1179923905; - break; - IL_0729: - _003C_003E2__current = CreateTask(quest, sequence, step); - _003C_003E1__state = 23; - return true; - IL_06a3: - _206E_206B_200B_206C_202C_206B_206C_202A_200C_206C_200C_200E_200E_206D_202E_200F_202B_200F_206D_202C_200E_202E_206A_200F_202C_206F_200D_202E_202D_200F_200D_200C_202D_206F_202B_200E_206A_202E_200B_202E_202E((object)_202E_206A_202C_206D_206C_200B_206E_202A_202B_206C_200E_202B_206A_200C_206F_200F_202E_206D_202E_202B_206E_206D_206D_202E_202B_200B_200B_200D_206F_202D_206D_202C_202E_206C_200E_206B_202E_200E_200E_202D_202E(step), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-118248788)); - _003C_003E2__current = new Interact.Task(_202E_206A_202C_206D_206C_200B_206E_202A_202B_206C_200E_202B_206A_200C_206F_200F_202E_206D_202E_202B_206E_206D_206D_202E_202B_200B_200B_200D_206F_202D_206D_202C_202E_206C_200E_206B_202E_200E_200E_202D_202E(step).Value, quest, EInteractionType.None, SkipMarkerCheck: true); - _003C_003E1__state = 3; - return true; - IL_061c: - _206E_206B_200B_206C_202C_206B_206C_202A_200C_206C_200C_200E_200E_206D_202E_200F_202B_200F_206D_202C_200E_202E_206A_200F_202C_206F_200D_202E_202D_200F_200D_200C_202D_206F_202B_200E_206A_202E_200B_202E_202E((object)_200F_200F_202C_200E_200D_200F_206D_202D_200D_202B_206B_206F_206D_200D_206F_200C_202E_202D_206A_206C_206A_206B_202A_206E_206E_206D_206C_206F_200F_206D_202C_202A_202B_206D_206D_206E_206E_200B_206B_202E_202E(step), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-837937279)); - _003C_003E2__current = new Mount.UnmountTask(); - _003C_003E1__state = 16; - return true; - IL_05c8: - num2 = ((obj2 == 147) ? 1179923923 : 1179923932); - break; - IL_01f2: - num2 = ((obj == 128) ? 1179923923 : 1179923946); - break; - } - continue; - IL_0aa6: - _206E_206B_200B_206C_202C_206B_206C_202A_200C_206C_200C_200E_200E_206D_202E_200F_202B_200F_206D_202C_200E_202E_206A_200F_202C_206F_200D_202E_202D_200F_200D_200C_202D_206F_202B_200E_206A_202E_200B_202E_202E((object)_206E_200E_202E_206B_206B_200C_200F_200F_206F_206B_200E_202D_206A_206C_206E_206C_206A_206E_202A_206C_200D_202B_202B_206D_200B_200B_206B_200E_200E_200E_202B_202A_206A_200C_206A_206E_202E_202C_206E_200E_202E(step), 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(-1048645435)); - mountId = factory.gameFunctions.GetMountId(); - num8 = mountId; - num2 = (num8.HasValue ? 1179923914 : 1179923906); - continue; - IL_0818: - _206E_206B_200B_206C_202C_206B_206C_202A_200C_206C_200C_200E_200E_206D_202E_200F_202B_200F_206D_202C_200E_202E_206A_200F_202C_206F_200D_202E_202D_200F_200D_200C_202D_206F_202B_200E_206A_202E_200B_202E_202E((object)_202E_206A_202C_206D_206C_200B_206E_202A_202B_206C_200E_202B_206A_200C_206F_200F_202E_206D_202E_202B_206E_206D_206D_202E_202B_200B_200B_200D_206F_202D_206D_202C_202E_206C_200E_206B_202E_200E_200E_202D_202E(step), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-751408309)); - _206E_206B_200B_206C_202C_206B_206C_202A_200C_206C_200C_200E_200E_206D_202E_200F_202B_200F_206D_202C_200E_202E_206A_200F_202C_206F_200D_202E_202D_200F_200D_200C_202D_206F_202B_200E_206A_202E_200B_202E_202E((object)_206D_206C_202C_202D_206F_200E_202E_206D_200F_200E_206D_200E_202A_200C_202A_206B_206F_202C_200D_202B_202C_200F_202E_202A_200D_200C_206B_200E_206D_202A_200E_202B_200F_206B_200B_200C_202B_206C_206E_200E_202E(step), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-791963835)); - num2 = (_206A_206B_202A_200C_202A_206C_202D_206D_202A_206F_206E_200D_200C_202E_200C_206D_200F_202E_206F_206F_200F_202D_206D_200F_202D_200F_200C_206F_202B_206B_206B_206F_200E_206F_202D_206D_206F_200D_200C_206B_202E(_206D_206C_202C_202D_206F_200E_202E_206D_200F_200E_206D_200E_202A_200C_202A_206B_206F_202C_200D_202B_202C_200F_202E_202A_200D_200C_206B_200E_206D_202A_200E_202B_200F_206B_200B_200C_202B_206C_206E_200E_202E(step).Value) ? 1179923967 : 1179923910); - continue; - IL_0765: - num2 = ((!_202E_206A_202C_206D_206C_200B_206E_202A_202B_206C_200E_202B_206A_200C_206F_200F_202E_206D_202E_202B_206E_206D_206D_202E_202B_200B_200B_200D_206F_202D_206D_202C_202E_206C_200E_206B_202E_200E_200E_202D_202E(step).HasValue) ? 1179923960 : 1179923942); - continue; - IL_0928: - eEnemySpawnType = _206E_200E_202E_206B_206B_200C_200F_200F_206F_206B_200E_202D_206A_206C_206E_206C_206A_206E_202A_206C_200D_202B_202B_206D_200B_200B_206B_200E_200E_200E_202B_202A_206A_200C_206A_206E_202E_202C_206E_200E_202E(step); - num2 = ((!eEnemySpawnType.HasValue) ? 1179923935 : 1179923954); - continue; - IL_01a2: - num2 = ((!_202E_206A_202C_206D_206C_200B_206E_202A_202B_206C_200E_202B_206A_200C_206F_200F_202E_206D_202E_202B_206E_206D_206D_202E_202B_200B_200B_200D_206F_202D_206D_202C_202E_206C_200E_206B_202E_200E_200E_202D_202E(step).HasValue) ? 1179923964 : 1179923915); - continue; - IL_0520: - num8 = mountId; - num2 = (num8.HasValue ? 1179923931 : 1179923912); - continue; - IL_09f5: - _206E_206B_200B_206C_202C_206B_206C_202A_200C_206C_200C_200E_200E_206D_202E_200F_202B_200F_206D_202C_200E_202E_206A_200F_202C_206F_200D_202E_202D_200F_200D_200C_202D_206F_202B_200E_206A_202E_200B_202E_202E((object)_202A_202B_206D_200F_202C_200E_202C_206A_202D_202C_202A_200D_200E_206E_200C_206C_206A_200E_202C_206D_202A_202E_202A_200F_206D_206B_206E_206F_206A_202A_202C_206A_200E_200D_206F_206C_202C_202D_202D_202A_202E(step), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2049264615)); - num2 = ((_200F_206C_206D_206F_206E_200D_202A_206E_200F_202A_202A_200D_202E_200C_202A_202E_206B_200C_206B_200C_200C_206C_200C_206B_200D_202D_202C_202A_200B_200D_202A_200B_202B_200B_202C_200C_202A_200B_206A_202E(step) != true) ? 1179923938 : 1179923965); - continue; - IL_0498: - num2 = (_200F_202B_206A_200C_200F_206E_202A_200C_202D_202C_202D_206B_202E_206F_200E_206F_200F_200E_206D_202E_200D_206A_200B_202C_202E_206E_200F_200B_206F_200B_206E_200C_206E_206B_202A_202B_202C_202C_200D_206D_202E(step).HasValue ? 1179923917 : 1179923934); - continue; - IL_07a9: - num2 = ((!_200F_202B_206A_200C_200F_206E_202A_200C_202D_202C_202D_206B_202E_206F_200E_206F_200F_200E_206D_202E_200D_206A_200B_202C_202E_206E_200F_200B_206F_200B_206E_200C_206E_206B_202A_202B_202C_202C_200D_206D_202E(step).HasValue) ? 1179923933 : 1179923957); - continue; - end_IL_0084: - break; - } - goto case 21; - IL_0b4b: - _003C_003E1__state = -1; - num2 = ((_200D_200C_206C_206D_200D_202C_202B_200F_206C_200B_202B_202B_202D_202D_200C_202E_206F_202A_202E_200B_200D_206B_206E_206D_202B_206F_202A_206D_206B_200E_206D_206E_206B_202B_206E_200F_200D_206B_200D_200F_202E(step) == EInteractionType.Combat) ? 1179923929 : 1179923928); - goto IL_0084; - IL_0241: - _003C_003E1__state = -1; - num2 = 1179923907; - goto IL_0084; - IL_0a93: - _003C_003E1__state = -1; - num2 = 1179923952; - goto IL_0084; - IL_0a80: - _003C_003E1__state = -1; - num2 = 1179923952; - goto IL_0084; - IL_09c8: - _003C_003E1__state = -1; - _003C_003E2__current = CreateTask(quest, sequence, step); - _003C_003E1__state = 5; - return true; - IL_099a: - _003C_003E1__state = -1; - _003C_003E2__current = CreateTask(quest, sequence, step); - _003C_003E1__state = 20; - return true; - IL_096c: - _003C_003E1__state = -1; - _003C_003E2__current = CreateTask(quest, sequence, step); - _003C_003E1__state = 15; - return true; - IL_0959: - _003C_003E1__state = -1; - num2 = 1179923958; - goto IL_0084; - IL_08ae: - _003C_003E1__state = -1; - num2 = 1179923907; - goto IL_0084; - IL_088c: - _003C_003E1__state = -1; - _003C_003E2__current = new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(1L)); - _003C_003E1__state = 4; - return true; - IL_0796: - _003C_003E1__state = -1; - num2 = 1179923958; - goto IL_0084; - IL_050d: - _003C_003E1__state = -1; - num2 = 1179923933; - goto IL_0084; - IL_0485: - _003C_003E1__state = -1; - num2 = 1179923907; - goto IL_0084; - IL_041e: - _003C_003E1__state = -1; - _003C_003E2__current = new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(1L)); - _003C_003E1__state = 14; - return true; - IL_040b: - _003C_003E1__state = -1; - num2 = 1179923952; - goto IL_0084; - IL_03b6: - _003C_003E1__state = -1; - num2 = 1179923923; - goto IL_0084; - IL_0331: - _003C_003E1__state = -1; - num2 = 1179923952; - goto IL_0084; - IL_031e: - _003C_003E1__state = -1; - num2 = 1179923952; - goto IL_0084; - IL_030b: - _003C_003E1__state = -1; - num2 = 1179923952; - goto IL_0084; - IL_02f8: - _003C_003E1__state = -1; - num2 = 1179923967; - goto IL_0084; - IL_02e5: - _003C_003E1__state = -1; - num2 = 1179923952; - goto IL_0084; - IL_0291: - _003C_003E1__state = -1; - num2 = ((!_202E_206A_202C_206D_206C_200B_206E_202A_202B_206C_200E_202B_206A_200C_206F_200F_202E_206D_202E_202B_206E_206D_206D_202E_202B_200B_200B_200D_206F_202D_206D_202C_202E_206C_200E_206B_202E_200E_200E_202D_202E(step).HasValue) ? 1179923922 : 1179923937); - goto IL_0084; - IL_022c: - _003C_003E1__state = -1; - num2 = 1179923907; - goto IL_0084; - end_IL_000f: - break; - } - _003C_003E1__state = -1; - _003C_003E2__current = CreateTask(quest, sequence, step); - _003C_003E1__state = 11; - return true; - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _202D_200C_200D_200B_202A_200B_200E_202E_206C_200C_202A_206A_206D_206C_200E_200E_202B_206F_200F_206B_206E_206E_200E_206C_202D_200B_202D_206C_200F_200B_200C_200E_200D_202A_200D_200F_206F_200B_202C_200D_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? 1504087443 : 1504087444); - _003CCreateAllTasks_003Ed__2 _003CCreateAllTasks_003Ed__ = default(_003CCreateAllTasks_003Ed__2); - while (true) - { - int num2 = num; - int num3 = 1504087447; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1504087444; - break; - case 1: - _003C_003E1__state = 0; - _003CCreateAllTasks_003Ed__ = this; - num = 1504087445; - break; - case 4: - _003CCreateAllTasks_003Ed__ = new _003CCreateAllTasks_003Ed__2(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = 1504087445; - break; - case 2: - _003CCreateAllTasks_003Ed__.quest = _003C_003E3__quest; - _003CCreateAllTasks_003Ed__.sequence = _003C_003E3__sequence; - _003CCreateAllTasks_003Ed__.step = _003C_003E3__step; - return _003CCreateAllTasks_003Ed__; - case 3: - num = ((_003C_003El__initialThreadId != _200B_206D_206A_202A_206A_200C_202C_202D_200D_202B_202D_202C_200D_206A_200E_206E_206E_202A_200C_206F_206E_206E_206E_200D_200B_206F_200E_206A_206B_202A_200F_202B_206F_200E_202A_202B_202E_206B_202A_206F_202E()) ? 1504087443 : 1504087446); - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _200B_206D_206A_202A_206A_200C_202C_202D_200D_202B_202D_202C_200D_206A_200E_206E_206E_202A_200C_206F_206E_206E_206E_200D_200B_206F_200E_206A_206B_202A_200F_202B_206F_200E_202A_202B_202E_206B_202A_206F_202E() - { - return Environment.CurrentManagedThreadId; - } - - static EInteractionType _200D_200C_206C_206D_200D_202C_202B_200F_206C_200B_202B_202B_202D_202D_200C_202E_206F_202A_202E_200B_200D_206B_206E_206D_202B_206F_202A_206D_206B_200E_206D_206E_206B_202B_206E_200F_200D_206B_200D_200F_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static EEnemySpawnType? _206E_200E_202E_206B_206B_200C_200F_200F_206F_206B_200E_202D_206A_206C_206E_206C_206A_206E_202A_206C_200D_202B_202B_206D_200B_200B_206B_200E_200E_200E_202B_202A_206A_200C_206A_206E_202E_202C_206E_200E_202E(QuestStep P_0) - { - return P_0.EnemySpawnType; - } - - static void _206E_206B_200B_206C_202C_206B_206C_202A_200C_206C_200C_200E_200E_206D_202E_200F_202B_200F_206D_202C_200E_202E_206A_200F_202C_206F_200D_202E_202D_200F_200D_200C_202D_206F_202B_200E_206A_202E_200B_202E_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static float? _200F_202B_206A_200C_200F_206E_202A_200C_202D_202C_202D_206B_202E_206F_200E_206F_200F_200E_206D_202E_200D_206A_200B_202C_202E_206E_200F_200B_206F_200B_206E_200C_206E_206B_202A_202B_202C_202C_200D_206D_202E(QuestStep P_0) - { - return P_0.CombatDelaySecondsAtStart; - } - - static uint? _202E_206A_202C_206D_206C_200B_206E_202A_202B_206C_200E_202B_206A_200C_206F_200F_202E_206D_202E_202B_206E_206D_206D_202E_202B_200B_200B_200D_206F_202D_206D_202C_202E_206C_200E_206B_202E_200E_200E_202D_202E(QuestStep P_0) - { - return P_0.DataId; - } - - static uint? _202A_202B_206D_200F_202C_200E_202C_206A_202D_202C_202A_200D_200E_206E_200C_206C_206A_200E_202C_206D_202A_202E_202A_200F_206D_206B_206E_206F_206A_202A_202C_206A_200E_200D_206F_206C_202C_202D_202D_202A_202E(QuestStep P_0) - { - return P_0.ItemId; - } - - static bool? _200F_206C_206D_206F_206E_200D_202A_206E_200F_202A_202A_200D_202E_200C_202A_202E_206B_200C_206B_200C_200C_206C_200C_206B_200D_202D_202C_202A_200B_200D_202A_200B_202B_200B_202C_200C_202A_200B_206A_202E(QuestStep P_0) - { - return P_0.GroundTarget; - } - - static List _206A_202E_200B_206A_200B_202B_200C_206D_206D_206B_206F_200D_206E_202A_202E_200B_206C_202E_202A_202E_206E_206A_206F_206E_200B_202B_200F_206F_202D_202C_202A_202D_200F_200F_200C_202E_202E_202C_200D_200F_202E(QuestStep P_0) - { - return P_0.CompletionQuestVariablesFlags; - } - - static Vector3? _200E_206E_200B_206B_206C_202D_202C_206C_202A_206D_200F_206E_206A_200E_200F_202D_202A_206C_200F_206F_202B_200E_206B_202D_200D_206D_200F_206B_200B_200E_206A_202A_202D_200C_202D_206A_202A_206C_200F_202A_202E(QuestStep P_0) - { - return P_0.Position; - } - - static EAction? _206D_206C_202C_202D_206F_200E_202E_206D_200F_200E_206D_200E_202A_200C_202A_206B_206F_202C_200D_202B_202C_200F_202E_202A_200D_200C_206B_200E_206D_202A_200E_202B_200F_206B_200B_200C_202B_206C_206E_200E_202E(QuestStep P_0) - { - return P_0.Action; - } - - static bool _206A_206B_202A_200C_202A_206C_202D_206D_202A_206F_206E_200D_200C_202E_200C_206D_200F_202E_206F_206F_200F_202D_206D_200F_202D_200F_200C_206F_202B_206B_206B_206F_200E_206F_202D_206D_206F_200D_200C_206B_202E(EAction P_0) - { - return P_0.RequiresMount(); - } - - static EEmote? _200F_200F_202C_200E_200D_200F_206D_202D_200D_202B_206B_206F_206D_200D_206F_200C_202E_202D_206A_206C_206A_206B_202A_206E_206E_206D_206C_206F_200F_206D_202C_202A_202B_206D_206D_206E_206E_200B_206B_202E_202E(QuestStep P_0) - { - return P_0.Emote; - } - - static ArgumentOutOfRangeException _200B_200E_206F_200B_202B_200B_206B_202B_206B_206B_200E_202B_202A_202D_206A_206E_200F_206C_200E_202E_206C_202B_206B_202C_200C_206E_200C_202E_206F_202A_206C_206B_206C_202C_202E_206C_202A_200B_206B_202B_202E(string P_0, string P_1) - { - return new ArgumentOutOfRangeException(P_0, P_1); - } - - static NotSupportedException _202D_200C_200D_200B_202A_200B_200E_202E_206C_200C_202A_206A_206D_206C_200E_200E_202B_206F_200F_206B_206E_206E_200E_206C_202D_200B_202D_206C_200F_200B_200C_200E_200D_202A_200D_200F_206F_200B_202C_200D_202E() - { - return new NotSupportedException(); - } - } - public IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { - ushort? num7 = default(ushort?); - ushort? mountId = default(ushort?); - EEnemySpawnType? eEnemySpawnType = default(EEnemySpawnType?); - while (true) + if (step.InteractionType != EInteractionType.Combat) { - int num = ((_003CCreateAllTasks_003Ed__2._200D_200C_206C_206D_200D_202C_202B_200F_206C_200B_202B_202B_202D_202D_200C_202E_206F_202A_202E_200B_200D_206B_206E_206D_202B_206F_202A_206D_206B_200E_206D_206E_206B_202B_206E_200F_200D_206B_200D_200F_202E(step) == EInteractionType.Combat) ? 1179923929 : 1179923928); - while (true) + yield break; + } + ArgumentNullException.ThrowIfNull(step.EnemySpawnType, "step.EnemySpawnType"); + ushort? mountId = gameFunctions.GetMountId(); + if (mountId != 128 && mountId != 147) + { + yield return new Mount.UnmountTask(); + } + if (step.CombatDelaySecondsAtStart.HasValue) + { + yield return new WaitAtStart.WaitDelay(TimeSpan.FromSeconds(step.CombatDelaySecondsAtStart.Value)); + } + switch (step.EnemySpawnType) + { + case EEnemySpawnType.AfterInteraction: + ArgumentNullException.ThrowIfNull(step.DataId, "step.DataId"); + yield return new Interact.Task(step.DataId.Value, quest, EInteractionType.None, SkipMarkerCheck: true); + yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(1L)); + yield return CreateTask(quest, sequence, step); + break; + case EEnemySpawnType.AfterItemUse: + ArgumentNullException.ThrowIfNull(step.ItemId, "step.ItemId"); + if (step.GroundTarget == true) { - int num2 = num; - int num3 = 1179923945; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int? obj; - int? obj2; - switch (num5 - (num6 + num6)) + if (step.DataId.HasValue) { - default: - continue; - case 20: - num = ((!_003CCreateAllTasks_003Ed__2._202E_206A_202C_206D_206C_200B_206E_202A_202B_206C_200E_202B_206A_200C_206F_200F_202E_206D_202E_202B_206E_206D_206D_202E_202B_200B_200B_200D_206F_202D_206D_202C_202E_206C_200E_206B_202E_200E_200E_202D_202E(step).HasValue) ? 1179923964 : 1179923915); - continue; - case 23: - num = 1179923917; - continue; - case 35: - obj = num7.GetValueOrDefault(); - goto IL_01f2; - case 25: - yield break; - case 60: - num = 1179923907; - continue; - case 49: - yield break; - case 18: - num = 1179923907; - continue; - case 8: - yield return new Emote.UseOnObject(_003CCreateAllTasks_003Ed__2._200F_200F_202C_200E_200D_200F_206D_202D_200D_202B_206B_206F_206D_200D_206F_200C_202E_202D_206A_206C_206A_206B_202A_206E_206E_206D_206C_206F_200F_206D_202C_202A_202B_206D_206D_206E_206E_200B_206B_202E_202E(step).Value, _003CCreateAllTasks_003Ed__2._202E_206A_202C_206D_206C_200B_206E_202A_202B_206C_200E_202B_206A_200C_206F_200F_202E_206D_202E_202B_206E_206D_206D_202E_202B_200B_200B_200D_206F_202D_206D_202C_202E_206C_200E_206B_202E_200E_200E_202D_202E(step).Value); - goto case 62; - case 61: - num = ((!_003CCreateAllTasks_003Ed__2._202E_206A_202C_206D_206C_200B_206E_202A_202B_206C_200E_202B_206A_200C_206F_200F_202E_206D_202E_202B_206E_206D_206D_202E_202B_200B_200B_200D_206F_202D_206D_202C_202E_206C_200E_206B_202E_200E_200E_202D_202E(step).HasValue) ? 1179923922 : 1179923937); - continue; - case 31: - yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(1L)); - goto case 7; - case 5: - num = 1179923952; - continue; - case 4: - num = 1179923967; - continue; - case 13: - num = 1179923952; - continue; - case 19: - num = 1179923952; - continue; - case 41: - num = 1179923952; - continue; - case 21: - _003CCreateAllTasks_003Ed__2._206E_206B_200B_206C_202C_206B_206C_202A_200C_206C_200C_200E_200E_206D_202E_200F_202B_200F_206D_202C_200E_202E_206A_200F_202C_206F_200D_202E_202D_200F_200D_200C_202D_206F_202B_200E_206A_202E_200B_202E_202E((object)_003CCreateAllTasks_003Ed__2._200E_206E_200B_206B_206C_202D_202C_206C_202A_206D_200F_206E_206A_200E_200F_202D_202A_206C_200F_206F_202B_200E_206B_202D_200D_206D_200F_206B_200B_200E_206A_202A_202D_200C_202D_206A_202A_206C_200F_202A_202E(step), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2143064378)); - yield return new UseItem.UseOnPosition(quest.Id, _003CCreateAllTasks_003Ed__2._200E_206E_200B_206B_206C_202D_202C_206C_202A_206D_200F_206E_206A_200E_200F_202D_202A_206C_200F_206F_202B_200E_206B_202D_200D_206D_200F_206B_200B_200E_206A_202A_202D_200C_202D_206A_202A_206C_200F_202A_202E(step).Value, _003CCreateAllTasks_003Ed__2._202A_202B_206D_200F_202C_200E_202C_206A_202D_202C_202A_200D_200E_206E_200C_206C_206A_200E_202C_206D_202A_202E_202A_200F_206D_206B_206E_206F_206A_202A_202C_206A_200E_200D_206F_206C_202C_202D_202D_202A_202E(step).Value, _003CCreateAllTasks_003Ed__2._206A_202E_200B_206A_200B_202B_200C_206D_206D_206B_206F_200D_206E_202A_202E_200B_206C_202E_202A_202E_206E_206A_206F_206E_200B_202B_200F_206F_202D_202C_202A_202D_200F_200F_200C_202E_202E_202C_200D_200F_202E(step), StartingCombat: true); - goto case 46; - case 9: - num = 1179923923; - continue; - case 0: - yield return CreateTask(quest, sequence, step); - goto case 16; - case 33: - obj2 = null; - goto IL_05c8; - case 38: - num = 1179923952; - continue; - case 12: - yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(1L)); - goto case 32; - case 22: - yield return new Action.UseOnObject(_003CCreateAllTasks_003Ed__2._202E_206A_202C_206D_206C_200B_206E_202A_202B_206C_200E_202B_206A_200C_206F_200F_202E_206D_202E_202B_206E_206D_206D_202E_202B_200B_200B_200D_206F_202D_206D_202C_202E_206C_200E_206B_202E_200E_200E_202D_202E(step).Value, null, _003CCreateAllTasks_003Ed__2._206D_206C_202C_202D_206F_200E_202E_206D_200F_200E_206D_200E_202A_200C_202A_206B_206F_202C_200D_202B_202C_200F_202E_202A_200D_200C_206B_200E_206D_202A_200E_202B_200F_206B_200B_200C_202B_206C_206E_200E_202E(step).Value, null); - goto case 12; - case 46: - num = 1179923907; - continue; - case 29: - goto IL_0498; - case 54: + yield return new UseItem.UseOnGround(quest.Id, step.DataId.Value, step.ItemId.Value, step.CompletionQuestVariablesFlags, StartingCombat: true); + } + else { - string text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1557910661); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(19, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2133040643)); - defaultInterpolatedStringHandler.AppendFormatted(_003CCreateAllTasks_003Ed__2._206E_200E_202E_206B_206B_200C_200F_200F_206F_206B_200E_202D_206A_206C_206E_206C_206A_206E_202A_206C_200D_202B_202B_206D_200B_200B_206B_200E_200E_200E_202B_202A_206A_200C_206A_206E_202E_202C_206E_200E_202E(step)); - throw _003CCreateAllTasks_003Ed__2._200B_200E_206F_200B_202B_200B_206B_202B_206B_206B_200E_202B_202A_202D_206A_206E_200F_206C_200E_202E_206C_202B_206B_202C_200C_206E_200C_202E_206F_202A_206C_206B_206C_202C_202E_206C_202A_200B_206B_202B_202E(text, defaultInterpolatedStringHandler.ToStringAndClear()); + ArgumentNullException.ThrowIfNull(step.Position, "step.Position"); + yield return new UseItem.UseOnPosition(quest.Id, step.Position.Value, step.ItemId.Value, step.CompletionQuestVariablesFlags, StartingCombat: true); } - case 14: - num = 1179923933; - continue; - case 3: - num7 = mountId; - num = (num7.HasValue ? 1179923931 : 1179923912); - continue; - case 55: - yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(1L)); - goto case 23; - case 51: - yield break; - case 59: - yield return new Emote.UseOnSelf(_003CCreateAllTasks_003Ed__2._200F_200F_202C_200E_200D_200F_206D_202D_200D_202B_206B_206F_206D_200D_206F_200C_202E_202D_206A_206C_206A_206B_202A_206E_206E_206D_206C_206F_200F_206D_202C_202A_202B_206D_206D_206E_206E_200B_206B_202E_202E(step).Value); - goto case 44; - case 28: - yield return new WaitAtStart.WaitDelay(TimeSpan.FromSeconds(_003CCreateAllTasks_003Ed__2._200F_202B_206A_200C_200F_206E_202A_200C_202D_202C_202D_206B_202E_206F_200E_206F_200F_200E_206D_202E_200D_206A_200B_202C_202E_206E_200F_200B_206F_200B_206E_200C_206E_206B_202A_202B_202C_202C_200D_206D_202E(step).Value)); - goto case 14; - case 50: - obj2 = num7.GetValueOrDefault(); - goto IL_05c8; - case 42: - yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(1L)); - goto case 56; - case 24: - goto IL_061c; - case 15: - yield return new UseItem.UseOnObject(quest.Id, _003CCreateAllTasks_003Ed__2._202E_206A_202C_206D_206C_200B_206E_202A_202B_206C_200E_202B_206A_200C_206F_200F_202E_206D_202E_202B_206E_206D_206D_202E_202B_200B_200B_200D_206F_202D_206D_202C_202E_206C_200E_206B_202E_200E_200E_202D_202E(step).Value, _003CCreateAllTasks_003Ed__2._202A_202B_206D_200F_202C_200E_202C_206A_202D_202C_202A_200D_200E_206E_200C_206C_206A_200E_202C_206D_202A_202E_202A_200F_206D_206B_206E_206F_206A_202A_202C_206A_200E_200D_206F_206C_202C_202D_202D_202A_202E(step).Value, _003CCreateAllTasks_003Ed__2._206A_202E_200B_206A_200B_202B_200C_206D_206D_206B_206F_200D_206E_202A_202E_200B_206C_202E_202A_202E_206E_206A_206F_206E_200B_202B_200F_206F_202D_202C_202A_202D_200F_200F_200C_202E_202E_202C_200D_200F_202E(step), StartingCombat: true); - goto case 18; - case 6: - goto IL_06a3; - case 40: - num = 1179923935; - continue; - case 37: - goto IL_0729; - case 47: - yield return new Mount.UnmountTask(); - goto case 4; - case 11: - num = ((!_003CCreateAllTasks_003Ed__2._202E_206A_202C_206D_206C_200B_206E_202A_202B_206C_200E_202B_206A_200C_206F_200F_202E_206D_202E_202B_206E_206D_206D_202E_202B_200B_200B_200D_206F_202D_206D_202C_202E_206C_200E_206B_202E_200E_200E_202D_202E(step).HasValue) ? 1179923960 : 1179923942); - continue; - case 44: - num = 1179923958; - continue; - case 58: - num = ((!_003CCreateAllTasks_003Ed__2._200F_202B_206A_200C_200F_206E_202A_200C_202D_202C_202D_206B_202E_206F_200E_206F_200F_200E_206D_202E_200D_206A_200B_202C_202E_206E_200F_200B_206F_200B_206E_200C_206E_206B_202A_202B_202C_202C_200D_206D_202E(step).HasValue) ? 1179923933 : 1179923957); - continue; - case 27: - switch (eEnemySpawnType.GetValueOrDefault()) - { - case EEnemySpawnType.FinishCombatIfAny: - break; - case EEnemySpawnType.AutoOnEnterArea: - goto IL_0498; - case EEnemySpawnType.AfterEmote: - goto IL_061c; - case EEnemySpawnType.AfterInteraction: - goto IL_06a3; - case EEnemySpawnType.OverworldEnemies: - case EEnemySpawnType.FateEnemies: - goto IL_0729; - default: - goto IL_080c; - case EEnemySpawnType.AfterAction: - goto IL_0818; - case EEnemySpawnType.AfterItemUse: - goto IL_09f5; - } - goto case 0; - case 30: - goto IL_0818; - case 1: - yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(1L)); - goto case 2; - case 39: - num = 1179923907; - continue; - case 17: - yield return new UseItem.UseOnSelf(quest.Id, _003CCreateAllTasks_003Ed__2._202A_202B_206D_200F_202C_200E_202C_206A_202D_202C_202A_200D_200E_206E_200C_206C_206A_200E_202C_206D_202A_202E_202A_200F_206D_206B_206E_206F_206A_202A_202C_206A_200E_200D_206F_206C_202C_202D_202D_202A_202E(step).Value, _003CCreateAllTasks_003Ed__2._206A_202E_200B_206A_200B_202B_200C_206D_206D_206B_206F_200D_206E_202A_202E_200B_206C_202E_202A_202E_206E_206A_206F_206E_200B_202B_200F_206F_202D_202C_202A_202D_200F_200F_200C_202E_202E_202C_200D_200F_202E(step), StartingCombat: true); - goto case 39; - case 36: - yield return CreateTask(quest, sequence, step); - goto case 41; - case 52: - eEnemySpawnType = _003CCreateAllTasks_003Ed__2._206E_200E_202E_206B_206B_200C_200F_200F_206F_206B_200E_202D_206A_206C_206E_206C_206A_206E_202A_206C_200D_202B_202B_206D_200B_200B_206B_200E_200E_200E_202B_202A_206A_200C_206A_206E_202E_202C_206E_200E_202E(step); - num = ((!eEnemySpawnType.HasValue) ? 1179923935 : 1179923954); - continue; - case 62: - num = 1179923958; - continue; - case 32: - yield return CreateTask(quest, sequence, step); - goto case 57; - case 7: - yield return CreateTask(quest, sequence, step); - goto case 38; - case 2: - yield return CreateTask(quest, sequence, step); - goto case 13; - case 10: - goto IL_09f5; - case 53: - yield return new Mount.UnmountTask(); - goto case 9; - case 43: - obj = null; - goto IL_01f2; - case 45: - num = 1179923930; - continue; - case 16: - num = 1179923952; - continue; - case 57: - num = 1179923952; - continue; - case 48: - _003CCreateAllTasks_003Ed__2._206E_206B_200B_206C_202C_206B_206C_202A_200C_206C_200C_200E_200E_206D_202E_200F_202B_200F_206D_202C_200E_202E_206A_200F_202C_206F_200D_202E_202D_200F_200D_200C_202D_206F_202B_200E_206A_202E_200B_202E_202E((object)_003CCreateAllTasks_003Ed__2._206E_200E_202E_206B_206B_200C_200F_200F_206F_206B_200E_202D_206A_206C_206E_206C_206A_206E_202A_206C_200D_202B_202B_206D_200B_200B_206B_200E_200E_200E_202B_202A_206A_200C_206A_206E_202E_202C_206E_200E_202E(step), 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(-1048645435)); - mountId = gameFunctions.GetMountId(); - num7 = mountId; - num = (num7.HasValue ? 1179923914 : 1179923906); - continue; - case 34: - yield return new UseItem.UseOnGround(quest.Id, _003CCreateAllTasks_003Ed__2._202E_206A_202C_206D_206C_200B_206E_202A_202B_206C_200E_202B_206A_200C_206F_200F_202E_206D_202E_202B_206E_206D_206D_202E_202B_200B_200B_200D_206F_202D_206D_202C_202E_206C_200E_206B_202E_200E_200E_202D_202E(step).Value, _003CCreateAllTasks_003Ed__2._202A_202B_206D_200F_202C_200E_202C_206A_202D_202C_202A_200D_200E_206E_200C_206C_206A_200E_202C_206D_202A_202E_202A_200F_206D_206B_206E_206F_206A_202A_202C_206A_200E_200D_206F_206C_202C_202D_202D_202A_202E(step).Value, _003CCreateAllTasks_003Ed__2._206A_202E_200B_206A_200B_202B_200C_206D_206D_206B_206F_200D_206E_202A_202E_200B_206C_202E_202A_202E_206E_206A_206F_206E_200B_202B_200F_206F_202D_202C_202A_202D_200F_200F_200C_202E_202E_202C_200D_200F_202E(step), StartingCombat: true); - goto case 60; - case 26: - break; - case 56: - { - yield return CreateTask(quest, sequence, step); - goto case 5; - } - IL_09f5: - _003CCreateAllTasks_003Ed__2._206E_206B_200B_206C_202C_206B_206C_202A_200C_206C_200C_200E_200E_206D_202E_200F_202B_200F_206D_202C_200E_202E_206A_200F_202C_206F_200D_202E_202D_200F_200D_200C_202D_206F_202B_200E_206A_202E_200B_202E_202E((object)_003CCreateAllTasks_003Ed__2._202A_202B_206D_200F_202C_200E_202C_206A_202D_202C_202A_200D_200E_206E_200C_206C_206A_200E_202C_206D_202A_202E_202A_200F_206D_206B_206E_206F_206A_202A_202C_206A_200E_200D_206F_206C_202C_202D_202D_202A_202E(step), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2049264615)); - num = ((_003CCreateAllTasks_003Ed__2._200F_206C_206D_206F_206E_200D_202A_206E_200F_202A_202A_200D_202E_200C_202A_202E_206B_200C_206B_200C_200C_206C_200C_206B_200D_202D_202C_202A_200B_200D_202A_200B_202B_200B_202C_200C_202A_200B_206A_202E(step) != true) ? 1179923938 : 1179923965); - continue; - IL_0818: - _003CCreateAllTasks_003Ed__2._206E_206B_200B_206C_202C_206B_206C_202A_200C_206C_200C_200E_200E_206D_202E_200F_202B_200F_206D_202C_200E_202E_206A_200F_202C_206F_200D_202E_202D_200F_200D_200C_202D_206F_202B_200E_206A_202E_200B_202E_202E((object)_003CCreateAllTasks_003Ed__2._202E_206A_202C_206D_206C_200B_206E_202A_202B_206C_200E_202B_206A_200C_206F_200F_202E_206D_202E_202B_206E_206D_206D_202E_202B_200B_200B_200D_206F_202D_206D_202C_202E_206C_200E_206B_202E_200E_200E_202D_202E(step), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-751408309)); - _003CCreateAllTasks_003Ed__2._206E_206B_200B_206C_202C_206B_206C_202A_200C_206C_200C_200E_200E_206D_202E_200F_202B_200F_206D_202C_200E_202E_206A_200F_202C_206F_200D_202E_202D_200F_200D_200C_202D_206F_202B_200E_206A_202E_200B_202E_202E((object)_003CCreateAllTasks_003Ed__2._206D_206C_202C_202D_206F_200E_202E_206D_200F_200E_206D_200E_202A_200C_202A_206B_206F_202C_200D_202B_202C_200F_202E_202A_200D_200C_206B_200E_206D_202A_200E_202B_200F_206B_200B_200C_202B_206C_206E_200E_202E(step), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-791963835)); - num = (_003CCreateAllTasks_003Ed__2._206A_206B_202A_200C_202A_206C_202D_206D_202A_206F_206E_200D_200C_202E_200C_206D_200F_202E_206F_206F_200F_202D_206D_200F_202D_200F_200C_206F_202B_206B_206B_206F_200E_206F_202D_206D_206F_200D_200C_206B_202E(_003CCreateAllTasks_003Ed__2._206D_206C_202C_202D_206F_200E_202E_206D_200F_200E_206D_200E_202A_200C_202A_206B_206F_202C_200D_202B_202C_200F_202E_202A_200D_200C_206B_200E_206D_202A_200E_202B_200F_206B_200B_200C_202B_206C_206E_200E_202E(step).Value) ? 1179923967 : 1179923910); - continue; - IL_080c: - num = 1179923905; - continue; - IL_0729: - yield return CreateTask(quest, sequence, step); - goto case 19; - IL_06a3: - _003CCreateAllTasks_003Ed__2._206E_206B_200B_206C_202C_206B_206C_202A_200C_206C_200C_200E_200E_206D_202E_200F_202B_200F_206D_202C_200E_202E_206A_200F_202C_206F_200D_202E_202D_200F_200D_200C_202D_206F_202B_200E_206A_202E_200B_202E_202E((object)_003CCreateAllTasks_003Ed__2._202E_206A_202C_206D_206C_200B_206E_202A_202B_206C_200E_202B_206A_200C_206F_200F_202E_206D_202E_202B_206E_206D_206D_202E_202B_200B_200B_200D_206F_202D_206D_202C_202E_206C_200E_206B_202E_200E_200E_202D_202E(step), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-118248788)); - yield return new Interact.Task(_003CCreateAllTasks_003Ed__2._202E_206A_202C_206D_206C_200B_206E_202A_202B_206C_200E_202B_206A_200C_206F_200F_202E_206D_202E_202B_206E_206D_206D_202E_202B_200B_200B_200D_206F_202D_206D_202C_202E_206C_200E_206B_202E_200E_200E_202D_202E(step).Value, quest, EInteractionType.None, SkipMarkerCheck: true); - goto case 1; - IL_061c: - _003CCreateAllTasks_003Ed__2._206E_206B_200B_206C_202C_206B_206C_202A_200C_206C_200C_200E_200E_206D_202E_200F_202B_200F_206D_202C_200E_202E_206A_200F_202C_206F_200D_202E_202D_200F_200D_200C_202D_206F_202B_200E_206A_202E_200B_202E_202E((object)_003CCreateAllTasks_003Ed__2._200F_200F_202C_200E_200D_200F_206D_202D_200D_202B_206B_206F_206D_200D_206F_200C_202E_202D_206A_206C_206A_206B_202A_206E_206E_206D_206C_206F_200F_206D_202C_202A_202B_206D_206D_206E_206E_200B_206B_202E_202E(step), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-837937279)); - yield return new Mount.UnmountTask(); - goto case 61; - IL_0498: - num = (_003CCreateAllTasks_003Ed__2._200F_202B_206A_200C_200F_206E_202A_200C_202D_202C_202D_206B_202E_206F_200E_206F_200F_200E_206D_202E_200D_206A_200B_202C_202E_206E_200F_200B_206F_200B_206E_200C_206E_206B_202A_202B_202C_202C_200D_206D_202E(step).HasValue ? 1179923917 : 1179923934); - continue; - IL_05c8: - num = ((obj2 == 147) ? 1179923923 : 1179923932); - continue; - IL_01f2: - num = ((obj == 128) ? 1179923923 : 1179923946); - continue; - } - break; } + else if (step.DataId.HasValue) + { + yield return new UseItem.UseOnObject(quest.Id, step.DataId.Value, step.ItemId.Value, step.CompletionQuestVariablesFlags, StartingCombat: true); + } + else + { + yield return new UseItem.UseOnSelf(quest.Id, step.ItemId.Value, step.CompletionQuestVariablesFlags, StartingCombat: true); + } + yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(1L)); + yield return CreateTask(quest, sequence, step); + break; + case EEnemySpawnType.AfterAction: + ArgumentNullException.ThrowIfNull(step.DataId, "step.DataId"); + ArgumentNullException.ThrowIfNull(step.Action, "step.Action"); + if (!step.Action.Value.RequiresMount()) + { + yield return new Mount.UnmountTask(); + } + yield return new Action.UseOnObject(step.DataId.Value, null, step.Action.Value, null); + yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(1L)); + yield return CreateTask(quest, sequence, step); + break; + case EEnemySpawnType.AfterEmote: + ArgumentNullException.ThrowIfNull(step.Emote, "step.Emote"); + yield return new Mount.UnmountTask(); + if (step.DataId.HasValue) + { + yield return new Emote.UseOnObject(step.Emote.Value, step.DataId.Value); + } + else + { + yield return new Emote.UseOnSelf(step.Emote.Value); + } + yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(1L)); + yield return CreateTask(quest, sequence, step); + break; + case EEnemySpawnType.AutoOnEnterArea: + if (!step.CombatDelaySecondsAtStart.HasValue) + { + yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(1L)); + } + yield return CreateTask(quest, sequence, step); + break; + case EEnemySpawnType.OverworldEnemies: + case EEnemySpawnType.FateEnemies: + yield return CreateTask(quest, sequence, step); + break; + case EEnemySpawnType.FinishCombatIfAny: + yield return CreateTask(quest, sequence, step); + break; + default: + throw new ArgumentOutOfRangeException("step", $"Unknown spawn type {step.EnemySpawnType}"); } } - IEnumerable ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks - return this.CreateAllTasks(quest, sequence, step); - } - - [MethodImpl(MethodImplOptions.NoInlining)] private static Task CreateTask(Quest quest, QuestSequence sequence, QuestStep step) { - _202D_202A_206C_202C_200B_202E_202C_206F_206D_206C_202B_202E_206F_202D_200B_206F_206C_206E_202E_200D_200D_200B_202D_206A_202C_202B_200C_206E_200C_206B_202C_200E_206B_206B_206D_200E_202C_202B_206B_202B_202E((object)_206F_202C_200E_202C_200E_206E_200F_206A_200F_200C_200F_200B_202E_200C_206F_206D_206F_200D_206A_202A_202B_206D_206D_206E_202B_200B_202D_202A_202B_206E_200E_200B_200F_206D_200F_200E_200C_206F_206A_206E_202E(step), 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(-1048645435)); - bool isLastStep = _200D_200B_202B_200F_206B_206E_200E_202C_206A_200E_202E_206F_200D_202C_200B_200E_206C_200F_202C_202E_200F_206B_206E_200E_206C_202A_206E_206B_200C_200F_202E_206F_202B_200C_202A_200C_202C_200C_200D_202D_202E(sequence).Last() == step; - return CreateTask(quest.Id, _206A_200D_200C_202A_200B_202B_202D_206F_206F_200C_200E_206B_206B_206A_200E_200C_202B_202D_206D_206B_202C_206E_200F_202D_202E_202E_206C_206B_206A_206B_206C_206B_206F_206F_206A_200D_202E_200D_206E_206E_202E(sequence), isLastStep, _206F_202C_200E_202C_200E_206E_200F_206A_200F_200C_200F_200B_202E_200C_206F_206D_206F_200D_206A_202A_202B_206D_206D_206E_202B_200B_202D_202A_202B_206E_200E_200B_200F_206D_200F_200E_200C_206F_206A_206E_202E(step).Value, _206A_206E_206D_206F_206D_200B_202B_202A_206C_206F_200B_206C_200E_200B_202A_206E_200E_200C_206E_202D_200D_202E_200B_206B_200C_200F_202B_206A_202D_206A_206E_206D_206B_200D_206B_202E_200B_200B_200E_206D_202E(step), _206B_202A_206B_206B_206F_206C_206C_206E_206D_206F_206A_206B_202D_206F_200C_202E_200B_202C_202D_200F_206E_206B_206B_206C_202D_202C_200E_206A_200D_200C_202A_200D_206D_206C_200D_202C_200E_202E_206B_202A_202E(step), _206B_200F_200E_206F_206E_206C_206D_200F_202A_202C_200F_206A_200F_206D_200C_200B_200C_200F_202C_202C_202E_202D_200F_202B_200C_202C_200C_200C_206D_200E_206B_206D_206D_200D_200C_206D_202A_206E_202D_206D_202E(step), _200D_202E_200E_200B_202E_202A_206A_206A_206C_206A_206C_206F_202E_202B_200E_206C_200F_202C_200F_202A_200C_206F_206D_202D_202D_200E_200D_200F_206C_202C_202A_200C_206E_206A_200B_200E_200B_202A_206F_200D_202E(step)); + ArgumentNullException.ThrowIfNull(step.EnemySpawnType, "step.EnemySpawnType"); + bool isLastStep = sequence.Steps.Last() == step; + return CreateTask(quest.Id, sequence.Sequence, isLastStep, step.EnemySpawnType.Value, step.KillEnemyDataIds, step.CompletionQuestVariablesFlags, step.ComplexCombatData, step.CombatItemUse); } internal static Task CreateTask(ElementId? elementId, int sequence, bool isLastStep, EEnemySpawnType enemySpawnType, IList killEnemyDataIds, IList completionQuestVariablesFlags, IList complexCombatData, CombatItemUse? combatItemUse) @@ -940,211 +127,30 @@ internal static class Combat CombatItemUse = combatItemUse }, completionQuestVariablesFlags, isLastStep); } - - static EEnemySpawnType? _206F_202C_200E_202C_200E_206E_200F_206A_200F_200C_200F_200B_202E_200C_206F_206D_206F_200D_206A_202A_202B_206D_206D_206E_202B_200B_202D_202A_202B_206E_200E_200B_200F_206D_200F_200E_200C_206F_206A_206E_202E(QuestStep P_0) - { - return P_0.EnemySpawnType; - } - - static void _202D_202A_206C_202C_200B_202E_202C_206F_206D_206C_202B_202E_206F_202D_200B_206F_206C_206E_202E_200D_200D_200B_202D_206A_202C_202B_200C_206E_200C_206B_202C_200E_206B_206B_206D_200E_202C_202B_206B_202B_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static List _200D_200B_202B_200F_206B_206E_200E_202C_206A_200E_202E_206F_200D_202C_200B_200E_206C_200F_202C_202E_200F_206B_206E_200E_206C_202A_206E_206B_200C_200F_202E_206F_202B_200C_202A_200C_202C_200C_200D_202D_202E(QuestSequence P_0) - { - return P_0.Steps; - } - - static byte _206A_200D_200C_202A_200B_202B_202D_206F_206F_200C_200E_206B_206B_206A_200E_200C_202B_202D_206D_206B_202C_206E_200F_202D_202E_202E_206C_206B_206A_206B_206C_206B_206F_206F_206A_200D_202E_200D_206E_206E_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - - static List _206A_206E_206D_206F_206D_200B_202B_202A_206C_206F_200B_206C_200E_200B_202A_206E_200E_200C_206E_202D_200D_202E_200B_206B_200C_200F_202B_206A_202D_206A_206E_206D_206B_200D_206B_202E_200B_200B_200E_206D_202E(QuestStep P_0) - { - return P_0.KillEnemyDataIds; - } - - static List _206B_202A_206B_206B_206F_206C_206C_206E_206D_206F_206A_206B_202D_206F_200C_202E_200B_202C_202D_200F_206E_206B_206B_206C_202D_202C_200E_206A_200D_200C_202A_200D_206D_206C_200D_202C_200E_202E_206B_202A_202E(QuestStep P_0) - { - return P_0.CompletionQuestVariablesFlags; - } - - static List _206B_200F_200E_206F_206E_206C_206D_200F_202A_202C_200F_206A_200F_206D_200C_200B_200C_200F_202C_202C_202E_202D_200F_202B_200C_202C_200C_200C_206D_200E_206B_206D_206D_200D_200C_206D_202A_206E_202D_206D_202E(QuestStep P_0) - { - return P_0.ComplexCombatData; - } - - static CombatItemUse _200D_202E_200E_200B_202E_202A_206A_206A_206C_206A_206C_206F_202E_202B_200E_206C_200F_202C_200F_202A_200C_206F_206D_202D_202D_200E_200D_200F_206C_202C_202A_200C_206E_206A_200B_200E_200B_202A_206F_200D_202E(QuestStep P_0) - { - return P_0.CombatItemUse; - } } internal sealed record Task(CombatController.CombatData CombatData, IList CompletionQuestVariableFlags, bool IsLastStep) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202E_206D_202D_202D_200F_202B_206E_202E_202E_206E_202C_200C_200D_200F_202E_202A_202C_206D_206C_206D_200F_206F_206C_202B_200B_200C_202C_202A_200D_206D_206A_206F_200D_200C_206E_202D_206B_206D_202E_206A_202E(typeof(Task).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - int num = ((CombatData.SpawnType != EEnemySpawnType.FinishCombatIfAny) ? 1574649423 : 1574649422); - while (true) + if (CombatData.SpawnType == EEnemySpawnType.FinishCombatIfAny) { - int num2 = num; - int num3 = 1574649423; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = ((!QuestWorkUtils.HasCompletionFlags(CompletionQuestVariableFlags)) ? 1574649420 : 1574649418); - break; - case 2: - return 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(1564114709); - case 3: - num = ((!IsLastStep) ? 1574649421 : 1574649419); - break; - case 6: - num = 1574649422; - break; - case 5: - return 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(-1359402350); - case 4: - return global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-37145119); - case 1: - return global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-421063306); - } + return "HandleCombat(wait: not in combat, optional)"; } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206E_202B_200E_206A_206F_206E_206E_200D_206B_202C_200B_206E_206B_206E_202B_200D_202C_200C_200D_206E_200F_200B_200D_206E_206C_202A_200B_200E_206F_206E_202D_206F_200F_200E_200D_206A_206D_206B_206C_200E_202E(); - _206B_206A_206D_200C_200F_200D_202B_202B_206A_200B_200F_200F_200B_206B_200D_200D_202D_202E_206F_202D_200F_202D_206E_200C_202A_202E_202C_206A_206C_206F_206E_202B_200F_206B_206A_200D_202D_200F_200B_202B_202E(builder, 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(1165165478)); - _206B_200B_202B_206C_206C_200E_200C_206A_200C_206D_206B_206B_200E_200B_206E_202B_200E_200C_202B_202D_206E_202E_206F_206F_206D_200F_202C_206C_206C_200F_206F_206D_202D_200B_202C_200D_200E_200D_206C_206D_202E(builder, (object)CombatData); - _206B_206A_206D_200C_200F_200D_202B_202B_206A_200B_200F_200F_200B_206B_200D_200D_202D_202E_206F_202D_200F_202D_206E_200C_202A_202E_202C_206A_206C_206F_206E_202B_200F_206B_206A_200D_202D_200F_200B_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(179293478)); - _206B_200B_202B_206C_206C_200E_200C_206A_200C_206D_206B_206B_200E_200B_206E_202B_200E_200C_202B_202D_206E_202E_206F_206F_206D_200F_202C_206C_206C_200F_206F_206D_202D_200B_202C_200D_200E_200D_206C_206D_202E(builder, (object)CompletionQuestVariableFlags); - _206B_206A_206D_200C_200F_200D_202B_202B_206A_200B_200F_200F_200B_206B_200D_200D_202D_202E_206F_202D_200F_202D_206E_200C_202A_202E_202C_206A_206C_206F_206E_202B_200F_206B_206A_200D_202D_200F_200B_202B_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1123217053)); - _206B_206A_206D_200C_200F_200D_202B_202B_206A_200B_200F_200F_200B_206B_200D_200D_202D_202E_206F_202D_200F_202D_206E_200C_202A_202E_202C_206A_206C_206F_206E_202B_200F_206B_206A_200D_202D_200F_200B_202B_202E(builder, IsLastStep.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(Task? other) - { - int num = (((object)this == other) ? 2136882810 : 2136882808); - while (true) + if (QuestWorkUtils.HasCompletionFlags(CompletionQuestVariableFlags)) { - int num2 = num; - int num3 = 2136882812; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 2136882808; - break; - case 4: - num = (((object)other == null) ? 2136882813 : 2136882811); - break; - case 1: - return false; - case 7: - num = ((!_200C_206B_206F_206B_202C_206B_206D_200F_202E_200F_200C_202E_202D_200C_202B_200F_202E_202B_200B_200C_202E_202C_200F_206A_202B_202A_202D_206F_206B_206A_206D_202A_202D_206E_206D_202B_202A_200D_206A_200E_202E(EqualityContract, other.EqualityContract)) ? 2136882813 : 2136882814); - break; - case 3: - return EqualityComparer.Default.Equals(IsLastStep, other.IsLastStep); - case 2: - num = ((!EqualityComparer.Default.Equals(CombatData, other.CombatData)) ? 2136882813 : 2136882809); - break; - case 6: - return true; - case 5: - num = ((!EqualityComparer>.Default.Equals(CompletionQuestVariableFlags, other.CompletionQuestVariableFlags)) ? 2136882813 : 2136882815); - break; - } + return "HandleCombat(wait: QW flags)"; } - } - - bool IEquatable.Equals(Task? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202E_206D_202D_202D_200F_202B_206E_202E_202E_206E_202C_200C_200D_200F_202E_202A_202C_206D_206C_206D_200F_206F_206C_202B_200B_200C_202C_202A_200D_206D_206A_206F_200D_200C_206E_202D_206B_206D_202E_206A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _206E_202B_200E_206A_206F_206E_206E_200D_206B_202C_200B_206E_206B_206E_202B_200D_202C_200C_200D_206E_200F_200B_200D_206E_206C_202A_200B_200E_206F_206E_202D_206F_200F_200E_200D_206A_206D_206B_206C_200E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206B_206A_206D_200C_200F_200D_202B_202B_206A_200B_200F_200F_200B_206B_200D_200D_202D_202E_206F_202D_200F_202D_206E_200C_202A_202E_202C_206A_206C_206F_206E_202B_200F_206B_206A_200D_202D_200F_200B_202B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206B_200B_202B_206C_206C_200E_200C_206A_200C_206D_206B_206B_200E_200B_206E_202B_200E_200C_202B_202D_206E_202E_206F_206F_206D_200F_202C_206C_206C_200F_206F_206D_202D_200B_202C_200D_200E_200D_206C_206D_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200C_206B_206F_206B_202C_206B_206D_200F_202E_200F_200C_202E_202D_200C_202B_200F_202E_202B_200B_200C_202E_202C_200F_206A_202B_202A_202D_206F_206B_206A_206D_202A_202D_206E_206D_202B_202A_200D_206A_200E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + if (IsLastStep) + { + return "HandleCombat(wait: next sequence)"; + } + return "HandleCombat(wait: not in combat)"; } } internal sealed class HandleCombat(CombatController combatController, QuestFunctions questFunctions) : TaskExecutor() { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__6_0; - - public static Func _003C_003E9__6_1; - - public static Func<(ComplexCombatData ccd, int index), bool> _003C_003E9__6_2; - - internal bool _003CUpdate_003Eb__6_0(ComplexCombatData x) - { - return _206C_206F_206F_206A_206F_200E_206B_202B_206F_200B_206E_202A_200F_206F_200F_200F_206B_206F_206B_202A_202B_202D_200D_202A_200E_206E_206B_200D_200D_206D_206D_200D_200C_206B_202C_200F_206D_200C_206D_206C_202E(x).HasValue; - } - - internal (ComplexCombatData ccd, int index) _003CUpdate_003Eb__6_1(ComplexCombatData ccd, int index) - { - return (ccd: ccd, index: index); - } - - internal bool _003CUpdate_003Eb__6_2((ComplexCombatData ccd, int index) x) - { - return _206C_206F_206F_206A_206F_200E_206B_202B_206F_200B_206E_202A_200F_206F_200F_200F_206B_206F_206B_202A_202B_202D_200D_202A_200E_206E_206B_200D_200D_206D_206D_200D_200C_206B_202C_200F_206D_200C_206D_206C_202E(x.ccd).HasValue; - } - - static uint? _206C_206F_206F_206A_206F_200E_206B_202B_206F_200B_206E_202A_200F_206F_200F_200F_206B_206F_206B_202A_202B_202D_200D_202A_200E_206E_206B_200D_200D_206D_206D_200D_200C_206B_202C_200F_206D_200C_206D_206C_202E(ComplexCombatData P_0) - { - return P_0.MinimumKillCount; - } - } - private CombatController.EStatus _status; private long _combatEndedAtMs; @@ -1154,150 +160,77 @@ internal static class Combat return combatController.Start(base.Task.CombatData); } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { _status = combatController.Update(); - QuestId questId = base.Task.CombatData.ElementId as QuestId; - int num = (((object)questId == null) ? 833084925 : 833084923); - QuestProgressInfo questProgressInfo = default(QuestProgressInfo); - while (true) + if (base.Task.CombatData.ElementId is QuestId elementId) { - int num2 = num; - int num3 = 833084915; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + QuestProgressInfo questProgressInfo = questFunctions.GetQuestProgressInfo(elementId); + if (questProgressInfo != null && AreQuestCombatFlagsMet(questProgressInfo)) { - case 16: - num = ((base.Task.CombatData.SpawnType != EEnemySpawnType.QuestInterruption) ? 833084917 : 833084914); - break; - case 6: - num = ((!base.Task.CombatData.ComplexCombatDatas.Any((ComplexCombatData x) => _003C_003Ec._206C_206F_206F_206A_206F_200E_206B_202B_206F_200B_206E_202A_200F_206F_200F_200F_206B_206F_206B_202A_202B_202D_200D_202A_200E_206E_206B_200D_200D_206D_206D_200D_200C_206B_202C_200F_206D_200C_206D_206C_202E(x).HasValue)) ? 833084926 : 833084924); - break; - case 14: - num = ((_status == CombatController.EStatus.Complete) ? 833084899 : 833084922); - break; - case 15: - num = ((!(from x in base.Task.CombatData.ComplexCombatDatas.Select((ComplexCombatData ccd, int index) => (ccd: ccd, index: index)) - where _003C_003Ec._206C_206F_206F_206A_206F_200E_206B_202B_206F_200B_206E_202A_200F_206F_200F_200F_206B_206F_206B_202A_202B_202D_200D_202A_200E_206E_206B_200D_200D_206D_206D_200D_200C_206B_202C_200F_206D_200C_206D_206C_202E(x.ccd).HasValue - select x).All(((ComplexCombatData ccd, int index) x) => base.Task.CombatData.CompletedComplexDatas.Contains(x.index))) ? 833084921 : 833084919); - break; - case 10: - return ETaskResult.StillRunning; - case 13: - num = ((!base.Task.IsLastStep) ? 833084898 : 833084912); - break; - case 7: - num = ((_206F_206F_200E_202C_206B_206A_206C_200F_200C_206E_206F_200C_206C_206B_202D_206E_200E_202C_206B_200F_200D_206B_200B_200E_206B_200F_200D_206F_206B_206B_202D_200D_200E_206A_202B_206A_206F_206B_200C_202D_202E() - _combatEndedAtMs >= 2000) ? 833084917 : 833084913); - break; - case 1: - num = ((_combatEndedAtMs != 0L) ? 833084916 : 833084927); - break; - case 5: - num = ((!AreQuestCombatFlagsMet(questProgressInfo)) ? 833084925 : 833084920); - break; - case 4: - combatController.Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1469554830)); - return ETaskResult.TaskComplete; - case 2: - return ETaskResult.StillRunning; - case 9: - _combatEndedAtMs = 0L; - return ETaskResult.StillRunning; - case 0: - num = 833084923; - break; - case 3: - return ETaskResult.StillRunning; - case 12: - _combatEndedAtMs = _206F_206F_200E_202C_206B_206A_206C_200F_200C_206E_206F_200C_206C_206B_202D_206E_200E_202C_206B_200F_200D_206B_200B_200E_206B_200F_200D_206F_206B_206B_202D_200D_200E_206A_202B_206A_206F_206B_200C_202D_202E(); - num = 833084916; - break; - case 8: - questProgressInfo = questFunctions.GetQuestProgressInfo(questId); - num = ((questProgressInfo == null) ? 833084925 : 833084918); - break; - case 17: - combatController.Stop(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(-1518429285)); - return ETaskResult.TaskComplete; - case 11: - combatController.Stop(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(575032322)); + combatController.Stop("Quest combat objective met"); return ETaskResult.TaskComplete; } } + if (_status != CombatController.EStatus.Complete) + { + _combatEndedAtMs = 0L; + return ETaskResult.StillRunning; + } + if (base.Task.CombatData.SpawnType == EEnemySpawnType.QuestInterruption) + { + if (_combatEndedAtMs == 0L) + { + _combatEndedAtMs = Environment.TickCount64; + } + if (Environment.TickCount64 - _combatEndedAtMs < 2000) + { + return ETaskResult.StillRunning; + } + } + if (base.Task.CombatData.ComplexCombatDatas.Any((ComplexCombatData x) => x.MinimumKillCount.HasValue)) + { + if ((from x in base.Task.CombatData.ComplexCombatDatas.Select((ComplexCombatData ccd, int index) => (ccd: ccd, index: index)) + where x.ccd.MinimumKillCount.HasValue + select x).All(((ComplexCombatData ccd, int index) x) => base.Task.CombatData.CompletedComplexDatas.Contains(x.index))) + { + combatController.Stop("Kill count requirements met"); + return ETaskResult.TaskComplete; + } + return ETaskResult.StillRunning; + } + if (base.Task.IsLastStep) + { + return ETaskResult.StillRunning; + } + combatController.Stop("Combat task complete"); + return ETaskResult.TaskComplete; } private bool AreQuestCombatFlagsMet(QuestProgressInfo questWork) { - int num = ((!QuestWorkUtils.HasCompletionFlags(base.Task.CompletionQuestVariableFlags)) ? (-2101932045) : (-2101932046)); - ComplexCombatData current = default(ComplexCombatData); - while (true) + if (QuestWorkUtils.HasCompletionFlags(base.Task.CompletionQuestVariableFlags) && QuestWorkUtils.MatchesQuestWork(base.Task.CompletionQuestVariableFlags, questWork)) { - int num2 = num; - int num3 = -2101932047; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return true; + } + bool result = false; + foreach (ComplexCombatData complexCombatData in base.Task.CombatData.ComplexCombatDatas) + { + if (QuestWorkUtils.HasCompletionFlags(complexCombatData.CompletionQuestVariablesFlags)) { - case 0: - num = -2101932046; - break; - case 1: - return true; - case 3: - num = ((!QuestWorkUtils.MatchesQuestWork(base.Task.CompletionQuestVariableFlags, questWork)) ? (-2101932045) : (-2101932048)); - break; - case 2: - { - bool result = false; - using List.Enumerator enumerator = base.Task.CombatData.ComplexCombatDatas.GetEnumerator(); - num = 956628557; - while (true) + result = true; + if (!QuestWorkUtils.MatchesQuestWork(complexCombatData.CompletionQuestVariablesFlags, questWork)) { - int num7 = num; - num3 = 956628553; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - result = true; - num = (QuestWorkUtils.MatchesQuestWork(_200E_206D_200E_206E_200B_206E_206F_200C_206A_200D_206F_206D_200D_206D_206B_202D_200F_206A_202D_200B_206D_202C_202C_200D_200F_206E_200B_200E_200D_202A_202B_202E_206B_202E_206D_206B_202E_202D_206A_202A_202E(current), questWork) ? 956628557 : 956628554); - break; - case 3: - return false; - case 5: - num = 956628557; - break; - case 4: - num = (enumerator.MoveNext() ? 956628552 : 956628553); - break; - case 1: - current = enumerator.Current; - num = ((!QuestWorkUtils.HasCompletionFlags(_200E_206D_200E_206E_200B_206E_206F_200C_206A_200D_206F_206D_200D_206D_206B_202D_200F_206A_202D_200B_206D_202C_202C_200D_200F_206E_200B_200E_200D_202A_202B_202E_206B_202E_206D_206B_202E_202D_206A_202A_202E(current))) ? 956628557 : 956628555); - break; - case 0: - return result; - } + return false; } } - } } + return result; } public override bool ShouldInterruptOnDamage() { return false; } - - static long _206F_206F_200E_202C_206B_206A_206C_200F_200C_206E_206F_200C_206C_206B_202D_206E_200E_202C_206B_200F_200D_206B_200B_200E_206B_200F_200D_206F_206B_206B_202D_200D_200E_206A_202B_206A_206F_206B_200C_202D_202E() - { - return Environment.TickCount64; - } - - static IList _200E_206D_200E_206E_200B_206E_206F_200C_206A_200D_206F_206D_200D_206D_206B_202D_200F_206A_202D_200B_206D_202C_202C_200D_200F_206E_200B_200E_200D_202A_202B_202E_206B_202E_206D_206B_202E_202D_206A_202A_202E(ComplexCombatData P_0) - { - return P_0.CompletionQuestVariablesFlags; - } } } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/CriticalEncounter.cs b/Questionable/Questionable.Controller.Steps.Interactions/CriticalEncounter.cs index 05072e0..164b672 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/CriticalEncounter.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/CriticalEncounter.cs @@ -1,7 +1,5 @@ using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using LLib.GameData; using Microsoft.Extensions.Logging; using Questionable.Controller.Steps.Common; @@ -14,175 +12,26 @@ internal static class CriticalEncounter { internal sealed class Factory : ITaskFactory { - [MethodImpl(MethodImplOptions.NoInlining)] public IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((_202B_202A_206E_202D_206C_200F_200D_202A_200D_206C_200B_206A_202B_202D_200F_206F_206C_206E_200E_202E_202B_202E_206C_202C_206D_206A_202B_200F_206C_202A_206B_200B_202E_202D_206E_206C_200F_200D_206A_200E_202E(step) == EInteractionType.CriticalEncounter) ? 388534169 : 388534175); - bool flag = default(bool); - ushort? num5 = default(ushort?); - while (true) + if (step.InteractionType != EInteractionType.CriticalEncounter) { - int num2 = num; - int num3 = 388534174; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return new global::_003C_003Ez__ReadOnlySingleElementList(new WaitForCriticalEncounter(_202B_202D_206C_206B_206B_206E_200E_206A_206C_206D_200E_202E_206E_202C_206B_206A_200F_202C_202E_202E_200F_206D_202D_206A_206F_206C_200B_206C_202C_200F_206F_206C_200D_206B_200C_202D_206F_202E_200F_202A_202E(step).Value, _200E_200B_202E_206D_202C_200C_206F_202A_206F_206D_206E_206C_206B_202C_202C_206D_206B_206C_206C_202E_206D_200C_202B_202C_206A_202A_206E_202A_206B_202B_206A_206B_206A_202E_200E_202C_202D_200C_200F_206C_202E(step))); - case 2: - num = ((!flag) ? 388534173 : 388534170); - break; - case 4: - throw _202D_206F_200D_202A_200C_200B_200C_200F_202A_202E_202C_200B_200F_206A_202D_206B_202D_200E_200F_206D_200D_206E_206D_200C_206B_200C_200E_202E_206A_202A_200F_200F_206D_202B_202E_206A_206A_202A_200E_200F_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(173883296)); - case 1: - return Array.Empty(); - case 8: - num = 388534175; - break; - case 0: - num = ((num5.GetValueOrDefault() != 0) ? 388534171 : 388534168); - break; - case 5: - flag = false; - num = 388534172; - break; - case 6: - flag = true; - num = 388534172; - break; - case 7: - num5 = _202B_202D_206C_206B_206B_206E_200E_206A_206C_206D_200E_202E_206E_202C_206B_206A_200F_202C_202E_202E_200F_206D_202D_206A_206F_206C_200B_206C_202C_200F_206F_206C_200D_206B_200C_202D_206F_202E_200F_202A_202E(step); - num = ((!num5.HasValue) ? 388534168 : 388534174); - break; - } + return Array.Empty(); } - } - - IEnumerable ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks - return this.CreateAllTasks(quest, sequence, step); - } - - static EInteractionType _202B_202A_206E_202D_206C_200F_200D_202A_200D_206C_200B_206A_202B_202D_200F_206F_206C_206E_200E_202E_202B_202E_206C_202C_206D_206A_202B_200F_206C_202A_206B_200B_202E_202D_206E_206C_200F_200D_206A_200E_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static ushort? _202B_202D_206C_206B_206B_206E_200E_206A_206C_206D_200E_202E_206E_202C_206B_206A_200F_202C_202E_202E_200F_206D_202D_206A_206F_206C_200B_206C_202C_200F_206F_206C_200D_206B_200C_202D_206F_202E_200F_202A_202E(QuestStep P_0) - { - return P_0.CriticalEncounterId; - } - - static InvalidOperationException _202D_206F_200D_202A_200C_200B_200C_200F_202A_202E_202C_200B_200F_206A_202D_206B_202D_200E_200F_206D_200D_206E_206D_200C_206B_200C_200E_202E_206A_202A_200F_200F_206D_202B_202E_206A_206A_202A_200E_200F_202E(string P_0) - { - return new InvalidOperationException(P_0); - } - - static string _200E_200B_202E_206D_202C_200C_206F_202A_206F_206D_206E_206C_206B_202C_202C_206D_206B_206C_206C_202E_206D_200C_202B_202C_206A_202A_206E_202A_206B_202B_206A_206B_206A_202E_200E_202C_202D_200C_200F_206C_202E(QuestStep P_0) - { - return P_0.Comment; + ushort? criticalEncounterId = step.CriticalEncounterId; + if ((!criticalEncounterId.HasValue || criticalEncounterId.GetValueOrDefault() == 0) ? true : false) + { + throw new InvalidOperationException("CriticalEncounter step requires CriticalEncounterId"); + } + return new global::_003C_003Ez__ReadOnlySingleElementList(new WaitForCriticalEncounter(step.CriticalEncounterId.Value, step.Comment)); } } internal sealed record WaitForCriticalEncounter(ushort CriticalEncounterId, string? Comment) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206C_206C_206A_202A_200B_206A_202D_202E_200C_200D_200B_202A_206D_206A_202E_202A_206D_206A_202D_202C_200C_206D_206A_206A_206C_206D_200C_200D_202D_202C_202E_206D_200D_206B_200B_202E_206E_202E_200F_200E_202E(typeof(WaitForCriticalEncounter).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(26, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1697755405)); - defaultInterpolatedStringHandler.AppendFormatted(CriticalEncounterId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200D_206D_202B_206B_206E_206A_200B_206A_206A_200D_202D_206C_202A_202E_206E_202B_200D_206E_206B_200E_202D_202E_202D_206F_206F_206A_206C_200C_206E_200C_202C_206D_206F_200D_200E_200C_202B_206F_202C_206A_202E(); - _206D_200B_200D_202E_200F_200E_206D_206B_206A_200C_200F_200C_202B_202A_202B_206F_200F_200D_202D_200B_202C_200E_202C_206B_206D_200C_202B_202D_206A_206D_206F_206E_200C_206C_202D_200E_206E_202E_206E_206C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1797121182)); - _206D_200B_200D_202E_200F_200E_206D_206B_206A_200C_200F_200C_202B_202A_202B_206F_200F_200D_202D_200B_202C_200E_202C_206B_206D_200C_202B_202D_206A_206D_206F_206E_200C_206C_202D_200E_206E_202E_206E_206C_202E(builder, CriticalEncounterId.ToString()); - _206D_200B_200D_202E_200F_200E_206D_206B_206A_200C_200F_200C_202B_202A_202B_206F_200F_200D_202D_200B_202C_200E_202C_206B_206D_200C_202B_202D_206A_206D_206F_206E_200C_206C_202D_200E_206E_202E_206E_206C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(161698568)); - _206D_206B_202C_200F_206B_202D_200D_206D_206E_202D_200D_200B_200B_202A_206F_202D_200D_200B_200E_202E_206F_206C_206D_200D_206E_200D_200E_206E_202D_206A_206E_200E_206B_206E_200D_202D_200C_206C_200D_202C_202E(builder, (object?)Comment); - return true; - } - - [CompilerGenerated] - public bool Equals(WaitForCriticalEncounter? other) - { - int num = (((object)this == other) ? 1889807727 : 1889807725); - while (true) - { - int num2 = num; - int num3 = 1889807724; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 1889807725; - break; - case 6: - num = ((!EqualityComparer.Default.Equals(CriticalEncounterId, other.CriticalEncounterId)) ? 1889807720 : 1889807721); - break; - case 3: - return true; - case 1: - num = (((object)other == null) ? 1889807720 : 1889807724); - break; - case 5: - return EqualityComparer.Default.Equals(Comment, other.Comment); - case 4: - return false; - case 0: - num = ((!_200B_202E_206B_202C_202A_200C_202E_200C_202C_200D_202E_200C_200C_200B_200F_200C_202D_202E_206D_202C_202B_202B_206C_200B_200F_206C_202C_200E_206C_206F_202B_206F_200B_202B_200C_200C_200F_206E_202A_202D_202E(EqualityContract, other.EqualityContract)) ? 1889807720 : 1889807722); - break; - } - } - } - - bool IEquatable.Equals(WaitForCriticalEncounter? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type? _206C_206C_206A_202A_200B_206A_202D_202E_200C_200D_200B_202A_206D_206A_202E_202A_206D_206A_202D_202C_200C_206D_206A_206A_206C_206D_200C_200D_202D_202C_202E_206D_200D_206B_200B_202E_206E_202E_200F_200E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _200D_206D_202B_206B_206E_206A_200B_206A_206A_200D_202D_206C_202A_202E_206E_202B_200D_206E_206B_200E_202D_202E_202D_206F_206F_206A_206C_200C_206E_200C_202C_206D_206F_200D_200E_200C_202B_206F_202C_206A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder? _206D_200B_200D_202E_200F_200E_206D_206B_206A_200C_200F_200C_202B_202A_202B_206F_200F_200D_202D_200B_202C_200E_202C_206B_206D_200C_202B_202D_206A_206D_206F_206E_200C_206C_202D_200E_206E_202E_206E_206C_202E(StringBuilder? P_0, string? P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder? _206D_206B_202C_200F_206B_202D_200D_206D_206E_202D_200D_200B_200B_202A_206F_202D_200D_200B_200E_202E_206F_206C_206D_200D_206E_200D_200E_206E_202D_206A_206E_200E_206B_206E_200D_202D_200C_206C_200D_202C_202E(StringBuilder? P_0, object? P_1) - { - return P_0.Append(P_1); - } - - static bool _200B_202E_206B_202C_202A_200C_202E_200C_202C_200D_202E_200C_200C_200B_200F_200C_202D_202E_206D_202C_202B_202B_206C_200B_200F_206C_202C_200E_206C_206F_202B_206F_200B_202B_200C_200C_200F_206E_202A_202D_202E(Type? P_0, Type? P_1) - { - return P_0 == P_1; + return $"WaitForCriticalEncounter({CriticalEncounterId})"; } } @@ -196,128 +45,61 @@ internal static class CriticalEncounter private bool _navigating; - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { - _200D_206C_202E_206E_206C_200F_200C_200F_200D_206D_202D_200D_206C_206B_200D_200D_200C_202B_206D_200E_202C_202B_200B_206E_206A_200B_206C_206E_206C_206D_202D_206F_200B_202D_202E_206F_206F_206F_206B_206D_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(787186705), new object[1] { base.Task.CriticalEncounterId }); + logger.LogDebug("Waiting for critical encounter {Id}", base.Task.CriticalEncounterId); return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - int num = ((_202C_200B_200C_200C_202A_200E_206C_200C_206F_200E_202B_206F_202B_202B_206E_206F_200C_202D_206B_200B_202B_206F_206D_206D_202A_202A_206E_206D_206B_206C_202E_206F_202C_200C_200D_200F_200E_202B_202A_200F_202E() >= _nextPollAt) ? 547757229 : 547757246); - PublicEvent valueOrDefault = default(PublicEvent); - PublicEvent? publicEvent = default(PublicEvent?); - while (true) + if (Environment.TickCount64 < _nextPollAt) { - int num2 = num; - int num3 = 547757230; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return ETaskResult.StillRunning; + } + PublicEvent? eventById = publicEventHelper.GetEventById(EPublicEventType.DynamicEvent, base.Task.CriticalEncounterId); + if (eventById.HasValue) + { + PublicEvent valueOrDefault = eventById.GetValueOrDefault(); + if (!_notified) { - case 8: - num = (_loggedWaiting ? 547757221 : 547757227); - break; - case 4: - _nextPollAt = _202C_200B_200C_200C_202A_200E_206C_200C_206F_200E_202B_206F_202B_202B_206E_206F_200C_202D_206B_200B_202B_206F_206D_206D_202A_202A_206E_206D_206B_206C_202E_206F_202C_200C_200D_200F_200E_202B_202A_200F_202E() + 1000; - return ETaskResult.StillRunning; - case 1: - _nextPollAt = _202C_200B_200C_200C_202A_200E_206C_200C_206F_200E_202B_206F_202B_202B_206E_206F_200C_202D_206B_200B_202B_206F_206D_206D_202A_202A_206E_206D_206B_206C_202E_206F_202C_200C_200D_200F_200E_202B_202A_200F_202E() + 2000; - return ETaskResult.StillRunning; - case 12: - valueOrDefault = publicEvent.GetValueOrDefault(); - num = 547757223; - break; - case 2: - return ETaskResult.TaskComplete; - case 16: - return ETaskResult.StillRunning; - case 0: - num = 547757246; - break; - case 15: - num = ((publicEvent.GetValueOrDefault().Id != base.Task.CriticalEncounterId) ? 547757225 : 547757228); - break; - case 11: - _notified = false; - _navigating = false; - _nextPollAt = _202C_200B_200C_200C_202A_200E_206C_200C_206F_200E_202B_206F_202B_202B_206E_206F_200C_202D_206B_200B_202B_206F_206D_206D_202A_202A_206E_206D_206B_206C_202E_206F_202C_200C_200D_200F_200E_202B_202A_200F_202E() + 1000; - return ETaskResult.StillRunning; - case 10: - num = (_navigating ? 547757226 : 547757216); - break; - case 14: - _202C_206B_200F_206C_206B_206C_200F_206F_202C_200B_202D_202C_200E_202E_202A_202B_200C_206A_200D_206D_202E_200D_200F_206A_202A_206C_202A_200D_200D_206A_200C_202A_202B_206C_200B_200C_202B_200E_206B_206D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1192929131), new object[2] - { - base.Task.CriticalEncounterId, - valueOrDefault.Position - }); - movementController.NavigateTo(EMovementType.Quest, null, valueOrDefault.Position, fly: false, sprint: true, 5f); - _navigating = true; - num = 547757226; - break; - case 7: - num = ((!valueOrDefault.IsActive) ? 547757220 : 547757231); - break; - case 6: - publicEvent = _206B_202D_206C_200D_202A_206C_206A_206C_202E_200F_206A_202C_202C_206E_200E_206D_202D_200E_202A_200C_206D_202A_206D_206F_206A_206F_202B_202E_206A_206E_200C_202A_200F_206D_200B_202C_202E_206B_200D_202E_202E(publicEventHelper); - num = ((!publicEvent.HasValue) ? 547757225 : 547757217); - break; - case 9: - num = (_notified ? 547757224 : 547757219); - break; - case 3: - publicEvent = _206B_200F_206E_200C_202C_206D_200D_202C_200C_202A_206A_200B_200E_202E_206A_206E_202D_202A_206B_206A_200B_202E_206A_206D_206F_200F_202A_206A_206F_202D_206D_202C_200E_202E_202B_200F_202A_202A_202A_206C_202E(publicEventHelper, EPublicEventType.DynamicEvent, (uint)base.Task.CriticalEncounterId); - num = ((!publicEvent.HasValue) ? 547757222 : 547757218); - break; - case 13: - _202C_206B_200F_206C_206B_206C_200F_206F_202C_200B_202D_202C_200E_202E_202A_202B_200C_206A_200D_206D_202E_200D_200F_206A_202A_206C_202A_200D_200D_206A_200C_202A_202B_206C_200B_200C_202B_200E_206B_206D_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1925066438), new object[2] - { - base.Task.CriticalEncounterId, - valueOrDefault.Name - }); + logger.LogInformation("Critical encounter {Id} ({Name}) is up", base.Task.CriticalEncounterId, valueOrDefault.Name); sendNotificationExecutor.Start(new SendNotification.Task(EInteractionType.CriticalEncounter, base.Task.Comment ?? valueOrDefault.Name)); _notified = true; - num = 547757224; - break; - case 5: - _200D_206C_202E_206E_206C_200F_200C_200F_200D_206D_202D_200D_206C_206B_200D_200D_200C_202B_206D_200E_202C_202B_200B_206E_206A_200B_206C_206E_206C_206D_202D_206F_200B_202D_202E_206F_206F_206F_206B_206D_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-103389765), new object[1] { base.Task.CriticalEncounterId }); - _loggedWaiting = true; - num = 547757221; - break; } + eventById = publicEventHelper.GetCurrentDynamicEvent(); + if (eventById.HasValue && eventById.GetValueOrDefault().Id == base.Task.CriticalEncounterId) + { + return ETaskResult.TaskComplete; + } + if (valueOrDefault.IsActive) + { + _nextPollAt = Environment.TickCount64 + 2000; + return ETaskResult.StillRunning; + } + if (!_navigating) + { + logger.LogInformation("Moving into critical encounter {Id} at {Position}", base.Task.CriticalEncounterId, valueOrDefault.Position); + movementController.NavigateTo(EMovementType.Quest, null, valueOrDefault.Position, fly: false, sprint: true, 5f); + _navigating = true; + } + _nextPollAt = Environment.TickCount64 + 1000; + return ETaskResult.StillRunning; } + if (!_loggedWaiting) + { + logger.LogDebug("Critical encounter {Id} not active yet, waiting for spawn", base.Task.CriticalEncounterId); + _loggedWaiting = true; + } + _notified = false; + _navigating = false; + _nextPollAt = Environment.TickCount64 + 1000; + return ETaskResult.StillRunning; } public override bool ShouldInterruptOnDamage() { return false; } - - static void _200D_206C_202E_206E_206C_200F_200C_200F_200D_206D_202D_200D_206C_206B_200D_200D_200C_202B_206D_200E_202C_202B_200B_206E_206A_200B_206C_206E_206C_206D_202D_206F_200B_202D_202E_206F_206F_206F_206B_206D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static long _202C_200B_200C_200C_202A_200E_206C_200C_206F_200E_202B_206F_202B_202B_206E_206F_200C_202D_206B_200B_202B_206F_206D_206D_202A_202A_206E_206D_206B_206C_202E_206F_202C_200C_200D_200F_200E_202B_202A_200F_202E() - { - return Environment.TickCount64; - } - - static PublicEvent? _206B_200F_206E_200C_202C_206D_200D_202C_200C_202A_206A_200B_200E_202E_206A_206E_202D_202A_206B_206A_200B_202E_206A_206D_206F_200F_202A_206A_206F_202D_206D_202C_200E_202E_202B_200F_202A_202A_202A_206C_202E(PublicEventHelper P_0, EPublicEventType P_1, uint P_2) - { - return P_0.GetEventById(P_1, P_2); - } - - static void _202C_206B_200F_206C_206B_206C_200F_206F_202C_200B_202D_202C_200E_202E_202A_202B_200C_206A_200D_206D_202E_200D_200F_206A_202A_206C_202A_200D_200D_206A_200C_202A_202B_206C_200B_200C_202B_200E_206B_206D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static PublicEvent? _206B_202D_206C_200D_202A_206C_206A_206C_202E_200F_206A_202C_202C_206E_200E_206D_202D_200E_202A_200C_206D_202A_206D_206F_206A_206F_202B_202E_206A_206E_200C_202A_200F_206D_200B_202C_202E_206B_200D_202E_202E(PublicEventHelper P_0) - { - return P_0.GetCurrentDynamicEvent(); - } } } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/Dive.cs b/Questionable/Questionable.Controller.Steps.Interactions/Dive.cs index c944d2c..08b327e 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/Dive.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/Dive.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Dalamud.Game.ClientState.Conditions; using Dalamud.Plugin.Services; @@ -22,39 +21,19 @@ internal static class Dive { public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((_206D_206E_202A_206D_200D_206F_206D_200C_206E_200E_206C_200C_200E_206F_206C_200B_202C_206C_202C_206B_200C_200B_200C_202C_206E_202D_200F_202B_202D_200F_202D_200D_206F_202A_206A_202B_202A_202B_206F_206C_202E(step) == EInteractionType.Dive) ? 912485956 : 912485959); - while (true) + if (step.InteractionType != EInteractionType.Dive) { - int num2 = num; - int num3 = 912485958; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return new Task(); - case 1: - return null; - case 0: - goto IL_0050; - } - continue; - IL_0050: - num = 912485959; + return null; } - } - - static EInteractionType _206D_206E_202A_206D_200D_206F_206D_200C_206E_200E_206C_200C_200E_206F_206C_200B_202C_206C_202C_206B_200C_200B_200C_202C_206E_202D_200F_202B_202D_200F_202D_200D_206F_202A_206A_202B_202A_202B_206F_206C_202E(QuestStep P_0) - { - return P_0.InteractionType; + return new Task(); } } internal sealed class Task : ITask { - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return 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(377000525); + return "Dive"; } } @@ -66,183 +45,87 @@ internal static class Dive private int _attempts; - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool StartInternal() { - int num = ((!_200F_200F_200D_206B_200B_206D_206C_206F_206E_200D_200B_206E_206D_200E_206C_200B_200D_202D_206E_202C_206D_200C_200E_202C_202B_200C_206B_206B_206E_202C_200B_206F_206F_206E_206C_206F_202D_206C_200F_206F_202E(condition, ConditionFlag.Diving)) ? (-182833903) : (-182833899)); - while (true) + if (condition[ConditionFlag.Diving]) { - int num2 = num; - int num3 = -182833900; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = ((!_200F_200F_200D_206B_200B_206D_206C_206F_206E_200D_200B_206E_206D_200E_206C_200B_200D_202D_206E_202C_206D_200C_200E_202C_202B_200C_206B_206B_206E_202C_200B_206F_206F_206E_206C_206F_202D_206C_200F_206F_202E(condition, ConditionFlag.Swimming)) ? (-182833904) : (-182833900)); - break; - case 5: - num = (_200F_200F_200D_206B_200B_206D_206C_206F_206E_200D_200B_206E_206D_200E_206C_200B_200D_202D_206E_202C_206D_200C_200E_202C_202B_200C_206B_206B_206E_202C_200B_206F_206F_206E_206C_206F_202D_206C_200F_206F_202E(condition, ConditionFlag.Mounted) ? (-182833900) : (-182833898)); - break; - case 0: - Descend(); - return true; - case 3: - num = -182833899; - break; - case 4: - throw new TaskException(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-335869589)); - case 1: - return false; - } + return false; } + if (condition[ConditionFlag.Mounted] || condition[ConditionFlag.Swimming]) + { + Descend(); + return true; + } + throw new TaskException("You aren't swimming, so we can't dive."); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe override ETaskResult Update() { - (uint, nint) result; - int num = ((!_keysToPress.TryDequeue(out result)) ? 297362200 : 297362206); - while (true) + if (_keysToPress.TryDequeue(out (uint, nint) result)) { - int num2 = num; - int num3 = 297362202; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + if (result.Item1 == 0) { - case 6: - return ETaskResult.StillRunning; - case 4: - num = ((result.Item1 != 0) ? 297362201 : 297362204); - break; - case 3: - _200E_202C_206B_200B_202B_206C_206C_202C_202C_206B_206E_206F_202D_200F_200E_200D_200B_202A_202C_206B_200B_202E_200D_202D_206F_206C_200F_200E_206A_200F_202A_202C_206F_200E_206B_202C_206C_202C_206E_200E_202E((ILogger)logger, 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(547752152), new object[2] - { - (result.Item1 == 256) ? 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(-211975877) : 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(378157279), - result.Item2 - }); - WindowsKeypress.SendMessage((nint)Device.Instance()->hWnd, result.Item1, result.Item2); - num = ((result.Item1 != 256) ? 297362202 : 297362203); - break; - case 8: - num = 297362206; - break; - case 5: - _pressedKeys.Remove(result.Item2); - num = 297362205; - break; - case 2: - return base.Update(); - case 1: - _pressedKeys.Add(result.Item2); - num = 297362205; - break; - case 0: - num = ((result.Item1 != 257) ? 297362205 : 297362207); - break; - case 7: return ETaskResult.StillRunning; } + logger.LogDebug("{Action} key {KeyCode:X2}", (result.Item1 == 256) ? "Pressing" : "Releasing", result.Item2); + WindowsKeypress.SendMessage((nint)Device.Instance()->hWnd, result.Item1, result.Item2); + if (result.Item1 == 256) + { + _pressedKeys.Add(result.Item2); + } + else if (result.Item1 == 257) + { + _pressedKeys.Remove(result.Item2); + } + return ETaskResult.StillRunning; } + return base.Update(); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe void StopNow() { - using (HashSet.Enumerator enumerator = _pressedKeys.GetEnumerator()) + foreach (nint pressedKey in _pressedKeys) { - int num = 169668245; - while (true) - { - int num2 = num; - int num3 = 169668244; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 169668245; - break; - case 1: - num = (enumerator.MoveNext() ? 169668246 : 169668247); - break; - case 2: - { - nint current = enumerator.Current; - _200E_202C_206B_200B_202B_206C_206C_202C_202C_206B_206E_206F_202D_200F_200E_200D_200B_202A_202C_206B_200B_202E_200D_202D_206F_206C_200F_200E_206A_200F_202A_202C_206F_200E_206B_202C_206C_202C_206E_200E_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(331258283), new object[1] { current }); - WindowsKeypress.SendMessage((nint)Device.Instance()->hWnd, 257u, current); - num = 169668245; - break; - } - case 3: - goto end_IL_0017; - } - continue; - end_IL_0017: - break; - } + logger.LogDebug("Releasing stuck key {KeyCode:X2} on stop", pressedKey); + WindowsKeypress.SendMessage((nint)Device.Instance()->hWnd, 257u, pressedKey); } _pressedKeys.Clear(); _keysToPress.Clear(); } - void IStoppableTaskExecutor.StopNow() - { - //ILSpy generated this explicit interface implementation from .override directive in StopNow - this.StopNow(); - } - public override bool ShouldInterruptOnDamage() { return false; } - [MethodImpl(MethodImplOptions.NoInlining)] protected override ETaskResult UpdateInternal() { - int num = ((!_200F_200F_200D_206B_200B_206D_206C_206F_206E_200D_200B_206E_206D_200E_206C_200B_200D_202D_206E_202C_206D_200C_200E_202C_202B_200C_206B_206B_206E_202C_200B_206F_206F_206E_206C_206F_202D_206C_200F_206F_202E(condition, ConditionFlag.Diving)) ? 1669924537 : 1669924536); - while (true) + if (condition[ConditionFlag.Diving]) { - int num2 = num; - int num3 = 1669924537; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = ((_attempts < 5) ? 1669924538 : 1669924541); - break; - case 1: - return ETaskResult.TaskComplete; - case 3: - { - Descend(); - int attempts = _attempts; - num3 = 1; - num4 = attempts; - _attempts = (num4 | num3) + (num4 & num3); - return ETaskResult.StillRunning; - } - case 4: - throw new TaskException(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(-1475958254)); - case 2: - num = 1669924536; - break; - } + return ETaskResult.TaskComplete; } + if (_attempts >= 5) + { + throw new TaskException("Please dive manually."); + } + Descend(); + _attempts++; + return ETaskResult.StillRunning; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void Descend() { Keybind* keybind = UIInputData.Instance()->GetKeybind(InputId.MOVE_DESCENT); if (keybind == null) { - throw new TaskException(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(472640545)); + throw new TaskException("Could not find descent keybind"); } Span keySettings = keybind->KeySettings; SeVirtualKey key = keySettings[0].Key; KeyModifierFlag keyModifier = keySettings[0].KeyModifier; SeVirtualKey key2 = keySettings[1].Key; KeyModifierFlag keyModifier2 = keySettings[1].KeyModifier; - _200E_202C_206B_200B_202B_206C_206C_202C_202C_206B_206E_206F_202D_200F_200E_200D_200B_202A_202C_206B_200B_202E_200D_202D_206F_206C_200F_200E_206A_200F_202A_202C_206F_200E_206B_202C_206C_202C_206E_200E_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1313145476), new object[4] { key, keyModifier, key2, keyModifier2 }); + logger.LogDebug("Dive keybind: {Key1} + {Modifier1}, {Key2} + {Modifier2}", key, keyModifier, key2, keyModifier2); int num = 2; List> list = new List>(num); CollectionsMarshal.SetCount(list, num); @@ -250,196 +133,51 @@ internal static class Dive span[0] = GetKeysToPress(key, keyModifier); span[1] = GetKeysToPress(key2, keyModifier2); List list2 = list.OfType>().MinBy((List x) => x.Count); - int num2 = ((list2 == null) ? 326698319 : 326698316); - int num12 = default(int); - while (true) + if (list2 == null || list2.Count == 0) { - int num3 = num2; - int num4 = 326698319; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) + throw new TaskException("No useable keybind found for diving"); + } + foreach (nint item in list2) + { + _keysToPress.Enqueue((256u, item)); + for (int num2 = 0; num2 < 15; num2++) { - case 2: - num2 = 326698316; - break; - case 3: - num2 = ((list2.Count != 0) ? 326698318 : 326698319); - break; - case 0: - throw new TaskException(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(-81108494)); - case 1: - { - using (List.Enumerator enumerator = list2.GetEnumerator()) - { - num2 = 1722000690; - while (true) - { - int num8 = num2; - num4 = 1722000690; - num5 = num8; - int num9 = num5 + num4; - int num10 = num5 & num4; - switch (num9 - (num10 + num10)) - { - case 2: - num2 = 1722000690; - break; - case 3: - { - nint current = enumerator.Current; - _keysToPress.Enqueue((256u, current)); - num12 = 0; - num2 = 1722000695; - break; - } - case 4: - { - _keysToPress.Enqueue((0u, 0)); - int num11 = num12; - num4 = 1; - num5 = num11; - int num13 = num5 ^ num4; - int num14 = num5 & num4; - num12 = num13 + (num14 + num14); - num2 = 1722000695; - break; - } - case 5: - num2 = ((num12 < 15) ? 1722000694 : 1722000690); - break; - case 0: - num2 = (enumerator.MoveNext() ? 1722000689 : 1722000691); - break; - case 1: - goto end_IL_01b5; - } - continue; - end_IL_01b5: - break; - } - } - int num15 = 0; - num2 = 624642844; - while (true) - { - int num16 = num2; - num4 = 624642847; - num5 = num16; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num2 = 624642844; - break; - case 3: - num2 = ((num15 < 5) ? 624642846 : 624642845); - break; - case 1: - { - _keysToPress.Enqueue((0u, 0)); - int num20 = num15; - num4 = 1; - num5 = num20; - num15 = (num5 | num4) + (num5 & num4); - num2 = 624642844; - break; - } - case 2: - { - list2.Reverse(); - using List.Enumerator enumerator = list2.GetEnumerator(); - num2 = 2090140458; - while (true) - { - int num17 = num2; - num4 = 2090140458; - num5 = num17; - int num18 = num5 + num4; - int num19 = num5 & num4; - switch (num18 - (num19 + num19)) - { - case 2: - num2 = 2090140458; - break; - case 1: - { - nint current2 = enumerator.Current; - _keysToPress.Enqueue((257u, current2)); - num2 = 2090140458; - break; - } - case 0: - num2 = (enumerator.MoveNext() ? 2090140459 : 2090140457); - break; - case 3: - return; - } - } - } - } - } - } + _keysToPress.Enqueue((0u, 0)); } } - } - - static bool _200F_200F_200D_206B_200B_206D_206C_206F_206E_200D_200B_206E_206D_200E_206C_200B_200D_202D_206E_202C_206D_200C_200E_202C_202B_200C_206B_206B_206E_202C_200B_206F_206F_206E_206C_206F_202D_206C_200F_206F_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static void _200E_202C_206B_200B_202B_206C_206C_202C_202C_206B_206E_206F_202D_200F_200E_200D_200B_202A_202C_206B_200B_202E_200D_202D_206F_206C_200F_200E_206A_200F_202A_202C_206F_200E_206B_202C_206C_202C_206E_200E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); + for (int num3 = 0; num3 < 5; num3++) + { + _keysToPress.Enqueue((0u, 0)); + } + list2.Reverse(); + foreach (nint item2 in list2) + { + _keysToPress.Enqueue((257u, item2)); + } } } private static List? GetKeysToPress(SeVirtualKey key, KeyModifierFlag modifier) { List list = new List(); - int num = (((modifier & KeyModifierFlag.Ctrl) == 0) ? 1227229785 : 1227229790); - nint num7 = default(nint); - while (true) + if ((modifier & KeyModifierFlag.Ctrl) != KeyModifierFlag.None) { - int num2 = num; - int num3 = 1227229786; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return null; - case 3: - num = (((modifier & KeyModifierFlag.Shift) == 0) ? 1227229789 : 1227229787); - break; - case 4: - list.Add(17); - num = 1227229785; - break; - case 5: - list.Add(num7); - return list; - case 1: - list.Add(16); - num = 1227229789; - break; - case 7: - num = (((modifier & KeyModifierFlag.Alt) == 0) ? 1227229788 : 1227229786); - break; - case 6: - num7 = (nint)key; - num = ((num7 != 0) ? 1227229791 : 1227229784); - break; - case 8: - num = 1227229790; - break; - case 0: - list.Add(18); - num = 1227229788; - break; - } + list.Add(17); } + if ((modifier & KeyModifierFlag.Shift) != KeyModifierFlag.None) + { + list.Add(16); + } + if ((modifier & KeyModifierFlag.Alt) != KeyModifierFlag.None) + { + list.Add(18); + } + nint num = (nint)key; + if (num == 0) + { + return null; + } + list.Add(num); + return list; } } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/Duty.cs b/Questionable/Questionable.Controller.Steps.Interactions/Duty.cs index 118c0f4..a852306 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/Duty.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/Duty.cs @@ -1,18 +1,11 @@ using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Client.Game.Group; using LLib.Gear; -using Lumina.Excel; -using Lumina.Excel.Sheets; using Microsoft.Extensions.Logging; using Questionable.Controller.CombatModules; using Questionable.Controller.Steps.Common; @@ -31,800 +24,128 @@ internal static class Duty { internal sealed class Factory(AutoDutyIpc autoDutyIpc, WrathComboModule wrathComboModule, RotationSolverRebornModule rsrModule, BossModIpc bossModIpc, Configuration configuration, TerritoryData territoryData, GearStatsCalculator gearStatsCalculator, IObjectTable objectTable, ILogger logger) : ITaskFactory { - [CompilerGenerated] - private sealed class _003CCreateAllTasks_003Ed__10 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable + public IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { - private int _003C_003E1__state; - - private ITask _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - private QuestStep step; - - public QuestStep _003C_003E3__step; - - public Factory _003C_003E4__this; - - private uint _003CcfcId_003E5__2; - - private AutoDutyIpc.DutyMode _003CdutyMode_003E5__3; - - ITask IEnumerator.Current + if (step.InteractionType != EInteractionType.Duty) { - [DebuggerHidden] - get + yield break; + } + ArgumentNullException.ThrowIfNull(step.DutyOptions, "step.DutyOptions"); + uint cfcId = step.DutyOptions.ContentFinderConditionId; + DutyRegistry.Duties.TryGetValue(cfcId, out DutyEntry value); + EDutyMode? registryDutyMode = value?.DutyMode; + if (autoDutyIpc.IsConfiguredToRunContent(step.DutyOptions)) + { + EDutyMode effectiveEDutyMode = GetEffectiveEDutyMode(cfcId, registryDutyMode); + AutoDutyIpc.DutyMode dutyMode = ConvertToAutoDutyMode(effectiveEDutyMode); + if (dutyMode == AutoDutyIpc.DutyMode.UnsyncRegular && effectiveEDutyMode == EDutyMode.UnsyncParty) { - return _003C_003E2__current; + yield return new WaitForPartyTask(); } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get + if (!autoDutyIpc.ManagesRotationPluginState()) { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CCreateAllTasks_003Ed__10(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _200E_200F_206B_206F_200F_202B_206B_202B_206E_200E_202B_202A_202D_206D_202E_206B_200F_206A_202E_200C_202C_206F_200E_202E_202C_202B_202B_202D_200B_200D_200F_200D_206A_206E_202E_206B_206C_206B_202B_206D_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - int num = _003C_003E1__state; - Factory factory = _003C_003E4__this; - int num2; - EDutyMode effectiveEDutyMode = default(EDutyMode); - DutyEntry value = default(DutyEntry); - EDutyMode? registryDutyMode = default(EDutyMode?); - switch (num) - { - default: - num2 = -1986449047; - goto IL_004c; - case 2: - _003C_003E1__state = -1; - num2 = -1986449033; - goto IL_004c; - case 3: - goto IL_016b; - case 1: - goto IL_01e0; - case 6: - goto IL_0233; - case 5: - goto IL_0333; - case 10: - goto IL_0346; - case 4: - goto IL_03d5; - case 0: - goto IL_0424; - case 7: - break; - case 8: - goto IL_050a; - case 9: - goto IL_0566; - IL_004c: - while (true) + if (wrathComboModule.IsAvailable()) { - int num3 = num2; - int num4 = -1986449046; - int num5 = num3; - EDutyMode? obj; - switch ((num5 | num4) - (num5 & num4)) - { - case 5: - goto IL_0104; - case 27: - return false; - case 1: - goto end_IL_004c; - case 3: - return false; - case 24: - goto IL_0143; - case 16: - goto IL_016b; - case 23: - _003C_003E2__current = new StartAutoDutyTask(_003CcfcId_003E5__2, _003CdutyMode_003E5__3); - _003C_003E1__state = 6; - return true; - case 14: - _003C_003E2__current = new EnableWrathForDutyTask(); - _003C_003E1__state = 2; - return true; - case 36: - goto IL_01b2; - case 21: - goto IL_01e0; - case 13: - goto IL_01f3; - case 37: - num2 = -1986449047; - break; - case 7: - if (effectiveEDutyMode == EDutyMode.UnsyncParty) - { - num2 = -1986449077; - break; - } - goto case 26; - case 19: - goto IL_0233; - case 30: - goto IL_0254; - case 6: - goto IL_0294; - case 35: - obj = value.DutyMode; - goto IL_02c2; - case 34: - _003C_003E2__current = new WaitAtEnd.WaitNextStepOrSequence(); - _003C_003E1__state = 9; - return true; - case 20: - goto IL_030b; - case 22: - goto IL_0333; - case 15: - goto IL_0346; - case 2: - _003C_003E2__current = new OpenDutyFinderTask(_003CcfcId_003E5__2); - _003C_003E1__state = 10; - return true; - case 33: - _003C_003E2__current = new WaitForPartyTask(); - _003C_003E1__state = 1; - return true; - case 29: - goto IL_0388; - case 0: - goto IL_03b0; - case 17: - return false; - case 31: - goto IL_03d5; - case 25: - goto IL_03e8; - case 4: - _003C_003E2__current = new EnableBossModForDutyTask(); - _003C_003E1__state = 4; - return true; - case 10: - goto IL_0424; - case 26: - num2 = -1986449038; - break; - case 9: - goto IL_0473; - case 11: - goto end_IL_000f; - case 8: - obj = null; - goto IL_02c2; - case 12: - goto IL_050a; - case 28: - _003C_003E2__current = new EnableBossModPassiveForDutyTask(); - _003C_003E1__state = 5; - return true; - case 32: - _003C_003E2__current = new EnableRsrForDutyTask(); - _003C_003E1__state = 3; - return true; - case 18: - goto IL_0566; - IL_02c2: - registryDutyMode = obj; - num2 = ((!factory.autoDutyIpc.IsConfiguredToRunContent(_206A_200B_200F_202D_202C_202A_202E_202E_206E_206A_206C_202E_202D_202C_206A_206C_206D_206A_202B_206A_202C_206F_202C_202E_206B_206B_206C_206E_200B_206F_200E_206F_202E_200D_200E_206C_206A_206E_200F_202E_202E(step))) ? (-1986449049) : (-1986449036)); - break; - } - continue; - IL_0473: - _200B_202A_202C_206E_206B_206F_200D_200D_206C_200E_206C_206D_202C_202A_200D_200D_202E_200E_202C_200F_202E_206D_206C_200B_206D_202C_202C_206B_202D_200C_206E_200C_206A_206C_202E_206C_206F_200F_200D_202E((object)_206A_200B_200F_202D_202C_202A_202E_202E_206E_206A_206C_202E_202D_202C_206A_206C_206D_206A_202B_206A_202C_206F_202C_202E_206B_206B_206C_206E_200B_206F_200E_206F_202E_200D_200E_206C_206A_206E_200F_202E_202E(step), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(190396670)); - _003CcfcId_003E5__2 = _206F_206D_206C_202A_200D_202A_206E_200E_200F_206D_200E_206B_200F_206D_206A_202E_206F_202B_202E_200C_206C_200B_206B_200C_202D_200B_206C_200E_202A_206B_200C_202E_202A_202E_206E_200E_202E_206D_206B_200E_202E(_206A_200B_200F_202D_202C_202A_202E_202E_206E_206A_206C_202E_202D_202C_206A_206C_206D_206A_202B_206A_202C_206F_202C_202E_206B_206B_206C_206E_200B_206F_200E_206F_202E_200D_200E_206C_206A_206E_200F_202E_202E(step)); - DutyRegistry.Duties.TryGetValue(_003CcfcId_003E5__2, out value); - num2 = (((object)value != null) ? (-1986449079) : (-1986449054)); - continue; - IL_0254: - effectiveEDutyMode = factory.GetEffectiveEDutyMode(_003CcfcId_003E5__2, registryDutyMode); - _003CdutyMode_003E5__3 = ConvertToAutoDutyMode(effectiveEDutyMode); - num2 = ((_003CdutyMode_003E5__3 != AutoDutyIpc.DutyMode.UnsyncRegular) ? (-1986449040) : (-1986449043)); - continue; - IL_030b: - num2 = ((!factory.bossModIpc.IsSupported()) ? (-1986449027) : (-1986449034)); - continue; - IL_03e8: - num2 = ((!factory.bossModIpc.IsSupported()) ? (-1986449026) : (-1986449042)); - continue; - IL_0104: - num2 = ((!factory.wrathComboModule.IsAvailable()) ? (-1986449044) : (-1986449052)); - continue; - IL_01b2: - num2 = ((factory.configuration.General.CombatModule != Configuration.ECombatModule.BossMod) ? (-1986449026) : (-1986449037)); - continue; - IL_03b0: - num2 = (value.LowPriority ? (-1986449039) : (-1986449048)); - continue; - IL_0294: - num2 = ((!factory.rsrModule.IsAvailable()) ? (-1986449033) : (-1986449078)); - continue; - IL_01f3: - num2 = (((object)value == null) ? (-1986449048) : (-1986449046)); - continue; - IL_0388: - num2 = (factory.autoDutyIpc.ManagesBossModAiSettings() ? (-1986449027) : (-1986449074)); - continue; - IL_0143: - num2 = (factory.autoDutyIpc.ManagesRotationPluginState() ? (-1986449033) : (-1986449041)); - continue; - end_IL_004c: - break; - } - goto case 2; - IL_0566: - _003C_003E1__state = -1; - num2 = -1986449039; - goto IL_004c; - IL_050a: - _003C_003E1__state = -1; - num2 = (QuestWorkUtils.HasCompletionFlags(_206A_202D_202D_206B_202B_206C_206D_206E_206A_200D_206B_206F_202C_206C_206A_206D_200B_206D_200B_202D_202A_206E_202D_206D_200C_200D_200C_206D_200F_206C_206B_200D_200C_200C_202A_206C_202C_206A_206E_202A_202E(step)) ? (-1986449039) : (-1986449080)); - goto IL_004c; - IL_0233: - _003C_003E1__state = -1; - _003C_003E2__current = new WaitAutoDutyTask(_003CcfcId_003E5__2); - _003C_003E1__state = 7; - return true; - IL_01e0: - _003C_003E1__state = -1; - num2 = -1986449038; - goto IL_004c; - IL_0424: - _003C_003E1__state = -1; - num2 = ((_202B_200D_200D_200D_202B_200D_202D_200E_202A_206B_206C_206E_206A_200F_200C_206C_200E_200F_200C_206D_200B_206B_206B_206C_202E_200D_200E_202C_200B_202B_206F_202A_200B_206C_206F_206C_206F_206A_206A_202A_202E(step) == EInteractionType.Duty) ? (-1986449053) : (-1986449029)); - goto IL_004c; - IL_016b: - _003C_003E1__state = -1; - num2 = -1986449033; - goto IL_004c; - IL_03d5: - _003C_003E1__state = -1; - num2 = -1986449027; - goto IL_004c; - IL_0346: - _003C_003E1__state = -1; - num2 = -1986449039; - goto IL_004c; - IL_0333: - _003C_003E1__state = -1; - num2 = -1986449027; - goto IL_004c; - end_IL_000f: - break; - } - _003C_003E1__state = -1; - _003C_003E2__current = new DisableCombatPluginsForDutyTask(); - _003C_003E1__state = 8; - return true; - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _200B_202C_202C_200B_200B_206A_200F_202D_200F_206C_206D_206A_202B_200D_206A_202B_202A_200B_206F_202D_200F_202C_202C_202A_206C_200B_206E_200F_202A_200F_202E_202B_200D_206A_206E_200F_202D_202E_202E_200D_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? (-408191389) : (-408191391)); - _003CCreateAllTasks_003Ed__10 _003CCreateAllTasks_003Ed__ = default(_003CCreateAllTasks_003Ed__10); - while (true) - { - int num2 = num; - int num3 = -408191392; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - _003CCreateAllTasks_003Ed__.step = _003C_003E3__step; - return _003CCreateAllTasks_003Ed__; - case 1: - num = ((_003C_003El__initialThreadId != _200E_200F_206B_206F_200F_202B_206B_202B_206E_200E_202B_202A_202D_206D_202E_206B_200F_206A_202E_200C_202C_206F_200E_202E_202C_202B_202B_202D_200B_200D_200F_200D_206A_206E_202E_206B_206C_206B_202B_206D_202E()) ? (-408191389) : (-408191392)); - break; - case 2: - num = -408191391; - break; - case 0: - _003C_003E1__state = 0; - _003CCreateAllTasks_003Ed__ = this; - num = -408191388; - break; - case 3: - _003CCreateAllTasks_003Ed__ = new _003CCreateAllTasks_003Ed__10(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = -408191388; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _200E_200F_206B_206F_200F_202B_206B_202B_206E_200E_202B_202A_202D_206D_202E_206B_200F_206A_202E_200C_202C_206F_200E_202E_202C_202B_202B_202D_200B_200D_200F_200D_206A_206E_202E_206B_206C_206B_202B_206D_202E() - { - return Environment.CurrentManagedThreadId; - } - - static EInteractionType _202B_200D_200D_200D_202B_200D_202D_200E_202A_206B_206C_206E_206A_200F_200C_206C_200E_200F_200C_206D_200B_206B_206B_206C_202E_200D_200E_202C_200B_202B_206F_202A_200B_206C_206F_206C_206F_206A_206A_202A_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static DutyOptions _206A_200B_200F_202D_202C_202A_202E_202E_206E_206A_206C_202E_202D_202C_206A_206C_206D_206A_202B_206A_202C_206F_202C_202E_206B_206B_206C_206E_200B_206F_200E_206F_202E_200D_200E_206C_206A_206E_200F_202E_202E(QuestStep P_0) - { - return P_0.DutyOptions; - } - - static void _200B_202A_202C_206E_206B_206F_200D_200D_206C_200E_206C_206D_202C_202A_200D_200D_202E_200E_202C_200F_202E_206D_206C_200B_206D_202C_202C_206B_202D_200C_206E_200C_206A_206C_202E_206C_206F_200F_200D_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static uint _206F_206D_206C_202A_200D_202A_206E_200E_200F_206D_200E_206B_200F_206D_206A_202E_206F_202B_202E_200C_206C_200B_206B_200C_202D_200B_206C_200E_202A_206B_200C_202E_202A_202E_206E_200E_202E_206D_206B_200E_202E(DutyOptions P_0) - { - return P_0.ContentFinderConditionId; - } - - static List _206A_202D_202D_206B_202B_206C_206D_206E_206A_200D_206B_206F_202C_206C_206A_206D_200B_206D_200B_202D_202A_206E_202D_206D_200C_200D_200C_206D_200F_206C_206B_200D_200C_200C_202A_206C_202C_206A_206E_202A_202E(QuestStep P_0) - { - return P_0.CompletionQuestVariablesFlags; - } - - static NotSupportedException _200B_202C_202C_200B_200B_206A_200F_202D_200F_206C_206D_206A_202B_200D_206A_202B_202A_200B_206F_202D_200F_202C_202C_202A_206C_200B_206E_200F_202A_200F_202E_202B_200D_206A_206E_200F_202D_202E_202E_200D_202E() - { - return new NotSupportedException(); - } - } - - public IEnumerable CreateAllTasks(Questionable.Model.Quest quest, QuestSequence sequence, QuestStep step) - { - uint cfcId = default(uint); - AutoDutyIpc.DutyMode dutyMode = default(AutoDutyIpc.DutyMode); - DutyEntry value = default(DutyEntry); - EDutyMode effectiveEDutyMode = default(EDutyMode); - EDutyMode? registryDutyMode = default(EDutyMode?); - while (true) - { - int num = ((_003CCreateAllTasks_003Ed__10._202B_200D_200D_200D_202B_200D_202D_200E_202A_206B_206C_206E_206A_200F_200C_206C_200E_200F_200C_206D_200B_206B_206B_206C_202E_200D_200E_202C_200B_202B_206F_202A_200B_206C_206F_206C_206F_206A_206A_202A_202E(step) == EInteractionType.Duty) ? (-1986449053) : (-1986449029)); - while (true) - { - int num2 = num; - int num3 = -1986449046; - int num4 = num2; - int num5; - EDutyMode? obj; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 5: - num = ((!wrathComboModule.IsAvailable()) ? (-1986449044) : (-1986449052)); - continue; - case 27: - yield break; - case 1: - num = -1986449033; - continue; - case 3: - yield break; - case 24: - num = (autoDutyIpc.ManagesRotationPluginState() ? (-1986449033) : (-1986449041)); - continue; - case 16: - num = -1986449033; - continue; - case 23: - yield return new StartAutoDutyTask(cfcId, dutyMode); - goto case 19; - case 14: yield return new EnableWrathForDutyTask(); - goto case 1; - case 36: - num = ((configuration.General.CombatModule != Configuration.ECombatModule.BossMod) ? (-1986449026) : (-1986449037)); - continue; - case 21: - num = -1986449038; - continue; - case 13: - num = (((object)value == null) ? (-1986449048) : (-1986449046)); - continue; - case 37: - num = -1986449047; - continue; - case 7: - num5 = ((effectiveEDutyMode == EDutyMode.UnsyncParty) ? 1 : 0); - goto IL_0456; - case 19: - yield return new WaitAutoDutyTask(cfcId); - goto case 11; - case 30: - effectiveEDutyMode = GetEffectiveEDutyMode(cfcId, registryDutyMode); - dutyMode = ConvertToAutoDutyMode(effectiveEDutyMode); - num = ((dutyMode != AutoDutyIpc.DutyMode.UnsyncRegular) ? (-1986449040) : (-1986449043)); - continue; - case 6: - num = ((!rsrModule.IsAvailable()) ? (-1986449033) : (-1986449078)); - continue; - case 35: - obj = value.DutyMode; - goto IL_02c2; - case 34: - yield return new WaitAtEnd.WaitNextStepOrSequence(); - goto case 18; - case 20: - num = ((!bossModIpc.IsSupported()) ? (-1986449027) : (-1986449034)); - continue; - case 22: - num = -1986449027; - continue; - case 15: - num = -1986449039; - continue; - case 2: - yield return new OpenDutyFinderTask(cfcId); - goto case 15; - case 33: - yield return new WaitForPartyTask(); - goto case 21; - case 29: - num = (autoDutyIpc.ManagesBossModAiSettings() ? (-1986449027) : (-1986449074)); - continue; - case 0: - num = (value.LowPriority ? (-1986449039) : (-1986449048)); - continue; - case 17: - yield break; - case 31: - num = -1986449027; - continue; - case 25: - num = ((!bossModIpc.IsSupported()) ? (-1986449026) : (-1986449042)); - continue; - case 4: - yield return new EnableBossModForDutyTask(); - goto case 31; - case 10: - break; - case 26: - num5 = 0; - goto IL_0456; - case 9: - _003CCreateAllTasks_003Ed__10._200B_202A_202C_206E_206B_206F_200D_200D_206C_200E_206C_206D_202C_202A_200D_200D_202E_200E_202C_200F_202E_206D_206C_200B_206D_202C_202C_206B_202D_200C_206E_200C_206A_206C_202E_206C_206F_200F_200D_202E((object)_003CCreateAllTasks_003Ed__10._206A_200B_200F_202D_202C_202A_202E_202E_206E_206A_206C_202E_202D_202C_206A_206C_206D_206A_202B_206A_202C_206F_202C_202E_206B_206B_206C_206E_200B_206F_200E_206F_202E_200D_200E_206C_206A_206E_200F_202E_202E(step), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(190396670)); - cfcId = _003CCreateAllTasks_003Ed__10._206F_206D_206C_202A_200D_202A_206E_200E_200F_206D_200E_206B_200F_206D_206A_202E_206F_202B_202E_200C_206C_200B_206B_200C_202D_200B_206C_200E_202A_206B_200C_202E_202A_202E_206E_200E_202E_206D_206B_200E_202E(_003CCreateAllTasks_003Ed__10._206A_200B_200F_202D_202C_202A_202E_202E_206E_206A_206C_202E_202D_202C_206A_206C_206D_206A_202B_206A_202C_206F_202C_202E_206B_206B_206C_206E_200B_206F_200E_206F_202E_200D_200E_206C_206A_206E_200F_202E_202E(step)); - DutyRegistry.Duties.TryGetValue(cfcId, out value); - num = (((object)value != null) ? (-1986449079) : (-1986449054)); - continue; - case 11: - yield return new DisableCombatPluginsForDutyTask(); - goto case 12; - case 8: - obj = null; - goto IL_02c2; - case 12: - num = (QuestWorkUtils.HasCompletionFlags(_003CCreateAllTasks_003Ed__10._206A_202D_202D_206B_202B_206C_206D_206E_206A_200D_206B_206F_202C_206C_206A_206D_200B_206D_200B_202D_202A_206E_202D_206D_200C_200D_200C_206D_200F_206C_206B_200D_200C_200C_202A_206C_202C_206A_206E_202A_202E(step)) ? (-1986449039) : (-1986449080)); - continue; - case 28: - yield return new EnableBossModPassiveForDutyTask(); - goto case 22; - case 32: - yield return new EnableRsrForDutyTask(); - goto case 16; - case 18: - { - num = -1986449039; - continue; - } - IL_0456: - num = ((num5 == 0) ? (-1986449038) : (-1986449077)); - continue; - IL_02c2: - registryDutyMode = obj; - num = ((!autoDutyIpc.IsConfiguredToRunContent(_003CCreateAllTasks_003Ed__10._206A_200B_200F_202D_202C_202A_202E_202E_206E_206A_206C_202E_202D_202C_206A_206C_206D_206A_202B_206A_202C_206F_202C_202E_206B_206B_206C_206E_200B_206F_200E_206F_202E_200D_200E_206C_206A_206E_200F_202E_202E(step))) ? (-1986449049) : (-1986449036)); - continue; } - break; + else if (rsrModule.IsAvailable()) + { + yield return new EnableRsrForDutyTask(); + } } + if (!autoDutyIpc.ManagesBossModAiSettings()) + { + if (configuration.General.CombatModule == Configuration.ECombatModule.BossMod && bossModIpc.IsSupported()) + { + yield return new EnableBossModForDutyTask(); + } + else if (bossModIpc.IsSupported()) + { + yield return new EnableBossModPassiveForDutyTask(); + } + } + yield return new StartAutoDutyTask(cfcId, dutyMode); + yield return new WaitAutoDutyTask(cfcId); + yield return new DisableCombatPluginsForDutyTask(); + if (!QuestWorkUtils.HasCompletionFlags(step.CompletionQuestVariablesFlags)) + { + yield return new WaitAtEnd.WaitNextStepOrSequence(); + } + } + else if ((object)value == null || !value.LowPriority) + { + yield return new OpenDutyFinderTask(cfcId); } } - IEnumerable ITaskFactory.CreateAllTasks(Questionable.Model.Quest quest, QuestSequence sequence, QuestStep step) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks - return this.CreateAllTasks(quest, sequence, step); - } - - [MethodImpl(MethodImplOptions.NoInlining)] private EDutyMode GetEffectiveEDutyMode(uint cfcId, EDutyMode? registryDutyMode) { - int num = ((!registryDutyMode.HasValue) ? (-1266283203) : (-1266283204)); - EDutyMode defaultDutyMode = default(EDutyMode); - EDutyMode value = default(EDutyMode); - while (true) + if (registryDutyMode.HasValue) { - int num2 = num; - int num3 = -1266283202; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - defaultDutyMode = configuration.Duties.DefaultDutyMode; - num = ((defaultDutyMode != EDutyMode.Support) ? (-1266283205) : (-1266283210)); - break; - case 2: - return registryDutyMode.Value; - case 1: - num = ((!IsSafelyOverleveled(cfcId)) ? (-1266283205) : (-1266283206)); - break; - case 3: - num = ((!configuration.Duties.DutyModeOverrides.TryGetValue(cfcId, out value)) ? (-1266283208) : (-1266283207)); - break; - case 0: - num = -1266283204; - break; - case 8: - num = ((!configuration.Duties.AutoUnsyncOverleveled) ? (-1266283205) : (-1266283201)); - break; - case 4: - _200F_206A_202D_206F_200C_202B_206D_206F_206D_206E_200B_200E_202A_206D_206A_206C_206A_202A_206A_200B_206F_200F_200D_206F_206E_206F_200F_206B_206F_202D_206C_206C_206F_202B_202B_202C_206F_202D_206A_202A_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1793434316), new object[1] { cfcId }); - return EDutyMode.UnsyncSolo; - case 5: - return defaultDutyMode; - case 7: - return value; - } + return registryDutyMode.Value; } + if (configuration.Duties.DutyModeOverrides.TryGetValue(cfcId, out var value)) + { + return value; + } + EDutyMode defaultDutyMode = configuration.Duties.DefaultDutyMode; + if (defaultDutyMode == EDutyMode.Support && configuration.Duties.AutoUnsyncOverleveled && IsSafelyOverleveled(cfcId)) + { + logger.LogInformation("Running duty {CfcId} unsynced, as the player is safely overleveled", cfcId); + return EDutyMode.UnsyncSolo; + } + return defaultDutyMode; } private unsafe bool IsSafelyOverleveled(uint cfcId) { - TerritoryData.ContentFinderConditionData contentFinderConditionData; - int num = (territoryData.TryGetContentFinderCondition(cfcId, out contentFinderConditionData) ? 930630783 : 930630772); - int num7 = default(int); - InventoryContainer* inventoryContainer = default(InventoryContainer*); - InventoryManager* ptr = default(InventoryManager*); - while (true) + if (!territoryData.TryGetContentFinderCondition(cfcId, out TerritoryData.ContentFinderConditionData contentFinderConditionData)) { - int num2 = num; - int num3 = 930630776; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - { - IPlayerCharacter playerCharacter = _206C_202A_206B_202A_202A_206D_202A_200B_202A_200F_202A_200B_206F_200E_200F_206B_206A_206B_200C_206F_200F_202E_200E_202B_200F_200C_202B_200B_206A_202C_200C_202A_206F_202C_206A_202B_206E_200B_202B_202E(objectTable); - num7 = ((playerCharacter != null) ? _202A_206D_200D_202C_200D_202B_206F_206D_206C_206C_200D_206C_206A_202C_202D_200C_202C_200E_200B_202E_202C_206E_202D_200D_200E_202D_202A_200F_206B_206C_206A_206E_202E_206C_202B_202B_206D_200E_200F_206F_202E((ICharacter)playerCharacter) : 0) - contentFinderConditionData.ClassJobLevelSync; - num = ((num7 < 15) ? 930630782 : 930630774); - break; - } - case 7: - num = ((!contentFinderConditionData.IsDungeon) ? 930630768 : 930630780); - break; - case 10: - num = ((contentFinderConditionData.ClassJobLevelSync != 0) ? 930630777 : 930630768); - break; - case 3: - num = 930630772; - break; - case 6: - num = ((num7 >= 10) ? 930630773 : 930630769); - break; - case 14: - return true; - case 8: - return false; - case 4: - num = ((!contentFinderConditionData.AllowUndersized) ? 930630768 : 930630770); - break; - case 9: - return false; - case 11: - inventoryContainer = ptr->GetInventoryContainer(InventoryType.EquippedItems); - num = ((inventoryContainer != null) ? 930630781 : 930630776); - break; - case 2: - return false; - case 12: - return false; - case 0: - return false; - case 5: - return _202C_206C_202C_206D_206E_202B_206C_200F_206C_200C_200F_200C_200E_206A_206E_202B_202E_200F_200C_200B_206C_200F_202B_200D_200D_206B_200C_200D_206C_206A_202D_202E_202B_202B_202B_206E_200C_200D_202A_202B_202E(gearStatsCalculator, inventoryContainer) - contentFinderConditionData.RequiredItemLevel >= 100; - case 13: - ptr = InventoryManager.Instance(); - num = ((ptr != null) ? 930630771 : 930630778); - break; - } + return false; } + if (!contentFinderConditionData.IsDungeon || !contentFinderConditionData.AllowUndersized || contentFinderConditionData.ClassJobLevelSync == 0) + { + return false; + } + int num = (objectTable.LocalPlayer?.Level ?? 0) - contentFinderConditionData.ClassJobLevelSync; + if (num >= 15) + { + return true; + } + if (num < 10) + { + return false; + } + InventoryManager* ptr = InventoryManager.Instance(); + if (ptr == null) + { + return false; + } + InventoryContainer* inventoryContainer = ptr->GetInventoryContainer(InventoryType.EquippedItems); + if (inventoryContainer == null) + { + return false; + } + return gearStatsCalculator.CalculateAverageItemLevel(inventoryContainer) - contentFinderConditionData.RequiredItemLevel >= 100; } private static AutoDutyIpc.DutyMode ConvertToAutoDutyMode(EDutyMode mode) { - int num; - AutoDutyIpc.DutyMode result = default(AutoDutyIpc.DutyMode); - switch (mode) + return mode switch { - default: - num = 1970716629; - goto IL_001d; - case EDutyMode.UnsyncParty: - result = AutoDutyIpc.DutyMode.UnsyncRegular; - num = 1970716626; - goto IL_001d; - case EDutyMode.UnsyncSolo: - goto IL_0077; - case EDutyMode.Support: - goto IL_0084; - IL_001d: - while (true) - { - int num2 = num; - int num3 = 1970716624; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - goto end_IL_001d; - case 5: - num = 1970716630; - break; - case 0: - num = 1970716629; - break; - case 3: - goto IL_0077; - case 4: - goto IL_0084; - case 6: - result = AutoDutyIpc.DutyMode.Support; - num = 1970716626; - break; - case 2: - return result; - } - continue; - end_IL_001d: - break; - } - goto case EDutyMode.UnsyncParty; - IL_0084: - result = AutoDutyIpc.DutyMode.Support; - num = 1970716626; - goto IL_001d; - IL_0077: - result = AutoDutyIpc.DutyMode.UnsyncRegular; - num = 1970716626; - goto IL_001d; - } - } - - static void _200F_206A_202D_206F_200C_202B_206D_206F_206D_206E_200B_200E_202A_206D_206A_206C_206A_202A_206A_200B_206F_200F_200D_206F_206E_206F_200F_206B_206F_202D_206C_206C_206F_202B_202B_202C_206F_202D_206A_202A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static IPlayerCharacter _206C_202A_206B_202A_202A_206D_202A_200B_202A_200F_202A_200B_206F_200E_200F_206B_206A_206B_200C_206F_200F_202E_200E_202B_200F_200C_202B_200B_206A_202C_200C_202A_206F_202C_206A_202B_206E_200B_202B_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static byte _202A_206D_200D_202C_200D_202B_206F_206D_206C_206C_200D_206C_206A_202C_202D_200C_202C_200E_200B_202E_202C_206E_202D_200D_200E_202D_202A_200F_206B_206C_206A_206E_202E_206C_202B_202B_206D_200E_200F_206F_202E(ICharacter P_0) - { - return P_0.Level; - } - - unsafe static short _202C_206C_202C_206D_206E_202B_206C_200F_206C_200C_200F_200C_200E_206A_206E_202B_202E_200F_200C_200B_206C_200F_202B_200D_200D_206B_200C_200D_206C_206A_202D_202E_202B_202B_202B_206E_200C_200D_202A_202B_202E(GearStatsCalculator P_0, InventoryContainer* P_1) - { - return P_0.CalculateAverageItemLevel(P_1); + EDutyMode.Support => AutoDutyIpc.DutyMode.Support, + EDutyMode.UnsyncSolo => AutoDutyIpc.DutyMode.UnsyncRegular, + EDutyMode.UnsyncParty => AutoDutyIpc.DutyMode.UnsyncRegular, + _ => AutoDutyIpc.DutyMode.Support, + }; } } internal sealed record WaitForPartyTask : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206A_200B_206B_206F_202A_202C_202B_202E_200D_202B_206B_202B_202D_206B_206D_202B_206E_200E_202E_206B_206F_206A_200D_202A_206C_206C_202B_200D_202A_202E_200E_200C_202A_206F_202D_206E_202E_202A_202C_206A_202E(typeof(WaitForPartyTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return 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(-91915822); - } - - [CompilerGenerated] - public bool Equals(WaitForPartyTask? other) - { - int num = (((object)this == other) ? 354214905 : 354214910); - while (true) - { - int num2 = num; - int num3 = 354214909; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 354214910; - break; - case 4: - return true; - case 1: - return _200B_200B_202B_200C_206D_202C_202A_202C_206C_202B_206E_206E_200C_206B_202E_206F_202A_206D_200B_200B_202E_206B_206E_206D_206D_202A_200F_206C_200E_206E_206A_206F_200D_202C_206E_202B_200E_202C_202B_200D_202E(EqualityContract, other.EqualityContract); - case 3: - num = (((object)other == null) ? 354214911 : 354214908); - break; - case 2: - return false; - } - } - } - - bool IEquatable.Equals(WaitForPartyTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206A_200B_206B_206F_202A_202C_202B_202E_200D_202B_206B_202B_202D_206B_206D_202B_206E_200E_202E_206B_206F_206A_200D_202A_206C_206C_202B_200D_202A_202E_200E_200C_202A_206F_202D_206E_202E_202A_202C_206A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static bool _200B_200B_202B_200C_206D_202C_202A_202C_206C_202B_206E_206E_200C_206B_202E_206F_202A_206D_200B_200B_202E_206B_206E_206D_206D_202A_200F_206C_200E_206E_206A_206F_200D_202C_206E_202B_200E_202C_202B_200D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "WaitForParty"; } } @@ -834,204 +155,53 @@ internal static class Duty private long _startMs; - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { - _206C_206A_202B_202A_202E_202C_202A_202E_206F_202B_206F_202E_202D_202D_200F_200B_200D_200D_202D_202A_200F_202B_202E_206B_202D_200C_206F_200E_200B_202D_202B_206A_200C_206E_206E_200D_202C_202E_202C_206A_202E((ILogger)logger, 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(-48268655), Array.Empty()); - _startMs = _200D_200F_200E_206A_206F_200C_200B_202D_202B_206F_200F_200C_206F_202E_200B_206A_206D_206F_200F_202D_202E_202E_202D_202E_202C_202E_200F_202A_200E_202D_206A_206C_206E_202A_206B_206A_206B_200E_202B_200C_202E(); + logger.LogDebug("Waiting for party members before starting duty..."); + _startMs = Environment.TickCount64; return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe override ETaskResult Update() { GroupManager* ptr = GroupManager.Instance(); - int num = ((ptr != null) ? (-782293747) : (-782293748)); - long num6 = default(long); - byte memberCount = default(byte); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -782293752; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - num = -782293748; - break; - case 3: - num = ((num6 < _warnNextMs) ? (-782293760) : (-782293752)); - break; - case 7: - _202D_200E_202B_202E_200B_200F_202D_200E_200D_200C_206F_200C_200E_206C_202C_206D_202B_206B_206C_206D_200C_202B_200D_202A_202D_200D_200D_206B_202C_200D_202C_202A_202A_206D_200E_200F_206D_200F_200E_206F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(923058086), Array.Empty()); - _206D_200D_200B_202E_200C_202C_206F_200C_202E_200C_202C_200E_202C_206C_202C_206D_206C_206E_206D_202A_202A_202E_206B_200F_206B_206B_202B_200F_206B_206F_202A_206D_206D_202D_206C_200E_206A_206C_202B_202A_202E(chatGui, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-323748972), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - return ETaskResult.End; - case 5: - { - memberCount = ptr->MainGroup.MemberCount; - bool isAlliance = ptr->MainGroup.IsAlliance; - bool num12 = memberCount > 1; - num3 = (isAlliance ? 1 : 0); - num4 = (num12 ? 1 : 0); - num = ((num4 + num3 - (num4 & num3) == 0) ? (-782293751) : (-782293750)); - break; - } - case 8: - return ETaskResult.StillRunning; - case 1: - { - num6 = _200D_200F_200E_206A_206F_200C_200B_202D_202B_206F_200F_200C_206F_202E_200B_206A_206D_206F_200F_202D_202E_202E_202D_202E_202C_202E_200F_202A_200E_202D_206A_206C_206E_202A_206B_206A_206B_200E_202B_200C_202E(); - long num11 = num6; - long num7 = _startMs; - long num8 = num11; - num = ((~(~num8 + num7) <= 300000) ? (-782293749) : (-782293745)); - break; - } - case 4: - return ETaskResult.StillRunning; - case 0: - { - _206D_202B_206E_206C_206F_202C_206E_202C_206C_202A_206A_206F_206D_202C_206C_202D_202E_206E_200E_202C_206E_200E_206B_200B_200E_202A_200E_200F_206F_206F_200B_202A_206D_202B_202E_200D_200C_206C_200B_200D_202E(chatGui, 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(1726719131), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - long num5 = num6; - long num7 = 10000L; - long num8 = num5; - long num9 = num8 ^ num7; - long num10 = num8 & num7; - _warnNextMs = num9 + (num10 + num10); - num = -782293760; - break; - } - case 2: - _206C_206A_202B_202A_202E_202C_202A_202E_206F_202B_206F_202E_202D_202D_200F_200B_200D_200D_202D_202A_200F_202B_202E_206B_202D_200C_206F_200E_200B_202D_202B_206A_200C_206E_206E_200D_202C_202E_202C_206A_202E((ILogger)logger, 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(-2115626228), new object[1] { memberCount }); - return ETaskResult.TaskComplete; - } + return ETaskResult.StillRunning; } + byte memberCount = ptr->MainGroup.MemberCount; + bool isAlliance = ptr->MainGroup.IsAlliance; + if (memberCount > 1 || isAlliance) + { + logger.LogDebug("Party detected with {MemberCount} members, proceeding with duty", memberCount); + return ETaskResult.TaskComplete; + } + long tickCount = Environment.TickCount64; + if (tickCount - _startMs > 300000) + { + logger.LogError("No party members joined within 5 minutes, stopping"); + chatGui.PrintError("No party members joined within 5 minutes, stopping.", "Questionable", 576); + return ETaskResult.End; + } + if (tickCount >= _warnNextMs) + { + chatGui.Print("[Questionable] Waiting for party members before starting duty (Unsync Party mode)...", "Questionable", 576); + _warnNextMs = tickCount + 10000; + } + return ETaskResult.StillRunning; } public override bool ShouldInterruptOnDamage() { return false; } - - static void _206C_206A_202B_202A_202E_202C_202A_202E_206F_202B_206F_202E_202D_202D_200F_200B_200D_200D_202D_202A_200F_202B_202E_206B_202D_200C_206F_200E_200B_202D_202B_206A_200C_206E_206E_200D_202C_202E_202C_206A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static long _200D_200F_200E_206A_206F_200C_200B_202D_202B_206F_200F_200C_206F_202E_200B_206A_206D_206F_200F_202D_202E_202E_202D_202E_202C_202E_200F_202A_200E_202D_206A_206C_206E_202A_206B_206A_206B_200E_202B_200C_202E() - { - return Environment.TickCount64; - } - - static void _202D_200E_202B_202E_200B_200F_202D_200E_200D_200C_206F_200C_200E_206C_202C_206D_202B_206B_206C_206D_200C_202B_200D_202A_202D_200D_200D_206B_202C_200D_202C_202A_202A_206D_200E_200F_206D_200F_200E_206F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogError(P_1, P_2); - } - - static void _206D_200D_200B_202E_200C_202C_206F_200C_202E_200C_202C_200E_202C_206C_202C_206D_206C_206E_206D_202A_202A_202E_206B_200F_206B_206B_202B_200F_206B_206F_202A_206D_206D_202D_206C_200E_206A_206C_202B_202A_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); - } - - static void _206D_202B_206E_206C_206F_202C_206E_202C_206C_202A_206A_206F_206D_202C_206C_202D_202E_206E_200E_202C_206E_200E_206B_200B_200E_202A_200E_200F_206F_206F_200B_202A_206D_202B_202E_200D_200C_206C_200B_200D_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.Print(P_1, P_2, P_3); - } } internal sealed record StartAutoDutyTask(uint ContentFinderConditionId, AutoDutyIpc.DutyMode DutyMode) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200E_206F_200B_200D_200B_206C_202C_202A_200E_202B_206A_200E_206A_202C_200B_200C_206B_206F_206C_200F_200B_200D_202C_202A_200D_202D_200B_206E_206E_200F_206F_206D_200E_202E_202B_200B_202A_200B_202A_200C_202E(typeof(StartAutoDutyTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(17, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(2068222385)); - defaultInterpolatedStringHandler.AppendFormatted(ContentFinderConditionId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1087086507)); - defaultInterpolatedStringHandler.AppendFormatted(DutyMode); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1618480346)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200E_206E_202E_202E_200F_202A_206B_202C_206C_202E_200F_200C_200B_200C_206A_206B_206D_200D_200C_200C_202B_200C_202E_202E_202C_202D_200C_206A_202A_202D_202E_206D_206C_202E_200B_200B_206B_200E_202A_202E_202E(); - _202C_202B_206F_202E_202A_202C_200B_206C_202D_202D_202D_206D_206E_206C_200B_200B_206F_200B_200D_206F_206D_206B_206A_202B_206D_206A_200E_202B_206A_206A_202E_206D_200F_206A_202A_200D_202E_202B_200C_200F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-532733746)); - _202C_202B_206F_202E_202A_202C_200B_206C_202D_202D_202D_206D_206E_206C_200B_200B_206F_200B_200D_206F_206D_206B_206A_202B_206D_206A_200E_202B_206A_206A_202E_206D_200F_206A_202A_200D_202E_202B_200C_200F_202E(builder, ContentFinderConditionId.ToString()); - _202C_202B_206F_202E_202A_202C_200B_206C_202D_202D_202D_206D_206E_206C_200B_200B_206F_200B_200D_206F_206D_206B_206A_202B_206D_206A_200E_202B_206A_206A_202E_206D_200F_206A_202A_200D_202E_202B_200C_200F_202E(builder, 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(-1559637926)); - _202C_202B_206F_202E_202A_202C_200B_206C_202D_202D_202D_206D_206E_206C_200B_200B_206F_200B_200D_206F_206D_206B_206A_202B_206D_206A_200E_202B_206A_206A_202E_206D_200F_206A_202A_200D_202E_202B_200C_200F_202E(builder, DutyMode.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(StartAutoDutyTask? other) - { - int num = (((object)this == other) ? 1503405605 : 1503405604); - while (true) - { - int num2 = num; - int num3 = 1503405605; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - num = 1503405604; - break; - case 6: - num = ((!EqualityComparer.Default.Equals(ContentFinderConditionId, other.ContentFinderConditionId)) ? 1503405601 : 1503405606); - break; - case 3: - return EqualityComparer.Default.Equals(DutyMode, other.DutyMode); - case 1: - num = (((object)other == null) ? 1503405601 : 1503405607); - break; - case 0: - return true; - case 4: - return false; - case 2: - num = ((!_206F_200D_206A_206D_200D_206B_206D_202E_202C_202B_206A_202A_202C_206D_200D_206B_202D_200C_202D_202C_202C_200D_206F_206B_206F_202E_200C_200E_206D_200E_206C_206E_206D_202E_202D_202E_206E_200B_202C_202E(EqualityContract, other.EqualityContract)) ? 1503405601 : 1503405603); - break; - } - } - } - - bool IEquatable.Equals(StartAutoDutyTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200E_206F_200B_200D_200B_206C_202C_202A_200E_202B_206A_200E_206A_202C_200B_200C_206B_206F_206C_200F_200B_200D_202C_202A_200D_202D_200B_206E_206E_200F_206F_206D_200E_202E_202B_200B_202A_200B_202A_200C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _200E_206E_202E_202E_200F_202A_206B_202C_206C_202E_200F_200C_200B_200C_206A_206B_206D_200D_200C_200C_202B_200C_202E_202E_202C_202D_200C_206A_202A_202D_202E_206D_206C_202E_200B_200B_206B_200E_202A_202E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202C_202B_206F_202E_202A_202C_200B_206C_202D_202D_202D_206D_206E_206C_200B_200B_206F_200B_200D_206F_206D_206B_206A_202B_206D_206A_200E_202B_206A_206A_202E_206D_200F_206A_202A_200D_202E_202B_200C_200F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _206F_200D_206A_206D_200D_206B_206D_202E_202C_202B_206A_202A_202C_206D_200D_206B_202D_200C_202D_202C_202C_200D_206F_206B_206F_202E_200C_200E_206D_200E_206C_206E_206D_202E_202D_202E_206E_200B_202C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"StartAutoDuty({ContentFinderConditionId}, {DutyMode})"; } } @@ -1039,116 +209,61 @@ internal static class Duty { private long _startMs; - [MethodImpl(MethodImplOptions.NoInlining)] protected unsafe override bool Start() { - TerritoryData.ContentFinderConditionData contentFinderConditionData; - int num = (territoryData.TryGetContentFinderCondition(base.Task.ContentFinderConditionId, out contentFinderConditionData) ? (-980640286) : (-980640288)); - InventoryContainer* inventoryContainer = default(InventoryContainer*); - short num7 = default(short); - string text = default(string); - while (true) + if (!territoryData.TryGetContentFinderCondition(base.Task.ContentFinderConditionId, out TerritoryData.ContentFinderConditionData contentFinderConditionData)) { - int num2 = num; - int num3 = -980640281; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + throw new TaskException("Failed to get territory ID for content finder condition"); + } + if (base.Task.DutyMode != AutoDutyIpc.DutyMode.UnsyncRegular) + { + InventoryManager* intPtr = InventoryManager.Instance(); + if (intPtr == null) { - case 0: - num = -980640288; - break; - case 2: + throw new TaskException("Inventory unavailable"); + } + InventoryContainer* inventoryContainer = intPtr->GetInventoryContainer(InventoryType.EquippedItems); + if (inventoryContainer == null) { - InventoryManager* intPtr = InventoryManager.Instance(); - if (intPtr == null) + throw new TaskException("Equipped items unavailable"); + } + short num = gearStatsCalculator.CalculateAverageItemLevel(inventoryContainer); + if (contentFinderConditionData.RequiredItemLevel > num) + { + string text = $"Could not use AutoDuty to queue for {contentFinderConditionData.Name}, required item level: {contentFinderConditionData.RequiredItemLevel}, current item level: {num}."; + if (!sendNotificationExecutor.Start(new SendNotification.Task(EInteractionType.Duty, text))) { - throw new TaskException(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1365738455)); + chatGui.PrintError(text, "Questionable", 576); } - inventoryContainer = intPtr->GetInventoryContainer(InventoryType.EquippedItems); - num = ((inventoryContainer != null) ? (-980640274) : (-980640284)); - break; - } - case 1: return false; - case 4: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(82, 3); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(379247300)); - defaultInterpolatedStringHandler.AppendFormatted(contentFinderConditionData.Name); - defaultInterpolatedStringHandler.AppendLiteral(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(-314153188)); - defaultInterpolatedStringHandler.AppendFormatted(contentFinderConditionData.RequiredItemLevel); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-205350481)); - defaultInterpolatedStringHandler.AppendFormatted(num7); - defaultInterpolatedStringHandler.AppendLiteral(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(-978038014)); - text = defaultInterpolatedStringHandler.ToStringAndClear(); - num = (sendNotificationExecutor.Start(new SendNotification.Task(EInteractionType.Duty, text)) ? (-980640282) : (-980640287)); - break; - } - case 8: - autoDutyIpc.StartInstance(base.Task.ContentFinderConditionId, base.Task.DutyMode); - _startMs = _206C_202E_206F_200F_206B_200E_206E_200C_206A_206E_202B_206D_202D_202D_200E_202A_206E_200F_200D_202A_206F_202B_200C_202B_206B_206F_206E_200E_200E_202A_200B_206B_202D_206A_206E_200D_200B_200B_206F_202A_202E(); - return true; - case 9: - num7 = _200F_202A_202B_206D_206A_206D_206C_200C_200F_202E_202B_200E_200E_206C_206F_200C_202D_200B_200D_206F_206C_202D_202E_206E_200F_200B_206A_206A_202A_206E_200D_200D_206D_200F_200E_200D_202B_202B_206F_206B_202E(gearStatsCalculator, inventoryContainer); - num = ((contentFinderConditionData.RequiredItemLevel <= num7) ? (-980640273) : (-980640285)); - break; - case 7: - throw new TaskException(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(-474694589)); - case 6: - _206A_206D_200B_206F_206D_200E_202A_200C_202C_202E_202A_206D_200D_206E_202D_206D_202D_202B_200F_202A_206D_200C_202A_200E_206D_202A_200E_200E_202D_202B_206A_200C_202C_200C_200B_202A_202E_206F_206F_202A_202E(chatGui, text, 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(85756196), (ushort?)(ushort)576); - num = -980640282; - break; - case 5: - num = ((base.Task.DutyMode == AutoDutyIpc.DutyMode.UnsyncRegular) ? (-980640273) : (-980640283)); - break; - case 3: - throw new TaskException(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(1709557218)); } } + autoDutyIpc.StartInstance(base.Task.ContentFinderConditionId, base.Task.DutyMode); + _startMs = Environment.TickCount64; + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - TerritoryData.ContentFinderConditionData contentFinderConditionData; - int num = (territoryData.TryGetContentFinderCondition(base.Task.ContentFinderConditionId, out contentFinderConditionData) ? (-2114723665) : (-2114723668)); - while (true) + if (!territoryData.TryGetContentFinderCondition(base.Task.ContentFinderConditionId, out TerritoryData.ContentFinderConditionData contentFinderConditionData)) { - int num2 = num; - int num3 = -2114723665; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 8: - num = ((_206C_202E_206F_200F_206B_200E_206E_200C_206A_206E_202B_206D_202D_202D_200E_202A_206E_200F_200D_202A_206F_202B_200C_202B_206B_206F_206E_200E_200E_202A_200B_206B_202D_206A_206E_200D_200B_200B_206F_202A_202E() - _startMs >= 10000) ? (-2114723669) : (-2114723667)); - break; - case 1: - return ETaskResult.TaskComplete; - case 3: - throw new TaskException(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(502048434)); - case 7: - return ETaskResult.StillRunning; - case 6: - num = -2114723668; - break; - case 0: - num = ((_202B_202E_200B_200D_202E_206F_202E_200F_200B_206F_206B_202A_206C_202B_200B_206C_202E_206B_206B_200D_202D_202E_206F_206A_206F_200F_206F_202B_206A_202C_206B_200C_206B_202A_200F_202C_200C_206F_206D_200D_202E(clientState) != contentFinderConditionData.TerritoryId) ? (-2114723670) : (-2114723666)); - break; - case 2: - return ETaskResult.StillRunning; - case 5: - num = (autoDutyIpc.IsStopped() ? (-2114723673) : (-2114723672)); - break; - case 4: - _206D_206E_202E_202B_202E_206D_200E_200D_206E_200B_200C_200E_206F_206F_202E_206B_206C_202A_206A_202B_206E_206E_202D_202D_202E_206A_200E_202C_200E_200E_206D_202E_206C_202D_206E_202C_206B_200F_206F_202B_202E((ILogger)logger, 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(1754806661), new object[1] { base.Task.ContentFinderConditionId }); - _206A_206D_200B_206F_206D_200E_202A_200C_202C_202E_202A_206D_200D_206E_202D_206D_202D_202B_200F_202A_206D_200C_202A_200E_206D_202A_200E_200E_202D_202B_206A_200C_202C_200C_200B_202A_202E_206F_206F_202A_202E(chatGui, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(170724657), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - return ETaskResult.End; - } + throw new TaskException("Failed to get territory ID for content finder condition"); } + if (clientState.TerritoryType == contentFinderConditionData.TerritoryId) + { + return ETaskResult.TaskComplete; + } + if (!autoDutyIpc.IsStopped()) + { + return ETaskResult.StillRunning; + } + if (Environment.TickCount64 - _startMs < 10000) + { + return ETaskResult.StillRunning; + } + logger.LogError("AutoDuty stopped without entering duty {CfcId} after 10 seconds", base.Task.ContentFinderConditionId); + chatGui.PrintError("AutoDuty failed to start the duty, stopping.", "Questionable", 576); + return ETaskResult.End; } public void StopNow() @@ -1156,129 +271,17 @@ internal static class Duty autoDutyIpc.Stop(); } - void IStoppableTaskExecutor.StopNow() - { - //ILSpy generated this explicit interface implementation from .override directive in StopNow - this.StopNow(); - } - public override bool ShouldInterruptOnDamage() { return false; } - - unsafe static short _200F_202A_202B_206D_206A_206D_206C_200C_200F_202E_202B_200E_200E_206C_206F_200C_202D_200B_200D_206F_206C_202D_202E_206E_200F_200B_206A_206A_202A_206E_200D_200D_206D_200F_200E_200D_202B_202B_206F_206B_202E(GearStatsCalculator P_0, InventoryContainer* P_1) - { - return P_0.CalculateAverageItemLevel(P_1); - } - - static void _206A_206D_200B_206F_206D_200E_202A_200C_202C_202E_202A_206D_200D_206E_202D_206D_202D_202B_200F_202A_206D_200C_202A_200E_206D_202A_200E_200E_202D_202B_206A_200C_202C_200C_200B_202A_202E_206F_206F_202A_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); - } - - static long _206C_202E_206F_200F_206B_200E_206E_200C_206A_206E_202B_206D_202D_202D_200E_202A_206E_200F_200D_202A_206F_202B_200C_202B_206B_206F_206E_200E_200E_202A_200B_206B_202D_206A_206E_200D_200B_200B_206F_202A_202E() - { - return Environment.TickCount64; - } - - static uint _202B_202E_200B_200D_202E_206F_202E_200F_200B_206F_206B_202A_206C_202B_200B_206C_202E_206B_206B_200D_202D_202E_206F_206A_206F_200F_206F_202B_206A_202C_206B_200C_206B_202A_200F_202C_200C_206F_206D_200D_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static void _206D_206E_202E_202B_202E_206D_200E_200D_206E_200B_200C_200E_206F_206F_202E_206B_206C_202A_206A_202B_206E_206E_202D_202D_202E_206A_200E_202C_200E_200E_206D_202E_206C_202D_206E_202C_206B_200F_206F_202B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogError(P_1, P_2); - } } internal sealed record WaitAutoDutyTask(uint ContentFinderConditionId) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202E_202C_206C_206B_206C_206F_206D_202B_206F_206F_202E_202A_200F_206E_202D_206B_202C_200C_206F_206A_200B_206E_200B_206F_202A_200D_200E_206C_206B_200F_202C_200E_202A_200B_200C_200C_206A_206B_202C_202B_202E(typeof(WaitAutoDutyTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(30, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2064501432)); - defaultInterpolatedStringHandler.AppendFormatted(ContentFinderConditionId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1618480346)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200C_202D_206B_206E_206D_206C_202C_206A_202C_206A_206F_202A_200F_206C_202D_202E_200C_206E_206A_206A_202A_202C_200B_206E_200E_200F_200F_200D_200C_206E_206A_202C_206C_202D_200D_206E_202A_202A_206D_202D_202E(); - _200E_200B_206F_202C_206C_206C_202D_202D_202D_200F_206F_206E_206A_202A_200F_206B_202B_200B_200F_202B_200F_206A_200E_202B_206D_206F_202B_202E_206B_200F_206F_206E_202E_202A_200E_202D_206C_206F_202B_200F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-374667389)); - _200E_200B_206F_202C_206C_206C_202D_202D_202D_200F_206F_206E_206A_202A_200F_206B_202B_200B_200F_202B_200F_206A_200E_202B_206D_206F_202B_202E_206B_200F_206F_206E_202E_202A_200E_202D_206C_206F_202B_200F_202E(builder, ContentFinderConditionId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(WaitAutoDutyTask? other) - { - int num = (((object)this == other) ? 1302345077 : 1302345076); - while (true) - { - int num2 = num; - int num3 = 1302345078; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return false; - case 2: - num = (((object)other == null) ? 1302345079 : 1302345074); - break; - case 5: - return EqualityComparer.Default.Equals(ContentFinderConditionId, other.ContentFinderConditionId); - case 3: - return true; - case 0: - num = 1302345076; - break; - case 4: - num = ((!_200E_206C_202B_202C_200B_206A_200E_202C_200D_200D_202A_206B_206D_200E_206A_202B_206D_200B_202E_200F_200C_200E_202C_202B_200F_200E_206E_202D_206D_200F_200C_202C_206B_206E_200F_202A_202C_206B_206C_202A_202E(EqualityContract, other.EqualityContract)) ? 1302345079 : 1302345075); - break; - } - } - } - - bool IEquatable.Equals(WaitAutoDutyTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202E_202C_206C_206B_206C_206F_206D_202B_206F_206F_202E_202A_200F_206E_202D_206B_202C_200C_206F_206A_200B_206E_200B_206F_202A_200D_200E_206C_206B_200F_202C_200E_202A_200B_200C_200C_206A_206B_202C_202B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _200C_202D_206B_206E_206D_206C_202C_206A_202C_206A_206F_202A_200F_206C_202D_202E_200C_206E_206A_206A_202A_202C_200B_206E_200E_200F_200F_200D_200C_206E_206A_202C_206C_202D_200D_206E_202A_202A_206D_202D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200E_200B_206F_202C_206C_206C_202D_202D_202D_200F_206F_206E_206A_202A_200F_206B_202B_200B_200F_202B_200F_206A_200E_202B_206D_206F_202B_202E_206B_200F_206F_206E_202E_202A_200E_202D_206C_206F_202B_200F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _200E_206C_202B_202C_200B_206A_200E_202C_200D_200D_202A_206B_206D_200E_206A_202B_206D_200B_202E_200F_200C_200E_202C_202B_200F_200E_206E_202D_206D_200F_200C_202C_206B_206E_200F_202A_202C_206B_206C_202A_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"Wait(AutoDuty, left instance {ContentFinderConditionId})"; } } @@ -1292,69 +295,37 @@ internal static class Duty return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - TerritoryData.ContentFinderConditionData contentFinderConditionData; - int num = (territoryData.TryGetContentFinderCondition(base.Task.ContentFinderConditionId, out contentFinderConditionData) ? 587590587 : 587590588); - long num6 = default(long); - bool flag = default(bool); - while (true) + if (!territoryData.TryGetContentFinderCondition(base.Task.ContentFinderConditionId, out TerritoryData.ContentFinderConditionData contentFinderConditionData)) { - int num2 = num; - int num3 = 587590583; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + throw new TaskException("Failed to get territory ID for content finder condition"); + } + bool flag = clientState.TerritoryType != contentFinderConditionData.TerritoryId; + if (flag && autoDutyIpc.IsStopped()) + { + notificationService.Notify(EInteractionType.Duty, "Duty complete - " + contentFinderConditionData.Name); + return ETaskResult.TaskComplete; + } + if (!flag && autoDutyIpc.IsStopped()) + { + long tickCount = Environment.TickCount64; + if (_stoppedInsideMs < 0) { - case 5: - _stoppedInsideMs = num6; - num = 587590590; - break; - case 6: - num = ((!autoDutyIpc.IsStopped()) ? 587590589 : 587590582); - break; - case 4: - return ETaskResult.StillRunning; - case 11: - throw new TaskException(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(-474694589)); - case 12: - flag = _202A_206A_202A_206E_200F_202E_202B_206B_202A_206A_206B_206A_206E_206C_206F_206A_202C_206E_200F_202D_206A_206A_202A_200D_202D_200C_202B_206F_200B_206B_200B_202E_200C_200B_200B_206A_200F_202E_206A_202D_202E(clientState) != contentFinderConditionData.TerritoryId; - num = ((!flag) ? 587590589 : 587590577); - break; - case 9: - { - long num5 = num6; - long stoppedInsideMs = _stoppedInsideMs; - long num7 = num5; - num = ((~(~num7 + stoppedInsideMs) <= 60000) ? 587590579 : 587590583); - break; + _stoppedInsideMs = tickCount; } - case 1: - notificationService.Notify(EInteractionType.Duty, _202E_206A_200E_202E_202D_200D_200C_206E_206B_202C_200E_202B_206D_202D_206A_202E_202C_206D_200E_206C_200E_202D_206F_202B_202C_206E_200C_200E_200B_202D_200B_206D_202A_202E_200C_200C_200F_206F_200C_206C_202E(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(-310659385), contentFinderConditionData.Name)); - return ETaskResult.TaskComplete; - case 10: - num = (flag ? 587590580 : 587590576); - break; - case 2: - num6 = _200F_206C_200D_200E_200B_200C_206D_202D_206B_206A_206C_200C_200F_206F_206F_202E_200B_200E_206B_202D_200C_206C_202A_202C_206A_202D_206B_200D_200D_200D_202B_206E_206E_202D_200B_206C_206C_202E_202C_202E(); - num = ((_stoppedInsideMs >= 0) ? 587590590 : 587590578); - break; - case 7: - num = ((!autoDutyIpc.IsStopped()) ? 587590580 : 587590581); - break; - case 0: - _206E_206F_202A_202E_206A_202A_200C_202B_202C_206F_206F_200C_202B_202E_202A_200D_200C_202A_206C_200D_200E_200C_202D_206E_202C_200E_200D_200B_202E_202D_200D_202A_200B_200C_200B_206A_206C_202D_202B_206B_202E((ILogger)logger, 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(2033898559), new object[1] { base.Task.ContentFinderConditionId }); - _200B_200F_200F_202B_202A_206E_206E_202B_202C_202D_206C_202A_202A_206D_206E_202E_206B_200F_206C_200C_200E_202B_200E_200D_202C_200E_202C_200D_200C_206C_206A_206C_206B_206F_200E_200C_200C_200C_202B_202E_202E(chatGui, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(623741352), 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(1481660241), (ushort?)(ushort)576); + if (tickCount - _stoppedInsideMs > 60000) + { + logger.LogError("AutoDuty stopped inside duty {CfcId} and did not progress within 60s", base.Task.ContentFinderConditionId); + chatGui.PrintError("AutoDuty stopped inside the duty, stopping.", "Questionable", 576); return ETaskResult.End; - case 3: - _stoppedInsideMs = -1L; - num = 587590579; - break; - case 8: - num = 587590588; - break; } } + else + { + _stoppedInsideMs = -1L; + } + return ETaskResult.StillRunning; } public void StopNow() @@ -1362,131 +333,17 @@ internal static class Duty autoDutyIpc.Stop(); } - void IStoppableTaskExecutor.StopNow() - { - //ILSpy generated this explicit interface implementation from .override directive in StopNow - this.StopNow(); - } - public override bool ShouldInterruptOnDamage() { return false; } - - static uint _202A_206A_202A_206E_200F_202E_202B_206B_202A_206A_206B_206A_206E_206C_206F_206A_202C_206E_200F_202D_206A_206A_202A_200D_202D_200C_202B_206F_200B_206B_200B_202E_200C_200B_200B_206A_200F_202E_206A_202D_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static string _202E_206A_200E_202E_202D_200D_200C_206E_206B_202C_200E_202B_206D_202D_206A_202E_202C_206D_200E_206C_200E_202D_206F_202B_202C_206E_200C_200E_200B_202D_200B_206D_202A_202E_200C_200C_200F_206F_200C_206C_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static long _200F_206C_200D_200E_200B_200C_206D_202D_206B_206A_206C_200C_200F_206F_206F_202E_200B_200E_206B_202D_200C_206C_202A_202C_206A_202D_206B_200D_200D_200D_202B_206E_206E_202D_200B_206C_206C_202E_202C_202E() - { - return Environment.TickCount64; - } - - static void _206E_206F_202A_202E_206A_202A_200C_202B_202C_206F_206F_200C_202B_202E_202A_200D_200C_202A_206C_200D_200E_200C_202D_206E_202C_200E_200D_200B_202E_202D_200D_202A_200B_200C_200B_206A_206C_202D_202B_206B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogError(P_1, P_2); - } - - static void _200B_200F_200F_202B_202A_206E_206E_202B_202C_202D_206C_202A_202A_206D_206E_202E_206B_200F_206C_200C_200E_202B_200E_200D_202C_200E_202C_200D_200C_206C_206A_206C_206B_206F_200E_200C_200C_200C_202B_202E_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); - } } internal sealed record OpenDutyFinderTask(uint ContentFinderConditionId) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206F_206F_202D_206E_206C_206E_206B_206C_206B_202A_202E_202E_206F_206D_206D_202E_202C_202C_206E_206B_202A_202C_200E_200E_202C_202B_202C_206E_202B_206E_202A_206C_206B_202B_200D_202E_206E_206E_206E_206F_202E(typeof(OpenDutyFinderTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(16, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(806915853)); - defaultInterpolatedStringHandler.AppendFormatted(ContentFinderConditionId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202C_206E_206C_206E_206E_206B_206E_206C_206B_202C_202D_206C_206D_202B_206C_206E_202C_200E_202B_202A_202E_206E_200C_206A_200C_206A_200C_206F_206C_202B_200F_202D_206F_202D_202E_200F_202A_206B_206B_202E_202E(); - _200E_206F_206C_200B_200B_200C_202E_202C_200F_202D_206A_202C_202B_206F_202C_206E_200B_202B_200E_202A_202C_202C_202C_206F_206A_200C_206E_200C_202A_206F_202D_206E_206D_200D_202E_200D_200E_202B_200B_206D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-532733746)); - _200E_206F_206C_200B_200B_200C_202E_202C_200F_202D_206A_202C_202B_206F_202C_206E_200B_202B_200E_202A_202C_202C_202C_206F_206A_200C_206E_200C_202A_206F_202D_206E_206D_200D_202E_200D_200E_202B_200B_206D_202E(builder, ContentFinderConditionId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(OpenDutyFinderTask? other) - { - int num = (((object)this == other) ? (-235260412) : (-235260415)); - while (true) - { - int num2 = num; - int num3 = -235260416; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - return true; - case 2: - return EqualityComparer.Default.Equals(ContentFinderConditionId, other.ContentFinderConditionId); - case 1: - num = (((object)other == null) ? (-235260413) : (-235260411)); - break; - case 3: - return false; - case 5: - num = ((!_200B_200F_202A_206B_206B_206D_202C_202B_200D_200C_202B_200E_206D_200C_202E_202B_202E_200C_202E_206A_200D_206C_206D_202B_200E_206D_200D_202E_200F_206A_206A_202C_206E_202D_200E_206C_206F_206B_202A_202E(EqualityContract, other.EqualityContract)) ? (-235260413) : (-235260414)); - break; - case 0: - num = -235260415; - break; - } - } - } - - bool IEquatable.Equals(OpenDutyFinderTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206F_206F_202D_206E_206C_206E_206B_206C_206B_202A_202E_202E_206F_206D_206D_202E_202C_202C_206E_206B_202A_202C_200E_200E_202C_202B_202C_206E_202B_206E_202A_206C_206B_202B_200D_202E_206E_206E_206E_206F_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _202C_206E_206C_206E_206E_206B_206E_206C_206B_202C_202D_206C_206D_202B_206C_206E_202C_200E_202B_202A_202E_206E_200C_206A_200C_206A_200C_206F_206C_202B_200F_202D_206F_202D_202E_200F_202A_206B_206B_202E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200E_206F_206C_200B_200B_200C_202E_202C_200F_202D_206A_202C_202B_206F_202C_206E_200B_202B_200E_202A_202C_202C_202C_206F_206A_200C_206E_200C_202A_206F_202D_206E_206D_200D_202E_200D_200E_202B_200B_206D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _200B_200F_202A_206B_206B_206D_202C_202B_200D_200C_202B_200E_206D_200C_202E_202B_202E_200C_202E_206A_200D_206C_206D_202B_200E_206D_200D_202E_200F_206A_206A_202C_206E_202D_200E_206C_206F_206B_202A_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"OpenDutyFinder({ContentFinderConditionId})"; } } @@ -1494,26 +351,12 @@ internal static class Duty { protected override bool Start() { - int num = ((!_206E_202C_206F_202D_206E_206B_202A_206D_202D_200E_202E_206A_200B_200B_200C_200C_206F_206A_200F_200C_202E_200F_206A_200B_206B_202E_206D_206C_202D_202E_206A_206A_206A_200F_202A_206E_202C_206D_202B_206E_202E(condition, ConditionFlag.InDutyQueue)) ? 28080166 : 28080167); - while (true) + if (condition[ConditionFlag.InDutyQueue]) { - int num2 = num; - int num3 = 28080166; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_004d; - case 1: - return false; - case 0: - gameFunctions.OpenDutyFinder(base.Task.ContentFinderConditionId); - return true; - } - continue; - IL_004d: - num = 28080167; + return false; } + gameFunctions.OpenDutyFinder(base.Task.ContentFinderConditionId); + return true; } public override ETaskResult Update() @@ -1525,127 +368,46 @@ internal static class Duty { return false; } - - static bool _206E_202C_206F_202D_206E_206B_202A_206D_202D_200E_202E_206A_200B_200B_200C_200C_206F_206A_200F_200C_202E_200F_206A_200B_206B_202E_206D_206C_202D_202E_206A_206A_206A_200F_202A_206E_202C_206D_202B_206E_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } } internal sealed record EnableBossModForDutyTask : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206E_200F_206D_206B_206D_200D_200C_200E_206F_200E_202B_202A_206F_206C_200F_200D_202D_200F_200E_202A_206D_202A_206B_206F_200E_200F_206D_202D_200D_202E_206C_206E_206E_206F_202A_200C_200E_200F_206E_206D_202E(typeof(EnableBossModForDutyTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1257245001); - } - - [CompilerGenerated] - public bool Equals(EnableBossModForDutyTask? other) - { - int num = (((object)this == other) ? 1984746115 : 1984746114); - while (true) - { - int num2 = num; - int num3 = 1984746112; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = 1984746114; - break; - case 1: - return _200C_206F_206B_206A_202D_200D_200E_200D_202C_202B_200D_200E_206C_206F_206D_202E_200F_202E_202D_206C_200E_200D_200C_202D_202E_202D_200C_206D_202C_206A_202D_202A_206E_200D_206C_206E_202C_206D_206E_206B_202E(EqualityContract, other.EqualityContract); - case 3: - return true; - case 0: - return false; - case 2: - num = (((object)other == null) ? 1984746112 : 1984746113); - break; - } - } - } - - bool IEquatable.Equals(EnableBossModForDutyTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206E_200F_206D_206B_206D_200D_200C_200E_206F_200E_202B_202A_206F_206C_200F_200D_202D_200F_200E_202A_206D_202A_206B_206F_200E_200F_206D_202D_200D_202E_206C_206E_206E_206F_202A_200C_200E_200F_206E_206D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static bool _200C_206F_206B_206A_202D_200D_200E_200D_202C_202B_200D_200E_206C_206F_206D_202E_200F_202E_202D_206C_200E_200D_200C_202D_202E_202D_200C_206D_202C_206A_202D_202A_206E_200D_206C_206E_202C_206D_206E_206B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "EnableBossModForDuty"; } } internal sealed class EnableBossModForDutyExecutor(BossModIpc bossModIpc, IObjectTable objectTable, ILogger logger) : TaskExecutor() { - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { bossModIpc.EnableAi(BossModIpc.EPreset.Active); - IPlayerCharacter playerCharacter = _202E_202D_206C_200B_202C_200E_200E_200D_206B_206E_202A_202D_202C_202C_202D_206B_206C_206A_202C_202A_202E_202E_206B_200F_206D_200E_206A_202E_206A_202E_206D_206D_202E_206A_206A_206A_202B_202D_202C_200E_202E(objectTable); - int num = ((playerCharacter == null) ? 1728643060 : 1728643063); - bool flag = default(bool); - byte? b = default(byte?); - while (true) + IPlayerCharacter localPlayer = objectTable.LocalPlayer; + bool flag; + if (localPlayer != null) { - int num2 = num; - int num3 = 1728643060; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - flag = true; - num = 1728643062; - break; - case 3: - b = _206F_200C_200D_206B_200B_206A_206C_206A_202E_202E_202A_206F_200C_200D_206B_200B_206C_200F_202B_202E_206F_202B_206D_206E_202E_202A_200F_202B_202A_206D_206A_200F_206E_200D_202B_200F_202A_200F_206C_202A_202E((ICharacter)playerCharacter).ValueNullable?.Role; - num = ((!b.HasValue) ? 1728643058 : 1728643057); - break; - case 5: + byte? b = localPlayer.ClassJob.ValueNullable?.Role; + if (b.HasValue) { byte valueOrDefault = b.GetValueOrDefault(); - num3 = 3; - num4 = valueOrDefault; - num = (((uint)(~(~num4 + num3)) > 1u) ? 1728643058 : 1728643061); - break; - } - case 4: - num = 1728643063; - break; - case 2: - { - bool isRanged = flag; - bossModIpc.SetRangeStrategy(BossModIpc.EPreset.Active, isRanged); - num = 1728643060; - break; - } - case 6: - flag = false; - num = 1728643062; - break; - case 0: - _206F_202D_202C_206F_200D_206D_200C_206A_202A_200C_200D_206D_202A_202B_200E_202B_206B_202A_200B_202C_202A_200E_202B_206E_200C_206F_202C_200B_200C_206E_202D_206C_200D_206E_200E_206C_206A_200F_202C_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-248169920), Array.Empty()); - return true; + if ((uint)(valueOrDefault - 3) <= 1u) + { + flag = true; + goto IL_0077; + } } + flag = false; + goto IL_0077; } + goto IL_0087; + IL_0077: + bool isRanged = flag; + bossModIpc.SetRangeStrategy(BossModIpc.EPreset.Active, isRanged); + goto IL_0087; + IL_0087: + logger.LogDebug("Enabled BossMod Active preset for AutoDuty run"); + return true; } public override ETaskResult Update() @@ -1657,90 +419,18 @@ internal static class Duty { return false; } - - static IPlayerCharacter _202E_202D_206C_200B_202C_200E_200E_200D_206B_206E_202A_202D_202C_202C_202D_206B_206C_206A_202C_202A_202E_202E_206B_200F_206D_200E_206A_202E_206A_202E_206D_206D_202E_206A_206A_206A_202B_202D_202C_200E_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static RowRef _206F_200C_200D_206B_200B_206A_206C_206A_202E_202E_202A_206F_200C_200D_206B_200B_206C_200F_202B_202E_206F_202B_206D_206E_202E_202A_200F_202B_202A_206D_206A_200F_206E_200D_202B_200F_202A_200F_206C_202A_202E(ICharacter P_0) - { - return P_0.ClassJob; - } - - static void _206F_202D_202C_206F_200D_206D_200C_206A_202A_200C_200D_206D_202A_202B_200E_202B_206B_202A_200B_202C_202A_200E_202B_206E_200C_206F_202C_200B_200C_206E_202D_206C_200D_206E_200E_206C_206A_200F_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } } internal sealed record EnableRsrForDutyTask : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200C_202C_200B_200E_202D_202B_206A_200F_206E_200F_202D_206D_202B_202A_202A_202D_202D_200B_200F_200F_200D_202D_206C_200E_206E_200E_200D_206F_202D_206A_200B_200E_202B_200B_200E_206D_202A_206B_206F_200F_202E(typeof(EnableRsrForDutyTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return 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(2113295925); - } - - [CompilerGenerated] - public bool Equals(EnableRsrForDutyTask? other) - { - int num = (((object)this == other) ? (-1091562402) : (-1091562403)); - while (true) - { - int num2 = num; - int num3 = -1091562402; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return true; - case 1: - return false; - case 2: - num = -1091562403; - break; - case 3: - num = (((object)other == null) ? (-1091562401) : (-1091562406)); - break; - case 4: - return _206F_200E_206D_200B_206F_202C_202E_200F_200E_206A_202E_202A_206C_200B_202A_206D_200E_206F_202A_202D_206A_200E_200E_206B_200B_202A_200B_200D_206F_200F_200F_202E_202B_206C_206F_202B_206F_200F_206C_200E_202E(EqualityContract, other.EqualityContract); - } - } - } - - bool IEquatable.Equals(EnableRsrForDutyTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200C_202C_200B_200E_202D_202B_206A_200F_206E_200F_202D_206D_202B_202A_202A_202D_202D_200B_200F_200F_200D_202D_206C_200E_206E_200E_200D_206F_202D_206A_200B_200E_202B_200B_200E_206D_202A_206B_206F_200F_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static bool _206F_200E_206D_200B_206F_202C_202E_200F_200E_206A_202E_202A_206C_200B_202A_206D_200E_206F_202A_202D_206A_200E_200E_206B_200B_202A_200B_200D_206F_200F_200F_202E_202B_206C_206F_202B_206F_200F_206C_200E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "EnableRsrForDuty"; } } internal sealed class EnableRsrForDutyExecutor(RotationSolverRebornModule rsrModule, ILogger logger) : TaskExecutor() { - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { CombatController.CombatData combatData = new CombatController.CombatData @@ -1753,27 +443,13 @@ internal static class Duty ComplexCombatDatas = new List(), CombatItemUse = null }; - int num = ((!rsrModule.Start(combatData)) ? 2061228906 : 2061228905); - while (true) + if (rsrModule.Start(combatData)) { - int num2 = num; - int num3 = 2061228904; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_008f; - case 2: - _206E_206A_206A_200E_206E_200F_200E_206A_206D_206C_206C_206A_200D_200E_202D_206B_202A_200C_202A_202C_202C_206E_202B_200C_202E_206E_200E_206F_202D_202B_206C_206F_206A_202C_200F_200F_202B_206B_206B_206F_202E((ILogger)logger, 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(-442018741), Array.Empty()); - return true; - case 1: - _206A_202D_200C_206D_200F_202C_202C_200C_202E_202D_206F_202B_202E_206A_200B_200F_202E_206E_202A_200D_206C_206B_206F_202C_200F_206D_200E_206E_206D_200F_200C_200E_200F_202D_206E_202A_200B_202C_200F_202E_202E((ILogger)logger, 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(1848587528), Array.Empty()); - return true; - } - continue; - IL_008f: - num = 2061228905; + logger.LogDebug("Enabled RSR Henched mode for AutoDuty run"); + return true; } + logger.LogWarning("Failed to enable RSR for AutoDuty run"); + return true; } public override ETaskResult Update() @@ -1785,87 +461,22 @@ internal static class Duty { return false; } - - static void _206A_202D_200C_206D_200F_202C_202C_200C_202E_202D_206F_202B_202E_206A_200B_200F_202E_206E_202A_200D_206C_206B_206F_202C_200F_206D_200E_206E_206D_200F_200C_200E_200F_202D_206E_202A_200B_202C_200F_202E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static void _206E_206A_206A_200E_206E_200F_200E_206A_206D_206C_206C_206A_200D_200E_202D_206B_202A_200C_202A_202C_202C_206E_202B_200C_202E_206E_200E_206F_202D_202B_206C_206F_206A_202C_200F_200F_202B_206B_206B_206F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } } internal sealed record EnableBossModPassiveForDutyTask : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202B_200D_200F_206D_200E_200B_206F_200F_200B_200C_206F_200D_206D_202E_202B_206A_206E_200D_202C_200E_202B_202B_206A_202D_206B_202B_202E_206F_202D_200D_202E_200F_202B_202C_206F_200F_202C_202D_206C_202E_202E(typeof(EnableBossModPassiveForDutyTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return 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(1459576092); - } - - [CompilerGenerated] - public bool Equals(EnableBossModPassiveForDutyTask? other) - { - int num = (((object)this == other) ? (-1195583475) : (-1195583474)); - while (true) - { - int num2 = num; - int num3 = -1195583475; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return false; - case 1: - return _202C_206C_200F_202E_206C_206B_200C_202D_206E_206E_200E_202B_202A_202E_206D_200B_200E_202A_206B_200C_200B_206E_206C_202A_200D_202C_200D_200E_202E_206D_202A_202B_200B_200C_200F_206B_206E_200F_202B_202C_202E(EqualityContract, other.EqualityContract); - case 0: - return true; - case 4: - num = -1195583474; - break; - case 3: - num = (((object)other == null) ? (-1195583473) : (-1195583476)); - break; - } - } - } - - bool IEquatable.Equals(EnableBossModPassiveForDutyTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202B_200D_200F_206D_200E_200B_206F_200F_200B_200C_206F_200D_206D_202E_202B_206A_206E_200D_202C_200E_202B_202B_206A_202D_206B_202B_202E_206F_202D_200D_202E_200F_202B_202C_206F_200F_202C_202D_206C_202E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static bool _202C_206C_200F_202E_206C_206B_200C_202D_206E_206E_200E_202B_202A_202E_206D_200B_200E_202A_206B_200C_200B_206E_206C_202A_200D_202C_200D_200E_202E_206D_202A_202B_200B_200C_200F_206B_206E_200F_202B_202C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "EnableBossModPassiveForDuty"; } } internal sealed class EnableBossModPassiveForDutyExecutor(BossModIpc bossModIpc, ILogger logger) : TaskExecutor() { - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { bossModIpc.EnableAi(BossModIpc.EPreset.Passive); - _206F_206F_200B_202B_206F_200F_202B_200F_200E_206C_202A_202D_206E_206F_206F_206F_200D_206F_206E_202B_200D_202E_200F_200E_206B_202D_202B_202D_200D_200F_200F_200E_206A_206C_206A_200C_200E_206B_200B_200E_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1506955003), Array.Empty()); + logger.LogDebug("Enabled BossMod Passive preset for AutoDuty run (hazard avoidance)"); return true; } @@ -1878,78 +489,18 @@ internal static class Duty { return false; } - - static void _206F_206F_200B_202B_206F_200F_202B_200F_200E_206C_202A_202D_206E_206F_206F_206F_200D_206F_206E_202B_200D_202E_200F_200E_206B_202D_202B_202D_200D_200F_200F_200E_206A_206C_206A_200C_200E_206B_200B_200E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } } internal sealed record EnableWrathForDutyTask : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206D_202A_202D_206F_202A_206D_206B_200E_206C_202E_202C_200B_202E_202A_202C_202D_202A_202E_200F_200B_200F_202E_200E_202C_200D_206B_200C_206F_206E_202A_200C_202A_200E_200F_200D_202E_200C_200B_202D_206F_202E(typeof(EnableWrathForDutyTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(675489831); - } - - [CompilerGenerated] - public bool Equals(EnableWrathForDutyTask? other) - { - int num = (((object)this == other) ? 1904585332 : 1904585334); - while (true) - { - int num2 = num; - int num3 = 1904585335; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return false; - case 1: - num = (((object)other == null) ? 1904585335 : 1904585333); - break; - case 3: - return true; - case 4: - num = 1904585334; - break; - case 2: - return _202A_200D_200C_200F_202A_206A_202E_200D_202C_206C_200E_200E_200E_200B_206F_206C_206B_206B_206A_206E_206F_206B_200F_206C_202A_206B_202D_206A_206D_202A_206A_202B_206D_202A_200D_202A_206E_202E_202A_206D_202E(EqualityContract, other.EqualityContract); - } - } - } - - bool IEquatable.Equals(EnableWrathForDutyTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206D_202A_202D_206F_202A_206D_206B_200E_206C_202E_202C_200B_202E_202A_202C_202D_202A_202E_200F_200B_200F_202E_200E_202C_200D_206B_200C_206F_206E_202A_200C_202A_200E_200F_200D_202E_200C_200B_202D_206F_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static bool _202A_200D_200C_200F_202A_206A_202E_200D_202C_206C_200E_200E_200E_200B_206F_206C_206B_206B_206A_206E_206F_206B_200F_206C_202A_206B_202D_206A_206D_202A_206A_202B_206D_202A_200D_202A_206E_202E_202A_206D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "EnableWrathForDuty"; } } internal sealed class EnableWrathForDutyExecutor(WrathComboModule wrathComboModule, ILogger logger) : TaskExecutor() { - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { CombatController.CombatData combatData = new CombatController.CombatData @@ -1962,29 +513,13 @@ internal static class Duty ComplexCombatDatas = new List(), CombatItemUse = null }; - int num = ((!wrathComboModule.Start(combatData)) ? (-846521954) : (-846521955)); - while (true) + if (wrathComboModule.Start(combatData)) { - int num2 = num; - int num3 = -846521953; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _202B_202B_202C_200E_202B_206C_202E_200E_206E_206D_206D_200E_202B_206A_202B_202E_202A_206B_206E_202A_200E_206F_202C_200E_206F_202E_200E_202D_202A_200C_206B_206F_206F_206C_202B_206E_202A_202C_202C_202E((ILogger)logger, 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(-409178902), Array.Empty()); - return true; - case 2: - _206E_202A_206F_206A_206E_206B_200C_206A_202A_206E_200F_202B_200E_206D_200E_202A_202E_206A_206B_202B_200B_206C_200C_206A_206F_202E_206B_200C_200D_206F_200F_202B_202A_202D_206B_202C_200F_200C_206D_202C_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(29508109), Array.Empty()); - return true; - case 0: - goto IL_00c9; - } - continue; - IL_00c9: - num = -846521955; + logger.LogDebug("Enabled WrathCombo for AutoDuty run"); + return true; } + logger.LogWarning("Failed to enable WrathCombo for AutoDuty run"); + return true; } public override ETaskResult Update() @@ -1996,91 +531,24 @@ internal static class Duty { return false; } - - static void _206E_202A_206F_206A_206E_206B_200C_206A_202A_206E_200F_202B_200E_206D_200E_202A_202E_206A_206B_202B_200B_206C_200C_206A_206F_202E_206B_200C_200D_206F_200F_202B_202A_202D_206B_202C_200F_200C_206D_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static void _202B_202B_202C_200E_202B_206C_202E_200E_206E_206D_206D_200E_202B_206A_202B_202E_202A_206B_206E_202A_200E_206F_202C_200E_206F_202E_200E_202D_202A_200C_206B_206F_206F_206C_202B_206E_202A_202C_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } } internal sealed record DisableCombatPluginsForDutyTask : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202B_206C_206F_202C_202B_206F_202A_206A_202D_206E_200D_206D_206A_200E_202B_206E_202D_206A_202E_206A_200E_206A_202C_202D_206C_202B_202C_202D_206F_202D_206E_200E_206D_206D_202C_202C_206D_200D_206C_200C_202E(typeof(DisableCombatPluginsForDutyTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return 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(-1157161609); - } - - [CompilerGenerated] - public bool Equals(DisableCombatPluginsForDutyTask? other) - { - int num = (((object)this == other) ? (-1653700635) : (-1653700636)); - while (true) - { - int num2 = num; - int num3 = -1653700633; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - return false; - case 3: - num = (((object)other == null) ? (-1653700637) : (-1653700634)); - break; - case 2: - return true; - case 0: - num = -1653700636; - break; - case 1: - return _206D_206A_206D_206D_206A_200C_200B_202A_202D_200E_206D_202D_206F_206A_206B_202E_200E_206B_200E_202D_200F_206B_206F_202C_206F_206C_206A_202C_202C_206B_200E_206D_202C_200E_206A_200D_206E_206B_202B_202D_202E(EqualityContract, other.EqualityContract); - } - } - } - - bool IEquatable.Equals(DisableCombatPluginsForDutyTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202B_206C_206F_202C_202B_206F_202A_206A_202D_206E_200D_206D_206A_200E_202B_206E_202D_206A_202E_206A_200E_206A_202C_202D_206C_202B_202C_202D_206F_202D_206E_200E_206D_206D_202C_202C_206D_200D_206C_200C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static bool _206D_206A_206D_206D_206A_200C_200B_202A_202D_200E_206D_202D_206F_206A_206B_202E_200E_206B_200E_202D_200F_206B_206F_202C_206F_206C_206A_202C_202C_206B_200E_206D_202C_200E_206A_200D_206E_206B_202B_202D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "DisableCombatPluginsForDuty"; } } internal sealed class DisableCombatPluginsForDutyExecutor(WrathComboModule wrathComboModule, RotationSolverRebornModule rsrModule, BossModIpc bossModIpc, ILogger logger) : TaskExecutor() { - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { wrathComboModule.Stop(); rsrModule.Stop(); bossModIpc.DisableAi(); - _200F_200D_200E_202D_206A_202E_200C_206B_206D_202E_202A_206B_202C_202D_200E_206B_206E_202E_206A_200B_202A_206D_202E_200B_200E_202E_202D_206C_202B_206E_202D_202E_206F_200E_200D_206D_200D_206F_206C_206F_202E((ILogger)logger, 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(-721701585), Array.Empty()); + logger.LogDebug("Disabled combat plugins after AutoDuty run"); return true; } @@ -2093,111 +561,13 @@ internal static class Duty { return false; } - - static void _200F_200D_200E_202D_206A_202E_200C_206B_206D_202E_202A_206B_202C_202D_200E_206B_206E_202E_206A_200B_202A_206D_202E_200B_200E_202E_202D_206C_202B_206E_202D_202E_206F_200E_200D_206D_200D_206F_206C_206F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } } internal sealed record StartLevelingModeTask(int RequiredLevel, string? QuestName) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206A_206B_206F_200B_206C_206F_200E_202B_206C_200F_200B_202B_206D_206B_200C_200D_200E_200D_206F_200B_202B_206D_202C_206E_202A_206B_200E_202E_206D_202D_206E_206B_202E_202D_206B_202C_200D_202E_206D_202E(typeof(StartLevelingModeTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(36, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(2016705418)); - defaultInterpolatedStringHandler.AppendFormatted(RequiredLevel); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(506226778)); - defaultInterpolatedStringHandler.AppendFormatted(QuestName); - defaultInterpolatedStringHandler.AppendLiteral(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(-1163511253)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200B_206D_206A_200F_206D_200F_202A_200E_200D_200B_206D_206F_206C_206E_200B_202E_202A_206F_200D_206F_200C_206B_200C_200F_200B_200B_200B_206F_202C_200F_200C_202A_202C_202E_206F_202E_200E_206C_206B_202A_202E(); - _206F_200C_202A_206F_206E_202C_206B_200F_206F_200D_202A_206A_206B_200C_202B_206D_200E_206C_202D_200F_202B_202B_202A_200B_200C_206B_206F_200F_200B_206C_200C_206D_202D_200C_202B_206E_206B_202A_206A_202E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1394284169)); - _206F_200C_202A_206F_206E_202C_206B_200F_206F_200D_202A_206A_206B_200C_202B_206D_200E_206C_202D_200F_202B_202B_202A_200B_200C_206B_206F_200F_200B_206C_200C_206D_202D_200C_202B_206E_206B_202A_206A_202E_202E(builder, RequiredLevel.ToString()); - _206F_200C_202A_206F_206E_202C_206B_200F_206F_200D_202A_206A_206B_200C_202B_206D_200E_206C_202D_200F_202B_202B_202A_200B_200C_206B_206F_200F_200B_206C_200C_206D_202D_200C_202B_206E_206B_202A_206A_202E_202E(builder, 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(2013631228)); - _206F_206B_200C_200B_202B_206C_200E_200D_200C_202A_206B_206F_202D_206C_206D_206F_206C_206C_200F_202B_206C_200D_202C_200C_202C_202E_206E_200B_200F_200B_202E_206F_200E_200B_202A_206E_200F_200B_206B_200F_202E(builder, (object?)QuestName); - return true; - } - - [CompilerGenerated] - public bool Equals(StartLevelingModeTask? other) - { - int num = (((object)this == other) ? 767902798 : 767902795); - while (true) - { - int num2 = num; - int num3 = 767902794; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - return false; - case 0: - return EqualityComparer.Default.Equals(QuestName, other.QuestName); - case 1: - num = (((object)other == null) ? 767902796 : 767902799); - break; - case 5: - num = ((!_200F_206E_206F_202D_206E_202A_202E_206C_206E_206E_200C_202A_206D_206A_202C_206F_200E_200E_200D_206F_206A_206F_200C_202E_206F_206A_206E_206D_206C_200F_202A_202E_206D_202D_200E_206D_202A_200B_200C_200F_202E(EqualityContract, other.EqualityContract)) ? 767902796 : 767902793); - break; - case 3: - num = ((!EqualityComparer.Default.Equals(RequiredLevel, other.RequiredLevel)) ? 767902796 : 767902794); - break; - case 4: - return true; - case 2: - num = 767902795; - break; - } - } - } - - bool IEquatable.Equals(StartLevelingModeTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type? _206A_206B_206F_200B_206C_206F_200E_202B_206C_200F_200B_202B_206D_206B_200C_200D_200E_200D_206F_200B_202B_206D_202C_206E_202A_206B_200E_202E_206D_202D_206E_206B_202E_202D_206B_202C_200D_202E_206D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _200B_206D_206A_200F_206D_200F_202A_200E_200D_200B_206D_206F_206C_206E_200B_202E_202A_206F_200D_206F_200C_206B_200C_200F_200B_200B_200B_206F_202C_200F_200C_202A_202C_202E_206F_202E_200E_206C_206B_202A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder? _206F_200C_202A_206F_206E_202C_206B_200F_206F_200D_202A_206A_206B_200C_202B_206D_200E_206C_202D_200F_202B_202B_202A_200B_200C_206B_206F_200F_200B_206C_200C_206D_202D_200C_202B_206E_206B_202A_206A_202E_202E(StringBuilder? P_0, string? P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder? _206F_206B_200C_200B_202B_206C_200E_200D_200C_202A_206B_206F_202D_206C_206D_206F_206C_206C_200F_202B_206C_200D_202C_200C_202C_202E_206E_200B_200F_200B_202E_206F_200E_200B_202A_206E_200F_200B_206B_200F_202E(StringBuilder? P_0, object? P_1) - { - return P_0.Append(P_1); - } - - static bool _200F_206E_206F_202D_206E_202A_202E_206C_206E_206E_200C_202A_206D_206A_202C_206F_200E_200E_200D_206F_206A_206F_200C_202E_206F_206A_206E_206D_206C_200F_202A_202E_206D_202D_200E_206D_202A_200B_200C_200F_202E(Type? P_0, Type? P_1) - { - return P_0 == P_1; + return $"StartLevelingMode(target: Lv{RequiredLevel} for '{QuestName}')"; } } @@ -2205,85 +575,45 @@ internal static class Duty { private long _startMs; - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { - _200E_200D_206E_206F_202C_202A_200F_202A_206D_202B_202D_206C_206D_200B_206E_202E_200B_202E_206E_202D_202A_202B_202C_202B_206F_200B_206A_202E_202A_206B_202C_206A_206F_206E_200C_206D_200D_200D_202C_202D_202E((ILogger)logger, 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(55261693), new object[2] + logger.LogInformation("Starting AutoDuty Leveling mode to reach level {RequiredLevel} for quest '{QuestName}'", base.Task.RequiredLevel, base.Task.QuestName); + if (condition[ConditionFlag.BoundByDuty] || condition[ConditionFlag.InDutyQueue]) { - base.Task.RequiredLevel, - base.Task.QuestName - }); - int num = (_202B_202C_206B_200B_200F_200F_206A_206F_202C_202A_206B_200F_202C_202A_202C_206C_200C_200D_200E_202C_202D_202B_200C_200B_206E_200F_206F_206B_200D_200D_200E_202A_206A_200E_202D_206F_206A_200D_206F_202A_202E(condition, ConditionFlag.BoundByDuty) ? 734035572 : 734035573); - while (true) - { - int num2 = num; - int num3 = 734035575; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 734035573; - break; - case 2: - num = ((!_202B_202C_206B_200B_200F_200F_206A_206F_202C_202A_206B_200F_202C_202A_202C_206C_200C_200D_200E_202C_202D_202B_200C_200B_206E_200F_206F_206B_200D_200D_200E_202A_206A_200E_202D_206F_206A_200D_206F_202A_202E(condition, ConditionFlag.InDutyQueue)) ? 734035570 : 734035572); - break; - case 1: - _206C_202B_200B_202B_200B_206B_206E_206A_206F_206C_202A_200B_202A_206E_206B_200F_200E_206C_200B_200B_206D_206A_202A_206B_206F_206F_202C_206C_202A_206D_202B_202D_206B_206D_200C_200F_200D_206C_200F_206D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1265156459), Array.Empty()); - _startMs = _202E_200D_202B_202B_206E_206C_200D_202B_206C_206E_200C_200C_202D_200F_200D_202D_202C_200C_202D_206D_200B_202D_202C_202A_206B_206E_200D_200E_200C_206D_206B_206C_206A_202A_200D_200F_206D_202B_202B_206A_202E(); - return true; - case 4: - autoDutyIpc.StartLevelingMode(); - _startMs = _202E_200D_202B_202B_206E_206C_200D_202B_206C_206E_200C_200C_202D_200F_200D_202D_202C_200C_202D_206D_200B_202D_202C_202A_206B_206E_200D_200E_200C_206D_206B_206C_206A_202A_200D_200F_206D_202B_202B_206A_202E(); - return true; - case 3: - _206C_202B_200B_202B_200B_206B_206E_206A_206F_206C_202A_200B_202A_206E_206B_200F_200E_206C_200B_200B_206D_206A_202A_206B_206F_206F_202C_206C_202A_206D_202B_202D_206B_206D_200C_200F_200D_206C_200F_206D_202E((ILogger)logger, 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(1626350162), Array.Empty()); - return true; - case 5: - num = (autoDutyIpc.IsStopped() ? 734035571 : 734035574); - break; - } + logger.LogDebug("Already in duty or queue, skipping start"); + return true; } + if (!autoDutyIpc.IsStopped()) + { + logger.LogDebug("AutoDuty is already running, waiting for it"); + _startMs = Environment.TickCount64; + return true; + } + autoDutyIpc.StartLevelingMode(); + _startMs = Environment.TickCount64; + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - bool flag = _202B_202C_206B_200B_200F_200F_206A_206F_202C_202A_206B_200F_202C_202A_202C_206C_200C_200D_200E_202C_202D_202B_200C_200B_206E_200F_206F_206B_200D_200D_200E_202A_206A_200E_202D_206F_206A_200D_206F_202A_202E(condition, ConditionFlag.BoundByDuty); - bool flag2 = _202B_202C_206B_200B_200F_200F_206A_206F_202C_202A_206B_200F_202C_202A_202C_206C_200C_200D_200E_202C_202D_202B_200C_200B_206E_200F_206F_206B_200D_200D_200E_202A_206A_200E_202D_206F_206A_200D_206F_202A_202E(condition, ConditionFlag.InDutyQueue); - int num = (flag2 ? 1 : 0); - int num2 = (flag ? 1 : 0); - int num3 = (((num2 & num) + (num2 ^ num) == 0) ? 108538645 : 108538644); - while (true) + bool flag = condition[ConditionFlag.BoundByDuty]; + bool flag2 = condition[ConditionFlag.InDutyQueue]; + if (flag || flag2) { - int num4 = num3; - num = 108538645; - num2 = num4; - int num5 = num2 + num; - int num6 = num2 & num; - switch (num5 - (num6 + num6)) - { - case 3: - return ETaskResult.StillRunning; - case 1: - _206C_202B_200B_202B_200B_206B_206E_206A_206F_206C_202A_200B_202A_206E_206B_200F_200E_206C_200B_200B_206D_206A_202A_206B_206F_206F_202C_206C_202A_206D_202B_202D_206B_206D_200C_200F_200D_206C_200F_206D_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1699127209), new object[2] { flag, flag2 }); - return ETaskResult.TaskComplete; - case 6: - _206D_206B_200C_202B_200E_206D_200D_206B_200E_202B_206C_202A_206A_206B_200B_202A_206D_200F_202B_206E_200B_202D_206F_206F_206A_206C_200B_206F_202D_200D_202B_202E_206D_202A_206D_206C_206E_202B_202B_202D_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1096810868), Array.Empty()); - _200E_202B_200D_202A_206C_200C_200F_206A_206D_202B_206B_206A_206C_206C_202B_200E_202C_206B_200D_206A_200B_206C_200C_200B_200C_200F_200F_200F_200C_200B_200D_206A_200E_206E_206E_206F_206F_200C_206E_200D_202E(chatGui, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1253886514), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); - return ETaskResult.End; - case 0: - num3 = (autoDutyIpc.IsStopped() ? 108538640 : 108538646); - break; - case 5: - num3 = ((_202E_200D_202B_202B_206E_206C_200D_202B_206C_206E_200C_200C_202D_200F_200D_202D_202C_200C_202D_206D_200B_202D_202C_202A_206B_206E_200D_200E_200C_206D_206B_206C_206A_202A_200D_200F_206D_202B_202B_206A_202E() - _startMs >= 10000) ? 108538643 : 108538647); - break; - case 2: - return ETaskResult.StillRunning; - case 4: - num3 = 108538644; - break; - } + logger.LogDebug("AutoDuty started successfully (inDuty={InDuty}, inQueue={InQueue})", flag, flag2); + return ETaskResult.TaskComplete; } + if (!autoDutyIpc.IsStopped()) + { + return ETaskResult.StillRunning; + } + if (Environment.TickCount64 - _startMs < 10000) + { + return ETaskResult.StillRunning; + } + logger.LogError("AutoDuty failed to start leveling mode after 10 seconds"); + chatGui.PrintError("AutoDuty failed to start leveling mode, stopping.", "Questionable", 576); + return ETaskResult.End; } public void StopNow() @@ -2291,136 +621,17 @@ internal static class Duty autoDutyIpc.Stop(); } - void IStoppableTaskExecutor.StopNow() - { - //ILSpy generated this explicit interface implementation from .override directive in StopNow - this.StopNow(); - } - public override bool ShouldInterruptOnDamage() { return false; } - - static void _200E_200D_206E_206F_202C_202A_200F_202A_206D_202B_202D_206C_206D_200B_206E_202E_200B_202E_206E_202D_202A_202B_202C_202B_206F_200B_206A_202E_202A_206B_202C_206A_206F_206E_200C_206D_200D_200D_202C_202D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static bool _202B_202C_206B_200B_200F_200F_206A_206F_202C_202A_206B_200F_202C_202A_202C_206C_200C_200D_200E_202C_202D_202B_200C_200B_206E_200F_206F_206B_200D_200D_200E_202A_206A_200E_202D_206F_206A_200D_206F_202A_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static void _206C_202B_200B_202B_200B_206B_206E_206A_206F_206C_202A_200B_202A_206E_206B_200F_200E_206C_200B_200B_206D_206A_202A_206B_206F_206F_202C_206C_202A_206D_202B_202D_206B_206D_200C_200F_200D_206C_200F_206D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static long _202E_200D_202B_202B_206E_206C_200D_202B_206C_206E_200C_200C_202D_200F_200D_202D_202C_200C_202D_206D_200B_202D_202C_202A_206B_206E_200D_200E_200C_206D_206B_206C_206A_202A_200D_200F_206D_202B_202B_206A_202E() - { - return Environment.TickCount64; - } - - static void _206D_206B_200C_202B_200E_206D_200D_206B_200E_202B_206C_202A_206A_206B_200B_202A_206D_200F_202B_206E_200B_202D_206F_206F_206A_206C_200B_206F_202D_200D_202B_202E_206D_202A_206D_206C_206E_202B_202B_202D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogError(P_1, P_2); - } - - static void _200E_202B_200D_202A_206C_200C_200F_206A_206D_202B_206B_206A_206C_206C_202B_200E_202C_206B_200D_206A_200B_206C_200C_200B_200C_200F_200F_200F_200C_200B_200D_206A_200E_206E_206E_206F_206F_200C_206E_200D_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); - } } internal sealed record WaitLevelingModeTask(int RequiredLevel) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200C_202C_206A_200F_202D_206A_202E_202E_202B_206F_206F_206B_206E_200F_200F_206D_200D_200E_200E_202C_206C_206E_206F_200F_206D_206D_200B_200D_200D_202E_200F_202C_206C_206D_202C_202C_202A_200B_202C_200F_202E(typeof(WaitLevelingModeTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(26, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-1813991496)); - defaultInterpolatedStringHandler.AppendFormatted(RequiredLevel); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200E_206E_202D_206D_202E_206F_200C_200E_206E_200D_202C_202D_200D_206C_200F_206C_202C_200F_202A_202E_206B_202E_206A_200F_202C_206C_206E_206A_206C_202A_200C_202D_200E_200B_206A_200F_202D_202B_200B_202D_202E(); - _200B_206F_200D_206B_202C_200E_206E_202E_206E_202D_202A_206A_202B_202C_200D_202E_202A_202D_206C_202C_206B_206D_206F_200F_206B_200F_206B_206F_200F_206F_202D_206C_202A_202A_200F_202B_202E_202A_202E_206B_202E(builder, 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(-2045243570)); - _200B_206F_200D_206B_202C_200E_206E_202E_206E_202D_202A_206A_202B_202C_200D_202E_202A_202D_206C_202C_206B_206D_206F_200F_206B_200F_206B_206F_200F_206F_202D_206C_202A_202A_200F_202B_202E_202A_202E_206B_202E(builder, RequiredLevel.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(WaitLevelingModeTask? other) - { - int num = (((object)this == other) ? (-1709227923) : (-1709227922)); - while (true) - { - int num2 = num; - int num3 = -1709227921; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = -1709227922; - break; - case 2: - return true; - case 1: - num = (((object)other == null) ? (-1709227921) : (-1709227926)); - break; - case 4: - return EqualityComparer.Default.Equals(RequiredLevel, other.RequiredLevel); - case 5: - num = ((!_200C_200C_206F_206D_200B_202D_206C_200F_206A_206C_202D_206F_206A_202E_200D_200B_202D_200B_202B_202D_202E_200F_206B_202D_202B_206E_206A_202B_206F_202A_200C_206C_202D_206E_202C_200B_206C_202D_202D_206A_202E(EqualityContract, other.EqualityContract)) ? (-1709227921) : (-1709227925)); - break; - case 0: - return false; - } - } - } - - bool IEquatable.Equals(WaitLevelingModeTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200C_202C_206A_200F_202D_206A_202E_202E_202B_206F_206F_206B_206E_200F_200F_206D_200D_200E_200E_202C_206C_206E_206F_200F_206D_206D_200B_200D_200D_202E_200F_202C_206C_206D_202C_202C_202A_200B_202C_200F_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _200E_206E_202D_206D_202E_206F_200C_200E_206E_200D_202C_202D_200D_206C_200F_206C_202C_200F_202A_202E_206B_202E_206A_200F_202C_206C_206E_206A_206C_202A_200C_202D_200E_200B_206A_200F_202D_202B_200B_202D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200B_206F_200D_206B_202C_200E_206E_202E_206E_202D_202A_206A_202B_202C_200D_202E_202A_202D_206C_202C_206B_206D_206F_200F_206B_200F_206B_206F_200F_206F_202D_206C_202A_202A_200F_202B_202E_202A_202E_206B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _200C_200C_206F_206D_200B_202D_206C_200F_206A_206C_202D_206F_206A_202E_200D_200B_202D_200B_202B_202D_202E_200F_206B_202D_202B_206E_206A_202B_206F_202A_200C_206C_202D_206E_202C_200B_206C_202D_202D_206A_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"WaitLevelingMode(until Lv{RequiredLevel})"; } } @@ -2443,147 +654,54 @@ internal static class Duty return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - bool flag = _200D_206B_200E_206B_200B_200C_200F_200B_200C_206A_200D_202B_202C_206A_202D_200B_200C_206F_202A_202B_206C_202A_200D_200B_200C_206E_202B_202C_200B_202D_202D_202D_202C_206F_202C_202A_206E_206E_202B_200C_202E(condition, ConditionFlag.BoundByDuty); - bool flag2 = _200D_206B_200E_206B_200B_200C_200F_200B_200C_206A_200D_202B_202C_206A_202D_200B_200C_206F_202A_202B_206C_202A_200D_200B_200C_206E_202B_202C_200B_202D_202D_202D_202C_206F_202C_202A_206E_206E_202B_200C_202E(condition, ConditionFlag.InDutyQueue); - int num = ((!flag) ? (-561621789) : (-561621778)); - byte b = default(byte); - long num7 = default(long); - while (true) + bool flag = condition[ConditionFlag.BoundByDuty]; + bool flag2 = condition[ConditionFlag.InDutyQueue]; + if (flag && !_wasInDuty) { - int num2 = num; - int num3 = -561621782; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + logger.LogDebug("Entered duty for leveling"); + _wasInDuty = true; + } + byte b = objectTable.LocalPlayer?.Level ?? 0; + if (b >= base.Task.RequiredLevel) + { + logger.LogInformation("Reached required level {RequiredLevel} (current: {CurrentLevel})", base.Task.RequiredLevel, b); + chatGui.Print($"Reached level {b}, can now continue MSQ.", "Questionable", 576); + autoDutyIpc.Stop(); + return ETaskResult.TaskComplete; + } + if (autoDutyIpc.IsStopped() && !flag && !flag2 && _wasInDuty) + { + long tickCount = Environment.TickCount64; + if (_idleSinceMs < 0) { - case 15: - _idleSinceMs = -1L; - num = -561621792; - break; - case 13: - _202C_200F_200E_206B_200C_202A_206F_202B_202C_202E_206B_200B_200C_200D_202E_202B_206F_206D_202B_206F_202B_202E_202E_202E_200B_200F_200B_206F_202C_202C_202C_202C_206C_206C_206A_206F_206C_202B_200E_206E_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1085997974), new object[2] - { - b, - base.Task.RequiredLevel - }); - _200F_206C_200C_202A_206B_206E_200D_200C_206C_202D_206E_200D_200E_202B_200C_202C_202E_200F_200E_206F_200D_202C_200D_206A_206F_200D_202A_200B_206F_202D_200E_206A_206C_206E_202C_206D_206E_200E_206E_202A_202E(chatGui, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555207029), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(467221712), (ushort?)(ushort)576); + _idleSinceMs = tickCount; + } + if (tickCount >= _statusLogNextMs) + { + int num = base.Task.RequiredLevel - b; + logger.LogDebug("Leveling between dungeons (current: {CurrentLevel}, need: {RequiredLevel}, {LevelsNeeded} more levels needed)", b, base.Task.RequiredLevel, num); + _statusLogNextMs = tickCount + 30000; + } + if (tickCount - _idleSinceMs > 90000) + { + logger.LogError("AutoDuty leveling stalled at level {CurrentLevel} (need {RequiredLevel}) and did not resume within 90s", b, base.Task.RequiredLevel); + chatGui.PrintError("AutoDuty leveling stalled and didn't resume, stopping.", "Questionable", 576); return ETaskResult.End; - case 12: - num = ((!autoDutyIpc.IsStopped()) ? (-561621787) : (-561621767)); - break; - case 10: - return ETaskResult.StillRunning; - case 17: - if (!_200D_206B_200E_206B_200B_200C_200F_200B_200C_206A_200D_202B_202C_206A_202D_200B_200C_206F_202A_202B_206C_202A_200D_200B_200C_206E_202B_202C_200B_202D_202D_202D_202C_206F_202C_202A_206E_206E_202B_200C_202E(condition, ConditionFlag.BetweenAreas51)) - { - num = -561621762; - break; - } - goto case 14; - case 5: - _206C_200F_200E_206A_206A_200F_202A_206A_202A_206D_206D_206D_206D_206C_200B_206D_202B_200B_200B_206A_200E_200C_200F_202B_200B_206D_206C_202E_202E_200D_206D_200D_200F_206E_200B_206A_202A_206D_200C_202E_202E((ILogger)logger, 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(-2081714817), Array.Empty()); - _wasInDuty = true; - num = -561621789; - break; - case 8: - num7 = _206C_206C_200B_200F_202A_200B_206C_202B_206C_202B_202C_200B_206E_206C_200D_200D_200F_200C_202C_202B_202C_206B_202B_200F_200E_200F_200B_200B_202D_202A_206D_200E_200B_206F_206D_202D_202E_200D_202B_200D_202E(); - num = ((_idleSinceMs >= 0) ? (-561621783) : (-561621782)); - break; - case 20: - num = ((num7 < _reissueNextMs) ? (-561621792) : (-561621781)); - break; - case 14: - num = -561621792; - break; - case 19: - num = (flag ? (-561621787) : (-561621766)); - break; - case 6: - { - _206D_202B_202A_206A_202B_202B_200C_200C_206A_206E_200B_202A_206F_200F_202D_200B_202D_200D_200B_202E_206A_206E_200D_200D_206C_206C_206B_200C_202A_202D_206F_202E_200F_200D_200F_206E_206B_202E_200C_206A_202E((ILogger)logger, 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(-943071448), new object[2] - { - base.Task.RequiredLevel, - b - }); - IChatGui chatGui = chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(37, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-1065319718)); - defaultInterpolatedStringHandler.AppendFormatted(b); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2026620031)); - _202D_200B_206A_200B_206E_206D_202C_206F_200D_202D_202A_206A_200C_200F_202D_200B_200C_202B_202C_206F_206A_200C_202A_200E_202A_206C_202D_202E_200C_200E_200B_206B_200D_206B_202B_206C_202D_206D_200E_206F_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); - autoDutyIpc.Stop(); - return ETaskResult.TaskComplete; } - case 0: - _idleSinceMs = num7; - num = -561621783; - break; - case 11: - num = -561621778; - break; - case 21: - num = (_200D_206B_200E_206B_200B_200C_200F_200B_200C_206A_200D_202B_202C_206A_202D_200B_200C_206F_202A_202B_206C_202A_200D_200B_200C_206E_202B_202C_200B_202D_202D_202D_202C_206F_202C_202A_206E_206E_202B_200C_202E(condition, ConditionFlag.BetweenAreas) ? (-561621788) : (-561621765)); - break; - case 4: - num = (_wasInDuty ? (-561621789) : (-561621777)); - break; - case 18: + if (!condition[ConditionFlag.BetweenAreas] && !condition[ConditionFlag.BetweenAreas51] && tickCount >= _reissueNextMs) { - int num12 = base.Task.RequiredLevel - b; - _206C_200F_200E_206A_206A_200F_202A_206A_202A_206D_206D_206D_206D_206C_200B_206D_202B_200B_200B_206A_200E_200C_200F_202B_200B_206D_206C_202E_202E_200D_206D_200D_200F_206E_200B_206A_202A_206D_200C_202E_202E((ILogger)logger, 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(2028353863), new object[3] - { - b, - base.Task.RequiredLevel, - num12 - }); - long num13 = num7; - long num9 = 30000L; - long num10 = num13; - _statusLogNextMs = (num10 | num9) + (num10 & num9); - num = -561621779; - break; - } - case 9: - { - IPlayerCharacter playerCharacter = _206C_202D_200F_200C_206E_206F_206C_202D_206D_202E_200C_200F_200C_206C_202C_202C_202E_202A_202D_202E_202B_200D_206B_202C_200B_202C_206A_206F_206E_200C_200D_202E_206F_206E_206B_202A_206F_200C_206C_200C_202E(objectTable); - b = (byte)((playerCharacter != null) ? _206A_200E_200F_206A_202C_206B_200B_202A_206D_206B_206F_206C_200B_206A_206F_202D_202A_206D_202D_200E_206D_200C_206E_206A_200C_200D_206E_200F_202D_206F_206F_202E_206A_202D_206B_202D_202E_200F_200F_202D_202E((ICharacter)playerCharacter) : 0); - num = ((b < base.Task.RequiredLevel) ? (-561621786) : (-561621780)); - break; - } - case 7: - { - long num11 = num7; - long num9 = _idleSinceMs; - long num10 = num11; - num = ((~(~num10 + num9) <= 90000) ? (-561621761) : (-561621785)); - break; - } - case 16: - num = (flag2 ? (-561621787) : (-561621784)); - break; - case 2: - num = ((!_wasInDuty) ? (-561621787) : (-561621790)); - break; - case 1: - { - _206C_200F_200E_206A_206A_200F_202A_206A_202A_206D_206D_206D_206D_206C_200B_206D_202B_200B_200B_206A_200E_200C_200F_202B_200B_206D_206C_202E_202E_200D_206D_200D_200F_206E_200B_206A_202A_206D_200C_202E_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1740398930), Array.Empty()); + logger.LogDebug("Starting next leveling dungeon"); autoDutyIpc.StartLevelingMode(); - long num8 = num7; - long num9 = 5000L; - long num10 = num8; - _reissueNextMs = (num10 | num9) + (num10 & num9); - num = -561621792; - break; - } - case 3: - num = ((num7 < _statusLogNextMs) ? (-561621779) : (-561621768)); - break; + _reissueNextMs = tickCount + 5000; } } + else + { + _idleSinceMs = -1L; + } + return ETaskResult.StillRunning; } public void StopNow() @@ -2591,60 +709,9 @@ internal static class Duty autoDutyIpc.Stop(); } - void IStoppableTaskExecutor.StopNow() - { - //ILSpy generated this explicit interface implementation from .override directive in StopNow - this.StopNow(); - } - public override bool ShouldInterruptOnDamage() { return false; } - - static bool _200D_206B_200E_206B_200B_200C_200F_200B_200C_206A_200D_202B_202C_206A_202D_200B_200C_206F_202A_202B_206C_202A_200D_200B_200C_206E_202B_202C_200B_202D_202D_202D_202C_206F_202C_202A_206E_206E_202B_200C_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static void _206C_200F_200E_206A_206A_200F_202A_206A_202A_206D_206D_206D_206D_206C_200B_206D_202B_200B_200B_206A_200E_200C_200F_202B_200B_206D_206C_202E_202E_200D_206D_200D_200F_206E_200B_206A_202A_206D_200C_202E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static IPlayerCharacter _206C_202D_200F_200C_206E_206F_206C_202D_206D_202E_200C_200F_200C_206C_202C_202C_202E_202A_202D_202E_202B_200D_206B_202C_200B_202C_206A_206F_206E_200C_200D_202E_206F_206E_206B_202A_206F_200C_206C_200C_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static byte _206A_200E_200F_206A_202C_206B_200B_202A_206D_206B_206F_206C_200B_206A_206F_202D_202A_206D_202D_200E_206D_200C_206E_206A_200C_200D_206E_200F_202D_206F_206F_202E_206A_202D_206B_202D_202E_200F_200F_202D_202E(ICharacter P_0) - { - return P_0.Level; - } - - static void _206D_202B_202A_206A_202B_202B_200C_200C_206A_206E_200B_202A_206F_200F_202D_200B_202D_200D_200B_202E_206A_206E_200D_200D_206C_206C_206B_200C_202A_202D_206F_202E_200F_200D_200F_206E_206B_202E_200C_206A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static void _202D_200B_206A_200B_206E_206D_202C_206F_200D_202D_202A_206A_200C_200F_202D_200B_200C_202B_202C_206F_206A_200C_202A_200E_202A_206C_202D_202E_200C_200E_200B_206B_200D_206B_202B_206C_202D_206D_200E_206F_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.Print(P_1, P_2, P_3); - } - - static long _206C_206C_200B_200F_202A_200B_206C_202B_206C_202B_202C_200B_206E_206C_200D_200D_200F_200C_202C_202B_202C_206B_202B_200F_200E_200F_200B_200B_202D_202A_206D_200E_200B_206F_206D_202D_202E_200D_202B_200D_202E() - { - return Environment.TickCount64; - } - - static void _202C_200F_200E_206B_200C_202A_206F_202B_202C_202E_206B_200B_200C_200D_202E_202B_206F_206D_202B_206F_202B_202E_202E_202E_200B_200F_200B_206F_202C_202C_202C_202C_206C_206C_206A_206F_206C_202B_200E_206E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogError(P_1, P_2); - } - - static void _200F_206C_200C_202A_206B_206E_200D_200C_206C_202D_206E_200D_200E_202B_200C_202C_202E_200F_200E_206F_200D_202C_200D_206A_206F_200D_202A_200B_206F_202D_200E_206A_206C_206E_202C_206D_206E_200E_206E_202A_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); - } } } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/DutyRetryState.cs b/Questionable/Questionable.Controller.Steps.Interactions/DutyRetryState.cs index e290bf1..56fa7ec 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/DutyRetryState.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/DutyRetryState.cs @@ -8,37 +8,15 @@ internal sealed class DutyRetryState public bool CanRetry(int maxRetries) { - int num = ((maxRetries < 0) ? 1447023727 : 1447023721); - bool result = default(bool); - while (true) + if (maxRetries >= 0) { - int num2 = num; - int num3 = 1447023724; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + if (maxRetries == 0) { - case 0: - num = 1447023721; - break; - case 4: - result = _retryCount < maxRetries; - num = 1447023725; - break; - case 3: - result = true; - num = 1447023725; - break; - case 2: - result = false; - num = 1447023725; - break; - case 5: - num = ((maxRetries != 0) ? 1447023720 : 1447023726); - break; - case 1: - return result; + return false; } + return _retryCount < maxRetries; } + return true; } public void BeginAwaitingOutcome() @@ -53,12 +31,7 @@ internal sealed class DutyRetryState public void RecordRetry() { - int retryCount = _retryCount; - int num = 1; - int num2 = retryCount; - int num3 = num2 ^ num; - int num4 = num2 & num; - _retryCount = num3 + (num4 + num4); + _retryCount++; AwaitingOutcome = false; } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/Emote.cs b/Questionable/Questionable.Controller.Steps.Interactions/Emote.cs index 7a5c947..0a2e851 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/Emote.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/Emote.cs @@ -1,7 +1,5 @@ using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Questionable.Controller.Steps.Common; using Questionable.Functions; using Questionable.Model; @@ -13,188 +11,37 @@ internal static class Emote { internal sealed class Factory : ITaskFactory { - [MethodImpl(MethodImplOptions.NoInlining)] public IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { - EInteractionType eInteractionType = _206E_200F_202D_200B_206F_206C_202E_200B_206F_200D_206D_206D_206E_200F_200F_206C_206D_200D_206D_200B_206D_202D_206E_206D_200B_200C_206F_202B_200E_206C_206F_200E_206E_200D_200F_206C_200F_202E_206E_200F_202E(step); - int num = ((eInteractionType == EInteractionType.SinglePlayerDuty) ? 600335815 : 600335808); - Mount.UnmountTask unmountTask = default(Mount.UnmountTask); - bool flag = default(bool); - while (true) + EInteractionType interactionType = step.InteractionType; + if ((interactionType == EInteractionType.SinglePlayerDuty || (uint)(interactionType - 30) <= 1u) ? true : false) { - int num2 = num; - int num3 = 600335812; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + if (!step.Emote.HasValue) { - case 8: return Array.Empty(); - case 2: - _200E_200C_202D_206D_202C_200C_206B_206C_206D_200E_206C_200E_206E_206B_200C_206F_200B_200D_206E_200B_200B_202E_206B_200E_200D_206F_206A_200F_200E_202E_200B_206D_200E_200E_202C_202B_202D_206B_200D_206C_202E((object)_202C_206B_202E_200E_200F_200F_206F_200B_206A_206C_202B_202A_200E_202D_206D_206A_200D_200E_200E_206C_202A_202A_202E_200E_206D_206A_206F_202A_200C_202D_200F_202B_202C_200E_206C_200E_202C_206A_206A_200E_202E(step), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-837937279)); - unmountTask = new Mount.UnmountTask(); - num = ((!_202E_202D_206C_206B_206E_202A_202D_200B_200E_200B_202D_200C_200C_206B_202A_202B_202A_202C_206E_202C_206A_200C_200C_206B_200C_206C_200D_206D_202C_202B_206C_206B_206A_200F_202C_206D_206C_202C_206E_200F_202E(step).HasValue) ? 600335811 : 600335813); - break; - case 0: - num = 600335808; - break; - case 5: - num = ((!flag) ? 600335823 : 600335821); - break; - case 6: - return Array.Empty(); - case 11: - num = ((_206E_200F_202D_200B_206F_206C_202E_200B_206F_200D_206D_206D_206E_200F_200F_206C_206D_200D_206D_200B_206D_202D_206E_206D_200B_200C_206F_202B_200E_206C_206F_200E_206E_200D_200F_206C_200F_202E_206E_200F_202E(step) == EInteractionType.Emote) ? 600335814 : 600335810); - break; - case 7: - { - UseOnSelf useOnSelf = new UseOnSelf(_202C_206B_202E_200E_200F_200F_206F_200B_206A_206C_202B_202A_200E_202D_206D_206A_200D_200E_200E_206C_202A_202A_202E_200E_206D_206A_206F_202A_200C_202D_200F_202B_202C_200E_206C_200E_202C_206A_206A_200E_202E(step).Value); - return new global::_003C_003Ez__ReadOnlyArray(new ITask[2] { unmountTask, useOnSelf }); - } - case 9: - num = (_202C_206B_202E_200E_200F_200F_206F_200B_206A_206C_202B_202A_200E_202D_206D_206A_200D_200E_200E_206C_202A_202A_202E_200E_206D_206A_206F_202A_200C_202D_200F_202B_202C_200E_206C_200E_202C_206A_206A_200E_202E(step).HasValue ? 600335814 : 600335820); - break; - case 4: - num = (((uint)(eInteractionType - 30) > 1u) ? 600335822 : 600335815); - break; - case 10: - flag = false; - num = 600335809; - break; - case 1: - { - UseOnObject useOnObject = new UseOnObject(_202C_206B_202E_200E_200F_200F_206F_200B_206A_206C_202B_202A_200E_202D_206D_206A_200D_200E_200E_206C_202A_202A_202E_200E_206D_206A_206F_202A_200C_202D_200F_202B_202C_200E_206C_200E_202C_206A_206A_200E_202E(step).Value, _202E_202D_206C_206B_206E_202A_202D_200B_200E_200B_202D_200C_200C_206B_202A_202B_202A_202C_206E_202C_206A_200C_200C_206B_200C_206C_200D_206D_202C_202B_206C_206B_206A_200F_202C_206D_206C_202C_206E_200F_202E(step).Value); - return new global::_003C_003Ez__ReadOnlyArray(new ITask[2] { unmountTask, useOnObject }); - } - case 3: - flag = true; - num = 600335809; - break; } } - } - - IEnumerable ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks - return this.CreateAllTasks(quest, sequence, step); - } - - static EInteractionType _206E_200F_202D_200B_206F_206C_202E_200B_206F_200D_206D_206D_206E_200F_200F_206C_206D_200D_206D_200B_206D_202D_206E_206D_200B_200C_206F_202B_200E_206C_206F_200E_206E_200D_200F_206C_200F_202E_206E_200F_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static EEmote? _202C_206B_202E_200E_200F_200F_206F_200B_206A_206C_202B_202A_200E_202D_206D_206A_200D_200E_200E_206C_202A_202A_202E_200E_206D_206A_206F_202A_200C_202D_200F_202B_202C_200E_206C_200E_202C_206A_206A_200E_202E(QuestStep P_0) - { - return P_0.Emote; - } - - static void _200E_200C_202D_206D_202C_200C_206B_206C_206D_200E_206C_200E_206E_206B_200C_206F_200B_200D_206E_200B_200B_202E_206B_200E_200D_206F_206A_200F_200E_202E_200B_206D_200E_200E_202C_202B_202D_206B_200D_206C_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static uint? _202E_202D_206C_206B_206E_202A_202D_200B_200E_200B_202D_200C_200C_206B_202A_202B_202A_202C_206E_202C_206A_200C_200C_206B_200C_206C_200D_206D_202C_202B_206C_206B_206A_200F_202C_206D_206C_202C_206E_200F_202E(QuestStep P_0) - { - return P_0.DataId; + else if (step.InteractionType != EInteractionType.Emote) + { + return Array.Empty(); + } + ArgumentNullException.ThrowIfNull(step.Emote, "step.Emote"); + Mount.UnmountTask unmountTask = new Mount.UnmountTask(); + if (step.DataId.HasValue) + { + UseOnObject useOnObject = new UseOnObject(step.Emote.Value, step.DataId.Value); + return new global::_003C_003Ez__ReadOnlyArray(new ITask[2] { unmountTask, useOnObject }); + } + UseOnSelf useOnSelf = new UseOnSelf(step.Emote.Value); + return new global::_003C_003Ez__ReadOnlyArray(new ITask[2] { unmountTask, useOnSelf }); } } internal sealed record UseOnObject(EEmote Emote, uint DataId) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206B_200D_206F_200D_206F_200C_202E_206A_202D_202E_200C_206E_206D_206D_202C_200D_202B_206D_200C_200C_200C_200E_206B_206C_202C_200D_206E_206F_206C_206D_206A_206E_206A_200F_202B_202E_206F_200B_206A_202C_202E(typeof(UseOnObject).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(11, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(2087986807)); - defaultInterpolatedStringHandler.AppendFormatted(Emote); - defaultInterpolatedStringHandler.AppendLiteral(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(858401592)); - defaultInterpolatedStringHandler.AppendFormatted(DataId); - defaultInterpolatedStringHandler.AppendLiteral(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(444206578)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200B_200C_202B_202E_202C_200D_206C_206E_202C_202B_202C_202A_200C_200B_206B_202B_202A_200E_202E_200E_206B_202B_202A_202D_206C_206B_202E_200E_200C_200F_206E_202A_200D_206A_200B_202D_200C_202C_206D_200C_202E(); - _202C_202E_200D_202C_200D_206E_202A_200F_202C_200C_200F_200D_206D_202A_202B_202A_206B_206C_202B_206A_206C_202E_200F_200C_206D_202E_202D_206A_202A_206A_202C_206C_200C_206A_206E_202E_206A_202C_202B_206E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1120730526)); - _202C_202E_200D_202C_200D_206E_202A_200F_202C_200C_200F_200D_206D_202A_202B_202A_206B_206C_202B_206A_206C_202E_200F_200C_206D_202E_202D_206A_202A_206A_202C_206C_200C_206A_206E_202E_206A_202C_202B_206E_202E(builder, Emote.ToString()); - _202C_202E_200D_202C_200D_206E_202A_200F_202C_200C_200F_200D_206D_202A_202B_202A_206B_206C_202B_206A_206C_202E_200F_200C_206D_202E_202D_206A_202A_206A_202C_206C_200C_206A_206E_202E_206A_202C_202B_206E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1696435016)); - _202C_202E_200D_202C_200D_206E_202A_200F_202C_200C_200F_200D_206D_202A_202B_202A_206B_206C_202B_206A_206C_202E_200F_200C_206D_202E_202D_206A_202A_206A_202C_206C_200C_206A_206E_202E_206A_202C_202B_206E_202E(builder, DataId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(UseOnObject? other) - { - int num = (((object)this == other) ? 1765406967 : 1765406963); - while (true) - { - int num2 = num; - int num3 = 1765406965; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - return EqualityComparer.Default.Equals(DataId, other.DataId); - case 1: - num = ((!_200C_200B_202E_200E_202D_200C_200F_202B_202B_200B_206B_200B_206C_202D_206A_202A_200E_202B_206D_200D_206A_202D_200D_206D_200B_202A_206A_200E_202B_202E_206A_202D_206C_206B_200D_206D_202D_200D_200E_200E_202E(EqualityContract, other.EqualityContract)) ? 1765406965 : 1765406960); - break; - case 2: - return true; - case 0: - return false; - case 4: - num = 1765406963; - break; - case 5: - num = ((!EqualityComparer.Default.Equals(Emote, other.Emote)) ? 1765406965 : 1765406966); - break; - case 6: - num = (((object)other == null) ? 1765406965 : 1765406964); - break; - } - } - } - - bool IEquatable.Equals(UseOnObject? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206B_200D_206F_200D_206F_200C_202E_206A_202D_202E_200C_206E_206D_206D_202C_200D_202B_206D_200C_200C_200C_200E_206B_206C_202C_200D_206E_206F_206C_206D_206A_206E_206A_200F_202B_202E_206F_200B_206A_202C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _200B_200C_202B_202E_202C_200D_206C_206E_202C_202B_202C_202A_200C_200B_206B_202B_202A_200E_202E_200E_206B_202B_202A_202D_206C_206B_202E_200E_200C_200F_206E_202A_200D_206A_200B_202D_200C_202C_206D_200C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202C_202E_200D_202C_200D_206E_202A_200F_202C_200C_200F_200D_206D_202A_202B_202A_206B_206C_202B_206A_206C_202E_200F_200C_206D_202E_202D_206A_202A_206A_202C_206C_200C_206A_206E_202E_206A_202C_202B_206E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _200C_200B_202E_200E_202D_200C_200F_202B_202B_200B_206B_200B_206C_202D_206A_202A_200E_202B_206D_200D_206A_202D_200D_206D_200B_202A_206A_200E_202B_202E_206A_202D_206C_206B_200D_206D_202D_200D_200E_200E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"Emote({Emote} on {DataId})"; } } @@ -214,142 +61,35 @@ internal static class Emote protected override ETaskResult UpdateInternal() { - int num = (_emoteFired ? 594920649 : 594920652); - while (true) + if (!_emoteFired) { - int num2 = num; - int num3 = 594920655; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + if (Environment.TickCount64 < _retryAt) { - case 0: - num = 594920652; - break; - case 5: - _emoteFired = chatFunctions.UseEmote(base.Task.DataId, base.Task.Emote); - _retryAt = _200E_206B_200E_206D_200B_200D_202C_200F_202D_200F_202A_200F_206A_206D_206B_200D_206D_206A_202C_202D_200E_200C_202D_206A_206B_202C_200F_206A_200D_202B_200F_200D_200B_206B_202E_200E_206B_206F_200D_202B_202E() + 1000; return ETaskResult.StillRunning; - case 1: - { - int attempts = _attempts; - num3 = 1; - num4 = attempts; - _attempts = (num4 | num3) + (num4 & num3); - num = ((_attempts <= 10) ? 594920650 : 594920653); - break; } - case 3: - num = ((_200E_206B_200E_206D_200B_200D_202C_200F_202D_200F_202A_200F_206A_206D_206B_200D_206D_206A_202C_202D_200E_200C_202D_206A_206B_202C_200F_206A_200D_202B_200F_200D_200B_206B_202E_200E_206B_206F_200D_202B_202E() >= _retryAt) ? 594920654 : 594920651); - break; - case 2: + _attempts++; + if (_attempts > 10) + { return ETaskResult.RetryStep; - case 6: - return ETaskResult.TaskComplete; - case 4: - return ETaskResult.StillRunning; } + _emoteFired = chatFunctions.UseEmote(base.Task.DataId, base.Task.Emote); + _retryAt = Environment.TickCount64 + 1000; + return ETaskResult.StillRunning; } + return ETaskResult.TaskComplete; } public override bool ShouldInterruptOnDamage() { return true; } - - static long _200E_206B_200E_206D_200B_200D_202C_200F_202D_200F_202A_200F_206A_206D_206B_200D_206D_206A_202C_202D_200E_200C_202D_206A_206B_202C_200F_206A_200D_202B_200F_200D_200B_206B_202E_200E_206B_206F_200D_202B_202E() - { - return Environment.TickCount64; - } } internal sealed record UseOnSelf(EEmote Emote) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202B_202C_202A_202E_206A_202B_202A_206E_206D_206F_206C_206D_202E_202C_206F_202A_202E_206D_200D_206B_202C_206F_202E_206A_202C_206C_200C_200E_202E_206C_206E_200B_206E_206A_206B_206B_202B_200F_202C_206E_202E(typeof(UseOnSelf).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(7, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-683666426)); - defaultInterpolatedStringHandler.AppendFormatted(Emote); - defaultInterpolatedStringHandler.AppendLiteral(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(444206578)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206F_202B_200C_202E_202C_206C_206A_200B_200D_200D_202E_200B_200D_202A_200C_206A_200E_206F_200B_206A_206C_202E_202A_206F_206D_200F_206C_206E_206A_200F_202A_202A_206D_206F_202B_200B_206F_206E_206B_202C_202E(); - _202C_200C_202A_200B_202A_206E_206B_202E_202B_202C_200D_202B_206E_200F_200F_202E_200C_200E_206F_206B_200C_206A_200E_200F_206A_206E_206D_202C_200B_200B_206F_202B_206B_202A_200D_206E_202A_206B_206C_206A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1730990163)); - _202C_200C_202A_200B_202A_206E_206B_202E_202B_202C_200D_202B_206E_200F_200F_202E_200C_200E_206F_206B_200C_206A_200E_200F_206A_206E_206D_202C_200B_200B_206F_202B_206B_202A_200D_206E_202A_206B_206C_206A_202E(builder, Emote.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(UseOnSelf? other) - { - int num = (((object)this == other) ? 748944123 : 748944126); - while (true) - { - int num2 = num; - int num3 = 748944127; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - return EqualityComparer.Default.Equals(Emote, other.Emote); - case 2: - num = ((!_202A_200B_206A_202D_206D_202E_206C_206E_200B_202C_202D_206C_206B_200D_202D_200B_202D_206D_200D_200C_206F_206B_202A_200C_202B_206A_200B_206B_206F_206C_200F_200E_200C_206D_206A_200C_202B_202A_206C_206B_202E(EqualityContract, other.EqualityContract)) ? 748944124 : 748944122); - break; - case 4: - return true; - case 0: - num = 748944126; - break; - case 3: - return false; - case 1: - num = (((object)other == null) ? 748944124 : 748944125); - break; - } - } - } - - bool IEquatable.Equals(UseOnSelf? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202B_202C_202A_202E_206A_202B_202A_206E_206D_206F_206C_206D_202E_202C_206F_202A_202E_206D_200D_206B_202C_206F_202E_206A_202C_206C_200C_200E_202E_206C_206E_200B_206E_206A_206B_206B_202B_200F_202C_206E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _206F_202B_200C_202E_202C_206C_206A_200B_200D_200D_202E_200B_200D_202A_200C_206A_200E_206F_200B_206A_206C_202E_202A_206F_206D_200F_206C_206E_206A_200F_202A_202A_206D_206F_202B_200B_206F_206E_206B_202C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202C_200C_202A_200B_202A_206E_206B_202E_202B_202C_200D_202B_206E_200F_200F_202E_200C_200E_206F_206B_200C_206A_200E_200F_206A_206E_206D_202C_200B_200B_206F_202B_206B_202A_200D_206E_202A_206B_206C_206A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _202A_200B_206A_202D_206D_202E_206C_206E_200B_202C_202D_206C_206B_200D_202D_200B_202D_206D_200D_200C_206F_206B_202A_200C_202B_206A_200B_206B_206F_206C_200F_200E_200C_206D_206A_200C_202B_202A_206C_206B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"Emote({Emote})"; } } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/EquipItem.cs b/Questionable/Questionable.Controller.Steps.Interactions/EquipItem.cs index 7df1dab..53681d8 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/EquipItem.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/EquipItem.cs @@ -1,10 +1,7 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Linq; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -using System.Text; using Dalamud.Game.Text.SeStringHandling; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; @@ -22,135 +19,22 @@ internal static class EquipItem { internal sealed class Factory : SimpleTaskFactory { - [MethodImpl(MethodImplOptions.NoInlining)] public override ITask? CreateTask(Questionable.Model.Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((_206E_202C_202B_206E_202A_200F_200F_200D_206D_200B_202E_206B_200D_200E_200E_206A_202A_200D_202D_202B_206A_202B_206A_206A_206E_206C_202E_206E_200E_206A_206F_206C_200E_202B_206D_202D_202A_202A_206E_206F_202E(step) == EInteractionType.EquipItem) ? (-1960316662) : (-1960316663)); - while (true) + if (step.InteractionType != EInteractionType.EquipItem) { - int num2 = num; - int num3 = -1960316664; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - _200C_206A_206A_206C_202C_206E_200B_202D_200E_206C_202B_206A_206F_206C_206C_202E_202C_206A_206C_200B_206D_206F_200F_202D_206A_202C_206F_206B_202A_202D_200C_206B_202E_200F_206C_200E_202A_202C_206C_202A_202E((object)_206A_202C_206D_200D_202B_206E_200B_206A_206E_206F_202D_200E_202E_206E_200B_202C_202B_202D_200F_202B_206B_202E_202C_200C_202B_202C_206A_206C_202C_206F_206F_206E_200C_206E_206B_206A_206C_202D_206E_200E_202E(step), 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(775023194)); - return new Task(_206A_202C_206D_200D_202B_206E_200B_206A_206E_206F_202D_200E_202E_206E_200B_202C_202B_202D_200F_202B_206B_202E_202C_200C_202B_202C_206A_206C_202C_206F_206F_206E_200C_206E_206B_206A_206C_202D_206E_200E_202E(step).Value); - case 1: - return null; - case 0: - goto IL_0078; - } - continue; - IL_0078: - num = -1960316663; + return null; } - } - - static EInteractionType _206E_202C_202B_206E_202A_200F_200F_200D_206D_200B_202E_206B_200D_200E_200E_206A_202A_200D_202D_202B_206A_202B_206A_206A_206E_206C_202E_206E_200E_206A_206F_206C_200E_202B_206D_202D_202A_202A_206E_206F_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static uint? _206A_202C_206D_200D_202B_206E_200B_206A_206E_206F_202D_200E_202E_206E_200B_202C_202B_202D_200F_202B_206B_202E_202C_200C_202B_202C_206A_206C_202C_206F_206F_206E_200C_206E_206B_206A_206C_202D_206E_200E_202E(QuestStep P_0) - { - return P_0.ItemId; - } - - static void _200C_206A_206A_206C_202C_206E_200B_202D_200E_206C_202B_206A_206F_206C_206C_202E_202C_206A_206C_200B_206D_206F_200F_202D_206A_202C_206F_206B_202A_202D_200C_206B_202E_200F_206C_200E_202A_202C_206C_202A_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); + ArgumentNullException.ThrowIfNull(step.ItemId, "step.ItemId"); + return new Task(step.ItemId.Value); } } internal sealed record Task(uint ItemId) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202A_200B_202C_202C_206F_200C_202E_202A_200E_206E_206A_206F_206F_200E_206D_200B_206D_200B_206C_202C_206F_206E_206E_206A_202B_206D_206D_206C_200E_206F_200E_206D_200E_200B_206A_200C_206F_202B_200C_200C_202E(typeof(Task).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(7, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1269144091)); - defaultInterpolatedStringHandler.AppendFormatted(ItemId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206B_200F_206D_206D_206A_206A_206D_206F_202C_202D_206E_200D_200C_206D_200E_202B_206A_206F_200C_206F_202A_200E_202D_202E_202B_202E_206B_202C_200C_206C_202D_202A_206A_206C_202B_206A_202C_200D_206A_200E_202E(); - _206D_206A_202E_202A_206E_202D_200C_206C_206E_202D_202B_200E_202C_202B_206C_206C_206C_200F_206A_206F_200E_206C_206D_202A_200E_200B_206F_202C_202D_202D_202A_206E_206B_200D_200E_206F_202A_202A_202C_202A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1149877868)); - _206D_206A_202E_202A_206E_202D_200C_206C_206E_202D_202B_200E_202C_202B_206C_206C_206C_200F_206A_206F_200E_206C_206D_202A_200E_200B_206F_202C_202D_202D_202A_206E_206B_200D_200E_206F_202A_202A_202C_202A_202E(builder, ItemId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(Task? other) - { - int num = (((object)this == other) ? 916478318 : 916478314); - while (true) - { - int num2 = num; - int num3 = 916478319; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - return EqualityComparer.Default.Equals(ItemId, other.ItemId); - case 5: - num = (((object)other == null) ? 916478317 : 916478319); - break; - case 3: - num = 916478314; - break; - case 2: - return false; - case 0: - num = ((!_206C_200B_202B_200E_202A_206E_206A_206B_200B_202D_206E_200B_200B_206D_206E_200F_202C_206C_200F_200F_202D_202D_206A_206B_200F_206A_202E_200E_202C_206B_202E_200E_206B_200D_202C_200F_202C_200E_200B_206F_202E(EqualityContract, other.EqualityContract)) ? 916478317 : 916478315); - break; - case 1: - return true; - } - } - } - - bool IEquatable.Equals(Task? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202A_200B_202C_202C_206F_200C_202E_202A_200E_206E_206A_206F_206F_200E_206D_200B_206D_200B_206C_202C_206F_206E_206E_206A_202B_206D_206D_206C_200E_206F_200E_206D_200E_200B_206A_200C_206F_202B_200C_200C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _206B_200F_206D_206D_206A_206A_206D_206F_202C_202D_206E_200D_200C_206D_200E_202B_206A_206F_200C_206F_202A_200E_202D_202E_202B_202E_206B_202C_200C_206C_202D_202A_206A_206C_202B_206A_202C_200D_206A_200E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206D_206A_202E_202A_206E_202D_200C_206C_206E_202D_202B_200E_202C_202B_206C_206C_206C_200F_206A_206F_200E_206C_206D_202A_200E_200B_206F_202C_202D_202D_202A_206E_206B_200D_200E_206F_202A_202A_202C_202A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _206C_200B_202B_200E_202A_206E_206A_206B_200B_202D_206E_200B_200B_206D_206E_200F_202C_206C_200F_200F_202D_202D_206A_206B_200F_206A_202E_200E_202C_206B_202E_200E_206B_200D_202C_200F_202C_200E_200B_206F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"Equip({ItemId})"; } } @@ -158,7 +42,25 @@ internal static class EquipItem { private const int MaxAttempts = 3; - private static readonly IReadOnlyList SourceInventoryTypes; + private static readonly IReadOnlyList SourceInventoryTypes = new global::_003C_003Ez__ReadOnlyArray(new InventoryType[16] + { + InventoryType.ArmoryMainHand, + InventoryType.ArmoryOffHand, + InventoryType.ArmoryHead, + InventoryType.ArmoryBody, + InventoryType.ArmoryHands, + InventoryType.ArmoryLegs, + InventoryType.ArmoryFeets, + InventoryType.ArmoryEar, + InventoryType.ArmoryNeck, + InventoryType.ArmoryWrist, + InventoryType.ArmoryRings, + InventoryType.ArmorySoulCrystal, + InventoryType.Inventory1, + InventoryType.Inventory2, + InventoryType.Inventory3, + InventoryType.Inventory4 + }); private int _attempts; @@ -168,390 +70,144 @@ internal static class EquipItem private long _continueAt = long.MaxValue; - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { - _item = ((ItemHandle)base.Task.ItemId).GetRow(dataManager) ?? throw _202D_206F_200D_200B_200E_200F_200C_200F_206A_200C_206E_202E_206F_202B_202B_200D_206B_200F_200B_206E_202A_200C_202B_202B_200F_206A_200F_202C_206F_206F_202C_200D_206F_206D_202B_206D_202A_206E_200F_206D_202E(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(-1077249422)); - _targetSlots = GetEquipSlot(_item) ?? throw _202C_202B_200C_200E_206C_200C_206A_206A_206E_202D_200E_206D_202B_200F_206A_202C_202C_200C_206D_206E_202B_206A_200F_200F_200F_206C_200C_206C_200F_206C_200C_202C_206E_206F_202C_200C_206D_200D_200B_202A_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1196644281)); + _item = ((ItemHandle)base.Task.ItemId).GetRow(dataManager) ?? throw new ArgumentOutOfRangeException("ItemId"); + _targetSlots = GetEquipSlot(_item) ?? throw new InvalidOperationException("Not a piece of equipment"); Equip(); - _continueAt = _206D_202E_200E_200D_202A_206E_200E_200E_200F_206C_206F_206F_200F_200C_200D_206D_202A_206A_206C_206F_200E_206F_200F_206C_206F_202D_200D_202E_202E_202B_202C_206A_202D_206E_200C_206A_200B_206E_206D_206A_202E() + 1000; + _continueAt = Environment.TickCount64 + 1000; return true; } public override ETaskResult Update() { - int num = ((_206D_202E_200E_200D_202A_206E_200E_200E_200F_206C_206F_206F_200F_200C_200D_206D_202A_206A_206C_206F_200E_206F_200F_206C_206F_202D_200D_202E_202E_202B_202C_206A_202D_206E_200C_206A_200B_206E_206D_206A_202E() >= _continueAt) ? (-1725394015) : (-1725394009)); - while (true) + if (Environment.TickCount64 < _continueAt) { - int num2 = num; - int num3 = -1725394013; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = ((!_200B_206F_200E_202D_200D_206A_202C_200F_202E_206D_206A_206D_202A_200C_202C_206B_200D_206E_200E_202D_202B_200F_202C_206A_202B_202C_202A_200E_206A_200D_206C_206C_202E_202E_200C_202E_206F_202C_200B_206E_202E(base.Task.ItemId)) ? (-1725394014) : (-1725394016)); - break; - case 4: - return ETaskResult.StillRunning; - case 3: - return ETaskResult.TaskComplete; - case 0: - num = -1725394009; - break; - case 1: - Equip(); - _continueAt = _206D_202E_200E_200D_202A_206E_200E_200E_200F_206C_206F_206F_200F_200C_200D_206D_202A_206A_206C_206F_200E_206F_200F_206C_206F_202D_200D_202E_202E_202B_202C_206A_202D_206E_200C_206A_200B_206E_206D_206A_202E() + 1000; - return ETaskResult.StillRunning; - } + return ETaskResult.StillRunning; } + if (InventoryHelper.IsItemEquipped(base.Task.ItemId)) + { + return ETaskResult.TaskComplete; + } + Equip(); + _continueAt = Environment.TickCount64 + 1000; + return ETaskResult.StillRunning; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void Equip() { - int attempts = _attempts; - int num = 1; - int num2 = attempts; - _attempts = (num2 | num) + (num2 & num); - int num3 = ((_attempts <= 3) ? 2032675570 : 2032675573); - InventoryManager* inventoryManager = default(InventoryManager*); - ushort num11 = default(ushort); - InventoryContainer* inventoryContainer = default(InventoryContainer*); - InventoryType current = default(InventoryType); - InventoryItem* inventorySlot = default(InventoryItem*); - while (true) + _attempts++; + if (_attempts > 3) { - int num4 = num3; - num = 2032675575; - num2 = num4; - int num5 = num2 + num; - int num6 = num2 & num; - switch (num5 - (num6 + num6)) + throw new TaskException("Unable to equip gear."); + } + InventoryManager* inventoryManager = InventoryManager.Instance(); + if (inventoryManager == null) + { + return; + } + if (InventoryHelper.IsItemEquipped(base.Task.ItemId)) + { + logger.LogDebug("Already equipped {Item}, skipping step", _item?.Name.ToString()); + return; + } + foreach (InventoryType sourceInventoryType in SourceInventoryTypes) + { + InventoryContainer* inventoryContainer = inventoryManager->GetInventoryContainer(sourceInventoryType); + if (inventoryContainer == null) { - case 0: - num3 = 2032675573; - break; - case 4: - num3 = ((!_200B_206F_200E_202D_200D_206A_202C_200F_202E_206D_206A_206D_202A_200C_202C_206B_200D_206E_200E_202D_202B_200F_202C_206A_202B_202C_202A_200E_206A_200D_206C_206C_202E_202E_200C_202E_206F_202C_200B_206E_202E(base.Task.ItemId)) ? 2032675572 : 2032675569); - break; - case 6: - _206C_206A_200D_200F_200F_202A_200B_206A_200C_206E_200E_200C_206D_200E_202B_206A_206C_202E_206D_206B_200D_206F_200B_202C_206C_200E_202A_200E_202C_202E_206B_200D_200C_202B_206B_200F_200E_200D_202A_200F_202E((ILogger)logger, 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(764444822), new object[1] { _item?.Name.ToString() }); - return; - case 2: - throw new TaskException(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2089703109)); - case 1: - return; - case 5: - inventoryManager = InventoryManager.Instance(); - num3 = ((inventoryManager != null) ? 2032675571 : 2032675574); - break; - case 3: - { - IEnumerator enumerator = SourceInventoryTypes.GetEnumerator(); - try - { - num3 = -665926440; - while (true) - { - int num7 = num3; - num = -665926439; - num2 = num7; - int num8 = num2 + num; - int num9 = num2 & num; - switch (num8 - (num9 + num9)) - { - case 4: - num11 = 0; - num3 = -665926436; - break; - case 1: - num3 = (_206B_200C_206A_206B_206A_202D_206C_200F_206B_206A_206D_200F_200C_202B_200C_206B_202B_200B_200B_202E_200E_200B_200C_200B_202C_200F_206B_206D_200E_206C_206B_200B_200F_202E_200D_206F_200E_202A_200E_200D_202E((IEnumerator)enumerator) ? (-665926434) : (-665926439)); - break; - case 5: - num3 = ((num11 < inventoryContainer->Size) ? (-665926438) : (-665926440)); - break; - case 2: - { - ushort num14 = _targetSlots.Where(delegate(ushort x) - { - InventoryItem* inventorySlot2 = inventoryManager->GetInventorySlot(InventoryType.EquippedItems, x); - int num19 = ((inventorySlot2 == null) ? 1990589233 : 1990589234); - while (true) - { - int num20 = num19; - int num21 = 1990589232; - int num22 = num20; - int num23 = num22 + num21; - int num24 = num22 & num21; - switch (num23 - (num24 + num24)) - { - case 0: - goto IL_0057; - case 1: - return true; - case 2: - return inventorySlot2->ItemId == 0; - } - continue; - IL_0057: - num19 = 1990589234; - } - }).Concat(_targetSlots).First(); - _206C_206A_200D_200F_200F_202A_200B_206A_200C_206E_200E_200C_206D_200E_202B_206A_206C_202E_206D_206B_200D_206F_200B_202C_206C_200E_202A_200E_202C_202E_206B_200D_200C_202B_206B_200F_200E_200D_202A_200F_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2001963263), new object[4] - { - current, - num11, - InventoryType.EquippedItems, - num14 - }); - int num15 = inventoryManager->MoveItemSlot(current, num11, InventoryType.EquippedItems, num14, a6: true); - _206C_206A_200D_200F_200F_202A_200B_206A_200C_206E_200E_200C_206D_200E_202B_206A_206C_202E_206D_206B_200D_206F_200B_202C_206C_200E_202A_200E_202C_202E_206B_200D_200C_202B_206B_200F_200E_200D_202A_200F_202E((ILogger)logger, 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(1852506223), new object[1] { num15 }); - return; - } - case 9: - num3 = -665926440; - break; - case 6: - { - ushort num10 = num11; - num = 1; - num2 = num10; - int num12 = num2 ^ num; - int num13 = num2 & num; - num11 = (ushort)(num12 + (num13 + num13)); - num3 = -665926436; - break; - } - case 8: - num3 = ((inventorySlot->ItemId != base.Task.ItemId) ? (-665926433) : (-665926437)); - break; - case 3: - inventorySlot = inventoryContainer->GetInventorySlot(num11); - num3 = ((inventorySlot == null) ? (-665926433) : (-665926447)); - break; - case 7: - current = enumerator.Current; - inventoryContainer = inventoryManager->GetInventoryContainer(current); - num3 = ((inventoryContainer == null) ? (-665926440) : (-665926435)); - break; - case 0: - goto end_IL_0167; - } - continue; - end_IL_0167: - break; - } - } - finally - { - num3 = ((enumerator == null) ? (-1329874453) : (-1329874454)); - while (true) - { - int num16 = num3; - num = -1329874453; - num2 = num16; - int num17 = num2 + num; - int num18 = num2 & num; - switch (num17 - (num18 + num18)) - { - case 2: - num3 = -1329874454; - break; - case 0: - goto end_IL_03c4; - case 1: - _200F_206D_202E_206B_200E_206D_202C_206A_206C_200B_206D_202A_200F_202B_200C_206E_206C_200B_206D_202B_206F_202B_202B_206D_202B_202A_202A_200E_200C_202A_200E_202E_200C_202C_206A_202C_206C_200D_202C_202E_202E((IDisposable)enumerator); - num3 = -1329874453; - break; - } - continue; - end_IL_03c4: - break; - } - } - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(22, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-639221766)); - defaultInterpolatedStringHandler.AppendFormatted(base.Task.ItemId); - defaultInterpolatedStringHandler.AppendLiteral(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(-978038014)); - throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear()); + continue; } + for (ushort num = 0; num < inventoryContainer->Size; num++) + { + InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(num); + if (inventorySlot != null && inventorySlot->ItemId == base.Task.ItemId) + { + ushort num2 = _targetSlots.Where(delegate(ushort x) + { + InventoryItem* inventorySlot2 = inventoryManager->GetInventorySlot(InventoryType.EquippedItems, x); + return inventorySlot2 == null || inventorySlot2->ItemId == 0; + }).Concat(_targetSlots).First(); + logger.LogDebug("Equipping item from {SourceInventory}, {SourceSlot} to {TargetInventory}, {TargetSlot}", sourceInventoryType, num, InventoryType.EquippedItems, num2); + int num3 = inventoryManager->MoveItemSlot(sourceInventoryType, num, InventoryType.EquippedItems, num2, a6: true); + logger.LogDebug("MoveItemSlot result: {Result}", num3); + return; + } } } + throw new TaskException($"Could not equip item {base.Task.ItemId}."); } private static List? GetEquipSlot(Item? item) { - int num = (item.HasValue ? 1849291533 : 1849291535); - uint rowId = default(uint); - List result = default(List); - while (true) + if (!item.HasValue) { - int num2 = num; - int num3 = 1849291534; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - num = ((rowId == 12) ? 1849291532 : 1849291523); - break; - case 3: - rowId = item.Value.EquipSlotCategory.RowId; - num = ((rowId < 1) ? 1849291526 : 1849291524); - break; - case 12: - { - int num5 = 1; - List list4 = new List(num5); - CollectionsMarshal.SetCount(list4, num5); - CollectionsMarshal.AsSpan(list4)[0] = 13; - result = list4; - num = 1849291527; - break; - } - case 1: - return null; - case 11: - { - int num5 = 1; - List list2 = new List(num5); - CollectionsMarshal.SetCount(list2, num5); - CollectionsMarshal.AsSpan(list2)[0] = 0; - result = list2; - num = 1849291527; - break; - } - case 13: - num = ((rowId == 13) ? 1849291525 : 1849291528); - break; - case 10: - num = ((rowId <= 11) ? 1849291530 : 1849291531); - break; - case 4: - { - int num5 = 1; - List list3 = new List(num5); - CollectionsMarshal.SetCount(list3, num5); - CollectionsMarshal.AsSpan(list3)[0] = (ushort)(item.Value.EquipSlotCategory.RowId - 1); - result = list3; - num = 1849291527; - break; - } - case 7: - num = 1849291535; - break; - case 6: - num = ((rowId == 17) ? 1849291522 : 1849291534); - break; - case 0: - num = 1849291526; - break; - case 8: - result = null; - num = 1849291527; - break; - case 9: - return result; - case 2: - { - int num5 = 2; - List list = new List(num5); - CollectionsMarshal.SetCount(list, num5); - Span span = CollectionsMarshal.AsSpan(list); - span[0] = 11; - span[1] = 12; - result = list; - num = 1849291527; - break; - } - } + return null; + } + switch (item.Value.EquipSlotCategory.RowId) + { + case 1u: + case 2u: + case 3u: + case 4u: + case 5u: + case 6u: + case 7u: + case 8u: + case 9u: + case 10u: + case 11u: + { + int num = 1; + List list4 = new List(num); + CollectionsMarshal.SetCount(list4, num); + CollectionsMarshal.AsSpan(list4)[0] = (ushort)(item.Value.EquipSlotCategory.RowId - 1); + return list4; + } + case 12u: + { + int num = 2; + List list3 = new List(num); + CollectionsMarshal.SetCount(list3, num); + Span span = CollectionsMarshal.AsSpan(list3); + span[0] = 11; + span[1] = 12; + return list3; + } + case 13u: + { + int num = 1; + List list2 = new List(num); + CollectionsMarshal.SetCount(list2, num); + CollectionsMarshal.AsSpan(list2)[0] = 0; + return list2; + } + case 17u: + { + int num = 1; + List list = new List(num); + CollectionsMarshal.SetCount(list, num); + CollectionsMarshal.AsSpan(list)[0] = 13; + return list; + } + default: + return null; } } public bool OnErrorToast(SeString message) { string b = dataManager.GetString(709u, (LogMessage x) => x.Text); - int num = ((!GameFunctions.GameStringEquals(_200C_206D_206F_202A_202B_206F_202C_206F_206E_206D_202B_200D_202E_202D_202C_202D_202E_200B_206A_202E_200D_200F_206D_206A_206D_206F_206A_206A_202D_202A_206D_206D_200B_206A_206D_202B_206C_206A_202D_202D_202E(message), b)) ? 1240228835 : 1240228832); - while (true) + if (GameFunctions.GameStringEquals(message.TextValue, b)) { - int num2 = num; - int num3 = 1240228834; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1240228832; - break; - case 2: - _attempts = 3; - num = 1240228835; - break; - case 1: - return false; - } + _attempts = 3; } - } - - bool IToastAware.OnErrorToast(SeString message) - { - //ILSpy generated this explicit interface implementation from .override directive in OnErrorToast - return this.OnErrorToast(message); + return false; } public override bool ShouldInterruptOnDamage() { return true; } - - static DoEquip() - { - InventoryType[] array = new InventoryType[16]; - _206C_202D_200F_202E_200F_202A_200E_206A_206C_206E_202B_200D_202E_200C_206C_200F_200C_202C_202E_200D_200D_202E_200B_206E_202B_206E_202E_206C_206B_206D_200F_200F_206A_206A_200B_200F_200C_202B_202E_202C_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - SourceInventoryTypes = new global::_003C_003Ez__ReadOnlyArray(array); - } - - static ArgumentOutOfRangeException _202D_206F_200D_200B_200E_200F_200C_200F_206A_200C_206E_202E_206F_202B_202B_200D_206B_200F_200B_206E_202A_200C_202B_202B_200F_206A_200F_202C_206F_206F_202C_200D_206F_206D_202B_206D_202A_206E_200F_206D_202E(string P_0) - { - return new ArgumentOutOfRangeException(P_0); - } - - static InvalidOperationException _202C_202B_200C_200E_206C_200C_206A_206A_206E_202D_200E_206D_202B_200F_206A_202C_202C_200C_206D_206E_202B_206A_200F_200F_200F_206C_200C_206C_200F_206C_200C_202C_206E_206F_202C_200C_206D_200D_200B_202A_202E(string P_0) - { - return new InvalidOperationException(P_0); - } - - static long _206D_202E_200E_200D_202A_206E_200E_200E_200F_206C_206F_206F_200F_200C_200D_206D_202A_206A_206C_206F_200E_206F_200F_206C_206F_202D_200D_202E_202E_202B_202C_206A_202D_206E_200C_206A_200B_206E_206D_206A_202E() - { - return Environment.TickCount64; - } - - static bool _200B_206F_200E_202D_200D_206A_202C_200F_202E_206D_206A_206D_202A_200C_202C_206B_200D_206E_200E_202D_202B_200F_202C_206A_202B_202C_202A_200E_206A_200D_206C_206C_202E_202E_200C_202E_206F_202C_200B_206E_202E(uint P_0) - { - return InventoryHelper.IsItemEquipped(P_0); - } - - static void _206C_206A_200D_200F_200F_202A_200B_206A_200C_206E_200E_200C_206D_200E_202B_206A_206C_202E_206D_206B_200D_206F_200B_202C_206C_200E_202A_200E_202C_202E_206B_200D_200C_202B_206B_200F_200E_200D_202A_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _206B_200C_206A_206B_206A_202D_206C_200F_206B_206A_206D_200F_200C_202B_200C_206B_202B_200B_200B_202E_200E_200B_200C_200B_202C_200F_206B_206D_200E_206C_206B_200B_200F_202E_200D_206F_200E_202A_200E_200D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200F_206D_202E_206B_200E_206D_202C_206A_206C_200B_206D_202A_200F_202B_200C_206E_206C_200B_206D_202B_206F_202B_202B_206D_202B_202A_202A_200E_200C_202A_200E_202E_200C_202C_206A_202C_206C_200D_202C_202E_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static string _200C_206D_206F_202A_202B_206F_202C_206F_206E_206D_202B_200D_202E_202D_202C_202D_202E_200B_206A_202E_200D_200F_206D_206A_206D_206F_206A_206A_202D_202A_206D_206D_200B_206A_206D_202B_206C_206A_202D_202D_202E(SeString P_0) - { - return P_0.TextValue; - } - - static void _206C_202D_200F_202E_200F_202A_200E_206A_206C_206E_202B_200D_202E_200C_206C_200F_200C_202C_202E_200D_200D_202E_200B_206E_202B_206E_202E_206C_206B_206D_200F_200F_206A_206A_200B_200F_200C_202B_202E_202C_202E(Array P_0, RuntimeFieldHandle P_1) - { - RuntimeHelpers.InitializeArray(P_0, P_1); - } } } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/EquipRecommended.cs b/Questionable/Questionable.Controller.Steps.Interactions/EquipRecommended.cs index 3ccd781..e923791 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/EquipRecommended.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/EquipRecommended.cs @@ -1,8 +1,6 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Objects.SubKinds; using Dalamud.Game.ClientState.Objects.Types; @@ -13,7 +11,6 @@ using FFXIVClientStructs.Interop; using LLib.GameData; using LLib.Gear; using LLib.Inventory; -using Lumina.Excel; using Lumina.Excel.Sheets; using Questionable.Model; using Questionable.Model.Questing; @@ -26,32 +23,11 @@ internal static class EquipRecommended { public override ITask? CreateTask(Questionable.Model.Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((_200B_206C_206A_206C_202E_206C_200F_206E_202C_206B_200F_206C_202B_202D_200F_202D_206A_200B_200C_202D_206B_206D_206B_206A_202A_202D_206C_202B_202A_202B_206E_206B_202A_206F_200C_206B_206A_202A_206C_200C_202E(step) == EInteractionType.EquipRecommended) ? 2145116314 : 2145116313); - while (true) + if (step.InteractionType != EInteractionType.EquipRecommended) { - int num2 = num; - int num3 = 2145116312; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004a; - case 2: - return new EquipTask(); - case 1: - return null; - } - continue; - IL_004a: - num = 2145116313; + return null; } - } - - static EInteractionType _200B_206C_206A_206C_202E_206C_200F_206E_202C_206B_200F_206C_202B_202D_200F_202D_206A_200B_200C_202D_206B_206D_206B_206A_202A_202D_206C_202B_202A_202B_206E_206B_202A_206F_200C_206B_206A_202A_206C_200C_202E(QuestStep P_0) - { - return P_0.InteractionType; + return new EquipTask(); } } @@ -59,173 +35,41 @@ internal static class EquipRecommended { public override ITask? CreateTask(Questionable.Model.Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((_206C_202B_200D_200E_202E_200C_200B_202A_206D_202E_200B_202E_200C_206F_200B_202B_200D_200F_206E_200C_200F_206C_200D_206E_206F_206A_206C_202E_206B_200C_202B_200D_206E_206A_202A_206C_206C_202B_200F_200F_202E(step) == EInteractionType.Duty) ? 590292274 : 590292275); - while (true) + if (step.InteractionType != EInteractionType.Duty && step.InteractionType != EInteractionType.SinglePlayerDuty && step.InteractionType != EInteractionType.Combat) { - int num2 = num; - int num3 = 590292273; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - num = ((_206C_202B_200D_200E_202E_200C_200B_202A_206D_202E_200B_202E_200C_206F_200B_202B_200D_200F_206E_200C_200F_206C_200D_206E_206F_206A_206C_202E_206B_200C_202B_200D_206E_206A_202A_206C_206C_202B_200F_200F_202E(step) == EInteractionType.Combat) ? 590292274 : 590292273); - break; - case 2: - num = ((_206C_202B_200D_200E_202E_200C_200B_202A_206D_202E_200B_202E_200C_206F_200B_202B_200D_200F_206E_200C_200F_206C_200D_206E_206F_206A_206C_202E_206B_200C_202B_200D_206E_206A_202A_206C_206C_202B_200F_200F_202E(step) == EInteractionType.SinglePlayerDuty) ? 590292274 : 590292272); - break; - case 3: - return new EquipTask(); - case 0: - return null; - case 4: - num = 590292275; - break; - } + return null; } - } - - static EInteractionType _206C_202B_200D_200E_202E_200C_200B_202A_206D_202E_200B_202E_200C_206F_200B_202B_200D_200F_206E_200C_200F_206C_200D_206E_206F_206A_206C_202E_206B_200C_202B_200D_206E_206A_202A_206C_206C_202B_200F_200F_202E(QuestStep P_0) - { - return P_0.InteractionType; + return new EquipTask(); } } internal sealed class EquipTask : ITask { - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-223560380); + return "EquipRecommended"; } } internal sealed class DoEquipRecommended(IObjectTable objectTable, IChatGui chatGui, ICondition condition, IDataManager dataManager, Configuration configuration, BestItemFinder bestItemFinder) : TaskExecutor() { - private readonly record struct PendingMove(InventoryType SourceContainer, int SourceSlot, uint SourceItemId, InventoryType DestinationContainer, int DestinationSlot) - { - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202D_202D_206E_200E_200E_200F_202C_200D_206B_206B_200C_202E_206C_202E_200B_200F_206B_206A_206B_202C_202E_202A_200C_206E_200C_200E_206F_202B_202C_200B_206E_200F_206E_202D_200D_200B_200D_200E_206E_206F_202E(); - _200F_202C_206F_202D_202B_206B_202E_206D_206E_206A_200C_202E_202E_206E_202B_206E_206C_200C_202A_206E_202C_202A_200D_202D_206F_202B_200D_202D_202C_200C_206D_202A_202C_200E_206B_202D_206E_200D_206B_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-766310819)); - _200F_202C_206F_202D_202B_206B_202E_206D_206E_206A_200C_202E_202E_206E_202B_206E_206C_200C_202A_206E_202C_202A_200D_202D_206F_202B_200D_202D_202C_200C_206D_202A_202C_200E_206B_202D_206E_200D_206B_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(556540328)); - int num = ((!PrintMembers(stringBuilder)) ? (-916392380) : (-916392379)); - while (true) - { - int num2 = num; - int num3 = -916392380; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - _202D_200F_206A_206E_200F_200E_202A_202E_206E_206A_202C_202B_206A_202D_200C_202E_206A_206D_206E_200E_202C_206D_206F_206C_202E_202A_206C_206B_200C_202D_202A_202E_206C_200E_202C_200D_206C_200B_206F_206B_202E(stringBuilder, '}'); - return _202C_202A_200D_202B_206B_202A_202A_200E_200E_202D_200D_202B_200B_202E_206D_202C_200E_202A_206B_200C_202E_200B_200D_202D_206C_206A_206A_200D_202E_200E_200F_200F_202C_202B_200D_200C_200C_206D_200B_202C_202E((object)stringBuilder); - case 1: - _202D_200F_206A_206E_200F_200E_202A_202E_206E_206A_202C_202B_206A_202D_200C_202E_206A_206D_206E_200E_202C_206D_206F_206C_202E_202A_206C_206B_200C_202D_202A_202E_206C_200E_202C_200D_206C_200B_206F_206B_202E(stringBuilder, ' '); - num = -916392380; - break; - case 2: - num = -916392379; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200F_202C_206F_202D_202B_206B_202E_206D_206E_206A_200C_202E_202E_206E_202B_206E_206C_200C_202A_206E_202C_202A_200D_202D_206F_202B_200D_202D_202C_200C_206D_202A_202C_200E_206B_202D_206E_200D_206B_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(402998006)); - _200F_202C_206F_202D_202B_206B_202E_206D_206E_206A_200C_202E_202E_206E_202B_206E_206C_200C_202A_206E_202C_202A_200D_202D_206F_202B_200D_202D_202C_200C_206D_202A_202C_200E_206B_202D_206E_200D_206B_202E(builder, SourceContainer.ToString()); - _200F_202C_206F_202D_202B_206B_202E_206D_206E_206A_200C_202E_202E_206E_202B_206E_206C_200C_202A_206E_202C_202A_200D_202D_206F_202B_200D_202D_202C_200C_206D_202A_202C_200E_206B_202D_206E_200D_206B_202E(builder, 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(-147608127)); - _200F_202C_206F_202D_202B_206B_202E_206D_206E_206A_200C_202E_202E_206E_202B_206E_206C_200C_202A_206E_202C_202A_200D_202D_206F_202B_200D_202D_202C_200C_206D_202A_202C_200E_206B_202D_206E_200D_206B_202E(builder, SourceSlot.ToString()); - _200F_202C_206F_202D_202B_206B_202E_206D_206E_206A_200C_202E_202E_206E_202B_206E_206C_200C_202A_206E_202C_202A_200D_202D_206F_202B_200D_202D_202C_200C_206D_202A_202C_200E_206B_202D_206E_200D_206B_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(45308124)); - _200F_202C_206F_202D_202B_206B_202E_206D_206E_206A_200C_202E_202E_206E_202B_206E_206C_200C_202A_206E_202C_202A_200D_202D_206F_202B_200D_202D_202C_200C_206D_202A_202C_200E_206B_202D_206E_200D_206B_202E(builder, SourceItemId.ToString()); - _200F_202C_206F_202D_202B_206B_202E_206D_206E_206A_200C_202E_202E_206E_202B_206E_206C_200C_202A_206E_202C_202A_200D_202D_206F_202B_200D_202D_202C_200C_206D_202A_202C_200E_206B_202D_206E_200D_206B_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(223423418)); - _200F_202C_206F_202D_202B_206B_202E_206D_206E_206A_200C_202E_202E_206E_202B_206E_206C_200C_202A_206E_202C_202A_200D_202D_206F_202B_200D_202D_202C_200C_206D_202A_202C_200E_206B_202D_206E_200D_206B_202E(builder, DestinationContainer.ToString()); - _200F_202C_206F_202D_202B_206B_202E_206D_206E_206A_200C_202E_202E_206E_202B_206E_206C_200C_202A_206E_202C_202A_200D_202D_206F_202B_200D_202D_202C_200C_206D_202A_202C_200E_206B_202D_206E_200D_206B_202E(builder, 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(-175990381)); - _200F_202C_206F_202D_202B_206B_202E_206D_206E_206A_200C_202E_202E_206E_202B_206E_206C_200C_202A_206E_202C_202A_200D_202D_206F_202B_200D_202D_202C_200C_206D_202A_202C_200E_206B_202D_206E_200D_206B_202E(builder, DestinationSlot.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(PendingMove other) - { - int num = ((!EqualityComparer.Default.Equals(SourceContainer, other.SourceContainer)) ? (-560770928) : (-560770925)); - while (true) - { - int num2 = num; - int num3 = -560770928; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = -560770925; - break; - case 2: - num = ((!EqualityComparer.Default.Equals(DestinationContainer, other.DestinationContainer)) ? (-560770928) : (-560770923)); - break; - case 0: - return false; - case 1: - num = ((!EqualityComparer.Default.Equals(SourceItemId, other.SourceItemId)) ? (-560770928) : (-560770926)); - break; - case 3: - num = ((!EqualityComparer.Default.Equals(SourceSlot, other.SourceSlot)) ? (-560770928) : (-560770927)); - break; - case 5: - return EqualityComparer.Default.Equals(DestinationSlot, other.DestinationSlot); - } - } - } - - bool IEquatable.Equals(PendingMove other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _202D_202D_206E_200E_200E_200F_202C_200D_206B_206B_200C_202E_206C_202E_200B_200F_206B_206A_206B_202C_202E_202A_200C_206E_200C_200E_206F_202B_202C_200B_206E_200F_206E_202D_200D_200B_200D_200E_206E_206F_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200F_202C_206F_202D_202B_206B_202E_206D_206E_206A_200C_202E_202E_206E_202B_206E_206C_200C_202A_206E_202C_202A_200D_202D_206F_202B_200D_202D_202C_200C_206D_202A_202C_200E_206B_202D_206E_200D_206B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202D_200F_206A_206E_200F_200E_202A_202E_206E_206A_202C_202B_206A_202D_200C_202E_206A_206D_206E_200E_202C_206D_206F_206C_202E_202A_206C_206B_200C_202D_202A_202E_206C_200E_202C_200D_206C_200B_206F_206B_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202C_202A_200D_202B_206B_202A_202A_200E_200E_202D_200D_202B_200B_202E_206D_202C_200E_202A_206B_200C_202E_200B_200D_202D_206C_206A_206A_200D_202E_200E_200F_200F_202C_202B_200D_200C_200C_206D_200B_202C_202E(object P_0) - { - return P_0.ToString(); - } - } + private readonly record struct PendingMove(InventoryType SourceContainer, int SourceSlot, uint SourceItemId, InventoryType DestinationContainer, int DestinationSlot); private static readonly (string Name, uint[] Categories)[] SlotMap = new(string, uint[])[13] { - (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(1721146867), new uint[2] { 1u, 13u }), - (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(105879929), new uint[1] { 2u }), - (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(-1559165310), new uint[1] { 3u }), - (global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1871824440), new uint[1] { 4u }), - (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(806048350), new uint[1] { 5u }), - (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(1506216771), Array.Empty()), - (global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1490430716), new uint[1] { 7u }), - (global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-136195547), new uint[1] { 8u }), - (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(-1065647700), new uint[1] { 9u }), - (global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1628747569), new uint[1] { 10u }), - (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(-952953659), new uint[1] { 11u }), - (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(639236081), new uint[1] { 12u }), - (global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1934160350), new uint[1] { 12u }) + ("MainHand", new uint[2] { 1u, 13u }), + ("OffHand", new uint[1] { 2u }), + ("Head", new uint[1] { 3u }), + ("Body", new uint[1] { 4u }), + ("Hands", new uint[1] { 5u }), + ("Belt", Array.Empty()), + ("Legs", new uint[1] { 7u }), + ("Feet", new uint[1] { 8u }), + ("Ears", new uint[1] { 9u }), + ("Neck", new uint[1] { 10u }), + ("Wrists", new uint[1] { 11u }), + ("Ring1", new uint[1] { 12u }), + ("Ring2", new uint[1] { 12u }) }; private const long EquipApplyTimeoutMs = 5000L; @@ -254,487 +98,222 @@ internal static class EquipRecommended protected unsafe override bool Start() { - int num = ((configuration.General.EquipMode != Configuration.EEquipMode.Disabled) ? 244763499 : 244763502); - IPlayerCharacter playerCharacter = default(IPlayerCharacter); - while (true) + if (configuration.General.EquipMode == Configuration.EEquipMode.Disabled) { - int num2 = num; - int num3 = 244763503; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _useSmart = false; - RecommendEquipModule.Instance()->SetupForClassJob((byte)_200F_202D_202B_200C_200F_206F_206B_200E_206C_200E_206C_206A_202B_200C_206A_206D_200E_200C_202C_206F_200D_200C_200D_206A_202C_200F_206A_202C_200B_202E_200D_206B_206F_202B_202A_206B_202A_200F_202B_206E_202E((ICharacter)playerCharacter).RowId); - return true; - case 1: - return false; - case 4: - num = ((!_206D_206D_206B_200F_200F_202D_206F_200C_206E_200E_200B_202A_206F_206D_206D_202A_200F_206C_200C_200C_200B_202A_200C_206B_202C_200B_206F_200D_200E_200B_206C_206C_206E_200B_200D_202D_202C_200C_206D_202A_202E(condition, ConditionFlag.InCombat)) ? 244763498 : 244763496); - break; - case 2: - return false; - case 9: - _useSmart = configuration.General.EquipMode == Configuration.EEquipMode.Smart; - num = ((!_useSmart) ? 244763503 : 244763495); - break; - case 6: - return true; - case 3: - num = 244763502; - break; - case 5: - playerCharacter = _200D_206A_206B_200E_202A_206A_206E_202D_200C_202E_200F_202B_202D_206F_200F_200E_200F_202C_206E_206E_202A_206F_206E_200D_200C_202E_206B_200E_206C_202B_202C_206A_202E_202A_206B_200D_206E_202A_202C_202E(objectTable); - num = ((playerCharacter != null) ? 244763494 : 244763501); - break; - case 8: - num = ((!TrySmartStart(playerCharacter)) ? 244763503 : 244763497); - break; - case 7: - return false; - } + return false; } + if (condition[ConditionFlag.InCombat]) + { + return false; + } + IPlayerCharacter localPlayer = objectTable.LocalPlayer; + if (localPlayer == null) + { + return false; + } + _useSmart = configuration.General.EquipMode == Configuration.EEquipMode.Smart; + if (_useSmart && TrySmartStart(localPlayer)) + { + return true; + } + _useSmart = false; + RecommendEquipModule.Instance()->SetupForClassJob((byte)localPlayer.ClassJob.RowId); + return true; } public override ETaskResult Update() { - int num = ((!_useSmart) ? 210203164 : 210203167); - while (true) + if (_useSmart) { - int num2 = num; - int num3 = 210203166; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0048; - case 1: - return SmartUpdate(); - case 2: - return GameUpdate(); - } - continue; - IL_0048: - num = 210203167; + return SmartUpdate(); } + return GameUpdate(); } private unsafe bool TrySmartStart(ICharacter localPlayer) { - uint rowId = _200F_202D_202B_200C_200F_206F_206B_200E_206C_200E_206C_206A_202B_200C_206A_206D_200E_200C_202C_206F_200D_200C_200D_206A_202C_200F_206A_202C_200B_202E_200D_206B_206F_202B_202A_206B_202A_200F_202B_206E_202E(localPlayer).RowId; - int num = (_202D_206A_200D_202E_202D_206B_202E_200D_202E_206D_202A_202B_200B_206D_206B_206E_206C_202B_206A_206C_202A_206D_202A_202C_200E_200B_200F_202A_206A_200C_206E_202C_202B_200B_200F_206D_200C_206B_202A_200C_202E(_206B_206D_202E_200C_202C_202A_200F_206F_206B_200D_202A_206E_206D_206A_206C_202D_200F_200C_202C_206E_202E_200B_200F_202A_200F_202D_202E_200E_200D_202D_206C_202E_206E_206F_202D_206B_202D_202A_200F_200D_202E(typeof(EClassJob).TypeHandle), (object)rowId) ? 85530533 : 85530531); - int currentGearsetIndex = default(int); - RaptureGearsetModule* ptr = default(RaptureGearsetModule*); - while (true) + uint rowId = localPlayer.ClassJob.RowId; + if (!Enum.IsDefined(typeof(EClassJob), rowId)) { - int num2 = num; - int num3 = 85530532; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - currentGearsetIndex = ptr->CurrentGearsetIndex; - num = ((currentGearsetIndex < 0) ? 85530529 : 85530541); - break; - case 2: - return false; - case 5: - return false; - case 9: - num = (ptr->IsValidGearset(currentGearsetIndex) ? 85530540 : 85530529); - break; - case 1: - ptr = RaptureGearsetModule.Instance(); - num = ((ptr != null) ? 85530530 : 85530534); - break; - case 8: - { - EClassJob eClassJob = (EClassJob)rowId; - StatPriority priority = _202B_200D_200C_206E_206D_206D_206D_202C_200F_206D_202D_202D_206D_200B_206A_202C_200C_200C_206F_202D_200C_200D_202D_206D_206B_200E_202B_206B_202B_202D_206E_202A_206F_206D_206B_200D_202C_200F_202D_206B_202E(eClassJob); - byte playerLevel = GetPlayerLevel(eClassJob); - RaptureGearsetModule.GearsetEntry* entry = (RaptureGearsetModule.GearsetEntry*)Unsafe.AsPointer(in ptr->Entries[currentGearsetIndex]); - num = (TryComputeUpgradesAndMoves(eClassJob, priority, playerLevel, entry, out _smartUpgrades, out _smartMoves) ? 85530535 : 85530528); - break; - } - case 0: - num = 85530531; - break; - case 4: - _smartUpgrades = null; - _smartMoves = null; - return false; - case 7: - return false; - case 3: - _smartMoveCursor = 0; - _currentMoveStarted = false; - return true; - } + return false; } + RaptureGearsetModule* ptr = RaptureGearsetModule.Instance(); + if (ptr == null) + { + return false; + } + int currentGearsetIndex = ptr->CurrentGearsetIndex; + if (currentGearsetIndex < 0 || !ptr->IsValidGearset(currentGearsetIndex)) + { + return false; + } + EClassJob job = (EClassJob)rowId; + StatPriority priority = StatPriority.ForJob(job); + byte playerLevel = GetPlayerLevel(job); + RaptureGearsetModule.GearsetEntry* entry = (RaptureGearsetModule.GearsetEntry*)Unsafe.AsPointer(in ptr->Entries[currentGearsetIndex]); + if (!TryComputeUpgradesAndMoves(job, priority, playerLevel, entry, out _smartUpgrades, out _smartMoves)) + { + _smartUpgrades = null; + _smartMoves = null; + return false; + } + _smartMoveCursor = 0; + _currentMoveStarted = false; + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] private ETaskResult SmartUpdate() { List smartMoves = _smartMoves; - int num = ((smartMoves == null) ? (-896452185) : (-896452172)); - PendingMove pendingMove = default(PendingMove); - List<(int, BestItemRef)> smartUpgrades2 = default(List<(int, BestItemRef)>); - List<(int, BestItemRef)> smartUpgrades = default(List<(int, BestItemRef)>); - while (true) + if (smartMoves != null && smartMoves.Count > 0 && _smartMoveCursor < smartMoves.Count) { - int num2 = num; - int num3 = -896452186; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + PendingMove pendingMove = smartMoves[_smartMoveCursor]; + if (!_currentMoveStarted) { - case 24: - num = ((_smartUpgrades == null) ? (-896452182) : (-896452184)); - break; - case 15: - pendingMove = smartMoves[_smartMoveCursor]; - num = (_currentMoveStarted ? (-896452175) : (-896452191)); - break; - case 27: - { - IChatGui chatGui2 = chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(35, 1); - defaultInterpolatedStringHandler2.AppendLiteral(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(1393568432)); - defaultInterpolatedStringHandler2.AppendFormatted(smartUpgrades2.Count); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(583340872)); - _206B_206D_200F_206D_202E_200F_206C_206C_206E_206F_202E_206F_206C_206A_202A_202C_202D_200C_200D_206F_200C_206A_202E_200D_200C_200F_202E_200C_200D_206D_200F_202C_202D_206B_202C_206D_202D_202D_200B_206F_202E(chatGui2, defaultInterpolatedStringHandler2.ToStringAndClear(), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - ApplyUpgrades(smartUpgrades2); - _timeoutAt = _202E_206B_200E_200C_200B_200B_202E_206C_206F_206C_206F_200F_206E_202A_206F_206B_202E_202C_206D_206D_206D_202E_202D_202B_200C_206C_200F_206E_206E_206F_200F_206F_200C_206B_202C_206F_200D_206F_206D_200C_202E() + 5000; - num = -896452188; - break; - } - case 5: - { - IChatGui chatGui = chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(43, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(646015485)); - int smartMoveCursor = _smartMoveCursor; - num3 = 1; - num4 = smartMoveCursor; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - defaultInterpolatedStringHandler.AppendFormatted(num7 + (num8 + num8)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1680133376)); - defaultInterpolatedStringHandler.AppendFormatted(smartMoves.Count); - defaultInterpolatedStringHandler.AppendLiteral(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(-1426065974)); - _206B_206D_200F_206D_202E_200F_206C_206C_206E_206F_202E_206F_206C_206A_202A_202C_202D_200C_200D_206F_200C_206A_202E_200D_200C_200F_202E_200C_200D_206D_200F_202C_202D_206B_202C_206D_202D_202D_200B_206F_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - return ETaskResult.TaskComplete; - } - case 4: + if (!TryStartMove(pendingMove)) + { + chatGui.Print($"Equip move {_smartMoveCursor + 1}/{smartMoves.Count} rejected; skipping equip step.", "Questionable", 576); + return ETaskResult.TaskComplete; + } + _currentMoveStarted = true; + _timeoutAt = Environment.TickCount64 + 2000; return ETaskResult.StillRunning; - case 0: - num = ((_smartMoveCursor >= smartMoves.Count) ? (-896452185) : (-896452183)); - break; - case 1: - num = ((!configuration.General.PreserveGearset) ? (-896452178) : (-896452179)); - break; - case 7: - num = (TryStartMove(pendingMove) ? (-896452169) : (-896452189)); - break; - case 2: - _smartApplied = true; - return ETaskResult.StillRunning; - case 26: - num = ((_202E_206B_200E_200C_200B_200B_202E_206C_206F_206C_206F_200F_206E_202A_206F_206B_202E_202C_206D_206D_206D_202E_202D_202B_200C_206C_200F_206E_206E_206F_200F_206F_200C_206B_202C_206F_200D_206F_206D_200C_202E() >= _timeoutAt) ? (-896452171) : (-896452190)); - break; - case 16: - smartUpgrades = _smartUpgrades; - num = ((smartUpgrades == null) ? (-896452164) : (-896452181)); - break; - case 22: - num = ((_202E_206B_200E_200C_200B_200B_202E_206C_206F_206C_206F_200F_206E_202A_206F_206B_202E_202C_206D_206D_206D_202E_202D_202B_200C_206C_200F_206E_206E_206F_200F_206F_200C_206B_202C_206F_200D_206F_206D_200C_202E() < _timeoutAt) ? (-896452173) : (-896452192)); - break; - case 12: + } + if (IsMoveApplied(pendingMove)) { - int smartMoveCursor3 = _smartMoveCursor; - num3 = 1; - num4 = smartMoveCursor3; - int num9 = num4 ^ num3; - int num10 = num4 & num3; - _smartMoveCursor = num9 + (num10 + num10); + if (_smartUpgrades != null) + { + NotifyStagingMoveApplied(_smartUpgrades, pendingMove); + } + _smartMoveCursor++; _currentMoveStarted = false; return ETaskResult.StillRunning; } - case 11: - return DirectEquipPhase(); - case 9: - return ETaskResult.TaskComplete; - case 23: - num = ((!IsMoveApplied(pendingMove)) ? (-896452176) : (-896452162)); - break; - case 14: - NotifyStagingMoveApplied(_smartUpgrades, pendingMove); - num = -896452182; - break; - case 3: - return ETaskResult.TaskComplete; - case 21: - return ETaskResult.StillRunning; - case 19: - return ETaskResult.TaskComplete; - case 8: - num = (_smartApplied ? (-896452170) : (-896452161)); - break; - case 10: - num = -896452172; - break; - case 6: + if (Environment.TickCount64 >= _timeoutAt) { - IChatGui chatGui3 = chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(44, 2); - defaultInterpolatedStringHandler3.AppendLiteral(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(-1622777026)); - int smartMoveCursor2 = _smartMoveCursor; - num3 = 1; - num4 = smartMoveCursor2; - defaultInterpolatedStringHandler3.AppendFormatted((num4 | num3) + (num4 & num3)); - defaultInterpolatedStringHandler3.AppendLiteral(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(-1392036559)); - defaultInterpolatedStringHandler3.AppendFormatted(smartMoves.Count); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(907614092)); - _206B_206D_200F_206D_202E_200F_206C_206C_206E_206F_202E_206F_206C_206A_202A_202C_202D_200C_200D_206F_200C_206A_202E_200D_200C_200F_202E_200C_200D_206D_200F_202C_202D_206B_202C_206D_202D_202D_200B_206F_202E(chatGui3, defaultInterpolatedStringHandler3.ToStringAndClear(), 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(1481660241), (ushort?)(ushort)576); + chatGui.Print($"Equip move {_smartMoveCursor + 1}/{smartMoves.Count} timed out; skipping equip step.", "Questionable", 576); return ETaskResult.TaskComplete; } - case 25: - smartUpgrades2 = _smartUpgrades; - num = ((smartUpgrades2 == null) ? (-896452187) : (-896452174)); - break; - case 18: - num = ((smartMoves.Count <= 0) ? (-896452185) : (-896452186)); - break; - case 20: - num = ((smartUpgrades2.Count <= 0) ? (-896452187) : (-896452163)); - break; - case 13: - num = ((!AreUpgradesApplied(smartUpgrades)) ? (-896452164) : (-896452177)); - break; - case 17: - _currentMoveStarted = true; - _timeoutAt = _202E_206B_200E_200C_200B_200B_202E_206C_206F_206C_206F_200F_206E_202A_206F_206B_202E_202C_206D_206D_206D_202E_202D_202B_200C_206C_200F_206E_206E_206F_200F_206F_200C_206B_202C_206F_200D_206F_206D_200C_202E() + 2000; + return ETaskResult.StillRunning; + } + if (configuration.General.PreserveGearset) + { + return DirectEquipPhase(); + } + if (!_smartApplied) + { + List<(int, BestItemRef)> smartUpgrades = _smartUpgrades; + if (smartUpgrades != null && smartUpgrades.Count > 0) + { + chatGui.Print($"Equipping {smartUpgrades.Count} gear upgrade(s) (smart).", "Questionable", 576); + ApplyUpgrades(smartUpgrades); + _timeoutAt = Environment.TickCount64 + 5000; + _smartApplied = true; return ETaskResult.StillRunning; } + return ETaskResult.TaskComplete; } + List<(int, BestItemRef)> smartUpgrades2 = _smartUpgrades; + if (smartUpgrades2 != null && AreUpgradesApplied(smartUpgrades2)) + { + return ETaskResult.TaskComplete; + } + if (Environment.TickCount64 < _timeoutAt) + { + return ETaskResult.StillRunning; + } + return ETaskResult.TaskComplete; } - [MethodImpl(MethodImplOptions.NoInlining)] private ETaskResult DirectEquipPhase() { List<(int, BestItemRef)> smartUpgrades = _smartUpgrades; - int num = ((smartUpgrades != null) ? (-760599422) : (-760599424)); - int item = default(int); - BestItemRef item2 = default(BestItemRef); - while (true) + if (smartUpgrades == null) { - int num2 = num; - int num3 = -760599423; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - { - int directEquipCursor3 = _directEquipCursor; - num3 = 1; - num4 = directEquipCursor3; - _directEquipCursor = (num4 | num3) + (num4 & num3); - _directEquipStarted = false; - return ETaskResult.StillRunning; - } - case 15: - { - (int, BestItemRef) tuple = smartUpgrades[_directEquipCursor]; - item = tuple.Item1; - item2 = tuple.Item2; - num = (_directEquipStarted ? (-760599412) : (-760599409)); - break; - } - case 16: - num = ((!AreUpgradesApplied(smartUpgrades)) ? (-760599423) : (-760599419)); - break; - case 1: - return ETaskResult.TaskComplete; - case 11: - num = -760599424; - break; - case 13: - num = ((!IsDirectEquipApplied(item2, item)) ? (-760599420) : (-760599421)); - break; - case 14: - num = (TryStartDirectEquip(item2, item) ? (-760599411) : (-760599417)); - break; - case 5: - num = ((_202E_206B_200E_200C_200B_200B_202E_206C_206F_206C_206F_200F_206E_202A_206F_206B_202E_202C_206D_206D_206D_202E_202D_202B_200C_206C_200F_206E_206E_206F_200F_206F_200C_206B_202C_206F_200D_206F_206D_200C_202E() < _timeoutAt) ? (-760599415) : (-760599416)); - break; - case 3: - num = ((_directEquipCursor < smartUpgrades.Count) ? (-760599410) : (-760599407)); - break; - case 6: - { - IChatGui chatGui = chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(42, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-129120304)); - defaultInterpolatedStringHandler.AppendFormatted(item); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(682498639)); - _206B_206D_200F_206D_202E_200F_206C_206C_206E_206F_202E_206F_206C_206A_202A_202C_202D_200C_200D_206F_200C_206A_202E_200D_200C_200F_202E_200C_200D_206D_200F_202C_202D_206B_202C_206D_202D_202D_200B_206F_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), 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(85756196), (ushort?)(ushort)576); - int directEquipCursor2 = _directEquipCursor; - num3 = 1; - num4 = directEquipCursor2; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - _directEquipCursor = num7 + (num8 + num8); - return ETaskResult.StillRunning; - } - case 9: - { - int directEquipCursor = _directEquipCursor; - num3 = 1; - num4 = directEquipCursor; - _directEquipCursor = (num4 | num3) + (num4 & num3); - _directEquipStarted = false; - num = -760599415; - break; - } - case 12: - _directEquipStarted = true; - _timeoutAt = _202E_206B_200E_200C_200B_200B_202E_206C_206F_206C_206F_200F_206E_202A_206F_206B_202E_202C_206D_206D_206D_202E_202D_202B_200C_206C_200F_206E_206E_206F_200F_206F_200C_206B_202C_206F_200D_206F_206D_200C_202E() + 2000; - return ETaskResult.StillRunning; - case 10: - return ETaskResult.StillRunning; - case 8: - return ETaskResult.StillRunning; - case 0: - num = ((_202E_206B_200E_200C_200B_200B_202E_206C_206F_206C_206F_200F_206E_202A_206F_206B_202E_202C_206D_206D_206D_202E_202D_202B_200C_206C_200F_206E_206E_206F_200F_206F_200C_206B_202C_206F_200D_206F_206D_200C_202E() >= _timeoutAt) ? (-760599418) : (-760599413)); - break; - case 7: - return ETaskResult.TaskComplete; - case 4: - return ETaskResult.TaskComplete; - } + return ETaskResult.TaskComplete; } + if (_directEquipCursor >= smartUpgrades.Count) + { + if (AreUpgradesApplied(smartUpgrades)) + { + return ETaskResult.TaskComplete; + } + if (Environment.TickCount64 < _timeoutAt) + { + return ETaskResult.StillRunning; + } + return ETaskResult.TaskComplete; + } + var (num, item) = smartUpgrades[_directEquipCursor]; + if (!_directEquipStarted) + { + if (!TryStartDirectEquip(item, num)) + { + chatGui.Print($"Direct equip for slot {num} rejected, skipping.", "Questionable", 576); + _directEquipCursor++; + return ETaskResult.StillRunning; + } + _directEquipStarted = true; + _timeoutAt = Environment.TickCount64 + 2000; + return ETaskResult.StillRunning; + } + if (IsDirectEquipApplied(item, num)) + { + _directEquipCursor++; + _directEquipStarted = false; + return ETaskResult.StillRunning; + } + if (Environment.TickCount64 >= _timeoutAt) + { + _directEquipCursor++; + _directEquipStarted = false; + } + return ETaskResult.StillRunning; } private unsafe bool TryStartDirectEquip(BestItemRef item, int gearsetSlot) { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? (-2023162122) : (-2023162123)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -2023162121; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 1: - return ptr->MoveItemSlot(item.Container, (ushort)item.Slot, InventoryType.EquippedItems, (ushort)gearsetSlot) == 0; - case 2: - return false; - } - continue; - IL_0049: - num = -2023162123; + return false; } + return ptr->MoveItemSlot(item.Container, (ushort)item.Slot, InventoryType.EquippedItems, (ushort)gearsetSlot) == 0; } private unsafe bool IsDirectEquipApplied(BestItemRef item, int gearsetSlot) { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? 2075722394 : 2075722398); - InventoryItem* inventorySlot = default(InventoryItem*); - InventoryContainer* inventoryContainer = default(InventoryContainer*); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 2075722399; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - return false; - case 3: - inventorySlot = inventoryContainer->GetInventorySlot(gearsetSlot); - num = ((inventorySlot != null) ? 2075722393 : 2075722397); - break; - case 0: - num = 2075722398; - break; - case 5: - inventoryContainer = ptr->GetInventoryContainer(InventoryType.EquippedItems); - num = ((inventoryContainer != null) ? 2075722396 : 2075722395); - break; - case 6: - return ItemHandle.FromInventorySlot(inventorySlot).Id == ((ItemHandle)item.ItemId).Id; - case 1: - return false; - case 2: - return false; - } + return false; } + InventoryContainer* inventoryContainer = ptr->GetInventoryContainer(InventoryType.EquippedItems); + if (inventoryContainer == null) + { + return false; + } + InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(gearsetSlot); + if (inventorySlot == null) + { + return false; + } + return ItemHandle.FromInventorySlot(inventorySlot).Id == ((ItemHandle)item.ItemId).Id; } private static void NotifyStagingMoveApplied(List<(int Slot, BestItemRef Item)> upgrades, PendingMove appliedMove) { - int num = 0; - int num2 = 1319614186; - int item = default(int); - BestItemRef item2 = default(BestItemRef); - while (true) + for (int i = 0; i < upgrades.Count; i++) { - int num3 = num2; - int num4 = 1319614184; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + var (item, bestItemRef) = upgrades[i]; + if (bestItemRef.Container == appliedMove.SourceContainer && bestItemRef.Slot == appliedMove.SourceSlot) { - case 2: - num2 = ((num < upgrades.Count) ? 1319614187 : 1319614188); - break; - case 4: - return; - case 3: - { - (int Slot, BestItemRef Item) tuple = upgrades[num]; - item = tuple.Slot; - item2 = tuple.Item; - num2 = ((item2.Container != appliedMove.SourceContainer) ? 1319614185 : 1319614189); - break; - } - case 1: - { - int num6 = num; - num4 = 1; - num5 = num6; - int num7 = num5 ^ num4; - int num8 = num5 & num4; - num = num7 + (num8 + num8); - num2 = 1319614186; - break; - } - case 5: - num2 = ((item2.Slot != appliedMove.SourceSlot) ? 1319614185 : 1319614190); - break; - case 0: - num2 = 1319614186; - break; - case 6: - upgrades[num] = (item, item2 with + upgrades[i] = (item, bestItemRef with { Container = appliedMove.DestinationContainer, Slot = appliedMove.DestinationSlot }); - return; + break; } } } @@ -742,213 +321,86 @@ internal static class EquipRecommended private unsafe bool TryStartMove(PendingMove move) { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? 1497756716 : 1497756719); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1497756718; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 2: - return ptr->MoveItemSlot(move.SourceContainer, (ushort)move.SourceSlot, move.DestinationContainer, (ushort)move.DestinationSlot) == 0; - case 1: - return false; - } - continue; - IL_004b: - num = 1497756719; + return false; } + return ptr->MoveItemSlot(move.SourceContainer, (ushort)move.SourceSlot, move.DestinationContainer, (ushort)move.DestinationSlot) == 0; } private unsafe bool IsMoveApplied(PendingMove move) { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? (-1215933300) : (-1215933298)); - InventoryItem* inventorySlot = default(InventoryItem*); - InventoryContainer* inventoryContainer = default(InventoryContainer*); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -1215933302; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return ItemHandle.FromInventorySlot(inventorySlot).Id == ((ItemHandle)move.SourceItemId).Id; - case 4: - return false; - case 1: - inventorySlot = inventoryContainer->GetInventorySlot(move.DestinationSlot); - num = ((inventorySlot != null) ? (-1215933302) : (-1215933304)); - break; - case 6: - inventoryContainer = ptr->GetInventoryContainer(move.DestinationContainer); - num = ((inventoryContainer != null) ? (-1215933301) : (-1215933297)); - break; - case 3: - num = -1215933298; - break; - case 2: - return false; - case 5: - return false; - } + return false; } + InventoryContainer* inventoryContainer = ptr->GetInventoryContainer(move.DestinationContainer); + if (inventoryContainer == null) + { + return false; + } + InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(move.DestinationSlot); + if (inventorySlot == null) + { + return false; + } + return ItemHandle.FromInventorySlot(inventorySlot).Id == ((ItemHandle)move.SourceItemId).Id; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe ETaskResult GameUpdate() { RecommendEquipModule* ptr = RecommendEquipModule.Instance(); - int num = ((!ptr->IsUpdating) ? (-598409727) : (-598409713)); - while (true) + if (ptr->IsUpdating) { - int num2 = num; - int num3 = -598409719; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return ETaskResult.StillRunning; + } + if (!_checkedOrTriggeredEquipmentUpdate) + { + if (IsAllRecommendedGearEquipped()) { - case 9: - num = ((!IsAllRecommendedGearEquipped()) ? (-598409725) : (-598409718)); - break; - case 10: - _206B_206D_200F_206D_202E_200F_206C_206C_206E_206F_202E_206F_206C_206A_202A_202C_202D_200C_200D_206F_200C_206A_202E_200D_200C_200F_202E_200C_200D_206D_200F_202C_202D_206B_202C_206D_202D_202D_200B_206F_202E(chatGui, 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(-1029748516), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - ptr->EquipRecommendedGear(); - _timeoutAt = _202E_206B_200E_200C_200B_200B_202E_206C_206F_206C_206F_200F_206E_202A_206F_206B_202E_202C_206D_206D_206D_202E_202D_202B_200C_206C_200F_206E_206E_206F_200F_206F_200C_206B_202C_206F_200D_206F_206D_200C_202E() + 5000; - _checkedOrTriggeredEquipmentUpdate = true; - return ETaskResult.StillRunning; - case 7: - num = ((!IsAllRecommendedGearEquipped()) ? (-598409717) : (-598409720)); - break; - case 8: - num = (_checkedOrTriggeredEquipmentUpdate ? (-598409714) : (-598409728)); - break; - case 3: - return ETaskResult.TaskComplete; - case 4: - return ETaskResult.StillRunning; - case 0: - num = -598409713; - break; - case 2: - num = ((_202E_206B_200E_200C_200B_200B_202E_206C_206F_206C_206F_200F_206E_202A_206F_206B_202E_202C_206D_206D_206D_202E_202D_202B_200C_206C_200F_206E_206E_206F_200F_206F_200C_206B_202C_206F_200D_206F_206D_200C_202E() >= _timeoutAt) ? (-598409716) : (-598409715)); - break; - case 6: - return ETaskResult.StillRunning; - case 5: - return ETaskResult.TaskComplete; - case 1: return ETaskResult.TaskComplete; } + chatGui.Print("Equipping recommended gear.", "Questionable", 576); + ptr->EquipRecommendedGear(); + _timeoutAt = Environment.TickCount64 + 5000; + _checkedOrTriggeredEquipmentUpdate = true; + return ETaskResult.StillRunning; } + if (IsAllRecommendedGearEquipped()) + { + return ETaskResult.TaskComplete; + } + if (Environment.TickCount64 < _timeoutAt) + { + return ETaskResult.StillRunning; + } + return ETaskResult.TaskComplete; } private unsafe bool AreUpgradesApplied(IReadOnlyList<(int Slot, BestItemRef Item)> upgrades) { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? 503913681 : 503913682); - InventoryContainer* inventoryContainer = default(InventoryContainer*); - BestItemRef item2 = default(BestItemRef); - InventoryItem* inventorySlot = default(InventoryItem*); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 503913680; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return false; + } + InventoryContainer* inventoryContainer = ptr->GetInventoryContainer(InventoryType.EquippedItems); + if (inventoryContainer == null) + { + return false; + } + foreach (var upgrade in upgrades) + { + int item = upgrade.Slot; + BestItemRef item2 = upgrade.Item; + InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(item); + if (inventorySlot == null || ItemHandle.FromInventorySlot(inventorySlot).Id != ((ItemHandle)item2.ItemId).Id) { - case 3: return false; - case 2: - return false; - case 0: - num = 503913682; - break; - case 1: - inventoryContainer = ptr->GetInventoryContainer(InventoryType.EquippedItems); - num = ((inventoryContainer != null) ? 503913684 : 503913683); - break; - case 4: - { - IEnumerator<(int, BestItemRef)> enumerator = upgrades.GetEnumerator(); - try - { - num = 986688417; - while (true) - { - int num5 = num; - num3 = 986688417; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 5: - return false; - case 3: - { - (int, BestItemRef) current = enumerator.Current; - int item = current.Item1; - item2 = current.Item2; - inventorySlot = inventoryContainer->GetInventorySlot(item); - num = ((inventorySlot == null) ? 986688420 : 986688416); - break; - } - case 1: - num = ((ItemHandle.FromInventorySlot(inventorySlot).Id == ((ItemHandle)item2.ItemId).Id) ? 986688417 : 986688420); - break; - case 0: - num = (_202B_206B_206E_206E_206B_202A_206E_202E_202C_202D_206F_200C_202C_206D_200D_206D_200D_206B_200D_202E_202D_206C_206E_206B_202E_200D_200F_206B_206F_200C_206E_206F_200C_202B_206D_206B_202D_206E_206A_200E_202E((IEnumerator)enumerator) ? 986688418 : 986688419); - break; - case 4: - num = 986688417; - break; - case 2: - goto end_IL_00a9; - } - continue; - end_IL_00a9: - break; - } - } - finally - { - num = ((enumerator == null) ? 1395008850 : 1395008849); - while (true) - { - int num8 = num; - num3 = 1395008851; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - goto end_IL_01c9; - case 2: - _200F_206C_202B_206E_206D_200D_202A_200B_202C_202A_202A_206C_202B_206B_206A_200C_200E_202D_200F_200B_202C_206B_202A_206D_206C_200D_206C_206A_200B_200B_202A_200D_206E_200D_206C_200F_206F_202B_202D_202E_202E((IDisposable)enumerator); - num = 1395008850; - break; - case 0: - num = 1395008849; - break; - } - continue; - end_IL_01c9: - break; - } - } - return true; - } } } + return true; } private unsafe bool TryComputeUpgradesAndMoves(EClassJob job, StatPriority priority, byte playerLevel, RaptureGearsetModule.GearsetEntry* entry, out List<(int Slot, BestItemRef Item)> upgrades, out List moves) @@ -956,587 +408,175 @@ internal static class EquipRecommended upgrades = new List<(int, BestItemRef)>(); moves = new List(); BestItemRef? bestItemRef = null; - int num = (_200F_200E_200B_200E_202B_206F_200D_206F_202C_202D_206E_200B_206F_206F_202E_206D_206F_206E_200E_202D_206A_202E_206F_206C_206D_206B_206E_200F_206A_206A_202C_206A_202A_200E_200E_202B_200D_202E_202E_202D_202E(job) ? (-1918647865) : (-1918647852)); - bool flag = default(bool); - int num5 = default(int); - BestItemRef? bestItemRef2 = default(BestItemRef?); - InventoryType? inventoryType = default(InventoryType?); - int nextFreeSlot = default(int); - bool flag2 = default(bool); - Dictionary cursors = default(Dictionary); - uint[] item = default(uint[]); - BestItemRef? bestItemRef3 = default(BestItemRef?); - bool flag3 = default(bool); - while (true) + bool flag = job.IsCrafter() || job.IsGatherer(); + Dictionary cursors = new Dictionary(); + for (int i = 0; i < SlotMap.Length; i++) { - int num2 = num; - int num3 = -1918647849; - int num4 = num2; - int num7; - BestItemRef? obj; - int num8; - EItemRankingMode eItemRankingMode; - switch ((num4 | num3) - (num4 & num3)) + uint[] item = SlotMap[i].Categories; + if (item.Length == 0) { - case 24: - num = (bestItemRef.HasValue ? (-1918647854) : (-1918647871)); - break; - case 23: - num7 = 2; - goto IL_00ec; - case 21: - flag = true; - num = -1918647859; - break; - case 12: - num = ((num5 != 12) ? (-1918647871) : (-1918647857)); - break; - case 5: - obj = bestItemRef; - goto IL_015d; - case 16: - num8 = 1; - goto IL_0185; - case 1: - num = ((!IsBagContainer(bestItemRef2.Value.Container)) ? (-1918647847) : (-1918647853)); - break; - case 20: - num = -1918647852; - break; - case 2: - moves.Add(new PendingMove(bestItemRef2.Value.Container, bestItemRef2.Value.Slot, bestItemRef2.Value.ItemId, inventoryType.Value, nextFreeSlot)); - num = -1918647847; - break; - case 26: - flag2 = flag; - num = -1918647849; - break; - case 22: - obj = null; - goto IL_015d; - case 14: - upgrades.Add((num5, bestItemRef2.Value)); - num = -1918647858; - break; - case 25: - { - int num6 = num5; - num3 = 1; - num4 = num6; - num5 = (num4 | num3) + (num4 & num3); - num = -1918647848; - break; + continue; } - case 17: - return false; - case 19: - num = (((uint)num5 > 1u) ? (-1918647867) : (-1918647870)); - break; - case 10: - num = ((num5 != 11) ? (-1918647844) : (-1918647841)); - break; - case 13: - nextFreeSlot = GetNextFreeSlot(inventoryType.Value, cursors); - num = ((nextFreeSlot >= 0) ? (-1918647851) : (-1918647866)); - break; - case 7: - item = SlotMap[num5].Categories; - num = ((item.Length == 0) ? (-1918647858) : (-1918647845)); - break; - case 4: - inventoryType = ResolveArmoryContainer(item); - num = ((!inventoryType.HasValue) ? (-1918647858) : (-1918647846)); - break; - case 11: - num = ((((ItemHandle)entry->GetItem((RaptureGearsetModule.GearsetItemIndex)num5).ItemId).Id == ((ItemHandle)bestItemRef2.Value.ItemId).Id) ? (-1918647858) : (-1918647850)); - break; - case 9: - return true; - case 3: - num8 = (_200E_202B_202D_206A_202B_200F_202B_206E_202C_200B_200F_202E_200C_200D_200B_200D_200F_206B_202D_206A_202E_206F_202E_202A_206A_206F_202D_202B_200F_202E_202D_202C_206A_206C_206C_200F_202E_202A_206A_200F_202E(job) ? 1 : 0); - goto IL_0185; - case 6: - num7 = 1; - goto IL_00ec; - case 0: - num = (flag2 ? (-1918647872) : (-1918647855)); - break; - case 8: + BestItemRef? excludeContainerSlot = ((i == 12 && bestItemRef.HasValue) ? bestItemRef : ((BestItemRef?)null)); + bool flag2 = !flag; + if (flag2) + { + bool flag3 = (uint)i <= 1u; + flag2 = flag3; + } + EItemRankingMode rankingMode = ((!flag2) ? EItemRankingMode.ScoreFirst : EItemRankingMode.DamageFirst); + BestItemRef? bestItemRef2 = bestItemFinder.FindBest(job, item, priority, BestItemFinder.ArmoryEquippedAndBags, playerLevel, rankingMode, excludeContainerSlot); + if (!bestItemRef2.HasValue) + { + continue; + } + if (i == 11) + { bestItemRef = bestItemRef2; - num = -1918647844; - break; - case 15: - num = ((num5 < SlotMap.Length) ? (-1918647856) : (-1918647842)); - break; - case 18: - { - flag = false; - num = -1918647859; - break; - } - IL_00ec: - eItemRankingMode = (EItemRankingMode)num7; - bestItemRef2 = _200B_206C_206F_206A_206D_200D_206B_202C_200D_202C_206D_200F_202A_206F_200C_202D_202E_200F_202B_202E_200C_202B_202B_200C_200C_200E_200F_202E_202A_206D_206D_200D_200B_200B_200D_206C_206E_200F_200B_206F_202E(bestItemFinder, job, (IReadOnlyList)item, priority, BestItemFinder.ArmoryEquippedAndBags, playerLevel, eItemRankingMode, bestItemRef3); - num = ((!bestItemRef2.HasValue) ? (-1918647858) : (-1918647843)); - break; - IL_0185: - flag3 = (byte)num8 != 0; - cursors = new Dictionary(); - num5 = 0; - num = -1918647848; - break; - IL_015d: - bestItemRef3 = obj; - flag2 = !flag3; - num = ((!flag2) ? (-1918647849) : (-1918647868)); - break; } + if (((ItemHandle)entry->GetItem((RaptureGearsetModule.GearsetItemIndex)i).ItemId).Id == ((ItemHandle)bestItemRef2.Value.ItemId).Id) + { + continue; + } + if (IsBagContainer(bestItemRef2.Value.Container)) + { + InventoryType? inventoryType = ResolveArmoryContainer(item); + if (!inventoryType.HasValue) + { + continue; + } + int nextFreeSlot = GetNextFreeSlot(inventoryType.Value, cursors); + if (nextFreeSlot < 0) + { + return false; + } + moves.Add(new PendingMove(bestItemRef2.Value.Container, bestItemRef2.Value.Slot, bestItemRef2.Value.ItemId, inventoryType.Value, nextFreeSlot)); + } + upgrades.Add((i, bestItemRef2.Value)); } + return true; } private static bool IsBagContainer(InventoryType type) { - int num = ((type > InventoryType.Inventory4) ? 361543209 : 361543210); - bool result = default(bool); - while (true) + if (type <= InventoryType.Inventory4) { - int num2 = num; - int num3 = 361543211; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return result; - case 1: - result = true; - num = 361543208; - break; - case 2: - result = false; - num = 361543208; - break; - case 0: - num = 361543210; - break; - } + return true; } + return false; } private static InventoryType? ResolveArmoryContainer(uint[] acceptedCategories) { - int num = 0; - int num2 = -74376453; - InventoryType? result = default(InventoryType?); - while (true) + for (int i = 0; i < acceptedCategories.Length; i++) { - int num3 = num2; - int num4 = -74376455; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + InventoryType? armoryContainer = ((EEquipSlotCategory)acceptedCategories[i]).GetArmoryContainer(); + if (armoryContainer.HasValue) { - case 2: - num2 = ((num < acceptedCategories.Length) ? (-74376456) : (-74376452)); - break; - case 1: - result = _206D_206A_206C_206B_202E_202A_202B_200C_206B_202B_206B_200D_200E_202D_200F_200B_200D_200D_200C_200E_206D_206A_202C_206F_200E_200F_202A_202D_200F_202A_206E_202D_200D_200F_206B_200F_200C_200D_200D_202C_202E((EEquipSlotCategory)acceptedCategories[num]); - num2 = ((!result.HasValue) ? (-74376455) : (-74376451)); - break; - case 4: - return result; - case 0: - { - int num6 = num; - num4 = 1; - num5 = num6; - num = (num5 | num4) + (num5 & num4); - num2 = -74376453; - break; - } - case 5: - return null; - case 3: - num2 = -74376453; - break; + return armoryContainer; } } + return null; } private unsafe static int GetNextFreeSlot(InventoryType container, Dictionary cursors) { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? (-2120371661) : (-2120371663)); - int value = default(int); - int num8 = default(int); - InventoryContainer* inventoryContainer = default(InventoryContainer*); - InventoryItem* inventorySlot = default(InventoryItem*); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -2120371664; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num10; - switch (num5 - (num6 + num6)) + return -1; + } + InventoryContainer* inventoryContainer = ptr->GetInventoryContainer(container); + if (inventoryContainer == null) + { + return -1; + } + int value; + for (int i = (cursors.TryGetValue(container, out value) ? value : 0); i < inventoryContainer->Size; i++) + { + InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(i); + if (inventorySlot != null && inventorySlot->ItemId == 0) { - case 11: - return -1; - case 8: - return -1; - case 10: - num = (cursors.TryGetValue(container, out value) ? (-2120371652) : (-2120371657)); - break; - case 12: - num10 = value; - goto IL_00a7; - case 1: - return -1; - case 2: - num = -2120371663; - break; - case 4: - num = ((num8 < inventoryContainer->Size) ? (-2120371664) : (-2120371656)); - break; - case 3: - inventoryContainer = ptr->GetInventoryContainer(container); - num = ((inventoryContainer != null) ? (-2120371654) : (-2120371653)); - break; - case 0: - inventorySlot = inventoryContainer->GetInventorySlot(num8); - num = ((inventorySlot == null) ? (-2120371658) : (-2120371659)); - break; - case 7: - num10 = 0; - goto IL_00a7; - case 9: - { - int num9 = num8; - num3 = 1; - num4 = num9; - cursors[container] = (num4 | num3) + (num4 & num3); - return num8; - } - case 6: - { - int num7 = num8; - num3 = 1; - num4 = num7; - num8 = (num4 | num3) + (num4 & num3); - num = -2120371660; - break; - } - case 5: - { - num = ((inventorySlot->ItemId != 0) ? (-2120371658) : (-2120371655)); - break; - } - IL_00a7: - num8 = num10; - num = -2120371660; - break; + cursors[container] = i + 1; + return i; } } + return -1; } private unsafe void ApplyUpgrades(IReadOnlyList<(int Slot, BestItemRef Item)> upgrades) { RaptureGearsetModule* ptr = RaptureGearsetModule.Instance(); - int num = ((ptr != null) ? 366018770 : 366018771); - int currentGearsetIndex = default(int); - RaptureGearsetModule.GearsetEntry* ptr4 = default(RaptureGearsetModule.GearsetEntry*); - InventoryManager* ptr2 = default(InventoryManager*); - int num8 = default(int); - RaptureGearsetModule.GearsetItem* ptr3 = default(RaptureGearsetModule.GearsetItem*); - InventoryItem* inventorySlot = default(InventoryItem*); - int item = default(int); - InventoryContainer* inventoryContainer = default(InventoryContainer*); - BestItemRef item2 = default(BestItemRef); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 366018772; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return; + } + int currentGearsetIndex = ptr->CurrentGearsetIndex; + if (currentGearsetIndex < 0 || !ptr->IsValidGearset(currentGearsetIndex)) + { + return; + } + RaptureGearsetModule.GearsetEntry* ptr2 = (RaptureGearsetModule.GearsetEntry*)Unsafe.AsPointer(in ptr->Entries[currentGearsetIndex]); + InventoryManager* ptr3 = InventoryManager.Instance(); + if (ptr3 == null) + { + return; + } + foreach (var upgrade in upgrades) + { + int item = upgrade.Slot; + BestItemRef item2 = upgrade.Item; + InventoryContainer* inventoryContainer = ptr3->GetInventoryContainer(item2.Container); + if (inventoryContainer == null) { - case 2: - num = (ptr->IsValidGearset(currentGearsetIndex) ? 366018775 : 366018769); - break; - case 5: - return; - case 6: - currentGearsetIndex = ptr->CurrentGearsetIndex; - num = ((currentGearsetIndex < 0) ? 366018769 : 366018774); - break; - case 0: - num = 366018771; - break; - case 3: - ptr4 = (RaptureGearsetModule.GearsetEntry*)Unsafe.AsPointer(in ptr->Entries[currentGearsetIndex]); - ptr2 = InventoryManager.Instance(); - num = ((ptr2 != null) ? 366018773 : 366018768); - break; - case 4: - return; - case 7: - return; - case 1: - { - IEnumerator<(int, BestItemRef)> enumerator = upgrades.GetEnumerator(); - try - { - num = 1240171448; - while (true) - { - int num5 = num; - num3 = 1240171448; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 4: - num = 1240171448; - break; - case 6: - num = ((num8 < 5) ? 1240171450 : 1240171448); - break; - case 2: - { - ptr3->Materia[num8] = inventorySlot->Materia[num8]; - ptr3->MateriaGrades[num8] = inventorySlot->MateriaGrades[num8]; - int num9 = num8; - num3 = 1; - num4 = num9; - num8 = (num4 | num3) + (num4 & num3); - num = 1240171454; - break; - } - case 8: - num = ((inventorySlot->ItemId == 0) ? 1240171448 : 1240171453); - break; - case 5: - ptr3 = (RaptureGearsetModule.GearsetItem*)Unsafe.AsPointer(in ptr4->Items[item]); - ptr3->ItemId = inventorySlot->ItemId; - ptr3->GlamourId = inventorySlot->GlamourId; - ptr3->Stain0Id = inventorySlot->Stains[0]; - ptr3->Stain1Id = inventorySlot->Stains[1]; - num8 = 0; - num = 1240171454; - break; - case 7: - inventorySlot = inventoryContainer->GetInventorySlot(item2.Slot); - num = ((inventorySlot == null) ? 1240171448 : 1240171440); - break; - case 0: - num = (_202B_206B_206E_206E_206B_202A_206E_202E_202C_202D_206F_200C_202C_206D_200D_206D_200D_206B_200D_202E_202D_206C_206E_206B_202E_200D_200F_206B_206F_200C_206E_206F_200C_202B_206D_206B_202D_206E_206A_200E_202E((IEnumerator)enumerator) ? 1240171449 : 1240171451); - break; - case 1: - { - (int, BestItemRef) current = enumerator.Current; - item = current.Item1; - item2 = current.Item2; - inventoryContainer = ptr2->GetInventoryContainer(item2.Container); - num = ((inventoryContainer == null) ? 1240171448 : 1240171455); - break; - } - case 3: - goto end_IL_010f; - } - continue; - end_IL_010f: - break; - } - } - finally - { - num = ((enumerator == null) ? 1335984006 : 1335984007); - while (true) - { - int num10 = num; - num3 = 1335984006; - num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto end_IL_0345; - case 1: - _200F_206C_202B_206E_206D_200D_202A_200B_202C_202A_202A_206C_202B_206B_206A_200C_200E_202D_200F_200B_202C_206B_202A_206D_206C_200D_206C_206A_200B_200B_202A_200D_206E_200D_206C_200F_206F_202B_202D_202E_202E((IDisposable)enumerator); - num = 1335984006; - break; - case 2: - num = 1335984007; - break; - } - continue; - end_IL_0345: - break; - } - } - ptr->EquipGearset(currentGearsetIndex, 0); - return; + continue; } + InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(item2.Slot); + if (inventorySlot != null && inventorySlot->ItemId != 0) + { + RaptureGearsetModule.GearsetItem* ptr4 = (RaptureGearsetModule.GearsetItem*)Unsafe.AsPointer(in ptr2->Items[item]); + ptr4->ItemId = inventorySlot->ItemId; + ptr4->GlamourId = inventorySlot->GlamourId; + ptr4->Stain0Id = inventorySlot->Stains[0]; + ptr4->Stain1Id = inventorySlot->Stains[1]; + for (int i = 0; i < 5; i++) + { + ptr4->Materia[i] = inventorySlot->Materia[i]; + ptr4->MateriaGrades[i] = inventorySlot->MateriaGrades[i]; + } } } + ptr->EquipGearset(currentGearsetIndex, 0); } private byte GetPlayerLevel(EClassJob job) { - short num = _202C_206B_200E_206D_200B_206E_206F_206B_202A_206A_202A_200F_200F_200D_206F_206F_206A_206E_202B_206C_206F_200B_200D_200E_202B_200B_206A_202B_202E_206C_202A_206C_202E_200D_206D_206E_202A_200D_206B_206C_202E((int)dataManager.GetExcelSheet().GetRow((uint)job).ExpArrayIndex); - int num2 = ((num > 0) ? (-1894370690) : (-1894370691)); - while (true) + short classJobLevel = PlayerStateHelper.GetClassJobLevel(dataManager.GetExcelSheet().GetRow((uint)job).ExpArrayIndex); + if (classJobLevel <= 0) { - int num3 = num2; - int num4 = -1894370692; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - goto IL_0071; - case 2: - return (byte)num; - case 1: - return 0; - } - continue; - IL_0071: - num2 = -1894370691; + return 0; } + return (byte)classJobLevel; } private unsafe bool IsAllRecommendedGearEquipped() { Span> recommendedItems = RecommendEquipModule.Instance()->RecommendedItems; - int num = 0; - int num2 = 603510745; - InventoryItem* value = default(InventoryItem*); - while (true) + for (int i = 0; i < recommendedItems.Length; i++) { - int num3 = num2; - int num4 = 603510749; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + Pointer pointer = recommendedItems[i]; + InventoryItem* value = pointer.Value; + if (value != null && value->ItemId != 0 && !InventoryHelper.IsItemEquipped(value->ItemId)) { - case 2: - { - int num6 = num; - num4 = 1; - num5 = num6; - int num7 = num5 ^ num4; - int num8 = num5 & num4; - num = num7 + (num8 + num8); - num2 = 603510745; - break; - } - case 1: - num2 = ((value->ItemId == 0) ? 603510751 : 603510750); - break; - case 5: return false; - case 3: - num2 = (_202A_202E_206B_206C_200D_202B_202A_206B_206D_202E_206E_202A_206A_200C_206C_206B_202C_206A_202E_206C_206B_206A_200D_206C_200B_202D_202E_206B_200B_200F_202C_202A_202A_206D_206B_200F_206A_206B_200E_200C_202E(value->ItemId) ? 603510751 : 603510744); - break; - case 6: - { - Pointer pointer = recommendedItems[num]; - value = pointer.Value; - num2 = ((value == null) ? 603510751 : 603510748); - break; - } - case 7: - num2 = 603510745; - break; - case 0: - return true; - case 4: - num2 = ((num < recommendedItems.Length) ? 603510747 : 603510749); - break; } } + return true; } public override bool ShouldInterruptOnDamage() { return true; } - - static bool _206D_206D_206B_200F_200F_202D_206F_200C_206E_200E_200B_202A_206F_206D_206D_202A_200F_206C_200C_200C_200B_202A_200C_206B_202C_200B_206F_200D_200E_200B_206C_206C_206E_200B_200D_202D_202C_200C_206D_202A_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static IPlayerCharacter _200D_206A_206B_200E_202A_206A_206E_202D_200C_202E_200F_202B_202D_206F_200F_200E_200F_202C_206E_206E_202A_206F_206E_200D_200C_202E_206B_200E_206C_202B_202C_206A_202E_202A_206B_200D_206E_202A_202C_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static RowRef _200F_202D_202B_200C_200F_206F_206B_200E_206C_200E_206C_206A_202B_200C_206A_206D_200E_200C_202C_206F_200D_200C_200D_206A_202C_200F_206A_202C_200B_202E_200D_206B_206F_202B_202A_206B_202A_200F_202B_206E_202E(ICharacter P_0) - { - return P_0.ClassJob; - } - - static Type _206B_206D_202E_200C_202C_202A_200F_206F_206B_200D_202A_206E_206D_206A_206C_202D_200F_200C_202C_206E_202E_200B_200F_202A_200F_202D_202E_200E_200D_202D_206C_202E_206E_206F_202D_206B_202D_202A_200F_200D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static bool _202D_206A_200D_202E_202D_206B_202E_200D_202E_206D_202A_202B_200B_206D_206B_206E_206C_202B_206A_206C_202A_206D_202A_202C_200E_200B_200F_202A_206A_200C_206E_202C_202B_200B_200F_206D_200C_206B_202A_200C_202E(Type P_0, object P_1) - { - return Enum.IsDefined(P_0, P_1); - } - - static StatPriority _202B_200D_200C_206E_206D_206D_206D_202C_200F_206D_202D_202D_206D_200B_206A_202C_200C_200C_206F_202D_200C_200D_202D_206D_206B_200E_202B_206B_202B_202D_206E_202A_206F_206D_206B_200D_202C_200F_202D_206B_202E(EClassJob P_0) - { - return StatPriority.ForJob(P_0); - } - - static void _206B_206D_200F_206D_202E_200F_206C_206C_206E_206F_202E_206F_206C_206A_202A_202C_202D_200C_200D_206F_200C_206A_202E_200D_200C_200F_202E_200C_200D_206D_200F_202C_202D_206B_202C_206D_202D_202D_200B_206F_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.Print(P_1, P_2, P_3); - } - - static long _202E_206B_200E_200C_200B_200B_202E_206C_206F_206C_206F_200F_206E_202A_206F_206B_202E_202C_206D_206D_206D_202E_202D_202B_200C_206C_200F_206E_206E_206F_200F_206F_200C_206B_202C_206F_200D_206F_206D_200C_202E() - { - return Environment.TickCount64; - } - - static bool _202B_206B_206E_206E_206B_202A_206E_202E_202C_202D_206F_200C_202C_206D_200D_206D_200D_206B_200D_202E_202D_206C_206E_206B_202E_200D_200F_206B_206F_200C_206E_206F_200C_202B_206D_206B_202D_206E_206A_200E_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200F_206C_202B_206E_206D_200D_202A_200B_202C_202A_202A_206C_202B_206B_206A_200C_200E_202D_200F_200B_202C_206B_202A_206D_206C_200D_206C_206A_200B_200B_202A_200D_206E_200D_206C_200F_206F_202B_202D_202E_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static bool _200F_200E_200B_200E_202B_206F_200D_206F_202C_202D_206E_200B_206F_206F_202E_206D_206F_206E_200E_202D_206A_202E_206F_206C_206D_206B_206E_200F_206A_206A_202C_206A_202A_200E_200E_202B_200D_202E_202E_202D_202E(EClassJob P_0) - { - return P_0.IsCrafter(); - } - - static bool _200E_202B_202D_206A_202B_200F_202B_206E_202C_200B_200F_202E_200C_200D_200B_200D_200F_206B_202D_206A_202E_206F_202E_202A_206A_206F_202D_202B_200F_202E_202D_202C_206A_206C_206C_200F_202E_202A_206A_200F_202E(EClassJob P_0) - { - return P_0.IsGatherer(); - } - - static BestItemRef? _200B_206C_206F_206A_206D_200D_206B_202C_200D_202C_206D_200F_202A_206F_200C_202D_202E_200F_202B_202E_200C_202B_202B_200C_200C_200E_200F_202E_202A_206D_206D_200D_200B_200B_200D_206C_206E_200F_200B_206F_202E(BestItemFinder P_0, EClassJob P_1, IReadOnlyList P_2, StatPriority P_3, IReadOnlyList P_4, byte P_5, EItemRankingMode P_6, BestItemRef? P_7) - { - return P_0.FindBest(P_1, P_2, P_3, P_4, P_5, P_6, P_7); - } - - static InventoryType? _206D_206A_206C_206B_202E_202A_202B_200C_206B_202B_206B_200D_200E_202D_200F_200B_200D_200D_200C_200E_206D_206A_202C_206F_200E_200F_202A_202D_200F_202A_206E_202D_200D_200F_206B_200F_200C_200D_200D_202C_202E(EEquipSlotCategory P_0) - { - return P_0.GetArmoryContainer(); - } - - static short _202C_206B_200E_206D_200B_206E_206F_206B_202A_206A_202A_200F_200F_200D_206F_206F_206A_206E_202B_206C_206F_200B_200D_200E_202B_200B_206A_202B_202E_206C_202A_206C_202E_200D_206D_206E_202A_200D_206B_206C_202E(int P_0) - { - return PlayerStateHelper.GetClassJobLevel(P_0); - } - - static bool _202A_202E_206B_206C_200D_202B_202A_206B_206D_202E_206E_202A_206A_200C_206C_206B_202C_206A_202E_206C_206B_206A_200D_206C_200B_202D_202E_206B_200B_200F_202C_202A_202A_206D_206B_200F_206A_206B_200E_200C_202E(uint P_0) - { - return InventoryHelper.IsItemEquipped(P_0); - } } } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/FateAction.cs b/Questionable/Questionable.Controller.Steps.Interactions/FateAction.cs index 4256cd2..ef70cf2 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/FateAction.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/FateAction.cs @@ -1,9 +1,6 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Linq; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Objects.Types; using Microsoft.Extensions.Logging; using Questionable.Controller.Steps.Common; @@ -17,352 +14,70 @@ internal static class FateAction { internal sealed class Factory : ITaskFactory { - [MethodImpl(MethodImplOptions.NoInlining)] public IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((_206D_206F_206B_202C_200F_202E_206F_202E_206B_200D_200F_206E_200D_202D_200F_206A_200D_202D_206B_206A_206B_202A_206D_202D_206C_206D_206C_200D_200C_202C_206F_202B_206F_206A_202C_200C_206A_206D_200F_206A_202E(step) == EInteractionType.FateAction) ? (-43811176) : (-43811175)); - while (true) + if (step.InteractionType != EInteractionType.FateAction) { - int num2 = num; - int num3 = -43811176; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = -43811175; - break; - case 0: - num = ((_202B_200F_206C_202D_206F_200F_206E_200D_202E_200E_200E_200C_206A_206F_202D_202C_202E_202D_206D_202C_206C_200B_206A_206E_200B_202A_206F_202B_202E_206F_206B_202C_200D_206A_200D_202D_200C_202D_206D_200F_202E(step).Count != 0) ? (-43811174) : (-43811173)); - break; - case 1: - return Array.Empty(); - case 3: - throw _202B_206E_202A_206F_202B_202D_202D_202A_206A_206D_202C_202C_206F_202D_206A_200D_200C_202E_202C_200E_200C_206D_202A_200D_202A_206E_206D_206E_200D_202B_202C_202A_200D_202A_202E_202D_200B_206E_202C_202A_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1866861544)); - case 2: - return new global::_003C_003Ez__ReadOnlyArray(new ITask[2] - { - new Mount.UnmountTask(), - new UseOnTargets(_202B_200F_206C_202D_206F_200F_206E_200D_202E_200E_200E_200C_206A_206F_202D_202C_202E_202D_206D_202C_206C_200B_206A_206E_200B_202A_206F_202B_202E_206F_206B_202C_200D_206A_200D_202D_200C_202D_206D_200F_202E(step)) - }); - } + return Array.Empty(); } - } - - IEnumerable ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks - return this.CreateAllTasks(quest, sequence, step); - } - - static EInteractionType _206D_206F_206B_202C_200F_202E_206F_202E_206B_200D_200F_206E_200D_202D_200F_206A_200D_202D_206B_206A_206B_202A_206D_202D_206C_206D_206C_200D_200C_202C_206F_202B_206F_206A_202C_200C_206A_206D_200F_206A_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static List _202B_200F_206C_202D_206F_200F_206E_200D_202E_200E_200E_200C_206A_206F_202D_202C_202E_202D_206D_202C_206C_200B_206A_206E_200B_202A_206F_202B_202E_206F_206B_202C_200D_206A_200D_202D_200C_202D_206D_200F_202E(QuestStep P_0) - { - return P_0.FateActionTargets; - } - - static InvalidOperationException _202B_206E_202A_206F_202B_202D_202D_202A_206A_206D_202C_202C_206F_202D_206A_200D_200C_202E_202C_200E_200C_206D_202A_200D_202A_206E_206D_206E_200D_202B_202C_202A_200D_202A_202E_202D_200B_206E_202C_202A_202E(string P_0) - { - return new InvalidOperationException(P_0); + if (step.FateActionTargets.Count == 0) + { + throw new InvalidOperationException("FateAction step requires FateActionTargets"); + } + return new global::_003C_003Ez__ReadOnlyArray(new ITask[2] + { + new Mount.UnmountTask(), + new UseOnTargets(step.FateActionTargets) + }); } } internal sealed record UseOnTargets(IList Targets) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202C_200F_200D_206C_200F_206E_206E_202E_200B_206C_206F_206F_200E_202A_206B_206E_206F_202C_200E_206C_206F_202A_206B_200D_206A_206A_200E_200D_206A_206C_206A_206D_206B_200F_200B_200B_202D_206C_206E_200C_202E(typeof(UseOnTargets).TypeHandle); - } - } - public bool ShouldRedoOnInterrupt() { return true; } - bool ITask.ShouldRedoOnInterrupt() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt - return this.ShouldRedoOnInterrupt(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(20, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(85708604)); - defaultInterpolatedStringHandler.AppendFormatted(Targets.Count); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1905985229)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200F_200D_200C_202B_206F_200B_202A_206D_202B_200F_206B_206C_206D_202A_200B_200D_206F_200D_202A_206A_200E_206A_200F_200D_206C_202D_206A_202B_200D_206B_200F_200B_202C_200E_202C_202A_200F_206E_202B_202E(); - _206C_202E_206B_206E_200D_206A_206C_206F_202A_202B_200F_202E_200E_206C_200E_200D_200F_200D_200D_202B_200C_200B_202A_206E_202B_200D_200F_202D_200F_202E_206A_200D_206B_206B_206E_202A_202A_206B_200D_200E_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1742983719)); - _202D_200B_206B_200F_202D_200B_206B_206B_200B_202D_200F_206B_202A_206E_200C_206A_206B_202B_206F_206C_200F_206A_202C_202D_206A_206A_202A_202A_202B_202E_200B_200B_202B_206B_206E_202A_202D_200D_202E_202E(builder, (object)Targets); - return true; - } - - [CompilerGenerated] - public bool Equals(UseOnTargets? other) - { - int num = (((object)this == other) ? 877897699 : 877897703); - while (true) - { - int num2 = num; - int num3 = 877897698; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return EqualityComparer>.Default.Equals(Targets, other.Targets); - case 5: - num = (((object)other == null) ? 877897696 : 877897702); - break; - case 0: - num = 877897703; - break; - case 4: - num = ((!_206A_206F_206E_200D_206E_202A_200F_206D_202A_200E_202A_200F_206F_202E_202E_202E_200E_200B_200B_200F_206E_202A_206F_206B_202C_202A_202B_200B_202B_206B_202B_200C_206F_202C_206E_206E_202E_202B_206A_200C_202E(EqualityContract, other.EqualityContract)) ? 877897696 : 877897697); - break; - case 2: - return false; - case 1: - return true; - } - } - } - - bool IEquatable.Equals(UseOnTargets? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202C_200F_200D_206C_200F_206E_206E_202E_200B_206C_206F_206F_200E_202A_206B_206E_206F_202C_200E_206C_206F_202A_206B_200D_206A_206A_200E_200D_206A_206C_206A_206D_206B_200F_200B_200B_202D_206C_206E_200C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _200F_200D_200C_202B_206F_200B_202A_206D_202B_200F_206B_206C_206D_202A_200B_200D_206F_200D_202A_206A_200E_206A_200F_200D_206C_202D_206A_202B_200D_206B_200F_200B_202C_200E_202C_202A_200F_206E_202B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206C_202E_206B_206E_200D_206A_206C_206F_202A_202B_200F_202E_200E_206C_200E_200D_200F_200D_200D_202B_200C_200B_202A_206E_202B_200D_200F_202D_200F_202E_206A_200D_206B_206B_206E_202A_202A_206B_200D_200E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202D_200B_206B_200F_202D_200B_206B_206B_200B_202D_200F_206B_202A_206E_200C_206A_206B_202B_206F_206C_200F_206A_202C_202D_206A_206A_202A_202A_202B_202E_200B_200B_202B_206B_206E_202A_202D_200D_202E_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206A_206F_206E_200D_206E_202A_200F_206D_202A_200E_202A_200F_206F_202E_202E_202E_200E_200B_200B_200F_206E_202A_206F_206B_202C_202A_202B_200B_202B_206B_202B_200C_206F_202C_206E_206E_202E_202B_206A_200C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"FateAction({Targets.Count} targets)"; } } internal sealed class UseOnTargetsExecutor(GameFunctions gameFunctions, ILogger logger) : TaskExecutor() { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__4_0; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal string _003CStart_003Eb__4_0(FateActionTarget t) - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(1, 2); - defaultInterpolatedStringHandler.AppendFormatted(_202A_200B_206A_202E_202A_202E_200D_200C_202E_206B_206D_206F_200B_200C_202C_200F_202B_200D_202B_206E_206B_200F_206E_200B_202C_202A_202E_202B_202D_206E_202E_200B_202A_200E_206E_202B_202B_202A_202A_202C_202E(t)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(824360664)); - defaultInterpolatedStringHandler.AppendFormatted(_206B_206A_200C_200E_202C_206F_206E_200B_206A_206B_206D_200F_200C_200E_206C_200B_206C_202D_200C_202D_200E_200B_200E_200D_206A_202E_206B_200B_202C_200F_206B_202C_206B_206E_200F_200E_200C_200B_206C_206E_202E(t)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - static uint _202A_200B_206A_202E_202A_202E_200D_200C_202E_206B_206D_206F_200B_200C_202C_200F_202B_200D_202B_206E_206B_200F_206E_200B_202C_202A_202E_202B_202D_206E_202E_200B_202A_200E_206E_202B_202B_202A_202A_202C_202E(FateActionTarget P_0) - { - return P_0.DataId; - } - - static EAction _206B_206A_200C_200E_202C_206F_206E_200B_206A_206B_206D_200F_200C_200E_206C_200B_206C_202D_200C_202D_200E_200B_200E_200D_206A_202E_206B_200B_202C_200F_206B_202C_206B_206E_200F_200E_200C_200B_206C_206E_202E(FateActionTarget P_0) - { - return P_0.Action; - } - } - private long _nextActionAt; - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { - _206F_206A_202C_200C_206F_202D_206B_200E_200C_206A_202B_200F_202A_206D_202D_202B_202C_206B_200E_200D_202C_200D_200B_200D_206F_206B_202A_202E_206A_206E_206B_206D_202A_206E_206F_200D_206E_202B_202D_202A_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1134200128), new object[2] - { - base.Task.Targets.Count, - _206D_206D_202C_200B_206E_200F_202C_200F_200F_200E_206A_202D_206A_202B_206E_206D_202B_200E_206B_206D_202A_202C_206B_202D_206D_200D_200D_202C_206B_202E_202E_202D_206D_206D_200D_200C_200F_206C_202C_202C_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1467939024), base.Task.Targets.Select([MethodImpl(MethodImplOptions.NoInlining)] (FateActionTarget t) => - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(1, 2); - defaultInterpolatedStringHandler.AppendFormatted(_003C_003Ec._202A_200B_206A_202E_202A_202E_200D_200C_202E_206B_206D_206F_200B_200C_202C_200F_202B_200D_202B_206E_206B_200F_206E_200B_202C_202A_202E_202B_202D_206E_202E_200B_202A_200E_206E_202B_202B_202A_202A_202C_202E(t)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(824360664)); - defaultInterpolatedStringHandler.AppendFormatted(_003C_003Ec._206B_206A_200C_200E_202C_206F_206E_200B_206A_206B_206D_200F_200C_200E_206C_200B_206C_202D_200C_202D_200E_200B_200E_200D_206A_202E_206B_200B_202C_200F_206B_202C_206B_206E_200F_200E_200C_200B_206C_206E_202E(t)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - })) - }); + logger.LogDebug("Starting FateAction: {Count} targets [{Targets}]", base.Task.Targets.Count, string.Join(", ", base.Task.Targets.Select((FateActionTarget t) => $"{t.DataId}→{t.Action}"))); return true; } public override ETaskResult Update() { - int num = ((_202B_202B_206B_206C_202A_202B_202D_206C_200C_202B_202E_206D_202E_200D_206F_200E_206D_200C_202C_206A_200C_200F_202C_202B_206E_202B_206A_206B_200C_202A_206A_202A_206B_200E_200F_206D_200B_202B_202A_206F_202E() >= _nextActionAt) ? 106298228 : 106298231); - IGameObject gameObject = default(IGameObject); - FateActionTarget current = default(FateActionTarget); - while (true) + if (Environment.TickCount64 < _nextActionAt) { - int num2 = num; - int num3 = 106298229; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0054; - case 2: - return ETaskResult.StillRunning; - case 1: - { - IEnumerator enumerator = base.Task.Targets.GetEnumerator(); - try - { - num = -1088857839; - while (true) - { - int num5 = num; - num3 = -1088857839; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = (_206A_202C_202C_206E_206D_202E_202E_206E_202E_206E_206F_206C_206E_202D_200B_206F_200D_202C_206E_206C_206C_200F_206F_200C_200F_200C_206D_206A_206E_200F_206C_200C_200F_206E_206B_206C_206D_200B_206E_200E_202E((IEnumerator)enumerator) ? (-1088857837) : (-1088857836)); - break; - case 1: - num = ((!_202C_200D_200D_200D_200D_206B_202E_200D_202B_206F_202C_200E_200F_206D_200F_202E_200C_200D_206D_202D_200C_202A_200F_202A_206C_200B_202A_206B_202B_202D_206C_200D_200C_206F_202D_200E_202C_200C_200F_202B_202E(gameObject)) ? (-1088857839) : (-1088857835)); - break; - case 4: - { - bool flag = gameFunctions.UseAction(gameObject, _202E_200F_206B_206E_206F_206C_202E_200E_202A_202E_202D_200C_202E_200E_202E_206F_202B_202E_202D_202D_202B_206A_206B_206B_202B_202B_206E_200C_206A_206C_206A_202E_206F_200B_206E_202B_206C_206D_206E_206D_202E(current)); - _nextActionAt = (flag ? (_202B_202B_206B_206C_202A_202B_202D_206C_200C_202B_202E_206D_202E_200D_206F_200E_206D_200C_202C_206A_200C_200F_202C_202B_206E_202B_206A_206B_200C_202A_206A_202A_206B_200E_200F_206D_200B_202B_202A_206F_202E() + 2500) : (_202B_202B_206B_206C_202A_202B_202D_206C_200C_202B_202E_206D_202E_200D_206F_200E_206D_200C_202C_206A_200C_200F_202C_202B_206E_202B_206A_206B_200C_202A_206A_202A_206B_200E_200F_206D_200B_202B_202A_206F_202E() + 500)); - return ETaskResult.StillRunning; - } - case 2: - current = enumerator.Current; - gameObject = gameFunctions.FindObjectByDataId(_202D_206A_202D_202D_206A_206B_200C_206A_200D_202B_200F_206E_200F_200E_200D_206E_206A_200E_206E_202A_200F_202A_200D_206E_202A_202B_206E_206C_206E_202D_206E_202A_200C_202E_200F_206C_200E_206D_202A_202B_202E(current), null, warnIfMissing: false); - num = ((gameObject == null) ? (-1088857839) : (-1088857840)); - break; - case 3: - num = -1088857839; - break; - case 5: - goto end_IL_007f; - } - continue; - end_IL_007f: - break; - } - } - finally - { - num = ((enumerator == null) ? (-2091271449) : (-2091271452)); - while (true) - { - int num6 = num; - num3 = -2091271450; - num4 = num6; - int num7 = num4 + num3; - int num8 = num4 & num3; - switch (num7 - (num8 + num8)) - { - case 0: - num = -2091271452; - break; - case 1: - goto end_IL_01c0; - case 2: - _200D_202A_206C_206C_200B_206E_200C_206E_206A_200E_206A_200B_206D_206B_206F_206E_206E_206D_206A_206C_202E_206C_202D_202C_200F_200B_200F_200F_200B_200D_202D_206E_200F_206F_200F_206D_202A_200E_202E_206C_202E((IDisposable)enumerator); - num = -2091271449; - break; - } - continue; - end_IL_01c0: - break; - } - } - _nextActionAt = _202B_202B_206B_206C_202A_202B_202D_206C_200C_202B_202E_206D_202E_200D_206F_200E_206D_200C_202C_206A_200C_200F_202C_202B_206E_202B_206A_206B_200C_202A_206A_202A_206B_200E_200F_206D_200B_202B_202A_206F_202E() + 250; - return ETaskResult.StillRunning; - } - } - continue; - IL_0054: - num = 106298231; + return ETaskResult.StillRunning; } + foreach (FateActionTarget target in base.Task.Targets) + { + IGameObject gameObject = gameFunctions.FindObjectByDataId(target.DataId, null, warnIfMissing: false); + if (gameObject != null && gameObject.IsTargetable) + { + bool flag = gameFunctions.UseAction(gameObject, target.Action); + _nextActionAt = (flag ? (Environment.TickCount64 + 2500) : (Environment.TickCount64 + 500)); + return ETaskResult.StillRunning; + } + } + _nextActionAt = Environment.TickCount64 + 250; + return ETaskResult.StillRunning; } public override bool ShouldInterruptOnDamage() { return false; } - - static string _206D_206D_202C_200B_206E_200F_202C_200F_200F_200E_206A_202D_206A_202B_206E_206D_202B_200E_206B_206D_202A_202C_206B_202D_206D_200D_200D_202C_206B_202E_202E_202D_206D_206D_200D_200C_200F_206C_202C_202C_202E(string P_0, IEnumerable P_1) - { - return string.Join(P_0, P_1); - } - - static void _206F_206A_202C_200C_206F_202D_206B_200E_200C_206A_202B_200F_202A_206D_202D_202B_202C_206B_200E_200D_202C_200D_200B_200D_206F_206B_202A_202E_206A_206E_206B_206D_202A_206E_206F_200D_206E_202B_202D_202A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static long _202B_202B_206B_206C_202A_202B_202D_206C_200C_202B_202E_206D_202E_200D_206F_200E_206D_200C_202C_206A_200C_200F_202C_202B_206E_202B_206A_206B_200C_202A_206A_202A_206B_200E_200F_206D_200B_202B_202A_206F_202E() - { - return Environment.TickCount64; - } - - static uint _202D_206A_202D_202D_206A_206B_200C_206A_200D_202B_200F_206E_200F_200E_200D_206E_206A_200E_206E_202A_200F_202A_200D_206E_202A_202B_206E_206C_206E_202D_206E_202A_200C_202E_200F_206C_200E_206D_202A_202B_202E(FateActionTarget P_0) - { - return P_0.DataId; - } - - static bool _202C_200D_200D_200D_200D_206B_202E_200D_202B_206F_202C_200E_200F_206D_200F_202E_200C_200D_206D_202D_200C_202A_200F_202A_206C_200B_202A_206B_202B_202D_206C_200D_200C_206F_202D_200E_202C_200C_200F_202B_202E(IGameObject P_0) - { - return P_0.IsTargetable; - } - - static EAction _202E_200F_206B_206E_206F_206C_202E_200E_202A_202E_202D_200C_202E_200E_202E_206F_202B_202E_202D_202D_202B_206A_206B_206B_202B_202B_206E_200C_206A_206C_206A_202E_206F_200B_206E_202B_206C_206D_206E_206D_202E(FateActionTarget P_0) - { - return P_0.Action; - } - - static bool _206A_202C_202C_206E_206D_202E_202E_206E_202E_206E_206F_206C_206E_202D_200B_206F_200D_202C_206E_206C_206C_200F_206F_200C_200F_200C_206D_206A_206E_200F_206C_200C_200F_206E_206B_206C_206D_200B_206E_200E_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200D_202A_206C_206C_200B_206E_200C_206E_206A_200E_206A_200B_206D_206B_206F_206E_206E_206D_206A_206C_202E_206C_202D_202C_200F_200B_200F_200F_200B_200D_202D_206E_200F_206F_200F_206D_202A_200E_202E_206C_202E(IDisposable P_0) - { - P_0.Dispose(); - } } } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/FateFarming.cs b/Questionable/Questionable.Controller.Steps.Interactions/FateFarming.cs index 06132c4..bc8fb24 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/FateFarming.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/FateFarming.cs @@ -1,8 +1,5 @@ using System; -using System.Collections; using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Objects.Types; using Microsoft.Extensions.Logging; using Questionable.Functions; @@ -14,97 +11,9 @@ internal static class FateFarming { internal sealed record WaitForFateTargets(IReadOnlyList Targets) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206F_200D_200E_202C_202D_202D_200C_206D_206B_206B_206A_200E_200F_206D_202D_206B_206A_202D_200D_206C_206B_206B_206D_206B_206F_206F_202C_200E_200F_202C_206B_202C_202E_202B_202C_202A_202A_202C_206C_202B_202E(typeof(WaitForFateTargets).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(28, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-764429910)); - defaultInterpolatedStringHandler.AppendFormatted(Targets.Count); - defaultInterpolatedStringHandler.AppendLiteral(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(81942764)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206C_202D_202C_200E_202E_206E_206E_200F_206A_200B_200E_206C_206F_200C_202D_206A_202E_200E_206D_200E_202E_206B_202E_202D_202A_202B_206A_206D_206D_202D_200E_206E_206B_202D_206F_206B_200E_206F_202E(); - _206C_202C_206F_206E_200C_206E_202A_206A_206A_206C_200C_206D_200E_202D_206D_206A_206E_206D_202D_200E_206D_206E_200F_200E_206D_206D_202E_202D_202C_202A_202D_200E_206D_202A_206F_206E_206D_206F_200C_202C_202E(builder, 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(-1764240763)); - _202B_200F_200B_202B_202E_206A_206B_200D_206D_202C_206A_200D_206C_200F_200F_200D_206C_200D_202A_202E_206A_206B_206B_200C_200C_206B_202A_200D_200F_206A_206C_200B_200D_200C_206A_200C_200D_202A_202E_202E(builder, (object)Targets); - return true; - } - - [CompilerGenerated] - public bool Equals(WaitForFateTargets? other) - { - int num = (((object)this == other) ? (-989608852) : (-989608851)); - while (true) - { - int num2 = num; - int num3 = -989608856; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return false; - case 5: - num = (((object)other == null) ? (-989608854) : (-989608853)); - break; - case 1: - return EqualityComparer>.Default.Equals(Targets, other.Targets); - case 4: - return true; - case 3: - num = ((!_206E_202A_200D_206C_202A_202B_206C_206D_206E_202D_202E_206E_206C_206D_202B_206C_206C_202C_200C_206C_202C_202B_206F_202B_202C_200C_202D_206F_206F_206C_200E_206D_206B_206F_206A_202C_202B_206D_200E_206D_202E(EqualityContract, other.EqualityContract)) ? (-989608854) : (-989608855)); - break; - case 0: - num = -989608851; - break; - } - } - } - - bool IEquatable.Equals(WaitForFateTargets? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206F_200D_200E_202C_202D_202D_200C_206D_206B_206B_206A_200E_200F_206D_202D_206B_206A_202D_200D_206C_206B_206B_206D_206B_206F_206F_202C_200E_200F_202C_206B_202C_202E_202B_202C_202A_202A_202C_206C_202B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _206C_202D_202C_200E_202E_206E_206E_200F_206A_200B_200E_206C_206F_200C_202D_206A_202E_200E_206D_200E_202E_206B_202E_202D_202A_202B_206A_206D_206D_202D_200E_206E_206B_202D_206F_206B_200E_206F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206C_202C_206F_206E_200C_206E_202A_206A_206A_206C_200C_206D_200E_202D_206D_206A_206E_206D_202D_200E_206D_206E_200F_200E_206D_206D_202E_202D_202C_202A_202D_200E_206D_202A_206F_206E_206D_206F_200C_202C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202B_200F_200B_202B_202E_206A_206B_200D_206D_202C_206A_200D_206C_200F_200F_200D_206C_200D_202A_202E_206A_206B_206B_200C_200C_206B_202A_200D_200F_206A_206C_200B_200D_200C_206A_200C_200D_202A_202E_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206E_202A_200D_206C_202A_202B_206C_206D_206E_202D_202E_206E_206C_206D_202B_206C_206C_202C_200C_206C_202C_202B_206F_202B_202C_200C_202D_206F_206F_206C_200E_206D_206B_206F_206A_202C_202B_206D_200E_206D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"WaitForFateTargets({Targets.Count} targets)"; } } @@ -114,383 +23,94 @@ internal static class FateFarming private bool _loggedWaitingForFate; - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { - _202B_200F_202E_200F_206D_200F_206B_200D_206D_200D_200E_202C_206C_202E_206F_206A_206E_206D_202B_202B_202C_200B_206F_200F_202A_200D_200F_200C_202E_200B_206D_202E_206B_206A_206E_202B_200F_200F_202E_206D_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1410411632), new object[1] { base.Task.Targets.Count }); + logger.LogDebug("Waiting for FATE targets to appear ({Count} targets)", base.Task.Targets.Count); _loggedWaitingForFate = false; return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - int num = ((_202D_202D_200B_200D_202B_206A_202D_200C_202E_200B_200B_206B_202C_200C_206E_200E_200E_200D_202C_202B_202D_200C_200D_206B_200D_200F_206A_202C_202B_200C_206E_202A_206F_200D_206C_206F_206B_202E_202A_202E() >= _nextPollAt) ? 347657580 : 347657579); - ushort currentFateId = default(ushort); - FateActionTarget current = default(FateActionTarget); - IGameObject gameObject = default(IGameObject); - while (true) + if (Environment.TickCount64 < _nextPollAt) { - int num2 = num; - int num3 = 347657582; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return ETaskResult.StillRunning; + } + ushort currentFateId = gameFunctions.GetCurrentFateId(); + if (currentFateId == 0) + { + if (!_loggedWaitingForFate) { - case 3: - num = 347657579; - break; - case 5: - return ETaskResult.StillRunning; - case 1: - _nextPollAt = _202D_202D_200B_200D_202B_206A_202D_200C_202E_200B_200B_206B_202C_200C_206E_200E_200E_200D_202C_202B_202D_200C_200D_206B_200D_200F_206A_202C_202B_200C_206E_202A_206F_200D_206C_206F_206B_202E_202A_202E() + 1000; - return ETaskResult.StillRunning; - case 4: - _202B_200F_202E_200F_206D_200F_206B_200D_206D_200D_200E_202C_206C_202E_206F_206A_206E_206D_202B_202B_202C_200B_206F_200F_202A_200D_200F_200C_202E_200B_206D_202E_206B_206A_206E_202B_200F_200F_202E_206D_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1240055981), Array.Empty()); + logger.LogDebug("No active FATE yet, waiting for FATE to start before checking targets"); _loggedWaitingForFate = true; - num = 347657583; - break; - case 2: - currentFateId = gameFunctions.GetCurrentFateId(); - num = ((currentFateId != 0) ? 347657576 : 347657582); - break; - case 0: - num = (_loggedWaitingForFate ? 347657583 : 347657578); - break; - case 6: - { - _loggedWaitingForFate = false; - IEnumerator enumerator = base.Task.Targets.GetEnumerator(); - try - { - num = -373808532; - while (true) - { - int num7 = num; - num3 = -373808536; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -373808532; - break; - case 4: - num = (_202B_200B_206D_206A_200C_206A_200E_202A_200C_206D_202A_200D_200F_202A_202A_200D_206F_206E_200B_200B_206A_206F_206B_206D_206C_206B_200B_206F_202C_200E_202A_206B_206C_206B_206D_206A_202B_200F_206C_206C_202E((IEnumerator)enumerator) ? (-373808535) : (-373808534)); - break; - case 1: - current = enumerator.Current; - gameObject = gameFunctions.FindObjectByDataId(_206C_200C_206E_202D_200E_202B_200C_202E_200E_202A_206E_200E_202A_206F_206A_206E_206B_202E_206D_206B_200B_202E_206C_200C_200B_202D_200E_202D_206D_206E_206C_206A_200D_206A_200B_206D_202D_200D_200F_200E_202E(current), null, warnIfMissing: false); - num = ((gameObject == null) ? (-373808532) : (-373808531)); - break; - case 3: - _202B_200F_202E_200F_206D_200F_206B_200D_206D_200D_200E_202C_206C_202E_206F_206A_206E_206D_202B_202B_202C_200B_206F_200F_202A_200D_200F_200C_202E_200B_206D_202E_206B_206A_206E_202B_200F_200F_202E_206D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(955603109), new object[2] - { - currentFateId, - _206C_200C_206E_202D_200E_202B_200C_202E_200E_202A_206E_200E_202A_206F_206A_206E_206B_202E_206D_206B_200B_202E_206C_200C_200B_202D_200E_202D_206D_206E_206C_206A_200D_206A_200B_206D_202D_200D_200F_200E_202E(current) - }); - return ETaskResult.TaskComplete; - case 5: - num = ((!_206E_202E_206B_200E_202C_202C_206D_200F_206F_200E_202C_200F_200E_202B_206E_206A_202C_202D_200F_200B_202C_202B_202E_206A_206A_200C_206B_202E_206C_200F_200F_206B_200F_200D_206F_200C_202D_200F_202E_202C_202E(gameObject)) ? (-373808532) : (-373808533)); - break; - case 2: - goto end_IL_0126; - } - continue; - end_IL_0126: - break; - } - } - finally - { - num = ((enumerator == null) ? (-816867460) : (-816867457)); - while (true) - { - int num8 = num; - num3 = -816867458; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 0: - num = -816867457; - break; - case 2: - goto end_IL_025b; - case 1: - _200D_200B_202C_206E_200C_200D_202E_200F_206E_206B_206F_206F_202C_206C_206B_200B_202E_206E_202E_206F_206B_206E_206B_206C_200B_206D_206C_200E_202B_202E_200D_200D_202D_206B_200B_206C_206C_202C_206D_206D_202E((IDisposable)enumerator); - num = -816867460; - break; - } - continue; - end_IL_025b: - break; - } - } - _nextPollAt = _202D_202D_200B_200D_202B_206A_202D_200C_202E_200B_200B_206B_202C_200C_206E_200E_200E_200D_202C_202B_202D_200C_200D_206B_200D_200F_206A_202C_202B_200C_206E_202A_206F_200D_206C_206F_206B_202E_202A_202E() + 1000; - return ETaskResult.StillRunning; } + _nextPollAt = Environment.TickCount64 + 1000; + return ETaskResult.StillRunning; + } + _loggedWaitingForFate = false; + foreach (FateActionTarget target in base.Task.Targets) + { + IGameObject gameObject = gameFunctions.FindObjectByDataId(target.DataId, null, warnIfMissing: false); + if (gameObject != null && gameObject.IsTargetable) + { + logger.LogDebug("FATE {FateId} active and target {DataId} is targetable", currentFateId, target.DataId); + return ETaskResult.TaskComplete; } } + _nextPollAt = Environment.TickCount64 + 1000; + return ETaskResult.StillRunning; } public override bool ShouldInterruptOnDamage() { return false; } - - static void _202B_200F_202E_200F_206D_200F_206B_200D_206D_200D_200E_202C_206C_202E_206F_206A_206E_206D_202B_202B_202C_200B_206F_200F_202A_200D_200F_200C_202E_200B_206D_202E_206B_206A_206E_202B_200F_200F_202E_206D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static long _202D_202D_200B_200D_202B_206A_202D_200C_202E_200B_200B_206B_202C_200C_206E_200E_200E_200D_202C_202B_202D_200C_200D_206B_200D_200F_206A_202C_202B_200C_206E_202A_206F_200D_206C_206F_206B_202E_202A_202E() - { - return Environment.TickCount64; - } - - static uint _206C_200C_206E_202D_200E_202B_200C_202E_200E_202A_206E_200E_202A_206F_206A_206E_206B_202E_206D_206B_200B_202E_206C_200C_200B_202D_200E_202D_206D_206E_206C_206A_200D_206A_200B_206D_202D_200D_200F_200E_202E(FateActionTarget P_0) - { - return P_0.DataId; - } - - static bool _206E_202E_206B_200E_202C_202C_206D_200F_206F_200E_202C_200F_200E_202B_206E_206A_202C_202D_200F_200B_202C_202B_202E_206A_206A_200C_206B_202E_206C_200F_200F_206B_200F_200D_206F_200C_202D_200F_202E_202C_202E(IGameObject P_0) - { - return P_0.IsTargetable; - } - - static bool _202B_200B_206D_206A_200C_206A_200E_202A_200C_206D_202A_200D_200F_202A_202A_200D_206F_206E_200B_200B_206A_206F_206B_206D_206C_206B_200B_206F_202C_200E_202A_206B_206C_206B_206D_206A_202B_200F_206C_206C_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200D_200B_202C_206E_200C_200D_202E_200F_206E_206B_206F_206F_202C_206C_206B_200B_202E_206E_202E_206F_206B_206E_206B_206C_200B_206D_206C_200E_202B_202E_200D_200D_202D_206B_200B_206C_206C_202C_206D_206D_202E(IDisposable P_0) - { - P_0.Dispose(); - } } internal sealed record SyncFateLevel : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200E_200E_202E_202C_206D_206D_202D_202D_206D_202D_202D_200E_202E_200B_206F_200F_206D_202A_202B_206C_202D_206C_200D_206B_206B_206D_200B_206B_202B_206D_202D_206C_206E_206A_202B_200C_202E_202A_202A_202E(typeof(SyncFateLevel).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return 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(-475022604); - } - - [CompilerGenerated] - public bool Equals(SyncFateLevel? other) - { - int num = (((object)this == other) ? (-1810746369) : (-1810746375)); - while (true) - { - int num2 = num; - int num3 = -1810746371; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return false; - case 4: - num = (((object)other == null) ? (-1810746370) : (-1810746372)); - break; - case 1: - return _202C_200F_206A_206F_202B_202E_200E_206A_206B_206E_206A_206C_206D_202B_200E_206F_206B_200B_200D_200D_202D_202E_206A_202A_200F_202D_202A_200B_206D_202D_202B_200B_202E_202C_202A_202B_200D_200E_206D_206E_202E(EqualityContract, other.EqualityContract); - case 2: - return true; - case 0: - num = -1810746375; - break; - } - } - } - - bool IEquatable.Equals(SyncFateLevel? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200E_200E_202E_202C_206D_206D_202D_202D_206D_202D_202D_200E_202E_200B_206F_200F_206D_202A_202B_206C_202D_206C_200D_206B_206B_206D_200B_206B_202B_206D_202D_206C_206E_206A_202B_200C_202E_202A_202A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static bool _202C_200F_206A_206F_202B_202E_200E_206A_206B_206E_206A_206C_206D_202B_200E_206F_206B_200B_200D_200D_202D_202E_206A_202A_200F_202D_202A_200B_206D_202D_202B_200B_202E_202C_202A_202B_200D_200E_206D_206E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "SyncFateLevel"; } } internal sealed class SyncFateLevelExecutor(GameFunctions gameFunctions, ILogger logger) : TaskExecutor() { - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { - _206B_206D_200B_202C_206D_206E_202E_206E_200E_202A_200E_206B_206E_200D_200E_206A_200D_202B_200D_202A_206C_200C_206E_206F_202B_202C_200D_200E_206E_206C_200F_202A_206F_202C_202E_202E_206D_206C_202B_202D_202E((ILogger)logger, 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(245649986), Array.Empty()); + logger.LogDebug("Syncing to FATE level"); return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { ushort currentFateId = gameFunctions.GetCurrentFateId(); - int num = ((currentFateId != 0) ? (-666684793) : (-666684794)); - while (true) + if (currentFateId == 0) { - int num2 = num; - int num3 = -666684793; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - gameFunctions.SyncToFate(currentFateId); - return ETaskResult.TaskComplete; - case 1: - _206B_206D_200B_202C_206D_206E_202E_206E_200E_202A_200E_206B_206E_200D_200E_206A_200D_202B_200D_202A_206C_200C_206E_206F_202B_202C_200D_200E_206E_206C_200F_202A_206F_202C_202E_202E_206D_206C_202B_202D_202E((ILogger)logger, 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(-1969316216), Array.Empty()); - return ETaskResult.TaskComplete; - case 2: - goto IL_007a; - } - continue; - IL_007a: - num = -666684794; + logger.LogDebug("No active FATE to sync to, skipping"); + return ETaskResult.TaskComplete; } + gameFunctions.SyncToFate(currentFateId); + return ETaskResult.TaskComplete; } public override bool ShouldInterruptOnDamage() { return false; } - - static void _206B_206D_200B_202C_206D_206E_202E_206E_200E_202A_200E_206B_206E_200D_200E_206A_200D_202B_200D_202A_206C_200C_206E_206F_202B_202C_200D_200E_206E_206C_200F_202A_206F_202C_202E_202E_206D_206C_202B_202D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } } internal sealed record FateActionLoop(IReadOnlyList Targets, EStatus? RequiredStatusId = null) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200F_202C_206B_202D_200B_200D_206E_202C_202D_202C_206B_202A_200B_206F_206D_200C_202E_200E_202B_202B_206A_206E_200F_202C_206F_200B_202A_206A_200D_206A_206A_200B_202E_200F_200E_206D_206B_206F_202C_202E(typeof(FateActionLoop).TypeHandle); - } - } - public bool ShouldRedoOnInterrupt() { return true; } - bool ITask.ShouldRedoOnInterrupt() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt - return this.ShouldRedoOnInterrupt(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(24, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(213111494)); - defaultInterpolatedStringHandler.AppendFormatted(Targets.Count); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1905985229)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200D_202A_200E_200D_206D_206D_206E_200F_206D_202A_206F_206E_200D_202E_206D_206C_200C_202E_206D_206F_206C_200F_200C_200C_202E_202B_206C_206F_206C_206E_206F_202A_202A_206D_200E_200D_206B_200F_202E_200C_202E(); - _206D_202A_200C_200C_202C_202D_206E_202B_206C_202E_202D_200C_202C_202C_202E_202C_206B_206C_202B_202C_206D_206D_200F_202A_200C_206E_206C_206D_200F_200F_206D_200E_206E_206A_202E_200F_206F_200E_200E_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-144611919)); - _200C_206F_202A_206F_202D_200D_206C_202E_202E_206C_206B_206F_206F_202E_200F_206D_202D_202B_206F_202B_202E_206B_206F_202C_200C_206C_200F_202A_206C_202A_202B_202B_206D_206A_206D_206A_206F_200B_202A_202B_202E(builder, (object)Targets); - _206D_202A_200C_200C_202C_202D_206E_202B_206C_202E_202D_200C_202C_202C_202E_202C_206B_206C_202B_202C_206D_206D_200F_202A_200C_206E_206C_206D_200F_200F_206D_200E_206E_206A_202E_200F_206F_200E_200E_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1576420107)); - _206D_202A_200C_200C_202C_202D_206E_202B_206C_202E_202D_200C_202C_202C_202E_202C_206B_206C_202B_202C_206D_206D_200F_202A_200C_206E_206C_206D_200F_200F_206D_200E_206E_206A_202E_200F_206F_200E_200E_200D_202E(builder, RequiredStatusId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(FateActionLoop? other) - { - int num = (((object)this == other) ? (-346298677) : (-346298676)); - while (true) - { - int num2 = num; - int num3 = -346298674; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = ((!EqualityComparer>.Default.Equals(Targets, other.Targets)) ? (-346298680) : (-346298673)); - break; - case 2: - num = (((object)other == null) ? (-346298680) : (-346298678)); - break; - case 6: - return false; - case 3: - num = -346298676; - break; - case 4: - num = ((!_206D_200C_202E_200C_202A_206D_200C_200B_200C_202B_206C_202E_206D_206B_202E_202B_202C_202B_200E_206D_202B_202C_206F_202D_206F_202C_200D_206B_206A_206C_206B_202C_202B_202A_206E_200F_200C_206E_200B_200D_202E(EqualityContract, other.EqualityContract)) ? (-346298680) : (-346298674)); - break; - case 5: - return true; - case 1: - return EqualityComparer.Default.Equals(RequiredStatusId, other.RequiredStatusId); - } - } - } - - bool IEquatable.Equals(FateActionLoop? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200F_202C_206B_202D_200B_200D_206E_202C_202D_202C_206B_202A_200B_206F_206D_200C_202E_200E_202B_202B_206A_206E_200F_202C_206F_200B_202A_206A_200D_206A_206A_200B_202E_200F_200E_206D_206B_206F_202C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _200D_202A_200E_200D_206D_206D_206E_200F_206D_202A_206F_206E_200D_202E_206D_206C_200C_202E_206D_206F_206C_200F_200C_200C_202E_202B_206C_206F_206C_206E_206F_202A_202A_206D_200E_200D_206B_200F_202E_200C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206D_202A_200C_200C_202C_202D_206E_202B_206C_202E_202D_200C_202C_202C_202E_202C_206B_206C_202B_202C_206D_206D_200F_202A_200C_206E_206C_206D_200F_200F_206D_200E_206E_206A_202E_200F_206F_200E_200E_200D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200C_206F_202A_206F_202D_200D_206C_202E_202E_206C_206B_206F_206F_202E_200F_206D_202D_202B_206F_202B_202E_206B_206F_202C_200C_206C_200F_202A_206C_202A_202B_202B_206D_206A_206D_206A_206F_200B_202A_202B_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206D_200C_202E_200C_202A_206D_200C_200B_200C_202B_206C_202E_206D_206B_202E_202B_202C_202B_200E_206D_202B_202C_206F_202D_206F_202C_200D_206B_206A_206C_206B_202C_202B_202A_206E_200F_200C_206E_200B_200D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"FateActionLoop({Targets.Count} targets)"; } } @@ -502,196 +122,62 @@ internal static class FateFarming private bool _fateWasActive; - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { _trackedFateId = gameFunctions.GetCurrentFateId(); - _202E_202D_202C_202B_206F_200B_206E_202D_206A_202D_200D_202E_206C_206F_206D_206C_206D_200D_206E_206E_202E_206C_202A_206D_200F_206A_200B_200E_202A_200C_202A_200B_200C_206A_202D_200E_200C_202C_206F_200F_202E((ILogger)logger, 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(-2063272986), new object[2] - { - base.Task.Targets.Count, - _trackedFateId - }); + logger.LogDebug("Starting FATE action loop with {Count} targets, tracking FATE {FateId}", base.Task.Targets.Count, _trackedFateId); return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - int num = ((_202E_206D_202B_200D_206F_206C_202A_206F_206C_202D_206B_206D_202B_200D_202C_206B_200F_200E_202B_202D_206B_206E_206E_200D_206E_200E_200D_202A_200E_202A_206D_200C_202A_206D_200D_206E_206E_206E_202D_202A_202E() >= _nextActionAt) ? 464111573 : 464111570); - bool flag2 = default(bool); - ushort currentFateId = default(ushort); - IGameObject gameObject = default(IGameObject); - FateActionTarget current = default(FateActionTarget); - while (true) + if (Environment.TickCount64 < _nextActionAt) { - int num2 = num; - int num3 = 464111571; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return ETaskResult.StillRunning; + } + if (base.Task.RequiredStatusId.HasValue && !gameFunctions.HasStatus(base.Task.RequiredStatusId.Value)) + { + logger.LogDebug("Required status {StatusId} lost during FATE action loop, ending cycle to re-apply", base.Task.RequiredStatusId.Value); + return ETaskResult.TaskComplete; + } + ushort currentFateId = gameFunctions.GetCurrentFateId(); + bool flag = currentFateId != 0; + if (_fateWasActive && !flag) + { + logger.LogDebug("FATE {FateId} is no longer active, cycle complete", _trackedFateId); + return ETaskResult.TaskComplete; + } + _fateWasActive = flag; + if (_trackedFateId == 0) + { + _trackedFateId = currentFateId; + if (_trackedFateId != 0) { - case 10: - _202E_202D_202C_202B_206F_200B_206E_202D_206A_202D_200D_202E_206C_206F_206D_206C_206D_200D_206E_206E_202E_206C_202A_206D_200F_206A_200B_200E_202A_200C_202A_200B_200C_206A_202D_200E_200C_202C_206F_200F_202E((ILogger)logger, 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(1515231479), new object[1] { _trackedFateId }); - num = 464111571; - break; - case 2: - _fateWasActive = flag2; - num = ((_trackedFateId != 0) ? 464111571 : 464111572); - break; - case 12: - num = (gameFunctions.HasStatus(base.Task.RequiredStatusId.Value) ? 464111581 : 464111574); - break; - case 7: - _trackedFateId = currentFateId; - num = ((_trackedFateId == 0) ? 464111571 : 464111577); - break; - case 14: - currentFateId = gameFunctions.GetCurrentFateId(); - flag2 = currentFateId != 0; - num = ((!_fateWasActive) ? 464111569 : 464111582); - break; - case 0: - num = ((_trackedFateId == 0) ? 464111576 : 464111568); - break; - case 3: - num = (gameFunctions.IsFateStillActive(_trackedFateId) ? 464111576 : 464111579); - break; - case 9: - num = 464111570; - break; - case 6: - num = ((!base.Task.RequiredStatusId.HasValue) ? 464111581 : 464111583); - break; - case 8: - _202E_202D_202C_202B_206F_200B_206E_202D_206A_202D_200D_202E_206C_206F_206D_206C_206D_200D_206E_206E_202E_206C_202A_206D_200F_206A_200B_200E_202A_200C_202A_200B_200C_206A_202D_200E_200C_202C_206F_200F_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1418980453), new object[1] { _trackedFateId }); - return ETaskResult.TaskComplete; - case 5: - _202E_202D_202C_202B_206F_200B_206E_202D_206A_202D_200D_202E_206C_206F_206D_206C_206D_200D_206E_206E_202E_206C_202A_206D_200F_206A_200B_200E_202A_200C_202A_200B_200C_206A_202D_200E_200C_202C_206F_200F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1749346970), new object[1] { base.Task.RequiredStatusId.Value }); - return ETaskResult.TaskComplete; - case 4: - _202E_202D_202C_202B_206F_200B_206E_202D_206A_202D_200D_202E_206C_206F_206D_206C_206D_200D_206E_206E_202E_206C_202A_206D_200F_206A_200B_200E_202A_200C_202A_200B_200C_206A_202D_200E_200C_202C_206F_200F_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1750997403), new object[1] { _trackedFateId }); - return ETaskResult.TaskComplete; - case 1: - return ETaskResult.StillRunning; - case 13: - num = (flag2 ? 464111569 : 464111575); - break; - case 11: - { - IEnumerator enumerator = base.Task.Targets.GetEnumerator(); - try - { - num = -742577641; - while (true) - { - int num7 = num; - num3 = -742577643; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 2: - num = (_206F_202D_200F_206F_200C_206E_206A_200D_200E_202D_206B_200F_202E_206D_202A_206A_202B_206F_200F_202D_200F_206E_200D_202E_206B_200E_206B_200C_202A_200E_206C_200F_206E_206C_202E_202D_206E_202D_200B_202C_202E((IEnumerator)enumerator) ? (-742577647) : (-742577642)); - break; - case 1: - num = ((!_200E_202B_202A_200B_200C_206B_206F_202A_202A_202C_206D_206A_206A_206E_206F_202C_202A_202E_202C_202B_200D_202A_200D_202D_206B_200B_202B_206E_206F_202B_206F_200B_202A_200F_206D_202B_206C_200F_202B_206D_202E(gameObject)) ? (-742577641) : (-742577648)); - break; - case 5: - { - bool flag = gameFunctions.UseAction(gameObject, _202C_202D_206A_200F_206B_202A_206B_202D_202B_202D_206F_200E_202D_206C_206A_202E_202A_200B_202D_206B_202B_206E_202D_206C_206D_202D_202B_200D_200B_202A_206F_200B_202A_200B_206A_202C_206B_206D_206F_206A_202E(current)); - _nextActionAt = (flag ? (_202E_206D_202B_200D_206F_206C_202A_206F_206C_202D_206B_206D_202B_200D_202C_206B_200F_200E_202B_202D_206B_206E_206E_200D_206E_200E_200D_202A_200E_202A_206D_200C_202A_206D_200D_206E_206E_206E_202D_202A_202E() + 2500) : (_202E_206D_202B_200D_206F_206C_202A_206F_206C_202D_206B_206D_202B_200D_202C_206B_200F_200E_202B_202D_206B_206E_206E_200D_206E_200E_200D_202A_200E_202A_206D_200C_202A_206D_200D_206E_206E_206E_202D_202A_202E() + 500)); - return ETaskResult.StillRunning; - } - case 4: - current = enumerator.Current; - gameObject = gameFunctions.FindObjectByDataId(_200F_206F_206E_206B_200D_206D_202E_206A_206E_202C_200B_200E_200D_200E_202A_200C_202C_206D_202B_206A_206D_200F_202C_200C_200C_202A_206B_206C_206E_202B_206A_206E_202A_202B_206A_206D_202E_206C_202D_202B_202E(current), null, warnIfMissing: false); - num = ((gameObject == null) ? (-742577641) : (-742577644)); - break; - case 0: - num = -742577641; - break; - case 3: - goto end_IL_02d6; - } - continue; - end_IL_02d6: - break; - } - } - finally - { - num = ((enumerator == null) ? (-2077958927) : (-2077958928)); - while (true) - { - int num10 = num; - num3 = -2077958927; - num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - case 0: - goto end_IL_0421; - case 1: - _202C_206B_202B_202B_206B_202C_200C_206D_206F_200B_200B_206C_206F_202E_200F_206C_206A_202B_200E_206D_200D_202E_206F_200F_206E_202B_202D_202B_200C_202C_206C_202B_206D_200F_202A_206A_200C_202A_206D_202E_202E((IDisposable)enumerator); - num = -2077958927; - break; - case 2: - num = -2077958928; - break; - } - continue; - end_IL_0421: - break; - } - } - _nextActionAt = _202E_206D_202B_200D_206F_206C_202A_206F_206C_202D_206B_206D_202B_200D_202C_206B_200F_200E_202B_202D_206B_206E_206E_200D_206E_200E_200D_202A_200E_202A_206D_200C_202A_206D_200D_206E_206E_206E_202D_202A_202E() + 250; - return ETaskResult.StillRunning; - } + logger.LogDebug("Now tracking FATE {FateId}", _trackedFateId); } } + if (_trackedFateId != 0 && !gameFunctions.IsFateStillActive(_trackedFateId)) + { + logger.LogDebug("FATE {FateId} is no longer running, cycle complete", _trackedFateId); + return ETaskResult.TaskComplete; + } + foreach (FateActionTarget target in base.Task.Targets) + { + IGameObject gameObject = gameFunctions.FindObjectByDataId(target.DataId, null, warnIfMissing: false); + if (gameObject != null && gameObject.IsTargetable) + { + bool flag2 = gameFunctions.UseAction(gameObject, target.Action); + _nextActionAt = (flag2 ? (Environment.TickCount64 + 2500) : (Environment.TickCount64 + 500)); + return ETaskResult.StillRunning; + } + } + _nextActionAt = Environment.TickCount64 + 250; + return ETaskResult.StillRunning; } public override bool ShouldInterruptOnDamage() { return false; } - - static void _202E_202D_202C_202B_206F_200B_206E_202D_206A_202D_200D_202E_206C_206F_206D_206C_206D_200D_206E_206E_202E_206C_202A_206D_200F_206A_200B_200E_202A_200C_202A_200B_200C_206A_202D_200E_200C_202C_206F_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static long _202E_206D_202B_200D_206F_206C_202A_206F_206C_202D_206B_206D_202B_200D_202C_206B_200F_200E_202B_202D_206B_206E_206E_200D_206E_200E_200D_202A_200E_202A_206D_200C_202A_206D_200D_206E_206E_206E_202D_202A_202E() - { - return Environment.TickCount64; - } - - static uint _200F_206F_206E_206B_200D_206D_202E_206A_206E_202C_200B_200E_200D_200E_202A_200C_202C_206D_202B_206A_206D_200F_202C_200C_200C_202A_206B_206C_206E_202B_206A_206E_202A_202B_206A_206D_202E_206C_202D_202B_202E(FateActionTarget P_0) - { - return P_0.DataId; - } - - static bool _200E_202B_202A_200B_200C_206B_206F_202A_202A_202C_206D_206A_206A_206E_206F_202C_202A_202E_202C_202B_200D_202A_200D_202D_206B_200B_202B_206E_206F_202B_206F_200B_202A_200F_206D_202B_206C_200F_202B_206D_202E(IGameObject P_0) - { - return P_0.IsTargetable; - } - - static EAction _202C_202D_206A_200F_206B_202A_206B_202D_202B_202D_206F_200E_202D_206C_206A_202E_202A_200B_202D_206B_202B_206E_202D_206C_206D_202D_202B_200D_200B_202A_206F_200B_202A_200B_206A_202C_206B_206D_206F_206A_202E(FateActionTarget P_0) - { - return P_0.Action; - } - - static bool _206F_202D_200F_206F_200C_206E_206A_200D_200E_202D_206B_200F_202E_206D_202A_206A_202B_206F_200F_202D_200F_206E_200D_202E_206B_200E_206B_200C_202A_200E_206C_200F_206E_206C_202E_202D_206E_202D_200B_202C_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202C_206B_202B_202B_206B_202C_200C_206D_206F_200B_200B_206C_206F_202E_200F_206C_206A_202B_200E_206D_200D_202E_206F_200F_206E_202B_202D_202B_200C_202C_206C_202B_206D_200F_202A_206A_200C_202A_206D_202E_202E(IDisposable P_0) - { - P_0.Dispose(); - } } } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/Interact.cs b/Questionable/Questionable.Controller.Steps.Interactions/Interact.cs index 8fcad0c..72500ee 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/Interact.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/Interact.cs @@ -1,9 +1,6 @@ using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Objects.Enums; using Dalamud.Game.ClientState.Objects.Types; @@ -26,651 +23,83 @@ internal static class Interact { internal sealed class Factory(Configuration configuration) : ITaskFactory { - [CompilerGenerated] - private sealed class _003CCreateAllTasks_003Ed__2 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ITask _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - private QuestStep step; - - public QuestStep _003C_003E3__step; - - public Factory _003C_003E4__this; - - private QuestSequence sequence; - - public QuestSequence _003C_003E3__sequence; - - private Quest quest; - - public Quest _003C_003E3__quest; - - ITask IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CCreateAllTasks_003Ed__2(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _202C_206C_202A_200B_206B_206D_202B_202B_206D_200F_200E_206B_202D_206F_202D_202D_200D_202D_200C_202E_202E_202C_202D_202D_206E_206E_206D_206C_206B_206B_200E_200E_202C_202A_206D_206B_202E_200E_206D_206F_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - int num = _003C_003E1__state; - Factory factory = _003C_003E4__this; - int num2; - EInteractionType eInteractionType = default(EInteractionType); - bool flag = default(bool); - switch (num) - { - default: - num2 = 1303320947; - goto IL_002c; - case 2: - break; - case 0: - _003C_003E1__state = -1; - eInteractionType = _200C_200F_206C_206A_200E_206E_206A_200F_206A_200E_206B_200C_200E_206D_202C_206F_202E_206C_202E_200F_206B_200E_202A_202B_202B_200D_200F_206E_200C_206A_200B_206E_202A_202D_202D_206D_202C_206D_206D_206F_202E(step); - num2 = ((eInteractionType == EInteractionType.SinglePlayerDuty) ? 1303320920 : 1303320944); - goto IL_002c; - case 1: - goto IL_0611; - IL_002c: - while (true) - { - int num3 = num2; - int num4 = 1303320952; - int num5 = num3; - uint value; - Quest obj; - EInteractionType interactionType; - int skipMarkerCheck; - uint? num6; - uint? pickUpItemId; - byte? taxiStandId; - SkipConditions skipConditions2; - SkipStepConditions skipConditions3; - List completionQuestVariablesFlags; - uint? purchaseItemId; - int purchaseItemCount; - switch ((num5 | num4) - (num5 & num4)) - { - case 21: - num2 = 1303320947; - break; - case 20: - goto IL_00e4; - case 12: - return false; - case 15: - goto IL_0117; - case 28: - return false; - case 8: - goto IL_0143; - case 26: - goto IL_0165; - case 9: - goto IL_0192; - case 23: - return false; - case 31: - goto IL_01c7; - case 4: - value = _206C_206A_202B_200F_206A_202D_206D_200C_200F_206C_202A_200D_202A_206F_206C_206E_202A_206C_202B_202A_202B_206A_206C_200D_206E_206F_202A_200B_202D_200E_200C_200E_206F_202E_200F_200D_200E_206C_202B_206B_202E(step).Value; - obj = quest; - interactionType = _200C_200F_206C_206A_200E_206E_206A_200F_206A_200E_206B_200C_200E_206D_202C_206F_202E_206C_202E_200F_206B_200E_202A_202B_202B_200D_200F_206E_200C_206A_200B_206E_202A_202D_202D_206D_202C_206D_206D_206F_202E(step); - if (!_200D_202B_200D_202B_206A_200C_202A_202E_206D_200D_202C_206C_206D_206C_206F_200B_206F_206B_202C_206E_200C_206E_202C_206C_202B_200B_200C_206B_200C_202C_202B_206F_206B_200C_200B_206B_202B_200B_206A_206A_202E(step) && !_206B_202D_206E_202B_200C_200F_202D_206B_200D_206E_206F_206C_202B_206A_202A_200B_202B_200C_202A_206C_200F_200E_202C_200D_202C_202B_206A_202A_206A_202D_206B_206E_202D_200D_206D_202D_202D_206C_202A_206E_202E(step).HasValue) - { - SkipConditions skipConditions = _200F_206F_206D_202B_206C_206D_200C_202B_202E_200D_200E_206E_200E_206A_202B_202E_200B_202E_200F_206A_206A_206E_206F_202C_202C_206A_200F_202C_202A_206B_200E_206E_202A_200E_202A_202A_200D_206C_202C_200E_202E(step); - if (skipConditions != null) - { - SkipStepConditions skipStepConditions = _202B_206D_202B_206E_206C_200F_202D_202C_206B_206D_202B_206B_202D_206D_200D_202C_206F_206E_202A_206B_206A_202B_200E_200D_206E_202E_202C_206A_206C_206F_206D_206F_202C_206A_202A_200E_202C_206E_202A_206A_202E(skipConditions); - if (skipStepConditions != null && _206E_200F_206F_202C_206A_206F_206B_206B_206F_206B_206C_200C_200C_200D_202E_202E_206B_202D_206D_200B_202C_200D_206A_206B_200E_200C_200D_200D_202E_206A_202A_206A_200D_206E_206C_200C_202D_202C_200C_200D_202E(skipStepConditions)) - { - goto IL_02b1; - } - } - if (_200C_200F_206C_206A_200E_206E_206A_200F_206A_200E_206B_200C_200E_206D_202C_206F_202E_206C_202E_200F_206B_200E_202A_202B_202B_200D_200F_206E_200C_206A_200B_206E_202A_202D_202D_206D_202C_206D_206D_206F_202E(step) != EInteractionType.PurchaseItem) - { - skipMarkerCheck = ((_206C_206A_202B_200F_206A_202D_206D_200C_200F_206C_202A_200D_202A_206F_206C_206E_202A_206C_202B_202A_202B_206A_206C_200D_206E_206F_202A_200B_202D_200E_200C_200E_206F_202E_200F_200D_200E_206C_202B_206B_202E(step) == 1052475) ? 1 : 0); - goto IL_02b2; - } - } - goto IL_02b1; - case 17: - goto IL_03ad; - case 27: - return false; - case 29: - goto end_IL_000f; - case 24: - return false; - case 18: - return false; - case 30: - goto IL_03ed; - case 19: - return false; - case 3: - goto end_IL_002c; - case 5: - return false; - case 32: - flag = true; - num2 = 1303320958; - break; - case 0: - goto IL_045a; - case 22: - goto IL_048b; - case 11: - return false; - case 33: - goto IL_04b6; - case 10: - goto IL_04e7; - case 7: - goto IL_052e; - case 34: - return false; - case 6: - goto IL_055a; - case 1: - goto IL_0578; - case 2: - _003C_003E2__current = new WaitAtEnd.WaitDelay(); - _003C_003E1__state = 1; - return true; - case 13: - goto IL_05b6; - case 14: - goto IL_05e0; - case 25: - goto IL_0611; - case 16: - { - flag = false; - num2 = 1303320958; - break; - } - IL_02b1: - skipMarkerCheck = 1; - goto IL_02b2; - IL_02b2: - num6 = _200D_206F_200B_200C_200B_202E_200B_206C_206D_202E_206C_206D_200F_206B_202B_206C_200D_202E_200C_200D_202A_200D_200F_202A_206C_202B_200F_200E_202D_200B_200B_206A_202E_200F_206D_200E_200D_206E_202C_206E_202E(step); - if (!num6.HasValue) - { - GCPurchaseInfo gCPurchaseInfo = _202E_200B_206E_206A_206B_202B_206E_200F_200F_202C_200D_202B_202B_202A_200B_206F_200D_206B_200B_200F_206F_202E_200D_200C_200D_200C_200F_200D_202A_206F_206D_206E_206D_200C_200C_202C_206B_200D_206B_200E_202E(step); - pickUpItemId = ((gCPurchaseInfo != null) ? new uint?(_202C_200E_206A_202D_202B_202C_202B_202E_200F_206E_200F_202A_202A_200B_200F_200B_206D_200C_202A_206C_200F_206F_206C_206E_202B_206D_200E_206A_202E_200D_202C_206F_202E_202A_206C_206C_206F_206D_202E_200D_202E(gCPurchaseInfo)) : ((uint?)null)); - } - else - { - pickUpItemId = num6; - } - taxiStandId = _200E_202D_200F_202C_202D_200D_202C_200E_200E_202B_206B_206A_202D_206D_202C_206A_206B_200F_202E_202D_202B_206C_202D_200F_200D_202A_200C_202C_200F_206B_206B_206A_202E_202A_200E_202C_200F_202E_206E_202A_202E(step); - skipConditions2 = _200F_206F_206D_202B_206C_206D_200C_202B_202E_200D_200E_206E_200E_206A_202B_202E_200B_202E_200F_206A_206A_206E_206F_202C_202C_206A_200F_202C_202A_206B_200E_206E_202A_200E_202A_202A_200D_206C_202C_200E_202E(step); - skipConditions3 = ((skipConditions2 != null) ? _202C_200D_202E_202A_206A_206B_206C_202E_206F_206D_206A_206C_206E_206D_206A_206A_200F_202E_206A_202A_200F_202A_200D_206D_206A_206F_202D_206E_206C_200E_202B_206E_202D_206D_200F_206E_206D_202B_206A_206E_202E(skipConditions2) : null); - completionQuestVariablesFlags = _206D_206A_206C_202A_202C_206D_206F_206D_206D_202B_200E_202A_200E_202B_206B_200E_200E_206B_202C_206D_206C_206C_206E_202E_200C_206C_202B_200E_206E_206F_200F_202B_200D_200B_200C_202B_206F_206E_206F_202E_202E(step); - purchaseItemId = ((_200C_200F_206C_206A_200E_206E_206A_200F_206A_200E_206B_200C_200E_206D_202C_206F_202E_206C_202E_200F_206B_200E_202A_202B_202B_200D_200F_206E_200C_206A_200B_206E_202A_202D_202D_206D_202C_206D_206D_206F_202E(step) == EInteractionType.PurchaseItem) ? _200F_200C_200F_206C_206B_202A_206C_206E_202D_206C_200B_206E_200C_200F_206E_206C_200C_200B_200D_206E_202B_206D_202E_200C_206C_202A_200D_202B_202C_202C_202B_206E_206B_200F_206F_206B_206F_200E_200E_202E(step) : ((uint?)null)); - purchaseItemCount = ((_200C_200F_206C_206A_200E_206E_206A_200F_206A_200E_206B_200C_200E_206D_202C_206F_202E_206C_202E_200F_206B_200E_202A_202B_202B_200D_200F_206E_200C_206A_200B_206E_202A_202D_202D_206D_202C_206D_206D_206F_202E(step) == EInteractionType.PurchaseItem) ? _200B_200F_200F_200B_200B_206C_202D_206C_200F_206D_200B_202C_202A_206C_206F_206E_206A_202D_200F_206D_206B_202D_200F_202A_200B_206A_202B_206C_202D_202D_202A_206C_202D_206B_206E_202A_200C_200D_202A_200C_202E(step).GetValueOrDefault() : 0); - _003C_003E2__current = new Task(value, obj, interactionType, (byte)skipMarkerCheck != 0, pickUpItemId, taxiStandId, skipConditions3, completionQuestVariablesFlags, null, purchaseItemId, purchaseItemCount); - _003C_003E1__state = 2; - return true; - } - continue; - IL_05e0: - num2 = (_206C_206A_202B_200F_206A_202D_206D_200C_200F_206C_202A_200D_202A_206F_206C_206E_202A_206C_202B_202A_202B_206A_206C_200D_206E_206F_202A_200B_202D_200E_200C_200E_206F_202E_200F_200D_200E_206C_202B_206B_202E(step).HasValue ? 1303320946 : 1303320931); - continue; - IL_0117: - num2 = ((_200C_200F_206C_206A_200E_206E_206A_200F_206A_200E_206B_200C_200E_206D_202C_206F_202E_206C_202E_200F_206B_200E_202A_202B_202B_200D_200F_206E_200C_206A_200B_206E_202A_202D_202D_206D_202C_206D_206D_206F_202E(step) != EInteractionType.UnlockTaxiStand) ? 1303320942 : 1303320937); - continue; - IL_04b6: - num2 = ((!_206F_206C_206E_206F_202B_202C_206A_206B_202C_200D_202E_206D_206F_200E_200D_200E_202B_200C_202D_206B_202E_206E_206E_200C_202E_206D_206E_206B_206B_200B_200C_206E_206E_200F_202E_206C_206D_200C_202B_202C_202E(step).HasValue) ? 1303320934 : 1303320943); - continue; - IL_05b6: - num2 = ((_200C_200F_206C_206A_200E_206E_206A_200F_206A_200E_206B_200C_200E_206D_202C_206F_202E_206C_202E_200F_206B_200E_202A_202B_202B_200D_200F_206E_200C_206A_200B_206E_202A_202D_202D_206D_202C_206D_206D_206F_202E(step) != EInteractionType.Snipe) ? 1303320951 : 1303320930); - continue; - IL_0192: - num2 = ((_206D_202D_206B_206E_200F_202A_206B_202A_200D_206D_200B_200F_200B_202C_206B_206E_202A_206D_200E_200F_200F_200B_202D_200E_200B_200D_200C_200D_200B_206B_202A_206F_206F_206E_206C_200E_200E_206D_206A_202E_202E(sequence).IndexOf(step) != 0) ? 1303320956 : 1303320954); - continue; - IL_03ad: - num2 = (_200E_202D_200F_202C_202D_200D_202C_200E_200E_202B_206B_206A_202D_206D_202C_206A_206B_200F_202E_202D_202B_206C_202D_200F_200D_202A_200C_202C_200F_206B_206B_206A_202E_202A_200E_202C_200F_202E_206E_202A_202E(step).HasValue ? 1303320946 : 1303320939); - continue; - IL_0578: - num2 = ((_200C_200F_206C_206A_200E_206E_206A_200F_206A_200E_206B_200C_200E_206D_202C_206F_202E_206C_202E_200F_206B_200E_202A_202B_202B_200D_200F_206E_200C_206A_200B_206E_202A_202D_202D_206D_202C_206D_206D_206F_202E(step) != EInteractionType.PurchaseItem) ? 1303320949 : 1303320952); - continue; - IL_048b: - num2 = ((_200C_200F_206C_206A_200E_206E_206A_200F_206A_200E_206B_200C_200E_206D_202C_206F_202E_206C_202E_200F_206B_200E_202A_202B_202B_200D_200F_206E_200C_206A_200B_206E_202A_202D_202D_206D_202C_206D_206D_206F_202E(step) == EInteractionType.Interact) ? 1303320946 : 1303320932); - continue; - IL_00e4: - num2 = ((!_200F_200C_200F_206C_206B_202A_206C_206E_202D_206C_200B_206E_200C_200F_206E_206C_200C_200B_200D_206E_202B_206D_202E_200C_206C_202A_200D_202B_202C_202C_202B_206E_206B_200F_206F_206B_206F_200E_200E_202E(step).HasValue) ? 1303320950 : 1303320948); - continue; - IL_055a: - num2 = ((!flag) ? 1303320953 : 1303320959); - continue; - IL_0143: - num2 = (((uint)(eInteractionType - 30) > 1u) ? 1303320936 : 1303320920); - continue; - IL_045a: - num2 = (_206C_206A_202B_200F_206A_202D_206D_200C_200F_206C_202A_200D_202A_206F_206C_206E_202A_206C_202B_202A_202B_206A_206C_200D_206E_206F_202A_200B_202D_200E_200C_200E_206F_202E_200F_200D_200E_206C_202B_206B_202E(step).HasValue ? 1303320946 : 1303320922); - continue; - IL_052e: - num2 = ((_200C_200F_206C_206A_200E_206E_206A_200F_206A_200E_206B_200C_200E_206D_202C_206F_202E_206C_202E_200F_206B_200E_202A_202B_202B_200D_200F_206E_200C_206A_200B_206E_202A_202D_202D_206D_202C_206D_206D_206F_202E(step) != EInteractionType.CompleteQuest) ? 1303320921 : 1303320935); - continue; - IL_01c7: - num2 = ((!factory.configuration.Advanced.PreventQuestCompletion) ? 1303320921 : 1303320938); - continue; - IL_0165: - num2 = (factory.configuration.General.AutoSnipe ? 1303320946 : 1303320928); - continue; - IL_04e7: - _202C_202D_202C_200D_202E_206C_206A_202C_200B_202C_202B_202A_202D_202D_200B_200B_206B_200F_202E_202C_202D_206B_206F_202B_200C_200D_202C_206E_202A_202E_202A_200F_200F_202B_202B_200B_202E_202D_202E_202A_202E((object)_206C_206A_202B_200F_206A_202D_206D_200C_200F_206C_202A_200D_202A_206F_206C_206E_202A_206C_202B_202A_202B_206A_206C_200D_206E_206F_202A_200B_202D_200E_200C_200E_206F_202E_200F_200D_200E_206C_202B_206B_202E(step), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-751408309)); - num2 = ((_206F_200D_202A_202B_206B_200D_200B_200D_206D_206B_202B_202E_206E_202A_200D_206C_206F_202D_200F_206A_202B_202D_202A_202B_206E_206A_200F_202C_206D_202D_206A_206C_206C_202C_206D_202B_200B_200D_206C_200F_202E(sequence) != 0) ? 1303320956 : 1303320945); - continue; - IL_03ed: - num2 = ((_200C_200F_206F_206A_206D_202A_202D_202E_202C_200F_206E_206C_206D_200E_200C_206F_206A_200C_202D_202E_200C_202A_202B_206A_200E_202C_200D_206B_206F_200E_206E_200E_202D_206D_200E_206D_206B_200F_202A_202C_202E(step) == null) ? 1303320940 : 1303320957); - continue; - end_IL_002c: - break; - } - goto case 0; - IL_0611: - _003C_003E1__state = -1; - num2 = 1303320956; - goto IL_002c; - end_IL_000f: - break; - } - _003C_003E1__state = -1; - return false; - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _206C_200D_206A_206E_206E_206C_200B_206A_202B_202E_200D_206C_206D_200C_200D_200E_200F_200D_200B_202A_206D_202D_206B_206D_202B_206E_206A_200D_206D_202A_200F_206E_206A_200F_202D_200E_206C_206F_202E_206F_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? (-97785381) : (-97785384)); - _003CCreateAllTasks_003Ed__2 _003CCreateAllTasks_003Ed__ = default(_003CCreateAllTasks_003Ed__2); - while (true) - { - int num2 = num; - int num3 = -97785383; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - _003C_003E1__state = 0; - _003CCreateAllTasks_003Ed__ = this; - num = -97785379; - break; - case 4: - _003CCreateAllTasks_003Ed__.quest = _003C_003E3__quest; - _003CCreateAllTasks_003Ed__.sequence = _003C_003E3__sequence; - _003CCreateAllTasks_003Ed__.step = _003C_003E3__step; - return _003CCreateAllTasks_003Ed__; - case 0: - num = -97785384; - break; - case 1: - num = ((_003C_003El__initialThreadId != _202C_206C_202A_200B_206B_206D_202B_202B_206D_200F_200E_206B_202D_206F_202D_202D_200D_202D_200C_202E_202E_202C_202D_202D_206E_206E_206D_206C_206B_206B_200E_200E_202C_202A_206D_206B_202E_200E_206D_206F_202E()) ? (-97785381) : (-97785382)); - break; - case 2: - _003CCreateAllTasks_003Ed__ = new _003CCreateAllTasks_003Ed__2(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = -97785379; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _202C_206C_202A_200B_206B_206D_202B_202B_206D_200F_200E_206B_202D_206F_202D_202D_200D_202D_200C_202E_202E_202C_202D_202D_206E_206E_206D_206C_206B_206B_200E_200E_202C_202A_206D_206B_202E_200E_206D_206F_202E() - { - return Environment.CurrentManagedThreadId; - } - - static EInteractionType _200C_200F_206C_206A_200E_206E_206A_200F_206A_200E_206B_200C_200E_206D_202C_206F_202E_206C_202E_200F_206B_200E_202A_202B_202B_200D_200F_206E_200C_206A_200B_206E_202A_202D_202D_206D_202C_206D_206D_206F_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static EEmote? _206F_206C_206E_206F_202B_202C_206A_206B_202C_200D_202E_206D_206F_200E_200D_200E_202B_200C_202D_206B_202E_206E_206E_200C_202E_206D_206E_206B_206B_200B_200C_206E_206E_200F_202E_206C_206D_200C_202B_202C_202E(QuestStep P_0) - { - return P_0.Emote; - } - - static ChatMessage _200C_200F_206F_206A_206D_202A_202D_202E_202C_200F_206E_206C_206D_200E_200C_206F_206A_200C_202D_202E_200C_202A_202B_206A_200E_202C_200D_206B_206F_200E_206E_200E_202D_206D_200E_206D_206B_200F_202A_202C_202E(QuestStep P_0) - { - return P_0.ChatMessage; - } - - static uint? _200F_200C_200F_206C_206B_202A_206C_206E_202D_206C_200B_206E_200C_200F_206E_206C_200C_200B_200D_206E_202B_206D_202E_200C_206C_202A_200D_202B_202C_202C_202B_206E_206B_200F_206F_206B_206F_200E_200E_202E(QuestStep P_0) - { - return P_0.ItemId; - } - - static uint? _206C_206A_202B_200F_206A_202D_206D_200C_200F_206C_202A_200D_202A_206F_206C_206E_202A_206C_202B_202A_202B_206A_206C_200D_206E_206F_202A_200B_202D_200E_200C_200E_206F_202E_200F_200D_200E_206C_202B_206B_202E(QuestStep P_0) - { - return P_0.DataId; - } - - static byte? _200E_202D_200F_202C_202D_200D_202C_200E_200E_202B_206B_206A_202D_206D_202C_206A_206B_200F_202E_202D_202B_206C_202D_200F_200D_202A_200C_202C_200F_206B_206B_206A_202E_202A_200E_202C_200F_202E_206E_202A_202E(QuestStep P_0) - { - return P_0.TaxiStandId; - } - - static void _202C_202D_202C_200D_202E_206C_206A_202C_200B_202C_202B_202A_202D_202D_200B_200B_206B_200F_202E_202C_202D_206B_206F_202B_200C_200D_202C_206E_202A_202E_202A_200F_200F_202B_202B_200B_202E_202D_202E_202A_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static byte _206F_200D_202A_202B_206B_200D_200B_200D_206D_206B_202B_202E_206E_202A_200D_206C_206F_202D_200F_206A_202B_202D_202A_202B_206E_206A_200F_202C_206D_202D_206A_206C_206C_202C_206D_202B_200B_200D_206C_200F_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - - static List _206D_202D_206B_206E_200F_202A_206B_202A_200D_206D_200B_200F_200B_202C_206B_206E_202A_206D_200E_200F_200F_200B_202D_200E_200B_200D_200C_200D_200B_206B_202A_206F_206F_206E_206C_200E_200E_206D_206A_202E_202E(QuestSequence P_0) - { - return P_0.Steps; - } - - static bool _200D_202B_200D_202B_206A_200C_202A_202E_206D_200D_202C_206C_206D_206C_206F_200B_206F_206B_202C_206E_200C_206E_202C_206C_202B_200B_200C_206B_200C_202C_202B_206F_206B_200C_200B_206B_202B_200B_206A_206A_202E(QuestStep P_0) - { - return P_0.IgnoreQuestMarker; - } - - static ushort? _206B_202D_206E_202B_200C_200F_202D_206B_200D_206E_206F_206C_202B_206A_202A_200B_202B_200C_202A_206C_200F_200E_202C_200D_202C_202B_206A_202A_206A_202D_206B_206E_202D_200D_206D_202D_202D_206C_202A_206E_202E(QuestStep P_0) - { - return P_0.TargetTerritoryId; - } - - static SkipConditions _200F_206F_206D_202B_206C_206D_200C_202B_202E_200D_200E_206E_200E_206A_202B_202E_200B_202E_200F_206A_206A_206E_206F_202C_202C_206A_200F_202C_202A_206B_200E_206E_202A_200E_202A_202A_200D_206C_202C_200E_202E(QuestStep P_0) - { - return P_0.SkipConditions; - } - - static SkipStepConditions _202B_206D_202B_206E_206C_200F_202D_202C_206B_206D_202B_206B_202D_206D_200D_202C_206F_206E_202A_206B_206A_202B_200E_200D_206E_202E_202C_206A_206C_206F_206D_206F_202C_206A_202A_200E_202C_206E_202A_206A_202E(SkipConditions P_0) - { - return P_0.StepIf; - } - - static bool _206E_200F_206F_202C_206A_206F_206B_206B_206F_206B_206C_200C_200C_200D_202E_202E_206B_202D_206D_200B_202C_200D_206A_206B_200E_200C_200D_200D_202E_206A_202A_206A_200D_206E_206C_200C_202D_202C_200C_200D_202E(SkipStepConditions P_0) - { - return P_0.Never; - } - - static uint? _200D_206F_200B_200C_200B_202E_200B_206C_206D_202E_206C_206D_200F_206B_202B_206C_200D_202E_200C_200D_202A_200D_200F_202A_206C_202B_200F_200E_202D_200B_200B_206A_202E_200F_206D_200E_200D_206E_202C_206E_202E(QuestStep P_0) - { - return P_0.PickUpItemId; - } - - static GCPurchaseInfo _202E_200B_206E_206A_206B_202B_206E_200F_200F_202C_200D_202B_202B_202A_200B_206F_200D_206B_200B_200F_206F_202E_200D_200C_200D_200C_200F_200D_202A_206F_206D_206E_206D_200C_200C_202C_206B_200D_206B_200E_202E(QuestStep P_0) - { - return P_0.GCPurchase; - } - - static uint _202C_200E_206A_202D_202B_202C_202B_202E_200F_206E_200F_202A_202A_200B_200F_200B_206D_200C_202A_206C_200F_206F_206C_206E_202B_206D_200E_206A_202E_200D_202C_206F_202E_202A_206C_206C_206F_206D_202E_200D_202E(GCPurchaseInfo P_0) - { - return P_0.ItemId; - } - - static SkipStepConditions _202C_200D_202E_202A_206A_206B_206C_202E_206F_206D_206A_206C_206E_206D_206A_206A_200F_202E_206A_202A_200F_202A_200D_206D_206A_206F_202D_206E_206C_200E_202B_206E_202D_206D_200F_206E_206D_202B_206A_206E_202E(SkipConditions P_0) - { - return P_0.StepIf; - } - - static List _206D_206A_206C_202A_202C_206D_206F_206D_206D_202B_200E_202A_200E_202B_206B_200E_200E_206B_202C_206D_206C_206C_206E_202E_200C_206C_202B_200E_206E_206F_200F_202B_200D_200B_200C_202B_206F_206E_206F_202E_202E(QuestStep P_0) - { - return P_0.CompletionQuestVariablesFlags; - } - - static int? _200B_200F_200F_200B_200B_206C_202D_206C_200F_206D_200B_202C_202A_206C_206F_206E_206A_202D_200F_206D_206B_202D_200F_202A_200B_206A_202B_206C_202D_202D_202A_206C_202D_206B_206E_202A_200C_200D_202A_200C_202E(QuestStep P_0) - { - return P_0.ItemCount; - } - - static NotSupportedException _206C_200D_206A_206E_206E_206C_200B_206A_202B_202E_200D_206C_206D_200C_200D_200E_200F_200D_200B_202A_206D_202D_206B_206D_202B_206E_206A_200D_206D_202A_200F_206E_206A_200F_202D_200E_206C_206F_202E_206F_202E() - { - return new NotSupportedException(); - } - } - public IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { - bool flag = default(bool); - while (true) + EInteractionType interactionType = step.InteractionType; + if ((interactionType == EInteractionType.SinglePlayerDuty || (uint)(interactionType - 30) <= 1u) ? true : false) { - EInteractionType eInteractionType = _003CCreateAllTasks_003Ed__2._200C_200F_206C_206A_200E_206E_206A_200F_206A_200E_206B_200C_200E_206D_202C_206F_202E_206C_202E_200F_206B_200E_202A_202B_202B_200D_200F_206E_200C_206A_200B_206E_202A_202D_202D_206D_202C_206D_206D_206F_202E(step); - int num = ((eInteractionType == EInteractionType.SinglePlayerDuty) ? 1303320920 : 1303320944); - while (true) + if ((step.InteractionType == EInteractionType.CompleteQuest && configuration.Advanced.PreventQuestCompletion) || step.Emote.HasValue || step.ChatMessage != null || step.ItemId.HasValue || !step.DataId.HasValue) { - int num2 = num; - int num3 = 1303320952; - int num4 = num2; - uint value; - EInteractionType interactionType; - int skipMarkerCheck; - uint? num5; - uint? pickUpItemId; - byte? taxiStandId; - SkipConditions skipConditions; - SkipStepConditions skipConditions2; - List completionQuestVariablesFlags; - uint? purchaseItemId; - int purchaseItemCount; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 21: - num = 1303320947; - continue; - case 20: - num = ((!_003CCreateAllTasks_003Ed__2._200F_200C_200F_206C_206B_202A_206C_206E_202D_206C_200B_206E_200C_200F_206E_206C_200C_200B_200D_206E_202B_206D_202E_200C_206C_202A_200D_202B_202C_202C_202B_206E_206B_200F_206F_206B_206F_200E_200E_202E(step).HasValue) ? 1303320950 : 1303320948); - continue; - case 12: - yield break; - case 15: - num = ((_003CCreateAllTasks_003Ed__2._200C_200F_206C_206A_200E_206E_206A_200F_206A_200E_206B_200C_200E_206D_202C_206F_202E_206C_202E_200F_206B_200E_202A_202B_202B_200D_200F_206E_200C_206A_200B_206E_202A_202D_202D_206D_202C_206D_206D_206F_202E(step) != EInteractionType.UnlockTaxiStand) ? 1303320942 : 1303320937); - continue; - case 28: - yield break; - case 8: - num = (((uint)(eInteractionType - 30) > 1u) ? 1303320936 : 1303320920); - continue; - case 26: - num = (configuration.General.AutoSnipe ? 1303320946 : 1303320928); - continue; - case 9: - num = ((_003CCreateAllTasks_003Ed__2._206D_202D_206B_206E_200F_202A_206B_202A_200D_206D_200B_200F_200B_202C_206B_206E_202A_206D_200E_200F_200F_200B_202D_200E_200B_200D_200C_200D_200B_206B_202A_206F_206F_206E_206C_200E_200E_206D_206A_202E_202E(sequence).IndexOf(step) != 0) ? 1303320956 : 1303320954); - continue; - case 23: - yield break; - case 31: - num = ((!configuration.Advanced.PreventQuestCompletion) ? 1303320921 : 1303320938); - continue; - case 4: - value = _003CCreateAllTasks_003Ed__2._206C_206A_202B_200F_206A_202D_206D_200C_200F_206C_202A_200D_202A_206F_206C_206E_202A_206C_202B_202A_202B_206A_206C_200D_206E_206F_202A_200B_202D_200E_200C_200E_206F_202E_200F_200D_200E_206C_202B_206B_202E(step).Value; - interactionType = _003CCreateAllTasks_003Ed__2._200C_200F_206C_206A_200E_206E_206A_200F_206A_200E_206B_200C_200E_206D_202C_206F_202E_206C_202E_200F_206B_200E_202A_202B_202B_200D_200F_206E_200C_206A_200B_206E_202A_202D_202D_206D_202C_206D_206D_206F_202E(step); - if (!_003CCreateAllTasks_003Ed__2._200D_202B_200D_202B_206A_200C_202A_202E_206D_200D_202C_206C_206D_206C_206F_200B_206F_206B_202C_206E_200C_206E_202C_206C_202B_200B_200C_206B_200C_202C_202B_206F_206B_200C_200B_206B_202B_200B_206A_206A_202E(step) && !_003CCreateAllTasks_003Ed__2._206B_202D_206E_202B_200C_200F_202D_206B_200D_206E_206F_206C_202B_206A_202A_200B_202B_200C_202A_206C_200F_200E_202C_200D_202C_202B_206A_202A_206A_202D_206B_206E_202D_200D_206D_202D_202D_206C_202A_206E_202E(step).HasValue) - { - SkipConditions skipConditions3 = _003CCreateAllTasks_003Ed__2._200F_206F_206D_202B_206C_206D_200C_202B_202E_200D_200E_206E_200E_206A_202B_202E_200B_202E_200F_206A_206A_206E_206F_202C_202C_206A_200F_202C_202A_206B_200E_206E_202A_200E_202A_202A_200D_206C_202C_200E_202E(step); - if (skipConditions3 != null) - { - SkipStepConditions skipStepConditions = _003CCreateAllTasks_003Ed__2._202B_206D_202B_206E_206C_200F_202D_202C_206B_206D_202B_206B_202D_206D_200D_202C_206F_206E_202A_206B_206A_202B_200E_200D_206E_202E_202C_206A_206C_206F_206D_206F_202C_206A_202A_200E_202C_206E_202A_206A_202E(skipConditions3); - if (skipStepConditions != null && _003CCreateAllTasks_003Ed__2._206E_200F_206F_202C_206A_206F_206B_206B_206F_206B_206C_200C_200C_200D_202E_202E_206B_202D_206D_200B_202C_200D_206A_206B_200E_200C_200D_200D_202E_206A_202A_206A_200D_206E_206C_200C_202D_202C_200C_200D_202E(skipStepConditions)) - { - goto IL_02b1; - } - } - if (_003CCreateAllTasks_003Ed__2._200C_200F_206C_206A_200E_206E_206A_200F_206A_200E_206B_200C_200E_206D_202C_206F_202E_206C_202E_200F_206B_200E_202A_202B_202B_200D_200F_206E_200C_206A_200B_206E_202A_202D_202D_206D_202C_206D_206D_206F_202E(step) != EInteractionType.PurchaseItem) - { - skipMarkerCheck = ((_003CCreateAllTasks_003Ed__2._206C_206A_202B_200F_206A_202D_206D_200C_200F_206C_202A_200D_202A_206F_206C_206E_202A_206C_202B_202A_202B_206A_206C_200D_206E_206F_202A_200B_202D_200E_200C_200E_206F_202E_200F_200D_200E_206C_202B_206B_202E(step) == 1052475) ? 1 : 0); - goto IL_02b2; - } - } - goto IL_02b1; - case 17: - num = (_003CCreateAllTasks_003Ed__2._200E_202D_200F_202C_202D_200D_202C_200E_200E_202B_206B_206A_202D_206D_202C_206A_206B_200F_202E_202D_202B_206C_202D_200F_200D_202A_200C_202C_200F_206B_206B_206A_202E_202A_200E_202C_200F_202E_206E_202A_202E(step).HasValue ? 1303320946 : 1303320939); - continue; - case 27: - yield break; - case 29: - yield break; - case 24: - yield break; - case 18: - yield break; - case 30: - num = ((_003CCreateAllTasks_003Ed__2._200C_200F_206F_206A_206D_202A_202D_202E_202C_200F_206E_206C_206D_200E_200C_206F_206A_200C_202D_202E_200C_202A_202B_206A_200E_202C_200D_206B_206F_200E_206E_200E_202D_206D_200E_206D_206B_200F_202A_202C_202E(step) == null) ? 1303320940 : 1303320957); - continue; - case 19: - yield break; - case 3: - break; - case 5: - yield break; - case 32: - flag = true; - num = 1303320958; - continue; - case 0: - num = (_003CCreateAllTasks_003Ed__2._206C_206A_202B_200F_206A_202D_206D_200C_200F_206C_202A_200D_202A_206F_206C_206E_202A_206C_202B_202A_202B_206A_206C_200D_206E_206F_202A_200B_202D_200E_200C_200E_206F_202E_200F_200D_200E_206C_202B_206B_202E(step).HasValue ? 1303320946 : 1303320922); - continue; - case 22: - num = ((_003CCreateAllTasks_003Ed__2._200C_200F_206C_206A_200E_206E_206A_200F_206A_200E_206B_200C_200E_206D_202C_206F_202E_206C_202E_200F_206B_200E_202A_202B_202B_200D_200F_206E_200C_206A_200B_206E_202A_202D_202D_206D_202C_206D_206D_206F_202E(step) == EInteractionType.Interact) ? 1303320946 : 1303320932); - continue; - case 11: - yield break; - case 33: - num = ((!_003CCreateAllTasks_003Ed__2._206F_206C_206E_206F_202B_202C_206A_206B_202C_200D_202E_206D_206F_200E_200D_200E_202B_200C_202D_206B_202E_206E_206E_200C_202E_206D_206E_206B_206B_200B_200C_206E_206E_200F_202E_206C_206D_200C_202B_202C_202E(step).HasValue) ? 1303320934 : 1303320943); - continue; - case 10: - _003CCreateAllTasks_003Ed__2._202C_202D_202C_200D_202E_206C_206A_202C_200B_202C_202B_202A_202D_202D_200B_200B_206B_200F_202E_202C_202D_206B_206F_202B_200C_200D_202C_206E_202A_202E_202A_200F_200F_202B_202B_200B_202E_202D_202E_202A_202E((object)_003CCreateAllTasks_003Ed__2._206C_206A_202B_200F_206A_202D_206D_200C_200F_206C_202A_200D_202A_206F_206C_206E_202A_206C_202B_202A_202B_206A_206C_200D_206E_206F_202A_200B_202D_200E_200C_200E_206F_202E_200F_200D_200E_206C_202B_206B_202E(step), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-751408309)); - num = ((_003CCreateAllTasks_003Ed__2._206F_200D_202A_202B_206B_200D_200B_200D_206D_206B_202B_202E_206E_202A_200D_206C_206F_202D_200F_206A_202B_202D_202A_202B_206E_206A_200F_202C_206D_202D_206A_206C_206C_202C_206D_202B_200B_200D_206C_200F_202E(sequence) != 0) ? 1303320956 : 1303320945); - continue; - case 7: - num = ((_003CCreateAllTasks_003Ed__2._200C_200F_206C_206A_200E_206E_206A_200F_206A_200E_206B_200C_200E_206D_202C_206F_202E_206C_202E_200F_206B_200E_202A_202B_202B_200D_200F_206E_200C_206A_200B_206E_202A_202D_202D_206D_202C_206D_206D_206F_202E(step) != EInteractionType.CompleteQuest) ? 1303320921 : 1303320935); - continue; - case 34: - yield break; - case 6: - num = ((!flag) ? 1303320953 : 1303320959); - continue; - case 1: - num = ((_003CCreateAllTasks_003Ed__2._200C_200F_206C_206A_200E_206E_206A_200F_206A_200E_206B_200C_200E_206D_202C_206F_202E_206C_202E_200F_206B_200E_202A_202B_202B_200D_200F_206E_200C_206A_200B_206E_202A_202D_202D_206D_202C_206D_206D_206F_202E(step) != EInteractionType.PurchaseItem) ? 1303320949 : 1303320952); - continue; - case 2: - yield return new WaitAtEnd.WaitDelay(); - goto case 25; - case 13: - num = ((_003CCreateAllTasks_003Ed__2._200C_200F_206C_206A_200E_206E_206A_200F_206A_200E_206B_200C_200E_206D_202C_206F_202E_206C_202E_200F_206B_200E_202A_202B_202B_200D_200F_206E_200C_206A_200B_206E_202A_202D_202D_206D_202C_206D_206D_206F_202E(step) != EInteractionType.Snipe) ? 1303320951 : 1303320930); - continue; - case 14: - num = (_003CCreateAllTasks_003Ed__2._206C_206A_202B_200F_206A_202D_206D_200C_200F_206C_202A_200D_202A_206F_206C_206E_202A_206C_202B_202A_202B_206A_206C_200D_206E_206F_202A_200B_202D_200E_200C_200E_206F_202E_200F_200D_200E_206C_202B_206B_202E(step).HasValue ? 1303320946 : 1303320931); - continue; - case 25: - num = 1303320956; - continue; - case 16: - { - flag = false; - num = 1303320958; - continue; - } - IL_02b1: - skipMarkerCheck = 1; - goto IL_02b2; - IL_02b2: - num5 = _003CCreateAllTasks_003Ed__2._200D_206F_200B_200C_200B_202E_200B_206C_206D_202E_206C_206D_200F_206B_202B_206C_200D_202E_200C_200D_202A_200D_200F_202A_206C_202B_200F_200E_202D_200B_200B_206A_202E_200F_206D_200E_200D_206E_202C_206E_202E(step); - if (!num5.HasValue) - { - GCPurchaseInfo gCPurchaseInfo = _003CCreateAllTasks_003Ed__2._202E_200B_206E_206A_206B_202B_206E_200F_200F_202C_200D_202B_202B_202A_200B_206F_200D_206B_200B_200F_206F_202E_200D_200C_200D_200C_200F_200D_202A_206F_206D_206E_206D_200C_200C_202C_206B_200D_206B_200E_202E(step); - pickUpItemId = ((gCPurchaseInfo != null) ? new uint?(_003CCreateAllTasks_003Ed__2._202C_200E_206A_202D_202B_202C_202B_202E_200F_206E_200F_202A_202A_200B_200F_200B_206D_200C_202A_206C_200F_206F_206C_206E_202B_206D_200E_206A_202E_200D_202C_206F_202E_202A_206C_206C_206F_206D_202E_200D_202E(gCPurchaseInfo)) : ((uint?)null)); - } - else - { - pickUpItemId = num5; - } - taxiStandId = _003CCreateAllTasks_003Ed__2._200E_202D_200F_202C_202D_200D_202C_200E_200E_202B_206B_206A_202D_206D_202C_206A_206B_200F_202E_202D_202B_206C_202D_200F_200D_202A_200C_202C_200F_206B_206B_206A_202E_202A_200E_202C_200F_202E_206E_202A_202E(step); - skipConditions = _003CCreateAllTasks_003Ed__2._200F_206F_206D_202B_206C_206D_200C_202B_202E_200D_200E_206E_200E_206A_202B_202E_200B_202E_200F_206A_206A_206E_206F_202C_202C_206A_200F_202C_202A_206B_200E_206E_202A_200E_202A_202A_200D_206C_202C_200E_202E(step); - skipConditions2 = ((skipConditions != null) ? _003CCreateAllTasks_003Ed__2._202C_200D_202E_202A_206A_206B_206C_202E_206F_206D_206A_206C_206E_206D_206A_206A_200F_202E_206A_202A_200F_202A_200D_206D_206A_206F_202D_206E_206C_200E_202B_206E_202D_206D_200F_206E_206D_202B_206A_206E_202E(skipConditions) : null); - completionQuestVariablesFlags = _003CCreateAllTasks_003Ed__2._206D_206A_206C_202A_202C_206D_206F_206D_206D_202B_200E_202A_200E_202B_206B_200E_200E_206B_202C_206D_206C_206C_206E_202E_200C_206C_202B_200E_206E_206F_200F_202B_200D_200B_200C_202B_206F_206E_206F_202E_202E(step); - purchaseItemId = ((_003CCreateAllTasks_003Ed__2._200C_200F_206C_206A_200E_206E_206A_200F_206A_200E_206B_200C_200E_206D_202C_206F_202E_206C_202E_200F_206B_200E_202A_202B_202B_200D_200F_206E_200C_206A_200B_206E_202A_202D_202D_206D_202C_206D_206D_206F_202E(step) == EInteractionType.PurchaseItem) ? _003CCreateAllTasks_003Ed__2._200F_200C_200F_206C_206B_202A_206C_206E_202D_206C_200B_206E_200C_200F_206E_206C_200C_200B_200D_206E_202B_206D_202E_200C_206C_202A_200D_202B_202C_202C_202B_206E_206B_200F_206F_206B_206F_200E_200E_202E(step) : ((uint?)null)); - purchaseItemCount = ((_003CCreateAllTasks_003Ed__2._200C_200F_206C_206A_200E_206E_206A_200F_206A_200E_206B_200C_200E_206D_202C_206F_202E_206C_202E_200F_206B_200E_202A_202B_202B_200D_200F_206E_200C_206A_200B_206E_202A_202D_202D_206D_202C_206D_206D_206F_202E(step) == EInteractionType.PurchaseItem) ? _003CCreateAllTasks_003Ed__2._200B_200F_200F_200B_200B_206C_202D_206C_200F_206D_200B_202C_202A_206C_206F_206E_206A_202D_200F_206D_206B_202D_200F_202A_200B_206A_202B_206C_202D_202D_202A_206C_202D_206B_206E_202A_200C_200D_202A_200C_202E(step).GetValueOrDefault() : 0); - yield return new Task(value, quest, interactionType, (byte)skipMarkerCheck != 0, pickUpItemId, taxiStandId, skipConditions2, completionQuestVariablesFlags, null, purchaseItemId, purchaseItemCount); - yield break; - } - break; + yield break; } } - } - - IEnumerable ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks - return this.CreateAllTasks(quest, sequence, step); + else if (step.InteractionType == EInteractionType.PurchaseItem) + { + if (!step.DataId.HasValue) + { + yield break; + } + } + else if (step.InteractionType == EInteractionType.Snipe) + { + if (!configuration.General.AutoSnipe) + { + yield break; + } + } + else if (step.InteractionType == EInteractionType.UnlockTaxiStand) + { + if (!step.TaxiStandId.HasValue) + { + yield break; + } + } + else if (step.InteractionType != EInteractionType.Interact) + { + yield break; + } + ArgumentNullException.ThrowIfNull(step.DataId, "step.DataId"); + if (sequence.Sequence == 0 && sequence.Steps.IndexOf(step) == 0) + { + yield return new WaitAtEnd.WaitDelay(); + } + uint value = step.DataId.Value; + EInteractionType interactionType2 = step.InteractionType; + int skipMarkerCheck; + if (!step.IgnoreQuestMarker && !step.TargetTerritoryId.HasValue) + { + SkipConditions skipConditions = step.SkipConditions; + if (skipConditions != null) + { + SkipStepConditions stepIf = skipConditions.StepIf; + if (stepIf != null && stepIf.Never) + { + goto IL_024a; + } + } + if (step.InteractionType != EInteractionType.PurchaseItem) + { + skipMarkerCheck = ((step.DataId == 1052475) ? 1 : 0); + goto IL_024b; + } + } + goto IL_024a; + IL_024a: + skipMarkerCheck = 1; + goto IL_024b; + IL_024b: + uint? pickUpItemId = step.PickUpItemId ?? step.GCPurchase?.ItemId; + byte? taxiStandId = step.TaxiStandId; + SkipStepConditions? skipConditions2 = step.SkipConditions?.StepIf; + List completionQuestVariablesFlags = step.CompletionQuestVariablesFlags; + uint? purchaseItemId = ((step.InteractionType == EInteractionType.PurchaseItem) ? step.ItemId : ((uint?)null)); + int purchaseItemCount = ((step.InteractionType == EInteractionType.PurchaseItem) ? step.ItemCount.GetValueOrDefault() : 0); + yield return new Task(value, quest, interactionType2, (byte)skipMarkerCheck != 0, pickUpItemId, taxiStandId, skipConditions2, completionQuestVariablesFlags, null, purchaseItemId, purchaseItemCount); } } internal sealed record Task : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206E_206D_202B_202E_202A_206D_200C_200D_206F_200F_206D_206A_200C_202A_202C_206D_202A_206F_200E_206D_200D_202D_200C_206F_206D_206F_202B_206D_200B_206B_206D_206D_206C_206D_206E_206A_200B_200E_206D_200C_202E(typeof(Task).TypeHandle); - } - } - public uint DataId { get; init; } public Quest? Quest { get; init; } @@ -717,123 +146,9 @@ internal static class Interact return true; } - bool ITask.ShouldRedoOnInterrupt() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt - return this.ShouldRedoOnInterrupt(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(10, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1557612731)); - defaultInterpolatedStringHandler.AppendFormatted(HasCompletionQuestVariablesFlags ? global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1980443466) : 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(1200342830)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1208656614)); - defaultInterpolatedStringHandler.AppendFormatted(DataId); - defaultInterpolatedStringHandler.AppendLiteral(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(444206578)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202B_200E_202C_206D_200C_206A_200F_200C_206F_202C_202D_200D_206E_202B_206F_200C_206E_206D_206C_206F_206C_200D_206D_200E_200F_202E_200D_206E_202B_202A_202A_206F_200D_202A_200E_200C_200D_206B_202A_202B_202E(); - _200F_206A_200D_206D_200F_206B_202C_200D_200E_202E_202A_202C_202D_206D_200E_202D_200F_206A_202B_200E_206E_202C_206A_206D_206F_206D_200C_200B_206C_206E_206D_202A_202B_206B_202C_200B_200E_200D_206E_200E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1430532645)); - _200F_206A_200D_206D_200F_206B_202C_200D_200E_202E_202A_202C_202D_206D_200E_202D_200F_206A_202B_200E_206E_202C_206A_206D_206F_206D_200C_200B_206C_206E_206D_202A_202B_206B_202C_200B_200E_200D_206E_200E_202E(builder, DataId.ToString()); - _200F_206A_200D_206D_200F_206B_202C_200D_200E_202E_202A_202C_202D_206D_200E_202D_200F_206A_202B_200E_206E_202C_206A_206D_206F_206D_200C_200B_206C_206E_206D_202A_202B_206B_202C_200B_200E_200D_206E_200E_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1099583199)); - _202B_202C_200E_206D_206D_202E_202A_206F_202A_206F_202B_206A_202B_206C_206F_200B_202D_200F_200E_202C_202A_202B_200C_206C_200F_200B_206D_206A_200F_206C_200F_206C_202A_202B_206C_206D_206C_206B_202C_206D_202E(builder, (object?)Quest); - _200F_206A_200D_206D_200F_206B_202C_200D_200E_202E_202A_202C_202D_206D_200E_202D_200F_206A_202B_200E_206E_202C_206A_206D_206F_206D_200C_200B_206C_206E_206D_202A_202B_206B_202C_200B_200E_200D_206E_200E_202E(builder, 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(885106038)); - _200F_206A_200D_206D_200F_206B_202C_200D_200E_202E_202A_202C_202D_206D_200E_202D_200F_206A_202B_200E_206E_202C_206A_206D_206F_206D_200C_200B_206C_206E_206D_202A_202B_206B_202C_200B_200E_200D_206E_200E_202E(builder, InteractionType.ToString()); - _200F_206A_200D_206D_200F_206B_202C_200D_200E_202E_202A_202C_202D_206D_200E_202D_200F_206A_202B_200E_206E_202C_206A_206D_206F_206D_200C_200B_206C_206E_206D_202A_202B_206B_202C_200B_200E_200D_206E_200E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1480615428)); - _200F_206A_200D_206D_200F_206B_202C_200D_200E_202E_202A_202C_202D_206D_200E_202D_200F_206A_202B_200E_206E_202C_206A_206D_206F_206D_200C_200B_206C_206E_206D_202A_202B_206B_202C_200B_200E_200D_206E_200E_202E(builder, SkipMarkerCheck.ToString()); - _200F_206A_200D_206D_200F_206B_202C_200D_200E_202E_202A_202C_202D_206D_200E_202D_200F_206A_202B_200E_206E_202C_206A_206D_206F_206D_200C_200B_206C_206E_206D_202A_202B_206B_202C_200B_200E_200D_206E_200E_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-272408231)); - _200F_206A_200D_206D_200F_206B_202C_200D_200E_202E_202A_202C_202D_206D_200E_202D_200F_206A_202B_200E_206E_202C_206A_206D_206F_206D_200C_200B_206C_206E_206D_202A_202B_206B_202C_200B_200E_200D_206E_200E_202E(builder, PickUpItemId.ToString()); - _200F_206A_200D_206D_200F_206B_202C_200D_200E_202E_202A_202C_202D_206D_200E_202D_200F_206A_202B_200E_206E_202C_206A_206D_206F_206D_200C_200B_206C_206E_206D_202A_202B_206B_202C_200B_200E_200D_206E_200E_202E(builder, 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(-1754464364)); - _200F_206A_200D_206D_200F_206B_202C_200D_200E_202E_202A_202C_202D_206D_200E_202D_200F_206A_202B_200E_206E_202C_206A_206D_206F_206D_200C_200B_206C_206E_206D_202A_202B_206B_202C_200B_200E_200D_206E_200E_202E(builder, TaxiStandId.ToString()); - _200F_206A_200D_206D_200F_206B_202C_200D_200E_202E_202A_202C_202D_206D_200E_202D_200F_206A_202B_200E_206E_202C_206A_206D_206F_206D_200C_200B_206C_206E_206D_202A_202B_206B_202C_200B_200E_200D_206E_200E_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(904394934)); - _202B_202C_200E_206D_206D_202E_202A_206F_202A_206F_202B_206A_202B_206C_206F_200B_202D_200F_200E_202C_202A_202B_200C_206C_200F_200B_206D_206A_200F_206C_200F_206C_202A_202B_206C_206D_206C_206B_202C_206D_202E(builder, (object?)SkipConditions); - _200F_206A_200D_206D_200F_206B_202C_200D_200E_202E_202A_202C_202D_206D_200E_202D_200F_206A_202B_200E_206E_202C_206A_206D_206F_206D_200C_200B_206C_206E_206D_202A_202B_206B_202C_200B_200E_200D_206E_200E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(615050816)); - _200F_206A_200D_206D_200F_206B_202C_200D_200E_202E_202A_202C_202D_206D_200E_202D_200F_206A_202B_200E_206E_202C_206A_206D_206F_206D_200C_200B_206C_206E_206D_202A_202B_206B_202C_200B_200E_200D_206E_200E_202E(builder, CompletionStatusId.ToString()); - _200F_206A_200D_206D_200F_206B_202C_200D_200E_202E_202A_202C_202D_206D_200E_202D_200F_206A_202B_200E_206E_202C_206A_206D_206F_206D_200C_200B_206C_206E_206D_202A_202B_206B_202C_200B_200E_200D_206E_200E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2064962175)); - _200F_206A_200D_206D_200F_206B_202C_200D_200E_202E_202A_202C_202D_206D_200E_202D_200F_206A_202B_200E_206E_202C_206A_206D_206F_206D_200C_200B_206C_206E_206D_202A_202B_206B_202C_200B_200E_200D_206E_200E_202E(builder, PurchaseItemId.ToString()); - _200F_206A_200D_206D_200F_206B_202C_200D_200E_202E_202A_202C_202D_206D_200E_202D_200F_206A_202B_200E_206E_202C_206A_206D_206F_206D_200C_200B_206C_206E_206D_202A_202B_206B_202C_200B_200E_200D_206E_200E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1758600695)); - _200F_206A_200D_206D_200F_206B_202C_200D_200E_202E_202A_202C_202D_206D_200E_202D_200F_206A_202B_200E_206E_202C_206A_206D_206F_206D_200C_200B_206C_206E_206D_202A_202B_206B_202C_200B_200E_200D_206E_200E_202E(builder, PurchaseItemCount.ToString()); - _200F_206A_200D_206D_200F_206B_202C_200D_200E_202E_202A_202C_202D_206D_200E_202D_200F_206A_202B_200E_206E_202C_206A_206D_206F_206D_200C_200B_206C_206E_206D_202A_202B_206B_202C_200B_200E_200D_206E_200E_202E(builder, 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(-755497586)); - _202B_202C_200E_206D_206D_202E_202A_206F_202A_206F_202B_206A_202B_206C_206F_200B_202D_200F_200E_202C_202A_202B_200C_206C_200F_200B_206D_206A_200F_206C_200F_206C_202A_202B_206C_206D_206C_206B_202C_206D_202E(builder, (object?)CompletionQuestVariablesFlags); - _200F_206A_200D_206D_200F_206B_202C_200D_200E_202E_202A_202C_202D_206D_200E_202D_200F_206A_202B_200E_206E_202C_206A_206D_206F_206D_200C_200B_206C_206E_206D_202A_202B_206B_202C_200B_200E_200D_206E_200E_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1206975050)); - _200F_206A_200D_206D_200F_206B_202C_200D_200E_202E_202A_202C_202D_206D_200E_202D_200F_206A_202B_200E_206E_202C_206A_206D_206F_206D_200C_200B_206C_206E_206D_202A_202B_206B_202C_200B_200E_200D_206E_200E_202E(builder, HasCompletionQuestVariablesFlags.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(Task? other) - { - int num = (((object)this == other) ? (-1634206361) : (-1634206353)); - while (true) - { - int num2 = num; - int num3 = -1634206354; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 15: - num = ((!EqualityComparer.Default.Equals(TaxiStandId, other.TaxiStandId)) ? (-1634206356) : (-1634206338)); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(Quest, other.Quest)) ? (-1634206356) : (-1634206366)); - break; - case 7: - return EqualityComparer.Default.Equals(HasCompletionQuestVariablesFlags, other.HasCompletionQuestVariablesFlags); - case 6: - num = ((!EqualityComparer.Default.Equals(DataId, other.DataId)) ? (-1634206356) : (-1634206358)); - break; - case 8: - num = ((!EqualityComparer.Default.Equals(PurchaseItemCount, other.PurchaseItemCount)) ? (-1634206356) : (-1634206363)); - break; - case 14: - num = ((!EqualityComparer.Default.Equals(SkipMarkerCheck, other.SkipMarkerCheck)) ? (-1634206356) : (-1634206364)); - break; - case 10: - num = ((!EqualityComparer.Default.Equals(PickUpItemId, other.PickUpItemId)) ? (-1634206356) : (-1634206367)); - break; - case 0: - num = ((!EqualityComparer.Default.Equals(PurchaseItemId, other.PurchaseItemId)) ? (-1634206356) : (-1634206362)); - break; - case 9: - return true; - case 12: - num = ((!EqualityComparer.Default.Equals(InteractionType, other.InteractionType)) ? (-1634206356) : (-1634206368)); - break; - case 1: - num = (((object)other == null) ? (-1634206356) : (-1634206355)); - break; - case 13: - num = ((!EqualityComparer.Default.Equals(CompletionStatusId, other.CompletionStatusId)) ? (-1634206356) : (-1634206354)); - break; - case 2: - return false; - case 11: - num = ((!EqualityComparer>.Default.Equals(CompletionQuestVariablesFlags, other.CompletionQuestVariablesFlags)) ? (-1634206356) : (-1634206359)); - break; - case 16: - num = ((!EqualityComparer.Default.Equals(SkipConditions, other.SkipConditions)) ? (-1634206356) : (-1634206365)); - break; - case 3: - num = ((!_200E_202A_202D_200B_202E_200E_200E_202E_206A_200B_202C_206D_206A_202D_200E_206A_200B_202E_202A_206A_200E_202B_206E_202C_200F_206B_202A_206C_206D_202B_200C_206E_200D_200E_200F_206B_206F_202D_206D_206D_202E(EqualityContract, other.EqualityContract)) ? (-1634206356) : (-1634206360)); - break; - case 5: - num = -1634206353; - break; - } - } - } - - bool IEquatable.Equals(Task? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); + return $"Interact{(HasCompletionQuestVariablesFlags ? "*" : "")}({DataId})"; } [CompilerGenerated] @@ -851,31 +166,6 @@ internal static class Interact PurchaseItemId = this.PurchaseItemId; PurchaseItemCount = this.PurchaseItemCount; } - - static Type? _206E_206D_202B_202E_202A_206D_200C_200D_206F_200F_206D_206A_200C_202A_202C_206D_202A_206F_200E_206D_200D_202D_200C_206F_206D_206F_202B_206D_200B_206B_206D_206D_206C_206D_206E_206A_200B_200E_206D_200C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _202B_200E_202C_206D_200C_206A_200F_200C_206F_202C_202D_200D_206E_202B_206F_200C_206E_206D_206C_206F_206C_200D_206D_200E_200F_202E_200D_206E_202B_202A_202A_206F_200D_202A_200E_200C_200D_206B_202A_202B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder? _200F_206A_200D_206D_200F_206B_202C_200D_200E_202E_202A_202C_202D_206D_200E_202D_200F_206A_202B_200E_206E_202C_206A_206D_206F_206D_200C_200B_206C_206E_206D_202A_202B_206B_202C_200B_200E_200D_206E_200E_202E(StringBuilder? P_0, string? P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder? _202B_202C_200E_206D_206D_202E_202A_206F_202A_206F_202B_206A_202B_206C_206F_200B_202D_200F_200E_202C_202A_202B_200C_206C_200F_200B_206D_206A_200F_206C_200F_206C_202A_202B_206C_206D_206C_206B_202C_206D_202E(StringBuilder? P_0, object? P_1) - { - return P_0.Append(P_1); - } - - static bool _200E_202A_202D_200B_202E_200E_200E_202E_206A_200B_202C_206D_206A_202D_200E_206A_200B_202E_202A_206A_200E_202B_206E_202C_200F_206B_202A_206C_206D_202B_200C_206E_200D_200E_200F_206B_206F_202D_206D_206D_202E(Type? P_0, Type? P_1) - { - return P_0 == P_1; - } } internal sealed class DoInteract(GameFunctions gameFunctions, QuestFunctions questFunctions, ShopController shopController, ICondition condition, ILogger logger) : TaskExecutor(), IConditionChangeAware, ITaskExecutor @@ -905,7 +195,6 @@ internal static class Interact public EInteractionType InteractionType { get; set; } - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { InteractionType = base.Task.InteractionType; @@ -916,280 +205,176 @@ internal static class Interact _interactionAttempts = 0; _gatheringNodeMissingSince = 0L; IGameObject gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId, null, warnIfMissing: false); - int num = ((gameObject != null) ? (-1137861430) : (-1137861440)); - SkipStepConditions skipConditions = default(SkipStepConditions); - while (true) + if (gameObject == null) { - int num2 = num; - int num3 = -1137861426; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (InteractionType == EInteractionType.Gather) { - case 8: - TriggerInteraction(gameObject); - return true; - case 14: - num = ((InteractionType != EInteractionType.Gather) ? (-1137861429) : (-1137861438)); - break; - case 4: - num = (_202E_200B_200B_200B_206B_202D_200B_200C_202D_200E_200C_206F_206F_200E_206D_200C_200D_202D_200F_200E_200B_206F_202D_202B_202D_200C_206F_200F_200B_206D_200C_202D_200C_200B_206D_200B_202D_200F_206B_200D_202E(gameObject) ? (-1137861437) : (-1137861427)); - break; - case 15: - _202E_200E_200E_200F_206A_202B_200C_206C_202A_202C_206C_202B_200C_206A_206E_202E_206F_200E_200C_206D_206E_206A_206F_202E_202B_200D_200F_206B_206F_206A_202B_206E_206E_202D_202E_206C_206E_200F_202D_206A_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1907014260), new object[1] { base.Task.DataId }); + _gatheringNodeMissingSince = Environment.TickCount64; + } + logger.LogDebug("Object with dataId {DataId} not found yet, waiting", base.Task.DataId); + return true; + } + if (!gameObject.IsTargetable) + { + SkipStepConditions skipConditions = base.Task.SkipConditions; + if (skipConditions != null && !skipConditions.Never && skipConditions.NotTargetable) + { + logger.LogDebug("Not interacting with {DataId} because it is not targetable (but skippable)", base.Task.DataId); return false; - case 1: - num = ((!HasAnyMarker(gameObject)) ? (-1137861435) : (-1137861434)); - break; - case 16: - num = ((_206C_206C_200C_206B_202E_206F_200D_200C_206E_200B_206A_206A_200C_202C_200C_200E_202B_206D_200B_202B_202D_206C_206B_202C_202D_202E_200B_202E_202C_206D_200F_206F_202E_200E_206D_206C_200F_202B_202B_202A_202E(gameObject) == Dalamud.Game.ClientState.Objects.Enums.ObjectKind.GatheringPoint) ? (-1137861432) : (-1137861433)); - break; - case 0: - num = ((!_202C_202A_202C_200B_206B_206A_202B_200E_206B_206B_200F_202C_202B_200D_202B_202E_206A_202B_206C_206A_200E_206F_206B_200F_206A_200C_202C_202E_200F_200C_202B_206E_202C_200D_206B_206B_206F_200E_202C_200C_202E(skipConditions)) ? (-1137861437) : (-1137861439)); - break; - case 2: - num = -1137861440; - break; - case 6: - num = ((!_202E_200B_200B_200B_206B_202D_200B_200C_202D_200E_200C_206F_206F_200E_206D_200C_200D_202D_200F_200E_200B_206F_202D_202B_202D_200C_206F_200F_200B_206D_200C_202D_200C_200B_206D_200B_202D_200F_206B_200D_202E(gameObject)) ? (-1137861435) : (-1137861425)); - break; - case 5: - _202E_200E_200E_200F_206A_202B_200C_206C_202A_202C_206C_202B_200C_206A_206E_202E_206F_200E_200C_206D_206E_206A_206F_202E_202B_200D_200F_206B_206F_206A_202B_206E_206E_202D_202E_206C_206E_200F_202D_206A_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1470799654), new object[1] { base.Task.DataId }); - return true; - case 12: - _gatheringNodeMissingSince = _202A_206D_202C_202B_200E_206E_200D_202B_206A_200F_202B_200D_200F_206B_200E_202E_202E_202E_200E_206F_202A_200B_200D_206F_202D_206F_206F_206F_200E_206A_202D_206C_206C_200F_202B_200F_200C_200B_206B_206A_202E(); - num = -1137861429; - break; - case 13: - num = (_202E_200B_200B_200B_206B_202D_200B_200C_202D_200E_200C_206F_206F_200E_206D_200C_200D_202D_200F_200E_200B_206F_202D_202B_202D_200C_206F_200F_200B_206D_200C_202D_200C_200B_206D_200B_202D_200F_206B_200D_202E(gameObject) ? (-1137861432) : (-1137861431)); - break; - case 7: - num = ((!_202D_200E_206B_200E_202E_206D_202A_206E_206E_202C_206A_206F_200D_200B_200B_200B_200E_202A_202E_206A_200D_206F_200B_202C_200B_206B_200F_206C_206B_206C_206C_202C_206D_202E_202A_206A_200D_200B_206C_206E_202E(condition, ConditionFlag.Mounted)) ? (-1137861432) : (-1137861410)); - break; - case 11: - return true; - case 3: - skipConditions = base.Task.SkipConditions; - num = ((skipConditions == null) ? (-1137861437) : (-1137861436)); - break; - case 10: - num = (_206D_206F_200D_202B_200B_202D_200C_202C_206E_202D_202B_200E_202A_200B_206C_206A_206D_200D_206C_200C_202B_200B_206C_206F_202D_202B_200F_200E_206B_200C_200F_200F_206A_202C_202C_206C_200B_200D_200B_206C_202E(skipConditions) ? (-1137861437) : (-1137861426)); - break; - case 9: - _202E_200E_200E_200F_206A_202B_200C_206C_202A_202C_206C_202B_200C_206A_206E_202E_206F_200E_200C_206D_206E_206A_206F_202E_202B_200D_200F_206B_206F_206A_202B_206E_206E_202D_202E_206C_206E_200F_202D_206A_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-114450363), new object[1] { base.Task.DataId }); - _needsUnmount = true; - gameFunctions.Unmount(); - _continueAt = _202A_206D_202C_202B_200E_206E_200D_202B_206A_200F_202B_200D_200F_206B_200E_202E_202E_202E_200E_206F_202A_200B_200D_206F_202D_206F_206F_206F_200E_206A_202D_206C_206C_200F_202B_200F_200C_200B_206B_206A_202E() + 1000; - return true; } } + if (!gameObject.IsTargetable && condition[ConditionFlag.Mounted] && gameObject.ObjectKind != Dalamud.Game.ClientState.Objects.Enums.ObjectKind.GatheringPoint) + { + logger.LogDebug("Preparing interaction for {DataId} by unmounting", base.Task.DataId); + _needsUnmount = true; + gameFunctions.Unmount(); + _continueAt = Environment.TickCount64 + 1000; + return true; + } + if (gameObject.IsTargetable && HasAnyMarker(gameObject)) + { + TriggerInteraction(gameObject); + return true; + } + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe override ETaskResult Update() { - int num = ((_202A_206D_202C_202B_200E_206E_200D_202B_206A_200F_202B_200D_200F_206B_200E_202E_202E_202E_200E_206F_202A_200B_200D_206F_202D_206F_206F_206F_200E_206A_202D_206C_206C_200F_202B_200F_200C_200B_206B_206A_202E() > _continueAt) ? 729824237 : 729824204); - EStatus? completionStatusId = default(EStatus?); - uint? num7 = default(uint?); - IGameObject gameObject = default(IGameObject); - QuestProgressInfo questProgressInfo = default(QuestProgressInfo); - byte? taxiStandId = default(byte?); - uint valueOrDefault = default(uint); - while (true) + if (Environment.TickCount64 <= _continueAt) { - int num2 = num; - int num3 = 729824194; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return ETaskResult.StillRunning; + } + if (_needsUnmount) + { + if (condition[ConditionFlag.Mounted]) { - case 45: - ResetProgressTimer(); - return ETaskResult.TaskComplete; - case 24: - return ETaskResult.TaskComplete; - case 40: - return ETaskResult.StillRunning; - case 15: - return ETaskResult.StillRunning; - case 0: - num = ((_interactionState != EInteractionState.InteractionConfirmed) ? 729824198 : 729824207); - break; - case 21: - num = ((base.ProgressContext == null) ? 729824198 : 729824233); - break; - case 44: - { - EStatus valueOrDefault3 = completionStatusId.GetValueOrDefault(); - num = ((!gameFunctions.HasStatus(valueOrDefault3)) ? 729824193 : 729824239); - break; - } - case 3: - num7 = base.Task.PickUpItemId; - num = ((!num7.HasValue) ? 729824195 : 729824228); - break; - case 27: - num = ((!_202D_200E_206B_200E_202E_206D_202A_206E_206E_202C_206A_206F_200D_200B_200B_200B_200E_202A_202E_206A_200D_206F_200B_202C_200B_206B_200F_206C_206B_206C_206C_202C_206D_202E_202A_206A_200D_200B_206C_206E_202E(condition, ConditionFlag.Mounted)) ? 729824199 : 729824222); - break; - case 6: - _202E_200E_200E_200F_206A_202B_200C_206C_202A_202C_206C_202B_200C_206A_206E_202E_206F_200E_200C_206D_206E_206A_206F_202E_202B_200D_200F_206B_206F_206A_202B_206E_206E_202D_202E_206C_206E_200F_202D_206A_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(482979701), new object[1] { base.Task.DataId }); - return ETaskResult.SkipRemainingTasksForStep; - case 5: - _needsUnmount = false; - num = 729824197; - break; - case 34: - _202B_202B_206C_206D_202A_206C_206C_206A_206F_206D_206D_200B_206D_200D_206C_202C_202A_206E_200B_202E_200B_200D_206C_202D_202A_200E_202E_200D_206A_200C_202B_200B_206A_202E_202C_200E_200B_206B_206D_202E_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1503004360), new object[2] - { - base.Task.DataId, - _interactionAttempts - }); - return ETaskResult.RetryStep; - case 32: - num = ((!_202D_200E_206B_200E_202E_206D_202A_206E_206E_202C_206A_206F_200D_200B_200B_200B_200E_202A_202E_206A_200D_206F_200B_202C_200B_206B_200F_206C_206B_206C_206C_202C_206D_202E_202A_206A_200D_200B_206C_206E_202E(condition, ConditionFlag.Gathering)) ? 729824232 : 729824230); - break; - case 8: - _gatheringNodeMissingSince = 0L; - num = (HasAnyMarker(gameObject) ? 729824192 : 729824234); - break; - case 33: - num = ((!QuestWorkUtils.MatchesQuestWork(base.Task.CompletionQuestVariablesFlags, questProgressInfo)) ? 729824198 : 729824201); - break; - case 42: - num = ((Quest == null) ? 729824215 : 729824206); - break; - case 17: - num = ((!shopController.IsOpen) ? 729824198 : 729824205); - break; - case 46: - num = (base.ProgressContext.WasSuccessful() ? 729824207 : 729824194); - break; - case 4: - gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId, null, warnIfMissing: false); - num = ((gameObject == null) ? 729824220 : 729824243); - break; - case 36: - ResetProgressTimer(); - return ETaskResult.TaskComplete; - case 14: - return ETaskResult.StillRunning; - case 9: - ResetProgressTimer(); - return ETaskResult.TaskComplete; - case 30: - num = ((InteractionType != EInteractionType.Gather) ? 729824242 : 729824221); - break; - case 35: - _gatheringNodeMissingSince = _202A_206D_202C_202B_200E_206E_200D_202B_206A_200F_202B_200D_200F_206B_200E_202E_202E_202E_200E_206F_202A_200B_200D_206F_202D_206F_206F_206F_200E_206A_202D_206C_206C_200F_202B_200F_200C_200B_206B_206A_202E(); - num = 729824231; - break; - case 39: - _continueAt = _202A_206D_202C_202B_200E_206E_200D_202B_206A_200F_202B_200D_200F_206B_200E_202E_202E_202E_200E_206F_202A_200B_200D_206F_202D_206F_206F_206F_200E_206A_202D_206C_206C_200F_202B_200F_200C_200B_206B_206A_202E() + 200; - _delayedFinalCheck = true; - return ETaskResult.StillRunning; - case 47: - num = ((!_needsUnmount) ? 729824197 : 729824217); - break; - case 7: - completionStatusId = base.Task.CompletionStatusId; - num = ((!completionStatusId.HasValue) ? 729824193 : 729824238); - break; - case 12: - num = ((!base.Task.HasCompletionQuestVariablesFlags) ? 729824215 : 729824212); - break; - case 20: - num = ((InteractionType != EInteractionType.Gather) ? 729824232 : 729824226); - break; - case 38: - { - uint valueOrDefault4 = num7.GetValueOrDefault(); - num = ((InventoryManager.Instance()->GetInventoryItemCount(valueOrDefault4, isHq: false, checkEquipped: true, checkArmory: true, 0) <= 0) ? 729824198 : 729824209); - break; - } - case 29: - num = 729824204; - break; - case 26: - taxiStandId = base.Task.TaxiStandId; - num = ((!taxiStandId.HasValue) ? 729824214 : 729824219); - break; - case 28: gameFunctions.Unmount(); - _continueAt = _202A_206D_202C_202B_200E_206E_200D_202B_206A_200F_202B_200D_200F_206B_200E_202E_202E_202E_200E_206F_202A_200B_200D_206F_202D_206F_206F_206F_200E_206A_202D_206C_206C_200F_202B_200F_200C_200B_206B_206A_202E() + 1000; + _continueAt = Environment.TickCount64 + 1000; return ETaskResult.StillRunning; - case 48: - return ETaskResult.StillRunning; - case 22: - questProgressInfo = questFunctions.GetQuestProgressInfo(Quest.Id); - num = ((questProgressInfo == null) ? 729824198 : 729824227); - break; - case 49: - num = (_202E_200B_200B_200B_206B_202D_200B_200C_202D_200E_200C_206F_206F_200E_206D_200C_200D_202D_200F_200E_200B_206F_202D_202B_202D_200C_206F_200F_200B_206D_200C_202D_200C_200B_206D_200B_202D_200F_206B_200D_202E(gameObject) ? 729824202 : 729824220); - break; - case 41: - valueOrDefault = num7.GetValueOrDefault(); - num = ((base.Task.PurchaseItemCount <= 0) ? 729824216 : 729824210); - break; - case 2: - { - int interactionAttempts = _interactionAttempts; - num3 = 1; - num4 = interactionAttempts; - _interactionAttempts = (num4 | num3) + (num4 & num3); - num = ((_interactionAttempts <= 10) ? 729824213 : 729824224); - break; } - case 37: - num = ((_202A_206D_202C_202B_200E_206E_200D_202B_206A_200F_202B_200D_200F_206B_200E_202E_202E_202E_200E_206F_202A_200B_200D_206F_202D_206F_206F_206F_200E_206A_202D_206C_206C_200F_202B_200F_200C_200B_206B_206A_202E() - _gatheringNodeMissingSince < 1000) ? 729824242 : 729824196); - break; - case 1: - num7 = base.Task.PurchaseItemId; - num = ((!num7.HasValue) ? 729824216 : 729824235); - break; - case 25: + _needsUnmount = false; + } + EStatus? completionStatusId = base.Task.CompletionStatusId; + if (completionStatusId.HasValue) + { + EStatus valueOrDefault = completionStatusId.GetValueOrDefault(); + if (gameFunctions.HasStatus(valueOrDefault)) { - byte valueOrDefault2 = taxiStandId.GetValueOrDefault(); - UIState* intPtr = UIState.Instance(); - num3 = 1179648; - num4 = valueOrDefault2; - int num8 = num4 ^ num3; - int num9 = num4 & num3; - num = ((!intPtr->IsChocoboTaxiStandUnlocked((uint)(num8 + (num9 + num9)))) ? 729824198 : 729824203); - break; - } - case 23: - TriggerInteraction(gameObject); - ResetProgressTimer(); - return ETaskResult.StillRunning; - case 31: - num = ((_gatheringNodeMissingSince != 0L) ? 729824231 : 729824225); - break; - case 13: - ResetProgressTimer(); - num = ((!_delayedFinalCheck) ? 729824229 : 729824218); - break; - case 10: - _202E_200E_200E_200F_206A_202B_200C_206C_202A_202C_206C_202B_200C_206A_206E_202E_206F_200E_200C_206D_206E_206A_206F_202E_202B_200D_200F_206B_206F_206A_202B_206E_206E_202D_202E_206C_206E_200F_202D_206A_202E((ILogger)logger, 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(-115096270), new object[1] { base.Task.DataId }); - return ETaskResult.StillRunning; - case 19: - ResetProgressTimer(); - return ETaskResult.TaskComplete; - case 16: - num = ((((ItemHandle)valueOrDefault).GetCount(checkEquipped: true, checkArmory: true) < base.Task.PurchaseItemCount) ? 729824211 : 729824208); - break; - case 18: - ResetProgressTimer(); - return ETaskResult.TaskComplete; - case 43: - num = ((!base.ProgressContext.WasInterrupted()) ? 729824236 : 729824200); - break; - case 11: ResetProgressTimer(); return ETaskResult.TaskComplete; } } + uint? pickUpItemId = base.Task.PickUpItemId; + if (pickUpItemId.HasValue) + { + uint valueOrDefault2 = pickUpItemId.GetValueOrDefault(); + if (InventoryManager.Instance()->GetInventoryItemCount(valueOrDefault2, isHq: false, checkEquipped: true, checkArmory: true, 0) > 0) + { + ResetProgressTimer(); + return ETaskResult.TaskComplete; + } + } + else + { + pickUpItemId = base.Task.PurchaseItemId; + if (pickUpItemId.HasValue) + { + uint valueOrDefault3 = pickUpItemId.GetValueOrDefault(); + if (base.Task.PurchaseItemCount > 0) + { + if (((ItemHandle)valueOrDefault3).GetCount(checkEquipped: true, checkArmory: true) >= base.Task.PurchaseItemCount) + { + ResetProgressTimer(); + return ETaskResult.TaskComplete; + } + if (shopController.IsOpen) + { + return ETaskResult.StillRunning; + } + goto IL_0252; + } + } + byte? taxiStandId = base.Task.TaxiStandId; + if (taxiStandId.HasValue) + { + byte valueOrDefault4 = taxiStandId.GetValueOrDefault(); + if (UIState.Instance()->IsChocoboTaxiStandUnlocked((uint)(valueOrDefault4 + 1179648))) + { + ResetProgressTimer(); + return ETaskResult.TaskComplete; + } + } + else + { + if (InteractionType == EInteractionType.Gather && condition[ConditionFlag.Gathering]) + { + ResetProgressTimer(); + return ETaskResult.TaskComplete; + } + if (Quest != null && base.Task.HasCompletionQuestVariablesFlags) + { + QuestProgressInfo questProgressInfo = questFunctions.GetQuestProgressInfo(Quest.Id); + if (questProgressInfo != null && QuestWorkUtils.MatchesQuestWork(base.Task.CompletionQuestVariablesFlags, questProgressInfo)) + { + ResetProgressTimer(); + return ETaskResult.TaskComplete; + } + } + else if (base.ProgressContext != null) + { + if (base.ProgressContext.WasInterrupted()) + { + logger.LogDebug("Interaction with {DataId} was interrupted", base.Task.DataId); + return ETaskResult.StillRunning; + } + if (base.ProgressContext.WasSuccessful() || _interactionState == EInteractionState.InteractionConfirmed) + { + ResetProgressTimer(); + if (_delayedFinalCheck) + { + return ETaskResult.TaskComplete; + } + _continueAt = Environment.TickCount64 + 200; + _delayedFinalCheck = true; + return ETaskResult.StillRunning; + } + } + } + } + goto IL_0252; + IL_0252: + IGameObject gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId, null, warnIfMissing: false); + if (gameObject == null || !gameObject.IsTargetable) + { + if (InteractionType == EInteractionType.Gather) + { + if (_gatheringNodeMissingSince == 0L) + { + _gatheringNodeMissingSince = Environment.TickCount64; + } + if (Environment.TickCount64 - _gatheringNodeMissingSince >= 1000) + { + logger.LogDebug("Gathering node {DataId} is not active, selecting another node", base.Task.DataId); + return ETaskResult.SkipRemainingTasksForStep; + } + } + return ETaskResult.StillRunning; + } + _gatheringNodeMissingSince = 0L; + if (!HasAnyMarker(gameObject)) + { + return ETaskResult.StillRunning; + } + _interactionAttempts++; + if (_interactionAttempts > 10) + { + logger.LogWarning("Interaction with {DataId} failed after {Attempts} attempts, retrying step", base.Task.DataId, _interactionAttempts); + return ETaskResult.RetryStep; + } + TriggerInteraction(gameObject); + ResetProgressTimer(); + return ETaskResult.StillRunning; } private void TriggerInteraction(IGameObject gameObject) @@ -1199,153 +384,41 @@ internal static class Interact _interactionState = (gameFunctions.InteractWith(gameObject) ? EInteractionState.InteractionTriggered : EInteractionState.None); return _interactionState != EInteractionState.None; }); - _continueAt = _202A_206D_202C_202B_200E_206E_200D_202B_206A_200F_202B_200D_200F_206B_200E_202E_202E_202E_200E_206F_202A_200B_200D_206F_202D_206F_206F_206F_200E_206A_202D_206C_206C_200F_202B_200F_200C_200B_206B_206A_202E() + 500; + _continueAt = Environment.TickCount64 + 500; } private unsafe bool HasAnyMarker(IGameObject gameObject) { - int num = (base.Task.SkipMarkerCheck ? 882594710 : 882594709); - while (true) + if (base.Task.SkipMarkerCheck || gameObject.ObjectKind != Dalamud.Game.ClientState.Objects.Enums.ObjectKind.EventNpc) { - int num2 = num; - int num3 = 882594708; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - { - GameObject* ptr = (GameObject*)_200B_206D_206F_206E_202A_206E_202B_202D_202A_202C_200F_200C_206D_200E_200C_200D_200F_206C_206B_200E_206E_206B_200B_200D_206C_200F_206B_206F_206B_206D_202C_200C_206E_200D_202B_202E_200D_200C_202B_206A_202E(gameObject); - return ptr->NamePlateIconId != 0; - } - case 1: - num = ((_206C_206C_200C_206B_202E_206F_200D_200C_206E_200B_206A_206A_200C_202C_200C_200E_202B_206D_200B_202B_202D_206C_206B_202C_202D_202E_200B_202E_202C_206D_200F_206F_202E_200E_206D_206C_200F_202B_202B_202A_202E(gameObject) == Dalamud.Game.ClientState.Objects.Enums.ObjectKind.EventNpc) ? 882594708 : 882594710); - break; - case 2: - return true; - case 3: - num = 882594709; - break; - } + return true; } + GameObject* address = (GameObject*)gameObject.Address; + return address->NamePlateIconId != 0; } - [MethodImpl(MethodImplOptions.NoInlining)] public void OnConditionChange(ConditionFlag flag, bool value) { - int num = ((base.ProgressContext == null) ? (-592767209) : (-592767206)); - bool flag3 = default(bool); - bool flag2 = default(bool); - while (true) + if (base.ProgressContext == null || (!base.ProgressContext.WasInterrupted() && !base.ProgressContext.WasSuccessful())) { - int num2 = num; - int num3 = -592767203; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + logger.LogDebug("Condition change: {Flag} = {Value}", flag, value); + bool flag2 = _interactionState == EInteractionState.InteractionTriggered; + if (flag2) { - case 11: - num = (((uint)(flag - 31) > 1u) ? (-592767205) : (-592767208)); - break; - case 4: - return; - case 1: - flag3 = flag2; - num = -592767203; - break; - case 0: - { - bool num5 = flag3; - num3 = (value ? 1 : 0); - num4 = (num5 ? 1 : 0); - num = ((num4 + num3 - (num4 | num3) == 0) ? (-592767207) : (-592767211)); - break; + bool flag3 = (uint)(flag - 31) <= 1u; + flag2 = flag3; } - case 3: - num = -592767206; - break; - case 6: - flag2 = false; - num = -592767204; - break; - case 7: - num = (base.ProgressContext.WasInterrupted() ? (-592767212) : (-592767201)); - break; - case 8: - _202E_200E_200E_200F_206A_202B_200C_206C_202A_202C_206C_202B_200C_206A_206E_202E_206F_200E_200C_206D_206E_206A_206F_202E_202B_200D_200F_206B_206F_206A_202B_206E_206E_202D_202E_206C_206E_200F_202D_206A_202E((ILogger)logger, 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(1899205764), Array.Empty()); + if (flag2 && value) + { + logger.LogDebug("Interaction was most likely triggered"); _interactionState = EInteractionState.InteractionConfirmed; - num = -592767207; - break; - case 2: - num = ((!base.ProgressContext.WasSuccessful()) ? (-592767209) : (-592767212)); - break; - case 9: - return; - case 10: - _202E_200E_200E_200F_206A_202B_200C_206C_202A_202C_206C_202B_200C_206A_206E_202E_206F_200E_200C_206D_206E_206A_206F_202E_202B_200D_200F_206B_206F_206A_202B_206E_206E_202D_202E_206C_206E_200F_202D_206A_202E((ILogger)logger, 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(-574362043), new object[2] { flag, value }); - flag3 = _interactionState == EInteractionState.InteractionTriggered; - num = ((!flag3) ? (-592767203) : (-592767210)); - break; - case 5: - flag2 = true; - num = -592767204; - break; } } } - void IConditionChangeAware.OnConditionChange(ConditionFlag flag, bool value) - { - //ILSpy generated this explicit interface implementation from .override directive in OnConditionChange - this.OnConditionChange(flag, value); - } - public override bool ShouldInterruptOnDamage() { return true; } - - static long _202A_206D_202C_202B_200E_206E_200D_202B_206A_200F_202B_200D_200F_206B_200E_202E_202E_202E_200E_206F_202A_200B_200D_206F_202D_206F_206F_206F_200E_206A_202D_206C_206C_200F_202B_200F_200C_200B_206B_206A_202E() - { - return Environment.TickCount64; - } - - static void _202E_200E_200E_200F_206A_202B_200C_206C_202A_202C_206C_202B_200C_206A_206E_202E_206F_200E_200C_206D_206E_206A_206F_202E_202B_200D_200F_206B_206F_206A_202B_206E_206E_202D_202E_206C_206E_200F_202D_206A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _202E_200B_200B_200B_206B_202D_200B_200C_202D_200E_200C_206F_206F_200E_206D_200C_200D_202D_200F_200E_200B_206F_202D_202B_202D_200C_206F_200F_200B_206D_200C_202D_200C_200B_206D_200B_202D_200F_206B_200D_202E(IGameObject P_0) - { - return P_0.IsTargetable; - } - - static bool _206D_206F_200D_202B_200B_202D_200C_202C_206E_202D_202B_200E_202A_200B_206C_206A_206D_200D_206C_200C_202B_200B_206C_206F_202D_202B_200F_200E_206B_200C_200F_200F_206A_202C_202C_206C_200B_200D_200B_206C_202E(SkipStepConditions P_0) - { - return P_0.Never; - } - - static bool _202C_202A_202C_200B_206B_206A_202B_200E_206B_206B_200F_202C_202B_200D_202B_202E_206A_202B_206C_206A_200E_206F_206B_200F_206A_200C_202C_202E_200F_200C_202B_206E_202C_200D_206B_206B_206F_200E_202C_200C_202E(SkipStepConditions P_0) - { - return P_0.NotTargetable; - } - - static bool _202D_200E_206B_200E_202E_206D_202A_206E_206E_202C_206A_206F_200D_200B_200B_200B_200E_202A_202E_206A_200D_206F_200B_202C_200B_206B_200F_206C_206B_206C_206C_202C_206D_202E_202A_206A_200D_200B_206C_206E_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static Dalamud.Game.ClientState.Objects.Enums.ObjectKind _206C_206C_200C_206B_202E_206F_200D_200C_206E_200B_206A_206A_200C_202C_200C_200E_202B_206D_200B_202B_202D_206C_206B_202C_202D_202E_200B_202E_202C_206D_200F_206F_202E_200E_206D_206C_200F_202B_202B_202A_202E(IGameObject P_0) - { - return P_0.ObjectKind; - } - - static void _202B_202B_206C_206D_202A_206C_206C_206A_206F_206D_206D_200B_206D_200D_206C_202C_202A_206E_200B_202E_200B_200D_206C_202D_202A_200E_202E_200D_206A_200C_202B_200B_206A_202E_202C_200E_200B_206B_206D_202E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static nint _200B_206D_206F_206E_202A_206E_202B_202D_202A_202C_200F_200C_206D_200E_200C_200D_200F_206C_206B_200E_206E_206B_200B_200D_206C_200F_206B_206F_206B_206D_202C_200C_206E_200D_202B_202E_200D_200C_202B_206A_202E(IGameObject P_0) - { - return P_0.Address; - } } } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/Jump.cs b/Questionable/Questionable.Controller.Steps.Interactions/Jump.cs index e8a00e8..00ae829 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/Jump.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/Jump.cs @@ -1,14 +1,9 @@ using System; using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -using System.Text; -using System.Threading; -using System.Threading.Tasks; using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using Microsoft.Extensions.Logging; @@ -21,62 +16,18 @@ internal static class Jump { internal sealed class Factory : SimpleTaskFactory { - [MethodImpl(MethodImplOptions.NoInlining)] public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((_200E_202A_202E_202C_206A_202E_200E_206A_206E_206E_202C_206E_206D_200D_200E_202D_200F_206E_200D_200D_206D_200C_200D_202B_202A_202A_200B_200B_206D_202B_200F_200B_200F_206D_206B_202E_206A_200C_202D_202B_202E(step) == EInteractionType.Jump) ? 1879754569 : 1879754570); - while (true) + if (step.InteractionType != EInteractionType.Jump) { - int num2 = num; - int num3 = 1879754571; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - return new SingleJumpTask(_200B_206E_202B_202E_202B_200F_202E_202C_206D_200F_202A_200B_206F_200B_200D_206C_202C_206A_206E_206F_200E_202D_206D_206D_206F_202A_206E_200F_202E_206E_202B_200D_206E_202B_206E_206D_200B_206A_200C_202D_202E(step), _200C_202C_206B_200F_200E_206E_202D_206E_200F_206C_206C_206B_206F_202D_200D_206F_202C_202A_202C_200B_200C_200E_200B_202B_206B_206D_202A_202C_200B_200F_200C_202B_202B_206A_206C_202A_202C_202D_200E_202E(step), _206D_200E_206F_200F_202D_206B_202E_200F_206F_206B_200B_206A_202C_200F_206D_206C_200C_206B_200D_206B_206D_200D_202E_206C_206A_206E_202B_200E_200F_200C_202E_206B_206D_206D_206B_200B_206C_206F_206B_200D_202E(step)); - case 1: - return null; - case 0: - return new RepeatedJumpTask(_200B_206E_202B_202E_202B_200F_202E_202C_206D_200F_202A_200B_206F_200B_200D_206C_202C_206A_206E_206F_200E_202D_206D_206D_206F_202A_206E_200F_202E_206E_202B_200D_206E_202B_206E_206D_200B_206A_200C_202D_202E(step), _200C_202C_206B_200F_200E_206E_202D_206E_200F_206C_206C_206B_206F_202D_200D_206F_202C_202A_202C_200B_200C_200E_200B_202B_206B_206D_202A_202C_200B_200F_200C_202B_202B_206A_206C_202A_202C_202D_200E_202E(step), _206D_200E_206F_200F_202D_206B_202E_200F_206F_206B_200B_206A_202C_200F_206D_206C_200C_206B_200D_206B_206D_200D_202E_206C_206A_206E_202B_200E_200F_200C_202E_206B_206D_206D_206B_200B_206C_206F_206B_200D_202E(step)); - case 2: - _206E_206C_206A_200C_206A_206C_202B_206C_206F_200C_200B_200B_202C_206D_202A_206B_206B_206A_202A_206B_206D_206A_200E_206B_202E_202D_200D_200B_200F_206E_200B_206B_200B_200C_206F_206B_206C_200F_200F_206F_202E((object)_200C_202C_206B_200F_200E_206E_202D_206E_200F_206C_206C_206B_206F_202D_200D_206F_202C_202A_202C_200B_200C_200E_200B_202B_206B_206D_202A_202C_200B_200F_200C_202B_202B_206A_206C_202A_202C_202D_200E_202E(step), 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(-1260133087)); - num = ((_200E_206A_206A_206B_200D_200E_200F_202C_200B_202C_206E_206A_206A_202E_200B_200D_202E_206E_202D_202A_202A_202E_200E_206C_206F_206C_202B_206E_200C_206D_200E_202A_200E_200F_202A_200F_206E_206F_202C_200E_202E(_200C_202C_206B_200F_200E_206E_202D_206E_200F_206C_206C_206B_206F_202D_200D_206F_202C_202A_202C_200B_200C_200E_200B_202B_206B_206D_202A_202C_200B_200F_200C_202B_202B_206A_206C_202A_202C_202D_200E_202E(step)) != EJumpType.SingleJump) ? 1879754571 : 1879754575); - break; - case 3: - num = 1879754570; - break; - } + return null; } - } - - static EInteractionType _200E_202A_202E_202C_206A_202E_200E_206A_206E_206E_202C_206E_206D_200D_200E_202D_200F_206E_200D_200D_206D_200C_200D_202B_202A_202A_200B_200B_206D_202B_200F_200B_200F_206D_206B_202E_206A_200C_202D_202B_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static JumpDestination _200C_202C_206B_200F_200E_206E_202D_206E_200F_206C_206C_206B_206F_202D_200D_206F_202C_202A_202C_200B_200C_200E_200B_202B_206B_206D_202A_202C_200B_200F_200C_202B_202B_206A_206C_202A_202C_202D_200E_202E(QuestStep P_0) - { - return P_0.JumpDestination; - } - - static void _206E_206C_206A_200C_206A_206C_202B_206C_206F_200C_200B_200B_202C_206D_202A_206B_206B_206A_202A_206B_206D_206A_200E_206B_202E_202D_200D_200B_200F_206E_200B_206B_200B_200C_206F_206B_206C_200F_200F_206F_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static EJumpType _200E_206A_206A_206B_200D_200E_200F_202C_200B_202C_206E_206A_206A_202E_200B_200D_202E_206E_202D_202A_202A_202E_200E_206C_206F_206C_202B_206E_200C_206D_200E_202A_200E_200F_202A_200F_206E_206F_202C_200E_202E(JumpDestination P_0) - { - return P_0.Type; - } - - static uint? _200B_206E_202B_202E_202B_200F_202E_202C_206D_200F_202A_200B_206F_200B_200D_206C_202C_206A_206E_206F_200E_202D_206D_206D_206F_202A_206E_200F_202E_206E_202B_200D_206E_202B_206E_206D_200B_206A_200C_202D_202E(QuestStep P_0) - { - return P_0.DataId; - } - - static string _206D_200E_206F_200F_202D_206B_202E_200F_206F_206B_200B_206A_202C_200F_206D_206C_200C_206B_200D_206B_206D_200D_202E_206C_206A_206E_202B_200E_200F_200C_202E_206B_206D_206D_206B_200B_206C_206F_206B_200D_202E(QuestStep P_0) - { - return P_0.Comment; + ArgumentNullException.ThrowIfNull(step.JumpDestination, "step.JumpDestination"); + if (step.JumpDestination.Type == EJumpType.SingleJump) + { + return new SingleJumpTask(step.DataId, step.JumpDestination, step.Comment); + } + return new RepeatedJumpTask(step.DataId, step.JumpDestination, step.Comment); } } @@ -91,106 +42,9 @@ internal static class Jump internal sealed record SingleJumpTask(uint? DataId, JumpDestination JumpDestination, string? Comment) : IJumpTask, ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206F_202D_202A_206A_202C_202B_200C_202D_206B_202B_200F_200B_200D_202C_200F_202A_200C_202B_206D_206E_206B_202D_200E_202E_202E_200D_200C_202D_200F_202A_206D_202A_206B_202E_206B_200B_202B_200D_206E_200E_202E(typeof(SingleJumpTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return _200E_206E_200E_200E_202A_202B_206B_200D_200F_200B_200E_202E_202A_206A_206F_202E_200B_206A_202A_200C_206A_202D_202E_206C_206D_202E_206D_206F_202C_200E_206D_200B_202A_206A_202B_202C_206D_202E_200D_206D_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(2069957391), Comment, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202D_200D_202B_202B_200B_206F_206D_202D_200D_206E_202A_202D_202B_202B_202A_206C_202E_202E_206F_202B_202B_202A_202B_202B_202A_200B_200C_200D_206E_202D_202A_202D_206F_206C_200B_206C_206E_206A_200B_206D_202E(); - _200D_200D_200D_200D_206D_206B_206A_206F_202D_200B_200E_202E_202A_206D_206A_200E_202D_206D_200B_200D_206C_200F_202B_206A_202A_200E_202A_202D_206C_202E_206D_202C_200D_206A_202D_206A_202D_206B_206E_202D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-813337770)); - _200D_200D_200D_200D_206D_206B_206A_206F_202D_200B_200E_202E_202A_206D_206A_200E_202D_206D_200B_200D_206C_200F_202B_206A_202A_200E_202A_202D_206C_202E_206D_202C_200D_206A_202D_206A_202D_206B_206E_202D_202E(builder, DataId.ToString()); - _200D_200D_200D_200D_206D_206B_206A_206F_202D_200B_200E_202E_202A_206D_206A_200E_202D_206D_200B_200D_206C_200F_202B_206A_202A_200E_202A_202D_206C_202E_206D_202C_200D_206A_202D_206A_202D_206B_206E_202D_202E(builder, 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(840372176)); - _206D_202B_206B_200C_202A_200B_202B_206D_200E_206B_206B_202E_202C_202B_206D_200C_202D_202E_202A_202E_206B_206D_206E_206A_202A_200F_206B_202D_202D_206D_202E_202C_200B_200E_206B_202B_200D_206C_202B_206D_202E(builder, (object)JumpDestination); - _200D_200D_200D_200D_206D_206B_206A_206F_202D_200B_200E_202E_202A_206D_206A_200E_202D_206D_200B_200D_206C_200F_202B_206A_202A_200E_202A_202D_206C_202E_206D_202C_200D_206A_202D_206A_202D_206B_206E_202D_202E(builder, 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(-1006174404)); - _206D_202B_206B_200C_202A_200B_202B_206D_200E_206B_206B_202E_202C_202B_206D_200C_202D_202E_202A_202E_206B_206D_206E_206A_202A_200F_206B_202D_202D_206D_202E_202C_200B_200E_206B_202B_200D_206C_202B_206D_202E(builder, (object)Comment); - return true; - } - - [CompilerGenerated] - public bool Equals(SingleJumpTask? other) - { - int num = (((object)this == other) ? (-1677814898) : (-1677814903)); - while (true) - { - int num2 = num; - int num3 = -1677814899; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return true; - case 4: - num = (((object)other == null) ? (-1677814901) : (-1677814902)); - break; - case 0: - num = -1677814903; - break; - case 5: - return EqualityComparer.Default.Equals(Comment, other.Comment); - case 6: - return false; - case 7: - num = ((!_202E_200D_206E_206E_200B_202B_200F_202D_202D_206D_206B_202C_206E_202E_202C_206D_200C_206D_200D_206C_202C_200D_202C_202B_200D_206B_206A_202C_202C_200C_200B_202D_200D_206B_200D_202D_206A_200F_202E_200E_202E(EqualityContract, other.EqualityContract)) ? (-1677814901) : (-1677814900)); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(DataId, other.DataId)) ? (-1677814901) : (-1677814897)); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(JumpDestination, other.JumpDestination)) ? (-1677814901) : (-1677814904)); - break; - } - } - } - - bool IEquatable.Equals(SingleJumpTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206F_202D_202A_206A_202C_202B_200C_202D_206B_202B_200F_200B_200D_202C_200F_202A_200C_202B_206D_206E_206B_202D_200E_202E_202E_200D_200C_202D_200F_202A_206D_202A_206B_202E_206B_200B_202B_200D_206E_200E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static string _200E_206E_200E_200E_202A_202B_206B_200D_200F_200B_200E_202E_202A_206A_206F_202E_200B_206A_202A_200C_206A_202D_202E_206C_206D_202E_206D_206F_202C_200E_206D_200B_202A_206A_202B_202C_206D_202E_200D_206D_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static void _202D_200D_202B_202B_200B_206F_206D_202D_200D_206E_202A_202D_202B_202B_202A_206C_202E_202E_206F_202B_202B_202A_202B_202B_202A_200B_200C_200D_206E_202D_202A_202D_206F_206C_200B_206C_206E_206A_200B_206D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200D_200D_200D_200D_206D_206B_206A_206F_202D_200B_200E_202E_202A_206D_206A_200E_202D_206D_200B_200D_206C_200F_202B_206A_202A_200E_202A_202D_206C_202E_206D_202C_200D_206A_202D_206A_202D_206B_206E_202D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206D_202B_206B_200C_202A_200B_202B_206D_200E_206B_206B_202E_202C_202B_206D_200C_202D_202E_202A_202E_206B_206D_206E_206A_202A_200F_206B_202D_202D_206D_202E_202C_200B_200E_206B_202B_200D_206C_202B_206D_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202E_200D_206E_206E_200B_202B_200F_202D_202D_206D_206B_202C_206E_202E_202C_206D_200C_206D_200D_206C_202C_200D_202C_202B_200D_206B_206A_202C_202C_200C_200B_202D_200D_206B_200D_202D_206A_200F_202E_200E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "Jump(" + Comment + ")"; } } @@ -198,116 +52,47 @@ internal static class Jump { protected unsafe override bool Start() { - IPlayerCharacter playerCharacter = _206E_200D_202E_206B_206A_202B_200E_202C_202E_206A_202B_206D_200D_202A_200B_200F_206A_202C_206A_206D_202C_206B_200C_200D_200D_202C_206E_206C_200B_202A_202D_202C_206A_206C_200B_206A_200D_202A_202A_202A_202E(_003CobjectTable_003EP); - int num = ((playerCharacter != null) ? 279360376 : 279360377); - float num7 = default(float); - while (true) + IPlayerCharacter localPlayer = _003CobjectTable_003EP.LocalPlayer; + if (localPlayer == null) { - int num2 = num; - int num3 = 279360376; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - { - MovementController movementController = _003CmovementController_003EP; - uint? dataId = base.Task.DataId; - int num8 = 1; - List list = new List(num8); - CollectionsMarshal.SetCount(list, num8); - CollectionsMarshal.AsSpan(list)[0] = _200E_206A_206D_206E_206B_200B_200E_200C_202A_202A_206E_202E_200D_202D_202C_202A_206D_202C_206B_206A_206C_202D_202B_200F_200E_206D_200D_206E_200E_206F_202D_200B_200B_200C_206D_200B_200B_200F_202C_202D_202E(base.Task.JumpDestination); - movementController.NavigateTo(EMovementType.Quest, dataId, list, fly: false, sprint: false, _206B_206D_206F_202A_206F_202A_200F_202A_200D_202A_202B_206E_202B_202B_202E_200E_202C_200E_206F_200C_200D_202D_200C_202C_206B_202C_200B_200C_206D_200C_206D_202C_206B_202D_206B_200C_206A_200D_202A_206A_202E(base.Task.JumpDestination) ?? num7); - _206A_200C_206D_206D_202B_202C_206F_200E_200B_206C_202D_200E_206C_206D_206E_206E_202D_206D_206C_202B_206D_202E_206E_202B_202D_206C_200C_200F_206C_200F_200D_206B_206E_202C_202C_206E_202D_206C_200B_200F_202E(_003Cframework_003EP, (System.Action)delegate - { - ActionManager.Instance()->UseAction(ActionType.GeneralAction, 2u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); - }, TimeSpan.FromSeconds(_206E_202C_202D_206C_200F_206E_206D_200E_202B_206C_200E_206C_206C_200F_202D_202D_202B_206A_202D_202A_206C_206B_200B_200B_206B_206F_206D_206D_202A_206D_206F_200D_200F_206C_202E_200B_206F_202A_200F_206D_202E(base.Task.JumpDestination) ?? 0.5f), 0, default(CancellationToken)); - return true; - } - case 0: - num7 = _200D_200F_202A_202E_200F_200C_206F_206C_200B_206D_200D_202A_200F_202E_206D_200F_202B_202E_206F_206C_206F_200C_202D_200B_202C_200B_200D_206D_200F_200B_200C_202E_200B_200E_200C_202C_206B_202E_200E_202A_202E(base.Task.JumpDestination); - num = ((!((_206D_202A_206B_206F_202E_202A_206C_206C_200E_206F_206A_200E_206A_206B_202E_202E_206A_206B_202C_206A_200E_200C_200B_206E_202B_206B_206E_200D_206F_206E_206D_200E_206D_200D_202A_202C_206D_206B_202C_202A_202E((IGameObject)playerCharacter) - _200E_206A_206D_206E_206B_200B_200E_200C_202A_202A_206E_202E_200D_202D_202C_202A_206D_202C_206B_206A_206C_202D_202B_200F_200E_206D_200D_206E_200E_206F_202D_200B_200B_200C_206D_200B_200B_200F_202C_202D_202E(base.Task.JumpDestination)).Length() <= num7)) ? 279360378 : 279360380); - break; - case 1: - return false; - case 4: - return false; - case 3: - num = 279360377; - break; - } + return false; } + float num = base.Task.JumpDestination.CalculateStopDistance(); + if ((localPlayer.Position - base.Task.JumpDestination.Position).Length() <= num) + { + return false; + } + MovementController movementController = _003CmovementController_003EP; + uint? dataId = base.Task.DataId; + int num2 = 1; + List list = new List(num2); + CollectionsMarshal.SetCount(list, num2); + CollectionsMarshal.AsSpan(list)[0] = base.Task.JumpDestination.Position; + movementController.NavigateTo(EMovementType.Quest, dataId, list, fly: false, sprint: false, base.Task.JumpDestination.StopDistance ?? num); + _003Cframework_003EP.RunOnTick(delegate + { + ActionManager.Instance()->UseAction(ActionType.GeneralAction, 2u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); + }, TimeSpan.FromSeconds(base.Task.JumpDestination.DelaySeconds ?? 0.5f)); + return true; } public override ETaskResult Update() { - int num = (_003CmovementController_003EP.IsPathfinding ? (-470159093) : (-470159095)); - while (true) + if (_003CmovementController_003EP.IsPathfinding || _003CmovementController_003EP.IsPathRunning) { - int num2 = num; - int num3 = -470159096; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return ETaskResult.StillRunning; - case 1: - num = ((!_003CmovementController_003EP.IsPathRunning) ? (-470159096) : (-470159093)); - break; - case 0: - num = (_003CmovementController_003EP.HasBeenMovingForAtLeast(1000) ? (-470159094) : (-470159092)); - break; - case 5: - num = -470159095; - break; - case 4: - return ETaskResult.StillRunning; - case 2: - return ETaskResult.TaskComplete; - } + return ETaskResult.StillRunning; } + if (!_003CmovementController_003EP.HasBeenMovingForAtLeast(1000)) + { + return ETaskResult.StillRunning; + } + return ETaskResult.TaskComplete; } public override bool ShouldInterruptOnDamage() { return true; } - - static IPlayerCharacter _206E_200D_202E_206B_206A_202B_200E_202C_202E_206A_202B_206D_200D_202A_200B_200F_206A_202C_206A_206D_202C_206B_200C_200D_200D_202C_206E_206C_200B_202A_202D_202C_206A_206C_200B_206A_200D_202A_202A_202A_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static float _200D_200F_202A_202E_200F_200C_206F_206C_200B_206D_200D_202A_200F_202E_206D_200F_202B_202E_206F_206C_206F_200C_202D_200B_202C_200B_200D_206D_200F_200B_200C_202E_200B_200E_200C_202C_206B_202E_200E_202A_202E(JumpDestination P_0) - { - return P_0.CalculateStopDistance(); - } - - static Vector3 _206D_202A_206B_206F_202E_202A_206C_206C_200E_206F_206A_200E_206A_206B_202E_202E_206A_206B_202C_206A_200E_200C_200B_206E_202B_206B_206E_200D_206F_206E_206D_200E_206D_200D_202A_202C_206D_206B_202C_202A_202E(IGameObject P_0) - { - return P_0.Position; - } - - static Vector3 _200E_206A_206D_206E_206B_200B_200E_200C_202A_202A_206E_202E_200D_202D_202C_202A_206D_202C_206B_206A_206C_202D_202B_200F_200E_206D_200D_206E_200E_206F_202D_200B_200B_200C_206D_200B_200B_200F_202C_202D_202E(JumpDestination P_0) - { - return P_0.Position; - } - - static float? _206B_206D_206F_202A_206F_202A_200F_202A_200D_202A_202B_206E_202B_202B_202E_200E_202C_200E_206F_200C_200D_202D_200C_202C_206B_202C_200B_200C_206D_200C_206D_202C_206B_202D_206B_200C_206A_200D_202A_206A_202E(JumpDestination P_0) - { - return P_0.StopDistance; - } - - static float? _206E_202C_202D_206C_200F_206E_206D_200E_202B_206C_200E_206C_206C_200F_202D_202D_202B_206A_202D_202A_206C_206B_200B_200B_206B_206F_206D_206D_202A_206D_206F_200D_200F_206C_202E_200B_206F_202A_200F_206D_202E(JumpDestination P_0) - { - return P_0.DelaySeconds; - } - - static Task _206A_200C_206D_206D_202B_202C_206F_200E_200B_206C_202D_200E_206C_206D_206E_206E_202D_206D_206C_202B_206D_202E_206E_202B_202D_206C_200C_200F_206C_200F_200D_206B_206E_202C_202C_206E_202D_206C_200B_200F_202E(IFramework P_0, System.Action P_1, TimeSpan P_2, int P_3, CancellationToken P_4) - { - return P_0.RunOnTick(P_1, P_2, P_3, P_4); - } } internal sealed class DoSingleJump : JumpBase @@ -320,108 +105,9 @@ internal static class Jump internal sealed record RepeatedJumpTask(uint? DataId, JumpDestination JumpDestination, string? Comment) : IJumpTask, ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206F_206C_202B_206C_200C_202A_200E_200D_202B_206C_202A_202C_200F_206E_202C_206D_206A_200F_206C_206D_200E_206C_200D_206B_200D_206E_202C_200D_206E_202B_206C_202C_202E_202E_200D_206B_206C_206B_206E_206B_202E(typeof(RepeatedJumpTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return _202A_206C_206D_200C_200D_206B_202A_202E_206E_200E_202B_206F_200B_202C_202E_202B_206F_206F_206E_206D_202E_206D_206A_200B_206C_202B_206F_206D_202B_206F_206F_202A_200E_202E_206D_202D_200F_202D_206B_200E_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1812591984), Comment, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1618480346)); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202B_200C_200F_202B_206D_202B_200E_206F_202A_206E_200E_202E_200F_202B_200F_200B_200D_200B_202E_200F_206C_200F_200E_202D_200B_202D_206E_200D_206E_206A_206E_200F_206D_200E_202C_206E_200D_206A_202D_202E(); - _200B_206A_200E_206C_200C_202D_206A_206F_202B_202A_202B_202C_200B_200C_206B_202E_206D_202D_206C_200F_206F_206F_200D_200B_206B_206D_206B_206A_200F_206D_202A_202A_206E_200D_200B_200C_200D_202D_200D_202A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-813337770)); - _200B_206A_200E_206C_200C_202D_206A_206F_202B_202A_202B_202C_200B_200C_206B_202E_206D_202D_206C_200F_206F_206F_200D_200B_206B_206D_206B_206A_200F_206D_202A_202A_206E_200D_200B_200C_200D_202D_200D_202A_202E(builder, DataId.ToString()); - _200B_206A_200E_206C_200C_202D_206A_206F_202B_202A_202B_202C_200B_200C_206B_202E_206D_202D_206C_200F_206F_206F_200D_200B_206B_206D_206B_206A_200F_206D_202A_202A_206E_200D_200B_200C_200D_202D_200D_202A_202E(builder, 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(2048561311)); - _206A_206C_202A_202B_200F_200D_206C_202D_200F_206B_206C_202B_202C_200E_206F_202B_202D_200E_202A_200D_200C_200B_206D_206F_206F_206B_206B_206E_202C_206F_202B_206D_206A_202B_200F_202C_200F_206A_206E_206B_202E(builder, (object)JumpDestination); - _200B_206A_200E_206C_200C_202D_206A_206F_202B_202A_202B_202C_200B_200C_206B_202E_206D_202D_206C_200F_206F_206F_200D_200B_206B_206D_206B_206A_200F_206D_202A_202A_206E_200D_200B_200C_200D_202D_200D_202A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(430956117)); - _206A_206C_202A_202B_200F_200D_206C_202D_200F_206B_206C_202B_202C_200E_206F_202B_202D_200E_202A_200D_200C_200B_206D_206F_206F_206B_206B_206E_202C_206F_202B_206D_206A_202B_200F_202C_200F_206A_206E_206B_202E(builder, (object)Comment); - return true; - } - - [CompilerGenerated] - public bool Equals(RepeatedJumpTask? other) - { - int num = (((object)this == other) ? (-565418878) : (-565418874)); - while (true) - { - int num2 = num; - int num3 = -565418873; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = ((!EqualityComparer.Default.Equals(JumpDestination, other.JumpDestination)) ? (-565418875) : (-565418880)); - break; - case 1: - num = (((object)other == null) ? (-565418875) : (-565418879)); - break; - case 6: - num = ((!_206B_206B_206F_202A_202C_206E_206A_206F_206E_200E_206A_206C_206B_202C_206C_206B_200E_202A_206A_206F_200C_206B_206B_202D_206E_202B_206A_202C_206D_202E_200E_206F_200B_200B_206C_200D_202B_200F_206E_202B_202E(EqualityContract, other.EqualityContract)) ? (-565418875) : (-565418877)); - break; - case 7: - return EqualityComparer.Default.Equals(Comment, other.Comment); - case 4: - num = ((!EqualityComparer.Default.Equals(DataId, other.DataId)) ? (-565418875) : (-565418873)); - break; - case 3: - num = -565418874; - break; - case 5: - return true; - case 2: - return false; - } - } - } - - bool IEquatable.Equals(RepeatedJumpTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206F_206C_202B_206C_200C_202A_200E_200D_202B_206C_202A_202C_200F_206E_202C_206D_206A_200F_206C_206D_200E_206C_200D_206B_200D_206E_202C_200D_206E_202B_206C_202C_202E_202E_200D_206B_206C_206B_206E_206B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static string _202A_206C_206D_200C_200D_206B_202A_202E_206E_200E_202B_206F_200B_202C_202E_202B_206F_206F_206E_206D_202E_206D_206A_200B_206C_202B_206F_206D_202B_206F_206F_202A_200E_202E_206D_202D_200F_202D_206B_200E_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static void _202B_200C_200F_202B_206D_202B_200E_206F_202A_206E_200E_202E_200F_202B_200F_200B_200D_200B_202E_200F_206C_200F_200E_202D_200B_202D_206E_200D_206E_206A_206E_200F_206D_200E_202C_206E_200D_206A_202D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200B_206A_200E_206C_200C_202D_206A_206F_202B_202A_202B_202C_200B_200C_206B_202E_206D_202D_206C_200F_206F_206F_200D_200B_206B_206D_206B_206A_200F_206D_202A_202A_206E_200D_200B_200C_200D_202D_200D_202A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206A_206C_202A_202B_200F_200D_206C_202D_200F_206B_206C_202B_202C_200E_206F_202B_202D_200E_202A_200D_200C_200B_206D_206F_206F_206B_206B_206E_202C_206F_202B_206D_206A_202B_200F_202C_200F_206A_206E_206B_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206B_206B_206F_202A_202C_206E_206A_206F_206E_200E_206A_206C_206B_202C_206C_206B_200E_202A_206A_206F_200C_206B_206B_202D_206E_202B_206A_202C_206D_202E_200E_206F_200B_200B_206C_200D_202B_200F_206E_202B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "RepeatedJump(" + Comment + ")"; } } @@ -443,118 +129,37 @@ internal static class Jump protected override bool Start() { - _continueAt = _206A_202B_206B_202B_202C_200B_202B_202D_206F_200D_202D_200F_206F_206F_200F_202E_200D_200F_200B_202A_200B_200E_206D_206B_202A_206F_206A_206F_206C_206E_200D_206E_200B_202D_202A_206A_206C_200F_206A_206C_202E() + (long)(2000f * (_202E_200B_206E_200B_206D_202B_202C_206C_200E_206C_202E_206E_202D_200E_200F_206D_202C_206F_206A_202D_206E_200D_202D_202C_202B_200F_200C_202D_200B_206A_206A_202B_206C_206A_202C_202C_202B_206A_202A_202E(base.Task.JumpDestination) ?? 0.5f)); + _continueAt = Environment.TickCount64 + (long)(2000f * (base.Task.JumpDestination.DelaySeconds ?? 0.5f)); return base.Start(); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe override ETaskResult Update() { - int num = ((_206A_202B_206B_202B_202C_200B_202B_202D_206F_200D_202D_200F_206F_206F_200F_202E_200D_200F_200B_202A_200B_200E_206D_206B_202A_206F_206A_206F_206C_206E_200D_206E_200B_202D_202A_206A_206C_200F_206A_206C_202E() < _continueAt) ? 1172986635 : 1172986637); - IPlayerCharacter playerCharacter = default(IPlayerCharacter); - while (true) + if (Environment.TickCount64 < _continueAt || _003Ccondition_003EP[ConditionFlag.Jumping]) { - int num2 = num; - int num3 = 1172986631; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = ((_attempts < 50) ? 1172986624 : 1172986639); - break; - case 10: - num = ((!_206D_206B_206A_206D_202A_202D_206D_206A_200E_202A_202E_202E_206E_200C_206B_202D_206F_200E_200D_200C_206F_206E_202B_202D_200F_200B_206C_200C_202E_200F_206C_200E_202E_200C_202D_202B_206D_200E_202A_206A_202E(_003Ccondition_003EP, ConditionFlag.Jumping)) ? 1172986626 : 1172986635); - break; - case 2: - _200F_206F_200B_200C_202D_206C_202A_202A_202D_206D_200E_200B_202D_202B_206A_202A_206D_206F_200F_202E_200D_202A_200B_206F_200E_200B_206A_202B_200E_206A_206A_206F_200B_202A_200D_206D_200E_206F_200E_206C_202E((ILogger)_003Clogger_003EP, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1550993377), new object[2] - { - _202E_206C_206B_200D_200F_202D_202D_200B_206E_202A_202B_206B_200D_202E_200F_202C_202D_206D_202C_206B_206A_206E_200C_206A_202C_206E_206E_202C_200E_202D_202D_202E_206F_202E_206D_206F_202A_202C_200C_206B_202E((IGameObject)playerCharacter).Y, - _206A_200C_200D_200C_202B_202E_202A_206F_202E_206B_200D_200E_202E_202A_200F_206B_206B_206D_202B_200B_200D_202D_202D_200B_206C_206D_206C_202B_206C_202E_206F_200C_200C_200B_200E_200C_200B_200F_206F_206C_202E(base.Task.JumpDestination).Y - 0.5f - }); - num = ((!ActionManager.Instance()->UseAction(ActionType.GeneralAction, 2u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null)) ? 1172986627 : 1172986630); - break; - case 3: - num = 1172986637; - break; - case 7: - _continueAt = _206A_202B_206B_202B_202C_200B_202B_202D_206F_200D_202D_200F_206F_206F_200F_202E_200D_200F_200B_202A_200B_200E_206D_206B_202A_206F_206A_206F_206C_206E_200D_206E_200B_202D_202A_206A_206C_200F_206A_206C_202E() + (long)(1000f * (_202E_200B_206E_200B_206D_202B_202C_206C_200E_206C_202E_206E_202D_200E_200F_206D_202C_206F_206A_202D_206E_200D_202D_202C_202B_200F_200C_202D_200B_206A_206A_202B_206C_206A_202C_202C_202B_206A_202A_202E(base.Task.JumpDestination) ?? 0.5f)); - return ETaskResult.StillRunning; - case 9: - num = ((!(_202E_206C_206B_200D_200F_202D_202D_200B_206E_202A_202B_206B_200D_202E_200F_202C_202D_206D_202C_206B_206A_206E_200C_206A_202C_206E_206E_202C_200E_202D_202D_202E_206F_202E_206D_206F_202A_202C_200C_206B_202E((IGameObject)playerCharacter).Y >= _206A_200C_200D_200C_202B_202E_202A_206F_202E_206B_200D_200E_202E_202A_200F_206B_206B_206D_202B_200B_200D_202D_202D_200B_206C_206D_206C_202B_206C_202E_206F_200C_200C_200B_200E_200C_200B_200F_206F_206C_202E(base.Task.JumpDestination).Y - 0.5f)) ? 1172986629 : 1172986631); - break; - case 6: - return ETaskResult.TaskComplete; - case 12: - return ETaskResult.StillRunning; - case 5: - playerCharacter = _200F_200B_206F_202B_206B_202D_206F_206C_206A_200F_206F_200F_200D_206F_206C_206E_200C_200B_206D_206C_200D_200B_202E_200D_202E_202C_206C_200F_200F_202C_200E_206F_206E_202E_206B_200F_200F_200D_200F_206F_202E(_objectTable); - num = ((playerCharacter != null) ? 1172986636 : 1172986625); - break; - case 0: - return ETaskResult.TaskComplete; - case 8: - throw new TaskException(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1093799648)); - case 11: - { - float num9 = _200D_206B_202D_200B_206C_206A_200C_200F_202B_206A_202A_202A_202C_206D_202E_200C_202A_200B_202D_200F_206C_200B_202C_202A_200F_200B_206F_200B_200F_202B_202C_200E_200E_206A_200C_200B_202D_206B_200E_202C_202E(base.Task.JumpDestination); - num = (((_202E_206C_206B_200D_200F_202D_202D_200B_206E_202A_202B_206B_200D_202E_200F_202C_202D_206D_202C_206B_206A_206E_200C_206A_202C_206E_206E_202C_200E_202D_202D_202E_206F_202E_206D_206F_202A_202C_200C_206B_202E((IGameObject)playerCharacter) - _206A_200C_200D_200C_202B_202E_202A_206F_202E_206B_200D_200E_202E_202A_200F_206B_206B_206D_202B_200B_200D_202D_202D_200B_206C_206D_206C_202B_206C_202E_206F_200C_200C_200B_200E_200C_200B_200F_206F_206C_202E(base.Task.JumpDestination)).Length() <= num9) ? 1172986631 : 1172986638); - break; - } - case 1: - { - int attempts = _attempts; - num3 = 1; - num4 = attempts; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - _attempts = num7 + (num8 + num8); - num = 1172986627; - break; - } - } + return ETaskResult.StillRunning; } - } - - static long _206A_202B_206B_202B_202C_200B_202B_202D_206F_200D_202D_200F_206F_206F_200F_202E_200D_200F_200B_202A_200B_200E_206D_206B_202A_206F_206A_206F_206C_206E_200D_206E_200B_202D_202A_206A_206C_200F_206A_206C_202E() - { - return Environment.TickCount64; - } - - static float? _202E_200B_206E_200B_206D_202B_202C_206C_200E_206C_202E_206E_202D_200E_200F_206D_202C_206F_206A_202D_206E_200D_202D_202C_202B_200F_200C_202D_200B_206A_206A_202B_206C_206A_202C_202C_202B_206A_202A_202E(JumpDestination P_0) - { - return P_0.DelaySeconds; - } - - static bool _206D_206B_206A_206D_202A_202D_206D_206A_200E_202A_202E_202E_206E_200C_206B_202D_206F_200E_200D_200C_206F_206E_202B_202D_200F_200B_206C_200C_202E_200F_206C_200E_202E_200C_202D_202B_206D_200E_202A_206A_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static IPlayerCharacter _200F_200B_206F_202B_206B_202D_206F_206C_206A_200F_206F_200F_200D_206F_206C_206E_200C_200B_206D_206C_200D_200B_202E_200D_202E_202C_206C_200F_200F_202C_200E_206F_206E_202E_206B_200F_200F_200D_200F_206F_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static float _200D_206B_202D_200B_206C_206A_200C_200F_202B_206A_202A_202A_202C_206D_202E_200C_202A_200B_202D_200F_206C_200B_202C_202A_200F_200B_206F_200B_200F_202B_202C_200E_200E_206A_200C_200B_202D_206B_200E_202C_202E(JumpDestination P_0) - { - return P_0.CalculateStopDistance(); - } - - static Vector3 _202E_206C_206B_200D_200F_202D_202D_200B_206E_202A_202B_206B_200D_202E_200F_202C_202D_206D_202C_206B_206A_206E_200C_206A_202C_206E_206E_202C_200E_202D_202D_202E_206F_202E_206D_206F_202A_202C_200C_206B_202E(IGameObject P_0) - { - return P_0.Position; - } - - static Vector3 _206A_200C_200D_200C_202B_202E_202A_206F_202E_206B_200D_200E_202E_202A_200F_206B_206B_206D_202B_200B_200D_202D_202D_200B_206C_206D_206C_202B_206C_202E_206F_200C_200C_200B_200E_200C_200B_200F_206F_206C_202E(JumpDestination P_0) - { - return P_0.Position; - } - - static void _200F_206F_200B_200C_202D_206C_202A_202A_202D_206D_200E_200B_202D_202B_206A_202A_206D_206F_200F_202E_200D_202A_200B_206F_200E_200B_206A_202B_200E_206A_206A_206F_200B_202A_200D_206D_200E_206F_200E_206C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogTrace(P_1, P_2); + IPlayerCharacter localPlayer = _objectTable.LocalPlayer; + if (localPlayer == null) + { + return ETaskResult.TaskComplete; + } + float num = base.Task.JumpDestination.CalculateStopDistance(); + if ((localPlayer.Position - base.Task.JumpDestination.Position).Length() <= num || localPlayer.Position.Y >= base.Task.JumpDestination.Position.Y - 0.5f) + { + return ETaskResult.TaskComplete; + } + _003Clogger_003EP.LogTrace("Y-Heights for jumps: player={A}, target={B}", localPlayer.Position.Y, base.Task.JumpDestination.Position.Y - 0.5f); + if (ActionManager.Instance()->UseAction(ActionType.GeneralAction, 2u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null)) + { + _attempts++; + } + if (_attempts >= 50) + { + throw new TaskException("Tried to jump too many times, didn't reach the target"); + } + _continueAt = Environment.TickCount64 + (long)(1000f * (base.Task.JumpDestination.DelaySeconds ?? 0.5f)); + return ETaskResult.StillRunning; } } } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/MeldMateria.cs b/Questionable/Questionable.Controller.Steps.Interactions/MeldMateria.cs index 7e76692..8c0191f 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/MeldMateria.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/MeldMateria.cs @@ -1,10 +1,7 @@ using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; -using FFXIVClientStructs.FFXIV.Client.UI.Agent; using LLib; using LLib.Gear; using Microsoft.Extensions.Logging; @@ -17,168 +14,22 @@ internal static class MeldMateria { internal sealed class Factory : ITaskFactory { - [MethodImpl(MethodImplOptions.NoInlining)] public IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((_206C_206F_206E_206D_200C_200C_200B_202D_202D_206A_202D_206E_202D_206B_206D_200C_202D_200C_202B_206A_202D_200D_206A_206D_202B_202C_200E_206A_202C_206E_200D_202D_202E_200B_202C_200D_202E_202C_202C_202D_202E(step) == EInteractionType.MeldMateria) ? (-35265804) : (-35265801)); - while (true) + if (step.InteractionType != EInteractionType.MeldMateria) { - int num2 = num; - int num3 = -35265802; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0048; - case 2: - _200E_202D_202A_206B_202B_200C_202B_202A_202D_202B_200B_206D_206A_200B_202C_206C_202B_206D_200D_206F_200D_206C_200C_200D_202D_206B_202A_200D_200F_200E_206B_200F_206C_202A_206C_206A_202D_206A_202D_206B_202E((object)_206D_200E_206B_202D_200E_206B_200B_206E_206A_200C_202C_200D_206F_200E_202E_202A_206B_200E_202C_202A_200E_206B_200F_206E_202B_200D_202B_206C_202B_206B_200F_206E_206E_206E_200C_202C_200D_206F_200B_206B_202E(step), 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(87510835)); - return new global::_003C_003Ez__ReadOnlySingleElementList(new MeldTask(_206D_200E_206B_202D_200E_206B_200B_206E_206A_200C_202C_200D_206F_200E_202E_202A_206B_200E_202C_202A_200E_206B_200F_206E_202B_200D_202B_206C_202B_206B_200F_206E_206E_206E_200C_202C_200D_206F_200B_206B_202E(step).Value, _202D_202C_200D_200E_206C_200B_202B_202A_200F_202C_206C_202D_206B_206C_206E_200E_202D_202D_200B_202C_206F_202C_206A_202B_206E_200C_202A_200F_202E_202B_202E_202E_202A_206E_202C_206E_200F_206C_206E_200C_202E(step))); - case 1: - return Array.Empty(); - } - continue; - IL_0048: - num = -35265801; + return Array.Empty(); } - } - - IEnumerable ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks - return this.CreateAllTasks(quest, sequence, step); - } - - static EInteractionType _206C_206F_206E_206D_200C_200C_200B_202D_202D_206A_202D_206E_202D_206B_206D_200C_202D_200C_202B_206A_202D_200D_206A_206D_202B_202C_200E_206A_202C_206E_200D_202D_202E_200B_202C_200D_202E_202C_202C_202D_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static uint? _206D_200E_206B_202D_200E_206B_200B_206E_206A_200C_202C_200D_206F_200E_202E_202A_206B_200E_202C_202A_200E_206B_200F_206E_202B_200D_202B_206C_202B_206B_200F_206E_206E_206E_200C_202C_200D_206F_200B_206B_202E(QuestStep P_0) - { - return P_0.ItemId; - } - - static void _200E_202D_202A_206B_202B_200C_202B_202A_202D_202B_200B_206D_206A_200B_202C_206C_202B_206D_200D_206F_200D_206C_200C_200D_202D_206B_202A_200D_200F_200E_206B_200F_206C_202A_206C_206A_202D_206A_202D_206B_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static uint? _202D_202C_200D_200E_206C_200B_202B_202A_200F_202C_206C_202D_206B_206C_206E_200E_202D_202D_200B_202C_206F_202C_206A_202B_206E_200C_202A_200F_202E_202B_202E_202E_202A_206E_202C_206E_200F_206C_206E_200C_202E(QuestStep P_0) - { - return P_0.DataId; + ArgumentNullException.ThrowIfNull(step.ItemId, "step.ItemId"); + return new global::_003C_003Ez__ReadOnlySingleElementList(new MeldTask(step.ItemId.Value, step.DataId)); } } internal sealed record MeldTask(uint MateriaItemId, uint? TargetItemId) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202C_206C_206F_200F_206B_206F_206E_202B_206F_206C_202A_202E_206D_200B_200E_206B_206B_206F_202C_202C_200D_200E_200E_200C_200B_202D_202C_202C_202D_206B_202B_206E_202A_202D_202D_206B_202A_202B_206C_202E(typeof(MeldTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(13, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1811893686)); - defaultInterpolatedStringHandler.AppendFormatted(MateriaItemId); - string text = defaultInterpolatedStringHandler.ToStringAndClear(); - string text2; - if (!TargetItemId.HasValue) - { - text2 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-87324410); - } - else - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(11, 1); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1399814468)); - defaultInterpolatedStringHandler2.AppendFormatted(TargetItemId); - text2 = defaultInterpolatedStringHandler2.ToStringAndClear(); - } - return _202E_202C_202B_206C_202A_206A_206D_200F_206D_206D_202D_200B_202E_200B_202B_200D_206F_200C_202B_200D_206D_200F_200D_206D_202D_202B_202E_206B_202B_200E_202D_202D_202A_200F_202D_200C_202C_200F_206D_202B_202E(text, text2); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200F_206A_202E_200B_206E_206E_200E_206D_200E_206F_206D_200E_206E_202C_200E_206D_202A_206B_200F_200B_200C_206E_206B_206C_206D_202B_206B_206E_200E_200D_202C_200C_200F_200F_202E_200C_200F_206C_206D_202E_202E(); - _202B_206C_200B_206F_200E_206D_200F_200B_202E_206F_200D_200C_202D_202E_206D_202E_200F_206F_202A_200C_202E_202D_200E_206A_206B_200B_206B_206F_200B_200E_202E_202D_206D_202A_202E_206E_200B_200C_202D_200F_202E(builder, 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(1788087081)); - _202B_206C_200B_206F_200E_206D_200F_200B_202E_206F_200D_200C_202D_202E_206D_202E_200F_206F_202A_200C_202E_202D_200E_206A_206B_200B_206B_206F_200B_200E_202E_202D_206D_202A_202E_206E_200B_200C_202D_200F_202E(builder, MateriaItemId.ToString()); - _202B_206C_200B_206F_200E_206D_200F_200B_202E_206F_200D_200C_202D_202E_206D_202E_200F_206F_202A_200C_202E_202D_200E_206A_206B_200B_206B_206F_200B_200E_202E_202D_206D_202A_202E_206E_200B_200C_202D_200F_202E(builder, 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(-902104469)); - _202B_206C_200B_206F_200E_206D_200F_200B_202E_206F_200D_200C_202D_202E_206D_202E_200F_206F_202A_200C_202E_202D_200E_206A_206B_200B_206B_206F_200B_200E_202E_202D_206D_202A_202E_206E_200B_200C_202D_200F_202E(builder, TargetItemId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(MeldTask? other) - { - int num = (((object)this == other) ? (-74015245) : (-74015243)); - while (true) - { - int num2 = num; - int num3 = -74015241; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return EqualityComparer.Default.Equals(TargetItemId, other.TargetItemId); - case 1: - return false; - case 4: - return true; - case 3: - num = -74015243; - break; - case 6: - num = ((!EqualityComparer.Default.Equals(MateriaItemId, other.MateriaItemId)) ? (-74015242) : (-74015241)); - break; - case 5: - num = ((!_206F_202C_206B_202E_202E_206E_200E_206F_202E_202A_200B_206F_206C_200C_206A_200B_202E_202B_206F_200C_202C_206E_206A_202D_202B_200F_202E_202B_200D_202A_202A_206B_200C_206F_200E_200B_202D_200D_206F_202D_202E(EqualityContract, other.EqualityContract)) ? (-74015242) : (-74015247)); - break; - case 2: - num = (((object)other == null) ? (-74015242) : (-74015246)); - break; - } - } - } - - bool IEquatable.Equals(MeldTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202C_206C_206F_200F_206B_206F_206E_202B_206F_206C_202A_202E_206D_200B_200E_206B_206B_206F_202C_202C_200D_200E_200E_200C_200B_202D_202C_202C_202D_206B_202B_206E_202A_202D_202D_206B_202A_202B_206C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static string _202E_202C_202B_206C_202A_206A_206D_200F_206D_206D_202D_200B_202E_200B_202B_200D_206F_200C_202B_200D_206D_200F_200D_206D_202D_202B_202E_206B_202B_200E_202D_202D_202A_200F_202D_200C_202C_200F_206D_202B_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static void _200F_206A_202E_200B_206E_206E_200E_206D_200E_206F_206D_200E_206E_202C_200E_206D_202A_206B_200F_200B_200C_206E_206B_206C_206D_202B_206B_206E_200E_200D_202C_200C_200F_200F_202E_200C_200F_206C_206D_202E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202B_206C_200B_206F_200E_206D_200F_200B_202E_206F_200D_200C_202D_202E_206D_202E_200F_206F_202A_200C_202E_202D_200E_206A_206B_200B_206B_206F_200B_200E_202E_202D_206D_202A_202E_206E_200B_200C_202D_200F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _206F_202C_206B_202E_202E_206E_200E_206F_202E_202A_200B_206F_206C_200C_206A_200B_202E_202B_206F_200C_202C_206E_206A_202D_202B_200F_202E_202B_200D_202A_202A_206B_200C_206F_200E_200B_202D_200D_206F_202D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"Meld materia {MateriaItemId}" + (TargetItemId.HasValue ? $" into item {TargetItemId}" : ""); } } @@ -212,414 +63,172 @@ internal static class MeldMateria public override bool HasTimedOut(float timeoutSeconds) { - return _206E_200F_202E_202E_200F_202B_200C_200E_206E_202C_202B_202A_200E_200D_206E_200C_200C_206F_202A_200E_206A_200D_200B_202C_202C_206E_202A_202C_206A_206F_200B_206F_202B_202B_200C_206C_200D_202D_200D_200C_202E() - _stateChangedAt > (long)(timeoutSeconds * 1000f); + return Environment.TickCount64 - _stateChangedAt > (long)(timeoutSeconds * 1000f); } private void SetState(EMeldState state) { _state = state; - _stateChangedAt = _206E_200F_202E_202E_200F_202B_200C_200E_206E_202C_202B_202A_200E_200D_206E_200C_200C_206F_202A_200E_206A_200D_200B_202C_202C_206E_202A_202C_206A_206F_200B_206F_202B_202B_200C_206C_200D_202D_200D_200C_202E(); + _stateChangedAt = Environment.TickCount64; } - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { - _materiaStartCount = _202D_200B_206A_206C_200F_206D_200E_202B_202A_202B_200F_200D_206A_206E_202B_200F_206E_206B_202C_200E_202A_202D_206C_202B_202D_202A_200F_202C_200D_202D_200E_202C_206E_206B_202B_200D_206A_206A_200D_200D_202E(base.Task.MateriaItemId); - int num = ((_materiaStartCount != 0) ? (-739386602) : (-739386601)); - while (true) + _materiaStartCount = MateriaHelper.CountMateriaInInventory(base.Task.MateriaItemId); + if (_materiaStartCount == 0) { - int num2 = num; - int num3 = -739386603; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - throw new TaskException(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(545128444)); - case 4: - SetState(EMeldState.OpeningAgent); - return true; - case 2: - _200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1528987763), new object[1] { base.Task.MateriaItemId }); - return false; - case 0: - num = -739386601; - break; - case 3: - num = (FindTargetItem() ? (-739386607) : (-739386604)); - break; - } + logger.LogInformation("Already used materia {MateriaId} or don't have it", base.Task.MateriaItemId); + return false; } + if (!FindTargetItem()) + { + throw new TaskException("Cannot find target item to meld materia into"); + } + SetState(EMeldState.OpeningAgent); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe override ETaskResult Update() { - int num = (_throttle.TryReset(0.5) ? 2029212334 : 2029212339); - int? num9 = default(int?); - int? num8 = default(int?); - int num7 = default(int); - while (true) + if (!_throttle.TryReset(0.5)) { - int num2 = num; - int num3 = 2029212349; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 11: - num = ((!_202E_206C_202B_202B_206D_202B_206F_206E_200C_206D_206D_206E_206B_200E_206A_200F_206B_200E_206F_202D_206E_206A_206C_200F_200D_200C_200D_202A_200E_200B_200E_206E_202D_200C_206B_202E_206A_200D_202D_206E_202E()) ? 2029212348 : 2029212335); - break; - case 22: - SetState(EMeldState.WaitingAfterCategory); - num = 2029212348; - break; - case 24: - goto IL_00fc; - case 23: - num = ((!_206F_206B_206B_202B_206B_200E_200C_206A_206C_206A_206E_200F_200C_200B_200F_200C_200B_200F_206F_206E_202C_200E_202C_206C_200E_202E_206F_206E_200C_202E_202A_206F_206A_206B_202C_206D_202B_202E_200C_202D_202E(num9.Value)) ? 2029212348 : 2029212321); - break; - case 18: - SetState(EMeldState.SelectingCategory); - num = 2029212348; - break; - case 9: - num = 2029212348; - break; - case 3: - _200D_202C_200B_206B_202B_206E_202B_200B_202C_206D_202C_202A_200D_202B_202C_202B_206D_206E_206D_202B_206D_202A_202E_202A_200B_206B_200B_202A_202D_202B_202B_202D_202A_206C_200C_206E_206C_206B_202C_200C_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-554197545), Array.Empty()); - num = 2029212348; - break; - case 12: - _200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1216192232), new object[1] { num8.Value }); - SetState(EMeldState.WaitingAfterItem); - num = 2029212348; - break; - case 10: - _200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-15165068), Array.Empty()); - SetState(EMeldState.WaitingForCompletion); - num = 2029212348; - break; - case 28: - _200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-775372938), new object[1] { num9.Value }); - SetState(EMeldState.WaitingForDialog); - num = 2029212348; - break; - case 7: - num = ((!_206B_202C_206F_206E_200E_206C_200F_200F_206A_206D_206D_206E_206A_202C_206B_206E_206C_202C_206E_200E_202C_202D_202E_206E_206B_200D_206E_206E_206F_200D_200B_200F_200B_202B_200D_206D_206B_200D_202E_202C_202E(num8.Value)) ? 2029212348 : 2029212337); - break; - case 5: - goto IL_025d; - case 20: - SetState(EMeldState.WaitingForAgent); - num = 2029212348; - break; - case 4: - SetState(EMeldState.SelectingItem); - num = 2029212348; - break; - case 26: - goto IL_02ab; - case 14: - return ETaskResult.StillRunning; - case 27: - SetState(EMeldState.Confirming); - num = 2029212348; - break; - case 15: - goto IL_02f5; - case 0: - goto IL_0317; - case 1: - goto IL_0344; - case 21: - goto IL_0346; - case 17: - goto IL_0368; - case 16: - num = 2029212339; - break; - case 13: - goto IL_039c; - case 25: - _200D_202C_200B_206B_202B_206E_202B_200B_202C_206D_202C_202A_200D_202B_202C_202B_206D_206E_206D_202B_206D_202A_202E_202A_200B_206B_200B_202A_202D_202B_202B_202D_202A_206C_200C_206E_206C_206B_202C_200C_202E((ILogger)logger, 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(1073359256), new object[1] { base.Task.MateriaItemId }); - num = 2029212348; - break; - case 2: - _200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1739389446), new object[3] - { - base.Task.MateriaItemId, - _materiaStartCount, - num7 - }); - _202C_202E_206F_206C_206C_202E_202D_202B_202E_200F_202E_202C_200D_200F_202B_200C_202C_200D_206E_200C_200E_206C_206E_202A_206D_206C_206B_200F_200C_206B_200F_206E_202E_206A_206E_202E_200B_200E_206F_202C_202E(); - return ETaskResult.TaskComplete; - case 6: - SetState(EMeldState.SelectingMateria); - num = 2029212348; - break; - case 19: - num7 = _202D_200B_206A_206C_200F_206D_200E_202B_202A_202B_200F_200D_206A_206E_202B_200F_206E_206B_202C_200E_202A_202D_206C_202B_202D_202A_200F_202C_200D_202D_200E_202C_206E_206B_202B_200D_206A_206A_200D_200D_202E(base.Task.MateriaItemId); - num = ((num7 >= _materiaStartCount) ? 2029212341 : 2029212351); - break; - case 8: - { - switch (_state) - { - case EMeldState.WaitingForAgent: - break; - case EMeldState.WaitingAfterItem: - goto IL_00fc; - case EMeldState.WaitingForDialog: - goto IL_025d; - case EMeldState.SelectingMateria: - goto IL_02ab; - case EMeldState.OpeningAgent: - goto IL_02f5; - case EMeldState.SelectingCategory: - goto IL_0317; - case EMeldState.WaitingForCompletion: - goto IL_0344; - case EMeldState.WaitingAfterCategory: - goto IL_0346; - case EMeldState.Confirming: - goto IL_0368; - case EMeldState.SelectingItem: - goto IL_039c; - default: - goto IL_04cf; - } - goto case 11; - } - IL_04cf: - num = 2029212340; - break; - IL_039c: - num8 = _202A_202D_202A_206C_200D_202C_206F_200D_200B_200F_202C_206D_206C_202C_200E_202E_202B_200F_206B_200F_202D_206B_200F_200C_206B_206B_202A_206F_202B_200D_206B_206C_202B_202C_202A_200F_206C_202E_206B_200F_202E(_targetItem); - num = (num8.HasValue ? 2029212346 : 2029212350); - break; - IL_025d: - num = ((!_206B_206D_206F_200C_206D_202A_206E_206A_200F_202A_206F_206B_202A_202E_200C_200D_202B_206C_202B_200B_206B_202C_206C_206B_206A_206D_202A_202B_200B_206F_202A_206C_202A_206C_202E_202E_202B_202C_200E_202B_202E(gameGui)) ? 2029212348 : 2029212326); - break; - IL_0368: - num = ((!_206F_202B_206B_206C_200D_206F_206E_206E_202A_200B_200C_200D_202C_202A_200D_202D_202E_206A_200C_200D_200D_206A_206C_200C_202A_206A_200E_202E_202C_200F_206F_200B_206B_206F_200F_200E_200C_206C_200B_202C_202E(gameGui)) ? 2029212348 : 2029212343); - break; - IL_0346: - num = (_200C_202D_206C_202C_202A_200F_202E_206B_200F_200E_200D_206A_206F_200F_200D_206D_200F_206D_206A_202D_202A_200C_200D_206B_206D_200B_200E_206E_206D_206B_202C_206C_200D_206D_200D_206A_200E_202A_206B_202C_202E() ? 2029212348 : 2029212345); - break; - IL_00fc: - num = (_200C_202D_206C_202C_202A_200F_202E_206B_200F_200E_200D_206A_206F_200F_200D_206D_200F_206D_206A_202D_202A_200C_200D_206B_206D_200B_200E_206E_206D_206B_202C_206C_200D_206D_200D_206A_200E_202A_206B_202C_202E() ? 2029212348 : 2029212347); - break; - IL_0344: - return ETaskResult.StillRunning; - IL_0317: - num = ((!_202B_202B_206D_206B_200F_200C_206D_200C_206A_200C_200F_206A_202E_200B_202E_206A_200D_206F_206F_206B_202D_200E_200E_206B_206A_200B_202B_202E_202E_202C_200D_206C_206E_202C_202D_202E_206B_202D_202B_202E((int)_206B_202A_206F_206A_202D_206D_200D_202C_202E_202D_206E_202C_202C_206D_202C_206F_206A_202B_206F_200B_202D_202E_200C_200D_200E_206D_200F_202A_202E_202E_200C_202E_202B_202B_202A_200C_202C_200D_200C_206D_202E(_targetInventoryType))) ? 2029212348 : 2029212331); - break; - IL_02f5: - num = ((!_206B_206B_200C_206F_200F_206C_206D_206B_200F_200D_200D_200F_202C_202D_200E_202B_200B_202E_206E_202D_202A_200D_200D_206A_200C_202E_200E_202C_202B_200F_206E_202C_202E_206D_206E_200F_202C_206A_202C_202E()) ? 2029212348 : 2029212329); - break; - IL_02ab: - num9 = _202A_206E_200B_202E_200D_206C_202B_202E_202C_202B_206A_206B_206A_200E_200D_200E_206C_202D_200C_202D_202B_200F_202E_200B_200B_206F_200E_206D_206F_200B_206E_206F_202C_200F_200F_202D_206B_206E_206A_206F_202E(base.Task.MateriaItemId); - num = (num9.HasValue ? 2029212330 : 2029212324); - break; - } + return ETaskResult.StillRunning; } + int num = MateriaHelper.CountMateriaInInventory(base.Task.MateriaItemId); + if (num < _materiaStartCount) + { + logger.LogInformation("Materia {MateriaId} melded successfully ({Old} -> {New})", base.Task.MateriaItemId, _materiaStartCount, num); + MeldActions.CloseMeldAgent(); + return ETaskResult.TaskComplete; + } + switch (_state) + { + case EMeldState.OpeningAgent: + if (MeldActions.TryOpenMeldAgent()) + { + SetState(EMeldState.WaitingForAgent); + } + break; + case EMeldState.WaitingForAgent: + if (MeldActions.IsMeldAgentReady()) + { + SetState(EMeldState.SelectingCategory); + } + break; + case EMeldState.SelectingCategory: + if (MeldActions.TrySelectItemCategory((int)MeldActions.GetFilterCategory(_targetInventoryType))) + { + SetState(EMeldState.WaitingAfterCategory); + } + break; + case EMeldState.WaitingAfterCategory: + if (!MeldActions.IsAgentLoading()) + { + SetState(EMeldState.SelectingItem); + } + break; + case EMeldState.SelectingItem: + { + int? num2 = MeldActions.FindItemIndex(_targetItem); + if (!num2.HasValue) + { + logger.LogWarning("Could not find target item in agent list"); + } + else if (MeldActions.TrySelectItem(num2.Value)) + { + logger.LogInformation("Selected item at agent index {Index}", num2.Value); + SetState(EMeldState.WaitingAfterItem); + } + break; + } + case EMeldState.WaitingAfterItem: + if (!MeldActions.IsAgentLoading()) + { + SetState(EMeldState.SelectingMateria); + } + break; + case EMeldState.SelectingMateria: + { + int? num3 = MeldActions.FindMateriaIndex(base.Task.MateriaItemId); + if (!num3.HasValue) + { + logger.LogWarning("Could not find materia {MateriaId} in agent list", base.Task.MateriaItemId); + } + else if (MeldActions.TrySelectMateria(num3.Value)) + { + logger.LogInformation("Selected materia at agent index {Index}", num3.Value); + SetState(EMeldState.WaitingForDialog); + } + break; + } + case EMeldState.WaitingForDialog: + if (MeldActions.IsMeldDialogReady(gameGui)) + { + SetState(EMeldState.Confirming); + } + break; + case EMeldState.Confirming: + if (MeldActions.TryConfirmMeld(gameGui)) + { + logger.LogInformation("Confirmed meld"); + SetState(EMeldState.WaitingForCompletion); + } + break; + } + return ETaskResult.StillRunning; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe bool FindTargetItem() { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? (-1479293445) : (-1479293444)); - int num5 = default(int); - ReadOnlySpan readOnlySpan = default(ReadOnlySpan); - InventoryType inventoryType = default(InventoryType); - InventoryContainer* inventoryContainer = default(InventoryContainer*); - int num6 = default(int); - InventoryItem* inventorySlot = default(InventoryItem*); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -1479293451; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return false; + } + ReadOnlySpan readOnlySpan = new InventoryType[15] + { + InventoryType.Inventory1, + InventoryType.Inventory2, + InventoryType.Inventory3, + InventoryType.Inventory4, + InventoryType.ArmoryMainHand, + InventoryType.ArmoryOffHand, + InventoryType.ArmoryHead, + InventoryType.ArmoryBody, + InventoryType.ArmoryHands, + InventoryType.ArmoryLegs, + InventoryType.ArmoryFeets, + InventoryType.ArmoryEar, + InventoryType.ArmoryNeck, + InventoryType.ArmoryWrist, + InventoryType.ArmoryRings + }; + for (int i = 0; i < readOnlySpan.Length; i++) + { + InventoryType inventoryType = readOnlySpan[i]; + InventoryContainer* inventoryContainer = ptr->GetInventoryContainer(inventoryType); + if (inventoryContainer == null) { - case 7: - { - int num10 = num5; - num3 = 1; - num4 = num10; - int num11 = num4 ^ num3; - int num12 = num4 & num3; - num5 = num11 + (num12 + num12); - num = -1479293456; - break; + continue; } - case 5: - num = ((num5 < readOnlySpan.Length) ? (-1479293442) : (-1479293455)); - break; - case 11: - inventoryType = readOnlySpan[num5]; - inventoryContainer = ptr->GetInventoryContainer(inventoryType); - num = ((inventoryContainer == null) ? (-1479293454) : (-1479293452)); - break; - case 1: - num6 = 0; - num = -1479293441; - break; - case 13: - _targetItem = inventorySlot; - _targetInventoryType = inventoryType; - _200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1804696669), new object[3] - { - inventorySlot->ItemId, - inventoryType, - num6 - }); - return true; - case 12: - num = -1479293444; - break; - case 2: - inventorySlot = inventoryContainer->GetInventorySlot(num6); - num = ((inventorySlot == null) ? (-1479293450) : (-1479293443)); - break; - case 14: - readOnlySpan = new InventoryType[15] - { - InventoryType.Inventory1, - InventoryType.Inventory2, - InventoryType.Inventory3, - InventoryType.Inventory4, - InventoryType.ArmoryMainHand, - InventoryType.ArmoryOffHand, - InventoryType.ArmoryHead, - InventoryType.ArmoryBody, - InventoryType.ArmoryHands, - InventoryType.ArmoryLegs, - InventoryType.ArmoryFeets, - InventoryType.ArmoryEar, - InventoryType.ArmoryNeck, - InventoryType.ArmoryWrist, - InventoryType.ArmoryRings - }; - num5 = 0; - num = -1479293456; - break; - case 0: - num = ((inventorySlot->ItemId != base.Task.TargetItemId.Value) ? (-1479293450) : (-1479293448)); - break; - case 4: - return false; - case 9: - return false; - case 6: - num = ((!base.Task.TargetItemId.HasValue) ? (-1479293448) : (-1479293451)); - break; - case 10: - num = ((num6 < inventoryContainer->Size) ? (-1479293449) : (-1479293454)); - break; - case 3: + for (int j = 0; j < inventoryContainer->Size; j++) { - int num7 = num6; - num3 = 1; - num4 = num7; - int num8 = num4 ^ num3; - int num9 = num4 & num3; - num6 = num8 + (num9 + num9); - num = -1479293441; - break; - } - case 8: - num = ((inventorySlot->ItemId == 0) ? (-1479293450) : (-1479293453)); - break; + InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(j); + if (inventorySlot != null && inventorySlot->ItemId != 0 && (!base.Task.TargetItemId.HasValue || inventorySlot->ItemId == base.Task.TargetItemId.Value)) + { + _targetItem = inventorySlot; + _targetInventoryType = inventoryType; + logger.LogInformation("Found target item {ItemId} in {InvType} slot {Slot}", inventorySlot->ItemId, inventoryType, j); + return true; + } } } + return false; } public override bool ShouldInterruptOnDamage() { return false; } - - static long _206E_200F_202E_202E_200F_202B_200C_200E_206E_202C_202B_202A_200E_200D_206E_200C_200C_206F_202A_200E_206A_200D_200B_202C_202C_206E_202A_202C_206A_206F_200B_206F_202B_202B_200C_206C_200D_202D_200D_200C_202E() - { - return Environment.TickCount64; - } - - static int _202D_200B_206A_206C_200F_206D_200E_202B_202A_202B_200F_200D_206A_206E_202B_200F_206E_206B_202C_200E_202A_202D_206C_202B_202D_202A_200F_202C_200D_202D_200E_202C_206E_206B_202B_200D_206A_206A_200D_200D_202E(uint P_0) - { - return MateriaHelper.CountMateriaInInventory(P_0); - } - - static void _200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static void _202C_202E_206F_206C_206C_202E_202D_202B_202E_200F_202E_202C_200D_200F_202B_200C_202C_200D_206E_200C_200E_206C_206E_202A_206D_206C_206B_200F_200C_206B_200F_206E_202E_206A_206E_202E_200B_200E_206F_202C_202E() - { - MeldActions.CloseMeldAgent(); - } - - static bool _206B_206B_200C_206F_200F_206C_206D_206B_200F_200D_200D_200F_202C_202D_200E_202B_200B_202E_206E_202D_202A_200D_200D_206A_200C_202E_200E_202C_202B_200F_206E_202C_202E_206D_206E_200F_202C_206A_202C_202E() - { - return MeldActions.TryOpenMeldAgent(); - } - - static bool _202E_206C_202B_202B_206D_202B_206F_206E_200C_206D_206D_206E_206B_200E_206A_200F_206B_200E_206F_202D_206E_206A_206C_200F_200D_200C_200D_202A_200E_200B_200E_206E_202D_200C_206B_202E_206A_200D_202D_206E_202E() - { - return MeldActions.IsMeldAgentReady(); - } - - static AgentMateriaAttach.FilterCategory _206B_202A_206F_206A_202D_206D_200D_202C_202E_202D_206E_202C_202C_206D_202C_206F_206A_202B_206F_200B_202D_202E_200C_200D_200E_206D_200F_202A_202E_202E_200C_202E_202B_202B_202A_200C_202C_200D_200C_206D_202E(InventoryType P_0) - { - return MeldActions.GetFilterCategory(P_0); - } - - static bool _202B_202B_206D_206B_200F_200C_206D_200C_206A_200C_200F_206A_202E_200B_202E_206A_200D_206F_206F_206B_202D_200E_200E_206B_206A_200B_202B_202E_202E_202C_200D_206C_206E_202C_202D_202E_206B_202D_202B_202E(int P_0) - { - return MeldActions.TrySelectItemCategory(P_0); - } - - static bool _200C_202D_206C_202C_202A_200F_202E_206B_200F_200E_200D_206A_206F_200F_200D_206D_200F_206D_206A_202D_202A_200C_200D_206B_206D_200B_200E_206E_206D_206B_202C_206C_200D_206D_200D_206A_200E_202A_206B_202C_202E() - { - return MeldActions.IsAgentLoading(); - } - - unsafe static int? _202A_202D_202A_206C_200D_202C_206F_200D_200B_200F_202C_206D_206C_202C_200E_202E_202B_200F_206B_200F_202D_206B_200F_200C_206B_206B_202A_206F_202B_200D_206B_206C_202B_202C_202A_200F_206C_202E_206B_200F_202E(InventoryItem* P_0) - { - return MeldActions.FindItemIndex(P_0); - } - - static void _200D_202C_200B_206B_202B_206E_202B_200B_202C_206D_202C_202A_200D_202B_202C_202B_206D_206E_206D_202B_206D_202A_202E_202A_200B_206B_200B_202A_202D_202B_202B_202D_202A_206C_200C_206E_206C_206B_202C_200C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static bool _206B_202C_206F_206E_200E_206C_200F_200F_206A_206D_206D_206E_206A_202C_206B_206E_206C_202C_206E_200E_202C_202D_202E_206E_206B_200D_206E_206E_206F_200D_200B_200F_200B_202B_200D_206D_206B_200D_202E_202C_202E(int P_0) - { - return MeldActions.TrySelectItem(P_0); - } - - static int? _202A_206E_200B_202E_200D_206C_202B_202E_202C_202B_206A_206B_206A_200E_200D_200E_206C_202D_200C_202D_202B_200F_202E_200B_200B_206F_200E_206D_206F_200B_206E_206F_202C_200F_200F_202D_206B_206E_206A_206F_202E(uint P_0) - { - return MeldActions.FindMateriaIndex(P_0); - } - - static bool _206F_206B_206B_202B_206B_200E_200C_206A_206C_206A_206E_200F_200C_200B_200F_200C_200B_200F_206F_206E_202C_200E_202C_206C_200E_202E_206F_206E_200C_202E_202A_206F_206A_206B_202C_206D_202B_202E_200C_202D_202E(int P_0) - { - return MeldActions.TrySelectMateria(P_0); - } - - static bool _206B_206D_206F_200C_206D_202A_206E_206A_200F_202A_206F_206B_202A_202E_200C_200D_202B_206C_202B_200B_206B_202C_206C_206B_206A_206D_202A_202B_200B_206F_202A_206C_202A_206C_202E_202E_202B_202C_200E_202B_202E(IGameGui P_0) - { - return MeldActions.IsMeldDialogReady(P_0); - } - - static bool _206F_202B_206B_206C_200D_206F_206E_206E_202A_200B_200C_200D_202C_202A_200D_202D_202E_206A_200C_200D_200D_206A_206C_200C_202A_206A_200E_202E_202C_200F_206F_200B_206B_206F_200F_200E_200C_206C_200B_202C_202E(IGameGui P_0) - { - return MeldActions.TryConfirmMeld(P_0); - } } } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/Say.cs b/Questionable/Questionable.Controller.Steps.Interactions/Say.cs index f64fb7f..7e28127 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/Say.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/Say.cs @@ -1,7 +1,5 @@ using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Questionable.Controller.Steps.Common; using Questionable.Functions; using Questionable.Model; @@ -13,189 +11,42 @@ internal static class Say { internal sealed class Factory(ExcelFunctions excelFunctions) : ITaskFactory { - [MethodImpl(MethodImplOptions.NoInlining)] public IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { - EInteractionType eInteractionType = _200F_200B_202D_200D_206C_200C_200F_200B_200D_202E_200C_202D_202C_200F_200D_202B_206A_206C_202E_200B_206A_206B_206B_206E_202D_206D_202E_206B_200F_206C_202C_200E_200E_206B_202B_200C_202A_206D_206C_206D_202E(step); - int num = (((uint)(eInteractionType - 30) > 1u) ? (-860411763) : (-860411770)); - bool flag = default(bool); - while (true) + EInteractionType interactionType = step.InteractionType; + if ((uint)(interactionType - 30) <= 1u) { - int num2 = num; - int num3 = -860411762; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + if (step.ChatMessage == null) { - case 3: - flag = false; - num = -860411767; - break; - case 1: - { - _206E_200C_202C_200D_206A_206A_202C_206A_202B_202B_200D_202C_202E_202D_206D_200B_202B_206E_206E_200B_206F_202C_200B_200B_202E_200C_206F_202A_202E_206C_206A_202E_202D_200F_200F_200F_206A_200B_200F_202E((object)_206B_200D_206E_206B_202E_202C_202D_202C_202A_202E_206F_200D_206D_206A_200D_206F_206C_202E_206D_200C_206B_200C_202D_202E_202E_200F_200B_206C_206E_202E_200C_200F_206A_206D_206E_202D_202E_202C_206D_200E_202E(step), 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(-312135304)); - string? text = excelFunctions.GetDialogueText(quest, _206F_200C_206F_206F_206B_200F_202C_202D_206D_200C_200E_206C_206A_200C_202C_200F_206A_202C_202E_206F_206A_206A_206F_200F_202A_200F_206E_200D_206D_200F_202E_206C_200C_206C_200D_206B_206E_200C_206E_202E(_206B_200D_206E_206B_202E_202C_202D_202C_202A_202E_206F_200D_206D_206A_200D_206F_206C_202E_206D_200C_206B_200C_202D_202E_202E_200F_200B_206C_206E_202E_200C_200F_206A_206D_206E_202D_202E_202C_206D_200E_202E(step)), _206C_206B_206C_200D_200E_202C_202C_202A_202B_206A_202C_202D_206B_202C_200C_206A_202E_202E_200D_202B_202A_200B_206A_200E_200F_200E_206D_200B_206B_202B_200B_202E_206E_200C_200F_202E_202D_200F_200D_202E(_206B_200D_206E_206B_202E_202C_202D_202C_202A_202E_206F_200D_206D_206A_200D_206F_206C_202E_206D_200C_206B_200C_202D_202E_202E_200F_200B_206C_206E_202E_200C_200F_206A_206D_206E_202D_202E_202C_206D_200E_202E(step)), isRegex: false).GetString(); - _206E_200C_202C_200D_206A_206A_202C_206A_202B_202B_200D_202C_202E_202D_206D_200B_202B_206E_206E_200B_206F_202C_200B_200B_202E_200C_206F_202A_202E_206C_206A_202E_202D_200F_200F_200F_206A_200B_200F_202E((object)text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1509183422)); - Mount.UnmountTask unmountTask = new Mount.UnmountTask(); - Task task = new Task(text); - return new global::_003C_003Ez__ReadOnlyArray(new ITask[2] { unmountTask, task }); - } - case 2: - num = -860411770; - break; - case 5: - num = ((_200F_200B_202D_200D_206C_200C_200F_200B_200D_202E_200C_202D_202C_200F_200D_202B_206A_206C_202E_200B_206A_206B_206B_206E_202D_206D_202E_206B_200F_206C_202C_200E_200E_206B_202B_200C_202A_206D_206C_206D_202E(step) == EInteractionType.Say) ? (-860411761) : (-860411768)); - break; - case 8: - flag = true; - num = -860411767; - break; - case 7: - num = ((!flag) ? (-860411765) : (-860411766)); - break; - case 0: return Array.Empty(); - case 6: - return Array.Empty(); - case 4: - num = ((_206B_200D_206E_206B_202E_202C_202D_202C_202A_202E_206F_200D_206D_206A_200D_206F_206C_202E_206D_200C_206B_200C_202D_202E_202E_200F_200B_206C_206E_202E_200C_200F_206A_206D_206E_202D_202E_202C_206D_200E_202E(step) != null) ? (-860411761) : (-860411762)); - break; } } - } - - IEnumerable ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks - return this.CreateAllTasks(quest, sequence, step); - } - - static EInteractionType _200F_200B_202D_200D_206C_200C_200F_200B_200D_202E_200C_202D_202C_200F_200D_202B_206A_206C_202E_200B_206A_206B_206B_206E_202D_206D_202E_206B_200F_206C_202C_200E_200E_206B_202B_200C_202A_206D_206C_206D_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static ChatMessage _206B_200D_206E_206B_202E_202C_202D_202C_202A_202E_206F_200D_206D_206A_200D_206F_206C_202E_206D_200C_206B_200C_202D_202E_202E_200F_200B_206C_206E_202E_200C_200F_206A_206D_206E_202D_202E_202C_206D_200E_202E(QuestStep P_0) - { - return P_0.ChatMessage; - } - - static void _206E_200C_202C_200D_206A_206A_202C_206A_202B_202B_200D_202C_202E_202D_206D_200B_202B_206E_206E_200B_206F_202C_200B_200B_202E_200C_206F_202A_202E_206C_206A_202E_202D_200F_200F_200F_206A_200B_200F_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static string _206F_200C_206F_206F_206B_200F_202C_202D_206D_200C_200E_206C_206A_200C_202C_200F_206A_202C_202E_206F_206A_206A_206F_200F_202A_200F_206E_200D_206D_200F_202E_206C_200C_206C_200D_206B_206E_200C_206E_202E(ChatMessage P_0) - { - return P_0.ExcelSheet; - } - - static string _206C_206B_206C_200D_200E_202C_202C_202A_202B_206A_202C_202D_206B_202C_200C_206A_202E_202E_200D_202B_202A_200B_206A_200E_200F_200E_206D_200B_206B_202B_200B_202E_206E_200C_200F_202E_202D_200F_200D_202E(ChatMessage P_0) - { - return P_0.Key; + else if (step.InteractionType != EInteractionType.Say) + { + return Array.Empty(); + } + ArgumentNullException.ThrowIfNull(step.ChatMessage, "step.ChatMessage"); + string? text = excelFunctions.GetDialogueText(quest, step.ChatMessage.ExcelSheet, step.ChatMessage.Key, isRegex: false).GetString(); + ArgumentNullException.ThrowIfNull(text, "excelString"); + Mount.UnmountTask unmountTask = new Mount.UnmountTask(); + Task task = new Task(text); + return new global::_003C_003Ez__ReadOnlyArray(new ITask[2] { unmountTask, task }); } } internal sealed record Task(string ChatMessage) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202B_200D_200F_202A_206D_206C_202C_200F_206A_206F_206C_200E_200F_200C_202E_200D_206C_202A_206E_200B_206F_206D_202E_206E_200B_200C_206A_200D_206B_202A_202A_206F_202C_202E_202A_202D_206E_202B_202A_202E_202E(typeof(Task).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return _206D_200F_202C_202C_202B_202B_202C_200F_200C_202B_206B_206A_202C_206E_200D_206C_200F_206F_200C_206F_206D_200F_206B_202C_202C_206B_202D_200C_206F_200C_202C_200E_206C_202D_200C_200B_200E_206C_202D_206B_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-738399246), ChatMessage, 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(444206578)); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200B_202C_202A_200C_202C_206F_206B_206E_200B_200B_200F_202B_202D_202B_200C_200D_206A_200F_206A_200D_206C_206D_200D_206E_202E_206C_206F_206F_200B_202B_202B_206D_202B_200D_206F_202B_206A_202A_202C_202B_202E(); - _206E_206C_200E_206E_202B_200C_200D_200B_202C_206F_206C_202C_202C_206B_200D_200D_202A_200E_206C_206C_200E_200E_206B_206B_202A_200D_206C_206D_202A_202C_206F_200D_202D_200D_206C_206A_200E_206F_206B_200E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1224470914)); - _206B_206F_200B_202D_202E_202D_206E_200F_206B_206F_200D_206F_200D_206C_202D_200F_202C_206D_202E_206A_206B_202A_202B_200C_200B_200E_200F_200D_202E_206B_206D_206D_200C_200E_200B_202D_202D_200E_202E_202B_202E(builder, (object)ChatMessage); - return true; - } - - [CompilerGenerated] - public bool Equals(Task? other) - { - int num = (((object)this == other) ? (-652063251) : (-652063254)); - while (true) - { - int num2 = num; - int num3 = -652063250; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return true; - case 4: - num = (((object)other == null) ? (-652063249) : (-652063250)); - break; - case 1: - return false; - case 2: - return EqualityComparer.Default.Equals(ChatMessage, other.ChatMessage); - case 0: - num = ((!_202E_202D_202C_202D_202B_202D_202E_206E_200B_200F_200E_200E_206E_206A_202C_200F_202B_206D_200D_202A_202D_206A_206B_200D_206A_206E_200E_206F_202A_200C_202E_206D_200C_200B_202B_206B_206C_202B_200B_206F_202E(EqualityContract, other.EqualityContract)) ? (-652063249) : (-652063252)); - break; - case 5: - num = -652063254; - break; - } - } - } - - bool IEquatable.Equals(Task? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202B_200D_200F_202A_206D_206C_202C_200F_206A_206F_206C_200E_200F_200C_202E_200D_206C_202A_206E_200B_206F_206D_202E_206E_200B_200C_206A_200D_206B_202A_202A_206F_202C_202E_202A_202D_206E_202B_202A_202E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static string _206D_200F_202C_202C_202B_202B_202C_200F_200C_202B_206B_206A_202C_206E_200D_206C_200F_206F_200C_206F_206D_200F_206B_202C_202C_206B_202D_200C_206F_200C_202C_200E_206C_202D_200C_200B_200E_206C_202D_206B_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static void _200B_202C_202A_200C_202C_206F_206B_206E_200B_200B_200F_202B_202D_202B_200C_200D_206A_200F_206A_200D_206C_206D_200D_206E_202E_206C_206F_206F_200B_202B_202B_206D_202B_200D_206F_202B_206A_202A_202C_202B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206E_206C_200E_206E_202B_200C_200D_200B_202C_206F_206C_202C_202C_206B_200D_200D_202A_200E_206C_206C_200E_200E_206B_206B_202A_200D_206C_206D_202A_202C_206F_200D_202D_200D_206C_206A_200E_206F_206B_200E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206B_206F_200B_202D_202E_202D_206E_200F_206B_206F_200D_206F_200D_206C_202D_200F_202C_206D_202E_206A_206B_202A_202B_200C_200B_200E_200F_200D_202E_206B_206D_206D_200C_200E_200B_202D_202D_200E_202E_202B_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202E_202D_202C_202D_202B_202D_202E_206E_200B_200F_200E_200E_206E_206A_202C_200F_202B_206D_200D_202A_202D_206A_206B_200D_206A_206E_200E_206F_202A_200C_202E_206D_200C_200B_202B_206B_206C_202B_200B_206F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "Say(" + ChatMessage + ")"; } } internal sealed class UseChat : AbstractDelayedTaskExecutor { - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool StartInternal() { - ChatFunctions.ExecuteCommand(_206E_206D_200E_202D_200C_206C_202E_200F_206E_200B_202E_206D_202D_202D_206B_202A_202D_202B_200E_202A_200C_200B_206D_202D_200E_206E_202D_206A_200C_206D_202C_206C_202C_206E_202E_202A_200C_202E_202E_202E_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-565060687), base.Task.ChatMessage)); + ChatFunctions.ExecuteCommand("/say " + base.Task.ChatMessage); return true; } @@ -203,10 +54,5 @@ internal static class Say { return true; } - - static string _206E_206D_200E_202D_200C_206C_202E_200F_206E_200B_202E_206D_202D_202D_206B_202A_202D_202B_200E_202A_200C_200B_206D_202D_200E_206E_202D_206A_200C_206D_202C_206C_202C_206E_202E_202A_200C_202E_202E_202E_202E(string P_0, string P_1) - { - return P_0 + P_1; - } } } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/SinglePlayerDuty.cs b/Questionable/Questionable.Controller.Steps.Interactions/SinglePlayerDuty.cs index a63f6b1..50fd8bf 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/SinglePlayerDuty.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/SinglePlayerDuty.cs @@ -1,11 +1,7 @@ using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; @@ -39,641 +35,98 @@ internal static class SinglePlayerDuty internal sealed class Factory(BossModIpc bossModIpc, WrathComboModule wrathComboModule, RotationSolverRebornModule rsrModule, Configuration configuration, TerritoryData territoryData, QuestFunctions questFunctions, DutyRetryState dutyRetryState, ICondition condition, IClientState clientState, IObjectTable objectTable) : ITaskFactory { - [CompilerGenerated] - private sealed class _003CCreateAllTasks_003Ed__11 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ITask _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - private QuestStep step; - - public QuestStep _003C_003E3__step; - - public Factory _003C_003E4__this; - - private Quest quest; - - public Quest _003C_003E3__quest; - - private byte _003CseqBefore_003E5__2; - - private IReadOnlyList _003CvarsBefore_003E5__3; - - private List _003CdutyTasks_003E5__4; - - private List.Enumerator _003C_003E7__wrap4; - - ITask IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CCreateAllTasks_003Ed__11(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _206B_202C_206B_200B_200C_202B_202A_202E_206F_202C_200E_200C_206B_206D_200E_200D_200E_206E_200F_202E_206E_200E_202D_200C_202C_200B_206A_202C_206F_202C_206E_200E_206F_206E_200C_206C_206C_200B_202C_206A_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = ((num == -3) ? (-1270802467) : (-1270802466)); - while (true) - { - int num3 = num2; - int num4 = -1270802465; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - default: - continue; - case 0: - num2 = -1270802466; - continue; - case 1: - if (num == 2) - { - num2 = -1270802467; - continue; - } - break; - case 2: - try - { - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003CvarsBefore_003E5__3 = null; - _003CdutyTasks_003E5__4 = null; - _003C_003E7__wrap4 = default(List.Enumerator); - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - try - { - int num = _003C_003E1__state; - Factory CS_0024_003C_003E8__locals17 = _003C_003E4__this; - switch (num) - { - case 2: - goto IL_0283; - case 1: - goto IL_03d6; - case 0: - goto IL_0449; - case 3: - goto IL_04a2; - } - int num2 = -114893671; - goto IL_0030; - IL_03d6: - _003C_003E1__state = -1; - num2 = ((!CS_0024_003C_003E8__locals17.bossModIpc.IsConfiguredToRunSoloInstance(quest.Id, _206D_202A_206D_200C_206C_202C_202A_202A_206C_202D_202B_202E_202B_200C_200F_202B_206C_202D_202A_202B_206D_206F_200D_206E_200C_206E_200E_206E_200B_206D_200E_206E_200C_202B_202B_200D_202E_202E_206A_200E_202E(step))) ? (-114893693) : (-114893690)); - goto IL_0030; - IL_0030: - TerritoryData.ContentFinderConditionData contentFinderConditionData = default(TerritoryData.ContentFinderConditionData); - while (true) - { - int num3 = num2; - int num4 = -114893684; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 0: - _003CdutyTasks_003E5__4.Add(new Duty.EnableBossModPassiveForDutyTask()); - num2 = -114893679; - break; - case 21: - return false; - case 3: - throw new TaskException(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1303253303)); - case 10: - goto IL_0109; - case 19: - _003CdutyTasks_003E5__4.Add(new WaitCondition.Task(delegate - { - int num8 = ((Factory._206A_206B_202D_202C_206C_202C_200C_202E_202B_202E_200C_200F_202B_206C_202E_202A_200B_206E_200E_206F_202A_206A_200E_202B_200E_202D_200C_202E_202C_206C_202A_200F_202C_200D_202D_200C_206A_202A_202E_206A_202E(CS_0024_003C_003E8__locals17.clientState) == 688) ? 594200038 : 594200037); - while (true) - { - int num9 = num8; - int num10 = 594200036; - int num11 = num9; - int num12 = num11 + num10; - int num13 = num11 & num10; - switch (num12 - (num13 + num13)) - { - case 0: - goto IL_0055; - case 1: - return true; - case 2: - { - IGameObject gameObject = Factory._202E_202A_202D_202C_200C_200F_206F_206C_202D_206F_206A_206F_202C_202C_202B_202E_206C_202B_200D_206C_206D_206E_202B_200F_206B_200E_206D_202D_202D_206B_202B_200E_200E_202D_202E_206F_202B_202E_206D_202C_202E(CS_0024_003C_003E8__locals17.objectTable, 0); - Vector3 vector = ((gameObject != null) ? Factory._206D_202B_202B_206E_200E_200D_200F_200C_202E_206B_202E_206B_206E_202B_206C_206A_202A_200E_202E_200C_206D_200D_202B_202B_206E_206E_206D_206C_206D_200E_200C_206E_200C_200D_200D_200E_200E_202D_200C_200C_202E(gameObject) : default(Vector3)); - return (new Vector3(352.01f, -1.45f, 288.59f) - vector).Length() < 10f; - } - } - continue; - IL_0055: - num8 = 594200037; - } - }, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-647590790))); - _003CdutyTasks_003E5__4.Add(new Mount.UnmountTask()); - _003CdutyTasks_003E5__4.Add(new EnableAi()); - num2 = -114893668; - break; - case 2: - _003CdutyTasks_003E5__4.Add(new SetTarget(14643u)); - _003CdutyTasks_003E5__4.Add(new WaitCondition.Task(delegate - { - int num8 = (Factory._200D_206F_202B_202A_202E_206C_200B_202B_206F_202D_202C_200B_206E_200C_200C_200B_206D_202B_206C_206C_206A_200F_202C_202D_202A_200D_202B_200D_200D_206F_202E_206B_200D_206A_206A_202D_206F_202A_206E_200F_202E(CS_0024_003C_003E8__locals17.condition, ConditionFlag.Unconscious) ? (-535748773) : (-535748776)); - while (true) - { - int num9 = num8; - int num10 = -535748774; - int num11 = num9; - switch ((num11 | num10) - (num11 & num10)) - { - case 0: - goto IL_004c; - case 2: - return Factory._206A_206B_202D_202C_206C_202C_200C_202E_202B_202E_200C_200F_202B_206C_202E_202A_200B_206E_200E_206F_202A_206A_200E_202B_200E_202D_200C_202E_202C_206C_202A_200F_202C_200D_202D_200C_206A_202A_202E_206A_202E(CS_0024_003C_003E8__locals17.clientState) != 1052; - case 1: - return true; - } - continue; - IL_004c: - num8 = -535748776; - } - }, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2114872246))); - _003CdutyTasks_003E5__4.Add(new DisableAi()); - _003CdutyTasks_003E5__4.Add(new WaitCondition.Task(delegate - { - int num8 = ((!Factory._200D_206F_202B_202A_202E_206C_200B_202B_206F_202D_202C_200B_206E_200C_200C_200B_206D_202B_206C_206C_206A_200F_202C_202D_202A_200D_202B_200D_200D_206F_202E_206B_200D_206A_206A_202D_206F_202A_206E_200F_202E(CS_0024_003C_003E8__locals17.condition, ConditionFlag.Unconscious)) ? 269561027 : 269561026); - while (true) - { - int num9 = num8; - int num10 = 269561027; - int num11 = num9; - int num12 = num11 + num10; - int num13 = num11 & num10; - switch (num12 - (num13 + num13)) - { - case 0: - return true; - case 1: - return Factory._206A_206B_202D_202C_206C_202C_200C_202E_202B_202E_200C_200F_202B_206C_202E_202A_200B_206E_200E_206F_202A_206A_200E_202B_200E_202D_200C_202E_202C_206C_202A_200F_202C_200D_202D_200C_206A_202A_202E_206A_202E(CS_0024_003C_003E8__locals17.clientState) != 1052; - case 2: - goto IL_0066; - } - continue; - IL_0066: - num8 = 269561026; - } - }, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(724387601))); - _003CdutyTasks_003E5__4.Add(new EnableAi()); - num2 = -114893668; - break; - case 16: - _003CdutyTasks_003E5__4.Add(new WaitSinglePlayerDuty(contentFinderConditionData.ContentFinderConditionId)); - _003CdutyTasks_003E5__4.Add(new DisableAi()); - _003CdutyTasks_003E5__4.Add(new Duty.DisableCombatPluginsForDutyTask()); - _003C_003E7__wrap4 = _003CdutyTasks_003E5__4.GetEnumerator(); - _003C_003E1__state = -3; - num2 = -114893694; - break; - case 7: - goto end_IL_0030; - case 27: - return false; - case 13: - _003CdutyTasks_003E5__4.Add(new Duty.EnableBossModForDutyTask()); - num2 = -114893679; - break; - case 4: - goto IL_02c6; - case 28: - goto IL_0355; - case 14: - goto IL_037d; - case 23: - _003C_003E2__current = new Mount.UnmountTask(); - _003C_003E1__state = 1; - return true; - case 26: - num2 = -114893671; - break; - case 8: - goto IL_03d6; - case 9: - goto IL_041b; - case 17: - goto IL_0449; - case 5: - goto IL_047a; - case 6: - goto IL_04a2; - case 11: - _003CdutyTasks_003E5__4.Add(new WaitCondition.Task(delegate - { - int num8 = (CS_0024_003C_003E8__locals17.DutyActionsAvailable() ? 1858330759 : 1858330756); - while (true) - { - int num9 = num8; - int num10 = 1858330758; - int num11 = num9; - switch ((num11 | num10) - (num11 & num10)) - { - case 0: - goto IL_0046; - case 2: - return Factory._206A_206B_202D_202C_206C_202C_200C_202E_202B_202E_200C_200F_202B_206C_202E_202A_200B_206E_200E_206F_202A_206A_200E_202B_200E_202D_200C_202E_202C_206C_202A_200F_202C_200D_202D_200C_206A_202A_202E_206A_202E(CS_0024_003C_003E8__locals17.clientState) != 665; - case 1: - return true; - } - continue; - IL_0046: - num8 = 1858330756; - } - }, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1936756952))); - _003CdutyTasks_003E5__4.Add(new EnableAi()); - num2 = -114893668; - break; - case 12: - _003CdutyTasks_003E5__4.Add(new Duty.EnableWrathForDutyTask()); - num2 = -114893691; - break; - case 25: - _003CdutyTasks_003E5__4.Add(new Duty.EnableRsrForDutyTask()); - num2 = -114893691; - break; - case 22: - goto IL_053d; - case 18: - goto IL_0565; - case 20: - _003C_003Em__Finally1(); - _003C_003E7__wrap4 = default(List.Enumerator); - _003C_003E2__current = new CheckDutyOutcome(quest.Id, _003CseqBefore_003E5__2, _003CvarsBefore_003E5__3, _202B_206A_202B_206F_200F_200B_206C_206D_206C_200C_202A_202D_206F_202E_206F_206B_206B_206C_200C_206E_200C_202D_200C_206B_202A_200E_206A_206A_200F_200D_206A_206E_202A_202A_206D_202D_200D_200E_206B_206B_202E(step), _003CdutyTasks_003E5__4); - _003C_003E1__state = 3; - return true; - case 24: - goto IL_05ec; - case 1: - { - ITask current = _003C_003E7__wrap4.Current; - _003C_003E2__current = current; - _003C_003E1__state = 2; - return true; - } - case 29: - goto IL_0643; - case 15: - return false; - } - continue; - IL_0643: - _003CdutyTasks_003E5__4.Add(new StartSinglePlayerDuty(contentFinderConditionData.ContentFinderConditionId)); - _003CdutyTasks_003E5__4.Add(new WaitAtStart.WaitDelay(TimeSpan.FromSeconds(2L))); - _003CdutyTasks_003E5__4.Add(new EnableAi()); - num2 = ((contentFinderConditionData.TerritoryId != 1052) ? (-114893670) : (-114893682)); - continue; - IL_0109: - num2 = (CS_0024_003C_003E8__locals17.territoryData.TryGetContentFinderConditionForSoloInstance(quest.Id, _200F_206A_206D_206F_206B_202D_202B_206F_200B_200F_202C_206B_206F_206A_206B_202E_206F_200C_202B_206F_202A_206E_206D_206C_202C_200C_206E_206B_200B_200B_200B_202A_200C_206B_206C_206A_202C_202D_206B_200D_202E(step), out contentFinderConditionData) ? (-114893688) : (-114893681)); - continue; - IL_0355: - num2 = ((!CS_0024_003C_003E8__locals17.rsrModule.IsAvailable()) ? (-114893691) : (-114893675)); - continue; - IL_05ec: - num2 = ((!CS_0024_003C_003E8__locals17.bossModIpc.IsSupported()) ? (-114893679) : (-114893684)); - continue; - IL_047a: - num2 = ((!CS_0024_003C_003E8__locals17.bossModIpc.IsSupported()) ? (-114893676) : (-114893695)); - continue; - IL_037d: - num2 = (_003C_003E7__wrap4.MoveNext() ? (-114893683) : (-114893672)); - continue; - IL_0565: - num2 = ((contentFinderConditionData.TerritoryId != 688) ? (-114893668) : (-114893665)); - continue; - IL_02c6: - QuestProgressInfo questProgressInfo = CS_0024_003C_003E8__locals17.questFunctions.GetQuestProgressInfo(quest.Id); - _003CseqBefore_003E5__2 = questProgressInfo?.Sequence ?? 0; - _003CvarsBefore_003E5__3 = questProgressInfo?.Variables.ToArray(); - CS_0024_003C_003E8__locals17.dutyRetryState.Reset(); - _003CdutyTasks_003E5__4 = new List(); - num2 = ((!CS_0024_003C_003E8__locals17.wrathComboModule.IsAvailable()) ? (-114893680) : (-114893696)); - continue; - IL_041b: - num2 = ((CS_0024_003C_003E8__locals17.configuration.General.CombatModule != Configuration.ECombatModule.BossMod) ? (-114893676) : (-114893687)); - continue; - IL_053d: - num2 = ((contentFinderConditionData.TerritoryId != 665) ? (-114893666) : (-114893689)); - continue; - end_IL_0030: - break; - } - goto IL_0283; - IL_04a2: - _003C_003E1__state = -1; - _003CvarsBefore_003E5__3 = null; - _003CdutyTasks_003E5__4 = null; - num2 = -114893693; - goto IL_0030; - IL_0449: - _003C_003E1__state = -1; - num2 = ((_206F_200E_206B_206F_202C_202C_200C_202C_206C_206D_200B_206C_200E_200B_202C_206A_200B_206F_202A_206C_200C_202D_202D_200D_206B_206E_200C_202A_206A_200B_200D_200C_202E_200D_202B_202E_200F_206A_206A_200F_202E(step) == EInteractionType.SinglePlayerDuty) ? (-114893669) : (-114893673)); - goto IL_0030; - IL_0283: - _003C_003E1__state = -3; - num2 = -114893694; - goto IL_0030; - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - ((IDisposable)_003C_003E7__wrap4/*cast due to .constrained prefix*/).Dispose(); - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _200B_200C_206A_206D_206D_200C_206B_206D_206B_206E_200B_206D_200B_200B_202A_200D_206D_202E_206F_200E_206D_200D_202B_200B_200B_200D_206B_202C_202C_202E_206B_200E_206E_206A_202B_202B_202C_202B_200D_206E_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? (-2042698329) : (-2042698330)); - _003CCreateAllTasks_003Ed__11 _003CCreateAllTasks_003Ed__ = default(_003CCreateAllTasks_003Ed__11); - while (true) - { - int num2 = num; - int num3 = -2042698332; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = -2042698330; - break; - case 0: - _003CCreateAllTasks_003Ed__.quest = _003C_003E3__quest; - _003CCreateAllTasks_003Ed__.step = _003C_003E3__step; - return _003CCreateAllTasks_003Ed__; - case 3: - _003CCreateAllTasks_003Ed__ = new _003CCreateAllTasks_003Ed__11(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = -2042698332; - break; - case 1: - _003C_003E1__state = 0; - _003CCreateAllTasks_003Ed__ = this; - num = -2042698332; - break; - case 2: - num = ((_003C_003El__initialThreadId != _206B_202C_206B_200B_200C_202B_202A_202E_206F_202C_200E_200C_206B_206D_200E_200D_200E_206E_200F_202E_206E_200E_202D_200C_202C_200B_206A_202C_206F_202C_206E_200E_206F_206E_200C_206C_206C_200B_202C_206A_202E()) ? (-2042698329) : (-2042698331)); - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _206B_202C_206B_200B_200C_202B_202A_202E_206F_202C_200E_200C_206B_206D_200E_200D_200E_206E_200F_202E_206E_200E_202D_200C_202C_200B_206A_202C_206F_202C_206E_200E_206F_206E_200C_206C_206C_200B_202C_206A_202E() - { - return Environment.CurrentManagedThreadId; - } - - static EInteractionType _206F_200E_206B_206F_202C_202C_200C_202C_206C_206D_200B_206C_200E_200B_202C_206A_200B_206F_202A_206C_200C_202D_202D_200D_206B_206E_200C_202A_206A_200B_200D_200C_202E_200D_202B_202E_200F_206A_206A_200F_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static SinglePlayerDutyOptions _206D_202A_206D_200C_206C_202C_202A_202A_206C_202D_202B_202E_202B_200C_200F_202B_206C_202D_202A_202B_206D_206F_200D_206E_200C_206E_200E_206E_200B_206D_200E_206E_200C_202B_202B_200D_202E_202E_206A_200E_202E(QuestStep P_0) - { - return P_0.SinglePlayerDutyOptions; - } - - static byte _200F_206A_206D_206F_206B_202D_202B_206F_200B_200F_202C_206B_206F_206A_206B_202E_206F_200C_202B_206F_202A_206E_206D_206C_202C_200C_206E_206B_200B_200B_200B_202A_200C_206B_206C_206A_202C_202D_206B_200D_202E(QuestStep P_0) - { - return P_0.SinglePlayerDutyIndex; - } - - static List _202B_206A_202B_206F_200F_200B_206C_206D_206C_200C_202A_202D_206F_202E_206F_206B_206B_206C_200C_206E_200C_202D_200C_206B_202A_200E_206A_206A_200F_200D_206A_206E_202A_202A_206D_202D_200D_200E_206B_206B_202E(QuestStep P_0) - { - return P_0.CompletionQuestVariablesFlags; - } - - static NotSupportedException _200B_200C_206A_206D_206D_200C_206B_206D_206B_206E_200B_206D_200B_200B_202A_200D_206D_202E_206F_200E_206D_200D_202B_200B_200B_200D_206B_202C_202C_202E_206B_200E_206E_206A_202B_202B_202C_202B_200D_206E_202E() - { - return new NotSupportedException(); - } - } - - [IteratorStateMachine(typeof(_003CCreateAllTasks_003Ed__11))] public IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CCreateAllTasks_003Ed__11(-2) + if (step.InteractionType != EInteractionType.SinglePlayerDuty) { - _003C_003E4__this = this, - _003C_003E3__quest = quest, - _003C_003E3__step = step - }; - } - - IEnumerable ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks - return this.CreateAllTasks(quest, sequence, step); + yield break; + } + yield return new Mount.UnmountTask(); + if (!bossModIpc.IsConfiguredToRunSoloInstance(quest.Id, step.SinglePlayerDutyOptions)) + { + yield break; + } + if (!territoryData.TryGetContentFinderConditionForSoloInstance(quest.Id, step.SinglePlayerDutyIndex, out TerritoryData.ContentFinderConditionData contentFinderConditionData)) + { + throw new TaskException("Failed to get content finder condition for solo instance"); + } + QuestProgressInfo questProgressInfo = questFunctions.GetQuestProgressInfo(quest.Id); + byte seqBefore = questProgressInfo?.Sequence ?? 0; + IReadOnlyList varsBefore = questProgressInfo?.Variables.ToArray(); + dutyRetryState.Reset(); + List dutyTasks = new List(); + if (wrathComboModule.IsAvailable()) + { + dutyTasks.Add(new Duty.EnableWrathForDutyTask()); + } + else if (rsrModule.IsAvailable()) + { + dutyTasks.Add(new Duty.EnableRsrForDutyTask()); + } + if (configuration.General.CombatModule == Configuration.ECombatModule.BossMod && bossModIpc.IsSupported()) + { + dutyTasks.Add(new Duty.EnableBossModForDutyTask()); + } + else if (bossModIpc.IsSupported()) + { + dutyTasks.Add(new Duty.EnableBossModPassiveForDutyTask()); + } + dutyTasks.Add(new StartSinglePlayerDuty(contentFinderConditionData.ContentFinderConditionId)); + dutyTasks.Add(new WaitAtStart.WaitDelay(TimeSpan.FromSeconds(2L))); + dutyTasks.Add(new EnableAi()); + if (contentFinderConditionData.TerritoryId == 1052) + { + dutyTasks.Add(new SetTarget(14643u)); + dutyTasks.Add(new WaitCondition.Task(() => condition[ConditionFlag.Unconscious] || clientState.TerritoryType != 1052, "Wait(death)")); + dutyTasks.Add(new DisableAi()); + dutyTasks.Add(new WaitCondition.Task(() => !condition[ConditionFlag.Unconscious] || clientState.TerritoryType != 1052, "Wait(resurrection)")); + dutyTasks.Add(new EnableAi()); + } + else if (contentFinderConditionData.TerritoryId == 665) + { + dutyTasks.Add(new WaitCondition.Task(() => DutyActionsAvailable() || clientState.TerritoryType != 665, "Wait(Phase 2)")); + dutyTasks.Add(new EnableAi()); + } + else if (contentFinderConditionData.TerritoryId == 688) + { + dutyTasks.Add(new WaitCondition.Task(delegate + { + if (clientState.TerritoryType != 688) + { + return true; + } + Vector3 vector = objectTable[0]?.Position ?? default(Vector3); + return (new Vector3(352.01f, -1.45f, 288.59f) - vector).Length() < 10f; + }, "Wait(moving to Ovoo)")); + dutyTasks.Add(new Mount.UnmountTask()); + dutyTasks.Add(new EnableAi()); + } + dutyTasks.Add(new WaitSinglePlayerDuty(contentFinderConditionData.ContentFinderConditionId)); + dutyTasks.Add(new DisableAi()); + dutyTasks.Add(new Duty.DisableCombatPluginsForDutyTask()); + foreach (ITask item in dutyTasks) + { + yield return item; + } + yield return new CheckDutyOutcome(quest.Id, seqBefore, varsBefore, step.CompletionQuestVariablesFlags, dutyTasks); } private unsafe bool DutyActionsAvailable() { ContentDirector* contentDirector = EventFramework.Instance()->GetContentDirector(); - int num = ((contentDirector == null) ? (-1007812082) : (-1007812083)); - while (true) + if (contentDirector != null) { - int num2 = num; - int num3 = -1007812084; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0050; - case 1: - return contentDirector->DutyActionManager.ActionsPresent; - case 2: - return false; - } - continue; - IL_0050: - num = -1007812083; + return contentDirector->DutyActionManager.ActionsPresent; } - } - - static bool _200D_206F_202B_202A_202E_206C_200B_202B_206F_202D_202C_200B_206E_200C_200C_200B_206D_202B_206C_206C_206A_200F_202C_202D_202A_200D_202B_200D_200D_206F_202E_206B_200D_206A_206A_202D_206F_202A_206E_200F_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static uint _206A_206B_202D_202C_206C_202C_200C_202E_202B_202E_200C_200F_202B_206C_202E_202A_200B_206E_200E_206F_202A_206A_200E_202B_200E_202D_200C_202E_202C_206C_202A_200F_202C_200D_202D_200C_206A_202A_202E_206A_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static IGameObject _202E_202A_202D_202C_200C_200F_206F_206C_202D_206F_206A_206F_202C_202C_202B_202E_206C_202B_200D_206C_206D_206E_202B_200F_206B_200E_206D_202D_202D_206B_202B_200E_200E_202D_202E_206F_202B_202E_206D_202C_202E(IObjectTable P_0, int P_1) - { - return P_0[P_1]; - } - - static Vector3 _206D_202B_202B_206E_200E_200D_200F_200C_202E_206B_202E_206B_206E_202B_206C_206A_202A_200E_202E_200C_206D_200D_202B_202B_206E_206E_206D_206C_206D_200E_200C_206E_200C_200D_200D_200E_200E_202D_200C_200C_202E(IGameObject P_0) - { - return P_0.Position; + return false; } } internal sealed record StartSinglePlayerDuty(uint ContentFinderConditionId) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202A_202C_200C_206D_202C_206E_206A_200C_200D_206C_202E_206F_202A_202D_206C_206B_206C_202D_200B_200F_202D_200D_202C_202A_200C_200C_206F_200E_202C_206B_206E_202D_200F_202C_202B_200F_200C_206E_206F_206F_202E(typeof(StartSinglePlayerDuty).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(32, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1699884371)); - defaultInterpolatedStringHandler.AppendFormatted(ContentFinderConditionId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1618480346)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202A_206B_202A_200B_206B_200D_206C_200D_200B_206A_206C_200B_200C_206F_200E_200C_206F_200D_202E_202D_200D_206E_206A_206E_202B_200C_202E_200B_202D_202D_200D_200F_200F_206A_202B_200E_202A_202A_202C_206A_202E(); - _206D_206B_206B_200C_206D_206B_200D_206E_202D_206E_200F_206E_206A_200C_200C_206F_206C_206A_202A_202D_200B_202C_206E_202D_202A_200D_206C_200F_206C_202E_200B_206B_206E_202A_206A_206F_206A_206D_202D_200E_202E(builder, 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(573777242)); - _206D_206B_206B_200C_206D_206B_200D_206E_202D_206E_200F_206E_206A_200C_200C_206F_206C_206A_202A_202D_200B_202C_206E_202D_202A_200D_206C_200F_206C_202E_200B_206B_206E_202A_206A_206F_206A_206D_202D_200E_202E(builder, ContentFinderConditionId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(StartSinglePlayerDuty? other) - { - int num = (((object)this == other) ? 182286437 : 182286433); - while (true) - { - int num2 = num; - int num3 = 182286432; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 182286433; - break; - case 0: - return false; - case 3: - return EqualityComparer.Default.Equals(ContentFinderConditionId, other.ContentFinderConditionId); - case 4: - num = ((!_202B_202D_206F_200E_200B_206C_206C_202C_200E_200D_206A_202C_206A_206E_200B_200C_200E_202E_206C_206A_200D_202C_206C_206A_200F_200B_202C_206D_206D_206D_206D_200F_202B_202C_202E_202D_200C_202A_200C_202D_202E(EqualityContract, other.EqualityContract)) ? 182286432 : 182286435); - break; - case 5: - return true; - case 1: - num = (((object)other == null) ? 182286432 : 182286436); - break; - } - } - } - - bool IEquatable.Equals(StartSinglePlayerDuty? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202A_202C_200C_206D_202C_206E_206A_200C_200D_206C_202E_206F_202A_202D_206C_206B_206C_202D_200B_200F_202D_200D_202C_202A_200C_200C_206F_200E_202C_206B_206E_202D_200F_202C_202B_200F_200C_206E_206F_206F_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _202A_206B_202A_200B_206B_200D_206C_200D_200B_206A_206C_200B_200C_206F_200E_200C_206F_200D_202E_202D_200D_206E_206A_206E_202B_200C_202E_200B_202D_202D_200D_200F_200F_206A_202B_200E_202A_202A_202C_206A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206D_206B_206B_200C_206D_206B_200D_206E_202D_206E_200F_206E_206A_200C_200C_206F_206C_206A_202A_202D_200B_202C_206E_202D_202A_200D_206C_200F_206C_202E_200B_206B_206E_202A_206A_206F_206A_206D_202D_200E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _202B_202D_206F_200E_200B_206C_206C_202C_200E_200D_206A_202C_206A_206E_200B_200C_200E_202E_206C_206A_200D_202C_206C_206A_200F_200B_202C_206D_206D_206D_206D_200F_202B_202C_202E_202D_200C_202A_200C_202D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"Wait(BossMod, entered instance {ContentFinderConditionId})"; } } @@ -688,119 +141,36 @@ internal static class SinglePlayerDuty public unsafe override ETaskResult Update() { - int num = ((GameMain.Instance()->CurrentContentFinderConditionId == base.Task.ContentFinderConditionId) ? (-1428211712) : (-1428211711)); - while (true) + if (GameMain.Instance()->CurrentContentFinderConditionId != base.Task.ContentFinderConditionId) { - int num2 = num; - int num3 = -1428211710; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1428211711; - break; - case 6: - num = ((_enteredAtMs != 0L) ? (-1428211706) : (-1428211705)); - break; - case 7: - return ETaskResult.StillRunning; - case 4: - num = ((_202E_206B_206B_206D_202D_202C_206E_206A_206C_206D_206C_206F_202E_206B_202E_202D_206E_202A_202E_202E_202E_206F_202B_206A_202A_206A_202D_206A_206E_200E_206D_206E_200F_202B_206D_202C_200F_202A_206F_202A_202E() - _enteredAtMs >= 2000) ? (-1428211709) : (-1428211702)); - break; - case 8: - return ETaskResult.StillRunning; - case 2: - num = (_202C_206C_206E_202C_200D_206D_202A_200C_200B_206E_206B_206E_200C_202B_206F_200C_202E_206D_200D_206F_206E_206B_200D_202B_202A_202C_206B_206A_200D_206C_200B_206E_202B_200E_206B_200E_206D_202A_206F_202C_202E(condition, ConditionFlag.BoundByDuty) ? (-1428211708) : (-1428211707)); - break; - case 5: - _enteredAtMs = _202E_206B_206B_206D_202D_202C_206E_206A_206C_206D_206C_206F_202E_206B_202E_202D_206E_202A_202E_202E_202E_206F_202B_206A_202A_206A_202D_206A_206E_200E_206D_206E_200F_202B_206D_202C_200F_202A_206F_202A_202E(); - num = -1428211706; - break; - case 1: - return ETaskResult.TaskComplete; - case 3: - return ETaskResult.StillRunning; - } + return ETaskResult.StillRunning; } + if (!condition[ConditionFlag.BoundByDuty]) + { + return ETaskResult.StillRunning; + } + if (_enteredAtMs == 0L) + { + _enteredAtMs = Environment.TickCount64; + } + if (Environment.TickCount64 - _enteredAtMs < 2000) + { + return ETaskResult.StillRunning; + } + return ETaskResult.TaskComplete; } public override bool ShouldInterruptOnDamage() { return false; } - - static bool _202C_206C_206E_202C_200D_206D_202A_200C_200B_206E_206B_206E_200C_202B_206F_200C_202E_206D_200D_206F_206E_206B_200D_202B_202A_202C_206B_206A_200D_206C_200B_206E_202B_200E_206B_200E_206D_202A_206F_202C_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static long _202E_206B_206B_206D_202D_202C_206E_206A_206C_206D_206C_206F_202E_206B_202E_202D_206E_202A_202E_202E_202E_206F_202B_206A_202A_206A_202D_206A_206E_200E_206D_206E_200F_202B_206D_202C_200F_202A_206F_202A_202E() - { - return Environment.TickCount64; - } } internal sealed record EnableAi : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206A_206E_200F_206C_206D_200B_202E_200D_206C_202E_206B_200D_202B_206C_200E_206D_206B_206F_206F_202C_200B_206B_200C_202A_202D_206B_200E_200B_202E_206C_202D_206A_202E_200F_202A_202C_200E_200F_200E_206C_202E(typeof(EnableAi).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return 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(-1155426603); - } - - [CompilerGenerated] - public bool Equals(EnableAi? other) - { - int num = (((object)this == other) ? (-348645376) : (-348645374)); - while (true) - { - int num2 = num; - int num3 = -348645373; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - return false; - case 1: - num = (((object)other == null) ? (-348645369) : (-348645375)); - break; - case 0: - num = -348645374; - break; - case 3: - return true; - case 2: - return _206F_200B_202A_200E_200B_206F_202D_206B_202C_200F_206C_200B_200F_202C_200D_206B_206E_202A_202E_206B_200D_202A_206B_206B_200F_200D_202D_200E_206A_200F_202E_202A_202D_206E_200F_202B_206B_200C_202D_202E_202E(EqualityContract, other.EqualityContract); - } - } - } - - bool IEquatable.Equals(EnableAi? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206A_206E_200F_206C_206D_200B_202E_200D_206C_202E_206B_200D_202B_206C_200E_206D_206B_206F_206F_202C_200B_206B_200C_202A_202D_206B_200E_200B_202E_206C_202D_206A_202E_200F_202A_202C_200E_200F_200E_206C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static bool _206F_200B_202A_200E_200B_206F_202D_206B_202C_200F_206C_200B_200F_202C_200D_206B_206E_202A_202E_206B_200D_202A_206B_206B_200F_200D_202D_200E_206A_200F_202E_202A_202D_206E_200F_202B_206B_200C_202D_202E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "BossMod.EnableAi"; } } @@ -825,90 +195,9 @@ internal static class SinglePlayerDuty internal sealed record WaitSinglePlayerDuty(uint ContentFinderConditionId) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206E_200E_206D_202B_202C_202E_206B_202E_200C_202C_206B_200D_200D_200E_206E_202A_202C_206B_200E_206D_200C_200F_202C_202B_202A_202D_202E_202E_200E_206C_202D_200F_202E_206F_200F_206E_202C_206D_202E_202C_202E(typeof(WaitSinglePlayerDuty).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(29, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(453077313)); - defaultInterpolatedStringHandler.AppendFormatted(ContentFinderConditionId); - defaultInterpolatedStringHandler.AppendLiteral(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(424561659)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206F_200D_202E_202D_202B_206C_202E_202D_202E_206E_202B_206F_206E_200D_202B_202B_206C_206E_200F_202D_206D_206F_200E_200F_206E_200C_202A_202E_200D_202B_202A_202D_202A_202A_206D_206E_206D_202C_206F_200D_202E(); - _206E_206D_200E_200C_202C_202A_206E_202A_206D_206D_200D_200B_206A_206E_206D_202D_206D_202B_206C_200D_202E_200F_200D_202B_202C_200E_206B_200C_200B_200C_202B_206D_200D_202B_206C_206E_202C_200C_206A_202A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-547124860)); - _206E_206D_200E_200C_202C_202A_206E_202A_206D_206D_200D_200B_206A_206E_206D_202D_206D_202B_206C_200D_202E_200F_200D_202B_202C_200E_206B_200C_200B_200C_202B_206D_200D_202B_206C_206E_202C_200C_206A_202A_202E(builder, ContentFinderConditionId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(WaitSinglePlayerDuty? other) - { - int num = (((object)this == other) ? 1295617410 : 1295617411); - while (true) - { - int num2 = num; - int num3 = 1295617414; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1295617411; - break; - case 3: - num = ((!_200D_202B_202A_202B_200C_200B_202D_200B_206D_206B_200C_202C_200D_206A_200E_202C_206C_200E_200D_206A_200C_200B_200B_206A_200E_200D_200C_200F_206A_200F_200E_202D_200D_202D_206A_206A_200B_202D_200E_206C_202E(EqualityContract, other.EqualityContract)) ? 1295617415 : 1295617412); - break; - case 4: - return true; - case 2: - return EqualityComparer.Default.Equals(ContentFinderConditionId, other.ContentFinderConditionId); - case 5: - num = (((object)other == null) ? 1295617415 : 1295617413); - break; - case 1: - return false; - } - } - } - - bool IEquatable.Equals(WaitSinglePlayerDuty? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206E_200E_206D_202B_202C_202E_206B_202E_200C_202C_206B_200D_200D_200E_206E_202A_202C_206B_200E_206D_200C_200F_202C_202B_202A_202D_202E_202E_200E_206C_202D_200F_202E_206F_200F_206E_202C_206D_202E_202C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _206F_200D_202E_202D_202B_206C_202E_202D_202E_206E_202B_206F_206E_200D_202B_202B_206C_206E_200F_202D_206D_206F_200E_200F_206E_200C_202A_202E_200D_202B_202A_202D_202A_202A_206D_206E_206D_202C_206F_200D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206E_206D_200E_200C_202C_202A_206E_202A_206D_206D_200D_200B_206A_206E_206D_202D_206D_202B_206C_200D_202E_200F_200D_202B_202C_200E_206B_200C_200B_200C_202B_206D_200D_202B_206C_206E_202C_200C_206A_202A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _200D_202B_202A_202B_200C_200B_202D_200B_206D_206B_200C_202C_200D_206A_200E_202C_206C_200E_200D_206A_200C_200B_200B_206A_200E_200D_200C_200F_206A_200F_200E_202D_200D_202D_206A_206A_200B_202D_200E_206C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"Wait(BossMod, left instance {ContentFinderConditionId})"; } } @@ -919,32 +208,15 @@ internal static class SinglePlayerDuty return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe override ETaskResult Update() { - int num = ((GameMain.Instance()->CurrentContentFinderConditionId == base.Task.ContentFinderConditionId) ? (-1834918135) : (-1834918134)); - while (true) + if (GameMain.Instance()->CurrentContentFinderConditionId != base.Task.ContentFinderConditionId) { - int num2 = num; - int num3 = -1834918136; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return ETaskResult.StillRunning; - case 2: - { - string text = territoryData.GetContentFinderCondition(base.Task.ContentFinderConditionId)?.Name ?? global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-259383863); - notificationService.Notify(EInteractionType.SinglePlayerDuty, _202A_200B_200D_202C_202E_200B_206F_206E_206D_206C_206E_200D_200D_206A_206F_202A_206E_206C_200E_206D_202D_202B_202B_200D_200E_202E_202D_200C_200D_200F_200B_206A_202C_200F_200D_200C_202A_200F_200B_202E_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(735471578), text)); - return ETaskResult.TaskComplete; - } - case 0: - goto IL_00b0; - } - continue; - IL_00b0: - num = -1834918134; + string text = territoryData.GetContentFinderCondition(base.Task.ContentFinderConditionId)?.Name ?? "Single player duty"; + notificationService.Notify(EInteractionType.SinglePlayerDuty, "Single player duty complete - " + text); + return ETaskResult.TaskComplete; } + return ETaskResult.StillRunning; } public void StopNow() @@ -952,120 +224,26 @@ internal static class SinglePlayerDuty bossModIpc.DisableQuestBattleAi(); } - void IStoppableTaskExecutor.StopNow() - { - //ILSpy generated this explicit interface implementation from .override directive in StopNow - this.StopNow(); - } - public override bool ShouldInterruptOnDamage() { return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public string? GetDebugState() { - int num = (movementController.IsNavmeshReady ? 584129140 : 584129143); - while (true) + if (!movementController.IsNavmeshReady) { - int num2 = num; - int num3 = 584129141; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004b; - case 1: - return null; - case 2: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(10, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(412480717)); - defaultInterpolatedStringHandler.AppendFormatted(movementController.BuiltNavmeshPercent); - defaultInterpolatedStringHandler.AppendLiteral(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(-1723959331)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - } - continue; - IL_004b: - num = 584129143; + return $"Navmesh: {movementController.BuiltNavmeshPercent}%"; } - } - - string? IDebugStateProvider.GetDebugState() - { - //ILSpy generated this explicit interface implementation from .override directive in GetDebugState - return this.GetDebugState(); - } - - static string _202A_200B_200D_202C_202E_200B_206F_206E_206D_206C_206E_200D_200D_206A_206F_202A_206E_206C_200E_206D_202D_202B_202B_200D_200E_202E_202D_200C_200D_200F_200B_206A_202C_200F_200D_200C_202A_200F_200B_202E_202E(string P_0, string P_1) - { - return P_0 + P_1; + return null; } } internal sealed record DisableAi : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206C_202C_202C_200C_206B_202C_206E_200F_200F_200D_200E_206A_202C_200E_202E_200B_202B_200D_200F_200B_206C_200F_206D_200B_202E_202E_206F_206E_206E_206C_200C_200F_200B_200D_206A_200F_206B_200E_206A_202C_202E(typeof(DisableAi).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1704444161); - } - - [CompilerGenerated] - public bool Equals(DisableAi? other) - { - int num = (((object)this == other) ? 1927354889 : 1927354891); - while (true) - { - int num2 = num; - int num3 = 1927354888; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return true; - case 3: - num = (((object)other == null) ? 1927354890 : 1927354892); - break; - case 2: - return false; - case 0: - num = 1927354891; - break; - case 4: - return _202E_206F_200C_206E_202C_202B_206A_206B_206E_206F_206C_202C_202C_202D_200B_200E_206C_200E_200C_206D_206F_200C_200F_206A_200F_202D_200B_206B_202C_200C_200C_206E_206B_206F_200D_200E_200F_200D_202E_202D_202E(EqualityContract, other.EqualityContract); - } - } - } - - bool IEquatable.Equals(DisableAi? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206C_202C_202C_200C_206B_202C_206E_200F_200F_200D_200E_206A_202C_200E_202E_200B_202B_200D_200F_200B_206C_200F_206D_200B_202E_202E_206F_206E_206E_206C_200C_200F_200B_200D_206A_200F_206B_200E_206A_202C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static bool _202E_206F_200C_206E_202C_202B_206A_206B_206E_206F_206C_202C_202C_202D_200B_200E_206C_200E_200C_206D_206F_200C_200F_206A_200F_202D_200B_206B_202C_200C_200C_206E_206B_206F_200D_200E_200F_200D_202E_202D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "BossMod.DisableAi"; } } @@ -1090,90 +268,9 @@ internal static class SinglePlayerDuty internal sealed record SetTarget(uint DataId) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202D_202A_206A_202D_202C_206A_200F_206B_206F_200E_200C_206B_206B_200E_202D_200E_206F_206C_202C_200F_202B_202C_202E_202D_202C_206C_206A_206C_206A_206C_200C_200C_206C_202D_206B_200E_202D_200C_206C_206C_202E(typeof(SetTarget).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(11, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(214601937)); - defaultInterpolatedStringHandler.AppendFormatted(DataId); - defaultInterpolatedStringHandler.AppendLiteral(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(444206578)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206E_200C_206C_206E_200C_202D_200C_200B_200D_202C_200F_200C_202C_200B_200E_200D_200B_202C_206F_200D_200D_200D_206D_206E_206A_202C_206D_202B_206E_202B_202C_200B_200E_206C_206C_202B_202E_206B_206C_202E_202E(); - _200C_202E_206A_202E_202A_202C_202B_200D_200D_206C_200F_200C_206D_200E_202B_206C_206B_206E_206C_200C_206D_202C_202B_202D_202C_202C_206A_206C_200C_202C_200F_200E_200F_202E_206B_206E_202A_206A_202E_202E_202E(builder, 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(931106117)); - _200C_202E_206A_202E_202A_202C_202B_200D_200D_206C_200F_200C_206D_200E_202B_206C_206B_206E_206C_200C_206D_202C_202B_202D_202C_202C_206A_206C_200C_202C_200F_200E_200F_202E_206B_206E_202A_206A_202E_202E_202E(builder, DataId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(SetTarget? other) - { - int num = (((object)this == other) ? (-1091938364) : (-1091938362)); - while (true) - { - int num2 = num; - int num3 = -1091938363; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = ((!_202D_206A_202E_206B_202A_200D_206F_206C_202B_202B_202E_200F_206C_202D_206D_202A_206C_206D_206C_202A_206C_202D_200B_206B_206C_206E_202A_202C_206A_202C_206D_206E_206A_202E_206E_202E_202B_206E_206E_206F_202E(EqualityContract, other.EqualityContract)) ? (-1091938361) : (-1091938368)); - break; - case 5: - return EqualityComparer.Default.Equals(DataId, other.DataId); - case 0: - num = -1091938362; - break; - case 1: - return true; - case 2: - return false; - case 3: - num = (((object)other == null) ? (-1091938361) : (-1091938367)); - break; - } - } - } - - bool IEquatable.Equals(SetTarget? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202D_202A_206A_202D_202C_206A_200F_206B_206F_200E_200C_206B_206B_200E_202D_200E_206F_206C_202C_200F_202B_202C_202E_202D_202C_206C_206A_206C_206A_206C_200C_200C_206C_202D_206B_200E_202D_200C_206C_206C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _206E_200C_206C_206E_200C_202D_200C_200B_200D_202C_200F_200C_202C_200B_200E_200D_200B_202C_206F_200D_200D_200D_206D_206E_206A_202C_206D_202B_206E_202B_202C_200B_200E_206C_206C_202B_202E_206B_206C_202E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200C_202E_206A_202E_202A_202C_202B_200D_200D_206C_200F_200C_206D_200E_202B_206C_206B_206E_206C_200C_206D_202C_202B_202D_202C_202C_206A_206C_200C_202C_200F_200E_200F_202E_206B_206E_202A_206A_202E_202E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _202D_206A_202E_206B_202A_200D_206F_206C_202B_202B_202E_200F_206C_202D_206D_202A_206C_206D_206C_202A_206C_202D_200B_206B_206C_206E_202A_202C_206A_202C_206D_206E_206A_202E_206E_202E_202B_206E_206E_206F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"SetTarget({DataId})"; } } @@ -1186,561 +283,103 @@ internal static class SinglePlayerDuty public override ETaskResult Update() { - IGameObject gameObject = _206E_202A_206C_206C_202D_200C_206B_206A_200D_202D_200F_202C_206B_202E_202E_202C_206D_206F_202D_206D_200B_202B_206B_202D_206B_206A_206C_202D_202C_200E_206F_200E_200C_206D_202D_200F_206E_202A_202D_206D_202E(targetManager); - int num = ((((gameObject != null) ? new uint?(_202D_206E_206D_202E_200B_206B_200F_202C_206E_206B_206A_200E_202A_202E_202D_202E_202C_202E_202C_206B_202D_202B_206B_206D_206E_202B_200C_200B_206C_202C_200D_202A_206B_202D_202C_206D_206C_200F_202E_206F_202E(gameObject)) : ((uint?)null)) != base.Task.DataId) ? (-1585152087) : (-1585152081)); - IGameObject gameObject2 = default(IGameObject); - while (true) + if (targetManager.Target?.BaseId == base.Task.DataId) { - int num2 = num; - int num3 = -1585152083; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1585152081; - break; - case 4: - gameObject2 = gameFunctions.FindObjectByDataId(base.Task.DataId, null, warnIfMissing: false); - num = ((gameObject2 != null) ? (-1585152084) : (-1585152082)); - break; - case 2: - return ETaskResult.TaskComplete; - case 1: - _200C_206D_200F_202D_202C_206F_206A_206C_206A_206F_206E_206C_206C_202B_202A_200B_202A_200B_206D_206C_206E_206D_200F_202B_200C_206A_206E_202A_200B_206F_202B_202B_200E_206B_200D_206F_200B_206A_202E_202C_202E(targetManager, gameObject2); - return ETaskResult.StillRunning; - case 3: - return ETaskResult.StillRunning; - } + return ETaskResult.TaskComplete; } + IGameObject gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId, null, warnIfMissing: false); + if (gameObject == null) + { + return ETaskResult.StillRunning; + } + targetManager.Target = gameObject; + return ETaskResult.StillRunning; } public override bool ShouldInterruptOnDamage() { return false; } - - static IGameObject _206E_202A_206C_206C_202D_200C_206B_206A_200D_202D_200F_202C_206B_202E_202E_202C_206D_206F_202D_206D_200B_202B_206B_202D_206B_206A_206C_202D_202C_200E_206F_200E_200C_206D_202D_200F_206E_202A_202D_206D_202E(ITargetManager P_0) - { - return P_0.Target; - } - - static uint _202D_206E_206D_202E_200B_206B_200F_202C_206E_206B_206A_200E_202A_202E_202D_202E_202C_202E_202C_206B_202D_202B_206B_206D_206E_202B_200C_200B_206C_202C_200D_202A_206B_202D_202C_206D_206C_200F_202E_206F_202E(IGameObject P_0) - { - return P_0.BaseId; - } - - static void _200C_206D_200F_202D_202C_206F_206A_206C_206A_206F_206E_206C_206C_202B_202A_200B_202A_200B_206D_206C_206E_206D_200F_202B_200C_206A_206E_202A_200B_206F_202B_202B_200E_206B_200D_206F_200B_206A_202E_202C_202E(ITargetManager P_0, IGameObject P_1) - { - P_0.Target = P_1; - } } internal sealed record CheckDutyOutcome(ElementId QuestId, byte SequenceBeforeEntering, IReadOnlyList? VariablesBeforeEntering, IList CompletionQuestVariablesFlags, IReadOnlyList DutyTasks) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202D_200F_206B_200C_202C_200D_206D_202C_206E_206F_206C_202E_202D_206F_200D_200D_200F_200C_206F_206A_200C_200E_206F_202A_200E_202E_202B_200E_200E_206C_206D_206C_200B_202C_202E_200C_200C_202A_200F_202C_202E(typeof(CheckDutyOutcome).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2119118709); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200D_202D_202E_206C_206E_200E_206A_200E_206E_206F_200D_206D_200F_202A_206C_202A_202E_206B_206C_202D_202E_200F_200D_206C_200C_200E_206E_206C_206B_200D_206E_206A_200E_200D_202D_200F_206D_200C_202D_200D_202E(); - _202E_200B_200B_202E_206D_200F_206E_202E_202E_202A_206E_202B_206F_206D_206D_206D_202B_206C_202E_200E_206C_200C_206E_206D_200B_202B_202B_200F_206B_200D_202A_200E_206B_206D_202E_206C_202B_206A_206E_202A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(65254652)); - _206F_202E_206D_206B_206F_200C_202B_200E_206D_206E_202E_206D_200B_200B_202D_200E_200C_206F_200C_202C_202D_200F_200B_200B_200F_202E_200F_202D_200F_200E_206E_206F_202E_200D_202C_200E_202A_200F_200E_206C_202E(builder, (object)QuestId); - _202E_200B_200B_202E_206D_200F_206E_202E_202E_202A_206E_202B_206F_206D_206D_206D_202B_206C_202E_200E_206C_200C_206E_206D_200B_202B_202B_200F_206B_200D_202A_200E_206B_206D_202E_206C_202B_206A_206E_202A_202E(builder, 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(1722041938)); - _202E_200B_200B_202E_206D_200F_206E_202E_202E_202A_206E_202B_206F_206D_206D_206D_202B_206C_202E_200E_206C_200C_206E_206D_200B_202B_202B_200F_206B_200D_202A_200E_206B_206D_202E_206C_202B_206A_206E_202A_202E(builder, SequenceBeforeEntering.ToString()); - _202E_200B_200B_202E_206D_200F_206E_202E_202E_202A_206E_202B_206F_206D_206D_206D_202B_206C_202E_200E_206C_200C_206E_206D_200B_202B_202B_200F_206B_200D_202A_200E_206B_206D_202E_206C_202B_206A_206E_202A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(295162259)); - _206F_202E_206D_206B_206F_200C_202B_200E_206D_206E_202E_206D_200B_200B_202D_200E_200C_206F_200C_202C_202D_200F_200B_200B_200F_202E_200F_202D_200F_200E_206E_206F_202E_200D_202C_200E_202A_200F_200E_206C_202E(builder, (object)VariablesBeforeEntering); - _202E_200B_200B_202E_206D_200F_206E_202E_202E_202A_206E_202B_206F_206D_206D_206D_202B_206C_202E_200E_206C_200C_206E_206D_200B_202B_202B_200F_206B_200D_202A_200E_206B_206D_202E_206C_202B_206A_206E_202A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1930370304)); - _206F_202E_206D_206B_206F_200C_202B_200E_206D_206E_202E_206D_200B_200B_202D_200E_200C_206F_200C_202C_202D_200F_200B_200B_200F_202E_200F_202D_200F_200E_206E_206F_202E_200D_202C_200E_202A_200F_200E_206C_202E(builder, (object)CompletionQuestVariablesFlags); - _202E_200B_200B_202E_206D_200F_206E_202E_202E_202A_206E_202B_206F_206D_206D_206D_202B_206C_202E_200E_206C_200C_206E_206D_200B_202B_202B_200F_206B_200D_202A_200E_206B_206D_202E_206C_202B_206A_206E_202A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-369995844)); - _206F_202E_206D_206B_206F_200C_202B_200E_206D_206E_202E_206D_200B_200B_202D_200E_200C_206F_200C_202C_202D_200F_200B_200B_200F_202E_200F_202D_200F_200E_206E_206F_202E_200D_202C_200E_202A_200F_200E_206C_202E(builder, (object)DutyTasks); - return true; - } - - [CompilerGenerated] - public bool Equals(CheckDutyOutcome? other) - { - int num = (((object)this == other) ? 879204954 : 879204945); - while (true) - { - int num2 = num; - int num3 = 879204953; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 879204945; - break; - case 9: - num = ((!EqualityComparer>.Default.Equals(VariablesBeforeEntering, other.VariablesBeforeEntering)) ? 879204958 : 879204955); - break; - case 6: - num = ((!_200E_206C_202E_200E_200D_202A_206A_200D_200B_200E_202B_200F_206C_202C_206F_206A_202D_206C_206D_202A_202A_202B_202C_200B_206E_200B_206D_200C_206C_206D_206B_200B_206B_200B_202C_202E_202A_206C_200C_200E_202E(EqualityContract, other.EqualityContract)) ? 879204958 : 879204952); - break; - case 2: - num = ((!EqualityComparer>.Default.Equals(CompletionQuestVariablesFlags, other.CompletionQuestVariablesFlags)) ? 879204958 : 879204956); - break; - case 5: - return EqualityComparer>.Default.Equals(DutyTasks, other.DutyTasks); - case 1: - num = ((!EqualityComparer.Default.Equals(QuestId, other.QuestId)) ? 879204958 : 879204957); - break; - case 7: - return false; - case 3: - return true; - case 4: - num = ((!EqualityComparer.Default.Equals(SequenceBeforeEntering, other.SequenceBeforeEntering)) ? 879204958 : 879204944); - break; - case 8: - num = (((object)other == null) ? 879204958 : 879204959); - break; - } - } - } - - bool IEquatable.Equals(CheckDutyOutcome? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202D_200F_206B_200C_202C_200D_206D_202C_206E_206F_206C_202E_202D_206F_200D_200D_200F_200C_206F_206A_200C_200E_206F_202A_200E_202E_202B_200E_200E_206C_206D_206C_200B_202C_202E_200C_200C_202A_200F_202C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _200D_202D_202E_206C_206E_200E_206A_200E_206E_206F_200D_206D_200F_202A_206C_202A_202E_206B_206C_202D_202E_200F_200D_206C_200C_200E_206E_206C_206B_200D_206E_206A_200E_200D_202D_200F_206D_200C_202D_200D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202E_200B_200B_202E_206D_200F_206E_202E_202E_202A_206E_202B_206F_206D_206D_206D_202B_206C_202E_200E_206C_200C_206E_206D_200B_202B_202B_200F_206B_200D_202A_200E_206B_206D_202E_206C_202B_206A_206E_202A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206F_202E_206D_206B_206F_200C_202B_200E_206D_206E_202E_206D_200B_200B_202D_200E_200C_206F_200C_202C_202D_200F_200B_200B_200F_202E_200F_202D_200F_200E_206E_206F_202E_200D_202C_200E_202A_200F_200E_206C_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200E_206C_202E_200E_200D_202A_206A_200D_200B_200E_202B_200F_206C_202C_206F_206A_202D_206C_206D_202A_202A_202B_202C_200B_206E_200B_206D_200C_206C_206D_206B_200B_206B_200B_202C_202E_202A_206C_200C_200E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "CheckDutyOutcome"; } } internal sealed class CheckDutyOutcomeExecutor(QuestFunctions questFunctions, DutyRetryState retryState, Configuration configuration, ILogger logger) : TaskExecutor(), IExtraTaskCreator, ITaskExecutor { - [CompilerGenerated] - private sealed class _003CCreateExtraTasks_003Ed__9 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ITask _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - public CheckDutyOutcomeExecutor _003C_003E4__this; - - private IEnumerator _003C_003E7__wrap1; - - ITask IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CCreateExtraTasks_003Ed__9(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _206E_200B_202D_200C_200C_206D_206B_206D_202B_200F_206E_200F_206A_206C_202B_206A_206C_206C_206E_200C_206A_202E_206C_206B_202E_202D_200E_206F_206E_202D_200C_202C_200D_202A_206D_200C_200B_206A_206D_206E_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = ((num == -3) ? (-1813267653) : (-1813267656)); - while (true) - { - int num3 = num2; - int num4 = -1813267654; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - default: - continue; - case 0: - num2 = -1813267656; - continue; - case 2: - if (num == 1) - { - num2 = -1813267653; - continue; - } - break; - case 1: - try - { - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003C_003E7__wrap1 = null; - _003C_003E1__state = -2; - } - - private bool MoveNext() - { - try - { - int num = _003C_003E1__state; - CheckDutyOutcomeExecutor checkDutyOutcomeExecutor = _003C_003E4__this; - int num2; - switch (num) - { - default: - num2 = -1102833708; - goto IL_002c; - case 1: - _003C_003E1__state = -3; - num2 = -1102833709; - goto IL_002c; - case 0: - goto IL_011b; - case 2: - break; - IL_002c: - while (true) - { - int num3 = num2; - int num4 = -1102833705; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 4: - goto IL_006c; - case 5: - { - ITask current = _003C_003E7__wrap1.Current; - _003C_003E2__current = current; - _003C_003E1__state = 1; - return true; - } - case 7: - _003C_003Em__Finally1(); - _003C_003E7__wrap1 = null; - _003C_003E2__current = checkDutyOutcomeExecutor.Task; - _003C_003E1__state = 2; - return true; - case 3: - return false; - case 2: - goto end_IL_002c; - case 6: - goto IL_011b; - case 0: - num2 = -1102833708; - break; - case 1: - goto end_IL_000f; - } - continue; - IL_006c: - num2 = (_202E_202A_200D_200F_202E_202D_202A_206A_200C_202A_200E_202C_200C_202C_200B_202D_206B_202D_200D_200F_200D_200D_202B_200E_202B_200B_202D_200F_202B_202A_202C_200B_200E_202D_200D_200F_202D_200F_206A_206E_202E((IEnumerator)_003C_003E7__wrap1) ? (-1102833710) : (-1102833712)); - continue; - end_IL_002c: - break; - } - goto case 1; - IL_011b: - _003C_003E1__state = -1; - _003C_003E7__wrap1 = checkDutyOutcomeExecutor.Task.DutyTasks.GetEnumerator(); - _003C_003E1__state = -3; - num2 = -1102833709; - goto IL_002c; - end_IL_000f: - break; - } - _003C_003E1__state = -1; - return false; - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - int num = ((_003C_003E7__wrap1 == null) ? (-1381992250) : (-1381992251)); - while (true) - { - int num2 = num; - int num3 = -1381992249; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return; - case 2: - _200F_206B_206B_202D_202B_202A_206F_200D_206C_202C_202D_202D_202D_206F_206F_200C_200F_206C_200C_202D_206E_200F_206E_200D_202B_206D_202D_206A_202C_206F_202D_206E_206F_206A_202C_206C_206A_206E_202D_202C_202E((IDisposable)_003C_003E7__wrap1); - num = -1381992250; - break; - case 0: - num = -1381992251; - break; - } - } - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _206F_200D_200B_200C_200F_202C_200E_200C_200E_200B_202A_200C_206F_202B_200B_200B_200C_202B_200B_202B_200E_200F_206C_202A_206C_202D_206D_206C_202A_200F_202B_206D_206F_206C_206D_202C_200C_202E_206E_206E_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? 139527152 : 139527153); - _003CCreateExtraTasks_003Ed__9 result = default(_003CCreateExtraTasks_003Ed__9); - while (true) - { - int num2 = num; - int num3 = 139527155; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - _003C_003E1__state = 0; - result = this; - num = 139527155; - break; - case 2: - num = ((_003C_003El__initialThreadId != _206E_200B_202D_200C_200C_206D_206B_206D_202B_200F_206E_200F_206A_206C_202B_206A_206C_206C_206E_200C_206A_202E_206C_206B_202E_202D_200E_206F_206E_202D_200C_202C_200D_202A_206D_200C_200B_206A_206D_206E_202E()) ? 139527152 : 139527154); - break; - case 4: - num = 139527153; - break; - case 0: - return result; - case 3: - result = new _003CCreateExtraTasks_003Ed__9(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = 139527155; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _206E_200B_202D_200C_200C_206D_206B_206D_202B_200F_206E_200F_206A_206C_202B_206A_206C_206C_206E_200C_206A_202E_206C_206B_202E_202D_200E_206F_206E_202D_200C_202C_200D_202A_206D_200C_200B_206A_206D_206E_202E() - { - return Environment.CurrentManagedThreadId; - } - - static bool _202E_202A_200D_200F_202E_202D_202A_206A_200C_202A_200E_202C_200C_202C_200B_202D_206B_202D_200D_200F_200D_200D_202B_200E_202B_200B_202D_200F_202B_202A_202C_200B_200E_202D_200D_200F_202D_200F_206A_206E_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200F_206B_206B_202D_202B_202A_206F_200D_206C_202C_202D_202D_202D_206F_206F_200C_200F_206C_200C_202D_206E_200F_206E_200D_202B_206D_202D_206A_202C_206F_202D_206E_206F_206A_202C_206C_206A_206E_202D_202C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static NotSupportedException _206F_200D_200B_200C_200F_202C_200E_200C_200E_200B_202A_200C_206F_202B_200B_200B_200C_202B_200B_202B_200E_200F_206C_202A_206C_202D_206D_206C_202A_200F_202B_206D_206F_206C_206D_202C_200C_202E_206E_206E_202E() - { - return new NotSupportedException(); - } - } - private long _checkAtMs; protected override bool Start() { - _checkAtMs = _206C_206E_200E_206D_206E_202A_202E_206D_200E_202D_200B_206B_206D_206C_206C_200F_206A_202A_202C_202B_202C_202B_202A_206C_206D_202E_206A_206B_200D_202D_202B_206C_202E_202A_200F_200F_206A_202A_200C_206A_202E() + 2000; + _checkAtMs = Environment.TickCount64 + 2000; retryState.BeginAwaitingOutcome(); return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - int num = ((_206C_206E_200E_206D_206E_202A_202E_206D_200E_202D_200B_206B_206D_206C_206C_200F_206A_202A_202C_202B_202C_202B_202A_206C_206D_202E_206A_206B_200D_202D_202B_206C_202E_202A_200F_200F_206A_202A_200C_206A_202E() >= _checkAtMs) ? 1656852810 : 1656852811); - string text = default(string); - while (true) + if (Environment.TickCount64 < _checkAtMs) { - int num2 = num; - int num3 = 1656852809; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = 1656852811; - break; - case 2: - return ETaskResult.StillRunning; - case 6: - _202E_206C_206A_200C_206B_202A_200C_202C_200F_200E_206F_206F_206C_200E_200D_202B_200B_200D_206E_206E_202E_202A_202D_202D_202D_200D_206C_200F_202A_200C_200B_202C_206B_202D_200E_206F_202B_206A_200D_202B_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(237903421), Array.Empty()); - retryState.EndAwaitingOutcome(); - return ETaskResult.End; - case 3: - text = DetectSuccess(); - num = ((text == null) ? 1656852812 : 1656852808); - break; - case 1: - _202E_206C_206A_200C_206B_202A_200C_202C_200F_200E_206F_206F_206C_200E_200D_202B_200B_200D_206E_206E_202E_202A_202D_202D_202D_200D_206C_200F_202A_200C_200B_202C_206B_202D_200E_206F_202B_206A_200D_202B_202E((ILogger)logger, 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(1884362116), new object[1] { text }); - retryState.Reset(); - return ETaskResult.TaskComplete; - case 5: - { - int maxRetries = configuration.SinglePlayerDuties.MaxRetries; - num = (retryState.CanRetry(maxRetries) ? 1656852809 : 1656852815); - break; - } - case 0: - retryState.RecordRetry(); - _202E_206C_206A_200C_206B_202A_200C_202C_200F_200E_206F_206F_206C_200E_200D_202B_200B_200D_206E_206E_202E_202A_202D_202D_202D_200D_206C_200F_202A_200C_200B_202C_206B_202D_200E_206F_202B_206A_200D_202B_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(17889198), Array.Empty()); - return ETaskResult.CreateNewTasks; - } + return ETaskResult.StillRunning; } + string text = DetectSuccess(); + if (text != null) + { + logger.LogInformation("Duty succeeded ({Reason})", text); + retryState.Reset(); + return ETaskResult.TaskComplete; + } + int maxRetries = configuration.SinglePlayerDuties.MaxRetries; + if (!retryState.CanRetry(maxRetries)) + { + logger.LogInformation("Duty failed, retry limit reached or retries disabled"); + retryState.EndAwaitingOutcome(); + return ETaskResult.End; + } + retryState.RecordRetry(); + logger.LogInformation("Duty failed, retrying"); + return ETaskResult.CreateNewTasks; } - [MethodImpl(MethodImplOptions.NoInlining)] private string? DetectSuccess() { QuestProgressInfo questProgressInfo = questFunctions.GetQuestProgressInfo(base.Task.QuestId); - int num = ((questProgressInfo != null) ? (-1549389800) : (-1549389796)); - while (true) + if (questProgressInfo == null) { - int num2 = num; - int num3 = -1549389800; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = (questProgressInfo.Variables.SequenceEqual(base.Task.VariablesBeforeEntering) ? (-1549389794) : (-1549389793)); - break; - case 1: - num = ((base.Task.VariablesBeforeEntering == null) ? (-1549389794) : (-1549389797)); - break; - case 4: - return global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1354389610); - case 9: - num = ((!QuestWorkUtils.MatchesQuestWork(base.Task.CompletionQuestVariablesFlags, questProgressInfo)) ? (-1549389799) : (-1549389806)); - break; - case 8: - num = ((!QuestWorkUtils.HasCompletionFlags(base.Task.CompletionQuestVariablesFlags)) ? (-1549389799) : (-1549389807)); - break; - case 7: - return global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1360167157); - case 0: - num = ((questProgressInfo.Sequence <= base.Task.SequenceBeforeEntering) ? (-1549389808) : (-1549389795)); - break; - case 5: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(13, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(534730551)); - defaultInterpolatedStringHandler.AppendFormatted(base.Task.SequenceBeforeEntering); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-116138750)); - defaultInterpolatedStringHandler.AppendFormatted(questProgressInfo.Sequence); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - case 6: - return null; - case 10: - return 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(-181103930); - case 2: - num = -1549389796; - break; - } + return "quest completed"; } + if (questProgressInfo.Sequence > base.Task.SequenceBeforeEntering) + { + return $"sequence {base.Task.SequenceBeforeEntering} -> {questProgressInfo.Sequence}"; + } + if (QuestWorkUtils.HasCompletionFlags(base.Task.CompletionQuestVariablesFlags) && QuestWorkUtils.MatchesQuestWork(base.Task.CompletionQuestVariablesFlags, questProgressInfo)) + { + return "completion flags matched"; + } + if (base.Task.VariablesBeforeEntering != null && !questProgressInfo.Variables.SequenceEqual(base.Task.VariablesBeforeEntering)) + { + return "quest variables changed"; + } + return null; } - [IteratorStateMachine(typeof(_003CCreateExtraTasks_003Ed__9))] public IEnumerable CreateExtraTasks() { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CCreateExtraTasks_003Ed__9(-2) + foreach (ITask dutyTask in base.Task.DutyTasks) { - _003C_003E4__this = this - }; - } - - IEnumerable IExtraTaskCreator.CreateExtraTasks() - { - //ILSpy generated this explicit interface implementation from .override directive in CreateExtraTasks - return this.CreateExtraTasks(); + yield return dutyTask; + } + yield return base.Task; } public override bool ShouldInterruptOnDamage() { return false; } - - static long _206C_206E_200E_206D_206E_202A_202E_206D_200E_202D_200B_206B_206D_206C_206C_200F_206A_202A_202C_202B_202C_202B_202A_206C_206D_202E_206A_206B_200D_202D_202B_206C_202E_202A_200F_200F_206A_202A_200C_206A_202E() - { - return Environment.TickCount64; - } - - static void _202E_206C_206A_200C_206B_202A_200C_202C_200F_200E_206F_206F_206C_200E_200D_202B_200B_200D_206E_206E_202E_202A_202D_202D_202D_200D_206C_200F_202A_200C_200B_202C_206B_202D_200E_206F_202B_206A_200D_202B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } } } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/StatusOff.cs b/Questionable/Questionable.Controller.Steps.Interactions/StatusOff.cs index 4478a01..304eed7 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/StatusOff.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/StatusOff.cs @@ -1,7 +1,4 @@ using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Questionable.Functions; using Questionable.Model; using Questionable.Model.Questing; @@ -12,146 +9,27 @@ internal static class StatusOff { internal sealed class Factory : SimpleTaskFactory { - [MethodImpl(MethodImplOptions.NoInlining)] public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((_200E_200F_206A_206B_202A_202D_202D_206B_200E_200C_202E_202A_206B_202A_206E_206E_206F_202B_202B_200E_200B_202C_202D_200E_206E_200C_200B_200C_206D_206C_206D_206B_206A_200B_206D_206A_202B_200D_202C_206D_202E(step) == EInteractionType.StatusOff) ? 693666408 : 693666411); - while (true) + if (step.InteractionType != EInteractionType.StatusOff) { - int num2 = num; - int num3 = 693666410; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0048; - case 1: - return null; - case 2: - _200D_200C_200F_206F_200D_200C_206D_206C_200B_206F_200D_206D_206C_202E_200C_206F_206A_202D_206E_202C_200D_202D_200F_200E_206E_200F_206E_202E_206B_206B_202B_202D_206E_206A_206D_206F_202D_206F_206C_206B_202E((object)_200F_206B_206A_200E_200C_206E_200C_202D_206C_202B_200F_200B_202D_200F_200C_206B_200C_202C_200C_200E_206B_202A_206D_200C_206D_202A_200B_202E_202E_202A_202D_200B_206A_200B_206F_202B_206A_202E_202D_200E_202E(step), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1410720020)); - return new Task(_200F_206B_206A_200E_200C_206E_200C_202D_206C_202B_200F_200B_202D_200F_200C_206B_200C_202C_200C_200E_206B_202A_206D_200C_206D_202A_200B_202E_202E_202A_202D_200B_206A_200B_206F_202B_206A_202E_202D_200E_202E(step).Value); - } - continue; - IL_0048: - num = 693666411; + return null; } - } - - static EInteractionType _200E_200F_206A_206B_202A_202D_202D_206B_200E_200C_202E_202A_206B_202A_206E_206E_206F_202B_202B_200E_200B_202C_202D_200E_206E_200C_200B_200C_206D_206C_206D_206B_206A_200B_206D_206A_202B_200D_202C_206D_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static EStatus? _200F_206B_206A_200E_200C_206E_200C_202D_206C_202B_200F_200B_202D_200F_200C_206B_200C_202C_200C_200E_206B_202A_206D_200C_206D_202A_200B_202E_202E_202A_202D_200B_206A_200B_206F_202B_206A_202E_202D_200E_202E(QuestStep P_0) - { - return P_0.Status; - } - - static void _200D_200C_200F_206F_200D_200C_206D_206C_200B_206F_200D_206D_206C_202E_200C_206F_206A_202D_206E_202C_200D_202D_200F_200E_206E_200F_206E_202E_206B_206B_202B_202D_206E_206A_206D_206F_202D_206F_206C_206B_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); + ArgumentNullException.ThrowIfNull(step.Status, "step.Status"); + return new Task(step.Status.Value); } } internal sealed record Task(EStatus Status) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202C_206C_206E_202B_200D_206F_202A_206C_200C_200F_206C_202C_200D_202E_202D_206C_206F_202A_200F_200F_202E_200C_206F_206D_202E_202E_202E_202E_200D_202D_200F_202A_206C_202E_206A_202D_206F_200B_206A_200E_202E(typeof(Task).TypeHandle); - } - } - public bool ShouldRedoOnInterrupt() { return true; } - bool ITask.ShouldRedoOnInterrupt() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt - return this.ShouldRedoOnInterrupt(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(11, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(1347082361)); - defaultInterpolatedStringHandler.AppendFormatted(Status); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200B_206B_200D_206E_202D_200B_206F_200C_202B_200B_206A_206C_206E_202A_206C_200B_200F_200C_206B_202D_206F_202D_202E_206D_206C_206D_206D_206D_206D_206E_200B_200B_206B_206A_206E_200D_202A_206A_200C_200C_202E(); - _202A_206D_202B_202E_202C_206D_200E_206A_200C_200C_200E_202C_202E_206C_202C_200E_206F_206B_202C_202C_206F_200C_202E_206E_202A_206C_206D_200E_202B_202B_200C_200F_206D_206F_206D_206E_202D_200E_206C_202E(builder, 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(-1195039164)); - _202A_206D_202B_202E_202C_206D_200E_206A_200C_200C_200E_202C_202E_206C_202C_200E_206F_206B_202C_202C_206F_200C_202E_206E_202A_206C_206D_200E_202B_202B_200C_200F_206D_206F_206D_206E_202D_200E_206C_202E(builder, Status.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(Task? other) - { - int num = (((object)this == other) ? 1615016880 : 1615016884); - while (true) - { - int num2 = num; - int num3 = 1615016885; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - return true; - case 1: - num = (((object)other == null) ? 1615016885 : 1615016886); - break; - case 4: - num = 1615016884; - break; - case 0: - return false; - case 3: - num = ((!_206A_206F_202E_202E_200F_202A_200B_200F_202D_206D_206B_206C_206E_206D_200D_202C_200D_206C_206C_200D_200C_202B_206D_200C_206D_202D_206E_202A_206C_200F_202D_200D_206C_200D_202B_202E_202A_206B_200F_206D_202E(EqualityContract, other.EqualityContract)) ? 1615016885 : 1615016887); - break; - case 2: - return EqualityComparer.Default.Equals(Status, other.Status); - } - } - } - - bool IEquatable.Equals(Task? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202C_206C_206E_202B_200D_206F_202A_206C_200C_200F_206C_202C_200D_202E_202D_206C_206F_202A_200F_200F_202E_200C_206F_206D_202E_202E_202E_202E_200D_202D_200F_202A_206C_202E_206A_202D_206F_200B_206A_200E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _200B_206B_200D_206E_202D_200B_206F_200C_202B_200B_206A_206C_206E_202A_206C_200B_200F_200C_206B_202D_206F_202D_202E_206D_206C_206D_206D_206D_206D_206E_200B_200B_206B_206A_206E_200D_202A_206A_200C_200C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202A_206D_202B_202E_202C_206D_200E_206A_200C_200C_200E_202C_202E_206C_202C_200E_206F_206B_202C_202C_206F_200C_202E_206E_202A_206C_206D_200E_202B_202B_200C_200F_206D_206F_206D_206E_202D_200E_206C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _206A_206F_202E_202E_200F_202A_200B_200F_202D_206D_206B_206C_206E_206D_200D_202C_200D_206C_206C_200D_200C_202B_206D_200C_206D_202D_206E_202A_206C_200F_202D_200D_206C_200D_202B_202E_202A_206B_200F_206D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"StatusOff({Status})"; } } @@ -159,52 +37,20 @@ internal static class StatusOff { protected override bool Start() { - int num = ((!gameFunctions.HasStatus(base.Task.Status)) ? 1955807885 : 1955807886); - while (true) + if (gameFunctions.HasStatus(base.Task.Status)) { - int num2 = num; - int num3 = 1955807884; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0058; - case 1: - return false; - case 2: - return GameFunctions.RemoveStatus(base.Task.Status); - } - continue; - IL_0058: - num = 1955807886; + return GameFunctions.RemoveStatus(base.Task.Status); } + return false; } public override ETaskResult Update() { - int num = (gameFunctions.HasStatus(base.Task.Status) ? 2085538414 : 2085538413); - while (true) + if (!gameFunctions.HasStatus(base.Task.Status)) { - int num2 = num; - int num3 = 2085538412; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0058; - case 1: - return ETaskResult.TaskComplete; - case 2: - return ETaskResult.StillRunning; - } - continue; - IL_0058: - num = 2085538413; + return ETaskResult.TaskComplete; } + return ETaskResult.StillRunning; } public override bool ShouldInterruptOnDamage() diff --git a/Questionable/Questionable.Controller.Steps.Interactions/UnequipItem.cs b/Questionable/Questionable.Controller.Steps.Interactions/UnequipItem.cs index d82b077..4bd83ff 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/UnequipItem.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/UnequipItem.cs @@ -1,7 +1,4 @@ using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using LLib.Gear; using LLib.Inventory; using Microsoft.Extensions.Logging; @@ -14,137 +11,22 @@ internal static class UnequipItem { internal sealed class Factory : SimpleTaskFactory { - [MethodImpl(MethodImplOptions.NoInlining)] public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((_206A_202E_200F_200C_206A_200D_200E_200B_202B_206F_206B_206C_200C_206A_202C_206C_202D_200C_200C_202D_200C_206C_202C_200E_200C_206E_202B_206A_206C_206D_206C_200E_200D_202D_200F_206E_202E_200B_202B_206A_202E(step) == EInteractionType.UnequipItem) ? (-861222854) : (-861222855)); - while (true) + if (step.InteractionType != EInteractionType.UnequipItem) { - int num2 = num; - int num3 = -861222853; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004a; - case 1: - _202E_206D_200F_200D_206C_206A_202A_202B_202E_200E_206B_200C_202A_202B_200E_200F_200F_206C_202B_206F_202C_206F_200C_202C_206D_202B_202A_200E_202E_206A_200F_202D_202C_200B_206E_206A_202D_206E_202B_202A_202E((object)_202E_200F_206D_200C_202D_206D_200F_206C_206C_200E_200D_200B_200E_202B_200D_200F_200D_202D_206A_202B_200E_202B_206B_206B_202D_206C_206F_200D_200E_200D_200F_200D_202D_206B_206E_206C_200B_202E_206F_206E_202E(step), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1496371967)); - return new Task(_202E_200F_206D_200C_202D_206D_200F_206C_206C_200E_200D_200B_200E_202B_200D_200F_200D_202D_206A_202B_200E_202B_206B_206B_202D_206C_206F_200D_200E_200D_200F_200D_202D_206B_206E_206C_200B_202E_206F_206E_202E(step).Value); - case 2: - return null; - } - continue; - IL_004a: - num = -861222855; + return null; } - } - - static EInteractionType _206A_202E_200F_200C_206A_200D_200E_200B_202B_206F_206B_206C_200C_206A_202C_206C_202D_200C_200C_202D_200C_206C_202C_200E_200C_206E_202B_206A_206C_206D_206C_200E_200D_202D_200F_206E_202E_200B_202B_206A_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static uint? _202E_200F_206D_200C_202D_206D_200F_206C_206C_200E_200D_200B_200E_202B_200D_200F_200D_202D_206A_202B_200E_202B_206B_206B_202D_206C_206F_200D_200E_200D_200F_200D_202D_206B_206E_206C_200B_202E_206F_206E_202E(QuestStep P_0) - { - return P_0.ItemId; - } - - static void _202E_206D_200F_200D_206C_206A_202A_202B_202E_200E_206B_200C_202A_202B_200E_200F_200F_206C_202B_206F_202C_206F_200C_202C_206D_202B_202A_200E_202E_206A_200F_202D_202C_200B_206E_206A_202D_206E_202B_202A_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); + ArgumentNullException.ThrowIfNull(step.ItemId, "step.ItemId"); + return new Task(step.ItemId.Value); } } internal sealed record Task(uint ItemId) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200C_200D_202C_202C_200C_206D_206D_206D_200C_206C_202A_206E_202B_200B_206C_202A_200F_202D_202D_206F_202B_206F_206E_200F_200D_200B_200F_206B_206B_202B_200C_202B_202C_206A_200C_200B_202E_206E_200E_202D_202E(typeof(Task).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(9, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-582671275)); - defaultInterpolatedStringHandler.AppendFormatted(ItemId); - defaultInterpolatedStringHandler.AppendLiteral(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(424561659)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200C_200E_200E_202C_200C_202C_200D_206E_206F_206A_200D_200B_200C_202D_202E_200E_202A_206A_200B_200F_206B_202A_206E_200E_202E_206D_202E_206F_200F_200B_200F_202D_202A_206D_200E_206C_202B_200F_206F_206E_202E(); - _200F_200B_206D_200C_202E_206B_200F_206B_200E_206E_206C_206D_206F_200B_200C_200E_206D_206B_200B_206A_200F_206E_202D_202B_206E_206C_206D_200B_200E_202D_200E_206A_206F_200D_202D_202C_206A_202A_200C_202E_202E(builder, 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(-1176260912)); - _200F_200B_206D_200C_202E_206B_200F_206B_200E_206E_206C_206D_206F_200B_200C_200E_206D_206B_200B_206A_200F_206E_202D_202B_206E_206C_206D_200B_200E_202D_200E_206A_206F_200D_202D_202C_206A_202A_200C_202E_202E(builder, ItemId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(Task? other) - { - int num = (((object)this == other) ? 2131945258 : 2131945256); - while (true) - { - int num2 = num; - int num3 = 2131945259; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - return EqualityComparer.Default.Equals(ItemId, other.ItemId); - case 3: - num = (((object)other == null) ? 2131945257 : 2131945263); - break; - case 2: - return false; - case 4: - num = ((!_200B_202B_202C_206B_206C_202A_206C_200B_200C_200B_202E_200E_206C_200D_200F_200D_206C_206C_206D_200E_200B_200C_206E_206E_206B_200D_202D_202E_206A_202C_202B_206F_202B_206D_206E_202B_202B_200B_200E_206F_202E(EqualityContract, other.EqualityContract)) ? 2131945257 : 2131945262); - break; - case 0: - num = 2131945256; - break; - case 1: - return true; - } - } - } - - bool IEquatable.Equals(Task? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200C_200D_202C_202C_200C_206D_206D_206D_200C_206C_202A_206E_202B_200B_206C_202A_200F_202D_202D_206F_202B_206F_206E_200F_200D_200B_200F_206B_206B_202B_200C_202B_202C_206A_200C_200B_202E_206E_200E_202D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _200C_200E_200E_202C_200C_202C_200D_206E_206F_206A_200D_200B_200C_202D_202E_200E_202A_206A_200B_200F_206B_202A_206E_200E_202E_206D_202E_206F_200F_200B_200F_202D_202A_206D_200E_206C_202B_200F_206F_206E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200F_200B_206D_200C_202E_206B_200F_206B_200E_206E_206C_206D_206F_200B_200C_200E_206D_206B_200B_206A_200F_206E_202D_202B_206E_206C_206D_200B_200E_202D_200E_206A_206F_200D_202D_202C_206A_202A_200C_202E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _200B_202B_202C_206B_206C_202A_206C_200B_200C_200B_202E_200E_206C_200D_200F_200D_206C_206C_206D_200E_200B_200C_206E_206E_206B_200D_202D_202E_206A_202C_202B_206F_202B_206D_206E_202B_202B_200B_200E_206F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"Unequip({ItemId})"; } } @@ -154,131 +36,50 @@ internal static class UnequipItem private int _attempts; - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { - int num = _200F_200E_202E_200C_200F_202C_202B_206B_206C_202A_206E_202A_206B_200B_206B_206E_200C_200E_200D_202D_206B_202E_202A_200D_206D_206C_202C_206E_206B_206B_202D_200E_202A_202D_206D_206D_200C_202C_202D_202E(base.Task.ItemId); - int num2 = ((num >= 0) ? 206916703 : 206916700); - while (true) + int equippedItemSlot = InventoryHelper.GetEquippedItemSlot(base.Task.ItemId); + if (equippedItemSlot < 0) { - int num3 = num2; - int num4 = 206916702; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 0: - num2 = 206916700; - break; - case 3: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(50, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-547465777)); - defaultInterpolatedStringHandler.AppendFormatted(base.Task.ItemId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(271275153)); - throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 2: - _202B_206F_206B_200B_206A_202E_206C_206E_206F_202C_206B_200D_200D_202D_202E_206B_202A_202D_200D_202A_206A_200D_206A_202E_200B_202B_200B_206F_200D_206E_202B_202B_200F_202D_202A_200C_200D_206B_200B_200D_202E((ILogger)logger, 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(539896609), new object[1] { base.Task.ItemId }); - return false; - case 1: - num2 = (_206F_200E_202D_202D_202E_202B_202A_206A_206B_206B_200D_202A_202C_206B_206C_200F_200C_202B_200E_202D_202D_206B_206B_206C_206D_206B_202B_200C_200C_202D_202E_200F_206C_206F_200E_206A_206A_202D_200F_202E(num) ? 206916698 : 206916701); - break; - case 4: - _continueAt = _206B_202A_206D_200D_202C_202E_202E_200E_200E_202E_202A_202D_200D_200C_206F_202E_200F_200B_206A_202B_202C_200F_202B_202C_206A_200D_206B_206D_206D_206C_206B_200D_202A_206B_206B_206F_206B_206A_200C_202B_202E() + 1000; - _attempts = 1; - return true; - } + logger.LogDebug("Item {ItemId} is not equipped, skipping", base.Task.ItemId); + return false; } + if (!EEquipSlotCategoryExtensions.TryUnequipItem(equippedItemSlot)) + { + throw new TaskException($"Failed to unequip item {base.Task.ItemId} - armory chest may be full"); + } + _continueAt = Environment.TickCount64 + 1000; + _attempts = 1; + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - int num = ((_206B_202A_206D_200D_202C_202E_202E_200E_200E_202E_202A_202D_200D_200C_206F_202E_200F_200B_206A_202B_202C_200F_202B_202C_206A_200D_206B_206D_206D_206C_206B_200D_202A_206B_206B_206F_206B_206A_200C_202B_202E() >= _continueAt) ? 77146182 : 77146191); - int num5 = default(int); - while (true) + if (Environment.TickCount64 < _continueAt) { - int num2 = num; - int num3 = 77146190; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(36, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(-1782220482)); - defaultInterpolatedStringHandler.AppendFormatted(base.Task.ItemId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-441186023)); - defaultInterpolatedStringHandler.AppendFormatted(_attempts); - defaultInterpolatedStringHandler.AppendLiteral(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(-770584815)); - throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 1: - return ETaskResult.StillRunning; - case 5: - _continueAt = _206B_202A_206D_200D_202C_202E_202E_200E_200E_202E_202A_202D_200D_200C_206F_202E_200F_200B_206A_202B_202C_200F_202B_202C_206A_200D_206B_206D_206D_206C_206B_200D_202A_206B_206B_206F_206B_206A_200C_202B_202E() + 1000; - return ETaskResult.StillRunning; - case 2: - _206F_200E_202D_202D_202E_202B_202A_206A_206B_206B_200D_202A_202C_206B_206C_200F_200C_202B_200E_202D_202D_206B_206B_206C_206D_206B_202B_200C_200C_202D_202E_200F_206C_206F_200E_206A_206A_202D_200F_202E(num5); - num = 77146187; - break; - case 0: - { - int attempts = _attempts; - num3 = 1; - num4 = attempts; - int num6 = num4 ^ num3; - int num7 = num4 & num3; - _attempts = num6 + (num7 + num7); - num = ((_attempts <= 3) ? 77146185 : 77146184); - break; - } - case 7: - num5 = _200F_200E_202E_200C_200F_202C_202B_206B_206C_202A_206E_202A_206B_200B_206B_206E_200C_200E_200D_202D_206B_202E_202A_200D_206D_206C_202C_206E_206B_206B_202D_200E_202A_202D_206D_206D_200C_202C_202D_202E(base.Task.ItemId); - num = ((num5 < 0) ? 77146187 : 77146188); - break; - case 8: - num = (_202D_206D_206B_200D_206E_202E_206F_206B_200F_200C_202C_206D_200E_206E_202B_200C_206D_206F_200B_206E_200F_200F_200E_202B_202C_206F_200D_202C_202A_206E_206F_206A_202E_200F_206A_206E_202B_206F_202B_200F_202E(base.Task.ItemId) ? 77146190 : 77146189); - break; - case 4: - num = 77146191; - break; - case 3: - return ETaskResult.TaskComplete; - } + return ETaskResult.StillRunning; } + if (!InventoryHelper.IsItemEquipped(base.Task.ItemId)) + { + return ETaskResult.TaskComplete; + } + _attempts++; + if (_attempts > 3) + { + throw new TaskException($"Item {base.Task.ItemId} still equipped after {_attempts} attempts"); + } + int equippedItemSlot = InventoryHelper.GetEquippedItemSlot(base.Task.ItemId); + if (equippedItemSlot >= 0) + { + EEquipSlotCategoryExtensions.TryUnequipItem(equippedItemSlot); + } + _continueAt = Environment.TickCount64 + 1000; + return ETaskResult.StillRunning; } public override bool ShouldInterruptOnDamage() { return true; } - - static int _200F_200E_202E_200C_200F_202C_202B_206B_206C_202A_206E_202A_206B_200B_206B_206E_200C_200E_200D_202D_206B_202E_202A_200D_206D_206C_202C_206E_206B_206B_202D_200E_202A_202D_206D_206D_200C_202C_202D_202E(uint P_0) - { - return InventoryHelper.GetEquippedItemSlot(P_0); - } - - static void _202B_206F_206B_200B_206A_202E_206C_206E_206F_202C_206B_200D_200D_202D_202E_206B_202A_202D_200D_202A_206A_200D_206A_202E_200B_202B_200B_206F_200D_206E_202B_202B_200F_202D_202A_200C_200D_206B_200B_200D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _206F_200E_202D_202D_202E_202B_202A_206A_206B_206B_200D_202A_202C_206B_206C_200F_200C_202B_200E_202D_202D_206B_206B_206C_206D_206B_202B_200C_200C_202D_202E_200F_206C_206F_200E_206A_206A_202D_200F_202E(int P_0) - { - return EEquipSlotCategoryExtensions.TryUnequipItem(P_0); - } - - static long _206B_202A_206D_200D_202C_202E_202E_200E_200E_202E_202A_202D_200D_200C_206F_202E_200F_200B_206A_202B_202C_200F_202B_202C_206A_200D_206B_206D_206D_206C_206B_200D_202A_206B_206B_206F_206B_206A_200C_202B_202E() - { - return Environment.TickCount64; - } - - static bool _202D_206D_206B_200D_206E_202E_206F_206B_200F_200C_202C_206D_200E_206E_202B_200C_206D_206F_200B_206E_200F_200F_200E_202B_202C_206F_200D_202C_202A_206E_206F_206A_202E_200F_206A_206E_202B_206F_202B_200F_202E(uint P_0) - { - return InventoryHelper.IsItemEquipped(P_0); - } } } diff --git a/Questionable/Questionable.Controller.Steps.Interactions/UseItem.cs b/Questionable/Questionable.Controller.Steps.Interactions/UseItem.cs index bb62e3a..90c7e73 100644 --- a/Questionable/Questionable.Controller.Steps.Interactions/UseItem.cs +++ b/Questionable/Questionable.Controller.Steps.Interactions/UseItem.cs @@ -1,11 +1,7 @@ using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Globalization; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.Text.SeStringHandling; using Dalamud.Plugin.Services; @@ -27,351 +23,70 @@ internal static class UseItem { internal sealed class Factory(IClientState clientState, TerritoryData territoryData, ILogger logger) : ITaskFactory { - [CompilerGenerated] - private sealed class _003CCreateVesperBayFallbackTask_003Ed__5 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ITask _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - public Factory _003C_003E4__this; - - private uint _003CnpcId_003E5__2; - - private ushort _003CterritoryId_003E5__3; - - private Vector3 _003Cdestination_003E5__4; - - ITask IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CCreateVesperBayFallbackTask_003Ed__5(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _206E_200C_200E_202D_206F_202D_200D_206A_206E_202A_206C_206E_206B_200E_200E_206D_202A_200F_206A_206B_206E_200F_200D_206F_200C_206A_202B_202A_200B_200C_206D_202D_206E_206B_206B_206D_200C_200F_202D_202B_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - int num = _003C_003E1__state; - Factory factory = _003C_003E4__this; - switch (num) - { - default: - { - int num2 = 1011060312; - while (true) - { - int num3 = num2; - int num4 = 1011060314; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 4: - goto end_IL_0038; - case 5: - goto IL_00d6; - case 7: - goto IL_0123; - case 3: - goto IL_013e; - case 2: - return false; - case 0: - goto IL_01ac; - case 1: - goto end_IL_000f; - case 6: - num2 = 1011060312; - break; - } - continue; - end_IL_0038: - break; - } - goto case 3; - } - case 3: - { - _003C_003E1__state = -1; - ushort territoryId = _003CterritoryId_003E5__3; - Vector3 destination = _003Cdestination_003E5__4; - uint? dataId = _003CnpcId_003E5__2; - bool? sprint = false; - _003C_003E2__current = new MoveTask(territoryId, destination, null, MountRequired: false, DismountRequired: false, null, dataId, DisableNavmesh: false, sprint, Fly: false, Land: false, IgnoreDistanceToObject: false, RestartNavigation: true, EInteractionType.WalkTo); - _003C_003E1__state = 4; - return true; - } - case 4: - goto IL_00d6; - case 2: - goto IL_0123; - case 0: - goto IL_013e; - case 5: - goto IL_01ac; - case 1: - break; - IL_01ac: - _003C_003E1__state = -1; - return false; - IL_013e: - _003C_003E1__state = -1; - _206D_206E_206F_206F_200F_202D_202C_202D_206B_202D_200E_202B_202B_206B_200C_202A_202C_206F_202A_202E_202B_206A_206B_206C_200E_206A_202E_200F_202E_202C_202B_200F_202B_202A_206C_202B_206D_202B_206D_202D_202E((ILogger)factory.logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(14202332), Array.Empty()); - _003CnpcId_003E5__2 = 1003540u; - _003CterritoryId_003E5__3 = 129; - _003Cdestination_003E5__4 = new Vector3(-360.9217f, 8f, 38.92566f); - _003C_003E2__current = new AetheryteTeleport.Task(EAetheryteLocation.Limsa, _003CterritoryId_003E5__3); - _003C_003E1__state = 1; - return true; - IL_0123: - _003C_003E1__state = -1; - _003C_003E2__current = new WaitAtEnd.WaitDelay(); - _003C_003E1__state = 3; - return true; - IL_00d6: - _003C_003E1__state = -1; - _003C_003E2__current = new Interact.Task(_003CnpcId_003E5__2, null, EInteractionType.None, SkipMarkerCheck: true); - _003C_003E1__state = 5; - return true; - end_IL_000f: - break; - } - _003C_003E1__state = -1; - _003C_003E2__current = new AethernetRide.Task(EAetheryteLocation.Limsa, EAetheryteLocation.LimsaArcanist); - _003C_003E1__state = 2; - return true; - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _200C_200C_200B_206B_206A_200D_200E_202D_206A_200D_206D_206B_202E_206F_206B_206B_202E_206D_200C_206E_202C_200C_206C_202E_200E_200B_206A_206B_200B_202C_206B_206E_200C_200D_200F_200D_200D_206F_200D_202E_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? 1539034441 : 1539034442); - _003CCreateVesperBayFallbackTask_003Ed__5 result = default(_003CCreateVesperBayFallbackTask_003Ed__5); - while (true) - { - int num2 = num; - int num3 = 1539034440; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - return result; - case 2: - num = ((_003C_003El__initialThreadId != _206E_200C_200E_202D_206F_202D_200D_206A_206E_202A_206C_206E_206B_200E_200E_206D_202A_200F_206A_206B_206E_200F_200D_206F_200C_206A_202B_202A_200B_200C_206D_202D_206E_206B_206B_206D_200C_200F_202D_202B_202E()) ? 1539034441 : 1539034443); - break; - case 1: - result = new _003CCreateVesperBayFallbackTask_003Ed__5(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = 1539034444; - break; - case 3: - _003C_003E1__state = 0; - result = this; - num = 1539034444; - break; - case 0: - num = 1539034442; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _206E_200C_200E_202D_206F_202D_200D_206A_206E_202A_206C_206E_206B_200E_200E_206D_202A_200F_206A_206B_206E_200F_200D_206F_200C_206A_202B_202A_200B_200C_206D_202D_206E_206B_206B_206D_200C_200F_202D_202B_202E() - { - return Environment.CurrentManagedThreadId; - } - - static void _206D_206E_206F_206F_200F_202D_202C_202D_206B_202D_200E_202B_202B_206B_200C_202A_202C_206F_202A_202E_202B_206A_206B_206C_200E_206A_202E_200F_202E_202C_202B_200F_202B_202A_206C_202B_206D_202B_206D_202D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static NotSupportedException _200C_200C_200B_206B_206A_200D_200E_202D_206A_200D_206D_206B_202E_206F_206B_206B_202E_206D_200C_206E_202C_200C_206C_202E_200E_200B_206A_206B_200B_202C_206B_206E_200C_200D_200F_200D_200D_206F_200D_202E_202E() - { - return new NotSupportedException(); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { - EInteractionType eInteractionType = _202B_202D_206F_202E_200F_206B_206B_200E_202C_206E_200E_200C_202D_206D_202C_200F_202A_206F_206D_200C_200C_206E_200B_206A_206B_202C_206B_202D_200F_202D_202A_206C_206A_202A_200C_206B_202B_206E_200E_202E(step); - int num = ((eInteractionType == EInteractionType.SinglePlayerDuty) ? (-1534293715) : (-1534293701)); - Mount.UnmountTask unmountTask = default(Mount.UnmountTask); - bool flag = default(bool); - ITask task = default(ITask); - int num7 = default(int); - UseOnSelf useOnSelf = default(UseOnSelf); - while (true) + EInteractionType interactionType = step.InteractionType; + if ((interactionType == EInteractionType.SinglePlayerDuty || interactionType == EInteractionType.CompleteQuest) ? true : false) { - int num2 = num; - int num3 = -1534293714; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - object obj; - Vector3? vector; - switch (num5 - (num6 + num6)) + if (!step.ItemId.HasValue) { - case 7: - num = ((InventoryManager.Instance()->GetInventoryItemCount(_202D_206F_202E_206B_200B_206C_202A_202A_206B_206E_200D_200E_200D_206F_206D_200F_200D_202D_200C_206F_200C_206A_206A_206C_206E_200C_200B_206E_206C_200B_200E_206B_202C_202E_206F_206E_202A_202C_202D_206D_202E(step).Value, isHq: false, checkEquipped: true, checkArmory: true, 0) != 0) ? (-1534293698) : (-1534293717)); - break; - case 8: - unmountTask = new Mount.UnmountTask(); - num = ((_206B_202C_200E_206E_202C_206F_202E_202A_202A_200F_202A_206E_200F_200D_202E_200D_200D_200D_202C_206C_206F_206F_202C_202A_206F_200B_200E_202E_200E_200F_200C_200E_202E_202A_206F_206A_202E_202A_206B_206D_202E(step) != true) ? (-1534293702) : (-1534293727)); - break; - case 13: - num = ((!flag) ? (-1534293697) : (-1534293726)); - break; - case 17: - num = ((_202B_202D_206F_202E_200F_206B_206B_200E_202C_206E_200E_200C_202D_206D_202C_200F_202A_206F_206D_200C_200C_206E_200B_206A_206B_202C_206B_202D_200F_202D_202A_206C_206A_202A_200C_206B_202B_206E_200E_202E(step) == EInteractionType.UseItem) ? (-1534293713) : (-1534293720)); - break; - case 12: - num = (_202D_206F_202E_206B_200B_206C_202A_202A_206B_206E_200D_200E_200D_206F_206D_200F_200D_202D_200C_206F_200C_206A_206A_206C_206E_200C_200B_206E_206C_200B_200E_206B_202C_202E_206F_206E_202A_202C_202D_206D_202E(step).HasValue ? (-1534293713) : (-1534293714)); - break; - case 18: - task = new UseOnGround(quest.Id, _202B_202B_206A_202C_202E_206B_200B_206C_200B_206C_206A_206C_202E_202B_206F_200B_200D_206A_206C_202A_200E_206F_202C_206C_206D_202B_202D_206F_200D_202D_206C_206F_202A_206D_200F_200F_202D_206F_202E_200D_202E(step).Value, _202D_206F_202E_206B_200B_206C_202A_202A_206B_206E_200D_200E_200D_206F_206D_200F_200D_202D_200C_206F_200C_206A_206A_206C_206E_200C_200B_206E_206C_200B_200E_206B_202C_202E_206F_206E_202A_202C_202D_206D_202E(step).Value, _200B_206C_206F_206F_202B_202E_202C_206D_200B_200D_202A_200B_202E_206F_202A_202C_206F_202A_200C_200F_200B_202B_206A_206A_206A_206B_206A_202C_200E_202A_202B_202D_206B_206B_202C_200C_206D_200D_200F_206E_202E(step)); - num = -1534293699; - break; - case 20: - num = ((!_202B_202B_206A_202C_202E_206B_200B_206C_200B_206C_206A_206C_202E_202B_206F_200B_200D_206A_206C_202A_200E_206F_202C_206C_206D_202B_202D_206F_200D_202D_206C_206F_202A_206D_200F_200F_202D_206F_202E_200D_202E(step).HasValue) ? (-1534293718) : (-1534293728)); - break; - case 5: - return CreateVesperBayFallbackTask(); - case 15: - num = ((!_202B_202B_206A_202C_202E_206B_200B_206C_200B_206C_206A_206C_202E_202B_206F_200B_200D_206A_206C_202A_200E_206F_202C_206C_206D_202B_202D_206F_200D_202D_206C_206F_202A_206D_200F_200F_202D_206F_202E_200D_202E(step).HasValue) ? (-1534293724) : (-1534293700)); - break; - case 9: - obj = _202D_200D_202A_206F_200E_206A_202B_200C_202D_206B_200B_206A_206A_200F_206B_200B_206D_206C_202D_200E_206E_202E_202B_206B_200C_200D_200C_206D_202B_202E_200B_206E_202D_202E_200F_202E_200C_206F_206F_202E(sequence)[num7]; - goto IL_0223; - case 3: - flag = true; - num = -1534293725; - break; - case 11: - num = -1534293701; - break; - case 19: - return new global::_003C_003Ez__ReadOnlyArray(new ITask[3] - { - unmountTask, - new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(0.5)), - task - }); - case 6: return Array.Empty(); - case 14: - { - UseOnObject useOnObject = new UseOnObject(quest.Id, _202B_202B_206A_202C_202E_206B_200B_206C_200B_206C_206A_206C_202E_202B_206F_200B_200D_206A_206C_202A_200E_206F_202C_206C_206D_202B_202D_206F_200D_202D_206C_206F_202A_206D_200F_200F_202D_206F_202E_200D_202E(step).Value, _202D_206F_202E_206B_200B_206C_202A_202A_206B_206E_200D_200E_200D_206F_206D_200F_200D_202D_200C_206F_200C_206A_206A_206C_206E_200C_200B_206E_206C_200B_200E_206B_202C_202E_206F_206E_202A_202C_202D_206D_202E(step).Value, _200B_206C_206F_206F_202B_202E_202C_206D_200B_200D_202A_200B_202E_206F_202A_202C_206F_202A_200C_200F_200B_202B_206A_206A_206A_206B_206A_202C_200E_202A_202B_202D_206B_206B_202C_200C_206D_200D_200F_206E_202E(step)); - return new global::_003C_003Ez__ReadOnlyArray(new ITask[2] { unmountTask, useOnObject }); - } - case 21: - num = ((eInteractionType != EInteractionType.CompleteQuest) ? (-1534293704) : (-1534293715)); - break; - case 0: - return Array.Empty(); - case 4: - { - UseOnSelf useOnSelf2 = new UseOnSelf(quest.Id, _202D_206F_202E_206B_200B_206C_202A_202A_206B_206E_200D_200E_200D_206F_206D_200F_200D_202D_200C_206F_200C_206A_206A_206C_206E_200C_200B_206E_206C_200B_200E_206B_202C_202E_206F_206E_202A_202C_202D_206D_202E(step).Value, _200B_206C_206F_206F_202B_202E_202C_206D_200B_200D_202A_200B_202E_206F_202A_202C_206F_202A_200C_200F_200B_202B_206A_206A_206A_206B_206A_202C_200E_202A_202B_202D_206B_206B_202C_200C_206D_200D_200F_206E_202E(step)); - return new global::_003C_003Ez__ReadOnlyArray(new ITask[2] { unmountTask, useOnSelf2 }); - } - case 16: - useOnSelf = new UseOnSelf(quest.Id, _202D_206F_202E_206B_200B_206C_202A_202A_206B_206E_200D_200E_200D_206F_206D_200F_200D_202D_200C_206F_200C_206A_206A_206C_206E_200C_200B_206E_206C_200B_200E_206B_202C_202E_206F_206E_202A_202C_202D_206D_202E(step).Value, _200B_206C_206F_206F_202B_202E_202C_206D_200B_200D_202A_200B_202E_206F_202A_202C_206F_202A_200C_200F_200B_202B_206A_206A_206A_206B_206A_202C_200E_202A_202B_202D_206B_206B_202C_200C_206D_200D_200F_206E_202E(step)); - num7 = _202D_200D_202A_206F_200E_206A_202B_200C_202D_206B_200B_206A_206A_200F_206B_200B_206D_206C_202D_200E_206E_202E_202B_206B_200C_200D_200C_206D_202B_202E_200B_206E_202D_202E_200F_202E_200C_206F_206F_202E(sequence).IndexOf(step) + 1; - num = ((num7 < _202D_200D_202A_206F_200E_206A_202B_200C_202D_206B_200B_206A_206A_200F_206B_200B_206D_206C_202D_200E_206E_202E_202B_206B_200C_200D_200C_206D_202B_202E_200B_206E_202D_202E_200F_202E_200C_206F_206F_202E(sequence).Count) ? (-1534293721) : (-1534293716)); - break; - case 2: - obj = null; - goto IL_0223; - case 22: - flag = false; - num = -1534293725; - break; - case 10: - _206F_202B_200D_202A_200F_202C_200D_206D_200E_202A_206F_202B_206A_200C_202B_206C_206C_206C_206D_200E_200B_206E_206D_200D_206B_202A_202B_206E_206C_206F_206A_206A_200E_202B_200E_200F_200F_202D_206F_202B_202E((object)_206C_200E_206B_206A_206E_202B_200B_200B_202D_200D_200C_206C_200D_202A_202A_200D_206D_202C_206B_206C_200B_206E_206F_202A_202B_206F_202E_200C_206D_206C_200F_202B_202B_202A_206F_200C_200D_200F_206B_202D_202E(step), 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(843502510)); - task = new UseOnPosition(quest.Id, _206C_200E_206B_206A_206E_202B_200B_200B_202D_200D_200C_206C_200D_202A_202A_200D_206D_202C_206B_206C_200B_206E_206F_202A_202B_206F_202E_200C_206D_206C_200F_202B_202B_202A_206F_200C_200D_200F_206B_202D_202E(step).Value, _202D_206F_202E_206B_200B_206C_202A_202A_206B_206E_200D_200E_200D_206F_206D_200F_200D_202D_200C_206F_200C_206A_206A_206C_206E_200C_200B_206E_206C_200B_200E_206B_202C_202E_206F_206E_202A_202C_202D_206D_202E(step).Value, _200B_206C_206F_206F_202B_202E_202C_206D_200B_200D_202A_200B_202E_206F_202A_202C_206F_202A_200C_200F_200B_202B_206A_206A_206A_206B_206A_202C_200E_202A_202B_202D_206B_206B_202C_200C_206D_200D_200F_206E_202E(step)); - num = -1534293699; - break; - case 1: - { - _206F_202B_200D_202A_200F_202C_200D_206D_200E_202A_206F_202B_206A_200C_202B_206C_206C_206C_206D_200E_200B_206E_206D_200D_206B_202A_202B_206E_206C_206F_206A_206A_200E_202B_200E_200F_200F_202D_206F_202B_202E((object)_202D_206F_202E_206B_200B_206C_202A_202A_206B_206E_200D_200E_200D_206F_206D_200F_200D_202D_200C_206F_200C_206A_206A_206C_206E_200C_200B_206E_206C_200B_200E_206B_202C_202E_206F_206E_202A_202C_202D_206D_202E(step), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1167381922)); - num = ((_202D_206F_202E_206B_200B_206C_202A_202A_206B_206E_200D_200E_200D_206F_206D_200F_200D_202D_200C_206F_200C_206A_206A_206C_206E_200C_200B_206E_206C_200B_200E_206B_202C_202E_206F_206E_202A_202C_202D_206D_202E(step) != 30362) ? (-1534293722) : (-1534293719)); - break; - } - IL_0223: - if (obj == null) - { - obj = step; - } - vector = _206C_200E_206B_206A_206E_202B_200B_200B_202D_200D_200C_206C_200D_202A_202A_200D_206D_202C_206B_206C_200B_206E_206F_202A_202B_206F_202E_200C_206D_206C_200F_202B_202B_202A_206F_200C_200D_200F_206B_202D_202E((QuestStep)obj); - return new global::_003C_003Ez__ReadOnlyArray(new ITask[4] - { - useOnSelf, - new WaitCondition.Task(() => _202E_206C_202D_206C_200D_202D_200E_206F_206F_206F_202B_200C_206C_200B_206E_202B_200C_206B_200B_206E_206E_206B_206B_200C_206F_206D_206A_200F_200E_200E_200E_202C_202A_206B_206F_200B_200C_206D_202E_206A_202E(clientState) == 140, _206C_200E_202B_202E_202A_202A_200D_206B_200F_200D_202A_202B_206B_200E_206A_206D_206F_206F_206D_202D_202E_200D_202B_202B_200B_200D_202E_206F_202B_202D_200E_200B_200C_206F_202C_206D_202D_200B_200E_202D_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(923276170), territoryData.GetNameAndId(140u), 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(424561659))), - new Mount.MountTask(140, vector.HasValue ? Mount.EMountIf.AwayFromPosition : Mount.EMountIf.Always, vector), - new MoveTask(140, new Vector3(-408.92343f, 23.167036f, -351.16223f), null, MountRequired: false, DismountRequired: false, 0.25f, null, DisableNavmesh: true, false, Fly: false, Land: false, IgnoreDistanceToObject: false, RestartNavigation: true, EInteractionType.WalkTo) - }); } } - } - - IEnumerable ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks - return this.CreateAllTasks(quest, sequence, step); + else if (step.InteractionType != EInteractionType.UseItem) + { + return Array.Empty(); + } + ArgumentNullException.ThrowIfNull(step.ItemId, "step.ItemId"); + if (step.ItemId == 30362) + { + if (InventoryManager.Instance()->GetInventoryItemCount(step.ItemId.Value, isHq: false, checkEquipped: true, checkArmory: true, 0) == 0) + { + return CreateVesperBayFallbackTask(); + } + UseOnSelf useOnSelf = new UseOnSelf(quest.Id, step.ItemId.Value, step.CompletionQuestVariablesFlags); + int num = sequence.Steps.IndexOf(step) + 1; + Vector3? position = (((num < sequence.Steps.Count) ? sequence.Steps[num] : null) ?? step).Position; + return new global::_003C_003Ez__ReadOnlyArray(new ITask[4] + { + useOnSelf, + new WaitCondition.Task(() => clientState.TerritoryType == 140, "Wait(territory: " + territoryData.GetNameAndId(140u) + ")"), + new Mount.MountTask(140, position.HasValue ? Mount.EMountIf.AwayFromPosition : Mount.EMountIf.Always, position), + new MoveTask(140, new Vector3(-408.92343f, 23.167036f, -351.16223f), null, MountRequired: false, DismountRequired: false, 0.25f, null, DisableNavmesh: true, false, Fly: false, Land: false, IgnoreDistanceToObject: false, RestartNavigation: true, EInteractionType.WalkTo) + }); + } + Mount.UnmountTask unmountTask = new Mount.UnmountTask(); + if (step.GroundTarget == true) + { + ITask task; + if (step.DataId.HasValue) + { + task = new UseOnGround(quest.Id, step.DataId.Value, step.ItemId.Value, step.CompletionQuestVariablesFlags); + } + else + { + ArgumentNullException.ThrowIfNull(step.Position, "step.Position"); + task = new UseOnPosition(quest.Id, step.Position.Value, step.ItemId.Value, step.CompletionQuestVariablesFlags); + } + return new global::_003C_003Ez__ReadOnlyArray(new ITask[3] + { + unmountTask, + new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(0.5)), + task + }); + } + if (step.DataId.HasValue) + { + UseOnObject useOnObject = new UseOnObject(quest.Id, step.DataId.Value, step.ItemId.Value, step.CompletionQuestVariablesFlags); + return new global::_003C_003Ez__ReadOnlyArray(new ITask[2] { unmountTask, useOnObject }); + } + UseOnSelf useOnSelf2 = new UseOnSelf(quest.Id, step.ItemId.Value, step.CompletionQuestVariablesFlags); + return new global::_003C_003Ez__ReadOnlyArray(new ITask[2] { unmountTask, useOnSelf2 }); } private IEnumerable CreateVesperBayFallbackTask() { - _003CCreateVesperBayFallbackTask_003Ed__5._206D_206E_206F_206F_200F_202D_202C_202D_206B_202D_200E_202B_202B_206B_200C_202A_202C_206F_202A_202E_202B_206A_206B_206C_200E_206A_202E_200F_202E_202C_202B_200F_202B_202A_206C_202B_206D_202B_206D_202D_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(14202332), Array.Empty()); + logger.LogWarning("No vesper bay aetheryte tickets in inventory, navigating via ferry in Limsa instead"); uint npcId = 1003540u; ushort territoryId = 129; Vector3 destination = new Vector3(-360.9217f, 8f, 38.92566f); @@ -383,56 +98,6 @@ internal static class UseItem yield return new MoveTask(territoryId, destination, null, MountRequired: false, DismountRequired: false, null, dataId, DisableNavmesh: false, sprint, Fly: false, Land: false, IgnoreDistanceToObject: false, RestartNavigation: true, EInteractionType.WalkTo); yield return new Interact.Task(npcId, null, EInteractionType.None, SkipMarkerCheck: true); } - - static EInteractionType _202B_202D_206F_202E_200F_206B_206B_200E_202C_206E_200E_200C_202D_206D_202C_200F_202A_206F_206D_200C_200C_206E_200B_206A_206B_202C_206B_202D_200F_202D_202A_206C_206A_202A_200C_206B_202B_206E_200E_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static uint? _202D_206F_202E_206B_200B_206C_202A_202A_206B_206E_200D_200E_200D_206F_206D_200F_200D_202D_200C_206F_200C_206A_206A_206C_206E_200C_200B_206E_206C_200B_200E_206B_202C_202E_206F_206E_202A_202C_202D_206D_202E(QuestStep P_0) - { - return P_0.ItemId; - } - - static void _206F_202B_200D_202A_200F_202C_200D_206D_200E_202A_206F_202B_206A_200C_202B_206C_206C_206C_206D_200E_200B_206E_206D_200D_206B_202A_202B_206E_206C_206F_206A_206A_200E_202B_200E_200F_200F_202D_206F_202B_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static List _200B_206C_206F_206F_202B_202E_202C_206D_200B_200D_202A_200B_202E_206F_202A_202C_206F_202A_200C_200F_200B_202B_206A_206A_206A_206B_206A_202C_200E_202A_202B_202D_206B_206B_202C_200C_206D_200D_200F_206E_202E(QuestStep P_0) - { - return P_0.CompletionQuestVariablesFlags; - } - - static List _202D_200D_202A_206F_200E_206A_202B_200C_202D_206B_200B_206A_206A_200F_206B_200B_206D_206C_202D_200E_206E_202E_202B_206B_200C_200D_200C_206D_202B_202E_200B_206E_202D_202E_200F_202E_200C_206F_206F_202E(QuestSequence P_0) - { - return P_0.Steps; - } - - static Vector3? _206C_200E_206B_206A_206E_202B_200B_200B_202D_200D_200C_206C_200D_202A_202A_200D_206D_202C_206B_206C_200B_206E_206F_202A_202B_206F_202E_200C_206D_206C_200F_202B_202B_202A_206F_200C_200D_200F_206B_202D_202E(QuestStep P_0) - { - return P_0.Position; - } - - static string _206C_200E_202B_202E_202A_202A_200D_206B_200F_200D_202A_202B_206B_200E_206A_206D_206F_206F_206D_202D_202E_200D_202B_202B_200B_200D_202E_206F_202B_202D_200E_200B_200C_206F_202C_206D_202D_200B_200E_202D_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static bool? _206B_202C_200E_206E_202C_206F_202E_202A_202A_200F_202A_206E_200F_200D_202E_200D_200D_200D_202C_206C_206F_206F_202C_202A_206F_200B_200E_202E_200E_200F_200C_200E_202E_202A_206F_206A_202E_202A_206B_206D_202E(QuestStep P_0) - { - return P_0.GroundTarget; - } - - static uint? _202B_202B_206A_202C_202E_206B_200B_206C_200B_206C_206A_206C_202E_202B_206F_200B_200D_206A_206C_202A_200E_206F_202C_206C_206D_202B_202D_206F_200D_202D_206C_206F_202A_206D_200F_200F_202D_206F_202E_200D_202E(QuestStep P_0) - { - return P_0.DataId; - } - - static uint _202E_206C_202D_206C_200D_202D_200E_206F_206F_206F_202B_200C_206C_200B_206E_202B_200C_206B_200B_206E_206E_206B_206B_200C_206F_206D_206A_200F_200E_200E_200E_202C_202A_206B_206F_200B_200C_206D_202E_206A_202E(IClientState P_0) - { - return P_0.TerritoryType; - } } internal interface IUseItemBase : ITask @@ -462,326 +127,105 @@ internal static class UseItem protected abstract bool UseItem(); - [MethodImpl(MethodImplOptions.NoInlining)] protected unsafe override bool Start() { InventoryManager* intPtr = InventoryManager.Instance(); if (intPtr == null) { - throw new TaskException(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2059803831)); + throw new TaskException("No InventoryManager"); } - int num = ((intPtr->GetInventoryItemCount(ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0) != 0) ? (-144142272) : (-144142269)); - while (true) + if (intPtr->GetInventoryItemCount(ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0) == 0) { - int num2 = num; - int num3 = -144142270; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => _usedItem = UseItem()); - _usedItemAt = _200E_206D_202C_200D_202B_206E_202E_202C_206A_206A_206A_202B_202B_200E_206D_202D_206E_202C_206F_200D_200D_206A_202B_206D_206D_202E_206B_206E_202E_200D_200D_200E_202C_202D_206A_202D_202C_200F_206D_206D_202E(); - _continueAt = _200E_206D_202C_200D_202B_206E_202E_202C_206A_206A_206A_202B_202B_200E_206D_202D_206E_202C_206F_200D_200D_206A_202B_206D_206D_202E_206B_206E_202E_200D_200D_200E_202C_202D_206A_202D_202C_200F_206D_206D_202E() + GetRetryDelayMs(); - return true; - case 1: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(45, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1123294576)); - defaultInterpolatedStringHandler.AppendFormatted(ItemId); - defaultInterpolatedStringHandler.AppendLiteral(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(706546884)); - throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 0: - goto IL_00ea; - } - continue; - IL_00ea: - num = -144142269; + throw new TaskException($"Don't have any {ItemId} in inventory (checks NQ only)"); } + base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => _usedItem = UseItem()); + _usedItemAt = Environment.TickCount64; + _continueAt = Environment.TickCount64 + GetRetryDelayMs(); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - QuestId questId = base.Task.QuestId as QuestId; - int num = (((object)questId == null) ? 825457812 : 825457794); - QuestProgressInfo questProgressInfo = default(QuestProgressInfo); - while (true) + if (base.Task.QuestId is QuestId elementId && QuestWorkUtils.HasCompletionFlags(base.Task.CompletionQuestVariablesFlags)) { - int num2 = num; - int num3 = 825457810; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + QuestProgressInfo questProgressInfo = _003CquestFunctions_003EP.GetQuestProgressInfo(elementId); + if (questProgressInfo != null && QuestWorkUtils.MatchesQuestWork(base.Task.CompletionQuestVariablesFlags, questProgressInfo)) { - case 20: - questProgressInfo = _003CquestFunctions_003EP.GetQuestProgressInfo(questId); - num = ((questProgressInfo == null) ? 825457812 : 825457817); - break; - case 16: - num = ((!QuestWorkUtils.HasCompletionFlags(base.Task.CompletionQuestVariablesFlags)) ? 825457812 : 825457798); - break; - case 15: - num = ((!base.Task.StartingCombat) ? 825457815 : 825457795); - break; - case 19: - _errorToastReceived = false; - ResetProgressTimer(); - num = 825457813; - break; - case 10: - return ETaskResult.TaskComplete; - case 11: - num = ((!QuestWorkUtils.MatchesQuestWork(base.Task.CompletionQuestVariablesFlags, questProgressInfo)) ? 825457812 : 825457792); - break; - case 4: - base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => _usedItem = UseItem()); - _usedItemAt = _200E_206D_202C_200D_202B_206E_202E_202C_206A_206A_206A_202B_202B_200E_206D_202D_206E_202C_206F_200D_200D_206A_202B_206D_206D_202E_206B_206E_202E_200D_200D_200E_202C_202D_206A_202D_202C_200F_206D_206D_202E(); - _continueAt = _200E_206D_202C_200D_202B_206E_202E_202C_206A_206A_206A_202B_202B_200E_206D_202D_206E_202C_206F_200D_200D_206A_202B_206D_206D_202E_206B_206E_202E_200D_200D_200E_202C_202D_206A_202D_202C_200F_206D_206D_202E() + GetRetryDelayMs(); - return ETaskResult.StillRunning; - case 12: - num = (_usedItem ? 825457816 : 825457814); - break; - case 14: - num = ((!_errorToastReceived) ? 825457822 : 825457811); - break; - case 18: ResetProgressTimer(); return ETaskResult.TaskComplete; - case 0: - num = ((!base.ProgressContext.WasSuccessful()) ? 825457813 : 825457793); - break; - case 1: - _206B_202A_206B_200B_202B_206A_206F_200B_200C_206C_200B_202B_206A_206E_202C_200D_202B_206F_206A_206F_206B_206E_202E_200C_200C_206F_202B_202C_202C_202C_206E_202C_202D_206C_202D_202A_206A_206C_200B_206B_202E(_003Clogger_003EP, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(390633160), new object[1] { ItemId }); - _usedItem = false; - _errorToastReceived = false; - return ETaskResult.StillRunning; - case 13: - ResetProgressTimer(); - return ETaskResult.TaskComplete; - case 6: - num = ((_200E_206D_202C_200D_202B_206E_202E_202C_206A_206A_206A_202B_202B_200E_206D_202D_206E_202C_206F_200D_200D_206A_202B_206D_206D_202E_206B_206E_202E_200D_200D_200E_202C_202D_206A_202D_202C_200F_206D_206D_202E() > _continueAt) ? 825457821 : 825457819); - break; - case 8: - _206B_202A_206B_200B_202B_206A_206F_200B_200C_206C_200B_202B_206A_206E_202C_200D_202B_206F_206A_206F_206B_206E_202E_200C_200C_206F_202B_202C_202C_202C_206E_202C_202D_206C_202D_202A_206A_206C_200B_206B_202E(_003Clogger_003EP, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-652120701), new object[1] { ItemId }); - _usedItem = false; - _errorToastReceived = false; - return ETaskResult.StillRunning; - case 7: - num = ((!_usedItem) ? 825457822 : 825457820); - break; - case 2: - num = ((!base.ProgressContext.WasInterrupted()) ? 825457810 : 825457818); - break; - case 9: - return ETaskResult.StillRunning; - case 17: - num = ((!_206D_200E_206D_202C_200B_200F_200F_200D_200E_202E_206B_202A_200F_200C_200D_202C_206B_202D_202B_206C_202C_202D_202C_200C_200B_206B_206D_206D_202C_202A_200B_206A_200C_200E_202D_202B_202D_202B_206E_206D_202E(_003Ccondition_003EP, ConditionFlag.InCombat)) ? 825457815 : 825457823); - break; - case 3: - num = 825457794; - break; - case 5: - num = ((base.ProgressContext == null) ? 825457813 : 825457808); - break; } } + if (Environment.TickCount64 <= _continueAt) + { + return ETaskResult.StillRunning; + } + if (base.Task.StartingCombat && _003Ccondition_003EP[ConditionFlag.InCombat]) + { + ResetProgressTimer(); + return ETaskResult.TaskComplete; + } + if (base.ProgressContext != null) + { + if (base.ProgressContext.WasInterrupted()) + { + _003Clogger_003EP.LogDebug("Item use {ItemId} was interrupted", ItemId); + _usedItem = false; + _errorToastReceived = false; + return ETaskResult.StillRunning; + } + if (base.ProgressContext.WasSuccessful()) + { + _errorToastReceived = false; + ResetProgressTimer(); + } + } + if (_usedItem && _errorToastReceived) + { + _003Clogger_003EP.LogDebug("Item {ItemId} use failed (error toast received), retrying", ItemId); + _usedItem = false; + _errorToastReceived = false; + return ETaskResult.StillRunning; + } + if (!_usedItem) + { + base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => _usedItem = UseItem()); + _usedItemAt = Environment.TickCount64; + _continueAt = Environment.TickCount64 + GetRetryDelayMs(); + return ETaskResult.StillRunning; + } + return ETaskResult.TaskComplete; } private long GetRetryDelayMs() { - int num = ((ItemId != 30362) ? (-1735326033) : (-1735326036)); - while (true) + if (ItemId == 30362) { - int num2 = num; - int num3 = -1735326035; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004d; - case 1: - return 11000L; - case 2: - return 5000L; - } - continue; - IL_004d: - num = -1735326036; + return 11000L; } + return 5000L; } - [MethodImpl(MethodImplOptions.NoInlining)] public bool OnErrorToast(SeString message) { - int num = ((!_usedItem) ? 181701879 : 181701876); - while (true) + if (_usedItem && Environment.TickCount64 - _usedItemAt < 2000) { - int num2 = num; - int num3 = 181701878; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 181701876; - break; - case 2: - num = ((_200E_206D_202C_200D_202B_206E_202E_202C_206A_206A_206A_202B_202B_200E_206D_202D_206E_202C_206F_200D_200D_206A_202B_206D_206D_202E_206B_206E_202E_200D_200D_200E_202C_202D_206A_202D_202C_200F_206D_206D_202E() - _usedItemAt >= 2000) ? 181701879 : 181701877); - break; - case 3: - _206B_202A_206B_200B_202B_206A_206F_200B_200C_206C_200B_202B_206A_206E_202C_200D_202B_206F_206A_206F_206B_206E_202E_200C_200C_206F_202B_202C_202C_202C_206E_202C_202D_206C_202D_202A_206A_206C_200B_206B_202E(_003Clogger_003EP, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1034289192), new object[1] { message }); - _errorToastReceived = true; - num = 181701879; - break; - case 1: - return false; - } + _003Clogger_003EP.LogDebug("Error toast during item use: {Message}", message); + _errorToastReceived = true; } - } - - bool IToastAware.OnErrorToast(SeString message) - { - //ILSpy generated this explicit interface implementation from .override directive in OnErrorToast - return this.OnErrorToast(message); + return false; } public override bool ShouldInterruptOnDamage() { return true; } - - static long _200E_206D_202C_200D_202B_206E_202E_202C_206A_206A_206A_202B_202B_200E_206D_202D_206E_202C_206F_200D_200D_206A_202B_206D_206D_202E_206B_206E_202E_200D_200D_200E_202C_202D_206A_202D_202C_200F_206D_206D_202E() - { - return Environment.TickCount64; - } - - static bool _206D_200E_206D_202C_200B_200F_200F_200D_200E_202E_206B_202A_200F_200C_200D_202C_206B_202D_202B_206C_202C_202D_202C_200C_200B_206B_206D_206D_202C_202A_200B_206A_200C_200E_202D_202B_202D_202B_206E_206D_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static void _206B_202A_206B_200B_202B_206A_206F_200B_200C_206C_200B_202B_206A_206E_202C_200D_202B_206F_206A_206F_206B_206E_202E_200C_200C_206F_202B_202C_202C_202C_206E_202C_202D_206C_202D_202A_206A_206C_200B_206B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } } internal sealed record UseOnGround(ElementId? QuestId, uint DataId, uint ItemId, IList CompletionQuestVariablesFlags, bool StartingCombat = false) : IUseItemBase, ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206C_202D_202C_200F_202D_202A_206F_200B_202E_202C_200F_202D_200F_202D_206A_206D_206E_206D_200E_202D_202A_202B_206F_200B_202E_206A_206E_200B_202E_202A_202D_202A_206C_202E_206A_206B_206C_200E_200F_202D_202E(typeof(UseOnGround).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(23, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-591224418)); - defaultInterpolatedStringHandler.AppendFormatted(ItemId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-103312242)); - defaultInterpolatedStringHandler.AppendFormatted(DataId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200E_202D_206E_200F_200D_206D_202B_202E_200C_202A_206F_202C_206B_202E_200B_206F_202E_200C_202C_200D_202B_202B_206B_202B_206B_206B_202A_206F_202A_200E_206C_206B_200D_202B_206E_200D_202E_202E_202B_206C_202E(); - _200B_206D_206E_200C_202D_202B_200E_206A_206F_200B_202D_200C_200D_202B_206E_202B_202E_206D_202E_202C_206D_206B_200B_202D_206D_200B_200D_200B_200D_200F_202D_206B_206D_200D_200F_206A_200B_202D_202D_200D_202E(builder, 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(397591495)); - _206B_206A_206C_206C_200C_200E_202E_200F_200C_202B_200E_202D_206D_206A_202C_206A_202B_200E_200B_200F_206A_202B_206F_200F_202E_202C_200E_200D_202B_202B_202A_202C_206C_200D_202D_200F_202B_206C_200B_202D_202E(builder, (object?)QuestId); - _200B_206D_206E_200C_202D_202B_200E_206A_206F_200B_202D_200C_200D_202B_206E_202B_202E_206D_202E_202C_206D_206B_200B_202D_206D_200B_200D_200B_200D_200F_202D_206B_206D_200D_200F_206A_200B_202D_202D_200D_202E(builder, 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(97441196)); - _200B_206D_206E_200C_202D_202B_200E_206A_206F_200B_202D_200C_200D_202B_206E_202B_202E_206D_202E_202C_206D_206B_200B_202D_206D_200B_200D_200B_200D_200F_202D_206B_206D_200D_200F_206A_200B_202D_202D_200D_202E(builder, DataId.ToString()); - _200B_206D_206E_200C_202D_202B_200E_206A_206F_200B_202D_200C_200D_202B_206E_202B_202E_206D_202E_202C_206D_206B_200B_202D_206D_200B_200D_200B_200D_200F_202D_206B_206D_200D_200F_206A_200B_202D_202D_200D_202E(builder, 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(1061931861)); - _200B_206D_206E_200C_202D_202B_200E_206A_206F_200B_202D_200C_200D_202B_206E_202B_202E_206D_202E_202C_206D_206B_200B_202D_206D_200B_200D_200B_200D_200F_202D_206B_206D_200D_200F_206A_200B_202D_202D_200D_202E(builder, ItemId.ToString()); - _200B_206D_206E_200C_202D_202B_200E_206A_206F_200B_202D_200C_200D_202B_206E_202B_202E_206D_202E_202C_206D_206B_200B_202D_206D_200B_200D_200B_200D_200F_202D_206B_206D_200D_200F_206A_200B_202D_202D_200D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1595351351)); - _206B_206A_206C_206C_200C_200E_202E_200F_200C_202B_200E_202D_206D_206A_202C_206A_202B_200E_200B_200F_206A_202B_206F_200F_202E_202C_200E_200D_202B_202B_202A_202C_206C_200D_202D_200F_202B_206C_200B_202D_202E(builder, (object?)CompletionQuestVariablesFlags); - _200B_206D_206E_200C_202D_202B_200E_206A_206F_200B_202D_200C_200D_202B_206E_202B_202E_206D_202E_202C_206D_206B_200B_202D_206D_200B_200D_200B_200D_200F_202D_206B_206D_200D_200F_206A_200B_202D_202D_200D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1965435376)); - _200B_206D_206E_200C_202D_202B_200E_206A_206F_200B_202D_200C_200D_202B_206E_202B_202E_206D_202E_202C_206D_206B_200B_202D_206D_200B_200D_200B_200D_200F_202D_206B_206D_200D_200F_206A_200B_202D_202D_200D_202E(builder, StartingCombat.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(UseOnGround? other) - { - int num = (((object)this == other) ? 1460107890 : 1460107894); - while (true) - { - int num2 = num; - int num3 = 1460107893; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - num = ((!EqualityComparer.Default.Equals(ItemId, other.ItemId)) ? 1460107900 : 1460107893); - break; - case 3: - num = (((object)other == null) ? 1460107900 : 1460107888); - break; - case 6: - return EqualityComparer.Default.Equals(StartingCombat, other.StartingCombat); - case 4: - num = ((!EqualityComparer.Default.Equals(QuestId, other.QuestId)) ? 1460107900 : 1460107895); - break; - case 7: - return true; - case 5: - num = ((!_206C_202C_202C_202C_202A_200F_200D_202A_202D_202D_206F_202A_200F_200C_200F_200F_206E_202C_206C_200C_202A_200F_206E_202B_200B_202A_206C_206D_206E_206A_206E_200D_200B_202C_202A_206A_206A_200E_206E_206D_202E(EqualityContract, other.EqualityContract)) ? 1460107900 : 1460107889); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(DataId, other.DataId)) ? 1460107900 : 1460107892); - break; - case 8: - num = 1460107894; - break; - case 9: - return false; - case 0: - num = ((!EqualityComparer>.Default.Equals(CompletionQuestVariablesFlags, other.CompletionQuestVariablesFlags)) ? 1460107900 : 1460107891); - break; - } - } - } - - bool IEquatable.Equals(UseOnGround? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type? _206C_202D_202C_200F_202D_202A_206F_200B_202E_202C_200F_202D_200F_202D_206A_206D_206E_206D_200E_202D_202A_202B_206F_200B_202E_206A_206E_200B_202E_202A_202D_202A_206C_202E_206A_206B_206C_200E_200F_202D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _200E_202D_206E_200F_200D_206D_202B_202E_200C_202A_206F_202C_206B_202E_200B_206F_202E_200C_202C_200D_202B_202B_206B_202B_206B_206B_202A_206F_202A_200E_206C_206B_200D_202B_206E_200D_202E_202E_202B_206C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder? _200B_206D_206E_200C_202D_202B_200E_206A_206F_200B_202D_200C_200D_202B_206E_202B_202E_206D_202E_202C_206D_206B_200B_202D_206D_200B_200D_200B_200D_200F_202D_206B_206D_200D_200F_206A_200B_202D_202D_200D_202E(StringBuilder? P_0, string? P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder? _206B_206A_206C_206C_200C_200E_202E_200F_200C_202B_200E_202D_206D_206A_202C_206A_202B_200E_200B_200F_206A_202B_206F_200F_202E_202C_200E_200D_202B_202B_202A_202C_206C_200D_202D_200F_202B_206C_200B_202D_202E(StringBuilder? P_0, object? P_1) - { - return P_0.Append(P_1); - } - - static bool _206C_202C_202C_202C_202A_200F_200D_202A_202D_202D_206F_202A_200F_200C_200F_200F_206E_202C_206C_200C_202A_200F_206E_202B_200B_202A_206C_206D_206E_206A_206E_200D_200B_202C_202A_206A_206A_200E_206E_206D_202E(Type? P_0, Type? P_1) - { - return P_0 == P_1; + return $"UseItem({ItemId} on ground at {DataId})"; } } @@ -801,122 +245,9 @@ internal static class UseItem internal sealed record UseOnPosition(ElementId? QuestId, Vector3 Position, uint ItemId, IList CompletionQuestVariablesFlags, bool StartingCombat = false) : IUseItemBase, ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206B_202A_206F_206D_202C_202A_202E_206C_200B_200D_206E_200B_200D_206A_200C_202D_206E_206A_200C_206F_200B_202A_200D_200E_206E_202B_200B_206D_200C_202A_200D_206E_206B_206E_200E_206F_200E_206F_202C_200F_202E(typeof(UseOnPosition).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(23, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(1918970186)); - defaultInterpolatedStringHandler.AppendFormatted(ItemId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-322006827)); - defaultInterpolatedStringHandler.AppendFormatted(Position.ToString(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1450220880), _200B_200E_206B_206C_202C_202B_202C_200F_206D_202A_202C_202B_202C_206E_202B_206A_200B_206D_206C_206F_200C_200C_202C_200D_206B_206D_202B_200B_206A_200E_202E_206B_202D_202A_206C_202C_206B_206D_202A_206F_202E())); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202A_202E_200D_206A_206A_202E_200E_202D_202A_200E_206A_202E_200B_206D_202C_202B_202E_202A_202D_206B_200F_200C_200D_206F_206E_202C_206F_202E_206B_200F_200D_206E_206B_202E_202C_206E_200E_200B_202C_202A_202E(); - _200D_200E_206D_200C_206A_206F_200C_206B_200B_202E_202D_200E_206D_200F_202D_202B_200D_200F_206F_200F_202A_202D_206C_202B_206E_202B_206A_206E_206D_206A_206D_206A_202C_206A_200B_200E_206E_206D_206F_200C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(65254652)); - _202D_202C_206D_200D_200C_200E_202B_202D_206F_202A_200F_200B_202D_200F_202D_202C_206A_202D_200C_206F_206A_202B_206A_202B_200C_206B_200E_200E_200B_206A_200E_202E_202E_202C_206D_200F_202C_206B_200C_206E_202E(builder, (object?)QuestId); - _200D_200E_206D_200C_206A_206F_200C_206B_200B_202E_202D_200E_206D_200F_202D_202B_200D_200F_206F_200F_202A_202D_206C_202B_206E_202B_206A_206E_206D_206A_206D_206A_202C_206A_200B_200E_206E_206D_206F_200C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1993330002)); - _200D_200E_206D_200C_206A_206F_200C_206B_200B_202E_202D_200E_206D_200F_202D_202B_200D_200F_206F_200F_202A_202D_206C_202B_206E_202B_206A_206E_206D_206A_206D_206A_202C_206A_200B_200E_206E_206D_206F_200C_202E(builder, Position.ToString()); - _200D_200E_206D_200C_206A_206F_200C_206B_200B_202E_202D_200E_206D_200F_202D_202B_200D_200F_206F_200F_202A_202D_206C_202B_206E_202B_206A_206E_206D_206A_206D_206A_202C_206A_200B_200E_206E_206D_206F_200C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1085623692)); - _200D_200E_206D_200C_206A_206F_200C_206B_200B_202E_202D_200E_206D_200F_202D_202B_200D_200F_206F_200F_202A_202D_206C_202B_206E_202B_206A_206E_206D_206A_206D_206A_202C_206A_200B_200E_206E_206D_206F_200C_202E(builder, ItemId.ToString()); - _200D_200E_206D_200C_206A_206F_200C_206B_200B_202E_202D_200E_206D_200F_202D_202B_200D_200F_206F_200F_202A_202D_206C_202B_206E_202B_206A_206E_206D_206A_206D_206A_202C_206A_200B_200E_206E_206D_206F_200C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2004134170)); - _202D_202C_206D_200D_200C_200E_202B_202D_206F_202A_200F_200B_202D_200F_202D_202C_206A_202D_200C_206F_206A_202B_206A_202B_200C_206B_200E_200E_200B_206A_200E_202E_202E_202C_206D_200F_202C_206B_200C_206E_202E(builder, (object?)CompletionQuestVariablesFlags); - _200D_200E_206D_200C_206A_206F_200C_206B_200B_202E_202D_200E_206D_200F_202D_202B_200D_200F_206F_200F_202A_202D_206C_202B_206E_202B_206A_206E_206D_206A_206D_206A_202C_206A_200B_200E_206E_206D_206F_200C_202E(builder, 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(-27417538)); - _200D_200E_206D_200C_206A_206F_200C_206B_200B_202E_202D_200E_206D_200F_202D_202B_200D_200F_206F_200F_202A_202D_206C_202B_206E_202B_206A_206E_206D_206A_206D_206A_202C_206A_200B_200E_206E_206D_206F_200C_202E(builder, StartingCombat.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(UseOnPosition? other) - { - int num = (((object)this == other) ? 495262041 : 495262040); - while (true) - { - int num2 = num; - int num3 = 495262033; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - num = 495262040; - break; - case 5: - return EqualityComparer.Default.Equals(StartingCombat, other.StartingCombat); - case 9: - num = (((object)other == null) ? 495262034 : 495262038); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(Position, other.Position)) ? 495262034 : 495262035); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(ItemId, other.ItemId)) ? 495262034 : 495262033); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(QuestId, other.QuestId)) ? 495262034 : 495262037); - break; - case 8: - return true; - case 0: - num = ((!EqualityComparer>.Default.Equals(CompletionQuestVariablesFlags, other.CompletionQuestVariablesFlags)) ? 495262034 : 495262036); - break; - case 7: - num = ((!_202B_206A_200D_206F_206C_206B_206D_200F_206A_202E_206E_200E_202C_202A_200C_202B_206C_206E_206C_202C_206E_202C_200E_206F_202B_200F_206F_200F_202B_202C_206C_206D_200D_206A_206F_200B_200C_206A_200D_200C_202E(EqualityContract, other.EqualityContract)) ? 495262034 : 495262032); - break; - case 3: - return false; - } - } - } - - bool IEquatable.Equals(UseOnPosition? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type? _206B_202A_206F_206D_202C_202A_202E_206C_200B_200D_206E_200B_200D_206A_200C_202D_206E_206A_200C_206F_200B_202A_200D_200E_206E_202B_200B_206D_200C_202A_200D_206E_206B_206E_200E_206F_200E_206F_202C_200F_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static CultureInfo? _200B_200E_206B_206C_202C_202B_202C_200F_206D_202A_202C_202B_202C_206E_202B_206A_200B_206D_206C_206F_200C_200C_202C_200D_206B_206D_202B_200B_206A_200E_202E_206B_202D_202A_206C_202C_206B_206D_202A_206F_202E() - { - return CultureInfo.InvariantCulture; - } - - static void _202A_202E_200D_206A_206A_202E_200E_202D_202A_200E_206A_202E_200B_206D_202C_202B_202E_202A_202D_206B_200F_200C_200D_206F_206E_202C_206F_202E_206B_200F_200D_206E_206B_202E_202C_206E_200E_200B_202C_202A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder? _200D_200E_206D_200C_206A_206F_200C_206B_200B_202E_202D_200E_206D_200F_202D_202B_200D_200F_206F_200F_202A_202D_206C_202B_206E_202B_206A_206E_206D_206A_206D_206A_202C_206A_200B_200E_206E_206D_206F_200C_202E(StringBuilder? P_0, string? P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder? _202D_202C_206D_200D_200C_200E_202B_202D_206F_202A_200F_200B_202D_200F_202D_202C_206A_202D_200C_206F_206A_202B_206A_202B_200C_206B_200E_200E_200B_206A_200E_202E_202E_202C_206D_200F_202C_206B_200C_206E_202E(StringBuilder? P_0, object? P_1) - { - return P_0.Append(P_1); - } - - static bool _202B_206A_200D_206F_206C_206B_206D_200F_206A_202E_206E_200E_202C_202A_200C_202B_206C_206E_206C_202C_206E_202C_200E_206F_202B_200F_206F_200F_202B_202C_206C_206D_200D_206A_206F_200B_200C_206A_200D_200C_202E(Type? P_0, Type? P_1) - { - return P_0 == P_1; + return $"UseItem({ItemId} on ground at {Position.ToString("G", CultureInfo.InvariantCulture)})"; } } @@ -936,117 +267,9 @@ internal static class UseItem internal sealed record UseOnObject(ElementId? QuestId, uint DataId, uint ItemId, IList CompletionQuestVariablesFlags, bool StartingCombat = false) : IUseItemBase, ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206D_206C_200B_206B_206F_202B_206B_206E_200F_202E_200F_206A_206D_206F_206B_202B_200D_200C_206A_206B_206C_202C_200C_200B_206C_202E_202D_206F_202D_206D_202E_202D_202B_206C_206B_200B_206C_200C_200B_202E_202E(typeof(UseOnObject).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(13, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(-771729059)); - defaultInterpolatedStringHandler.AppendFormatted(ItemId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1909105457)); - defaultInterpolatedStringHandler.AppendFormatted(DataId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206A_206B_202C_202A_206B_200C_206A_202A_206A_206F_206C_206A_202B_202D_206F_202B_202C_200B_202A_206C_200D_206C_202E_202E_200F_200C_200E_206A_202E_202D_206A_200F_202D_206C_202E_206F_206C_206C_202E_200E_202E(); - _202D_206D_202A_202A_200B_206A_200C_200F_200F_200D_202B_202B_206C_200F_202B_200C_202D_200E_206F_206A_206D_202A_206C_202E_200F_202A_206F_206D_200C_206E_202C_200E_202D_202C_206E_202D_200F_202B_206E_202A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(65254652)); - _206D_202D_206A_200D_200D_202A_200E_200E_206A_206D_202E_202B_202B_202E_200D_202D_202A_206D_202B_200D_202D_202D_206D_202A_200F_200D_206F_206D_202B_206F_206F_206F_200D_200B_200D_202B_206D_206B_206D_206C_202E(builder, (object?)QuestId); - _202D_206D_202A_202A_200B_206A_200C_200F_200F_200D_202B_202B_206C_200F_202B_200C_202D_200E_206F_206A_206D_202A_206C_202E_200F_202A_206F_206D_200C_206E_202C_200E_202D_202C_206E_202D_200F_202B_206E_202A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-223784845)); - _202D_206D_202A_202A_200B_206A_200C_200F_200F_200D_202B_202B_206C_200F_202B_200C_202D_200E_206F_206A_206D_202A_206C_202E_200F_202A_206F_206D_200C_206E_202C_200E_202D_202C_206E_202D_200F_202B_206E_202A_202E(builder, DataId.ToString()); - _202D_206D_202A_202A_200B_206A_200C_200F_200F_200D_202B_202B_206C_200F_202B_200C_202D_200E_206F_206A_206D_202A_206C_202E_200F_202A_206F_206D_200C_206E_202C_200E_202D_202C_206E_202D_200F_202B_206E_202A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-829358037)); - _202D_206D_202A_202A_200B_206A_200C_200F_200F_200D_202B_202B_206C_200F_202B_200C_202D_200E_206F_206A_206D_202A_206C_202E_200F_202A_206F_206D_200C_206E_202C_200E_202D_202C_206E_202D_200F_202B_206E_202A_202E(builder, ItemId.ToString()); - _202D_206D_202A_202A_200B_206A_200C_200F_200F_200D_202B_202B_206C_200F_202B_200C_202D_200E_206F_206A_206D_202A_206C_202E_200F_202A_206F_206D_200C_206E_202C_200E_202D_202C_206E_202D_200F_202B_206E_202A_202E(builder, 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(-755497586)); - _206D_202D_206A_200D_200D_202A_200E_200E_206A_206D_202E_202B_202B_202E_200D_202D_202A_206D_202B_200D_202D_202D_206D_202A_200F_200D_206F_206D_202B_206F_206F_206F_200D_200B_200D_202B_206D_206B_206D_206C_202E(builder, (object?)CompletionQuestVariablesFlags); - _202D_206D_202A_202A_200B_206A_200C_200F_200F_200D_202B_202B_206C_200F_202B_200C_202D_200E_206F_206A_206D_202A_206C_202E_200F_202A_206F_206D_200C_206E_202C_200E_202D_202C_206E_202D_200F_202B_206E_202A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1965435376)); - _202D_206D_202A_202A_200B_206A_200C_200F_200F_200D_202B_202B_206C_200F_202B_200C_202D_200E_206F_206A_206D_202A_206C_202E_200F_202A_206F_206D_200C_206E_202C_200E_202D_202C_206E_202D_200F_202B_206E_202A_202E(builder, StartingCombat.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(UseOnObject? other) - { - int num = (((object)this == other) ? (-2092737050) : (-2092737056)); - while (true) - { - int num2 = num; - int num3 = -2092737051; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return EqualityComparer.Default.Equals(StartingCombat, other.StartingCombat); - case 8: - num = ((!EqualityComparer.Default.Equals(QuestId, other.QuestId)) ? (-2092737054) : (-2092737055)); - break; - case 7: - return false; - case 3: - return true; - case 5: - num = (((object)other == null) ? (-2092737054) : (-2092737049)); - break; - case 9: - num = ((!EqualityComparer>.Default.Equals(CompletionQuestVariablesFlags, other.CompletionQuestVariablesFlags)) ? (-2092737054) : (-2092737052)); - break; - case 0: - num = -2092737056; - break; - case 2: - num = ((!_206F_206B_206F_202E_202B_202B_202B_206C_202B_202C_206D_206B_202B_202C_202C_202B_206D_202A_206C_206E_206C_202E_202E_202A_206C_206C_202E_200E_200E_206C_202E_202C_202C_202A_206F_206B_206F_206E_200E_200D_202E(EqualityContract, other.EqualityContract)) ? (-2092737054) : (-2092737043)); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(ItemId, other.ItemId)) ? (-2092737054) : (-2092737044)); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(DataId, other.DataId)) ? (-2092737054) : (-2092737053)); - break; - } - } - } - - bool IEquatable.Equals(UseOnObject? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type? _206D_206C_200B_206B_206F_202B_206B_206E_200F_202E_200F_206A_206D_206F_206B_202B_200D_200C_206A_206B_206C_202C_200C_200B_206C_202E_202D_206F_202D_206D_202E_202D_202B_206C_206B_200B_206C_200C_200B_202E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _206A_206B_202C_202A_206B_200C_206A_202A_206A_206F_206C_206A_202B_202D_206F_202B_202C_200B_202A_206C_200D_206C_202E_202E_200F_200C_200E_206A_202E_202D_206A_200F_202D_206C_202E_206F_206C_206C_202E_200E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder? _202D_206D_202A_202A_200B_206A_200C_200F_200F_200D_202B_202B_206C_200F_202B_200C_202D_200E_206F_206A_206D_202A_206C_202E_200F_202A_206F_206D_200C_206E_202C_200E_202D_202C_206E_202D_200F_202B_206E_202A_202E(StringBuilder? P_0, string? P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder? _206D_202D_206A_200D_200D_202A_200E_200E_206A_206D_202E_202B_202B_202E_200D_202D_202A_206D_202B_200D_202D_202D_206D_202A_200F_200D_206F_206D_202B_206F_206F_206F_200D_200B_200D_202B_206D_206B_206D_206C_202E(StringBuilder? P_0, object? P_1) - { - return P_0.Append(P_1); - } - - static bool _206F_206B_206F_202E_202B_202B_202B_206C_202B_202C_206D_206B_202B_202C_202C_202B_206D_202A_206C_206E_206C_202E_202E_202A_206C_206C_202E_200E_200E_206C_202E_202C_202C_202A_206F_206B_206F_206E_200E_200D_202E(Type? P_0, Type? P_1) - { - return P_0 == P_1; + return $"UseItem({ItemId} on {DataId})"; } } @@ -1066,112 +289,9 @@ internal static class UseItem internal sealed record UseOnSelf(ElementId? QuestId, uint ItemId, IList CompletionQuestVariablesFlags, bool StartingCombat = false) : IUseItemBase, ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200E_206F_206A_206A_206E_202E_200D_206D_200E_206A_206F_202C_200C_200E_206C_202E_200F_206B_200E_200C_206D_202A_206D_206E_202B_200F_200B_200D_202E_202E_206A_206F_202D_202E_200C_200C_202D_200D_206C_200C_202E(typeof(UseOnSelf).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(9, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(1918970186)); - defaultInterpolatedStringHandler.AppendFormatted(ItemId); - defaultInterpolatedStringHandler.AppendLiteral(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(444206578)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206C_200E_200B_200E_200B_200F_202A_200F_200C_202A_202E_206A_206A_202B_206A_200B_202B_200B_206D_206C_200B_202A_200B_206B_200B_206E_202C_202D_200E_206C_206D_202D_206E_206E_200D_202E_202C_202C_200F_202B_202E(); - _200B_206E_206C_206C_206B_206F_202C_206E_206B_200D_206A_206B_200D_206D_202B_202B_206D_202B_202E_200D_202E_202D_206B_202D_202A_200F_206E_202C_202B_200B_202B_200F_202A_202E_200E_206D_202D_200D_202B_206A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(65254652)); - _200F_202A_206C_202E_200D_202B_202C_206B_206E_200D_200C_202E_200C_206B_200F_200F_202E_206C_202E_206C_202D_202B_202C_206E_202A_202A_200D_206F_202C_202C_202C_202E_206D_200D_206B_200E_202D_202A_200C_202A_202E(builder, (object?)QuestId); - _200B_206E_206C_206C_206B_206F_202C_206E_206B_200D_206A_206B_200D_206D_202B_202B_206D_202B_202E_200D_202E_202D_206B_202D_202A_200F_206E_202C_202B_200B_202B_200F_202A_202E_200E_206D_202D_200D_202B_206A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-829358037)); - _200B_206E_206C_206C_206B_206F_202C_206E_206B_200D_206A_206B_200D_206D_202B_202B_206D_202B_202E_200D_202E_202D_206B_202D_202A_200F_206E_202C_202B_200B_202B_200F_202A_202E_200E_206D_202D_200D_202B_206A_202E(builder, ItemId.ToString()); - _200B_206E_206C_206C_206B_206F_202C_206E_206B_200D_206A_206B_200D_206D_202B_202B_206D_202B_202E_200D_202E_202D_206B_202D_202A_200F_206E_202C_202B_200B_202B_200F_202A_202E_200E_206D_202D_200D_202B_206A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1595351351)); - _200F_202A_206C_202E_200D_202B_202C_206B_206E_200D_200C_202E_200C_206B_200F_200F_202E_206C_202E_206C_202D_202B_202C_206E_202A_202A_200D_206F_202C_202C_202C_202E_206D_200D_206B_200E_202D_202A_200C_202A_202E(builder, (object?)CompletionQuestVariablesFlags); - _200B_206E_206C_206C_206B_206F_202C_206E_206B_200D_206A_206B_200D_206D_202B_202B_206D_202B_202E_200D_202E_202D_206B_202D_202A_200F_206E_202C_202B_200B_202B_200F_202A_202E_200E_206D_202D_200D_202B_206A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1628171030)); - _200B_206E_206C_206C_206B_206F_202C_206E_206B_200D_206A_206B_200D_206D_202B_202B_206D_202B_202E_200D_202E_202D_206B_202D_202A_200F_206E_202C_202B_200B_202B_200F_202A_202E_200E_206D_202D_200D_202B_206A_202E(builder, StartingCombat.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(UseOnSelf? other) - { - int num = (((object)this == other) ? (-911350056) : (-911350055)); - while (true) - { - int num2 = num; - int num3 = -911350050; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - return false; - case 5: - num = ((!EqualityComparer.Default.Equals(ItemId, other.ItemId)) ? (-911350051) : (-911350050)); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(QuestId, other.QuestId)) ? (-911350051) : (-911350053)); - break; - case 8: - num = ((!_206D_206D_200E_202B_202E_200B_206F_206E_202E_206E_200B_206D_200F_206F_206B_200E_200C_202C_202E_200C_200D_202C_206C_200C_200F_200C_206A_202E_206E_206F_206C_206E_202B_206C_202A_200E_202D_206A_202D_200C_202E(EqualityContract, other.EqualityContract)) ? (-911350051) : (-911350049)); - break; - case 2: - return EqualityComparer.Default.Equals(StartingCombat, other.StartingCombat); - case 6: - return true; - case 7: - num = (((object)other == null) ? (-911350051) : (-911350058)); - break; - case 4: - num = -911350055; - break; - case 0: - num = ((!EqualityComparer>.Default.Equals(CompletionQuestVariablesFlags, other.CompletionQuestVariablesFlags)) ? (-911350051) : (-911350052)); - break; - } - } - } - - bool IEquatable.Equals(UseOnSelf? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type? _200E_206F_206A_206A_206E_202E_200D_206D_200E_206A_206F_202C_200C_200E_206C_202E_200F_206B_200E_200C_206D_202A_206D_206E_202B_200F_200B_200D_202E_202E_206A_206F_202D_202E_200C_200C_202D_200D_206C_200C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _206C_200E_200B_200E_200B_200F_202A_200F_200C_202A_202E_206A_206A_202B_206A_200B_202B_200B_206D_206C_200B_202A_200B_206B_200B_206E_202C_202D_200E_206C_206D_202D_206E_206E_200D_202E_202C_202C_200F_202B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder? _200B_206E_206C_206C_206B_206F_202C_206E_206B_200D_206A_206B_200D_206D_202B_202B_206D_202B_202E_200D_202E_202D_206B_202D_202A_200F_206E_202C_202B_200B_202B_200F_202A_202E_200E_206D_202D_200D_202B_206A_202E(StringBuilder? P_0, string? P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder? _200F_202A_206C_202E_200D_202B_202C_206B_206E_200D_200C_202E_200C_206B_200F_200F_202E_206C_202E_206C_202D_202B_202C_206E_202A_202A_200D_206F_202C_202C_202C_202E_206D_200D_206B_200E_202D_202A_200C_202A_202E(StringBuilder? P_0, object? P_1) - { - return P_0.Append(P_1); - } - - static bool _206D_206D_200E_202B_202E_200B_206F_206E_202E_206E_200B_206D_200F_206F_206B_200E_200C_202C_202E_200C_200D_202C_206C_200C_200F_200C_206A_202E_206E_206F_206C_206E_202B_206C_202A_200E_202D_206A_202D_200C_202E(Type? P_0, Type? P_1) - { - return P_0 == P_1; + return $"UseItem({ItemId})"; } } diff --git a/Questionable/Questionable.Controller.Steps.Movement/LandExecutor.cs b/Questionable/Questionable.Controller.Steps.Movement/LandExecutor.cs index c14b225..e2f9df3 100644 --- a/Questionable/Questionable.Controller.Steps.Movement/LandExecutor.cs +++ b/Questionable/Questionable.Controller.Steps.Movement/LandExecutor.cs @@ -1,8 +1,5 @@ using System; -using System.Runtime.CompilerServices; using Dalamud.Game.ClientState.Conditions; -using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Client.Game.Character; @@ -16,126 +13,49 @@ internal sealed class LandExecutor(IObjectTable objectTable, ICondition conditio private long _continueAt; - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { - int num = (_206F_200C_200B_202A_202A_200E_206B_200D_200F_202D_206F_202D_206B_206D_202E_200B_206E_206A_202B_202D_202C_206B_206B_206E_200E_206C_206D_206E_200E_206A_206A_206C_202C_202B_200C_202A_206F_200F_206B_206C_202E(condition, ConditionFlag.InFlight) ? 1222817093 : 1222817094); - while (true) + if (!condition[ConditionFlag.InFlight]) { - int num2 = num; - int num3 = 1222817092; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - _landing = AttemptLanding(); - _continueAt = _202B_202D_200D_206B_206F_206D_200D_206D_206C_202D_202E_202B_200E_202B_200B_206B_206D_206B_206A_200B_202A_202B_206F_200D_200F_206F_202D_200F_206C_202B_200C_202C_206E_202A_200E_200B_206E_202C_200D_200D_202E() + 250; - return true; - case 2: - _206C_206E_200B_202E_200E_200D_202E_206C_200B_200C_202D_202B_200E_206D_200B_206E_206F_202B_202D_200E_200D_206A_200C_200C_202C_202E_200D_206F_200C_206A_206F_206D_202A_200F_202D_200B_200D_202A_202A_200D_202E((ILogger)logger, 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(568911902), Array.Empty()); - return false; - case 0: - goto IL_0089; - } - continue; - IL_0089: - num = 1222817094; + logger.LogDebug("Not flying, not attempting to land"); + return false; } + _landing = AttemptLanding(); + _continueAt = Environment.TickCount64 + 250; + return true; } public override ETaskResult Update() { - int num = ((_202B_202D_200D_206B_206F_206D_200D_206D_206C_202D_202E_202B_200E_202B_200B_206B_206D_206B_206A_200B_202A_202B_206F_200D_200F_206F_202D_200F_206C_202B_200C_202C_206E_202A_200E_200B_206E_202C_200D_200D_202E() >= _continueAt) ? (-1155847244) : (-1155847247)); - while (true) + if (Environment.TickCount64 < _continueAt) { - int num2 = num; - int num3 = -1155847244; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - return ETaskResult.TaskComplete; - case 5: - return ETaskResult.StillRunning; - case 6: - num = (_landing ? (-1155847243) : (-1155847241)); - break; - case 0: - num = ((!_206F_200C_200B_202A_202A_200E_206B_200D_200F_202D_206F_202D_206B_206D_202E_200B_206E_206A_202B_202D_202C_206B_206B_206E_200E_206C_206D_206E_200E_206A_206A_206C_202C_202B_200C_202A_206F_200F_206B_206C_202E(condition, ConditionFlag.InFlight)) ? (-1155847248) : (-1155847246)); - break; - case 1: - return ETaskResult.StillRunning; - case 2: - num = -1155847247; - break; - case 3: - _landing = AttemptLanding(); - _continueAt = _202B_202D_200D_206B_206F_206D_200D_206D_206C_202D_202E_202B_200E_202B_200B_206B_206D_206B_206A_200B_202A_202B_206F_200D_200F_206F_202D_200F_206C_202B_200C_202C_206E_202A_200E_200B_206E_202C_200D_200D_202E() + 250; - num = -1155847243; - break; - } + return ETaskResult.StillRunning; } + if (condition[ConditionFlag.InFlight]) + { + if (!_landing) + { + _landing = AttemptLanding(); + _continueAt = Environment.TickCount64 + 250; + } + return ETaskResult.StillRunning; + } + return ETaskResult.TaskComplete; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe bool AttemptLanding() { - IPlayerCharacter playerCharacter = _200E_206D_206D_200C_200C_202B_202B_202C_200C_202A_206F_206A_200E_202C_200D_206D_202E_200D_202D_206D_202E_202B_200C_200B_206B_206E_200F_206D_202A_206B_200B_206A_200D_202C_206D_200B_200B_202B_206A_202C_202E(objectTable); - Character* ptr = (Character*)((playerCharacter != null) ? _206C_202E_202A_200C_206E_202C_206B_202B_202D_206C_206E_200F_206B_202A_200E_202E_202E_206D_200F_206B_202E_206B_200E_202E_200C_206F_202B_206C_200F_202E_206D_206A_200D_202C_206B_200E_202C_206D_200F_202E((IGameObject)playerCharacter) : 0); - int num = ((ptr == null) ? (-1147951571) : (-1147951570)); - while (true) + Character* ptr = (Character*)(objectTable.LocalPlayer?.Address ?? 0); + if (ptr != null && ActionManager.Instance()->GetActionStatus(ActionType.GeneralAction, 23u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) == 0) { - int num2 = num; - int num3 = -1147951569; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return false; - case 1: - num = ((ActionManager.Instance()->GetActionStatus(ActionType.GeneralAction, 23u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) != 0) ? (-1147951571) : (-1147951569)); - break; - case 0: - _206C_206E_200B_202E_200E_200D_202E_206C_200B_200C_202D_202B_200E_206D_200B_206E_206F_202B_202D_200E_200D_206A_200C_200C_202C_202E_200D_206F_200C_206A_206F_206D_202A_200F_202D_200B_200D_202A_202A_200D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1670122022), Array.Empty()); - return ActionManager.Instance()->UseAction(ActionType.GeneralAction, 23u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); - case 3: - num = -1147951570; - break; - } + logger.LogDebug("Attempting to land"); + return ActionManager.Instance()->UseAction(ActionType.GeneralAction, 23u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); } + return false; } public override bool ShouldInterruptOnDamage() { return false; } - - static bool _206F_200C_200B_202A_202A_200E_206B_200D_200F_202D_206F_202D_206B_206D_202E_200B_206E_206A_202B_202D_202C_206B_206B_206E_200E_206C_206D_206E_200E_206A_206A_206C_202C_202B_200C_202A_206F_200F_206B_206C_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static void _206C_206E_200B_202E_200E_200D_202E_206C_200B_200C_202D_202B_200E_206D_200B_206E_206F_202B_202D_200E_200D_206A_200C_200C_202C_202E_200D_206F_200C_206A_206F_206D_202A_200F_202D_200B_200D_202A_202A_200D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static long _202B_202D_200D_206B_206F_206D_200D_206D_206C_202D_202E_202B_200E_202B_200B_206B_206D_206B_206A_200B_202A_202B_206F_200D_200F_206F_202D_200F_206C_202B_200C_202C_206E_202A_200E_200B_206E_202C_200D_200D_202E() - { - return Environment.TickCount64; - } - - static IPlayerCharacter _200E_206D_206D_200C_200C_202B_202B_202C_200C_202A_206F_206A_200E_202C_200D_206D_202E_200D_202D_206D_202E_202B_200C_200B_206B_206E_200F_206D_202A_206B_200B_206A_200D_202C_206D_200B_200B_202B_206A_202C_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static nint _206C_202E_202A_200C_206E_202C_206B_202B_202D_206C_206E_200F_206B_202A_200E_202E_202E_206D_200F_206B_202E_206B_200E_202E_200C_206F_202B_206C_200F_202E_206D_206A_200D_202C_206B_200E_202C_206D_200F_202E(IGameObject P_0) - { - return P_0.Address; - } } diff --git a/Questionable/Questionable.Controller.Steps.Movement/LandTask.cs b/Questionable/Questionable.Controller.Steps.Movement/LandTask.cs index c637c69..9557f85 100644 --- a/Questionable/Questionable.Controller.Steps.Movement/LandTask.cs +++ b/Questionable/Questionable.Controller.Steps.Movement/LandTask.cs @@ -1,5 +1,3 @@ -using System.Runtime.CompilerServices; - namespace Questionable.Controller.Steps.Movement; internal sealed class LandTask : ITask @@ -9,15 +7,8 @@ internal sealed class LandTask : ITask return true; } - bool ITask.ShouldRedoOnInterrupt() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt - return this.ShouldRedoOnInterrupt(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return 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(1439831950); + return "Land"; } } diff --git a/Questionable/Questionable.Controller.Steps.Movement/MoveExecutor.cs b/Questionable/Questionable.Controller.Steps.Movement/MoveExecutor.cs index f2af0a2..eaa3469 100644 --- a/Questionable/Questionable.Controller.Steps.Movement/MoveExecutor.cs +++ b/Questionable/Questionable.Controller.Steps.Movement/MoveExecutor.cs @@ -1,10 +1,8 @@ using System; using System.Collections.Generic; -using System.Collections.ObjectModel; using System.Globalization; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Objects.SubKinds; @@ -84,695 +82,336 @@ internal sealed class MoveExecutor : TaskExecutor, IToastAware, ITaskE private void PrepareMovementIfNeeded() { - int num = (_gameFunctions.IsFlyingUnlocked(base.Task.TerritoryId) ? (-1370225021) : (-1370225018)); - while (true) + if (!_gameFunctions.IsFlyingUnlocked(base.Task.TerritoryId)) { - int num2 = num; - int num3 = -1370225017; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + base.Task = base.Task with { - case 4: - num = (base.Task.DisableNavmesh ? (-1370225019) : (-1370225020)); - break; - case 3: - _startAction = delegate - { - _movementController.NavigateTo(EMovementType.Quest, base.Task.DataId, _destination, base.Task.Fly, base.Task.Sprint ?? (!_mountDuringMovement.HasValue), base.Task.StopDistance, base.Task.IgnoreDistanceToObject ? new float?(float.MaxValue) : ((float?)null), base.Task.Land, base.Task.SmartNavRouted); - }; - return; - case 0: - num = -1370225018; - break; - case 2: - _startAction = delegate - { - MovementController movementController = _movementController; - uint? dataId = base.Task.DataId; - int num7 = 1; - List list = new List(num7); - CollectionsMarshal.SetCount(list, num7); - CollectionsMarshal.AsSpan(list)[0] = _destination; - movementController.NavigateTo(EMovementType.Quest, dataId, list, base.Task.Fly, base.Task.Sprint ?? (!_mountDuringMovement.HasValue), base.Task.StopDistance, base.Task.IgnoreDistanceToObject ? new float?(float.MaxValue) : ((float?)null), base.Task.Land); - }; - return; - case 1: - base.Task = base.Task with - { - Fly = false, - Land = false - }; - num = -1370225021; - break; - } + Fly = false, + Land = false + }; } + if (!base.Task.DisableNavmesh) + { + _startAction = delegate + { + _movementController.NavigateTo(EMovementType.Quest, base.Task.DataId, _destination, base.Task.Fly, base.Task.Sprint ?? (!_mountDuringMovement.HasValue), base.Task.StopDistance, base.Task.IgnoreDistanceToObject ? new float?(float.MaxValue) : ((float?)null), base.Task.Land, base.Task.SmartNavRouted); + }; + return; + } + _startAction = delegate + { + MovementController movementController = _movementController; + uint? dataId = base.Task.DataId; + int num = 1; + List list = new List(num); + CollectionsMarshal.SetCount(list, num); + CollectionsMarshal.AsSpan(list)[0] = _destination; + movementController.NavigateTo(EMovementType.Quest, dataId, list, base.Task.Fly, base.Task.Sprint ?? (!_mountDuringMovement.HasValue), base.Task.StopDistance, base.Task.IgnoreDistanceToObject ? new float?(float.MaxValue) : ((float?)null), base.Task.Land); + }; } - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { - int num = ((_206F_206B_206A_200C_206B_206C_206D_206B_202E_202D_206E_202C_200F_206B_206E_206C_200D_206F_200D_202E_202C_206C_206A_202B_202D_200C_202E_206B_206D_200F_200C_202D_206E_200E_200C_200D_206B_202E_202D_206B_202E(_clientState) == base.Task.TerritoryId) ? 555789073 : 555789093); - Questionable.Controller.Steps.Common.Mount.MountTask mountTask = default(Questionable.Controller.Steps.Common.Mount.MountTask); - long retryAtMs = default(long); - (Questionable.Controller.Steps.Common.Mount.MountExecutor, Questionable.Controller.Steps.Common.Mount.MountTask)? tuple = default((Questionable.Controller.Steps.Common.Mount.MountExecutor, Questionable.Controller.Steps.Common.Mount.MountTask)?); - float num13 = default(float); - float num9 = default(float); - Vector3? vector = default(Vector3?); - bool flag = default(bool); - float num12 = default(float); - while (true) + if (_clientState.TerritoryType != base.Task.TerritoryId) { - int num2 = num; - int num3 = 555789056; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - float num8; - float num10; - int num11; - int num7; - float num14; - Questionable.Controller.Steps.Common.Mount.EMountIf mountIf; - switch (num5 - (num6 + num6)) + _logger.LogDebug("Skipping movement - already in territory {Current} (task expects {Expected})", _clientState.TerritoryType, base.Task.TerritoryId); + return false; + } + _canRestart = base.Task.RestartNavigation; + _destination = base.Task.Destination; + if (_aetheryteData.Locations.Any((KeyValuePair kvp) => AetheryteConverter.IsLargeAetheryte(kvp.Key) && Vector3.Distance(kvp.Value, _destination) < 1f)) + { + float num = 7f; + if ((base.Task.StopDistance ?? 3f) < num) { - case 25: - num = ((_mountEvaluator.EvaluateMountState(mountTask, dryRun: true, ref retryAtMs) == Questionable.Controller.Steps.Common.Mount.MountResult.DontMount) ? 555789082 : 555789060); - break; - case 17: - _canRestart = base.Task.RestartNavigation; - _destination = base.Task.Destination; - num = ((!_202C_206A_206F_202B_202C_200B_206F_206B_200E_200B_206C_200C_202E_202E_206E_200F_202E_200D_202D_200D_200D_200E_202E_202C_202C_200E_206A_206B_202B_200C_206B_200C_202C_200E_200F_200F_206C_202D_202C_202E_202E(_aetheryteData).Any(delegate(KeyValuePair kvp) - { - int num15 = ((!_202E_206C_200D_206A_202E_200C_200C_206E_202D_206D_202D_202C_206C_200E_200E_200B_206C_200B_206A_200E_202E_202D_202B_202A_206F_200D_200D_200B_200E_202B_206D_206C_202A_202D_202A_200E_202D_206E_200F_200C_202E(kvp.Key)) ? (-1307834011) : (-1307834010)); - while (true) - { - int num16 = num15; - int num17 = -1307834009; - int num18 = num16; - int num19 = num18 + num17; - int num20 = num18 & num17; - switch (num19 - (num20 + num20)) - { - case 0: - goto IL_004e; - case 2: - return false; - case 1: - return Vector3.Distance(kvp.Value, _destination) < 1f; - } - continue; - IL_004e: - num15 = -1307834010; - } - })) ? 555789087 : 555789080); - break; - case 37: - _202D_200E_206D_206C_202B_206E_206B_206E_202E_206B_206B_206B_202C_200B_200D_200D_206B_200F_202A_202B_200D_202D_200B_202A_206C_200B_206B_206C_206E_202C_200C_202E_206B_206D_200B_202D_200F_202D_202E_206C_202E((ILogger)_logger, 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(-1454798504), new object[2] - { - _206F_206B_206A_200C_206B_206C_206D_206B_202E_202D_206E_202C_200F_206B_206E_206C_200D_206F_200D_202E_202C_206C_206A_202B_202D_200C_202E_206B_206D_200F_200C_202D_206E_200E_200C_200D_206B_202E_202D_206B_202E(_clientState), - base.Task.TerritoryId - }); - return false; - case 19: - _202D_200E_206D_206C_202B_206E_206B_206E_202E_206B_206B_206B_202C_200B_200D_200D_206B_200F_202A_202B_200D_202D_200B_202A_206C_200B_206B_206C_206E_202C_200C_202E_206B_206D_200B_202D_200F_202D_202E_206C_202E((ILogger)_logger, 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(-1423606109), Array.Empty()); base.Task = base.Task with { - Fly = false, - Land = false + StopDistance = num }; - num = 555789068; - break; - case 39: - { - Questionable.Controller.Steps.Common.Mount.UnmountTask unmountTask2 = new Questionable.Controller.Steps.Common.Mount.UnmountTask(); - _unmountBeforeMovement = (_serviceProvider.GetRequiredService(), unmountTask2); - num = (_unmountBeforeMovement.Value.Executor.Start(unmountTask2) ? 555789068 : 555789091); - break; } - case 36: + } + float num2 = base.Task.StopDistance ?? 3f; + Vector3? vector = _objectTable.LocalPlayer?.Position; + float num3 = ((!vector.HasValue) ? float.MaxValue : Vector3.Distance(vector.Value, _destination)); + if (num3 > num2) + { + PrepareMovementIfNeeded(); + } + if (base.Task.MountRequired) + { + Questionable.Controller.Steps.Common.Mount.MountTask mountTask = new Questionable.Controller.Steps.Common.Mount.MountTask(base.Task.TerritoryId, Questionable.Controller.Steps.Common.Mount.EMountIf.Always); + _mountBeforeMovement = (_serviceProvider.GetRequiredService(), mountTask); + if (!_mountBeforeMovement.Value.Executor.Start(mountTask)) { - Questionable.Controller.Steps.Common.Mount.MountTask mountTask2 = new Questionable.Controller.Steps.Common.Mount.MountTask(base.Task.TerritoryId, Questionable.Controller.Steps.Common.Mount.EMountIf.Always); - _mountBeforeMovement = (_serviceProvider.GetRequiredService(), mountTask2); - num = (_mountBeforeMovement.Value.Executor.Start(mountTask2) ? 555789068 : 555789056); - break; - } - case 14: - return true; - case 4: - tuple = (_serviceProvider.GetRequiredService(), mountTask); - tuple.Value.Item1.Start(mountTask); - num = 555789076; - break; - case 21: - num = (base.Task.DisableNavmesh ? 555789068 : 555789067); - break; - case 8: - num = (_200E_206B_202B_202C_206C_200B_200E_206E_202B_202C_206C_200F_206F_206D_202E_206A_200B_206F_200F_200D_206A_206F_206E_200F_200F_200E_200E_200F_202E_202B_206D_202B_206F_202D_206B_200F_206F_206C_200C_202E(_condition, ConditionFlag.Mounted) ? 555789068 : 555789075); - break; - case 40: - base.Task = base.Task with - { - StopDistance = num13 - }; - num = 555789087; - break; - case 23: _mountBeforeMovement = null; - num = 555789068; - break; - case 7: - num8 = float.MaxValue; - goto IL_03b1; - case 12: - num = (_mountBeforeMovement.HasValue ? 555789070 : 555789094); - break; - case 29: - PrepareMovementIfNeeded(); - num = 555789090; - break; - case 18: - num = ((base.Task.Mount != true) ? 555789084 : 555789092); - break; - case 38: - num = (_unmountBeforeMovement.HasValue ? 555789070 : 555789072); - break; - case 1: + } + } + else if (base.Task.DismountRequired) + { + Questionable.Controller.Steps.Common.Mount.UnmountTask unmountTask = new Questionable.Controller.Steps.Common.Mount.UnmountTask(); + _unmountBeforeMovement = (_serviceProvider.GetRequiredService(), unmountTask); + if (!_unmountBeforeMovement.Value.Executor.Start(unmountTask)) + { + _unmountBeforeMovement = null; + } + } + else if (base.Task.Mount == true) + { + Questionable.Controller.Steps.Common.Mount.MountTask mountTask2 = new Questionable.Controller.Steps.Common.Mount.MountTask(base.Task.TerritoryId, Questionable.Controller.Steps.Common.Mount.EMountIf.Always); + _mountBeforeMovement = (_serviceProvider.GetRequiredService(), mountTask2); + if (!_mountBeforeMovement.Value.Executor.Start(mountTask2)) + { + _mountBeforeMovement = null; + } + } + else if (base.Task.Mount == false) + { + Questionable.Controller.Steps.Common.Mount.UnmountTask unmountTask2 = new Questionable.Controller.Steps.Common.Mount.UnmountTask(); + _unmountBeforeMovement = (_serviceProvider.GetRequiredService(), unmountTask2); + if (!_unmountBeforeMovement.Value.Executor.Start(unmountTask2)) + { + _unmountBeforeMovement = null; + } + } + else if (!base.Task.DisableNavmesh) + { + bool flag = _gameFunctions.IsFlyingUnlocked(base.Task.TerritoryId); + if (!base.Task.SmartNavRouted && !base.Task.Fly && flag && num3 > _configuration.Navigation.MountFlyDistance) + { base.Task = base.Task with { Fly = true, Land = true }; - num = 555789058; - break; - case 26: + } + float num4 = (base.Task.Fly ? _configuration.Navigation.MountFlyDistance : _configuration.Navigation.MountGroundDistance); + Questionable.Controller.Steps.Common.Mount.EMountIf mountIf = ((!(num3 > num4)) ? Questionable.Controller.Steps.Common.Mount.EMountIf.AwayFromPosition : Questionable.Controller.Steps.Common.Mount.EMountIf.Always); + Questionable.Controller.Steps.Common.Mount.MountTask mountTask3 = new Questionable.Controller.Steps.Common.Mount.MountTask(base.Task.TerritoryId, mountIf, _destination); + long retryAtMs = 0L; + (Questionable.Controller.Steps.Common.Mount.MountExecutor, Questionable.Controller.Steps.Common.Mount.MountTask)? tuple; + if (!_condition[ConditionFlag.Mounted] && _mountEvaluator.EvaluateMountState(mountTask3, dryRun: true, ref retryAtMs) != Questionable.Controller.Steps.Common.Mount.MountResult.DontMount) + { + tuple = (_serviceProvider.GetRequiredService(), mountTask3); + tuple.Value.Item1.Start(mountTask3); + } + else + { tuple = null; - num = 555789076; - break; - case 33: - num10 = _configuration.Navigation.MountFlyDistance; - goto IL_04b5; - case 31: - { - num9 = base.Task.StopDistance ?? 3f; - IPlayerCharacter playerCharacter = _202A_202D_200B_206D_200F_200C_202D_202B_206F_206A_206B_200E_202E_206C_206E_206C_206B_200C_202B_200D_200F_206E_202D_206D_200F_202E_202D_200C_200F_206D_202B_200B_206A_202C_202B_200F_202C_200F_200C_202E(_objectTable); - vector = ((playerCharacter != null) ? new Vector3?(_200F_206B_200F_202B_202B_206F_200B_206C_202E_200C_200D_206A_206C_200E_206A_202E_202A_206B_202D_206F_202E_206E_202E_206E_200B_200E_200C_206B_200E_206F_206B_206D_202C_200E_206F_206C_200B_206F_206A_202C_202E((IGameObject)playerCharacter)) : ((Vector3?)null)); - num = ((!vector.HasValue) ? 555789063 : 555789061); - break; } - case 22: - _startAction(); - num = 555789070; - break; - case 2: - num = (base.Task.Fly ? 555789089 : 555789062); - break; - case 11: - flag = _gameFunctions.IsFlyingUnlocked(base.Task.TerritoryId); - num = (base.Task.SmartNavRouted ? 555789071 : 555789086); - break; - case 5: - num8 = Vector3.Distance(vector.Value, _destination); - goto IL_03b1; - case 27: - num = ((!(num12 > _configuration.Navigation.MountFlyDistance)) ? 555789058 : 555789057); - break; - case 28: - num = ((base.Task.Mount != false) ? 555789077 : 555789095); - break; - case 10: + if (base.Task.Fly) + { _mountBeforeMovement = tuple; - num = (tuple.HasValue ? 555789068 : 555789064); - break; - case 42: - num11 = 0; - goto IL_067e; - case 24: - num13 = 7f; - num = ((!((base.Task.StopDistance ?? 3f) < num13)) ? 555789087 : 555789096); - break; - case 41: - { - Questionable.Controller.Steps.Common.Mount.UnmountTask unmountTask = new Questionable.Controller.Steps.Common.Mount.UnmountTask(); - _unmountBeforeMovement = (_serviceProvider.GetRequiredService(), unmountTask); - num = (_unmountBeforeMovement.Value.Executor.Start(unmountTask) ? 555789068 : 555789069); - break; - } - case 44: - { - Questionable.Controller.Steps.Common.Mount.MountTask mountTask3 = new Questionable.Controller.Steps.Common.Mount.MountTask(base.Task.TerritoryId, Questionable.Controller.Steps.Common.Mount.EMountIf.Always); - _mountBeforeMovement = (_serviceProvider.GetRequiredService(), mountTask3); - num = (_mountBeforeMovement.Value.Executor.Start(mountTask3) ? 555789068 : 555789079); - break; - } - case 20: - num = ((!base.Task.Fly) ? 555789065 : 555789066); - break; - case 3: - num11 = 1; - goto IL_067e; - case 43: - num = ((!base.Task.DismountRequired) ? 555789074 : 555789097); - break; - case 6: - num10 = _configuration.Navigation.MountGroundDistance; - goto IL_04b5; - case 32: - num = 555789093; - break; - case 16: - num = ((_startAction == null) ? 555789070 : 555789078); - break; - case 9: - _mountDuringMovement = tuple; - num = 555789068; - break; - case 15: - num7 = 0; - goto IL_089b; - case 30: - num7 = ((!base.Task.Fly) ? 1 : 0); - goto IL_089b; - case 13: - _unmountBeforeMovement = null; - num = 555789068; - break; - case 34: - num = ((!base.Task.MountRequired) ? 555789099 : 555789100); - break; - case 0: - _mountBeforeMovement = null; - num = 555789068; - break; - case 35: + if (!tuple.HasValue && !_condition[ConditionFlag.Mounted]) { - _unmountBeforeMovement = null; - num = 555789068; - break; + _logger.LogDebug("Not mounting for short flight movement; navigating on foot instead"); + base.Task = base.Task with + { + Fly = false, + Land = false + }; } - IL_089b: - num = ((((uint)num7 & (flag ? 1u : 0u)) == 0) ? 555789058 : 555789083); - break; - IL_03b1: - num12 = num8; - num = ((!(num12 > num9)) ? 555789090 : 555789085); - break; - IL_04b5: - num14 = num10; - num = ((num12 > num14) ? 555789098 : 555789059); - break; - IL_067e: - mountIf = (Questionable.Controller.Steps.Common.Mount.EMountIf)num11; - mountTask = new Questionable.Controller.Steps.Common.Mount.MountTask(base.Task.TerritoryId, mountIf, _destination); - retryAtMs = 0L; - num = (_200E_206B_202B_202C_206C_200B_200E_206E_202B_202C_206C_200F_206F_206D_202E_206A_200B_206F_200F_200D_206A_206F_206E_200F_200F_200E_200E_200F_202E_202B_206D_202B_206F_202D_206B_200F_206F_206C_200C_202E(_condition, ConditionFlag.Mounted) ? 555789082 : 555789081); - break; + } + else + { + _mountDuringMovement = tuple; } } + if (!_mountBeforeMovement.HasValue && !_unmountBeforeMovement.HasValue && _startAction != null) + { + _startAction(); + } + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { ETaskResult? eTaskResult = UpdateMountState(); - int num = ((!eTaskResult.HasValue) ? 1297828071 : 1297828057); - IGameObject gameObject = default(IGameObject); - IPlayerCharacter playerCharacter = default(IPlayerCharacter); - float num7 = default(float); - float num9 = default(float); - while (true) + if (eTaskResult.HasValue) { - int num2 = num; - int num3 = 1297828090; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return eTaskResult.GetValueOrDefault(); + } + if (_startAction == null) + { + return ETaskResult.TaskComplete; + } + if (_movementController.IsPathfinding || _movementController.IsPathRunning) + { + return ETaskResult.StillRunning; + } + if (!_movementController.HasBeenMovingForAtLeast(2000)) + { + return ETaskResult.StillRunning; + } + IPlayerCharacter localPlayer = _objectTable.LocalPlayer; + float num = base.Task.StopDistance ?? 3f; + if (base.Task.Fly && base.Task.Land && _canRestart && localPlayer != null && _clientState.TerritoryType == base.Task.TerritoryId && Vector3.Distance(localPlayer.Position, _destination) > num) + { + if (_condition[ConditionFlag.InFlight]) { - case 24: - gameObject = _gameFunctions.FindObjectByDataId(base.Task.DataId.Value, null, warnIfMissing: false); - num = ((gameObject == null) ? 1297828091 : 1297828078); - break; - case 10: - num = (_adjustedToObject ? 1297828056 : 1297828069); - break; - case 25: - num = ((!(Vector3.Distance(_200F_206B_200F_202B_202B_206F_200B_206C_202E_200C_200D_206A_206C_200E_206A_202E_202A_206B_202D_206F_202E_206E_202E_206E_200B_200E_200C_206B_200E_206F_206B_206D_202C_200E_206F_206C_200B_206F_206A_202C_202E((IGameObject)playerCharacter), _destination) > num7 + 5f)) ? 1297828094 : 1297828095); - break; - case 33: - num = 1297828057; - break; - case 0: - playerCharacter = _202A_202D_200B_206D_200F_200C_202D_202B_206F_206A_206B_200E_202E_206C_206E_206C_206B_200C_202B_200D_200F_206E_202D_206D_200F_202E_202D_200C_200F_206D_202B_200B_206A_202C_202B_200F_202C_200F_200C_202E(_objectTable); - num7 = base.Task.StopDistance ?? 3f; - num = ((!base.Task.Fly) ? 1297828076 : 1297828082); - break; - case 38: - return ETaskResult.StillRunning; - case 1: - num = ((!_canRestart) ? 1297828094 : 1297828058); - break; - case 27: - num = ((_206F_206B_206A_200C_206B_206C_206D_206B_202E_202D_206E_202C_200F_206B_206E_206C_200D_206F_200D_202E_202C_206C_206A_202B_202D_200C_202E_206B_206D_200F_200C_202D_206E_200E_200C_200D_206B_202E_202D_206B_202E(_clientState) != base.Task.TerritoryId) ? 1297828091 : 1297828066); - break; - case 22: - num = ((!base.Task.DataId.HasValue) ? 1297828091 : 1297828050); - break; - case 2: - num = ((playerCharacter == null) ? 1297828091 : 1297828089); - break; - case 12: - { - Vector3 vector = _200F_206B_200F_202B_202B_206F_200B_206C_202E_200C_200D_206A_206C_200E_206A_202E_202A_206B_202D_206F_202E_206E_202E_206E_200B_200E_200C_206B_200E_206F_206B_206D_202C_200E_206F_206C_200B_206F_206A_202C_202E((IGameObject)playerCharacter); - vector.Y = _200F_206B_200F_202B_202B_206F_200B_206C_202E_200C_200D_206A_206C_200E_206A_202E_202A_206B_202D_206F_202E_206E_202E_206E_200B_200E_200C_206B_200E_206F_206B_206D_202C_200E_206F_206C_200B_206F_206A_202C_202E((IGameObject)playerCharacter).Y - 100f; - Vector3 vector2 = vector; + if (_descendAttempted) + { + _logger.LogWarning("Still airborne after descending, treating as unreachable"); + throw new MovementController.PathfindingFailedException("Still airborne after descending, cannot close gap on foot"); + } + if (!_movementController.IsNavmeshReady) + { + _logger.LogDebug("Airborne outside stop distance, waiting for navmesh to descend"); + return ETaskResult.StillRunning; + } + Vector3 position = localPlayer.Position; + position.Y = localPlayer.Position.Y - 100f; + Vector3 vector = position; _descendAttempted = true; - _202D_200E_206D_206C_202B_206E_206B_206E_202E_206B_206B_206B_202C_200B_200D_200D_206B_200F_202A_202B_200D_202D_200B_202A_206C_200B_206B_206C_206E_202C_200C_202E_206B_206D_200B_202D_200F_202D_202E_206C_202E((ILogger)_logger, 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(1934924918), new object[1] { vector2.ToString(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(-1318690943), _206E_200D_202A_200B_202B_200B_206F_200D_202A_206A_200D_200E_202B_206B_200D_200D_202A_206C_200B_200C_206B_206E_202C_206B_200B_206A_200C_202E_206A_202C_202E_206B_206F_200F_202A_206B_200E_202A_200E_202B_202E()) }); - MovementController movementController2 = _movementController; - uint? dataId2 = base.Task.DataId; - int num10 = 1; - List list = new List(num10); - CollectionsMarshal.SetCount(list, num10); - CollectionsMarshal.AsSpan(list)[0] = vector2; - movementController2.NavigateTo(EMovementType.Landing, dataId2, list, fly: true, sprint: false, null); - return ETaskResult.StillRunning; - } - case 4: - num = ((!base.Task.SmartNavRouted) ? 1297828056 : 1297828080); - break; - case 31: - num = ((playerCharacter == null) ? 1297828056 : 1297828075); - break; - case 37: - _202D_200E_206D_206C_202B_206E_206B_206E_202E_206B_206B_206B_202C_200B_200D_200D_206B_200F_202A_202B_200D_202D_200B_202A_206C_200B_206B_206C_206E_202C_200C_202E_206B_206D_200B_202D_200F_202D_202E_206C_202E((ILogger)_logger, 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(-541407425), new object[2] - { - _206F_206B_206A_200C_206B_206C_206D_206B_202E_202D_206E_202C_200F_206B_206E_206C_200D_206F_200D_202E_202C_206C_206A_202B_202D_200C_202E_206B_206D_200F_200C_202D_206E_200E_200C_200D_206B_202E_202D_206B_202E(_clientState), - base.Task.TerritoryId - }); - return ETaskResult.TaskComplete; - case 39: - num = ((!(Vector3.Distance(_200F_206B_200F_202B_202B_206F_200B_206C_202E_200C_200D_206A_206C_200E_206A_202E_202A_206B_202D_206F_202E_206E_202E_206E_200B_200E_200C_206B_200E_206F_206B_206D_202C_200E_206F_206C_200B_206F_206A_202C_202E((IGameObject)playerCharacter), _destination) > num7)) ? 1297828076 : 1297828048); - break; - case 32: - num = ((playerCharacter == null) ? 1297828094 : 1297828067); - break; - case 7: - num = (_movementController.HasBeenMovingForAtLeast(2000) ? 1297828090 : 1297828079); - break; - case 40: - num = (_adjustedToObject ? 1297828091 : 1297828088); - break; - case 13: - num = ((!_movementController.IsPathRunning) ? 1297828093 : 1297828060); - break; - case 28: - _200E_200B_202E_206C_202B_206D_200B_200F_206F_206D_202D_202D_202E_206D_200E_206A_202A_202E_206F_206C_206F_202B_200B_206B_200C_206B_206F_202D_206C_202C_206B_206C_206F_200F_206F_202C_200F_202B_202B_200E_202E((ILogger)_logger, 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(-735281418), Array.Empty()); - _startAction(); - return ETaskResult.StillRunning; - case 26: - { - _206E_206E_206B_202B_202B_206B_206B_206E_206B_200C_200C_202C_206F_202D_200C_202D_202A_200E_206D_206B_200D_206B_206A_206F_202C_206B_206E_200B_200E_200E_206C_202E_206C_206A_200B_206C_200B_206E_206B_206D_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2121260240), new object[2] - { - _206F_206B_206A_200C_206B_206C_206D_206B_202E_202D_206E_202C_200F_206B_206E_206C_200D_206F_200D_202E_202C_206C_206A_202B_202D_200C_202E_206B_206D_200F_200C_202D_206E_200E_200C_200D_206B_202E_202D_206B_202E(_clientState), - base.Task.TerritoryId - }); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(61, 2); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(906699758)); - defaultInterpolatedStringHandler2.AppendFormatted(_206F_206B_206A_200C_206B_206C_206D_206B_202E_202D_206E_202C_200F_206B_206E_206C_200D_206F_200D_202E_202C_206C_206A_202B_202D_200C_202E_206B_206D_200F_200C_202D_206E_200E_200C_200D_206B_202E_202D_206B_202E(_clientState)); - defaultInterpolatedStringHandler2.AppendLiteral(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(-768285248)); - defaultInterpolatedStringHandler2.AppendFormatted(base.Task.TerritoryId); - throw new MovementController.PathfindingFailedException(defaultInterpolatedStringHandler2.ToStringAndClear()); - } - case 36: - num = ((!_canRestart) ? 1297828076 : 1297828073); - break; - case 29: - num = ((_startAction != null) ? 1297828084 : 1297828085); - break; - case 11: - { - float num8 = Vector3.Distance(_200F_206B_200F_202B_202B_206F_200B_206C_202E_200C_200D_206A_206C_200E_206A_202E_202A_206B_202D_206F_202E_206E_202E_206E_200B_200E_200C_206B_200E_206F_206B_206D_202C_200E_206F_206C_200B_206F_206A_202C_202E((IGameObject)playerCharacter), _destination); - _206E_206E_206B_202B_202B_206B_206B_206E_206B_200C_200C_202C_206F_202D_200C_202D_202A_200E_206D_206B_200D_206B_206A_206F_202C_206B_206E_200B_200E_200E_206C_202E_206C_206A_200B_206C_200B_206E_206B_206D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1052299229), new object[2] { num8, num7 }); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(55, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(-145312253)); - defaultInterpolatedStringHandler.AppendFormatted(num8, 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(-1308263729)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1546666510)); - defaultInterpolatedStringHandler.AppendFormatted(num7, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1819906059)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-572338381)); - throw new MovementController.PathfindingFailedException(defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 8: - num = ((!base.Task.Land) ? 1297828076 : 1297828062); - break; - case 30: - num = ((!_descendAttempted) ? 1297828083 : 1297828054); - break; - case 23: - _202D_200E_206D_206C_202B_206E_206B_206E_202E_206B_206B_206B_202C_200B_200D_200D_206B_200F_202A_202B_200D_202D_200B_202A_206C_200B_206B_206C_206E_202C_200C_202E_206B_206D_200B_202D_200F_202D_202E_206C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1933566981), Array.Empty()); - return ETaskResult.StillRunning; - case 19: - num = ((playerCharacter == null) ? 1297828076 : 1297828051); - break; - case 42: - num = ((!_200E_206B_202B_202C_206C_200B_200E_206E_202B_202C_206C_200F_206F_206D_202E_206A_200B_206F_200F_200D_206A_206F_206E_200F_200F_200E_200E_200F_202E_202B_206D_202B_206F_202D_206B_200F_206F_206C_200C_202E(_condition, ConditionFlag.InFlight)) ? 1297828092 : 1297828068); - break; - case 9: - num = (_movementController.IsNavmeshReady ? 1297828086 : 1297828077); - break; - case 17: - num = ((_206F_206B_206A_200C_206B_206C_206D_206B_202E_202D_206E_202C_200F_206B_206E_206C_200D_206F_200D_202E_202C_206C_206A_202B_202D_200C_202E_206B_206D_200F_200C_202D_206E_200E_200C_200D_206B_202E_202D_206B_202E(_clientState) != base.Task.TerritoryId) ? 1297828056 : 1297828072); - break; - case 21: - return ETaskResult.StillRunning; - case 35: - return eTaskResult.GetValueOrDefault(); - case 34: - return ETaskResult.TaskComplete; - case 20: - num9 = Vector3.Distance(_200F_206B_200F_202B_202B_206F_200B_206C_202E_200C_200D_206A_206C_200E_206A_202E_202A_206B_202D_206F_202E_206E_202E_206E_200B_200E_200C_206B_200E_206F_206B_206D_202C_200E_206F_206C_200B_206F_206A_202C_202E((IGameObject)playerCharacter), _200F_206B_200F_202B_202B_206F_200B_206C_202E_200C_200D_206A_206C_200E_206A_202E_202A_206B_202D_206F_202E_206E_202E_206E_200B_200E_200C_206B_200E_206F_206B_206D_202C_200E_206F_206C_200B_206F_206A_202C_202E(gameObject)); - num = ((!(num9 > num7)) ? 1297828091 : 1297828074); - break; - case 16: - _adjustedToObject = true; - _202D_200E_206D_206C_202B_206E_206B_206E_202E_206B_206B_206B_202C_200B_200D_200D_206B_200F_202A_202B_200D_202D_200B_202A_206C_200B_206B_206C_206E_202C_200C_202E_206B_206D_200B_202D_200F_202D_202E_206C_202E((ILogger)_logger, 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(51562790), new object[1] { num9 }); - _movementController.NavigateTo(EMovementType.Quest, base.Task.DataId, _200F_206B_200F_202B_202B_206F_200B_206C_202E_200C_200D_206A_206C_200E_206A_202E_202A_206B_202D_206F_202E_206E_202E_206E_200B_200E_200C_206B_200E_206F_206B_206D_202C_200E_206F_206C_200B_206F_206A_202C_202E(gameObject), fly: false, sprint: false, base.Task.StopDistance); - return ETaskResult.StillRunning; - case 14: - num = (_movementController.IsPathfinding ? 1297828060 : 1297828087); - break; - case 44: - _206E_206E_206B_202B_202B_206B_206B_206E_206B_200C_200C_202C_206F_202D_200C_202D_202A_200E_206D_206B_200D_206B_206A_206F_202C_206B_206E_200B_200E_200E_206C_202E_206C_206A_200B_206C_200B_206E_206B_206D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-790017102), Array.Empty()); - throw new MovementController.PathfindingFailedException(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1822331045)); - case 18: - num = ((!(Vector3.Distance(_200F_206B_200F_202B_202B_206F_200B_206C_202E_200C_200D_206A_206C_200E_206A_202E_202A_206B_202D_206F_202E_206E_202E_206E_200B_200E_200C_206B_200E_206F_206B_206D_202C_200E_206F_206C_200B_206F_206A_202C_202E((IGameObject)playerCharacter), _destination) > num7 + 5f)) ? 1297828056 : 1297828081); - break; - case 43: - num = ((!base.Task.AllowZoneTransition) ? 1297828064 : 1297828063); - break; - case 6: - { - _canRestart = false; - _202D_200E_206D_206C_202B_206E_206B_206E_202E_206B_206B_206B_202C_200B_200D_200D_206B_200F_202A_202B_200D_202D_200B_202A_206C_200B_206B_206C_206E_202C_200C_202E_206B_206D_200B_202D_200F_202D_202E_206C_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(452937443), Array.Empty()); + _logger.LogDebug("Outside stop distance but still airborne, descending to {Target}", vector.ToString("G", CultureInfo.InvariantCulture)); MovementController movementController = _movementController; uint? dataId = base.Task.DataId; - Vector3 destination = _destination; - float? stopDistance = base.Task.StopDistance; - bool smartNavRouted = base.Task.SmartNavRouted; - movementController.NavigateTo(EMovementType.Quest, dataId, destination, fly: false, sprint: false, stopDistance, null, land: false, smartNavRouted); + int num2 = 1; + List list = new List(num2); + CollectionsMarshal.SetCount(list, num2); + CollectionsMarshal.AsSpan(list)[0] = vector; + movementController.NavigateTo(EMovementType.Landing, dataId, list, fly: true, sprint: false, null); return ETaskResult.StillRunning; } - case 3: - num = (_200E_206B_202B_202C_206C_200B_200E_206E_202B_202C_206C_200F_206F_206D_202E_206A_200B_206F_200F_200D_206A_206F_206E_200F_200F_200E_200E_200F_202E_202B_206D_202B_206F_202D_206B_200F_206F_206C_200C_202E(_condition, ConditionFlag.InFlight) ? 1297828091 : 1297828065); - break; - case 41: - num = ((_206F_206B_206A_200C_206B_206C_206D_206B_202E_202D_206E_202C_200F_206B_206E_206C_200D_206F_200D_202E_202C_206C_206A_202B_202D_200C_202E_206B_206D_200F_200C_202D_206E_200E_200C_200D_206B_202E_202D_206B_202E(_clientState) != base.Task.TerritoryId) ? 1297828076 : 1297828061); - break; - case 5: - _canRestart = false; - num = ((_206F_206B_206A_200C_206B_206C_206D_206B_202E_202D_206E_202C_200F_206B_206E_206C_200D_206F_200D_202E_202C_206C_206A_202B_202D_200C_202E_206B_206D_200F_200C_202D_206E_200E_200C_200D_206B_202E_202D_206B_202E(_clientState) != base.Task.TerritoryId) ? 1297828049 : 1297828070); - break; - case 15: + _canRestart = false; + _logger.LogDebug("Landed outside stop distance, closing gap on foot"); + MovementController movementController2 = _movementController; + uint? dataId2 = base.Task.DataId; + Vector3 destination = _destination; + float? stopDistance = base.Task.StopDistance; + bool smartNavRouted = base.Task.SmartNavRouted; + movementController2.NavigateTo(EMovementType.Quest, dataId2, destination, fly: false, sprint: false, stopDistance, null, land: false, smartNavRouted); + return ETaskResult.StillRunning; + } + if (base.Task.DataId.HasValue && !_adjustedToObject && localPlayer != null && !_condition[ConditionFlag.InFlight] && _clientState.TerritoryType == base.Task.TerritoryId) + { + IGameObject gameObject = _gameFunctions.FindObjectByDataId(base.Task.DataId.Value, null, warnIfMissing: false); + if (gameObject != null) + { + float num3 = Vector3.Distance(localPlayer.Position, gameObject.Position); + if (num3 > num) + { + _adjustedToObject = true; + _logger.LogDebug("Adjusting to actual object position ({Distance:F1}y away)", num3); + _movementController.NavigateTo(EMovementType.Quest, base.Task.DataId, gameObject.Position, fly: false, sprint: false, base.Task.StopDistance); + return ETaskResult.StillRunning; + } + } + } + if (_canRestart && localPlayer != null && Vector3.Distance(localPlayer.Position, _destination) > num + 5f) + { + _canRestart = false; + if (_clientState.TerritoryType == base.Task.TerritoryId) + { + _logger.LogInformation("Looks like movement was interrupted, re-attempting to move"); + _startAction(); + return ETaskResult.StillRunning; + } + if (base.Task.AllowZoneTransition) + { + _logger.LogDebug("Zone transition during boundary crossing (now in {Current}, expected {Expected}), completing task", _clientState.TerritoryType, base.Task.TerritoryId); return ETaskResult.TaskComplete; } + _logger.LogWarning("Movement interrupted by zone transition (now in {Current}, task expected {Expected})", _clientState.TerritoryType, base.Task.TerritoryId); + throw new MovementController.PathfindingFailedException($"Zone transition during movement: now in territory {_clientState.TerritoryType}, expected {base.Task.TerritoryId}"); } + if (base.Task.SmartNavRouted && !_adjustedToObject && localPlayer != null && _clientState.TerritoryType == base.Task.TerritoryId && Vector3.Distance(localPlayer.Position, _destination) > num + 5f) + { + float num4 = Vector3.Distance(localPlayer.Position, _destination); + _logger.LogWarning("SmartNav movement ended {Distance:F1}y from target (stop distance {StopDistance:F1}y), treating as unreachable", num4, num); + throw new MovementController.PathfindingFailedException($"SmartNav movement ended {num4:F1}y from target (stop distance {num:F1}y)"); + } + return ETaskResult.TaskComplete; } - [MethodImpl(MethodImplOptions.NoInlining)] private ETaskResult? UpdateMountState() { - (Questionable.Controller.Steps.Common.Mount.MountExecutor, Questionable.Controller.Steps.Common.Mount.MountTask)? tuple = _mountBeforeMovement; - int num = ((!tuple.HasValue) ? 3060386 : 3060398); - (Questionable.Controller.Steps.Common.Mount.MountExecutor, Questionable.Controller.Steps.Common.Mount.MountTask) valueOrDefault = default((Questionable.Controller.Steps.Common.Mount.MountExecutor, Questionable.Controller.Steps.Common.Mount.MountTask)); - Questionable.Controller.Steps.Common.Mount.MountExecutor item = default(Questionable.Controller.Steps.Common.Mount.MountExecutor); - Questionable.Controller.Steps.Common.Mount.MountExecutor item3 = default(Questionable.Controller.Steps.Common.Mount.MountExecutor); - Questionable.Controller.Steps.Common.Mount.UnmountExecutor item2 = default(Questionable.Controller.Steps.Common.Mount.UnmountExecutor); - (Questionable.Controller.Steps.Common.Mount.UnmountExecutor, Questionable.Controller.Steps.Common.Mount.UnmountTask)? unmountBeforeMovement = default((Questionable.Controller.Steps.Common.Mount.UnmountExecutor, Questionable.Controller.Steps.Common.Mount.UnmountTask)?); - Questionable.Controller.Steps.Common.Mount.MountTask item4 = default(Questionable.Controller.Steps.Common.Mount.MountTask); - while (true) + (Questionable.Controller.Steps.Common.Mount.MountExecutor, Questionable.Controller.Steps.Common.Mount.MountTask)? mountBeforeMovement = _mountBeforeMovement; + if (mountBeforeMovement.HasValue) { - int num2 = num; - int num3 = 3060384; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + Questionable.Controller.Steps.Common.Mount.MountExecutor item = mountBeforeMovement.GetValueOrDefault().Item1; + if (item != null) { - case 16: - return null; - case 12: - _202D_200E_206D_206C_202B_206E_206B_206E_202E_206B_206B_206B_202C_200B_200D_200D_206B_200F_202A_202B_200D_202D_200B_202A_206C_200B_206B_206C_206E_202C_200C_202E_206B_206D_200B_202D_200F_202D_202E_206C_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1388598824), Array.Empty()); - _mountDuringMovement = null; - return null; - case 15: - return ETaskResult.StillRunning; - case 8: - num = 3060398; - break; - case 10: - return ETaskResult.StillRunning; - case 4: - valueOrDefault = tuple.GetValueOrDefault(); - item = valueOrDefault.Item1; - num = ((item == null) ? 3060400 : 3060393); - break; - case 14: - item3 = tuple.GetValueOrDefault().Item1; - num = ((item3 == null) ? 3060386 : 3060384); - break; - case 6: - return null; - case 5: - item2 = unmountBeforeMovement.GetValueOrDefault().Item1; - num = ((item2 == null) ? 3060395 : 3060397); - break; - case 18: - { - long retryAtMs = 0L; - num = ((_mountEvaluator.EvaluateMountState(item4, dryRun: true, ref retryAtMs) != Questionable.Controller.Steps.Common.Mount.MountResult.DontMount) ? 3060401 : 3060396); - break; - } - case 20: - num = ((item.Update() != ETaskResult.TaskComplete) ? 3060402 : 3060385); - break; - case 1: - _202D_200E_206D_206C_202B_206E_206B_206E_202E_206B_206B_206B_202C_200B_200D_200D_206B_200F_202A_202B_200D_202D_200B_202A_206C_200B_206B_206C_206E_202C_200C_202E_206B_206D_200B_202D_200F_202D_202E_206C_202E((ILogger)_logger, 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(-1325578565), Array.Empty()); - _mountDuringMovement = null; - return null; - case 3: - { - _202D_200E_206D_206C_202B_206E_206B_206E_202E_206B_206B_206B_202C_200B_200D_200D_206B_200F_202A_202B_200D_202D_200B_202A_206C_200B_206B_206C_206E_202C_200C_202E_206B_206D_200B_202D_200F_202D_202E_206C_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(392554116), Array.Empty()); - _mountBeforeMovement = null; - System.Action? startAction2 = _startAction; - if (startAction2 == null) + if (item.Update() == ETaskResult.TaskComplete) { - goto case 6; + _logger.LogDebug("MountBeforeMovement complete"); + _mountBeforeMovement = null; + _startAction?.Invoke(); + return null; } - startAction2(); - num = 3060390; - break; - } - case 2: - unmountBeforeMovement = _unmountBeforeMovement; - num = ((!unmountBeforeMovement.HasValue) ? 3060395 : 3060389); - break; - case 7: - return null; - case 19: - { - _202D_200E_206D_206C_202B_206E_206B_206E_202E_206B_206B_206B_202C_200B_200D_200D_206B_200F_202A_202B_200D_202D_200B_202A_206C_200B_206B_206C_206E_202C_200C_202E_206B_206D_200B_202D_200F_202D_202E_206C_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-319907060), Array.Empty()); - _unmountBeforeMovement = null; - System.Action? startAction = _startAction; - if (startAction == null) - { - goto case 7; - } - startAction(); - num = 3060391; - break; - } - case 9: - item4 = valueOrDefault.Item2; - num = (((object)item4 == null) ? 3060400 : 3060404); - break; - case 0: - num = ((item3.Update() != ETaskResult.TaskComplete) ? 3060399 : 3060387); - break; - case 17: - return null; - case 13: - num = ((item2.Update() != ETaskResult.TaskComplete) ? 3060394 : 3060403); - break; - case 11: - tuple = _mountDuringMovement; - num = ((!tuple.HasValue) ? 3060400 : 3060388); - break; + return ETaskResult.StillRunning; } } + (Questionable.Controller.Steps.Common.Mount.UnmountExecutor, Questionable.Controller.Steps.Common.Mount.UnmountTask)? unmountBeforeMovement = _unmountBeforeMovement; + if (unmountBeforeMovement.HasValue) + { + Questionable.Controller.Steps.Common.Mount.UnmountExecutor item2 = unmountBeforeMovement.GetValueOrDefault().Item1; + if (item2 != null) + { + if (item2.Update() == ETaskResult.TaskComplete) + { + _logger.LogDebug("UnmountBeforeMovement complete"); + _unmountBeforeMovement = null; + _startAction?.Invoke(); + return null; + } + return ETaskResult.StillRunning; + } + } + mountBeforeMovement = _mountDuringMovement; + if (mountBeforeMovement.HasValue) + { + (Questionable.Controller.Steps.Common.Mount.MountExecutor, Questionable.Controller.Steps.Common.Mount.MountTask) valueOrDefault = mountBeforeMovement.GetValueOrDefault(); + var (mountExecutor, _) = valueOrDefault; + if (mountExecutor != null) + { + Questionable.Controller.Steps.Common.Mount.MountTask item3 = valueOrDefault.Item2; + if ((object)item3 != null) + { + if (mountExecutor.Update() == ETaskResult.TaskComplete) + { + _logger.LogDebug("MountDuringMovement complete (mounted)"); + _mountDuringMovement = null; + return null; + } + long retryAtMs = 0L; + if (_mountEvaluator.EvaluateMountState(item3, dryRun: true, ref retryAtMs) == Questionable.Controller.Steps.Common.Mount.MountResult.DontMount) + { + _logger.LogDebug("MountDuringMovement implicitly complete (shouldn't mount anymore)"); + _mountDuringMovement = null; + return null; + } + return null; + } + } + } + return null; } public override bool WasInterrupted() { long retryAtMs = 0L; - int num = ((!base.Task.Fly) ? (-794232927) : (-794232921)); - Questionable.Controller.Steps.Common.Mount.MountTask item = default(Questionable.Controller.Steps.Common.Mount.MountTask); - (Questionable.Controller.Steps.Common.Mount.MountExecutor, Questionable.Controller.Steps.Common.Mount.MountTask)? mountBeforeMovement = default((Questionable.Controller.Steps.Common.Mount.MountExecutor, Questionable.Controller.Steps.Common.Mount.MountTask)?); - while (true) + if (base.Task.Fly && _condition[ConditionFlag.InCombat] && !_condition[ConditionFlag.Mounted]) { - int num2 = num; - int num3 = -794232922; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + (Questionable.Controller.Steps.Common.Mount.MountExecutor, Questionable.Controller.Steps.Common.Mount.MountTask)? mountBeforeMovement = _mountBeforeMovement; + if (mountBeforeMovement.HasValue) { - case 0: - return true; - case 5: - num = (_200E_206B_202B_202C_206C_200B_200E_206E_202B_202C_206C_200F_206F_206D_202E_206A_200B_206F_200F_200D_206A_206F_206E_200F_200F_200E_200E_200F_202E_202B_206D_202B_206F_202D_206B_200F_206F_206C_200C_202E(_condition, ConditionFlag.Mounted) ? (-794232927) : (-794232926)); - break; - case 3: - num = ((_mountEvaluator.EvaluateMountState(item, dryRun: true, ref retryAtMs) != Questionable.Controller.Steps.Common.Mount.MountResult.WhenOutOfCombat) ? (-794232927) : (-794232922)); - break; - case 1: - num = ((!_200E_206B_202B_202C_206C_200B_200E_206E_202B_202C_206C_200F_206F_206D_202E_206A_200B_206F_200F_200D_206A_206F_206E_200F_200F_200E_200E_200F_202E_202B_206D_202B_206F_202D_206B_200F_206F_206C_200C_202E(_condition, ConditionFlag.InCombat)) ? (-794232927) : (-794232925)); - break; - case 7: - return base.WasInterrupted(); - case 4: - mountBeforeMovement = _mountBeforeMovement; - num = ((!mountBeforeMovement.HasValue) ? (-794232927) : (-794232924)); - break; - case 6: - num = -794232921; - break; - case 2: - item = mountBeforeMovement.GetValueOrDefault().Item2; - num = (((object)item == null) ? (-794232927) : (-794232923)); - break; + Questionable.Controller.Steps.Common.Mount.MountTask item = mountBeforeMovement.GetValueOrDefault().Item2; + if ((object)item != null && _mountEvaluator.EvaluateMountState(item, dryRun: true, ref retryAtMs) == Questionable.Controller.Steps.Common.Mount.MountResult.WhenOutOfCombat) + { + return true; + } } } + return base.WasInterrupted(); } public override bool ShouldInterruptOnDamage() { - int num = (_mountBeforeMovement.HasValue ? (-1609020690) : (-1609020689)); - while (true) + if (!_mountBeforeMovement.HasValue) { - int num2 = num; - int num3 = -1609020690; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return true; - case 1: - return ShouldResolveCombatBeforeNextInteraction(); - case 2: - goto IL_0054; - } - continue; - IL_0054: - num = -1609020689; + return ShouldResolveCombatBeforeNextInteraction(); } + return true; } private bool ShouldResolveCombatBeforeNextInteraction() @@ -782,67 +421,6 @@ internal sealed class MoveExecutor : TaskExecutor, IToastAware, ITaskE public bool OnErrorToast(SeString message) { - return GameFunctions.GameStringEquals(_cannotExecuteAtThisTime, _202B_200B_202D_206B_206B_202D_202D_206D_200F_202B_202C_206F_202B_200B_200C_202E_206E_206E_200B_202C_206D_206E_206B_202E_202C_206A_206C_202B_206E_202E_206B_202E_206B_206A_206C_202D_200D_200C_202B_202C_202E(message)); - } - - bool IToastAware.OnErrorToast(SeString message) - { - //ILSpy generated this explicit interface implementation from .override directive in OnErrorToast - return this.OnErrorToast(message); - } - - static uint _206F_206B_206A_200C_206B_206C_206D_206B_202E_202D_206E_202C_200F_206B_206E_206C_200D_206F_200D_202E_202C_206C_206A_202B_202D_200C_202E_206B_206D_200F_200C_202D_206E_200E_200C_200D_206B_202E_202D_206B_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static void _202D_200E_206D_206C_202B_206E_206B_206E_202E_206B_206B_206B_202C_200B_200D_200D_206B_200F_202A_202B_200D_202D_200B_202A_206C_200B_206B_206C_206E_202C_200C_202E_206B_206D_200B_202D_200F_202D_202E_206C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static ReadOnlyDictionary _202C_206A_206F_202B_202C_200B_206F_206B_200E_200B_206C_200C_202E_202E_206E_200F_202E_200D_202D_200D_200D_200E_202E_202C_202C_200E_206A_206B_202B_200C_206B_200C_202C_200E_200F_200F_206C_202D_202C_202E_202E(AetheryteData P_0) - { - return P_0.Locations; - } - - static IPlayerCharacter _202A_202D_200B_206D_200F_200C_202D_202B_206F_206A_206B_200E_202E_206C_206E_206C_206B_200C_202B_200D_200F_206E_202D_206D_200F_202E_202D_200C_200F_206D_202B_200B_206A_202C_202B_200F_202C_200F_200C_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static Vector3 _200F_206B_200F_202B_202B_206F_200B_206C_202E_200C_200D_206A_206C_200E_206A_202E_202A_206B_202D_206F_202E_206E_202E_206E_200B_200E_200C_206B_200E_206F_206B_206D_202C_200E_206F_206C_200B_206F_206A_202C_202E(IGameObject P_0) - { - return P_0.Position; - } - - static bool _200E_206B_202B_202C_206C_200B_200E_206E_202B_202C_206C_200F_206F_206D_202E_206A_200B_206F_200F_200D_206A_206F_206E_200F_200F_200E_200E_200F_202E_202B_206D_202B_206F_202D_206B_200F_206F_206C_200C_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static void _206E_206E_206B_202B_202B_206B_206B_206E_206B_200C_200C_202C_206F_202D_200C_202D_202A_200E_206D_206B_200D_206B_206A_206F_202C_206B_206E_200B_200E_200E_206C_202E_206C_206A_200B_206C_200B_206E_206B_206D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static CultureInfo _206E_200D_202A_200B_202B_200B_206F_200D_202A_206A_200D_200E_202B_206B_200D_200D_202A_206C_200B_200C_206B_206E_202C_206B_200B_206A_200C_202E_206A_202C_202E_206B_206F_200F_202A_206B_200E_202A_200E_202B_202E() - { - return CultureInfo.InvariantCulture; - } - - static void _200E_200B_202E_206C_202B_206D_200B_200F_206F_206D_202D_202D_202E_206D_200E_206A_202A_202E_206F_206C_206F_202B_200B_206B_200C_206B_206F_202D_206C_202C_206B_206C_206F_200F_206F_202C_200F_202B_202B_200E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static string _202B_200B_202D_206B_206B_202D_202D_206D_200F_202B_202C_206F_202B_200B_200C_202E_206E_206E_200B_202C_206D_206E_206B_202E_202C_206A_206C_202B_206E_202E_206B_202E_206B_206A_206C_202D_200D_200C_202B_202C_202E(SeString P_0) - { - return P_0.TextValue; - } - - static bool _202E_206C_200D_206A_202E_200C_200C_206E_202D_206D_202D_202C_206C_200E_200E_200B_206C_200B_206A_200E_202E_202D_202B_202A_206F_200D_200D_200B_200E_202B_206D_206C_202A_202D_202A_200E_202D_206E_200F_200C_202E(EAetheryteLocation P_0) - { - return AetheryteConverter.IsLargeAetheryte(P_0); + return GameFunctions.GameStringEquals(_cannotExecuteAtThisTime, message.TextValue); } } diff --git a/Questionable/Questionable.Controller.Steps.Movement/MoveTask.cs b/Questionable/Questionable.Controller.Steps.Movement/MoveTask.cs index 270c5f2..32ad580 100644 --- a/Questionable/Questionable.Controller.Steps.Movement/MoveTask.cs +++ b/Questionable/Questionable.Controller.Steps.Movement/MoveTask.cs @@ -1,27 +1,13 @@ -using System; -using System.Collections.Generic; using System.Globalization; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Questionable.Model.Questing; namespace Questionable.Controller.Steps.Movement; internal sealed record MoveTask(ushort TerritoryId, Vector3 Destination, bool? Mount = null, bool MountRequired = false, bool DismountRequired = false, float? StopDistance = null, uint? DataId = null, bool DisableNavmesh = false, bool? Sprint = null, bool Fly = false, bool Land = false, bool IgnoreDistanceToObject = false, bool RestartNavigation = true, EInteractionType InteractionType = EInteractionType.None, bool SmartNavRouted = false, bool AllowZoneTransition = false, string? RouteTargetNodeId = null, string? RouteApproachNodeId = null) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200B_202D_206A_206A_206D_202A_206F_200E_202A_206A_202D_200F_200B_202E_202B_206B_202C_206F_202E_206F_202D_206A_200C_206B_206F_202D_202B_200C_206B_200D_206D_202E_200F_200F_202C_200B_202B_200E_202D_206E_202E(typeof(MoveTask).TypeHandle); - } - } - public MoveTask(QuestStep step, Vector3 destination) - : this(_200E_200E_200E_206D_200B_206A_200B_200D_206C_200B_202B_202E_202C_206E_200B_200C_206B_202A_206A_202E_202D_202D_202D_200C_202A_202B_206B_206E_200D_202D_206C_202A_200F_206E_202B_206F_206F_202D_206E_206E_202E(step), destination, _200D_200C_200C_200E_206F_206E_206B_206B_206E_206D_206A_206F_202D_202D_206C_206C_200E_200C_206C_202E_202A_206F_200F_206E_206C_206F_202D_202D_202A_202D_202B_206C_202B_206C_200D_202C_200D_206E_200C_202E_202E(step), _206A_202E_200B_206F_206C_206F_200C_202D_200C_200F_206B_200C_202C_206E_200E_206E_200C_200E_200E_206F_206F_202C_202B_200E_200B_206F_206C_206D_206F_206E_200E_202D_202B_200B_202B_206E_202C_200B_202B_200D_202E(step), _200B_206D_200B_202E_202B_202D_206A_206A_202E_202A_200F_200F_206B_200B_202C_200D_206D_200F_202B_206E_200D_206F_200F_202A_206C_206D_202C_200B_200F_200B_200C_202D_202D_200D_202A_206B_202E_200B_202E_206F_202E(step), _206E_200B_202C_200D_206C_202B_206B_200F_202E_206F_206C_200F_206F_200B_206F_202E_206C_202D_200D_202A_206D_206D_202D_200D_206E_202A_202D_206A_200E_202D_202E_206D_202D_200B_202C_206C_206B_200E_206C_202C_202E(step), _202A_200E_206D_202C_206B_206D_200E_206D_206B_202C_200E_202E_200B_202A_206A_200F_202E_200C_206E_200D_200B_200E_202D_206A_202D_200E_206A_200F_206A_200D_200E_200E_206E_202D_202D_200C_202B_200C_202E_202C_202E(step), _202D_202C_200E_202A_200F_202E_202B_202D_200F_206C_200C_200B_200E_206E_200B_200E_202C_200D_202D_200C_200E_202E_200F_202B_206C_200C_206E_200D_200B_202D_200C_206E_200F_200E_206E_206B_206E_200F_200B_200F_202E(step), _200B_206F_200B_202A_206A_202D_200C_202D_206C_202D_202B_200D_202A_202E_200D_202E_206E_200C_206B_206B_206B_206B_206C_200F_206B_200F_206B_202C_206D_202A_206D_202C_202A_202D_206F_206A_200E_206A_202E_202D_202E(step), _202B_200D_206E_206A_200C_202C_206C_200F_206F_202B_206F_206A_200C_202C_200E_200E_200E_200B_206B_200D_202B_200B_200C_202E_206D_206A_202E_200E_200E_206F_202A_206F_206C_200E_200D_206B_206B_200D_200D_202E(step) == true, _200F_200E_202D_206D_206A_206F_206B_206A_202D_200E_206B_202B_206D_200F_206A_200B_202B_200B_200F_200D_200C_202B_206F_200B_200F_202C_200C_206E_202A_206E_206F_200E_202D_200E_202A_200E_206F_206D_202B_202E(step) == true, _202A_202C_202D_206D_202A_200B_206D_202A_200B_202C_200D_206F_202D_206D_206C_200E_202D_200D_200F_202C_206F_202D_206F_202A_202B_206F_202C_206E_206D_202B_206B_206E_200D_200C_200E_206F_206C_200F_200F_202D_202E(step) == true, _200B_202B_200B_202D_200D_200D_206C_202E_200D_200F_202D_200E_202E_202E_206B_202C_206B_206A_206E_202B_200E_202A_206F_206D_202E_200C_202B_200E_202D_202B_200F_206A_206B_200D_206B_202C_200B_206A_206B_202D_202E(step) != false, _206C_202C_206E_202D_200C_200B_206A_202E_200D_202D_200D_202E_206B_206F_206F_200B_200F_200E_206E_200F_200E_206E_206D_206D_206A_206F_206C_202E_200D_206A_202B_206D_202A_206C_206F_202D_200E_206C_206B_206D_202E(step)) + : this(step.TerritoryId, destination, step.Mount, step.MountRequired, step.DismountRequired, step.CalculateActualStopDistance(), step.DataId, step.DisableNavmesh, step.Sprint, step.Fly == true, step.Land == true, step.IgnoreDistanceToObject == true, step.RestartNavigationIfCancelled != false, step.InteractionType) { } @@ -30,246 +16,8 @@ internal sealed record MoveTask(ushort TerritoryId, Vector3 Destination, bool? M return true; } - bool ITask.ShouldRedoOnInterrupt() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt - return this.ShouldRedoOnInterrupt(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return _206C_206B_202E_202E_206C_202B_202A_206C_206F_200D_200C_202D_202C_202D_200C_200D_202B_200B_202E_200C_200B_206A_202D_200C_200D_200E_200D_202C_202A_206F_200F_206C_202D_202D_200E_206E_206F_202A_206A_202A_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2086514441), Destination.ToString(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(2120763774), _206B_202E_200F_200E_202B_206D_200B_200F_206C_200E_202E_200E_200D_200B_202C_200F_206C_200F_202D_206D_206D_202A_206F_206A_206C_206E_200F_200C_206A_202E_206D_206E_202E_202C_200E_202A_206D_202A_206C_206B_202E()), 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(444206578)); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206C_202D_206B_206D_206D_206E_206A_200E_206D_200B_206D_206C_202B_200C_202E_200F_206E_206D_200D_200D_200C_202B_202E_202A_200C_200D_200B_200E_202D_202D_206A_200D_206A_200C_206A_202E_206D_200F_202D_200F_202E(); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, 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(-871596524)); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, TerritoryId.ToString()); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(97945591)); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, Destination.ToString()); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(414886328)); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, Mount.ToString()); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, 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(108142760)); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, MountRequired.ToString()); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(175881775)); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, DismountRequired.ToString()); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, 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(2020394805)); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, StopDistance.ToString()); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, 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(97441196)); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, DataId.ToString()); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1802935875)); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, DisableNavmesh.ToString()); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1156954153)); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, Sprint.ToString()); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1335211848)); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, Fly.ToString()); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, 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(-968192419)); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, Land.ToString()); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2020626995)); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, IgnoreDistanceToObject.ToString()); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1563317227)); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, RestartNavigation.ToString()); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(537136162)); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, InteractionType.ToString()); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, 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(-1260226869)); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, SmartNavRouted.ToString()); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-929404578)); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, AllowZoneTransition.ToString()); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, 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(-1838772789)); - _206E_206E_200B_202A_206D_200C_202A_206F_200F_202E_202A_200F_202E_202B_200E_206E_200C_202E_206F_200F_200D_200E_206C_202C_200D_206A_200B_206B_202C_202E_202D_200C_202E_200F_202C_200C_200C_206F_200C_202E(builder, (object?)RouteTargetNodeId); - _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(778521406)); - _206E_206E_200B_202A_206D_200C_202A_206F_200F_202E_202A_200F_202E_202B_200E_206E_200C_202E_206F_200F_200D_200E_206C_202C_200D_206A_200B_206B_202C_202E_202D_200C_202E_200F_202C_200C_200C_206F_200C_202E(builder, (object?)RouteApproachNodeId); - return true; - } - - [CompilerGenerated] - public bool Equals(MoveTask? other) - { - int num = (((object)this == other) ? (-173643784) : (-173643785)); - while (true) - { - int num2 = num; - int num3 = -173643777; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 15: - num = ((!EqualityComparer.Default.Equals(IgnoreDistanceToObject, other.IgnoreDistanceToObject)) ? (-173643786) : (-173643787)); - break; - case 13: - num = ((!EqualityComparer.Default.Equals(StopDistance, other.StopDistance)) ? (-173643786) : (-173643783)); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(Mount, other.Mount)) ? (-173643786) : (-173643777)); - break; - case 20: - num = ((!EqualityComparer.Default.Equals(RouteTargetNodeId, other.RouteTargetNodeId)) ? (-173643786) : (-173643791)); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(DataId, other.DataId)) ? (-173643786) : (-173643799)); - break; - case 14: - return EqualityComparer.Default.Equals(RouteApproachNodeId, other.RouteApproachNodeId); - case 0: - num = ((!EqualityComparer.Default.Equals(MountRequired, other.MountRequired)) ? (-173643786) : (-173643788)); - break; - case 5: - num = ((!EqualityComparer.Default.Equals(Fly, other.Fly)) ? (-173643786) : (-173643778)); - break; - case 18: - num = ((!EqualityComparer.Default.Equals(AllowZoneTransition, other.AllowZoneTransition)) ? (-173643786) : (-173643797)); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(InteractionType, other.InteractionType)) ? (-173643786) : (-173643796)); - break; - case 12: - num = ((!EqualityComparer.Default.Equals(Sprint, other.Sprint)) ? (-173643786) : (-173643782)); - break; - case 11: - num = ((!EqualityComparer.Default.Equals(DismountRequired, other.DismountRequired)) ? (-173643786) : (-173643790)); - break; - case 10: - num = ((!EqualityComparer.Default.Equals(RestartNavigation, other.RestartNavigation)) ? (-173643786) : (-173643781)); - break; - case 3: - num = ((!_206A_202A_200C_206F_206E_202B_200C_202B_202A_206A_200D_200B_206B_206B_200D_200B_206D_200F_206B_200E_206A_200C_202A_202C_200B_206E_206A_200E_206D_202A_206D_206E_202B_206A_200D_206E_202D_200E_202A_202B_202E(EqualityContract, other.EqualityContract)) ? (-173643786) : (-173643798)); - break; - case 9: - return false; - case 1: - num = ((!EqualityComparer.Default.Equals(Land, other.Land)) ? (-173643786) : (-173643792)); - break; - case 17: - num = -173643785; - break; - case 8: - num = (((object)other == null) ? (-173643786) : (-173643780)); - break; - case 19: - num = ((!EqualityComparer.Default.Equals(SmartNavRouted, other.SmartNavRouted)) ? (-173643786) : (-173643795)); - break; - case 7: - return true; - case 16: - num = ((!EqualityComparer.Default.Equals(Destination, other.Destination)) ? (-173643786) : (-173643779)); - break; - case 21: - num = ((!EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId)) ? (-173643786) : (-173643793)); - break; - case 22: - num = ((!EqualityComparer.Default.Equals(DisableNavmesh, other.DisableNavmesh)) ? (-173643786) : (-173643789)); - break; - } - } - } - - bool IEquatable.Equals(MoveTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type? _200B_202D_206A_206A_206D_202A_206F_200E_202A_206A_202D_200F_200B_202E_202B_206B_202C_206F_202E_206F_202D_206A_200C_206B_206F_202D_202B_200C_206B_200D_206D_202E_200F_200F_202C_200B_202B_200E_202D_206E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static ushort _200E_200E_200E_206D_200B_206A_200B_200D_206C_200B_202B_202E_202C_206E_200B_200C_206B_202A_206A_202E_202D_202D_202D_200C_202A_202B_206B_206E_200D_202D_206C_202A_200F_206E_202B_206F_206F_202D_206E_206E_202E(QuestStep? P_0) - { - return P_0.TerritoryId; - } - - static bool? _200D_200C_200C_200E_206F_206E_206B_206B_206E_206D_206A_206F_202D_202D_206C_206C_200E_200C_206C_202E_202A_206F_200F_206E_206C_206F_202D_202D_202A_202D_202B_206C_202B_206C_200D_202C_200D_206E_200C_202E_202E(QuestStep? P_0) - { - return P_0.Mount; - } - - static bool _206A_202E_200B_206F_206C_206F_200C_202D_200C_200F_206B_200C_202C_206E_200E_206E_200C_200E_200E_206F_206F_202C_202B_200E_200B_206F_206C_206D_206F_206E_200E_202D_202B_200B_202B_206E_202C_200B_202B_200D_202E(QuestStep? P_0) - { - return P_0.MountRequired; - } - - static bool _200B_206D_200B_202E_202B_202D_206A_206A_202E_202A_200F_200F_206B_200B_202C_200D_206D_200F_202B_206E_200D_206F_200F_202A_206C_206D_202C_200B_200F_200B_200C_202D_202D_200D_202A_206B_202E_200B_202E_206F_202E(QuestStep? P_0) - { - return P_0.DismountRequired; - } - - static float _206E_200B_202C_200D_206C_202B_206B_200F_202E_206F_206C_200F_206F_200B_206F_202E_206C_202D_200D_202A_206D_206D_202D_200D_206E_202A_202D_206A_200E_202D_202E_206D_202D_200B_202C_206C_206B_200E_206C_202C_202E(QuestStep? P_0) - { - return P_0.CalculateActualStopDistance(); - } - - static uint? _202A_200E_206D_202C_206B_206D_200E_206D_206B_202C_200E_202E_200B_202A_206A_200F_202E_200C_206E_200D_200B_200E_202D_206A_202D_200E_206A_200F_206A_200D_200E_200E_206E_202D_202D_200C_202B_200C_202E_202C_202E(QuestStep? P_0) - { - return P_0.DataId; - } - - static bool _202D_202C_200E_202A_200F_202E_202B_202D_200F_206C_200C_200B_200E_206E_200B_200E_202C_200D_202D_200C_200E_202E_200F_202B_206C_200C_206E_200D_200B_202D_200C_206E_200F_200E_206E_206B_206E_200F_200B_200F_202E(QuestStep? P_0) - { - return P_0.DisableNavmesh; - } - - static bool? _200B_206F_200B_202A_206A_202D_200C_202D_206C_202D_202B_200D_202A_202E_200D_202E_206E_200C_206B_206B_206B_206B_206C_200F_206B_200F_206B_202C_206D_202A_206D_202C_202A_202D_206F_206A_200E_206A_202E_202D_202E(QuestStep? P_0) - { - return P_0.Sprint; - } - - static bool? _202B_200D_206E_206A_200C_202C_206C_200F_206F_202B_206F_206A_200C_202C_200E_200E_200E_200B_206B_200D_202B_200B_200C_202E_206D_206A_202E_200E_200E_206F_202A_206F_206C_200E_200D_206B_206B_200D_200D_202E(QuestStep? P_0) - { - return P_0.Fly; - } - - static bool? _200F_200E_202D_206D_206A_206F_206B_206A_202D_200E_206B_202B_206D_200F_206A_200B_202B_200B_200F_200D_200C_202B_206F_200B_200F_202C_200C_206E_202A_206E_206F_200E_202D_200E_202A_200E_206F_206D_202B_202E(QuestStep? P_0) - { - return P_0.Land; - } - - static bool? _202A_202C_202D_206D_202A_200B_206D_202A_200B_202C_200D_206F_202D_206D_206C_200E_202D_200D_200F_202C_206F_202D_206F_202A_202B_206F_202C_206E_206D_202B_206B_206E_200D_200C_200E_206F_206C_200F_200F_202D_202E(QuestStep? P_0) - { - return P_0.IgnoreDistanceToObject; - } - - static bool? _200B_202B_200B_202D_200D_200D_206C_202E_200D_200F_202D_200E_202E_202E_206B_202C_206B_206A_206E_202B_200E_202A_206F_206D_202E_200C_202B_200E_202D_202B_200F_206A_206B_200D_206B_202C_200B_206A_206B_202D_202E(QuestStep? P_0) - { - return P_0.RestartNavigationIfCancelled; - } - - static EInteractionType _206C_202C_206E_202D_200C_200B_206A_202E_200D_202D_200D_202E_206B_206F_206F_200B_200F_200E_206E_200F_200E_206E_206D_206D_206A_206F_206C_202E_200D_206A_202B_206D_202A_206C_206F_202D_200E_206C_206B_206D_202E(QuestStep? P_0) - { - return P_0.InteractionType; - } - - static CultureInfo? _206B_202E_200F_200E_202B_206D_200B_200F_206C_200E_202E_200E_200D_200B_202C_200F_206C_200F_202D_206D_206D_202A_206F_206A_206C_206E_200F_200C_206A_202E_206D_206E_202E_202C_200E_202A_206D_202A_206C_206B_202E() - { - return CultureInfo.InvariantCulture; - } - - static string? _206C_206B_202E_202E_206C_202B_202A_206C_206F_200D_200C_202D_202C_202D_200C_200D_202B_200B_202E_200C_200B_206A_202D_200C_200D_200E_200D_202C_202A_206F_200F_206C_202D_202D_200E_206E_206F_202A_206A_202A_202E(string? P_0, string? P_1, string? P_2) - { - return P_0 + P_1 + P_2; - } - - static void _206C_202D_206B_206D_206D_206E_206A_200E_206D_200B_206D_206C_202B_200C_202E_200F_206E_206D_200D_200D_200C_202B_202E_202A_200C_200D_200B_200E_202D_202D_206A_200D_206A_200C_206A_202E_206D_200F_202D_200F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder? _202E_200F_206B_202D_202E_202B_206A_206E_202D_206A_202E_206D_200E_200B_202D_202C_206F_206D_202B_200E_206F_206E_206E_206F_206F_206B_206B_202B_206B_202C_202B_202A_206D_200B_206A_206A_200D_200C_202B_206D_202E(StringBuilder? P_0, string? P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder? _206E_206E_200B_202A_206D_200C_202A_206F_200F_202E_202A_200F_202E_202B_200E_206E_200C_202E_206F_200F_200D_200E_206C_202C_200D_206A_200B_206B_202C_202E_202D_200C_202E_200F_202C_200C_200C_206F_200C_202E(StringBuilder? P_0, object? P_1) - { - return P_0.Append(P_1); - } - - static bool _206A_202A_200C_206F_206E_202B_200C_202B_202A_206A_200D_200B_206B_206B_200D_200B_206D_200F_206B_200E_206A_200C_202A_202C_200B_206E_206A_200E_206D_202A_206D_206E_202B_206A_200D_206E_202D_200E_202A_202B_202E(Type? P_0, Type? P_1) - { - return P_0 == P_1; + return "MoveTo(" + Destination.ToString("G", CultureInfo.InvariantCulture) + ")"; } } diff --git a/Questionable/Questionable.Controller.Steps.Movement/MoveTo.cs b/Questionable/Questionable.Controller.Steps.Movement/MoveTo.cs index b8734bf..33e1172 100644 --- a/Questionable/Questionable.Controller.Steps.Movement/MoveTo.cs +++ b/Questionable/Questionable.Controller.Steps.Movement/MoveTo.cs @@ -1,12 +1,7 @@ using System; -using System.Collections; using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Diagnostics; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using Microsoft.Extensions.Logging; using Questionable.Controller.Steps.Common; @@ -23,875 +18,97 @@ internal static class MoveTo { internal sealed class Factory(IClientState clientState, IObjectTable objectTable, AetheryteData aetheryteData, TerritoryData territoryData, SmartNavStep.Factory smartNavFactory, ILogger logger) : ITaskFactory { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass8_0 - { - public Factory _003C_003E4__this; - - public QuestStep step; - - internal bool _003CCreateMoveToObjectTasks_003Eb__0() - { - return _206B_206A_206C_202D_200D_206A_202E_200F_202E_202C_202B_200B_200C_206D_200B_206F_206D_206F_200E_206A_202D_202A_206E_200B_206B_200D_206C_200C_202D_200F_206D_206B_206C_202A_206D_206F_202E_200D_206B_206E_202E(_003C_003E4__this.clientState) == _206B_202E_206D_202A_206D_200B_202E_200C_206D_206B_200F_206A_206C_200B_206B_206E_206B_202E_202C_202A_202C_206D_202C_206A_202E_200B_206E_206F_202B_206C_206B_206D_200E_206E_200D_206F_206D_200F_206A_202A_202E(step); - } - - static uint _206B_206A_206C_202D_200D_206A_202E_200F_202E_202C_202B_200B_200C_206D_200B_206F_206D_206F_200E_206A_202D_202A_206E_200B_206B_200D_206C_200C_202D_200F_206D_206B_206C_202A_206D_206F_202E_200D_206B_206E_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static ushort _206B_202E_206D_202A_206D_200B_202E_200C_206D_206B_200F_206A_206C_200B_206B_206E_206B_202E_202C_202A_202C_206D_202C_206A_202E_200B_206E_206F_202B_206C_206B_206D_200E_206E_200D_206F_206D_200F_206A_202A_202E(QuestStep P_0) - { - return P_0.TerritoryId; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass9_0 - { - public Factory _003C_003E4__this; - - public QuestStep step; - - internal bool _003CCreateMoveTasks_003Eb__0() - { - return _202A_202A_200F_200E_200E_202E_206B_200B_200C_202C_206E_206B_200E_200D_202D_200F_202E_206C_206D_206E_206C_200E_200E_206F_200D_200D_202E_206D_200F_206A_206D_206E_200D_202A_200E_202C_202D_202E_202C_202E(_003C_003E4__this.clientState) == _202A_206A_206A_200F_200F_206F_206E_202C_202B_200F_202D_206C_200C_200C_200E_202D_202C_200E_200B_206A_202D_200C_200B_206F_200F_202D_200B_206C_206E_202C_200B_202A_200F_202C_202E_200D_206D_206C_206A_206F_202E(step); - } - - static uint _202A_202A_200F_200E_200E_202E_206B_200B_200C_202C_206E_206B_200E_200D_202D_200F_202E_206C_206D_206E_206C_200E_200E_206F_200D_200D_202E_206D_200F_206A_206D_206E_200D_202A_200E_202C_202D_202E_202C_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static ushort _202A_206A_206A_200F_200F_206F_206E_202C_202B_200F_202D_206C_200C_200C_200E_202D_202C_200E_200B_206A_202D_200C_200B_206F_200F_202D_200B_206C_206E_202C_200B_202A_200F_202C_202E_200D_206D_206C_206A_206F_202E(QuestStep P_0) - { - return P_0.TerritoryId; - } - } - - [CompilerGenerated] - private sealed class _003CCreateMoveTasks_003Ed__9 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ITask _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - public Factory _003C_003E4__this; - - private QuestStep step; - - public QuestStep _003C_003E3__step; - - private _003C_003Ec__DisplayClass9_0 _003C_003E8__1; - - private Vector3 destination; - - public Vector3 _003C_003E3__destination; - - ITask IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CCreateMoveTasks_003Ed__9(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _206E_200B_200D_206F_200E_202C_200E_202B_206B_206E_200B_206F_200C_202B_206E_206C_202E_206B_206A_202D_206E_206C_200E_202D_200B_200C_200D_200F_206B_206E_202D_206C_206E_202D_200E_206F_206C_202B_200C_206C_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - _003C_003E8__1 = null; - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - int num = _003C_003E1__state; - Factory factory = _003C_003E4__this; - switch (num) - { - case 2: - goto IL_0231; - case 3: - goto IL_02e4; - case 4: - goto IL_0313; - case 1: - goto IL_0326; - case 0: - goto IL_035a; - } - int num2 = -6884996; - goto IL_0034; - IL_0313: - _003C_003E1__state = -1; - num2 = -6885020; - goto IL_0034; - IL_0034: - IPlayerCharacter playerCharacter = default(IPlayerCharacter); - bool? flag = default(bool?); - bool? flag2 = default(bool?); - while (true) - { - int num3 = num2; - int num4 = -6885012; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 14: - goto IL_00a4; - case 12: - goto IL_00c8; - case 0: - _003C_003E2__current = new WaitNavmesh.Task(); - _003C_003E1__state = 2; - return true; - case 15: - _206D_206D_206E_200B_202C_200B_202A_200D_202E_202E_200E_200C_200D_206C_200E_206F_206A_206D_206A_200D_200E_200F_202C_206E_200D_206C_200E_206F_200F_202E_202A_200C_202D_206B_200D_206C_206D_200B_200D_206C_202E((ILogger)factory.logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2099763005), Array.Empty()); - return false; - case 11: - goto IL_012e; - case 13: - _003C_003E2__current = new LandTask(); - _003C_003E1__state = 4; - return true; - case 1: - _003C_003E2__current = new MoveTask(_003C_003E8__1.step, destination); - _003C_003E1__state = 3; - return true; - case 16: - return false; - case 7: - _003C_003E2__current = new WaitCondition.Task(() => _003C_003Ec__DisplayClass9_0._202A_202A_200F_200E_200E_202E_206B_200B_200C_202C_206E_206B_200E_200D_202D_200F_202E_206C_206D_206E_206C_200E_200E_206F_200D_200D_202E_206D_200F_206A_206D_206E_200D_202A_200E_202C_202D_202E_202C_202E(_003C_003E8__1._003C_003E4__this.clientState) == _003C_003Ec__DisplayClass9_0._202A_206A_206A_200F_200F_206F_206E_202C_202B_200F_202D_206C_200C_200C_200E_202D_202C_200E_200B_206A_202D_200C_200B_206F_200F_202D_200B_206C_206E_202C_200B_202A_200F_202C_202E_200D_206D_206C_206A_206F_202E(_003C_003E8__1.step), _200B_206A_200C_206D_202C_200B_200C_206A_202C_206D_200B_206B_200F_202D_202B_202E_202B_202C_200C_206B_206D_202D_200C_206E_200D_206C_200F_200D_200D_200B_206F_206E_202B_200B_206E_202B_202D_200B_206C_206C_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(923276170), factory.territoryData.GetNameAndId(_206E_206B_200C_200E_200B_202B_200F_206F_202E_206C_206A_206C_202B_202A_200D_200C_206D_202B_202D_200C_206F_200B_202A_200D_202C_200D_206C_206F_206F_202A_202C_206E_206E_202C_206D_202A_206C_200D_206A_206D_202E(_003C_003E8__1.step)), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295))); - _003C_003E1__state = 1; - return true; - case 19: - goto IL_01e0; - case 4: - goto IL_020d; - case 5: - goto end_IL_0034; - case 3: - goto IL_0244; - case 18: - goto IL_027a; - case 8: - return false; - case 6: - goto IL_02e4; - case 17: - goto IL_0313; - case 2: - goto IL_0326; - case 10: - goto IL_035a; - case 9: - num2 = -6884996; - break; - } - continue; - IL_027a: - num2 = ((!((_206D_206A_200C_206C_200C_202D_206E_206C_200E_202D_206F_202A_200C_206F_202E_206F_206D_206C_206C_202D_206B_206D_202E_206E_206A_206F_200D_206E_200B_200F_202B_206E_202C_202A_200C_200F_200B_200B_206F_206D_202E((IGameObject)playerCharacter) - _202C_202A_202D_202A_206D_202C_202D_206F_202A_200E_202B_206B_200F_202C_206C_206E_206C_202D_202E_200E_202C_200B_202D_206E_206B_202E_206E_200C_206D_200D_202E_202E_200E_202C_202C_200C_200C_200D_200C_206F_202E(_206B_206D_202A_202C_206B_206A_202B_206C_200E_202E_202C_202D_206B_200D_206D_200E_202B_202E_200D_200F_200C_206A_206E_200C_206B_202B_200B_200F_202D_202A_206C_206C_206B_206F_202D_202D_200E_202E_200C_202C_202E(_003C_003E8__1.step))).Length() <= (_200B_200D_206B_200D_202E_200F_206C_206A_206C_200F_200E_202A_202B_200E_202A_206B_202D_202C_202A_202C_202D_206E_206E_206A_206E_200F_206C_206A_202C_200D_202D_200B_206D_202A_200C_206A_200F_206C_202E_200D_202E(_206B_206D_202A_202C_206B_206A_202B_206C_200E_202E_202C_202D_206B_200D_206D_200E_202B_202E_200D_200F_200C_206A_206E_200C_206B_202B_200B_200F_202D_202A_206C_206C_206B_206F_202D_202D_200E_202E_200C_202C_202E(_003C_003E8__1.step)) ?? 1f))) ? (-6885013) : (-6885021)); - continue; - IL_00a4: - num2 = ((flag != true) ? (-6885020) : (-6885023)); - continue; - IL_012e: - num2 = ((playerCharacter == null) ? (-6885013) : (-6884994)); - continue; - IL_0244: - flag2 = _200F_200F_206E_202E_206E_206C_206D_200F_200E_206D_200D_206A_202B_206B_200C_206B_206E_206B_206E_206B_202B_202C_202A_200F_206C_202C_200C_200D_206F_206E_200E_206C_206E_206A_202E_200F_206A_206E_200D_200D_202E(_003C_003E8__1.step); - num2 = ((!flag2.HasValue) ? (-6885020) : (-6885016)); - continue; - IL_01e0: - num2 = ((_206B_206D_202A_202C_206B_206A_202B_206C_200E_202E_202C_202D_206B_200D_206D_200E_202B_202E_200D_200F_200C_206A_206E_200C_206B_202B_200B_200F_202D_202A_206C_206C_206B_206F_202D_202D_200E_202E_200C_202C_202E(_003C_003E8__1.step) == null) ? (-6885013) : (-6885017)); - continue; - IL_00c8: - flag = _206E_202A_206C_200F_206B_202A_200F_206D_206D_206B_206F_206A_206C_206C_200C_200C_206F_206F_206C_206A_206D_206E_206F_202C_200C_202B_200B_202C_206C_200B_200B_202B_206F_202E_206F_200B_206F_206C_206E_202A_202E(_003C_003E8__1.step); - num2 = ((!flag.HasValue) ? (-6885020) : (-6885022)); - continue; - IL_020d: - num2 = ((flag2 != true) ? (-6885020) : (-6885024)); - continue; - end_IL_0034: - break; - } - goto IL_0231; - IL_02e4: - _003C_003E1__state = -1; - num2 = ((_003C_003E8__1.step == null) ? (-6885020) : (-6885009)); - goto IL_0034; - IL_0231: - _003C_003E1__state = -1; - num2 = -6885011; - goto IL_0034; - IL_0326: - _003C_003E1__state = -1; - num2 = (_202D_202B_200B_202D_206F_202A_206C_200F_206C_200D_202D_202A_200B_206F_202A_206D_200E_206D_200B_206F_206A_206A_200B_206D_200F_206A_206C_200D_200D_206B_200D_202E_200F_202C_200C_200B_206F_206C_206C_202E(_003C_003E8__1.step) ? (-6885011) : (-6885012)); - goto IL_0034; - IL_035a: - _003C_003E1__state = -1; - _003C_003E8__1 = new _003C_003Ec__DisplayClass9_0(); - _003C_003E8__1._003C_003E4__this = _003C_003E4__this; - _003C_003E8__1.step = step; - playerCharacter = _206E_202A_206D_206A_206A_206C_206C_206E_202D_200F_202B_202D_206C_206A_200E_206A_206E_206F_200C_202A_206F_206F_202B_206C_202D_206B_206C_206F_202D_200F_202A_200E_200D_200D_202C_202E_202D_206C_200F_202B_202E(factory.objectTable); - num2 = ((_206F_200E_206E_202E_206D_200E_206A_206F_200E_202E_202E_200C_206A_206C_202D_200F_206C_200B_200D_200C_202C_200C_206D_206E_200C_206B_206B_202D_206C_202E_202D_200D_206E_202E_202A_206A_200C_200E_202D_202E(_003C_003E8__1.step) != EInteractionType.Jump) ? (-6885013) : (-6884993)); - goto IL_0034; - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _206B_200F_202D_202D_202A_202C_206E_206C_206E_200D_202E_206F_200F_202B_202D_202B_206A_206F_206A_200B_202E_202B_202B_206B_206B_200D_206D_206F_206C_206A_202D_200B_200D_202C_202C_200F_200E_206D_202A_202E_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? (-1841135018) : (-1841135017)); - _003CCreateMoveTasks_003Ed__9 _003CCreateMoveTasks_003Ed__ = default(_003CCreateMoveTasks_003Ed__9); - while (true) - { - int num2 = num; - int num3 = -1841135019; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - _003CCreateMoveTasks_003Ed__ = new _003CCreateMoveTasks_003Ed__9(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = -1841135019; - break; - case 0: - _003CCreateMoveTasks_003Ed__.step = _003C_003E3__step; - _003CCreateMoveTasks_003Ed__.destination = _003C_003E3__destination; - return _003CCreateMoveTasks_003Ed__; - case 4: - num = -1841135017; - break; - case 1: - _003C_003E1__state = 0; - _003CCreateMoveTasks_003Ed__ = this; - num = -1841135019; - break; - case 2: - num = ((_003C_003El__initialThreadId != _206E_200B_200D_206F_200E_202C_200E_202B_206B_206E_200B_206F_200C_202B_206E_206C_202E_206B_206A_202D_206E_206C_200E_202D_200B_200C_200D_200F_206B_206E_202D_206C_206E_202D_200E_206F_206C_202B_200C_206C_202E()) ? (-1841135018) : (-1841135020)); - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _206E_200B_200D_206F_200E_202C_200E_202B_206B_206E_200B_206F_200C_202B_206E_206C_202E_206B_206A_202D_206E_206C_200E_202D_200B_200C_200D_200F_206B_206E_202D_206C_206E_202D_200E_206F_206C_202B_200C_206C_202E() - { - return Environment.CurrentManagedThreadId; - } - - static IPlayerCharacter _206E_202A_206D_206A_206A_206C_206C_206E_202D_200F_202B_202D_206C_206A_200E_206A_206E_206F_200C_202A_206F_206F_202B_206C_202D_206B_206C_206F_202D_200F_202A_200E_200D_200D_202C_202E_202D_206C_200F_202B_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static EInteractionType _206F_200E_206E_202E_206D_200E_206A_206F_200E_202E_202E_200C_206A_206C_202D_200F_206C_200B_200D_200C_202C_200C_206D_206E_200C_206B_206B_202D_206C_202E_202D_200D_206E_202E_202A_206A_200C_200E_202D_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static JumpDestination _206B_206D_202A_202C_206B_206A_202B_206C_200E_202E_202C_202D_206B_200D_206D_200E_202B_202E_200D_200F_200C_206A_206E_200C_206B_202B_200B_200F_202D_202A_206C_206C_206B_206F_202D_202D_200E_202E_200C_202C_202E(QuestStep P_0) - { - return P_0.JumpDestination; - } - - static Vector3 _206D_206A_200C_206C_200C_202D_206E_206C_200E_202D_206F_202A_200C_206F_202E_206F_206D_206C_206C_202D_206B_206D_202E_206E_206A_206F_200D_206E_200B_200F_202B_206E_202C_202A_200C_200F_200B_200B_206F_206D_202E(IGameObject P_0) - { - return P_0.Position; - } - - static Vector3 _202C_202A_202D_202A_206D_202C_202D_206F_202A_200E_202B_206B_200F_202C_206C_206E_206C_202D_202E_200E_202C_200B_202D_206E_206B_202E_206E_200C_206D_200D_202E_202E_200E_202C_202C_200C_200C_200D_200C_206F_202E(JumpDestination P_0) - { - return P_0.Position; - } - - static float? _200B_200D_206B_200D_202E_200F_206C_206A_206C_200F_200E_202A_202B_200E_202A_206B_202D_202C_202A_202C_202D_206E_206E_206A_206E_200F_206C_206A_202C_200D_202D_200B_206D_202A_200C_206A_200F_206C_202E_200D_202E(JumpDestination P_0) - { - return P_0.StopDistance; - } - - static void _206D_206D_206E_200B_202C_200B_202A_200D_202E_202E_200E_200C_200D_206C_200E_206F_206A_206D_206A_200D_200E_200F_202C_206E_200D_206C_200E_206F_200F_202E_202A_200C_202D_206B_200D_206C_206D_200B_200D_206C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static ushort _206E_206B_200C_200E_200B_202B_200F_206F_202E_206C_206A_206C_202B_202A_200D_200C_206D_202B_202D_200C_206F_200B_202A_200D_202C_200D_206C_206F_206F_202A_202C_206E_206E_202C_206D_202A_206C_200D_206A_206D_202E(QuestStep P_0) - { - return P_0.TerritoryId; - } - - static string _200B_206A_200C_206D_202C_200B_200C_206A_202C_206D_200B_206B_200F_202D_202B_202E_202B_202C_200C_206B_206D_202D_200C_206E_200D_206C_200F_200D_200D_200B_206F_206E_202B_200B_206E_202B_202D_200B_206C_206C_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static bool _202D_202B_200B_202D_206F_202A_206C_200F_206C_200D_202D_202A_200B_206F_202A_206D_200E_206D_200B_206F_206A_206A_200B_206D_200F_206A_206C_200D_200D_206B_200D_202E_200F_202C_200C_200B_206F_206C_206C_202E(QuestStep P_0) - { - return P_0.DisableNavmesh; - } - - static bool? _200F_200F_206E_202E_206E_206C_206D_200F_200E_206D_200D_206A_202B_206B_200C_206B_206E_206B_206E_206B_202B_202C_202A_200F_206C_202C_200C_200D_206F_206E_200E_206C_206E_206A_202E_200F_206A_206E_200D_200D_202E(QuestStep P_0) - { - return P_0.Fly; - } - - static bool? _206E_202A_206C_200F_206B_202A_200F_206D_206D_206B_206F_206A_206C_206C_200C_200C_206F_206F_206C_206A_206D_206E_206F_202C_200C_202B_200B_202C_206C_200B_200B_202B_206F_202E_206F_200B_206F_206C_206E_202A_202E(QuestStep P_0) - { - return P_0.Land; - } - - static NotSupportedException _206B_200F_202D_202D_202A_202C_206E_206C_206E_200D_202E_206F_200F_202B_202D_202B_206A_206F_206A_200B_202E_202B_202B_206B_206B_200D_206D_206F_206C_206A_202D_200B_200D_202C_202C_200F_200E_206D_202A_202E_202E() - { - return new NotSupportedException(); - } - } - - [CompilerGenerated] - private sealed class _003CCreateMoveToObjectTasks_003Ed__8 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ITask _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - public Factory _003C_003E4__this; - - private QuestStep step; - - public QuestStep _003C_003E3__step; - - private _003C_003Ec__DisplayClass8_0 _003C_003E8__1; - - ITask IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CCreateMoveToObjectTasks_003Ed__8(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _206E_202C_200C_200E_206D_206B_206A_202E_202B_200B_206D_202B_200C_200E_206F_206F_202E_206E_206B_200F_200B_202D_200C_206F_200B_206A_202E_200F_202B_200C_206F_202A_202D_202D_206D_206B_206C_206A_202D_206F_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - _003C_003E8__1 = null; - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - int num = _003C_003E1__state; - Factory factory = _003C_003E4__this; - int num2; - switch (num) - { - default: - num2 = -1973141890; - goto IL_002f; - case 2: - _003C_003E1__state = -1; - num2 = -1973141894; - goto IL_002f; - case 1: - goto IL_007d; - case 0: - goto IL_00c3; - case 3: - break; - IL_002f: - while (true) - { - int num3 = num2; - int num4 = -1973141893; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 7: - goto end_IL_002f; - case 3: - goto IL_007d; - case 0: - _003C_003E2__current = new WaitNavmesh.Task(); - _003C_003E1__state = 2; - return true; - case 6: - goto IL_00c3; - case 2: - goto end_IL_000f; - case 1: - _003C_003E2__current = new MoveToObject(_003C_003E8__1.step); - _003C_003E1__state = 3; - return true; - case 4: - num2 = -1973141890; - break; - case 5: - return false; - } - continue; - end_IL_002f: - break; - } - goto case 2; - IL_00c3: - _003C_003E1__state = -1; - _003C_003E8__1 = new _003C_003Ec__DisplayClass8_0(); - _003C_003E8__1._003C_003E4__this = _003C_003E4__this; - _003C_003E8__1.step = step; - _003C_003E2__current = new WaitCondition.Task(() => _003C_003Ec__DisplayClass8_0._206B_206A_206C_202D_200D_206A_202E_200F_202E_202C_202B_200B_200C_206D_200B_206F_206D_206F_200E_206A_202D_202A_206E_200B_206B_200D_206C_200C_202D_200F_206D_206B_206C_202A_206D_206F_202E_200D_206B_206E_202E(_003C_003E8__1._003C_003E4__this.clientState) == _003C_003Ec__DisplayClass8_0._206B_202E_206D_202A_206D_200B_202E_200C_206D_206B_200F_206A_206C_200B_206B_206E_206B_202E_202C_202A_202C_206D_202C_206A_202E_200B_206E_206F_202B_206C_206B_206D_200E_206E_200D_206F_206D_200F_206A_202A_202E(_003C_003E8__1.step), _202B_202C_206F_202E_202E_202D_200B_206C_200C_202C_200D_206A_202E_206C_206E_200F_202D_202E_202E_202D_200E_200C_206B_200F_206C_206B_200D_200F_202E_202E_200F_200B_200F_202A_200C_206C_202C_206E_200B_206D_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-344536108), factory.territoryData.GetNameAndId(_206E_200D_200E_202B_206D_206D_202E_202B_206D_200D_200B_202A_200B_206A_206F_206D_202E_202B_200E_206C_206B_206F_202B_200E_206E_206E_202A_206E_202D_200D_200F_200D_202B_200B_202E_200B_200D_202E_206A_206E_202E(_003C_003E8__1.step)), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295))); - _003C_003E1__state = 1; - return true; - IL_007d: - _003C_003E1__state = -1; - num2 = (_202E_200C_206C_200B_206D_200D_202E_206E_202C_202B_200F_202D_200E_202E_202B_200B_202B_202A_202E_206F_200F_200E_206F_200B_200C_206F_202E_206C_202E_202C_200F_206C_206B_206C_200D_206D_202C_200B_206F_202C_202E(_003C_003E8__1.step) ? (-1973141894) : (-1973141893)); - goto IL_002f; - end_IL_000f: - break; - } - _003C_003E1__state = -1; - return false; - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _202B_202D_206C_206F_202E_200E_200C_206D_202A_200B_202D_200C_206A_200E_206E_206B_206B_202B_200D_200B_202E_206A_202E_202C_206D_200B_206C_200B_202C_200F_202C_200F_206D_206C_200C_206C_202B_200D_206C_200D_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? (-1685384377) : (-1685384379)); - _003CCreateMoveToObjectTasks_003Ed__8 _003CCreateMoveToObjectTasks_003Ed__ = default(_003CCreateMoveToObjectTasks_003Ed__8); - while (true) - { - int num2 = num; - int num3 = -1685384378; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _003CCreateMoveToObjectTasks_003Ed__.step = _003C_003E3__step; - return _003CCreateMoveToObjectTasks_003Ed__; - case 3: - num = ((_003C_003El__initialThreadId != _206E_202C_200C_200E_206D_206B_206A_202E_202B_200B_206D_202B_200C_200E_206F_206F_202E_206E_206B_200F_200B_202D_200C_206F_200B_206A_202E_200F_202B_200C_206F_202A_202D_202D_206D_206B_206C_206A_202D_206F_202E()) ? (-1685384377) : (-1685384382)); - break; - case 4: - _003C_003E1__state = 0; - _003CCreateMoveToObjectTasks_003Ed__ = this; - num = -1685384378; - break; - case 2: - num = -1685384379; - break; - case 1: - _003CCreateMoveToObjectTasks_003Ed__ = new _003CCreateMoveToObjectTasks_003Ed__8(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = -1685384378; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _206E_202C_200C_200E_206D_206B_206A_202E_202B_200B_206D_202B_200C_200E_206F_206F_202E_206E_206B_200F_200B_202D_200C_206F_200B_206A_202E_200F_202B_200C_206F_202A_202D_202D_206D_206B_206C_206A_202D_206F_202E() - { - return Environment.CurrentManagedThreadId; - } - - static ushort _206E_200D_200E_202B_206D_206D_202E_202B_206D_200D_200B_202A_200B_206A_206F_206D_202E_202B_200E_206C_206B_206F_202B_200E_206E_206E_202A_206E_202D_200D_200F_200D_202B_200B_202E_200B_200D_202E_206A_206E_202E(QuestStep P_0) - { - return P_0.TerritoryId; - } - - static string _202B_202C_206F_202E_202E_202D_200B_206C_200C_202C_200D_206A_202E_206C_206E_200F_202D_202E_202E_202D_200E_200C_206B_200F_206C_206B_200D_200F_202E_202E_200F_200B_200F_202A_200C_206C_202C_206E_200B_206D_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static bool _202E_200C_206C_200B_206D_200D_202E_206E_202C_202B_200F_202D_200E_202E_202B_200B_202B_202A_202E_206F_200F_200E_206F_200B_200C_206F_202E_206C_202E_202C_200F_206C_206B_206C_200D_206D_202C_200B_206F_202C_202E(QuestStep P_0) - { - return P_0.DisableNavmesh; - } - - static NotSupportedException _202B_202D_206C_206F_202E_200E_200C_206D_202A_200B_202D_200C_206A_200E_206E_206B_206B_202B_200D_200B_202E_206A_202E_202C_206D_200B_206C_200B_202C_200F_202C_200F_206D_206C_200C_206C_202B_200D_206C_200D_202E() - { - return new NotSupportedException(); - } - } - public IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((!smartNavFactory.HandledRouting) ? (-434907777) : (-434907787)); - EAetheryteLocation valueOrDefault = default(EAetheryteLocation); - EAetheryteLocation? eAetheryteLocation = default(EAetheryteLocation?); - bool flag = default(bool); - List list = default(List); - Vector3 destination = default(Vector3); - while (true) + if (smartNavFactory.HandledRouting) { - int num2 = num; - int num3 = -434907786; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return Array.Empty(); + } + if (step.DataIds.Count > 0) + { + return Array.Empty(); + } + if (step.Position.HasValue) + { + List landingZones = step.LandingZones; + Vector3 destination = ((landingZones == null || landingZones.Count <= 0) ? step.Position.Value : LandingZoneMath.CalculateLandingLocation(step.LandingZones)); + return CreateMoveTasks(step, destination); + } + if (step != null && step.DataId.HasValue && step.StopDistance.HasValue) + { + return new global::_003C_003Ez__ReadOnlySingleElementList(new WaitForNearDataId(step.DataId.Value, step.StopDistance.Value)); + } + if (step != null && step.DataId.HasValue && !step.Position.HasValue) + { + return CreateMoveToObjectTasks(step); + } + EAetheryteLocation valueOrDefault = default(EAetheryteLocation); + bool flag; + if (step != null) + { + EInteractionType interactionType = step.InteractionType; + if ((uint)(interactionType - 4) <= 1u) { - case 23: - return Array.Empty(); - case 1: - num = ((!_200B_200B_206B_206F_206A_202E_206D_200C_200F_200C_200E_200F_202A_202E_200E_206B_206B_202E_200B_206E_206C_200C_200C_206D_202B_206E_200E_206A_202B_202B_200C_200E_202E_202B_202D_206E_202C_200F_202C_200C_202E(step).HasValue) ? (-434907791) : (-434907783)); - break; - case 4: - num = ((_206A_202A_206A_206C_206C_202B_202D_206E_206B_202E_206E_206A_202E_206F_200B_206D_206D_200F_202B_202C_206F_202B_202D_206E_200B_206C_200C_206C_206C_200F_202A_200F_200E_202E_206D_202C_206A_202B_200B_202D_202E(step) != EInteractionType.AttuneAethernetShard) ? (-434907807) : (-434907786)); - break; - case 12: - valueOrDefault = eAetheryteLocation.GetValueOrDefault(); - flag = true; - num = -434907793; - break; - case 21: - return Array.Empty(); - case 10: - return CreateMoveToObjectTasks(step); - case 6: - num = ((step == null) ? (-434907807) : (-434907790)); - break; - case 5: - list = _206D_202C_202D_206F_206F_206A_202B_206B_206F_206A_202C_200C_200C_206E_202E_206F_206E_202E_202D_202B_200E_206D_202A_206D_202B_200E_200C_206C_202E_202A_200D_202B_206A_202D_202D_200D_202D_206B_202B_202E(step); - num = ((list == null) ? (-434907794) : (-434907784)); - break; - case 14: - num = ((list.Count <= 0) ? (-434907794) : (-434907808)); - break; - case 15: - return new global::_003C_003Ez__ReadOnlySingleElementList(new WaitForNearDataId(_202A_200D_206E_200D_200E_200B_202D_200B_202B_206B_206C_200E_202E_206B_206E_202E_200F_200D_200C_200B_202B_202B_206E_200C_206A_200C_200B_202A_202E_206B_200B_206B_206D_200C_206E_200C_202C_202A_200D_200E_202E(step).Value, _200B_200B_206B_206F_206A_202E_206D_200C_200F_200C_200E_200F_202A_202E_200E_206B_206B_202E_200B_206E_206C_200C_200C_206D_202B_206E_200E_206A_202B_202B_200C_200E_202E_202B_202D_206E_202C_200F_202C_200C_202E(step).Value)); - case 2: - num = ((!_206D_202C_202B_202A_202B_206B_200B_206A_202E_200D_202E_200C_206E_206B_200F_206A_200E_200C_200F_206B_202B_200E_202C_206E_200F_200D_200F_202D_200D_200E_206E_206B_206C_206F_206A_202B_206C_206E_206D_202B_202E(step).HasValue) ? (-434907781) : (-434907789)); - break; - case 17: - num = (_206D_202C_202B_202A_202B_206B_200B_206A_202E_200D_202E_200C_206E_206B_200F_206A_200E_200C_200F_206B_202B_200E_202C_206E_200F_200D_200F_202D_200D_200E_206E_206B_206C_206F_206A_202B_206C_206E_206D_202B_202E(step).HasValue ? (-434907804) : (-434907780)); - break; - case 26: - { - EAetheryteLocation valueOrDefault2 = eAetheryteLocation.GetValueOrDefault(); - return CreateMoveTasks(step, _206B_206E_206C_200C_200C_200F_206A_206E_202E_202D_202C_200B_206F_200D_200E_206A_202B_206C_206E_200F_206A_206B_206B_206F_206D_206D_200F_202C_200C_206C_206E_200C_202E_200F_200B_206B_206B_202C_202E_206F_202E(aetheryteData)[valueOrDefault2]); - } - case 0: - eAetheryteLocation = _200D_200C_206A_200D_202B_206B_200E_206B_200F_202A_200B_206A_206A_202D_200F_200B_200F_202E_206A_206D_202B_200C_200F_206E_206A_202C_206A_206D_206F_206C_202E_200D_200F_206D_206D_202C_202A_206A_206C_202B_202E(step); - num = ((!eAetheryteLocation.HasValue) ? (-434907807) : (-434907796)); - break; - case 27: - return CreateMoveTasks(step, _206B_206E_206C_200C_200C_200F_206A_206E_202E_202D_202C_200B_206F_200D_200E_206A_202B_206C_206E_200F_206A_206B_206B_206F_206D_206D_200F_202C_200C_206C_206E_200C_202E_200F_200B_206B_206B_202C_202E_206F_202E(aetheryteData)[valueOrDefault]); - case 18: - num = ((step == null) ? (-434907797) : (-434907798)); - break; - case 3: - return Array.Empty(); - case 13: - num = ((step == null) ? (-434907791) : (-434907778)); - break; - case 9: - num = ((_202B_202E_202C_200C_202A_206E_206E_202B_206C_206A_200D_206D_206C_206C_200C_206A_202C_202D_206C_206F_206A_206A_202C_200C_202D_200C_202E_200E_202C_206C_206F_206B_202E_200E_206F_206D_206E_202E_206E_202E_202E(step).Count <= 0) ? (-434907788) : (-434907805)); - break; - case 29: - flag = false; - num = -434907793; - break; - case 16: - eAetheryteLocation = _200F_206A_202A_206F_206F_200E_206F_202B_200C_206C_202C_200C_206F_200C_200D_202A_206F_200E_206F_206A_206E_206C_200D_202D_206B_206E_202B_206E_200E_206F_200D_206B_206D_206E_206E_200B_200F_202C_202D_200E_202E(step); - num = ((!eAetheryteLocation.HasValue) ? (-434907797) : (-434907782)); - break; - case 7: - num = ((step == null) ? (-434907804) : (-434907779)); - break; - case 22: - destination = _202D_206B_200C_202E_200D_200F_202D_202D_200F_200D_200E_200B_206A_200E_202C_202B_202C_202D_200D_206C_200D_206F_202A_200D_202C_206A_200E_206B_202D_200D_206F_202D_206B_206B_200D_206B_206C_206A_206A_202D_202E((IReadOnlyList)_206D_202C_202D_206F_206F_206A_202B_206B_206F_206A_202C_200C_200C_206E_202E_206F_206E_202E_202D_202B_200E_206D_202A_206D_202B_200E_200C_206C_202E_202A_200D_202B_206A_202D_202D_200D_202D_206B_202B_202E(step)); - num = -434907806; - break; - case 28: - { - EInteractionType eInteractionType = _206A_202A_206A_206C_206C_202B_202D_206E_206B_202E_206E_206A_202E_206F_200B_206D_206D_200F_202B_202C_206F_202B_202D_206E_200B_206C_200C_206C_206C_200F_202A_200F_200E_202E_206D_202C_206A_202B_200B_202D_202E(step); - num = (((uint)(eInteractionType - 4) > 1u) ? (-434907797) : (-434907802)); - break; - } - case 20: - return CreateMoveTasks(step, destination); - case 8: - num = ((!_202A_200D_206E_200D_200E_200B_202D_200B_202B_206B_206C_200E_202E_206B_206E_202E_200F_200D_200C_200B_202B_202B_206E_200C_206A_200C_200B_202A_202E_206B_200B_206B_206D_200C_206E_200C_202C_202A_200D_200E_202E(step).HasValue) ? (-434907791) : (-434907785)); - break; - case 19: - num = -434907787; - break; - case 11: - num = ((!_202A_200D_206E_200D_200E_200B_202D_200B_202B_206B_206C_200E_202E_206B_206E_202E_200F_200D_200C_200B_202B_202B_206E_200C_206A_200C_200B_202A_202E_206B_200B_206B_206D_200C_206E_200C_202C_202A_200D_200E_202E(step).HasValue) ? (-434907804) : (-434907801)); - break; - case 24: - destination = _206D_202C_202B_202A_202B_206B_200B_206A_202E_200D_202E_200C_206E_206B_200F_206A_200E_200C_200F_206B_202B_200E_202C_206E_200F_200D_200F_202D_200D_200E_206E_206B_206C_206F_206A_202B_206C_206E_206D_202B_202E(step).Value; - num = -434907806; - break; - case 25: - num = ((!flag) ? (-434907792) : (-434907795)); - break; + EAetheryteLocation? aetheryte = step.Aetheryte; + if (aetheryte.HasValue) + { + valueOrDefault = aetheryte.GetValueOrDefault(); + flag = true; + goto IL_011b; + } } } - } - - IEnumerable ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks - return this.CreateAllTasks(quest, sequence, step); + flag = false; + goto IL_011b; + IL_011b: + if (flag) + { + return CreateMoveTasks(step, aetheryteData.Locations[valueOrDefault]); + } + if (step != null && step.InteractionType == EInteractionType.AttuneAethernetShard) + { + EAetheryteLocation? aetheryte = step.AethernetShard; + if (aetheryte.HasValue) + { + EAetheryteLocation valueOrDefault2 = aetheryte.GetValueOrDefault(); + return CreateMoveTasks(step, aetheryteData.Locations[valueOrDefault2]); + } + } + return Array.Empty(); } private IEnumerable CreateMoveToObjectTasks(QuestStep step) { - while (true) + yield return new WaitCondition.Task(() => clientState.TerritoryType == step.TerritoryId, "Wait(territory: " + territoryData.GetNameAndId(step.TerritoryId) + ")"); + if (!step.DisableNavmesh) { - yield return new WaitCondition.Task(() => _003C_003Ec__DisplayClass8_0._206B_206A_206C_202D_200D_206A_202E_200F_202E_202C_202B_200B_200C_206D_200B_206F_206D_206F_200E_206A_202D_202A_206E_200B_206B_200D_206C_200C_202D_200F_206D_206B_206C_202A_206D_206F_202E_200D_206B_206E_202E(clientState) == _003C_003Ec__DisplayClass8_0._206B_202E_206D_202A_206D_200B_202E_200C_206D_206B_200F_206A_206C_200B_206B_206E_206B_202E_202C_202A_202C_206D_202C_206A_202E_200B_206E_206F_202B_206C_206B_206D_200E_206E_200D_206F_206D_200F_206A_202A_202E(step), _003CCreateMoveToObjectTasks_003Ed__8._202B_202C_206F_202E_202E_202D_200B_206C_200C_202C_200D_206A_202E_206C_206E_200F_202D_202E_202E_202D_200E_200C_206B_200F_206C_206B_200D_200F_202E_202E_200F_200B_200F_202A_200C_206C_202C_206E_200B_206D_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-344536108), territoryData.GetNameAndId(_003CCreateMoveToObjectTasks_003Ed__8._206E_200D_200E_202B_206D_206D_202E_202B_206D_200D_200B_202A_200B_206A_206F_206D_202E_202B_200E_206C_206B_206F_202B_200E_206E_206E_202A_206E_202D_200D_200F_200D_202B_200B_202E_200B_200D_202E_206A_206E_202E(step)), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295))); - while (true) - { - int num = (_003CCreateMoveToObjectTasks_003Ed__8._202E_200C_206C_200B_206D_200D_202E_206E_202C_202B_200F_202D_200E_202E_202B_200B_202B_202A_202E_206F_200F_200E_206F_200B_200C_206F_202E_206C_202E_202C_200F_206C_206B_206C_200D_206D_202C_200B_206F_202C_202E(step) ? (-1973141894) : (-1973141893)); - while (true) - { - int num2 = num; - int num3 = -1973141893; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 7: - num = -1973141894; - break; - case 3: - goto end_IL_002f; - case 0: - yield return new WaitNavmesh.Task(); - goto case 7; - case 6: - goto end_IL_007d; - case 2: - yield break; - case 1: - yield return new MoveToObject(step); - yield break; - case 4: - num = -1973141890; - break; - case 5: - yield break; - } - continue; - end_IL_002f: - break; - } - continue; - end_IL_007d: - break; - } + yield return new WaitNavmesh.Task(); } + yield return new MoveToObject(step); } private IEnumerable CreateMoveTasks(QuestStep step, Vector3 destination) { - bool? flag2 = default(bool?); - bool? flag = default(bool?); - while (true) + IPlayerCharacter localPlayer = objectTable.LocalPlayer; + if (step.InteractionType == EInteractionType.Jump && step.JumpDestination != null && localPlayer != null && (localPlayer.Position - step.JumpDestination.Position).Length() <= (step.JumpDestination.StopDistance ?? 1f)) { - IPlayerCharacter playerCharacter = _003CCreateMoveTasks_003Ed__9._206E_202A_206D_206A_206A_206C_206C_206E_202D_200F_202B_202D_206C_206A_200E_206A_206E_206F_200C_202A_206F_206F_202B_206C_202D_206B_206C_206F_202D_200F_202A_200E_200D_200D_202C_202E_202D_206C_200F_202B_202E(objectTable); - int num = ((_003CCreateMoveTasks_003Ed__9._206F_200E_206E_202E_206D_200E_206A_206F_200E_202E_202E_200C_206A_206C_202D_200F_206C_200B_200D_200C_202C_200C_206D_206E_200C_206B_206B_202D_206C_202E_202D_200D_206E_202E_202A_206A_200C_200E_202D_202E(step) != EInteractionType.Jump) ? (-6885013) : (-6884993)); - while (true) + logger.LogDebug("We're at the jump destination, skipping movement"); + yield break; + } + yield return new WaitCondition.Task(() => clientState.TerritoryType == step.TerritoryId, "Wait(territory: " + territoryData.GetNameAndId(step.TerritoryId) + ")"); + if (!step.DisableNavmesh) + { + yield return new WaitNavmesh.Task(); + } + yield return new MoveTask(step, destination); + if (step != null) + { + bool? fly = step.Fly; + if (fly.HasValue && fly == true && (step.Land ?? false)) { - int num2 = num; - int num3 = -6885012; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 14: - num = ((flag2 != true) ? (-6885020) : (-6885023)); - continue; - case 12: - flag2 = _003CCreateMoveTasks_003Ed__9._206E_202A_206C_200F_206B_202A_200F_206D_206D_206B_206F_206A_206C_206C_200C_200C_206F_206F_206C_206A_206D_206E_206F_202C_200C_202B_200B_202C_206C_200B_200B_202B_206F_202E_206F_200B_206F_206C_206E_202A_202E(step); - num = ((!flag2.HasValue) ? (-6885020) : (-6885022)); - continue; - case 0: - yield return new WaitNavmesh.Task(); - goto case 5; - case 15: - _003CCreateMoveTasks_003Ed__9._206D_206D_206E_200B_202C_200B_202A_200D_202E_202E_200E_200C_200D_206C_200E_206F_206A_206D_206A_200D_200E_200F_202C_206E_200D_206C_200E_206F_200F_202E_202A_200C_202D_206B_200D_206C_206D_200B_200D_206C_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2099763005), Array.Empty()); - yield break; - case 11: - num = ((playerCharacter == null) ? (-6885013) : (-6884994)); - continue; - case 13: - yield return new LandTask(); - goto case 17; - case 1: - yield return new MoveTask(step, destination); - goto case 6; - case 16: - yield break; - case 7: - yield return new WaitCondition.Task(() => _003C_003Ec__DisplayClass9_0._202A_202A_200F_200E_200E_202E_206B_200B_200C_202C_206E_206B_200E_200D_202D_200F_202E_206C_206D_206E_206C_200E_200E_206F_200D_200D_202E_206D_200F_206A_206D_206E_200D_202A_200E_202C_202D_202E_202C_202E(clientState) == _003C_003Ec__DisplayClass9_0._202A_206A_206A_200F_200F_206F_206E_202C_202B_200F_202D_206C_200C_200C_200E_202D_202C_200E_200B_206A_202D_200C_200B_206F_200F_202D_200B_206C_206E_202C_200B_202A_200F_202C_202E_200D_206D_206C_206A_206F_202E(step), _003CCreateMoveTasks_003Ed__9._200B_206A_200C_206D_202C_200B_200C_206A_202C_206D_200B_206B_200F_202D_202B_202E_202B_202C_200C_206B_206D_202D_200C_206E_200D_206C_200F_200D_200D_200B_206F_206E_202B_200B_206E_202B_202D_200B_206C_206C_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(923276170), territoryData.GetNameAndId(_003CCreateMoveTasks_003Ed__9._206E_206B_200C_200E_200B_202B_200F_206F_202E_206C_206A_206C_202B_202A_200D_200C_206D_202B_202D_200C_206F_200B_202A_200D_202C_200D_206C_206F_206F_202A_202C_206E_206E_202C_206D_202A_206C_200D_206A_206D_202E(step)), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295))); - goto case 2; - case 19: - num = ((_003CCreateMoveTasks_003Ed__9._206B_206D_202A_202C_206B_206A_202B_206C_200E_202E_202C_202D_206B_200D_206D_200E_202B_202E_200D_200F_200C_206A_206E_200C_206B_202B_200B_200F_202D_202A_206C_206C_206B_206F_202D_202D_200E_202E_200C_202C_202E(step) == null) ? (-6885013) : (-6885017)); - continue; - case 4: - num = ((flag != true) ? (-6885020) : (-6885024)); - continue; - case 5: - num = -6885011; - continue; - case 3: - flag = _003CCreateMoveTasks_003Ed__9._200F_200F_206E_202E_206E_206C_206D_200F_200E_206D_200D_206A_202B_206B_200C_206B_206E_206B_206E_206B_202B_202C_202A_200F_206C_202C_200C_200D_206F_206E_200E_206C_206E_206A_202E_200F_206A_206E_200D_200D_202E(step); - num = ((!flag.HasValue) ? (-6885020) : (-6885016)); - continue; - case 18: - num = ((!((_003CCreateMoveTasks_003Ed__9._206D_206A_200C_206C_200C_202D_206E_206C_200E_202D_206F_202A_200C_206F_202E_206F_206D_206C_206C_202D_206B_206D_202E_206E_206A_206F_200D_206E_200B_200F_202B_206E_202C_202A_200C_200F_200B_200B_206F_206D_202E((IGameObject)playerCharacter) - _003CCreateMoveTasks_003Ed__9._202C_202A_202D_202A_206D_202C_202D_206F_202A_200E_202B_206B_200F_202C_206C_206E_206C_202D_202E_200E_202C_200B_202D_206E_206B_202E_206E_200C_206D_200D_202E_202E_200E_202C_202C_200C_200C_200D_200C_206F_202E(_003CCreateMoveTasks_003Ed__9._206B_206D_202A_202C_206B_206A_202B_206C_200E_202E_202C_202D_206B_200D_206D_200E_202B_202E_200D_200F_200C_206A_206E_200C_206B_202B_200B_200F_202D_202A_206C_206C_206B_206F_202D_202D_200E_202E_200C_202C_202E(step))).Length() <= (_003CCreateMoveTasks_003Ed__9._200B_200D_206B_200D_202E_200F_206C_206A_206C_200F_200E_202A_202B_200E_202A_206B_202D_202C_202A_202C_202D_206E_206E_206A_206E_200F_206C_206A_202C_200D_202D_200B_206D_202A_200C_206A_200F_206C_202E_200D_202E(_003CCreateMoveTasks_003Ed__9._206B_206D_202A_202C_206B_206A_202B_206C_200E_202E_202C_202D_206B_200D_206D_200E_202B_202E_200D_200F_200C_206A_206E_200C_206B_202B_200B_200F_202D_202A_206C_206C_206B_206F_202D_202D_200E_202E_200C_202C_202E(step)) ?? 1f))) ? (-6885013) : (-6885021)); - continue; - case 8: - yield break; - case 6: - num = ((step == null) ? (-6885020) : (-6885009)); - continue; - case 17: - num = -6885020; - continue; - case 2: - num = (_003CCreateMoveTasks_003Ed__9._202D_202B_200B_202D_206F_202A_206C_200F_206C_200D_202D_202A_200B_206F_202A_206D_200E_206D_200B_206F_206A_206A_200B_206D_200F_206A_206C_200D_200D_206B_200D_202E_200F_202C_200C_200B_206F_206C_206C_202E(step) ? (-6885011) : (-6885012)); - continue; - case 10: - break; - case 9: - num = -6884996; - continue; - } - break; + yield return new LandTask(); } } } - - static List _202B_202E_202C_200C_202A_206E_206E_202B_206C_206A_200D_206D_206C_206C_200C_206A_202C_202D_206C_206F_206A_206A_202C_200C_202D_200C_202E_200E_202C_206C_206F_206B_202E_200E_206F_206D_206E_202E_206E_202E_202E(QuestStep P_0) - { - return P_0.DataIds; - } - - static Vector3? _206D_202C_202B_202A_202B_206B_200B_206A_202E_200D_202E_200C_206E_206B_200F_206A_200E_200C_200F_206B_202B_200E_202C_206E_200F_200D_200F_202D_200D_200E_206E_206B_206C_206F_206A_202B_206C_206E_206D_202B_202E(QuestStep P_0) - { - return P_0.Position; - } - - static List _206D_202C_202D_206F_206F_206A_202B_206B_206F_206A_202C_200C_200C_206E_202E_206F_206E_202E_202D_202B_200E_206D_202A_206D_202B_200E_200C_206C_202E_202A_200D_202B_206A_202D_202D_200D_202D_206B_202B_202E(QuestStep P_0) - { - return P_0.LandingZones; - } - - static Vector3 _202D_206B_200C_202E_200D_200F_202D_202D_200F_200D_200E_200B_206A_200E_202C_202B_202C_202D_200D_206C_200D_206F_202A_200D_202C_206A_200E_206B_202D_200D_206F_202D_206B_206B_200D_206B_206C_206A_206A_202D_202E(IReadOnlyList P_0) - { - return LandingZoneMath.CalculateLandingLocation(P_0); - } - - static uint? _202A_200D_206E_200D_200E_200B_202D_200B_202B_206B_206C_200E_202E_206B_206E_202E_200F_200D_200C_200B_202B_202B_206E_200C_206A_200C_200B_202A_202E_206B_200B_206B_206D_200C_206E_200C_202C_202A_200D_200E_202E(QuestStep P_0) - { - return P_0.DataId; - } - - static float? _200B_200B_206B_206F_206A_202E_206D_200C_200F_200C_200E_200F_202A_202E_200E_206B_206B_202E_200B_206E_206C_200C_200C_206D_202B_206E_200E_206A_202B_202B_200C_200E_202E_202B_202D_206E_202C_200F_202C_200C_202E(QuestStep P_0) - { - return P_0.StopDistance; - } - - static EInteractionType _206A_202A_206A_206C_206C_202B_202D_206E_206B_202E_206E_206A_202E_206F_200B_206D_206D_200F_202B_202C_206F_202B_202D_206E_200B_206C_200C_206C_206C_200F_202A_200F_200E_202E_206D_202C_206A_202B_200B_202D_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static EAetheryteLocation? _200F_206A_202A_206F_206F_200E_206F_202B_200C_206C_202C_200C_206F_200C_200D_202A_206F_200E_206F_206A_206E_206C_200D_202D_206B_206E_202B_206E_200E_206F_200D_206B_206D_206E_206E_200B_200F_202C_202D_200E_202E(QuestStep P_0) - { - return P_0.Aetheryte; - } - - static ReadOnlyDictionary _206B_206E_206C_200C_200C_200F_206A_206E_202E_202D_202C_200B_206F_200D_200E_206A_202B_206C_206E_200F_206A_206B_206B_206F_206D_206D_200F_202C_200C_206C_206E_200C_202E_200F_200B_206B_206B_202C_202E_206F_202E(AetheryteData P_0) - { - return P_0.Locations; - } - - static EAetheryteLocation? _200D_200C_206A_200D_202B_206B_200E_206B_200F_202A_200B_206A_206A_202D_200F_200B_200F_202E_206A_206D_202B_200C_200F_206E_206A_202C_206A_206D_206F_206C_202E_200D_200F_206D_206D_202C_202A_206A_206C_202B_202E(QuestStep P_0) - { - return P_0.AethernetShard; - } } } diff --git a/Questionable/Questionable.Controller.Steps.Movement/MoveToObject.cs b/Questionable/Questionable.Controller.Steps.Movement/MoveToObject.cs index 5bb3af0..9424935 100644 --- a/Questionable/Questionable.Controller.Steps.Movement/MoveToObject.cs +++ b/Questionable/Questionable.Controller.Steps.Movement/MoveToObject.cs @@ -1,119 +1,16 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Questionable.Model.Questing; namespace Questionable.Controller.Steps.Movement; internal sealed record MoveToObject(QuestStep Step) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200F_202A_202B_200D_206A_200B_200E_200C_202E_200D_202D_200C_200F_200D_202E_202D_206C_206B_200F_200D_200E_200B_206F_202D_206A_206A_200C_200E_200B_200C_206E_206A_200B_206F_200E_200B_206B_202C_200B_202D_202E(typeof(MoveToObject).TypeHandle); - } - } - public bool ShouldRedoOnInterrupt() { return true; } - bool ITask.ShouldRedoOnInterrupt() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt - return this.ShouldRedoOnInterrupt(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(14, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1070925283)); - defaultInterpolatedStringHandler.AppendFormatted(_200D_206C_202A_202E_206E_202D_206F_206E_202D_202B_206E_202D_200E_200E_202E_206F_202A_202A_202D_206E_200B_202A_200F_202D_202A_200D_202E_200C_200F_206B_206A_206E_200E_206A_202A_202C_206E_206A_206C_200C_202E(Step)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206E_200C_206A_206B_202D_206B_206B_200C_200D_202D_206A_200E_200B_200E_200C_202A_202C_206A_206A_200B_200D_202A_206E_206B_206E_206D_202B_202A_202E_206D_200D_202B_202C_202E_206D_200C_202C_202E_206E_202D_202E(); - _206F_206D_202D_200C_202D_200E_200F_200E_206A_206B_206D_206A_202A_206B_200E_206D_206C_202E_200D_202C_206B_202D_206C_200E_200C_202C_206C_200F_200F_206F_200E_200C_200E_200F_200F_200E_206D_200B_202E_206D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(148385326)); - _200C_200B_200B_206E_200E_202C_200D_200C_202A_202D_200D_200C_200D_206E_206D_202D_202B_202D_206B_200E_206F_200B_200B_202B_200B_206F_200C_200B_206D_202D_200C_202C_202E_200B_206B_202D_200B_206A_200C_200E_202E(builder, (object)Step); - return true; - } - - [CompilerGenerated] - public bool Equals(MoveToObject? other) - { - int num = (((object)this == other) ? (-5837158) : (-5837160)); - while (true) - { - int num2 = num; - int num3 = -5837157; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = ((!_202B_206B_202A_200F_202C_202D_202E_206C_202E_206F_202E_200B_206B_206E_206F_200B_206F_200F_202E_202D_200C_206B_206B_200C_200E_206C_206C_202C_200D_206A_206B_202E_200F_200C_200B_202E_200C_206F_200F_206C_202E(EqualityContract, other.EqualityContract)) ? (-5837154) : (-5837159)); - break; - case 3: - num = (((object)other == null) ? (-5837154) : (-5837153)); - break; - case 0: - num = -5837160; - break; - case 5: - return false; - case 1: - return true; - case 2: - return EqualityComparer.Default.Equals(Step, other.Step); - } - } - } - - bool IEquatable.Equals(MoveToObject? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200F_202A_202B_200D_206A_200B_200E_200C_202E_200D_202D_200C_200F_200D_202E_202D_206C_206B_200F_200D_200E_200B_206F_202D_206A_206A_200C_200E_200B_200C_206E_206A_200B_206F_200E_200B_206B_202C_200B_202D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static uint? _200D_206C_202A_202E_206E_202D_206F_206E_202D_202B_206E_202D_200E_200E_202E_206F_202A_202A_202D_206E_200B_202A_200F_202D_202A_200D_202E_200C_200F_206B_206A_206E_200E_206A_202A_202C_206E_206A_206C_200C_202E(QuestStep P_0) - { - return P_0.DataId; - } - - static void _206E_200C_206A_206B_202D_206B_206B_200C_200D_202D_206A_200E_200B_200E_200C_202A_202C_206A_206A_200B_200D_202A_206E_206B_206E_206D_202B_202A_202E_206D_200D_202B_202C_202E_206D_200C_202C_202E_206E_202D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206F_206D_202D_200C_202D_200E_200F_200E_206A_206B_206D_206A_202A_206B_200E_206D_206C_202E_200D_202C_206B_202D_206C_200E_200C_202C_206C_200F_200F_206F_200E_200C_200E_200F_200F_200E_206D_200B_202E_206D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200C_200B_200B_206E_200E_202C_200D_200C_202A_202D_200D_200C_200D_206E_206D_202D_202B_202D_206B_200E_206F_200B_200B_202B_200B_206F_200C_200B_206D_202D_200C_202C_202E_200B_206B_202D_200B_206A_200C_200E_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202B_206B_202A_200F_202C_202D_202E_206C_202E_206F_202E_200B_206B_206E_206F_200B_206F_200F_202E_202D_200C_206B_206B_200C_200E_206C_206C_202C_200D_206A_206B_202E_200F_200C_200B_202E_200C_206F_200F_206C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"MoveToObject({Step.DataId})"; } } diff --git a/Questionable/Questionable.Controller.Steps.Movement/MoveToObjectExecutor.cs b/Questionable/Questionable.Controller.Steps.Movement/MoveToObjectExecutor.cs index c99382a..239b0b5 100644 --- a/Questionable/Questionable.Controller.Steps.Movement/MoveToObjectExecutor.cs +++ b/Questionable/Questionable.Controller.Steps.Movement/MoveToObjectExecutor.cs @@ -1,8 +1,5 @@ using System; -using System.Collections; -using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Game.ClientState.Objects.Enums; using Dalamud.Game.ClientState.Objects.SubKinds; using Dalamud.Game.ClientState.Objects.Types; @@ -10,7 +7,6 @@ using Dalamud.Plugin.Services; using Microsoft.Extensions.Logging; using Questionable.Functions; using Questionable.Model; -using Questionable.Model.Questing; namespace Questionable.Controller.Steps.Movement; @@ -22,342 +18,115 @@ internal sealed class MoveToObjectExecutor(MovementController movementController private bool _moving; - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { - int num = (_202A_202B_202A_200D_200E_206A_206D_202A_200C_202A_200F_202C_202C_200B_200D_202C_202C_202B_200B_200E_202B_206F_202A_200B_206B_206D_206E_206B_206E_200E_206D_206D_202D_202B_206B_200E_200C_200D_206F_206B_202E(base.Task.Step).HasValue ? 29975280 : 29975286); - while (true) + if (!base.Task.Step.DataId.HasValue) { - int num2 = num; - int num3 = 29975282; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = ((_206B_206E_200B_200D_206A_202D_206B_200C_200E_200F_200D_200C_202B_206A_200C_202B_202B_200F_200E_200C_200B_206A_202C_202A_200D_202E_200C_200C_206F_206D_202B_206F_200B_200F_206F_200B_200D_206A_206C_206C_202E(clientState) == _206B_206F_202D_200C_202B_202A_206B_200F_206B_206E_206C_206E_206A_202D_202A_200C_206B_202B_206D_202B_206C_200C_200F_206D_200B_202E_202C_206B_206E_206C_200C_206C_200E_202A_206F_206D_206B_206C_200B_202C_202E(base.Task.Step)) ? 29975281 : 29975283); - break; - case 3: - _startedLookingAt = _202C_200B_200E_200D_202C_206D_200D_200E_206E_200B_200E_206C_206B_206A_202D_200D_202D_200E_206F_200F_200D_200C_200B_200F_206C_200C_202C_202D_200D_206F_206E_206A_206B_202B_202E_202C_200E_200D_202B_200E_202E(); - return TryStartMovement(); - case 0: - num = 29975286; - break; - case 1: - _202E_200E_202D_206F_200C_200D_202A_200B_200C_200F_206B_206C_200B_206D_200C_200E_202C_206B_206D_206D_202C_206F_206A_206C_202B_200E_206B_200F_206A_202D_206F_200B_202E_200C_200C_202C_202E_206D_206A_206B_202E((ILogger)logger, 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(969274381), Array.Empty()); - return true; - case 4: - _206E_202E_200C_200E_206C_202E_206E_200C_206D_206C_206D_202D_202A_200F_200F_206B_206F_206B_200C_200B_200B_200E_202C_202B_206C_200F_202B_200D_200E_206A_202B_200D_206C_206C_206B_202B_202D_206F_206F_206B_202E((ILogger)logger, 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(-833964926), Array.Empty()); - return false; - } + logger.LogWarning("MoveToObject task has no DataId"); + return false; } + if (clientState.TerritoryType != base.Task.Step.TerritoryId) + { + logger.LogDebug("Not in correct territory yet, waiting"); + return true; + } + _startedLookingAt = Environment.TickCount64; + return TryStartMovement(); } private IGameObject? FindDistantObjectByDataId(uint dataId) { - IPlayerCharacter playerCharacter = _202C_200D_206A_206B_200C_206A_202A_200B_206E_206C_206B_206C_200F_206C_202C_206E_200C_206A_206B_202C_206F_206C_202A_206A_200F_206B_202B_206E_206F_206F_200B_202C_202E_206F_206E_200D_206F_200D_202A_200D_202E(objectTable); - int num = ((playerCharacter != null) ? 1134612284 : 1134612287); - ObjectKind objectKind = default(ObjectKind); - bool flag = default(bool); - IGameObject current = default(IGameObject); - float num8 = default(float); - while (true) + IPlayerCharacter localPlayer = objectTable.LocalPlayer; + if (localPlayer == null) { - int num2 = num; - int num3 = 1134612286; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0056; - case 1: - return null; - case 2: - { - float num5 = _200D_206F_206E_202C_200D_206D_206B_206F_206F_200C_200C_202B_206F_200C_200C_200E_206C_202D_200C_206A_206C_202E_200C_200D_206A_206B_202D_200F_206A_206A_206D_202A_200E_202E_202C_206D_202C_200D_206E_202E(base.Task.Step); - IGameObject result = null; - float num6 = float.MaxValue; - IEnumerator enumerator = objectTable.GetEnumerator(); - try - { - num = -1624913686; - while (true) - { - int num7 = num; - num3 = -1624913683; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 12: - num = ((objectKind != ObjectKind.HousingEventObject) ? (-1624913692) : (-1624913681)); - break; - case 2: - flag = true; - num = -1624913690; - break; - case 3: - num = ((objectKind - 8 <= ObjectKind.BattleNpc) ? (-1624913681) : (-1624913695)); - break; - case 6: - result = current; - num6 = num8; - num = -1624913686; - break; - case 10: - num = ((!(num8 < num6)) ? (-1624913686) : (-1624913685)); - break; - case 5: - num8 = Vector3.Distance(_206F_200E_206A_200E_206C_200C_206C_202D_206A_206D_202C_206C_200B_202E_202E_206D_200E_206D_200F_200D_200D_206A_202B_200F_206C_206E_206B_206D_206D_206D_202A_200E_206C_200D_200F_202E_202A_200D_206F_200C_202E((IGameObject)playerCharacter), _206F_200E_206A_200E_206C_200C_206C_202D_206A_206D_202C_206C_200B_202E_202E_206D_200E_206D_200F_200D_200D_206A_202B_200F_206C_206E_206B_206D_206D_206D_202A_200E_206C_200D_200F_202E_202A_200D_206F_200C_202E(current)); - num = ((num8 <= num5) ? (-1624913686) : (-1624913689)); - break; - case 9: - flag = false; - num = -1624913690; - break; - case 1: - num = ((_202E_206F_200F_206E_200D_200E_202A_202E_200C_202C_206C_200C_202C_206B_206C_200D_202E_200E_202C_206B_206A_202A_200C_206D_202A_200F_202A_206C_200F_202A_202D_200B_202B_202A_202A_206D_202B_200F_206F_200C_202E(current) != dataId) ? (-1624913686) : (-1624913688)); - break; - case 0: - num = -1624913686; - break; - case 4: - current = enumerator.Current; - objectKind = _200F_206E_200F_206C_206A_200D_202C_200C_200E_200E_206A_206E_202E_200D_202A_202D_202C_206C_206D_202D_200D_200E_200D_206D_200E_206F_206C_200D_202C_206E_202B_200D_202E_206E_200E_200B_202D_206B_202E(current); - num = ((objectKind == ObjectKind.Pc) ? (-1624913681) : (-1624913682)); - break; - case 11: - num = (flag ? (-1624913686) : (-1624913684)); - break; - case 7: - num = (_206B_206F_200D_202E_206E_206D_206C_200B_206A_206A_206F_202A_202D_200B_202D_202B_200E_202A_200E_202C_206A_202D_200C_200E_202D_206F_200E_206E_206D_202E_202B_200E_202D_206E_206A_202A_206A_200E_206C_202E((IEnumerator)enumerator) ? (-1624913687) : (-1624913691)); - break; - case 8: - return result; - } - } - } - finally - { - num = ((enumerator == null) ? 2066825075 : 2066825072); - while (true) - { - int num9 = num; - num3 = 2066825073; - num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 0: - num = 2066825072; - break; - case 2: - goto end_IL_027b; - case 1: - _206E_202D_206F_200D_202E_206E_200B_202C_200C_206B_206B_200E_202B_206B_202E_202C_200D_200B_202D_200F_206E_206F_200C_202A_206E_202E_200B_206C_200C_202B_206B_206F_206D_206F_200D_206D_200E_202A_206A_202B_202E((IDisposable)enumerator); - num = 2066825075; - break; - } - continue; - end_IL_027b: - break; - } - } - } - } - continue; - IL_0056: - num = 1134612287; + return null; } + float num = base.Task.Step.CalculateActualStopDistance(); + IGameObject result = null; + float num2 = float.MaxValue; + foreach (IGameObject item in objectTable) + { + ObjectKind objectKind = item.ObjectKind; + bool flag = ((objectKind == ObjectKind.Pc || objectKind - 8 <= ObjectKind.BattleNpc || objectKind == ObjectKind.HousingEventObject) ? true : false); + if (!flag && item.BaseId == dataId) + { + float num3 = Vector3.Distance(localPlayer.Position, item.Position); + if (!(num3 <= num) && num3 < num2) + { + result = item; + num2 = num3; + } + } + } + return result; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool TryStartMovement() { - IGameObject gameObject = FindDistantObjectByDataId(_202A_202B_202A_200D_200E_206A_206D_202A_200C_202A_200F_202C_202C_200B_200D_202C_202C_202B_200B_200E_202B_206F_202A_200B_206B_206D_206E_206B_206E_200E_206D_206D_202D_202B_206B_200E_200C_200D_206F_206B_202E(base.Task.Step).Value); - int num = ((gameObject != null) ? 1351000987 : 1351000991); - IPlayerCharacter playerCharacter = default(IPlayerCharacter); - float num7 = default(float); - while (true) + IGameObject gameObject = FindDistantObjectByDataId(base.Task.Step.DataId.Value); + if (gameObject == null) { - int num2 = num; - int num3 = 1351000990; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + gameObject = gameFunctions.FindObjectByDataId(base.Task.Step.DataId.Value, null, warnIfMissing: false); + if (gameObject == null) { - case 3: - num = 1351000991; - break; - case 2: - playerCharacter = _202C_200D_206A_206B_200C_206A_202A_200B_206E_206C_206B_206C_200F_206C_202C_206E_200C_206A_206B_202C_206F_206C_202A_206A_200F_206B_202B_206E_206F_206F_200B_202C_202E_206F_206E_200D_206F_200D_202A_200D_202E(objectTable); - num7 = _200D_206F_206E_202C_200D_206D_206B_206F_206F_200C_200C_202B_206F_200C_200C_200E_206C_202D_200C_206A_206C_202E_200C_200D_206A_206B_202D_200F_206A_206A_206D_202A_200E_202E_202C_206D_202C_200D_206E_202E(base.Task.Step); - num = ((playerCharacter == null) ? 1351000987 : 1351000984); - break; - case 1: - gameObject = gameFunctions.FindObjectByDataId(_202A_202B_202A_200D_200E_206A_206D_202A_200C_202A_200F_202C_202C_200B_200D_202C_202C_202B_200B_200E_202B_206F_202A_200B_206B_206D_206E_206B_206E_200E_206D_206D_202D_202B_206B_200E_200C_200D_206F_206B_202E(base.Task.Step).Value, null, warnIfMissing: false); - num = ((gameObject != null) ? 1351000988 : 1351000986); - break; - case 4: - _202E_200E_202D_206F_200C_200D_202A_200B_200C_200F_206B_206C_200B_206D_200C_200E_202C_206B_206D_206D_202C_206F_206A_206C_202B_200E_206B_200F_206A_202D_206F_200B_202E_200C_200C_202C_202E_206D_206A_206B_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1977444893), new object[1] { _202A_202B_202A_200D_200E_206A_206D_202A_200C_202A_200F_202C_202C_200B_200D_202C_202C_202B_200B_200E_202B_206F_202A_200B_206B_206D_206E_206B_206E_200E_206D_206D_202D_202B_206B_200E_200C_200D_206F_206B_202E(base.Task.Step) }); + logger.LogDebug("Object {DataId} not found yet, waiting", base.Task.Step.DataId); return true; - case 5: - _destination = _206F_200E_206A_200E_206C_200C_206C_202D_206A_206D_202C_206C_200B_202E_202E_206D_200E_206D_200F_200D_200D_206A_202B_200F_206C_206E_206B_206D_206D_206D_202A_200E_206C_200D_200F_202E_202A_200D_206F_200C_202E(gameObject); - _202E_200E_202D_206F_200C_200D_202A_200B_200C_200F_206B_206C_200B_206D_200C_200E_202C_206B_206D_206D_202C_206F_206A_206C_202B_200E_206B_200F_206A_202D_206F_200B_202E_200C_200C_202C_202E_206D_206A_206B_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-581508250), new object[2] - { - _202A_202B_202A_200D_200E_206A_206D_202A_200C_202A_200F_202C_202C_200B_200D_202C_202C_202B_200B_200E_202B_206F_202A_200B_206B_206D_206E_206B_206E_200E_206D_206D_202D_202B_206B_200E_200C_200D_206F_206B_202E(base.Task.Step), - _destination - }); - movementController.NavigateTo(EMovementType.Quest, _202A_202B_202A_200D_200E_206A_206D_202A_200C_202A_200F_202C_202C_200B_200D_202C_202C_202B_200B_200E_202B_206F_202A_200B_206B_206D_206E_206B_206E_200E_206D_206D_202D_202B_206B_200E_200C_200D_206F_206B_202E(base.Task.Step), _destination, fly: false, _206E_200D_202B_202C_202E_202A_206C_206C_206C_206B_202A_202C_206C_202D_200C_206B_202A_200D_200F_202C_206D_202D_206F_200C_206B_200F_200E_206A_202C_206C_202E_200B_206F_200F_202E_202A_206A_202B_202E_206A_202E(base.Task.Step) ?? true, _200D_206F_206E_202C_200D_206D_206B_206F_206F_200C_200C_202B_206F_200C_200C_200E_206C_202D_200C_206A_206C_202E_200C_200D_206A_206B_202D_200F_206A_206A_206D_202A_200E_202E_202C_206D_202C_200D_206E_202E(base.Task.Step)); - _moving = true; + } + IPlayerCharacter localPlayer = objectTable.LocalPlayer; + float num = base.Task.Step.CalculateActualStopDistance(); + if (localPlayer != null && Vector3.Distance(localPlayer.Position, gameObject.Position) <= num) + { + logger.LogDebug("Only nearby objects with DataId {DataId} remain, skipping", base.Task.Step.DataId); return true; - case 0: - _202E_200E_202D_206F_200C_200D_202A_200B_200C_200F_206B_206C_200B_206D_200C_200E_202C_206B_206D_206D_202C_206F_206A_206C_202B_200E_206B_200F_206A_202D_206F_200B_202E_200C_200C_202C_202E_206D_206A_206B_202E((ILogger)logger, 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(-604742017), new object[1] { _202A_202B_202A_200D_200E_206A_206D_202A_200C_202A_200F_202C_202C_200B_200D_202C_202C_202B_200B_200E_202B_206F_202A_200B_206B_206D_206E_206B_206E_200E_206D_206D_202D_202B_206B_200E_200C_200D_206F_206B_202E(base.Task.Step) }); - return true; - case 6: - num = ((!(Vector3.Distance(_206F_200E_206A_200E_206C_200C_206C_202D_206A_206D_202C_206C_200B_202E_202E_206D_200E_206D_200F_200D_200D_206A_202B_200F_206C_206E_206B_206D_206D_206D_202A_200E_206C_200D_200F_202E_202A_200D_206F_200C_202E((IGameObject)playerCharacter), _206F_200E_206A_200E_206C_200C_206C_202D_206A_206D_202C_206C_200B_202E_202E_206D_200E_206D_200F_200D_200D_206A_202B_200F_206C_206E_206B_206D_206D_206D_202A_200E_206C_200D_200F_202E_202A_200D_206F_200C_202E(gameObject)) <= num7)) ? 1351000987 : 1351000990); - break; } } + _destination = gameObject.Position; + logger.LogDebug("Moving to object {DataId} at {Position}", base.Task.Step.DataId, _destination); + movementController.NavigateTo(EMovementType.Quest, base.Task.Step.DataId, _destination, fly: false, base.Task.Step.Sprint ?? true, base.Task.Step.CalculateActualStopDistance()); + _moving = true; + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - int num = ((_206B_206E_200B_200D_206A_202D_206B_200C_200E_200F_200D_200C_202B_206A_200C_202B_202B_200F_200E_200C_200B_206A_202C_202A_200D_202E_200C_200C_206F_206D_202B_206F_200B_200F_206F_200B_200D_206A_206C_206C_202E(clientState) == _206B_206F_202D_200C_202B_202A_206B_200F_206B_206E_206C_206E_206A_202D_202A_200C_206B_202B_206D_202B_206C_200C_200F_206D_200B_202E_202C_206B_206E_206C_200C_206C_200E_202A_206F_206D_206B_206C_200B_202C_202E(base.Task.Step)) ? (-1023711134) : (-1023711130)); - long? startedLookingAt = default(long?); - while (true) + if (clientState.TerritoryType != base.Task.Step.TerritoryId) { - int num2 = num; - int num3 = -1023711125; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 12: - startedLookingAt = _startedLookingAt; - num = ((!startedLookingAt.HasValue) ? (-1023711132) : (-1023711133)); - break; - case 14: - return ETaskResult.TaskComplete; - case 9: - num = (_moving ? (-1023711128) : (-1023711129)); - break; - case 15: - num = (TryStartMovement() ? (-1023711121) : (-1023711131)); - break; - case 8: + return ETaskResult.StillRunning; + } + if (!_moving) + { + long? startedLookingAt = _startedLookingAt; + if (startedLookingAt.HasValue) { long valueOrDefault = startedLookingAt.GetValueOrDefault(); - long num5 = _202C_200B_200E_200D_202C_206D_200D_200E_206E_200B_200E_206C_206B_206A_202D_200D_202D_200E_206F_200F_200D_200C_200B_200F_206C_200C_202C_202D_200D_206F_206E_206A_206B_202B_202E_202C_200E_200D_202B_200E_202E(); - long num6 = 3000L; - long num7 = valueOrDefault; - num = ((num5 <= (num7 | num6) + (num7 & num6)) ? (-1023711132) : (-1023711127)); - break; + if (Environment.TickCount64 > valueOrDefault + 3000) + { + logger.LogDebug("Object {DataId} not found after timeout, skipping step", base.Task.Step.DataId); + return ETaskResult.TaskComplete; + } } - case 4: - num = (_moving ? (-1023711128) : (-1023711135)); - break; - case 2: - _202E_200E_202D_206F_200C_200D_202A_200B_200C_200F_206B_206C_200B_206D_200C_200E_202C_206B_206D_206D_202C_206F_206A_206C_202B_200E_206B_200F_206A_202D_206F_200B_202E_200C_200C_202C_202E_206D_206A_206B_202E((ILogger)logger, 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(1582144125), new object[1] { _202A_202B_202A_200D_200E_206A_206D_202A_200C_202A_200F_202C_202C_200B_200D_202C_202C_202B_200B_200E_202B_206F_202A_200B_206B_206D_206E_206B_206E_200E_206D_206D_202D_202B_206B_200E_200C_200D_206F_206B_202E(base.Task.Step) }); + if (!TryStartMovement()) + { return ETaskResult.TaskComplete; - case 5: - num = (movementController.HasBeenMovingForAtLeast(2000) ? (-1023711123) : (-1023711124)); - break; - case 0: - num = -1023711130; - break; - case 1: - num = ((!movementController.IsPathRunning) ? (-1023711122) : (-1023711136)); - break; - case 3: - num = (movementController.IsPathfinding ? (-1023711136) : (-1023711126)); - break; - case 7: - return ETaskResult.StillRunning; - case 13: - return ETaskResult.StillRunning; - case 6: - return ETaskResult.TaskComplete; - case 10: - return ETaskResult.StillRunning; - case 11: + } + if (!_moving) + { return ETaskResult.StillRunning; } } + if (movementController.IsPathfinding || movementController.IsPathRunning) + { + return ETaskResult.StillRunning; + } + if (!movementController.HasBeenMovingForAtLeast(2000)) + { + return ETaskResult.StillRunning; + } + return ETaskResult.TaskComplete; } public override bool ShouldInterruptOnDamage() { return false; } - - static uint? _202A_202B_202A_200D_200E_206A_206D_202A_200C_202A_200F_202C_202C_200B_200D_202C_202C_202B_200B_200E_202B_206F_202A_200B_206B_206D_206E_206B_206E_200E_206D_206D_202D_202B_206B_200E_200C_200D_206F_206B_202E(QuestStep P_0) - { - return P_0.DataId; - } - - static void _206E_202E_200C_200E_206C_202E_206E_200C_206D_206C_206D_202D_202A_200F_200F_206B_206F_206B_200C_200B_200B_200E_202C_202B_206C_200F_202B_200D_200E_206A_202B_200D_206C_206C_206B_202B_202D_206F_206F_206B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static uint _206B_206E_200B_200D_206A_202D_206B_200C_200E_200F_200D_200C_202B_206A_200C_202B_202B_200F_200E_200C_200B_206A_202C_202A_200D_202E_200C_200C_206F_206D_202B_206F_200B_200F_206F_200B_200D_206A_206C_206C_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static ushort _206B_206F_202D_200C_202B_202A_206B_200F_206B_206E_206C_206E_206A_202D_202A_200C_206B_202B_206D_202B_206C_200C_200F_206D_200B_202E_202C_206B_206E_206C_200C_206C_200E_202A_206F_206D_206B_206C_200B_202C_202E(QuestStep P_0) - { - return P_0.TerritoryId; - } - - static void _202E_200E_202D_206F_200C_200D_202A_200B_200C_200F_206B_206C_200B_206D_200C_200E_202C_206B_206D_206D_202C_206F_206A_206C_202B_200E_206B_200F_206A_202D_206F_200B_202E_200C_200C_202C_202E_206D_206A_206B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static long _202C_200B_200E_200D_202C_206D_200D_200E_206E_200B_200E_206C_206B_206A_202D_200D_202D_200E_206F_200F_200D_200C_200B_200F_206C_200C_202C_202D_200D_206F_206E_206A_206B_202B_202E_202C_200E_200D_202B_200E_202E() - { - return Environment.TickCount64; - } - - static IPlayerCharacter _202C_200D_206A_206B_200C_206A_202A_200B_206E_206C_206B_206C_200F_206C_202C_206E_200C_206A_206B_202C_206F_206C_202A_206A_200F_206B_202B_206E_206F_206F_200B_202C_202E_206F_206E_200D_206F_200D_202A_200D_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static float _200D_206F_206E_202C_200D_206D_206B_206F_206F_200C_200C_202B_206F_200C_200C_200E_206C_202D_200C_206A_206C_202E_200C_200D_206A_206B_202D_200F_206A_206A_206D_202A_200E_202E_202C_206D_202C_200D_206E_202E(QuestStep P_0) - { - return P_0.CalculateActualStopDistance(); - } - - static ObjectKind _200F_206E_200F_206C_206A_200D_202C_200C_200E_200E_206A_206E_202E_200D_202A_202D_202C_206C_206D_202D_200D_200E_200D_206D_200E_206F_206C_200D_202C_206E_202B_200D_202E_206E_200E_200B_202D_206B_202E(IGameObject P_0) - { - return P_0.ObjectKind; - } - - static uint _202E_206F_200F_206E_200D_200E_202A_202E_200C_202C_206C_200C_202C_206B_206C_200D_202E_200E_202C_206B_206A_202A_200C_206D_202A_200F_202A_206C_200F_202A_202D_200B_202B_202A_202A_206D_202B_200F_206F_200C_202E(IGameObject P_0) - { - return P_0.BaseId; - } - - static Vector3 _206F_200E_206A_200E_206C_200C_206C_202D_206A_206D_202C_206C_200B_202E_202E_206D_200E_206D_200F_200D_200D_206A_202B_200F_206C_206E_206B_206D_206D_206D_202A_200E_206C_200D_200F_202E_202A_200D_206F_200C_202E(IGameObject P_0) - { - return P_0.Position; - } - - static bool _206B_206F_200D_202E_206E_206D_206C_200B_206A_206A_206F_202A_202D_200B_202D_202B_200E_202A_200E_202C_206A_202D_200C_200E_202D_206F_200E_206E_206D_202E_202B_200E_202D_206E_206A_202A_206A_200E_206C_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206E_202D_206F_200D_202E_206E_200B_202C_200C_206B_206B_200E_202B_206B_202E_202C_200D_200B_202D_200F_206E_206F_200C_202A_206E_202E_200B_206C_200C_202B_206B_206F_206D_206F_200D_206D_200E_202A_206A_202B_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static bool? _206E_200D_202B_202C_202E_202A_206C_206C_206C_206B_202A_202C_206C_202D_200C_206B_202A_200D_200F_202C_206D_202D_206F_200C_206B_200F_200E_206A_202C_206C_202E_200B_206F_200F_202E_202A_206A_202B_202E_206A_202E(QuestStep P_0) - { - return P_0.Sprint; - } } diff --git a/Questionable/Questionable.Controller.Steps.Movement/NoOpTask.cs b/Questionable/Questionable.Controller.Steps.Movement/NoOpTask.cs index e73bc57..eebdc00 100644 --- a/Questionable/Questionable.Controller.Steps.Movement/NoOpTask.cs +++ b/Questionable/Questionable.Controller.Steps.Movement/NoOpTask.cs @@ -1,110 +1,3 @@ -using System; -using System.Runtime.CompilerServices; -using System.Text; - namespace Questionable.Controller.Steps.Movement; -internal sealed record NoOpTask : ITask -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206A_200F_206E_202E_200B_206B_200F_200B_206F_206A_206B_206B_202C_206D_206A_200C_200E_202D_200B_206D_200F_206C_202B_202D_202C_202E_206A_206D_206C_200E_202A_202B_200F_200B_200C_202C_206E_206E_202E_206A_202E(typeof(NoOpTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206B_202A_202E_202C_206A_206D_206E_202D_200C_202D_200F_206B_202C_202B_206C_202D_206A_206F_200D_206D_206E_200E_200C_206A_200F_202C_200F_206E_200C_206F_200F_202C_206A_200D_202D_202B_202B_200B_200C_206B_202E(); - _202E_200B_200C_200E_200C_206C_200F_206B_202B_202C_202B_206C_206A_206A_206E_206C_206C_202D_206A_202A_202A_202B_200E_200D_200F_206F_206F_200D_200D_206F_206A_202E_202D_200E_206E_202D_202E_206E_206E_200E_202E(stringBuilder, 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(-1577194726)); - _202E_200B_200C_200E_200C_206C_200F_206B_202B_202C_202B_206C_206A_206A_206E_206C_206C_202D_206A_202A_202A_202B_200E_200D_200F_206F_206F_200D_200D_206F_206A_202E_202D_200E_206E_202D_202E_206E_206E_200E_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(556540328)); - int num = ((!PrintMembers(stringBuilder)) ? (-163441157) : (-163441160)); - while (true) - { - int num2 = num; - int num3 = -163441159; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -163441160; - break; - case 1: - _200C_200F_202D_202A_206B_206B_206E_202D_206B_206A_202E_200D_202A_206B_200B_202B_202D_206E_200F_202A_200B_202D_206A_200D_206A_202C_200B_202C_200D_206A_206F_200E_200F_206F_202D_200F_206B_206A_202A_200C_202E(stringBuilder, ' '); - num = -163441157; - break; - case 2: - _200C_200F_202D_202A_206B_206B_206E_202D_206B_206A_202E_200D_202A_206B_200B_202B_202D_206E_200F_202A_200B_202D_206A_200D_206A_202C_200B_202C_200D_206A_206F_200E_200F_206F_202D_200F_206B_206A_202A_200C_202E(stringBuilder, '}'); - return _202D_206C_200C_206F_202B_202A_206C_200F_206A_202D_206F_202A_202A_202C_202D_206E_206A_202B_202C_202A_202D_200B_200B_200B_202B_202E_206A_200E_202E_200B_200D_200B_200E_200C_206E_202D_200C_200B_200F_202A_202E((object)stringBuilder); - } - } - } - - [CompilerGenerated] - public bool Equals(NoOpTask? other) - { - int num = (((object)this == other) ? (-1727123602) : (-1727123605)); - while (true) - { - int num2 = num; - int num3 = -1727123606; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - return true; - case 3: - return _202C_202B_200C_200E_200B_200B_206D_202B_206F_206A_200B_202B_206C_202D_202B_202D_200F_202A_200C_202B_206A_200C_200E_202C_206B_206B_200D_202A_200C_202E_206B_206B_206A_206D_200E_206B_206E_206C_202E_206A_202E(EqualityContract, other.EqualityContract); - case 1: - num = (((object)other == null) ? (-1727123608) : (-1727123607)); - break; - case 2: - return false; - case 0: - num = -1727123605; - break; - } - } - } - - bool IEquatable.Equals(NoOpTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206A_200F_206E_202E_200B_206B_200F_200B_206F_206A_206B_206B_202C_206D_206A_200C_200E_202D_200B_206D_200F_206C_202B_202D_202C_202E_206A_206D_206C_200E_202A_202B_200F_200B_200C_202C_206E_206E_202E_206A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206B_202A_202E_202C_206A_206D_206E_202D_200C_202D_200F_206B_202C_202B_206C_202D_206A_206F_200D_206D_206E_200E_200C_206A_200F_202C_200F_206E_200C_206F_200F_202C_206A_200D_202D_202B_202B_200B_200C_206B_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202E_200B_200C_200E_200C_206C_200F_206B_202B_202C_202B_206C_206A_206A_206E_206C_206C_202D_206A_202A_202A_202B_200E_200D_200F_206F_206F_200D_200D_206F_206A_202E_202D_200E_206E_202D_202E_206E_206E_200E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200C_200F_202D_202A_206B_206B_206E_202D_206B_206A_202E_200D_202A_206B_200B_202B_202D_206E_200F_202A_200B_202D_206A_200D_206A_202C_200B_202C_200D_206A_206F_200E_200F_206F_202D_200F_206B_206A_202A_200C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202D_206C_200C_206F_202B_202A_206C_200F_206A_202D_206F_202A_202A_202C_202D_206E_206A_202B_202C_202A_202D_200B_200B_200B_202B_202E_206A_200E_202E_200B_200D_200B_200E_200C_206E_202D_200C_200B_200F_202A_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _202C_202B_200C_200E_200B_200B_206D_202B_206F_206A_200B_202B_206C_202D_202B_202D_200F_202A_200C_202B_206A_200C_200E_202C_206B_206B_200D_202A_200C_202E_206B_206B_206A_206D_200E_206B_206E_206C_202E_206A_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +internal sealed record NoOpTask : ITask; diff --git a/Questionable/Questionable.Controller.Steps.Movement/WaitForNearDataId.cs b/Questionable/Questionable.Controller.Steps.Movement/WaitForNearDataId.cs index a12a779..5e443ab 100644 --- a/Questionable/Questionable.Controller.Steps.Movement/WaitForNearDataId.cs +++ b/Questionable/Questionable.Controller.Steps.Movement/WaitForNearDataId.cs @@ -1,149 +1,9 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; - namespace Questionable.Controller.Steps.Movement; internal sealed record WaitForNearDataId(uint DataId, float StopDistance) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202C_200F_206A_200F_206E_200E_206F_206C_200C_202C_206D_206B_200C_202A_200F_200E_206B_206A_206E_206E_200B_206A_200E_202D_206A_206F_206E_200B_206C_200B_202B_206B_202E_200C_202A_200E_206B_206D_202B_200D_202E(typeof(WaitForNearDataId).TypeHandle); - } - } - public bool ShouldRedoOnInterrupt() { return true; } - - bool ITask.ShouldRedoOnInterrupt() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt - return this.ShouldRedoOnInterrupt(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206A_206C_202B_206C_206A_200B_206D_202E_200D_200E_202C_200F_202B_200D_202B_200B_206D_202A_202C_202E_200E_206B_202E_200D_206E_206C_200C_206C_206E_206D_202B_206C_202C_202E_206F_202C_202B_206A_202E_200E_202E(); - _202D_202B_202E_206E_200E_200C_200C_202A_202E_202A_206B_200F_206C_200E_206B_206A_206A_202A_200C_200B_202C_206F_202E_200D_202D_200B_206E_202A_206B_206E_206D_202E_200C_202B_206A_206D_200F_206F_206C_200D_202E(stringBuilder, 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(-877026305)); - _202D_202B_202E_206E_200E_200C_200C_202A_202E_202A_206B_200F_206C_200E_206B_206A_206A_202A_200C_200B_202C_206F_202E_200D_202D_200B_206E_202A_206B_206E_206D_202E_200C_202B_206A_206D_200F_206F_206C_200D_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? 738763042 : 738763043); - while (true) - { - int num2 = num; - int num3 = 738763042; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 738763043; - break; - case 1: - _206D_200D_200D_206C_206A_200D_206E_200C_206F_206B_206F_206E_202D_202D_206D_200D_202B_200D_200B_206B_202B_200C_206B_202D_202C_206A_206A_200B_206F_206D_202C_206B_206F_206E_206E_202E_206F_202E_206C_200C_202E(stringBuilder, ' '); - num = 738763042; - break; - case 0: - _206D_200D_200D_206C_206A_200D_206E_200C_206F_206B_206F_206E_202D_202D_206D_200D_202B_200D_200B_206B_202B_200C_206B_202D_202C_206A_206A_200B_206F_206D_202C_206B_206F_206E_206E_202E_206F_202E_206C_200C_202E(stringBuilder, '}'); - return _200E_202A_206C_200B_206A_200B_206C_202D_206B_200E_206F_206C_202B_206E_202B_202B_202E_202A_206F_202B_206D_206E_206C_202C_206D_206A_200B_206D_202A_202B_206E_202B_200B_200E_202C_202C_206A_206B_206A_200F_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202C_206B_200B_206C_206B_200E_200B_206A_206E_200B_200D_202C_200D_202A_200B_206C_206F_200B_206D_202C_200F_206D_202B_206F_206A_202E_200C_200C_206A_206D_200E_206F_206D_202B_200D_200C_200E_202D_200D_200F_202E(); - _202D_202B_202E_206E_200E_200C_200C_202A_202E_202A_206B_200F_206C_200E_206B_206A_206A_202A_200C_200B_202C_206F_202E_200D_202D_200B_206E_202A_206B_206E_206D_202E_200C_202B_206A_206D_200F_206F_206C_200D_202E(builder, 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(353274882)); - _202D_202B_202E_206E_200E_200C_200C_202A_202E_202A_206B_200F_206C_200E_206B_206A_206A_202A_200C_200B_202C_206F_202E_200D_202D_200B_206E_202A_206B_206E_206D_202E_200C_202B_206A_206D_200F_206F_206C_200D_202E(builder, DataId.ToString()); - _202D_202B_202E_206E_200E_200C_200C_202A_202E_202A_206B_200F_206C_200E_206B_206A_206A_202A_200C_200B_202C_206F_202E_200D_202D_200B_206E_202A_206B_206E_206D_202E_200C_202B_206A_206D_200F_206F_206C_200D_202E(builder, 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(647271640)); - _202D_202B_202E_206E_200E_200C_200C_202A_202E_202A_206B_200F_206C_200E_206B_206A_206A_202A_200C_200B_202C_206F_202E_200D_202D_200B_206E_202A_206B_206E_206D_202E_200C_202B_206A_206D_200F_206F_206C_200D_202E(builder, StopDistance.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(WaitForNearDataId? other) - { - int num = (((object)this == other) ? (-1584907554) : (-1584907555)); - while (true) - { - int num2 = num; - int num3 = -1584907556; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - num = -1584907555; - break; - case 1: - num = (((object)other == null) ? (-1584907558) : (-1584907560)); - break; - case 6: - return false; - case 4: - num = ((!_202E_200F_200D_202E_206D_200E_206F_202B_202E_206B_200E_206B_206F_200B_206D_202C_206E_206C_200E_200D_202B_200C_202A_202D_202A_206C_200B_202B_206C_202A_202E_202E_206B_202E_202D_206B_202A_202A_206B_200D_202E(EqualityContract, other.EqualityContract)) ? (-1584907558) : (-1584907556)); - break; - case 0: - num = ((!EqualityComparer.Default.Equals(DataId, other.DataId)) ? (-1584907558) : (-1584907553)); - break; - case 2: - return true; - case 3: - return EqualityComparer.Default.Equals(StopDistance, other.StopDistance); - } - } - } - - bool IEquatable.Equals(WaitForNearDataId? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202C_200F_206A_200F_206E_200E_206F_206C_200C_202C_206D_206B_200C_202A_200F_200E_206B_206A_206E_206E_200B_206A_200E_202D_206A_206F_206E_200B_206C_200B_202B_206B_202E_200C_202A_200E_206B_206D_202B_200D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206A_206C_202B_206C_206A_200B_206D_202E_200D_200E_202C_200F_202B_200D_202B_200B_206D_202A_202C_202E_200E_206B_202E_200D_206E_206C_200C_206C_206E_206D_202B_206C_202C_202E_206F_202C_202B_206A_202E_200E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202D_202B_202E_206E_200E_200C_200C_202A_202E_202A_206B_200F_206C_200E_206B_206A_206A_202A_200C_200B_202C_206F_202E_200D_202D_200B_206E_202A_206B_206E_206D_202E_200C_202B_206A_206D_200F_206F_206C_200D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206D_200D_200D_206C_206A_200D_206E_200C_206F_206B_206F_206E_202D_202D_206D_200D_202B_200D_200B_206B_202B_200C_206B_202D_202C_206A_206A_200B_206F_206D_202C_206B_206F_206E_206E_202E_206F_202E_206C_200C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200E_202A_206C_200B_206A_200B_206C_202D_206B_200E_206F_206C_202B_206E_202B_202B_202E_202A_206F_202B_206D_206E_206C_202C_206D_206A_200B_206D_202A_202B_206E_202B_200B_200E_202C_202C_206A_206B_206A_200F_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202C_206B_200B_206C_206B_200E_200B_206A_206E_200B_200D_202C_200D_202A_200B_206C_206F_200B_206D_202C_200F_206D_202B_206F_206A_202E_200C_200C_206A_206D_200E_206F_206D_202B_200D_200C_200E_202D_200D_200F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _202E_200F_200D_202E_206D_200E_206F_202B_202E_206B_200E_206B_206F_200B_206D_202C_206E_206C_200E_200D_202B_200C_202A_202D_202A_206C_200B_202B_206C_202A_202E_202E_206B_202E_202D_206B_202A_202A_206B_200D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } } diff --git a/Questionable/Questionable.Controller.Steps.Movement/WaitForNearDataIdExecutor.cs b/Questionable/Questionable.Controller.Steps.Movement/WaitForNearDataIdExecutor.cs index 3f441a3..7eb8a2a 100644 --- a/Questionable/Questionable.Controller.Steps.Movement/WaitForNearDataIdExecutor.cs +++ b/Questionable/Questionable.Controller.Steps.Movement/WaitForNearDataIdExecutor.cs @@ -1,5 +1,3 @@ -using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Game.ClientState.Objects.SubKinds; using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; @@ -14,48 +12,19 @@ internal sealed class WaitForNearDataIdExecutor(GameFunctions gameFunctions, IOb return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { IGameObject gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId); - IPlayerCharacter playerCharacter = _202E_206D_202B_206B_206B_206A_206B_202D_200E_202D_206A_206A_200C_200B_206A_206E_206C_200D_206B_206D_206F_200C_202D_202C_200D_202E_206A_202E_202E_200B_200E_206E_202C_206F_206A_206E_206C_202A_202B_206A_202E(objectTable); - int num = ((gameObject == null) ? (-1888435881) : (-1888435883)); - while (true) + IPlayerCharacter localPlayer = objectTable.LocalPlayer; + if (gameObject == null || localPlayer == null || (gameObject.Position - localPlayer.Position).Length() > base.Task.StopDistance) { - int num2 = num; - int num3 = -1888435882; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1888435883; - break; - case 2: - num = ((!((_202E_206C_202D_202D_206F_206F_202E_206F_202C_202A_202D_206C_202B_206C_202D_206E_202A_206D_206D_206A_202E_200D_200B_200E_200D_202D_206E_200D_202D_206A_200E_202D_202C_206B_200F_206B_206A_202D_206B_206B_202E(gameObject) - _202E_206C_202D_202D_206F_206F_202E_206F_202C_202A_202D_206C_202B_206C_202D_206E_202A_206D_206D_206A_202E_200D_200B_200E_200D_202D_206E_200D_202D_206A_200E_202D_202C_206B_200F_206B_206A_202D_206B_206B_202E((IGameObject)playerCharacter)).Length() > base.Task.StopDistance)) ? (-1888435886) : (-1888435881)); - break; - case 3: - num = ((playerCharacter == null) ? (-1888435881) : (-1888435884)); - break; - case 4: - return ETaskResult.TaskComplete; - case 1: - throw new TaskException(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1158873543)); - } + throw new TaskException("Object not found or too far away, no position so we can't move"); } + return ETaskResult.TaskComplete; } public override bool ShouldInterruptOnDamage() { return false; } - - static IPlayerCharacter _202E_206D_202B_206B_206B_206A_206B_202D_200E_202D_206A_206A_200C_200B_206A_206E_206C_200D_206B_206D_206F_200C_202D_202C_200D_202E_206A_202E_202E_200B_200E_206E_202C_206F_206A_206E_206C_202A_202B_206A_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static Vector3 _202E_206C_202D_202D_206F_206F_202E_206F_202C_202A_202D_206C_202B_206C_202D_206E_202A_206D_206D_206A_202E_200D_200B_200E_200D_202D_206E_200D_202D_206A_200E_202D_202C_206B_200F_206B_206A_202D_206B_206B_202E(IGameObject P_0) - { - return P_0.Position; - } } diff --git a/Questionable/Questionable.Controller.Steps.Shared/AethernetRide.cs b/Questionable/Questionable.Controller.Steps.Shared/AethernetRide.cs index 3e206e4..d39a501 100644 --- a/Questionable/Questionable.Controller.Steps.Shared/AethernetRide.cs +++ b/Questionable/Questionable.Controller.Steps.Shared/AethernetRide.cs @@ -1,11 +1,8 @@ using System; using System.Collections.Generic; -using System.Collections.ObjectModel; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -using System.Text; using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Objects.SubKinds; using Dalamud.Game.ClientState.Objects.Types; @@ -24,97 +21,9 @@ internal static class AethernetRide { internal sealed record Task(EAetheryteLocation From, EAetheryteLocation To) : ISkippableTask, ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202A_202A_206E_202C_206D_206A_200C_200E_206E_200C_200D_200F_200B_200C_200F_200D_200F_200E_206B_200B_202A_200C_202B_202B_200F_200F_206F_206C_206B_206D_202A_200B_206E_202E_202B_202E_202C_202A_202D_206D_202E(typeof(Task).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(18, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1464179176)); - defaultInterpolatedStringHandler.AppendFormatted(From); - defaultInterpolatedStringHandler.AppendLiteral(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(-1415797485)); - defaultInterpolatedStringHandler.AppendFormatted(To); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200C_202A_202E_206F_206D_202C_200E_206B_206F_200B_202A_200B_200D_206C_202C_200E_200F_206F_206E_200D_206E_202A_200E_202E_206F_200C_202A_206A_206D_200C_200C_202B_202A_200B_200C_206E_202B_206F_206A_202D_202E(); - _200D_200E_202D_200C_202B_206E_202C_200C_202E_206F_200E_206C_206A_200F_202B_206B_200F_206B_206C_206E_200B_202E_202C_206E_206E_206B_206C_200E_206F_206D_206E_202D_202C_202E_206F_206C_202E_202E_202B_202C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1869557730)); - _200D_200E_202D_200C_202B_206E_202C_200C_202E_206F_200E_206C_206A_200F_202B_206B_200F_206B_206C_206E_200B_202E_202C_206E_206E_206B_206C_200E_206F_206D_206E_202D_202C_202E_206F_206C_202E_202E_202B_202C_202E(builder, From.ToString()); - _200D_200E_202D_200C_202B_206E_202C_200C_202E_206F_200E_206C_206A_200F_202B_206B_200F_206B_206C_206E_200B_202E_202C_206E_206E_206B_206C_200E_206F_206D_206E_202D_202C_202E_206F_206C_202E_202E_202B_202C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1257560035)); - _200D_200E_202D_200C_202B_206E_202C_200C_202E_206F_200E_206C_206A_200F_202B_206B_200F_206B_206C_206E_200B_202E_202C_206E_206E_206B_206C_200E_206F_206D_206E_202D_202C_202E_206F_206C_202E_202E_202B_202C_202E(builder, To.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(Task? other) - { - int num = (((object)this == other) ? 921628929 : 921628935); - while (true) - { - int num2 = num; - int num3 = 921628932; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - num = ((!_200B_200D_202B_202B_200B_206D_200B_206A_206D_206A_202D_200B_202B_202E_202C_202A_200D_202B_202E_202C_200F_206F_200B_200F_200B_200F_200F_200F_202D_200B_200E_202E_206E_202A_206E_206B_200C_206A_202D_206B_202E(EqualityContract, other.EqualityContract)) ? 921628928 : 921628930); - break; - case 5: - return true; - case 4: - return false; - case 3: - num = (((object)other == null) ? 921628928 : 921628933); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(From, other.From)) ? 921628928 : 921628934); - break; - case 0: - num = 921628935; - break; - case 2: - return EqualityComparer.Default.Equals(To, other.To); - } - } - } - - bool IEquatable.Equals(Task? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202A_202A_206E_202C_206D_206A_200C_200E_206E_200C_200D_200F_200B_200C_200F_200D_200F_200E_206B_200B_202A_200C_202B_202B_200F_200F_206F_206C_206B_206D_202A_200B_206E_202E_202B_202E_202C_202A_202D_206D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _200C_202A_202E_206F_206D_202C_200E_206B_206F_200B_202A_200B_200D_206C_202C_200E_200F_206F_206E_200D_206E_202A_200E_202E_206F_200C_202A_206A_206D_200C_200C_202B_202A_200B_200C_206E_202B_206F_206A_202D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200D_200E_202D_200C_202B_206E_202C_200C_202E_206F_200E_206C_206A_200F_202B_206B_200F_206B_206C_206E_200B_202E_202C_206E_206E_206B_206C_200E_206F_206D_206E_202D_202C_202E_206F_206C_202E_202E_202B_202C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _200B_200D_202B_202B_200B_206D_200B_206A_206D_206A_202D_200B_202B_202E_202C_202A_200D_202B_202E_202C_200F_206F_200B_200F_200B_200F_200F_200F_202D_200B_200E_202E_206E_202A_206E_206B_200C_206A_202D_206B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"UseAethernet({From} -> {To})"; } } @@ -131,17 +40,6 @@ internal static class AethernetRide WaitingForArrival } - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass20_0 - { - public Vector3 playerPosition; - - internal float _003CStart_003Eb__0(Vector3 x) - { - return Vector3.Distance(playerPosition, x); - } - } - private EAethernetPhase _phase; private long _continueAt; @@ -157,7 +55,7 @@ internal static class AethernetRide private void SetPhase(EAethernetPhase phase) { _phase = phase; - _phaseStartedAt = _200E_206E_200C_200F_206F_202A_206D_200C_202A_202D_206E_200D_206B_206E_200B_202E_200F_206B_202E_200C_206A_206F_202D_206D_206A_200D_200B_206D_200C_206E_202E_202B_206B_206C_202C_206D_206E_202C_200E_206A_202E(); + _phaseStartedAt = Environment.TickCount64; } public void StopNow() @@ -165,474 +63,194 @@ internal static class AethernetRide aethernetTeleportService.Reset(); } - void IStoppableTaskExecutor.StopNow() - { - //ILSpy generated this explicit interface implementation from .override directive in StopNow - this.StopNow(); - } - public override bool HasTimedOut(float timeoutSeconds) { - int num = ((_phase != EAethernetPhase.None) ? 466261811 : 466261810); - while (true) + if (_phase == EAethernetPhase.None) { - int num2 = num; - int num3 = 466261811; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return _200E_206E_200C_200F_206F_202A_206D_200C_202A_202D_206E_200D_206B_206E_200B_202E_200F_206B_202E_200C_206A_206F_202D_206D_206A_200D_200B_206D_200C_206E_202E_202B_206B_206C_202C_206D_206E_202C_200E_206A_202E() - _phaseStartedAt > (long)(timeoutSeconds * 1000f); - case 1: - return false; - case 2: - goto IL_005f; - } - continue; - IL_005f: - num = 466261810; + return false; } + return Environment.TickCount64 - _phaseStartedAt > (long)(timeoutSeconds * 1000f); } - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { SetPhase(EAethernetPhase.None); _interactionAttempts = 0; aethernetTeleportService.Reset(); - int num = ((!aetheryteFunctions.IsAetheryteUnlocked(base.Task.From)) ? (-1371830101) : (-1371830111)); - _003C_003Ec__DisplayClass20_0 _003C_003Ec__DisplayClass20_ = default(_003C_003Ec__DisplayClass20_0); - uint num7 = default(uint); - IPlayerCharacter playerCharacter = default(IPlayerCharacter); - while (true) + if (aetheryteFunctions.IsAetheryteUnlocked(base.Task.From) && aetheryteFunctions.IsAetheryteUnlocked(base.Task.To)) { - int num2 = num; - int num3 = -1371830100; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - float num8; - float num10; - switch (num5 - (num6 + num6)) + uint territoryType = clientState.TerritoryType; + IPlayerCharacter localPlayer = objectTable.LocalPlayer; + if (localPlayer == null) { - case 2: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(42, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(1136097432)); - defaultInterpolatedStringHandler.AppendFormatted(base.Task.From); - defaultInterpolatedStringHandler.AppendLiteral(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(-732790977)); - defaultInterpolatedStringHandler.AppendFormatted(base.Task.To); - defaultInterpolatedStringHandler.AppendLiteral(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(444206578)); - throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear()); + return false; } - case 11: + Vector3 playerPosition = localPlayer.Position; + if (aetheryteData.CalculateDistance(playerPosition, territoryType, base.Task.From) < aetheryteData.CalculateDistance(playerPosition, territoryType, base.Task.To)) + { + float num = (base.Task.From.IsFirmamentAetheryte() ? 11f : (AetheryteConverter.IsLargeAetheryte(base.Task.From) ? 11f : 4f)); + if (aetheryteData.CalculateDistance(playerPosition, territoryType, base.Task.From) < num) + { + BeginTeleport(); + return true; + } + if (base.Task.From == EAetheryteLocation.SolutionNine) + { + logger.LogDebug("Moving to S9 aetheryte"); + int num2 = 4; + List list = new List(num2); + CollectionsMarshal.SetCount(list, num2); + Span span = CollectionsMarshal.AsSpan(list); + span[0] = new Vector3(0f, 8.442986f, 9f); + span[1] = new Vector3(9f, 8.442986f, 0f); + span[2] = new Vector3(-9f, 8.442986f, 0f); + span[3] = new Vector3(0f, 8.442986f, -9f); + Vector3 to = list.MinBy((Vector3 x) => Vector3.Distance(playerPosition, x)); + SetPhase(EAethernetPhase.Moving); + movementController.NavigateTo(EMovementType.Quest, (uint)base.Task.From, to, fly: false, sprint: true, 0.25f); + return true; + } + if (territoryData.CanUseMount(territoryType) && aetheryteData.CalculateDistance(playerPosition, territoryType, base.Task.From) > 30f && !gameFunctions.HasStatusPreventingMount() && gameFunctions.Mount()) + { + SetPhase(EAethernetPhase.Mounting); + _continueAt = Environment.TickCount64 + 500; + return true; + } StartMoving(); return true; - case 6: - num8 = 11f; - goto IL_0145; - case 15: - num = ((!(_206C_206A_206C_202B_200C_200F_200D_200D_202D_202E_200B_206F_206C_200D_200D_200E_202E_206B_206E_206A_202A_200D_206B_202E_202D_202C_202C_206C_206E_200B_206C_202D_206D_206D_200D_200D_206A_202C_206C_206F_202E(aetheryteData, _003C_003Ec__DisplayClass20_.playerPosition, num7, base.Task.From) > 30f)) ? (-1371830105) : (-1371830104)); - break; - case 10: - return false; - case 5: - SetPhase(EAethernetPhase.Mounting); - _continueAt = _200E_206E_200C_200F_206F_202A_206D_200C_202A_202D_206E_200D_206B_206E_200B_202E_200F_206B_202E_200C_206A_206F_202D_206D_206A_200D_200B_206D_200C_206E_202E_202B_206B_206C_202C_206D_206E_202C_200E_206A_202E() + 500; - return true; - case 20: - num = ((base.Task.From != EAetheryteLocation.SolutionNine) ? (-1371830082) : (-1371830087)); - break; - case 19: - num = (_200D_200D_202D_200F_202B_200C_200B_206E_206D_206E_202A_202D_200F_206A_202E_206C_202A_202A_200C_202D_206A_202C_206C_202B_206C_200D_206F_206C_200F_202D_200B_200B_200D_202D_206D_206A_202B_206E_206E_202B_202E(base.Task.From) ? (-1371830099) : (-1371830083)); - break; - case 0: - BeginTeleport(); - return true; - case 13: - num = ((!aetheryteFunctions.IsAetheryteUnlocked(base.Task.To)) ? (-1371830101) : (-1371830097)); - break; - case 16: - num = -1371830111; - break; - case 22: - return false; - case 18: - num = ((!territoryData.CanUseMount(num7)) ? (-1371830105) : (-1371830109)); - break; - case 8: - _206F_206D_200D_200C_200F_200F_202A_206C_206D_206E_200E_202E_206C_206A_206E_206F_206F_200F_200B_206E_200F_200C_200F_206E_206E_202C_202E_200E_200E_202A_202A_200D_206A_202E_202E_202C_206A_200C_206F_202E_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1241997546), new object[2] - { - base.Task.From, - base.Task.To - }); - num = -1371830106; - break; - case 1: - num8 = 11f; - goto IL_0145; - case 21: - { - _202E_206A_206A_206B_206B_202B_202B_202B_206B_202D_200E_202C_200F_202E_206F_200D_202B_200E_206C_202D_202D_200D_202B_202E_200F_200C_206F_202B_206D_200E_202A_202B_206C_200E_206F_202D_202E_206E_206C_202D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1883356497), Array.Empty()); - int num9 = 4; - List list = new List(num9); - CollectionsMarshal.SetCount(list, num9); - Span span = CollectionsMarshal.AsSpan(list); - span[0] = new Vector3(0f, 8.442986f, 9f); - span[1] = new Vector3(9f, 8.442986f, 0f); - span[2] = new Vector3(-9f, 8.442986f, 0f); - span[3] = new Vector3(0f, 8.442986f, -9f); - Vector3 to = list.MinBy(_003C_003Ec__DisplayClass20_._003CStart_003Eb__0); - SetPhase(EAethernetPhase.Moving); - movementController.NavigateTo(EMovementType.Quest, (uint)base.Task.From, to, fly: false, sprint: true, 0.25f); - return true; - } - case 17: - num8 = 4f; - goto IL_0145; - case 14: - num = (_206D_200D_206F_206B_202D_200F_202B_202A_200E_202A_206B_202C_202D_200C_206B_206C_206B_200C_206A_202E_202A_206D_206D_206E_200B_200E_202A_202A_200E_206A_206C_206E_202E_202B_200B_206B_206F_202C_202B_202C_202E(base.Task.From) ? (-1371830102) : (-1371830081)); - break; - case 12: - _003C_003Ec__DisplayClass20_.playerPosition = _202C_200B_202C_206B_200E_200C_200E_200C_202E_200C_202D_202A_206C_202A_202D_202D_200D_200E_200F_202B_206E_202D_206E_200F_206D_206E_206B_200C_206A_202A_202D_202E_200D_206A_206A_206E_200E_206D_206D_206B_202E((IGameObject)playerCharacter); - num = ((!(_206C_206A_206C_202B_200C_200F_200D_200D_202D_202E_200B_206F_206C_200D_200D_200E_202E_206B_206E_206A_202A_200D_206B_202E_202D_202C_202C_206C_206E_200B_206C_202D_206D_206D_200D_200D_206A_202C_206C_206F_202E(aetheryteData, _003C_003Ec__DisplayClass20_.playerPosition, num7, base.Task.From) < _206C_206A_206C_202B_200C_200F_200D_200D_202D_202E_200B_206F_206C_200D_200D_200E_202E_206B_206E_206A_202A_200D_206B_202E_202D_202C_202C_206C_206E_200B_206C_202D_206D_206D_200D_200D_206A_202C_206C_206F_202E(aetheryteData, _003C_003Ec__DisplayClass20_.playerPosition, num7, base.Task.To))) ? (-1371830106) : (-1371830110)); - break; - case 3: - _003C_003Ec__DisplayClass20_ = new _003C_003Ec__DisplayClass20_0(); - num7 = _206B_206B_202C_202B_200F_202C_206C_202B_206C_202D_206E_200E_202D_206F_202A_200B_202B_200D_200F_202E_206B_206C_206E_200B_200C_206A_206C_206C_202B_200B_206E_202C_200B_202B_200D_206E_206D_200B_206B_206A_202E(clientState); - playerCharacter = _200E_206A_206E_206A_206F_206D_202D_200E_206A_200B_206F_200B_202E_202D_206E_206F_206D_202A_200E_200C_200C_200E_200D_206C_206E_206B_206F_202E_200D_200E_206A_202C_200B_202D_206F_206C_200B_200C_202C_202D_202E(objectTable); - num = ((playerCharacter != null) ? (-1371830112) : (-1371830086)); - break; - case 7: - num = ((_206B_206B_202C_202B_200F_202C_206C_202B_206C_202D_206E_200E_202D_206F_202A_200B_202B_200D_200F_202E_206B_206C_206E_200B_200C_206A_206C_206C_202B_200B_206E_202C_200B_202B_200D_206E_206D_200B_206B_206A_202E(clientState) != _206A_206D_202C_202C_202B_206E_202A_206D_200D_200B_206E_200C_200B_200F_206E_200E_200F_200B_200D_202C_200E_206E_202A_200B_200B_200B_206C_206D_206F_206D_200D_206B_206C_202A_200C_206C_200B_200C_206B_206D_202E(aetheryteData)[base.Task.To]) ? (-1371830098) : (-1371830108)); - break; - case 9: - num = ((!gameFunctions.Mount()) ? (-1371830105) : (-1371830103)); - break; - case 4: - { - num = (gameFunctions.HasStatusPreventingMount() ? (-1371830105) : (-1371830107)); - break; - } - IL_0145: - num10 = num8; - num = ((!(_206C_206A_206C_202B_200C_200F_200D_200D_202D_202E_200B_206F_206C_200D_200D_200E_202E_206B_206E_206A_202A_200D_206B_202E_202D_202C_202C_206C_206E_200B_206C_202D_206D_206D_200D_200D_206A_202C_206C_206F_202E(aetheryteData, _003C_003Ec__DisplayClass20_.playerPosition, num7, base.Task.From) < num10)) ? (-1371830088) : (-1371830100)); - break; } } + else + { + if (clientState.TerritoryType != aetheryteData.TerritoryIds[base.Task.To]) + { + throw new TaskException($"Aethernet ride not unlocked (from: {base.Task.From}, to: {base.Task.To})"); + } + logger.LogWarning("Aethernet ride not unlocked (from: {FromAetheryte}, to: {ToAetheryte}), skipping as we are already in the destination territory", base.Task.From, base.Task.To); + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private void StartMoving() { - _202E_206A_206A_206B_206B_202B_202B_202B_206B_202D_200E_202C_200F_202E_206F_200D_202B_200E_206C_202D_202D_200D_202B_202E_200F_200C_206F_202B_206D_200E_202A_202B_206C_200E_206F_202D_202E_206E_206C_202D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1021163770), Array.Empty()); + logger.LogDebug("Moving to aethernet shard"); SetPhase(EAethernetPhase.Moving); EAetheryteLocation eAetheryteLocation = base.Task.From; - int num = -280840246; - float value = default(float); - float num7 = default(float); - while (true) - { - int num2 = num; - int num3 = -280840247; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num8; - bool flag; - switch (num5 - (num6 + num6)) - { - case 3: - num = ((!_206D_200D_206F_206B_202D_200F_202B_202A_200E_202A_206B_202C_202D_200C_206B_206C_206B_200C_206A_202E_202A_206D_206D_206E_200B_200E_202A_202A_200E_206A_206C_206E_202E_202B_200B_206B_206F_202C_202B_202C_202E(base.Task.From)) ? (-280840254) : (-280840248)); - break; - case 6: - num = -280840253; - break; - case 8: - num8 = ((!_200D_200D_202D_200F_202B_200C_200B_206E_206D_206E_202A_202D_200F_206A_202E_206C_202A_202A_200C_202D_206A_202C_206C_202B_206C_200D_206F_206C_200F_202D_200B_200B_200D_202D_206D_206A_202B_206E_206E_202B_202E(base.Task.From)) ? 1 : 0); - goto IL_00e9; - case 7: - num8 = 0; - goto IL_00e9; - case 10: - num = ((!_200D_200D_202D_200F_202B_200C_200B_206E_206D_206E_202A_202D_200F_206A_202E_206C_202A_202A_200C_202D_206A_202C_206C_202B_206C_200D_206F_206C_200F_202D_200B_200B_200D_202D_206D_206A_202B_206E_206E_202B_202E(base.Task.From)) ? (-280840247) : (-280840243)); - break; - case 2: - num = -280840246; - break; - case 5: - value = num7; - num = ((!_202E_202E_202B_206A_200F_200D_202C_200B_206C_206B_206D_206E_200D_202C_200E_202B_200B_200B_206B_206F_202E_200B_202C_206D_200B_200B_200B_206B_200B_206E_202E_200E_202B_200B_200D_200D_206C_206D_202C_206E_202E(aetheryteData, base.Task.From)) ? (-280840242) : (-280840255)); - break; - case 0: - num7 = 6.9f; - num = -280840244; - break; - case 11: - num = ((eAetheryteLocation == EAetheryteLocation.UldahChamberOfRule) ? (-280840256) : (-280840241)); - break; - case 1: - num7 = 4.4f; - num = -280840244; - break; - case 4: - num7 = 10.9f; - num = -280840244; - break; - case 9: - { - num7 = 5f; - num = -280840244; - break; - } - IL_00e9: - flag = (byte)num8 != 0; - movementController.NavigateTo(EMovementType.Quest, (uint)base.Task.From, _202C_202C_202D_200C_202C_206C_200C_206F_202C_200C_206C_200C_202B_202A_200E_200C_202A_202C_202C_202E_200F_200B_206E_206E_206C_206C_202A_200C_206D_202D_202B_200F_206B_206E_202D_206B_206F_200D_202B_206E_202E(aetheryteData)[base.Task.From], fly: false, sprint: true, value, flag ? new float?(5f) : ((float?)null)); - return; - } - } + float num = (base.Task.From.IsFirmamentAetheryte() ? 4.4f : ((eAetheryteLocation != EAetheryteLocation.UldahChamberOfRule) ? ((!AetheryteConverter.IsLargeAetheryte(base.Task.From)) ? 6.9f : 10.9f) : 5f)); + float value = num; + bool flag = aetheryteData.IsGoldSaucerAetheryte(base.Task.From) && !AetheryteConverter.IsLargeAetheryte(base.Task.From); + movementController.NavigateTo(EMovementType.Quest, (uint)base.Task.From, aetheryteData.Locations[base.Task.From], fly: false, sprint: true, value, flag ? new float?(5f) : ((float?)null)); } - [MethodImpl(MethodImplOptions.NoInlining)] private void BeginTeleport() { - _206F_202A_200D_200D_202C_202D_202A_200D_202C_206E_200F_206B_202C_200D_206A_200D_206D_206B_200B_202E_206D_206A_206A_206C_202C_202E_200C_200E_202B_206C_206F_200E_200D_202E_202A_206E_200B_206D_202A_200F_202E((ILogger)logger, 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(668413368), new object[2] + logger.LogInformation("Initiating aethernet teleport to {Destination} via {From}", base.Task.To, base.Task.From); + if (condition[ConditionFlag.Mounted]) { - base.Task.To, - base.Task.From - }); - int num = ((!_202A_200F_202B_202E_202C_206C_206F_206D_206B_202E_202C_202B_206C_202C_200D_206A_200F_200F_202C_206E_206E_202D_206C_202A_200C_200B_200C_200C_206C_206F_202B_202E_200B_206C_202C_206E_202E_202B_202B_202E_202E(condition, ConditionFlag.Mounted)) ? 1024812396 : 1024812397); - while (true) + gameFunctions.Unmount(); + SetPhase(EAethernetPhase.Unmounting); + } + else { - int num2 = num; - int num3 = 1024812396; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_008d; - case 0: - SetPhase(EAethernetPhase.WaitingForTargetable); - return; - case 1: - gameFunctions.Unmount(); - SetPhase(EAethernetPhase.Unmounting); - return; - } - continue; - IL_008d: - num = 1024812397; + SetPhase(EAethernetPhase.WaitingForTargetable); } } private bool TryInteractWithShard() { IGameObject gameObject = gameFunctions.FindObjectByDataId((uint)base.Task.From, null, warnIfMissing: false); - int num = ((gameObject == null) ? 2057094986 : 2057094985); - while (true) + if (gameObject == null || !gameObject.IsTargetable) { - int num2 = num; - int num3 = 2057094987; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = 2057094985; - break; - case 2: - num = (_206D_200D_206E_200F_202D_206A_200B_200C_200D_200D_202D_206E_202B_206F_202C_202C_202C_200C_202A_206A_200F_202C_206E_200B_206F_206F_206F_200E_200F_200D_200B_206C_206A_206C_206A_200E_202D_202D_200B_200D_202E(gameObject) ? 2057094987 : 2057094986); - break; - case 1: - return false; - case 0: - { - aethernetTeleportService.RequestTeleport(base.Task.To); - gameFunctions.InteractWith(gameObject); - int interactionAttempts = _interactionAttempts; - num3 = 1; - num4 = interactionAttempts; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - _interactionAttempts = num7 + (num8 + num8); - SetPhase(EAethernetPhase.Interacting); - return true; - } - } + return false; } + aethernetTeleportService.RequestTeleport(base.Task.To); + gameFunctions.InteractWith(gameObject); + _interactionAttempts++; + SetPhase(EAethernetPhase.Interacting); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - int num = ((_200E_206E_200C_200F_206F_202A_206D_200C_202A_202D_206E_200D_206B_206E_200B_202E_200F_206B_202E_200C_206A_206F_202D_206D_206A_200D_200B_206D_200C_206E_202E_202B_206B_206C_202C_206D_206E_202C_200E_206A_202E() >= _continueAt) ? 1692805605 : 1692805604); - Vector3? vector = default(Vector3?); - while (true) + if (Environment.TickCount64 < _continueAt) { - int num2 = num; - int num3 = 1692805622; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - IPlayerCharacter playerCharacter; - switch (num5 - (num6 + num6)) + return ETaskResult.StillRunning; + } + switch (_phase) + { + case EAethernetPhase.Mounting: + if (condition[ConditionFlag.Mounted]) { - case 37: - return ETaskResult.StillRunning; - case 21: - num = ((aethernetTeleportService.State != AethernetTeleportService.ETeleportState.WaitingForAddon) ? 1692805588 : 1692805624); - break; - case 26: - return ETaskResult.StillRunning; - case 35: - goto IL_010a; - case 25: - SetPhase(EAethernetPhase.WaitingForArrival); - return ETaskResult.StillRunning; - case 30: - aethernetTeleportService.Reset(); - return ETaskResult.TaskComplete; - case 14: - num = ((_interactionAttempts >= 3) ? 1692805627 : 1692805611); - break; - case 1: - return ETaskResult.StillRunning; - case 6: - goto IL_016b; - case 15: - num = (movementController.IsPathRunning ? 1692805600 : 1692805609); - break; - case 24: - return ETaskResult.StillRunning; - case 36: - num = 1692805604; - break; - case 34: - num = ((aethernetTeleportService.State != AethernetTeleportService.ETeleportState.Failed) ? 1692805615 : 1692805620); - break; - case 4: - return ETaskResult.StillRunning; - case 16: - goto IL_0214; - case 3: - num = ((!(_206C_206A_206C_202B_200C_200F_200D_200D_202D_202E_200B_206F_206C_200D_200D_200E_202E_206B_206E_206A_202A_200D_206B_202E_202D_202C_202C_206C_206E_200B_206C_202D_206D_206D_200D_200D_206A_202C_206C_206F_202E(aetheryteData, vector.Value, _206B_206B_202C_202B_200F_202C_206C_202B_206C_202D_206E_200E_202D_206F_202A_200B_202B_200D_200F_202E_206B_206C_206E_200B_200C_206A_206C_206C_202B_200B_206E_202C_200B_202B_200D_206E_206D_200B_206B_206A_202E(clientState), base.Task.To) > 20f)) ? 1692805608 : 1692805590); - break; - case 28: StartMoving(); - num = 1692805623; - break; - case 29: - num = ((_200E_206E_200C_200F_206F_202A_206D_200C_202A_202D_206E_200D_206B_206E_200B_202E_200F_206B_202E_200C_206A_206F_202D_206D_206A_200D_200B_206D_200C_206E_202E_202B_206B_206C_202C_206D_206E_202C_200E_206A_202E() - _phaseStartedAt < 3000) ? 1692805627 : 1692805630); - break; - case 10: - num = ((_206B_206B_202C_202B_200F_202C_206C_202B_206C_202D_206E_200E_202D_206F_202A_200B_202B_200D_200F_202E_206B_206C_206E_200B_200C_206A_206C_206C_202B_200B_206E_202C_200B_202B_200D_206E_206D_200B_206B_206A_202E(clientState) == _206A_206D_202C_202C_202B_206E_202A_206D_200D_200B_206E_200C_200B_200F_206E_200E_200F_200B_200D_202C_200E_206E_202A_200B_200B_200B_206C_206D_206F_206D_200D_206B_206C_202A_200C_206C_200B_200C_206B_206D_202E(aetheryteData)[base.Task.To]) ? 1692805608 : 1692805614); - break; - case 7: - num = ((!_206A_202E_202A_206C_202D_202D_206A_206F_206E_200C_200F_200B_206C_200D_206C_202D_200D_206B_202E_202C_202E_202D_206B_206F_206D_200D_202B_206F_200E_202A_206D_202A_202E_200E_206C_206C_202A_206E_206F_206E_202E(aetheryteData, base.Task.To)) ? 1692805622 : 1692805626); - break; - case 17: - return ETaskResult.StillRunning; - case 0: - num = (_206D_200F_200C_202E_206C_202A_206D_206C_206D_200F_200D_206D_202B_200E_206A_200D_200C_200F_202B_206C_200E_200C_206D_202E_202C_202A_206B_200F_206B_200D_200D_206B_200D_200E_202C_202D_202B_200B_206B_206C_202E(aetheryteData, base.Task.To) ? 1692805621 : 1692805601); - break; - case 9: - SetPhase(EAethernetPhase.WaitingForTargetable); - num = 1692805607; - break; - case 11: - num = (movementController.IsPathfinding ? 1692805600 : 1692805625); - break; - case 31: - BeginTeleport(); - num = 1692805600; - break; - case 13: - return ETaskResult.StillRunning; - case 12: - num = ((!(_202C_200D_200F_206F_206D_206D_200C_200D_206D_200D_206A_200E_200F_206C_200D_202D_200D_202C_202B_200F_206F_206D_200C_200D_202B_200F_202C_200B_200E_206A_206E_206B_206F_200C_206A_200D_202B_206A_202D_200F_202E(aetheryteData, vector.Value, _206B_206B_202C_202B_200F_202C_206C_202B_206C_202D_206E_200E_202D_206F_202A_200B_202B_200D_200F_202E_206B_206C_206E_200B_200C_206A_206C_206C_202B_200B_206E_202C_200B_202B_200D_206E_206D_200B_206B_206A_202E(clientState), base.Task.To) > 5f)) ? 1692805608 : 1692805591); - break; - case 20: - num = 1692805618; - break; - case 22: - return ETaskResult.StillRunning; - case 18: - return ETaskResult.StillRunning; - case 27: - goto IL_03ea; - case 8: + } + return ETaskResult.StillRunning; + case EAethernetPhase.Moving: + if (!movementController.HasBeenMovingForAtLeast(2000)) + { + return ETaskResult.StillRunning; + } + if (!movementController.IsPathfinding && !movementController.IsPathRunning) + { + BeginTeleport(); + } + return ETaskResult.StillRunning; + case EAethernetPhase.Unmounting: + if (!condition[ConditionFlag.Mounted]) { - ILogger logger = logger; - string text = 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(1660386919); - object[] array = new object[2]; - int interactionAttempts = _interactionAttempts; - num3 = 1; - num4 = interactionAttempts; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - array[0] = num7 + (num8 + num8); - array[1] = 3; - _206F_206D_200D_200C_200F_200F_202A_206C_206D_206E_200E_202E_206C_206A_206E_206F_206F_200F_200B_206E_200F_200C_200F_206E_206E_202C_202E_200E_200E_202A_202A_200D_206A_202E_202E_202C_206A_200C_206F_202E_202E((ILogger)logger, text, array); - aethernetTeleportService.Reset(); SetPhase(EAethernetPhase.WaitingForTargetable); - num = 1692805627; - break; } - case 32: - return ETaskResult.StillRunning; - case 5: - goto IL_0474; - case 19: - switch (_phase) - { - case EAethernetPhase.Interacting: - break; - case EAethernetPhase.Unmounting: - goto IL_010a; - case EAethernetPhase.WaitingForArrival: - goto IL_016b; - case EAethernetPhase.WaitingForTargetable: - goto IL_0214; - case EAethernetPhase.Mounting: - goto IL_03ea; - case EAethernetPhase.Moving: - goto IL_0474; - default: - goto IL_04c6; - } - goto case 21; - case 23: - num = ((!_202E_202E_202B_206A_200F_200D_202C_200B_206C_206B_206D_206E_200D_202C_200E_202B_200B_200B_206B_206F_202E_200B_202C_206D_200B_200B_200B_206B_200B_206E_202E_200E_202B_200B_200D_200D_206C_206D_202C_206E_202E(aetheryteData, base.Task.To)) ? 1692805628 : 1692805621); - break; - case 33: - return ETaskResult.StillRunning; - case 2: + return ETaskResult.StillRunning; + case EAethernetPhase.WaitingForTargetable: + TryInteractWithShard(); + return ETaskResult.StillRunning; + case EAethernetPhase.Interacting: + if (aethernetTeleportService.State == AethernetTeleportService.ETeleportState.WaitingForAddon) + { + if (_interactionAttempts < 3 && Environment.TickCount64 - _phaseStartedAt >= 3000) { + logger.LogWarning("Aethernet menu did not open; retrying interaction ({Attempt}/{Limit})", _interactionAttempts + 1, 3); aethernetTeleportService.Reset(); - throw new TaskException(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1110721623)); + SetPhase(EAethernetPhase.WaitingForTargetable); } - IL_04c6: - num = 1692805602; - break; - IL_0474: - num = (movementController.HasBeenMovingForAtLeast(2000) ? 1692805629 : 1692805587); - break; - IL_03ea: - num = ((!_202A_200F_202B_202E_202C_206C_206F_206D_206B_202E_202C_202B_206C_202C_200D_206A_200F_200F_202C_206E_206E_202D_206C_202A_200C_200B_200C_200C_206C_206F_202B_202E_200B_206C_202C_206E_202E_202B_202B_202E_202E(condition, ConditionFlag.Mounted)) ? 1692805623 : 1692805610); - break; - IL_010a: - num = (_202A_200F_202B_202E_202C_206C_206F_206D_206B_202E_202C_202B_206C_202C_200D_206A_200F_200F_202C_206E_206E_202D_206C_202A_200C_200B_200C_200C_206C_206F_202B_202E_200B_206C_202C_206E_202E_202B_202B_202E_202E(condition, ConditionFlag.Mounted) ? 1692805607 : 1692805631); - break; - IL_0214: - TryInteractWithShard(); return ETaskResult.StillRunning; - IL_016b: - playerCharacter = _200E_206A_206E_206A_206F_206D_202D_200E_206A_200B_206F_200B_202E_202D_206E_206F_206D_202A_200E_200C_200C_200E_200D_206C_206E_206B_206F_202E_200D_200E_206A_202C_200B_202D_206F_206C_200B_200C_202C_202D_202E(objectTable); - vector = ((playerCharacter != null) ? new Vector3?(_202C_200B_202C_206B_200E_200C_200E_200C_202E_200C_202D_202A_206C_202A_202D_202D_200D_200E_200F_202B_206E_202D_206E_200F_206D_206E_206B_200C_206A_202A_202D_202E_200D_206A_206A_206E_200E_206D_206D_206B_202E((IGameObject)playerCharacter)) : ((Vector3?)null)); - num = (vector.HasValue ? 1692805617 : 1692805612); - break; } + if (aethernetTeleportService.State == AethernetTeleportService.ETeleportState.Failed) + { + aethernetTeleportService.Reset(); + throw new TaskException("Aethernet teleport failed"); + } + SetPhase(EAethernetPhase.WaitingForArrival); + return ETaskResult.StillRunning; + case EAethernetPhase.WaitingForArrival: + { + Vector3? vector = objectTable.LocalPlayer?.Position; + if (!vector.HasValue) + { + return ETaskResult.StillRunning; + } + if (aetheryteData.IsAirshipLanding(base.Task.To)) + { + if (aetheryteData.CalculateAirshipLandingDistance(vector.Value, clientState.TerritoryType, base.Task.To) > 5f) + { + return ETaskResult.StillRunning; + } + } + else if (aetheryteData.IsCityAetheryte(base.Task.To) || aetheryteData.IsGoldSaucerAetheryte(base.Task.To)) + { + if (aetheryteData.CalculateDistance(vector.Value, clientState.TerritoryType, base.Task.To) > 20f) + { + return ETaskResult.StillRunning; + } + } + else if (clientState.TerritoryType != aetheryteData.TerritoryIds[base.Task.To]) + { + return ETaskResult.StillRunning; + } + aethernetTeleportService.Reset(); + return ETaskResult.TaskComplete; + } + default: + return ETaskResult.StillRunning; } } @@ -640,95 +258,5 @@ internal static class AethernetRide { return true; } - - static long _200E_206E_200C_200F_206F_202A_206D_200C_202A_202D_206E_200D_206B_206E_200B_202E_200F_206B_202E_200C_206A_206F_202D_206D_206A_200D_200B_206D_200C_206E_202E_202B_206B_206C_202C_206D_206E_202C_200E_206A_202E() - { - return Environment.TickCount64; - } - - static uint _206B_206B_202C_202B_200F_202C_206C_202B_206C_202D_206E_200E_202D_206F_202A_200B_202B_200D_200F_202E_206B_206C_206E_200B_200C_206A_206C_206C_202B_200B_206E_202C_200B_202B_200D_206E_206D_200B_206B_206A_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static IPlayerCharacter _200E_206A_206E_206A_206F_206D_202D_200E_206A_200B_206F_200B_202E_202D_206E_206F_206D_202A_200E_200C_200C_200E_200D_206C_206E_206B_206F_202E_200D_200E_206A_202C_200B_202D_206F_206C_200B_200C_202C_202D_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static Vector3 _202C_200B_202C_206B_200E_200C_200E_200C_202E_200C_202D_202A_206C_202A_202D_202D_200D_200E_200F_202B_206E_202D_206E_200F_206D_206E_206B_200C_206A_202A_202D_202E_200D_206A_206A_206E_200E_206D_206D_206B_202E(IGameObject P_0) - { - return P_0.Position; - } - - static float _206C_206A_206C_202B_200C_200F_200D_200D_202D_202E_200B_206F_206C_200D_200D_200E_202E_206B_206E_206A_202A_200D_206B_202E_202D_202C_202C_206C_206E_200B_206C_202D_206D_206D_200D_200D_206A_202C_206C_206F_202E(AetheryteData P_0, Vector3 P_1, uint P_2, EAetheryteLocation P_3) - { - return P_0.CalculateDistance(P_1, P_2, P_3); - } - - static bool _206D_200D_206F_206B_202D_200F_202B_202A_200E_202A_206B_202C_202D_200C_206B_206C_206B_200C_206A_202E_202A_206D_206D_206E_200B_200E_202A_202A_200E_206A_206C_206E_202E_202B_200B_206B_206F_202C_202B_202C_202E(EAetheryteLocation P_0) - { - return P_0.IsFirmamentAetheryte(); - } - - static bool _200D_200D_202D_200F_202B_200C_200B_206E_206D_206E_202A_202D_200F_206A_202E_206C_202A_202A_200C_202D_206A_202C_206C_202B_206C_200D_206F_206C_200F_202D_200B_200B_200D_202D_206D_206A_202B_206E_206E_202B_202E(EAetheryteLocation P_0) - { - return AetheryteConverter.IsLargeAetheryte(P_0); - } - - static void _202E_206A_206A_206B_206B_202B_202B_202B_206B_202D_200E_202C_200F_202E_206F_200D_202B_200E_206C_202D_202D_200D_202B_202E_200F_200C_206F_202B_206D_200E_202A_202B_206C_200E_206F_202D_202E_206E_206C_202D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static ReadOnlyDictionary _206A_206D_202C_202C_202B_206E_202A_206D_200D_200B_206E_200C_200B_200F_206E_200E_200F_200B_200D_202C_200E_206E_202A_200B_200B_200B_206C_206D_206F_206D_200D_206B_206C_202A_200C_206C_200B_200C_206B_206D_202E(AetheryteData P_0) - { - return P_0.TerritoryIds; - } - - static void _206F_206D_200D_200C_200F_200F_202A_206C_206D_206E_200E_202E_206C_206A_206E_206F_206F_200F_200B_206E_200F_200C_200F_206E_206E_202C_202E_200E_200E_202A_202A_200D_206A_202E_202E_202C_206A_200C_206F_202E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static bool _202E_202E_202B_206A_200F_200D_202C_200B_206C_206B_206D_206E_200D_202C_200E_202B_200B_200B_206B_206F_202E_200B_202C_206D_200B_200B_200B_206B_200B_206E_202E_200E_202B_200B_200D_200D_206C_206D_202C_206E_202E(AetheryteData P_0, EAetheryteLocation P_1) - { - return P_0.IsGoldSaucerAetheryte(P_1); - } - - static ReadOnlyDictionary _202C_202C_202D_200C_202C_206C_200C_206F_202C_200C_206C_200C_202B_202A_200E_200C_202A_202C_202C_202E_200F_200B_206E_206E_206C_206C_202A_200C_206D_202D_202B_200F_206B_206E_202D_206B_206F_200D_202B_206E_202E(AetheryteData P_0) - { - return P_0.Locations; - } - - static void _206F_202A_200D_200D_202C_202D_202A_200D_202C_206E_200F_206B_202C_200D_206A_200D_206D_206B_200B_202E_206D_206A_206A_206C_202C_202E_200C_200E_202B_206C_206F_200E_200D_202E_202A_206E_200B_206D_202A_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static bool _202A_200F_202B_202E_202C_206C_206F_206D_206B_202E_202C_202B_206C_202C_200D_206A_200F_200F_202C_206E_206E_202D_206C_202A_200C_200B_200C_200C_206C_206F_202B_202E_200B_206C_202C_206E_202E_202B_202B_202E_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static bool _206D_200D_206E_200F_202D_206A_200B_200C_200D_200D_202D_206E_202B_206F_202C_202C_202C_200C_202A_206A_200F_202C_206E_200B_206F_206F_206F_200E_200F_200D_200B_206C_206A_206C_206A_200E_202D_202D_200B_200D_202E(IGameObject P_0) - { - return P_0.IsTargetable; - } - - static bool _206A_202E_202A_206C_202D_202D_206A_206F_206E_200C_200F_200B_206C_200D_206C_202D_200D_206B_202E_202C_202E_202D_206B_206F_206D_200D_202B_206F_200E_202A_206D_202A_202E_200E_206C_206C_202A_206E_206F_206E_202E(AetheryteData P_0, EAetheryteLocation P_1) - { - return P_0.IsAirshipLanding(P_1); - } - - static float _202C_200D_200F_206F_206D_206D_200C_200D_206D_200D_206A_200E_200F_206C_200D_202D_200D_202C_202B_200F_206F_206D_200C_200D_202B_200F_202C_200B_200E_206A_206E_206B_206F_200C_206A_200D_202B_206A_202D_200F_202E(AetheryteData P_0, Vector3 P_1, uint P_2, EAetheryteLocation P_3) - { - return P_0.CalculateAirshipLandingDistance(P_1, P_2, P_3); - } - - static bool _206D_200F_200C_202E_206C_202A_206D_206C_206D_200F_200D_206D_202B_200E_206A_200D_200C_200F_202B_206C_200E_200C_206D_202E_202C_202A_206B_200F_206B_200D_200D_206B_200D_200E_202C_202D_202B_200B_206B_206C_202E(AetheryteData P_0, EAetheryteLocation P_1) - { - return P_0.IsCityAetheryte(P_1); - } } } diff --git a/Questionable/Questionable.Controller.Steps.Shared/AetheryteTeleport.cs b/Questionable/Questionable.Controller.Steps.Shared/AetheryteTeleport.cs index 507d6d9..cf5e763 100644 --- a/Questionable/Questionable.Controller.Steps.Shared/AetheryteTeleport.cs +++ b/Questionable/Questionable.Controller.Steps.Shared/AetheryteTeleport.cs @@ -1,14 +1,10 @@ using System; using System.Collections.Generic; -using System.Collections.ObjectModel; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -using System.Text; using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using Microsoft.Extensions.Logging; using Questionable.Controller.Steps.Movement; @@ -22,95 +18,9 @@ internal static class AetheryteTeleport { internal sealed record Task(EAetheryteLocation TargetAetheryte, ushort ExpectedTerritoryId) : ISkippableTask, ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202E_202E_206D_200B_200C_200E_206A_202B_206D_200E_206B_202A_202D_206C_206B_200F_200B_202E_202C_202D_202B_206B_200F_206F_202A_202D_206B_202D_200C_200D_206B_202C_206D_200D_200C_202B_200D_200E_202E_206D_202E(typeof(Task).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(14, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-749085387)); - defaultInterpolatedStringHandler.AppendFormatted(TargetAetheryte); - defaultInterpolatedStringHandler.AppendLiteral(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(444206578)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202E_200C_206B_202D_202C_200D_206C_202D_200E_206F_202C_206E_200C_200B_206E_206F_200B_202D_206F_202E_200F_206E_206F_206C_200E_202D_202D_206D_202D_202B_206D_200E_206C_206A_202E_202C_206D_206D_206C_202B_202E(); - _206B_202E_202E_206E_206A_200C_206D_200E_202C_200F_200D_206A_206A_200C_200E_200B_200B_206F_206F_202E_206B_206A_202E_206C_202E_202E_206C_206C_206E_200E_202E_202C_200C_202B_206A_206E_202E_206A_206A_206A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1084557892)); - _206B_202E_202E_206E_206A_200C_206D_200E_202C_200F_200D_206A_206A_200C_200E_200B_200B_206F_206F_202E_206B_206A_202E_206C_202E_202E_206C_206C_206E_200E_202E_202C_200C_202B_206A_206E_202E_206A_206A_206A_202E(builder, TargetAetheryte.ToString()); - _206B_202E_202E_206E_206A_200C_206D_200E_202C_200F_200D_206A_206A_200C_200E_200B_200B_206F_206F_202E_206B_206A_202E_206C_202E_202E_206C_206C_206E_200E_202E_202C_200C_202B_206A_206E_202E_206A_206A_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1768197240)); - _206B_202E_202E_206E_206A_200C_206D_200E_202C_200F_200D_206A_206A_200C_200E_200B_200B_206F_206F_202E_206B_206A_202E_206C_202E_202E_206C_206C_206E_200E_202E_202C_200C_202B_206A_206E_202E_206A_206A_206A_202E(builder, ExpectedTerritoryId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(Task? other) - { - int num = (((object)this == other) ? 712329357 : 712329359); - while (true) - { - int num2 = num; - int num3 = 712329358; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - return false; - case 2: - num = ((!EqualityComparer.Default.Equals(TargetAetheryte, other.TargetAetheryte)) ? 712329352 : 712329355); - break; - case 3: - return true; - case 1: - num = (((object)other == null) ? 712329352 : 712329358); - break; - case 0: - num = ((!_200C_206F_206D_202A_202D_206F_206E_202E_202E_202D_202D_202A_202C_202C_202E_202E_200E_200E_200D_200B_202C_206F_200B_206A_206B_202A_200E_202A_202E_202D_200E_206A_202B_206C_206F_206A_206E_200C_202E_202D_202E(EqualityContract, other.EqualityContract)) ? 712329352 : 712329356); - break; - case 4: - num = 712329359; - break; - case 5: - return EqualityComparer.Default.Equals(ExpectedTerritoryId, other.ExpectedTerritoryId); - } - } - } - - bool IEquatable.Equals(Task? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202E_202E_206D_200B_200C_200E_206A_202B_206D_200E_206B_202A_202D_206C_206B_200F_200B_202E_202C_202D_202B_206B_200F_206F_202A_202D_206B_202D_200C_200D_206B_202C_206D_200D_200C_202B_200D_200E_202E_206D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _202E_200C_206B_202D_202C_200D_206C_202D_200E_206F_202C_206E_200C_200B_206E_206F_200B_202D_206F_202E_200F_206E_206F_206C_200E_202D_202D_206D_202D_202B_206D_200E_206C_206A_202E_202C_206D_206D_206C_202B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206B_202E_202E_206E_206A_200C_206D_200E_202C_200F_200D_206A_206A_200C_200E_200B_200B_206F_206F_202E_206B_206A_202E_206C_202E_202E_206C_206C_206E_200E_202E_202C_200C_202B_206A_206E_202E_206A_206A_206A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _200C_206F_206D_202A_202D_206F_206E_202E_202E_202D_202D_202A_202C_202C_202E_202E_200E_200E_200D_200B_202C_206F_200B_206A_206B_202A_200E_202A_202E_202D_200E_206A_202B_206C_206F_206A_206E_200C_202E_202D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"UseAetheryte({TargetAetheryte})"; } } @@ -129,305 +39,94 @@ internal static class AetheryteTeleport return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - int num = (_teleported ? 1711369376 : 1711369377); - IPlayerCharacter playerCharacter = default(IPlayerCharacter); - while (true) + if (!_teleported) { - int num2 = num; - int num3 = 1711369383; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (Environment.TickCount64 < _retryTeleportAt) { - case 9: return ETaskResult.StillRunning; - case 7: - num = ((_202E_200E_206B_200B_200F_202E_206E_206B_202B_206E_202B_206D_200D_206F_206E_200B_202D_206A_202A_200E_206E_206B_206A_206B_200B_200D_202C_200C_206F_206E_200E_206C_200B_200B_206E_200E_206B_202C_200B_200E_202E(clientState) != base.Task.ExpectedTerritoryId) ? 1711369378 : 1711369382); - break; - case 1: - playerCharacter = _200E_202E_200D_206B_206C_206D_202D_200D_200E_200C_202B_200E_206B_202C_202B_206F_200F_206A_200E_200B_206A_202D_202A_200E_200C_200E_202C_202E_202D_206A_206F_202E_202B_202E_206F_200C_202C_200F_200B_202B_202E(objectTable); - num = ((playerCharacter == null) ? 1711369386 : 1711369379); - break; - case 0: - return ETaskResult.StillRunning; - case 3: - _teleported = DoTeleport(); - return ETaskResult.StillRunning; - case 10: - ResetProgressTimer(); - num = 1711369390; - break; - case 11: - num = ((!base.ProgressContext.WasSuccessful()) ? 1711369390 : 1711369389); - break; - case 2: - num = 1711369377; - break; - case 12: - _206A_206E_206D_200B_200E_206F_202D_202C_200F_206A_200F_200F_200F_200E_202A_200C_202E_200E_206E_202E_202E_206E_200E_202E_200F_206F_206F_200D_200B_206D_206E_206F_200C_206F_200C_206B_200D_200B_200E_206F_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(460204205), new object[1] { base.Task.TargetAetheryte }); - return ETaskResult.StillRunning; - case 8: - num = ((!base.ProgressContext.WasInterrupted()) ? 1711369388 : 1711369387); - break; - case 5: - num = ((base.ProgressContext == null) ? 1711369390 : 1711369391); - break; - case 4: - num = ((!(_202E_200B_206C_206D_206A_206A_200D_200B_206E_202A_202A_206C_200E_202B_202A_202D_202E_206F_202C_206A_200C_200E_202B_206F_202C_202A_202A_206E_200F_200C_202D_202E_200B_206B_206D_206D_200D_200E_200B_202D_202E(aetheryteData, _206F_206C_202C_200C_200B_202D_202A_200C_206F_206B_206C_200F_206B_206A_206D_200C_202D_206F_206B_206E_202E_200C_206F_206F_200D_200D_202C_202D_206A_202B_202D_206A_206F_200F_206D_206B_202E_206E_200D_202E((IGameObject)playerCharacter), _202E_200E_206B_200B_200F_202E_206E_206B_202B_206E_202B_206D_200D_206F_206E_200B_202D_206A_202A_200E_206E_206B_206A_206B_200B_200D_202C_200C_206F_206E_200E_206C_200B_200B_206E_200E_206B_202C_200B_200E_202E(clientState), base.Task.TargetAetheryte) <= 50f)) ? 1711369378 : 1711369386); - break; - case 6: - num = ((_206A_202C_202B_206A_202C_202B_206B_202C_206F_206F_202B_206F_202D_206C_202D_202D_200C_200B_202B_206B_202E_202D_200F_202B_200E_206A_206A_206F_202B_200B_206B_202E_202D_200C_206C_200B_206A_206F_200D_202D_202E() >= _retryTeleportAt) ? 1711369380 : 1711369383); - break; - case 13: + } + _teleported = DoTeleport(); + return ETaskResult.StillRunning; + } + if (clientState.TerritoryType == base.Task.ExpectedTerritoryId) + { + IPlayerCharacter localPlayer = objectTable.LocalPlayer; + if (localPlayer == null || aetheryteData.CalculateDistance(localPlayer.Position, clientState.TerritoryType, base.Task.TargetAetheryte) <= 50f) + { ResetProgressTimer(); return ETaskResult.TaskComplete; } } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool DoTeleport() - { - int num = (aetheryteFunctions.CanTeleport(base.Task.TargetAetheryte) ? (-1816428016) : (-1816428003)); - while (true) + if (base.ProgressContext != null) { - int num2 = num; - int num3 = -1816428007; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + if (base.ProgressContext.WasInterrupted()) { - case 3: - { - IChatGui chatGui = chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(27, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(599001678)); - defaultInterpolatedStringHandler.AppendFormatted(base.Task.TargetAetheryte); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1014635520)); - _202B_206D_206A_200C_202B_206E_206D_202A_200C_200E_200B_202C_202A_202C_202C_206F_206B_200B_200F_206B_200F_206A_202E_206F_206C_206B_206A_206B_206F_202A_200B_200C_202D_206A_206C_200C_200C_202C_202A_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); - throw new TaskException(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(-1295664094)); + logger.LogDebug("Teleport to {Aetheryte} was interrupted", base.Task.TargetAetheryte); + return ETaskResult.StillRunning; } - case 10: - _206B_200D_202E_202D_202A_202D_202B_206E_200D_202E_206B_206E_200C_206F_206E_202A_206C_206A_200C_200C_200C_200B_206E_200B_206E_206A_202E_200F_206B_200B_206E_202A_206A_206F_200E_202E_206F_206E_202A_202A_202E(chatGui, 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(1266800824), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); - throw new TaskException(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1604023920)); - case 4: - num = (aetheryteFunctions.IsTeleportUnlocked() ? (-1816428008) : (-1816428002)); - break; - case 6: - num = -1816428003; - break; - case 8: - _retryTeleportAt = _206A_202C_202B_206A_202C_202B_206B_202C_206F_206F_202B_206F_202D_206C_202D_202D_200C_200B_202B_206B_202E_202D_200F_202B_200E_206A_206A_206F_202B_200B_206B_202E_202D_200C_206C_200B_206A_206F_200D_202D_202E() + 1000; - _200C_200B_202D_200E_200B_200E_202C_206D_202C_206D_200F_200D_200F_202E_202D_202D_200C_206B_200B_200B_202B_206C_202B_206E_202A_206E_200C_202B_206B_202E_206E_206F_202E_206E_200C_200E_202D_200E_206B_206A_202E((ILogger)logger, 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(-424744046), new object[2] { _teleportAttempts, 3 }); - return false; - case 1: - _retryTeleportAt = _206A_202C_202B_206A_202C_202B_206B_202C_206F_206F_202B_206F_202D_206C_202D_202D_200C_200B_202B_206B_202E_202D_200F_202B_200E_206A_206A_206F_202B_200B_206B_202E_202D_200C_206C_200B_206A_206F_200D_202D_202E() + 1000; - _206F_202C_206F_202A_200D_206E_206D_206B_206C_206F_200C_206D_200C_206E_200B_200D_206F_206F_202C_202A_202C_200B_200D_202D_206F_206A_206D_200D_202B_206B_206E_206E_202D_206F_202E_200C_202B_202E_200F_206D_202E((ILogger)logger, 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(-501538903), Array.Empty()); - return false; - case 5: - _206E_202D_206F_202B_206B_200F_200D_202C_202D_200D_202C_202A_202C_206C_202A_206B_206E_200E_206C_202A_202E_206C_200B_206A_206D_200C_200F_202D_200D_206A_206D_200B_202E_200C_206D_206E_200B_202C_202C_200F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1089359613), Array.Empty()); - return true; - case 0: - base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => aetheryteFunctions.TeleportAetheryte(base.Task.TargetAetheryte)); - num = ((base.ProgressContext == null) ? (-1816428005) : (-1816428004)); - break; - case 7: - throw new TaskException(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(451905220)); - case 2: + if (base.ProgressContext.WasSuccessful()) { - int teleportAttempts = _teleportAttempts; - num3 = 1; - num4 = teleportAttempts; - num = (((_teleportAttempts = (num4 | num3) + (num4 & num3)) >= 3) ? (-1816428013) : (-1816428015)); - break; - } - case 9: - num = (aetheryteFunctions.IsAetheryteUnlocked(base.Task.TargetAetheryte) ? (-1816428007) : (-1816428006)); - break; + ResetProgressTimer(); } } + return ETaskResult.StillRunning; + } + + private bool DoTeleport() + { + if (!aetheryteFunctions.CanTeleport(base.Task.TargetAetheryte)) + { + if (!aetheryteFunctions.IsTeleportUnlocked()) + { + throw new TaskException("Teleport is not unlocked, attune to any aetheryte first."); + } + _retryTeleportAt = Environment.TickCount64 + 1000; + logger.LogTrace("Waiting for teleport cooldown..."); + return false; + } + if (!aetheryteFunctions.IsAetheryteUnlocked(base.Task.TargetAetheryte)) + { + chatGui.PrintError($"Aetheryte {base.Task.TargetAetheryte} is not unlocked.", "Questionable", 576); + throw new TaskException("Aetheryte is not unlocked"); + } + base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => aetheryteFunctions.TeleportAetheryte(base.Task.TargetAetheryte)); + if (base.ProgressContext != null) + { + logger.LogInformation("Travelling via aetheryte..."); + return true; + } + if (++_teleportAttempts < 3) + { + _retryTeleportAt = Environment.TickCount64 + 1000; + logger.LogWarning("Teleport did not start (attempt {Attempt}/{Max}), retrying...", _teleportAttempts, 3); + return false; + } + chatGui.Print("Unable to teleport to aetheryte.", "Questionable", 576); + throw new TaskException("Unable to teleport to aetheryte"); } public override bool WasInterrupted() { - int num = (_200E_202C_206A_202E_202C_200E_206C_206A_200B_200D_200D_202B_202C_200C_200F_200C_206A_206D_200C_200F_206C_206A_200E_206B_202A_206B_206C_206E_206D_202A_206E_206E_206C_202C_206B_200C_200D_206D_200C_202B_202E(condition, ConditionFlag.InCombat) ? (-1702092527) : (-1702092528)); - while (true) + if (!condition[ConditionFlag.InCombat]) { - int num2 = num; - int num3 = -1702092527; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_004d; - case 1: - return base.WasInterrupted(); - case 0: - return true; - } - continue; - IL_004d: - num = -1702092528; + return base.WasInterrupted(); } + return true; } public override bool ShouldInterruptOnDamage() { return true; } - - static long _206A_202C_202B_206A_202C_202B_206B_202C_206F_206F_202B_206F_202D_206C_202D_202D_200C_200B_202B_206B_202E_202D_200F_202B_200E_206A_206A_206F_202B_200B_206B_202E_202D_200C_206C_200B_206A_206F_200D_202D_202E() - { - return Environment.TickCount64; - } - - static uint _202E_200E_206B_200B_200F_202E_206E_206B_202B_206E_202B_206D_200D_206F_206E_200B_202D_206A_202A_200E_206E_206B_206A_206B_200B_200D_202C_200C_206F_206E_200E_206C_200B_200B_206E_200E_206B_202C_200B_200E_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static IPlayerCharacter _200E_202E_200D_206B_206C_206D_202D_200D_200E_200C_202B_200E_206B_202C_202B_206F_200F_206A_200E_200B_206A_202D_202A_200E_200C_200E_202C_202E_202D_206A_206F_202E_202B_202E_206F_200C_202C_200F_200B_202B_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static Vector3 _206F_206C_202C_200C_200B_202D_202A_200C_206F_206B_206C_200F_206B_206A_206D_200C_202D_206F_206B_206E_202E_200C_206F_206F_200D_200D_202C_202D_206A_202B_202D_206A_206F_200F_206D_206B_202E_206E_200D_202E(IGameObject P_0) - { - return P_0.Position; - } - - static float _202E_200B_206C_206D_206A_206A_200D_200B_206E_202A_202A_206C_200E_202B_202A_202D_202E_206F_202C_206A_200C_200E_202B_206F_202C_202A_202A_206E_200F_200C_202D_202E_200B_206B_206D_206D_200D_200E_200B_202D_202E(AetheryteData P_0, Vector3 P_1, uint P_2, EAetheryteLocation P_3) - { - return P_0.CalculateDistance(P_1, P_2, P_3); - } - - static void _206A_206E_206D_200B_200E_206F_202D_202C_200F_206A_200F_200F_200F_200E_202A_200C_202E_200E_206E_202E_202E_206E_200E_202E_200F_206F_206F_200D_200B_206D_206E_206F_200C_206F_200C_206B_200D_200B_200E_206F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static void _206F_202C_206F_202A_200D_206E_206D_206B_206C_206F_200C_206D_200C_206E_200B_200D_206F_206F_202C_202A_202C_200B_200D_202D_206F_206A_206D_200D_202B_206B_206E_206E_202D_206F_202E_200C_202B_202E_200F_206D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogTrace(P_1, P_2); - } - - static void _202B_206D_206A_200C_202B_206E_206D_202A_200C_200E_200B_202C_202A_202C_202C_206F_206B_200B_200F_206B_200F_206A_202E_206F_206C_206B_206A_206B_206F_202A_200B_200C_202D_206A_206C_200C_200C_202C_202A_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); - } - - static void _206E_202D_206F_202B_206B_200F_200D_202C_202D_200D_202C_202A_202C_206C_202A_206B_206E_200E_206C_202A_202E_206C_200B_206A_206D_200C_200F_202D_200D_206A_206D_200B_202E_200C_206D_206E_200B_202C_202C_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static void _200C_200B_202D_200E_200B_200E_202C_206D_202C_206D_200F_200D_200F_202E_202D_202D_200C_206B_200B_200B_202B_206C_202B_206E_202A_206E_200C_202B_206B_202E_206E_206F_202E_206E_200C_200E_202D_200E_206B_206A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static void _206B_200D_202E_202D_202A_202D_202B_206E_200D_202E_206B_206E_200C_206F_206E_202A_206C_206A_200C_200C_200C_200B_206E_200B_206E_206A_202E_200F_206B_200B_206E_202A_206A_206F_200E_202E_206F_206E_202A_202A_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.Print(P_1, P_2, P_3); - } - - static bool _200E_202C_206A_202E_202C_200E_206C_206A_200B_200D_200D_202B_202C_200C_200F_200C_206A_206D_200C_200F_206C_206A_200E_206B_202A_206B_206C_206E_206D_202A_206E_206E_206C_202C_206B_200C_200D_206D_200C_202B_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } } internal sealed record MoveAwayFromAetheryte(EAetheryteLocation TargetAetheryte) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202B_206F_206F_200D_200E_200E_206E_200B_200B_200F_202B_202B_206D_202E_206A_206F_200D_200E_202A_206C_206C_200C_202A_206D_200F_206E_206B_200C_200F_202B_202D_206D_202A_202B_200C_200E_200C_200B_206F_202E_202E(typeof(MoveAwayFromAetheryte).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(10, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(578312142)); - defaultInterpolatedStringHandler.AppendFormatted(TargetAetheryte); - defaultInterpolatedStringHandler.AppendLiteral(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(444206578)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202D_206B_202D_200B_202C_206F_206D_206B_202B_206B_206A_200F_200D_206D_202B_202D_202C_206A_206E_202E_202C_200D_206A_206A_200F_206E_206F_206E_202C_202C_206F_202A_200D_206D_200D_202A_202E_202A_206D_202E(); - _206F_200D_202B_202B_200E_200C_202D_200E_200E_206F_200D_206E_202C_206A_200B_206C_206C_200B_200F_202C_202D_202E_202C_206D_206F_206F_202D_202A_206D_202E_206F_202D_206F_202C_206B_202C_206D_200B_206B_200C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1402978722)); - _206F_200D_202B_202B_200E_200C_202D_200E_200E_206F_200D_206E_202C_206A_200B_206C_206C_200B_200F_202C_202D_202E_202C_206D_206F_206F_202D_202A_206D_202E_206F_202D_206F_202C_206B_202C_206D_200B_206B_200C_202E(builder, TargetAetheryte.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(MoveAwayFromAetheryte? other) - { - int num = (((object)this == other) ? 278211642 : 278211645); - while (true) - { - int num2 = num; - int num3 = 278211641; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 278211645; - break; - case 5: - return false; - case 4: - num = (((object)other == null) ? 278211644 : 278211640); - break; - case 3: - return true; - case 2: - return EqualityComparer.Default.Equals(TargetAetheryte, other.TargetAetheryte); - case 1: - num = ((!_200E_206C_202E_200E_200F_202B_202E_200F_202D_200B_206A_200C_206B_206B_206C_200F_200F_206A_200E_202D_200D_200B_200E_202C_206C_206A_200E_206B_200F_202D_200D_206C_200F_206D_200B_200D_200C_202D_200F_206F_202E(EqualityContract, other.EqualityContract)) ? 278211644 : 278211643); - break; - } - } - } - - bool IEquatable.Equals(MoveAwayFromAetheryte? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202B_206F_206F_200D_200E_200E_206E_200B_200B_200F_202B_202B_206D_202E_206A_206F_200D_200E_202A_206C_206C_200C_202A_206D_200F_206E_206B_200C_200F_202B_202D_206D_202A_202B_200C_200E_200C_200B_206F_202E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _202D_206B_202D_200B_202C_206F_206D_206B_202B_206B_206A_200F_200D_206D_202B_202D_202C_206A_206E_202E_202C_200D_206A_206A_200F_206E_206F_206E_202C_202C_206F_202A_200D_206D_200D_202A_202E_202A_206D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206F_200D_202B_202B_200E_200C_202D_200E_200E_206F_200D_206E_202C_206A_200B_206C_206C_200B_200F_202C_202D_202E_202C_206D_206F_206F_202D_202A_206D_202E_206F_202D_206F_202C_206B_202C_206D_200B_206B_200C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _200E_206C_202E_200E_200F_202B_202E_200F_202D_200B_206A_200C_206B_206B_206C_200F_200F_206A_200E_202D_200D_200B_200E_202C_206C_206A_200E_206B_200F_202D_200D_206C_200F_206D_200B_200D_200C_202D_200F_206F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"MoveAway({TargetAetheryte})"; } } @@ -442,35 +141,19 @@ internal static class AetheryteTeleport protected override bool Start() { - IPlayerCharacter playerCharacter = _202B_206E_206F_206B_202E_206F_202B_200D_202B_202C_206E_206A_206D_202D_202C_202D_202A_206E_202D_200E_200D_206C_202B_206A_202B_206A_206C_206E_200D_206C_202D_206C_202B_202A_206C_206E_206D_200F_202D_206B_202E(objectTable); - int num = ((playerCharacter != null) ? 1693276113 : 1693276115); - Vector3 playerPosition = default(Vector3); - while (true) + IPlayerCharacter localPlayer = objectTable.LocalPlayer; + if (localPlayer == null) { - int num2 = num; - int num3 = 1693276112; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1693276115; - break; - case 3: - return false; - case 1: - playerPosition = _206F_206F_206C_200E_206B_200F_200D_202C_206B_206F_202D_206B_200C_200D_206C_200B_202E_202E_202A_202D_202E_200C_206A_200E_202B_200F_200E_200F_206A_200B_202A_200E_202C_200F_200B_202A_202B_200D_206C_200C_202E((IGameObject)playerCharacter); - num = ((!(_206B_200B_200F_200C_202D_206F_200C_206F_200F_202B_206D_206F_202D_200B_200E_200C_206C_206C_206B_200C_202D_200C_200E_202B_200C_200B_202B_206C_200F_206B_206D_202D_202D_202D_202C_206D_202C_200E_202C_206D_202E(aetheryteData, playerPosition, _202B_200D_200F_202D_200F_206F_206D_202C_206A_206B_206B_202D_206E_206D_206A_202E_200C_200C_202B_206F_200E_206D_202B_206C_200C_206C_202D_206A_202A_206E_206F_200B_206B_202A_200B_206C_200E_202D_200E_202C_202E(clientState), base.Task.TargetAetheryte) >= 20f)) ? 1693276114 : 1693276116); - break; - case 4: - return false; - case 2: - { - Vector3 destination = AetherytesToMoveFrom[base.Task.TargetAetheryte].MinBy((Vector3 x) => Vector3.Distance(x, playerPosition)); - MoveTask task = new MoveTask(_202D_202E_202C_202E_200D_202A_206C_206F_200E_206A_200B_202D_206C_206E_202C_202E_206F_206E_200D_206A_202D_206F_206B_202A_202C_202D_200C_202A_200B_206F_200B_206C_200D_200D_202E_202C_202E_202D_202E_200D_202E(aetheryteData)[base.Task.TargetAetheryte], destination, false, MountRequired: false, DismountRequired: false, 0.25f, null, DisableNavmesh: true, null, Fly: false, Land: false, IgnoreDistanceToObject: false, RestartNavigation: false); - return moveExecutor.Start(task); - } - } + return false; } + Vector3 playerPosition = localPlayer.Position; + if (aetheryteData.CalculateDistance(playerPosition, clientState.TerritoryType, base.Task.TargetAetheryte) >= 20f) + { + return false; + } + Vector3 destination = AetherytesToMoveFrom[base.Task.TargetAetheryte].MinBy((Vector3 x) => Vector3.Distance(x, playerPosition)); + MoveTask task = new MoveTask(aetheryteData.TerritoryIds[base.Task.TargetAetheryte], destination, false, MountRequired: false, DismountRequired: false, 0.25f, null, DisableNavmesh: true, null, Fly: false, Land: false, IgnoreDistanceToObject: false, RestartNavigation: false); + return moveExecutor.Start(task); } public override ETaskResult Update() @@ -497,30 +180,5 @@ internal static class AetheryteTeleport dictionary.Add(EAetheryteLocation.SolutionNine, list); AetherytesToMoveFrom = dictionary; } - - static IPlayerCharacter _202B_206E_206F_206B_202E_206F_202B_200D_202B_202C_206E_206A_206D_202D_202C_202D_202A_206E_202D_200E_200D_206C_202B_206A_202B_206A_206C_206E_200D_206C_202D_206C_202B_202A_206C_206E_206D_200F_202D_206B_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static Vector3 _206F_206F_206C_200E_206B_200F_200D_202C_206B_206F_202D_206B_200C_200D_206C_200B_202E_202E_202A_202D_202E_200C_206A_200E_202B_200F_200E_200F_206A_200B_202A_200E_202C_200F_200B_202A_202B_200D_206C_200C_202E(IGameObject P_0) - { - return P_0.Position; - } - - static uint _202B_200D_200F_202D_200F_206F_206D_202C_206A_206B_206B_202D_206E_206D_206A_202E_200C_200C_202B_206F_200E_206D_202B_206C_200C_206C_202D_206A_202A_206E_206F_200B_206B_202A_200B_206C_200E_202D_200E_202C_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static float _206B_200B_200F_200C_202D_206F_200C_206F_200F_202B_206D_206F_202D_200B_200E_200C_206C_206C_206B_200C_202D_200C_200E_202B_200C_200B_202B_206C_200F_206B_206D_202D_202D_202D_202C_206D_202C_200E_202C_206D_202E(AetheryteData P_0, Vector3 P_1, uint P_2, EAetheryteLocation P_3) - { - return P_0.CalculateDistance(P_1, P_2, P_3); - } - - static ReadOnlyDictionary _202D_202E_202C_202E_200D_202A_206C_206F_200E_206A_200B_202D_206C_206E_202C_202E_206F_206E_200D_206A_202D_206F_206B_202A_202C_202D_200C_202A_200B_206F_200B_206C_200D_200D_202E_202C_202E_202D_202E_200D_202E(AetheryteData P_0) - { - return P_0.TerritoryIds; - } } } diff --git a/Questionable/Questionable.Controller.Steps.Shared/Craft.cs b/Questionable/Questionable.Controller.Steps.Shared/Craft.cs index 16a860f..399896c 100644 --- a/Questionable/Questionable.Controller.Steps.Shared/Craft.cs +++ b/Questionable/Questionable.Controller.Steps.Shared/Craft.cs @@ -1,16 +1,11 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Runtime.CompilerServices; -using System.Text; -using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Client.UI.Agent; using FFXIVClientStructs.FFXIV.Component.GUI; using LLib.GameData; -using Lumina.Excel; using Lumina.Excel.Sheets; using Microsoft.Extensions.Logging; using Questionable.Controller.Steps.Common; @@ -24,430 +19,111 @@ internal static class Craft { internal sealed class Factory : ITaskFactory { - [MethodImpl(MethodImplOptions.NoInlining)] public IEnumerable CreateAllTasks(Questionable.Model.Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((_206A_202B_202D_206A_206B_200B_202A_202A_206B_202D_206A_206A_206C_206D_206A_200C_206B_200F_202A_206C_200B_206C_206C_202C_206A_200F_206F_206B_206A_206A_206D_206C_202A_206F_206D_206B_200B_200C_202D_206D_202E(step) == EInteractionType.Craft) ? 511987702 : 511987701); - while (true) + if (step.InteractionType != EInteractionType.Craft) { - int num2 = num; - int num3 = 511987703; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - _202D_200C_206B_202C_200D_200D_206B_206E_202A_202C_200B_202B_200D_206F_202C_206C_202B_200D_202C_200F_200C_202A_206C_200D_206E_206A_200B_202C_206E_202C_206C_206D_200B_206A_206F_206A_206F_200F_202C_206E_202E((object)_200E_206A_202C_200E_202B_200B_202A_200D_206D_200E_206F_200B_202E_200F_202A_200B_202B_206B_202D_200F_202B_206C_200B_202A_206B_200F_206A_202D_202A_206A_202C_206D_200E_202A_200F_202B_206E_200C_202E_200F_202E(step), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1496371967)); - _202D_200C_206B_202C_200D_200D_206B_206E_202A_202C_200B_202B_200D_206F_202C_206C_202B_200D_202C_200F_200C_202A_206C_200D_206E_206A_200B_202C_206E_202C_206C_206D_200B_206A_206F_206A_206F_200F_202C_206E_202E((object)_202C_206E_202A_202D_200E_202E_200E_206D_206E_206F_200D_200C_202C_200E_202E_200D_206A_202E_200D_202B_202D_206C_206E_202B_200F_206B_206B_202C_200F_202C_200E_200D_206D_206C_202E_206E_202B_200F_206E_206D_202E(step), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(98690158)); - return new global::_003C_003Ez__ReadOnlyArray(new ITask[2] - { - new Questionable.Controller.Steps.Common.Mount.UnmountTask(), - new CraftTask(_200E_206A_202C_200E_202B_200B_202A_200D_206D_200E_206F_200B_202E_200F_202A_200B_202B_206B_202D_200F_202B_206C_200B_202A_206B_200F_206A_202D_202A_206A_202C_206D_200E_202A_200F_202B_206E_200C_202E_200F_202E(step).Value, _202C_206E_202A_202D_200E_202E_200E_206D_206E_206F_200D_200C_202C_200E_202E_200D_206A_202E_200D_202B_202D_206C_206E_202B_200F_206B_206B_202C_200F_202C_200E_200D_206D_206C_202E_206E_202B_200F_206E_206D_202E(step).Value, _202A_206E_200B_206A_202C_206D_206E_206F_206C_200B_200F_206E_206D_202E_206E_200D_202A_202A_206E_202E_206B_202C_200B_200D_200C_206D_202D_202C_200C_206A_206E_206C_200E_206C_202A_200F_200D_202E_206D_200E_202E(step) == true) - }); - case 2: - return Array.Empty(); - case 0: - goto IL_00ce; - } - continue; - IL_00ce: - num = 511987701; + return Array.Empty(); } - } - - IEnumerable ITaskFactory.CreateAllTasks(Questionable.Model.Quest quest, QuestSequence sequence, QuestStep step) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks - return this.CreateAllTasks(quest, sequence, step); - } - - static EInteractionType _206A_202B_202D_206A_206B_200B_202A_202A_206B_202D_206A_206A_206C_206D_206A_200C_206B_200F_202A_206C_200B_206C_206C_202C_206A_200F_206F_206B_206A_206A_206D_206C_202A_206F_206D_206B_200B_200C_202D_206D_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static uint? _200E_206A_202C_200E_202B_200B_202A_200D_206D_200E_206F_200B_202E_200F_202A_200B_202B_206B_202D_200F_202B_206C_200B_202A_206B_200F_206A_202D_202A_206A_202C_206D_200E_202A_200F_202B_206E_200C_202E_200F_202E(QuestStep P_0) - { - return P_0.ItemId; - } - - static void _202D_200C_206B_202C_200D_200D_206B_206E_202A_202C_200B_202B_200D_206F_202C_206C_202B_200D_202C_200F_200C_202A_206C_200D_206E_206A_200B_202C_206E_202C_206C_206D_200B_206A_206F_206A_206F_200F_202C_206E_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static int? _202C_206E_202A_202D_200E_202E_200E_206D_206E_206F_200D_200C_202C_200E_202E_200D_206A_202E_200D_202B_202D_206C_206E_202B_200F_206B_206B_202C_200F_202C_200E_200D_206D_206C_202E_206E_202B_200F_206E_206D_202E(QuestStep P_0) - { - return P_0.ItemCount; - } - - static bool? _202A_206E_200B_206A_202C_206D_206E_206F_206C_200B_200F_206E_206D_202E_206E_200D_202A_202A_206E_202E_206B_202C_200B_200D_200C_206D_202D_202C_200C_206A_206E_206C_200E_206C_202A_200F_200D_202E_206D_200E_202E(QuestStep P_0) - { - return P_0.RequireHq; + ArgumentNullException.ThrowIfNull(step.ItemId, "step.ItemId"); + ArgumentNullException.ThrowIfNull(step.ItemCount, "step.ItemCount"); + return new global::_003C_003Ez__ReadOnlyArray(new ITask[2] + { + new Questionable.Controller.Steps.Common.Mount.UnmountTask(), + new CraftTask(step.ItemId.Value, step.ItemCount.Value, step.RequireHq == true) + }); } } internal sealed record CraftTask(uint ItemId, int ItemCount, bool RequireHq) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202D_200C_200D_202D_202E_206F_206E_202D_206C_206F_200C_202A_200F_200D_200B_200C_206D_206B_200E_202A_206F_202A_206C_200B_200E_202A_202D_202D_200F_200E_202A_206F_206B_206A_200B_206C_202D_200E_202C_200E_202E(typeof(CraftTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(23, 3); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1781620549)); - defaultInterpolatedStringHandler.AppendFormatted(ItemCount); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(350814621)); - defaultInterpolatedStringHandler.AppendFormatted(ItemId); - defaultInterpolatedStringHandler.AppendFormatted(RequireHq ? 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(-6445935) : 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(-1720149641)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1276730098)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206D_206E_206C_200D_200B_200B_206A_200C_202B_202D_206B_200F_206D_206A_202B_200C_206C_202B_206F_206C_206B_200D_200B_202B_202D_202C_202E_206D_200F_206A_206F_202C_200E_202C_206B_200E_202E_206E_206F_202B_202E(); - _206A_200B_202B_200E_206F_202B_202D_202E_206C_202B_206C_200B_200D_202B_202E_206F_206F_202A_206A_206A_200C_206A_202C_200F_202D_200D_200B_206B_200F_206E_200E_206C_202C_206C_206F_202B_200C_202C_202E_206D_202E(builder, 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(-1176260912)); - _206A_200B_202B_200E_206F_202B_202D_202E_206C_202B_206C_200B_200D_202B_202E_206F_206F_202A_206A_206A_200C_206A_202C_200F_202D_200D_200B_206B_200F_206E_200E_206C_202C_206C_206F_202B_200C_202C_202E_206D_202E(builder, ItemId.ToString()); - _206A_200B_202B_200E_206F_202B_202D_202E_206C_202B_206C_200B_200D_202B_202E_206F_206F_202A_206A_206A_200C_206A_202C_200F_202D_200D_200B_206B_200F_206E_200E_206C_202C_206C_206F_202B_200C_202C_202E_206D_202E(builder, 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(-503598644)); - _206A_200B_202B_200E_206F_202B_202D_202E_206C_202B_206C_200B_200D_202B_202E_206F_206F_202A_206A_206A_200C_206A_202C_200F_202D_200D_200B_206B_200F_206E_200E_206C_202C_206C_206F_202B_200C_202C_202E_206D_202E(builder, ItemCount.ToString()); - _206A_200B_202B_200E_206F_202B_202D_202E_206C_202B_206C_200B_200D_202B_202E_206F_206F_202A_206A_206A_200C_206A_202C_200F_202D_200D_200B_206B_200F_206E_200E_206C_202C_206C_206F_202B_200C_202C_202E_206D_202E(builder, 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(1102929611)); - _206A_200B_202B_200E_206F_202B_202D_202E_206C_202B_206C_200B_200D_202B_202E_206F_206F_202A_206A_206A_200C_206A_202C_200F_202D_200D_200B_206B_200F_206E_200E_206C_202C_206C_206F_202B_200C_202C_202E_206D_202E(builder, RequireHq.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(CraftTask? other) - { - int num = (((object)this == other) ? 528344161 : 528344167); - while (true) - { - int num2 = num; - int num3 = 528344166; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - num = 528344167; - break; - case 5: - num = ((!EqualityComparer.Default.Equals(ItemId, other.ItemId)) ? 528344166 : 528344162); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(ItemCount, other.ItemCount)) ? 528344166 : 528344165); - break; - case 7: - return true; - case 1: - num = (((object)other == null) ? 528344166 : 528344164); - break; - case 2: - num = ((!_206D_200F_206B_200C_206B_202E_206F_202E_202D_200F_200C_206F_206B_200C_206D_200B_202C_206A_206F_200C_200F_200F_200D_202E_202E_202B_206A_202E_200F_202B_200F_202A_200D_206D_202A_206D_206D_202A_206A_202E(EqualityContract, other.EqualityContract)) ? 528344166 : 528344163); - break; - case 0: - return false; - case 3: - return EqualityComparer.Default.Equals(RequireHq, other.RequireHq); - } - } - } - - bool IEquatable.Equals(CraftTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202D_200C_200D_202D_202E_206F_206E_202D_206C_206F_200C_202A_200F_200D_200B_200C_206D_206B_200E_202A_206F_202A_206C_200B_200E_202A_202D_202D_200F_200E_202A_206F_206B_206A_200B_206C_202D_200E_202C_200E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _206D_206E_206C_200D_200B_200B_206A_200C_202B_202D_206B_200F_206D_206A_202B_200C_206C_202B_206F_206C_206B_200D_200B_202B_202D_202C_202E_206D_200F_206A_206F_202C_200E_202C_206B_200E_202E_206E_206F_202B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206A_200B_202B_200E_206F_202B_202D_202E_206C_202B_206C_200B_200D_202B_202E_206F_206F_202A_206A_206A_200C_206A_202C_200F_202D_200D_200B_206B_200F_206E_200E_206C_202C_206C_206F_202B_200C_202C_202E_206D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _206D_200F_206B_200C_206B_202E_206F_202E_202D_200F_200C_206F_206B_200C_206D_200B_202C_206A_206F_200C_200F_200F_200D_202E_202E_202B_206A_202E_200F_202B_200F_202A_200D_206D_202A_206D_206D_202A_206A_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"Craft {ItemCount}x {ItemId}{(RequireHq ? " (HQ)" : "")} (with Artisan)"; } } internal sealed class DoCraft(IDataManager dataManager, IObjectTable objectTable, ArtisanIpc artisanIpc, ILogger logger) : TaskExecutor() { - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { - int num = ((!HasRequestedItems()) ? (-227279258) : (-227279244)); - uint num8 = default(uint); - RecipeLookup? rowOrDefault = default(RecipeLookup?); - uint num7 = default(uint); - uint? num9 = default(uint?); - EClassJob? eClassJob = default(EClassJob?); - while (true) + if (HasRequestedItems()) { - int num2 = num; - int num3 = -227279260; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - EClassJob? obj; - switch (num5 - (num6 + num6)) - { - case 7: - num8 = rowOrDefault.Value.CUL.RowId; - num = -227279248; - break; - case 13: - num8 = 0u; - num = -227279248; - break; - case 18: - num = ((num7 != 0) ? (-227279246) : (-227279252)); - break; - case 8: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(36, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-1859404714)); - defaultInterpolatedStringHandler.AppendFormatted(base.Task.ItemId); - throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 11: - num = -227279244; - break; - case 16: - _202B_206D_206C_202D_202E_200D_202E_202D_206D_200E_206A_202E_200C_206A_206D_206F_206C_206B_206C_206B_200D_200E_200F_206F_206D_200D_200E_202C_200F_206E_206E_202A_200C_206D_202E_200C_202E_206F_206E_206A_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-695579807), new object[3] - { - base.Task.ItemCount, - base.Task.ItemId, - base.Task.RequireHq ? 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(-6445935) : global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1694032531) - }); - return false; - case 17: - goto IL_01b2; - case 19: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(41, 1); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1243369350)); - defaultInterpolatedStringHandler3.AppendFormatted(num7); - throw new TaskException(defaultInterpolatedStringHandler3.ToStringAndClear()); - } - case 3: - goto IL_0209; - case 9: - goto IL_0230; - case 1: - goto IL_0257; - case 15: - return true; - case 20: - num7 = num8; - num = ((num7 != 0) ? (-227279242) : (-227279256)); - break; - case 14: - goto IL_02a1; - case 22: - { - int num10 = base.Task.ItemCount - GetOwnedItemCount(); - _202B_206D_206C_202D_202E_200D_202E_202D_206D_200E_206A_202E_200C_206A_206D_206F_206C_206B_206C_206B_200D_200E_200F_206F_206D_200D_200E_202C_200F_206E_206E_202A_200C_206D_202E_200C_202E_206F_206E_206A_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1999201105), new object[4] - { - base.Task.ItemId, - num7, - num10, - base.Task.RequireHq ? global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-495381767) : global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-87324410) - }); - num = (artisanIpc.CraftItem((ushort)num7, num10) ? (-227279253) : (-227279241)); - break; - } - case 2: - rowOrDefault = dataManager.GetExcelSheet().GetRowOrDefault(base.Task.ItemId); - num = (rowOrDefault.HasValue ? (-227279236) : (-227279264)); - break; - case 0: - goto IL_03bc; - case 23: - num = -227279255; - break; - case 4: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(22, 1); - defaultInterpolatedStringHandler2.AppendLiteral(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(335057319)); - defaultInterpolatedStringHandler2.AppendFormatted(base.Task.ItemId); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-37094116)); - throw new TaskException(defaultInterpolatedStringHandler2.ToStringAndClear()); - } - case 24: - { - IPlayerCharacter playerCharacter = _200F_202D_206E_206B_206B_206E_200B_206C_206D_206D_206E_202C_206A_202D_206C_200F_206A_200B_200E_206D_206E_202C_202C_202C_206A_206E_202B_200F_206A_206F_206D_202E_202A_206F_206B_206F_206D_200F_202B_202E_202E(objectTable); - num9 = ((playerCharacter != null) ? new uint?(_202D_206F_202B_200D_200B_202C_206F_202D_206E_200F_200E_202D_206D_206E_202D_200E_200F_206D_202D_202C_202A_200C_206C_200D_200D_200F_202A_206A_202C_202A_202C_200E_202D_200D_202D_200F_206F_206D_206E_202B_202E((ICharacter)playerCharacter).RowId) : ((uint?)null)); - num = (num9.HasValue ? (-227279250) : (-227279263)); - break; - } - case 5: - obj = null; - goto IL_04bb; - case 10: - obj = (EClassJob)num9.GetValueOrDefault(); - goto IL_04bb; - case 21: - goto IL_04e1; - case 6: - switch (eClassJob.GetValueOrDefault()) - { - case EClassJob.Culinarian: - break; - case EClassJob.Armorer: - goto IL_01b2; - case EClassJob.Leatherworker: - goto IL_0209; - case EClassJob.Weaver: - goto IL_0230; - case EClassJob.Carpenter: - goto IL_0257; - case EClassJob.Blacksmith: - goto IL_02a1; - case EClassJob.Goldsmith: - goto IL_03bc; - case EClassJob.Alchemist: - goto IL_04e1; - default: - goto IL_053a; - } - goto case 7; - case 12: - { - num7 = new uint[8] - { - rowOrDefault.Value.CRP.RowId, - rowOrDefault.Value.BSM.RowId, - rowOrDefault.Value.ARM.RowId, - rowOrDefault.Value.GSM.RowId, - rowOrDefault.Value.LTW.RowId, - rowOrDefault.Value.WVR.RowId, - rowOrDefault.Value.ALC.RowId, - rowOrDefault.Value.CUL.RowId - }.FirstOrDefault((uint x) => x != 0); - num = -227279242; - break; - } - IL_053a: - num = -227279245; - break; - IL_04e1: - num8 = rowOrDefault.Value.ALC.RowId; - num = -227279248; - break; - IL_04bb: - eClassJob = obj; - num = ((!eClassJob.HasValue) ? (-227279255) : (-227279262)); - break; - IL_02a1: - num8 = rowOrDefault.Value.BSM.RowId; - num = -227279248; - break; - IL_0257: - num8 = rowOrDefault.Value.CRP.RowId; - num = -227279248; - break; - IL_0230: - num8 = rowOrDefault.Value.WVR.RowId; - num = -227279248; - break; - IL_03bc: - num8 = rowOrDefault.Value.GSM.RowId; - num = -227279248; - break; - IL_0209: - num8 = rowOrDefault.Value.LTW.RowId; - num = -227279248; - break; - IL_01b2: - num8 = rowOrDefault.Value.ARM.RowId; - num = -227279248; - break; - } + logger.LogDebug("Already own {ItemCount}x {ItemId}{HqSuffix}", base.Task.ItemCount, base.Task.ItemId, base.Task.RequireHq ? " (HQ)" : ""); + return false; } + RecipeLookup? rowOrDefault = dataManager.GetExcelSheet().GetRowOrDefault(base.Task.ItemId); + if (!rowOrDefault.HasValue) + { + throw new TaskException($"Item {base.Task.ItemId} is not craftable"); + } + uint num = (EClassJob?)objectTable.LocalPlayer?.ClassJob.RowId switch + { + EClassJob.Carpenter => rowOrDefault.Value.CRP.RowId, + EClassJob.Blacksmith => rowOrDefault.Value.BSM.RowId, + EClassJob.Armorer => rowOrDefault.Value.ARM.RowId, + EClassJob.Goldsmith => rowOrDefault.Value.GSM.RowId, + EClassJob.Leatherworker => rowOrDefault.Value.LTW.RowId, + EClassJob.Weaver => rowOrDefault.Value.WVR.RowId, + EClassJob.Alchemist => rowOrDefault.Value.ALC.RowId, + EClassJob.Culinarian => rowOrDefault.Value.CUL.RowId, + _ => 0u, + }; + if (num == 0) + { + num = new uint[8] + { + rowOrDefault.Value.CRP.RowId, + rowOrDefault.Value.BSM.RowId, + rowOrDefault.Value.ARM.RowId, + rowOrDefault.Value.GSM.RowId, + rowOrDefault.Value.LTW.RowId, + rowOrDefault.Value.WVR.RowId, + rowOrDefault.Value.ALC.RowId, + rowOrDefault.Value.CUL.RowId + }.FirstOrDefault((uint x) => x != 0); + } + if (num == 0) + { + throw new TaskException($"Unable to determine recipe for item {base.Task.ItemId}"); + } + int num2 = base.Task.ItemCount - GetOwnedItemCount(); + logger.LogDebug("Starting craft for item {ItemId} with recipe {RecipeId} for {RemainingItemCount} items{HqSuffix}", base.Task.ItemId, num, num2, base.Task.RequireHq ? " (HQ required)" : ""); + if (!artisanIpc.CraftItem((ushort)num, num2)) + { + throw new TaskException($"Failed to start Artisan craft for recipe {num}"); + } + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe override ETaskResult Update() { - int num = (artisanIpc.IsCrafting() ? (-1658987480) : (-1658987481)); - uint addonId = default(uint); - AgentRecipeNote* ptr = default(AgentRecipeNote*); - AtkUnitBase* addonById = default(AtkUnitBase*); - while (true) + if (!artisanIpc.IsCrafting()) { - int num2 = num; - int num3 = -1658987473; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - num = -1658987481; - break; - case 4: - addonId = ptr->GetAddonId(); - num = ((addonId != 0) ? (-1658987476) : (-1658987473)); - break; - case 3: - addonById = AtkStage.Instance()->RaptureAtkUnitManager->GetAddonById((ushort)addonId); - num = ((addonById == null) ? (-1658987480) : (-1658987479)); - break; - case 0: - return ETaskResult.StillRunning; - case 8: - num = ((!HasRequestedItems()) ? (-1658987475) : (-1658987474)); - break; - case 2: + if (!HasRequestedItems()) { int ownedItemCount = GetOwnedItemCount(); - _206F_200B_206F_200D_202B_202A_206C_200C_202D_202B_200F_206D_206A_206E_200D_206B_206E_202D_202C_206C_202C_206D_206C_202E_200E_202B_206B_206A_206D_200D_202B_200D_200C_206D_202E_206D_206E_202E_202A_200C_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1100170255), new object[3] - { - ownedItemCount, - base.Task.ItemCount, - base.Task.ItemId - }); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(52, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(-1173795697)); - defaultInterpolatedStringHandler.AppendFormatted(ownedItemCount); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1680133376)); - defaultInterpolatedStringHandler.AppendFormatted(base.Task.ItemCount); - defaultInterpolatedStringHandler.AppendLiteral(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(1889609828)); - throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear()); + logger.LogError("Artisan stopped crafting but only have {Owned}/{Required} of item {ItemId}", ownedItemCount, base.Task.ItemCount, base.Task.ItemId); + throw new TaskException($"Artisan stopped crafting with only {ownedItemCount}/{base.Task.ItemCount} items completed"); } - case 1: - ptr = AgentRecipeNote.Instance(); - num = ((ptr == null) ? (-1658987480) : (-1658987482)); - break; - case 6: - _202B_206D_206C_202D_202E_200D_202E_202D_206D_200E_206A_202E_200C_206A_206D_206F_206C_206B_206C_206B_200D_200E_200F_206F_206D_200D_200E_202C_200F_206E_206E_202A_200C_206D_202E_200C_202E_206F_206E_206A_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1809407100), Array.Empty()); - addonById->FireCallbackInt(-1); - return ETaskResult.TaskComplete; - case 9: - num = ((!ptr->IsAgentActive()) ? (-1658987480) : (-1658987477)); - break; - case 7: - return ETaskResult.StillRunning; + AgentRecipeNote* ptr = AgentRecipeNote.Instance(); + if (ptr != null && ptr->IsAgentActive()) + { + uint addonId = ptr->GetAddonId(); + if (addonId == 0) + { + return ETaskResult.StillRunning; + } + AtkUnitBase* addonById = AtkStage.Instance()->RaptureAtkUnitManager->GetAddonById((ushort)addonId); + if (addonById != null) + { + logger.LogDebug("Closing crafting window"); + addonById->FireCallbackInt(-1); + return ETaskResult.TaskComplete; + } } } + return ETaskResult.StillRunning; } private bool HasRequestedItems() @@ -455,88 +131,24 @@ internal static class Craft return GetOwnedItemCount() >= base.Task.ItemCount; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe int GetOwnedItemCount() { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((!base.Task.RequireHq) ? (-130787652) : (-130787651)); - while (true) + if (base.Task.RequireHq) { - int num2 = num; - int num3 = -130787652; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_005a; - case 1: - { - int inventoryItemCount3 = ptr->GetInventoryItemCount(base.Task.ItemId, isHq: true, checkEquipped: false, checkArmory: true, 0); - _206A_202B_206B_206B_202B_206B_200F_200D_206F_200E_206D_200F_206F_200B_206A_200F_206D_200D_200E_202B_202A_206E_200F_206A_206C_206B_206A_200D_202D_206D_200D_202D_202C_202C_200F_202E_200C_206E_206E_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-961372782), new object[2] - { - base.Task.ItemId, - inventoryItemCount3 - }); - return inventoryItemCount3; - } - case 0: - { - int inventoryItemCount = ptr->GetInventoryItemCount(base.Task.ItemId, isHq: false, checkEquipped: false, checkArmory: true, 0); - int inventoryItemCount2 = ptr->GetInventoryItemCount(base.Task.ItemId, isHq: true, checkEquipped: false, checkArmory: true, 0); - ILogger logger = logger; - string text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1941678534); - object[] obj = new object[4] - { - base.Task.ItemId, - inventoryItemCount, - inventoryItemCount2, - null - }; - num3 = inventoryItemCount2; - num4 = inventoryItemCount; - obj[3] = (num4 | num3) + (num4 & num3); - _206A_202B_206B_206B_202B_206B_200F_200D_206F_200E_206D_200F_206F_200B_206A_200F_206D_200D_200E_202B_202A_206E_200F_206A_206C_206B_206A_200D_202D_206D_200D_202D_202C_202C_200F_202E_200C_206E_206E_202E((ILogger)logger, text, obj); - num3 = inventoryItemCount2; - num4 = inventoryItemCount; - int num5 = num4 ^ num3; - int num6 = num4 & num3; - return num5 + (num6 + num6); - } - } - continue; - IL_005a: - num = -130787651; + int inventoryItemCount = ptr->GetInventoryItemCount(base.Task.ItemId, isHq: true, checkEquipped: false, checkArmory: true, 0); + logger.LogTrace("HQ item count for {ItemId}: {Count}", base.Task.ItemId, inventoryItemCount); + return inventoryItemCount; } + int inventoryItemCount2 = ptr->GetInventoryItemCount(base.Task.ItemId, isHq: false, checkEquipped: false, checkArmory: true, 0); + int inventoryItemCount3 = ptr->GetInventoryItemCount(base.Task.ItemId, isHq: true, checkEquipped: false, checkArmory: true, 0); + logger.LogTrace("Total item count for {ItemId}: {NqCount} NQ + {HqCount} HQ = {Total}", base.Task.ItemId, inventoryItemCount2, inventoryItemCount3, inventoryItemCount2 + inventoryItemCount3); + return inventoryItemCount2 + inventoryItemCount3; } public override bool ShouldInterruptOnDamage() { return false; } - - static void _202B_206D_206C_202D_202E_200D_202E_202D_206D_200E_206A_202E_200C_206A_206D_206F_206C_206B_206C_206B_200D_200E_200F_206F_206D_200D_200E_202C_200F_206E_206E_202A_200C_206D_202E_200C_202E_206F_206E_206A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static IPlayerCharacter _200F_202D_206E_206B_206B_206E_200B_206C_206D_206D_206E_202C_206A_202D_206C_200F_206A_200B_200E_206D_206E_202C_202C_202C_206A_206E_202B_200F_206A_206F_206D_202E_202A_206F_206B_206F_206D_200F_202B_202E_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static RowRef _202D_206F_202B_200D_200B_202C_206F_202D_206E_200F_200E_202D_206D_206E_202D_200E_200F_206D_202D_202C_202A_200C_206C_200D_200D_200F_202A_206A_202C_202A_202C_200E_202D_200D_202D_200F_206F_206D_206E_202B_202E(ICharacter P_0) - { - return P_0.ClassJob; - } - - static void _206F_200B_206F_200D_202B_202A_206C_200C_202D_202B_200F_206D_206A_206E_200D_206B_206E_202D_202C_206C_202C_206D_206C_202E_200E_202B_206B_206A_206D_200D_202B_200D_200C_206D_202E_206D_206E_202E_202A_200C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogError(P_1, P_2); - } - - static void _206A_202B_206B_206B_202B_206B_200F_200D_206F_200E_206D_200F_206F_200B_206A_200F_206D_200D_200E_202B_202A_206E_200F_206A_206C_206B_206A_200D_202D_206D_200D_202D_202C_202C_200F_202E_200C_206E_206E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogTrace(P_1, P_2); - } } } diff --git a/Questionable/Questionable.Controller.Steps.Shared/ExtraConditionUtils.cs b/Questionable/Questionable.Controller.Steps.Shared/ExtraConditionUtils.cs index 76c77fd..0d8bae1 100644 --- a/Questionable/Questionable.Controller.Steps.Shared/ExtraConditionUtils.cs +++ b/Questionable/Questionable.Controller.Steps.Shared/ExtraConditionUtils.cs @@ -1,8 +1,5 @@ using System; using System.Numerics; -using System.Runtime.CompilerServices; -using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using Questionable.Model.Questing; @@ -22,196 +19,25 @@ internal sealed class ExtraConditionUtils public bool MatchesExtraCondition(EExtraSkipCondition skipCondition) { - IPlayerCharacter playerCharacter = _206A_202B_202C_200B_200B_200E_206C_200B_206C_206C_206F_206F_200B_202D_206A_206E_206B_202B_206B_202C_206B_202E_206F_202D_200F_206C_202A_202C_206B_206D_200B_202E_206F_206F_200F_206C_206E_200D_206A_206D_202E(_objectTable); - Vector3? vector = ((playerCharacter != null) ? new Vector3?(_206B_202E_202E_206A_200D_200B_202D_200F_206E_206B_206C_200C_206B_206A_206B_200D_202A_202B_202B_202C_200C_200B_200C_200C_206E_202D_202E_202A_206A_200D_202A_206F_206E_200D_202E_206B_202E_200B_202D_202E_202E((IGameObject)playerCharacter)) : ((Vector3?)null)); - int num = ((!vector.HasValue) ? 1142844286 : 1142844285); - while (true) + Vector3? vector = _objectTable.LocalPlayer?.Position; + if (vector.HasValue && _clientState.TerritoryType != 0) { - int num2 = num; - int num3 = 1142844284; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1142844285; - break; - case 3: - return MatchesExtraCondition(skipCondition, vector.Value, _202B_206D_206D_200E_206E_200C_206D_206B_206D_202D_206E_200F_200C_206D_202C_200B_206A_200D_202A_206C_202B_200D_206B_202D_206E_202A_200D_200C_202A_206B_202B_200B_200C_206C_206D_202A_202C_200F_206C_206F_202E(_clientState)); - case 2: - return false; - case 1: - num = ((_202B_206D_206D_200E_206E_200C_206D_206B_206D_202D_206E_200F_200C_206D_202C_200B_206A_200D_202A_206C_202B_200D_206B_202D_206E_202A_200D_200C_202A_206B_202B_200B_200C_206C_206D_202A_202C_200F_206C_206F_202E(_clientState) == 0) ? 1142844286 : 1142844287); - break; - } + return MatchesExtraCondition(skipCondition, vector.Value, _clientState.TerritoryType); } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public static bool MatchesExtraCondition(EExtraSkipCondition skipCondition, Vector3 position, uint territoryType) { - int num; - bool result = default(bool); - switch (skipCondition) + return skipCondition switch { - default: - num = 1143569671; - goto IL_002b; - case EExtraSkipCondition.DockStorehouse: - num = ((territoryType != 137) ? 1143569672 : 1143569666); - goto IL_002b; - case EExtraSkipCondition.WakingSandsMainArea: - goto IL_00cc; - case EExtraSkipCondition.NotRoguesGuild: - goto IL_0115; - case EExtraSkipCondition.RoguesGuild: - goto IL_0209; - case EExtraSkipCondition.RisingStonesSolar: - goto IL_022c; - case EExtraSkipCondition.WakingSandsSolar: - goto IL_024d; - IL_002b: - while (true) - { - int num2 = num; - int num3 = 1143569666; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num12; - int num11; - int num10; - int num8; - int num9; - int num7; - switch (num5 - (num6 + num6)) - { - case 16: - num12 = 0; - goto IL_009f; - case 18: - goto end_IL_002b; - case 19: - goto IL_00cc; - case 5: - num = 1143569683; - break; - case 12: - num12 = ((position.Y > -115f) ? 1 : 0); - goto IL_009f; - case 1: - goto IL_0115; - case 17: - throw _206B_200F_200F_200D_200F_202A_206D_200D_200D_202D_206C_206A_206E_206C_206E_202E_202B_206C_206C_200D_202C_200B_200C_202C_206A_200F_206D_206B_206C_202D_206F_202E_206F_202C_200B_206E_206A_200D_206B_206A_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(-226080792), (object)skipCondition, (string)null); - case 0: - num11 = ((position.Y <= -20f) ? 1 : 0); - goto IL_018e; - case 7: - num10 = ((position.Z <= -28f) ? 1 : 0); - goto IL_01c5; - case 10: - num11 = 0; - goto IL_018e; - case 4: - num8 = ((position.X < 24f) ? 1 : 0); - goto IL_026f; - case 14: - num9 = 0; - goto IL_01b8; - case 13: - num10 = 0; - goto IL_01c5; - case 11: - num7 = 0; - goto IL_01d2; - case 20: - num = 1143569671; - break; - case 6: - num9 = ((position.X >= 24f) ? 1 : 0); - goto IL_01b8; - case 9: - goto IL_0209; - case 3: - return result; - case 15: - goto IL_022c; - case 8: - goto IL_024d; - case 2: - num8 = 0; - goto IL_026f; - case 21: - { - num7 = ((position.Y <= -115f) ? 1 : 0); - goto IL_01d2; - } - IL_01d2: - result = (byte)num7 != 0; - num = 1143569665; - break; - IL_01b8: - result = (byte)num9 != 0; - num = 1143569665; - break; - IL_026f: - result = (byte)num8 != 0; - num = 1143569665; - break; - IL_01c5: - result = (byte)num10 != 0; - num = 1143569665; - break; - IL_018e: - result = (byte)num11 != 0; - num = 1143569665; - break; - IL_009f: - result = (byte)num12 != 0; - num = 1143569665; - break; - } - continue; - end_IL_002b: - break; - } - goto case EExtraSkipCondition.DockStorehouse; - IL_024d: - num = ((territoryType != 212) ? 1143569676 : 1143569668); - goto IL_002b; - IL_0209: - num = ((territoryType != 129) ? 1143569673 : 1143569687); - goto IL_002b; - IL_0115: - num = ((territoryType != 129) ? 1143569682 : 1143569678); - goto IL_002b; - IL_022c: - num = ((territoryType != 351) ? 1143569679 : 1143569669); - goto IL_002b; - IL_00cc: - num = ((territoryType != 212) ? 1143569664 : 1143569670); - goto IL_002b; - } - } - - static IPlayerCharacter _206A_202B_202C_200B_200B_200E_206C_200B_206C_206C_206F_206F_200B_202D_206A_206E_206B_202B_206B_202C_206B_202E_206F_202D_200F_206C_202A_202C_206B_206D_200B_202E_206F_206F_200F_206C_206E_200D_206A_206D_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static Vector3 _206B_202E_202E_206A_200D_200B_202D_200F_206E_206B_206C_200C_206B_206A_206B_200D_202A_202B_202B_202C_200C_200B_200C_200C_206E_202D_202E_202A_206A_200D_202A_206F_206E_200D_202E_206B_202E_200B_202D_202E_202E(IGameObject P_0) - { - return P_0.Position; - } - - static uint _202B_206D_206D_200E_206E_200C_206D_206B_206D_202D_206E_200F_200C_206D_202C_200B_206A_200D_202A_206C_202B_200D_206B_202D_206E_202A_200D_200C_202A_206B_202B_200B_200C_206C_206D_202A_202C_200F_206C_206F_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static ArgumentOutOfRangeException _206B_200F_200F_200D_200F_202A_206D_200D_200D_202D_206C_206A_206E_206C_206E_202E_202B_206C_206C_200D_202C_200B_200C_202C_206A_200F_206D_206B_206C_202D_206F_202E_206F_202C_200B_206E_206A_200D_206B_206A_202E(string P_0, object P_1, string P_2) - { - return new ArgumentOutOfRangeException(P_0, P_1, P_2); + EExtraSkipCondition.WakingSandsMainArea => territoryType == 212 && position.X < 24f, + EExtraSkipCondition.WakingSandsSolar => territoryType == 212 && position.X >= 24f, + EExtraSkipCondition.RisingStonesSolar => territoryType == 351 && position.Z <= -28f, + EExtraSkipCondition.RoguesGuild => territoryType == 129 && position.Y <= -115f, + EExtraSkipCondition.NotRoguesGuild => territoryType == 129 && position.Y > -115f, + EExtraSkipCondition.DockStorehouse => territoryType == 137 && position.Y <= -20f, + _ => throw new ArgumentOutOfRangeException("skipCondition", skipCondition, null), + }; } } diff --git a/Questionable/Questionable.Controller.Steps.Shared/Fish.cs b/Questionable/Questionable.Controller.Steps.Shared/Fish.cs index 0f20499..02bcf0d 100644 --- a/Questionable/Questionable.Controller.Steps.Shared/Fish.cs +++ b/Questionable/Questionable.Controller.Steps.Shared/Fish.cs @@ -1,13 +1,7 @@ -using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using LLib.Fishing; @@ -27,480 +21,29 @@ internal static class Fish { internal sealed class Factory(AutoHookIpc autoHookIpc) : ITaskFactory { - [CompilerGenerated] - private sealed class _003CCreateAllTasks_003Ed__2 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ITask _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - private QuestStep step; - - public QuestStep _003C_003E3__step; - - public Factory _003C_003E4__this; - - private Quest quest; - - public Quest _003C_003E3__quest; - - private IEnumerator _003C_003E7__wrap1; - - ITask IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CCreateAllTasks_003Ed__2(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _202E_202B_202D_200E_206D_202B_200E_202B_200B_202D_200B_206F_202A_200C_200E_206B_200F_206E_206B_206B_200B_202E_202E_206C_206F_202E_202C_202D_202E_202E_202D_202B_202A_202B_200E_206D_200E_200B_206B_206F_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = ((num == -3) ? 1506831734 : 1506831733); - while (true) - { - int num3 = num2; - int num4 = 1506831732; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - default: - continue; - case 0: - num2 = 1506831733; - continue; - case 1: - if (num == 4) - { - num2 = 1506831734; - continue; - } - break; - case 2: - try - { - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003C_003E7__wrap1 = null; - _003C_003E1__state = -2; - } - - private bool MoveNext() - { - try - { - int num = _003C_003E1__state; - Factory factory = _003C_003E4__this; - int num2; - switch (num) - { - default: - num2 = -1493517574; - goto IL_0034; - case 0: - _003C_003E1__state = -1; - num2 = ((_202C_200C_202E_206F_200C_202A_206A_200D_200F_200C_202D_202A_206E_202C_200C_202A_202D_202D_206D_206A_206E_200E_202E_206E_206C_202E_200B_202D_202B_200F_200C_206F_202B_200F_202B_206C_202B_206E_200B_206B_202E(step) == EInteractionType.Fish) ? (-1493517569) : (-1493517576)); - goto IL_0034; - case 4: - goto IL_0153; - case 3: - goto IL_01aa; - case 2: - goto IL_01e1; - case 1: - break; - IL_0034: - while (true) - { - int num3 = num2; - int num4 = -1493517572; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 0: - num2 = -1493517574; - break; - case 4: - return false; - case 3: - goto IL_00ad; - case 9: - _003C_003E2__current = new Mount.UnmountTask(); - _003C_003E1__state = 1; - return true; - case 7: - goto end_IL_0034; - case 8: - goto IL_012b; - case 1: - goto IL_0153; - case 5: - { - GatheredItem current = _003C_003E7__wrap1.Current; - _003C_003E2__current = new FishTask(quest, current, _202D_206E_200F_206D_202A_202D_202C_200E_200D_206D_200F_202B_200B_200C_206A_202E_206E_200E_206E_200F_202A_206A_202C_200D_206E_206A_202A_202C_200C_200E_206B_206B_200B_202A_200E_206A_206A_200C_206C_206C_202E(step)); - _003C_003E1__state = 4; - return true; - } - case 11: - goto IL_01aa; - case 10: - goto IL_01e1; - case 6: - return false; - case 13: - goto end_IL_000f; - case 12: - return false; - case 2: - _003C_003Em__Finally1(); - _003C_003E7__wrap1 = null; - return false; - } - continue; - IL_012b: - num2 = (_202C_206E_202C_200D_206F_200F_200B_200C_200E_202D_200C_206E_202E_200C_200C_206D_206A_202A_202C_206D_202C_200D_202C_206A_206A_206B_200F_200E_202A_200D_202E_200C_200E_202C_200C_200D_206A_206F_202D_206E_202E((IEnumerator)_003C_003E7__wrap1) ? (-1493517575) : (-1493517570)); - continue; - IL_00ad: - num2 = (factory.autoHookIpc.IsAvailable() ? (-1493517579) : (-1493517584)); - continue; - end_IL_0034: - break; - } - goto case 0; - IL_01e1: - _003C_003E1__state = -1; - _003C_003E2__current = new FishTask(quest, _200E_202A_202B_202E_200D_202E_200B_202D_206B_206C_200C_206A_206F_206A_202E_200B_200B_206B_206A_206A_206F_200D_200F_206B_200B_206B_206B_206A_206E_202C_200E_202E_200F_202B_206D_206F_200B_200D_202D_202B_202E(step).FirstOrDefault(), _202D_206E_200F_206D_202A_202D_202C_200E_200D_206D_200F_202B_200B_200C_206A_202E_206E_200E_206E_200F_202A_206A_202C_200D_206E_206A_202A_202C_200C_200E_206B_206B_200B_202A_200E_206A_206A_200C_206C_206C_202E(step)); - _003C_003E1__state = 3; - return true; - IL_01aa: - _003C_003E1__state = -1; - _003C_003E7__wrap1 = _200E_202A_202B_202E_200D_202E_200B_202D_206B_206C_200C_206A_206F_206A_202E_200B_200B_206B_206A_206A_206F_200D_200F_206B_200B_206B_206B_206A_206E_202C_200E_202E_200F_202B_206D_206F_200B_200D_202D_202B_202E(step).Skip(1).GetEnumerator(); - _003C_003E1__state = -3; - num2 = -1493517580; - goto IL_0034; - IL_0153: - _003C_003E1__state = -3; - num2 = -1493517580; - goto IL_0034; - end_IL_000f: - break; - } - _003C_003E1__state = -1; - _003C_003E2__current = new SwitchClassJob.Task(EClassJob.Fisher); - _003C_003E1__state = 2; - return true; - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - int num = ((_003C_003E7__wrap1 == null) ? 1081455461 : 1081455462); - while (true) - { - int num2 = num; - int num3 = 1081455460; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return; - case 2: - _202C_200B_206C_200C_200F_200F_200F_200B_200C_206D_202E_206E_200E_200B_206D_206B_206A_206E_206B_206D_200F_206D_202D_200C_206D_200B_202D_202D_200D_202A_200E_206B_200C_202D_200F_206D_202B_206D_206C_206C_202E((IDisposable)_003C_003E7__wrap1); - num = 1081455461; - break; - case 0: - num = 1081455462; - break; - } - } - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _206F_200C_200C_200C_200C_206A_202A_206E_200D_200D_200E_200D_200E_202B_206B_200E_206B_202E_206D_200D_206F_202E_202A_200C_202B_202C_200F_202D_200C_206B_200F_200F_206E_202C_202D_206E_202E_206B_200D_206E_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? 1872162257 : 1872162261); - _003CCreateAllTasks_003Ed__2 _003CCreateAllTasks_003Ed__ = default(_003CCreateAllTasks_003Ed__2); - while (true) - { - int num2 = num; - int num3 = 1872162257; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = 1872162261; - break; - case 4: - num = ((_003C_003El__initialThreadId != _202E_202B_202D_200E_206D_202B_200E_202B_200B_202D_200B_206F_202A_200C_200E_206B_200F_206E_206B_206B_200B_202E_202E_206C_206F_202E_202C_202D_202E_202E_202D_202B_202A_202B_200E_206D_200E_200B_206B_206F_202E()) ? 1872162257 : 1872162256); - break; - case 0: - _003CCreateAllTasks_003Ed__ = new _003CCreateAllTasks_003Ed__2(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = 1872162259; - break; - case 2: - _003CCreateAllTasks_003Ed__.quest = _003C_003E3__quest; - _003CCreateAllTasks_003Ed__.step = _003C_003E3__step; - return _003CCreateAllTasks_003Ed__; - case 1: - _003C_003E1__state = 0; - _003CCreateAllTasks_003Ed__ = this; - num = 1872162259; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _202E_202B_202D_200E_206D_202B_200E_202B_200B_202D_200B_206F_202A_200C_200E_206B_200F_206E_206B_206B_200B_202E_202E_206C_206F_202E_202C_202D_202E_202E_202D_202B_202A_202B_200E_206D_200E_200B_206B_206F_202E() - { - return Environment.CurrentManagedThreadId; - } - - static EInteractionType _202C_200C_202E_206F_200C_202A_206A_200D_200F_200C_202D_202A_206E_202C_200C_202A_202D_202D_206D_206A_206E_200E_202E_206E_206C_202E_200B_202D_202B_200F_200C_206F_202B_200F_202B_206C_202B_206E_200B_206B_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static List _200E_202A_202B_202E_200D_202E_200B_202D_206B_206C_200C_206A_206F_206A_202E_200B_200B_206B_206A_206A_206F_200D_200F_206B_200B_206B_206B_206A_206E_202C_200E_202E_200F_202B_206D_206F_200B_200D_202D_202B_202E(QuestStep P_0) - { - return P_0.ItemsToGather; - } - - static List _202D_206E_200F_206D_202A_202D_202C_200E_200D_206D_200F_202B_200B_200C_206A_202E_206E_200E_206E_200F_202A_206A_202C_200D_206E_206A_202A_202C_200C_200E_206B_206B_200B_202A_200E_206A_206A_200C_206C_206C_202E(QuestStep P_0) - { - return P_0.CompletionQuestVariablesFlags; - } - - static bool _202C_206E_202C_200D_206F_200F_200B_200C_200E_202D_200C_206E_202E_200C_200C_206D_206A_202A_202C_206D_202C_200D_202C_206A_206A_206B_200F_200E_202A_200D_202E_200C_200E_202C_200C_200D_206A_206F_202D_206E_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202C_200B_206C_200C_200F_200F_200F_200B_200C_206D_202E_206E_200E_200B_206D_206B_206A_206E_206B_206D_200F_206D_202D_200C_206D_200B_202D_202D_200D_202A_200E_206B_200C_202D_200F_206D_202B_206D_206C_206C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static NotSupportedException _206F_200C_200C_200C_200C_206A_202A_206E_200D_200D_200E_200D_200E_202B_206B_200E_206B_202E_206D_200D_206F_202E_202A_200C_202B_202C_200F_202D_200C_206B_200F_200F_206E_202C_202D_206E_202E_206B_200D_206E_202E() - { - return new NotSupportedException(); - } - } - - [IteratorStateMachine(typeof(_003CCreateAllTasks_003Ed__2))] public IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CCreateAllTasks_003Ed__2(-2) + if (step.InteractionType != EInteractionType.Fish || !autoHookIpc.IsAvailable()) { - _003C_003E4__this = this, - _003C_003E3__quest = quest, - _003C_003E3__step = step - }; - } - - IEnumerable ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks - return this.CreateAllTasks(quest, sequence, step); + yield break; + } + yield return new Mount.UnmountTask(); + yield return new SwitchClassJob.Task(EClassJob.Fisher); + yield return new FishTask(quest, step.ItemsToGather.FirstOrDefault(), step.CompletionQuestVariablesFlags); + foreach (GatheredItem item in step.ItemsToGather.Skip(1)) + { + yield return new FishTask(quest, item, step.CompletionQuestVariablesFlags); + } } } internal sealed record FishTask(Quest Quest, GatheredItem? GatheredItem, IList CompletionQuestVariablesFlags) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202D_202B_200F_200F_200F_202D_206D_200F_206E_206E_206D_200B_206D_206A_202D_202E_202A_206C_202D_206D_206F_200F_200F_206A_206F_200C_206F_202B_200B_200C_202C_202D_202C_200C_200E_206F_206B_206E_200D_206A_202E(typeof(FishTask).TypeHandle); - } - } - public bool HasCompletionQuestVariablesFlags { get; } = QuestWorkUtils.HasCompletionFlags(CompletionQuestVariablesFlags); - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - string text = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1580376260); - string obj = (HasCompletionQuestVariablesFlags ? 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(626978395) : 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(-1720149641)); - string text2; - if (GatheredItem == null) - { - text2 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1694032531); - } - else - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(4, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1824588032)); - defaultInterpolatedStringHandler.AppendFormatted(_200D_202D_202C_200F_202A_206A_200C_200C_202E_200B_206C_202E_206B_206C_200D_200B_202A_202B_200D_202D_206C_200D_200D_206E_206F_206B_202A_200E_200D_200C_206E_206D_200C_206C_200C_202A_200E_200E_206F_200D_202E(GatheredItem)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(350814621)); - defaultInterpolatedStringHandler.AppendFormatted(_206C_202A_206E_206C_200D_202A_206F_206C_200E_200B_200E_206D_200C_202B_202C_206F_200E_206F_200B_206F_202B_206D_202A_200B_200B_206D_200F_206F_202E_202B_206C_202D_200C_206C_206E_202E_206A_206A_202C_200E_202E(GatheredItem)); - defaultInterpolatedStringHandler.AppendLiteral(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(444206578)); - text2 = defaultInterpolatedStringHandler.ToStringAndClear(); - } - return _200D_202D_202E_206B_200B_202C_202C_200E_202E_202C_200C_200C_206E_202B_206C_200B_200D_200D_206D_202C_200C_200C_202C_200E_206B_206E_206A_202B_206A_200C_200B_200C_206F_206D_200F_202A_202A_200B_206B_206F_202E(text, obj, text2); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200F_206E_202E_202D_202A_206E_200B_202B_206C_202D_202E_200E_200C_200B_206A_200E_200B_202A_206B_206F_206F_202D_202A_206E_200C_200D_200B_206E_206F_206E_206B_200C_200C_202C_206D_202A_202E_202A_202B_206B_202E(); - _202C_200B_202E_200E_202C_206C_202C_202D_206E_206C_206F_202D_206B_202B_202B_206D_200D_200C_200E_202E_206C_200C_200D_206A_202B_200F_202A_202D_206D_200B_206B_202A_206F_200B_200C_202B_202A_200B_202C_202E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-501301525)); - _206D_202A_200B_200F_202D_200B_200E_206B_206B_206F_206E_206B_202C_200D_202B_200F_200B_206C_200E_202D_202A_200D_200F_202B_202B_202D_206F_206F_200D_206D_206A_200D_200B_200D_202D_202C_200C_202E_202B_200D_202E(builder, (object)Quest); - _202C_200B_202E_200E_202C_206C_202C_202D_206E_206C_206F_202D_206B_202B_202B_206D_200D_200C_200E_202E_206C_200C_200D_206A_202B_200F_202A_202D_206D_200B_206B_202A_206F_200B_200C_202B_202A_200B_202C_202E_202E(builder, 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(2119160719)); - _206D_202A_200B_200F_202D_200B_200E_206B_206B_206F_206E_206B_202C_200D_202B_200F_200B_206C_200E_202D_202A_200D_200F_202B_202B_202D_206F_206F_200D_206D_206A_200D_200B_200D_202D_202C_200C_202E_202B_200D_202E(builder, (object)GatheredItem); - _202C_200B_202E_200E_202C_206C_202C_202D_206E_206C_206F_202D_206B_202B_202B_206D_200D_200C_200E_202E_206C_200C_200D_206A_202B_200F_202A_202D_206D_200B_206B_202A_206F_200B_200C_202B_202A_200B_202C_202E_202E(builder, 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(1627383089)); - _206D_202A_200B_200F_202D_200B_200E_206B_206B_206F_206E_206B_202C_200D_202B_200F_200B_206C_200E_202D_202A_200D_200F_202B_202B_202D_206F_206F_200D_206D_206A_200D_200B_200D_202D_202C_200C_202E_202B_200D_202E(builder, (object)CompletionQuestVariablesFlags); - _202C_200B_202E_200E_202C_206C_202C_202D_206E_206C_206F_202D_206B_202B_202B_206D_200D_200C_200E_202E_206C_200C_200D_206A_202B_200F_202A_202D_206D_200B_206B_202A_206F_200B_200C_202B_202A_200B_202C_202E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1417236057)); - _202C_200B_202E_200E_202C_206C_202C_202D_206E_206C_206F_202D_206B_202B_202B_206D_200D_200C_200E_202E_206C_200C_200D_206A_202B_200F_202A_202D_206D_200B_206B_202A_206F_200B_200C_202B_202A_200B_202C_202E_202E(builder, HasCompletionQuestVariablesFlags.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(FishTask? other) - { - int num = (((object)this == other) ? 2038737400 : 2038737406); - while (true) - { - int num2 = num; - int num3 = 2038737403; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = 2038737406; - break; - case 3: - return true; - case 6: - return false; - case 0: - num = ((!EqualityComparer.Default.Equals(GatheredItem, other.GatheredItem)) ? 2038737405 : 2038737402); - break; - case 5: - num = (((object)other == null) ? 2038737405 : 2038737401); - break; - case 8: - num = ((!EqualityComparer.Default.Equals(Quest, other.Quest)) ? 2038737405 : 2038737403); - break; - case 2: - num = ((!_206F_200B_200C_202B_200F_200D_206D_200D_200F_206A_200B_202D_202C_206D_206B_206D_200E_202B_200C_202D_200D_200E_200C_206C_202C_202C_200D_206F_202E_202C_206A_202B_200F_200E_202A_200B_200D_200E_202E_206A_202E(EqualityContract, other.EqualityContract)) ? 2038737405 : 2038737395); - break; - case 1: - num = ((!EqualityComparer>.Default.Equals(CompletionQuestVariablesFlags, other.CompletionQuestVariablesFlags)) ? 2038737405 : 2038737404); - break; - case 7: - return EqualityComparer.Default.Equals(HasCompletionQuestVariablesFlags, other.HasCompletionQuestVariablesFlags); - } - } - } - - bool IEquatable.Equals(FishTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202D_202B_200F_200F_200F_202D_206D_200F_206E_206E_206D_200B_206D_206A_202D_202E_202A_206C_202D_206D_206F_200F_200F_206A_206F_200C_206F_202B_200B_200C_202C_202D_202C_200C_200E_206F_206B_206E_200D_206A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static int _200D_202D_202C_200F_202A_206A_200C_200C_202E_200B_206C_202E_206B_206C_200D_200B_202A_202B_200D_202D_206C_200D_200D_206E_206F_206B_202A_200E_200D_200C_206E_206D_200C_206C_200C_202A_200E_200E_206F_200D_202E(GatheredItem P_0) - { - return P_0.ItemCount; - } - - static uint _206C_202A_206E_206C_200D_202A_206F_206C_200E_200B_200E_206D_200C_202B_202C_206F_200E_206F_200B_206F_202B_206D_202A_200B_200B_206D_200F_206F_202E_202B_206C_202D_200C_206C_206E_202E_206A_206A_202C_200E_202E(GatheredItem P_0) - { - return P_0.ItemId; - } - - static string _200D_202D_202E_206B_200B_202C_202C_200E_202E_202C_200C_200C_206E_202B_206C_200B_200D_200D_206D_202C_200C_200C_202C_200E_206B_206E_206A_202B_206A_200C_200B_200C_206F_206D_200F_202A_202A_200B_206B_206F_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static void _200F_206E_202E_202D_202A_206E_200B_202B_206C_202D_202E_200E_200C_200B_206A_200E_200B_202A_206B_206F_206F_202D_202A_206E_200C_200D_200B_206E_206F_206E_206B_200C_200C_202C_206D_202A_202E_202A_202B_206B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202C_200B_202E_200E_202C_206C_202C_202D_206E_206C_206F_202D_206B_202B_202B_206D_200D_200C_200E_202E_206C_200C_200D_206A_202B_200F_202A_202D_206D_200B_206B_202A_206F_200B_200C_202B_202A_200B_202C_202E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206D_202A_200B_200F_202D_200B_200E_206B_206B_206F_206E_206B_202C_200D_202B_200F_200B_206C_200E_202D_202A_200D_200F_202B_202B_202D_206F_206F_200D_206D_206A_200D_200B_200D_202D_202C_200C_202E_202B_200D_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206F_200B_200C_202B_200F_200D_206D_200D_200F_206A_200B_202D_202C_206D_206B_206D_200E_202B_200C_202D_200D_200E_200C_206C_202C_202C_200D_206F_202E_202C_206A_202B_200F_200E_202A_200B_200D_200E_202E_206A_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "Fish" + (HasCompletionQuestVariablesFlags ? "*" : "") + ((GatheredItem != null) ? $"({GatheredItem.ItemCount}x {GatheredItem.ItemId})" : ""); } } @@ -512,133 +55,69 @@ internal static class Fish private bool _cleanupDone; - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { - int num = ((!HasRequestedItem(base.Task.GatheredItem)) ? 1782485071 : 1782485057); - string value = default(string); - while (true) + if (HasRequestedItem(base.Task.GatheredItem)) { - int num2 = num; - int num3 = 1782485064; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + logger.LogInformation("Already have the requested fish in inventory, skipping fish task."); + return false; + } + if (HasMatchingCompletionQuestWork()) + { + logger.LogInformation("Quest variables already match, skipping fish task."); + return false; + } + if (!_wasAutoHookEnabled) + { + autoHookIpc.SetPluginState(enabled: true); + if (!autoHookIpc.GetPluginState()) { - case 10: - num = 1782485057; - break; - case 2: - throw new TaskException(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(2028014185)); - case 4: - _206A_200C_202C_202C_202D_206D_200F_202B_202E_202B_202C_206B_200B_206A_200B_200E_206A_200E_200B_206A_202B_206F_202E_200B_200B_206E_200F_202D_202C_200D_202A_202E_200D_202D_206F_200D_206D_206B_202B_206D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1855558187), Array.Empty()); - return false; - case 0: - { - _200D_202D_206E_202D_206A_206A_206F_202E_200D_206A_202C_206F_202B_206D_206E_202A_202E_206E_202E_206E_206F_202A_200B_200C_202D_200E_206F_202A_202C_206E_200B_206F_206B_202B_200F_200C_200D_202D_206F_202C_202E((ILogger)logger, 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(704472200), new object[1] { base.Task.Quest.Id }); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(34, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(807535051)); - defaultInterpolatedStringHandler.AppendFormatted(base.Task.Quest.Id); - throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 6: - _206A_200C_202C_202C_202D_206D_200F_202B_202E_202B_202C_206B_200B_206A_200B_200E_206A_200E_200B_206A_202B_206F_202E_200B_200B_206E_200F_202D_202C_200D_202A_202E_200D_202D_206F_200D_206D_206B_202B_206D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1839561848), new object[1] { base.Task.Quest.Id }); - autoHookIpc.CreateAndSelectAnonymousPreset(value); - OrientToWater(); - autoHookIpc.SetAutoStartFishing(enabled: true); - _started = true; - return true; - case 7: - num = ((!HasMatchingCompletionQuestWork()) ? 1782485065 : 1782485068); - break; - case 9: - _206A_200C_202C_202C_202D_206D_200F_202B_202E_202B_202C_206B_200B_206A_200B_200E_206A_200E_200B_206A_202B_206F_202E_200B_200B_206E_200F_202D_202C_200D_202A_202E_200D_202D_206F_200D_206D_206B_202B_206D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2069167777), Array.Empty()); - return false; - case 8: - _206B_200E_200D_200D_200F_200B_206C_206D_202B_206C_200F_202E_206B_202B_206D_202A_200D_202D_200E_206E_206D_200C_202D_206F_200E_200C_200E_206D_202B_200D_202E_200D_200B_202A_200C_206A_206A_206C_200C_206B_202E(chatGui, 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(2028014185), 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(1481660241), (ushort?)(ushort)576); - num = 1782485066; - break; - case 1: - num = (_wasAutoHookEnabled ? 1782485059 : 1782485067); - break; - case 3: - autoHookIpc.SetPluginState(enabled: true); - num = (autoHookIpc.GetPluginState() ? 1782485059 : 1782485069); - break; - case 5: - _200D_202D_206E_202D_206A_206A_206F_202E_200D_206A_202C_206F_202B_206D_206E_202A_202E_206E_202E_206E_206F_202A_200B_200C_202D_200E_206F_202A_202C_206E_200B_206F_206B_202B_200F_200C_200D_202D_206F_202C_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1913024892), new object[1] { global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2025711816) }); - num = (sendNotificationExecutor.Start(new SendNotification.Task(EInteractionType.Fish, 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(774695212))) ? 1782485066 : 1782485056); - break; - case 11: - num = (AutoHookPresetData.FishingPresets.TryGetValue((QuestId)base.Task.Quest.Id, out value) ? 1782485070 : 1782485064); - break; + logger.LogWarning("{ErrorText}", "AutoHook is required for fishing but could not be enabled. Please install or enable AutoHook."); + if (!sendNotificationExecutor.Start(new SendNotification.Task(EInteractionType.Fish, "AutoHook is required for fishing but could not be enabled. Please install or enable AutoHook."))) + { + chatGui.PrintError("AutoHook is required for fishing but could not be enabled. Please install or enable AutoHook.", "Questionable", 576); + } + throw new TaskException("AutoHook is required for fishing but could not be enabled. Please install or enable AutoHook."); } } + if (!AutoHookPresetData.FishingPresets.TryGetValue((QuestId)base.Task.Quest.Id, out string value)) + { + logger.LogWarning("No fishing preset found for quest {QuestId}", base.Task.Quest.Id); + throw new TaskException($"No fishing preset found for quest {base.Task.Quest.Id}"); + } + logger.LogInformation("Creating anonymous AutoHook preset for quest {QuestId}", base.Task.Quest.Id); + autoHookIpc.CreateAndSelectAnonymousPreset(value); + OrientToWater(); + autoHookIpc.SetAutoStartFishing(enabled: true); + _started = true; + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - int num = ((!HasRequestedItem(base.Task.GatheredItem)) ? (-1288503250) : (-1288503251)); - while (true) + if (HasRequestedItem(base.Task.GatheredItem)) { - int num2 = num; - int num3 = -1288503250; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -1288503251; - break; - case 1: - _200E_200F_200B_200B_202C_202B_206F_200E_206B_206F_206D_206D_206C_202E_206B_202B_206F_202E_206A_202E_200D_202C_200D_202B_202B_200B_202B_206A_200C_206F_202C_200B_202C_200B_202B_202D_206D_206C_202E_202C_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-571223897), Array.Empty()); - Cleanup(); - return ETaskResult.TaskComplete; - case 4: - return ETaskResult.StillRunning; - case 0: - num = ((!HasMatchingCompletionQuestWork()) ? (-1288503254) : (-1288503249)); - break; - case 3: - _200E_200F_200B_200B_202C_202B_206F_200E_206B_206F_206D_206D_206C_202E_206B_202B_206F_202E_206A_202E_200D_202C_200D_202B_202B_200B_202B_206A_200C_206F_202C_200B_202C_200B_202B_202D_206D_206C_202E_202C_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(895316843), Array.Empty()); - Cleanup(); - return ETaskResult.TaskComplete; - } + logger.LogDebug("Requested fish collected, completing task."); + Cleanup(); + return ETaskResult.TaskComplete; } + if (HasMatchingCompletionQuestWork()) + { + logger.LogDebug("Quest variables match, completing task."); + Cleanup(); + return ETaskResult.TaskComplete; + } + return ETaskResult.StillRunning; } public void StopNow() { - int num = ((!_started) ? (-861812504) : (-861812503)); - while (true) + if (_started) { - int num2 = num; - int num3 = -861812504; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -861812503; - break; - case 1: - Cleanup(); - num = -861812504; - break; - case 0: - return; - } + Cleanup(); } } - void IStoppableTaskExecutor.StopNow() - { - //ILSpy generated this explicit interface implementation from .override directive in StopNow - this.StopNow(); - } - public override bool ShouldInterruptOnDamage() { return false; @@ -646,203 +125,70 @@ internal static class Fish private bool HasMatchingCompletionQuestWork() { - int num = (base.Task.HasCompletionQuestVariablesFlags ? 631430922 : 631430921); - QuestProgressInfo questProgressInfo = default(QuestProgressInfo); - while (true) + if (!base.Task.HasCompletionQuestVariablesFlags) { - int num2 = num; - int num3 = 631430922; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return QuestWorkUtils.MatchesQuestWork(base.Task.CompletionQuestVariablesFlags, questProgressInfo); - case 4: - return false; - case 0: - questProgressInfo = questFunctions.GetQuestProgressInfo(base.Task.Quest.Id); - num = ((questProgressInfo == null) ? 631430926 : 631430923); - break; - case 2: - num = 631430921; - break; - case 3: - return false; - } + return false; } + QuestProgressInfo questProgressInfo = questFunctions.GetQuestProgressInfo(base.Task.Quest.Id); + if (questProgressInfo != null) + { + return QuestWorkUtils.MatchesQuestWork(base.Task.CompletionQuestVariablesFlags, questProgressInfo); + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private void Cleanup() { - int num = ((!_cleanupDone) ? (-880332252) : (-880332249)); - while (true) + if (!_cleanupDone) { - int num2 = num; - int num3 = -880332251; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0048; - case 1: - _200E_200F_200B_200B_202C_202B_206F_200E_206B_206F_206D_206D_206C_202E_206B_202B_206F_202E_206A_202E_200D_202C_200D_202B_202B_200B_202B_206A_200C_206F_202C_200B_202C_200B_202B_202D_206D_206C_202E_202C_202E((ILogger)logger, 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(-1552997573), Array.Empty()); - autoHookIpc.SetAutoStartFishing(enabled: false); - StopFishing(); - autoHookIpc.DeleteAllAnonymousPresets(); - autoHookIpc.SetPluginState(_wasAutoHookEnabled); - _cleanupDone = true; - return; - case 2: - return; - } - continue; - IL_0048: - num = -880332249; + logger.LogDebug("Cleaning up fish task."); + autoHookIpc.SetAutoStartFishing(enabled: false); + StopFishing(); + autoHookIpc.DeleteAllAnonymousPresets(); + autoHookIpc.SetPluginState(_wasAutoHookEnabled); + _cleanupDone = true; } } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void OrientToWater() { - IPlayerCharacter playerCharacter = _200B_202C_200B_200B_202D_200F_206B_206D_200F_206A_206B_206F_206D_202D_200E_206E_202A_202C_206B_206C_202A_200E_202B_206B_206A_206B_200B_200C_200D_200E_206E_202D_206F_200B_200E_206C_200F_206C_200F_206F_202E(objectTable); - int num = ((playerCharacter != null) ? 2106892356 : 2106892353); - (float, Vector3)? tuple = default((float, Vector3)?); - while (true) + IPlayerCharacter localPlayer = objectTable.LocalPlayer; + if (localPlayer != null) { - int num2 = num; - int num3 = 2106892352; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + (float, Vector3)? tuple = WaterSurfaceDetector.FindFishableRotation(localPlayer.Position); + if (!tuple.HasValue) { - case 0: - _200D_202D_206E_202D_206A_206A_206F_202E_200D_206A_202C_206F_202B_206D_206E_202A_202E_206E_202E_206E_206F_202A_200B_200C_202D_200E_206F_202A_202C_206E_200B_206F_206B_202B_200F_200C_200D_202D_206F_202C_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-977369121), Array.Empty()); - return; - case 3: - { - Vector3 item = tuple.Value.Item2; - ActionManager.Instance()->AutoFaceTargetPosition(&item, 0uL); + logger.LogWarning("No fishable water found near the player; AutoHook may fail to cast."); return; } - case 1: - return; - case 2: - num = 2106892353; - break; - case 4: - tuple = _202A_202B_200D_200E_206C_206B_202C_200C_206F_206C_200C_200C_206F_202E_202B_206A_202D_202E_202E_202E_206E_200F_206E_202E_202E_200D_200B_202D_200D_200D_202C_206A_200C_200E_206C_206A_200C_200D_202D_200E_202E(_202D_202D_202E_206C_206E_206C_202C_202D_200F_206D_206B_200C_206B_200B_200B_202A_200C_206B_206E_200E_200E_202C_206D_200F_200F_206F_200F_202A_200D_200C_200E_200C_206B_206E_206D_202C_206C_206E_202C_206D_202E((IGameObject)playerCharacter), 36); - num = (tuple.HasValue ? 2106892355 : 2106892352); - break; - } + Vector3 item = tuple.Value.Item2; + ActionManager.Instance()->AutoFaceTargetPosition(&item, 0uL); } } private unsafe static void StopFishing() { ActionManager* ptr = ActionManager.Instance(); - int num = ((ptr == null) ? 1063786085 : 1063786084); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 1063786085; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return; - case 1: - ptr->UseAction(ActionType.Action, 299u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); - num = 1063786085; - break; - case 2: - num = 1063786084; - break; - } + ptr->UseAction(ActionType.Action, 299u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); } } - - static void _206A_200C_202C_202C_202D_206D_200F_202B_202E_202B_202C_206B_200B_206A_200B_200E_206A_200E_200B_206A_202B_206F_202E_200B_200B_206E_200F_202D_202C_200D_202A_202E_200D_202D_206F_200D_206D_206B_202B_206D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static void _200D_202D_206E_202D_206A_206A_206F_202E_200D_206A_202C_206F_202B_206D_206E_202A_202E_206E_202E_206E_206F_202A_200B_200C_202D_200E_206F_202A_202C_206E_200B_206F_206B_202B_200F_200C_200D_202D_206F_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static void _206B_200E_200D_200D_200F_200B_206C_206D_202B_206C_200F_202E_206B_202B_206D_202A_200D_202D_200E_206E_206D_200C_202D_206F_200E_200C_200E_206D_202B_200D_202E_200D_200B_202A_200C_206A_206A_206C_200C_206B_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); - } - - static void _200E_200F_200B_200B_202C_202B_206F_200E_206B_206F_206D_206D_206C_202E_206B_202B_206F_202E_206A_202E_200D_202C_200D_202B_202B_200B_202B_206A_200C_206F_202C_200B_202C_200B_202B_202D_206D_206C_202E_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static IPlayerCharacter _200B_202C_200B_200B_202D_200F_206B_206D_200F_206A_206B_206F_206D_202D_200E_206E_202A_202C_206B_206C_202A_200E_202B_206B_206A_206B_200B_200C_200D_200E_206E_202D_206F_200B_200E_206C_200F_206C_200F_206F_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static Vector3 _202D_202D_202E_206C_206E_206C_202C_202D_200F_206D_206B_200C_206B_200B_200B_202A_200C_206B_206E_200E_200E_202C_206D_200F_200F_206F_200F_202A_200D_200C_200E_200C_206B_206E_206D_202C_206C_206E_202C_206D_202E(IGameObject P_0) - { - return P_0.Position; - } - - static (float, Vector3)? _202A_202B_200D_200E_206C_206B_202C_200C_206F_206C_200C_200C_206F_202E_202B_206A_202D_202E_202E_202E_206E_200F_206E_202E_202E_200D_200B_202D_200D_200D_202C_206A_200C_200E_206C_206A_200C_200D_202D_200E_202E(Vector3 P_0, int P_1) - { - return WaterSurfaceDetector.FindFishableRotation(P_0, P_1); - } } private const uint QuitActionId = 299u; private unsafe static bool HasRequestedItem(GatheredItem? item) { - int num = ((item != null) ? 1208879957 : 1208879956); - InventoryManager* ptr = default(InventoryManager*); - while (true) + if (item == null) { - int num2 = num; - int num3 = 1208879957; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return false; - case 2: - return ptr->GetInventoryItemCount(_200C_202B_202C_206A_206B_202A_202C_202A_206C_202D_202A_202E_202C_206B_206A_202E_200F_202D_202A_206F_206B_202B_206D_202A_202E_200C_206A_202C_202A_206E_206F_202E_206E_202C_202B_202E_206A_200C_206E_206D_202E(item), isHq: false, checkEquipped: true, checkArmory: true, (short)_202D_206C_206F_202E_206D_206C_202A_200D_206D_202E_206B_200F_202A_202A_200B_206C_206A_206F_206B_206C_202C_200C_202A_206A_202D_200C_206A_206D_200B_200D_202B_202B_206C_200D_206F_206F_202C_206E_206B_202D_202E(item)) >= _206E_200B_206A_206D_200E_202D_206C_202D_206E_206B_206C_206B_202C_206A_206D_200B_206F_206B_206F_200C_202D_202D_206F_206E_200E_202E_206D_206D_200B_200D_202B_200D_206D_202A_202B_206E_200B_200F_206E_202D_202E(item); - case 1: - return false; - case 4: - num = 1208879956; - break; - case 0: - ptr = InventoryManager.Instance(); - num = ((ptr != null) ? 1208879959 : 1208879958); - break; - } + return false; } - } - - static uint _200C_202B_202C_206A_206B_202A_202C_202A_206C_202D_202A_202E_202C_206B_206A_202E_200F_202D_202A_206F_206B_202B_206D_202A_202E_200C_206A_202C_202A_206E_206F_202E_206E_202C_202B_202E_206A_200C_206E_206D_202E(GatheredItem P_0) - { - return P_0.ItemId; - } - - static ushort _202D_206C_206F_202E_206D_206C_202A_200D_206D_202E_206B_200F_202A_202A_200B_206C_206A_206F_206B_206C_202C_200C_202A_206A_202D_200C_206A_206D_200B_200D_202B_202B_206C_200D_206F_206F_202C_206E_206B_202D_202E(GatheredItem P_0) - { - return P_0.Collectability; - } - - static int _206E_200B_206A_206D_200E_202D_206C_202D_206E_206B_206C_206B_202C_206A_206D_200B_206F_206B_206F_200C_202D_202D_206F_206E_200E_202E_206D_206D_200B_200D_202B_200D_206D_202A_202B_206E_200B_200F_206E_202D_202E(GatheredItem P_0) - { - return P_0.ItemCount; + InventoryManager* ptr = InventoryManager.Instance(); + if (ptr == null) + { + return false; + } + return ptr->GetInventoryItemCount(item.ItemId, isHq: false, checkEquipped: true, checkArmory: true, (short)item.Collectability) >= item.ItemCount; } } diff --git a/Questionable/Questionable.Controller.Steps.Shared/Gather.cs b/Questionable/Questionable.Controller.Steps.Shared/Gather.cs index a66d85b..04af686 100644 --- a/Questionable/Questionable.Controller.Steps.Shared/Gather.cs +++ b/Questionable/Questionable.Controller.Steps.Shared/Gather.cs @@ -1,19 +1,11 @@ using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Linq; -using System.Runtime.CompilerServices; -using System.Text; -using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Game.Text; using Dalamud.Game.Text.SeStringHandling; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using LLib.GameData; -using Lumina.Excel; -using Lumina.Excel.Sheets; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Questionable.Controller.Steps.Common; @@ -29,990 +21,29 @@ internal static class Gather { internal sealed class Factory : ITaskFactory { - [CompilerGenerated] - private sealed class _003CCreateAllTasks_003Ed__0 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable + public IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { - private int _003C_003E1__state; - - private ITask _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - private QuestStep step; - - public QuestStep _003C_003E3__step; - - private Questionable.Model.Quest quest; - - public Questionable.Model.Quest _003C_003E3__quest; - - private QuestSequence sequence; - - public QuestSequence _003C_003E3__sequence; - - private List.Enumerator _003C_003E7__wrap1; - - ITask IEnumerator.Current + if (step.InteractionType != EInteractionType.Gather) { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } + yield break; } - - object IEnumerator.Current + foreach (GatheredItem item in step.ItemsToGather) { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } + yield return new DelayedGatheringTask(item, quest, sequence.Sequence); } - - [DebuggerHidden] - public _003CCreateAllTasks_003Ed__0(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _200F_206D_206F_202E_202B_202E_200D_206A_206B_206F_206D_200D_206F_206A_206A_200C_202B_206E_206A_202D_206C_206E_206A_206D_202E_200F_206A_206B_200F_200E_202B_206B_206C_202A_200B_206E_202B_202E_200C_206D_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = ((num == -3) ? 501970118 : 501970117); - while (true) - { - int num3 = num2; - int num4 = 501970116; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - default: - continue; - case 0: - num2 = 501970117; - continue; - case 1: - if (num == 1) - { - num2 = 501970118; - continue; - } - break; - case 2: - try - { - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003C_003E7__wrap1 = default(List.Enumerator); - _003C_003E1__state = -2; - } - - private bool MoveNext() - { - try - { - int num = _003C_003E1__state; - int num2 = ((num == 0) ? (-716554226) : (-716554239)); - while (true) - { - int num3 = num2; - int num4 = -716554232; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 8: - num2 = (_003C_003E7__wrap1.MoveNext() ? (-716554228) : (-716554231)); - break; - case 5: - _003C_003E1__state = -3; - num2 = -716554240; - break; - case 2: - return false; - case 7: - return false; - case 0: - num2 = -716554239; - break; - case 3: - _003C_003E7__wrap1 = _206B_200E_206C_206C_206D_206F_202D_202B_200F_206B_200E_200B_202A_202A_206E_206A_200E_206F_206F_200C_206A_200D_200D_206A_206B_202A_200F_206F_206F_206D_202B_200C_200B_202B_200B_202D_202B_200C_202E_200E_202E(step).GetEnumerator(); - _003C_003E1__state = -3; - num2 = -716554240; - break; - case 9: - num2 = ((num == 1) ? (-716554227) : (-716554230)); - break; - case 4: - { - GatheredItem current = _003C_003E7__wrap1.Current; - _003C_003E2__current = new DelayedGatheringTask(current, quest, _206A_202B_202E_200F_202E_206E_206F_200D_200F_200F_202C_206B_206B_200F_206E_202B_206E_200C_202C_206E_206E_206D_206B_200B_206B_202B_202A_206C_206A_200F_202B_206B_200D_206A_206B_200E_206C_202E_206E_202E(sequence)); - _003C_003E1__state = 1; - return true; - } - case 6: - _003C_003E1__state = -1; - num2 = ((_200C_202A_202B_206A_202B_206A_206A_200F_206C_202C_206D_206E_202D_206F_206E_202A_206F_202A_206F_206E_206E_202A_202B_202B_206F_200D_200E_206E_206D_200D_200B_206B_200C_206B_206B_206E_206B_202D_206D_206C_202E(step) == EInteractionType.Gather) ? (-716554229) : (-716554225)); - break; - case 1: - _003C_003Em__Finally1(); - _003C_003E7__wrap1 = default(List.Enumerator); - return false; - } - } - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - ((IDisposable)_003C_003E7__wrap1/*cast due to .constrained prefix*/).Dispose(); - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _202C_206F_200C_200C_206F_200D_202A_206B_200D_202A_206B_202A_200D_202C_202A_202A_202B_202B_200D_206E_202E_202A_206D_206F_200B_202B_200E_206E_200B_206E_200B_202D_200D_202B_206F_200B_206E_206F_206C_200C_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? (-1452607812) : (-1452607816)); - _003CCreateAllTasks_003Ed__0 _003CCreateAllTasks_003Ed__ = default(_003CCreateAllTasks_003Ed__0); - while (true) - { - int num2 = num; - int num3 = -1452607812; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _003CCreateAllTasks_003Ed__ = new _003CCreateAllTasks_003Ed__0(0); - num = -1452607810; - break; - case 4: - num = ((_003C_003El__initialThreadId != _200F_206D_206F_202E_202B_202E_200D_206A_206B_206F_206D_200D_206F_206A_206A_200C_202B_206E_206A_202D_206C_206E_206A_206D_202E_200F_206A_206B_200F_200E_202B_206B_206C_202A_200B_206E_202B_202E_200C_206D_202E()) ? (-1452607812) : (-1452607811)); - break; - case 3: - num = -1452607816; - break; - case 2: - _003CCreateAllTasks_003Ed__.quest = _003C_003E3__quest; - _003CCreateAllTasks_003Ed__.sequence = _003C_003E3__sequence; - _003CCreateAllTasks_003Ed__.step = _003C_003E3__step; - return _003CCreateAllTasks_003Ed__; - case 1: - _003C_003E1__state = 0; - _003CCreateAllTasks_003Ed__ = this; - num = -1452607810; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _200F_206D_206F_202E_202B_202E_200D_206A_206B_206F_206D_200D_206F_206A_206A_200C_202B_206E_206A_202D_206C_206E_206A_206D_202E_200F_206A_206B_200F_200E_202B_206B_206C_202A_200B_206E_202B_202E_200C_206D_202E() - { - return Environment.CurrentManagedThreadId; - } - - static EInteractionType _200C_202A_202B_206A_202B_206A_206A_200F_206C_202C_206D_206E_202D_206F_206E_202A_206F_202A_206F_206E_206E_202A_202B_202B_206F_200D_200E_206E_206D_200D_200B_206B_200C_206B_206B_206E_206B_202D_206D_206C_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static List _206B_200E_206C_206C_206D_206F_202D_202B_200F_206B_200E_200B_202A_202A_206E_206A_200E_206F_206F_200C_206A_200D_200D_206A_206B_202A_200F_206F_206F_206D_202B_200C_200B_202B_200B_202D_202B_200C_202E_200E_202E(QuestStep P_0) - { - return P_0.ItemsToGather; - } - - static byte _206A_202B_202E_200F_202E_206E_206F_200D_200F_200F_202C_206B_206B_200F_206E_202B_206E_200C_202C_206E_206E_206D_206B_200B_206B_202B_202A_206C_206A_200F_202B_206B_200D_206A_206B_200E_206C_202E_206E_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - - static NotSupportedException _202C_206F_200C_200C_206F_200D_202A_206B_200D_202A_206B_202A_200D_202C_202A_202A_202B_202B_200D_206E_202E_202A_206D_206F_200B_202B_200E_206E_200B_206E_200B_202D_200D_202B_206F_200B_206E_206F_206C_200C_202E() - { - return new NotSupportedException(); - } - } - - [IteratorStateMachine(typeof(_003CCreateAllTasks_003Ed__0))] - public IEnumerable CreateAllTasks(Questionable.Model.Quest quest, QuestSequence sequence, QuestStep step) - { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CCreateAllTasks_003Ed__0(-2) - { - _003C_003E3__quest = quest, - _003C_003E3__sequence = sequence, - _003C_003E3__step = step - }; - } - - IEnumerable ITaskFactory.CreateAllTasks(Questionable.Model.Quest quest, QuestSequence sequence, QuestStep step) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks - return this.CreateAllTasks(quest, sequence, step); } } - internal sealed record DelayedGatheringTask(GatheredItem GatheredItem, Questionable.Model.Quest Quest, byte Sequence) : ITask + internal sealed record DelayedGatheringTask(GatheredItem GatheredItem, Quest Quest, byte Sequence) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206E_206E_206C_200B_200C_200C_200E_206B_206D_206A_200E_202D_202A_200B_202D_206F_206A_206D_202A_202B_202A_200B_200E_206E_200F_202C_200F_202A_200B_202C_206D_206A_202A_200B_202D_206A_200E_200F_206A_206D_202E(typeof(DelayedGatheringTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(23, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1524160923)); - defaultInterpolatedStringHandler.AppendFormatted(_206E_200F_206D_202D_206D_202D_200E_202D_202E_200F_202B_202B_206B_202A_206E_202B_202A_200C_206D_202E_200B_200D_206B_202D_206C_200E_202A_206A_200D_200F_202C_206E_206D_200C_202A_206F_206C_202A_206B_200E_202E(GatheredItem)); - defaultInterpolatedStringHandler.AppendLiteral(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(424561659)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202C_206E_206B_200C_206C_200E_206A_206E_202A_206A_200B_202B_202D_202C_200C_200E_202D_202A_200C_206D_200E_206C_206B_200F_202D_200E_202C_206B_202E_200C_202D_202D_206D_206D_206D_202A_202A_200E_200C_200F_202E(); - _200C_206B_202C_200D_202B_202B_206B_202B_202D_206B_200C_206B_206D_200B_206E_202E_200B_200C_200B_200D_200D_200B_200B_202A_202C_202A_206B_200F_200C_206D_200D_206A_206B_200B_202B_200F_202A_202B_202D_206D_202E(builder, 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(872886747)); - _206B_200E_202B_200C_206C_206A_200B_200D_202A_206B_202B_206C_206E_202D_206A_206F_202C_206A_200C_206A_202A_202C_206A_206C_202A_206A_200E_202B_206B_202D_200B_202E_200D_206C_202B_202A_202D_200B_200B_206F_202E(builder, (object)GatheredItem); - _200C_206B_202C_200D_202B_202B_206B_202B_202D_206B_200C_206B_206D_200B_206E_202E_200B_200C_200B_200D_200D_200B_200B_202A_202C_202A_206B_200F_200C_206D_200D_206A_206B_200B_202B_200F_202A_202B_202D_206D_202E(builder, 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(-119074861)); - _206B_200E_202B_200C_206C_206A_200B_200D_202A_206B_202B_206C_206E_202D_206A_206F_202C_206A_200C_206A_202A_202C_206A_206C_202A_206A_200E_202B_206B_202D_200B_202E_200D_206C_202B_202A_202D_200B_200B_206F_202E(builder, (object)Quest); - _200C_206B_202C_200D_202B_202B_206B_202B_202D_206B_200C_206B_206D_200B_206E_202E_200B_200C_200B_200D_200D_200B_200B_202A_202C_202A_206B_200F_200C_206D_200D_206A_206B_200B_202B_200F_202A_202B_202D_206D_202E(builder, 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(-1883281888)); - _200C_206B_202C_200D_202B_202B_206B_202B_202D_206B_200C_206B_206D_200B_206E_202E_200B_200C_200B_200D_200D_200B_200B_202A_202C_202A_206B_200F_200C_206D_200D_206A_206B_200B_202B_200F_202A_202B_202D_206D_202E(builder, Sequence.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(DelayedGatheringTask? other) - { - int num = (((object)this == other) ? (-2134449600) : (-2134449596)); - while (true) - { - int num2 = num; - int num3 = -2134449598; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - num = ((!EqualityComparer.Default.Equals(GatheredItem, other.GatheredItem)) ? (-2134449595) : (-2134449598)); - break; - case 4: - return EqualityComparer.Default.Equals(Sequence, other.Sequence); - case 6: - num = (((object)other == null) ? (-2134449595) : (-2134449597)); - break; - case 7: - return false; - case 3: - num = -2134449596; - break; - case 1: - num = ((!_206C_206E_200D_200E_206F_206F_202E_200B_200C_206E_206F_206B_200F_202C_202D_200B_202D_202B_200B_206A_206D_206D_200D_206E_200F_200C_206A_202A_200D_202E_206A_206E_200B_206C_206D_206A_202D_206C_206F_206E_202E(EqualityContract, other.EqualityContract)) ? (-2134449595) : (-2134449593)); - break; - case 2: - return true; - case 0: - num = ((!EqualityComparer.Default.Equals(Quest, other.Quest)) ? (-2134449595) : (-2134449594)); - break; - } - } - } - - bool IEquatable.Equals(DelayedGatheringTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206E_206E_206C_200B_200C_200C_200E_206B_206D_206A_200E_202D_202A_200B_202D_206F_206A_206D_202A_202B_202A_200B_200E_206E_200F_202C_200F_202A_200B_202C_206D_206A_202A_200B_202D_206A_200E_200F_206A_206D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static uint _206E_200F_206D_202D_206D_202D_200E_202D_202E_200F_202B_202B_206B_202A_206E_202B_202A_200C_206D_202E_200B_200D_206B_202D_206C_200E_202A_206A_200D_200F_202C_206E_206D_200C_202A_206F_206C_202A_206B_200E_202E(GatheredItem P_0) - { - return P_0.ItemId; - } - - static void _202C_206E_206B_200C_206C_200E_206A_206E_202A_206A_200B_202B_202D_202C_200C_200E_202D_202A_200C_206D_200E_206C_206B_200F_202D_200E_202C_206B_202E_200C_202D_202D_206D_206D_206D_202A_202A_200E_200C_200F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200C_206B_202C_200D_202B_202B_206B_202B_202D_206B_200C_206B_206D_200B_206E_202E_200B_200C_200B_200D_200D_200B_200B_202A_202C_202A_206B_200F_200C_206D_200D_206A_206B_200B_202B_200F_202A_202B_202D_206D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206B_200E_202B_200C_206C_206A_200B_200D_202A_206B_202B_206C_206E_202D_206A_206F_202C_206A_200C_206A_202A_202C_206A_206C_202A_206A_200E_202B_206B_202D_200B_202E_200D_206C_202B_202A_202D_200B_200B_206F_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206C_206E_200D_200E_206F_206F_202E_200B_200C_206E_206F_206B_200F_202C_202D_200B_202D_202B_200B_206A_206D_206D_200D_206E_200F_200C_206A_202A_200D_202E_206A_206E_200B_206C_206D_206A_202D_206C_206F_206E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"Gathering(pending for {GatheredItem.ItemId})"; } } internal sealed class DelayedGatheringExecutor(GatheringPointRegistry gatheringPointRegistry, TerritoryData territoryData, IClientState clientState, IObjectTable objectTable, IServiceProvider serviceProvider, ILogger logger) : TaskExecutor(), IExtraTaskCreator, ITaskExecutor { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass9_0 - { - public DelayedGatheringExecutor _003C_003E4__this; - - public ushort territoryId; - - internal bool _003CCreateExtraTasks_003Eb__0() - { - return _200F_202D_200F_206F_206C_200D_200C_200B_206E_202A_202B_206E_200E_202E_200D_200F_206C_200D_206E_200B_200C_200D_202A_202E_200C_206E_202D_206C_206C_206A_206D_200C_202D_206B_206D_206A_200C_202E_206A_200C_202E(_003C_003E4__this.clientState) == territoryId; - } - - static uint _200F_202D_200F_206F_206C_200D_200C_200B_206E_202A_202B_206E_200E_202E_200D_200F_206C_200D_206E_200B_200C_200D_202A_202E_200C_206E_202D_206C_206C_206A_206D_200C_202D_206B_206D_206A_200C_202E_206A_200C_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - } - - [CompilerGenerated] - private sealed class _003CCreateExtraTasks_003Ed__9 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ITask _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - public DelayedGatheringExecutor _003C_003E4__this; - - private _003C_003Ec__DisplayClass9_0 _003C_003E8__1; - - private GatheringPointId _003CgatheringPointId_003E5__2; - - private GatheringRoot _003CgatheringRoot_003E5__3; - - private IDisposable _003C__003E5__4; - - private QuestSequence _003CgatheringSequence_003E5__5; - - private List.Enumerator _003C_003E7__wrap5; - - private IEnumerator _003C_003E7__wrap6; - - ITask IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CCreateExtraTasks_003Ed__9(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _200D_200C_202C_200F_200B_202E_206D_202D_200B_202D_206C_206D_200D_200D_206C_200C_206E_202C_206C_200D_200E_202B_200E_206D_200D_200F_206D_202D_202A_202A_206E_202E_202A_202A_200C_206F_206E_200E_206B_206C_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = -5; - int num3 = num; - int num4 = (((uint)(~(~num3 + num2)) <= 2u) ? 1123138263 : 1123138260); - while (true) - { - int num5 = num4; - num2 = 1123138261; - num3 = num5; - int num6 = num3 + num2; - int num7 = num3 & num2; - switch (num6 - (num7 + num7)) - { - default: - continue; - case 0: - num4 = 1123138260; - continue; - case 1: - num2 = 3; - num3 = num; - if ((uint)(~(~num3 + num2)) <= 1u) - { - num4 = 1123138263; - continue; - } - break; - case 2: - try - { - num2 = -5; - num3 = num; - num4 = (((uint)(~(~num3 + num2)) <= 1u) ? (-1825309648) : (-1825309647)); - while (true) - { - int num8 = num4; - num2 = -1825309648; - num3 = num8; - switch ((num3 | num2) - (num3 & num2)) - { - case 3: - goto end_IL_00a0; - case 1: - num2 = 3; - num3 = num; - num4 = (((uint)(~(~num3 + num2)) <= 1u) ? (-1825309648) : (-1825309645)); - break; - case 2: - num4 = -1825309647; - break; - case 0: - try - { - num4 = ((num == -5) ? 1981551720 : 1981551722); - while (true) - { - int num9 = num4; - num2 = 1981551723; - num3 = num9; - int num10 = num3 + num2; - int num11 = num3 & num2; - switch (num10 - (num11 + num11)) - { - case 0: - num4 = 1981551722; - break; - case 1: - num2 = 3; - num3 = num; - num4 = (((uint)(~(~num3 + num2)) <= 1u) ? 1981551720 : 1981551721); - break; - case 2: - goto end_IL_0128; - case 3: - try - { - } - finally - { - _003C_003Em__Finally3(); - } - goto end_IL_0128; - } - continue; - end_IL_0128: - break; - } - } - finally - { - _003C_003Em__Finally2(); - } - goto end_IL_00a0; - } - continue; - end_IL_00a0: - break; - } - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003C_003E8__1 = null; - _003CgatheringPointId_003E5__2 = null; - _003CgatheringRoot_003E5__3 = null; - _003C__003E5__4 = null; - _003CgatheringSequence_003E5__5 = null; - _003C_003E7__wrap5 = default(List.Enumerator); - _003C_003E7__wrap6 = null; - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - try - { - int num = _003C_003E1__state; - DelayedGatheringExecutor delayedGatheringExecutor = _003C_003E4__this; - int num2; - ITask current = default(ITask); - uint? num8 = default(uint?); - EClassJob valueOrDefault = default(EClassJob); - IPlayerCharacter playerCharacter; - switch (num) - { - default: - num2 = 89540057; - goto IL_0044; - case 4: - _003C_003E1__state = -5; - num2 = 89540053; - goto IL_0044; - case 5: - goto IL_027e; - case 7: - goto IL_02d2; - case 3: - goto IL_032f; - case 1: - goto IL_03e1; - case 0: - goto IL_0442; - case 6: - goto IL_05b7; - case 2: - goto IL_061c; - case 8: - break; - IL_0044: - while (true) - { - int num3 = num2; - int num4 = 89540036; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - EClassJob? obj; - EClassJob? eClassJob; - switch (num6 - (num7 + num7)) - { - case 7: - _003C_003E2__current = new Questionable.Controller.Steps.Interactions.Action.TriggerStatusIfMissing(EStatus.Triangulate, EAction.Triangulate); - _003C_003E1__state = 2; - return true; - case 2: - _003C_003E2__current = current; - _003C_003E1__state = 4; - return true; - case 27: - _003C_003Em__Finally2(); - _003C_003E7__wrap5 = default(List.Enumerator); - _003CgatheringSequence_003E5__5 = null; - _003C_003Em__Finally1(); - _003C__003E5__4 = null; - _003C_003E8__1.territoryId = _200C_202D_202B_202C_202D_202B_200B_202D_206B_206E_202C_206D_202B_206E_202D_206A_200E_206E_206D_206F_200F_202E_200D_200B_202A_206D_206F_200F_200C_200C_206F_206A_202E_206B_202D_200D_206F_202D_200B_202E_202E(_206A_202E_206E_206A_200B_202A_206C_206C_200B_200F_200B_206A_200E_206F_202C_200E_202C_202C_200B_206A_202A_202E_206A_206A_206E_200D_202A_200E_202A_206A_206B_200B_206E_200F_202A_206D_206F_206A_200C_206C_202E(_003CgatheringRoot_003E5__3).Last()); - _003C_003E2__current = new WaitCondition.Task(() => _003C_003Ec__DisplayClass9_0._200F_202D_200F_206F_206C_200D_200C_200B_206E_202A_202B_206E_200E_202E_200D_200F_206C_200D_206E_200B_200C_200D_202A_202E_200C_206E_202D_206C_206C_206A_206D_200C_202D_206B_206D_206A_200C_202E_206A_200C_202E(_003C_003E8__1._003C_003E4__this.clientState) == _003C_003E8__1.territoryId, _200E_206E_206E_200F_202B_200F_200D_202E_200D_202A_206B_202A_206F_202D_202E_202D_200B_200B_206B_206E_206E_206D_206C_206A_200C_206B_206B_202B_206E_206B_200E_202E_206E_206A_202A_206D_202D_200B_206A_202A_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-344536108), delayedGatheringExecutor.territoryData.GetNameAndId(_003C_003E8__1.territoryId), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295))); - _003C_003E1__state = 5; - return true; - case 0: - _003C_003E2__current = new SkipMarker(); - _003C_003E1__state = 3; - return true; - case 19: - num2 = 89540057; - break; - case 6: - { - QuestStep current2 = _003C_003E7__wrap5.Current; - _003C_003E7__wrap6 = delayedGatheringExecutor.serviceProvider.GetRequiredService().CreateTasks(delayedGatheringExecutor.Task.Quest, delayedGatheringExecutor.Task.Sequence, _003CgatheringSequence_003E5__5, current2).GetEnumerator(); - _003C_003E1__state = -5; - num2 = 89540053; - break; - } - case 12: - goto end_IL_0044; - case 28: - goto IL_027e; - case 17: - goto IL_02aa; - case 3: - goto IL_02d2; - case 21: - goto IL_02fe; - case 14: - goto IL_032f; - case 11: - { - _003C__003E5__4 = delayedGatheringExecutor.logger.BeginScope(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(2071352719)); - _003C_003E1__state = -3; - QuestSequence questSequence = _206C_200E_200D_200C_206C_202B_202B_200F_202A_206F_200B_200B_202D_200C_206A_200D_206D_206F_200F_202B_206F_206D_202B_206D_200C_206B_206F_200F_206A_206B_206C_202C_202C_200E_200B_206E_200E_206C_200C_206B_202E(); - _202E_200E_200D_202E_206D_202E_202B_202E_202E_206F_200D_200B_200E_206B_206B_200B_202D_200C_206B_206A_206F_206F_206D_202C_202D_206F_206C_202D_200C_200C_202A_206B_206E_200E_206A_206A_200C_202A_206F_202E(questSequence, (byte)0); - _206C_206E_202E_202A_200D_202D_202D_200D_200B_206A_206A_206C_202C_202D_206C_206A_202A_202A_206A_200D_202B_202C_206F_200C_200C_200D_202A_200B_206B_200F_206D_200C_206E_200B_206E_202E_206B_200B_202B_200D_202E(questSequence, _206A_202E_206E_206A_200B_202A_206C_206C_200B_200F_200B_206A_200E_206F_202C_200E_202C_202C_200B_206A_202A_202E_206A_206A_206E_200D_202A_200E_202A_206A_206B_200B_206E_200F_202A_206D_206F_206A_200C_206C_202E(_003CgatheringRoot_003E5__3)); - _003CgatheringSequence_003E5__5 = questSequence; - _003C_003E7__wrap5 = _202C_202E_206B_202A_206D_206E_202B_200D_206E_202D_206C_206C_200D_200C_200E_200B_200B_206E_206C_202C_206C_206A_200B_202C_206F_206F_206F_200E_206D_206F_206C_206B_202D_202C_206C_206D_200E_206F_206D_200D_202E(_003CgatheringSequence_003E5__5).GetEnumerator(); - _003C_003E1__state = -4; - num2 = 89540050; - break; - } - case 16: - return false; - case 5: - obj = null; - goto IL_04cb; - case 23: - goto IL_03e1; - case 26: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(34, 1); - defaultInterpolatedStringHandler2.AppendLiteral(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(671015877)); - defaultInterpolatedStringHandler2.AppendFormatted(_003CgatheringPointId_003E5__2); - throw new TaskException(defaultInterpolatedStringHandler2.ToStringAndClear()); - } - case 8: - _003C_003Em__Finally3(); - _003C_003E7__wrap6 = null; - num2 = 89540050; - break; - case 4: - goto IL_0442; - case 9: - obj = (EClassJob)num8.GetValueOrDefault(); - goto IL_04cb; - case 30: - goto IL_0514; - case 15: - _003C_003E2__current = new Questionable.Controller.Steps.Interactions.Action.TriggerStatusIfMissing(EStatus.Prospect, EAction.Prospect); - _003C_003E1__state = 1; - return true; - case 10: - goto IL_0577; - case 20: - goto IL_0597; - case 18: - goto IL_05b7; - case 22: - goto IL_05f4; - case 1: - goto IL_061c; - case 24: - goto IL_062f; - case 13: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(34, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-1028708086)); - defaultInterpolatedStringHandler.AppendFormatted(_200B_206D_202A_202B_206A_202E_202D_200F_200F_202D_202D_200D_202C_206F_206B_206F_202E_206B_206C_206E_206F_200E_206D_206F_200F_206E_200F_202B_206F_206B_206E_200B_200F_206B_206D_206E_206A_200D_200F_206F_202E(delayedGatheringExecutor.Task.GatheredItem)); - throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 29: - return false; - case 25: - goto end_IL_000f; - IL_04cb: - eClassJob = obj; - valueOrDefault = eClassJob.GetValueOrDefault(); - num2 = (delayedGatheringExecutor.gatheringPointRegistry.TryGetGatheringPointId(_200B_206D_202A_202B_206A_202E_202D_200F_200F_202D_202D_200D_202C_206F_206B_206F_202E_206B_206C_206E_206F_200E_206D_206F_200F_206E_200F_202B_206F_206B_206E_200B_200F_206B_206D_206E_206A_200D_200F_206F_202E(delayedGatheringExecutor.Task.GatheredItem), valueOrDefault, out _003CgatheringPointId_003E5__2) ? 89540058 : 89540041); - break; - } - continue; - IL_062f: - num2 = ((!delayedGatheringExecutor.HasRequiredItems(delayedGatheringExecutor.Task.GatheredItem)) ? 89540048 : 89540052); - continue; - IL_02aa: - num2 = (_202B_202A_206A_206E_202B_206C_200D_200D_200F_206F_200E_202A_206D_202A_200B_206F_200C_202A_200F_200C_206E_206F_206C_202C_200B_202C_200C_200F_206E_202C_200D_200D_200D_202B_202A_202D_202D_202B_202B_206A_202E((IEnumerator)_003C_003E7__wrap6) ? 89540049 : 89540044); - continue; - IL_0514: - num2 = (delayedGatheringExecutor.gatheringPointRegistry.TryGetGatheringPoint(_003CgatheringPointId_003E5__2, out _003CgatheringRoot_003E5__3) ? 89540060 : 89540062); - continue; - IL_05f4: - num2 = (_003C_003E7__wrap5.MoveNext() ? 89540034 : 89540063); - continue; - IL_0577: - num2 = ((valueOrDefault != EClassJob.Botanist) ? 89540047 : 89540035); - continue; - IL_02fe: - current = _003C_003E7__wrap6.Current; - num2 = ((!(current is WaitAtEnd.NextStep)) ? 89540038 : 89540036); - continue; - IL_0597: - num2 = ((valueOrDefault != EClassJob.Miner) ? 89540046 : 89540043); - continue; - end_IL_0044: - break; - } - goto case 4; - IL_061c: - _003C_003E1__state = -1; - num2 = 89540047; - goto IL_0044; - IL_05b7: - _003C_003E1__state = -1; - _003C_003E2__current = new GatheringTask(_003CgatheringPointId_003E5__2, delayedGatheringExecutor.Task.GatheredItem); - _003C_003E1__state = 7; - return true; - IL_0442: - _003C_003E1__state = -1; - _003C_003E8__1 = new _003C_003Ec__DisplayClass9_0(); - _003C_003E8__1._003C_003E4__this = _003C_003E4__this; - playerCharacter = _206A_202E_200F_206A_206D_202C_206E_202C_206A_206F_206A_200F_202B_206D_202C_200F_206C_202A_200C_206D_206A_206F_200B_202B_202C_200D_206B_202A_200F_202A_200C_200B_206A_206F_202B_202E_200C_200F_206D_202E_202E(delayedGatheringExecutor.objectTable); - num8 = ((playerCharacter != null) ? new uint?(_202A_206A_200F_200B_206A_206C_200D_202C_206F_206C_200B_200C_202D_206B_206B_200B_202A_206A_206F_206A_202B_200B_206D_206E_206D_202A_206A_200F_200D_202E_202A_200C_200D_200D_200F_200B_200B_200C_200E_206F_202E((ICharacter)playerCharacter).RowId) : ((uint?)null)); - num2 = (num8.HasValue ? 89540045 : 89540033); - goto IL_0044; - IL_032f: - _003C_003E1__state = -5; - num2 = 89540053; - goto IL_0044; - IL_02d2: - _003C_003E1__state = -1; - _003C_003E2__current = new WaitAtEnd.WaitDelay(); - _003C_003E1__state = 8; - return true; - IL_03e1: - _003C_003E1__state = -1; - num2 = 89540047; - goto IL_0044; - IL_027e: - _003C_003E1__state = -1; - _003C_003E2__current = new WaitNavmesh.Task(); - _003C_003E1__state = 6; - return true; - end_IL_000f: - break; - } - _003C_003E1__state = -1; - return false; - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - int num = ((_003C__003E5__4 == null) ? (-1005292741) : (-1005292744)); - while (true) - { - int num2 = num; - int num3 = -1005292742; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return; - case 2: - _202E_206D_200E_202A_200F_200E_202C_202E_202E_202E_206A_202E_200B_206C_200B_206D_200B_202D_206B_202D_206B_206E_206C_206F_206A_206C_206D_200C_206A_200F_200D_206B_200E_206B_206F_206E_206E_202E_206F_200E_202E(_003C__003E5__4); - num = -1005292741; - break; - case 0: - num = -1005292744; - break; - } - } - } - - private void _003C_003Em__Finally2() - { - _003C_003E1__state = -3; - ((IDisposable)_003C_003E7__wrap5/*cast due to .constrained prefix*/).Dispose(); - } - - private void _003C_003Em__Finally3() - { - _003C_003E1__state = -4; - int num = ((_003C_003E7__wrap6 == null) ? (-1601712229) : (-1601712230)); - while (true) - { - int num2 = num; - int num3 = -1601712229; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -1601712230; - break; - case 1: - _202E_206D_200E_202A_200F_200E_202C_202E_202E_202E_206A_202E_200B_206C_200B_206D_200B_202D_206B_202D_206B_206E_206C_206F_206A_206C_206D_200C_206A_200F_200D_206B_200E_206B_206F_206E_206E_202E_206F_200E_202E((IDisposable)_003C_003E7__wrap6); - num = -1601712229; - break; - case 0: - return; - } - } - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _206B_200C_202A_202C_206F_202E_202D_206F_202D_202D_200F_206B_200E_202C_206E_200D_200F_200B_200D_200B_202D_202D_200F_202C_200D_206D_200F_200F_206D_200C_206A_206B_202D_202C_202D_202D_202A_206A_200F_202D_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? 323197088 : 323197093); - _003CCreateExtraTasks_003Ed__9 result = default(_003CCreateExtraTasks_003Ed__9); - while (true) - { - int num2 = num; - int num3 = 323197089; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 323197093; - break; - case 2: - return result; - case 4: - num = ((_003C_003El__initialThreadId != _200D_200C_202C_200F_200B_202E_206D_202D_200B_202D_206C_206D_200D_200D_206C_200C_206E_202C_206C_200D_200E_202B_200E_206D_200D_200F_206D_202D_202A_202A_206E_202E_202A_202A_200C_206F_206E_200E_206B_206C_202E()) ? 323197088 : 323197090); - break; - case 3: - _003C_003E1__state = 0; - result = this; - num = 323197091; - break; - case 1: - result = new _003CCreateExtraTasks_003Ed__9(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = 323197091; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _200D_200C_202C_200F_200B_202E_206D_202D_200B_202D_206C_206D_200D_200D_206C_200C_206E_202C_206C_200D_200E_202B_200E_206D_200D_200F_206D_202D_202A_202A_206E_202E_202A_202A_200C_206F_206E_200E_206B_206C_202E() - { - return Environment.CurrentManagedThreadId; - } - - static IPlayerCharacter _206A_202E_200F_206A_206D_202C_206E_202C_206A_206F_206A_200F_202B_206D_202C_200F_206C_202A_200C_206D_206A_206F_200B_202B_202C_200D_206B_202A_200F_202A_200C_200B_206A_206F_202B_202E_200C_200F_206D_202E_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static RowRef _202A_206A_200F_200B_206A_206C_200D_202C_206F_206C_200B_200C_202D_206B_206B_200B_202A_206A_206F_206A_202B_200B_206D_206E_206D_202A_206A_200F_200D_202E_202A_200C_200D_200D_200F_200B_200B_200C_200E_206F_202E(ICharacter P_0) - { - return P_0.ClassJob; - } - - static uint _200B_206D_202A_202B_206A_202E_202D_200F_200F_202D_202D_200D_202C_206F_206B_206F_202E_206B_206C_206E_206F_200E_206D_206F_200F_206E_200F_202B_206F_206B_206E_200B_200F_206B_206D_206E_206A_200D_200F_206F_202E(GatheredItem P_0) - { - return P_0.ItemId; - } - - static QuestSequence _206C_200E_200D_200C_206C_202B_202B_200F_202A_206F_200B_200B_202D_200C_206A_200D_206D_206F_200F_202B_206F_206D_202B_206D_200C_206B_206F_200F_206A_206B_206C_202C_202C_200E_200B_206E_200E_206C_200C_206B_202E() - { - return new QuestSequence(); - } - - static void _202E_200E_200D_202E_206D_202E_202B_202E_202E_206F_200D_200B_200E_206B_206B_200B_202D_200C_206B_206A_206F_206F_206D_202C_202D_206F_206C_202D_200C_200C_202A_206B_206E_200E_206A_206A_200C_202A_206F_202E(QuestSequence P_0, byte P_1) - { - P_0.Sequence = P_1; - } - - static List _206A_202E_206E_206A_200B_202A_206C_206C_200B_200F_200B_206A_200E_206F_202C_200E_202C_202C_200B_206A_202A_202E_206A_206A_206E_200D_202A_200E_202A_206A_206B_200B_206E_200F_202A_206D_206F_206A_200C_206C_202E(GatheringRoot P_0) - { - return P_0.Steps; - } - - static void _206C_206E_202E_202A_200D_202D_202D_200D_200B_206A_206A_206C_202C_202D_206C_206A_202A_202A_206A_200D_202B_202C_206F_200C_200C_200D_202A_200B_206B_200F_206D_200C_206E_200B_206E_202E_206B_200B_202B_200D_202E(QuestSequence P_0, List P_1) - { - P_0.Steps = P_1; - } - - static List _202C_202E_206B_202A_206D_206E_202B_200D_206E_202D_206C_206C_200D_200C_200E_200B_200B_206E_206C_202C_206C_206A_200B_202C_206F_206F_206F_200E_206D_206F_206C_206B_202D_202C_206C_206D_200E_206F_206D_200D_202E(QuestSequence P_0) - { - return P_0.Steps; - } - - static bool _202B_202A_206A_206E_202B_206C_200D_200D_200F_206F_200E_202A_206D_202A_200B_206F_200C_202A_200F_200C_206E_206F_206C_202C_200B_202C_200C_200F_206E_202C_200D_200D_200D_202B_202A_202D_202D_202B_202B_206A_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static ushort _200C_202D_202B_202C_202D_202B_200B_202D_206B_206E_202C_206D_202B_206E_202D_206A_200E_206E_206D_206F_200F_202E_200D_200B_202A_206D_206F_200F_200C_200C_206F_206A_202E_206B_202D_200D_206F_202D_200B_202E_202E(QuestStep P_0) - { - return P_0.TerritoryId; - } - - static string _200E_206E_206E_200F_202B_200F_200D_202E_200D_202A_206B_202A_206F_202D_202E_202D_200B_200B_206B_206E_206E_206D_206C_206A_200C_206B_206B_202B_206E_206B_200E_202E_206E_206A_202A_206D_202D_200B_206A_202A_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static void _202E_206D_200E_202A_200F_200E_202C_202E_202E_202E_206A_202E_200B_206C_200B_206D_200B_202D_206B_202D_206B_206E_206C_206F_206A_206C_206D_200C_206A_200F_200D_206B_200E_206B_206F_206E_206E_202E_206F_200E_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static NotSupportedException _206B_200C_202A_202C_206F_202E_202D_206F_202D_202D_200F_206B_200E_202C_206E_200D_200F_200B_200D_200B_202D_202D_200F_202C_200D_206D_200F_200F_206D_200C_206A_206B_202D_202C_202D_202D_202A_206A_200F_202D_202E() - { - return new NotSupportedException(); - } - } - protected override bool Start() { return true; @@ -1023,221 +54,84 @@ internal static class Gather return ETaskResult.CreateNewTasks; } - [IteratorStateMachine(typeof(_003CCreateExtraTasks_003Ed__9))] public IEnumerable CreateExtraTasks() { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CCreateExtraTasks_003Ed__9(-2) + EClassJob valueOrDefault = ((EClassJob?)objectTable.LocalPlayer?.ClassJob.RowId).GetValueOrDefault(); + if (!gatheringPointRegistry.TryGetGatheringPointId(base.Task.GatheredItem.ItemId, valueOrDefault, out GatheringPointId gatheringPointId)) { - _003C_003E4__this = this - }; - } - - IEnumerable IExtraTaskCreator.CreateExtraTasks() - { - //ILSpy generated this explicit interface implementation from .override directive in CreateExtraTasks - return this.CreateExtraTasks(); + throw new TaskException($"No gathering point found for item {base.Task.GatheredItem.ItemId}"); + } + if (!gatheringPointRegistry.TryGetGatheringPoint(gatheringPointId, out GatheringRoot gatheringRoot)) + { + throw new TaskException($"No path found for gathering point {gatheringPointId}"); + } + if (HasRequiredItems(base.Task.GatheredItem)) + { + yield break; + } + switch (valueOrDefault) + { + case EClassJob.Miner: + yield return new Questionable.Controller.Steps.Interactions.Action.TriggerStatusIfMissing(EStatus.Prospect, EAction.Prospect); + break; + case EClassJob.Botanist: + yield return new Questionable.Controller.Steps.Interactions.Action.TriggerStatusIfMissing(EStatus.Triangulate, EAction.Triangulate); + break; + } + using (logger.BeginScope("Gathering(inner)")) + { + QuestSequence gatheringSequence = new QuestSequence + { + Sequence = 0, + Steps = gatheringRoot.Steps + }; + foreach (QuestStep step in gatheringSequence.Steps) + { + foreach (ITask item in serviceProvider.GetRequiredService().CreateTasks(base.Task.Quest, base.Task.Sequence, gatheringSequence, step)) + { + if (item is WaitAtEnd.NextStep) + { + yield return new SkipMarker(); + } + else + { + yield return item; + } + } + } + } + ushort territoryId = gatheringRoot.Steps.Last().TerritoryId; + yield return new WaitCondition.Task(() => clientState.TerritoryType == territoryId, "Wait(territory: " + territoryData.GetNameAndId(territoryId) + ")"); + yield return new WaitNavmesh.Task(); + yield return new GatheringTask(gatheringPointId, base.Task.GatheredItem); + yield return new WaitAtEnd.WaitDelay(); } private unsafe bool HasRequiredItems(GatheredItem itemToGather) { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr == null) ? 99162619 : 99162616); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 99162618; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return false; - case 2: - return ptr->GetInventoryItemCount(_200F_200C_202C_202B_200F_206F_202C_200B_202E_206E_200C_206A_200F_202E_200B_200E_202C_200F_200F_206D_202D_200E_206C_206E_200C_206C_202A_206A_202C_202D_200D_202D_206C_206A_200F_206D_202A_206C_202C_200C_202E(itemToGather), isHq: false, checkEquipped: true, checkArmory: true, (short)_202D_206C_202A_206D_200E_202D_200D_200E_202B_200D_202B_200C_200C_200E_200C_206D_200C_200B_200D_202D_202E_200C_202A_202D_202D_206F_206C_206E_200F_202A_200D_200E_206A_206E_200D_200D_200D_206E_206C_202D_202E(itemToGather)) >= _206E_202E_202A_206C_202A_206B_206F_202B_206F_202C_200D_202D_200B_202D_206F_202D_200F_200F_202B_202C_206A_206C_200E_206E_206E_202D_206A_202B_206D_206C_200E_202E_202A_206E_206A_206D_200B_206A_200D_202E_202E(itemToGather); - case 0: - goto IL_006f; - } - continue; - IL_006f: - num = 99162616; + return ptr->GetInventoryItemCount(itemToGather.ItemId, isHq: false, checkEquipped: true, checkArmory: true, (short)itemToGather.Collectability) >= itemToGather.ItemCount; } + return false; } public override bool ShouldInterruptOnDamage() { return false; } - - static uint _200F_200C_202C_202B_200F_206F_202C_200B_202E_206E_200C_206A_200F_202E_200B_200E_202C_200F_200F_206D_202D_200E_206C_206E_200C_206C_202A_206A_202C_202D_200D_202D_206C_206A_200F_206D_202A_206C_202C_200C_202E(GatheredItem P_0) - { - return P_0.ItemId; - } - - static ushort _202D_206C_202A_206D_200E_202D_200D_200E_202B_200D_202B_200C_200C_200E_200C_206D_200C_200B_200D_202D_202E_200C_202A_202D_202D_206F_206C_206E_200F_202A_200D_200E_206A_206E_200D_200D_200D_206E_206C_202D_202E(GatheredItem P_0) - { - return P_0.Collectability; - } - - static int _206E_202E_202A_206C_202A_206B_206F_202B_206F_202C_200D_202D_200B_202D_206F_202D_200F_200F_202B_202C_206A_206C_200E_206E_206E_202D_206A_202B_206D_206C_200E_202E_202A_206E_206A_206D_200B_206A_200D_202E_202E(GatheredItem P_0) - { - return P_0.ItemCount; - } } internal sealed record GatheringTask(GatheringPointId gatheringPointId, GatheredItem gatheredItem) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202B_206D_206F_206D_206B_202B_206A_202E_206A_200F_200D_200E_200C_200F_202C_200B_202A_206F_202C_202B_202E_206F_200C_206D_206E_202A_202D_202B_202C_200F_200B_206E_202C_200D_202B_200D_206C_202C_200F_206D_202E(typeof(GatheringTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - int num = ((_200E_202D_202E_200B_200B_202A_200E_200F_206E_202A_200B_206D_200F_206F_206B_202B_202C_200C_200B_206F_206B_206E_206C_202E_206F_200B_202D_200E_206A_200D_202A_200B_200C_202C_206A_200B_206B_206D_200D_206A_202E(gatheredItem) != 0) ? 728893262 : 728893261); - while (true) + if (gatheredItem.Collectability != 0) { - int num2 = num; - int num3 = 728893263; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004e; - case 1: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(12, 4); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-327203269)); - defaultInterpolatedStringHandler2.AppendFormatted(_202D_200E_202E_200B_202D_206B_200C_206B_202D_200F_200D_206C_200E_206C_206E_202E_206F_202C_200B_206C_202D_200F_202E_200D_206B_206E_200D_202A_200B_206B_202B_206A_206E_202B_200F_206E_206E_202A_200D_206F_202E(gatheredItem)); - defaultInterpolatedStringHandler2.AppendLiteral(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(-208532066)); - defaultInterpolatedStringHandler2.AppendFormatted(_206A_202C_206F_202A_200F_200C_200E_202B_200F_206B_206F_200E_200E_200F_206B_200B_202D_206C_202D_200E_202C_200E_206B_202A_200D_202C_200D_206A_206C_202E_200E_202C_206F_202E_206B_206E_206A_206F_202A_200C_202E(gatheredItem)); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(751790982)); - defaultInterpolatedStringHandler2.AppendFormatted(_206A_206E_200E_202C_200D_206C_200E_200C_202E_202B_202C_206D_206F_206E_202B_200B_206F_202D_206D_200D_206F_206D_200D_200D_202E_202B_206E_202C_206F_202D_202A_200D_206C_202C_202A_200F_206C_200C_206F_200F_202E(SeIconChar.Collectible)); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-324914973)); - defaultInterpolatedStringHandler2.AppendFormatted(_200E_202D_202E_200B_200B_202A_200E_200F_206E_202A_200B_206D_200F_206F_206B_202B_202C_200C_200B_206F_206B_206E_206C_202E_206F_200B_202D_200E_206A_200D_202A_200B_200C_202C_206A_200B_206B_206D_200D_206A_202E(gatheredItem)); - defaultInterpolatedStringHandler2.AppendLiteral(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(424561659)); - return defaultInterpolatedStringHandler2.ToStringAndClear(); - } - case 2: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(10, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(426601948)); - defaultInterpolatedStringHandler.AppendFormatted(_202D_200E_202E_200B_202D_206B_200C_206B_202D_200F_200D_206C_200E_206C_206E_202E_206F_202C_200B_206C_202D_200F_202E_200D_206B_206E_200D_202A_200B_206B_202B_206A_206E_202B_200F_206E_206E_202A_200D_206F_202E(gatheredItem)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1106455763)); - defaultInterpolatedStringHandler.AppendFormatted(_206A_202C_206F_202A_200F_200C_200E_202B_200F_206B_206F_200E_200E_200F_206B_200B_202D_206C_202D_200E_202C_200E_206B_202A_200D_202C_200D_206A_206C_202E_200E_202C_206F_202E_206B_206E_206A_206F_202A_200C_202E(gatheredItem)); - defaultInterpolatedStringHandler.AppendLiteral(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(444206578)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - } - continue; - IL_004e: - num = 728893261; + return $"Gather({gatheredItem.ItemCount}x {gatheredItem.ItemId} {SeIconChar.Collectible.ToIconString()} {gatheredItem.Collectability})"; } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202C_202C_206A_206E_200C_200E_200D_200F_200F_206C_200F_206F_200B_202A_200E_206F_202E_206D_206D_202D_206F_206A_202C_202C_200E_202E_206F_202E_206A_200D_200E_200D_200F_200F_200D_202B_202C_200D_202E_202C_202E(); - _200D_202E_200C_206E_206D_202C_202E_206F_200B_200F_206F_202D_206B_202B_206D_200F_206F_202B_202D_200B_200C_202A_206B_206D_200C_200C_206D_206F_200B_200E_206F_206A_206D_206A_200C_206E_200D_202C_202A_202C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(840646262)); - _200E_202D_200B_206F_202B_202E_202C_200B_206A_202C_202A_200F_202C_206D_206D_206F_200E_202D_206F_202B_202C_206A_206B_202C_206B_200B_206E_206E_200F_200F_206D_200C_206F_200C_202B_200E_206F_200F_200F_206D_202E(builder, (object)gatheringPointId); - _200D_202E_200C_206E_206D_202C_202E_206F_200B_200F_206F_202D_206B_202B_206D_200F_206F_202B_202D_200B_200C_202A_206B_206D_200C_200C_206D_206F_200B_200E_206F_206A_206D_206A_200C_206E_200D_202C_202A_202C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1356593095)); - _200E_202D_200B_206F_202B_202E_202C_200B_206A_202C_202A_200F_202C_206D_206D_206F_200E_202D_206F_202B_202C_206A_206B_202C_206B_200B_206E_206E_200F_200F_206D_200C_206F_200C_202B_200E_206F_200F_200F_206D_202E(builder, (object)gatheredItem); - return true; - } - - [CompilerGenerated] - public bool Equals(GatheringTask? other) - { - int num = (((object)this == other) ? 1583305302 : 1583305297); - while (true) - { - int num2 = num; - int num3 = 1583305303; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = 1583305297; - break; - case 1: - return true; - case 6: - num = (((object)other == null) ? 1583305298 : 1583305299); - break; - case 4: - num = ((!_200F_200B_200B_202D_202B_202A_200E_206E_206E_202B_206E_202E_200E_206C_200B_202B_202C_206D_202D_206B_202A_206C_206B_200B_202B_206F_206F_206E_200E_202D_200C_202E_206D_206E_200B_202A_200F_206B_200C_206D_202E(EqualityContract, other.EqualityContract)) ? 1583305298 : 1583305301); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(gatheringPointId, other.gatheringPointId)) ? 1583305298 : 1583305303); - break; - case 0: - return EqualityComparer.Default.Equals(gatheredItem, other.gatheredItem); - case 5: - return false; - } - } - } - - bool IEquatable.Equals(GatheringTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202B_206D_206F_206D_206B_202B_206A_202E_206A_200F_200D_200E_200C_200F_202C_200B_202A_206F_202C_202B_202E_206F_200C_206D_206E_202A_202D_202B_202C_200F_200B_206E_202C_200D_202B_200D_206C_202C_200F_206D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static ushort _200E_202D_202E_200B_200B_202A_200E_200F_206E_202A_200B_206D_200F_206F_206B_202B_202C_200C_200B_206F_206B_206E_206C_202E_206F_200B_202D_200E_206A_200D_202A_200B_200C_202C_206A_200B_206B_206D_200D_206A_202E(GatheredItem P_0) - { - return P_0.Collectability; - } - - static int _202D_200E_202E_200B_202D_206B_200C_206B_202D_200F_200D_206C_200E_206C_206E_202E_206F_202C_200B_206C_202D_200F_202E_200D_206B_206E_200D_202A_200B_206B_202B_206A_206E_202B_200F_206E_206E_202A_200D_206F_202E(GatheredItem P_0) - { - return P_0.ItemCount; - } - - static uint _206A_202C_206F_202A_200F_200C_200E_202B_200F_206B_206F_200E_200E_200F_206B_200B_202D_206C_202D_200E_202C_200E_206B_202A_200D_202C_200D_206A_206C_202E_200E_202C_206F_202E_206B_206E_206A_206F_202A_200C_202E(GatheredItem P_0) - { - return P_0.ItemId; - } - - static string _206A_206E_200E_202C_200D_206C_200E_200C_202E_202B_202C_206D_206F_206E_202B_200B_206F_202D_206D_200D_206F_206D_200D_200D_202E_202B_206E_202C_206F_202D_202A_200D_206C_202C_202A_200F_206C_200C_206F_200F_202E(SeIconChar P_0) - { - return P_0.ToIconString(); - } - - static void _202C_202C_206A_206E_200C_200E_200D_200F_200F_206C_200F_206F_200B_202A_200E_206F_202E_206D_206D_202D_206F_206A_202C_202C_200E_202E_206F_202E_206A_200D_200E_200D_200F_200F_200D_202B_202C_200D_202E_202C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200D_202E_200C_206E_206D_202C_202E_206F_200B_200F_206F_202D_206B_202B_206D_200F_206F_202B_202D_200B_200C_202A_206B_206D_200C_200C_206D_206F_200B_200E_206F_206A_206D_206A_200C_206E_200D_202C_202A_202C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200E_202D_200B_206F_202B_202E_202C_200B_206A_202C_202A_200F_202C_206D_206D_206F_200E_202D_206F_202B_202C_206A_206B_202C_206B_200B_206E_206E_200F_200F_206D_200C_206F_200C_202B_200E_206F_200F_200F_206D_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200F_200B_200B_202D_202B_202A_200E_206E_206E_202B_206E_202E_200E_206C_200B_202B_202C_206D_202D_206B_202A_206C_206B_200B_202B_206F_206F_206E_200E_202D_200C_202E_206D_206E_200B_202A_200F_206B_200C_206D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"Gather({gatheredItem.ItemCount}x {gatheredItem.ItemId})"; } } @@ -1245,30 +139,16 @@ internal static class Gather { protected override bool Start() { - return gatheringController.Start(new GatheringController.GatheringRequest(base.Task.gatheringPointId, _200F_202B_202E_206C_206E_202B_206B_202A_202B_206D_200B_202A_202D_200D_200E_202D_200E_206E_202A_202E_206A_200D_202B_202B_202D_206B_202A_206C_200E_200C_202E_202A_200D_200D_200C_206F_200B_200C_200C_206E_202E(base.Task.gatheredItem), _200C_202D_202B_200C_202B_202E_200C_202B_200D_202A_206D_206A_200D_202B_202D_206C_202B_200D_200E_202E_202A_200C_202C_202A_200D_200C_200B_206C_206E_202E_202B_200B_200E_200D_206B_200E_206D_206D_206A_200F_202E(base.Task.gatheredItem), _200F_206D_200B_206E_200D_200B_202B_206F_206F_206C_200E_206C_206C_206E_206F_202A_202D_206F_206B_206C_202E_202D_200D_200C_206C_206F_202C_200F_200F_202B_206F_202B_200F_206F_202C_200D_202A_206E_206B_206E_202E(base.Task.gatheredItem), _200C_200C_202D_200B_202A_206A_200D_206C_200C_202A_206F_206C_206B_206A_202D_202A_206E_202C_202A_202B_202B_202C_200F_202E_202B_202C_200C_202D_200C_202E_200C_202E_206B_200F_206D_200B_200B_202E_206A_200C_202E(base.Task.gatheredItem))); + return gatheringController.Start(new GatheringController.GatheringRequest(base.Task.gatheringPointId, base.Task.gatheredItem.ItemId, base.Task.gatheredItem.AlternativeItemId, base.Task.gatheredItem.ItemCount, base.Task.gatheredItem.Collectability)); } public override ETaskResult Update() { - int num = ((gatheringController.Update() != GatheringController.EStatus.Complete) ? 947495587 : 947495584); - while (true) + if (gatheringController.Update() == GatheringController.EStatus.Complete) { - int num2 = num; - int num3 = 947495585; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004c; - case 2: - return ETaskResult.StillRunning; - case 1: - return ETaskResult.TaskComplete; - } - continue; - IL_004c: - num = 947495584; + return ETaskResult.TaskComplete; } + return ETaskResult.StillRunning; } public bool OnErrorToast(SeString message) @@ -1278,44 +158,17 @@ internal static class Gather return isHandled; } - bool IToastAware.OnErrorToast(SeString message) - { - //ILSpy generated this explicit interface implementation from .override directive in OnErrorToast - return this.OnErrorToast(message); - } - public override bool ShouldInterruptOnDamage() { return false; } - - static uint _200F_202B_202E_206C_206E_202B_206B_202A_202B_206D_200B_202A_202D_200D_200E_202D_200E_206E_202A_202E_206A_200D_202B_202B_202D_206B_202A_206C_200E_200C_202E_202A_200D_200D_200C_206F_200B_200C_200C_206E_202E(GatheredItem P_0) - { - return P_0.ItemId; - } - - static uint _200C_202D_202B_200C_202B_202E_200C_202B_200D_202A_206D_206A_200D_202B_202D_206C_202B_200D_200E_202E_202A_200C_202C_202A_200D_200C_200B_206C_206E_202E_202B_200B_200E_200D_206B_200E_206D_206D_206A_200F_202E(GatheredItem P_0) - { - return P_0.AlternativeItemId; - } - - static int _200F_206D_200B_206E_200D_200B_202B_206F_206F_206C_200E_206C_206C_206E_206F_202A_202D_206F_206B_206C_202E_202D_200D_200C_206C_206F_202C_200F_200F_202B_206F_202B_200F_206F_202C_200D_202A_206E_206B_206E_202E(GatheredItem P_0) - { - return P_0.ItemCount; - } - - static ushort _200C_200C_202D_200B_202A_206A_200D_206C_200C_202A_206F_206C_206B_206A_202D_202A_206E_202C_202A_202B_202B_202C_200F_202E_202B_202C_200C_202D_200C_202E_200C_202E_206B_200F_206D_200B_200B_202E_206A_200C_202E(GatheredItem P_0) - { - return P_0.Collectability; - } } internal sealed class SkipMarker : ITask { - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(484415674); + return "Gather/SkipMarker"; } } diff --git a/Questionable/Questionable.Controller.Steps.Shared/RedeemRewardItems.cs b/Questionable/Questionable.Controller.Steps.Shared/RedeemRewardItems.cs index 3440ff1..8140d2e 100644 --- a/Questionable/Questionable.Controller.Steps.Shared/RedeemRewardItems.cs +++ b/Questionable/Questionable.Controller.Steps.Shared/RedeemRewardItems.cs @@ -1,8 +1,5 @@ using System; using System.Collections.Generic; -using System.Collections.Immutable; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Conditions; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; @@ -23,216 +20,39 @@ internal static class RedeemRewardItems { public unsafe IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((_206E_200D_206F_206B_200C_206D_200B_200F_206C_206E_200F_200E_200D_200C_202D_200F_202B_206B_206C_202A_200B_200E_206B_206F_202D_200F_202A_200F_202B_202E_206A_206E_200B_206D_206D_200F_202C_206B_206F_206A_202E(step) == EInteractionType.AcceptQuest) ? 1072934724 : 1072934722); - List list = default(List); - InventoryManager* ptr = default(InventoryManager*); - ItemReward current = default(ItemReward); - while (true) + if (step.InteractionType != EInteractionType.AcceptQuest) { - int num2 = num; - int num3 = 1072934726; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return Array.Empty(); + } + List list = new List(); + InventoryManager* ptr = InventoryManager.Instance(); + if (ptr == null) + { + return list; + } + bool hasFreeInventorySlot = InventoryHelper.HasFreeInventorySlot(); + foreach (ItemReward redeemableItem in questData.RedeemableItems) + { + if (ptr->GetInventoryItemCount(redeemableItem.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0) != 0 && !redeemableItem.IsUnlocked() && PassesRedemptionFilters(redeemableItem.Type, redeemableItem.IsUntradable, configuration.General, hasFreeInventorySlot)) { - case 2: - list = new List(); - ptr = InventoryManager.Instance(); - num = ((ptr != null) ? 1072934727 : 1072934725); - break; - case 3: - return list; - case 0: - num = 1072934722; - break; - case 4: - return Array.Empty(); - case 1: - { - bool hasFreeInventorySlot = _202C_200B_206C_200F_206B_202C_202B_202D_206B_202A_202B_206A_202E_200D_206C_206C_206C_200E_206A_200E_206E_206D_202A_206E_202B_206D_206E_200E_206B_206E_202E_202D_206C_206B_202D_202B_202C_202A_202A_206D_202E(); - using (ImmutableHashSet.Enumerator enumerator = questData.RedeemableItems.GetEnumerator()) - { - num = -498843277; - while (true) - { - int num7 = num; - num3 = -498843280; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 6: - num = -498843277; - break; - case 0: - list.Add(new Task(current)); - num = -498843277; - break; - case 1: - current = enumerator.Current; - num = ((ptr->GetInventoryItemCount(current.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0) == 0) ? (-498843277) : (-498843278)); - break; - case 3: - num = (enumerator.MoveNext() ? (-498843279) : (-498843276)); - break; - case 2: - num = (current.IsUnlocked() ? (-498843277) : (-498843275)); - break; - case 5: - num = ((!PassesRedemptionFilters(current.Type, current.IsUntradable, configuration.General, hasFreeInventorySlot)) ? (-498843277) : (-498843280)); - break; - case 4: - goto end_IL_00be; - } - continue; - end_IL_00be: - break; - } - } - num = ((list.Count <= 0) ? 1531306428 : 1531306429); - while (true) - { - int num10 = num; - num3 = 1531306428; - num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1531306429; - break; - case 0: - return list; - case 1: - list.Insert(0, new Mount.UnmountTask()); - num = 1531306428; - break; - } - } - } + list.Add(new Task(redeemableItem)); } } - } - - IEnumerable ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks - return this.CreateAllTasks(quest, sequence, step); - } - - static EInteractionType _206E_200D_206F_206B_200C_206D_200B_200F_206C_206E_200F_200E_200D_200C_202D_200F_202B_206B_206C_202A_200B_200E_206B_206F_202D_200F_202A_200F_202B_202E_206A_206E_200B_206D_206D_200F_202C_206B_206F_206A_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static bool _202C_200B_206C_200F_206B_202C_202B_202D_206B_202A_202B_206A_202E_200D_206C_206C_206C_200E_206A_200E_206E_206D_202A_206E_202B_206D_206E_200E_206B_206E_202E_202D_206C_206B_202D_202B_202C_202A_202A_206D_202E() - { - return InventoryHelper.HasFreeInventorySlot(); + if (list.Count > 0) + { + list.Insert(0, new Mount.UnmountTask()); + } + return list; } } internal sealed record Task(ItemReward ItemReward) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202C_200B_202B_202B_202A_202D_202B_206D_200E_202D_202B_200B_202A_202C_202D_202C_200E_200F_206C_202A_206C_206E_202E_202E_200F_206F_200F_202E_200C_200F_200B_202A_206A_206D_202A_206C_202D_200B_206D_200E_202E(typeof(Task).TypeHandle); - } - } - public int OriginalGearsetIndex { get; set; } = -1; - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return _202C_202E_200D_206C_200B_206E_200D_206A_200F_206D_206B_202D_200F_202D_200C_200C_202A_200F_202C_206C_200C_206E_202B_206B_200E_202A_200D_202A_200E_206A_202D_202B_206D_200C_206C_202E_200B_202B_202D_206B_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(483102337), ItemReward.Name, 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(444206578)); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202D_202A_206E_202A_200D_206E_206E_202D_202A_202E_202E_206D_206F_206B_206C_206A_206E_202C_202D_200F_202D_202C_200F_200B_202E_206B_200E_206B_202A_202B_202D_202D_200F_206C_202D_206D_206B_206F_200C_200F_202E(); - _202A_200F_200D_206A_206F_206F_206E_206B_202E_202D_202D_206F_200D_206C_202A_200C_206F_202B_200D_202A_202E_206B_200F_206A_206B_200E_206D_200B_206C_202C_206B_202C_200B_206F_202A_206C_202B_200C_202C_200C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1880324983)); - _206F_202D_200E_202D_206C_200C_200D_206E_202E_202A_202E_202C_200F_202A_206D_202D_202E_206C_200F_202C_200C_202C_200D_202D_200B_206D_200D_202E_206D_202C_206A_200E_200C_202A_206D_206F_206B_200D_200B_202C_202E(builder, (object)ItemReward); - _202A_200F_200D_206A_206F_206F_206E_206B_202E_202D_202D_206F_200D_206C_202A_200C_206F_202B_200D_202A_202E_206B_200F_206A_206B_200E_206D_200B_206C_202C_206B_202C_200B_206F_202A_206C_202B_200C_202C_200C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-108687495)); - _202A_200F_200D_206A_206F_206F_206E_206B_202E_202D_202D_206F_200D_206C_202A_200C_206F_202B_200D_202A_202E_206B_200F_206A_206B_200E_206D_200B_206C_202C_206B_202C_200B_206F_202A_206C_202B_200C_202C_200C_202E(builder, OriginalGearsetIndex.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(Task? other) - { - int num = (((object)this == other) ? (-2065789578) : (-2065789582)); - while (true) - { - int num2 = num; - int num3 = -2065789584; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - num = ((!EqualityComparer.Default.Equals(ItemReward, other.ItemReward)) ? (-2065789584) : (-2065789580)); - break; - case 2: - num = (((object)other == null) ? (-2065789584) : (-2065789583)); - break; - case 1: - num = ((!_206A_206E_206A_202A_202A_206B_202C_200D_202E_200E_200E_200C_206D_206B_206F_202B_206E_202B_202D_202C_206A_202B_200F_200F_206E_206E_200C_202A_202B_206E_202D_206C_200D_206F_206A_202B_200D_200F_200E_200D_202E(EqualityContract, other.EqualityContract)) ? (-2065789584) : (-2065789579)); - break; - case 3: - num = -2065789582; - break; - case 6: - return true; - case 4: - return EqualityComparer.Default.Equals(OriginalGearsetIndex, other.OriginalGearsetIndex); - case 0: - return false; - } - } - } - - bool IEquatable.Equals(Task? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202C_200B_202B_202B_202A_202D_202B_206D_200E_202D_202B_200B_202A_202C_202D_202C_200E_200F_206C_202A_206C_206E_202E_202E_200F_206F_200F_202E_200C_200F_200B_202A_206A_206D_202A_206C_202D_200B_206D_200E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static string _202C_202E_200D_206C_200B_206E_200D_206A_200F_206D_206B_202D_200F_202D_200C_200C_202A_200F_202C_206C_200C_206E_202B_206B_200E_202A_200D_202A_200E_206A_202D_202B_206D_200C_206C_202E_200B_202B_202D_206B_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static void _202D_202A_206E_202A_200D_206E_206E_202D_202A_202E_202E_206D_206F_206B_206C_206A_206E_202C_202D_200F_202D_202C_200F_200B_202E_206B_200E_206B_202A_202B_202D_202D_200F_206C_202D_206D_206B_206F_200C_200F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202A_200F_200D_206A_206F_206F_206E_206B_202E_202D_202D_206F_200D_206C_202A_200C_206F_202B_200D_202A_202E_206B_200F_206A_206B_200E_206D_200B_206C_202C_206B_202C_200B_206F_202A_206C_202B_200C_202C_200C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206F_202D_200E_202D_206C_200C_200D_206E_202E_202A_202E_202C_200F_202A_206D_202D_202E_206C_200F_202C_200C_202C_200D_202D_200B_206D_200D_202E_206D_202C_206A_200E_200C_202A_206D_206F_206B_200D_200B_202C_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206A_206E_206A_202A_202A_206B_202C_200D_202E_200E_200E_200C_206D_206B_206F_202B_206E_202B_202D_202C_206A_202B_200F_200F_206E_206E_200C_202A_202B_206E_202D_206C_200D_206F_206A_202B_200D_200F_200E_200D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "TryRedeem(" + ItemReward.Name + ")"; } } @@ -256,169 +76,81 @@ internal static class RedeemRewardItems protected override bool Start() { - int num = ((!_202A_202A_206C_206F_202D_206F_206B_206D_206F_202C_206A_200B_200B_202A_200C_200B_206A_200E_202C_206C_200D_206A_202E_202E_206A_206C_200D_202C_202A_206B_202B_200C_206E_200B_200F_200F_206D_202B_200B_206C_202E(condition, ConditionFlag.Mounted)) ? (-129962614) : (-129962617)); - long num9 = default(long); - int? cofferGearsetIndex = default(int?); - int valueOrDefault = default(int); - int num7 = default(int); - while (true) + if (condition[ConditionFlag.Mounted] && base.Task.OriginalGearsetIndex < 0) { - int num2 = num; - int num3 = -129962609; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return false; + } + long num = (_useItemAt = Environment.TickCount64); + if (base.Task.ItemReward is CofferReward) + { + int? cofferGearsetIndex = configuration.General.CofferGearsetIndex; + if (cofferGearsetIndex.HasValue) { - case 9: - return false; - case 7: - return true; - case 5: - num9 = (_useItemAt = _206B_202E_206A_206A_202E_206B_200C_202C_200D_206F_200E_202E_206E_206F_200D_202C_202E_202C_206F_202C_202E_200F_200B_200D_200C_206D_200D_202D_206D_206F_200F_202E_200D_206C_202D_200F_200F_200E_206F_206D_202E()); - num = ((!(base.Task.ItemReward is CofferReward)) ? (-129962616) : (-129962611)); - break; - case 2: - cofferGearsetIndex = configuration.General.CofferGearsetIndex; - num = ((!cofferGearsetIndex.HasValue) ? (-129962616) : (-129962615)); - break; - case 6: - valueOrDefault = cofferGearsetIndex.GetValueOrDefault(); - num = ((base.Task.OriginalGearsetIndex >= 0) ? (-129962619) : (-129962620)); - break; - case 10: - num = ((_206A_206F_206D_202E_202B_206D_202E_206C_206C_206A_206A_200E_202E_200C_206C_206E_202A_200C_200C_200E_202E_200F_200F_206D_200D_206D_202B_206B_206C_206C_200D_202A_206C_200C_206D_202E_200D_202C_202C_206A_202E() == valueOrDefault) ? (-129962616) : (-129962610)); - break; - case 11: - num7 = _206A_206F_206D_202E_202B_206D_202E_206C_206C_206A_206A_200E_202E_200C_206C_206E_202A_200C_200C_200E_202E_200F_200F_206D_200D_206D_202B_206B_206C_206C_200D_202A_206C_200C_206D_202E_200D_202C_202C_206A_202E(); - num = ((num7 == valueOrDefault) ? (-129962616) : (-129962609)); - break; - case 8: - num = ((base.Task.OriginalGearsetIndex >= 0) ? (-129962614) : (-129962618)); - break; - case 0: - num = ((!_206F_202E_200E_200E_206E_202E_200D_202B_200B_200C_200B_200F_202D_206D_200E_200B_202B_202C_206A_200C_202A_200E_202A_206C_200C_202D_200F_206B_202E_200C_202B_202A_202A_202C_206E_200B_206F_202D_206C_200D_202E(valueOrDefault)) ? (-129962616) : (-129962613)); - break; - case 1: - { - _206F_202E_200E_200E_206E_202E_200D_202B_200B_200C_200B_200F_202D_206D_200E_200B_202B_202C_206A_200C_202A_200E_202A_206C_200C_202D_200F_206B_202E_200C_202B_202A_202A_202C_206E_200B_206F_202D_206C_200D_202E(valueOrDefault); - long num12 = num9; - long num10 = 1000L; - long num11 = num12; - long num13 = num11 ^ num10; - long num14 = num11 & num10; - _useItemAt = num13 + (num14 + num14); - num = -129962616; - break; - } - case 3: - num = -129962617; - break; - case 4: - { - base.Task.OriginalGearsetIndex = num7; - long num8 = num9; - long num10 = 1000L; - long num11 = num8; - _useItemAt = (num11 | num10) + (num11 & num10); - num = -129962616; - break; - } + int valueOrDefault = cofferGearsetIndex.GetValueOrDefault(); + if (base.Task.OriginalGearsetIndex < 0) + { + int currentGearsetIndex = GearsetHelper.GetCurrentGearsetIndex(); + if (currentGearsetIndex != valueOrDefault && GearsetHelper.TryEquipGearset(valueOrDefault)) + { + base.Task.OriginalGearsetIndex = currentGearsetIndex; + _useItemAt = num + 1000; + } + } + else if (GearsetHelper.GetCurrentGearsetIndex() != valueOrDefault) + { + GearsetHelper.TryEquipGearset(valueOrDefault); + _useItemAt = num + 1000; + } } } + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - long num = _206B_202E_206A_206A_202E_206B_200C_202C_200D_206F_200E_202E_206E_206F_200D_202C_202E_202C_206F_202C_202E_200F_200B_200D_200C_206D_200D_202D_206D_206F_200F_202E_200D_206C_202D_200F_200F_200E_206F_206D_202E(); - int num2 = (_itemUsed ? (-1961745235) : (-1961745230)); - TimeSpan timeSpan = default(TimeSpan); - while (true) + long tickCount = Environment.TickCount64; + if (!_itemUsed) { - int num3 = num2; - int num4 = -1961745219; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + if (tickCount < _useItemAt) { - case 8: - RestoreGearset(); - return ETaskResult.TaskComplete; - case 17: - { - int useItemAttempts = _useItemAttempts; - num4 = 1; - num5 = useItemAttempts; - _useItemAttempts = (num5 | num4) + (num5 & num4); - num2 = ((_useItemAttempts < 5) ? (-1961745218) : (-1961745221)); - break; + return ETaskResult.StillRunning; } - case 6: - _200D_206F_202C_202C_200E_200F_206C_200F_200C_202A_202E_200B_200E_206F_200B_206A_200C_202E_200D_206B_202A_206F_202E_202A_206A_206D_202C_202D_202B_202E_202A_206D_206E_202B_200B_202A_206F_202B_202E_202D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-96595266), new object[2] - { - base.Task.ItemReward.Name, - _useItemAttempts - }); + if (base.Task.ItemReward.IsUnlocked() || !HasItemInInventory(base.Task.ItemReward.ItemId)) + { RestoreGearset(); return ETaskResult.TaskComplete; - case 15: - num2 = ((num >= _useItemAt) ? (-1961745220) : (-1961745225)); - break; - case 11: + } + if (gameFunctions.UseItem(base.Task.ItemReward.ItemId)) + { _itemUsed = true; - timeSpan = base.Task.ItemReward.CastTime; - num2 = ((!(timeSpan < MinimumCastTime)) ? (-1961745232) : (-1961745217)); - break; - case 14: + TimeSpan timeSpan = base.Task.ItemReward.CastTime; + if (timeSpan < MinimumCastTime) + { + timeSpan = MinimumCastTime; + } + _continueAt = tickCount + (long)timeSpan.TotalMilliseconds + 3000; return ETaskResult.StillRunning; - case 10: - return ETaskResult.StillRunning; - case 12: - return ETaskResult.StillRunning; - case 4: - num2 = -1961745230; - break; - case 7: - num2 = ((!gameFunctions.UseItem(base.Task.ItemReward.ItemId)) ? (-1961745236) : (-1961745226)); - break; - case 0: - num2 = (HasItemInInventory(base.Task.ItemReward.ItemId) ? (-1961745222) : (-1961745228)); - break; - case 9: + } + _useItemAttempts++; + if (_useItemAttempts >= 5) + { + logger.LogWarning("Unable to use {ItemName} after {Attempts} attempts, giving up", base.Task.ItemReward.Name, _useItemAttempts); RestoreGearset(); return ETaskResult.TaskComplete; - case 16: - num2 = ((!_202A_202A_206C_206F_202D_206F_206B_206D_206F_202C_206A_200B_200B_202A_200C_200B_206A_200E_202C_206C_200D_206A_202E_202E_206A_206C_200D_202C_202A_206B_202B_200C_206E_200B_200F_200F_206D_202B_200B_206C_202E(condition, ConditionFlag.Casting)) ? (-1961745224) : (-1961745229)); - break; - case 5: - num2 = ((num > _continueAt) ? (-1961745227) : (-1961745231)); - break; - case 1: - num2 = (base.Task.ItemReward.IsUnlocked() ? (-1961745228) : (-1961745219)); - break; - case 3: - { - long num6 = 1000L; - long num7 = num; - _useItemAt = (num7 | num6) + (num7 & num6); - return ETaskResult.StillRunning; - } - case 13: - { - long num6 = (long)timeSpan.TotalMilliseconds; - long num7 = num; - long num8 = (num7 | num6) + (num7 & num6); - num6 = 3000L; - num7 = num8; - _continueAt = (num7 | num6) + (num7 & num6); - return ETaskResult.StillRunning; - } - case 2: - timeSpan = MinimumCastTime; - num2 = -1961745232; - break; } + _useItemAt = tickCount + 1000; + return ETaskResult.StillRunning; } + if (condition[ConditionFlag.Casting]) + { + return ETaskResult.StillRunning; + } + if (tickCount <= _continueAt) + { + return ETaskResult.StillRunning; + } + RestoreGearset(); + return ETaskResult.TaskComplete; } public void StopNow() @@ -426,129 +158,44 @@ internal static class RedeemRewardItems RestoreGearset(); } - void IStoppableTaskExecutor.StopNow() - { - //ILSpy generated this explicit interface implementation from .override directive in StopNow - this.StopNow(); - } - private void RestoreGearset() { - int num = ((base.Task.OriginalGearsetIndex < 0) ? (-1242962810) : (-1242962812)); - while (true) + if (base.Task.OriginalGearsetIndex >= 0 && GearsetHelper.TryEquipGearset(base.Task.OriginalGearsetIndex)) { - int num2 = num; - int num3 = -1242962809; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1242962812; - break; - case 2: - base.Task.OriginalGearsetIndex = -1; - num = -1242962810; - break; - case 1: - return; - case 3: - num = ((!_206F_202E_200E_200E_206E_202E_200D_202B_200B_200C_200B_200F_202D_206D_200E_200B_202B_202C_206A_200C_202A_200E_202A_206C_200C_202D_200F_206B_202E_200C_202B_202A_202A_202C_206E_200B_206F_202D_206C_200D_202E(base.Task.OriginalGearsetIndex)) ? (-1242962810) : (-1242962811)); - break; - } + base.Task.OriginalGearsetIndex = -1; } } private unsafe static bool HasItemInInventory(uint itemId) { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr == null) ? 1562440275 : 1562440272); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 1562440274; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 2: - return ptr->GetInventoryItemCount(itemId, isHq: false, checkEquipped: true, checkArmory: true, 0) > 0; - case 1: - return false; - } - continue; - IL_0049: - num = 1562440272; + return ptr->GetInventoryItemCount(itemId, isHq: false, checkEquipped: true, checkArmory: true, 0) > 0; } + return false; } public override bool ShouldInterruptOnDamage() { return true; } - - static bool _202A_202A_206C_206F_202D_206F_206B_206D_206F_202C_206A_200B_200B_202A_200C_200B_206A_200E_202C_206C_200D_206A_202E_202E_206A_206C_200D_202C_202A_206B_202B_200C_206E_200B_200F_200F_206D_202B_200B_206C_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static long _206B_202E_206A_206A_202E_206B_200C_202C_200D_206F_200E_202E_206E_206F_200D_202C_202E_202C_206F_202C_202E_200F_200B_200D_200C_206D_200D_202D_206D_206F_200F_202E_200D_206C_202D_200F_200F_200E_206F_206D_202E() - { - return Environment.TickCount64; - } - - static int _206A_206F_206D_202E_202B_206D_202E_206C_206C_206A_206A_200E_202E_200C_206C_206E_202A_200C_200C_200E_202E_200F_200F_206D_200D_206D_202B_206B_206C_206C_200D_202A_206C_200C_206D_202E_200D_202C_202C_206A_202E() - { - return GearsetHelper.GetCurrentGearsetIndex(); - } - - static bool _206F_202E_200E_200E_206E_202E_200D_202B_200B_200C_200B_200F_202D_206D_200E_200B_202B_202C_206A_200C_202A_200E_202A_206C_200C_202D_200F_206B_202E_200C_202B_202A_202A_202C_206E_200B_206F_202D_206C_200D_202E(int P_0) - { - return GearsetHelper.TryEquipGearset(P_0); - } - - static void _200D_206F_202C_202C_200E_200F_206C_200F_200C_202A_202E_200B_200E_206F_200B_206A_200C_202E_200D_206B_202A_206F_202E_202A_206A_206D_202C_202D_202B_202E_202A_206D_206E_202B_200B_202A_206F_202B_202E_202D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } } internal static bool PassesRedemptionFilters(EItemRewardType type, bool isUntradable, Configuration.GeneralConfiguration general, bool hasFreeInventorySlot) { - int num = ((!general.DisabledRewardTypes.Contains(type)) ? (-640252002) : (-640252008)); - while (true) + if (general.DisabledRewardTypes.Contains(type)) { - int num2 = num; - int num3 = -640252003; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = (hasFreeInventorySlot ? (-640252004) : (-640252006)); - break; - case 1: - return true; - case 0: - num = (isUntradable ? (-640252011) : (-640252001)); - break; - case 8: - num = ((type != EItemRewardType.Coffer) ? (-640252004) : (-640252007)); - break; - case 2: - return false; - case 6: - num = -640252008; - break; - case 3: - num = ((!general.SkipTradableRewards) ? (-640252011) : (-640252003)); - break; - case 5: - return false; - case 7: - return false; - } + return false; } + if (general.SkipTradableRewards && !isUntradable) + { + return false; + } + if (type == EItemRewardType.Coffer && !hasFreeInventorySlot) + { + return false; + } + return true; } } diff --git a/Questionable/Questionable.Controller.Steps.Shared/SkipCondition.cs b/Questionable/Questionable.Controller.Steps.Shared/SkipCondition.cs index fd67c20..b597148 100644 --- a/Questionable/Questionable.Controller.Steps.Shared/SkipCondition.cs +++ b/Questionable/Questionable.Controller.Steps.Shared/SkipCondition.cs @@ -2,8 +2,6 @@ using System; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Objects.SubKinds; using Dalamud.Game.ClientState.Objects.Types; @@ -13,8 +11,6 @@ using FFXIVClientStructs.FFXIV.Client.Game.Object; using FFXIVClientStructs.FFXIV.Client.Game.UI; using LLib.GameData; using LLib.Inventory; -using Lumina.Excel; -using Lumina.Excel.Sheets; using Microsoft.Extensions.Logging; using Questionable.Controller.Utils; using Questionable.Data; @@ -29,1295 +25,522 @@ internal static class SkipCondition { internal sealed class Factory(Configuration configuration) : SimpleTaskFactory() { - public override ITask? CreateTask(Questionable.Model.Quest quest, QuestSequence sequence, QuestStep step) + public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step) { - SkipConditions skipConditions = _206D_200D_206F_206D_200D_206A_206A_206C_206B_200D_206E_202E_202C_200E_202A_200B_200E_202A_202C_206A_202E_200D_206B_200F_206A_206C_206F_202C_206C_206E_206A_200F_206D_202C_200C_202B_206A_206D_200D_200F_202E(step); - SkipStepConditions skipStepConditions = ((skipConditions != null) ? _206A_202C_206F_206E_206E_202B_206D_206E_202D_206C_202C_206A_206E_202C_206D_206E_202A_206C_200F_200D_206F_206A_206E_202E_206A_200B_206A_202E_206C_200B_206E_206C_200D_202B_206D_202E_202C_206E_206C_202C_202E(skipConditions) : null); - int num = ((skipStepConditions == null) ? (-1240422500) : (-1240422501)); - while (true) + SkipStepConditions skipStepConditions = step.SkipConditions?.StepIf; + if (skipStepConditions != null && skipStepConditions.Never) { - int num2 = num; - int num3 = -1240422499; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 13: - num = (_206D_200E_202C_206A_206D_202A_200D_202B_202A_200B_206C_206E_202A_206E_206B_206B_206E_200F_206D_202C_206A_200F_206E_202A_206A_202E_206D_200F_202E_206D_202B_206F_206B_202A_200E_206E_202E_206E_200F_206C_202E(skipStepConditions) ? (-1240422502) : (-1240422503)); - break; - case 1: - num = ((skipStepConditions == null) ? (-1240422503) : (-1240422512)); - break; - case 8: - num = ((_200C_202A_200F_206A_206A_202C_202D_202E_202C_206A_206D_202D_202C_206C_206F_206D_200C_202B_202C_200F_206A_200B_200E_206B_202E_206A_200F_200F_200E_206B_206A_202C_206C_206E_206E_206C_200F_206B_200E_200F_202E(step) != EInteractionType.PurchaseItem) ? (-1240422498) : (-1240422505)); - break; - case 16: - num = ((!_200E_200B_206B_202A_202B_206A_202E_200D_206D_202E_206A_202A_206E_200F_200E_200C_202C_202A_200B_202C_206F_206C_202D_206A_200D_200C_202C_202C_202C_206F_206D_202A_200C_206C_200B_206B_206D_202C_206D_200F_202E(_206C_200C_206A_200C_200C_206A_206E_200C_202C_202B_202B_206F_200D_200F_206C_206A_202E_206A_200B_202D_202C_206C_206D_206C_202E_202C_202A_206B_206E_206E_200F_200B_200E_202B_200E_200B_206A_202E_200B_202D_202E(step), (ElementId)null)) ? (-1240422502) : (-1240422504)); - break; - case 12: - num = -1240422501; - break; - case 14: - return null; - case 17: - num = (_200E_200E_202A_206B_202D_202C_200E_200C_200D_202D_206B_200F_206C_206A_200D_200F_206D_202A_206B_200B_200D_200F_202D_200D_200C_200E_202A_206B_202C_206D_200C_206E_202E_202C_202A_206D_200C_200C_200C_206E_202E(step).HasValue ? (-1240422502) : (-1240422506)); - break; - case 0: - num = ((_202E_202C_200D_200F_202B_202C_200E_206A_206B_206D_206E_200C_202D_206E_206D_200F_206C_202D_206B_200B_206D_206D_202A_200C_206C_206F_202D_206D_200B_200C_202A_202C_200D_200B_206A_202A_200B_202D_202C_202A_202E(step).Count != 0) ? (-1240422502) : (-1240422497)); - break; - case 7: - return new SkipTask(step, skipStepConditions ?? _202B_206A_200E_206C_206D_206D_202D_200F_202A_206F_202A_202B_206B_202C_202D_202D_202D_200E_202D_202C_202B_206E_200F_202D_202B_200D_200D_200D_200D_200E_202E_200D_206D_200B_206B_200B_202C_206A_202C_200D_202E(), quest.Id); - case 15: - num = ((_200C_200B_206E_202C_206C_200B_202D_206A_200D_206E_200B_202B_200C_206C_200D_202A_200B_206B_206C_200D_206E_206D_206E_202B_206B_200E_206E_200D_202B_200E_206F_206C_200F_206D_206A_200F_206A_206C_200F_206E_202E(step).Count != 0) ? (-1240422502) : (-1240422516)); - break; - case 11: - num = ((!_200E_200B_206B_202A_202B_206A_202E_200D_206D_202E_206A_202A_206E_200F_200E_200C_202C_202A_200B_202C_206F_206C_202D_206A_200D_200C_202C_202C_202C_206F_206D_202A_200C_206C_200B_206B_206D_202C_206D_200F_202E(_206C_206A_200E_202E_206A_206C_200C_206E_206C_202D_206B_206A_202C_202B_200C_202C_200D_200F_202B_202B_202E_202B_202A_206E_202A_202B_206C_206A_206D_206D_200F_200F_206B_206A_200E_202C_200E_206E_200C_202D_202E(step), (ElementId)null)) ? (-1240422502) : (-1240422515)); - break; - case 4: - num = (QuestWorkUtils.HasCompletionFlags(_206E_206D_206B_202D_202E_206D_206A_206A_202D_206C_206B_202E_202D_202C_206B_206F_200D_200D_206F_206F_200C_206A_206B_200E_206B_206B_202D_200D_202B_202A_200C_202A_206D_206D_202C_206A_206C_206A_200C_206C_202E(step)) ? (-1240422502) : (-1240422510)); - break; - case 6: - num = ((!_206E_202E_206C_206F_206F_202C_202D_200B_200E_200D_202C_206F_202A_206A_200D_202A_206F_200B_206E_200D_206D_200D_202D_206E_200C_206A_200F_200D_206E_202A_200F_200F_202C_202A_200B_206D_206A_200B_202D_202E(skipStepConditions)) ? (-1240422500) : (-1240422509)); - break; - case 5: - num = ((_200D_206D_206B_202E_206A_202D_200E_200D_206C_206C_206C_200F_206D_202E_200C_206E_206E_202B_202E_202E_200E_200E_202D_200D_200D_202C_202C_200E_200B_202E_202E_206C_206C_206C_206D_206F_206D_206E_202B_206A_202E(step).Count != 0) ? (-1240422502) : (-1240422499)); - break; - case 10: - num = (_206B_200C_202A_200B_202A_206A_206A_200D_202B_200D_206D_202C_200E_200B_202B_206C_200B_200F_200E_200C_206C_206C_200E_200F_202A_206F_206F_206A_200B_202B_202D_206A_206B_206A_202E_202A_202E_202D_202B_206E_202E(step).HasValue ? (-1240422502) : (-1240422498)); - break; - case 9: - num = (configuration.Advanced.SkipAetherCurrents ? (-1240422502) : (-1240422507)); - break; - case 2: - num = ((_200C_202A_200F_206A_206A_202C_202D_202E_202C_206A_206D_202D_202C_206C_206F_206D_200C_202B_202C_200F_206A_200B_200E_206B_202E_206A_200F_200F_200E_206B_206A_202C_206C_206E_206E_206C_200F_206B_200E_200F_202E(step) != EInteractionType.AttuneAetherCurrent) ? (-1240422507) : (-1240422508)); - break; - case 3: - return null; - } + return null; } - } - - static SkipConditions _206D_200D_206F_206D_200D_206A_206A_206C_206B_200D_206E_202E_202C_200E_202A_200B_200E_202A_202C_206A_202E_200D_206B_200F_206A_206C_206F_202C_206C_206E_206A_200F_206D_202C_200C_202B_206A_206D_200D_200F_202E(QuestStep P_0) - { - return P_0.SkipConditions; - } - - static SkipStepConditions _206A_202C_206F_206E_206E_202B_206D_206E_202D_206C_202C_206A_206E_202C_206D_206E_202A_206C_200F_200D_206F_206A_206E_202E_206A_200B_206A_202E_206C_200B_206E_206C_200D_202B_206D_202E_202C_206E_206C_202C_202E(SkipConditions P_0) - { - return P_0.StepIf; - } - - static bool _206E_202E_206C_206F_206F_202C_202D_200B_200E_200D_202C_206F_202A_206A_200D_202A_206F_200B_206E_200D_206D_200D_202D_206E_200C_206A_200F_200D_206E_202A_200F_200F_202C_202A_200B_206D_206A_200B_202D_202E(SkipStepConditions P_0) - { - return P_0.Never; - } - - static bool _206D_200E_202C_206A_206D_202A_200D_202B_202A_200B_206C_206E_202A_206E_206B_206B_206E_200F_206D_202C_206A_200F_206E_202A_206A_202E_206D_200F_202E_206D_202B_206F_206B_202A_200E_206E_202E_206E_200F_206C_202E(SkipStepConditions P_0) - { - return P_0.HasSkipConditions(); - } - - static List _206E_206D_206B_202D_202E_206D_206A_206A_202D_206C_206B_202E_202D_202C_206B_206F_200D_200D_206F_206F_200C_206A_206B_200E_206B_206B_202D_200D_202B_202A_200C_202A_206D_206D_202C_206A_206C_206A_200C_206C_202E(QuestStep P_0) - { - return P_0.CompletionQuestVariablesFlags; - } - - static List> _200C_200B_206E_202C_206C_200B_202D_206A_200D_206E_200B_202B_200C_206C_200D_202A_200B_206B_206C_200D_206E_206D_206E_202B_206B_200E_206E_200D_202B_200E_206F_206C_200F_206D_206A_200F_206A_206C_200F_206E_202E(QuestStep P_0) - { - return P_0.RequiredQuestVariables; - } - - static byte? _200E_200E_202A_206B_202D_202C_200E_200C_200D_202D_206B_200F_206C_206A_200D_200F_206D_202A_206B_200B_200D_200F_202D_200D_200C_200E_202A_206B_202C_206D_200C_206E_202E_202C_202A_206D_200C_200C_200C_206E_202E(QuestStep P_0) - { - return P_0.TaxiStandId; - } - - static ElementId _206C_206A_200E_202E_206A_206C_200C_206E_206C_202D_206B_206A_202C_202B_200C_202C_200D_200F_202B_202B_202E_202B_202A_206E_202A_202B_206C_206A_206D_206D_200F_200F_206B_206A_200E_202C_200E_206E_200C_202D_202E(QuestStep P_0) - { - return P_0.PickUpQuestId; - } - - static bool _200E_200B_206B_202A_202B_206A_202E_200D_206D_202E_206A_202A_206E_200F_200E_200C_202C_202A_200B_202C_206F_206C_202D_206A_200D_200C_202C_202C_202C_206F_206D_202A_200C_206C_200B_206B_206D_202C_206D_200F_202E(ElementId P_0, ElementId P_1) - { - return P_0 == P_1; - } - - static ElementId _206C_200C_206A_200C_200C_206A_206E_200C_202C_202B_202B_206F_200D_200F_206C_206A_202E_206A_200B_202D_202C_206C_206D_206C_202E_202C_202A_206B_206E_206E_200F_200B_200E_202B_200E_200B_206A_202E_200B_202D_202E(QuestStep P_0) - { - return P_0.NextQuestId; - } - - static List _200D_206D_206B_202E_206A_202D_200E_200D_206C_206C_206C_200F_206D_202E_200C_206E_206E_202B_202E_202E_200E_200E_202D_200D_200D_202C_202C_200E_200B_202E_202E_206C_206C_206C_206D_206F_206D_206E_202B_206A_202E(QuestStep P_0) - { - return P_0.RequiredCurrentJob; - } - - static List _202E_202C_200D_200F_202B_202C_200E_206A_206B_206D_206E_200C_202D_206E_206D_200F_206C_202D_206B_200B_206D_206D_202A_200C_206C_206F_202D_206D_200B_200C_202A_202C_200D_200B_206A_202A_200B_202D_202C_202A_202E(QuestStep P_0) - { - return P_0.RequiredQuestAcceptedJob; - } - - static EInteractionType _200C_202A_200F_206A_206A_202C_202D_202E_202C_206A_206D_202D_202C_206C_206F_206D_200C_202B_202C_200F_206A_200B_200E_206B_202E_206A_200F_200F_200E_206B_206A_202C_206C_206E_206E_206C_200F_206B_200E_200F_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static uint? _206B_200C_202A_200B_202A_206A_206A_200D_202B_200D_206D_202C_200E_200B_202B_206C_200B_200F_200E_200C_206C_206C_200E_200F_202A_206F_206F_206A_200B_202B_202D_206A_206B_206A_202E_202A_202E_202D_202B_206E_202E(QuestStep P_0) - { - return P_0.ItemId; - } - - static SkipStepConditions _202B_206A_200E_206C_206D_206D_202D_200F_202A_206F_202A_202B_206B_202C_202D_202D_202D_200E_202D_202C_202B_206E_200F_202D_202B_200D_200D_200D_200D_200E_202E_200D_206D_200B_206B_200B_202C_206A_202C_200D_202E() - { - return new SkipStepConditions(); + if ((skipStepConditions == null || !skipStepConditions.HasSkipConditions()) && !QuestWorkUtils.HasCompletionFlags(step.CompletionQuestVariablesFlags) && step.RequiredQuestVariables.Count == 0 && !step.TaxiStandId.HasValue && step.PickUpQuestId == null && step.NextQuestId == null && step.RequiredCurrentJob.Count == 0 && step.RequiredQuestAcceptedJob.Count == 0 && (step.InteractionType != EInteractionType.AttuneAetherCurrent || !configuration.Advanced.SkipAetherCurrents) && (step.InteractionType != EInteractionType.PurchaseItem || !step.ItemId.HasValue)) + { + return null; + } + return new SkipTask(step, skipStepConditions ?? new SkipStepConditions(), quest.Id); } } internal sealed record SkipTask(QuestStep Step, SkipStepConditions SkipConditions, ElementId ElementId) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206B_200F_202E_202C_202D_200B_206A_200B_206F_202B_206D_206F_202C_206C_202E_202E_202A_206D_202A_202A_202E_202A_200B_200F_202C_202A_206D_202C_200F_202C_200B_202E_200F_202E_202E_200D_206C_202C_202C_206C_202E(typeof(SkipTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-466111705); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200B_202E_206E_206A_200B_206F_206C_202C_200B_200C_200F_206F_206C_202D_206E_206B_200E_206A_206E_200C_200D_202E_202D_200D_206E_202E_200B_202D_200F_200D_200E_202E_202B_200B_202A_200D_200C_206B_206C_206F_202E(); - _206B_200E_206F_200D_206E_206D_200D_200B_206C_200B_206F_206E_206D_206E_200E_202B_206B_200F_206C_206B_200E_206D_202E_202E_200E_200C_206D_200E_206E_200F_206D_206F_206E_202D_202D_202E_200F_200B_200C_206C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(148385326)); - _200F_202E_206E_206C_200F_202E_202B_200B_202C_202B_202C_200D_200D_200D_202A_200E_200D_206B_202B_200E_206B_206B_206C_202A_200C_206F_206D_206E_206F_206B_200F_206C_206F_206D_206E_200D_202E_206B_206F_202E_202E(builder, (object)Step); - _206B_200E_206F_200D_206E_206D_200D_200B_206C_200B_206F_206E_206D_206E_200E_202B_206B_200F_206C_206B_200E_206D_202E_202E_200E_200C_206D_200E_206E_200F_206D_206F_206E_202D_202D_202E_200F_200B_200C_206C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1553810087)); - _200F_202E_206E_206C_200F_202E_202B_200B_202C_202B_202C_200D_200D_200D_202A_200E_200D_206B_202B_200E_206B_206B_206C_202A_200C_206F_206D_206E_206F_206B_200F_206C_206F_206D_206E_200D_202E_206B_206F_202E_202E(builder, (object)SkipConditions); - _206B_200E_206F_200D_206E_206D_200D_200B_206C_200B_206F_206E_206D_206E_200E_202B_206B_200F_206C_206B_200E_206D_202E_202E_200E_200C_206D_200E_206E_200F_206D_206F_206E_202D_202D_202E_200F_200B_200C_206C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1329196647)); - _200F_202E_206E_206C_200F_202E_202B_200B_202C_202B_202C_200D_200D_200D_202A_200E_200D_206B_202B_200E_206B_206B_206C_202A_200C_206F_206D_206E_206F_206B_200F_206C_206F_206D_206E_200D_202E_206B_206F_202E_202E(builder, (object)ElementId); - return true; - } - - [CompilerGenerated] - public bool Equals(SkipTask? other) - { - int num = (((object)this == other) ? 1781129945 : 1781129947); - while (true) - { - int num2 = num; - int num3 = 1781129948; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return false; - case 6: - num = ((!_202C_206C_200D_200C_206B_200F_200E_202C_202B_202D_206E_206D_206E_202B_206C_206C_202C_202E_206F_206B_200E_202A_202B_206A_202A_206C_202B_202A_200C_200B_200B_202B_202D_206D_206A_202E_200C_202E_206F_202C_202E(EqualityContract, other.EqualityContract)) ? 1781129949 : 1781129948); - break; - case 7: - num = (((object)other == null) ? 1781129949 : 1781129946); - break; - case 5: - return true; - case 3: - num = 1781129947; - break; - case 0: - num = ((!EqualityComparer.Default.Equals(Step, other.Step)) ? 1781129949 : 1781129944); - break; - case 2: - return EqualityComparer.Default.Equals(ElementId, other.ElementId); - case 4: - num = ((!EqualityComparer.Default.Equals(SkipConditions, other.SkipConditions)) ? 1781129949 : 1781129950); - break; - } - } - } - - bool IEquatable.Equals(SkipTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206B_200F_202E_202C_202D_200B_206A_200B_206F_202B_206D_206F_202C_206C_202E_202E_202A_206D_202A_202A_202E_202A_200B_200F_202C_202A_206D_202C_200F_202C_200B_202E_200F_202E_202E_200D_206C_202C_202C_206C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _200B_202E_206E_206A_200B_206F_206C_202C_200B_200C_200F_206F_206C_202D_206E_206B_200E_206A_206E_200C_200D_202E_202D_200D_206E_202E_200B_202D_200F_200D_200E_202E_202B_200B_202A_200D_200C_206B_206C_206F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206B_200E_206F_200D_206E_206D_200D_200B_206C_200B_206F_206E_206D_206E_200E_202B_206B_200F_206C_206B_200E_206D_202E_202E_200E_200C_206D_200E_206E_200F_206D_206F_206E_202D_202D_202E_200F_200B_200C_206C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200F_202E_206E_206C_200F_202E_202B_200B_202C_202B_202C_200D_200D_200D_202A_200E_200D_206B_202B_200E_206B_206B_206C_202A_200C_206F_206D_206E_206F_206B_200F_206C_206F_206D_206E_200D_202E_206B_206F_202E_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202C_206C_200D_200C_206B_200F_200E_202C_202B_202D_206E_206D_206E_202B_206C_206C_202C_202E_206F_206B_200E_202A_202B_206A_202A_206C_202B_202A_200C_200B_200B_202B_202D_206D_206A_202E_200C_202E_206F_202C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "CheckSkip"; } } internal sealed class CheckSkip(ILogger logger, Configuration configuration, AetheryteFunctions aetheryteFunctions, GameFunctions gameFunctions, QuestFunctions questFunctions, IClientState clientState, IObjectTable objectTable, ICondition condition, ExtraConditionUtils extraConditionUtils, ClassJobUtils classJobUtils, QuestController questController) : TaskExecutor() { - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { SkipStepConditions skipConditions = base.Task.SkipConditions; QuestStep step = base.Task.Step; ElementId elementId = base.Task.ElementId; ILogger logger = logger; - string text = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1494350151); object[] array = new object[1]; - string text2 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1845592431); object reference = skipConditions; - array[0] = _206C_200C_206C_202A_202B_206A_200F_206C_200D_200E_202C_202B_202B_206F_200D_200C_206A_200B_206C_202D_202D_200E_200E_206B_206F_206D_200B_202D_206F_200E_202C_202C_206A_206F_206C_202E_200B_202E_200E_206C_202E(text2, new ReadOnlySpan(in reference)); - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, text, array); - int num = ((!CheckFlyingCondition(step, skipConditions)) ? (-467436485) : (-467436493)); - while (true) + array[0] = string.Join(",", new ReadOnlySpan(in reference)); + logger.LogDebug("Checking skip conditions; {ConfiguredConditions}", array); + if (CheckFlyingCondition(step, skipConditions)) { - int num2 = num; - int num3 = -467436482; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 8: - return true; - case 5: - num = ((!CheckUnlockedMountCondition(skipConditions)) ? (-467436512) : (-467436517)); - break; - case 9: - return true; - case 31: - return true; - case 20: - num = ((!CheckAetherCurrentCondition(step)) ? (-467436497) : (-467436504)); - break; - case 3: - num = ((!CheckAetheryteCondition(step, skipConditions)) ? (-467436502) : (-467436510)); - break; - case 10: - return false; - case 18: - num = ((!CheckNameplateCondition(step, skipConditions)) ? (-467436507) : (-467436508)); - break; - case 7: - num = ((!CheckPurchaseComplete(step)) ? (-467436483) : (-467436511)); - break; - case 4: - num = ((!CheckPickUpTurnInQuestIds(step)) ? (-467436498) : (-467436520)); - break; - case 26: - return true; - case 36: - num = -467436493; - break; - case 0: - num = ((!CheckQuestConditions(skipConditions)) ? (-467436516) : (-467436501)); - break; - case 13: - return true; - case 16: - num = ((!CheckTaxiStandUnlocked(step)) ? (-467436492) : (-467436489)); - break; - case 32: - num = ((!CheckQuestWorkConditions(elementId, step)) ? (-467436499) : (-467436484)); - break; - case 33: - return true; - case 17: - num = ((!CheckLevelCondition(skipConditions)) ? (-467436514) : (-467436496)); - break; - case 23: - return true; - case 34: - num = ((!CheckTargetableCondition(step, skipConditions)) ? (-467436500) : (-467436513)); - break; - case 21: - return true; - case 29: - return true; - case 37: - return true; - case 38: - return true; - case 22: - return true; - case 27: - num = ((!CheckItemCondition(step, skipConditions)) ? (-467436487) : (-467436509)); - break; - case 14: - return true; - case 1: - num = ((!CheckTerritoryCondition(skipConditions)) ? (-467436482) : (-467436503)); - break; - case 15: - num = ((!extraConditionUtils.MatchesExtraCondition(_200B_202B_200C_200D_206E_202D_206D_200B_200B_202A_200E_206A_206E_206A_206C_200C_200F_202A_202D_206E_206D_202B_206C_202B_200F_202C_206C_202C_200F_202A_206F_202C_206C_206E_200D_202B_206A_202E_200F_202D_202E(skipConditions).Value)) ? (-467436486) : (-467436494)); - break; - case 35: - num = ((!_200B_202B_200C_200D_206E_202D_206D_200B_200B_202A_200E_206A_206E_206A_206C_200C_200F_202A_202D_206E_206D_202B_206C_202B_200F_202C_206C_202C_200F_202A_206F_202C_206C_206E_200D_202B_206A_202E_200F_202D_202E(skipConditions).HasValue) ? (-467436486) : (-467436488)); - break; - case 25: - return true; - case 2: - return true; - case 24: - return true; - case 11: - num = ((!CheckPositionCondition(skipConditions)) ? (-467436515) : (-467436490)); - break; - case 28: - return true; - case 12: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, 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(1561211438), new object[1] { _200B_202B_200C_200D_206E_202D_206D_200B_200B_202A_200E_206A_206E_206A_206C_200C_200F_202A_202D_206E_206D_202B_206C_202B_200F_202C_206C_202C_200F_202A_206F_202C_206C_206E_200D_202B_206A_202E_200F_202D_202E(skipConditions) }); - return true; - case 6: - num = ((_200B_202B_200C_200D_206E_202D_206D_200B_200B_202A_200E_206A_206E_206A_206C_200C_200F_202A_202D_206E_206D_202B_206C_202B_200F_202C_206C_202C_200F_202A_206F_202C_206C_206E_200D_202B_206A_202E_200F_202D_202E(skipConditions) == EExtraSkipCondition.None) ? (-467436486) : (-467436495)); - break; - case 30: - num = ((!CheckDivingCondition(skipConditions)) ? (-467436481) : (-467436506)); - break; - case 19: - num = ((!CheckJobCondition(elementId, step)) ? (-467436491) : (-467436505)); - break; - } + return true; } + if (CheckUnlockedMountCondition(skipConditions)) + { + return true; + } + if (CheckDivingCondition(skipConditions)) + { + return true; + } + if (CheckTerritoryCondition(skipConditions)) + { + return true; + } + if (CheckQuestConditions(skipConditions)) + { + return true; + } + if (CheckTargetableCondition(step, skipConditions)) + { + return true; + } + if (CheckNameplateCondition(step, skipConditions)) + { + return true; + } + if (CheckItemCondition(step, skipConditions)) + { + return true; + } + if (CheckPurchaseComplete(step)) + { + return true; + } + if (CheckAetheryteCondition(step, skipConditions)) + { + return true; + } + if (CheckAetherCurrentCondition(step)) + { + return true; + } + if (CheckLevelCondition(skipConditions)) + { + return true; + } + if (CheckQuestWorkConditions(elementId, step)) + { + return true; + } + if (CheckJobCondition(elementId, step)) + { + return true; + } + if (CheckPositionCondition(skipConditions)) + { + return true; + } + if (skipConditions.ExtraCondition.HasValue && skipConditions.ExtraCondition != EExtraSkipCondition.None && extraConditionUtils.MatchesExtraCondition(skipConditions.ExtraCondition.Value)) + { + logger.LogDebug("Skipping step, extra condition {ExtraCondition} matches", skipConditions.ExtraCondition); + return true; + } + if (CheckPickUpTurnInQuestIds(step)) + { + return true; + } + if (CheckTaxiStandUnlocked(step)) + { + return true; + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool CheckFlyingCondition(QuestStep step, SkipStepConditions skipConditions) { - int num = ((_206D_202A_202D_206C_206B_200F_202B_206C_202B_206E_202A_200F_200B_206D_206E_206D_206B_206E_206A_200F_206F_202A_202B_200F_206C_206F_206A_200C_206A_202B_202C_200E_202B_202D_202D_206B_202B_206B_200E_206B_202E(skipConditions) != ELockedSkipCondition.Unlocked) ? (-185345438) : (-185345440)); - while (true) + if (skipConditions.Flying == ELockedSkipCondition.Unlocked && gameFunctions.IsFlyingUnlocked(step.TerritoryId)) { - int num2 = num; - int num3 = -185345436; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return false; - case 2: - num = (gameFunctions.IsFlyingUnlocked(_206A_202B_202C_200B_202D_206B_200F_202C_206E_200B_206C_200C_202B_202D_202C_200C_202A_200E_206E_206A_200E_200F_200C_206C_206A_206F_206C_200D_200C_206D_200D_206A_202E_206C_206F_200B_206E_200B_206E_200E_202E(step)) ? (-185345435) : (-185345439)); - break; - case 0: - num = -185345440; - break; - case 3: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-876619848), Array.Empty()); - return true; - case 4: - num = ((!gameFunctions.IsFlyingUnlocked(_206A_202B_202C_200B_202D_206B_200F_202C_206E_200B_206C_200C_202B_202D_202C_200C_202A_200E_206E_206A_200E_200F_200C_206C_206A_206F_206C_200D_200C_206D_200D_206A_202E_206C_206F_200B_206E_200B_206E_200E_202E(step))) ? (-185345438) : (-185345433)); - break; - case 5: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, 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(-1717360759), Array.Empty()); - return true; - case 6: - num = ((_206D_202A_202D_206C_206B_200F_202B_206C_202B_206E_202A_200F_200B_206D_206E_206D_206B_206E_206A_200F_206F_202A_202B_200F_206C_206F_206A_200C_206A_202B_202C_200E_202B_202D_202D_206B_202B_206B_200E_206B_202E(skipConditions) != ELockedSkipCondition.Locked) ? (-185345435) : (-185345434)); - break; - } + logger.LogDebug("Skipping step, as flying is unlocked"); + return true; } + if (skipConditions.Flying == ELockedSkipCondition.Locked && !gameFunctions.IsFlyingUnlocked(step.TerritoryId)) + { + logger.LogDebug("Skipping step, as flying is locked"); + return true; + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool CheckUnlockedMountCondition(SkipStepConditions skipConditions) { - int num = ((_206A_202C_202A_202E_200E_206F_200E_202B_202D_200F_206A_202B_202A_200D_206E_202E_200E_202A_200D_206C_202D_206B_200D_202D_202E_206B_206E_206C_200D_206B_206E_206C_200D_206D_206E_206E_202E_200D_200F_202A_202E(skipConditions) != ELockedSkipCondition.Unlocked) ? (-1202468125) : (-1202468126)); - while (true) + if (skipConditions.Chocobo == ELockedSkipCondition.Unlocked && PlayerStateHelper.IsMountUnlocked(1u)) { - int num2 = num; - int num3 = -1202468125; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(594807310), Array.Empty()); - return true; - case 0: - return false; - case 2: - num = -1202468126; - break; - case 1: - num = ((!_202D_202A_206D_202C_202C_200F_206F_206C_202B_200D_202A_206B_202B_202C_202E_202E_200B_206D_206C_206A_200D_202D_202E_202C_200B_200D_200E_206D_200E_206E_206F_202D_206E_200B_202D_206B_206B_206C_200F_202E(1u)) ? (-1202468125) : (-1202468128)); - break; - } + logger.LogDebug("Skipping step, as chocobo is unlocked"); + return true; } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool CheckTerritoryCondition(SkipStepConditions skipConditions) { - int num = ((_200C_200E_202A_200B_206F_206B_202D_206C_202B_206F_206F_206D_202B_202C_206D_206C_200E_202B_200B_200B_202B_202B_206F_206A_200C_206A_206B_206A_202D_206D_200E_200B_206B_202A_200B_200B_206B_202E_202D_202E(skipConditions).Count <= 0) ? 814489794 : 814489797); - while (true) + if (skipConditions.InTerritory.Count > 0 && skipConditions.InTerritory.Contains((ushort)clientState.TerritoryType)) { - int num2 = num; - int num3 = 814489799; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - return false; - case 2: - num = ((!_200C_200E_202A_200B_206F_206B_202D_206C_202B_206F_206F_206D_202B_202C_206D_206C_200E_202B_200B_200B_202B_202B_206F_206A_200C_206A_206B_206A_202D_206D_200E_200B_206B_202A_200B_200B_206B_202E_202D_202E(skipConditions).Contains((ushort)_206D_202A_206F_200B_206C_202A_202C_206D_206B_202E_206E_200E_206C_206F_200F_200F_202C_200D_206F_202B_200B_206E_200D_200C_206A_206E_206E_200D_206F_206D_206A_206C_206F_202C_202C_206E_202D_206F_202B_206D_202E(clientState))) ? 814489794 : 814489795); - break; - case 0: - num = 814489797; - break; - case 4: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, 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(-80638283), Array.Empty()); - return true; - case 3: - num = (_206F_200F_206C_200B_206A_200D_200C_206A_202E_202B_202C_202B_202D_206E_200C_206C_200C_206A_206D_206D_206E_206B_202B_200C_200C_200E_202D_200F_200E_200F_206A_202D_202A_200C_206C_206F_202A_202E_206C_202C_202E(skipConditions).Contains((ushort)_206D_202A_206F_200B_206C_202A_202C_206D_206B_202E_206E_200E_206C_206F_200F_200F_202C_200D_206F_202B_200B_206E_200D_200C_206A_206E_206E_200D_206F_206D_206A_206C_206F_202C_202C_206E_202D_206F_202B_206D_202E(clientState)) ? 814489793 : 814489798); - break; - case 1: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-754370014), Array.Empty()); - return true; - case 5: - num = ((_206F_200F_206C_200B_206A_200D_200C_206A_202E_202B_202C_202B_202D_206E_200C_206C_200C_206A_206D_206D_206E_206B_202B_200C_200C_200E_202D_200F_200E_200F_206A_202D_202A_200C_206C_206F_202A_202E_206C_202C_202E(skipConditions).Count <= 0) ? 814489793 : 814489796); - break; - } + logger.LogDebug("Skipping step, as in a skip.InTerritory"); + return true; } + if (skipConditions.NotInTerritory.Count > 0 && !skipConditions.NotInTerritory.Contains((ushort)clientState.TerritoryType)) + { + logger.LogDebug("Skipping step, as not in a skip.NotInTerritory"); + return true; + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool CheckDivingCondition(SkipStepConditions skipConditions) { - int num = ((_202B_200C_206C_206B_202C_206C_206C_202C_206C_206A_206B_202A_206F_206F_202A_200F_200E_200D_200C_200B_206C_202D_200D_206B_206E_202C_200B_206E_202D_200D_202B_206A_200C_200C_202B_206A_202C_200E_200B_202C_202E(skipConditions) != true) ? (-1984011023) : (-1984011021)); - while (true) + if (skipConditions.Diving == true && condition[ConditionFlag.Diving]) { - int num2 = num; - int num3 = -1984011019; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = ((_202B_200C_206C_206B_202C_206C_206C_202C_206C_206A_206B_202A_206F_206F_202A_200F_200E_200D_200C_200B_206C_202D_200D_206B_206E_202C_200B_206E_202D_200D_202B_206A_200C_200C_202B_206A_202C_200E_200B_202C_202E(skipConditions) != false) ? (-1984011024) : (-1984011017)); - break; - case 6: - num = ((!_200C_202C_202A_200C_206D_202D_200F_202B_200E_202C_202C_202A_202E_206A_206F_206F_202A_206F_202D_206E_206D_202C_206E_200F_206D_206B_202B_206F_200C_206C_206C_206A_200C_206D_200D_202A_206A_202D_202D_206A_202E(condition, ConditionFlag.Diving)) ? (-1984011023) : (-1984011019)); - break; - case 0: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-483706615), Array.Empty()); - return true; - case 3: - num = -1984011021; - break; - case 1: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, 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(696324995), Array.Empty()); - return true; - case 5: - return false; - case 2: - num = (_200C_202C_202A_200C_206D_202D_200F_202B_200E_202C_202C_202A_202E_206A_206F_206F_202A_206F_202D_206E_206D_202C_206E_200F_206D_206B_202B_206F_200C_206C_206C_206A_200C_206D_200D_202A_206A_202D_202D_206A_202E(condition, ConditionFlag.Diving) ? (-1984011024) : (-1984011020)); - break; - } + logger.LogDebug("Skipping step, as you're currently diving underwater"); + return true; } + if (skipConditions.Diving == false && !condition[ConditionFlag.Diving]) + { + logger.LogDebug("Skipping step, as you're not currently diving underwater"); + return true; + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool CheckQuestConditions(SkipStepConditions skipConditions) { - int num = ((_206F_206C_202A_202B_202E_202E_200C_202B_206B_200C_202C_202D_202C_202C_202C_206D_206D_206F_200F_200F_202C_206E_202A_206B_200D_206D_200D_202D_206D_206E_202C_200E_200B_202C_200D_206D_200F_202C_200B_202C_202E(skipConditions).Count <= 0) ? 620685368 : 620685371); - while (true) + if (skipConditions.QuestsCompleted.Count > 0 && skipConditions.QuestsCompleted.All(questFunctions.IsQuestComplete)) { - int num2 = num; - int num3 = 620685374; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return false; - case 6: - num = ((_200B_206F_202E_206E_200B_206C_200B_206F_202A_200B_206B_202A_206A_200F_202D_202A_200D_206E_202D_200F_200B_206D_200C_202A_206A_206E_200B_206F_200E_200F_200E_202B_200D_206E_202C_200F_200C_206E_202E_200D_202E(skipConditions).Count <= 0) ? 620685374 : 620685375); - break; - case 2: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-981274772), Array.Empty()); - return true; - case 1: - num = ((!_200B_206F_202E_206E_200B_206C_200B_206F_202A_200B_206B_202A_206A_200F_202D_202A_200D_206E_202D_200F_200B_206D_200C_202A_206A_206E_200B_206F_200E_200F_200E_202B_200D_206E_202C_200F_200C_206E_202E_200D_202E(skipConditions).All(questFunctions.IsQuestAccepted)) ? 620685374 : 620685370); - break; - case 5: - num = ((!_206F_206C_202A_202B_202E_202E_200C_202B_206B_200C_202C_202D_202C_202C_202C_206D_206D_206F_200F_200F_202C_206E_202A_206B_200D_206D_200D_202D_206D_206E_202C_200E_200B_202C_200D_206D_200F_202C_200B_202C_202E(skipConditions).All(questFunctions.IsQuestComplete)) ? 620685368 : 620685372); - break; - case 3: - num = 620685371; - break; - case 4: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(872402256), Array.Empty()); - return true; - } + logger.LogDebug("Skipping step, all prequisite quests are complete"); + return true; } + if (skipConditions.QuestsAccepted.Count > 0 && skipConditions.QuestsAccepted.All(questFunctions.IsQuestAccepted)) + { + logger.LogDebug("Skipping step, all prequisite quests are accepted"); + return true; + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool CheckTargetableCondition(QuestStep step, SkipStepConditions skipConditions) { - int num = ((!_200F_206F_202E_202E_200F_202C_200C_206C_202C_202B_202B_200E_200F_202A_200D_202B_200E_202D_200F_206B_200E_200F_202D_206A_206C_200C_200F_200D_206D_206D_202D_206D_202B_206C_202C_206B_206D_206B_202E(skipConditions)) ? (-1215574028) : (-1215574031)); - IGameObject gameObject = default(IGameObject); - IPlayerCharacter playerCharacter = default(IPlayerCharacter); - while (true) + if (skipConditions.NotTargetable && step != null && step.DataId.HasValue) { - int num2 = num; - int num3 = -1215574029; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + IGameObject gameObject = gameFunctions.FindObjectByDataId(step.DataId.Value); + IPlayerCharacter localPlayer = objectTable.LocalPlayer; + if (gameObject == null) { - case 4: - num = (_202C_202E_202B_200F_200C_202B_202E_206A_200D_206C_200C_206F_206B_200F_206D_202E_202C_200F_206D_202C_202A_200B_206E_206F_202C_202B_202C_206A_206E_206E_200E_200F_206C_200B_206E_206F_206C_206F_206D_202C_202E(gameObject) ? (-1215574028) : (-1215574029)); - break; - case 1: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, 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(1364336395), Array.Empty()); + if (localPlayer != null && (step.Position.GetValueOrDefault() - localPlayer.Position).Length() < 100f) + { + logger.LogDebug("Skipping step, object is not nearby (but we are)"); + return true; + } + } + else if (!gameObject.IsTargetable) + { + logger.LogDebug("Skipping step, object is not targetable"); return true; - case 8: - num = ((!((_206E_200B_206E_206E_206C_206D_206C_206D_200D_202E_202E_202C_206A_200F_200C_206D_202E_200F_202B_200C_200D_206F_200D_202C_200C_202B_206B_206D_206A_206B_206A_202E_200F_202B_200F_200F_200C_206D_202A_200D_202E(step).GetValueOrDefault() - _200C_206D_202C_202D_202E_200C_202E_206D_200F_202E_202C_200C_202C_202B_200B_202D_206B_200F_200F_206C_206D_206F_202B_206B_200F_206D_200F_206A_206A_200F_206F_202C_206B_202C_206E_206E_200D_200C_202A_200D_202E((IGameObject)playerCharacter)).Length() < 100f)) ? (-1215574028) : (-1215574030)); - break; - case 7: - return false; - case 3: - num = ((playerCharacter == null) ? (-1215574028) : (-1215574021)); - break; - case 6: - gameObject = gameFunctions.FindObjectByDataId(_202D_202D_206E_202A_206D_200E_202B_202C_206C_200C_206C_200C_202E_202A_202A_206B_200B_206A_206E_206B_206F_200F_206F_200D_202A_206E_200E_200C_206D_200D_202B_202D_202C_206F_202B_206C_202C_202C_200E_200F_202E(step).Value); - playerCharacter = _202D_206B_202D_202C_200F_200F_206C_200C_202E_206C_206E_200C_202B_202B_202C_206E_206B_202D_206C_200C_206A_206F_202E_200C_200E_200F_206E_202B_202A_206E_200F_206D_200D_206E_200C_200B_206C_202E_200D_206B_202E(objectTable); - num = ((gameObject != null) ? (-1215574025) : (-1215574032)); - break; - case 0: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-972199543), Array.Empty()); - return true; - case 5: - num = -1215574031; - break; - case 9: - num = ((!_202D_202D_206E_202A_206D_200E_202B_202C_206C_200C_206C_200C_202E_202A_202A_206B_200B_206A_206E_206B_206F_200F_206F_200D_202A_206E_200E_200C_206D_200D_202B_202D_202C_206F_202B_206C_202C_202C_200E_200F_202E(step).HasValue) ? (-1215574028) : (-1215574027)); - break; - case 2: - num = ((step == null) ? (-1215574028) : (-1215574022)); - break; } } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe bool CheckNameplateCondition(QuestStep step, SkipStepConditions skipConditions) { - int num = ((_202E_202E_202E_200F_202D_206B_206A_206D_206A_202A_206B_200E_202C_202D_206C_202B_200E_206F_200E_200F_202C_200E_206C_202B_206E_200E_206F_202A_202B_206B_202C_202A_206B_202B_206D_200E_200D_206D_202E_206A_202E(skipConditions).Count <= 0) ? 76989385 : 76989391); - IGameObject gameObject = default(IGameObject); - GameObject* ptr = default(GameObject*); - while (true) + if (skipConditions.NotNamePlateIconId.Count > 0 && step != null && step.DataId.HasValue) { - int num2 = num; - int num3 = 76989389; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + IGameObject gameObject = gameFunctions.FindObjectByDataId(step.DataId.Value); + if (gameObject != null) { - case 3: - num = ((!_202D_202D_206E_202A_206D_200E_202B_202C_206C_200C_206C_200C_202E_202A_202A_206B_200B_206A_206E_206B_206F_200F_206F_200D_202A_206E_200E_200C_206D_200D_202B_202D_202C_206F_202B_206C_202C_202C_200E_200F_202E(step).HasValue) ? 76989385 : 76989384); - break; - case 5: - gameObject = gameFunctions.FindObjectByDataId(_202D_202D_206E_202A_206D_200E_202B_202C_206C_200C_206C_200C_202E_202A_202A_206B_200B_206A_206E_206B_206F_200F_206F_200D_202A_206E_200E_200C_206D_200D_202B_202D_202C_206F_202B_206C_202C_202C_200E_200F_202E(step).Value); - num = ((gameObject == null) ? 76989385 : 76989387); - break; - case 0: - num = 76989391; - break; - case 2: - num = ((step == null) ? 76989385 : 76989390); - break; - case 4: - return false; - case 1: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1288687344), new object[1] { ptr->NamePlateIconId }); - return true; - case 6: - ptr = (GameObject*)_206D_200C_200B_206F_200E_202D_200D_200C_200E_200D_202E_206A_202A_202B_200D_202A_202E_200F_206F_206D_202D_206D_200D_202B_202E_206F_202B_202B_200C_206D_200C_206F_206E_200C_206D_200B_202C_206A_206B_206B_202E(gameObject); - num = (_202E_202E_202E_200F_202D_206B_206A_206D_206A_202A_206B_200E_202C_202D_206C_202B_200E_206F_200E_200F_202C_200E_206C_202B_206E_200E_206F_202A_202B_206B_202C_202A_206B_202B_206D_200E_200D_206D_202E_206A_202E(skipConditions).Contains(ptr->NamePlateIconId) ? 76989385 : 76989388); - break; + GameObject* address = (GameObject*)gameObject.Address; + if (!skipConditions.NotNamePlateIconId.Contains(address->NamePlateIconId)) + { + logger.LogDebug("Skipping step, object has icon id {IconId}", address->NamePlateIconId); + return true; + } } } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool CheckItemCondition(QuestStep step, SkipStepConditions skipConditions) { - SkipItemConditions skipItemConditions = _202D_202E_202B_200B_202D_206C_202A_200B_202D_200B_200C_206B_206F_202E_206F_206A_206F_206A_202A_200F_202A_202B_206D_200F_202C_202E_206B_200C_206C_206A_202E_206C_202B_200C_206A_206C_206B_206D_206E_206A_202E(skipConditions); - int num = ((skipItemConditions == null) ? 1122033800 : 1122033806); - while (true) + SkipItemConditions item = skipConditions.Item; + if (item != null && item.NotInInventory && step != null && step.ItemId.HasValue && ((ItemHandle)step.ItemId.Value).GetCount(checkEquipped: true, checkArmory: true) == 0) { - int num2 = num; - int num3 = 1122033792; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 16: - skipItemConditions = _202D_202E_202B_200B_202D_206C_202A_200B_202D_200B_200C_206B_206F_202E_206F_206A_206F_206A_202A_200F_202A_202B_206D_200F_202C_202E_206B_200C_206C_206A_202E_206C_202B_200C_206A_206C_206B_206D_206E_206A_202E(skipConditions); - num = ((skipItemConditions == null) ? 1122033803 : 1122033793); - break; - case 0: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-797671387), new object[1] { _202C_200C_202B_200B_200B_202A_202C_200E_200D_206A_200F_206A_206F_200D_200F_202D_200B_202E_200F_206C_200F_206A_206A_206F_206E_206A_200F_206F_200E_206D_202D_200E_200C_200E_200B_200C_206E_202C_202A_202E(step).Value }); - return true; - case 13: - num = ((step == null) ? 1122033803 : 1122033794); - break; - case 7: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1887294353), new object[1] { _202C_200C_202B_200B_200B_202A_202C_200E_200D_206A_200F_206A_206F_200D_200F_202D_200B_202E_200F_206C_200F_206A_206A_206F_206E_206A_200F_206F_200E_206D_202D_200E_200C_200E_200B_200C_206E_202C_202A_202E(step).Value }); - return true; - case 12: - num = 1122033806; - break; - case 10: - num = ((step == null) ? 1122033800 : 1122033801); - break; - case 14: - num = ((!_202E_200E_206B_202D_206D_200D_202E_206F_202A_200E_206D_202E_206E_206C_202C_202D_200D_200D_200E_206A_206D_206D_202A_200D_200F_202B_206B_202E_206D_202E_206F_200C_202A_206C_206C_200D_200E_200C_200E_202C_202E(skipItemConditions)) ? 1122033800 : 1122033802); - break; - case 3: - num = ((step == null) ? 1122033808 : 1122033807); - break; - case 17: - num = ((((ItemHandle)_202C_200C_202B_200B_200B_202A_202C_200E_200D_206A_200F_206A_206F_200D_200F_202D_200B_202E_200F_206C_200F_206A_206A_206F_206E_206A_200F_206F_200E_206D_202D_200E_200C_200E_200B_200C_206E_202C_202A_202E(step).Value).GetCount(checkEquipped: true, checkArmory: true) <= 0) ? 1122033808 : 1122033792); - break; - case 2: - num = ((!_202C_200C_202B_200B_200B_202A_202C_200E_200D_206A_200F_206A_206F_200D_200F_202D_200B_202E_200F_206C_200F_206A_206A_206F_206E_206A_200F_206F_200E_206D_202D_200E_200C_200E_200B_200C_206E_202C_202A_202E(step).HasValue) ? 1122033803 : 1122033798); - break; - case 18: - num = ((((ItemHandle)_202C_200C_202B_200B_200B_202A_202C_200E_200D_206A_200F_206A_206F_200D_200F_202D_200B_202E_200F_206C_200F_206A_206A_206F_206E_206A_200F_206F_200E_206D_202D_200E_200C_200E_200B_200C_206E_202C_202A_202E(step).Value).GetCount(checkEquipped: true, checkArmory: true) != 0) ? 1122033800 : 1122033799); - break; - case 9: - num = ((!_202C_200C_202B_200B_200B_202A_202C_200E_200D_206A_200F_206A_206F_200D_200F_202D_200B_202E_200F_206C_200F_206A_206A_206F_206E_206A_200F_206F_200E_206D_202D_200E_200C_200E_200B_200C_206E_202C_202A_202E(step).HasValue) ? 1122033800 : 1122033810); - break; - case 1: - num = ((!_206C_206F_206B_206F_202B_206E_206D_202A_206C_200F_206D_206B_200F_206B_202C_206B_202E_200D_206C_202D_206D_206D_202B_202B_206E_206F_206C_202D_202D_202A_200C_200D_206D_202E_200C_206F_202B_202D_200F_202A_202E(skipItemConditions)) ? 1122033803 : 1122033805); - break; - case 4: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, 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(-1586329385), new object[1] { _202C_200C_202B_200B_200B_202A_202C_200E_200D_206A_200F_206A_206F_200D_200F_202D_200B_202E_200F_206C_200F_206A_206A_206F_206E_206A_200F_206F_200E_206D_202D_200E_200C_200E_200B_200C_206E_202C_202A_202E(step).Value }); - return true; - case 15: - num = ((!_202C_200C_202B_200B_200B_202A_202C_200E_200D_206A_200F_206A_206F_200D_200F_202D_200B_202E_200F_206C_200F_206A_206A_206F_206E_206A_200F_206F_200E_206D_202D_200E_200C_200E_200B_200C_206E_202C_202A_202E(step).HasValue) ? 1122033808 : 1122033809); - break; - case 11: - return false; - case 6: - num = ((!IsBetterOrEqualItemEquipped(_202C_200C_202B_200B_200B_202A_202C_200E_200D_206A_200F_206A_206F_200D_200F_202D_200B_202E_200F_206C_200F_206A_206A_206F_206E_206A_200F_206F_200E_206D_202D_200E_200C_200E_200B_200C_206E_202C_202A_202E(step).Value)) ? 1122033803 : 1122033796); - break; - case 5: - num = ((!_200D_200E_206B_200E_200B_206D_206A_200D_200E_200E_202D_200D_206B_202A_206C_202C_206E_200C_206D_206B_202B_206A_200C_206D_206D_202C_206F_200F_200F_200B_200F_206E_206A_202B_206E_202D_200C_202E_206C_202A_202E(skipItemConditions)) ? 1122033808 : 1122033795); - break; - case 8: - skipItemConditions = _202D_202E_202B_200B_202D_206C_202A_200B_202D_200B_200C_206B_206F_202E_206F_206A_206F_206A_202A_200F_202A_202B_206D_200F_202C_202E_206B_200C_206C_206A_202E_206C_202B_200C_206A_206C_206B_206D_206E_206A_202E(skipConditions); - num = ((skipItemConditions == null) ? 1122033808 : 1122033797); - break; - } + logger.LogDebug("Skipping step, no item with itemId {ItemId} in inventory", step.ItemId.Value); + return true; } + item = skipConditions.Item; + if (item != null && item.InInventory && step != null && step.ItemId.HasValue && ((ItemHandle)step.ItemId.Value).GetCount(checkEquipped: true, checkArmory: true) > 0) + { + logger.LogDebug("Skipping step, item with itemId {ItemId} already in inventory", step.ItemId.Value); + return true; + } + item = skipConditions.Item; + if (item != null && item.BetterOrEqualItemEquipped && step != null && step.ItemId.HasValue && IsBetterOrEqualItemEquipped(step.ItemId.Value)) + { + logger.LogDebug("Skipping step, better or equal item than {ItemId} is already equipped", step.ItemId.Value); + return true; + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool CheckPurchaseComplete(QuestStep step) { - int num = ((_200E_206D_206F_200B_200F_206E_202B_200E_200E_206C_206B_206F_200C_202A_206C_206F_200E_200B_202D_202B_200B_200B_206D_206A_200B_200C_202B_202C_202B_200B_202B_202C_206D_206D_206B_206D_206F_200F_202C_206C_202E(step) != EInteractionType.PurchaseItem) ? 24711942 : 24711941); - uint? num8 = default(uint?); - int valueOrDefault = default(int); - uint valueOrDefault2 = default(uint); - int? num7 = default(int?); - while (true) + if (step.InteractionType == EInteractionType.PurchaseItem) { - int num2 = num; - int num3 = 24711936; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + uint? itemId = step.ItemId; + if (itemId.HasValue) { - case 6: - return false; - case 5: - num8 = _202C_200C_202B_200B_200B_202A_202C_200E_200D_206A_200F_206A_206F_200D_200F_202D_200B_202E_200F_206C_200F_206A_206A_206F_206E_206A_200F_206F_200E_206D_202D_200E_200C_200E_200B_200C_206E_202C_202A_202E(step); - num = ((!num8.HasValue) ? 24711942 : 24711938); - break; - case 1: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1670622012), new object[2] { valueOrDefault, valueOrDefault2 }); - return true; - case 4: - num = 24711941; - break; - case 0: - num = ((((ItemHandle)valueOrDefault2).GetCount(checkEquipped: true, checkArmory: true) < valueOrDefault) ? 24711942 : 24711937); - break; - case 2: - valueOrDefault2 = num8.GetValueOrDefault(); - num7 = _202C_206B_202C_202C_206A_206B_200D_206B_202A_202D_202B_206A_206A_202C_206A_206F_200B_206A_202C_206A_206A_200F_206E_202D_202B_202C_200E_200F_206C_206C_200E_206C_200E_202A_200F_200F_202E_200B_206E_202D_202E(step); - num = ((!num7.HasValue) ? 24711942 : 24711939); - break; - case 3: - valueOrDefault = num7.GetValueOrDefault(); - num = ((valueOrDefault <= 0) ? 24711942 : 24711936); - break; + uint valueOrDefault = itemId.GetValueOrDefault(); + int? itemCount = step.ItemCount; + if (itemCount.HasValue) + { + int valueOrDefault2 = itemCount.GetValueOrDefault(); + if (valueOrDefault2 > 0 && ((ItemHandle)valueOrDefault).GetCount(checkEquipped: true, checkArmory: true) >= valueOrDefault2) + { + logger.LogDebug("Skipping step, already own {Count}+ of item {ItemId}", valueOrDefault2, valueOrDefault); + return true; + } + } } } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool CheckAetheryteCondition(QuestStep step, SkipStepConditions skipConditions) { - int num = ((step == null) ? (-1075014081) : (-1075014107)); - EAetheryteLocation valueOrDefault3 = default(EAetheryteLocation); - EAetheryteLocation? eAetheryteLocation = default(EAetheryteLocation?); - EAetheryteLocation valueOrDefault = default(EAetheryteLocation); - EAetheryteLocation valueOrDefault2 = default(EAetheryteLocation); - while (true) + if (step != null) { - int num2 = num; - int num3 = -1075014097; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + EAetheryteLocation? aetheryte = step.Aetheryte; + if (aetheryte.HasValue) { - case 3: - num = -1075014107; - break; - case 7: - num = ((aetheryteFunctions.CanRegisterFreeOrFavoriteAetheryte(valueOrDefault3) != AetheryteRegistrationResult.NotPossible) ? (-1075014082) : (-1075014098)); - break; - case 8: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1753969054), Array.Empty()); - return true; - case 2: - { - AetheryteFunctions aetheryteFunctions = aetheryteFunctions; - eAetheryteLocation = _206C_206F_202B_202A_206F_202C_206B_202E_206A_202D_200F_206C_200B_200D_200C_206D_202E_206C_200D_202A_200E_200F_206A_206B_200E_200D_202C_206F_206C_206E_202C_206A_200C_206E_200E_200F_206F_206C_206D_206D_202E(skipConditions); - num = ((!aetheryteFunctions.IsAetheryteUnlocked(eAetheryteLocation.Value)) ? (-1075014110) : (-1075014105)); - break; - } - case 0: - { - AetheryteFunctions aetheryteFunctions2 = aetheryteFunctions; - eAetheryteLocation = _200D_200E_206B_202D_206D_202D_200C_206E_206B_200B_202A_200E_202A_200F_200C_206E_200B_200C_206A_206B_200B_206E_206A_206F_200F_202E_200C_202B_200E_202C_202B_200C_206B_200C_202C_206C_200E_202C_202B_200E_202E(skipConditions); - num = (aetheryteFunctions2.IsAetheryteUnlocked(eAetheryteLocation.Value) ? (-1075014111) : (-1075014109)); - break; - } - case 5: - valueOrDefault3 = eAetheryteLocation.GetValueOrDefault(); - num = ((_200E_206D_206F_200B_200F_206E_202B_200E_200E_206C_206B_206F_200C_202A_206C_206F_200E_200B_202D_202B_200B_200B_206D_206A_200B_200C_202B_202C_202B_200B_202B_202C_206D_206D_206B_206D_206F_200F_202C_206C_202E(step) != EInteractionType.RegisterFreeOrFavoredAetheryte) ? (-1075014082) : (-1075014104)); - break; - case 20: - num = ((!aetheryteFunctions.IsAetheryteUnlocked(valueOrDefault)) ? (-1075014083) : (-1075014103)); - break; - case 13: - return false; - case 17: - eAetheryteLocation = _200D_200E_206B_202D_206D_202D_200C_206E_206B_200B_202A_200E_202A_200F_200C_206E_200B_200C_206A_206B_200B_206E_206A_206F_200F_202E_200C_202B_200E_202C_202B_200C_206B_200C_202C_206C_200E_202C_202B_200E_202E(skipConditions); - num = ((!eAetheryteLocation.HasValue) ? (-1075014111) : (-1075014097)); - break; - case 10: - eAetheryteLocation = _200E_200D_206D_206D_200C_202B_206F_206C_200B_206F_206A_206B_202D_206A_206A_206A_200C_206A_206B_202E_206E_202D_200B_200F_206E_200D_206F_200D_200F_200B_206A_202A_206E_206C_200D_206A_206C_206F_200B_206D_202E(step); - num = ((!eAetheryteLocation.HasValue) ? (-1075014081) : (-1075014108)); - break; - case 19: - eAetheryteLocation = _200E_200D_206D_206D_200C_202B_206F_206C_200B_206F_206A_206B_202D_206A_206A_206A_200C_206A_206B_202E_206E_202D_200B_200F_206E_200D_206F_200D_200F_200B_206A_202A_206E_206C_200D_206A_206C_206F_200B_206D_202E(step); - num = ((!eAetheryteLocation.HasValue) ? (-1075014083) : (-1075014101)); - break; - case 16: - num = ((step == null) ? (-1075014083) : (-1075014084)); - break; - case 1: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1024576145), Array.Empty()); - return true; - case 18: - num = ((step == null) ? (-1075014082) : (-1075014086)); - break; - case 11: - valueOrDefault2 = eAetheryteLocation.GetValueOrDefault(); - num = ((_200E_206D_206F_200B_200F_206E_202B_200E_200E_206C_206B_206F_200C_202A_206C_206F_200E_200B_202D_202B_200B_200B_206D_206A_200B_200C_202B_202C_202B_200B_202B_202C_206D_206D_206B_206D_206F_200F_202C_206C_202E(step) != EInteractionType.AttuneAetheryte) ? (-1075014081) : (-1075014112)); - break; - case 4: - valueOrDefault = eAetheryteLocation.GetValueOrDefault(); - num = ((_200E_206D_206F_200B_200F_206E_202B_200E_200E_206C_206B_206F_200C_202A_206C_206F_200E_200B_202D_202B_200B_200B_206D_206A_200B_200C_202B_202C_202B_200B_202B_202C_206D_206D_206B_206D_206F_200F_202C_206C_202E(step) != EInteractionType.AttuneAethernetShard) ? (-1075014083) : (-1075014085)); - break; - case 6: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, 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(1250183404), Array.Empty()); - return true; - case 15: - num = ((!aetheryteFunctions.IsAetheryteUnlocked(valueOrDefault2)) ? (-1075014081) : (-1075014106)); - break; - case 21: - eAetheryteLocation = _200E_200D_206D_206D_200C_202B_206F_206C_200B_206F_206A_206B_202D_206A_206A_206A_200C_206A_206B_202E_206E_202D_200B_200F_206E_200D_206F_200D_200F_200B_206A_202A_206E_206C_200D_206A_206C_206F_200B_206D_202E(step); - num = ((!eAetheryteLocation.HasValue) ? (-1075014082) : (-1075014102)); - break; - case 9: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, 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(-963356390), Array.Empty()); - return true; - case 12: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2127983555), Array.Empty()); - return true; - case 14: - eAetheryteLocation = _206C_206F_202B_202A_206F_202C_206B_202E_206A_202D_200F_206C_200B_200D_200C_206D_202E_206C_200D_202A_200E_200F_206A_206B_200E_200D_202C_206F_206C_206E_202C_206A_200C_206E_200E_200F_206F_206C_206D_206D_202E(skipConditions); - num = ((!eAetheryteLocation.HasValue) ? (-1075014110) : (-1075014099)); - break; + EAetheryteLocation valueOrDefault = aetheryte.GetValueOrDefault(); + if (step.InteractionType == EInteractionType.AttuneAetheryte && aetheryteFunctions.IsAetheryteUnlocked(valueOrDefault)) + { + logger.LogDebug("Skipping step, as aetheryte is unlocked"); + return true; + } } } + if (step != null) + { + EAetheryteLocation? aetheryte = step.Aetheryte; + if (aetheryte.HasValue) + { + EAetheryteLocation valueOrDefault2 = aetheryte.GetValueOrDefault(); + if (step.InteractionType == EInteractionType.AttuneAethernetShard && aetheryteFunctions.IsAetheryteUnlocked(valueOrDefault2)) + { + logger.LogDebug("Skipping step, as aethernet shard is unlocked"); + return true; + } + } + } + if (step != null) + { + EAetheryteLocation? aetheryte = step.Aetheryte; + if (aetheryte.HasValue) + { + EAetheryteLocation valueOrDefault3 = aetheryte.GetValueOrDefault(); + if (step.InteractionType == EInteractionType.RegisterFreeOrFavoredAetheryte && aetheryteFunctions.CanRegisterFreeOrFavoriteAetheryte(valueOrDefault3) == AetheryteRegistrationResult.NotPossible) + { + logger.LogDebug("Skipping step, already registered all possible free or favored aetherytes"); + return true; + } + } + } + if (skipConditions.AetheryteLocked.HasValue && !aetheryteFunctions.IsAetheryteUnlocked(skipConditions.AetheryteLocked.Value)) + { + logger.LogDebug("Skipping step, as aetheryte is locked"); + return true; + } + if (skipConditions.AetheryteUnlocked.HasValue && aetheryteFunctions.IsAetheryteUnlocked(skipConditions.AetheryteUnlocked.Value)) + { + logger.LogDebug("Skipping step, as aetheryte is unlocked"); + return true; + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool CheckAetherCurrentCondition(QuestStep step) { - int num = ((_200E_206D_206F_200B_200F_206E_202B_200E_200E_206C_206B_206F_200C_202A_206C_206F_200E_200B_202D_202B_200B_200B_206D_206A_200B_200C_202B_202C_202B_200B_202B_202C_206D_206D_206B_206D_206F_200F_202C_206C_202E(step) != EInteractionType.AttuneAetherCurrent) ? 15149100 : 15149102); - while (true) + if (step.InteractionType == EInteractionType.AttuneAetherCurrent) { - int num2 = num; - int num3 = 15149100; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + if (configuration.Advanced.SkipAetherCurrents) { - case 1: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2126010367), Array.Empty()); + logger.LogDebug("Skipping step, as aether currents should be skipped"); return true; - case 2: - num = ((!configuration.Advanced.SkipAetherCurrents) ? 15149097 : 15149103); - break; - case 3: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, 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(1497729888), Array.Empty()); + } + if (step.DataId.HasValue && GameFunctions.IsAetherCurrentUnlocked(step.DataId.Value)) + { + logger.LogDebug("Skipping step, as current is unlocked"); return true; - case 0: - return false; - case 5: - num = ((!_202D_202D_206E_202A_206D_200E_202B_202C_206C_200C_206C_200C_202E_202A_202A_206B_200B_206A_206E_206B_206F_200F_206F_200D_202A_206E_200E_200C_206D_200D_202B_202D_202C_206F_202B_206C_202C_202C_200E_200F_202E(step).HasValue) ? 15149100 : 15149096); - break; - case 4: - num = ((!GameFunctions.IsAetherCurrentUnlocked(_202D_202D_206E_202A_206D_200E_202B_202C_206C_200C_206C_200C_202E_202A_202A_206B_200B_206A_206E_206B_206F_200F_206F_200D_202A_206E_200E_200C_206D_200D_202B_202D_202C_206F_202B_206C_202C_202C_200E_200F_202E(step).Value)) ? 15149100 : 15149101); - break; - case 6: - num = 15149102; - break; } } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool CheckLevelCondition(SkipStepConditions skipConditions) { - IPlayerCharacter playerCharacter = _202D_206B_202D_202C_200F_200F_206C_200C_202E_206C_206E_200C_202B_202B_202C_206E_206B_202D_206C_200C_206A_206F_202E_200C_200E_200F_206E_202B_202A_206E_200F_206D_200D_206E_200C_200B_206C_202E_200D_206B_202E(objectTable); - int num = ((!_206B_202A_206C_202A_200F_200B_202B_200D_206A_206F_200F_206C_202D_206B_202B_200C_206C_200F_206B_206D_200D_206C_200C_202C_206A_202C_206A_202C_200E_202B_202E_206E_206F_206E_202E_206F_200D_206D_206E_200C_202E(skipConditions).HasValue) ? (-1957890921) : (-1957890923)); - while (true) + IPlayerCharacter localPlayer = objectTable.LocalPlayer; + if (skipConditions.MinimumLevel.HasValue && localPlayer != null && localPlayer.Level >= skipConditions.MinimumLevel.Value) { - int num2 = num; - int num3 = -1957890924; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1957890923; - break; - case 3: - return false; - case 2: - num = ((_200C_202D_200F_206E_206B_202A_206D_206F_202B_202A_206E_206C_206A_206B_202A_200F_202B_200B_206F_200E_202D_200D_206B_206D_202D_206D_206F_202E_202D_202C_200C_200B_206F_200C_206C_206F_200D_200B_202B_206B_202E((ICharacter)playerCharacter) < _206B_202A_206C_202A_200F_200B_202B_200D_206A_206F_200F_206C_202D_206B_202B_200C_206C_200F_206B_206D_200D_206C_200C_202C_206A_202C_206A_202C_200E_202B_202E_206E_206F_206E_202E_206F_200D_206D_206E_200C_202E(skipConditions).Value) ? (-1957890921) : (-1957890928)); - break; - case 4: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, 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(-898004694), new object[2] - { - _200C_202D_200F_206E_206B_202A_206D_206F_202B_202A_206E_206C_206A_206B_202A_200F_202B_200B_206F_200E_202D_200D_206B_206D_202D_206D_206F_202E_202D_202C_200C_200B_206F_200C_206C_206F_200D_200B_202B_206B_202E((ICharacter)playerCharacter), - _206B_202A_206C_202A_200F_200B_202B_200D_206A_206F_200F_206C_202D_206B_202B_200C_206C_200F_206B_206D_200D_206C_200C_202C_206A_202C_206A_202C_200E_202B_202E_206E_206F_206E_202E_206F_200D_206D_206E_200C_202E(skipConditions).Value - }); - return true; - case 1: - num = ((playerCharacter == null) ? (-1957890921) : (-1957890922)); - break; - } + logger.LogDebug("Skipping step, as player level {CurrentLevel} >= minimum level {MinLevel}", localPlayer.Level, skipConditions.MinimumLevel.Value); + return true; } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool CheckQuestWorkConditions(ElementId elementId, QuestStep step) { QuestProgressInfo questProgressInfo = questFunctions.GetQuestProgressInfo(elementId); - int num = ((questProgressInfo == null) ? (-268075335) : (-268075357)); - List> list2 = default(List>); - SkipConditions skipConditions = default(SkipConditions); - List list = default(List); - List list3 = default(List); - EClassJob classJob = default(EClassJob); - SkipStepConditions skipStepConditions = default(SkipStepConditions); - while (true) + if (questProgressInfo != null) { - int num2 = num; - int num3 = -268075352; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (QuestWorkUtils.HasCompletionFlags(step.CompletionQuestVariablesFlags) && QuestWorkUtils.MatchesQuestWork(step.CompletionQuestVariablesFlags, questProgressInfo)) { - case 17: - return false; - case 11: - num = ((!QuestWorkUtils.HasCompletionFlags(_202E_200C_200C_206E_206A_206E_206A_202A_202E_202E_200C_202B_206A_206B_202B_200B_202E_202B_206E_206A_200D_202C_206C_202A_202D_202E_206D_206E_200C_202D_206B_202C_202B_206C_206E_206F_202D_202E_202C_202D_202E(step))) ? (-268075346) : (-268075352)); - break; - case 12: - list2 = _202C_200E_202B_200F_200E_206D_200D_202C_206E_200B_200C_200E_200C_206D_206E_202B_200C_206C_200F_206B_206C_206F_202B_206B_200C_202D_206B_200F_202E_202B_202B_200E_202B_202B_200B_202E_202B_200C_202D_200E_202E(step); - num = ((list2 == null) ? (-268075333) : (-268075354)); - break; - case 3: - skipConditions = _202B_200B_206D_206E_206C_200F_200C_206F_200D_206A_206B_202B_202C_200D_206B_206D_206C_200C_206F_200F_206A_202D_200E_206A_206C_200B_202C_202C_200C_206C_200B_200E_206F_200E_202E_206E_202C_206F_202D_200D_202E(step); - num = ((skipConditions == null) ? (-268075348) : (-268075353)); - break; - case 9: - num = ((list.Count <= 0) ? (-268075335) : (-268075334)); - break; - case 2: - num = (list3.Contains(classJob) ? (-268075335) : (-268075345)); - break; - case 14: - { - QuestProgressInfo questWork = questController.GetInitialQuestProgressInfo(elementId) ?? questProgressInfo; - num = (QuestWorkUtils.MatchesRequiredQuestWorkConfig(list2, questWork, logger) ? (-268075333) : (-268075360)); - break; + logger.LogDebug("Skipping step, as quest variables match (step is complete)"); + return true; } - case 6: - num = ((step == null) ? (-268075348) : (-268075349)); - break; - case 7: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, 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(1199565168), Array.Empty()); - return true; - case 5: - num = -268075357; - break; - case 1: - list = _206A_206E_200C_200F_206C_206B_200C_202E_206C_202C_200C_202D_206D_202A_200E_202B_200F_206E_202D_200C_206E_206D_206B_206D_206E_200C_202C_200B_202B_206D_206C_200F_206F_200F_202C_200C_206D_206B_200B_206D_202E(step); - num = ((list == null) ? (-268075335) : (-268075359)); - break; - case 10: - num = ((!QuestWorkUtils.MatchesQuestWork(_200E_206A_202D_202A_202B_202E_206B_202A_206B_206C_202A_206D_202D_202B_206F_206F_202E_206C_200F_200B_206D_200F_206D_200C_202B_200E_200D_200B_206A_202B_200D_202D_202C_202A_202C_202E_206C_206F_200C_202E_202E(skipStepConditions), questProgressInfo)) ? (-268075348) : (-268075355)); - break; - case 15: - skipStepConditions = _200C_206A_206A_206F_200D_206D_202C_202D_202D_202B_206D_202D_200D_202D_202C_206B_200B_202E_206E_202A_200F_206F_200F_200F_200B_206A_200D_206C_200E_200C_200B_202E_206F_206B_206E_200F_206E_206E_200B_202E_202E(skipConditions); - num = ((skipStepConditions == null) ? (-268075348) : (-268075358)); - break; - case 16: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, 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(1045107951), Array.Empty()); - return true; - case 19: - num = ((step == null) ? (-268075335) : (-268075351)); - break; - case 13: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1316937506), Array.Empty()); - return true; - case 8: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1110997016), Array.Empty()); - return true; - case 18: - list3 = _206A_206E_200C_200F_206C_206B_200C_202E_206C_202C_200C_202D_206D_202A_200E_202B_200F_206E_202D_200C_206E_206D_206B_206D_206E_200C_202C_200B_202B_206D_206C_200F_206F_200F_202C_200C_206D_206B_200B_206D_202E(step).SelectMany((EExtendedClassJob x) => classJobUtils.AsIndividualJobs(x, elementId)).ToList(); - classJob = questProgressInfo.ClassJob; - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, 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(2052825077), new object[2] + if (step != null) + { + SkipConditions skipConditions = step.SkipConditions; + if (skipConditions != null) { - classJob, - string.Join(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(1601568869), list3) - }); - num = ((classJob == EClassJob.Adventurer) ? (-268075335) : (-268075350)); - break; - case 4: - num = ((step == null) ? (-268075333) : (-268075356)); - break; - case 0: - num = ((!QuestWorkUtils.MatchesQuestWork(_202E_200C_200C_206E_206A_206E_206A_202A_202E_202E_200C_202B_206A_206B_202B_200B_202E_202B_206E_206A_200D_202C_206C_202A_202D_202E_206D_206E_200C_202D_206B_202C_202B_206C_206E_206F_202D_202E_202C_202D_202E(step), questProgressInfo)) ? (-268075346) : (-268075336)); - break; + SkipStepConditions stepIf = skipConditions.StepIf; + if (stepIf != null && QuestWorkUtils.MatchesQuestWork(stepIf.CompletionQuestVariablesFlags, questProgressInfo)) + { + logger.LogDebug("Skipping step, as quest variables match (step can be skipped)"); + return true; + } + } + } + if (step != null) + { + List> requiredQuestVariables = step.RequiredQuestVariables; + if (requiredQuestVariables != null) + { + QuestProgressInfo questWork = questController.GetInitialQuestProgressInfo(elementId) ?? questProgressInfo; + if (!QuestWorkUtils.MatchesRequiredQuestWorkConfig(requiredQuestVariables, questWork, logger)) + { + logger.LogDebug("Skipping step, as required variables do not match initial quest variables"); + return true; + } + } + } + if (step != null) + { + List requiredQuestAcceptedJob = step.RequiredQuestAcceptedJob; + if (requiredQuestAcceptedJob != null && requiredQuestAcceptedJob.Count > 0) + { + List list = step.RequiredQuestAcceptedJob.SelectMany((EExtendedClassJob x) => classJobUtils.AsIndividualJobs(x, elementId)).ToList(); + EClassJob classJob = questProgressInfo.ClassJob; + logger.LogDebug("Checking quest job {QuestJob} against {ExpectedJobs}", classJob, string.Join(",", list)); + if (classJob != EClassJob.Adventurer && !list.Contains(classJob)) + { + logger.LogDebug("Skipping step, as quest was accepted on a different job"); + return true; + } + } } } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool CheckJobCondition(ElementId elementId, QuestStep step) { - int num = ((step == null) ? (-324171431) : (-324171429)); - List list = default(List); - List list2 = default(List); - uint? num7 = default(uint?); - while (true) + if (step != null) { - int num2 = num; - int num3 = -324171430; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - EClassJob? obj; - switch (num5 - (num6 + num6)) + List requiredCurrentJob = step.RequiredCurrentJob; + if (requiredCurrentJob != null && requiredCurrentJob.Count > 0) { - default: - continue; - case 6: - num = -324171429; - continue; - case 1: - list = _206C_200E_202C_206B_202E_206D_200B_206D_200C_202C_206B_202C_200B_202D_200F_202B_206C_200C_206D_206B_206F_200E_202E_206B_200E_202E_202A_202D_206D_200C_202C_206F_206F_200D_206A_200E_206F_200D_206F_200F_202E(step); - num = ((list == null) ? (-324171431) : (-324171426)); - continue; - case 2: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1964408447), Array.Empty()); - return true; - case 3: - return false; - case 0: - obj = null; - break; - case 7: - { - list2 = _206C_200E_202C_206B_202E_206D_200B_206D_200C_202C_206B_202C_200B_202D_200F_202B_206C_200C_206D_206B_206F_200E_202E_206B_200E_202E_202A_202D_206D_200C_202C_206F_206F_200D_206A_200E_206F_200D_206F_200F_202E(step).SelectMany((EExtendedClassJob x) => classJobUtils.AsIndividualJobs(x, elementId)).ToList(); - IPlayerCharacter playerCharacter = _202D_206B_202D_202C_200F_200F_206C_200C_202E_206C_206E_200C_202B_202B_202C_206E_206B_202D_206C_200C_206A_206F_202E_200C_200E_200F_206E_202B_202A_206E_200F_206D_200D_206E_200C_200B_206C_202E_200D_206B_202E(objectTable); - num7 = ((playerCharacter != null) ? new uint?(_206D_200E_206E_202C_202B_206B_202A_200C_206B_206D_200E_206E_206F_202E_202D_206D_200F_202B_202B_202A_200F_202E_206E_206B_200F_200E_206D_206D_206B_200D_206B_206B_206E_206D_200D_206D_200F_200B_202E_206C_202E((ICharacter)playerCharacter).RowId) : ((uint?)null)); - num = (num7.HasValue ? (-324171425) : (-324171430)); - continue; + List list = step.RequiredCurrentJob.SelectMany((EExtendedClassJob x) => classJobUtils.AsIndividualJobs(x, elementId)).ToList(); + EClassJob valueOrDefault = ((EClassJob?)objectTable.LocalPlayer?.ClassJob.RowId).GetValueOrDefault(); + logger.LogDebug("Checking current job {CurrentJob} against {ExpectedJobs}", valueOrDefault, string.Join(",", list)); + if (!list.Contains(valueOrDefault)) + { + logger.LogDebug("Skipping step, as step requires a different job"); + return true; + } } - case 4: - num = ((list.Count <= 0) ? (-324171431) : (-324171427)); - continue; - case 5: - obj = (EClassJob)num7.GetValueOrDefault(); - break; - } - EClassJob? eClassJob = obj; - EClassJob valueOrDefault = eClassJob.GetValueOrDefault(); - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1181558531), new object[2] - { - valueOrDefault, - string.Join(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1845592431), list2) - }); - num = (list2.Contains(valueOrDefault) ? (-324171431) : (-324171432)); } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool CheckPositionCondition(SkipStepConditions skipConditions) { - IPlayerCharacter playerCharacter = _202D_206B_202D_202C_200F_200F_206C_200C_202E_206C_206E_200C_202B_202B_202C_206E_206B_202D_206C_200C_206A_206F_202E_200C_200E_200F_206E_202B_202A_206E_200F_206D_200D_206E_200C_200B_206C_202E_200D_206B_202E(objectTable); - NearPositionCondition nearPositionCondition = _200B_202E_200C_202A_202B_202B_202C_200D_202E_206A_206D_206B_206F_200D_206C_200F_200E_202B_200C_202C_202A_202E_202A_202E_202A_206D_202A_202A_200C_200C_200B_200F_202C_206C_206F_202D_200E_200E_200D_202B_202E(skipConditions); - int num = ((nearPositionCondition == null) ? 1554570231 : 1554570226); - NearPositionCondition nearPositionCondition2 = default(NearPositionCondition); - while (true) + IPlayerCharacter localPlayer = objectTable.LocalPlayer; + NearPositionCondition nearPosition = skipConditions.NearPosition; + if (nearPosition != null && clientState.TerritoryType == nearPosition.TerritoryId && localPlayer != null && Vector3.Distance(nearPosition.Position, localPlayer.Position) <= nearPosition.MaximumDistance) { - int num2 = num; - int num3 = 1554570227; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - nearPositionCondition2 = _202A_202A_200B_200C_202E_202D_206D_200C_202D_202C_202D_200E_202E_202D_202D_206A_202C_206D_206B_200F_200E_200D_206E_206F_200F_206F_206B_200B_202B_200D_202D_200E_200D_200D_200D_206B_200E_202C_200B_206B_202E(skipConditions); - num = ((nearPositionCondition2 == null) ? 1554570228 : 1554570234); - break; - case 8: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1631609441), Array.Empty()); - return true; - case 10: - num = 1554570226; - break; - case 5: - num = ((playerCharacter == null) ? 1554570231 : 1554570229); - break; - case 9: - num = ((_206D_202A_206F_200B_206C_202A_202C_206D_206B_202E_206E_200E_206C_206F_200F_200F_202C_200D_206F_202B_200B_206E_200D_200C_206A_206E_206E_200D_206F_206D_206A_206C_206F_202C_202C_206E_202D_206F_202B_206D_202E(clientState) != _206D_200B_200F_202A_206C_200F_200F_200B_206A_206E_200E_206B_202B_206B_202B_202A_200C_206B_206A_200D_206F_200F_202A_206E_200E_202B_202B_206F_206D_206E_200F_206A_206B_200F_202D_200B_206C_206A_200E_200E_202E(nearPositionCondition2)) ? 1554570228 : 1554570227); - break; - case 6: - num = ((!(Vector3.Distance(_200C_202A_202B_206D_200F_202D_202B_206E_202D_202B_206E_200C_200D_206E_202C_202D_200E_202C_206D_206B_206C_206F_200D_200F_202D_206B_202D_206A_202A_206A_202D_206B_202B_200D_200B_206B_206F_200E_206A_206C_202E(nearPositionCondition), _200C_206D_202C_202D_202E_200C_202E_206D_200F_202E_202C_200C_202C_202B_200B_202D_206B_200F_200F_206C_206D_206F_202B_206B_200F_206D_200F_206A_206A_200F_206F_202C_206B_202C_206E_206E_200D_200C_202A_200D_202E((IGameObject)playerCharacter)) <= _206E_200E_206E_200E_206C_206C_200E_202E_206C_200B_206A_200D_206C_202A_200E_202B_206C_200E_202A_202E_206C_206C_206B_206C_200E_200C_202E_200F_200F_200B_202B_200E_200B_200D_202C_200F_202C_200C_202B_200D_202E(nearPositionCondition))) ? 1554570231 : 1554570235); - break; - case 1: - num = ((_206D_202A_206F_200B_206C_202A_202C_206D_206B_202E_206E_200E_206C_206F_200F_200F_202C_200D_206F_202B_200B_206E_200D_200C_206A_206E_206E_200D_206F_206D_206A_206C_206F_202C_202C_206E_202D_206F_202B_206D_202E(clientState) != _206D_200B_200F_202A_206C_200F_200F_200B_206A_206E_200E_206B_202B_206B_202B_202A_200C_206B_206A_200D_206F_200F_202A_206E_200E_202B_202B_206F_206D_206E_200F_206A_206B_200F_202D_200B_206C_206A_200E_200E_202E(nearPositionCondition)) ? 1554570231 : 1554570230); - break; - case 7: - return false; - case 0: - num = ((playerCharacter == null) ? 1554570228 : 1554570225); - break; - case 3: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1193189984), Array.Empty()); - return true; - case 2: - num = ((!(_206E_200E_206E_200E_206C_206C_200E_202E_206C_200B_206A_200D_206C_202A_200E_202B_206C_200E_202A_202E_206C_206C_206B_206C_200E_200C_202E_200F_200F_200B_202B_200E_200B_200D_202C_200F_202C_200C_202B_200D_202E(nearPositionCondition2) <= Vector3.Distance(_200C_202A_202B_206D_200F_202D_202B_206E_202D_202B_206E_200C_200D_206E_202C_202D_200E_202C_206D_206B_206C_206F_200D_200F_202D_206B_202D_206A_202A_206A_202D_206B_202B_200D_200B_206B_206F_200E_206A_206C_202E(nearPositionCondition2), _200C_206D_202C_202D_202E_200C_202E_206D_200F_202E_202C_200C_202C_202B_200B_202D_206B_200F_200F_206C_206D_206F_202B_206B_200F_206D_200F_206A_206A_200F_206F_202C_206B_202C_206E_206E_200D_200C_202A_200D_202E((IGameObject)playerCharacter)))) ? 1554570228 : 1554570224); - break; - } + logger.LogDebug("Skipping step, as we're near the position"); + return true; } + NearPositionCondition notNearPosition = skipConditions.NotNearPosition; + if (notNearPosition != null && clientState.TerritoryType == notNearPosition.TerritoryId && localPlayer != null && notNearPosition.MaximumDistance <= Vector3.Distance(notNearPosition.Position, localPlayer.Position)) + { + logger.LogDebug("Skipping step, as we're not near the position"); + return true; + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool CheckPickUpTurnInQuestIds(QuestStep step) { - int num = ((!_200D_200F_200C_202A_206D_200E_202E_206B_200D_206C_206A_200E_200D_206D_202E_200B_200D_206D_200F_200D_200B_202B_206B_200F_200C_202D_202E_206F_206F_202D_202B_200F_206A_206C_206F_202D_202A_202B_206F_206B_202E(_206C_206E_206D_200B_200E_202A_202C_206F_200E_202C_200F_202A_206C_202A_200C_200E_202B_200B_200B_206C_202E_200E_206C_200C_200F_200B_206D_200F_200E_206C_206D_202B_202D_206D_206E_202C_200F_202B_202A_202C_202E(step), (ElementId)null)) ? (-743044795) : (-743044800)); - while (true) + if (step.PickUpQuestId != null && questFunctions.IsQuestAcceptedOrComplete(step.PickUpQuestId)) { - int num2 = num; - int num3 = -743044794; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = ((!_200D_200F_200C_202A_206D_200E_202E_206B_200D_206C_206A_200E_200D_206D_202E_200B_200D_206D_200F_200D_200B_202B_206B_200F_200C_202D_202E_206F_206F_202D_202B_200F_206A_206C_206F_202D_202A_202B_206F_206B_202E(_202E_200C_200D_202D_206A_202C_202D_202E_206D_206A_206D_206B_206B_206B_200B_206E_206A_206B_206C_202A_206A_202D_202C_202D_202A_200F_206D_200B_206C_206D_206D_206D_202C_206C_206F_206C_206C_206B_200D_200C_202E(step), (ElementId)null)) ? (-743044793) : (-743044799)); - break; - case 9: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-152774841), Array.Empty()); - return true; - case 4: - num = ((!gameFunctions.IsFlyingUnlocked(_206A_202B_202C_200B_202D_206B_200F_202C_206E_200B_206C_200C_202B_202D_202C_200C_202A_200E_206E_206A_200E_200F_200C_206C_206A_206F_206C_200D_200C_206D_200D_206A_202E_206C_206F_200B_206E_200B_206E_200E_202E(step))) ? (-743044786) : (-743044785)); - break; - case 13: - num = -743044800; - break; - case 8: - num = ((!_200D_200F_200C_202A_206D_200E_202E_206B_200D_206C_206A_200E_200D_206D_202E_200B_200D_206D_200F_200D_200B_202B_206B_200F_200C_202D_202E_206F_206F_202D_202B_200F_206A_206C_206F_202D_202A_202B_206F_206B_202E(_206C_206E_206D_200B_200E_202A_202C_206F_200E_202C_200F_202A_206C_202A_200C_200E_202B_200B_200B_206C_202E_200E_206C_200C_200F_200B_206D_200F_200E_206C_206D_202B_202D_206D_206E_202C_200F_202B_202A_202C_202E(step), (ElementId)null)) ? (-743044791) : (-743044790)); - break; - case 14: - num = (configuration.Advanced.SkipAetherCurrents ? (-743044785) : (-743044798)); - break; - case 5: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, 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(-1541475572), Array.Empty()); - return true; - case 2: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(363473402), Array.Empty()); - return true; - case 11: - num = ((!QuestData.HardModePrimals.Contains(_206C_206E_206D_200B_200E_202A_202C_206F_200E_202C_200F_202A_206C_202A_200C_200E_202B_200B_200B_206C_202E_200E_206C_200C_200F_200B_206D_200F_200E_206C_206D_202B_202D_206D_206E_202C_200F_202B_202A_202C_202E(step))) ? (-743044791) : (-743044796)); - break; - case 6: - num = ((!questFunctions.IsQuestAcceptedOrComplete(_206C_206E_206D_200B_200E_202A_202C_206F_200E_202C_200F_202A_206C_202A_200C_200E_202B_200B_200B_206C_202E_200E_206C_200C_200F_200B_206D_200F_200E_206C_206D_202B_202D_206D_206E_202C_200F_202B_202A_202C_202E(step))) ? (-743044795) : (-743044797)); - break; - case 1: - num = ((!_200D_200F_200C_202A_206D_200E_202E_206B_200D_206C_206A_200E_200D_206D_202E_200B_200D_206D_200F_200D_200B_202B_206B_200F_200C_202D_202E_206F_206F_202D_202B_200F_206A_206C_206F_202D_202A_202B_206F_206B_202E(_206C_206E_206D_200B_200E_202A_202C_206F_200E_202C_200F_202A_206C_202A_200C_200E_202B_200B_200B_206C_202E_200E_206C_200C_200F_200B_206D_200F_200E_206C_206D_202B_202D_206D_206E_202C_200F_202B_202A_202C_202E(step), (ElementId)null)) ? (-743044786) : (-743044788)); - break; - case 0: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-786278490), Array.Empty()); - return true; - case 7: - num = ((!questFunctions.IsQuestComplete(_202E_200C_200D_202D_206A_202C_202D_202E_206D_206A_206D_206B_206B_206B_200B_206E_206A_206B_206C_202A_206A_202D_202C_202D_202A_200F_206D_200B_206C_206D_206D_206D_202C_206C_206F_206C_206C_206B_200D_200C_202E(step))) ? (-743044793) : (-743044794)); - break; - case 10: - num = ((!QuestData.AetherCurrentQuests.Contains(_206C_206E_206D_200B_200E_202A_202C_206F_200E_202C_200F_202A_206C_202A_200C_200E_202B_200B_200B_206C_202E_200E_206C_200C_200F_200B_206D_200F_200E_206C_206D_202B_202D_206D_206E_202C_200F_202B_202A_202C_202E(step))) ? (-743044786) : (-743044792)); - break; - case 15: - return false; - case 12: - num = ((!configuration.Advanced.SkipARealmRebornHardModePrimals) ? (-743044791) : (-743044787)); - break; - } + logger.LogDebug("Skipping step, as we have already picked up the relevant quest"); + return true; } + if (step.TurnInQuestId != null && questFunctions.IsQuestComplete(step.TurnInQuestId)) + { + logger.LogDebug("Skipping step, as we have already completed the relevant quest"); + return true; + } + if (step.PickUpQuestId != null && QuestData.AetherCurrentQuests.Contains(step.PickUpQuestId) && (configuration.Advanced.SkipAetherCurrents || gameFunctions.IsFlyingUnlocked(step.TerritoryId))) + { + logger.LogDebug("Skipping step, as aether current quests should be skipped"); + return true; + } + if (step.PickUpQuestId != null && configuration.Advanced.SkipARealmRebornHardModePrimals && QuestData.HardModePrimals.Contains(step.PickUpQuestId)) + { + logger.LogDebug("Skipping step, as hard mode primal quests should be skipped"); + return true; + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe bool CheckTaxiStandUnlocked(QuestStep step) { UIState* ptr = UIState.Instance(); - byte? b = _206A_200E_202A_206F_206D_200E_200F_206D_202E_206D_202E_200D_206C_200B_206A_202C_202A_202C_206A_202E_200B_200F_202E_202A_206E_202B_206C_200C_202A_200C_202B_200F_206E_200C_206E_206B_202C_200B_206B_202E(step); - int num = ((!b.HasValue) ? (-46785802) : (-46785804)); - byte valueOrDefault = default(byte); - while (true) + byte? taxiStandId = step.TaxiStandId; + if (taxiStandId.HasValue) { - int num2 = num; - int num3 = -46785803; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + byte valueOrDefault = taxiStandId.GetValueOrDefault(); + if (ptr->IsChocoboTaxiStandUnlocked((uint)(valueOrDefault + 1179648))) { - case 2: - num = -46785804; - break; - case 0: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(538050698), new object[1] { valueOrDefault }); + logger.LogDebug("Skipping step, as taxi stand {TaxiStandId} is unlocked", valueOrDefault); return true; - case 1: - { - valueOrDefault = b.GetValueOrDefault(); - byte num5 = valueOrDefault; - num3 = 1179648; - num4 = num5; - int num6 = num4 ^ num3; - int num7 = num4 & num3; - num = ((!ptr->IsChocoboTaxiStandUnlocked((uint)(num6 + (num7 + num7)))) ? (-46785802) : (-46785803)); - break; - } - case 3: - return false; } } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe bool IsBetterOrEqualItemEquipped(uint itemId) { - int num = ((_202D_206B_202D_202C_200F_200F_206C_200C_202E_206C_206E_200C_202B_202B_202C_206E_206B_202D_206C_200C_206A_206F_202E_200C_200E_200F_206E_202B_202A_206E_200F_206D_200D_206E_200C_200B_206C_202E_200D_206B_202E(objectTable) != null) ? (-1775728062) : (-1775728060)); - uint itemLevel = default(uint); - InventoryItem* inventorySlot = default(InventoryItem*); - InventoryManager* ptr = default(InventoryManager*); - while (true) + if (objectTable.LocalPlayer == null) { - int num2 = num; - int num3 = -1775728061; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 11: - _200B_202C_206E_206E_200E_206E_200C_200B_200C_202C_206A_202D_206C_200F_206B_202B_206D_206B_206E_206E_206A_202C_200E_200D_202A_202B_206E_202C_200D_206A_200B_202D_206B_202C_206C_200B_202E_202E_200C_206F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2103966694), new object[1] { itemId }); - return true; - case 6: - itemLevel = gameFunctions.GetItemLevel(itemId); - num = ((itemLevel != 0) ? (-1775728053) : (-1775728056)); - break; - case 0: - num = -1775728060; - break; - case 7: - return false; - case 10: - return false; - case 3: - { - uint itemLevel2 = gameFunctions.GetItemLevel(inventorySlot->ItemId); - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, 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(1831085937), new object[2] { itemLevel2, itemLevel }); - return itemLevel2 >= itemLevel; - } - case 9: - inventorySlot = ptr->GetInventoryContainer(InventoryType.EquippedItems)->GetInventorySlot(0); - num = ((inventorySlot == null) ? (-1775728057) : (-1775728063)); - break; - case 8: - num = ((((ItemHandle)itemId).GetCount() != 0) ? (-1775728054) : (-1775728058)); - break; - case 4: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-92174121), new object[1] { itemId }); - return false; - case 1: - ptr = InventoryManager.Instance(); - num = ((ptr != null) ? (-1775728059) : (-1775728055)); - break; - case 5: - _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1557496953), new object[1] { itemId }); - return true; - case 2: - num = ((inventorySlot->ItemId != 0) ? (-1775728064) : (-1775728057)); - break; - } + return false; } + InventoryManager* ptr = InventoryManager.Instance(); + if (ptr == null) + { + return false; + } + uint itemLevel = gameFunctions.GetItemLevel(itemId); + if (itemLevel == 0) + { + logger.LogWarning("Could not get item level for item {ItemId}, skipping equip step", itemId); + return true; + } + if (((ItemHandle)itemId).GetCount() == 0) + { + logger.LogDebug("Item {ItemId} not found in inventory, skipping equip step", itemId); + return true; + } + InventoryItem* inventorySlot = ptr->GetInventoryContainer(InventoryType.EquippedItems)->GetInventorySlot(0); + if (inventorySlot == null || inventorySlot->ItemId == 0) + { + logger.LogDebug("No item equipped in main hand slot, should equip item {ItemId}", itemId); + return false; + } + uint itemLevel2 = gameFunctions.GetItemLevel(inventorySlot->ItemId); + logger.LogDebug("Comparing equipped item level {EquippedLevel} with target item level {TargetLevel}", itemLevel2, itemLevel); + return itemLevel2 >= itemLevel; } public override ETaskResult Update() @@ -1329,265 +552,5 @@ internal static class SkipCondition { return false; } - - static string _206C_200C_206C_202A_202B_206A_200F_206C_200D_200E_202C_202B_202B_206F_200D_200C_206A_200B_206C_202D_202D_200E_200E_206B_206F_206D_200B_202D_206F_200E_202C_202C_206A_206F_206C_202E_200B_202E_200E_206C_202E(string P_0, ReadOnlySpan P_1) - { - return string.Join(P_0, P_1); - } - - static void _202C_202B_206F_206E_206F_202E_200D_202C_206B_206A_206E_200F_202B_202B_202A_206E_206E_206C_206C_200F_200D_206B_202C_200E_200F_200C_202A_206D_202A_200D_206A_200F_200E_202C_202D_202A_206F_200F_206A_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static EExtraSkipCondition? _200B_202B_200C_200D_206E_202D_206D_200B_200B_202A_200E_206A_206E_206A_206C_200C_200F_202A_202D_206E_206D_202B_206C_202B_200F_202C_206C_202C_200F_202A_206F_202C_206C_206E_200D_202B_206A_202E_200F_202D_202E(SkipStepConditions P_0) - { - return P_0.ExtraCondition; - } - - static ELockedSkipCondition? _206D_202A_202D_206C_206B_200F_202B_206C_202B_206E_202A_200F_200B_206D_206E_206D_206B_206E_206A_200F_206F_202A_202B_200F_206C_206F_206A_200C_206A_202B_202C_200E_202B_202D_202D_206B_202B_206B_200E_206B_202E(SkipStepConditions P_0) - { - return P_0.Flying; - } - - static ushort _206A_202B_202C_200B_202D_206B_200F_202C_206E_200B_206C_200C_202B_202D_202C_200C_202A_200E_206E_206A_200E_200F_200C_206C_206A_206F_206C_200D_200C_206D_200D_206A_202E_206C_206F_200B_206E_200B_206E_200E_202E(QuestStep P_0) - { - return P_0.TerritoryId; - } - - static ELockedSkipCondition? _206A_202C_202A_202E_200E_206F_200E_202B_202D_200F_206A_202B_202A_200D_206E_202E_200E_202A_200D_206C_202D_206B_200D_202D_202E_206B_206E_206C_200D_206B_206E_206C_200D_206D_206E_206E_202E_200D_200F_202A_202E(SkipStepConditions P_0) - { - return P_0.Chocobo; - } - - static bool _202D_202A_206D_202C_202C_200F_206F_206C_202B_200D_202A_206B_202B_202C_202E_202E_200B_206D_206C_206A_200D_202D_202E_202C_200B_200D_200E_206D_200E_206E_206F_202D_206E_200B_202D_206B_206B_206C_200F_202E(uint P_0) - { - return PlayerStateHelper.IsMountUnlocked(P_0); - } - - static List _200C_200E_202A_200B_206F_206B_202D_206C_202B_206F_206F_206D_202B_202C_206D_206C_200E_202B_200B_200B_202B_202B_206F_206A_200C_206A_206B_206A_202D_206D_200E_200B_206B_202A_200B_200B_206B_202E_202D_202E(SkipStepConditions P_0) - { - return P_0.InTerritory; - } - - static uint _206D_202A_206F_200B_206C_202A_202C_206D_206B_202E_206E_200E_206C_206F_200F_200F_202C_200D_206F_202B_200B_206E_200D_200C_206A_206E_206E_200D_206F_206D_206A_206C_206F_202C_202C_206E_202D_206F_202B_206D_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static List _206F_200F_206C_200B_206A_200D_200C_206A_202E_202B_202C_202B_202D_206E_200C_206C_200C_206A_206D_206D_206E_206B_202B_200C_200C_200E_202D_200F_200E_200F_206A_202D_202A_200C_206C_206F_202A_202E_206C_202C_202E(SkipStepConditions P_0) - { - return P_0.NotInTerritory; - } - - static bool? _202B_200C_206C_206B_202C_206C_206C_202C_206C_206A_206B_202A_206F_206F_202A_200F_200E_200D_200C_200B_206C_202D_200D_206B_206E_202C_200B_206E_202D_200D_202B_206A_200C_200C_202B_206A_202C_200E_200B_202C_202E(SkipStepConditions P_0) - { - return P_0.Diving; - } - - static bool _200C_202C_202A_200C_206D_202D_200F_202B_200E_202C_202C_202A_202E_206A_206F_206F_202A_206F_202D_206E_206D_202C_206E_200F_206D_206B_202B_206F_200C_206C_206C_206A_200C_206D_200D_202A_206A_202D_202D_206A_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static List _206F_206C_202A_202B_202E_202E_200C_202B_206B_200C_202C_202D_202C_202C_202C_206D_206D_206F_200F_200F_202C_206E_202A_206B_200D_206D_200D_202D_206D_206E_202C_200E_200B_202C_200D_206D_200F_202C_200B_202C_202E(SkipStepConditions P_0) - { - return P_0.QuestsCompleted; - } - - static List _200B_206F_202E_206E_200B_206C_200B_206F_202A_200B_206B_202A_206A_200F_202D_202A_200D_206E_202D_200F_200B_206D_200C_202A_206A_206E_200B_206F_200E_200F_200E_202B_200D_206E_202C_200F_200C_206E_202E_200D_202E(SkipStepConditions P_0) - { - return P_0.QuestsAccepted; - } - - static bool _200F_206F_202E_202E_200F_202C_200C_206C_202C_202B_202B_200E_200F_202A_200D_202B_200E_202D_200F_206B_200E_200F_202D_206A_206C_200C_200F_200D_206D_206D_202D_206D_202B_206C_202C_206B_206D_206B_202E(SkipStepConditions P_0) - { - return P_0.NotTargetable; - } - - static uint? _202D_202D_206E_202A_206D_200E_202B_202C_206C_200C_206C_200C_202E_202A_202A_206B_200B_206A_206E_206B_206F_200F_206F_200D_202A_206E_200E_200C_206D_200D_202B_202D_202C_206F_202B_206C_202C_202C_200E_200F_202E(QuestStep P_0) - { - return P_0.DataId; - } - - static IPlayerCharacter _202D_206B_202D_202C_200F_200F_206C_200C_202E_206C_206E_200C_202B_202B_202C_206E_206B_202D_206C_200C_206A_206F_202E_200C_200E_200F_206E_202B_202A_206E_200F_206D_200D_206E_200C_200B_206C_202E_200D_206B_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static Vector3? _206E_200B_206E_206E_206C_206D_206C_206D_200D_202E_202E_202C_206A_200F_200C_206D_202E_200F_202B_200C_200D_206F_200D_202C_200C_202B_206B_206D_206A_206B_206A_202E_200F_202B_200F_200F_200C_206D_202A_200D_202E(QuestStep P_0) - { - return P_0.Position; - } - - static Vector3 _200C_206D_202C_202D_202E_200C_202E_206D_200F_202E_202C_200C_202C_202B_200B_202D_206B_200F_200F_206C_206D_206F_202B_206B_200F_206D_200F_206A_206A_200F_206F_202C_206B_202C_206E_206E_200D_200C_202A_200D_202E(IGameObject P_0) - { - return P_0.Position; - } - - static bool _202C_202E_202B_200F_200C_202B_202E_206A_200D_206C_200C_206F_206B_200F_206D_202E_202C_200F_206D_202C_202A_200B_206E_206F_202C_202B_202C_206A_206E_206E_200E_200F_206C_200B_206E_206F_206C_206F_206D_202C_202E(IGameObject P_0) - { - return P_0.IsTargetable; - } - - static List _202E_202E_202E_200F_202D_206B_206A_206D_206A_202A_206B_200E_202C_202D_206C_202B_200E_206F_200E_200F_202C_200E_206C_202B_206E_200E_206F_202A_202B_206B_202C_202A_206B_202B_206D_200E_200D_206D_202E_206A_202E(SkipStepConditions P_0) - { - return P_0.NotNamePlateIconId; - } - - static nint _206D_200C_200B_206F_200E_202D_200D_200C_200E_200D_202E_206A_202A_202B_200D_202A_202E_200F_206F_206D_202D_206D_200D_202B_202E_206F_202B_202B_200C_206D_200C_206F_206E_200C_206D_200B_202C_206A_206B_206B_202E(IGameObject P_0) - { - return P_0.Address; - } - - static SkipItemConditions _202D_202E_202B_200B_202D_206C_202A_200B_202D_200B_200C_206B_206F_202E_206F_206A_206F_206A_202A_200F_202A_202B_206D_200F_202C_202E_206B_200C_206C_206A_202E_206C_202B_200C_206A_206C_206B_206D_206E_206A_202E(SkipStepConditions P_0) - { - return P_0.Item; - } - - static bool _202E_200E_206B_202D_206D_200D_202E_206F_202A_200E_206D_202E_206E_206C_202C_202D_200D_200D_200E_206A_206D_206D_202A_200D_200F_202B_206B_202E_206D_202E_206F_200C_202A_206C_206C_200D_200E_200C_200E_202C_202E(SkipItemConditions P_0) - { - return P_0.NotInInventory; - } - - static uint? _202C_200C_202B_200B_200B_202A_202C_200E_200D_206A_200F_206A_206F_200D_200F_202D_200B_202E_200F_206C_200F_206A_206A_206F_206E_206A_200F_206F_200E_206D_202D_200E_200C_200E_200B_200C_206E_202C_202A_202E(QuestStep P_0) - { - return P_0.ItemId; - } - - static bool _200D_200E_206B_200E_200B_206D_206A_200D_200E_200E_202D_200D_206B_202A_206C_202C_206E_200C_206D_206B_202B_206A_200C_206D_206D_202C_206F_200F_200F_200B_200F_206E_206A_202B_206E_202D_200C_202E_206C_202A_202E(SkipItemConditions P_0) - { - return P_0.InInventory; - } - - static bool _206C_206F_206B_206F_202B_206E_206D_202A_206C_200F_206D_206B_200F_206B_202C_206B_202E_200D_206C_202D_206D_206D_202B_202B_206E_206F_206C_202D_202D_202A_200C_200D_206D_202E_200C_206F_202B_202D_200F_202A_202E(SkipItemConditions P_0) - { - return P_0.BetterOrEqualItemEquipped; - } - - static EInteractionType _200E_206D_206F_200B_200F_206E_202B_200E_200E_206C_206B_206F_200C_202A_206C_206F_200E_200B_202D_202B_200B_200B_206D_206A_200B_200C_202B_202C_202B_200B_202B_202C_206D_206D_206B_206D_206F_200F_202C_206C_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static int? _202C_206B_202C_202C_206A_206B_200D_206B_202A_202D_202B_206A_206A_202C_206A_206F_200B_206A_202C_206A_206A_200F_206E_202D_202B_202C_200E_200F_206C_206C_200E_206C_200E_202A_200F_200F_202E_200B_206E_202D_202E(QuestStep P_0) - { - return P_0.ItemCount; - } - - static EAetheryteLocation? _200E_200D_206D_206D_200C_202B_206F_206C_200B_206F_206A_206B_202D_206A_206A_206A_200C_206A_206B_202E_206E_202D_200B_200F_206E_200D_206F_200D_200F_200B_206A_202A_206E_206C_200D_206A_206C_206F_200B_206D_202E(QuestStep P_0) - { - return P_0.Aetheryte; - } - - static EAetheryteLocation? _200D_200E_206B_202D_206D_202D_200C_206E_206B_200B_202A_200E_202A_200F_200C_206E_200B_200C_206A_206B_200B_206E_206A_206F_200F_202E_200C_202B_200E_202C_202B_200C_206B_200C_202C_206C_200E_202C_202B_200E_202E(SkipStepConditions P_0) - { - return P_0.AetheryteLocked; - } - - static EAetheryteLocation? _206C_206F_202B_202A_206F_202C_206B_202E_206A_202D_200F_206C_200B_200D_200C_206D_202E_206C_200D_202A_200E_200F_206A_206B_200E_200D_202C_206F_206C_206E_202C_206A_200C_206E_200E_200F_206F_206C_206D_206D_202E(SkipStepConditions P_0) - { - return P_0.AetheryteUnlocked; - } - - static ushort? _206B_202A_206C_202A_200F_200B_202B_200D_206A_206F_200F_206C_202D_206B_202B_200C_206C_200F_206B_206D_200D_206C_200C_202C_206A_202C_206A_202C_200E_202B_202E_206E_206F_206E_202E_206F_200D_206D_206E_200C_202E(SkipStepConditions P_0) - { - return P_0.MinimumLevel; - } - - static byte _200C_202D_200F_206E_206B_202A_206D_206F_202B_202A_206E_206C_206A_206B_202A_200F_202B_200B_206F_200E_202D_200D_206B_206D_202D_206D_206F_202E_202D_202C_200C_200B_206F_200C_206C_206F_200D_200B_202B_206B_202E(ICharacter P_0) - { - return P_0.Level; - } - - static List _202E_200C_200C_206E_206A_206E_206A_202A_202E_202E_200C_202B_206A_206B_202B_200B_202E_202B_206E_206A_200D_202C_206C_202A_202D_202E_206D_206E_200C_202D_206B_202C_202B_206C_206E_206F_202D_202E_202C_202D_202E(QuestStep P_0) - { - return P_0.CompletionQuestVariablesFlags; - } - - static SkipConditions _202B_200B_206D_206E_206C_200F_200C_206F_200D_206A_206B_202B_202C_200D_206B_206D_206C_200C_206F_200F_206A_202D_200E_206A_206C_200B_202C_202C_200C_206C_200B_200E_206F_200E_202E_206E_202C_206F_202D_200D_202E(QuestStep P_0) - { - return P_0.SkipConditions; - } - - static SkipStepConditions _200C_206A_206A_206F_200D_206D_202C_202D_202D_202B_206D_202D_200D_202D_202C_206B_200B_202E_206E_202A_200F_206F_200F_200F_200B_206A_200D_206C_200E_200C_200B_202E_206F_206B_206E_200F_206E_206E_200B_202E_202E(SkipConditions P_0) - { - return P_0.StepIf; - } - - static IList _200E_206A_202D_202A_202B_202E_206B_202A_206B_206C_202A_206D_202D_202B_206F_206F_202E_206C_200F_200B_206D_200F_206D_200C_202B_200E_200D_200B_206A_202B_200D_202D_202C_202A_202C_202E_206C_206F_200C_202E_202E(SkipStepConditions P_0) - { - return P_0.CompletionQuestVariablesFlags; - } - - static List> _202C_200E_202B_200F_200E_206D_200D_202C_206E_200B_200C_200E_200C_206D_206E_202B_200C_206C_200F_206B_206C_206F_202B_206B_200C_202D_206B_200F_202E_202B_202B_200E_202B_202B_200B_202E_202B_200C_202D_200E_202E(QuestStep P_0) - { - return P_0.RequiredQuestVariables; - } - - static List _206A_206E_200C_200F_206C_206B_200C_202E_206C_202C_200C_202D_206D_202A_200E_202B_200F_206E_202D_200C_206E_206D_206B_206D_206E_200C_202C_200B_202B_206D_206C_200F_206F_200F_202C_200C_206D_206B_200B_206D_202E(QuestStep P_0) - { - return P_0.RequiredQuestAcceptedJob; - } - - static List _206C_200E_202C_206B_202E_206D_200B_206D_200C_202C_206B_202C_200B_202D_200F_202B_206C_200C_206D_206B_206F_200E_202E_206B_200E_202E_202A_202D_206D_200C_202C_206F_206F_200D_206A_200E_206F_200D_206F_200F_202E(QuestStep P_0) - { - return P_0.RequiredCurrentJob; - } - - static RowRef _206D_200E_206E_202C_202B_206B_202A_200C_206B_206D_200E_206E_206F_202E_202D_206D_200F_202B_202B_202A_200F_202E_206E_206B_200F_200E_206D_206D_206B_200D_206B_206B_206E_206D_200D_206D_200F_200B_202E_206C_202E(ICharacter P_0) - { - return P_0.ClassJob; - } - - static NearPositionCondition _200B_202E_200C_202A_202B_202B_202C_200D_202E_206A_206D_206B_206F_200D_206C_200F_200E_202B_200C_202C_202A_202E_202A_202E_202A_206D_202A_202A_200C_200C_200B_200F_202C_206C_206F_202D_200E_200E_200D_202B_202E(SkipStepConditions P_0) - { - return P_0.NearPosition; - } - - static ushort _206D_200B_200F_202A_206C_200F_200F_200B_206A_206E_200E_206B_202B_206B_202B_202A_200C_206B_206A_200D_206F_200F_202A_206E_200E_202B_202B_206F_206D_206E_200F_206A_206B_200F_202D_200B_206C_206A_200E_200E_202E(NearPositionCondition P_0) - { - return P_0.TerritoryId; - } - - static Vector3 _200C_202A_202B_206D_200F_202D_202B_206E_202D_202B_206E_200C_200D_206E_202C_202D_200E_202C_206D_206B_206C_206F_200D_200F_202D_206B_202D_206A_202A_206A_202D_206B_202B_200D_200B_206B_206F_200E_206A_206C_202E(NearPositionCondition P_0) - { - return P_0.Position; - } - - static float _206E_200E_206E_200E_206C_206C_200E_202E_206C_200B_206A_200D_206C_202A_200E_202B_206C_200E_202A_202E_206C_206C_206B_206C_200E_200C_202E_200F_200F_200B_202B_200E_200B_200D_202C_200F_202C_200C_202B_200D_202E(NearPositionCondition P_0) - { - return P_0.MaximumDistance; - } - - static NearPositionCondition _202A_202A_200B_200C_202E_202D_206D_200C_202D_202C_202D_200E_202E_202D_202D_206A_202C_206D_206B_200F_200E_200D_206E_206F_200F_206F_206B_200B_202B_200D_202D_200E_200D_200D_200D_206B_200E_202C_200B_206B_202E(SkipStepConditions P_0) - { - return P_0.NotNearPosition; - } - - static ElementId _206C_206E_206D_200B_200E_202A_202C_206F_200E_202C_200F_202A_206C_202A_200C_200E_202B_200B_200B_206C_202E_200E_206C_200C_200F_200B_206D_200F_200E_206C_206D_202B_202D_206D_206E_202C_200F_202B_202A_202C_202E(QuestStep P_0) - { - return P_0.PickUpQuestId; - } - - static bool _200D_200F_200C_202A_206D_200E_202E_206B_200D_206C_206A_200E_200D_206D_202E_200B_200D_206D_200F_200D_200B_202B_206B_200F_200C_202D_202E_206F_206F_202D_202B_200F_206A_206C_206F_202D_202A_202B_206F_206B_202E(ElementId P_0, ElementId P_1) - { - return P_0 != P_1; - } - - static ElementId _202E_200C_200D_202D_206A_202C_202D_202E_206D_206A_206D_206B_206B_206B_200B_206E_206A_206B_206C_202A_206A_202D_202C_202D_202A_200F_206D_200B_206C_206D_206D_206D_202C_206C_206F_206C_206C_206B_200D_200C_202E(QuestStep P_0) - { - return P_0.TurnInQuestId; - } - - static byte? _206A_200E_202A_206F_206D_200E_200F_206D_202E_206D_202E_200D_206C_200B_206A_202C_202A_202C_206A_202E_200B_200F_202E_202A_206E_202B_206C_200C_202A_200C_202B_200F_206E_200C_206E_206B_202C_200B_206B_202E(QuestStep P_0) - { - return P_0.TaxiStandId; - } - - static void _200B_202C_206E_206E_200E_206E_200C_200B_200C_202C_206A_202D_206C_200F_206B_202B_206D_206B_206E_206E_206A_202C_200E_200D_202A_202B_206E_202C_200D_206A_200B_202D_206B_202C_206C_200B_202E_202E_200C_206F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } } } diff --git a/Questionable/Questionable.Controller.Steps.Shared/SkipMissingObject.cs b/Questionable/Questionable.Controller.Steps.Shared/SkipMissingObject.cs index e4f6e40..b545f91 100644 --- a/Questionable/Questionable.Controller.Steps.Shared/SkipMissingObject.cs +++ b/Questionable/Questionable.Controller.Steps.Shared/SkipMissingObject.cs @@ -1,7 +1,4 @@ using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Microsoft.Extensions.Logging; using Questionable.Functions; using Questionable.Model.Questing; @@ -12,107 +9,9 @@ internal static class SkipMissingObject { internal sealed record Task(uint DataId, ElementId ElementId, int Sequence) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202C_200C_200F_202D_202C_206F_200B_206B_200D_202D_206B_202C_200B_206C_202C_202C_206A_202C_202C_200D_206C_200F_200E_206B_200B_200D_206E_202A_206F_206E_200F_200E_206D_206B_206E_202D_202B_200C_200E_202D_202E(typeof(Task).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(19, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(581809339)); - defaultInterpolatedStringHandler.AppendFormatted(DataId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1618480346)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202B_202B_200F_206A_202A_200F_200F_206F_202C_206C_200E_206B_202C_202B_206C_202E_206B_202E_202C_206E_206A_202C_200C_202E_202A_200F_206D_206C_200E_202A_206D_206E_202A_202B_200B_202C_200F_202B_206E_206D_202E(); - _202B_202B_206B_206C_202A_206D_200B_206B_202B_202E_202C_206F_200C_202D_200E_200B_202C_200D_200B_200B_202C_202D_206C_200E_202A_200F_202D_202A_206B_200F_206B_206A_200D_206B_200B_206A_206E_200F_206F_200E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1430532645)); - _202B_202B_206B_206C_202A_206D_200B_206B_202B_202E_202C_206F_200C_202D_200E_200B_202C_200D_200B_200B_202C_202D_206C_200E_202A_200F_202D_202A_206B_200F_206B_206A_200D_206B_200B_206A_206E_200F_206F_200E_202E(builder, DataId.ToString()); - _202B_202B_206B_206C_202A_206D_200B_206B_202B_202E_202C_206F_200C_202D_200E_200B_202C_200D_200B_200B_202C_202D_206C_200E_202A_200F_202D_202A_206B_200F_206B_206A_200D_206B_200B_206A_206E_200F_206F_200E_202E(builder, 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(70669024)); - _200F_200F_200E_200E_200E_206E_200B_200F_206D_200F_202D_206E_206E_206F_202D_202C_202C_202A_200D_200E_200C_206F_200C_200F_200F_200B_206A_200D_202A_200C_200E_200D_200C_206F_202A_206E_200D_206D_206D_200E_202E(builder, (object)ElementId); - _202B_202B_206B_206C_202A_206D_200B_206B_202B_202E_202C_206F_200C_202D_200E_200B_202C_200D_200B_200B_202C_202D_206C_200E_202A_200F_202D_202A_206B_200F_206B_206A_200D_206B_200B_206A_206E_200F_206F_200E_202E(builder, 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(-1883281888)); - _202B_202B_206B_206C_202A_206D_200B_206B_202B_202E_202C_206F_200C_202D_200E_200B_202C_200D_200B_200B_202C_202D_206C_200E_202A_200F_202D_202A_206B_200F_206B_206A_200D_206B_200B_206A_206E_200F_206F_200E_202E(builder, Sequence.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(Task? other) - { - int num = (((object)this == other) ? 1374562800 : 1374562801); - while (true) - { - int num2 = num; - int num3 = 1374562804; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return EqualityComparer.Default.Equals(Sequence, other.Sequence); - case 3: - num = ((!EqualityComparer.Default.Equals(ElementId, other.ElementId)) ? 1374562806 : 1374562805); - break; - case 2: - return false; - case 5: - num = (((object)other == null) ? 1374562806 : 1374562803); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(DataId, other.DataId)) ? 1374562806 : 1374562807); - break; - case 7: - num = ((!_202E_200D_206F_202A_206C_206F_206C_206B_206A_202E_200C_202D_206F_206D_206E_202D_200C_200B_200C_206B_206E_206B_206A_202B_206F_206C_206E_202A_200B_206A_202E_202A_206A_202E_206E_200D_206C_202C_206F_202E_202E(EqualityContract, other.EqualityContract)) ? 1374562806 : 1374562802); - break; - case 4: - return true; - case 0: - num = 1374562801; - break; - } - } - } - - bool IEquatable.Equals(Task? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202C_200C_200F_202D_202C_206F_200B_206B_200D_202D_206B_202C_200B_206C_202C_202C_206A_202C_202C_200D_206C_200F_200E_206B_200B_200D_206E_202A_206F_206E_200F_200E_206D_206B_206E_202D_202B_200C_200E_202D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _202B_202B_200F_206A_202A_200F_200F_206F_202C_206C_200E_206B_202C_202B_206C_202E_206B_202E_202C_206E_206A_202C_200C_202E_202A_200F_206D_206C_200E_202A_206D_206E_202A_202B_200B_202C_200F_202B_206E_206D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202B_202B_206B_206C_202A_206D_200B_206B_202B_202E_202C_206F_200C_202D_200E_200B_202C_200D_200B_200B_202C_202D_206C_200E_202A_200F_202D_202A_206B_200F_206B_206A_200D_206B_200B_206A_206E_200F_206F_200E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200F_200F_200E_200E_200E_206E_200B_200F_206D_200F_202D_206E_206E_206F_202D_202C_202C_202A_200D_200E_200C_206F_200C_200F_200F_200B_206A_200D_202A_200C_200E_200D_200C_206F_202A_206E_200D_206D_206D_200E_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202E_200D_206F_202A_206C_206F_206C_206B_206A_202E_200C_202D_206F_206D_206E_202D_200C_200B_200C_206B_206E_206B_206A_202B_206F_206C_206E_202A_200B_206A_202E_202A_206A_202E_206E_200D_206C_202C_206F_202E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"SkipMissingObject({DataId})"; } } @@ -122,52 +21,28 @@ internal static class SkipMissingObject protected override bool Start() { - _skipAt = _206D_200B_206C_206E_200B_200D_206F_202E_206A_202E_200E_200C_206A_200C_200D_206C_200E_200F_206C_206F_206D_200E_206E_200E_200D_206A_200F_200E_206E_206C_206F_202E_206B_202D_202C_206F_200B_206B_206D_206B_202E() + 500; + _skipAt = Environment.TickCount64 + 500; return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - int num = ((gameFunctions.FindObjectByDataId(base.Task.DataId, null, warnIfMissing: false) == null) ? 54864098 : 54864097); - while (true) + if (gameFunctions.FindObjectByDataId(base.Task.DataId, null, warnIfMissing: false) != null) { - int num2 = num; - int num3 = 54864098; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - _206B_206A_206C_200B_206F_206F_202A_206F_200F_202D_202A_206C_202E_206A_206D_206F_206D_200E_200F_206A_202C_200F_202B_206C_206A_206E_200E_202C_206D_202A_206F_202D_200F_206B_206A_200C_206C_206F_200C_206F_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1261971575), new object[1] { base.Task.DataId }); - questController.IncreaseStepCount(base.Task.ElementId, base.Task.Sequence, shouldContinue: true); - return ETaskResult.SkipRemainingTasksForStep; - case 1: - return ETaskResult.StillRunning; - case 0: - num = ((_206D_200B_206C_206E_200B_200D_206F_202E_206A_202E_200E_200C_206A_200C_200D_206C_200E_200F_206C_206F_206D_200E_206E_200E_200D_206A_200F_200E_206E_206C_206F_202E_206B_202D_202C_206F_200B_206B_206D_206B_202E() >= _skipAt) ? 54864096 : 54864099); - break; - case 3: - return ETaskResult.TaskComplete; - case 4: - num = 54864097; - break; - } + return ETaskResult.TaskComplete; } + if (Environment.TickCount64 < _skipAt) + { + return ETaskResult.StillRunning; + } + logger.LogInformation("Skipping simulated actions because GameObject {DataId} is not present", base.Task.DataId); + questController.IncreaseStepCount(base.Task.ElementId, base.Task.Sequence, shouldContinue: true); + return ETaskResult.SkipRemainingTasksForStep; } public override bool ShouldInterruptOnDamage() { return false; } - - static long _206D_200B_206C_206E_200B_200D_206F_202E_206A_202E_200E_200C_206A_200C_200D_206C_200E_200F_206C_206F_206D_200E_206E_200E_200D_206A_200F_200E_206E_206C_206F_202E_206B_202D_202C_206F_200B_206B_206D_206B_202E() - { - return Environment.TickCount64; - } - - static void _206B_206A_206C_200B_206F_206F_202A_206F_200F_202D_202A_206C_202E_206A_206D_206F_206D_200E_200F_206A_202C_200F_202B_206C_206A_206E_200E_202C_206D_202A_206F_202D_200F_206B_206A_200C_206C_206F_200C_206F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } } } diff --git a/Questionable/Questionable.Controller.Steps.Shared/SmartNavStep.cs b/Questionable/Questionable.Controller.Steps.Shared/SmartNavStep.cs index 676c844..b41e655 100644 --- a/Questionable/Questionable.Controller.Steps.Shared/SmartNavStep.cs +++ b/Questionable/Questionable.Controller.Steps.Shared/SmartNavStep.cs @@ -1,10 +1,5 @@ -using System; -using System.Collections; using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Diagnostics; using System.Numerics; -using System.Runtime.CompilerServices; using Microsoft.Extensions.Logging; using Questionable.Data; using Questionable.Model; @@ -20,432 +15,77 @@ internal static class SmartNavStep { internal sealed class Factory(NavRouter navRouter, PlayerNavStateBuilder playerNavStateBuilder, RouteInstructionBuilder instructionBuilder, SmartNavTaskMapper taskMapper, SmartNavReRouteService reRouteService, AetheryteData aetheryteData, TerritoryData territoryData, ILogger logger) : ITaskFactory { - [CompilerGenerated] - private sealed class _003CCreateAllTasks_003Ed__13 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ITask _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - public Factory _003C_003E4__this; - - private QuestStep step; - - public QuestStep _003C_003E3__step; - - private IEnumerator _003C_003E7__wrap1; - - ITask IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CCreateAllTasks_003Ed__13(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _200F_200F_202C_206D_206F_202D_200D_206E_200B_202D_206A_202A_206B_202E_206D_200F_202E_206C_206C_206B_200C_206D_200B_206E_200F_200F_206F_206E_206A_200E_206B_206C_202C_202C_202B_206C_202D_206E_202D_200C_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = ((num == -3) ? 605314869 : 605314870); - while (true) - { - int num3 = num2; - int num4 = 605314868; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - default: - continue; - case 0: - num2 = 605314870; - continue; - case 2: - if (num == 1) - { - num2 = 605314869; - continue; - } - break; - case 1: - try - { - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003C_003E7__wrap1 = null; - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - try - { - int num = _003C_003E1__state; - Factory factory = _003C_003E4__this; - int num2 = ((num == 0) ? 663941782 : 663941783); - Vector3? vector = default(Vector3?); - PlayerNavState playerNavState = default(PlayerNavState); - RouteResult routeResult = default(RouteResult); - while (true) - { - int num3 = num2; - int num4 = 663941778; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 8: - num2 = (_202D_200C_202E_202D_200B_206A_206E_206E_200C_200B_200F_200F_206F_206C_200C_206C_206D_200B_206B_200E_200D_206D_202A_206E_202E_200F_206C_206F_206F_202C_200B_206F_202E_200C_202C_202B_202B_200D_206F_202D_202E((IEnumerator)_003C_003E7__wrap1) ? 663941779 : 663941780); - break; - case 4: - _003C_003E1__state = -1; - factory.HandledRouting = false; - vector = factory.ResolveDestination(step); - num2 = (vector.HasValue ? 663941790 : 663941781); - break; - case 0: - num2 = 663941783; - break; - case 11: - return false; - case 12: - playerNavState = _200C_202A_206C_206D_206B_200D_200F_202A_202D_200E_206E_200D_200B_206C_206A_200F_202A_202B_206C_200E_206E_200B_202B_200F_202C_206B_206F_200E_202A_202B_202A_206E_206E_202C_200F_200F_202B_202A_206F_206F_202E(factory.playerNavStateBuilder, (int?)null); - num2 = ((playerNavState != null) ? 663941776 : 663941785); - break; - case 7: - return false; - case 3: - _003C_003E1__state = -3; - num2 = 663941786; - break; - case 13: - return false; - case 10: - return false; - case 1: - { - ITask current = _003C_003E7__wrap1.Current; - _003C_003E2__current = current; - _003C_003E1__state = 1; - return true; - } - case 2: - routeResult = _206C_200D_206E_200F_200D_200B_202A_202C_206B_206D_206E_206C_202A_206F_206B_206B_206B_202D_202B_200F_206C_206D_200F_206F_200B_202C_206A_202A_202E_202E_202D_206B_200E_206A_202B_206E_202E_206F_200C_206A_202E(factory.navRouter, playerNavState, (uint)_206D_206D_206C_200C_206D_202C_206E_202C_206B_202D_206B_206A_200F_206B_200D_206A_200D_206C_206D_202E_200F_202C_206B_206F_206C_206B_206B_200F_200B_202E_206E_206F_200C_202A_200F_206A_202C_206E_206C_202C_202E(step), vector.Value, (IReadOnlySet)null); - num2 = ((_206F_206B_200F_202A_202E_200F_200B_200B_200B_200E_200D_206A_202A_206D_200D_200E_206F_202E_202A_206C_206B_200C_206E_202E_202C_202A_206E_200E_202E_206F_206D_206C_200D_202B_206E_202E_202E_200C_202A_202E_202E(routeResult).Count != 0) ? 663941787 : 663941791); - break; - case 5: - num2 = ((num == 1) ? 663941777 : 663941784); - break; - case 9: - factory.HandledRouting = true; - _200C_202B_200D_200E_206A_200E_200D_206B_206C_202B_206C_202D_202D_206A_206B_206D_200B_206D_202B_202D_206F_206C_200B_202E_200B_200F_200B_202B_206E_202C_206A_200D_200E_202B_206E_200D_206B_202E_206B_202E((ILogger)factory.logger, 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(-1590358802), new object[2] - { - factory.territoryData.GetNameAndId(_206D_206D_206C_200C_206D_202C_206E_202C_206B_202D_206B_206A_200F_206B_200D_206A_200D_206C_206D_202E_200F_202C_206B_206F_206C_206B_206B_200F_200B_202E_206E_206F_200C_202A_200F_206A_202C_206E_206C_202C_202E(step)), - _206F_206B_200F_202A_202E_200F_200B_200B_200B_200E_200D_206A_202A_206D_200D_200E_206F_202E_202A_206C_206B_200C_206E_202E_202C_202A_206E_200E_202E_206F_206D_206C_200D_202B_206E_202E_202E_200C_202A_202E_202E(routeResult).Count - }); - factory.reRouteService.SetDestination(_206D_206D_206C_200C_206D_202C_206E_202C_206B_202D_206B_206A_200F_206B_200D_206A_200D_206C_206D_202E_200F_202C_206B_206F_206C_206B_206B_200F_200B_202E_206E_206F_200C_202A_200F_206A_202C_206E_206C_202C_202E(step), vector.Value); - _003C_003E7__wrap1 = factory.taskMapper.MapInstructions(_202C_206C_206A_202C_206B_206D_206B_206F_202A_202E_206E_206F_202A_206B_206C_206F_200B_206B_202B_202E_202C_200E_202A_200B_206D_200F_206F_202E_202B_200F_206F_202E_200B_202B_202A_202D_206D_206D_202B_202C_202E(factory.instructionBuilder, routeResult, (uint)_206D_206D_206C_200C_206D_202C_206E_202C_206B_202D_206B_206A_200F_206B_200D_206A_200D_206C_206D_202E_200F_202C_206B_206F_206C_206B_206B_200F_200B_202E_206E_206F_200C_202A_200F_206A_202C_206E_206C_202C_202E(step), _206D_202C_202E_200D_202A_200D_200B_200F_206C_200B_206F_206B_206F_206F_200D_200E_206B_206A_206C_200F_200C_200F_206A_200D_206D_206B_206A_202B_200B_200F_202E_200D_202C_206C_206E_206B_206D_202A_200B_202E_202E(step)), step).GetEnumerator(); - _003C_003E1__state = -3; - num2 = 663941786; - break; - case 6: - _003C_003Em__Finally1(); - _003C_003E7__wrap1 = null; - return false; - } - } - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - int num = ((_003C_003E7__wrap1 == null) ? 298667003 : 298667002); - while (true) - { - int num2 = num; - int num3 = 298667003; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 298667002; - break; - case 1: - _200E_202A_206A_200C_206E_206C_206B_206B_206D_206E_206B_202C_206D_206A_202B_202B_200C_202B_202E_202C_202D_200B_200D_202C_206B_202B_206F_202B_200F_200F_202B_202D_200C_206E_200F_206C_200F_206A_206F_206D_202E((IDisposable)_003C_003E7__wrap1); - num = 298667003; - break; - case 0: - return; - } - } - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _206C_206C_200B_202D_206A_200B_200C_206D_202D_206E_202A_202B_206A_206B_200D_202E_202D_200C_200C_200C_200D_206E_202E_202A_206A_200C_202B_202C_206E_206E_200B_200C_200D_206F_202C_200C_206E_206B_206F_206C_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? (-183220830) : (-183220831)); - _003CCreateAllTasks_003Ed__13 _003CCreateAllTasks_003Ed__ = default(_003CCreateAllTasks_003Ed__13); - while (true) - { - int num2 = num; - int num3 = -183220832; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - _003C_003E1__state = 0; - _003CCreateAllTasks_003Ed__ = this; - num = -183220832; - break; - case 1: - num = ((_003C_003El__initialThreadId != _200F_200F_202C_206D_206F_202D_200D_206E_200B_202D_206A_202A_206B_202E_206D_200F_202E_206C_206C_206B_200C_206D_200B_206E_200F_200F_206F_206E_206A_200E_206B_206C_202C_202C_202B_206C_202D_206E_202D_200C_202E()) ? (-183220830) : (-183220828)); - break; - case 0: - _003CCreateAllTasks_003Ed__.step = _003C_003E3__step; - return _003CCreateAllTasks_003Ed__; - case 3: - num = -183220831; - break; - case 2: - _003CCreateAllTasks_003Ed__ = new _003CCreateAllTasks_003Ed__13(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = -183220832; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _200F_200F_202C_206D_206F_202D_200D_206E_200B_202D_206A_202A_206B_202E_206D_200F_202E_206C_206C_206B_200C_206D_200B_206E_200F_200F_206F_206E_206A_200E_206B_206C_202C_202C_202B_206C_202D_206E_202D_200C_202E() - { - return Environment.CurrentManagedThreadId; - } - - static PlayerNavState _200C_202A_206C_206D_206B_200D_200F_202A_202D_200E_206E_200D_200B_206C_206A_200F_202A_202B_206C_200E_206E_200B_202B_200F_202C_206B_206F_200E_202A_202B_202A_206E_206E_202C_200F_200F_202B_202A_206F_206F_202E(PlayerNavStateBuilder P_0, int? P_1) - { - return P_0.Build(P_1); - } - - static ushort _206D_206D_206C_200C_206D_202C_206E_202C_206B_202D_206B_206A_200F_206B_200D_206A_200D_206C_206D_202E_200F_202C_206B_206F_206C_206B_206B_200F_200B_202E_206E_206F_200C_202A_200F_206A_202C_206E_206C_202C_202E(QuestStep P_0) - { - return P_0.TerritoryId; - } - - static RouteResult _206C_200D_206E_200F_200D_200B_202A_202C_206B_206D_206E_206C_202A_206F_206B_206B_206B_202D_202B_200F_206C_206D_200F_206F_200B_202C_206A_202A_202E_202E_202D_206B_200E_206A_202B_206E_202E_206F_200C_206A_202E(NavRouter P_0, PlayerNavState P_1, uint P_2, Vector3 P_3, IReadOnlySet P_4) - { - return P_0.FindRoute(P_1, P_2, P_3, P_4); - } - - static IReadOnlyList _206F_206B_200F_202A_202E_200F_200B_200B_200B_200E_200D_206A_202A_206D_200D_200E_206F_202E_202A_206C_206B_200C_206E_202E_202C_202A_206E_200E_202E_206F_206D_206C_200D_202B_206E_202E_202E_200C_202A_202E_202E(RouteResult P_0) - { - return P_0.Segments; - } - - static void _200C_202B_200D_200E_206A_200E_200D_206B_206C_202B_206C_202D_202D_206A_206B_206D_200B_206D_202B_202D_206F_206C_200B_202E_200B_200F_200B_202B_206E_202C_206A_200D_200E_202B_206E_200D_206B_202E_206B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _206D_202C_202E_200D_202A_200D_200B_200F_206C_200B_206F_206B_206F_206F_200D_200E_206B_206A_206C_200F_200C_200F_206A_200D_206D_206B_206A_202B_200B_200F_202E_200D_202C_206C_206E_206B_206D_202A_200B_202E_202E(QuestStep P_0) - { - return P_0.DisableNavmesh; - } - - static IReadOnlyList _202C_206C_206A_202C_206B_206D_206B_206F_202A_202E_206E_206F_202A_206B_206C_206F_200B_206B_202B_202E_202C_200E_202A_200B_206D_200F_206F_202E_202B_200F_206F_202E_200B_202B_202A_202D_206D_206D_202B_202C_202E(RouteInstructionBuilder P_0, RouteResult P_1, uint P_2, bool P_3) - { - return P_0.Build(P_1, P_2, P_3); - } - - static bool _202D_200C_202E_202D_200B_206A_206E_206E_200C_200B_200F_200F_206F_206C_200C_206C_206D_200B_206B_200E_200D_206D_202A_206E_202E_200F_206C_206F_206F_202C_200B_206F_202E_200C_202C_202B_202B_200D_206F_202D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200E_202A_206A_200C_206E_206C_206B_206B_206D_206E_206B_202C_206D_206A_202B_202B_200C_202B_202E_202C_202D_200B_200D_202C_206B_202B_206F_202B_200F_200F_202B_202D_200C_206E_200F_206C_200F_206A_206F_206D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static NotSupportedException _206C_206C_200B_202D_206A_200B_200C_206D_202D_206E_202A_202B_206A_206B_200D_202E_202D_200C_200C_200C_200D_206E_202E_202A_206A_200C_202B_202C_206E_206E_200B_200C_200D_206F_202C_200C_206E_206B_206F_206C_202E() - { - return new NotSupportedException(); - } - } - public bool HandledRouting { get; private set; } - [IteratorStateMachine(typeof(_003CCreateAllTasks_003Ed__13))] public IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CCreateAllTasks_003Ed__13(-2) + HandledRouting = false; + Vector3? vector = ResolveDestination(step); + if (!vector.HasValue) { - _003C_003E4__this = this, - _003C_003E3__step = step - }; - } - - IEnumerable ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks - return this.CreateAllTasks(quest, sequence, step); + yield break; + } + PlayerNavState playerNavState = playerNavStateBuilder.Build(); + if (playerNavState == null) + { + yield break; + } + RouteResult routeResult = navRouter.FindRoute(playerNavState, step.TerritoryId, vector.Value); + if (routeResult.Segments.Count == 0) + { + yield break; + } + HandledRouting = true; + logger.LogDebug("SmartNav routing to {Territory} with {Count} segments", territoryData.GetNameAndId(step.TerritoryId), routeResult.Segments.Count); + reRouteService.SetDestination(step.TerritoryId, vector.Value); + foreach (ITask item in taskMapper.MapInstructions(instructionBuilder.Build(routeResult, step.TerritoryId, step.DisableNavmesh), step)) + { + yield return item; + } } private Vector3? ResolveDestination(QuestStep step) { - int num = ((!_200C_200E_202E_206A_206E_202E_202E_200D_200D_206D_200C_200C_200B_200C_200E_200F_200C_206A_206F_202B_202A_206A_202E_200D_200D_200B_200E_200C_206B_200B_202B_202B_202A_206B_200F_206D_206A_200B_200F_202B_202E(step).HasValue) ? (-1099591953) : (-1099591967)); - Vector3 value2 = default(Vector3); - EAetheryteLocation? eAetheryteLocation = default(EAetheryteLocation?); - EAetheryteLocation valueOrDefault2 = default(EAetheryteLocation); - bool flag = default(bool); - Vector3 value = default(Vector3); - while (true) + if (step.Position.HasValue) { - int num2 = num; - int num3 = -1099591953; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return step.Position; + } + EAetheryteLocation valueOrDefault = default(EAetheryteLocation); + bool flag; + if (step != null) + { + EInteractionType interactionType = step.InteractionType; + if ((uint)(interactionType - 4) <= 1u) { - case 0: - num = ((step == null) ? (-1099591954) : (-1099591955)); - break; - case 7: - return value2; - case 13: - eAetheryteLocation = _202C_206D_200B_200C_202E_202B_206C_206F_206F_206E_202E_200F_206C_202D_202C_200D_200D_202B_206E_202A_200C_202D_202C_206A_206A_200E_206E_202B_206D_206D_202B_202E_206D_200F_202C_206D_206B_206E_200D_202E_202E(step); - num = ((!eAetheryteLocation.HasValue) ? (-1099591964) : (-1099591963)); - break; - case 15: - num = ((!_200D_200B_206D_206B_200B_200E_206C_202B_200D_200C_200C_202A_206F_206C_206E_206B_202A_206D_202B_206D_206D_202E_206B_200B_200F_202A_200C_206E_200B_202A_206B_200C_200E_200F_202D_200F_206A_206B_202C_200F_202E(aetheryteData).TryGetValue(valueOrDefault2, out value2)) ? (-1099591957) : (-1099591960)); - break; - case 5: - num = ((!flag) ? (-1099591957) : (-1099591968)); - break; - case 2: - { - EInteractionType eInteractionType = _200C_202C_206A_202D_206E_200D_206D_202D_206F_202E_200B_202E_206A_202D_200F_206F_200E_206E_202D_206B_202D_200E_200D_206F_202D_206B_202C_206F_200E_206C_206E_200F_202C_206A_206C_206E_206D_206E_206F_206D_202E(step); - num = (((uint)(eInteractionType - 4) > 1u) ? (-1099591954) : (-1099591962)); - break; - } - case 12: - num = ((_200C_202C_206A_202D_206E_200D_206D_202D_206F_202E_200B_202E_206A_202D_200F_206F_200E_206E_202D_206B_202D_200E_200D_206F_202D_206B_202C_206F_200E_206C_206E_200F_202C_206A_206C_206E_206D_206E_206F_206D_202E(step) != EInteractionType.AttuneAethernetShard) ? (-1099591964) : (-1099591966)); - break; - case 4: - num = ((step == null) ? (-1099591964) : (-1099591965)); - break; - case 3: - num = -1099591967; - break; - case 11: - return null; - case 6: - return value; - case 9: - eAetheryteLocation = _206D_202A_200F_206A_200E_206D_206D_202D_202D_206D_200E_202D_202D_200F_202E_202E_206F_206E_200E_200F_206A_200B_200E_202A_202C_206F_206C_206B_206D_202A_200B_200F_206D_200D_206B_202B_200D_202E_206F_200E_202E(step); - num = ((!eAetheryteLocation.HasValue) ? (-1099591954) : (-1099591961)); - break; - case 1: - flag = false; - num = -1099591958; - break; - case 8: - valueOrDefault2 = eAetheryteLocation.GetValueOrDefault(); - flag = true; - num = -1099591958; - break; - case 10: - { - EAetheryteLocation valueOrDefault = eAetheryteLocation.GetValueOrDefault(); - num = ((!_200D_200B_206D_206B_200B_200E_206C_202B_200D_200C_200C_202A_206F_206C_206E_206B_202A_206D_202B_206D_206D_202E_206B_200B_200F_202A_200C_206E_200B_202A_206B_200C_200E_200F_202D_200F_206A_206B_202C_200F_202E(aetheryteData).TryGetValue(valueOrDefault, out value)) ? (-1099591964) : (-1099591959)); - break; - } - case 14: - return _200C_200E_202E_206A_206E_202E_202E_200D_200D_206D_200C_200C_200B_200C_200E_200F_200C_206A_206F_202B_202A_206A_202E_200D_200D_200B_200E_200C_206B_200B_202B_202B_202A_206B_200F_206D_206A_200B_200F_202B_202E(step); + EAetheryteLocation? aetheryte = step.Aetheryte; + if (aetheryte.HasValue) + { + valueOrDefault = aetheryte.GetValueOrDefault(); + flag = true; + goto IL_004b; + } } } - } - - static Vector3? _200C_200E_202E_206A_206E_202E_202E_200D_200D_206D_200C_200C_200B_200C_200E_200F_200C_206A_206F_202B_202A_206A_202E_200D_200D_200B_200E_200C_206B_200B_202B_202B_202A_206B_200F_206D_206A_200B_200F_202B_202E(QuestStep P_0) - { - return P_0.Position; - } - - static EInteractionType _200C_202C_206A_202D_206E_200D_206D_202D_206F_202E_200B_202E_206A_202D_200F_206F_200E_206E_202D_206B_202D_200E_200D_206F_202D_206B_202C_206F_200E_206C_206E_200F_202C_206A_206C_206E_206D_206E_206F_206D_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static EAetheryteLocation? _206D_202A_200F_206A_200E_206D_206D_202D_202D_206D_200E_202D_202D_200F_202E_202E_206F_206E_200E_200F_206A_200B_200E_202A_202C_206F_206C_206B_206D_202A_200B_200F_206D_200D_206B_202B_200D_202E_206F_200E_202E(QuestStep P_0) - { - return P_0.Aetheryte; - } - - static ReadOnlyDictionary _200D_200B_206D_206B_200B_200E_206C_202B_200D_200C_200C_202A_206F_206C_206E_206B_202A_206D_202B_206D_206D_202E_206B_200B_200F_202A_200C_206E_200B_202A_206B_200C_200E_200F_202D_200F_206A_206B_202C_200F_202E(AetheryteData P_0) - { - return P_0.Locations; - } - - static EAetheryteLocation? _202C_206D_200B_200C_202E_202B_206C_206F_206F_206E_202E_200F_206C_202D_202C_200D_200D_202B_206E_202A_200C_202D_202C_206A_206A_200E_206E_202B_206D_206D_202B_202E_206D_200F_202C_206D_206B_206E_200D_202E_202E(QuestStep P_0) - { - return P_0.AethernetShard; + flag = false; + goto IL_004b; + IL_004b: + if (flag && aetheryteData.Locations.TryGetValue(valueOrDefault, out var value)) + { + return value; + } + if (step != null && step.InteractionType == EInteractionType.AttuneAethernetShard) + { + EAetheryteLocation? aetheryte = step.AethernetShard; + if (aetheryte.HasValue) + { + EAetheryteLocation valueOrDefault2 = aetheryte.GetValueOrDefault(); + if (aetheryteData.Locations.TryGetValue(valueOrDefault2, out var value2)) + { + return value2; + } + } + } + return null; } } } diff --git a/Questionable/Questionable.Controller.Steps.Shared/StepDisabled.cs b/Questionable/Questionable.Controller.Steps.Shared/StepDisabled.cs index 080eebd..d438efd 100644 --- a/Questionable/Questionable.Controller.Steps.Shared/StepDisabled.cs +++ b/Questionable/Questionable.Controller.Steps.Shared/StepDisabled.cs @@ -1,5 +1,3 @@ -using System; -using System.Runtime.CompilerServices; using Microsoft.Extensions.Logging; using Questionable.Model; using Questionable.Model.Questing; @@ -12,39 +10,19 @@ internal static class StepDisabled { public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step) { - int num = (_200D_202A_202A_206E_200D_206F_206C_202D_206F_200C_200D_202A_206D_200C_202C_202A_202A_200C_206F_206F_200F_202E_202C_202C_206B_202A_200C_206F_206C_200E_206E_202D_202E_206E_206B_202D_202D_200B_206B_206D_202E(step) ? 1566722384 : 1566722387); - while (true) + if (!step.Disabled) { - int num2 = num; - int num3 = 1566722386; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return new SkipRemainingTasks(); - case 1: - return null; - case 0: - goto IL_004e; - } - continue; - IL_004e: - num = 1566722387; + return null; } - } - - static bool _200D_202A_202A_206E_200D_206F_206C_202D_206F_200C_200D_202A_206D_200C_202C_202A_202A_200C_206F_206F_200F_202E_202C_202C_206B_202A_200C_206F_206C_200E_206E_202D_202E_206E_206B_202D_202D_200B_206B_206D_202E(QuestStep P_0) - { - return P_0.Disabled; + return new SkipRemainingTasks(); } } internal sealed class SkipRemainingTasks : ITask { - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return 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(-2111602818); + return "StepDisabled"; } } @@ -55,10 +33,9 @@ internal static class StepDisabled return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - _206E_202C_206C_206D_200C_200C_200D_200E_202C_202E_200D_206F_202D_200D_206C_202D_202D_200B_206B_206C_200E_200E_200F_200E_206F_206C_206A_200F_202D_202E_202C_200C_206A_206B_206A_202A_206F_206C_206E_206F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1976171694), Array.Empty()); + logger.LogDebug("Skipping step, as it is disabled"); return ETaskResult.SkipRemainingTasksForStep; } @@ -66,10 +43,5 @@ internal static class StepDisabled { return false; } - - static void _206E_202C_206C_206D_200C_200C_200D_200E_202C_202E_200D_206F_202D_200D_206C_202D_202D_200B_206B_206C_200E_200E_200F_200E_206F_206C_206A_200F_202D_202E_202C_200C_206A_206B_206A_202A_206F_206C_206E_206F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } } } diff --git a/Questionable/Questionable.Controller.Steps.Shared/SubRegionTransport.cs b/Questionable/Questionable.Controller.Steps.Shared/SubRegionTransport.cs index baf5172..2fd283d 100644 --- a/Questionable/Questionable.Controller.Steps.Shared/SubRegionTransport.cs +++ b/Questionable/Questionable.Controller.Steps.Shared/SubRegionTransport.cs @@ -1,10 +1,6 @@ using System; -using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using Microsoft.Extensions.Logging; @@ -14,117 +10,14 @@ internal static class SubRegionTransport { internal sealed record Task(Vector3 SourcePosition, Vector3 DestPosition, ushort TerritoryId) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200D_200C_202B_200B_206F_200D_206B_206E_206B_202A_200E_200B_202E_202A_206A_206F_202E_200D_202C_206B_200F_206B_202B_202E_200F_206B_200F_206D_200E_206E_202B_200B_200B_206F_200D_200B_202C_206B_206F_206D_202E(typeof(Task).TypeHandle); - } - } - public bool ShouldRedoOnInterrupt() { return true; } - bool ITask.ShouldRedoOnInterrupt() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt - return this.ShouldRedoOnInterrupt(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(26, 3); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-630206869)); - defaultInterpolatedStringHandler.AppendFormatted(TerritoryId); - defaultInterpolatedStringHandler.AppendLiteral(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(-1095822044)); - defaultInterpolatedStringHandler.AppendFormatted(SourcePosition); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(198379463)); - defaultInterpolatedStringHandler.AppendFormatted(DestPosition); - defaultInterpolatedStringHandler.AppendLiteral(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(444206578)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202C_200F_206B_206E_202C_206B_200E_200B_200E_200F_206D_200B_202A_202E_206C_202E_202D_206F_202B_206B_206B_200D_202C_202D_202E_200F_206B_202D_206D_200F_202B_206E_202A_200D_202D_202C_200C_200E_202D_202E_202E(); - _202D_200E_202E_202E_200B_202E_206E_200B_200B_202B_200B_206D_206D_200B_206A_206A_206E_202C_202A_206A_202D_202A_202A_200D_200F_200B_200F_200F_206A_202B_202D_206E_202E_206A_202D_200F_206E_200C_202E_206C_202E(builder, 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(-603430089)); - _202D_200E_202E_202E_200B_202E_206E_200B_200B_202B_200B_206D_206D_200B_206A_206A_206E_202C_202A_206A_202D_202A_202A_200D_200F_200B_200F_200F_206A_202B_202D_206E_202E_206A_202D_200F_206E_200C_202E_206C_202E(builder, SourcePosition.ToString()); - _202D_200E_202E_202E_200B_202E_206E_200B_200B_202B_200B_206D_206D_200B_206A_206A_206E_202C_202A_206A_202D_202A_202A_200D_200F_200B_200F_200F_206A_202B_202D_206E_202E_206A_202D_200F_206E_200C_202E_206C_202E(builder, 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(-1503839347)); - _202D_200E_202E_202E_200B_202E_206E_200B_200B_202B_200B_206D_206D_200B_206A_206A_206E_202C_202A_206A_202D_202A_202A_200D_200F_200B_200F_200F_206A_202B_202D_206E_202E_206A_202D_200F_206E_200C_202E_206C_202E(builder, DestPosition.ToString()); - _202D_200E_202E_202E_200B_202E_206E_200B_200B_202B_200B_206D_206D_200B_206A_206A_206E_202C_202A_206A_202D_202A_202A_200D_200F_200B_200F_200F_206A_202B_202D_206E_202E_206A_202D_200F_206E_200C_202E_206C_202E(builder, 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(-1428648191)); - _202D_200E_202E_202E_200B_202E_206E_200B_200B_202B_200B_206D_206D_200B_206A_206A_206E_202C_202A_206A_202D_202A_202A_200D_200F_200B_200F_200F_206A_202B_202D_206E_202E_206A_202D_200F_206E_200C_202E_206C_202E(builder, TerritoryId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(Task? other) - { - int num = (((object)this == other) ? 627105870 : 627105869); - while (true) - { - int num2 = num; - int num3 = 627105866; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - return true; - case 5: - num = ((!EqualityComparer.Default.Equals(SourcePosition, other.SourcePosition)) ? 627105867 : 627105868); - break; - case 7: - num = (((object)other == null) ? 627105867 : 627105866); - break; - case 0: - num = ((!_202C_202C_206E_206B_200D_206A_200B_202D_206D_202E_202E_206D_206F_202C_200E_200E_202D_206F_200C_206D_202C_202D_200C_202E_206C_206A_200E_200C_202A_206F_202D_206F_206B_200F_202B_202A_202E_206D_206B_200E_202E(EqualityContract, other.EqualityContract)) ? 627105867 : 627105871); - break; - case 3: - return EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId); - case 6: - num = ((!EqualityComparer.Default.Equals(DestPosition, other.DestPosition)) ? 627105867 : 627105865); - break; - case 1: - return false; - case 2: - num = 627105869; - break; - } - } - } - - bool IEquatable.Equals(Task? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200D_200C_202B_200B_206F_200D_206B_206E_206B_202A_200E_200B_202E_202A_206A_206F_202E_200D_202C_206B_200F_206B_202B_202E_200F_206B_200F_206D_200E_206E_202B_200B_200B_206F_200D_200B_202C_206B_206F_206D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _202C_200F_206B_206E_202C_206B_200E_200B_200E_200F_206D_200B_202A_202E_206C_202E_202D_206F_202B_206B_206B_200D_202C_202D_202E_200F_206B_202D_206D_200F_202B_206E_202A_200D_202D_202C_200C_200E_202D_202E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202D_200E_202E_202E_200B_202E_206E_200B_200B_202B_200B_206D_206D_200B_206A_206A_206E_202C_202A_206A_202D_202A_202A_200D_200F_200B_200F_200F_206A_202B_202D_206E_202E_206A_202D_200F_206E_200C_202E_206C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _202C_202C_206E_206B_200D_206A_200B_202D_206D_202E_202E_206D_206F_202C_200E_200E_202D_206F_200C_206D_202C_202D_200C_202E_206C_206A_200E_200C_202A_206F_202D_206F_206B_200F_202B_202A_202E_206D_206B_200E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"SubRegionTransport({TerritoryId}, {SourcePosition} -> {DestPosition})"; } } @@ -134,77 +27,33 @@ internal static class SubRegionTransport private long _startTime; - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { - IPlayerCharacter playerCharacter = _202E_206B_206E_206F_202D_206C_206B_206C_200D_202C_200D_202A_202B_206B_206E_202B_202D_206F_206F_202A_200E_206F_202D_202C_206F_200F_200F_206B_202A_206E_206C_206B_202B_202E_200D_206C_200D_202B_206F_202A_202E(objectTable); - _startPosition = ((playerCharacter != null) ? _200B_202A_206C_202E_206D_202A_202B_202B_202D_200F_200C_200E_206F_206B_206D_200F_206B_202E_200F_206D_202B_206B_206E_202A_202A_206B_200C_202A_202B_200D_200E_200D_206C_206C_202A_202D_202D_200F_200C_206D_202E((IGameObject)playerCharacter) : Vector3.Zero); - _startTime = _202E_206E_200D_200E_206C_206D_202D_202D_206D_206F_202E_200D_200D_200D_206C_206D_200E_200E_200E_200B_200E_206F_200D_200B_200D_200C_202D_200C_206A_206E_202B_200D_202B_202D_200B_206A_200B_202C_206C_200C_202E(); - _200F_202C_200F_202E_202C_200C_206E_206F_202E_200B_206B_202E_206D_200F_206A_206A_202B_202E_200F_206D_206D_206D_206B_206A_202B_200E_200C_200B_200F_202C_202A_202E_202B_200F_206F_206D_202C_200D_202A_206D_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1244283886), new object[1] { base.Task.SourcePosition }); + _startPosition = objectTable.LocalPlayer?.Position ?? Vector3.Zero; + _startTime = Environment.TickCount64; + logger.LogDebug("SubRegionTransport: Waiting for transport pad activation at {Position}", base.Task.SourcePosition); return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - IPlayerCharacter playerCharacter = _202E_206B_206E_206F_202D_206C_206B_206C_200D_202C_200D_202A_202B_206B_206E_202B_202D_206F_206F_202A_200E_206F_202D_202C_206F_200F_200F_206B_202A_206E_206C_206B_202B_202E_200D_206C_200D_202B_206F_202A_202E(objectTable); - int num = ((playerCharacter == null) ? 733700456 : 733700461); - while (true) + IPlayerCharacter localPlayer = objectTable.LocalPlayer; + if (localPlayer != null && Vector3.Distance(localPlayer.Position, _startPosition) > 5f) { - int num2 = num; - int num3 = 733700460; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = 733700461; - break; - case 1: - num = ((!(Vector3.Distance(_200B_202A_206C_202E_206D_202A_202B_202B_202D_200F_200C_200E_206F_206B_206D_200F_206B_202E_200F_206D_202B_206B_206E_202A_202A_206B_200C_202A_202B_200D_200E_200D_206C_206C_202A_202D_202D_200F_200C_206D_202E((IGameObject)playerCharacter), _startPosition) > 5f)) ? 733700456 : 733700457); - break; - case 4: - num = ((_202E_206E_200D_200E_206C_206D_202D_202D_206D_206F_202E_200D_200D_200D_206C_206D_200E_200E_200E_200B_200E_206F_200D_200B_200D_200C_202D_200C_206A_206E_202B_200D_202B_202D_200B_206A_200B_202C_206C_200C_202E() - _startTime <= 15000) ? 733700462 : 733700460); - break; - case 0: - _202B_206B_200B_206A_206F_202E_202C_202C_200B_202A_206C_206E_200E_206D_206D_200E_200F_200E_200F_206B_200C_200E_202D_202D_202E_200B_206D_206A_202E_200E_200C_200E_202D_200C_206E_202E_206E_200F_206D_202C_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(21515827), Array.Empty()); - return ETaskResult.RetryStep; - case 2: - return ETaskResult.StillRunning; - case 5: - _200F_202C_200F_202E_202C_200C_206E_206F_202E_200B_206B_202E_206D_200F_206A_206A_202B_202E_200F_206D_206D_206D_206B_206A_202B_200E_200C_200B_200F_202C_202A_202E_202B_200F_206F_206D_202C_200D_202A_206D_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(161211834), new object[1] { Vector3.Distance(_200B_202A_206C_202E_206D_202A_202B_202B_202D_200F_200C_200E_206F_206B_206D_200F_206B_202E_200F_206D_202B_206B_206E_202A_202A_206B_200C_202A_202B_200D_200E_200D_206C_206C_202A_202D_202D_200F_200C_206D_202E((IGameObject)playerCharacter), _startPosition) }); - return ETaskResult.TaskComplete; - } + logger.LogDebug("SubRegionTransport: Position changed ({Distance:F1}y), transport complete", Vector3.Distance(localPlayer.Position, _startPosition)); + return ETaskResult.TaskComplete; } + if (Environment.TickCount64 - _startTime > 15000) + { + logger.LogWarning("SubRegionTransport: Timed out waiting for transport activation"); + return ETaskResult.RetryStep; + } + return ETaskResult.StillRunning; } public override bool ShouldInterruptOnDamage() { return false; } - - static IPlayerCharacter _202E_206B_206E_206F_202D_206C_206B_206C_200D_202C_200D_202A_202B_206B_206E_202B_202D_206F_206F_202A_200E_206F_202D_202C_206F_200F_200F_206B_202A_206E_206C_206B_202B_202E_200D_206C_200D_202B_206F_202A_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static Vector3 _200B_202A_206C_202E_206D_202A_202B_202B_202D_200F_200C_200E_206F_206B_206D_200F_206B_202E_200F_206D_202B_206B_206E_202A_202A_206B_200C_202A_202B_200D_200E_200D_206C_206C_202A_202D_202D_200F_200C_206D_202E(IGameObject P_0) - { - return P_0.Position; - } - - static long _202E_206E_200D_200E_206C_206D_202D_202D_206D_206F_202E_200D_200D_200D_206C_206D_200E_200E_200E_200B_200E_206F_200D_200B_200D_200C_202D_200C_206A_206E_202B_200D_202B_202D_200B_206A_200B_202C_206C_200C_202E() - { - return Environment.TickCount64; - } - - static void _200F_202C_200F_202E_202C_200C_206E_206F_202E_200B_206B_202E_206D_200F_206A_206A_202B_202E_200F_206D_206D_206D_206B_206A_202B_200E_200C_200B_200F_202C_202A_202E_202B_200F_206F_206D_202C_200D_202A_206D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static void _202B_206B_200B_206A_206F_202E_202C_202C_200B_202A_206C_206E_200E_206D_206D_200E_200F_200E_200F_206B_200C_200E_202D_202D_202E_200B_206D_206A_202E_200E_200C_200E_202D_200C_206E_202E_206E_200F_206D_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } } } diff --git a/Questionable/Questionable.Controller.Steps.Shared/SwitchClassJob.cs b/Questionable/Questionable.Controller.Steps.Shared/SwitchClassJob.cs index 7cab848..a4210b2 100644 --- a/Questionable/Questionable.Controller.Steps.Shared/SwitchClassJob.cs +++ b/Questionable/Questionable.Controller.Steps.Shared/SwitchClassJob.cs @@ -1,15 +1,7 @@ -using System; -using System.Collections.Generic; using System.Linq; -using System.Runtime.CompilerServices; -using System.Text; -using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.UI.Misc; using LLib.GameData; -using Lumina.Excel; -using Lumina.Excel.Sheets; using Questionable.Controller.Steps.Common; using Questionable.Data; using Questionable.Model; @@ -21,193 +13,46 @@ internal static class SwitchClassJob { internal sealed class Factory(ClassJobUtils classJobUtils) : SimpleTaskFactory() { - public override ITask? CreateTask(Questionable.Model.Quest quest, QuestSequence sequence, QuestStep step) + public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((_206A_206B_200C_202D_202B_206A_200B_200D_206A_206D_200E_202B_206D_206E_202C_202B_206D_200F_206D_206E_202C_206A_206B_202D_206A_206A_202A_206D_206E_200C_200C_202C_206F_202A_206C_200E_202C_202E_200C_202E(step) == EInteractionType.SwitchClass) ? 1159912211 : 1159912210); - while (true) + if (step.InteractionType != EInteractionType.SwitchClass) { - int num2 = num; - int num3 = 1159912211; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return new Task(classJobUtils.AsIndividualJobs(_202B_206A_202A_206D_206D_200D_206D_202E_200B_206D_202B_200E_206E_206C_206A_202D_206B_206F_202C_200E_206A_206B_200C_206E_206A_206A_206C_202B_202A_206B_200C_206A_200F_200C_206B_206C_202E_206C_200B_206D_202E(step), quest.Id).Single()); - case 1: - return null; - case 2: - goto IL_006e; - } - continue; - IL_006e: - num = 1159912210; + return null; } - } - - static EInteractionType _206A_206B_200C_202D_202B_206A_200B_200D_206A_206D_200E_202B_206D_206E_202C_202B_206D_200F_206D_206E_202C_206A_206B_202D_206A_206A_202A_206D_206E_200C_200C_202C_206F_202A_206C_200E_202C_202E_200C_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static EExtendedClassJob _202B_206A_202A_206D_206D_200D_206D_202E_200B_206D_202B_200E_206E_206C_206A_202D_206B_206F_202C_200E_206A_206B_200C_206E_206A_206A_206C_202B_202A_206B_200C_206A_200F_200C_206B_206C_202E_206C_200B_206D_202E(QuestStep P_0) - { - return P_0.TargetClass; + return new Task(classJobUtils.AsIndividualJobs(step.TargetClass, quest.Id).Single()); } } internal sealed record Task(EClassJob ClassJob) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206E_206D_206D_200E_202C_206F_202E_202E_200B_206F_206B_200D_206B_206A_206A_200F_200B_200E_206C_200F_200F_206F_202D_200E_206F_202E_200E_200F_206F_200C_206E_200C_202D_200D_200D_200E_200F_202C_206A_200D_202E(typeof(Task).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(11, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(292179226)); - defaultInterpolatedStringHandler.AppendFormatted(ClassJob); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202C_200E_200C_206D_200F_206D_202D_200B_206B_206D_200E_206E_202E_206E_202E_200E_200F_200C_206C_206A_202C_202E_200E_200D_206A_206D_206B_200D_202B_202C_206D_200E_200F_206D_206F_202C_200C_200C_202A_200F_202E(); - _206E_206D_206E_206B_200C_200C_206C_206A_200C_202E_200F_206E_206E_202E_202B_200C_202C_202A_200C_206A_200C_200B_200D_200F_206A_206C_202C_200F_202E_200E_200C_202A_200D_202B_202B_200E_200F_202E_206E_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-27440332)); - _206E_206D_206E_206B_200C_200C_206C_206A_200C_202E_200F_206E_206E_202E_202B_200C_202C_202A_200C_206A_200C_200B_200D_200F_206A_206C_202C_200F_202E_200E_200C_202A_200D_202B_202B_200E_200F_202E_206E_202E(builder, ClassJob.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(Task? other) - { - int num = (((object)this == other) ? (-777293331) : (-777293333)); - while (true) - { - int num2 = num; - int num3 = -777293335; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -777293333; - break; - case 2: - num = (((object)other == null) ? (-777293334) : (-777293332)); - break; - case 5: - num = ((!_200E_206D_200C_200F_202D_200B_206B_200E_206A_206C_202B_200D_206D_206C_202D_206F_202A_206E_206A_202A_206B_200D_206B_200D_200F_202B_202A_202D_200C_206A_206F_200F_206F_206C_202C_200B_200F_202D_202D_206D_202E(EqualityContract, other.EqualityContract)) ? (-777293334) : (-777293336)); - break; - case 1: - return EqualityComparer.Default.Equals(ClassJob, other.ClassJob); - case 4: - return true; - case 3: - return false; - } - } - } - - bool IEquatable.Equals(Task? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206E_206D_206D_200E_202C_206F_202E_202E_200B_206F_206B_200D_206B_206A_206A_200F_200B_200E_206C_200F_200F_206F_202D_200E_206F_202E_200E_200F_206F_200C_206E_200C_202D_200D_200D_200E_200F_202C_206A_200D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _202C_200E_200C_206D_200F_206D_202D_200B_206B_206D_200E_206E_202E_206E_202E_200E_200F_200C_206C_206A_202C_202E_200E_200D_206A_206D_206B_200D_202B_202C_206D_200E_200F_206D_206F_202C_200C_200C_202A_200F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206E_206D_206E_206B_200C_200C_206C_206A_200C_202E_200F_206E_206E_202E_202B_200C_202C_202A_200C_206A_200C_200B_200D_200F_206A_206C_202C_200F_202E_200E_200C_202A_200D_202B_202B_200E_200F_202E_206E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _200E_206D_200C_200F_202D_200B_206B_200E_206A_206C_202B_200D_206D_206C_202D_206F_202A_206E_206A_202A_206B_200D_206B_200D_200F_202B_202A_202D_200C_206A_206F_200F_206F_206C_202C_200B_200F_202D_202D_206D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"SwitchJob({ClassJob})"; } } internal sealed class SwitchClassJobExecutor(IObjectTable objectTable) : AbstractDelayedTaskExecutor() { - [MethodImpl(MethodImplOptions.NoInlining)] protected unsafe override bool StartInternal() { - IPlayerCharacter playerCharacter = _202A_206B_200E_206F_202C_202D_206D_200B_202E_202B_200E_200C_206A_202B_200F_200C_206B_200C_206B_202D_200E_202B_206F_202C_202C_206D_202E_202C_202B_206B_206B_202A_206C_200D_206D_200E_202A_202A_202A_206A_202E(objectTable); - int num = ((((playerCharacter != null) ? new uint?(_202B_200B_206B_200C_202D_206C_200E_202A_200E_206A_200B_206B_200B_206A_200B_200F_202B_206E_202C_206B_202B_206E_200D_206E_206A_202C_202C_200E_200D_206A_206B_200B_200D_206F_202D_202C_206B_206A_202E_200E_202E((ICharacter)playerCharacter).RowId) : ((uint?)null)) != (uint?)base.Task.ClassJob) ? (-402111789) : (-402111788)); - RaptureGearsetModule* ptr = default(RaptureGearsetModule*); - RaptureGearsetModule.GearsetEntry* gearset = default(RaptureGearsetModule.GearsetEntry*); - int num6 = default(int); - while (true) + if (objectTable.LocalPlayer?.ClassJob.RowId == (uint?)base.Task.ClassJob) { - int num2 = num; - int num3 = -402111787; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return false; + } + RaptureGearsetModule* ptr = RaptureGearsetModule.Instance(); + if (ptr != null) + { + for (int i = 0; i < 100; i++) { - case 4: - num = -402111788; - break; - case 1: - return false; - case 3: - ptr->EquipGearset(gearset->Id, 0); - return true; - case 7: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(21, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1883607487)); - defaultInterpolatedStringHandler.AppendFormatted(base.Task.ClassJob); - throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 5: - num6 = 0; - num = -402111779; - break; - case 8: - num = ((num6 < 100) ? (-402111787) : (-402111790)); - break; - case 0: - gearset = ptr->GetGearset(num6); - num = ((gearset->ClassJob != (byte)base.Task.ClassJob) ? (-402111785) : (-402111786)); - break; - case 6: - ptr = RaptureGearsetModule.Instance(); - num = ((ptr == null) ? (-402111790) : (-402111792)); - break; - case 2: - { - int num5 = num6; - num3 = 1; - num4 = num5; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - num6 = num7 + (num8 + num8); - num = -402111779; - break; - } + RaptureGearsetModule.GearsetEntry* gearset = ptr->GetGearset(i); + if (gearset->ClassJob == (byte)base.Task.ClassJob) + { + ptr->EquipGearset(gearset->Id, 0); + return true; + } } } + throw new TaskException($"No gearset found for {base.Task.ClassJob}"); } protected override ETaskResult UpdateInternal() @@ -219,15 +64,5 @@ internal static class SwitchClassJob { return false; } - - static IPlayerCharacter _202A_206B_200E_206F_202C_202D_206D_200B_202E_202B_200E_200C_206A_202B_200F_200C_206B_200C_206B_202D_200E_202B_206F_202C_202C_206D_202E_202C_202B_206B_206B_202A_206C_200D_206D_200E_202A_202A_202A_206A_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static RowRef _202B_200B_206B_200C_202D_206C_200E_202A_200E_206A_200B_206B_200B_206A_200B_200F_202B_206E_202C_206B_202B_206E_200D_206E_206A_202C_202C_200E_200D_206A_206B_200B_200D_206F_202D_202C_206B_206A_202E_200E_202E(ICharacter P_0) - { - return P_0.ClassJob; - } } } diff --git a/Questionable/Questionable.Controller.Steps.Shared/TaxiInteract.cs b/Questionable/Questionable.Controller.Steps.Shared/TaxiInteract.cs index d3f010d..b09fa31 100644 --- a/Questionable/Questionable.Controller.Steps.Shared/TaxiInteract.cs +++ b/Questionable/Questionable.Controller.Steps.Shared/TaxiInteract.cs @@ -1,10 +1,6 @@ using System; -using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Conditions; -using Dalamud.Game.ClientState.Objects.SubKinds; using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using Microsoft.Extensions.Logging; @@ -17,134 +13,14 @@ internal static class TaxiInteract { internal sealed record Task(uint NpcDataId, uint DestStandRowId, string DestPlaceName, ushort SourceTerritoryId, ushort DestTerritoryId) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202C_200E_200C_206D_202D_200B_200C_200C_206E_202B_206A_202E_202D_206F_206D_202E_202A_200B_206A_202A_206A_202D_202A_200C_206D_206E_206B_200C_200C_202D_200C_200D_206D_202B_202A_202A_200D_202C_206D_206A_202E(typeof(Task).TypeHandle); - } - } - public bool ShouldRedoOnInterrupt() { return true; } - bool ITask.ShouldRedoOnInterrupt() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt - return this.ShouldRedoOnInterrupt(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(25, 4); - defaultInterpolatedStringHandler.AppendLiteral(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(1757266526)); - defaultInterpolatedStringHandler.AppendFormatted(NpcDataId); - defaultInterpolatedStringHandler.AppendLiteral(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(-144328307)); - defaultInterpolatedStringHandler.AppendFormatted(DestPlaceName); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1403263077)); - defaultInterpolatedStringHandler.AppendFormatted(SourceTerritoryId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1599740866)); - defaultInterpolatedStringHandler.AppendFormatted(DestTerritoryId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200D_202B_200E_206D_200D_206F_206A_206F_202C_202A_206A_200F_202A_200C_200E_202B_200C_200B_206C_200C_202D_206D_202B_206C_202C_206F_200F_206F_200E_202E_202C_206A_206B_200D_206A_206B_200D_202B_202D_206A_202E(); - _202B_202A_200D_202B_200C_206B_206E_202C_202E_200E_202A_200D_206D_202D_200F_206F_200D_206C_206B_202E_202E_202E_202A_200F_206E_200F_202B_200C_206F_206D_200D_200F_202E_206B_200F_206E_206E_200B_206B_202E(builder, 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(1462199948)); - _202B_202A_200D_202B_200C_206B_206E_202C_202E_200E_202A_200D_206D_202D_200F_206F_200D_206C_206B_202E_202E_202E_202A_200F_206E_200F_202B_200C_206F_206D_200D_200F_202E_206B_200F_206E_206E_200B_206B_202E(builder, NpcDataId.ToString()); - _202B_202A_200D_202B_200C_206B_206E_202C_202E_200E_202A_200D_206D_202D_200F_206F_200D_206C_206B_202E_202E_202E_202A_200F_206E_200F_202B_200C_206F_206D_200D_200F_202E_206B_200F_206E_206E_200B_206B_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(756158436)); - _202B_202A_200D_202B_200C_206B_206E_202C_202E_200E_202A_200D_206D_202D_200F_206F_200D_206C_206B_202E_202E_202E_202A_200F_206E_200F_202B_200C_206F_206D_200D_200F_202E_206B_200F_206E_206E_200B_206B_202E(builder, DestStandRowId.ToString()); - _202B_202A_200D_202B_200C_206B_206E_202C_202E_200E_202A_200D_206D_202D_200F_206F_200D_206C_206B_202E_202E_202E_202A_200F_206E_200F_202B_200C_206F_206D_200D_200F_202E_206B_200F_206E_206E_200B_206B_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(247569825)); - _206B_200C_206B_200E_202E_200C_202C_200D_206B_206A_200B_202E_200D_206C_202A_200F_200E_206E_206E_200E_200C_206F_206B_200E_200E_200D_206F_206D_206A_200F_206C_202E_206C_206F_202D_206A_200D_206F_202A_206A_202E(builder, (object)DestPlaceName); - _202B_202A_200D_202B_200C_206B_206E_202C_202E_200E_202A_200D_206D_202D_200F_206F_200D_206C_206B_202E_202E_202E_202A_200F_206E_200F_202B_200C_206F_206D_200D_200F_202E_206B_200F_206E_206E_200B_206B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1994630997)); - _202B_202A_200D_202B_200C_206B_206E_202C_202E_200E_202A_200D_206D_202D_200F_206F_200D_206C_206B_202E_202E_202E_202A_200F_206E_200F_202B_200C_206F_206D_200D_200F_202E_206B_200F_206E_206E_200B_206B_202E(builder, SourceTerritoryId.ToString()); - _202B_202A_200D_202B_200C_206B_206E_202C_202E_200E_202A_200D_206D_202D_200F_206F_200D_206C_206B_202E_202E_202E_202A_200F_206E_200F_202B_200C_206F_206D_200D_200F_202E_206B_200F_206E_206E_200B_206B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1846217432)); - _202B_202A_200D_202B_200C_206B_206E_202C_202E_200E_202A_200D_206D_202D_200F_206F_200D_206C_206B_202E_202E_202E_202A_200F_206E_200F_202B_200C_206F_206D_200D_200F_202E_206B_200F_206E_206E_200B_206B_202E(builder, DestTerritoryId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(Task? other) - { - int num = (((object)this == other) ? (-611933830) : (-611933829)); - while (true) - { - int num2 = num; - int num3 = -611933826; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -611933829; - break; - case 5: - num = (((object)other == null) ? (-611933833) : (-611933825)); - break; - case 9: - return false; - case 4: - return true; - case 1: - num = ((!_206E_206E_200E_200B_202B_202D_200D_200E_200F_202B_206F_202E_206D_202D_200E_202D_206C_200B_206F_202D_206A_202D_206D_202D_202B_200E_202C_202A_202C_202A_206A_200C_200E_202C_200C_202C_200D_202D_200B_202A_202E(EqualityContract, other.EqualityContract)) ? (-611933833) : (-611933828)); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(DestStandRowId, other.DestStandRowId)) ? (-611933833) : (-611933831)); - break; - case 7: - num = ((!EqualityComparer.Default.Equals(DestPlaceName, other.DestPlaceName)) ? (-611933833) : (-611933827)); - break; - case 8: - return EqualityComparer.Default.Equals(DestTerritoryId, other.DestTerritoryId); - case 2: - num = ((!EqualityComparer.Default.Equals(NpcDataId, other.NpcDataId)) ? (-611933833) : (-611933832)); - break; - case 3: - num = ((!EqualityComparer.Default.Equals(SourceTerritoryId, other.SourceTerritoryId)) ? (-611933833) : (-611933834)); - break; - } - } - } - - bool IEquatable.Equals(Task? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202C_200E_200C_206D_202D_200B_200C_200C_206E_202B_206A_202E_202D_206F_206D_202E_202A_200B_206A_202A_206A_202D_202A_200C_206D_206E_206B_200C_200C_202D_200C_200D_206D_202B_202A_202A_200D_202C_206D_206A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _200D_202B_200E_206D_200D_206F_206A_206F_202C_202A_206A_200F_202A_200C_200E_202B_200C_200B_206C_200C_202D_206D_202B_206C_202C_206F_200F_206F_200E_202E_202C_206A_206B_200D_206A_206B_200D_202B_202D_206A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202B_202A_200D_202B_200C_206B_206E_202C_202E_200E_202A_200D_206D_202D_200F_206F_200D_206C_206B_202E_202E_202E_202A_200F_206E_200F_202B_200C_206F_206D_200D_200F_202E_206B_200F_206E_206E_200B_206B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206B_200C_206B_200E_202E_200C_202C_200D_206B_206A_200B_202E_200D_206C_202A_200F_200E_206E_206E_200E_200C_206F_206B_200E_200E_200D_206F_206D_206A_200F_206C_202E_206C_206F_202D_206A_200D_206F_202A_206A_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206E_206E_200E_200B_202B_202D_200D_200E_200F_202B_206F_202E_206D_202D_200E_202D_206C_200B_206F_202D_206A_202D_206D_202D_202B_200E_202C_202A_202C_202A_206A_200C_200E_202C_200C_202C_200D_202D_200B_202A_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"TaxiInteract({NpcDataId}, dest={DestPlaceName}, {SourceTerritoryId}->{DestTerritoryId})"; } } @@ -166,294 +42,127 @@ internal static class TaxiInteract private bool _wasRiding; - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { _phase = ETaxiPhase.None; _wasRiding = false; - IPlayerCharacter playerCharacter = _206B_206D_202B_202B_202D_200C_206C_200E_206E_206B_202B_206E_206C_200E_200E_206D_200D_206D_206B_202E_202A_202E_206B_200B_202C_200F_202D_206A_202A_202C_206D_206A_200C_200F_200D_202C_206E_202C_206C_206F_202E(objectTable); - _startPosition = ((playerCharacter != null) ? _200B_206F_202B_200F_202B_206F_200E_206F_206A_200F_206C_206C_200E_202C_202A_206C_200B_206F_200F_202C_200E_200B_200F_200D_200E_202A_206E_200C_202C_202D_206D_206F_200D_200D_200E_206E_206E_206D_202E_206D_202E((IGameObject)playerCharacter) : Vector3.Zero); + _startPosition = objectTable.LocalPlayer?.Position ?? Vector3.Zero; interactionUiController.SmartNavTaxiDestPlaceName = base.Task.DestPlaceName; IGameObject gameObject = gameFunctions.FindObjectByDataId(base.Task.NpcDataId); - int num = ((gameObject != null) ? 593300063 : 593300057); - while (true) + if (gameObject == null) { - int num2 = num; - int num3 = 593300058; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - _206F_202A_202C_200F_200F_206A_206F_200B_202C_202D_202A_202A_206B_206D_206F_206B_202C_200E_206D_202A_202D_206B_206E_200E_202E_202D_202D_206F_206D_202A_200B_202D_200F_202D_206C_206B_206A_206A_200D_202D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1199220683), new object[2] - { - base.Task.NpcDataId, - base.Task.DestPlaceName - }); - _phase = ETaxiPhase.Interacting; - _interactingStartedAt = _206D_206E_200D_202B_206C_202E_206B_200B_200F_200B_206B_200F_206E_202D_206A_206D_200E_206D_200E_202A_202D_206A_206B_206D_202A_202B_206D_200B_206E_202C_206C_202A_206E_202B_200F_202E_200E_200E_200C_202E_202E(); - num = 593300059; - break; - case 5: - num = ((!_202A_202A_202D_202C_202D_206B_206F_202E_202A_202A_200D_202D_202A_206E_200C_200F_206C_200C_206C_206D_200D_206B_206C_206C_200D_206A_202D_200C_202A_206F_206D_206C_202A_202D_202C_200B_206F_200D_206C_202A_202E(condition, ConditionFlag.Mounted)) ? 593300060 : 593300056); - break; - case 2: - _206F_202A_202C_200F_200F_206A_206F_200B_202C_202D_202A_202A_206B_206D_206F_206B_202C_200E_206D_202A_202D_206B_206E_200E_202E_202D_202D_206F_206D_202A_200B_202D_200F_202D_206C_206B_206A_206A_200D_202D_202E((ILogger)logger, 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(1789778383), Array.Empty()); - gameFunctions.Unmount(); - _phase = ETaxiPhase.Unmounting; - return true; - case 3: - _206F_202A_202C_200F_200F_206A_206F_200B_202C_202D_202A_202A_206B_206D_206F_206B_202C_200E_206D_202A_202D_206B_206E_200E_202E_202D_202D_206F_206D_202A_200B_202D_200F_202D_206C_206B_206A_206A_200D_202D_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1881696787), new object[1] { base.Task.NpcDataId }); - return true; - case 6: - num = ((!gameFunctions.InteractWith(gameObject)) ? 593300059 : 593300062); - break; - case 1: - return true; - case 0: - num = 593300057; - break; - } + logger.LogDebug("TaxiInteract: NPC with DataId {DataId} not found yet, waiting", base.Task.NpcDataId); + return true; } + if (condition[ConditionFlag.Mounted]) + { + logger.LogDebug("TaxiInteract: Unmounting before taxi interaction"); + gameFunctions.Unmount(); + _phase = ETaxiPhase.Unmounting; + return true; + } + if (gameFunctions.InteractWith(gameObject)) + { + logger.LogDebug("TaxiInteract: Interacting with NPC {DataId} for taxi to {Dest}", base.Task.NpcDataId, base.Task.DestPlaceName); + _phase = ETaxiPhase.Interacting; + _interactingStartedAt = Environment.TickCount64; + } + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { switch (_phase) { case ETaxiPhase.Unmounting: - goto IL_0227; - case ETaxiPhase.Riding: - goto IL_0252; - case ETaxiPhase.None: - goto IL_0365; - case ETaxiPhase.Interacting: - goto IL_0478; - } - int num = -893031987; - goto IL_0029; - IL_0227: - num = ((!_202A_202A_202D_202C_202D_206B_206F_202E_202A_202A_200D_202D_202A_206E_200C_200F_206C_200C_206C_206D_200D_206B_206C_206C_200D_206A_202D_200C_202A_206F_206D_206C_202A_202D_202C_200B_206F_200D_206C_202A_202E(condition, ConditionFlag.Mounted)) ? (-893031938) : (-893031981)); - goto IL_0029; - IL_0478: - num = ((!_202A_202A_202D_202C_202D_206B_206F_202E_202A_202A_200D_202D_202A_206E_200C_200F_206C_200C_206C_206D_200D_206B_206C_206C_200D_206A_202D_200C_202A_206F_206D_206C_202A_202D_202C_200B_206F_200D_206C_202A_202E(condition, ConditionFlag.Mounted)) ? (-893031991) : (-893031973)); - goto IL_0029; - IL_0365: - IGameObject gameObject = gameFunctions.FindObjectByDataId(base.Task.NpcDataId); - num = ((gameObject != null) ? (-893031980) : (-893031976)); - goto IL_0029; - IL_0252: - num = ((_202B_206B_206B_206B_202E_202D_200C_206E_200E_200F_206E_206C_200C_202A_206D_206C_200B_202C_200C_206B_202E_202E_202E_202A_200C_206B_200C_202C_206B_200B_206B_206E_206B_202D_202E_200E_206D_202C_206B_202A_202E(clientState) == base.Task.SourceTerritoryId) ? (-893031994) : (-893031969)); - goto IL_0029; - IL_0029: - IGameObject gameObject2 = default(IGameObject); - while (true) { - int num2 = num; - int num3 = -893031969; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (condition[ConditionFlag.Mounted]) { - case 26: - num = -893031984; - break; - case 20: - num = -893031997; - break; - case 17: - _206F_202A_202C_200F_200F_206A_206F_200B_202C_202D_202A_202A_206B_206D_206F_206B_202C_200E_206D_202A_202D_206B_206E_200E_202E_202D_202D_206F_206D_202A_200B_202D_200F_202D_206C_206B_206A_206A_200D_202D_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-336207586), Array.Empty()); - ClearContext(); - return ETaskResult.TaskComplete; - case 35: - goto IL_013f; - case 13: return ETaskResult.StillRunning; - case 32: - if (!_202A_202A_202D_202C_202D_206B_206F_202E_202A_202A_200D_202D_202A_206E_200C_200F_206C_200C_206C_206D_200D_206B_206C_206C_200D_206A_202D_200C_202A_206F_206D_206C_202A_202D_202C_200B_206F_200D_206C_202A_202E(condition, ConditionFlag.OccupiedInEvent)) - { - goto case 26; - } - goto case 20; - case 11: - goto IL_0189; - case 9: - _200B_202D_206E_202C_200C_206A_206C_206A_202B_202A_206E_202E_206D_202D_200E_200D_202D_202E_200F_206B_200C_202B_202D_200B_200D_200D_206E_206A_206A_200C_206A_206F_200D_202D_202C_202A_206F_200E_200E_202C_202E((ILogger)logger, 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(347542039), Array.Empty()); - ClearContext(); - return ETaskResult.RetryStep; - case 24: - return ETaskResult.StillRunning; - case 25: - goto IL_01fe; - case 21: - goto end_IL_0029; - case 7: - return ETaskResult.StillRunning; - case 16: - goto IL_0252; - case 34: - return ETaskResult.StillRunning; - case 29: - return ETaskResult.StillRunning; - case 23: - if (_202A_202A_202D_202C_202D_206B_206F_202E_202A_202A_200D_202D_202A_206E_200C_200F_206C_200C_206C_206D_200D_206B_206C_206C_200D_206A_202D_200C_202A_206F_206D_206C_202A_202D_202C_200B_206F_200D_206C_202A_202E(condition, ConditionFlag.OccupiedInEvent)) - { - goto case 1; - } - goto case 22; - case 28: - return ETaskResult.StillRunning; - case 1: - num = -893031975; - break; - case 22: - num = -893031977; - break; - case 5: - gameFunctions.Unmount(); - _phase = ETaxiPhase.Unmounting; - return ETaskResult.StillRunning; - case 12: - return ETaskResult.StillRunning; - case 8: - goto IL_02de; - case 2: - _206F_202A_202C_200F_200F_206A_206F_200B_202C_202D_202A_202A_206B_206D_206F_206B_202C_200E_206D_202A_202D_206B_206E_200E_202E_202D_202D_206F_206D_202A_200B_202D_200F_202D_206C_206B_206A_206A_200D_202D_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1391970464), new object[1] { base.Task.NpcDataId }); - _phase = ETaxiPhase.Interacting; - _interactingStartedAt = _206D_206E_200D_202B_206C_202E_206B_200B_200F_200B_206B_200F_206E_202D_206A_206D_200E_206D_200E_202A_202D_206A_206B_206D_202A_202B_206D_200B_206E_202C_206C_202A_206E_202B_200F_202E_200E_200E_200C_202E_202E(); - num = -893031993; - break; - case 18: - num = -893031939; - break; - case 10: - goto IL_0365; - case 19: - goto IL_03a4; - case 3: - goto IL_03cd; - case 27: - _206F_202A_202C_200F_200F_206A_206F_200B_202C_202D_202A_202A_206B_206D_206F_206B_202C_200E_206D_202A_202D_206B_206E_200E_202E_202D_202D_206F_206D_202A_200B_202D_200F_202D_206C_206B_206A_206A_200D_202D_202E((ILogger)logger, 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(-210335967), new object[1] { base.Task.NpcDataId }); - _phase = ETaxiPhase.Interacting; - _interactingStartedAt = _206D_206E_200D_202B_206C_202E_206B_200B_200F_200B_206B_200F_206E_202D_206A_206D_200E_206D_200E_202A_202D_206A_206B_206D_202A_202B_206D_200B_206E_202C_206C_202A_206E_202B_200F_202E_200E_200E_200C_202E_202E(); - num = -893031998; - break; - case 6: - _206F_202A_202C_200F_200F_206A_206F_200B_202C_202D_202A_202A_206B_206D_206F_206B_202C_200E_206D_202A_202D_206B_206E_200E_202E_202D_202D_206F_206D_202A_200B_202D_200F_202D_206C_206B_206A_206A_200D_202D_202E((ILogger)logger, 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(-1554309501), Array.Empty()); - _wasRiding = true; - _phase = ETaxiPhase.Riding; - return ETaskResult.StillRunning; - case 14: - num = -893031987; - break; - case 30: - goto IL_0478; - case 33: - goto IL_04a1; - case 0: - _206F_202A_202C_200F_200F_206A_206F_200B_202C_202D_202A_202A_206B_206D_206F_206B_202C_200E_206D_202A_202D_206B_206E_200E_202E_202D_202D_206F_206D_202A_200B_202D_200F_202D_206C_206B_206A_206A_200D_202D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-459829090), new object[1] { _202B_206B_206B_206B_202E_202D_200C_206E_200E_200F_206E_206C_200C_202A_206D_206C_200B_202C_200C_206B_202E_202E_202E_202A_200C_206B_200C_202C_206B_200B_206B_206E_206B_202D_202E_200E_206D_202C_206B_202A_202E(clientState) }); - ClearContext(); - return ETaskResult.TaskComplete; - case 15: - goto IL_0516; - case 4: - goto IL_0539; - case 31: - _206F_202A_202C_200F_200F_206A_206F_200B_202C_202D_202A_202A_206B_206D_206F_206B_202C_200E_206D_202A_202D_206B_206E_200E_202E_202D_202D_206F_206D_202A_200B_202D_200F_202D_206C_206B_206A_206A_200D_202D_202E((ILogger)logger, 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(117734441), Array.Empty()); + } + IGameObject gameObject2 = gameFunctions.FindObjectByDataId(base.Task.NpcDataId); + if (gameObject2 == null) + { + logger.LogDebug("TaxiInteract: NPC not found after unmount, waiting"); _phase = ETaxiPhase.None; return ETaskResult.StillRunning; } - continue; - IL_0539: - num = (_202A_202A_202D_202C_202D_206B_206F_202E_202A_202A_200D_202D_202A_206E_200C_200F_206C_200C_206C_206D_200D_206B_206C_206C_200D_206A_202D_200C_202A_206F_206D_206C_202A_202D_202C_200B_206F_200D_206C_202A_202E(condition, ConditionFlag.Occupied) ? (-893031970) : (-893031992)); - continue; - IL_03cd: - num = ((!gameFunctions.InteractWith(gameObject)) ? (-893031998) : (-893031996)); - continue; - IL_02de: - num = ((_206D_206E_200D_202B_206C_202E_206B_200B_200F_200B_206B_200F_206E_202D_206A_206D_200E_206D_200E_202A_202D_206A_206B_206D_202A_202B_206D_200B_206E_202C_206C_202A_206E_202B_200F_202E_200E_200E_200C_202E_202E() - _interactingStartedAt <= 30000) ? (-893031982) : (-893031978)); - continue; - IL_0516: - num = ((!_wasRiding) ? (-893031997) : (-893031986)); - continue; - IL_0189: - IPlayerCharacter playerCharacter = _206B_206D_202B_202B_202D_200C_206C_200E_206E_206B_202B_206E_206C_200E_200E_206D_200D_206D_206B_202E_202A_202E_206B_200B_202C_200F_202D_206A_202A_202C_206D_206A_200C_200F_200D_202C_206E_202C_206C_206F_202E(objectTable); - _startPosition = ((playerCharacter != null) ? _200B_206F_202B_200F_202B_206F_200E_206F_206A_200F_206C_206C_200E_202C_202A_206C_200B_206F_200F_202C_200E_200B_200F_200D_200E_202A_206E_200C_202C_202D_206D_206F_200D_200D_200E_206E_206E_206D_202E_206D_202E((IGameObject)playerCharacter) : _startPosition); - num = ((!_202A_202A_202D_202C_202D_206B_206F_202E_202A_202A_200D_202D_202A_206E_200C_200F_206C_200C_206C_206D_200D_206B_206C_206C_200D_206A_202D_200C_202A_206F_206D_206C_202A_202D_202C_200B_206F_200D_206C_202A_202E(condition, ConditionFlag.Mounted)) ? (-893031972) : (-893031974)); - continue; - IL_03a4: - num = ((!gameFunctions.InteractWith(gameObject2)) ? (-893031993) : (-893031971)); - continue; - IL_04a1: - gameObject2 = gameFunctions.FindObjectByDataId(base.Task.NpcDataId); - num = ((gameObject2 != null) ? (-893031988) : (-893032000)); - continue; - IL_013f: - num = (_202A_202A_202D_202C_202D_206B_206F_202E_202A_202A_200D_202D_202A_206E_200C_200F_206C_200C_206C_206D_200D_206B_206C_206C_200D_206A_202D_200C_202A_206F_206D_206C_202A_202D_202C_200B_206F_200D_206C_202A_202E(condition, ConditionFlag.Occupied) ? (-893031989) : (-893031937)); - continue; - IL_01fe: - num = ((!_202A_202A_202D_202C_202D_206B_206F_202E_202A_202A_200D_202D_202A_206E_200C_200F_206C_200C_206C_206D_200D_206B_206C_206C_200D_206A_202D_200C_202A_206F_206D_206C_202A_202D_202C_200B_206F_200D_206C_202A_202E(condition, ConditionFlag.Mounted)) ? (-893031995) : (-893031940)); - continue; - end_IL_0029: - break; + if (gameFunctions.InteractWith(gameObject2)) + { + logger.LogDebug("TaxiInteract: Interacting with NPC {DataId} after unmount", base.Task.NpcDataId); + _phase = ETaxiPhase.Interacting; + _interactingStartedAt = Environment.TickCount64; + } + return ETaskResult.StillRunning; + } + case ETaxiPhase.Interacting: + if (condition[ConditionFlag.Mounted] && (condition[ConditionFlag.Occupied] || condition[ConditionFlag.OccupiedInEvent])) + { + logger.LogDebug("TaxiInteract: Taxi ride started"); + _wasRiding = true; + _phase = ETaxiPhase.Riding; + return ETaskResult.StillRunning; + } + if (Environment.TickCount64 - _interactingStartedAt > 30000) + { + logger.LogWarning("TaxiInteract: Timed out waiting for taxi ride to start, retrying step"); + ClearContext(); + return ETaskResult.RetryStep; + } + return ETaskResult.StillRunning; + case ETaxiPhase.Riding: + if (clientState.TerritoryType != base.Task.SourceTerritoryId) + { + logger.LogDebug("TaxiInteract: Territory changed to {Territory}, taxi ride complete", clientState.TerritoryType); + ClearContext(); + return ETaskResult.TaskComplete; + } + if ((!condition[ConditionFlag.Mounted] || (!condition[ConditionFlag.Occupied] && !condition[ConditionFlag.OccupiedInEvent])) && _wasRiding) + { + logger.LogDebug("TaxiInteract: Taxi ride ended (dismounted)"); + ClearContext(); + return ETaskResult.TaskComplete; + } + return ETaskResult.StillRunning; + case ETaxiPhase.None: + { + IGameObject gameObject = gameFunctions.FindObjectByDataId(base.Task.NpcDataId); + if (gameObject == null) + { + return ETaskResult.StillRunning; + } + _startPosition = objectTable.LocalPlayer?.Position ?? _startPosition; + if (condition[ConditionFlag.Mounted]) + { + gameFunctions.Unmount(); + _phase = ETaxiPhase.Unmounting; + return ETaskResult.StillRunning; + } + if (gameFunctions.InteractWith(gameObject)) + { + logger.LogDebug("TaxiInteract: Interacting with NPC {DataId}", base.Task.NpcDataId); + _phase = ETaxiPhase.Interacting; + _interactingStartedAt = Environment.TickCount64; + } + return ETaskResult.StillRunning; + } + default: + return ETaskResult.StillRunning; } - goto IL_0227; } - [MethodImpl(MethodImplOptions.NoInlining)] public void OnConditionChange(ConditionFlag flag, bool value) { bool flag2 = _phase == ETaxiPhase.Interacting; - int num = ((!flag2) ? 1668552207 : 1668552200); - bool flag3 = default(bool); - while (true) + if (flag2) { - int num2 = num; - int num3 = 1668552201; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - flag3 = false; - num = 1668552204; - break; - case 1: - num = (((uint)(flag - 31) > 1u) ? 1668552202 : 1668552203); - break; - case 5: - flag2 = flag3; - num = 1668552207; - break; - case 0: - num = 1668552200; - break; - case 4: - return; - case 2: - flag3 = true; - num = 1668552204; - break; - case 6: - { - bool num5 = flag2; - num3 = (value ? 1 : 0); - num4 = (num5 ? 1 : 0); - num = (((num4 | num3) - (num4 ^ num3) == 0) ? 1668552205 : 1668552206); - break; - } - case 7: - _206F_202A_202C_200F_200F_206A_206F_200B_202C_202D_202A_202A_206B_206D_206F_206B_202C_200E_206D_202A_202D_206B_206E_200E_202E_202D_202D_206F_206D_202A_200B_202D_200F_202D_206C_206B_206A_206A_200D_202D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-919040948), Array.Empty()); - num = 1668552205; - break; - } + bool flag3 = (uint)(flag - 31) <= 1u; + flag2 = flag3; + } + if (flag2 && value) + { + logger.LogDebug("TaxiInteract: Interaction confirmed via condition flag"); } - } - - void IConditionChangeAware.OnConditionChange(ConditionFlag flag, bool value) - { - //ILSpy generated this explicit interface implementation from .override directive in OnConditionChange - this.OnConditionChange(flag, value); } public override bool ShouldInterruptOnDamage() @@ -465,40 +174,5 @@ internal static class TaxiInteract { interactionUiController.SmartNavTaxiDestPlaceName = null; } - - static IPlayerCharacter _206B_206D_202B_202B_202D_200C_206C_200E_206E_206B_202B_206E_206C_200E_200E_206D_200D_206D_206B_202E_202A_202E_206B_200B_202C_200F_202D_206A_202A_202C_206D_206A_200C_200F_200D_202C_206E_202C_206C_206F_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static Vector3 _200B_206F_202B_200F_202B_206F_200E_206F_206A_200F_206C_206C_200E_202C_202A_206C_200B_206F_200F_202C_200E_200B_200F_200D_200E_202A_206E_200C_202C_202D_206D_206F_200D_200D_200E_206E_206E_206D_202E_206D_202E(IGameObject P_0) - { - return P_0.Position; - } - - static void _206F_202A_202C_200F_200F_206A_206F_200B_202C_202D_202A_202A_206B_206D_206F_206B_202C_200E_206D_202A_202D_206B_206E_200E_202E_202D_202D_206F_206D_202A_200B_202D_200F_202D_206C_206B_206A_206A_200D_202D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _202A_202A_202D_202C_202D_206B_206F_202E_202A_202A_200D_202D_202A_206E_200C_200F_206C_200C_206C_206D_200D_206B_206C_206C_200D_206A_202D_200C_202A_206F_206D_206C_202A_202D_202C_200B_206F_200D_206C_202A_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static long _206D_206E_200D_202B_206C_202E_206B_200B_200F_200B_206B_200F_206E_202D_206A_206D_200E_206D_200E_202A_202D_206A_206B_206D_202A_202B_206D_200B_206E_202C_206C_202A_206E_202B_200F_202E_200E_200E_200C_202E_202E() - { - return Environment.TickCount64; - } - - static void _200B_202D_206E_202C_200C_206A_206C_206A_202B_202A_206E_202E_206D_202D_200E_200D_202D_202E_200F_206B_200C_202B_202D_200B_200D_200D_206E_206A_206A_200C_206A_206F_200D_202D_202C_202A_206F_200E_200E_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static uint _202B_206B_206B_206B_202E_202D_200C_206E_200E_200F_206E_206C_200C_202A_206D_206C_200B_202C_200C_206B_202E_202E_202E_202A_200C_206B_200C_202C_206B_200B_206B_206E_206B_202D_202E_200E_206D_202C_206B_202A_202E(IClientState P_0) - { - return P_0.TerritoryType; - } } } diff --git a/Questionable/Questionable.Controller.Steps.Shared/TicketTeleport.cs b/Questionable/Questionable.Controller.Steps.Shared/TicketTeleport.cs index 311e20c..ed5591f 100644 --- a/Questionable/Questionable.Controller.Steps.Shared/TicketTeleport.cs +++ b/Questionable/Questionable.Controller.Steps.Shared/TicketTeleport.cs @@ -1,7 +1,4 @@ -using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Plugin.Services; using Microsoft.Extensions.Logging; using Questionable.Controller.Steps.Interactions; @@ -14,16 +11,6 @@ internal static class TicketTeleport { internal sealed record Task(uint ItemId, ushort DestTerritoryId) : UseItem.IUseItemBase, ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206E_206B_206A_200E_206B_206F_200B_202A_206A_200C_200F_206B_206A_200E_206F_200B_200B_200D_206B_206F_206C_200C_206B_200C_200F_200F_200D_202D_202B_206B_202E_200E_206F_200B_200B_206D_202B_200F_206B_206C_202E(typeof(Task).TypeHandle); - } - } - public ElementId? QuestId => null; public IList CompletionQuestVariablesFlags => new List(); @@ -35,104 +22,9 @@ internal static class TicketTeleport return true; } - bool ITask.ShouldRedoOnInterrupt() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt - return this.ShouldRedoOnInterrupt(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(30, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1384911958)); - defaultInterpolatedStringHandler.AppendFormatted(ItemId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1691935347)); - defaultInterpolatedStringHandler.AppendFormatted(DestTerritoryId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1618480346)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202B_206F_206F_206B_200E_202A_206A_206B_200C_202B_202E_206D_202A_202E_202B_202E_202E_206D_206D_206D_202D_206D_206E_200E_206B_206E_200B_206C_206C_206F_200D_200C_202E_206A_200F_202E_200D_200B_200B_206C_202E(); - _200C_200D_202D_206A_206C_206A_202A_206A_200E_202A_202D_200E_202C_206E_202D_200F_200B_202E_206C_200D_206B_200E_206F_202A_206A_202A_202A_206F_202D_202E_200F_200F_202C_206D_206B_200D_200B_202D_206B_206A_202E(builder, 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(-1298229987)); - _200C_200D_202D_206A_206C_206A_202A_206A_200E_202A_202D_200E_202C_206E_202D_200F_200B_202E_206C_200D_206B_200E_206F_202A_206A_202A_202A_206F_202D_202E_200F_200F_202C_206D_206B_200D_200B_202D_206B_206A_202E(builder, ItemId.ToString()); - _200C_200D_202D_206A_206C_206A_202A_206A_200E_202A_202D_200E_202C_206E_202D_200F_200B_202E_206C_200D_206B_200E_206F_202A_206A_202A_202A_206F_202D_202E_200F_200F_202C_206D_206B_200D_200B_202D_206B_206A_202E(builder, 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(-1798905925)); - _200C_200D_202D_206A_206C_206A_202A_206A_200E_202A_202D_200E_202C_206E_202D_200F_200B_202E_206C_200D_206B_200E_206F_202A_206A_202A_202A_206F_202D_202E_200F_200F_202C_206D_206B_200D_200B_202D_206B_206A_202E(builder, DestTerritoryId.ToString()); - _200C_200D_202D_206A_206C_206A_202A_206A_200E_202A_202D_200E_202C_206E_202D_200F_200B_202E_206C_200D_206B_200E_206F_202A_206A_202A_202A_206F_202D_202E_200F_200F_202C_206D_206B_200D_200B_202D_206B_206A_202E(builder, 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(1816920176)); - _206D_206E_206D_206C_206C_200E_206F_202D_206C_206F_206D_206F_200C_200C_200B_200F_200B_200D_206E_206F_200F_202B_206B_200B_200E_202A_202D_206C_202C_202A_200C_202A_202A_202B_206C_206E_202B_202E_200E_200E_202E(builder, (object?)QuestId); - _200C_200D_202D_206A_206C_206A_202A_206A_200E_202A_202D_200E_202C_206E_202D_200F_200B_202E_206C_200D_206B_200E_206F_202A_206A_202A_202A_206F_202D_202E_200F_200F_202C_206D_206B_200D_200B_202D_206B_206A_202E(builder, 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(-755497586)); - _206D_206E_206D_206C_206C_200E_206F_202D_206C_206F_206D_206F_200C_200C_200B_200F_200B_200D_206E_206F_200F_202B_206B_200B_200E_202A_202D_206C_202C_202A_200C_202A_202A_202B_206C_206E_202B_202E_200E_200E_202E(builder, (object?)CompletionQuestVariablesFlags); - _200C_200D_202D_206A_206C_206A_202A_206A_200E_202A_202D_200E_202C_206E_202D_200F_200B_202E_206C_200D_206B_200E_206F_202A_206A_202A_202A_206F_202D_202E_200F_200F_202C_206D_206B_200D_200B_202D_206B_206A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-395177721)); - _200C_200D_202D_206A_206C_206A_202A_206A_200E_202A_202D_200E_202C_206E_202D_200F_200B_202E_206C_200D_206B_200E_206F_202A_206A_202A_202A_206F_202D_202E_200F_200F_202C_206D_206B_200D_200B_202D_206B_206A_202E(builder, StartingCombat.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(Task? other) - { - int num = (((object)this == other) ? (-1363614777) : (-1363614778)); - while (true) - { - int num2 = num; - int num3 = -1363614780; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1363614778; - break; - case 1: - num = ((!_202A_206A_200E_206F_202D_202C_206D_200C_206C_206F_206E_202C_200D_206C_200E_202A_200F_202A_200B_202D_200F_202E_206B_200F_200F_202B_206B_202C_206C_200F_206D_200B_202C_200F_202E_200D_202E_200C_200E_206E_202E(EqualityContract, other.EqualityContract)) ? (-1363614784) : (-1363614782)); - break; - case 4: - return false; - case 2: - num = (((object)other == null) ? (-1363614784) : (-1363614779)); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(ItemId, other.ItemId)) ? (-1363614784) : (-1363614783)); - break; - case 5: - return EqualityComparer.Default.Equals(DestTerritoryId, other.DestTerritoryId); - case 3: - return true; - } - } - } - - bool IEquatable.Equals(Task? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type? _206E_206B_206A_200E_206B_206F_200B_202A_206A_200C_200F_206B_206A_200E_206F_200B_200B_200D_206B_206F_206C_200C_206B_200C_200F_200F_200D_202D_202B_206B_202E_200E_206F_200B_200B_206D_202B_200F_206B_206C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _202B_206F_206F_206B_200E_202A_206A_206B_200C_202B_202E_206D_202A_202E_202B_202E_202E_206D_206D_206D_202D_206D_206E_200E_206B_206E_200B_206C_206C_206F_200D_200C_202E_206A_200F_202E_200D_200B_200B_206C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder? _200C_200D_202D_206A_206C_206A_202A_206A_200E_202A_202D_200E_202C_206E_202D_200F_200B_202E_206C_200D_206B_200E_206F_202A_206A_202A_202A_206F_202D_202E_200F_200F_202C_206D_206B_200D_200B_202D_206B_206A_202E(StringBuilder? P_0, string? P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder? _206D_206E_206D_206C_206C_200E_206F_202D_206C_206F_206D_206F_200C_200C_200B_200F_200B_200D_206E_206F_200F_202B_206B_200B_200E_202A_202D_206C_202C_202A_200C_202A_202A_202B_206C_206E_202B_202E_200E_200E_202E(StringBuilder? P_0, object? P_1) - { - return P_0.Append(P_1); - } - - static bool _202A_206A_200E_206F_202D_202C_206D_200C_206C_206F_206E_202C_200D_206C_200E_202A_200F_202A_200B_202D_200F_202E_206B_200F_200F_202B_206B_202C_206C_200F_206D_200B_202C_200F_202E_200D_202E_200C_200E_206E_202E(Type? P_0, Type? P_1) - { - return P_0 == P_1; + return $"TicketTeleport({ItemId} -> territory {DestTerritoryId})"; } } diff --git a/Questionable/Questionable.Controller.Steps.Shared/WaitAtEnd.cs b/Questionable/Questionable.Controller.Steps.Shared/WaitAtEnd.cs index bcfe228..907b4d6 100644 --- a/Questionable/Questionable.Controller.Steps.Shared/WaitAtEnd.cs +++ b/Questionable/Questionable.Controller.Steps.Shared/WaitAtEnd.cs @@ -3,11 +3,7 @@ using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Conditions; -using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using Questionable.Controller.Steps.Common; using Questionable.Controller.Utils; @@ -23,460 +19,153 @@ internal static class WaitAtEnd { internal sealed class Factory(IClientState clientState, IObjectTable objectTable, ICondition condition, TerritoryData territoryData, AutoDutyIpc autoDutyIpc, AutoHookIpc autoHookIpc, BossModIpc bossModIpc) : ITaskFactory { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass8_0 - { - public Factory _003C_003E4__this; - - public QuestStep step; - - internal bool _003CCreateAllTasks_003Eb__0() - { - return !_200B_202B_206C_200C_200D_202C_206E_202C_202A_202B_200D_200F_200C_206C_206F_200D_206D_206A_202E_200B_202C_206A_200C_200D_206B_202B_206A_202B_202E_202B_202A_206E_202D_206F_200F_200D_202B_200E_202E_202A_202E(_003C_003E4__this.condition, ConditionFlag.InCombat); - } - - internal bool _003CCreateAllTasks_003Eb__1() - { - return _206C_206F_200B_202B_206A_202E_202E_200B_206D_206E_206C_206B_206C_200D_202D_200D_206E_200C_206D_206D_200C_206A_202E_206A_200B_200D_200C_206A_200E_206C_206B_202E_206B_206B_200F_206A_200B_206E_202B_202C_202E(_003C_003E4__this.clientState) == _206C_206A_200C_206C_206F_206D_202E_202C_206B_206A_200E_200E_206E_206A_206A_200F_206B_202C_206F_200E_200C_206B_200D_202C_200C_200C_206C_200B_200E_206F_206B_202E_206D_206E_202A_202A_206F_202A_200C_206B_202E(step); - } - - static bool _200B_202B_206C_200C_200D_202C_206E_202C_202A_202B_200D_200F_200C_206C_206F_200D_206D_206A_202E_200B_202C_206A_200C_200D_206B_202B_206A_202B_202E_202B_202A_206E_202D_206F_200F_200D_202B_200E_202E_202A_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static uint _206C_206F_200B_202B_206A_202E_202E_200B_206D_206E_206C_206B_206C_200D_202D_200D_206E_200C_206D_206D_200C_206A_202E_206A_200B_200D_200C_206A_200E_206C_206B_202E_206B_206B_200F_206A_200B_206E_202B_202C_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static ushort? _206C_206A_200C_206C_206F_206D_202E_202C_206B_206A_200E_200E_206E_206A_206A_200F_206B_202C_206F_200E_200C_206B_200D_202C_200C_200C_206C_200B_200E_206F_206B_202E_206D_206E_202A_202A_206F_202A_200C_206B_202E(QuestStep P_0) - { - return P_0.TargetTerritoryId; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass8_1 - { - public Vector3 lastPosition; - - public _003C_003Ec__DisplayClass8_0 CS_0024_003C_003E8__locals1; - - internal bool _003CCreateAllTasks_003Eb__2() - { - IPlayerCharacter playerCharacter = _200D_202E_202C_206E_202D_206B_206C_200D_206D_200D_200B_202D_206F_202E_202A_206D_202B_202C_202C_202E_200D_200B_206C_200E_202C_200E_202E_206D_206A_206A_202A_200D_206D_200B_206F_202A_206A_206F_200B_200F_202E(CS_0024_003C_003E8__locals1._003C_003E4__this.objectTable); - Vector3? vector = ((playerCharacter != null) ? new Vector3?(_206D_200E_200C_200F_200F_200D_202E_206C_206D_202E_206C_200E_200D_206F_200E_200B_202E_206F_200B_206D_206F_200C_206B_200E_202B_200C_202E_206D_202D_200B_206E_206C_206C_202D_202B_206E_206D_202B_206A_206A_202E((IGameObject)playerCharacter)) : ((Vector3?)null)); - int num = (vector.HasValue ? (-1541036823) : (-1541036822)); - while (true) - { - int num2 = num; - int num3 = -1541036824; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0082; - case 2: - return false; - case 1: - return (lastPosition - vector.Value).Length() > 2f; - } - continue; - IL_0082: - num = -1541036822; - } - } - - static IPlayerCharacter _200D_202E_202C_206E_202D_206B_206C_200D_206D_200D_200B_202D_206F_202E_202A_206D_202B_202C_202C_202E_200D_200B_206C_200E_202C_200E_202E_206D_206A_206A_202A_200D_206D_200B_206F_202A_206A_206F_200B_200F_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static Vector3 _206D_200E_200C_200F_200F_200D_202E_206C_206D_202E_206C_200E_200D_206F_200E_200B_202E_206F_200B_206D_206F_200C_206B_200E_202B_200C_202E_206D_202D_200B_206E_206C_206C_202D_202B_206E_206D_202B_206A_206A_202E(IGameObject P_0) - { - return P_0.Position; - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((_202B_202D_202A_206B_206B_200D_200E_202C_200B_206E_200B_206D_202D_200E_206D_202D_206B_206B_200D_202B_206A_202D_202A_206D_202D_202A_200D_200C_200D_206B_202E_200C_200C_202A_206F_200B_206D_202B_202E_202B_202E(step).Count != 6) ? 305029155 : 305029169); - WaitQuestAccepted waitQuestAccepted = default(WaitQuestAccepted); - WaitDelay waitDelay = default(WaitDelay); - EInteractionType eInteractionType = default(EInteractionType); - WaitQuestCompleted waitQuestCompleted = default(WaitQuestCompleted); - WaitDelay waitDelay2 = default(WaitDelay); - ITask task = default(ITask); - while (true) + if (step.CompletionQuestVariablesFlags.Count == 6 && QuestWorkUtils.HasCompletionFlags(step.CompletionQuestVariablesFlags)) { - int num2 = num; - int num3 = 305029181; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + WaitForCompletionFlags waitForCompletionFlags = new WaitForCompletionFlags((QuestId)quest.Id, step); + WaitDelay waitDelay = new WaitDelay(); + return new global::_003C_003Ez__ReadOnlyArray(new ITask[3] + { + waitForCompletionFlags, + waitDelay, + Next(quest, sequence) + }); + } + ITask task2; + switch (step.InteractionType) + { + case EInteractionType.Combat: + { + if (step.EnemySpawnType == EEnemySpawnType.FinishCombatIfAny) + { + return new global::_003C_003Ez__ReadOnlySingleElementList(Next(quest, sequence)); + } + WaitCondition.Task task = new WaitCondition.Task(() => !condition[ConditionFlag.InCombat], "Wait(not in combat)"); + return new global::_003C_003Ez__ReadOnlyArray(new ITask[4] + { + new WaitDelay(), + task, + new WaitDelay(), + Next(quest, sequence) + }); + } + case EInteractionType.WaitForManualProgress: + case EInteractionType.Snipe: + case EInteractionType.Instruction: + case EInteractionType.FateAction: + case EInteractionType.CriticalEncounter: + return new global::_003C_003Ez__ReadOnlySingleElementList(new WaitNextStepOrSequence()); + case EInteractionType.Duty: + if (autoDutyIpc.IsConfiguredToRunContent(step.DutyOptions)) { - case 26: - num = 305029156; break; - case 27: - _200F_202D_206D_206B_202D_202A_200E_202A_206A_202D_200C_200D_200E_200E_206E_200B_202D_206B_200B_200F_206F_202A_206F_206A_202A_200C_206F_206F_202C_202B_202A_206C_206D_206C_202A_206A_200E_206A_202A_206A_202E((object)_202A_202B_202C_202B_200C_206E_206A_202C_200B_206C_200B_200C_206E_202D_206E_202A_206D_202C_202C_200D_206F_206D_200E_200D_200B_202A_200C_200D_206D_202B_200F_206C_200C_206A_200B_202E_206D_202A_202C_206C_202E(step), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-751408309)); - _200F_202D_206D_206B_202D_202A_200E_202A_206A_202D_200C_200D_200E_200E_206E_200B_202D_206B_200B_200F_206F_202A_206F_206A_202A_200C_206F_206F_202C_202B_202A_206C_206D_206C_202A_206A_200E_206A_202A_206A_202E((object)_202E_206E_200F_202B_202D_202C_202D_200E_202D_200F_206A_206B_206D_202C_206C_206C_206A_206A_200E_200E_202D_200E_202E_200E_200F_200F_206E_206C_206E_200D_200D_206D_202C_200D_200D_200C_200C_206A_200B_206D_202E(step), 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(1724098705)); + } + goto IL_01bf; + case EInteractionType.SinglePlayerDuty: + if (bossModIpc.IsConfiguredToRunSoloInstance(quest.Id, step.SinglePlayerDutyOptions)) + { + break; + } + goto IL_01bf; + case EInteractionType.Fish: + if (autoHookIpc.IsAvailable()) + { + break; + } + goto IL_01bf; + case EInteractionType.WalkTo: + case EInteractionType.Jump: + return new global::_003C_003Ez__ReadOnlySingleElementList(Next(quest, sequence)); + case EInteractionType.WaitForObjectAtPosition: + ArgumentNullException.ThrowIfNull(step.DataId, "step.DataId"); + ArgumentNullException.ThrowIfNull(step.Position, "step.Position"); + return new global::_003C_003Ez__ReadOnlyArray(new ITask[3] + { + new WaitObjectAtPosition(step.DataId.Value, step.Position.Value, step.NpcWaitDistance ?? 0.5f), + new WaitDelay(), + Next(quest, sequence) + }); + case EInteractionType.Interact: + if (!step.TargetTerritoryId.HasValue) + { + break; + } + goto IL_02a6; + case EInteractionType.UseItem: + if (!step.TargetTerritoryId.HasValue) + { + break; + } + goto IL_02a6; + case EInteractionType.AcceptQuest: + { + WaitQuestAccepted waitQuestAccepted = new WaitQuestAccepted(step.PickUpQuestId ?? quest.Id); + WaitDelay waitDelay3 = new WaitDelay(); + if (step.PickUpQuestId != null) + { return new global::_003C_003Ez__ReadOnlyArray(new ITask[3] { - new WaitObjectAtPosition(_202A_202B_202C_202B_200C_206E_206A_202C_200B_206C_200B_200C_206E_202D_206E_202A_206D_202C_202C_200D_206F_206D_200E_200D_200B_202A_200C_200D_206D_202B_200F_206C_200C_206A_200B_202E_206D_202A_202C_206C_202E(step).Value, _202E_206E_200F_202B_202D_202C_202D_200E_202D_200F_206A_206B_206D_202C_206C_206C_206A_206A_200E_200E_202D_200E_202E_200E_200F_200F_206E_206C_206E_200D_200D_206D_202C_200D_200D_200C_200C_206A_200B_206D_202E(step).Value, _206E_206B_206F_200E_200B_202B_200D_200E_202A_206A_202C_206B_200C_206F_206E_206D_206F_206D_200B_206B_202C_202B_200E_202A_206A_206F_206E_200D_202E_200E_202A_202B_202E_202C_202C_202C_206C_206F_202B_202A_202E(step) ?? 0.5f), - new WaitDelay(), - Next(quest, sequence) - }); - case 16: - return new global::_003C_003Ez__ReadOnlyArray(new ITask[2] { waitQuestAccepted, waitDelay }); - case 0: - num = 305029156; - break; - case 24: - { - WaitForCompletionFlags waitForCompletionFlags = new WaitForCompletionFlags((QuestId)quest.Id, step); - WaitDelay waitDelay3 = new WaitDelay(); - return new global::_003C_003Ez__ReadOnlyArray(new ITask[3] - { - waitForCompletionFlags, + waitQuestAccepted, waitDelay3, Next(quest, sequence) }); } - case 36: - goto IL_0204; - case 31: - return new global::_003C_003Ez__ReadOnlySingleElementList(Next(quest, sequence)); - case 30: - eInteractionType = _202A_202C_202B_202D_202A_200B_206A_206C_202A_202E_200F_206A_202D_206E_200C_200B_202A_202C_200D_206B_206F_200E_202D_202A_202A_206C_206A_206A_202E_206D_202C_206D_206A_202D_206D_206F_206A_202B_206F_202C_202E(step); - num = ((eInteractionType > EInteractionType.WalkTo) ? 305029150 : 305029177); - break; - case 32: - return new global::_003C_003Ez__ReadOnlyArray(new ITask[2] { waitQuestCompleted, waitDelay2 }); - case 5: - num = 305029156; - break; - case 10: - num = ((eInteractionType == EInteractionType.UseItem) ? 305029164 : 305029171); - break; - case 14: - switch (eInteractionType) - { - case EInteractionType.WaitForObjectAtPosition: - break; - case EInteractionType.AcceptQuest: - goto IL_0204; - default: - goto IL_0326; - case EInteractionType.WaitForManualProgress: - case EInteractionType.Snipe: - case EInteractionType.Instruction: - case EInteractionType.FateAction: - case EInteractionType.CriticalEncounter: - goto IL_0332; - case EInteractionType.SinglePlayerDuty: - goto IL_0490; - case EInteractionType.Dive: - case EInteractionType.Craft: - case EInteractionType.Gather: - case EInteractionType.SwitchClass: - case EInteractionType.UnlockTaxiStand: - case EInteractionType.MeldMateria: - goto IL_04f8; - case EInteractionType.Fish: - goto IL_059f; - case EInteractionType.Jump: - goto IL_0644; - case EInteractionType.CompleteQuest: - goto IL_0671; - case EInteractionType.Duty: - goto IL_06c5; - } - goto case 27; - case 22: - goto IL_0332; - case 8: - return new global::_003C_003Ez__ReadOnlyArray(new ITask[3] - { - waitQuestAccepted, - waitDelay, - Next(quest, sequence) - }); - case 33: - { - WaitCondition.Task task2 = new WaitCondition.Task(() => !_003C_003Ec__DisplayClass8_0._200B_202B_206C_200C_200D_202C_206E_202C_202A_202B_200D_200F_200C_206C_206F_200D_206D_206A_202E_200B_202C_206A_200C_200D_206B_202B_206A_202B_202E_202B_202A_206E_202D_206F_200F_200D_202B_200E_202E_202A_202E(condition, ConditionFlag.InCombat), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1005542546)); - return new global::_003C_003Ez__ReadOnlyArray(new ITask[4] - { - new WaitDelay(), - task2, - new WaitDelay(), - Next(quest, sequence) - }); - } - case 3: - num = (_200E_202C_206A_200D_200E_206C_206C_206B_206C_202D_202C_202B_206B_200F_202C_206F_202B_202E_206E_200D_206B_206D_206E_200F_206C_200F_202B_202D_200E_202E_206D_206B_202B_200C_200D_202B_202D_200F_202A_202E(step).HasValue ? 305029170 : 305029181); - break; - case 15: - num = ((_206A_200E_206D_200F_202E_206F_202E_202E_200F_206E_202A_200F_200B_206F_202D_202A_202A_200B_200C_200C_206D_202D_200B_202C_206E_202C_206C_202C_202A_202D_202D_200E_202E_206E_206C_206C_202E_202D_202E(step) == _200E_202C_206A_200D_200E_206C_206C_206B_206C_202D_202C_202B_206B_200F_202C_206F_202B_202E_206E_200D_206B_206D_206E_200F_206C_200F_202B_202D_200E_202E_206D_206B_202B_200C_200D_202B_202D_200F_202A_202E(step)) ? 305029178 : 305029174); - break; - case 35: - num = ((eInteractionType == EInteractionType.Combat) ? 305029151 : 305029175); - break; - case 12: - num = ((!QuestWorkUtils.HasCompletionFlags(_202B_202D_202A_206B_206B_200D_200E_202C_200B_206E_200B_206D_202D_200E_206D_202D_206B_206B_200D_202B_206A_202D_202A_206D_202D_202A_200D_200C_200D_206B_202E_200C_200C_202A_206F_200B_206D_202B_202E_202B_202E(step))) ? 305029155 : 305029157); - break; - case 2: - goto IL_0490; - case 9: - return new global::_003C_003Ez__ReadOnlyArray(new ITask[3] - { - task, - new WaitDelay(), - Next(quest, sequence) - }); - case 20: - num = 305029169; - break; - case 25: - goto IL_04f8; - case 34: - num = ((_200B_200C_200E_206C_202E_206C_202C_200C_206B_206D_206B_200B_206E_206A_200C_200B_206C_200E_200F_200B_202A_206E_202C_202E_200E_202D_206F_206E_206E_200C_206C_200C_206B_200B_200E_206C_206F_206F_202D_206E_202E(step) != EEnemySpawnType.FinishCombatIfAny) ? 305029148 : 305029154); - break; - case 11: - task = new WaitCondition.Task(() => _003C_003Ec__DisplayClass8_0._206C_206F_200B_202B_206A_202E_202E_200B_206D_206E_206C_206B_206C_200D_202D_200D_206E_200C_206D_206D_200C_206A_202E_206A_200B_200D_200C_206A_200E_206C_206B_202E_206B_206B_200F_206A_200B_206E_202B_202C_202E(clientState) == _003C_003Ec__DisplayClass8_0._206C_206A_200C_206C_206F_206D_202E_202C_206B_206A_200E_200E_206E_206A_206A_200F_206B_202C_206F_200E_200C_206B_200D_202C_200C_200C_206C_200B_200E_206F_206B_202E_206D_206E_202A_202A_206F_202A_200C_206B_202E(step), _200F_206C_206C_206B_200F_206B_202E_206C_202E_202D_206B_200D_206B_202E_206C_206E_200E_206F_200C_206A_200C_206F_206B_200B_200F_202D_200C_206A_206C_206D_200C_206E_202C_202C_202B_206F_206F_200F_206C_206F_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-502648529), territoryData.GetNameAndId(_200E_202C_206A_200D_200E_206C_206C_206B_206C_202D_202C_202B_206B_200F_202C_206F_202B_202E_206E_200D_206B_206D_206E_200F_206C_200F_202B_202D_200E_202E_206D_206B_202B_200C_200D_202B_202D_200F_202A_202E(step).Value), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1618480346))); - num = 305029172; - break; - case 23: - goto IL_059f; - case 18: - num = ((eInteractionType == EInteractionType.WalkTo) ? 305029168 : 305029159); - break; - case 4: - num = ((eInteractionType == EInteractionType.Interact) ? 305029182 : 305029167); - break; - case 29: - num = 305029156; - break; - case 17: - num = ((!_200E_202C_206A_200D_200E_206C_206C_206B_206C_202D_202C_202B_206B_200F_202C_206F_202B_202E_206E_200D_206B_206D_206E_200F_206C_200F_202B_202D_200E_202E_206D_206B_202B_200C_200D_202B_202D_200F_202A_202E(step).HasValue) ? 305029156 : 305029170); - break; - case 13: - goto IL_0644; - case 1: - return new global::_003C_003Ez__ReadOnlyArray(new ITask[3] - { - waitQuestCompleted, - waitDelay2, - Next(quest, sequence) - }); - case 28: - goto IL_0671; - case 19: - goto IL_06c5; - case 21: - num = 305029156; - break; - case 7: - { - Vector3? vector = _202E_206E_200F_202B_202D_202C_202D_200E_202D_200F_206A_206B_206D_202C_206C_206C_206A_206A_200E_200E_202D_200E_202E_200E_200F_200F_206E_206C_206E_200D_200D_206D_202C_200D_200D_200C_200C_206A_200B_206D_202E(step); - Vector3 obj; - if (!vector.HasValue) - { - IPlayerCharacter playerCharacter = _206E_200C_206B_206D_206E_200E_200D_202A_202A_200C_202B_200D_206A_202C_206F_200E_206C_202A_206A_202E_206F_200B_202A_206B_206D_202D_200C_202C_206E_202E_200E_206D_202A_200E_200D_206C_200B_206B_206D_200E_202E(objectTable); - obj = ((playerCharacter != null) ? _206A_200C_202A_202C_200F_200B_206D_206F_200E_202A_202A_202C_206F_202B_202C_202D_202B_200C_202C_206A_206E_200E_200D_200F_206F_200C_200C_206C_206C_200B_200C_202D_206E_200E_206D_200F_202D_200D_200F_200C_202E((IGameObject)playerCharacter) : Vector3.Zero); - } - else - { - obj = vector.GetValueOrDefault(); - } - Vector3 lastPosition = obj; - task = new WaitCondition.Task(delegate - { - IPlayerCharacter playerCharacter2 = _003C_003Ec__DisplayClass8_1._200D_202E_202C_206E_202D_206B_206C_200D_206D_200D_200B_202D_206F_202E_202A_206D_202B_202C_202C_202E_200D_200B_206C_200E_202C_200E_202E_206D_206A_206A_202A_200D_206D_200B_206F_202A_206A_206F_200B_200F_202E(objectTable); - Vector3? vector2 = ((playerCharacter2 != null) ? new Vector3?(_003C_003Ec__DisplayClass8_1._206D_200E_200C_200F_200F_200D_202E_206C_206D_202E_206C_200E_200D_206F_200E_200B_202E_206F_200B_206D_206F_200C_206B_200E_202B_200C_202E_206D_202D_200B_206E_206C_206C_202D_202B_206E_206D_202B_206A_206A_202E((IGameObject)playerCharacter2)) : ((Vector3?)null)); - int num5 = (vector2.HasValue ? (-1541036823) : (-1541036822)); - while (true) - { - int num6 = num5; - int num7 = -1541036824; - int num8 = num6; - switch ((num8 | num7) - (num8 & num7)) - { - case 0: - goto IL_0082; - case 2: - return false; - case 1: - return (lastPosition - vector2.Value).Length() > 2f; - } - continue; - IL_0082: - num5 = -1541036822; - } - }, _200F_206C_206C_206B_200F_206B_202E_206C_202E_202D_206B_200D_206B_202E_206C_206E_200E_206F_200C_206A_200C_206F_206B_200B_200F_202D_200C_206A_206C_206D_200C_206E_202C_202C_202B_206F_206F_200F_206C_206F_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(-650791102), lastPosition.ToString(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1450220880), _206A_200B_206C_206A_200D_206C_206E_202E_200F_202C_202E_200F_202E_202B_206C_202C_200D_206E_206A_200C_202B_200F_206F_206F_206F_202C_200F_206A_206D_200B_200F_202B_200F_206C_206F_206A_200C_202E_206B_206A_202E()), 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(444206578))); - num = 305029172; - break; - } - case 6: - { - return new global::_003C_003Ez__ReadOnlySingleElementList(new EndAutomation()); - } - IL_0326: - num = 305029152; - break; - IL_06c5: - num = ((!autoDutyIpc.IsConfiguredToRunContent(_202D_200B_200D_206C_202B_202B_206E_206B_200C_206B_206C_202B_200C_206F_200F_200E_206F_206A_206E_202C_206B_202B_202E_206B_206D_202D_206B_202A_206A_202E_202A_200D_202C_202B_200C_206B_206D_206C_202C_206A_202E(step))) ? 305029179 : 305029160); - break; - IL_0671: - waitQuestCompleted = new WaitQuestCompleted(_200C_206A_202C_206F_202A_202E_206E_202E_206F_202B_202E_202A_206F_200F_206B_200F_200E_206C_200E_206D_202A_200B_206F_206F_202E_202B_200C_206E_200D_200E_206C_202B_200C_206C_200C_200D_206F_200D_200F_202A_202E(step) ?? quest.Id); - waitDelay2 = new WaitDelay(); - num = ((!_206D_202A_200D_206A_206B_200D_202D_200F_202B_202B_200C_206E_200E_200E_206F_206A_202D_200D_200B_206B_202C_206C_200F_206C_206F_206C_206D_202A_202C_206F_202B_200B_202C_202E_200E_206D_200C_206E_202D_202E_202E(_200C_206A_202C_206F_202A_202E_206E_202E_206F_202B_202E_202A_206F_200F_206B_200F_200E_206C_200E_206D_202A_200B_206F_206F_202E_202B_200C_206E_200D_200E_206C_202B_200C_206C_200C_200D_206F_200D_200F_202A_202E(step), (ElementId)null)) ? 305029149 : 305029180); - break; - IL_0644: - return new global::_003C_003Ez__ReadOnlySingleElementList(Next(quest, sequence)); - IL_059f: - num = (autoHookIpc.IsAvailable() ? 305029156 : 305029179); - break; - IL_0490: - num = ((!bossModIpc.IsConfiguredToRunSoloInstance(quest.Id, _200B_206E_206A_202C_200C_202A_206F_206D_202B_206C_206A_200E_200F_202B_206C_202D_202D_200B_206D_206E_200B_202C_202D_200F_202E_202E_200F_206A_206E_200B_206E_202B_202A_206E_200C_202E_200E_200B_206B_202E_202E(step))) ? 305029179 : 305029176); - break; - IL_0204: - waitQuestAccepted = new WaitQuestAccepted(_200F_206E_202A_206A_202D_202D_206D_206C_206D_202B_202E_200E_200F_202D_206D_206A_206A_202C_206D_202E_206E_206A_206E_202A_200E_206A_206C_200B_200D_200E_206B_206E_206D_202A_200D_206B_200D_202E_200C_202E(step) ?? quest.Id); - waitDelay = new WaitDelay(); - num = ((!_206D_202A_200D_206A_206B_200D_202D_200F_202B_202B_200C_206E_200E_200E_206F_206A_202D_200D_200B_206B_202C_206C_200F_206C_206F_206C_206D_202A_202C_206F_202B_200B_202C_202E_200E_206D_200C_206E_202D_202E_202E(_200F_206E_202A_206A_202D_202D_206D_206C_206D_202B_202E_200E_200F_202D_206D_206A_206A_202C_206D_202E_206E_206A_206E_202A_200E_206A_206C_200B_200D_200E_206B_206E_206D_202A_200D_206B_200D_202E_200C_202E(step), (ElementId)null)) ? 305029165 : 305029173); - break; - IL_04f8: - return new global::_003C_003Ez__ReadOnlyArray(new ITask[2] - { - new WaitDelay(), - Next(quest, sequence) - }); - IL_0332: - return new global::_003C_003Ez__ReadOnlySingleElementList(new WaitNextStepOrSequence()); - } + return new global::_003C_003Ez__ReadOnlyArray(new ITask[2] { waitQuestAccepted, waitDelay3 }); } - } - - IEnumerable ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks - return this.CreateAllTasks(quest, sequence, step); + case EInteractionType.CompleteQuest: + { + WaitQuestCompleted waitQuestCompleted = new WaitQuestCompleted(step.TurnInQuestId ?? quest.Id); + WaitDelay waitDelay2 = new WaitDelay(); + if (step.TurnInQuestId != null) + { + return new global::_003C_003Ez__ReadOnlyArray(new ITask[3] + { + waitQuestCompleted, + waitDelay2, + Next(quest, sequence) + }); + } + return new global::_003C_003Ez__ReadOnlyArray(new ITask[2] { waitQuestCompleted, waitDelay2 }); + } + IL_01bf: + return new global::_003C_003Ez__ReadOnlySingleElementList(new EndAutomation()); + IL_02a6: + if (step.TerritoryId != step.TargetTerritoryId) + { + task2 = new WaitCondition.Task(() => clientState.TerritoryType == step.TargetTerritoryId, "Wait(tp to territory: " + territoryData.GetNameAndId(step.TargetTerritoryId.Value) + ")"); + } + else + { + Vector3 lastPosition = step.Position ?? objectTable.LocalPlayer?.Position ?? Vector3.Zero; + task2 = new WaitCondition.Task(delegate + { + Vector3? vector = objectTable.LocalPlayer?.Position; + return vector.HasValue && (lastPosition - vector.Value).Length() > 2f; + }, "Wait(tp away from " + lastPosition.ToString("G", CultureInfo.InvariantCulture) + ")"); + } + return new global::_003C_003Ez__ReadOnlyArray(new ITask[3] + { + task2, + new WaitDelay(), + Next(quest, sequence) + }); + } + return new global::_003C_003Ez__ReadOnlyArray(new ITask[2] + { + new WaitDelay(), + Next(quest, sequence) + }); } private static NextStep Next(Quest quest, QuestSequence sequence) { - return new NextStep(quest.Id, _202C_200E_202A_200F_206E_200B_202E_206B_200D_202E_202B_200E_200C_200C_200D_202D_202A_206B_206F_206F_206B_206E_202A_206B_206D_200C_200E_202D_202A_202C_200D_202D_200F_200D_206F_200F_200C_202B_200B_200F_202E(sequence)); - } - - static List _202B_202D_202A_206B_206B_200D_200E_202C_200B_206E_200B_206D_202D_200E_206D_202D_206B_206B_200D_202B_206A_202D_202A_206D_202D_202A_200D_200C_200D_206B_202E_200C_200C_202A_206F_200B_206D_202B_202E_202B_202E(QuestStep P_0) - { - return P_0.CompletionQuestVariablesFlags; - } - - static EInteractionType _202A_202C_202B_202D_202A_200B_206A_206C_202A_202E_200F_206A_202D_206E_200C_200B_202A_202C_200D_206B_206F_200E_202D_202A_202A_206C_206A_206A_202E_206D_202C_206D_206A_202D_206D_206F_206A_202B_206F_202C_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static EEnemySpawnType? _200B_200C_200E_206C_202E_206C_202C_200C_206B_206D_206B_200B_206E_206A_200C_200B_206C_200E_200F_200B_202A_206E_202C_202E_200E_202D_206F_206E_206E_200C_206C_200C_206B_200B_200E_206C_206F_206F_202D_206E_202E(QuestStep P_0) - { - return P_0.EnemySpawnType; - } - - static DutyOptions _202D_200B_200D_206C_202B_202B_206E_206B_200C_206B_206C_202B_200C_206F_200F_200E_206F_206A_206E_202C_206B_202B_202E_206B_206D_202D_206B_202A_206A_202E_202A_200D_202C_202B_200C_206B_206D_206C_202C_206A_202E(QuestStep P_0) - { - return P_0.DutyOptions; - } - - static SinglePlayerDutyOptions _200B_206E_206A_202C_200C_202A_206F_206D_202B_206C_206A_200E_200F_202B_206C_202D_202D_200B_206D_206E_200B_202C_202D_200F_202E_202E_200F_206A_206E_200B_206E_202B_202A_206E_200C_202E_200E_200B_206B_202E_202E(QuestStep P_0) - { - return P_0.SinglePlayerDutyOptions; - } - - static uint? _202A_202B_202C_202B_200C_206E_206A_202C_200B_206C_200B_200C_206E_202D_206E_202A_206D_202C_202C_200D_206F_206D_200E_200D_200B_202A_200C_200D_206D_202B_200F_206C_200C_206A_200B_202E_206D_202A_202C_206C_202E(QuestStep P_0) - { - return P_0.DataId; - } - - static void _200F_202D_206D_206B_202D_202A_200E_202A_206A_202D_200C_200D_200E_200E_206E_200B_202D_206B_200B_200F_206F_202A_206F_206A_202A_200C_206F_206F_202C_202B_202A_206C_206D_206C_202A_206A_200E_206A_202A_206A_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static Vector3? _202E_206E_200F_202B_202D_202C_202D_200E_202D_200F_206A_206B_206D_202C_206C_206C_206A_206A_200E_200E_202D_200E_202E_200E_200F_200F_206E_206C_206E_200D_200D_206D_202C_200D_200D_200C_200C_206A_200B_206D_202E(QuestStep P_0) - { - return P_0.Position; - } - - static float? _206E_206B_206F_200E_200B_202B_200D_200E_202A_206A_202C_206B_200C_206F_206E_206D_206F_206D_200B_206B_202C_202B_200E_202A_206A_206F_206E_200D_202E_200E_202A_202B_202E_202C_202C_202C_206C_206F_202B_202A_202E(QuestStep P_0) - { - return P_0.NpcWaitDistance; - } - - static ushort? _200E_202C_206A_200D_200E_206C_206C_206B_206C_202D_202C_202B_206B_200F_202C_206F_202B_202E_206E_200D_206B_206D_206E_200F_206C_200F_202B_202D_200E_202E_206D_206B_202B_200C_200D_202B_202D_200F_202A_202E(QuestStep P_0) - { - return P_0.TargetTerritoryId; - } - - static ushort _206A_200E_206D_200F_202E_206F_202E_202E_200F_206E_202A_200F_200B_206F_202D_202A_202A_200B_200C_200C_206D_202D_200B_202C_206E_202C_206C_202C_202A_202D_202D_200E_202E_206E_206C_206C_202E_202D_202E(QuestStep P_0) - { - return P_0.TerritoryId; - } - - static string _200F_206C_206C_206B_200F_206B_202E_206C_202E_202D_206B_200D_206B_202E_206C_206E_200E_206F_200C_206A_200C_206F_206B_200B_200F_202D_200C_206A_206C_206D_200C_206E_202C_202C_202B_206F_206F_200F_206C_206F_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static IPlayerCharacter _206E_200C_206B_206D_206E_200E_200D_202A_202A_200C_202B_200D_206A_202C_206F_200E_206C_202A_206A_202E_206F_200B_202A_206B_206D_202D_200C_202C_206E_202E_200E_206D_202A_200E_200D_206C_200B_206B_206D_200E_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static Vector3 _206A_200C_202A_202C_200F_200B_206D_206F_200E_202A_202A_202C_206F_202B_202C_202D_202B_200C_202C_206A_206E_200E_200D_200F_206F_200C_200C_206C_206C_200B_200C_202D_206E_200E_206D_200F_202D_200D_200F_200C_202E(IGameObject P_0) - { - return P_0.Position; - } - - static CultureInfo _206A_200B_206C_206A_200D_206C_206E_202E_200F_202C_202E_200F_202E_202B_206C_202C_200D_206E_206A_200C_202B_200F_206F_206F_206F_202C_200F_206A_206D_200B_200F_202B_200F_206C_206F_206A_200C_202E_206B_206A_202E() - { - return CultureInfo.InvariantCulture; - } - - static ElementId _200F_206E_202A_206A_202D_202D_206D_206C_206D_202B_202E_200E_200F_202D_206D_206A_206A_202C_206D_202E_206E_206A_206E_202A_200E_206A_206C_200B_200D_200E_206B_206E_206D_202A_200D_206B_200D_202E_200C_202E(QuestStep P_0) - { - return P_0.PickUpQuestId; - } - - static bool _206D_202A_200D_206A_206B_200D_202D_200F_202B_202B_200C_206E_200E_200E_206F_206A_202D_200D_200B_206B_202C_206C_200F_206C_206F_206C_206D_202A_202C_206F_202B_200B_202C_202E_200E_206D_200C_206E_202D_202E_202E(ElementId P_0, ElementId P_1) - { - return P_0 != P_1; - } - - static ElementId _200C_206A_202C_206F_202A_202E_206E_202E_206F_202B_202E_202A_206F_200F_206B_200F_200E_206C_200E_206D_202A_200B_206F_206F_202E_202B_200C_206E_200D_200E_206C_202B_200C_206C_200C_200D_206F_200D_200F_202A_202E(QuestStep P_0) - { - return P_0.TurnInQuestId; - } - - static byte _202C_200E_202A_200F_206E_200B_202E_206B_200D_202E_202B_200E_200C_200C_200D_202D_202A_206B_206F_206F_206B_206E_202A_206B_206D_200C_200E_202D_202A_202C_200D_202D_200F_200D_206F_200F_200C_202B_200B_200F_202E(QuestSequence P_0) - { - return P_0.Sequence; + return new NextStep(quest.Id, sequence.Sequence); } } internal sealed record WaitDelay(TimeSpan Delay) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200E_200C_200F_202A_206D_202E_202A_200B_202B_206B_206E_200C_206E_206A_202A_200D_202E_202E_206B_206C_200C_206B_200D_200E_206B_200C_206A_202B_206A_202E_206C_206D_202C_200E_200E_206D_202A_200C_206D_202B_202E(typeof(WaitDelay).TypeHandle); - } - } - public WaitDelay() : this(TimeSpan.FromSeconds(1L)) { @@ -487,88 +176,9 @@ internal static class WaitAtEnd return true; } - bool ITask.ShouldRedoOnInterrupt() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt - return this.ShouldRedoOnInterrupt(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(15, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(728851100)); - defaultInterpolatedStringHandler.AppendFormatted(Delay.TotalSeconds); - defaultInterpolatedStringHandler.AppendLiteral(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(444206578)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202B_206B_206E_200D_202C_202E_202D_206C_202B_202A_202D_202B_206B_200F_206E_206D_200F_202A_206B_202C_206F_200E_200C_202B_200F_202B_200E_200D_206D_202A_200F_200B_206C_202D_206B_206E_202E_200D_202C_202A_202E(); - _200E_202E_200B_200C_202A_206D_202C_200E_202A_206B_206C_202B_206D_202C_202C_200C_200D_202E_200C_202C_202C_206C_202D_200F_202B_200B_206D_200C_202B_206E_200C_206C_200E_202B_202E_200B_206B_200E_200D_206D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-711525909)); - _200E_202E_200B_200C_202A_206D_202C_200E_202A_206B_206C_202B_206D_202C_202C_200C_200D_202E_200C_202C_202C_206C_202D_200F_202B_200B_206D_200C_202B_206E_200C_206C_200E_202B_202E_200B_206B_200E_200D_206D_202E(builder, Delay.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(WaitDelay? other) - { - int num = (((object)this == other) ? 325386797 : 325386793); - while (true) - { - int num2 = num; - int num3 = 325386792; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - return true; - case 4: - return false; - case 3: - num = ((!_206F_200C_206A_202B_202A_200D_202C_202E_200F_202E_200B_206B_200E_206B_202E_206B_206D_206D_200C_206D_202C_200C_202B_200E_200D_202E_200B_202A_206B_200B_202C_202D_202E_200E_206C_202D_202C_202D_202A_200F_202E(EqualityContract, other.EqualityContract)) ? 325386796 : 325386792); - break; - case 0: - return EqualityComparer.Default.Equals(Delay, other.Delay); - case 1: - num = (((object)other == null) ? 325386796 : 325386795); - break; - case 2: - num = 325386793; - break; - } - } - } - - bool IEquatable.Equals(WaitDelay? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200E_200C_200F_202A_206D_202E_202A_200B_202B_206B_206E_200C_206E_206A_202A_200D_202E_202E_206B_206C_200C_206B_200D_200E_206B_200C_206A_202B_206A_202E_206C_206D_202C_200E_200E_206D_202A_200C_206D_202B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _202B_206B_206E_200D_202C_202E_202D_206C_202B_202A_202D_202B_206B_200F_206E_206D_200F_202A_206B_202C_206F_200E_200C_202B_200F_202B_200E_200D_206D_202A_200F_200B_206C_202D_206B_206E_202E_200D_202C_202A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200E_202E_200B_200C_202A_206D_202C_200E_202A_206B_206C_202B_206D_202C_202C_200C_200D_202E_200C_202C_202C_206C_202D_200F_202B_200B_206D_200C_202B_206E_200C_206C_200E_202B_202E_200B_206B_200E_200D_206D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _206F_200C_206A_202B_202A_200D_202C_202E_200F_202E_200B_206B_200E_206B_202E_206B_206D_206D_200C_206D_202C_200C_202B_200E_200D_202E_200B_202A_206B_200B_202C_202D_202E_200E_206C_202D_202C_202D_202A_200F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"Wait(seconds: {Delay.TotalSeconds})"; } } @@ -588,10 +198,9 @@ internal static class WaitAtEnd internal sealed class WaitNextStepOrSequence : ITask { - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return 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(642187919); + return "Wait(next step or sequence)"; } } @@ -606,269 +215,43 @@ internal static class WaitAtEnd protected override bool Start() { QuestController.QuestProgress currentQuest = questController.CurrentQuest; - int num = ((currentQuest == null) ? 1543604956 : 1543604959); - while (true) + if (currentQuest != null) { - int num2 = num; - int num3 = 1543604958; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return true; - case 1: - _questId = currentQuest.Quest.Id; - _initialSequence = currentQuest.Sequence; - _initialStep = currentQuest.Step; - num = 1543604956; - break; - case 0: - num = 1543604959; - break; - } + _questId = currentQuest.Quest.Id; + _initialSequence = currentQuest.Sequence; + _initialStep = currentQuest.Step; } + return true; } public override ETaskResult Update() { - int num = ((!_200B_200B_206F_206D_202D_202B_200E_200B_206D_206B_200C_200C_206D_206E_200C_202E_206A_202B_206C_200B_200E_206F_200E_202B_202B_202C_206D_202E_206D_202A_206B_206F_206A_200C_200F_200E_200C_206C_206C_202A_202E(_questId, (ElementId)null)) ? (-2044249358) : (-2044249357)); - QuestController.QuestProgress currentQuest = default(QuestController.QuestProgress); - while (true) + if (_questId != null) { - int num2 = num; - int num3 = -2044249358; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + QuestController.QuestProgress currentQuest = questController.CurrentQuest; + if (currentQuest == null || currentQuest.Quest.Id != _questId) { - case 4: - num = -2044249357; - break; - case 0: - return ETaskResult.StillRunning; - case 5: - num = ((currentQuest.Sequence != _initialSequence) ? (-2044249356) : (-2044249360)); - break; - case 7: - num = ((!_200B_200B_206F_206D_202D_202B_200E_200B_206D_206B_200C_200C_206D_206E_200C_202E_206A_202B_206C_200B_200E_206F_200E_202B_202B_202C_206D_202E_206D_202A_206B_206F_206A_200C_200F_200E_200C_206C_206C_202A_202E(currentQuest.Quest.Id, _questId)) ? (-2044249353) : (-2044249359)); - break; - case 2: - num = ((currentQuest.Step == _initialStep) ? (-2044249358) : (-2044249356)); - break; - case 1: - currentQuest = questController.CurrentQuest; - num = ((currentQuest == null) ? (-2044249359) : (-2044249355)); - break; - case 6: return ETaskResult.TaskComplete; - case 3: + } + if (currentQuest.Sequence != _initialSequence || currentQuest.Step != _initialStep) + { return ETaskResult.TaskComplete; } } + return ETaskResult.StillRunning; } public override bool ShouldInterruptOnDamage() { return false; } - - static bool _200B_200B_206F_206D_202D_202B_200E_200B_206D_206B_200C_200C_206D_206E_200C_202E_206A_202B_206C_200B_200E_206F_200E_202B_202B_202C_206D_202E_206D_202A_206B_206F_206A_200C_200F_200E_200C_206C_206C_202A_202E(ElementId P_0, ElementId P_1) - { - return P_0 != P_1; - } } internal sealed record WaitForCompletionFlags(QuestId Quest, QuestStep Step) : ITask { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__11_0; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal string _003CToString_003Eb__11_0(QuestWorkValue x) - { - int num = ((x != null) ? 1915446989 : 1915446990); - object obj; - while (true) - { - int num2 = num; - int num3 = 1915446988; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 1: - obj = _206D_202C_206E_200B_200B_202D_202E_206A_200E_202B_202B_206C_200F_200C_202A_202D_202A_200C_206C_202D_206F_202B_206A_200F_200F_206D_200D_202C_206F_206F_206A_200F_202D_202E_202B_200F_200F_206F_206D_202E_202E((object)x); - break; - case 2: - obj = null; - break; - case 0: - goto IL_006c; - } - break; - IL_006c: - num = 1915446990; - } - if (obj == null) - { - obj = 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(-2079705286); - } - return (string)obj; - } - - static string _206D_202C_206E_200B_200B_202D_202E_206A_200E_202B_202B_206C_200F_200C_202A_202D_202A_200C_206C_202D_206F_202B_206A_200F_200F_206D_200D_202C_206F_206F_206A_200F_202D_202E_202B_200F_200F_206F_206D_202E_202E(object P_0) - { - return P_0.ToString(); - } - } - - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206E_206B_206B_206A_206F_202C_200C_206C_206D_202B_202C_202C_200B_206C_202E_206F_200E_200B_206E_200F_202C_200E_200B_200E_202C_202A_206C_202E_200F_202A_200E_200E_200D_206A_202E_206F_200B_200F_206D_206C_202E(typeof(WaitForCompletionFlags).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return _206A_206C_202D_206A_206C_202B_206E_200D_202B_206A_202C_206E_200E_200E_206D_206A_202B_206F_206A_200D_200F_206A_206A_200C_200D_206D_206E_206C_200C_206E_200B_206C_202E_206C_200E_206F_202E_206D_202B_206C_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(960138318), _206D_206C_202A_200F_200C_206B_206D_202A_202E_200D_206A_202D_206A_206A_200F_202D_200F_202C_200E_200D_206E_206E_206B_202B_200F_200F_202B_202B_206A_206E_200E_206F_200D_200C_206B_202B_202E_202B_202E_206F_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1403263077), _200B_206A_200E_206A_202A_206E_206F_206D_200C_200D_202D_200B_200E_206A_206D_206D_200B_200B_202D_200F_206A_206C_206F_200D_202A_202A_206B_202B_206E_200D_202B_202E_206E_206D_206E_200F_206D_206F_206B_200D_202E(Step).Select([MethodImpl(MethodImplOptions.NoInlining)] (QuestWorkValue x) => - { - int num = ((x != null) ? 1915446989 : 1915446990); - object obj; - while (true) - { - int num2 = num; - int num3 = 1915446988; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 1: - obj = _003C_003Ec._206D_202C_206E_200B_200B_202D_202E_206A_200E_202B_202B_206C_200F_200C_202A_202D_202A_200C_206C_202D_206F_202B_206A_200F_200F_206D_200D_202C_206F_206F_206A_200F_202D_202E_202B_200F_200F_206F_206D_202E_202E((object)x); - break; - case 2: - obj = null; - break; - case 0: - goto IL_006c; - } - break; - IL_006c: - num = 1915446990; - } - if (obj == null) - { - obj = 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(-2079705286); - } - return (string)obj; - })), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1618480346)); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206C_202A_202A_200B_202C_202C_206B_206A_202B_202E_206A_206E_202B_202D_206B_200F_200E_206C_202C_200D_200F_202B_206C_202B_206B_206D_200E_202A_202D_202C_206F_200B_202B_200F_202A_202C_206A_206C_206C_202B_202E(); - _200F_200B_202D_200F_200E_206A_202B_200F_206A_200D_202A_200B_206F_206D_206D_202D_202A_202C_200B_206A_206D_206D_206B_206F_200D_202C_202B_206D_202E_200E_206B_202B_200F_200C_200D_206D_202D_200C_202E_200F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1155335586)); - _200E_202D_202B_200D_206B_202D_200D_202C_206F_200B_202D_200C_206B_202E_206C_206A_206F_206B_202D_206D_206F_200B_202A_206D_206B_200E_206E_206F_200B_202D_200B_200C_206C_206B_200F_202D_200E_200E_206A_206B_202E(builder, (object)Quest); - _200F_200B_202D_200F_200E_206A_202B_200F_206A_200D_202A_200B_206F_206D_206D_202D_202A_202C_200B_206A_206D_206D_206B_206F_200D_202C_202B_206D_202E_200E_206B_202B_200F_200C_200D_206D_202D_200C_202E_200F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-550319066)); - _200E_202D_202B_200D_206B_202D_200D_202C_206F_200B_202D_200C_206B_202E_206C_206A_206F_206B_202D_206D_206F_200B_202A_206D_206B_200E_206E_206F_200B_202D_200B_200C_206C_206B_200F_202D_200E_200E_206A_206B_202E(builder, (object)Step); - return true; - } - - [CompilerGenerated] - public bool Equals(WaitForCompletionFlags? other) - { - int num = (((object)this == other) ? (-191128448) : (-191128441)); - while (true) - { - int num2 = num; - int num3 = -191128445; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - num = -191128441; - break; - case 3: - return true; - case 0: - return false; - case 6: - num = ((!_202E_200E_206C_206A_206E_200D_206D_206D_202C_200C_200C_206F_200D_206C_200B_206F_206E_202B_202E_202D_206E_206D_200B_206F_200D_206E_200D_206F_200C_206E_206E_206C_202D_200B_200B_200F_206B_200E_206C_206B_202E(EqualityContract, other.EqualityContract)) ? (-191128445) : (-191128446)); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(Quest, other.Quest)) ? (-191128445) : (-191128447)); - break; - case 2: - return EqualityComparer.Default.Equals(Step, other.Step); - case 4: - num = (((object)other == null) ? (-191128445) : (-191128443)); - break; - } - } - } - - bool IEquatable.Equals(WaitForCompletionFlags? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206E_206B_206B_206A_206F_202C_200C_206C_206D_202B_202C_202C_200B_206C_202E_206F_200E_200B_206E_200F_202C_200E_200B_200E_202C_202A_206C_202E_200F_202A_200E_200E_200D_206A_202E_206F_200B_200F_206D_206C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static List _200B_206A_200E_206A_202A_206E_206F_206D_200C_200D_202D_200B_200E_206A_206D_206D_200B_200B_202D_200F_206A_206C_206F_200D_202A_202A_206B_202B_206E_200D_202B_202E_206E_206D_206E_200F_206D_206F_206B_200D_202E(QuestStep P_0) - { - return P_0.CompletionQuestVariablesFlags; - } - - static string _206D_206C_202A_200F_200C_206B_206D_202A_202E_200D_206A_202D_206A_206A_200F_202D_200F_202C_200E_200D_206E_206E_206B_202B_200F_200F_202B_202B_206A_206E_200E_206F_200D_200C_206B_202B_202E_202B_202E_206F_202E(string P_0, IEnumerable P_1) - { - return string.Join(P_0, P_1); - } - - static string _206A_206C_202D_206A_206C_202B_206E_200D_202B_206A_202C_206E_200E_200E_206D_206A_202B_206F_206A_200D_200F_206A_206A_200C_200D_206D_206E_206C_200C_206E_200B_206C_202E_206C_200E_206F_202E_206D_202B_206C_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static void _206C_202A_202A_200B_202C_202C_206B_206A_202B_202E_206A_206E_202B_202D_206B_200F_200E_206C_202C_200D_200F_202B_206C_202B_206B_206D_200E_202A_202D_202C_206F_200B_202B_200F_202A_202C_206A_206C_206C_202B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200F_200B_202D_200F_200E_206A_202B_200F_206A_200D_202A_200B_206F_206D_206D_202D_202A_202C_200B_206A_206D_206D_206B_206F_200D_202C_202B_206D_202E_200E_206B_202B_200F_200C_200D_206D_202D_200C_202E_200F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200E_202D_202B_200D_206B_202D_200D_202C_206F_200B_202D_200C_206B_202E_206C_206A_206F_206B_202D_206D_206F_200B_202A_206D_206B_200E_206E_206F_200B_202D_200B_200C_206C_206B_200F_202D_200E_200E_206A_206B_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202E_200E_206C_206A_206E_200D_206D_206D_202C_200C_200C_206F_200D_206C_200B_206F_206E_202B_202E_202D_206E_206D_200B_206F_200D_206E_200D_206F_200C_206E_206E_206C_202D_200B_200B_200F_206B_200E_206C_206B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "Wait(QW: " + string.Join(", ", Step.CompletionQuestVariablesFlags.Select((QuestWorkValue x) => x?.ToString() ?? "-")) + ")"; } } @@ -882,146 +265,24 @@ internal static class WaitAtEnd public override ETaskResult Update() { QuestProgressInfo questProgressInfo = questFunctions.GetQuestProgressInfo(base.Task.Quest); - int num = ((questProgressInfo == null) ? (-2142345972) : (-2142345970)); - while (true) + if (questProgressInfo == null || !QuestWorkUtils.MatchesQuestWork(base.Task.Step.CompletionQuestVariablesFlags, questProgressInfo)) { - int num2 = num; - int num3 = -2142345971; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return ETaskResult.StillRunning; - case 2: - return ETaskResult.TaskComplete; - case 0: - num = -2142345970; - break; - case 3: - num = (QuestWorkUtils.MatchesQuestWork(_200E_202A_200C_200E_202B_200C_206B_202E_200F_200F_206D_202D_200C_202C_200C_202C_206A_200E_200B_206E_206E_202E_202E_202C_200B_200C_200C_202A_206A_206A_200F_202C_200B_202A_202D_206F_206A_206E_202B_200F_202E(base.Task.Step), questProgressInfo) ? (-2142345969) : (-2142345972)); - break; - } + return ETaskResult.StillRunning; } + return ETaskResult.TaskComplete; } public override bool ShouldInterruptOnDamage() { return false; } - - static List _200E_202A_200C_200E_202B_200C_206B_202E_200F_200F_206D_202D_200C_202C_200C_202C_206A_200E_200B_206E_206E_202E_202E_202C_200B_200C_200C_202A_206A_206A_200F_202C_200B_202A_202D_206F_206A_206E_202B_200F_202E(QuestStep P_0) - { - return P_0.CompletionQuestVariablesFlags; - } } internal sealed record WaitObjectAtPosition(uint DataId, Vector3 Destination, float Distance) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202D_202B_200F_200C_202C_202A_200C_202E_200D_202E_200D_202A_200D_202B_206E_202D_200B_202B_202C_202C_202D_206B_206F_202A_202A_202E_202E_202E_202A_202A_200C_202D_206F_200D_206D_200F_206C_206D_202A_200C_202E(typeof(WaitObjectAtPosition).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(16, 3); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1147928064)); - defaultInterpolatedStringHandler.AppendFormatted(DataId); - defaultInterpolatedStringHandler.AppendLiteral(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(-1538873063)); - defaultInterpolatedStringHandler.AppendFormatted(Destination.ToString(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1770759382), _206A_202E_200C_206B_206F_200C_202E_206F_206E_206B_206B_200F_202B_202C_206F_200F_200E_200F_206D_202E_200F_206B_200C_200F_206F_202C_206D_200C_206B_206C_206E_202C_206D_202D_206A_200D_206D_200E_202E_206E_202E())); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1505333226)); - defaultInterpolatedStringHandler.AppendFormatted(Distance); - defaultInterpolatedStringHandler.AppendLiteral(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(424561659)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206A_200C_206C_200B_200E_202A_200C_206B_200C_206C_200D_202E_200E_206F_202E_206D_206C_200C_206D_200E_200E_200E_202C_202D_206D_200B_206B_202E_202E_202E_202A_202A_200D_202A_200B_202B_206B_202D_200D_200E_202E(); - _206B_200F_200F_206B_200C_200B_206F_200F_202E_206D_206A_200C_200C_202C_200C_202C_206F_200D_200B_202C_206D_202C_206A_206E_206E_202D_202E_202E_200D_200D_206C_206E_202A_200D_206B_200B_200F_200D_202D_200F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1430532645)); - _206B_200F_200F_206B_200C_200B_206F_200F_202E_206D_206A_200C_200C_202C_200C_202C_206F_200D_200B_202C_206D_202C_206A_206E_206E_202D_202E_202E_200D_200D_206C_206E_202A_200D_206B_200B_200F_200D_202D_200F_202E(builder, DataId.ToString()); - _206B_200F_200F_206B_200C_200B_206F_200F_202E_206D_206A_200C_200C_202C_200C_202C_206F_200D_200B_202C_206D_202C_206A_206E_206E_202D_202E_202E_200D_200D_206C_206E_202A_200D_206B_200B_200F_200D_202D_200F_202E(builder, 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(1363516440)); - _206B_200F_200F_206B_200C_200B_206F_200F_202E_206D_206A_200C_200C_202C_200C_202C_206F_200D_200B_202C_206D_202C_206A_206E_206E_202D_202E_202E_200D_200D_206C_206E_202A_200D_206B_200B_200F_200D_202D_200F_202E(builder, Destination.ToString()); - _206B_200F_200F_206B_200C_200B_206F_200F_202E_206D_206A_200C_200C_202C_200C_202C_206F_200D_200B_202C_206D_202C_206A_206E_206E_202D_202E_202E_200D_200D_206C_206E_202A_200D_206B_200B_200F_200D_202D_200F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(379696508)); - _206B_200F_200F_206B_200C_200B_206F_200F_202E_206D_206A_200C_200C_202C_200C_202C_206F_200D_200B_202C_206D_202C_206A_206E_206E_202D_202E_202E_200D_200D_206C_206E_202A_200D_206B_200B_200F_200D_202D_200F_202E(builder, Distance.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(WaitObjectAtPosition? other) - { - int num = (((object)this == other) ? 1337677760 : 1337677767); - while (true) - { - int num2 = num; - int num3 = 1337677765; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = ((!EqualityComparer.Default.Equals(DataId, other.DataId)) ? 1337677765 : 1337677766); - break; - case 3: - num = ((!EqualityComparer.Default.Equals(Destination, other.Destination)) ? 1337677765 : 1337677763); - break; - case 0: - return false; - case 7: - num = 1337677767; - break; - case 6: - return EqualityComparer.Default.Equals(Distance, other.Distance); - case 2: - num = (((object)other == null) ? 1337677765 : 1337677764); - break; - case 1: - num = ((!_202C_200F_206D_200F_206D_200C_206B_202D_200F_206B_202A_206D_206C_200D_202C_202D_206E_206E_200D_206A_206C_202C_202D_202D_206D_202D_202A_200F_200D_200F_206E_200D_200F_200E_206E_206A_200B_202B_200F_206E_202E(EqualityContract, other.EqualityContract)) ? 1337677765 : 1337677761); - break; - case 5: - return true; - } - } - } - - bool IEquatable.Equals(WaitObjectAtPosition? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202D_202B_200F_200C_202C_202A_200C_202E_200D_202E_200D_202A_200D_202B_206E_202D_200B_202B_202C_202C_202D_206B_206F_202A_202A_202E_202E_202E_202A_202A_200C_202D_206F_200D_206D_200F_206C_206D_202A_200C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static CultureInfo _206A_202E_200C_206B_206F_200C_202E_206F_206E_206B_206B_200F_202B_202C_206F_200F_200E_200F_206D_202E_200F_206B_200C_200F_206F_202C_206D_200C_206B_206C_206E_202C_206D_202D_206A_200D_206D_200E_202E_206E_202E() - { - return CultureInfo.InvariantCulture; - } - - static void _206A_200C_206C_200B_200E_202A_200C_206B_200C_206C_200D_202E_200E_206F_202E_206D_206C_200C_206D_200E_200E_200E_202C_202D_206D_200B_206B_202E_202E_202E_202A_202A_200D_202A_200B_202B_206B_202D_200D_200E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206B_200F_200F_206B_200C_200B_206F_200F_202E_206D_206A_200C_200C_202C_200C_202C_206F_200D_200B_202C_206D_202C_206A_206E_206E_202D_202E_202E_200D_200D_206C_206E_202A_200D_206B_200B_200F_200D_202D_200F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _202C_200F_206D_200F_206D_200C_206B_202D_200F_206B_202A_206D_206C_200D_202C_202D_206E_206E_200D_206A_206C_202C_202D_202D_206D_202D_202A_200F_200D_200F_206E_200D_200F_200E_206E_206A_200B_202B_200F_206E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"WaitObj({DataId} at {Destination.ToString("G", CultureInfo.InvariantCulture)} < {Distance})"; } } @@ -1034,27 +295,11 @@ internal static class WaitAtEnd public override ETaskResult Update() { - int num = (gameFunctions.IsObjectAtPosition(base.Task.DataId, base.Task.Destination, base.Task.Distance) ? (-555241839) : (-555241838)); - while (true) + if (!gameFunctions.IsObjectAtPosition(base.Task.DataId, base.Task.Destination, base.Task.Distance)) { - int num2 = num; - int num3 = -555241837; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_006e; - case 1: - return ETaskResult.StillRunning; - case 2: - return ETaskResult.TaskComplete; - } - continue; - IL_006e: - num = -555241838; + return ETaskResult.StillRunning; } + return ETaskResult.TaskComplete; } public override bool ShouldInterruptOnDamage() @@ -1065,97 +310,9 @@ internal static class WaitAtEnd internal sealed record WaitQuestAccepted(ElementId ElementId) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200E_206D_206C_206E_206E_200D_200D_200C_206A_206F_202E_202E_200B_200D_206F_202B_202E_206D_206F_202C_202C_202D_206D_202D_202E_200D_206B_206E_200B_200C_200C_200D_206D_202C_202C_200B_206B_206B_202D_202A_202E(typeof(WaitQuestAccepted).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(19, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1060680501)); - defaultInterpolatedStringHandler.AppendFormatted(ElementId); - defaultInterpolatedStringHandler.AppendLiteral(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(424561659)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206C_200B_200F_200F_202A_200B_200C_202E_200F_206A_200C_202D_206F_206C_200C_206E_206E_202B_202A_206C_200F_206B_206D_206C_200C_202C_202A_206B_202E_206B_202E_206B_202E_206D_200E_202A_206E_206D_206D_206D_202E(); - _202A_206F_206E_200E_206B_202E_206E_200E_202D_206B_206B_206F_206A_202B_202C_206D_206D_202D_206B_200C_206E_202C_200F_206D_200D_202D_202D_200C_200B_206A_202C_202E_200F_200B_200D_200E_202E_206D_206A_206F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2080079588)); - _206B_202A_202D_206D_200C_200D_200F_202A_206E_200E_200F_206D_206D_206F_206E_206F_200B_200F_206C_206E_202D_202E_206A_206C_206A_200E_200E_200D_206F_202B_202E_200C_202A_200E_202E_200F_206E_200E_200F_200C_202E(builder, (object)ElementId); - return true; - } - - [CompilerGenerated] - public bool Equals(WaitQuestAccepted? other) - { - int num = (((object)this == other) ? 1159852687 : 1159852686); - while (true) - { - int num2 = num; - int num3 = 1159852683; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1159852686; - break; - case 5: - num = (((object)other == null) ? 1159852682 : 1159852681); - break; - case 3: - return EqualityComparer.Default.Equals(ElementId, other.ElementId); - case 2: - num = ((!_200E_200B_200C_200C_202D_206E_202D_202E_200F_200F_200D_200B_206B_202E_206E_200D_206B_206B_200C_200F_206C_202B_202C_200D_206B_206B_206F_200B_202B_202A_202B_202D_200E_202C_202C_200E_200B_206A_202A_200C_202E(EqualityContract, other.EqualityContract)) ? 1159852682 : 1159852680); - break; - case 1: - return false; - case 4: - return true; - } - } - } - - bool IEquatable.Equals(WaitQuestAccepted? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200E_206D_206C_206E_206E_200D_200D_200C_206A_206F_202E_202E_200B_200D_206F_202B_202E_206D_206F_202C_202C_202D_206D_202D_202E_200D_206B_206E_200B_200C_200C_200D_206D_202C_202C_200B_206B_206B_202D_202A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _206C_200B_200F_200F_202A_200B_200C_202E_200F_206A_200C_202D_206F_206C_200C_206E_206E_202B_202A_206C_200F_206B_206D_206C_200C_202C_202A_206B_202E_206B_202E_206B_202E_206D_200E_202A_206E_206D_206D_206D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202A_206F_206E_200E_206B_202E_206E_200E_202D_206B_206B_206F_206A_202B_202C_206D_206D_202D_206B_200C_206E_202C_200F_206D_200D_202D_202D_200C_200B_206A_202C_202E_200F_200B_200D_200E_202E_206D_206A_206F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206B_202A_202D_206D_200C_200D_200F_202A_206E_200E_200F_206D_206D_206F_206E_206F_200B_200F_206C_206E_202D_202E_206A_206C_206A_200E_200E_200D_206F_202B_202E_200C_202A_200E_202E_200F_206E_200E_200F_200C_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200E_200B_200C_200C_202D_206E_202D_202E_200F_200F_200D_200B_206B_202E_206E_200D_206B_206B_200C_200F_206C_202B_202C_200D_206B_206B_206F_200B_202B_202A_202B_202D_200E_202C_202C_200E_200B_206A_202A_200C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"WaitQuestAccepted({ElementId})"; } } @@ -1168,26 +325,12 @@ internal static class WaitAtEnd public override ETaskResult Update() { - int num = (questFunctions.IsQuestAccepted(base.Task.ElementId) ? 789688700 : 789688703); - while (true) + if (!questFunctions.IsQuestAccepted(base.Task.ElementId)) { - int num2 = num; - int num3 = 789688701; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0056; - case 2: - return ETaskResult.StillRunning; - case 1: - questController.OnQuestAccepted(base.Task.ElementId); - return ETaskResult.TaskComplete; - } - continue; - IL_0056: - num = 789688703; + return ETaskResult.StillRunning; } + questController.OnQuestAccepted(base.Task.ElementId); + return ETaskResult.TaskComplete; } public override bool ShouldInterruptOnDamage() @@ -1198,97 +341,9 @@ internal static class WaitAtEnd internal sealed record WaitQuestCompleted(ElementId ElementId) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202A_200D_202E_206C_206C_206D_200C_206B_200E_200C_200B_200B_206E_200D_202A_206D_206C_200E_200D_200F_202C_202E_200D_206A_206D_206F_200E_200B_202D_202D_200D_206B_202B_200C_206A_202E_206E_202D_200D_202E_202E(typeof(WaitQuestCompleted).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(19, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-232492991)); - defaultInterpolatedStringHandler.AppendFormatted(ElementId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206B_206D_200F_206C_200B_200C_200C_200C_202A_206A_206A_206F_206F_200D_206F_202A_206D_202E_200C_206B_206E_200D_206E_200E_206F_206C_202B_200D_206F_206B_206E_206E_206A_202C_200C_206C_200E_206B_206D_206A_202E(); - _202D_200D_200E_206C_200B_206C_202D_202E_206B_206C_206F_206C_202E_206B_202E_206E_206E_202D_206D_206B_206F_200D_200E_206E_206E_200F_206E_206F_200C_206D_200F_200B_206A_206F_206D_200F_202E_200B_200E_206B_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-812236153)); - _206A_200C_200F_206E_206A_202C_200E_206F_200D_200C_200C_206E_200E_200F_200C_202D_206C_202B_200B_202C_206A_206A_206C_202D_200F_202C_206E_202B_202A_200C_200E_206F_202E_200E_200B_202B_202E_206F_200B_206C_202E(builder, (object)ElementId); - return true; - } - - [CompilerGenerated] - public bool Equals(WaitQuestCompleted? other) - { - int num = (((object)this == other) ? 837063026 : 837063025); - while (true) - { - int num2 = num; - int num3 = 837063026; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return false; - case 4: - num = ((!_202A_206F_200F_200C_200D_200E_206A_206E_202D_206D_206E_206B_200F_206A_200B_200C_200B_206B_206E_202A_202A_200D_206C_200F_206F_200C_202B_206E_206B_206A_200B_200B_200C_206A_202B_206C_206F_200B_206C_200C_202E(EqualityContract, other.EqualityContract)) ? 837063024 : 837063027); - break; - case 0: - return true; - case 1: - return EqualityComparer.Default.Equals(ElementId, other.ElementId); - case 5: - num = 837063025; - break; - case 3: - num = (((object)other == null) ? 837063024 : 837063030); - break; - } - } - } - - bool IEquatable.Equals(WaitQuestCompleted? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202A_200D_202E_206C_206C_206D_200C_206B_200E_200C_200B_200B_206E_200D_202A_206D_206C_200E_200D_200F_202C_202E_200D_206A_206D_206F_200E_200B_202D_202D_200D_206B_202B_200C_206A_202E_206E_202D_200D_202E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _206B_206D_200F_206C_200B_200C_200C_200C_202A_206A_206A_206F_206F_200D_206F_202A_206D_202E_200C_206B_206E_200D_206E_200E_206F_206C_202B_200D_206F_206B_206E_206E_206A_202C_200C_206C_200E_206B_206D_206A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202D_200D_200E_206C_200B_206C_202D_202E_206B_206C_206F_206C_202E_206B_202E_206E_206E_202D_206D_206B_206F_200D_200E_206E_206E_200F_206E_206F_200C_206D_200F_200B_206A_206F_206D_200F_202E_200B_200E_206B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206A_200C_200F_206E_206A_202C_200E_206F_200D_200C_200C_206E_200E_200F_200C_202D_206C_202B_200B_202C_206A_206A_206C_202D_200F_202C_206E_202B_202A_200C_200E_206F_202E_200E_200B_202B_202E_206F_200B_206C_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202A_206F_200F_200C_200D_200E_206A_206E_202D_206D_206E_206B_200F_206A_200B_200C_200B_206B_206E_202A_202A_200D_206C_200F_206F_200C_202B_206E_206B_206A_200B_200B_200C_206A_202B_206C_206F_200B_206C_200C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"WaitQuestComplete({ElementId})"; } } @@ -1301,27 +356,11 @@ internal static class WaitAtEnd public override ETaskResult Update() { - int num = (questFunctions.IsQuestComplete(base.Task.ElementId) ? (-224597006) : (-224597005)); - while (true) + if (!questFunctions.IsQuestComplete(base.Task.ElementId)) { - int num2 = num; - int num3 = -224597006; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0058; - case 1: - return ETaskResult.StillRunning; - case 0: - return ETaskResult.TaskComplete; - } - continue; - IL_0058: - num = -224597005; + return ETaskResult.StillRunning; } + return ETaskResult.TaskComplete; } public override bool ShouldInterruptOnDamage() @@ -1332,96 +371,9 @@ internal static class WaitAtEnd internal sealed record NextStep(ElementId ElementId, int Sequence) : ILastTask, ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200C_202D_206C_200D_200B_206D_202E_200F_202C_200D_206A_202D_202E_206D_206E_202B_206C_206D_200D_206E_206F_202A_200F_200E_206E_206D_202C_202C_202B_206A_200B_200C_200D_206B_206B_200C_200D_206B_206A_202E_202E(typeof(NextStep).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(111357141); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206C_206C_200E_200B_202B_200C_206C_202B_200D_202C_200C_202E_206D_206C_200F_202E_206B_202D_206F_202C_206A_200E_206A_202A_202A_202A_200D_202D_202A_200E_200D_200D_200C_200B_206B_202C_202E_202B_206A_202E(); - _206A_200F_200E_202A_200B_200C_206B_206A_200D_206C_202A_206C_202B_206A_200B_206F_200E_202C_206E_202E_202D_206F_206D_202E_206D_206C_202E_200D_206E_206E_200F_200D_202E_206D_202A_202D_202D_206F_206B_200D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-812236153)); - _200D_206B_200E_200D_202C_206F_200D_200B_200D_206F_202C_206F_200B_202A_202C_202E_206B_206A_200D_206D_202E_206E_202D_206E_200C_206B_206D_200D_206C_202A_202E_206D_202D_206C_202A_206C_206F_200F_202D_200C_202E(builder, (object)ElementId); - _206A_200F_200E_202A_200B_200C_206B_206A_200D_206C_202A_206C_202B_206A_200B_206F_200E_202C_206E_202E_202D_206F_206D_202E_206D_206C_202E_200D_206E_206E_200F_200D_202E_206D_202A_202D_202D_206F_206B_200D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1350191881)); - _206A_200F_200E_202A_200B_200C_206B_206A_200D_206C_202A_206C_202B_206A_200B_206F_200E_202C_206E_202E_202D_206F_206D_202E_206D_206C_202E_200D_206E_206E_200F_200D_202E_206D_202A_202D_202D_206F_206B_200D_202E(builder, Sequence.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(NextStep? other) - { - int num = (((object)this == other) ? (-1420080126) : (-1420080124)); - while (true) - { - int num2 = num; - int num3 = -1420080127; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - return false; - case 5: - num = (((object)other == null) ? (-1420080121) : (-1420080123)); - break; - case 4: - num = ((!_200B_200C_206A_206A_206E_202D_206B_206E_206B_200F_206C_202A_200C_202A_202E_200C_206A_202A_200E_202C_202D_200B_200F_206C_206A_202E_206A_200C_202C_206D_202D_200C_202D_200C_206A_206D_200F_202A_200F_202E(EqualityContract, other.EqualityContract)) ? (-1420080121) : (-1420080125)); - break; - case 0: - num = -1420080124; - break; - case 2: - num = ((!EqualityComparer.Default.Equals(ElementId, other.ElementId)) ? (-1420080121) : (-1420080128)); - break; - case 3: - return true; - case 1: - return EqualityComparer.Default.Equals(Sequence, other.Sequence); - } - } - } - - bool IEquatable.Equals(NextStep? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200C_202D_206C_200D_200B_206D_202E_200F_202C_200D_206A_202D_202E_206D_206E_202B_206C_206D_200D_206E_206F_202A_200F_200E_206E_206D_202C_202C_202B_206A_200B_200C_200D_206B_206B_200C_200D_206B_206A_202E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _206C_206C_200E_200B_202B_200C_206C_202B_200D_202C_200C_202E_206D_206C_200F_202E_206B_202D_206F_202C_206A_200E_206A_202A_202A_202A_200D_202D_202A_200E_200D_200D_200C_200B_206B_202C_202E_202B_206A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206A_200F_200E_202A_200B_200C_206B_206A_200D_206C_202A_206C_202B_206A_200B_206F_200E_202C_206E_202E_202D_206F_206D_202E_206D_206C_202E_200D_206E_206E_200F_200D_202E_206D_202A_202D_202D_206F_206B_200D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200D_206B_200E_200D_202C_206F_200D_200B_200D_206F_202C_206F_200B_202A_202C_202E_206B_206A_200D_206D_202E_206E_202D_206E_200C_206B_206D_200D_206C_202A_202E_206D_202D_206C_202A_206C_206F_200F_202D_200C_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200B_200C_206A_206A_206E_202D_206B_206E_206B_200F_206C_202A_200C_202A_202E_200C_206A_202A_200E_202C_202D_200B_200F_206C_206A_202E_206A_200C_202C_206D_202D_200C_202D_200C_206A_206D_200F_202A_200F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "NextStep"; } } @@ -1449,7 +401,7 @@ internal static class WaitAtEnd { get { - throw _200D_200E_206D_202E_206A_202C_200E_202A_206D_202E_202B_206B_202A_202B_200C_206A_200F_206C_202C_202B_206E_206F_200F_200F_202A_202C_206B_200C_200E_200C_202D_202D_206B_200D_202C_206D_206E_206F_206B_202C_202E(); + throw new InvalidOperationException(); } } @@ -1457,19 +409,13 @@ internal static class WaitAtEnd { get { - throw _200D_200E_206D_202E_206A_202C_200E_202A_206D_202E_202B_206B_202A_202B_200C_206A_200F_206C_202C_202B_206E_206F_200F_200F_202A_202C_206B_200C_200E_200C_202D_202D_206B_200D_202C_206D_206E_206F_206B_202C_202E(); + throw new InvalidOperationException(); } } - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-550637546); - } - - static InvalidOperationException _200D_200E_206D_202E_206A_202C_200E_202A_206D_202E_202B_206B_202A_202B_200C_206A_200F_206C_202C_202B_206E_206F_200F_200F_202A_202C_206B_200C_200E_200C_202D_202D_206B_200D_202C_206D_206E_206F_206B_202C_202E() - { - return new InvalidOperationException(); + return "EndAutomation"; } } diff --git a/Questionable/Questionable.Controller.Steps.Shared/WaitAtStart.cs b/Questionable/Questionable.Controller.Steps.Shared/WaitAtStart.cs index fc8468a..dc32b5a 100644 --- a/Questionable/Questionable.Controller.Steps.Shared/WaitAtStart.cs +++ b/Questionable/Questionable.Controller.Steps.Shared/WaitAtStart.cs @@ -1,7 +1,4 @@ using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Questionable.Controller.Steps.Common; using Questionable.Model; using Questionable.Model.Questing; @@ -14,121 +11,19 @@ internal static class WaitAtStart { public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step) { - int num = (_202C_202C_206A_206A_206F_200F_202E_200C_206E_202D_206E_202D_206C_206B_202C_202B_200E_200B_200C_206A_200C_206F_200D_200F_200D_200D_202A_202C_202A_202A_200E_202A_206F_202A_202B_200E_206E_202A_206C_202B_202E(step).HasValue ? 917790050 : 917790049); - while (true) + if (!step.DelaySecondsAtStart.HasValue) { - int num2 = num; - int num3 = 917790048; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0050; - case 1: - return null; - case 2: - return new WaitDelay(TimeSpan.FromSeconds(_202C_202C_206A_206A_206F_200F_202E_200C_206E_202D_206E_202D_206C_206B_202C_202B_200E_200B_200C_206A_200C_206F_200D_200F_200D_200D_202A_202C_202A_202A_200E_202A_206F_202A_202B_200E_206E_202A_206C_202B_202E(step).Value)); - } - continue; - IL_0050: - num = 917790049; + return null; } - } - - static float? _202C_202C_206A_206A_206F_200F_202E_200C_206E_202D_206E_202D_206C_206B_202C_202B_200E_200B_200C_206A_200C_206F_200D_200F_200D_200D_202A_202C_202A_202A_200E_202A_206F_202A_202B_200E_206E_202A_206C_202B_202E(QuestStep P_0) - { - return P_0.DelaySecondsAtStart; + return new WaitDelay(TimeSpan.FromSeconds(step.DelaySecondsAtStart.Value)); } } internal sealed record WaitDelay(TimeSpan Delay) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202B_200F_206B_200D_206E_206B_206D_202E_206C_200B_200F_206B_202A_200D_202C_206F_206F_206C_202B_200E_200F_206A_202B_202D_206D_206D_206D_206E_200C_206A_200E_200E_206B_202D_206F_200B_206B_206A_202B_200C_202E(typeof(WaitDelay).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(18, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-761909785)); - defaultInterpolatedStringHandler.AppendFormatted(Delay.TotalSeconds); - defaultInterpolatedStringHandler.AppendLiteral(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(424561659)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206A_200E_206B_202D_202D_206C_202E_206F_202A_200F_206B_200C_206B_202D_200C_206C_206D_200F_206B_206D_206D_200C_202A_200D_206B_206C_202C_200D_206B_202C_206A_206F_206A_206B_200B_206E_200B_206A_202B_206B_202E(); - _200E_202A_206F_206B_206D_200E_202D_206A_206D_206A_200B_202D_200E_206E_202D_206E_200E_200E_200D_202E_202C_200D_202E_206E_200F_200C_200D_200F_200C_200C_202A_206C_200F_206F_202B_206F_202B_202E_202A_202E(builder, 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(484837343)); - _200E_202A_206F_206B_206D_200E_202D_206A_206D_206A_200B_202D_200E_206E_202D_206E_200E_200E_200D_202E_202C_200D_202E_206E_200F_200C_200D_200F_200C_200C_202A_206C_200F_206F_202B_206F_202B_202E_202A_202E(builder, Delay.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(WaitDelay? other) - { - int num = (((object)this == other) ? 1541411164 : 1541411161); - while (true) - { - int num2 = num; - int num3 = 1541411165; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return true; - case 2: - num = ((!_202D_200D_206A_206E_200F_202C_202B_200E_206D_200C_200E_206B_200D_206C_206D_200D_202E_206B_206F_200E_206B_200C_200C_200E_200F_206D_202D_202B_206D_200D_202C_200D_202E_206B_200B_202C_200D_202E_206A_202D_202E(EqualityContract, other.EqualityContract)) ? 1541411160 : 1541411166); - break; - case 4: - num = (((object)other == null) ? 1541411160 : 1541411167); - break; - case 5: - return false; - case 0: - num = 1541411161; - break; - case 3: - return EqualityComparer.Default.Equals(Delay, other.Delay); - } - } - } - - bool IEquatable.Equals(WaitDelay? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202B_200F_206B_200D_206E_206B_206D_202E_206C_200B_200F_206B_202A_200D_202C_206F_206F_206C_202B_200E_200F_206A_202B_202D_206D_206D_206D_206E_200C_206A_200E_200E_206B_202D_206F_200B_206B_206A_202B_200C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _206A_200E_206B_202D_202D_206C_202E_206F_202A_200F_206B_200C_206B_202D_200C_206C_206D_200F_206B_206D_206D_200C_202A_200D_206B_206C_202C_200D_206B_202C_206A_206F_206A_206B_200B_206E_200B_206A_202B_206B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200E_202A_206F_206B_206D_200E_202D_206A_206D_206A_200B_202D_200E_206E_202D_206E_200E_200E_200D_202E_202C_200D_202E_206E_200F_200C_200D_200F_200C_200C_202A_206C_200F_206F_202B_206F_202B_202E_202A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _202D_200D_206A_206E_200F_202C_202B_200E_206D_200C_200E_206B_200D_206C_206D_200D_202E_206B_206F_200E_206B_200C_200C_200E_200F_206D_202D_202B_206D_200D_202C_200D_202E_206B_200B_202C_200D_202E_206A_202D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"Wait[S](seconds: {Delay.TotalSeconds})"; } } diff --git a/Questionable/Questionable.Controller.Steps.Shared/WarpInteract.cs b/Questionable/Questionable.Controller.Steps.Shared/WarpInteract.cs index 334da98..f4cbbbe 100644 --- a/Questionable/Questionable.Controller.Steps.Shared/WarpInteract.cs +++ b/Questionable/Questionable.Controller.Steps.Shared/WarpInteract.cs @@ -1,8 +1,5 @@ using System; -using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Objects.SubKinds; using Dalamud.Game.ClientState.Objects.Types; @@ -18,122 +15,14 @@ internal static class WarpInteract { internal sealed record Task(uint NpcDataId, uint WarpRowId, ushort SourceTerritoryId, ushort DestTerritoryId) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202B_206A_206A_202D_206C_206E_202A_202B_200F_206C_202E_206C_206F_206C_200E_206E_200B_202D_206E_202E_202A_202D_202A_202A_206D_202B_200E_202A_200B_200D_202A_206F_202C_202B_200C_200E_200B_206B_206B_200D_202E(typeof(Task).TypeHandle); - } - } - public bool ShouldRedoOnInterrupt() { return true; } - bool ITask.ShouldRedoOnInterrupt() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt - return this.ShouldRedoOnInterrupt(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(25, 4); - defaultInterpolatedStringHandler.AppendLiteral(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(-1291326579)); - defaultInterpolatedStringHandler.AppendFormatted(NpcDataId); - defaultInterpolatedStringHandler.AppendLiteral(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(1494383823)); - defaultInterpolatedStringHandler.AppendFormatted(WarpRowId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1403263077)); - defaultInterpolatedStringHandler.AppendFormatted(SourceTerritoryId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1089831099)); - defaultInterpolatedStringHandler.AppendFormatted(DestTerritoryId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202E_202B_202C_200C_200E_202D_202D_200E_206D_206A_206B_202A_206F_202A_200B_202C_206C_200D_200B_200D_206D_206F_206C_200B_206F_202C_202B_206B_206F_200E_206A_200B_206B_202D_202B_206C_206F_202D_200F_200E_202E(); - _200F_202A_200D_206E_200F_206A_200E_206E_206B_202B_202D_206E_206B_202A_202E_202C_206D_206C_200C_202E_200C_206A_202E_206D_206A_206F_200B_206D_200C_202A_206A_200C_202B_202B_200E_206A_200B_202A_206D_200F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(143765661)); - _200F_202A_200D_206E_200F_206A_200E_206E_206B_202B_202D_206E_206B_202A_202E_202C_206D_206C_200C_202E_200C_206A_202E_206D_206A_206F_200B_206D_200C_202A_206A_200C_202B_202B_200E_206A_200B_202A_206D_200F_202E(builder, NpcDataId.ToString()); - _200F_202A_200D_206E_200F_206A_200E_206E_206B_202B_202D_206E_206B_202A_202E_202C_206D_206C_200C_202E_200C_206A_202E_206D_206A_206F_200B_206D_200C_202A_206A_200C_202B_202B_200E_206A_200B_202A_206D_200F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(388265329)); - _200F_202A_200D_206E_200F_206A_200E_206E_206B_202B_202D_206E_206B_202A_202E_202C_206D_206C_200C_202E_200C_206A_202E_206D_206A_206F_200B_206D_200C_202A_206A_200C_202B_202B_200E_206A_200B_202A_206D_200F_202E(builder, WarpRowId.ToString()); - _200F_202A_200D_206E_200F_206A_200E_206E_206B_202B_202D_206E_206B_202A_202E_202C_206D_206C_200C_202E_200C_206A_202E_206D_206A_206F_200B_206D_200C_202A_206A_200C_202B_202B_200E_206A_200B_202A_206D_200F_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1265544613)); - _200F_202A_200D_206E_200F_206A_200E_206E_206B_202B_202D_206E_206B_202A_202E_202C_206D_206C_200C_202E_200C_206A_202E_206D_206A_206F_200B_206D_200C_202A_206A_200C_202B_202B_200E_206A_200B_202A_206D_200F_202E(builder, SourceTerritoryId.ToString()); - _200F_202A_200D_206E_200F_206A_200E_206E_206B_202B_202D_206E_206B_202A_202E_202C_206D_206C_200C_202E_200C_206A_202E_206D_206A_206F_200B_206D_200C_202A_206A_200C_202B_202B_200E_206A_200B_202A_206D_200F_202E(builder, 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(-1798905925)); - _200F_202A_200D_206E_200F_206A_200E_206E_206B_202B_202D_206E_206B_202A_202E_202C_206D_206C_200C_202E_200C_206A_202E_206D_206A_206F_200B_206D_200C_202A_206A_200C_202B_202B_200E_206A_200B_202A_206D_200F_202E(builder, DestTerritoryId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(Task? other) - { - int num = (((object)this == other) ? (-962767338) : (-962767343)); - while (true) - { - int num2 = num; - int num3 = -962767344; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = ((!EqualityComparer.Default.Equals(SourceTerritoryId, other.SourceTerritoryId)) ? (-962767344) : (-962767337)); - break; - case 1: - num = (((object)other == null) ? (-962767344) : (-962767340)); - break; - case 3: - num = -962767343; - break; - case 5: - num = ((!EqualityComparer.Default.Equals(NpcDataId, other.NpcDataId)) ? (-962767344) : (-962767336)); - break; - case 7: - return EqualityComparer.Default.Equals(DestTerritoryId, other.DestTerritoryId); - case 6: - return true; - case 0: - return false; - case 4: - num = ((!_202C_202D_200E_200D_200E_202B_202E_202C_206A_200D_200E_206A_202D_202E_200D_206A_206F_206F_202A_206D_200F_206E_200C_202E_202E_202B_206B_200C_206A_200D_202C_206F_206F_206A_202D_202B_200C_202C_202E_206E_202E(EqualityContract, other.EqualityContract)) ? (-962767344) : (-962767339)); - break; - case 8: - num = ((!EqualityComparer.Default.Equals(WarpRowId, other.WarpRowId)) ? (-962767344) : (-962767342)); - break; - } - } - } - - bool IEquatable.Equals(Task? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202B_206A_206A_202D_206C_206E_202A_202B_200F_206C_202E_206C_206F_206C_200E_206E_200B_202D_206E_202E_202A_202D_202A_202A_206D_202B_200E_202A_200B_200D_202A_206F_202C_202B_200C_200E_200B_206B_206B_200D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static void _202E_202B_202C_200C_200E_202D_202D_200E_206D_206A_206B_202A_206F_202A_200B_202C_206C_200D_200B_200D_206D_206F_206C_200B_206F_202C_202B_206B_206F_200E_206A_200B_206B_202D_202B_206C_206F_202D_200F_200E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200F_202A_200D_206E_200F_206A_200E_206E_206B_202B_202D_206E_206B_202A_202E_202C_206D_206C_200C_202E_200C_206A_202E_206D_206A_206F_200B_206D_200C_202A_206A_200C_202B_202B_200E_206A_200B_202A_206D_200F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static bool _202C_202D_200E_200D_200E_202B_202E_202C_206A_200D_200E_206A_202D_202E_200D_206A_206F_206F_202A_206D_200F_206E_200C_202E_202E_202B_206B_200C_206A_200D_202C_206F_206F_206A_202D_202B_200C_202C_202E_206E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return $"WarpInteract({NpcDataId}, warp={WarpRowId}, {SourceTerritoryId}->{DestTerritoryId})"; } } @@ -157,266 +46,146 @@ internal static class WarpInteract private bool _abortToReroute; - [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { _phase = EWarpPhase.None; _abortToReroute = false; - IPlayerCharacter playerCharacter = _206A_206F_200C_200E_202B_200F_200D_206F_206A_206F_200F_202E_202E_206D_202C_206B_206C_200D_200E_206B_202C_200D_200D_202A_202A_206E_206C_200E_206B_206A_202A_206F_202A_206A_200E_206B_206C_200D_202E_202D_202E(objectTable); - _startPosition = ((playerCharacter != null) ? _202C_200F_202B_202E_202A_206C_206B_206C_202D_202B_206A_206E_200B_206B_202A_206E_206E_202D_202D_206D_200C_202B_200B_200F_200D_206A_202B_200C_206E_200B_202D_206C_206B_200E_206C_206E_206F_202D_202E_206A_202E((IGameObject)playerCharacter) : Vector3.Zero); - _200F_200F_206B_200C_202A_200C_200E_200D_200E_206C_206B_200E_206B_206B_206B_206E_206C_206F_206E_206C_200D_206E_206B_202B_206D_200F_202E_202B_200C_200E_206C_202E_200C_206F_200F_200E_202C_206A_206B_202A_202E(warpFailureTracker, base.Task.WarpRowId); - int num = ((!_200F_200B_200F_200F_200C_206B_200D_202C_206D_200D_206F_202D_200E_200D_206E_202E_202A_200F_200F_202E_202A_200E_200F_200C_206B_206B_202A_202E_200D_206E_202D_202E_206B_202C_206D_200E_202C_200C_200C_202C_202E(warpFailureTracker, base.Task.WarpRowId)) ? (-1825905291) : (-1825905296)); - IGameObject gameObject = default(IGameObject); - while (true) + _startPosition = objectTable.LocalPlayer?.Position ?? Vector3.Zero; + warpFailureTracker.RecordAttempt(base.Task.WarpRowId); + if (warpFailureTracker.IsBlacklisted(base.Task.WarpRowId)) { - int num2 = num; - int num3 = -1825905289; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1825905296; - break; - case 7: - _202C_202E_202D_202D_200B_200F_202B_202C_202D_200B_200E_206C_206F_206C_200F_206B_202D_206D_202E_200E_202B_200F_202D_202C_202B_200E_202B_206D_202B_200C_202E_206E_206F_200C_206E_200F_206F_202B_200C_202A_202E((ILogger)logger, 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(1100961719), new object[1] { base.Task.WarpRowId }); - _abortToReroute = true; - return true; - case 6: - num = ((!_206B_200F_200D_202A_206B_206E_206D_200D_206F_206D_202D_206E_206C_202A_200C_202D_206D_200B_200E_206E_202B_202A_202C_206E_200F_202C_200D_206B_202E_202C_200D_206B_206D_202C_202B_206C_200D_202D_202D_200E_202E(condition, ConditionFlag.Mounted)) ? (-1825905292) : (-1825905281)); - break; - case 4: - _200C_206C_206F_206D_200F_206B_200E_202E_200B_200B_206E_202E_206C_206C_200B_202D_202E_200F_202D_206C_202B_200C_202A_206B_202C_202D_206D_206D_202A_202B_206A_206B_200B_206B_200F_202C_206C_206F_202C_200C_202E((ILogger)logger, 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(445312876), new object[1] { base.Task.NpcDataId }); - _phase = EWarpPhase.Interacting; - _interactingStartedAt = _200E_200E_202E_202E_206C_206D_202D_206B_200C_206D_200C_200C_202D_206C_200F_202A_202D_206D_202D_200C_202A_206A_202D_202A_206A_206B_200C_206F_206A_206B_200B_200B_200D_202C_206C_206B_200E_200D_202A_200E_202E(); - num = -1825905294; - break; - case 1: - _200C_206C_206F_206D_200F_206B_200E_202E_200B_200B_206E_202E_206C_206C_200B_202D_202E_200F_202D_206C_202B_200C_202A_206B_202C_202D_206D_206D_202A_202B_206A_206B_200B_206B_200F_202C_206C_206F_202C_200C_202E((ILogger)logger, 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(-514363301), new object[1] { base.Task.NpcDataId }); - return true; - case 2: - interactionUiController.SmartNavWarpRowId = base.Task.WarpRowId; - interactionUiController.SmartNavDestTerritoryId = base.Task.DestTerritoryId; - gameObject = gameFunctions.FindObjectByDataId(base.Task.NpcDataId); - num = ((gameObject != null) ? (-1825905295) : (-1825905290)); - break; - case 3: - num = ((!gameFunctions.InteractWith(gameObject)) ? (-1825905294) : (-1825905293)); - break; - case 5: - return true; - case 8: - _200C_206C_206F_206D_200F_206B_200E_202E_200B_200B_206E_202E_206C_206C_200B_202D_202E_200F_202D_206C_202B_200C_202A_206B_202C_202D_206D_206D_202A_202B_206A_206B_200B_206B_200F_202C_206C_206F_202C_200C_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1872670698), Array.Empty()); - gameFunctions.Unmount(); - _phase = EWarpPhase.Unmounting; - return true; - } + logger.LogWarning("WarpInteract: warp {WarpRowId} blacklisted after repeated failures, retrying step to re-route", base.Task.WarpRowId); + _abortToReroute = true; + return true; } + interactionUiController.SmartNavWarpRowId = base.Task.WarpRowId; + interactionUiController.SmartNavDestTerritoryId = base.Task.DestTerritoryId; + IGameObject gameObject = gameFunctions.FindObjectByDataId(base.Task.NpcDataId); + if (gameObject == null) + { + logger.LogDebug("WarpInteract: NPC with DataId {DataId} not found yet, waiting", base.Task.NpcDataId); + return true; + } + if (condition[ConditionFlag.Mounted]) + { + logger.LogDebug("WarpInteract: Unmounting before warp interaction"); + gameFunctions.Unmount(); + _phase = EWarpPhase.Unmounting; + return true; + } + if (gameFunctions.InteractWith(gameObject)) + { + logger.LogDebug("WarpInteract: Interacting with NPC {DataId}", base.Task.NpcDataId); + _phase = EWarpPhase.Interacting; + _interactingStartedAt = Environment.TickCount64; + } + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { - int num = ((!_abortToReroute) ? 1701566734 : 1701566735); - IGameObject gameObject = default(IGameObject); - IGameObject gameObject2 = default(IGameObject); - IPlayerCharacter playerCharacter2 = default(IPlayerCharacter); - while (true) + if (_abortToReroute) { - int num2 = num; - int num3 = 1701566722; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + ClearContext(); + return ETaskResult.RetryStep; + } + switch (_phase) + { + case EWarpPhase.Unmounting: + { + if (condition[ConditionFlag.Mounted]) { - case 28: - num = 1701566735; - break; - case 15: - _200C_206C_206F_206D_200F_206B_200E_202E_200B_200B_206E_202E_206C_206C_200B_202D_202E_200F_202D_206C_202B_200C_202A_206B_202C_202D_206D_206D_202A_202B_206A_206B_200B_206B_200F_202C_206C_206F_202C_200C_202E((ILogger)logger, 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(262599977), new object[1] { base.Task.NpcDataId }); - _phase = EWarpPhase.Interacting; - _interactingStartedAt = _200E_200E_202E_202E_206C_206D_202D_206B_200C_206D_200C_200C_202D_206C_200F_202A_202D_206D_202D_200C_202A_206A_202D_202A_206A_206B_200C_206F_206A_206B_200B_200B_200D_202C_206C_206B_200E_200D_202A_200E_202E(); - num = 1701566725; - break; - case 11: - num = ((!_206B_200F_200D_202A_206B_206E_206D_200D_206F_206D_202D_206E_206C_202A_200C_202D_206D_200B_200E_206E_202B_202A_202C_206E_200F_202C_200D_206B_202E_202C_200D_206B_206D_202C_202B_206C_200D_202D_202D_200E_202E(condition, ConditionFlag.Mounted)) ? 1701566747 : 1701566739); - break; - case 25: - gameObject = gameFunctions.FindObjectByDataId(base.Task.NpcDataId); - num = ((gameObject != null) ? 1701566723 : 1701566728); - break; - case 12: - switch (_phase) - { - case EWarpPhase.Unmounting: - break; - default: - goto IL_019b; - case EWarpPhase.Interacting: - goto IL_02e4; - case EWarpPhase.None: - goto IL_03cd; - case EWarpPhase.WaitingForSettle: - goto IL_04bb; - } - goto case 11; - case 8: - num = ((!gameFunctions.InteractWith(gameObject2)) ? 1701566725 : 1701566733); - break; - case 0: return ETaskResult.StillRunning; - case 26: - playerCharacter2 = _206A_206F_200C_200E_202B_200F_200D_206F_206A_206F_200F_202E_202E_206D_202C_206B_206C_200D_200E_206B_202C_200D_200D_202A_202A_206E_206C_200E_206B_206A_202A_206F_202A_206A_200E_206B_206C_200D_202E_202D_202E(objectTable); - num = ((playerCharacter2 == null) ? 1701566745 : 1701566746); - break; - case 3: + } + IGameObject gameObject2 = gameFunctions.FindObjectByDataId(base.Task.NpcDataId); + if (gameObject2 == null) + { + logger.LogDebug("WarpInteract: NPC not found after unmount, waiting"); + _phase = EWarpPhase.None; + return ETaskResult.StillRunning; + } + if (gameFunctions.InteractWith(gameObject2)) + { + logger.LogDebug("WarpInteract: Interacting with NPC {DataId} after unmount", base.Task.NpcDataId); + _phase = EWarpPhase.Interacting; + _interactingStartedAt = Environment.TickCount64; + } + return ETaskResult.StillRunning; + } + case EWarpPhase.Interacting: + { + if (clientState.TerritoryType != base.Task.SourceTerritoryId) + { + logger.LogDebug("WarpInteract: Territory changed to {Territory}, warp successful", clientState.TerritoryType); + warpFailureTracker.RecordSuccess(base.Task.WarpRowId); + _phase = EWarpPhase.WaitingForSettle; + _settleAt = Environment.TickCount64 + 500; + return ETaskResult.StillRunning; + } + IPlayerCharacter localPlayer = objectTable.LocalPlayer; + if (localPlayer != null && Vector3.Distance(localPlayer.Position, _startPosition) > 2f) + { + logger.LogDebug("WarpInteract: Position changed significantly, same-zone warp detected"); + warpFailureTracker.RecordSuccess(base.Task.WarpRowId); + _phase = EWarpPhase.WaitingForSettle; + _settleAt = Environment.TickCount64 + 500; + return ETaskResult.StillRunning; + } + if (Environment.TickCount64 - _interactingStartedAt > 30000) + { + logger.LogWarning("WarpInteract: Timed out waiting for warp transition, retrying step"); + ClearContext(); + return ETaskResult.RetryStep; + } + return ETaskResult.StillRunning; + } + case EWarpPhase.WaitingForSettle: + if (Environment.TickCount64 >= _settleAt) + { + logger.LogDebug("WarpInteract: Warp complete"); + ClearContext(); + return ETaskResult.TaskComplete; + } + return ETaskResult.StillRunning; + case EWarpPhase.None: + { + IGameObject gameObject = gameFunctions.FindObjectByDataId(base.Task.NpcDataId); + if (gameObject == null) + { + return ETaskResult.StillRunning; + } + _startPosition = objectTable.LocalPlayer?.Position ?? _startPosition; + if (condition[ConditionFlag.Mounted]) + { gameFunctions.Unmount(); _phase = EWarpPhase.Unmounting; return ETaskResult.StillRunning; - case 14: - return ETaskResult.StillRunning; - case 24: - num = ((!(Vector3.Distance(_202C_200F_202B_202E_202A_206C_206B_206C_202D_202B_206A_206E_200B_206B_202A_206E_206E_202D_202D_206D_200C_202B_200B_200F_200D_206A_202B_200C_206E_200B_202D_206C_206B_200E_206C_206E_206F_202D_202E_206A_202E((IGameObject)playerCharacter2), _startPosition) > 2f)) ? 1701566745 : 1701566741); - break; - case 23: - _200C_206C_206F_206D_200F_206B_200E_202E_200B_200B_206E_202E_206C_206C_200B_202D_202E_200F_202D_206C_202B_200C_202A_206B_202C_202D_206D_206D_202A_202B_206A_206B_200B_206B_200F_202C_206C_206F_202C_200C_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1392527076), Array.Empty()); - _206E_202C_202B_200B_206E_200D_200B_202B_206B_200C_206A_206B_200F_200B_202A_206C_202C_200B_206F_200F_202B_202A_202E_202E_202B_202D_206C_206B_200B_202C_200B_206D_206C_200F_206B_202A_200B_200D_206E_202E_202E(warpFailureTracker, base.Task.WarpRowId); - _phase = EWarpPhase.WaitingForSettle; - _settleAt = _200E_200E_202E_202E_206C_206D_202D_206B_200C_206D_200C_200C_202D_206C_200F_202A_202D_206D_202D_200C_202A_206A_202D_202A_206A_206B_200C_206F_206A_206B_200B_200B_200D_202C_206C_206B_200E_200D_202A_200E_202E() + 500; - return ETaskResult.StillRunning; - case 1: - num = ((!gameFunctions.InteractWith(gameObject)) ? 1701566751 : 1701566731); - break; - case 13: - ClearContext(); - return ETaskResult.RetryStep; - case 19: - _200C_206C_206F_206D_200F_206B_200E_202E_200B_200B_206E_202E_206C_206C_200B_202D_202E_200F_202D_206C_202B_200C_202A_206B_202C_202D_206D_206D_202A_202B_206A_206B_200B_206B_200F_202C_206C_206F_202C_200C_202E((ILogger)logger, 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(-276179636), Array.Empty()); - ClearContext(); - return ETaskResult.TaskComplete; - case 16: - goto IL_02e4; - case 7: - return ETaskResult.StillRunning; - case 18: - return ETaskResult.StillRunning; - case 21: - _200C_206C_206F_206D_200F_206B_200E_202E_200B_200B_206E_202E_206C_206C_200B_202D_202E_200F_202D_206C_202B_200C_202A_206B_202C_202D_206D_206D_202A_202B_206A_206B_200B_206B_200F_202C_206C_206F_202C_200C_202E((ILogger)logger, 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(-1718836678), new object[1] { _206D_200E_200D_202E_206F_206B_206C_206D_200C_206A_202A_200D_206B_206B_206C_206E_202A_206A_206E_200D_202D_206F_202B_206F_206B_202B_206F_200F_202B_206B_200D_200D_200F_206D_206F_202B_206D_202B_202E_200C_202E(clientState) }); - _206E_202C_202B_200B_206E_200D_200B_202B_206B_200C_206A_206B_200F_200B_202A_206C_202C_200B_206F_200F_202B_202A_202E_202E_202B_202D_206C_206B_200B_202C_200B_206D_206C_200F_206B_202A_200B_200D_206E_202E_202E(warpFailureTracker, base.Task.WarpRowId); - _phase = EWarpPhase.WaitingForSettle; - _settleAt = _200E_200E_202E_202E_206C_206D_202D_206B_200C_206D_200C_200C_202D_206C_200F_202A_202D_206D_202D_200C_202A_206A_202D_202A_206A_206B_200C_206F_206A_206B_200B_200B_200D_202C_206C_206B_200E_200D_202A_200E_202E() + 500; - return ETaskResult.StillRunning; - case 29: - return ETaskResult.StillRunning; - case 4: + } + if (gameFunctions.InteractWith(gameObject)) { - IPlayerCharacter playerCharacter = _206A_206F_200C_200E_202B_200F_200D_206F_206A_206F_200F_202E_202E_206D_202C_206B_206C_200D_200E_206B_202C_200D_200D_202A_202A_206E_206C_200E_206B_206A_202A_206F_202A_206A_200E_206B_206C_200D_202E_202D_202E(objectTable); - _startPosition = ((playerCharacter != null) ? _202C_200F_202B_202E_202A_206C_206B_206C_202D_202B_206A_206E_200B_206B_202A_206E_206E_202D_202D_206D_200C_202B_200B_200F_200D_206A_202B_200C_206E_200B_202D_206C_206B_200E_206C_206E_206F_202D_202E_206A_202E((IGameObject)playerCharacter) : _startPosition); - num = ((!_206B_200F_200D_202A_206B_206E_206D_200D_206F_206D_202D_206E_206C_202A_200C_202D_206D_200B_200E_206E_202B_202A_202C_206E_200F_202C_200D_206B_202E_202C_200D_206B_206D_202C_202B_206C_200D_202D_202D_200E_202E(condition, ConditionFlag.Mounted)) ? 1701566730 : 1701566721); - break; - } - case 2: - goto IL_03cd; - case 10: - _200C_206C_206F_206D_200F_206B_200E_202E_200B_200B_206E_202E_206C_206C_200B_202D_202E_200F_202D_206C_202B_200C_202A_206B_202C_202D_206D_206D_202A_202B_206A_206B_200B_206B_200F_202C_206C_206F_202C_200C_202E((ILogger)logger, 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(-538242384), Array.Empty()); - _phase = EWarpPhase.None; - return ETaskResult.StillRunning; - case 9: - _200C_206C_206F_206D_200F_206B_200E_202E_200B_200B_206E_202E_206C_206C_200B_202D_202E_200F_202D_206C_202B_200C_202A_206B_202C_202D_206D_206D_202A_202B_206A_206B_200B_206B_200F_202C_206C_206F_202C_200C_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-606870985), new object[1] { base.Task.NpcDataId }); + logger.LogDebug("WarpInteract: Interacting with NPC {DataId}", base.Task.NpcDataId); _phase = EWarpPhase.Interacting; - _interactingStartedAt = _200E_200E_202E_202E_206C_206D_202D_206B_200C_206D_200C_200C_202D_206C_200F_202A_202D_206D_202D_200C_202A_206A_202D_202A_206A_206B_200C_206F_206A_206B_200B_200B_200D_202C_206C_206B_200E_200D_202A_200E_202E(); - num = 1701566751; - break; - case 5: - num = 1701566722; - break; - case 22: - return ETaskResult.StillRunning; - case 17: - return ETaskResult.StillRunning; - case 27: - num = ((_200E_200E_202E_202E_206C_206D_202D_206B_200C_206D_200C_200C_202D_206C_200F_202A_202D_206D_202D_200C_202A_206A_202D_202A_206A_206B_200C_206F_206A_206B_200B_200B_200D_202C_206C_206B_200E_200D_202A_200E_202E() - _interactingStartedAt <= 30000) ? 1701566740 : 1701566724); - break; - case 20: - goto IL_04bb; - case 6: - { - _202C_202E_202D_202D_200B_200F_202B_202C_202D_200B_200E_206C_206F_206C_200F_206B_202D_206D_202E_200E_202B_200F_202D_202C_202B_200E_202B_206D_202B_200C_202E_206E_206F_200C_206E_200F_206F_202B_200C_202A_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-417221394), Array.Empty()); - ClearContext(); - return ETaskResult.RetryStep; - } - IL_02e4: - num = ((_206D_200E_200D_202E_206F_206B_206C_206D_200C_206A_202A_200D_206B_206B_206C_206E_202A_206A_206E_200D_202D_206F_202B_206F_206B_202B_206F_200F_202B_206B_200D_200D_200F_206D_206F_202B_206D_202B_202E_200C_202E(clientState) == base.Task.SourceTerritoryId) ? 1701566744 : 1701566743); - break; - IL_04bb: - num = ((_200E_200E_202E_202E_206C_206D_202D_206B_200C_206D_200C_200C_202D_206C_200F_202A_202D_206D_202D_200C_202A_206A_202D_202A_206A_206B_200C_206F_206A_206B_200B_200B_200D_202C_206C_206B_200E_200D_202A_200E_202E() < _settleAt) ? 1701566732 : 1701566737); - break; - IL_019b: - num = 1701566727; - break; - IL_03cd: - gameObject2 = gameFunctions.FindObjectByDataId(base.Task.NpcDataId); - num = ((gameObject2 != null) ? 1701566726 : 1701566736); - break; + _interactingStartedAt = Environment.TickCount64; } + return ETaskResult.StillRunning; + } + default: + return ETaskResult.StillRunning; } } - [MethodImpl(MethodImplOptions.NoInlining)] public void OnConditionChange(ConditionFlag flag, bool value) { bool flag2 = _phase == EWarpPhase.Interacting; - int num = ((!flag2) ? (-693146461) : (-693146462)); - bool flag3 = default(bool); - while (true) + if (flag2) { - int num2 = num; - int num3 = -693146464; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - flag3 = false; - num = -693146459; - break; - case 2: - num = (((uint)(flag - 31) > 1u) ? (-693146458) : (-693146460)); - break; - case 7: - num = -693146462; - break; - case 3: - { - bool num7 = flag2; - num3 = (value ? 1 : 0); - num4 = (num7 ? 1 : 0); - num = (((num4 | num3) - (num4 ^ num3) == 0) ? (-693146464) : (-693146463)); - break; - } - case 0: - return; - case 1: - _200C_206C_206F_206D_200F_206B_200E_202E_200B_200B_206E_202E_206C_206C_200B_202D_202E_200F_202D_206C_202B_200C_202A_206B_202C_202D_206D_206D_202A_202B_206A_206B_200B_206B_200F_202C_206C_206F_202C_200C_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-438663173), Array.Empty()); - num = -693146464; - break; - case 5: - flag2 = flag3; - num = -693146461; - break; - case 4: - flag3 = true; - num = -693146459; - break; - } + bool flag3 = (uint)(flag - 31) <= 1u; + flag2 = flag3; + } + if (flag2 && value) + { + logger.LogDebug("WarpInteract: Interaction confirmed via condition flag"); } - } - - void IConditionChangeAware.OnConditionChange(ConditionFlag flag, bool value) - { - //ILSpy generated this explicit interface implementation from .override directive in OnConditionChange - this.OnConditionChange(flag, value); } public override bool ShouldInterruptOnDamage() @@ -429,66 +198,10 @@ internal static class WarpInteract ClearContext(); } - void IStoppableTaskExecutor.StopNow() - { - //ILSpy generated this explicit interface implementation from .override directive in StopNow - this.StopNow(); - } - private void ClearContext() { interactionUiController.SmartNavWarpRowId = null; interactionUiController.SmartNavDestTerritoryId = null; } - - static IPlayerCharacter _206A_206F_200C_200E_202B_200F_200D_206F_206A_206F_200F_202E_202E_206D_202C_206B_206C_200D_200E_206B_202C_200D_200D_202A_202A_206E_206C_200E_206B_206A_202A_206F_202A_206A_200E_206B_206C_200D_202E_202D_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static Vector3 _202C_200F_202B_202E_202A_206C_206B_206C_202D_202B_206A_206E_200B_206B_202A_206E_206E_202D_202D_206D_200C_202B_200B_200F_200D_206A_202B_200C_206E_200B_202D_206C_206B_200E_206C_206E_206F_202D_202E_206A_202E(IGameObject P_0) - { - return P_0.Position; - } - - static bool _200F_200F_206B_200C_202A_200C_200E_200D_200E_206C_206B_200E_206B_206B_206B_206E_206C_206F_206E_206C_200D_206E_206B_202B_206D_200F_202E_202B_200C_200E_206C_202E_200C_206F_200F_200E_202C_206A_206B_202A_202E(WarpFailureTracker P_0, uint P_1) - { - return P_0.RecordAttempt(P_1); - } - - static bool _200F_200B_200F_200F_200C_206B_200D_202C_206D_200D_206F_202D_200E_200D_206E_202E_202A_200F_200F_202E_202A_200E_200F_200C_206B_206B_202A_202E_200D_206E_202D_202E_206B_202C_206D_200E_202C_200C_200C_202C_202E(WarpFailureTracker P_0, uint P_1) - { - return P_0.IsBlacklisted(P_1); - } - - static void _202C_202E_202D_202D_200B_200F_202B_202C_202D_200B_200E_206C_206F_206C_200F_206B_202D_206D_202E_200E_202B_200F_202D_202C_202B_200E_202B_206D_202B_200C_202E_206E_206F_200C_206E_200F_206F_202B_200C_202A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static void _200C_206C_206F_206D_200F_206B_200E_202E_200B_200B_206E_202E_206C_206C_200B_202D_202E_200F_202D_206C_202B_200C_202A_206B_202C_202D_206D_206D_202A_202B_206A_206B_200B_206B_200F_202C_206C_206F_202C_200C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _206B_200F_200D_202A_206B_206E_206D_200D_206F_206D_202D_206E_206C_202A_200C_202D_206D_200B_200E_206E_202B_202A_202C_206E_200F_202C_200D_206B_202E_202C_200D_206B_206D_202C_202B_206C_200D_202D_202D_200E_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static long _200E_200E_202E_202E_206C_206D_202D_206B_200C_206D_200C_200C_202D_206C_200F_202A_202D_206D_202D_200C_202A_206A_202D_202A_206A_206B_200C_206F_206A_206B_200B_200B_200D_202C_206C_206B_200E_200D_202A_200E_202E() - { - return Environment.TickCount64; - } - - static uint _206D_200E_200D_202E_206F_206B_206C_206D_200C_206A_202A_200D_206B_206B_206C_206E_202A_206A_206E_200D_202D_206F_202B_206F_206B_202B_206F_200F_202B_206B_200D_200D_200F_206D_206F_202B_206D_202B_202E_200C_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static void _206E_202C_202B_200B_206E_200D_200B_202B_206B_200C_206A_206B_200F_200B_202A_206C_202C_200B_206F_200F_202B_202A_202E_202E_202B_202D_206C_206B_200B_202C_200B_206D_206C_200F_206B_202A_200B_200D_206E_202E_202E(WarpFailureTracker P_0, uint P_1) - { - P_0.RecordSuccess(P_1); - } } } diff --git a/Questionable/Questionable.Controller.Steps/InteractionProgressContext.cs b/Questionable/Questionable.Controller.Steps/InteractionProgressContext.cs index 4820a56..11a7344 100644 --- a/Questionable/Questionable.Controller.Steps/InteractionProgressContext.cs +++ b/Questionable/Questionable.Controller.Steps/InteractionProgressContext.cs @@ -20,57 +20,26 @@ internal sealed class InteractionProgressContext public unsafe static InteractionProgressContext Create(bool checkSequence) { - int num = (checkSequence ? (-177703781) : (-177703782)); - while (true) + if (!checkSequence) { - int num2 = num; - int num3 = -177703781; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -177703782; - break; - case 1: - ActionManager.Instance()->CastTimeElapsed = ActionManager.Instance()->CastTimeTotal; - num = -177703781; - break; - case 0: - return new InteractionProgressContext(checkSequence, ActionManager.Instance()->LastUsedActionSequence); - } + ActionManager.Instance()->CastTimeElapsed = ActionManager.Instance()->CastTimeTotal; } + return new InteractionProgressContext(checkSequence, ActionManager.Instance()->LastUsedActionSequence); } private unsafe static (bool, InteractionProgressContext?) FromActionUseInternal(Func func) { int lastUsedActionSequence = ActionManager.Instance()->LastUsedActionSequence; - int num = (func() ? 1923074249 : 1923074254); - while (true) + if (!func()) { - int num2 = num; - int num3 = 1923074253; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - { - int lastUsedActionSequence2 = ActionManager.Instance()->LastUsedActionSequence; - num = ((lastUsedActionSequence != lastUsedActionSequence2) ? 1923074253 : 1923074252); - break; - } - case 3: - return (false, null); - case 1: - return (true, null); - case 2: - num = 1923074254; - break; - case 0: - return (true, Create(checkSequence: true)); - } + return (false, null); } + int lastUsedActionSequence2 = ActionManager.Instance()->LastUsedActionSequence; + if (lastUsedActionSequence == lastUsedActionSequence2) + { + return (true, null); + } + return (true, Create(checkSequence: true)); } public static InteractionProgressContext? FromActionUse(Func func) @@ -81,147 +50,63 @@ internal sealed class InteractionProgressContext public static InteractionProgressContext? FromActionUseOrDefault(Func func) { (bool, InteractionProgressContext) tuple = FromActionUseInternal(func); - int num = (tuple.Item1 ? 1006213129 : 1006213130); - while (true) + if (!tuple.Item1) { - int num2 = num; - int num3 = 1006213128; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004d; - case 2: - return null; - case 1: - return tuple.Item2 ?? Create(checkSequence: false); - } - continue; - IL_004d: - num = 1006213130; + return null; } + return tuple.Item2 ?? Create(checkSequence: false); } public unsafe void Update() { - int num = (_firstUpdateDone ? 862506309 : 862506305); - int lastUsedActionSequence = default(int); - while (true) + if (!_firstUpdateDone) { - int num2 = num; - int num3 = 862506308; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + int lastUsedActionSequence = ActionManager.Instance()->LastUsedActionSequence; + if (!CheckSequence && lastUsedActionSequence > CurrentSequence) { - case 3: - num = ((lastUsedActionSequence <= CurrentSequence) ? 862506308 : 862506304); - break; - case 1: - return; - case 2: - num = 862506305; - break; - case 5: - lastUsedActionSequence = ActionManager.Instance()->LastUsedActionSequence; - num = (CheckSequence ? 862506308 : 862506311); - break; - case 0: - _firstUpdateDone = true; - num = 862506309; - break; - case 4: CheckSequence = true; CurrentSequence = lastUsedActionSequence; - num = 862506308; - break; } + _firstUpdateDone = true; } } public unsafe bool WasSuccessful() { - int num = ((!CheckSequence) ? (-1110443467) : (-1110443470)); - while (true) + if (CheckSequence && (CurrentSequence != ActionManager.Instance()->LastUsedActionSequence || CurrentSequence != ActionManager.Instance()->LastHandledActionSequence)) { - int num2 = num; - int num3 = -1110443469; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - num = ((!(ActionManager.Instance()->CastTimeElapsed > 0f)) ? (-1110443465) : (-1110443472)); - break; - case 4: - return false; - case 5: - num = -1110443470; - break; - case 0: - num = ((CurrentSequence == ActionManager.Instance()->LastHandledActionSequence) ? (-1110443467) : (-1110443471)); - break; - case 2: - return false; - case 1: - num = ((CurrentSequence != ActionManager.Instance()->LastUsedActionSequence) ? (-1110443471) : (-1110443469)); - break; - case 3: - return _206A_200C_206C_200B_202A_200D_200B_206E_200F_206B_202B_202E_202B_200B_206F_200C_206C_206D_202E_206A_206E_202B_202B_202B_202C_202C_200D_200C_202E_202C_202E_206E_200E_200D_200C_202C_200F_200F_202A_202D_202E(ActionManager.Instance()->CastTimeElapsed - ActionManager.Instance()->CastTimeTotal) < 0.001f; - } + return false; } + if (ActionManager.Instance()->CastTimeElapsed > 0f) + { + return Math.Abs(ActionManager.Instance()->CastTimeElapsed - ActionManager.Instance()->CastTimeTotal) < 0.001f; + } + return false; } public unsafe bool WasInterrupted() { - int num = ((!CheckSequence) ? (-139740651) : (-139740650)); - while (true) + if (CheckSequence && CurrentSequence == ActionManager.Instance()->LastHandledActionSequence && CurrentSequence == ActionManager.Instance()->LastUsedActionSequence) { - int num2 = num; - int num3 = -139740649; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - num = -139740650; - break; - case 4: - num = ((CurrentSequence != ActionManager.Instance()->LastUsedActionSequence) ? (-139740651) : (-139740649)); - break; - case 3: - return false; - case 0: - return false; - case 2: - num = ((ActionManager.Instance()->CastTimeElapsed != 0f) ? (-139740652) : (-139740655)); - break; - case 6: - return ActionManager.Instance()->CastTimeTotal > 0f; - case 1: - num = ((CurrentSequence != ActionManager.Instance()->LastHandledActionSequence) ? (-139740651) : (-139740653)); - break; - } + return false; } + if (ActionManager.Instance()->CastTimeElapsed == 0f) + { + return ActionManager.Instance()->CastTimeTotal > 0f; + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(12, 3); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1617315869)); - defaultInterpolatedStringHandler.AppendFormatted(CheckSequence ? ((object)CurrentSequence) : global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(792471175)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1687715325)); + defaultInterpolatedStringHandler.AppendLiteral("IPCtx("); + defaultInterpolatedStringHandler.AppendFormatted(CheckSequence ? ((object)CurrentSequence) : "-"); + defaultInterpolatedStringHandler.AppendLiteral(" - "); defaultInterpolatedStringHandler.AppendFormatted(WasSuccessful()); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1403263077)); + defaultInterpolatedStringHandler.AppendLiteral(", "); defaultInterpolatedStringHandler.AppendFormatted(WasInterrupted()); - defaultInterpolatedStringHandler.AppendLiteral(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(424561659)); + defaultInterpolatedStringHandler.AppendLiteral(")"); return defaultInterpolatedStringHandler.ToStringAndClear(); } - - static float _206A_200C_206C_200B_202A_200D_200B_206E_200F_206B_202B_202E_202B_200B_206F_200C_206C_206D_202E_206A_206E_202B_202B_202B_202C_202C_200D_200C_202E_202C_202E_206E_200E_200D_200C_202C_200F_200F_202A_202D_202E(float P_0) - { - return Math.Abs(P_0); - } } diff --git a/Questionable/Questionable.Controller.Steps/QuestCleanUp.cs b/Questionable/Questionable.Controller.Steps/QuestCleanUp.cs index 7ccd131..bb2a9e4 100644 --- a/Questionable/Questionable.Controller.Steps/QuestCleanUp.cs +++ b/Questionable/Questionable.Controller.Steps/QuestCleanUp.cs @@ -1,9 +1,5 @@ -using System; using System.Collections.Generic; -using System.Collections.ObjectModel; using System.Linq; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Component.GUI; using LLib.GameUI; @@ -23,301 +19,53 @@ internal static class QuestCleanUp { internal sealed class CheckAlliedSocietyMount(GameFunctions gameFunctions, AetheryteData aetheryteData, AlliedSocietyData alliedSocietyData, ILogger logger) : SimpleTaskFactory() { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func<(QuestSequence Sequence, int StepId, QuestStep Step), bool> _003C_003E9__5_0; - - public static Func> _003C_003E9__5_2; - - internal bool _003CCreateTask_003Eb__5_0((QuestSequence Sequence, int StepId, QuestStep Step) x) - { - EAction? eAction = _200F_200C_200F_206A_206E_202D_206E_200E_200F_200F_206A_200B_200F_200F_200C_206B_206B_200E_202C_200F_200C_202A_206C_206D_202A_206F_202D_202D_200B_200B_206D_206E_206D_206E_202E_206A_202C_202D_206E_200E_202E(x.Step); - int num = ((!eAction.HasValue) ? (-1478106214) : (-1478106210)); - while (true) - { - int num2 = num; - int num3 = -1478106214; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - num = -1478106210; - break; - case 1: - return false; - case 3: - return true; - case 4: - { - EAction valueOrDefault = eAction.GetValueOrDefault(); - num = (_202A_200C_202B_202B_202A_200B_200C_200E_206A_202D_206C_200E_206E_202B_206A_202E_206A_202E_202B_206F_206E_206B_206A_206B_200F_200C_200B_206A_202B_200C_202E_202C_206A_206D_202B_206E_200F_202D_200D_200C_202E(valueOrDefault) ? (-1478106215) : (-1478106214)); - break; - } - case 2: - return _202D_206A_202E_202E_200B_200B_202C_200B_206B_200D_206C_202A_206C_200D_206B_200E_206B_200E_206E_202A_206D_200B_202C_206C_206D_206B_200E_200F_206F_200D_202B_206B_202D_202C_202D_200B_200E_206C_200C_206E_202E(x.Step).Contains(8593u); - case 0: - num = ((_202D_206F_206C_202B_206B_202E_200F_206B_206E_200E_200E_202E_206D_206E_202A_202C_202A_202E_200E_206D_202D_206A_200F_200F_200F_202B_206E_206C_202A_206A_202E_206E_202B_206D_200E_200F_202B_200C_200C_206D_202E(x.Step) != EInteractionType.Combat) ? (-1478106213) : (-1478106216)); - break; - } - } - } - - internal IEnumerable _003CCreateTask_003Eb__5_2(QuestSequence x) - { - return _206A_200D_206B_202B_200B_206F_200C_206D_206E_206D_206B_202B_200C_202C_200E_206D_202E_206E_200C_200E_206E_202C_206A_206E_200F_206D_200B_206C_202C_202B_206C_206A_200E_202C_200B_206E_206E_200B_202C_202B_202E(x); - } - - static EAction? _200F_200C_200F_206A_206E_202D_206E_200E_200F_200F_206A_200B_200F_200F_200C_206B_206B_200E_202C_200F_200C_202A_206C_206D_202A_206F_202D_202D_200B_200B_206D_206E_206D_206E_202E_206A_202C_202D_206E_200E_202E(QuestStep P_0) - { - return P_0.Action; - } - - static bool _202A_200C_202B_202B_202A_200B_200C_200E_206A_202D_206C_200E_206E_202B_206A_202E_206A_202E_202B_206F_206E_206B_206A_206B_200F_200C_200B_206A_202B_200C_202E_202C_206A_206D_202B_206E_200F_202D_200D_200C_202E(EAction P_0) - { - return P_0.RequiresMount(); - } - - static EInteractionType _202D_206F_206C_202B_206B_202E_200F_206B_206E_200E_200E_202E_206D_206E_202A_202C_202A_202E_200E_206D_202D_206A_200F_200F_200F_202B_206E_206C_202A_206A_202E_206E_202B_206D_200E_200F_202B_200C_200C_206D_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static List _202D_206A_202E_202E_200B_200B_202C_200B_206B_200D_206C_202A_206C_200D_206B_200E_206B_200E_206E_202A_206D_200B_202C_206C_206D_206B_200E_200F_206F_200D_202B_206B_202D_202C_202D_200B_200E_206C_200C_206E_202E(QuestStep P_0) - { - return P_0.KillEnemyDataIds; - } - - static List _206A_200D_206B_202B_200B_206F_200C_206D_206E_206D_206B_202B_200C_202C_200E_206D_202E_206E_200C_200E_206E_202C_206A_206E_200F_206D_200B_206C_202C_202B_206C_206A_200E_202C_200B_206E_206E_200B_202C_202B_202E(QuestSequence P_0) - { - return P_0.Steps; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass5_0 - { - public QuestSequence sequence; - - public AlliedSocietyMountConfiguration mountConfiguration; - - internal bool _003CCreateTask_003Eb__1(QuestSequence x) - { - int num = ((_206B_200E_206E_200F_200F_200E_200C_206B_206B_202B_200C_206E_200D_206B_206A_200E_206C_202D_200B_206E_200E_202E_206D_200B_200E_206F_206E_202A_202D_206D_202A_202D_202C_202E_200B_206F_200D_202B_202D_206B_202E(x) <= 0) ? (-1832592614) : (-1832592615)); - while (true) - { - int num2 = num; - int num3 = -1832592616; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return false; - case 1: - return _206B_200E_206E_200F_200F_200E_200C_206B_206B_202B_200C_206E_200D_206B_206A_200E_206C_202D_200B_206E_200E_202E_206D_200B_200E_206F_206E_202A_202D_206D_202A_202D_202C_202E_200B_206F_200D_202B_202D_206B_202E(x) < _206B_200E_206E_200F_200F_200E_200C_206B_206B_202B_200C_206E_200D_206B_206A_200E_206C_202D_200B_206E_200E_202E_206D_200B_200E_206F_206E_202A_202D_206D_202A_202D_202C_202E_200B_206F_200D_202B_202D_206B_202E(sequence); - case 0: - goto IL_005f; - } - continue; - IL_005f: - num = -1832592615; - } - } - - internal bool _003CCreateTask_003Eb__3(QuestStep x) - { - int num = ((!_206A_200C_202B_206E_206A_200B_206E_206B_206C_206B_200D_202C_200D_202B_206E_200B_202D_200F_206E_206E_202E_202C_200B_206B_206C_200F_202C_200C_206A_200E_206E_202D_200C_202C_202E_202C_200E_202E_200E_200D_202E(x).HasValue) ? 2029163806 : 2029163805); - while (true) - { - int num2 = num; - int num3 = 2029163804; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0050; - case 1: - return mountConfiguration.IssuerDataIds.Contains(_206A_200C_202B_206E_206A_200B_206E_206B_206C_206B_200D_202C_200D_202B_206E_200B_202D_200F_206E_206E_202E_202C_200B_206B_206C_200F_202C_200C_206A_200E_206E_202D_200C_202C_202E_202C_200E_202E_200E_200D_202E(x).Value); - case 2: - return false; - } - continue; - IL_0050: - num = 2029163805; - } - } - - static byte _206B_200E_206E_200F_200F_200E_200C_206B_206B_202B_200C_206E_200D_206B_206A_200E_206C_202D_200B_206E_200E_202E_206D_200B_200E_206F_206E_202A_202D_206D_202A_202D_202C_202E_200B_206F_200D_202B_202D_206B_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - - static uint? _206A_200C_202B_206E_206A_200B_206E_206B_206C_206B_200D_202C_200D_202B_206E_200B_202D_200F_206E_206E_202E_202C_200B_206B_206C_200F_202C_200C_206A_200E_206E_202D_200C_202C_202E_202C_200E_202E_200E_200D_202E(QuestStep P_0) - { - return P_0.DataId; - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step) { - int num = ((_200C_200B_206A_206E_202A_200C_206B_200B_200E_202C_200B_206C_206D_200D_200C_200B_200F_200F_206F_206C_206E_206A_202D_206E_202A_202C_206D_206E_206D_200E_200B_202B_206B_202D_200F_202E_200F_202D_206F_202A_202E(sequence) != 0) ? 1124122820 : 1124122829); - AlliedSocietyMountConfiguration mountConfiguration = default(AlliedSocietyMountConfiguration); - ushort? mountId = default(ushort?); - ushort valueOrDefault = default(ushort); - AetheryteTeleport.Task result = default(AetheryteTeleport.Task); - while (true) + if (sequence.Sequence == 0) { - int num2 = num; - int num3 = 1124122821; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return null; + } + ushort? mountId = gameFunctions.GetMountId(); + if (mountId.HasValue) + { + ushort valueOrDefault = mountId.GetValueOrDefault(); + if (alliedSocietyData.Mounts.TryGetValue(valueOrDefault, out AlliedSocietyMountConfiguration mountConfiguration)) { - case 6: - num = (quest.AllSequences().Where(delegate(QuestSequence x) - { - int num5 = ((_003C_003Ec__DisplayClass5_0._206B_200E_206E_200F_200F_200E_200C_206B_206B_202B_200C_206E_200D_206B_206A_200E_206C_202D_200B_206E_200E_202E_206D_200B_200E_206F_206E_202A_202D_206D_202A_202D_202C_202E_200B_206F_200D_202B_202D_206B_202E(x) <= 0) ? (-1832592614) : (-1832592615)); - while (true) - { - int num6 = num5; - int num7 = -1832592616; - int num8 = num6; - int num9 = num8 + num7; - int num10 = num8 & num7; - switch (num9 - (num10 + num10)) - { - case 2: - return false; - case 1: - return _003C_003Ec__DisplayClass5_0._206B_200E_206E_200F_200F_200E_200C_206B_206B_202B_200C_206E_200D_206B_206A_200E_206C_202D_200B_206E_200E_202E_206D_200B_200E_206F_206E_202A_202D_206D_202A_202D_202C_202E_200B_206F_200D_202B_202D_206B_202E(x) < _003C_003Ec__DisplayClass5_0._206B_200E_206E_200F_200F_200E_200C_206B_206B_202B_200C_206E_200D_206B_206A_200E_206C_202D_200B_206E_200E_202E_206D_200B_200E_206F_206E_202A_202D_206D_202A_202D_202C_202E_200B_206F_200D_202B_202D_206B_202E(sequence); - case 0: - goto IL_005f; - } - continue; - IL_005f: - num5 = -1832592615; - } - }).SelectMany((QuestSequence x) => _003C_003Ec._206A_200D_206B_202B_200B_206F_200C_206D_206E_206D_206B_202B_200C_202C_200E_206D_202E_206E_200C_200E_206E_202C_206A_206E_200F_206D_200B_206C_202C_202B_206C_206A_200E_202C_200B_206E_206E_200B_202C_202B_202E(x)) - .ToList() - .Any(delegate(QuestStep x) - { - int num5 = ((!_003C_003Ec__DisplayClass5_0._206A_200C_202B_206E_206A_200B_206E_206B_206C_206B_200D_202C_200D_202B_206E_200B_202D_200F_206E_206E_202E_202C_200B_206B_206C_200F_202C_200C_206A_200E_206E_202D_200C_202C_202E_202C_200E_202E_200E_200D_202E(x).HasValue) ? 2029163806 : 2029163805); - while (true) - { - int num6 = num5; - int num7 = 2029163804; - int num8 = num6; - int num9 = num8 + num7; - int num10 = num8 & num7; - switch (num9 - (num10 + num10)) - { - case 0: - goto IL_0050; - case 1: - return mountConfiguration.IssuerDataIds.Contains(_003C_003Ec__DisplayClass5_0._206A_200C_202B_206E_206A_200B_206E_206B_206C_206B_200D_202C_200D_202B_206E_200B_202D_200F_206E_206E_202E_202C_200B_206B_206C_200F_202C_200C_206A_200E_206E_202D_200C_202C_202E_202C_200E_202E_200E_200D_202E(x).Value); - case 2: - return false; - } - continue; - IL_0050: - num5 = 2029163805; - } - }) ? 1124122821 : 1124122831); - break; - case 4: - _202D_206D_200B_206E_202D_206D_200C_202E_202B_206A_202D_202B_200B_206A_206B_206B_202D_200D_202D_206E_206E_206F_206E_200F_206A_206F_206B_200F_202D_200E_202B_200B_206D_200C_202C_206D_200F_202C_202D_200C_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-849084313), Array.Empty()); - return new Mount.UnmountTask(); - case 1: - mountId = gameFunctions.GetMountId(); - num = ((!mountId.HasValue) ? 1124122821 : 1124122816); - break; - case 8: - return null; - case 5: - valueOrDefault = mountId.GetValueOrDefault(); - num = ((!alliedSocietyData.Mounts.TryGetValue(valueOrDefault, out mountConfiguration)) ? 1124122821 : 1124122823); - break; - case 9: - num = 1124122829; - break; - case 3: - _202D_206D_200B_206E_202D_206D_200C_202E_202B_206A_202D_202B_200B_206A_206B_206B_202D_200D_202D_206E_206E_206F_206E_200F_206A_206F_206B_200F_202D_200E_202B_200B_206D_200C_202C_206D_200F_202C_202D_200C_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(614679233), new object[1] { mountConfiguration.ClosestAetheryte }); - return result; - case 2: - { - _202D_206D_200B_206E_202D_206D_200C_202E_202B_206A_202D_202B_200B_206A_206B_206B_202D_200D_202D_206E_206E_206F_206E_200F_206A_206F_206B_200F_202D_200E_202B_200B_206D_200C_202C_206D_200F_202C_202D_200C_202E((ILogger)logger, 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(1718232248), new object[1] { valueOrDefault }); + logger.LogDebug("We are on a known allied society mount with id = {MountId}", valueOrDefault); EAetheryteLocation closestAetheryte = mountConfiguration.ClosestAetheryte; - result = new AetheryteTeleport.Task(closestAetheryte, _206C_206A_206C_206C_206F_200B_200E_202A_202C_206C_200F_206D_206A_200D_202B_200F_206E_206F_206B_202A_206C_202C_206C_200F_202D_206D_202D_200D_202E_206C_200D_202E_206B_202A_206F_202D_202B_200C_206E_202D_202E(aetheryteData)[closestAetheryte]); - num = ((_200C_200B_206A_206E_202A_200C_206B_200B_200E_202C_200B_206C_206D_200D_200C_200B_200F_200F_206F_206C_206E_206A_202D_206E_202A_202C_206D_206E_206D_200E_200B_202B_206B_202D_200F_202E_200F_202D_206F_202A_202E(sequence) != byte.MaxValue) ? 1124122818 : 1124122822); - break; - } - case 0: - return null; - case 7: - num = (quest.AllSteps().Any<(QuestSequence, int, QuestStep)>(delegate((QuestSequence Sequence, int StepId, QuestStep Step) x) + AetheryteTeleport.Task result = new AetheryteTeleport.Task(closestAetheryte, aetheryteData.TerritoryIds[closestAetheryte]); + if (sequence.Sequence == byte.MaxValue) { - EAction? eAction = _003C_003Ec._200F_200C_200F_206A_206E_202D_206E_200E_200F_200F_206A_200B_200F_200F_200C_206B_206B_200E_202C_200F_200C_202A_206C_206D_202A_206F_202D_202D_200B_200B_206D_206E_206D_206E_202E_206A_202C_202D_206E_200E_202E(x.Step); - int num5 = ((!eAction.HasValue) ? (-1478106214) : (-1478106210)); - while (true) + logger.LogDebug("Mount can't be used to finish quest, teleporting to {Aetheryte}", mountConfiguration.ClosestAetheryte); + return result; + } + if (!quest.AllSteps().Any<(QuestSequence, int, QuestStep)>(delegate((QuestSequence Sequence, int StepId, QuestStep Step) x) + { + EAction? action = x.Step.Action; + if (action.HasValue) { - int num6 = num5; - int num7 = -1478106214; - int num8 = num6; - int num9 = num8 + num7; - int num10 = num8 & num7; - switch (num9 - (num10 + num10)) + EAction valueOrDefault2 = action.GetValueOrDefault(); + if (valueOrDefault2.RequiresMount()) { - case 5: - num5 = -1478106210; - break; - case 1: - return false; - case 3: return true; - case 4: - { - EAction valueOrDefault2 = eAction.GetValueOrDefault(); - num5 = (_003C_003Ec._202A_200C_202B_202B_202A_200B_200C_200E_206A_202D_206C_200E_206E_202B_206A_202E_206A_202E_202B_206F_206E_206B_206A_206B_200F_200C_200B_206A_202B_200C_202E_202C_206A_206D_202B_206E_200F_202D_200D_200C_202E(valueOrDefault2) ? (-1478106215) : (-1478106214)); - break; - } - case 2: - return _003C_003Ec._202D_206A_202E_202E_200B_200B_202C_200B_206B_200D_206C_202A_206C_200D_206B_200E_206B_200E_206E_202A_206D_200B_202C_206C_206D_206B_200E_200F_206F_200D_202B_206B_202D_202C_202D_200B_200E_206C_200C_206E_202E(x.Step).Contains(8593u); - case 0: - num5 = ((_003C_003Ec._202D_206F_206C_202B_206B_202E_200F_206B_206E_200E_200E_202E_206D_206E_202A_202C_202A_202E_200E_206D_202D_206A_200F_200F_200F_202B_206E_206C_202A_206A_202E_206E_202B_206D_200E_200F_202B_200C_200C_206D_202E(x.Step) != EInteractionType.Combat) ? (-1478106213) : (-1478106216)); - break; } } - }) ? 1124122819 : 1124122817); - break; - case 10: - _202D_206D_200B_206E_202D_206D_200C_202E_202B_206A_202D_202B_200B_206A_206B_206B_202D_200D_202D_206E_206E_206F_206E_200F_206A_206F_206B_200F_202D_200E_202B_200B_206D_200C_202C_206D_200F_202C_202D_200C_202E((ILogger)logger, 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(-1364311746), new object[1] { mountConfiguration.ClosestAetheryte }); - return result; + return x.Step.InteractionType == EInteractionType.Combat && x.Step.KillEnemyDataIds.Contains(8593u); + })) + { + logger.LogDebug("Quest doesn't use any mount actions, unmounting"); + return new Mount.UnmountTask(); + } + if (!(from x in quest.AllSequences() + where x.Sequence > 0 && x.Sequence < sequence.Sequence + select x).SelectMany((QuestSequence x) => x.Steps).ToList().Any((QuestStep x) => x.DataId.HasValue && mountConfiguration.IssuerDataIds.Contains(x.DataId.Value))) + { + logger.LogDebug("Haven't talked to mount NPC for this allied society quest; {Aetheryte}", mountConfiguration.ClosestAetheryte); + return result; + } } } - } - - static byte _200C_200B_206A_206E_202A_200C_206B_200B_200E_202C_200B_206C_206D_200D_200C_200B_200F_200F_206F_206C_206E_206A_202D_206E_202A_202C_206D_206E_206D_200E_200B_202B_206B_202D_200F_202E_200F_202D_206F_202A_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - - static void _202D_206D_200B_206E_202D_206D_200C_202E_202B_206A_202D_202B_200B_206A_206B_206B_202D_200D_202D_206E_206E_206F_206E_200F_206A_206F_206B_200F_202D_200E_202B_200B_206D_200C_202C_206D_200F_202C_202D_200C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static ReadOnlyDictionary _206C_206A_206C_206C_206F_200B_200E_202A_202C_206C_200F_206D_206A_200D_202B_200F_206E_206F_206B_202A_206C_202C_206C_200F_202D_206D_202D_200D_202E_206C_200D_202E_206B_202A_206F_202D_202B_200C_206E_202D_202E(AetheryteData P_0) - { - return P_0.TerritoryIds; + return null; } } @@ -325,175 +73,31 @@ internal static class QuestCleanUp { public IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { - while (true) + if (IsAddonOpen("GatheringMasterpiece")) { - int num = ((!IsAddonOpen(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(206776723))) ? 1381266981 : 1381266983); - while (true) - { - int num2 = num; - int num3 = 1381266980; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 6: - num = 1381266979; - continue; - case 8: - break; - case 1: - num = ((!IsAddonOpen(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2006049295))) ? 1381266979 : 1381266976); - continue; - case 2: - num = 1381266981; - continue; - case 0: - num = 1381266977; - continue; - case 5: - yield break; - case 3: - yield return new CloseGatheringAddonTask(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(206776723)); - goto case 2; - case 4: - yield return new CloseGatheringAddonTask(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(-2015501527)); - goto case 6; - case 7: - yield break; - } - break; - } + yield return new CloseGatheringAddonTask("GatheringMasterpiece"); + } + if (IsAddonOpen("Gathering")) + { + yield return new CloseGatheringAddonTask("Gathering"); } - } - - IEnumerable ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks - return this.CreateAllTasks(quest, sequence, step); } private unsafe bool IsAddonOpen(string name) { - AtkUnitBase* addonPtr; - int num = ((!gameGui.TryGetAddonByName(name, out addonPtr)) ? 1615612648 : 1615612651); - while (true) + if (gameGui.TryGetAddonByName(name, out var addonPtr)) { - int num2 = num; - int num3 = 1615612650; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return false; - case 1: - return addonPtr->IsVisible; - case 0: - goto IL_0057; - } - continue; - IL_0057: - num = 1615612651; + return addonPtr->IsVisible; } + return false; } } internal sealed record CloseGatheringAddonTask(string AddonName) : ITask { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206A_200B_200B_202E_200D_206D_206D_206D_206B_202E_206E_200F_202A_202B_206A_200C_202E_202C_206B_206E_202A_206D_206C_202E_206D_200C_200F_200B_200D_200E_202C_202E_200D_200E_202A_202E_202D_200B_200B_200E_202E(typeof(CloseGatheringAddonTask).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - return _202B_202E_202E_202E_202D_200B_202D_202B_202D_206B_206A_200D_202B_200B_206E_202D_206D_202A_200D_200C_206B_206D_202E_200E_200E_202B_202A_202B_206F_200F_200B_206D_200C_202B_200D_200D_202B_200D_206E_202E_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-927770525), AddonName, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321)); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200C_206C_206F_200B_206F_202D_200F_206D_202B_206A_206E_202D_206F_206B_206A_206A_206C_206E_206C_200E_202B_200F_202D_200D_202C_202B_206B_202E_202C_206D_202D_200B_206E_200C_202D_200F_200B_200C_202A_202D_202E(); - _202C_206D_202A_202B_200F_202E_202B_200B_200D_206A_202A_206E_200B_200E_200F_206E_206A_202C_202C_206E_206D_206C_200C_202D_202A_202C_206B_202B_202B_206C_206A_206C_206C_206A_206E_206D_206E_200C_200D_200F_202E(builder, 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(709999480)); - _202A_206A_206E_202E_202D_200D_202C_202E_200E_206C_202D_200C_200E_200C_200C_202E_206A_202C_202C_202B_206F_206D_202E_200B_206F_202A_202A_206D_206F_200B_202B_206B_206D_206C_202D_200C_202A_200D_206E_200E_202E(builder, (object)AddonName); - return true; - } - - [CompilerGenerated] - public bool Equals(CloseGatheringAddonTask? other) - { - int num = (((object)this == other) ? (-344901136) : (-344901135)); - while (true) - { - int num2 = num; - int num3 = -344901132; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - return EqualityComparer.Default.Equals(AddonName, other.AddonName); - case 4: - return true; - case 2: - num = -344901135; - break; - case 0: - num = ((!_200C_202E_200B_202D_202E_202C_202B_200F_202D_206C_200F_202D_206B_202C_202D_202B_206E_206D_202B_206C_200B_206D_206A_200F_202D_202C_200F_206F_202B_206B_200C_206B_200F_202B_206D_202D_206B_200B_202D_202E_202E(EqualityContract, other.EqualityContract)) ? (-344901131) : (-344901129)); - break; - case 1: - return false; - case 5: - num = (((object)other == null) ? (-344901131) : (-344901132)); - break; - } - } - } - - bool IEquatable.Equals(CloseGatheringAddonTask? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206A_200B_200B_202E_200D_206D_206D_206D_206B_202E_206E_200F_202A_202B_206A_200C_202E_202C_206B_206E_202A_206D_206C_202E_206D_200C_200F_200B_200D_200E_202C_202E_200D_200E_202A_202E_202D_200B_200B_200E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static string _202B_202E_202E_202E_202D_200B_202D_202B_202D_206B_206A_200D_202B_200B_206E_202D_206D_202A_200D_200C_206B_206D_202E_200E_200E_202B_202A_202B_206F_200F_200B_206D_200C_202B_200D_200D_202B_200D_206E_202E_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static void _200C_206C_206F_200B_206F_202D_200F_206D_202B_206A_206E_202D_206F_206B_206A_206A_206C_206E_206C_200E_202B_200F_202D_200D_202C_202B_206B_202E_202C_206D_202D_200B_206E_200C_202D_200F_200B_200C_202A_202D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202C_206D_202A_202B_200F_202E_202B_200B_200D_206A_202A_206E_200B_200E_200F_206E_206A_202C_202C_206E_206D_206C_200C_202D_202A_202C_206B_202B_202B_206C_206A_206C_206C_206A_206E_206D_206E_200C_200D_200F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202A_206A_206E_202E_202D_200D_202C_202E_200E_206C_202D_200C_200E_200C_200C_202E_206A_202C_202C_202B_206F_206D_202E_200B_206F_202A_202A_206D_206F_200B_202B_206B_206D_206C_202D_200C_202A_200D_206E_200E_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200C_202E_200B_202D_202E_202C_202B_200F_202D_206C_200F_202D_206B_202C_202D_202B_206E_206D_202B_206C_200B_206D_206A_200F_202D_202C_200F_206F_202B_206B_200C_206B_200F_202B_206D_202D_206B_200B_202D_202E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return "CloseAddon(" + AddonName + ")"; } } @@ -501,27 +105,12 @@ internal static class QuestCleanUp { protected unsafe override bool Start() { - AtkUnitBase* addonPtr; - int num = ((!gameGui.TryGetAddonByName(base.Task.AddonName, out addonPtr)) ? 2057944997 : 2057944996); - while (true) + if (gameGui.TryGetAddonByName(base.Task.AddonName, out var addonPtr)) { - int num2 = num; - int num3 = 2057944997; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return false; - case 1: - addonPtr->FireCallbackInt(-1); - return true; - case 2: - goto IL_0064; - } - continue; - IL_0064: - num = 2057944996; + addonPtr->FireCallbackInt(-1); + return true; } + return false; } public override ETaskResult Update() diff --git a/Questionable/Questionable.Controller.Steps/SimpleTaskFactory.cs b/Questionable/Questionable.Controller.Steps/SimpleTaskFactory.cs index 44af8de..f6556b6 100644 --- a/Questionable/Questionable.Controller.Steps/SimpleTaskFactory.cs +++ b/Questionable/Questionable.Controller.Steps/SimpleTaskFactory.cs @@ -10,46 +10,10 @@ internal abstract class SimpleTaskFactory : ITaskFactory public IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { - int num = 1047990270; - ITask task = default(ITask); - while (true) + ITask task = CreateTask(quest, sequence, step); + if (task != null) { - int num2 = num; - int num3 = 1047990264; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = 1047990265; - break; - case 5: - yield break; - case 2: - yield break; - case 4: - num = 1047990269; - break; - case 6: - task = CreateTask(quest, sequence, step); - num = ((task == null) ? 1047990269 : 1047990264); - break; - case 0: - yield return task; - num = 1047990265; - break; - case 1: - { - int num5; - num = ((num5 == 1) ? 1047990268 : 1047990266); - break; - } - } + yield return task; } } - - IEnumerable ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) - { - //ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks - return this.CreateAllTasks(quest, sequence, step); - } } diff --git a/Questionable/Questionable.Controller.Steps/TaskCreator.cs b/Questionable/Questionable.Controller.Steps/TaskCreator.cs index f19f762..42a9a44 100644 --- a/Questionable/Questionable.Controller.Steps/TaskCreator.cs +++ b/Questionable/Questionable.Controller.Steps/TaskCreator.cs @@ -1,9 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Numerics; -using System.Reflection; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Dalamud.Plugin.Services; using Microsoft.Extensions.DependencyInjection; @@ -19,174 +16,6 @@ namespace Questionable.Controller.Steps; internal sealed class TaskCreator { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__6_3; - - public static Predicate _003C_003E9__6_4; - - public static Func _003C_003E9__6_2; - - public static Func _003C_003E9__6_0; - - internal string _003CCreateTasks_003Eb__6_3(ITask y) - { - return _202E_206F_206D_200D_200C_206F_206A_202C_206D_202D_200D_206F_202A_202C_202B_206C_202C_200B_206B_200F_202A_206D_200C_200B_206C_206E_202C_200F_202E_202D_202E_202E_200D_206E_202C_200F_206D_200B_200E_202E((object)y); - } - - internal bool _003CCreateTasks_003Eb__6_4(ITask x) - { - int num = ((x is MoveTask) ? 506921039 : 506921036); - bool result = default(bool); - while (true) - { - int num2 = num; - int num3 = 506921038; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = 506921036; - break; - case 3: - return result; - case 0: - result = false; - num = 506921037; - break; - case 1: - result = true; - num = 506921037; - break; - case 2: - num = ((!(x is LandTask)) ? 506921038 : 506921039); - break; - } - } - } - - internal bool _003CCreateTasks_003Eb__6_2(ITask y) - { - return y is SinglePlayerDuty.StartSinglePlayerDuty; - } - - internal string _003CCreateTasks_003Eb__6_0(ITask x) - { - return _202E_206F_206D_200D_200C_206F_206A_202C_206D_202D_200D_206F_202A_202C_202B_206C_202C_200B_206B_200F_202A_206D_200C_200B_206C_206E_202C_200F_202E_202D_202E_202E_200D_206E_202C_200F_206D_200B_200E_202E((object)x); - } - - static string _202E_206F_206D_200D_200C_206F_206A_202C_206D_202D_200D_206F_202A_202C_202B_206C_202C_200B_206B_200F_202A_206D_200C_200B_206C_206E_202C_200F_202E_202D_202E_202E_200D_206E_202C_200F_206D_200B_200E_202E(object P_0) - { - return P_0.ToString(); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass6_0 - { - public Quest quest; - - public QuestSequence sequence; - - public QuestStep step; - - public TaskCreator _003C_003E4__this; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal IEnumerable _003CCreateTasks_003Eb__1(ITaskFactory x) - { - List list = x.CreateAllTasks(quest, sequence, step).ToList(); - int num = ((list.Count <= 0) ? 1319758247 : 1319758242); - string text = default(string); - while (true) - { - int num2 = num; - int num3 = 1319758243; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - return list; - case 5: - _206C_200C_202A_202E_200F_200B_206B_200F_206F_200B_202E_206A_206A_202D_200B_200E_206D_202E_206C_206B_200B_202B_206F_200B_200D_200B_202E_200F_202B_200D_206C_206B_200D_202E_200C_202A_206B_202E_202C_206D_202E((ILogger)_003C_003E4__this._logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(695947620), new object[2] - { - text, - _202E_202E_206A_206C_206E_202D_200D_206E_206B_200D_202E_202E_202A_200C_202B_200F_206E_206D_206E_206D_202A_206D_202C_206A_200F_200D_200E_206F_200F_200F_202D_202E_200D_206E_206E_202B_206B_202E_200F_200D_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1403263077), list.Select((ITask y) => _003C_003Ec._202E_206F_206D_200D_200C_206F_206A_202C_206D_202D_200D_206F_202A_202C_202B_206C_202C_200B_206B_200F_202A_206D_200C_200B_206C_206E_202C_200F_202E_202D_202E_202E_200D_206E_202C_200F_206D_200B_200E_202E((object)y))) - }); - num = 1319758247; - break; - case 1: - num = ((!_202A_206E_200D_206D_206C_200C_200D_206D_206F_206C_200C_206E_206F_200F_206F_206A_206F_200F_206B_206D_202B_202A_200E_206C_202A_206D_200C_206F_200D_206C_202E_200B_200B_202E_200D_206E_200E_206B_206A_202C_202E((ILogger)_003C_003E4__this._logger, LogLevel.Trace)) ? 1319758247 : 1319758241); - break; - case 2: - text = _200F_202A_200F_206C_202C_200E_202C_200B_200F_200F_200C_200B_200C_202D_200E_206D_202D_206C_200B_200D_206E_206F_206B_200E_202D_202B_206D_202B_206F_200B_206A_206B_200F_200C_200E_202A_206E_206A_200F_202D_202E(_202B_206C_200D_200E_200B_206A_202B_206C_206C_202E_202A_202B_206B_206C_202C_202A_202A_202C_200D_202E_202D_200D_206D_206E_202A_200D_202E_202A_202A_200C_206A_206D_202A_202A_202E_202B_202E_202A_202D_206A_202E((object)x)) ?? _200E_202E_202A_200B_202B_206C_200F_202A_206C_200E_202D_200E_206F_202A_200F_200E_206F_202C_202C_202C_200D_206A_200B_206C_206B_202C_202D_202C_206D_200B_202D_202E_206D_202C_202A_202E_206A_200E_202B_206E_202E((MemberInfo)_202B_206C_200D_200E_200B_206A_202B_206C_206C_202E_202A_202B_206B_206C_202C_202A_202A_202C_200D_202E_202D_200D_206D_206E_202A_200D_202E_202A_202A_200C_206A_206D_202A_202A_202E_202B_202E_202A_202D_206A_202E((object)x)); - num = ((!_200D_202B_206B_202B_202E_202E_202B_200E_206C_202A_202D_202B_200C_202B_206C_200B_202D_202D_202D_206E_206E_206F_206F_202A_200E_202B_200C_200D_200C_202D_202B_202E_200E_200E_202E_202B_200E_206C_202B_200C_202E(text, '.', StringComparison.Ordinal)) ? 1319758246 : 1319758243); - break; - case 0: - text = _200F_202D_200F_202D_206D_206D_206D_200D_200C_202B_206E_202E_202E_206B_200F_200F_206D_206E_206C_202B_202B_206C_206A_200C_206A_202A_206E_206E_200D_206F_202B_202E_200C_206F_200C_206A_202D_206A_200D_206A_202E(text, _202B_200E_200F_200B_202D_206F_200B_200E_200F_206B_202B_200B_202A_200C_202D_200B_202B_202A_206B_200F_206E_206D_206D_202E_200F_202B_206C_200C_202D_202D_200B_202E_206D_206C_206C_200F_206C_200E_200C_202C_202E(text, '.') + 1); - num = 1319758246; - break; - case 3: - num = 1319758242; - break; - } - } - } - - static bool _202A_206E_200D_206D_206C_200C_200D_206D_206F_206C_200C_206E_206F_200F_206F_206A_206F_200F_206B_206D_202B_202A_200E_206C_202A_206D_200C_206F_200D_206C_202E_200B_200B_202E_200D_206E_200E_206B_206A_202C_202E(ILogger P_0, LogLevel P_1) - { - return P_0.IsEnabled(P_1); - } - - static Type _202B_206C_200D_200E_200B_206A_202B_206C_206C_202E_202A_202B_206B_206C_202C_202A_202A_202C_200D_202E_202D_200D_206D_206E_202A_200D_202E_202A_202A_200C_206A_206D_202A_202A_202E_202B_202E_202A_202D_206A_202E(object P_0) - { - return P_0.GetType(); - } - - static string _200F_202A_200F_206C_202C_200E_202C_200B_200F_200F_200C_200B_200C_202D_200E_206D_202D_206C_200B_200D_206E_206F_206B_200E_202D_202B_206D_202B_206F_200B_206A_206B_200F_200C_200E_202A_206E_206A_200F_202D_202E(Type P_0) - { - return P_0.FullName; - } - - static string _200E_202E_202A_200B_202B_206C_200F_202A_206C_200E_202D_200E_206F_202A_200F_200E_206F_202C_202C_202C_200D_206A_200B_206C_206B_202C_202D_202C_206D_200B_202D_202E_206D_202C_202A_202E_206A_200E_202B_206E_202E(MemberInfo P_0) - { - return P_0.Name; - } - - static bool _200D_202B_206B_202B_202E_202E_202B_200E_206C_202A_202D_202B_200C_202B_206C_200B_202D_202D_202D_206E_206E_206F_206F_202A_200E_202B_200C_200D_200C_202D_202B_202E_200E_200E_202E_202B_200E_206C_202B_200C_202E(string P_0, char P_1, StringComparison P_2) - { - return P_0.Contains(P_1, P_2); - } - - static int _202B_200E_200F_200B_202D_206F_200B_200E_200F_206B_202B_200B_202A_200C_202D_200B_202B_202A_206B_200F_206E_206D_206D_202E_200F_202B_206C_200C_202D_202D_200B_202E_206D_206C_206C_200F_206C_200E_200C_202C_202E(string P_0, char P_1) - { - return P_0.LastIndexOf(P_1); - } - - static string _200F_202D_200F_202D_206D_206D_206D_200D_200C_202B_206E_202E_202E_206B_200F_200F_206D_206E_206C_202B_202B_206C_206A_200C_206A_202A_206E_206E_200D_206F_202B_202E_200C_206F_200C_206A_202D_206A_200D_206A_202E(string P_0, int P_1) - { - return P_0.Substring(P_1); - } - - static string _202E_202E_206A_206C_206E_202D_200D_206E_206B_200D_202E_202E_202A_200C_202B_200F_206E_206D_206E_206D_202A_206D_202C_206A_200F_200D_200E_206F_200F_200F_202D_202E_200D_206E_206E_202B_206B_202E_200F_200D_202E(string P_0, IEnumerable P_1) - { - return string.Join(P_0, P_1); - } - - static void _206C_200C_202A_202E_200F_200B_206B_200F_206F_200B_202E_206A_206A_202D_200B_200E_206D_202E_206C_206B_200B_202B_206F_200B_200D_200B_202E_200F_202B_200D_206C_206B_200D_202E_200C_202A_206B_202E_202C_206D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogTrace(P_1, P_2); - } - } - private readonly IServiceProvider _serviceProvider; private readonly TerritoryData _territoryData; @@ -206,350 +35,76 @@ internal sealed class TaskCreator _logger = logger; } - [MethodImpl(MethodImplOptions.NoInlining)] public IReadOnlyList CreateTasks(Quest quest, byte sequenceNumber, QuestSequence? sequence, QuestStep? step, bool isSimulation = false) { - int num = ((sequence != null) ? (-1823507682) : (-1823507683)); - List list; - SinglePlayerDuty.StartSinglePlayerDuty startSinglePlayerDuty = default(SinglePlayerDuty.StartSinglePlayerDuty); - TerritoryData.ContentFinderConditionData contentFinderConditionData = default(TerritoryData.ContentFinderConditionData); - int num9 = default(int); - uint valueOrDefault = default(uint); - uint? num8 = default(uint?); - while (true) + List list2; + if (sequence == null) { - int num2 = num; - int num3 = -1823507684; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _chatGui.PrintError($"Path for quest '{quest.Info.Name}' ({quest.Id}) does not contain sequence {sequenceNumber}, please report this.", "Questionable", 576); + int num = 1; + List list = new List(num); + CollectionsMarshal.SetCount(list, num); + CollectionsMarshal.AsSpan(list)[0] = new WaitAtEnd.WaitNextStepOrSequence(); + list2 = list; + } + else if (step == null) + { + int num = 1; + List list3 = new List(num); + CollectionsMarshal.SetCount(list3, num); + CollectionsMarshal.AsSpan(list3)[0] = new WaitAtEnd.WaitNextStepOrSequence(); + list2 = list3; + } + else + { + using IServiceScope serviceScope = _serviceProvider.CreateScope(); + list2 = serviceScope.ServiceProvider.GetRequiredService>().SelectMany(delegate(ITaskFactory x) { - default: - continue; - case 0: - num = -1823507683; - continue; - case 2: - num = ((step != null) ? (-1823507688) : (-1823507681)); - continue; - case 1: - { - IChatGui chatGui = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(68, 3); - defaultInterpolatedStringHandler.AppendLiteral(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(112819953)); - defaultInterpolatedStringHandler.AppendFormatted(quest.Info.Name); - defaultInterpolatedStringHandler.AppendLiteral(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(-151888444)); - defaultInterpolatedStringHandler.AppendFormatted(quest.Id); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(457619416)); - defaultInterpolatedStringHandler.AppendFormatted(sequenceNumber); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1870384358)); - _206D_202E_200E_206F_202C_202B_200D_206E_206B_200B_206E_200E_200E_206A_200D_202A_200E_202B_206A_206F_200E_200F_202C_206D_206F_206C_206A_200E_206C_200C_200B_200D_206F_206E_206A_206E_200F_206D_206A_200C_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), 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(1481660241), (ushort?)(ushort)576); - int num17 = 1; - List list5 = new List(num17); - CollectionsMarshal.SetCount(list5, num17); - CollectionsMarshal.AsSpan(list5)[0] = new WaitAtEnd.WaitNextStepOrSequence(); - list = list5; - break; - } - case 3: - { - int num17 = 1; - List list4 = new List(num17); - CollectionsMarshal.SetCount(list4, num17); - CollectionsMarshal.AsSpan(list4)[0] = new WaitAtEnd.WaitNextStepOrSequence(); - list = list4; - break; - } - case 4: - { - IServiceScope serviceScope = _202C_202E_206F_206C_202E_200F_206B_202A_200F_202E_200B_200D_206E_206A_200C_206C_200E_200C_200F_200C_202C_206F_206B_206A_202A_202C_206D_206E_206B_206F_202B_202A_202C_202A_202D_202E_206F_206D_202B_206A_202E(_serviceProvider); - try + List list4 = x.CreateAllTasks(quest, sequence, step).ToList(); + if (list4.Count > 0 && _logger.IsEnabled(LogLevel.Trace)) { - list = _202E_202C_202D_206A_200C_206C_200E_202A_202D_202B_206A_206F_206B_200B_200D_200B_200E_200D_202A_202D_200D_200B_202D_206E_206F_202A_200C_206F_206F_200B_200B_200B_202D_206D_200C_206F_206D_206A_206A_206A_202E(serviceScope).GetRequiredService>().SelectMany([MethodImpl(MethodImplOptions.NoInlining)] (ITaskFactory x) => + string text = x.GetType().FullName ?? x.GetType().Name; + if (text.Contains('.', StringComparison.Ordinal)) { - List list6 = x.CreateAllTasks(quest, sequence, step).ToList(); - int num21 = ((list6.Count <= 0) ? 1319758247 : 1319758242); - string text3 = default(string); - while (true) - { - int num22 = num21; - int num23 = 1319758243; - int num24 = num22; - int num25 = num24 + num23; - int num26 = num24 & num23; - switch (num25 - (num26 + num26)) - { - case 4: - return list6; - case 5: - _003C_003Ec__DisplayClass6_0._206C_200C_202A_202E_200F_200B_206B_200F_206F_200B_202E_206A_206A_202D_200B_200E_206D_202E_206C_206B_200B_202B_206F_200B_200D_200B_202E_200F_202B_200D_206C_206B_200D_202E_200C_202A_206B_202E_202C_206D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(695947620), new object[2] - { - text3, - _003C_003Ec__DisplayClass6_0._202E_202E_206A_206C_206E_202D_200D_206E_206B_200D_202E_202E_202A_200C_202B_200F_206E_206D_206E_206D_202A_206D_202C_206A_200F_200D_200E_206F_200F_200F_202D_202E_200D_206E_206E_202B_206B_202E_200F_200D_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1403263077), list6.Select((ITask y) => _003C_003Ec._202E_206F_206D_200D_200C_206F_206A_202C_206D_202D_200D_206F_202A_202C_202B_206C_202C_200B_206B_200F_202A_206D_200C_200B_206C_206E_202C_200F_202E_202D_202E_202E_200D_206E_202C_200F_206D_200B_200E_202E((object)y))) - }); - num21 = 1319758247; - break; - case 1: - num21 = ((!_003C_003Ec__DisplayClass6_0._202A_206E_200D_206D_206C_200C_200D_206D_206F_206C_200C_206E_206F_200F_206F_206A_206F_200F_206B_206D_202B_202A_200E_206C_202A_206D_200C_206F_200D_206C_202E_200B_200B_202E_200D_206E_200E_206B_206A_202C_202E((ILogger)_logger, LogLevel.Trace)) ? 1319758247 : 1319758241); - break; - case 2: - text3 = _003C_003Ec__DisplayClass6_0._200F_202A_200F_206C_202C_200E_202C_200B_200F_200F_200C_200B_200C_202D_200E_206D_202D_206C_200B_200D_206E_206F_206B_200E_202D_202B_206D_202B_206F_200B_206A_206B_200F_200C_200E_202A_206E_206A_200F_202D_202E(_003C_003Ec__DisplayClass6_0._202B_206C_200D_200E_200B_206A_202B_206C_206C_202E_202A_202B_206B_206C_202C_202A_202A_202C_200D_202E_202D_200D_206D_206E_202A_200D_202E_202A_202A_200C_206A_206D_202A_202A_202E_202B_202E_202A_202D_206A_202E((object)x)) ?? _003C_003Ec__DisplayClass6_0._200E_202E_202A_200B_202B_206C_200F_202A_206C_200E_202D_200E_206F_202A_200F_200E_206F_202C_202C_202C_200D_206A_200B_206C_206B_202C_202D_202C_206D_200B_202D_202E_206D_202C_202A_202E_206A_200E_202B_206E_202E((MemberInfo)_003C_003Ec__DisplayClass6_0._202B_206C_200D_200E_200B_206A_202B_206C_206C_202E_202A_202B_206B_206C_202C_202A_202A_202C_200D_202E_202D_200D_206D_206E_202A_200D_202E_202A_202A_200C_206A_206D_202A_202A_202E_202B_202E_202A_202D_206A_202E((object)x)); - num21 = ((!_003C_003Ec__DisplayClass6_0._200D_202B_206B_202B_202E_202E_202B_200E_206C_202A_202D_202B_200C_202B_206C_200B_202D_202D_202D_206E_206E_206F_206F_202A_200E_202B_200C_200D_200C_202D_202B_202E_200E_200E_202E_202B_200E_206C_202B_200C_202E(text3, '.', StringComparison.Ordinal)) ? 1319758246 : 1319758243); - break; - case 0: - text3 = _003C_003Ec__DisplayClass6_0._200F_202D_200F_202D_206D_206D_206D_200D_200C_202B_206E_202E_202E_206B_200F_200F_206D_206E_206C_202B_202B_206C_206A_200C_206A_202A_206E_206E_200D_206F_202B_202E_200C_206F_200C_206A_202D_206A_200D_206A_202E(text3, _003C_003Ec__DisplayClass6_0._202B_200E_200F_200B_202D_206F_200B_200E_200F_206B_202B_200B_202A_200C_202D_200B_202B_202A_206B_200F_206E_206D_206D_202E_200F_202B_206C_200C_202D_202D_200B_202E_206D_206C_206C_200F_206C_200E_200C_202C_202E(text3, '.') + 1); - num21 = 1319758246; - break; - case 3: - num21 = 1319758242; - break; - } - } - }).ToList(); - num = ((!isSimulation) ? (-675834383) : (-675834384)); - while (true) + text = text.Substring(text.LastIndexOf('.') + 1); + } + _logger.LogTrace("Factory {FactoryName} created Task {TaskNames}", text, string.Join(", ", list4.Select((ITask y) => y.ToString()))); + } + return list4; + }).ToList(); + if (isSimulation && step != null) + { + uint? dataId = step.DataId; + if (dataId.HasValue) + { + uint valueOrDefault = dataId.GetValueOrDefault(); + if (step.Position.HasValue) { - int num5 = num; - num3 = -675834382; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) + int num2 = list2.FindLastIndex((ITask x) => (x is MoveTask || x is LandTask) ? true : false); + if (num2 >= 0) { - case 4: - num = ((!_territoryData.TryGetContentFinderCondition(startSinglePlayerDuty.ContentFinderConditionId, out contentFinderConditionData)) ? (-675834379) : (-675834374)); - break; - case 8: - num = ((_202B_202A_200B_206E_200B_206B_202D_202A_202A_206B_200E_202D_202C_206F_206D_206C_202B_202C_202A_200B_200B_202B_206B_202D_206A_202B_200E_200B_206A_200D_202C_200B_206B_200E_202C_200F_200F_206E_206E_206A_202E(_clientState) != contentFinderConditionData.TerritoryId) ? (-675834379) : (-675834382)); - break; - case 9: - num9 = list.FindLastIndex(delegate(ITask x) - { - int num21 = ((x is MoveTask) ? 506921039 : 506921036); - bool result = default(bool); - while (true) - { - int num22 = num21; - int num23 = 506921038; - int num24 = num22; - int num25 = num24 + num23; - int num26 = num24 & num23; - switch (num25 - (num26 + num26)) - { - case 4: - num21 = 506921036; - break; - case 3: - return result; - case 0: - result = false; - num21 = 506921037; - break; - case 1: - result = true; - num21 = 506921037; - break; - case 2: - num21 = ((!(x is LandTask)) ? 506921038 : 506921039); - break; - } - } - }); - num = ((num9 < 0) ? (-675834383) : (-675834381)); - break; - case 10: - valueOrDefault = num8.GetValueOrDefault(); - num = ((!_206B_202C_206F_200C_202A_200B_200D_206C_206F_206F_200F_200B_200C_202D_206D_206D_206F_202E_206B_200C_206C_206A_200F_202D_202C_206F_206D_206A_200F_206B_206D_200C_206D_206A_200D_206A_200F_200C_206C_200D_202E(step).HasValue) ? (-675834383) : (-675834373)); - break; - case 3: - startSinglePlayerDuty = list.Where((ITask y) => y is SinglePlayerDuty.StartSinglePlayerDuty).Cast().FirstOrDefault(); - num = ((!(startSinglePlayerDuty != null)) ? (-675834379) : (-675834378)); - break; - case 0: - { - int num13 = list.IndexOf(startSinglePlayerDuty); - ILogger logger = _logger; - string text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-604584645); - object[] array = new object[2]; - num3 = 1; - num4 = num13; - array[0] = (num4 | num3) + (num4 & num3); - array[1] = list.Count; - _202E_206B_206B_202C_202D_206C_206E_202D_202C_200C_206E_206B_200C_206F_206D_206B_206F_200C_200D_202D_202B_206B_202E_202A_202D_202B_206D_200D_202E_206A_200C_200B_206C_200E_200F_202E_206E_206C_200C_206B_202E((ILogger)logger, text, array); - List list3 = list; - num3 = 1; - num4 = num13; - int num14 = num4 ^ num3; - int num15 = num4 & num3; - list3.RemoveRange(0, num14 + (num15 + num15)); - _206B_206E_200C_206E_200C_206F_200D_206F_200F_202D_200E_206E_206B_206E_206E_206E_206F_206D_200D_200B_202B_200F_206E_202B_206E_200D_206F_200B_206E_200C_206D_202C_202B_202C_206F_200E_200C_202A_202E_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(896688647), new object[2] - { - list.FirstOrDefault(), - list.Count - }); - num = -675834379; - break; + list2.Insert(num2 + 1, new SkipMissingObject.Task(valueOrDefault, quest.Id, sequence.Sequence)); } - case 6: - num = -675834384; - break; - case 1: - { - List list2 = list; - int num10 = num9; - num3 = 1; - num4 = num10; - int num11 = num4 ^ num3; - int num12 = num4 & num3; - list2.Insert(num11 + (num12 + num12), new SkipMissingObject.Task(valueOrDefault, quest.Id, _206E_200F_200D_200F_206D_202B_200C_202E_206F_202E_206B_200B_200B_206B_200E_202C_206D_200E_202E_200D_200D_206D_206E_206A_202A_202C_202E_206E_200D_206B_200F_206E_200B_202E_200E_200E_200E_206E_200C_206A_202E(sequence))); - num = -675834383; - break; - } - case 2: - num = ((step == null) ? (-675834383) : (-675834377)); - break; - case 5: - num8 = _200B_200D_202D_202C_200B_200E_206D_206D_206C_200D_206C_202C_202B_206E_202C_206E_200C_200F_200D_206D_206E_206B_202A_200D_206B_200C_200D_202D_200D_206C_206D_202C_202E_206D_202D_206D_200F_202C_206B_200C_202E(step); - num = ((!num8.HasValue) ? (-675834383) : (-675834376)); - break; - case 7: - goto end_IL_020b; - } - continue; - end_IL_020b: - break; } } - finally - { - num = ((serviceScope == null) ? 1744804945 : 1744804946); - while (true) - { - int num16 = num; - num3 = 1744804947; - num4 = num16; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_0503; - case 1: - _200C_202B_200D_206A_206F_202D_206D_206D_206A_202B_202B_202D_202E_206C_200E_200C_200E_200F_206F_200F_200D_200F_206E_206C_202A_200E_206C_206A_206C_202E_206E_206A_206A_200C_202C_206E_206C_206E_200E_206C_202E((IDisposable)serviceScope); - num = 1744804945; - break; - case 0: - num = 1744804946; - break; - } - continue; - end_IL_0503: - break; - } - } - break; } + SinglePlayerDuty.StartSinglePlayerDuty startSinglePlayerDuty = list2.Where((ITask y) => y is SinglePlayerDuty.StartSinglePlayerDuty).Cast().FirstOrDefault(); + if (startSinglePlayerDuty != null && _territoryData.TryGetContentFinderCondition(startSinglePlayerDuty.ContentFinderConditionId, out TerritoryData.ContentFinderConditionData contentFinderConditionData) && _clientState.TerritoryType == contentFinderConditionData.TerritoryId) + { + int num3 = list2.IndexOf(startSinglePlayerDuty); + _logger.LogWarning("Skipping {SkippedTaskCount} out of {TotalCount} tasks, questionable was started while in single player duty", num3 + 1, list2.Count); + list2.RemoveRange(0, num3 + 1); + _logger.LogDebug("Next actual task: {NextTask}, total tasks left: {RemainingTaskCount}", list2.FirstOrDefault(), list2.Count); } - break; } - num = ((list.Count != 0) ? 1667642531 : 1667642529); - while (true) + if (list2.Count == 0) { - int num18 = num; - int num3 = 1667642530; - int num4 = num18; - int num19 = num4 + num3; - int num20 = num4 & num3; - switch (num19 - (num20 + num20)) - { - case 0: - num = 1667642529; - break; - case 1: - { - ILogger logger2 = _logger; - string text2 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1018938481); - object[] obj = new object[4] { quest.Id, sequenceNumber, null, null }; - int? obj2; - if (step == null) - { - obj2 = null; - } - else - { - QuestSequence? questSequence = sequence; - obj2 = ((questSequence != null) ? new int?(_206A_206B_202A_206C_200E_206D_202A_202C_202E_206E_200F_202E_206B_206A_200F_202D_206F_202E_202A_202C_206F_200B_202E_206E_200F_202E_200C_206C_206A_200E_202D_200E_206A_202B_206B_200E_200E_206C_206A_202E(questSequence).IndexOf(step)) : ((int?)null)); - } - obj[2] = obj2; - obj[3] = _200C_206C_202D_206D_200B_202C_202E_206A_202B_202B_206C_200E_200C_206F_206F_200C_200C_200F_206F_200D_206C_206E_206B_200B_202A_202E_206F_206A_202B_200E_202A_206D_206B_206A_200E_206F_202E_202D_206B_202E(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(-1095822044), list.Select((ITask x) => _003C_003Ec._202E_206F_206D_200D_200C_206F_206A_202C_206D_202D_200D_206F_202A_202C_202B_206C_202C_200B_206B_200F_202A_206D_200C_200B_206C_206E_202C_200F_202E_202D_202E_202E_200D_206E_202C_200F_206D_200B_200E_202E((object)x))); - _206B_206E_200C_206E_200C_206F_200D_206F_200F_202D_200E_206E_206B_206E_206E_206E_206F_206D_200D_200B_202B_200F_206E_202B_206E_200D_206F_200B_206E_200C_206D_202C_202B_202C_206F_200E_200C_202A_202E_200F_202E((ILogger)logger2, text2, obj); - num = 1667642528; - break; - } - case 2: - return list; - case 3: - _206B_206E_200C_206E_200C_206F_200D_206F_200F_202D_200E_206E_206B_206E_206E_206E_206F_206D_200D_200B_202B_200F_206E_202B_206E_200D_206F_200B_206E_200C_206D_202C_202B_202C_206F_200E_200C_202A_202E_200F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1026915460), Array.Empty()); - num = 1667642528; - break; - } + _logger.LogDebug("Nothing to execute for step?"); } - } - - static void _206D_202E_200E_206F_202C_202B_200D_206E_206B_200B_206E_200E_200E_206A_200D_202A_200E_202B_206A_206F_200E_200F_202C_206D_206F_206C_206A_200E_206C_200C_200B_200D_206F_206E_206A_206E_200F_206D_206A_200C_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); - } - - static IServiceScope _202C_202E_206F_206C_202E_200F_206B_202A_200F_202E_200B_200D_206E_206A_200C_206C_200E_200C_200F_200C_202C_206F_206B_206A_202A_202C_206D_206E_206B_206F_202B_202A_202C_202A_202D_202E_206F_206D_202B_206A_202E(IServiceProvider P_0) - { - return P_0.CreateScope(); - } - - static IServiceProvider _202E_202C_202D_206A_200C_206C_200E_202A_202D_202B_206A_206F_206B_200B_200D_200B_200E_200D_202A_202D_200D_200B_202D_206E_206F_202A_200C_206F_206F_200B_200B_200B_202D_206D_200C_206F_206D_206A_206A_206A_202E(IServiceScope P_0) - { - return P_0.ServiceProvider; - } - - static uint? _200B_200D_202D_202C_200B_200E_206D_206D_206C_200D_206C_202C_202B_206E_202C_206E_200C_200F_200D_206D_206E_206B_202A_200D_206B_200C_200D_202D_200D_206C_206D_202C_202E_206D_202D_206D_200F_202C_206B_200C_202E(QuestStep P_0) - { - return P_0.DataId; - } - - static Vector3? _206B_202C_206F_200C_202A_200B_200D_206C_206F_206F_200F_200B_200C_202D_206D_206D_206F_202E_206B_200C_206C_206A_200F_202D_202C_206F_206D_206A_200F_206B_206D_200C_206D_206A_200D_206A_200F_200C_206C_200D_202E(QuestStep P_0) - { - return P_0.Position; - } - - static byte _206E_200F_200D_200F_206D_202B_200C_202E_206F_202E_206B_200B_200B_206B_200E_202C_206D_200E_202E_200D_200D_206D_206E_206A_202A_202C_202E_206E_200D_206B_200F_206E_200B_202E_200E_200E_200E_206E_200C_206A_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - - static uint _202B_202A_200B_206E_200B_206B_202D_202A_202A_206B_200E_202D_202C_206F_206D_206C_202B_202C_202A_200B_200B_202B_206B_202D_206A_202B_200E_200B_206A_200D_202C_200B_206B_200E_202C_200F_200F_206E_206E_206A_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static void _202E_206B_206B_202C_202D_206C_206E_202D_202C_200C_206E_206B_200C_206F_206D_206B_206F_200C_200D_202D_202B_206B_202E_202A_202D_202B_206D_200D_202E_206A_200C_200B_206C_200E_200F_202E_206E_206C_200C_206B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static void _206B_206E_200C_206E_200C_206F_200D_206F_200F_202D_200E_206E_206B_206E_206E_206E_206F_206D_200D_200B_202B_200F_206E_202B_206E_200D_206F_200B_206E_200C_206D_202C_202B_202C_206F_200E_200C_202A_202E_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static void _200C_202B_200D_206A_206F_202D_206D_206D_206A_202B_202B_202D_202E_206C_200E_200C_200E_200F_206F_200F_200D_200F_206E_206C_202A_200E_206C_206A_206C_202E_206E_206A_206A_200C_202C_206E_206C_206E_200E_206C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static List _206A_206B_202A_206C_200E_206D_202A_202C_202E_206E_200F_202E_206B_206A_200F_202D_206F_202E_202A_202C_206F_200B_202E_206E_200F_202E_200C_206C_206A_200E_202D_200E_206A_202B_206B_200E_200E_206C_206A_202E(QuestSequence P_0) - { - return P_0.Steps; - } - - static string _200C_206C_202D_206D_200B_202C_202E_206A_202B_202B_206C_200E_200C_206F_206F_200C_200C_200F_206F_200D_206C_206E_206B_200B_202A_202E_206F_206A_202B_200E_202A_206D_206B_206A_200E_206F_202E_202D_206B_202E(string P_0, IEnumerable P_1) - { - return string.Join(P_0, P_1); + else + { + _logger.LogDebug("Tasks for {QuestId}, {Sequence}, {Step}: {Tasks}", quest.Id, sequenceNumber, (step == null) ? ((int?)null) : sequence?.Steps.IndexOf(step), string.Join(", ", list2.Select((ITask x) => x.ToString()))); + } + return list2; } } diff --git a/Questionable/Questionable.Controller.Steps/TaskExecutor.cs b/Questionable/Questionable.Controller.Steps/TaskExecutor.cs index 7582419..2f87093 100644 --- a/Questionable/Questionable.Controller.Steps/TaskExecutor.cs +++ b/Questionable/Questionable.Controller.Steps/TaskExecutor.cs @@ -1,5 +1,4 @@ using System; -using System.Runtime.CompilerServices; namespace Questionable.Controller.Steps; @@ -16,142 +15,48 @@ internal abstract class TaskExecutor : ITaskExecutor where T : class, ITask public virtual bool WasInterrupted() { InteractionProgressContext progressContext = ProgressContext; - int num = ((progressContext == null) ? 1406481972 : 1406481975); - while (true) + if (progressContext != null) { - int num2 = num; - int num3 = 1406481974; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0048; - case 1: - progressContext.Update(); - return progressContext.WasInterrupted(); - case 2: - return false; - } - continue; - IL_0048: - num = 1406481975; + progressContext.Update(); + return progressContext.WasInterrupted(); } - } - - bool ITaskExecutor.WasInterrupted() - { - //ILSpy generated this explicit interface implementation from .override directive in WasInterrupted - return this.WasInterrupted(); + return false; } public virtual bool HasTimedOut(float timeoutSeconds) { - int num = ((ProgressContext != null) ? (-1028990417) : (-1028990418)); - while (true) + if (ProgressContext == null) { - int num2 = num; - int num3 = -1028990417; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return _200F_202B_202E_202E_206A_202A_202D_202A_202B_202A_200D_206F_206A_202A_206D_202C_206B_200F_206E_200B_200D_206E_202C_202E_202E_200B_202B_200D_202E_206F_206D_206F_202E_200E_202C_202C_202C_200C_206C_206B_202E() - _lastProgressAt > (long)(timeoutSeconds * 1000f); - case 1: - return false; - case 2: - goto IL_0061; - } - continue; - IL_0061: - num = -1028990418; + return false; } - } - - bool ITaskExecutor.HasTimedOut(float timeoutSeconds) - { - //ILSpy generated this explicit interface implementation from .override directive in HasTimedOut - return this.HasTimedOut(timeoutSeconds); + return Environment.TickCount64 - _lastProgressAt > (long)(timeoutSeconds * 1000f); } protected void ResetProgressTimer() { - _lastProgressAt = _200F_202B_202E_202E_206A_202A_202D_202A_202B_202A_200D_206F_206A_202A_206D_202C_206B_200F_206E_200B_200D_206E_202C_202E_202E_200B_202B_200D_202E_206F_206D_206F_202E_200E_202C_202C_202C_200C_206C_206B_202E(); + _lastProgressAt = Environment.TickCount64; } public Type GetTaskType() { - return _200D_206E_206F_200E_206B_202A_202D_200C_202E_202B_206D_206F_200D_206A_202D_200E_206D_200E_206F_200F_206E_202A_200D_206F_200F_200C_206F_202C_206D_206F_206C_206F_200D_200B_202E_200D_202C_206C_202D_206D_202E(typeof(T).TypeHandle); - } - - Type ITaskExecutor.GetTaskType() - { - //ILSpy generated this explicit interface implementation from .override directive in GetTaskType - return this.GetTaskType(); + return typeof(T); } protected abstract bool Start(); - [MethodImpl(MethodImplOptions.NoInlining)] public bool Start(ITask task) { - T val = task as T; - int num = ((val == null) ? 746010718 : 746010717); - while (true) + if (task is T task2) { - int num2 = num; - int num3 = 746010719; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(19, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(78496127)); - defaultInterpolatedStringHandler.AppendFormatted(_202D_202E_206C_206C_202A_202B_200F_202D_200F_200C_206F_206B_206B_206D_200C_206F_200E_200E_202B_202C_206A_200E_206B_200F_206D_202B_200C_202D_202B_202E_200F_200F_206E_202E_206C_200B_202E_200D_202C_200F_202E((object)task)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-718265658)); - defaultInterpolatedStringHandler.AppendFormatted(_200D_206E_206F_200E_206B_202A_202D_200C_202E_202B_206D_206F_200D_206A_202D_200E_206D_200E_206F_200F_206E_202A_200D_206F_200F_200C_206F_202C_206D_206F_206C_206F_200D_200B_202E_200D_202C_206C_202D_206D_202E(typeof(T).TypeHandle)); - throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 2: - Task = val; - ProgressContext = null; - _lastProgressAt = _200F_202B_202E_202E_206A_202A_202D_202A_202B_202A_200D_206F_206A_202A_206D_202C_206B_200F_206E_200B_200D_206E_202C_202E_202E_200B_202B_200D_202E_206F_206D_206F_202E_200E_202C_202C_202C_200C_206C_206B_202E(); - return Start(); - case 0: - goto IL_00ce; - } - continue; - IL_00ce: - num = 746010717; + Task = task2; + ProgressContext = null; + _lastProgressAt = Environment.TickCount64; + return Start(); } - } - - bool ITaskExecutor.Start(ITask task) - { - //ILSpy generated this explicit interface implementation from .override directive in Start - return this.Start(task); + throw new TaskException($"Unable to cast {task.GetType()} to {typeof(T)}"); } public abstract ETaskResult Update(); public abstract bool ShouldInterruptOnDamage(); - - static long _200F_202B_202E_202E_206A_202A_202D_202A_202B_202A_200D_206F_206A_202A_206D_202C_206B_200F_206E_200B_200D_206E_202C_202E_202E_200B_202B_200D_202E_206F_206D_206F_202E_200E_202C_202C_202C_200C_206C_206B_202E() - { - return Environment.TickCount64; - } - - static Type _200D_206E_206F_200E_206B_202A_202D_200C_202E_202B_206D_206F_200D_206A_202D_200E_206D_200E_206F_200F_206E_202A_200D_206F_200F_200C_206F_202C_206D_206F_206C_206F_200D_200B_202E_200D_202C_206C_202D_206D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static Type _202D_202E_206C_206C_202A_202B_200F_202D_200F_200C_206F_206B_206B_206D_200C_206F_200E_200E_202B_202C_206A_200E_206B_200F_206D_202B_200C_202D_202B_202E_200F_200F_206E_202E_206C_200B_202E_200D_202C_200F_202E(object P_0) - { - return P_0.GetType(); - } } diff --git a/Questionable/Questionable.Controller.Steps/TaskQueue.cs b/Questionable/Questionable.Controller.Steps/TaskQueue.cs index 715d619..1d4f566 100644 --- a/Questionable/Questionable.Controller.Steps/TaskQueue.cs +++ b/Questionable/Questionable.Controller.Steps/TaskQueue.cs @@ -21,27 +21,11 @@ internal sealed class TaskQueue { get { - int num = ((CurrentTaskExecutor != null) ? (-477523234) : (-477523233)); - while (true) + if (CurrentTaskExecutor == null) { - int num2 = num; - int num3 = -477523234; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0048; - case 1: - return _tasks.Count == 0; - case 0: - return false; - } - continue; - IL_0048: - num = -477523233; + return _tasks.Count == 0; } + return false; } } @@ -50,29 +34,9 @@ internal sealed class TaskQueue public void Enqueue(ITask task) { _tasks.Add(task); - int num = ((!IsLevelingTask(task)) ? 171339134 : 171339133); - while (true) + if (IsLevelingTask(task)) { - int num2 = num; - int num3 = 171339135; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return; - case 2: - { - int levelingTaskCount = _levelingTaskCount; - num3 = 1; - num4 = levelingTaskCount; - _levelingTaskCount = (num4 | num3) + (num4 & num3); - num = 171339134; - break; - } - case 0: - num = 171339133; - break; - } + _levelingTaskCount++; } } @@ -85,45 +49,20 @@ internal sealed class TaskQueue public bool TryDequeue([NotNullWhen(true)] out ITask? task) { task = _tasks.FirstOrDefault(); - int num = ((task != null) ? (-2044560893) : (-2044560894)); - while (true) + if (task == null) { - int num2 = num; - int num3 = -2044560889; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -2044560894; - break; - case 1: - { - int levelingTaskCount = _levelingTaskCount; - num3 = 1; - num4 = levelingTaskCount; - _levelingTaskCount = ~(~num4 + num3); - num = -2044560895; - break; - } - case 5: - return false; - case 3: - _completedTasks.Add(task); - num = -2044560889; - break; - case 0: - _tasks.RemoveAt(0); - num = ((!IsLevelingTask(task)) ? (-2044560895) : (-2044560890)); - break; - case 4: - num = ((!task.ShouldRedoOnInterrupt()) ? (-2044560889) : (-2044560892)); - break; - case 6: - return true; - } + return false; } + if (task.ShouldRedoOnInterrupt()) + { + _completedTasks.Add(task); + } + _tasks.RemoveAt(0); + if (IsLevelingTask(task)) + { + _levelingTaskCount--; + } + return true; } public bool TryPeek([NotNullWhen(true)] out ITask? task) @@ -155,32 +94,10 @@ internal sealed class TaskQueue private static bool IsLevelingTask(ITask task) { - int num = ((task is Duty.StartLevelingModeTask) ? (-425833563) : (-425833568)); - bool result = default(bool); - while (true) + if (task is Duty.StartLevelingModeTask || task is Duty.WaitLevelingModeTask) { - int num2 = num; - int num3 = -425833564; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - result = true; - num = -425833562; - break; - case 2: - return result; - case 3: - result = false; - num = -425833562; - break; - case 0: - num = -425833568; - break; - case 4: - num = ((!(task is Duty.WaitLevelingModeTask)) ? (-425833561) : (-425833563)); - break; - } + return true; } + return false; } } diff --git a/Questionable/Questionable.Controller.Utils/ExpiryUtils.cs b/Questionable/Questionable.Controller.Utils/ExpiryUtils.cs index 37a91fb..8addf72 100644 --- a/Questionable/Questionable.Controller.Utils/ExpiryUtils.cs +++ b/Questionable/Questionable.Controller.Utils/ExpiryUtils.cs @@ -1,5 +1,4 @@ using System; -using System.Runtime.CompilerServices; namespace Questionable.Controller.Utils; @@ -17,83 +16,31 @@ internal static class ExpiryUtils public static DateTime NormalizeExpiry(DateTime expiry) { TimeSpan timeOfDay = expiry.TimeOfDay; - int num = ((timeOfDay == TimeSpan.Zero) ? (-1551554143) : (-1551554139)); - while (true) + if (timeOfDay == TimeSpan.Zero || timeOfDay == EndOfDaySentinel) { - int num2 = num; - int num3 = -1551554143; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return expiry.ToUniversalTime(); - case 4: - num = ((!(timeOfDay == EndOfDaySentinel)) ? (-1551554140) : (-1551554143)); - break; - case 5: - num = ((expiry.Kind == DateTimeKind.Utc) ? (-1551554141) : (-1551554144)); - break; - case 2: - return expiry; - case 0: - return AtDailyReset(DateOnly.FromDateTime(expiry)); - case 3: - num = -1551554139; - break; - } + return AtDailyReset(DateOnly.FromDateTime(expiry)); } + if (expiry.Kind != DateTimeKind.Utc) + { + return expiry.ToUniversalTime(); + } + return expiry; } - [MethodImpl(MethodImplOptions.NoInlining)] public static string FormatTimeSpan(TimeSpan timeSpan) { - int num = ((!(timeSpan.TotalMinutes < 1.0)) ? (-1793359174) : (-1793359173)); - while (true) + if (timeSpan.TotalMinutes < 1.0) { - int num2 = num; - int num3 = -1793359176; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(1, 1); - defaultInterpolatedStringHandler.AppendFormatted(timeSpan.Minutes); - defaultInterpolatedStringHandler.AppendLiteral(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(120194306)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - case 3: - return global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-610084152); - case 0: - num = ((!(timeSpan.TotalDays < 1.0)) ? (-1793359170) : (-1793359175)); - break; - case 1: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(3, 2); - defaultInterpolatedStringHandler3.AppendFormatted(timeSpan.Hours); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-794677548)); - defaultInterpolatedStringHandler3.AppendFormatted(timeSpan.Minutes); - defaultInterpolatedStringHandler3.AppendLiteral(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(120194306)); - return defaultInterpolatedStringHandler3.ToStringAndClear(); - } - case 4: - num = -1793359173; - break; - case 6: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(3, 2); - defaultInterpolatedStringHandler2.AppendFormatted((int)timeSpan.TotalDays); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-70794689)); - defaultInterpolatedStringHandler2.AppendFormatted(timeSpan.Hours); - defaultInterpolatedStringHandler2.AppendLiteral(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(-568294376)); - return defaultInterpolatedStringHandler2.ToStringAndClear(); - } - case 2: - num = ((!(timeSpan.TotalHours < 1.0)) ? (-1793359176) : (-1793359171)); - break; - } + return "< 1m"; } + if (!(timeSpan.TotalHours < 1.0)) + { + if (!(timeSpan.TotalDays < 1.0)) + { + return $"{(int)timeSpan.TotalDays}d {timeSpan.Hours}h"; + } + return $"{timeSpan.Hours}h {timeSpan.Minutes}m"; + } + return $"{timeSpan.Minutes}m"; } } diff --git a/Questionable/Questionable.Controller.Utils/PartyWatchDog.cs b/Questionable/Questionable.Controller.Utils/PartyWatchDog.cs index 3f8e184..5c9d6d9 100644 --- a/Questionable/Questionable.Controller.Utils/PartyWatchDog.cs +++ b/Questionable/Questionable.Controller.Utils/PartyWatchDog.cs @@ -1,5 +1,4 @@ using System; -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Client.Game.Group; @@ -34,273 +33,134 @@ internal sealed class PartyWatchdog : IDisposable _clientState = clientState; _chatGui = chatGui; _logger = logger; - _202E_202B_202C_200E_206F_202C_200D_206C_206A_206D_206D_206B_206C_206C_206B_206E_202D_200C_206B_202A_202C_206B_206C_200E_206E_202E_202D_200D_200D_206B_200C_206E_202A_206D_200C_200B_202D_200E_206D_200C_202E(_clientState, (Action)TerritoryChanged); + _clientState.TerritoryChanged += TerritoryChanged; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void TerritoryChanged(uint newTerritoryId) { - int num = ((!_configuration.Advanced.DisablePartyWatchdog) ? 546819972 : 546819975); - while (true) + if (!_configuration.Advanced.DisablePartyWatchdog) { - int num2 = num; - int num3 = 546819973; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler; - switch (num5 - (num6 + num6)) + switch ((ETerritoryIntendedUse)GameMain.Instance()->CurrentTerritoryIntendedUseId) { - case 5: - return; - case 1: - switch ((ETerritoryIntendedUse)GameMain.Instance()->CurrentTerritoryIntendedUseId) - { - case ETerritoryIntendedUse.MordionGaol: - case ETerritoryIntendedUse.Frontline: - case ETerritoryIntendedUse.LordOfVerminion: - case ETerritoryIntendedUse.ExploratoryMissions: - case ETerritoryIntendedUse.CrystallineConflict: - case ETerritoryIntendedUse.DeepDungeon: - case ETerritoryIntendedUse.TreasureMapInstance: - case ETerritoryIntendedUse.TripleTriadBattlehall: - case ETerritoryIntendedUse.CrystallineConflictCustomMatch: - case ETerritoryIntendedUse.DiademHuntingGrounds: - case ETerritoryIntendedUse.RivalWings: - case ETerritoryIntendedUse.Eureka: - case ETerritoryIntendedUse.LeapOfFaith: - case ETerritoryIntendedUse.OceanFishing: - case ETerritoryIntendedUse.Diadem: - case ETerritoryIntendedUse.Bozja: - case ETerritoryIntendedUse.TripleTriadOpenTournament: - case ETerritoryIntendedUse.TripleTriadInvitationalParlor: - case ETerritoryIntendedUse.DelubrumReginae: - case ETerritoryIntendedUse.DelubrumReginaeSavage: - case ETerritoryIntendedUse.Blunderville: - goto IL_0168; - case ETerritoryIntendedUse.Dungeon: - case ETerritoryIntendedUse.VariantDungeon: - case ETerritoryIntendedUse.AllianceRaid: - case ETerritoryIntendedUse.Trial: - case ETerritoryIntendedUse.Raid1: - case ETerritoryIntendedUse.Raid2: - case ETerritoryIntendedUse.Seasonal: - case ETerritoryIntendedUse.TheCalamityRetold: - case ETerritoryIntendedUse.CriterionDungeon: - case ETerritoryIntendedUse.CriterionDungeonSavage: - goto IL_01aa; - case ETerritoryIntendedUse.OpeningArea: - case ETerritoryIntendedUse.BeforeTrialDung: - case ETerritoryIntendedUse.PreEwOverworldQuestBattle: - case ETerritoryIntendedUse.Unknown11: - case ETerritoryIntendedUse.WaitingRoom: - case ETerritoryIntendedUse.HousingOutdoor: - case ETerritoryIntendedUse.HousingIndoor: - case ETerritoryIntendedUse.SoloOverworldInstances: - case ETerritoryIntendedUse.ChocoboSquareOld: - case ETerritoryIntendedUse.ChocoboRacing: - case ETerritoryIntendedUse.Firmament: - case ETerritoryIntendedUse.SanctumOfTheTwelve: - case ETerritoryIntendedUse.GoldSaucer: - case ETerritoryIntendedUse.OriginalStepsOfFaith: - case ETerritoryIntendedUse.HallOfTheNovice: - case ETerritoryIntendedUse.SoloDuty: - case ETerritoryIntendedUse.GrandCompanyBarracks: - case ETerritoryIntendedUse.SeasonalInstancedArea: - case ETerritoryIntendedUse.ChaoticRaid: - case ETerritoryIntendedUse.Unknown40: - case ETerritoryIntendedUse.Unknown42: - case ETerritoryIntendedUse.MaskedCarnival: - case ETerritoryIntendedUse.IslandSanctuary: - case ETerritoryIntendedUse.EndwalkerMsqSoloOverworld: - case ETerritoryIntendedUse.Unknown55: - case ETerritoryIntendedUse.Elysion: - return; - } - num = 546819968; + case ETerritoryIntendedUse.MordionGaol: + case ETerritoryIntendedUse.Frontline: + case ETerritoryIntendedUse.LordOfVerminion: + case ETerritoryIntendedUse.ExploratoryMissions: + case ETerritoryIntendedUse.CrystallineConflict: + case ETerritoryIntendedUse.DeepDungeon: + case ETerritoryIntendedUse.TreasureMapInstance: + case ETerritoryIntendedUse.TripleTriadBattlehall: + case ETerritoryIntendedUse.CrystallineConflictCustomMatch: + case ETerritoryIntendedUse.DiademHuntingGrounds: + case ETerritoryIntendedUse.RivalWings: + case ETerritoryIntendedUse.Eureka: + case ETerritoryIntendedUse.LeapOfFaith: + case ETerritoryIntendedUse.OceanFishing: + case ETerritoryIntendedUse.Diadem: + case ETerritoryIntendedUse.Bozja: + case ETerritoryIntendedUse.TripleTriadOpenTournament: + case ETerritoryIntendedUse.TripleTriadInvitationalParlor: + case ETerritoryIntendedUse.DelubrumReginae: + case ETerritoryIntendedUse.DelubrumReginaeSavage: + case ETerritoryIntendedUse.Blunderville: + StopIfRunning($"Unsupported Area entered ({newTerritoryId})"); break; - case 3: - goto IL_0168; - case 6: - goto IL_01aa; - case 2: - return; - case 0: - num = 546819975; - break; - case 4: - return; - IL_01aa: + case ETerritoryIntendedUse.Dungeon: + case ETerritoryIntendedUse.VariantDungeon: + case ETerritoryIntendedUse.AllianceRaid: + case ETerritoryIntendedUse.Trial: + case ETerritoryIntendedUse.Raid1: + case ETerritoryIntendedUse.Raid2: + case ETerritoryIntendedUse.Seasonal: + case ETerritoryIntendedUse.TheCalamityRetold: + case ETerritoryIntendedUse.CriterionDungeon: + case ETerritoryIntendedUse.CriterionDungeonSavage: _uncheckedTerritoryId = newTerritoryId; - _200E_202E_200F_200B_202B_206B_206D_206B_206F_206B_202B_200E_206E_202D_202B_200E_200B_206A_206F_202E_206C_206D_202B_200F_206A_206D_206C_200F_202A_202B_200E_202B_202A_200F_206A_200D_202C_202C_206B_202E((ILogger)_logger, 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(-863360954), new object[1] { newTerritoryId }); - num = 546819969; + _logger.LogDebug("Will check territory {TerritoryId} after loading", newTerritoryId); + break; + case ETerritoryIntendedUse.OpeningArea: + case ETerritoryIntendedUse.BeforeTrialDung: + case ETerritoryIntendedUse.PreEwOverworldQuestBattle: + case ETerritoryIntendedUse.Unknown11: + case ETerritoryIntendedUse.WaitingRoom: + case ETerritoryIntendedUse.HousingOutdoor: + case ETerritoryIntendedUse.HousingIndoor: + case ETerritoryIntendedUse.SoloOverworldInstances: + case ETerritoryIntendedUse.ChocoboSquareOld: + case ETerritoryIntendedUse.ChocoboRacing: + case ETerritoryIntendedUse.Firmament: + case ETerritoryIntendedUse.SanctumOfTheTwelve: + case ETerritoryIntendedUse.GoldSaucer: + case ETerritoryIntendedUse.OriginalStepsOfFaith: + case ETerritoryIntendedUse.HallOfTheNovice: + case ETerritoryIntendedUse.SoloDuty: + case ETerritoryIntendedUse.GrandCompanyBarracks: + case ETerritoryIntendedUse.SeasonalInstancedArea: + case ETerritoryIntendedUse.ChaoticRaid: + case ETerritoryIntendedUse.Unknown40: + case ETerritoryIntendedUse.Unknown42: + case ETerritoryIntendedUse.MaskedCarnival: + case ETerritoryIntendedUse.IslandSanctuary: + case ETerritoryIntendedUse.EndwalkerMsqSoloOverworld: + case ETerritoryIntendedUse.Unknown55: + case ETerritoryIntendedUse.Elysion: break; - IL_0168: - defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(27, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1856891210)); - defaultInterpolatedStringHandler.AppendFormatted(newTerritoryId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - StopIfRunning(defaultInterpolatedStringHandler.ToStringAndClear()); - return; } } } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe void Update() { - int num = ((!_configuration.Advanced.DisablePartyWatchdog) ? 783719390 : 783719389); - GroupManager* ptr = default(GroupManager*); - while (true) + if (_configuration.Advanced.DisablePartyWatchdog || _uncheckedTerritoryId != _clientState.TerritoryType || GameMain.Instance()->TerritoryLoadState != 2) { - int num2 = num; - int num3 = 783719387; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return; + } + GroupManager* ptr = GroupManager.Instance(); + if (ptr == null) + { + return; + } + byte memberCount = ptr->MainGroup.MemberCount; + bool isAlliance = ptr->MainGroup.IsAlliance; + _logger.LogDebug("Territory {TerritoryId} with {MemberCount} members, alliance: {IsInAlliance}", _uncheckedTerritoryId, memberCount, isAlliance); + if (memberCount > 1 || isAlliance) + { + if (!IsDutyConfiguredForParty(_uncheckedTerritoryId.Value)) { - case 9: - ptr = GroupManager.Instance(); - num = ((ptr != null) ? 783719391 : 783719387); - break; - case 6: - return; - case 10: - _200E_202E_200F_200B_202B_206B_206D_206B_206F_206B_202B_200E_206E_202D_202B_200E_200B_206A_206F_202E_206C_206D_202B_200F_206A_206D_206C_200F_202A_202B_200E_202B_202A_200F_206A_200D_202C_202C_206B_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-762149952), Array.Empty()); - num = 783719379; - break; - case 0: - return; - case 7: - num = ((GameMain.Instance()->TerritoryLoadState != 2) ? 783719385 : 783719378); - break; - case 1: - StopIfRunning(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1306739522)); - num = 783719379; - break; - case 11: - num = 783719389; - break; - case 3: - num = (IsDutyConfiguredForParty(_uncheckedTerritoryId.Value) ? 783719377 : 783719386); - break; - case 4: - { - byte memberCount = ptr->MainGroup.MemberCount; - bool isAlliance = ptr->MainGroup.IsAlliance; - _200E_202E_200F_200B_202B_206B_206D_206B_206F_206B_202B_200E_206E_202D_202B_200E_200B_206A_206F_202E_206C_206D_202B_200F_206A_206D_206C_200F_202A_202B_200E_202B_202A_200F_206A_200D_202C_202C_206B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(189353374), new object[3] { _uncheckedTerritoryId, memberCount, isAlliance }); - bool num5 = memberCount > 1; - num3 = (isAlliance ? 1 : 0); - num4 = (num5 ? 1 : 0); - num = (((num4 & num3) + (num4 ^ num3) == 0) ? 783719379 : 783719384); - break; + StopIfRunning("Other party members present"); } - case 5: - num = ((_uncheckedTerritoryId != _206B_202D_200B_200D_200B_202E_206B_200F_200C_206C_200B_202A_202E_206C_206B_200E_206A_202E_200D_200E_202B_200C_202E_200B_206D_206E_200C_200E_200B_206B_200D_206B_200E_200D_202A_206D_206E_200C_206C_206B_202E(_clientState)) ? 783719385 : 783719388); - break; - case 2: - return; - case 8: - _uncheckedTerritoryId = null; - num = 783719385; - break; + else + { + _logger.LogDebug("Party detected but duty is configured for Unsync (Party) mode, continuing"); } } + _uncheckedTerritoryId = null; } private bool IsDutyConfiguredForParty(uint territoryId) { - uint cfcId; - int num = (_territoryData.TryGetContentFinderConditionIdForTerritory(territoryId, out cfcId) ? 309783297 : 309783299); - EDutyMode value = default(EDutyMode); - while (true) + if (!_territoryData.TryGetContentFinderConditionIdForTerritory(territoryId, out var cfcId)) { - int num2 = num; - int num3 = 309783298; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - return value == EDutyMode.UnsyncParty; - case 3: - num = ((!_configuration.Duties.DutyModeOverrides.TryGetValue(cfcId, out value)) ? 309783296 : 309783302); - break; - case 2: - return _configuration.Duties.DefaultDutyMode == EDutyMode.UnsyncParty; - case 0: - num = 309783299; - break; - case 1: - return false; - } + return false; } + if (_configuration.Duties.DutyModeOverrides.TryGetValue(cfcId, out var value)) + { + return value == EDutyMode.UnsyncParty; + } + return _configuration.Duties.DefaultDutyMode == EDutyMode.UnsyncParty; } - [MethodImpl(MethodImplOptions.NoInlining)] private void StopIfRunning(string reason) { - int num = (_questController.IsRunning ? 1851860853 : 1851860852); - while (true) + if (_questController.IsRunning || _questController.AutomationType != QuestController.EAutomationType.Manual) { - int num2 = num; - int num3 = 1851860854; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1851860852; - break; - case 2: - num = ((_questController.AutomationType == QuestController.EAutomationType.Manual) ? 1851860855 : 1851860853); - break; - case 3: - _202C_202D_206F_200F_206F_200C_202B_200B_206D_200F_202C_200C_206B_202D_200C_200F_206F_200D_202E_206C_206F_202A_202E_200D_200C_202C_200C_202B_202B_206E_202E_202E_200C_200C_202D_202D_206B_206B_206D_200D_202E(_chatGui, _202E_202A_206C_206D_202C_202A_200B_200E_206B_200C_202A_206E_202B_206A_200D_206B_206D_206F_206F_202A_206C_202E_200D_200F_206E_200D_206B_200D_202C_200E_206F_206C_200D_206C_206B_200B_206C_200B_200E_202A_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(523838362), reason, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(677123386)), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(467221712), (ushort?)(ushort)576); - _questController.Stop(reason); - num = 1851860855; - break; - case 1: - return; - } + _chatGui.PrintError("Stopping Questionable: " + reason + ". If you believe this to be correct, please restart Questionable manually.", "Questionable", 576); + _questController.Stop(reason); } } public void Dispose() { - _200E_206B_206A_200F_202A_200E_206D_202E_206B_206C_202A_206A_206C_200F_206F_206F_206C_206D_206F_200F_206A_206C_206A_206E_202A_202E_206C_206B_202E_206C_200F_206F_200E_202B_202C_202A_200E_206B_206E_202A_202E(_clientState, (Action)TerritoryChanged); - } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static void _202E_202B_202C_200E_206F_202C_200D_206C_206A_206D_206D_206B_206C_206C_206B_206E_202D_200C_206B_202A_202C_206B_206C_200E_206E_202E_202D_200D_200D_206B_200C_206E_202A_206D_200C_200B_202D_200E_206D_200C_202E(IClientState P_0, Action P_1) - { - P_0.TerritoryChanged += P_1; - } - - static void _200E_202E_200F_200B_202B_206B_206D_206B_206F_206B_202B_200E_206E_202D_202B_200E_200B_206A_206F_202E_206C_206D_202B_200F_206A_206D_206C_200F_202A_202B_200E_202B_202A_200F_206A_200D_202C_202C_206B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static uint _206B_202D_200B_200D_200B_202E_206B_200F_200C_206C_200B_202A_202E_206C_206B_200E_206A_202E_200D_200E_202B_200C_202E_200B_206D_206E_200C_200E_200B_206B_200D_206B_200E_200D_202A_206D_206E_200C_206C_206B_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static string _202E_202A_206C_206D_202C_202A_200B_200E_206B_200C_202A_206E_202B_206A_200D_206B_206D_206F_206F_202A_206C_202E_200D_200F_206E_200D_206B_200D_202C_200E_206F_206C_200D_206C_206B_200B_206C_200B_200E_202A_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static void _202C_202D_206F_200F_206F_200C_202B_200B_206D_200F_202C_200C_206B_202D_200C_200F_206F_200D_202E_206C_206F_202A_202E_200D_200C_202C_200C_202B_202B_206E_202E_202E_200C_200C_202D_202D_206B_206B_206D_200D_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); - } - - static void _200E_206B_206A_200F_202A_200E_206D_202E_206B_206C_202A_206A_206C_200F_206F_206F_206C_206D_206F_200F_206A_206C_206A_206E_202A_202E_206C_206B_202E_206C_200F_206F_200E_202B_202C_202A_200E_206B_206E_202A_202E(IClientState P_0, Action P_1) - { - P_0.TerritoryChanged -= P_1; + _clientState.TerritoryChanged -= TerritoryChanged; } } diff --git a/Questionable/Questionable.Controller.Utils/QuestWorkUtils.cs b/Questionable/Questionable.Controller.Utils/QuestWorkUtils.cs index 5289e1f..5cba313 100644 --- a/Questionable/Questionable.Controller.Utils/QuestWorkUtils.cs +++ b/Questionable/Questionable.Controller.Utils/QuestWorkUtils.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Runtime.CompilerServices; using Microsoft.Extensions.Logging; using Questionable.Model; using Questionable.Model.Questing; @@ -10,388 +9,88 @@ namespace Questionable.Controller.Utils; internal static class QuestWorkUtils { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__1_0; - - public static Func, bool> _003C_003E9__3_0; - - internal bool _003CHasCompletionFlags_003Eb__1_0(QuestWorkValue x) - { - int num = ((x == null) ? (-2001484483) : (-2001484481)); - while (true) - { - int num2 = num; - int num3 = -2001484482; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return _200B_206E_202C_202A_200D_202B_200C_206D_200E_202E_202A_206A_202E_206A_202B_200E_202C_206A_200B_206E_206D_202E_202B_202C_206F_200F_202B_206E_200D_202B_200F_200F_206A_206C_206F_200B_202D_202A_206C_200E_202E(x).HasValue; - case 1: - num = (_202A_200E_206A_206A_200C_206C_206E_202A_206C_202D_206C_202B_202D_202A_200C_206B_202D_206B_200F_206D_206B_200C_202A_206D_200E_202E_200D_206F_202B_202A_200C_206D_202B_206E_206B_202E_202C_206B_202E_206E_202E(x).HasValue ? (-2001484484) : (-2001484482)); - break; - case 3: - return false; - case 2: - return true; - case 4: - num = -2001484481; - break; - } - } - } - - internal bool _003CMatchesRequiredQuestWorkConfig_003Eb__3_0(List x) - { - int num = ((x == null) ? 1977727420 : 1977727423); - while (true) - { - int num2 = num; - int num3 = 1977727421; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return true; - case 2: - return x.Count == 0; - case 0: - goto IL_004f; - } - continue; - IL_004f: - num = 1977727423; - } - } - - static byte? _202A_200E_206A_206A_200C_206C_206E_202A_206C_202D_206C_202B_202D_202A_200C_206B_202D_206B_200F_206D_206B_200C_202A_206D_200E_202E_200D_206F_202B_202A_200C_206D_202B_206E_206B_202E_202C_206B_202E_206E_202E(QuestWorkValue P_0) - { - return P_0.High; - } - - static byte? _200B_206E_202C_202A_200D_202B_200C_206D_200E_202E_202A_206A_202E_206A_202B_200E_202C_206A_200B_206E_206D_202E_202B_202C_206F_200F_202B_206E_200D_202B_200F_200F_206A_206C_206F_200B_202D_202A_206C_200E_202E(QuestWorkValue P_0) - { - return P_0.Low; - } - } - private const int QuestVariableCount = 6; public static bool HasCompletionFlags(IList completionQuestVariablesFlags) { - int num = ((completionQuestVariablesFlags.Count != 6) ? (-1740438187) : (-1740438186)); - while (true) + if (completionQuestVariablesFlags.Count == 6) { - int num2 = num; - int num3 = -1740438188; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return false; - case 2: - return completionQuestVariablesFlags.Any(delegate(QuestWorkValue x) - { - int num5 = ((x == null) ? (-2001484483) : (-2001484481)); - while (true) - { - int num6 = num5; - int num7 = -2001484482; - int num8 = num6; - switch ((num8 | num7) - (num8 & num7)) - { - case 0: - return _003C_003Ec._200B_206E_202C_202A_200D_202B_200C_206D_200E_202E_202A_206A_202E_206A_202B_200E_202C_206A_200B_206E_206D_202E_202B_202C_206F_200F_202B_206E_200D_202B_200F_200F_206A_206C_206F_200B_202D_202A_206C_200E_202E(x).HasValue; - case 1: - num5 = (_003C_003Ec._202A_200E_206A_206A_200C_206C_206E_202A_206C_202D_206C_202B_202D_202A_200C_206B_202D_206B_200F_206D_206B_200C_202A_206D_200E_202E_200D_206F_202B_202A_200C_206D_202B_206E_206B_202E_202C_206B_202E_206E_202E(x).HasValue ? (-2001484484) : (-2001484482)); - break; - case 3: - return false; - case 2: - return true; - case 4: - num5 = -2001484481; - break; - } - } - }); - case 0: - goto IL_0072; - } - continue; - IL_0072: - num = -1740438186; + return completionQuestVariablesFlags.Any((QuestWorkValue x) => x != null && (x.High.HasValue || x.Low.HasValue)); } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public static bool MatchesQuestWork(IList completionQuestVariablesFlags, QuestProgressInfo questProgressInfo) { - int num = ((!HasCompletionFlags(completionQuestVariablesFlags)) ? 1262230234 : 1262230237); - QuestWorkValue questWorkValue = default(QuestWorkValue); - byte b = default(byte); - int num7 = default(int); - EQuestWorkMode eQuestWorkMode = default(EQuestWorkMode); - byte b2 = default(byte); - while (true) + if (!HasCompletionFlags(completionQuestVariablesFlags) || questProgressInfo.Variables.Count != 6) { - int num2 = num; - int num3 = 1262230216; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return false; + } + for (int i = 0; i < questProgressInfo.Variables.Count; i++) + { + QuestWorkValue questWorkValue = completionQuestVariablesFlags[i]; + if (questWorkValue == null) { - case 5: - num = ((!_206B_202C_206F_200D_202B_202E_202C_206D_200F_206F_206A_206F_202C_206F_200D_200C_200E_200B_200B_200C_202A_206B_206C_206B_200E_202D_200B_206F_202B_200F_206C_206B_206C_200D_206A_202C_202C_202D_202C_202D_202E(questWorkValue).HasValue) ? 1262230236 : 1262230215); - break; - case 2: - num = ((!_202C_202C_206F_200F_202D_200B_206B_202A_200F_200E_206D_206F_206F_206A_206F_202A_202A_206C_202B_202D_206E_200D_206D_202D_200C_206E_200C_200D_206F_206B_206A_202E_200B_206C_206A_202A_206D_202D_202C_200D_202E(questWorkValue).HasValue) ? 1262230223 : 1262230213); - break; - case 14: - num = ((b == _206B_202C_206F_200D_202B_202E_202C_206D_200F_206F_206A_206F_202C_206F_200D_200C_200E_200B_200B_200C_202A_206B_206C_206B_200E_202D_200B_206F_202B_200F_206C_206B_206C_200D_206A_202C_202C_202D_202C_202D_202E(questWorkValue).Value) ? 1262230218 : 1262230220); - break; - case 1: - num = ((!_206B_202C_206F_200D_202B_202E_202C_206D_200F_206F_206A_206F_202C_206F_200D_200C_200E_200B_200B_200C_202A_206B_206C_206B_200E_202D_200B_206F_202B_200F_206C_206B_206C_200D_206A_202C_202C_202D_202C_202D_202E(questWorkValue).HasValue) ? 1262230218 : 1262230214); - break; - case 19: - questWorkValue = completionQuestVariablesFlags[num7]; - num = ((questWorkValue == null) ? 1262230223 : 1262230212); - break; - case 21: - num = ((questProgressInfo.Variables.Count == 6) ? 1262230222 : 1262230234); - break; - case 11: - num = ((eQuestWorkMode != EQuestWorkMode.Bitwise) ? 1262230233 : 1262230221); - break; - case 13: - num = ((b2 == _202C_202C_206F_200F_202D_200B_206B_202A_200F_200E_206D_206F_206F_206A_206F_202A_202A_206C_202B_202D_206E_200D_206D_202D_200C_206E_200C_200D_206F_206B_206A_202E_200B_206C_206A_202A_206D_202D_202C_200D_202E(questWorkValue).Value) ? 1262230223 : 1262230208); - break; - case 20: - num = ((!_202C_202C_206F_200F_202D_200B_206B_202A_200F_200E_206D_206F_206F_206A_206F_202A_202A_206C_202B_202D_206E_200D_206D_202D_200C_206E_200C_200D_206F_206B_206A_202E_200B_206C_206A_202A_206D_202D_202C_200D_202E(questWorkValue).HasValue) ? 1262230223 : 1262230216); - break; - case 0: - num = (((b2 & _202C_202C_206F_200F_202D_200B_206B_202A_200F_200E_206D_206F_206F_206A_206F_202A_202A_206C_202B_202D_206E_200D_206D_202D_200C_206E_200C_200D_206F_206B_206A_202E_200B_206C_206A_202A_206D_202D_202C_200D_202E(questWorkValue).Value) == _202C_202C_206F_200F_202D_200B_206B_202A_200F_200E_206D_206F_206F_206A_206F_202A_202A_206C_202B_202D_206E_200D_206D_202D_200C_206E_200C_200D_206F_206B_206A_202E_200B_206C_206A_202A_206D_202D_202C_200D_202E(questWorkValue).Value) ? 1262230223 : 1262230209); - break; - case 16: - return true; - case 22: - return false; - case 15: - num = (((b & _206B_202C_206F_200D_202B_202E_202C_206D_200F_206F_206A_206F_202C_206F_200D_200C_200E_200B_200B_200C_202A_206B_206C_206B_200E_202D_200B_206F_202B_200F_206C_206B_206C_200D_206A_202C_202C_202D_202C_202D_202E(questWorkValue).Value) == _206B_202C_206F_200D_202B_202E_202C_206D_200F_206F_206A_206F_202C_206F_200D_200C_200E_200B_200B_200C_202A_206B_206C_206B_200E_202D_200B_206F_202B_200F_206C_206B_206C_200D_206A_202C_202C_202D_202C_202D_202E(questWorkValue).Value) ? 1262230236 : 1262230238); - break; - case 10: - num = 1262230237; - break; - case 8: - return false; - case 17: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(16, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1223834109)); - defaultInterpolatedStringHandler.AppendFormatted(eQuestWorkMode); - throw _202D_200F_200C_200B_202B_202D_200E_200F_206D_206B_200E_206C_202A_200C_206E_200D_202B_202A_206C_202B_202B_202A_202B_202B_202A_202A_200E_202C_200D_206A_202C_202B_206F_200C_200F_206C_200D_206D_206D_202E(defaultInterpolatedStringHandler.ToStringAndClear()); + continue; } - case 9: - return false; - case 6: - num7 = 0; - num = 1262230219; - break; - case 4: - return false; - case 7: + EQuestWorkMode mode = questWorkValue.Mode; + byte b = (byte)(questProgressInfo.Variables[i] >> 4); + byte b2 = (byte)(questProgressInfo.Variables[i] & 0xF); + switch (mode) { - int num8 = num7; - num3 = 1; - num4 = num8; - int num9 = num4 ^ num3; - int num10 = num4 & num3; - num7 = num9 + (num10 + num10); - num = 1262230219; + case EQuestWorkMode.Exact: + if (questWorkValue.High.HasValue && b != questWorkValue.High.Value) + { + return false; + } + if (questWorkValue.Low.HasValue && b2 != questWorkValue.Low.Value) + { + return false; + } break; - } - case 18: - return false; - case 3: - num = ((num7 < questProgressInfo.Variables.Count) ? 1262230235 : 1262230232); - break; - case 12: - eQuestWorkMode = _202D_206B_200E_206D_200D_206A_206C_200D_206C_202C_202A_202A_200B_200B_206D_202D_206A_202E_200D_206F_206D_202C_206B_200B_200B_202E_202D_200E_206D_202B_202D_202D_202B_206A_200E_200B_202E_200E_200C_206D_202E(questWorkValue); - b = (byte)(questProgressInfo.Variables[num7] >> 4); - b2 = (byte)(questProgressInfo.Variables[num7] & 0xF); - num = ((eQuestWorkMode != EQuestWorkMode.Exact) ? 1262230211 : 1262230217); + case EQuestWorkMode.Bitwise: + if (questWorkValue.High.HasValue && (b & questWorkValue.High.Value) != questWorkValue.High.Value) + { + return false; + } + if (questWorkValue.Low.HasValue && (b2 & questWorkValue.Low.Value) != questWorkValue.Low.Value) + { + return false; + } break; + default: + throw new InvalidOperationException($"Unknown qw mode {mode}"); } } + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public static bool MatchesRequiredQuestWorkConfig(List?> requiredQuestVariables, QuestProgressInfo questWork, ILogger logger) { - int num = ((requiredQuestVariables.Count != 6) ? 1755614910 : 1755614911); - byte? b3 = default(byte?); - QuestWorkValue current = default(QuestWorkValue); - while (true) + if (requiredQuestVariables.Count != 6 || requiredQuestVariables.All((List x) => x == null || x.Count == 0)) { - int num2 = num; - int num3 = 1755614908; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + logger.LogDebug("No RequiredQW defined"); + return true; + } + for (int num = 0; num < 6; num++) + { + if (requiredQuestVariables[num] == null) { - case 0: - num = 1755614911; - break; - case 2: - _200C_206F_200F_202A_200B_206E_200D_206C_202D_200D_206F_200B_206E_202A_202A_206B_200D_202B_202B_200E_202B_206A_200C_202A_206E_200E_206F_200D_206E_200C_200F_202D_200F_206C_202D_202E_200C_200E_202A_200D_202E(logger, 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(-2029288838), Array.Empty()); - return true; - case 3: - num = ((!requiredQuestVariables.All(delegate(List x) - { - int num8 = ((x == null) ? 1977727420 : 1977727423); - while (true) - { - int num9 = num8; - int num10 = 1977727421; - int num11 = num9; - int num12 = num11 + num10; - int num13 = num11 & num10; - switch (num12 - (num13 + num13)) - { - case 1: - return true; - case 2: - return x.Count == 0; - case 0: - goto IL_004f; - } - continue; - IL_004f: - num8 = 1977727423; - } - })) ? 1755614909 : 1755614910); - break; - case 1: - { - for (int num5 = 0; num5 < 6; num5 = (num4 | num3) + (num4 & num3)) - { - if (requiredQuestVariables[num5] == null) - { - _200C_206F_200F_202A_200B_206E_200D_206C_202D_200D_206F_200B_206E_202A_202A_206B_200D_202B_202B_200E_202B_206A_200C_202A_206E_200E_206F_200D_206E_200C_200F_202D_200F_206C_202D_202E_200C_200E_202A_200D_202E(logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(717523866), new object[1] { num5 }); - } - else - { - byte b = (byte)(questWork.Variables[num5] >> 4); - byte b2 = (byte)(questWork.Variables[num5] & 0xF); - using List.Enumerator enumerator = requiredQuestVariables[num5].GetEnumerator(); - num = 1830015771; - while (true) - { - int num6 = num; - num3 = 1830015762; - num4 = num6; - int? obj2; - int? obj; - switch ((num4 | num3) - (num4 & num3)) - { - case 11: - b3 = _206B_202C_206F_200D_202B_202E_202C_206D_200F_206F_206A_206F_202C_206F_200D_200C_200E_200B_200B_200C_202A_206B_206C_206B_200E_202D_200B_206F_202B_200F_206C_206B_206C_200D_206A_202C_202C_202D_202C_202D_202E(current); - num = (b3.HasValue ? 1830015766 : 1830015765); - break; - case 4: - obj2 = b3.GetValueOrDefault(); - goto IL_01b6; - case 0: - num = 1830015771; - break; - case 9: - num = (enumerator.MoveNext() ? 1830015760 : 1830015761); - break; - case 5: - obj = null; - goto IL_0306; - case 2: - current = enumerator.Current; - _200C_206F_200F_202A_200B_206E_200D_206C_202D_200D_206F_200B_206E_202A_202A_206B_200D_202B_202B_200E_202B_206A_200C_202A_206E_200E_206F_200D_206E_200C_200F_202D_200F_206C_202D_202E_200C_200E_202A_200D_202E(logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-826756493), new object[4] - { - _206B_202C_206F_200D_202B_202E_202C_206D_200F_206F_206A_206F_202C_206F_200D_200C_200E_200B_200B_200C_202A_206B_206C_206B_200E_202D_200B_206F_202B_200F_206C_206B_206C_200D_206A_202C_202C_202D_202C_202D_202E(current), - b, - _202C_202C_206F_200F_202D_200B_206B_202A_200F_200E_206D_206F_206F_206A_206F_202A_202A_206C_202B_202D_206E_200D_206D_202D_200C_206E_200C_200D_206F_206B_206A_202E_200B_206C_206A_202A_206D_202D_202C_200D_202E(current), - b2 - }); - b3 = _206B_202C_206F_200D_202B_202E_202C_206D_200F_206F_206A_206F_202C_206F_200D_200C_200E_200B_200B_200C_202A_206B_206C_206B_200E_202D_200B_206F_202B_200F_206C_206B_206C_200D_206A_202C_202C_202D_202C_202D_202E(current); - num = ((!b3.HasValue) ? 1830015763 : 1830015769); - break; - case 8: - b3 = _202C_202C_206F_200F_202D_200B_206B_202A_200F_200E_206D_206F_206F_206A_206F_202A_202A_206C_202B_202D_206E_200D_206D_202D_200C_206E_200C_200D_206F_206B_206A_202E_200B_206C_206A_202A_206D_202D_202C_200D_202E(current); - num = (b3.HasValue ? 1830015768 : 1830015767); - break; - case 7: - obj2 = null; - goto IL_01b6; - case 10: - obj = b3.GetValueOrDefault(); - goto IL_0306; - case 1: - b3 = _202C_202C_206F_200F_202D_200B_206B_202A_200F_200E_206D_206F_206F_206A_206F_202A_202A_206C_202B_202D_206E_200D_206D_202D_200C_206E_200C_200D_206F_206B_206A_202E_200B_206C_206A_202A_206D_202D_202C_200D_202E(current); - num = ((!b3.HasValue) ? 1830015764 : 1830015770); - break; - case 6: - return true; - case 3: - goto end_IL_012d; - IL_0306: - num = ((obj != b2) ? 1830015771 : 1830015764); - break; - IL_01b6: - num = ((obj2 != b) ? 1830015771 : 1830015763); - break; - } - continue; - end_IL_012d: - break; - } - } - int num7 = num5; - num3 = 1; - num4 = num7; - } - _200C_206F_200F_202A_200B_206E_200D_206C_202D_200D_206F_200B_206E_202A_202A_206B_200D_202B_202B_200E_202B_206A_200C_202A_206E_200E_206F_200D_206E_200C_200F_202D_200F_206C_202D_202E_200C_200E_202A_200D_202E(logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1053671033), Array.Empty()); - return false; + logger.LogDebug("No RequiredQW {Index} defined", num); + continue; } + byte b = (byte)(questWork.Variables[num] >> 4); + byte b2 = (byte)(questWork.Variables[num] & 0xF); + foreach (QuestWorkValue item in requiredQuestVariables[num]) + { + logger.LogDebug("H: {ExpectedHigh} - {ActualHigh}, L: {ExpectedLow} - {ActualLow}", item.High, b, item.Low, b2); + if ((!item.High.HasValue || item.High == b) && (!item.Low.HasValue || item.Low == b2)) + { + return true; + } } } - } - - static EQuestWorkMode _202D_206B_200E_206D_200D_206A_206C_200D_206C_202C_202A_202A_200B_200B_206D_202D_206A_202E_200D_206F_206D_202C_206B_200B_200B_202E_202D_200E_206D_202B_202D_202D_202B_206A_200E_200B_202E_200E_200C_206D_202E(QuestWorkValue P_0) - { - return P_0.Mode; - } - - static byte? _206B_202C_206F_200D_202B_202E_202C_206D_200F_206F_206A_206F_202C_206F_200D_200C_200E_200B_200B_200C_202A_206B_206C_206B_200E_202D_200B_206F_202B_200F_206C_206B_206C_200D_206A_202C_202C_202D_202C_202D_202E(QuestWorkValue P_0) - { - return P_0.High; - } - - static byte? _202C_202C_206F_200F_202D_200B_206B_202A_200F_200E_206D_206F_206F_206A_206F_202A_202A_206C_202B_202D_206E_200D_206D_202D_200C_206E_200C_200D_206F_206B_206A_202E_200B_206C_206A_202A_206D_202D_202C_200D_202E(QuestWorkValue P_0) - { - return P_0.Low; - } - - static InvalidOperationException _202D_200F_200C_200B_202B_202D_200E_200F_206D_206B_200E_206C_202A_200C_206E_200D_202B_202A_206C_202B_202B_202A_202B_202B_202A_202A_200E_202C_200D_206A_202C_202B_206F_200C_200F_206C_200D_206D_206D_202E(string P_0) - { - return new InvalidOperationException(P_0); - } - - static void _200C_206F_200F_202A_200B_206E_200D_206C_202D_200D_206F_200B_206E_202A_202A_206B_200D_202B_202B_200E_202B_206A_200C_202A_206E_200E_206F_200D_206E_200C_200F_202D_200F_206C_202D_202E_200C_200E_202A_200D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); + logger.LogDebug("Required quest variables not matched"); + return false; } } diff --git a/Questionable/Questionable.Controller/AttunementController.cs b/Questionable/Questionable.Controller/AttunementController.cs index e124f6f..3f926e9 100644 --- a/Questionable/Questionable.Controller/AttunementController.cs +++ b/Questionable/Questionable.Controller/AttunementController.cs @@ -1,7 +1,5 @@ using System; -using System.Collections; using System.Collections.Generic; -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using Microsoft.Extensions.Logging; using Questionable.Controller.Steps; @@ -30,154 +28,41 @@ internal sealed class AttunementController : MiniTaskController tasks) { _currentTargetName = targetName; - _202C_200F_206C_200F_206C_206F_206E_206E_206B_202D_202D_200C_202B_202D_202D_206A_200E_206D_206E_200F_206E_206D_200C_206C_206B_206B_206A_200E_200C_206F_206C_202B_200E_206B_202A_206D_202A_206A_202E_206F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(447934629), new object[1] { targetName }); - IEnumerator enumerator = tasks.GetEnumerator(); - try + _logger.LogInformation("Starting attunement: {Target}", targetName); + foreach (ITask task in tasks) { - int num = -1031196198; - while (true) - { - int num2 = num; - int num3 = -1031196198; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1031196198; - break; - case 0: - num = (_200E_200D_200B_200C_206C_206E_206C_206F_202E_200C_202D_202A_206E_200F_200D_200B_202D_200D_206C_202D_206E_202E_200F_206A_206E_206A_202B_206A_206B_200C_206F_206E_206C_200B_202A_206F_206C_202D_200E_206F_202E((IEnumerator)enumerator) ? (-1031196197) : (-1031196199)); - break; - case 1: - { - ITask current = enumerator.Current; - _taskQueue.Enqueue(current); - num = -1031196198; - break; - } - case 3: - return; - } - } - } - finally - { - int num = ((enumerator == null) ? (-1448008366) : (-1448008367)); - while (true) - { - int num5 = num; - int num3 = -1448008365; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 1: - goto end_IL_00cf; - case 2: - _202B_200D_206D_200C_200D_200D_206A_200E_202D_202C_206B_202E_206F_200F_206A_202C_202E_206A_202A_202C_206F_200B_206F_202B_200F_200E_202C_206A_200B_200B_206C_206F_200C_200D_206A_206A_200D_200E_206A_200D_202E((IDisposable)enumerator); - num = -1448008366; - break; - case 0: - num = -1448008367; - break; - } - continue; - end_IL_00cf: - break; - } + _taskQueue.Enqueue(task); } } - [MethodImpl(MethodImplOptions.NoInlining)] public void Update() { - int num = ((_currentTargetName != null) ? (-1300283249) : (-1300283261)); - while (true) + if (_currentTargetName != null && !_movementController.IsPathfinding && !_movementController.IsPathRunning && !_gameFunctions.IsOccupied()) { - int num2 = num; - int num3 = -1300283257; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + if (_taskQueue.AllTasksComplete) + { + _logger.LogInformation("Attunement complete: {Target}", _currentTargetName); + Stop("Attunement complete"); + } + else { - case 2: - num = ((!_movementController.IsPathRunning) ? (-1300283264) : (-1300283260)); - break; - case 1: - _202C_200F_206C_200F_206C_206F_206E_206E_206B_202D_202D_200C_202B_202D_202D_206A_200E_206D_206E_200F_206E_206D_200C_206C_206B_206B_206A_200E_200C_206F_206C_202B_200E_206B_202A_206D_202A_206A_202E_206F_202E((ILogger)_logger, 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(1369637439), new object[1] { _currentTargetName }); - Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(88017175)); - return; - case 5: - return; - case 3: - return; - case 8: - num = (_movementController.IsPathfinding ? (-1300283260) : (-1300283259)); - break; - case 4: - return; - case 9: - num = -1300283261; - break; - case 0: - num = ((!_taskQueue.AllTasksComplete) ? (-1300283263) : (-1300283258)); - break; - case 6: UpdateCurrentTask(); - return; - case 7: - num = ((!_gameFunctions.IsOccupied()) ? (-1300283257) : (-1300283262)); - break; } } } - [MethodImpl(MethodImplOptions.NoInlining)] public override void Stop(string label) { base.Stop(label); - int num = ((_currentTargetName == null) ? (-931001069) : (-931001072)); - while (true) + if (_currentTargetName != null) { - int num2 = num; - int num3 = -931001071; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return; - case 1: - CompletedSuccessfully = _taskQueue.AllTasksComplete; - _202C_200F_206C_200F_206C_206F_206E_206E_206B_202D_202D_200C_202B_202D_202D_206A_200E_206D_206E_200F_206E_206D_200C_206C_206B_206B_206A_200E_200C_206F_206C_202B_200E_206B_202A_206D_202A_206A_202E_206F_202E((ILogger)_logger, 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(745396372), new object[1] { label }); - _currentTargetName = null; - _taskQueue.Reset(); - num = -931001069; - break; - case 0: - num = -931001072; - break; - } + CompletedSuccessfully = _taskQueue.AllTasksComplete; + _logger.LogInformation("Stopping attunement: {Label}", label); + _currentTargetName = null; + _taskQueue.Reset(); } } - - static void _202C_200F_206C_200F_206C_206F_206E_206E_206B_202D_202D_200C_202B_202D_202D_206A_200E_206D_206E_200F_206E_206D_200C_206C_206B_206B_206A_200E_200C_206F_206C_202B_200E_206B_202A_206D_202A_206A_202E_206F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static bool _200E_200D_200B_200C_206C_206E_206C_206F_202E_200C_202D_202A_206E_200F_200D_200B_202D_200D_206C_202D_206E_202E_200F_206A_206E_206A_202B_206A_206B_200C_206F_206E_206C_200B_202A_206F_206C_202D_200E_206F_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202B_200D_206D_200C_200D_200D_206A_200E_202D_202C_206B_202E_206F_200F_206A_202C_202E_206A_202A_202C_206F_200B_206F_202B_200F_200E_202C_206A_200B_200B_206C_206F_200C_200D_206A_206A_200D_200E_206A_200D_202E(IDisposable P_0) - { - P_0.Dispose(); - } } diff --git a/Questionable/Questionable.Controller/CombatController.cs b/Questionable/Questionable.Controller/CombatController.cs index bac30cb..cb6b6f0 100644 --- a/Questionable/Questionable.Controller/CombatController.cs +++ b/Questionable/Questionable.Controller/CombatController.cs @@ -1,10 +1,7 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Reflection; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Objects.Enums; @@ -17,10 +14,10 @@ using FFXIVClientStructs.FFXIV.Client.Game.Object; using FFXIVClientStructs.FFXIV.Client.Game.UI; using FFXIVClientStructs.FFXIV.Client.System.Framework; using FFXIVClientStructs.FFXIV.Common.Component.BGCollision; -using Lumina.Excel; using Lumina.Excel.Sheets; using Microsoft.Extensions.Logging; using Questionable.Controller.CombatModules; +using Questionable.Controller.Steps; using Questionable.Controller.Utils; using Questionable.External; using Questionable.Functions; @@ -123,7 +120,6 @@ internal sealed class CombatController : IDisposable public bool IsRunning => _currentFight != null; - [MethodImpl(MethodImplOptions.NoInlining)] public CombatController(IEnumerable combatModules, MovementController movementController, GameFunctions gameFunctions, BossModIpc bossModIpc, ITargetManager targetManager, IObjectTable objectTable, ICondition condition, IClientState clientState, QuestFunctions questFunctions, IToastGui toastGui, IDataManager dataManager, ILogger logger) { _combatModules = combatModules.ToList(); @@ -137,1805 +133,600 @@ internal sealed class CombatController : IDisposable _questFunctions = questFunctions; _toastGui = toastGui; _logger = logger; - _200C_206B_206A_200E_200C_200C_202D_200C_202D_200F_200B_202E_202C_200B_200B_202D_200B_202C_200D_206A_202C_206C_206B_202D_206D_202B_200F_206C_202A_200D_202E_202D_206B_200F_206E_206B_202C_202C_206E_206B_202E(_clientState, (Action)TerritoryChanged); - _200B_206F_202C_206C_200D_200D_202A_206B_202D_200D_206C_206D_202C_206B_202C_206E_200F_202C_202B_200C_200B_206D_200F_200B_206B_200F_202A_202A_200C_206F_206D_206D_202B_206F_202C_206D_206B_200E_206C_202E_202E(toastGui, (IToastGui.OnErrorToastDelegate)OnErrorToast); + _clientState.TerritoryChanged += TerritoryChanged; + toastGui.ErrorToast += OnErrorToast; try { _cannotSeeTargetText = dataManager.GetExcelSheet()?.GetRowOrDefault(562u)?.Text.ExtractText(); } - catch (Exception ex) + catch (Exception exception) { - _206B_202A_206B_200B_206A_202A_206C_200C_200F_206C_206B_202C_206E_202B_200E_200B_206C_200D_200E_202C_206C_206A_202D_206F_202E_202D_202E_206B_202E_202A_206E_202B_200B_202B_202D_200C_202D_202D_200D_202B_202E((ILogger)_logger, ex, 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(1180856396), Array.Empty()); + _logger.LogDebug(exception, "Failed to load LoS failure text from game data"); _cannotSeeTargetText = null; } } - [MethodImpl(MethodImplOptions.NoInlining)] public bool Start(CombatData combatData) { - Stop(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(-348007694)); + Stop("Starting combat"); ICombatModule combatModule = _combatModules.FirstOrDefault((ICombatModule x) => x.CanHandleFight(combatData)); - int num = ((combatModule != null) ? 1913469931 : 1913469923); - ItemUseModule itemUseModule = default(ItemUseModule); - bool wasInCombat = default(bool); - while (true) + if (combatModule == null) { - int num2 = num; - int num3 = 1913469931; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return false; - case 4: - _bossModIpc.EnableAi(BossModIpc.EPreset.Passive); - _passiveBossModEnabled = true; - num = 1913469921; - break; - case 6: - num = 1913469923; - break; - case 0: - num = (combatModule.Start(combatData) ? 1913469928 : 1913469929); - break; - case 14: - if (!(itemUseModule.Delegate is BossModModule)) - { - goto case 15; - } - goto case 13; - case 3: - { - _currentFight = new CurrentFight - { - Module = combatModule, - Data = combatData, - LastDistanceCheck = _200D_206B_206D_206C_200C_206F_200E_200C_202D_202A_200D_202D_202D_200B_206F_200C_202D_206B_202C_206B_200B_200B_200C_206A_202A_200D_206F_202E_200B_200F_200F_200C_200E_200F_200C_200F_200D_202D_202B_206F_202E() - }; - EEnemySpawnType spawnType = combatData.SpawnType; - num = (((uint)(spawnType - 8) > 1u) ? 1913469932 : 1913469930); - break; - } - case 12: - _wasInCombat = wasInCombat; - UpdateLastTargetAndQuestVariables(null); - _206C_206D_206E_202D_202D_202C_200B_206B_200E_206C_202A_206B_202A_200B_206D_200F_206E_202C_200F_206C_202B_206B_206F_206F_200B_206B_206D_206A_206A_200F_206F_206F_206C_206A_206E_202B_206E_200B_202C_206C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1561736538), new object[4] - { - _206D_206D_206A_206E_202A_206B_206E_202E_200E_206B_200C_206C_202A_200B_202B_202C_200E_202A_200D_206B_200B_202A_202A_206A_200B_200E_200D_206B_200F_202E_202C_200B_206E_206B_200E_202B_200E_200F_206A_206F_202E((MemberInfo)_202D_206B_206A_202A_200D_206C_206A_206D_200F_200B_202D_206A_200F_200B_200D_200D_206F_202E_200B_206A_206D_202D_200D_206A_200D_206E_200F_206D_202A_200F_202E_206C_202B_202E_206B_202C_206E_206F_206D_206E_202E((object)combatModule)), - combatData.SpawnType, - _bossModIpc.Variant, - _bossModIpc.IsSupported() - }); - num = ((combatModule is BossModModule) ? 1913469926 : 1913469920); - break; - case 7: - wasInCombat = false; - num = 1913469927; - break; - case 1: - wasInCombat = true; - num = 1913469927; - break; - case 11: - itemUseModule = combatModule as ItemUseModule; - num = ((itemUseModule == null) ? 1913469924 : 1913469925); - break; - case 15: - num = 1913469922; - break; - case 13: - num = 1913469921; - break; - case 10: - return true; - case 9: - num = ((!_bossModIpc.IsSupported()) ? 1913469921 : 1913469934); - break; - case 8: - return false; - case 5: - num = ((combatData.SpawnType == EEnemySpawnType.QuestInterruption) ? 1913469921 : 1913469935); - break; - } + return false; } + if (!combatModule.Start(combatData)) + { + return false; + } + _currentFight = new CurrentFight + { + Module = combatModule, + Data = combatData, + LastDistanceCheck = Environment.TickCount64 + }; + EEnemySpawnType spawnType = combatData.SpawnType; + bool wasInCombat = (uint)(spawnType - 8) <= 1u; + _wasInCombat = wasInCombat; + UpdateLastTargetAndQuestVariables(null); + _logger.LogDebug("Combat started: Module={Module}, SpawnType={SpawnType}, BossModVariant={Variant}, BossModSupported={Supported}", combatModule.GetType().Name, combatData.SpawnType, _bossModIpc.Variant, _bossModIpc.IsSupported()); + if (!(combatModule is BossModModule) && (!(combatModule is ItemUseModule itemUseModule) || !(itemUseModule.Delegate is BossModModule)) && _bossModIpc.IsSupported() && combatData.SpawnType != EEnemySpawnType.QuestInterruption) + { + _bossModIpc.EnableAi(BossModIpc.EPreset.Passive); + _passiveBossModEnabled = true; + } + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public EStatus Update() { - //Discarded unreachable code: IL_04dc - int num = ((_currentFight != null) ? (-1239032390) : (-1239032400)); - QuestProgressInfo questProgressInfo = default(QuestProgressInfo); - IGameObject gameObject3 = default(IGameObject); - ElementId elementId = default(ElementId); - IGameObject gameObject2 = default(IGameObject); - IGameObject gameObject = default(IGameObject); - int item = default(int); - int num6 = default(int); - while (true) + if (_currentFight == null) { - int num2 = num; - int num3 = -1239032412; - int num4 = num2; - int num5; - object obj; - switch ((num4 | num3) - (num4 & num3)) + return EStatus.Complete; + } + if (_movementController.IsPathfinding || _movementController.IsPathRunning || !_movementController.HasBeenMovingForAtLeast(1000)) + { + return EStatus.Moving; + } + if (_currentFight.Data.SpawnType == EEnemySpawnType.OverworldEnemies) + { + if (_targetManager.Target != null) { - case 4: - num = (_movementController.HasBeenMovingForAtLeast(1000) ? (-1239032415) : (-1239032399)); - break; - case 14: - num = ((questProgressInfo.Sequence != _currentFight.Data.Sequence) ? (-1239032393) : (-1239032394)); - break; - case 0: - TrackKillIfNeeded(gameObject3); - elementId = _currentFight.Data.ElementId; - num = (_202E_206B_200F_202A_200E_206E_206F_206E_206F_200D_202E_206E_206B_200B_202E_206B_200C_206C_200E_206D_200D_200D_202D_206F_206D_206F_202C_200E_206B_202D_202B_200C_202E_200D_206C_202A_200B_200C_202B_206D_202E(elementId, (ElementId)null) ? (-1239032398) : (-1239032387)); - break; - case 16: - gameObject3 = _objectTable.FirstOrDefault((IGameObject x) => _202C_200F_202A_206D_202B_202C_206D_202C_206A_200E_206A_206F_202B_206F_206A_206C_206C_200D_202E_206C_200B_200E_202A_202C_206D_202D_202A_202D_202E_202B_200B_206C_206C_202A_202B_206F_200D_206C_206A_206D_202E(x) == _lastTargetId); - num = ((gameObject3 == null) ? (-1239032388) : (-1239032386)); - break; - case 17: - _lastTargetId = _202C_200F_202A_206D_202B_202C_206D_202C_206A_200E_206A_206F_202B_206F_206A_206C_206C_200D_202E_206C_200B_200E_202A_202C_206D_202D_202A_202D_202E_202B_200B_206C_206C_202A_202B_206F_200D_206C_206A_206D_202E(_202B_202A_206E_200C_206F_202D_206D_206C_202D_200B_200E_206D_206C_206E_202D_206D_206D_202C_206D_202B_206C_200B_206E_202D_202C_206B_202A_202D_206E_200B_202B_206A_200D_206C_200F_200F_206D_206B_200E_200E_202E(_targetManager)); - num = -1239032403; - break; - case 10: - num5 = GetKillPriority(gameObject2).Priority; - goto IL_01c9; - case 22: - obj = _questFunctions.GetQuestProgressInfo(elementId); - goto IL_01ea; - case 19: - num = ((questProgressInfo == null) ? (-1239032389) : (-1239032404)); - break; - case 1: - num = ((_previousQuestVariables == null) ? (-1239032389) : (-1239032408)); - break; - case 18: - num = ((!QuestWorkUtils.HasCompletionFlags(_currentFight.Data.CompletionQuestVariablesFlags)) ? (-1239032393) : (-1239032407)); - break; - case 8: - num = ((questProgressInfo.Sequence != _currentFight.Data.Sequence) ? (-1239032389) : (-1239032411)); - break; - case 2: - num = ((_202B_202A_206E_200C_206F_202D_206D_206C_202D_200B_200E_206D_206C_206E_202D_206D_206D_202C_206D_202B_206C_200B_206E_202D_202C_206B_202A_202D_206E_200B_202B_206A_200D_206C_200F_200F_206D_206B_200E_200E_202E(_targetManager) == null) ? (-1239032397) : (-1239032395)); - break; - case 6: - if (!IsMovingOrShouldMove(gameObject)) - { - goto case 24; - } - goto IL_05c8; - case 24: - _lastTargetId = null; - num = -1239032403; - break; - case 26: - num = ((!_206C_202D_206B_206B_200B_200C_206C_202E_200D_206B_200E_206F_206B_206A_202C_206D_206E_206F_202B_202E_202D_200E_200E_202B_202E_206A_200F_200E_206C_202E_206E_206A_202B_202B_202A_206D_206B_206E_202A_200C_202E(gameObject3)) ? (-1239032403) : (-1239032412)); - break; - case 12: - num = (questProgressInfo.Variables.SequenceEqual(_previousQuestVariables) ? (-1239032389) : (-1239032392)); - break; - case 28: - UpdateLastTargetAndQuestVariables(null); - num = -1239032403; - break; - case 9: + _lastTargetId = _targetManager.Target.GameObjectId; + } + else if (_lastTargetId.HasValue) { - gameObject = _202B_202A_206E_200C_206F_202D_206D_206C_202D_200B_200E_206D_206C_206E_202D_206D_206D_202C_206D_202B_206C_200B_206E_202D_202C_206B_202A_202D_206E_200B_202B_206A_200D_206C_200F_200F_206D_206B_200E_200E_202E(_targetManager); + IGameObject gameObject = _objectTable.FirstOrDefault((IGameObject x) => x.GameObjectId == _lastTargetId); if (gameObject != null) { - num = -1239032385; - break; - } - IGameObject gameObject4 = FindNextTarget(); - if (gameObject4 != null && !_206C_202D_206B_206B_200B_200C_206C_202E_200D_206B_200E_206F_206B_206A_202C_206D_206E_206F_202B_202E_202D_200E_200E_202B_202E_206A_200F_200E_206C_202E_206E_206A_202B_202B_202A_206D_206B_206E_202A_200C_202E(gameObject4)) - { - SetTarget(gameObject4); - num = 1009368120; - goto IL_0524; - } - goto IL_05c8; - } - case 11: - num = (_movementController.IsPathRunning ? (-1239032399) : (-1239032416)); - break; - case 5: - num = ((_currentFight.Data.SpawnType != EEnemySpawnType.OverworldEnemies) ? (-1239032403) : (-1239032410)); - break; - case 3: - return EStatus.InCombat; - case 30: - num = (_movementController.IsPathfinding ? (-1239032399) : (-1239032401)); - break; - case 31: - return EStatus.InCombat; - case 29: - num5 = 0; - goto IL_01c9; - case 15: - if (gameObject2.Equals(gameObject)) - { - num = -1239032414; - break; - } - goto IL_0505; - case 25: - obj = null; - goto IL_01ea; - case 27: - item = GetKillPriority(gameObject).Priority; - gameObject2 = FindNextTarget(); - num = ((gameObject2 != null) ? (-1239032402) : (-1239032391)); - break; - case 21: - return EStatus.Moving; - case 7: - num = -1239032400; - break; - case 20: - return EStatus.Complete; - case 13: - num = ((!QuestWorkUtils.MatchesQuestWork(_currentFight.Data.CompletionQuestVariablesFlags, questProgressInfo)) ? (-1239032393) : (-1239032409)); - break; - case 23: - { - num = ((!_lastTargetId.HasValue) ? (-1239032403) : (-1239032396)); - break; - } - IL_01ea: - questProgressInfo = (QuestProgressInfo)obj; - num = ((questProgressInfo == null) ? (-1239032393) : (-1239032406)); - break; - IL_01c9: - num6 = num5; - if (gameObject2 != null) - { - num = -1239032405; - break; - } - goto IL_0505; - IL_0505: - num = ((gameObject2 == null) ? 1009368117 : 1009368126); - goto IL_0524; - IL_0524: - while (true) - { - int num7 = num; - num3 = 1009368124; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) + if (gameObject.IsDead) { - default: - continue; - case 0: - return EStatus.InCombat; - case 6: - _wasInCombat = true; - return EStatus.InCombat; - case 9: - SetTarget(null); - break; - case 5: - return EStatus.Complete; - case 7: - SetTarget(gameObject2); - num = 1009368120; - continue; - case 4: - break; - case 3: - num = ((!_wasInCombat) ? 1009368124 : 1009368121); - continue; - case 2: - num = ((num6 > item) ? 1009368123 : 1009368125); - continue; - case 8: - num = 1009368126; - continue; - case 1: - num = ((item != 0) ? 1009368120 : 1009368123); - continue; + TrackKillIfNeeded(gameObject); + ElementId elementId = _currentFight.Data.ElementId; + QuestProgressInfo questProgressInfo = ((elementId != null) ? _questFunctions.GetQuestProgressInfo(elementId) : null); + if (questProgressInfo != null && questProgressInfo.Sequence == _currentFight.Data.Sequence && QuestWorkUtils.HasCompletionFlags(_currentFight.Data.CompletionQuestVariablesFlags) && QuestWorkUtils.MatchesQuestWork(_currentFight.Data.CompletionQuestVariablesFlags, questProgressInfo)) + { + return EStatus.InCombat; + } + if (questProgressInfo == null || questProgressInfo.Sequence != _currentFight.Data.Sequence || _previousQuestVariables == null || questProgressInfo.Variables.SequenceEqual(_previousQuestVariables)) + { + return EStatus.InCombat; + } + UpdateLastTargetAndQuestVariables(null); } - break; } - goto IL_05c8; - IL_05c8: - num = ((!_202C_200D_202C_202A_202C_206C_202D_200C_200D_200F_202C_206C_206C_206E_206E_206B_202A_200E_202E_206A_202A_200C_206F_206A_206B_200D_206B_206F_206D_206A_200C_206C_202A_202A_202A_206D_202D_200D_202E_206A_202E(_condition, ConditionFlag.InCombat)) ? 1009368127 : 1009368122); - goto IL_0524; + else + { + _lastTargetId = null; + } } } + IGameObject target = _targetManager.Target; + if (target != null) + { + int item = GetKillPriority(target).Priority; + IGameObject gameObject2 = FindNextTarget(); + int num = ((gameObject2 != null) ? GetKillPriority(gameObject2).Priority : 0); + if (gameObject2 != null && gameObject2.Equals(target)) + { + if (!IsMovingOrShouldMove(target)) + { + try + { + _currentFight.Module.Update(target); + } + catch (TaskException) + { + Stop("Combat module failure"); + throw; + } + } + } + else if (gameObject2 != null) + { + if (num > item || item == 0) + { + SetTarget(gameObject2); + } + } + else + { + SetTarget(null); + } + } + else + { + IGameObject gameObject3 = FindNextTarget(); + if (gameObject3 != null && !gameObject3.IsDead) + { + SetTarget(gameObject3); + } + } + if (_condition[ConditionFlag.InCombat]) + { + _wasInCombat = true; + return EStatus.InCombat; + } + if (_wasInCombat) + { + return EStatus.Complete; + } + return EStatus.InCombat; } - [MethodImpl(MethodImplOptions.NoInlining)] private void TrackKillIfNeeded(IGameObject deadEnemy) { - int num = ((_currentFight == null) ? (-205896997) : (-205897020)); - ComplexCombatData complexCombatData = default(ComplexCombatData); - List complexCombatDatas = default(List); - int num7 = default(int); - IBattleNpc battleNpc = default(IBattleNpc); - while (true) + if (_currentFight == null || !(deadEnemy is IBattleNpc battleNpc) || !_currentFight.CountedEnemies.Add(deadEnemy.GameObjectId)) { - int num2 = num; - int num3 = -205897004; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + List complexCombatDatas = _currentFight.Data.ComplexCombatDatas; + for (int i = 0; i < complexCombatDatas.Count; i++) + { + ComplexCombatData complexCombatData = complexCombatDatas[i]; + if (complexCombatData.DataId == battleNpc.BaseId && (!complexCombatData.NameId.HasValue || complexCombatData.NameId == battleNpc.NameId) && complexCombatData.MinimumKillCount.HasValue) { - case 12: - num = ((!_206C_200B_206D_202C_200C_202D_200E_200C_200C_202D_200E_206D_200B_200C_206C_202E_206A_206C_200C_206E_206E_206A_200C_200C_206B_206A_206B_202A_206D_202A_206E_206E_206C_200E_200B_202B_202C_200E_206E_202E(complexCombatData).HasValue) ? (-205896995) : (-205896998)); - break; - case 4: - complexCombatDatas = _currentFight.Data.ComplexCombatDatas; - num7 = 0; - num = -205897003; - break; - case 15: - return; - case 0: - num = -205897020; - break; - case 6: - complexCombatData = complexCombatDatas[num7]; - num = ((_206C_206F_202B_202E_206D_200E_202A_200F_200E_200B_206D_206A_200F_200B_200D_206B_200C_200C_202E_200B_200B_200E_202B_202D_202A_206C_206E_200B_206B_206F_202A_202E_202B_200C_202C_206F_202A_202B_200F_202D_202E(complexCombatData) != _206F_202D_200F_200E_206F_206C_200C_200E_206E_206D_200F_202D_200E_202D_206B_200D_202B_202D_200E_202C_206B_202B_202C_202A_202C_202D_202A_206B_206B_200D_202B_202E_200C_200F_202C_206C_202D_206B_202D_206F_202E((IGameObject)battleNpc)) ? (-205896996) : (-205897000)); - break; - case 1: - num = ((num7 < complexCombatDatas.Count) ? (-205897006) : (-205896999)); - break; - case 13: - num = ((complexCombatDatas.Count != 0) ? (-205897001) : (-205896993)); - break; - case 9: - num = ((!_206B_206C_200C_200F_200F_206A_200F_202A_206D_206C_202E_202B_202C_202D_202A_206B_206C_200E_206A_202D_202C_206D_202E_206A_200D_200C_200E_206B_206A_206E_200C_200C_206B_202E_202C_206C_202A_200B_206B_206C_202E(complexCombatData).HasValue) ? (-205896996) : (-205897002)); - break; - case 3: - return; - case 14: - num = ((_206C_200B_206D_202C_200C_202D_200E_200C_200C_202D_200E_206D_200B_200C_206C_202E_206A_206C_200C_206E_206E_206A_200C_200C_206B_206A_206B_202A_206D_202A_206E_206E_206C_200E_200B_202B_202C_200E_206E_202E(complexCombatData) != _206A_206F_206D_206B_200B_200C_206B_202A_200C_202C_206B_206C_202D_200F_206D_206A_200F_202A_200D_206B_200D_202B_200F_206F_202C_202D_200D_200D_200C_206D_200C_200B_206D_202A_206E_206F_200F_206E_202E((ICharacter)battleNpc)) ? (-205896996) : (-205896995)); - break; - case 2: - { - int totalKillCount = (_currentFight.KillCountsByComplexDataIndex[num7] = _currentFight.KillCountsByComplexDataIndex.GetValueOrDefault(num7) + 1); - int num13 = totalKillCount; - _206C_206D_206E_202D_202D_202C_200B_206B_200E_206C_202A_206B_202A_200B_206D_200F_206E_202C_200F_206C_202B_206B_206F_206F_200B_206B_206D_206A_206A_200F_206F_206F_206C_206A_206E_202B_206E_200B_202C_206C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1964999202), new object[4] - { - num7, - _206C_206F_202B_202E_206D_200E_202A_200F_200E_200B_206D_206A_200F_200B_200D_206B_200C_200C_202E_200B_200B_200E_202B_202D_202A_206C_206E_200B_206B_206F_202A_202E_202B_200C_202C_206F_202A_202B_200F_202D_202E(complexCombatData), - num13, - _206B_206C_200C_200F_200F_206A_200F_202A_206D_206C_202E_202B_202C_202D_202A_206B_206C_200E_206A_202D_202C_206D_202E_206A_200D_200C_200E_206B_206A_206E_200C_200C_206B_202E_202C_206C_202A_200B_206B_206C_202E(complexCombatData).Value - }); - return; - } - case 16: - battleNpc = deadEnemy as IBattleNpc; - num = ((battleNpc != null) ? (-205897005) : (-205896997)); - break; - case 8: - { - int num11 = num7; - num3 = 1; - num4 = num11; - num7 = (num4 | num3) + (num4 & num3); - num = -205897003; - break; - } - case 5: - { - CurrentFight? currentFight = _currentFight; - int totalKillCount = currentFight.TotalKillCount; - int num8 = totalKillCount; - num3 = 1; - num4 = num8; - int num9 = num4 ^ num3; - int num10 = num4 & num3; - currentFight.TotalKillCount = num9 + (num10 + num10); - _206C_206D_206E_202D_202D_202C_200B_206B_200E_206C_202A_206B_202A_200B_206D_200F_206E_202C_200F_206C_202B_206B_206F_206F_200B_206B_206D_206A_206A_200F_206F_206F_206C_206A_206E_202B_206E_200B_202C_206C_202E((ILogger)_logger, 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(-1495434167), new object[2] - { - _206F_202D_200F_200E_206F_206C_200C_200E_206E_206D_200F_202D_200E_202D_206B_200D_202B_202D_200E_202C_206B_202B_202C_202A_202C_202D_202A_206B_206B_200D_202B_202E_200C_200F_202C_206C_202D_206B_202D_206F_202E((IGameObject)battleNpc), - _currentFight.TotalKillCount - }); - num = -205897001; - break; - } - case 11: - num = ((!_currentFight.Data.KillEnemyDataIds.Contains(_206F_202D_200F_200E_206F_206C_200C_200E_206E_206D_200F_202D_200E_202D_206B_200D_202B_202D_200E_202C_206B_202B_202C_202A_202C_202D_202A_206B_206B_200D_202B_202E_200C_200F_202C_206C_202D_206B_202D_206F_202E((IGameObject)battleNpc))) ? (-205897001) : (-205897007)); - break; - case 7: - num = (_currentFight.CountedEnemies.Add(_202C_200F_202A_206D_202B_202C_206D_202C_206A_200E_206A_206F_202B_206F_206A_206C_206C_200D_202E_206C_200B_200E_202A_202C_206D_202D_202A_202D_202E_202B_200B_206C_206C_202A_202B_206F_200D_206C_206A_206D_202E(deadEnemy)) ? (-205897008) : (-205896994)); - break; - case 10: + int num = (_currentFight.KillCountsByComplexDataIndex[i] = _currentFight.KillCountsByComplexDataIndex.GetValueOrDefault(i) + 1); + int num3 = num; + _logger.LogDebug("Tracked kill for ComplexCombatData[{Index}] ({DataId}): {Count}/{Required}", i, complexCombatData.DataId, num3, complexCombatData.MinimumKillCount.Value); return; } } + if (complexCombatDatas.Count == 0 && _currentFight.Data.KillEnemyDataIds.Contains(battleNpc.BaseId)) + { + _currentFight.TotalKillCount++; + _logger.LogDebug("Tracked kill for KillEnemyDataIds ({DataId}): Total count = {Count}", battleNpc.BaseId, _currentFight.TotalKillCount); + } } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe IGameObject? FindNextTarget() { - int num = ((_currentFight != null) ? (-1488947359) : (-1488947333)); - Vector3 vector; - int num5 = default(int); - ComplexCombatData complexCombatData = default(ComplexCombatData); - bool flag = default(bool); - bool flag2 = default(bool); - QuestProgressInfo questProgressInfo = default(QuestProgressInfo); - int valueOrDefault = default(int); - List complexCombatDatas = default(List); - bool hasValue = default(bool); - int inventoryItemCount = default(int); - bool flag4 = default(bool); - QuestId questId = default(QuestId); - IPlayerCharacter playerCharacter = default(IPlayerCharacter); - bool flag3 = default(bool); - while (true) + if (_currentFight == null) { - int num2 = num; - int num3 = -1488947345; - int num4 = num2; - int num10; - bool num11; - switch ((num4 | num3) - (num4 & num3)) + return null; + } + List complexCombatDatas = _currentFight.Data.ComplexCombatDatas; + if (complexCombatDatas.Count > 0) + { + for (int i = 0; i < complexCombatDatas.Count; i++) { - default: - continue; - case 4: - vector = Vector3.Zero; - break; - case 19: - { - int num6 = num5; - num3 = 1; - num4 = num6; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - num5 = num7 + (num8 + num8); - num = -1488947336; - continue; - } - case 25: - num = (_currentFight.Data.CompletedComplexDatas.Contains(num5) ? (-1488947332) : (-1488947337)); - continue; - case 10: - _206C_206D_206E_202D_202D_202C_200B_206B_200E_206C_202A_206B_202A_200B_206D_200F_206E_202C_200F_206C_202B_206B_206F_206F_200B_206B_206D_206A_206A_200F_206F_206F_206C_206A_206E_202B_206E_200B_202C_206C_202E((ILogger)_logger, 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(-1671303027), new object[4] + if (_currentFight.Data.CompletedComplexDatas.Contains(i)) { - num5, - _206C_206F_202B_202E_206D_200E_202A_200F_200E_200B_206D_206A_200F_200B_200D_206B_200C_200C_202E_200B_200B_200E_202B_202D_202A_206C_206E_200B_206B_206F_202A_202E_202B_200C_202C_206F_202A_202B_200F_202D_202E(complexCombatData), - flag, - flag2 - }); - _currentFight.Data.CompletedComplexDatas.Add(num5); - num = -1488947332; - continue; - case 1: - if (QuestWorkUtils.MatchesQuestWork(_206F_202C_206B_200C_202D_202A_200B_206B_200B_206C_200E_202D_200D_200D_200D_206F_206B_206B_200D_200C_206E_200D_206A_202D_202D_202A_200C_200C_200C_206A_200F_200E_202B_206F_200C_202D_200D_202E_202B_200C_202E(complexCombatData), questProgressInfo)) - { - num = -1488947339; continue; } - goto case 21; - case 3: - num = -1488947333; - continue; - case 18: - valueOrDefault = _currentFight.KillCountsByComplexDataIndex.GetValueOrDefault(num5, 0); - flag = valueOrDefault >= _206B_206C_200C_200F_200F_206A_200F_202A_206D_206C_202E_202B_202C_202D_202A_206B_206C_200E_206A_202D_202C_206D_202E_206A_200D_200C_200E_206B_206A_206E_200C_200C_206B_202E_202C_206C_202A_200B_206B_206C_202E(complexCombatData).Value; - num = ((!flag) ? (-1488947354) : (-1488947330)); - continue; - case 24: - complexCombatData = complexCombatDatas[num5]; - hasValue = _206B_206C_200C_200F_200F_206A_200F_202A_206D_206C_202E_202B_202C_202D_202A_206B_206C_200E_206A_202D_202C_206D_202E_206A_200D_200C_200E_206B_206A_206E_200C_200C_206B_202E_202C_206C_202A_200B_206B_206C_202E(complexCombatData).HasValue; - num = ((!_200F_202D_206D_200B_202D_202C_206E_202B_200B_202B_200D_206E_200D_202E_200C_200C_202E_206E_202E_206A_202D_200D_206A_206D_202A_206F_200F_206A_200D_202E_206E_200B_202B_200F_206D_200E_202C_202C_200E_202D_202E(complexCombatData).HasValue) ? (-1488947350) : (-1488947351)); - continue; - case 26: - _206C_206D_206E_202D_202D_202C_200B_206B_200E_206C_202A_206B_202A_200B_206D_200F_206E_202C_200F_206C_202B_206B_206F_206F_200B_206B_206D_206A_206A_200F_206F_206F_206C_206A_206E_202B_206E_200B_202C_206C_202E((ILogger)_logger, 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(335245466), new object[2] + ComplexCombatData complexCombatData = complexCombatDatas[i]; + bool hasValue = complexCombatData.MinimumKillCount.HasValue; + bool flag = complexCombatData.RewardItemId.HasValue && complexCombatData.RewardItemCount.HasValue; + bool flag2 = QuestWorkUtils.HasCompletionFlags(complexCombatData.CompletionQuestVariablesFlags); + if (hasValue || flag) { - num5, - _206C_206F_202B_202E_206D_200E_202A_200F_200E_200B_206D_206A_200F_200B_200D_206B_200C_200C_202E_200B_200B_200E_202B_202D_202A_206C_206E_200B_206B_206F_202A_202E_202B_200C_202C_206F_202A_202B_200F_202D_202E(complexCombatData) - }); - _currentFight.Data.CompletedComplexDatas.Add(num5); - num = -1488947332; - continue; - case 7: - _206C_206D_206E_202D_202D_202C_200B_206B_200E_206C_202A_206B_202A_200B_206D_200F_206E_202C_200F_206C_202B_206B_206F_206F_200B_206B_206D_206A_206A_200F_206F_206F_206C_206A_206E_202B_206E_200B_202C_206C_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(541601402), new object[4] - { - num5, - _200F_202D_206D_200B_202D_202C_206E_202B_200B_202B_200D_206E_200D_202E_200C_200C_202E_206E_202E_206A_202D_200D_206A_206D_202A_206F_200F_206A_200D_202E_206E_200B_202B_200F_206D_200E_202C_202C_200E_202D_202E(complexCombatData).Value, - inventoryItemCount, - _200F_206A_202E_202E_202D_202B_200D_206B_202D_202C_200E_202C_206C_200B_206A_200B_200B_202C_202D_206F_206A_202E_200E_202A_206C_206E_206E_200D_200C_200F_200B_206A_202C_202D_206D_200B_206E_202D_206E_202C_202E(complexCombatData).Value - }); - num = -1488947329; - continue; - case 12: - num = ((!flag4) ? (-1488947332) : (-1488947360)); - continue; - case 11: - questProgressInfo = _questFunctions.GetQuestProgressInfo(questId); - num = ((questProgressInfo == null) ? (-1488947334) : (-1488947346)); - continue; - case 15: - questId = _currentFight.Data.ElementId as QuestId; - num = (((object)questId == null) ? (-1488947332) : (-1488947356)); - continue; - case 5: - num10 = 0; - goto IL_0391; - case 2: - playerCharacter = _200D_206C_200C_200C_206E_200C_206B_202D_200F_202A_200B_206B_206A_202B_206D_200D_202C_200B_200D_206B_200D_202D_200B_202B_200E_206D_200C_202C_202B_200D_202E_202C_206A_202C_200C_206A_206B_206F_202C_200D_202E(_objectTable); - num = ((playerCharacter != null) ? (-1488947353) : (-1488947349)); - continue; - case 21: - num = -1488947332; - continue; - case 17: - _206C_206D_206E_202D_202D_202C_200B_206B_200E_206C_202A_206B_202A_200B_206D_200F_206E_202C_200F_206C_202B_206B_206F_206F_200B_206B_206D_206A_206A_200F_206F_206F_206C_206A_206E_202B_206E_200B_202C_206C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1334831780), new object[3] - { - num5, - valueOrDefault, - _206B_206C_200C_200F_200F_206A_200F_202A_206D_206C_202E_202B_202C_202D_202A_206B_206C_200E_206A_202D_202C_206D_202E_206A_200D_200C_200E_206B_206A_206E_200C_200C_206B_202E_202C_206C_202A_200B_206B_206C_202E(complexCombatData).Value - }); - num = -1488947354; - continue; - case 20: - return null; - case 6: - num10 = (_200F_206A_202E_202E_202D_202B_200D_206B_202D_202C_200E_202C_206C_200B_206A_200B_200B_202C_202D_206F_206A_202E_200E_202A_206C_206E_206E_200D_200C_200F_200B_206A_202C_202D_206D_200B_206E_202D_206E_202C_202E(complexCombatData).HasValue ? 1 : 0); - goto IL_0391; - case 13: - inventoryItemCount = InventoryManager.Instance()->GetInventoryItemCount(_200F_202D_206D_200B_202D_202C_206E_202B_200B_202B_200D_206E_200D_202E_200C_200C_202E_206E_202E_206A_202D_200D_206A_206D_202A_206F_200F_206A_200D_202E_206E_200B_202B_200F_206D_200E_202C_202C_200E_202D_202E(complexCombatData).Value, isHq: false, checkEquipped: true, checkArmory: true, 0); - flag2 = inventoryItemCount >= _200F_206A_202E_202E_202D_202B_200D_206B_202D_202C_200E_202C_206C_200B_206A_200B_200B_202C_202D_206F_206A_202E_200E_202A_206C_206E_206E_200D_200C_200F_200B_206A_202C_202D_206D_200B_206E_202D_206E_202C_202E(complexCombatData).Value; - num = ((!flag2) ? (-1488947329) : (-1488947352)); - continue; - case 16: - { - bool num9 = flag; - num3 = (flag2 ? 1 : 0); - num4 = (num9 ? 1 : 0); - num = (((num4 | num3) - (num4 ^ num3) == 0) ? (-1488947332) : (-1488947355)); - continue; - } - case 22: - flag = true; - flag2 = true; - num = ((!hasValue) ? (-1488947354) : (-1488947331)); - continue; - case 14: - complexCombatDatas = _currentFight.Data.ComplexCombatDatas; - num = ((complexCombatDatas.Count <= 0) ? (-1488947347) : (-1488947345)); - continue; - case 9: - num = ((!flag3) ? (-1488947329) : (-1488947358)); - continue; - case 0: - num5 = 0; - num = -1488947336; - continue; - case 23: - num = ((num5 < complexCombatDatas.Count) ? (-1488947338) : (-1488947347)); - continue; - case 8: - { - vector = _200C_202E_206B_200B_202D_206A_202B_200D_200D_200F_200D_202A_206C_202B_200E_200D_202E_206B_200C_200E_200B_200B_206C_200F_202E_200B_200B_202E_206D_200B_200D_200B_200D_200E_202B_206E_202A_206E_206F_200E_202E((IGameObject)playerCharacter); - break; + bool flag3 = true; + bool flag4 = true; + if (hasValue) + { + int valueOrDefault = _currentFight.KillCountsByComplexDataIndex.GetValueOrDefault(i, 0); + flag3 = valueOrDefault >= complexCombatData.MinimumKillCount.Value; + if (flag3) + { + _logger.LogDebug("Kill count condition met for ComplexCombatData[{Index}]: {Count}/{Required}", i, valueOrDefault, complexCombatData.MinimumKillCount.Value); + } + } + if (flag) + { + int inventoryItemCount = InventoryManager.Instance()->GetInventoryItemCount(complexCombatData.RewardItemId.Value, isHq: false, checkEquipped: true, checkArmory: true, 0); + flag4 = inventoryItemCount >= complexCombatData.RewardItemCount.Value; + if (flag4) + { + _logger.LogDebug("Item count condition met for ComplexCombatData[{Index}]: {ItemId} = {Count}/{Required}", i, complexCombatData.RewardItemId.Value, inventoryItemCount, complexCombatData.RewardItemCount.Value); + } + } + if (flag3 && flag4) + { + _logger.LogDebug("Complex combat condition fulfilled for ComplexCombatData[{Index}] ({DataId}): KillCount={KillCountMet}, Items={ItemMet}", i, complexCombatData.DataId, flag3, flag4); + _currentFight.Data.CompletedComplexDatas.Add(i); + } + } + else if (flag2 && _currentFight.Data.ElementId is QuestId elementId) + { + QuestProgressInfo questProgressInfo = _questFunctions.GetQuestProgressInfo(elementId); + if (questProgressInfo != null && QuestWorkUtils.MatchesQuestWork(complexCombatData.CompletionQuestVariablesFlags, questProgressInfo)) + { + _logger.LogDebug("Complex combat condition fulfilled for ComplexCombatData[{Index}] ({DataId}): QuestWork (fallback)", i, complexCombatData.DataId); + _currentFight.Data.CompletedComplexDatas.Add(i); + } } - IL_0391: - flag3 = (byte)num10 != 0; - flag4 = QuestWorkUtils.HasCompletionFlags(_206F_202C_206B_200C_202D_202A_200B_206B_200B_206C_200E_202D_200D_200D_200D_206F_206B_206B_200D_200C_206E_200D_206A_202D_202D_202A_200C_200C_200C_206A_200F_200E_202B_206F_200C_202D_200D_202E_202B_200C_202E(complexCombatData)); - num11 = hasValue; - num3 = (flag3 ? 1 : 0); - num4 = (num11 ? 1 : 0); - num = (((num4 & num3) + (num4 ^ num3) == 0) ? (-1488947357) : (-1488947335)); - continue; } - break; } - Vector3 value = vector; + IPlayerCharacter localPlayer = _objectTable.LocalPlayer; + Vector3 value = localPlayer?.Position ?? Vector3.Zero; IGameObject gameObject = null; - int num12 = 0; - float num13 = float.MaxValue; - bool flag5 = _206B_206D_202E_206E_206E_202D_206B_202E_200E_206B_206B_200F_206F_202B_202B_200C_202C_206A_202D_206B_202B_202B_206B_202E_206C_200E_202B_202E_206D_206A_206E_202B_202B_202E_200B_200F_202E_206C_202D_202B_202E((ILogger)_logger, LogLevel.Debug); - IEnumerator enumerator = _objectTable.GetEnumerator(); - try + int num = 0; + float num2 = float.MaxValue; + bool flag5 = _logger.IsEnabled(LogLevel.Debug); + foreach (IGameObject item in _objectTable) { - num = -122850553; - IGameObject current = default(IGameObject); - int item = default(int); - string item2 = default(string); - float num15 = default(float); - long value2 = default(long); - while (true) + var (num3, text) = GetKillPriority(item, localPlayer); + if (num3 <= 0) { - int num14 = num; - int num3 = -122850546; - int num4 = num14; - switch ((num4 | num3) - (num4 & num3)) - { - case 12: - _206C_206D_206E_202D_202D_202C_200B_206B_200E_206C_202A_206B_202A_200B_206D_200F_206E_202C_200F_206C_202B_206B_206F_206F_200B_206B_206D_206A_206A_200F_206F_206F_206C_206A_206E_202B_206E_200B_202C_206C_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2012984101), new object[2] - { - _206A_202D_206F_206C_202B_206E_202E_202A_206F_200B_200C_202C_206B_202B_202A_206F_200B_206F_206A_206F_206C_206C_200E_202A_206B_200E_202D_200F_202D_200C_202C_202D_200E_202B_206E_200D_200F_202E_206C_200D_202E(current), - _202C_200F_202A_206D_202B_202C_206D_202C_206A_200E_206A_206F_202B_206F_206A_206C_206C_200D_202E_206C_200B_200E_202A_202C_206D_202D_202A_202D_202E_202B_200B_206C_206C_202A_202B_206F_200D_206C_206A_206D_202E(current) - }); - num = -122850559; - break; - case 9: - num = (_200C_202E_206C_202E_206E_206A_202E_200C_200C_206F_206E_200B_206B_200D_206A_202B_206F_206E_202B_200C_202A_202C_200C_202A_202C_200B_200E_200F_200E_200F_200D_200B_206A_202E_206F_202C_200D_202E_200D_202D_202E((IEnumerator)enumerator) ? (-122850550) : (-122850547)); - break; - case 0: - _206C_206D_206E_202D_202D_202C_200B_206B_200E_206C_202A_206B_202A_200B_206D_200F_206E_202C_200F_206C_202B_206B_206F_206F_200B_206B_206D_206A_206A_200F_206F_206F_206C_206A_206E_202B_206E_200B_202C_206C_202E((ILogger)_logger, 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(-1176210059), new object[6] - { - _206A_202D_206F_206C_202B_206E_202E_202A_206F_200B_200C_202C_206B_202B_202A_206F_200B_206F_206A_206F_206C_206C_200E_202A_206B_200E_202D_200F_202D_200C_202C_202D_200E_202B_206E_200D_200F_202E_206C_200D_202E(current), - _202C_200F_202A_206D_202B_202C_206D_202C_206A_200E_206A_206F_202B_206F_206A_206C_206C_200D_202E_206C_200B_200E_202A_202C_206D_202D_202A_202D_202E_202B_200B_206C_206C_202A_202B_206F_200D_206C_206A_206D_202E(current), - _206F_202D_200F_200E_206F_206C_200C_200E_206E_206D_200F_202D_200E_202D_206B_200D_202B_202D_200E_202C_206B_202B_202C_202A_202C_202D_202A_206B_206B_200D_202B_202E_200C_200F_202C_206C_202D_206B_202D_206F_202E(current), - item, - item2, - num15 - }); - num = -122850551; - break; - case 2: - _206C_206D_206E_202D_202D_202C_200B_206B_200E_206C_202A_206B_202A_200B_206D_200F_206E_202C_200F_206C_202B_206B_206F_206F_200B_206B_206D_206A_206A_200F_206F_206F_206C_206A_206E_202B_206E_200B_202C_206C_202E((ILogger)_logger, 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(799418779), new object[3] - { - _206A_202D_206F_206C_202B_206E_202E_202A_206F_200B_200C_202C_206B_202B_202A_206F_200B_206F_206A_206F_206C_206C_200E_202A_206B_200E_202D_200F_202D_200C_202C_202D_200E_202B_206E_200D_200F_202E_206C_200D_202E(current), - _202C_200F_202A_206D_202B_202C_206D_202C_206A_200E_206A_206F_202B_206F_206A_206C_206C_200D_202E_206C_200B_200E_202A_202C_206D_202D_202A_202D_202E_202B_200B_206C_206C_202A_202B_206F_200D_206C_206A_206D_202E(current), - value2 - _200D_206B_206D_206C_200C_206F_200E_200C_202D_202A_200D_202D_202D_200B_206F_200C_202D_206B_202C_206B_200B_200B_200C_206A_202A_200D_206F_202E_200B_200F_200F_200C_200E_200F_200C_200F_200D_202D_202B_206F_202E() - }); - num = -122850553; - break; - case 1: - num = ((!(num15 < num13)) ? (-122850553) : (-122850556)); - break; - case 6: - num = -122850553; - break; - case 8: - _losIgnoreList.Remove(_202C_200F_202A_206D_202B_202C_206D_202C_206A_200E_206A_206F_202B_206F_206A_206C_206C_200D_202E_206C_200B_200E_202A_202C_206D_202D_202A_202D_202E_202B_200B_206C_206C_202A_202B_206F_200D_206C_206A_206D_202E(current)); - num = ((!flag5) ? (-122850559) : (-122850558)); - break; - case 5: - num = ((_200D_206B_206D_206C_200C_206F_200E_200C_202D_202A_200D_202D_202D_200B_206F_200C_202D_206B_202C_206B_200B_200B_200C_206A_202A_200D_206F_202E_200B_200F_200F_200C_200E_200F_200C_200F_200D_202D_202B_206F_202E() >= value2) ? (-122850554) : (-122850557)); - break; - case 15: - num15 = Vector3.Distance(_200C_202E_206B_200B_202D_206A_202B_200D_200D_200F_200D_202A_206C_202B_200E_200D_202E_206B_200C_200E_200B_200B_206C_200F_202E_200B_200B_202E_206D_200B_200D_200B_200D_200E_202B_206E_202A_206E_206F_200E_202E(current), value); - num = ((!flag5) ? (-122850551) : (-122850546)); - break; - case 13: - num = ((!flag5) ? (-122850553) : (-122850548)); - break; - case 11: - num = ((item != num12) ? (-122850553) : (-122850545)); - break; - case 7: - num = ((item > num12) ? (-122850556) : (-122850555)); - break; - case 10: - gameObject = current; - num12 = item; - num13 = num15; - num = -122850553; - break; - case 14: - num = ((!_losIgnoreList.TryGetValue(_202C_200F_202A_206D_202B_202C_206D_202C_206A_200E_206A_206F_202B_206F_206A_206C_206C_200D_202E_206C_200B_200E_202A_202C_206D_202D_202A_202D_202E_202B_200B_206C_206C_202A_202B_206F_200D_206C_206A_206D_202E(current), out value2)) ? (-122850559) : (-122850549)); - break; - case 4: - { - current = enumerator.Current; - (int Priority, string Reason) killPriority = GetKillPriority(current, playerCharacter); - item = killPriority.Priority; - item2 = killPriority.Reason; - num = ((item <= 0) ? (-122850553) : (-122850560)); - break; - } - case 3: - goto end_IL_05fe; - } continue; - end_IL_05fe: - break; + } + if (_losIgnoreList.TryGetValue(item.GameObjectId, out var value2)) + { + if (Environment.TickCount64 < value2) + { + if (flag5) + { + _logger.LogDebug("Target {Name} ({Id:X8}) skipped - LoS ignore list ({Remaining}ms left)", item.Name, item.GameObjectId, value2 - Environment.TickCount64); + } + continue; + } + _losIgnoreList.Remove(item.GameObjectId); + if (flag5) + { + _logger.LogDebug("Target {Name} ({Id:X8}) - LoS ignore expired", item.Name, item.GameObjectId); + } + } + float num4 = Vector3.Distance(item.Position, value); + if (flag5) + { + _logger.LogDebug("Target candidate: {Name} ({Id:X8}) BaseId={BaseId} Priority={Priority} ({Reason}) Distance={Distance:N1}", item.Name, item.GameObjectId, item.BaseId, num3, text, num4); + } + if (num3 > num || (num3 == num && num4 < num2)) + { + gameObject = item; + num = num3; + num2 = num4; } } - finally + ulong? num5 = gameObject?.GameObjectId; + if (num5 != _lastTargetId) { - num = ((enumerator == null) ? 544453572 : 544453575); - while (true) + if (gameObject != null) { - int num16 = num; - int num3 = 544453573; - int num4 = num16; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 544453575; - break; - case 1: - goto end_IL_0939; - case 2: - _206C_202A_202A_200D_206B_206C_206F_206F_206E_200C_202E_206E_206A_202A_200F_202B_202C_202D_206E_206D_202C_200F_206E_200F_202D_200E_202D_206F_200D_206C_206D_206A_206F_200D_200B_206E_202A_202E_200F_200D_202E((IDisposable)enumerator); - num = 544453572; - break; - } - continue; - end_IL_0939: - break; + _logger.LogDebug("Selected target: {Name} ({Id:X8}) BaseId={BaseId} Priority={Priority} Distance={Distance:N1}", gameObject.Name, gameObject.GameObjectId, gameObject.BaseId, num, num2); } - } - num = ((gameObject != null) ? (-1888193170) : (-1888193172)); - ushort currentFateId = default(ushort); - ulong? num20 = default(ulong?); - while (true) - { - int num17 = num; - int num3 = -1888193174; - int num4 = num17; - int num18 = num4 + num3; - int num19 = num4 & num3; - ulong? obj; - ulong? num21; - ulong? lastTargetId; - bool num22; - switch (num18 - (num19 + num19)) + else { - case 9: - _206C_206D_206E_202D_202D_202C_200B_206B_200E_206C_202A_206B_202A_200B_206D_200F_206E_202C_200F_206C_202B_206B_206F_206F_200B_206B_206D_206A_206A_200F_206F_206F_206C_206A_206E_202B_206E_200B_202C_206C_202E((ILogger)_logger, 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(660454310), new object[5] - { - _206A_202D_206F_206C_202B_206E_202E_202A_206F_200B_200C_202C_206B_202B_202A_206F_200B_206F_206A_206F_206C_206C_200E_202A_206B_200E_202D_200F_202D_200C_202C_202D_200E_202B_206E_200D_200F_202E_206C_200D_202E(gameObject), - _202C_200F_202A_206D_202B_202C_206D_202C_206A_200E_206A_206F_202B_206F_206A_206C_206C_200D_202E_206C_200B_200E_202A_202C_206D_202D_202A_202D_202E_202B_200B_206C_206C_202A_202B_206F_200D_206C_206A_206D_202E(gameObject), - _206F_202D_200F_200E_206F_206C_200C_200E_206E_206D_200F_202D_200E_202D_206B_200D_202B_202D_200E_202C_206B_202B_202C_202A_202C_202D_202A_206B_206B_200D_202B_202E_200C_200F_202C_206C_202D_206B_202D_206F_202E(gameObject), - num12, - num13 - }); - num = -1888193177; - break; - case 1: - num = (_currentFight.HasAttemptedFateSync ? (-1888193183) : (-1888193175)); - break; - case 3: - currentFateId = _gameFunctions.GetCurrentFateId(); - num = ((currentFateId == 0) ? (-1888193183) : (-1888193169)); - break; - case 0: - num = ((gameObject == null) ? (-1888193184) : (-1888193171)); - break; - case 15: - _206C_206D_206E_202D_202D_202C_200B_206B_200E_206C_202A_206B_202A_200B_206D_200F_206E_202C_200F_206C_202B_206B_206F_206F_200B_206B_206D_206A_206A_200F_206F_206F_206C_206A_206E_202B_206E_200B_202C_206C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1231500198), Array.Empty()); - num = -1888193177; - break; - case 11: - return gameObject; - case 2: - num = ((_currentFight.Data.SpawnType != EEnemySpawnType.FateEnemies) ? (-1888193183) : (-1888193173)); - break; - case 14: - return null; - case 6: - obj = null; - goto IL_0bb0; - case 5: - _206C_206D_206E_202D_202D_202C_200B_206B_200E_206C_202A_206B_202A_200B_206D_200F_206E_202C_200F_206C_202B_206B_206F_206F_200B_206B_206D_206A_206A_200F_206F_206F_206C_206A_206E_202B_206E_200B_202C_206C_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1490895854), new object[1] { currentFateId }); + _logger.LogDebug("No valid target found"); + } + _lastTargetId = num5; + } + if (gameObject != null && num <= 15 && !_condition[ConditionFlag.InCombat]) + { + return null; + } + if (gameObject != null && _currentFight.Data.SpawnType == EEnemySpawnType.FateEnemies && !_currentFight.HasAttemptedFateSync) + { + ushort currentFateId = _gameFunctions.GetCurrentFateId(); + if (currentFateId != 0) + { + _logger.LogDebug("Checking FATE sync for FATE {FateId}", currentFateId); _gameFunctions.SyncToFate(currentFateId); _currentFight.HasAttemptedFateSync = true; - num = -1888193183; - break; - case 8: - num = -1888193172; - break; - case 4: - obj = _202C_200F_202A_206D_202B_202C_206D_202C_206A_200E_206A_206F_202B_206F_206A_206C_206C_200D_202E_206C_200B_200E_202A_202C_206D_202D_202A_202D_202E_202B_200B_206C_206C_202A_202B_206F_200D_206C_206A_206D_202E(gameObject); - goto IL_0bb0; - case 13: - _lastTargetId = num20; - num = -1888193174; - break; - case 7: - num = ((num12 > 15) ? (-1888193184) : (-1888193178)); - break; - case 12: - num = (_202C_200D_202C_202A_202C_206C_202D_200C_200D_200F_202C_206C_206C_206E_206E_206B_202A_200E_202E_206A_202A_200C_206F_206A_206B_200D_206B_206F_206D_206A_200C_206C_202A_202A_202A_206D_202D_200D_202E_206A_202E(_condition, ConditionFlag.InCombat) ? (-1888193184) : (-1888193180)); - break; - case 16: - num = ((gameObject == null) ? (-1888193179) : (-1888193181)); - break; - case 10: - { - num = ((gameObject == null) ? (-1888193183) : (-1888193176)); - break; - } - IL_0bb0: - num20 = obj; - num21 = num20; - lastTargetId = _lastTargetId; - num22 = num21.GetValueOrDefault() == lastTargetId.GetValueOrDefault(); - num3 = ((num21.HasValue == lastTargetId.HasValue) ? 1 : 0); - num4 = (num22 ? 1 : 0); - num = ((num4 + num3 - (num4 | num3) != 0) ? (-1888193174) : (-1888193158)); - break; } } + return gameObject; } public (int Priority, string Reason) GetKillPriority(IGameObject gameObject) { - return GetKillPriority(gameObject, _200D_206C_200C_200C_206E_200C_206B_202D_200F_202A_200B_206B_206A_202B_206D_200D_202C_200B_200D_206B_200D_202D_200B_202B_200E_206D_200C_202C_202B_200D_202E_202C_206A_202C_200C_206A_206B_206F_202C_200D_202E(_objectTable)); + return GetKillPriority(gameObject, _objectTable.LocalPlayer); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe (int Priority, string Reason) GetKillPriority(IGameObject gameObject, IGameObject? localPlayer) { - (int? Priority, string Reason) rawKillPriority = GetRawKillPriority(gameObject, localPlayer); - int? item = rawKillPriority.Priority; - string item2 = rawKillPriority.Reason; - int num = (item.HasValue ? (-317021037) : (-317021053)); - int num7 = default(int); - IBattleNpc battleNpc = default(IBattleNpc); - Hater hater = default(Hater); - IBattleNpc battleNpc2 = default(IBattleNpc); - int num8 = default(int); - Hater hater2 = default(Hater); - while (true) + var (num, text) = GetRawKillPriority(gameObject, localPlayer); + if (!num.HasValue) { - int num2 = num; - int num3 = -317021051; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (gameObject is IBattleNpc { IsDead: false, IsTargetable: not false } battleNpc && battleNpc.StatusFlags.HasFlag(StatusFlags.InCombat) && localPlayer != null && Vector3.Distance(localPlayer.Position, gameObject.Position) <= 30f) { - case 13: - { - int num12 = num7; - num3 = 1; - num4 = num12; - int num13 = num4 ^ num3; - int num14 = num4 & num3; - num7 = num13 + (num14 + num14); - num = -317021035; - break; + if (gameObject.TargetObjectId == localPlayer.GameObjectId) + { + return (Priority: 15, Reason: text + "/SelfDefense-Targeted"); + } + Hater hater = UIState.Instance()->Hater; + for (int i = 0; i < hater.HaterCount; i++) + { + if (hater.Haters[i].EntityId == gameObject.GameObjectId) + { + return (Priority: 10, Reason: text + "/SelfDefense-Enmity"); + } + } } - case 18: - num = (_206C_202D_206B_206B_200B_200C_206C_202E_200D_206B_200E_206F_206B_206A_202C_206D_206E_206F_202B_202E_202D_200E_200E_202B_202E_206A_200F_200E_206C_202E_206E_206A_202B_202B_202A_206D_206B_206E_202A_200C_202E((IGameObject)battleNpc) ? (-317021036) : (-317021054)); - break; - case 11: - num = ((localPlayer == null) ? (-317021036) : (-317021045)); - break; - case 7: - num = ((!_202A_202B_202C_200D_200D_200C_202C_206C_202C_202D_200C_202B_206C_202A_206B_206E_200E_202E_202B_206D_200B_202A_206A_206E_200C_200B_200B_200C_200F_206F_200C_206B_200C_200E_202B_206B_202A_200C_202B_202E((IGameObject)battleNpc)) ? (-317021036) : (-317021027)); - break; - case 12: - return (Priority: item.Value, Reason: item2); - case 6: - battleNpc = gameObject as IBattleNpc; - num = ((battleNpc == null) ? (-317021036) : (-317021033)); - break; - case 4: - hater = UIState.Instance()->Hater; - num7 = 0; - num = -317021035; - break; - case 0: - return (Priority: 15, Reason: _206A_206E_200B_200E_202C_202C_206A_200B_206D_200F_206A_200E_200F_202C_206C_206B_200D_202C_202C_200B_200E_206E_200F_200E_200B_200B_206C_200F_202D_202C_200F_206A_206B_202A_200D_202C_200C_206F_206C_206C_202E(item2, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1299574123))); - case 22: - battleNpc2 = gameObject as IBattleNpc; - num = ((battleNpc2 == null) ? (-317021047) : (-317021046)); - break; - case 8: - return (Priority: 10, Reason: _206A_206E_200B_200E_202C_202C_206A_200B_206D_200F_206A_200E_200F_202C_206C_206B_200D_202C_202C_200B_200E_206E_200F_200E_200B_200B_206C_200F_202D_202C_200F_206A_206B_202A_200D_202C_200C_206F_206C_206C_202E(item2, 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(-217140311))); - case 14: - num = ((!(Vector3.Distance(_200C_202E_206B_200B_202D_206A_202B_200D_200D_200F_200D_202A_206C_202B_200E_200D_202E_206B_200C_200E_200B_200B_206C_200F_202E_200B_200B_202E_206D_200B_200D_200B_200D_200E_202B_206E_202A_206E_206F_200E_202E(localPlayer), _200C_202E_206B_200B_202D_206A_202B_200D_200D_200F_200D_202A_206C_202B_200E_200D_202E_206B_200C_200E_200B_200B_206C_200F_202E_200B_200B_202E_206D_200B_200D_200B_200D_200E_202B_206E_202A_206E_206F_200E_202E(gameObject)) <= 30f)) ? (-317021036) : (-317021044)); - break; - case 24: - num = ((!_200C_200D_202B_202E_200C_202C_206E_200F_200E_202A_206A_206C_206D_202B_202E_200D_206F_200F_202B_200D_200B_200C_206E_200F_200C_202C_206B_202A_206F_200F_200F_206B_206D_202B_200D_200F_206C_206C_206F_202A_202E((Enum)_200B_200F_200D_200C_206C_206C_206F_200D_206C_200D_200E_200F_206B_202E_200E_200E_200E_206D_206E_206E_202D_202C_200B_202A_206B_206D_206C_202A_200E_206B_206C_206F_202E_206A_206A_206E_202A_200B_202B_206A_202E((ICharacter)battleNpc), (Enum)StatusFlags.InCombat)) ? (-317021036) : (-317021042)); - break; - case 5: + return (Priority: 0, Reason: text); + } + if (gameObject is IBattleNpc battleNpc2 && battleNpc2.StatusFlags.HasFlag(StatusFlags.InCombat)) + { + if (gameObject.TargetObjectId == localPlayer?.GameObjectId) { - int num9 = num8; - num3 = 1; - num4 = num9; - int num10 = num4 ^ num3; - int num11 = num4 & num3; - num8 = num10 + (num11 + num11); - num = -317021041; - break; + return (Priority: num.Value + 150, Reason: text + "/Targeted"); } - case 2: - hater2 = UIState.Instance()->Hater; - num8 = 0; - num = -317021041; - break; - case 9: - num = ((_206A_206E_202C_206B_206E_202B_202C_202E_202D_206E_200D_206F_206F_206D_202E_206F_200C_200B_200E_202E_206D_206F_202A_206D_206F_206B_206A_200D_200B_206E_202A_202E_200E_206A_206B_202E_200C_202A_206D_202E(gameObject) != _202C_200F_202A_206D_202B_202C_206D_202C_206A_200E_206A_206F_202B_206F_206A_206C_206C_200D_202E_206C_200B_200E_202A_202C_206D_202D_202A_202D_202E_202B_200B_206C_206C_202A_202B_206F_200D_206C_206A_206D_202E(localPlayer)) ? (-317021055) : (-317021051)); - break; - case 10: - num = ((num8 < hater2.HaterCount) ? (-317021039) : (-317021047)); - break; - case 3: - return (Priority: item.Value + 150, Reason: _206A_206E_200B_200E_202C_202C_206A_200B_206D_200F_206A_200E_200F_202C_206C_206B_200D_202C_202C_200B_200E_206E_200F_200E_200B_200B_206C_200F_202D_202C_200F_206A_206B_202A_200D_202C_200C_206F_206C_206C_202E(item2, 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(-1551169636))); - case 17: - return (Priority: 0, Reason: item2); - case 15: - num = ((!_200C_200D_202B_202E_200C_202C_206E_200F_200E_202A_206A_206C_206D_202B_202E_200D_206F_200F_202B_200D_200B_200C_206E_200F_200C_202C_206B_202A_206F_200F_200F_206B_206D_202B_200D_200F_206C_206C_206F_202A_202E((Enum)_200B_200F_200D_200C_206C_206C_206F_200D_206C_200D_200E_200F_206B_202E_200E_200E_200E_206D_206E_206E_202D_202C_200B_202A_206B_206D_206C_202A_200E_206B_206C_206F_202E_206A_206A_206E_202A_200B_202B_206A_202E((ICharacter)battleNpc2), (Enum)StatusFlags.InCombat)) ? (-317021047) : (-317021052)); - break; - case 16: - num = ((num7 < hater.HaterCount) ? (-317021034) : (-317021036)); - break; - case 19: - num = ((hater.Haters[num7].EntityId != _202C_200F_202A_206D_202B_202C_206D_202C_206A_200E_206A_206F_202B_206F_206A_206C_206C_200D_202E_206C_200B_200E_202A_202C_206D_202D_202A_202D_202E_202B_200B_206C_206C_202A_202B_206F_200D_206C_206A_206D_202E(gameObject)) ? (-317021048) : (-317021043)); - break; - case 21: - num = -317021053; - break; - case 20: - num = ((hater2.Haters[num8].EntityId != _202C_200F_202A_206D_202B_202C_206D_202C_206A_200E_206A_206F_202B_206F_206A_206C_206C_200D_202E_206C_200B_200E_202A_202C_206D_202D_202A_202D_202E_202B_200B_206C_206C_202A_202B_206F_200D_206C_206A_206D_202E(gameObject)) ? (-317021056) : (-317021038)); - break; - case 23: - return (Priority: item.Value + 125, Reason: _206A_206E_200B_200E_202C_202C_206A_200B_206D_200F_206A_200E_200F_202C_206C_206B_200D_202C_202C_200B_200E_206E_200F_200E_200B_200B_206C_200F_202D_202C_200F_206A_206B_202A_200D_202C_200C_206F_206C_206C_202E(item2, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(915174382))); - case 1: - num = ((_206A_206E_202C_206B_206E_202B_202C_202E_202D_206E_200D_206F_206F_206D_202E_206F_200C_200B_200E_202E_206D_206F_202A_206D_206F_206B_206A_200D_200B_206E_202A_202E_200E_206A_206B_202E_200C_202A_206D_202E(gameObject) != ((localPlayer != null) ? new ulong?(_202C_200F_202A_206D_202B_202C_206D_202C_206A_200E_206A_206F_202B_206F_206A_206C_206C_200D_202E_206C_200B_200E_202A_202C_206D_202D_202A_202D_202E_202B_200B_206C_206C_202A_202B_206F_200D_206C_206A_206D_202E(localPlayer)) : ((ulong?)null))) ? (-317021049) : (-317021050)); - break; + Hater hater2 = UIState.Instance()->Hater; + for (int j = 0; j < hater2.HaterCount; j++) + { + if (hater2.Haters[j].EntityId == gameObject.GameObjectId) + { + return (Priority: num.Value + 125, Reason: text + "/Enmity"); + } } } + return (Priority: num.Value, Reason: text); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe (int? Priority, string Reason) GetRawKillPriority(IGameObject gameObject, IGameObject? localPlayer) { - int num = ((_currentFight != null) ? 1289895917 : 1289895914); - bool flag = default(bool); - uint num7 = default(uint); - List complexCombatDatas = default(List); - int num5 = default(int); - IBattleNpc battleNpc = default(IBattleNpc); - Vector3 value = default(Vector3); - Dalamud.Game.ClientState.Objects.Enums.BattleNpcSubKind battleNpcSubKind = default(Dalamud.Game.ClientState.Objects.Enums.BattleNpcSubKind); - GameObject* ptr = default(GameObject*); - bool flag2 = default(bool); - while (true) + if (_currentFight == null) { - int num2 = num; - int num3 = 1289895881; - int num4 = num2; - Vector3 vector; - switch ((num4 | num3) - (num4 & num3)) + return (Priority: null, Reason: "Not Fighting"); + } + if (!(gameObject is IBattleNpc battleNpc)) + { + return (Priority: null, Reason: "Not BattleNpc"); + } + if (!_currentFight.Module.CanAttack(battleNpc)) + { + return (Priority: null, Reason: "Can't attack"); + } + if (battleNpc.IsDead) + { + return (Priority: null, Reason: "Dead"); + } + if (!battleNpc.IsTargetable) + { + return (Priority: null, Reason: "Untargetable"); + } + List complexCombatDatas = _currentFight.Data.ComplexCombatDatas; + GameObject* address = (GameObject*)gameObject.Address; + if (address->FateId != 0 && _currentFight.Data.SpawnType != EEnemySpawnType.FateEnemies && gameObject.TargetObjectId != localPlayer?.GameObjectId) + { + return (Priority: null, Reason: "FATE mob"); + } + Vector3 value = localPlayer?.Position ?? Vector3.Zero; + bool flag; + switch (_currentFight.Data.SpawnType) + { + case EEnemySpawnType.FinishCombatIfAny: + flag = false; + break; + case EEnemySpawnType.FateEnemies: + flag = false; + break; + case EEnemySpawnType.OverworldEnemies: + if (Vector3.Distance(value, battleNpc.Position) >= 50f) { - case 3: - num = 1289895896; - break; - case 31: - num = ((!flag) ? 1289895911 : 1289895905); - break; - case 20: - num = ((num7 != 60732) ? 1289895895 : 1289895898); - break; - case 13: - return (Priority: null, Reason: global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-288691346)); - case 1: flag = false; - num = 1289895874; - break; - case 48: - { - uint? num6 = _206C_200B_206D_202C_200C_202D_200E_200C_200C_202D_200E_206D_200B_200C_206C_202E_206A_206C_200C_206E_206E_206A_200C_200C_206B_206A_206B_202A_206D_202A_206E_206E_206C_200E_200B_202B_202C_200E_206E_202E(complexCombatDatas[num5]); - num7 = _206A_206F_206D_206B_200B_200C_206B_202A_200C_202C_206B_206C_202D_200F_206D_206A_200F_202A_200D_206B_200D_202B_200F_206F_202C_202D_200D_200D_200C_206D_200C_200B_206D_202A_206E_206F_200F_206E_202E((ICharacter)battleNpc); - num = ((num6 != num7) ? 1289895904 : 1289895886); break; } - case 25: - flag = false; - num = 1289895875; - break; - case 51: - num = (_currentFight.Data.CompletedComplexDatas.Contains(num5) ? 1289895904 : 1289895919); - break; - case 8: - vector = Vector3.Zero; - goto IL_0263; - case 2: - num = ((!(Vector3.Distance(value, _200C_202E_206B_200B_202D_206A_202B_200D_200D_200F_200D_202A_206C_202B_200E_200D_202E_206B_200C_200E_200B_200B_206C_200F_202E_200B_200B_202E_206D_200B_200D_200B_200D_200E_202B_206E_202A_206E_206F_200E_202E((IGameObject)battleNpc)) >= 50f)) ? 1289895897 : 1289895888); - break; - case 24: - vector = _200C_202E_206B_200B_202D_206A_202B_200D_200D_200F_200D_202A_206C_202B_200E_200D_202E_206B_200C_200E_200B_200B_206C_200F_202E_200B_200B_202E_206D_200B_200D_200B_200D_200E_202B_206E_202A_206E_206F_200E_202E(localPlayer); - goto IL_0263; - case 40: - return (Priority: null, Reason: 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(-509497961)); - case 6: - num = ((localPlayer != null) ? 1289895889 : 1289895873); - break; - case 35: - return (Priority: null, Reason: global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1709411628)); - case 17: - battleNpcSubKind = _200C_200C_202B_200C_200D_206D_200D_206A_202E_206F_206A_200D_206C_206C_200E_202C_206C_206A_202E_202A_202C_200B_202E_200E_200E_206D_200D_200C_200C_206A_206A_200B_206B_202C_200B_202A_202B_202A_200E_206B_202E(battleNpc); - num = ((battleNpcSubKind == Dalamud.Game.ClientState.Objects.Enums.BattleNpcSubKind.BNpcPart) ? 1289895918 : 1289895884); - break; - case 43: - return (Priority: 90, Reason: global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1135414095)); - case 11: - num = ((!flag) ? 1289895900 : 1289895899); - break; - case 22: - goto IL_0347; - case 50: - num = ((ptr->NamePlateIconId == 0) ? 1289895904 : 1289895902); - break; - case 10: - flag2 = flag; - num = ((complexCombatDatas.Count <= 0) ? 1289895892 : 1289895877); - break; - case 38: - num = ((!flag2) ? 1289895902 : 1289895916); - break; - case 14: - num = ((_currentFight.Data.SpawnType == EEnemySpawnType.FateEnemies) ? 1289895887 : 1289895881); - break; - case 15: - num = ((!_206C_200B_206D_202C_200C_202D_200E_200C_200C_202D_200E_206D_200B_200C_206C_202E_206A_206C_200C_206E_206E_206A_200C_200C_206B_206A_206B_202A_206D_202A_206E_206E_206C_200E_200B_202B_202C_200E_206E_202E(complexCombatDatas[num5]).HasValue) ? 1289895886 : 1289895929); - break; - case 37: - num = (_206B_202B_206A_202A_206C_206A_206E_202B_206E_206B_202E_206A_200F_206C_200E_202B_200F_202C_206A_202D_200D_202C_202B_200B_200C_206C_202E_206B_202E_200D_200B_206F_206D_202A_206F_200E_202A_200F_206F_206B_202E(complexCombatDatas[num5]) ? 1289895902 : 1289895931); - break; - case 16: - flag = true; - num = 1289895875; - break; - case 26: - return (Priority: null, Reason: global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(514778302)); - case 42: - num = (_202A_202B_202C_200D_200D_200C_202C_206C_202C_202D_200C_202B_206C_202A_206B_206E_200E_202E_202B_206D_200B_202A_206A_206E_200C_200B_200B_200C_200F_206F_200C_206B_200C_200E_202B_206B_202A_200C_202B_202E((IGameObject)battleNpc) ? 1289895933 : 1289895876); - break; - case 27: - num = ((!_206C_202D_206B_206B_200B_200C_206C_202E_200D_206B_200E_206F_206B_206A_202C_206D_206E_206F_202B_202E_202D_200E_200E_202B_202E_206A_200F_200E_206C_202E_206E_206A_202B_202B_202A_206D_206B_206E_202A_200C_202E((IGameObject)battleNpc)) ? 1289895907 : 1289895891); - break; - case 12: - num5 = 0; - num = 1289895915; - break; - case 44: - num = 1289895897; - break; - case 4: - goto IL_04d5; - case 7: - return (Priority: 100, Reason: 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(504188210)); - case 18: - num7 = ptr->NamePlateIconId; - num = ((num7 == 60093) ? 1289895898 : 1289895901); - break; - case 9: - return (Priority: null, Reason: 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(-1495762149)); - case 29: - num = ((!flag2) ? 1289895908 : 1289895913); - break; - case 5: - num = ((battleNpcSubKind != Dalamud.Game.ClientState.Objects.Enums.BattleNpcSubKind.Combatant) ? 1289895880 : 1289895918); - break; - case 21: - return (Priority: null, Reason: global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2144599743)); - case 28: - num = (_currentFight.Module.CanAttack(battleNpc) ? 1289895890 : 1289895872); - break; - case 33: - num = 1289895914; - break; - case 34: - num = ((num5 < complexCombatDatas.Count) ? 1289895930 : 1289895882); - break; - case 36: - battleNpc = gameObject as IBattleNpc; - num = ((battleNpc != null) ? 1289895893 : 1289895928); - break; - case 23: - num = ((_206C_206F_202B_202E_206D_200E_202A_200F_200E_200B_206D_206A_200F_200B_200D_206B_200C_200C_202E_200B_200B_200E_202B_202D_202A_206C_206E_200B_206B_206F_202A_202E_202B_200C_202C_206F_202A_202B_200F_202D_202E(complexCombatDatas[num5]) != _206F_202D_200F_200E_206F_206C_200C_200E_206E_206D_200F_202D_200E_202D_206B_200D_202B_202D_200E_202C_206B_202B_202C_202A_202C_202D_202A_206B_206B_200D_202B_202E_200C_200F_202C_206C_202D_206B_202D_206F_202E((IGameObject)battleNpc)) ? 1289895904 : 1289895878); - break; - case 47: - return (Priority: null, Reason: global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(654117506)); - case 46: - return (Priority: null, Reason: 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(-1739083176)); - case 41: + goto default; + default: + flag = true; + break; + } + bool flag2 = flag; + if (complexCombatDatas.Count > 0) + { + for (int i = 0; i < complexCombatDatas.Count; i++) { - int num8 = num5; - num3 = 1; - num4 = num8; - num5 = (num4 | num3) + (num4 & num3); - num = 1289895915; - break; - } - case 19: - flag = true; - num = 1289895894; - break; - case 39: - flag = true; - num = 1289895874; - break; - case 49: - return (Priority: null, Reason: global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1994402973)); - case 45: - num = ((!_currentFight.Data.KillEnemyDataIds.Contains(_206F_202D_200F_200E_206F_206C_200C_200E_206E_206D_200F_202D_200E_202D_206B_200D_202B_202D_200E_202C_206B_202B_202C_202A_202C_202D_202A_206B_206B_200D_202B_202E_200C_200F_202C_206C_202D_206B_202D_206F_202E((IGameObject)battleNpc))) ? 1289895896 : 1289895906); - break; - case 0: - num = ((_206A_206E_202C_206B_206E_202B_202C_202E_202D_206E_200D_206F_206F_206D_202E_206F_200C_200B_200E_202E_206D_206F_202A_206D_206F_206B_206A_200D_200B_206E_202A_202E_200E_206A_206B_202E_200C_202A_206D_202E(gameObject) == ((localPlayer != null) ? new ulong?(_202C_200F_202A_206D_202B_202C_206D_202C_206A_200E_206A_206F_202B_206F_206A_206C_206C_200D_202E_206C_200B_200E_202A_202C_206D_202D_202A_202D_202E_202B_200B_206C_206C_202A_202B_206F_200D_206C_206A_206D_202E(localPlayer)) : ((ulong?)null))) ? 1289895887 : 1289895910); - break; - case 32: - num = ((ptr->NamePlateIconId == 0) ? 1289895896 : 1289895908); - break; - case 30: - flag = false; - num = 1289895894; - break; - case 52: + if (!_currentFight.Data.CompletedComplexDatas.Contains(i) && (!flag2 || complexCombatDatas[i].IgnoreQuestMarker || address->NamePlateIconId != 0) && complexCombatDatas[i].DataId == battleNpc.BaseId && (!complexCombatDatas[i].NameId.HasValue || complexCombatDatas[i].NameId == battleNpc.NameId)) { - complexCombatDatas = _currentFight.Data.ComplexCombatDatas; - ptr = (GameObject*)_206B_200C_200E_200B_200C_206A_206F_200E_200C_200B_206C_200E_202B_202C_206E_206A_206A_200E_200F_206C_202B_206C_206A_200B_202C_202C_206D_206F_200D_202E_206F_206F_200D_200F_200F_200F_206D_202A_202A_200D_202E(gameObject); - num = ((ptr->FateId == 0) ? 1289895887 : 1289895879); - break; + return (Priority: 100, Reason: "CCD"); } - IL_0263: - value = vector; - switch (_currentFight.Data.SpawnType) - { - case EEnemySpawnType.OverworldEnemies: - break; - default: - goto IL_028b; - case EEnemySpawnType.FateEnemies: - goto IL_0347; - case EEnemySpawnType.FinishCombatIfAny: - goto IL_04d5; - } - goto case 2; - IL_04d5: - flag = false; - num = 1289895875; - break; - IL_0347: - flag = false; - num = 1289895875; - break; - IL_028b: - num = 1289895909; - break; } } + else if ((!flag2 || address->NamePlateIconId != 0) && _currentFight.Data.KillEnemyDataIds.Contains(battleNpc.BaseId)) + { + return (Priority: 90, Reason: "KED"); + } + Dalamud.Game.ClientState.Objects.Enums.BattleNpcSubKind battleNpcKind = battleNpc.BattleNpcKind; + if ((battleNpcKind == Dalamud.Game.ClientState.Objects.Enums.BattleNpcSubKind.BNpcPart || battleNpcKind == Dalamud.Game.ClientState.Objects.Enums.BattleNpcSubKind.Combatant) ? true : false) + { + uint namePlateIconId = address->NamePlateIconId; + if ((namePlateIconId == 60093 || namePlateIconId == 60732) ? true : false) + { + return (Priority: null, Reason: "FATE NPC"); + } + return (Priority: null, Reason: "Not part of quest"); + } + return (Priority: null, Reason: "Wrong BattleNpcKind"); } - [MethodImpl(MethodImplOptions.NoInlining)] private void SetTarget(IGameObject? target) { - int num = ((target != null) ? (-454863906) : (-454863912)); - IPlayerCharacter playerCharacter = default(IPlayerCharacter); - while (true) + if (target == null) { - int num2 = num; - int num3 = -454863908; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - float num7; - float num8; - bool flag; - switch (num5 - (num6 + num6)) + if (_targetManager.Target != null) { - case 5: - num = -454863912; - break; - case 2: - playerCharacter = _200D_206C_200C_200C_206E_200C_206B_202D_200F_202A_200B_206B_206A_202B_206D_200D_202C_200B_200D_206B_200D_202D_200B_202B_200E_206D_200C_202C_202B_200D_202E_202C_206A_202C_200C_206A_206B_206F_202C_200D_202E(_objectTable); - num = ((playerCharacter != null) ? (-454863909) : (-454863908)); - break; - case 0: - num7 = 0f; - goto IL_00ba; - case 7: - num7 = Vector3.Distance(_200C_202E_206B_200B_202D_206A_202B_200D_200D_200F_200D_202A_206C_202B_200E_200D_202E_206B_200C_200E_200B_200B_206C_200F_202E_200B_200B_202E_206D_200B_200D_200B_200D_200E_202B_206E_202A_206E_206F_200E_202E((IGameObject)playerCharacter), _200C_202E_206B_200B_202D_206A_202B_200D_200D_200F_200D_202A_206C_202B_200E_200D_202E_206B_200C_200E_200B_200B_206C_200F_202E_200B_200B_202E_206D_200B_200D_200B_200D_200E_202B_206E_202A_206E_206F_200E_202E(target)); - goto IL_00ba; - case 8: - return; - case 1: - return; - case 3: - _206C_206D_206E_202D_202D_202C_200B_206B_200E_206C_202A_206B_202A_200B_206D_200F_206E_202C_200F_206C_202B_206B_206F_206F_200B_206B_206D_206A_206A_200F_206F_206F_206C_206A_206E_202B_206E_200B_202C_206C_202E((ILogger)_logger, 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(1225516731), Array.Empty()); - _202C_202A_206D_202D_202E_202C_200B_202D_200E_202B_202E_206E_200F_200E_206D_206C_200C_200F_206F_200C_200E_202E_202B_206A_202E_206D_200E_206C_206C_200B_206A_202B_202C_202B_202A_206E_206C_202D_202B_202E_202E(_targetManager, (IGameObject)null); - num = -454863916; - break; - case 6: - MoveToTarget(target); - num = -454863907; - break; - case 4: - { - num = ((_202B_202A_206E_200C_206F_202D_206D_206C_202D_200B_200E_206D_206C_206E_202D_206D_206D_202C_206D_202B_206C_200B_206E_202D_202C_206B_202A_202D_206E_200B_202B_206A_200D_206C_200F_200F_206D_206B_200E_200E_202E(_targetManager) == null) ? (-454863916) : (-454863905)); - break; - } - IL_00ba: - num8 = num7; - flag = _currentFight?.Module is BossModModule; - _206C_206D_206E_202D_202D_202C_200B_206B_200E_206C_202A_206B_202A_200B_206D_200F_206E_202C_200F_206C_202B_206B_206F_206F_200B_206B_206D_206A_206A_200F_206F_206F_206C_206A_206E_202B_206E_200B_202C_206C_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-270017519), new object[3] - { - _200D_200C_202E_200D_206A_206A_206A_200E_206F_206C_200E_200B_200D_206D_206F_200F_200E_200F_202B_206F_206C_202C_200C_202A_202E_202C_206E_206E_206A_206C_202D_200F_200D_202B_202E_206F_206C_202B_206C_200F_202E((object)_206A_202D_206F_206C_202B_206E_202E_202A_206F_200B_200C_202C_206B_202B_202A_206F_200B_206F_206A_206F_206C_206C_200E_202A_206B_200E_202D_200F_202D_200C_202C_202D_200E_202B_206E_200D_200F_202E_206C_200D_202E(target)), - _202C_200F_202A_206D_202B_202C_206D_202C_206A_200E_206A_206F_202B_206F_206A_206C_206C_200D_202E_206C_200B_200E_202A_202C_206D_202D_202A_202D_202E_202B_200B_206C_206C_202A_202B_206F_200D_206C_206A_206D_202E(target), - num8 - }); - _202C_202A_206D_202D_202E_202C_200B_202D_200E_202B_202E_206E_200F_200E_206D_206C_200C_200F_206F_200C_200E_202E_202B_206A_202E_206D_200E_206C_206C_200B_206A_202B_202C_202B_202A_206E_206C_202D_202B_202E_202E(_targetManager, target); - num = (flag ? (-454863907) : (-454863910)); - break; + _logger.LogDebug("Clearing target"); + _targetManager.Target = null; } + return; + } + IPlayerCharacter localPlayer = _objectTable.LocalPlayer; + float num = ((localPlayer != null) ? Vector3.Distance(localPlayer.Position, target.Position) : 0f); + bool flag = _currentFight?.Module is BossModModule; + _logger.LogDebug("Setting target to {TargetName} ({TargetId:X8}), distance: {Distance:N2}", target.Name.ToString(), target.GameObjectId, num); + _targetManager.Target = target; + if (!flag) + { + MoveToTarget(target); } } private bool IsMovingOrShouldMove(IGameObject gameObject) { - int num = ((!(_currentFight?.Module is BossModModule)) ? 1980419386 : 1980419385); - while (true) + if (_currentFight?.Module is BossModModule) { - int num2 = num; - int num3 = 1980419388; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return false; - case 6: - num = (_movementController.IsPathfinding ? 1980419390 : 1980419391); - break; - case 5: - return false; - case 3: - num = ((!_movementController.IsPathRunning) ? 1980419389 : 1980419390); - break; - case 2: - return true; - case 7: - num = 1980419385; - break; - case 4: - MoveToTarget(gameObject); - _currentFight.LastDistanceCheck = _200D_206B_206D_206C_200C_206F_200E_200C_202D_202A_200D_202D_202D_200B_206F_200C_202D_206B_202C_206B_200B_200B_200C_206A_202A_200D_206F_202E_200B_200F_200F_200C_200E_200F_200C_200F_200D_202D_202B_206F_202E(); - return true; - case 1: - num = ((_200D_206B_206D_206C_200C_206F_200E_200C_202D_202A_200D_202D_202D_200B_206F_200C_202D_206B_202C_206B_200B_200B_200C_206A_202A_200D_206F_202E_200B_200F_200F_200C_200E_200F_200C_200F_200D_202D_202B_206F_202E() <= _currentFight.LastDistanceCheck + 10000) ? 1980419388 : 1980419384); - break; - } + return false; } + if (_movementController.IsPathfinding || _movementController.IsPathRunning) + { + return true; + } + if (Environment.TickCount64 > _currentFight.LastDistanceCheck + 10000) + { + MoveToTarget(gameObject); + _currentFight.LastDistanceCheck = Environment.TickCount64; + return true; + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private void MoveToTarget(IGameObject gameObject) { - IPlayerCharacter playerCharacter = _200D_206C_200C_200C_206E_200C_206B_202D_200F_202A_200B_206B_206A_202B_206D_200D_202C_200B_200D_206B_200D_202D_200B_202B_200E_206D_200C_202C_202B_200D_202E_202C_206A_202C_200C_206A_206B_206F_202C_200D_202E(_objectTable); - int num = ((playerCharacter != null) ? 649091291 : 649091295); - bool flag4 = default(bool); - float num9 = default(float); - float num11 = default(float); - byte? b = default(byte?); - bool flag2 = default(bool); - bool flag3 = default(bool); - bool flag = default(bool); - float num8 = default(float); - while (true) + IPlayerCharacter localPlayer = _objectTable.LocalPlayer; + if (localPlayer == null) { - int num2 = num; - int num3 = 649091284; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - float num10; - switch (num5 - (num6 + num6)) + return; + } + float num = localPlayer.HitboxRadius + gameObject.HitboxRadius; + float num2 = Vector3.Distance(localPlayer.Position, gameObject.Position); + byte? b = localPlayer.ClassJob.ValueNullable?.Role; + bool flag; + if (b.HasValue) + { + byte valueOrDefault = b.GetValueOrDefault(); + if ((uint)(valueOrDefault - 3) <= 1u) { - case 2: - num10 = 20f; - goto IL_0095; - case 3: + flag = true; + goto IL_008e; + } + } + flag = false; + goto IL_008e; + IL_008e: + float num3 = (flag ? 20f : 2.9f); + bool flag2 = num2 - num >= num3; + bool flag3 = IsInLineOfSight(gameObject); + if (flag2 || !flag3) + { + bool flag4 = num2 - num > 5f; + if (!flag2 && !flag3) + { + num3 = Math.Min(num3, num2) / 2f; flag4 = true; - num = 649091283; - break; - case 15: - num9 = _200C_200B_200C_206F_200D_200E_200E_200D_200D_202D_202B_200B_200D_206B_202C_200D_200E_206B_206D_202D_206B_200C_206D_200D_200D_206C_200C_200F_206A_202E_202C_206A_202B_200F_206C_200B_206E_200B_202B_206A_202E((IGameObject)playerCharacter) + _200C_200B_200C_206F_200D_200E_200E_200D_200D_202D_202B_200B_200D_206B_202C_200D_200E_206B_206D_202D_206B_200C_206D_200D_200D_206C_200C_200F_206A_202E_202C_206A_202B_200F_206C_200B_206E_200B_202B_206A_202E(gameObject); - num11 = Vector3.Distance(_200C_202E_206B_200B_202D_206A_202B_200D_200D_200F_200D_202A_206C_202B_200E_200D_202E_206B_200C_200E_200B_200B_206C_200F_202E_200B_200B_202E_206D_200B_200D_200B_200D_200E_202B_206E_202A_206E_206F_200E_202E((IGameObject)playerCharacter), _200C_202E_206B_200B_202D_206A_202B_200D_200D_200F_200D_202A_206C_202B_200E_200D_202E_206B_200C_200E_200B_200B_206C_200F_202E_200B_200B_202E_206D_200B_200D_200B_200D_200E_202B_206E_202A_206E_206F_200E_202E(gameObject)); - b = _202B_206B_202C_200E_202D_202D_200F_206E_202B_200C_202A_206F_200F_202E_206C_200F_206B_200D_206E_206A_206F_200C_200F_206D_200B_206D_206E_206E_200E_206B_200E_200F_200C_202A_200B_200B_202E_200D_200D_200C_202E((ICharacter)playerCharacter).ValueNullable?.Role; - num = ((!b.HasValue) ? 649091282 : 649091293); - break; - case 12: - num10 = 2.9f; - goto IL_0095; - case 7: - num = (flag4 ? 649091286 : 649091288); - break; - case 8: - flag2 = num11 - num9 > 5f; - num = (flag3 ? 649091290 : 649091285); - break; - case 0: - num = (flag ? 649091268 : 649091292); - break; - case 6: - flag4 = false; - num = 649091283; - break; - case 13: - num8 = _206F_202A_200E_206D_206C_200B_206B_200F_202B_200D_206E_200E_200E_202E_200F_202C_206E_206E_206B_206E_200F_206E_206E_206D_200B_206E_200E_202C_206A_202A_200E_206F_206A_206F_202A_200F_202B_206F_206D_200D_202E(num8, num11) / 2f; - flag2 = true; - num = 649091290; - break; - case 14: - num = (flag2 ? 649091280 : 649091281); - break; - case 9: - { - byte valueOrDefault = b.GetValueOrDefault(); - num3 = 3; - num4 = valueOrDefault; - num = (((uint)(~(~num4 + num3)) > 1u) ? 649091282 : 649091287); - break; } - case 4: - _206C_206D_206E_202D_202D_202C_200B_206B_200E_206C_202A_206B_202A_200B_206D_200F_206E_202C_200F_206C_202B_206B_206F_206F_200B_206B_206D_206A_206A_200F_206F_206F_206C_206A_206E_202B_206E_200B_202C_206C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-899940516), new object[2] - { - _206A_202D_206F_206C_202B_206E_202E_202A_206F_200B_200C_202C_206B_202B_202A_206F_200B_206F_206A_206F_206C_206C_200E_202A_206B_200E_202D_200F_202D_200C_202C_202D_200E_202B_206E_200D_200F_202E_206C_200D_202E(gameObject), - _206F_202D_200F_200E_206F_206C_200C_200E_206E_206D_200F_202D_200E_202D_206B_200D_202B_202D_200E_202C_206B_202B_202C_202A_202C_202D_202A_206B_206B_200D_202B_202E_200C_200F_202C_206C_202D_206B_202D_206F_202E(gameObject) - }); - _movementController.NavigateTo(EMovementType.Combat, null, _200C_202E_206B_200B_202D_206A_202B_200D_200D_200F_200D_202A_206C_202B_200E_200D_202E_206B_200C_200E_200B_200B_206C_200F_202E_200B_200B_202E_206D_200B_200D_200B_200D_200E_202B_206E_202A_206E_206F_200E_202E(gameObject), fly: false, sprint: false, num8 + num9 - 0.25f, float.MaxValue); - num = 649091268; - break; - case 1: - num = (flag ? 649091290 : 649091289); - break; - case 5: + if (!flag4) { - _206C_206D_206E_202D_202D_202C_200B_206B_200E_206C_202A_206B_202A_200B_206D_200F_206E_202C_200F_206C_202B_206B_206F_206F_200B_206B_206D_206A_206A_200F_206F_206F_206C_206A_206E_202B_206E_200B_202C_206C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-131708960), new object[2] - { - _206A_202D_206F_206C_202B_206E_202E_202A_206F_200B_200C_202C_206B_202B_202A_206F_200B_206F_206A_206F_206C_206C_200E_202A_206B_200E_202D_200F_202D_200C_202C_202D_200E_202B_206E_200D_200F_202E_206C_200D_202E(gameObject), - _206F_202D_200F_200E_206F_206C_200C_200E_206E_206D_200F_202D_200E_202D_206B_200D_202B_202D_200E_202C_206B_202B_202C_202A_202C_202D_202A_206B_206B_200D_202B_202E_200C_200F_202C_206C_202D_206B_202D_206F_202E(gameObject) - }); + _logger.LogDebug("Moving to {TargetName} ({BaseId}) to attack", gameObject.Name, gameObject.BaseId); MovementController movementController = _movementController; - int num7 = 1; - List list = new List(num7); - CollectionsMarshal.SetCount(list, num7); - CollectionsMarshal.AsSpan(list)[0] = _200C_202E_206B_200B_202D_206A_202B_200D_200D_200F_200D_202A_206C_202B_200E_200D_202E_206B_200C_200E_200B_200B_206C_200F_202E_200B_200B_202E_206D_200B_200D_200B_200D_200E_202B_206E_202A_206E_206F_200E_202E(gameObject); - movementController.NavigateTo(EMovementType.Combat, null, list, fly: false, sprint: false, num8 + num9 - 0.25f, float.MaxValue); - return; + int num4 = 1; + List list = new List(num4); + CollectionsMarshal.SetCount(list, num4); + CollectionsMarshal.AsSpan(list)[0] = gameObject.Position; + movementController.NavigateTo(EMovementType.Combat, null, list, fly: false, sprint: false, num3 + num - 0.25f, float.MaxValue); } - case 16: - return; - case 10: - num = 649091295; - break; - case 11: - return; - IL_0095: - num8 = num10; - flag3 = num11 - num9 >= num8; - flag = IsInLineOfSight(gameObject); - num = (flag3 ? 649091292 : 649091284); - break; + else + { + _logger.LogDebug("Moving to {TargetName} ({BaseId}) to attack (with navmesh)", gameObject.Name, gameObject.BaseId); + _movementController.NavigateTo(EMovementType.Combat, null, gameObject.Position, fly: false, sprint: false, num3 + num - 0.25f, float.MaxValue); } } } internal unsafe bool IsInLineOfSight(IGameObject target) { - IPlayerCharacter playerCharacter = _200D_206C_200C_200C_206E_200C_206B_202D_200F_202A_200B_206B_206A_202B_206D_200D_202C_200B_200D_206B_200D_202D_200B_202B_200E_206D_200C_202C_202B_200D_202E_202C_206A_202C_200C_206A_206B_206F_202C_200D_202E(_objectTable); - int num = ((playerCharacter != null) ? 1116900231 : 1116900230); - RaycastHit raycastHit = default(RaycastHit); - while (true) + IPlayerCharacter localPlayer = _objectTable.LocalPlayer; + if (localPlayer == null) { - int num2 = num; - int num3 = 1116900231; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - { - Vector3 vector = _200C_202E_206B_200B_202D_206A_202B_200D_200D_200F_200D_202A_206C_202B_200E_200D_202E_206B_200C_200E_200B_200B_206C_200F_202E_200B_200B_202E_206D_200B_200D_200B_200D_200E_202B_206E_202A_206E_206F_200E_202E((IGameObject)playerCharacter); - vector.Y += 2f; - Vector3 vector2 = _200C_202E_206B_200B_202D_206A_202B_200D_200D_200F_200D_202A_206C_202B_200E_200D_202E_206B_200C_200E_200B_200B_206C_200F_202E_200B_200B_202E_206D_200B_200D_200B_200D_200E_202B_206E_202A_206E_206F_200E_202E(target); - vector2.Y += 2f; - Vector3 vector3 = Vector3.Normalize(vector2 - vector); - float maxDistance = Vector3.Distance(vector, vector2); - int* flags = stackalloc int[4] { 16384, 0, 16384, 0 }; - return !Framework.Instance()->BGCollisionModule->RaycastMaterialFilter(&raycastHit, &vector, &vector3, maxDistance, 1, flags); - } - case 1: - return false; - case 2: - goto IL_00e2; - } - continue; - IL_00e2: - num = 1116900230; + return false; } + Vector3 position = localPlayer.Position; + position.Y += 2f; + Vector3 position2 = target.Position; + position2.Y += 2f; + Vector3 vector = Vector3.Normalize(position2 - position); + float maxDistance = Vector3.Distance(position, position2); + int* flags = stackalloc int[4] { 16384, 0, 16384, 0 }; + RaycastHit raycastHit = default(RaycastHit); + return !Framework.Instance()->BGCollisionModule->RaycastMaterialFilter(&raycastHit, &position, &vector, maxDistance, 1, flags); } - [MethodImpl(MethodImplOptions.NoInlining)] private void OnErrorToast(ref SeString message, ref bool isHandled) { - int num = ((_cannotSeeTargetText == null) ? (-1612200543) : (-1612200538)); - long num5 = default(long); - IGameObject gameObject = default(IGameObject); - while (true) + if (_cannotSeeTargetText == null || _currentFight == null || !message.TextValue.Contains(_cannotSeeTargetText, StringComparison.Ordinal)) { - int num2 = num; - int num3 = -1612200540; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return; + } + IGameObject target = _targetManager.Target; + if (target == null) + { + return; + } + long tickCount = Environment.TickCount64; + if (_lastLoSFailTargetId == target.GameObjectId && tickCount - _lastLoSFailTimeMs < 2000) + { + _losFailCount++; + if (_losFailCount >= 2) { - case 10: - num = -1612200538; - break; - case 12: - num5 = _200D_206B_206D_206C_200C_206F_200E_200C_202D_202A_200D_202D_202D_200B_206F_200C_202D_206B_202C_206B_200B_200B_200C_206A_202A_200D_206F_202E_200B_200F_200F_200C_200E_200F_200C_200F_200D_202D_202B_206F_202E(); - num = ((_lastLoSFailTargetId != _202C_200F_202A_206D_202B_202C_206D_202C_206A_200E_206A_206F_202B_206F_206A_206C_206C_200D_202E_206C_200B_200E_202A_202C_206D_202D_202A_202D_202E_202B_200B_206C_206C_202A_202B_206F_200D_206C_206A_206D_202E(gameObject)) ? (-1612200540) : (-1612200542)); - break; - case 3: - { - Dictionary losIgnoreList = _losIgnoreList; - ulong key = _202C_200F_202A_206D_202B_202C_206D_202C_206A_200E_206A_206F_202B_206F_206A_206C_206C_200D_202E_206C_200B_200E_202A_202C_206D_202D_202A_202D_202E_202B_200B_206C_206C_202A_202B_206F_200D_206C_206A_206D_202E(gameObject); - long num6 = num5; - long num7 = 10000L; - long num8 = num6; - long num9 = num8 ^ num7; - long num10 = num8 & num7; - losIgnoreList[key] = num9 + (num10 + num10); - _206C_206D_206E_202D_202D_202C_200B_206B_200E_206C_202A_206B_202A_200B_206D_200F_206E_202C_200F_206C_202B_206B_206F_206F_200B_206B_206D_206A_206A_200F_206F_206F_206C_206A_206E_202B_206E_200B_202C_206C_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1206180878), new object[1] { _202C_200F_202A_206D_202B_202C_206D_202C_206A_200E_206A_206F_202B_206F_206A_206C_206C_200D_202E_206C_200B_200E_202A_202C_206D_202D_202A_202D_202E_202B_200B_206C_206C_202A_202B_206F_200D_206C_206A_206D_202E(gameObject) }); + _losIgnoreList[target.GameObjectId] = tickCount + 10000; + _logger.LogDebug("Target {TargetId:X8} added to LoS ignore list for 10s", target.GameObjectId); _losFailCount = 0; - _202C_202A_206D_202D_202E_202C_200B_202D_200E_202B_202E_206E_200F_200E_206D_206C_200C_200F_206F_200C_200E_202E_202B_206A_202E_206D_200E_206C_206C_200B_206A_202B_202C_202B_202A_206E_206C_202D_202B_202E_202E(_targetManager, (IGameObject)null); - num = -1612200531; - break; - } - case 9: - _lastLoSFailTimeMs = num5; - return; - case 1: - return; - case 11: - num = (_200D_206E_202E_202D_202D_202D_200E_200F_202A_200B_206A_200E_206B_202D_200E_206E_206F_206C_206C_202B_202E_200C_200B_202E_206F_202D_206B_202D_206B_206E_202A_202D_202E_206F_200F_200B_200C_206A_206F_200D_202E(_200B_200E_202A_206B_200F_202A_206D_200E_206C_202D_202C_202A_200D_200F_206E_206D_200D_206F_202D_200D_206D_206A_200C_206B_206A_202D_202E_202E_206F_206A_206E_202D_202C_200F_200F_200E_200D_206A_202D_200D_202E(message), _cannotSeeTargetText, StringComparison.Ordinal) ? (-1612200544) : (-1612200541)); - break; - case 5: - return; - case 2: - num = ((_currentFight != null) ? (-1612200529) : (-1612200543)); - break; - case 6: - { - long num11 = num5; - long num7 = _lastLoSFailTimeMs; - long num8 = num11; - num = ((~(~num8 + num7) >= 2000) ? (-1612200540) : (-1612200532)); - break; - } - case 8: - { - int losFailCount = _losFailCount; - num3 = 1; - num4 = losFailCount; - _losFailCount = (num4 | num3) + (num4 & num3); - num = ((_losFailCount < 2) ? (-1612200531) : (-1612200537)); - break; - } - case 4: - gameObject = _202B_202A_206E_200C_206F_202D_206D_206C_202D_200B_200E_206D_206C_206E_202D_206D_206D_202C_206D_202B_206C_200B_206E_202D_202C_206B_202A_202D_206E_200B_202B_206A_200D_206C_200F_200F_206D_206B_200E_200E_202E(_targetManager); - num = ((gameObject != null) ? (-1612200536) : (-1612200539)); - break; - case 7: - return; - case 0: - _lastLoSFailTargetId = _202C_200F_202A_206D_202B_202C_206D_202C_206A_200E_206A_206F_202B_206F_206A_206C_206C_200D_202E_206C_200B_200E_202A_202C_206D_202D_202A_202D_202E_202B_200B_206C_206C_202A_202B_206F_200D_206C_206A_206D_202E(gameObject); - _losFailCount = 1; - num = -1612200531; - break; + _targetManager.Target = null; } } + else + { + _lastLoSFailTargetId = target.GameObjectId; + _losFailCount = 1; + } + _lastLoSFailTimeMs = tickCount; } private void UpdateLastTargetAndQuestVariables(IGameObject? target) { - _lastTargetId = ((target != null) ? new ulong?(_202C_200F_202A_206D_202B_202C_206D_202C_206A_200E_206A_206F_202B_206F_206A_206C_206C_200D_202E_206C_200B_200E_202A_202C_206D_202D_202A_202D_202E_202B_200B_206C_206C_202A_202B_206F_200D_206C_206A_206D_202E(target)) : ((ulong?)null)); - _previousQuestVariables = ((!_202E_206B_200F_202A_200E_206E_206F_206E_206F_200D_202E_206E_206B_200B_202E_206B_200C_206C_200E_206D_200D_200D_202D_206F_206D_206F_202C_200E_206B_202D_202B_200C_202E_200D_206C_202A_200B_200C_202B_206D_202E(_currentFight.Data.ElementId, (ElementId)null)) ? null : _questFunctions.GetQuestProgressInfo(_currentFight.Data.ElementId)?.Variables); + _lastTargetId = target?.GameObjectId; + _previousQuestVariables = ((!(_currentFight.Data.ElementId != null)) ? null : _questFunctions.GetQuestProgressInfo(_currentFight.Data.ElementId)?.Variables); } - [MethodImpl(MethodImplOptions.NoInlining)] public void Stop(string label) { - IDisposable disposable = _logger.BeginScope(label); - try + using (_logger.BeginScope(label)) { - int num = ((_currentFight == null) ? (-1148615998) : (-1148616000)); - while (true) + if (_currentFight != null) { - int num2 = num; - int num3 = -1148615999; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = ((!_passiveBossModEnabled) ? (-1148615999) : (-1148615995)); - break; - case 4: - _bossModIpc.DisableAi(); - _passiveBossModEnabled = false; - num = -1148615999; - break; - case 2: - num = -1148616000; - break; - case 1: - _206C_206D_206E_202D_202D_202C_200B_206B_200E_206C_202A_206B_202A_200B_206D_200F_206E_202C_200F_206C_202B_206B_206F_206F_200B_206B_206D_206A_206A_200F_206F_206F_206C_206A_206E_202B_206E_200B_202C_206C_202E((ILogger)_logger, 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(950471825), Array.Empty()); - _currentFight.Module.Stop(); - num = -1148615998; - break; - case 0: - _losIgnoreList.Clear(); - _losFailCount = 0; - _currentFight = null; - _wasInCombat = false; - return; - } + _logger.LogDebug("Stopping current fight"); + _currentFight.Module.Stop(); } - } - finally - { - int num = ((disposable == null) ? (-1380771664) : (-1380771661)); - while (true) + if (_passiveBossModEnabled) { - int num5 = num; - int num3 = -1380771662; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1380771661; - break; - case 1: - _206C_202A_202A_200D_206B_206C_206F_206F_206E_200C_202E_206E_206A_202A_200F_202B_202C_202D_206E_206D_202C_200F_206E_200F_202D_200E_202D_206F_200D_206C_206D_206A_206F_200D_200B_206E_202A_202E_200F_200D_202E(disposable); - num = -1380771664; - break; - case 2: - goto end_IL_011b; - } - continue; - end_IL_011b: - break; + _bossModIpc.DisableAi(); + _passiveBossModEnabled = false; } + _losIgnoreList.Clear(); + _losFailCount = 0; + _currentFight = null; + _wasInCombat = false; } } - [MethodImpl(MethodImplOptions.NoInlining)] private void TerritoryChanged(uint territoryId) { - Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-685044721)); + Stop("TerritoryChanged"); } - [MethodImpl(MethodImplOptions.NoInlining)] public void Dispose() { - _206E_206A_206E_206E_202E_200E_200C_206C_200E_206A_200F_202E_206C_200C_202D_200E_206C_200F_200C_202B_206D_202D_200C_206E_200E_206F_202D_206F_206B_200F_202D_206C_206C_200C_202B_206A_206F_206C_200E_202E(_toastGui, (IToastGui.OnErrorToastDelegate)OnErrorToast); - _206C_202D_200D_202E_206B_200D_202D_202E_206F_206A_200E_202C_200B_202D_206E_206F_206E_206C_202E_206E_206E_202E_206B_200F_206D_202C_200B_206F_202E_200D_206B_200D_200F_206F_202C_206E_200E_200C_206D_202B_202E(_clientState, (Action)TerritoryChanged); - Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(610358865)); - } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static void _200C_206B_206A_200E_200C_200C_202D_200C_202D_200F_200B_202E_202C_200B_200B_202D_200B_202C_200D_206A_202C_206C_206B_202D_206D_202B_200F_206C_202A_200D_202E_202D_206B_200F_206E_206B_202C_202C_206E_206B_202E(IClientState P_0, Action P_1) - { - P_0.TerritoryChanged += P_1; - } - - static void _200B_206F_202C_206C_200D_200D_202A_206B_202D_200D_206C_206D_202C_206B_202C_206E_200F_202C_202B_200C_200B_206D_200F_200B_206B_200F_202A_202A_200C_206F_206D_206D_202B_206F_202C_206D_206B_200E_206C_202E_202E(IToastGui P_0, IToastGui.OnErrorToastDelegate P_1) - { - P_0.ErrorToast += P_1; - } - - static void _206B_202A_206B_200B_206A_202A_206C_200C_200F_206C_206B_202C_206E_202B_200E_200B_206C_200D_200E_202C_206C_206A_202D_206F_202E_202D_202E_206B_202E_202A_206E_202B_200B_202B_202D_200C_202D_202D_200D_202B_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogDebug(P_1, P_2, P_3); - } - - static long _200D_206B_206D_206C_200C_206F_200E_200C_202D_202A_200D_202D_202D_200B_206F_200C_202D_206B_202C_206B_200B_200B_200C_206A_202A_200D_206F_202E_200B_200F_200F_200C_200E_200F_200C_200F_200D_202D_202B_206F_202E() - { - return Environment.TickCount64; - } - - static Type _202D_206B_206A_202A_200D_206C_206A_206D_200F_200B_202D_206A_200F_200B_200D_200D_206F_202E_200B_206A_206D_202D_200D_206A_200D_206E_200F_206D_202A_200F_202E_206C_202B_202E_206B_202C_206E_206F_206D_206E_202E(object P_0) - { - return P_0.GetType(); - } - - static string _206D_206D_206A_206E_202A_206B_206E_202E_200E_206B_200C_206C_202A_200B_202B_202C_200E_202A_200D_206B_200B_202A_202A_206A_200B_200E_200D_206B_200F_202E_202C_200B_206E_206B_200E_202B_200E_200F_206A_206F_202E(MemberInfo P_0) - { - return P_0.Name; - } - - static void _206C_206D_206E_202D_202D_202C_200B_206B_200E_206C_202A_206B_202A_200B_206D_200F_206E_202C_200F_206C_202B_206B_206F_206F_200B_206B_206D_206A_206A_200F_206F_206F_206C_206A_206E_202B_206E_200B_202C_206C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static IGameObject _202B_202A_206E_200C_206F_202D_206D_206C_202D_200B_200E_206D_206C_206E_202D_206D_206D_202C_206D_202B_206C_200B_206E_202D_202C_206B_202A_202D_206E_200B_202B_206A_200D_206C_200F_200F_206D_206B_200E_200E_202E(ITargetManager P_0) - { - return P_0.Target; - } - - static ulong _202C_200F_202A_206D_202B_202C_206D_202C_206A_200E_206A_206F_202B_206F_206A_206C_206C_200D_202E_206C_200B_200E_202A_202C_206D_202D_202A_202D_202E_202B_200B_206C_206C_202A_202B_206F_200D_206C_206A_206D_202E(IGameObject P_0) - { - return P_0.GameObjectId; - } - - static bool _206C_202D_206B_206B_200B_200C_206C_202E_200D_206B_200E_206F_206B_206A_202C_206D_206E_206F_202B_202E_202D_200E_200E_202B_202E_206A_200F_200E_206C_202E_206E_206A_202B_202B_202A_206D_206B_206E_202A_200C_202E(IGameObject P_0) - { - return P_0.IsDead; - } - - static bool _202E_206B_200F_202A_200E_206E_206F_206E_206F_200D_202E_206E_206B_200B_202E_206B_200C_206C_200E_206D_200D_200D_202D_206F_206D_206F_202C_200E_206B_202D_202B_200C_202E_200D_206C_202A_200B_200C_202B_206D_202E(ElementId P_0, ElementId P_1) - { - return P_0 != P_1; - } - - static bool _202C_200D_202C_202A_202C_206C_202D_200C_200D_200F_202C_206C_206C_206E_206E_206B_202A_200E_202E_206A_202A_200C_206F_206A_206B_200D_206B_206F_206D_206A_200C_206C_202A_202A_202A_206D_202D_200D_202E_206A_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static uint _206C_206F_202B_202E_206D_200E_202A_200F_200E_200B_206D_206A_200F_200B_200D_206B_200C_200C_202E_200B_200B_200E_202B_202D_202A_206C_206E_200B_206B_206F_202A_202E_202B_200C_202C_206F_202A_202B_200F_202D_202E(ComplexCombatData P_0) - { - return P_0.DataId; - } - - static uint _206F_202D_200F_200E_206F_206C_200C_200E_206E_206D_200F_202D_200E_202D_206B_200D_202B_202D_200E_202C_206B_202B_202C_202A_202C_202D_202A_206B_206B_200D_202B_202E_200C_200F_202C_206C_202D_206B_202D_206F_202E(IGameObject P_0) - { - return P_0.BaseId; - } - - static uint? _206C_200B_206D_202C_200C_202D_200E_200C_200C_202D_200E_206D_200B_200C_206C_202E_206A_206C_200C_206E_206E_206A_200C_200C_206B_206A_206B_202A_206D_202A_206E_206E_206C_200E_200B_202B_202C_200E_206E_202E(ComplexCombatData P_0) - { - return P_0.NameId; - } - - static uint _206A_206F_206D_206B_200B_200C_206B_202A_200C_202C_206B_206C_202D_200F_206D_206A_200F_202A_200D_206B_200D_202B_200F_206F_202C_202D_200D_200D_200C_206D_200C_200B_206D_202A_206E_206F_200F_206E_202E(ICharacter P_0) - { - return P_0.NameId; - } - - static uint? _206B_206C_200C_200F_200F_206A_200F_202A_206D_206C_202E_202B_202C_202D_202A_206B_206C_200E_206A_202D_202C_206D_202E_206A_200D_200C_200E_206B_206A_206E_200C_200C_206B_202E_202C_206C_202A_200B_206B_206C_202E(ComplexCombatData P_0) - { - return P_0.MinimumKillCount; - } - - static uint? _200F_202D_206D_200B_202D_202C_206E_202B_200B_202B_200D_206E_200D_202E_200C_200C_202E_206E_202E_206A_202D_200D_206A_206D_202A_206F_200F_206A_200D_202E_206E_200B_202B_200F_206D_200E_202C_202C_200E_202D_202E(ComplexCombatData P_0) - { - return P_0.RewardItemId; - } - - static int? _200F_206A_202E_202E_202D_202B_200D_206B_202D_202C_200E_202C_206C_200B_206A_200B_200B_202C_202D_206F_206A_202E_200E_202A_206C_206E_206E_200D_200C_200F_200B_206A_202C_202D_206D_200B_206E_202D_206E_202C_202E(ComplexCombatData P_0) - { - return P_0.RewardItemCount; - } - - static IList _206F_202C_206B_200C_202D_202A_200B_206B_200B_206C_200E_202D_200D_200D_200D_206F_206B_206B_200D_200C_206E_200D_206A_202D_202D_202A_200C_200C_200C_206A_200F_200E_202B_206F_200C_202D_200D_202E_202B_200C_202E(ComplexCombatData P_0) - { - return P_0.CompletionQuestVariablesFlags; - } - - static IPlayerCharacter _200D_206C_200C_200C_206E_200C_206B_202D_200F_202A_200B_206B_206A_202B_206D_200D_202C_200B_200D_206B_200D_202D_200B_202B_200E_206D_200C_202C_202B_200D_202E_202C_206A_202C_200C_206A_206B_206F_202C_200D_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static Vector3 _200C_202E_206B_200B_202D_206A_202B_200D_200D_200F_200D_202A_206C_202B_200E_200D_202E_206B_200C_200E_200B_200B_206C_200F_202E_200B_200B_202E_206D_200B_200D_200B_200D_200E_202B_206E_202A_206E_206F_200E_202E(IGameObject P_0) - { - return P_0.Position; - } - - static bool _206B_206D_202E_206E_206E_202D_206B_202E_200E_206B_206B_200F_206F_202B_202B_200C_202C_206A_202D_206B_202B_202B_206B_202E_206C_200E_202B_202E_206D_206A_206E_202B_202B_202E_200B_200F_202E_206C_202D_202B_202E(ILogger P_0, LogLevel P_1) - { - return P_0.IsEnabled(P_1); - } - - static SeString _206A_202D_206F_206C_202B_206E_202E_202A_206F_200B_200C_202C_206B_202B_202A_206F_200B_206F_206A_206F_206C_206C_200E_202A_206B_200E_202D_200F_202D_200C_202C_202D_200E_202B_206E_200D_200F_202E_206C_200D_202E(IGameObject P_0) - { - return P_0.Name; - } - - static bool _200C_202E_206C_202E_206E_206A_202E_200C_200C_206F_206E_200B_206B_200D_206A_202B_206F_206E_202B_200C_202A_202C_200C_202A_202C_200B_200E_200F_200E_200F_200D_200B_206A_202E_206F_202C_200D_202E_200D_202D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206C_202A_202A_200D_206B_206C_206F_206F_206E_200C_202E_206E_206A_202A_200F_202B_202C_202D_206E_206D_202C_200F_206E_200F_202D_200E_202D_206F_200D_206C_206D_206A_206F_200D_200B_206E_202A_202E_200F_200D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static bool _202A_202B_202C_200D_200D_200C_202C_206C_202C_202D_200C_202B_206C_202A_206B_206E_200E_202E_202B_206D_200B_202A_206A_206E_200C_200B_200B_200C_200F_206F_200C_206B_200C_200E_202B_206B_202A_200C_202B_202E(IGameObject P_0) - { - return P_0.IsTargetable; - } - - static StatusFlags _200B_200F_200D_200C_206C_206C_206F_200D_206C_200D_200E_200F_206B_202E_200E_200E_200E_206D_206E_206E_202D_202C_200B_202A_206B_206D_206C_202A_200E_206B_206C_206F_202E_206A_206A_206E_202A_200B_202B_206A_202E(ICharacter P_0) - { - return P_0.StatusFlags; - } - - static bool _200C_200D_202B_202E_200C_202C_206E_200F_200E_202A_206A_206C_206D_202B_202E_200D_206F_200F_202B_200D_200B_200C_206E_200F_200C_202C_206B_202A_206F_200F_200F_206B_206D_202B_200D_200F_206C_206C_206F_202A_202E(Enum P_0, Enum P_1) - { - return P_0.HasFlag(P_1); - } - - static ulong _206A_206E_202C_206B_206E_202B_202C_202E_202D_206E_200D_206F_206F_206D_202E_206F_200C_200B_200E_202E_206D_206F_202A_206D_206F_206B_206A_200D_200B_206E_202A_202E_200E_206A_206B_202E_200C_202A_206D_202E(IGameObject P_0) - { - return P_0.TargetObjectId; - } - - static string _206A_206E_200B_200E_202C_202C_206A_200B_206D_200F_206A_200E_200F_202C_206C_206B_200D_202C_202C_200B_200E_206E_200F_200E_200B_200B_206C_200F_202D_202C_200F_206A_206B_202A_200D_202C_200C_206F_206C_206C_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static nint _206B_200C_200E_200B_200C_206A_206F_200E_200C_200B_206C_200E_202B_202C_206E_206A_206A_200E_200F_206C_202B_206C_206A_200B_202C_202C_206D_206F_200D_202E_206F_206F_200D_200F_200F_200F_206D_202A_202A_200D_202E(IGameObject P_0) - { - return P_0.Address; - } - - static bool _206B_202B_206A_202A_206C_206A_206E_202B_206E_206B_202E_206A_200F_206C_200E_202B_200F_202C_206A_202D_200D_202C_202B_200B_200C_206C_202E_206B_202E_200D_200B_206F_206D_202A_206F_200E_202A_200F_206F_206B_202E(ComplexCombatData P_0) - { - return P_0.IgnoreQuestMarker; - } - - static Dalamud.Game.ClientState.Objects.Enums.BattleNpcSubKind _200C_200C_202B_200C_200D_206D_200D_206A_202E_206F_206A_200D_206C_206C_200E_202C_206C_206A_202E_202A_202C_200B_202E_200E_200E_206D_200D_200C_200C_206A_206A_200B_206B_202C_200B_202A_202B_202A_200E_206B_202E(IBattleNpc P_0) - { - return P_0.BattleNpcKind; - } - - static void _202C_202A_206D_202D_202E_202C_200B_202D_200E_202B_202E_206E_200F_200E_206D_206C_200C_200F_206F_200C_200E_202E_202B_206A_202E_206D_200E_206C_206C_200B_206A_202B_202C_202B_202A_206E_206C_202D_202B_202E_202E(ITargetManager P_0, IGameObject P_1) - { - P_0.Target = P_1; - } - - static string _200D_200C_202E_200D_206A_206A_206A_200E_206F_206C_200E_200B_200D_206D_206F_200F_200E_200F_202B_206F_206C_202C_200C_202A_202E_202C_206E_206E_206A_206C_202D_200F_200D_202B_202E_206F_206C_202B_206C_200F_202E(object P_0) - { - return P_0.ToString(); - } - - static float _200C_200B_200C_206F_200D_200E_200E_200D_200D_202D_202B_200B_200D_206B_202C_200D_200E_206B_206D_202D_206B_200C_206D_200D_200D_206C_200C_200F_206A_202E_202C_206A_202B_200F_206C_200B_206E_200B_202B_206A_202E(IGameObject P_0) - { - return P_0.HitboxRadius; - } - - static RowRef _202B_206B_202C_200E_202D_202D_200F_206E_202B_200C_202A_206F_200F_202E_206C_200F_206B_200D_206E_206A_206F_200C_200F_206D_200B_206D_206E_206E_200E_206B_200E_200F_200C_202A_200B_200B_202E_200D_200D_200C_202E(ICharacter P_0) - { - return P_0.ClassJob; - } - - static float _206F_202A_200E_206D_206C_200B_206B_200F_202B_200D_206E_200E_200E_202E_200F_202C_206E_206E_206B_206E_200F_206E_206E_206D_200B_206E_200E_202C_206A_202A_200E_206F_206A_206F_202A_200F_202B_206F_206D_200D_202E(float P_0, float P_1) - { - return Math.Min(P_0, P_1); - } - - static string _200B_200E_202A_206B_200F_202A_206D_200E_206C_202D_202C_202A_200D_200F_206E_206D_200D_206F_202D_200D_206D_206A_200C_206B_206A_202D_202E_202E_206F_206A_206E_202D_202C_200F_200F_200E_200D_206A_202D_200D_202E(SeString P_0) - { - return P_0.TextValue; - } - - static bool _200D_206E_202E_202D_202D_202D_200E_200F_202A_200B_206A_200E_206B_202D_200E_206E_206F_206C_206C_202B_202E_200C_200B_202E_206F_202D_206B_202D_206B_206E_202A_202D_202E_206F_200F_200B_200C_206A_206F_200D_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.Contains(P_1, P_2); - } - - static void _206E_206A_206E_206E_202E_200E_200C_206C_200E_206A_200F_202E_206C_200C_202D_200E_206C_200F_200C_202B_206D_202D_200C_206E_200E_206F_202D_206F_206B_200F_202D_206C_206C_200C_202B_206A_206F_206C_200E_202E(IToastGui P_0, IToastGui.OnErrorToastDelegate P_1) - { - P_0.ErrorToast -= P_1; - } - - static void _206C_202D_200D_202E_206B_200D_202D_202E_206F_206A_200E_202C_200B_202D_206E_206F_206E_206C_202E_206E_206E_202E_206B_200F_206D_202C_200B_206F_202E_200D_206B_200D_200F_206F_202C_206E_200E_200C_206D_202B_202E(IClientState P_0, Action P_1) - { - P_0.TerritoryChanged -= P_1; + _toastGui.ErrorToast -= OnErrorToast; + _clientState.TerritoryChanged -= TerritoryChanged; + Stop("Dispose"); } } diff --git a/Questionable/Questionable.Controller/CommandHandler.cs b/Questionable/Questionable.Controller/CommandHandler.cs index 07704d8..9c1a4ba 100644 --- a/Questionable/Questionable.Controller/CommandHandler.cs +++ b/Questionable/Questionable.Controller/CommandHandler.cs @@ -1,9 +1,7 @@ using System; using System.Runtime.CompilerServices; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Game.Command; using Dalamud.Plugin.Services; -using LLib.ImGui; using Questionable.Functions; using Questionable.Windows; @@ -55,7 +53,6 @@ internal sealed class CommandHandler : IDisposable private readonly ChangelogWindow _changelogWindow; - [MethodImpl(MethodImplOptions.NoInlining)] public CommandHandler(ICommandManager commandManager, IChatGui chatGui, QuestController questController, MovementController movementController, FateController fateController, SeasonalDutyController seasonalDutyController, AttunementController attunementController, CustomDeliveryController customDeliveryController, FishingController fishingController, QuestRegistry questRegistry, ConfigWindow configWindow, OneTimeSetupWindow oneTimeSetupWindow, QuestWindow questWindow, QuestSelectionWindow questSelectionWindow, QuestSequenceWindow questSequenceWindow, JournalProgressWindow journalProgressWindow, FateSelectionWindow fateSelectionWindow, SeasonalDutySelectionWindow seasonalDutySelectionWindow, ITargetManager targetManager, QuestFunctions questFunctions, GameFunctions gameFunctions, AetheryteFunctions aetheryteFunctions, IDataManager dataManager, IClientState clientState, IObjectTable objectTable, Configuration configuration, ChangelogWindow changelogWindow) { _commandManager = commandManager; @@ -78,567 +75,146 @@ internal sealed class CommandHandler : IDisposable _clientState = clientState; _configuration = configuration; _changelogWindow = changelogWindow; - _206F_202A_200D_206C_202E_206D_206D_200F_206B_202A_200D_202D_206F_206D_200E_206F_202A_200C_200E_200F_202B_200E_206F_206A_200F_200D_200D_202D_206B_206F_200D_202D_206C_202C_200E_200B_206B_200E_202C_200D_202E(_clientState, (IClientState.LogoutDelegate)OnLogout); + _clientState.Logout += OnLogout; ICommandManager commandManager2 = _commandManager; - string text = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1083379744); - CommandInfo commandInfo = _206E_200B_200D_200C_206A_202B_202E_206D_202C_200E_202D_206E_206B_206D_202B_206C_200E_200E_206D_200E_202D_206F_206A_200D_200F_200C_206B_206E_206A_202B_200B_206D_200D_206C_206E_206D_202E_206D_200B_206C_202E((IReadOnlyCommandInfo.HandlerDelegate)ProcessCommand); - string text2 = _200C_206C_200E_206E_202A_200D_202E_206C_200C_206B_202E_202A_206E_200F_206E_200E_202C_202C_200B_206B_202E_202A_202C_200F_200E_200C_206C_202D_206F_200B_202C_206F_206E_206B_200F_200C_202E_206F_206C_206F_202E(_202D_206E_200B_200B_206B_202E_202D_206B_200F_202A_202A_202D_206C_206C_202E_202C_202B_202B_200F_200F_202A_206E_200C_202B_206D_202D_206D_200C_200C_206E_200B_206B_202D_202C_206F_206C_200C_200E_206C_202D_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(-1365294164)); + CommandInfo commandInfo = new CommandInfo(ProcessCommand); + string separator = Environment.NewLine + "\t"; InlineArray7 buffer = default(InlineArray7); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 0) = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2027085169); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 1) = 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(1094157375); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 2) = 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(762558285); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 3) = 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(-86108937); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 4) = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1230176856); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 5) = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(112790708); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 6) = 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(-794498605); - _202C_206D_202E_200C_206E_206C_200E_206D_206E_206F_206A_200F_206C_200E_206B_202A_202C_206D_200D_206E_200B_202B_206B_206B_206D_200F_206E_200F_206D_202D_200D_200E_202B_206A_206E_206F_206C_206F_206A_206F_202E(commandInfo, _206C_200F_206B_206C_200D_202A_202E_206C_200F_206E_206F_202C_206F_202B_206B_200E_200C_206A_202C_200F_206C_206D_200D_200E_202C_202E_206B_202C_200F_200B_206B_206B_206F_200F_202A_206E_200C_200D_206D_200F_202E(text2, global::_003CPrivateImplementationDetails_003E.InlineArrayAsReadOnlySpan, string>(in buffer, 7))); - _202E_200E_200C_202D_206B_200F_206B_206D_206E_202B_200D_202B_202E_202D_200C_206C_206F_202A_200B_200D_206F_206B_206A_202B_206F_206E_202D_202E_206B_200D_206D_206C_202D_206B_202E_206B_202E_202B_206B_200E_202E(commandManager2, text, commandInfo); + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 0) = "Opens the Questing window"; + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 1) = "/qst help - displays simplified commands"; + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 2) = "/qst help-all - displays all available commands"; + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 3) = "/qst config - opens the configuration window"; + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 4) = "/qst changelog - opens the changelog window"; + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 5) = "/qst start - starts doing quests"; + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 6) = "/qst stop - stops doing quests"; + commandInfo.HelpMessage = string.Join(separator, global::_003CPrivateImplementationDetails_003E.InlineArrayAsReadOnlySpan, string>(in buffer, 7)); + commandManager2.AddHandler("/qst", commandInfo); } - [MethodImpl(MethodImplOptions.NoInlining)] private void ProcessCommand(string command, string arguments) { - int num = ((!_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(_200E_202E_200B_202C_206D_200F_206F_200C_200D_200E_202C_200D_206F_200B_200D_206E_206F_200C_202B_202D_206E_206B_200D_206B_206C_200B_206C_200D_206A_200E_202A_200C_202B_206E_200E_200B_202A_200B_202B_206B_202E(arguments), 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(356304837))) ? (-1968296446) : (-1968296445)); - char c = default(char); - string text = default(string); - string[] array = default(string[]); - while (true) + if (arguments.Trim() == "setup") { - int num2 = num; - int num3 = -1968296431; - int num4 = num2; - char num5; - char num6; - switch ((num4 | num3) - (num4 & num3)) + _oneTimeSetupWindow.IsOpenAndUncollapsed = true; + } + else if (!OpenSetupIfNeeded(arguments)) + { + string[] array = arguments.Split(' '); + switch (array[0]) { - case 50: - num = -1968296366; - break; - case 14: - num = ((c == 'h') ? (-1968296420) : (-1968296390)); - break; - case 63: - switch (_206D_200C_206B_206B_206B_206C_200B_200C_202B_200C_200F_206C_206B_200B_206F_202D_202E_206A_200F_200E_200C_200E_200B_206C_206D_206C_206A_206B_202C_206E_206F_202D_206C_200C_206B_202B_202B_202A_200B_200E_202E(text)) - { - case 3: - case 10: - case 11: - case 12: - case 13: - case 14: - case 15: - goto IL_021b; - case 5: - goto IL_024d; - case 16: - goto IL_0275; - case 6: - goto IL_0313; - case 1: - goto IL_033b; - case 2: - goto IL_0478; - case 8: - goto IL_04f2; - case 9: - goto IL_0579; - case 0: - goto IL_06cc; - case 4: - goto IL_0756; - case 7: - goto IL_07be; - } - num = -1968296367; - break; - case 45: - _206D_206D_200F_206F_206B_202C_200C_202A_206F_202E_206A_200D_202A_206C_206E_202C_206F_200F_200E_206D_202C_200E_200E_202C_206C_200E_200E_200B_206D_202E_206C_206C_206E_200D_200D_200B_200D_202D_200E_206E_202E((LWindow)_configWindow); - return; - case 31: - goto IL_01f7; - case 34: - num = -1968296366; - break; - case 61: - num = -1968296366; - break; - case 67: - goto IL_021b; - case 6: - goto IL_024d; - case 55: - goto IL_0275; - case 64: - num = -1968296366; - break; - case 28: - array = _206D_200E_200D_200B_200C_206D_206E_200E_200B_202D_200C_202A_202C_200D_200E_206B_200B_200B_202D_200C_202E_200B_206E_206B_202C_200E_206D_206D_206C_206F_200C_206A_202E_200E_206A_202E_202A_206C_206B_206F_202E(arguments, ' ', StringSplitOptions.None); - text = array[0]; - num = ((text == null) ? (-1968296366) : (-1968296402)); - break; - case 24: - num = -1968296366; - break; - case 13: - num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, 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(-452995351)) ? (-1968296442) : (-1968296405)); - break; - case 12: - goto IL_0313; - case 66: - goto IL_033b; - case 36: - num = ((c == 'z') ? (-1968296407) : (-1968296424)); - break; - case 19: - num = ((!OpenSetupIfNeeded(arguments)) ? (-1968296435) : (-1968296438)); - break; - case 52: - num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(125256215)) ? (-1968296407) : (-1968296397)); - break; - case 5: - _questWindow.Reload(); - return; - case 37: - goto IL_03ff; - case 22: - num = -1968296366; - break; - case 15: - num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-250062108)) ? (-1968296444) : (-1968296385)); - break; - case 39: - num = ((c == 'w') ? (-1968296437) : (-1968296448)); - break; - case 7: - goto IL_0460; - case 33: - num = -1968296366; - break; - case 2: - goto IL_0478; - case 40: - _questController.InterruptQueueWithCombat(); - return; - case 47: - num = -1968296366; - break; - case 27: - return; - case 44: - num = -1968296366; - break; - case 57: - goto IL_04c5; - case 16: - goto IL_04f2; - case 56: - _questSelectionWindow.OpenForCurrentZone(); - return; - case 51: - num = ((c == 's') ? (-1968296412) : (-1968296433)); - break; - case 46: - num = -1968296366; - break; - case 21: - _200B_202B_200E_206A_206D_202A_200D_200E_206B_200D_206D_200D_202A_206A_200C_200D_206E_200B_200F_200E_206E_202B_200B_202B_206C_206E_202B_202C_206A_200F_206F_206B_206A_206D_200C_206F_206A_200C_202E_206F_202E((LWindow)_questWindow, true); - _questController.Start(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(1553553142)); - return; - case 4: - goto IL_0579; - case 8: - num = ((c == 'r') ? (-1968296406) : (-1968296413)); - break; - case 30: - num = ((c == 'z') ? (-1968296411) : (-1968296386)); - break; - case 60: - num = -1968296366; - break; - case 29: - _206D_206D_200F_206F_206B_202C_200C_202A_206F_202E_206A_200D_202A_206C_206E_202C_206F_200F_200E_206D_202C_200E_200E_202C_206C_200E_200E_200B_206D_202E_206C_206C_206E_200D_200D_200B_200D_202D_200E_206E_202E((LWindow)_changelogWindow); - return; - case 1: - _questSelectionWindow.OpenForTarget(_200E_200F_206B_202B_200D_206F_202B_206E_202D_202A_206A_200C_202C_202A_200B_202A_206C_206F_200F_202E_200F_200C_202E_206D_206A_202A_200B_202B_200C_206A_206C_206B_206F_202E_202D_206B_200D_202D_202E_202D_202E(_targetManager)); - return; - case 49: - num = -1968296366; - break; - case 54: - num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1011458983)) ? (-1968296436) : (-1968296421)); - break; - case 11: - goto IL_064e; - case 62: - goto IL_067b; - case 38: - num = -1968296366; - break; - case 10: - num = -1968296366; - break; - case 42: - num = -1968296366; - break; - case 41: - goto IL_06cc; - case 25: - goto IL_06d8; - case 32: - num = -1968296366; - break; - case 43: - num = -1968296366; - break; - case 18: - _200B_202B_200E_206A_206D_202A_200D_200E_206B_200D_206D_200D_202A_206A_200C_200D_206E_200B_200F_200E_206E_202B_200B_202B_206C_206E_202B_202C_206A_200F_206F_206B_206A_206D_200C_206F_206A_200C_202E_206F_202E((LWindow)_oneTimeSetupWindow, true); - return; - case 17: - num = -1968296366; - break; - case 23: - PrintHelp(showAll: true); - return; - case 58: - num = -1968296366; - break; - case 26: - num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(247506049)) ? (-1968296432) : (-1968296403)); - break; - case 3: - goto IL_0756; - case 59: - num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(389927297)) ? (-1968296428) : (-1968296400)); - break; - case 48: - goto IL_07be; - case 35: - num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, 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(247173070)) ? (-1968296388) : (-1968296439)); - break; - case 53: - num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1935052277)) ? (-1968296431) : (-1968296416)); - break; - case 20: - num = -1968296445; - break; - case 0: - _movementController.Stop(); - _questController.Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1980456505)); - _fateController.Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1980456505)); - _seasonalDutyController.Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1980456505)); - _attunementController.Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-841271388)); - _customDeliveryController.Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1980456505)); - _fishingController.Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-276225839)); - return; - case 65: - num = -1968296366; - break; - case 9: - { - num = -1968296366; - break; - } - IL_0478: - c = _200B_206F_202D_202A_200E_202E_206C_200F_202E_202D_202B_200F_202C_202D_202B_200F_202C_200E_200B_202D_202B_200D_202C_202D_202C_206A_206F_200E_200F_200F_202C_200E_206A_202E_206F_202A_200B_202A_206E_206A_202E(text, 0); - num = ((c == 'c') ? (-1968296409) : (-1968296417)); - break; - IL_024d: - c = _200B_206F_202D_202A_200E_202E_206C_200F_202E_202D_202B_200F_202C_202D_202B_200F_202C_200E_200B_202D_202B_200D_202C_202D_202C_206A_206F_200E_200F_200F_202C_200E_206A_202E_206F_202A_200B_202A_206E_206A_202E(text, 0); - num = ((c == 's') ? (-1968296418) : (-1968296394)); - break; - IL_07be: - num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(651525904)) ? (-1968296426) : (-1968296399)); - break; - IL_033b: - c = _200B_206F_202D_202A_200E_202E_206C_200F_202E_202D_202B_200F_202C_202D_202B_200F_202C_200E_200B_202D_202B_200D_202C_202D_202C_206A_206F_200E_200F_200F_202C_200E_206A_202E_206F_202A_200B_202A_206E_206A_202E(text, 0); - num5 = c; - num3 = 99; - num4 = num5; - switch (~(~num4 + num3)) - { - case 0: - break; - case 1: - goto IL_01f7; - case 2: - case 4: - case 6: - goto IL_021b; - default: - goto IL_0376; - case 5: - goto IL_03ff; - case 7: - goto IL_0460; - case 3: - goto IL_06d8; - } - goto case 45; - IL_06d8: - _206D_206D_200F_206F_206B_202C_200C_202A_206F_202E_206A_200D_202A_206C_206E_202C_206F_200F_200E_206D_202C_200E_200E_202C_206C_200E_200E_200B_206D_202E_206C_206C_206E_200D_200D_200B_200D_202D_200E_206E_202E((LWindow)_fateSelectionWindow); - return; - IL_0756: - c = _200B_206F_202D_202A_200E_202E_206C_200F_202E_202D_202B_200F_202C_202D_202B_200F_202C_200E_200B_202D_202B_200D_202C_202D_202C_206A_206F_200E_200F_200F_202C_200E_206A_202E_206F_202A_200B_202A_206E_206A_202E(text, 0); - num6 = c; - num3 = 100; - num4 = num6; - switch (~(~num4 + num3)) - { - case 1: - case 3: - break; - case 2: - goto IL_04c5; - case 4: - goto IL_064e; - case 0: - goto IL_067b; - default: - goto IL_0785; - } - goto IL_021b; - IL_0785: - num = -1968296414; - break; - IL_067b: - num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1752048098)) ? (-1968296434) : (-1968296368)); - break; - IL_0460: - _206D_206D_200F_206F_206B_202C_200C_202A_206F_202E_206A_200D_202A_206C_206E_202C_206F_200F_200E_206D_202C_200E_200E_202C_206C_200E_200E_200B_206D_202E_206C_206C_206E_200D_200D_200B_200D_202D_200E_206E_202E((LWindow)_journalProgressWindow); - return; - IL_03ff: + case "h": + case "help": PrintHelp(showAll: false); - return; - IL_064e: - num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1436321725)) ? (-1968296396) : (-1968296387)); break; - IL_0376: - num = -1968296395; + case "ha": + case "help-all": + PrintHelp(showAll: true); break; - IL_01f7: - _206D_206D_200F_206F_206B_202C_200C_202A_206F_202E_206A_200D_202A_206C_206E_202C_206F_200F_200E_206D_202C_200E_200E_202C_206C_200E_200E_200B_206D_202E_206C_206C_206E_200D_200D_200B_200D_202D_200E_206E_202E((LWindow)_seasonalDutySelectionWindow); - return; - IL_04c5: - num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1573932804)) ? (-1968296440) : (-1968296404)); + case "c": + case "config": + _configWindow.ToggleOrUncollapse(); break; - IL_0313: - c = _200B_206F_202D_202A_200E_202E_206C_200F_202E_202D_202B_200F_202C_202D_202B_200F_202C_200E_200B_202D_202B_200D_202C_202D_202C_206A_206F_200E_200F_200F_202C_200E_206A_202E_206F_202A_200B_202A_206E_206A_202E(text, 0); - num = ((c == 'c') ? (-1968296398) : (-1968296423)); + case "cl": + case "changelog": + _changelogWindow.ToggleOrUncollapse(); break; - IL_06cc: - _206D_206D_200F_206F_206B_202C_200C_202A_206F_202E_206A_200D_202A_206C_206E_202C_206F_200F_200E_206D_202C_200E_200E_202C_206C_200E_200E_200B_206D_202E_206C_206C_206E_200D_200D_200B_200D_202D_200E_206E_202E((LWindow)_questWindow); - return; - IL_0579: - num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1367448256)) ? (-1968296436) : (-1968296441)); + case "start": + _questWindow.IsOpenAndUncollapsed = true; + _questController.Start("Start command"); break; - IL_04f2: - num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, 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(979277832)) ? (-1968296442) : (-1968296389)); + case "stop": + _movementController.Stop(); + _questController.Stop("Stop command"); + _fateController.Stop("Stop command"); + _seasonalDutyController.Stop("Stop command"); + _attunementController.Stop("Stop command"); + _customDeliveryController.Stop("Stop command"); + _fishingController.Stop("Stop command"); break; - IL_0275: - num = (_202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-223898377)) ? (-1968296391) : (-1968296393)); + case "reload": + _questWindow.Reload(); + break; + case "which": + _questSelectionWindow.OpenForTarget(_targetManager.Target); + break; + case "z": + case "zone": + _questSelectionWindow.OpenForCurrentZone(); + break; + case "j": + case "journal": + _journalProgressWindow.ToggleOrUncollapse(); + break; + case "f": + case "fate": + _fateSelectionWindow.ToggleOrUncollapse(); + break; + case "d": + case "duty": + _seasonalDutySelectionWindow.ToggleOrUncollapse(); + break; + case "handle-interrupt": + _questController.InterruptQueueWithCombat(); + break; + case "": + _questWindow.ToggleOrUncollapse(); + break; + default: + _chatGui.PrintError("Unknown subcommand " + array[0], "Questionable", 576); break; - IL_021b: - _200C_206E_202E_206F_206D_206F_200E_206A_206B_206E_206D_202D_206B_206E_206D_200C_206E_206F_206C_206A_202A_200E_202D_206F_202A_200D_202B_206F_200C_202E_206A_200C_200D_206D_200F_202C_206C_206E_206C_206F_202E(_chatGui, _200C_206C_200E_206E_202A_200D_202E_206C_200C_206B_202E_202A_206E_200F_206E_200E_202C_202C_200B_206B_202E_202A_202C_200F_200E_200C_206C_202D_206F_200B_202C_206F_206E_206B_200F_200C_202E_206F_206C_206F_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(66928123), array[0]), 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(85756196), (ushort?)(ushort)576); - return; } } } - [MethodImpl(MethodImplOptions.NoInlining)] private void PrintHelp(bool showAll) { - _206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, 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(759427951), 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(85756196), (ushort?)(ushort)576); - _206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2028773556), 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(85756196), (ushort?)(ushort)576); - _206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, 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(1094157375), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); - _206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(944582271), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); - _206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, 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(-86108937), 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(1481660241), (ushort?)(ushort)576); - _206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(369755883), 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(1481660241), (ushort?)(ushort)576); - _206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1199190363), 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(85756196), (ushort?)(ushort)576); - _206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2087796218), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(467221712), (ushort?)(ushort)576); - _206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, 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(-1446934470), 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(85756196), (ushort?)(ushort)576); - _206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1296112140), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); - int num = ((!showAll) ? (-1200394903) : (-1200394902)); - while (true) + _chatGui.Print("Available commands:", "Questionable", 576); + _chatGui.Print("/qst - toggles the Questing window", "Questionable", 576); + _chatGui.Print("/qst help - displays simplified commands", "Questionable", 576); + _chatGui.Print("/qst help-all - displays all available commands", "Questionable", 576); + _chatGui.Print("/qst config - opens the configuration window", "Questionable", 576); + _chatGui.Print("/qst setup - re-opens the first-time setup wizard", "Questionable", 576); + _chatGui.Print("/qst changelog - opens the changelog window", "Questionable", 576); + _chatGui.Print("/qst start - starts doing quests", "Questionable", 576); + _chatGui.Print("/qst stop - stops doing quests", "Questionable", 576); + _chatGui.Print("/qst reload - reload all quest data", "Questionable", 576); + if (showAll) { - int num2 = num; - int num3 = -1200394901; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1200394902; - break; - case 3: - _206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, 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(1602086836), 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(85756196), (ushort?)(ushort)576); - num = -1200394897; - break; - case 2: - _206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1967115278), 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(1481660241), (ushort?)(ushort)576); - num = ((!showAll) ? (-1200394897) : (-1200394904)); - break; - case 1: - _206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2039593709), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(467221712), (ushort?)(ushort)576); - _206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-365682793), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(467221712), (ushort?)(ushort)576); - _206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(_chatGui, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(29170112), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(467221712), (ushort?)(ushort)576); - num = -1200394903; - break; - case 4: - return; - } + _chatGui.Print("/qst which - shows all quests starting with your selected target", "Questionable", 576); + _chatGui.Print("/qst zone - shows all quests starting in the current zone (only includes quests with a known quest path, and currently visible unaccepted quests)", "Questionable", 576); + _chatGui.Print("/qst journal - toggles the Journal Progress window", "Questionable", 576); + } + _chatGui.Print("/qst fate / duty - toggles the farming window", "Questionable", 576); + if (showAll) + { + _chatGui.Print("/qst handle-interrupt - makes Questionable handle queued interrupts immediately (useful if you manually start combat)", "Questionable", 576); } } - [MethodImpl(MethodImplOptions.NoInlining)] private bool OpenSetupIfNeeded(string arguments) { - int num = (_configuration.IsPluginSetupComplete() ? 6725766 : 6725767); - while (true) + if (!_configuration.IsPluginSetupComplete()) { - int num2 = num; - int num3 = 6725766; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (string.IsNullOrEmpty(arguments)) { - case 5: - num = 6725767; - break; - case 0: - return false; - case 4: - _200B_202B_200E_206A_206D_202A_200D_200E_206B_200D_206D_200D_202A_206A_200C_200D_206E_200B_200F_200E_206E_202B_200B_202B_206C_206E_202B_202C_206A_200F_206F_206B_206A_206D_200C_206F_206A_200C_202E_206F_202E((LWindow)_oneTimeSetupWindow, true); - num = 6725764; - break; - case 1: - num = ((!_200C_202B_200F_206D_200D_200C_206E_202D_200F_202D_206E_200B_200C_202B_200B_202D_206C_206E_202D_206E_200F_200B_206C_202A_202D_202D_202A_206E_202C_200F_206F_200D_206F_200D_206E_206E_200C_200B_206E_206E_202E(arguments)) ? 6725765 : 6725762); - break; - case 3: - _200C_206E_202E_206F_206D_206F_200E_206A_206B_206E_206D_202D_206B_206E_206D_200C_206E_206F_206C_206A_202A_200E_202D_206F_202A_200D_202B_206F_200C_202E_206A_200C_200D_206D_200F_202C_206C_206E_206C_206F_202E(_chatGui, 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(2108279054), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - num = 6725764; - break; - case 2: - return true; + _oneTimeSetupWindow.IsOpenAndUncollapsed = true; } + else + { + _chatGui.PrintError("Please complete the one-time setup first.", "Questionable", 576); + } + return true; } + return false; } private void OnLogout(int type, int code) { } - [MethodImpl(MethodImplOptions.NoInlining)] public void Dispose() { - _206D_206C_200F_200C_206B_200D_200B_202D_200F_200B_202E_206D_200B_202D_206A_200B_206E_206A_206D_200B_200E_202D_206D_206B_206E_206D_206A_200F_206F_200E_200E_200E_200C_206F_200E_202B_206A_200F_202A_202E_202E(_commandManager, 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(2086100270)); - _206A_200E_202D_200C_200C_206F_206E_200F_206C_202D_206C_200B_206B_206D_206D_200C_200D_206F_202C_202C_206E_206D_206E_202D_206C_206C_206B_206F_202D_202A_202A_200F_200B_202B_200E_200D_202B_206E_202B_200E_202E(_clientState, (IClientState.LogoutDelegate)OnLogout); - } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static void _206F_202A_200D_206C_202E_206D_206D_200F_206B_202A_200D_202D_206F_206D_200E_206F_202A_200C_200E_200F_202B_200E_206F_206A_200F_200D_200D_202D_206B_206F_200D_202D_206C_202C_200E_200B_206B_200E_202C_200D_202E(IClientState P_0, IClientState.LogoutDelegate P_1) - { - P_0.Logout += P_1; - } - - static CommandInfo _206E_200B_200D_200C_206A_202B_202E_206D_202C_200E_202D_206E_206B_206D_202B_206C_200E_200E_206D_200E_202D_206F_206A_200D_200F_200C_206B_206E_206A_202B_200B_206D_200D_206C_206E_206D_202E_206D_200B_206C_202E(IReadOnlyCommandInfo.HandlerDelegate P_0) - { - return new CommandInfo(P_0); - } - - static string _202D_206E_200B_200B_206B_202E_202D_206B_200F_202A_202A_202D_206C_206C_202E_202C_202B_202B_200F_200F_202A_206E_200C_202B_206D_202D_206D_200C_200C_206E_200B_206B_202D_202C_206F_206C_200C_200E_206C_202D_202E() - { - return Environment.NewLine; - } - - static string _200C_206C_200E_206E_202A_200D_202E_206C_200C_206B_202E_202A_206E_200F_206E_200E_202C_202C_200B_206B_202E_202A_202C_200F_200E_200C_206C_202D_206F_200B_202C_206F_206E_206B_200F_200C_202E_206F_206C_206F_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static string _206C_200F_206B_206C_200D_202A_202E_206C_200F_206E_206F_202C_206F_202B_206B_200E_200C_206A_202C_200F_206C_206D_200D_200E_202C_202E_206B_202C_200F_200B_206B_206B_206F_200F_202A_206E_200C_200D_206D_200F_202E(string P_0, ReadOnlySpan P_1) - { - return string.Join(P_0, P_1); - } - - static void _202C_206D_202E_200C_206E_206C_200E_206D_206E_206F_206A_200F_206C_200E_206B_202A_202C_206D_200D_206E_200B_202B_206B_206B_206D_200F_206E_200F_206D_202D_200D_200E_202B_206A_206E_206F_206C_206F_206A_206F_202E(CommandInfo P_0, string P_1) - { - P_0.HelpMessage = P_1; - } - - static bool _202E_200E_200C_202D_206B_200F_206B_206D_206E_202B_200D_202B_202E_202D_200C_206C_206F_202A_200B_200D_206F_206B_206A_202B_206F_206E_202D_202E_206B_200D_206D_206C_202D_206B_202E_206B_202E_202B_206B_200E_202E(ICommandManager P_0, string P_1, CommandInfo P_2) - { - return P_0.AddHandler(P_1, P_2); - } - - static string _200E_202E_200B_202C_206D_200F_206F_200C_200D_200E_202C_200D_206F_200B_200D_206E_206F_200C_202B_202D_206E_206B_200D_206B_206C_200B_206C_200D_206A_200E_202A_200C_202B_206E_200E_200B_202A_200B_202B_206B_202E(string P_0) - { - return P_0.Trim(); - } - - static bool _202D_206B_200B_206E_200B_206A_200D_200D_200B_200C_206B_206A_206B_202E_200E_200B_206A_202E_200C_202C_202E_202E_200B_206A_200C_200B_206C_202C_200F_206F_202B_200C_200E_202E_200D_202C_202E_200F_202C_206F_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - - static void _200B_202B_200E_206A_206D_202A_200D_200E_206B_200D_206D_200D_202A_206A_200C_200D_206E_200B_200F_200E_206E_202B_200B_202B_206C_206E_202B_202C_206A_200F_206F_206B_206A_206D_200C_206F_206A_200C_202E_206F_202E(LWindow P_0, bool P_1) - { - P_0.IsOpenAndUncollapsed = P_1; - } - - static string[] _206D_200E_200D_200B_200C_206D_206E_200E_200B_202D_200C_202A_202C_200D_200E_206B_200B_200B_202D_200C_202E_200B_206E_206B_202C_200E_206D_206D_206C_206F_200C_206A_202E_200E_206A_202E_202A_206C_206B_206F_202E(string P_0, char P_1, StringSplitOptions P_2) - { - return P_0.Split(P_1, P_2); - } - - static int _206D_200C_206B_206B_206B_206C_200B_200C_202B_200C_200F_206C_206B_200B_206F_202D_202E_206A_200F_200E_200C_200E_200B_206C_206D_206C_206A_206B_202C_206E_206F_202D_206C_200C_206B_202B_202B_202A_200B_200E_202E(string P_0) - { - return P_0.Length; - } - - static char _200B_206F_202D_202A_200E_202E_206C_200F_202E_202D_202B_200F_202C_202D_202B_200F_202C_200E_200B_202D_202B_200D_202C_202D_202C_206A_206F_200E_200F_200F_202C_200E_206A_202E_206F_202A_200B_202A_206E_206A_202E(string P_0, int P_1) - { - return P_0[P_1]; - } - - static void _206D_206D_200F_206F_206B_202C_200C_202A_206F_202E_206A_200D_202A_206C_206E_202C_206F_200F_200E_206D_202C_200E_200E_202C_206C_200E_200E_200B_206D_202E_206C_206C_206E_200D_200D_200B_200D_202D_200E_206E_202E(LWindow P_0) - { - P_0.ToggleOrUncollapse(); - } - - static IGameObject _200E_200F_206B_202B_200D_206F_202B_206E_202D_202A_206A_200C_202C_202A_200B_202A_206C_206F_200F_202E_200F_200C_202E_206D_206A_202A_200B_202B_200C_206A_206C_206B_206F_202E_202D_206B_200D_202D_202E_202D_202E(ITargetManager P_0) - { - return P_0.Target; - } - - static void _200C_206E_202E_206F_206D_206F_200E_206A_206B_206E_206D_202D_206B_206E_206D_200C_206E_206F_206C_206A_202A_200E_202D_206F_202A_200D_202B_206F_200C_202E_206A_200C_200D_206D_200F_202C_206C_206E_206C_206F_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); - } - - static void _206D_206B_200C_200E_200B_206E_200C_202D_206D_202B_206E_206A_202E_200B_202A_206D_206F_202A_202D_202D_202E_202A_202D_206E_202D_206C_200F_202A_200D_200D_202B_206B_202B_202E_200C_206E_206C_200E_202A_206C_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.Print(P_1, P_2, P_3); - } - - static bool _200C_202B_200F_206D_200D_200C_206E_202D_200F_202D_206E_200B_200C_202B_200B_202D_206C_206E_202D_206E_200F_200B_206C_202A_202D_202D_202A_206E_202C_200F_206F_200D_206F_200D_206E_206E_200C_200B_206E_206E_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static bool _206D_206C_200F_200C_206B_200D_200B_202D_200F_200B_202E_206D_200B_202D_206A_200B_206E_206A_206D_200B_200E_202D_206D_206B_206E_206D_206A_200F_206F_200E_200E_200E_200C_206F_200E_202B_206A_200F_202A_202E_202E(ICommandManager P_0, string P_1) - { - return P_0.RemoveHandler(P_1); - } - - static void _206A_200E_202D_200C_200C_206F_206E_200F_206C_202D_206C_200B_206B_206D_206D_200C_200D_206F_202C_202C_206E_206D_206E_202D_206C_206C_206B_206F_202D_202A_202A_200F_200B_202B_200E_200D_202B_206E_202B_200E_202E(IClientState P_0, IClientState.LogoutDelegate P_1) - { - P_0.Logout -= P_1; + _commandManager.RemoveHandler("/qst"); + _clientState.Logout -= OnLogout; } } diff --git a/Questionable/Questionable.Controller/ContextMenuController.cs b/Questionable/Questionable.Controller/ContextMenuController.cs index 608a885..2f0d919 100644 --- a/Questionable/Questionable.Controller/ContextMenuController.cs +++ b/Questionable/Questionable.Controller/ContextMenuController.cs @@ -1,78 +1,38 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; -using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Game.Gui.ContextMenu; using Dalamud.Game.Text; -using Dalamud.Game.Text.SeStringHandling; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.UI; using FFXIVClientStructs.FFXIV.Client.UI.Agent; -using FFXIVClientStructs.FFXIV.Component.GUI; using LLib.GameData; using LLib.GameUI; using LLib.Shop; -using Lumina.Excel; -using Lumina.Excel.Sheets; using Microsoft.Extensions.Logging; +using Questionable.Controller.CustomDelivery; using Questionable.Data; using Questionable.Functions; -using Questionable.Model; using Questionable.Model.Gathering; -using Questionable.Model.Questing; namespace Questionable.Controller; internal sealed class ContextMenuController : IDisposable { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__16_0; - - public static Func _003C_003E9__16_1; - - public static Func _003C_003E9__16_2; - - internal bool _003CStartGathering_003Eb__16_0(IQuestInfo x) - { - return x is SatisfactionSupplyInfo; - } - - internal bool _003CStartGathering_003Eb__16_1(QuestStep x) - { - return _200D_202A_206C_200F_200E_202D_206F_206E_200D_200E_200F_202B_206A_206C_202B_202E_206C_206B_200F_206E_202D_202D_202E_206F_202D_200B_206F_202B_200F_200C_206A_206C_202C_202E_202C_200C_206B_206C_200C_206A_202E(x) == EInteractionType.SwitchClass; - } - - internal bool _003CStartGathering_003Eb__16_2(QuestStep x) - { - return _200D_202A_206C_200F_200E_202D_206F_206E_200D_200E_200F_202B_206A_206C_202B_202E_206C_206B_200F_206E_202D_202D_202E_206F_202D_200B_206F_202B_200F_200C_206A_206C_202C_202E_202C_200C_206B_206C_200C_206A_202E(x) == EInteractionType.Gather; - } - - static EInteractionType _200D_202A_206C_200F_200E_202D_206F_206E_200D_200E_200F_202B_206A_206C_202B_202E_206C_206B_200F_206E_202D_202D_202E_206F_202D_200B_206F_202B_200F_200C_206A_206C_202C_202E_202C_200C_206B_206C_200C_206A_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - } - private readonly IContextMenu _contextMenu; private readonly QuestController _questController; + private readonly CustomDeliveryController _customDeliveryController; + + private readonly FateController _fateController; + + private readonly SeasonalDutyController _seasonalDutyController; + + private readonly AttunementController _attunementController; + private readonly GatheringPointRegistry _gatheringPointRegistry; private readonly GatheringData _gatheringData; - private readonly QuestRegistry _questRegistry; - - private readonly QuestData _questData; - private readonly GameFunctions _gameFunctions; private readonly QuestFunctions _questFunctions; @@ -81,524 +41,158 @@ internal sealed class ContextMenuController : IDisposable private readonly IChatGui _chatGui; - private readonly IObjectTable _objectTable; - private readonly ILogger _logger; - public ContextMenuController(IContextMenu contextMenu, QuestController questController, GatheringPointRegistry gatheringPointRegistry, GatheringData gatheringData, QuestRegistry questRegistry, QuestData questData, GameFunctions gameFunctions, QuestFunctions questFunctions, IGameGui gameGui, IChatGui chatGui, IObjectTable objectTable, ILogger logger) + public ContextMenuController(IContextMenu contextMenu, QuestController questController, CustomDeliveryController customDeliveryController, FateController fateController, SeasonalDutyController seasonalDutyController, AttunementController attunementController, GatheringPointRegistry gatheringPointRegistry, GatheringData gatheringData, GameFunctions gameFunctions, QuestFunctions questFunctions, IGameGui gameGui, IChatGui chatGui, ILogger logger) { _contextMenu = contextMenu; _questController = questController; + _customDeliveryController = customDeliveryController; + _fateController = fateController; + _seasonalDutyController = seasonalDutyController; + _attunementController = attunementController; _gatheringPointRegistry = gatheringPointRegistry; _gatheringData = gatheringData; - _questRegistry = questRegistry; - _questData = questData; _gameFunctions = gameFunctions; _questFunctions = questFunctions; _gameGui = gameGui; _chatGui = chatGui; - _objectTable = objectTable; _logger = logger; - _200F_206F_200F_206C_202E_200D_206B_206E_200B_206A_202A_206E_202C_200F_200B_206D_200C_206E_206F_202B_202E_202C_200C_206A_200C_206E_202D_200C_200F_200E_202A_202C_206E_206A_200B_206C_206F_202D_200D_202A_202E(_contextMenu, (IContextMenu.OnMenuOpenedDelegate)MenuOpened); + _contextMenu.OnMenuOpened += MenuOpened; } - [MethodImpl(MethodImplOptions.NoInlining)] private void MenuOpened(IMenuOpenedArgs args) { - int num = ((_206F_200E_206E_206C_206D_206E_206C_202B_202C_206C_200D_202D_200D_202C_206D_206F_200C_202C_200D_202E_200E_202C_206A_200E_202D_202B_202B_202D_200D_206F_206B_206A_202A_200E_202B_206D_206E_206D_206B_206B_202E((IMenuArgs)args) == null) ? (-1062811854) : (-1062811842)); - uint num6 = default(uint); - uint npcId = default(uint); - while (true) + if (args.AddonName != null) { - int num2 = num; - int num3 = -1062811852; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - AddContextMenuEntry(args, num6, npcId, EClassJob.Miner, 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(-1250223418)); - AddContextMenuEntry(args, num6, npcId, EClassJob.Botanist, 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(-1145016567)); - return; - case 9: - _206F_200F_202B_206E_200F_200B_202E_202C_200D_202A_206B_206C_202D_202C_202C_200D_206D_202A_200F_200D_202E_206B_202D_200B_202E_202A_202E_202C_206A_200E_202D_206B_206D_200C_206E_206D_200C_200D_206E_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1140543498), Array.Empty()); - return; - case 3: - num = ((!_gatheringData.TryGetCustomDeliveryNpc(num6, out npcId)) ? (-1062811856) : (-1062811852)); - break; - case 7: - { - uint num7 = num6; - num3 = 500000; - num4 = (int)num7; - num6 = (uint)(~(~num4 + num3)); - num = -1062811849; - break; - } - case 5: - num = ((num6 < 500000) ? (-1062811849) : (-1062811853)); - break; - case 6: - num6 = GetHoveredSatisfactionSupplyItemId(); - num = ((num6 != 0) ? (-1062811851) : (-1062811843)); - break; - case 1: - num = ((num6 <= 1000000) ? (-1062811855) : (-1062811844)); - break; - case 10: - return; - case 4: - _206C_206A_200B_202B_202B_206D_200C_200B_206F_206B_200B_200B_200B_206D_206B_202A_202D_202C_206E_202C_206C_206D_200C_206D_206D_206D_200D_206E_202C_206F_202D_202E_202A_206B_202A_200C_206D_206C_200D_202C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-965966202), new object[1] { num6 }); - return; - case 8: - { - uint num5 = num6; - num3 = 1000000; - num4 = (int)num5; - num6 = (uint)(~(~num4 + num3)); - num = -1062811855; - break; - } - case 2: - num = -1062811842; - break; - } + return; } + uint num = GetHoveredSatisfactionSupplyItemId(); + if (num == 0) + { + _logger.LogTrace("Ignoring context menu, no item hovered"); + return; + } + if (num > 1000000) + { + num -= 1000000; + } + if (num >= 500000) + { + num -= 500000; + } + if (_gatheringData.TryGetCustomDeliveryNpc(num, out var _)) + { + AddContextMenuEntry(args, num); + return; + } + _logger.LogDebug("No custom delivery NPC found for item {ItemId}.", num); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe uint GetHoveredSatisfactionSupplyItemId() { AgentSatisfactionSupply* ptr = AgentSatisfactionSupply.Instance(); - int num = ((ptr == null) ? (-247318127) : (-247318126)); - int hoveredElementIndex = default(int); - AddonSatisfactionSupply* addonPtr = default(AddonSatisfactionSupply*); - while (true) + if (ptr == null || !ptr->IsAgentActive()) { - int num2 = num; - int num3 = -247318122; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return 0u; + } + if (_gameGui.TryGetAddonByName("SatisfactionSupply", out var addonPtr) && LAddon.IsAddonReady(&addonPtr->AtkUnitBase)) + { + int hoveredElementIndex = addonPtr->HoveredElementIndex; + if (hoveredElementIndex >= 0 && hoveredElementIndex <= 2) { - case 0: - hoveredElementIndex = addonPtr->HoveredElementIndex; - num = ((hoveredElementIndex < 0) ? (-247318114) : (-247318125)); - break; - case 4: - num = (ptr->IsAgentActive() ? (-247318121) : (-247318127)); - break; - case 7: - return 0u; - case 8: - return 0u; - case 2: - num = -247318126; - break; - case 6: return ptr->Items[addonPtr->HoveredElementIndex].Id; - case 3: - num = ((!_200F_206B_200B_202D_200D_206B_202A_200F_202A_200D_202B_202C_202B_206D_202D_202C_202C_202A_200F_200E_200C_202D_200D_202D_206E_202A_200D_200C_206F_200F_206A_200E_202A_206D_206B_200B_202E_206C_200C_202D_202E(&addonPtr->AtkUnitBase)) ? (-247318114) : (-247318122)); - break; - case 1: - num = ((!_gameGui.TryGetAddonByName(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(1921233017), out addonPtr)) ? (-247318114) : (-247318123)); - break; - case 5: - num = ((hoveredElementIndex > 2) ? (-247318114) : (-247318128)); - break; } } + return 0u; } - [MethodImpl(MethodImplOptions.NoInlining)] - private unsafe void AddContextMenuEntry(IMenuOpenedArgs args, uint itemId, uint npcId, EClassJob classJob, string verb) + private unsafe void AddContextMenuEntry(IMenuOpenedArgs args, uint itemId) { - ICharacter character = _200F_206F_202D_200D_202D_202C_206E_200B_206A_206F_202A_206C_202E_206F_202C_200C_202A_200E_200D_200C_206C_202B_202B_200E_202C_202C_206B_206D_202E_206E_206D_202B_200C_200C_206F_206D_202A_200B_200B_206C_202E(_objectTable); - int num = ((character != null) ? (-1338961886) : (-1338961880)); - bool flag2 = default(bool); - AgentSatisfactionSupply* ptr = default(AgentSatisfactionSupply*); - SatisfactionSupplyActions.NpcState npcState = default(SatisfactionSupplyActions.NpcState); - string text2 = default(string); - int quantityToGather = default(int); - string text = default(string); - ushort collectability = default(ushort); - bool flag = default(bool); - EClassJob rowId = default(EClassJob); - while (true) + GatheringPointId gatheringPointId; + bool flag = _gatheringPointRegistry.TryGetGatheringPointId(itemId, EClassJob.Miner, out gatheringPointId); + bool flag2 = _gatheringPointRegistry.TryGetGatheringPointId(itemId, EClassJob.Botanist, out gatheringPointId); + if (!flag && !flag2) { - int num2 = num; - int num3 = -1338961879; - int num4 = num2; - int num5; - int num6; - switch ((num4 | num3) - (num4 & num3)) + _logger.LogDebug("No gathering point found for item {ItemId}.", itemId); + } + else + { + if (_gatheringData.GetRecommendedCollectability(itemId) == 0) { - case 16: - flag2 = true; - num = -1338961860; - break; - case 3: - { - uint id = ptr->NpcInfo.Id; - num3 = 1; - num4 = (int)id; - npcState = _200F_206E_206E_206C_206B_202B_202A_206F_200F_206C_206A_200C_206E_206E_206E_202B_206B_206D_200C_206A_200F_206E_206F_200D_206F_200F_202E_202C_202E_202A_202C_200E_202C_200C_200E_206C_206A_202B_202D_206B_202E(~(~num4 + num3)); - num = ((ptr->NpcInfo.SatisfactionRank == 1) ? (-1338961874) : (-1338961864)); - break; + return; } - case 20: - num = ((!_gameFunctions.IsOccupied()) ? (-1338961877) : (-1338961862)); - break; - case 0: + AgentSatisfactionSupply* ptr = AgentSatisfactionSupply.Instance(); + if (ptr != null && ptr->IsAgentActive()) { - num = (_gatheringPointRegistry.TryGetGatheringPointId(itemId, classJob, out GatheringPointId _) ? (-1338961882) : (-1338961875)); - break; - } - case 12: - text2 = string.Empty; - num = (_questFunctions.IsClassJobUnlocked(classJob) ? (-1338961873) : (-1338961861)); - break; - case 1: - return; - case 6: - num = ((quantityToGather != 0) ? (-1338961884) : (-1338961881)); - break; - case 25: - return; - case 19: - text2 = 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(-631894183); - num = -1338961877; - break; - case 5: - flag2 = false; - num = -1338961860; - break; - case 23: - return; - case 2: - text = _202B_206C_206F_202D_202C_206C_206C_206C_200E_206B_202C_206A_200F_206A_206F_200C_200C_200E_206E_202E_200B_200F_206F_206D_206C_206D_206E_200E_202A_206A_202D_202B_206F_200F_206D_200E_202A_200B_200C_200E_202E(verb, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-608478114)); - num = (_200D_206D_206D_202B_202D_200E_202D_200D_200B_200D_200D_202C_206C_206F_206B_202C_200D_202C_202C_202B_200C_202B_206E_202E_206E_200C_202A_200B_206C_200F_202E_206D_200C_200E_202C_206A_202B_206E_200B_202E_202E(text2) ? (-1338961888) : (-1338961885)); - break; - case 9: - { - MenuItem menuItem = _206C_200F_200F_202C_202B_206F_206B_202A_202A_206D_202E_206E_206E_200C_200F_206E_200E_206A_202D_202A_206E_206A_202C_206E_202C_200E_202A_206A_200B_200B_202E_200F_202C_200D_202C_206E_200C_202B_206F_206C_202E(); - _200F_202B_206E_202E_200E_202E_206B_202A_206D_202C_206B_202C_206C_202B_202A_206A_202A_200C_202B_200B_200F_206D_202B_200D_200E_202D_200E_206B_202C_200B_206C_200F_206D_200E_202E_200C_200E_202B_200F_202C_202E(menuItem, (SeIconChar?)SeIconChar.Hyadelyn); - _202A_206C_200E_206B_206C_206C_206E_200C_200E_202C_202E_200C_200F_206D_202E_200C_202E_206C_202A_202E_200F_206B_206A_202D_206B_200F_200D_200C_200D_200D_206E_200C_200C_200E_200C_206B_200D_202C_202E(menuItem, (ushort)52); - _200E_206C_206D_202C_206A_200D_206A_202C_202D_202C_202E_200E_200C_200B_202A_202C_200C_206B_206E_206B_200F_200B_206A_206C_206F_206E_206F_200B_202C_200B_200C_200B_206F_206E_200B_200D_206B_206C_202A_200E_202E(menuItem, _202D_206A_202C_206F_202B_202B_206B_206B_206F_202A_202E_206C_202A_202B_206D_200F_206D_206E_206F_202B_200D_202D_202D_206F_200D_200F_202E_206B_202D_200E_200D_206F_206B_202C_200B_200D_206C_206F_206B_202C_202E(text)); - _202C_206D_200F_202E_200F_200B_206A_200F_202B_206A_202B_206C_206E_202A_206E_202D_206D_200F_202B_206E_206B_206E_200D_200C_200E_200C_200D_200F_200E_206F_202D_206F_206D_206A_206D_206F_200D_202D_202D_202C_202E(menuItem, (Action)delegate + int npcIndex = (int)(ptr->NpcInfo.Id - 1); + SatisfactionSupplyActions.NpcState npcState = SatisfactionSupplyActions.GetNpcState(npcIndex); + int maxTurnIns = ((ptr->NpcInfo.SatisfactionRank == 1) ? 3 : 6); + int num = Math.Min(ptr->NpcData.RemainingAllowances, SatisfactionSupplyHelper.CalculateTurnInsToNextRank((ushort)npcState.SatisfactionCurrent, (ushort)npcState.SatisfactionMax, maxTurnIns)); + bool num2 = (flag && _questFunctions.IsClassJobUnlocked(EClassJob.Miner)) || (flag2 && _questFunctions.IsClassJobUnlocked(EClassJob.Botanist)); + string text = string.Empty; + if (!num2) { - StartGathering(npcId, itemId, quantityToGather, collectability, classJob); - }); - _206E_202A_202E_200F_202D_200D_202B_202D_206C_202B_200E_202B_206D_202B_202E_202C_200E_202D_200D_200C_202E_200D_202D_202C_200E_202A_206D_200C_202C_206C_206B_202C_200B_202A_202C_200C_200C_206B_206E_206A_202E(menuItem, _200D_206D_206D_202B_202D_200E_202D_200D_200B_200D_200D_202C_206C_206F_206B_202C_200D_202C_202C_202B_200C_202B_206E_202E_206E_200C_202A_200B_206C_200F_202E_206D_200C_200E_202C_206A_202B_206E_200B_202E_202E(text2)); - _200E_202A_200E_200B_202C_200E_206E_200C_206B_206E_202B_202E_206C_200D_200B_200D_202B_206F_200C_202D_202A_200D_200E_206E_206B_206C_202A_206A_202B_202B_206D_206D_206A_206E_206A_202D_202C_202E_200C_206E_202E(args, menuItem); - return; - } - case 7: - num5 = 3; - goto IL_0299; - case 15: - collectability = _gatheringData.GetRecommendedCollectability(itemId); - num = ((collectability != 0) ? (-1338961870) : (-1338961858)); - break; - case 4: - _206C_206A_200B_202B_202B_206D_200C_200B_206F_206B_200B_200B_200B_206D_206B_202A_202D_202C_206E_202C_206C_206D_200C_206D_206D_206D_200D_206E_202C_206F_202D_202E_202A_206B_202A_200C_206D_206C_200D_202C_202E((ILogger)_logger, 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(956356199), new object[1] { classJob }); - return; - case 14: - text2 = 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(782238798); - num = -1338961877; - break; - case 18: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(13, 1); - defaultInterpolatedStringHandler.AppendFormatted(classJob); - defaultInterpolatedStringHandler.AppendLiteral(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(162231008)); - text2 = defaultInterpolatedStringHandler.ToStringAndClear(); - num = -1338961877; - break; - } - case 24: - text2 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1616176717); - num = -1338961877; - break; - case 8: - num = ((!flag) ? (-1338961879) : (-1338961872)); - break; - case 17: - num5 = 6; - goto IL_0299; - case 10: - text = _206E_200F_206C_202A_206A_206D_200B_202D_200F_202E_206C_206E_200B_200E_202A_206D_200C_206D_202A_206F_202C_202D_202C_200E_200B_202B_202A_200E_202D_206A_202D_202A_200D_202E_202C_202A_200F_200D_206B_206C_202E(text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1495931675), text2, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - num = -1338961888; - break; - case 27: - quantityToGather = 6; - ptr = AgentSatisfactionSupply.Instance(); - num = ((!ptr->IsAgentActive()) ? (-1338961883) : (-1338961878)); - break; - case 26: - num = -1338961880; - break; - case 21: - flag = flag2; - num = -1338961887; - break; - case 22: - num = ((rowId - 16 > EClassJob.Gladiator) ? (-1338961876) : (-1338961863)); - break; - case 11: - rowId = (EClassJob)_200B_206E_202D_206D_200F_200C_200D_206B_202D_200F_202B_206A_206F_200F_200E_202B_200E_206D_202C_202E_206C_206F_200B_200E_200E_206D_200F_202C_200E_206D_206D_202E_202C_200F_200E_206C_200F_202A_202D_206C_202E(character).RowId; - flag = classJob != rowId; - num = ((!flag) ? (-1338961887) : (-1338961857)); - break; - case 13: - { - num = ((quantityToGather <= _gameFunctions.GetFreeInventorySlots()) ? (-1338961859) : (-1338961871)); - break; + text = (flag ? "Miner not unlocked" : "Botanist not unlocked"); } - IL_0299: - num6 = num5; - quantityToGather = _206E_202E_206A_206F_200F_206B_206E_206F_202A_200C_200B_206A_200C_206D_206E_200E_200E_206A_200B_200D_202C_202E_200E_202C_206E_206E_202A_206B_206A_206B_200F_206B_206B_206A_202B_202D_206F_206E_206C_206C_202E((int)ptr->NpcData.RemainingAllowances, _200B_206A_202A_202D_202C_206C_202D_202C_206D_202E_200F_206C_202D_206F_202A_206C_206D_206E_202E_200D_202C_202D_206F_206E_200C_200F_202C_206F_206A_200F_206A_206D_206C_200B_202D_206A_200F_202D_200E_200F_202E((ushort)npcState.SatisfactionCurrent, (ushort)npcState.SatisfactionMax, num6)); - num = -1338961883; - break; + else if (num == 0) + { + text = "No allowances"; + } + else if (num > _gameFunctions.GetFreeInventorySlots()) + { + text = "Inventory full"; + } + else if (_gameFunctions.IsOccupied()) + { + text = "Can't be used while interacting"; + } + else if (_customDeliveryController.IsRunning) + { + text = "Delivery already in progress"; + } + else if (_questController.IsRunning || _fateController.IsRunning || _seasonalDutyController.IsRunning || _attunementController.IsRunning) + { + text = "Automation is running"; + } + string text2 = "Deliver with Questionable"; + if (!string.IsNullOrEmpty(text)) + { + text2 = text2 + " (" + text + ")"; + } + args.AddMenuItem(new MenuItem + { + Prefix = SeIconChar.Hyadelyn, + PrefixColor = 52, + Name = text2, + OnClicked = delegate + { + StartDelivery(npcIndex); + }, + IsEnabled = string.IsNullOrEmpty(text) + }); } } } - [MethodImpl(MethodImplOptions.NoInlining)] - private void StartGathering(uint npcId, uint itemId, int quantity, ushort collectability, EClassJob classJob) + private void StartDelivery(int npcIndex) { - SatisfactionSupplyInfo satisfactionSupplyInfo = (SatisfactionSupplyInfo)_questData.GetAllByIssuerDataId(npcId).Single((IQuestInfo x) => x is SatisfactionSupplyInfo); - Questionable.Model.Quest quest; - int num = ((!_questRegistry.TryGetQuest(satisfactionSupplyInfo.QuestId, out quest)) ? (-1785451051) : (-1785451044)); - EExtendedClassJob eExtendedClassJob = default(EExtendedClassJob); - QuestStep questStep = default(QuestStep); - QuestSequence questSequence = default(QuestSequence); - while (true) + _questController.Stop("Custom delivery start"); + _fateController.Stop("Custom delivery start"); + _seasonalDutyController.Stop("Custom delivery start"); + _attunementController.Stop("Custom delivery start"); + if (_customDeliveryController.State != CustomDeliveryController.EDeliveryState.Idle) { - int num2 = num; - int num3 = -1785451052; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = -1785451050; - break; - case 0: - eExtendedClassJob = EExtendedClassJob.Miner; - num = -1785451056; - break; - case 5: - num = -1785451044; - break; - case 4: - { - _206E_206F_200D_202A_206B_202D_202A_206C_202E_200D_200B_200C_202D_206E_206E_202A_202B_206C_202B_200D_200C_200D_200B_206D_206D_200B_202C_202A_206E_200D_200D_202A_206D_206E_202A_202E_206E_202A_206A_206F_202E(questStep, eExtendedClassJob); - QuestStep questStep2 = _202D_202E_202E_200D_206D_206F_206E_200E_200E_206D_206D_202C_200B_206C_206D_206F_206D_206E_200E_206E_206B_202A_202E_206E_202C_202C_202B_202E_206A_206A_206F_200B_202D_206C_202A_200D_202C_200F_206E_202B_202E(questSequence).Single((QuestStep x) => _003C_003Ec._200D_202A_206C_200F_200E_202D_206F_206E_200D_200E_200F_202B_206A_206C_202B_202E_206C_206B_200F_206E_202D_202D_202E_206F_202D_200B_206F_202B_200F_200C_206A_206C_202C_202E_202C_200C_206B_206C_200C_206A_202E(x) == EInteractionType.Gather); - int num5 = 1; - List list = new List(num5); - CollectionsMarshal.SetCount(list, num5); - ref GatheredItem reference = ref CollectionsMarshal.AsSpan(list)[0]; - GatheredItem gatheredItem = _206A_206F_200E_200E_206A_206E_202B_202B_206F_200B_200F_206E_200B_206E_200C_200E_206C_202C_202D_206A_202E_200E_206C_206D_202C_200B_206C_206C_202D_206E_200D_202C_200B_202D_200E_200F_202C_206E_206A_200C_202E(); - _202D_200F_206F_202A_200F_202E_206C_206B_200F_200C_202C_206C_200D_202E_202D_202A_206A_200B_206F_206F_200B_200B_200E_202E_200E_206C_202A_202D_202A_206B_206A_202D_200E_206A_202C_202C_206D_200B_202B_206A_202E(gatheredItem, itemId); - _202C_200B_200D_206C_206A_202C_202A_206D_202C_206F_200B_200D_206F_202E_206E_202E_206D_206B_200F_202A_202A_206F_200C_202A_206E_200B_202D_206C_206A_206C_206C_206E_206F_206D_206E_200F_202D_200D_200C_200E_202E(gatheredItem, quantity); - _206A_206C_200E_206B_206D_200D_200B_200F_200F_202C_206F_200E_200C_206F_202B_206D_206B_202C_206F_202D_206F_202A_202B_206B_206C_200C_206C_202A_200E_200C_200F_200C_202C_206D_202C_206B_206B_206B_200F_206B_202E(gatheredItem, collectability); - reference = gatheredItem; - _206A_200B_202E_202E_206F_202C_206A_206C_206B_202A_200D_202A_206D_202C_202A_202C_202A_202C_202A_206F_202C_202D_200C_206F_200D_206C_202E_206E_206E_200E_200D_206E_206B_200C_206A_202A_200B_200F_202C_206B_202E(questStep2, list); - _questController.SetGatheringQuest(quest); - _questController.StartGatheringQuest(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(1798633897)); - return; - } - case 8: - questSequence = quest.FindSequence(0); - questStep = _202D_202E_202E_200D_206D_206F_206E_200E_200E_206D_206D_202C_200B_206C_206D_206F_206D_206E_200E_206E_206B_202A_202E_206E_202C_202C_202B_202E_206A_206A_206F_200B_202D_206C_202A_200D_202C_200F_206E_202B_202E(questSequence).Single((QuestStep x) => _003C_003Ec._200D_202A_206C_200F_200E_202D_206F_206E_200D_200E_200F_202B_206A_206C_202B_202E_206C_206B_200F_206E_202D_202D_202E_206F_202D_200B_206F_202B_200F_200C_206A_206C_202C_202E_202C_200C_206B_206C_200C_206A_202E(x) == EInteractionType.SwitchClass); - num = ((classJob == EClassJob.Miner) ? (-1785451052) : (-1785451054)); - break; - case 2: - throw _206E_206B_202C_206A_200C_200E_202A_206A_200B_206F_202D_200D_200B_200E_200C_200F_206A_200E_200B_200D_202D_202A_200D_200D_202E_206F_206E_202E_202B_202A_202A_202E_206E_206B_206F_206C_202A_200C_200D_202C_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 6: - num = ((classJob == EClassJob.Botanist) ? (-1785451053) : (-1785451049)); - break; - case 1: - { - IChatGui chatGui = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(23, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1157681140)); - defaultInterpolatedStringHandler.AppendFormatted(satisfactionSupplyInfo.QuestId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(126419176)); - _202C_206D_206D_206D_206E_202C_206A_202A_200E_200C_206E_206F_206F_200F_200E_206A_200D_200F_200C_200D_206E_200B_202C_200C_206D_206C_200C_200F_206E_206F_202D_202D_206E_206A_206F_206E_206E_206F_200B_202C_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); - return; - } - case 7: - eExtendedClassJob = EExtendedClassJob.Botanist; - num = -1785451056; - break; - } + _customDeliveryController.Stop("Custom delivery start"); + } + if (!_customDeliveryController.Start(npcIndex, EDeliverySlot.Gather)) + { + _chatGui.PrintError("Unable to start custom delivery.", "Questionable", 576); } } public void Dispose() { - _202E_202B_202D_200F_206F_206B_200D_200B_200D_202C_206C_200F_200B_206B_202E_200D_206C_200E_206E_200B_200D_200D_202B_206A_200B_206E_206D_206B_202C_206D_200D_206B_206C_202E_200E_200E_206E_200C_200E_206A_202E(_contextMenu, (IContextMenu.OnMenuOpenedDelegate)MenuOpened); - } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static void _200F_206F_200F_206C_202E_200D_206B_206E_200B_206A_202A_206E_202C_200F_200B_206D_200C_206E_206F_202B_202E_202C_200C_206A_200C_206E_202D_200C_200F_200E_202A_202C_206E_206A_200B_206C_206F_202D_200D_202A_202E(IContextMenu P_0, IContextMenu.OnMenuOpenedDelegate P_1) - { - P_0.OnMenuOpened += P_1; - } - - static string _206F_200E_206E_206C_206D_206E_206C_202B_202C_206C_200D_202D_200D_202C_206D_206F_200C_202C_200D_202E_200E_202C_206A_200E_202D_202B_202B_202D_200D_206F_206B_206A_202A_200E_202B_206D_206E_206D_206B_206B_202E(IMenuArgs P_0) - { - return P_0.AddonName; - } - - static void _206F_200F_202B_206E_200F_200B_202E_202C_200D_202A_206B_206C_202D_202C_202C_200D_206D_202A_200F_200D_202E_206B_202D_200B_202E_202A_202E_202C_206A_200E_202D_206B_206D_200C_206E_206D_200C_200D_206E_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogTrace(P_1, P_2); - } - - static void _206C_206A_200B_202B_202B_206D_200C_200B_206F_206B_200B_200B_200B_206D_206B_202A_202D_202C_206E_202C_206C_206D_200C_206D_206D_206D_200D_206E_202C_206F_202D_202E_202A_206B_202A_200C_206D_206C_200D_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - unsafe static bool _200F_206B_200B_202D_200D_206B_202A_200F_202A_200D_202B_202C_202B_206D_202D_202C_202C_202A_200F_200E_200C_202D_200D_202D_206E_202A_200D_200C_206F_200F_206A_200E_202A_206D_206B_200B_202E_206C_200C_202D_202E(AtkUnitBase* P_0) - { - return LAddon.IsAddonReady(P_0); - } - - static IPlayerCharacter _200F_206F_202D_200D_202D_202C_206E_200B_206A_206F_202A_206C_202E_206F_202C_200C_202A_200E_200D_200C_206C_202B_202B_200E_202C_202C_206B_206D_202E_206E_206D_202B_200C_200C_206F_206D_202A_200B_200B_206C_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static RowRef _200B_206E_202D_206D_200F_200C_200D_206B_202D_200F_202B_206A_206F_200F_200E_202B_200E_206D_202C_202E_206C_206F_200B_200E_200E_206D_200F_202C_200E_206D_206D_202E_202C_200F_200E_206C_200F_202A_202D_206C_202E(ICharacter P_0) - { - return P_0.ClassJob; - } - - static SatisfactionSupplyActions.NpcState _200F_206E_206E_206C_206B_202B_202A_206F_200F_206C_206A_200C_206E_206E_206E_202B_206B_206D_200C_206A_200F_206E_206F_200D_206F_200F_202E_202C_202E_202A_202C_200E_202C_200C_200E_206C_206A_202B_202D_206B_202E(int P_0) - { - return SatisfactionSupplyActions.GetNpcState(P_0); - } - - static int _200B_206A_202A_202D_202C_206C_202D_202C_206D_202E_200F_206C_202D_206F_202A_206C_206D_206E_202E_200D_202C_202D_206F_206E_200C_200F_202C_206F_206A_200F_206A_206D_206C_200B_202D_206A_200F_202D_200E_200F_202E(ushort P_0, ushort P_1, int P_2) - { - return SatisfactionSupplyHelper.CalculateTurnInsToNextRank(P_0, P_1, P_2); - } - - static int _206E_202E_206A_206F_200F_206B_206E_206F_202A_200C_200B_206A_200C_206D_206E_200E_200E_206A_200B_200D_202C_202E_200E_202C_206E_206E_202A_206B_206A_206B_200F_206B_206B_206A_202B_202D_206F_206E_206C_206C_202E(int P_0, int P_1) - { - return Math.Min(P_0, P_1); - } - - static string _202B_206C_206F_202D_202C_206C_206C_206C_200E_206B_202C_206A_200F_206A_206F_200C_200C_200E_206E_202E_200B_200F_206F_206D_206C_206D_206E_200E_202A_206A_202D_202B_206F_200F_206D_200E_202A_200B_200C_200E_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static bool _200D_206D_206D_202B_202D_200E_202D_200D_200B_200D_200D_202C_206C_206F_206B_202C_200D_202C_202C_202B_200C_202B_206E_202E_206E_200C_202A_200B_206C_200F_202E_206D_200C_200E_202C_206A_202B_206E_200B_202E_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static string _206E_200F_206C_202A_206A_206D_200B_202D_200F_202E_206C_206E_200B_200E_202A_206D_200C_206D_202A_206F_202C_202D_202C_200E_200B_202B_202A_200E_202D_206A_202D_202A_200D_202E_202C_202A_200F_200D_206B_206C_202E(string P_0, string P_1, string P_2, string P_3) - { - return P_0 + P_1 + P_2 + P_3; - } - - static MenuItem _206C_200F_200F_202C_202B_206F_206B_202A_202A_206D_202E_206E_206E_200C_200F_206E_200E_206A_202D_202A_206E_206A_202C_206E_202C_200E_202A_206A_200B_200B_202E_200F_202C_200D_202C_206E_200C_202B_206F_206C_202E() - { - return new MenuItem(); - } - - static void _200F_202B_206E_202E_200E_202E_206B_202A_206D_202C_206B_202C_206C_202B_202A_206A_202A_200C_202B_200B_200F_206D_202B_200D_200E_202D_200E_206B_202C_200B_206C_200F_206D_200E_202E_200C_200E_202B_200F_202C_202E(MenuItem P_0, SeIconChar? P_1) - { - P_0.Prefix = P_1; - } - - static void _202A_206C_200E_206B_206C_206C_206E_200C_200E_202C_202E_200C_200F_206D_202E_200C_202E_206C_202A_202E_200F_206B_206A_202D_206B_200F_200D_200C_200D_200D_206E_200C_200C_200E_200C_206B_200D_202C_202E(MenuItem P_0, ushort P_1) - { - P_0.PrefixColor = P_1; - } - - static SeString _202D_206A_202C_206F_202B_202B_206B_206B_206F_202A_202E_206C_202A_202B_206D_200F_206D_206E_206F_202B_200D_202D_202D_206F_200D_200F_202E_206B_202D_200E_200D_206F_206B_202C_200B_200D_206C_206F_206B_202C_202E(string P_0) - { - return P_0; - } - - static void _200E_206C_206D_202C_206A_200D_206A_202C_202D_202C_202E_200E_200C_200B_202A_202C_200C_206B_206E_206B_200F_200B_206A_206C_206F_206E_206F_200B_202C_200B_200C_200B_206F_206E_200B_200D_206B_206C_202A_200E_202E(MenuItem P_0, SeString P_1) - { - P_0.Name = P_1; - } - - static void _202C_206D_200F_202E_200F_200B_206A_200F_202B_206A_202B_206C_206E_202A_206E_202D_206D_200F_202B_206E_206B_206E_200D_200C_200E_200C_200D_200F_200E_206F_202D_206F_206D_206A_206D_206F_200D_202D_202D_202C_202E(MenuItem P_0, Action P_1) - { - P_0.OnClicked = P_1; - } - - static void _206E_202A_202E_200F_202D_200D_202B_202D_206C_202B_200E_202B_206D_202B_202E_202C_200E_202D_200D_200C_202E_200D_202D_202C_200E_202A_206D_200C_202C_206C_206B_202C_200B_202A_202C_200C_200C_206B_206E_206A_202E(MenuItem P_0, bool P_1) - { - P_0.IsEnabled = P_1; - } - - static void _200E_202A_200E_200B_202C_200E_206E_200C_206B_206E_202B_202E_206C_200D_200B_200D_202B_206F_200C_202D_202A_200D_200E_206E_206B_206C_202A_206A_202B_202B_206D_206D_206A_206E_206A_202D_202C_202E_200C_206E_202E(IMenuOpenedArgs P_0, MenuItem P_1) - { - P_0.AddMenuItem(P_1); - } - - static List _202D_202E_202E_200D_206D_206F_206E_200E_200E_206D_206D_202C_200B_206C_206D_206F_206D_206E_200E_206E_206B_202A_202E_206E_202C_202C_202B_202E_206A_206A_206F_200B_202D_206C_202A_200D_202C_200F_206E_202B_202E(QuestSequence P_0) - { - return P_0.Steps; - } - - static ArgumentOutOfRangeException _206E_206B_202C_206A_200C_200E_202A_206A_200B_206F_202D_200D_200B_200E_200C_200F_206A_200E_200B_200D_202D_202A_200D_200D_202E_206F_206E_202E_202B_202A_202A_202E_206E_206B_206F_206C_202A_200C_200D_202C_202E(string P_0, object P_1, string P_2) - { - return new ArgumentOutOfRangeException(P_0, P_1, P_2); - } - - static void _206E_206F_200D_202A_206B_202D_202A_206C_202E_200D_200B_200C_202D_206E_206E_202A_202B_206C_202B_200D_200C_200D_200B_206D_206D_200B_202C_202A_206E_200D_200D_202A_206D_206E_202A_202E_206E_202A_206A_206F_202E(QuestStep P_0, EExtendedClassJob P_1) - { - P_0.TargetClass = P_1; - } - - static GatheredItem _206A_206F_200E_200E_206A_206E_202B_202B_206F_200B_200F_206E_200B_206E_200C_200E_206C_202C_202D_206A_202E_200E_206C_206D_202C_200B_206C_206C_202D_206E_200D_202C_200B_202D_200E_200F_202C_206E_206A_200C_202E() - { - return new GatheredItem(); - } - - static void _202D_200F_206F_202A_200F_202E_206C_206B_200F_200C_202C_206C_200D_202E_202D_202A_206A_200B_206F_206F_200B_200B_200E_202E_200E_206C_202A_202D_202A_206B_206A_202D_200E_206A_202C_202C_206D_200B_202B_206A_202E(GatheredItem P_0, uint P_1) - { - P_0.ItemId = P_1; - } - - static void _202C_200B_200D_206C_206A_202C_202A_206D_202C_206F_200B_200D_206F_202E_206E_202E_206D_206B_200F_202A_202A_206F_200C_202A_206E_200B_202D_206C_206A_206C_206C_206E_206F_206D_206E_200F_202D_200D_200C_200E_202E(GatheredItem P_0, int P_1) - { - P_0.ItemCount = P_1; - } - - static void _206A_206C_200E_206B_206D_200D_200B_200F_200F_202C_206F_200E_200C_206F_202B_206D_206B_202C_206F_202D_206F_202A_202B_206B_206C_200C_206C_202A_200E_200C_200F_200C_202C_206D_202C_206B_206B_206B_200F_206B_202E(GatheredItem P_0, ushort P_1) - { - P_0.Collectability = P_1; - } - - static void _206A_200B_202E_202E_206F_202C_206A_206C_206B_202A_200D_202A_206D_202C_202A_202C_202A_202C_202A_206F_202C_202D_200C_206F_200D_206C_202E_206E_206E_200E_200D_206E_206B_200C_206A_202A_200B_200F_202C_206B_202E(QuestStep P_0, List P_1) - { - P_0.ItemsToGather = P_1; - } - - static void _202C_206D_206D_206D_206E_202C_206A_202A_200E_200C_206E_206F_206F_200F_200E_206A_200D_200F_200C_200D_206E_200B_202C_200C_206D_206C_200C_200F_206E_206F_202D_202D_206E_206A_206F_206E_206E_206F_200B_202C_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); - } - - static void _202E_202B_202D_200F_206F_206B_200D_200B_200D_202C_206C_200F_200B_206B_202E_200D_206C_200E_206E_200B_200D_200D_202B_206A_200B_206E_206D_206B_202C_206D_200D_206B_206C_202E_200E_200E_206E_200C_200E_206A_202E(IContextMenu P_0, IContextMenu.OnMenuOpenedDelegate P_1) - { - P_0.OnMenuOpened -= P_1; + _contextMenu.OnMenuOpened -= MenuOpened; } } diff --git a/Questionable/Questionable.Controller/CustomDeliveryController.cs b/Questionable/Questionable.Controller/CustomDeliveryController.cs index 0222d70..f293db1 100644 --- a/Questionable/Questionable.Controller/CustomDeliveryController.cs +++ b/Questionable/Questionable.Controller/CustomDeliveryController.cs @@ -1,16 +1,11 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using LLib.GameData; using LLib.Inventory; using LLib.Shop; -using Lumina.Excel; using Lumina.Excel.Sheets; using Microsoft.Extensions.Logging; using Questionable.Controller.CustomDelivery; @@ -106,151 +101,35 @@ internal sealed class CustomDeliveryController : MiniTaskController _taskQueue; - public string StatusLabel + public string StatusLabel => State switch { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - int num; - string result = default(string); - switch (State) - { - default: - num = -508730957; - goto IL_002e; - case EDeliveryState.WaitingForCraft: - num = (_taskQueue.AllTasksComplete ? (-508730960) : (-508730949)); - goto IL_002e; - case EDeliveryState.WaitingForFish: - goto IL_00ed; - case EDeliveryState.Executing: - goto IL_0103; - case EDeliveryState.TurningIn: - goto IL_011b; - case EDeliveryState.WaitingForGather: - goto IL_0131; - IL_002e: - while (true) - { - int num2 = num; - int num3 = -508730958; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - string text; - switch (num5 - (num6 + num6)) - { - case 8: - result = State.ToString(); - num = -508730956; - break; - case 2: - text = 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(-1784684541); - goto IL_00a5; - case 0: - num = -508730957; - break; - case 1: - num = -508730950; - break; - case 4: - goto end_IL_002e; - case 10: - goto IL_00ed; - case 5: - goto IL_0103; - case 6: - return result; - case 7: - goto IL_011b; - case 3: - goto IL_0131; - case 9: - { - text = 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(-1578293826); - goto IL_00a5; - } - IL_00a5: - result = text; - num = -508730956; - break; - } - continue; - end_IL_002e: - break; - } - goto case EDeliveryState.WaitingForCraft; - IL_0131: - result = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-679143176); - num = -508730956; - goto IL_002e; - IL_011b: - result = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-40294992); - num = -508730956; - goto IL_002e; - IL_0103: - result = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1193075895); - num = -508730956; - goto IL_002e; - IL_00ed: - result = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1591061420); - num = -508730956; - goto IL_002e; - } - } - } + EDeliveryState.Executing => "Navigating", + EDeliveryState.WaitingForCraft => _taskQueue.AllTasksComplete ? "Crafting" : "Purchasing", + EDeliveryState.WaitingForGather => "Gathering", + EDeliveryState.WaitingForFish => "Fishing", + EDeliveryState.TurningIn => "Turning in", + _ => State.ToString(), + }; public string? CurrentNpcName { get { - int num = (IsRunning ? 1877176914 : 1877176913); - while (true) + if (!IsRunning) { - int num2 = num; - int num3 = 1877176912; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0048; - case 2: - return _npcNames.GetValueOrDefault(_npcIndex); - case 1: - return null; - } - continue; - IL_0048: - num = 1877176913; + return null; } + return _npcNames.GetValueOrDefault(_npcIndex); } } @@ -276,140 +155,85 @@ internal sealed class CustomDeliveryController : MiniTaskController(-579070225), new object[4] { npcIndex, slot, deliveryPlan.ItemId, deliveryPlan.DeliveryCount }); - PopulateTaskQueue(deliveryPlan); - return State != EDeliveryState.Idle; - case 3: - _206C_206C_200F_200C_200C_202C_206E_206E_206F_200C_206B_206E_202C_200D_202A_200B_206D_202C_202B_206F_200F_202B_202E_206C_200C_202E_202B_202B_206C_200D_206C_202A_206A_202C_200F_200B_202E_200B_206E_206E_202E((ILogger)_logger, 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(-649056096), new object[1] { State }); - return false; - case 5: - _206C_206C_200F_200C_200C_202C_206E_206E_206F_200C_206B_206E_202C_200D_202A_200B_206D_202C_202B_206F_200F_202B_202E_206C_200C_202E_202B_202B_206C_200D_206C_202A_206A_202C_200F_200B_202E_200B_206E_206E_202E((ILogger)_logger, 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(1536407158), Array.Empty()); - return false; - case 4: - num = ((_202C_200C_200D_200D_200E_202A_206C_200B_206B_200F_206E_200C_200F_200C_202C_206F_206C_200B_206C_206A_202C_202E_206E_200F_206A_200B_206E_202B_206E_200C_202D_200F_206F_200D_202B_200D_202D_200E_206A_206F_202E() >= 1) ? 1558967420 : 1558967417); - break; - case 1: - _202E_200D_206F_206E_200C_202B_200C_206C_206A_200B_202C_202D_206E_202C_200B_202C_206D_200B_206D_202A_200C_202C_202C_202D_202A_202C_200F_206E_206B_206F_206A_206A_200B_206A_206A_206C_206F_206A_200C_202B_202E((ILogger)_logger, 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(-1447098461), new object[2] { npcIndex, slot }); - return false; - case 0: - deliveryPlan = _plannerService.CreatePlan(npcIndex, slot); - num = ((deliveryPlan != null) ? 1558967422 : 1558967421); - break; - } + _logger.LogWarning("Cannot start delivery - already in state {State}", State); + return false; } + if (InventoryHelper.CountFreeInventorySlots() < 1) + { + _logger.LogWarning("No free inventory slots, cannot start custom delivery"); + return false; + } + DeliveryPlan deliveryPlan = _plannerService.CreatePlan(npcIndex, slot); + if (deliveryPlan == null) + { + _logger.LogInformation("No delivery plan created for NPC {NpcIndex} slot {Slot}", npcIndex, slot); + return false; + } + _npcIndex = npcIndex; + _slot = slot; + _craftRetryCount = 0; + _pendingCraftRecipe = null; + _currentCraftRecipe = null; + _pendingGatherClass = null; + _pendingFishingStart = false; + _usedDeliveriesAtPlan = SatisfactionSupplyActions.GetNpcState(npcIndex).UsedDeliveries; + CurrentPlan = deliveryPlan; + State = EDeliveryState.Executing; + _logger.LogInformation("Starting custom delivery: NPC {NpcIndex}, slot {Slot}, item {ItemId} x{Count}", npcIndex, slot, deliveryPlan.ItemId, deliveryPlan.DeliveryCount); + PopulateTaskQueue(deliveryPlan); + return State != EDeliveryState.Idle; } - [MethodImpl(MethodImplOptions.NoInlining)] public bool StartQueue() { - int num = ((_configuration.CustomDeliveries.DeliveryQueue.Count != 0) ? (-1159488106) : (-1159488105)); - while (true) + if (_configuration.CustomDeliveries.DeliveryQueue.Count == 0) { - int num2 = num; - int num3 = -1159488108; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = ((State == EDeliveryState.Idle) ? (-1159488111) : (-1159488107)); - break; - case 3: - _202E_200D_206F_206E_200C_202B_200C_206C_206A_200B_202C_202D_206E_202C_200B_202C_206D_200B_206D_202A_200C_202C_202C_202D_202A_202C_200F_206E_206B_206F_206A_206A_200B_206A_206A_206C_206F_206A_200C_202B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1122948588), Array.Empty()); - return false; - case 4: - num = -1159488105; - break; - case 6: - Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1825662693)); - num = -1159488108; - break; - case 2: - num = ((State != EDeliveryState.Complete) ? (-1159488108) : (-1159488110)); - break; - case 1: - _206C_206C_200F_200C_200C_202C_206E_206E_206F_200C_206B_206E_202C_200D_202A_200B_206D_202C_202B_206F_200F_202B_202E_206C_200C_202E_202B_202B_206C_200D_206C_202A_206A_202C_200F_200B_202E_200B_206E_206E_202E((ILogger)_logger, 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(2040498905), new object[1] { State }); - return false; - case 5: - return StartNextFromQueue(); - } + _logger.LogInformation("Delivery queue is empty"); + return false; } + if (State == EDeliveryState.Complete) + { + Stop("Restart queue from Complete"); + } + if (State != EDeliveryState.Idle) + { + _logger.LogWarning("Cannot start delivery queue - already in state {State}", State); + return false; + } + return StartNextFromQueue(); } - [MethodImpl(MethodImplOptions.NoInlining)] private bool StartNextFromQueue() { List deliveryQueue = _configuration.CustomDeliveries.DeliveryQueue; - int num = ((deliveryQueue.Count <= 0) ? (-1711174098) : (-1711174104)); - int num5 = default(int); - EDeliverySlot? eDeliverySlot = default(EDeliverySlot?); - while (true) + if (deliveryQueue.Count > 0 && InventoryHelper.CountFreeInventorySlots() < 1) { - int num2 = num; - int num3 = -1711174102; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - _202E_200D_206F_206E_200C_202B_200C_206C_206A_200B_202C_202D_206E_202C_200B_202C_206D_200B_206D_202A_200C_202C_202C_202D_202A_202C_200F_206E_206B_206F_206A_206A_200B_206A_206A_206C_206F_206A_200C_202B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1175276050), new object[2] { num5, eDeliverySlot.Value }); - num = ((!Start(num5, eDeliverySlot.Value)) ? (-1711174098) : (-1711174103)); - break; - case 7: - _206C_206C_200F_200C_200C_202C_206E_206E_206F_200C_206B_206E_202C_200D_202A_200B_206D_202C_202B_206F_200F_202B_202E_206C_200C_202E_202B_202B_206C_200D_206C_202A_206A_202C_200F_200B_202E_200B_206E_206E_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(116687394), new object[1] { deliveryQueue.Count }); - return false; - case 1: - _202E_200D_206F_206E_200C_202B_200C_206C_206A_200B_202C_202D_206E_202C_200B_202C_206D_200B_206D_202A_200C_202C_202C_202D_202A_202C_200F_206E_206B_206F_206A_206A_200B_206A_206A_206C_206F_206A_200C_202B_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(560717448), new object[1] { num5 }); - num = -1711174098; - break; - case 2: - num = ((_202C_200C_200D_200D_200E_202A_206C_200B_206B_200F_206E_200C_200F_200C_202C_206F_206C_200B_206C_206A_202C_202E_206E_200F_206A_200B_206E_202B_206E_200C_202D_200F_206F_200D_202B_200D_202D_200E_206A_206F_202E() >= 1) ? (-1711174098) : (-1711174099)); - break; - case 5: - num5 = deliveryQueue[0]; - deliveryQueue.RemoveAt(0); - eDeliverySlot = _plannerService.AutoSelectSlot(num5, _artisanIpc, _autoHookIpc); - num = (eDeliverySlot.HasValue ? (-1711174102) : (-1711174101)); - break; - case 8: - num = -1711174104; - break; - case 4: - num = ((deliveryQueue.Count > 0) ? (-1711174097) : (-1711174100)); - break; - case 3: - return true; - case 6: - _202E_200D_206F_206E_200C_202B_200C_206C_206A_200B_202C_202D_206E_202C_200B_202C_206D_200B_206D_202A_200C_202C_202C_202D_202A_202C_200F_206E_206B_206F_206A_206A_200B_206A_206A_206C_206F_206A_200C_202B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-904612651), Array.Empty()); - return false; - } + _logger.LogWarning("No free inventory slots, keeping {Count} queued deliveries", deliveryQueue.Count); + return false; } + while (deliveryQueue.Count > 0) + { + int num = deliveryQueue[0]; + deliveryQueue.RemoveAt(0); + EDeliverySlot? eDeliverySlot = _plannerService.AutoSelectSlot(num, _artisanIpc, _autoHookIpc); + if (!eDeliverySlot.HasValue) + { + _logger.LogInformation("No viable slot for NPC {NpcIndex}, skipping", num); + continue; + } + _logger.LogInformation("Queue: starting NPC {NpcIndex} with slot {Slot}", num, eDeliverySlot.Value); + if (!Start(num, eDeliverySlot.Value)) + { + continue; + } + return true; + } + _logger.LogInformation("Delivery queue exhausted"); + return false; } private void PopulateTaskQueue(DeliveryPlan plan) @@ -417,17 +241,44 @@ internal sealed class CustomDeliveryController : MiniTaskController)> dictionary = new Dictionary<(uint, uint), (ushort, Vector3, int, List)>(); + foreach (IngredientPlan ingredientPlan in plan.IngredientPlans) + { + if (ingredientPlan.ToBuy > 0 && ingredientPlan.Vendor.HasValue) + { + VendorResolverService.VendorInfo value = ingredientPlan.Vendor.Value; + (uint, uint) key = (value.VendorNpcId, value.ShopId); + dictionary.TryAdd(key, (value.TerritoryId, value.Position, value.DialogOptionIndex, new List())); + dictionary[key].Item4.Add(new VendorPurchaseTask.PurchaseItem(ingredientPlan.ItemId, ingredientPlan.ToBuy)); + } + } + foreach (var (tuple3, tuple4) in dictionary) + { + var (vendorNpcId, _) = tuple3; + var (territoryId, position, dialogOptionIndex, purchases) = tuple4; + EnqueueNavigateTo(territoryId, position); + _taskQueue.Enqueue(new Questionable.Controller.Steps.Common.Mount.UnmountTask()); + _taskQueue.Enqueue(new VendorPurchaseTask(vendorNpcId, purchases, dialogOptionIndex)); + } + (EClassJob Job, VendorResolverService.RecipeInfo? Recipe) tuple7 = ResolveCrafterClass(plan.ItemId); + EClassJob item = tuple7.Job; + VendorResolverService.RecipeInfo? recipeInfo = tuple7.Recipe ?? plan.Recipe; + EClassJob classJob = ((item != EClassJob.Adventurer) ? item : (recipeInfo?.CraftingClass ?? EClassJob.Carpenter)); + _taskQueue.Enqueue(new SwitchClassJob.Task(classJob)); + _pendingCraftRecipe = recipeInfo; + State = EDeliveryState.WaitingForCraft; + break; + } case EDeliverySlot.Gather: { if (HasEnoughItems(plan)) @@ -446,324 +297,84 @@ internal sealed class CustomDeliveryController : MiniTaskController)> dictionary = new Dictionary<(uint, uint), (ushort, Vector3, int, List)>(); - IEnumerator enumerator = plan.IngredientPlans.GetEnumerator(); - try - { - num2 = -764308056; - while (true) - { - int num5 = num2; - num3 = -764308051; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 3: - { - VendorResolverService.VendorInfo value = current.Vendor.Value; - (uint, uint) key = (value.VendorNpcId, value.ShopId); - dictionary.TryAdd(key, (value.TerritoryId, value.Position, value.DialogOptionIndex, new List())); - dictionary[key].Item4.Add(new VendorPurchaseTask.PurchaseItem(current.ItemId, current.ToBuy)); - num2 = -764308056; - break; - } - case 2: - num2 = ((!current.Vendor.HasValue) ? (-764308056) : (-764308050)); - break; - case 4: - current = enumerator.Current; - num2 = ((current.ToBuy <= 0) ? (-764308056) : (-764308049)); - break; - case 5: - num2 = (_202D_200D_202B_200E_202C_206B_202A_206C_200F_206E_206E_206D_200E_206A_202B_202D_202A_200F_202B_200B_206D_200B_200D_200B_200F_200C_200D_200C_202D_206F_206C_200D_202A_202E_206F_200F_202B_206E_200F_200D_202E((IEnumerator)enumerator) ? (-764308055) : (-764308052)); - break; - case 0: - num2 = -764308056; - break; - case 1: - goto end_IL_00d6; - } - continue; - end_IL_00d6: - break; - } - } - finally - { - num2 = ((enumerator == null) ? 1364346553 : 1364346554); - while (true) - { - int num8 = num2; - num3 = 1364346552; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 0: - num2 = 1364346554; - break; - case 2: - _202B_202D_206D_206B_202B_206A_200E_202C_202A_206B_200E_206A_200C_206A_206A_200F_202C_202C_206C_200D_200E_200C_206E_206E_202D_202D_200F_206C_202C_202B_202B_206F_202E_200E_202D_206E_200B_202D_200F_202C_202E((IDisposable)enumerator); - num2 = 1364346553; - break; - case 1: - goto end_IL_023f; - } - continue; - end_IL_023f: - break; - } - } - using (Dictionary<(uint, uint), (ushort, Vector3, int, List)>.Enumerator enumerator2 = dictionary.GetEnumerator()) - { - num2 = 1462776817; - while (true) - { - int num11 = num2; - num3 = 1462776818; - num4 = num11; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num2 = 1462776817; - break; - case 3: - num2 = (enumerator2.MoveNext() ? 1462776816 : 1462776819); - break; - case 2: - var (tuple3, tuple4) = (KeyValuePair<(uint, uint), (ushort, Vector3, int, List)>)(ref enumerator2.Current); - var (vendorNpcId, _) = tuple3; - var (territoryId, position, dialogOptionIndex, purchases) = tuple4; - EnqueueNavigateTo(territoryId, position); - _taskQueue.Enqueue(new Questionable.Controller.Steps.Common.Mount.UnmountTask()); - _taskQueue.Enqueue(new VendorPurchaseTask(vendorNpcId, purchases, dialogOptionIndex)); - num2 = 1462776817; - break; - case 1: - goto end_IL_02a1; - } - continue; - end_IL_02a1: - break; - } - } - (EClassJob Job, VendorResolverService.RecipeInfo? Recipe) tuple7 = ResolveCrafterClass(plan.ItemId); - EClassJob item = tuple7.Job; - VendorResolverService.RecipeInfo? item2 = tuple7.Recipe; - num2 = (item2.HasValue ? (-746319838) : (-746319839)); - while (true) - { - int num12 = num2; - num3 = -746319837; - num4 = num12; - int num13; - VendorResolverService.RecipeInfo? recipeInfo; - EClassJob classJob; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num13 = (int)pendingCraftRecipe.GetValueOrDefault().CraftingClass; - goto IL_0487; - case 2: - recipeInfo = plan.Recipe; - goto IL_0455; - case 0: - num2 = -746319839; - break; - case 1: - recipeInfo = item2; - goto IL_0455; - case 5: - num13 = 8; - goto IL_0487; - case 4: - num13 = (int)item; - goto IL_0487; - case 6: - { - num2 = (pendingCraftRecipe.HasValue ? (-746319840) : (-746319834)); - break; - } - IL_0487: - classJob = (EClassJob)num13; - _taskQueue.Enqueue(new SwitchClassJob.Task(classJob)); - _pendingCraftRecipe = pendingCraftRecipe; - State = EDeliveryState.WaitingForCraft; - return; - IL_0455: - pendingCraftRecipe = recipeInfo; - num2 = ((item != EClassJob.Adventurer) ? (-746319833) : (-746319835)); - break; - } - } - } - } - break; - IL_009c: - num2 = -771458333; + _taskQueue.Enqueue(new SwitchClassJob.Task(EClassJob.Fisher)); + _pendingFishingStart = true; + State = EDeliveryState.WaitingForFish; } - goto case EDeliverySlot.Craft; + break; } } private (EClassJob Job, VendorResolverService.RecipeInfo? Recipe) ResolveCrafterClass(uint craftedItemId) { Configuration.CustomDeliveryConfiguration customDeliveries = _configuration.CustomDeliveries; - int num = ((customDeliveries.CraftJobMode != Configuration.CustomDeliveryConfiguration.EJobSelectionMode.Current) ? (-60646193) : (-60646205)); - VendorResolverService.RecipeInfo? item3 = default(VendorResolverService.RecipeInfo?); - VendorResolverService.RecipeInfo? item2 = default(VendorResolverService.RecipeInfo?); - EClassJob value = default(EClassJob); - uint? num7 = default(uint?); - VendorResolverService.RecipeInfo? item = default(VendorResolverService.RecipeInfo?); - while (true) + if (customDeliveries.CraftJobMode == Configuration.CustomDeliveryConfiguration.EJobSelectionMode.Current) { - int num2 = num; - int num3 = -60646201; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + uint? num = _objectTable.LocalPlayer?.ClassJob.RowId; + if (num.HasValue) { - case 3: - return (Job: item3.Value.CraftingClass, Recipe: item3); - case 1: - return (Job: item2.Value.CraftingClass, Recipe: item2); - case 8: - item3 = _vendorResolver.ResolveRecipe(craftedItemId, customDeliveries.PreferredCraftJob); - num = ((!item3.HasValue) ? (-60646194) : (-60646204)); - break; - case 6: - item2 = _vendorResolver.ResolveRecipe(craftedItemId, value); - num = ((!item2.HasValue) ? (-60646193) : (-60646202)); - break; - case 5: - value = (EClassJob)num7.Value; - num = ((!_206A_200B_206F_202E_200B_206C_206F_202C_202D_202E_206F_206A_202A_202C_200F_206D_206C_200C_206A_206C_206D_202D_206C_202A_206B_200E_200D_200D_200F_200F_206C_206F_202C_202E_206E_206F_206C_206C_200E_202C_202E(value)) ? (-60646193) : (-60646207)); - break; - case 4: - { - IPlayerCharacter playerCharacter = _200D_206F_206F_206D_200B_202C_202C_202A_200C_200D_206D_206A_202D_202C_202A_206A_200F_206D_202C_200E_200C_200C_202D_206E_202C_202D_200D_202B_206E_202C_206E_206B_202A_206E_200D_206A_202A_200C_202D_202A_202E(_objectTable); - num7 = ((playerCharacter != null) ? new uint?(_206D_206E_206C_202B_206F_206A_206E_200F_200D_206D_206A_206B_206E_202E_200B_206C_206E_200B_206E_200C_202E_200D_200D_206F_202A_200E_206F_200B_200C_200E_202C_206C_200D_200D_206D_202A_202A_200F_202E_206B_202E((ICharacter)playerCharacter).RowId) : ((uint?)null)); - num = ((!num7.HasValue) ? (-60646193) : (-60646206)); - break; - } - case 2: - num = -60646205; - break; - case 0: - return (Job: item.Value.CraftingClass, Recipe: item); - case 9: - item = _vendorResolver.ResolveRecipe(craftedItemId); - num = (item.HasValue ? (-60646201) : (-60646208)); - break; - case 7: - return (Job: EClassJob.Adventurer, Recipe: null); + EClassJob value = (EClassJob)num.Value; + if (value.IsCrafter()) + { + VendorResolverService.RecipeInfo? item = _vendorResolver.ResolveRecipe(craftedItemId, value); + if (item.HasValue) + { + return (Job: item.Value.CraftingClass, Recipe: item); + } + } } } + VendorResolverService.RecipeInfo? item2 = _vendorResolver.ResolveRecipe(craftedItemId, customDeliveries.PreferredCraftJob); + if (item2.HasValue) + { + return (Job: item2.Value.CraftingClass, Recipe: item2); + } + VendorResolverService.RecipeInfo? item3 = _vendorResolver.ResolveRecipe(craftedItemId); + if (!item3.HasValue) + { + return (Job: EClassJob.Adventurer, Recipe: null); + } + return (Job: item3.Value.CraftingClass, Recipe: item3); } private EClassJob ResolveGathererClass(uint itemId) { Configuration.CustomDeliveryConfiguration customDeliveries = _configuration.CustomDeliveries; - int num = ((customDeliveries.GatherJobMode != Configuration.CustomDeliveryConfiguration.EJobSelectionMode.Current) ? 1963293825 : 1963293838); - EClassJob value = default(EClassJob); - EClassJob eClassJob = default(EClassJob); - uint? num7 = default(uint?); - while (true) + if (customDeliveries.GatherJobMode == Configuration.CustomDeliveryConfiguration.EJobSelectionMode.Current) { - int num2 = num; - int num3 = 1963293831; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num8; - switch (num5 - (num6 + num6)) + uint? num = _objectTable.LocalPlayer?.ClassJob.RowId; + if (num.HasValue) { - case 1: - num8 = 16; - goto IL_0185; - case 8: - num = ((customDeliveries.PreferredGatherJob == EClassJob.Miner) ? 1963293836 : 1963293830); - break; - case 0: - num = 1963293838; - break; - case 5: - return EClassJob.Miner; - case 3: - num = ((!CanGather(value)) ? 1963293825 : 1963293829); - break; - case 12: - return customDeliveries.PreferredGatherJob; - case 6: - num = ((!CanGather(customDeliveries.PreferredGatherJob)) ? 1963293839 : 1963293835); - break; - case 10: - return eClassJob; - case 7: - num = ((value != EClassJob.Botanist) ? 1963293825 : 1963293828); - break; - case 4: - value = (EClassJob)num7.Value; - num = ((value == EClassJob.Miner) ? 1963293828 : 1963293824); - break; - case 11: - num8 = 17; - goto IL_0185; - case 2: - return value; - case 9: + EClassJob value = (EClassJob)num.Value; + switch (value) { - IPlayerCharacter playerCharacter = _200D_206F_206F_206D_200B_202C_202C_202A_200C_200D_206D_206A_202D_202C_202A_206A_200F_206D_202C_200E_200C_200C_202D_206E_202C_202D_200D_202B_206E_202C_206E_206B_202A_206E_200D_206A_202A_200C_202D_202A_202E(_objectTable); - num7 = ((playerCharacter != null) ? new uint?(_206D_206E_206C_202B_206F_206A_206E_200F_200D_206D_206A_206B_206E_202E_200B_206C_206E_200B_206E_200C_202E_200D_200D_206F_202A_200E_206F_200B_200C_200E_202C_206C_200D_200D_206D_202A_202A_200F_202E_206B_202E((ICharacter)playerCharacter).RowId) : ((uint?)null)); - num = ((!num7.HasValue) ? 1963293825 : 1963293827); + case EClassJob.Miner: + case EClassJob.Botanist: + if (CanGather(value)) + { + return value; + } break; } - IL_0185: - eClassJob = (EClassJob)num8; - num = ((!CanGather(eClassJob)) ? 1963293826 : 1963293837); - break; } } + if (CanGather(customDeliveries.PreferredGatherJob)) + { + return customDeliveries.PreferredGatherJob; + } + EClassJob eClassJob = ((customDeliveries.PreferredGatherJob == EClassJob.Miner) ? EClassJob.Botanist : EClassJob.Miner); + if (CanGather(eClassJob)) + { + return eClassJob; + } + return EClassJob.Miner; bool CanGather(EClassJob job) { GatheringPointId gatheringPointId; @@ -771,903 +382,421 @@ internal sealed class CustomDeliveryController : MiniTaskController 0) ? (-450669060) : (-450669057)); - continue; - case 1: - num7 = 0; - break; - case 3: - num = -450669062; - continue; - case 0: - _206C_200C_202C_206F_200F_200F_200E_200E_206E_202C_200E_206C_206D_206C_200B_200C_200E_202D_200E_202B_202B_200C_202D_206F_200B_202D_202D_206F_206C_200E_202D_206B_200F_206B_206E_200B_206B_202A_206E_202B_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1361509608), new object[2] { plan.ItemId, gathererClass }); - Stop(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(699795007)); - return false; - case 4: - num = (_gatheringPointRegistry.TryGetGatheringPoint(gatheringPointId, out gatheringRoot) ? (-450669061) : (-450669058)); - continue; - case 2: - { - List list = _206A_206D_202E_200F_202C_200C_206A_200B_202A_202A_206E_206E_200B_200E_206D_202E_202B_200E_200B_202B_202C_206B_202C_202B_202D_206E_200B_206D_200F_206D_202D_200F_202C_206E_200E_202A_206B_202B_206C_202B_202E(gatheringRoot); - num7 = _200D_200C_206C_206F_206C_206C_200E_202A_200C_200E_202C_206F_200E_200E_200C_206A_202D_202A_206C_202D_206A_200C_206E_202A_200C_206D_200F_206A_206F_200E_206E_200C_202C_200D_206F_206B_200F_202A_200F_202C_202E(list[list.Count - 1]); - break; - } - } - break; + _logger.LogError("No gathering path found for item {ItemId} as {ClassJob}", plan.ItemId, gathererClass); + Stop("No gathering path"); + return false; } - ushort num8 = (ushort)num7; + int num; + if (gatheringRoot.Steps.Count <= 0) + { + num = 0; + } + else + { + List steps = gatheringRoot.Steps; + num = steps[steps.Count - 1].TerritoryId; + } + ushort num2 = (ushort)num; GatheringLocation gatheringLocation = null; - int num9 = int.MaxValue; - GatheringNode current = default(GatheringNode); - foreach (GatheringNodeGroup item in _206C_206D_206D_206B_202E_206E_200C_202C_206C_200D_206E_202E_202B_200E_206E_200F_206F_206F_202C_202C_206F_200B_206C_202D_206C_200E_206A_206F_200B_206F_202A_200D_206C_206C_202A_206F_202D_200E_206A_206B_202E(gatheringRoot)) + int num3 = int.MaxValue; + foreach (GatheringNodeGroup group in gatheringRoot.Groups) { - using List.Enumerator enumerator2 = _200D_206C_202B_202D_200E_206F_200C_202E_202B_200E_206C_202B_200F_200F_206B_206D_200C_200C_202E_206C_202D_202B_202D_202C_206C_200D_202A_206E_202B_206C_202B_206B_200D_206D_202E_202A_206A_202A_206D_202A_202E(item).GetEnumerator(); - num = 1988846971; - while (true) + foreach (GatheringNode node in group.Nodes) { - int num10 = num; - int num3 = 1988846968; - int num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) + if (node.Locations.Count != 0 && node.Locations.Count < num3) { - case 1: - num = ((_206B_206D_202A_200B_206A_206C_206E_206A_202B_202A_206D_200D_202A_202A_200E_200F_202D_206A_200B_202B_202B_200C_202D_206E_206A_200D_206A_206E_202D_202B_206B_206F_202C_206B_200B_200F_206D_206A_200B_202D_202E(current).Count >= num9) ? 1988846971 : 1988846968); - break; - case 3: - num = (enumerator2.MoveNext() ? 1988846973 : 1988846970); - break; - case 4: - num = 1988846971; - break; - case 0: - num9 = _206B_206D_202A_200B_206A_206C_206E_206A_202B_202A_206D_200D_202A_202A_200E_200F_202D_206A_200B_202B_202B_200C_202D_206E_206A_200D_206A_206E_202D_202B_206B_206F_202C_206B_200B_200F_206D_206A_200B_202D_202E(current).Count; - gatheringLocation = _206B_206D_202A_200B_206A_206C_206E_206A_202B_202A_206D_200D_202A_202A_200E_200F_202D_206A_200B_202B_202B_200C_202D_206E_206A_200D_206A_206E_202D_202B_206B_206F_202C_206B_200B_200F_206D_206A_200B_202D_202E(current)[0]; - num = 1988846971; - break; - case 5: - current = enumerator2.Current; - num = ((_206B_206D_202A_200B_206A_206C_206E_206A_202B_202A_206D_200D_202A_202A_200E_200F_202D_206A_200B_202B_202B_200C_202D_206E_206A_200D_206A_206E_202D_202B_206B_206F_202C_206B_200B_200F_206D_206A_200B_202D_202E(current).Count == 0) ? 1988846971 : 1988846969); - break; - case 2: - goto end_IL_0174; + num3 = node.Locations.Count; + gatheringLocation = node.Locations[0]; } - continue; - end_IL_0174: - break; } } - num = ((gatheringLocation != null) ? 2137928922 : 2137928923); - Vector3? vector = default(Vector3?); - QuestStep current2 = default(QuestStep); - while (true) + Vector3? vector = ((gatheringLocation != null) ? new Vector3?(GatheringMath.CalculateLandingLocation(gatheringLocation).Item1) : ((Vector3?)null)); + if (!vector.HasValue) { - int num13 = num; - int num3 = 2137928920; - int num4 = num13; - Vector3? obj; - switch ((num4 | num3) - (num4 & num3)) + foreach (QuestStep step in gatheringRoot.Steps) { - default: - continue; - case 0: - num = 2137928923; - continue; - case 3: - obj = null; - goto IL_031a; - case 2: - obj = _202E_200F_202C_206E_202A_200F_206B_202C_202C_206C_206E_202D_206E_200F_202E_202B_200E_206C_202C_202E_206B_206A_206E_206F_200C_202E_200C_202C_200D_200E_206D_200B_202A_200E_206E_202A_206E_206E_202C_206F_202E(gatheringLocation).Item1; - goto IL_031a; - case 1: + if (step.Position.HasValue) { - using (List.Enumerator enumerator3 = _206A_206D_202E_200F_202C_200C_206A_200B_202A_202A_206E_206E_200B_200E_206D_202E_202B_200E_200B_202B_202C_206B_202C_202B_202D_206E_200B_206D_200F_206D_202D_200F_202C_206E_200E_202A_206B_202B_206C_202B_202E(gatheringRoot).GetEnumerator()) - { - num = 1403664943; - while (true) - { - int num14 = num; - num3 = 1403664942; - num4 = num14; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = 1403664943; - break; - case 0: - vector = _206D_202C_206D_206E_200D_202A_200B_200F_206F_202D_200D_206D_206E_202B_206A_206F_202E_206E_202B_200D_206C_206E_206E_206E_202C_202E_206C_202C_206C_202D_200C_206F_202B_200C_202A_206F_200B_200F_206F_206C_202E(current2); - num = 1403664943; - break; - case 1: - num = (enumerator3.MoveNext() ? 1403664941 : 1403664940); - break; - case 3: - current2 = enumerator3.Current; - num = ((!_206D_202C_206D_206E_200D_202A_200B_200F_206F_202D_200D_206D_206E_202B_206A_206F_202E_206E_202B_200D_206C_206E_206E_206E_202C_202E_206C_202C_206C_202D_200C_206F_202B_200C_202A_206F_200B_200F_206F_206C_202E(current2).HasValue) ? 1403664943 : 1403664942); - break; - case 2: - goto end_IL_034d; - } - continue; - end_IL_034d: - break; - } - } - break; + vector = step.Position; } - IL_031a: - vector = obj; - if (!vector.HasValue) - { - num = 2137928921; - continue; - } - break; } - break; } - num = ((num8 == 0) ? 2083946218 : 2083946219); - while (true) + if (num2 == 0 || !vector.HasValue) { - int num15 = num; - int num3 = 2083946222; - int num4 = num15; - switch ((num4 | num3) - (num4 & num3)) + _logger.LogError("Gathering path {PointId} has no travel destination", gatheringPointId); + Stop("Invalid gathering path"); + return false; + } + _logger.LogDebug("Navigating to gathering point {PointId} in territory {TerritoryId}", gatheringPointId, num2); + if (_clientState.TerritoryType != num2) + { + if (!_routeEnqueuer.TryEnqueueToTerritory(_taskQueue, num2, vector.Value)) { - case 1: - _206C_200C_202C_206F_200F_200F_200E_200E_206E_202C_200E_206C_206D_206C_200B_200C_200E_202D_200E_202B_202B_200C_202D_206F_200B_202D_202D_206F_206C_200E_202D_206B_200F_206B_206E_200B_206B_202A_206E_202B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-292255565), new object[2] - { - _202C_206F_202D_206E_200D_200B_206A_200E_202B_206C_206F_202D_206B_206C_202C_206C_200C_206E_200E_200D_202D_206F_202A_206F_206A_202C_206F_206C_206B_206F_200E_200D_206D_202E_200D_202B_206D_206B_200E_206F_202E(_clientState), - num8 - }); - Stop(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(1723437266)); + _logger.LogError("No SmartNav route from territory {CurrentTerritoryId} to gathering territory {TerritoryId}", _clientState.TerritoryType, num2); + Stop("No route to gathering point"); return false; - case 7: - _202D_206D_202D_200F_200C_202A_202A_202A_200E_202E_200D_200C_202C_200F_200F_202A_202A_200B_202C_200B_200F_200F_200E_206E_206D_206A_206C_206F_200D_202B_200E_206E_206E_202A_202B_202B_200E_202C_206F_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1244741154), new object[1] { num8 }); - num = 2083946221; - break; - case 0: - num = 2083946219; - break; - case 4: - _206C_200C_202C_206F_200F_200F_200E_200E_206E_202C_200E_206C_206D_206C_200B_200C_200E_202D_200E_202B_202B_200C_202D_206F_200B_202D_202D_206F_206C_200E_202D_206B_200F_206B_206E_200B_206B_202A_206E_202B_202E((ILogger)_logger, 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(1962177128), new object[1] { gatheringPointId }); - Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(719367743)); - return false; - case 2: - _202D_206D_202D_200F_200C_202A_202A_202A_200E_202E_200D_200C_202C_200F_200F_202A_202A_200B_202C_200B_200F_200F_200E_206E_206D_206A_206C_206F_200D_202B_200E_206E_206E_202A_202B_202B_200E_202C_206F_200F_202E((ILogger)_logger, 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(-726261913), new object[2] { gatheringPointId, num8 }); - num = ((_202C_206F_202D_206E_200D_200B_206A_200E_202B_206C_206F_202D_206B_206C_202C_206C_200C_206E_200E_200D_202D_206F_202A_206F_206A_202C_206F_206C_206B_206F_200E_200D_206D_202E_200D_202B_206D_206B_200E_206F_202E(_clientState) == num8) ? 2083946217 : 2083946216); - break; - case 6: - num = (_routeEnqueuer.TryEnqueueToTerritory(_taskQueue, num8, vector.Value) ? 2083946221 : 2083946223); - break; - case 5: - num = (vector.HasValue ? 2083946220 : 2083946218); - break; - case 3: - return true; } } + else + { + _logger.LogDebug("Already in gathering territory {TerritoryId}; leaving node movement to GatheringController", num2); + } + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] private void StartCrafting(DeliveryPlan plan, VendorResolverService.RecipeInfo? recipeOverride = null) { - VendorResolverService.RecipeInfo? recipeInfo = recipeOverride; - int num = (recipeInfo.HasValue ? (-1061305765) : (-1061305773)); - int num7 = default(int); - VendorResolverService.RecipeInfo? recipeInfo2 = default(VendorResolverService.RecipeInfo?); - while (true) + VendorResolverService.RecipeInfo? recipeInfo = recipeOverride ?? plan.Recipe; + if (!recipeInfo.HasValue) { - int num2 = num; - int num3 = -1061305774; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - VendorResolverService.RecipeInfo? recipeInfo3; - switch (num5 - (num6 + num6)) + _logger.LogError("No recipe available for craft delivery of item {ItemId}", plan.ItemId); + Stop("No recipe"); + return; + } + if (!_artisanIpc.IsAvailable()) + { + _logger.LogError("Artisan is not available, cannot craft"); + Stop("Artisan not available"); + return; + } + _artisanIpc.SetEnduranceStatus(enabled: false); + _artisanIpc.SetStopRequest(stop: false); + int itemCount = GetItemCount(plan); + int num = plan.DeliveryCount - itemCount; + if (num > 0) + { + _logger.LogDebug("Requesting Artisan to craft {Count}x recipe {RecipeId} ({ClassJob})", num, recipeInfo.Value.RecipeId, recipeInfo.Value.CraftingClass); + if (!_artisanIpc.CraftItem((ushort)recipeInfo.Value.RecipeId, num)) { - case 7: - return; - case 9: - recipeInfo3 = recipeInfo; - goto IL_0076; - case 5: - _202D_206D_202D_200F_200C_202A_202A_202A_200E_202E_200D_200C_202C_200F_200F_202A_202A_200B_202C_200B_200F_200F_200E_206E_206D_206A_206C_206F_200D_202B_200E_206E_206E_202A_202B_202B_200E_202C_206F_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1644581685), new object[3] - { - num7, - recipeInfo2.Value.RecipeId, - recipeInfo2.Value.CraftingClass - }); - num = (_artisanIpc.CraftItem((ushort)recipeInfo2.Value.RecipeId, num7) ? (-1061305768) : (-1061305774)); - break; - case 4: - _206C_200C_202C_206F_200F_200F_200E_200E_206E_202C_200E_206C_206D_206C_200B_200C_200E_202D_200E_202B_202B_200C_202D_206F_200B_202D_202D_206F_206C_200E_202D_206B_200F_206B_206E_200B_206B_202A_206E_202B_202E((ILogger)_logger, 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(126261973), new object[1] { plan.ItemId }); - Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-328096033)); - return; - case 2: - num = -1061305773; - break; - case 1: - recipeInfo3 = plan.Recipe; - goto IL_0076; - case 0: - _206C_200C_202C_206F_200F_200F_200E_200E_206E_202C_200E_206C_206D_206C_200B_200C_200E_202D_200E_202B_202B_200C_202D_206F_200B_202D_202D_206F_206C_200E_202D_206B_200F_206B_206E_200B_206B_202A_206E_202B_202E((ILogger)_logger, 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(553484995), new object[1] { recipeInfo2.Value.RecipeId }); - Stop(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(486680247)); - return; - case 10: - _craftBusyGraceUntilMs = _202C_202E_202E_206F_200F_202A_200B_202C_206D_202D_200E_206D_202E_200F_200C_202C_200D_202E_202B_202C_202A_206B_206D_200D_206C_206A_202B_200C_202B_206C_206C_202D_202C_206A_206D_202E_206F_206D_200E_200F_202E() + 5000; - return; - case 3: - _206C_200C_202C_206F_200F_200F_200E_200E_206E_202C_200E_206C_206D_206C_200B_200C_200E_202D_200E_202B_202B_200C_202D_206F_200B_202D_202D_206F_206C_200E_202D_206B_200F_206B_206E_200B_206B_202A_206E_202B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1241589322), Array.Empty()); - Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1390689146)); - return; - case 8: - num = (_artisanIpc.IsAvailable() ? (-1061305772) : (-1061305775)); - break; - case 6: - { - _artisanIpc.SetEnduranceStatus(enabled: false); - _artisanIpc.SetStopRequest(stop: false); - int itemCount = GetItemCount(plan); - num7 = plan.DeliveryCount - itemCount; - num = ((num7 > 0) ? (-1061305769) : (-1061305771)); - break; - } - IL_0076: - recipeInfo2 = recipeInfo3; - num = (recipeInfo2.HasValue ? (-1061305766) : (-1061305770)); - break; + _logger.LogError("Failed to start Artisan crafting for recipe {RecipeId}", recipeInfo.Value.RecipeId); + Stop("Artisan craft failed"); + } + else + { + _craftBusyGraceUntilMs = Environment.TickCount64 + 5000; } } } - [MethodImpl(MethodImplOptions.NoInlining)] private void StartGathering(DeliveryPlan plan, EClassJob gathererClass) { - _gatherStartMs = _202C_202E_202E_206F_200F_202A_200B_202C_206D_202D_200E_206D_202E_200F_200C_202C_200D_202E_202B_202C_202A_206B_206D_200D_206C_206A_202B_200C_202B_206C_206C_202D_202C_206A_206D_202E_206F_206D_200E_200F_202E(); + _gatherStartMs = Environment.TickCount64; _lastGatherCount = GetItemCount(plan); - GatheringPointId gatheringPointId; - int num = (_gatheringPointRegistry.TryGetGatheringPointId(plan.ItemId, gathererClass, out gatheringPointId) ? 812153432 : 812153435); - while (true) + if (!_gatheringPointRegistry.TryGetGatheringPointId(plan.ItemId, gathererClass, out GatheringPointId gatheringPointId)) { - int num2 = num; - int num3 = 812153433; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + _logger.LogError("No gathering point found for item {ItemId} as {ClassJob}", plan.ItemId, gathererClass); + Stop("No gathering point"); + return; + } + GatheringController.GatheringRequest gatheringRequest = new GatheringController.GatheringRequest(gatheringPointId, plan.ItemId, 0u, plan.DeliveryCount, plan.Collectability); + if (!_gatheringController.Start(gatheringRequest)) + { + _logger.LogWarning("GatheringController.Start returned false for item {ItemId}", plan.ItemId); + if (HasEnoughItems(plan)) { - case 5: - Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1867171636)); - num = 812153439; - break; - case 2: - _206C_200C_202C_206F_200F_200F_200E_200E_206E_202C_200E_206C_206D_206C_200B_200C_200E_202D_200E_202B_202B_200C_202D_206F_200B_202D_202D_206F_206C_200E_202D_206B_200F_206B_206E_200B_206B_202A_206E_202B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1443840658), new object[2] { plan.ItemId, gathererClass }); - Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1238480123)); - return; - case 1: - { - GatheringController.GatheringRequest gatheringRequest = new GatheringController.GatheringRequest(gatheringPointId, plan.ItemId, 0u, plan.DeliveryCount, plan.Collectability); - num = (_gatheringController.Start(gatheringRequest) ? 812153439 : 812153433); - break; - } - case 4: State = EDeliveryState.Executing; EnqueueTurnInSequence(plan); - return; - case 3: - num = 812153435; - break; - case 6: - return; - case 0: - _206C_206C_200F_200C_200C_202C_206E_206E_206F_200C_206B_206E_202C_200D_202A_200B_206D_202C_202B_206F_200F_202B_202E_206C_200C_202E_202B_202B_206C_200D_206C_202A_206A_202C_200F_200B_202E_200B_206E_206E_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-171113647), new object[1] { plan.ItemId }); - num = ((!HasEnoughItems(plan)) ? 812153436 : 812153437); - break; + } + else + { + Stop("Gathering start failed"); } } } - [MethodImpl(MethodImplOptions.NoInlining)] private void StartFishing(DeliveryPlan plan) { - _fishStartMs = _202C_202E_202E_206F_200F_202A_200B_202C_206D_202D_200E_206D_202E_200F_200C_202C_200D_202E_202B_202C_202A_206B_206D_200D_206C_206A_202B_200C_202B_206C_206C_202D_202C_206A_206D_202E_206F_206D_200E_200F_202E(); + _fishStartMs = Environment.TickCount64; _lastFishCount = GetItemCount(plan); FishingController.FishingRequest request = new FishingController.FishingRequest(plan.ItemId, plan.DeliveryCount, plan.Collectability); - int num = (_fishingController.Start(request) ? (-833732925) : (-833732926)); - while (true) + if (!_fishingController.Start(request)) { - int num2 = num; - int num3 = -833732925; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + _logger.LogWarning("FishingController.Start returned false for item {ItemId}", plan.ItemId); + if (HasEnoughItems(plan)) { - case 0: - return; - case 1: - _206C_206C_200F_200C_200C_202C_206E_206E_206F_200C_206B_206E_202C_200D_202A_200B_206D_202C_202B_206F_200F_202B_202E_206C_200C_202E_202B_202B_206C_200D_206C_202A_206A_202C_200F_200B_202E_200B_206E_206E_202E((ILogger)_logger, 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(1407243130), new object[1] { plan.ItemId }); - num = ((!HasEnoughItems(plan)) ? (-833732921) : (-833732928)); - break; - case 4: - Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1283884351)); - num = -833732925; - break; - case 2: - num = -833732926; - break; - case 3: State = EDeliveryState.Executing; EnqueueTurnInSequence(plan); - return; + } + else + { + Stop("Fishing start failed"); } } } - [MethodImpl(MethodImplOptions.NoInlining)] public EDeliveryState Update() { - int num = ((State == EDeliveryState.Idle) ? 1143859363 : 1143859375); - while (true) + if (State == EDeliveryState.Idle || State == EDeliveryState.Complete) { - int num2 = num; - int num3 = 1143859365; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return UpdateWaitingForGather(); - case 10: - num = ((State != EDeliveryState.Complete) ? 1143859372 : 1143859363); - break; - case 5: - goto IL_0095; - case 9: - num = ((CurrentPlan != null) ? 1143859373 : 1143859366); - break; - case 11: - num = 1143859375; - break; - case 7: - goto IL_00c8; - case 3: - Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1490740808)); - return EDeliveryState.Idle; - case 8: - switch (State) - { - case EDeliveryState.WaitingForGather: - break; - case EDeliveryState.WaitingForFish: - goto IL_0095; - case EDeliveryState.WaitingForCraft: - goto IL_00c8; - default: - goto IL_0104; - case EDeliveryState.Executing: - case EDeliveryState.TurningIn: - goto IL_0116; - } - goto case 2; - case 6: - return State; - case 4: - goto IL_0116; - case 1: - num = 1143859365; - break; - case 0: - { - return State; - } - IL_0116: - return UpdateExecuting(); - IL_0104: - num = 1143859364; - break; - IL_00c8: - return UpdateWaitingForCraft(); - IL_0095: - return UpdateWaitingForFish(); - } + return State; + } + if (CurrentPlan == null) + { + Stop("No plan"); + return EDeliveryState.Idle; + } + switch (State) + { + case EDeliveryState.WaitingForCraft: + return UpdateWaitingForCraft(); + case EDeliveryState.WaitingForGather: + return UpdateWaitingForGather(); + case EDeliveryState.WaitingForFish: + return UpdateWaitingForFish(); + case EDeliveryState.Executing: + case EDeliveryState.TurningIn: + return UpdateExecuting(); + default: + return State; } } - [MethodImpl(MethodImplOptions.NoInlining)] private EDeliveryState UpdateWaitingForCraft() { - int num = (_taskQueue.AllTasksComplete ? 327102909 : 327102911); - while (true) + if (!_taskQueue.AllTasksComplete) { - int num2 = num; - int num3 = 327102899; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - _206C_206C_200F_200C_200C_202C_206E_206E_206F_200C_206B_206E_202C_200D_202A_200B_206D_202C_202B_206F_200F_202B_202E_206C_200C_202E_202B_202B_206C_200D_206C_202A_206A_202C_200F_200B_202E_200B_206E_206E_202E((ILogger)_logger, 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(-1415078577), new object[2] - { - GetItemCount(CurrentPlan), - CurrentPlan.DeliveryCount - }); - Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1487053942)); - num = 327102902; - break; - case 15: - return State; - case 4: - return State; - case 5: - return State; - case 9: - _currentCraftRecipe = _pendingCraftRecipe; - _pendingCraftRecipe = null; - StartCrafting(CurrentPlan, _currentCraftRecipe); - return State; - case 11: - { - int craftRetryCount = _craftRetryCount; - num3 = 1; - num4 = craftRetryCount; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - _craftRetryCount = num7 + (num8 + num8); - _206C_206C_200F_200C_200C_202C_206E_206E_206F_200C_206B_206E_202C_200D_202A_200B_206D_202C_202B_206F_200F_202B_202E_206C_200C_202E_202B_202B_206C_200D_206C_202A_206A_202C_200F_200B_202E_200B_206E_206E_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-472214292), new object[2] - { - GetItemCount(CurrentPlan), - CurrentPlan.DeliveryCount - }); - StartCrafting(CurrentPlan, _currentCraftRecipe); - num = 327102902; - break; - } - case 12: - UpdateCurrentTask(); - return State; - case 7: - num = ((!HasEnoughItems(CurrentPlan)) ? 327102898 : 327102907); - break; - case 8: - _202D_206D_202D_200F_200C_202A_202A_202A_200E_202E_200D_200C_202C_200F_200F_202A_202A_200B_202C_200B_200F_200F_200E_206E_206D_206A_206C_206F_200D_202B_200E_206E_206E_202A_202B_202B_200E_202C_206F_200F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1286697491), Array.Empty()); - State = EDeliveryState.Executing; - EnqueueTurnInSequence(CurrentPlan); - num = 327102902; - break; - case 13: - num = ((!_artisanIpc.IsCrafting()) ? 327102899 : 327102908); - break; - case 1: - num = ((_craftRetryCount >= 3) ? 327102897 : 327102904); - break; - case 14: - num = ((!_pendingCraftRecipe.HasValue) ? 327102910 : 327102906); - break; - case 3: - num = 327102911; - break; - case 10: - _206C_206C_200F_200C_200C_202C_206E_206E_206F_200C_206B_206E_202C_200D_202A_200B_206D_202C_202B_206F_200F_202B_202E_206C_200C_202E_202B_202B_206C_200D_206C_202A_206A_202C_200F_200B_202E_200B_206E_206E_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-923915781), Array.Empty()); - _artisanIpc.SetStopRequest(stop: false); - num = 327102900; - break; - case 6: - num = ((!_artisanIpc.GetStopRequest()) ? 327102900 : 327102905); - break; - case 0: - num = ((_202C_202E_202E_206F_200F_202A_200B_202C_206D_202D_200E_206D_202E_200F_200C_202C_200D_202E_202B_202C_202A_206B_206D_200D_206C_206A_202B_200C_202B_206C_206C_202D_202C_206A_206D_202E_206F_206D_200E_200F_202E() >= _craftBusyGraceUntilMs) ? 327102901 : 327102903); - break; - } + UpdateCurrentTask(); + return State; } + if (_pendingCraftRecipe.HasValue) + { + _currentCraftRecipe = _pendingCraftRecipe; + _pendingCraftRecipe = null; + StartCrafting(CurrentPlan, _currentCraftRecipe); + return State; + } + if (_artisanIpc.IsCrafting()) + { + return State; + } + if (Environment.TickCount64 < _craftBusyGraceUntilMs) + { + return State; + } + if (_artisanIpc.GetStopRequest()) + { + _logger.LogWarning("Artisan reported a stop request, checking items"); + _artisanIpc.SetStopRequest(stop: false); + } + if (HasEnoughItems(CurrentPlan)) + { + _logger.LogDebug("Crafting complete, transitioning to turn-in"); + State = EDeliveryState.Executing; + EnqueueTurnInSequence(CurrentPlan); + } + else if (_craftRetryCount < 3) + { + _craftRetryCount++; + _logger.LogWarning("Crafting finished but insufficient items (have {Have}, need {Need}), retrying", GetItemCount(CurrentPlan), CurrentPlan.DeliveryCount); + StartCrafting(CurrentPlan, _currentCraftRecipe); + } + else + { + _logger.LogWarning("Crafting finished but insufficient items after retry (have {Have}, need {Need})", GetItemCount(CurrentPlan), CurrentPlan.DeliveryCount); + Stop("Insufficient items after crafting"); + } + return State; } - [MethodImpl(MethodImplOptions.NoInlining)] private EDeliveryState UpdateWaitingForGather() { - int num = (_taskQueue.AllTasksComplete ? 800896901 : 800896910); - int itemCount = default(int); - GatheringController.EStatus eStatus = default(GatheringController.EStatus); - EClassJob? pendingGatherClass = default(EClassJob?); - while (true) + if (!_taskQueue.AllTasksComplete) { - int num2 = num; - int num3 = 800896909; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 13: - _lastGatherCount = itemCount; - _gatherStartMs = _202C_202E_202E_206F_200F_202A_200B_202C_206D_202D_200E_206D_202E_200F_200C_202C_200D_202E_202B_202C_202A_206B_206D_200D_206C_206A_202B_200C_202B_206C_206C_202D_202C_206A_206D_202E_206F_206D_200E_200F_202E(); - num = 800896904; - break; - case 6: - _206C_206C_200F_200C_200C_202C_206E_206E_206F_200C_206B_206E_202C_200D_202A_200B_206D_202C_202B_206F_200F_202B_202E_206C_200C_202E_202B_202B_206C_200D_206C_202A_206A_202C_200F_200B_202E_200B_206E_206E_202E((ILogger)_logger, 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(-857621269), new object[2] { itemCount, CurrentPlan.DeliveryCount }); - Stop(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(-308420345)); - num = 800896908; - break; - case 11: - num = ((eStatus != GatheringController.EStatus.Complete) ? 800896908 : 800896907); - break; - case 3: - UpdateCurrentTask(); - return State; - case 8: - pendingGatherClass = _pendingGatherClass; - num = ((!pendingGatherClass.HasValue) ? 800896909 : 800896899); - break; - case 12: - return State; - case 7: - _202D_206D_202D_200F_200C_202A_202A_202A_200E_202E_200D_200C_202C_200F_200F_202A_202A_200B_202C_200B_200F_200F_200E_206E_206D_206A_206C_206F_200D_202B_200E_206E_206E_202A_202B_202B_200E_202C_206F_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2020357276), Array.Empty()); - State = EDeliveryState.Executing; - EnqueueTurnInSequence(CurrentPlan); - num = 800896908; - break; - case 14: - { - EClassJob valueOrDefault = pendingGatherClass.GetValueOrDefault(); - _pendingGatherClass = null; - StartGathering(CurrentPlan, valueOrDefault); - return State; - } - case 2: - num = 800896910; - break; - case 9: - eStatus = _gatheringController.Update(); - num = ((!HasEnoughItems(CurrentPlan)) ? 800896902 : 800896905); - break; - case 5: - num = ((_202C_202E_202E_206F_200F_202A_200B_202C_206D_202D_200E_206D_202E_200F_200C_202C_200D_202E_202B_202C_202A_206B_206D_200D_206C_206A_202B_200C_202B_206C_206C_202D_202C_206A_206D_202E_206F_206D_200E_200F_202E() - _gatherStartMs <= 180000) ? 800896900 : 800896903); - break; - case 4: - num = ((eStatus == GatheringController.EStatus.Complete) ? 800896906 : 800896897); - break; - case 1: - return State; - case 10: - _206C_206C_200F_200C_200C_202C_206E_206E_206F_200C_206B_206E_202C_200D_202A_200B_206D_202C_202B_206F_200F_202B_202E_206C_200C_202E_202B_202B_206C_200D_206C_202A_206A_202C_200F_200B_202E_200B_206E_206E_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(704684499), new object[1] { 180000L }); - _gatheringController.Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1876936404)); - Stop(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(1544538434)); - return State; - case 0: - itemCount = GetItemCount(CurrentPlan); - num = ((itemCount <= _lastGatherCount) ? 800896904 : 800896896); - break; - } + UpdateCurrentTask(); + return State; } + EClassJob? pendingGatherClass = _pendingGatherClass; + if (pendingGatherClass.HasValue) + { + EClassJob valueOrDefault = pendingGatherClass.GetValueOrDefault(); + _pendingGatherClass = null; + StartGathering(CurrentPlan, valueOrDefault); + return State; + } + int itemCount = GetItemCount(CurrentPlan); + if (itemCount > _lastGatherCount) + { + _lastGatherCount = itemCount; + _gatherStartMs = Environment.TickCount64; + } + if (Environment.TickCount64 - _gatherStartMs > 180000) + { + _logger.LogWarning("Gathering made no progress for {Timeout}ms", 180000L); + _gatheringController.Stop("Delivery gather timeout"); + Stop("Gathering timeout"); + return State; + } + GatheringController.EStatus eStatus = _gatheringController.Update(); + if (HasEnoughItems(CurrentPlan)) + { + if (eStatus != GatheringController.EStatus.Complete) + { + return State; + } + _logger.LogDebug("Gathering complete, transitioning to turn-in"); + State = EDeliveryState.Executing; + EnqueueTurnInSequence(CurrentPlan); + } + else if (eStatus == GatheringController.EStatus.Complete) + { + _logger.LogWarning("Gathering ended without enough items (have {Have}, need {Need})", itemCount, CurrentPlan.DeliveryCount); + Stop("Gathering ended without items"); + } + return State; } - [MethodImpl(MethodImplOptions.NoInlining)] private EDeliveryState UpdateWaitingForFish() { - int num = (_taskQueue.AllTasksComplete ? 603569481 : 603569476); - FishingController.EFishingState state = default(FishingController.EFishingState); - bool flag = default(bool); - int itemCount = default(int); - while (true) + if (!_taskQueue.AllTasksComplete) { - int num2 = num; - int num3 = 603569483; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 10: - num = ((state == FishingController.EFishingState.Idle) ? 603569487 : 603569477); - break; - case 12: - _pendingFishingStart = false; - StartFishing(CurrentPlan); - return State; - case 16: - num = ((_202C_202E_202E_206F_200F_202A_200B_202C_206D_202D_200E_206D_202E_200F_200C_202C_200D_202E_202B_202C_202A_206B_206D_200D_206C_206A_202B_200C_202B_206C_206C_202D_202C_206A_206D_202E_206F_206D_200E_200F_202E() - _fishStartMs <= 180000) ? 603569474 : 603569484); - break; - case 15: - UpdateCurrentTask(); - return State; - case 5: - _202D_206D_202D_200F_200C_202A_202A_202A_200E_202E_200D_200C_202C_200F_200F_202A_202A_200B_202C_200B_200F_200F_200E_206E_206D_206A_206C_206F_200D_202B_200E_206E_206E_202A_202B_202B_200E_202C_206F_200F_202E((ILogger)_logger, 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(1433419751), Array.Empty()); - _fishingController.Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2119482329)); - State = EDeliveryState.Executing; - EnqueueTurnInSequence(CurrentPlan); - num = 603569480; - break; - case 4: - flag = true; - num = 603569485; - break; - case 3: - return State; - case 0: - num = 603569476; - break; - case 6: - num = ((!flag) ? 603569480 : 603569472); - break; - case 2: - num = ((!_pendingFishingStart) ? 603569482 : 603569479); - break; - case 14: - num = ((state != FishingController.EFishingState.Complete) ? 603569478 : 603569487); - break; - case 13: - flag = false; - num = 603569485; - break; - case 7: - _206C_206C_200F_200C_200C_202C_206E_206E_206F_200C_206B_206E_202C_200D_202A_200B_206D_202C_202B_206F_200F_202B_202E_206C_200C_202E_202B_202B_206C_200D_206C_202A_206A_202C_200F_200B_202E_200B_206E_206E_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1025220962), new object[1] { 180000L }); - _fishingController.Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1574890847)); - Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-867001927)); - return State; - case 9: - state = _fishingController.State; - num = ((!HasEnoughItems(CurrentPlan)) ? 603569473 : 603569486); - break; - case 8: - _lastFishCount = itemCount; - _fishStartMs = _202C_202E_202E_206F_200F_202A_200B_202C_206D_202D_200E_206D_202E_200F_200C_202C_200D_202E_202B_202C_202A_206B_206D_200D_206C_206A_202B_200C_202B_206C_206C_202D_202C_206A_206D_202E_206F_206D_200E_200F_202E(); - num = 603569499; - break; - case 11: - _206C_206C_200F_200C_200C_202C_206E_206E_206F_200C_206B_206E_202C_200D_202A_200B_206D_202C_202B_206F_200F_202B_202E_206C_200C_202E_202B_202B_206C_200D_206C_202A_206A_202C_200F_200B_202E_200B_206E_206E_202E((ILogger)_logger, 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(-1907020198), new object[2] { itemCount, CurrentPlan.DeliveryCount }); - Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1534884548)); - num = 603569480; - break; - case 1: - itemCount = GetItemCount(CurrentPlan); - num = ((itemCount <= _lastFishCount) ? 603569499 : 603569475); - break; - } + UpdateCurrentTask(); + return State; } + if (_pendingFishingStart) + { + _pendingFishingStart = false; + StartFishing(CurrentPlan); + return State; + } + int itemCount = GetItemCount(CurrentPlan); + if (itemCount > _lastFishCount) + { + _lastFishCount = itemCount; + _fishStartMs = Environment.TickCount64; + } + if (Environment.TickCount64 - _fishStartMs > 180000) + { + _logger.LogWarning("Fishing made no progress for {Timeout}ms", 180000L); + _fishingController.Stop("Delivery fishing timeout"); + Stop("Fishing timeout"); + return State; + } + FishingController.EFishingState state = _fishingController.State; + if (HasEnoughItems(CurrentPlan)) + { + _logger.LogDebug("Fishing complete, transitioning to turn-in"); + _fishingController.Stop("Delivery fishing complete"); + State = EDeliveryState.Executing; + EnqueueTurnInSequence(CurrentPlan); + } + else if ((state == FishingController.EFishingState.Idle || state == FishingController.EFishingState.Complete) ? true : false) + { + _logger.LogWarning("Fishing ended without enough items (have {Have}, need {Need})", itemCount, CurrentPlan.DeliveryCount); + Stop("Fishing ended without items"); + } + return State; } private EDeliveryState UpdateExecuting() { - int num = ((!_taskQueue.AllTasksComplete) ? 1712268803 : 1712268800); - while (true) + if (_taskQueue.AllTasksComplete) { - int num2 = num; - int num3 = 1712268801; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - UpdateCurrentTask(); - return State; - case 1: - OnAllTasksComplete(); - return State; - case 0: - goto IL_0067; - } - continue; - IL_0067: - num = 1712268800; + OnAllTasksComplete(); + return State; } + UpdateCurrentTask(); + return State; } - [MethodImpl(MethodImplOptions.NoInlining)] private void OnAllTasksComplete() { - int num = ((CurrentPlan != null) ? 2073064070 : 2073064064); - int usedDeliveries = default(int); - DeliveryPlan deliveryPlan = default(DeliveryPlan); - while (true) + if (CurrentPlan == null) { - int num2 = num; - int num3 = 2073064071; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + State = EDeliveryState.Complete; + return; + } + int usedDeliveries = SatisfactionSupplyActions.GetNpcState(CurrentPlan.NpcIndex).UsedDeliveries; + if (SatisfactionSupplyActions.GetRemainingAllowances() > 0) + { + if (usedDeliveries == _usedDeliveriesAtPlan) { - case 3: - num = ((_200B_206A_200E_206C_200F_206F_206F_206D_202C_202A_200C_200C_202E_202E_200F_206D_206E_202E_206A_206B_206A_206C_200F_206F_200C_202A_206B_206A_202C_202E_202D_200E_202B_200F_206A_206A_206D_202C_200B_202D_202E() <= 0) ? 2073064069 : 2073064071); - break; - case 6: - _202D_206D_202D_200F_200C_202A_202A_202A_200E_202E_200D_200C_202C_200F_200F_202A_202A_200B_202C_200B_200F_200F_200E_206E_206D_206A_206C_206F_200D_202B_200E_206E_206E_202A_202B_202B_200E_202C_206F_200F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-747643920), new object[1] { usedDeliveries }); - _usedDeliveriesAtPlan = usedDeliveries; - CurrentPlan = deliveryPlan; - PopulateTaskQueue(deliveryPlan); - return; - case 1: - usedDeliveries = _202A_202E_202A_206B_202E_200F_206D_206B_206A_206C_200D_202A_200B_202D_202A_202A_202B_202E_206C_202C_202D_200F_200B_206A_202E_206D_202B_200D_206E_202A_202B_202E_200C_200D_202B_202A_206D_202C_200E_206D_202E(CurrentPlan.NpcIndex).UsedDeliveries; - num = ((_200B_206A_200E_206C_200F_206F_206F_206D_202C_202A_200C_200C_202E_202E_200F_206D_206E_202E_206A_206B_206A_206C_200F_206F_200C_202A_206B_206A_202C_202E_202D_200E_202B_200F_206A_206A_206D_202C_200B_202D_202E() <= 0) ? 2073064067 : 2073064076); - break; - case 4: - _202E_200D_206F_206E_200C_202B_200C_206C_206A_200B_202C_202D_206E_202C_200B_202C_206D_200B_206D_202A_200C_202C_202C_202D_202A_202C_200F_206E_206B_206F_206A_206A_200B_206A_206A_206C_206F_206A_200C_202B_202E((ILogger)_logger, 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(1142165099), Array.Empty()); - num = ((_configuration.CustomDeliveries.DeliveryQueue.Count <= 0) ? 2073064069 : 2073064068); - break; - case 8: - deliveryPlan = _plannerService.CreatePlan(_npcIndex, _slot); - num = ((deliveryPlan == null) ? 2073064067 : 2073064065); - break; - case 7: - State = EDeliveryState.Complete; - return; - case 0: - State = EDeliveryState.Idle; - num = ((!StartNextFromQueue()) ? 2073064069 : 2073064066); - break; - case 10: - _206C_206C_200F_200C_200C_202C_206E_206E_206F_200C_206B_206E_202C_200D_202A_200B_206D_202C_202B_206F_200F_202B_202E_206C_200C_202E_202B_202B_206C_200D_206C_202A_206A_202C_200F_200B_202E_200B_206E_206E_202E((ILogger)_logger, 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(-948955822), new object[1] { usedDeliveries }); - num = 2073064067; - break; - case 5: - return; - case 2: - State = EDeliveryState.Complete; - return; - case 9: - num = 2073064064; - break; - case 11: - num = ((usedDeliveries != _usedDeliveriesAtPlan) ? 2073064079 : 2073064077); - break; + _logger.LogWarning("Delivery batch completed without progress (used still {Used}), not re-planning", usedDeliveries); + } + else + { + DeliveryPlan deliveryPlan = _plannerService.CreatePlan(_npcIndex, _slot); + if (deliveryPlan != null) + { + _logger.LogDebug("Allowances remain (used: {Used}), re-planning", usedDeliveries); + _usedDeliveriesAtPlan = usedDeliveries; + CurrentPlan = deliveryPlan; + PopulateTaskQueue(deliveryPlan); + return; + } } } + _logger.LogInformation("NPC deliveries complete"); + if (_configuration.CustomDeliveries.DeliveryQueue.Count > 0 && SatisfactionSupplyActions.GetRemainingAllowances() > 0) + { + State = EDeliveryState.Idle; + if (StartNextFromQueue()) + { + return; + } + } + State = EDeliveryState.Complete; } protected override void OnTaskComplete(ITask task) { - int num = ((!(task is SatisfactionSupplyTurnInTask)) ? 604199381 : 604199382); - while (true) + if (task is SatisfactionSupplyTurnInTask) { - int num2 = num; - int num3 = 604199383; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 604199382; - break; - case 1: - ResetStepRetryCounter(); - num = 604199381; - break; - case 2: - return; - } + ResetStepRetryCounter(); } } - [MethodImpl(MethodImplOptions.NoInlining)] protected override void OnRetryStep() { DeliveryPlan deliveryPlan = _plannerService.CreatePlan(_npcIndex, _slot); - int num = ((deliveryPlan != null) ? (-1778762508) : (-1778762507)); - while (true) + if (deliveryPlan == null) { - int num2 = num; - int num3 = -1778762508; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_005b; - case 1: - Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1253309975)); - return; - case 0: - _202E_200D_206F_206E_200C_202B_200C_206C_206A_200B_202C_202D_206E_202C_200B_202C_206D_200B_206D_202A_200C_202C_202C_202D_202A_202C_200F_206E_206B_206F_206A_206A_200B_206A_206A_206C_206F_206A_200C_202B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-930319114), Array.Empty()); - CurrentPlan = deliveryPlan; - PopulateTaskQueue(deliveryPlan); - return; - } - continue; - IL_005b: - num = -1778762507; + Stop("Re-plan on retry failed"); + return; } + _logger.LogInformation("Retrying delivery step with a fresh plan"); + CurrentPlan = deliveryPlan; + PopulateTaskQueue(deliveryPlan); } - [MethodImpl(MethodImplOptions.NoInlining)] public override void Stop(string label) { base.Stop(label); - int num = ((State != EDeliveryState.Idle) ? (-1047670405) : (-1047670401)); - while (true) + if (State != EDeliveryState.Idle || CurrentPlan != null) { - int num2 = num; - int num3 = -1047670402; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _logger.LogInformation("Stopping custom delivery controller: {Label}", label); + if (_artisanIpc.IsCrafting()) { - case 5: - _202E_200D_206F_206E_200C_202B_200C_206C_206A_200B_202C_202D_206E_202C_200B_202C_206D_200B_206D_202A_200C_202C_202C_202D_202A_202C_200F_206E_206B_206F_206A_206A_200B_206A_206A_206C_206F_206A_200C_202B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(855393726), new object[1] { label }); - num = ((!_artisanIpc.IsCrafting()) ? (-1047670402) : (-1047670404)); - break; - case 1: - num = ((CurrentPlan == null) ? (-1047670406) : (-1047670405)); - break; - case 0: - _fishingController.Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1761276025)); - _gatheringController.Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1742283330)); - _routeEnqueuer.ClearDestination(); - _taskQueue.Reset(); - CurrentPlan = null; - State = EDeliveryState.Idle; - num = -1047670406; - break; - case 4: - return; - case 3: - num = -1047670401; - break; - case 2: _artisanIpc.SetStopRequest(stop: true); - num = -1047670402; - break; } + _fishingController.Stop("Delivery stop"); + _gatheringController.Stop("Delivery stop"); + _routeEnqueuer.ClearDestination(); + _taskQueue.Reset(); + CurrentPlan = null; + State = EDeliveryState.Idle; } } - [MethodImpl(MethodImplOptions.NoInlining)] private void EnqueueNavigateToNpc(int npcIndex) { - (ushort, Vector3) value; - int num = (_npcPositions.TryGetValue(npcIndex, out value) ? 1771895941 : 1771895938); - uint valueOrDefault = default(uint); - while (true) + if (!_npcPositions.TryGetValue(npcIndex, out (ushort, Vector3) value)) { - int num2 = num; - int num3 = 1771895937; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - _taskQueue.Enqueue(new DeliveryNpcApproachTask(value.Item1, value.Item2, valueOrDefault)); - return; - case 2: - num = (_routeEnqueuer.TryEnqueueToTerritory(_taskQueue, value.Item1, value.Item2) ? 1771895940 : 1771895936); - break; - case 4: - valueOrDefault = _npcDataIds.GetValueOrDefault(npcIndex); - num = ((_202C_206F_202D_206E_200D_200B_206A_200E_202B_206C_206F_202D_206B_206C_202C_206C_200C_206E_200E_200D_202D_206F_202A_206F_206A_202C_206F_206C_206B_206F_200E_200D_206D_202E_200D_202B_206D_206B_200E_206F_202E(_clientState) == value.Item1) ? 1771895940 : 1771895939); - break; - case 3: - _206C_206C_200F_200C_200C_202C_206E_206E_206F_200C_206B_206E_202C_200D_202A_200B_206D_202C_202B_206F_200F_202B_202E_206C_200C_202E_202B_202B_206C_200D_206C_202A_206A_202C_200F_200B_202E_200B_206E_206E_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-24071886), new object[1] { npcIndex }); - return; - case 1: - _206C_206C_200F_200C_200C_202C_206E_206E_206F_200C_206B_206E_202C_200D_202A_200B_206D_202C_202B_206F_200F_202B_202E_206C_200C_202E_202B_202B_206C_200D_206C_202A_206A_202C_200F_200B_202E_200B_206E_206E_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(473496271), new object[1] { value.Item1 }); - EnqueueNavigateTo(value.Item1, value.Item2); - return; - case 0: - num = 1771895938; - break; - } + _logger.LogWarning("No position found for delivery NPC index {NpcIndex}, skipping navigation", npcIndex); + return; + } + uint valueOrDefault = _npcDataIds.GetValueOrDefault(npcIndex); + if (_clientState.TerritoryType != value.Item1 && !_routeEnqueuer.TryEnqueueToTerritory(_taskQueue, value.Item1, value.Item2)) + { + _logger.LogWarning("Could not route to delivery NPC territory {TerritoryId}; falling back to normal routing", value.Item1); + EnqueueNavigateTo(value.Item1, value.Item2); + } + else + { + _taskQueue.Enqueue(new DeliveryNpcApproachTask(value.Item1, value.Item2, valueOrDefault)); } } @@ -1676,192 +805,64 @@ internal sealed class CustomDeliveryController : MiniTaskController(-1680845560), new object[1] { plan.NpcIndex }); - num = 1164890719; - break; - } + _logger.LogWarning("No DataId for delivery NPC index {NpcIndex}, turn-in may fail", plan.NpcIndex); } + _taskQueue.Enqueue(new SatisfactionSupplyTurnInTask(plan.NpcIndex, plan.Slot, plan.DeliveryCount, _npcDataIds.GetValueOrDefault(plan.NpcIndex))); + _taskQueue.Enqueue(new WaitAtEnd.WaitDelay()); } private static Dictionary BuildNpcPositionLookup(IDataManager dataManager) { Dictionary dictionary = new Dictionary(); Dictionary dictionary2 = new Dictionary(); - using (ExcelSheet.Enumerator enumerator = dataManager.GetExcelSheet().GetEnumerator()) + foreach (SatisfactionNpc item in dataManager.GetExcelSheet()) { - int num = 998124636; - SatisfactionNpc current = default(SatisfactionNpc); - while (true) + if (item.RowId != 0 && item.Npc.RowId != 0) { - int num2 = num; - int num3 = 998124637; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - { - int value = (int)(current.RowId - 1); - dictionary2[current.Npc.RowId] = value; - num = 998124636; - break; - } - case 4: - num = ((current.Npc.RowId == 0) ? 998124636 : 998124637); - break; - case 1: - num = (enumerator.MoveNext() ? 998124632 : 998124639); - break; - case 3: - num = 998124636; - break; - case 5: - current = enumerator.Current; - num = ((current.RowId == 0) ? 998124636 : 998124633); - break; - case 2: - goto end_IL_002e; - } - continue; - end_IL_002e: - break; + int value = (int)(item.RowId - 1); + dictionary2[item.Npc.RowId] = value; } } - using ExcelSheet.Enumerator enumerator2 = dataManager.GetExcelSheet().GetEnumerator(); - int num = -193087717; - int value2 = default(int); - Level current2 = default(Level); - while (true) + foreach (Level item2 in dataManager.GetExcelSheet()) { - int num5 = num; - int num3 = -193087714; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) + if (item2.RowId != 0 && item2.Territory.IsValid && dictionary2.TryGetValue(item2.Object.RowId, out var value2)) { - case 3: - dictionary.TryAdd(value2, ((ushort)current2.Territory.RowId, new Vector3(current2.X, current2.Y, current2.Z))); - num = -193087717; - break; - case 5: - num = (enumerator2.MoveNext() ? (-193087720) : (-193087718)); - break; - case 0: - num = -193087717; - break; - case 6: - current2 = enumerator2.Current; - num = ((current2.RowId == 0) ? (-193087717) : (-193087713)); - break; - case 1: - num = ((!current2.Territory.IsValid) ? (-193087717) : (-193087716)); - break; - case 2: - num = ((!dictionary2.TryGetValue(current2.Object.RowId, out value2)) ? (-193087717) : (-193087715)); - break; - case 4: - return dictionary; + dictionary.TryAdd(value2, ((ushort)item2.Territory.RowId, new Vector3(item2.X, item2.Y, item2.Z))); } } + return dictionary; } private static Dictionary BuildNpcDataIdLookup(IDataManager dataManager) { Dictionary dictionary = new Dictionary(); - using ExcelSheet.Enumerator enumerator = dataManager.GetExcelSheet().GetEnumerator(); - int num = -348593404; - SatisfactionNpc current = default(SatisfactionNpc); - while (true) + foreach (SatisfactionNpc item in dataManager.GetExcelSheet()) { - int num2 = num; - int num3 = -348593407; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (item.RowId != 0 && item.Npc.RowId != 0) { - case 4: - num = -348593404; - break; - case 1: - dictionary[(int)(current.RowId - 1)] = current.Npc.RowId; - num = -348593404; - break; - case 5: - num = (enumerator.MoveNext() ? (-348593406) : (-348593405)); - break; - case 0: - num = ((current.Npc.RowId == 0) ? (-348593404) : (-348593408)); - break; - case 3: - current = enumerator.Current; - num = ((current.RowId == 0) ? (-348593404) : (-348593407)); - break; - case 2: - return dictionary; + dictionary[(int)(item.RowId - 1)] = item.Npc.RowId; } } + return dictionary; } private static Dictionary BuildNpcNameLookup(IDataManager dataManager) { Dictionary dictionary = new Dictionary(); - using ExcelSheet.Enumerator enumerator = dataManager.GetExcelSheet().GetEnumerator(); - int num = -1387344735; - SatisfactionNpc current = default(SatisfactionNpc); - while (true) + foreach (SatisfactionNpc item in dataManager.GetExcelSheet()) { - int num2 = num; - int num3 = -1387344734; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (item.RowId != 0 && item.Npc.RowId != 0) { - case 5: - num = ((current.Npc.RowId == 0) ? (-1387344735) : (-1387344733)); - break; - case 2: - current = enumerator.Current; - num = ((current.RowId == 0) ? (-1387344735) : (-1387344729)); - break; - case 3: - num = (enumerator.MoveNext() ? (-1387344736) : (-1387344730)); - break; - case 1: - dictionary[(int)(current.RowId - 1)] = current.Npc.Value.Singular.ToString(); - num = -1387344735; - break; - case 0: - num = -1387344735; - break; - case 4: - return dictionary; + dictionary[(int)(item.RowId - 1)] = item.Npc.Value.Singular.ToString(); } } + return dictionary; } private bool HasEnoughItems(DeliveryPlan plan) @@ -1873,109 +874,4 @@ internal sealed class CustomDeliveryController : MiniTaskControllerGetInventoryItemCount(plan.ItemId, isHq: false, checkEquipped: true, checkArmory: true, (short)plan.Collectability); } - - static void _206C_206C_200F_200C_200C_202C_206E_206E_206F_200C_206B_206E_202C_200D_202A_200B_206D_202C_202B_206F_200F_202B_202E_206C_200C_202E_202B_202B_206C_200D_206C_202A_206A_202C_200F_200B_202E_200B_206E_206E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static int _202C_200C_200D_200D_200E_202A_206C_200B_206B_200F_206E_200C_200F_200C_202C_206F_206C_200B_206C_206A_202C_202E_206E_200F_206A_200B_206E_202B_206E_200C_202D_200F_206F_200D_202B_200D_202D_200E_206A_206F_202E() - { - return InventoryHelper.CountFreeInventorySlots(); - } - - static void _202E_200D_206F_206E_200C_202B_200C_206C_206A_200B_202C_202D_206E_202C_200B_202C_206D_200B_206D_202A_200C_202C_202C_202D_202A_202C_200F_206E_206B_206F_206A_206A_200B_206A_206A_206C_206F_206A_200C_202B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static SatisfactionSupplyActions.NpcState _202A_202E_202A_206B_202E_200F_206D_206B_206A_206C_200D_202A_200B_202D_202A_202A_202B_202E_206C_202C_202D_200F_200B_206A_202E_206D_202B_200D_206E_202A_202B_202E_200C_200D_202B_202A_206D_202C_200E_206D_202E(int P_0) - { - return SatisfactionSupplyActions.GetNpcState(P_0); - } - - static bool _202D_200D_202B_200E_202C_206B_202A_206C_200F_206E_206E_206D_200E_206A_202B_202D_202A_200F_202B_200B_206D_200B_200D_200B_200F_200C_200D_200C_202D_206F_206C_200D_202A_202E_206F_200F_202B_206E_200F_200D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202B_202D_206D_206B_202B_206A_200E_202C_202A_206B_200E_206A_200C_206A_206A_200F_202C_202C_206C_200D_200E_200C_206E_206E_202D_202D_200F_206C_202C_202B_202B_206F_202E_200E_202D_206E_200B_202D_200F_202C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static IPlayerCharacter _200D_206F_206F_206D_200B_202C_202C_202A_200C_200D_206D_206A_202D_202C_202A_206A_200F_206D_202C_200E_200C_200C_202D_206E_202C_202D_200D_202B_206E_202C_206E_206B_202A_206E_200D_206A_202A_200C_202D_202A_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static RowRef _206D_206E_206C_202B_206F_206A_206E_200F_200D_206D_206A_206B_206E_202E_200B_206C_206E_200B_206E_200C_202E_200D_200D_206F_202A_200E_206F_200B_200C_200E_202C_206C_200D_200D_206D_202A_202A_200F_202E_206B_202E(ICharacter P_0) - { - return P_0.ClassJob; - } - - static bool _206A_200B_206F_202E_200B_206C_206F_202C_202D_202E_206F_206A_202A_202C_200F_206D_206C_200C_206A_206C_206D_202D_206C_202A_206B_200E_200D_200D_200F_200F_206C_206F_202C_202E_206E_206F_206C_206C_200E_202C_202E(EClassJob P_0) - { - return P_0.IsCrafter(); - } - - static void _206C_200C_202C_206F_200F_200F_200E_200E_206E_202C_200E_206C_206D_206C_200B_200C_200E_202D_200E_202B_202B_200C_202D_206F_200B_202D_202D_206F_206C_200E_202D_206B_200F_206B_206E_200B_206B_202A_206E_202B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogError(P_1, P_2); - } - - static List _206A_206D_202E_200F_202C_200C_206A_200B_202A_202A_206E_206E_200B_200E_206D_202E_202B_200E_200B_202B_202C_206B_202C_202B_202D_206E_200B_206D_200F_206D_202D_200F_202C_206E_200E_202A_206B_202B_206C_202B_202E(GatheringRoot P_0) - { - return P_0.Steps; - } - - static ushort _200D_200C_206C_206F_206C_206C_200E_202A_200C_200E_202C_206F_200E_200E_200C_206A_202D_202A_206C_202D_206A_200C_206E_202A_200C_206D_200F_206A_206F_200E_206E_200C_202C_200D_206F_206B_200F_202A_200F_202C_202E(QuestStep P_0) - { - return P_0.TerritoryId; - } - - static List _206C_206D_206D_206B_202E_206E_200C_202C_206C_200D_206E_202E_202B_200E_206E_200F_206F_206F_202C_202C_206F_200B_206C_202D_206C_200E_206A_206F_200B_206F_202A_200D_206C_206C_202A_206F_202D_200E_206A_206B_202E(GatheringRoot P_0) - { - return P_0.Groups; - } - - static List _200D_206C_202B_202D_200E_206F_200C_202E_202B_200E_206C_202B_200F_200F_206B_206D_200C_200C_202E_206C_202D_202B_202D_202C_206C_200D_202A_206E_202B_206C_202B_206B_200D_206D_202E_202A_206A_202A_206D_202A_202E(GatheringNodeGroup P_0) - { - return P_0.Nodes; - } - - static List _206B_206D_202A_200B_206A_206C_206E_206A_202B_202A_206D_200D_202A_202A_200E_200F_202D_206A_200B_202B_202B_200C_202D_206E_206A_200D_206A_206E_202D_202B_206B_206F_202C_206B_200B_200F_206D_206A_200B_202D_202E(GatheringNode P_0) - { - return P_0.Locations; - } - - static (Vector3, int, float) _202E_200F_202C_206E_202A_200F_206B_202C_202C_206C_206E_202D_206E_200F_202E_202B_200E_206C_202C_202E_206B_206A_206E_206F_200C_202E_200C_202C_200D_200E_206D_200B_202A_200E_206E_202A_206E_206E_202C_206F_202E(GatheringLocation P_0) - { - return GatheringMath.CalculateLandingLocation(P_0); - } - - static Vector3? _206D_202C_206D_206E_200D_202A_200B_200F_206F_202D_200D_206D_206E_202B_206A_206F_202E_206E_202B_200D_206C_206E_206E_206E_202C_202E_206C_202C_206C_202D_200C_206F_202B_200C_202A_206F_200B_200F_206F_206C_202E(QuestStep P_0) - { - return P_0.Position; - } - - static void _202D_206D_202D_200F_200C_202A_202A_202A_200E_202E_200D_200C_202C_200F_200F_202A_202A_200B_202C_200B_200F_200F_200E_206E_206D_206A_206C_206F_200D_202B_200E_206E_206E_202A_202B_202B_200E_202C_206F_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static uint _202C_206F_202D_206E_200D_200B_206A_200E_202B_206C_206F_202D_206B_206C_202C_206C_200C_206E_200E_200D_202D_206F_202A_206F_206A_202C_206F_206C_206B_206F_200E_200D_206D_202E_200D_202B_206D_206B_200E_206F_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static long _202C_202E_202E_206F_200F_202A_200B_202C_206D_202D_200E_206D_202E_200F_200C_202C_200D_202E_202B_202C_202A_206B_206D_200D_206C_206A_202B_200C_202B_206C_206C_202D_202C_206A_206D_202E_206F_206D_200E_200F_202E() - { - return Environment.TickCount64; - } - - static int _200B_206A_200E_206C_200F_206F_206F_206D_202C_202A_200C_200C_202E_202E_200F_206D_206E_202E_206A_206B_206A_206C_200F_206F_200C_202A_206B_206A_202C_202E_202D_200E_202B_200F_206A_206A_206D_202C_200B_202D_202E() - { - return SatisfactionSupplyActions.GetRemainingAllowances(); - } } diff --git a/Questionable/Questionable.Controller/DefinitionRegistry.cs b/Questionable/Questionable.Controller/DefinitionRegistry.cs index 0ed23aa..c99439f 100644 --- a/Questionable/Questionable.Controller/DefinitionRegistry.cs +++ b/Questionable/Questionable.Controller/DefinitionRegistry.cs @@ -1,12 +1,10 @@ #define RELEASE using System; -using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; -using System.Runtime.CompilerServices; using System.Text.Json; using System.Text.Json.Nodes; using Dalamud.Plugin; @@ -59,7 +57,6 @@ internal abstract class DefinitionRegistry where TDefinition : clas return null; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Reload() { _definitions.Clear(); @@ -67,511 +64,125 @@ internal abstract class DefinitionRegistry where TDefinition : clas LoadFromAssembly(); try { - LoadFromDirectory(_202E_200D_200D_206F_200C_202D_200F_206D_200F_202D_200D_202C_202D_206B_200E_200B_200E_206D_202D_206D_202A_200D_202E_200C_206D_202E_202B_206A_206A_206D_206B_206A_206F_200F_200F_200F_206B_206E_202E_206E_202E(_206D_206F_202D_200C_206F_200D_206C_206C_200F_202A_202E_206D_200F_202C_200D_202D_200D_202B_200B_200F_200F_200D_202B_202C_206C_200B_206D_206A_202C_202C_206F_206A_206A_200C_202A_206A_206D_200E_206A_200C_202E(_206E_206A_206B_206F_200F_206D_206F_206B_206B_206E_200F_200C_200E_202D_200D_206E_200C_206C_206D_206B_202A_206A_206D_202E_206D_202D_202C_200E_206F_206C_200D_206C_206A_202A_206E_206B_200C_202E_200E_200F_202E((FileSystemInfo)_200D_206A_206C_200C_202C_200E_202B_200F_202D_202C_206F_206F_200D_206C_202E_206D_206E_206B_206B_202A_206F_202E_200F_200F_206D_200B_200C_202C_200F_200F_206F_206C_200D_206E_202C_200E_200C_206D_200C_206C_202E(_pluginInterface)), ConfigDirectoryName))); + LoadFromDirectory(new DirectoryInfo(Path.Combine(_pluginInterface.ConfigDirectory.FullName, ConfigDirectoryName))); } - catch (Exception ex) + catch (Exception exception) { - _200D_206C_202C_202D_200E_202D_200C_206D_202B_200C_206E_202B_200E_202D_206A_206F_206A_202D_200B_200C_200C_200E_202A_200F_206D_200E_206E_206B_206C_200D_202C_200D_202D_206C_202A_200C_206F_202B_206B_202B_202E(_logger, ex, 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(-1480922246), new object[1] { TypeLabel }); + _logger.LogError(exception, "Failed to load {TypeLabel} definitions from user directory (some may have been successfully loaded)", TypeLabel); } - IEnumerator enumerator = _schemaValidator.Validate().GetEnumerator(); - try + foreach (ValidationIssue item in _schemaValidator.Validate()) { - int num = -698035048; - while (true) - { - int num2 = num; - int num3 = -698035048; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = (_202C_206B_202D_200B_202E_206B_202D_202B_202C_200F_202E_206C_202A_200C_202C_200F_202B_202A_200D_202A_206C_206C_202E_206B_200C_202D_200C_200C_202C_200D_202E_206C_202B_200C_202C_200F_200C_206B_202D_202E((IEnumerator)enumerator) ? (-698035047) : (-698035045)); - break; - case 1: - { - ValidationIssue current = enumerator.Current; - _questValidator.AddValidationIssue(current); - num = -698035048; - break; - } - case 2: - num = -698035048; - break; - case 3: - goto end_IL_008e; - } - continue; - end_IL_008e: - break; - } - } - finally - { - int num = ((enumerator == null) ? 1453964763 : 1453964760); - while (true) - { - int num5 = num; - int num3 = 1453964762; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1453964760; - break; - case 1: - goto end_IL_0128; - case 2: - _202D_206A_200B_206C_202C_200F_202B_206E_200E_202E_206C_202D_202A_206A_202D_206F_206D_206B_200F_200F_202B_202A_202B_200E_206C_206F_206D_200E_200E_200B_202B_206F_202B_202E_206F_202B_200C_202C_200C_202E_202E((IDisposable)enumerator); - num = 1453964763; - break; - } - continue; - end_IL_0128: - break; - } + _questValidator.AddValidationIssue(item); } RemoveExpiredDefinitions(); - _202C_206E_206B_202D_202B_202B_206C_202E_206B_206A_206E_202C_200B_202B_200F_200B_202B_206B_200D_200E_200C_200B_202B_202B_200F_202B_200F_202A_206E_200E_206F_200C_206D_206B_206D_200F_206D_206C_206E_202C_202E(_logger, 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(1196622981), new object[2] { _definitions.Count, TypeLabel }); + _logger.LogDebug("Loaded {Count} {TypeLabel} definitions in total", _definitions.Count, TypeLabel); } - [MethodImpl(MethodImplOptions.NoInlining)] [Conditional("RELEASE")] private void LoadFromAssembly() { IReadOnlyDictionary assemblyDefinitions = GetAssemblyDefinitions(); - IEnumerator> enumerator = assemblyDefinitions.GetEnumerator(); - try + foreach (var (key, value) in assemblyDefinitions) { - int num = -618996398; - while (true) - { - int num2 = num; - int num3 = -618996400; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = (_202C_206B_202D_200B_202E_206B_202D_202B_202C_200F_202E_206C_202A_200C_202C_200F_202B_202A_200D_202A_206C_206C_202E_206B_200C_202D_200C_200C_202C_200D_202E_206C_202B_200C_202C_200F_200C_206B_202D_202E((IEnumerator)enumerator) ? (-618996399) : (-618996400)); - break; - case 1: - var (key, value) = (KeyValuePair)(ref enumerator.Current); - _definitions[key] = value; - num = -618996398; - break; - case 3: - num = -618996398; - break; - case 0: - goto end_IL_001a; - } - continue; - end_IL_001a: - break; - } + _definitions[key] = value; } - finally - { - int num = ((enumerator == null) ? 476280246 : 476280245); - while (true) - { - int num6 = num; - int num3 = 476280247; - int num4 = num6; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - goto end_IL_00ce; - case 2: - _202D_206A_200B_206C_202C_200F_202B_206E_200E_202E_206C_202D_202A_206A_202D_206F_206D_206B_200F_200F_202B_202A_202B_200E_206C_206F_206D_200E_200E_200B_202B_206F_202B_202E_206F_202B_200C_202C_200C_202E_202E((IDisposable)enumerator); - num = 476280246; - break; - case 0: - num = 476280245; - break; - } - continue; - end_IL_00ce: - break; - } - } - _202C_206E_206B_202D_202B_202B_206C_202E_206B_206A_206E_202C_200B_202B_200F_200B_202B_206B_200D_200E_200C_200B_202B_202B_200F_202B_200F_202A_206E_200E_206F_200C_206D_206B_206D_200F_206D_206C_206E_202C_202E(_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(416518745), new object[2] { assemblyDefinitions.Count, TypeLabel }); + _logger.LogDebug("Loaded {Count} {TypeLabel} definitions from assembly", assemblyDefinitions.Count, TypeLabel); } - [MethodImpl(MethodImplOptions.NoInlining)] [Conditional("DEBUG")] private void LoadFromProjectDirectory() { - DirectoryInfo directoryInfo = _200F_206E_206C_202B_200C_200D_202A_202A_206C_202B_202B_200D_202E_200D_206D_206E_206D_206F_206C_202E_202C_202B_200D_206D_200B_202A_206D_206C_206F_206D_200B_200E_200C_202C_206C_206B_202A_200C_202C_202D_202E(_206B_202E_200E_206D_206B_206F_206D_206E_200B_202A_206D_202D_202E_206B_200E_202C_200C_200E_206D_200C_206F_206D_200D_206E_206B_200B_206C_206F_206A_202A_200C_200F_200D_200D_206A_200C_200D_200B_202A_202E_202E(_pluginInterface)); - object obj; + DirectoryInfo directoryInfo = _pluginInterface.AssemblyLocation.Directory?.Parent?.Parent; if (directoryInfo == null) { - obj = null; + return; } - else + DirectoryInfo directory = new DirectoryInfo(Path.Combine(directoryInfo.FullName, "Paths", ProjectDirectoryName)); + try { - DirectoryInfo directoryInfo2 = _206F_206E_202B_200F_202D_202D_202E_200C_206C_200E_202D_202B_206B_200C_206C_200B_206B_206E_202A_200E_200D_200E_202A_202C_202E_206D_202E_202D_202A_202E_202C_206A_202E_202E_206D_202E_202E_202C_206F_200D_202E(directoryInfo); - obj = ((directoryInfo2 != null) ? _206F_206E_202B_200F_202D_202D_202E_200C_206C_200E_202D_202B_206B_200C_206C_200B_206B_206E_202A_200E_200D_200E_202A_202C_202E_206D_202E_202D_202A_202E_202C_206A_202E_202E_206D_202E_202E_202C_206F_200D_202E(directoryInfo2) : null); + LoadFromDirectory(directory); } - DirectoryInfo directoryInfo3 = (DirectoryInfo)obj; - int num = ((directoryInfo3 != null) ? 949795038 : 949795037); - while (true) + catch (Exception exception) { - int num2 = num; - int num3 = 949795039; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_007c; - case 2: - return; - case 1: - { - DirectoryInfo directory = _202E_200D_200D_206F_200C_202D_200F_206D_200F_202D_200D_202C_202D_206B_200E_200B_200E_206D_202D_206D_202A_200D_202E_200C_206D_202E_202B_206A_206A_206D_206B_206A_206F_200F_200F_200F_206B_206E_202E_206E_202E(_206C_200F_202D_202C_202C_202A_206A_202C_200E_206F_200E_200B_202E_206A_202B_202B_200D_206C_202A_206E_200B_200F_200D_202D_202E_206E_206F_200E_202C_202D_206A_200F_200D_206A_200C_200E_200F_200F_202E_206A_202E(_206E_206A_206B_206F_200F_206D_206F_206B_206B_206E_200F_200C_200E_202D_200D_206E_200C_206C_206D_206B_202A_206A_206D_202E_206D_202D_202C_200E_206F_206C_200D_206C_206A_202A_206E_206B_200C_202E_200E_200F_202E((FileSystemInfo)directoryInfo3), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-896958366), ProjectDirectoryName)); - try - { - LoadFromDirectory(directory); - return; - } - catch (Exception ex) - { - _definitions.Clear(); - _200D_206C_202C_202D_200E_202D_200C_206D_202B_200C_206E_202B_200E_202D_206A_206F_206A_202D_200B_200C_200C_200E_202A_200F_206D_200E_206E_206B_206C_200D_202C_200D_202D_206C_202A_200C_206F_202B_206B_202B_202E(_logger, ex, 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(1538126235), new object[1] { TypeLabel }); - return; - } - } - } - continue; - IL_007c: - num = 949795037; + _definitions.Clear(); + _logger.LogError(exception, "Failed to load {TypeLabel} definitions from project directory", TypeLabel); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void LoadFromDirectory(DirectoryInfo directory) { - int num = (_202A_206B_200D_200C_202E_206A_206E_206A_206D_206E_200D_200F_206B_200E_206D_200C_200F_206E_200E_202B_200B_200F_200F_202C_206F_206A_200E_200E_206A_200D_202D_202D_206A_200F_206E_202D_206F_202C_206A_202E((FileSystemInfo)directory) ? 1970314603 : 1970314600); - TDefinition val = default(TDefinition); - while (true) + if (!directory.Exists) { - int num2 = num; - int num3 = 1970314601; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _logger.LogDebug("Not loading {TypeLabel} definitions from {DirectoryName} (doesn't exist)", TypeLabel, directory); + return; + } + FileInfo[] files = directory.GetFiles("*.json"); + foreach (FileInfo fileInfo in files) + { + ushort? num = ExtractIdFromName(fileInfo.Name); + if (!num.HasValue) { - case 0: - goto IL_004f; - case 1: - _202C_206E_206B_202D_202B_202B_206C_202E_206B_206A_206E_202C_200B_202B_200F_200B_202B_206B_200D_200E_200C_200B_202B_202B_200F_202B_200F_202A_206E_200E_206F_200C_206D_206B_206D_200F_206D_206C_206E_202C_202E(_logger, 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(1174512965), new object[2] { TypeLabel, directory }); - return; - case 2: + continue; + } + try { - FileInfo[] array = _206C_200E_206E_206B_206D_202A_206C_202C_200B_206B_200F_200B_206B_202E_200D_202C_206E_206F_200D_202A_202B_206F_206A_200B_202E_206F_202D_200C_206E_206D_200B_200D_202C_200B_206C_206A_206E_206D_200D_200E_202E(directory, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1831198397)); - for (int num5 = 0; num5 < array.Length; num5 = (num4 | num3) + (num4 & num3)) + using FileStream utf8Json = fileInfo.OpenRead(); + JsonNode jsonNode = JsonNode.Parse(utf8Json); + if (jsonNode != null) { - FileInfo fileInfo = array[num5]; - ushort? num6 = ExtractIdFromName(_200D_206F_200D_202C_206E_202A_206B_202C_206A_200D_206F_200C_206A_200B_202B_200F_206F_202E_206A_200F_206B_202B_206E_202D_200B_200B_206B_202B_206D_206D_202A_200C_202E_202C_206B_202B_200F_206D_206D_202A_202E((FileSystemInfo)fileInfo)); - if (num6.HasValue) + _schemaValidator.Enqueue(num.Value, jsonNode); + TDefinition val = jsonNode.Deserialize(); + if (val != null) { - try - { - FileStream fileStream = _206D_202B_206D_202A_202D_200F_206D_206D_202C_200F_202E_200C_206D_202D_206A_200F_202D_200E_206A_206C_202B_200B_202C_206F_202B_200E_206B_200F_206C_200C_206C_202C_202C_206E_206F_200F_202C_202A_202A_200D_202E(fileInfo); - try - { - JsonNode jsonNode = _202B_202E_200B_206F_202C_202D_202C_206C_206D_206C_200C_202E_200B_206E_206C_202E_200C_206B_206B_202E_206F_206B_200E_200C_200C_206B_206F_202E_200C_202C_200E_200C_200F_206D_202E_206A_200C_200C_206C_200C_202E((Stream)fileStream, (JsonNodeOptions?)null, default(JsonDocumentOptions)); - num = ((jsonNode != null) ? (-48815400) : (-48815395)); - while (true) - { - int num7 = num; - num3 = -48815396; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 0: - num = -48815395; - break; - case 1: - goto end_IL_00fd; - case 4: - _schemaValidator.Enqueue(num6.Value, jsonNode); - val = jsonNode.Deserialize(); - num = ((val == null) ? (-48815393) : (-48815394)); - break; - case 2: - _definitions[num6.Value] = val; - num = -48815393; - break; - case 3: - goto end_IL_00fd; - } - continue; - end_IL_00fd: - break; - } - } - finally - { - num = ((fileStream == null) ? (-392038256) : (-392038253)); - while (true) - { - int num10 = num; - num3 = -392038254; - num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -392038253; - break; - case 2: - goto end_IL_01d6; - case 1: - _202D_206A_200B_206C_202C_200F_202B_206E_200E_202E_206C_202D_202A_206A_202D_206F_206D_206B_200F_200F_202B_202A_202B_200E_206C_206F_206D_200E_200E_200B_202B_206F_202B_202E_206F_202B_200C_202C_200C_202E_202E((IDisposable)fileStream); - num = -392038256; - break; - } - continue; - end_IL_01d6: - break; - } - } - } - catch (JsonException ex) - { - _200D_206C_202C_202D_200E_202D_200C_206D_202B_200C_206E_202B_200E_202D_206A_206F_206A_202D_200B_200C_200C_200E_202A_200F_206D_200E_206E_206B_206C_200D_202C_200D_202D_206C_202A_200C_206F_202B_206B_202B_202E(_logger, (Exception)ex, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1372108018), new object[2] - { - TypeLabel, - _206E_206A_206B_206F_200F_206D_206F_206B_206B_206E_200F_200C_200E_202D_200D_206E_200C_206C_206D_206B_202A_206A_206D_202E_206D_202D_202C_200E_206F_206C_200D_206C_206A_202A_206E_206B_200C_202E_200E_200F_202E((FileSystemInfo)fileInfo) - }); - _questValidator.AddValidationIssue(new ValidationIssue - { - PathType = PathType, - Id = num6.Value.ToString(_202A_206B_200D_200C_206D_206C_200E_206D_202C_206A_206F_206A_206A_200D_206F_202A_202D_206D_202B_206E_206E_206D_202E_200B_206E_200F_202E_202D_200E_206A_200E_206E_200F_200F_206D_200F_202A_202E_206B_202C_202E()), - Location = null, - Type = EIssueType.InvalidJsonSyntax, - Severity = EIssueSeverity.Error, - Description = _206E_200B_206E_202A_200F_206A_200F_200B_206B_200F_206C_202E_200F_206F_200E_202E_200D_200C_202C_202C_200B_206A_206C_202D_202C_206F_206C_202D_200D_200B_200F_206D_200E_206C_202C_206F_206E_206E_206A_202C_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1049555621), _200D_206F_200D_202C_206E_202A_206B_202C_206A_200D_206F_200C_206A_200B_202B_200F_206F_202E_206A_200F_206B_202B_206E_202D_200B_200B_206B_202B_206D_206D_202A_200C_202E_202C_206B_202B_200F_206D_206D_202A_202E((FileSystemInfo)fileInfo), 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(-437343681), _202A_202D_206C_206F_202B_202C_202D_206D_200D_206A_200F_202B_202B_202C_200F_200D_206F_200C_200E_202A_206B_206A_206F_202D_200B_200B_206D_206C_200B_200C_206C_200B_200E_206B_202A_200C_202B_200C_206B_206F_202E((Exception)ex)) - }); - } - catch (Exception ex2) - { - _200D_206C_202C_202D_200E_202D_200C_206D_202B_200C_206E_202B_200E_202D_206A_206F_206A_202D_200B_200C_200C_200E_202A_200F_206D_200E_206E_206B_206C_200D_202C_200D_202D_206C_202A_200C_206F_202B_206B_202B_202E(_logger, ex2, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1347495695), new object[2] - { - TypeLabel, - _206E_206A_206B_206F_200F_206D_206F_206B_206B_206E_200F_200C_200E_202D_200D_206E_200C_206C_206D_206B_202A_206A_206D_202E_206D_202D_202C_200E_206F_206C_200D_206C_206A_202A_206E_206B_200C_202E_200E_200F_202E((FileSystemInfo)fileInfo) - }); - } + _definitions[num.Value] = val; } - int num11 = num5; - num3 = 1; - num4 = num11; } - return; } + catch (JsonException ex) + { + _logger.LogError(ex, "Unable to parse {TypeLabel} definition file {FileName}", TypeLabel, fileInfo.FullName); + _questValidator.AddValidationIssue(new ValidationIssue + { + PathType = PathType, + Id = num.Value.ToString(CultureInfo.InvariantCulture), + Location = null, + Type = EIssueType.InvalidJsonSyntax, + Severity = EIssueSeverity.Error, + Description = "JSON syntax error in " + fileInfo.Name + ": " + ex.Message + }); + } + catch (Exception exception) + { + _logger.LogError(exception, "Unable to load {TypeLabel} definition file {FileName}", TypeLabel, fileInfo.FullName); } - continue; - IL_004f: - num = 1970314600; } } - [MethodImpl(MethodImplOptions.NoInlining)] private void RemoveExpiredDefinitions() { - using List.Enumerator enumerator = (from kvp in _definitions.Where(delegate(KeyValuePair kvp) + foreach (ushort item in (from kvp in _definitions.Where(delegate(KeyValuePair kvp) { DateTime? expiry = GetExpiry(kvp.Value); - int num5 = ((!expiry.HasValue) ? (-748929161) : (-748929164)); - while (true) + if (expiry.HasValue) { - int num6 = num5; - int num7 = -748929162; - int num8 = num6; - switch ((num8 | num7) - (num8 & num7)) - { - case 0: - goto IL_0058; - case 1: - return false; - case 2: - { - DateTime valueOrDefault = expiry.GetValueOrDefault(); - return ExpiryUtils.NormalizeExpiry(valueOrDefault) < DateTime.UtcNow; - } - } - continue; - IL_0058: - num5 = -748929164; + DateTime valueOrDefault = expiry.GetValueOrDefault(); + return ExpiryUtils.NormalizeExpiry(valueOrDefault) < DateTime.UtcNow; } + return false; }) - select kvp.Key).ToList().GetEnumerator(); - int num = 1782167825; - while (true) + select kvp.Key).ToList()) { - int num2 = num; - int num3 = 1782167824; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = 1782167825; - break; - case 2: - { - ushort current = enumerator.Current; - _202C_206E_206B_202D_202B_202B_206C_202E_206B_206A_206E_202C_200B_202B_200F_200B_202B_206B_200D_200E_200C_200B_202B_202B_200F_202B_200F_202A_206E_200E_206F_200C_206D_206B_206D_200F_206D_206C_206E_202C_202E(_logger, 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(-767454481), new object[3] - { - TypeLabel, - current, - GetName(_definitions[current]) ?? current.ToString(_202A_206B_200D_200C_206D_206C_200E_206D_202C_206A_206F_206A_206A_200D_206F_202A_202D_206D_202B_206E_206E_206D_202E_200B_206E_200F_202E_202D_200E_206A_200E_206E_200F_200F_206D_200F_202A_202E_206B_202C_202E()) - }); - _definitions.Remove(current); - num = 1782167825; - break; - } - case 1: - num = (enumerator.MoveNext() ? 1782167826 : 1782167824); - break; - case 0: - return; - } + _logger.LogDebug("Removing expired {TypeLabel} definition {Id} '{Name}'", TypeLabel, item, GetName(_definitions[item]) ?? item.ToString(CultureInfo.InvariantCulture)); + _definitions.Remove(item); } } private static ushort? ExtractIdFromName(string fileName) { - ushort result; - int num = (ushort.TryParse(_202E_200D_200F_206D_206E_200C_206E_200B_200F_206A_206E_206F_200D_206D_206A_202B_206C_200B_202C_200B_206B_200E_206A_200E_200F_206D_202E_202A_202C_202E_200C_202C_202A_200C_200C_206F_206F_206D_200B_206E_202E(_200E_200D_200F_206D_200B_202D_200E_200D_206C_200C_206C_206A_202C_206E_202E_200B_206E_202A_206C_200D_202D_200D_200F_200E_200D_200E_206A_202E_200F_200C_206B_206A_200B_202D_206E_206F_202D_206E_202E_206A_202E(fileName), '_', 2, StringSplitOptions.None)[0], out result) ? 271957257 : 271957258); - while (true) + if (!ushort.TryParse(Path.GetFileNameWithoutExtension(fileName).Split('_', 2)[0], out var result)) { - int num2 = num; - int num3 = 271957259; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return result; - case 1: - return null; - case 0: - goto IL_006e; - } - continue; - IL_006e: - num = 271957258; + return null; } - } - - static DirectoryInfo _200D_206A_206C_200C_202C_200E_202B_200F_202D_202C_206F_206F_200D_206C_202E_206D_206E_206B_206B_202A_206F_202E_200F_200F_206D_200B_200C_202C_200F_200F_206F_206C_200D_206E_202C_200E_200C_206D_200C_206C_202E(IDalamudPluginInterface P_0) - { - return P_0.ConfigDirectory; - } - - static string _206E_206A_206B_206F_200F_206D_206F_206B_206B_206E_200F_200C_200E_202D_200D_206E_200C_206C_206D_206B_202A_206A_206D_202E_206D_202D_202C_200E_206F_206C_200D_206C_206A_202A_206E_206B_200C_202E_200E_200F_202E(FileSystemInfo P_0) - { - return P_0.FullName; - } - - static string _206D_206F_202D_200C_206F_200D_206C_206C_200F_202A_202E_206D_200F_202C_200D_202D_200D_202B_200B_200F_200F_200D_202B_202C_206C_200B_206D_206A_202C_202C_206F_206A_206A_200C_202A_206A_206D_200E_206A_200C_202E(string P_0, string P_1) - { - return Path.Combine(P_0, P_1); - } - - static DirectoryInfo _202E_200D_200D_206F_200C_202D_200F_206D_200F_202D_200D_202C_202D_206B_200E_200B_200E_206D_202D_206D_202A_200D_202E_200C_206D_202E_202B_206A_206A_206D_206B_206A_206F_200F_200F_200F_206B_206E_202E_206E_202E(string P_0) - { - return new DirectoryInfo(P_0); - } - - static void _200D_206C_202C_202D_200E_202D_200C_206D_202B_200C_206E_202B_200E_202D_206A_206F_206A_202D_200B_200C_200C_200E_202A_200F_206D_200E_206E_206B_206C_200D_202C_200D_202D_206C_202A_200C_206F_202B_206B_202B_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } - - static bool _202C_206B_202D_200B_202E_206B_202D_202B_202C_200F_202E_206C_202A_200C_202C_200F_202B_202A_200D_202A_206C_206C_202E_206B_200C_202D_200C_200C_202C_200D_202E_206C_202B_200C_202C_200F_200C_206B_202D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202D_206A_200B_206C_202C_200F_202B_206E_200E_202E_206C_202D_202A_206A_202D_206F_206D_206B_200F_200F_202B_202A_202B_200E_206C_206F_206D_200E_200E_200B_202B_206F_202B_202E_206F_202B_200C_202C_200C_202E_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _202C_206E_206B_202D_202B_202B_206C_202E_206B_206A_206E_202C_200B_202B_200F_200B_202B_206B_200D_200E_200C_200B_202B_202B_200F_202B_200F_202A_206E_200E_206F_200C_206D_206B_206D_200F_206D_206C_206E_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static FileInfo _206B_202E_200E_206D_206B_206F_206D_206E_200B_202A_206D_202D_202E_206B_200E_202C_200C_200E_206D_200C_206F_206D_200D_206E_206B_200B_206C_206F_206A_202A_200C_200F_200D_200D_206A_200C_200D_200B_202A_202E_202E(IDalamudPluginInterface P_0) - { - return P_0.AssemblyLocation; - } - - static DirectoryInfo _200F_206E_206C_202B_200C_200D_202A_202A_206C_202B_202B_200D_202E_200D_206D_206E_206D_206F_206C_202E_202C_202B_200D_206D_200B_202A_206D_206C_206F_206D_200B_200E_200C_202C_206C_206B_202A_200C_202C_202D_202E(FileInfo P_0) - { - return P_0.Directory; - } - - static DirectoryInfo _206F_206E_202B_200F_202D_202D_202E_200C_206C_200E_202D_202B_206B_200C_206C_200B_206B_206E_202A_200E_200D_200E_202A_202C_202E_206D_202E_202D_202A_202E_202C_206A_202E_202E_206D_202E_202E_202C_206F_200D_202E(DirectoryInfo P_0) - { - return P_0.Parent; - } - - static string _206C_200F_202D_202C_202C_202A_206A_202C_200E_206F_200E_200B_202E_206A_202B_202B_200D_206C_202A_206E_200B_200F_200D_202D_202E_206E_206F_200E_202C_202D_206A_200F_200D_206A_200C_200E_200F_200F_202E_206A_202E(string P_0, string P_1, string P_2) - { - return Path.Combine(P_0, P_1, P_2); - } - - static bool _202A_206B_200D_200C_202E_206A_206E_206A_206D_206E_200D_200F_206B_200E_206D_200C_200F_206E_200E_202B_200B_200F_200F_202C_206F_206A_200E_200E_206A_200D_202D_202D_206A_200F_206E_202D_206F_202C_206A_202E(FileSystemInfo P_0) - { - return P_0.Exists; - } - - static FileInfo[] _206C_200E_206E_206B_206D_202A_206C_202C_200B_206B_200F_200B_206B_202E_200D_202C_206E_206F_200D_202A_202B_206F_206A_200B_202E_206F_202D_200C_206E_206D_200B_200D_202C_200B_206C_206A_206E_206D_200D_200E_202E(DirectoryInfo P_0, string P_1) - { - return P_0.GetFiles(P_1); - } - - static string _200D_206F_200D_202C_206E_202A_206B_202C_206A_200D_206F_200C_206A_200B_202B_200F_206F_202E_206A_200F_206B_202B_206E_202D_200B_200B_206B_202B_206D_206D_202A_200C_202E_202C_206B_202B_200F_206D_206D_202A_202E(FileSystemInfo P_0) - { - return P_0.Name; - } - - static FileStream _206D_202B_206D_202A_202D_200F_206D_206D_202C_200F_202E_200C_206D_202D_206A_200F_202D_200E_206A_206C_202B_200B_202C_206F_202B_200E_206B_200F_206C_200C_206C_202C_202C_206E_206F_200F_202C_202A_202A_200D_202E(FileInfo P_0) - { - return P_0.OpenRead(); - } - - static JsonNode _202B_202E_200B_206F_202C_202D_202C_206C_206D_206C_200C_202E_200B_206E_206C_202E_200C_206B_206B_202E_206F_206B_200E_200C_200C_206B_206F_202E_200C_202C_200E_200C_200F_206D_202E_206A_200C_200C_206C_200C_202E(Stream P_0, JsonNodeOptions? P_1, JsonDocumentOptions P_2) - { - return JsonNode.Parse(P_0, P_1, P_2); - } - - static CultureInfo _202A_206B_200D_200C_206D_206C_200E_206D_202C_206A_206F_206A_206A_200D_206F_202A_202D_206D_202B_206E_206E_206D_202E_200B_206E_200F_202E_202D_200E_206A_200E_206E_200F_200F_206D_200F_202A_202E_206B_202C_202E() - { - return CultureInfo.InvariantCulture; - } - - static string _202A_202D_206C_206F_202B_202C_202D_206D_200D_206A_200F_202B_202B_202C_200F_200D_206F_200C_200E_202A_206B_206A_206F_202D_200B_200B_206D_206C_200B_200C_206C_200B_200E_206B_202A_200C_202B_200C_206B_206F_202E(Exception P_0) - { - return P_0.Message; - } - - static string _206E_200B_206E_202A_200F_206A_200F_200B_206B_200F_206C_202E_200F_206F_200E_202E_200D_200C_202C_202C_200B_206A_206C_202D_202C_206F_206C_202D_200D_200B_200F_206D_200E_206C_202C_206F_206E_206E_206A_202C_202E(string P_0, string P_1, string P_2, string P_3) - { - return P_0 + P_1 + P_2 + P_3; - } - - static string _200E_200D_200F_206D_200B_202D_200E_200D_206C_200C_206C_206A_202C_206E_202E_200B_206E_202A_206C_200D_202D_200D_200F_200E_200D_200E_206A_202E_200F_200C_206B_206A_200B_202D_206E_206F_202D_206E_202E_206A_202E(string P_0) - { - return Path.GetFileNameWithoutExtension(P_0); - } - - static string[] _202E_200D_200F_206D_206E_200C_206E_200B_200F_206A_206E_206F_200D_206D_206A_202B_206C_200B_202C_200B_206B_200E_206A_200E_200F_206D_202E_202A_202C_202E_200C_202C_202A_200C_200C_206F_206F_206D_200B_206E_202E(string P_0, char P_1, int P_2, StringSplitOptions P_3) - { - return P_0.Split(P_1, P_2, P_3); + return result; } } diff --git a/Questionable/Questionable.Controller/EQuestResolutionType.cs b/Questionable/Questionable.Controller/EQuestResolutionType.cs index e86e475..195822c 100644 --- a/Questionable/Questionable.Controller/EQuestResolutionType.cs +++ b/Questionable/Questionable.Controller/EQuestResolutionType.cs @@ -4,7 +4,6 @@ internal enum EQuestResolutionType { Simulated, NextQuest, - GatheringQuest, ManualPriority, InProgressClassQuest, NewClassQuest, diff --git a/Questionable/Questionable.Controller/FateController.cs b/Questionable/Questionable.Controller/FateController.cs index e8cf4dc..bfcb5d6 100644 --- a/Questionable/Questionable.Controller/FateController.cs +++ b/Questionable/Questionable.Controller/FateController.cs @@ -1,8 +1,5 @@ using System; -using System.Collections.Generic; using System.Globalization; -using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using Microsoft.Extensions.Logging; using Questionable.Controller.Steps; @@ -46,25 +43,11 @@ internal sealed class FateController : MiniTaskController { get { - int num = (IsRunning ? (-1577720551) : (-1577720550)); - while (true) + if (!IsRunning) { - int num2 = num; - int num3 = -1577720549; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return DateTime.UtcNow - _startTime; - case 1: - return TimeSpan.Zero; - case 0: - goto IL_005d; - } - continue; - IL_005d: - num = -1577720550; + return TimeSpan.Zero; } + return DateTime.UtcNow - _startTime; } } @@ -76,262 +59,88 @@ internal sealed class FateController : MiniTaskController _routeEnqueuer = routeEnqueuer; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Start(FateDefinition fate, int? cycleLimit = null) { _currentFate = fate; _completedCycles = 0; _cycleLimit = cycleLimit; _startTime = DateTime.UtcNow; - _202B_200F_202C_200F_202A_206F_200B_206A_202B_200B_202D_202D_202B_200D_206B_206C_202C_200C_200B_206A_202E_206C_200F_206B_206B_206C_202A_202D_200D_200E_206A_200F_202B_202D_206D_206A_206A_200E_206F_206E_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1566011469), new object[2] - { - _200D_206B_202C_206C_206E_206F_202E_206E_200D_202C_202D_200B_200E_206F_200B_202D_200B_202D_200D_202D_200D_200D_202E_200F_206D_202D_200F_200D_206A_202C_202A_200E_206F_206D_200E_206F_202B_206A_200F_200F_202E(fate), - cycleLimit?.ToString(_206F_200E_200D_202A_200F_200B_206A_202D_200D_202D_206A_206D_206E_206C_200B_200F_200E_206C_206B_206F_200B_200F_206B_202D_202A_206F_206E_200E_200E_200D_202B_202C_206D_206F_200E_206C_202B_206A_206B_206B_202E()) ?? global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1353267636) - }); + _logger.LogInformation("Starting FATE farming: {FateName} (limit: {Limit})", fate.Name, cycleLimit?.ToString(CultureInfo.InvariantCulture) ?? "unlimited"); EnqueueFateCycle(); } - [MethodImpl(MethodImplOptions.NoInlining)] public void Update() { - int num = ((_currentFate != null) ? 799509446 : 799509451); - while (true) + if (_currentFate == null || _movementController.IsPathfinding || _movementController.IsPathRunning || _gameFunctions.IsOccupied()) { - int num2 = num; - int num3 = 799509447; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 8: - num = ((!_gameFunctions.IsOccupied()) ? 799509443 : 799509442); - break; - case 2: - _202B_200F_202C_200F_202A_206F_200B_206A_202B_200B_202D_202D_202B_200D_206B_206C_202C_200C_200B_206A_202E_206C_200F_206B_206B_206C_202A_202D_200D_200E_206A_200F_202B_202D_206D_206A_206A_200E_206F_206E_202E((ILogger)_logger, 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(-1655536442), new object[2] { _completedCycles, _cycleLimit.Value }); - Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1011465347)); - return; - case 12: - return; - case 6: - { - int completedCycles = _completedCycles; - num3 = 1; - num4 = completedCycles; - _completedCycles = (num4 | num3) + (num4 & num3); - num = ((!_cycleLimit.HasValue) ? 799509440 : 799509453); - break; - } - case 3: - num = ((!_movementController.IsPathRunning) ? 799509455 : 799509454); - break; - case 5: - return; - case 10: - num = ((_completedCycles < _cycleLimit.Value) ? 799509440 : 799509445); - break; - case 4: - num = ((!_taskQueue.AllTasksComplete) ? 799509452 : 799509441); - break; - case 7: - EnqueueFateCycle(); - num = 799509452; - break; - case 0: - num = 799509451; - break; - case 11: - UpdateCurrentTask(); - return; - case 1: - num = (_movementController.IsPathfinding ? 799509454 : 799509444); - break; - case 9: - return; - } + return; } + if (_taskQueue.AllTasksComplete) + { + _completedCycles++; + if (_cycleLimit.HasValue && _completedCycles >= _cycleLimit.Value) + { + _logger.LogInformation("FATE cycle limit reached ({Cycles}/{Limit})", _completedCycles, _cycleLimit.Value); + Stop("Cycle limit reached"); + return; + } + EnqueueFateCycle(); + } + UpdateCurrentTask(); } - [MethodImpl(MethodImplOptions.NoInlining)] private void EnqueueFateCycle() { - int num = ((_currentFate != null) ? (-147335237) : (-147335233)); - while (true) + if (_currentFate != null) { - int num2 = num; - int num3 = -147335238; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + _logger.LogDebug("Enqueuing FATE cycle for {FateName}", _currentFate.Name); + _routeEnqueuer.Enqueue(_taskQueue, _currentFate.TerritoryId, _currentFate.Position, 5f); + if (_currentFate.RequiredStatusId.HasValue && _currentFate.TransformNpcDataId.HasValue && _currentFate.TransformNpcPosition.HasValue && !_gameFunctions.HasStatus(_currentFate.RequiredStatusId.Value)) { - case 4: - num = -147335233; - break; - case 3: - num = (_gameFunctions.HasStatus(_202D_202B_202E_200E_206C_200F_206D_206B_200D_200E_206E_206D_206B_206C_206C_200F_206F_200B_202A_206F_206B_202D_200D_200F_206F_206B_200F_200C_206F_202C_206F_206F_200D_200E_200C_202C_200B_206F_202E_206E_202E(_currentFate).Value) ? (-147335235) : (-147335238)); - break; - case 6: - num = ((!_202A_206E_202D_200E_202D_200E_206D_202A_202C_202B_202B_202E_206B_200B_202D_206C_202C_206D_200E_206E_202C_200E_200B_206F_202E_206A_206F_206F_200C_206A_202A_200C_200E_202A_206B_200D_200C_206C_206B_200E_202E(_currentFate).HasValue) ? (-147335235) : (-147335239)); - break; - case 0: - { - _200F_202D_200C_206D_206E_206B_200D_200C_200C_206F_202D_200F_200E_206A_200E_200B_206E_206C_206D_200B_200D_206A_206B_200B_206E_202E_202C_200C_200D_206B_206D_206C_206E_202A_200E_200E_200F_200F_202E_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(534849822), new object[1] { _202D_202B_202E_200E_206C_200F_206D_206B_200D_200E_206E_206D_206B_206C_206C_200F_206F_200B_202A_206F_206B_202D_200D_200F_206F_206B_200F_200C_206F_202C_206F_206F_200D_200E_200C_202C_200B_206F_202E_206E_202E(_currentFate).Value }); - _taskQueue.Enqueue(new MoveTask(_206F_206F_200C_206C_200E_206E_202B_202B_206D_200D_206D_202B_206D_206D_206A_202B_206D_206D_206E_202A_206F_206C_202D_206B_206D_202A_206F_200F_206F_206B_200E_206D_202A_202B_202A_206F_202A_202B_200E_200F_202E(_currentFate), _202A_206E_202D_200E_202D_200E_206D_202A_202C_202B_202B_202E_206B_200B_202D_206C_202C_206D_200E_206E_202C_200E_200B_206F_202E_206A_206F_206F_200C_206A_202A_200C_200E_202A_206B_200D_200C_206C_206B_200E_202E(_currentFate).Value, null, MountRequired: false, DismountRequired: false, 3f)); + _logger.LogDebug("Player missing required status {StatusId}, enqueuing transform", _currentFate.RequiredStatusId.Value); + _taskQueue.Enqueue(new MoveTask(_currentFate.TerritoryId, _currentFate.TransformNpcPosition.Value, null, MountRequired: false, DismountRequired: false, 3f)); _taskQueue.Enqueue(new Mount.UnmountTask()); TaskQueue taskQueue = _taskQueue; - uint value = _202A_200C_202E_202B_206C_206A_202E_206C_206D_202C_200E_200D_206D_206C_200C_200D_200B_200C_200E_200D_206C_206F_200E_206C_200F_206F_206E_206B_202E_206E_200D_206B_206F_206C_206D_206F_206A_202D_206A_200F_202E(_currentFate).Value; - EStatus? completionStatusId = _202D_202B_202E_200E_206C_200F_206D_206B_200D_200E_206E_206D_206B_206C_206C_200F_206F_200B_202A_206F_206B_202D_200D_200F_206F_206B_200F_200C_206F_202C_206F_206F_200D_200E_200C_202C_200B_206F_202E_206E_202E(_currentFate); - taskQueue.Enqueue(new Interact.Task(value, null, EInteractionType.Interact, SkipMarkerCheck: true, null, null, null, null, completionStatusId)); + uint value = _currentFate.TransformNpcDataId.Value; + EStatus? requiredStatusId = _currentFate.RequiredStatusId; + taskQueue.Enqueue(new Interact.Task(value, null, EInteractionType.Interact, SkipMarkerCheck: true, null, null, null, null, requiredStatusId)); _taskQueue.Enqueue(new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(2L))); - _taskQueue.Enqueue(new MoveTask(_206F_206F_200C_206C_200E_206E_202B_202B_206D_200D_206D_202B_206D_206D_206A_202B_206D_206D_206E_202A_206F_206C_202D_206B_206D_202A_206F_200F_206F_206B_200E_206D_202A_202B_202A_206F_202A_202B_200E_200F_202E(_currentFate), _206B_200F_200F_202B_206B_206C_200C_206A_206A_202D_202A_202B_206A_206F_202D_200D_200D_206B_202D_202B_202C_200F_200F_206A_202C_202D_206B_202C_206C_206C_202E_202E_206A_202E_202D_200F_200E_206A_200F_206D_202E(_currentFate), null, MountRequired: false, DismountRequired: false, 5f)); - num = -147335235; - break; - } - case 1: - _200F_202D_200C_206D_206E_206B_200D_200C_200C_206F_202D_200F_200E_206A_200E_200B_206E_206C_206D_200B_200D_206A_206B_200B_206E_202E_202C_200C_200D_206B_206D_206C_206E_202A_200E_200E_200F_200F_202E_200F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-371117818), new object[1] { _200D_206B_202C_206C_206E_206F_202E_206E_200D_202C_202D_200B_200E_206F_200B_202D_200B_202D_200D_202D_200D_200D_202E_200F_206D_202D_200F_200D_206A_202C_202A_200E_206F_206D_200E_206F_202B_206A_200F_200F_202E(_currentFate) }); - _routeEnqueuer.Enqueue(_taskQueue, _206F_206F_200C_206C_200E_206E_202B_202B_206D_200D_206D_202B_206D_206D_206A_202B_206D_206D_206E_202A_206F_206C_202D_206B_206D_202A_206F_200F_206F_206B_200E_206D_202A_202B_202A_206F_202A_202B_200E_200F_202E(_currentFate), _206B_200F_200F_202B_206B_206C_200C_206A_206A_202D_202A_202B_206A_206F_202D_200D_200D_206B_202D_202B_202C_200F_200F_206A_202C_202D_206B_202C_206C_206C_202E_202E_206A_202E_202D_200F_200E_206A_200F_206D_202E(_currentFate), 5f); - num = ((!_202D_202B_202E_200E_206C_200F_206D_206B_200D_200E_206E_206D_206B_206C_206C_200F_206F_200B_202A_206F_206B_202D_200D_200F_206F_206B_200F_200C_206F_202C_206F_206F_200D_200E_200C_202C_200B_206F_202E_206E_202E(_currentFate).HasValue) ? (-147335235) : (-147335240)); - break; - case 2: - num = ((!_202A_200C_202E_202B_206C_206A_202E_206C_206D_202C_200E_200D_206D_206C_200C_200D_200B_200C_200E_200D_206C_206F_200E_206C_200F_206F_206E_206B_202E_206E_200D_206B_206F_206C_206D_206F_206A_202D_206A_200F_202E(_currentFate).HasValue) ? (-147335235) : (-147335236)); - break; - case 7: - _taskQueue.Enqueue(new Mount.UnmountTask()); - _taskQueue.Enqueue(new FateFarming.WaitForFateTargets(_202C_200D_200B_206B_206C_200F_206E_202D_206F_206A_206D_202C_206D_202A_202C_202D_200E_202B_202D_202A_202D_202B_200E_200F_202A_206D_206D_202D_206A_206E_200B_202A_206B_206A_206E_206B_206B_202A_206E_206A_202E(_currentFate))); - _taskQueue.Enqueue(new FateFarming.SyncFateLevel()); - _taskQueue.Enqueue(new FateFarming.FateActionLoop(_202C_200D_200B_206B_206C_200F_206E_202D_206F_206A_206D_202C_206D_202A_202C_202D_200E_202B_202D_202A_202D_202B_200E_200F_202A_206D_206D_202D_206A_206E_200B_202A_206B_206A_206E_206B_206B_202A_206E_206A_202E(_currentFate), _202D_202B_202E_200E_206C_200F_206D_206B_200D_200E_206E_206D_206B_206C_206C_200F_206F_200B_202A_206F_206B_202D_200D_200F_206F_206B_200F_200C_206F_202C_206F_206F_200D_200E_200C_202C_200B_206F_202E_206E_202E(_currentFate))); - _taskQueue.Enqueue(new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(3L))); - return; - case 5: - return; + _taskQueue.Enqueue(new MoveTask(_currentFate.TerritoryId, _currentFate.Position, null, MountRequired: false, DismountRequired: false, 5f)); } + _taskQueue.Enqueue(new Mount.UnmountTask()); + _taskQueue.Enqueue(new FateFarming.WaitForFateTargets(_currentFate.Targets)); + _taskQueue.Enqueue(new FateFarming.SyncFateLevel()); + _taskQueue.Enqueue(new FateFarming.FateActionLoop(_currentFate.Targets, _currentFate.RequiredStatusId)); + _taskQueue.Enqueue(new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(3L))); } } - [MethodImpl(MethodImplOptions.NoInlining)] public void Replan() { - int num = ((_currentFate != null) ? 1044869375 : 1044869372); - while (true) + if (_currentFate != null) { - int num2 = num; - int num3 = 1044869374; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - _202B_200F_202C_200F_202A_206F_200B_206A_202B_200B_202D_202D_202B_200D_206B_206C_202C_200C_200B_206A_202E_206C_200F_206B_206B_206C_202A_202D_200D_200E_206A_200F_202B_202D_206D_206A_206A_200E_206F_206E_202E((ILogger)_logger, 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(522631181), new object[1] { _200D_206B_202C_206C_206E_206F_202E_206E_200D_202C_202D_200B_200E_206F_200B_202D_200B_202D_200D_202D_200D_200D_202E_200F_206D_202D_200F_200D_206A_202C_202A_200E_206F_206D_200E_206F_202B_206A_200F_200F_202E(_currentFate) }); - _taskQueue.Reset(); - EnqueueFateCycle(); - return; - case 2: - return; - case 0: - goto IL_0082; - } - continue; - IL_0082: - num = 1044869372; + _logger.LogInformation("Re-planning FATE cycle for {FateName}", _currentFate.Name); + _taskQueue.Reset(); + EnqueueFateCycle(); } } - [MethodImpl(MethodImplOptions.NoInlining)] public override void Stop(string label) { base.Stop(label); - int num = ((_currentFate == null) ? 1034562538 : 1034562541); - while (true) + if (_currentFate != null) { - int num2 = num; - int num3 = 1034562539; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _logger.LogInformation("Stopping FATE farming: {Label} (completed {Cycles} cycles)", label, _completedCycles); + if (_currentFate.StopAction.HasValue && _currentFate.RequiredStatusId.HasValue && _gameFunctions.HasStatus(_currentFate.RequiredStatusId.Value)) { - case 2: - _202B_200F_202C_200F_202A_206F_200B_206A_202B_200B_202D_202D_202B_200D_206B_206C_202C_200C_200B_206A_202E_206C_200F_206B_206B_206C_202A_202D_200D_200E_206A_200F_202B_202D_206D_206A_206A_200E_206F_206E_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-757113622), new object[1] { _206B_200F_206B_202A_206A_202B_206C_206F_206C_202E_202A_200C_206F_206F_202C_206C_206D_206E_206B_206B_206B_200F_200D_206A_202E_202B_202C_206B_206B_206D_206A_206D_200E_202C_202E_206C_206C_202E_200D_200D_202E(_currentFate).Value }); - _gameFunctions.UseAction(_206B_200F_206B_202A_206A_202B_206C_206F_206C_202E_202A_200C_206F_206F_202C_206C_206D_206E_206B_206B_206B_200F_200D_206A_202E_202B_202C_206B_206B_206D_206A_206D_200E_202C_202E_206C_206C_202E_200D_200D_202E(_currentFate).Value); - num = 1034562543; - break; - case 0: - num = ((!_gameFunctions.HasStatus(_202D_202B_202E_200E_206C_200F_206D_206B_200D_200E_206E_206D_206B_206C_206C_200F_206F_200B_202A_206F_206B_202D_200D_200F_206F_206B_200F_200C_206F_202C_206F_206F_200D_200E_200C_202C_200B_206F_202E_206E_202E(_currentFate).Value)) ? 1034562543 : 1034562537); - break; - case 5: - num = ((!_202D_202B_202E_200E_206C_200F_206D_206B_200D_200E_206E_206D_206B_206C_206C_200F_206F_200B_202A_206F_206B_202D_200D_200F_206F_206B_200F_200C_206F_202C_206F_206F_200D_200E_200C_202C_200B_206F_202E_206E_202E(_currentFate).HasValue) ? 1034562543 : 1034562539); - break; - case 6: - _202B_200F_202C_200F_202A_206F_200B_206A_202B_200B_202D_202D_202B_200D_206B_206C_202C_200C_200B_206A_202E_206C_200F_206B_206B_206C_202A_202D_200D_200E_206A_200F_202B_202D_206D_206A_206A_200E_206F_206E_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1276129984), new object[2] { label, _completedCycles }); - num = ((!_206B_200F_206B_202A_206A_202B_206C_206F_206C_202E_202A_200C_206F_206F_202C_206C_206D_206E_206B_206B_206B_200F_200D_206A_202E_202B_202C_206B_206B_206D_206A_206D_200E_202C_202E_206C_206C_202E_200D_200D_202E(_currentFate).HasValue) ? 1034562543 : 1034562542); - break; - case 4: - _routeEnqueuer.ClearDestination(); - _currentFate = null; - _completedCycles = 0; - _cycleLimit = null; - _taskQueue.Reset(); - num = 1034562538; - break; - case 1: - return; - case 3: - num = 1034562541; - break; + _logger.LogInformation("Using stop action {Action} to remove transformation", _currentFate.StopAction.Value); + _gameFunctions.UseAction(_currentFate.StopAction.Value); } + _routeEnqueuer.ClearDestination(); + _currentFate = null; + _completedCycles = 0; + _cycleLimit = null; + _taskQueue.Reset(); } } - - static string _200D_206B_202C_206C_206E_206F_202E_206E_200D_202C_202D_200B_200E_206F_200B_202D_200B_202D_200D_202D_200D_200D_202E_200F_206D_202D_200F_200D_206A_202C_202A_200E_206F_206D_200E_206F_202B_206A_200F_200F_202E(FateDefinition P_0) - { - return P_0.Name; - } - - static CultureInfo _206F_200E_200D_202A_200F_200B_206A_202D_200D_202D_206A_206D_206E_206C_200B_200F_200E_206C_206B_206F_200B_200F_206B_202D_202A_206F_206E_200E_200E_200D_202B_202C_206D_206F_200E_206C_202B_206A_206B_206B_202E() - { - return CultureInfo.InvariantCulture; - } - - static void _202B_200F_202C_200F_202A_206F_200B_206A_202B_200B_202D_202D_202B_200D_206B_206C_202C_200C_200B_206A_202E_206C_200F_206B_206B_206C_202A_202D_200D_200E_206A_200F_202B_202D_206D_206A_206A_200E_206F_206E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static void _200F_202D_200C_206D_206E_206B_200D_200C_200C_206F_202D_200F_200E_206A_200E_200B_206E_206C_206D_200B_200D_206A_206B_200B_206E_202E_202C_200C_200D_206B_206D_206C_206E_202A_200E_200E_200F_200F_202E_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static ushort _206F_206F_200C_206C_200E_206E_202B_202B_206D_200D_206D_202B_206D_206D_206A_202B_206D_206D_206E_202A_206F_206C_202D_206B_206D_202A_206F_200F_206F_206B_200E_206D_202A_202B_202A_206F_202A_202B_200E_200F_202E(FateDefinition P_0) - { - return P_0.TerritoryId; - } - - static Vector3 _206B_200F_200F_202B_206B_206C_200C_206A_206A_202D_202A_202B_206A_206F_202D_200D_200D_206B_202D_202B_202C_200F_200F_206A_202C_202D_206B_202C_206C_206C_202E_202E_206A_202E_202D_200F_200E_206A_200F_206D_202E(FateDefinition P_0) - { - return P_0.Position; - } - - static EStatus? _202D_202B_202E_200E_206C_200F_206D_206B_200D_200E_206E_206D_206B_206C_206C_200F_206F_200B_202A_206F_206B_202D_200D_200F_206F_206B_200F_200C_206F_202C_206F_206F_200D_200E_200C_202C_200B_206F_202E_206E_202E(FateDefinition P_0) - { - return P_0.RequiredStatusId; - } - - static uint? _202A_200C_202E_202B_206C_206A_202E_206C_206D_202C_200E_200D_206D_206C_200C_200D_200B_200C_200E_200D_206C_206F_200E_206C_200F_206F_206E_206B_202E_206E_200D_206B_206F_206C_206D_206F_206A_202D_206A_200F_202E(FateDefinition P_0) - { - return P_0.TransformNpcDataId; - } - - static Vector3? _202A_206E_202D_200E_202D_200E_206D_202A_202C_202B_202B_202E_206B_200B_202D_206C_202C_206D_200E_206E_202C_200E_200B_206F_202E_206A_206F_206F_200C_206A_202A_200C_200E_202A_206B_200D_200C_206C_206B_200E_202E(FateDefinition P_0) - { - return P_0.TransformNpcPosition; - } - - static List _202C_200D_200B_206B_206C_200F_206E_202D_206F_206A_206D_202C_206D_202A_202C_202D_200E_202B_202D_202A_202D_202B_200E_200F_202A_206D_206D_202D_206A_206E_200B_202A_206B_206A_206E_206B_206B_202A_206E_206A_202E(FateDefinition P_0) - { - return P_0.Targets; - } - - static EAction? _206B_200F_206B_202A_206A_202B_206C_206F_206C_202E_202A_200C_206F_206F_202C_206C_206D_206E_206B_206B_206B_200F_200D_206A_202E_202B_202C_206B_206B_206D_206A_206D_200E_202C_202E_206C_206C_202E_200D_200D_202E(FateDefinition P_0) - { - return P_0.StopAction; - } } diff --git a/Questionable/Questionable.Controller/FateDefinitionRegistry.cs b/Questionable/Questionable.Controller/FateDefinitionRegistry.cs index 0787348..278f50c 100644 --- a/Questionable/Questionable.Controller/FateDefinitionRegistry.cs +++ b/Questionable/Questionable.Controller/FateDefinitionRegistry.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; using Dalamud.Plugin; using Microsoft.Extensions.Logging; using Questionable.FatePaths; @@ -12,32 +11,11 @@ namespace Questionable.Controller; internal sealed class FateDefinitionRegistry : DefinitionRegistry { - protected override string TypeLabel - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return 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(70009244); - } - } + protected override string TypeLabel => "FATE"; - protected override string ConfigDirectoryName - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return 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(223633553); - } - } + protected override string ConfigDirectoryName => "FateDefinitions"; - protected override string ProjectDirectoryName - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1573744777); - } - } + protected override string ProjectDirectoryName => "FatePaths"; protected override EPathType PathType => EPathType.Fate; @@ -48,31 +26,16 @@ internal sealed class FateDefinitionRegistry : DefinitionRegistry GetAssemblyDefinitions() { - return _206E_200D_202D_200F_206F_202C_202C_202E_200E_202B_202C_200F_206C_206F_206F_206A_206F_206D_206F_206D_200B_202C_206B_206F_206F_206C_202E_202C_200F_206B_202B_202C_206F_206B_200F_200D_206A_202D_202E_206D_202E(); + return AssemblyFateDefinitionLoader.GetDefinitions(); } protected override DateTime? GetExpiry(FateDefinition definition) { - return _206A_202B_200B_202E_206A_206B_206F_206D_202D_202A_202E_202B_200B_206D_206D_206B_206C_200E_206B_202E_202A_206E_206A_200C_202D_200E_200C_202B_202D_202B_202C_202B_200C_202A_202E_200B_202D_202C_200D_202C_202E(definition); + return definition.EventExpiry; } protected override string? GetName(FateDefinition definition) { - return _206D_200D_206C_202B_202C_206C_206B_202B_200D_206F_206E_202D_206E_200F_206A_206B_200D_200E_200D_200C_206F_206A_200F_200F_202C_206A_206F_200D_202D_206F_206A_200C_206E_202D_206E_200E_200D_200F_206E_202C_202E(definition); - } - - static IReadOnlyDictionary _206E_200D_202D_200F_206F_202C_202C_202E_200E_202B_202C_200F_206C_206F_206F_206A_206F_206D_206F_206D_200B_202C_206B_206F_206F_206C_202E_202C_200F_206B_202B_202C_206F_206B_200F_200D_206A_202D_202E_206D_202E() - { - return AssemblyFateDefinitionLoader.GetDefinitions(); - } - - static DateTime? _206A_202B_200B_202E_206A_206B_206F_206D_202D_202A_202E_202B_200B_206D_206D_206B_206C_200E_206B_202E_202A_206E_206A_200C_202D_200E_200C_202B_202D_202B_202C_202B_200C_202A_202E_200B_202D_202C_200D_202C_202E(FateDefinition P_0) - { - return P_0.EventExpiry; - } - - static string _206D_200D_206C_202B_202C_206C_206B_202B_200D_206F_206E_202D_206E_200F_206A_206B_200D_200E_200D_200C_206F_206A_200F_200F_202C_206A_206F_200D_202D_206F_206A_200C_206E_202D_206E_200E_200D_200F_206E_202C_202E(FateDefinition P_0) - { - return P_0.Name; + return definition.Name; } } diff --git a/Questionable/Questionable.Controller/FishingController.cs b/Questionable/Questionable.Controller/FishingController.cs index 48525d6..23c10d6 100644 --- a/Questionable/Questionable.Controller/FishingController.cs +++ b/Questionable/Questionable.Controller/FishingController.cs @@ -1,11 +1,7 @@ using System; -using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Client.Game.Character; @@ -22,142 +18,7 @@ namespace Questionable.Controller; internal sealed class FishingController : MiniTaskController { - public sealed record FishingRequest(uint ItemId, int Quantity, ushort Collectability) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202A_200B_206F_202C_206E_206F_206E_202B_206A_200F_200D_206F_202A_200C_200C_206B_202A_206B_206B_202A_206A_206C_200D_206A_206C_202E_200F_202B_202D_202C_206D_202C_200C_200F_206D_202C_202C_200E_202B_202D_202E(typeof(FishingRequest).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200C_206F_200E_200F_202B_200D_200E_206F_206F_202B_206C_200C_202C_200B_202B_200D_200B_200F_206E_206F_202A_200C_202C_206E_200B_200C_206E_206B_202D_206E_200D_200E_202E_206F_200F_206C_206E_206A_200F_206E_202E(); - _200B_206F_202D_200E_202C_202A_200F_202D_200D_206F_206A_200E_200C_202C_206F_200C_202B_200E_200C_200D_202C_202E_202A_202B_202B_200C_202B_202D_200D_200E_206E_206F_200B_202C_206C_206C_206F_206F_206D_206B_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-149753861)); - _200B_206F_202D_200E_202C_202A_200F_202D_200D_206F_206A_200E_200C_202C_206F_200C_202B_200E_200C_200D_202C_202E_202A_202B_202B_200C_202B_202D_200D_200E_206E_206F_200B_202C_206C_206C_206F_206F_206D_206B_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? (-649209154) : (-649209155)); - while (true) - { - int num2 = num; - int num3 = -649209156; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -649209155; - break; - case 1: - _200C_206B_202B_206F_202D_206B_206E_200F_206B_200E_202A_206E_206E_202C_200E_200E_202B_206E_202E_200D_202B_200B_202D_206F_206E_200C_200C_206D_200B_206E_200B_200C_200D_206C_202B_200E_200E_202E_200F_206C_202E(stringBuilder, ' '); - num = -649209154; - break; - case 2: - _200C_206B_202B_206F_202D_206B_206E_200F_206B_200E_202A_206E_206E_202C_200E_200E_202B_206E_202E_200D_202B_200B_202D_206F_206E_200C_200C_206D_200B_206E_200B_200C_200D_206C_202B_200E_200E_202E_200F_206C_202E(stringBuilder, '}'); - return _200B_200E_200E_200C_206C_200B_206B_206F_202B_200C_200C_206B_200F_200C_200D_200B_200B_202D_206C_202D_200D_200E_200D_200E_206F_206A_206F_202C_202A_206A_206E_206E_206B_206A_206A_206B_202C_200F_206C_200C_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202B_202C_200F_200F_206D_206C_202C_202A_202E_206E_202C_200F_202B_206F_206E_206B_206E_202B_200E_200B_202A_206C_200E_202B_202E_200C_202A_206D_200C_202E_200E_200F_200C_200F_200E_202B_206A_202E_202B_206B_202E(); - _200B_206F_202D_200E_202C_202A_200F_202D_200D_206F_206A_200E_200C_202C_206F_200C_202B_200E_200C_200D_202C_202E_202A_202B_202B_200C_202B_202D_200D_200E_206E_206F_200B_202C_206C_206C_206F_206F_206D_206B_202E(builder, 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(-1176260912)); - _200B_206F_202D_200E_202C_202A_200F_202D_200D_206F_206A_200E_200C_202C_206F_200C_202B_200E_200C_200D_202C_202E_202A_202B_202B_200C_202B_202D_200D_200E_206E_206F_200B_202C_206C_206C_206F_206F_206D_206B_202E(builder, ItemId.ToString()); - _200B_206F_202D_200E_202C_202A_200F_202D_200D_206F_206A_200E_200C_202C_206F_200C_202B_200E_200C_200D_202C_202E_202A_202B_202B_200C_202B_202D_200D_200E_206E_206F_200B_202C_206C_206C_206F_206F_206D_206B_202E(builder, 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(-563538637)); - _200B_206F_202D_200E_202C_202A_200F_202D_200D_206F_206A_200E_200C_202C_206F_200C_202B_200E_200C_200D_202C_202E_202A_202B_202B_200C_202B_202D_200D_200E_206E_206F_200B_202C_206C_206C_206F_206F_206D_206B_202E(builder, Quantity.ToString()); - _200B_206F_202D_200E_202C_202A_200F_202D_200D_206F_206A_200E_200C_202C_206F_200C_202B_200E_200C_200D_202C_202E_202A_202B_202B_200C_202B_202D_200D_200E_206E_206F_200B_202C_206C_206C_206F_206F_206D_206B_202E(builder, 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(1025003851)); - _200B_206F_202D_200E_202C_202A_200F_202D_200D_206F_206A_200E_200C_202C_206F_200C_202B_200E_200C_200D_202C_202E_202A_202B_202B_200C_202B_202D_200D_200E_206E_206F_200B_202C_206C_206C_206F_206F_206D_206B_202E(builder, Collectability.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(FishingRequest? other) - { - int num = (((object)this == other) ? 677274432 : 677274436); - while (true) - { - int num2 = num; - int num3 = 677274434; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 677274436; - break; - case 4: - num = ((!_200C_200C_202C_206E_200D_202B_200B_202E_202B_200F_206F_200B_202D_202B_200B_202E_202A_200B_200B_206E_200B_206A_206B_206D_206B_202A_200C_206F_202A_206E_206F_202E_206A_206E_202E_206D_200F_200B_202D_202A_202E(EqualityContract, other.EqualityContract)) ? 677274435 : 677274437); - break; - case 3: - num = ((!EqualityComparer.Default.Equals(Quantity, other.Quantity)) ? 677274435 : 677274439); - break; - case 5: - return EqualityComparer.Default.Equals(Collectability, other.Collectability); - case 7: - num = ((!EqualityComparer.Default.Equals(ItemId, other.ItemId)) ? 677274435 : 677274433); - break; - case 1: - return false; - case 6: - num = (((object)other == null) ? 677274435 : 677274438); - break; - case 2: - return true; - } - } - } - - bool IEquatable.Equals(FishingRequest? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202A_200B_206F_202C_206E_206F_206E_202B_206A_200F_200D_206F_202A_200C_200C_206B_202A_206B_206B_202A_206A_206C_200D_206A_206C_202E_200F_202B_202D_202C_206D_202C_200C_200F_206D_202C_202C_200E_202B_202D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200C_206F_200E_200F_202B_200D_200E_206F_206F_202B_206C_200C_202C_200B_202B_200D_200B_200F_206E_206F_202A_200C_202C_206E_200B_200C_206E_206B_202D_206E_200D_200E_202E_206F_200F_206C_206E_206A_200F_206E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200B_206F_202D_200E_202C_202A_200F_202D_200D_206F_206A_200E_200C_202C_206F_200C_202B_200E_200C_200D_202C_202E_202A_202B_202B_200C_202B_202D_200D_200E_206E_206F_200B_202C_206C_206C_206F_206F_206D_206B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200C_206B_202B_206F_202D_206B_206E_200F_206B_200E_202A_206E_206E_202C_200E_200E_202B_206E_202E_200D_202B_200B_202D_206F_206E_200C_200C_206D_200B_206E_200B_200C_200D_206C_202B_200E_200E_202E_200F_206C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200B_200E_200E_200C_206C_200B_206B_206F_202B_200C_200C_206B_200F_200C_200D_200B_200B_202D_206C_202D_200D_200E_200D_200E_206F_206A_206F_202C_202A_206A_206E_206E_206B_206A_206A_206B_202C_200F_206C_200C_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202B_202C_200F_200F_206D_206C_202C_202A_202E_206E_202C_200F_202B_206F_206E_206B_206E_202B_200E_200B_202A_206C_200E_202B_202E_200C_202A_206D_200C_202E_200E_200F_200C_200F_200E_202B_206A_202E_202B_206B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _200C_200C_202C_206E_200D_202B_200B_202E_202B_200F_206F_200B_202D_202B_200B_202E_202A_200B_200B_206E_200B_206A_206B_206D_206B_202A_200C_206F_202A_206E_206F_202E_206A_206E_202E_206D_200F_200B_202D_202A_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } + public sealed record FishingRequest(uint ItemId, int Quantity, ushort Collectability); public enum EFishingState { @@ -211,25 +72,11 @@ internal sealed class FishingController : MiniTaskController { get { - int num = ((State == EFishingState.Idle) ? (-112078876) : (-112078873)); - while (true) + if (State != EFishingState.Idle) { - int num2 = num; - int num3 = -112078874; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0046; - case 2: - return false; - case 1: - return State != EFishingState.Complete; - } - continue; - IL_0046: - num = -112078873; + return State != EFishingState.Complete; } + return false; } } @@ -249,427 +96,216 @@ internal sealed class FishingController : MiniTaskController _condition = condition; } - [MethodImpl(MethodImplOptions.NoInlining)] public bool Start(FishingRequest request) { - int num = ((State == EFishingState.Idle) ? (-974820956) : (-974820954)); - while (true) + if (State != EFishingState.Idle) { - int num2 = num; - int num3 = -974820958; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - _200B_206E_200F_206F_202D_200B_202B_200B_202E_202D_206D_202E_206C_206F_206C_200E_200F_202E_206C_206A_202A_206B_202D_206E_202E_206C_200D_200F_202B_200B_200C_200B_206F_202C_200F_202A_206F_202C_206C_202B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1404409549), Array.Empty()); - return false; - case 6: - num = (_autoHookIpc.IsAvailable() ? (-974820957) : (-974820959)); - break; - case 5: - State = EFishingState.Navigating; - return true; - case 0: - _currentRequest = null; - return false; - case 2: - num = -974820954; - break; - case 1: - _currentRequest = request; - _actionThrottle = 0L; - _baitReady = false; - _taskQueue.Reset(); - num = (TryEnqueueApproach(request) ? (-974820953) : (-974820958)); - break; - case 4: - _200F_206C_202B_206E_206B_206F_202C_200E_202D_200C_206E_200E_206A_202C_206F_202C_200F_202B_202C_202C_200F_202A_202E_206A_206E_202B_200D_206E_206B_202C_200D_202D_200E_206B_206D_202E_202A_206C_206E_202C_202E((ILogger)_logger, 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(1205637689), new object[1] { State }); - return false; - } + _logger.LogWarning("Cannot start fishing - already in state {State}", State); + return false; } + if (!_autoHookIpc.IsAvailable()) + { + _logger.LogError("AutoHook is not available, cannot fish"); + return false; + } + _currentRequest = request; + _actionThrottle = 0L; + _baitReady = false; + _taskQueue.Reset(); + if (!TryEnqueueApproach(request)) + { + _currentRequest = null; + return false; + } + State = EFishingState.Navigating; + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe bool TryEnqueueApproach(FishingRequest request) { - FishingSpotInfo? spot; - int num = (_fishingData.TryGetFishingSpot(request.ItemId, out spot) ? (-407149571) : (-407149573)); - FishingSpotInfo value = default(FishingSpotInfo); - Vector3 vector = default(Vector3); - while (true) + if (!_fishingData.TryGetFishingSpot(request.ItemId, out var spot)) { - int num2 = num; - int num3 = -407149570; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _200B_206E_200F_206F_202D_200B_202B_200B_202E_202D_206D_202E_206C_206F_206C_200E_200F_202E_206C_206A_202A_206B_202D_206E_202E_206C_200D_200F_202B_200B_200C_200B_206F_202C_200F_202A_206F_202C_206C_202B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1931468190), Array.Empty()); - return false; - case 4: - num = (EnqueueLurePurchase() ? (-407149572) : (-407149569)); - break; - case 3: - { - value = spot.Value; - Vector3 vector2 = new Vector3(value.X, 0f, value.Z); - vector = _navmeshIpc.GetPointOnFloor(vector2, unlandable: false) ?? vector2; - _202D_200F_200D_202D_202C_202A_200E_200D_206F_200D_200E_206E_206B_206E_200B_202E_202D_202B_202A_206F_206B_206C_206A_206B_206B_202E_202A_202B_206A_200B_206D_206E_206E_206F_206A_206E_206A_200B_206D_206F_202E((ILogger)_logger, 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(-1546765915), new object[4] { request.ItemId, value.SpotId, value.TerritoryId, vector }); - num = ((InventoryManager.Instance()->GetInventoryItemCount(29717u, isHq: false, checkEquipped: true, checkArmory: true, 0) > 0) ? (-407149572) : (-407149574)); - break; - } - case 5: - _200B_206E_200F_206F_202D_200B_202B_200B_202E_202D_206D_202E_206C_206F_206C_200E_200F_202E_206C_206A_202A_206B_202D_206E_202E_206C_200D_200F_202B_200B_200C_200B_206F_202C_200F_202A_206F_202C_206C_202B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(281781333), new object[1] { request.ItemId }); - return false; - case 2: - EnqueueNavigateTo(value.TerritoryId, vector); - _taskQueue.Enqueue(new Mount.UnmountTask()); - return true; - case 0: - num = -407149573; - break; - } + _logger.LogError("No fishing spot found for item {ItemId}", request.ItemId); + return false; } + FishingSpotInfo value = spot.Value; + Vector3 vector = new Vector3(value.X, 0f, value.Z); + Vector3 vector2 = _navmeshIpc.GetPointOnFloor(vector, unlandable: false) ?? vector; + _logger.LogInformation("Starting fishing: item {ItemId}, spot {SpotId}, territory {Territory}, position {Position}", request.ItemId, value.SpotId, value.TerritoryId, vector2); + if (InventoryManager.Instance()->GetInventoryItemCount(29717u, isHq: false, checkEquipped: true, checkArmory: true, 0) <= 0 && !EnqueueLurePurchase()) + { + _logger.LogError("No Versatile Lure and no vendor found, cannot fish"); + return false; + } + EnqueueNavigateTo(value.TerritoryId, vector2); + _taskQueue.Enqueue(new Mount.UnmountTask()); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] protected override void OnRetryStep() { - int num = ((!(_currentRequest == null)) ? 1913182215 : 1913182210); - while (true) + if (_currentRequest == null) { - int num2 = num; - int num3 = 1913182211; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1913182210; - break; - case 1: - Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-600131236)); - return; - case 3: - State = EFishingState.Navigating; - return; - case 4: - _202D_200F_200D_202D_202C_202A_200E_200D_206F_200D_200E_206E_206B_206E_200B_202E_202D_202B_202A_206F_206B_206C_206A_206B_206B_202E_202A_202B_206A_200B_206D_206E_206E_206F_206A_206E_206A_200B_206D_206F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(665668477), Array.Empty()); - _baitReady = false; - num = (TryEnqueueApproach(_currentRequest) ? 1913182208 : 1913182209); - break; - case 2: - Stop(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(1698802452)); - return; - } + Stop("Retry without request"); + return; + } + _logger.LogInformation("Retrying fishing approach"); + _baitReady = false; + if (!TryEnqueueApproach(_currentRequest)) + { + Stop("Retry failed"); + } + else + { + State = EFishingState.Navigating; } } - [MethodImpl(MethodImplOptions.NoInlining)] public EFishingState Update() { - int num = ((State == EFishingState.Idle) ? (-1688940603) : (-1688940605)); - while (true) + if (State == EFishingState.Idle || State == EFishingState.Complete) { - int num2 = num; - int num3 = -1688940604; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = -1688940607; - break; - case 2: - Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-975449559)); - return EFishingState.Idle; - case 6: - return UpdateOrienting(); - case 7: - num = ((State != EFishingState.Complete) ? (-1688940593) : (-1688940603)); - break; - case 10: - goto IL_00b0; - case 5: - return State; - case 0: - num = -1688940605; - break; - case 11: - num = ((!(_currentRequest == null)) ? (-1688940595) : (-1688940602)); - break; - case 1: - return State; - case 3: - goto IL_00f7; - case 8: - goto IL_00fe; - case 9: - { - switch (State) - { - case EFishingState.Orienting: - break; - case EFishingState.Preparing: - goto IL_00b0; - case EFishingState.Fishing: - goto IL_00f7; - case EFishingState.Navigating: - goto IL_00fe; - default: - goto IL_0124; - } - goto case 6; - } - IL_0124: - num = -1688940608; - break; - IL_00fe: - return UpdateNavigating(); - IL_00f7: - return UpdateFishing(); - IL_00b0: - return UpdatePreparing(); - } + return State; } + if (_currentRequest == null) + { + Stop("No request"); + return EFishingState.Idle; + } + return State switch + { + EFishingState.Navigating => UpdateNavigating(), + EFishingState.Orienting => UpdateOrienting(), + EFishingState.Preparing => UpdatePreparing(), + EFishingState.Fishing => UpdateFishing(), + _ => State, + }; } - [MethodImpl(MethodImplOptions.NoInlining)] private EFishingState UpdateNavigating() { - int num = ((!_taskQueue.AllTasksComplete) ? (-1280253675) : (-1280253674)); - while (true) + if (_taskQueue.AllTasksComplete) { - int num2 = num; - int num3 = -1280253673; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004d; - case 1: - _206E_202B_206A_202A_202E_206E_206A_206D_206A_200B_202B_206A_202D_202B_200C_206D_200F_206F_206D_206A_202B_202A_200F_202C_202A_202E_206F_200C_200E_206B_206A_200D_200C_206D_200F_202E_200C_206E_206D_206E_202E((ILogger)_logger, 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(2136190681), Array.Empty()); - State = EFishingState.Orienting; - return State; - case 2: - UpdateCurrentTask(); - return State; - } - continue; - IL_004d: - num = -1280253674; + _logger.LogDebug("Navigation complete, transitioning to orienting"); + State = EFishingState.Orienting; + return State; } + UpdateCurrentTask(); + return State; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe EFishingState UpdateOrienting() { - IPlayerCharacter playerCharacter = _200F_202D_206D_206D_206C_206E_200B_202D_200E_202C_206B_202C_206C_206B_206D_200F_206C_200D_200C_202E_202B_200C_206A_206F_206A_202B_200D_200D_206B_206D_202B_200D_206B_200C_202B_202B_206B_200C_202A_202A_202E(_objectTable); - int num = ((playerCharacter != null) ? (-1536188772) : (-1536188775)); - Vector3 vector = default(Vector3); - (float, Vector3)? tuple = default((float, Vector3)?); - while (true) + IPlayerCharacter localPlayer = _objectTable.LocalPlayer; + if (localPlayer == null) { - int num2 = num; - int num3 = -1536188776; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - _200F_206C_202B_206E_206B_206F_202C_200E_202D_200C_206E_200E_206A_202C_206F_202C_200F_202B_202C_202C_200F_202A_202E_206A_206E_202B_200D_206E_206B_202C_200D_202D_200E_206B_206D_202E_202A_206C_206E_202C_202E((ILogger)_logger, 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(-1988024988), new object[1] { vector }); - Stop(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(1777525514)); - return State; - case 0: - { - Vector3 item = tuple.Value.Item2; - _206E_202B_206A_202A_202E_206E_206A_206D_206A_200B_202B_206A_202D_202B_200C_206D_200F_206F_206D_206A_202B_202A_200F_202C_202A_202E_206F_200C_200E_206B_206A_200D_200C_206D_200F_202E_200C_206E_206D_206E_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-245731895), new object[1] { item }); - ActionManager.Instance()->AutoFaceTargetPosition(&item, 0uL); - State = EFishingState.Preparing; - return State; - } - case 4: - vector = _206F_206A_206A_200E_206E_200B_206E_202A_206D_206B_206F_206F_202E_206C_200D_200B_200C_206D_206B_202C_200C_202B_202A_202B_200B_200D_206F_202A_200F_202B_206A_206F_206C_206E_202A_202B_202D_202A_202C_202B_202E((IGameObject)playerCharacter); - tuple = _202D_206F_206C_206C_206D_202A_206E_206F_206E_206A_202C_200C_200D_202A_202E_206D_206E_206E_206F_200D_206D_200D_206C_200D_200E_200D_206B_200C_206D_206C_206C_206D_202E_202D_206E_206C_206E_206D_206C_202E_202E(vector, 36); - num = (tuple.HasValue ? (-1536188776) : (-1536188774)); - break; - case 3: - num = -1536188775; - break; - case 1: - return State; - } + return State; } + Vector3 position = localPlayer.Position; + (float, Vector3)? tuple = WaterSurfaceDetector.FindFishableRotation(position); + if (!tuple.HasValue) + { + _logger.LogWarning("No fishable rotation found at position {Position}", position); + Stop("No fishable water nearby"); + return State; + } + Vector3 item = tuple.Value.Item2; + _logger.LogDebug("Found fishable rotation, facing hit point {HitPoint}", item); + ActionManager.Instance()->AutoFaceTargetPosition(&item, 0uL); + State = EFishingState.Preparing; + return State; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe EFishingState UpdatePreparing() { - int num = (CanUseActionNow() ? (-747465758) : (-747465753)); - IPlayerCharacter playerCharacter = default(IPlayerCharacter); - while (true) + if (!CanUseActionNow()) { - int num2 = num; - int num3 = -747465756; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return State; + } + if (!_baitReady) + { + if (_autoHookIpc.SwapBaitById(29717u)) { - case 12: - num = ((_currentRequest.Collectability <= 0) ? (-747465748) : (-747465747)); - break; - case 7: - { - BattleChara* ptr = (BattleChara*)_200F_202E_200E_206A_202B_200E_206D_206B_200F_202E_206B_206B_200C_202A_206B_206F_206E_202D_202D_200F_202B_202D_206A_200C_206D_200D_202B_200B_206F_202C_206E_200D_206E_200D_206D_206A_202C_206C_206B_206C_202E((IGameObject)playerCharacter); - num = (ptr->GetStatusManager()->HasStatus(805u) ? (-747465748) : (-747465755)); - break; - } - case 3: - return State; - case 5: - num = ((!_autoHookIpc.SwapBaitById(29717u)) ? (-747465754) : (-747465746)); - break; - case 11: - return State; - case 8: - _autoHookIpc.SetPluginState(enabled: true); - _autoHookIpc.SetAutoStartFishing(enabled: true); - _fishStartMs = _200B_206B_202C_202E_206D_206F_202A_206D_206B_206B_206F_206A_206C_202B_206B_200B_200F_206E_200B_200B_200C_200D_200F_202A_206E_206A_200B_206C_206A_200E_200B_202A_202A_202B_200D_202C_206A_206D_206D_206D_202E(); - _lastFishCount = GetItemCount(); - State = EFishingState.Fishing; - _206E_202B_206A_202A_202E_206E_206A_206D_206A_200B_202B_206A_202D_202B_200C_206D_200F_206F_206D_206A_202B_202A_200F_202C_202A_202E_206F_200C_200E_206B_206A_200D_200C_206D_200F_202E_200C_206E_206D_206E_202E((ILogger)_logger, 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(1666126604), Array.Empty()); - return State; - case 9: - playerCharacter = _200F_202D_206D_206D_206C_206E_200B_202D_200E_202C_206B_202C_206C_206B_206D_200F_206C_200D_200C_202E_202B_200C_206A_206F_206A_202B_200D_200D_206B_206D_202B_200D_206B_200C_202B_202B_206B_200C_202A_202A_202E(_objectTable); - num = ((playerCharacter == null) ? (-747465748) : (-747465757)); - break; - case 4: - num = -747465753; - break; - case 6: - num = (_baitReady ? (-747465752) : (-747465759)); - break; - case 1: - num = ((ActionManager.Instance()->GetActionStatus(ActionType.Action, 4101u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) != 0) ? (-747465745) : (-747465756)); - break; - case 10: - _206E_202B_206A_202A_202E_206E_206A_206D_206A_200B_202B_206A_202D_202B_200C_206D_200F_206F_206D_206A_202B_202A_200F_202C_202A_202E_206F_200C_200E_206B_206A_200D_200C_206D_200F_202E_200C_206E_206D_206E_202E((ILogger)_logger, 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(-1055152276), Array.Empty()); + _logger.LogDebug("Bait set to Versatile Lure"); _baitReady = true; - _actionThrottle = _200B_206B_202C_202E_206D_206F_202A_206D_206B_206B_206F_206A_206C_202B_206B_200B_200F_206E_200B_200B_200C_200D_200F_202A_206E_206A_200B_206C_206A_200E_200B_202A_202A_202B_200D_202C_206A_206D_206D_206D_202E() + 500; + _actionThrottle = Environment.TickCount64 + 500; return State; - case 2: - _200F_206C_202B_206E_206B_206F_202C_200E_202D_200C_206E_200E_206A_202C_206F_202C_200F_202B_202C_202C_200F_202A_202E_206A_206E_202B_200D_206E_206B_202C_200D_202D_200E_206B_206D_202E_202A_206C_206E_202C_202E((ILogger)_logger, 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(-1448574380), Array.Empty()); - Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1247119621)); - return State; - case 0: - _206E_202B_206A_202A_202E_206E_206A_206D_206A_200B_202B_206A_202D_202B_200C_206D_200F_206F_206D_206A_202B_202A_200F_202C_202A_202E_206F_200C_200E_206B_206A_200D_200C_206D_200F_202E_200C_206E_206D_206E_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1852976997), Array.Empty()); - ActionManager.Instance()->UseAction(ActionType.Action, 4101u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); - _actionThrottle = _200B_206B_202C_202E_206D_206F_202A_206D_206B_206B_206F_206A_206C_202B_206B_200B_200F_206E_200B_200B_200C_200D_200F_202A_206E_206A_200B_206C_206A_200E_200B_202A_202A_202B_200D_202C_206A_206D_206D_206D_202E() + 1000; - num = -747465745; - break; + } + _logger.LogWarning("AutoHook failed to swap bait, stopping"); + Stop("Bait swap failed"); + return State; + } + if (_currentRequest.Collectability > 0) + { + IPlayerCharacter localPlayer = _objectTable.LocalPlayer; + if (localPlayer != null) + { + BattleChara* address = (BattleChara*)localPlayer.Address; + if (!address->GetStatusManager()->HasStatus(805u)) + { + if (ActionManager.Instance()->GetActionStatus(ActionType.Action, 4101u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) == 0) + { + _logger.LogDebug("Activating Collector's Glove"); + ActionManager.Instance()->UseAction(ActionType.Action, 4101u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); + _actionThrottle = Environment.TickCount64 + 1000; + } + return State; + } } } + _autoHookIpc.SetPluginState(enabled: true); + _autoHookIpc.SetAutoStartFishing(enabled: true); + _fishStartMs = Environment.TickCount64; + _lastFishCount = GetItemCount(); + State = EFishingState.Fishing; + _logger.LogDebug("AutoHook enabled, transitioning to fishing state"); + return State; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe EFishingState UpdateFishing() { int itemCount = GetItemCount(); - int num = ((itemCount <= _lastFishCount) ? (-1919966564) : (-1919966563)); - while (true) + if (itemCount > _lastFishCount) { - int num2 = num; - int num3 = -1919966576; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _lastFishCount = itemCount; + _fishStartMs = Environment.TickCount64; + } + if (Environment.TickCount64 - _fishStartMs > 180000) + { + _logger.LogWarning("Fishing made no progress for {Timeout}ms", 180000L); + Stop("Fishing timeout"); + return State; + } + if (HasEnoughItems()) + { + if (!_condition[ConditionFlag.Fishing]) { - case 1: - return State; - case 0: - num = (_206D_200F_206C_200C_200E_202C_202C_206E_206A_202E_206B_206A_206E_200C_206B_202D_200B_202D_206D_200C_206B_202B_200B_206F_202D_206E_202A_200F_200B_202D_200F_206E_200F_206A_202E_200C_206C_200B_206B_206F_202E(_condition, ConditionFlag.Fishing) ? (-1919966565) : (-1919966569)); - break; - case 2: - _200F_206C_202B_206E_206B_206F_202C_200E_202D_200C_206E_200E_206A_202C_206F_202C_200F_202B_202C_202C_200F_202A_202E_206A_206E_202B_200D_206E_206B_202C_200D_202D_200E_206B_206D_202E_202A_206C_206E_202C_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1428296655), new object[1] { 180000L }); - Stop(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(1371551999)); - return State; - case 7: - _206E_202B_206A_202A_202E_206E_206A_206D_206A_200B_202B_206A_202D_202B_200C_206D_200F_206F_206D_206A_202B_202A_200F_202C_202A_202E_206F_200C_200E_206B_206A_200D_200C_206D_200F_202E_200C_206E_206D_206E_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(273212512), Array.Empty()); + _logger.LogDebug("Have enough items, fishing complete"); State = EFishingState.Complete; DisableAutoHookAutoStart(); - num = -1919966565; - break; - case 12: - num = ((_200B_206B_202C_202E_206D_206F_202A_206D_206B_206B_206F_206A_206C_202B_206B_200B_200F_206E_200B_200B_200C_200D_200F_202A_206E_206A_200B_206C_206A_200E_200B_202A_202A_202B_200D_202C_206A_206D_206D_206D_202E() - _fishStartMs <= 180000) ? (-1919966568) : (-1919966574)); - break; - case 3: - num = ((ActionManager.Instance()->GetActionStatus(ActionType.Action, 289u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) != 0) ? (-1919966575) : (-1919966571)); - break; - case 13: - _lastFishCount = itemCount; - _fishStartMs = _200B_206B_202C_202E_206D_206F_202A_206D_206B_206B_206F_206A_206C_202B_206B_200B_200F_206E_200B_200B_200C_200D_200F_202A_206E_206A_200B_206C_206A_200E_200B_202A_202A_202B_200D_202C_206A_206D_206D_206D_202E(); - num = -1919966564; - break; - case 4: - num = (_206D_200F_206C_200C_200E_202C_202C_206E_206A_202E_206B_206A_206E_200C_206B_202D_200B_202D_206D_200C_206B_202B_200B_206F_202D_206E_202A_200F_200B_202D_200F_206E_200F_206A_202E_200C_206C_200B_206B_206F_202E(_condition, ConditionFlag.Fishing) ? (-1919966575) : (-1919966567)); - break; - case 5: - _206E_202B_206A_202A_202E_206E_206A_206D_206A_200B_202B_206A_202D_202B_200C_206D_200F_206F_206D_206A_202B_202A_200F_202C_202A_202E_206F_200C_200E_206B_206A_200D_200C_206D_200F_202E_200C_206E_206D_206E_202E((ILogger)_logger, 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(1571582558), Array.Empty()); - ActionManager.Instance()->UseAction(ActionType.Action, 289u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); - _actionThrottle = _200B_206B_202C_202E_206D_206F_202A_206D_206B_206B_206F_206A_206C_202B_206B_200B_200F_206E_200B_200B_200C_200D_200F_202A_206E_206A_200B_206C_206A_200E_200B_202A_202A_202B_200D_202C_206A_206D_206D_206D_202E() + 2000; - num = -1919966575; - break; - case 9: - num = (_206D_200F_206C_200C_200E_202C_202C_206E_206A_202E_206B_206A_206E_200C_206B_202D_200B_202D_206D_200C_206B_202B_200B_206F_202D_206E_202A_200F_200B_202D_200F_206E_200F_206A_202E_200C_206C_200B_206B_206F_202E(_condition, ConditionFlag.Casting) ? (-1919966575) : (-1919966570)); - break; - case 6: - num = ((!CanUseActionNow()) ? (-1919966575) : (-1919966573)); - break; - case 8: - num = ((!HasEnoughItems()) ? (-1919966572) : (-1919966576)); - break; - case 11: - return State; - case 10: - num = -1919966563; - break; } + return State; } + if (!_condition[ConditionFlag.Fishing] && !_condition[ConditionFlag.Casting] && CanUseActionNow() && ActionManager.Instance()->GetActionStatus(ActionType.Action, 289u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) == 0) + { + _logger.LogDebug("Casting fishing rod"); + ActionManager.Instance()->UseAction(ActionType.Action, 289u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); + _actionThrottle = Environment.TickCount64 + 2000; + } + return State; } - [MethodImpl(MethodImplOptions.NoInlining)] public override void Stop(string label) { base.Stop(label); - int num = ((State != EFishingState.Idle) ? 1276475840 : 1276475841); - while (true) + if (State != EFishingState.Idle || _currentRequest != null) { - int num2 = num; - int num3 = 1276475840; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - _202D_200F_200D_202D_202C_202A_200E_200D_206F_200D_200E_206E_206B_206E_200B_202E_202D_202B_202A_206F_206B_206C_206A_206B_206B_202E_202A_202B_206A_200B_206D_206E_206E_206F_206A_206E_206A_200B_206D_206F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(447789808), new object[1] { label }); - DisableAutoHookAutoStart(); - _routeEnqueuer.ClearDestination(); - _taskQueue.Reset(); - _currentRequest = null; - State = EFishingState.Idle; - num = 1276475843; - break; - case 1: - num = ((!(_currentRequest != null)) ? 1276475843 : 1276475840); - break; - case 3: - return; - case 2: - num = 1276475841; - break; - } + _logger.LogInformation("Stopping fishing controller: {Label}", label); + DisableAutoHookAutoStart(); + _routeEnqueuer.ClearDestination(); + _taskQueue.Reset(); + _currentRequest = null; + State = EFishingState.Idle; } } @@ -686,57 +322,25 @@ internal sealed class FishingController : MiniTaskController private bool HasEnoughItems() { - int num = ((!(_currentRequest == null)) ? 1490081139 : 1490081136); - while (true) + if (_currentRequest == null) { - int num2 = num; - int num3 = 1490081137; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004e; - case 1: - return true; - case 2: - return GetItemCount() >= _currentRequest.Quantity; - } - continue; - IL_004e: - num = 1490081136; + return true; } + return GetItemCount() >= _currentRequest.Quantity; } private unsafe int GetItemCount() { - int num = ((!(_currentRequest == null)) ? 1670490552 : 1670490555); - while (true) + if (_currentRequest == null) { - int num2 = num; - int num3 = 1670490553; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004e; - case 1: - return InventoryManager.Instance()->GetInventoryItemCount(_currentRequest.ItemId, isHq: false, checkEquipped: true, checkArmory: true, (short)_currentRequest.Collectability); - case 2: - return 0; - } - continue; - IL_004e: - num = 1670490555; + return 0; } + return InventoryManager.Instance()->GetInventoryItemCount(_currentRequest.ItemId, isHq: false, checkEquipped: true, checkArmory: true, (short)_currentRequest.Collectability); } private bool CanUseActionNow() { - return _200B_206B_202C_202E_206D_206F_202A_206D_206B_206B_206F_206A_206C_202B_206B_200B_200F_206E_200B_200B_200C_200D_200F_202A_206E_206A_200B_206C_206A_200E_200B_202A_202A_202B_200D_202C_206A_206D_206D_206D_202E() >= _actionThrottle; + return Environment.TickCount64 >= _actionThrottle; } private void EnqueueNavigateTo(ushort territoryId, Vector3 position) @@ -744,87 +348,18 @@ internal sealed class FishingController : MiniTaskController _routeEnqueuer.Enqueue(_taskQueue, territoryId, position); } - [MethodImpl(MethodImplOptions.NoInlining)] private bool EnqueueLurePurchase() { VendorResolverService.VendorInfo? vendorInfo = _vendorResolver.ResolveVendor(29717u); - int num = (vendorInfo.HasValue ? 496459254 : 496459255); - while (true) + if (!vendorInfo.HasValue) { - int num2 = num; - int num3 = 496459254; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - _202D_200F_200D_202D_202C_202A_200E_200D_206F_200D_200E_206E_206B_206E_200B_202E_202D_202B_202A_206F_206B_206C_206A_206B_206B_202E_202A_202B_206A_200B_206D_206E_206E_206F_206A_206E_206A_200B_206D_206F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-26952727), new object[2] - { - 99, - vendorInfo.Value.VendorNpcId - }); - EnqueueNavigateTo(vendorInfo.Value.TerritoryId, vendorInfo.Value.Position); - _taskQueue.Enqueue(new Mount.UnmountTask()); - _taskQueue.Enqueue(new VendorPurchaseTask(vendorInfo.Value.VendorNpcId, new global::_003C_003Ez__ReadOnlySingleElementList(new VendorPurchaseTask.PurchaseItem(29717u, 99)), vendorInfo.Value.DialogOptionIndex)); - return true; - case 1: - _200F_206C_202B_206E_206B_206F_202C_200E_202D_200C_206E_200E_206A_202C_206F_202C_200F_202B_202C_202C_200F_202A_202E_206A_206E_202B_200D_206E_206B_202C_200D_202D_200E_206B_206D_202E_202A_206C_206E_202C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(570039642), Array.Empty()); - return false; - case 2: - goto IL_0128; - } - continue; - IL_0128: - num = 496459255; + _logger.LogWarning("No vendor found selling Versatile Lure"); + return false; } - } - - static void _200F_206C_202B_206E_206B_206F_202C_200E_202D_200C_206E_200E_206A_202C_206F_202C_200F_202B_202C_202C_200F_202A_202E_206A_206E_202B_200D_206E_206B_202C_200D_202D_200E_206B_206D_202E_202A_206C_206E_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static void _200B_206E_200F_206F_202D_200B_202B_200B_202E_202D_206D_202E_206C_206F_206C_200E_200F_202E_206C_206A_202A_206B_202D_206E_202E_206C_200D_200F_202B_200B_200C_200B_206F_202C_200F_202A_206F_202C_206C_202B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogError(P_1, P_2); - } - - static void _202D_200F_200D_202D_202C_202A_200E_200D_206F_200D_200E_206E_206B_206E_200B_202E_202D_202B_202A_206F_206B_206C_206A_206B_206B_202E_202A_202B_206A_200B_206D_206E_206E_206F_206A_206E_206A_200B_206D_206F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static void _206E_202B_206A_202A_202E_206E_206A_206D_206A_200B_202B_206A_202D_202B_200C_206D_200F_206F_206D_206A_202B_202A_200F_202C_202A_202E_206F_200C_200E_206B_206A_200D_200C_206D_200F_202E_200C_206E_206D_206E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static IPlayerCharacter _200F_202D_206D_206D_206C_206E_200B_202D_200E_202C_206B_202C_206C_206B_206D_200F_206C_200D_200C_202E_202B_200C_206A_206F_206A_202B_200D_200D_206B_206D_202B_200D_206B_200C_202B_202B_206B_200C_202A_202A_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static Vector3 _206F_206A_206A_200E_206E_200B_206E_202A_206D_206B_206F_206F_202E_206C_200D_200B_200C_206D_206B_202C_200C_202B_202A_202B_200B_200D_206F_202A_200F_202B_206A_206F_206C_206E_202A_202B_202D_202A_202C_202B_202E(IGameObject P_0) - { - return P_0.Position; - } - - static (float, Vector3)? _202D_206F_206C_206C_206D_202A_206E_206F_206E_206A_202C_200C_200D_202A_202E_206D_206E_206E_206F_200D_206D_200D_206C_200D_200E_200D_206B_200C_206D_206C_206C_206D_202E_202D_206E_206C_206E_206D_206C_202E_202E(Vector3 P_0, int P_1) - { - return WaterSurfaceDetector.FindFishableRotation(P_0, P_1); - } - - static long _200B_206B_202C_202E_206D_206F_202A_206D_206B_206B_206F_206A_206C_202B_206B_200B_200F_206E_200B_200B_200C_200D_200F_202A_206E_206A_200B_206C_206A_200E_200B_202A_202A_202B_200D_202C_206A_206D_206D_206D_202E() - { - return Environment.TickCount64; - } - - static nint _200F_202E_200E_206A_202B_200E_206D_206B_200F_202E_206B_206B_200C_202A_206B_206F_206E_202D_202D_200F_202B_202D_206A_200C_206D_200D_202B_200B_206F_202C_206E_200D_206E_200D_206D_206A_202C_206C_206B_206C_202E(IGameObject P_0) - { - return P_0.Address; - } - - static bool _206D_200F_206C_200C_200E_202C_202C_206E_206A_202E_206B_206A_206E_200C_206B_202D_200B_202D_206D_200C_206B_202B_200B_206F_202D_206E_202A_200F_200B_202D_200F_206E_200F_206A_202E_200C_206C_200B_206B_206F_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; + _logger.LogInformation("No bait in inventory, purchasing {Quantity} Versatile Lure from vendor {VendorId}", 99, vendorInfo.Value.VendorNpcId); + EnqueueNavigateTo(vendorInfo.Value.TerritoryId, vendorInfo.Value.Position); + _taskQueue.Enqueue(new Mount.UnmountTask()); + _taskQueue.Enqueue(new VendorPurchaseTask(vendorInfo.Value.VendorNpcId, new global::_003C_003Ez__ReadOnlySingleElementList(new VendorPurchaseTask.PurchaseItem(29717u, 99)), vendorInfo.Value.DialogOptionIndex)); + return true; } } diff --git a/Questionable/Questionable.Controller/GatheringController.cs b/Questionable/Questionable.Controller/GatheringController.cs index f0b1583..d38998f 100644 --- a/Questionable/Questionable.Controller/GatheringController.cs +++ b/Questionable/Questionable.Controller/GatheringController.cs @@ -1,12 +1,9 @@ using System; -using System.Collections; using System.Collections.Generic; using System.IO; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -using System.Text; using System.Text.RegularExpressions; using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Objects.Enums; @@ -16,7 +13,6 @@ using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using LLib; using Lumina.Excel.Sheets; -using Lumina.Text.ReadOnly; using Microsoft.Extensions.Logging; using Questionable.Controller.Steps; using Questionable.Controller.Steps.Common; @@ -43,157 +39,7 @@ internal sealed class GatheringController : MiniTaskController(1742836955)); - _200B_202A_202E_206E_200B_206C_202D_206B_206B_206B_200B_206F_200B_200B_200E_206E_200D_200C_202C_200D_200C_202E_200C_206B_200E_206F_202B_202A_200E_200C_200F_200B_202E_202A_200C_202E_206C_206F_206D_200F_202E(stringBuilder, 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(117284107)); - int num = ((!PrintMembers(stringBuilder)) ? (-1894192642) : (-1894192643)); - while (true) - { - int num2 = num; - int num3 = -1894192641; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _206E_202E_206E_200C_200E_202C_200E_206F_200B_202C_200D_202C_206D_200B_206E_206D_202D_206A_206C_206A_202A_206F_200D_202A_200F_202B_200D_202A_202B_200E_206E_200C_200B_206E_202C_206C_206E_206D_206D_202E_202E(stringBuilder, '}'); - return _200F_200E_200C_202C_206F_202B_202B_202A_200B_206A_200B_202A_200D_200E_200C_206D_202E_202A_202A_206F_202A_200D_200E_200D_206B_202A_202A_200D_202E_200B_202E_202C_200C_206E_200E_202B_206E_200F_200B_202C_202E((object)stringBuilder); - case 2: - _206E_202E_206E_200C_200E_202C_200E_206F_200B_202C_200D_202C_206D_200B_206E_206D_202D_206A_206C_206A_202A_206F_200D_202A_200F_202B_200D_202A_202B_200E_206E_200C_200B_206E_202C_206C_206E_206D_206D_202E_202E(stringBuilder, ' '); - num = -1894192642; - break; - case 0: - num = -1894192643; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200C_200B_200B_200B_206A_200F_202B_202A_206B_206F_200C_202C_202B_206A_202B_206A_200E_206C_200F_200F_202A_200E_202E_202B_206E_200E_200E_200C_200B_206A_202D_206B_206D_200F_202E_206D_206B_200E_206A_206F_202E(); - _200B_202A_202E_206E_200B_206C_202D_206B_206B_206B_200B_206F_200B_200B_200E_206E_200D_200C_202C_200D_200C_202E_200C_206B_200E_206F_202B_202A_200E_200C_200F_200B_202E_202A_200C_202E_206C_206F_206D_200F_202E(builder, 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(-520775500)); - _202D_202D_202E_206F_206D_206B_200C_200E_200C_202E_206A_200E_206B_200E_202E_206C_200D_202D_206B_200F_206B_200D_206F_206B_206C_202B_200D_200F_200C_206E_200E_206D_206B_206C_206D_206D_200F_200E_200C_202C_202E(builder, (object)GatheringPointId); - _200B_202A_202E_206E_200B_206C_202D_206B_206B_206B_200B_206F_200B_200B_200E_206E_200D_200C_202C_200D_200C_202E_200C_206B_200E_206F_202B_202A_200E_200C_200F_200B_202E_202A_200C_202E_206C_206F_206D_200F_202E(builder, 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(1061931861)); - _200B_202A_202E_206E_200B_206C_202D_206B_206B_206B_200B_206F_200B_200B_200E_206E_200D_200C_202C_200D_200C_202E_200C_206B_200E_206F_202B_202A_200E_200C_200F_200B_202E_202A_200C_202E_206C_206F_206D_200F_202E(builder, ItemId.ToString()); - _200B_202A_202E_206E_200B_206C_202D_206B_206B_206B_200B_206F_200B_200B_200E_206E_200D_200C_202C_200D_200C_202E_200C_206B_200E_206F_202B_202A_200E_200C_200F_200B_202E_202A_200C_202E_206C_206F_206D_200F_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1080842268)); - _200B_202A_202E_206E_200B_206C_202D_206B_206B_206B_200B_206F_200B_200B_200E_206E_200D_200C_202C_200D_200C_202E_200C_206B_200E_206F_202B_202A_200E_200C_200F_200B_202E_202A_200C_202E_206C_206F_206D_200F_202E(builder, AlternativeItemId.ToString()); - _200B_202A_202E_206E_200B_206C_202D_206B_206B_206B_200B_206F_200B_200B_200E_206E_200D_200C_202C_200D_200C_202E_200C_206B_200E_206F_202B_202A_200E_200C_200F_200B_202E_202A_200C_202E_206C_206F_206D_200F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-141714243)); - _200B_202A_202E_206E_200B_206C_202D_206B_206B_206B_200B_206F_200B_200B_200E_206E_200D_200C_202C_200D_200C_202E_200C_206B_200E_206F_202B_202A_200E_200C_200F_200B_202E_202A_200C_202E_206C_206F_206D_200F_202E(builder, Quantity.ToString()); - _200B_202A_202E_206E_200B_206C_202D_206B_206B_206B_200B_206F_200B_200B_200E_206E_200D_200C_202C_200D_200C_202E_200C_206B_200E_206F_202B_202A_200E_200C_200F_200B_202E_202A_200C_202E_206C_206F_206D_200F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2022024950)); - _200B_202A_202E_206E_200B_206C_202D_206B_206B_206B_200B_206F_200B_200B_200E_206E_200D_200C_202C_200D_200C_202E_200C_206B_200E_206F_202B_202A_200E_200C_200F_200B_202E_202A_200C_202E_206C_206F_206D_200F_202E(builder, Collectability.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(GatheringRequest? other) - { - int num = (((object)this == other) ? (-561631960) : (-561631959)); - while (true) - { - int num2 = num; - int num3 = -561631967; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - return EqualityComparer.Default.Equals(Collectability, other.Collectability); - case 2: - num = ((!EqualityComparer.Default.Equals(AlternativeItemId, other.AlternativeItemId)) ? (-561631964) : (-561631968)); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(GatheringPointId, other.GatheringPointId)) ? (-561631964) : (-561631967)); - break; - case 8: - num = (((object)other == null) ? (-561631964) : (-561631962)); - break; - case 5: - return false; - case 7: - num = ((!_206A_200F_202D_202C_202B_200C_206D_200D_202B_206D_202B_206D_206F_206F_200F_200F_200F_202E_200D_200E_200D_200B_202E_200E_206C_202E_200B_200E_202A_206C_200F_206A_206F_202A_206D_206F_206C_200E_206F_206B_202E(EqualityContract, other.EqualityContract)) ? (-561631964) : (-561631961)); - break; - case 9: - return true; - case 0: - num = ((!EqualityComparer.Default.Equals(ItemId, other.ItemId)) ? (-561631964) : (-561631965)); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(Quantity, other.Quantity)) ? (-561631964) : (-561631966)); - break; - case 4: - num = -561631959; - break; - } - } - } - - bool IEquatable.Equals(GatheringRequest? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202C_206B_202D_202B_206C_200E_200F_202C_206F_206A_206C_206D_206F_202A_200F_206E_206F_206F_206C_202B_202C_200D_200F_200F_206F_202C_202B_206B_206C_206D_202E_202D_206C_206C_200F_206E_202A_202E_200C_202C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200E_200F_200E_202E_206A_206F_202E_206F_206E_200C_206E_202A_206A_202C_206E_200C_206A_202E_200B_206B_200C_202E_206D_202D_200C_206E_206F_202C_202D_200C_200E_202E_206B_200B_200C_202B_200D_206C_206B_206D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200B_202A_202E_206E_200B_206C_202D_206B_206B_206B_200B_206F_200B_200B_200E_206E_200D_200C_202C_200D_200C_202E_200C_206B_200E_206F_202B_202A_200E_200C_200F_200B_202E_202A_200C_202E_206C_206F_206D_200F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206E_202E_206E_200C_200E_202C_200E_206F_200B_202C_200D_202C_206D_200B_206E_206D_202D_206A_206C_206A_202A_206F_200D_202A_200F_202B_200D_202A_202B_200E_206E_200C_200B_206E_202C_206C_206E_206D_206D_202E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200F_200E_200C_202C_206F_202B_202B_202A_200B_206A_200B_202A_200D_200E_200C_206D_202E_202A_202A_206F_202A_200D_200E_200D_206B_202A_202A_200D_202E_200B_202E_202C_200C_206E_200E_202B_206E_200F_200B_202C_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200C_200B_200B_200B_206A_200F_202B_202A_206B_206F_200C_202C_202B_206A_202B_206A_200E_206C_200F_200F_202A_200E_202E_202B_206E_200E_200E_200C_200B_206A_202D_206B_206D_200F_202E_206D_206B_200E_206A_206F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202D_202D_202E_206F_206D_206B_200C_200E_200C_202E_206A_200E_206B_200E_202E_206C_200D_202D_206B_200F_206B_200D_206F_206B_206C_202B_200D_200F_200C_206E_200E_206D_206B_206C_206D_206D_200F_200E_200C_202C_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206A_200F_202D_202C_202B_200C_206D_200D_202B_206D_202B_206D_206F_206F_200F_200F_200F_202E_200D_200E_200D_200B_202E_200E_206C_202E_200B_200E_202A_206C_200F_206A_206F_202A_206D_206F_206C_200E_206F_206B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } + public sealed record GatheringRequest(GatheringPointId GatheringPointId, uint ItemId, uint AlternativeItemId, int Quantity, ushort Collectability = 0); public enum EStatus { @@ -202,277 +48,6 @@ internal sealed class GatheringController : MiniTaskController _003C_003E9__10_0; - - public static Func _003C_003E9__15_1; - - public static Func> _003C_003E9__15_0; - - public static Func _003C_003E9__22_0; - - public static Func _003C_003E9__22_1; - - public static Func _003C_003E9__22_2; - - public static Func _003C_003E9__26_2; - - internal ReadOnlySeString? _003C_002Ector_003Eb__10_0(LogMessage x) - { - return x.Text; - } - - internal IEnumerable _003CStart_003Eb__15_0(GatheringNodeGroup x) - { - return from y in _202C_200E_202A_200B_206D_202A_200F_206E_202B_206C_202D_206B_206A_200B_206D_200F_202A_202D_200E_206F_206A_202B_200E_206E_202E_202A_206D_206E_206E_206F_200D_206C_202A_200F_202E_200C_206D_202D_206D_202B_202E(x) - orderby _206D_206C_200B_200C_202E_202E_206D_200E_202E_206D_200D_206C_200D_200B_202A_200E_206D_200C_206F_200C_206C_206E_200C_202C_200F_206D_202E_206D_200E_200B_200F_200B_200B_206F_206A_206D_202A_206A_202E_202E_202E(y).Count - select y; - } - - internal int _003CStart_003Eb__15_1(GatheringNode y) - { - return _206D_206C_200B_200C_202E_202E_206D_200E_202E_206D_200D_206C_200D_200B_202A_200E_206D_200C_206F_200C_206C_206E_200C_202C_200F_206D_202E_206D_200E_200B_200F_200B_200B_206F_206A_206D_202A_206A_202E_202E_202E(y).Count; - } - - internal float _003CGoToNextNode_003Eb__22_0(GatheringLocation x) - { - return _206A_206E_202B_200E_202A_202C_202A_206B_206B_200B_206E_202E_200D_202C_202D_202A_202E_206E_200D_200B_206A_200D_202B_206E_200E_202C_202C_206A_202E_200F_200B_200E_202E_200B_200C_206D_200E_202B_202D_202D_202E(x).X; - } - - internal float _003CGoToNextNode_003Eb__22_1(GatheringLocation x) - { - return _206A_206E_202B_200E_202A_202C_202A_206B_206B_200B_206E_202E_200D_202C_202D_202A_202E_206E_200D_200B_206A_200D_202B_206E_200E_202C_202C_206A_202E_200F_200B_200E_202E_200B_200C_206D_200E_202B_202D_202D_202E(x).Y; - } - - internal float _003CGoToNextNode_003Eb__22_2(GatheringLocation x) - { - return _206A_206E_202B_200E_202A_202C_202A_206B_206B_200B_206E_202E_200D_202C_202D_202A_202E_206E_200D_200B_206A_200D_202B_206E_200E_202C_202C_206A_202E_200F_200B_200E_202E_200B_200C_206D_200E_202B_202D_202D_202E(x).Z; - } - - internal bool _003CFindNextTargetableNodeAndUpdateIndex_003Eb__26_2(IGameObject x) - { - return x == null; - } - - static List _202C_200E_202A_200B_206D_202A_200F_206E_202B_206C_202D_206B_206A_200B_206D_200F_202A_202D_200E_206F_206A_202B_200E_206E_202E_202A_206D_206E_206E_206F_200D_206C_202A_200F_202E_200C_206D_202D_206D_202B_202E(GatheringNodeGroup P_0) - { - return P_0.Nodes; - } - - static List _206D_206C_200B_200C_202E_202E_206D_200E_202E_206D_200D_206C_200D_200B_202A_200E_206D_200C_206F_200C_206C_206E_200C_202C_200F_206D_202E_206D_200E_200B_200F_200B_200B_206F_206A_206D_202A_206A_202E_202E_202E(GatheringNode P_0) - { - return P_0.Locations; - } - - static Vector3 _206A_206E_202B_200E_202A_202C_202A_206B_206B_200B_206E_202E_200D_202C_202D_202A_202E_206E_200D_200B_206A_200D_202B_206E_200E_202C_202C_206A_202E_200F_200B_200E_202E_200B_200C_206D_200E_202B_202D_202D_202E(GatheringLocation P_0) - { - return P_0.Position; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass25_0 - { - public GatheringNode node; - - internal bool _003CHasNodeDisappeared_003Eb__0(IGameObject x) - { - int num = ((_206F_206D_206B_202C_206B_206F_200D_206C_206A_202D_206A_202D_200F_200C_206D_206F_202C_200C_206F_206F_206A_206B_200C_206F_206A_200C_202C_200E_206E_200B_202A_202D_202A_200D_200D_202A_200E_206B_202E_202B_202E(x) != ObjectKind.GatheringPoint) ? 1567152944 : 1567152945); - while (true) - { - int num2 = num; - int num3 = 1567152944; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 1567152945; - break; - case 0: - return false; - case 1: - num = ((!_200F_202A_202C_202D_206B_206D_206B_206B_200E_206B_206A_206E_202D_206F_206E_202E_202A_202E_202D_200D_206B_206C_202B_206A_200E_202A_206B_206A_200F_206B_206D_206F_202B_202D_206E_206C_200D_200E_202E_200C_202E(x)) ? 1567152944 : 1567152947); - break; - case 3: - return _202A_206D_200D_206E_206C_206C_202A_206B_200B_206F_200F_200F_202A_202D_206C_206B_200B_206C_200F_200E_202B_200E_206C_206F_206A_206C_200C_200D_202B_200F_200B_206D_206D_202C_206F_202C_206E_200C_200E_200F_202E(x) == _202C_202D_200D_202B_206D_200D_206B_206F_202A_200B_206E_206A_202E_206C_206C_200D_202E_200F_202C_206E_200D_202B_200E_202B_206D_202B_206C_206B_200C_200B_200D_206C_206E_206C_202D_206A_200F_206E_202D_202C_202E(node); - } - } - } - - static ObjectKind _206F_206D_206B_202C_206B_206F_200D_206C_206A_202D_206A_202D_200F_200C_206D_206F_202C_200C_206F_206F_206A_206B_200C_206F_206A_200C_202C_200E_206E_200B_202A_202D_202A_200D_200D_202A_200E_206B_202E_202B_202E(IGameObject P_0) - { - return P_0.ObjectKind; - } - - static bool _200F_202A_202C_202D_206B_206D_206B_206B_200E_206B_206A_206E_202D_206F_206E_202E_202A_202E_202D_200D_206B_206C_202B_206A_200E_202A_206B_206A_200F_206B_206D_206F_202B_202D_206E_206C_200D_200E_202E_200C_202E(IGameObject P_0) - { - return P_0.IsTargetable; - } - - static uint _202A_206D_200D_206E_206C_206C_202A_206B_200B_206F_200F_200F_202A_202D_206C_206B_200B_206C_200F_200E_202B_200E_206C_206F_206A_206C_200C_200D_202B_200F_200B_206D_206D_202C_206F_202C_206E_200C_200E_200F_202E(IGameObject P_0) - { - return P_0.BaseId; - } - - static uint _202C_202D_200D_202B_206D_200D_206B_206F_202A_200B_206E_206A_202E_206C_206C_200D_202E_200F_202C_206E_200D_202B_200E_202B_206D_202B_206C_206B_200C_200B_200D_206C_206E_206C_202D_206A_200F_206E_202D_202C_202E(GatheringNode P_0) - { - return P_0.DataId; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass26_0 - { - public GatheringNode currentNode; - - internal bool _003CFindNextTargetableNodeAndUpdateIndex_003Eb__0(IGameObject x) - { - int num = ((_202D_206E_206C_206B_200F_200B_206F_206B_206D_206F_206B_202E_200C_200B_202E_202C_202D_200F_200D_202A_202B_206D_202C_200C_206C_200F_206D_206A_202B_206B_200C_202E_200D_202A_206F_202A_202B_200B_200C_206D_202E(x) != ObjectKind.GatheringPoint) ? 774671159 : 774671157); - while (true) - { - int num2 = num; - int num3 = 774671156; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return _206F_200F_200C_200E_200F_206C_206F_200C_200D_202D_200B_206B_202B_206C_202B_206F_206F_200E_200C_200D_206C_200B_200E_206D_206D_206F_200D_202E_206E_202E_206C_206C_202A_200C_202D_206E_206E_200F_200D_200C_202E(x); - case 1: - num = ((_206C_200C_202C_202E_200F_202E_202E_206A_206C_202E_202D_206D_200C_206A_202B_202C_206F_206B_200C_200B_206A_202D_206E_206F_202A_202B_200D_202E_202E_200E_206B_200F_202A_200C_200E_202A_206F_206B_202C_202E_202E(x) != _206B_202B_206F_202B_206B_206C_200C_206F_206F_206E_200F_206F_200C_206F_202C_206F_206F_206D_202A_200F_206C_206A_200C_206E_200C_200E_200E_202C_206B_200B_200B_206C_202D_206A_200E_200B_200F_200C_202C_200C_202E(currentNode)) ? 774671159 : 774671158); - break; - case 0: - num = 774671157; - break; - case 3: - return false; - } - } - } - - static ObjectKind _202D_206E_206C_206B_200F_200B_206F_206B_206D_206F_206B_202E_200C_200B_202E_202C_202D_200F_200D_202A_202B_206D_202C_200C_206C_200F_206D_206A_202B_206B_200C_202E_200D_202A_206F_202A_202B_200B_200C_206D_202E(IGameObject P_0) - { - return P_0.ObjectKind; - } - - static uint _206C_200C_202C_202E_200F_202E_202E_206A_206C_202E_202D_206D_200C_206A_202B_202C_206F_206B_200C_200B_206A_202D_206E_206F_202A_202B_200D_202E_202E_200E_206B_200F_202A_200C_200E_202A_206F_206B_202C_202E_202E(IGameObject P_0) - { - return P_0.BaseId; - } - - static uint _206B_202B_206F_202B_206B_206C_200C_206F_206F_206E_200F_206F_200C_206F_202C_206F_206F_206D_202A_200F_206C_206A_200C_206E_200C_200E_200E_202C_206B_200B_200B_206C_202D_206A_200E_200B_200F_200C_202C_200C_202E(GatheringNode P_0) - { - return P_0.DataId; - } - - static bool _206F_200F_200C_200E_200F_206C_206F_200C_200D_202D_200B_206B_202B_206C_202B_206F_206F_200E_200C_200D_206C_200B_200E_206D_206D_206F_200D_202E_206E_202E_206C_206C_202A_200C_202D_206E_206E_200F_200D_200C_202E(IGameObject P_0) - { - return P_0.IsTargetable; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass26_1 - { - public GatheringNode currentNode; - - public GatheringController _003C_003E4__this; - - internal IGameObject _003CFindNextTargetableNodeAndUpdateIndex_003Eb__1(GatheringLocation x) - { - _003C_003Ec__DisplayClass26_2 CS_0024_003C_003E8__locals2 = new _003C_003Ec__DisplayClass26_2 - { - CS_0024_003C_003E8__locals1 = this, - x = x - }; - return _003C_003E4__this._objectTable.FirstOrDefault(delegate(IGameObject y) - { - int num = ((_003C_003Ec__DisplayClass26_2._200E_200F_206E_206B_200F_202D_202E_200D_202C_202D_206C_200F_206F_202C_206B_206C_202D_206A_200C_202B_206D_200E_200E_202A_200B_206A_202A_206E_202B_206D_206F_206D_200D_206B_206F_200C_202A_202A_200E_200C_202E(CS_0024_003C_003E8__locals2.CS_0024_003C_003E8__locals1.currentNode) != _003C_003Ec__DisplayClass26_2._202B_202D_202C_200C_200F_206B_206A_206E_202A_202A_202B_206C_200D_200E_206D_206B_206C_206E_200C_202A_206F_206F_206D_202E_200B_206A_200B_200D_206F_206C_202D_200E_202E_200D_202C_202D_202C_202D_200F_202E_202E(y)) ? 347949283 : 347949280); - while (true) - { - int num2 = num; - int num3 = 347949282; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0058; - case 2: - return Vector3.Distance(_003C_003Ec__DisplayClass26_2._200D_206F_202A_206E_202B_200D_202E_200D_202D_200F_202D_200E_202E_202C_202B_200E_202E_200E_202C_206E_200F_206C_206A_200B_200B_206B_202C_206F_200E_200E_200C_206D_202A_200B_200B_202B_206A_200E_200F_206D_202E(CS_0024_003C_003E8__locals2.x), _003C_003Ec__DisplayClass26_2._200C_202E_206B_202E_206A_202C_206F_206E_206E_202D_202B_206E_200C_202E_200F_200C_202C_206D_200E_200B_200C_206E_206D_206F_206D_206F_206E_206E_202E_202D_200C_202B_200E_202D_200C_206C_206E_206E_200D_200E_202E(y)) < 0.1f; - case 1: - return false; - } - continue; - IL_0058: - num = 347949280; - } - }); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass26_2 - { - public GatheringLocation x; - - public _003C_003Ec__DisplayClass26_1 CS_0024_003C_003E8__locals1; - - internal bool _003CFindNextTargetableNodeAndUpdateIndex_003Eb__3(IGameObject y) - { - int num = ((_200E_200F_206E_206B_200F_202D_202E_200D_202C_202D_206C_200F_206F_202C_206B_206C_202D_206A_200C_202B_206D_200E_200E_202A_200B_206A_202A_206E_202B_206D_206F_206D_200D_206B_206F_200C_202A_202A_200E_200C_202E(CS_0024_003C_003E8__locals1.currentNode) != _202B_202D_202C_200C_200F_206B_206A_206E_202A_202A_202B_206C_200D_200E_206D_206B_206C_206E_200C_202A_206F_206F_206D_202E_200B_206A_200B_200D_206F_206C_202D_200E_202E_200D_202C_202D_202C_202D_200F_202E_202E(y)) ? 347949283 : 347949280); - while (true) - { - int num2 = num; - int num3 = 347949282; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0058; - case 2: - return Vector3.Distance(_200D_206F_202A_206E_202B_200D_202E_200D_202D_200F_202D_200E_202E_202C_202B_200E_202E_200E_202C_206E_200F_206C_206A_200B_200B_206B_202C_206F_200E_200E_200C_206D_202A_200B_200B_202B_206A_200E_200F_206D_202E(x), _200C_202E_206B_202E_206A_202C_206F_206E_206E_202D_202B_206E_200C_202E_200F_200C_202C_206D_200E_200B_200C_206E_206D_206F_206D_206F_206E_206E_202E_202D_200C_202B_200E_202D_200C_206C_206E_206E_200D_200E_202E(y)) < 0.1f; - case 1: - return false; - } - continue; - IL_0058: - num = 347949280; - } - } - - static uint _200E_200F_206E_206B_200F_202D_202E_200D_202C_202D_206C_200F_206F_202C_206B_206C_202D_206A_200C_202B_206D_200E_200E_202A_200B_206A_202A_206E_202B_206D_206F_206D_200D_206B_206F_200C_202A_202A_200E_200C_202E(GatheringNode P_0) - { - return P_0.DataId; - } - - static uint _202B_202D_202C_200C_200F_206B_206A_206E_202A_202A_202B_206C_200D_200E_206D_206B_206C_206E_200C_202A_206F_206F_206D_202E_200B_206A_200B_200D_206F_206C_202D_200E_202E_200D_202C_202D_202C_202D_200F_202E_202E(IGameObject P_0) - { - return P_0.BaseId; - } - - static Vector3 _200D_206F_202A_206E_202B_200D_202E_200D_202D_200F_202D_200E_202E_202C_202B_200E_202E_200E_202C_206E_200F_206C_206A_200B_200B_206B_202C_206F_200E_200E_200C_206D_202A_200B_200B_202B_206A_200E_200F_206D_202E(GatheringLocation P_0) - { - return P_0.Position; - } - - static Vector3 _200C_202E_206B_202E_206A_202C_206F_206E_206E_202D_202B_206E_200C_202E_200F_200C_202C_206D_200E_200B_200C_206E_206D_206F_206D_206F_206E_206E_202E_202D_200C_202B_200E_202D_200C_206C_206E_206E_200D_200E_202E(IGameObject P_0) - { - return P_0.Position; - } - } - private readonly MovementController _movementController; private readonly GatheringPointRegistry _gatheringPointRegistry; @@ -497,7 +72,6 @@ internal sealed class GatheringController : MiniTaskController _currentRequest?.Data.ItemId; - [MethodImpl(MethodImplOptions.NoInlining)] public GatheringController(MovementController movementController, GatheringPointRegistry gatheringPointRegistry, GameFunctions gameFunctions, NavmeshIpc navmeshIpc, IObjectTable objectTable, IChatGui chatGui, ILogger logger, ICondition condition, IServiceProvider serviceProvider, InterruptHandler interruptHandler, IDataManager dataManager, Configuration configuration, IPluginLog pluginLog) : base(chatGui, condition, serviceProvider, interruptHandler, dataManager, configuration, logger) { @@ -508,238 +82,119 @@ internal sealed class GatheringController : MiniTaskController x.Text, pluginLog) ?? throw _202B_206A_206F_200C_206A_202C_206F_200F_206E_200C_206E_206F_200E_200C_202B_200B_200B_206C_200C_200C_200C_206A_206B_200D_202B_206E_206F_200E_206D_206F_206C_200C_200F_200F_200C_202A_200F_200F_200D_202D_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(495587057)); + _revisitRegex = dataManager.GetRegex(5574u, (LogMessage x) => x.Text, pluginLog) ?? throw new InvalidDataException("No regex found for revisit message"); } - [MethodImpl(MethodImplOptions.NoInlining)] public bool Start(GatheringRequest gatheringRequest) { - Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1887351736)); - GatheringRoot gatheringRoot; - int num = (_gatheringPointRegistry.TryGetGatheringPoint(gatheringRequest.GatheringPointId, out gatheringRoot) ? (-1189096751) : (-1189096752)); - while (true) + Stop("Start"); + if (!_gatheringPointRegistry.TryGetGatheringPoint(gatheringRequest.GatheringPointId, out GatheringRoot gatheringRoot)) { - int num2 = num; - int num3 = -1189096751; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - _currentRequest = new CurrentRequest - { - Data = gatheringRequest, - Root = gatheringRoot, - Nodes = _202E_206E_206C_200C_200B_206C_200B_202C_206C_200D_206A_206B_206C_206A_200E_206E_206A_200B_206D_200B_200E_202A_202B_206D_206E_206F_202A_200F_200B_206B_206B_202E_200E_200C_206F_200B_202E_202C_200E_200D_202E(gatheringRoot).SelectMany((GatheringNodeGroup x) => from y in _003C_003Ec._202C_200E_202A_200B_206D_202A_200F_206E_202B_206C_202D_206B_206A_200B_206D_200F_202A_202D_200E_206F_206A_202B_200E_206E_202E_202A_206D_206E_206E_206F_200D_206C_202A_200F_202E_200C_206D_202D_206D_202B_202E(x) - orderby _003C_003Ec._206D_206C_200B_200C_202E_202E_206D_200E_202E_206D_200D_206C_200D_200B_202A_200E_206D_200C_206F_200C_206C_206E_200C_202C_200F_206D_202E_206D_200E_200B_200F_200B_200B_206F_206A_206D_202A_206A_202E_202E_202E(y).Count - select y).ToList() - }; - _movementFailureCount = 0; - num = ((!HasRequestedItems()) ? (-1189096747) : (-1189096749)); - break; - case 1: - _206B_206D_206C_202E_202D_206A_200E_202B_200C_206F_202C_206B_206E_206F_206C_206D_202C_206F_202E_200F_202A_202C_202A_202A_206C_206A_206D_202A_206D_206C_200F_202A_206C_200B_200E_206B_202A_206C_200F_202E_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1516319089), new object[2] { gatheringRequest.ItemId, gatheringRequest.GatheringPointId }); - return false; - case 2: - _currentRequest = null; - return false; - case 3: - num = -1189096752; - break; - case 4: - return true; - } + _logger.LogError("Unable to resolve gathering point, no path found for {ItemId} / point {PointId}", gatheringRequest.ItemId, gatheringRequest.GatheringPointId); + return false; } + _currentRequest = new CurrentRequest + { + Data = gatheringRequest, + Root = gatheringRoot, + Nodes = gatheringRoot.Groups.SelectMany((GatheringNodeGroup x) => x.Nodes.OrderBy((GatheringNode y) => y.Locations.Count)).ToList() + }; + _movementFailureCount = 0; + if (HasRequestedItems()) + { + _currentRequest = null; + return false; + } + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public EStatus Update() { - int num = ((_currentRequest != null) ? 227045222 : 227045219); - while (true) + if (_currentRequest == null) { - int num2 = num; - int num3 = 227045217; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - GoToNextNode(); - num = 227045225; - break; - case 4: - return EStatus.Moving; - case 6: - Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(46307754)); - return EStatus.Complete; - case 5: - num = ((!_movementController.IsPathRunning) ? 227045217 : 227045221); - break; - case 2: - Stop(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(1108669296)); - return EStatus.Complete; - case 9: - num = (_202A_200D_200B_206D_202D_206E_200E_202C_206D_206C_206F_200F_200D_202D_202E_202D_202B_206A_206F_202A_202E_202C_206F_200B_206D_200B_206E_200B_206F_200D_202C_202C_206C_200F_206C_206D_206C_202A_200F_206D_202E(_condition, ConditionFlag.Gathering) ? 227045218 : 227045223); - break; - case 3: - num = ((!_taskQueue.AllTasksComplete) ? 227045225 : 227045216); - break; - case 10: - num = 227045219; - break; - case 0: - num = ((!HasRequestedItems()) ? 227045218 : 227045224); - break; - case 8: - UpdateCurrentTask(); - return EStatus.Gathering; - case 7: - num = (_movementController.IsPathfinding ? 227045221 : 227045220); - break; - } + Stop("No request"); + return EStatus.Complete; } + if (_movementController.IsPathfinding || _movementController.IsPathRunning) + { + return EStatus.Moving; + } + if (HasRequestedItems() && !_condition[ConditionFlag.Gathering]) + { + Stop("Has all items"); + return EStatus.Complete; + } + if (_taskQueue.AllTasksComplete) + { + GoToNextNode(); + } + UpdateCurrentTask(); + return EStatus.Gathering; } protected override void OnTaskComplete(ITask task) { - int num = ((!(task is DoGather.Task)) ? 1397108557 : 1397108556); - while (true) + if (task is DoGather.Task) { - int num2 = num; - int num3 = 1397108557; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - GoToNextNode(); - return; - case 1: - ResetStepRetryCounter(); - _movementFailureCount = 0; - num = 1397108557; - break; - case 2: - num = 1397108556; - break; - } + ResetStepRetryCounter(); + _movementFailureCount = 0; } + GoToNextNode(); } - [MethodImpl(MethodImplOptions.NoInlining)] protected override void OnRetryStep() { - _200D_200D_202D_202E_206F_202C_206B_202E_206C_206A_200B_206B_200D_202D_202C_202A_202D_206C_206F_200C_206C_206F_206D_202A_200E_206F_206E_202A_206A_202D_206B_202D_206A_200F_202B_206C_202E_202C_202E_202C_202E((ILogger)_logger, 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(-825765376), Array.Empty()); + _logger.LogInformation("Retrying gathering from the next targetable node"); } - [MethodImpl(MethodImplOptions.NoInlining)] public void Replan() { - int num = ((_currentRequest != null) ? 377740259 : 377740256); - while (true) + if (_currentRequest != null) { - int num2 = num; - int num3 = 377740257; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0046; - case 1: - return; - case 2: - _200D_200D_202D_202E_206F_202C_206B_202E_206C_206A_200B_206B_200D_202D_202C_202A_202D_206C_206F_200C_206C_206F_206D_202A_200E_206F_206E_202A_206A_202D_206B_202D_206A_200F_202B_206C_202E_202C_202E_202C_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2049839790), new object[1] { _currentRequest.Data.GatheringPointId }); - _taskQueue.Reset(); - return; - } - continue; - IL_0046: - num = 377740256; + _logger.LogInformation("Re-planning gathering for point {PointId}", _currentRequest.Data.GatheringPointId); + _taskQueue.Reset(); } } - [MethodImpl(MethodImplOptions.NoInlining)] public bool TryReplanAfterMovementFailure() { - int num = ((_currentRequest != null) ? 1767425441 : 1767425444); - MoveTask moveTask = default(MoveTask); - while (true) + if (_currentRequest == null) { - int num2 = num; - int num3 = 1767425445; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 9: - num = 1767425444; - break; - case 3: - num = ((moveTask.InteractionType != EInteractionType.WalkTo) ? 1767425453 : 1767425447); - break; - case 10: - moveTask = _taskQueue.CurrentTaskExecutor?.CurrentTask as MoveTask; - num = (((object)moveTask == null) ? 1767425453 : 1767425446); - break; - case 5: - num = ((!moveTask.Fly) ? 1767425453 : 1767425442); - break; - case 2: - num = (moveTask.DataId.HasValue ? 1767425453 : 1767425440); - break; - case 4: - { - int movementFailureCount = _movementFailureCount; - num3 = 1; - num4 = movementFailureCount; - _movementFailureCount = (num4 | num3) + (num4 & num3); - num = ((_movementFailureCount <= _configuration.Advanced.InteractionRetryLimit) ? 1767425455 : 1767425445); - break; - } - case 1: - return false; - case 8: - _200D_200D_202D_202E_206F_202C_206B_202E_206C_206A_200B_206B_200D_202D_202C_202A_202D_206C_206F_200C_206C_206F_206D_202A_200E_206F_206E_202A_206A_202D_206B_202D_206A_200F_202B_206C_202E_202C_202E_202C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-93536990), new object[2] - { - _movementFailureCount, - _configuration.Advanced.InteractionRetryLimit - }); - Replan(); - return true; - case 6: - { - List list = _taskQueue.RemainingTasks.ToList(); - MoveTask moveTask2 = moveTask._003CClone_003E_0024(); - Vector3 destination = moveTask.Destination; - destination.Y = moveTask.Destination.Y + 30f; - moveTask2.Destination = destination; - moveTask2.DisableNavmesh = true; - MoveTask moveTask3 = moveTask2; - _200D_200D_202D_202E_206F_202C_206B_202E_206C_206A_200B_206B_200D_202D_202C_202A_202D_206C_206F_200C_206C_206F_206D_202A_200E_206F_206E_202A_206A_202D_206B_202D_206A_200F_202B_206C_202E_202C_202E_202C_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-782340659), Array.Empty()); - _taskQueue.Reset(); - TaskQueue taskQueue = _taskQueue; - ITask task = moveTask3; - List list2 = list; - int num7 = 0; - ITask[] array = new ITask[1 + list2.Count]; - array[num7] = task; - int num8 = num7; - num3 = 1; - num4 = num8; - num7 = (num4 | num3) + (num4 & num3); - Span span = CollectionsMarshal.AsSpan(list2); - span.CopyTo(new Span(array).Slice(num7, span.Length)); - num7 += span.Length; - taskQueue.EnqueueAll(new global::_003C_003Ez__ReadOnlyArray(array)); - return true; - } - case 7: - num = (moveTask.DisableNavmesh ? 1767425453 : 1767425443); - break; - case 0: - _206B_206D_206C_202E_202D_206A_200E_202B_200C_206F_202C_206B_206E_206F_206C_206D_202C_206F_202E_200F_202A_202C_202A_202A_206C_206A_206D_202A_206D_206C_200F_202A_206C_200B_200E_206B_202A_206C_200F_202E_202E((ILogger)_logger, 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(-1015868468), new object[1] { _movementFailureCount }); - return false; - } + return false; } + _movementFailureCount++; + if (_movementFailureCount > _configuration.Advanced.InteractionRetryLimit) + { + _logger.LogError("Gathering movement retry limit exceeded after {Count} failures", _movementFailureCount); + return false; + } + if (_taskQueue.CurrentTaskExecutor?.CurrentTask is MoveTask { InteractionType: EInteractionType.WalkTo, DataId: null, Fly: not false, DisableNavmesh: false } moveTask) + { + List list = _taskQueue.RemainingTasks.ToList(); + MoveTask moveTask2 = moveTask._003CClone_003E_0024(); + Vector3 destination = moveTask.Destination; + destination.Y = moveTask.Destination.Y + 30f; + moveTask2.Destination = destination; + moveTask2.DisableNavmesh = true; + MoveTask moveTask3 = moveTask2; + _logger.LogInformation("Navmesh could not reach the gathering cluster; retrying the broad approach as a direct flight"); + _taskQueue.Reset(); + TaskQueue taskQueue = _taskQueue; + ITask task = moveTask3; + List list2 = list; + int num = 0; + ITask[] array = new ITask[1 + list2.Count]; + array[num] = task; + num++; + Span span = CollectionsMarshal.AsSpan(list2); + span.CopyTo(new Span(array).Slice(num, span.Length)); + num += span.Length; + taskQueue.EnqueueAll(new global::_003C_003Ez__ReadOnlyArray(array)); + return true; + } + _logger.LogInformation("Gathering movement failed, selecting another active node (attempt {Count}/{Limit})", _movementFailureCount, _configuration.Advanced.InteractionRetryLimit); + Replan(); + return true; } public override void Stop(string label) @@ -749,474 +204,128 @@ internal sealed class GatheringController : MiniTaskController list = _200B_206C_200C_206C_202E_206F_206A_200C_206D_202C_202C_202C_200F_200C_202C_202C_202C_202B_206B_206B_206E_200C_202D_200D_202B_202C_206D_206E_200E_200D_202E_206D_206D_206A_202B_200F_200D_206D_206F_202E_202E(_currentRequest.Root); - num7 = _202A_202A_200B_202A_206A_202D_206F_206C_200B_206D_206E_206A_200E_202B_200B_200D_202A_202D_200F_200E_200E_202B_202E_200E_206B_202B_200F_206D_206D_206C_202E_206D_200E_202C_206F_206B_200E_202D_206E_206A_202E(list[list.Count - 1]); - bool? flag2 = _200D_206D_206E_202C_202B_200E_200C_202E_202D_202C_200E_206B_206D_202B_202A_202C_202E_206F_206E_202E_200D_200E_206B_202B_202D_206D_202A_200F_202E_202E_206F_206E_206D_206E_202D_202B_206B_200E_202B_206F_202E(gatheringNode); - bool? flag3 = _200D_206E_206C_206C_200B_202C_206D_200E_206D_202B_206F_202A_202D_202A_200C_200B_200B_200B_206C_202C_202E_206A_206D_200C_206A_206E_200B_206E_202E_206F_206B_206B_202D_200B_202C_202C_206A_206B_206B_202D_202E(_currentRequest.Root); - num = ((!(flag2 ?? flag3 ?? true)) ? (-102617636) : (-102617635)); - break; - } - case 1: - { - Vector3 value = vector.Value; - value.Y = vector.Value.Y + (flag ? 3f : 0f); - vector = value; - num = -102617647; - break; - } - case 13: - num = ((_200D_206C_206C_202A_200D_202D_202E_200C_206B_200E_202C_200D_202D_206B_200C_202B_202D_206D_202A_202C_200B_200E_206F_206E_200B_202B_206A_206E_206C_202D_206D_200C_200E_200E_202C_206D_202A_202E_206C_202B_202E(gatheringNode).Count != 0) ? (-102617646) : (-102617642)); - break; - case 2: - vector2 = new Vector3 - { - X = _200D_206C_206C_202A_200D_202D_202E_200C_206B_200E_202C_200D_202D_206B_200C_202B_202D_206D_202A_202C_200B_200E_206F_206E_200B_202B_206A_206E_206C_202D_206D_200C_200E_200E_202C_206D_202A_202E_206C_202B_202E(gatheringNode).Sum((GatheringLocation x) => _003C_003Ec._206A_206E_202B_200E_202A_202C_202A_206B_206B_200B_206E_202E_200D_202C_202D_202A_202E_206E_200D_200B_206A_200D_202B_206E_200E_202C_202C_206A_202E_200F_200B_200E_202E_200B_200C_206D_200E_202B_202D_202D_202E(x).X) / (float)_200D_206C_206C_202A_200D_202D_202E_200C_206B_200E_202C_200D_202D_206B_200C_202B_202D_206D_202A_202C_200B_200E_206F_206E_200B_202B_206A_206E_206C_202D_206D_200C_200E_200E_202C_206D_202A_202E_206C_202B_202E(gatheringNode).Count, - Y = _202C_206D_200E_200D_202D_206C_206C_200E_202C_206C_202B_206D_200D_206E_206B_200D_202D_200F_200C_206D_206A_206C_202A_200F_202E_202D_202A_206E_206B_200E_202E_206E_202D_206F_200F_202E_206B_206A_206D_202D_202E(from x in _200D_206C_206C_202A_200D_202D_202E_200C_206B_200E_202C_200D_202D_206B_200C_202B_202D_206D_202A_202C_200B_200E_206F_206E_200B_202B_206A_206E_206C_202D_206D_200C_200E_200E_202C_206D_202A_202E_206C_202B_202E(gatheringNode) - select _003C_003Ec._206A_206E_202B_200E_202A_202C_202A_206B_206B_200B_206E_202E_200D_202C_202D_202A_202E_206E_200D_200B_206A_200D_202B_206E_200E_202C_202C_206A_202E_200F_200B_200E_202E_200B_200C_206D_200E_202B_202D_202D_202E(x).Y) + 5f, - Z = _200D_206C_206C_202A_200D_202D_202E_200C_206B_200E_202C_200D_202D_206B_200C_202B_202D_206D_202A_202C_200B_200E_206F_206E_200B_202B_206A_206E_206C_202D_206D_200C_200E_200E_202C_206D_202A_202E_206C_202B_202E(gatheringNode).Sum((GatheringLocation x) => _003C_003Ec._206A_206E_202B_200E_202A_202C_202A_206B_206B_200B_206E_202E_200D_202C_202D_202A_202E_206E_200D_200B_206A_200D_202B_206E_200E_202C_202C_206A_202E_200F_200B_200E_202E_200B_200C_206D_200E_202B_202D_202D_202E(x).Z) / (float)_200D_206C_206C_202A_200D_202D_202E_200C_206B_200E_202C_200D_202D_206B_200C_202B_202D_206D_202A_202C_200B_200E_206F_206E_200B_202B_206A_206E_206C_202D_206D_200C_200E_200E_202C_206D_202A_202E_206C_202B_202E(gatheringNode).Count - }; - vector = _navmeshIpc.GetPointOnFloor(vector2, unlandable: true); - num = ((!vector.HasValue) ? (-102617647) : (-102617639)); - break; - case 14: - Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(631347653)); - return; - case 4: - num8 = 0; - goto IL_02d9; - case 6: - return; - case 12: - num = (_taskQueue.AllTasksComplete ? (-102617648) : (-102617633)); - break; - case 5: - num8 = (_gameFunctions.IsFlyingUnlocked(num7) ? 1 : 0); - goto IL_02d9; - case 11: - return; - case 15: - _taskQueue.Enqueue(new MoveToLandingLocation.Task(num7, flag, gatheringNode)); - _taskQueue.Enqueue(new Questionable.Controller.Steps.Common.Mount.UnmountTask()); - _taskQueue.Enqueue(new Interact.Task(_206A_200D_206D_206B_202C_200E_202A_200E_202C_200F_202A_206E_202D_206F_206E_206C_206B_200C_206B_202D_202A_202D_206D_202B_200E_206F_206B_206A_200B_206C_206F_200E_200E_200C_206B_202A_202A_202C_202E_206D_202E(gatheringNode), null, EInteractionType.Gather, SkipMarkerCheck: true)); - QueueGatherNode(gatheringNode); - return; - case 9: - { - TaskQueue taskQueue = _taskQueue; - ushort territoryId = num7; - Vector3 destination = vector ?? vector2; - float? stopDistance = 50f; - bool fly = flag; - taskQueue.Enqueue(new MoveTask(territoryId, destination, null, MountRequired: false, DismountRequired: false, stopDistance, null, DisableNavmesh: false, null, fly, Land: false, IgnoreDistanceToObject: true, RestartNavigation: true, EInteractionType.WalkTo)); - num = -102617641; - break; - } - IL_02d9: - flag = (byte)num8 != 0; - num = ((_200D_206C_206C_202A_200D_202D_202E_200C_206B_200E_202C_200D_202D_206B_200C_202B_202D_206D_202A_202C_200B_200E_206F_206E_200B_202B_206A_206E_206C_202D_206D_200C_200E_200E_202C_206D_202A_202E_206C_202B_202E(gatheringNode).Count <= 1) ? (-102617641) : (-102617638)); - break; - } + return; } + GatheringNode gatheringNode = FindNextTargetableNodeAndUpdateIndex(_currentRequest); + if (gatheringNode == null) + { + return; + } + if (_currentRequest.Root.Steps.Count == 0 || gatheringNode.Locations.Count == 0) + { + Stop("Empty gathering plan"); + return; + } + List steps = _currentRequest.Root.Steps; + ushort territoryId = steps[steps.Count - 1].TerritoryId; + bool? fly = gatheringNode.Fly; + bool? flyBetweenNodes = _currentRequest.Root.FlyBetweenNodes; + bool flag = (fly ?? flyBetweenNodes ?? true) && _gameFunctions.IsFlyingUnlocked(territoryId); + if (gatheringNode.Locations.Count > 1) + { + Vector3 vector = new Vector3 + { + X = gatheringNode.Locations.Sum((GatheringLocation x) => x.Position.X) / (float)gatheringNode.Locations.Count, + Y = gatheringNode.Locations.Select((GatheringLocation x) => x.Position.Y).Max() + 5f, + Z = gatheringNode.Locations.Sum((GatheringLocation x) => x.Position.Z) / (float)gatheringNode.Locations.Count + }; + Vector3? vector2 = _navmeshIpc.GetPointOnFloor(vector, unlandable: true); + if (vector2.HasValue) + { + Vector3 value = vector2.Value; + value.Y = vector2.Value.Y + (flag ? 3f : 0f); + vector2 = value; + } + TaskQueue taskQueue = _taskQueue; + Vector3 destination = vector2 ?? vector; + float? stopDistance = 50f; + bool fly2 = flag; + taskQueue.Enqueue(new MoveTask(territoryId, destination, null, MountRequired: false, DismountRequired: false, stopDistance, null, DisableNavmesh: false, null, fly2, Land: false, IgnoreDistanceToObject: true, RestartNavigation: true, EInteractionType.WalkTo)); + } + _taskQueue.Enqueue(new MoveToLandingLocation.Task(territoryId, flag, gatheringNode)); + _taskQueue.Enqueue(new Questionable.Controller.Steps.Common.Mount.UnmountTask()); + _taskQueue.Enqueue(new Interact.Task(gatheringNode.DataId, null, EInteractionType.Gather, SkipMarkerCheck: true)); + QueueGatherNode(gatheringNode); } private void QueueGatherNode(GatheringNode currentNode) { bool[] array = new bool[2] { false, true }; - int num = 0; - int num2 = -107652498; - bool revisitRequired = default(bool); - while (true) + foreach (bool revisitRequired in array) { - int num3 = num2; - int num4 = -107652501; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) + _taskQueue.Enqueue(new DoGather.Task(_currentRequest.Data, currentNode, revisitRequired)); + if (_currentRequest.Data.Collectability > 0) { - case 1: _taskQueue.Enqueue(new DoGatherCollectable.Task(_currentRequest.Data, currentNode, revisitRequired)); - num2 = -107652497; - break; - case 4: - { - int num8 = num; - num4 = 1; - num5 = num8; - int num9 = num5 ^ num4; - int num10 = num5 & num4; - num = num9 + (num10 + num10); - num2 = -107652498; - break; - } - case 0: - num2 = -107652498; - break; - case 2: - revisitRequired = array[num]; - _taskQueue.Enqueue(new DoGather.Task(_currentRequest.Data, currentNode, revisitRequired)); - num2 = ((_currentRequest.Data.Collectability <= 0) ? (-107652497) : (-107652502)); - break; - case 5: - num2 = ((num < array.Length) ? (-107652503) : (-107652504)); - break; - case 3: - return; } } } public unsafe bool HasRequestedItems() { - int num = ((_currentRequest != null) ? 1376510250 : 1376510251); - InventoryManager* ptr = default(InventoryManager*); - while (true) + if (_currentRequest == null) { - int num2 = num; - int num3 = 1376510250; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - ptr = InventoryManager.Instance(); - num = ((ptr != null) ? 1376510254 : 1376510249); - break; - case 3: - return false; - case 4: - return ptr->GetInventoryItemCount(_currentRequest.Data.ItemId, isHq: false, checkEquipped: true, checkArmory: true, (short)_currentRequest.Data.Collectability) >= _currentRequest.Data.Quantity; - case 1: - return true; - case 2: - num = 1376510251; - break; - } + return true; } + InventoryManager* ptr = InventoryManager.Instance(); + if (ptr == null) + { + return false; + } + return ptr->GetInventoryItemCount(_currentRequest.Data.ItemId, isHq: false, checkEquipped: true, checkArmory: true, (short)_currentRequest.Data.Collectability) >= _currentRequest.Data.Quantity; } public bool HasNodeDisappeared(GatheringNode node) { - return !_objectTable.Any(delegate(IGameObject x) - { - int num = ((_003C_003Ec__DisplayClass25_0._206F_206D_206B_202C_206B_206F_200D_206C_206A_202D_206A_202D_200F_200C_206D_206F_202C_200C_206F_206F_206A_206B_200C_206F_206A_200C_202C_200E_206E_200B_202A_202D_202A_200D_200D_202A_200E_206B_202E_202B_202E(x) != ObjectKind.GatheringPoint) ? 1567152944 : 1567152945); - while (true) - { - int num2 = num; - int num3 = 1567152944; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 1567152945; - break; - case 0: - return false; - case 1: - num = ((!_003C_003Ec__DisplayClass25_0._200F_202A_202C_202D_206B_206D_206B_206B_200E_206B_206A_206E_202D_206F_206E_202E_202A_202E_202D_200D_206B_206C_202B_206A_200E_202A_206B_206A_200F_206B_206D_206F_202B_202D_206E_206C_200D_200E_202E_200C_202E(x)) ? 1567152944 : 1567152947); - break; - case 3: - return _003C_003Ec__DisplayClass25_0._202A_206D_200D_206E_206C_206C_202A_206B_200B_206F_200F_200F_202A_202D_206C_206B_200B_206C_200F_200E_202B_200E_206C_206F_206A_206C_200C_200D_202B_200F_200B_206D_206D_202C_206F_202C_206E_200C_200E_200F_202E(x) == _003C_003Ec__DisplayClass25_0._202C_202D_200D_202B_206D_200D_206B_206F_202A_200B_206E_206A_202E_206C_206C_200D_202E_200F_202C_206E_200D_202B_200E_202B_206D_202B_206C_206B_200C_200B_200D_206C_206E_206C_202D_206A_200F_206E_202D_202C_202E(node); - } - } - }); + return !_objectTable.Any((IGameObject x) => x.ObjectKind == ObjectKind.GatheringPoint && x.IsTargetable && x.BaseId == node.DataId); } private GatheringNode? FindNextTargetableNodeAndUpdateIndex(CurrentRequest currentRequest) { - int num = 0; - int num2 = 1101437805; - int num7 = default(int); - _003C_003Ec__DisplayClass26_0 _003C_003Ec__DisplayClass26_2 = default(_003C_003Ec__DisplayClass26_0); - int num14 = default(int); - _003C_003Ec__DisplayClass26_1 _003C_003Ec__DisplayClass26_ = default(_003C_003Ec__DisplayClass26_1); - int num9 = default(int); - while (true) + for (int i = 0; i < currentRequest.Nodes.Count; i++) { - int num3 = num2; - int num4 = 1101437799; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + int num = (currentRequest.CurrentIndex + i) % currentRequest.Nodes.Count; + GatheringNode currentNode = currentRequest.Nodes[num]; + if (_objectTable.Any((IGameObject x) => x.ObjectKind == ObjectKind.GatheringPoint && x.BaseId == currentNode.DataId && x.IsTargetable)) { - case 2: - num2 = 1101437805; - break; - case 9: - return null; - case 7: - num2 = ((num7 < currentRequest.Nodes.Count) ? 1101437795 : 1101437806); - break; - case 1: - _003C_003Ec__DisplayClass26_2 = new _003C_003Ec__DisplayClass26_0(); - num14 = (currentRequest.CurrentIndex + num) % currentRequest.Nodes.Count; - _003C_003Ec__DisplayClass26_2.currentNode = currentRequest.Nodes[num14]; - num2 = ((!_objectTable.Any(_003C_003Ec__DisplayClass26_2._003CFindNextTargetableNodeAndUpdateIndex_003Eb__0)) ? 1101437793 : 1101437796); - break; - case 6: - { - int num10 = num; - num4 = 1; - num5 = num10; - int num11 = num5 ^ num4; - int num12 = num5 & num4; - num = num11 + (num12 + num12); - num2 = 1101437805; - break; - } - case 3: - { - int num13 = num14; - num4 = 1; - num5 = num13; - currentRequest.CurrentIndex = ((num5 | num4) + (num5 & num4)) % currentRequest.Nodes.Count; - return _003C_003Ec__DisplayClass26_2.currentNode; - } - case 5: - num7 = 0; - num2 = 1101437792; - break; - case 10: - num2 = ((num < currentRequest.Nodes.Count) ? 1101437798 : 1101437794); - break; - case 4: - _003C_003Ec__DisplayClass26_ = new _003C_003Ec__DisplayClass26_1(); - _003C_003Ec__DisplayClass26_._003C_003E4__this = this; - num9 = (currentRequest.CurrentIndex + num7) % currentRequest.Nodes.Count; - _003C_003Ec__DisplayClass26_.currentNode = currentRequest.Nodes[num9]; - num2 = ((!_200D_206C_206C_202A_200D_202D_202E_200C_206B_200E_202C_200D_202D_206B_200C_202B_202D_206D_202A_202C_200B_200E_206F_206E_200B_202B_206A_206E_206C_202D_206D_200C_200E_200E_202C_206D_202A_202E_206C_202B_202E(_003C_003Ec__DisplayClass26_.currentNode).Select(_003C_003Ec__DisplayClass26_._003CFindNextTargetableNodeAndUpdateIndex_003Eb__1).ToList().Any((IGameObject x) => x == null)) ? 1101437799 : 1101437807); - break; - case 8: - { - int num8 = num9; - num4 = 1; - num5 = num8; - currentRequest.CurrentIndex = ((num5 | num4) + (num5 & num4)) % currentRequest.Nodes.Count; - return _003C_003Ec__DisplayClass26_.currentNode; - } - case 0: - { - int num6 = num7; - num4 = 1; - num5 = num6; - num7 = (num5 | num4) + (num5 & num4); - num2 = 1101437792; - break; - } + currentRequest.CurrentIndex = (num + 1) % currentRequest.Nodes.Count; + return currentNode; } } + for (int num2 = 0; num2 < currentRequest.Nodes.Count; num2++) + { + int num3 = (currentRequest.CurrentIndex + num2) % currentRequest.Nodes.Count; + GatheringNode currentNode2 = currentRequest.Nodes[num3]; + if (currentNode2.Locations.Select((GatheringLocation x) => _objectTable.FirstOrDefault((IGameObject y) => currentNode2.DataId == y.BaseId && Vector3.Distance(x.Position, y.Position) < 0.1f)).ToList().Any((IGameObject x) => x == null)) + { + currentRequest.CurrentIndex = (num3 + 1) % currentRequest.Nodes.Count; + return currentNode2; + } + } + return null; } - [MethodImpl(MethodImplOptions.NoInlining)] public void OnNormalToast(SeString message) { - if (!_206C_202B_200F_206E_202D_206C_206B_200D_200C_206D_206F_206A_206D_200C_202E_200F_206F_202A_200D_206F_206A_202B_206E_202D_202E_200E_206D_206D_200B_206D_202E_206A_202C_206A_200C_200C_206C_206D_200C_202E_202E(_revisitRegex, _206D_206D_202E_206A_206C_206C_206F_200C_200C_206D_206A_202D_202A_200B_202E_206C_202C_206F_202B_202B_206D_200E_206D_200F_206E_206B_206E_202E_200D_206F_206E_202D_202C_202E_202B_202B_202B_200D_200F_206B_202E(message))) + if (!_revisitRegex.IsMatch(message.TextValue)) { return; } - int num = -1389255310; - IRevisitAware revisitAware2 = default(IRevisitAware); - IRevisitAware revisitAware = default(IRevisitAware); - while (true) + _logger.LogDebug("Revisit triggered for the current gathering node"); + if (_taskQueue.CurrentTaskExecutor?.CurrentTask is IRevisitAware revisitAware) { - int num2 = num; - int num3 = -1389255312; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + revisitAware.OnRevisit(); + } + foreach (ITask remainingTask in _taskQueue.RemainingTasks) + { + if (remainingTask is IRevisitAware revisitAware2) { - case 0: - num = -1389255310; - break; - case 1: revisitAware2.OnRevisit(); - num = -1389255309; - break; - case 2: - _200F_200D_200D_206D_202A_206F_200E_202C_206A_206A_200D_202E_202E_200D_200C_206E_200E_200C_202B_202C_200D_200B_202E_200C_206F_206E_202B_206B_206F_206A_202E_206D_206F_206E_206B_202E_206D_202E_202B_206F_202E((ILogger)_logger, 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(1337892205), Array.Empty()); - revisitAware2 = _taskQueue.CurrentTaskExecutor?.CurrentTask as IRevisitAware; - num = ((revisitAware2 == null) ? (-1389255309) : (-1389255311)); - break; - case 3: - { - IEnumerator enumerator = _taskQueue.RemainingTasks.GetEnumerator(); - try - { - num = 1175940356; - while (true) - { - int num5 = num; - num3 = 1175940356; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 3: - num = 1175940356; - break; - case 4: - revisitAware.OnRevisit(); - num = 1175940356; - break; - case 2: - revisitAware = enumerator.Current as IRevisitAware; - num = ((revisitAware == null) ? 1175940356 : 1175940352); - break; - case 0: - num = (_200D_206A_202B_202E_202E_200B_206B_202B_206C_206C_200F_206A_206A_202E_202D_206D_206B_200C_200C_206E_206E_206A_206C_206B_206D_206C_200D_200D_206C_206D_200E_206C_200B_200B_202B_206A_200C_200F_200D_206D_202E((IEnumerator)enumerator) ? 1175940358 : 1175940357); - break; - case 1: - return; - } - } - } - finally - { - num = ((enumerator == null) ? (-1139545443) : (-1139545442)); - while (true) - { - int num8 = num; - num3 = -1139545444; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 0: - num = -1139545442; - break; - case 2: - _200C_200C_206F_206D_206E_206F_202D_202A_206A_206F_202C_206C_206E_202E_202B_206D_206E_206D_206B_200D_206D_202A_200F_200D_206F_200F_202C_206F_202D_202A_206E_200C_200D_202C_206D_200F_206E_200F_206C_200E_202E((IDisposable)enumerator); - num = -1139545443; - break; - case 1: - goto end_IL_019c; - } - continue; - end_IL_019c: - break; - } - } - } } } } - - static InvalidDataException _202B_206A_206F_200C_206A_202C_206F_200F_206E_200C_206E_206F_200E_200C_202B_200B_200B_206C_200C_200C_200C_206A_206B_200D_202B_206E_206F_200E_206D_206F_206C_200C_200F_200F_200C_202A_200F_200F_200D_202D_202E(string P_0) - { - return new InvalidDataException(P_0); - } - - static void _206B_206D_206C_202E_202D_206A_200E_202B_200C_206F_202C_206B_206E_206F_206C_206D_202C_206F_202E_200F_202A_202C_202A_202A_206C_206A_206D_202A_206D_206C_200F_202A_206C_200B_200E_206B_202A_206C_200F_202E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogError(P_1, P_2); - } - - static List _202E_206E_206C_200C_200B_206C_200B_202C_206C_200D_206A_206B_206C_206A_200E_206E_206A_200B_206D_200B_200E_202A_202B_206D_206E_206F_202A_200F_200B_206B_206B_202E_200E_200C_206F_200B_202E_202C_200E_200D_202E(GatheringRoot P_0) - { - return P_0.Groups; - } - - static bool _202A_200D_200B_206D_202D_206E_200E_202C_206D_206C_206F_200F_200D_202D_202E_202D_202B_206A_206F_202A_202E_202C_206F_200B_206D_200B_206E_200B_206F_200D_202C_202C_206C_200F_206C_206D_206C_202A_200F_206D_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static void _200D_200D_202D_202E_206F_202C_206B_202E_206C_206A_200B_206B_200D_202D_202C_202A_202D_206C_206F_200C_206C_206F_206D_202A_200E_206F_206E_202A_206A_202D_206B_202D_206A_200F_202B_206C_202E_202C_202E_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static List _200B_206C_200C_206C_202E_206F_206A_200C_206D_202C_202C_202C_200F_200C_202C_202C_202C_202B_206B_206B_206E_200C_202D_200D_202B_202C_206D_206E_200E_200D_202E_206D_206D_206A_202B_200F_200D_206D_206F_202E_202E(GatheringRoot P_0) - { - return P_0.Steps; - } - - static List _200D_206C_206C_202A_200D_202D_202E_200C_206B_200E_202C_200D_202D_206B_200C_202B_202D_206D_202A_202C_200B_200E_206F_206E_200B_202B_206A_206E_206C_202D_206D_200C_200E_200E_202C_206D_202A_202E_206C_202B_202E(GatheringNode P_0) - { - return P_0.Locations; - } - - static ushort _202A_202A_200B_202A_206A_202D_206F_206C_200B_206D_206E_206A_200E_202B_200B_200D_202A_202D_200F_200E_200E_202B_202E_200E_206B_202B_200F_206D_206D_206C_202E_206D_200E_202C_206F_206B_200E_202D_206E_206A_202E(QuestStep P_0) - { - return P_0.TerritoryId; - } - - static bool? _200D_206D_206E_202C_202B_200E_200C_202E_202D_202C_200E_206B_206D_202B_202A_202C_202E_206F_206E_202E_200D_200E_206B_202B_202D_206D_202A_200F_202E_202E_206F_206E_206D_206E_202D_202B_206B_200E_202B_206F_202E(GatheringNode P_0) - { - return P_0.Fly; - } - - static bool? _200D_206E_206C_206C_200B_202C_206D_200E_206D_202B_206F_202A_202D_202A_200C_200B_200B_200B_206C_202C_202E_206A_206D_200C_206A_206E_200B_206E_202E_206F_206B_206B_202D_200B_202C_202C_206A_206B_206B_202D_202E(GatheringRoot P_0) - { - return P_0.FlyBetweenNodes; - } - - static float _202C_206D_200E_200D_202D_206C_206C_200E_202C_206C_202B_206D_200D_206E_206B_200D_202D_200F_200C_206D_206A_206C_202A_200F_202E_202D_202A_206E_206B_200E_202E_206E_202D_206F_200F_202E_206B_206A_206D_202D_202E(IEnumerable P_0) - { - return P_0.Max(); - } - - static uint _206A_200D_206D_206B_202C_200E_202A_200E_202C_200F_202A_206E_202D_206F_206E_206C_206B_200C_206B_202D_202A_202D_206D_202B_200E_206F_206B_206A_200B_206C_206F_200E_200E_200C_206B_202A_202A_202C_202E_206D_202E(GatheringNode P_0) - { - return P_0.DataId; - } - - static string _206D_206D_202E_206A_206C_206C_206F_200C_200C_206D_206A_202D_202A_200B_202E_206C_202C_206F_202B_202B_206D_200E_206D_200F_206E_206B_206E_202E_200D_206F_206E_202D_202C_202E_202B_202B_202B_200D_200F_206B_202E(SeString P_0) - { - return P_0.TextValue; - } - - static bool _206C_202B_200F_206E_202D_206C_206B_200D_200C_206D_206F_206A_206D_200C_202E_200F_206F_202A_200D_206F_206A_202B_206E_202D_202E_200E_206D_206D_200B_206D_202E_206A_202C_206A_200C_200C_206C_206D_200C_202E_202E(Regex P_0, string P_1) - { - return P_0.IsMatch(P_1); - } - - static void _200F_200D_200D_206D_202A_206F_200E_202C_206A_206A_200D_202E_202E_200D_200C_206E_200E_200C_202B_202C_200D_200B_202E_200C_206F_206E_202B_206B_206F_206A_202E_206D_206F_206E_206B_202E_206D_202E_202B_206F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _200D_206A_202B_202E_202E_200B_206B_202B_206C_206C_200F_206A_206A_202E_202D_206D_206B_200C_200C_206E_206E_206A_206C_206B_206D_206C_200D_200D_206C_206D_200E_206C_200B_200B_202B_206A_200C_200F_200D_206D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200C_200C_206F_206D_206E_206F_202D_202A_206A_206F_202C_206C_206E_202E_202B_206D_206E_206D_206B_200D_206D_202A_200F_200D_206F_200F_202C_206F_202D_202A_206E_200C_200D_202C_206D_200F_206E_200F_206C_200E_202E(IDisposable P_0) - { - P_0.Dispose(); - } } diff --git a/Questionable/Questionable.Controller/GatheringPointRegistry.cs b/Questionable/Questionable.Controller/GatheringPointRegistry.cs index 18f4f4d..3277e08 100644 --- a/Questionable/Questionable.Controller/GatheringPointRegistry.cs +++ b/Questionable/Questionable.Controller/GatheringPointRegistry.cs @@ -1,13 +1,11 @@ #define RELEASE using System; -using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.IO; using System.Linq; -using System.Runtime.CompilerServices; using System.Text.Json; using System.Text.Json.Nodes; using Dalamud.Plugin; @@ -24,39 +22,6 @@ namespace Questionable.Controller; internal sealed class GatheringPointRegistry { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass16_0 - { - public uint itemId; - - public GatheringPointRegistry _003C_003E4__this; - - internal bool _003CTryGetGatheringPointId_003Eb__0(KeyValuePair x) - { - return _202A_202A_200D_206A_200E_202D_206E_206A_202A_200F_206D_200F_206C_206A_200B_202B_206A_202A_206F_200B_200D_206A_200E_200F_202A_200C_200E_200F_202C_200B_206C_200B_202C_200C_200B_206C_206F_206E_200F_200C_202E(x.Value).Contains(itemId); - } - - internal bool _003CTryGetGatheringPointId_003Eb__2(GatheringPointId x) - { - return _003C_003E4__this._gatheringData.MinerGatheringPoints.Contains(x); - } - - internal bool _003CTryGetGatheringPointId_003Eb__3(KeyValuePair x) - { - return _202A_202A_200D_206A_200E_202D_206E_206A_202A_200F_206D_200F_206C_206A_200B_202B_206A_202A_206F_200B_200D_206A_200E_200F_202A_200C_200E_200F_202C_200B_206C_200B_202C_200C_200B_206C_206F_206E_200F_200C_202E(x.Value).Contains(itemId); - } - - internal bool _003CTryGetGatheringPointId_003Eb__5(GatheringPointId x) - { - return _003C_003E4__this._gatheringData.BotanistGatheringPoints.Contains(x); - } - - static List _202A_202A_200D_206A_200E_202D_206E_206A_202A_200F_206D_200F_206C_206A_200B_202B_206A_202A_206F_200B_200D_206A_200E_200F_202A_200C_200E_200F_202C_200B_206C_200B_202C_200C_200B_206C_206F_206E_200F_200C_202E(GatheringRoot P_0) - { - return P_0.ExtraQuestItems; - } - } - private readonly IDalamudPluginInterface _pluginInterface; private readonly GatheringData _gatheringData; @@ -78,7 +43,6 @@ internal sealed class GatheringPointRegistry _logger = logger; } - [MethodImpl(MethodImplOptions.NoInlining)] public Dictionary Build() { Dictionary dictionary = new Dictionary(); @@ -86,72 +50,17 @@ internal sealed class GatheringPointRegistry LoadGatheringPointsFromAssembly(dictionary); try { - LoadFromDirectory(dictionary, _202C_202B_202C_206E_200E_206B_200F_206E_202A_200B_200F_206A_200D_200D_202E_206E_202A_206D_200E_200E_200D_202C_206D_206B_206B_200B_206D_200B_206A_202C_206C_206D_200C_202B_200F_200F_206E_200D_206A_206B_202E(_202A_206B_206E_206A_200F_206F_202E_202E_206E_200B_206F_202A_202C_200D_200C_200F_206A_206E_200F_202E_206A_200E_206A_202A_200B_202B_200B_206D_200E_202A_206D_202E_206E_206C_202C_202A_202E_202C_200F_206B_202E(_202B_200C_206B_202C_202D_202A_200C_206A_200F_202B_206A_206B_200D_206D_202A_206F_200C_202A_200F_200B_202C_206D_200B_200B_200F_206F_206E_202B_200D_206D_202D_206E_206A_202C_206F_202D_206F_206E_202E_206E_202E((FileSystemInfo)_202C_200E_206E_206B_200B_200D_206A_202C_202A_202A_206A_206E_200F_200D_206C_200F_206A_200C_206A_200F_200B_206A_206D_202A_200D_206F_206D_202C_200F_200C_200E_202A_202C_200E_202A_202C_200E_200C_200C_206D_202E(_pluginInterface)), 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(-1200409228)))); + LoadFromDirectory(dictionary, new DirectoryInfo(Path.Combine(_pluginInterface.ConfigDirectory.FullName, "GatheringPoints"))); } - catch (Exception ex) + catch (Exception exception) { - _202D_202E_206E_206B_206F_200B_200E_206C_206E_206E_200B_202B_200E_206A_202B_200F_206D_206C_202A_206D_200F_202B_206D_200C_206E_206C_206E_206F_202A_206F_200E_200D_200E_202C_206C_200F_200D_206A_206F_202D_202E((ILogger)_logger, ex, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1765916983), Array.Empty()); + _logger.LogError(exception, "Failed to load gathering points from user directory (some may have been successfully loaded)"); } - IEnumerator enumerator = _gatheringSchemaValidator.Validate().GetEnumerator(); - try + foreach (ValidationIssue item in _gatheringSchemaValidator.Validate()) { - int num = 629723332; - while (true) - { - int num2 = num; - int num3 = 629723333; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - num = (_206E_200E_200E_202D_202D_202D_200F_202B_202E_206E_206C_202A_202E_206C_202D_206B_206C_206A_202C_200C_206C_206B_206F_200B_206B_200D_206F_200B_206E_206B_202E_200D_202D_206F_200C_200E_200D_202B_200D_200C_202E((IEnumerator)enumerator) ? 629723335 : 629723334); - break; - case 2: - { - ValidationIssue current = enumerator.Current; - _questValidator.AddValidationIssue(current); - num = 629723332; - break; - } - case 0: - num = 629723332; - break; - case 3: - goto end_IL_0086; - } - continue; - end_IL_0086: - break; - } + _questValidator.AddValidationIssue(item); } - finally - { - int num = ((enumerator == null) ? 914645726 : 914645725); - while (true) - { - int num7 = num; - int num3 = 914645724; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_0129; - case 1: - _200C_206B_206C_202A_200E_200D_206E_202B_200D_202D_200C_200C_206B_200F_200C_202A_206E_200D_206D_202A_200F_202A_202B_200D_200C_202E_200B_206B_206C_200D_202B_206D_206E_206F_202C_206D_202B_202C_202B_206F_202E((IDisposable)enumerator); - num = 914645726; - break; - case 0: - num = 914645725; - break; - } - continue; - end_IL_0129: - break; - } - } - _200F_206D_202C_206A_202E_200E_206A_202E_206D_200B_200E_202B_206A_206E_202B_206B_202B_200B_206E_200D_206F_206F_206B_200D_202A_200F_206A_200D_206E_202A_206C_202E_206F_202C_202E_200C_206B_200B_206F_202D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(509143359), new object[1] { dictionary.Count }); + _logger.LogDebug("Loaded {Count} gathering points in total", dictionary.Count); return dictionary; } @@ -165,354 +74,104 @@ internal sealed class GatheringPointRegistry Publish(Build()); } - [MethodImpl(MethodImplOptions.NoInlining)] [Conditional("RELEASE")] private void LoadGatheringPointsFromAssembly(Dictionary gatheringPoints) { - IEnumerator> enumerator = _202B_206E_202A_202D_206C_200E_202E_206E_202D_202B_206F_200D_206F_206B_200E_202E_200F_206C_202B_200C_200C_200D_206D_206D_202C_200C_200B_200D_202D_200C_206B_206E_202C_200C_202B_206B_206D_206A_202E_202D_202E().GetEnumerator(); - try + foreach (var (value, value2) in AssemblyGatheringLocationLoader.GetLocations()) { - int num = 136315747; - while (true) - { - int num2 = num; - int num3 = 136315744; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 136315747; - break; - case 3: - num = (_206E_200E_200E_202D_202D_202D_200F_202B_202E_206E_206C_202A_202E_206C_202D_206B_206C_206A_202C_200C_206C_206B_206F_200B_206B_200D_206F_200B_206E_206B_202E_200D_202D_206F_200C_200E_200D_202B_200D_200C_202E((IEnumerator)enumerator) ? 136315746 : 136315745); - break; - case 2: - var (num8, value) = (KeyValuePair)(ref enumerator.Current); - gatheringPoints[_206A_200B_206E_202D_202C_206C_206B_200E_202B_200B_200B_200D_206E_202B_206A_200D_206E_206E_200F_206E_200E_202B_200E_202D_200C_206F_200C_206E_206C_200F_206A_206F_206D_200B_200E_200B_200E_200E_206B_200E_202E(num8)] = value; - num = 136315747; - break; - case 1: - goto end_IL_0017; - } - continue; - end_IL_0017: - break; - } + gatheringPoints[new GatheringPointId(value)] = value2; } - finally - { - int num = ((enumerator == null) ? 1026507161 : 1026507162); - while (true) - { - int num9 = num; - int num3 = 1026507163; - int num4 = num9; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1026507162; - break; - case 1: - _200C_206B_206C_202A_200E_200D_206E_202B_200D_202D_200C_200C_206B_200F_200C_202A_206E_200D_206D_202A_200F_202A_202B_200D_200C_202E_200B_206B_206C_200D_202B_206D_206E_206F_202C_206D_202B_202C_202B_206F_202E((IDisposable)enumerator); - num = 1026507161; - break; - case 2: - goto end_IL_00cc; - } - continue; - end_IL_00cc: - break; - } - } - _200F_206D_202C_206A_202E_200E_206A_202E_206D_200B_200E_202B_206A_206E_202B_206B_202B_200B_206E_200D_206F_206F_206B_200D_202A_200F_206A_200D_206E_202A_206C_202E_206F_202C_202E_200C_206B_200B_206F_202D_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1162006669), new object[1] { gatheringPoints.Count }); + _logger.LogDebug("Loaded {Count} gathering points from assembly", gatheringPoints.Count); } - [MethodImpl(MethodImplOptions.NoInlining)] [Conditional("DEBUG")] private void LoadGatheringPointsFromProjectDirectory(Dictionary gatheringPoints) { - DirectoryInfo directoryInfo = _200E_206A_200F_206A_206F_202B_202A_200C_200C_206B_206D_200D_200C_200E_206F_200D_206B_206E_206E_202B_206F_206F_206D_206F_206F_200F_200E_202A_202B_200B_206A_206A_206E_202B_202D_202A_206B_200E_200C_200F_202E(_200C_202C_206D_202E_202C_202B_200C_206F_200E_206C_206F_202E_200B_206F_200F_206C_206C_206F_206B_202A_200F_200C_200B_200C_200D_202D_200E_202A_206F_206F_200F_200C_200F_206E_200F_206F_200F_200F_202E_206B_202E(_pluginInterface)); - object obj; + DirectoryInfo directoryInfo = _pluginInterface.AssemblyLocation.Directory?.Parent?.Parent; if (directoryInfo == null) { - obj = null; + _logger.LogWarning("Could not determine solution directory from assembly location: {AssemblyLocation}", _pluginInterface.AssemblyLocation.FullName); + return; } - else + DirectoryInfo directoryInfo2 = new DirectoryInfo(Path.Combine(directoryInfo.FullName, "Paths", "GatheringPaths")); + try { - DirectoryInfo directoryInfo2 = _200C_206E_202A_200D_200B_202E_206B_200E_200C_200E_206F_202B_202C_200E_200F_206E_202B_200F_200B_202E_202E_206F_202D_206E_202B_200C_202C_206E_200C_206B_206B_200F_202E_206F_200C_200D_200E_200B_200F_200E_202E(directoryInfo); - obj = ((directoryInfo2 != null) ? _200C_206E_202A_200D_200B_202E_206B_200E_200C_200E_206F_202B_202C_200E_200F_206E_202B_200F_200B_202E_202E_206F_202D_206E_202B_200C_202C_206E_200C_206B_206B_200F_202E_206F_200C_200D_200E_200B_200F_200E_202E(directoryInfo2) : null); + foreach (string value in ExpansionData.ExpansionFolders.Values) + { + LoadFromDirectory(gatheringPoints, new DirectoryInfo(Path.Combine(directoryInfo2.FullName, value))); + } } - DirectoryInfo directoryInfo3 = (DirectoryInfo)obj; - int num = ((directoryInfo3 != null) ? 750633398 : 750633399); - while (true) + catch (Exception exception) { - int num2 = num; - int num3 = 750633398; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0081; - case 1: - _206D_200C_202C_206C_206D_206B_202C_202B_202D_206D_200B_206D_202A_200C_202C_206A_202D_200C_200C_200D_206F_200C_202A_206A_200F_200C_202C_200D_202A_200F_202B_200E_206E_202C_202C_202E_202E_206A_202A_200F_202E((ILogger)_logger, 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(-793417510), new object[1] { _202B_200C_206B_202C_202D_202A_200C_206A_200F_202B_206A_206B_200D_206D_202A_206F_200C_202A_200F_200B_202C_206D_200B_200B_200F_206F_206E_202B_200D_206D_202D_206E_206A_202C_206F_202D_206F_206E_202E_206E_202E((FileSystemInfo)_200C_202C_206D_202E_202C_202B_200C_206F_200E_206C_206F_202E_200B_206F_200F_206C_206C_206F_206B_202A_200F_200C_200B_200C_200D_202D_200E_202A_206F_206F_200F_200C_200F_206E_200F_206F_200F_200F_202E_206B_202E(_pluginInterface)) }); - return; - case 0: - { - DirectoryInfo directoryInfo4 = _202C_202B_202C_206E_200E_206B_200F_206E_202A_200B_200F_206A_200D_200D_202E_206E_202A_206D_200E_200E_200D_202C_206D_206B_206B_200B_206D_200B_206A_202C_206C_206D_200C_202B_200F_200F_206E_200D_206A_206B_202E(_200D_200B_202E_200F_202A_206D_200C_206A_202A_206D_206F_202D_200B_206C_206D_202D_202C_202E_200D_206A_202A_206E_200D_206F_206C_202D_206F_200E_202D_202B_200D_202D_202D_206B_202E_200C_206D_200E_202A_202B_202E(_202B_200C_206B_202C_202D_202A_200C_206A_200F_202B_206A_206B_200D_206D_202A_206F_200C_202A_200F_200B_202C_206D_200B_200B_200F_206F_206E_202B_200D_206D_202D_206E_206A_202C_206F_202D_206F_206E_202E_206E_202E((FileSystemInfo)directoryInfo3), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1542749489), 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(-1860611895))); - try - { - IEnumerator enumerator = ExpansionData.ExpansionFolders.Values.GetEnumerator(); - try - { - num = 1661986268; - while (true) - { - int num7 = num; - num3 = 1661986269; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 0: - num = 1661986268; - break; - case 2: - { - string current = enumerator.Current; - LoadFromDirectory(gatheringPoints, _202C_202B_202C_206E_200E_206B_200F_206E_202A_200B_200F_206A_200D_200D_202E_206E_202A_206D_200E_200E_200D_202C_206D_206B_206B_200B_206D_200B_206A_202C_206C_206D_200C_202B_200F_200F_206E_200D_206A_206B_202E(_202A_206B_206E_206A_200F_206F_202E_202E_206E_200B_206F_202A_202C_200D_200C_200F_206A_206E_200F_202E_206A_200E_206A_202A_200B_202B_200B_206D_200E_202A_206D_202E_206E_206C_202C_202A_202E_202C_200F_206B_202E(_202B_200C_206B_202C_202D_202A_200C_206A_200F_202B_206A_206B_200D_206D_202A_206F_200C_202A_200F_200B_202C_206D_200B_200B_200F_206F_206E_202B_200D_206D_202D_206E_206A_202C_206F_202D_206F_206E_202E_206E_202E((FileSystemInfo)directoryInfo4), current))); - num = 1661986268; - break; - } - case 1: - num = (_206E_200E_200E_202D_202D_202D_200F_202B_202E_206E_206C_202A_202E_206C_202D_206B_206C_206A_202C_200C_206C_206B_206F_200B_206B_200D_206F_200B_206E_206B_202E_200D_202D_206F_200C_200E_200D_202B_200D_200C_202E((IEnumerator)enumerator) ? 1661986271 : 1661986270); - break; - case 3: - return; - } - } - } - finally - { - num = ((enumerator == null) ? 867053132 : 867053133); - while (true) - { - int num10 = num; - num3 = 867053132; - num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 867053133; - break; - case 1: - _200C_206B_206C_202A_200E_200D_206E_202B_200D_202D_200C_200C_206B_200F_200C_202A_206E_200D_206D_202A_200F_202A_202B_200D_200C_202E_200B_206B_206C_200D_202B_206D_206E_206F_202C_206D_202B_202C_202B_206F_202E((IDisposable)enumerator); - num = 867053132; - break; - case 0: - goto end_IL_01ac; - } - continue; - end_IL_01ac: - break; - } - } - } - catch (Exception ex) - { - gatheringPoints.Clear(); - _202D_202E_206E_206B_206F_200B_200E_206C_206E_206E_200B_202B_200E_206A_202B_200F_206D_206C_202A_206D_200F_202B_206D_200C_206E_206C_206E_206F_202A_206F_200E_200D_200E_202C_206C_200F_200D_206A_206F_202D_202E((ILogger)_logger, ex, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1894668085), Array.Empty()); - return; - } - } - } - continue; - IL_0081: - num = 750633399; + gatheringPoints.Clear(); + _logger.LogError(exception, "Failed to load gathering points from project directory"); } } private void LoadGatheringPointFromStream(Dictionary gatheringPoints, string fileName, Stream stream) { GatheringPointId gatheringPointId = ExtractGatheringPointIdFromName(fileName); - int num = ((!_206F_206D_202E_206E_202B_200B_200F_206F_206E_206F_202A_206F_206C_206E_200E_206F_200E_202B_206F_202A_206B_202E_200F_202A_202D_206C_202A_206E_206F_206F_200C_206A_206F_202E_206B_202A_200E_206C_200F_202E(gatheringPointId, (GatheringPointId)null)) ? 1532040796 : 1532040799); - JsonNode jsonNode = default(JsonNode); - while (true) + if (!(gatheringPointId == null)) { - int num2 = num; - int num3 = 1532040798; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + JsonNode jsonNode = JsonNode.Parse(stream); + if (jsonNode != null) { - case 0: - return; - case 1: - return; - case 3: - num = 1532040799; - break; - case 2: - jsonNode = _200B_206C_202C_202B_206F_200D_202A_206D_206E_206B_206F_202C_200B_202B_200C_200F_206F_206F_202D_200C_206E_202C_206E_200D_200F_200F_200D_200F_206C_202E_206A_206F_200D_202D_202A_202B_206F_206B_206F_206B_202E(stream, (JsonNodeOptions?)null, default(JsonDocumentOptions)); - num = ((jsonNode != null) ? 1532040794 : 1532040798); - break; - case 4: - _gatheringSchemaValidator.Enqueue(_200B_200E_202E_202B_206C_200E_200B_206D_200B_200D_206C_206F_200E_202E_206C_206D_202B_206E_200B_200C_200C_200F_200D_200D_206B_200E_206A_206E_206D_202A_202C_202A_206E_200F_200F_200F_206D_206D_200E_200F_202E(gatheringPointId), jsonNode); + _gatheringSchemaValidator.Enqueue(gatheringPointId.Value, jsonNode); gatheringPoints[gatheringPointId] = jsonNode.Deserialize(); - return; } } } - [MethodImpl(MethodImplOptions.NoInlining)] private void LoadFromDirectory(Dictionary gatheringPoints, DirectoryInfo directory) { - int num = (_200E_202A_206F_200B_206E_206E_206D_200D_200B_202C_202C_206E_206D_206D_206E_202C_206E_200C_202A_206D_206E_200D_200B_206E_202C_202C_202B_200C_202D_200F_200D_200F_206C_202A_200D_206E_206B_202A_206A_206A_202E((FileSystemInfo)directory) ? (-2030197123) : (-2030197122)); - DirectoryInfo[] array2 = default(DirectoryInfo[]); - while (true) + if (!directory.Exists) { - int num2 = num; - int num3 = -2030197121; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + _logger.LogDebug("Not loading gathering points from {DirectoryName} (doesn't exist)", directory); + return; + } + FileInfo[] files = directory.GetFiles("*.json"); + foreach (FileInfo fileInfo in files) + { + try { - case 0: - goto IL_0051; - case 1: - _200F_206D_202C_206A_202E_200E_206A_202E_206D_200B_200E_202B_206A_206E_202B_206B_202B_200B_206E_200D_206F_206F_206B_200D_202A_200F_206A_200D_206E_202A_206C_202E_206F_202C_202E_200C_206B_200B_206F_202D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1603379103), new object[1] { directory }); - return; - case 2: + using FileStream stream = fileInfo.OpenRead(); + LoadGatheringPointFromStream(gatheringPoints, fileInfo.Name, stream); + } + catch (JsonException ex) { - FileInfo[] array = _206F_202B_202A_202E_202C_206C_200F_200E_206A_202A_202A_200B_202C_206D_202E_206F_202A_200B_206A_206F_206F_202B_206E_200E_202E_200F_200F_202C_206D_200F_206D_206A_206B_202B_206F_206A_200D_200F_200F_202A_202E(directory, 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(1350212695)); - int num7; - for (num7 = 0; num7 < array.Length; num7 = (num4 | num3) + (num4 & num3)) + GatheringPointId gatheringPointId = ExtractGatheringPointIdFromName(fileInfo.Name); + _logger.LogError(ex, "Unable to parse gathering point file {FileName}", fileInfo.FullName); + _questValidator.AddValidationIssue(new ValidationIssue { - FileInfo fileInfo = array[num7]; - try - { - FileStream fileStream = _200C_206E_206C_206F_206C_206E_206E_200B_202D_200B_200E_200D_206F_202A_200F_206E_206D_202A_200B_200E_202B_202D_206B_206E_206B_202C_202C_206B_202A_202C_202A_202B_206A_200C_202A_206A_200F_202A_202D_202B_202E(fileInfo); - try - { - LoadGatheringPointFromStream(gatheringPoints, _200D_200D_200E_200D_206D_206B_202B_206D_202A_200D_200F_200D_206C_206E_200C_206C_206F_202B_200B_206D_200F_206F_206A_202D_202C_202C_206B_206C_202D_202E_202B_206C_206F_200F_202D_206B_206A_206A_200D_202E_202E((FileSystemInfo)fileInfo), fileStream); - } - finally - { - num = ((fileStream == null) ? (-1087514602) : (-1087514603)); - while (true) - { - int num8 = num; - num3 = -1087514601; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1087514603; - break; - case 2: - _200C_206B_206C_202A_200E_200D_206E_202B_200D_202D_200C_200C_206B_200F_200C_202A_206E_200D_206D_202A_200F_202A_202B_200D_200C_202E_200B_206B_206C_200D_202B_206D_206E_206F_202C_206D_202B_202C_202B_206F_202E((IDisposable)fileStream); - num = -1087514602; - break; - case 1: - goto end_IL_00d1; - } - continue; - end_IL_00d1: - break; - } - } - } - catch (JsonException ex) - { - GatheringPointId gatheringPointId = ExtractGatheringPointIdFromName(_200D_200D_200E_200D_206D_206B_202B_206D_202A_200D_200F_200D_206C_206E_200C_206C_206F_202B_200B_206D_200F_206F_206A_202D_202C_202C_206B_206C_202D_202E_202B_206C_206F_200F_202D_206B_206A_206A_200D_202E_202E((FileSystemInfo)fileInfo)); - _202D_202E_206E_206B_206F_200B_200E_206C_206E_206E_200B_202B_200E_206A_202B_200F_206D_206C_202A_206D_200F_202B_206D_200C_206E_206C_206E_206F_202A_206F_200E_200D_200E_202C_206C_200F_200D_206A_206F_202D_202E((ILogger)_logger, (Exception)ex, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1786995802), new object[1] { _202B_200C_206B_202C_202D_202A_200C_206A_200F_202B_206A_206B_200D_206D_202A_206F_200C_202A_200F_200B_202C_206D_200B_200B_200F_206F_206E_202B_200D_206D_202D_206E_206A_202C_206F_202D_206F_206E_202E_206E_202E((FileSystemInfo)fileInfo) }); - _questValidator.AddValidationIssue(new ValidationIssue - { - PathType = EPathType.Gathering, - Id = (((object)gatheringPointId != null) ? _202D_200D_200C_202A_206C_200F_202A_206E_206F_206E_206F_206F_202C_202C_202B_206F_202D_200B_202A_206E_202C_202D_200C_202D_202B_200C_202A_206C_200F_200F_202B_202B_200C_202C_202B_202E_200B_200B_202C_206A_202E(gatheringPointId).ToString(_206E_206F_206D_206A_202C_206E_206B_202E_206E_206E_202E_200D_206D_200D_200C_202D_206E_202A_200D_202A_202D_206A_202D_206B_206B_202D_202B_206E_206B_202E_202B_200F_206F_200F_200D_202E_200B_206E_206E_200E_202E()) : null), - Location = null, - Type = EIssueType.InvalidJsonSyntax, - Severity = EIssueSeverity.Error, - Description = _206D_202D_206D_200C_202D_206E_206F_200B_202D_200E_202D_206D_206B_206E_202D_206F_202B_200E_200C_206C_206A_206E_202C_206F_206F_206A_206A_206B_206E_206D_202B_200B_206A_200B_206A_200D_202C_200C_200C_202B_202E(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(1207352804), _200D_200D_200E_200D_206D_206B_202B_206D_202A_200D_200F_200D_206C_206E_200C_206C_206F_202B_200B_206D_200F_206F_206A_202D_202C_202C_206B_206C_202D_202E_202B_206C_206F_200F_202D_206B_206A_206A_200D_202E_202E((FileSystemInfo)fileInfo), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2035955381), _202C_202D_206A_206B_200E_206A_206D_206E_200C_206B_200D_202E_202B_200F_200E_206E_202C_206A_206A_206F_206B_202A_202A_206C_200D_200E_206D_200C_200E_206F_206F_200D_200C_202A_200C_206F_202E_200D_206B_202C_202E((Exception)ex)) - }); - } - catch (Exception ex2) - { - throw _200E_206E_206C_200D_200F_206A_202A_200B_200E_202A_202D_200F_200D_200E_202B_200C_206C_206E_206F_200F_202A_206B_202A_200E_202B_206D_202B_202E_200E_200B_202D_200C_206B_200C_200F_202C_200E_200D_202B_206E_202E(_206C_202D_202C_206C_202B_202B_206A_202A_202E_206D_206B_202D_202A_206A_202A_202B_202C_206B_202B_206A_200F_200F_202B_206A_206A_206D_206F_202B_200D_202B_202D_200E_202D_206F_200B_206A_200E_202D_200F_206C_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(-912896990), _202B_200C_206B_202C_202D_202A_200C_206A_200F_202B_206A_206B_200D_206D_202A_206F_200C_202A_200F_200B_202C_206D_200B_200B_200F_206F_206E_202B_200D_206D_202D_206E_206A_202C_206F_202D_206F_206E_202E_206E_202E((FileSystemInfo)fileInfo)), ex2); - } - int num9 = num7; - num3 = 1; - num4 = num9; - } - num = 1535846665; - while (true) - { - int num10 = num; - num3 = 1535846664; - num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1535846665; - break; - case 3: - return; - case 0: - { - DirectoryInfo directory2 = array2[num7]; - LoadFromDirectory(gatheringPoints, directory2); - int num11 = num7; - num3 = 1; - num4 = num11; - num7 = (num4 | num3) + (num4 & num3); - num = 1535846668; - break; - } - case 1: - array2 = _200D_206D_200B_202E_206E_202D_200E_206F_202D_206A_202C_200B_200B_200F_200E_200D_206E_202B_200E_200B_200B_202E_206C_202D_206C_202E_200B_202D_202C_200B_200C_206F_202A_206F_202B_206E_202D_202C_200B_206C_202E(directory); - num7 = 0; - num = 1535846668; - break; - case 4: - num = ((num7 < array2.Length) ? 1535846664 : 1535846667); - break; - } - } + PathType = EPathType.Gathering, + Id = gatheringPointId?.Value.ToString(CultureInfo.InvariantCulture), + Location = null, + Type = EIssueType.InvalidJsonSyntax, + Severity = EIssueSeverity.Error, + Description = "JSON syntax error in " + fileInfo.Name + ": " + ex.Message + }); } + catch (Exception innerException) + { + throw new InvalidDataException("Unable to load file " + fileInfo.FullName, innerException); } - continue; - IL_0051: - num = -2030197122; + } + DirectoryInfo[] directories = directory.GetDirectories(); + foreach (DirectoryInfo directory2 in directories) + { + LoadFromDirectory(gatheringPoints, directory2); } } private static GatheringPointId? ExtractGatheringPointIdFromName(string resourceName) { - string text = _202C_206E_202D_202B_202B_206B_202A_206A_200F_202E_206D_202C_206B_202C_200F_206B_206B_206A_206E_202C_206B_206C_202E_202A_206D_206D_206A_206F_202D_206E_200B_200E_200D_202C_206C_206D_200E_206D_200F_206D_202E(resourceName); - text = _202A_202E_202D_202A_206E_206B_206B_200F_202C_202C_200F_202E_200C_206E_200F_200C_202B_200C_202A_200B_202B_200E_206F_206B_200B_200C_200C_202B_200C_202D_202D_206A_202B_200E_200F_206C_202D_200D_200D_202D_202E(text, _202A_202A_206A_206B_206F_206E_200D_206C_206C_202B_202D_200E_202E_200D_206A_202A_202E_206F_200B_202E_206B_206B_200E_200E_200E_206B_202C_202D_202A_200E_206A_206B_200B_202E_200F_200F_200E_206C_206F_206E_202E(text, '.') + 1); - int num = (_202B_200B_206B_200E_200E_200B_206C_200C_200B_202B_206A_202C_206E_206A_206A_202C_206A_202E_206D_202D_200F_200B_200E_202B_206D_206E_202B_202B_206D_202B_206D_200B_202B_200B_206A_200D_200D_202C_206B_200D_202E(text, '_', StringComparison.Ordinal) ? (-863946065) : (-863946068)); - while (true) + string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(resourceName); + fileNameWithoutExtension = fileNameWithoutExtension.Substring(fileNameWithoutExtension.LastIndexOf('.') + 1); + if (!fileNameWithoutExtension.Contains('_', StringComparison.Ordinal)) { - int num2 = num; - int num3 = -863946066; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0061; - case 2: - return null; - case 1: - return _206C_200E_206B_206B_200F_202D_202C_202E_202E_206A_202D_206A_202B_200B_202B_200D_206C_206C_200B_200B_206A_202A_206A_200E_200B_206A_206A_202A_202C_206C_202B_200B_202A_202A_200C_206B_206F_200B_206C_202E(_206D_202C_206B_200F_206A_200D_202D_202C_206D_206B_206E_206B_206F_202D_202B_200F_206E_202B_206D_202E_206C_202A_202D_200B_206D_200E_206C_202D_200C_206A_206E_202B_200E_200F_200C_206B_200E_202D_206E_202C_202E(text, '_', 2, StringSplitOptions.None)[0]); - } - continue; - IL_0061: - num = -863946068; + return null; } + return GatheringPointId.FromString(fileNameWithoutExtension.Split('_', 2)[0]); } public bool TryGetGatheringPoint(GatheringPointId gatheringPointId, [NotNullWhen(true)] out GatheringRoot? gatheringRoot) @@ -523,224 +182,29 @@ internal sealed class GatheringPointRegistry public bool TryGetGatheringPointId(uint itemId, EClassJob classJobId, [NotNullWhen(true)] out GatheringPointId? gatheringPointId) { Dictionary gatheringPoints = _gatheringPoints; - int num = ((classJobId != EClassJob.Miner) ? 627004165 : 627004160); - while (true) + switch (classJobId) { - int num2 = num; - int num3 = 627004163; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + case EClassJob.Miner: + if (_gatheringData.TryGetMinerGatheringPointByItemId(itemId, out gatheringPointId)) { - case 5: return true; - case 2: - gatheringPointId = null; - return false; - case 6: - num = ((classJobId != EClassJob.Botanist) ? 627004161 : 627004171); - break; - case 8: - num = ((!_gatheringData.TryGetBotanistGatheringPointByItemId(itemId, out gatheringPointId)) ? 627004163 : 627004166); - break; - case 4: - return true; - case 7: - num = 627004160; - break; - case 1: - gatheringPointId = (from x in gatheringPoints - where _003C_003Ec__DisplayClass16_0._202A_202A_200D_206A_200E_202D_206E_206A_202A_200F_206D_200F_206C_206A_200B_202B_206A_202A_206F_200B_200D_206A_200E_200F_202A_200C_200E_200F_202C_200B_206C_200B_202C_200C_200B_206C_206F_206E_200F_200C_202E(x.Value).Contains(itemId) - select x.Key).FirstOrDefault((GatheringPointId x) => _gatheringData.MinerGatheringPoints.Contains(x)); - return _206F_202A_200D_200C_202A_206E_202A_200F_206B_202D_200F_206F_200B_202E_206C_206C_202D_202E_202E_206C_206E_206E_202C_200D_200C_200B_200F_202B_200F_206C_202D_200F_202A_200F_200F_200F_200B_202D_202B_200E_202E(gatheringPointId, (GatheringPointId)null); - case 0: - gatheringPointId = (from x in gatheringPoints - where _003C_003Ec__DisplayClass16_0._202A_202A_200D_206A_200E_202D_206E_206A_202A_200F_206D_200F_206C_206A_200B_202B_206A_202A_206F_200B_200D_206A_200E_200F_202A_200C_200E_200F_202C_200B_206C_200B_202C_200C_200B_206C_206F_206E_200F_200C_202E(x.Value).Contains(itemId) - select x.Key).FirstOrDefault((GatheringPointId x) => _gatheringData.BotanistGatheringPoints.Contains(x)); - return _206F_202A_200D_200C_202A_206E_202A_200F_206B_202D_200F_206F_200B_202E_206C_206C_202D_202E_202E_206C_206E_206E_202C_200D_200C_200B_200F_202B_200F_206C_202D_200F_202A_200F_200F_200F_200B_202D_202B_200E_202E(gatheringPointId, (GatheringPointId)null); - case 3: - num = ((!_gatheringData.TryGetMinerGatheringPointByItemId(itemId, out gatheringPointId)) ? 627004162 : 627004167); - break; } + gatheringPointId = (from x in gatheringPoints + where x.Value.ExtraQuestItems.Contains(itemId) + select x.Key).FirstOrDefault((GatheringPointId x) => _gatheringData.MinerGatheringPoints.Contains(x)); + return gatheringPointId != null; + case EClassJob.Botanist: + if (_gatheringData.TryGetBotanistGatheringPointByItemId(itemId, out gatheringPointId)) + { + return true; + } + gatheringPointId = (from x in gatheringPoints + where x.Value.ExtraQuestItems.Contains(itemId) + select x.Key).FirstOrDefault((GatheringPointId x) => _gatheringData.BotanistGatheringPoints.Contains(x)); + return gatheringPointId != null; + default: + gatheringPointId = null; + return false; } } - - static DirectoryInfo _202C_200E_206E_206B_200B_200D_206A_202C_202A_202A_206A_206E_200F_200D_206C_200F_206A_200C_206A_200F_200B_206A_206D_202A_200D_206F_206D_202C_200F_200C_200E_202A_202C_200E_202A_202C_200E_200C_200C_206D_202E(IDalamudPluginInterface P_0) - { - return P_0.ConfigDirectory; - } - - static string _202B_200C_206B_202C_202D_202A_200C_206A_200F_202B_206A_206B_200D_206D_202A_206F_200C_202A_200F_200B_202C_206D_200B_200B_200F_206F_206E_202B_200D_206D_202D_206E_206A_202C_206F_202D_206F_206E_202E_206E_202E(FileSystemInfo P_0) - { - return P_0.FullName; - } - - static string _202A_206B_206E_206A_200F_206F_202E_202E_206E_200B_206F_202A_202C_200D_200C_200F_206A_206E_200F_202E_206A_200E_206A_202A_200B_202B_200B_206D_200E_202A_206D_202E_206E_206C_202C_202A_202E_202C_200F_206B_202E(string P_0, string P_1) - { - return Path.Combine(P_0, P_1); - } - - static DirectoryInfo _202C_202B_202C_206E_200E_206B_200F_206E_202A_200B_200F_206A_200D_200D_202E_206E_202A_206D_200E_200E_200D_202C_206D_206B_206B_200B_206D_200B_206A_202C_206C_206D_200C_202B_200F_200F_206E_200D_206A_206B_202E(string P_0) - { - return new DirectoryInfo(P_0); - } - - static void _202D_202E_206E_206B_206F_200B_200E_206C_206E_206E_200B_202B_200E_206A_202B_200F_206D_206C_202A_206D_200F_202B_206D_200C_206E_206C_206E_206F_202A_206F_200E_200D_200E_202C_206C_200F_200D_206A_206F_202D_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } - - static bool _206E_200E_200E_202D_202D_202D_200F_202B_202E_206E_206C_202A_202E_206C_202D_206B_206C_206A_202C_200C_206C_206B_206F_200B_206B_200D_206F_200B_206E_206B_202E_200D_202D_206F_200C_200E_200D_202B_200D_200C_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200C_206B_206C_202A_200E_200D_206E_202B_200D_202D_200C_200C_206B_200F_200C_202A_206E_200D_206D_202A_200F_202A_202B_200D_200C_202E_200B_206B_206C_200D_202B_206D_206E_206F_202C_206D_202B_202C_202B_206F_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _200F_206D_202C_206A_202E_200E_206A_202E_206D_200B_200E_202B_206A_206E_202B_206B_202B_200B_206E_200D_206F_206F_206B_200D_202A_200F_206A_200D_206E_202A_206C_202E_206F_202C_202E_200C_206B_200B_206F_202D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static IReadOnlyDictionary _202B_206E_202A_202D_206C_200E_202E_206E_202D_202B_206F_200D_206F_206B_200E_202E_200F_206C_202B_200C_200C_200D_206D_206D_202C_200C_200B_200D_202D_200C_206B_206E_202C_200C_202B_206B_206D_206A_202E_202D_202E() - { - return AssemblyGatheringLocationLoader.GetLocations(); - } - - static GatheringPointId _206A_200B_206E_202D_202C_206C_206B_200E_202B_200B_200B_200D_206E_202B_206A_200D_206E_206E_200F_206E_200E_202B_200E_202D_200C_206F_200C_206E_206C_200F_206A_206F_206D_200B_200E_200B_200E_200E_206B_200E_202E(ushort P_0) - { - return new GatheringPointId(P_0); - } - - static FileInfo _200C_202C_206D_202E_202C_202B_200C_206F_200E_206C_206F_202E_200B_206F_200F_206C_206C_206F_206B_202A_200F_200C_200B_200C_200D_202D_200E_202A_206F_206F_200F_200C_200F_206E_200F_206F_200F_200F_202E_206B_202E(IDalamudPluginInterface P_0) - { - return P_0.AssemblyLocation; - } - - static DirectoryInfo _200E_206A_200F_206A_206F_202B_202A_200C_200C_206B_206D_200D_200C_200E_206F_200D_206B_206E_206E_202B_206F_206F_206D_206F_206F_200F_200E_202A_202B_200B_206A_206A_206E_202B_202D_202A_206B_200E_200C_200F_202E(FileInfo P_0) - { - return P_0.Directory; - } - - static DirectoryInfo _200C_206E_202A_200D_200B_202E_206B_200E_200C_200E_206F_202B_202C_200E_200F_206E_202B_200F_200B_202E_202E_206F_202D_206E_202B_200C_202C_206E_200C_206B_206B_200F_202E_206F_200C_200D_200E_200B_200F_200E_202E(DirectoryInfo P_0) - { - return P_0.Parent; - } - - static void _206D_200C_202C_206C_206D_206B_202C_202B_202D_206D_200B_206D_202A_200C_202C_206A_202D_200C_200C_200D_206F_200C_202A_206A_200F_200C_202C_200D_202A_200F_202B_200E_206E_202C_202C_202E_202E_206A_202A_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static string _200D_200B_202E_200F_202A_206D_200C_206A_202A_206D_206F_202D_200B_206C_206D_202D_202C_202E_200D_206A_202A_206E_200D_206F_206C_202D_206F_200E_202D_202B_200D_202D_202D_206B_202E_200C_206D_200E_202A_202B_202E(string P_0, string P_1, string P_2) - { - return Path.Combine(P_0, P_1, P_2); - } - - static bool _206F_206D_202E_206E_202B_200B_200F_206F_206E_206F_202A_206F_206C_206E_200E_206F_200E_202B_206F_202A_206B_202E_200F_202A_202D_206C_202A_206E_206F_206F_200C_206A_206F_202E_206B_202A_200E_206C_200F_202E(GatheringPointId P_0, GatheringPointId P_1) - { - return P_0 == P_1; - } - - static JsonNode _200B_206C_202C_202B_206F_200D_202A_206D_206E_206B_206F_202C_200B_202B_200C_200F_206F_206F_202D_200C_206E_202C_206E_200D_200F_200F_200D_200F_206C_202E_206A_206F_200D_202D_202A_202B_206F_206B_206F_206B_202E(Stream P_0, JsonNodeOptions? P_1, JsonDocumentOptions P_2) - { - return JsonNode.Parse(P_0, P_1, P_2); - } - - static ushort _200B_200E_202E_202B_206C_200E_200B_206D_200B_200D_206C_206F_200E_202E_206C_206D_202B_206E_200B_200C_200C_200F_200D_200D_206B_200E_206A_206E_206D_202A_202C_202A_206E_200F_200F_200F_206D_206D_200E_200F_202E(GatheringPointId P_0) - { - return P_0.Value; - } - - static bool _200E_202A_206F_200B_206E_206E_206D_200D_200B_202C_202C_206E_206D_206D_206E_202C_206E_200C_202A_206D_206E_200D_200B_206E_202C_202C_202B_200C_202D_200F_200D_200F_206C_202A_200D_206E_206B_202A_206A_206A_202E(FileSystemInfo P_0) - { - return P_0.Exists; - } - - static FileInfo[] _206F_202B_202A_202E_202C_206C_200F_200E_206A_202A_202A_200B_202C_206D_202E_206F_202A_200B_206A_206F_206F_202B_206E_200E_202E_200F_200F_202C_206D_200F_206D_206A_206B_202B_206F_206A_200D_200F_200F_202A_202E(DirectoryInfo P_0, string P_1) - { - return P_0.GetFiles(P_1); - } - - static FileStream _200C_206E_206C_206F_206C_206E_206E_200B_202D_200B_200E_200D_206F_202A_200F_206E_206D_202A_200B_200E_202B_202D_206B_206E_206B_202C_202C_206B_202A_202C_202A_202B_206A_200C_202A_206A_200F_202A_202D_202B_202E(FileInfo P_0) - { - return P_0.OpenRead(); - } - - static string _200D_200D_200E_200D_206D_206B_202B_206D_202A_200D_200F_200D_206C_206E_200C_206C_206F_202B_200B_206D_200F_206F_206A_202D_202C_202C_206B_206C_202D_202E_202B_206C_206F_200F_202D_206B_206A_206A_200D_202E_202E(FileSystemInfo P_0) - { - return P_0.Name; - } - - static ushort _202D_200D_200C_202A_206C_200F_202A_206E_206F_206E_206F_206F_202C_202C_202B_206F_202D_200B_202A_206E_202C_202D_200C_202D_202B_200C_202A_206C_200F_200F_202B_202B_200C_202C_202B_202E_200B_200B_202C_206A_202E(GatheringPointId P_0) - { - return P_0.Value; - } - - static CultureInfo _206E_206F_206D_206A_202C_206E_206B_202E_206E_206E_202E_200D_206D_200D_200C_202D_206E_202A_200D_202A_202D_206A_202D_206B_206B_202D_202B_206E_206B_202E_202B_200F_206F_200F_200D_202E_200B_206E_206E_200E_202E() - { - return CultureInfo.InvariantCulture; - } - - static string _202C_202D_206A_206B_200E_206A_206D_206E_200C_206B_200D_202E_202B_200F_200E_206E_202C_206A_206A_206F_206B_202A_202A_206C_200D_200E_206D_200C_200E_206F_206F_200D_200C_202A_200C_206F_202E_200D_206B_202C_202E(Exception P_0) - { - return P_0.Message; - } - - static string _206D_202D_206D_200C_202D_206E_206F_200B_202D_200E_202D_206D_206B_206E_202D_206F_202B_200E_200C_206C_206A_206E_202C_206F_206F_206A_206A_206B_206E_206D_202B_200B_206A_200B_206A_200D_202C_200C_200C_202B_202E(string P_0, string P_1, string P_2, string P_3) - { - return P_0 + P_1 + P_2 + P_3; - } - - static string _206C_202D_202C_206C_202B_202B_206A_202A_202E_206D_206B_202D_202A_206A_202A_202B_202C_206B_202B_206A_200F_200F_202B_206A_206A_206D_206F_202B_200D_202B_202D_200E_202D_206F_200B_206A_200E_202D_200F_206C_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static InvalidDataException _200E_206E_206C_200D_200F_206A_202A_200B_200E_202A_202D_200F_200D_200E_202B_200C_206C_206E_206F_200F_202A_206B_202A_200E_202B_206D_202B_202E_200E_200B_202D_200C_206B_200C_200F_202C_200E_200D_202B_206E_202E(string P_0, Exception P_1) - { - return new InvalidDataException(P_0, P_1); - } - - static DirectoryInfo[] _200D_206D_200B_202E_206E_202D_200E_206F_202D_206A_202C_200B_200B_200F_200E_200D_206E_202B_200E_200B_200B_202E_206C_202D_206C_202E_200B_202D_202C_200B_200C_206F_202A_206F_202B_206E_202D_202C_200B_206C_202E(DirectoryInfo P_0) - { - return P_0.GetDirectories(); - } - - static string _202C_206E_202D_202B_202B_206B_202A_206A_200F_202E_206D_202C_206B_202C_200F_206B_206B_206A_206E_202C_206B_206C_202E_202A_206D_206D_206A_206F_202D_206E_200B_200E_200D_202C_206C_206D_200E_206D_200F_206D_202E(string P_0) - { - return Path.GetFileNameWithoutExtension(P_0); - } - - static int _202A_202A_206A_206B_206F_206E_200D_206C_206C_202B_202D_200E_202E_200D_206A_202A_202E_206F_200B_202E_206B_206B_200E_200E_200E_206B_202C_202D_202A_200E_206A_206B_200B_202E_200F_200F_200E_206C_206F_206E_202E(string P_0, char P_1) - { - return P_0.LastIndexOf(P_1); - } - - static string _202A_202E_202D_202A_206E_206B_206B_200F_202C_202C_200F_202E_200C_206E_200F_200C_202B_200C_202A_200B_202B_200E_206F_206B_200B_200C_200C_202B_200C_202D_202D_206A_202B_200E_200F_206C_202D_200D_200D_202D_202E(string P_0, int P_1) - { - return P_0.Substring(P_1); - } - - static bool _202B_200B_206B_200E_200E_200B_206C_200C_200B_202B_206A_202C_206E_206A_206A_202C_206A_202E_206D_202D_200F_200B_200E_202B_206D_206E_202B_202B_206D_202B_206D_200B_202B_200B_206A_200D_200D_202C_206B_200D_202E(string P_0, char P_1, StringComparison P_2) - { - return P_0.Contains(P_1, P_2); - } - - static string[] _206D_202C_206B_200F_206A_200D_202D_202C_206D_206B_206E_206B_206F_202D_202B_200F_206E_202B_206D_202E_206C_202A_202D_200B_206D_200E_206C_202D_200C_206A_206E_202B_200E_200F_200C_206B_200E_202D_206E_202C_202E(string P_0, char P_1, int P_2, StringSplitOptions P_3) - { - return P_0.Split(P_1, P_2, P_3); - } - - static GatheringPointId _206C_200E_206B_206B_200F_202D_202C_202E_202E_206A_202D_206A_202B_200B_202B_200D_206C_206C_200B_200B_206A_202A_206A_200E_200B_206A_206A_202A_202C_206C_202B_200B_202A_202A_200C_206B_206F_200B_206C_202E(string P_0) - { - return GatheringPointId.FromString(P_0); - } - - static bool _206F_202A_200D_200C_202A_206E_202A_200F_206B_202D_200F_206F_200B_202E_206C_206C_202D_202E_202E_206C_206E_206E_202C_200D_200C_200B_200F_202B_200F_206C_202D_200F_202A_200F_200F_200F_200B_202D_202B_200E_202E(GatheringPointId P_0, GatheringPointId P_1) - { - return P_0 != P_1; - } } diff --git a/Questionable/Questionable.Controller/GearRepairService.cs b/Questionable/Questionable.Controller/GearRepairService.cs index 7926cb7..e409de9 100644 --- a/Questionable/Questionable.Controller/GearRepairService.cs +++ b/Questionable/Questionable.Controller/GearRepairService.cs @@ -1,11 +1,6 @@ using System; -using System.Collections; -using System.Collections.Generic; -using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using LLib.GameData; using LLib.Gear; @@ -23,41 +18,6 @@ namespace Questionable.Controller; internal sealed class GearRepairService(Configuration configuration, ICondition condition, IClientState clientState, IObjectTable objectTable, IDataManager dataManager, MenderDataService menderDataService, SmartNavRouteEnqueuer routeEnqueuer, AetheryteFunctions aetheryteFunctions, IChatGui chatGui, ILogger logger) { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass19_0 - { - public ExcelSheet classJobSheet; - - internal byte _003CCanSelfRepair_003Eb__0(uint classJobId) - { - ClassJob row; - int num = (classJobSheet.TryGetRow(classJobId, out row) ? (-528090726) : (-528090727)); - while (true) - { - int num2 = num; - int num3 = -528090725; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004e; - case 2: - return 0; - case 1: - return (byte)_200C_206B_202B_202B_206C_200B_202D_206C_206D_206C_206E_202E_202E_202B_200B_206F_202B_202C_202A_200D_206E_202E_206C_200F_202C_206B_200D_206A_202E_202C_200B_206D_206C_200F_200E_206C_200F_206E_200D_202A_202E((int)row.ExpArrayIndex); - } - continue; - IL_004e: - num = -528090727; - } - } - - static short _200C_206B_202B_202B_206C_200B_202D_206C_206D_206C_206E_202E_202E_202B_200B_206F_202B_202C_202A_200D_206E_202E_206C_200F_202C_206B_200D_206A_202E_202C_200B_206D_206C_200F_200E_206C_200F_206E_200D_202A_202E(int P_0) - { - return PlayerStateHelper.GetClassJobLevel(P_0); - } - } - private const int CriticalConditionPercent = 10; private const long AttemptCooldownMs = 300000L; @@ -74,346 +34,110 @@ internal sealed class GearRepairService(Configuration configuration, ICondition _nextWarningAtMs = 0L; } - [MethodImpl(MethodImplOptions.NoInlining)] public ERepairDecision EvaluateAndEnqueue(EInteractionType upcomingType, TaskQueue taskQueue) { - int num = (((uint)(upcomingType - 19) > 1u) ? 1929941200 : 1929941198); - int? num7 = default(int?); - bool flag2 = default(bool); - bool flag4 = default(bool); - bool flag3 = default(bool); - bool flag = default(bool); - string failureReason = default(string); - while (true) + bool flag = (uint)(upcomingType - 19) <= 1u; + bool flag2 = flag; + flag = (uint)(upcomingType - 30) <= 1u; + bool flag3 = flag; + if (!flag2 && !flag3) { - int num2 = num; - int num3 = 1929941195; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num8; - switch (num5 - (num6 + num6)) - { - case 3: - _206A_200F_206D_200B_202C_200B_206D_206C_202E_202E_200F_200F_202B_200D_200D_206F_200B_206B_206D_202E_202D_206C_206A_202D_202A_206A_202B_200D_206D_206B_206C_206D_206F_202E_200D_202A_202C_202E_206A_206E_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(776424222), new object[1] { num7.Value }); - return ERepairDecision.BlockDuty; - case 22: - num7 = _200E_202E_202C_202C_200D_206E_200B_202B_200E_202E_202A_202C_202D_202B_202D_202B_200E_206C_206F_206E_206C_202C_202E_200C_202A_202C_202C_206D_206C_202B_200B_206C_202D_202E_200D_200E_206C_200C_206A_206C_202E(); - num = ((!num7.HasValue) ? 1929941188 : 1929941209); - break; - case 27: - flag2 = false; - num = 1929941208; - break; - case 10: - return ERepairDecision.NotNeeded; - case 20: - num = ((!flag4) ? 1929941210 : 1929941192); - break; - case 19: - flag3 = flag2; - num = (((uint)(upcomingType - 30) > 1u) ? 1929941194 : 1929941193); - break; - case 12: - num = (flag ? 1929941197 : 1929941202); - break; - case 14: - num = ((_202B_206C_202A_202A_206E_202C_200C_202A_202A_200E_200B_200D_206B_202D_206A_200B_200D_200E_200B_200F_206F_202C_202C_200F_200E_202E_206F_202E_202E_206B_202C_202D_200F_200C_200B_206F_206E_202E_206A_202A_202E() < _nextWarningAtMs) ? 1929941185 : 1929941190); - break; - case 13: - { - _nextWarningAtMs = _202B_206C_202A_202A_206E_202C_200C_202A_202A_200E_200B_200D_206B_202D_206A_200B_200D_200E_200B_200F_206F_202C_202C_200F_200E_202E_206F_202E_202E_206B_202C_202D_200F_200C_200B_206F_206E_202E_206A_202A_202E() + 300000; - IChatGui chatGui = chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(46, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(1964571551)); - defaultInterpolatedStringHandler.AppendFormatted(num7.Value); - defaultInterpolatedStringHandler.AppendLiteral(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(1599790962)); - defaultInterpolatedStringHandler.AppendFormatted(failureReason); - _200D_206B_206B_202C_200D_206C_200E_200D_202E_202C_206B_202D_206B_206C_206F_200D_200F_206D_200E_206C_206F_206B_202E_200B_200C_202E_202E_202B_206F_206C_206C_202A_206D_202A_200C_206B_200B_200F_202C_206C_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); - num = 1929941185; - break; - } - case 26: - num8 = ((num7.Value < 10) ? 1 : 0); - goto IL_026c; - case 7: - num = ((!flag3) ? 1929941212 : 1929941201); - break; - case 15: - return ERepairDecision.NotNeeded; - case 23: - num8 = 0; - goto IL_026c; - case 17: - return ERepairDecision.NotNeeded; - case 28: - num = ((!TryEnqueueRepair(taskQueue, num7.Value, out failureReason)) ? 1929941184 : 1929941203); - break; - case 25: - return ERepairDecision.NotNeeded; - case 24: - return ERepairDecision.Enqueued; - case 18: - num = ((num7.Value < configuration.General.RepairThresholdPercent) ? 1929941196 : 1929941188); - break; - case 11: - num = ((!flag4) ? 1929941189 : 1929941195); - break; - case 1: - flag2 = false; - num = 1929941199; - break; - case 0: - _206A_200F_206D_200B_202C_200B_206D_206C_202E_202E_200F_200F_202B_200D_200D_206F_200B_206B_206D_202E_202D_206C_206A_202D_202A_206A_202B_200D_206D_206B_206C_206D_206F_202E_200D_202A_202C_202E_206A_206E_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1917801143), new object[2] { num7.Value, failureReason }); - return ERepairDecision.BlockDuty; - case 5: - flag2 = true; - num = 1929941208; - break; - case 2: - flag2 = true; - num = 1929941199; - break; - case 16: - num = ((!_202A_206F_206D_206C_200E_200C_206D_206A_200E_202A_206E_206F_206C_200C_200E_200F_202B_202B_206B_202C_200F_206C_202C_206C_202E_206C_206F_206C_200F_206E_200D_200E_202B_206B_202A_202D_202A_200C_202B_206A_202E(condition, ConditionFlag.InCombat)) ? 1929941213 : 1929941214); - break; - case 9: - return ERepairDecision.NotNeeded; - case 6: - num = (configuration.General.RepairGear ? 1929941211 : 1929941186); - break; - case 21: - return ERepairDecision.NotNeeded; - case 4: - flag = flag2; - num = (flag3 ? 1929941197 : 1929941191); - break; - case 8: - { - num = 1929941198; - break; - } - IL_026c: - flag4 = (byte)num8 != 0; - num = ((_202B_206C_202A_202A_206E_202C_200C_202A_202A_200E_200B_200D_206B_202D_206A_200B_200D_200E_200B_200F_206F_202C_202C_200F_200E_202E_206F_202E_202E_206B_202C_202D_200F_200C_200B_206F_206E_202E_206A_202A_202E() >= _nextAttemptAtMs) ? 1929941207 : 1929941215); - break; - } + return ERepairDecision.NotNeeded; } + if (!configuration.General.RepairGear) + { + return ERepairDecision.NotNeeded; + } + if (condition[ConditionFlag.InCombat]) + { + return ERepairDecision.NotNeeded; + } + int? lowestConditionPercent = GearConditionHelper.GetLowestConditionPercent(); + if (!lowestConditionPercent.HasValue || lowestConditionPercent.Value >= configuration.General.RepairThresholdPercent) + { + return ERepairDecision.NotNeeded; + } + bool flag4 = flag2 && lowestConditionPercent.Value < 10; + if (Environment.TickCount64 < _nextAttemptAtMs) + { + if (flag4) + { + logger.LogError("Gear still critically damaged ({Condition}%) after recent repair attempt", lowestConditionPercent.Value); + return ERepairDecision.BlockDuty; + } + return ERepairDecision.NotNeeded; + } + if (TryEnqueueRepair(taskQueue, lowestConditionPercent.Value, out string failureReason)) + { + return ERepairDecision.Enqueued; + } + if (flag4) + { + logger.LogError("Gear critically damaged ({Condition}%) and unrepairable: {Reason}", lowestConditionPercent.Value, failureReason); + return ERepairDecision.BlockDuty; + } + if (Environment.TickCount64 >= _nextWarningAtMs) + { + _nextWarningAtMs = Environment.TickCount64 + 300000; + chatGui.Print($"Gear is at {lowestConditionPercent.Value}% condition but can't be repaired: {failureReason}", "Questionable", 576); + } + return ERepairDecision.NotNeeded; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool TryEnqueueRepair(TaskQueue taskQueue, int lowestCondition, out string failureReason) { - int num = ((!CanSelfRepair()) ? (-1145158930) : (-1145158934)); - MenderNpc menderNpc = default(MenderNpc); - IPlayerCharacter playerCharacter = default(IPlayerCharacter); - MenderNpc current = default(MenderNpc); - while (true) + if (CanSelfRepair()) { - int num2 = num; - int num3 = -1145158932; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + logger.LogInformation("Lowest gear condition {Condition}%, self-repairing", lowestCondition); + taskQueue.Enqueue(new Questionable.Controller.Steps.Common.Mount.UnmountTask()); + taskQueue.Enqueue(new RepairGear.SelfRepairTask()); + MarkAttempt(); + failureReason = string.Empty; + return true; + } + IPlayerCharacter localPlayer = objectTable.LocalPlayer; + if (localPlayer != null) + { + MenderNpc menderNpc = menderDataService.FindNearestInTerritory((ushort)clientState.TerritoryType, localPlayer.Position); + if ((object)menderNpc != null) { - default: - continue; - case 1: - if (aetheryteFunctions.IsTeleportUnlocked()) - { - num = -1145158935; - continue; - } - break; - case 0: - _206A_206D_202D_200F_200E_202D_206E_206C_206B_202E_202D_200E_200D_200E_206B_206D_206B_200E_202D_206A_202B_200E_200B_202B_200F_206F_202C_200D_200B_202E_202E_206D_206C_202B_206F_206E_200F_206B_200D_206A_202E((ILogger)logger, 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(1341197987), new object[2] { lowestCondition, menderNpc.DataId }); + logger.LogInformation("Lowest gear condition {Condition}%, visiting mender {DataId} in current zone", lowestCondition, menderNpc.DataId); routeEnqueuer.Enqueue(taskQueue, menderNpc.TerritoryId, menderNpc.Position, 3f); taskQueue.Enqueue(new Questionable.Controller.Steps.Common.Mount.UnmountTask()); taskQueue.Enqueue(new RepairGear.MenderRepairTask(menderNpc)); MarkAttempt(); failureReason = string.Empty; return true; - case 2: - playerCharacter = _206D_202E_206C_206D_200F_202E_200C_200C_202B_202B_200D_200F_206A_206E_206F_206C_202E_206A_202D_202C_206B_206D_200B_206D_206A_202E_200D_200C_202D_200D_206C_200D_206C_206B_202C_206E_206B_206F_202C_202D_202E(objectTable); - num = ((playerCharacter == null) ? (-1145158931) : (-1145158929)); - continue; - case 3: - menderNpc = menderDataService.FindNearestInTerritory((ushort)_200E_206C_200F_200D_202E_206C_202D_206E_206C_206A_200C_202E_200E_206F_200F_200B_202B_202C_206A_202A_202A_200D_206F_206C_202C_202C_202A_202B_206D_206F_202B_202D_202D_202A_200E_200D_200D_202E_206E_206E_202E(clientState), _206C_202C_202B_206E_202C_200B_202C_202B_202D_202D_206D_206A_206A_202C_202E_206F_200C_202D_206A_202C_202B_202D_200F_206A_206A_202A_202E_202C_202B_202C_206B_200F_202D_202A_206B_206B_200F_202D_202D_202C_202E((IGameObject)playerCharacter)); - num = (((object)menderNpc == null) ? (-1145158931) : (-1145158932)); - continue; - case 6: - _206A_206D_202D_200F_200E_202D_206E_206C_206B_202E_202D_200E_200D_200E_206B_206D_206B_200E_202D_206A_202B_200E_200B_202B_200F_206F_202C_200D_200B_202E_202E_206D_206C_202B_206F_206E_200F_206B_200D_206A_202E((ILogger)logger, 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(517880176), new object[1] { lowestCondition }); - taskQueue.Enqueue(new Questionable.Controller.Steps.Common.Mount.UnmountTask()); - taskQueue.Enqueue(new RepairGear.SelfRepairTask()); - MarkAttempt(); - failureReason = string.Empty; - return true; - case 4: - num = -1145158934; - continue; - case 5: - { - IEnumerator enumerator = MenderDataService.CityFallbacks.GetEnumerator(); - try - { - num = -1950756902; - while (true) - { - int num5 = num; - num3 = -1950756902; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 0: - num = (_206B_200F_206D_206D_206B_206B_200B_206D_202A_206D_202A_206B_206E_200D_206E_202D_200D_206E_206A_206F_206A_202B_202E_200B_202A_206A_206A_206D_202D_202B_206C_206F_202D_206D_206F_202C_202A_202D_200B_202E_202E((IEnumerator)enumerator) ? (-1950756901) : (-1950756903)); - break; - case 1: - current = enumerator.Current; - num = ((!routeEnqueuer.TryEnqueueRouted(taskQueue, current.TerritoryId, current.Position)) ? (-1950756902) : (-1950756898)); - break; - case 4: - _206A_206D_202D_200F_200E_202D_206E_206C_206B_202E_202D_200E_200D_200E_206B_206D_206B_200E_202D_206A_202B_200E_200B_202B_200F_206F_202C_200D_200B_202E_202E_206D_206C_202B_206F_206E_200F_206B_200D_206A_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(90066395), new object[2] { lowestCondition, current.DataId }); - taskQueue.Enqueue(new Questionable.Controller.Steps.Common.Mount.UnmountTask()); - taskQueue.Enqueue(new RepairGear.MenderRepairTask(current)); - MarkAttempt(); - failureReason = string.Empty; - return true; - case 2: - num = -1950756902; - break; - case 3: - goto end_IL_01c7; - } - continue; - end_IL_01c7: - break; - } - } - finally - { - num = ((enumerator == null) ? (-462922479) : (-462922478)); - while (true) - { - int num8 = num; - num3 = -462922477; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -462922478; - break; - case 2: - goto end_IL_02f5; - case 1: - _200C_206C_200E_200B_202C_206C_206A_200E_200D_206F_206F_200D_200E_200E_200C_206A_206C_206F_200E_200B_206E_202E_202C_202D_200B_202D_202A_200D_206F_200E_202C_200B_202D_200B_200D_206B_206B_202D_206F_200C_202E((IDisposable)enumerator); - num = -462922479; - break; - } - continue; - end_IL_02f5: - break; - } - } - break; } - } - break; } - failureReason = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1806822311); + if (aetheryteFunctions.IsTeleportUnlocked()) + { + foreach (MenderNpc cityFallback in MenderDataService.CityFallbacks) + { + if (routeEnqueuer.TryEnqueueRouted(taskQueue, cityFallback.TerritoryId, cityFallback.Position)) + { + logger.LogInformation("Lowest gear condition {Condition}%, no zone mender - routing to city mender {DataId}", lowestCondition, cityFallback.DataId); + taskQueue.Enqueue(new Questionable.Controller.Steps.Common.Mount.UnmountTask()); + taskQueue.Enqueue(new RepairGear.MenderRepairTask(cityFallback)); + MarkAttempt(); + failureReason = string.Empty; + return true; + } + } + } + failureReason = "no dark matter or crafter levels for self-repair, and no reachable mender"; return false; } private bool CanSelfRepair() { ExcelSheet classJobSheet = dataManager.GetExcelSheet(); - return _206B_200B_200F_206D_202B_200D_206D_200E_202E_200D_200E_200C_200D_200C_206A_200D_202D_202B_206C_202C_206C_206C_206B_206B_206C_206E_200C_206F_206C_206F_200C_202C_202D_200F_206E_202E_206A_202B_206D_200C_202E(dataManager, (Func)delegate(uint classJobId) - { - ClassJob row; - int num = (classJobSheet.TryGetRow(classJobId, out row) ? (-528090726) : (-528090727)); - while (true) - { - int num2 = num; - int num3 = -528090725; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004e; - case 2: - return 0; - case 1: - return (byte)_003C_003Ec__DisplayClass19_0._200C_206B_202B_202B_206C_200B_202D_206C_206D_206C_206E_202E_202E_202B_200B_206F_202B_202C_202A_200D_206E_202E_206C_200F_202C_206B_200D_206A_202E_202C_200B_206D_206C_200F_200E_206C_200F_206E_200D_202A_202E((int)row.ExpArrayIndex); - } - continue; - IL_004e: - num = -528090727; - } - }, configuration.General.RepairThresholdPercent); + ClassJob row; + return RepairActions.CanSelfRepairAny(dataManager, (uint classJobId) => (byte)(classJobSheet.TryGetRow(classJobId, out row) ? ((byte)PlayerStateHelper.GetClassJobLevel(row.ExpArrayIndex)) : 0), configuration.General.RepairThresholdPercent); } private void MarkAttempt() { - _nextAttemptAtMs = _202B_206C_202A_202A_206E_202C_200C_202A_202A_200E_200B_200D_206B_202D_206A_200B_200D_200E_200B_200F_206F_202C_202C_200F_200E_202E_206F_202E_202E_206B_202C_202D_200F_200C_200B_206F_206E_202E_206A_202A_202E() + 300000; - } - - static bool _202A_206F_206D_206C_200E_200C_206D_206A_200E_202A_206E_206F_206C_200C_200E_200F_202B_202B_206B_202C_200F_206C_202C_206C_202E_206C_206F_206C_200F_206E_200D_200E_202B_206B_202A_202D_202A_200C_202B_206A_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static int? _200E_202E_202C_202C_200D_206E_200B_202B_200E_202E_202A_202C_202D_202B_202D_202B_200E_206C_206F_206E_206C_202C_202E_200C_202A_202C_202C_206D_206C_202B_200B_206C_202D_202E_200D_200E_206C_200C_206A_206C_202E() - { - return GearConditionHelper.GetLowestConditionPercent(); - } - - static long _202B_206C_202A_202A_206E_202C_200C_202A_202A_200E_200B_200D_206B_202D_206A_200B_200D_200E_200B_200F_206F_202C_202C_200F_200E_202E_206F_202E_202E_206B_202C_202D_200F_200C_200B_206F_206E_202E_206A_202A_202E() - { - return Environment.TickCount64; - } - - static void _206A_200F_206D_200B_202C_200B_206D_206C_202E_202E_200F_200F_202B_200D_200D_206F_200B_206B_206D_202E_202D_206C_206A_202D_202A_206A_202B_200D_206D_206B_206C_206D_206F_202E_200D_202A_202C_202E_206A_206E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogError(P_1, P_2); - } - - static void _200D_206B_206B_202C_200D_206C_200E_200D_202E_202C_206B_202D_206B_206C_206F_200D_200F_206D_200E_206C_206F_206B_202E_200B_200C_202E_202E_202B_206F_206C_206C_202A_206D_202A_200C_206B_200B_200F_202C_206C_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.Print(P_1, P_2, P_3); - } - - static void _206A_206D_202D_200F_200E_202D_206E_206C_206B_202E_202D_200E_200D_200E_206B_206D_206B_200E_202D_206A_202B_200E_200B_202B_200F_206F_202C_200D_200B_202E_202E_206D_206C_202B_206F_206E_200F_206B_200D_206A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static IPlayerCharacter _206D_202E_206C_206D_200F_202E_200C_200C_202B_202B_200D_200F_206A_206E_206F_206C_202E_206A_202D_202C_206B_206D_200B_206D_206A_202E_200D_200C_202D_200D_206C_200D_206C_206B_202C_206E_206B_206F_202C_202D_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static uint _200E_206C_200F_200D_202E_206C_202D_206E_206C_206A_200C_202E_200E_206F_200F_200B_202B_202C_206A_202A_202A_200D_206F_206C_202C_202C_202A_202B_206D_206F_202B_202D_202D_202A_200E_200D_200D_202E_206E_206E_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static Vector3 _206C_202C_202B_206E_202C_200B_202C_202B_202D_202D_206D_206A_206A_202C_202E_206F_200C_202D_206A_202C_202B_202D_200F_206A_206A_202A_202E_202C_202B_202C_206B_200F_202D_202A_206B_206B_200F_202D_202D_202C_202E(IGameObject P_0) - { - return P_0.Position; - } - - static bool _206B_200F_206D_206D_206B_206B_200B_206D_202A_206D_202A_206B_206E_200D_206E_202D_200D_206E_206A_206F_206A_202B_202E_200B_202A_206A_206A_206D_202D_202B_206C_206F_202D_206D_206F_202C_202A_202D_200B_202E_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200C_206C_200E_200B_202C_206C_206A_200E_200D_206F_206F_200D_200E_200E_200C_206A_206C_206F_200E_200B_206E_202E_202C_202D_200B_202D_202A_200D_206F_200E_202C_200B_202D_200B_200D_206B_206B_202D_206F_200C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static bool _206B_200B_200F_206D_202B_200D_206D_200E_202E_200D_200E_200C_200D_200C_206A_200D_202D_202B_206C_202C_206C_206C_206B_206B_206C_206E_200C_206F_206C_206F_200C_202C_202D_200F_206E_202E_206A_202B_206D_200C_202E(IDataManager P_0, Func P_1, int P_2) - { - return RepairActions.CanSelfRepairAny(P_0, P_1, P_2); + _nextAttemptAtMs = Environment.TickCount64 + 300000; } } diff --git a/Questionable/Questionable.Controller/InterruptHandler.cs b/Questionable/Questionable.Controller/InterruptHandler.cs index c9ff281..3bc5d90 100644 --- a/Questionable/Questionable.Controller/InterruptHandler.cs +++ b/Questionable/Questionable.Controller/InterruptHandler.cs @@ -1,9 +1,6 @@ using System; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -using System.Threading; using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Hooking; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; @@ -42,54 +39,11 @@ internal sealed class InterruptHandler : IDisposable [FieldOffset(6)] public ushort Value; - public byte AttackType - { - get - { - byte param = Param1; - int num = 15; - int num2 = param; - return (byte)(num2 + num - (num2 | num)); - } - } + public byte AttackType => (byte)(Param1 & 0xF); - [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(73, 11); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-725035009)); - defaultInterpolatedStringHandler.AppendFormatted(Type); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-496390848)); - defaultInterpolatedStringHandler.AppendFormatted(Param0, 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(609308249)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(877514922)); - defaultInterpolatedStringHandler.AppendFormatted(Param1, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1055630216)); - defaultInterpolatedStringHandler.AppendLiteral(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(25938555)); - defaultInterpolatedStringHandler.AppendFormatted(Param2, 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(609308249)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-845350805)); - defaultInterpolatedStringHandler.AppendFormatted(Param2, 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(-1875656278)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1021698688)); - defaultInterpolatedStringHandler.AppendFormatted(_202B_202B_200B_202E_206A_206E_202A_202A_202E_206D_202E_200B_206A_206D_200B_200C_200F_200B_202B_202C_206A_200F_200D_200D_202C_200C_206B_202D_202C_202C_202B_206B_202E_206F_200F_206D_200B_200E_200E_206B_202E(_202E_200D_200B_206B_200C_206D_200D_202E_206B_206E_202C_206B_202A_206A_202A_206B_202A_206E_202D_200C_206A_200E_200F_202C_206F_206B_200C_200F_202C_202E_206E_200F_206E_206C_200D_206A_200C_202E_206C_202E_202E(Param2, 2), 8, '0')); - defaultInterpolatedStringHandler.AppendLiteral(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(-884985363)); - defaultInterpolatedStringHandler.AppendFormatted(Mult, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-645152765)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1045548845)); - defaultInterpolatedStringHandler.AppendFormatted(Flags, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-645152765)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(594831569)); - defaultInterpolatedStringHandler.AppendFormatted(_202B_202B_200B_202E_206A_206E_202A_202A_202E_206D_202E_200B_206A_206D_200B_200C_200F_200B_202B_202C_206A_200F_200D_200D_202C_200C_206B_202D_202C_202C_202B_206B_202E_206F_200F_206D_200B_200E_200E_206B_202E(_202E_200D_200B_206B_200C_206D_200D_202E_206B_206E_202C_206B_202A_206A_202A_206B_202A_206E_202D_200C_206A_200E_200F_202C_206F_206B_200C_200F_202C_202E_206E_200F_206E_206C_200D_206A_200C_202E_206C_202E_202E(Flags, 2), 8, '0')); - defaultInterpolatedStringHandler.AppendLiteral(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(1435755758)); - defaultInterpolatedStringHandler.AppendFormatted(Value, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(123427143)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(739800108)); - defaultInterpolatedStringHandler.AppendFormatted(AttackType); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - static string _202E_200D_200B_206B_200C_206D_200D_202E_206B_206E_202C_206B_202A_206A_202A_206B_202A_206E_202D_200C_206A_200E_200F_202C_206F_206B_200C_200F_202C_202E_206E_200F_206E_206C_200D_206A_200C_202E_206C_202E_202E(byte P_0, int P_1) - { - return Convert.ToString(P_0, P_1); - } - - static string _202B_202B_200B_202E_206A_206E_202A_202A_202E_206D_202E_200B_206A_206D_200B_200C_200F_200B_202B_202C_206A_200F_200D_200D_202C_200C_206B_202D_202C_202C_202B_206B_202E_206F_200F_206D_200B_200E_200E_206B_202E(string P_0, int P_1, char P_2) - { - return P_0.PadLeft(P_1, P_2); + return $"Type: {Type}, p0: {Param0:D3}, p1: {Param1:D3}, p2: {Param2:D3} 0x{Param2:X2} '{Convert.ToString(Param2, 2).PadLeft(8, '0')}', mult: {Mult:D3}, flags: {Flags:D3} | {Convert.ToString(Flags, 2).PadLeft(8, '0')}, value: {Value:D6} ATTACK TYPE: {AttackType}"; } } @@ -183,72 +137,8 @@ internal sealed class InterruptHandler : IDisposable private readonly ILogger _logger; - [CompilerGenerated] - private EventHandler? m_Interrupted; + public event EventHandler? Interrupted; - public event EventHandler? Interrupted - { - [CompilerGenerated] - add - { - EventHandler eventHandler = this.m_Interrupted; - int num = -1990188142; - while (true) - { - int num2 = num; - int num3 = -1990188141; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1990188142; - break; - case 2: - return; - case 1: - { - EventHandler eventHandler2 = eventHandler; - EventHandler value2 = (EventHandler)_200D_200C_206C_200D_202D_202E_206A_202A_206E_202A_200C_202C_200E_200C_200D_206C_202C_200E_200B_206D_200D_200C_206B_206B_200E_206B_202B_200B_206A_200F_206E_200B_200B_206E_202A_206A_206D_202D_206B_202A_202E((Delegate)eventHandler2, (Delegate)value); - eventHandler = Interlocked.CompareExchange(ref this.m_Interrupted, value2, eventHandler2); - num = (((object)eventHandler != eventHandler2) ? (-1990188142) : (-1990188143)); - break; - } - } - } - } - [CompilerGenerated] - remove - { - EventHandler eventHandler = this.m_Interrupted; - int num = -2074209311; - while (true) - { - int num2 = num; - int num3 = -2074209312; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -2074209311; - break; - case 0: - return; - case 1: - { - EventHandler eventHandler2 = eventHandler; - EventHandler value2 = (EventHandler)_202C_200E_200C_202C_200E_202C_206F_202C_206A_206E_206E_206F_202E_200C_206F_200C_200F_202C_202D_206A_200F_202A_200F_202C_202A_202D_200B_206A_206B_202D_200B_200D_206F_200B_202B_200E_202A_200F_206B_202E_202E((Delegate)eventHandler2, (Delegate)value); - eventHandler = Interlocked.CompareExchange(ref this.m_Interrupted, value2, eventHandler2); - num = (((object)eventHandler != eventHandler2) ? (-2074209311) : (-2074209312)); - break; - } - } - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe InterruptHandler(IGameInteropProvider gameInteropProvider, IClientState clientState, IObjectTable objectTable, TerritoryData territoryData, ILogger logger) { _clientState = clientState; @@ -260,110 +150,44 @@ internal sealed class InterruptHandler : IDisposable _processActionEffectHook = gameInteropProvider.HookFromAddress(ActionEffectHandler.Addresses.Receive.Value, HandleProcessActionEffect); _processActionEffectHook.Enable(); } - catch (Exception ex) + catch (Exception exception) { - _202C_200C_206A_202B_206A_202E_206E_206A_202D_206C_200D_200E_206E_200C_200E_206F_200D_200B_200C_206B_206D_206C_202E_202B_206C_206F_202A_206D_202B_206F_200E_200D_200D_202A_206E_200E_202E_206A_206F_202E_202E((ILogger)_logger, ex, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1192049200), Array.Empty()); + _logger.LogError(exception, "Failed to hook ProcessActionEffect; combat interrupt detection disabled (a game restart usually restores it)"); _processActionEffectHook = null; } } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void HandleProcessActionEffect(uint sourceId, Character* sourceCharacter, Vector3* pos, EffectHeader* effectHeader, EffectEntry* effectArray, ulong* effectTail) { try { - int num = (_territoryData.IsDutyInstance(_200C_206D_206C_206B_206C_206E_202D_206F_202A_200B_206E_206C_202D_202D_202C_202B_202E_202B_200C_206B_202D_200D_200E_206A_200F_206F_206C_206D_206D_202E_202C_206D_202D_206C_200D_206D_202B_200F_206F_200C_202E(_clientState)) ? (-1304675561) : (-1304675555)); - EActionEffectType type = default(EActionEffectType); - bool flag = default(bool); - bool flag2 = default(bool); - int num8 = default(int); - EffectEntry* ptr = default(EffectEntry*); - IPlayerCharacter playerCharacter = default(IPlayerCharacter); - while (true) + if (_territoryData.IsDutyInstance(_clientState.TerritoryType)) { - int num2 = num; - int num3 = -1304675562; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + IPlayerCharacter localPlayer = _objectTable.LocalPlayer; + for (int i = 0; i < effectHeader->TargetCount; i++) + { + int num = (int)(effectTail[i] & 0xFFFFFFFFu); + EffectEntry* ptr = effectArray + 8 * i; + bool flag = (uint)num == localPlayer?.GameObjectId; + if (flag) { - case 9: - num = ((type - 5 > EActionEffectType.Miss) ? (-1304675562) : (-1304675567)); - break; - case 4: + EActionEffectType type = ptr->Type; + bool flag2 = ((type == EActionEffectType.Damage || type - 5 <= EActionEffectType.Miss) ? true : false); flag = flag2; - num = -1304675556; - break; - case 5: - { - int num11 = (int)(effectTail[num8] & 0xFFFFFFFFu); - ptr = effectArray + 8 * num8; - flag = (uint)num11 == ((playerCharacter != null) ? new ulong?(_206C_202B_200E_206A_206E_200C_202D_200F_202E_206C_206F_202D_200F_202A_200B_202E_202D_200B_206B_206A_200F_202A_200E_202C_200D_206C_202E_206C_200B_200F_202E_206E_206F_202A_202E_200E_206E_206B_206D_202A_202E((IGameObject)playerCharacter)) : ((ulong?)null)); - num = ((!flag) ? (-1304675556) : (-1304675564)); - break; } - case 8: - num = -1304675555; - break; - case 3: + if (flag) { - _202A_202E_206C_206E_200D_202E_202E_206F_206B_202E_200C_200D_202A_200B_206E_206A_202D_200F_200D_202D_200B_200D_200D_206C_202B_206C_202A_202A_200E_202D_206A_206A_202C_200F_206B_202A_202E_202E_202E_200E_202E((ILogger)_logger, 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(1232681813), new object[2] - { - sourceId, - ptr->Type - }); - EventHandler? eventHandler = this.Interrupted; - if (eventHandler == null) - { - return; - } - eventHandler(this, EventArgs.Empty); - num = -1304675561; + _logger.LogTrace("Damage action effect on self, from {SourceId} ({EffectType})", sourceId, ptr->Type); + this.Interrupted?.Invoke(this, EventArgs.Empty); break; } - case 12: - num = ((num8 < effectHeader->TargetCount) ? (-1304675565) : (-1304675561)); - break; - case 2: - type = ptr->Type; - num = ((type == EActionEffectType.Damage) ? (-1304675567) : (-1304675553)); - break; - case 7: - flag2 = true; - num = -1304675566; - break; - case 0: - flag2 = false; - num = -1304675566; - break; - case 10: - num = ((!flag) ? (-1304675568) : (-1304675563)); - break; - case 11: - playerCharacter = _202E_200F_202B_200C_202B_202C_202D_200F_206B_200F_206E_200C_202E_200F_202E_202D_206E_200C_206E_206F_206D_206A_202D_200E_206A_200E_202B_206B_202A_202D_202C_200F_200E_200C_202C_200E_206E_206D_202B_202E_202E(_objectTable); - num8 = 0; - num = -1304675558; - break; - case 6: - { - int num7 = num8; - num3 = 1; - num4 = num7; - int num9 = num4 ^ num3; - int num10 = num4 & num3; - num8 = num9 + (num10 + num10); - num = -1304675558; - break; - } - case 1: - return; - } } } - catch (Exception ex) + catch (Exception exception) { - _200D_200E_202A_206E_200C_200D_202E_200D_202C_206E_200F_200D_206F_202E_200C_200C_200E_202E_202E_206B_206A_206E_206B_202B_200C_200C_206E_206B_200C_202D_202C_202B_200E_202B_202A_206E_200B_202C_206A_206F_202E((ILogger)_logger, ex, 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(-1383878648), Array.Empty()); + _logger.LogWarning(exception, "Unable to process action effect"); } finally { @@ -373,73 +197,10 @@ internal sealed class InterruptHandler : IDisposable public void Dispose() { - int num = ((_processActionEffectHook == null) ? (-1959940168) : (-1959940165)); - while (true) + if (_processActionEffectHook != null) { - int num2 = num; - int num3 = -1959940166; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1959940165; - break; - case 1: - _processActionEffectHook.Disable(); - _processActionEffectHook.Dispose(); - num = -1959940168; - break; - case 2: - return; - } + _processActionEffectHook.Disable(); + _processActionEffectHook.Dispose(); } } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static void _202C_200C_206A_202B_206A_202E_206E_206A_202D_206C_200D_200E_206E_200C_200E_206F_200D_200B_200C_206B_206D_206C_202E_202B_206C_206F_202A_206D_202B_206F_200E_200D_200D_202A_206E_200E_202E_206A_206F_202E_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } - - static Delegate _200D_200C_206C_200D_202D_202E_206A_202A_206E_202A_200C_202C_200E_200C_200D_206C_202C_200E_200B_206D_200D_200C_206B_206B_200E_206B_202B_200B_206A_200F_206E_200B_200B_206E_202A_206A_206D_202D_206B_202A_202E(Delegate P_0, Delegate P_1) - { - return Delegate.Combine(P_0, P_1); - } - - static Delegate _202C_200E_200C_202C_200E_202C_206F_202C_206A_206E_206E_206F_202E_200C_206F_200C_200F_202C_202D_206A_200F_202A_200F_202C_202A_202D_200B_206A_206B_202D_200B_200D_206F_200B_202B_200E_202A_200F_206B_202E_202E(Delegate P_0, Delegate P_1) - { - return Delegate.Remove(P_0, P_1); - } - - static uint _200C_206D_206C_206B_206C_206E_202D_206F_202A_200B_206E_206C_202D_202D_202C_202B_202E_202B_200C_206B_202D_200D_200E_206A_200F_206F_206C_206D_206D_202E_202C_206D_202D_206C_200D_206D_202B_200F_206F_200C_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static IPlayerCharacter _202E_200F_202B_200C_202B_202C_202D_200F_206B_200F_206E_200C_202E_200F_202E_202D_206E_200C_206E_206F_206D_206A_202D_200E_206A_200E_202B_206B_202A_202D_202C_200F_200E_200C_202C_200E_206E_206D_202B_202E_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static ulong _206C_202B_200E_206A_206E_200C_202D_200F_202E_206C_206F_202D_200F_202A_200B_202E_202D_200B_206B_206A_200F_202A_200E_202C_200D_206C_202E_206C_200B_200F_202E_206E_206F_202A_202E_200E_206E_206B_206D_202A_202E(IGameObject P_0) - { - return P_0.GameObjectId; - } - - static void _202A_202E_206C_206E_200D_202E_202E_206F_206B_202E_200C_200D_202A_200B_206E_206A_202D_200F_200D_202D_200B_200D_200D_206C_202B_206C_202A_202A_200E_202D_206A_206A_202C_200F_206B_202A_202E_202E_202E_200E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogTrace(P_1, P_2); - } - - static void _200D_200E_202A_206E_200C_200D_202E_200D_202C_206E_200F_200D_206F_202E_200C_200C_200E_202E_202E_206B_206A_206E_206B_202B_200C_200C_206E_206B_200C_202D_202C_202B_200E_202B_202A_206E_200B_202C_206A_206F_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogWarning(P_1, P_2, P_3); - } } diff --git a/Questionable/Questionable.Controller/MiniTaskController.cs b/Questionable/Questionable.Controller/MiniTaskController.cs index 00af23f..0b7d3c1 100644 --- a/Questionable/Questionable.Controller/MiniTaskController.cs +++ b/Questionable/Questionable.Controller/MiniTaskController.cs @@ -1,8 +1,6 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Linq; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text.RegularExpressions; using Dalamud.Game.ClientState.Conditions; @@ -10,7 +8,6 @@ using Dalamud.Game.Text.SeStringHandling; using Dalamud.Plugin.Services; using LLib; using Lumina.Excel.Sheets; -using Lumina.Text.ReadOnly; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Questionable.Controller.Steps; @@ -24,55 +21,6 @@ namespace Questionable.Controller; internal abstract class MiniTaskController : IDisposable { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__13_0; - - public static Func _003C_003E9__13_1; - - public static Func _003C_003E9__13_2; - - public static Func _003C_003E9__20_1; - - public static Func _003C_003E9__20_0; - - internal ReadOnlySeString? _003C_002Ector_003Eb__13_0(LogMessage x) - { - return x.Text; - } - - internal ReadOnlySeString? _003C_002Ector_003Eb__13_1(LogMessage x) - { - return x.Text; - } - - internal ReadOnlySeString? _003C_002Ector_003Eb__13_2(LogMessage x) - { - return x.Text; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal string _003CGetRemainingTaskNames_003Eb__20_1(ITask x) - { - return _206B_202C_200C_206D_200D_200E_206B_202E_202C_206E_200E_200C_200F_202B_202A_206A_206D_200C_200F_202E_200D_200E_206B_200C_200F_200C_206C_202E_200E_206D_206A_200F_200B_206D_202D_206A_206D_200E_206D_206F_202E((object)x) ?? global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(656320081); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal string _003CGetRemainingTaskNames_003Eb__20_0(ITask x) - { - return _206B_202C_200C_206D_200D_200E_206B_202E_202C_206E_200E_200C_200F_202B_202A_206A_206D_200C_200F_202E_200D_200E_206B_200C_200F_200C_206C_202E_200E_206D_206A_200F_200B_206D_202D_206A_206D_200E_206D_206F_202E((object)x) ?? 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(1887683575); - } - - static string _206B_202C_200C_206D_200D_200E_206B_202E_202C_206E_200E_200C_200F_202B_202A_206A_206D_200C_200F_202E_200D_200E_206B_200C_200F_200C_206C_202E_200E_206D_206A_200F_200B_206D_202D_206A_206D_200E_206D_206F_202E(object P_0) - { - return P_0.ToString(); - } - } - protected readonly TaskQueue _taskQueue = new TaskQueue(); private readonly IChatGui _chatGui; @@ -113,10 +61,8 @@ internal abstract class MiniTaskController : IDisposable _interruptHandler.Interrupted += HandleInterruption; } - [MethodImpl(MethodImplOptions.NoInlining)] protected virtual void UpdateCurrentTask() { - int num; if (_taskQueue.CurrentTaskExecutor == null) { if (!_taskQueue.TryDequeue(out ITask task)) @@ -125,46 +71,28 @@ internal abstract class MiniTaskController : IDisposable } try { - _206D_206B_206A_202B_206A_200F_202D_200C_206E_200E_200D_206C_206F_200B_200B_200C_200C_206E_206E_206E_202A_206C_206B_206C_200F_202D_206A_206B_206A_206D_202D_200F_200E_200D_206A_202C_206D_206F_200E_202C_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1429948586), new object[1] { _202D_200B_206C_206B_200E_202E_200D_206C_206A_206D_206C_206A_202E_202B_200C_202B_206F_206C_202A_200D_202B_200B_200B_200E_202C_202C_206D_200E_206D_206A_200F_206D_200E_202C_200D_206A_206B_202D_206E_206F_202E((object)task) }); - ITaskExecutor requiredKeyedService = _serviceProvider.GetRequiredKeyedService(_202B_200E_206B_202E_206D_200E_202A_206B_206F_206A_200D_200B_206A_200F_202C_202C_202A_202B_206E_202D_200F_206E_202D_200B_206E_202D_200B_206C_206E_200B_202E_200E_200B_202A_202A_206A_200C_202D_206D_206D_202E((object)task)); - num = ((!requiredKeyedService.Start(task)) ? (-231627347) : (-231627345)); - while (true) + _logger.LogDebug("Starting task {TaskName}", task.ToString()); + ITaskExecutor requiredKeyedService = _serviceProvider.GetRequiredKeyedService(task.GetType()); + if (requiredKeyedService.Start(task)) { - int num2 = num; - int num3 = -231627346; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _taskQueue.CurrentTaskExecutor = requiredKeyedService; + if (task != _lastInterruptedTask) { - case 2: _lastInterruptedTask = null; _interruptRetryCount = 0; - num = -231627346; - break; - case 1: - _taskQueue.CurrentTaskExecutor = requiredKeyedService; - num = ((task == _lastInterruptedTask) ? (-231627346) : (-231627348)); - break; - case 4: - num = -231627345; - break; - case 0: - return; - case 3: - _206C_200C_200B_206D_206A_206E_206A_206D_206A_200D_202E_206E_202B_206E_202E_202C_200F_202B_202B_202C_200C_206C_206C_200F_206B_200D_206D_206C_202C_200B_206E_200F_206F_200E_202A_206B_200F_202B_200E_200E_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(383569520), new object[1] { _202D_200B_206C_206B_200E_202E_200D_206C_206A_206D_206C_206A_202E_202B_200C_202B_206F_206C_202A_200D_202B_200B_200B_200E_202C_202C_206D_200E_206D_206A_200F_206D_200E_202C_200D_206A_206B_202D_206E_206F_202E((object)task) }); - return; } } + else + { + _logger.LogTrace("Task {TaskName} was skipped", task.ToString()); + } + return; } - catch (Exception ex) + catch (Exception exception) { - _206E_206B_200C_202D_206E_202E_200F_206B_206F_202B_206F_206D_206C_206C_202C_200B_206A_200E_200E_200D_202B_202E_202B_200D_206F_202C_206D_206A_202B_202A_206E_200B_206B_200F_206F_202D_200B_206A_202B_202A_202E((ILogger)_logger, ex, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-347977283), new object[1] { _202D_200B_206C_206B_200E_202E_200D_206C_206A_206D_206C_206A_202E_202B_200C_202B_206F_206C_202A_200D_202B_200B_200B_200E_202C_202C_206D_200E_206D_206A_200F_206D_200E_202C_200D_206A_206B_202D_206E_206F_202E((object)task) }); - IChatGui chatGui = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(57, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2137508884)); - defaultInterpolatedStringHandler.AppendFormatted(task); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(956431555)); - _200C_202A_200F_200D_200C_206A_202E_202E_206B_202B_200B_202D_200F_202C_202C_202A_206B_202C_206C_206B_202E_206D_200C_202C_202E_200F_200E_206C_202A_206B_202E_200D_200C_206D_200E_206A_200E_200C_206F_206E_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); - Stop(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(-728065814)); + _logger.LogError(exception, "Failed to start task {TaskName}", task.ToString()); + _chatGui.PrintError($"Failed to start task '{task}', please check /xllog for details.", "Questionable", 576); + Stop("Task failed to start"); return; } } @@ -173,232 +101,107 @@ internal abstract class MiniTaskController : IDisposable ETaskResult eTaskResult; try { - num = ((!currentTaskExecutor.WasInterrupted()) ? 235217046 : 235217045); - while (true) + if (currentTaskExecutor.WasInterrupted()) { - int num5 = num; - int num3 = 235217046; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) + InterruptQueueWithCombat(); + return; + } + if (currentTaskExecutor.HasTimedOut(_configuration.Advanced.InteractionTimeoutSeconds)) + { + _logger.LogWarning("Task {TaskName} timed out after {Timeout}s", currentTask, _configuration.Advanced.InteractionTimeoutSeconds); + if (_condition[ConditionFlag.InCombat]) { - case 6: - return; - case 2: - _206D_202E_202E_206E_202A_202A_202D_202C_200C_200F_200B_200B_202A_206B_202D_206D_200E_206C_200B_206F_206D_200F_206D_206E_200F_202C_202E_202A_200E_206D_200E_206D_206C_200D_206A_202D_206B_206E_206F_206D_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1893436399), new object[1] { _retryStepCount }); - Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-209533649)); - return; - case 5: InterruptQueueWithCombat(); - num = 235217040; - break; - case 1: - _206F_206B_206C_200E_202E_206D_206C_200E_202B_206D_206B_202E_200C_200D_206D_200B_200F_200B_206C_200E_202B_202B_206E_206B_206C_206B_206E_200D_206A_202C_202D_206F_206B_200F_206D_200F_206E_206E_202D_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1774014248), new object[2] - { - currentTask, - _configuration.Advanced.InteractionTimeoutSeconds - }); - num = ((!_202D_206D_206E_202B_206C_200E_200B_200B_200B_202B_206A_202D_206C_200E_202D_200D_202C_200E_206F_206D_202C_206B_202B_200D_202A_202D_206A_206D_202D_206B_200E_200D_202D_202C_206D_206B_202D_206B_206D_206E_202E(_condition, ConditionFlag.InCombat)) ? 235217041 : 235217043); - break; - case 4: - _206D_206B_206A_202B_206A_200F_202D_200C_206E_200E_200D_206C_206F_200B_200B_200C_200C_206E_206E_206E_202A_206C_206B_206C_200F_202D_206A_206B_206A_206D_202D_200F_200E_200D_206A_202C_206D_206F_200E_202C_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1770635265), new object[2] - { - _retryStepCount, - _configuration.Advanced.InteractionRetryLimit - }); + return; + } + _retryStepCount++; + if (_retryStepCount > _configuration.Advanced.InteractionRetryLimit) + { + _logger.LogError("Non-combat timeout retry limit exceeded after {Count} retries, stopping", _retryStepCount); + Stop("Non-combat timeout retry limit exceeded"); + } + else + { + _logger.LogDebug("Not in combat, retrying step (attempt {Count}/{Limit})", _retryStepCount, _configuration.Advanced.InteractionRetryLimit); _taskQueue.Reset(); OnRetryStep(); - num = 235217040; - break; - case 8: - num = 235217045; - break; - case 0: - num = ((!currentTaskExecutor.HasTimedOut(_configuration.Advanced.InteractionTimeoutSeconds)) ? 235217055 : 235217047); - break; - case 3: - InterruptQueueWithCombat(); - return; - case 7: - { - int retryStepCount = _retryStepCount; - num3 = 1; - num4 = retryStepCount; - int num6 = num4 ^ num3; - int num7 = num4 & num3; - _retryStepCount = num6 + (num7 + num7); - num = ((_retryStepCount <= _configuration.Advanced.InteractionRetryLimit) ? 235217042 : 235217044); - break; } - case 9: - eTaskResult = currentTaskExecutor.Update(); - goto end_IL_0211; - } - continue; - end_IL_0211: - break; + return; } + eTaskResult = currentTaskExecutor.Update(); } catch (MovementController.PathfindingFailedException) { throw; } - catch (Exception ex3) + catch (Exception exception2) { - _206E_206B_200C_202D_206E_202E_200F_206B_206F_202B_206F_206D_206C_206C_202C_200B_206A_200E_200E_200D_202B_202E_202B_200D_206F_202C_206D_206A_202B_202A_206E_200B_206B_200F_206F_202D_200B_206A_202B_202A_202E((ILogger)_logger, ex3, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-407849183), new object[1] { currentTask }); - IChatGui chatGui2 = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(58, 1); - defaultInterpolatedStringHandler2.AppendLiteral(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(822530907)); - defaultInterpolatedStringHandler2.AppendFormatted(currentTask); - defaultInterpolatedStringHandler2.AppendLiteral(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(-201978855)); - _200C_202A_200F_200D_200C_206A_202E_202E_206B_202B_200B_202D_200F_202C_202C_202A_206B_202C_206C_206B_202E_206D_200C_202C_202E_200F_200E_206C_202A_206B_202E_200D_200C_206D_200E_206A_200E_200C_206F_206E_202E(chatGui2, defaultInterpolatedStringHandler2.ToStringAndClear(), 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(1481660241), (ushort?)(ushort)576); - Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-391735924)); + _logger.LogError(exception2, "Failed to update task {TaskName}", currentTask); + _chatGui.PrintError($"Failed to update task '{currentTask}', please check /xllog for details.", "Questionable", 576); + Stop("Task failed to update"); return; } - num = ((_taskQueue.CurrentTaskExecutor == currentTaskExecutor) ? (-1790042060) : (-1790042062)); - bool flag = default(bool); - ITask task2 = default(ITask); - IExtraTaskCreator extraTaskCreator = default(IExtraTaskCreator); - while (true) + if (_taskQueue.CurrentTaskExecutor != currentTaskExecutor) { - int num8 = num; - int num3 = -1790042050; - int num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - int retryStepCount2; - ILastTask task3; - switch (num9 - (num10 + num10)) + return; + } + switch (eTaskResult) + { + case ETaskResult.StillRunning: + break; + case ETaskResult.SkipRemainingTasksForStep: + { + _logger.LogDebug("{Task} → {Result}, skipping remaining tasks for step", currentTask, eTaskResult); + _taskQueue.CurrentTaskExecutor = null; + ITask task3; + while (_taskQueue.TryDequeue(out task3)) { - case 1: - num = ((!flag) ? (-1790042054) : (-1790042068)); - break; - case 0: - num = ((!(task2 is Gather.SkipMarker)) ? (-1790042072) : (-1790042055)); - break; - case 17: - _206D_206B_206A_202B_206A_200F_202D_200C_206E_200E_200D_206C_206F_200B_200B_200C_200C_206E_206E_206E_202A_206C_206B_206C_200F_202D_206A_206B_206A_206D_202D_200F_200E_200D_206A_202C_206D_206F_200E_202C_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1662139304), new object[3] + if ((task3 is ILastTask || task3 is Gather.SkipMarker) ? true : false) { - currentTask, - eTaskResult, - _taskQueue.RemainingTasks.Count() - }); - OnTaskComplete(currentTask); - num = ((eTaskResult != ETaskResult.CreateNewTasks) ? (-1790042058) : (-1790042059)); - break; - case 18: - { - ITaskExecutor requiredKeyedService2 = _serviceProvider.GetRequiredKeyedService(_202B_200E_206B_202E_206D_200E_202A_206B_206F_206A_200D_200B_206A_200F_202C_202C_202A_202B_206E_202D_200F_206E_202D_200B_206E_202D_200B_206C_206E_200B_202E_200E_200B_202A_202A_206A_200C_202D_206D_206D_202E((object)task2)); - requiredKeyedService2.Start(task2); - _taskQueue.CurrentTaskExecutor = requiredKeyedService2; - return; - } - case 6: - num = -1790042062; - break; - case 21: - _206D_206B_206A_202B_206A_200F_202D_200C_206E_200E_200D_206C_206F_200B_200B_200C_200C_206E_206E_206E_202A_206C_206B_206C_200F_202D_206A_206B_206A_206D_202D_200F_200E_200D_206A_202C_206D_206F_200E_202C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-705700696), new object[4] - { - currentTask, - eTaskResult, - _retryStepCount, - _configuration.Advanced.InteractionRetryLimit - }); - _taskQueue.Reset(); - OnRetryStep(); - return; - case 19: - _taskQueue.EnqueueAll(extraTaskCreator.CreateExtraTasks()); - num = -1790042058; - break; - case 8: - _taskQueue.CurrentTaskExecutor = null; - return; - case 9: - _206D_202E_202E_206E_202A_202A_202D_202C_200C_200F_200B_200B_202A_206B_202D_206D_200E_206C_200B_206F_206D_200F_206D_206E_200F_202C_202E_202A_200E_206D_200E_206D_206C_200D_206A_202D_206B_206E_206F_206D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1386872238), new object[1] { _retryStepCount }); - Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(724240837)); - return; - case 5: - goto IL_071a; - case 13: - return; - case 3: - goto IL_0761; - case 20: - return; - case 10: - switch (eTaskResult) - { - case ETaskResult.TaskComplete: - case ETaskResult.CreateNewTasks: + ITaskExecutor requiredKeyedService2 = _serviceProvider.GetRequiredKeyedService(task3.GetType()); + requiredKeyedService2.Start(task3); + _taskQueue.CurrentTaskExecutor = requiredKeyedService2; break; - case ETaskResult.End: - goto IL_071a; - case ETaskResult.StillRunning: - return; - case ETaskResult.NextStep: - goto IL_0761; - default: - goto IL_07d0; - case ETaskResult.RetryStep: - goto IL_0821; - case ETaskResult.SkipRemainingTasksForStep: - goto IL_0870; } - goto case 17; - case 22: - flag = false; - num = -1790042049; - break; - case 7: - flag = true; - num = -1790042049; - break; - case 11: - extraTaskCreator = currentTaskExecutor as IExtraTaskCreator; - num = ((extraTaskCreator == null) ? (-1790042058) : (-1790042067)); - break; - case 15: - goto IL_0821; - case 16: - goto IL_0870; - case 14: - num = ((task2 is ILastTask) ? (-1790042055) : (-1790042050)); - break; - case 12: - return; - case 4: - num = ((!_taskQueue.TryDequeue(out task2)) ? (-1790042070) : (-1790042064)); - break; - case 2: - return; - IL_0870: - _206D_206B_206A_202B_206A_200F_202D_200C_206E_200E_200D_206C_206F_200B_200B_200C_200C_206E_206E_206E_202A_206C_206B_206C_200F_202D_206A_206B_206A_206D_202D_200F_200E_200D_206A_202C_206D_206F_200E_202C_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1713413528), new object[2] { currentTask, eTaskResult }); - _taskQueue.CurrentTaskExecutor = null; - num = -1790042054; - break; - IL_0821: - retryStepCount2 = _retryStepCount; - num3 = 1; - num4 = retryStepCount2; - _retryStepCount = (num4 | num3) + (num4 & num3); - num = ((_retryStepCount <= _configuration.Advanced.InteractionRetryLimit) ? (-1790042069) : (-1790042057)); - break; - IL_07d0: - num = -1790042052; - break; - IL_0761: - _206D_206B_206A_202B_206A_200F_202D_200C_206E_200E_200D_206C_206F_200B_200B_200C_200C_206E_206E_206E_202A_206C_206B_206C_200F_202D_206A_206B_206A_206D_202D_200F_200E_200D_206A_202C_206D_206F_200E_202C_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(341325607), new object[2] { currentTask, eTaskResult }); - _retryStepCount = 0; - task3 = (ILastTask)currentTask; - _taskQueue.CurrentTaskExecutor = null; - OnNextStep(task3); - return; - IL_071a: - _206D_206B_206A_202B_206A_200F_202D_200C_206E_200E_200D_206C_206F_200B_200B_200C_200C_206E_206E_206E_202A_206C_206B_206C_200F_202D_206A_206B_206A_206D_202D_200F_200E_200D_206A_202C_206D_206F_200E_202C_202E((ILogger)_logger, 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(-1482182306), new object[2] { currentTask, eTaskResult }); - _taskQueue.CurrentTaskExecutor = null; - Stop(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(910810307)); - return; } + break; + } + case ETaskResult.TaskComplete: + case ETaskResult.CreateNewTasks: + _logger.LogDebug("{Task} → {Result}, remaining tasks: {RemainingTaskCount}", currentTask, eTaskResult, _taskQueue.RemainingTasks.Count()); + OnTaskComplete(currentTask); + if (eTaskResult == ETaskResult.CreateNewTasks && currentTaskExecutor is IExtraTaskCreator extraTaskCreator) + { + _taskQueue.EnqueueAll(extraTaskCreator.CreateExtraTasks()); + } + _taskQueue.CurrentTaskExecutor = null; + break; + case ETaskResult.RetryStep: + _retryStepCount++; + if (_retryStepCount > _configuration.Advanced.InteractionRetryLimit) + { + _logger.LogError("RetryStep limit exceeded after {Count} retries, stopping", _retryStepCount); + Stop("RetryStep limit exceeded"); + break; + } + _logger.LogDebug("{Task} → {Result}, retrying current step (attempt {Count}/{Limit})", currentTask, eTaskResult, _retryStepCount, _configuration.Advanced.InteractionRetryLimit); + _taskQueue.Reset(); + OnRetryStep(); + break; + case ETaskResult.NextStep: + { + _logger.LogDebug("{Task} → {Result}", currentTask, eTaskResult); + _retryStepCount = 0; + ILastTask task2 = (ILastTask)currentTask; + _taskQueue.CurrentTaskExecutor = null; + OnNextStep(task2); + break; + } + case ETaskResult.End: + _logger.LogDebug("{Task} → {Result}", currentTask, eTaskResult); + _taskQueue.CurrentTaskExecutor = null; + Stop("Task end"); + break; } } @@ -406,11 +209,10 @@ internal abstract class MiniTaskController : IDisposable { } - [MethodImpl(MethodImplOptions.NoInlining)] protected virtual void OnRetryStep() { - _206F_206B_206C_200E_202E_206D_206C_200E_202B_206D_206B_202E_200C_200D_206D_200B_200F_200B_206C_200E_202B_202B_206E_206B_206C_206B_206E_200D_206A_202C_202D_206F_206B_200F_206D_200F_206E_206E_202D_206A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(265028979), Array.Empty()); - Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(542623925)); + _logger.LogWarning("RetryStep not handled by this controller, stopping"); + Stop("RetryStep not supported"); } protected void ResetStepRetryCounter() @@ -424,336 +226,130 @@ internal abstract class MiniTaskController : IDisposable public virtual void Stop(string label) { - IStoppableTaskExecutor stoppableTaskExecutor = _taskQueue.CurrentTaskExecutor as IStoppableTaskExecutor; - int num = ((stoppableTaskExecutor == null) ? (-478245129) : (-478245132)); - while (true) + if (_taskQueue.CurrentTaskExecutor is IStoppableTaskExecutor stoppableTaskExecutor) { - int num2 = num; - int num3 = -478245130; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _retryStepCount = 0; - return; - case 2: - stoppableTaskExecutor.StopNow(); - num = -478245129; - break; - case 0: - num = -478245132; - break; - } + stoppableTaskExecutor.StopNow(); } + _retryStepCount = 0; } - [MethodImpl(MethodImplOptions.NoInlining)] public virtual IList GetRemainingTaskNames() { ITask task = _taskQueue.CurrentTaskExecutor?.CurrentTask; - int num = ((task == null) ? 45674528 : 45674531); - while (true) + if (task != null) { - int num2 = num; - int num3 = 45674529; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_005f; - case 1: - return _taskQueue.RemainingTasks.Select([MethodImpl(MethodImplOptions.NoInlining)] (ITask x) => _003C_003Ec._206B_202C_200C_206D_200D_200E_206B_202E_202C_206E_200E_200C_200F_202B_202A_206A_206D_200C_200F_202E_200D_200E_206B_200C_200F_200C_206C_202E_200E_206D_206A_200F_200B_206D_202D_206A_206D_200E_206D_206F_202E((object)x) ?? 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(1887683575)).ToList(); - case 2: - { - List list = new List(); - list.Add(_202D_200B_206C_206B_200E_202E_200D_206C_206A_206D_206C_206A_202E_202B_200C_202B_206F_206C_202A_200D_202B_200B_200B_200E_202C_202C_206D_200E_206D_206A_200F_206D_200E_202C_200D_206A_206B_202D_206E_206F_202E((object)task) ?? 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(1887683575)); - list.AddRange(_taskQueue.RemainingTasks.Select([MethodImpl(MethodImplOptions.NoInlining)] (ITask x) => _003C_003Ec._206B_202C_200C_206D_200D_200E_206B_202E_202C_206E_200E_200C_200F_202B_202A_206A_206D_200C_200F_202E_200D_200E_206B_200C_200F_200C_206C_202E_200E_206D_206A_200F_200B_206D_202D_206A_206D_200E_206D_206F_202E((object)x) ?? global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(656320081))); - return list; - } - } - continue; - IL_005f: - num = 45674531; + List list = new List(); + list.Add(task.ToString() ?? "?"); + list.AddRange(_taskQueue.RemainingTasks.Select((ITask x) => x.ToString() ?? "?")); + return list; } + return _taskQueue.RemainingTasks.Select((ITask x) => x.ToString() ?? "?").ToList(); } - [MethodImpl(MethodImplOptions.NoInlining)] public void InterruptQueueWithCombat() { ITask task = _taskQueue.CurrentTaskExecutor?.CurrentTask; - int num = ((task != _lastInterruptedTask) ? (-2089841709) : (-2089841711)); - List list = default(List); - while (true) + if (task == _lastInterruptedTask) { - int num2 = num; - int num3 = -2089841710; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + _interruptRetryCount++; + if (_interruptRetryCount > _configuration.Advanced.InteractionRetryLimit) { - case 8: - { - _206D_202E_202E_206E_202A_202A_202D_202C_200C_200F_200B_200B_202A_206B_202D_206D_200E_206C_200B_206F_206D_200F_206D_206E_200F_202C_202E_202A_200E_206D_200E_206D_206C_200D_206A_202D_206B_206E_206F_206D_202E((ILogger)_logger, 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(-269456005), new object[2] - { - task, - _configuration.Advanced.InteractionRetryLimit - }); - IChatGui chatGui = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(30, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(-1056300213)); - defaultInterpolatedStringHandler.AppendFormatted(task); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1081019019)); - defaultInterpolatedStringHandler.AppendFormatted(_configuration.Advanced.InteractionRetryLimit); - defaultInterpolatedStringHandler.AppendLiteral(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(601161044)); - _200C_202A_200F_200D_200C_206A_202E_202E_206B_202B_200B_202D_200F_202C_202C_202A_206B_202C_206C_206B_202E_206D_200C_202C_202E_200F_200E_206C_202A_206B_202E_200D_200C_206D_200E_206A_200E_200C_206F_206E_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(467221712), (ushort?)(ushort)576); - Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1773571268)); + _logger.LogError("Task {TaskName} exceeded retry limit of {Limit}, stopping", task, _configuration.Advanced.InteractionRetryLimit); + _chatGui.PrintError($"Task '{task}' failed after {_configuration.Advanced.InteractionRetryLimit} retries.", "Questionable", 576); + Stop("Retry limit exceeded"); return; } - case 2: - LogTasksAfterInterruption(); - return; - case 5: - list = new List(); - num = ((!_202D_206D_206E_202B_206C_200E_200B_200B_200B_202B_206A_202D_206C_200E_202D_200D_202C_200E_206F_206D_202C_206B_202B_200D_202A_202D_206A_206D_202D_206B_200E_200D_202D_202C_206D_206B_202D_206B_206D_206E_202E(_condition, ConditionFlag.Mounted)) ? (-2089841701) : (-2089841707)); - break; - case 6: - num = -2089841711; - break; - case 7: - list.Add(new Questionable.Controller.Steps.Common.Mount.UnmountTask()); - num = -2089841701; - break; - case 1: - _lastInterruptedTask = task; - _interruptRetryCount = 1; - num = -2089841706; - break; - case 0: - { - TaskQueue taskQueue = _taskQueue; - int num7 = 1; - List list2 = new List(num7); - CollectionsMarshal.SetCount(list2, num7); - CollectionsMarshal.AsSpan(list2)[0] = new WaitAtEnd.WaitDelay(); - taskQueue.InterruptWith(list2); - num = -2089841712; - break; - } - case 4: - _206F_206B_206C_200E_202E_206D_206C_200E_202B_206D_206B_202E_200C_200D_206D_200B_200F_200B_206C_200E_202B_202B_206E_206B_206C_206B_206E_200D_206A_202C_202D_206F_206B_200F_206D_200F_206E_206E_202D_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1063396505), new object[2] - { - _interruptRetryCount, - _configuration.Advanced.InteractionRetryLimit - }); - num = ((!_202D_206D_206E_202B_206C_200E_200B_200B_200B_202B_206A_202D_206C_200E_202D_200D_202C_200E_206F_206D_202C_206B_202B_200D_202A_202D_206A_206D_202D_206B_200E_200D_202D_202C_206D_206B_202D_206B_206D_206E_202E(_condition, ConditionFlag.InCombat)) ? (-2089841710) : (-2089841705)); - break; - case 9: - list.Add(Combat.Factory.CreateTask(null, -1, isLastStep: false, EEnemySpawnType.QuestInterruption, new List(), new List(), new List(), null)); - list.Add(new WaitAtEnd.WaitDelay()); - _taskQueue.InterruptWith(list); - num = -2089841712; - break; - case 3: - { - int interruptRetryCount = _interruptRetryCount; - num3 = 1; - num4 = interruptRetryCount; - _interruptRetryCount = (num4 | num3) + (num4 & num3); - num = ((_interruptRetryCount <= _configuration.Advanced.InteractionRetryLimit) ? (-2089841706) : (-2089841702)); - break; - } - } } + else + { + _lastInterruptedTask = task; + _interruptRetryCount = 1; + } + _logger.LogWarning("Interrupted (attempt {Retry}/{Limit}), attempting to resolve (if in combat)", _interruptRetryCount, _configuration.Advanced.InteractionRetryLimit); + if (_condition[ConditionFlag.InCombat]) + { + List list = new List(); + if (_condition[ConditionFlag.Mounted]) + { + list.Add(new Questionable.Controller.Steps.Common.Mount.UnmountTask()); + } + list.Add(Combat.Factory.CreateTask(null, -1, isLastStep: false, EEnemySpawnType.QuestInterruption, new List(), new List(), new List(), null)); + list.Add(new WaitAtEnd.WaitDelay()); + _taskQueue.InterruptWith(list); + } + else + { + TaskQueue taskQueue = _taskQueue; + int num = 1; + List list2 = new List(num); + CollectionsMarshal.SetCount(list2, num); + CollectionsMarshal.AsSpan(list2)[0] = new WaitAtEnd.WaitDelay(); + taskQueue.InterruptWith(list2); + } + LogTasksAfterInterruption(); } - [MethodImpl(MethodImplOptions.NoInlining)] private void InterruptWithoutCombat() { - int num = ((_taskQueue.CurrentTaskExecutor is SinglePlayerDuty.WaitSinglePlayerDutyExecutor) ? 1044838736 : 1044838739); - while (true) + if (!(_taskQueue.CurrentTaskExecutor is SinglePlayerDuty.WaitSinglePlayerDutyExecutor)) { - int num2 = num; - int num3 = 1044838737; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1044838739; - break; - case 2: - { - _206F_206B_206C_200E_202E_206D_206C_200E_202B_206D_206B_202E_200C_200D_206D_200B_200F_200B_206C_200E_202B_202B_206E_206B_206C_206B_206E_200D_206A_202C_202D_206F_206B_200F_206D_200F_206E_206E_202D_206A_202E((ILogger)_logger, 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(1960045245), Array.Empty()); - TaskQueue taskQueue = _taskQueue; - int num7 = 1; - List list = new List(num7); - CollectionsMarshal.SetCount(list, num7); - CollectionsMarshal.AsSpan(list)[0] = new WaitAtEnd.WaitDelay(); - taskQueue.InterruptWith(list); - LogTasksAfterInterruption(); - num = 1044838736; - break; - } - case 1: - return; - } + _logger.LogWarning("Interrupted, attempting to redo previous tasks (not in combat)"); + TaskQueue taskQueue = _taskQueue; + int num = 1; + List list = new List(num); + CollectionsMarshal.SetCount(list, num); + CollectionsMarshal.AsSpan(list)[0] = new WaitAtEnd.WaitDelay(); + taskQueue.InterruptWith(list); + LogTasksAfterInterruption(); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void LogTasksAfterInterruption() { - _206D_206B_206A_202B_206A_200F_202D_200C_206E_200E_200D_206C_206F_200B_200B_200C_200C_206E_206E_206E_202A_206C_206B_206C_200F_202D_206A_206B_206A_206D_202D_200F_200E_200D_206A_202C_206D_206F_200E_202C_202E((ILogger)_logger, 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(1548875949), Array.Empty()); - IEnumerator enumerator = _taskQueue.RemainingTasks.GetEnumerator(); - try + _logger.LogDebug("Remaining tasks after interruption:"); + foreach (ITask remainingTask in _taskQueue.RemainingTasks) { - int num = -508230281; - while (true) - { - int num2 = num; - int num3 = -508230281; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = (_206C_200F_206D_200D_200E_206B_200C_206E_202C_206D_206E_200C_202E_202E_200E_200D_200F_200C_202E_200E_200D_202D_202D_202B_206F_206B_206E_202E_206E_206B_200C_206C_206C_202D_206F_206A_202E_206E_200E_200E_202E((IEnumerator)enumerator) ? (-508230284) : (-508230282)); - break; - case 3: - { - ITask current = enumerator.Current; - _206D_206B_206A_202B_206A_200F_202D_200C_206E_200E_200D_206C_206F_200B_200B_200C_200C_206E_206E_206E_202A_206C_206B_206C_200F_202D_206A_206B_206A_206D_202D_200F_200E_200D_206A_202C_206D_206F_200E_202C_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1033828461), new object[1] { current }); - num = -508230281; - break; - } - case 2: - num = -508230281; - break; - case 1: - return; - } - } - } - finally - { - int num = ((enumerator == null) ? 1241940011 : 1241940008); - while (true) - { - int num5 = num; - int num3 = 1241940009; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 2: - goto end_IL_00e0; - case 1: - _202E_202A_200D_200C_206E_202E_206F_202D_200D_206F_202B_202A_200D_200E_202D_200E_206D_202A_206D_206D_200D_206E_202E_206B_206E_200D_206F_206E_206D_206C_206E_200F_206D_202D_202B_202B_202A_200C_202B_202A_202E((IDisposable)enumerator); - num = 1241940011; - break; - case 0: - num = 1241940008; - break; - } - continue; - end_IL_00e0: - break; - } + _logger.LogDebug("- {TaskName}", remainingTask); } } public void OnErrorToast(ref SeString message, ref bool isHandled) { - int num = ((!_taskQueue.AllTasksComplete) ? 573119934 : 573119925); - IToastAware toastAware = default(IToastAware); - while (true) + if (_taskQueue.AllTasksComplete) { - int num2 = num; - int num3 = 573119928; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return; + } + if (_taskQueue.CurrentTaskExecutor is IToastAware toastAware && toastAware.OnErrorToast(message)) + { + isHandled = true; + } + if (isHandled) + { + return; + } + if (_actionCanceledText.IsMatch(message.TextValue) && !_condition[ConditionFlag.InFlight]) + { + ITaskExecutor? currentTaskExecutor = _taskQueue.CurrentTaskExecutor; + if (currentTaskExecutor != null && currentTaskExecutor.ShouldInterruptOnDamage()) { - case 0: - num = 573119925; - break; - case 10: - num = ((!toastAware.OnErrorToast(message)) ? 573119924 : 573119923); - break; - case 6: - toastAware = _taskQueue.CurrentTaskExecutor as IToastAware; - num = ((toastAware == null) ? 573119924 : 573119922); - break; - case 4: - num = ((!_206B_200C_202A_206F_206D_202C_200C_202A_202B_202C_206E_202D_206D_200B_202A_206D_202C_202A_206C_206E_202D_206D_200B_206D_200C_202B_206C_206E_206B_206D_206B_202A_202E_206E_206A_200B_206B_202D_206C_200C_202E(_actionCanceledText, _202A_200E_206A_206B_202A_206F_200F_200E_206B_202D_202A_200B_206C_206E_200E_206F_206A_202C_202B_206D_206E_206B_200D_206B_200B_206E_202A_206E_200E_202E_202B_202D_206A_202D_200B_202C_200E_206E_206E_202E(message))) ? 573119920 : 573119930); - break; - case 12: - num = (isHandled ? 573119935 : 573119932); - break; - case 8: - num = (GameFunctions.GameStringEquals(_cantExecuteDueToStatusText, _202A_200E_206A_206B_202A_206F_200F_200E_206B_202D_202A_200B_206C_206E_200E_206F_206A_202C_202B_206D_206E_206B_200D_206B_200B_206E_202A_206E_200E_202E_202B_202D_206A_202D_200B_202C_200E_206E_206E_202E(message)) ? 573119933 : 573119929); - break; - case 3: InterruptQueueWithCombat(); return; - case 5: - InterruptWithoutCombat(); - num = 573119935; - break; - case 7: - return; - case 9: - { - ITaskExecutor? currentTaskExecutor = _taskQueue.CurrentTaskExecutor; - num = ((currentTaskExecutor == null || !currentTaskExecutor.ShouldInterruptOnDamage()) ? 573119920 : 573119931); - break; - } - case 1: - num = ((!GameFunctions.GameStringEquals(_eventCanceledText, _202A_200E_206A_206B_202A_206F_200F_200E_206B_202D_202A_200B_206C_206E_200E_206F_206A_202C_202B_206D_206E_206B_200D_206B_200B_206E_202A_206E_200E_202E_202B_202D_206A_202D_200B_202C_200E_206E_206E_202E(message))) ? 573119935 : 573119933); - break; - case 11: - isHandled = true; - num = 573119924; - break; - case 13: - return; - case 2: - num = (_202D_206D_206E_202B_206C_200E_200B_200B_200B_202B_206A_202D_206C_200E_202D_200D_202C_200E_206F_206D_202C_206B_202B_200D_202A_202D_206A_206D_202D_206B_200E_200D_202D_202C_206D_206B_202D_206B_206D_206E_202E(_condition, ConditionFlag.InFlight) ? 573119920 : 573119921); - break; } } + if (GameFunctions.GameStringEquals(_cantExecuteDueToStatusText, message.TextValue) || GameFunctions.GameStringEquals(_eventCanceledText, message.TextValue)) + { + InterruptWithoutCombat(); + } } protected virtual void HandleInterruption(object? sender, EventArgs e) { - int num = (_202D_206D_206E_202B_206C_200E_200B_200B_200B_202B_206A_202D_206C_200E_202D_200D_202C_200E_206F_206D_202C_206B_202B_200D_202A_202D_206A_206D_202D_206B_200E_200D_202D_202C_206D_206B_202D_206B_206D_206E_202E(_condition, ConditionFlag.InFlight) ? 759202618 : 759202616); - while (true) + if (!_condition[ConditionFlag.InFlight]) { - int num2 = num; - int num3 = 759202619; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + ITaskExecutor? currentTaskExecutor = _taskQueue.CurrentTaskExecutor; + if (currentTaskExecutor != null && currentTaskExecutor.ShouldInterruptOnDamage()) { - case 1: - return; - case 3: - { - ITaskExecutor? currentTaskExecutor = _taskQueue.CurrentTaskExecutor; - num = ((currentTaskExecutor == null || !currentTaskExecutor.ShouldInterruptOnDamage()) ? 759202618 : 759202619); - break; - } - case 2: - num = 759202616; - break; - case 0: InterruptQueueWithCombat(); - num = 759202618; - break; } } } @@ -762,75 +358,4 @@ internal abstract class MiniTaskController : IDisposable { _interruptHandler.Interrupted -= HandleInterruption; } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static string _202D_200B_206C_206B_200E_202E_200D_206C_206A_206D_206C_206A_202E_202B_200C_202B_206F_206C_202A_200D_202B_200B_200B_200E_202C_202C_206D_200E_206D_206A_200F_206D_200E_202C_200D_206A_206B_202D_206E_206F_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206D_206B_206A_202B_206A_200F_202D_200C_206E_200E_200D_206C_206F_200B_200B_200C_200C_206E_206E_206E_202A_206C_206B_206C_200F_202D_206A_206B_206A_206D_202D_200F_200E_200D_206A_202C_206D_206F_200E_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static Type _202B_200E_206B_202E_206D_200E_202A_206B_206F_206A_200D_200B_206A_200F_202C_202C_202A_202B_206E_202D_200F_206E_202D_200B_206E_202D_200B_206C_206E_200B_202E_200E_200B_202A_202A_206A_200C_202D_206D_206D_202E(object P_0) - { - return P_0.GetType(); - } - - static void _206C_200C_200B_206D_206A_206E_206A_206D_206A_200D_202E_206E_202B_206E_202E_202C_200F_202B_202B_202C_200C_206C_206C_200F_206B_200D_206D_206C_202C_200B_206E_200F_206F_200E_202A_206B_200F_202B_200E_200E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogTrace(P_1, P_2); - } - - static void _206E_206B_200C_202D_206E_202E_200F_206B_206F_202B_206F_206D_206C_206C_202C_200B_206A_200E_200E_200D_202B_202E_202B_200D_206F_202C_206D_206A_202B_202A_206E_200B_206B_200F_206F_202D_200B_206A_202B_202A_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } - - static void _200C_202A_200F_200D_200C_206A_202E_202E_206B_202B_200B_202D_200F_202C_202C_202A_206B_202C_206C_206B_202E_206D_200C_202C_202E_200F_200E_206C_202A_206B_202E_200D_200C_206D_200E_206A_200E_200C_206F_206E_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); - } - - static void _206F_206B_206C_200E_202E_206D_206C_200E_202B_206D_206B_202E_200C_200D_206D_200B_200F_200B_206C_200E_202B_202B_206E_206B_206C_206B_206E_200D_206A_202C_202D_206F_206B_200F_206D_200F_206E_206E_202D_206A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static bool _202D_206D_206E_202B_206C_200E_200B_200B_200B_202B_206A_202D_206C_200E_202D_200D_202C_200E_206F_206D_202C_206B_202B_200D_202A_202D_206A_206D_202D_206B_200E_200D_202D_202C_206D_206B_202D_206B_206D_206E_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static void _206D_202E_202E_206E_202A_202A_202D_202C_200C_200F_200B_200B_202A_206B_202D_206D_200E_206C_200B_206F_206D_200F_206D_206E_200F_202C_202E_202A_200E_206D_200E_206D_206C_200D_206A_202D_206B_206E_206F_206D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogError(P_1, P_2); - } - - static bool _206C_200F_206D_200D_200E_206B_200C_206E_202C_206D_206E_200C_202E_202E_200E_200D_200F_200C_202E_200E_200D_202D_202D_202B_206F_206B_206E_202E_206E_206B_200C_206C_206C_202D_206F_206A_202E_206E_200E_200E_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202E_202A_200D_200C_206E_202E_206F_202D_200D_206F_202B_202A_200D_200E_202D_200E_206D_202A_206D_206D_200D_206E_202E_206B_206E_200D_206F_206E_206D_206C_206E_200F_206D_202D_202B_202B_202A_200C_202B_202A_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static string _202A_200E_206A_206B_202A_206F_200F_200E_206B_202D_202A_200B_206C_206E_200E_206F_206A_202C_202B_206D_206E_206B_200D_206B_200B_206E_202A_206E_200E_202E_202B_202D_206A_202D_200B_202C_200E_206E_206E_202E(SeString P_0) - { - return P_0.TextValue; - } - - static bool _206B_200C_202A_206F_206D_202C_200C_202A_202B_202C_206E_202D_206D_200B_202A_206D_202C_202A_206C_206E_202D_206D_200B_206D_200C_202B_206C_206E_206B_206D_206B_202A_202E_206E_206A_200B_206B_202D_206C_200C_202E(Regex P_0, string P_1) - { - return P_0.IsMatch(P_1); - } } diff --git a/Questionable/Questionable.Controller/MovementController.cs b/Questionable/Questionable.Controller/MovementController.cs index a8cb43b..7cac6b2 100644 --- a/Questionable/Questionable.Controller/MovementController.cs +++ b/Questionable/Questionable.Controller/MovementController.cs @@ -1,13 +1,10 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -using System.Text; using System.Threading; using System.Threading.Tasks; using Dalamud.Game.ClientState.Conditions; @@ -36,339 +33,18 @@ internal sealed class MovementController : IDisposable { public sealed record DestinationData(EMovementType MovementType, uint? DataId, Vector3 Position, float StopDistance, bool IsFlying, bool CanSprint, float VerticalStopDistance, bool Land, bool UseNavmesh, bool IsSmartNavRouted) { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200D_200D_206E_200F_202B_200D_206C_206D_200E_202D_206E_202D_206E_206D_200B_206F_200B_206E_206A_206C_206E_200F_200F_202E_206F_206D_200E_200B_202D_200F_206A_200E_200C_206F_200B_200B_200E_202D_206E_200C_202E(typeof(DestinationData).TypeHandle); - } - } - public int NavmeshCalculations { get; set; } public List PartialRoute { get; } = new List(); public LastWaypointData? LastWaypoint { get; set; } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200F_206A_200F_202D_200F_206B_200E_206B_206A_206C_206B_206B_202E_200F_206D_202C_206F_200D_202D_202E_202A_202E_202A_202C_200D_202B_202C_206B_200E_200D_206F_202B_200E_206E_202B_206E_200D_206D_206D_206E_202E(); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1649215359)); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(stringBuilder, 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(117284107)); - int num = ((!PrintMembers(stringBuilder)) ? (-442565540) : (-442565537)); - while (true) - { - int num2 = num; - int num3 = -442565538; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - _206F_206B_206E_202C_202C_206E_200E_200B_206B_200C_200D_200B_206B_200B_206C_200B_202D_206B_200D_206D_200F_202B_206A_202E_202C_206C_200B_200B_206C_206D_206C_200D_206F_206A_206B_206E_206D_206A_206A_206E_202E(stringBuilder, '}'); - return _200F_200D_200B_206E_200E_202C_206E_206B_200D_206E_206E_206D_206E_206C_206A_202C_206D_202E_206B_202E_200D_200E_202B_200C_202C_200F_202C_206B_200C_206E_200F_206B_206B_202C_206A_206D_202D_200B_200E_202E_202E((object)stringBuilder); - case 1: - _206F_206B_206E_202C_202C_206E_200E_200B_206B_200C_200D_200B_206B_200B_206C_200B_202D_206B_200D_206D_200F_202B_206A_202E_202C_206C_200B_200B_206C_206D_206C_200D_206F_206A_206B_206E_206D_206A_206A_206E_202E(stringBuilder, ' '); - num = -442565540; - break; - case 0: - num = -442565537; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200E_200F_200F_200C_202D_206F_200B_202C_206C_200F_200D_200F_200D_206B_206A_202B_200B_202D_200E_200C_200B_206F_202B_200F_202E_200F_200D_200E_206D_200D_202E_206B_202D_202C_206F_206D_202B_200E_202A_206E_202E(); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1999561490)); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, MovementType.ToString()); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, 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(97441196)); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, DataId.ToString()); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1993330002)); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, Position.ToString()); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1983390380)); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, StopDistance.ToString()); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(436934647)); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, IsFlying.ToString()); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2120828510)); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, CanSprint.ToString()); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-518067548)); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, VerticalStopDistance.ToString()); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1230528724)); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, Land.ToString()); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, 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(-336283620)); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, UseNavmesh.ToString()); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1710615926)); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, IsSmartNavRouted.ToString()); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1675587815)); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, NavmeshCalculations.ToString()); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1352596954)); - _206F_206F_206F_206F_206A_206B_202D_202B_202C_206A_200D_202A_206A_202D_200B_202D_202D_206D_202C_200D_202D_202D_206C_202C_202A_206A_202D_206B_200F_200C_202B_206F_200D_206A_206D_202A_202E_206E_200C_202A_202E(builder, (object)PartialRoute); - _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, 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(73479256)); - _206F_206F_206F_206F_206A_206B_202D_202B_202C_206A_200D_202A_206A_202D_200B_202D_202D_206D_202C_200D_202D_202D_206C_202C_202A_206A_202D_206B_200F_200C_202B_206F_200D_206A_206D_202A_202E_206E_200C_202A_202E(builder, (object)LastWaypoint); - return true; - } - - [CompilerGenerated] - public bool Equals(DestinationData? other) - { - int num = (((object)this == other) ? 1399779328 : 1399779341); - while (true) - { - int num2 = num; - int num3 = 1399779332; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 16: - num = ((!EqualityComparer.Default.Equals(MovementType, other.MovementType)) ? 1399779338 : 1399779335); - break; - case 0: - num = ((!EqualityComparer.Default.Equals(UseNavmesh, other.UseNavmesh)) ? 1399779338 : 1399779336); - break; - case 3: - num = ((!EqualityComparer.Default.Equals(DataId, other.DataId)) ? 1399779338 : 1399779330); - break; - case 15: - num = ((!_202D_202A_206D_206A_200D_202A_206C_206A_202D_206A_202E_206E_202E_200C_200D_200F_206E_202C_202A_206D_200D_206F_206B_202B_206E_206A_206D_200F_206A_200C_202E_206B_200F_200D_206B_200C_200D_200E_200C_206A_202E(EqualityContract, other.EqualityContract)) ? 1399779338 : 1399779348); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(VerticalStopDistance, other.VerticalStopDistance)) ? 1399779338 : 1399779337); - break; - case 9: - num = (((object)other == null) ? 1399779338 : 1399779339); - break; - case 8: - num = ((!EqualityComparer>.Default.Equals(PartialRoute, other.PartialRoute)) ? 1399779338 : 1399779342); - break; - case 17: - num = ((!EqualityComparer.Default.Equals(CanSprint, other.CanSprint)) ? 1399779338 : 1399779334); - break; - case 10: - return EqualityComparer.Default.Equals(LastWaypoint, other.LastWaypoint); - case 14: - return false; - case 12: - num = ((!EqualityComparer.Default.Equals(IsSmartNavRouted, other.IsSmartNavRouted)) ? 1399779338 : 1399779331); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(Position, other.Position)) ? 1399779338 : 1399779343); - break; - case 13: - num = ((!EqualityComparer.Default.Equals(Land, other.Land)) ? 1399779338 : 1399779332); - break; - case 7: - num = ((!EqualityComparer.Default.Equals(NavmeshCalculations, other.NavmeshCalculations)) ? 1399779338 : 1399779340); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(IsFlying, other.IsFlying)) ? 1399779338 : 1399779349); - break; - case 4: - return true; - case 5: - num = 1399779341; - break; - case 11: - num = ((!EqualityComparer.Default.Equals(StopDistance, other.StopDistance)) ? 1399779338 : 1399779333); - break; - } - } - } - - bool IEquatable.Equals(DestinationData? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200D_200D_206E_200F_202B_200D_206C_206D_200E_202D_206E_202D_206E_206D_200B_206F_200B_206E_206A_206C_206E_200F_200F_202E_206F_206D_200E_200B_202D_200F_206A_200E_200C_206F_200B_200B_200E_202D_206E_200C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200F_206A_200F_202D_200F_206B_200E_206B_206A_206C_206B_206B_202E_200F_206D_202C_206F_200D_202D_202E_202A_202E_202A_202C_200D_202B_202C_206B_200E_200D_206F_202B_200E_206E_202B_206E_200D_206D_206D_206E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206F_206B_206E_202C_202C_206E_200E_200B_206B_200C_200D_200B_206B_200B_206C_200B_202D_206B_200D_206D_200F_202B_206A_202E_202C_206C_200B_200B_206C_206D_206C_200D_206F_206A_206B_206E_206D_206A_206A_206E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200F_200D_200B_206E_200E_202C_206E_206B_200D_206E_206E_206D_206E_206C_206A_202C_206D_202E_206B_202E_200D_200E_202B_200C_202C_200F_202C_206B_200C_206E_200F_206B_206B_202C_206A_206D_202D_200B_200E_202E_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200E_200F_200F_200C_202D_206F_200B_202C_206C_200F_200D_200F_200D_206B_206A_202B_200B_202D_200E_200C_200B_206F_202B_200F_202E_200F_200D_200E_206D_200D_202E_206B_202D_202C_206F_206D_202B_200E_202A_206E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206F_206F_206F_206F_206A_206B_202D_202B_202C_206A_200D_202A_206A_202D_200B_202D_202D_206D_202C_200D_202D_202D_206C_202C_202A_206A_202D_206B_200F_200C_202B_206F_200D_206A_206D_202A_202E_206E_200C_202A_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202D_202A_206D_206A_200D_202A_206C_206A_202D_206A_202E_206E_202E_200C_200D_200F_206E_202C_202A_206D_200D_206F_206B_202B_206E_206A_206D_200F_206A_200C_202E_206B_200F_200D_206B_200C_200D_200E_200C_206A_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } } public sealed record LastWaypointData(Vector3 Position) { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200C_200E_206A_206B_200F_200E_200C_202A_202A_206D_206B_206E_200D_200B_206D_206B_206E_202B_202C_200C_200D_206C_206A_206F_206E_206B_206F_200C_200B_206C_200D_202E_200D_206A_206D_206F_202D_202D_206D_206B_202E(typeof(LastWaypointData).TypeHandle); - } - } - public long UpdatedAt { get; set; } public double Distance2DAtLastUpdate { get; set; } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202A_200B_206D_202B_202E_206C_206C_200D_206B_202E_200C_202A_200F_206E_202C_202B_200C_206E_202D_206B_200E_200B_200C_202A_202C_202C_206F_206D_202A_200F_200C_206B_206A_200D_206A_206C_200E_202D_206B_200E_202E(); - _206E_200D_202C_200C_200D_206A_202E_206C_200D_206C_202A_202E_206A_202A_200C_200E_206C_200B_202E_200B_202E_200D_200D_206B_200D_200C_200D_206E_206D_206C_200E_200D_202A_206E_200D_206F_200D_206F_202C_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1301252306)); - _206E_200D_202C_200C_200D_206A_202E_206C_200D_206C_202A_202E_206A_202A_200C_200E_206C_200B_202E_200B_202E_200D_200D_206B_200D_200C_200D_206E_206D_206C_200E_200D_202A_206E_200D_206F_200D_206F_202C_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1664411125)); - int num = ((!PrintMembers(stringBuilder)) ? 854055883 : 854055880); - while (true) - { - int num2 = num; - int num3 = 854055881; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 854055880; - break; - case 1: - _206B_202A_206B_200D_200F_206E_206A_200E_206A_200B_206C_200D_200F_206F_202D_202B_200E_200B_206B_206C_206E_202A_200E_206B_202C_206F_200E_202D_206B_202D_202D_206A_206C_202A_206A_206D_206B_202B_200D_206E_202E(stringBuilder, ' '); - num = 854055883; - break; - case 2: - _206B_202A_206B_200D_200F_206E_206A_200E_206A_200B_206C_200D_200F_206F_202D_202B_200E_200B_206B_206C_206E_202A_200E_206B_202C_206F_200E_202D_206B_202D_202D_206A_206C_202A_206A_206D_206B_202B_200D_206E_202E(stringBuilder, '}'); - return _200F_200E_202B_202E_200F_200F_206C_202D_200C_206C_206D_206F_206E_200B_200B_202C_206D_200E_200C_206C_202D_200D_206E_200F_200E_206A_206C_202C_206F_200D_202C_200D_200B_200F_202D_200B_202A_202B_200E_202B_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202A_200C_202A_206C_206F_206B_206C_202A_202D_202D_202C_206C_202C_202A_202E_206D_206D_206A_206D_200E_200E_200D_206D_206E_200F_206C_200E_202D_202C_206E_206B_200F_200F_206E_202D_200E_200F_200E_202C_206B_202E(); - _206E_200D_202C_200C_200D_206A_202E_206C_200D_206C_202A_202E_206A_202A_200C_200E_206C_200B_202E_200B_202E_200D_200D_206B_200D_200C_200D_206E_206D_206C_200E_200D_202A_206E_200D_206F_200D_206F_202C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(675764215)); - _206E_200D_202C_200C_200D_206A_202E_206C_200D_206C_202A_202E_206A_202A_200C_200E_206C_200B_202E_200B_202E_200D_200D_206B_200D_200C_200D_206E_206D_206C_200E_200D_202A_206E_200D_206F_200D_206F_202C_202E(builder, Position.ToString()); - _206E_200D_202C_200C_200D_206A_202E_206C_200D_206C_202A_202E_206A_202A_200C_200E_206C_200B_202E_200B_202E_200D_200D_206B_200D_200C_200D_206E_206D_206C_200E_200D_202A_206E_200D_206F_200D_206F_202C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1263085392)); - _206E_200D_202C_200C_200D_206A_202E_206C_200D_206C_202A_202E_206A_202A_200C_200E_206C_200B_202E_200B_202E_200D_200D_206B_200D_200C_200D_206E_206D_206C_200E_200D_202A_206E_200D_206F_200D_206F_202C_202E(builder, UpdatedAt.ToString()); - _206E_200D_202C_200C_200D_206A_202E_206C_200D_206C_202A_202E_206A_202A_200C_200E_206C_200B_202E_200B_202E_200D_200D_206B_200D_200C_200D_206E_206D_206C_200E_200D_202A_206E_200D_206F_200D_206F_202C_202E(builder, 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(-696865885)); - _206E_200D_202C_200C_200D_206A_202E_206C_200D_206C_202A_202E_206A_202A_200C_200E_206C_200B_202E_200B_202E_200D_200D_206B_200D_200C_200D_206E_206D_206C_200E_200D_202A_206E_200D_206F_200D_206F_202C_202E(builder, Distance2DAtLastUpdate.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(LastWaypointData? other) - { - int num = (((object)this == other) ? (-768038203) : (-768038202)); - while (true) - { - int num2 = num; - int num3 = -768038206; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 7: - return true; - case 0: - num = ((!_206B_206A_200E_206F_200D_206D_200F_206C_200C_206D_206B_200F_206E_206B_202C_200E_200B_200F_206B_206C_206D_206F_206C_200E_202E_200B_202D_202D_202A_200D_200B_200B_206F_202B_200B_202C_206C_202A_202E_206E_202E(EqualityContract, other.EqualityContract)) ? (-768038205) : (-768038207)); - break; - case 3: - num = ((!EqualityComparer.Default.Equals(Position, other.Position)) ? (-768038205) : (-768038204)); - break; - case 4: - num = (((object)other == null) ? (-768038205) : (-768038206)); - break; - case 2: - return EqualityComparer.Default.Equals(Distance2DAtLastUpdate, other.Distance2DAtLastUpdate); - case 1: - return false; - case 6: - num = ((!EqualityComparer.Default.Equals(UpdatedAt, other.UpdatedAt)) ? (-768038205) : (-768038208)); - break; - case 5: - num = -768038202; - break; - } - } - } - - bool IEquatable.Equals(LastWaypointData? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200C_200E_206A_206B_200F_200E_200C_202A_202A_206D_206B_206E_200D_200B_206D_206B_206E_202B_202C_200C_200D_206C_206A_206F_206E_206B_206F_200C_200B_206C_200D_202E_200D_206A_206D_206F_202D_202D_206D_206B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202A_200B_206D_202B_202E_206C_206C_200D_206B_202E_200C_202A_200F_206E_202C_202B_200C_206E_202D_206B_200E_200B_200C_202A_202C_202C_206F_206D_202A_200F_200C_206B_206A_200D_206A_206C_200E_202D_206B_200E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206E_200D_202C_200C_200D_206A_202E_206C_200D_206C_202A_202E_206A_202A_200C_200E_206C_200B_202E_200B_202E_200D_200D_206B_200D_200C_200D_206E_206D_206C_200E_200D_202A_206E_200D_206F_200D_206F_202C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206B_202A_206B_200D_200F_206E_206A_200E_206A_200B_206C_200D_200F_206F_202D_202B_200E_200B_206B_206C_206E_202A_200E_206B_202C_206F_200E_202D_206B_202D_202D_206A_206C_202A_206A_206D_206B_202B_200D_206E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200F_200E_202B_202E_200F_200F_206C_202D_200C_206C_206D_206F_206E_200B_200B_202C_206D_200E_200C_206C_202D_200D_206E_200F_200E_206A_206C_202C_206F_200D_202C_200D_200B_200F_202D_200B_202A_202B_200E_202B_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202A_200C_202A_206C_206F_206B_206C_202A_202D_202D_202C_206C_202C_202A_202E_206D_206D_206A_206D_200E_200E_200D_206D_206E_200F_206C_200E_202D_202C_206E_206B_200F_200F_206E_202D_200E_200F_200E_202C_206B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _206B_206A_200E_206F_200D_206D_200F_206C_200C_206D_206B_200F_206E_206B_202C_200E_200B_200F_206B_206C_206D_206F_206C_200E_202E_200B_202D_202D_202A_200D_200B_200B_206F_202B_200B_202C_206C_202A_202E_206E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } } public sealed class PathfindingFailedException : Exception @@ -388,26 +64,6 @@ internal sealed class MovementController : IDisposable } } - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__58_0; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal string _003CUpdate_003Eb__58_0(Vector3 x) - { - return x.ToString(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1770759382), _206F_202E_206D_206C_206E_200B_200C_200B_200B_206C_202D_202A_202B_202E_202B_206E_200F_206B_206E_200F_206F_206D_206A_202A_202B_202D_202D_206C_200D_206C_202C_206F_206F_202C_200C_206E_206C_202C_200D_200D_202E()); - } - - static CultureInfo _206F_202E_206D_206C_206E_200B_200C_200B_200B_206C_202D_202A_202B_202E_202B_206E_200F_206B_206E_200F_206F_206D_206A_202A_202B_202D_202D_206C_200D_206C_202C_206F_206F_202C_200C_206E_206C_202C_200D_200D_202E() - { - return CultureInfo.InvariantCulture; - } - } - public const float DefaultVerticalInteractionDistance = 1.95f; private const float FlyLandHeightOffset = 2.6f; @@ -472,9 +128,6 @@ internal sealed class MovementController : IDisposable private volatile bool _disposed; - [CompilerGenerated] - private EventHandler? m_PlayerInputDetected; - public bool IsNavmeshReady { get @@ -510,31 +163,17 @@ internal sealed class MovementController : IDisposable get { Task pathfindTask = _pathfindTask; - int num = ((pathfindTask == null) ? 772287061 : 772287062); - while (true) + if (pathfindTask != null) { - int num2 = num; - int num3 = 772287060; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0048; - case 2: - return !_200F_206D_200C_202A_206C_206E_206E_206C_200D_202C_202B_200D_206B_200B_206C_200E_202A_206D_206D_200E_206D_200E_200C_206C_206D_200C_200F_200C_200D_202E_202B_200C_206E_200B_200F_206E_200E_200B_206C_200E_202E((Task)pathfindTask); - case 1: - return false; - } - continue; - IL_0048: - num = 772287062; + return !pathfindTask.IsCompleted; } + return false; } } public DestinationData? Destination { get; set; } - public long? MovementStartedAt { get; private set; } = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E(); + public long? MovementStartedAt { get; private set; } = Environment.TickCount64; public int BuiltNavmeshPercent => _navmeshIpc.GetBuildProgress(); @@ -542,67 +181,7 @@ internal sealed class MovementController : IDisposable public int NumQueuedPathfindRequests => _navmeshIpc.NumQueuedPathfindRequests; - public event EventHandler? PlayerInputDetected - { - [CompilerGenerated] - add - { - EventHandler eventHandler = this.m_PlayerInputDetected; - int num = -400481209; - while (true) - { - int num2 = num; - int num3 = -400481210; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -400481209; - break; - case 1: - { - EventHandler eventHandler2 = eventHandler; - EventHandler value2 = (EventHandler)_202E_202B_200F_200E_206B_206A_206E_200E_200F_200B_202D_200F_206A_202C_202A_200F_202E_202B_200C_206A_200C_202D_202A_206B_206C_202B_206D_206F_206D_200F_206B_202B_206B_202E_206C_200E_206E_206C_206E_200E_202E((Delegate)eventHandler2, (Delegate)value); - eventHandler = Interlocked.CompareExchange(ref this.m_PlayerInputDetected, value2, eventHandler2); - num = (((object)eventHandler != eventHandler2) ? (-400481209) : (-400481212)); - break; - } - case 2: - return; - } - } - } - [CompilerGenerated] - remove - { - EventHandler eventHandler = this.m_PlayerInputDetected; - int num = -634928454; - while (true) - { - int num2 = num; - int num3 = -634928453; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -634928454; - break; - case 0: - return; - case 1: - { - EventHandler eventHandler2 = eventHandler; - EventHandler value2 = (EventHandler)_206C_206F_206A_202B_206D_206D_202D_200F_206C_206C_206F_202E_206B_202D_202A_200D_202C_200E_202C_202E_206E_206B_206C_206C_202B_200B_200D_202A_206B_206E_200E_206D_200E_206F_202A_206F_202B_200B_200C_202D_202E((Delegate)eventHandler2, (Delegate)value); - eventHandler = Interlocked.CompareExchange(ref this.m_PlayerInputDetected, value2, eventHandler2); - num = (((object)eventHandler != eventHandler2) ? (-634928454) : (-634928453)); - break; - } - } - } - } - } + public event EventHandler? PlayerInputDetected; public MovementController(NavmeshIpc navmeshIpc, WigglyNavAvailability wigglyNavAvailability, IFramework framework, IClientState clientState, IObjectTable objectTable, GameFunctions gameFunctions, ICondition condition, MovementOverrideController movementOverrideController, AetheryteData aetheryteData, TerritoryData territoryData, Configuration configuration, ILogger logger) { @@ -623,768 +202,354 @@ internal sealed class MovementController : IDisposable private void OnWigglyNavCompatibilityChanged() { - _202A_202B_202C_200E_206E_206E_200B_200C_200E_200D_200D_206F_206D_206D_206B_200B_202D_202C_206B_200C_206F_206A_206A_202D_202C_206C_202A_206F_206B_200E_200F_202A_202B_202A_200C_200C_206D_200D_200C_206D_202E(_framework, (Action)([MethodImpl(MethodImplOptions.NoInlining)] () => + _framework.RunOnFrameworkThread(delegate { - int num = ((!_disposed) ? 515706311 : 515706308); - DestinationData destination = default(DestinationData); - while (true) + if (!_disposed && _configuration.General.NavigationProvider == Configuration.ENavigationProvider.WigglyNav && (!(Destination == null) || IsPathfinding)) { - int num2 = num; - int num3 = 515706311; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + DestinationData destination = Destination; + _navmeshIpc.StopAll(); + if (destination != null && IsNavmeshReady) { - case 4: - num = 515706308; - break; - case 0: - num = ((_configuration.General.NavigationProvider != Configuration.ENavigationProvider.WigglyNav) ? 515706309 : 515706319); - break; - case 2: - return; - case 8: - num = ((!(Destination == null)) ? 515706306 : 515706304); - break; - case 9: - num = ((!IsNavmeshReady) ? 515706305 : 515706310); - break; - case 5: - destination = Destination; - _navmeshIpc.StopAll(); - num = ((!(destination != null)) ? 515706305 : 515706318); - break; - case 7: - num = (IsPathfinding ? 515706306 : 515706309); - break; - case 6: - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, 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(-593232842), Array.Empty()); - Stop(); - return; - case 3: - return; - case 1: - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-79192567), Array.Empty()); + _logger.LogWarning("WigglyNav compatibility changed with a path running or a pathfind in flight, restarting movement on the new provider"); Restart(destination); - return; + } + else + { + _logger.LogWarning("WigglyNav compatibility changed with a path running or a pathfind in flight, stopping movement (no destination to resume, or the new provider's navmesh is not ready)"); + Stop(); } } - })); + }); } public bool HasBeenMovingForAtLeast(int ms) { long? movementStartedAt = MovementStartedAt; - int num = ((!movementStartedAt.HasValue) ? 1811576790 : 1811576789); - while (true) + if (movementStartedAt.HasValue) { - int num2 = num; - int num3 = 1811576788; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0053; - case 2: - return false; - case 1: - { - long valueOrDefault = movementStartedAt.GetValueOrDefault(); - return _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E() - valueOrDefault >= ms; - } - } - continue; - IL_0053: - num = 1811576789; + long valueOrDefault = movementStartedAt.GetValueOrDefault(); + return Environment.TickCount64 - valueOrDefault >= ms; } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe void Update() { - int num = ((!IsPathRunning) ? (-1655935346) : (-1655935301)); - NavPathfindResult result = default(NavPathfindResult); - List list = default(List); - int navmeshCalculations2 = default(int); - DestinationData destination = default(DestinationData); - bool flag = default(bool); - float num7 = default(float); - NavPathfindResult result2 = default(NavPathfindResult); - List waypoints2 = default(List); - Vector3? vector2 = default(Vector3?); - IGameObject gameObject = default(IGameObject); - Vector3 vector3 = default(Vector3); - Vector3? vector4 = default(Vector3?); - Vector3 p = default(Vector3); - Vector3 vector = default(Vector3); - while (true) + DestinationData destination; + if (IsPathRunning && _isTrackingPlayerInput) { - int num2 = num; - int num3 = -1655935333; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + destination = Destination; + if (((object)destination == null || destination.MovementType != EMovementType.Landing) && DetectPlayerInputInterference()) { - case 108: - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1718370293), Array.Empty()); - return; - case 102: - num = ((!(result.EndDistance > Destination.StopDistance)) ? (-1655935246) : (-1655935248)); - break; - case 84: - num = ((!Destination.CanSprint) ? (-1655935273) : (-1655935239)); - break; - case 61: - _206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, 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(-1286507068), Array.Empty()); + _logger.LogInformation("Player input detected during automatic movement, raising event to stop automation"); + this.PlayerInputDetected?.Invoke(this, EventArgs.Empty); Stop(); return; - case 80: - _206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, 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(-1218341412), new object[1] { _200B_206A_206A_206E_206F_200F_202B_202A_206E_200B_206F_202B_200F_202B_200D_200D_206C_206C_206D_200D_206C_206F_202E_200B_206A_206F_206E_202A_202C_206E_202E_200D_206A_202C_206F_200C_202E_200F_206A_206C_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-947374176), _pathfindTask.Result.Waypoints.Select([MethodImpl(MethodImplOptions.NoInlining)] (Vector3 x) => x.ToString(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1770759382), _003C_003Ec._206F_202E_206D_206C_206E_200B_200C_200B_200B_206C_202D_202A_202B_202E_202B_206E_200F_206B_206E_200F_206F_206D_206A_202A_202B_202D_202D_206C_200D_206C_202C_206F_206F_202C_200C_206E_206C_202C_200D_200D_202E()))) }); + } + } + if (_pathfindTask != null && Destination != null) + { + if (!_pathfindTask.IsCompleted && Environment.TickCount64 - _pathfindStartTime > 30000 && _navmeshIpc.NumQueuedPathfindRequests > 5) + { + if (!_pathfindTimeoutLogged) + { + _logger.LogWarning("Pathfinding appears stuck: {QueuedRequests} queued requests, task running for {Duration}ms", _navmeshIpc.NumQueuedPathfindRequests, Environment.TickCount64 - _pathfindStartTime); + _pathfindTimeoutLogged = true; + } + ResetPathfinding(); + throw new PathfindingFailedException("Pathfinding computation timed out after 30s"); + } + if (_pathfindTask.IsCompletedSuccessfully) + { + _logger.LogDebug("Pathfinding complete, got {Count} points", _pathfindTask.Result.Waypoints.Count); + if (_pathfindTask.Result.Waypoints.Count == 0) + { + if (Destination.NavmeshCalculations == 1) + { + _logger.LogWarning("Initial pathfinding returned 0 points, attempting to find accessible destination"); + Vector3? vector = TryFindAccessibleDestination(Destination.Position, Destination.IsFlying, Destination.Land); + if (vector.HasValue && Vector3.Distance(Destination.Position, vector.Value) < 30f) + { + _logger.LogDebug("Retrying pathfinding with adjusted destination: {AdjustedDestination}", vector.Value.ToString("G", CultureInfo.InvariantCulture)); + int navmeshCalculations = Destination.NavmeshCalculations; + Restart(Destination with + { + Position = vector.Value + }); + if (Destination != null) + { + Destination.NavmeshCalculations = navmeshCalculations + 1; + } + return; + } + if (Destination.IsFlying && Destination.Land) + { + _logger.LogWarning("Adjusted destination failed, trying tolerance-based pathfinding"); + if (!IsNavmeshReady) + { + _logger.LogWarning("Navmesh not ready for tolerance-based pathfinding"); + return; + } + Vector3 vector2 = _objectTable.LocalPlayer?.Position ?? Vector3.Zero; + if (Destination.IsFlying) + { + Vector3 vector3 = vector2; + vector3.Y = vector2.Y + 0.2f; + vector2 = vector3; + } + _pathfindStartTime = Environment.TickCount64; + _pathfindTolerance = 10f; + _pathfindTask = _navmeshIpc.PathfindWithTolerance(vector2, Destination.Position, Destination.IsFlying, 10f); + Destination.NavmeshCalculations++; + return; + } + } + ResetPathfinding(); + throw new PathfindingFailedException(); + } + List waypoints = _pathfindTask.Result.Waypoints; + List list = waypoints.Slice(1, waypoints.Count - 1); + Vector3 p = _objectTable.LocalPlayer?.Position ?? list[0]; + if (Destination.IsFlying && Destination.MovementType != EMovementType.Landing && !_condition[ConditionFlag.InFlight] && _condition[ConditionFlag.Mounted] && (IsOnFlightPath(p) || list.Any(IsOnFlightPath))) + { + ActionManager.Instance()->UseAction(ActionType.GeneralAction, 2u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); + } + if (!Destination.IsFlying) + { + (List, bool) tuple = _movementOverrideController.AdjustPath(list); + (list, _) = tuple; + if (tuple.Item2 && Destination.NavmeshCalculations < 10) + { + if (!IsNavmeshReady) + { + _logger.LogWarning("Navmesh not ready for recalculation"); + return; + } + Destination.NavmeshCalculations++; + Destination.PartialRoute.AddRange(list); + _logger.LogDebug("Running navmesh recalculation with fudged point ({From} to {To})", list.Last(), Destination.Position); + _cancellationTokenSource = new CancellationTokenSource(); + _cancellationTokenSource.CancelAfter(TimeSpan.FromSeconds(30L)); + _pathfindStartTime = Environment.TickCount64; + _pathfindTolerance = 0.25f; + _pathfindTask = _navmeshIpc.Pathfind(list.Last(), Destination.Position, Destination.IsFlying, _cancellationTokenSource.Token); + return; + } + } + list = Destination.PartialRoute.Concat(list).ToList(); + if (Destination.IsSmartNavRouted && !Destination.IsFlying) + { + NavPathfindResult result = _pathfindTask.Result; + if ((object)result != null && result.HasPartialInfo && result.IsPartial && result.EndDistance > Destination.StopDistance) + { + _logger.LogWarning("Provider reports a partial ground route to {Target} (end distance {WireEndDistance:F1}y, {Count} points), treating as unreachable", Destination.Position.ToString("G", CultureInfo.InvariantCulture), _pathfindTask.Result.EndDistance, list.Count); + float endDistance = _pathfindTask.Result.EndDistance; + ResetPathfinding(); + throw new PathfindingFailedException($"Provider reports a partial ground route to target (end distance {endDistance:F1}y)"); + } + } + if (Destination.IsSmartNavRouted && list.Count > 0) + { + NavPathfindResult result2 = _pathfindTask.Result; + List list2 = list; + float num = Vector3.Distance(list2[list2.Count - 1], Destination.Position); + if (!IsRouteEndAcceptable(num, Destination.StopDistance, Destination.IsFlying, Destination.Land, result2.HasPartialInfo, result2.IsPartial)) + { + if (result2.HasPartialInfo) + { + _logger.LogWarning("Computed route ends {Distance:F1}y from target {Target} (stop distance {StopDistance:F1}y), treating as unreachable (provider reports partial: {IsPartial}, end distance {WireEndDistance:F1}y)", num, Destination.Position.ToString("G", CultureInfo.InvariantCulture), Destination.StopDistance, result2.IsPartial, result2.EndDistance); + } + else + { + _logger.LogWarning("Computed route ends {Distance:F1}y from target {Target} (stop distance {StopDistance:F1}y), treating as unreachable", num, Destination.Position.ToString("G", CultureInfo.InvariantCulture), Destination.StopDistance); + } + ResetPathfinding(); + throw new PathfindingFailedException($"Computed route ends {num:F1}y from target (stop distance {Destination.StopDistance:F1}y)"); + } + if (Destination.IsFlying && (object)result2 != null && result2.HasPartialInfo && result2.IsPartial) + { + if (Destination.Land) + { + _logger.LogInformation("Fly+land route is partial (EndDistance {WireEndDistance:F1}y): accepting - descend/land/gap-close adjudicates reachability", result2.EndDistance); + } + else + { + _logger.LogInformation("Flying route is partial (EndDistance {WireEndDistance:F1}y): accepting - route-end distance heuristic adjudicates reachability", result2.EndDistance); + } + } + } + _logger.LogDebug("Navigating via route: [{Route}]", string.Join(" → ", _pathfindTask.Result.Waypoints.Select((Vector3 x) => x.ToString("G", CultureInfo.InvariantCulture)))); _navmeshIpc.MoveTo(list, Destination.IsFlying, _pathfindTolerance); - MovementStartedAt = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E(); + MovementStartedAt = Environment.TickCount64; StartPlayerInputTracking(); ResetPathfinding(); - num = -1655935317; - break; - case 4: - num = ((!(Destination != null)) ? (-1655935273) : (-1655935279)); - break; - case 48: - num = ((!IsPathRunning) ? (-1655935273) : (-1655935329)); - break; - case 55: - { - DestinationData? destination3 = Destination; - int num9 = navmeshCalculations2; - num3 = 1; - num4 = num9; - destination3.NavmeshCalculations = (num4 | num3) + (num4 & num3); - num = -1655935283; - break; } - case 58: - num = ((_navmeshIpc.NumQueuedPathfindRequests <= 5) ? (-1655935339) : (-1655935278)); - break; - case 6: - Stop(); - num = -1655935273; - break; - case 2: - destination = Destination; - num = (((object)destination == null) ? (-1655935234) : (-1655935341)); - break; - case 59: - Stop(); - num = -1655935273; - break; - case 77: - num = ((!Destination.IsFlying) ? (-1655935337) : (-1655935306)); - break; - case 70: - num = (_200C_206A_200F_202C_200F_206D_202A_206C_200B_200E_206F_206C_206D_200F_200E_206F_206C_200B_200F_206A_206F_200B_200B_200B_202D_202A_202E_200F_206D_200F_202E_200F_206D_206B_202E_200D_202A_200D_206D_202E_202E(_condition, ConditionFlag.Mounted) ? (-1655935295) : (-1655935325)); - break; - case 8: - num = ((destination.MovementType == EMovementType.Landing) ? (-1655935346) : (-1655935234)); - break; - case 93: - return; - case 104: - Stop(); - return; - case 39: - flag = true; - num = -1655935243; - break; - case 3: + else if (_pathfindTask.IsCompleted) { - ResetPathfinding(); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(51, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2018070936)); - defaultInterpolatedStringHandler.AppendFormatted(num7, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1819906059)); - defaultInterpolatedStringHandler.AppendLiteral(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(-143213414)); - defaultInterpolatedStringHandler.AppendFormatted(Destination.StopDistance, 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(-1308263729)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-572338381)); - throw new PathfindingFailedException(defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 34: - num = ((!result.IsPartial) ? (-1655935246) : (-1655935235)); - break; - case 22: - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1387973698), Array.Empty()); - return; - case 15: - num = (((object)result2 == null) ? (-1655935285) : (-1655935357)); - break; - case 57: - { - waypoints2 = _navmeshIpc.GetWaypoints(); - IPlayerCharacter playerCharacter3 = _206C_206C_206F_206F_202D_206B_206D_206E_202E_200D_206A_206C_200D_206A_202D_202E_206D_200F_206A_200F_202E_200F_206C_202D_206D_200F_206A_206D_200B_202B_202D_206A_200C_206F_202D_206A_200C_206F_202E_200C_202E(_objectTable); - vector2 = ((playerCharacter3 != null) ? new Vector3?(_200D_202E_202E_206E_200D_200F_206A_202E_200B_202D_206F_200E_200F_206C_202A_200F_206B_202B_202B_202D_206B_206D_202E_202D_200F_200C_202D_202E_200B_202E_200E_206B_200E_200B_200C_200B_202A_200E_200C_200E_202E((IGameObject)playerCharacter3)) : ((Vector3?)null)); - num = ((!vector2.HasValue) ? (-1655935273) : (-1655935350)); - break; - } - case 105: - num = ((!Destination.IsSmartNavRouted) ? (-1655935285) : (-1655935286)); - break; - case 101: - num = ((!DetectPlayerInputInterference()) ? (-1655935346) : (-1655935280)); - break; - case 78: - gameObject = _gameFunctions.FindObjectByDataId(Destination.DataId.Value); - num = ((gameObject is ICharacter) ? (-1655935300) : (-1655935345)); - break; - case 64: - Stop(); - num = -1655935273; - break; - case 11: - num = (_200C_206A_200F_202C_200F_206D_202A_206C_200B_200E_206F_206C_206D_200F_200E_206F_206C_200B_200F_206A_206F_200B_200B_200B_202D_202A_202E_200F_206D_200F_202E_200F_206D_206B_202E_200D_202A_200D_206D_202E_202E(_condition, ConditionFlag.Mounted) ? (-1655935273) : (-1655935254)); - break; - case 107: - { - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2035665846), new object[3] - { - Destination.Position.ToString(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(-1318690943), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()), - _pathfindTask.Result.EndDistance, - list.Count - }); - float endDistance = _pathfindTask.Result.EndDistance; - ResetPathfinding(); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(66, 1); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(272297976)); - defaultInterpolatedStringHandler2.AppendFormatted(endDistance, 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(-1308263729)); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-572338381)); - throw new PathfindingFailedException(defaultInterpolatedStringHandler2.ToStringAndClear()); - } - case 69: - num = ((!(_206D_202E_206D_200C_206C_200B_202C_202D_206A_202C_202B_206A_200E_200E_202A_202D_206A_200C_200F_202C_202D_206E_202E_206A_200D_206C_200F_206D_206A_202B_206F_200B_206A_206B_206E_206B_200F_206B_200F_200D_202E(vector3.Y - _200D_202E_202E_206E_200D_200F_206A_202E_200B_202D_206F_200E_200F_206C_202A_200F_206B_202B_202B_202D_206B_206D_202E_202D_200F_200C_202D_202E_200B_202E_200E_206B_200E_200B_200C_200B_202A_200E_200C_200E_202E(gameObject).Y) < 1.95f)) ? (-1655935273) : (-1655935269)); - break; - case 43: - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1977384111), Array.Empty()); - throw new PathfindingFailedException(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(333651527)); - case 75: - { - _202C_200B_200C_202E_200F_202E_202D_200F_202C_206D_202A_202A_206C_200F_206B_206C_202E_206F_202D_200D_200F_200C_206E_200F_206F_200E_200D_206A_202D_200D_206B_200C_206E_200E_202E_206F_200E_206A_206E_202D_202E((ILogger)_logger, 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(1019459155), Array.Empty()); - EventHandler? eventHandler = this.PlayerInputDetected; - if (eventHandler == null) - { - goto case 104; - } - eventHandler(this, EventArgs.Empty); - num = -1655935245; - break; - } - case 72: - num = ((!(Destination != null)) ? (-1655935317) : (-1655935356)); - break; - case 7: - _206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1150941391), new object[1] { vector4.Value.ToString(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1770759382), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()) }); - navmeshCalculations2 = Destination.NavmeshCalculations; - Restart(Destination with - { - Position = vector4.Value - }); - num = ((!(Destination != null)) ? (-1655935283) : (-1655935316)); - break; - case 114: - num = ((!IsPathRunning) ? (-1655935318) : (-1655935338)); - break; - case 28: - _202C_200B_200C_202E_200F_202E_202D_200F_202C_206D_202A_202A_206C_200F_206B_206C_202E_206F_202D_200D_200F_200C_206E_200F_206F_200E_200D_206A_202D_200D_206B_200C_206E_200E_202E_206F_200E_206A_206E_202D_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(128816295), new object[1] { result2.EndDistance }); - num = -1655935285; - break; - case 87: - Stop(); - num = -1655935273; - break; - case 51: - { - result2 = _pathfindTask.Result; - List list2 = list; - num7 = Vector3.Distance(list2[list2.Count - 1], Destination.Position); - num = (IsRouteEndAcceptable(num7, Destination.StopDistance, Destination.IsFlying, Destination.Land, result2.HasPartialInfo, result2.IsPartial) ? (-1655935253) : (-1655935308)); - break; - } - case 74: - num = ((!_gameFunctions.IsLoadingScreenVisible()) ? (-1655935238) : (-1655935322)); - break; - case 20: - num = ((!(gameObject is IEventObj)) ? (-1655935307) : (-1655935300)); - break; - case 106: - num = ((destination.MovementType != EMovementType.Landing) ? (-1655935290) : (-1655935272)); - break; - case 98: - TriggerSprintIfNeeded(waypoints2, vector2.Value); - num = -1655935273; - break; - case 33: - num = (IsOnFlightPath(p) ? (-1655935294) : (-1655935299)); - break; - case 32: - num = ((!_isTrackingPlayerInput) ? (-1655935346) : (-1655935335)); - break; - case 66: - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(778434954), new object[3] - { - num7, - Destination.Position.ToString(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1450220880), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()), - Destination.StopDistance - }); - num = -1655935336; - break; - case 95: - list = Destination.PartialRoute.Concat(list).ToList(); - num = ((!Destination.IsSmartNavRouted) ? (-1655935246) : (-1655935349)); - break; - case 90: - { - IPlayerCharacter playerCharacter4 = _206C_206C_206F_206F_202D_206B_206D_206E_202E_200D_206A_206C_200D_206A_202D_202E_206D_200F_206A_200F_202E_200F_206C_202D_206D_200F_206A_206D_200B_202B_202D_206A_200C_206F_202D_206A_200C_206F_202E_200C_202E(_objectTable); - vector3 = ((playerCharacter4 != null) ? _200D_202E_202E_206E_200D_200F_206A_202E_200B_202D_206F_200E_200F_206C_202A_200F_206B_202B_202B_202D_206B_206D_202E_202D_200F_200C_202D_202E_200B_202E_200E_206B_200E_200B_200C_200B_202A_200E_200C_200E_202E((IGameObject)playerCharacter4) : Vector3.Zero); - num = ((Destination.MovementType != EMovementType.Landing) ? (-1655935324) : (-1655935313)); - break; - } - case 9: - num = ((!Destination.Land) ? (-1655935353) : (-1655935297)); - break; - case 12: + _logger.LogWarning("Unable to complete pathfinding task"); ResetPathfinding(); throw new PathfindingFailedException(); - case 50: - ResetPathfinding(); - throw new PathfindingFailedException(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1937149461)); - case 10: - Stop(); - num = -1655935273; - break; - case 35: - num = (Destination.IsFlying ? (-1655935273) : (-1655935344)); - break; - case 31: - num = (_200F_206D_200C_202A_206C_206E_206E_206C_200D_202C_202B_200D_206B_200B_206C_200E_202A_206D_206D_200E_206D_200E_200C_206C_206D_200C_200F_200C_200D_202E_202B_200C_206E_200B_200F_206E_200E_200B_206C_200E_202E((Task)_pathfindTask) ? (-1655935339) : (-1655935305)); - break; - case 47: - num = ((!result2.HasPartialInfo) ? (-1655935271) : (-1655935351)); - break; - case 24: - num = ((!result2.HasPartialInfo) ? (-1655935285) : (-1655935237)); - break; - case 17: - num = ((!RecalculateNavmesh(waypoints2, vector2.Value)) ? (-1655935304) : (-1655935282)); - break; - case 42: + } + } + if (IsPathRunning && Destination != null) + { + if (_gameFunctions.IsLoadingScreenVisible()) { - DestinationData? destination4 = Destination; - int navmeshCalculations = destination4.NavmeshCalculations; - int num10 = navmeshCalculations; - num3 = 1; - num4 = num10; - destination4.NavmeshCalculations = (num4 | num3) + (num4 & num3); - Destination.PartialRoute.AddRange(list); - _206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, 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(-1286179086), new object[2] - { - list.Last(), - Destination.Position - }); - _cancellationTokenSource = _206B_202A_206A_202B_206C_202C_202A_206C_200F_206D_206A_202E_200C_206D_206B_206F_202E_202E_206D_202C_202B_206C_206D_206E_206A_202E_202C_202B_202C_206F_206C_200C_206C_206F_202A_206F_202D_200E_206D_200E_202E(); - _200D_200B_202B_200B_206B_206C_200F_200B_200B_202E_206D_202B_202D_202E_200C_200D_202A_200C_200E_200E_200F_200F_200B_200B_206C_206F_200F_206F_202D_206D_202B_202E_206C_202C_206A_202C_206B_200B_206E_206A_202E(_cancellationTokenSource, TimeSpan.FromSeconds(30L)); - _pathfindStartTime = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E(); - _pathfindTolerance = 0.25f; - _pathfindTask = _navmeshIpc.Pathfind(list.Last(), Destination.Position, Destination.IsFlying, _202C_202B_202B_202E_202E_206E_200C_202E_206C_206C_202D_202E_202C_202C_200E_206B_206B_202B_206F_206D_200E_202D_206D_206C_206C_206E_200F_206C_206D_202B_200B_200F_202C_202D_200D_202D_200D_202D_202A_200D_202E(_cancellationTokenSource)); + _logger.LogDebug("Stopping movement, loading screen visible"); + Stop(); return; } - case 109: - num = ((_202B_200E_200B_200D_202A_202C_202D_202B_202E_200E_200B_200F_202E_206C_200E_200F_202A_206A_202A_202C_206A_206E_202C_200C_202B_202A_200E_200D_206A_200B_206B_206B_200C_200E_206D_202D_206C_206E_206C_206F_202E(gameObject) != ObjectKind.Aetheryte) ? (-1655935331) : (-1655935240)); - break; - case 81: - num = ((list.Count <= 0) ? (-1655935285) : (-1655935320)); - break; - case 76: - destination = Destination; - num = (((object)destination == null) ? (-1655935290) : (-1655935247)); - break; - case 19: - num = -1655935301; - break; - case 111: - num = ((!(_206D_202E_206D_200C_206C_200B_202C_202D_206A_202C_202B_206A_200E_200E_202A_202D_206A_200C_200F_202C_202D_206E_202E_206A_200D_206C_200F_206D_206A_202B_206F_200B_206A_206B_206E_206B_200F_206B_200F_200D_202E(vector3.Y - _200D_202E_202E_206E_200D_200F_206A_202E_200B_202D_206F_200E_200F_206C_202A_200F_206B_202B_202B_202D_206B_206D_202E_202D_200F_200C_202D_202E_200B_202E_200E_206B_200E_200B_200C_200B_202A_200E_200C_200E_202E(gameObject).Y) < 1.95f)) ? (-1655935273) : (-1655935343)); - break; - case 97: - destination = Destination; - num = (((object)destination == null) ? (-1655935295) : (-1655935323)); - break; - case 85: - return; - case 86: - return; - case 1: - num = ((!Destination.DataId.HasValue) ? (-1655935328) : (-1655935275)); - break; - case 63: - num = ((!((vector3 - Destination.Position).Length() < Destination.StopDistance)) ? (-1655935326) : (-1655935289)); - break; - case 62: - num = ((!destination.IsFlying) ? (-1655935295) : (-1655935315)); - break; - case 65: + destination = Destination; + if ((object)destination != null && destination.IsFlying && (_condition[ConditionFlag.Swimming] || !_condition[ConditionFlag.Mounted])) { - List waypoints = _pathfindTask.Result.Waypoints; - list = waypoints.Slice(1, waypoints.Count - 1); - IPlayerCharacter playerCharacter2 = _206C_206C_206F_206F_202D_206B_206D_206E_202E_200D_206A_206C_200D_206A_202D_202E_206D_200F_206A_200F_202E_200F_206C_202D_206D_200F_206A_206D_200B_202B_202D_206A_200C_206F_202D_206A_200C_206F_202E_200C_202E(_objectTable); - p = ((playerCharacter2 != null) ? _200D_202E_202E_206E_200D_200F_206A_202E_200B_202D_206F_200E_200F_206C_202A_200F_206B_202B_202B_202D_206B_206D_202E_202D_200F_200C_202D_202E_200B_202E_200E_206B_200E_200B_200C_200B_202A_200E_200C_200E_202E((IGameObject)playerCharacter2) : list[0]); - num = ((!Destination.IsFlying) ? (-1655935236) : (-1655935293)); - break; - } - case 52: - num = (_200C_206A_200F_202C_200F_206D_202A_206C_200B_200E_206F_206C_206D_200F_200E_206F_206C_200B_200F_206A_206F_200B_200B_200B_202D_202A_202E_200F_206D_200F_202E_200F_206D_206B_202E_200D_202A_200D_206D_202E_202E(_condition, ConditionFlag.InFlight) ? (-1655935273) : (-1655935284)); - break; - case 41: - result = _pathfindTask.Result; - num = (((object)result == null) ? (-1655935246) : (-1655935359)); - break; - case 0: - num = ((gameObject == null) ? (-1655935331) : (-1655935242)); - break; - case 21: - num = ((_pathfindTask == null) ? (-1655935317) : (-1655935277)); - break; - case 73: - num = (_pathfindTimeoutLogged ? (-1655935319) : (-1655935296)); - break; - case 91: - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1046286467), new object[2] - { - _navmeshIpc.NumQueuedPathfindRequests, - _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E() - _pathfindStartTime - }); - _pathfindTimeoutLogged = true; - num = -1655935319; - break; - case 88: - num = ((Destination.MovementType == EMovementType.Landing) ? (-1655935236) : (-1655935348)); - break; - case 36: - _202C_200B_200C_202E_200F_202E_202D_200F_202C_206D_202A_202A_206C_200F_206B_206C_202E_206F_202D_200D_200F_200C_206E_200F_206F_200E_200D_206A_202D_200D_206B_200C_206E_200E_202E_206F_200E_206A_206E_202D_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-671975865), new object[1] { result2.EndDistance }); - num = -1655935285; - break; - case 27: - num = ((Destination.NavmeshCalculations >= 10) ? (-1655935292) : (-1655935287)); - break; - case 82: - num = (IsNavmeshReady ? (-1655935311) : (-1655935241)); - break; - case 67: - num = ((!HasBeenMovingForAtLeast(500)) ? (-1655935290) : (-1655935255)); - break; - case 40: - { - Vector3 vector5 = vector; - vector5.Y = vector.Y + 0.2f; - vector = vector5; - num = -1655935233; - break; - } - case 14: - num = ((!_206A_202C_202C_202B_202A_200E_200D_206D_206D_200B_202D_202E_202B_206D_200D_202C_200C_202B_202E_202C_206D_206C_202C_200B_200F_200F_200F_206C_200B_200D_200F_206E_200E_206B_200B_202E_202C_202D_206F_200D_202E((Task)_pathfindTask)) ? (-1655935355) : (-1655935298)); - break; - case 112: - num = ((!Destination.IsFlying) ? (-1655935285) : (-1655935340)); - break; - case 16: - num = (Destination.IsFlying ? (-1655935246) : (-1655935310)); - break; - case 68: - { - (List, bool) tuple = _movementOverrideController.AdjustPath(list); - list = tuple.Item1; - num = ((!tuple.Item2) ? (-1655935292) : (-1655935360)); - break; - } - case 113: - num = (_gameFunctions.HasStatusPreventingSprint() ? (-1655935273) : (-1655935281)); - break; - case 71: - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(849626760), Array.Empty()); - vector4 = TryFindAccessibleDestination(Destination.Position, Destination.IsFlying, Destination.Land); - num = ((!vector4.HasValue) ? (-1655935274) : (-1655935291)); - break; - case 53: - Stop(); - num = -1655935273; - break; - case 49: - { - bool num11 = _200C_206A_200F_202C_200F_206D_202A_206C_200B_200E_206F_206C_206D_200F_200E_206F_206C_200B_200F_206A_206F_200B_200B_200B_202D_202A_202E_200F_206D_200F_202E_200F_206D_206B_202E_200D_202A_200D_206D_202E_202E(_condition, ConditionFlag.InFlight); - Stop(); - num = ((!num11) ? (-1655935290) : (-1655935312)); - break; - } - case 13: - num = ((!HasBeenMovingForAtLeast(10000)) ? (-1655935290) : (-1655935318)); - break; - case 110: - num = ((!flag) ? (-1655935333) : (-1655935266)); - break; - case 56: - _206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-453196697), new object[1] { _200C_206A_200F_202C_200F_206D_202A_206C_200B_200E_206F_206C_206D_200F_200E_206F_206C_200B_200F_206A_206F_200B_200B_200B_202D_202A_202E_200F_206D_200F_202E_200F_206D_206B_202E_200D_202A_200D_206D_202E_202E(_condition, ConditionFlag.Swimming) ? global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(534392554) : global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1682230213) }); + _logger.LogDebug("Flying but {Reason}, restarting as non-flying path...", _condition[ConditionFlag.Swimming] ? "swimming" : "not mounted"); Restart(Destination, false); return; - case 45: - num = ((!Destination.Land) ? (-1655935337) : (-1655935330)); - break; - case 18: - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(160808973), new object[5] + } + Vector3 vector4 = _objectTable.LocalPlayer?.Position ?? Vector3.Zero; + if (Destination.MovementType == EMovementType.Landing) + { + if (!_condition[ConditionFlag.InFlight]) { - num7, - Destination.Position.ToString(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(2120763774), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()), - Destination.StopDistance, - result2.IsPartial, - result2.EndDistance - }); - num = -1655935336; - break; - case 96: - num = ((!result2.IsPartial) ? (-1655935285) : (-1655935342)); - break; - case 99: - num = ((!_206B_200C_206B_200C_206C_202C_206C_200F_206B_202D_202A_202A_200C_200B_202D_200D_202D_200E_206E_200E_206B_200C_206E_202A_200F_206C_206A_200B_200C_200B_200D_200F_202A_202D_206A_200B_202B_200F_202A_202B_202E((EAetheryteLocation)Destination.DataId.Value)) ? (-1655935244) : (-1655935358)); - break; - case 89: - ActionManager.Instance()->UseAction(ActionType.GeneralAction, 2u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); - num = -1655935236; - break; - case 79: - num = ((Destination.NavmeshCalculations != 1) ? (-1655935337) : (-1655935268)); - break; - case 37: - _206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-33261788), new object[1] { _pathfindTask.Result.Waypoints.Count }); - num = ((_pathfindTask.Result.Waypoints.Count != 0) ? (-1655935270) : (-1655935276)); - break; - case 30: - num = ((!_200F_206D_200C_202A_206C_206E_206E_206C_200D_202C_202B_200D_206B_200B_206C_200E_202A_206D_206D_200E_206D_200E_200C_206C_206D_200C_200F_200C_200D_202E_202B_200C_206E_200B_200F_206E_200E_200B_206C_200E_202E((Task)_pathfindTask)) ? (-1655935317) : (-1655935321)); - break; - case 26: - num = ((!result.HasPartialInfo) ? (-1655935246) : (-1655935303)); - break; - case 94: - num = ((!(Vector3.Distance(Destination.Position, vector4.Value) < 30f)) ? (-1655935274) : (-1655935332)); - break; - case 60: - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1643203086), Array.Empty()); - ResetPathfinding(); - throw new PathfindingFailedException(); - case 46: - flag = false; - num = -1655935243; - break; - case 54: - num = (_200C_206A_200F_202C_200F_206D_202A_206C_200B_200E_206F_206C_206D_200F_200E_206F_206C_200B_200F_206A_206F_200B_200B_200B_202D_202A_202E_200F_206D_200F_202E_200F_206D_206B_202E_200D_202A_200D_206D_202E_202E(_condition, ConditionFlag.Swimming) ? (-1655935325) : (-1655935267)); - break; - case 29: - num = ((!_200C_206A_200F_202C_200F_206D_202A_206C_200B_200E_206F_206C_206D_200F_200E_206F_206C_200B_200F_206A_206F_200B_200B_200B_202D_202A_202E_200F_206D_200F_202E_200F_206D_206B_202E_200D_202A_200D_206D_202E_202E(_condition, ConditionFlag.Mounted)) ? (-1655935236) : (-1655935302)); - break; - case 92: - num = ((!(vector3.Y - Destination.Position.Y <= Destination.VerticalStopDistance)) ? (-1655935334) : (-1655935314)); - break; - case 25: - Stop(); - num = -1655935273; - break; - case 23: - num = (_200C_206A_200F_202C_200F_206D_202A_206C_200B_200E_206F_206C_206D_200F_200E_206F_206C_200B_200F_206A_206F_200B_200B_200B_202D_202A_202E_200F_206D_200F_202E_200F_206D_206B_202E_200D_202A_200D_206D_202E_202E(_condition, ConditionFlag.InFlight) ? (-1655935236) : (-1655935354)); - break; - case 38: - num = ((!list.Any(IsOnFlightPath)) ? (-1655935236) : (-1655935294)); - break; - case 103: - num = (Destination.IsFlying ? (-1655935292) : (-1655935265)); - break; - case 100: - { - _pathfindStartTime = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E(); - _pathfindTolerance = 10f; - _pathfindTask = _navmeshIpc.PathfindWithTolerance(vector, Destination.Position, Destination.IsFlying, 10f); - DestinationData? destination2 = Destination; - int navmeshCalculations = destination2.NavmeshCalculations; - int num8 = navmeshCalculations; - num3 = 1; - num4 = num8; - destination2.NavmeshCalculations = (num4 | num3) + (num4 & num3); - return; + Stop(); + } } - case 83: + else if ((vector4 - Destination.Position).Length() < Destination.StopDistance) { - IPlayerCharacter playerCharacter = _206C_206C_206F_206F_202D_206B_206D_206E_202E_200D_206A_206C_200D_206A_202D_202E_206D_200F_206A_200F_202E_200F_206C_202D_206D_200F_206A_206D_200B_202B_202D_206A_200C_206F_202D_206A_200C_206F_202E_200C_202E(_objectTable); - vector = ((playerCharacter != null) ? _200D_202E_202E_206E_200D_200F_206A_202E_200B_202D_206F_200E_200F_206C_202A_200F_206B_202B_202B_202D_206B_206D_202E_202D_200F_200C_202D_202E_200B_202E_200E_206B_200E_200B_200C_200B_202A_200E_200C_200E_202E((IGameObject)playerCharacter) : Vector3.Zero); - num = ((!Destination.IsFlying) ? (-1655935233) : (-1655935309)); - break; + if (vector4.Y - Destination.Position.Y <= Destination.VerticalStopDistance) + { + Stop(); + } + else if (Destination.DataId.HasValue) + { + IGameObject gameObject = _gameFunctions.FindObjectByDataId(Destination.DataId.Value); + if ((gameObject is ICharacter || gameObject is IEventObj) ? true : false) + { + if (Math.Abs(vector4.Y - gameObject.Position.Y) < 1.95f) + { + Stop(); + } + } + else if (gameObject != null && gameObject.ObjectKind == ObjectKind.Aetheryte) + { + if (AetheryteConverter.IsLargeAetheryte((EAetheryteLocation)Destination.DataId.Value)) + { + Stop(); + } + else if (Math.Abs(vector4.Y - gameObject.Position.Y) < 1.95f) + { + Stop(); + } + } + else + { + Stop(); + } + } + else + { + Stop(); + } } - case 5: - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(935417340), Array.Empty()); - num = (IsNavmeshReady ? (-1655935288) : (-1655935347)); - break; - case 44: - num = ((_202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E() - _pathfindStartTime <= 30000) ? (-1655935339) : (-1655935327)); - break; + else + { + List waypoints2 = _navmeshIpc.GetWaypoints(); + Vector3? vector5 = _objectTable.LocalPlayer?.Position; + if (vector5.HasValue) + { + if (RecalculateNavmesh(waypoints2, vector5.Value)) + { + return; + } + if (!Destination.IsFlying && !_condition[ConditionFlag.Mounted] && !_gameFunctions.HasStatusPreventingSprint() && Destination.CanSprint) + { + TriggerSprintIfNeeded(waypoints2, vector5.Value); + } + } + } + } + destination = Destination; + if ((object)destination != null && destination.MovementType == EMovementType.Landing && HasBeenMovingForAtLeast(500) && (!IsPathRunning || HasBeenMovingForAtLeast(10000))) + { + bool num2 = _condition[ConditionFlag.InFlight]; + Stop(); + if (num2) + { + _logger.LogWarning("Descend ended while still airborne, treating as unreachable"); + throw new PathfindingFailedException("Descend ended while still airborne"); } } } internal static bool IsRouteEndAcceptable(float endDistance, float stopDistance, bool isFlying, bool land, bool hasPartialInfo, bool isPartial) { - int num = (land ? 1 : 0); - int num2 = (isFlying ? 1 : 0); - int num3 = (((num2 | num) - (num2 ^ num) == 0) ? (-927356858) : (-927356857)); - while (true) + if (isFlying && land) { - int num4 = num3; - num = -927356858; - num2 = num4; - int num5 = num2 + num; - int num6 = num2 & num; - switch (num5 - (num6 + num6)) - { - case 2: - return endDistance <= stopDistance; - case 1: - return true; - case 4: - num3 = -927356857; - break; - case 0: - { - bool num7 = !isFlying; - num = (hasPartialInfo ? 1 : 0); - num2 = (num7 ? 1 : 0); - int num8 = (num2 | num) - (num2 ^ num); - num = (isPartial ? 1 : 0); - num2 = num8; - num3 = (((num2 | num) - (num2 ^ num) == 0) ? (-927356859) : (-927356860)); - break; - } - case 3: - return endDistance <= stopDistance + 5f; - } + return true; } + if (!isFlying && hasPartialInfo && isPartial) + { + return endDistance <= stopDistance; + } + return endDistance <= stopDistance + 5f; } private void StartPlayerInputTracking() { - IPlayerCharacter playerCharacter = _206C_206C_206F_206F_202D_206B_206D_206E_202E_200D_206A_206C_200D_206A_202D_202E_206D_200F_206A_200F_202E_200F_206C_202D_206D_200F_206A_206D_200B_202B_202D_206A_200C_206F_202D_206A_200C_206F_202E_200C_202E(_objectTable); - int num = ((playerCharacter == null) ? 424392342 : 424392343); - while (true) + IPlayerCharacter localPlayer = _objectTable.LocalPlayer; + if (localPlayer != null) { - int num2 = num; - int num3 = 424392342; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 424392343; - break; - case 0: - return; - case 1: - _lastKnownPosition = _200D_202E_202E_206E_200D_200F_206A_202E_200B_202D_206F_200E_200F_206C_202A_200F_206B_202B_202B_202D_206B_206D_202E_202D_200F_200C_202D_202E_200B_202E_200E_206B_200E_200B_200C_200B_202A_200E_200C_200E_202E((IGameObject)playerCharacter); - _expectedPosition = _200D_202E_202E_206E_200D_200F_206A_202E_200B_202D_206F_200E_200F_206C_202A_200F_206B_202B_202B_202D_206B_206D_202E_202D_200F_200C_202D_202E_200B_202E_200E_206B_200E_200B_200C_200B_202A_200E_200C_200E_202E((IGameObject)playerCharacter); - _lastPositionUpdateTime = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E(); - _isTrackingPlayerInput = true; - num = 424392342; - break; - } + _lastKnownPosition = localPlayer.Position; + _expectedPosition = localPlayer.Position; + _lastPositionUpdateTime = Environment.TickCount64; + _isTrackingPlayerInput = true; } } - [MethodImpl(MethodImplOptions.NoInlining)] private bool DetectPlayerInputInterference() { - int num = (_configuration.General.StopOnPlayerInput ? 1130252873 : 1130252878); - Vector3 vector = default(Vector3); - long num5 = default(long); - IPlayerCharacter playerCharacter = default(IPlayerCharacter); - List waypoints = default(List); - Vector3 vector3 = default(Vector3); - Vector3 value = default(Vector3); - float num8 = default(float); - while (true) + if (!_configuration.General.StopOnPlayerInput) { - int num2 = num; - int num3 = 1130252866; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 14: - return false; - case 6: - _lastKnownPosition = vector; - _lastPositionUpdateTime = num5; - return false; - case 3: - playerCharacter = _206C_206C_206F_206F_202D_206B_206D_206E_202E_200D_206A_206C_200D_206A_202D_202E_206D_200F_206A_200F_202E_200F_206C_202D_206D_200F_206A_206D_200B_202B_202D_206A_200C_206F_202D_206A_200C_206F_202E_200C_202E(_objectTable); - num = ((playerCharacter != null) ? 1130252875 : 1130252869); - break; - case 2: - num = (_lastKnownPosition.HasValue ? 1130252865 : 1130252877); - break; - case 5: - _expectedPosition = waypoints[0]; - num = 1130252866; - break; - case 10: - waypoints = _navmeshIpc.GetWaypoints(); - num = ((waypoints.Count <= 0) ? 1130252866 : 1130252871); - break; - case 7: - return false; - case 9: - { - vector = _200D_202E_202E_206E_200D_200F_206A_202E_200B_202D_206F_200E_200F_206C_202A_200F_206B_202B_202B_202D_206B_206D_202E_202D_200F_200C_202D_202E_200B_202E_200E_206B_200E_200B_200C_200B_202A_200E_200C_200E_202E((IGameObject)playerCharacter); - num5 = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E(); - long num6 = num5; - long lastPositionUpdateTime = _lastPositionUpdateTime; - long num7 = num6; - num = ((~(~num7 + lastPositionUpdateTime) >= 100) ? 1130252872 : 1130252876); - break; - } - case 4: - num = 1130252878; - break; - case 8: - vector3 = Vector3.Normalize(_expectedPosition.Value - _lastKnownPosition.Value); - value = vector - _lastKnownPosition.Value; - num = ((!(value.Length() > 0.1f)) ? 1130252868 : 1130252867); - break; - case 11: - num = ((!_isTrackingPlayerInput) ? 1130252877 : 1130252864); - break; - case 15: - return false; - case 13: - _206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-52800617), new object[3] - { - num8, - value.ToString(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1450220880), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()), - vector3.ToString(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1450220880), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()) - }); - return true; - case 12: - return false; - case 1: + return false; + } + if (!_isTrackingPlayerInput || !_lastKnownPosition.HasValue) + { + return false; + } + IPlayerCharacter localPlayer = _objectTable.LocalPlayer; + if (localPlayer == null) + { + return false; + } + Vector3 position = localPlayer.Position; + long tickCount = Environment.TickCount64; + if (tickCount - _lastPositionUpdateTime < 100) + { + return false; + } + List waypoints = _navmeshIpc.GetWaypoints(); + if (waypoints.Count > 0) + { + _expectedPosition = waypoints[0]; + } + if (_expectedPosition.HasValue) + { + Vector3 vector = Vector3.Normalize(_expectedPosition.Value - _lastKnownPosition.Value); + Vector3 value = position - _lastKnownPosition.Value; + if (value.Length() > 0.1f) { Vector3 vector2 = Vector3.Normalize(value); - num8 = Vector3.Dot(vector3, vector2); - num = ((!(num8 < 0.7f)) ? 1130252868 : 1130252879); - break; - } - case 0: - num = ((!_expectedPosition.HasValue) ? 1130252868 : 1130252874); - break; + float num = Vector3.Dot(vector, vector2); + if (num < 0.7f) + { + _logger.LogDebug("Player movement detected: alignment={Alignment:F2}, actual={Actual}, expected={Expected}", num, value.ToString("G", CultureInfo.InvariantCulture), vector.ToString("G", CultureInfo.InvariantCulture)); + return true; + } } } + _lastKnownPosition = position; + _lastPositionUpdateTime = tickCount; + return false; } private void StopPlayerInputTracking() @@ -1399,268 +564,117 @@ internal sealed class MovementController : IDisposable { Stop(); Vector3 vector = destination.Position; - int num = (((object)destination == null) ? 961052412 : 961052413); - bool? flag = default(bool?); - bool fly2 = default(bool); - while (true) + if ((object)destination != null && destination.IsFlying && destination.Land) { - int num2 = num; - int num3 = 961052415; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - bool num7; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 3: - flag = fly; - num = (flag.HasValue ? 961052410 : 961052415); - continue; - case 2: - num = ((!destination.IsFlying) ? 961052412 : 961052414); - continue; - case 6: - { - EMovementType movementType = destination.MovementType; - uint? dataId = destination.DataId; - int num8 = 1; - List list = new List(num8); - CollectionsMarshal.SetCount(list, num8); - CollectionsMarshal.AsSpan(list)[0] = vector; - NavigateTo(movementType, dataId, list, fly2, destination.CanSprint, destination.StopDistance, destination.VerticalStopDistance, destination.Land); - return; - } - case 7: - num = 961052413; - continue; - case 8: - NavigateTo(destination.MovementType, destination.DataId, vector, fly2, destination.CanSprint, destination.StopDistance, destination.VerticalStopDistance, destination.Land, destination.IsSmartNavRouted); - return; - case 0: - num7 = destination.IsFlying; - break; - case 4: - { - Vector3 vector2 = vector; - vector2.Y = vector.Y - 2.6f; - vector = vector2; - num = 961052412; - continue; - } - case 1: - num = ((!destination.Land) ? 961052412 : 961052411); - continue; - case 5: - num7 = flag == true; - break; - } - fly2 = num7; - num = ((!destination.UseNavmesh) ? 961052409 : 961052407); + Vector3 vector2 = vector; + vector2.Y = vector.Y - 2.6f; + vector = vector2; } + bool fly2 = fly ?? destination.IsFlying; + if (destination.UseNavmesh) + { + NavigateTo(destination.MovementType, destination.DataId, vector, fly2, destination.CanSprint, destination.StopDistance, destination.VerticalStopDistance, destination.Land, destination.IsSmartNavRouted); + return; + } + EMovementType movementType = destination.MovementType; + uint? dataId = destination.DataId; + int num = 1; + List list = new List(num); + CollectionsMarshal.SetCount(list, num); + CollectionsMarshal.AsSpan(list)[0] = vector; + NavigateTo(movementType, dataId, list, fly2, destination.CanSprint, destination.StopDistance, destination.VerticalStopDistance, destination.Land); } private bool IsOnFlightPath(Vector3 p) { Vector3? pointOnFloor = _navmeshIpc.GetPointOnFloor(p, unlandable: true); - int num = ((!pointOnFloor.HasValue) ? 1773669733 : 1773669734); - while (true) + if (pointOnFloor.HasValue) { - int num2 = num; - int num3 = 1773669732; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return false; - case 2: - return _206D_202E_206D_200C_206C_200B_202C_202D_206A_202C_202B_206A_200E_200E_202A_202D_206A_200C_200F_202C_202D_206E_202E_206A_200D_206C_200F_206D_206A_202B_206F_200B_206A_206B_206E_206B_200F_206B_200F_200D_202E(pointOnFloor.Value.Y - p.Y) > 0.5f; - case 0: - goto IL_0079; - } - continue; - IL_0079: - num = 1773669734; + return Math.Abs(pointOnFloor.Value.Y - p.Y) > 0.5f; } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] [MemberNotNull("Destination")] private void PrepareNavigation(EMovementType type, uint? dataId, Vector3 to, bool fly, bool sprint, float? stopDistance, float verticalStopDistance, bool land, bool useNavmesh, bool isSmartNavRouted) { ResetPathfinding(); - int num = ((!InputManager.IsAutoRunning()) ? 832014818 : 832014819); - while (true) + if (InputManager.IsAutoRunning()) { - int num2 = num; - int num3 = 832014818; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - Destination = new DestinationData(type, dataId, to, stopDistance ?? 2.8f, fly, sprint, verticalStopDistance, land, useNavmesh, isSmartNavRouted); - MovementStartedAt = null; - return; - case 1: - _206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1560991692), Array.Empty()); - _200E_202D_206F_206A_206A_206C_200F_206E_200C_206F_206B_206B_202E_202C_206E_202E_206A_200F_200B_206A_202E_202C_206E_200E_206A_202E_202B_202E_206C_206A_200F_202A_200D_206E_206F_202C_206D_202C_202B_202B_202E(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(-1220827390)); - num = 832014818; - break; - case 2: - num = 832014819; - break; - } + _logger.LogDebug("Turning off auto-move"); + ChatHelper.SendCommand("/automove off"); } + Destination = new DestinationData(type, dataId, to, stopDistance ?? 2.8f, fly, sprint, verticalStopDistance, land, useNavmesh, isSmartNavRouted); + MovementStartedAt = null; } - [MethodImpl(MethodImplOptions.NoInlining)] public void NavigateTo(EMovementType type, uint? dataId, Vector3 to, bool fly, bool sprint, float? stopDistance = null, float? verticalStopDistance = null, bool land = false, bool isSmartNavRouted = false) { - int num = (IsNavmeshReady ? (-162149652) : (-162149649)); - Vector3 vector2 = default(Vector3); - while (true) + if (!IsNavmeshReady) { - int num2 = num; - int num3 = -162149651; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 9: - _206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, 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(-1778448689), new object[1] { 5f }); - _pathfindTolerance = 5f; - _pathfindTask = _navmeshIpc.PathfindWithTolerance(vector2, to, fly, 5f); - return; - case 5: - num = ((!(_206F_206E_206B_206A_206D_206A_200E_206F_202C_202E_202A_202C_200E_206F_206A_202C_200D_202D_202C_206B_206D_200F_206C_202D_200E_206B_202E_206D_200D_202B_200F_206D_206F_206E_200D_202A_206A_202E_206D_206E_202E(_aetheryteData, vector2, _206B_200E_206D_206D_200E_206C_202E_200C_206E_206C_202D_200F_206F_206C_200C_206C_200F_202D_200D_206B_202A_200F_202B_200C_202C_202A_206F_202B_206E_202C_202C_200E_206C_206B_200B_206C_202D_200F_202E_206E_202E(_clientState), EAetheryteLocation.CoerthasCentralHighlandsCampDragonhead) < 11f)) ? (-162149653) : (-162149651)); - break; - case 1: - { - fly |= _200C_206A_200F_202C_200F_206D_202A_206C_200B_200E_206F_206C_206D_200F_200E_206F_206C_200B_200F_206A_206F_200B_200B_200B_202D_202A_202E_200F_206D_200F_202E_200F_206D_206B_202E_200D_202A_200D_206D_202E_202E(_condition, ConditionFlag.Diving); - bool num5 = fly; - num3 = (land ? 1 : 0); - num4 = (num5 ? 1 : 0); - num = ((num4 + num3 - (num4 | num3) == 0) ? (-162149659) : (-162149658)); - break; - } - case 2: - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(139323207), new object[1] { to.ToString(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(2120763774), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()) }); - return; - case 8: - { - PrepareNavigation(type, dataId, to, fly, sprint, stopDistance, verticalStopDistance ?? 1.95f, land, useNavmesh: true, isSmartNavRouted); - _206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-453779962), new object[1] { Destination }); - DestinationData? destination = Destination; - int navmeshCalculations = destination.NavmeshCalculations; - num3 = 1; - num4 = navmeshCalculations; - destination.NavmeshCalculations = (num4 | num3) + (num4 & num3); - IPlayerCharacter playerCharacter = _206C_206C_206F_206F_202D_206B_206D_206E_202E_200D_206A_206C_200D_206A_202D_202E_206D_200F_206A_200F_202E_200F_206C_202D_206D_200F_206A_206D_200B_202B_202D_206A_200C_206F_202D_206A_200C_206F_202E_200C_202E(_objectTable); - vector2 = ((playerCharacter != null) ? _200D_202E_202E_206E_200D_200F_206A_202E_200B_202D_206F_200E_200F_206C_202A_200F_206B_202B_202B_202D_206B_206D_202E_202D_200F_200C_202D_202E_200B_202E_200E_206B_200E_200B_200C_200B_202A_200E_200C_200E_202E((IGameObject)playerCharacter) : Vector3.Zero); - num = ((!fly) ? (-162149653) : (-162149656)); - break; - } - case 3: - { - _pathfindStartTime = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E(); - bool num6 = fly; - num3 = (land ? 1 : 0); - num4 = (num6 ? 1 : 0); - num = ((num4 + num3 - (num4 | num3) == 0) ? (-162149654) : (-162149660)); - break; - } - case 7: - _cancellationTokenSource = _206B_202A_206A_202B_206C_202C_202A_206C_200F_206D_206A_202E_200C_206D_206B_206F_202E_202E_206D_202C_202B_206C_206D_206E_206A_202E_202C_202B_202C_206F_206C_200C_206C_206F_202A_206F_202D_200E_206D_200E_202E(); - _200D_200B_202B_200B_206B_206C_200F_200B_200B_202E_206D_202B_202D_202E_200C_200D_202A_200C_200E_200E_200F_200F_200B_200B_206C_206F_200F_206F_202D_206D_202B_202E_206C_202C_206A_202C_206B_200B_206E_206A_202E(_cancellationTokenSource, TimeSpan.FromSeconds(30L)); - _pathfindTolerance = 0.25f; - _pathfindTask = _navmeshIpc.Pathfind(vector2, to, fly, _202C_202B_202B_202E_202E_206E_200C_202E_206C_206C_202D_202E_202C_202C_200E_206B_206B_202B_206F_206D_200E_202D_206D_206C_206C_206E_200F_206C_206D_202B_200B_200F_202C_202D_200D_202D_200D_202D_202A_200D_202E(_cancellationTokenSource)); - return; - case 0: - { - Vector3 vector = vector2; - vector.Y = vector2.Y + 1f; - vector2 = vector; - _206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, 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(1008345878), new object[1] { vector2.ToString(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(2120763774), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()) }); - num = -162149650; - break; - } - case 11: - { - Vector3 vector = to; - vector.Y = to.Y + 2.6f; - to = vector; - num = -162149659; - break; - } - case 10: - { - Vector3 vector = vector2; - vector.Y = vector2.Y + 0.2f; - vector2 = vector; - num = -162149650; - break; - } - case 4: - num = -162149649; - break; - case 6: - num = ((!fly) ? (-162149650) : (-162149657)); - break; - } + _logger.LogWarning("Navmesh not ready, cannot start navigation to {Position}", to.ToString("G", CultureInfo.InvariantCulture)); + return; + } + fly |= _condition[ConditionFlag.Diving]; + if (fly && land) + { + Vector3 vector = to; + vector.Y = to.Y + 2.6f; + to = vector; + } + PrepareNavigation(type, dataId, to, fly, sprint, stopDistance, verticalStopDistance ?? 1.95f, land, useNavmesh: true, isSmartNavRouted); + _logger.LogDebug("Pathfinding to {Destination}", Destination); + Destination.NavmeshCalculations++; + Vector3 vector2 = _objectTable.LocalPlayer?.Position ?? Vector3.Zero; + if (fly && _aetheryteData.CalculateDistance(vector2, _clientState.TerritoryType, EAetheryteLocation.CoerthasCentralHighlandsCampDragonhead) < 11f) + { + Vector3 vector = vector2; + vector.Y = vector2.Y + 1f; + vector2 = vector; + _logger.LogDebug("Using modified start position for flying pathfinding: {StartPosition}", vector2.ToString("G", CultureInfo.InvariantCulture)); + } + else if (fly) + { + Vector3 vector = vector2; + vector.Y = vector2.Y + 0.2f; + vector2 = vector; + } + _pathfindStartTime = Environment.TickCount64; + if (fly && land) + { + _logger.LogDebug("Using tolerance-based pathfinding for landing (tolerance: {Tolerance})", 5f); + _pathfindTolerance = 5f; + _pathfindTask = _navmeshIpc.PathfindWithTolerance(vector2, to, fly, 5f); + } + else + { + _cancellationTokenSource = new CancellationTokenSource(); + _cancellationTokenSource.CancelAfter(TimeSpan.FromSeconds(30L)); + _pathfindTolerance = 0.25f; + _pathfindTask = _navmeshIpc.Pathfind(vector2, to, fly, _cancellationTokenSource.Token); } } - [MethodImpl(MethodImplOptions.NoInlining)] public void NavigateTo(EMovementType type, uint? dataId, List to, bool fly, bool sprint, float? stopDistance, float? verticalStopDistance = null, bool land = false) { - int num = (IsNavmeshReady ? (-1651197937) : (-1651197943)); - while (true) + if (!IsNavmeshReady) { - int num2 = num; - int num3 = -1651197940; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - { - fly |= _200C_206A_200F_202C_200F_206D_202A_206C_200B_200E_206F_206C_206D_200F_200E_206F_206C_200B_200F_206A_206F_200B_200B_200B_202D_202A_202E_200F_206D_200F_202E_200F_206D_206B_202E_200D_202A_200D_206D_202E_202E(_condition, ConditionFlag.Diving); - bool num5 = fly; - num3 = (land ? 1 : 0); - num4 = (num5 ? 1 : 0); - num = (((num4 | num3) - (num4 ^ num3) == 0) ? (-1651197944) : (-1651197938)); - break; - } - case 5: - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(139323207), new object[1] { to.Last().ToString(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(2120763774), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()) }); - return; - case 4: - PrepareNavigation(type, dataId, to.Last(), fly, sprint, stopDistance, verticalStopDistance ?? 1.95f, land, useNavmesh: false, isSmartNavRouted: false); - _206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, 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(-1893200715), new object[1] { Destination }); - _navmeshIpc.MoveTo(to, fly, 0.25f); - MovementStartedAt = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E(); - StartPlayerInputTracking(); - return; - case 0: - num = -1651197943; - break; - case 1: - { - int index = to.Count - 1; - Vector3 value = to[to.Count - 1]; - value.Y = to[to.Count - 1].Y + 2.6f; - to[index] = value; - num = -1651197944; - break; - } - case 2: - num = ((to.Count <= 0) ? (-1651197944) : (-1651197939)); - break; - } + _logger.LogWarning("Navmesh not ready, cannot start navigation to {Position}", to.Last().ToString("G", CultureInfo.InvariantCulture)); + return; } + fly |= _condition[ConditionFlag.Diving]; + if (fly && land && to.Count > 0) + { + int index = to.Count - 1; + Vector3 value = to[to.Count - 1]; + value.Y = to[to.Count - 1].Y + 2.6f; + to[index] = value; + } + PrepareNavigation(type, dataId, to.Last(), fly, sprint, stopDistance, verticalStopDistance ?? 1.95f, land, useNavmesh: false, isSmartNavRouted: false); + _logger.LogDebug("Moving to {Destination}", Destination); + _navmeshIpc.MoveTo(to, fly, 0.25f); + MovementStartedAt = Environment.TickCount64; + StartPlayerInputTracking(); } public void ResetPathfinding() @@ -1669,584 +683,202 @@ internal sealed class MovementController : IDisposable { try { - _200C_200F_200E_206A_206F_206D_206D_206C_202B_200B_200C_202C_200E_206C_202E_206D_202C_206B_206B_202A_206B_206F_202C_200F_202D_200C_200F_200C_206B_202D_200F_202E_200C_206A_202C_200B_202E_206F_206D_200F_202E(_cancellationTokenSource); + _cancellationTokenSource.Cancel(); } catch (ObjectDisposedException) { } - _200E_206B_202B_206D_206B_200C_200D_202B_200C_202B_200E_200B_202C_202E_202E_202E_202E_206C_200F_206E_200E_202D_202A_206C_200F_200D_206B_200B_200F_202D_206F_206D_200F_206C_202B_202D_202B_200C_200F_200D_202E(_cancellationTokenSource); + _cancellationTokenSource.Dispose(); _cancellationTokenSource = null; } _pathfindTask = null; _pathfindTimeoutLogged = false; } - [MethodImpl(MethodImplOptions.NoInlining)] private Vector3? TryFindAccessibleDestination(Vector3 target, bool flying, bool landing) { - int num = (IsNavmeshReady ? 1901620247 : 1901620241); - Vector3? pointOnFloor = default(Vector3?); - float num13 = default(float); - float num8 = default(float); - float[] array = default(float[]); - int num7 = default(int); - float[] array5 = default(float[]); - float num11 = default(float); - Vector3? vector = default(Vector3?); - float num14 = default(float); - while (true) + if (!IsNavmeshReady) { - int num2 = num; - int num3 = 1901620246; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - float[] array3; - float[] array2; - switch (num5 - (num6 + num6)) + _logger.LogWarning("Navmesh not ready, cannot find accessible destination"); + return null; + } + float[] array = ((!(flying && landing)) ? ((!flying) ? new float[3] { 1f, 3f, 5f } : new float[3] { 2f, 5f, 10f }) : new float[3] { 5f, 10f, 15f }); + float[] array2 = ((!flying) ? new float[3] { 1f, 2f, 3f } : new float[3] { 3f, 5f, 10f }); + for (int i = 0; i < array.Length; i++) + { + float num = array[i]; + float num2 = array2[Math.Min(i, array2.Length - 1)]; + Vector3? vector = _navmeshIpc.FindNearestReachableMeshPoint(target, num, num2); + if (vector.HasValue) { - case 9: - _206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(991342630), new object[4] + float num3 = Vector3.Distance(target, vector.Value); + if (num3 <= num * 1.5f) { - target.ToString(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1450220880), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()), - pointOnFloor.Value.ToString(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1770759382), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()), - num13, - num8 - }); - num = 1901620230; - break; - case 13: - { - num8 = array[num7]; - float[] array4 = array5; - int num9 = num7; - int num10 = array5.Length; - num3 = 1; - num4 = num10; - num11 = array4[_200F_206D_202D_202C_202C_202B_200D_200B_202C_202C_202B_202A_206B_206B_200C_206F_206B_206B_206B_202D_206C_206A_200E_202B_206B_202E_200F_206A_206E_206D_202C_202B_206E_202C_200C_200F_200E_202D_200E_200D_202E(num9, ~(~num4 + num3))]; - vector = _navmeshIpc.FindNearestReachableMeshPoint(target, num8, num11); - num = ((!vector.HasValue) ? 1901620227 : 1901620242); - break; - } - case 19: - array3 = new float[3]; - _200E_202E_202B_200D_206F_206E_202D_200C_206F_200D_200C_200B_206D_206B_202B_206E_200F_202D_206E_202A_206A_206B_206D_202D_206B_206C_200E_206A_206A_202D_202E_200E_206F_206E_202E_200E_200F_202E_200F_206E_202E((Array)array3, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - goto IL_0470; - case 6: - array2 = new float[3]; - _200E_202E_202B_200D_206F_206E_202D_200C_206F_200D_200C_200B_206D_206B_202B_206E_200F_202D_206E_202A_206A_206B_206D_202D_206B_206C_200E_206A_206A_202D_202E_200E_206F_206E_202E_200E_200F_202E_200F_206E_202E((Array)array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - goto IL_01bc; - case 8: - array2 = new float[3]; - _200E_202E_202B_200D_206F_206E_202D_200C_206F_200D_200C_200B_206D_206B_202B_206E_200F_202D_206E_202A_206A_206B_206D_202D_206B_206C_200E_206A_206A_202D_202E_200E_206F_206E_202E_200E_200F_202E_200F_206E_202E((Array)array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - goto IL_01bc; - case 10: - num13 = Vector3.Distance(target, pointOnFloor.Value); - num = ((!(num13 <= num8 * 1.5f)) ? 1901620226 : 1901620253); - break; - case 7: - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, 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(1434607821), Array.Empty()); - return null; - case 11: - num = ((num7 <= 0) ? 1901620230 : 1901620255); - break; - case 18: - num = 1901620241; - break; - case 21: - pointOnFloor = _navmeshIpc.GetPointOnFloor(target, flying, num8); - num = ((!pointOnFloor.HasValue) ? 1901620226 : 1901620252); - break; - case 20: - { - int num15 = num7; - num3 = 1; - num4 = num15; - int num16 = num4 ^ num3; - int num17 = num4 & num3; - num7 = num16 + (num17 + num17); - num = 1901620231; - break; - } - case 0: - array2 = new float[3]; - _200E_202E_202B_200D_206F_206E_202D_200C_206F_200D_200C_200B_206D_206B_202B_206E_200F_202D_206E_202A_206A_206B_206D_202D_206B_206C_200E_206A_206A_202D_202E_200E_206F_206E_202E_200E_200F_202E_200F_206E_202E((Array)array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - goto IL_01bc; - case 2: - _206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1730269895), new object[5] - { - target.ToString(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(-1318690943), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()), - vector.Value.ToString(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1022996025), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()), - num14, - num8, - num11 - }); - num = 1901620250; - break; - case 12: - return vector.Value; - case 5: - num = ((num7 <= 0) ? 1901620250 : 1901620244); - break; - case 4: - num14 = Vector3.Distance(target, vector.Value); - num = ((!(num14 <= num8 * 1.5f)) ? 1901620227 : 1901620243); - break; - case 17: - num = ((num7 < array.Length) ? 1901620251 : 1901620248); - break; - case 14: - { - ILogger logger = _logger; - string text = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1069787156); - object[] obj = new object[2] - { - target.ToString(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1770759382), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()), - null - }; - float[] array6 = array; - int num12 = array6.Length; - num3 = 1; - num4 = num12; - obj[1] = array6[~(~num4 + num3)]; - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)logger, text, obj); - return null; - } - case 1: - num3 = (landing ? 1 : 0); - num4 = (flying ? 1 : 0); - num = ((num4 + num3 - (num4 | num3) != 0) ? 1901620254 : 1901620245); - break; - case 15: - array3 = new float[3]; - _200E_202E_202B_200D_206F_206E_202D_200C_206F_200D_200C_200B_206D_206B_202B_206E_200F_202D_206E_202A_206A_206B_206D_202D_206B_206C_200E_206A_206A_202D_202E_200E_206F_206E_202E_200E_200F_202E_200F_206E_202E((Array)array3, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - goto IL_0470; - case 16: - return pointOnFloor.Value; - case 3: - { - num = (flying ? 1901620240 : 1901620246); - break; + if (i > 0) + { + _logger.LogDebug("Adjusted destination from {Original} to {Adjusted} (distance: {Distance:F2}, extent: {ExtentXZ}/{ExtentY})", target.ToString("G", CultureInfo.InvariantCulture), vector.Value.ToString("G", CultureInfo.InvariantCulture), num3, num, num2); + } + return vector.Value; } - IL_01bc: - array = array2; - num = (flying ? 1901620249 : 1901620229); - break; - IL_0470: - array5 = array3; - num7 = 0; - num = 1901620231; - break; + } + Vector3? pointOnFloor = _navmeshIpc.GetPointOnFloor(target, flying, num); + if (!pointOnFloor.HasValue) + { + continue; + } + float num4 = Vector3.Distance(target, pointOnFloor.Value); + if (num4 <= num * 1.5f) + { + if (i > 0) + { + _logger.LogDebug("Adjusted destination via floor point from {Original} to {Adjusted} (distance: {Distance:F2}, extent: {ExtentXZ})", target.ToString("G", CultureInfo.InvariantCulture), pointOnFloor.Value.ToString("G", CultureInfo.InvariantCulture), num4, num); + } + return pointOnFloor.Value; } } + _logger.LogWarning("Could not find accessible mesh point near {Target} within max extent {MaxExtent}", target.ToString("G", CultureInfo.InvariantCulture), array[^1]); + return null; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe bool RecalculateNavmesh(List navPoints, Vector3 start) { - int num = ((!(Destination == null)) ? (-392231919) : (-392231910)); - int navmeshCalculations = default(int); - EStuckRecoveryMode stuckRecoveryMode = default(EStuckRecoveryMode); - float num7 = default(float); - Vector3 vector = default(Vector3); - while (true) + if (Destination == null) { - int num2 = num; - int num3 = -392231929; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + throw new InvalidOperationException("Destination is null"); + } + if (!HasBeenMovingForAtLeast(5000)) + { + return false; + } + Vector3 vector = navPoints.FirstOrDefault(); + if (vector == default(Vector3)) + { + return false; + } + float num = Vector2.Distance(new Vector2(start.X, start.Z), new Vector2(vector.X, vector.Z)); + if (Destination.LastWaypoint == null || (Destination.LastWaypoint.Position - vector).Length() > 0.1f) + { + Destination.LastWaypoint = new LastWaypointData(vector) { - case 20: - num = -392231910; - break; - case 25: - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, 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(-1976407771), new object[2] - { - navmeshCalculations, - Destination.Position.ToString(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(-1318690943), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()) - }); - Restart(Destination); - num = -392231908; - break; - case 14: - num = (IsNavmeshReady ? (-392231906) : (-392231912)); - break; - case 27: + Distance2DAtLastUpdate = num, + UpdatedAt = Environment.TickCount64 + }; + return false; + } + if (Environment.TickCount64 - Destination.LastWaypoint.UpdatedAt > 500) + { + if (Math.Abs((double)num - Destination.LastWaypoint.Distance2DAtLastUpdate) < 0.5) { - DestinationData? destination2 = Destination; - int num10 = navmeshCalculations; - num3 = 1; - num4 = num10; - int num11 = num4 ^ num3; - int num12 = num4 & num3; - destination2.NavmeshCalculations = num11 + (num12 + num12); - return true; - } - case 13: - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, 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(1388006533), new object[1] { navmeshCalculations }); - return false; - case 4: - num = ((_202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E() - Destination.LastWaypoint.UpdatedAt <= 500) ? (-392231928) : (-392231915)); - break; - case 2: - goto IL_01e4; - case 19: - { - navmeshCalculations = Destination.NavmeshCalculations; - stuckRecoveryMode = _configuration.Navigation.StuckRecoveryMode; + int navmeshCalculations = Destination.NavmeshCalculations; + EStuckRecoveryMode stuckRecoveryMode = _configuration.Navigation.StuckRecoveryMode; int recoveryCap = GetRecoveryCap(stuckRecoveryMode); - num = ((navmeshCalculations < recoveryCap) ? (-392231913) : (-392231929)); - break; - } - case 11: - return false; - case 24: - goto IL_02a2; - case 15: - return false; - case 1: - goto IL_0319; - case 28: - Destination.LastWaypoint.Distance2DAtLastUpdate = num7; - Destination.LastWaypoint.UpdatedAt = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E(); - return false; - case 29: - throw _202B_202E_202C_206D_206D_200E_206B_202C_202B_206B_206B_200E_206E_206C_202A_206E_206D_206D_200C_206F_200F_200C_200C_202B_206A_200E_206F_200F_206B_200C_206A_200D_202E_206C_200B_206E_206D_202A_200D_206C_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1790597621)); - case 0: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(49, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(227167531)); - defaultInterpolatedStringHandler.AppendFormatted(navmeshCalculations); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1562364070)); - defaultInterpolatedStringHandler.AppendFormatted(stuckRecoveryMode); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - throw new PathfindingFailedException(defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 23: - goto IL_042f; - case 10: - Destination.LastWaypoint = new LastWaypointData(vector) + if (navmeshCalculations >= recoveryCap) { - Distance2DAtLastUpdate = num7, - UpdatedAt = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E() - }; - return false; - case 17: - _206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1935768233), new object[1] { navmeshCalculations }); - Restart(Destination); - num = -392231908; - break; - case 30: - vector = navPoints.FirstOrDefault(); - num = ((!(vector == default(Vector3))) ? (-392231936) : (-392231924)); - break; - case 31: - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1597622168), new object[1] { navmeshCalculations }); - return false; - case 16: - num = ((stuckRecoveryMode != EStuckRecoveryMode.Passive) ? (-392231918) : (-392231907)); - break; - case 12: - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1548783703), new object[1] { navmeshCalculations }); - return false; - case 21: - { - int num9 = navmeshCalculations; - num3 = 1; - num4 = num9; - switch (~(~num4 + num3)) + throw new PathfindingFailedException($"Stuck recovery exhausted after {navmeshCalculations} attempts (mode: {stuckRecoveryMode})"); + } + if (stuckRecoveryMode == EStuckRecoveryMode.Passive) + { + _logger.LogDebug("Stuck detected but recovery mode is Passive, skipping (n = {Calculations})", navmeshCalculations); + Destination.NavmeshCalculations = navmeshCalculations + 1; + return true; + } + switch (navmeshCalculations) { case 1: - case 2: - case 3: - break; case 7: - goto IL_01e4; - case 4: - goto IL_02a2; - case 0: - case 6: - goto IL_0319; + _logger.LogWarning("Jumping to try and resolve navmesh problem (n = {Calculations}) at {Position}", navmeshCalculations, Destination.Position.ToString("G", CultureInfo.InvariantCulture)); + ActionManager.Instance()->UseAction(ActionType.GeneralAction, 2u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); + Destination.LastWaypoint.UpdatedAt = Environment.TickCount64; + break; case 5: - goto IL_042f; - default: - goto IL_0593; + _logger.LogWarning("Reloading navmesh (n = {Calculations}) at {Position}", navmeshCalculations, Destination.Position.ToString("G", CultureInfo.InvariantCulture)); + _navmeshIpc.Reload(); + Destination.LastWaypoint.UpdatedAt = Environment.TickCount64; + break; + case 6: + if (!IsNavmeshReady) + { + _logger.LogWarning("Navmesh not ready after reload (n = {Calculations})", navmeshCalculations); + return false; + } + _logger.LogDebug("Navmesh ready after reload, restarting navigation (n = {Calculations})", navmeshCalculations); + Restart(Destination); + break; case 8: - goto IL_0725; + _logger.LogWarning("Rebuilding navmesh (n = {Calculations}) at {Position}", navmeshCalculations, Destination.Position.ToString("G", CultureInfo.InvariantCulture)); + _navmeshIpc.Rebuild(); + Destination.LastWaypoint.UpdatedAt = Environment.TickCount64; + break; + case 9: + if (!IsNavmeshReady) + { + _logger.LogWarning("Navmesh not ready after rebuild (n = {Calculations})", navmeshCalculations); + return false; + } + _logger.LogDebug("Navmesh ready after rebuild, restarting navigation (n = {Calculations})", navmeshCalculations); + Restart(Destination); + break; + default: + if (!IsNavmeshReady) + { + _logger.LogWarning("Navmesh not ready for recalculation (n = {Calculations})", navmeshCalculations); + return false; + } + _logger.LogWarning("Recalculating navmesh (n = {Calculations}) at {Position}", navmeshCalculations, Destination.Position.ToString("G", CultureInfo.InvariantCulture)); + Restart(Destination); + break; } - goto case 14; - } - case 5: - return false; - case 9: - _206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(224794329), new object[1] { navmeshCalculations }); - Restart(Destination); - num = -392231908; - break; - case 6: - num = ((!((Destination.LastWaypoint.Position - vector).Length() > 0.1f)) ? (-392231933) : (-392231923)); - break; - case 26: - { - _206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, 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(4831604), new object[1] { navmeshCalculations }); - DestinationData? destination = Destination; - int num8 = navmeshCalculations; - num3 = 1; - num4 = num8; - destination.NavmeshCalculations = (num4 | num3) + (num4 & num3); + Destination.NavmeshCalculations = navmeshCalculations + 1; return true; } - case 7: - num7 = Vector2.Distance(new Vector2(start.X, start.Z), new Vector2(vector.X, vector.Z)); - num = ((Destination.LastWaypoint == null) ? (-392231923) : (-392231935)); - break; - case 18: - num = ((!(_202D_206A_202C_202A_202E_206D_202E_200B_200E_206C_202E_206D_200B_206C_206C_202B_200D_206F_200E_206C_206C_202E_206F_202C_206D_206F_200D_202E_202E_200C_200B_202E_202E_206E_202E_202B_202B_206A_206F_206B_202E((double)num7 - Destination.LastWaypoint.Distance2DAtLastUpdate) < 0.5)) ? (-392231909) : (-392231916)); - break; - case 22: - num = (HasBeenMovingForAtLeast(5000) ? (-392231911) : (-392231934)); - break; - case 3: - goto IL_0725; - case 8: - { - num = -392231927; - break; - } - IL_0319: - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, 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(-1352350737), new object[2] - { - navmeshCalculations, - Destination.Position.ToString(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(2120763774), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()) - }); - ActionManager.Instance()->UseAction(ActionType.GeneralAction, 2u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); - Destination.LastWaypoint.UpdatedAt = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E(); - num = -392231908; - break; - IL_02a2: - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1763630643), new object[2] - { - navmeshCalculations, - Destination.Position.ToString(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(-1318690943), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()) - }); - _navmeshIpc.Reload(); - Destination.LastWaypoint.UpdatedAt = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E(); - num = -392231908; - break; - IL_0725: - num = (IsNavmeshReady ? (-392231922) : (-392231925)); - break; - IL_0593: - num = -392231921; - break; - IL_01e4: - _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(363591802), new object[2] - { - navmeshCalculations, - Destination.Position.ToString(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(2120763774), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()) - }); - _navmeshIpc.Rebuild(); - Destination.LastWaypoint.UpdatedAt = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E(); - num = -392231908; - break; - IL_042f: - num = (IsNavmeshReady ? (-392231914) : (-392231926)); - break; - } + Destination.LastWaypoint.Distance2DAtLastUpdate = num; + Destination.LastWaypoint.UpdatedAt = Environment.TickCount64; + return false; } + return false; } private static int GetRecoveryCap(EStuckRecoveryMode mode) { - int num; - int result = default(int); - switch (mode) + return mode switch { - default: - num = 2066456491; - goto IL_001d; - case EStuckRecoveryMode.Aggressive: - result = 10; - num = 2066456492; - goto IL_001d; - case EStuckRecoveryMode.Conservative: - goto IL_0086; - case EStuckRecoveryMode.Passive: - goto IL_0093; - IL_001d: - while (true) - { - int num2 = num; - int num3 = 2066456493; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto end_IL_001d; - case 2: - result = 10; - num = 2066456492; - break; - case 4: - num = 2066456491; - break; - case 6: - num = 2066456495; - break; - case 1: - return result; - case 5: - goto IL_0086; - case 3: - goto IL_0093; - } - continue; - end_IL_001d: - break; - } - goto case EStuckRecoveryMode.Aggressive; - IL_0093: - result = 2; - num = 2066456492; - goto IL_001d; - IL_0086: - result = 5; - num = 2066456492; - goto IL_001d; - } + EStuckRecoveryMode.Aggressive => 10, + EStuckRecoveryMode.Conservative => 5, + EStuckRecoveryMode.Passive => 2, + _ => 10, + }; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void TriggerSprintIfNeeded(IEnumerable navPoints, Vector3 start) { float num = 0f; - IEnumerator enumerator = navPoints.GetEnumerator(); - int num2; - try + foreach (Vector3 navPoint in navPoints) { - num2 = 1560481778; - while (true) - { - int num3 = num2; - int num4 = 1560481777; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 0: - num2 = 1560481778; - break; - case 2: - { - Vector3 current = enumerator.Current; - num += (start - current).Length(); - start = current; - num2 = 1560481778; - break; - } - case 3: - num2 = (_202C_202B_202E_200C_202A_200C_200C_202E_200F_200C_206B_206E_200E_206D_206C_202C_206F_206A_206E_202B_202A_202B_206C_206B_202D_202B_206A_200E_202C_202E_200F_202D_206A_206F_206E_206D_206C_206C_200E_206F_202E((IEnumerator)enumerator) ? 1560481779 : 1560481776); - break; - case 1: - goto end_IL_0019; - } - continue; - end_IL_0019: - break; - } + num += (start - navPoint).Length(); + start = navPoint; } - finally + float num2 = _configuration.Navigation.SprintDistanceOpenWorld; + if (!_gameFunctions.HasStatus(EStatus.Jog) && !_territoryData.CanUseMount(_clientState.TerritoryType)) { - num2 = ((enumerator == null) ? 827766141 : 827766142); - while (true) - { - int num8 = num2; - int num4 = 827766140; - int num5 = num8; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num2 = 827766142; - break; - case 2: - _200F_206A_206A_202C_202D_200D_200B_200D_202A_202E_206F_200E_202A_206A_202D_202E_202E_206F_202E_206B_202D_206A_202D_202E_200E_202A_202C_202A_200C_202E_202C_200B_202A_200D_206A_200B_200F_200C_200D_206A_202E((IDisposable)enumerator); - num2 = 827766141; - break; - case 1: - goto end_IL_00c5; - } - continue; - end_IL_00c5: - break; - } + num2 = _configuration.Navigation.SprintDistanceTown; } - float num9 = _configuration.Navigation.SprintDistanceOpenWorld; - num2 = (_gameFunctions.HasStatus(EStatus.Jog) ? 1159302720 : 1159302721); - while (true) + if (num > num2 && ActionManager.Instance()->GetActionStatus(ActionType.GeneralAction, 4u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) == 0) { - int num10 = num2; - int num4 = 1159302720; - int num5 = num10; - int num11 = num5 + num4; - int num12 = num5 & num4; - switch (num11 - (num12 + num12)) - { - case 6: - num2 = ((ActionManager.Instance()->GetActionStatus(ActionType.GeneralAction, 4u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) != 0) ? 1159302723 : 1159302725); - break; - case 5: - _206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1632286442), Array.Empty()); - ActionManager.Instance()->UseAction(ActionType.GeneralAction, 4u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); - num2 = 1159302723; - break; - case 3: - return; - case 0: - num2 = ((!(num > num9)) ? 1159302723 : 1159302726); - break; - case 2: - num2 = 1159302721; - break; - case 4: - num9 = _configuration.Navigation.SprintDistanceTown; - num2 = 1159302720; - break; - case 1: - num2 = (_territoryData.CanUseMount(_206B_200E_206D_206D_200E_206C_202E_200C_206E_206C_202D_200F_206F_206C_200C_206C_200F_202D_200D_206B_202A_200F_202B_200C_202C_202A_206F_202B_206E_202C_202C_200E_206C_206B_200B_206C_202D_200F_202E_206E_202E(_clientState)) ? 1159302720 : 1159302724); - break; - } + _logger.LogDebug("Triggering Sprint"); + ActionManager.Instance()->UseAction(ActionType.GeneralAction, 4u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); } } - [MethodImpl(MethodImplOptions.NoInlining)] public void Stop() { StopPlayerInputTracking(); _navmeshIpc.Stop(); ResetPathfinding(); Destination = null; - int num = ((!InputManager.IsAutoRunning()) ? (-1332858374) : (-1332858375)); - while (true) + if (InputManager.IsAutoRunning()) { - int num2 = num; - int num3 = -1332858376; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return; - case 1: - _206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, 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(-532830681), Array.Empty()); - _200E_202D_206F_206A_206A_206C_200F_206E_200C_206F_206B_206B_202E_202C_206E_202E_206A_200F_200B_206A_202E_202C_206E_200E_206A_202E_202B_202E_206C_206A_200F_202A_200D_206E_206F_202C_206D_202C_202B_202B_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(1812716843)); - num = -1332858374; - break; - case 0: - num = -1332858375; - break; - } + _logger.LogDebug("Turning off auto-move [stop]"); + ChatHelper.SendCommand("/automove off"); } } @@ -2256,165 +888,4 @@ internal sealed class MovementController : IDisposable _wigglyNavAvailability.CompatibilityChanged -= OnWigglyNavCompatibilityChanged; Stop(); } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static long _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E() - { - return Environment.TickCount64; - } - - static Task _202A_202B_202C_200E_206E_206E_200B_200C_200E_200D_200D_206F_206D_206D_206B_200B_202D_202C_206B_200C_206F_206A_206A_202D_202C_206C_202A_206F_206B_200E_200F_202A_202B_202A_200C_200C_206D_200D_200C_206D_202E(IFramework P_0, Action P_1) - { - return P_0.RunOnFrameworkThread(P_1); - } - - static bool _200F_206D_200C_202A_206C_206E_206E_206C_200D_202C_202B_200D_206B_200B_206C_200E_202A_206D_206D_200E_206D_200E_200C_206C_206D_200C_200F_200C_200D_202E_202B_200C_206E_200B_200F_206E_200E_200B_206C_200E_202E(Task P_0) - { - return P_0.IsCompleted; - } - - static Delegate _202E_202B_200F_200E_206B_206A_206E_200E_200F_200B_202D_200F_206A_202C_202A_200F_202E_202B_200C_206A_200C_202D_202A_206B_206C_202B_206D_206F_206D_200F_206B_202B_206B_202E_206C_200E_206E_206C_206E_200E_202E(Delegate P_0, Delegate P_1) - { - return Delegate.Combine(P_0, P_1); - } - - static Delegate _206C_206F_206A_202B_206D_206D_202D_200F_206C_206C_206F_202E_206B_202D_202A_200D_202C_200E_202C_202E_206E_206B_206C_206C_202B_200B_200D_202A_206B_206E_200E_206D_200E_206F_202A_206F_202B_200B_200C_202D_202E(Delegate P_0, Delegate P_1) - { - return Delegate.Remove(P_0, P_1); - } - - static void _202C_200B_200C_202E_200F_202E_202D_200F_202C_206D_202A_202A_206C_200F_206B_206C_202E_206F_202D_200D_200F_200C_206E_200F_206F_200E_200D_206A_202D_200D_206B_200C_206E_200E_202E_206F_200E_206A_206E_202D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static void _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static bool _206A_202C_202C_202B_202A_200E_200D_206D_206D_200B_202D_202E_202B_206D_200D_202C_200C_202B_202E_202C_206D_206C_202C_200B_200F_200F_200F_206C_200B_200D_200F_206E_200E_206B_200B_202E_202C_202D_206F_200D_202E(Task P_0) - { - return P_0.IsCompletedSuccessfully; - } - - static void _206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static CultureInfo _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E() - { - return CultureInfo.InvariantCulture; - } - - static IPlayerCharacter _206C_206C_206F_206F_202D_206B_206D_206E_202E_200D_206A_206C_200D_206A_202D_202E_206D_200F_206A_200F_202E_200F_206C_202D_206D_200F_206A_206D_200B_202B_202D_206A_200C_206F_202D_206A_200C_206F_202E_200C_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static Vector3 _200D_202E_202E_206E_200D_200F_206A_202E_200B_202D_206F_200E_200F_206C_202A_200F_206B_202B_202B_202D_206B_206D_202E_202D_200F_200C_202D_202E_200B_202E_200E_206B_200E_200B_200C_200B_202A_200E_200C_200E_202E(IGameObject P_0) - { - return P_0.Position; - } - - static bool _200C_206A_200F_202C_200F_206D_202A_206C_200B_200E_206F_206C_206D_200F_200E_206F_206C_200B_200F_206A_206F_200B_200B_200B_202D_202A_202E_200F_206D_200F_202E_200F_206D_206B_202E_200D_202A_200D_206D_202E_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static CancellationTokenSource _206B_202A_206A_202B_206C_202C_202A_206C_200F_206D_206A_202E_200C_206D_206B_206F_202E_202E_206D_202C_202B_206C_206D_206E_206A_202E_202C_202B_202C_206F_206C_200C_206C_206F_202A_206F_202D_200E_206D_200E_202E() - { - return new CancellationTokenSource(); - } - - static void _200D_200B_202B_200B_206B_206C_200F_200B_200B_202E_206D_202B_202D_202E_200C_200D_202A_200C_200E_200E_200F_200F_200B_200B_206C_206F_200F_206F_202D_206D_202B_202E_206C_202C_206A_202C_206B_200B_206E_206A_202E(CancellationTokenSource P_0, TimeSpan P_1) - { - P_0.CancelAfter(P_1); - } - - static CancellationToken _202C_202B_202B_202E_202E_206E_200C_202E_206C_206C_202D_202E_202C_202C_200E_206B_206B_202B_206F_206D_200E_202D_206D_206C_206C_206E_200F_206C_206D_202B_200B_200F_202C_202D_200D_202D_200D_202D_202A_200D_202E(CancellationTokenSource P_0) - { - return P_0.Token; - } - - static string _200B_206A_206A_206E_206F_200F_202B_202A_206E_200B_206F_202B_200F_202B_200D_200D_206C_206C_206D_200D_206C_206F_202E_200B_206A_206F_206E_202A_202C_206E_202E_200D_206A_202C_206F_200C_202E_200F_206A_206C_202E(string P_0, IEnumerable P_1) - { - return string.Join(P_0, P_1); - } - - static float _206D_202E_206D_200C_206C_200B_202C_202D_206A_202C_202B_206A_200E_200E_202A_202D_206A_200C_200F_202C_202D_206E_202E_206A_200D_206C_200F_206D_206A_202B_206F_200B_206A_206B_206E_206B_200F_206B_200F_200D_202E(float P_0) - { - return Math.Abs(P_0); - } - - static ObjectKind _202B_200E_200B_200D_202A_202C_202D_202B_202E_200E_200B_200F_202E_206C_200E_200F_202A_206A_202A_202C_206A_206E_202C_200C_202B_202A_200E_200D_206A_200B_206B_206B_200C_200E_206D_202D_206C_206E_206C_206F_202E(IGameObject P_0) - { - return P_0.ObjectKind; - } - - static bool _206B_200C_206B_200C_206C_202C_206C_200F_206B_202D_202A_202A_200C_200B_202D_200D_202D_200E_206E_200E_206B_200C_206E_202A_200F_206C_206A_200B_200C_200B_200D_200F_202A_202D_206A_200B_202B_200F_202A_202B_202E(EAetheryteLocation P_0) - { - return AetheryteConverter.IsLargeAetheryte(P_0); - } - - static void _200E_202D_206F_206A_206A_206C_200F_206E_200C_206F_206B_206B_202E_202C_206E_202E_206A_200F_200B_206A_202E_202C_206E_200E_206A_202E_202B_202E_206C_206A_200F_202A_200D_206E_206F_202C_206D_202C_202B_202B_202E(string P_0) - { - ChatHelper.SendCommand(P_0); - } - - static uint _206B_200E_206D_206D_200E_206C_202E_200C_206E_206C_202D_200F_206F_206C_200C_206C_200F_202D_200D_206B_202A_200F_202B_200C_202C_202A_206F_202B_206E_202C_202C_200E_206C_206B_200B_206C_202D_200F_202E_206E_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static float _206F_206E_206B_206A_206D_206A_200E_206F_202C_202E_202A_202C_200E_206F_206A_202C_200D_202D_202C_206B_206D_200F_206C_202D_200E_206B_202E_206D_200D_202B_200F_206D_206F_206E_200D_202A_206A_202E_206D_206E_202E(AetheryteData P_0, Vector3 P_1, uint P_2, EAetheryteLocation P_3) - { - return P_0.CalculateDistance(P_1, P_2, P_3); - } - - static void _200C_200F_200E_206A_206F_206D_206D_206C_202B_200B_200C_202C_200E_206C_202E_206D_202C_206B_206B_202A_206B_206F_202C_200F_202D_200C_200F_200C_206B_202D_200F_202E_200C_206A_202C_200B_202E_206F_206D_200F_202E(CancellationTokenSource P_0) - { - P_0.Cancel(); - } - - static void _200E_206B_202B_206D_206B_200C_200D_202B_200C_202B_200E_200B_202C_202E_202E_202E_202E_206C_200F_206E_200E_202D_202A_206C_200F_200D_206B_200B_200F_202D_206F_206D_200F_206C_202B_202D_202B_200C_200F_200D_202E(CancellationTokenSource P_0) - { - P_0.Dispose(); - } - - static void _200E_202E_202B_200D_206F_206E_202D_200C_206F_200D_200C_200B_206D_206B_202B_206E_200F_202D_206E_202A_206A_206B_206D_202D_206B_206C_200E_206A_206A_202D_202E_200E_206F_206E_202E_200E_200F_202E_200F_206E_202E(Array P_0, RuntimeFieldHandle P_1) - { - RuntimeHelpers.InitializeArray(P_0, P_1); - } - - static int _200F_206D_202D_202C_202C_202B_200D_200B_202C_202C_202B_202A_206B_206B_200C_206F_206B_206B_206B_202D_206C_206A_200E_202B_206B_202E_200F_206A_206E_206D_202C_202B_206E_202C_200C_200F_200E_202D_200E_200D_202E(int P_0, int P_1) - { - return Math.Min(P_0, P_1); - } - - static InvalidOperationException _202B_202E_202C_206D_206D_200E_206B_202C_202B_206B_206B_200E_206E_206C_202A_206E_206D_206D_200C_206F_200F_200C_200C_202B_206A_200E_206F_200F_206B_200C_206A_200D_202E_206C_200B_206E_206D_202A_200D_206C_202E(string P_0) - { - return new InvalidOperationException(P_0); - } - - static double _202D_206A_202C_202A_202E_206D_202E_200B_200E_206C_202E_206D_200B_206C_206C_202B_200D_206F_200E_206C_206C_202E_206F_202C_206D_206F_200D_202E_202E_200C_200B_202E_202E_206E_202E_202B_202B_206A_206F_206B_202E(double P_0) - { - return Math.Abs(P_0); - } - - static bool _202C_202B_202E_200C_202A_200C_200C_202E_200F_200C_206B_206E_200E_206D_206C_202C_206F_206A_206E_202B_202A_202B_206C_206B_202D_202B_206A_200E_202C_202E_200F_202D_206A_206F_206E_206D_206C_206C_200E_206F_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200F_206A_206A_202C_202D_200D_200B_200D_202A_202E_206F_200E_202A_206A_202D_202E_202E_206F_202E_206B_202D_206A_202D_202E_200E_202A_202C_202A_200C_202E_202C_200B_202A_200D_206A_200B_200F_200C_200D_206A_202E(IDisposable P_0) - { - P_0.Dispose(); - } } diff --git a/Questionable/Questionable.Controller/QuestController.cs b/Questionable/Questionable.Controller/QuestController.cs index 84bfc79..3b3694c 100644 --- a/Questionable/Questionable.Controller/QuestController.cs +++ b/Questionable/Questionable.Controller/QuestController.cs @@ -1,18 +1,10 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Linq; -using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using Dalamud.Configuration; using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Keys; using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Game.Gui.Toast; using Dalamud.Game.Text.SeStringHandling; using Dalamud.Plugin; @@ -20,8 +12,6 @@ using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using LLib.GameData; using LLib.Inventory; -using Lumina.Excel; -using Lumina.Excel.Sheets; using Microsoft.Extensions.Logging; using Questionable.Controller.CombatModules; using Questionable.Controller.Conditions; @@ -46,17 +36,17 @@ internal sealed class QuestController : MiniTaskController public sealed class QuestProgress { - public Questionable.Model.Quest Quest { get; private set; } + public Quest Quest { get; private set; } public byte Sequence { get; private set; } public int Step { get; private set; } - public StepProgress StepProgress { get; private set; } = new StepProgress(_206C_202D_202B_206F_206F_200D_200D_200B_200E_202E_206D_202B_200B_200D_206E_206B_206B_200D_202E_206D_206A_206F_200D_200C_200D_200C_206B_200D_206C_202A_206D_202D_202A_206A_206C_206E_200C_206A_202E_206D_202E()); + public StepProgress StepProgress { get; private set; } = new StepProgress(Environment.TickCount64); public QuestProgressInfo? InitialQuestWork { get; private set; } - public QuestProgress(Questionable.Model.Quest quest, byte sequence = 0, int step = 0, QuestProgressInfo? initialQuestWork = null) + public QuestProgress(Quest quest, byte sequence = 0, int step = 0, QuestProgressInfo? initialQuestWork = null) { Quest = quest; InitialQuestWork = initialQuestWork; @@ -65,26 +55,9 @@ internal sealed class QuestController : MiniTaskController internal void CaptureInitialQuestWork(QuestProgressInfo? questWork) { - int num = ((InitialQuestWork != null) ? (-1691555041) : (-1691555044)); - while (true) + if (InitialQuestWork == null) { - int num2 = num; - int num3 = -1691555042; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1691555044; - break; - case 2: - { - QuestProgressInfo questProgressInfo = (InitialQuestWork = questWork); - num = -1691555041; - break; - } - case 1: - return; - } + QuestProgressInfo questProgressInfo = (InitialQuestWork = questWork); } } @@ -97,10 +70,10 @@ internal sealed class QuestController : MiniTaskController public void SetStep(int step) { Step = step; - StepProgress = new StepProgress(_206C_202D_202B_206F_206F_200D_200D_200B_200E_202E_206D_202B_200B_200D_206E_206B_206B_200D_202E_206D_206A_206F_200D_200C_200D_200C_206B_200D_206C_202A_206D_202D_202A_206A_206C_206E_200C_206A_202E_206D_202E()); + StepProgress = new StepProgress(Environment.TickCount64); } - internal void ReplaceQuest(Questionable.Model.Quest quest) + internal void ReplaceQuest(Quest quest) { Quest = quest; } @@ -112,150 +85,14 @@ internal sealed class QuestController : MiniTaskController PointMenuCounter = StepProgress.PointMenuCounter + 1 }; } - - static long _206C_202D_202B_206F_206F_200D_200D_200B_200E_202E_206D_202B_200B_200D_206E_206B_206B_200D_202E_206D_206A_206F_200D_200C_200D_200C_206B_200D_206C_202A_206D_202D_202A_206A_206C_206E_200C_206A_202E_206D_202E() - { - return Environment.TickCount64; - } } - public sealed record StepProgress(long StartedAt, int PointMenuCounter = 0) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202C_206C_206C_206D_206E_200E_202D_202E_206A_200C_202C_200F_202E_202E_206B_202E_200D_200C_206B_200E_202E_200E_206A_206B_202B_200E_200F_206D_206A_200E_202B_206D_202D_202A_202D_200F_206F_202C_202D_200D_202E(typeof(StepProgress).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202E_206C_202E_202E_200B_206B_206B_206F_202D_206B_202C_202B_206F_202D_200E_202B_206B_200C_206F_206A_200B_206F_200C_202B_206E_206E_200E_202D_200E_206D_200E_206F_202B_200F_200E_206C_200B_200C_202C_206B_202E(); - _202A_206A_202E_202C_200B_206C_202B_200E_206F_206D_200F_200B_202B_202B_206E_202E_200B_202C_206A_202E_206D_206E_206A_206B_200F_206B_202D_202D_200F_200F_206B_200E_200D_202B_200F_200F_202A_202B_206C_206C_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(889034362)); - _202A_206A_202E_202C_200B_206C_202B_200E_206F_206D_200F_200B_202B_202B_206E_202E_200B_202C_206A_202E_206D_206E_206A_206B_200F_206B_202D_202D_200F_200F_206B_200E_200D_202B_200F_200F_202A_202B_206C_206C_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(556540328)); - int num = ((!PrintMembers(stringBuilder)) ? 433003168 : 433003171); - while (true) - { - int num2 = num; - int num3 = 433003170; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 433003171; - break; - case 2: - _202C_206A_202A_202D_206A_206A_206A_206C_206D_202A_202A_200D_206E_206A_206A_200D_200C_206D_200F_200F_200D_200E_202B_200D_206D_200D_206A_202D_206C_206E_200E_202A_206B_202C_202A_200E_200F_200E_200F_202D_202E(stringBuilder, '}'); - return _200D_202E_202D_200E_200C_202D_202B_202A_206E_200F_206F_206D_206D_206B_200B_200C_206B_202C_206C_206B_202C_200F_202D_202D_202D_206C_202A_202E_200C_202C_200C_206D_206A_200D_200D_200C_202C_206C_202B_202B_202E((object)stringBuilder); - case 1: - _202C_206A_202A_202D_206A_206A_206A_206C_206D_202A_202A_200D_206E_206A_206A_200D_200C_206D_200F_200F_200D_200E_202B_200D_206D_200D_206A_202D_206C_206E_200E_202A_206B_202C_202A_200E_200F_200E_200F_202D_202E(stringBuilder, ' '); - num = 433003168; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206A_202A_206C_206B_206A_200F_206E_206C_200F_202C_202D_202A_202D_202B_202D_206E_200F_206B_202E_206D_202A_206D_200F_206E_200C_206C_200D_206B_206A_200C_206A_200F_202D_200E_200B_200B_200B_206E_206C_200D_202E(); - _202A_206A_202E_202C_200B_206C_202B_200E_206F_206D_200F_200B_202B_202B_206E_202E_200B_202C_206A_202E_206D_206E_206A_206B_200F_206B_202D_202D_200F_200F_206B_200E_200D_202B_200F_200F_202A_202B_206C_206C_202E(builder, 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(-272407843)); - _202A_206A_202E_202C_200B_206C_202B_200E_206F_206D_200F_200B_202B_202B_206E_202E_200B_202C_206A_202E_206D_206E_206A_206B_200F_206B_202D_202D_200F_200F_206B_200E_200D_202B_200F_200F_202A_202B_206C_206C_202E(builder, StartedAt.ToString()); - _202A_206A_202E_202C_200B_206C_202B_200E_206F_206D_200F_200B_202B_202B_206E_202E_200B_202C_206A_202E_206D_206E_206A_206B_200F_206B_202D_202D_200F_200F_206B_200E_200D_202B_200F_200F_202A_202B_206C_206C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1345737934)); - _202A_206A_202E_202C_200B_206C_202B_200E_206F_206D_200F_200B_202B_202B_206E_202E_200B_202C_206A_202E_206D_206E_206A_206B_200F_206B_202D_202D_200F_200F_206B_200E_200D_202B_200F_200F_202A_202B_206C_206C_202E(builder, PointMenuCounter.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(StepProgress? other) - { - int num = (((object)this == other) ? (-1784225980) : (-1784225981)); - while (true) - { - int num2 = num; - int num3 = -1784225982; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return false; - case 1: - num = (((object)other == null) ? (-1784225982) : (-1784225983)); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(StartedAt, other.StartedAt)) ? (-1784225982) : (-1784225977)); - break; - case 5: - return EqualityComparer.Default.Equals(PointMenuCounter, other.PointMenuCounter); - case 2: - num = -1784225981; - break; - case 3: - num = ((!_202C_202A_200F_202C_206C_200F_200D_206B_206B_200B_206E_200C_206F_206D_206B_202D_200C_206F_206A_200E_200F_206C_206F_202A_200C_200E_202E_202E_206E_202D_200D_206A_200C_200F_206D_206A_200C_202A_202D_200F_202E(EqualityContract, other.EqualityContract)) ? (-1784225982) : (-1784225978)); - break; - case 6: - return true; - } - } - } - - bool IEquatable.Equals(StepProgress? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202C_206C_206C_206D_206E_200E_202D_202E_206A_200C_202C_200F_202E_202E_206B_202E_200D_200C_206B_200E_202E_200E_206A_206B_202B_200E_200F_206D_206A_200E_202B_206D_202D_202A_202D_200F_206F_202C_202D_200D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202E_206C_202E_202E_200B_206B_206B_206F_202D_206B_202C_202B_206F_202D_200E_202B_206B_200C_206F_206A_200B_206F_200C_202B_206E_206E_200E_202D_200E_206D_200E_206F_202B_200F_200E_206C_200B_200C_202C_206B_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202A_206A_202E_202C_200B_206C_202B_200E_206F_206D_200F_200B_202B_202B_206E_202E_200B_202C_206A_202E_206D_206E_206A_206B_200F_206B_202D_202D_200F_200F_206B_200E_200D_202B_200F_200F_202A_202B_206C_206C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202C_206A_202A_202D_206A_206A_206A_206C_206D_202A_202A_200D_206E_206A_206A_200D_200C_206D_200F_200F_200D_200E_202B_200D_206D_200D_206A_202D_206C_206E_200E_202A_206B_202C_202A_200E_200F_200E_200F_202D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200D_202E_202D_200E_200C_202D_202B_202A_206E_200F_206F_206D_206D_206B_200B_200C_206B_202C_206C_206B_202C_200F_202D_202D_202D_206C_202A_202E_200C_202C_200C_206D_206A_200D_200D_200C_202C_206C_202B_202B_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206A_202A_206C_206B_206A_200F_206E_206C_200F_202C_202D_202A_202D_202B_202D_206E_200F_206B_202E_206D_202A_206D_200F_206E_200C_206C_200D_206B_206A_200C_206A_200F_202D_200E_200B_200B_200B_206E_206C_200D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _202C_202A_200F_202C_206C_200F_200D_206B_206B_200B_206E_200C_206F_206D_206B_202D_200C_206F_206A_200E_200F_206C_206F_202A_200C_200E_202E_202E_206E_202D_200D_206A_200C_200F_206D_206A_200C_202A_202D_200F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } + public sealed record StepProgress(long StartedAt, int PointMenuCounter = 0); public enum ECurrentQuestType { Normal, Next, - Gathering, Simulated } @@ -263,65 +100,10 @@ internal sealed class QuestController : MiniTaskController { Manual, Automatic, - GatheringOnly, SingleQuestA, SingleQuestB } - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__62_0; - - public static Func _003C_003E9__152_0; - - public static Func _003C_003E9__152_1; - - public static Func _003C_003E9__155_0; - - public static Func _003C_003E9__158_1; - - public static Func _003C_003E9__161_0; - - internal bool _003C_002Ector_003Eb__62_0() - { - return true; - } - - internal bool _003CTryPickPriorityQuest_003Eb__152_0(PriorityQuestInfo x) - { - return x.IsAvailable; - } - - internal ElementId _003CTryPickPriorityQuest_003Eb__152_1(PriorityQuestInfo x) - { - return x.QuestId; - } - - internal string _003CExportQuestPriority_003Eb__155_0(Questionable.Model.Quest x) - { - return _202B_206B_206E_206A_200D_206F_202C_200F_206E_200D_200E_202E_200C_206E_200C_202A_200C_200B_202D_206D_202E_206B_202B_206B_206C_200F_200C_206C_206D_206F_200D_200E_202A_202B_206E_206F_200B_206E_206A_202E((object)x.Id); - } - - internal ElementId _003CAddAllAvailableQuests_003Eb__158_1(Questionable.Model.Quest q) - { - return q.Id; - } - - internal ElementId _003CSavePriorityQuests_003Eb__161_0(Questionable.Model.Quest q) - { - return q.Id; - } - - static string _202B_206B_206E_206A_200D_206F_202C_200F_206E_200D_200E_202E_200C_206E_200C_202A_200C_200B_202D_206D_202E_206B_202B_206B_206C_200F_200C_206C_206D_206F_200D_200E_202A_202B_206E_206F_200B_206E_206A_202E(object P_0) - { - return P_0.ToString(); - } - } - private readonly IClientState _clientState; private readonly IObjectTable _objectTable; @@ -396,8 +178,6 @@ internal sealed class QuestController : MiniTaskController private QuestProgress? _simulatedQuest; - private QuestProgress? _gatheringQuest; - private QuestProgress? _pendingQuest; private EAutomationType _automationType; @@ -432,9 +212,6 @@ internal sealed class QuestController : MiniTaskController private bool _runningDebugTasks; - [CompilerGenerated] - private AutomationTypeChangedEventHandler? m_AutomationTypeChanged; - private const char ClipboardSeparator = ';'; public string? LastStopReason { get; private set; } @@ -447,37 +224,17 @@ internal sealed class QuestController : MiniTaskController { return _automationType; } - [MethodImpl(MethodImplOptions.NoInlining)] set { - int num = ((value != _automationType) ? (-698969907) : (-698969909)); - while (true) + if (value != _automationType) { - int num2 = num; - int num3 = -698969911; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + _logger.LogDebug("Setting automation type to {NewAutomationType} (previous: {OldAutomationType})", value, _automationType); + _automationType = value; + if (value != EAutomationType.Manual) { - case 3: - num = -698969909; - break; - case 2: - return; - case 4: - _200B_202A_206E_206C_200E_206C_206E_202A_206E_200B_206E_206B_202C_202A_202C_200E_200C_202B_200C_200E_206A_200D_206B_200D_200D_202D_202C_200F_202C_206D_202C_200B_200B_202E_202A_200F_202C_200F_200B_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(135636341), new object[2] { value, _automationType }); - _automationType = value; - num = ((value == EAutomationType.Manual) ? (-698969912) : (-698969911)); - break; - case 1: - this.AutomationTypeChanged?.Invoke(this, value); - return; - case 0: _commandAfterStopFired = false; - num = -698969912; - break; } + this.AutomationTypeChanged?.Invoke(this, value); } } } @@ -486,41 +243,19 @@ internal sealed class QuestController : MiniTaskController { get { - int num = ((_simulatedQuest == null) ? 836552805 : 836552801); - while (true) + if (_simulatedQuest != null) { - int num2 = num; - int num3 = 836552800; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 8: - return (_gatheringQuest, ECurrentQuestType.Gathering); - case 1: - return (_simulatedQuest, ECurrentQuestType.Simulated); - case 6: - num = 836552801; - break; - case 4: - return null; - case 2: - num = ((!_questFunctions.IsReadyToAcceptQuest(_nextQuest.Quest.Id)) ? 836552809 : 836552800); - break; - case 0: - return (_nextQuest, ECurrentQuestType.Next); - case 3: - return (_startedQuest, ECurrentQuestType.Normal); - case 7: - num = ((_startedQuest == null) ? 836552804 : 836552803); - break; - case 5: - num = ((_nextQuest == null) ? 836552809 : 836552802); - break; - case 9: - num = ((_gatheringQuest == null) ? 836552807 : 836552808); - break; - } + return (_simulatedQuest, ECurrentQuestType.Simulated); } + if (_nextQuest != null && _questFunctions.IsReadyToAcceptQuest(_nextQuest.Quest.Id)) + { + return (_nextQuest, ECurrentQuestType.Next); + } + if (_startedQuest != null) + { + return (_startedQuest, ECurrentQuestType.Normal); + } + return null; } } @@ -532,13 +267,11 @@ internal sealed class QuestController : MiniTaskController public QuestProgress? NextQuest => _nextQuest; - public QuestProgress? GatheringQuest => _gatheringQuest; - - private IPlayerCharacter? LocalPlayer => _202A_206E_200F_206E_206D_202E_206B_202A_206B_200F_200C_206C_202A_206E_200D_206B_206B_206C_206A_200D_202B_200F_206D_206E_202C_200B_200B_206B_202A_200E_206E_200F_202A_206F_206A_206F_202C_200D_202A_206B_202E(_objectTable); + private IPlayerCharacter? LocalPlayer => _objectTable.LocalPlayer; public QuestProgress? PendingQuest => _pendingQuest; - public List ManualPriorityQuests { get; } = new List(); + public List ManualPriorityQuests { get; } = new List(); public string? DebugState { get; private set; } @@ -556,90 +289,15 @@ internal sealed class QuestController : MiniTaskController { get { - IDebugStateProvider debugStateProvider = _taskQueue.CurrentTaskExecutor as IDebugStateProvider; - int num = ((debugStateProvider == null) ? (-1185520346) : (-1185520347)); - while (true) + if (_taskQueue.CurrentTaskExecutor is IDebugStateProvider debugStateProvider) { - int num2 = num; - int num3 = -1185520348; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return null; - case 1: - return debugStateProvider.GetDebugState(); - case 0: - goto IL_005b; - } - continue; - IL_005b: - num = -1185520347; + return debugStateProvider.GetDebugState(); } + return null; } } - public event AutomationTypeChangedEventHandler? AutomationTypeChanged - { - [CompilerGenerated] - add - { - AutomationTypeChangedEventHandler automationTypeChangedEventHandler = this.m_AutomationTypeChanged; - int num = 1773301825; - while (true) - { - int num2 = num; - int num3 = 1773301827; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1773301825; - break; - case 2: - { - AutomationTypeChangedEventHandler automationTypeChangedEventHandler2 = automationTypeChangedEventHandler; - AutomationTypeChangedEventHandler value2 = (AutomationTypeChangedEventHandler)_200E_202A_206A_202D_200B_202C_202C_200E_202C_200D_206A_202D_200E_206E_200C_206F_206C_200C_206E_202C_200E_200C_200F_200E_206B_206D_202D_206C_200D_202B_200D_202B_202E_206C_206E_200F_206E_206B_200D_206D_202E((Delegate)automationTypeChangedEventHandler2, (Delegate)value); - automationTypeChangedEventHandler = Interlocked.CompareExchange(ref this.m_AutomationTypeChanged, value2, automationTypeChangedEventHandler2); - num = (((object)automationTypeChangedEventHandler != automationTypeChangedEventHandler2) ? 1773301825 : 1773301826); - break; - } - case 1: - return; - } - } - } - [CompilerGenerated] - remove - { - AutomationTypeChangedEventHandler automationTypeChangedEventHandler = this.m_AutomationTypeChanged; - int num = -1372912432; - while (true) - { - int num2 = num; - int num3 = -1372912431; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return; - case 1: - { - AutomationTypeChangedEventHandler automationTypeChangedEventHandler2 = automationTypeChangedEventHandler; - AutomationTypeChangedEventHandler value2 = (AutomationTypeChangedEventHandler)_200B_206D_200F_202D_202D_206B_202A_200B_202B_200F_202A_200B_206F_206A_206B_200D_206B_206F_206F_200D_206E_206E_202B_202A_206B_206D_200B_206C_202A_206C_202D_206C_202B_206A_206A_206E_206F_202A_200D_206B_202E((Delegate)automationTypeChangedEventHandler2, (Delegate)value); - automationTypeChangedEventHandler = Interlocked.CompareExchange(ref this.m_AutomationTypeChanged, value2, automationTypeChangedEventHandler2); - num = (((object)automationTypeChangedEventHandler != automationTypeChangedEventHandler2) ? (-1372912432) : (-1372912429)); - break; - } - case 0: - num = -1372912432; - break; - } - } - } - } + public event AutomationTypeChangedEventHandler? AutomationTypeChanged; public QuestController(IClientState clientState, IObjectTable objectTable, GameFunctions gameFunctions, QuestFunctions questFunctions, MovementController movementController, CombatController combatController, WrathComboModule wrathComboModule, RotationSolverRebornModule rsrModule, BossModIpc bossModIpc, GatheringController gatheringController, FishingController fishingController, FateController fateController, SeasonalDutyController seasonalDutyController, CustomDeliveryController customDeliveryController, AttunementController attunementController, ILogger logger, QuestRegistry questRegistry, TerritoryData territoryData, JournalData journalData, IKeyState keyState, IChatGui chatGui, ICondition condition, IToastGui toastGui, Configuration configuration, TaskCreator taskCreator, IServiceProvider serviceProvider, InterruptHandler interruptHandler, IDataManager dataManager, GatheringPointRegistry gatheringPointRegistry, IFramework framework, AutoDutyIpc autoDutyIpc, IDalamudPluginInterface pluginInterface, QuestPriorityResolver priorityResolver, SmartNavReRouteService reRouteService, SmartNavRouteEnqueuer smartNavRouteEnqueuer, GearRepairService gearRepairService, NotificationService notificationService, ICommandManager commandManager) : base(chatGui, condition, serviceProvider, interruptHandler, dataManager, configuration, logger) @@ -678,914 +336,448 @@ internal sealed class QuestController : MiniTaskController _gearRepairService = gearRepairService; _notificationService = notificationService; _commandManager = commandManager; - _206C_202A_200E_200B_202B_206C_206E_202D_200D_200C_206B_206D_202B_206E_206F_202E_202D_206D_200E_200E_200D_206E_206B_202B_202A_206E_202B_200F_200D_200C_202D_202C_200F_206A_206F_206D_206D_206E_200E_206D_202E(_toastGui, (IToastGui.OnErrorToastDelegate)base.OnErrorToast); - _200C_206A_202E_202A_200F_202B_206D_200D_202B_206C_200E_202C_206F_206B_206C_206A_206F_206C_202D_200F_200E_206D_200D_202A_206A_206A_206F_206C_200D_206B_202A_200F_200F_200F_202C_206E_206A_206F_206D_202C_202E(_toastGui, (IToastGui.OnNormalToastDelegate)OnNormalToast); - _202C_202A_202A_200C_202C_200B_200D_200B_200F_202E_200C_202A_200D_206C_206C_206E_200C_200D_202C_200E_202C_200B_202D_206B_202B_200C_202C_202B_202C_206D_206F_200F_206A_202D_206C_200F_206C_200D_202A_206C_202E(_condition, (ICondition.ConditionChangeDelegate)OnConditionChange); - _202E_202A_206E_200D_202D_202D_202A_202A_200C_202A_200D_206F_206A_206A_206B_200C_200F_206C_200F_200D_206D_206B_202D_202E_200B_200F_206E_200F_200D_202E_200F_206C_200D_200D_202C_200B_200D_202B_202C_200C_202E(_clientState, (IClientState.LogoutDelegate)OnLogout); + _toastGui.ErrorToast += base.OnErrorToast; + _toastGui.Toast += OnNormalToast; + _condition.ConditionChange += OnConditionChange; + _clientState.Logout += OnLogout; _movementController.PlayerInputDetected += OnPlayerInputDetected; _questRegistry.Reloaded += OnQuestRegistryReloaded; } private static ushort GetQuestIdValue(ElementId id) { - QuestId questId = id as QuestId; - int num = (((object)questId != null) ? 725707103 : 725707100); - while (true) + if (!(id is QuestId questId)) { - int num2 = num; - int num3 = 725707101; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return _200E_202C_200B_200D_200F_202B_206C_206B_202A_206E_206D_200C_202C_206E_200F_200C_200C_206E_200D_202A_200B_206F_202B_202A_202C_202E_200F_206B_206D_200C_200D_202C_206D_200C_200D_200B_202E_202D_206A_200F_202E((ElementId)questId); - case 1: - return 0; - case 0: - goto IL_0051; - } - continue; - IL_0051: - num = 725707100; + return 0; } + return questId.Value; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Reload() { - _200B_202C_206A_200E_202B_206A_202B_206D_206A_202D_200C_200D_202D_200F_206B_206C_206B_206B_202C_202B_200D_202E_202C_206F_206C_202E_206C_202D_202A_200D_202E_200B_206B_200C_206E_200F_202D_206F_206D_206F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1125370578), Array.Empty()); + _logger.LogInformation("Reload, resetting current quest progress"); QuestRegistry.Snapshot questSnapshot = _questRegistry.Build(); Dictionary gatheringPoints = _gatheringPointRegistry.Build(); - _202C_200F_200B_200E_206E_202A_206C_200C_206F_200E_206F_200E_206C_200E_202D_202D_200B_202B_202C_200E_202C_200C_200C_200D_206D_206A_206D_200F_200C_202E_200C_206F_202C_202E_206A_202A_202B_200F_206D_206E_202E(_206B_202B_206C_206B_206A_200C_206A_206B_206C_206E_200C_200C_200B_202D_202D_202B_206E_200F_206D_200C_206A_202E_206E_206D_200E_200F_206C_206F_200C_206B_200E_200B_202C_200B_202B_202A_206D_200B_202E_200F_202E(_framework, (System.Action)delegate + _framework.RunOnFrameworkThread(delegate { ResetInternalState(); _gatheringPointRegistry.Publish(gatheringPoints); _questRegistry.Publish(questSnapshot); - })).GetResult(); + }).GetAwaiter().GetResult(); } private void ResetInternalState() { _startedQuest = null; _nextQuest = null; - _gatheringQuest = null; _pendingQuest = null; _simulatedQuest = null; _safeAnimationEnd = 0L; DebugState = null; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe void Update() { ActionManager* ptr = ActionManager.Instance(); - int num = ((ptr == null) ? 119738168 : 119738155); - ITaskExecutor currentTaskExecutor = default(ITaskExecutor); - bool flag = default(bool); - float num5 = default(float); - long num6 = default(long); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 119738142; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + float num = Math.Max(ptr->AnimationLock, (ptr->CastTimeElapsed > 0f) ? (ptr->CastTimeTotal - ptr->CastTimeElapsed) : 0f); + if (num > 0f) { - case 49: - num = (_202C_202E_202E_202D_206F_200D_202D_202A_206E_202E_202E_200F_206E_206B_206C_202B_202E_202B_202A_200B_202C_206E_200C_202E_200B_206F_206D_206B_202C_200F_200C_202E_206C_206A_200F_202C_206F_200F_202E_202C_202E(_keyState, VirtualKey.ESCAPE) ? 119738174 : 119738115); - break; - case 45: - num = ((!_deathRecoveryPending) ? 119738157 : 119738126); - break; - case 4: - StopAllDueToConditionFailed(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(303863827)); - num = 119738158; - break; - case 2: - num = ((!_202C_202E_202E_202D_206F_200D_202D_202A_206E_202E_202E_200F_206E_206B_206C_202B_202E_202B_202A_200B_202C_206E_200C_202E_200B_206F_206D_206B_202C_200F_200C_202E_206C_206A_200F_202C_206F_200F_202E_202C_202E(_keyState, VirtualKey.ESCAPE)) ? 119738159 : 119738127); - break; - case 38: - num = ((AutomationType != EAutomationType.Manual) ? 119738123 : 119738129); - break; - case 27: - num = (_taskQueue.AllTasksComplete ? 119738158 : 119738121); - break; - case 39: - num = (_206F_202B_202C_206E_206C_200C_206E_206C_206A_206C_200D_202C_202E_202D_200F_200B_206A_206C_202D_202E_202D_206A_202A_202C_202E_200C_206F_206F_202B_206F_200F_202E_206E_202A_202B_206A_206E_200E_200C_206B_202E(_condition, ConditionFlag.InDeepDungeon) ? 119738158 : 119738117); - break; - case 51: - num = ((!_configuration.General.UseEscToCancelQuesting) ? 119738173 : 119738140); - break; - case 34: - UpdateCurrentTask(); - return; - case 25: - _escPressCount = 1; - num = 119738171; - break; - case 16: - num = ((!_206C_200C_206D_202E_206F_200B_206F_200F_206F_206D_200D_202A_200C_200C_200C_206F_202E_206F_200E_206D_200D_202B_200E_206B_202E_206B_200E_206C_202E_200D_206B_206B_202D_206E_206C_206C_200C_202C_206A_202E_202E(_condition)) ? 119738165 : 119738143); - break; - case 30: - currentTaskExecutor = _taskQueue.CurrentTaskExecutor; - num = ((currentTaskExecutor is Duty.WaitAutoDutyExecutor) ? 119738128 : 119738130); - break; - case 13: - num = (_206F_202B_202C_206E_206C_200C_206E_206C_206A_206C_200D_202C_202E_202D_200F_200B_206A_206C_202D_202E_202D_206A_202A_202C_202E_200C_206F_206F_202B_206F_200F_202E_206E_202A_202B_206A_206E_200E_200C_206B_202E(_condition, ConditionFlag.BoundByDuty56) ? 119738158 : 119738169); - break; - case 7: - num = ((!CheckStopConditions(BuildEvaluationContext())) ? 119738172 : 119738134); - break; - case 29: - num = ((_200F_202C_206D_200F_200D_206C_206B_200E_202D_202E_206E_206B_202C_200C_202E_202B_200E_202A_202D_200F_202E_206B_206A_206A_200B_202D_202E_200C_206D_202D_200B_202A_206E_206D_202E_200C_206F_200B_200F_206B_202E() - _lastEscPressTime <= 1000) ? 119738174 : 119738118); - break; - case 50: - _200F_206F_202B_206C_202D_202A_202A_200B_206F_206F_206C_206F_202C_206C_206E_200F_202A_202E_202B_202B_206E_206C_206A_202A_200E_202A_206B_206A_206E_202C_200C_206B_200D_200B_200C_202E_200F_200C_206A_206A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1370191864), new object[1] { _deathCount }); - _deathCount = 0; - StopAllDueToConditionFailed(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-497867308)); - _deathRecoveryPending = true; - num = 119738158; - break; - case 41: - { - int escPressCount = _escPressCount; - num3 = 1; - num4 = escPressCount; - _escPressCount = (num4 | num3) + (num4 & num3); - num = 119738171; - break; + _safeAnimationEnd = Environment.TickCount64 + (long)(1000f * (1f + num)); } - case 54: + } + if (AutomationType == EAutomationType.Manual && !IsRunning && !IsQuestWindowOpen && !_deathRecoveryPending) + { + return; + } + UpdateCurrentQuest(); + if (!_clientState.IsLoggedIn) + { + return; + } + if (_condition[ConditionFlag.Unconscious]) + { + if (!_condition[ConditionFlag.SufferingStatusAffliction63] || _clientState.TerritoryType != 1052) { - int deathCount = _deathCount; - num3 = 1; - num4 = deathCount; - _deathCount = (num4 | num3) + (num4 & num3); - num = ((_configuration.General.MaxDeathsBeforeStop <= 0) ? 119738122 : 119738133); - break; + ITaskExecutor currentTaskExecutor = _taskQueue.CurrentTaskExecutor; + bool flag = ((currentTaskExecutor is Duty.WaitAutoDutyExecutor || currentTaskExecutor is Duty.WaitLevelingModeExecutor) ? true : false); + if (!flag && !_condition[ConditionFlag.BoundByDuty] && !_condition[ConditionFlag.BoundByDuty56] && !_condition[ConditionFlag.InDeepDungeon] && !_taskQueue.AllTasksComplete && !_deathRecoveryPending) + { + if (_configuration.General.DeathRecoveryEnabled) + { + _deathCount++; + if (_configuration.General.MaxDeathsBeforeStop > 0 && _deathCount >= _configuration.General.MaxDeathsBeforeStop) + { + _logger.LogWarning("Death recovery: max deaths ({Count}) reached, stopping", _deathCount); + _deathCount = 0; + StopAllDueToConditionFailed("HP = 0 (max deaths reached)"); + _deathRecoveryPending = true; + } + else + { + _logger.LogInformation("Death recovery: died ({Count}), waiting for respawn", _deathCount); + _deathRecoveryPending = true; + _movementController.Stop(); + _combatController.Stop("HP = 0"); + } + } + else + { + StopAllDueToConditionFailed("HP = 0"); + } + } } - case 19: - num = (flag ? 119738158 : 119738114); - break; - case 44: - num = (_taskQueue.AllTasksComplete ? 119738166 : 119738160); - break; - case 26: - num = ((!_configuration.General.DeathRecoveryEnabled) ? 119738138 : 119738152); - break; - case 46: - StopAllDueToConditionFailed(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-8306048)); - num = 119738166; - break; - case 43: - _deathRecoveryPending = false; - num = ((AutomationType == EAutomationType.Manual) ? 119738170 : 119738139); - break; - case 12: - num = ((!(currentTaskExecutor is Duty.WaitLevelingModeExecutor)) ? 119738142 : 119738128); - break; - case 52: - num = 119738155; - break; - case 1: + } + else + { + if (_deathRecoveryPending) + { + if (!ConditionHelper.IsBetweenAreas(_condition)) + { + _deathRecoveryPending = false; + if (AutomationType != EAutomationType.Manual) + { + _logger.LogInformation("Death recovery: respawned, re-planning current step"); + _gatheringController.Replan(); + _fateController.Replan(); + CheckNextTasks("Death recovery"); + } + else + { + _logger.LogInformation("Death recovery: respawned (automation stopped)"); + } + } return; - case 23: - num = (_deathRecoveryPending ? 119738158 : 119738116); - break; - case 8: - return; - case 32: - _lastEscDown = _202C_202E_202E_202D_206F_200D_202D_202A_206E_202E_202E_200F_206E_206B_206C_202B_202E_202B_202A_200B_202C_206E_200C_202E_200B_206F_206D_206B_202C_200F_200C_202E_206C_206A_200F_202C_206F_200F_202E_202C_202E(_keyState, VirtualKey.ESCAPE); - num = 119738158; - break; - case 35: - _lastEscDown = _202C_202E_202E_202D_206F_200D_202D_202A_206E_202E_202E_200F_206E_206B_206C_202B_202E_202B_202A_200B_202C_206E_200C_202E_200B_206F_206D_206B_202C_200F_200C_202E_206C_206A_200F_202C_206F_200F_202E_202C_202E(_keyState, VirtualKey.ESCAPE); + } + if (_configuration.General.UseEscToCancelQuesting) + { + if (_keyState[VirtualKey.ESCAPE] && !_lastEscDown) + { + long tickCount = Environment.TickCount64; + if (tickCount - _lastEscPressTime <= 1000) + { + _escPressCount++; + } + else + { + _escPressCount = 1; + } + _lastEscPressTime = tickCount; + if (_escPressCount >= 2) + { + if (!_taskQueue.AllTasksComplete) + { + StopAllDueToConditionFailed("ESC pressed twice"); + } + _escPressCount = 0; + } + } + if (!_keyState[VirtualKey.ESCAPE] && Environment.TickCount64 - _lastEscPressTime > 1000) + { + _escPressCount = 0; + } + _lastEscDown = _keyState[VirtualKey.ESCAPE]; + } + else + { + _lastEscDown = _keyState[VirtualKey.ESCAPE]; _escPressCount = 0; _lastEscPressTime = 0L; - num = 119738158; - break; - case 0: - flag = false; - num = 119738125; - break; - case 10: - _safeAnimationEnd = _200F_202C_206D_200F_200D_206C_206B_200E_202D_202E_206E_206B_202C_200C_202E_202B_200E_202A_202D_200F_202E_206B_206A_206A_200B_202D_202E_200C_206D_202D_200B_202A_206E_206D_202E_200C_206F_200B_200F_206B_202E() + (long)(1000f * (1f + num5)); - num = 119738168; - break; - case 28: - num = (_206F_202B_202C_206E_206C_200C_206E_206C_206A_206C_200D_202C_202E_202D_200F_200B_206A_206C_202D_202E_202D_206A_202A_202C_202E_200C_206F_206F_202B_206F_200F_202E_206E_202A_202B_206A_206E_200E_200C_206B_202E(_condition, ConditionFlag.BoundByDuty) ? 119738158 : 119738131); - break; - case 33: - return; - case 11: - num = ((_deathCount < _configuration.General.MaxDeathsBeforeStop) ? 119738122 : 119738156); - break; - case 9: - num = (IsQuestWindowOpen ? 119738123 : 119738136); - break; - case 47: - num = ((!_configuration.Stop.Enabled) ? 119738172 : 119738137); - break; - case 14: - flag = true; - num = 119738125; - break; - case 37: - _lastEscPressTime = num6; - num = ((_escPressCount < 2) ? 119738159 : 119738162); - break; - case 5: - _200B_202C_206A_200E_202B_206A_202B_206D_206A_202D_200C_200D_202D_200F_206B_206C_206B_206B_202C_202B_200D_202E_202C_206F_206C_202E_206C_202D_202A_200D_202E_200B_206B_200C_206E_200F_202D_206F_206D_206F_202E((ILogger)_logger, 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(-631514189), Array.Empty()); - _gatheringController.Replan(); - _fateController.Replan(); - CheckNextTasks(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(-729869715)); - return; - case 6: - num = (_deathRecoveryPending ? 119738123 : 119738175); - break; - case 22: - { - num6 = _200F_202C_206D_200F_200D_206C_206B_200E_202D_202E_206E_206B_202C_200C_202E_202B_200E_202A_202D_200F_202E_206B_206A_206A_200B_202D_202E_200C_206D_202D_200B_202A_206E_206D_202E_200C_206F_200B_200F_206B_202E(); - long num7 = num6; - long lastEscPressTime = _lastEscPressTime; - long num8 = num7; - num = ((~(~num8 + lastEscPressTime) > 1000) ? 119738119 : 119738167); - break; - } - case 24: - _escPressCount = 0; - num = 119738174; - break; - case 18: - return; - case 20: - _200B_202C_206A_200E_202B_206A_202B_206D_206A_202D_200C_200D_202D_200F_206B_206C_206B_206B_202C_202B_200D_202E_202C_206F_206C_202E_206C_202D_202A_200D_202E_200B_206B_200C_206E_200F_202D_206F_206D_206F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1210328484), new object[1] { _deathCount }); - _deathRecoveryPending = true; - _movementController.Stop(); - _combatController.Stop(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(303863827)); - num = 119738158; - break; - case 17: - num = (_lastEscDown ? 119738159 : 119738120); - break; - case 21: - UpdateCurrentQuest(); - num = (_200C_206C_202D_202B_200C_202B_206D_202A_206E_206D_202E_202D_200D_202C_200F_202B_200B_206F_200D_206E_206D_202D_206E_206A_206B_200C_200E_200E_206F_200E_200B_206B_200D_202E_200B_200E_206C_202E_200D_206D_202E(_clientState) ? 119738113 : 119738124); - break; - case 36: - _200B_202C_206A_200E_202B_206A_202B_206D_206A_202D_200C_200D_202D_200F_206B_206C_206B_206B_202C_202B_200D_202E_202C_206F_206C_202E_206C_202D_202A_200D_202E_200B_206B_200C_206E_200F_202D_206F_206D_206F_202E((ILogger)_logger, 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(645367081), Array.Empty()); - return; - case 42: - num = ((_202B_206D_200E_202E_200F_202D_200B_206C_202B_206B_206F_202A_200B_200B_202C_206E_200B_202B_206E_202C_200E_206C_200F_206F_200B_202D_206C_206F_206B_200E_202D_202A_206D_200B_206E_200C_202E_202E_202A_206E_202E(_clientState) == 1052) ? 119738158 : 119738112); - break; - case 53: - num5 = _200C_200B_202E_200D_206A_206D_206E_202C_200B_206E_200C_200E_202A_200C_202C_202C_206B_206F_206D_206B_206F_202E_206F_206A_200E_206A_202D_206B_206E_200F_206C_206F_200F_206B_206E_206C_200C_202E_202E_206D_202E(ptr->AnimationLock, (ptr->CastTimeElapsed > 0f) ? (ptr->CastTimeTotal - ptr->CastTimeElapsed) : 0f); - num = ((!(num5 > 0f)) ? 119738168 : 119738132); - break; - case 31: - num = ((!_206F_202B_202C_206E_206C_200C_206E_206C_206A_206C_200D_202C_202E_202D_200F_200B_206A_206C_202D_202E_202D_206A_202A_202C_202E_200C_206F_206F_202B_206F_200F_202E_206E_202A_202B_206A_206E_200E_200C_206B_202E(_condition, ConditionFlag.Unconscious)) ? 119738163 : 119738141); - break; - case 3: - num = ((!_206F_202B_202C_206E_206C_200C_206E_206C_206A_206C_200D_202C_202E_202D_200F_200B_206A_206C_202D_202E_202D_206A_202A_202C_202E_200C_206F_206F_202B_206F_200F_202E_206E_202A_202B_206A_206E_200E_200C_206B_202E(_condition, ConditionFlag.SufferingStatusAffliction63)) ? 119738112 : 119738164); - break; - case 55: - num = ((!IsRunning) ? 119738172 : 119738161); - break; - case 40: - _escPressCount = 0; - num = 119738159; - break; - case 15: - num = (IsRunning ? 119738123 : 119738135); - break; - case 48: - num = ((AutomationType != EAutomationType.Manual) ? 119738161 : 119738153); - break; } } + if ((AutomationType == EAutomationType.Manual && !IsRunning) || !_configuration.Stop.Enabled || !CheckStopConditions(BuildEvaluationContext())) + { + UpdateCurrentTask(); + } } - [MethodImpl(MethodImplOptions.NoInlining)] private void UpdateCurrentQuest() { DebugState = null; - int num = (_200C_206C_202D_202B_200C_202B_206D_202A_206E_206D_202E_202D_200D_202C_200F_202B_200B_206F_200D_206E_206D_202D_206E_206A_206B_200C_200E_200E_206F_200E_200B_206B_200D_202E_200B_200E_206C_202E_200D_206D_202E(_clientState) ? 500553962 : 500553939); - QuestProgress questProgress = default(QuestProgress); - long num5 = default(long); - QuestProgress questProgress2 = default(QuestProgress); - ElementId id = default(ElementId); - QuestResolution resolution = default(QuestResolution); - QuestSequence questSequence = default(QuestSequence); - byte b = default(byte); - QuestSequence questSequence2 = default(QuestSequence); - int num6 = default(int); - bool flag = default(bool); - while (true) + if (!_clientState.IsLoggedIn) { - int num2 = num; - int num3 = 500553971; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + ResetInternalState(); + DebugState = "Not logged in"; + return; + } + if (_runningDebugTasks) + { + if (!_taskQueue.AllTasksComplete) { - default: - continue; - case 16: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler4 = new DefaultInterpolatedStringHandler(17, 1); - defaultInterpolatedStringHandler4.AppendLiteral(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(-431495923)); - defaultInterpolatedStringHandler4.AppendFormatted(_pendingQuest.Quest.Id); - DebugState = defaultInterpolatedStringHandler4.ToStringAndClear(); + DebugState = "Running debug tasks"; return; } - case 36: - _200F_206F_202B_206C_202D_202A_202A_200B_206F_206F_206C_206F_202C_206C_206E_200F_202A_202E_202B_202B_206E_206C_206A_202A_200E_202A_206B_206A_206E_202C_200C_206B_200D_200B_200C_202E_200F_200C_206A_206A_202E((ILogger)_logger, 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(876494549), Array.Empty()); - return; - case 77: + _runningDebugTasks = false; + } + if (_resumeAfterSideTasks) + { + if (!_taskQueue.AllTasksComplete) { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(19, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1974788457)); - defaultInterpolatedStringHandler.AppendFormatted(questProgress.Sequence); - defaultInterpolatedStringHandler.AppendLiteral(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(1164901664)); - DebugState = defaultInterpolatedStringHandler.ToStringAndClear(); - Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-566770488)); + DebugState = "Running side tasks (e.g. repair)"; return; } - case 9: - num5 = _200F_202C_206D_200F_200D_206C_206B_200E_202D_202E_206E_206B_202C_200C_202E_202B_200E_202A_202D_200F_202E_206B_206A_206A_200B_202D_202E_200C_206D_202D_200B_202A_206E_206D_202E_200C_206F_200B_200F_206B_202E() - CurrentQuest.StepProgress.StartedAt; - num = ((num5 <= 3000) ? 500553927 : 500553952); - continue; - case 68: - questProgress2 = _gatheringQuest; - num = 500553948; - continue; - case 39: - id = _nextQuest.Quest.Id; - _200B_202C_206A_200E_202B_206A_202B_206D_206A_202D_200C_200D_202D_200F_206B_206C_206B_206B_202C_202B_200D_202E_202C_206F_206C_202E_206C_202D_202A_200D_202E_200B_206B_200C_206E_200F_202D_206F_206D_206F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1114857583), new object[1] { id }); - num = ((AutomationType != EAutomationType.SingleQuestA) ? 500553896 : 500553906); - continue; - case 30: - num = ((!_configuration.General.ClearPriorityQuestsOnCompletion) ? 500553917 : 500553919); - continue; - case 34: - num = ((resolution.Type != EQuestResolutionType.GatheringQuest) ? 500553947 : 500553928); - continue; - case 23: - num = 500553914; - continue; - case 85: - num = ((!_taskQueue.AllTasksComplete) ? 500553982 : 500553961); - continue; - case 94: - num = (_taskQueue.AllTasksComplete ? 500553972 : 500553977); - continue; - case 26: - _200B_202C_206A_200E_202B_206A_202B_206D_206A_202D_200C_200D_202D_200F_206B_206C_206B_206B_202C_202B_200D_202E_202C_206F_206C_202E_206C_202D_202A_200D_202E_200B_206B_200C_206E_200F_202D_206F_206D_206F_202E((ILogger)_logger, 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(345467355), new object[2] { resolution.LevelingTargetLevel, resolution.LevelingQuestName }); - EnqueueLevelingTasks(resolution.LevelingTargetLevel, resolution.LevelingQuestName); - num = 500553982; - continue; - case 10: - DebugState = 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(986870335); - return; - case 71: - num = ((!_taskQueue.AllTasksComplete) ? 500553947 : 500553904); - continue; - case 49: - DebugState = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1139429695); - Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-95366062)); - return; - case 5: - num = ((_nextQuest.Step != 0) ? 500553937 : 500553958); - continue; - case 6: - num = ((_206B_200F_202A_202A_200D_200E_202E_202C_202C_206F_206E_206D_206C_206D_202E_202A_200F_206D_206C_200F_206E_202B_206E_202E_200D_206F_206D_202D_202D_202A_200B_202E_206C_202C_202D_200E_206E_200E_206A_206B_202E(questSequence).Count <= 0) ? 500553927 : 500553891); - continue; - case 42: - DebugState = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(107162773); - return; - case 44: - num = ((!_resumeAfterSideTasks) ? 500553965 : 500553901); - continue; - case 57: - _200F_206F_202B_206C_202D_202A_202A_200B_206F_206F_206C_206F_202C_206C_206E_200F_202A_202E_202B_202B_206E_206C_206A_202A_200E_202A_206B_206A_206E_202C_200C_206B_200D_200B_200C_202E_200F_200C_206A_206A_202E((ILogger)_logger, 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(1073205601), Array.Empty()); - return; - case 69: - num = ((!IsLevelingModeActive()) ? 500553931 : 500553969); - continue; - case 58: - DebugState = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(480693288); - Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1459557493)); - return; - case 3: + _resumeAfterSideTasks = false; + CheckNextTasks("Resume step after side tasks"); + return; + } + if (_configuration.General.ClearPriorityQuestsOnCompletion && ManualPriorityQuests.Count > 0) + { + int num = ManualPriorityQuests.RemoveAll((Quest q) => _questFunctions.IsQuestComplete(q.Id) && !_questFunctions.IsQuestAccepted(q.Id)); + if (num > 0) { - questProgress.SetSequence(b); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(13, 1); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-785106425)); - defaultInterpolatedStringHandler3.AppendFormatted(questProgress == _startedQuest); - CheckNextTasks(defaultInterpolatedStringHandler3.ToStringAndClear()); + _logger.LogDebug("Removed {Count} completed priority {QuestWord}", num, (num == 1) ? "quest" : "quests"); + } + } + if (_pendingQuest != null) + { + if (!_questFunctions.IsQuestAccepted(_pendingQuest.Quest.Id)) + { + DebugState = $"Waiting for Leve {_pendingQuest.Quest.Id}"; return; } - case 54: - num = ((resolution.MsqState != MainScenarioQuestState.Unavailable) ? 500553963 : 500553930); - continue; - case 17: - num = ((CurrentQuest == null) ? 500553927 : 500553978); - continue; - case 24: - num = ((resolution.MsqState != MainScenarioQuestState.LoadingScreen) ? 500553938 : 500553943); - continue; - case 60: - num = ((resolution.Type != EQuestResolutionType.NoQuest) ? 500553959 : 500553895); - continue; - case 70: - return; - case 48: - CheckNextTasks(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(53047503)); - num = 500553979; - continue; - case 55: - num = ((!_gameFunctions.IsOccupied()) ? 500553936 : 500553950); - continue; - case 20: + _startedQuest = _pendingQuest; + _pendingQuest = null; + OnQuestAccepted(_startedQuest.Quest.Id); + if (AutomationType == EAutomationType.Manual) { - (QuestProgress?, byte) tuple = HandleGameStateTransition(resolution); - questProgress = tuple.Item1; - b = tuple.Item2; - num = ((questProgress != null) ? 500553947 : 500553909); - continue; + return; } - case 74: - num = ((_200F_202C_206D_200F_200D_206C_206B_200E_202D_202E_206E_206B_202C_200C_202E_202B_200E_202A_202D_200F_202E_206B_206A_206A_200B_202D_202E_200C_206D_202D_200B_202A_206E_206D_202E_200C_206F_200B_200F_206B_202E() >= _safeAnimationEnd) ? 500553941 : 500553933); - continue; - case 2: - DebugState = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(175297337); - return; - case 86: - num = ((_nextQuest == null) ? 500553900 : 500553889); - continue; - case 81: - num = ((questProgress.Step != 255) ? 500553924 : 500553907); - continue; - case 28: - DebugState = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(985351839); - return; - case 95: - resolution = _priorityResolver.Resolve(new QuestSlots(_simulatedQuest, _nextQuest, _gatheringQuest, ManualPriorityQuests, AutomationType)); - b = resolution.Sequence; - num = ((!resolution.IsSlotBased) ? 500553905 : 500553946); - continue; - case 84: - num = ((!IsLevelingModeActive()) ? 500553957 : 500553902); - continue; - case 32: - ResetInternalState(); - DebugState = 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(-148758110); - return; - case 80: - CurrentQuest.SetStep(_206B_200F_202A_202A_200D_200E_202E_202C_202C_206F_206E_206D_206C_206D_202E_202A_200F_206D_206C_200F_206E_202B_206E_202E_200D_206F_206D_202D_202D_202A_200B_202E_206C_202C_202D_200E_206E_200E_206A_206B_202E(questSequence).Count - 1); - CheckNextTasks(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1012011183)); - num = 500553927; - continue; - case 29: - goto IL_0812; - case 82: - num = ((!_nextQuest.Quest.Info.IsRepeatable) ? 500553926 : 500553942); - continue; - case 65: + CheckNextTasks("Pending quest accepted"); + } + if (_simulatedQuest == null && _nextQuest != null && !((!_nextQuest.Quest.Info.IsRepeatable) ? (!_questFunctions.IsQuestAcceptedOrComplete(_nextQuest.Quest.Id)) : (!_questFunctions.IsQuestAccepted(_nextQuest.Quest.Id)))) + { + ElementId id = _nextQuest.Quest.Id; + _logger.LogInformation("Next quest {QuestId} accepted or completed", id); + if (AutomationType == EAutomationType.SingleQuestA) + { _startedQuest = _nextQuest; AutomationType = EAutomationType.SingleQuestB; - num = 500553896; - continue; - case 41: - switch (resolution.Type) - { - case EQuestResolutionType.GatheringQuest: - break; - case EQuestResolutionType.NextQuest: - goto IL_0812; - default: - goto IL_0893; - case EQuestResolutionType.Simulated: - goto end_IL_0045; - } - goto case 68; - case 7: - _resumeAfterSideTasks = false; - CheckNextTasks(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(892046062)); - return; - case 33: - _200B_202C_206A_200E_202B_206A_202B_206D_206A_202D_200C_200D_202D_200F_206B_206C_206B_206B_202C_202B_200D_202E_202C_206F_206C_202E_206C_202D_202A_200D_202E_200B_206B_200C_206E_200F_202D_206F_206D_206F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1491984430), new object[1] { resolution.DebugReason }); - _startedQuest = null; - Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1340199486)); - num = 500553929; - continue; - case 62: - DebugState = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1954349361); - return; - case 47: - questProgress = questProgress2; - num = ((resolution.Type != EQuestResolutionType.NextQuest) ? 500553937 : 500553964); - continue; - case 13: - return; - case 52: - return; - case 76: - num = ((ManualPriorityQuests.Count <= 0) ? 500553917 : 500553916); - continue; - case 43: - ExecuteNextStep(); - num = 500553947; - continue; - case 4: - num = ((_206B_200F_202A_202A_200D_200E_202E_202C_202C_206F_206E_206D_206C_206D_202E_202A_200F_206D_206C_200F_206E_202B_206E_202E_200D_206F_206D_202D_202D_202A_200B_202E_206C_202C_202D_200E_206E_200E_206A_206B_202E(questSequence2).Count <= 0) ? 500553934 : 500553953); - continue; - case 72: - num = ((questProgress.Sequence == b) ? 500553890 : 500553968); - continue; - case 87: - _startedQuest = _pendingQuest; - _pendingQuest = null; - OnQuestAccepted(_startedQuest.Quest.Id); - num = ((AutomationType != EAutomationType.Manual) ? 500553923 : 500553960); - continue; - case 90: - _runningDebugTasks = false; - num = 500553951; - continue; - case 11: - DebugState = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1546358832); - return; - case 88: - num = ((AutomationType != EAutomationType.Automatic) ? 500553937 : 500553944); - continue; - case 91: - _200B_202A_206E_206C_200E_206C_206E_202A_206E_200B_206E_206B_202C_202A_202C_200E_200C_202B_200C_200E_206A_200D_206B_200D_200D_202D_202C_200F_202C_206D_202C_200B_200B_202E_202A_200F_202C_200F_200B_206A_202E((ILogger)_logger, 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(-1755037908), new object[1] { _startedQuest?.Quest.Id }); - _nextQuest = null; - OnQuestAccepted(id); - num = ((AutomationType != EAutomationType.Manual) ? 500553900 : 500553920); - continue; - case 31: - num = ((!_questFunctions.IsReadyToAcceptQuest(_nextQuest.Quest.Id)) ? 500553937 : 500553974); - continue; - case 63: - num = (_taskQueue.AllTasksComplete ? 500553897 : 500553976); - continue; - case 1: - ExecuteNextStep(); - num = 500553947; - continue; - case 93: - DebugState = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(985351839); - return; - case 18: - num = ((questProgress.Step < _206B_200F_202A_202A_200D_200E_202E_202C_202C_206F_206E_206D_206C_206D_202E_202A_200F_206D_206C_200F_206E_202B_206E_202E_200D_206F_206D_202D_202D_202A_200B_202E_206C_202C_202D_200E_206E_200E_206A_206B_202E(questSequence2).Count) ? 500553934 : 500553922); - continue; - case 79: - num6 = ManualPriorityQuests.RemoveAll(delegate(Questionable.Model.Quest q) - { - int num7 = ((!_questFunctions.IsQuestComplete(q.Id)) ? (-617280555) : (-617280556)); - while (true) - { - int num8 = num7; - int num9 = -617280555; - int num10 = num8; - switch ((num10 | num9) - (num10 & num9)) - { - case 2: - goto IL_0051; - case 1: - return !_questFunctions.IsQuestAccepted(q.Id); - case 0: - return false; - } - continue; - IL_0051: - num7 = -617280556; - } - }); - num = ((num6 <= 0) ? 500553917 : 500553981); - continue; - case 83: - DebugState = 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(-1635772020); - return; - case 8: - num = ((_simulatedQuest != null) ? 500553900 : 500553893); - continue; - case 22: - num = ((_startedQuest == null) ? 500553929 : 500553925); - continue; - case 0: - DebugState = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(232950675); - return; - case 78: - num = ((_pendingQuest == null) ? 500553979 : 500553912); - continue; - case 21: - num = ((!_taskQueue.AllTasksComplete) ? 500553937 : 500553899); - continue; - case 14: - _200B_202A_206E_206C_200E_206C_206E_202A_206E_200B_206E_206B_202C_202A_202C_200E_200C_202B_200C_200E_206A_200D_206B_200D_200D_202D_202C_200F_202C_206D_202C_200B_200B_202E_202A_200F_202C_200F_200B_206A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(123159112), new object[2] - { - num6, - (num6 == 1) ? 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(2004137011) : 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(1391970161) - }); - num = 500553917; - continue; - case 27: - return; - case 67: - num = ((AutomationType != EAutomationType.Automatic) ? 500553947 : 500553970); - continue; - case 56: - DebugState = 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(-1681077109); - Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(291364474)); - return; - case 75: - num = (_questFunctions.IsQuestAccepted(_pendingQuest.Quest.Id) ? 500553892 : 500553955); - continue; - case 64: + } + _logger.LogDebug("Started: {StartedQuest}", _startedQuest?.Quest.Id); + _nextQuest = null; + OnQuestAccepted(id); + if (AutomationType == EAutomationType.Manual) { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(39, 1); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1214957768)); - defaultInterpolatedStringHandler2.AppendFormatted(questProgress.Sequence); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1618480346)); - DebugState = defaultInterpolatedStringHandler2.ToStringAndClear(); - num = (_taskQueue.AllTasksComplete ? 500553954 : 500553903); - continue; + return; } - case 40: - num = ((questProgress != null) ? 500553915 : 500553910); - continue; - case 66: - num = ((resolution.Type != EQuestResolutionType.LevelingMode) ? 500553935 : 500553983); - continue; - case 73: - questProgress2 = null; - num = 500553948; - continue; - case 15: - num = 500553939; - continue; - case 51: - return; - case 12: - num = ((!IsLevelingModeActive()) ? 500553894 : 500553967); - continue; - case 59: - num = ((_gatheringQuest.Step != 0) ? 500553947 : 500553908); - continue; - case 38: - questSequence2 = questProgress.Quest.FindSequence(questProgress.Sequence); - num = ((questSequence2 != null) ? 500553975 : 500553918); - continue; - case 92: - DebugState = 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(840560323); - return; - case 25: - num = ((!_runningDebugTasks) ? 500553951 : 500553932); - continue; - case 61: - DebugState = null; - return; - case 45: - num = (_gameFunctions.IsOccupiedWithCustomDeliveryNpc(questProgress.Quest) ? 500553936 : 500553971); - continue; - case 50: - num = ((!_movementController.IsPathRunning) ? 500553913 : 500553888); - continue; - case 19: - _200F_206F_202B_206C_202D_202A_202A_200B_206F_206F_206C_206F_202C_206C_206E_200F_202A_202E_202B_202B_206E_206C_206A_202A_200E_202A_206B_206A_206E_202C_200C_206B_200D_200B_200C_202E_200F_200C_206A_206A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(131538696), new object[3] + } + QuestResolution resolution = _priorityResolver.Resolve(new QuestSlots(_simulatedQuest, _nextQuest, ManualPriorityQuests, AutomationType)); + byte b = resolution.Sequence; + QuestProgress questProgress; + if (resolution.IsSlotBased) + { + questProgress = resolution.Type switch + { + EQuestResolutionType.Simulated => _simulatedQuest, + EQuestResolutionType.NextQuest => _nextQuest, + _ => null, + }; + if (resolution.Type == EQuestResolutionType.NextQuest && _questFunctions.IsReadyToAcceptQuest(_nextQuest.Quest.Id) && _nextQuest.Step == 0 && _taskQueue.AllTasksComplete && AutomationType == EAutomationType.Automatic) + { + ExecuteNextStep(); + } + } + else + { + if (resolution.Type == EQuestResolutionType.LevelingMode) + { + if (IsLevelingModeActive()) { - (float)num5 / 1000f, - questProgress.Quest.Id, - questProgress.Sequence - }); - questSequence = questProgress.Quest.FindSequence(questProgress.Sequence); - num = ((questSequence == null) ? 500553927 : 500553973); - continue; - case 89: - num = (flag ? 500553900 : 500553940); - continue; - case 35: - num = ((!_movementController.IsPathfinding) ? 500553921 : 500553945); - continue; - case 37: - flag = !_questFunctions.IsQuestAccepted(_nextQuest.Quest.Id); - num = 500553898; - continue; - case 53: - flag = !_questFunctions.IsQuestAcceptedOrComplete(_nextQuest.Quest.Id); - num = 500553898; - continue; - case 46: - break; - IL_0893: - num = 500553956; - continue; - IL_0812: - questProgress2 = _nextQuest; - num = 500553948; - continue; - end_IL_0045: - break; + DebugState = "Leveling mode active"; + } + else if (_taskQueue.AllTasksComplete) + { + _logger.LogInformation("Starting AutoDuty Leveling mode for level {RequiredLevel} (quest: {QuestName})", resolution.LevelingTargetLevel, resolution.LevelingQuestName); + EnqueueLevelingTasks(resolution.LevelingTargetLevel, resolution.LevelingQuestName); + } + return; + } + if (resolution.Type == EQuestResolutionType.NoQuest) + { + if (IsLevelingModeActive()) + { + DebugState = "Leveling mode active"; + return; + } + if (_startedQuest != null) + { + if (resolution.MsqState == MainScenarioQuestState.Unavailable) + { + _logger.LogWarning("MSQ information not available, doing nothing"); + return; + } + if (resolution.MsqState == MainScenarioQuestState.LoadingScreen) + { + _logger.LogWarning("On loading screen, no MSQ - doing nothing"); + return; + } + _logger.LogInformation("No current quest, resetting data (resolution: {Reason})", resolution.DebugReason); + _startedQuest = null; + Stop("Resetting current quest"); + } + DebugState = "No quest active"; + Stop("No quest active"); + return; + } + (questProgress, b) = HandleGameStateTransition(resolution); + if (questProgress == null) + { + return; + } + } + if (questProgress == null) + { + if (IsLevelingModeActive()) + { + DebugState = "Leveling mode active"; + return; + } + DebugState = "No quest active"; + Stop("No quest active"); + } + else if (questProgress.Sequence != b) + { + questProgress.SetSequence(b); + CheckNextTasks($"New sequence {questProgress == _startedQuest}"); + } + else if (questProgress.Step == 255) + { + DebugState = $"Waiting for sequence update (current: {questProgress.Sequence})"; + if (!_taskQueue.AllTasksComplete) + { + DebugState = "Step 255 - processing interrupted tasks"; + } + else + { + if (CurrentQuest == null) + { + return; + } + long num2 = Environment.TickCount64 - CurrentQuest.StepProgress.StartedAt; + if (num2 > 3000) + { + _logger.LogWarning("Step 255 with no tasks for {WaitTime:F1}s, retrying step to ensure completion (quest: {QuestId}, sequence: {Sequence})", (float)num2 / 1000f, questProgress.Quest.Id, questProgress.Sequence); + QuestSequence questSequence = questProgress.Quest.FindSequence(questProgress.Sequence); + if (questSequence != null && questSequence.Steps.Count > 0) + { + CurrentQuest.SetStep(questSequence.Steps.Count - 1); + CheckNextTasks("Retry last step at 255"); + } + } + } + } + else if (_gameFunctions.IsOccupied()) + { + DebugState = "Occupied"; + } + else if (_movementController.IsPathfinding) + { + DebugState = "Pathfinding is running"; + } + else if (_movementController.IsPathRunning) + { + DebugState = "Path is running"; + } + else if (Environment.TickCount64 < _safeAnimationEnd) + { + DebugState = "Waiting for Animation"; + } + else + { + QuestSequence questSequence2 = questProgress.Quest.FindSequence(questProgress.Sequence); + if (questSequence2 == null) + { + DebugState = $"Sequence {questProgress.Sequence} not found"; + Stop("Unknown sequence"); + } + else if (questSequence2.Steps.Count > 0 && questProgress.Step >= questSequence2.Steps.Count) + { + DebugState = "Step not found"; + Stop("Unknown step"); + } + else + { + DebugState = null; } - questProgress2 = _simulatedQuest; - num = 500553948; } } - [MethodImpl(MethodImplOptions.NoInlining)] private (QuestProgress?, byte) HandleGameStateTransition(QuestResolution resolution) { ElementId questId = resolution.QuestId; byte sequence = resolution.Sequence; - int num = ((_startedQuest == null) ? (-1173757477) : (-1173757476)); - IPlayerCharacter localPlayer = default(IPlayerCharacter); - Questionable.Model.Quest quest = default(Questionable.Model.Quest); - EClassJob valueOrDefault = default(EClassJob); - uint? num5 = default(uint?); - while (true) + if (_startedQuest != null && _startedQuest.Quest.Id == questId) { - int num2 = num; - int num3 = -1173757479; - int num4 = num2; - EClassJob? obj; - EClassJob? eClassJob; - switch ((num4 | num3) - (num4 & num3)) - { - case 16: - obj = null; - goto IL_05e9; - case 20: - num = ((!CheckStopConditions(BuildEvaluationContext(_startedQuest.Quest.Id))) ? (-1173757499) : (-1173757497)); - break; - case 13: - localPlayer = LocalPlayer; - num = ((localPlayer == null) ? (-1173757483) : (-1173757494)); - break; - case 27: - return (null, 0); - case 25: - return (null, 0); - case 23: - num = ((!_priorityResolver.ShouldStartLevelingMode(_200C_206C_200D_202E_202B_206C_200B_202E_202E_206E_206F_202E_200F_202C_200F_200E_206B_206B_200E_202B_202A_202A_206C_200F_206A_206E_206B_206F_202E_206E_206A_206B_200E_202E_200C_200F_200C_200B_206E_202A_202E((ICharacter)localPlayer), AutomationType)) ? (-1173757480) : (-1173757500)); - break; - case 30: - _startedQuest = null; - return (null, 0); - case 31: - num = ((_startedQuest == null) ? (-1173757499) : (-1173757474)); - break; - case 11: - _200F_206F_202B_206C_202D_202A_202A_200B_206F_206F_206C_206F_202C_206C_206E_200F_202A_202E_202B_202B_206E_206C_206A_202A_200E_202A_206B_206A_206E_202C_200C_206B_200D_200B_200C_202E_200F_200C_206A_206A_202E((ILogger)_logger, 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(602028547), Array.Empty()); - _startedQuest = null; - Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1040882752)); - return (null, 0); - case 28: - num = ((!_questRegistry.TryGetQuest(questId, out quest)) ? (-1173757489) : (-1173757475)); - break; - case 0: - CheckNextTasks(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1782843254)); - return (null, 0); - case 14: - num = (quest.Info.ClassJobs.Contains(valueOrDefault) ? (-1173757485) : (-1173757496)); - break; - case 18: - return (null, 0); - case 15: - num = (_taskQueue.AllTasksComplete ? (-1173757498) : (-1173757492)); - break; - case 4: - { - _200B_202A_206E_206C_200E_206C_206E_202A_206E_200B_206E_206B_202C_202A_202C_200E_200C_202B_200C_200E_206A_200D_206B_200D_200D_202D_202C_200F_202C_206D_202C_200B_200B_202E_202A_200F_202C_200F_200B_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1924633093), new object[2] - { - quest.Info.Name, - resolution.Type - }); - IPlayerCharacter? localPlayer2 = LocalPlayer; - num5 = ((localPlayer2 != null) ? new uint?(_206E_200C_200F_200B_202D_202C_200E_200E_206D_206B_206B_200E_206B_200D_200E_200E_200D_202B_206F_200B_202B_200B_206A_200D_200E_200E_206D_206D_206E_200B_206F_200C_206D_202E_200F_200F_200E_202C_202B_200D_202E((ICharacter)localPlayer2).RowId) : ((uint?)null)); - num = (num5.HasValue ? (-1173757503) : (-1173757495)); - break; - } - case 1: - _200B_202C_206A_200E_202B_206A_202B_206D_206A_202D_200C_200D_202D_200F_206B_206C_206B_206B_202C_202B_200D_202E_202C_206F_206C_202E_206C_202D_202A_200D_202E_200B_206B_200C_206E_200F_202D_206F_206D_206F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(787738588), new object[2] - { - _200C_206C_200D_202E_202B_206C_200B_202E_202E_206E_206F_202E_200F_202C_200F_200E_206B_206B_200E_202B_202A_202A_206C_200F_206A_206E_206B_206F_202E_206E_206A_206B_200E_202E_200C_200F_200C_200B_206E_202A_202E((ICharacter)localPlayer), - quest.Info.Level - }); - Stop(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(-533650636)); - num = -1173757493; - break; - case 29: - _200B_202C_206A_200E_202B_206A_202B_206D_206A_202D_200C_200D_202D_200F_206B_206C_206B_206B_202C_202B_200D_202E_202C_206F_206C_202E_206C_202D_202A_200D_202E_200B_206B_200C_206E_200F_202D_206F_206D_206F_202E((ILogger)_logger, 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(-173068371), new object[2] - { - _200C_206C_200D_202E_202B_206C_200B_202E_202E_206E_206F_202E_200F_202C_200F_200E_206B_206B_200E_202B_202A_202A_206C_200F_206A_206E_206B_206F_202E_206E_206A_206B_200E_202E_200C_200F_200C_200B_206E_202A_202E((ICharacter)localPlayer), - quest.Info.Level - }); - ClearTasksInternal(); - EnqueueLevelingTasks(quest.Info.Level, quest.Info.Name); - num = -1173757493; - break; - case 2: - num = ((_startedQuest == null) ? (-1173757498) : (-1173757482)); - break; - case 19: - num = ((_200C_206C_200D_202E_202B_206C_200B_202E_202E_206E_206F_202E_200F_202C_200F_200E_206B_206B_200E_202B_202A_202A_206C_200F_206A_206E_206B_206F_202E_206E_206A_206B_200E_202E_200C_200F_200C_200B_206E_202A_202E((ICharacter)localPlayer) >= quest.Info.Level) ? (-1173757483) : (-1173757490)); - break; - case 22: - num = ((_startedQuest == null) ? (-1173757504) : (-1173757486)); - break; - case 26: - num = -1173757476; - break; - case 10: - _startedQuest = CreateQuestProgress(quest, sequence); - OnQuestAccepted(quest.Id); - num = ((AutomationType != EAutomationType.Manual) ? (-1173757484) : (-1173757502)); - break; - case 12: - num = ((AutomationType != EAutomationType.SingleQuestB) ? (-1173757479) : (-1173757488)); - break; - case 17: - _200F_206F_202B_206C_202D_202A_202A_200B_206F_206F_206C_206F_202C_206C_206E_200F_202A_202E_202B_202B_206E_206C_206A_202A_200E_202A_206B_206A_206E_202C_200C_206B_200D_200B_200C_202E_200F_200C_206A_206A_202E((ILogger)_logger, 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(-992424436), new object[2] - { - quest.Info.Name, - _206F_200D_200C_206B_200F_206C_206A_200D_200D_200F_206F_206D_200D_200F_206E_206B_202C_202B_206B_206B_202E_200C_202B_202D_202E_200C_206E_200C_200F_206A_200E_200E_202A_202D_206B_206A_200F_202A_200E_206D_202E(valueOrDefault) - }); - Stop(_200D_200B_200C_200D_202C_200F_202C_202C_200E_200D_202B_200D_206A_202B_206F_202E_202A_202A_200E_206F_206B_202C_206E_206E_202E_200F_202A_206D_202B_206E_200E_200E_206C_206B_202B_200F_200C_200F_202A_202E_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1325975955), quest.Info.Name, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2120371242), _206F_200D_200C_206B_200F_206C_206A_200D_200D_200F_206F_206D_200D_200F_206E_206B_202C_202B_206B_206B_202E_200C_202B_202D_202E_200C_206E_200C_200F_206A_200E_200E_202A_202D_206B_206A_200F_202A_200E_206D_202E(valueOrDefault))); - return (null, 0); - case 8: - num = ((quest.Info.ClassJobs.Count <= 0) ? (-1173757485) : (-1173757481)); - break; - case 9: - _200B_202C_206A_200E_202B_206A_202B_206D_206A_202D_200C_200D_202D_200F_206B_206C_206B_206B_202C_202B_200D_202E_202C_206F_206C_202E_206C_202D_202A_200D_202E_200B_206B_200C_206E_200F_202D_206F_206D_206F_202E((ILogger)_logger, 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(-1025428266), Array.Empty()); - AutomationType = EAutomationType.Manual; - num = -1173757479; - break; - case 6: - num = (_questFunctions.IsQuestAccepted(_startedQuest.Quest.Id) ? (-1173757499) : (-1173757491)); - break; - case 24: - obj = (EClassJob)num5.GetValueOrDefault(); - goto IL_05e9; - case 7: - num = ((!_questFunctions.IsQuestComplete(_startedQuest.Quest.Id)) ? (-1173757499) : (-1173757473)); - break; - case 21: - return (_startedQuest, _startedQuest.Sequence); - case 5: - num = ((!_206F_202D_202C_200B_202C_202C_202A_206B_202B_200E_202B_206C_206D_206F_206F_200B_202B_200C_202E_206C_200B_206F_202D_200F_202C_202E_206D_206E_200E_206D_200D_206B_202C_206C_202E_200F_206D_202B_200B_200D_202E(_startedQuest.Quest.Id, questId)) ? (-1173757477) : (-1173757478)); - break; - case 3: - { - return (_startedQuest, sequence); - } - IL_05e9: - eClassJob = obj; - valueOrDefault = eClassJob.GetValueOrDefault(); - num = ((!_206C_206E_206A_200D_202A_206B_202E_202A_200E_200F_206A_202E_206A_206E_202D_206D_202B_202C_202A_202C_206E_206C_200E_200C_206C_202B_200F_202A_206B_202D_202E_200F_202D_200B_200C_202C_206A_206A_202C_206B_202E(valueOrDefault)) ? (-1173757485) : (-1173757487)); - break; - } + return (_startedQuest, sequence); } + if (_startedQuest != null && !_taskQueue.AllTasksComplete) + { + return (_startedQuest, _startedQuest.Sequence); + } + if (_startedQuest != null && _questFunctions.IsQuestComplete(_startedQuest.Quest.Id) && !_questFunctions.IsQuestAccepted(_startedQuest.Quest.Id) && CheckStopConditions(BuildEvaluationContext(_startedQuest.Quest.Id))) + { + _startedQuest = null; + return (null, 0); + } + if (_questRegistry.TryGetQuest(questId, out Quest quest)) + { + _logger.LogDebug("New quest: {QuestName} (via {ResolutionType})", quest.Info.Name, resolution.Type); + EClassJob valueOrDefault = ((EClassJob?)LocalPlayer?.ClassJob.RowId).GetValueOrDefault(); + if (valueOrDefault.IsLimitedJob() && quest.Info.ClassJobs.Count > 0 && !quest.Info.ClassJobs.Contains(valueOrDefault)) + { + _logger.LogWarning("Quest {QuestName} does not allow limited job {Job}, stopping", quest.Info.Name, valueOrDefault.ToFriendlyString()); + Stop("Quest '" + quest.Info.Name + "' cannot be progressed on " + valueOrDefault.ToFriendlyString()); + return (null, 0); + } + _startedQuest = CreateQuestProgress(quest, sequence); + OnQuestAccepted(quest.Id); + if (AutomationType == EAutomationType.Manual) + { + return (null, 0); + } + IPlayerCharacter localPlayer = LocalPlayer; + if (localPlayer != null && localPlayer.Level < quest.Info.Level) + { + if (_priorityResolver.ShouldStartLevelingMode(localPlayer.Level, AutomationType)) + { + _logger.LogInformation("Player level ({PlayerLevel}) < quest level ({QuestLevel}), starting AutoDuty Leveling mode", localPlayer.Level, quest.Info.Level); + ClearTasksInternal(); + EnqueueLevelingTasks(quest.Info.Level, quest.Info.Name); + } + else + { + _logger.LogInformation("Stopping automation, player level ({PlayerLevel}) < quest level ({QuestLevel})", localPlayer.Level, quest.Info.Level); + Stop("Quest level too high"); + } + return (null, 0); + } + if (AutomationType == EAutomationType.SingleQuestB) + { + _logger.LogInformation("Single quest is finished"); + AutomationType = EAutomationType.Manual; + } + CheckNextTasks("Different Quest"); + return (null, 0); + } + if (_startedQuest != null) + { + _logger.LogWarning("No active quest anymore? Not sure what happened..."); + _startedQuest = null; + Stop("No active Quest"); + return (null, 0); + } + return (null, 0); } private bool IsLevelingModeActive() { ITask task = _taskQueue.CurrentTaskExecutor?.CurrentTask; - int num = ((task is Duty.StartLevelingModeTask) ? (-1819957801) : (-1819957805)); - bool flag = default(bool); - while (true) + if ((!(task is Duty.StartLevelingModeTask) && !(task is Duty.WaitLevelingModeTask)) || 1 == 0) { - int num2 = num; - int num3 = -1819957803; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return _taskQueue.HasLevelingTasks; - case 4: - flag = false; - num = -1819957803; - break; - case 2: - flag = true; - num = -1819957803; - break; - case 5: - return true; - case 3: - num = -1819957805; - break; - case 0: - num = (flag ? (-1819957808) : (-1819957804)); - break; - case 6: - num = ((!(task is Duty.WaitLevelingModeTask)) ? (-1819957807) : (-1819957801)); - break; - } + return _taskQueue.HasLevelingTasks; } + return true; } private void EnqueueLevelingTasks(int targetLevel, string? questName) @@ -1596,290 +788,110 @@ internal sealed class QuestController : MiniTaskController public (QuestSequence? Sequence, QuestStep? Step, bool createTasks) GetNextStep() { - int num = ((CurrentQuest != null) ? 1297799609 : 1297799614); - QuestSequence questSequence = default(QuestSequence); - while (true) + if (CurrentQuest == null) { - int num2 = num; - int num3 = 1297799610; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - return (Sequence: null, Step: null, createTasks: true); - case 3: - questSequence = CurrentQuest.Quest.FindSequence(CurrentQuest.Sequence); - num = ((questSequence != null) ? 1297799611 : 1297799615); - break; - case 1: - num = ((_206B_200F_202A_202A_200D_200E_202E_202C_202C_206F_206E_206D_206C_206D_202E_202A_200F_206D_206C_200F_206E_202B_206E_202E_200D_206F_206D_202D_202D_202A_200B_202E_206C_202C_202D_200E_206E_200E_206A_206B_202E(questSequence).Count != 0) ? 1297799613 : 1297799612); - break; - case 2: - num = 1297799614; - break; - case 4: - return (Sequence: null, Step: null, createTasks: false); - case 6: - return (Sequence: questSequence, Step: null, createTasks: true); - case 0: - return (Sequence: questSequence, Step: _206B_200F_202A_202A_200D_200E_202E_202C_202C_206F_206E_206D_206C_206D_202E_202A_200F_206D_206C_200F_206E_202B_206E_202E_200D_206F_206D_202D_202D_202A_200B_202E_206C_202C_202D_200E_206E_200E_206A_206B_202E(questSequence)[CurrentQuest.Step], createTasks: true); - case 7: - num = ((CurrentQuest.Step < _206B_200F_202A_202A_200D_200E_202E_202C_202C_206F_206E_206D_206C_206D_202E_202A_200F_206D_206C_200F_206E_202B_206E_202E_200D_206F_206D_202D_202D_202A_200B_202E_206C_202C_202D_200E_206E_200E_206A_206B_202E(questSequence).Count) ? 1297799610 : 1297799602); - break; - case 8: - return (Sequence: null, Step: null, createTasks: false); - } + return (Sequence: null, Step: null, createTasks: false); } + QuestSequence questSequence = CurrentQuest.Quest.FindSequence(CurrentQuest.Sequence); + if (questSequence == null) + { + return (Sequence: null, Step: null, createTasks: true); + } + if (questSequence.Steps.Count == 0) + { + return (Sequence: questSequence, Step: null, createTasks: true); + } + if (CurrentQuest.Step >= questSequence.Steps.Count) + { + return (Sequence: null, Step: null, createTasks: false); + } + return (Sequence: questSequence, Step: questSequence.Steps[CurrentQuest.Step], createTasks: true); } - [MethodImpl(MethodImplOptions.NoInlining)] public void IncreaseStepCount(ElementId? questId, int? sequence, bool shouldContinue = false) { - (QuestSequence? Sequence, QuestStep? Step, bool createTasks) nextStep = GetNextStep(); - QuestSequence item = nextStep.Sequence; - QuestStep item2 = nextStep.Step; - int num = ((CurrentQuest == null) ? 291013817 : 291013812); - QuestResolution questResolution = default(QuestResolution); - while (true) + var (questSequence, questStep, _) = GetNextStep(); + if (CurrentQuest == null || questSequence == null || questStep == null) { - int num2 = num; - int num3 = 291013821; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _logger.LogWarning("Unable to retrieve next quest step, not increasing step count"); + return; + } + if (questId != null && CurrentQuest.Quest.Id != questId) + { + _logger.LogWarning("Ignoring 'increase step count' for different quest (expected {ExpectedQuestId}, but we are at {CurrentQuestId}", questId, CurrentQuest.Quest.Id); + return; + } + if (sequence.HasValue && questSequence.Sequence != sequence.Value) + { + _logger.LogWarning("Ignoring 'increase step count' for different sequence (expected {ExpectedSequence}, but we are at {CurrentSequence}", sequence, questSequence.Sequence); + return; + } + _logger.LogDebug("Increasing step count from {CurrentValue}", CurrentQuest.Step); + bool num = CurrentQuest.Step + 1 >= questSequence.Steps.Count; + if (num) + { + CurrentQuest.SetStep(255); + } + else + { + CurrentQuest.SetStep(CurrentQuest.Step + 1); + } + if (num) + { + _logger.LogDebug("Completed last step in sequence, waiting for game to update sequence"); + return; + } + using (_logger.BeginScope("IncStepCt")) + { + if (shouldContinue && AutomationType != EAutomationType.Manual) { - case 8: - _200F_206F_202B_206C_202D_202A_202A_200B_206F_206F_206C_206F_202C_206C_206E_200F_202A_202E_202B_202B_206E_206C_206A_202A_200E_202A_206B_206A_206E_202C_200C_206B_200D_200B_200C_202E_200F_200C_206A_206A_202E((ILogger)_logger, 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(909006406), new object[2] + QuestResolution questResolution = _priorityResolver.Resolve(new QuestSlots(_simulatedQuest, _nextQuest, ManualPriorityQuests, AutomationType)); + if (questResolution.HasQuest && questResolution.QuestId != CurrentQuest.Quest.Id) { - questId, - CurrentQuest.Quest.Id - }); - return; - case 1: - num = ((!_206B_202D_202B_202D_206D_206E_200E_202D_206A_200C_200B_200F_200B_206C_202C_206A_206C_206D_206A_202D_206D_200D_200E_206D_200E_202B_202E_200D_206E_200E_202A_206D_202B_206B_202A_206D_200E_206B_202C_206D_202E(CurrentQuest.Quest.Id, questId)) ? 291013818 : 291013813); - break; - case 11: - _200F_206F_202B_206C_202D_202A_202A_200B_206F_206F_206C_206F_202C_206C_206E_200F_202A_202E_202B_202B_206E_206C_206A_202A_200E_202A_206B_206A_206E_202C_200C_206B_200D_200B_200C_202E_200F_200C_206A_206A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1685596718), new object[2] - { - sequence, - _200F_206E_200C_202B_206B_202C_202C_200B_200F_202C_202A_200F_206F_200B_200F_206D_206E_200B_200C_206A_200B_206A_200C_200E_202C_200E_200D_202D_206F_202B_206C_200B_206B_206F_202D_200C_202C_206E_202A_200D_202E(item) - }); - return; - case 3: - _200B_202A_206E_206C_200E_206C_206E_202A_206E_200B_206E_206B_202C_202A_202C_200E_200C_202B_200C_200E_206A_200D_206B_200D_200D_202D_202C_200F_202C_206D_202C_200B_200B_202E_202A_200F_202C_200F_200B_206A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-290648518), Array.Empty()); - return; - case 2: - num = ((_200F_206E_200C_202B_206B_202C_202C_200B_200F_202C_202A_200F_206F_200B_200F_206D_206E_200B_200C_206A_200B_206A_200C_200E_202C_200E_200D_202D_206F_202B_206C_200B_206B_206F_202D_200C_202C_206E_202A_200D_202E(item) == sequence.Value) ? 291013821 : 291013814); - break; - case 9: - num = ((item == null) ? 291013817 : 291013816); - break; - case 4: - _200F_206F_202B_206C_202D_202A_202A_200B_206F_206F_206C_206F_202C_206C_206E_200F_202A_202E_202B_202B_206E_206C_206A_202A_200E_202A_206B_206A_206E_202C_200C_206B_200D_200B_200C_202E_200F_200C_206A_206A_202E((ILogger)_logger, 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(-500810797), Array.Empty()); - return; - case 6: - num = ((!_206B_202D_202B_202D_206D_206E_200E_202D_206A_200C_200B_200F_200B_206C_202C_206A_206C_206D_206A_202D_206D_200D_200E_206D_200E_202B_202E_200D_206E_200E_202A_206D_202B_206B_202A_206D_200E_206B_202C_206D_202E(questId, (ElementId)null)) ? 291013818 : 291013820); - break; - case 0: - { - _200B_202A_206E_206C_200E_206C_206E_202A_206E_200B_206E_206B_202C_202A_202C_200E_200C_202B_200C_200E_206A_200D_206B_200D_200D_202D_202C_200F_202C_206D_202C_200B_200B_202E_202A_200F_202C_200F_200B_206A_202E((ILogger)_logger, 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(154674055), new object[1] { CurrentQuest.Step }); - bool num11 = CurrentQuest.Step + 1 >= _206B_200F_202A_202A_200D_200E_202E_202C_202C_206F_206E_206D_206C_206D_202E_202A_200F_206D_206C_200F_206E_202B_206E_202E_200D_206F_206D_202D_202D_202A_200B_202E_206C_202C_202D_200E_206E_200E_206A_206B_202E(item).Count; - if (num11) - { - CurrentQuest.SetStep(255); + _logger.LogDebug("Deferring next step: resolver selected {ResolvedQuest} over current {CurrentQuest}", questResolution.QuestId, CurrentQuest.Quest.Id); } else { - CurrentQuest.SetStep(CurrentQuest.Step + 1); + ExecuteNextStep(); } - num = ((!num11) ? 291013809 : 291013822); - break; - } - case 5: - num = ((item2 != null) ? 291013819 : 291013817); - break; - case 10: - num = 291013812; - break; - case 7: - num = ((!sequence.HasValue) ? 291013821 : 291013823); - break; - case 12: - { - IDisposable disposable = _logger.BeginScope(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(432746736)); - try - { - num = ((!shouldContinue) ? 1479782828 : 1479782830); - while (true) - { - int num5 = num; - num3 = 1479782831; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 6: - num = ((!_206B_202D_202B_202D_206D_206E_200E_202D_206A_200C_200B_200F_200B_206C_202C_206A_206C_206D_206A_202D_206D_200D_200E_206D_200E_202B_202E_200D_206E_200E_202A_206D_202B_206B_202A_206D_200E_206B_202C_206D_202E(questResolution.QuestId, CurrentQuest.Quest.Id)) ? 1479782827 : 1479782826); - break; - case 2: - questResolution = _priorityResolver.Resolve(new QuestSlots(_simulatedQuest, _nextQuest, _gatheringQuest, ManualPriorityQuests, AutomationType)); - num = ((!questResolution.HasQuest) ? 1479782827 : 1479782825); - break; - case 1: - num = ((AutomationType == EAutomationType.Manual) ? 1479782828 : 1479782829); - break; - case 4: - ExecuteNextStep(); - num = 1479782828; - break; - case 0: - num = 1479782830; - break; - case 5: - _200B_202A_206E_206C_200E_206C_206E_202A_206E_200B_206E_206B_202C_202A_202C_200E_200C_202B_200C_200E_206A_200D_206B_200D_200D_202D_202C_200F_202C_206D_202C_200B_200B_202E_202A_200F_202C_200F_200B_206A_202E((ILogger)_logger, 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(-1320658835), new object[2] - { - questResolution.QuestId, - CurrentQuest.Quest.Id - }); - return; - case 3: - return; - } - } - } - finally - { - num = ((disposable == null) ? 772084078 : 772084079); - while (true) - { - int num8 = num; - num3 = 772084078; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 2: - num = 772084079; - break; - case 1: - _202D_202E_200E_202A_202D_206D_202C_202B_202C_202D_206C_206A_200F_202E_200F_206A_202B_202A_200D_206D_206B_202E_206E_206D_206F_206A_200C_200B_206B_200C_200E_206D_202D_200D_200C_206A_202E_200F_202D_202E_202E(disposable); - num = 772084078; - break; - case 0: - goto end_IL_0459; - } - continue; - end_IL_0459: - break; - } - } - } } } } - [MethodImpl(MethodImplOptions.NoInlining)] private void ClearTasksInternal() { _runningDebugTasks = false; _reRouteService.ClearDestination(); - IStoppableTaskExecutor stoppableTaskExecutor = _taskQueue.CurrentTaskExecutor as IStoppableTaskExecutor; - int num = ((stoppableTaskExecutor == null) ? 201405430 : 201405429); - while (true) + if (_taskQueue.CurrentTaskExecutor is IStoppableTaskExecutor stoppableTaskExecutor) { - int num2 = num; - int num3 = 201405431; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _taskQueue.Reset(); - _combatController.Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1937637066)); - _wrathComboModule.Stop(); - _rsrModule.Stop(); - _bossModIpc.DisableQuestBattleAi(); - _gatheringController.Stop(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(986002832)); - _fateController.Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-422596647)); - _seasonalDutyController.Stop(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(986002832)); - return; - case 2: - stoppableTaskExecutor.StopNow(); - num = 201405430; - break; - case 0: - num = 201405429; - break; - } + stoppableTaskExecutor.StopNow(); } + _taskQueue.Reset(); + _combatController.Stop("ClearTasksInternal"); + _wrathComboModule.Stop(); + _rsrModule.Stop(); + _bossModIpc.DisableQuestBattleAi(); + _gatheringController.Stop("ClearTasksInternal"); + _fateController.Stop("ClearTasksInternal"); + _seasonalDutyController.Stop("ClearTasksInternal"); } - [MethodImpl(MethodImplOptions.NoInlining)] public override void Stop(string label) { base.Stop(label); - IDisposable disposable = _logger.BeginScope(_202A_206E_202E_206C_202A_202E_206A_202A_206B_202D_202B_200B_206B_206C_202D_200B_200D_202A_206F_206F_206A_200D_200F_206C_202E_206A_200D_200F_206B_206A_202B_202C_200F_200B_206A_200B_200C_206F_200C_200E_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1233538896), label)); - try + using (_logger.BeginScope("Stop/" + label)) { - int num = (IsRunning ? (-1411452826) : (-1411452825)); - while (true) + if (IsRunning || AutomationType != EAutomationType.Manual) { - int num2 = num; - int num3 = -1411452828; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - ClearTasksInternal(); - _200B_202C_206A_200E_202B_206A_202B_206D_206A_202D_200C_200D_202D_200F_206B_206C_206B_206B_202C_202B_200D_202E_202C_206F_206C_202E_206C_202D_202A_200D_202E_200B_206B_200C_206E_200F_202D_206F_206D_206F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(923368178), Array.Empty()); - AutomationType = EAutomationType.Manual; - _nextQuest = null; - _gatheringQuest = null; - _deathCount = 0; - _deathRecoveryPending = false; - _resumeAfterSideTasks = false; - SessionConditions.Clear(); - _conditionsMetAtStart.Clear(); - num = -1411452827; - break; - case 3: - num = ((AutomationType == EAutomationType.Manual) ? (-1411452827) : (-1411452826)); - break; - case 0: - num = -1411452825; - break; - case 1: - return; - } - } - } - finally - { - int num = ((disposable == null) ? 1565988730 : 1565988731); - while (true) - { - int num5 = num; - int num3 = 1565988730; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 2: - num = 1565988731; - break; - case 0: - goto end_IL_0125; - case 1: - _202D_202E_200E_202A_202D_206D_202C_202B_202C_202D_206C_206A_200F_202E_200F_206A_202B_202A_200D_206D_206B_202E_206E_206D_206F_206A_200C_200B_206B_200C_200E_206D_202D_200D_200C_206A_202E_200F_202D_202E_202E(disposable); - num = 1565988730; - break; - } - continue; - end_IL_0125: - break; + ClearTasksInternal(); + _logger.LogInformation("Stopping automatic questing"); + AutomationType = EAutomationType.Manual; + _nextQuest = null; + _deathCount = 0; + _deathRecoveryPending = false; + _resumeAfterSideTasks = false; + SessionConditions.Clear(); + _conditionsMetAtStart.Clear(); } } } @@ -1888,63 +900,9 @@ internal sealed class QuestController : MiniTaskController { Stop(label); _runningDebugTasks = true; - IEnumerator enumerator = tasks.GetEnumerator(); - try + foreach (ITask task in tasks) { - int num = 2117311857; - while (true) - { - int num2 = num; - int num3 = 2117311856; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 2117311857; - break; - case 2: - { - ITask current = enumerator.Current; - _taskQueue.Enqueue(current); - num = 2117311857; - break; - } - case 1: - num = (_206A_202C_206C_200C_206E_202A_200D_200B_202D_200F_202E_206C_202E_206E_202A_200F_200D_206C_200E_206B_200B_202A_206D_202E_200B_202B_206D_202D_206D_202A_202B_202E_202A_202D_200F_202B_206F_206B_202E_202E_202E((IEnumerator)enumerator) ? 2117311858 : 2117311859); - break; - case 3: - return; - } - } - } - finally - { - int num = ((enumerator == null) ? 1846229563 : 1846229560); - while (true) - { - int num7 = num; - int num3 = 1846229561; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 2: - goto end_IL_00b9; - case 1: - _202D_202E_200E_202A_202D_206D_202C_202B_202C_202D_206C_206A_200F_202E_200F_206A_202B_202A_200D_206D_206B_202E_206E_206D_206F_206A_200C_200B_206B_200C_200E_206D_202D_200D_200C_206A_202E_200F_202D_202E_202E((IDisposable)enumerator); - num = 1846229563; - break; - case 0: - num = 1846229560; - break; - } - continue; - end_IL_00b9: - break; - } + _taskQueue.Enqueue(task); } } @@ -1961,297 +919,84 @@ internal sealed class QuestController : MiniTaskController _attunementController.Stop(label); } - [MethodImpl(MethodImplOptions.NoInlining)] private void CheckNextTasks(string label) { EAutomationType automationType = AutomationType; - int num = ((automationType == EAutomationType.Automatic) ? (-1750534180) : (-1750534184)); - bool flag = default(bool); - int valueOrDefault = default(int); - while (true) + if ((uint)(automationType - 1) <= 2u) { - int num2 = num; - int num3 = -1750534180; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + using (_logger.BeginScope(label)) { - case 3: - flag = false; - num = -1750534183; - break; - case 4: - num = (((uint)(automationType - 3) > 1u) ? (-1750534177) : (-1750534180)); - break; - case 0: - flag = true; - num = -1750534183; - break; - case 2: - num = -1750534184; - break; - case 5: - if (flag) + ClearTasksInternal(); + int? num = CurrentQuest?.Step; + if (num.HasValue) { - num = -1750534179; - break; - } - Stop(label); - return; - case 1: - { - IDisposable disposable = _logger.BeginScope(label); - try - { - ClearTasksInternal(); - int? num7 = CurrentQuest?.Step; - num = ((!num7.HasValue) ? 1513693932 : 1513693935); - while (true) + int valueOrDefault = num.GetValueOrDefault(); + if (valueOrDefault >= 0 && valueOrDefault < 255) { - int num8 = num; - num3 = 1513693932; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 2: - num = 1513693935; - break; - case 1: - ExecuteNextStep(); - return; - case 3: - valueOrDefault = num7.GetValueOrDefault(); - num = ((valueOrDefault < 0) ? 1513693932 : 1513693928); - break; - case 4: - num = ((valueOrDefault >= 255) ? 1513693932 : 1513693933); - break; - case 0: - _200B_202A_206E_206C_200E_206C_206E_202A_206E_200B_206E_206B_202C_202A_202C_200E_200C_202B_200C_200E_206A_200D_206B_200D_200D_202D_202C_200F_202C_206D_202C_200B_200B_202E_202A_200F_202C_200F_200B_206A_202E((ILogger)_logger, 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(-1189463470), Array.Empty()); - return; - } + ExecuteNextStep(); + return; } } - finally - { - num = ((disposable == null) ? 1327974694 : 1327974693); - while (true) - { - int num11 = num; - num3 = 1327974695; - num4 = num11; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1327974693; - break; - case 2: - _202D_202E_200E_202A_202D_206D_202C_202B_202C_202D_206C_206A_200F_202E_200F_206A_202B_202A_200D_206D_206B_202E_206E_206D_206F_206A_200C_200B_206B_200C_200E_206D_202D_200D_200C_206A_202E_200F_202D_202E_202E(disposable); - num = 1327974694; - break; - case 1: - goto end_IL_01fc; - } - continue; - end_IL_01fc: - break; - } - } - } + _logger.LogDebug("Couldn't execute next step during Stop() call"); + return; } } + Stop(label); } - [MethodImpl(MethodImplOptions.NoInlining)] - public void SimulateQuest(Questionable.Model.Quest? quest, byte sequence, int step) + public void SimulateQuest(Quest? quest, byte sequence, int step) { - _200B_202A_206E_206C_200E_206C_206E_202A_206E_200B_206E_206B_202C_202A_202C_200E_200C_202B_200C_200E_206A_200D_206B_200D_200D_202D_202C_200F_202C_206D_202C_200B_200B_202E_202A_200F_202C_200F_200B_206A_202E((ILogger)_logger, 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(-1441974106), new object[1] { quest?.Id }); - int num = ((quest == null) ? (-561319017) : (-561319018)); - while (true) + _logger.LogDebug("SimulateQuest: {QuestId}", quest?.Id); + if (quest != null) { - int num2 = num; - int num3 = -561319017; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0073; - case 0: - _simulatedQuest = null; - return; - case 1: - _simulatedQuest = CreateQuestProgress(quest, sequence, step); - return; - } - continue; - IL_0073: - num = -561319018; + _simulatedQuest = CreateQuestProgress(quest, sequence, step); + } + else + { + _simulatedQuest = null; } } - [MethodImpl(MethodImplOptions.NoInlining)] - public void SetNextQuest(Questionable.Model.Quest? quest) + public void SetNextQuest(Quest? quest) { - _200B_202C_206A_200E_202B_206A_202B_206D_206A_202D_200C_200D_202D_200F_206B_206C_206B_206B_202C_202B_200D_202E_202C_206F_206C_202E_206C_202D_202A_200D_202E_200B_206B_200C_206E_200F_202D_206F_206D_206F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1560722547), new object[1] { quest?.Id }); - int num = ((quest == null) ? (-1839803786) : (-1839803785)); - while (true) + _logger.LogInformation("NextQuest: {QuestId}", quest?.Id); + if (quest != null) { - int num2 = num; - int num3 = -1839803786; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0073; - case 1: - _nextQuest = CreateQuestProgress(quest, 0); - return; - case 0: - _nextQuest = null; - return; - } - continue; - IL_0073: - num = -1839803785; + _nextQuest = CreateQuestProgress(quest, 0); + } + else + { + _nextQuest = null; } } - [MethodImpl(MethodImplOptions.NoInlining)] - public void SetGatheringQuest(Questionable.Model.Quest? quest) - { - _200B_202C_206A_200E_202B_206A_202B_206D_206A_202D_200C_200D_202D_200F_206B_206C_206B_206B_202C_202B_200D_202E_202C_206F_206C_202E_206C_202D_202A_200D_202E_200B_206B_200C_206E_200F_202D_206F_206D_206F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-465486273), new object[1] { quest?.Id }); - int num = ((quest == null) ? 1199664522 : 1199664523); - while (true) - { - int num2 = num; - int num3 = 1199664522; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0073; - case 1: - _gatheringQuest = CreateQuestProgress(quest, 0); - return; - case 0: - _gatheringQuest = null; - return; - } - continue; - IL_0073: - num = 1199664523; - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public void SetPendingQuest(QuestProgress? quest) { - _200B_202A_206E_206C_200E_206C_206E_202A_206E_200B_206E_206B_202C_202A_202C_200E_200C_202B_200C_200E_206A_200D_206B_200D_200D_202D_202C_200F_202C_206D_202C_200B_200B_202E_202A_200F_202C_200F_200B_206A_202E((ILogger)_logger, 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(1529451205), new object[1] { quest?.Quest.Id }); + _logger.LogDebug("PendingQuest: {QuestId}", quest?.Quest.Id); _pendingQuest = quest; } protected override void UpdateCurrentTask() { - int num = ((!_gameFunctions.IsOccupied()) ? 1443241001 : 1443240993); - bool flag2 = default(bool); - ITask task = default(ITask); - bool flag = default(bool); - while (true) + bool flag = _gameFunctions.IsOccupied(); + if (flag) { - int num2 = num; - int num3 = 1443241000; - int num4 = num2; - int num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - flag2 = false; - num = 1443241006; - break; - case 3: - base.UpdateCurrentTask(); - return; - case 2: - num = ((task is RepairGear.SelfRepairTask) ? 1443241005 : 1443240995); - break; - case 1: - num5 = 0; - goto IL_00ab; - case 8: - task = _taskQueue.CurrentTaskExecutor?.CurrentTask; - num = ((task is WaitAtEnd.WaitQuestAccepted) ? 1443241005 : 1443241002); - break; - case 9: - num5 = ((!_gameFunctions.IsOccupiedWithCustomDeliveryNpc(CurrentQuest?.Quest)) ? 1 : 0); - goto IL_00ab; - case 7: - num = ((!flag) ? 1443241003 : 1443241000); - break; - case 0: - return; - case 10: - num = 1443240993; - break; - case 5: - flag2 = true; - num = 1443241006; - break; - case 6: - flag = !flag2; - num = 1443241007; - break; - case 11: - { - num = ((!(task is RepairGear.MenderRepairTask)) ? 1443241004 : 1443241005); - break; - } - IL_00ab: - flag = (byte)num5 != 0; - num = ((!flag) ? 1443241007 : 1443240992); - break; - } + ITask task = _taskQueue.CurrentTaskExecutor?.CurrentTask; + bool flag2 = ((task is WaitAtEnd.WaitQuestAccepted || task is RepairGear.SelfRepairTask || task is RepairGear.MenderRepairTask) ? true : false); + flag = !flag2; + } + if (!flag) + { + base.UpdateCurrentTask(); } } protected override void OnTaskComplete(ITask task) { - int num = ((!(task is WaitAtEnd.WaitQuestCompleted)) ? (-1463008024) : (-1463008023)); - while (true) + if (task is WaitAtEnd.WaitQuestCompleted) { - int num2 = num; - int num3 = -1463008024; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -1463008023; - break; - case 1: - { - int questsCompletedThisSession = _questsCompletedThisSession; - num3 = 1; - num4 = questsCompletedThisSession; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - _questsCompletedThisSession = num7 + (num8 + num8); - _simulatedQuest = null; - num = -1463008024; - break; - } - case 0: - return; - } + _questsCompletedThisSession++; + _simulatedQuest = null; } } @@ -2266,221 +1011,41 @@ internal sealed class QuestController : MiniTaskController IncreaseStepCount(task.ElementId, task.Sequence, shouldContinue: true); } - [MethodImpl(MethodImplOptions.NoInlining)] public void Start(string label) { - IDisposable disposable = _logger.BeginScope(_202A_206E_202E_206C_202A_202E_206A_202A_206B_202D_202B_200B_206B_206C_202D_200B_200D_202A_206F_206F_206A_200D_200F_206C_202E_206A_200D_200F_206B_206A_202B_202C_200F_200B_206A_200B_200C_206F_200C_200E_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1346195202), label)); - try + using (_logger.BeginScope("Q/" + label)) { - int num = ((!CheckAndBlockForStopConditions()) ? (-1813766280) : (-1813766277)); - while (true) + if (!CheckAndBlockForStopConditions()) { - int num2 = num; - int num3 = -1813766279; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0064; - case 2: - return; - case 1: - RecordStopConditionsMetAtStart(); - _gearRepairService.ResetAttemptCooldown(); - AutomationType = EAutomationType.Automatic; - ExecuteNextStep(); - return; - } - continue; - IL_0064: - num = -1813766277; - } - } - finally - { - int num = ((disposable == null) ? 1551591494 : 1551591493); - while (true) - { - int num7 = num; - int num3 = 1551591495; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 0: - num = 1551591493; - break; - case 2: - _202D_202E_200E_202A_202D_206D_202C_202B_202C_202D_206C_206A_200F_202E_200F_206A_202B_202A_200D_206D_206B_202E_206E_206D_206F_206A_200C_200B_206B_200C_200E_206D_202D_200D_200C_206A_202E_200F_202D_202E_202E(disposable); - num = 1551591494; - break; - case 1: - goto end_IL_00be; - } - continue; - end_IL_00be: - break; + RecordStopConditionsMetAtStart(); + _gearRepairService.ResetAttemptCooldown(); + AutomationType = EAutomationType.Automatic; + ExecuteNextStep(); } } } - [MethodImpl(MethodImplOptions.NoInlining)] - public void StartGatheringQuest(string label) - { - IDisposable disposable = _logger.BeginScope(_202A_206E_202E_206C_202A_202E_206A_202A_206B_202D_202B_200B_206B_206C_202D_200B_200D_202A_206F_206F_206A_200D_200F_206C_202E_206A_200D_200F_206B_206A_202B_202C_200F_200B_206A_200B_200C_206F_200C_200E_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1185404224), label)); - try - { - int num = ((!CheckAndBlockForStopConditions()) ? 1941180013 : 1941180014); - while (true) - { - int num2 = num; - int num3 = 1941180012; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0064; - case 2: - return; - case 1: - RecordStopConditionsMetAtStart(); - _gearRepairService.ResetAttemptCooldown(); - AutomationType = EAutomationType.GatheringOnly; - ExecuteNextStep(); - return; - } - continue; - IL_0064: - num = 1941180014; - } - } - finally - { - int num = ((disposable == null) ? 1261002497 : 1261002498); - while (true) - { - int num7 = num; - int num3 = 1261002499; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 0: - num = 1261002498; - break; - case 1: - _202D_202E_200E_202A_202D_206D_202C_202B_202C_202D_206C_206A_200F_202E_200F_206A_202B_202A_200D_206D_206B_202E_206E_206D_206F_206A_200C_200B_206B_200C_200E_206D_202D_200D_200C_206A_202E_200F_202D_202E_202E(disposable); - num = 1261002497; - break; - case 2: - goto end_IL_00be; - } - continue; - end_IL_00be: - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public void StartSingleQuest(string label) { - IDisposable disposable = _logger.BeginScope(_202A_206E_202E_206C_202A_202E_206A_202A_206B_202D_202B_200B_206B_206C_202D_200B_200D_202A_206F_206F_206A_200D_200F_206C_202E_206A_200D_200F_206B_206A_202B_202C_200F_200B_206A_200B_200C_206F_200C_200E_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-5920385), label)); - try + using (_logger.BeginScope("SQ/" + label)) { - int num = ((!CheckAndBlockForStopConditions()) ? 1487711612 : 1487711615); - while (true) + if (!CheckAndBlockForStopConditions()) { - int num2 = num; - int num3 = 1487711614; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0062; - case 1: - return; - case 2: - RecordStopConditionsMetAtStart(); - _gearRepairService.ResetAttemptCooldown(); - AutomationType = EAutomationType.SingleQuestA; - ExecuteNextStep(); - return; - } - continue; - IL_0062: - num = 1487711615; - } - } - finally - { - int num = ((disposable == null) ? (-1831120012) : (-1831120011)); - while (true) - { - int num5 = num; - int num3 = -1831120012; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 0: - goto end_IL_00bc; - case 1: - _202D_202E_200E_202A_202D_206D_202C_202B_202C_202D_206C_206A_200F_202E_200F_206A_202B_202A_200D_206D_206B_202E_206E_206D_206F_206A_200C_200B_206B_200C_200E_206D_202D_200D_200C_206A_202E_200F_202D_202E_202E(disposable); - num = -1831120012; - break; - case 2: - num = -1831120011; - break; - } - continue; - end_IL_00bc: - break; + RecordStopConditionsMetAtStart(); + _gearRepairService.ResetAttemptCooldown(); + AutomationType = EAutomationType.SingleQuestA; + ExecuteNextStep(); } } } - [MethodImpl(MethodImplOptions.NoInlining)] public void StartSingleStep(string label) { - IDisposable disposable = _logger.BeginScope(_202A_206E_202E_206C_202A_202E_206A_202A_206B_202D_202B_200B_206B_206C_202D_200B_200D_202A_206F_206F_206A_200D_200F_206C_202E_206A_200D_200F_206B_206A_202B_202C_200F_200B_206A_200B_200C_206F_200C_200E_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(528425497), label)); - try + using (_logger.BeginScope("SS/" + label)) { AutomationType = EAutomationType.Manual; ExecuteNextStep(); } - finally - { - int num = ((disposable == null) ? 2052970200 : 2052970203); - while (true) - { - int num2 = num; - int num3 = 2052970202; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 2052970203; - break; - case 1: - _202D_202E_200E_202A_202D_206D_202C_202B_202C_202D_206C_206A_200F_202E_200F_206A_202B_202A_200D_206D_206B_202E_206E_206D_206F_206A_200C_200B_206B_200C_200E_206D_202D_200D_200C_206A_202E_200F_202D_202E_202E(disposable); - num = 2052970200; - break; - case 2: - goto end_IL_004a; - } - continue; - end_IL_004a: - break; - } - } } private StopEvaluationContext BuildEvaluationContext(ElementId? completedQuestId = null, ElementId? acceptedQuestId = null, EInteractionType? upcomingInteractionType = null) @@ -2488,13 +1053,13 @@ internal sealed class QuestController : MiniTaskController IPlayerCharacter localPlayer = LocalPlayer; return new StopEvaluationContext { - PlayerLevel = ((localPlayer != null) ? _200C_206C_200D_202E_202B_206C_200B_202E_202E_206E_206F_202E_200F_202C_200F_200E_206B_206B_200E_202B_202A_202A_206C_200F_206A_206E_206B_206F_202E_206E_206A_206B_200E_202E_200C_200F_200C_200B_206E_202A_202E((ICharacter)localPlayer) : 0), + PlayerLevel = (localPlayer?.Level ?? 0), CurrentQuestId = CurrentQuest?.Quest.Id, CurrentSequence = (CurrentQuest?.Sequence ?? 0), CompletedQuestId = completedQuestId, AcceptedQuestId = acceptedQuestId, Gil = GetCurrentGil(), - FreeInventorySlots = _200E_200D_202B_202D_206D_202B_202E_206C_200C_206B_206F_200D_206D_200F_200C_200E_200B_200B_202B_202C_206E_206B_200D_202A_202D_200E_202C_206A_206B_200C_202E_202C_206E_200B_200E_202B_202A_206A_202C_206E_202E(), + FreeInventorySlots = InventoryHelper.CountFreeInventorySlots(), ElapsedSinceStart = DateTime.UtcNow - _automationStartedAt, QuestsCompletedThisSession = _questsCompletedThisSession, UpcomingInteractionType = upcomingInteractionType @@ -2504,369 +1069,129 @@ internal sealed class QuestController : MiniTaskController private unsafe static int GetCurrentGil() { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? (-790277236) : (-790277233)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -790277235; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 1: - return ptr->GetItemCountInContainer(1u, InventoryType.Currency, isHq: false, 0); - case 2: - return 0; - } - continue; - IL_0049: - num = -790277233; + return 0; } + return ptr->GetItemCountInContainer(1u, InventoryType.Currency, isHq: false, 0); } private bool CheckStopConditions(StopEvaluationContext context) { - int num = (_configuration.Stop.Enabled ? (-255259633) : (-255259634)); - bool hasQuestSpecificSequence = default(bool); - QuestCompleteCondition questCompleteCondition = default(QuestCompleteCondition); - while (true) + if (!_configuration.Stop.Enabled) { - int num2 = num; - int num3 = -255259636; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 3: - hasQuestSpecificSequence = false; - if (_206B_202D_202B_202D_206D_206E_200E_202D_206A_200C_200B_200F_200B_206C_202C_206A_206C_206D_206A_202D_206D_200D_200E_206D_200E_202B_202E_200D_206E_200E_202A_206D_202B_206B_202A_206D_200E_206B_202C_206D_202E(context.CurrentQuestId, (ElementId)null)) - { - num = -255259635; - continue; - } - break; - case 2: - return false; - case 0: - num = -255259634; - continue; - case 1: - { - using (List.Enumerator enumerator = _configuration.Stop.Conditions.GetEnumerator()) - { - num = 168449519; - while (true) - { - int num7 = num; - num3 = 168449518; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - hasQuestSpecificSequence = true; - goto end_IL_00af; - case 1: - num = (enumerator.MoveNext() ? 168449512 : 168449516); - break; - case 6: - questCompleteCondition = enumerator.Current as QuestCompleteCondition; - num = ((questCompleteCondition == null) ? 168449519 : 168449517); - break; - case 4: - num = 168449519; - break; - case 5: - num = ((!questCompleteCondition.Sequence.HasValue) ? 168449519 : 168449518); - break; - case 3: - num = ((!_200F_206F_202A_206A_206A_206A_202A_206B_206F_202E_206A_206F_202A_202D_202D_200C_206C_202C_206C_202A_202D_200B_202B_206A_206F_202D_206E_200B_206D_200C_206F_202B_200F_206B_200C_206C_206D_206C_202E(questCompleteCondition.QuestId, context.CurrentQuestId)) ? 168449519 : 168449515); - break; - case 2: - goto end_IL_00af; - } - continue; - end_IL_00af: - break; - } - } - break; - } - } - break; + return false; } - using (List.Enumerator enumerator = _configuration.Stop.Conditions.GetEnumerator()) + bool hasQuestSpecificSequence = false; + if (context.CurrentQuestId != null) { - num = 1007175331; - while (true) + foreach (StopCondition condition in _configuration.Stop.Conditions) { - int num8 = num; - int num3 = 1007175328; - int num4 = num8; - switch ((num4 | num3) - (num4 & num3)) + if (condition is QuestCompleteCondition questCompleteCondition && questCompleteCondition.QuestId.Equals(context.CurrentQuestId) && questCompleteCondition.Sequence.HasValue) { - case 4: - return true; - case 1: - { - StopCondition current = enumerator.Current; - num = ((!EvaluateCondition(current, context, hasQuestSpecificSequence)) ? 1007175331 : 1007175332); + hasQuestSpecificSequence = true; break; } - case 3: - num = (enumerator.MoveNext() ? 1007175329 : 1007175330); - break; - case 0: - num = 1007175331; - break; - case 2: - goto end_IL_01e8; - } - continue; - end_IL_01e8: - break; } } - using (List.Enumerator enumerator = SessionConditions.GetEnumerator()) + foreach (StopCondition condition2 in _configuration.Stop.Conditions) { - num = 1707456518; - while (true) + if (EvaluateCondition(condition2, context, hasQuestSpecificSequence)) { - int num9 = num; - int num3 = 1707456518; - int num4 = num9; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1707456518; - break; - case 3: - return true; - case 0: - num = (enumerator.MoveNext() ? 1707456519 : 1707456514); - break; - case 1: - { - StopCondition current2 = enumerator.Current; - num = ((!EvaluateCondition(current2, context, hasQuestSpecificSequence)) ? 1707456518 : 1707456517); - break; - } - case 4: - goto end_IL_02bb; - } - continue; - end_IL_02bb: - break; + return true; + } + } + foreach (StopCondition sessionCondition in SessionConditions) + { + if (EvaluateCondition(sessionCondition, context, hasQuestSpecificSequence)) + { + return true; } } return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool EvaluateCondition(StopCondition condition, StopEvaluationContext context, bool hasQuestSpecificSequence) { - int num = ((condition.Mode != EStopConditionMode.Off) ? 724372340 : 724372351); - string text = default(string); - while (true) + if (condition.Mode == EStopConditionMode.Off) { - int num2 = num; - int num3 = 724372347; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return false; + } + if (condition is GlobalSequenceCondition && hasQuestSpecificSequence) + { + return false; + } + if (!condition.Evaluate(context)) + { + return false; + } + if (condition.Mode == EStopConditionMode.Pause && _conditionsMetAtStart.Contains(condition)) + { + return false; + } + _logger.LogInformation("Stop condition met: {Description} (mode={Mode})", condition.GetDescription(), condition.Mode); + LastStopReason = $"{condition.Mode}: {condition.GetDescription()}"; + _notificationService.NotifyStopCondition("Stopped - " + condition.GetDescription()); + if (condition.IsSession) + { + SessionConditions.Remove(condition); + } + bool flag = AutomationType != EAutomationType.Manual; + Stop("Stop condition: " + condition.GetDescription()); + if (condition.Mode == EStopConditionMode.Stop && flag && !_commandAfterStopFired) + { + _commandAfterStopFired = true; + string text = _configuration.Stop.CommandAfterStop?.Trim() ?? string.Empty; + if (text.Length > 0) { - default: - continue; - case 12: - num = (_200C_200B_200C_200F_200B_200C_200D_202B_200D_206C_206D_202D_202C_200B_200C_202E_202E_202E_206D_200C_200B_202E_200D_202A_202E_202E_206F_202D_200D_200C_200C_202C_206D_202A_206C_206B_202C_206F_200D_200E_202E(text, '/') ? 724372336 : 724372341); - continue; - case 4: - return false; - case 5: - { - bool flag = AutomationType != EAutomationType.Manual; - Stop(_202A_206E_202E_206C_202A_202E_206A_202A_206B_202D_202B_200B_206B_206C_202D_200B_200D_202A_206F_206F_206A_200D_200F_206C_202E_206A_200D_200F_206B_206A_202B_202C_200F_200B_206A_200B_200C_206F_200C_200E_202E(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(-1025756248), condition.GetDescription())); - bool num7 = condition.Mode == EStopConditionMode.Stop; - num3 = (flag ? 1 : 0); - num4 = (num7 ? 1 : 0); - if ((num4 | num3) - (num4 ^ num3) != 0) + if (!text.StartsWith('/')) { - num = 724372347; - continue; + text = "/" + text; } - break; - } - case 15: - { - bool num8 = condition is GlobalSequenceCondition; - num3 = (hasQuestSpecificSequence ? 1 : 0); - num4 = (num8 ? 1 : 0); - num = ((num4 + num3 - (num4 | num3) == 0) ? 724372344 : 724372346); - continue; - } - case 10: - return false; - case 8: - SessionConditions.Remove(condition); - num = 724372350; - continue; - case 7: - num = ((!_conditionsMetAtStart.Contains(condition)) ? 724372349 : 724372337); - continue; - case 3: - num = (condition.Evaluate(context) ? 724372342 : 724372338); - continue; - case 16: - { - _commandAfterStopFired = true; - string commandAfterStop = _configuration.Stop.CommandAfterStop; - text = ((commandAfterStop != null) ? _202C_200E_206D_206B_202D_206B_206B_200E_202B_202C_202E_206D_206C_200F_200E_206A_200E_202C_206B_206D_200B_206C_206F_206F_202E_202E_206A_200C_200E_206D_200D_206C_206D_200E_200B_200F_206B_206E_200B_202B_202E(commandAfterStop) : null) ?? string.Empty; - if (_206E_200F_206F_206F_200D_200C_200D_206E_206D_206D_206E_202B_200E_200B_206F_202C_206E_202E_206D_202A_202B_202E_200E_200E_206F_202C_206E_206B_200F_206E_206D_200E_200C_202C_206F_200E_206F_206A_200F_200C_202E(text) > 0) - { - num = 724372343; - continue; - } - break; - } - case 0: - if (!_commandAfterStopFired) - { - num = 724372331; - continue; - } - break; - case 2: - num = 724372351; - continue; - case 14: - text = _202A_206E_202E_206C_202A_202E_206A_202A_206B_202D_202B_200B_206B_206C_202D_200B_200D_202A_206F_206F_206A_200D_200F_206C_202E_206A_200D_200F_206B_206A_202B_202C_200F_200B_206A_200B_200C_206F_200C_200E_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(-1605560946), text); - num = 724372336; - continue; - case 13: - num = ((condition.Mode != EStopConditionMode.Pause) ? 724372349 : 724372348); - continue; - case 9: - return false; - case 6: - { - _200B_202C_206A_200E_202B_206A_202B_206D_206A_202D_200C_200D_202D_200F_206B_206C_206B_206B_202C_202B_200D_202E_202C_206F_206C_202E_206C_202D_202A_200D_202E_200B_206B_200C_206E_200F_202D_206F_206D_206F_202E((ILogger)_logger, 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(-1648729243), new object[2] - { - condition.GetDescription(), - condition.Mode - }); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(2, 2); - defaultInterpolatedStringHandler.AppendFormatted(condition.Mode); - defaultInterpolatedStringHandler.AppendLiteral(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(-437343681)); - defaultInterpolatedStringHandler.AppendFormatted(condition.GetDescription()); - LastStopReason = defaultInterpolatedStringHandler.ToStringAndClear(); - _notificationService.NotifyStopCondition(_202A_206E_202E_206C_202A_202E_206A_202A_206B_202D_202B_200B_206B_206C_202D_200B_200D_202A_206F_206F_206A_200D_200F_206C_202E_206A_200D_200F_206B_206A_202B_202C_200F_200B_206A_200B_200C_206F_200C_200E_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1912276781), condition.GetDescription())); - num = ((!condition.IsSession) ? 724372350 : 724372339); - continue; - } - case 1: - return false; - case 11: try { - _206A_202A_200F_206D_200B_202D_200C_206A_206D_206D_206A_202D_206D_200C_202B_202D_202E_200F_202D_206D_200C_206E_200E_200C_200E_202D_206D_202A_206C_206C_200B_202B_200E_202C_202E_202E_202C_200F_202B_200C_202E(_commandManager, text); + _commandManager.ProcessCommand(text); } - catch (Exception ex) + catch (Exception exception) { - _202A_206F_206A_206B_202D_202B_206A_200C_202D_202E_206E_206B_206F_200F_202D_202C_206B_200E_206B_200C_200F_200E_202E_202B_206C_206D_200F_206C_200C_202D_202E_200F_202C_200C_206A_200E_206B_200F_200E_206A_202E((ILogger)_logger, ex, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-106559220), new object[1] { text }); + _logger.LogWarning(exception, "CommandAfterStop failed: {Command}", text); } - break; } - break; } return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public void OnQuestAccepted(ElementId questId) { CaptureInitialQuestWork(_startedQuest, questId); CaptureInitialQuestWork(_nextQuest, questId); CaptureInitialQuestWork(_pendingQuest, questId); - int num = ((!CheckStopConditions(BuildEvaluationContext(null, questId))) ? (-113212620) : (-113212617)); - while (true) + if (CheckStopConditions(BuildEvaluationContext(null, questId))) { - int num2 = num; - int num3 = -113212619; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -113212617; - break; - case 2: - _200B_202C_206A_200E_202B_206A_202B_206D_206A_202D_200C_200D_202D_200F_206B_206C_206B_206B_202C_202B_200D_202E_202C_206F_206C_202E_206C_202D_202A_200D_202E_200B_206B_200C_206E_200F_202D_206F_206D_206F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(390710683), new object[1] { questId }); - num = -113212620; - break; - case 1: - return; - } + _logger.LogInformation("Stopped after accepting quest {QuestId}", questId); } } public QuestProgressInfo? GetInitialQuestProgressInfo(ElementId questId) { QuestProgress questProgress = CurrentQuestDetails?.Progress; - int num = ((questProgress == null) ? 929631583 : 929631580); - while (true) + if (questProgress == null || !questProgress.Quest.Id.Equals(questId)) { - int num2 = num; - int num3 = 929631581; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return questProgress.InitialQuestWork; - case 2: - return null; - case 1: - num = (_200F_206F_202A_206A_206A_206A_202A_206B_206F_202E_206A_206F_202A_202D_202D_200C_206C_202C_206C_202A_202D_200B_202B_206A_206F_202D_206E_200B_206D_200C_206F_202B_200F_206B_200C_206C_206D_206C_202E(questProgress.Quest.Id, questId) ? 929631581 : 929631583); - break; - case 3: - num = 929631580; - break; - } + return null; } + return questProgress.InitialQuestWork; } - private QuestProgress CreateQuestProgress(Questionable.Model.Quest quest, byte sequence = 0, int step = 0) + private QuestProgress CreateQuestProgress(Quest quest, byte sequence = 0, int step = 0) { return new QuestProgress(quest, sequence, step, _questFunctions.GetQuestProgressInfo(quest.Id)); } private void CaptureInitialQuestWork(QuestProgress? progress, ElementId questId) { - int num = ((progress == null) ? 1618497954 : 1618497955); - while (true) + if (progress != null && progress.Quest.Id.Equals(questId)) { - int num2 = num; - int num3 = 1618497954; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1618497955; - break; - case 0: - return; - case 1: - num = ((!_200F_206F_202A_206A_206A_206A_202A_206B_206F_202E_206A_206F_202A_202D_202D_200C_206C_202C_206C_202A_202D_200B_202B_206A_206F_202D_206E_200B_206D_200C_206F_202B_200F_206B_200C_206C_206D_206C_202E(progress.Quest.Id, questId)) ? 1618497954 : 1618497953); - break; - case 3: - progress.CaptureInitialQuestWork(_questFunctions.GetQuestProgressInfo(questId)); - num = 1618497954; - break; - } + progress.CaptureInitialQuestWork(_questFunctions.GetQuestProgressInfo(questId)); } } @@ -2876,523 +1201,171 @@ internal sealed class QuestController : MiniTaskController _conditionsMetAtStart.Clear(); _automationStartedAt = DateTime.UtcNow; _questsCompletedThisSession = 0; - int num = (_configuration.Stop.Enabled ? (-96584475) : (-96584476)); - StopCondition current = default(StopCondition); - while (true) + if (!_configuration.Stop.Enabled) { - int num2 = num; - int num3 = -96584475; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return; + } + StopEvaluationContext context = BuildEvaluationContext(); + foreach (StopCondition item in _configuration.Stop.Conditions.Concat(SessionConditions)) + { + if (item.Mode == EStopConditionMode.Pause && item.Evaluate(context)) { - case 2: - goto IL_007d; - case 1: - return; - case 0: - { - StopEvaluationContext context = BuildEvaluationContext(); - IEnumerator enumerator = _configuration.Stop.Conditions.Concat(SessionConditions).GetEnumerator(); - try - { - num = -166499016; - while (true) - { - int num5 = num; - num3 = -166499013; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 3: - num = (_206A_202C_206C_200C_206E_202A_200D_200B_202D_200F_202E_206C_202E_206E_202A_200F_200D_206C_200E_206B_200B_202A_206D_202E_200B_202B_206D_202D_206D_202A_202B_202E_202A_202D_200F_202B_206F_206B_202E_202E_202E((IEnumerator)enumerator) ? (-166499010) : (-166499014)); - break; - case 5: - current = enumerator.Current; - num = ((current.Mode != EStopConditionMode.Pause) ? (-166499016) : (-166499013)); - break; - case 0: - num = ((!current.Evaluate(context)) ? (-166499016) : (-166499009)); - break; - case 4: - _conditionsMetAtStart.Add(current); - num = -166499016; - break; - case 2: - num = -166499016; - break; - case 1: - return; - } - } - } - finally - { - num = ((enumerator == null) ? 193215139 : 193215138); - while (true) - { - int num8 = num; - num3 = 193215139; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 2: - num = 193215138; - break; - case 1: - _202D_202E_200E_202A_202D_206D_202C_202B_202C_202D_206C_206A_200F_202E_200F_206A_202B_202A_200D_206D_206B_202E_206E_206D_206F_206A_200C_200B_206B_200C_200E_206D_202D_200D_200C_206A_202E_200F_202D_202E_202E((IDisposable)enumerator); - num = 193215139; - break; - case 0: - goto end_IL_01bd; - } - continue; - end_IL_01bd: - break; - } - } + _conditionsMetAtStart.Add(item); } - } - continue; - IL_007d: - num = -96584476; } } - [MethodImpl(MethodImplOptions.NoInlining)] private bool CheckAndBlockForStopConditions() { - int num = (_configuration.Stop.Enabled ? (-1001493482) : (-1001493481)); - StopCondition current = default(StopCondition); - while (true) + if (!_configuration.Stop.Enabled) { - int num2 = num; - int num3 = -1001493482; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_005b; - case 1: - return false; - case 0: - { - StopEvaluationContext context = BuildEvaluationContext(); - using (List.Enumerator enumerator = _configuration.Stop.Conditions.GetEnumerator()) - { - num = -1633715663; - while (true) - { - int num7 = num; - num3 = -1633715662; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 5: - _200B_202C_206A_200E_202B_206A_202B_206D_206A_202D_200C_200D_202D_200F_206B_206C_206B_206B_202C_202B_200D_202E_202C_206F_206C_202E_206C_202D_202A_200D_202E_200B_206B_200C_206E_200F_202D_206F_206D_206F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2035077915), new object[1] { current.GetDescription() }); - _200F_202D_200F_206E_206F_206E_202C_200F_200F_206E_206C_206F_206E_206F_200E_200F_200E_206D_200B_200C_202C_206A_202E_206F_206F_200F_202C_202B_206E_206C_206D_200F_202A_206F_206A_200F_206E_206D_202E_206F_202E(_chatGui, _202A_206E_202E_206C_202A_202E_206A_202A_206B_202D_202B_200B_206B_206C_202D_200B_200D_202A_206F_206F_206A_200D_200F_206C_202E_206A_200D_200F_206B_206A_202B_202C_200F_200B_206A_200B_200C_206F_200C_200E_202E(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(-304427727), current.GetDescription()), 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(85756196), (ushort?)(ushort)576); - return true; - case 2: - current = enumerator.Current; - num = ((current.Mode != EStopConditionMode.Stop) ? (-1633715663) : (-1633715661)); - break; - case 1: - num = ((!current.Evaluate(context)) ? (-1633715663) : (-1633715657)); - break; - case 3: - num = (enumerator.MoveNext() ? (-1633715664) : (-1633715658)); - break; - case 0: - num = -1633715663; - break; - case 4: - goto end_IL_009d; - } - continue; - end_IL_009d: - break; - } - } - return false; - } - } - continue; - IL_005b: - num = -1001493481; + return false; } + StopEvaluationContext context = BuildEvaluationContext(); + foreach (StopCondition condition in _configuration.Stop.Conditions) + { + if (condition.Mode == EStopConditionMode.Stop && condition.Evaluate(context)) + { + _logger.LogInformation("Blocking start: {Description}", condition.GetDescription()); + _chatGui.PrintError("Cannot start: " + condition.GetDescription(), "Questionable", 576); + return true; + } + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private void ExecuteNextStep() { - _200B_202A_206E_206C_200E_206C_206E_202A_206E_200B_206E_206B_202C_202A_202C_200E_200C_202B_200C_200E_206A_200D_206B_200D_200D_202D_202C_200F_202C_206D_202C_200B_200B_202E_202A_200F_202C_200F_200B_206A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-307300247), new object[2] - { - AutomationType, - CurrentQuest?.Quest.Id - }); + _logger.LogDebug("ExecuteNextStep called. AutoType={AutoType}, CurrentQuest={CurrentQuest}", AutomationType, CurrentQuest?.Quest.Id); ClearTasksInternal(); - int num = ((!TryPickPriorityQuest()) ? (-988185666) : (-988185696)); - QuestSequence item = default(QuestSequence); - bool flag2 = default(bool); - QuestStep item2 = default(QuestStep); - ERepairDecision eRepairDecision = default(ERepairDecision); - bool flag = default(bool); - bool item3 = default(bool); - while (true) + if (TryPickPriorityQuest()) { - int num2 = num; - int num3 = -988185690; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + _logger.LogDebug("Using priority quest over current quest"); + } + var (questSequence, questStep, flag) = GetNextStep(); + if (CurrentQuest != null && questSequence != null && questStep == null && questSequence.Steps.Count == 0) + { + _logger.LogDebug("Sequence {Sequence} has no steps, waiting for game to advance sequence", CurrentQuest.Sequence); + CurrentQuest.SetStep(255); + return; + } + if (CurrentQuest == null || questSequence == null) + { + _logger.LogWarning("Could not retrieve next quest step, not doing anything [{QuestId}, {Sequence}, {Step}]", CurrentQuest?.Quest.Id, CurrentQuest?.Sequence, CurrentQuest?.Step); + if (CurrentQuest == null || !flag) { - case 5: - num = ((_206B_200F_202A_202A_200D_200E_202E_202C_202C_206F_206E_206D_206C_206D_202E_202A_200F_206D_206C_200F_206E_202B_206E_202E_200D_206F_206D_202D_202D_202A_200B_202E_206C_202C_202D_200E_206E_200E_206A_206B_202E(item).Count != 0) ? (-988185670) : (-988185689)); - break; - case 0: - flag2 = item2 != null; - num = ((!flag2) ? (-988185667) : (-988185677)); - break; - case 26: - _movementController.Stop(); - num = ((item2 == null) ? (-988185687) : (-988185674)); - break; - case 29: - num = ((item2 == null) ? (-988185690) : (-988185688)); - break; - case 14: - num = ((_206E_202A_206F_206D_206A_202E_200D_202E_206B_206D_202D_200C_200B_206C_202C_206D_200D_206F_202C_202A_200C_202E_206F_200B_206E_206C_206F_202A_200D_206D_206C_202B_202A_202C_200B_202D_200D_206D_206A_200D_202E(item2) == _202B_206D_200E_202E_200F_202D_200B_206C_202B_206B_206F_202A_200B_200B_202C_206E_200B_202B_206E_202C_200E_206C_200F_206F_200B_202D_206C_206F_206B_200E_202D_202A_206D_200B_206E_200C_202E_202E_202A_206E_202E(_clientState)) ? (-988185690) : (-988185684)); - break; - case 12: - _200B_202A_206E_206C_200E_206C_206E_202A_206E_200B_206E_206B_202C_202A_202C_200E_200C_202B_200C_200E_206A_200D_206B_200D_200D_202D_202C_200F_202C_206D_202C_200B_200B_202E_202A_200F_202C_200F_200B_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1113169196), new object[2] - { - _206E_202A_206F_206D_206A_202E_200D_202E_206B_206D_202D_200C_200B_206C_202C_206D_200D_206F_202C_202A_200C_202E_206F_200B_206E_206C_206F_202A_200D_206D_206C_202B_202A_202C_200B_202D_200D_206D_206A_200D_202E(item2), - _202B_206D_200E_202E_200F_202D_200B_206C_202B_206B_206F_202A_200B_200B_202C_206E_200B_202B_206E_202C_200E_206C_200F_206F_200B_202D_206C_206F_206B_200E_202D_202A_206D_200B_206E_200C_202E_202E_202A_206E_202E(_clientState) - }); - DebugState = 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(-1775330155); return; - case 1: - _200B_202A_206E_206C_200E_206C_206E_202A_206E_200B_206E_206B_202C_202A_202C_200E_200C_202B_200C_200E_206A_200D_206B_200D_200D_202D_202C_200F_202C_206D_202C_200B_200B_202E_202A_200F_202C_200F_200B_206A_202E((ILogger)_logger, 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(121506234), new object[1] { CurrentQuest.Sequence }); - CurrentQuest.SetStep(255); - return; - case 17: - num = ((eRepairDecision == ERepairDecision.BlockDuty) ? (-988185665) : (-988185671)); - break; - case 16: - eRepairDecision = _gearRepairService.EvaluateAndEnqueue(_202B_200C_200E_206F_206B_200C_206D_200B_202A_202A_200C_200F_206E_200B_202A_202C_202A_206F_202E_202E_206B_206C_200B_200B_206B_200F_206C_200C_206D_202B_202B_200D_202E_200C_206B_206C_206C_200C_200F_202D_202E(item2), _taskQueue); - num = ((eRepairDecision == ERepairDecision.Enqueued) ? (-988185683) : (-988185673)); - break; - case 3: - flag = false; - num = -988185682; - break; - case 31: - num = -988185687; - break; - case 6: - _200B_202A_206E_206C_200E_206C_206E_202A_206E_200B_206E_206B_202C_202A_202C_200E_200C_202B_200C_200E_206A_200D_206B_200D_200D_202D_202C_200F_202C_206D_202C_200B_200B_202E_202A_200F_202C_200F_200B_206A_202E((ILogger)_logger, 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(-1484694039), Array.Empty()); - num = -988185666; - break; - case 30: - flag = true; - num = -988185682; - break; - case 20: - num = ((!_territoryData.IsQuestBattleInstance(_202B_206D_200E_202E_200F_202D_200B_206C_202B_206B_206F_202A_200B_200B_202C_206E_200B_202B_206E_202C_200E_206C_200F_206F_200B_202D_206C_206F_206B_200E_202D_202A_206D_200B_206E_200C_202E_202E_202A_206E_202E(_clientState))) ? (-988185690) : (-988185686)); - break; - case 7: - num = (item3 ? (-988185669) : (-988185692)); - break; - case 24: - { - (QuestSequence? Sequence, QuestStep? Step, bool createTasks) nextStep = GetNextStep(); - item = nextStep.Sequence; - item2 = nextStep.Step; - item3 = nextStep.createTasks; - num = ((CurrentQuest == null) ? (-988185670) : (-988185681)); - break; } - case 9: - num = ((item == null) ? (-988185670) : (-988185685)); - break; - case 19: - num = ((!CheckStopConditions(BuildEvaluationContext(null, null, _202B_200C_200E_206F_206B_200C_206D_200B_202A_202A_200C_200F_206E_200B_202A_202C_202A_206F_202E_202E_206B_206C_200B_200B_206B_200F_206C_200C_206D_202B_202B_200D_202E_200C_206B_206C_206C_200C_200F_202D_202E(item2)))) ? (-988185668) : (-988185694)); - break; - case 23: - _200F_206F_202B_206C_202D_202A_202A_200B_206F_206F_206C_206F_202C_206C_206E_200F_202A_202E_202B_202B_206E_206C_206A_202A_200E_202A_206B_206A_206E_202C_200C_206B_200D_200B_200C_202E_200F_200C_206A_206A_202E((ILogger)_logger, 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(1136462212), new object[3] - { - CurrentQuest?.Quest.Id, - CurrentQuest?.Sequence, - CurrentQuest?.Step - }); - num = ((CurrentQuest == null) ? (-988185692) : (-988185695)); - break; - case 10: - num = (_territoryData.IsDutyInstance(_202B_206D_200E_202E_200F_202D_200B_206C_202B_206B_206F_202A_200B_200B_202C_206E_200B_202B_206E_202C_200E_206C_200F_206F_200B_202D_206C_206F_206B_200E_202D_202A_206D_200B_206E_200C_202E_202E_202A_206E_202E(_clientState)) ? (-988185686) : (-988185678)); - break; - case 25: - _200F_202D_200F_206E_206F_206E_202C_200F_200F_206E_206C_206F_206E_206F_200E_200F_200E_206D_200B_200C_202C_206A_202E_206F_206F_200F_202C_202B_206E_206C_206D_200F_202A_206F_206A_200F_206E_206D_202E_206F_202E(_chatGui, 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(-1616053395), 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(85756196), (ushort?)(ushort)576); - Stop(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(1301936537)); - return; - case 18: - num = ((item != null) ? (-988185669) : (-988185679)); - break; - case 2: - return; - case 11: + } + if (questStep != null && questStep.TerritoryId != _clientState.TerritoryType && (_territoryData.IsDutyInstance(_clientState.TerritoryType) || _territoryData.IsQuestBattleInstance(_clientState.TerritoryType))) + { + _logger.LogDebug("Deferring next step: step territory {StepTerritory} != current instance territory {CurrentTerritory}, waiting for duty exit", questStep.TerritoryId, _clientState.TerritoryType); + DebugState = "Waiting for duty exit"; + return; + } + bool flag2 = questStep != null; + if (flag2) + { + EInteractionType interactionType = questStep.InteractionType; + bool flag3 = (uint)(interactionType - 19) <= 1u; + flag2 = flag3; + } + if (flag2 && CheckStopConditions(BuildEvaluationContext(null, null, questStep.InteractionType))) + { + return; + } + _movementController.Stop(); + if (questStep != null) + { + switch (_gearRepairService.EvaluateAndEnqueue(questStep.InteractionType, _taskQueue)) + { + case ERepairDecision.Enqueued: _resumeAfterSideTasks = true; return; - case 28: - num = ((CurrentQuest == null) ? (-988185679) : (-988185676)); - break; - case 27: - num = ((!flag2) ? (-988185668) : (-988185675)); - break; - case 21: - { - EInteractionType eInteractionType = _202B_200C_200E_206F_206B_200C_206D_200B_202A_202A_200C_200F_206E_200B_202A_202C_202A_206F_202E_202E_206B_206C_200B_200B_206B_200F_206C_200C_206D_202B_202B_200D_202E_200C_206B_206C_206C_200C_200F_202D_202E(item2); - num = (((uint)(eInteractionType - 19) > 1u) ? (-988185691) : (-988185672)); - break; - } - case 8: - flag2 = flag; - num = -988185667; - break; - case 4: + case ERepairDecision.BlockDuty: + _chatGui.PrintError("Gear is critically damaged and cannot be repaired - stopping before duty.", "Questionable", 576); + Stop("Gear critically damaged"); return; - case 13: - num = ((item2 != null) ? (-988185670) : (-988185693)); - break; - case 22: - num = -988185696; - break; - case 15: - try - { - (QuestProgress, ECurrentQuestType)? currentQuestDetails = CurrentQuestDetails; - bool isSimulation = currentQuestDetails.HasValue && currentQuestDetails.GetValueOrDefault().Item2 == ECurrentQuestType.Simulated; - IEnumerator enumerator = _taskCreator.CreateTasks(CurrentQuest.Quest, CurrentQuest.Sequence, item, item2, isSimulation).GetEnumerator(); - try - { - num = 410602803; - while (true) - { - int num7 = num; - num3 = 410602801; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 410602803; - break; - case 3: - { - ITask current = enumerator.Current; - _taskQueue.Enqueue(current); - num = 410602803; - break; - } - case 2: - num = (_206A_202C_206C_200C_206E_202A_200D_200B_202D_200F_202E_206C_202E_206E_202A_200F_200D_206C_200E_206B_200B_202A_206D_202E_200B_202B_206D_202D_206D_202A_202B_202E_202A_202D_200F_202B_206F_206B_202E_202E_202E((IEnumerator)enumerator) ? 410602802 : 410602800); - break; - case 1: - return; - } - } - } - finally - { - num = ((enumerator == null) ? 842777635 : 842777632); - while (true) - { - int num8 = num; - num3 = 842777633; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_06ec; - case 1: - _202D_202E_200E_202A_202D_206D_202C_202B_202C_202D_206C_206A_200F_202E_200F_206A_202B_202A_200D_206D_206B_202E_206E_206D_206F_206A_200C_200B_206B_200C_200E_206D_202D_200D_200C_206A_202E_200F_202D_202E_202E((IDisposable)enumerator); - num = 842777635; - break; - case 0: - num = 842777632; - break; - } - continue; - end_IL_06ec: - break; - } - } - } - catch (Exception ex) - { - _200F_202D_206C_200B_202E_206B_202A_202B_206C_206E_202D_200E_200C_200E_206B_206A_206A_202D_206A_202E_200E_206E_202A_206C_202C_206C_202A_202E_200C_202E_200B_206C_206B_206C_200E_206D_200E_206E_200E_200F_202E((ILogger)_logger, ex, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(57710941), Array.Empty()); - _200F_202D_200F_206E_206F_206E_202C_200F_200F_206E_206C_206F_206E_206F_200E_200F_200E_206D_200B_200C_202C_206A_202E_206F_206F_200F_202C_202B_206E_206C_206D_200F_202A_206F_206A_200F_206E_206D_202E_206F_202E(_chatGui, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1443100882), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1531843937)); - return; - } } } + try + { + (QuestProgress, ECurrentQuestType)? currentQuestDetails = CurrentQuestDetails; + bool isSimulation = currentQuestDetails.HasValue && currentQuestDetails.GetValueOrDefault().Item2 == ECurrentQuestType.Simulated; + foreach (ITask item in _taskCreator.CreateTasks(CurrentQuest.Quest, CurrentQuest.Sequence, questSequence, questStep, isSimulation)) + { + _taskQueue.Enqueue(item); + } + } + catch (Exception exception) + { + _logger.LogError(exception, "Failed to create tasks"); + _chatGui.PrintError("Failed to start next task sequence, please check /xllog for details.", "Questionable", 576); + Stop("Tasks failed to create"); + } } - [MethodImpl(MethodImplOptions.NoInlining)] public string ToStatString() { ITask task = _taskQueue.CurrentTaskExecutor?.CurrentTask; - int num = ((task != null) ? 538826814 : 538826815); - while (true) + if (task != null) { - int num2 = num; - int num3 = 538826814; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(4, 2); - defaultInterpolatedStringHandler2.AppendFormatted(task); - defaultInterpolatedStringHandler2.AppendLiteral(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(1973925937)); - defaultInterpolatedStringHandler2.AppendFormatted(_taskQueue.RemainingTasks.Count()); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - return defaultInterpolatedStringHandler2.ToStringAndClear(); - } - case 1: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(5, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-7763818)); - defaultInterpolatedStringHandler.AppendFormatted(_taskQueue.RemainingTasks.Count()); - defaultInterpolatedStringHandler.AppendLiteral(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(424561659)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - case 2: - goto IL_0103; - } - continue; - IL_0103: - num = 538826815; + return $"{task} (+{_taskQueue.RemainingTasks.Count()})"; } + return $"- (+{_taskQueue.RemainingTasks.Count()})"; } public bool HasCurrentTaskExecutorMatching([NotNullWhen(true)] out T? task) where T : class, ITaskExecutor { - T val = _taskQueue.CurrentTaskExecutor as T; - int num = ((val == null) ? 147381141 : 147381142); - while (true) + if (_taskQueue.CurrentTaskExecutor is T val) { - int num2 = num; - int num3 = 147381143; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_005e; - case 2: - task = null; - return false; - case 1: - task = val; - return true; - } - continue; - IL_005e: - num = 147381142; + task = val; + return true; } + task = null; + return false; } public bool HasCurrentTaskMatching([NotNullWhen(true)] out T? task) where T : class, ITask { - T val = _taskQueue.CurrentTaskExecutor?.CurrentTask as T; - int num = ((val == null) ? 959194495 : 959194492); - while (true) + if (_taskQueue.CurrentTaskExecutor?.CurrentTask is T val) { - int num2 = num; - int num3 = 959194494; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_006e; - case 2: - task = val; - return true; - case 1: - task = null; - return false; - } - continue; - IL_006e: - num = 959194492; + task = val; + return true; } + task = null; + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Skip(ElementId elementId, byte currentQuestSequence) { - int num = ((!(_taskQueue.CurrentTaskExecutor?.CurrentTask is ISkippableTask)) ? (-1495300291) : (-1495300290)); - ITask task2 = default(ITask); - while (true) + if (_taskQueue.CurrentTaskExecutor?.CurrentTask is ISkippableTask) { - int num2 = num; - int num3 = -1495300294; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = -1495300290; - break; - case 4: - _taskQueue.CurrentTaskExecutor = null; - return; - case 1: - return; - case 7: - num = ((_taskQueue.CurrentTaskExecutor == null) ? (-1495300292) : (-1495300301)); - break; - case 9: - _taskQueue.CurrentTaskExecutor = null; - num = -1495300289; - break; - case 5: - num = ((!_taskQueue.TryPeek(out task2)) ? (-1495300304) : (-1495300296)); - break; - case 2: + _taskQueue.CurrentTaskExecutor = null; + } + else if (_taskQueue.CurrentTaskExecutor != null) + { + _taskQueue.CurrentTaskExecutor = null; + ITask task; + while (_taskQueue.TryPeek(out task)) { _taskQueue.TryDequeue(out ITask _); - num = ((!(task2 is ISkippableTask)) ? (-1495300289) : (-1495300302)); - break; + if (task is ISkippableTask) + { + return; + } } - case 0: - Stop(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(-1356164541)); + if (_taskQueue.AllTasksComplete) + { + Stop("Skip"); IncreaseStepCount(elementId, currentQuestSequence); - return; - case 10: - num = ((!_taskQueue.AllTasksComplete) ? (-1495300293) : (-1495300294)); - break; - case 6: - Stop(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(645959712)); - IncreaseStepCount(elementId, currentQuestSequence); - num = -1495300293; - break; - case 8: - return; } } + else + { + Stop("SkipNx"); + IncreaseStepCount(elementId, currentQuestSequence); + } } public void SkipSimulatedTask() @@ -3403,261 +1376,109 @@ internal sealed class QuestController : MiniTaskController public bool IsInterruptible() { EAutomationType automationType = AutomationType; - int num = (((uint)(automationType - 3) > 1u) ? (-272252547) : (-272252565)); - QuestProgress item = default(QuestProgress); - bool flag2 = default(bool); - (ElementId, byte, bool, long) valueOrDefault = default((ElementId, byte, bool, long)); - QuestStep questStep = default(QuestStep); - (QuestProgress, ECurrentQuestType)? currentQuestDetails = default((QuestProgress, ECurrentQuestType)?); - QuestSequence questSequence = default(QuestSequence); - (ElementId, byte, bool, long)? interruptibleRouteCache = default((ElementId, byte, bool, long)?); - while (true) + if ((uint)(automationType - 2) <= 1u) { - int num2 = num; - int num3 = -272252566; - int num4 = num2; - object obj; - switch ((num4 | num3) - (num4 & num3)) + return false; + } + (QuestProgress, ECurrentQuestType)? currentQuestDetails = CurrentQuestDetails; + if (!currentQuestDetails.HasValue) + { + return false; + } + (QuestProgress, ECurrentQuestType) value = currentQuestDetails.Value; + var (questProgress, _) = value; + if (value.Item2 != ECurrentQuestType.Normal || !questProgress.Quest.Root.Interruptible || questProgress.Sequence == 0) + { + return false; + } + if (ManualPriorityQuests.Contains(questProgress.Quest)) + { + return false; + } + if (QuestData.HardModePrimals.Contains(questProgress.Quest.Id)) + { + return false; + } + if (questProgress.Quest.Info.AlliedSociety != EAlliedSociety.None) + { + return false; + } + QuestSequence questSequence = questProgress.Quest.FindSequence(questProgress.Sequence); + if (questProgress.Step > 0) + { + return false; + } + QuestStep questStep = questSequence?.FindStep(questProgress.Step); + if (questStep == null || !questStep.Position.HasValue) + { + return false; + } + (ElementId, byte, bool, long)? interruptibleRouteCache = _interruptibleRouteCache; + if (interruptibleRouteCache.HasValue) + { + (ElementId, byte, bool, long) valueOrDefault = interruptibleRouteCache.GetValueOrDefault(); + if (valueOrDefault.Item1 == questProgress.Quest.Id && valueOrDefault.Item2 == questProgress.Sequence && Environment.TickCount64 - valueOrDefault.Item4 < 2000) { - case 10: - num = ((!_200F_206B_206B_202C_200E_206D_202E_206D_206A_206C_200D_202C_200C_200E_200D_200D_206C_200E_202B_200C_202A_206F_202E_200C_200D_206A_200C_200F_206D_206E_206A_206F_206A_202C_206B_206A_200E_206F_200D_200D_202E(item.Quest.Root)) ? (-272252545) : (-272252558)); - break; - case 16: - obj = null; - goto IL_03ea; - case 11: - return false; - case 1: - flag2 = true; - num = -272252556; - break; - case 7: - return false; - case 3: - num = ((_200F_202C_206D_200F_200D_206C_206B_200E_202D_202E_206E_206B_202C_200C_202E_202B_200E_202A_202D_200F_202E_206B_206A_206A_200B_202D_202E_200C_206D_202D_200B_202A_206E_206D_202E_200C_206F_200B_200F_206B_202E() - valueOrDefault.Item4 >= 2000) ? (-272252568) : (-272252574)); - break; - case 22: - num = -272252565; - break; - case 27: - num = ((!QuestData.HardModePrimals.Contains(item.Quest.Id)) ? (-272252570) : (-272252573)); - break; - case 9: - return false; - case 30: - num = ((!flag2) ? (-272252572) : (-272252546)); - break; - case 23: - flag2 = false; - num = -272252556; - break; - case 2: - { - bool flag = _smartNavRouteEnqueuer.RouteStartsWithTeleport(_206E_202A_206F_206D_206A_202E_200D_202E_206B_206D_202D_200C_200B_206C_202C_206D_200D_206F_202C_202A_200C_202E_206F_200B_206E_206C_206F_202A_200D_206D_206C_202B_202A_202C_200B_202D_200D_206D_206A_200D_202E(questStep), _202C_202D_202C_200F_200E_206E_200B_200D_202E_200E_206D_202B_206E_206D_206B_202D_202E_206E_206E_200B_200D_200F_202D_200F_206D_206E_206E_206D_206D_206F_200F_200E_202E_200F_202C_202C_206D_200B_202E_200E_202E(questStep).Value); - _interruptibleRouteCache = (item.Quest.Id, item.Sequence, flag, _200F_202C_206D_200F_200D_206C_206B_200E_202D_202E_206E_206B_202C_200C_202E_202B_200E_202A_202D_200F_202E_206B_206A_206A_200B_202D_202E_200C_206D_202D_200B_202A_206E_206D_202E_200C_206F_200B_200F_206B_202E()); - return flag; - } - case 14: - currentQuestDetails = CurrentQuestDetails; - num = (currentQuestDetails.HasValue ? (-272252571) : (-272252549)); - break; - case 24: - num = ((item.Sequence != 0) ? (-272252564) : (-272252545)); - break; - case 18: - num = ((questSequence != null) ? (-272252557) : (-272252550)); - break; - case 13: - valueOrDefault = interruptibleRouteCache.GetValueOrDefault(); - num = ((!_206F_202D_202C_200B_202C_202C_202A_206B_202B_200E_202B_206C_206D_206F_206F_200B_202B_200C_202E_206C_200B_206F_202D_200F_202C_202E_206D_206E_200E_206D_200D_206B_202C_206C_202E_200F_206D_202B_200B_200D_202E(valueOrDefault.Item1, item.Quest.Id)) ? (-272252568) : (-272252561)); - break; - case 28: - return false; - case 12: - num = ((item.Quest.Info.AlliedSociety == EAlliedSociety.None) ? (-272252566) : (-272252563)); - break; - case 0: - questSequence = item.Quest.FindSequence(item.Sequence); - num = ((item.Step <= 0) ? (-272252552) : (-272252554)); - break; - case 20: - return false; - case 5: - num = ((valueOrDefault.Item2 != item.Sequence) ? (-272252568) : (-272252567)); - break; - case 19: - if (_202D_202A_206B_206A_200D_200F_200C_202C_200F_206A_200E_206D_202C_206B_206B_206D_202B_200C_202C_206A_200D_206B_202B_202B_200D_206C_200F_206A_206A_200B_200F_200B_200D_200C_200D_202C_206E_200F_206E_202E_202E(questStep).HasValue) - { - num = -272252562; - break; - } - goto case 29; - case 29: - num = -272252575; - break; - case 6: - num = ((!ManualPriorityQuests.Contains(item.Quest)) ? (-272252559) : (-272252560)); - break; - case 4: - interruptibleRouteCache = _interruptibleRouteCache; - num = ((!interruptibleRouteCache.HasValue) ? (-272252568) : (-272252569)); - break; - case 21: - return false; - case 26: - return false; - case 17: - return false; - case 25: - obj = _200D_202C_200C_202B_202C_200C_200C_200F_202C_200B_200E_200D_206E_200B_200E_202B_200B_206D_206D_200F_206F_202D_206A_206B_200E_206E_200F_206D_200B_200E_202A_202D_200E_200D_206C_200D_202D_202B_206A_206D_202E(questSequence, item.Step); - goto IL_03ea; - case 8: return valueOrDefault.Item3; - case 15: - { - (QuestProgress, ECurrentQuestType) value = currentQuestDetails.Value; - item = value.Item1; - num = ((value.Item2 != ECurrentQuestType.Normal) ? (-272252545) : (-272252576)); - break; - } - IL_03ea: - questStep = (QuestStep)obj; - num = ((questStep != null) ? (-272252551) : (-272252553)); - break; } } + bool flag = _smartNavRouteEnqueuer.RouteStartsWithTeleport(questStep.TerritoryId, questStep.Position.Value); + _interruptibleRouteCache = (questProgress.Quest.Id, questProgress.Sequence, flag, Environment.TickCount64); + return flag; } public bool TryPickPriorityQuest() { - int num = ((!IsInterruptible()) ? (-1793325779) : (-1793325780)); - Questionable.Model.Quest quest = default(Questionable.Model.Quest); - ElementId elementId = default(ElementId); - while (true) + if (!IsInterruptible() || _nextQuest != null || _simulatedQuest != null) { - int num2 = num; - int num3 = -1793325781; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 8: - SetNextQuest(quest); - return true; - case 6: - return false; - case 7: - num = ((_nextQuest != null) ? (-1793325779) : (-1793325783)); - break; - case 9: - num = ((!_206F_202D_202C_200B_202C_202C_202A_206B_202B_200E_202B_206C_206D_206F_206F_200B_202B_200C_202E_206C_200B_206F_202D_200F_202C_202E_206D_206E_200E_206D_200D_206B_202C_206C_202E_200F_206D_202B_200B_200D_202E(elementId, _startedQuest.Quest.Id)) ? (-1793325791) : (-1793325777)); - break; - case 1: - num = ((_startedQuest == null) ? (-1793325791) : (-1793325790)); - break; - case 11: - return false; - case 3: - elementId = (from x in _questFunctions.GetNextPriorityQuestsThatCanBeAccepted() - where x.IsAvailable - select x.QuestId).FirstOrDefault(); - num = ((!_206F_202D_202C_200B_202C_202C_202A_206B_202B_200E_202B_206C_206D_206F_206F_200B_202B_200C_202E_206C_200B_206F_202D_200F_202C_202E_206D_206E_200E_206D_200D_206B_202C_206C_202E_200F_206D_202B_200B_200D_202E(elementId, (ElementId)null)) ? (-1793325782) : (-1793325781)); - break; - case 0: - return false; - case 12: - num = ((_simulatedQuest == null) ? (-1793325784) : (-1793325779)); - break; - case 2: - num = ((_gatheringQuest != null) ? (-1793325779) : (-1793325785)); - break; - case 10: - num = ((!_questRegistry.TryGetQuest(elementId, out quest)) ? (-1793325792) : (-1793325789)); - break; - case 5: - num = -1793325780; - break; - case 4: - return false; - } + return false; } + ElementId elementId = (from x in _questFunctions.GetNextPriorityQuestsThatCanBeAccepted() + where x.IsAvailable + select x.QuestId).FirstOrDefault(); + if (elementId == null) + { + return false; + } + if (_startedQuest != null && elementId == _startedQuest.Quest.Id) + { + return false; + } + if (_questRegistry.TryGetQuest(elementId, out Quest quest)) + { + SetNextQuest(quest); + return true; + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public bool ImportQuestPriority(List questElements) { - List list = new List(); - int num; - using (List.Enumerator enumerator = questElements.GetEnumerator()) + List list = new List(); + foreach (ElementId questElement in questElements) { - num = 1088990833; - ElementId current = default(ElementId); - Questionable.Model.Quest quest = default(Questionable.Model.Quest); - while (true) + if (_questRegistry.TryGetQuest(questElement, out Quest quest)) { - int num2 = num; - int num3 = 1088990832; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - _200F_206F_202B_206C_202D_202A_202A_200B_206F_206F_206C_206F_202C_206C_206E_200F_202A_202E_202B_202B_206E_206C_206A_202A_200E_202A_206B_206A_206E_202C_200C_206B_200D_200B_200C_202E_200F_200C_206A_206A_202E((ILogger)_logger, 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(-1620872938), new object[1] { current }); - num = 1088990833; - break; - case 4: - current = enumerator.Current; - num = ((!_questRegistry.TryGetQuest(current, out quest)) ? 1088990837 : 1088990832); - break; - case 0: - list.Add(quest); - num = 1088990833; - break; - case 1: - num = (enumerator.MoveNext() ? 1088990836 : 1088990834); - break; - case 3: - num = 1088990833; - break; - case 2: - goto end_IL_0019; - } + list.Add(quest); continue; - end_IL_0019: - break; } + _logger.LogWarning("Could not find quest {QuestId} during import", questElement); } - num = ((list.Count != 0) ? (-1930214335) : (-1930214334)); - while (true) + if (list.Count == 0) { - int num5 = num; - int num3 = -1930214333; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 0: - goto IL_0156; - case 2: - ManualPriorityQuests.Clear(); - ManualPriorityQuests.AddRange(list); - _200B_202C_206A_200E_202B_206A_202B_206D_206A_202D_200C_200D_202D_200F_206B_206C_206B_206B_202C_202B_200D_202E_202C_206F_206C_202E_206C_202D_202A_200D_202E_200B_206B_200C_206E_200F_202D_206F_206D_206F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1848291425), new object[1] { ManualPriorityQuests.Count }); - SavePriorityQuests(); - return true; - case 1: - _200F_206F_202B_206C_202D_202A_202A_200B_206F_206F_206C_206F_202C_206C_206E_200F_202A_202E_202B_202B_206E_206C_206A_202A_200E_202A_206B_206A_206E_202C_200C_206B_200D_200B_200C_202E_200F_200C_206A_206A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(337890676), Array.Empty()); - return false; - } - continue; - IL_0156: - num = -1930214334; + _logger.LogWarning("Priority import contained no known quests; keeping existing list"); + return false; } + ManualPriorityQuests.Clear(); + ManualPriorityQuests.AddRange(list); + _logger.LogInformation("Imported {Count} priority quests", ManualPriorityQuests.Count); + SavePriorityQuests(); + return true; } public string ExportQuestPriority() { - return string.Join(';', ManualPriorityQuests.Select((Questionable.Model.Quest x) => _003C_003Ec._202B_206B_206E_206A_200D_206F_202C_200F_206E_200D_200E_202E_200C_206E_200C_202A_200C_200B_202D_206D_202E_206B_202B_206B_206C_200F_200C_206C_206D_206F_200D_200E_202A_202B_206E_206F_200B_206E_206A_202E((object)x.Id))); + return string.Join(';', ManualPriorityQuests.Select((Quest x) => x.Id.ToString())); } public void ClearQuestPriority() @@ -3668,336 +1489,112 @@ internal sealed class QuestController : MiniTaskController public bool AddQuestPriority(ElementId elementId) { - Questionable.Model.Quest quest; - int num = ((!_questRegistry.TryGetQuest(elementId, out quest)) ? (-1948690757) : (-1948690759)); - while (true) + if (_questRegistry.TryGetQuest(elementId, out Quest quest) && !ManualPriorityQuests.Contains(quest)) { - int num2 = num; - int num3 = -1948690760; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1948690759; - break; - case 3: - return false; - case 1: - num = (ManualPriorityQuests.Contains(quest) ? (-1948690757) : (-1948690760)); - break; - case 0: - ManualPriorityQuests.Add(quest); - SavePriorityQuests(); - return true; - } + ManualPriorityQuests.Add(quest); + SavePriorityQuests(); + return true; } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public int AddAllAvailableQuests() { - List list = (from q in _questRegistry.AllQuests.Where([MethodImpl(MethodImplOptions.NoInlining)] (Questionable.Model.Quest quest2) => + List list = (from q in _questRegistry.AllQuests.Where(delegate(Quest quest2) { - int num14 = (_200E_202C_202A_202B_202C_202E_202A_200E_202A_200D_200E_202C_206F_206A_206C_200F_206D_206C_202D_206D_206C_202A_202E_202C_202A_202A_202C_206F_206F_206A_206A_206F_200F_200E_200E_200B_202C_200B_206C_202E_202E(quest2.Root) ? (-1663681159) : (-1663681160)); - QuestInfo questInfo = default(QuestInfo); - while (true) + if (quest2.Root.Disabled || _questFunctions.IsQuestRemoved(quest2.Id) || _questFunctions.IsQuestComplete(quest2.Id) || _questFunctions.IsQuestAccepted(quest2.Id) || quest2.Info.IsRepeatable) { - int num15 = num14; - int num16 = -1663681159; - int num17 = num15; - switch ((num17 | num16) - (num17 & num16)) - { - case 7: - num14 = ((questInfo.JournalGenre != _journalData.MoogleDeliveryGenreId.Value) ? (-1663681153) : (-1663681156)); - break; - case 3: - num14 = ((!_journalData.MoogleDeliveryGenreId.HasValue) ? (-1663681153) : (-1663681154)); - break; - case 6: - num14 = (_questFunctions.IsReadyToAcceptQuest(quest2.Id) ? (-1663681157) : (-1663681163)); - break; - case 11: - num14 = ((!quest2.Info.IsRepeatable) ? (-1663681165) : (-1663681159)); - break; - case 10: - questInfo = quest2.Info as QuestInfo; - num14 = ((questInfo == null) ? (-1663681153) : (-1663681158)); - break; - case 12: - _202B_206D_202D_206B_202B_206C_200C_206F_202B_206E_206C_202E_202E_206C_200B_202D_206E_206F_206E_206E_200C_206B_202E_202E_206A_202D_206D_206B_200F_200B_200C_202A_206C_202D_206F_202B_206E_202E_202E_200F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(151994669), new object[1] { quest2.Id }); - return false; - case 0: - return false; - case 1: - num14 = (_questFunctions.IsQuestRemoved(quest2.Id) ? (-1663681159) : (-1663681168)); - break; - case 4: - num14 = -1663681160; - break; - case 5: - _200B_202A_206E_206C_200E_206C_206E_202A_206E_200B_206E_206B_202C_202A_202C_200E_200C_202B_200C_200E_206A_200D_206B_200D_200D_202D_202C_200F_202C_206D_202C_200B_200B_202E_202A_200F_202C_200F_200B_206A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1002258107), new object[1] { quest2.Id }); - return false; - case 2: - return true; - case 9: - num14 = (_questFunctions.IsQuestComplete(quest2.Id) ? (-1663681159) : (-1663681167)); - break; - case 8: - num14 = (_questFunctions.IsQuestAccepted(quest2.Id) ? (-1663681159) : (-1663681166)); - break; - } + return false; } + if (quest2.Info is QuestInfo questInfo && _journalData.MoogleDeliveryGenreId.HasValue && questInfo.JournalGenre == _journalData.MoogleDeliveryGenreId.Value) + { + _logger.LogDebug("Excluding moogle delivery quest {QuestId} from bulk add", quest2.Id); + return false; + } + if (!_questFunctions.IsReadyToAcceptQuest(quest2.Id)) + { + _logger.LogTrace("Quest {QuestId} not ready to accept", quest2.Id); + return false; + } + return true; }) select q.Id).ToList(); - _200B_202C_206A_200E_202B_206A_202B_206D_206A_202D_200C_200D_202D_200F_206B_206C_206B_206B_202C_202B_200D_202E_202C_206F_206C_202E_206C_202D_202A_200D_202E_200B_206B_200C_206E_200F_202D_206F_206D_206F_202E((ILogger)_logger, 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(-408449636), new object[1] { list.Count }); + _logger.LogInformation("Adding {Count} available quests to priority queue", list.Count); int num = 0; - int num2; - using (List.Enumerator enumerator = list.GetEnumerator()) + foreach (ElementId item in list) { - num2 = 1101482974; - Questionable.Model.Quest quest = default(Questionable.Model.Quest); - while (true) + if (_questRegistry.TryGetQuest(item, out Quest quest) && !ManualPriorityQuests.Contains(quest)) { - int num3 = num2; - int num4 = 1101482972; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 3: - num2 = 1101482974; - break; - case 5: - num2 = (ManualPriorityQuests.Contains(quest) ? 1101482974 : 1101482968); - break; - case 4: - { - ManualPriorityQuests.Add(quest); - int num8 = num; - num4 = 1; - num5 = num8; - int num9 = num5 ^ num4; - int num10 = num5 & num4; - num = num9 + (num10 + num10); - num2 = 1101482974; - break; - } - case 1: - { - ElementId current = enumerator.Current; - num2 = ((!_questRegistry.TryGetQuest(current, out quest)) ? 1101482974 : 1101482969); - break; - } - case 2: - num2 = (enumerator.MoveNext() ? 1101482973 : 1101482972); - break; - case 0: - goto end_IL_0087; - } - continue; - end_IL_0087: - break; + ManualPriorityQuests.Add(quest); + num++; } } - num2 = ((num <= 0) ? 346489570 : 346489569); - while (true) + if (num > 0) { - int num11 = num2; - int num4 = 346489571; - int num5 = num11; - int num12 = num5 + num4; - int num13 = num5 & num4; - switch (num12 - (num13 + num13)) - { - case 0: - num2 = 346489569; - break; - case 1: - return num; - case 2: - SavePriorityQuests(); - num2 = 346489570; - break; - } + SavePriorityQuests(); } + return num; } - [MethodImpl(MethodImplOptions.NoInlining)] public bool InsertQuestPriority(int index, ElementId elementId) { try { - Questionable.Model.Quest quest; - int num = ((!_questRegistry.TryGetQuest(elementId, out quest)) ? (-1714455878) : (-1714455877)); - while (true) + if (_questRegistry.TryGetQuest(elementId, out Quest quest) && !ManualPriorityQuests.Contains(quest)) { - int num2 = num; - int num3 = -1714455880; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1714455877; - break; - case 1: - ManualPriorityQuests.Insert(index, quest); - SavePriorityQuests(); - num = -1714455878; - break; - case 3: - num = (ManualPriorityQuests.Contains(quest) ? (-1714455878) : (-1714455879)); - break; - case 2: - return true; - } + ManualPriorityQuests.Insert(index, quest); + SavePriorityQuests(); } + return true; } - catch (Exception ex) + catch (Exception exception) { - _200F_202D_206C_200B_202E_206B_202A_202B_206C_206E_202D_200E_200C_200E_206B_206A_206A_202D_206A_202E_200E_206E_202A_206C_202C_206C_202A_202E_200C_202E_200B_206C_206B_206C_200E_206D_200E_206E_200E_200F_202E((ILogger)_logger, ex, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1714631835), Array.Empty()); - _200F_202D_200F_206E_206F_206E_202C_200F_200F_206E_206C_206F_206E_206F_200E_200F_200E_206D_200B_200C_202C_206A_202E_206F_206F_200F_202C_202B_206E_206C_206D_200F_202A_206F_206A_200F_206E_206D_202E_206F_202E(_chatGui, 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(1891905702), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); + _logger.LogError(exception, "Failed to insert quest in priority list"); + _chatGui.PrintError("Failed to insert quest in priority list, please check /xllog for details.", "Questionable", 576); return false; } } - [MethodImpl(MethodImplOptions.NoInlining)] public void LoadPriorityQuests() { - int num = (_configuration.General.PersistPriorityQuestsBetweenSessions ? (-422838411) : (-422838410)); - ElementId current = default(ElementId); - Questionable.Model.Quest quest = default(Questionable.Model.Quest); - while (true) + if (!_configuration.General.PersistPriorityQuestsBetweenSessions) { - int num2 = num; - int num3 = -422838409; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _logger.LogDebug("Priority quest persistence is disabled, skipping load"); + return; + } + ManualPriorityQuests.Clear(); + foreach (ElementId priorityQuest in _configuration.General.PriorityQuests) + { + if (_questRegistry.TryGetQuest(priorityQuest, out Quest quest)) { - case 0: - goto IL_0056; - case 1: - _200B_202A_206E_206C_200E_206C_206E_202A_206E_200B_206E_206B_202C_202A_202C_200E_200C_202B_200C_200E_206A_200D_206B_200D_200D_202D_202C_200F_202C_206D_202C_200B_200B_202E_202A_200F_202C_200F_200B_206A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(723025887), Array.Empty()); - return; - case 2: - { - ManualPriorityQuests.Clear(); - using (List.Enumerator enumerator = _configuration.General.PriorityQuests.GetEnumerator()) - { - num = -422480032; - while (true) - { - int num5 = num; - num3 = -422480028; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 5: - num = -422480032; - break; - case 4: - num = (enumerator.MoveNext() ? (-422480027) : (-422480025)); - break; - case 0: - _200F_206F_202B_206C_202D_202A_202A_200B_206F_206F_206C_206F_202C_206C_206E_200F_202A_202E_202B_202B_206E_206C_206A_202A_200E_202A_206B_206A_206E_202C_200C_206B_200D_200B_200C_202E_200F_200C_206A_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-977297815), new object[1] { current }); - num = -422480032; - break; - case 2: - ManualPriorityQuests.Add(quest); - num = -422480032; - break; - case 1: - current = enumerator.Current; - num = ((!_questRegistry.TryGetQuest(current, out quest)) ? (-422480028) : (-422480026)); - break; - case 3: - goto end_IL_00a8; - } - continue; - end_IL_00a8: - break; - } - } - num = ((ManualPriorityQuests.Count <= 0) ? 414595989 : 414595988); - while (true) - { - int num8 = num; - num3 = 414595989; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 0: - return; - case 1: - _200B_202A_206E_206C_200E_206C_206E_202A_206E_200B_206E_206B_202C_202A_202C_200E_200C_202B_200C_200E_206A_200D_206B_200D_200D_202D_202C_200F_202C_206D_202C_200B_200B_202E_202A_200F_202C_200F_200B_206A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(460931309), new object[1] { ManualPriorityQuests.Count }); - num = 414595989; - break; - case 2: - num = 414595988; - break; - } - } + ManualPriorityQuests.Add(quest); + continue; } - } - continue; - IL_0056: - num = -422838410; + _logger.LogWarning("Could not find quest {QuestId} during load from config", priorityQuest); + } + if (ManualPriorityQuests.Count > 0) + { + _logger.LogDebug("Loaded {Count} priority quests from configuration", ManualPriorityQuests.Count); } } - [MethodImpl(MethodImplOptions.NoInlining)] public void SavePriorityQuests() { - int num = (_configuration.General.PersistPriorityQuestsBetweenSessions ? (-2116182895) : (-2116182894)); - while (true) + if (!_configuration.General.PersistPriorityQuestsBetweenSessions) { - int num2 = num; - int num3 = -2116182893; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - _configuration.General.PriorityQuests = ManualPriorityQuests.Select((Questionable.Model.Quest q) => q.Id).ToList(); - _206C_206B_206A_206C_206E_202D_206B_202C_202A_206C_202A_202E_202C_202C_206F_200D_202D_206B_206B_202E_202C_206F_202E_206A_200C_206A_202C_206D_200E_202E_206F_200F_200C_206D_206D_206D_202D_202A_206C_206E_202E(_pluginInterface, (IPluginConfiguration)_configuration); - _200B_202A_206E_206C_200E_206C_206E_202A_206E_200B_206E_206B_202C_202A_202C_200E_200C_202B_200C_200E_206A_200D_206B_200D_200D_202D_202C_200F_202C_206D_202C_200B_200B_202E_202A_200F_202C_200F_200B_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1313328163), new object[1] { ManualPriorityQuests.Count }); - return; - case 1: - _200B_202A_206E_206C_200E_206C_206E_202A_206E_200B_206E_206B_202C_202A_202C_200E_200C_202B_200C_200E_206A_200D_206B_200D_200D_202D_202C_200F_202C_206D_202C_200B_200B_202E_202A_200F_202C_200F_200B_206A_202E((ILogger)_logger, 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(-1550865690), Array.Empty()); - return; - case 0: - goto IL_00ed; - } - continue; - IL_00ed: - num = -2116182894; + _logger.LogDebug("Priority quest persistence is disabled, skipping save"); + return; } + _configuration.General.PriorityQuests = ManualPriorityQuests.Select((Quest q) => q.Id).ToList(); + _pluginInterface.SavePluginConfig(_configuration); + _logger.LogDebug("Saved {Count} priority quests to configuration", ManualPriorityQuests.Count); } private void OnConditionChange(ConditionFlag flag, bool value) { - IConditionChangeAware conditionChangeAware = _taskQueue.CurrentTaskExecutor as IConditionChangeAware; - int num = ((conditionChangeAware == null) ? 941144063 : 941144062); - while (true) + if (_taskQueue.CurrentTaskExecutor is IConditionChangeAware conditionChangeAware) { - int num2 = num; - int num3 = 941144063; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 941144062; - break; - case 1: - conditionChangeAware.OnConditionChange(flag, value); - num = 941144063; - break; - case 0: - return; - } + conditionChangeAware.OnConditionChange(flag, value); } } @@ -4008,90 +1605,34 @@ internal sealed class QuestController : MiniTaskController protected override void HandleInterruption(object? sender, EventArgs e) { - int num = (IsRunning ? (-1655978351) : (-1655978346)); - while (true) + if (IsRunning && AutomationType != EAutomationType.Manual) { - int num2 = num; - int num3 = -1655978350; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return; - case 4: - return; - case 2: - num = -1655978346; - break; - case 3: - num = ((AutomationType != EAutomationType.Manual) ? (-1655978349) : (-1655978350)); - break; - case 1: - base.HandleInterruption(sender, e); - return; - } + base.HandleInterruption(sender, e); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void OnLogout(int type, int code) { - StopAllDueToConditionFailed(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(388867250)); - int num = ((!_configuration.General.ClearPriorityQuestsOnLogout) ? (-1679940303) : (-1679940301)); - while (true) + StopAllDueToConditionFailed("Logged out"); + if (_configuration.General.ClearPriorityQuestsOnLogout) { - int num2 = num; - int num3 = -1679940302; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _logger.LogDebug("Clearing priority quests on logout"); + ManualPriorityQuests.Clear(); + if (_configuration.General.PersistPriorityQuestsBetweenSessions) { - case 2: - num = -1679940301; - break; - case 0: _configuration.General.PriorityQuests.Clear(); - _206C_206B_206A_206C_206E_202D_206B_202C_202A_206C_202A_202E_202C_202C_206F_200D_202D_206B_206B_202E_202C_206F_202E_206A_200C_206A_202C_206D_200E_202E_206F_200F_200C_206D_206D_206D_202D_202A_206C_206E_202E(_pluginInterface, (IPluginConfiguration)_configuration); - num = -1679940303; - break; - case 1: - _200B_202A_206E_206C_200E_206C_206E_202A_206E_200B_206E_206B_202C_202A_202C_200E_200C_202B_200C_200E_206A_200D_206B_200D_200D_202D_202C_200F_202C_206D_202C_200B_200B_202E_202A_200F_202C_200F_200B_206A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(367298565), Array.Empty()); - ManualPriorityQuests.Clear(); - num = ((!_configuration.General.PersistPriorityQuestsBetweenSessions) ? (-1679940303) : (-1679940302)); - break; - case 3: - return; + _pluginInterface.SavePluginConfig(_configuration); } } } - [MethodImpl(MethodImplOptions.NoInlining)] private void OnPlayerInputDetected(object? sender, EventArgs e) { - int num = ((AutomationType == EAutomationType.Manual) ? (-1200992727) : (-1200992728)); - while (true) + if (AutomationType != EAutomationType.Manual && IsRunning) { - int num2 = num; - int num3 = -1200992727; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -1200992728; - break; - case 0: - return; - case 1: - num = ((!IsRunning) ? (-1200992727) : (-1200992726)); - break; - case 3: - _200B_202C_206A_200E_202B_206A_202B_206D_206A_202D_200C_200D_202D_200F_206B_206C_206B_206B_202C_202B_200D_202E_202C_206F_206C_202E_206C_202D_202A_200D_202E_200B_206B_200C_206E_200F_202D_206F_206D_206F_202E((ILogger)_logger, 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(-1330855423), Array.Empty()); - _206B_200E_206D_202B_200F_206D_202C_206C_206B_200F_200D_202B_202A_200B_202E_206D_200B_206E_202D_200D_206F_202C_206E_202C_206A_206C_206F_200D_202D_200C_206A_206D_202E_200D_206F_202C_200E_202C_206E_200E_202E(_chatGui, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1328600292), 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(85756196), (ushort?)(ushort)576); - Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(983889024)); - num = -1200992727; - break; - } + _logger.LogInformation("Player input detected during movement, stopping quest automation"); + _chatGui.Print("Player input detected - stopping quest automation.", "Questionable", 576); + Stop("Player input detected"); } } @@ -4099,359 +1640,33 @@ internal sealed class QuestController : MiniTaskController { RefreshQuestReference(_startedQuest); RefreshQuestReference(_nextQuest); - RefreshQuestReference(_gatheringQuest); RefreshQuestReference(_pendingQuest); - int num = 0; - int num2 = -375466383; - Questionable.Model.Quest quest = default(Questionable.Model.Quest); - while (true) + for (int i = 0; i < ManualPriorityQuests.Count; i++) { - int num3 = num2; - int num4 = -375466384; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) + if (_questRegistry.TryGetQuest(ManualPriorityQuests[i].Id, out Quest quest)) { - case 3: - ManualPriorityQuests[num] = quest; - num2 = -375466380; - break; - case 1: - num2 = ((num < ManualPriorityQuests.Count) ? (-375466382) : (-375466379)); - break; - case 4: - { - int num8 = num; - num4 = 1; - num5 = num8; - num = (num5 | num4) + (num5 & num4); - num2 = -375466383; - break; - } - case 0: - num2 = -375466383; - break; - case 5: - _interruptibleRouteCache = null; - return; - case 2: - num2 = ((!_questRegistry.TryGetQuest(ManualPriorityQuests[num].Id, out quest)) ? (-375466380) : (-375466381)); - break; + ManualPriorityQuests[i] = quest; } } + _interruptibleRouteCache = null; } private void RefreshQuestReference(QuestProgress? progress) { - int num = ((progress == null) ? (-1904312467) : (-1904312465)); - Questionable.Model.Quest quest = default(Questionable.Model.Quest); - while (true) + if (progress != null && _questRegistry.TryGetQuest(progress.Quest.Id, out Quest quest)) { - int num2 = num; - int num3 = -1904312466; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1904312465; - break; - case 1: - num = ((!_questRegistry.TryGetQuest(progress.Quest.Id, out quest)) ? (-1904312467) : (-1904312466)); - break; - case 0: - progress.ReplaceQuest(quest); - num = -1904312467; - break; - case 3: - return; - } + progress.ReplaceQuest(quest); } } public override void Dispose() { _questRegistry.Reloaded -= OnQuestRegistryReloaded; - _200C_200D_200C_206E_206E_206E_206B_200D_206D_206B_202A_202D_206A_202E_206C_200B_206B_206C_206F_202C_206B_206D_200F_202C_202C_206D_202C_200C_206B_206C_202A_206A_202B_206E_200E_202D_202D_202B_202A_200F_202E(_toastGui, (IToastGui.OnErrorToastDelegate)base.OnErrorToast); - _202C_202B_206C_200F_206A_206F_206D_206C_200B_202D_206C_200D_202C_202B_200F_202E_206E_200B_200D_206B_206E_200F_202C_200D_200E_200C_206C_200E_202D_206B_202A_200C_206D_202B_206F_202B_202B_206C_206D_206B_202E(_toastGui, (IToastGui.OnNormalToastDelegate)OnNormalToast); - _200F_206A_206B_200C_206F_202B_200E_202D_200F_202E_206A_206C_202C_200F_206E_200D_206A_206D_206D_202B_200C_202A_200D_206C_202B_200D_200B_200D_200C_206D_206F_202A_202A_206D_202D_206A_202A_206C_202E_200C_202E(_condition, (ICondition.ConditionChangeDelegate)OnConditionChange); - _202B_206D_202D_202D_202B_206F_202C_200B_200D_202B_206F_202E_206B_206C_200F_206C_206A_206E_200E_206A_202B_200E_200C_206B_202A_202D_200E_206E_202B_206E_206E_206C_202A_206C_206F_202E_202B_206B_206B_202E(_clientState, (IClientState.LogoutDelegate)OnLogout); + _toastGui.ErrorToast -= base.OnErrorToast; + _toastGui.Toast -= OnNormalToast; + _condition.ConditionChange -= OnConditionChange; + _clientState.Logout -= OnLogout; _movementController.PlayerInputDetected -= OnPlayerInputDetected; base.Dispose(); } - - static void _206C_202A_200E_200B_202B_206C_206E_202D_200D_200C_206B_206D_202B_206E_206F_202E_202D_206D_200E_200E_200D_206E_206B_202B_202A_206E_202B_200F_200D_200C_202D_202C_200F_206A_206F_206D_206D_206E_200E_206D_202E(IToastGui P_0, IToastGui.OnErrorToastDelegate P_1) - { - P_0.ErrorToast += P_1; - } - - static void _200C_206A_202E_202A_200F_202B_206D_200D_202B_206C_200E_202C_206F_206B_206C_206A_206F_206C_202D_200F_200E_206D_200D_202A_206A_206A_206F_206C_200D_206B_202A_200F_200F_200F_202C_206E_206A_206F_206D_202C_202E(IToastGui P_0, IToastGui.OnNormalToastDelegate P_1) - { - P_0.Toast += P_1; - } - - static void _202C_202A_202A_200C_202C_200B_200D_200B_200F_202E_200C_202A_200D_206C_206C_206E_200C_200D_202C_200E_202C_200B_202D_206B_202B_200C_202C_202B_202C_206D_206F_200F_206A_202D_206C_200F_206C_200D_202A_206C_202E(ICondition P_0, ICondition.ConditionChangeDelegate P_1) - { - P_0.ConditionChange += P_1; - } - - static void _202E_202A_206E_200D_202D_202D_202A_202A_200C_202A_200D_206F_206A_206A_206B_200C_200F_206C_200F_200D_206D_206B_202D_202E_200B_200F_206E_200F_200D_202E_200F_206C_200D_200D_202C_200B_200D_202B_202C_200C_202E(IClientState P_0, IClientState.LogoutDelegate P_1) - { - P_0.Logout += P_1; - } - - static void _200B_202A_206E_206C_200E_206C_206E_202A_206E_200B_206E_206B_202C_202A_202C_200E_200C_202B_200C_200E_206A_200D_206B_200D_200D_202D_202C_200F_202C_206D_202C_200B_200B_202E_202A_200F_202C_200F_200B_206A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static Delegate _200E_202A_206A_202D_200B_202C_202C_200E_202C_200D_206A_202D_200E_206E_200C_206F_206C_200C_206E_202C_200E_200C_200F_200E_206B_206D_202D_206C_200D_202B_200D_202B_202E_206C_206E_200F_206E_206B_200D_206D_202E(Delegate P_0, Delegate P_1) - { - return Delegate.Combine(P_0, P_1); - } - - static Delegate _200B_206D_200F_202D_202D_206B_202A_200B_202B_200F_202A_200B_206F_206A_206B_200D_206B_206F_206F_200D_206E_206E_202B_202A_206B_206D_200B_206C_202A_206C_202D_206C_202B_206A_206A_206E_206F_202A_200D_206B_202E(Delegate P_0, Delegate P_1) - { - return Delegate.Remove(P_0, P_1); - } - - static IPlayerCharacter _202A_206E_200F_206E_206D_202E_206B_202A_206B_200F_200C_206C_202A_206E_200D_206B_206B_206C_206A_200D_202B_200F_206D_206E_202C_200B_200B_206B_202A_200E_206E_200F_202A_206F_206A_206F_202C_200D_202A_206B_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static ushort _200E_202C_200B_200D_200F_202B_206C_206B_202A_206E_206D_200C_202C_206E_200F_200C_200C_206E_200D_202A_200B_206F_202B_202A_202C_202E_200F_206B_206D_200C_200D_202C_206D_200C_200D_200B_202E_202D_206A_200F_202E(ElementId P_0) - { - return P_0.Value; - } - - static void _200B_202C_206A_200E_202B_206A_202B_206D_206A_202D_200C_200D_202D_200F_206B_206C_206B_206B_202C_202B_200D_202E_202C_206F_206C_202E_206C_202D_202A_200D_202E_200B_206B_200C_206E_200F_202D_206F_206D_206F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static Task _206B_202B_206C_206B_206A_200C_206A_206B_206C_206E_200C_200C_200B_202D_202D_202B_206E_200F_206D_200C_206A_202E_206E_206D_200E_200F_206C_206F_200C_206B_200E_200B_202C_200B_202B_202A_206D_200B_202E_200F_202E(IFramework P_0, System.Action P_1) - { - return P_0.RunOnFrameworkThread(P_1); - } - - static TaskAwaiter _202C_200F_200B_200E_206E_202A_206C_200C_206F_200E_206F_200E_206C_200E_202D_202D_200B_202B_202C_200E_202C_200C_200C_200D_206D_206A_206D_200F_200C_202E_200C_206F_202C_202E_206A_202A_202B_200F_206D_206E_202E(Task P_0) - { - return P_0.GetAwaiter(); - } - - static float _200C_200B_202E_200D_206A_206D_206E_202C_200B_206E_200C_200E_202A_200C_202C_202C_206B_206F_206D_206B_206F_202E_206F_206A_200E_206A_202D_206B_206E_200F_206C_206F_200F_206B_206E_206C_200C_202E_202E_206D_202E(float P_0, float P_1) - { - return Math.Max(P_0, P_1); - } - - static long _200F_202C_206D_200F_200D_206C_206B_200E_202D_202E_206E_206B_202C_200C_202E_202B_200E_202A_202D_200F_202E_206B_206A_206A_200B_202D_202E_200C_206D_202D_200B_202A_206E_206D_202E_200C_206F_200B_200F_206B_202E() - { - return Environment.TickCount64; - } - - static bool _200C_206C_202D_202B_200C_202B_206D_202A_206E_206D_202E_202D_200D_202C_200F_202B_200B_206F_200D_206E_206D_202D_206E_206A_206B_200C_200E_200E_206F_200E_200B_206B_200D_202E_200B_200E_206C_202E_200D_206D_202E(IClientState P_0) - { - return P_0.IsLoggedIn; - } - - static bool _206F_202B_202C_206E_206C_200C_206E_206C_206A_206C_200D_202C_202E_202D_200F_200B_206A_206C_202D_202E_202D_206A_202A_202C_202E_200C_206F_206F_202B_206F_200F_202E_206E_202A_202B_206A_206E_200E_200C_206B_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static uint _202B_206D_200E_202E_200F_202D_200B_206C_202B_206B_206F_202A_200B_200B_202C_206E_200B_202B_206E_202C_200E_206C_200F_206F_200B_202D_206C_206F_206B_200E_202D_202A_206D_200B_206E_200C_202E_202E_202A_206E_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static void _200F_206F_202B_206C_202D_202A_202A_200B_206F_206F_206C_206F_202C_206C_206E_200F_202A_202E_202B_202B_206E_206C_206A_202A_200E_202A_206B_206A_206E_202C_200C_206B_200D_200B_200C_202E_200F_200C_206A_206A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static bool _206C_200C_206D_202E_206F_200B_206F_200F_206F_206D_200D_202A_200C_200C_200C_206F_202E_206F_200E_206D_200D_202B_200E_206B_202E_206B_200E_206C_202E_200D_206B_206B_202D_206E_206C_206C_200C_202C_206A_202E_202E(ICondition P_0) - { - return ConditionHelper.IsBetweenAreas(P_0); - } - - static bool _202C_202E_202E_202D_206F_200D_202D_202A_206E_202E_202E_200F_206E_206B_206C_202B_202E_202B_202A_200B_202C_206E_200C_202E_200B_206F_206D_206B_202C_200F_200C_202E_206C_206A_200F_202C_206F_200F_202E_202C_202E(IKeyState P_0, VirtualKey P_1) - { - return P_0[P_1]; - } - - static List _206B_200F_202A_202A_200D_200E_202E_202C_202C_206F_206E_206D_206C_206D_202E_202A_200F_206D_206C_200F_206E_202B_206E_202E_200D_206F_206D_202D_202D_202A_200B_202E_206C_202C_202D_200E_206E_200E_206A_206B_202E(QuestSequence P_0) - { - return P_0.Steps; - } - - static bool _206F_202D_202C_200B_202C_202C_202A_206B_202B_200E_202B_206C_206D_206F_206F_200B_202B_200C_202E_206C_200B_206F_202D_200F_202C_202E_206D_206E_200E_206D_200D_206B_202C_206C_202E_200F_206D_202B_200B_200D_202E(ElementId P_0, ElementId P_1) - { - return P_0 == P_1; - } - - static RowRef _206E_200C_200F_200B_202D_202C_200E_200E_206D_206B_206B_200E_206B_200D_200E_200E_200D_202B_206F_200B_202B_200B_206A_200D_200E_200E_206D_206D_206E_200B_206F_200C_206D_202E_200F_200F_200E_202C_202B_200D_202E(ICharacter P_0) - { - return P_0.ClassJob; - } - - static bool _206C_206E_206A_200D_202A_206B_202E_202A_200E_200F_206A_202E_206A_206E_202D_206D_202B_202C_202A_202C_206E_206C_200E_200C_206C_202B_200F_202A_206B_202D_202E_200F_202D_200B_200C_202C_206A_206A_202C_206B_202E(EClassJob P_0) - { - return P_0.IsLimitedJob(); - } - - static string _206F_200D_200C_206B_200F_206C_206A_200D_200D_200F_206F_206D_200D_200F_206E_206B_202C_202B_206B_206B_202E_200C_202B_202D_202E_200C_206E_200C_200F_206A_200E_200E_202A_202D_206B_206A_200F_202A_200E_206D_202E(EClassJob P_0) - { - return P_0.ToFriendlyString(); - } - - static string _200D_200B_200C_200D_202C_200F_202C_202C_200E_200D_202B_200D_206A_202B_206F_202E_202A_202A_200E_206F_206B_202C_206E_206E_202E_200F_202A_206D_202B_206E_200E_200E_206C_206B_202B_200F_200C_200F_202A_202E_202E(string P_0, string P_1, string P_2, string P_3) - { - return P_0 + P_1 + P_2 + P_3; - } - - static byte _200C_206C_200D_202E_202B_206C_200B_202E_202E_206E_206F_202E_200F_202C_200F_200E_206B_206B_200E_202B_202A_202A_206C_200F_206A_206E_206B_206F_202E_206E_206A_206B_200E_202E_200C_200F_200C_200B_206E_202A_202E(ICharacter P_0) - { - return P_0.Level; - } - - static bool _206B_202D_202B_202D_206D_206E_200E_202D_206A_200C_200B_200F_200B_206C_202C_206A_206C_206D_206A_202D_206D_200D_200E_206D_200E_202B_202E_200D_206E_200E_202A_206D_202B_206B_202A_206D_200E_206B_202C_206D_202E(ElementId P_0, ElementId P_1) - { - return P_0 != P_1; - } - - static byte _200F_206E_200C_202B_206B_202C_202C_200B_200F_202C_202A_200F_206F_200B_200F_206D_206E_200B_200C_206A_200B_206A_200C_200E_202C_200E_200D_202D_206F_202B_206C_200B_206B_206F_202D_200C_202C_206E_202A_200D_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - - static void _202D_202E_200E_202A_202D_206D_202C_202B_202C_202D_206C_206A_200F_202E_200F_206A_202B_202A_200D_206D_206B_202E_206E_206D_206F_206A_200C_200B_206B_200C_200E_206D_202D_200D_200C_206A_202E_200F_202D_202E_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static string _202A_206E_202E_206C_202A_202E_206A_202A_206B_202D_202B_200B_206B_206C_202D_200B_200D_202A_206F_206F_206A_200D_200F_206C_202E_206A_200D_200F_206B_206A_202B_202C_200F_200B_206A_200B_200C_206F_200C_200E_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static bool _206A_202C_206C_200C_206E_202A_200D_200B_202D_200F_202E_206C_202E_206E_202A_200F_200D_206C_200E_206B_200B_202A_206D_202E_200B_202B_206D_202D_206D_202A_202B_202E_202A_202D_200F_202B_206F_206B_202E_202E_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static int _200E_200D_202B_202D_206D_202B_202E_206C_200C_206B_206F_200D_206D_200F_200C_200E_200B_200B_202B_202C_206E_206B_200D_202A_202D_200E_202C_206A_206B_200C_202E_202C_206E_200B_200E_202B_202A_206A_202C_206E_202E() - { - return InventoryHelper.CountFreeInventorySlots(); - } - - static bool _200F_206F_202A_206A_206A_206A_202A_206B_206F_202E_206A_206F_202A_202D_202D_200C_206C_202C_206C_202A_202D_200B_202B_206A_206F_202D_206E_200B_206D_200C_206F_202B_200F_206B_200C_206C_206D_206C_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - - static string _202C_200E_206D_206B_202D_206B_206B_200E_202B_202C_202E_206D_206C_200F_200E_206A_200E_202C_206B_206D_200B_206C_206F_206F_202E_202E_206A_200C_200E_206D_200D_206C_206D_200E_200B_200F_206B_206E_200B_202B_202E(string P_0) - { - return P_0.Trim(); - } - - static int _206E_200F_206F_206F_200D_200C_200D_206E_206D_206D_206E_202B_200E_200B_206F_202C_206E_202E_206D_202A_202B_202E_200E_200E_206F_202C_206E_206B_200F_206E_206D_200E_200C_202C_206F_200E_206F_206A_200F_200C_202E(string P_0) - { - return P_0.Length; - } - - static bool _200C_200B_200C_200F_200B_200C_200D_202B_200D_206C_206D_202D_202C_200B_200C_202E_202E_202E_206D_200C_200B_202E_200D_202A_202E_202E_206F_202D_200D_200C_200C_202C_206D_202A_206C_206B_202C_206F_200D_200E_202E(string P_0, char P_1) - { - return P_0.StartsWith(P_1); - } - - static bool _206A_202A_200F_206D_200B_202D_200C_206A_206D_206D_206A_202D_206D_200C_202B_202D_202E_200F_202D_206D_200C_206E_200E_200C_200E_202D_206D_202A_206C_206C_200B_202B_200E_202C_202E_202E_202C_200F_202B_200C_202E(ICommandManager P_0, string P_1) - { - return P_0.ProcessCommand(P_1); - } - - static void _202A_206F_206A_206B_202D_202B_206A_200C_202D_202E_206E_206B_206F_200F_202D_202C_206B_200E_206B_200C_200F_200E_202E_202B_206C_206D_200F_206C_200C_202D_202E_200F_202C_200C_206A_200E_206B_200F_200E_206A_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogWarning(P_1, P_2, P_3); - } - - static void _200F_202D_200F_206E_206F_206E_202C_200F_200F_206E_206C_206F_206E_206F_200E_200F_200E_206D_200B_200C_202C_206A_202E_206F_206F_200F_202C_202B_206E_206C_206D_200F_202A_206F_206A_200F_206E_206D_202E_206F_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); - } - - static ushort _206E_202A_206F_206D_206A_202E_200D_202E_206B_206D_202D_200C_200B_206C_202C_206D_200D_206F_202C_202A_200C_202E_206F_200B_206E_206C_206F_202A_200D_206D_206C_202B_202A_202C_200B_202D_200D_206D_206A_200D_202E(QuestStep P_0) - { - return P_0.TerritoryId; - } - - static EInteractionType _202B_200C_200E_206F_206B_200C_206D_200B_202A_202A_200C_200F_206E_200B_202A_202C_202A_206F_202E_202E_206B_206C_200B_200B_206B_200F_206C_200C_206D_202B_202B_200D_202E_200C_206B_206C_206C_200C_200F_202D_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static void _200F_202D_206C_200B_202E_206B_202A_202B_206C_206E_202D_200E_200C_200E_206B_206A_206A_202D_206A_202E_200E_206E_202A_206C_202C_206C_202A_202E_200C_202E_200B_206C_206B_206C_200E_206D_200E_206E_200E_200F_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } - - static bool _200F_206B_206B_202C_200E_206D_202E_206D_206A_206C_200D_202C_200C_200E_200D_200D_206C_200E_202B_200C_202A_206F_202E_200C_200D_206A_200C_200F_206D_206E_206A_206F_206A_202C_206B_206A_200E_206F_200D_200D_202E(QuestRoot P_0) - { - return P_0.Interruptible; - } - - static QuestStep _200D_202C_200C_202B_202C_200C_200C_200F_202C_200B_200E_200D_206E_200B_200E_202B_200B_206D_206D_200F_206F_202D_206A_206B_200E_206E_200F_206D_200B_200E_202A_202D_200E_200D_206C_200D_202D_202B_206A_206D_202E(QuestSequence P_0, int P_1) - { - return P_0.FindStep(P_1); - } - - static Vector3? _202D_202A_206B_206A_200D_200F_200C_202C_200F_206A_200E_206D_202C_206B_206B_206D_202B_200C_202C_206A_200D_206B_202B_202B_200D_206C_200F_206A_206A_200B_200F_200B_200D_200C_200D_202C_206E_200F_206E_202E_202E(QuestStep P_0) - { - return P_0.Position; - } - - static Vector3? _202C_202D_202C_200F_200E_206E_200B_200D_202E_200E_206D_202B_206E_206D_206B_202D_202E_206E_206E_200B_200D_200F_202D_200F_206D_206E_206E_206D_206D_206F_200F_200E_202E_200F_202C_202C_206D_200B_202E_200E_202E(QuestStep P_0) - { - return P_0.Position; - } - - static void _206C_206B_206A_206C_206E_202D_206B_202C_202A_206C_202A_202E_202C_202C_206F_200D_202D_206B_206B_202E_202C_206F_202E_206A_200C_206A_202C_206D_200E_202E_206F_200F_200C_206D_206D_206D_202D_202A_206C_206E_202E(IDalamudPluginInterface P_0, IPluginConfiguration P_1) - { - P_0.SavePluginConfig(P_1); - } - - static void _206B_200E_206D_202B_200F_206D_202C_206C_206B_200F_200D_202B_202A_200B_202E_206D_200B_206E_202D_200D_206F_202C_206E_202C_206A_206C_206F_200D_202D_200C_206A_206D_202E_200D_206F_202C_200E_202C_206E_200E_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.Print(P_1, P_2, P_3); - } - - static void _200C_200D_200C_206E_206E_206E_206B_200D_206D_206B_202A_202D_206A_202E_206C_200B_206B_206C_206F_202C_206B_206D_200F_202C_202C_206D_202C_200C_206B_206C_202A_206A_202B_206E_200E_202D_202D_202B_202A_200F_202E(IToastGui P_0, IToastGui.OnErrorToastDelegate P_1) - { - P_0.ErrorToast -= P_1; - } - - static void _202C_202B_206C_200F_206A_206F_206D_206C_200B_202D_206C_200D_202C_202B_200F_202E_206E_200B_200D_206B_206E_200F_202C_200D_200E_200C_206C_200E_202D_206B_202A_200C_206D_202B_206F_202B_202B_206C_206D_206B_202E(IToastGui P_0, IToastGui.OnNormalToastDelegate P_1) - { - P_0.Toast -= P_1; - } - - static void _200F_206A_206B_200C_206F_202B_200E_202D_200F_202E_206A_206C_202C_200F_206E_200D_206A_206D_206D_202B_200C_202A_200D_206C_202B_200D_200B_200D_200C_206D_206F_202A_202A_206D_202D_206A_202A_206C_202E_200C_202E(ICondition P_0, ICondition.ConditionChangeDelegate P_1) - { - P_0.ConditionChange -= P_1; - } - - static void _202B_206D_202D_202D_202B_206F_202C_200B_200D_202B_206F_202E_206B_206C_200F_206C_206A_206E_200E_206A_202B_200E_200C_206B_202A_202D_200E_206E_202B_206E_206E_206C_202A_206C_206F_202E_202B_206B_206B_202E(IClientState P_0, IClientState.LogoutDelegate P_1) - { - P_0.Logout -= P_1; - } - - static bool _200E_202C_202A_202B_202C_202E_202A_200E_202A_200D_200E_202C_206F_206A_206C_200F_206D_206C_202D_206D_206C_202A_202E_202C_202A_202A_202C_206F_206F_206A_206A_206F_200F_200E_200E_200B_202C_200B_206C_202E_202E(QuestRoot P_0) - { - return P_0.Disabled; - } - - static void _202B_206D_202D_206B_202B_206C_200C_206F_202B_206E_206C_202E_202E_206C_200B_202D_206E_206F_206E_206E_200C_206B_202E_202E_206A_202D_206D_206B_200F_200B_200C_202A_206C_202D_206F_202B_206E_202E_202E_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogTrace(P_1, P_2); - } } diff --git a/Questionable/Questionable.Controller/QuestPriorityResolver.cs b/Questionable/Questionable.Controller/QuestPriorityResolver.cs index e6d0149..ab6d83f 100644 --- a/Questionable/Questionable.Controller/QuestPriorityResolver.cs +++ b/Questionable/Questionable.Controller/QuestPriorityResolver.cs @@ -1,17 +1,11 @@ -using System; using System.Collections.Generic; using System.Linq; -using System.Runtime.CompilerServices; using Dalamud.Game.ClientState.Conditions; -using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Application.Network.WorkDefinitions; using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Client.UI.Agent; using LLib.GameData; -using Lumina.Excel; -using Lumina.Excel.Sheets; using Microsoft.Extensions.Logging; using Questionable.Data; using Questionable.External; @@ -23,154 +17,6 @@ namespace Questionable.Controller; internal sealed class QuestPriorityResolver { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__26_1; - - public static Func _003C_003E9__27_0; - - public static Func _003C_003E9__27_2; - - public static Func _003C_003E9__29_1; - - public static Func _003C_003E9__29_3; - - public static Func _003C_003E9__29_4; - - public static Func _003C_003E9__29_7; - - public static Func _003C_003E9__29_6; - - public static Func<(ElementId Quest, byte Sequence), bool> _003C_003E9__31_5; - - public static Func _003C_003E9__32_0; - - public static Func _003C_003E9__32_1; - - internal ushort _003CTryResolveInProgressClassQuest_003Eb__26_1(QuestInfo x) - { - return x.Level; - } - - internal ElementId _003CTryResolveClassJobPriority_003Eb__27_0(QuestInfo x) - { - return x.QuestId; - } - - internal ElementId _003CTryResolveClassJobPriority_003Eb__27_2(PriorityQuestInfo x) - { - return x.QuestId; - } - - internal ushort _003CTryResolveNewClassQuest_003Eb__29_1(QuestInfo x) - { - return x.Level; - } - - internal ushort _003CTryResolveNewClassQuest_003Eb__29_3(QuestInfo x) - { - return x.Level; - } - - internal bool _003CTryResolveNewClassQuest_003Eb__29_4(PriorityQuestInfo x) - { - return x.IsAvailable; - } - - internal bool _003CTryResolveNewClassQuest_003Eb__29_7(EClassJob job) - { - int num = (_200C_200E_202A_206B_200D_206D_200F_206B_200D_202C_202D_202A_202D_206C_200F_206C_206D_200E_200E_202B_202C_206C_206E_202B_206B_200D_206D_206C_200C_200C_202C_206B_200F_206A_200E_200D_206C_206F_202A_206C_202E(job) ? 1077632249 : 1077632248); - while (true) - { - int num2 = num; - int num3 = 1077632249; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return false; - case 1: - return !_206C_200C_202D_200E_206E_202C_206F_202D_200F_200E_206C_200B_202B_202E_206C_202E_200F_200E_200D_202A_206B_200E_206D_200C_202A_200F_202E_202D_200D_202D_202B_200C_202E_202A_200E_206B_206D_200E_200C_206C_202E(job); - case 2: - goto IL_0052; - } - continue; - IL_0052: - num = 1077632248; - } - } - - internal ElementId _003CTryResolveNewClassQuest_003Eb__29_6(PriorityQuestInfo x) - { - return x.QuestId; - } - - internal bool _003CTryResolveTrackedQuest_003Eb__31_5((ElementId Quest, byte Sequence) x) - { - return x.Sequence < byte.MaxValue; - } - - internal bool _003CTryResolveAutoPriority_003Eb__32_0(PriorityQuestInfo x) - { - return x.IsAvailable; - } - - internal ElementId _003CTryResolveAutoPriority_003Eb__32_1(PriorityQuestInfo x) - { - return x.QuestId; - } - - static bool _200C_200E_202A_206B_200D_206D_200F_206B_200D_202C_202D_202A_202D_206C_200F_206C_206D_200E_200E_202B_202C_206C_206E_202B_206B_200D_206D_206C_200C_200C_202C_206B_200F_206A_200E_200D_206C_206F_202A_206C_202E(EClassJob P_0) - { - return P_0.IsCrafter(); - } - - static bool _206C_200C_202D_200E_206E_202C_206F_202D_200F_200E_206C_200B_202B_202E_206C_202E_200F_200E_200D_202A_206B_200E_206D_200C_202A_200F_202E_202D_200D_202D_202B_200C_202E_202A_200E_206B_206D_200E_200C_206C_202E(EClassJob P_0) - { - return P_0.IsGatherer(); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass31_2 - { - public (ElementId Quest, byte Sequence) x; - - internal bool _003CTryResolveTrackedQuest_003Eb__2((uint ContentFinderConditionId, ElementId QuestId, int Sequence) y) - { - int num = ((!_202B_200B_200D_206E_202C_206F_202A_202E_206D_200C_206C_206A_202C_206B_202D_200E_206F_206D_206F_202D_202E_202A_202D_206D_206F_206C_206F_202E_200B_202E_200B_206D_202D_200D_206E_206D_200C_206F_200F_202D_202E(x.Quest, y.QuestId)) ? (-1426961220) : (-1426961219)); - while (true) - { - int num2 = num; - int num3 = -1426961220; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return false; - case 1: - return x.Sequence == y.Sequence; - case 2: - goto IL_006e; - } - continue; - IL_006e: - num = -1426961219; - } - } - - static bool _202B_200B_200D_206E_202C_206F_202A_202E_206D_200C_206C_206A_202C_206B_202D_200E_206F_206D_206F_202D_202E_202A_202D_206D_206F_206C_206F_202E_200B_202E_200B_206D_202D_200D_206E_206D_200C_206F_200F_202D_202E(ElementId P_0, ElementId P_1) - { - return P_0 == P_1; - } - } - private readonly QuestFunctions _questFunctions; private readonly QuestRegistry _questRegistry; @@ -224,1621 +70,524 @@ internal sealed class QuestPriorityResolver public QuestReference GetCurrentQuest() { - QuestResolution questResolution = ResolveFromGameState(new List(), QuestController.EAutomationType.Automatic); - int num = ((!questResolution.HasQuest) ? (-1148417368) : (-1148417365)); - while (true) + QuestResolution questResolution = ResolveFromGameState(new List(), QuestController.EAutomationType.Automatic); + if (questResolution.HasQuest) { - int num2 = num; - int num3 = -1148417366; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return QuestReference.NoQuest(questResolution.MsqState); - case 1: - return new QuestReference(questResolution.QuestId, questResolution.Sequence, questResolution.MsqState); - case 0: - goto IL_007e; - } - continue; - IL_007e: - num = -1148417365; + return new QuestReference(questResolution.QuestId, questResolution.Sequence, questResolution.MsqState); } + return QuestReference.NoQuest(questResolution.MsqState); } - [MethodImpl(MethodImplOptions.NoInlining)] public QuestResolution Resolve(QuestSlots slots) { - int num = ((slots.Simulated == null) ? (-1753726603) : (-1753726602)); - while (true) + if (slots.Simulated != null) { - int num2 = num; - int num3 = -1753726608; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - num = ((slots.Gathering == null) ? (-1753726604) : (-1753726608)); - break; - case 6: - return QuestResolution.Slot(EQuestResolutionType.Simulated, slots.Simulated, 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(-305083691)); - case 2: - num = -1753726602; - break; - case 5: - num = ((slots.Next == null) ? (-1753726607) : (-1753726605)); - break; - case 0: - { - QuestController.QuestProgress? gathering = slots.Gathering; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(16, 1); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-643110900)); - defaultInterpolatedStringHandler2.AppendFormatted(slots.Gathering.Quest.Id); - return QuestResolution.Slot(EQuestResolutionType.GatheringQuest, gathering, defaultInterpolatedStringHandler2.ToStringAndClear()); - } - case 3: - { - QuestController.QuestProgress? next = slots.Next; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(11, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(1301444564)); - defaultInterpolatedStringHandler.AppendFormatted(slots.Next.Quest.Id); - return QuestResolution.Slot(EQuestResolutionType.NextQuest, next, defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 4: - return ResolveFromGameState(slots.ManualPriorityQuests, slots.AutomationType); - } + return QuestResolution.Slot(EQuestResolutionType.Simulated, slots.Simulated, "Simulated quest"); } + if (slots.Next != null) + { + return QuestResolution.Slot(EQuestResolutionType.NextQuest, slots.Next, $"Next quest {slots.Next.Quest.Id}"); + } + return ResolveFromGameState(slots.ManualPriorityQuests, slots.AutomationType); } - [MethodImpl(MethodImplOptions.NoInlining)] - private QuestResolution ResolveFromGameState(List manualPriorityQuests, QuestController.EAutomationType automationType) + private QuestResolution ResolveFromGameState(List manualPriorityQuests, QuestController.EAutomationType automationType) { bool allowNewMsq = automationType != QuestController.EAutomationType.SingleQuestB; QuestReference resolvedMsqQuest = GetResolvedMsqQuest(); - IPlayerCharacter playerCharacter = _206C_202B_206B_200C_206A_200C_202D_206E_200C_206C_202B_202E_206E_202E_200D_202A_202B_200D_206D_206B_202C_200F_202D_206C_206D_202C_200E_202D_206D_200D_200E_202C_200E_202D_202B_200E_206F_206E_206B_206D_202E(_objectTable); - int num = ((playerCharacter != null) ? _202D_206D_206C_206A_202B_202A_200C_206E_200C_200F_200F_202D_202A_206C_200B_202B_200D_200C_200D_206D_206A_200E_200B_202A_200B_206E_200C_202E_200C_202C_200E_206C_206C_206A_206B_200B_202C_202D_200B_206D_202E((ICharacter)playerCharacter) : 0); - IPlayerCharacter playerCharacter2 = _206C_202B_206B_200C_206A_200C_202D_206E_200C_206C_202B_202E_206E_202E_200D_202A_202B_200D_206D_206B_202C_200F_202D_206C_206D_202C_200E_202D_206D_200D_200E_202C_200E_202D_202B_200E_206F_206E_206B_206D_202E(_objectTable); - uint? num2 = ((playerCharacter2 != null) ? new uint?(_202D_206D_202A_200E_200D_202B_200C_202A_200B_202B_200C_202A_206A_200F_206C_200B_200F_202E_206F_202D_206F_206F_200D_206A_202C_202D_200D_206E_202E_202A_202A_200F_206D_206C_206B_202B_202C_206E_200F_206E_202E((ICharacter)playerCharacter2).RowId) : ((uint?)null)); - int num3 = (num2.HasValue ? 990805798 : 990805822); - QuestResolution? questResolution = default(QuestResolution?); - EClassJob valueOrDefault = default(EClassJob); - while (true) + int num = _objectTable.LocalPlayer?.Level ?? 0; + EClassJob valueOrDefault = ((EClassJob?)_objectTable.LocalPlayer?.ClassJob.RowId).GetValueOrDefault(); + QuestResolution? questResolution = TryResolveManualPriority(manualPriorityQuests, resolvedMsqQuest.State); + if (questResolution.HasValue) { - int num4 = num3; - int num5 = 990805812; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - EClassJob? obj; - EClassJob? eClassJob; - switch (num7 - (num8 + num8)) + QuestResolution valueOrDefault2 = questResolution.GetValueOrDefault(); + return ApplyQuestRedirects(valueOrDefault2); + } + questResolution = TryResolveInProgressClassQuest(valueOrDefault, resolvedMsqQuest.State); + if (questResolution.HasValue) + { + return questResolution.GetValueOrDefault(); + } + questResolution = TryResolveClassJobPriority(valueOrDefault, resolvedMsqQuest.State); + if (questResolution.HasValue) + { + return questResolution.GetValueOrDefault(); + } + if (resolvedMsqQuest.CurrentQuest != null && IsMsqLevelLocked(resolvedMsqQuest, num, automationType)) + { + if (_lastLoggedLevelLockedMsq != resolvedMsqQuest.CurrentQuest) { - case 8: - return questResolution.GetValueOrDefault(); - case 1: - num3 = ((!_202A_202A_202E_206E_206B_202D_206B_202A_200E_202E_200B_200F_206A_206B_200D_200C_206D_206A_202B_206E_202D_202E_202A_200F_200F_206E_202A_202E_200E_200D_202B_206B_200F_200E_206E_202E_200E_206B_206C_202E_202E(resolvedMsqQuest.CurrentQuest, (ElementId)null)) ? 990805810 : 990805800); - break; - case 22: - questResolution = TryResolveClassJobPriority(valueOrDefault, resolvedMsqQuest.State); - num3 = ((!questResolution.HasValue) ? 990805813 : 990805823); - break; - case 25: - num3 = (_202C_200F_202D_202A_206B_206D_202A_202A_200C_202D_200B_200C_200B_206C_206A_202D_206D_202D_202A_206E_206C_202A_200B_202A_202E_206C_200D_200D_206C_206A_206C_206B_200F_202D_202E_200D_206B_206C_202A_206A_202E(resolvedMsqQuest.CurrentQuest, (ElementId)null) ? 990805815 : 990805818); - break; - case 16: - questResolution = TryResolveLevelingMode(num, automationType, resolvedMsqQuest.State); - num3 = ((!questResolution.HasValue) ? 990805812 : 990805804); - break; - case 21: - questResolution = TryResolveTrackedQuest(resolvedMsqQuest.State); - num3 = ((!questResolution.HasValue) ? 990805817 : 990805816); - break; - case 13: - questResolution = TryResolveAutoPriority(resolvedMsqQuest.State); - num3 = ((!questResolution.HasValue) ? 990805819 : 990805792); - break; - case 10: - obj = null; - goto IL_030f; - case 4: - _202B_202C_200B_202B_200F_200B_202E_206B_206C_206B_200E_206B_206C_206E_200F_200B_206B_202C_206E_206F_206A_202A_202D_200C_206E_202B_200B_202E_206D_202A_206D_200C_206A_200B_200D_206A_206D_206F_206E_206C_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1771545689), new object[2] { resolvedMsqQuest.CurrentQuest, num }); + _logger.LogInformation("MSQ {MsqId} requires higher level, current level {CurrentLevel}. Checking for early class quests.", resolvedMsqQuest.CurrentQuest, num); _lastLoggedLevelLockedMsq = resolvedMsqQuest.CurrentQuest; _loggedNoClassQuestsAvailable = false; _loggedAdventurerClass = false; - num3 = 990805807; - break; - case 9: - questResolution = TryResolveInProgressClassQuest(valueOrDefault, resolvedMsqQuest.State); - num3 = ((!questResolution.HasValue) ? 990805794 : 990805820); - break; - case 19: - num3 = 990805822; - break; - case 26: - return questResolution.GetValueOrDefault(); - case 18: - obj = (EClassJob)num2.GetValueOrDefault(); - goto IL_030f; - case 7: - return questResolution.GetValueOrDefault(); - case 14: - num3 = ((_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(resolvedMsqQuest.CurrentQuest) != 0) ? 990805814 : 990805815); - break; - case 27: - questResolution = TryResolveNewClassQuest(valueOrDefault, num, resolvedMsqQuest.State); - num3 = ((!questResolution.HasValue) ? 990805796 : 990805811); - break; - case 20: - { - QuestResolution valueOrDefault4 = questResolution.GetValueOrDefault(); - return ApplyQuestRedirects(valueOrDefault4); } - case 2: - return QuestResolution.None(resolvedMsqQuest.State, 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(170717891)); - case 29: + return TryResolveNewClassQuest(valueOrDefault, num, resolvedMsqQuest.State) ?? TryResolveLevelingMode(num, automationType, resolvedMsqQuest.State) ?? QuestResolution.None(MainScenarioQuestState.Unavailable, "MSQ level-locked, no class quests or leveling available"); + } + _lastLoggedLevelLockedMsq = null; + _lastLoggedForcedClassQuest = null; + _lastLoggedRegistryClassQuest = null; + _lastLoggedPriorityClassQuest = null; + _loggedNoClassQuestsAvailable = false; + _loggedAdventurerClass = false; + questResolution = TryResolveMsqImmediate(resolvedMsqQuest, allowNewMsq); + if (questResolution.HasValue) + { + return questResolution.GetValueOrDefault(); + } + questResolution = TryResolveTrackedQuest(resolvedMsqQuest.State); + if (questResolution.HasValue) + { + QuestResolution valueOrDefault3 = questResolution.GetValueOrDefault(); + return ApplyQuestRedirects(valueOrDefault3); + } + questResolution = TryResolveAutoPriority(resolvedMsqQuest.State); + if (questResolution.HasValue) + { + QuestResolution valueOrDefault4 = questResolution.GetValueOrDefault(); + return ApplyQuestRedirects(valueOrDefault4); + } + questResolution = TryResolveMsqFallback(resolvedMsqQuest, allowNewMsq); + if (questResolution.HasValue) + { + return questResolution.GetValueOrDefault(); + } + if (resolvedMsqQuest.CurrentQuest == null || resolvedMsqQuest.CurrentQuest.Value == 0) + { + questResolution = TryResolveStartingCity(resolvedMsqQuest.State); + if (questResolution.HasValue) { - QuestResolution valueOrDefault3 = questResolution.GetValueOrDefault(); - return ApplyQuestRedirects(valueOrDefault3); - } - case 6: - _lastLoggedLevelLockedMsq = null; - _lastLoggedForcedClassQuest = null; - _lastLoggedRegistryClassQuest = null; - _lastLoggedPriorityClassQuest = null; - _loggedNoClassQuestsAvailable = false; - _loggedAdventurerClass = false; - questResolution = TryResolveMsqImmediate(resolvedMsqQuest, allowNewMsq); - num3 = ((!questResolution.HasValue) ? 990805793 : 990805809); - break; - case 12: - { - QuestResolution valueOrDefault2 = questResolution.GetValueOrDefault(); - return ApplyQuestRedirects(valueOrDefault2); - } - case 23: - num3 = ((!_202A_202A_202E_206E_206B_202D_206B_202A_200E_202E_200B_200F_206A_206B_200D_200C_206D_206A_202B_206E_202D_202E_202A_200F_200F_206E_202A_202E_200E_200D_202B_206B_200F_200E_206E_202E_200E_206B_206C_202E_202E(_lastLoggedLevelLockedMsq, resolvedMsqQuest.CurrentQuest)) ? 990805807 : 990805808); - break; - case 28: - num3 = ((!IsMsqLevelLocked(resolvedMsqQuest, num, automationType)) ? 990805810 : 990805795); - break; - case 5: return questResolution.GetValueOrDefault(); - case 17: - return questResolution.GetValueOrDefault(); - case 11: - return questResolution.GetValueOrDefault(); - case 15: - questResolution = TryResolveMsqFallback(resolvedMsqQuest, allowNewMsq); - num3 = ((!questResolution.HasValue) ? 990805805 : 990805797); - break; - case 3: - questResolution = TryResolveStartingCity(resolvedMsqQuest.State); - num3 = ((!questResolution.HasValue) ? 990805814 : 990805806); - break; - case 0: - return QuestResolution.None(MainScenarioQuestState.Unavailable, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1554700140)); - case 24: - { - return questResolution.GetValueOrDefault(); - } - IL_030f: - eClassJob = obj; - valueOrDefault = eClassJob.GetValueOrDefault(); - questResolution = TryResolveManualPriority(manualPriorityQuests, resolvedMsqQuest.State); - num3 = ((!questResolution.HasValue) ? 990805821 : 990805801); - break; } } + return QuestResolution.None(resolvedMsqQuest.State, "No quest available"); } - [MethodImpl(MethodImplOptions.NoInlining)] private QuestReference GetResolvedMsqQuest() { QuestReference questReference = _questFunctions.GetMainScenarioQuest().Item1; - int num = ((!_202A_202A_202E_206E_206B_202D_206B_202A_200E_202E_200B_200F_206A_206B_200D_200C_206D_206A_202B_206E_202D_202E_202A_200F_200F_206E_202A_202E_200E_200D_202B_206B_200F_200E_206E_202E_200E_206B_206C_202E_202E(questReference.CurrentQuest, (ElementId)null)) ? (-1219372527) : (-1219372523)); - QuestId questId = default(QuestId); - while (true) + if (questReference.CurrentQuest != null && !_questRegistry.IsKnownQuest(questReference.CurrentQuest)) { - int num2 = num; - int num3 = -1219372524; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (questReference.CurrentQuest is QuestId questId && _alreadyLoggedUnobtainableQuests.Add(questId.Value)) { - case 4: - num = -1219372523; - break; - case 2: - questReference = QuestReference.NoQuest(questReference.State); - num = -1219372527; - break; - case 1: - num = (_questRegistry.IsKnownQuest(questReference.CurrentQuest) ? (-1219372527) : (-1219372524)); - break; - case 6: - num = ((!_alreadyLoggedUnobtainableQuests.Add(_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E((ElementId)questId))) ? (-1219372522) : (-1219372521)); - break; - case 0: - questId = questReference.CurrentQuest as QuestId; - num = (((object)questId == null) ? (-1219372522) : (-1219372526)); - break; - case 5: - return ApplyMsqSpecialCases(questReference); - case 3: - _206E_206E_200E_206F_202B_200E_202D_206E_202B_206B_206D_202E_206F_202B_200B_200F_200B_206A_200E_206E_206B_206B_206D_200D_206E_206D_200C_200C_200C_200B_202B_206E_202C_200D_206C_202C_202C_206E_206C_206B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2137239165), new object[1] { questReference.CurrentQuest }); - num = -1219372522; - break; + _logger.LogWarning("MSQ {MsqQuestId} is not in the quest registry", questReference.CurrentQuest); } + questReference = QuestReference.NoQuest(questReference.State); } + return ApplyMsqSpecialCases(questReference); } private QuestReference ApplyMsqSpecialCases(QuestReference msqQuest) { - msqQuest.Deconstruct(out ElementId CurrentQuest, out byte Sequence, out MainScenarioQuestState State); - ElementId elementId = CurrentQuest; - byte sequence = Sequence; - MainScenarioQuestState state = State; - int num = (_202C_200F_202D_202A_206B_206D_202A_202A_200C_202D_200B_200C_200B_206C_206A_202D_206D_202D_202A_206E_206C_202A_200B_202A_202E_206C_200D_200D_206C_206A_206C_206B_200F_202D_202E_200D_206B_206C_202A_206A_202E(elementId, (ElementId)null) ? 2062708693 : 2062708697); - ushort num7 = default(ushort); - ushort num8 = default(ushort); - QuestId questId = default(QuestId); - QuestReference result = default(QuestReference); - while (true) + var (elementId2, sequence, state) = msqQuest; + if (elementId2 == null || elementId2.Value == 0) { - int num2 = num; - int num3 = 2062708702; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return msqQuest; + } + if (elementId2.Value == 681) + { + if (_questFunctions.IsQuestAccepted(elementId2) || _questFunctions.IsQuestComplete(elementId2)) { - case 25: - num = ((!_questFunctions.IsQuestComplete(elementId)) ? 2062708701 : 2062708700); - break; - case 16: - num7 = num8; - num = ((num7 == 0) ? 2062708685 : 2062708674); - break; - case 23: - return new QuestReference(_202E_206A_206F_206E_202D_206B_206F_202A_202A_202A_202D_202C_206B_202B_202C_206B_202A_202E_202C_200F_200D_202E_200F_200B_202D_200E_202A_202A_200F_202E_206E_202E_202C_200E_202E_202B_202E_202C_206B_200F_202E(num7), QuestManager.GetQuestSequence(num7), state); - case 27: - num8 = 701; - num = 2062708686; - break; - case 12: - num = ((_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(elementId) != 3856) ? 2062708685 : 2062708694); - break; - case 18: - questId = _202E_206A_206F_206E_202D_206B_206F_202A_202A_202A_202D_202C_206B_202B_202C_206B_202A_202E_202C_200F_200D_202E_200F_200B_202D_200E_202A_202A_200F_202E_206E_202E_202C_200E_202E_202B_202E_202C_206B_200F_202E((ushort)802); - num = ((!_questFunctions.IsQuestAccepted(questId)) ? 2062708692 : 2062708702); - break; - case 19: - num = ((_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(elementId) != 801) ? 2062708692 : 2062708684); - break; - case 4: - goto IL_01c8; - case 28: - num = (QuestManager.IsQuestComplete(num7) ? 2062708685 : 2062708681); - break; - case 6: - result = QuestReference.NoQuest(MainScenarioQuestState.Unavailable); - num = 2062708680; - break; - case 13: - num = (_questFunctions.IsQuestAccepted(elementId) ? 2062708700 : 2062708679); - break; - case 26: - num = 2062708689; - break; - case 20: - result = new QuestReference(_202E_206A_206F_206E_202D_206B_206F_202A_202A_202A_202D_202C_206B_202B_202C_206B_202A_202E_202C_200F_200D_202E_200F_200B_202D_200E_202A_202A_200F_202E_206E_202E_202C_200E_202E_202B_202E_202C_206B_200F_202E((ushort)680), 0, state); - num = 2062708680; - break; - case 14: - num = 2062708696; - break; - case 24: - goto IL_0273; - case 22: - return result; - case 21: - num = 2062708697; - break; - case 10: - return msqQuest; - case 3: - switch (_configuration.General.GrandCompany) + return new QuestReference(elementId2, sequence, state); + } + GrandCompany grandCompany = _configuration.General.GrandCompany; + if (grandCompany == GrandCompany.None) + { + grandCompany = PlayerStateHelper.GetStartTown() switch { - case FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany.TwinAdder: - break; - case FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany.ImmortalFlames: - goto IL_0273; - default: - goto IL_02ca; - case FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany.Maelstrom: - goto IL_0351; - } - goto case 20; - case 9: - goto IL_02d6; - case 1: - num = ((_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(elementId) != 681) ? 2062708690 : 2062708691); - break; - case 15: - num8 = 0; - num = 2062708686; - break; - case 2: - return new QuestReference(elementId, sequence, state); - case 17: - switch ((FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany)_200C_206C_202C_202E_206B_206B_200E_206C_200D_206D_206C_200E_206A_202B_206B_202B_202E_202D_206B_206E_200B_200F_206B_202E_202A_202A_206A_206D_202C_200D_200F_200F_202C_200D_206C_200B_202D_206C_206E_202E()) - { - case FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany.Maelstrom: - break; - case FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany.ImmortalFlames: - goto IL_01c8; - case FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany.TwinAdder: - goto IL_02d6; - default: - goto IL_0345; - } - goto case 27; - case 5: - goto IL_0351; - case 7: - num = ((_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(elementId) != 0) ? 2062708703 : 2062708693); - break; - case 8: - num = (_200E_202A_200B_206E_206D_200B_206F_202D_206D_202A_206F_206A_200D_206E_206A_202D_202D_206E_202A_202C_200F_202A_202E_202A_200B_200C_200D_202C_206E_200E_206A_200C_206C_206D_206D_206B_200D_206A_200C_200C_202E(1u) ? 2062708685 : 2062708687); - break; - case 11: - return msqQuest; - case 0: - { - return new QuestReference(questId, QuestManager.GetQuestSequence(_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E((ElementId)questId)), state); - } - IL_01c8: - num8 = 702; - num = 2062708686; - break; - IL_0345: - num = 2062708676; - break; - IL_02d6: - num8 = 700; - num = 2062708686; - break; - IL_0351: - result = new QuestReference(_202E_206A_206F_206E_202D_206B_206F_202A_202A_202A_202D_202C_206B_202B_202C_206B_202A_202E_202C_200F_200D_202E_200F_200B_202D_200E_202A_202A_200F_202E_206E_202E_202C_200E_202E_202B_202E_202C_206B_200F_202E((ushort)681), 0, state); - num = 2062708680; - break; - IL_02ca: - num = 2062708688; - break; - IL_0273: - result = new QuestReference(_202E_206A_206F_206E_202D_206B_206F_202A_202A_202A_202D_202C_206B_202B_202C_206B_202A_202E_202C_200F_200D_202E_200F_200B_202D_200E_202A_202A_200F_202E_206E_202E_202C_200E_202E_202B_202E_202C_206B_200F_202E((ushort)682), 0, state); - num = 2062708680; - break; + 1 => GrandCompany.Maelstrom, + 2 => GrandCompany.TwinAdder, + 3 => GrandCompany.ImmortalFlames, + _ => GrandCompany.None, + }; + } + return grandCompany switch + { + GrandCompany.TwinAdder => new QuestReference(new QuestId(680), 0, state), + GrandCompany.Maelstrom => new QuestReference(new QuestId(681), 0, state), + GrandCompany.ImmortalFlames => new QuestReference(new QuestId(682), 0, state), + _ => QuestReference.NoQuest(MainScenarioQuestState.Unavailable), + }; + } + if (elementId2.Value == 3856 && !PlayerStateHelper.IsMountUnlocked(1u)) + { + ushort num = (GrandCompany)GrandCompanyHelper.GetGrandCompanyId() switch + { + GrandCompany.TwinAdder => 700, + GrandCompany.Maelstrom => 701, + GrandCompany.ImmortalFlames => 702, + _ => 0, + }; + if (num != 0 && !QuestManager.IsQuestComplete(num)) + { + return new QuestReference(new QuestId(num), QuestManager.GetQuestSequence(num), state); } } + if (elementId2.Value == 801) + { + QuestId questId = new QuestId(802); + if (_questFunctions.IsQuestAccepted(questId)) + { + return new QuestReference(questId, QuestManager.GetQuestSequence(questId.Value), state); + } + } + return msqQuest; } - [MethodImpl(MethodImplOptions.NoInlining)] private QuestResolution ApplyQuestRedirects(QuestResolution resolution) { ElementId questId = resolution.QuestId; - int num = (((object)questId == null) ? (-1525048564) : (-1525048561)); - QuestId questId2 = default(QuestId); - while (true) + if ((object)questId != null && questId.Value == 801) { - int num2 = num; - int num3 = -1525048564; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + QuestId questId2 = new QuestId(802); + if (_questFunctions.IsQuestAccepted(questId2)) { - case 2: - questId2 = _202E_206A_206F_206E_202D_206B_206F_202A_202A_202A_202D_202C_206B_202B_202C_206B_202A_202E_202C_200F_200D_202E_200F_200B_202D_200E_202A_202A_200F_202E_206E_202E_202C_200E_202E_202B_202E_202C_206B_200F_202E((ushort)802); - num = ((!_questFunctions.IsQuestAccepted(questId2)) ? (-1525048564) : (-1525048563)); - break; - case 3: - num = ((_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(questId) != 801) ? (-1525048564) : (-1525048562)); - break; - case 4: - num = -1525048561; - break; - case 1: return resolution with { QuestId = questId2, - Sequence = QuestManager.GetQuestSequence(_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E((ElementId)questId2)), - DebugReason = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1290516416) + Sequence = QuestManager.GetQuestSequence(questId2.Value), + DebugReason = "Redirected 801 -> 802 (Broadening Horizons prerequisite)" }; - case 0: - return resolution; } } + return resolution; } - [MethodImpl(MethodImplOptions.NoInlining)] - private QuestResolution? TryResolveManualPriority(List manualPriorityQuests, MainScenarioQuestState msqState) + private QuestResolution? TryResolveManualPriority(List manualPriorityQuests, MainScenarioQuestState msqState) { - int num = ((manualPriorityQuests.Count != 0) ? 1342469805 : 1342469803); - (ElementId, byte) tuple = default((ElementId, byte)); - while (true) + if (manualPriorityQuests.Count == 0) { - int num2 = num; - int num3 = 1342469807; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - { - ElementId item = tuple.Item1; - byte item2 = tuple.Item2; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(22, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(822211932)); - defaultInterpolatedStringHandler.AppendFormatted(tuple.Item1); - return QuestResolution.ForQuest(EQuestResolutionType.ManualPriority, item, item2, msqState, defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 2: - tuple = (from x in manualPriorityQuests.Where(delegate(Questionable.Model.Quest x) - { - int num7 = ((!_questFunctions.IsQuestAccepted(x.Id)) ? (-104589985) : (-104589987)); - QuestId questId = default(QuestId); - while (true) - { - int num8 = num7; - int num9 = -104589989; - int num10 = num8; - switch ((num10 | num9) - (num10 & num9)) - { - case 0: - num7 = ((!_questFunctions.WouldOvercapAlliedSocietyReputation(questId)) ? (-104589986) : (-104589990)); - break; - case 5: - return true; - case 3: - num7 = -104589987; - break; - case 2: - questId = x.Id as QuestId; - num7 = (((object)questId == null) ? (-104589986) : (-104589989)); - break; - case 4: - return _questFunctions.IsReadyToAcceptQuest(x.Id); - case 1: - return false; - case 6: - num7 = ((!_configuration.Advanced.AutoPrioritizeAlliedSocietyRankUp) ? (-104589986) : (-104589991)); - break; - } - } - }) - select (QuestId: x.Id, Sequence: _questFunctions.GetQuestProgressInfo(x.Id)?.Sequence ?? 0)).FirstOrDefault(); - num = (((object)tuple.Item1 == null) ? 1342469806 : 1342469804); - break; - case 1: - return null; - case 0: - num = 1342469803; - break; - case 4: - return null; - } + return null; } + (ElementId, byte) tuple = (from x in manualPriorityQuests + where _questFunctions.IsQuestAccepted(x.Id) ? ((!_configuration.Advanced.AutoPrioritizeAlliedSocietyRankUp || !(x.Id is QuestId questId) || !_questFunctions.WouldOvercapAlliedSocietyReputation(questId)) ? true : false) : _questFunctions.IsReadyToAcceptQuest(x.Id) + select (QuestId: x.Id, Sequence: _questFunctions.GetQuestProgressInfo(x.Id)?.Sequence ?? 0)).FirstOrDefault(); + if ((object)tuple.Item1 != null) + { + return QuestResolution.ForQuest(EQuestResolutionType.ManualPriority, tuple.Item1, tuple.Item2, msqState, $"Manual priority quest {tuple.Item1}"); + } + return null; } - [MethodImpl(MethodImplOptions.NoInlining)] private QuestResolution? TryResolveInProgressClassQuest(EClassJob currentClassJob, MainScenarioQuestState msqState) { - int num = ((currentClassJob != EClassJob.Adventurer) ? 689468561 : 689468563); - QuestInfo questInfo = default(QuestInfo); - while (true) + if (currentClassJob == EClassJob.Adventurer) { - int num2 = num; - int num3 = 689468562; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = 689468563; - break; - case 2: - return null; - case 1: - return null; - case 3: - questInfo = (from x in _questData.GetClassJobQuests(currentClassJob).Where(delegate(QuestInfo x) - { - int num5 = ((x.Level <= 5) ? (-1239817522) : (-1239817521)); - while (true) - { - int num6 = num5; - int num7 = -1239817522; - int num8 = num6; - int num9 = num8 + num7; - int num10 = num8 & num7; - switch (num9 - (num10 + num10)) - { - case 3: - num5 = -1239817521; - break; - case 2: - return false; - case 4: - return !_questFunctions.IsQuestComplete(x.QuestId); - case 1: - num5 = (_configuration.Advanced.SkipClassJobQuests ? (-1239817524) : (-1239817522)); - break; - case 0: - num5 = ((!_questFunctions.IsQuestAccepted(x.QuestId)) ? (-1239817524) : (-1239817526)); - break; - } - } - }) - orderby x.Level - select x).FirstOrDefault(); - num = ((questInfo != null) ? 689468562 : 689468560); - break; - case 0: - { - _206F_202B_206B_200E_206F_202D_206D_202D_202B_202C_200D_202C_206D_202D_206D_206C_202C_202E_200F_200C_200B_200E_206E_206B_200F_200B_206A_200D_200E_206B_206A_202B_206B_206F_202B_202E_200E_200F_202A_202C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(993689286), new object[1] { questInfo.QuestId }); - ElementId questId = questInfo.QuestId; - byte questSequence = QuestManager.GetQuestSequence(_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(questInfo.QuestId)); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(24, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1432274121)); - defaultInterpolatedStringHandler.AppendFormatted(questInfo.QuestId); - return QuestResolution.ForQuest(EQuestResolutionType.InProgressClassQuest, questId, questSequence, msqState, defaultInterpolatedStringHandler.ToStringAndClear()); - } - } + return null; } + QuestInfo questInfo = (from x in _questData.GetClassJobQuests(currentClassJob) + where (x.Level <= 5 || !_configuration.Advanced.SkipClassJobQuests) && _questFunctions.IsQuestAccepted(x.QuestId) && !_questFunctions.IsQuestComplete(x.QuestId) + orderby x.Level + select x).FirstOrDefault(); + if (questInfo == null) + { + return null; + } + _logger.LogTrace("Found in-progress class quest {QuestId}, continuing it", questInfo.QuestId); + return QuestResolution.ForQuest(EQuestResolutionType.InProgressClassQuest, questInfo.QuestId, QuestManager.GetQuestSequence(questInfo.QuestId.Value), msqState, $"In-progress class quest {questInfo.QuestId}"); } - [MethodImpl(MethodImplOptions.NoInlining)] private QuestResolution? TryResolveClassJobPriority(EClassJob currentClassJob, MainScenarioQuestState msqState) { - int num = (_configuration.Advanced.SkipClassJobQuests ? (-864803797) : (-864803795)); - HashSet classJobQuestIds; - ElementId elementId = default(ElementId); - while (true) + if (_configuration.Advanced.SkipClassJobQuests || currentClassJob == EClassJob.Adventurer) { - int num2 = num; - int num3 = -864803799; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return null; - case 4: - num = ((currentClassJob != EClassJob.Adventurer) ? (-864803799) : (-864803797)); - break; - case 0: - classJobQuestIds = (from x in _questRegistry.GetKnownClassJobQuests(currentClassJob, includeRoleQuests: false) - select x.QuestId).ToHashSet(); - elementId = (from x in _questFunctions.GetNextPriorityQuestsThatCanBeAccepted().Where(delegate(PriorityQuestInfo x) - { - int num5 = ((!x.IsAvailable) ? 161957132 : 161957135); - while (true) - { - int num6 = num5; - int num7 = 161957133; - int num8 = num6; - int num9 = num8 + num7; - int num10 = num8 & num7; - switch (num9 - (num10 + num10)) - { - case 0: - goto IL_0048; - case 1: - return false; - case 2: - return classJobQuestIds.Contains(x.QuestId); - } - continue; - IL_0048: - num5 = 161957135; - } - }) - select x.QuestId).FirstOrDefault(); - num = ((!_202C_200F_202D_202A_206B_206D_202A_202A_200C_202D_200B_200C_200B_206C_206A_202D_206D_202D_202A_206E_206C_202A_200B_202A_202E_206C_200D_200D_206C_206A_206C_206B_200F_202D_202E_200D_206B_206C_202A_206A_202E(elementId, (ElementId)null)) ? (-864803796) : (-864803800)); - break; - case 3: - num = -864803795; - break; - case 5: - { - ElementId questId = elementId; - byte questSequence = QuestManager.GetQuestSequence(_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(elementId)); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(25, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-305237119)); - defaultInterpolatedStringHandler.AppendFormatted(elementId); - return QuestResolution.ForQuest(EQuestResolutionType.NewClassQuest, questId, questSequence, msqState, defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 2: - return null; - } + return null; } + HashSet classJobQuestIds = (from x in _questRegistry.GetKnownClassJobQuests(currentClassJob, includeRoleQuests: false) + select x.QuestId).ToHashSet(); + ElementId elementId = (from x in _questFunctions.GetNextPriorityQuestsThatCanBeAccepted() + where x.IsAvailable && classJobQuestIds.Contains(x.QuestId) + select x.QuestId).FirstOrDefault(); + if (elementId == null) + { + return null; + } + return QuestResolution.ForQuest(EQuestResolutionType.NewClassQuest, elementId, QuestManager.GetQuestSequence(elementId.Value), msqState, $"Class/job priority quest {elementId}"); } private bool IsMsqLevelLocked(QuestReference msqQuest, int currentLevel, QuestController.EAutomationType automationType) { - int num = ((!_202C_200F_202D_202A_206B_206D_202A_202A_200C_202D_200B_200C_200B_206C_206A_202D_206D_202D_202A_206E_206C_202A_200B_202A_202E_206C_200D_200D_206C_206A_206C_206B_200F_202D_202E_200D_206B_206C_202A_206A_202E(msqQuest.CurrentQuest, (ElementId)null)) ? (-1809239787) : (-1809239792)); - Questionable.Model.Quest quest = default(Questionable.Model.Quest); - while (true) + if (msqQuest.CurrentQuest == null) { - int num2 = num; - int num3 = -1809239791; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1809239792; - break; - case 6: - return false; - case 4: - num = (_questRegistry.TryGetQuest(msqQuest.CurrentQuest, out quest) ? (-1809239783) : (-1809239785)); - break; - case 7: - return false; - case 5: - num = ((_configuration.General.MsqPriority != Configuration.EMsqPriorityMode.Manual) ? (-1809239789) : (-1809239790)); - break; - case 1: - return false; - case 8: - num = ((!_questFunctions.IsQuestAccepted(msqQuest.CurrentQuest)) ? (-1809239788) : (-1809239786)); - break; - case 3: - return false; - case 2: - return quest.Info.Level > currentLevel; - } + return false; } + if (!_questRegistry.TryGetQuest(msqQuest.CurrentQuest, out Quest quest)) + { + return false; + } + if (_questFunctions.IsQuestAccepted(msqQuest.CurrentQuest)) + { + return false; + } + if (_configuration.General.MsqPriority == Configuration.EMsqPriorityMode.Manual) + { + return false; + } + return quest.Info.Level > currentLevel; } - [MethodImpl(MethodImplOptions.NoInlining)] private QuestResolution? TryResolveNewClassQuest(EClassJob currentClassJob, int currentLevel, MainScenarioQuestState msqState) { - int num = ((currentClassJob != EClassJob.Adventurer) ? 212422902 : 212422895); - QuestInfo questInfo2 = default(QuestInfo); - List lockedQuests; - QuestInfo questInfo = default(QuestInfo); - ElementId elementId = default(ElementId); - while (true) + if (currentClassJob == EClassJob.Adventurer) { - int num2 = num; - int num3 = 212422887; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (!_loggedAdventurerClass) { - case 4: - num = ((!_202A_202A_202E_206E_206B_202D_206B_202A_200E_202E_200B_200F_206A_206B_200D_200C_206D_206A_202B_206E_202D_202E_202A_200F_200F_206E_202A_202E_200E_200D_202B_206B_200F_200E_206E_202E_200E_206B_206C_202E_202E(_lastLoggedRegistryClassQuest, questInfo2.QuestId)) ? 212422890 : 212422886); - break; - case 17: - lockedQuests = QuestData.GetLockedClassQuests(); - questInfo = (from x in _questData.GetClassJobQuests(currentClassJob).Where(delegate(QuestInfo x) - { - int num7 = ((x.Level > currentLevel) ? (-789750315) : (-789750317)); - while (true) - { - int num8 = num7; - int num9 = -789750319; - int num10 = num8; - int num11 = num10 + num9; - int num12 = num10 & num9; - switch (num11 - (num12 + num12)) - { - case 0: - num7 = -789750317; - break; - case 2: - num7 = ((x.Level > 5) ? (-789750315) : (-789750320)); - break; - case 4: - return false; - case 1: - num7 = (_questFunctions.IsQuestComplete(x.QuestId) ? (-789750315) : (-789750318)); - break; - case 3: - return !lockedQuests.Contains(x.QuestId); - } - } - }) - orderby x.Level - select x).FirstOrDefault(); - num = ((questInfo == null) ? 212422889 : 212422894); - break; - case 7: - _206E_206E_200E_206F_202B_200E_202D_206E_202B_206B_206D_202E_206F_202B_200B_200F_200B_206A_200E_206E_206B_206B_206D_200D_206E_206D_200C_200C_200C_200B_202B_206E_202C_200D_206C_202C_202C_206E_206C_206B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1017698295), Array.Empty()); + _logger.LogWarning("Current class is Adventurer, cannot find class quests"); _loggedAdventurerClass = true; - num = 212422901; - break; - case 8: - num = (_loggedAdventurerClass ? 212422901 : 212422880); - break; - case 18: - return null; - case 12: - num = ((!_202A_202A_202E_206E_206B_202D_206B_202A_200E_202E_200B_200F_206A_206B_200D_200C_206D_206A_202B_206E_202D_202E_202A_200F_200F_206E_202A_202E_200E_200D_202B_206B_200F_200E_206E_202E_200E_206B_206C_202E_202E(_lastLoggedPriorityClassQuest, elementId)) ? 212422900 : 212422882); - break; - case 3: - _202B_202C_200B_202B_200F_200B_202E_206B_206C_206B_200E_206B_206C_206E_200F_200B_206B_202C_206E_206F_206A_202A_202D_200C_206E_202B_200B_202E_206D_202A_206D_200C_206A_200B_200D_206A_206D_206F_206E_206C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(915198093), new object[3] { questInfo.QuestId, currentClassJob, questInfo.Level }); - _lastLoggedForcedClassQuest = questInfo.QuestId; - num = 212422885; - break; - case 13: - { - ElementId questId2 = questInfo2.QuestId; - byte questSequence2 = QuestManager.GetQuestSequence(_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(questInfo2.QuestId)); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(27, 1); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1318858462)); - defaultInterpolatedStringHandler2.AppendFormatted(questInfo2.QuestId); - return QuestResolution.ForQuest(EQuestResolutionType.NewClassQuest, questId2, questSequence2, msqState, defaultInterpolatedStringHandler2.ToStringAndClear()); - } - case 10: - num = (_loggedNoClassQuestsAvailable ? 212422887 : 212422881); - break; - case 14: - questInfo2 = (from x in _questRegistry.GetKnownClassJobQuests(currentClassJob, includeRoleQuests: false).Where(delegate(QuestInfo x) - { - int num7 = ((x.Level > currentLevel) ? 2044877120 : 2044877123); - while (true) - { - int num8 = num7; - int num9 = 2044877122; - int num10 = num8; - int num11 = num10 + num9; - int num12 = num10 & num9; - switch (num11 - (num12 + num12)) - { - case 2: - return false; - case 1: - num7 = ((x.Level > 5) ? 2044877120 : 2044877121); - break; - case 3: - num7 = (_questFunctions.IsQuestAcceptedOrComplete(x.QuestId) ? 2044877120 : 2044877126); - break; - case 4: - return _questFunctions.IsReadyToAcceptQuest(x.QuestId); - case 0: - num7 = 2044877123; - break; - } - } - }) - orderby x.Level - select x).FirstOrDefault(); - num = ((questInfo2 == null) ? 212422903 : 212422883); - break; - case 15: - num = 212422895; - break; - case 19: - { - ElementId questId3 = elementId; - byte questSequence3 = QuestManager.GetQuestSequence(_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(elementId)); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(27, 1); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1634688570)); - defaultInterpolatedStringHandler3.AppendFormatted(elementId); - return QuestResolution.ForQuest(EQuestResolutionType.NewClassQuest, questId3, questSequence3, msqState, defaultInterpolatedStringHandler3.ToStringAndClear()); - } - case 11: - num = ((!_202A_202A_202E_206E_206B_202D_206B_202A_200E_202E_200B_200F_206A_206B_200D_200C_206D_206A_202B_206E_202D_202E_202A_200F_200F_206E_202A_202E_200E_200D_202B_206B_200F_200E_206E_202E_200E_206B_206C_202E_202E(_lastLoggedForcedClassQuest, questInfo.QuestId)) ? 212422885 : 212422884); - break; - case 5: - _202B_202C_200B_202B_200F_200B_202E_206B_206C_206B_200E_206B_206C_206E_200F_200B_206B_202C_206E_206F_206A_202A_202D_200C_206E_202B_200B_202E_206D_202A_206D_200C_206A_200B_200D_206A_206D_206F_206E_206C_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2031319638), new object[1] { elementId }); - _lastLoggedPriorityClassQuest = elementId; - num = 212422900; - break; - case 16: - elementId = (from x in (from x in _questFunctions.GetNextPriorityQuestsThatCanBeAccepted() - where x.IsAvailable - select x).Where(delegate(PriorityQuestInfo x) - { - Questionable.Model.Quest quest; - int num7 = ((!_questRegistry.TryGetQuest(x.QuestId, out quest)) ? 323776079 : 323776077); - QuestInfo questInfo3 = default(QuestInfo); - while (true) - { - int num8 = num7; - int num9 = 323776079; - int num10 = num8; - int num11 = num10 + num9; - int num12 = num10 & num9; - switch (num11 - (num12 + num12)) - { - case 5: - num7 = 323776077; - break; - case 4: - return questInfo3.ClassJobs.Any(delegate(EClassJob job) - { - int num13 = (_003C_003Ec._200C_200E_202A_206B_200D_206D_200F_206B_200D_202C_202D_202A_202D_206C_200F_206C_206D_200E_200E_202B_202C_206C_206E_202B_206B_200D_206D_206C_200C_200C_202C_206B_200F_206A_200E_200D_206C_206F_202A_206C_202E(job) ? 1077632249 : 1077632248); - while (true) - { - int num14 = num13; - int num15 = 1077632249; - int num16 = num14; - switch ((num16 | num15) - (num16 & num15)) - { - case 0: - return false; - case 1: - return !_003C_003Ec._206C_200C_202D_200E_206E_202C_206F_202D_200F_200E_206C_200B_202B_202E_206C_202E_200F_200E_200D_202A_206B_200E_206D_200C_202A_200F_202E_202D_200D_202D_202B_200C_202E_202A_200E_206B_206D_200E_200C_206C_202E(job); - case 2: - goto IL_0052; - } - continue; - IL_0052: - num13 = 1077632248; - } - }); - case 2: - num7 = ((quest.Info.Level > currentLevel) ? 323776079 : 323776076); - break; - case 3: - questInfo3 = quest.Info as QuestInfo; - num7 = ((questInfo3 == null) ? 323776079 : 323776078); - break; - case 0: - return false; - case 1: - num7 = ((questInfo3.ClassJobs.Count <= 0) ? 323776079 : 323776075); - break; - } - } - }) - select x.QuestId).FirstOrDefault(); - num = ((!_202A_202A_202E_206E_206B_202D_206B_202A_200E_202E_200B_200F_206A_206B_200D_200C_206D_206A_202B_206E_202D_202E_202A_200F_200F_206E_202A_202E_200E_200D_202B_206B_200F_200E_206E_202E_200E_206B_206C_202E_202E(elementId, (ElementId)null)) ? 212422893 : 212422891); - break; - case 0: - return null; - case 9: - num = (_questFunctions.IsQuestComplete(questInfo.QuestId) ? 212422889 : 212422892); - break; - case 6: - _206E_206E_200E_206F_202B_200E_202D_206E_202B_206B_206D_202E_206F_202B_200B_200F_200B_206A_200E_206E_206B_206B_206D_200D_206E_206D_200C_200C_200C_200B_202B_206E_202C_200D_206C_202C_202C_206E_206C_206B_202E((ILogger)_logger, 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(2087960790), new object[2] { currentClassJob, currentLevel }); - _loggedNoClassQuestsAvailable = true; - num = 212422887; - break; - case 1: - _202B_202C_200B_202B_200F_200B_202E_206B_206C_206B_200E_206B_206C_206E_200F_200B_206B_202C_206E_206F_206A_202A_202D_200C_206E_202B_200B_202E_206D_202A_206D_200C_206A_200B_200D_206A_206D_206F_206E_206C_202E((ILogger)_logger, 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(-2057200465), new object[3] { questInfo2.QuestId, currentClassJob, questInfo2.Level }); - _lastLoggedRegistryClassQuest = questInfo2.QuestId; - num = 212422890; - break; - case 2: - { - ElementId questId = questInfo.QuestId; - byte questSequence = QuestManager.GetQuestSequence(_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(questInfo.QuestId)); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(23, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-827615250)); - defaultInterpolatedStringHandler.AppendFormatted(questInfo.QuestId); - return QuestResolution.ForQuest(EQuestResolutionType.NewClassQuest, questId, questSequence, msqState, defaultInterpolatedStringHandler.ToStringAndClear()); - } } + return null; } + List lockedQuests = QuestData.GetLockedClassQuests(); + QuestInfo questInfo = (from x in _questData.GetClassJobQuests(currentClassJob) + where x.Level <= currentLevel && x.Level <= 5 && !_questFunctions.IsQuestComplete(x.QuestId) && !lockedQuests.Contains(x.QuestId) + orderby x.Level + select x).FirstOrDefault(); + if (questInfo != null && !_questFunctions.IsQuestComplete(questInfo.QuestId)) + { + if (_lastLoggedForcedClassQuest != questInfo.QuestId) + { + _logger.LogInformation("MSQ level locked. Forcing class quest {ClassQuestId} for {ClassJob} (level {QuestLevel})", questInfo.QuestId, currentClassJob, questInfo.Level); + _lastLoggedForcedClassQuest = questInfo.QuestId; + } + return QuestResolution.ForQuest(EQuestResolutionType.NewClassQuest, questInfo.QuestId, QuestManager.GetQuestSequence(questInfo.QuestId.Value), msqState, $"New class quest (data) {questInfo.QuestId}"); + } + QuestInfo questInfo2 = (from x in _questRegistry.GetKnownClassJobQuests(currentClassJob, includeRoleQuests: false) + where x.Level <= currentLevel && x.Level <= 5 && !_questFunctions.IsQuestAcceptedOrComplete(x.QuestId) && _questFunctions.IsReadyToAcceptQuest(x.QuestId) + orderby x.Level + select x).FirstOrDefault(); + if (questInfo2 != null) + { + if (_lastLoggedRegistryClassQuest != questInfo2.QuestId) + { + _logger.LogInformation("MSQ level locked. Prioritizing class quest {ClassQuestId} for {ClassJob} (level {QuestLevel}) from registry", questInfo2.QuestId, currentClassJob, questInfo2.Level); + _lastLoggedRegistryClassQuest = questInfo2.QuestId; + } + return QuestResolution.ForQuest(EQuestResolutionType.NewClassQuest, questInfo2.QuestId, QuestManager.GetQuestSequence(questInfo2.QuestId.Value), msqState, $"New class quest (registry) {questInfo2.QuestId}"); + } + Quest quest; + ElementId elementId = (from x in _questFunctions.GetNextPriorityQuestsThatCanBeAccepted() + where x.IsAvailable + where _questRegistry.TryGetQuest(x.QuestId, out quest) && quest.Info.Level <= currentLevel && quest.Info is QuestInfo questInfo3 && questInfo3.ClassJobs.Count > 0 && questInfo3.ClassJobs.Any((EClassJob job) => !job.IsCrafter() && !job.IsGatherer()) + select x.QuestId).FirstOrDefault(); + if (elementId != null) + { + if (_lastLoggedPriorityClassQuest != elementId) + { + _logger.LogInformation("MSQ level locked. Prioritizing class quest {ClassQuestId} from priority list", elementId); + _lastLoggedPriorityClassQuest = elementId; + } + return QuestResolution.ForQuest(EQuestResolutionType.NewClassQuest, elementId, QuestManager.GetQuestSequence(elementId.Value), msqState, $"New class quest (priority) {elementId}"); + } + if (!_loggedNoClassQuestsAvailable) + { + _logger.LogWarning("MSQ level locked but no available early class quests found for {ClassJob} at level {CurrentLevel}", currentClassJob, currentLevel); + _loggedNoClassQuestsAvailable = true; + } + return null; } - [MethodImpl(MethodImplOptions.NoInlining)] private QuestResolution? TryResolveMsqImmediate(QuestReference msqQuest, bool allowNewMsq) { - int num = (_202C_200F_202D_202A_206B_206D_202A_202A_200C_202D_200B_200C_200B_206C_206A_202D_206D_202D_202A_206E_206C_202A_200B_202A_202E_206C_200D_200D_206C_206A_206C_206B_200F_202D_202E_200D_206B_206C_202A_206A_202E(msqQuest.CurrentQuest, (ElementId)null) ? (-402712632) : (-402712625)); - while (true) + if (msqQuest.CurrentQuest == null || msqQuest.CurrentQuest.Value == 0) { - int num2 = num; - int num3 = -402712629; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 8: - num = -402712625; - break; - case 4: - num = ((_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(msqQuest.CurrentQuest) != 0) ? (-402712638) : (-402712632)); - break; - case 0: - num = (allowNewMsq ? (-402712631) : (-402712626)); - break; - case 1: - return null; - case 7: - num = ((_configuration.General.MsqPriority == Configuration.EMsqPriorityMode.Always) ? (-402712629) : (-402712630)); - break; - case 6: - return null; - case 9: - num = ((!_questFunctions.IsQuestAccepted(msqQuest.CurrentQuest)) ? (-402712628) : (-402712627)); - break; - case 5: - return null; - case 3: - return null; - case 2: - { - ElementId? currentQuest = msqQuest.CurrentQuest; - byte sequence = msqQuest.Sequence; - MainScenarioQuestState state = msqQuest.State; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(28, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-161770655)); - defaultInterpolatedStringHandler.AppendFormatted(msqQuest.CurrentQuest); - return QuestResolution.ForQuest(EQuestResolutionType.MsqImmediate, currentQuest, sequence, state, defaultInterpolatedStringHandler.ToStringAndClear()); - } - } + return null; } + if (_questFunctions.IsQuestAccepted(msqQuest.CurrentQuest)) + { + return null; + } + if (_configuration.General.MsqPriority != Configuration.EMsqPriorityMode.Always) + { + return null; + } + if (!allowNewMsq) + { + return null; + } + return QuestResolution.ForQuest(EQuestResolutionType.MsqImmediate, msqQuest.CurrentQuest, msqQuest.Sequence, msqQuest.State, $"MSQ immediate (Always mode) {msqQuest.CurrentQuest}"); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe QuestResolution? TryResolveTrackedQuest(MainScenarioQuestState msqState) { QuestManager* ptr = QuestManager.Instance(); - int num = ((ptr != null) ? (-982372804) : (-982372807)); - ElementId elementId = default(ElementId); - TrackingWork trackingWork = default(TrackingWork); - byte item4 = default(byte); - List<(ElementId, byte)> list = default(List<(ElementId, byte)>); - ElementId item3 = default(ElementId); - EAlliedSociety firstTrackedAlliedSociety = default(EAlliedSociety); - int num16 = default(int); - List<(ElementId, byte)> list3 = default(List<(ElementId, byte)>); - byte questType = default(byte); - ElementId item = default(ElementId); - byte item2 = default(byte); - QuestId questId2 = default(QuestId); - ElementId item5 = default(ElementId); - byte item6 = default(byte); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -982372812; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return null; + } + List<(ElementId, byte)> list = new List<(ElementId, byte)>(); + for (int num = ptr->TrackedQuests.Length - 1; num >= 0; num--) + { + TrackingWork trackingWork = ptr->TrackedQuests[num]; + switch (trackingWork.QuestType) { - default: - continue; - case 6: - elementId = _202E_206A_206F_206E_202D_206B_206F_202A_202A_202A_202D_202C_206B_202B_202C_206B_202A_202E_202C_200F_200D_202E_200F_200B_202D_200E_202A_202A_200F_202E_206E_202E_202C_200E_202E_202B_202E_202C_206B_200F_202E(ptr->NormalQuests[trackingWork.Index].QuestId); - num = ((!_questRegistry.IsKnownQuest(elementId)) ? (-982372808) : (-982372809)); - continue; - case 18: - num = ((!_configuration.Advanced.AutoPrioritizeAlliedSocietyRankUp) ? (-982372831) : (-982372812)); - continue; - case 19: - { - if (item4 == byte.MaxValue) - { - num = -982372815; - continue; - } - if (_questFunctions.IsOnAlliedSocietyMount()) - { - break; - } - list.Insert(0, (item3, item4)); - _alliedSocietyData.GetCommonAlliedSocietyNpcs(firstTrackedAlliedSociety, out uint[] normalNpcs, out uint[] _); - if (normalNpcs.Length != 0) - { - (ElementId, byte)? tuple2 = (from x in list - where x.Sequence < byte.MaxValue - where _questFunctions.IsInteractSequence(x.Quest, x.Sequence, normalNpcs) - select x).Cast<(ElementId, byte)?>().FirstOrDefault(); - if (tuple2.HasValue) - { - ElementId item9 = tuple2.Value.Item1; - byte item10 = tuple2.Value.Item2; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler5 = new DefaultInterpolatedStringHandler(31, 1); - defaultInterpolatedStringHandler5.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2091308904)); - defaultInterpolatedStringHandler5.AppendFormatted(tuple2.Value.Item1); - return QuestResolution.ForQuest(EQuestResolutionType.TrackedQuest, item9, item10, msqState, defaultInterpolatedStringHandler5.ToStringAndClear()); - } - } - break; - } - case 22: - num = ((num16 >= 0) ? (-982372816) : (-982372827)); - continue; - case 11: - num = ((list3.Count <= 0) ? (-982372826) : (-982372811)); - continue; - case 3: - num = (_questFunctions.IsQuestBlacklisted(elementId) ? (-982372808) : (-982372806)); - continue; - case 21: - num = ((list3.Count != 0) ? (-982372802) : (-982372828)); - continue; - case 7: - num = -982372807; - continue; - case 17: - num = ((!_configuration.General.SkipLowPriorityDuties) ? (-982372826) : (-982372801)); - continue; - case 8: - list3 = new List<(ElementId, byte)>(); - num16 = ptr->TrackedQuests.Length - 1; - num = -982372830; - continue; case 1: { - IReadOnlyList<(uint ContentFinderConditionId, ElementId QuestId, int Sequence)> lowPriorityQuests = _questRegistry.LowPriorityContentFinderConditionQuests; - list3.RemoveAll(((ElementId Quest, byte Sequence) x) => lowPriorityQuests.Any<(uint, ElementId, int)>(delegate((uint ContentFinderConditionId, ElementId QuestId, int Sequence) y) + ElementId elementId = new QuestId(ptr->NormalQuests[trackingWork.Index].QuestId); + if (_questRegistry.IsKnownQuest(elementId) && !_questFunctions.IsQuestBlacklisted(elementId)) { - int num18 = ((!_003C_003Ec__DisplayClass31_2._202B_200B_200D_206E_202C_206F_202A_202E_206D_200C_206C_206A_202C_206B_202D_200E_206F_206D_206F_202D_202E_202A_202D_206D_206F_206C_206F_202E_200B_202E_200B_206D_202D_200D_206E_206D_200C_206F_200F_202D_202E(x.Quest, y.QuestId)) ? (-1426961220) : (-1426961219)); - while (true) - { - int num19 = num18; - int num20 = -1426961220; - int num21 = num19; - int num22 = num21 + num20; - int num23 = num21 & num20; - switch (num22 - (num23 + num23)) - { - case 0: - return false; - case 1: - return x.Sequence == y.Sequence; - case 2: - goto IL_006e; - } - continue; - IL_006e: - num18 = -1426961219; - } - })); - num = -982372826; - continue; - } - case 13: - return null; - case 15: - list3.RemoveAll(delegate((ElementId Quest, byte Sequence) x) - { - QuestId questId5 = x.Quest as QuestId; - int num18 = (((object)questId5 == null) ? 1720897796 : 1720897799); - while (true) - { - int num19 = num18; - int num20 = 1720897797; - int num21 = num19; - int num22 = num21 + num20; - int num23 = num21 & num20; - switch (num22 - (num23 + num23)) - { - case 1: - return false; - case 2: - return _questFunctions.WouldOvercapAlliedSocietyReputation(questId5); - case 0: - goto IL_0063; - } - continue; - IL_0063: - num18 = 1720897799; - } - }); - num = -982372831; - continue; - case 14: - list3.Add((elementId, QuestManager.GetQuestSequence(_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(elementId)))); - num = -982372808; - continue; - case 16: - return null; - case 20: - list = (from quest in list3.Skip(1) - where _alliedSocietyData.GetCommonAlliedSocietyTurnIn(quest.Quest) == firstTrackedAlliedSociety - select quest).ToList(); - if (list.Count > 0) - { - num = -982372825; - continue; - } - break; - case 2: - num = ((questType == 2) ? (-982372808) : (-982372803)); - continue; - case 10: - { - (ElementId, byte) tuple = list3.First(); - item3 = tuple.Item1; - item4 = tuple.Item2; - firstTrackedAlliedSociety = _alliedSocietyData.GetCommonAlliedSocietyTurnIn(item3); - if (firstTrackedAlliedSociety != EAlliedSociety.None) - { - num = -982372832; - continue; + list.Add((elementId, QuestManager.GetQuestSequence(elementId.Value))); } break; } - case 4: - trackingWork = ptr->TrackedQuests[num16]; - questType = trackingWork.QuestType; - num = ((questType == 1) ? (-982372814) : (-982372810)); - continue; - case 0: - num = ((list3.Count <= 0) ? (-982372831) : (-982372805)); - continue; - case 9: - num = -982372808; - continue; - case 12: - { - int num17 = num16; - num3 = 1; - num4 = num17; - num16 = ~(~num4 + num3); - num = -982372830; - continue; } - case 5: - { - using (List<(ElementId, byte)>.Enumerator enumerator = list.GetEnumerator()) - { - num = -1720179368; - while (true) - { - int num7 = num; - num3 = -1720179364; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 2: - num = -1720179368; - break; - case 0: - { - ElementId questId = item; - byte sequence = item2; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(53, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1020310285)); - defaultInterpolatedStringHandler.AppendFormatted(item); - return QuestResolution.ForQuest(EQuestResolutionType.TrackedQuest, questId, sequence, msqState, defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 1: - { - (ElementId, byte) current = enumerator.Current; - item = current.Item1; - item2 = current.Item2; - num = ((item2 == byte.MaxValue) ? (-1720179368) : (-1720179364)); - break; - } - case 4: - num = (enumerator.MoveNext() ? (-1720179363) : (-1720179361)); - break; - case 3: - goto end_IL_03fb; - } - continue; - end_IL_03fb: - break; - } - } - if (!_configuration.Advanced.AutoPrioritizeAlliedSocietyRankUp) - { - break; - } - List<(ElementId, byte)> list2 = new List<(ElementId, byte)> { (item3, item4) }; - list2.AddRange(list); - list2.Sort(delegate((ElementId Quest, byte Sequence) a, (ElementId Quest, byte Sequence) b) - { - QuestId questId5 = a.Quest as QuestId; - int num18 = (((object)questId5 != null) ? (-1702301531) : (-1702301536)); - QuestId questId6 = default(QuestId); - ushort num26 = default(ushort); - while (true) - { - int num19 = num18; - int num20 = -1702301535; - int num21 = num19; - int num22 = num21 + num20; - int num23 = num21 & num20; - int num25; - int num24; - ushort value; - switch (num22 - (num23 + num23)) - { - default: - continue; - case 2: - num18 = -1702301536; - continue; - case 3: - num25 = _alliedSocietyQuestFunctions.GetQuestReputationReward(questId6); - goto IL_007d; - case 0: - num25 = 0; - goto IL_007d; - case 4: - num24 = _alliedSocietyQuestFunctions.GetQuestReputationReward(questId5); - break; - case 1: - { - num24 = 0; - break; - } - IL_007d: - value = (ushort)num25; - return num26.CompareTo(value); - } - num26 = (ushort)num24; - questId6 = b.Quest as QuestId; - num18 = (((object)questId6 != null) ? (-1702301534) : (-1702301535)); - } - }); - using (List<(ElementId, byte)>.Enumerator enumerator = list2.GetEnumerator()) - { - num = 401947856; - while (true) - { - int num10 = num; - num3 = 401947857; - num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - case 3: - num = (_alliedSocietyQuestFunctions.WouldOvercapReputation(questId2) ? 401947856 : 401947857); - break; - case 0: - { - ElementId questId3 = item5; - byte sequence2 = item6; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(40, 1); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-716893854)); - defaultInterpolatedStringHandler2.AppendFormatted(item5); - return QuestResolution.ForQuest(EQuestResolutionType.TrackedQuest, questId3, sequence2, msqState, defaultInterpolatedStringHandler2.ToStringAndClear()); - } - case 2: - num = 401947856; - break; - case 1: - num = (enumerator.MoveNext() ? 401947861 : 401947860); - break; - case 4: - { - (ElementId, byte) current2 = enumerator.Current; - item5 = current2.Item1; - item6 = current2.Item2; - questId2 = item5 as QuestId; - num = (((object)questId2 == null) ? 401947856 : 401947858); - break; - } - case 5: - goto end_IL_0557; - } - continue; - end_IL_0557: - break; - } - } - QuestId rankUpQuestIfAtCapacity = _questFunctions.GetRankUpQuestIfAtCapacity(firstTrackedAlliedSociety); - num = ((!_202A_202A_202E_206E_206B_202D_206B_202A_200E_202E_200B_200F_206A_206B_200D_200C_206D_206A_202B_206E_202D_202E_202A_200F_200F_206E_202A_202E_200E_200D_202B_206B_200F_200E_206E_202E_200E_206B_206C_202E_202E((ElementId)rankUpQuestIfAtCapacity, (ElementId)null)) ? (-140380390) : (-140380389)); - while (true) - { - int num13 = num; - num3 = -140380385; - num4 = num13; - int num14 = num4 + num3; - int num15 = num4 & num3; - switch (num14 - (num15 + num15)) - { - case 3: - num = ((!_questFunctions.IsReadyToAcceptQuest(rankUpQuestIfAtCapacity)) ? (-140380390) : (-140380386)); - break; - case 5: - { - ElementId item7 = list2[0].Item1; - byte item8 = list2[0].Item2; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler4 = new DefaultInterpolatedStringHandler(43, 1); - defaultInterpolatedStringHandler4.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1624970154)); - defaultInterpolatedStringHandler4.AppendFormatted(list2[0].Item1); - return QuestResolution.ForQuest(EQuestResolutionType.TrackedQuest, item7, item8, msqState, defaultInterpolatedStringHandler4.ToStringAndClear()); - } - case 4: - num = (_questFunctions.IsQuestComplete(rankUpQuestIfAtCapacity) ? (-140380390) : (-140380385)); - break; - case 2: - num = -140380389; - break; - case 1: - { - int sequence3 = (_questFunctions.IsQuestAccepted(rankUpQuestIfAtCapacity) ? QuestManager.GetQuestSequence(_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E((ElementId)rankUpQuestIfAtCapacity)) : 0); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(29, 1); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-184593145)); - defaultInterpolatedStringHandler3.AppendFormatted(rankUpQuestIfAtCapacity); - return QuestResolution.ForQuest(EQuestResolutionType.TrackedQuest, rankUpQuestIfAtCapacity, (byte)sequence3, msqState, defaultInterpolatedStringHandler3.ToStringAndClear()); - } - case 0: - num = (_questFunctions.IsQuestAccepted(rankUpQuestIfAtCapacity) ? (-140380386) : (-140380388)); - break; - } - } - } - } - break; } - ElementId questId4 = item3; - byte sequence4 = item4; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler6 = new DefaultInterpolatedStringHandler(14, 1); - defaultInterpolatedStringHandler6.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1055042837)); - defaultInterpolatedStringHandler6.AppendFormatted(item3); - return QuestResolution.ForQuest(EQuestResolutionType.TrackedQuest, questId4, sequence4, msqState, defaultInterpolatedStringHandler6.ToStringAndClear()); + if (_configuration.General.SkipLowPriorityDuties && list.Count > 0) + { + IReadOnlyList<(uint ContentFinderConditionId, ElementId QuestId, int Sequence)> lowPriorityQuests = _questRegistry.LowPriorityContentFinderConditionQuests; + list.RemoveAll(((ElementId Quest, byte Sequence) x) => lowPriorityQuests.Any<(uint, ElementId, int)>(((uint ContentFinderConditionId, ElementId QuestId, int Sequence) y) => x.Quest == y.QuestId && x.Sequence == y.Sequence)); + } + if (_configuration.Advanced.AutoPrioritizeAlliedSocietyRankUp && list.Count > 0) + { + list.RemoveAll(((ElementId Quest, byte Sequence) x) => x.Quest is QuestId questId2 && _questFunctions.WouldOvercapAlliedSocietyReputation(questId2)); + } + if (list.Count == 0) + { + return null; + } + (ElementId, byte) tuple = list.First(); + ElementId item = tuple.Item1; + byte item2 = tuple.Item2; + EAlliedSociety firstTrackedAlliedSociety = _alliedSocietyData.GetCommonAlliedSocietyTurnIn(item); + if (firstTrackedAlliedSociety != EAlliedSociety.None) + { + List<(ElementId, byte)> list2 = (from quest in list.Skip(1) + where _alliedSocietyData.GetCommonAlliedSocietyTurnIn(quest.Quest) == firstTrackedAlliedSociety + select quest).ToList(); + if (list2.Count > 0) + { + if (item2 == byte.MaxValue) + { + foreach (var (elementId2, b) in list2) + { + if (b != byte.MaxValue) + { + return QuestResolution.ForQuest(EQuestResolutionType.TrackedQuest, elementId2, b, msqState, $"Allied society quest needs completing before turn-in {elementId2}"); + } + } + if (_configuration.Advanced.AutoPrioritizeAlliedSocietyRankUp) + { + List<(ElementId, byte)> list3 = new List<(ElementId, byte)> { (item, item2) }; + list3.AddRange(list2); + list3.Sort(delegate((ElementId Quest, byte Sequence) a, (ElementId Quest, byte Sequence) tuple5) + { + ushort num2 = (ushort)((a.Quest is QuestId questId2) ? _alliedSocietyQuestFunctions.GetQuestReputationReward(questId2) : 0); + ushort value = (ushort)((tuple5.Quest is QuestId questId3) ? _alliedSocietyQuestFunctions.GetQuestReputationReward(questId3) : 0); + return num2.CompareTo(value); + }); + foreach (var (elementId3, sequence) in list3) + { + if (elementId3 is QuestId questId && !_alliedSocietyQuestFunctions.WouldOvercapReputation(questId)) + { + return QuestResolution.ForQuest(EQuestResolutionType.TrackedQuest, elementId3, sequence, msqState, $"Allied society turn-in (cheapest first) {elementId3}"); + } + } + QuestId rankUpQuestIfAtCapacity = _questFunctions.GetRankUpQuestIfAtCapacity(firstTrackedAlliedSociety); + if (rankUpQuestIfAtCapacity != null && !_questFunctions.IsQuestComplete(rankUpQuestIfAtCapacity) && (_questFunctions.IsQuestAccepted(rankUpQuestIfAtCapacity) || _questFunctions.IsReadyToAcceptQuest(rankUpQuestIfAtCapacity))) + { + return QuestResolution.ForQuest(EQuestResolutionType.TrackedQuest, rankUpQuestIfAtCapacity, (byte)(_questFunctions.IsQuestAccepted(rankUpQuestIfAtCapacity) ? QuestManager.GetQuestSequence(rankUpQuestIfAtCapacity.Value) : 0), msqState, $"Allied society rank-up quest {rankUpQuestIfAtCapacity}"); + } + return QuestResolution.ForQuest(EQuestResolutionType.TrackedQuest, list3[0].Item1, list3[0].Item2, msqState, $"Allied society turn-in (all would overcap) {list3[0].Item1}"); + } + } + else if (!_questFunctions.IsOnAlliedSocietyMount()) + { + list2.Insert(0, (item, item2)); + _alliedSocietyData.GetCommonAlliedSocietyNpcs(firstTrackedAlliedSociety, out uint[] normalNpcs, out uint[] _); + if (normalNpcs.Length != 0) + { + (ElementId, byte)? tuple4 = (from x in list2 + where x.Sequence < byte.MaxValue + where _questFunctions.IsInteractSequence(x.Quest, x.Sequence, normalNpcs) + select x).Cast<(ElementId, byte)?>().FirstOrDefault(); + if (tuple4.HasValue) + { + return QuestResolution.ForQuest(EQuestResolutionType.TrackedQuest, tuple4.Value.Item1, tuple4.Value.Item2, msqState, $"Allied society NPC interaction {tuple4.Value.Item1}"); + } + } + } + } + } + return QuestResolution.ForQuest(EQuestResolutionType.TrackedQuest, item, item2, msqState, $"Tracked quest {item}"); } - [MethodImpl(MethodImplOptions.NoInlining)] private QuestResolution? TryResolveAutoPriority(MainScenarioQuestState msqState) { ElementId elementId = (from x in _questFunctions.GetNextPriorityQuestsThatCanBeAccepted() where x.IsAvailable select x.QuestId).FirstOrDefault(); - int num = ((!_202C_200F_202D_202A_206B_206D_202A_202A_200C_202D_200B_200C_200B_206C_206A_202D_206D_202D_202A_206E_206C_202A_200B_202A_202E_206C_200D_200D_206C_206A_206C_206B_200F_202D_202E_200D_206B_206C_202A_206A_202E(elementId, (ElementId)null)) ? 1077185998 : 1077185999); - while (true) + if (elementId == null) { - int num2 = num; - int num3 = 1077185998; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_00ae; - case 0: - { - byte questSequence = QuestManager.GetQuestSequence(_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(elementId)); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(20, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-830193133)); - defaultInterpolatedStringHandler.AppendFormatted(elementId); - return QuestResolution.ForQuest(EQuestResolutionType.AutoPriority, elementId, questSequence, msqState, defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 1: - return null; - } - continue; - IL_00ae: - num = 1077185999; + return null; } + return QuestResolution.ForQuest(EQuestResolutionType.AutoPriority, elementId, QuestManager.GetQuestSequence(elementId.Value), msqState, $"Auto priority quest {elementId}"); } - [MethodImpl(MethodImplOptions.NoInlining)] private QuestResolution? TryResolveMsqFallback(QuestReference msqQuest, bool allowNewMsq) { - int num = (_202C_200F_202D_202A_206B_206D_202A_202A_200C_202D_200B_200C_200B_206C_206A_202D_206D_202D_202A_206E_206C_202A_200B_202A_202E_206C_200D_200D_206C_206A_206C_206B_200F_202D_202E_200D_206B_206C_202A_206A_202E(msqQuest.CurrentQuest, (ElementId)null) ? (-509746362) : (-509746366)); - while (true) + if (msqQuest.CurrentQuest == null || msqQuest.CurrentQuest.Value == 0) { - int num2 = num; - int num3 = -509746364; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return null; - case 6: - num = ((_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(msqQuest.CurrentQuest) != 0) ? (-509746355) : (-509746362)); - break; - case 9: - num = ((!_questFunctions.IsQuestAccepted(msqQuest.CurrentQuest)) ? (-509746361) : (-509746365)); - break; - case 4: - return null; - case 7: - return null; - case 0: - { - ElementId? currentQuest = msqQuest.CurrentQuest; - byte sequence = msqQuest.Sequence; - MainScenarioQuestState state = msqQuest.State; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(13, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-535126555)); - defaultInterpolatedStringHandler.AppendFormatted(msqQuest.CurrentQuest); - return QuestResolution.ForQuest(EQuestResolutionType.MsqFallback, currentQuest, sequence, state, defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 3: - num = ((_configuration.General.MsqPriority != Configuration.EMsqPriorityMode.Manual) ? (-509746367) : (-509746363)); - break; - case 8: - num = -509746366; - break; - case 1: - return null; - case 5: - num = (allowNewMsq ? (-509746364) : (-509746368)); - break; - } + return null; } + if (_questFunctions.IsQuestAccepted(msqQuest.CurrentQuest)) + { + return null; + } + if (_configuration.General.MsqPriority == Configuration.EMsqPriorityMode.Manual) + { + return null; + } + if (!allowNewMsq) + { + return null; + } + return QuestResolution.ForQuest(EQuestResolutionType.MsqFallback, msqQuest.CurrentQuest, msqQuest.Sequence, msqQuest.State, $"MSQ fallback {msqQuest.CurrentQuest}"); } - [MethodImpl(MethodImplOptions.NoInlining)] private QuestResolution? TryResolveStartingCity(MainScenarioQuestState msqState) { - int num = ((_206D_200D_206F_200F_200F_206F_206D_200B_206E_200D_206A_202A_202B_200F_202D_202A_202D_200C_206F_206E_202B_202A_202D_206F_206F_202D_200D_200C_206C_202B_202E_200C_206F_200E_206A_206E_200F_200C_206C_206B_202E(_clientState) != 181) ? (-244287801) : (-244287802)); - while (true) + if (_clientState.TerritoryType == 181) { - int num2 = num; - int num3 = -244287801; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = ((_206D_200D_206F_200F_200F_206F_206D_200B_206E_200D_206A_202A_202B_200F_202D_202A_202D_200C_206F_206E_202B_202A_202D_206F_206F_202D_200D_200C_206C_202B_202E_200C_206F_200E_206A_206E_200F_200C_206C_206B_202E(_clientState) != 182) ? (-244287803) : (-244287804)); - break; - case 2: - num = ((_206D_200D_206F_200F_200F_206F_206D_200B_206E_200D_206A_202A_202B_200F_202D_202A_202D_200C_206F_206E_202B_202A_202D_206F_206F_202D_200D_200C_206C_202B_202E_200C_206F_200E_206A_206E_200F_200C_206C_206B_202E(_clientState) != 183) ? (-244287805) : (-244287807)); - break; - case 5: - num = -244287802; - break; - case 6: - return QuestResolution.ForQuest(EQuestResolutionType.MsqImmediate, _202E_206A_206F_206E_202D_206B_206F_202A_202A_202A_202D_202C_206B_202B_202C_206B_202A_202E_202C_200F_200D_202E_200F_200B_202D_200E_202A_202A_200F_202E_206E_202E_202C_200E_202E_202B_202E_202C_206B_200F_202E((ushort)39), 0, MainScenarioQuestState.Available, 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(-1912103919)); - case 3: - return QuestResolution.ForQuest(EQuestResolutionType.MsqImmediate, _202E_206A_206F_206E_202D_206B_206F_202A_202A_202A_202D_202C_206B_202B_202C_206B_202A_202E_202C_200F_200D_202E_200F_200B_202D_200E_202A_202A_200F_202E_206E_202E_202C_200E_202E_202B_202E_202C_206B_200F_202E((ushort)594), 0, MainScenarioQuestState.Available, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1218664531)); - case 4: - return null; - case 1: - return QuestResolution.ForQuest(EQuestResolutionType.MsqImmediate, _202E_206A_206F_206E_202D_206B_206F_202A_202A_202A_202D_202C_206B_202B_202C_206B_202A_202E_202C_200F_200D_202E_200F_200B_202D_200E_202A_202A_200F_202E_206E_202E_202C_200E_202E_202B_202E_202C_206B_200F_202E((ushort)107), 0, MainScenarioQuestState.Available, 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(1071401700)); - } + return QuestResolution.ForQuest(EQuestResolutionType.MsqImmediate, new QuestId(107), 0, MainScenarioQuestState.Available, "Starting city: Limsa Lominsa"); } + if (_clientState.TerritoryType == 182) + { + return QuestResolution.ForQuest(EQuestResolutionType.MsqImmediate, new QuestId(594), 0, MainScenarioQuestState.Available, "Starting city: Ul'dah"); + } + if (_clientState.TerritoryType == 183) + { + return QuestResolution.ForQuest(EQuestResolutionType.MsqImmediate, new QuestId(39), 0, MainScenarioQuestState.Available, "Starting city: Gridania"); + } + return null; } private QuestResolution? TryResolveLevelingMode(int currentPlayerLevel, QuestController.EAutomationType automationType, MainScenarioQuestState msqState) { - int num = (ShouldStartLevelingMode(currentPlayerLevel, automationType) ? (-430632054) : (-430632056)); - int item = default(int); - string item2 = default(string); - while (true) + if (!ShouldStartLevelingMode(currentPlayerLevel, automationType)) { - int num2 = num; - int num3 = -430632055; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -430632056; - break; - case 3: - { - (bool isLevelLocked, int levelsNeeded, int requiredLevel, string? questName) msqLevelLockInfo = _questFunctions.GetMsqLevelLockInfo(); - bool item3 = msqLevelLockInfo.isLevelLocked; - item = msqLevelLockInfo.requiredLevel; - item2 = msqLevelLockInfo.questName; - num = (item3 ? (-430632051) : (-430632053)); - break; - } - case 4: - return QuestResolution.Leveling(item, item2, msqState); - case 1: - return null; - case 2: - return null; - } + return null; } + var (flag, _, targetLevel, questName) = _questFunctions.GetMsqLevelLockInfo(); + if (!flag) + { + return null; + } + return QuestResolution.Leveling(targetLevel, questName, msqState); } public bool ShouldStartLevelingMode(int currentPlayerLevel, QuestController.EAutomationType automationType) { - int num = ((automationType == QuestController.EAutomationType.Automatic) ? (-451706510) : (-451706507)); - while (true) + if (automationType != QuestController.EAutomationType.Automatic) { - int num2 = num; - int num3 = -451706509; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return true; - case 7: - return false; - case 0: - num = -451706507; - break; - case 2: - return false; - case 6: - return false; - case 1: - num = (_206B_206A_200F_200D_202A_206F_200F_200F_202C_206E_206E_200F_200E_200F_202A_200D_200C_202C_206A_202A_202A_200E_206C_202D_200F_206B_206A_200E_202E_202E_200C_206A_202D_200C_200B_206E_206A_202D_206D_206A_202E(_condition, ConditionFlag.BoundByDuty) ? (-451706508) : (-451706506)); - break; - case 4: - num = (_autoDutyIpc.IsConfiguredToRunLevelingMode(currentPlayerLevel) ? (-451706512) : (-451706511)); - break; - case 5: - num = ((!_206B_206A_200F_200D_202A_206F_200F_200F_202C_206E_206E_200F_200E_200F_202A_200D_200C_202C_206A_202A_202A_200E_206C_202D_200F_206B_206A_200E_202E_202E_200C_206A_202D_200C_200B_206E_206A_202D_206D_206A_202E(_condition, ConditionFlag.InDutyQueue)) ? (-451706505) : (-451706508)); - break; - } + return false; } - } - - static IPlayerCharacter _206C_202B_206B_200C_206A_200C_202D_206E_200C_206C_202B_202E_206E_202E_200D_202A_202B_200D_206D_206B_202C_200F_202D_206C_206D_202C_200E_202D_206D_200D_200E_202C_200E_202D_202B_200E_206F_206E_206B_206D_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static byte _202D_206D_206C_206A_202B_202A_200C_206E_200C_200F_200F_202D_202A_206C_200B_202B_200D_200C_200D_206D_206A_200E_200B_202A_200B_206E_200C_202E_200C_202C_200E_206C_206C_206A_206B_200B_202C_202D_200B_206D_202E(ICharacter P_0) - { - return P_0.Level; - } - - static RowRef _202D_206D_202A_200E_200D_202B_200C_202A_200B_202B_200C_202A_206A_200F_206C_200B_200F_202E_206F_202D_206F_206F_200D_206A_202C_202D_200D_206E_202E_202A_202A_200F_206D_206C_206B_202B_202C_206E_200F_206E_202E(ICharacter P_0) - { - return P_0.ClassJob; - } - - static bool _202A_202A_202E_206E_206B_202D_206B_202A_200E_202E_200B_200F_206A_206B_200D_200C_206D_206A_202B_206E_202D_202E_202A_200F_200F_206E_202A_202E_200E_200D_202B_206B_200F_200E_206E_202E_200E_206B_206C_202E_202E(ElementId P_0, ElementId P_1) - { - return P_0 != P_1; - } - - static void _202B_202C_200B_202B_200F_200B_202E_206B_206C_206B_200E_206B_206C_206E_200F_200B_206B_202C_206E_206F_206A_202A_202D_200C_206E_202B_200B_202E_206D_202A_206D_200C_206A_200B_200D_206A_206D_206F_206E_206C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static bool _202C_200F_202D_202A_206B_206D_202A_202A_200C_202D_200B_200C_200B_206C_206A_202D_206D_202D_202A_206E_206C_202A_200B_202A_202E_206C_200D_200D_206C_206A_206C_206B_200F_202D_202E_200D_206B_206C_202A_206A_202E(ElementId P_0, ElementId P_1) - { - return P_0 == P_1; - } - - static ushort _202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(ElementId P_0) - { - return P_0.Value; - } - - static void _206E_206E_200E_206F_202B_200E_202D_206E_202B_206B_206D_202E_206F_202B_200B_200F_200B_206A_200E_206E_206B_206B_206D_200D_206E_206D_200C_200C_200C_200B_202B_206E_202C_200D_206C_202C_202C_206E_206C_206B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static QuestId _202E_206A_206F_206E_202D_206B_206F_202A_202A_202A_202D_202C_206B_202B_202C_206B_202A_202E_202C_200F_200D_202E_200F_200B_202D_200E_202A_202A_200F_202E_206E_202E_202C_200E_202E_202B_202E_202C_206B_200F_202E(ushort P_0) - { - return new QuestId(P_0); - } - - static bool _200E_202A_200B_206E_206D_200B_206F_202D_206D_202A_206F_206A_200D_206E_206A_202D_202D_206E_202A_202C_200F_202A_202E_202A_200B_200C_200D_202C_206E_200E_206A_200C_206C_206D_206D_206B_200D_206A_200C_200C_202E(uint P_0) - { - return PlayerStateHelper.IsMountUnlocked(P_0); - } - - static byte _200C_206C_202C_202E_206B_206B_200E_206C_200D_206D_206C_200E_206A_202B_206B_202B_202E_202D_206B_206E_200B_200F_206B_202E_202A_202A_206A_206D_202C_200D_200F_200F_202C_200D_206C_200B_202D_206C_206E_202E() - { - return GrandCompanyHelper.GetGrandCompanyId(); - } - - static void _206F_202B_206B_200E_206F_202D_206D_202D_202B_202C_200D_202C_206D_202D_206D_206C_202C_202E_200F_200C_200B_200E_206E_206B_200F_200B_206A_200D_200E_206B_206A_202B_206B_206F_202B_202E_200E_200F_202A_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogTrace(P_1, P_2); - } - - static uint _206D_200D_206F_200F_200F_206F_206D_200B_206E_200D_206A_202A_202B_200F_202D_202A_202D_200C_206F_206E_202B_202A_202D_206F_206F_202D_200D_200C_206C_202B_202E_200C_206F_200E_206A_206E_200F_200C_206C_206B_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static bool _206B_206A_200F_200D_202A_206F_200F_200F_202C_206E_206E_200F_200E_200F_202A_200D_200C_202C_206A_202A_202A_200E_206C_202D_200F_206B_206A_200E_202E_202E_200C_206A_202D_200C_200B_206E_206A_202D_206D_206A_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; + if (_condition[ConditionFlag.BoundByDuty] || _condition[ConditionFlag.InDutyQueue]) + { + return false; + } + if (!_autoDutyIpc.IsConfiguredToRunLevelingMode(currentPlayerLevel)) + { + return false; + } + return true; } } diff --git a/Questionable/Questionable.Controller/QuestRegistry.cs b/Questionable/Questionable.Controller/QuestRegistry.cs index 5c60830..ce1b3ef 100644 --- a/Questionable/Questionable.Controller/QuestRegistry.cs +++ b/Questionable/Questionable.Controller/QuestRegistry.cs @@ -1,18 +1,13 @@ #define RELEASE using System; -using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.IO; using System.Linq; -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Text; using System.Text.Json; using System.Text.Json.Nodes; using System.Text.RegularExpressions; -using System.Threading; using Dalamud.Plugin; using Dalamud.Plugin.Ipc; using Dalamud.Plugin.Services; @@ -63,214 +58,7 @@ internal sealed class QuestRegistry : IDisposable } } - internal sealed record FailedQuestLoad(ElementId QuestId, string? FilePath, string ErrorMessage, Quest.ESource Source) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202E_206E_202A_200D_202D_206A_202B_202A_206B_206C_206E_202A_200C_206F_200B_206B_202A_202D_206F_206B_202C_202B_200E_200D_202B_202E_206C_206A_206C_206C_200B_202E_202A_206E_200D_202C_202B_206F_200D_206A_202E(typeof(FailedQuestLoad).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206B_200E_202A_200D_200E_206F_200F_202B_206A_200E_200D_202A_202A_202A_200E_200C_200C_202C_200D_202C_202D_202A_202C_206A_206A_200B_200F_206C_206D_200D_206E_202E_206C_202E_202D_200E_206B_200C_202E_200E_202E(); - _206E_202A_200D_206C_200E_202E_206F_202A_202C_202E_200D_206A_206F_206A_206A_200F_206D_202E_202D_206C_206C_202A_202C_206D_202C_206B_200C_202D_206F_206B_206F_202C_200F_206D_206D_202E_202B_202B_200E_206D_202E(stringBuilder, 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(-568130385)); - _206E_202A_200D_206C_200E_202E_206F_202A_202C_202E_200D_206A_206F_206A_206A_200F_206D_202E_202D_206C_206C_202A_202C_206D_202C_206B_200C_202D_206F_206B_206F_202C_200F_206D_206D_202E_202B_202B_200E_206D_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1344697862)); - int num = ((!PrintMembers(stringBuilder)) ? 1768715349 : 1768715350); - while (true) - { - int num2 = num; - int num3 = 1768715351; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - _206F_200D_206C_200C_202E_206A_200C_202D_200E_202E_200F_200C_206B_200F_200B_206A_206F_202A_206E_200D_202A_206C_200D_200C_206C_206F_202A_206E_200F_206D_206F_200B_200D_200F_202D_206A_200E_202E_202C_202E_202E(stringBuilder, '}'); - return _202E_202B_200F_200B_206C_206F_206F_200F_202A_206C_200F_200C_200F_200E_206C_206E_202B_202C_200F_206B_202C_200D_200C_202D_200C_206C_200B_202A_202A_202D_202E_206A_206E_202C_202E_206E_202E_200E_202E_202A_202E((object)stringBuilder); - case 1: - _206F_200D_206C_200C_202E_206A_200C_202D_200E_202E_200F_200C_206B_200F_200B_206A_206F_202A_206E_200D_202A_206C_200D_200C_206C_206F_202A_206E_200F_206D_206F_200B_200D_200F_202D_206A_200E_202E_202C_202E_202E(stringBuilder, ' '); - num = 1768715349; - break; - case 0: - num = 1768715350; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206C_202A_200D_202D_202E_206C_206C_202E_206D_202E_200D_206B_206B_206D_206E_202E_202B_202B_206D_200B_200F_200D_200B_202E_206C_200F_200E_202E_200E_202A_202E_206A_206A_206F_202A_206D_200D_206B_206E_202B_202E(); - _206E_202A_200D_206C_200E_202E_206F_202A_202C_202E_200D_206A_206F_206A_206A_200F_206D_202E_202D_206C_206C_202A_202C_206D_202C_206B_200C_202D_206F_206B_206F_202C_200F_206D_206D_202E_202B_202B_200E_206D_202E(builder, 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(-196925368)); - _202C_202B_202A_200C_200B_200D_206A_200D_206B_202C_202A_202A_206B_202A_202D_200E_202D_202A_200E_200F_202E_206D_200D_200F_202A_200D_202D_200E_202C_206A_206E_200F_200C_206C_200B_200B_206F_200C_200D_200C_202E(builder, (object)QuestId); - _206E_202A_200D_206C_200E_202E_206F_202A_202C_202E_200D_206A_206F_206A_206A_200F_206D_202E_202D_206C_206C_202A_202C_206D_202C_206B_200C_202D_206F_206B_206F_202C_200F_206D_206D_202E_202B_202B_200E_206D_202E(builder, 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(-201639177)); - _202C_202B_202A_200C_200B_200D_206A_200D_206B_202C_202A_202A_206B_202A_202D_200E_202D_202A_200E_200F_202E_206D_200D_200F_202A_200D_202D_200E_202C_206A_206E_200F_200C_206C_200B_200B_206F_200C_200D_200C_202E(builder, (object)FilePath); - _206E_202A_200D_206C_200E_202E_206F_202A_202C_202E_200D_206A_206F_206A_206A_200F_206D_202E_202D_206C_206C_202A_202C_206D_202C_206B_200C_202D_206F_206B_206F_202C_200F_206D_206D_202E_202B_202B_200E_206D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-607356140)); - _202C_202B_202A_200C_200B_200D_206A_200D_206B_202C_202A_202A_206B_202A_202D_200E_202D_202A_200E_200F_202E_206D_200D_200F_202A_200D_202D_200E_202C_206A_206E_200F_200C_206C_200B_200B_206F_200C_200D_200C_202E(builder, (object)ErrorMessage); - _206E_202A_200D_206C_200E_202E_206F_202A_202C_202E_200D_206A_206F_206A_206A_200F_206D_202E_202D_206C_206C_202A_202C_206D_202C_206B_200C_202D_206F_206B_206F_202C_200F_206D_206D_202E_202B_202B_200E_206D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1853246716)); - _206E_202A_200D_206C_200E_202E_206F_202A_202C_202E_200D_206A_206F_206A_206A_200F_206D_202E_202D_206C_206C_202A_202C_206D_202C_206B_200C_202D_206F_206B_206F_202C_200F_206D_206D_202E_202B_202B_200E_206D_202E(builder, Source.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(FailedQuestLoad? other) - { - int num = (((object)this == other) ? (-699833677) : (-699833676)); - while (true) - { - int num2 = num; - int num3 = -699833673; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = ((!EqualityComparer.Default.Equals(FilePath, other.FilePath)) ? (-699833680) : (-699833679)); - break; - case 4: - return true; - case 8: - return EqualityComparer.Default.Equals(Source, other.Source); - case 5: - num = -699833676; - break; - case 6: - num = ((!EqualityComparer.Default.Equals(ErrorMessage, other.ErrorMessage)) ? (-699833680) : (-699833665)); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(QuestId, other.QuestId)) ? (-699833680) : (-699833673)); - break; - case 3: - num = (((object)other == null) ? (-699833680) : (-699833674)); - break; - case 1: - num = ((!_200E_206C_200D_206D_206B_206F_202D_202B_202B_202C_206D_202D_206B_200D_200F_206C_206F_200C_202A_206F_206A_202B_202C_206C_206F_206B_200D_206B_200B_206F_200D_206F_206C_202E_206D_200C_200D_200C_200D_200E_202E(EqualityContract, other.EqualityContract)) ? (-699833680) : (-699833675)); - break; - case 7: - return false; - } - } - } - - bool IEquatable.Equals(FailedQuestLoad? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202E_206E_202A_200D_202D_206A_202B_202A_206B_206C_206E_202A_200C_206F_200B_206B_202A_202D_206F_206B_202C_202B_200E_200D_202B_202E_206C_206A_206C_206C_200B_202E_202A_206E_200D_202C_202B_206F_200D_206A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206B_200E_202A_200D_200E_206F_200F_202B_206A_200E_200D_202A_202A_202A_200E_200C_200C_202C_200D_202C_202D_202A_202C_206A_206A_200B_200F_206C_206D_200D_206E_202E_206C_202E_202D_200E_206B_200C_202E_200E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206E_202A_200D_206C_200E_202E_206F_202A_202C_202E_200D_206A_206F_206A_206A_200F_206D_202E_202D_206C_206C_202A_202C_206D_202C_206B_200C_202D_206F_206B_206F_202C_200F_206D_206D_202E_202B_202B_200E_206D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206F_200D_206C_200C_202E_206A_200C_202D_200E_202E_200F_200C_206B_200F_200B_206A_206F_202A_206E_200D_202A_206C_200D_200C_206C_206F_202A_206E_200F_206D_206F_200B_200D_200F_202D_206A_200E_202E_202C_202E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202E_202B_200F_200B_206C_206F_206F_200F_202A_206C_200F_200C_200F_200E_206C_206E_202B_202C_200F_206B_202C_200D_200C_202D_200C_206C_200B_202A_202A_202D_202E_206A_206E_202C_202E_206E_202E_200E_202E_202A_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206C_202A_200D_202D_202E_206C_206C_202E_206D_202E_200D_206B_206B_206D_206E_202E_202B_202B_206D_200B_200F_200D_200B_202E_206C_200F_200E_202E_200E_202A_202E_206A_206A_206F_202A_206D_200D_206B_206E_202B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202C_202B_202A_200C_200B_200D_206A_200D_206B_202C_202A_202A_206B_202A_202D_200E_202D_202A_200E_200F_202E_206D_200D_200F_202A_200D_202D_200E_202C_206A_206E_200F_200C_206C_200B_200B_206F_200C_200D_200C_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200E_206C_200D_206D_206B_206F_202D_202B_202B_202C_206D_202D_206B_200D_200F_206C_206F_200C_202A_206F_206A_202B_202C_206C_206F_206B_200D_206B_200B_206F_200D_206F_206C_202E_206D_200C_200D_200C_200D_200E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func, bool> _003C_003E9__23_0; - - public static Func _003C_003E9__28_0; - - public static Func _003C_003E9__29_0; - - internal bool _003CBuild_003Eb__23_0(KeyValuePair x) - { - return !_206B_202E_202A_206F_200C_206E_202D_206D_200D_206E_202B_202A_202B_200C_200C_200C_200B_200F_200E_200D_206B_206B_206C_206D_206D_206A_206F_200E_206B_206B_202E_206D_206A_202D_206F_206A_202E_206A_200B_200E_202E(x.Value.Root); - } - - internal bool _003CLoadCfcIds_003Eb__28_0(QuestStep x) - { - EInteractionType eInteractionType = _202C_200F_200E_206A_200F_206F_202A_200B_206A_206B_202C_200E_200E_202E_206D_202A_200C_202C_202A_206C_206F_202E_202A_200F_200B_202C_206A_202A_200C_200E_202B_206A_202A_200B_206F_200B_202D_202B_202A_202A_202E(x); - int num = (((uint)(eInteractionType - 19) > 1u) ? (-105448729) : (-105448732)); - bool result = default(bool); - while (true) - { - int num2 = num; - int num3 = -105448731; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return result; - case 1: - result = true; - num = -105448731; - break; - case 3: - num = -105448732; - break; - case 2: - result = false; - num = -105448731; - break; - } - } - } - - internal bool _003CValidateQuests_003Eb__29_0(Quest x) - { - return x.Source != Quest.ESource.Assembly; - } - - static bool _206B_202E_202A_206F_200C_206E_202D_206D_200D_206E_202B_202A_202B_200C_200C_200C_200B_200F_200E_200D_206B_206B_206C_206D_206D_206A_206F_200E_206B_206B_202E_206D_206A_202D_206F_206A_202E_206A_200B_200E_202E(QuestRoot P_0) - { - return P_0.Disabled; - } - - static EInteractionType _202C_200F_200E_206A_200F_206F_202A_200B_206A_206B_202C_200E_200E_202E_206D_202A_200C_202C_202A_206C_206F_202E_202A_200F_200B_202C_206A_202A_200C_200E_202B_206A_202A_200B_206F_200B_202D_202B_202A_202A_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - } + internal sealed record FailedQuestLoad(ElementId QuestId, string? FilePath, string ErrorMessage, Quest.ESource Source); private readonly IDalamudPluginInterface _pluginInterface; @@ -290,9 +78,6 @@ internal sealed class QuestRegistry : IDisposable private volatile Snapshot _snapshot = new Snapshot(); - [CompilerGenerated] - private EventHandler? m_Reloaded; - public IEnumerable AllQuests => _snapshot.Quests.Values; public int Count => _snapshot.Count; @@ -301,67 +86,8 @@ internal sealed class QuestRegistry : IDisposable public IReadOnlyList<(uint ContentFinderConditionId, ElementId QuestId, int Sequence)> LowPriorityContentFinderConditionQuests => _snapshot.LowPriorityContentFinderConditionQuests; - public event EventHandler? Reloaded - { - [CompilerGenerated] - add - { - EventHandler eventHandler = this.m_Reloaded; - int num = 237469917; - while (true) - { - int num2 = num; - int num3 = 237469916; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return; - case 1: - { - EventHandler eventHandler2 = eventHandler; - EventHandler value2 = (EventHandler)_202D_202A_202A_202C_202A_200B_202E_200B_200B_202D_206B_200F_200D_202B_206B_206E_200D_202C_206C_202D_200B_200F_206A_200C_200F_200E_206E_202D_206E_202A_202A_200E_202D_206D_206E_206F_200C_202D_206C_206C_202E((Delegate)eventHandler2, (Delegate)value); - eventHandler = Interlocked.CompareExchange(ref this.m_Reloaded, value2, eventHandler2); - num = (((object)eventHandler != eventHandler2) ? 237469917 : 237469918); - break; - } - case 0: - num = 237469917; - break; - } - } - } - [CompilerGenerated] - remove - { - EventHandler eventHandler = this.m_Reloaded; - int num = 268967393; - while (true) - { - int num2 = num; - int num3 = 268967392; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return; - case 1: - { - EventHandler eventHandler2 = eventHandler; - EventHandler value2 = (EventHandler)_202E_202D_202B_206E_200F_202B_206B_200B_202B_202B_206E_202B_206F_202A_200D_200B_200D_206E_202D_202D_206A_206E_206D_202C_200F_200F_206E_200E_202B_206C_202E_202C_200D_200B_206F_202B_200B_206E_200B_206D_202E((Delegate)eventHandler2, (Delegate)value); - eventHandler = Interlocked.CompareExchange(ref this.m_Reloaded, value2, eventHandler2); - num = (((object)eventHandler != eventHandler2) ? 268967393 : 268967392); - break; - } - case 2: - num = 268967393; - break; - } - } - } - } + public event EventHandler? Reloaded; - [MethodImpl(MethodImplOptions.NoInlining)] public QuestRegistry(IDalamudPluginInterface pluginInterface, QuestData questData, QuestValidator questValidator, JsonSchemaValidator jsonSchemaValidator, ILogger logger, TerritoryData territoryData, IChatGui chatGui, IFramework framework) { _pluginInterface = pluginInterface; @@ -371,20 +97,13 @@ internal sealed class QuestRegistry : IDisposable _logger = logger; _territoryData = territoryData; _chatGui = chatGui; - _reloadDataIpc = _pluginInterface.GetIpcProvider(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(59906523)); + _reloadDataIpc = _pluginInterface.GetIpcProvider("Questionable.ReloadData"); } public void Dispose() { } - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] internal Snapshot Build() { _questValidator.Reset(); @@ -392,68 +111,37 @@ internal sealed class QuestRegistry : IDisposable LoadQuestsFromAssembly(snapshot); try { - LoadFromDirectory(snapshot, _200D_200C_200B_206C_202B_200E_206B_202C_200C_202A_202D_206D_202A_200F_200E_200B_202E_206E_202D_202C_200B_206E_202C_206E_206B_200E_206A_206E_202E_200E_202D_202E_200F_202E_200C_202E_200F_202E_206F_202B_202E(_206F_200D_202E_206F_206C_200B_206E_202B_200C_200E_206D_206E_202A_206D_206A_206D_202D_206E_202B_200D_202B_206A_206A_200B_206D_202A_202B_202B_206A_206F_200D_200D_202A_200C_202E_202C_206B_206B_206B_206C_202E(_206E_200F_200B_206F_206C_206E_206A_206D_206D_202C_200D_206F_206B_200D_202D_200C_200C_202D_202A_202E_206C_202E_200B_202A_206A_202C_202D_202C_200B_206B_202E_200C_200E_200D_200C_206A_200F_202B_200D_202C_202E((FileSystemInfo)_206D_202C_206C_206D_206A_200C_200F_200C_206A_206D_206D_206C_200E_206B_200F_200E_206F_202A_206E_206E_202A_206A_206D_206C_206E_202C_206A_202E_206E_206D_202B_200D_206D_200C_202B_202C_202A_200C_202A_206E_202E(_pluginInterface)), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(483735086))), Quest.ESource.UserDirectory); + LoadFromDirectory(snapshot, new DirectoryInfo(Path.Combine(_pluginInterface.ConfigDirectory.FullName, "Quests")), Quest.ESource.UserDirectory); } - catch (Exception ex) + catch (Exception exception) { - _200B_200C_202D_202E_200D_206D_200E_200D_200C_206D_202B_202D_200E_200D_202D_202D_206A_202B_206F_200D_202E_202C_202C_200F_200E_206B_202B_202B_206B_202B_202A_202C_202C_206A_200F_206C_206B_206A_206F_200F_202E((ILogger)_logger, ex, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1413317878), Array.Empty()); + _logger.LogError(exception, "Failed to load all quests from user directory (some may have been successfully loaded)"); } LoadCfcIds(snapshot); - snapshot.Count = snapshot.Quests.Count>((KeyValuePair x) => !_003C_003Ec._206B_202E_202A_206F_200C_206E_202D_206D_200D_206E_202B_202A_202B_200C_200C_200C_200B_200F_200E_200D_206B_206B_206C_206D_206D_206A_206F_200E_206B_206B_202E_206D_206A_202D_206F_206A_202E_206A_200B_200E_202E(x.Value.Root)); + snapshot.Count = snapshot.Quests.Count>((KeyValuePair x) => !x.Value.Root.Disabled); return snapshot; } - [MethodImpl(MethodImplOptions.NoInlining)] internal void Publish(Snapshot snapshot, bool sendReloadDataIpc = true, bool validateQuests = true) { _snapshot = snapshot; - int num = ((!validateQuests) ? (-104766368) : (-104766365)); - while (true) + if (validateQuests) { - int num2 = num; - int num3 = -104766366; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 3: - num = -104766365; - continue; - case 1: - ValidateQuests(); - num = -104766368; - continue; - case 2: - { - EventHandler? eventHandler = this.Reloaded; - if (eventHandler == null) - { - break; - } - eventHandler(this, EventArgs.Empty); - num = -104766366; - continue; - } - case 0: - break; - } - break; + ValidateQuests(); } + this.Reloaded?.Invoke(this, EventArgs.Empty); if (sendReloadDataIpc) { try { _reloadDataIpc.SendMessage(); } - catch (Exception ex) + catch (Exception exception) { - _202A_206C_200B_200D_202E_206F_206A_206E_206A_202B_206D_206E_206C_202A_202C_206E_206C_206A_200C_200B_206B_206E_202C_200D_206E_202E_202E_202E_200E_206E_200C_200B_202D_202D_200F_206C_202A_202C_202E_202C_202E((ILogger)_logger, ex, 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(-1879264080), Array.Empty()); + _logger.LogWarning(exception, "Error during Reload.SendMessage IPC"); } } - _200B_200F_200B_200B_200E_206A_206E_200B_200D_200E_200E_200D_206D_200D_206F_200F_200D_200B_206C_200D_200D_206E_202E_202D_206A_200C_202A_206A_202E_206A_206B_202E_202B_206D_206A_206D_200F_206C_200E_206B_202E((ILogger)_logger, 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(1981205639), new object[1] { snapshot.Quests.Count }); + _logger.LogDebug("Loaded {Count} quests in total", snapshot.Quests.Count); } public void Reload() @@ -461,432 +149,118 @@ internal sealed class QuestRegistry : IDisposable Publish(Build()); } - [MethodImpl(MethodImplOptions.NoInlining)] [Conditional("RELEASE")] private void LoadQuestsFromAssembly(Snapshot snapshot) { - IEnumerator> enumerator = _200B_202D_200C_206B_200E_200E_200F_206C_200E_202E_202E_200B_206C_206E_200D_202B_206C_206E_202B_206A_202C_200B_200B_206A_206B_200B_206D_202E_206C_202A_200E_200F_202E_202C_206C_202B_200E_206C_202A_202C_202E().GetEnumerator(); - try + foreach (var (elementId2, questRoot2) in AssemblyQuestLoader.GetQuests()) { - string text3 = default(string); - string text = default(string); - string text2 = default(string); - UnlockLinkId unlockLinkId = default(UnlockLinkId); - IQuestInfo questInfo2 = default(IQuestInfo); - DateTime? dateTime = default(DateTime?); - while (_206A_200C_206F_202E_202B_202E_206A_206D_206B_200F_206F_206C_202B_206C_202E_200C_206D_202B_202E_206E_200E_200E_202E_206B_206F_206F_200B_206E_206A_200C_200F_202D_206F_200E_200B_206A_206E_202A_206A_206F_202E((IEnumerator)enumerator)) + try { - var (elementId2, questRoot2) = (KeyValuePair)(ref enumerator.Current); - try + DateTime? dateTime = (questRoot2.SeasonalQuestExpiry.HasValue ? new DateTime?(DateTime.SpecifyKind(questRoot2.SeasonalQuestExpiry.Value, DateTimeKind.Utc)) : ((DateTime?)null)); + if (_questData.TryGetQuestInfo(elementId2, out IQuestInfo questInfo)) { - int num = (_200B_200F_206B_206D_202B_200B_206C_202C_202A_206B_200C_206D_202A_202A_200E_206C_200F_202C_206E_202C_202A_202D_206A_206E_202C_206D_200D_206A_200D_206D_202A_206B_206B_202B_202E_202C_200E_206B_202B_206F_202E(questRoot2).HasValue ? 1589830137 : 1589830112); - while (true) + goto IL_0173; + } + if (elementId2 is UnlockLinkId unlockLinkId) + { + string text = unlockLinkId.ToString(); + if (text.Length > 1 && text.StartsWith('U')) { - int num2 = num; - int num3 = 1589830123; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - DateTime? obj; - switch (num5 - (num6 + num6)) - { - case 4: - text3 = _200C_200C_200D_202C_200D_200C_206E_200C_200F_206E_202D_202C_206E_202B_202B_202C_200B_200D_202C_202B_206F_200B_206F_200E_202C_206C_206E_206B_200D_200F_206B_202B_206E_206D_206B_202C_206C_206E_206F_202B_202E(text, 1); - num = (_202D_206E_200E_206D_206D_206B_200D_200F_200C_200B_200D_206D_200E_202C_206E_206F_200F_200D_200D_200B_200F_206C_202B_206F_200B_202A_202C_206B_200B_200E_200F_202C_200F_206E_206C_206B_200C_200D_206C_202E(text3, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(679724514)) ? 1589830119 : 1589830114); - break; - case 11: - obj = null; - goto IL_0255; - case 13: - num = 1589830112; - break; - case 8: - text2 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(452449838); - num = 1589830138; - break; - case 6: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(12, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(252251798)); - defaultInterpolatedStringHandler.AppendFormatted(_206F_200F_200C_206A_206F_200E_206A_206A_200E_202E_206E_206A_206E_206F_200F_202E_206C_200F_202D_202A_200F_200B_202C_202C_200E_202C_200F_200F_200F_202B_200C_206D_206A_206C_206F_206A_202A_206E_202B_206F_202E((ElementId)unlockLinkId)); - text = defaultInterpolatedStringHandler.ToStringAndClear(); - num = 1589830113; - break; - } - case 9: - num = (_202D_206E_200E_206D_206D_206B_200D_200F_200C_200B_200D_206D_200E_202C_206E_206F_200F_200D_200D_200B_200F_206C_202B_206F_200B_202A_202C_206B_200B_200E_200F_202C_200F_206E_206C_206B_200C_200D_206C_202E(text3, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-909066060)) ? 1589830115 : 1589830136); - break; - case 5: - text2 = _200E_202A_200C_206A_202A_206C_200F_206C_202C_202B_206C_200E_200C_206C_200D_206F_200E_206C_202B_202D_200F_206E_202A_202C_206D_200E_202A_202C_200C_200D_202B_206B_206E_200D_200E_206C_206D_202B_200B_200C_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1766186702), text3); - num = 1589830138; - break; - case 10: - questInfo2 = new UnlockLinkQuestInfo(unlockLinkId, text, 0u, dateTime); - _200B_200F_200B_200B_200E_206A_206E_200B_200D_200E_200E_200D_206D_200D_206F_200F_200D_200B_206C_200D_200D_206E_202E_202D_206A_200C_202A_206A_202E_206A_206B_202E_202B_206D_206A_206D_200F_206C_200E_206B_202E((ILogger)_logger, 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(-1875699124), new object[1] { elementId2 }); - _questData.AddOrReplaceQuestInfo(questInfo2); - num = 1589830124; - break; - case 7: - num = (_206E_206A_200C_206A_206A_200B_206E_200F_200F_202C_200B_202A_200C_200C_206D_206C_202E_202D_200E_202C_202A_202E_200F_206D_206E_206F_200D_202D_206D_200F_202A_206A_206E_200D_206D_202C_206D_202A_200E_206D_202E(questRoot2).HasValue ? 1589830117 : 1589830121); - break; - case 18: - obj = DateTime.SpecifyKind(_200B_200F_206B_206D_202B_200B_206C_202C_202A_206B_200C_206D_202A_202A_200E_206C_200F_202C_206E_202C_202A_202D_206A_206E_202C_206D_200D_206A_200D_206D_202A_206B_206B_202B_202E_202C_200E_206B_202B_206F_202E(questRoot2).Value, DateTimeKind.Utc); - goto IL_0255; - case 2: - num = ((!_200B_200F_206B_206D_202B_200B_206C_202C_202A_206B_200C_206D_202A_202A_200E_206C_200F_202C_206E_202C_202A_202D_206A_206E_202C_206D_200D_206A_200D_206D_202A_206B_206B_202B_202E_202C_200E_206B_202B_206F_202E(questRoot2).HasValue) ? 1589830123 : 1589830117); - break; - case 12: - text2 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1797110662); - num = 1589830138; - break; - case 19: - num = 1589830126; - break; - case 15: - text = _200B_200C_206D_206D_202A_206E_200C_206A_206D_206C_206D_202E_202D_202A_200D_206D_206D_202B_206F_206E_202B_206C_206F_206F_206E_202E_202A_200F_200B_202B_200F_202A_200E_202E_202B_206B_202A_202D_202D_202B_202E((object)unlockLinkId); - num = ((_202E_202B_206D_202E_200F_202B_206E_206C_202E_200E_206B_206B_200B_200C_200C_200D_200C_202C_206B_200B_206A_200D_206D_206C_206C_200F_202D_200D_206E_206A_202B_206D_206B_206F_200F_200F_200B_200D_206F_202C_202E(text) <= 1) ? 1589830125 : 1589830122); - break; - case 3: - _200E_200E_202D_200B_206D_202C_206E_202C_200E_206A_200E_206D_200C_206B_202D_206E_202A_206C_206F_206F_202E_200B_206F_202E_200C_206A_200D_206A_202D_200E_202B_206D_206F_202B_202B_200C_202D_206C_206F_202A_202E((ILogger)_logger, 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(1625142981), new object[1] { elementId2 }); - goto end_IL_0054; - case 17: - text = text2; - num = 1589830113; - break; - case 1: - num = ((!_206E_200E_206F_206B_206E_206B_206E_206C_200D_206E_206E_202E_206A_206E_206C_206C_200C_200C_200F_202A_206B_200F_202A_202A_206B_200F_202B_200B_206A_206F_206F_202A_202E_206F_202B_206F_206F_200C_206E_202E_202E(text, 'U')) ? 1589830125 : 1589830127); - break; - case 16: - unlockLinkId = elementId2 as UnlockLinkId; - num = (((object)unlockLinkId == null) ? 1589830120 : 1589830116); - break; - case 14: - _questData.ApplySeasonalOverride(elementId2, _206E_206A_200C_206A_206A_200B_206E_200F_200F_202C_200B_202A_200C_200C_206D_206C_202E_202D_200E_202C_202A_202E_200F_206D_206E_206F_200D_202D_206D_200F_202A_206A_206E_200D_206D_202C_206D_202A_200E_206D_202E(questRoot2) ?? questInfo2.IsSeasonalQuest, dateTime); - num = 1589830123; - break; - case 0: - { - IQuestInfo questInfo = _questData.GetQuestInfo(elementId2); - Quest quest = new Quest - { - Id = elementId2, - Root = questRoot2, - Info = questInfo, - Source = Quest.ESource.Assembly, - SourcePath = null - }; - snapshot.Quests[quest.Id] = quest; - goto end_IL_0054; - } - IL_0255: - dateTime = obj; - num = (_questData.TryGetQuestInfo(elementId2, out questInfo2) ? 1589830124 : 1589830139); - break; - } - continue; - end_IL_0054: - break; + string text2 = text.Substring(1); + string text3 = ((text2 == "568") ? "Patch 7.3 Fantasia" : ((!(text2 == "506")) ? ("U" + text2) : "Patch 7.2 Fantasia")); + text = text3; } - } - catch (Exception ex) - { - _200E_200E_202D_200B_206D_202C_206E_202C_200E_206A_200E_206D_200C_206B_202D_206E_202A_206C_206F_206F_202E_200B_206F_202E_200C_206A_200D_206A_202D_200E_202B_206D_206F_202B_202B_200C_202D_206C_206F_202A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1294782276), new object[2] + else { - elementId2, - _202E_206D_202C_202B_200D_206A_200C_200E_200E_206B_206A_206F_200C_206E_200C_202C_200B_206A_200B_206D_206F_202E_200E_206E_200F_206C_202A_200B_206C_202A_206A_206D_206B_200F_206B_206F_200F_202B_206F_206C_202E(ex) - }); + text = $"Unlock Link {unlockLinkId.Value}"; + } + questInfo = new UnlockLinkQuestInfo(unlockLinkId, text, 0u, dateTime); + _logger.LogDebug("Created UnlockLinkQuestInfo for {QuestId} from assembly", elementId2); + _questData.AddOrReplaceQuestInfo(questInfo); + goto IL_0173; } - } - } - finally - { - int num = ((enumerator == null) ? 553378492 : 553378493); - while (true) - { - int num7 = num; - int num3 = 553378492; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) + _logger.LogWarning("Not loading unknown quest {QuestId} from assembly: Quest not found in quest data", elementId2); + goto end_IL_0028; + IL_0173: + if (questRoot2.IsSeasonalQuest.HasValue || questRoot2.SeasonalQuestExpiry.HasValue) { - case 2: - num = 553378493; - break; - case 0: - goto end_IL_047e; - case 1: - _206D_206E_202E_202C_206B_206D_206C_202E_200F_206B_202D_202A_200E_202C_202B_200E_202D_202E_202A_206F_206A_200F_206E_206B_200C_202C_200B_200D_206F_202C_200B_200B_200B_206A_202E_200D_200B_202D_206B_202B_202E((IDisposable)enumerator); - num = 553378492; - break; + _questData.ApplySeasonalOverride(elementId2, questRoot2.IsSeasonalQuest ?? questInfo.IsSeasonalQuest, dateTime); } - continue; - end_IL_047e: - break; + IQuestInfo questInfo2 = _questData.GetQuestInfo(elementId2); + Quest quest = new Quest + { + Id = elementId2, + Root = questRoot2, + Info = questInfo2, + Source = Quest.ESource.Assembly, + SourcePath = null + }; + snapshot.Quests[quest.Id] = quest; + end_IL_0028:; + } + catch (Exception ex) + { + _logger.LogWarning("Not loading unknown quest {QuestId} from assembly: {Message}", elementId2, ex.Message); } } - _200B_200F_200B_200B_200E_206A_206E_200B_200D_200E_200E_200D_206D_200D_206F_200F_200D_200B_206C_200D_200D_206E_202E_202D_206A_200C_202A_206A_202E_206A_206B_202E_202B_206D_206A_206D_200F_206C_200E_206B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2012962831), new object[1] { snapshot.Quests.Count }); + _logger.LogDebug("Loaded {Count} quests from assembly", snapshot.Quests.Count); } - [MethodImpl(MethodImplOptions.NoInlining)] [Conditional("DEBUG")] private void LoadQuestsFromProjectDirectory(Snapshot snapshot) { - DirectoryInfo directoryInfo = _200E_206E_200D_202E_206A_202E_200D_206F_206E_202C_206A_206C_206E_202E_202A_200D_206F_206C_202E_202A_206C_206F_200D_200B_200D_206E_202B_200F_206A_200B_206F_200D_206F_200D_202A_200B_202B_200D_200B_206B_202E(_202A_200D_206F_202D_202B_202B_202D_200C_200C_206A_202E_206D_200F_200D_202A_206F_206A_206E_206B_200E_202D_202E_202A_200E_206D_206F_202C_206F_206B_200D_202B_202C_206A_206B_200F_202A_200C_202B_202B_202C_202E(_pluginInterface)); - object obj; + DirectoryInfo directoryInfo = _pluginInterface.AssemblyLocation.Directory?.Parent?.Parent; if (directoryInfo == null) { - obj = null; + return; } - else + DirectoryInfo directoryInfo2 = new DirectoryInfo(Path.Combine(directoryInfo.FullName, "Paths", "QuestPaths")); + try { - DirectoryInfo directoryInfo2 = _202E_206C_206B_202B_206D_206F_206C_200B_200E_200D_200B_200F_206B_200E_206F_200E_206E_202B_202D_206D_206E_202A_200E_202B_202D_206A_206B_202A_206B_206A_202D_206A_206D_206C_206A_206B_206D_202C_206C_202B_202E(directoryInfo); - obj = ((directoryInfo2 != null) ? _202E_206C_206B_202B_206D_206F_206C_200B_200E_200D_200B_200F_206B_200E_206F_200E_206E_202B_202D_206D_206E_202A_200E_202B_202D_206A_206B_202A_206B_206A_202D_206A_206D_206C_206A_206B_206D_202C_206C_202B_202E(directoryInfo2) : null); + foreach (string value in ExpansionData.ExpansionFolders.Values) + { + LoadFromDirectory(snapshot, new DirectoryInfo(Path.Combine(directoryInfo2.FullName, value)), Quest.ESource.ProjectDirectory, LogLevel.Trace); + } } - DirectoryInfo directoryInfo3 = (DirectoryInfo)obj; - int num = ((directoryInfo3 != null) ? 1130526346 : 1130526345); - while (true) + catch (Exception ex) { - int num2 = num; - int num3 = 1130526344; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0081; - case 1: - return; - case 2: - { - DirectoryInfo directoryInfo4 = _200D_200C_200B_206C_202B_200E_206B_202C_200C_202A_202D_206D_202A_200F_200E_200B_202E_206E_202D_202C_200B_206E_202C_206E_206B_200E_206A_206E_202E_200E_202D_202E_200F_202E_200C_202E_200F_202E_206F_202B_202E(_200E_206F_206F_202C_200F_200B_200C_206A_200C_200F_206F_206A_202A_200C_202C_202E_200F_200B_202E_206B_202E_200D_200B_202E_200B_202E_200E_206C_202D_202A_206F_202B_200C_206F_206C_202E_200D_200E_206B_206C_202E(_206E_200F_200B_206F_206C_206E_206A_206D_206D_202C_200D_206F_206B_200D_202D_200C_200C_202D_202A_202E_206C_202E_200B_202A_206A_202C_202D_202C_200B_206B_202E_200C_200E_200D_200C_206A_200F_202B_200D_202C_202E((FileSystemInfo)directoryInfo3), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-896958366), 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(1335689907))); - try - { - IEnumerator enumerator = ExpansionData.ExpansionFolders.Values.GetEnumerator(); - try - { - num = 275238560; - while (true) - { - int num7 = num; - num3 = 275238560; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 3: - num = 275238560; - break; - case 1: - { - string current = enumerator.Current; - LoadFromDirectory(snapshot, _200D_200C_200B_206C_202B_200E_206B_202C_200C_202A_202D_206D_202A_200F_200E_200B_202E_206E_202D_202C_200B_206E_202C_206E_206B_200E_206A_206E_202E_200E_202D_202E_200F_202E_200C_202E_200F_202E_206F_202B_202E(_206F_200D_202E_206F_206C_200B_206E_202B_200C_200E_206D_206E_202A_206D_206A_206D_202D_206E_202B_200D_202B_206A_206A_200B_206D_202A_202B_202B_206A_206F_200D_200D_202A_200C_202E_202C_206B_206B_206B_206C_202E(_206E_200F_200B_206F_206C_206E_206A_206D_206D_202C_200D_206F_206B_200D_202D_200C_200C_202D_202A_202E_206C_202E_200B_202A_206A_202C_202D_202C_200B_206B_202E_200C_200E_200D_200C_206A_200F_202B_200D_202C_202E((FileSystemInfo)directoryInfo4), current)), Quest.ESource.ProjectDirectory, LogLevel.Trace); - num = 275238560; - break; - } - case 0: - num = (_206A_200C_206F_202E_202B_202E_206A_206D_206B_200F_206F_206C_202B_206C_202E_200C_206D_202B_202E_206E_200E_200E_202E_206B_206F_206F_200B_206E_206A_200C_200F_202D_206F_200E_200B_206A_206E_202A_206A_206F_202E((IEnumerator)enumerator) ? 275238561 : 275238562); - break; - case 2: - return; - } - } - } - finally - { - num = ((enumerator == null) ? (-1118979294) : (-1118979295)); - while (true) - { - int num10 = num; - num3 = -1118979296; - num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - case 2: - goto end_IL_0180; - case 1: - _206D_206E_202E_202C_206B_206D_206C_202E_200F_206B_202D_202A_200E_202C_202B_200E_202D_202E_202A_206F_206A_200F_206E_206B_200C_202C_200B_200D_206F_202C_200B_200B_200B_206A_202E_200D_200B_202D_206B_202B_202E((IDisposable)enumerator); - num = -1118979294; - break; - case 0: - num = -1118979295; - break; - } - continue; - end_IL_0180: - break; - } - } - } - catch (Exception ex) - { - snapshot.Quests.Clear(); - _206B_202D_206F_206B_206F_206B_206E_206D_202A_200D_206D_200F_200E_202E_206D_202D_206D_206C_206D_206B_206D_200B_206D_200D_206F_200E_200F_206B_202C_202C_206B_200C_202D_206B_202A_200D_206A_202C_206B_200F_202E(_chatGui, _206E_200C_202A_202D_202B_200B_206A_200B_206F_206A_206F_200D_202E_200C_200C_200C_206F_202D_200B_202D_206F_206B_202C_200F_206C_206B_206B_206C_206E_200B_200D_202C_206B_202D_206F_202B_202B_206B_200E_206D_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(207644226), _200E_202A_206F_206E_200F_200E_206C_202D_200D_200D_200B_206A_206E_206F_200F_200B_206A_202D_202B_202D_206A_206E_200D_206C_206A_200D_206C_202C_206B_206F_206D_200F_206A_206A_206F_202D_206D_206F_202B_202B_202E((MemberInfo)_202A_206F_206C_206F_202B_202D_206A_200C_206D_200C_206A_206B_200F_200D_200F_202B_200C_202E_206B_202B_206E_206D_200F_202E_206E_206D_200F_202E_200F_200B_206D_206C_202D_206A_202A_202C_206A_206B_206F_200E_202E(ex)), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2035955381), _202E_206D_202C_202B_200D_206A_200C_200E_200E_206B_206A_206F_200C_206E_200C_202C_200B_206A_200B_206D_206F_202E_200E_206E_200F_206C_202A_200B_206C_202A_206A_206D_206B_200F_206B_206F_200F_202B_206F_206C_202E(ex)), 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(85756196), (ushort?)(ushort)576); - _200B_200C_202D_202E_200D_206D_200E_200D_200C_206D_202B_202D_200E_200D_202D_202D_206A_202B_206F_200D_202E_202C_202C_200F_200E_206B_202B_202B_206B_202B_202A_202C_202C_206A_200F_206C_206B_206A_206F_200F_202E((ILogger)_logger, ex, 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(-1021940989), Array.Empty()); - return; - } - } - } - continue; - IL_0081: - num = 1130526345; + snapshot.Quests.Clear(); + _chatGui.PrintError("Unable to load quests - " + ex.GetType().Name + ": " + ex.Message, "Questionable", 576); + _logger.LogError(ex, "Failed to load quests from project directory"); } } private void LoadCfcIds(Snapshot snapshot) { - DutyOptions dutyOptions = default(DutyOptions); - TerritoryData.ContentFinderConditionData contentFinderConditionData = default(TerritoryData.ContentFinderConditionData); - QuestStep current3 = default(QuestStep); - DutyEntry value = default(DutyEntry); foreach (Quest value2 in snapshot.Quests.Values) { - IEnumerator enumerator2 = value2.AllSequences().GetEnumerator(); - try + foreach (QuestSequence item in value2.AllSequences()) { - while (_206A_200C_206F_202E_202B_202E_206A_206D_206B_200F_206F_206C_202B_206C_202E_200C_206D_202B_202E_206E_200E_200E_202E_206B_206F_206F_200B_206E_206A_200C_200F_202D_206F_200E_200B_206A_206E_202A_206A_206F_202E((IEnumerator)enumerator2)) + foreach (QuestStep item2 in item.Steps.Where(delegate(QuestStep x) { - QuestSequence current2 = enumerator2.Current; - IEnumerator enumerator3 = _200D_206D_200E_200F_202B_206F_200C_206F_206B_202A_202D_200D_200D_206B_206A_200E_202E_200D_206D_202B_200E_202E_200F_200F_206D_202E_200C_206E_200B_200E_202A_206E_202D_200E_206D_206E_202A_202A_202A_206E_202E(current2).Where(delegate(QuestStep x) + EInteractionType interactionType = x.InteractionType; + return (uint)(interactionType - 19) <= 1u; + })) + { + if (item2 != null && item2.InteractionType == EInteractionType.Duty) { - EInteractionType eInteractionType = _003C_003Ec._202C_200F_200E_206A_200F_206F_202A_200B_206A_206B_202C_200E_200E_202E_206D_202A_200C_202C_202A_206C_206F_202E_202A_200F_200B_202C_206A_202A_200C_200E_202B_206A_202A_200B_206F_200B_202D_202B_202A_202A_202E(x); - int num9 = (((uint)(eInteractionType - 19) > 1u) ? (-105448729) : (-105448732)); - bool result = default(bool); - while (true) + DutyOptions dutyOptions = item2.DutyOptions; + if (dutyOptions != null) { - int num10 = num9; - int num11 = -105448731; - int num12 = num10; - switch ((num12 | num11) - (num12 & num11)) + snapshot.ContentFinderConditionIds[dutyOptions.ContentFinderConditionId] = (value2.Id, item2); + if (DutyRegistry.Duties.TryGetValue(dutyOptions.ContentFinderConditionId, out DutyEntry value) && value.LowPriority) { - case 0: - return result; - case 1: - result = true; - num9 = -105448731; - break; - case 3: - num9 = -105448732; - break; - case 2: - result = false; - num9 = -105448731; - break; - } - } - }).GetEnumerator(); - try - { - int num = 1028023343; - while (true) - { - int num2 = num; - int num3 = 1028023342; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - snapshot.LowPriorityContentFinderConditionQuests.Add((_206B_202A_200B_206D_200D_206A_202A_202D_202B_206F_206A_206A_200B_202D_202E_202C_206F_206F_200E_200C_200B_202A_206F_202A_206F_206B_206D_206F_206D_200B_202A_200E_202E_202D_202E_202C_200D_200F_206F_206A_202E(dutyOptions), value2.Id, _200E_200C_206F_202C_202C_202A_202A_202E_206E_202B_206A_206E_200F_202C_200F_206D_206A_200D_206A_200B_200B_202E_202D_202D_200D_200B_200B_206B_200B_200F_200F_200F_206B_206D_200B_206F_200D_200F_206F_200C_202E(current2))); - num = 1028023343; - break; - case 8: - snapshot.ContentFinderConditionIds[contentFinderConditionData.ContentFinderConditionId] = (value2.Id, current3); - num = 1028023343; - break; - case 2: - num = ((_202D_200E_206B_202B_200B_200F_206F_202C_200F_202B_200C_206F_202E_206F_206D_206B_202D_206A_206B_202B_200B_206E_206F_202C_206D_200D_206A_202D_200D_202E_200F_202D_206D_200D_202E_206F_200C_200B_206C_206A_202E(current3) != EInteractionType.Duty) ? 1028023338 : 1028023336); - break; - case 10: - current3 = enumerator3.Current; - num = ((current3 == null) ? 1028023338 : 1028023340); - break; - case 5: - snapshot.ContentFinderConditionIds[_206B_202A_200B_206D_200D_206A_202A_202D_202B_206F_206A_206A_200B_202D_202E_202C_206F_206F_200E_200C_200B_202A_206F_202A_206F_206B_206D_206F_206D_200B_202A_200E_202E_202D_202E_202C_200D_200F_206F_206A_202E(dutyOptions)] = (value2.Id, current3); - num = ((!DutyRegistry.Duties.TryGetValue(_206B_202A_200B_206D_200D_206A_202A_202D_202B_206F_206A_206A_200B_202D_202E_202C_206F_206F_200E_200C_200B_202A_206F_202A_206F_206B_206D_206F_206D_200B_202A_200E_202E_202D_202E_202C_200D_200F_206F_206A_202E(dutyOptions), out value)) ? 1028023343 : 1028023342); - break; - case 0: - num = ((!value.LowPriority) ? 1028023343 : 1028023341); - break; - case 9: - num = ((!_territoryData.TryGetContentFinderConditionForSoloInstance(value2.Id, _202D_206F_206A_200D_206B_200B_200F_200D_202C_206F_200C_202A_206A_202D_200C_206A_200D_202A_200C_206F_200E_200C_202B_202B_202E_202B_202D_200D_200B_200E_200F_200B_202C_200B_202D_202C_202A_206F_206D_200F_202E(current3), out contentFinderConditionData)) ? 1028023343 : 1028023334); - break; - case 1: - num = (_206A_200C_206F_202E_202B_202E_206A_206D_206B_200F_206F_206C_202B_206C_202E_200C_206D_202B_202E_206E_200E_200E_202E_206B_206F_206F_200B_206E_206A_200C_200F_202D_206F_200E_200B_206A_206E_202A_206A_206F_202E((IEnumerator)enumerator3) ? 1028023332 : 1028023333); - break; - case 7: - num = 1028023343; - break; - case 6: - dutyOptions = _202B_200E_200B_202B_200F_202C_202C_200E_206E_200C_206E_200E_200B_206E_206B_200E_202A_200C_202B_206F_200C_206C_200B_202D_206D_200F_206B_206A_202A_200E_202D_200F_206F_206C_200D_206C_206D_206E_206E_206D_202E(current3); - num = ((dutyOptions == null) ? 1028023338 : 1028023339); - break; - case 4: - num = ((_202D_200E_206B_202B_200B_200F_206F_202C_200F_202B_200C_206F_202E_206F_206D_206B_202D_206A_206B_202B_200B_206E_206F_202C_206D_200D_206A_202D_200D_202E_200F_202D_206D_200D_202E_206F_200C_200B_206C_206A_202E(current3) != EInteractionType.SinglePlayerDuty) ? 1028023343 : 1028023335); - break; - case 11: - goto end_IL_0076; + snapshot.LowPriorityContentFinderConditionQuests.Add((dutyOptions.ContentFinderConditionId, value2.Id, item.Sequence)); } continue; - end_IL_0076: - break; } } - finally + if (item2.InteractionType == EInteractionType.SinglePlayerDuty && _territoryData.TryGetContentFinderConditionForSoloInstance(value2.Id, item2.SinglePlayerDutyIndex, out TerritoryData.ContentFinderConditionData contentFinderConditionData)) { - int num = ((enumerator3 == null) ? (-150656918) : (-150656919)); - while (true) - { - int num7 = num; - int num3 = -150656920; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -150656919; - break; - case 2: - goto end_IL_02bc; - case 1: - _206D_206E_202E_202C_206B_206D_206C_202E_200F_206B_202D_202A_200E_202C_202B_200E_202D_202E_202A_206F_206A_200F_206E_206B_200C_202C_200B_200D_206F_202C_200B_200B_200B_206A_202E_200D_200B_202D_206B_202B_202E((IDisposable)enumerator3); - num = -150656918; - break; - } - continue; - end_IL_02bc: - break; - } + snapshot.ContentFinderConditionIds[contentFinderConditionData.ContentFinderConditionId] = (value2.Id, item2); } } } - finally - { - int num = ((enumerator2 == null) ? (-660115982) : (-660115983)); - while (true) - { - int num8 = num; - int num3 = -660115984; - int num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -660115983; - break; - case 2: - goto end_IL_0336; - case 1: - _206D_206E_202E_202C_206B_206D_206C_202E_200F_206B_202D_202A_200E_202C_202B_200E_202D_202E_202A_206F_206A_200F_206E_206B_200C_202C_200B_200D_206F_202C_200B_200B_200B_206A_202E_200D_200B_202D_206B_202B_202E((IDisposable)enumerator2); - num = -660115982; - break; - } - continue; - end_IL_0336: - break; - } - } } } @@ -895,550 +269,206 @@ internal sealed class QuestRegistry : IDisposable _questValidator.Validate(_snapshot.Quests.Values.Where((Quest x) => x.Source != Quest.ESource.Assembly).ToList()); } - [MethodImpl(MethodImplOptions.NoInlining)] private void LoadQuestFromStream(Snapshot snapshot, string fileName, Stream stream, Quest.ESource source, string directoryName, string? sourcePath) { - //Discarded unreachable code: IL_04a0 - int num = ((source != Quest.ESource.UserDirectory) ? (-1633789934) : (-1633789936)); - ElementId elementId = default(ElementId); - int num12 = default(int); - string text5 = default(string); - JsonObject jsonObject = default(JsonObject); - JsonNode jsonNode3 = default(JsonNode); - UnlockLinkId unlockLinkId = default(UnlockLinkId); - JsonNode jsonNode2 = default(JsonNode); - string patch = default(string); - string name = default(string); - uint issuerDataId = default(uint); - while (true) + if (source == Quest.ESource.UserDirectory) { - int num2 = num; - int num3 = -1633789935; - int num4 = num2; - QuestRoot questRoot; - IQuestInfo questInfo; - switch ((num4 | num3) - (num4 & num3)) + _logger.LogTrace("Loading quest from '{FileName}'", fileName); + } + ElementId elementId = ExtractQuestIdFromName(fileName); + if (elementId == null) + { + return; + } + JsonNode jsonNode; + try + { + jsonNode = JsonNode.Parse(stream); + } + catch (JsonException ex) + { + ValidationIssue validationIssue = new ValidationIssue { - case 3: - elementId = ExtractQuestIdFromName(fileName); - num = ((!_206C_206A_200C_206C_200F_206B_206F_200E_200D_206F_206B_206D_202A_200C_202A_200D_200E_200B_200B_200C_202A_200C_206B_200F_206C_206B_206D_202B_206B_206C_206C_206D_202B_202E_206C_206A_206A_200D_206D_202E_202E(elementId, (ElementId)null)) ? (-1633789933) : (-1633789935)); - break; - case 1: - _200C_202D_206A_202D_206A_206F_200D_206F_206A_202A_202D_206B_206F_200F_202B_200B_200C_200E_200E_200C_206B_202B_202D_200D_202A_200F_200F_200B_200D_200B_206C_200F_206A_202E_206B_206B_202A_206D_200D_206C_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1755890010), new object[1] { fileName }); - num = -1633789934; - break; - case 4: - num = -1633789936; - break; - case 0: + PathType = EPathType.Quest, + Id = elementId.ToString(), + Location = null, + Type = EIssueType.InvalidJsonSyntax, + Severity = EIssueSeverity.Error, + Description = "JSON syntax error in " + fileName + ": " + ex.Message + }; + _questValidator.AddValidationIssue(validationIssue); + snapshot.FailedLoads[elementId] = new FailedQuestLoad(elementId, fileName, validationIssue.Description, source); + return; + } + try + { + List list = _jsonSchemaValidator.ValidateImmediate(elementId, jsonNode); + if (list.Count > 0) + { + foreach (ValidationIssue item in list) + { + _questValidator.AddValidationIssue(item); + } return; - case 2: - { - JsonNode jsonNode; - try - { - jsonNode = _200F_206A_200D_206A_202E_206F_200F_202A_206D_200E_200F_200D_200F_200C_202A_206B_200C_200D_200F_206A_202E_206B_200D_206B_202C_202C_200B_206A_206A_202C_200B_200F_200E_202A_202D_200B_200D_202C_206B_202E_202E(stream, (JsonNodeOptions?)null, default(JsonDocumentOptions)); - } - catch (JsonException ex) - { - ValidationIssue validationIssue = new ValidationIssue - { - PathType = EPathType.Quest, - Id = _200B_200C_206D_206D_202A_206E_200C_206A_206D_206C_206D_202E_202D_202A_200D_206D_206D_202B_206F_206E_202B_206C_206F_206F_206E_202E_202A_200F_200B_202B_200F_202A_200E_202E_202B_206B_202A_202D_202D_202B_202E((object)elementId), - Location = null, - Type = EIssueType.InvalidJsonSyntax, - Severity = EIssueSeverity.Error, - Description = _206E_200C_202A_202D_202B_200B_206A_200B_206F_206A_206F_200D_202E_200C_200C_200C_206F_202D_200B_202D_206F_206B_202C_200F_206C_206B_206B_206C_206E_200B_200D_202C_206B_202D_206F_202B_202B_206B_200E_206D_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1049555621), fileName, 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(-437343681), _202E_206D_202C_202B_200D_206A_200C_200E_200E_206B_206A_206F_200C_206E_200C_202C_200B_206A_200B_206D_206F_202E_200E_206E_200F_206C_202A_200B_206C_202A_206A_206D_206B_200F_206B_206F_200F_202B_206F_206C_202E((Exception)ex)) - }; - _questValidator.AddValidationIssue(validationIssue); - snapshot.FailedLoads[elementId] = new FailedQuestLoad(elementId, fileName, validationIssue.Description, source); - return; - } - try - { - List list = _jsonSchemaValidator.ValidateImmediate(elementId, jsonNode); - if (list.Count > 0) - { - using (List.Enumerator enumerator = list.GetEnumerator()) - { - num = -1176381929; - while (true) - { - int num5 = num; - num3 = -1176381932; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 2: - num = -1176381929; - break; - case 3: - num = (enumerator.MoveNext() ? (-1176381931) : (-1176381932)); - break; - case 1: - { - ValidationIssue current = enumerator.Current; - _questValidator.AddValidationIssue(current); - num = -1176381929; - break; - } - case 0: - return; - } - } - } - } - } - catch (Exception ex2) - { - QuestValidator questValidator = _questValidator; - ValidationIssue obj = new ValidationIssue - { - PathType = EPathType.Quest, - Id = _200B_200C_206D_206D_202A_206E_200C_206A_206D_206C_206D_202E_202D_202A_200D_206D_206D_202B_206F_206E_202B_206C_206F_206F_206E_202E_202A_200F_200B_202B_200F_202A_200E_202E_202B_206B_202A_202D_202D_202B_202E((object)elementId), - Location = null, - Type = EIssueType.InvalidJsonSchema, - Severity = EIssueSeverity.Error - }; - string text = 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(-1879428071); - Exception ex3 = _200E_206A_200F_206E_206B_200C_202E_206C_202B_206C_200E_206E_202D_206D_206E_200E_206A_206B_206E_200B_206C_206F_200F_206E_206D_200D_206B_206A_206F_206F_202E_206A_206F_202E_206F_206D_202C_202C_200B_200E_202E(ex2); - obj.Description = _200E_202A_200C_206A_202A_206C_200F_206C_202C_202B_206C_200E_200C_206C_200D_206F_200E_206C_202B_202D_200F_206E_202A_202C_206D_200E_202A_202C_200C_200D_202B_206B_206E_200D_200E_206C_206D_202B_200B_200C_202E(text, ((ex3 != null) ? _202E_206D_202C_202B_200D_206A_200C_200E_200E_206B_206A_206F_200C_206E_200C_202C_200B_206A_200B_206D_206F_202E_200E_206E_200F_206C_202A_200B_206C_202A_206A_206D_206B_200F_206B_206F_200F_202B_206F_206C_202E(ex3) : null) ?? _202E_206D_202C_202B_200D_206A_200C_200E_200E_206B_206A_206F_200C_206E_200C_202C_200B_206A_200B_206D_206F_202E_200E_206E_200F_206C_202A_200B_206C_202A_206A_206D_206B_200F_206B_206F_200F_202B_206F_206C_202E(ex2)); - questValidator.AddValidationIssue(obj); - return; - } - try - { - questRoot = jsonNode.Deserialize(); - } - catch (JsonException ex4) - { - var (location, text2) = FormatDeserializationError(ex4); - _questValidator.AddValidationIssue(new ValidationIssue - { - PathType = EPathType.Quest, - Id = _200B_200C_206D_206D_202A_206E_200C_206A_206D_206C_206D_202E_202D_202A_200D_206D_206D_202B_206F_206E_202B_206C_206F_206F_206E_202E_202A_200F_200B_202B_200F_202A_200E_202E_202B_206B_202A_202D_202D_202B_202E((object)elementId), - Location = location, - Type = EIssueType.InvalidJsonSchema, - Severity = EIssueSeverity.Error, - Description = text2 - }); - snapshot.FailedLoads[elementId] = new FailedQuestLoad(elementId, fileName, text2, source); - return; - } - if (!_questData.TryGetQuestInfo(elementId, out questInfo)) - { - num = 1756411224; - while (true) - { - int num8 = num; - num3 = 1756411225; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - string text3; - switch (num9 - (num10 + num10)) - { - default: - continue; - case 5: - { - int num13 = num12; - num3 = 1; - num4 = num13; - num = (((num4 | num3) + (num4 & num3) < _202E_202B_206D_202E_200F_202B_206E_206C_202E_200E_206B_206B_200B_200C_200C_200D_200C_202C_206B_200B_206A_200D_206D_206C_206C_200F_202D_200D_206E_206A_202B_206D_206B_206F_200F_200F_200B_200D_206F_202C_202E(text5)) ? 1756411229 : 1756411231); - continue; - } - case 6: - text3 = text5; - goto IL_0459; - case 2: - num = 1756411224; - continue; - case 0: - if (_206C_206C_202E_206B_200B_200D_202A_200F_206B_202D_206F_206C_200C_200B_206D_206B_202D_202E_200B_202A_202E_206D_200B_200E_200C_200E_202D_206B_206F_202A_206B_202D_202A_200C_206C_206C_206B_202A_200D_206E_202E(jsonObject, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1530836944), ref jsonNode3)) - { - num = 1756411226; - continue; - } - goto IL_04b7; - case 3: - if (jsonNode3 != null) - { - goto case 7; - } - goto IL_04b7; - case 7: - text5 = _200E_200F_206A_200C_202A_202A_206F_200B_206B_206A_206F_200B_206A_200B_206D_206E_206E_206C_206F_206D_200F_200F_200F_202E_206D_206F_202E_200D_206A_206F_206C_206C_206D_202A_206B_200F_200D_206F_200D_206E_202E(fileName); - num12 = _206B_206F_202D_202A_200B_202E_202D_202E_206C_206E_206B_202B_200E_202C_202D_202B_200E_206E_200F_200D_206D_200B_200C_206F_206F_202D_200E_200D_202B_200F_202E_200F_200B_206D_202E_202D_206C_202E_202B_200D_202E(text5, '_', StringComparison.Ordinal); - num = ((num12 < 0) ? 1756411231 : 1756411228); - continue; - case 4: - { - string text4 = text5; - int num11 = num12; - num3 = 1; - num4 = num11; - text3 = _200C_200C_200D_202C_200D_200C_206E_200C_200F_206E_202D_202C_206E_202B_202B_202C_200B_200D_202C_202B_206F_200B_206F_200E_202C_206C_206E_206B_200D_200F_206B_202B_206E_206D_206B_202C_206C_206E_206F_202B_202E(text4, (num4 | num3) + (num4 & num3)); - goto IL_0459; - } - case 1: - { - unlockLinkId = elementId as UnlockLinkId; - if ((object)unlockLinkId != null) - { - num = 1756411230; - continue; - } - _200E_200E_202D_200B_206D_202C_206E_202C_200E_206A_200E_206D_200C_206B_202D_206E_202A_206C_206F_206F_202E_200B_206F_202E_200C_206A_200D_206A_202D_200E_202B_206D_206F_202B_202B_200C_202D_206C_206F_202A_202E((ILogger)_logger, 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(1061402361), new object[2] { elementId, fileName }); - return; - } - IL_04b7: - if (_206C_206C_202E_206B_200B_200D_202A_200F_206B_202D_206F_206C_200C_200B_206D_206B_202D_202E_200B_202A_202E_206D_200B_200E_200C_200E_202D_206B_206F_202A_206B_202D_202A_200C_206C_206C_206B_202A_200D_206E_202E(jsonObject, 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(719899107), ref jsonNode2) && jsonNode2 != null) - { - try - { - patch = jsonNode2.GetValue(); - } - catch (Exception) - { - patch = null; - } - } - break; - IL_0459: - name = text3; - name = NormalizeDerivedName(name); - issuerDataId = 0u; - patch = null; - jsonObject = jsonNode as JsonObject; - if (jsonObject != null) - { - num = 1756411225; - continue; - } - break; - } - break; - } - num = (_200B_200F_206B_206D_202B_200B_206C_202C_202A_206B_200C_206D_202A_202A_200E_206C_200F_202C_206E_202C_202A_202D_206A_206E_202C_206D_200D_206A_200D_206D_202A_206B_206B_202B_202E_202C_200E_206B_202B_206F_202E(questRoot).HasValue ? 1325179622 : 1325179621); - goto IL_0519; - } - goto IL_0677; - } - IL_0519: - while (true) - { - int num14 = num; - num3 = 1325179620; - num4 = num14; - DateTime? obj2; - DateTime? obj3; - DateTime? expiry; - DateTime? expiryTime; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 5: - num = 1325179621; - continue; - case 6: - obj2 = DateTime.SpecifyKind(_200B_200F_206B_206D_202B_200B_206C_202C_202A_206B_200C_206D_202A_202A_200E_206C_200F_202C_206E_202C_202A_202D_206A_206E_202C_206D_200D_206A_200D_206D_202A_206B_206B_202B_202E_202C_200E_206B_202B_206F_202E(questRoot).Value, DateTimeKind.Utc); - goto IL_058b; - case 0: - { - Quest quest = new Quest - { - Id = elementId, - Root = questRoot, - Info = questInfo, - Source = source, - SourcePath = sourcePath - }; - snapshot.Quests[quest.Id] = quest; - num = (_206F_206F_206E_202E_200F_206E_200C_202D_200B_206E_200B_202A_206F_206B_200F_202C_206D_202B_202D_202A_206C_202D_200F_206B_202B_206A_200F_206B_206B_206F_206C_206C_202B_206A_200C_206E_200C_206A_200F_200E_202E(directoryName) ? 1325179630 : 1325179623); - continue; - } - case 3: - snapshot.QuestFolderNames[elementId] = directoryName; - num = 1325179630; - continue; - case 7: - num = (_200B_200F_206B_206D_202B_200B_206C_202C_202A_206B_200C_206D_202A_202A_200E_206C_200F_202C_206E_202C_202A_202D_206A_206E_202C_206D_200D_206A_200D_206D_202A_206B_206B_202B_202E_202C_200E_206B_202B_206F_202E(questRoot).HasValue ? 1325179618 : 1325179629); - continue; - case 8: - break; - case 1: - obj3 = null; - goto IL_06f3; - case 9: - obj2 = null; - goto IL_058b; - case 2: - obj3 = DateTime.SpecifyKind(_200B_200F_206B_206D_202B_200B_206C_202C_202A_206B_200C_206D_202A_202A_200E_206C_200F_202C_206E_202C_202A_202D_206A_206E_202C_206D_200D_206A_200D_206D_202A_206B_206B_202B_202E_202C_200E_206B_202B_206F_202E(questRoot).Value, DateTimeKind.Utc); - goto IL_06f3; - case 10: - return; - case 4: - { - num = ((!_200B_200F_206B_206D_202B_200B_206C_202C_202A_206B_200C_206D_202A_202A_200E_206C_200F_202C_206E_202C_202A_202D_206A_206E_202C_206D_200D_206A_200D_206D_202A_206B_206B_202B_202E_202C_200E_206B_202B_206F_202E(questRoot).HasValue) ? 1325179620 : 1325179619); - continue; - } - IL_058b: - expiry = obj2; - _questData.ApplySeasonalOverride(elementId, _206E_206A_200C_206A_206A_200B_206E_200F_200F_202C_200B_202A_200C_200C_206D_206C_202E_202D_200E_202C_202A_202E_200F_206D_206E_206F_200D_202D_206D_200F_202A_206A_206E_200D_206D_202C_206D_202A_200E_206D_202E(questRoot) ?? questInfo.IsSeasonalQuest, expiry); - num = 1325179620; - continue; - IL_06f3: - expiryTime = obj3; - questInfo = new UnlockLinkQuestInfo(unlockLinkId, name, issuerDataId, expiryTime, patch); - _200B_200F_200B_200B_200E_206A_206E_200B_200D_200E_200E_200D_206D_200D_206F_200F_200D_200B_206C_200D_200D_206E_202E_202D_206A_200C_202A_206A_202E_206A_206B_202E_202B_206D_206A_206D_200F_206C_200E_206B_202E((ILogger)_logger, 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(1530339491), new object[2] { elementId, fileName }); - _questData.AddOrReplaceQuestInfo(questInfo); - break; - } - break; - } - goto IL_0677; - IL_0677: - num = (_206E_206A_200C_206A_206A_200B_206E_200F_200F_202C_200B_202A_200C_200C_206D_206C_202E_202D_200E_202C_202A_202E_200F_206D_206E_206F_200D_202D_206D_200F_202A_206A_206E_200D_206D_202C_206D_202A_200E_206D_202E(questRoot).HasValue ? 1325179619 : 1325179616); - goto IL_0519; } } + catch (Exception ex2) + { + _questValidator.AddValidationIssue(new ValidationIssue + { + PathType = EPathType.Quest, + Id = elementId.ToString(), + Location = null, + Type = EIssueType.InvalidJsonSchema, + Severity = EIssueSeverity.Error, + Description = "Schema validation error: " + (ex2.InnerException?.Message ?? ex2.Message) + }); + return; + } + QuestRoot questRoot; + try + { + questRoot = jsonNode.Deserialize(); + } + catch (JsonException ex3) + { + var (location, text) = FormatDeserializationError(ex3); + _questValidator.AddValidationIssue(new ValidationIssue + { + PathType = EPathType.Quest, + Id = elementId.ToString(), + Location = location, + Type = EIssueType.InvalidJsonSchema, + Severity = EIssueSeverity.Error, + Description = text + }); + snapshot.FailedLoads[elementId] = new FailedQuestLoad(elementId, fileName, text, source); + return; + } + if (!_questData.TryGetQuestInfo(elementId, out IQuestInfo questInfo)) + { + if (!(elementId is UnlockLinkId unlockLinkId)) + { + _logger.LogWarning("Not loading unknown quest {QuestId} from project file {FileName}", elementId, fileName); + return; + } + string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(fileName); + int num = fileNameWithoutExtension.IndexOf('_', StringComparison.Ordinal); + string name = ((num >= 0 && num + 1 < fileNameWithoutExtension.Length) ? fileNameWithoutExtension.Substring(num + 1) : fileNameWithoutExtension); + name = NormalizeDerivedName(name); + uint issuerDataId = 0u; + string patch = null; + if (jsonNode is JsonObject jsonObject) + { + if (jsonObject.TryGetPropertyValue("DataId", out JsonNode jsonNode2) && jsonNode2 != null) + { + try + { + issuerDataId = jsonNode2.GetValue(); + } + catch (Exception) + { + issuerDataId = 0u; + } + } + if (jsonObject.TryGetPropertyValue("Patch", out JsonNode jsonNode3) && jsonNode3 != null) + { + try + { + patch = jsonNode3.GetValue(); + } + catch (Exception) + { + patch = null; + } + } + } + DateTime? expiryTime = (questRoot.SeasonalQuestExpiry.HasValue ? new DateTime?(DateTime.SpecifyKind(questRoot.SeasonalQuestExpiry.Value, DateTimeKind.Utc)) : ((DateTime?)null)); + questInfo = new UnlockLinkQuestInfo(unlockLinkId, name, issuerDataId, expiryTime, patch); + _logger.LogDebug("Created UnlockLinkQuestInfo for {QuestId} from project file '{FileName}'", elementId, fileName); + _questData.AddOrReplaceQuestInfo(questInfo); + } + if (questRoot.IsSeasonalQuest.HasValue || questRoot.SeasonalQuestExpiry.HasValue) + { + DateTime? expiry = (questRoot.SeasonalQuestExpiry.HasValue ? new DateTime?(DateTime.SpecifyKind(questRoot.SeasonalQuestExpiry.Value, DateTimeKind.Utc)) : ((DateTime?)null)); + _questData.ApplySeasonalOverride(elementId, questRoot.IsSeasonalQuest ?? questInfo.IsSeasonalQuest, expiry); + } + Quest quest = new Quest + { + Id = elementId, + Root = questRoot, + Info = questInfo, + Source = source, + SourcePath = sourcePath + }; + snapshot.Quests[quest.Id] = quest; + if (!string.IsNullOrEmpty(directoryName)) + { + snapshot.QuestFolderNames[elementId] = directoryName; + } } - [MethodImpl(MethodImplOptions.NoInlining)] private void LoadFromDirectory(Snapshot snapshot, DirectoryInfo directory, Quest.ESource source, LogLevel logLevel = LogLevel.Debug) { - int num = (_200D_206E_202D_202C_200D_206D_206B_200E_200B_200C_200F_206B_200E_206A_200B_202B_200E_206A_200B_206F_206D_202C_200D_200F_200C_206D_200F_206A_206F_206B_206C_202C_200C_202B_202D_200C_200D_202B_202C_200F_202E((FileSystemInfo)directory) ? (-275721768) : (-275721767)); - DirectoryInfo[] array2 = default(DirectoryInfo[]); - while (true) + if (!directory.Exists) { - int num2 = num; - int num3 = -275721768; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _logger.LogDebug("Not loading quests from {DirectoryName} (doesn't exist)", directory); + return; + } + if (source == Quest.ESource.UserDirectory) + { + _logger.Log(logLevel, "Loading quests from {DirectoryName}", directory); + } + FileInfo[] files = directory.GetFiles("*.json"); + foreach (FileInfo fileInfo in files) + { + try { - case 0: - num = ((source != Quest.ESource.UserDirectory) ? (-275721765) : (-275721766)); - break; - case 1: - _200B_200F_200B_200B_200E_206A_206E_200B_200D_200E_200E_200D_206D_200D_206F_200F_200D_200B_206C_200D_200D_206E_202E_202D_206A_200C_202A_206A_202E_206A_206B_202E_202B_206D_206A_206D_200F_206C_200E_206B_202E((ILogger)_logger, 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(-142032433), new object[1] { directory }); - return; - case 4: - num = -275721767; - break; - case 2: - _206B_200B_206F_206F_200C_202D_202B_200D_206A_206A_202A_202B_200B_202E_202A_202B_206A_200F_200F_200C_200E_206C_202A_202B_202A_202E_200F_206A_200B_202B_206B_200E_202C_200B_206D_202D_202A_200F_200C_202E((ILogger)_logger, logLevel, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(956239880), new object[1] { directory }); - num = -275721765; - break; - case 3: + using FileStream stream = fileInfo.OpenRead(); + LoadQuestFromStream(snapshot, fileInfo.Name, stream, source, directory.Name, fileInfo.FullName); + } + catch (Exception innerException) { - FileInfo[] array = _202A_200F_206E_202E_206A_200D_206A_200C_202E_206B_200F_202A_206C_206D_202A_206C_200D_200C_206C_206E_202E_206F_200D_206B_200C_202B_206B_200D_200B_202C_202D_202C_202E_202D_200F_202E_206C_206E_206D_202E(directory, 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(1350212695)); - int num5 = 0; - while (num5 < array.Length) - { - FileInfo fileInfo = array[num5]; - try - { - FileStream fileStream = _206A_202B_202D_200E_206B_206B_206D_206D_206E_202A_206D_202A_202D_200F_206F_206E_206B_200F_200B_206C_206F_206C_206B_206B_202D_200B_206E_206B_200D_200C_202E_206A_202D_206F_202B_202D_206A_200E_206F_206F_202E(fileInfo); - try - { - LoadQuestFromStream(snapshot, _202E_206C_206C_200B_202B_206A_206F_202E_200F_206C_202B_200D_206C_206E_202C_200E_200F_206D_202C_200C_206F_200F_206B_202C_206B_202C_202D_200B_202C_200F_206C_202B_202E_206E_202C_200F_200E_206E_200F_206A_202E((FileSystemInfo)fileInfo), fileStream, source, _202E_206C_206C_200B_202B_206A_206F_202E_200F_206C_202B_200D_206C_206E_202C_200E_200F_206D_202C_200C_206F_200F_206B_202C_206B_202C_202D_200B_202C_200F_206C_202B_202E_206E_202C_200F_200E_206E_200F_206A_202E((FileSystemInfo)directory), _206E_200F_200B_206F_206C_206E_206A_206D_206D_202C_200D_206F_206B_200D_202D_200C_200C_202D_202A_202E_206C_202E_200B_202A_206A_202C_202D_202C_200B_206B_202E_200C_200E_200D_200C_206A_200F_202B_200D_202C_202E((FileSystemInfo)fileInfo)); - } - finally - { - num = ((fileStream == null) ? 1614383146 : 1614383145); - while (true) - { - int num6 = num; - num3 = 1614383144; - num4 = num6; - int num7 = num4 + num3; - int num8 = num4 & num3; - switch (num7 - (num8 + num8)) - { - case 0: - num = 1614383145; - break; - case 2: - goto end_IL_0130; - case 1: - _206D_206E_202E_202C_206B_206D_206C_202E_200F_206B_202D_202A_200E_202C_202B_200E_202D_202E_202A_206F_206A_200F_206E_206B_200C_202C_200B_200D_206F_202C_200B_200B_200B_206A_202E_200D_200B_202D_206B_202B_202E((IDisposable)fileStream); - num = 1614383146; - break; - } - continue; - end_IL_0130: - break; - } - } - } - catch (Exception ex) - { - throw _200E_202B_200E_206E_200B_206D_202B_200D_206B_206F_206C_200B_200D_200C_200F_202B_202D_202A_206C_202B_202A_202D_206E_202D_200B_206E_202E_206A_200E_202D_202B_200E_200C_200C_200D_206C_200F_206A_206E_206C_202E(_200E_202A_200C_206A_202A_206C_200F_206C_202C_202B_206C_200E_200C_206C_200D_206F_200E_206C_202B_202D_200F_206E_202A_202C_206D_200E_202A_202C_200C_200D_202B_206B_206E_200D_200E_206C_206D_202B_200B_200C_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2100413596), _206E_200F_200B_206F_206C_206E_206A_206D_206D_202C_200D_206F_206B_200D_202D_200C_200C_202D_202A_202E_206C_202E_200B_202A_206A_202C_202D_202C_200B_206B_202E_200C_200E_200D_200C_206A_200F_202B_200D_202C_202E((FileSystemInfo)fileInfo)), ex); - } - int num9 = num5; - num3 = 1; - num4 = num9; - int num10 = num4 ^ num3; - int num11 = num4 & num3; - num5 = num10 + (num11 + num11); - } - num = 174838453; - while (true) - { - int num12 = num; - num3 = 174838449; - num4 = num12; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return; - case 4: - array2 = _202D_202C_200F_200F_200E_206A_206E_200F_202A_200C_206E_202D_206D_200B_206F_202A_206D_200F_200D_200D_206E_200E_206B_200E_200F_202D_200E_206F_202B_206A_202C_200D_206E_206E_200C_202D_200C_200E_206F_206D_202E(directory); - num5 = 0; - num = 174838450; - break; - case 0: - { - DirectoryInfo directory2 = array2[num5]; - LoadFromDirectory(snapshot, directory2, source, logLevel); - int num13 = num5; - num3 = 1; - num4 = num13; - num5 = (num4 | num3) + (num4 & num3); - num = 174838450; - break; - } - case 2: - num = 174838453; - break; - case 3: - num = ((num5 < array2.Length) ? 174838449 : 174838448); - break; - } - } - } + throw new InvalidDataException("Unable to load file " + fileInfo.FullName, innerException); } } + DirectoryInfo[] directories = directory.GetDirectories(); + foreach (DirectoryInfo directory2 in directories) + { + LoadFromDirectory(snapshot, directory2, source, logLevel); + } } - [MethodImpl(MethodImplOptions.NoInlining)] private static (string? Location, string Description) FormatDeserializationError(JsonException ex) { - string text = _202E_206C_206B_202C_206F_206B_200D_200F_200D_202E_206B_200E_200B_200E_206F_202E_200D_202B_200E_202A_202A_206A_206A_206D_206A_200E_206D_206B_202E_202B_206C_202A_206C_200E_206A_202E_200F_206C_206D_206D_202E(ex); - int num = ((!_206F_206F_206E_202E_200F_206E_200C_202D_200B_206E_200B_202A_206F_206B_200F_202C_206D_202B_202D_202A_206C_202D_200F_206B_202B_206A_200F_206B_206B_206F_206C_206C_202B_206A_200C_206E_200C_206A_200F_200E_202E(text)) ? (-1215246934) : (-1215246943)); - Match match = default(Match); - Match match2 = default(Match); - Match match3 = default(Match); - string item = default(string); - string text3 = default(string); - string text2 = default(string); - string item2 = default(string); - while (true) + string path = ex.Path; + if (string.IsNullOrEmpty(path)) { - int num2 = num; - int num3 = -1215246936; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - string text5; - string text6; - Exception ex3; - switch (num5 - (num6 + num6)) - { - case 3: - text5 = _206C_200F_206C_206A_200C_202D_200C_206B_202E_202C_206A_206A_206F_206F_200E_202D_200E_200E_200B_206C_206B_200E_202A_200D_200E_200F_200D_206D_200D_200E_200B_200C_202E_202B_202B_200D_202B_206E_200C_206F_202E((Capture)_206E_206C_200F_202A_202C_202D_206C_206D_206E_202D_202D_206A_206C_200B_206B_202B_202A_206B_202B_206A_206A_202E_200B_206F_206D_206D_206D_206F_206B_202C_202D_202D_202E_200C_200E_202D_206C_206E_202E_206E_202E(_200E_200C_200D_206C_206A_202A_202D_200C_206F_206C_202E_206A_202B_202C_206C_202A_202C_200F_202E_206B_206C_202B_202B_206F_202A_200D_206F_202A_202D_206C_206A_206C_202A_202E_206B_200F_206D_202A_202E_202A_202E(match), 1)); - goto IL_0096; - case 0: - text6 = _206E_200C_202A_202D_202B_200B_206A_200B_206F_206A_206F_200D_202E_200C_200C_200C_206F_202D_200B_202D_206F_206B_202C_200F_206C_206B_206B_206C_206E_200B_200D_202C_206B_202D_206F_202B_202B_206B_200E_206D_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1005707421), _206C_200F_206C_206A_200C_202D_200C_206B_202E_202C_206A_206A_206F_206F_200E_202D_200E_200E_200B_206C_206B_200E_202A_200D_200E_200F_200D_206D_200D_200E_200B_200C_202E_202B_202B_200D_202B_206E_200C_206F_202E((Capture)_206E_206C_200F_202A_202C_202D_206C_206D_206E_202D_202D_206A_206C_200B_206B_202B_202A_206B_202B_206A_206A_202E_200B_206F_206D_206D_206D_206F_206B_202C_202D_202D_202E_200C_200E_202D_206C_206E_202E_206E_202E(_200E_200C_200D_206C_206A_202A_202D_200C_206F_206C_202E_206A_202B_202C_206C_202A_202C_200F_202E_206B_206C_202B_202B_206F_202A_200D_206F_202A_202D_206C_206A_206C_202A_202E_206B_200F_206D_202A_202E_202A_202E(match2), 1)), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1896283891), _206C_200F_206C_206A_200C_202D_200C_206B_202E_202C_206A_206A_206F_206F_200E_202D_200E_200E_200B_206C_206B_200E_202A_200D_200E_200F_200D_206D_200D_200E_200B_200C_202E_202B_202B_200D_202B_206E_200C_206F_202E((Capture)_206E_206C_200F_202A_202C_202D_206C_206D_206E_202D_202D_206A_206C_200B_206B_202B_202A_206B_202B_206A_206A_202E_200B_206F_206D_206D_206D_206F_206B_202C_202D_202D_202E_200C_200E_202D_206C_206E_202E_206E_202E(_200E_200C_200D_206C_206A_202A_202D_200C_206F_206C_202E_206A_202B_202C_206C_202A_202C_200F_202E_206B_206C_202B_202B_206F_202A_200D_206F_202A_202D_206C_206A_206C_202A_202E_206B_200F_206D_202A_202E_202A_202E(match3), 1))); - goto IL_012d; - case 6: - text6 = _200E_202A_200C_206A_202A_206C_200F_206C_202C_202B_206C_200E_200C_206C_200D_206F_200E_206C_202B_202D_200F_206E_202A_202C_206D_200E_202A_202C_200C_200D_202B_206B_206E_200D_200E_206C_206D_202B_200B_200C_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1005707421), _206C_200F_206C_206A_200C_202D_200C_206B_202E_202C_206A_206A_206F_206F_200E_202D_200E_200E_200B_206C_206B_200E_202A_200D_200E_200F_200D_206D_200D_200E_200B_200C_202E_202B_202B_200D_202B_206E_200C_206F_202E((Capture)_206E_206C_200F_202A_202C_202D_206C_206D_206E_202D_202D_206A_206C_200B_206B_202B_202A_206B_202B_206A_206A_202E_200B_206F_206D_206D_206D_206F_206B_202C_202D_202D_202E_200C_200E_202D_206C_206E_202E_206E_202E(_200E_200C_200D_206C_206A_202A_202D_200C_206F_206C_202E_206A_202B_202C_206C_202A_202C_200F_202E_206B_206C_202B_202B_206F_202A_200D_206F_202A_202D_206C_206A_206C_202A_202E_206B_200F_206D_202A_202E_202A_202E(match2), 1))); - goto IL_012d; - case 5: - match = _202C_206C_206E_202E_200C_206B_200F_206E_202D_202E_200C_202E_206C_200E_200E_206D_202B_202E_206C_202A_206B_202E_202A_206D_200B_200B_206F_206C_206A_200B_202C_202C_206B_206A_200B_200E_200D_206F_200D_202D_202E(text, 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(1694046713)); - num = (_200F_206D_202D_202E_206D_206A_206D_202E_200D_206A_206F_206F_206F_200D_202C_202E_202C_206A_202C_206C_202B_206C_200B_206B_202B_200C_206E_200F_202D_200F_202B_202E_206D_206F_206E_202E_202C_200D_202E_200E_202E((Group)match) ? (-1215246933) : (-1215246935)); - break; - case 13: - item = _200E_206E_200E_206E_202B_202B_202D_202C_206C_206A_202D_200F_206D_200E_200B_206C_202C_200C_206A_202C_200D_206F_206D_200F_206A_200C_200F_200B_200E_202A_206C_202B_200E_202D_206A_206B_202A_202A_202A_202D_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1307535606), text3, 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(415424875)); - num = -1215246942; - break; - case 1: - text5 = text; - goto IL_0096; - case 12: - item = _206E_200C_202A_202D_202B_200B_206A_200B_206F_206A_206F_200D_202E_200C_200C_200C_206F_202D_200B_202D_206F_206B_202C_200F_206C_206B_206B_206C_206E_200B_200D_202C_206B_202D_206F_202B_202B_206B_200E_206D_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1639651192), text3, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1253713181), text2); - num = -1215246942; - break; - case 7: - item = _200E_206E_200E_206E_202B_202B_202D_202C_206C_206A_202D_200F_206D_200E_200B_206C_202C_200C_206A_202C_200D_206F_206D_200F_206A_200C_200F_200B_200E_202A_206C_202B_200E_202D_206A_206B_202A_202A_202A_202D_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1307535606), text3, 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(1398980135)); - num = -1215246942; - break; - case 8: - num = -1215246943; - break; - case 11: - num = (_200F_206D_202D_202E_206D_206A_206D_202E_200D_206A_206F_206F_206F_200D_202C_202E_202C_206A_202C_206C_202B_206C_200B_206B_202B_200C_206E_200F_202D_200F_202B_202E_206D_206F_206E_202E_202C_200D_202E_200E_202E((Group)match3) ? (-1215246936) : (-1215246930)); - break; - case 2: - item2 = null; - match2 = _202C_206C_206E_202E_200C_206B_200F_206E_202D_202E_200C_202E_206C_200E_200E_206D_202B_202E_206C_202A_206B_202E_202A_206D_200B_200B_206F_206C_206A_200B_202C_202C_206B_206A_200B_200E_200D_206F_200D_202D_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(573240518)); - match3 = _202C_206C_206E_202E_200C_206B_200F_206E_202D_202E_200C_202E_206C_200E_200E_206D_202B_202E_206C_202A_206B_202E_202A_206D_200B_200B_206F_206C_206A_200B_202C_202C_206B_206A_200B_200E_200D_206F_200D_202D_202E(text, 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(779532051)); - num = ((!_200F_206D_202D_202E_206D_206A_206D_202E_200D_206A_206F_206F_206F_200D_202C_202E_202C_206A_202C_206C_202B_206C_200B_206B_202B_200C_206E_200F_202D_200F_202B_202E_206D_206F_206E_202E_202C_200D_202E_200E_202E((Group)match2)) ? (-1215246931) : (-1215246941)); - break; - case 9: - { - string text4 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(65663410); - Exception ex2 = _200E_206A_200F_206E_206B_200C_202E_206C_202B_206C_200E_206E_202D_206D_206E_200E_206A_206B_206E_200B_206C_206F_200F_206E_206D_200D_206B_206A_206F_206F_202E_206A_206F_202E_206F_206D_202C_202C_200B_200E_202E((Exception)ex); - return (Location: null, Description: _200E_202A_200C_206A_202A_206C_200F_206C_202C_202B_206C_200E_200C_206C_200D_206F_200E_206C_202B_202D_200F_206E_202A_202C_206D_200E_202A_202C_200C_200D_202B_206B_206E_200D_200E_206C_206D_202B_200B_200C_202E(text4, ((ex2 != null) ? _202E_206D_202C_202B_200D_206A_200C_200E_200E_206B_206A_206F_200C_206E_200C_202C_200B_206A_200B_206D_206F_202E_200E_206E_200F_206C_202A_200B_206C_202A_206A_206D_206B_200F_206B_206F_200F_202B_206F_206C_202E(ex2) : null) ?? _202E_206D_202C_202B_200D_206A_200C_200E_200E_206B_206A_206F_200C_206E_200C_202C_200B_206A_200B_206D_206F_202E_200E_206E_200F_206C_202A_200B_206C_202A_206A_206D_206B_200F_206B_206F_200F_202B_206F_206C_202E((Exception)ex))); - } - case 10: - return (Location: item2, Description: item); - case 4: - { - num = ((!_206B_202C_206B_202C_206E_202C_200B_202E_206F_202A_200F_200F_200C_206E_206E_206D_200B_200F_202D_200C_202A_206A_202C_202D_200B_202C_200F_206D_202B_202E_206D_206E_202E_202A_202A_200D_202C_202E_200F_206E_202E(text2, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1018481213), StringComparison.Ordinal)) ? (-1215246940) : (-1215246939)); - break; - } - IL_0096: - text3 = text5; - ex3 = _200E_206A_200F_206E_206B_200C_202E_206C_202B_206C_200E_206E_202D_206D_206E_200E_206A_206B_206E_200B_206C_206F_200F_206E_206D_200D_206B_206A_206F_206F_202E_206A_206F_202E_206F_206D_202C_202C_200B_200E_202E((Exception)ex); - text2 = ((ex3 != null) ? _202E_206D_202C_202B_200D_206A_200C_200E_200E_206B_206A_206F_200C_206E_200C_202C_200B_206A_200B_206D_206F_202E_200E_206E_200F_206C_202A_200B_206C_202A_206A_206D_206B_200F_206B_206F_200F_202B_206F_206C_202E(ex3) : null) ?? global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1281927779); - num = ((!_206B_202C_206B_202C_206E_202C_200B_202E_206F_202A_200F_200F_200C_206E_206E_206D_200B_200F_202D_200C_202A_206A_202C_202D_200B_202C_200F_206D_202B_202E_206D_206E_202E_202A_202A_200D_202C_202E_200F_206E_202E(text2, 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(-305903646), StringComparison.Ordinal)) ? (-1215246932) : (-1215246929)); - break; - IL_012d: - item2 = text6; - num = -1215246931; - break; - } + return (Location: null, Description: "Invalid value in quest file: " + (ex.InnerException?.Message ?? ex.Message)); } + string item = null; + Match match = Regex.Match(path, "QuestSequence\\[(\\d+)\\]"); + Match match2 = Regex.Match(path, "Steps\\[(\\d+)\\]"); + if (match.Success) + { + item = (match2.Success ? ("Seq " + match.Groups[1].Value + ", Step " + match2.Groups[1].Value) : ("Seq " + match.Groups[1].Value)); + } + Match match3 = Regex.Match(path, "\\.(\\w+)$"); + string text = (match3.Success ? match3.Groups[1].Value : path); + string text2 = ex.InnerException?.Message ?? ""; + string item2 = (text2.Contains("could not be converted", StringComparison.Ordinal) ? ("'" + text + "' has an invalid value") : ((!text2.Contains("is not supported", StringComparison.Ordinal)) ? ("'" + text + "' could not be read: " + text2) : ("'" + text + "' has an unrecognized value"))); + return (Location: item, Description: item2); } private static ElementId? ExtractQuestIdFromName(string resourceName) { - string text = _200E_200F_206A_200C_202A_202A_206F_200B_206B_206A_206F_200B_206A_200B_206D_206E_206E_206C_206F_206D_200F_200F_200F_202E_206D_206F_202E_200D_206A_206F_206C_206C_206D_202A_206B_200F_200D_206F_200D_206E_202E(resourceName); - text = _200C_200C_200D_202C_200D_200C_206E_200C_200F_206E_202D_202C_206E_202B_202B_202C_200B_200D_202C_202B_206F_200B_206F_200E_202C_206C_206E_206B_200D_200F_206B_202B_206E_206D_206B_202C_206C_206E_206F_202B_202E(text, _200F_202E_200E_202B_200C_202D_202E_206D_200D_202A_202C_206A_206A_202B_202A_200C_200D_200B_202D_202E_202D_206C_200E_202D_206B_200C_206F_202E_200E_206A_200D_202B_200F_206B_202D_200C_206D_206F_206F_200F_202E(text, '.') + 1); - int num = (_202D_206A_202A_202B_200B_200E_206E_206D_200F_202B_206C_202E_206F_206F_206F_206C_206B_202B_200F_200C_206B_202B_206A_200B_200B_200C_200E_202C_202A_202B_202E_200C_202D_200B_200E_206C_200E_200E_206D_206A_202E(text, '_', StringComparison.Ordinal) ? 2116929110 : 2116929111); - while (true) + string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(resourceName); + fileNameWithoutExtension = fileNameWithoutExtension.Substring(fileNameWithoutExtension.LastIndexOf('.') + 1); + if (!fileNameWithoutExtension.Contains('_', StringComparison.Ordinal)) { - int num2 = num; - int num3 = 2116929110; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0061; - case 0: - return _202C_202D_206D_206A_200B_200D_206E_200E_206F_206B_200F_200C_206F_202C_202C_202D_200D_202B_206F_200D_206B_206B_202B_206D_206C_202A_200F_202B_200B_206A_202A_206D_200D_206D_206E_200C_206D_200E_202C_202D_202E(_202C_206B_200B_200F_200B_206D_206A_206D_206E_202E_202A_206C_200F_200B_206D_206C_206F_200E_206F_202B_206A_206A_200F_202B_202A_200C_200D_206B_202D_206F_206A_200C_206A_200F_206E_200B_200F_200F_202B_200E_202E(text, '_', 2, StringSplitOptions.None)[0]); - case 1: - return null; - } - continue; - IL_0061: - num = 2116929111; + return null; } + return ElementId.FromString(fileNameWithoutExtension.Split('_', 2)[0]); } public bool IsKnownQuest(ElementId questId) @@ -1455,27 +485,11 @@ internal sealed class QuestRegistry : IDisposable { Dictionary quests = _snapshot.Quests; List list = _questData.GetClassJobQuests(classJob, includeRoleQuests).ToList(); - int num = ((_200B_206D_206F_202E_200C_206C_206A_200C_206A_200C_202B_200B_206E_206E_202C_206B_202B_206C_202D_202D_200D_202C_202A_202E_202C_200E_200F_206D_202C_202D_200D_200C_202C_206E_206C_206B_202D_200F_202B_200F_202E(classJob) == classJob) ? 951305919 : 951305916); - while (true) + if (classJob.AsJob() != classJob) { - int num2 = num; - int num3 = 951305918; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return list.Where((QuestInfo x) => quests.ContainsKey(x.QuestId)).ToList(); - case 2: - list.AddRange(_questData.GetClassJobQuests(_200B_206D_206F_202E_200C_206C_206A_200C_206A_200C_202B_200B_206E_206E_202C_206B_202B_206C_202D_202D_200D_202C_202A_202E_202C_200E_200F_206D_202C_202D_200D_200C_202C_206E_206C_206B_202D_200F_202B_200F_202E(classJob), includeRoleQuests)); - num = 951305919; - break; - case 0: - num = 951305916; - break; - } + list.AddRange(_questData.GetClassJobQuests(classJob.AsJob(), includeRoleQuests)); } + return list.Where((QuestInfo x) => quests.ContainsKey(x.QuestId)).ToList(); } public IEnumerable GetAllQuestIds() @@ -1488,377 +502,15 @@ internal sealed class QuestRegistry : IDisposable return _snapshot.QuestFolderNames.TryGetValue(questId, out folderName); } - [MethodImpl(MethodImplOptions.NoInlining)] private static string NormalizeDerivedName(string name) { - int num = ((!_200B_202C_206B_202D_206D_202A_200D_206A_200E_200D_206F_202C_202B_202D_206B_202E_206A_202C_200F_200D_200B_202E_200C_200C_200D_202C_202B_200B_202D_202C_206B_206D_206B_202B_202A_206B_206A_206A_206E_200E_202E(name)) ? (-1988237568) : (-1988237565)); - while (true) + if (string.IsNullOrWhiteSpace(name)) { - int num2 = num; - int num3 = -1988237566; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - name = _202E_200B_202E_200C_200E_206A_202D_206B_202B_206C_202C_202B_202A_206C_200D_206B_202D_206A_200E_202C_200B_202B_202B_202D_206C_206B_206E_206A_200C_202C_202C_206E_206D_206F_206D_206C_206C_200D_202C_206E_202E(name, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-546490491), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(751790982), StringComparison.OrdinalIgnoreCase); - name = _202E_206E_206E_206B_206B_206E_202E_202C_200F_202C_202B_206D_206C_200C_206E_206F_206C_202C_200B_200D_206D_206E_202E_202D_202B_202A_202A_200B_206E_202E_202A_202C_206C_202E_206C_202A_200B_202D_206D_200C_202E(name, 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(1726886552), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(751790982)); - name = _202C_206A_200D_206D_202A_202E_206E_200F_202C_206B_206B_200F_206A_200B_202E_200B_206A_206C_206B_202E_200C_206F_200E_206A_206F_200F_202B_200F_202B_200E_200E_202C_202C_206F_200E_202B_206C_202D_206F_206B_202E(name, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-86743715), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1887216830), RegexOptions.IgnoreCase); - return name; - case 1: - return name ?? string.Empty; - case 0: - goto IL_00ae; - } - continue; - IL_00ae: - num = -1988237565; + return name ?? string.Empty; } - } - - static Delegate _202D_202A_202A_202C_202A_200B_202E_200B_200B_202D_206B_200F_200D_202B_206B_206E_200D_202C_206C_202D_200B_200F_206A_200C_200F_200E_206E_202D_206E_202A_202A_200E_202D_206D_206E_206F_200C_202D_206C_206C_202E(Delegate P_0, Delegate P_1) - { - return Delegate.Combine(P_0, P_1); - } - - static Delegate _202E_202D_202B_206E_200F_202B_206B_200B_202B_202B_206E_202B_206F_202A_200D_200B_200D_206E_202D_202D_206A_206E_206D_202C_200F_200F_206E_200E_202B_206C_202E_202C_200D_200B_206F_202B_200B_206E_200B_206D_202E(Delegate P_0, Delegate P_1) - { - return Delegate.Remove(P_0, P_1); - } - - static DirectoryInfo _206D_202C_206C_206D_206A_200C_200F_200C_206A_206D_206D_206C_200E_206B_200F_200E_206F_202A_206E_206E_202A_206A_206D_206C_206E_202C_206A_202E_206E_206D_202B_200D_206D_200C_202B_202C_202A_200C_202A_206E_202E(IDalamudPluginInterface P_0) - { - return P_0.ConfigDirectory; - } - - static string _206E_200F_200B_206F_206C_206E_206A_206D_206D_202C_200D_206F_206B_200D_202D_200C_200C_202D_202A_202E_206C_202E_200B_202A_206A_202C_202D_202C_200B_206B_202E_200C_200E_200D_200C_206A_200F_202B_200D_202C_202E(FileSystemInfo P_0) - { - return P_0.FullName; - } - - static string _206F_200D_202E_206F_206C_200B_206E_202B_200C_200E_206D_206E_202A_206D_206A_206D_202D_206E_202B_200D_202B_206A_206A_200B_206D_202A_202B_202B_206A_206F_200D_200D_202A_200C_202E_202C_206B_206B_206B_206C_202E(string P_0, string P_1) - { - return Path.Combine(P_0, P_1); - } - - static DirectoryInfo _200D_200C_200B_206C_202B_200E_206B_202C_200C_202A_202D_206D_202A_200F_200E_200B_202E_206E_202D_202C_200B_206E_202C_206E_206B_200E_206A_206E_202E_200E_202D_202E_200F_202E_200C_202E_200F_202E_206F_202B_202E(string P_0) - { - return new DirectoryInfo(P_0); - } - - static void _200B_200C_202D_202E_200D_206D_200E_200D_200C_206D_202B_202D_200E_200D_202D_202D_206A_202B_206F_200D_202E_202C_202C_200F_200E_206B_202B_202B_206B_202B_202A_202C_202C_206A_200F_206C_206B_206A_206F_200F_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } - - static void _202A_206C_200B_200D_202E_206F_206A_206E_206A_202B_206D_206E_206C_202A_202C_206E_206C_206A_200C_200B_206B_206E_202C_200D_206E_202E_202E_202E_200E_206E_200C_200B_202D_202D_200F_206C_202A_202C_202E_202C_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogWarning(P_1, P_2, P_3); - } - - static void _200B_200F_200B_200B_200E_206A_206E_200B_200D_200E_200E_200D_206D_200D_206F_200F_200D_200B_206C_200D_200D_206E_202E_202D_206A_200C_202A_206A_202E_206A_206B_202E_202B_206D_206A_206D_200F_206C_200E_206B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static IReadOnlyDictionary _200B_202D_200C_206B_200E_200E_200F_206C_200E_202E_202E_200B_206C_206E_200D_202B_206C_206E_202B_206A_202C_200B_200B_206A_206B_200B_206D_202E_206C_202A_200E_200F_202E_202C_206C_202B_200E_206C_202A_202C_202E() - { - return AssemblyQuestLoader.GetQuests(); - } - - static DateTime? _200B_200F_206B_206D_202B_200B_206C_202C_202A_206B_200C_206D_202A_202A_200E_206C_200F_202C_206E_202C_202A_202D_206A_206E_202C_206D_200D_206A_200D_206D_202A_206B_206B_202B_202E_202C_200E_206B_202B_206F_202E(QuestRoot P_0) - { - return P_0.SeasonalQuestExpiry; - } - - static string _200B_200C_206D_206D_202A_206E_200C_206A_206D_206C_206D_202E_202D_202A_200D_206D_206D_202B_206F_206E_202B_206C_206F_206F_206E_202E_202A_200F_200B_202B_200F_202A_200E_202E_202B_206B_202A_202D_202D_202B_202E(object P_0) - { - return P_0.ToString(); - } - - static int _202E_202B_206D_202E_200F_202B_206E_206C_202E_200E_206B_206B_200B_200C_200C_200D_200C_202C_206B_200B_206A_200D_206D_206C_206C_200F_202D_200D_206E_206A_202B_206D_206B_206F_200F_200F_200B_200D_206F_202C_202E(string P_0) - { - return P_0.Length; - } - - static bool _206E_200E_206F_206B_206E_206B_206E_206C_200D_206E_206E_202E_206A_206E_206C_206C_200C_200C_200F_202A_206B_200F_202A_202A_206B_200F_202B_200B_206A_206F_206F_202A_202E_206F_202B_206F_206F_200C_206E_202E_202E(string P_0, char P_1) - { - return P_0.StartsWith(P_1); - } - - static string _200C_200C_200D_202C_200D_200C_206E_200C_200F_206E_202D_202C_206E_202B_202B_202C_200B_200D_202C_202B_206F_200B_206F_200E_202C_206C_206E_206B_200D_200F_206B_202B_206E_206D_206B_202C_206C_206E_206F_202B_202E(string P_0, int P_1) - { - return P_0.Substring(P_1); - } - - static bool _202D_206E_200E_206D_206D_206B_200D_200F_200C_200B_200D_206D_200E_202C_206E_206F_200F_200D_200D_200B_200F_206C_202B_206F_200B_202A_202C_206B_200B_200E_200F_202C_200F_206E_206C_206B_200C_200D_206C_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - - static string _200E_202A_200C_206A_202A_206C_200F_206C_202C_202B_206C_200E_200C_206C_200D_206F_200E_206C_202B_202D_200F_206E_202A_202C_206D_200E_202A_202C_200C_200D_202B_206B_206E_200D_200E_206C_206D_202B_200B_200C_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static ushort _206F_200F_200C_206A_206F_200E_206A_206A_200E_202E_206E_206A_206E_206F_200F_202E_206C_200F_202D_202A_200F_200B_202C_202C_200E_202C_200F_200F_200F_202B_200C_206D_206A_206C_206F_206A_202A_206E_202B_206F_202E(ElementId P_0) - { - return P_0.Value; - } - - static void _200E_200E_202D_200B_206D_202C_206E_202C_200E_206A_200E_206D_200C_206B_202D_206E_202A_206C_206F_206F_202E_200B_206F_202E_200C_206A_200D_206A_202D_200E_202B_206D_206F_202B_202B_200C_202D_206C_206F_202A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static bool? _206E_206A_200C_206A_206A_200B_206E_200F_200F_202C_200B_202A_200C_200C_206D_206C_202E_202D_200E_202C_202A_202E_200F_206D_206E_206F_200D_202D_206D_200F_202A_206A_206E_200D_206D_202C_206D_202A_200E_206D_202E(QuestRoot P_0) - { - return P_0.IsSeasonalQuest; - } - - static string _202E_206D_202C_202B_200D_206A_200C_200E_200E_206B_206A_206F_200C_206E_200C_202C_200B_206A_200B_206D_206F_202E_200E_206E_200F_206C_202A_200B_206C_202A_206A_206D_206B_200F_206B_206F_200F_202B_206F_206C_202E(Exception P_0) - { - return P_0.Message; - } - - static bool _206A_200C_206F_202E_202B_202E_206A_206D_206B_200F_206F_206C_202B_206C_202E_200C_206D_202B_202E_206E_200E_200E_202E_206B_206F_206F_200B_206E_206A_200C_200F_202D_206F_200E_200B_206A_206E_202A_206A_206F_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206D_206E_202E_202C_206B_206D_206C_202E_200F_206B_202D_202A_200E_202C_202B_200E_202D_202E_202A_206F_206A_200F_206E_206B_200C_202C_200B_200D_206F_202C_200B_200B_200B_206A_202E_200D_200B_202D_206B_202B_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static FileInfo _202A_200D_206F_202D_202B_202B_202D_200C_200C_206A_202E_206D_200F_200D_202A_206F_206A_206E_206B_200E_202D_202E_202A_200E_206D_206F_202C_206F_206B_200D_202B_202C_206A_206B_200F_202A_200C_202B_202B_202C_202E(IDalamudPluginInterface P_0) - { - return P_0.AssemblyLocation; - } - - static DirectoryInfo _200E_206E_200D_202E_206A_202E_200D_206F_206E_202C_206A_206C_206E_202E_202A_200D_206F_206C_202E_202A_206C_206F_200D_200B_200D_206E_202B_200F_206A_200B_206F_200D_206F_200D_202A_200B_202B_200D_200B_206B_202E(FileInfo P_0) - { - return P_0.Directory; - } - - static DirectoryInfo _202E_206C_206B_202B_206D_206F_206C_200B_200E_200D_200B_200F_206B_200E_206F_200E_206E_202B_202D_206D_206E_202A_200E_202B_202D_206A_206B_202A_206B_206A_202D_206A_206D_206C_206A_206B_206D_202C_206C_202B_202E(DirectoryInfo P_0) - { - return P_0.Parent; - } - - static string _200E_206F_206F_202C_200F_200B_200C_206A_200C_200F_206F_206A_202A_200C_202C_202E_200F_200B_202E_206B_202E_200D_200B_202E_200B_202E_200E_206C_202D_202A_206F_202B_200C_206F_206C_202E_200D_200E_206B_206C_202E(string P_0, string P_1, string P_2) - { - return Path.Combine(P_0, P_1, P_2); - } - - static Type _202A_206F_206C_206F_202B_202D_206A_200C_206D_200C_206A_206B_200F_200D_200F_202B_200C_202E_206B_202B_206E_206D_200F_202E_206E_206D_200F_202E_200F_200B_206D_206C_202D_206A_202A_202C_206A_206B_206F_200E_202E(Exception P_0) - { - return P_0.GetType(); - } - - static string _200E_202A_206F_206E_200F_200E_206C_202D_200D_200D_200B_206A_206E_206F_200F_200B_206A_202D_202B_202D_206A_206E_200D_206C_206A_200D_206C_202C_206B_206F_206D_200F_206A_206A_206F_202D_206D_206F_202B_202B_202E(MemberInfo P_0) - { - return P_0.Name; - } - - static string _206E_200C_202A_202D_202B_200B_206A_200B_206F_206A_206F_200D_202E_200C_200C_200C_206F_202D_200B_202D_206F_206B_202C_200F_206C_206B_206B_206C_206E_200B_200D_202C_206B_202D_206F_202B_202B_206B_200E_206D_202E(string P_0, string P_1, string P_2, string P_3) - { - return P_0 + P_1 + P_2 + P_3; - } - - static void _206B_202D_206F_206B_206F_206B_206E_206D_202A_200D_206D_200F_200E_202E_206D_202D_206D_206C_206D_206B_206D_200B_206D_200D_206F_200E_200F_206B_202C_202C_206B_200C_202D_206B_202A_200D_206A_202C_206B_200F_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); - } - - static List _200D_206D_200E_200F_202B_206F_200C_206F_206B_202A_202D_200D_200D_206B_206A_200E_202E_200D_206D_202B_200E_202E_200F_200F_206D_202E_200C_206E_200B_200E_202A_206E_202D_200E_206D_206E_202A_202A_202A_206E_202E(QuestSequence P_0) - { - return P_0.Steps; - } - - static EInteractionType _202D_200E_206B_202B_200B_200F_206F_202C_200F_202B_200C_206F_202E_206F_206D_206B_202D_206A_206B_202B_200B_206E_206F_202C_206D_200D_206A_202D_200D_202E_200F_202D_206D_200D_202E_206F_200C_200B_206C_206A_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static DutyOptions _202B_200E_200B_202B_200F_202C_202C_200E_206E_200C_206E_200E_200B_206E_206B_200E_202A_200C_202B_206F_200C_206C_200B_202D_206D_200F_206B_206A_202A_200E_202D_200F_206F_206C_200D_206C_206D_206E_206E_206D_202E(QuestStep P_0) - { - return P_0.DutyOptions; - } - - static uint _206B_202A_200B_206D_200D_206A_202A_202D_202B_206F_206A_206A_200B_202D_202E_202C_206F_206F_200E_200C_200B_202A_206F_202A_206F_206B_206D_206F_206D_200B_202A_200E_202E_202D_202E_202C_200D_200F_206F_206A_202E(DutyOptions P_0) - { - return P_0.ContentFinderConditionId; - } - - static byte _200E_200C_206F_202C_202C_202A_202A_202E_206E_202B_206A_206E_200F_202C_200F_206D_206A_200D_206A_200B_200B_202E_202D_202D_200D_200B_200B_206B_200B_200F_200F_200F_206B_206D_200B_206F_200D_200F_206F_200C_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - - static byte _202D_206F_206A_200D_206B_200B_200F_200D_202C_206F_200C_202A_206A_202D_200C_206A_200D_202A_200C_206F_200E_200C_202B_202B_202E_202B_202D_200D_200B_200E_200F_200B_202C_200B_202D_202C_202A_206F_206D_200F_202E(QuestStep P_0) - { - return P_0.SinglePlayerDutyIndex; - } - - static void _200C_202D_206A_202D_206A_206F_200D_206F_206A_202A_202D_206B_206F_200F_202B_200B_200C_200E_200E_200C_206B_202B_202D_200D_202A_200F_200F_200B_200D_200B_206C_200F_206A_202E_206B_206B_202A_206D_200D_206C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogTrace(P_1, P_2); - } - - static bool _206C_206A_200C_206C_200F_206B_206F_200E_200D_206F_206B_206D_202A_200C_202A_200D_200E_200B_200B_200C_202A_200C_206B_200F_206C_206B_206D_202B_206B_206C_206C_206D_202B_202E_206C_206A_206A_200D_206D_202E_202E(ElementId P_0, ElementId P_1) - { - return P_0 == P_1; - } - - static JsonNode _200F_206A_200D_206A_202E_206F_200F_202A_206D_200E_200F_200D_200F_200C_202A_206B_200C_200D_200F_206A_202E_206B_200D_206B_202C_202C_200B_206A_206A_202C_200B_200F_200E_202A_202D_200B_200D_202C_206B_202E_202E(Stream P_0, JsonNodeOptions? P_1, JsonDocumentOptions P_2) - { - return JsonNode.Parse(P_0, P_1, P_2); - } - - static Exception _200E_206A_200F_206E_206B_200C_202E_206C_202B_206C_200E_206E_202D_206D_206E_200E_206A_206B_206E_200B_206C_206F_200F_206E_206D_200D_206B_206A_206F_206F_202E_206A_206F_202E_206F_206D_202C_202C_200B_200E_202E(Exception P_0) - { - return P_0.InnerException; - } - - static string _200E_200F_206A_200C_202A_202A_206F_200B_206B_206A_206F_200B_206A_200B_206D_206E_206E_206C_206F_206D_200F_200F_200F_202E_206D_206F_202E_200D_206A_206F_206C_206C_206D_202A_206B_200F_200D_206F_200D_206E_202E(string P_0) - { - return Path.GetFileNameWithoutExtension(P_0); - } - - static int _206B_206F_202D_202A_200B_202E_202D_202E_206C_206E_206B_202B_200E_202C_202D_202B_200E_206E_200F_200D_206D_200B_200C_206F_206F_202D_200E_200D_202B_200F_202E_200F_200B_206D_202E_202D_206C_202E_202B_200D_202E(string P_0, char P_1, StringComparison P_2) - { - return P_0.IndexOf(P_1, P_2); - } - - static bool _206C_206C_202E_206B_200B_200D_202A_200F_206B_202D_206F_206C_200C_200B_206D_206B_202D_202E_200B_202A_202E_206D_200B_200E_200C_200E_202D_206B_206F_202A_206B_202D_202A_200C_206C_206C_206B_202A_200D_206E_202E(JsonObject P_0, string P_1, ref JsonNode P_2) - { - return P_0.TryGetPropertyValue(P_1, out P_2); - } - - static bool _206F_206F_206E_202E_200F_206E_200C_202D_200B_206E_200B_202A_206F_206B_200F_202C_206D_202B_202D_202A_206C_202D_200F_206B_202B_206A_200F_206B_206B_206F_206C_206C_202B_206A_200C_206E_200C_206A_200F_200E_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static bool _200D_206E_202D_202C_200D_206D_206B_200E_200B_200C_200F_206B_200E_206A_200B_202B_200E_206A_200B_206F_206D_202C_200D_200F_200C_206D_200F_206A_206F_206B_206C_202C_200C_202B_202D_200C_200D_202B_202C_200F_202E(FileSystemInfo P_0) - { - return P_0.Exists; - } - - static void _206B_200B_206F_206F_200C_202D_202B_200D_206A_206A_202A_202B_200B_202E_202A_202B_206A_200F_200F_200C_200E_206C_202A_202B_202A_202E_200F_206A_200B_202B_206B_200E_202C_200B_206D_202D_202A_200F_200C_202E(ILogger P_0, LogLevel P_1, string P_2, object[] P_3) - { - P_0.Log(P_1, P_2, P_3); - } - - static FileInfo[] _202A_200F_206E_202E_206A_200D_206A_200C_202E_206B_200F_202A_206C_206D_202A_206C_200D_200C_206C_206E_202E_206F_200D_206B_200C_202B_206B_200D_200B_202C_202D_202C_202E_202D_200F_202E_206C_206E_206D_202E(DirectoryInfo P_0, string P_1) - { - return P_0.GetFiles(P_1); - } - - static FileStream _206A_202B_202D_200E_206B_206B_206D_206D_206E_202A_206D_202A_202D_200F_206F_206E_206B_200F_200B_206C_206F_206C_206B_206B_202D_200B_206E_206B_200D_200C_202E_206A_202D_206F_202B_202D_206A_200E_206F_206F_202E(FileInfo P_0) - { - return P_0.OpenRead(); - } - - static string _202E_206C_206C_200B_202B_206A_206F_202E_200F_206C_202B_200D_206C_206E_202C_200E_200F_206D_202C_200C_206F_200F_206B_202C_206B_202C_202D_200B_202C_200F_206C_202B_202E_206E_202C_200F_200E_206E_200F_206A_202E(FileSystemInfo P_0) - { - return P_0.Name; - } - - static InvalidDataException _200E_202B_200E_206E_200B_206D_202B_200D_206B_206F_206C_200B_200D_200C_200F_202B_202D_202A_206C_202B_202A_202D_206E_202D_200B_206E_202E_206A_200E_202D_202B_200E_200C_200C_200D_206C_200F_206A_206E_206C_202E(string P_0, Exception P_1) - { - return new InvalidDataException(P_0, P_1); - } - - static DirectoryInfo[] _202D_202C_200F_200F_200E_206A_206E_200F_202A_200C_206E_202D_206D_200B_206F_202A_206D_200F_200D_200D_206E_200E_206B_200E_200F_202D_200E_206F_202B_206A_202C_200D_206E_206E_200C_202D_200C_200E_206F_206D_202E(DirectoryInfo P_0) - { - return P_0.GetDirectories(); - } - - static string _202E_206C_206B_202C_206F_206B_200D_200F_200D_202E_206B_200E_200B_200E_206F_202E_200D_202B_200E_202A_202A_206A_206A_206D_206A_200E_206D_206B_202E_202B_206C_202A_206C_200E_206A_202E_200F_206C_206D_206D_202E(JsonException P_0) - { - return P_0.Path; - } - - static Match _202C_206C_206E_202E_200C_206B_200F_206E_202D_202E_200C_202E_206C_200E_200E_206D_202B_202E_206C_202A_206B_202E_202A_206D_200B_200B_206F_206C_206A_200B_202C_202C_206B_206A_200B_200E_200D_206F_200D_202D_202E(string P_0, string P_1) - { - return Regex.Match(P_0, P_1); - } - - static bool _200F_206D_202D_202E_206D_206A_206D_202E_200D_206A_206F_206F_206F_200D_202C_202E_202C_206A_202C_206C_202B_206C_200B_206B_202B_200C_206E_200F_202D_200F_202B_202E_206D_206F_206E_202E_202C_200D_202E_200E_202E(Group P_0) - { - return P_0.Success; - } - - static GroupCollection _200E_200C_200D_206C_206A_202A_202D_200C_206F_206C_202E_206A_202B_202C_206C_202A_202C_200F_202E_206B_206C_202B_202B_206F_202A_200D_206F_202A_202D_206C_206A_206C_202A_202E_206B_200F_206D_202A_202E_202A_202E(Match P_0) - { - return P_0.Groups; - } - - static Group _206E_206C_200F_202A_202C_202D_206C_206D_206E_202D_202D_206A_206C_200B_206B_202B_202A_206B_202B_206A_206A_202E_200B_206F_206D_206D_206D_206F_206B_202C_202D_202D_202E_200C_200E_202D_206C_206E_202E_206E_202E(GroupCollection P_0, int P_1) - { - return P_0[P_1]; - } - - static string _206C_200F_206C_206A_200C_202D_200C_206B_202E_202C_206A_206A_206F_206F_200E_202D_200E_200E_200B_206C_206B_200E_202A_200D_200E_200F_200D_206D_200D_200E_200B_200C_202E_202B_202B_200D_202B_206E_200C_206F_202E(Capture P_0) - { - return P_0.Value; - } - - static bool _206B_202C_206B_202C_206E_202C_200B_202E_206F_202A_200F_200F_200C_206E_206E_206D_200B_200F_202D_200C_202A_206A_202C_202D_200B_202C_200F_206D_202B_202E_206D_206E_202E_202A_202A_200D_202C_202E_200F_206E_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.Contains(P_1, P_2); - } - - static string _200E_206E_200E_206E_202B_202B_202D_202C_206C_206A_202D_200F_206D_200E_200B_206C_202C_200C_206A_202C_200D_206F_206D_200F_206A_200C_200F_200B_200E_202A_206C_202B_200E_202D_206A_206B_202A_202A_202A_202D_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static int _200F_202E_200E_202B_200C_202D_202E_206D_200D_202A_202C_206A_206A_202B_202A_200C_200D_200B_202D_202E_202D_206C_200E_202D_206B_200C_206F_202E_200E_206A_200D_202B_200F_206B_202D_200C_206D_206F_206F_200F_202E(string P_0, char P_1) - { - return P_0.LastIndexOf(P_1); - } - - static bool _202D_206A_202A_202B_200B_200E_206E_206D_200F_202B_206C_202E_206F_206F_206F_206C_206B_202B_200F_200C_206B_202B_206A_200B_200B_200C_200E_202C_202A_202B_202E_200C_202D_200B_200E_206C_200E_200E_206D_206A_202E(string P_0, char P_1, StringComparison P_2) - { - return P_0.Contains(P_1, P_2); - } - - static string[] _202C_206B_200B_200F_200B_206D_206A_206D_206E_202E_202A_206C_200F_200B_206D_206C_206F_200E_206F_202B_206A_206A_200F_202B_202A_200C_200D_206B_202D_206F_206A_200C_206A_200F_206E_200B_200F_200F_202B_200E_202E(string P_0, char P_1, int P_2, StringSplitOptions P_3) - { - return P_0.Split(P_1, P_2, P_3); - } - - static ElementId _202C_202D_206D_206A_200B_200D_206E_200E_206F_206B_200F_200C_206F_202C_202C_202D_200D_202B_206F_200D_206B_206B_202B_206D_206C_202A_200F_202B_200B_206A_202A_206D_200D_206D_206E_200C_206D_200E_202C_202D_202E(string P_0) - { - return ElementId.FromString(P_0); - } - - static EClassJob _200B_206D_206F_202E_200C_206C_206A_200C_206A_200C_202B_200B_206E_206E_202C_206B_202B_206C_202D_202D_200D_202C_202A_202E_202C_200E_200F_206D_202C_202D_200D_200C_202C_206E_206C_206B_202D_200F_202B_200F_202E(EClassJob P_0) - { - return P_0.AsJob(); - } - - static bool _200B_202C_206B_202D_206D_202A_200D_206A_200E_200D_206F_202C_202B_202D_206B_202E_206A_202C_200F_200D_200B_202E_200C_200C_200D_202C_202B_200B_202D_202C_206B_206D_206B_202B_202A_206B_206A_206A_206E_200E_202E(string P_0) - { - return string.IsNullOrWhiteSpace(P_0); - } - - static string _202E_200B_202E_200C_200E_206A_202D_206B_202B_206C_202C_202B_202A_206C_200D_206B_202D_206A_200E_202C_200B_202B_202B_202D_206C_206B_206E_206A_200C_202C_202C_206E_206D_206F_206D_206C_206C_200D_202C_206E_202E(string P_0, string P_1, string P_2, StringComparison P_3) - { - return P_0.Replace(P_1, P_2, P_3); - } - - static string _202E_206E_206E_206B_206B_206E_202E_202C_200F_202C_202B_206D_206C_200C_206E_206F_206C_202C_200B_200D_206D_206E_202E_202D_202B_202A_202A_200B_206E_202E_202A_202C_206C_202E_206C_202A_200B_202D_206D_200C_202E(string P_0, string P_1, string P_2) - { - return Regex.Replace(P_0, P_1, P_2); - } - - static string _202C_206A_200D_206D_202A_202E_206E_200F_202C_206B_206B_200F_206A_200B_202E_200B_206A_206C_206B_202E_200C_206F_200E_206A_206F_200F_202B_200F_202B_200E_200E_202C_202C_206F_200E_202B_206C_202D_206F_206B_202E(string P_0, string P_1, string P_2, RegexOptions P_3) - { - return Regex.Replace(P_0, P_1, P_2, P_3); + name = name.Replace("_", " ", StringComparison.OrdinalIgnoreCase); + name = Regex.Replace(name, "\\s+", " "); + name = Regex.Replace(name, "\\b(Patch)\\s+(\\d+)\\s+(\\d+)\\b", "$1 $2.$3", RegexOptions.IgnoreCase); + return name; } } diff --git a/Questionable/Questionable.Controller/QuestResolution.cs b/Questionable/Questionable.Controller/QuestResolution.cs index a5daa13..4c1a4d9 100644 --- a/Questionable/Questionable.Controller/QuestResolution.cs +++ b/Questionable/Questionable.Controller/QuestResolution.cs @@ -1,7 +1,3 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Questionable.Functions; using Questionable.Model.Questing; @@ -27,27 +23,11 @@ internal readonly record struct QuestResolution { get { - int num = ((!_206C_200E_200F_206F_200C_200D_206E_200E_202A_206B_206A_206E_206A_202B_206E_202D_200E_200E_206A_200B_200B_206F_206C_202A_202C_200B_200B_206C_206E_206D_200D_206D_206B_200F_206B_206D_206D_202A_206F_200F_202E(QuestId, (ElementId?)null)) ? 206897557 : 206897558); - while (true) + if (QuestId != null) { - int num2 = num; - int num3 = 206897556; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return false; - case 2: - return _200C_200F_202A_206B_200E_202E_206F_206C_206D_202C_202B_206B_206D_200C_206B_200E_206E_202C_202B_202B_200D_200C_202A_200F_202E_202D_206E_202A_202E_200E_200C_206C_200F_202D_202A_202B_202C_206C_200F_202E_202E(QuestId) != 0; - case 0: - goto IL_005f; - } - continue; - IL_005f: - num = 206897558; + return QuestId.Value != 0; } + return false; } } @@ -56,32 +36,11 @@ internal readonly record struct QuestResolution get { EQuestResolutionType type = Type; - int num = (((uint)type > 2u) ? 551053514 : 551053515); - bool result = default(bool); - while (true) + if ((uint)type <= 1u) { - int num2 = num; - int num3 = 551053514; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 551053515; - break; - case 1: - result = true; - num = 551053513; - break; - case 0: - result = false; - num = 551053513; - break; - case 3: - return result; - } + return true; } + return false; } } @@ -109,23 +68,16 @@ internal readonly record struct QuestResolution }; } - [MethodImpl(MethodImplOptions.NoInlining)] public static QuestResolution Leveling(int targetLevel, string? questName, MainScenarioQuestState msqState) { - QuestResolution result = new QuestResolution + return new QuestResolution { Type = EQuestResolutionType.LevelingMode, - MsqState = msqState + MsqState = msqState, + DebugReason = $"Leveling to {targetLevel} for {questName}", + LevelingTargetLevel = targetLevel, + LevelingQuestName = questName }; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(17, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(842342782)); - defaultInterpolatedStringHandler.AppendFormatted(targetLevel); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1386602519)); - defaultInterpolatedStringHandler.AppendFormatted(questName); - result.DebugReason = defaultInterpolatedStringHandler.ToStringAndClear(); - result.LevelingTargetLevel = targetLevel; - result.LevelingQuestName = questName; - return result; } public static QuestResolution None(MainScenarioQuestState msqState, string reason) @@ -137,138 +89,4 @@ internal readonly record struct QuestResolution DebugReason = reason }; } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206D_206A_202A_200C_206C_202B_206D_206B_200D_206D_206E_206D_202D_200D_206B_200E_202C_200D_202E_202C_202A_206D_200E_200E_206D_206E_206B_202D_200B_206E_200B_202A_206A_206E_206E_202A_200E_206E_202A_202A_202E(); - _206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1454729843)); - _206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(stringBuilder, 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(117284107)); - int num = ((!PrintMembers(stringBuilder)) ? 497105174 : 497105175); - while (true) - { - int num2 = num; - int num3 = 497105174; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _206B_206E_200B_206A_202D_206B_202C_206D_206B_202C_202C_206D_202E_206F_200C_206D_200E_206F_202B_200F_206B_200D_202C_206F_206D_206A_206E_202A_202B_206C_200E_202A_202B_200B_200E_206D_206A_200E_206F_200E_202E(stringBuilder, '}'); - return _202B_202D_206D_200C_200C_206C_206A_206E_206D_206C_200B_206B_202E_200E_202D_206B_206C_200F_206E_206D_206E_200C_200B_206D_206A_202A_202D_200D_200E_202A_206E_202C_200D_202A_202C_200D_206D_200E_202C_200F_202E((object?)stringBuilder); - case 1: - _206B_206E_200B_206A_202D_206B_202C_206D_206B_202C_202C_206D_202E_206F_200C_206D_200E_206F_202B_200F_206B_200D_202C_206F_206D_206A_206E_202A_202B_206C_200E_202A_202B_200B_200E_206D_206A_200E_206F_200E_202E(stringBuilder, ' '); - num = 497105174; - break; - case 2: - num = 497105175; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, 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(2142299818)); - _206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, Type.ToString()); - _206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1355464271)); - _200C_206D_206F_206A_200F_206C_200E_200F_202B_206A_202D_202E_202D_202E_206E_200C_202A_202C_202C_206B_206F_200D_202C_202B_200E_202E_206C_206B_202E_200C_200B_206A_200C_202B_202A_206E_206E_206B_206E_200F_202E(builder, (object?)QuestId); - _206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, 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(-1883281888)); - _206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, Sequence.ToString()); - _206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1661504935)); - _206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, MsqState.ToString()); - _206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-940584201)); - _200C_206D_206F_206A_200F_206C_200E_200F_202B_206A_202D_202E_202D_202E_206E_200C_202A_202C_202C_206B_206F_200D_202C_202B_200E_202E_206C_206B_202E_200C_200B_206A_200C_202B_202A_206E_206E_206B_206E_200F_202E(builder, (object?)DebugReason); - _206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, 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(-436279056)); - _206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, LevelingTargetLevel.ToString()); - _206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, 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(2055448933)); - _200C_206D_206F_206A_200F_206C_200E_200F_202B_206A_202D_202E_202D_202E_206E_200C_202A_202C_202C_206B_206F_200D_202C_202B_200E_202E_206C_206B_202E_200C_200B_206A_200C_202B_202A_206E_206E_206B_206E_200F_202E(builder, (object?)LevelingQuestName); - _206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-660514735)); - _206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, HasQuest.ToString()); - _206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, 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(1071893673)); - _206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(builder, IsSlotBased.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(QuestResolution other) - { - int num = ((!EqualityComparer.Default.Equals(Type, other.Type)) ? 408097635 : 408097637); - while (true) - { - int num2 = num; - int num3 = 408097635; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - num = ((!EqualityComparer.Default.Equals(Sequence, other.Sequence)) ? 408097635 : 408097632); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(DebugReason, other.DebugReason)) ? 408097635 : 408097633); - break; - case 4: - return EqualityComparer.Default.Equals(LevelingQuestName, other.LevelingQuestName); - case 2: - num = ((!EqualityComparer.Default.Equals(LevelingTargetLevel, other.LevelingTargetLevel)) ? 408097635 : 408097639); - break; - case 0: - return false; - case 7: - num = 408097637; - break; - case 3: - num = ((!EqualityComparer.Default.Equals(MsqState, other.MsqState)) ? 408097635 : 408097634); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(QuestId, other.QuestId)) ? 408097635 : 408097638); - break; - } - } - } - - bool IEquatable.Equals(QuestResolution other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static bool _206C_200E_200F_206F_200C_200D_206E_200E_202A_206B_206A_206E_206A_202B_206E_202D_200E_200E_206A_200B_200B_206F_206C_202A_202C_200B_200B_206C_206E_206D_200D_206D_206B_200F_206B_206D_206D_202A_206F_200F_202E(ElementId? P_0, ElementId? P_1) - { - return P_0 != P_1; - } - - static ushort _200C_200F_202A_206B_200E_202E_206F_206C_206D_202C_202B_206B_206D_200C_206B_200E_206E_202C_202B_202B_200D_200C_202A_200F_202E_202D_206E_202A_202E_200E_200C_206C_200F_202D_202A_202B_202C_206C_200F_202E_202E(ElementId? P_0) - { - return P_0.Value; - } - - static StringBuilder? _206D_206A_202A_200C_206C_202B_206D_206B_200D_206D_206E_206D_202D_200D_206B_200E_202C_200D_202E_202C_202A_206D_200E_200E_206D_206E_206B_202D_200B_206E_200B_202A_206A_206E_206E_202A_200E_206E_202A_202A_202E() - { - return new StringBuilder(); - } - - static StringBuilder? _206C_200B_206D_202C_206A_202D_202E_206B_202A_200C_206D_200F_206D_206B_202A_206F_200F_206E_202B_202E_206C_206A_200C_202E_202A_206A_202B_206A_206C_206A_206E_200D_202A_206A_200D_202E_200D_206D_202E_206A_202E(StringBuilder? P_0, string? P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder? _206B_206E_200B_206A_202D_206B_202C_206D_206B_202C_202C_206D_202E_206F_200C_206D_200E_206F_202B_200F_206B_200D_202C_206F_206D_206A_206E_202A_202B_206C_200E_202A_202B_200B_200E_206D_206A_200E_206F_200E_202E(StringBuilder? P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string? _202B_202D_206D_200C_200C_206C_206A_206E_206D_206C_200B_206B_202E_200E_202D_206B_206C_200F_206E_206D_206E_200C_200B_206D_206A_202A_202D_200D_200E_202A_206E_202C_200D_202A_202C_200D_206D_200E_202C_200F_202E(object? P_0) - { - return P_0.ToString(); - } - - static StringBuilder? _200C_206D_206F_206A_200F_206C_200E_200F_202B_206A_202D_202E_202D_202E_206E_200C_202A_202C_202C_206B_206F_200D_202C_202B_200E_202E_206C_206B_202E_200C_200B_206A_200C_202B_202A_206E_206E_206B_206E_200F_202E(StringBuilder? P_0, object? P_1) - { - return P_0.Append(P_1); - } } diff --git a/Questionable/Questionable.Controller/QuestSlots.cs b/Questionable/Questionable.Controller/QuestSlots.cs index ebfd843..194c91a 100644 --- a/Questionable/Questionable.Controller/QuestSlots.cs +++ b/Questionable/Questionable.Controller/QuestSlots.cs @@ -1,120 +1,6 @@ -using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Questionable.Model; namespace Questionable.Controller; -internal readonly record struct QuestSlots(QuestController.QuestProgress? Simulated, QuestController.QuestProgress? Next, QuestController.QuestProgress? Gathering, List ManualPriorityQuests, QuestController.EAutomationType AutomationType) -{ - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200F_206A_206A_206F_200F_202E_200B_200B_206C_202B_200B_206F_206C_206E_202B_202D_202B_200C_200B_206D_206C_202B_200F_202D_206F_206B_200E_200E_200F_202A_200D_200E_202A_206E_202E_206A_200F_206B_202B_206C_202E(); - _202E_200E_200F_202C_206F_200B_206D_202E_206E_202C_206B_200B_200C_202E_206C_202E_206F_200F_206E_200C_202E_202B_200B_206E_206A_202D_202C_200E_206A_202C_202C_206A_202B_200D_206D_200F_206A_202E_202D_202B_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1514472868)); - _202E_200E_200F_202C_206F_200B_206D_202E_206E_202C_206B_200B_200C_202E_206C_202E_206F_200F_206E_200C_202E_202B_200B_206E_206A_202D_202C_200E_206A_202C_202C_206A_202B_200D_206D_200F_206A_202E_202D_202B_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1664411125)); - int num = ((!PrintMembers(stringBuilder)) ? (-1459143822) : (-1459143823)); - while (true) - { - int num2 = num; - int num3 = -1459143821; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _206B_202E_206C_202E_200B_202D_206A_202C_200B_202C_206E_202C_200C_200F_202C_206C_202D_200E_202A_202C_206A_206A_206E_206C_202B_202A_200E_202C_202E_200E_206C_200C_206B_202D_206F_206F_202D_206F_202A_206F_202E(stringBuilder, '}'); - return _202C_200B_200F_200D_200D_202D_206D_200B_206B_206A_200D_200F_206A_200B_206F_200B_206C_200C_206F_206F_202C_206B_200D_202C_200B_206F_206D_202D_202B_202E_202C_206E_202A_200E_200E_202B_200B_206A_206C_206D_202E((object?)stringBuilder); - case 2: - _206B_202E_206C_202E_200B_202D_206A_202C_200B_202C_206E_202C_200C_200F_202C_206C_202D_200E_202A_202C_206A_206A_206E_206C_202B_202A_200E_202C_202E_200E_206C_200C_206B_202D_206F_206F_202D_206F_202A_206F_202E(stringBuilder, ' '); - num = -1459143822; - break; - case 0: - num = -1459143823; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202E_200E_200F_202C_206F_200B_206D_202E_206E_202C_206B_200B_200C_202E_206C_202E_206F_200F_206E_200C_202E_202B_200B_206E_206A_202D_202C_200E_206A_202C_202C_206A_202B_200D_206D_200F_206A_202E_202D_202B_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1870703456)); - _202D_202B_206A_206E_206A_200E_202D_206B_200F_202E_206B_202D_200E_200B_200B_200E_202C_200F_206C_200D_200C_202D_202A_202B_202C_206B_206F_206D_206E_200F_206D_200F_202C_206B_202E_202A_200E_206C_200F_200C_202E(builder, (object?)Simulated); - _202E_200E_200F_202C_206F_200B_206D_202E_206E_202C_206B_200B_200C_202E_206C_202E_206F_200F_206E_200C_202E_202B_200B_206E_206A_202D_202C_200E_206A_202C_202C_206A_202B_200D_206D_200F_206A_202E_202D_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1249651831)); - _202D_202B_206A_206E_206A_200E_202D_206B_200F_202E_206B_202D_200E_200B_200B_200E_202C_200F_206C_200D_200C_202D_202A_202B_202C_206B_206F_206D_206E_200F_206D_200F_202C_206B_202E_202A_200E_206C_200F_200C_202E(builder, (object?)Next); - _202E_200E_200F_202C_206F_200B_206D_202E_206E_202C_206B_200B_200C_202E_206C_202E_206F_200F_206E_200C_202E_202B_200B_206E_206A_202D_202C_200E_206A_202C_202C_206A_202B_200D_206D_200F_206A_202E_202D_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-132265683)); - _202D_202B_206A_206E_206A_200E_202D_206B_200F_202E_206B_202D_200E_200B_200B_200E_202C_200F_206C_200D_200C_202D_202A_202B_202C_206B_206F_206D_206E_200F_206D_200F_202C_206B_202E_202A_200E_206C_200F_200C_202E(builder, (object?)Gathering); - _202E_200E_200F_202C_206F_200B_206D_202E_206E_202C_206B_200B_200C_202E_206C_202E_206F_200F_206E_200C_202E_202B_200B_206E_206A_202D_202C_200E_206A_202C_202C_206A_202B_200D_206D_200F_206A_202E_202D_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1954093048)); - _202D_202B_206A_206E_206A_200E_202D_206B_200F_202E_206B_202D_200E_200B_200B_200E_202C_200F_206C_200D_200C_202D_202A_202B_202C_206B_206F_206D_206E_200F_206D_200F_202C_206B_202E_202A_200E_206C_200F_200C_202E(builder, (object?)ManualPriorityQuests); - _202E_200E_200F_202C_206F_200B_206D_202E_206E_202C_206B_200B_200C_202E_206C_202E_206F_200F_206E_200C_202E_202B_200B_206E_206A_202D_202C_200E_206A_202C_202C_206A_202B_200D_206D_200F_206A_202E_202D_202B_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1435515341)); - _202E_200E_200F_202C_206F_200B_206D_202E_206E_202C_206B_200B_200C_202E_206C_202E_206F_200F_206E_200C_202E_202B_200B_206E_206A_202D_202C_200E_206A_202C_202C_206A_202B_200D_206D_200F_206A_202E_202D_202B_202E(builder, AutomationType.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(QuestSlots other) - { - int num = ((!EqualityComparer.Default.Equals(Simulated, other.Simulated)) ? (-365980673) : (-365980680)); - while (true) - { - int num2 = num; - int num3 = -365980676; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -365980680; - break; - case 4: - num = ((!EqualityComparer.Default.Equals(Next, other.Next)) ? (-365980673) : (-365980674)); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(Gathering, other.Gathering)) ? (-365980673) : (-365980675)); - break; - case 1: - num = ((!EqualityComparer>.Default.Equals(ManualPriorityQuests, other.ManualPriorityQuests)) ? (-365980673) : (-365980679)); - break; - case 3: - return false; - case 5: - return EqualityComparer.Default.Equals(AutomationType, other.AutomationType); - } - } - } - - bool IEquatable.Equals(QuestSlots other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder? _200F_206A_206A_206F_200F_202E_200B_200B_206C_202B_200B_206F_206C_206E_202B_202D_202B_200C_200B_206D_206C_202B_200F_202D_206F_206B_200E_200E_200F_202A_200D_200E_202A_206E_202E_206A_200F_206B_202B_206C_202E() - { - return new StringBuilder(); - } - - static StringBuilder? _202E_200E_200F_202C_206F_200B_206D_202E_206E_202C_206B_200B_200C_202E_206C_202E_206F_200F_206E_200C_202E_202B_200B_206E_206A_202D_202C_200E_206A_202C_202C_206A_202B_200D_206D_200F_206A_202E_202D_202B_202E(StringBuilder? P_0, string? P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder? _206B_202E_206C_202E_200B_202D_206A_202C_200B_202C_206E_202C_200C_200F_202C_206C_202D_200E_202A_202C_206A_206A_206E_206C_202B_202A_200E_202C_202E_200E_206C_200C_206B_202D_206F_206F_202D_206F_202A_206F_202E(StringBuilder? P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string? _202C_200B_200F_200D_200D_202D_206D_200B_206B_206A_200D_200F_206A_200B_206F_200B_206C_200C_206F_206F_202C_206B_200D_202C_200B_206F_206D_202D_202B_202E_202C_206E_202A_200E_200E_202B_200B_206A_206C_206D_202E(object? P_0) - { - return P_0.ToString(); - } - - static StringBuilder? _202D_202B_206A_206E_206A_200E_202D_206B_200F_202E_206B_202D_200E_200B_200B_200E_202C_200F_206C_200D_200C_202D_202A_202B_202C_206B_206F_206D_206E_200F_206D_200F_202C_206B_202E_202A_200E_206C_200F_200C_202E(StringBuilder? P_0, object? P_1) - { - return P_0.Append(P_1); - } -} +internal readonly record struct QuestSlots(QuestController.QuestProgress? Simulated, QuestController.QuestProgress? Next, List ManualPriorityQuests, QuestController.EAutomationType AutomationType); diff --git a/Questionable/Questionable.Controller/SeasonalDutyController.cs b/Questionable/Questionable.Controller/SeasonalDutyController.cs index 42c4c66..139ebff 100644 --- a/Questionable/Questionable.Controller/SeasonalDutyController.cs +++ b/Questionable/Questionable.Controller/SeasonalDutyController.cs @@ -1,8 +1,5 @@ using System; -using System.Collections.Generic; using System.Globalization; -using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using Microsoft.Extensions.Logging; using Questionable.Controller.Steps; @@ -17,82 +14,6 @@ namespace Questionable.Controller; internal sealed class SeasonalDutyController : MiniTaskController { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass23_0 - { - public SeasonalDutyController _003C_003E4__this; - - public SeasonalDutyDefinition duty; - - internal bool _003CEnqueueDutyCycle_003Eb__0() - { - return _200C_200D_200B_206D_202E_206E_200B_202A_200C_202D_206E_206B_200D_206F_202E_202D_206D_206B_202A_202D_200C_206B_202A_206A_200F_200D_202A_206B_202D_206F_200C_200D_206E_202B_206F_202D_202B_202D_200E_206B_202E(_003C_003E4__this._clientState) != _202B_206B_206C_202A_206B_202C_200B_200F_200C_200D_200D_206E_206D_206B_206F_206E_200F_206D_200F_202C_206A_202E_200D_206B_202E_202D_200C_206D_206E_202C_206A_202A_202E_206C_202B_202D_200F_206B_200D_202E(_003C_003E4__this._currentDuty); - } - - static uint _200C_200D_200B_206D_202E_206E_200B_202A_200C_202D_206E_206B_200D_206F_202E_202D_206D_206B_202A_202D_200C_206B_202A_206A_200F_200D_202A_206B_202D_206F_200C_200D_206E_202B_206F_202D_202B_202D_200E_206B_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static ushort _202B_206B_206C_202A_206B_202C_200B_200F_200C_200D_200D_206E_206D_206B_206F_206E_200F_206D_200F_202C_206A_202E_200D_206B_202E_202D_200C_206D_206E_202C_206A_202A_202E_206C_202B_202D_200F_206B_200D_202E(SeasonalDutyDefinition P_0) - { - return P_0.DutyTerritoryId; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass23_1 - { - public bool interacted; - - public _003C_003Ec__DisplayClass23_0 CS_0024_003C_003E8__locals1; - - internal bool _003CEnqueueDutyCycle_003Eb__1() - { - int num = ((_206D_206A_206F_200E_200E_206D_202D_200C_200E_202B_206D_200D_202E_200C_206E_206E_202A_202A_206F_206F_200E_206B_206B_206A_206C_202C_200B_206A_206B_206F_200B_206F_200B_200F_202E_202A_200F_202B_206A_206F_202E(CS_0024_003C_003E8__locals1._003C_003E4__this._clientState) != _206F_200F_206C_202A_200E_200E_200E_206A_202C_202E_200D_206B_206D_206D_202E_202E_206F_206E_206F_202A_206D_200E_206A_200D_200D_206E_200F_200D_200F_202E_206D_202A_206D_206E_200C_206E_200E_202D_206C_202A_202E(CS_0024_003C_003E8__locals1._003C_003E4__this._currentDuty)) ? 1413699678 : 1413699677); - while (true) - { - int num2 = num; - int num3 = 1413699679; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1413699677; - break; - case 4: - return false; - case 2: - return true; - case 1: - num = (interacted ? 1413699675 : 1413699676); - break; - case 3: - interacted = CS_0024_003C_003E8__locals1._003C_003E4__this._gameFunctions.InteractWith(_202C_206D_200D_200C_202E_200F_206C_206F_202B_206F_202C_206C_206C_206E_200B_206A_206A_206A_206F_200F_202D_200F_206A_206F_200D_202D_200F_206A_206C_206C_206A_202E_202E_206C_202B_206D_200B_206B_206B_206A_202E(CS_0024_003C_003E8__locals1.duty)); - num = 1413699675; - break; - } - } - } - - static uint _206D_206A_206F_200E_200E_206D_202D_200C_200E_202B_206D_200D_202E_200C_206E_206E_202A_202A_206F_206F_200E_206B_206B_206A_206C_202C_200B_206A_206B_206F_200B_206F_200B_200F_202E_202A_200F_202B_206A_206F_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static ushort _206F_200F_206C_202A_200E_200E_200E_206A_202C_202E_200D_206B_206D_206D_202E_202E_206F_206E_206F_202A_206D_200E_206A_200D_200D_206E_200F_200D_200F_202E_206D_202A_206D_206E_200C_206E_200E_202D_206C_202A_202E(SeasonalDutyDefinition P_0) - { - return P_0.DutyTerritoryId; - } - - static uint _202C_206D_200D_200C_202E_200F_206C_206F_202B_206F_202C_206C_206C_206E_200B_206A_206A_206A_206F_200F_202D_200F_206A_206F_200D_202D_200F_206A_206C_206C_206A_202E_202E_206C_202B_206D_200B_206B_206B_206A_202E(SeasonalDutyDefinition P_0) - { - return P_0.NpcDataId; - } - } - private readonly MovementController _movementController; private readonly GameFunctions _gameFunctions; @@ -123,27 +44,11 @@ internal sealed class SeasonalDutyController : MiniTaskController(116039114), new object[2] - { - _202D_202B_202E_202C_202B_202B_200C_202D_200E_206E_202B_200D_206F_202B_202E_200E_206B_200D_206F_202C_200E_200E_206B_206C_206F_202E_200F_206C_206C_200E_200F_202B_200D_202D_202B_206A_200F_200D_206E_202E(duty), - cycleLimit?.ToString(_206D_202D_200B_202D_200D_200B_206D_200B_200B_202C_200F_206C_202A_202B_206A_202E_206D_202A_206E_202C_206C_206F_206C_202E_202A_202B_202E_206F_200E_206C_206C_206A_202B_200E_206C_200C_202A_206E_206E_202B_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(274217194) - }); + _logger.LogInformation("Starting seasonal duty farming: {DutyName} (limit: {Limit})", duty.Name, cycleLimit?.ToString(CultureInfo.InvariantCulture) ?? "unlimited"); EnqueueDutyCycle(); } - [MethodImpl(MethodImplOptions.NoInlining)] public void Update() { - int num = ((_currentDuty != null) ? 11397495 : 11397490); - while (true) + if (_currentDuty == null || _movementController.IsPathfinding || _movementController.IsPathRunning || _gameFunctions.IsOccupied()) { - int num2 = num; - int num3 = 11397493; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - num = 11397490; - break; - case 8: - _202A_200D_200F_206C_200B_206E_206F_206D_202C_200B_202D_200B_206D_200E_200E_200C_206D_206E_206D_206F_202D_200C_206A_200E_206D_200F_200C_200C_200C_200D_200E_202A_200D_200C_206C_200C_206C_200D_206D_206A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1317227354), new object[2] { _completedCycles, _cycleLimit.Value }); - Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-443148850)); - return; - case 11: - return; - case 5: - return; - case 4: - num = ((!_taskQueue.AllTasksComplete) ? 11397492 : 11397493); - break; - case 10: - EnqueueDutyCycle(); - num = 11397492; - break; - case 12: - num = ((!_gameFunctions.IsOccupied()) ? 11397489 : 11397502); - break; - case 2: - num = (_movementController.IsPathfinding ? 11397488 : 11397494); - break; - case 1: - UpdateCurrentTask(); - return; - case 7: - return; - case 0: - { - int completedCycles = _completedCycles; - num3 = 1; - num4 = completedCycles; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - _completedCycles = num7 + (num8 + num8); - num = ((!_cycleLimit.HasValue) ? 11397503 : 11397500); - break; - } - case 3: - num = ((!_movementController.IsPathRunning) ? 11397497 : 11397488); - break; - case 9: - num = ((_completedCycles < _cycleLimit.Value) ? 11397503 : 11397501); - break; - } + return; } + if (_taskQueue.AllTasksComplete) + { + _completedCycles++; + if (_cycleLimit.HasValue && _completedCycles >= _cycleLimit.Value) + { + _logger.LogInformation("Seasonal duty cycle limit reached ({Cycles}/{Limit})", _completedCycles, _cycleLimit.Value); + Stop("Cycle limit reached"); + return; + } + EnqueueDutyCycle(); + } + UpdateCurrentTask(); } - [MethodImpl(MethodImplOptions.NoInlining)] private void EnqueueDutyCycle() { - int num = ((_currentDuty != null) ? (-363396158) : (-363396154)); - SeasonalDutyDefinition duty = default(SeasonalDutyDefinition); - while (true) + if (_currentDuty == null) { - int num2 = num; - int num3 = -363396158; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -363396154; - break; - case 4: - return; - case 1: - { - _routeEnqueuer.Enqueue(_taskQueue, _200E_202B_202B_206F_202B_202A_200E_200F_200B_200E_202C_206B_206E_202E_200D_206B_200D_202C_206E_200D_200B_200B_202C_206C_206C_202E_200D_202E_200B_200D_206E_206B_202E_202D_200F_202D_202C_206C_206B_200D_202E(duty), _202B_202A_202B_202B_206E_200E_202E_206A_200D_206A_202E_200E_200B_206B_206E_200B_202D_200F_206E_202B_200B_206D_206C_206F_206B_202C_200E_200B_200B_200B_206C_206D_202B_206A_200F_202B_206F_200C_206B_202C_202E(duty)); - _taskQueue.Enqueue(new Mount.UnmountTask()); - bool interacted = false; - TaskQueue taskQueue = _taskQueue; - Func predicate = delegate - { - int num5 = ((_003C_003Ec__DisplayClass23_1._206D_206A_206F_200E_200E_206D_202D_200C_200E_202B_206D_200D_202E_200C_206E_206E_202A_202A_206F_206F_200E_206B_206B_206A_206C_202C_200B_206A_206B_206F_200B_206F_200B_200F_202E_202A_200F_202B_206A_206F_202E(_clientState) != _003C_003Ec__DisplayClass23_1._206F_200F_206C_202A_200E_200E_200E_206A_202C_202E_200D_206B_206D_206D_202E_202E_206F_206E_206F_202A_206D_200E_206A_200D_200D_206E_200F_200D_200F_202E_206D_202A_206D_206E_200C_206E_200E_202D_206C_202A_202E(_currentDuty)) ? 1413699678 : 1413699677); - while (true) - { - int num6 = num5; - int num7 = 1413699679; - int num8 = num6; - int num9 = num8 + num7; - int num10 = num8 & num7; - switch (num9 - (num10 + num10)) - { - case 0: - num5 = 1413699677; - break; - case 4: - return false; - case 2: - return true; - case 1: - num5 = (interacted ? 1413699675 : 1413699676); - break; - case 3: - interacted = _gameFunctions.InteractWith(_003C_003Ec__DisplayClass23_1._202C_206D_200D_200C_202E_200F_206C_206F_202B_206F_202C_206C_206C_206E_200B_206A_206A_206A_206F_200F_202D_200F_206A_206F_200D_202D_200F_206A_206C_206C_206A_202E_202E_206C_202B_206D_200B_206B_206B_206A_202E(duty)); - num5 = 1413699675; - break; - } - } - }; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(28, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-439033438)); - defaultInterpolatedStringHandler.AppendFormatted(_200E_200C_200B_202A_202B_200E_200C_200D_200D_202B_200E_200F_200F_202B_200C_202B_202C_202D_202B_202E_202D_202A_206E_202D_206A_206B_200D_206B_200E_202A_206F_200B_206D_206F_206F_200F_200D_202C_202E_202E(duty)); - defaultInterpolatedStringHandler.AppendLiteral(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(444206578)); - taskQueue.Enqueue(new WaitCondition.Task(predicate, defaultInterpolatedStringHandler.ToStringAndClear())); - num = -363396159; - break; - } - case 3: - _taskQueue.Enqueue(new ClearObjectsWithAction.ClearTask(_206C_206A_202C_202D_202E_200F_200B_200F_206E_202E_200E_202E_206E_206B_200F_206C_206E_202B_202B_200D_200C_206A_200D_200F_206C_206D_200E_202D_206F_200E_206A_206C_206E_202A_202E_206A_200E_200F_206A_206B_202E(duty), _200F_202B_206A_202A_200E_200F_200B_206E_200B_206F_202C_200E_206C_202E_202E_200C_200E_200C_206B_202B_206A_206A_200B_202B_206D_202D_206E_206F_200B_200F_202E_206A_206E_206F_202B_202E_200F_206D_206B_206B_202E(duty), _200E_200C_200B_202A_202B_200E_200C_200D_200D_202B_200E_200F_200F_202B_200C_202B_202C_202D_202B_202E_202D_202A_206E_202D_206A_206B_200D_206B_200E_202A_206F_200B_206D_206F_206F_200F_200D_202C_202E_202E(duty), _206D_206F_202E_200F_200E_200F_202A_206C_206B_202B_206A_206C_200D_206F_206F_206C_200B_206A_202C_206D_202E_202B_206C_206D_206F_206F_202C_206E_206F_206E_200C_202E_200F_200F_200C_206B_202D_202D_202D_200F_202E(duty), _200C_202C_200C_202A_206F_206E_200F_202C_206A_202C_200B_200D_202D_202A_206E_206E_206F_202B_202E_206F_202A_202B_200F_200B_206B_206B_200C_202B_206C_202C_202D_206D_202B_206B_200E_200D_202A_202D_202E_200C_202E(duty))); - _taskQueue.Enqueue(new WaitCondition.Task(() => _003C_003Ec__DisplayClass23_0._200C_200D_200B_206D_202E_206E_200B_202A_200C_202D_206E_206B_200D_206F_202E_202D_206D_206B_202A_202D_200C_206B_202A_206A_200F_200D_202A_206B_202D_206F_200C_200D_206E_202B_206F_202D_202B_202D_200E_206B_202E(_clientState) != _003C_003Ec__DisplayClass23_0._202B_206B_206C_202A_206B_202C_200B_200F_200C_200D_200D_206E_206D_206B_206F_206E_200F_206D_200F_202C_206A_202E_200D_206B_202E_202D_200C_206D_206E_202C_206A_202A_202E_206C_202B_202D_200F_206B_200D_202E(_currentDuty), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1272006970))); - _taskQueue.Enqueue(new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(3L))); - return; - case 0: - duty = _currentDuty; - _206C_200B_206D_200F_206F_200B_206A_202C_206B_200C_206B_202C_200B_206E_202D_200E_206C_206B_200B_202C_200B_202D_206C_206D_200E_206A_200F_200B_206B_200F_202D_202B_200B_200F_206E_206D_206A_206F_206C_200E_202E((ILogger)_logger, 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(1169265253), new object[1] { _202D_202B_202E_202C_202B_202B_200C_202D_200E_206E_202B_200D_206F_202B_202E_200E_206B_200D_206F_202C_200E_200E_206B_206C_206F_202E_200F_206C_206C_200E_200F_202B_200D_202D_202B_206A_200F_200D_206E_202E(duty) }); - num = ((_206B_206B_206A_206B_206B_206A_200E_206B_206C_206F_200C_200D_202C_206E_200D_200C_206F_206E_206B_202C_206A_202C_202C_206B_202B_206C_202C_200C_200B_200C_202B_202D_206A_200F_200F_202E_202B_200F_206F_200D_202E(_clientState) == _200E_200C_200B_202A_202B_200E_200C_200D_200D_202B_200E_200F_200F_202B_200C_202B_202C_202D_202B_202E_202D_202A_206E_202D_206A_206B_200D_206B_200E_202A_206F_200B_206D_206F_206F_200F_200D_202C_202E_202E(duty)) ? (-363396159) : (-363396157)); - break; - } + return; } + SeasonalDutyDefinition duty = _currentDuty; + _logger.LogDebug("Enqueuing seasonal duty cycle for {DutyName}", duty.Name); + if (_clientState.TerritoryType != duty.DutyTerritoryId) + { + _routeEnqueuer.Enqueue(_taskQueue, duty.TerritoryId, duty.NpcPosition); + _taskQueue.Enqueue(new Mount.UnmountTask()); + bool interacted = false; + _taskQueue.Enqueue(new WaitCondition.Task(delegate + { + if (_clientState.TerritoryType == _currentDuty.DutyTerritoryId) + { + return true; + } + if (!interacted) + { + interacted = _gameFunctions.InteractWith(duty.NpcDataId); + } + return false; + }, $"InteractAndWait(territory: {duty.DutyTerritoryId})")); + } + _taskQueue.Enqueue(new ClearObjectsWithAction.ClearTask(duty.DataIds, duty.Action, duty.DutyTerritoryId, duty.StopDistance, duty.WaypointPositions)); + _taskQueue.Enqueue(new WaitCondition.Task(() => _clientState.TerritoryType != _currentDuty.DutyTerritoryId, "Wait(duty end)")); + _taskQueue.Enqueue(new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(3L))); } - [MethodImpl(MethodImplOptions.NoInlining)] public override void Stop(string label) { base.Stop(label); - int num = ((_currentDuty == null) ? (-485245230) : (-485245231)); - while (true) + if (_currentDuty != null) { - int num2 = num; - int num3 = -485245232; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -485245231; - break; - case 1: - _202A_200D_200F_206C_200B_206E_206F_206D_202C_200B_202D_200B_206D_200E_200E_200C_206D_206E_206D_206F_202D_200C_206A_200E_206D_200F_200C_200C_200C_200D_200E_202A_200D_200C_206C_200C_206C_200D_206D_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(478807852), new object[2] { label, _completedCycles }); - _routeEnqueuer.ClearDestination(); - _currentDuty = null; - _completedCycles = 0; - _cycleLimit = null; - _taskQueue.Reset(); - num = -485245230; - break; - case 2: - return; - } + _logger.LogInformation("Stopping seasonal duty farming: {Label} (completed {Cycles} cycles)", label, _completedCycles); + _routeEnqueuer.ClearDestination(); + _currentDuty = null; + _completedCycles = 0; + _cycleLimit = null; + _taskQueue.Reset(); } } - - static string _202D_202B_202E_202C_202B_202B_200C_202D_200E_206E_202B_200D_206F_202B_202E_200E_206B_200D_206F_202C_200E_200E_206B_206C_206F_202E_200F_206C_206C_200E_200F_202B_200D_202D_202B_206A_200F_200D_206E_202E(SeasonalDutyDefinition P_0) - { - return P_0.Name; - } - - static CultureInfo _206D_202D_200B_202D_200D_200B_206D_200B_200B_202C_200F_206C_202A_202B_206A_202E_206D_202A_206E_202C_206C_206F_206C_202E_202A_202B_202E_206F_200E_206C_206C_206A_202B_200E_206C_200C_202A_206E_206E_202B_202E() - { - return CultureInfo.InvariantCulture; - } - - static void _202A_200D_200F_206C_200B_206E_206F_206D_202C_200B_202D_200B_206D_200E_200E_200C_206D_206E_206D_206F_202D_200C_206A_200E_206D_200F_200C_200C_200C_200D_200E_202A_200D_200C_206C_200C_206C_200D_206D_206A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static void _206C_200B_206D_200F_206F_200B_206A_202C_206B_200C_206B_202C_200B_206E_202D_200E_206C_206B_200B_202C_200B_202D_206C_206D_200E_206A_200F_200B_206B_200F_202D_202B_200B_200F_206E_206D_206A_206F_206C_200E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static uint _206B_206B_206A_206B_206B_206A_200E_206B_206C_206F_200C_200D_202C_206E_200D_200C_206F_206E_206B_202C_206A_202C_202C_206B_202B_206C_202C_200C_200B_200C_202B_202D_206A_200F_200F_202E_202B_200F_206F_200D_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static ushort _200E_200C_200B_202A_202B_200E_200C_200D_200D_202B_200E_200F_200F_202B_200C_202B_202C_202D_202B_202E_202D_202A_206E_202D_206A_206B_200D_206B_200E_202A_206F_200B_206D_206F_206F_200F_200D_202C_202E_202E(SeasonalDutyDefinition P_0) - { - return P_0.DutyTerritoryId; - } - - static ushort _200E_202B_202B_206F_202B_202A_200E_200F_200B_200E_202C_206B_206E_202E_200D_206B_200D_202C_206E_200D_200B_200B_202C_206C_206C_202E_200D_202E_200B_200D_206E_206B_202E_202D_200F_202D_202C_206C_206B_200D_202E(SeasonalDutyDefinition P_0) - { - return P_0.TerritoryId; - } - - static Vector3 _202B_202A_202B_202B_206E_200E_202E_206A_200D_206A_202E_200E_200B_206B_206E_200B_202D_200F_206E_202B_200B_206D_206C_206F_206B_202C_200E_200B_200B_200B_206C_206D_202B_206A_200F_202B_206F_200C_206B_202C_202E(SeasonalDutyDefinition P_0) - { - return P_0.NpcPosition; - } - - static List _206C_206A_202C_202D_202E_200F_200B_200F_206E_202E_200E_202E_206E_206B_200F_206C_206E_202B_202B_200D_200C_206A_200D_200F_206C_206D_200E_202D_206F_200E_206A_206C_206E_202A_202E_206A_200E_200F_206A_206B_202E(SeasonalDutyDefinition P_0) - { - return P_0.DataIds; - } - - static EAction _200F_202B_206A_202A_200E_200F_200B_206E_200B_206F_202C_200E_206C_202E_202E_200C_200E_200C_206B_202B_206A_206A_200B_202B_206D_202D_206E_206F_200B_200F_202E_206A_206E_206F_202B_202E_200F_206D_206B_206B_202E(SeasonalDutyDefinition P_0) - { - return P_0.Action; - } - - static float _206D_206F_202E_200F_200E_200F_202A_206C_206B_202B_206A_206C_200D_206F_206F_206C_200B_206A_202C_206D_202E_202B_206C_206D_206F_206F_202C_206E_206F_206E_200C_202E_200F_200F_200C_206B_202D_202D_202D_200F_202E(SeasonalDutyDefinition P_0) - { - return P_0.StopDistance; - } - - static List _200C_202C_200C_202A_206F_206E_200F_202C_206A_202C_200B_200D_202D_202A_206E_206E_206F_202B_202E_206F_202A_202B_200F_200B_206B_206B_200C_202B_206C_202C_202D_206D_202B_206B_200E_200D_202A_202D_202E_200C_202E(SeasonalDutyDefinition P_0) - { - return P_0.WaypointPositions; - } } diff --git a/Questionable/Questionable.Controller/SeasonalDutyDefinitionRegistry.cs b/Questionable/Questionable.Controller/SeasonalDutyDefinitionRegistry.cs index ab50089..83cdffc 100644 --- a/Questionable/Questionable.Controller/SeasonalDutyDefinitionRegistry.cs +++ b/Questionable/Questionable.Controller/SeasonalDutyDefinitionRegistry.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; using Dalamud.Plugin; using Microsoft.Extensions.Logging; using Questionable.Model.Questing; @@ -12,32 +11,11 @@ namespace Questionable.Controller; internal sealed class SeasonalDutyDefinitionRegistry : DefinitionRegistry { - protected override string TypeLabel - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1124229794); - } - } + protected override string TypeLabel => "seasonal duty"; - protected override string ConfigDirectoryName - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(393634060); - } - } + protected override string ConfigDirectoryName => "SeasonalDutyDefinitions"; - protected override string ProjectDirectoryName - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return 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(-1200839821); - } - } + protected override string ProjectDirectoryName => "SeasonalDutyPaths"; protected override EPathType PathType => EPathType.SeasonalDuty; @@ -48,31 +26,16 @@ internal sealed class SeasonalDutyDefinitionRegistry : DefinitionRegistry GetAssemblyDefinitions() { - return _206F_206D_202B_206C_202C_206F_206C_200C_202A_200F_200E_202E_206B_200F_206C_202E_202A_206F_202A_206D_206D_202D_200E_206F_200E_206E_206C_206D_202E_206F_202A_202B_200D_206C_202C_206B_200C_202A_206A_202E(); + return AssemblySeasonalDutyDefinitionLoader.GetDefinitions(); } protected override DateTime? GetExpiry(SeasonalDutyDefinition definition) { - return _206D_206E_202D_206B_200B_202E_202E_200E_206C_202C_202C_200C_202A_202C_206E_206A_202B_206D_206E_206B_202D_200C_206C_206F_200B_202E_206F_206E_202D_202E_202B_202C_200C_206E_200D_202D_202E_200E_206B_202E(definition); + return definition.EventExpiry; } protected override string? GetName(SeasonalDutyDefinition definition) { - return _200E_202A_200E_202E_202D_206B_202D_200F_200C_206E_206F_206A_200C_202D_206A_200F_206F_202C_202C_200F_202D_206D_200E_200B_206A_200D_202A_202D_200F_200F_206A_200E_200B_200C_200B_202D_200C_200C_206D_200C_202E(definition); - } - - static IReadOnlyDictionary _206F_206D_202B_206C_202C_206F_206C_200C_202A_200F_200E_202E_206B_200F_206C_202E_202A_206F_202A_206D_206D_202D_200E_206F_200E_206E_206C_206D_202E_206F_202A_202B_200D_206C_202C_206B_200C_202A_206A_202E() - { - return AssemblySeasonalDutyDefinitionLoader.GetDefinitions(); - } - - static DateTime? _206D_206E_202D_206B_200B_202E_202E_200E_206C_202C_202C_200C_202A_202C_206E_206A_202B_206D_206E_206B_202D_200C_206C_206F_200B_202E_206F_206E_202D_202E_202B_202C_200C_206E_200D_202D_202E_200E_206B_202E(SeasonalDutyDefinition P_0) - { - return P_0.EventExpiry; - } - - static string _200E_202A_200E_202E_202D_206B_202D_200F_200C_206E_206F_206A_200C_202D_206A_200F_206F_202C_202C_200F_202D_206D_200E_200B_206A_200D_202A_202D_200F_200F_206A_200E_200B_200C_200B_202D_200C_200C_206D_200C_202E(SeasonalDutyDefinition P_0) - { - return P_0.Name; + return definition.Name; } } diff --git a/Questionable/Questionable.Data/AetherCurrentData.cs b/Questionable/Questionable.Data/AetherCurrentData.cs index f3dafc4..609321e 100644 --- a/Questionable/Questionable.Data/AetherCurrentData.cs +++ b/Questionable/Questionable.Data/AetherCurrentData.cs @@ -31,28 +31,8 @@ internal sealed class AetherCurrentData _overworldCurrents = (from x in dataManager.GetExcelSheet() where x.RowId != 0 where x.Territory.IsValid - select x).ToImmutableDictionary((AetherCurrentCompFlgSet x) => (ushort)x.Territory.RowId, (AetherCurrentCompFlgSet x) => (from y in x.AetherCurrents.Where(delegate(RowRef y) - { - int num = ((y.RowId == 0) ? (-280991559) : (-280991560)); - while (true) - { - int num2 = num; - int num3 = -280991559; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_004b; - case 0: - return false; - case 1: - return y.Value.Quest.RowId == 0; - } - continue; - IL_004b: - num = -280991560; - } - }) + select x).ToImmutableDictionary((AetherCurrentCompFlgSet x) => (ushort)x.Territory.RowId, (AetherCurrentCompFlgSet x) => (from y in x.AetherCurrents + where y.RowId != 0 && y.Value.Quest.RowId == 0 select y.RowId).ToImmutableList()); _allCurrentsByTerritory = (from x in dataManager.GetExcelSheet() where x.RowId != 0 @@ -69,28 +49,11 @@ internal sealed class AetherCurrentData public bool IsValidAetherCurrent(ushort territoryId, uint aetherCurrentId) { - ImmutableList value; - int num = ((!_overworldCurrents.TryGetValue(territoryId, out value)) ? (-1647784992) : (-1647784989)); - while (true) + if (_overworldCurrents.TryGetValue(territoryId, out ImmutableList value)) { - int num2 = num; - int num3 = -1647784990; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0050; - case 1: - return value.Contains(aetherCurrentId); - case 2: - return false; - } - continue; - IL_0050: - num = -1647784989; + return value.Contains(aetherCurrentId); } + return false; } public ImmutableList GetCurrentsForTerritory(ushort territoryId) @@ -112,95 +75,30 @@ internal sealed class AetherCurrentData { HashSet hashSet = _overworldCurrents.Values.SelectMany((ImmutableList list) => list).ToHashSet(); Dictionary dictionary = new Dictionary(); - using (ExcelSheet.Enumerator enumerator = _dataManager.GetExcelSheet().GetEnumerator()) + foreach (EObj item in _dataManager.GetExcelSheet()) { - int num = -379834335; - uint rowId = default(uint); - EObj current = default(EObj); - while (true) + if (item.RowId != 0) { - int num2 = num; - int num3 = -379834333; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + uint rowId = item.Data.RowId; + if (rowId != 0 && hashSet.Contains(rowId)) { - case 2: - num = (enumerator.MoveNext() ? (-379834334) : (-379834330)); - break; - case 0: - dictionary[rowId] = current.RowId; - num = -379834335; - break; - case 1: - current = enumerator.Current; - num = ((current.RowId == 0) ? (-379834335) : (-379834336)); - break; - case 3: - rowId = current.Data.RowId; - num = ((rowId == 0) ? (-379834335) : (-379834331)); - break; - case 6: - num = ((!hashSet.Contains(rowId)) ? (-379834335) : (-379834333)); - break; - case 4: - num = -379834335; - break; - case 5: - goto end_IL_0067; + dictionary[rowId] = item.RowId; } - continue; - end_IL_0067: - break; } } Dictionary dictionary2 = dictionary.ToDictionary((KeyValuePair kv) => kv.Value, (KeyValuePair kv) => kv.Key); ImmutableDictionary.Builder builder = ImmutableDictionary.CreateBuilder(); - using (ExcelSheet.Enumerator enumerator2 = _dataManager.GetExcelSheet().GetEnumerator()) + foreach (Level item2 in _dataManager.GetExcelSheet()) { - int num = 366195363; - Level current2 = default(Level); - uint value = default(uint); - uint rowId2 = default(uint); - while (true) + if (item2.RowId != 0) { - int num5 = num; - int num3 = 366195366; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) + uint rowId2 = item2.Object.RowId; + if (dictionary2.TryGetValue(rowId2, out var value) && item2.Territory.IsValid) { - case 6: - num = 366195363; - break; - case 2: - current2 = enumerator2.Current; - num = ((current2.RowId == 0) ? 366195363 : 366195367); - break; - case 3: - { - ushort territoryId = (ushort)current2.Territory.RowId; - Vector3 position = new Vector3(current2.X, current2.Y, current2.Z); + ushort territoryId = (ushort)item2.Territory.RowId; + Vector3 position = new Vector3(item2.X, item2.Y, item2.Z); builder[value] = new AetherCurrentPosition(territoryId, position, rowId2); - num = 366195363; - break; } - case 1: - rowId2 = current2.Object.RowId; - num = ((!dictionary2.TryGetValue(rowId2, out value)) ? 366195363 : 366195366); - break; - case 0: - num = ((!current2.Territory.IsValid) ? 366195363 : 366195365); - break; - case 5: - num = (enumerator2.MoveNext() ? 366195364 : 366195362); - break; - case 4: - goto end_IL_01ff; - } - continue; - end_IL_01ff: - break; } } return builder.ToImmutable(); diff --git a/Questionable/Questionable.Data/AetherCurrentInfo.cs b/Questionable/Questionable.Data/AetherCurrentInfo.cs index a487dc6..b7ed6c7 100644 --- a/Questionable/Questionable.Data/AetherCurrentInfo.cs +++ b/Questionable/Questionable.Data/AetherCurrentInfo.cs @@ -1,143 +1,3 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; - namespace Questionable.Data; -internal sealed record AetherCurrentInfo(uint AetherCurrentId, bool IsQuestGated, uint QuestId) -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200C_202E_200F_200C_200C_206D_206C_206C_206B_206B_202C_206C_200F_202D_206D_202B_206D_200C_202B_206F_206A_206C_206A_200E_200B_206B_206F_200D_206A_200F_202E_206E_202E_202E_202D_206D_202E_206F_200E_206E_202E(typeof(AetherCurrentInfo).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202E_200C_200E_200C_206C_202D_206C_200E_206E_206B_206A_200D_202B_206D_206A_206C_200D_206D_200D_202B_200E_202A_202E_202A_206D_202E_200D_202D_206B_206D_202C_202B_206E_202C_206A_200B_206E_202D_206D_202E(); - _206B_206D_206E_202E_200D_206D_202A_202E_202E_202D_200C_200D_202E_206C_206F_206E_206F_202C_202C_202E_200D_200E_202E_200E_202C_202E_200E_200F_200D_200B_202D_202A_200C_200F_206E_202B_200D_206C_206B_202D_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-746982059)); - _206B_206D_206E_202E_200D_206D_202A_202E_202E_202D_200C_200D_202E_206C_206F_206E_206F_202C_202C_202E_200D_200E_202E_200E_202C_202E_200E_200F_200D_200B_202D_202A_200C_200F_206E_202B_200D_206C_206B_202D_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1664411125)); - int num = ((!PrintMembers(stringBuilder)) ? (-384095084) : (-384095081)); - while (true) - { - int num2 = num; - int num3 = -384095082; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -384095081; - break; - case 2: - _206E_200C_202D_206A_200F_206F_206E_200F_206D_206C_202C_202E_206B_206A_200F_200D_202E_202C_200E_202D_200B_206E_202A_206C_202B_200D_200B_202C_206C_206A_200D_200F_202D_202B_206D_202A_206C_200D_200D_206B_202E(stringBuilder, '}'); - return _200B_202D_206E_202E_206D_200F_206A_206F_202B_202B_200D_206C_206B_206A_200C_206A_202D_200B_200B_200D_200B_206F_206A_202A_202E_200E_202A_200F_202C_206E_200D_202E_202E_200F_206D_202A_206A_206E_202B_206A_202E((object)stringBuilder); - case 1: - _206E_200C_202D_206A_200F_206F_206E_200F_206D_206C_202C_202E_206B_206A_200F_200D_202E_202C_200E_202D_200B_206E_202A_206C_202B_200D_200B_202C_206C_206A_200D_200F_202D_202B_206D_202A_206C_200D_200D_206B_202E(stringBuilder, ' '); - num = -384095084; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206F_206E_202E_200D_206B_206A_200F_206F_206F_202D_200B_202D_202C_206F_202C_202C_202A_200B_200D_206D_206F_202E_206A_202C_206C_206D_200C_200D_206B_206A_206B_206C_202C_200E_200D_202A_202B_206A_202E_200F_202E(); - _206B_206D_206E_202E_200D_206D_202A_202E_202E_202D_200C_200D_202E_206C_206F_206E_206F_202C_202C_202E_200D_200E_202E_200E_202C_202E_200E_200F_200D_200B_202D_202A_200C_200F_206E_202B_200D_206C_206B_202D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-981742792)); - _206B_206D_206E_202E_200D_206D_202A_202E_202E_202D_200C_200D_202E_206C_206F_206E_206F_202C_202C_202E_200D_200E_202E_200E_202C_202E_200E_200F_200D_200B_202D_202A_200C_200F_206E_202B_200D_206C_206B_202D_202E(builder, AetherCurrentId.ToString()); - _206B_206D_206E_202E_200D_206D_202A_202E_202E_202D_200C_200D_202E_206C_206F_206E_206F_202C_202C_202E_200D_200E_202E_200E_202C_202E_200E_200F_200D_200B_202D_202A_200C_200F_206E_202B_200D_206C_206B_202D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-823827738)); - _206B_206D_206E_202E_200D_206D_202A_202E_202E_202D_200C_200D_202E_206C_206F_206E_206F_202C_202C_202E_200D_200E_202E_200E_202C_202E_200E_200F_200D_200B_202D_202A_200C_200F_206E_202B_200D_206C_206B_202D_202E(builder, IsQuestGated.ToString()); - _206B_206D_206E_202E_200D_206D_202A_202E_202E_202D_200C_200D_202E_206C_206F_206E_206F_202C_202C_202E_200D_200E_202E_200E_202C_202E_200E_200F_200D_200B_202D_202A_200C_200F_206E_202B_200D_206C_206B_202D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1358173620)); - _206B_206D_206E_202E_200D_206D_202A_202E_202E_202D_200C_200D_202E_206C_206F_206E_206F_202C_202C_202E_200D_200E_202E_200E_202C_202E_200E_200F_200D_200B_202D_202A_200C_200F_206E_202B_200D_206C_206B_202D_202E(builder, QuestId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(AetherCurrentInfo? other) - { - int num = (((object)this == other) ? (-291635662) : (-291635660)); - while (true) - { - int num2 = num; - int num3 = -291635658; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = ((!_202E_200D_206B_206D_206C_200F_202B_206B_200D_200E_206E_206D_202B_200B_206D_202E_206A_206B_206F_200E_202E_206B_202D_206A_206E_202D_202E_206B_202E_200E_202A_202E_202C_202B_202A_206D_206A_202C_200D_206D_202E(EqualityContract, other.EqualityContract)) ? (-291635663) : (-291635664)); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(AetherCurrentId, other.AetherCurrentId)) ? (-291635663) : (-291635657)); - break; - case 7: - return false; - case 2: - num = (((object)other == null) ? (-291635663) : (-291635659)); - break; - case 0: - num = -291635660; - break; - case 1: - num = ((!EqualityComparer.Default.Equals(IsQuestGated, other.IsQuestGated)) ? (-291635663) : (-291635661)); - break; - case 4: - return true; - case 5: - return EqualityComparer.Default.Equals(QuestId, other.QuestId); - } - } - } - - bool IEquatable.Equals(AetherCurrentInfo? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200C_202E_200F_200C_200C_206D_206C_206C_206B_206B_202C_206C_200F_202D_206D_202B_206D_200C_202B_206F_206A_206C_206A_200E_200B_206B_206F_200D_206A_200F_202E_206E_202E_202E_202D_206D_202E_206F_200E_206E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202E_200C_200E_200C_206C_202D_206C_200E_206E_206B_206A_200D_202B_206D_206A_206C_200D_206D_200D_202B_200E_202A_202E_202A_206D_202E_200D_202D_206B_206D_202C_202B_206E_202C_206A_200B_206E_202D_206D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206B_206D_206E_202E_200D_206D_202A_202E_202E_202D_200C_200D_202E_206C_206F_206E_206F_202C_202C_202E_200D_200E_202E_200E_202C_202E_200E_200F_200D_200B_202D_202A_200C_200F_206E_202B_200D_206C_206B_202D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206E_200C_202D_206A_200F_206F_206E_200F_206D_206C_202C_202E_206B_206A_200F_200D_202E_202C_200E_202D_200B_206E_202A_206C_202B_200D_200B_202C_206C_206A_200D_200F_202D_202B_206D_202A_206C_200D_200D_206B_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200B_202D_206E_202E_206D_200F_206A_206F_202B_202B_200D_206C_206B_206A_200C_206A_202D_200B_200B_200D_200B_206F_206A_202A_202E_200E_202A_200F_202C_206E_200D_202E_202E_200F_206D_202A_206A_206E_202B_206A_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206F_206E_202E_200D_206B_206A_200F_206F_206F_202D_200B_202D_202C_206F_202C_202C_202A_200B_200D_206D_206F_202E_206A_202C_206C_206D_200C_200D_206B_206A_206B_206C_202C_200E_200D_202A_202B_206A_202E_200F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _202E_200D_206B_206D_206C_200F_202B_206B_200D_200E_206E_206D_202B_200B_206D_202E_206A_206B_206F_200E_202E_206B_202D_206A_206E_202D_202E_206B_202E_200E_202A_202E_202C_202B_202A_206D_206A_202C_200D_206D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +internal sealed record AetherCurrentInfo(uint AetherCurrentId, bool IsQuestGated, uint QuestId); diff --git a/Questionable/Questionable.Data/AetherCurrentPosition.cs b/Questionable/Questionable.Data/AetherCurrentPosition.cs index 99eb8e0..5638fc6 100644 --- a/Questionable/Questionable.Data/AetherCurrentPosition.cs +++ b/Questionable/Questionable.Data/AetherCurrentPosition.cs @@ -1,144 +1,5 @@ -using System; -using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; namespace Questionable.Data; -internal sealed record AetherCurrentPosition(ushort TerritoryId, Vector3 Position, uint DataId) -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200C_202C_202C_206A_202C_200B_202A_202C_202D_200D_200B_202C_200B_200F_206D_200B_206F_200E_200F_200E_206C_200B_200D_206A_206A_202B_200E_202D_206C_202B_206B_202E_202D_202E_202D_200E_202D_206F_202B_202C_202E(typeof(AetherCurrentPosition).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202A_200F_200F_200C_206F_206E_200C_202A_200D_206F_206A_206A_206F_202B_206F_202A_206C_206B_202D_206C_206F_200F_200D_206D_200F_206E_206E_200B_206B_202B_206B_200E_202C_200C_202C_200E_202C_202B_206C_202C_202E(); - _206A_200D_206B_200D_200E_206A_206A_200E_202D_206A_202D_200B_206A_202E_202C_200B_202D_206C_206A_202E_206C_206F_202B_206B_206F_200C_206A_202C_202D_202A_200C_200B_206A_202E_206D_206E_200E_206D_202D_206E_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2070971433)); - _206A_200D_206B_200D_200E_206A_206A_200E_202D_206A_202D_200B_206A_202E_202C_200B_202D_206C_206A_202E_206C_206F_202B_206B_206F_200C_206A_202C_202D_202A_200C_200B_206A_202E_206D_206E_200E_206D_202D_206E_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(556540328)); - int num = ((!PrintMembers(stringBuilder)) ? 1289693343 : 1289693340); - while (true) - { - int num2 = num; - int num3 = 1289693341; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1289693340; - break; - case 1: - _202C_202E_200D_206C_202B_202B_206F_200E_206A_200C_202A_202C_206F_202A_202D_200D_200E_206A_206C_206C_200B_206C_200C_202C_202E_202D_202D_200C_206F_202C_200E_206E_206D_206E_202C_206A_200E_202B_206F_200D_202E(stringBuilder, ' '); - num = 1289693343; - break; - case 2: - _202C_202E_200D_206C_202B_202B_206F_200E_206A_200C_202A_202C_206F_202A_202D_200D_200E_206A_206C_206C_200B_206C_200C_202C_202E_202D_202D_200C_206F_202C_200E_206E_206D_206E_202C_206A_200E_202B_206F_200D_202E(stringBuilder, '}'); - return _200E_206B_202C_206D_200F_206E_200F_206B_202B_202E_206F_202C_206B_202B_206C_200B_200F_200D_200C_200E_200D_200B_202E_200B_206E_200E_200D_200C_206A_206F_200D_206A_200C_206C_202D_200D_206C_202C_206F_202C_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200C_200E_206E_206D_206D_200D_200B_200F_200C_202B_206B_200C_202C_200E_202D_202C_206E_206D_200C_206B_206F_202E_206D_200B_206D_206D_202C_202B_206E_206B_200C_200E_202A_202E_202B_200C_206B_206E_200D_206C_202E(); - _206A_200D_206B_200D_200E_206A_206A_200E_202D_206A_202D_200B_206A_202E_202C_200B_202D_206C_206A_202E_206C_206F_202B_206B_206F_200C_206A_202C_202D_202A_200C_200B_206A_202E_206D_206E_200E_206D_202D_206E_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1030915870)); - _206A_200D_206B_200D_200E_206A_206A_200E_202D_206A_202D_200B_206A_202E_202C_200B_202D_206C_206A_202E_206C_206F_202B_206B_206F_200C_206A_202C_202D_202A_200C_200B_206A_202E_206D_206E_200E_206D_202D_206E_202E(builder, TerritoryId.ToString()); - _206A_200D_206B_200D_200E_206A_206A_200E_202D_206A_202D_200B_206A_202E_202C_200B_202D_206C_206A_202E_206C_206F_202B_206B_206F_200C_206A_202C_202D_202A_200C_200B_206A_202E_206D_206E_200E_206D_202D_206E_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-485383452)); - _206A_200D_206B_200D_200E_206A_206A_200E_202D_206A_202D_200B_206A_202E_202C_200B_202D_206C_206A_202E_206C_206F_202B_206B_206F_200C_206A_202C_202D_202A_200C_200B_206A_202E_206D_206E_200E_206D_202D_206E_202E(builder, Position.ToString()); - _206A_200D_206B_200D_200E_206A_206A_200E_202D_206A_202D_200B_206A_202E_202C_200B_202D_206C_206A_202E_206C_206F_202B_206B_206F_200C_206A_202C_202D_202A_200C_200B_206A_202E_206D_206E_200E_206D_202D_206E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(861260285)); - _206A_200D_206B_200D_200E_206A_206A_200E_202D_206A_202D_200B_206A_202E_202C_200B_202D_206C_206A_202E_206C_206F_202B_206B_206F_200C_206A_202C_202D_202A_200C_200B_206A_202E_206D_206E_200E_206D_202D_206E_202E(builder, DataId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(AetherCurrentPosition? other) - { - int num = (((object)this == other) ? (-861681975) : (-861681973)); - while (true) - { - int num2 = num; - int num3 = -861681974; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = ((!EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId)) ? (-861681972) : (-861681969)); - break; - case 6: - return false; - case 7: - return EqualityComparer.Default.Equals(DataId, other.DataId); - case 5: - num = ((!EqualityComparer.Default.Equals(Position, other.Position)) ? (-861681972) : (-861681971)); - break; - case 0: - num = -861681973; - break; - case 4: - num = ((!_206A_202D_202C_206C_206B_206A_202D_202A_200B_206D_200C_200E_202E_200B_202B_206F_206E_202E_206E_206A_202A_200D_200D_206A_200B_206D_200D_200E_200B_206F_200E_200B_200E_206D_202D_206C_206D_200B_200D_206F_202E(EqualityContract, other.EqualityContract)) ? (-861681972) : (-861681976)); - break; - case 3: - return true; - case 1: - num = (((object)other == null) ? (-861681972) : (-861681970)); - break; - } - } - } - - bool IEquatable.Equals(AetherCurrentPosition? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200C_202C_202C_206A_202C_200B_202A_202C_202D_200D_200B_202C_200B_200F_206D_200B_206F_200E_200F_200E_206C_200B_200D_206A_206A_202B_200E_202D_206C_202B_206B_202E_202D_202E_202D_200E_202D_206F_202B_202C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202A_200F_200F_200C_206F_206E_200C_202A_200D_206F_206A_206A_206F_202B_206F_202A_206C_206B_202D_206C_206F_200F_200D_206D_200F_206E_206E_200B_206B_202B_206B_200E_202C_200C_202C_200E_202C_202B_206C_202C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206A_200D_206B_200D_200E_206A_206A_200E_202D_206A_202D_200B_206A_202E_202C_200B_202D_206C_206A_202E_206C_206F_202B_206B_206F_200C_206A_202C_202D_202A_200C_200B_206A_202E_206D_206E_200E_206D_202D_206E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202C_202E_200D_206C_202B_202B_206F_200E_206A_200C_202A_202C_206F_202A_202D_200D_200E_206A_206C_206C_200B_206C_200C_202C_202E_202D_202D_200C_206F_202C_200E_206E_206D_206E_202C_206A_200E_202B_206F_200D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200E_206B_202C_206D_200F_206E_200F_206B_202B_202E_206F_202C_206B_202B_206C_200B_200F_200D_200C_200E_200D_200B_202E_200B_206E_200E_200D_200C_206A_206F_200D_206A_200C_206C_202D_200D_206C_202C_206F_202C_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200C_200E_206E_206D_206D_200D_200B_200F_200C_202B_206B_200C_202C_200E_202D_202C_206E_206D_200C_206B_206F_202E_206D_200B_206D_206D_202C_202B_206E_206B_200C_200E_202A_202E_202B_200C_206B_206E_200D_206C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _206A_202D_202C_206C_206B_206A_202D_202A_200B_206D_200C_200E_202E_200B_202B_206F_206E_202E_206E_206A_202A_200D_200D_206A_200B_206D_200D_200E_200B_206F_200E_200B_200E_206D_202D_206C_206D_200B_200D_206F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +internal sealed record AetherCurrentPosition(ushort TerritoryId, Vector3 Position, uint DataId); diff --git a/Questionable/Questionable.Data/AlliedSocietyData.cs b/Questionable/Questionable.Data/AlliedSocietyData.cs index c8f934c..43a2ec3 100644 --- a/Questionable/Questionable.Data/AlliedSocietyData.cs +++ b/Questionable/Questionable.Data/AlliedSocietyData.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Collections.ObjectModel; -using System.Runtime.CompilerServices; using Questionable.Model; using Questionable.Model.Questing; using SmartNav.Model; @@ -10,274 +9,298 @@ namespace Questionable.Data; internal sealed class AlliedSocietyData { - public ReadOnlyDictionary Mounts { get; } + public ReadOnlyDictionary Mounts { get; } = new Dictionary + { + { + 66, + new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlySingleElementList(1016093u), EAetheryteLocation.SeaOfCloudsOkZundu) + }, + { + 79, + new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlySingleElementList(1017031u), EAetheryteLocation.DravanianForelandsAnyxTrine) + }, + { + 88, + new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlyArray(new uint[2] { 1017470u, 1017432u }), EAetheryteLocation.ChurningMistsZenith) + }, + { + 89, + new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlySingleElementList(1017322u), EAetheryteLocation.ChurningMistsZenith) + }, + { + 147, + new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlyArray(new uint[2] { 1024777u, 1024912u }), EAetheryteLocation.FringesPeeringStones) + }, + { + 369, + new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlySingleElementList(1051798u), EAetheryteLocation.KozamaukaDockPoga) + }, + { + 391, + new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlySingleElementList(1052562u), EAetheryteLocation.YakTelMamook) + }, + { + 24, + new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlySingleElementList(1008332u), EAetheryteLocation.EastShroudHawthorneHut) + }, + { + 23, + new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlyArray(new uint[4] { 1008327u, 1005848u, 1005860u, 1005581u }), EAetheryteLocation.SouthernThanalanLittleAlaMhigo) + } + }.AsReadOnly(); public EAlliedSociety GetCommonAlliedSocietyTurnIn(ElementId elementId) { - QuestId questId = elementId as QuestId; - int num = (((object)questId == null) ? (-47564873) : (-47564876)); - EAlliedSociety result = default(EAlliedSociety); - ushort num5 = default(ushort); - while (true) + if (elementId is QuestId { Value: var value }) { - int num2 = num; - int num3 = -47564884; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + switch (value) { - case 12: - num = -47564876; - break; - case 13: - num = -47564884; - break; - case 0: - result = EAlliedSociety.None; - num = -47564890; - break; - case 22: - num = ((num5 <= 5226) ? (-47564880) : (-47564865)); - break; - case 18: - result = EAlliedSociety.YokHuy; - num = -47564890; - break; - case 24: - num5 = _206B_206E_202C_202C_200B_206A_206F_200C_202B_202D_206A_200C_200C_202D_206D_200D_202E_202C_202D_200D_206C_202A_206D_206F_202B_206B_202A_206E_206D_202B_206E_206E_200B_206C_202C_200F_200C_206F_206C_202B_202E((ElementId)questId); - num = ((num5 < 2290) ? (-47564874) : (-47564881)); - break; - case 10: - return result; - case 19: - num = -47564884; - break; - case 9: - num = ((num5 < 5199) ? (-47564882) : (-47564870)); - break; - case 28: - result = EAlliedSociety.Pelupelu; - num = -47564890; - break; - case 1: - num = ((num5 <= 5288) ? (-47564878) : (-47564868)); - break; - case 7: - num = ((num5 < 5330) ? (-47564883) : (-47564888)); - break; - case 25: - result = EAlliedSociety.Amaljaa; - num = -47564890; - break; - case 6: - num = -47564884; - break; - case 23: - num = ((num5 <= 2280) ? (-47564887) : (-47564892)); - break; - case 3: - num = ((num5 < 5261) ? (-47564891) : (-47564885)); - break; - case 15: - num = ((num5 > 1251) ? (-47564884) : (-47564875)); - break; - case 27: + case 1222: + case 1223: + case 1224: + case 1225: + case 1226: + case 1227: + case 1228: + case 1229: + case 1230: + case 1231: + case 1232: + case 1233: + case 1234: + case 1235: + case 1236: + case 1237: + case 1238: + case 1239: + case 1240: + case 1241: + case 1242: + case 1243: + case 1244: + case 1245: + case 1246: + case 1247: + case 1248: + case 1249: + case 1250: + case 1251: + return EAlliedSociety.Amaljaa; + case 2171: + case 2172: + case 2173: + case 2174: + case 2175: + case 2176: + case 2177: + case 2178: + case 2179: + case 2180: + case 2181: + case 2182: + case 2183: + case 2184: + case 2185: + case 2186: + case 2187: + case 2188: + case 2189: + case 2190: + case 2191: + case 2192: + case 2193: + case 2194: + case 2195: + case 2196: + case 2197: + case 2198: + case 2199: + case 2200: + return EAlliedSociety.VanuVanu; + case 2261: + case 2262: + case 2263: + case 2264: + case 2265: + case 2266: + case 2267: + case 2268: + case 2269: + case 2270: + case 2271: + case 2272: + case 2273: + case 2274: + case 2275: + case 2276: + case 2277: + case 2278: + case 2279: + case 2280: + return EAlliedSociety.Vath; + case 2290: + case 2291: + case 2292: + case 2293: + case 2294: + case 2295: + case 2296: + case 2297: + case 2298: + case 2299: + case 2300: + case 2301: + case 2302: + case 2303: + case 2304: + case 2305: + case 2306: + case 2307: + case 2308: + case 2309: + case 2310: + case 2311: + case 2312: + case 2313: + case 2314: + case 2315: + case 2316: + case 2317: + case 2318: + case 2319: + return EAlliedSociety.Moogles; + case 5199: + case 5200: + case 5201: + case 5202: + case 5203: + case 5204: + case 5205: + case 5206: + case 5207: + case 5208: + case 5209: + case 5210: + case 5211: + case 5212: + case 5213: + case 5214: + case 5215: + case 5216: + case 5217: + case 5218: + case 5219: + case 5220: + case 5221: + case 5222: + case 5223: + case 5224: + case 5225: + case 5226: + return EAlliedSociety.Pelupelu; + case 5261: + case 5262: + case 5263: + case 5264: + case 5265: + case 5266: + case 5267: + case 5268: + case 5269: + case 5270: + case 5271: + case 5272: + case 5273: + case 5274: + case 5275: + case 5276: + case 5277: + case 5278: + case 5279: + case 5280: + case 5281: + case 5282: + case 5283: + case 5284: + case 5285: + case 5286: + case 5287: + case 5288: + return EAlliedSociety.MamoolJa; + case 5330: + case 5331: + case 5332: + case 5333: + case 5334: + case 5335: + case 5336: + case 5337: + case 5338: + case 5339: + case 5340: + case 5341: + case 5342: + case 5343: + case 5344: + case 5345: + case 5346: + case 5347: + case 5348: + case 5349: + case 5350: + case 5351: + case 5352: + case 5353: + case 5354: + case 5355: + case 5356: + case 5357: + case 5358: + case 5359: + case 5360: + case 5361: + case 5362: + case 5363: + return EAlliedSociety.YokHuy; + default: return EAlliedSociety.None; - case 21: - num = ((num5 < 2261) ? (-47564889) : (-47564869)); - break; - case 30: - result = EAlliedSociety.MamoolJa; - num = -47564890; - break; - case 8: - num = -47564884; - break; - case 20: - result = EAlliedSociety.Moogles; - num = -47564890; - break; - case 16: - num = -47564884; - break; - case 4: - num = ((num5 <= 5363) ? (-47564866) : (-47564886)); - break; - case 17: - result = EAlliedSociety.VanuVanu; - num = -47564890; - break; - case 5: - result = EAlliedSociety.Vath; - num = -47564890; - break; - case 14: - num = ((num5 < 1222) ? (-47564884) : (-47564893)); - break; - case 26: - num = ((num5 < 2171) ? (-47564894) : (-47564871)); - break; - case 29: - num = -47564884; - break; - case 2: - num = ((num5 <= 2319) ? (-47564872) : (-47564895)); - break; - case 11: - num = ((num5 <= 2200) ? (-47564867) : (-47564879)); - break; } } + return EAlliedSociety.None; } public void GetCommonAlliedSocietyNpcs(EAlliedSociety alliedSociety, out uint[] normalNpcs, out uint[] mountNpcs) { - uint[] array; - uint[] array2; - uint[] array3; switch (alliedSociety) { - default: - { - int num = -1576121943; - while (true) - { - int num2 = num; - int num3 = -1576121944; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - normalNpcs = new uint[1] { 1054635u }; - mountNpcs = Array.Empty(); - return; - case 1: - goto IL_008c; - case 7: - goto end_IL_0033; - case 0: - goto IL_00c2; - case 3: - num = -1576121943; - break; - case 6: - goto IL_00e8; - case 2: - goto IL_00f7; - case 4: - goto IL_0112; - case 8: - goto end_IL_0003; - case 9: - num = -1576121938; - break; - } - continue; - IL_008c: - num = ((alliedSociety == EAlliedSociety.YokHuy) ? (-1576121939) : (-1576121951)); - continue; - end_IL_0033: - break; - } - goto case EAlliedSociety.Vath; - } + case EAlliedSociety.Amaljaa: + normalNpcs = Array.Empty(); + mountNpcs = new uint[4] { 1008327u, 1005848u, 1005860u, 1005581u }; + break; + case EAlliedSociety.Ixal: + normalNpcs = new uint[6] { 1008945u, 1009218u, 1009217u, 1009219u, 1009220u, 1009221u }; + mountNpcs = Array.Empty(); + break; + case EAlliedSociety.VanuVanu: + normalNpcs = new uint[3] { 1016088u, 1016091u, 1016092u }; + mountNpcs = new uint[1] { 1016093u }; + break; case EAlliedSociety.Vath: normalNpcs = Array.Empty(); mountNpcs = new uint[1] { 1017031u }; - return; - case EAlliedSociety.Moogles: - goto IL_00c2; - case EAlliedSociety.Sylphs: - case EAlliedSociety.Kobolds: - case EAlliedSociety.Sahagin: - goto IL_00e8; - case EAlliedSociety.Ixal: - goto IL_00f7; - case EAlliedSociety.Amaljaa: - goto IL_0112; - case EAlliedSociety.VanuVanu: break; - IL_0112: + case EAlliedSociety.Moogles: normalNpcs = Array.Empty(); - array = new uint[4]; - _200B_202A_206C_202E_206E_202A_206D_206E_206C_206F_202D_206E_206B_200F_200E_200E_202C_202E_206D_202C_202C_202E_202E_206F_200E_202B_202A_200C_202B_206F_206B_200B_200C_200D_206E_206D_200D_202C_206B_200C_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - mountNpcs = array; - return; - IL_00f7: - array2 = new uint[6]; - _200B_202A_206C_202E_206E_202A_206D_206E_206C_206F_202D_206E_206B_200F_200E_200E_202C_202E_206D_202C_202C_202E_202E_206F_200E_202B_202A_200C_202B_206F_206B_200B_200C_200D_206E_206D_200D_202C_206B_200C_202E((Array)array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - normalNpcs = array2; + mountNpcs = new uint[3] { 1017322u, 1017470u, 1017471u }; + break; + case EAlliedSociety.YokHuy: + normalNpcs = new uint[1] { 1054635u }; mountNpcs = Array.Empty(); - return; - IL_00e8: + break; + default: normalNpcs = Array.Empty(); mountNpcs = Array.Empty(); - return; - IL_00c2: - normalNpcs = Array.Empty(); - array3 = new uint[3]; - _200B_202A_206C_202E_206E_202A_206D_206E_206C_206F_202D_206E_206B_200F_200E_200E_202C_202E_206D_202C_202C_202E_202E_206F_200E_202B_202A_200C_202B_206F_206B_200B_200C_200D_206E_206D_200D_202C_206B_200C_202E((Array)array3, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - mountNpcs = array3; - return; - end_IL_0003: break; } - uint[] array4 = new uint[3]; - _200B_202A_206C_202E_206E_202A_206D_206E_206C_206F_202D_206E_206B_200F_200E_200E_202C_202E_206D_202C_202C_202E_202E_206F_200E_202B_202A_200C_202B_206F_206B_200B_200C_200D_206E_206D_200D_202C_206B_200C_202E((Array)array4, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - normalNpcs = array4; - mountNpcs = new uint[1] { 1016093u }; - } - - public AlliedSocietyData() - { - Dictionary dictionary = new Dictionary - { - { - 66, - new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlySingleElementList(1016093u), EAetheryteLocation.SeaOfCloudsOkZundu) - }, - { - 79, - new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlySingleElementList(1017031u), EAetheryteLocation.DravanianForelandsAnyxTrine) - }, - { - 88, - new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlyArray(new uint[2] { 1017470u, 1017432u }), EAetheryteLocation.ChurningMistsZenith) - }, - { - 89, - new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlySingleElementList(1017322u), EAetheryteLocation.ChurningMistsZenith) - }, - { - 147, - new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlyArray(new uint[2] { 1024777u, 1024912u }), EAetheryteLocation.FringesPeeringStones) - }, - { - 369, - new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlySingleElementList(1051798u), EAetheryteLocation.KozamaukaDockPoga) - }, - { - 391, - new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlySingleElementList(1052562u), EAetheryteLocation.YakTelMamook) - }, - { - 24, - new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlySingleElementList(1008332u), EAetheryteLocation.EastShroudHawthorneHut) - } - }; - uint[] array = new uint[4]; - _200B_202A_206C_202E_206E_202A_206D_206E_206C_206F_202D_206E_206B_200F_200E_200E_202C_202E_206D_202C_202C_202E_202E_206F_200E_202B_202A_200C_202B_206F_206B_200B_200C_200D_206E_206D_200D_202C_206B_200C_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - dictionary.Add(23, new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlyArray(array), EAetheryteLocation.SouthernThanalanLittleAlaMhigo)); - Mounts = dictionary.AsReadOnly(); - base._002Ector(); - } - - static ushort _206B_206E_202C_202C_200B_206A_206F_200C_202B_202D_206A_200C_200C_202D_206D_200D_202E_202C_202D_200D_206C_202A_206D_206F_202B_206B_202A_206E_206D_202B_206E_206E_200B_206C_202C_200F_200C_206F_206C_202B_202E(ElementId P_0) - { - return P_0.Value; - } - - static void _200B_202A_206C_202E_206E_202A_206D_206E_206C_206F_202D_206E_206B_200F_200E_200E_202C_202E_206D_202C_202C_202E_202E_206F_200E_202B_202A_200C_202B_206F_206B_200B_200C_200D_206E_206D_200D_202C_206B_200C_202E(Array P_0, RuntimeFieldHandle P_1) - { - RuntimeHelpers.InitializeArray(P_0, P_1); } } diff --git a/Questionable/Questionable.Data/AlliedSocietyMountConfiguration.cs b/Questionable/Questionable.Data/AlliedSocietyMountConfiguration.cs index ff5ea8c..a8e5422 100644 --- a/Questionable/Questionable.Data/AlliedSocietyMountConfiguration.cs +++ b/Questionable/Questionable.Data/AlliedSocietyMountConfiguration.cs @@ -1,144 +1,6 @@ -using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using SmartNav.Model; namespace Questionable.Data; -public sealed record AlliedSocietyMountConfiguration(IReadOnlyList IssuerDataIds, EAetheryteLocation ClosestAetheryte) -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200F_206F_206F_206C_202B_206A_200C_200C_202B_206E_200B_202D_202D_200F_200B_206C_200B_200D_206F_202D_206E_206F_206E_206B_202D_200D_206D_200F_206C_202D_200B_202B_200F_200B_200B_206D_202B_202C_202C_206C_202E(typeof(AlliedSocietyMountConfiguration).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206D_200B_202B_200D_200D_206C_206C_206C_200F_202A_202C_202E_206A_200E_206D_206C_206D_202A_206D_206B_206B_202B_202E_202E_200E_202E_206A_200C_202C_206B_200E_200E_200F_200B_206B_206B_202B_200B_200D_206A_202E(); - _200E_202D_200E_206D_206A_206B_202E_200F_202D_202E_200C_200E_200B_206D_200E_200E_200E_200C_206F_202C_200C_206A_202B_206A_202C_206C_200C_202D_206A_202B_206D_200B_206A_206F_206A_200E_206F_202D_206A_202A_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1360404668)); - _200E_202D_200E_206D_206A_206B_202E_200F_202D_202E_200C_200E_200B_206D_200E_200E_200E_200C_206F_202C_200C_206A_202B_206A_202C_206C_200C_202D_206A_202B_206D_200B_206A_206F_206A_200E_206F_202D_206A_202A_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? (-808815067) : (-808815066)); - while (true) - { - int num2 = num; - int num3 = -808815068; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -808815066; - break; - case 2: - _206B_200E_206E_202C_200F_206E_200E_200F_202E_200D_200C_206A_206E_200E_202C_202D_200B_202E_202B_202D_206B_202A_206A_206A_200D_202C_206D_200C_202B_202E_206E_206A_202A_202E_206E_206D_202D_202A_206E_206F_202E(stringBuilder, ' '); - num = -808815067; - break; - case 1: - _206B_200E_206E_202C_200F_206E_200E_200F_202E_200D_200C_206A_206E_200E_202C_202D_200B_202E_202B_202D_206B_202A_206A_206A_200D_202C_206D_200C_202B_202E_206E_206A_202A_202E_206E_206D_202D_202A_206E_206F_202E(stringBuilder, '}'); - return _202D_200D_202C_206A_200D_202E_206C_206A_206C_206A_202C_206F_200C_206F_200D_202A_206D_202E_206A_206B_202A_200E_200B_202E_202D_202C_200D_206A_202D_200E_206A_206C_200E_200F_200B_206D_202C_202E_206A_206E_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200D_200C_206D_200D_206F_200C_200F_202A_200E_202C_206E_202E_206F_206E_206A_202C_206B_206F_202B_206F_200E_206D_202E_202B_200C_202C_206D_200E_206F_206A_200F_206A_206F_200F_206D_200E_202A_202E_206C_206A_202E(); - _200E_202D_200E_206D_206A_206B_202E_200F_202D_202E_200C_200E_200B_206D_200E_200E_200E_200C_206F_202C_200C_206A_202B_206A_202C_206C_200C_202D_206A_202B_206D_200B_206A_206F_206A_200E_206F_202D_206A_202A_202E(builder, 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(1310547347)); - _200D_200E_206A_206E_202B_206C_206A_200D_202E_206F_202E_202B_200B_200D_202E_202A_200C_202B_206B_206A_206E_202B_202B_206A_202E_206E_206C_206A_206E_202C_206A_200C_206F_202C_202B_206F_202C_206C_206F_206B_202E(builder, (object)IssuerDataIds); - _200E_202D_200E_206D_206A_206B_202E_200F_202D_202E_200C_200E_200B_206D_200E_200E_200E_200C_206F_202C_200C_206A_202B_206A_202C_206C_200C_202D_206A_202B_206D_200B_206A_206F_206A_200E_206F_202D_206A_202A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1251262177)); - _200E_202D_200E_206D_206A_206B_202E_200F_202D_202E_200C_200E_200B_206D_200E_200E_200E_200C_206F_202C_200C_206A_202B_206A_202C_206C_200C_202D_206A_202B_206D_200B_206A_206F_206A_200E_206F_202D_206A_202A_202E(builder, ClosestAetheryte.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(AlliedSocietyMountConfiguration? other) - { - int num = (((object)this == other) ? 1962730095 : 1962730088); - while (true) - { - int num2 = num; - int num3 = 1962730093; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - return false; - case 5: - num = (((object)other == null) ? 1962730094 : 1962730089); - break; - case 4: - num = ((!_202D_206A_200C_206E_202A_206F_206B_200B_200F_202A_200D_206D_200B_202D_202B_202E_200D_202D_206C_206D_206D_200F_206E_206C_200E_202A_206B_202B_202E_202E_200E_200C_200B_200F_202A_206B_206C_200D_200C_206C_202E(EqualityContract, other.EqualityContract)) ? 1962730094 : 1962730092); - break; - case 1: - num = ((!EqualityComparer>.Default.Equals(IssuerDataIds, other.IssuerDataIds)) ? 1962730094 : 1962730091); - break; - case 2: - return true; - case 6: - return EqualityComparer.Default.Equals(ClosestAetheryte, other.ClosestAetheryte); - case 0: - num = 1962730088; - break; - } - } - } - - bool IEquatable.Equals(AlliedSocietyMountConfiguration? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200F_206F_206F_206C_202B_206A_200C_200C_202B_206E_200B_202D_202D_200F_200B_206C_200B_200D_206F_202D_206E_206F_206E_206B_202D_200D_206D_200F_206C_202D_200B_202B_200F_200B_200B_206D_202B_202C_202C_206C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206D_200B_202B_200D_200D_206C_206C_206C_200F_202A_202C_202E_206A_200E_206D_206C_206D_202A_206D_206B_206B_202B_202E_202E_200E_202E_206A_200C_202C_206B_200E_200E_200F_200B_206B_206B_202B_200B_200D_206A_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200E_202D_200E_206D_206A_206B_202E_200F_202D_202E_200C_200E_200B_206D_200E_200E_200E_200C_206F_202C_200C_206A_202B_206A_202C_206C_200C_202D_206A_202B_206D_200B_206A_206F_206A_200E_206F_202D_206A_202A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206B_200E_206E_202C_200F_206E_200E_200F_202E_200D_200C_206A_206E_200E_202C_202D_200B_202E_202B_202D_206B_202A_206A_206A_200D_202C_206D_200C_202B_202E_206E_206A_202A_202E_206E_206D_202D_202A_206E_206F_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202D_200D_202C_206A_200D_202E_206C_206A_206C_206A_202C_206F_200C_206F_200D_202A_206D_202E_206A_206B_202A_200E_200B_202E_202D_202C_200D_206A_202D_200E_206A_206C_200E_200F_200B_206D_202C_202E_206A_206E_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200D_200C_206D_200D_206F_200C_200F_202A_200E_202C_206E_202E_206F_206E_206A_202C_206B_206F_202B_206F_200E_206D_202E_202B_200C_202C_206D_200E_206F_206A_200F_206A_206F_200F_206D_200E_202A_202E_206C_206A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200D_200E_206A_206E_202B_206C_206A_200D_202E_206F_202E_202B_200B_200D_202E_202A_200C_202B_206B_206A_206E_202B_202B_206A_202E_206E_206C_206A_206E_202C_206A_200C_206F_202C_202B_206F_202C_206C_206F_206B_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202D_206A_200C_206E_202A_206F_206B_200B_200F_202A_200D_206D_200B_202D_202B_202E_200D_202D_206C_206D_206D_200F_206E_206C_200E_202A_206B_202B_202E_202E_200E_200C_200B_200F_202A_206B_206C_200D_200C_206C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +public sealed record AlliedSocietyMountConfiguration(IReadOnlyList IssuerDataIds, EAetheryteLocation ClosestAetheryte); diff --git a/Questionable/Questionable.Data/AutoHookPresetData.cs b/Questionable/Questionable.Data/AutoHookPresetData.cs index ee2d026..be72b16 100644 --- a/Questionable/Questionable.Data/AutoHookPresetData.cs +++ b/Questionable/Questionable.Data/AutoHookPresetData.cs @@ -8,57 +8,52 @@ internal sealed class AutoHookPresetData public static readonly IReadOnlyDictionary FishingPresets = new Dictionary { { - _200E_206E_202A_206D_200F_200B_200B_202E_200C_206F_206E_202B_206C_200E_206C_202C_206F_200C_202E_202A_202E_200F_200B_206E_206D_202B_200E_200C_202C_200F_206D_206B_200D_200C_200B_202E_206D_206E_202E_206B_202E((ushort)1109), - 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(1113836295) + new QuestId(1109), + "AH6_H4sIAAAAAAAACu1cX3PauhL/Khk9447/2/BGaNNmJm0ygUwfOn0Q9ho0MZaPJCflZvLd70gGjI19Szi+PfRUb7CS5d3VT7trrVYvaFwIOsFc8EmyQKMX9CHD8xTGaYpGghUwQO9pJiY4iyD9TGm03JLvIcJcjDOywoLQrOyBRglOOQzQrGDZhKYpROI2SXbkybJYHffIVyKWtFDjN/pJZm9IBpLZ60VGGdT4KvmPt3+vYzSyw+EAfcxnSwZ8SdMYjcxOse4YoYyINRpZA3TNP/yI0iKGuCKX3fZGG8/pE2zpE5rFRAo3BYFGWZGmryXHm5e8IPXDrjQd7wRTrPphg1XLPIrZ/rhtZWsYnKJBs1cVSvB06c21TPc0xbWzuBn67TyWAK6xWQHRtUzrBD3avapxmuHFgmSL/6FK8wQmnX7nmrKY4FSt8ewJ2JZwMEOlBZiRFXwlWUyfdw0t6vct93j13z4Bi3B+yOG+0G6/6LkifPlhDfzAtDVlqk+X1xDK846ZML9f3j/jR5guSSIuMVH4lwS+JUwFjh45Gnkd9sUPD6U4QoZhvzLcYUEgi5RruYdEPvsBs3Qt4aWw0jEBfpN1/yjTY/fMPSP/gQkWpZ9p84N+eMCqfZyVdPpldbbEKcGP/Ao/USa5rRG2YHEGdfo9RPQJGBpZEuAdAjbdwFHi9bwWLsniI5aQeUHjbJEC41uR7HYMOYHpHszMMYyHPS/iIhVkSeljp3OwTa8ZTFlHMNpfJFCZ+vbo5YdguBbK7hByDxzEhBaZAHbH5J/pM8534l1RFoGyVYpaPqOIsaQqfHlhMFAR820EOFPmuqGkWuM4TaeC5ry9dZpTNarZoEsJ2+h1eV/QSnVZoNG37e8Ijb59HyBccv/6fYCg0hsjiwUwXnZ5yMhfhXoLcnzTtNy5ZQQ2nhuuazlGGCW+ETpWHCa+41pBhF7l/I0zmq1XtKjkuSFc3CZSPXLcA43LBsm58mc7/d0UDD4D53gBaITQAH1RawXdkTS9uCwWqHxwts6l0X0doC+UrXD6aQPLe/irIAziqcBCsmIO0NZufwWsusiuHERzbsr/m8b9Wd6Qyje6VjAcoAcOajHk5QOyiV8qR8B24z1wqFiTPZod6q2fSYZG5jvzgI5/bOgPHO4YRIQTmnWNedChGvawqTYyfQaWFJ3MNtv3xm227A87FZCmmHWN2miuBm027MZsi7i2vdra6spsj9caemnt1BCyrU+D51YDtMXiVDBaBtlNNO5/p/4cjKajwXguYDywuVZpc1+QQCN0SYT6EGGT92iActmdodE3+505cL135vdXZY63lrnVSLcj662m/kxXxA0sIIsxW/dgovWq0Cb6ZEA+cHhPiw3OqlgGyu9vHuG8rb0kvT3E2LTUAGz7OsQ4G6v+24UYJRJPCDA0FM882v2HAowzRvmJQYNG+pkj/bczug8cZmy7HdAeNLS0l6SegobAs/XHoEbwqQgusdhX2KDBeE7mVAcOTZz3GThorJ8T1n+70EGKTwuxJ8+yWB0QHzhMCi7oqkxs1MIIdeapYOXJAPljL0Va5t3GQsAqF1VgUjCYYbaQbHQkrp3AGx4emvnlyTxaiDbF7umo9dHrTBSK2JUX8uRRqtMzQ22GQKeGtB34v6aG3gpHvQ2u3dI/lZfRiNR7LP3vsejEjD778a9NzOj9an0OSadP9LG4P3APRKdP9MHOf3f6RO8p62PGvxqNOsmhz72fi3nUSY7+kxyyemicCGBV7dJeGo3m8uwJyRZTAbk6KzZ9Jqs5JqJ0ndJLyXTchlhlk1pftem1y6u86ekvVJBkfZtNiygCrtJUB44xWtLJEotd6c/uTgAsZvBDHnBDA/Se8DzFa1k+N6OYV6/dUQ76KqpigETqYoHq9E29/1WK+XKG+eMcs+tor98lI5mq2LuiDBaMFlnF9iVAvieXom5mpm1G9wqrzDAOXMv2jbnr24brWWCEdhIanjkPItvyfT8IkTyeV1ZRbZJt33aEsnLqsKpqv6LKDQO3u6LqE2Zzyi4+AZMC1uqqrJ+g6zqGTJAIpzL12FkN6A2bVYvOUbXHPZYtTguW4AimqdyT7mTTO63s1euPT30BxN/KFE9zzEC6KSzX5ktnFa33hlsg5EK6jmd0soTocbuW9q5dMHuc/fMvrFW2gZa5ndK4GFa3aflCM6gZFEf5EJxLSos9KQtut+MjQ44ET8DqFxwc+jTTlncsqLsQ/m5R1B/vobpUVp4uVyXGuFgsy5mrzpg/yUjCGSCy8TdHHDPfAqE1mHzGeYmGn/hPzzZD05/7RhTjoeHaQWyEduQZiWmDZceW5QFGr4Of+Ue/G8QTyrAsORYCWJKu/ywHuXctjfaPv/0FSb/APzYvv9H+8Qz8o3aOvX6+TftwXJbte0N7GBtJYseGa4e+gbE/N2zL9My5H0SmaasPP4mVeDfY5mqOa/4xpXPpc2vQ2ODq5unCe3dxqe7yuJBQuBD04opJ37XHQRK7kevEoYED05Wu0zXmnjM0wAkCz/VjJwgD9PpfMjk41f1PAAA=" }, { - _200E_206E_202A_206D_200F_200B_200B_202E_200C_206F_206E_202B_206C_200E_206C_202C_206F_200C_202E_202A_202E_200F_200B_206E_206D_202B_200E_200C_202C_200F_206D_206B_200D_200C_200B_202E_206D_206E_202E_206B_202E((ushort)1111), - 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(326172132) + new QuestId(1111), + "AH6_H4sIAAAAAAAACu1c3XObOBD/Vzx6uRfoAAbb+M1xkjYzadIJzvQh0wcZFqwJRpwknPoy+d9vJPAHH25dl+u5Hd7s1SJ2Vz92F1arVzTJBJ1iLvg0jND4FV0leB7DJI7RWLAMNHRJEzHFiQ/xR0r9xYb8AD7mYpKQJRaEJjkHGoc45qChWcaSKY1j8MV9GG7J00W2PO6Sz0QsaKbmr/BJYW9JAlLYmyihDEpy5fIHm783ARpbI1dD79PZggFf0DhAY+OgWp8YoYyINRqbGrrhV1/9OAsg2JFztr3ZJnO6gg19SpOASOU8EGicZHH8lktc3OQVqR/WztLBVjEl6mBUEdU0jhK2PWkbxXKHp1jQaNWEEjwlu+1W2DYN+zS7NUtYqH6ciK9oqewRofHT5rePxk9fNITzK96+aAgKXTbK5Eg/hAPbNMwTLG61anAvwVFEkugbQhonCNlvFxWUBQTHyhskK2AbQm0xc18xI0v4TJKAvmwHmlQbmPbx9r9fAfNxWhdxX2u7BaTtqX1N+OJqDbzmBb+hlG0aTkUpxzlmxQbtyv4RP4O3IKG4wEQ9AZLANwRPYP+Zo7FzwBUNRnUtjtDBbVeHT1gQSHwVhR4glNdeYRavJb4UVg4swKAq+uAoN2W1LD0j/8AUizwkHTJzVVbrOJfab1fW2QLHBD/za7yiTIpbImzQ0tfK9Afw6QoYGpsS4U1JwWBUixlHqdfyw3BBovdYYuYVTZIoBsY3KlnNIOoPDbu2MscIPmr5Kc5iQRaUPh8MD5bhVBMv8whB28sads6+OdP5Khgupb1bhDwABzGlWSKAfWLyj/eC061615T5oJyVoubXKGIgqQpfjmtqKru+9wEnyl9XjFQanMSxJ2jKm0e9lKpZjQpdathE/5kMRUMzRqIIGM9ZHhPyd6buguaO4wMGS/cHfdDtwXykY3/u6oYB4GIA2zUN9CbXb5LQZL2k2U6fW8LFfSjNI+etWVwOSMlVQNva7zZj8BE4xxGgMUIaulPPCnrAojfDJEb5hbN1Kr3um4buKFvi+EMBywf4OyMMAk9gIUUxNLRx3J8BKxbJykFU1yb/Xwzur3JByu9om0NXQ48c1MOQ5hfIIX6hIgHbzvfIYSea5KgylEc/kgSNjXdGjY6/FvRHDp8Y+IQTmhyas8awm7Y+VJqZvgALs4PCVsf35q2O7E/rCYhjzA7NWhneTVod2M7ZlHJtuJrGysZsTtgqdmlkqijZxFORudEBbbDoCUbzNLuKxv132u+D0eh3YDwXMNZ8rpn73Fck0BhdEKFeRdj0EmkolewMjZ+sd4bm9N8ZX96UO9545kYn/Rvi/BYiSALM1i043g7rneM9GZCPHC5pVuBsl6FA/lrNfZw2jeekH08cipESgK1Blzicja/+7RKHHIknpA0dFM88h+3ShirKT0waOqSfOdJ/O6f7yGHGNi/5zUlDw3hOailpGDpW94rXIfhUBOdYbCtt6MB4Tu60SxyqOG8zceiwfk5Y/+1SB6k+zcSePotsWSM+cphmXNBlXq4opRFq11PG8oK//LFX+MyraRMhYJmKXWKSMZhhFkkxDtSj+0PHre+b+eUlOpqJJsPu2ajx0ptEZIp4qNrjyM1Up9d7mhxBV/Dp/MB/WvD5UTh2n8G7sPR/1WU6RHbfWNr/xtIVZrodHX9sYab7Xt3tLvq1WOzKJ91mt7NwjV35pNuu+WeXT7pvyt3m4V+Nxq7I0e1mPxf32BU52i9yyJ6gSSiA7TqS9spoNJV7T0gSeQJStcXceyHLOSYiD50ySslyXEHcVZMab1VwbesqP3T1HRUkXN8nXub7wFWZqhYY/QWdLrDYNvRsTwXAYgZf5b54pKFLwtMYr2VT3IxivrvtllLjVVQlAPHV0QK73Tdl/usY88UM8+c5Zjf+Ht8FI4nqw7umDCJGs2Qn9gVAuqeXohYr07Sie+1SOHTmpjsf6jAYDXS7j+c69rGtG4E1AtfyXTcIkdzVn/dGFcW2py0h74eq90rt90nZo5F1uE/qDq9IhAVlf/HeJZZNXaWOKfM7CLsJIBHEx7EsPx7s83Pcaj9i/6i24hYbEr2MhdgHL5bfpQ+K6ZzW0Oq0J2d3DMRPVYu9FDOQoQrL5/P1YH+s8wOHQciH6SaY0ekC/OfN87R3pILR4uqff8us8g00r+/kDkb/RhvmHU2g5FD6Ko7gVFIa/EneSruZH+lyJlgBK59dUI9rhiWPT1DHHPxcZ2sXpQ6aLG9MU83DOIsW+crt2tNWMptwNESKmHNEh5pXAKExoXzBaY6G78TQudN3w+EI62CCpdvz0Nexa5q6FYbz+XCIhwPLVzFUQjLYTlb0Lt/w9zGdS9FLCCzge7vqmc673tUK2LonNe99wLyHex6JV8B6tySRp5+UQ7ob2H0rNPS5HZq6PQKs4/7Q131rMApdGw8DA6O3fwH1gPREV0kAAA==" }, { - _200E_206E_202A_206D_200F_200B_200B_202E_200C_206F_206E_202B_206C_200E_206C_202C_206F_200C_202E_202A_202E_200F_200B_206E_206D_202B_200E_200C_202C_200F_206D_206B_200D_200C_200B_202E_206D_206E_202E_206B_202E((ushort)1112), - 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(817129807) + new QuestId(1112), + "AH6_H4sIAAAAAAAACu1c33ObOBD+VzJ6hg4YsI3fHLfpZSZtOrEzeej0QYjF1gQjThJJfZn87zcStjG/WsfH9dwb3uyVkL9dfeyuWS0vaJpJNsNCilm0RJMX9CHBQQzTOEYTyTMw0HuWyBlOCMSfGCOrnfgOCBZymtA1lpQl+Qw0iXAswECLjCczFsdA5G0U7cWzVbY+7pIHKlcs0+tX5imwNzQBBfZ6mTAOJVw5/nD39TpEk8HYN9DHdLHiIFYsDtHEalXrC6eMU7lBE9tA1+LDdxJnIYSFOJ92sNo0YE+wk89YElKl3BwkmiRZHL/miLc/8oL0h0Fh6XCvmIY6HFeg2tZRYLtD2wjLH51iQatTEyrylOxW7LBrW+5pdmtGuFX97RBz/rbtrmtb9gl2HHRqxnmCl0uaLH8A0joBpNPtXjMeUhzrezx5Ar4T1LYo9wALuoYHmoTseT/QpNrQdo+3/+0TcILTOsRDrd1u+XNFxerDBkTNt/1AKde2vIpSnnfMjg27xf4JP8J8RSN5iam+A5RA7ARzicmjQBOvxcEMx3UtjtDB71aHL1hSSIiOLXcQqWs/YB5vFL80V1o2YFiFPjzK+Qw6Rs/pXzDDMg80bWauYh0c5yidbrEuVjim+FFc4SfGFdySYMcWxyjL74CwJ+BoYiuGN4X64bgWCY5Sr+Ob4ZIuP2LFmRc0TZYxcLFTadBMImdkubWdOQb4uOO7OIslXTH22BoeBpZXTafsI4B2lwsUzr45f/kuOS4ls3uG3IEAOWNZIoF/4erL/Bmne/WuGCegnZWW5tdoYaikOb9s19A58y0BnGh/XTFSaXAax3PJUtE8Ok+ZXtWqyJWGTfKmWLTgdLkELtDk6zcD3Sf0z0xfi0ahh31CRubI8YnpDiJsYuJZZhCEDgkDD48sH72qXZkmLNmsWVagvKFC3kZKabVuzY5qQOHRYWpvlZuMwycQAi8BTRAy0Gd9B6AZZ88XV/EG5RcuNqnypa8G+sz4Gsd/bMl2B39mlEM4l1gqKJaBdu74AbCeoqYKkFWL59+3g4d7txXlv+jaI99A9wI0xdP8AjUkLrV/5/v17gUU0NSM6oTy6CeaoIn1zqrJ8fet/F7AFw6ECsqStjVrE4pl60Olldkz8ChrBVsdP1i3OnK47FxCHGPetmpluFi0OrBfs4m8u1lNY2VjNqdhFbs0Tqoo2TSngrnRrey4OJec5clzlY2H/z9/TkbL6cl4LmR8QWvtb5ba2a11QCP6s0QTdEml/oPBZ++RgVI1naPJV/edZTjjd9a3VwNtA9brNwPh4iPsyfMb8vwGlpCEmG86cLw913vHezIh7wW8Z9mWZ0WGAvmfZUFw2jSei96eOGxHSgQeDPvE4Wx89W+XOORMPCFt6Kl45jlsnzZUWX5i0tAz/cyZ/ts53XsBC777k9+cNDSM56KOkoaRN+j/4vUMPpXBORe7Sht6Mp6TO+0ThyrPu0wceq6fE9d/u9RBqc8yeaDPKlvXhPcCZpmQbJ2XK0pphD6hlPG8jK8+HJQz8xrZVEpYp7JITDIOC8yXCkZLldkZeX79jMsvL7yxTDYZ9sBGjZdeJzLTwrZqj6cOPp1e72lyBH3Bp/cD/2rB56107B+D92Hpv6rL9Izsn7F0/4ylL8z0Jzr+t4WZ/nl1f7ro13KxL5/0h93OwjX25ZP+uOb/u3zSP1PuDw//ajb2RY7+NPu5uMe+yNF9kUN1+kwjCbzoMzooo7FUnT2hyXIuIdVHzOfPdB1gKvPQqaKUKsdthUU1qfGntrP2dZU3Xf2ZSRptbpN5RggIXaaqBUayYrMVlvuGnn0HP5YL+K7OxSMDvacijfFGtbotGBbFz+4ltblaqgFQol8DUJy+Kc+/irFYLbB4DDC/JgfzLjlNdHfdFeOw5CxLCtiXAOmBXlq63ZmmHT1ol3L9kBAvckyXRKHpBrZv4iAamuNhMMTegLjjsYPUqf68N2pbbPu6F+T9UPVeqcM+Kdf3vPY+qQfM189YAr9YcJbJUruU/RN6XYeQSEpwrGqPra17nl9tMXSO6hTusMdwnvEIE5jH6qF0K0zvtB5Vrzuc/fsa/lGpeJ5iDipOYXVzvrS2vHpveGuDupOuwwWbrYA81lvxB1aHu3/+XbDaN7C8uJN7F9Nu9y2fWQIlh+LoIIJTJWnwJ3l37G59ZKqV4Al4+XUE9aBmDdQbEfSbC35y5MnKW6zaOqb6ENVqsrwrTfcD42y5yneu6E17UqmEZyC6DThHtKfNt0RozCafcZqz4ScBFAeuF42dkWmTsWe6QTAyfQ9j03ZscEKCI+wHOoAqSob7xbaNy9fiY8wCBb3EwC19b54uBta7i+mF0vqCJhd/MHnxoGIlKmHwvSEMfH9k4gHYpusHI3PsEdt0bRIQB3w78h30+jeT1C0A9UgAAA==" }, { - _200E_206E_202A_206D_200F_200B_200B_202E_200C_206F_206E_202B_206C_200E_206C_202C_206F_200C_202E_202A_202E_200F_200B_206E_206D_202B_200E_200C_202C_200F_206D_206B_200D_200C_200B_202E_206D_206E_202E_206B_202E((ushort)1113), - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1889300079) + new QuestId(1113), + "AH6_H4sIAAAAAAAACu1dW1PbOhD+Kxk9x4yvsZ23kJYeZqAwJEwfOn2Q7XWiwbFcWYZyGP77Gcm52XFIAPc0KXqDlazsSp92V1qt9IQGBadDnPN8GE9Q/wl9TnGQwCBJUJ+zArroE035EKchJJeUhtMF+QZCnPNBSmaYE5qWNVA/xkkOXTQuWDqkSQIhv4rjJXk4LWb7ffKN8CktZPu1eoLZC5KCYPZ8klIGFb5K/qPFv+cR6pue30VfsvGUQT6lSYT6+laxrhmhjPBH1De66Dz//CtMigiiFbmsttbaIKD3sKAPaRoRIdwIOOqnRZI8lxzPf+QJyT/MVU9HS8Ekqz2vxqqh78Vse9w2suW7b+lBvdUuFODZ1m+2odtv67hmFudNv57HEsAvsGm8oSPNVvtxlOLJhKSTF5jU38Ck1e5gUxYRnMhJnt4DWxA2hqhUAWMyg28kjejDsqBBEfQMe//uv7oHFuJsk8N1oe124XNG8unnR8g3dFtdpupwOTWhHGefAeu1y/slvoPRlMT8FBM5AQQhXxBGHId3Oeo7zRq6520KsYcIfgsiPKGZhMEE9b8v/g5R//uPLsLlF88/ugjmss6FvcacQBpKI3QDsfiVz5gljwKHsoUGIW1DN2symvvpKPOPicnIvzDEvDRdWwyW3nubVFa7+BtPcULwXX6G7ykT7FYIC/xZ3Sr9BkJ6Dwz1DTFntkCzblr2ml7Ga+fXwr/ZJuApmXzBAl5PaJBOEmD5QiizWTNYrm5vjM0+nHsta4Yi4WRK6d1Wi2PqTt1FM/ZgtD3/YmU/mn2iX5zhioO8xMgN5MCHtEg5sGsm/hk94Gwp3hllIUgFKKnlN5IYCapEmOP1utIPvwoBp9IG1DqpUjhIkhGnWd5cOsqobFWv0YWETfQm+zZmZDIBlpfq4TYlPwv5LXJ6ZuCB5Wk9J/Q1O/Kx5usYtJ7rBm7geqYdA3oWozJIafo4o8WKywuS86tYCC3a3ehHUSD4kaZv2SsXBYNLyHM8AdRHqIu+yhmALimfdq6LDKPyy/FjJvTucxd9pWyGk3/maLuBnwVhEI045oIXvYsWqvsbYFlFVM2B19gp/52XrY/dnFT+oG24fhfd5iAhnpUfiKL8VJoCtpT+NocVZ6JGvUK19JKkqK+f6Bt0/GtOv83hmkFIckLTbW1uVFg1u1lUaZk+AIuLrczWy9farZesNzvikCSYbWu1VrxqtF6wbHOHiTNKE/eEOOqjU8Klm8iGn1AXZaI6Q/3v5oneNZ0T/ceztH4LQ9hgE8uxFwy8x7LWR7TZv6wNTmOlWk831al1XKNuW8yHEWe0XBTUZ0TF+dw9JXRLTYmDnRI7sPkSmA4UtxcwgTTC7FFB96/S5iUSjgiQtzl8osVcRa7cHihX9XmIs6bykvRqZ2T+dUX1mj3ljHx0Z+QgZ0aJ8bc4GArmSkv/Diy+0WlQcFRwbN1pGLPFzkGz09BQXpLacRpcx1QLNuU2HKDbUKK8NbdBAV0t796NxjYdBwVIBcj3AJLMgBZ8bQE6LWYbxNschkXO6awMgVTcCHmUqmDleQPxx1qUtAy8DTiHWcZXjknBYIzZRLChb4s6Ov7mWZz/PZpHC97UsWt91PjpecoLSdwWQXLECa1dMaTXKQIVRVJ64A8FcJrhqCI4h7MgOLpt8HfGZRQi1R7LEQRm1B6hCiyq8Ik6svTRrLsKn/zNJ+iODo6/I3yidvEUglWQQ51I/oj6VAU5/u4j8scHSBXkaD/IIdKHBjEHtkpeWkMYzYTzRNLJiEMmzy2OHsgswISX2BA+k0DqnPhy4tqi1jKu8qqvv1JO4serdFSEIeQyTLXhpoVTOpxivswSWl41gPkYfonDlqiLPpE8S/CjyJ8bU5yvfnZJ2agrqZIBEsr7ClbuY7X+WYLz6RjndwFm5+FavVNGUpmyd0YZTBgt0hXbpwDZmlySOh+ZphFdy8GKPDd2sQFa4AWBZrumpXlRgLWwZ9uRaUS67WIkjoqWCVfzYNvuhCvbN93tCVcjzkgGUecLDR4rOVdGGzlXKl6mTMoBJTy96gCdCpcd/bF770TvWvZfd+xeReKUN39YiFSROJWwfcyr0V2JTCpd71g3RpTfoGJ8DYhUW4B/XumqGJ+65+XIN7F3JDKphL3j3f5SjoOKHn6UC7aOT/Gq6KFKkVIX7X14PaBSpJRZOiCzpAIzylE6LEdJBWZUYOaYHX11w5xadB4WFtUNc2oP5CDgqMInKnxy5Lt46h44Zd4PDI3qHjgV5DgUQKogh0qRUilSaylSNtYjKwRbi1ywNBtboPkYY83zMUSurRuBqa+lSJVZUJsZUi1lR72UbXceQcpJiBNxFePW59Ecv/6Mm7XXE3QtvuM2KliMQxglIg1mK5vO214CdNrj86V3diuP+h3MM7trXP2xV3Zf/TjkKMMMhO3CIqfxaevzg84rullMt/NoTIdTCO8WM27tEVy9RZQc/ouEUofQMu2sVEGasV0BfaUpVBSPJXNvcSYoDXqnfKlw0T7SREtwD6z63GxTLnD5LO174KPSelfu3XyEGl2/B5yVw7QjITiMvNjHoav5ei/Q7Ci0ND/yPM019RDrsWnFuo2euzvMW896wbxNcUQfOkPMY/GNMnAHauDUQ/K7/Zjfb7gWS0BluA7IcOmmeKpd2a42rqTYZu7LHGv5qDAuJtNy5FaZ1mRuZ/ZIsh61YRc9rAeB6XpaFIOv2YEfa75rO5ppGqbh+HHYs3pyFSigGC0bm796fJ5/SWggbjupIG8O24v7jumcdAYd0ZcdGgvb2MFp1JFGtcKG5YFhYvC00IvEYjQONM/2dC1wLdvUrdCzYx09/we0R049iYUAAA==" }, { - _200E_206E_202A_206D_200F_200B_200B_202E_200C_206F_206E_202B_206C_200E_206C_202C_206F_200C_202E_202A_202E_200F_200B_206E_206D_202B_200E_200C_202C_200F_206D_206B_200D_200C_200B_202E_206D_206E_202E_206B_202E((ushort)1114), - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1472798990) + new QuestId(1114), + "AH6_H4sIAAAAAAAACu1cW1PbOhD+K4ye7Y7vcfIWAvQwQ4HBYXjo9EGxN44Gx3IlGcph+O9nJOdiO3YJ4PZA6zdndfFq99PuKuvVIxrngk4wF3wyj9HoER2neJbAOEnQSLAcNHREUzHBaQjJF0rDxZp8BSHmYpySJRaEpkUPNJrjhIOGpjlLJzRJIBQX8/mGPFnky/2G3BCxoLmav9ZPMntGUpDMnsYpZVDhq+A/Wv88jdDI8oca+pxNFwz4giYRGhmty7pkhDIiHtDI1NApP/4RJnkE0ZZcdCvNNp7RO1jTJzSNiFxcAEIyuFTvitHo6/o5VM8CjdCULOGGpBG9nxwhDWWyPxeYCTQyDd/QEKQRGtme8aSh1QuevmkIbx8BjdI8SZ6eCqmsFvKI1IO11Wa0EZ4Sh+fXxGEaewmkA4kodrVmtoaD12jJ6IwpKUIJ0Da5OabhvE5wzSyupn45j8Um+Qmb5isEaXUqxyDFcUzS+CdMGq9g0u5W2ZRFBCfKkKR3wNaEHRUVZma7XzcNDcbGM539xX9xByzE2S6H5UU73cLnhPDF8QPwHftZX1NVXW5tUa67j8K8bnn/gm8hWJC5OMREbQBJ4GtCIHB4y9HIbTEwnr+7ij3WMOx2DZdYEEhD5b+uYC7HHmOWPEh4Kay0KMCrs+7tZXusDrhv82M/9UaXjPwLEywKl9SmkPqqrP0sqt2tTqYLnBB8y0/wHWWS3QphjStbq9KvIKR3wNDIlHuhbYV1n7HX+jreN4ck/owlvB7ROI0TYHy9JquZcXtgODuq2Ydxv+MNnyeCLCi9bXUkluHWoztzD0a7CxtKYVxjqPNDMFyJrTfu4go4iAnNUwHskskfwT3ONss7oSwEZdcUtRijiJGkKny5Q09TIfxFCDhVpr0mpErjOEkCQTPe3BpkVM1q1OhyhU30Jrc1ZSSOgfHCOlyn5HuuxqJ56BjmwMA6ns1t3fHMgY5t8PT5EIPpuzMAx0FPUivjlKYPS5pvuTwjXFzM5aLlvDtylA2SH+XRNlI5yxl8Ac5xDGiEkIbO1Q5AQUZpenBD2RIVQ6cPmTS8Txo6p2yJk39WcLuC7zlhEAUCC8mMoaG17b4BrLrIrhxEjZ/i56qtrLwVqXihYw6GGrrmoDCeFQNkEz9UvoBtln/NYcuZ7FHvUG39QlI0Mj4ZO3T8Y0W/5nDJICSc0LRtzp0O22l3myoz03tg87yV2Xp7ad56S3naQECSYNY2a615O2m9YTPnMy7OLB/VDolQ4R/bntQYGn21Phma7X4yvj17Qit0Lxlo2jRVPTVHgzWRN3aqya+pT00cjSZrjfJAMFqE8HWcV0LF54Fu2D3Q3wvQCxh8QDSeQQxphNlDD8g/yvJ+OEBeczii+crwbWMUKE7WPMRZU3tBenHgsBpdMaiW1wcO7wa+feCw3RkFxl8TNvQw7630r8DiK4OGHo49HDsPGqZsfcpvDhoa2gtSN0HDwLX6Y1gfNrzDgLpAeWdhQw/0/nj3ZjR2GTj0gOwB+RZAkiXQXJQOoIt8uUO85jDJuaDLIl1RCSPUJ1M5K3L+8qGU0SyyZGMhYJmJbWCSM5hiFks2WnKb9sAd7n4P89tTbzQXTYItyahx6GkqckVsy/a48iup5/I9LzMEfcantwP/U1qmGY59Xub9HAj+trxMj8j+P5YPkJjp/yPsE4u/y6L26ZM/9vOiD+fd+/TJn/y124eD469In/T/4vUI7pMc/dfDf6M97ZMcf/bn7B8PkH2So/skh6z1Gc8FsG2lUQlhNJPBE0njQECmCh6Ce7KcYSIKbMiYSSJ1Rdxmkxpfteq1yau8aPQ5FWT+cJEGeRgCV2mqnTAtXNDJAotNSc/mSgEspvBDVmkgDR0RniX4QRa7TSnm29duKDt9FVUxQEJ1L8E2fKz2P0kwX0wxv51hdhqW+h0ykqr6uhPKIGY0l3X76zaArLQuRV1ppkmjpYKpmW9b0cz3dSu0TN2ZWVifWT7W3WjuDP3BYODbJpI1JkV11CrZ9nVDKCqidqulypVSjj/02yulTvIkWcpiqQCzSN64UK6XMp/B12kEqSAhTmTysbV6T1VqVVKI9l51xR2WGQY5m+MQgkT+K93Kpvu6OlW3Oz772x3elCsOMsxAOiosd+dja9Wr+4IrHuRWOo2mdLKA8Ha9m0pXKhgdav/9F8Iq20CL7E5hXnSz3bic05pBsZUXwZmkNNiTokB2PT/S5UxwB6x6ecGuVzMseX+CuufgLUXtvY8Sm3BupaTGUO8eZ4WmnvFuTmiEnu9Huo/B1B3PxTq2zIHuWp4f+TN/NvAM5d0kXKLNZKu64lP+OaEzGaJU0LGC1tndgW18Ojgjt3AgwXBwiTknaXxA0gOxgINzEi8EqlYnD4ZDbzbzdW9o27rjAtaxG5q6PzDM+WDgeDDz0NN/coej1y5JAAA=" }, { - _200E_206E_202A_206D_200F_200B_200B_202E_200C_206F_206E_202B_206C_200E_206C_202C_206F_200C_202E_202A_202E_200F_200B_206E_206D_202B_200E_200C_202C_200F_206D_206B_200D_200C_200B_202E_206D_206E_202E_206B_202E((ushort)1115), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(648481211) + new QuestId(1115), + "AH6_H4sIAAAAAAAACu1cyW7jOBD9lYBnK9BiycvNcZKeANkQOcgh6AMtlWwisqgmqSwT5N8HJL3KUrfj0fQ4Dd7s4uJXxadiUcXyOxoUgg4xF3yYTFD/HZ1leJzCIE1RX7ACWuiUZmKIswjSK0qj6UJ8BxHmYpCRGRaEZroH6ic45dBCo4JlQ5qmEImbJFmKh9NittuQByKmtFDzl/pJsJckAwn2YpJRBhu4NP548fUiRn2322uhb/loyoBPaRqjvl2r1i0jlBHxhvpOC13ws9coLWKIV2LdbW22wZg+w0I+pFlMpHIhCAlwpn5rgvqPi88R6j9+byGsR3x8byFA/axI048PrdsczjtSH9zVmsRLEyilgm5JKcfeSa0G9FJwW9Wwep19bG03BkqaUNKszm5tx27vZ7hqiPOpP49RU/0nMJ09DOk2ascww5MJySY/AWnvAdJrdrEpiwlOlTvInoEtBFtLpJ3FiMzggWQxfVk2VLiMwGnvbv6bZ2ARzrcRrivdbpY+54RPz96Ab3nBsk6by+WXlPL9XRYsaBb7FX6CcEoScYKJegCkgC8EocDRE0d9v8bBBN1tLXbQodesDrdYEMgitQvdQSLHnmGWvkl6Ka7ULEBQhh7s5HvchtEz8jcMsdAbTZ2Zy1jd3fyk1yzW0RSnBD/xc/xMmYS7IViwxWttyu8gos/AUN+RDK/TsLwT7KRfw0/DCZl8w5I072iQTVJgfKGTWw3c69jtraXZBXi34ce4SAWZUvpUuz24tl+OvJwdgDYXDKycfXUA8yoY3oh7l5vAHXAQQ1pkAtgtk1/CF5wv1TunLALlrZRUj1HCWEo1vyS9ZHh9EwHOlMMuGWmjcZCmoaA5r24Nc6pmtUtyqWGVvGozGjEymQDjOgK9z8iPQo1FHkAQeEHPAqcTWO0OuFYXY9/ynCQKfKfTCRIHfchVGWQ0e5vRYoXyknBxk0il5bxbdpQNEo/ap5ZWuSwYXAHneAKoj1ALXasnAN3RNCXZ5CgUNAOkR4/eculRP1romrIZTv+aM+4OfhSEQRwKLCQeu4UWTvkBsOoiu3IQZbPr7/PG9QWci/Qvtp1Or4XuOSie53qAbOInysuz5Xz3HFbQZI9yh83WK5Khvn1sb8nx61x+z+GWQUQ4oVndnFsdVtNuN23MTF+AJUUt2HL72rzllvVpQwFpilndrKXm1aTlhuWcVQxe9Kpq2zRmdTBWsktlp5KSVX1KmCt9y4KLoWBUR9BlNq6fV39NRtszZDwUMm6d6x19rn9HAvXRCRHqlMGGp6iFctmdof5j59hueb1j+/uHOvIvTv8VLwK+JM8vYQJZjNlbA47XcN043r0Jec/hlBZznq3CFNBHZh7hvKpdiz4fOMxbNgjsBiZwOBhf/eUCB83EPcIGQ8UDj2FN2FBm+Z5Bg2H6gTP9yzndew4jtjjkVwcNFe1a1FDQ0PFdc8QzDN6XwZqLTYUNhoyH5E5N4FDmeZOBg+H6IXH9y4UOUn1aiDV9psVsS3jPYVhwQWc6XbERRqgbTQXTyXz5YS2pqRNlAyFglotVYFIwGGE2kTBq0ptex+9tX3T57dk3Wogqw67ZqHLoRSYKJazL9vjy+tP++Z4qR2ASPsYP/KcJn8/S0bwGN9vS/5WXMYw071iaf8diEjPmRscfm5gx76vN7aLfy0WTPjGX3Q7CNZr0ibmu+WenT8w7ZXN5+Hez0SQ5zG32Q3GPJsnRfJJDlvsMEgFsVWy0lkajubx7QrJJKCBXV8zDFzIbYyL01il3KZmOmwtX2aTKn5r3WuZVPjX6mgqSvN1kYRFFwFWaamtjjKZ0OMViWdWzrPjHYgSv8l48aqFTwvMUv8l6txHFfPWzS8lWXyVVAEik/jZgdftms/95ivl0hPnTGLOLaK3fCSOZKrE7pwwmjBbZCvYJQL6ml5LOV6ZqRddqpsbdDrjtpG0FiWdb7QB6VtezAwucKGg7cbfbhQjJW/26QGqebHtcCnRR1HbB1HqxlG97Xn2x1ClwYOJoiEUix6xXSzm/YNdFDJkgEU5l6rG2fM/vlcsMvZ3KhRusMwwLluAIwlS+k66F6e9XqOo3h9P8acO/yhSHOWYgtyksn8332rJX/xP/3CAfpIt4RIdTiJ626/Fdu8HVP/xKWOUbqM7taOdiOfWu5bpcfumpPQTnUlLhT3SF7GJ+ZMmZ4BnY5n8SVO1p+r8Lqg+IZtMpVHw2t3tl7PaCc238X2xXCfbaQeTH1hgHidWOIbHGLh5bjjv2kh50EheD2q4kA+LlZPNa4Qv+LaVjGXNsLPicLZfPR55/fDQ4kot7RAtxRJOjByyAoQ0MbS+I/HHXttoJdq12krgWxq5rjTvdTuJApxsFHfTxD5UBkfaTSAAA" }, { - _200E_206E_202A_206D_200F_200B_200B_202E_200C_206F_206E_202B_206C_200E_206C_202C_206F_200C_202E_202A_202E_200F_200B_206E_206D_202B_200E_200C_202C_200F_206D_206B_200D_200C_200B_202E_206D_206E_202E_206B_202E((ushort)1116), - 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(-956549481) + new QuestId(1116), + "AH6_H4sIAAAAAAAACu1cS2/bOBD+KwHPUqG3HzfHbboB0qaIHPRQ9EBLI5uITGpJymk2yH9fkJJtWZZSx6vtugvd5CE5Hg4/zYw4HD6jSS7ZFAsppskCjZ/RB4rnKUzSFI0lz8FA7xmVU0wjSD8xFi035DuIsJATSlZYEkaLHmic4FSAgWY5p1OWphDJ2yTZkqfLfHXckK9ELlmu+df6KWFvCAUl7PWCMg57chXyx5uf1zEaO8ORgT5msyUHsWRpjMZW67S+cMI4kU9obBvoWnz4EaV5DPGOXHSrcJvM2Ro29CmjMVGTC0EqAVf6vxZo/E0/2waK9LNEYxRKLHMxiSRZw/Q9MlCmRpBYoPG3QeB8fzFQyffFKEZkHATIseuO/BG2o2AArjcPPJwkoyge+vPADiJIgpJVZfx3A+HdI6AxzdP05aVQZjn/Z6QfnB0I4q3OtRaDYU2LtnWUHjtQpBbXaBZrNDhlca3OhFIqVLhu05tnW95pimsWsWT9dhmLd+sVMe0TFOl0qseQ4sWC0MUrQlonCOl2u9iMxwSn2v7QNfAN4WCJCus0Iyv4SmjMHrcNDTYqsL3j1X+7Bh7h7FDC6qS9buFzRcTywxOIA7PbPifPtvzanHz/mPUKOhD9wPZaVdv7NkuKCF1vLPGRNhU/QLgkibzERAujCGJDCCWOHgQa+y0mLRgeKu4ItY26XfEvWBKgkXa0d5CosR8wT58UoLU6W97QoC56cJS1czqWnpO/YIpl4dra1FyX1TnOMrvdyjpb4pTgB3GF14wrcfcIG7S4xj79DiK2Bo7GtnqpmuKeYHjgeo6aXtDt9C7J4iNWmHlGE7pIgYvNlJxmELkDyztYmWMEH3Yr+Kc8lWTJ2EOrP3Isvx5b2kcI2l30sfMuzRHTD8nxXmS/RcidsoBTllMJ/Is2h+EjzrbTu2I8Am2sNLUYo4mxohb4UiGD+oC4jQBT7SFqStprnKRpKFkmmlvDjGmuVo2uZthEP87cN1tpA804WSyAq1j7u4HuKfkz1/+CfNeLbDt2zcQJfNMDb2iOcOSag3mE597QDRzPRi9q/SaU0acVy3fzuSFC3iZKPYrvgcZVg5Jcu9Ct/m5yDp9ACLwANEbIQJ/1u4JCCauLS8aBo2Lo7ClTdvfFQJ8ZX+H0jxKYd/BnTjjExfeEnvnGdH8FrLuorgJkfXWK32VjdZ1LUvGPnj0YGehegH4dsmKAahKX2hfwLb97ATvRVI96h/3WT4SisfXOOqDjHyX9XsAXDhERhNE2ngcddmwPm/Y4s0fgSd4qbL29wrfeUmUbSkhTzNu41pp3TOsNW55NYd6mV1PbvjKbg8SaXho71SbZ1Kcmc6MJ2mAxlJwVkX0djdUP95+D0XJ7MJ4LGF/f4LgkUn/98N3uBkfjb847y/D9d1Z1g6PNTP+GOL+BBdAY86cODG+P9d7wngzIewHvWV7ibBejQPEpLyKcNbUXpLcHDmXLHoCdoA8czsZW/3aBQ4HEE8KGHopnHsP2YUMd5ScGDT3Szxzpv53RvRcw45uP/OagoaG9IHUUNAx8p//E6xF8KoILLHYVNvRgPCdz2gcOdZx3GTj0WD8nrP92oYOaPstlZT7LfHVAvBcwzYVkqyJdsRdG6KNdOS8OGaiHSuqzyKdNpIRVJneBSc5hhvlCidGSkXYH/ujwAM4vT9KxXDYptqKjxqHXVOaa2Jbt8dWxrNPzPU2GoE/49HbgX034vBWO/TZ475b+q7xMj8h+j6X7PZY+MdOf6PjfJmb6/er+dNGvxWKfPukPu52FaezTJ/1xzf93+qTfU+4PD/9qNPZJjv40+7mYxz7J0X2SQ1UFTRIJfFeTVEmjsUydPSF0EUrI9BHz8JGs5pjIwnUqL6XScSVxl01q/Kuy1zav8qbRn5kkydMtDfMoAqHTVAeOMVqy6RLLbUnP9uoDLGfwQ52LRwZ6T0SW4idVFjdjWOz+dks56KupWgAS6fsTdqdv9vtfpVgsZ1g8zDG/jir9LjmhuhLvinFYcJbTndiXAFllXpparkzTilYKpvAwHlhzZ2A6sROY3sgZmfMAe6YfeEESeRj8GCN1qr+ojiqTbd+2hKIi6rBaqlop5Y1UQWxbpdQdJjTCaVqrlLJ/gqzrGKgkEU5V2rG1ws8f1SsR3aNqmDssRQxznuAIwlTtR7eK6Z9Wyup3J2d/kcQ/yhKHGeagXBRW7+Vza2Ws/4bbJNRLdB3P2HQJ0cPhHQGO1eHqn3+xrLYNrMjrFIbFfKUA8zOjsGdQXO0/cKYoDfakKKLd8Eem4gRr4Pv3JDT5s+I+heaPw97hFLFZqffGuO0RZ4Xyf+KqnMDGTjQfmIHrxaYXeZ45DFxs+p6VJANsRXM81K5KISDeMiuKeSt8NtdGmOreCFNdHGGqmyPM2tURFfd0y0PKHpGBdMzwWtHcV8ByWS2ZKy8EargOqKWr7f+8sk49X4uPKZur+GkPwKXUN+sLz3p3UUL1gtALuYQLNRe0p9PE8V3fCeZm4AwHphckljkaOnMzSRLHsYcjPIcAvfwNA524o2hKAAA=" }, { - _200E_206E_202A_206D_200F_200B_200B_202E_200C_206F_206E_202B_206C_200E_206C_202C_206F_200C_202E_202A_202E_200F_200B_206E_206D_202B_200E_200C_202C_200F_206D_206B_200D_200C_200B_202E_206D_206E_202E_206B_202E((ushort)1117), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1514787902) + new QuestId(1117), + "AH6_H4sIAAAAAAAACu1cS2/bOBD+KwHPUqG3Ld8ct+kaSJsidtBD0QMljW0isqglKadukP++IOmHLEuJ49V200I3e0hR3ww/DUcaDh/RsBB0hLngo9kcDR7RhwxHKQzTFA0EK8BA72kmRjiLIf1EabzYim8hxlwMM7LEgtBM90CDGU45GGhasGxE0xRicTOb7cSjRbE87ZKvRCxoocav9JNgr0kGEux4nlEGB7g0/mT7d5yggdMPDfQxny4Y8AVNEzSwGtX6wghlRKzRwDbQmH/4EadFAslerLuVRhtGdAVb+YhmCZHKTUBIgEt1rzkafFO/bQPFaPDtu4GwvuLpu4EADbIiTZ+etG4bOI9I/XD2c5LsTKCUCvoVpWzrJLVa0EvBNephhb1zbG21BkqaUNKsyW6ebXnnGa4e4mbo12PUVH8Gpn2GIZ1W7TjJ8HxOsvkzIK0zQLrtTjZlCcGpcgfZCthWcDRF2llMyRK+kiyhD7uGGpcR2N7p5r9ZAYtxfoywrLTXLn2uCF98WAM/3Qt6tuVXVPL9U6YraAH5kSe0tCd8RAINUM6AgxgElh2GOMZe4PW9yLNwgGMniXsQxB7uRQkyUC6HItlq4z2V89z60WdcKr6HyYLMxCUmCowU8K1gInB8z9HAb/BoQf/YcCeYLWx3wr9gQSCL1bJ3CzN57QfM0rXkszJnwwMaVKEHJzk7p2X0jPyEERZ6ZWsycxWrc5pjdtvFOl3glOB7foVXlEm4B4ItW1zjUH4LMV0BQwNbPlRNGlaXnpP0C9rV75LMP2JJmkc0zOYpML7VyakH7vYs72hqTgHebxf4pyIVZEHpfeN65Fh+NdSzTwDaXvSxX13qI6YfguGDQHvnom+lCxzRIhPAvih/OHnA+U69K8piUN5KSfU1SphIqeaX9FMynr+JAWdqhagY6aBxmKYTQXNe3zrJqRrVqsilhnXyutVvysh8DozrkPcuI38X6lrku4kVuRhMcGBmepHtmCGGvhmGiWsnEY77fQs9yVkZZjRbL2mxR3lNuLiZSaXluEd2lA0Sj1oYd1a5Lhh8As7xHNAAIQN9Vk8A+ks+sw+ULZG+crrOpTd9MtBnypY4/WvDtlv4uyAMkonAQmKxDLR1yF8Bqy6yKwdRNbn+v2ksT95GpO/o2b3QQHccFMdzfYFs4pfKw7PdeHcc9tBkj2qHw9ZPJEMD6511JMc/NvI7Dl8YxIQTmjWNedRhP+xx08HI9AHYrGgEW20vjVttKQ87EZCmmDWNWmneD1pt2I1Zx95tr7q2Q2PWR34Vu9R2qihZ16eCudavbLk4EYzqcL3KxnJY+DIZLbcj41shY9NHBB06XxKhXmnY6P02PGZo8M15Zxmu8876/mKI/Fvy/BrmkCWYrVtwvB3XO8d7NiHvOLynxYZn+xAF9Ps5j3Fe165Frw8cNi0HBHaCLnB4M776twscNBPPCBs6Kr7xGLYLG6osPzNo6Jj+xpn+2zndOw5Ttn3Jrw8aatq1qKWgoec73Stex+BzGay52FbY0JHxLbnTLnCo8rzNwKHj+lvi+m8XOkj1aSFK+iyK5ZHwjsOo4IIudbriIIxQ26cKpncOyB+lhKZOkg2FgGUu9oFJwWCK2VzCaEhtuj0/PN5V88szb7QQdYYt2aj20nEmCiVsyvb4cq/V+fmeOkfQJXw6P/CfJnxeS8fuM3i3LP1feZmOkd03lva/sXSJmW5Hxx+bmOm+V3e7i34tF7v0SbfZ7U24xi590m3X/LPTJ9035W7z8K9mY5fk6HazvxX32CU52k9yyFKf4UwA2xcaldJoNJd7T0g2nwjI1RbzyQNZRpgIvXTKVUqm4zbCfTap9labXru8yquu/kwFma1vskkRx8BVmupoYYwXdLTAYlfRszteAIsp/JD74pGB3hOep3gta92mFPP9bXeSo75KqgCQWJ1RsN99c9j/KsV8McX8PsJsHJf6XTKSqfK6K8pgzmiR7WFfAuQlvZR0MzN1M1qql0r6HvR9xzZnkeOYnuV6JraswIwg7kWh7cWR5yK5q18XR22Sbd92Al0QdVwsVS6U8i3Pai6UGqW0SC5GhRDADmql7Be4NU4gEyTGqUw8Nhbu+WG1wNA9qTa5xQrDScFmOIZJKr9IN8L0zytR9dvD2Z0P8a/yxJMcM5CLFJZP5mNjwav/ikMi5GM0TqZ0tID4fvsklQ5lsFqc/bdfA6t8A9WZHe1aTLvZsXymGRw4FFetIDiXkhp/omtjt+MjU44EK2AbtZ5Z0fQxCfWvh92So6Ozjd1rI7cHnGvjv7BY9ULXh14wM+3YiUwPktiMHK9nQs8OIQiCMIFQLVaSAcluMF3NWxpnexyEKc+DMOWBEKY8EcKsHAmx4dFlSn7+xCy5YZOMPiADqcjhudK5r4DFolw4RxKJwQ7KRXPG8339lwvs5O8x/5jSSIZRByzeQL9eXXj+u4vxxSWkBFZwIZl7McLZxVW6Rge2dV08m/Wd0IQ48EyvF1pmZEdgBtjz7Vk/drHjoKd/ANJETI7WSQAA" }, { - _200E_206E_202A_206D_200F_200B_200B_202E_200C_206F_206E_202B_206C_200E_206C_202C_206F_200C_202E_202A_202E_200F_200B_206E_206D_202B_200E_200C_202C_200F_206D_206B_200D_200C_200B_202E_206D_206E_202E_206B_202E((ushort)1118), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(316530682) + new QuestId(1118), + "AH6_H4sIAAAAAAAACu1dXXObOhP+Kx5dmzN8G3znuE2bmaTJ1M704sy5ELDYTDDyESJpTib//R0BtjHGiePQFufdO3slxK70sLvSaqUnMsoEG9NUpONwRoZP5HNCvRhGcUyGgmfQJ59YIsY08SG+Ysyfr8jfwaepGCXRgoqIJUUNMgxpnEKfTDOejFkcgy+uw3BNHs+zxWGP/IjEnGV5+7V6ktnLKAHJ7MUsYRy2+Cr4D1Z/LwIy1B23T74sp3MO6ZzFARmqe8W64RHjkXgkQ61PLtLPP/04CyDYkItqldZGHruHFX3MkiCSwk1ASAYX+btmZPj36rdPhn//0ye0eOL5nz4BMkyyOH5+LmQr2Xki+Q99MybbMtlOTSZNPUiqFsTKua30dDkwOVvu4JiuVv9QX0s8bnVwRRRTU83jurhZmLLpN3VxzmPxTbzApnZEl+utwUDyOEnobBYlsxeYVI9g0miVyTHjQUTjXG8k98BXhJ0hKrTKNFrAjygJ2MO6oOE71HTbPly7XN8D9+lyl8Wq1Ga7+DmP0vnnR0h39GVdqO3xsmpCWdYhI2a3y/sVvYPJPArFGY3yL0AS0hVhIqh/l5Kh1az1bWdXiANEcFsQ4ShldENFBImfG7bvEMq3fKY8fpRAzFtoENLUVL0mo36YktL/mJg8+g/GVBRGrtGI2I5qHyeV0S7+pnMaR/QuPaf3jEt2twgr/Bn9bfp38Nk9cDLU5DezT8K6cTlIPvtPjdpZNPtCJQ6fyCiZxcDTlfR6s4jGQDV3BvEQEZ2WVUgWi2jO2N1e26SrVl2Dawcw2oLPUrK5sTTNftZPwemWd75WAd8hBTFmWSKA33D5Z/JAl2vxzhn3IdeUObV4JicGkpoj0XIG/XwScO0DTXJjUeukrcJRHE8EW6bNpZMly1tVa3QpYRP9PcDskymPZjPgaVHlNon+zfK3kNBRTc1wBkoQuIFiqmAq1PNVxYHQs6ju6KBR8izHb5Sw5HHBso08l1EqrkPZPbLdnR6XBZLz3Jqu++8y43AFaUpnQIaE9Mm3/FshN1Ec986yGSkenD4upSZ/7pNvjC9o/LWE5Xf4N4s4BBNBhWRF7ZOVMfgBNK8iq6Yg6mNT/C8Lq6Nckoo3mtrA7ZPbFPKPYVk8IIvSs9y68HV7tylsWJM16hW2S6+ihAzVv9QdOv1Z0m9TuOHgR2nEkn1t7lTYNLtbtNUyewAeZnuZrZdX2q2XVJudCIhjyve1WiveNFovWLfZ5O+tajWVbXdms7dY65fGSjUhm+rUeG5UQCssTgRnhY9fR2N16v06GFUDwdgVML5V554gbC9hBklA+WMLehShi3r0aEDepvCJZSXONg4HFFP01KfLpvKC9HY/oCzZArAu1yrQD0DV+4tVb4HZI/wFBC06r78Cikf6AAhHhGO7cLxNYcpXU/BmH6ChvCC15AMMLB0nYDgB+/UTsAK1bXkBCFtcxHo3GNv0AxCQCMj3ADJaAMtEZWFuni12iLcpjLNUsEURG9jyCvKdUBkvQvvyRyUgWYSuRkLAYik2fkbGYUr5TLKxJzRpDCx3d9/L74mHvTkyWXZX0xBUerOx+y8SkeXEfUEYS+6wOj4M06QyMA6DGuOXxmHeCkdczu7OROBkw4It+lSISFSQ71tcwQALbrQ4WY36WtgEF6px08/vxSLGTXAPWidUI8ZNcBflaU+XXouG4Ooz7un93WjEcAhuMu+KesRwyAvpQUcGOWSqzigUwDeJQpX1SraUm06iZDYRsMyTniYP0cKjkShMp7RSct2zJG7iTo2vKmut4ypvevobE1H4eJ1MMt+HNA9o7RhGf87GcyrWeTbrMwWomMJPUSTefIrSZUwfZa7alNF089o1ZaduTs0ZiPz8YILNtpvt+ucxTedTmt55lF/4lXpnPEry9LhzxmHGWZZs2D4DWFbkyqnlyDSNaCWLSQsHoGm6p0BghIoJA0fxHENTdMe1qeX5QAONyIBYkbJUhuVeT1kynYG5P2XpK+Ue472vwKVQW4lLGiYuYeLSKbncmLj0cbPoMHEJE5dOFLont3SBcTVMYD5l/GJc7cO6ASeKxRcX3jA7DtGIYTU8nAT1KYbVcMXpo4XVMOsNvU2Mqp1yVA1Th/AItxObdWLqEJ4o2EE4YuoQLst1A5EY4sAQx+kvK2PqEIY4uoJFTB3CiFsnVCOmDmHq0GnHjDF16ANvZDxRNGLqEAKyK4DE1CFMHcLUoeoFSKrhe4HmKLprGorph4HiOToonu7YWkBV19U18tw/IFXIcfanCl3POPTOKOfUzwKKqUJ49M7/Z4AMb4pBF/sPxMfw0q1TnfJ94Nw1jKNhHO2UFzfw5iJc1ugUFDGMhsu+nYAjhtEwjPYRAhd4HxFG0ToDRoyiobvZFe2IUTRMFaotdG0b8M06V42+tQkDvaTT9pIwVQh3G3UQjpgqhAsh3UAkhjgwxHHKBh5ThXDS2S0sYowDYxydgCPGOHD2ftqzd0wVwlShrqERgxw4d+8KIDHIgalCmCpUSRXSLd0JNFtTPDNQFdMIPMWhmq349oBSJ7Q0XbUqtwwV2UG7lwy1dsHQS1dWXQSQiMin8Ti/2Wn3jqj87ZZr144WNKxDzhZ0ms8WXN0f9ZbDBScZD6kPk1imh+xl06qxqauHsKlZ7fFZvuKp+KFv8Vo8JlnVbWfnrMaDONVaO62xiSt3UOPqIJ5aOEHybdv3JRyWlIO0XlReDNaMB2OgmtYbull+cBfBlI3n4N+tvrmNPLraIkqyWERzxu72YllXLbfO+289zTPXIaxIxyqUkKLtV0HfWAJbisfIL7CjS0lp0Ds3XNJW7RNFtgT3wEuxXrhQ72KWMA7vy/7Au/FWDl45Qo3O3wNdFsP0ir2zwdJ93bKV0NRAMak1UKhmUwUMTzV9b6AajtuUGttaWiwaODRwaOCOMHDym0MDhwbu417+2oqB8wJPM0w9UAKL2oppe77i6Lam2K4xMBw1sIEOXjVwrjbYb+Cu6H8xfaS9K8rjKEED19UZXMVD79IUrsoWzuEqJm61HopzuA7N4VTdxGlcS1Zu38z3iUgjK/t9TLPZvBi58SfSJ7m3E5UW6TmfFa8myI1z5UkbFtQNPRX8wFQsl6qKSTVLoW4QKCoYqma5lhGaZr4kKqEYrBtLizn8RfolZh6Na8grYXt537PUv3oT1rtkyazfo0nQm85pcpf2QsZ7ozjuiTn0cmNcuw3ed1zHMJXQsTXFDExN8RxfVQbUDVyghhZ6A/L8P4aN6APQvwAA" }, { - _200E_206E_202A_206D_200F_200B_200B_202E_200C_206F_206E_202B_206C_200E_206C_202C_206F_200C_202E_202A_202E_200F_200B_206E_206D_202B_200E_200C_202C_200F_206D_206B_200D_200C_200B_202E_206D_206E_202E_206B_202E((ushort)3240), - 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(2108127523) + new QuestId(3240), + "AH6_H4sIAAAAAAAEAO1bS2/bOBD+K4HO8UJyLFvOzXGTboC0KWJ3cyj2QEsjiYgsuiTVxBvkvy8felmWUtdRixbgJZCHQ/Kb4aeZccZ8tmYZJ3PEOJuHkXX+bF2maJXALEmsc04zOLXekZTPUepD8oEQPy7Ed+CLWbMUrxHHJNUa1nmIEiZGlxlN5yRJwOe3YViK53G2PmzKPeYxydT6DT0J9ganIMFeRymhsINL4w+Kj9fiaehNT633m2VMgcUkERK706xPFBOK+dY6d8RkdvnkJ1kAQSXWarXVZivyDQr5nKQBlsYtgFvnaZYkLxpxvsmzpR6GlaeD0jAFdew1oDr2QWD7Q9sKazo5xoN2ry6U5Ony28ixR8c5rh1ivvSPY9QEfgWmc4Qjh736cZGiKMJp9ApI+wiQZ/0eNqEBRol6ydNvQAvB3hHpELDEa7jHaUAey4E208bO6HD/34ptfbTZh1i3etQvf64wiy+3wPaC2ytGifNyG0a57iEnNu4X+wf0AIsYh/wCYfUGSAErBAuO/Adhl9sRYcbevhUH2DDt14ZPIjOB2E7Cv4NQzr1ENNlKfimudBzAuAl9fFDw6Xixj0ZP8X8wR1xnmi43N7EODwuUHe/3sViXMUowemBX6BuhEu6OoGCL2HRHLqoOsbjQd9yOw5AWNlPBQfb1/DZc4Og9WisizdIoAcoKm4btwM8m9mjvaA4B7vX8GmcJxzEhD535YWi7zYLKOQBof9VAFe3bK5gnTtFOOVuWg3fAQKSSLOVAP1H5YfGINqV5V4T6oKKVkuo5ShhIaV4KOaIYkmXzrQ8oVRG74aWdQVFKLzjZsPbRxYaoZe2GXJrYJt81+NlaKxVh6pfi2RfP/55aSMN/EY9QOY7iKBJU1CqfU/w1U7tYNoB7NlyFAxHLYCBOGAaeP3QHgLzp2JuKP+BZL/IAZylJt2uSVfbcYCYqdukfpmA0XC4HJHKV0ioH3mQitwFjKBLwLOvU+qjeFusfAU8E4QROpIal5y+3Gxl+BYCPhK5R8ndOzzv4mmEKgXi1uEQkzC8i+D0gpSJVxTE3j0h/zgfrp52L9I4jZyKY/pmBeik2eoIcYhcqJdByPaFTQZMaTYXd0Q84FWj/svfk6CmXiwUFQX3MxFl3rbmnUC27P7SzMnkEGmadYJvjtXWbI/VlFxySBNGuVRvD1aLNgXLNttqr0Gob23Vme+XW8EurUsPINp0G5tZAVHBxwSnR9XaTjfXvrN8no31myGjI+EYy3kAEaYDotofoaAhpCHk0IYVL3pEs51lVTYD+EszEV++2cS3qyu6d8TSfvcPf4dgkd0PfY+mriXhEajdUNFT8GVR8NbEbNho2/rq8vqQFbdrzesu4FvWT1yfu0BSmhsDHElhTsa/MbshoyPhmMvaY2w0fDR/fwkdhPsl4zZ44W+8JhePmGeNkrf8zv5Pp1Q94Mqqb3PKh1uzTDaQZ57De8Kp2EEpLRCMJo6PtdzZxp/u/APnlXSnhhDbH1nzUOvU65ZkSakftNzZc+bug77U2figOmNaGCQNvCANvaG20s9H8K9mw8ef2NgwhDSFNb8PQ19DX9DYMFf8sKprehmHj78BG09swBP6jCWx6G4aMvxkZTW/D8PE34aPpbfTf25CXX2YhB1rdvakxjGxk5YTTSJzPRt0jWjzi9Qphrrkh/SiZmgsrR7dulWuV7ZQfmv2RcBxub9NF5vvAWNv1p0s/JvMY8fLiSrGekC3hieubLO8w2yRoK69/LYkgRKlWSvZ0lVQBwD7SyIvacVf/KkEsXiL2sEL02q/pXVDhRLnBFaEQUeHmCvYFwKZml5LmJ9N2orV7QZ7jheOpGw4AuaPBaOW4Ay/00cD1kDu1HXsy9h1L3jHSl4ByHn4pBfrij/wsr/cE5W75DaRr9j4hK5TUI6QgSX4VaI4S7JOTpTCGnwxOcqKchISeiIVCHKibmjt4HRj7k5XvDVahMxyMHJgMpiGaDkJAI2/sBme+DdbL/0jq2s72QAAA" }, { - _200E_206E_202A_206D_200F_200B_200B_202E_200C_206F_206E_202B_206C_200E_206C_202C_206F_200C_202E_202A_202E_200F_200B_206E_206D_202B_200E_200C_202C_200F_206D_206B_200D_200C_200B_202E_206D_206E_202E_206B_202E((ushort)3241), - 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(877674805) + new QuestId(3241), + "AH6_H4sIAAAAAAAEAO1bW2+jOhD+KxXPzRGkISF9S9PLqdRuqyarfVidB4cMYJVg1jbb5lT97+sLBEKgm03ZVVfyS0XGY/ub8cfMpBO/WJOMkylinE2D0Dp9sS4StIhhEsfWKacZHFvnJOFTlPgQ3xLiR4X4AXwxa5LgFeKYJFrDOg1QzMToPKPJlMQx+PwuCDbiaZSt9pvyBfOIZGr9mp4Ee4MTkGCvw4RQ2MKl8S+Lj9fiqe+Nj62rdB5RYBGJhcRuNeueYkIxX1unjpjMLp79OFvCshRrtcpqkwX5DoV8SpIllsbNgFunSRbHrxpxvsmLpR76paeXG8MU1KFXg+rYe4HtDm0jrPHoEA/anbpQkqfNbwPHHhzmuGaI+dK/jlET+A2YzgGO7Hfqx1mCwhAn4Rsg7QNAnnR72IQuMYrVS558B1oIdo5Ih4A5XsEXnCzJ02agybShM9jf/3diWx+luxCrVg+65c8lZtHFGthOcHvDKHFebs0o193nxIbdYr9FjzCLcMDPEFZvgBSwQjDjyH8UdrktEWbo7Vqxhw3jbm24F5kJxHYS/gMEcu4FovFa8ktxpeUAhnXow72CT8uLfTB6iv+HKeI607S5uY61v1+gbHm/D8U6j1CM0SO7RN8JlXC3BAVbxKZbclF1iMWFvuO2HIa0sJ4K9rKv47fhDIdXaKWINEnCGCgrbOo3Az8Z2YOdo9kHuNfxa5zFHEeEPLbmh77t1gsqZw+g3VUDZbRvrmCeOUVb5eymHHwABiKVZAkHek/lh9kTSjfmXRLqg4pWSqrnKOFSShW/Rq4nWCnL5jsfUKIids1LW4OilJ5xkrLm0VlK1LJ2TS5NbJJvG/xirZSKMPVr8eyL5/+OLaThv4pHKB1HcRgKKmqVzwn+lqldLBvAPekvgp6IZdATJww9z++7PUDeeOiNxR/wrFd5gJOEJOsVyUp7bjATFbv0D1Mwai6XAxK5SmmlA28ykduAMRQKeJZ1bH1Sb4uoj9ewwEeziOJVaunp83Uqo6/Y/xOhKxT/m7PzAb5lmMJSvFlcAhLWFwH8CyClIlXFKddPSH/OB6uHnYv0jgNnJIj+mYF6J1I9QQ6xM5UR6GY9oVNCkxp1he3RW5wItP/YO3L0nMvFgoKfPmbiqNvW3FEol90d2lqZPAENslaw9fHKuvWR6rIzDnGMaNuqteFy0frAZs2m0qvQahrbdmZz4VbzS6NSzcgmnRrmxjhUcHHGKdHldp2N1a+sPyejfWLIaMj4TjLeQAjJEtF1B9HRENIQ8mBCCpeckyznWVlMgP4OzMQ376ZxLWrL7q3xNJ+9xd/+0CR3Q99D6auJeEBqN1Q0VPwdVHwzsRs2Gjb+ubw+pwVtmvN6w7gWdZPXR27fFKaGwIcSWFOxq8xuyGjI+G4ydpjbDR8NH9/DR2E+yXjFnihb7QiF46YZ42Sl/zO/lenV73cyqnvc8qHS69P9ownnsEp5WTsIpTmioYTR0vU7Gbnj3R+A/PGmlHBCk2MrPmqcep3wTAm1o3YbG678WdDPWhu/FAdMa8OEgXeEgXe0NprZaP6VbNj4e3sbhpCGkKa3Yehr6Gt6G4aKfxcVTW/DsPEjsNH0NgyB/2oCm96GIeMHI6PpbRg+fhA+mt5G970NefdlEnCg5dWbCsNIKisnnITifFJ1jWj2hFcLhLnmhvSjZGouLB3duFWutWmn/NLsT4TjYH2XzDLfB8aabj9d+BGZRohv7q0U6wnZHJ65vshyjlkao7W8/TUnghAbtY1kR1dJFQDsI428qB239S9jxKI5Yo8LRK/9it4ZFU6UG1wSCiEVbi5hnwGkFbuUND+ZphOtXAvyHC8Yjt2gB8gd9AYLx+15gY96rofcse3Yo6HvWPKKkb4DlPPw60ag7/3Iz/J2z3KzW34B6ZpdxWSB4mqEFCTJbwLdU8JSoOToAuKj3tEtoUw8kOCIR3B0LmyytrA6MPRHC9/rLQKn3xs4MOqNAzTuBYAG3tBdnvg2WK8/ADTO1Y/xQAAA" }, { - _200E_206E_202A_206D_200F_200B_200B_202E_200C_206F_206E_202B_206C_200E_206C_202C_206F_200C_202E_202A_202E_200F_200B_206E_206D_202B_200E_200C_202C_200F_206D_206B_200D_200C_200B_202E_206D_206E_202E_206B_202E((ushort)1514), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(218455464) + new QuestId(1514), + "AH6_H4sIAAAAAAAACu1bUW+jOBD+K5GfkxMkISF5S7PtXqV2W5VU+7DaBwcGsEps1jZtc1X/+8mGhIRAN5tye13Jb8l4MN+MP2YM43lBs0yyORZSzMMITV/QOcXLBGZJgqaSZ9BFnxiVc0x9SK4Z8+ON+A58LOSMkhWWhNFcA01DnAjookXG6ZwlCfjyJgy34nmcrY675CuRMcv0/BU9BfaKUFBgLyPKOOzhyvEHm7+XAZr23UkXfU4XMQcRsyRAU6vRrFtOGCdyjaZ2F12K82c/yQIISnGutjPbbMkeYSOfMxoQZZwHEk1pliSvOeLiJi9I/+iXng62hmmoI7cC1baOAtse2lpYk/EpHrRadaEiT5PfhrY1PM1x9RCLqX8dY07gN2DaJziy36ofPYqjiNDoDZDWCSAH7S424wHBiX7I6SPwjeBgifIQsCAr+EpowJ62A3Wmjezh8f6/eQTu4/QQ4q7Vw3b5c0FEfL4GcRDc3jBqaFtOxSjHOWbFRu1iv8YP4MUklGeY6CdACcRG4EnsPwg0dRoizMg9tOIIGybt2nCLJQHq6+RyB6G69hzzZK34pbnSsACjKvTRUcGn3zJ6Tv6BOZZ5pmlycxVr/7hAOWgX6yLGCcEP4gI/Mq7g7gk2bBl09+V34LNH4GhqK4Y3WVhNBUfZ1/LTcEaiz1iR5gXNaJQAFxub+vXAB2NreLA0xwB3W36Ms0SSmLGHxvzQt5zqhso+Amh7u4Ey2tfvYJ4lx3vb2e128A4EyDnLqAR+y9Uf7wmnW/MuGPdBRystza/RwkBJNb8cd9TVu+YbHzDVAbvipL3BWZJ4kqWiftRLmZ7VqsiVhXXyfXtf0EqrRGj6bfPbR9Nv37sI5+hfv3cRlH7jJIqAi1zlnpIfmb4LsgCcQX8Z9oa2Bb1h34Ke6/edHmB3MnIn7mQELnpV6zejjK5XLCvtuSJC3oTKPWreA4+rAYVcZ7St/64yDtcgBI4ATRHqoi/6WUHXTMad2yzFKL9ysU5V3H3toi+Mr3Dyd8HLO/iREQ6BJ7FUWKwu2oTur4C1ilIVIKuLk/8vBneXuRDldxza40kX3QvQT0OaX6CGxJnOBXw7372AEprSqCrsj14TiqbWX9aBHD8X8nsBtxx8IgijTXMeKJTTHg7tzcyegIdZI9jq+M681ZHdaT0JSYJ506yV4XLS6sB2zrpN10arbmzfmfVbtopfapUqRtbpVDDXRqANFz3JWb7RrrJx92X152S0BoaMhozvJOMVREADzNctREdDSBMdT46O9wI+sazgWbmPgPztV/g4rRvPRU3ZvTGeFlfv8bc/MsndxNNT6ZsT8YTUbqho9pn/BRXfTOyGjeat5ze99dwLWPDNy3J9Xq8Zz0Xt5PWx0zdvSiazn0rgnIptZXZDRvMN6d1kbDG3Gz4aPr6Hj2QFLJM732jjbHUgvBcwz4Rkq/zL/F6m1yd3Mp5Xt9WPnSpfXjmaSQmrVJZ7h4zDAvNIwWio9w3GzuTw6MdvL0exTNY5dsdHtZdeUplpYVNhw1EHgn5W2vilOGBKGyYM/D+ljXo2mk/JZsf+bja2t00yhDTh8X3fQExtwxxc+FMPLpjahjlD86GoaGob5kTXR2CjqW2YI4l/9JFEU9sw52M/GBlNbcOc1/4gfDS1jfZrG6rtZRZK4GXTzU5HAEvVqRBCI09CqhuIvCeyWmIi88SpPuSpzoJCWBaRam9VaG3LKb909RcmSbi+oV7m+yB0dergXLQfs3mM5bZnZdvQjuUCnmXexPKJiDTBa9X3tWBYlLfdSg50tVQDIL7uii/PxezrXyRYxAssHpaYX/o7emecUN1qdsE4RJxltIR9BpDu2BUqabEydSu60xHk2m44mjhhD7Az7A2XttNzQx/3HBc7E8u2xiPfRqq7KG//KWpsqq0oF+QtP+q/6uwJtncreo8uxeeELdUqlx0tAmTRBeRhQmVnjnna6XVmNOgsYkwfRCdkvDNLko6MoaNvsAfZhpE/Xvpubxna/d7QhnFvEuJJLwQ8dEdOMPAtQK//ArFHYPjyQAAA" } }; - - static QuestId _200E_206E_202A_206D_200F_200B_200B_202E_200C_206F_206E_202B_206C_200E_206C_202C_206F_200C_202E_202A_202E_200F_200B_206E_206D_202B_200E_200C_202C_200F_206D_206B_200D_200C_200B_202E_206D_206E_202E_206B_202E(ushort P_0) - { - return new QuestId(P_0); - } } diff --git a/Questionable/Questionable.Data/ChangelogData.cs b/Questionable/Questionable.Data/ChangelogData.cs index bb308ef..34aa9a5 100644 --- a/Questionable/Questionable.Data/ChangelogData.cs +++ b/Questionable/Questionable.Data/ChangelogData.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Questionable.Model.Changelog; @@ -10,1376 +9,1278 @@ internal static class ChangelogData { public static readonly List Changelogs; - [MethodImpl(MethodImplOptions.NoInlining)] static ChangelogData() { - int num = 71; + int num = 74; List list = new List(num); CollectionsMarshal.SetCount(list, num); Span span = CollectionsMarshal.AsSpan(list); ref ChangelogEntry reference = ref span[0]; - string version = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1962423327); - DateOnly releaseDate = new DateOnly(2026, 8, 12); - int num2 = 4; + DateOnly releaseDate = new DateOnly(2026, 8, 13); + int num2 = 3; List list2 = new List(num2); CollectionsMarshal.SetCount(list2, num2); Span span2 = CollectionsMarshal.AsSpan(list2); ref ChangeEntry reference2 = ref span2[0]; - string description = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(816348566); - int num3 = 35; + int num3 = 1; List list3 = new List(num3); CollectionsMarshal.SetCount(list3, num3); - Span span3 = CollectionsMarshal.AsSpan(list3); - span3[0] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-695795227); - span3[1] = 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(350484439); - span3[2] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1224915960); - span3[3] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-699968252); - span3[4] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(698833239); - span3[5] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(334339490); - span3[6] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2135692670); - span3[7] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1542589501); - span3[8] = 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(973293443); - span3[9] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(453697497); - span3[10] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(191632364); - span3[11] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1602382590); - span3[12] = 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(-1059660746); - span3[13] = 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(546867509); - span3[14] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1325767056); - span3[15] = 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(201420174); - span3[16] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(617555882); - span3[17] = 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(978383452); - span3[18] = 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(1849303500); - span3[19] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1944251878); - span3[20] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(523995484); - span3[21] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1595097286); - span3[22] = 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(-1125340424); - span3[23] = 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(1473476420); - span3[24] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2125579804); - span3[25] = 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(-600722955); - span3[26] = 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(-1343491674); - span3[27] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(804175219); - span3[28] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-386149253); - span3[29] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(582823330); - span3[30] = 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(-1454610357); - span3[31] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1248652962); - span3[32] = 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(-1715637571); - span3[33] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-457234259); - span3[34] = 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(-600852222); - reference2 = new ChangeEntry(EChangeCategory.Added, description, list3); + CollectionsMarshal.AsSpan(list3)[0] = "Added autodetection of your Grand Company based on player's starting city."; + reference2 = new ChangeEntry(EChangeCategory.Added, "Added", list3); ref ChangeEntry reference3 = ref span2[1]; - string description2 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1313916723); - num3 = 17; + num3 = 1; List list4 = new List(num3); CollectionsMarshal.SetCount(list4, num3); - Span span4 = CollectionsMarshal.AsSpan(list4); - span4[0] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(539064689); - span4[1] = 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(611571080); - span4[2] = 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(-928957354); - span4[3] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(41496532); - span4[4] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-779062486); - span4[5] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1241440823); - span4[6] = 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(-863605658); - span4[7] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1763821834); - span4[8] = 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(-338988189); - span4[9] = 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(-234907353); - span4[10] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(589413832); - span4[11] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(807929606); - span4[12] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1124150128); - span4[13] = 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(250980976); - span4[14] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(352541251); - span4[15] = 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(-1224351914); - span4[16] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1738906556); - reference3 = new ChangeEntry(EChangeCategory.Changed, description2, list4); + CollectionsMarshal.AsSpan(list4)[0] = "Updated Moonfire Faire (2026) event paths to go around the pool."; + reference3 = new ChangeEntry(EChangeCategory.Changed, "Changed", list4); ref ChangeEntry reference4 = ref span2[2]; - string description3 = 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(1988704596); - num3 = 41; + num3 = 3; List list5 = new List(num3); CollectionsMarshal.SetCount(list5, num3); - Span span5 = CollectionsMarshal.AsSpan(list5); - span5[0] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(372741491); - span5[1] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1052180861); - span5[2] = 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(1824505401); - span5[3] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(731947891); - span5[4] = 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(-1749133374); - span5[5] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(207962275); - span5[6] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1206251003); - span5[7] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(389254865); - span5[8] = 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(-1683453696); - span5[9] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-746835295); - span5[10] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-700114025); - span5[11] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2101341493); - span5[12] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(687935522); - span5[13] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1424586940); - span5[14] = 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(-1071503575); - span5[15] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(138039903); - span5[16] = 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(670336521); - span5[17] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-544503443); - span5[18] = 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(938977685); - span5[19] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1836049162); - span5[20] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(472934073); - span5[21] = 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(-2110043621); - span5[22] = 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(-1367933289); - span5[23] = 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(-497013241); - span5[24] = 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(-274292457); - span5[25] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(703701360); - span5[26] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(579738868); - span5[27] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1794923777); - span5[28] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-911252945); - span5[29] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(56541654); - span5[30] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1716432584); - span5[31] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1286571268); - span5[32] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1722111330); - span5[33] = 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(-1258011708); - span5[34] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1775113336); - span5[35] = 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(1894377040); - span5[36] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1376304081); - span5[37] = 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(-307132296); - span5[38] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2022285803); - span5[39] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1498553915); - span5[40] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1827440798); - reference4 = new ChangeEntry(EChangeCategory.Fixed, description3, list5); - ref ChangeEntry reference5 = ref span2[3]; - string description4 = 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(-1205328867); - num3 = 6; - List list6 = new List(num3); - CollectionsMarshal.SetCount(list6, num3); - Span span6 = CollectionsMarshal.AsSpan(list6); - span6[0] = 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(-963109121); - span6[1] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-583965998); - span6[2] = 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(1766096444); - span6[3] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1672858002); - span6[4] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-418666543); - span6[5] = 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(-787030756); - reference5 = new ChangeEntry(EChangeCategory.QuestUpdates, description4, list6); - reference = new ChangelogEntry(version, releaseDate, list2); - ref ChangelogEntry reference6 = ref span[1]; - string version2 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(782199067); - DateOnly releaseDate2 = new DateOnly(2026, 6, 25); + Span span3 = CollectionsMarshal.AsSpan(list5); + span3[0] = "Fix an issue where Custom Deliveries were not working due to Questionable attempting to use old quest presets."; + span3[1] = "Fix race condition where Questionable is attempting to call Bossmod IPC before Bossmod had finished loading."; + span3[2] = "Fix Bossmod AI not working due to Questionable intializing an empty preset."; + reference4 = new ChangeEntry(EChangeCategory.Fixed, "Fixed", list5); + reference = new ChangelogEntry("7.5.11", releaseDate, list2); + ref ChangelogEntry reference5 = ref span[1]; + DateOnly releaseDate2 = new DateOnly(2026, 8, 12); num2 = 1; - List list7 = new List(num2); - CollectionsMarshal.SetCount(list7, num2); - ref ChangeEntry reference7 = ref CollectionsMarshal.AsSpan(list7)[0]; - string description5 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1236459337); + List list6 = new List(num2); + CollectionsMarshal.SetCount(list6, num2); + ref ChangeEntry reference6 = ref CollectionsMarshal.AsSpan(list6)[0]; num3 = 1; - List list8 = new List(num3); - CollectionsMarshal.SetCount(list8, num3); - CollectionsMarshal.AsSpan(list8)[0] = 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(1791009598); - reference7 = new ChangeEntry(EChangeCategory.QuestUpdates, description5, list8); - reference6 = new ChangelogEntry(version2, releaseDate2, list7); - ref ChangelogEntry reference8 = ref span[2]; - string version3 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1035718310); - DateOnly releaseDate3 = new DateOnly(2026, 6, 6); + List list7 = new List(num3); + CollectionsMarshal.SetCount(list7, num3); + CollectionsMarshal.AsSpan(list7)[0] = "Fixed an issue which causes the plugin to fail to load and Dalamud to crash in rare occasions."; + reference6 = new ChangeEntry(EChangeCategory.Fixed, "Fixed", list7); + reference5 = new ChangelogEntry("7.5.9", releaseDate2, list6); + ref ChangelogEntry reference7 = ref span[2]; + DateOnly releaseDate3 = new DateOnly(2026, 8, 12); num2 = 1; - List list9 = new List(num2); - CollectionsMarshal.SetCount(list9, num2); - ref ChangeEntry reference9 = ref CollectionsMarshal.AsSpan(list9)[0]; - string description6 = 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(-1205328867); - num3 = 1; - List list10 = new List(num3); - CollectionsMarshal.SetCount(list10, num3); - CollectionsMarshal.AsSpan(list10)[0] = 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(1004165390); - reference9 = new ChangeEntry(EChangeCategory.QuestUpdates, description6, list10); - reference8 = new ChangelogEntry(version3, releaseDate3, list9); - ref ChangelogEntry reference10 = ref span[3]; - string version4 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1326263498); - DateOnly releaseDate4 = new DateOnly(2026, 5, 12); - num2 = 1; - List list11 = new List(num2); - CollectionsMarshal.SetCount(list11, num2); - ref ChangeEntry reference11 = ref CollectionsMarshal.AsSpan(list11)[0]; - string description7 = 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(938485712); - num3 = 1; + List list8 = new List(num2); + CollectionsMarshal.SetCount(list8, num2); + ref ChangeEntry reference8 = ref CollectionsMarshal.AsSpan(list8)[0]; + num3 = 2; + List list9 = new List(num3); + CollectionsMarshal.SetCount(list9, num3); + Span span4 = CollectionsMarshal.AsSpan(list9); + span4[0] = "Move LGB scanning (NPC positions and zone boundaries) to an out-of-process worker to eliminate memory spikes on first load and after game patches"; + span4[1] = "Add Clear LGB Caches button in Advanced settings with cache size tooltip"; + reference8 = new ChangeEntry(EChangeCategory.Changed, "Changed", list9); + reference7 = new ChangelogEntry("7.5.7", releaseDate3, list8); + ref ChangelogEntry reference9 = ref span[3]; + DateOnly releaseDate4 = new DateOnly(2026, 8, 12); + num2 = 4; + List list10 = new List(num2); + CollectionsMarshal.SetCount(list10, num2); + Span span5 = CollectionsMarshal.AsSpan(list10); + ref ChangeEntry reference10 = ref span5[0]; + num3 = 35; + List list11 = new List(num3); + CollectionsMarshal.SetCount(list11, num3); + Span span6 = CollectionsMarshal.AsSpan(list11); + span6[0] = "Add SmartNav automatic cross-zone routing with real-time gil cost awareness"; + span6[1] = "Add WigglyNav as an alternative navigation provider with provider-aware navmesh rebuild"; + span6[2] = "Add Custom Delivery automation with crafting, gathering, fishing, vendor purchases, and job selection"; + span6[3] = "Add Attunement tab to Journal with aetheryte/aethernet/aether current status and batch attune"; + span6[4] = "Add Fishing automation with AutoHook preset management and bait vendor resolution"; + span6[5] = "Add allied society overcap protection with reputation-aware turn-in ordering"; + span6[6] = "Add quest chain graph with queue management in Journal"; + span6[7] = "Add Gathering Editor as a sub-panel to Quest Editor Window"; + span6[8] = "Add smart equip with three modes: Game Default, Smart (stat-aware), and None"; + span6[9] = "Add gear coffer opening from quest rewards with gearset switching"; + span6[10] = "Add automatic repair at quest boundaries and duty gates via self-repair and menders"; + span6[11] = "Add out-of-game notifications with per-event alert toggles and sound selection"; + span6[12] = "Add run-command-after-stop for executing a command when a stop condition fires"; + span6[13] = "Add reward redemption settings with per-type filtering and skip-tradable option"; + span6[14] = "Add UnlockLink reward type for unlock-link quest rewards"; + span6[15] = "Add teleport ticket support for cheaper cross-zone travel"; + span6[16] = "Add chocobo taxi routing for zones with taxi stands"; + span6[17] = "Add warp-based travel (elevators, ferries, zone transitions)"; + span6[18] = "Add Critical Encounter and Fishing quest step types"; + span6[19] = "Add auto-unsync for 4-man dungeons when safely overleveled"; + span6[20] = "Add death recovery system that auto-respawns and re-routes"; + span6[21] = "Add RetryStep system that re-navigates on interaction failures"; + span6[22] = "Add UnequipItem step executor"; + span6[23] = "Add unified stop condition system with QuestCount, Level, and Sequence conditions"; + span6[24] = "Add setup wizard with guided steps, re-openable via command"; + span6[25] = "Add BossModReborn support alongside BossMod"; + span6[26] = "Add WrathCombo integration with explicit combo state management"; + span6[27] = "Add per-feature control for external plugin pausing"; + span6[28] = "Add hot-reloading and in-memory quest testing to Quest Editor"; + span6[29] = "Add Navigation config tab with mount, flying, and gil reserve settings"; + span6[30] = "Add config backup before version migrations"; + span6[31] = "Add option to disable coffer opening (None mode)"; + span6[32] = "Add detection of installed-but-disabled plugins with Enable button"; + span6[33] = "Add plugin alternative listing (vnavmesh-cn, BossModReborn) with conflict warnings"; + span6[34] = "Add accepted quests with no path shown with live game sequence"; + reference10 = new ChangeEntry(EChangeCategory.Added, "Added", list11); + ref ChangeEntry reference11 = ref span5[1]; + num3 = 17; List list12 = new List(num3); CollectionsMarshal.SetCount(list12, num3); - CollectionsMarshal.AsSpan(list12)[0] = 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(118965656); - reference11 = new ChangeEntry(EChangeCategory.QuestUpdates, description7, list12); - reference10 = new ChangelogEntry(version4, releaseDate4, list11); - ref ChangelogEntry reference12 = ref span[4]; - string version5 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-141071597); - DateOnly releaseDate5 = new DateOnly(2026, 5, 1); - num2 = 1; - List list13 = new List(num2); - CollectionsMarshal.SetCount(list13, num2); - ref ChangeEntry reference13 = ref CollectionsMarshal.AsSpan(list13)[0]; - string description8 = 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(413775329); - num3 = 1; + Span span7 = CollectionsMarshal.AsSpan(list12); + span7[0] = "Redesign Configuration window with grouped sidebar navigation and themed cards"; + span7[1] = "Redesign Journal with sidebar navigation, accordion layouts, and tracker tables"; + span7[2] = "Redesign main quest window with themed banners, titles, and stop buttons"; + span7[3] = "Redesign FATE and Seasonal Duty selection windows with search and shared cycle UI"; + span7[4] = "Replace quest-path-based custom deliveries with dynamic automation controller"; + span7[5] = "Move path data to external repository for community contributions"; + span7[6] = "Install and enable required plugins directly from the Dependencies tab"; + span7[7] = "Faster startup with parallel data loading"; + span7[8] = "SmartNav automatically determines mount, fly, and teleport decisions (replaces manual shortcuts)"; + span7[9] = "Replace native aethernet teleportation with direct implementation (removes Lifestream dependency)"; + span7[10] = "Remove aether current and city aethernet quest presets (replaced by Attunement tab)"; + span7[11] = "Remove 'Stop after current quest' and quest-count/timer stop buttons from main window"; + span7[12] = "Remove 'View All Quest Paths Online' button from journal"; + span7[13] = "Remove Explanation dropdown from Quests and Duties tabs"; + span7[14] = "Virtualize quest, duty, and gathering journals for better performance"; + span7[15] = "Default custom delivery scrip overcap mode to Ignore"; + span7[16] = "Default quest journal groups to collapsed"; + reference11 = new ChangeEntry(EChangeCategory.Changed, "Changed", list12); + ref ChangeEntry reference12 = ref span5[2]; + num3 = 41; + List list13 = new List(num3); + CollectionsMarshal.SetCount(list13, num3); + Span span8 = CollectionsMarshal.AsSpan(list13); + span8[0] = "Fix zone transition hangs and re-routing after zone changes"; + span8[1] = "Fix flying route decisions based on mount ownership and flying unlock state"; + span8[2] = "Fix warp routing filtering by quest requirements and class level"; + span8[3] = "Fix zone boundary access respecting per-boundary quest requirements"; + span8[4] = "Fix custom delivery craft purchases, turn-in timeouts, and rank-up resume"; + span8[5] = "Fix custom delivery keeping queued deliveries when inventory is full"; + span8[6] = "Fix fishing approach rebuild on retry and no-progress timeout"; + span8[7] = "Fix smart equip ranking weapons by weapon damage and job-usable stats"; + span8[8] = "Fix repair retry when gear condition did not improve"; + span8[9] = "Fix gathering retry counter reset and node integrity checks"; + span8[10] = "Fix reward redemption for tradeable items and stale reward task completion"; + span8[11] = "Fix gear coffer gearset restore across interrupts and retries"; + span8[12] = "Fix AutoDuty leveling loop not continuing until target level reached"; + span8[13] = "Fix AutoDuty not persisting excessive LoopTimes values"; + span8[14] = "Fix quest editor schema validation, dirty tracking, and atomic save"; + span8[15] = "Fix death recovery respawn prompt clicking timing"; + span8[16] = "Fix same-zone teleport skipping when it gains no distance"; + span8[17] = "Fix stop condition removal and level-15 floor in StartLevelingMode IPC"; + span8[18] = "Fix stop conditions not firing during leveling mode"; + span8[19] = "Fix command-after-stop firing once per run instead of per frame"; + span8[20] = "Fix soft hyphens and escaped macros in game string/dialogue comparisons"; + span8[21] = "Fix skip aether current quest pickups once flying is unlocked"; + span8[22] = "Fix class quest prioritization and level-lock pickup logic"; + span8[23] = "Fix respecting skip setting for in-progress class quests over level 5"; + span8[24] = "Fix repeatable quest completion flag being checked while quest is accepted"; + span8[25] = "Fix priority quest pickup after shortcut-key strip"; + span8[26] = "Fix duty category classification"; + span8[27] = "Fix loading crash when InterruptHandler hook fails"; + span8[28] = "Fix shop opening on wrong tab during vendor purchases"; + span8[29] = "Fix aethernet destination selection and teleport retry on transient failures"; + span8[30] = "Fix combat targeting overpull and self-defense getting stuck on evading mobs"; + span8[31] = "Fix BossMod preset management during solo duties and between combat phases"; + span8[32] = "Fix WrathCombo rotation mode enum values"; + span8[33] = "Fix startup crash from Pictomancy initialization"; + span8[34] = "Fix emote retry when target NPC not found"; + span8[35] = "Fix interaction wait for missing objects instead of silently skipping"; + span8[36] = "Fix PurchaseItem vendor interaction retry when shop not open"; + span8[37] = "Fix GC shop cancel on handler reset"; + span8[38] = "Fix quest sequence window latching closed after first close"; + span8[39] = "Fix An Ill-conceived Venture locked without retainer entitlement"; + span8[40] = "Fix various UI text clipping and wrapping issues"; + reference12 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list13); + ref ChangeEntry reference13 = ref span5[3]; + num3 = 6; List list14 = new List(num3); CollectionsMarshal.SetCount(list14, num3); - CollectionsMarshal.AsSpan(list14)[0] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(686563718); - reference13 = new ChangeEntry(EChangeCategory.Fixed, description8, list14); - reference12 = new ChangelogEntry(version5, releaseDate5, list13); - ref ChangelogEntry reference14 = ref span[5]; - string version6 = 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(938321721); - DateOnly releaseDate6 = new DateOnly(2026, 4, 30); - num2 = 2; + Span span9 = CollectionsMarshal.AsSpan(list14); + span9[0] = "Add Moonfire Faire (2026) quests"; + span9[1] = "Add 88 community-contributed quest ports"; + span9[2] = "Add all missing gathering paths"; + span9[3] = "Add AutoHook presets for ARR fishing quests"; + span9[4] = "Add Shadow of the First missing sequence"; + span9[5] = "Add Amaljaa, Sylph, and Ixal allied society NPC data"; + reference13 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list14); + reference9 = new ChangelogEntry("7.5.6", releaseDate4, list10); + ref ChangelogEntry reference14 = ref span[4]; + DateOnly releaseDate5 = new DateOnly(2026, 6, 25); + num2 = 1; List list15 = new List(num2); CollectionsMarshal.SetCount(list15, num2); - Span span7 = CollectionsMarshal.AsSpan(list15); - ref ChangeEntry reference15 = ref span7[0]; - string description9 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1236459337); - num3 = 2; + ref ChangeEntry reference15 = ref CollectionsMarshal.AsSpan(list15)[0]; + num3 = 1; List list16 = new List(num3); CollectionsMarshal.SetCount(list16, num3); - Span span8 = CollectionsMarshal.AsSpan(list16); - span8[0] = 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(-1061628638); - span8[1] = 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(-2143539424); - reference15 = new ChangeEntry(EChangeCategory.QuestUpdates, description9, list16); - ref ChangeEntry reference16 = ref span7[1]; - string description10 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1835095083); - num3 = 1; - List list17 = new List(num3); - CollectionsMarshal.SetCount(list17, num3); - CollectionsMarshal.AsSpan(list17)[0] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1523876749); - reference16 = new ChangeEntry(EChangeCategory.Changed, description10, list17); - reference14 = new ChangelogEntry(version6, releaseDate6, list15); - ref ChangelogEntry reference17 = ref span[6]; - string version7 = 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(971161560); - DateOnly releaseDate7 = new DateOnly(2026, 4, 29); + CollectionsMarshal.AsSpan(list16)[0] = "Add Breaking Brick Mountains (2026) event quest"; + reference15 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list16); + reference14 = new ChangelogEntry("7.5.5", releaseDate5, list15); + ref ChangelogEntry reference16 = ref span[5]; + DateOnly releaseDate6 = new DateOnly(2026, 6, 6); num2 = 1; - List list18 = new List(num2); - CollectionsMarshal.SetCount(list18, num2); - ref ChangeEntry reference18 = ref CollectionsMarshal.AsSpan(list18)[0]; - string description11 = 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(413775329); + List list17 = new List(num2); + CollectionsMarshal.SetCount(list17, num2); + ref ChangeEntry reference17 = ref CollectionsMarshal.AsSpan(list17)[0]; num3 = 1; - List list19 = new List(num3); - CollectionsMarshal.SetCount(list19, num3); - CollectionsMarshal.AsSpan(list19)[0] = 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(-216010434); - reference18 = new ChangeEntry(EChangeCategory.Fixed, description11, list19); - reference17 = new ChangelogEntry(version7, releaseDate7, list18); - ref ChangelogEntry reference19 = ref span[7]; - string version8 = 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(1266228138); - DateOnly releaseDate8 = new DateOnly(2026, 3, 24); + List list18 = new List(num3); + CollectionsMarshal.SetCount(list18, num3); + CollectionsMarshal.AsSpan(list18)[0] = "Add Make It Rain (2026) seasonal quest"; + reference17 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list18); + reference16 = new ChangelogEntry("7.5.4", releaseDate6, list17); + ref ChangelogEntry reference18 = ref span[6]; + DateOnly releaseDate7 = new DateOnly(2026, 5, 12); num2 = 1; - List list20 = new List(num2); - CollectionsMarshal.SetCount(list20, num2); - ref ChangeEntry reference20 = ref CollectionsMarshal.AsSpan(list20)[0]; - string description12 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1835095083); + List list19 = new List(num2); + CollectionsMarshal.SetCount(list19, num2); + ref ChangeEntry reference19 = ref CollectionsMarshal.AsSpan(list19)[0]; + num3 = 1; + List list20 = new List(num3); + CollectionsMarshal.SetCount(list20, num3); + CollectionsMarshal.AsSpan(list20)[0] = "Add The Maiden's Rhapsody (2026) event quest"; + reference19 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list20); + reference18 = new ChangelogEntry("7.5.3", releaseDate7, list19); + ref ChangelogEntry reference20 = ref span[7]; + DateOnly releaseDate8 = new DateOnly(2026, 5, 1); + num2 = 1; + List list21 = new List(num2); + CollectionsMarshal.SetCount(list21, num2); + ref ChangeEntry reference21 = ref CollectionsMarshal.AsSpan(list21)[0]; + num3 = 1; + List list22 = new List(num3); + CollectionsMarshal.SetCount(list22, num3); + CollectionsMarshal.AsSpan(list22)[0] = "Revert vnavmesh SimpleMove IPC temporary fix"; + reference21 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list22); + reference20 = new ChangelogEntry("7.5.2", releaseDate8, list21); + ref ChangelogEntry reference22 = ref span[8]; + DateOnly releaseDate9 = new DateOnly(2026, 4, 30); + num2 = 2; + List list23 = new List(num2); + CollectionsMarshal.SetCount(list23, num2); + Span span10 = CollectionsMarshal.AsSpan(list23); + ref ChangeEntry reference23 = ref span10[0]; num3 = 2; - List list21 = new List(num3); - CollectionsMarshal.SetCount(list21, num3); - Span span9 = CollectionsMarshal.AsSpan(list21); - span9[0] = 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(-1520566429); - span9[1] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-547252384); - reference20 = new ChangeEntry(EChangeCategory.Fixed, description12, list21); - reference19 = new ChangelogEntry(version8, releaseDate8, list20); - ref ChangelogEntry reference21 = ref span[8]; - string version9 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1969677057); - DateOnly releaseDate9 = new DateOnly(2026, 3, 24); - num2 = 3; - List list22 = new List(num2); - CollectionsMarshal.SetCount(list22, num2); - Span span10 = CollectionsMarshal.AsSpan(list22); - ref ChangeEntry reference22 = ref span10[0]; - string description13 = 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(1299067977); - num3 = 1; - List list23 = new List(num3); - CollectionsMarshal.SetCount(list23, num3); - CollectionsMarshal.AsSpan(list23)[0] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-384089076); - reference22 = new ChangeEntry(EChangeCategory.Added, description13, list23); - ref ChangeEntry reference23 = ref span10[1]; - string description14 = 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(-1205328867); - num3 = 1; List list24 = new List(num3); CollectionsMarshal.SetCount(list24, num3); - CollectionsMarshal.AsSpan(list24)[0] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1180756033); - reference23 = new ChangeEntry(EChangeCategory.QuestUpdates, description14, list24); - ref ChangeEntry reference24 = ref span10[2]; - string description15 = 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(413775329); + Span span11 = CollectionsMarshal.AsSpan(list24); + span11[0] = "Add Windurst: The Third Walk quests"; + span11[1] = "Add 7.5 MSQ"; + reference23 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list24); + ref ChangeEntry reference24 = ref span10[1]; num3 = 1; List list25 = new List(num3); CollectionsMarshal.SetCount(list25, num3); - CollectionsMarshal.AsSpan(list25)[0] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1893217209); - reference24 = new ChangeEntry(EChangeCategory.Fixed, description15, list25); - reference21 = new ChangelogEntry(version9, releaseDate9, list22); + CollectionsMarshal.AsSpan(list25)[0] = "Use vnavmesh SimpleMove IPC to fix navmesh hanging the game (temporary fix)"; + reference24 = new ChangeEntry(EChangeCategory.Changed, "Fixes", list25); + reference22 = new ChangelogEntry("7.5.1", releaseDate9, list23); ref ChangelogEntry reference25 = ref span[9]; - string version10 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(468685049); - DateOnly releaseDate10 = new DateOnly(2026, 3, 1); + DateOnly releaseDate10 = new DateOnly(2026, 4, 29); num2 = 1; List list26 = new List(num2); CollectionsMarshal.SetCount(list26, num2); ref ChangeEntry reference26 = ref CollectionsMarshal.AsSpan(list26)[0]; - string description16 = 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(1988704596); num3 = 1; List list27 = new List(num3); CollectionsMarshal.SetCount(list27, num3); - CollectionsMarshal.AsSpan(list27)[0] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1430483504); - reference26 = new ChangeEntry(EChangeCategory.Fixed, description16, list27); - reference25 = new ChangelogEntry(version10, releaseDate10, list26); + CollectionsMarshal.AsSpan(list27)[0] = "Api15"; + reference26 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list27); + reference25 = new ChangelogEntry("7.5.0", releaseDate10, list26); ref ChangelogEntry reference27 = ref span[10]; - string version11 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1689288911); - DateOnly releaseDate11 = new DateOnly(2026, 3, 1); + DateOnly releaseDate11 = new DateOnly(2026, 3, 24); num2 = 1; List list28 = new List(num2); CollectionsMarshal.SetCount(list28, num2); ref ChangeEntry reference28 = ref CollectionsMarshal.AsSpan(list28)[0]; - string description17 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1579620133); - num3 = 1; + num3 = 2; List list29 = new List(num3); CollectionsMarshal.SetCount(list29, num3); - CollectionsMarshal.AsSpan(list29)[0] = 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(108330907); - reference28 = new ChangeEntry(EChangeCategory.Fixed, description17, list29); - reference27 = new ChangelogEntry(version11, releaseDate11, list28); + Span span12 = CollectionsMarshal.AsSpan(list29); + span12[0] = "Add duty handling to external and qst"; + span12[1] = "Fix duty farming NPC interact getting stuck after zone transition into duty"; + reference28 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list29); + reference27 = new ChangelogEntry("7.4.19", releaseDate11, list28); ref ChangelogEntry reference29 = ref span[11]; - string version12 = 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(449834161); - DateOnly releaseDate12 = new DateOnly(2026, 2, 28); - num2 = 1; + DateOnly releaseDate12 = new DateOnly(2026, 3, 24); + num2 = 3; List list30 = new List(num2); CollectionsMarshal.SetCount(list30, num2); - ref ChangeEntry reference30 = ref CollectionsMarshal.AsSpan(list30)[0]; - string description18 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1579620133); - num3 = 2; + Span span13 = CollectionsMarshal.AsSpan(list30); + ref ChangeEntry reference30 = ref span13[0]; + num3 = 1; List list31 = new List(num3); CollectionsMarshal.SetCount(list31, num3); - Span span11 = CollectionsMarshal.AsSpan(list31); - span11[0] = 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(-1553570259); - span11[1] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1431104834); - reference30 = new ChangeEntry(EChangeCategory.Fixed, description18, list31); - reference29 = new ChangelogEntry(version12, releaseDate12, list30); - ref ChangelogEntry reference31 = ref span[12]; - string version13 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1492505401); - DateOnly releaseDate13 = new DateOnly(2026, 2, 27); - num2 = 2; - List list32 = new List(num2); - CollectionsMarshal.SetCount(list32, num2); - Span span12 = CollectionsMarshal.AsSpan(list32); - ref ChangeEntry reference32 = ref span12[0]; - string description19 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1654501195); - num3 = 2; + CollectionsMarshal.AsSpan(list31)[0] = "Add seasonal duty farming system (/qst duty)"; + reference30 = new ChangeEntry(EChangeCategory.Added, "New Features", list31); + ref ChangeEntry reference31 = ref span13[1]; + num3 = 1; + List list32 = new List(num3); + CollectionsMarshal.SetCount(list32, num3); + CollectionsMarshal.AsSpan(list32)[0] = "Add Hatching-tide 2026 quest"; + reference31 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list32); + ref ChangeEntry reference32 = ref span13[2]; + num3 = 1; List list33 = new List(num3); CollectionsMarshal.SetCount(list33, num3); - Span span13 = CollectionsMarshal.AsSpan(list33); - span13[0] = 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(282508887); - span13[1] = 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(1692326090); - reference32 = new ChangeEntry(EChangeCategory.Changed, description19, list33); - ref ChangeEntry reference33 = ref span12[1]; - string description20 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1835095083); - num3 = 1; - List list34 = new List(num3); - CollectionsMarshal.SetCount(list34, num3); - CollectionsMarshal.AsSpan(list34)[0] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(304767039); - reference33 = new ChangeEntry(EChangeCategory.Fixed, description20, list34); - reference31 = new ChangelogEntry(version13, releaseDate13, list32); - ref ChangelogEntry reference34 = ref span[13]; - string version14 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1472616570); - DateOnly releaseDate14 = new DateOnly(2026, 2, 27); + CollectionsMarshal.AsSpan(list33)[0] = "Quest path fixes"; + reference32 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list33); + reference29 = new ChangelogEntry("7.4.18", releaseDate12, list30); + ref ChangelogEntry reference33 = ref span[12]; + DateOnly releaseDate13 = new DateOnly(2026, 3, 1); num2 = 1; - List list35 = new List(num2); - CollectionsMarshal.SetCount(list35, num2); - ref ChangeEntry reference35 = ref CollectionsMarshal.AsSpan(list35)[0]; - string description21 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1579620133); + List list34 = new List(num2); + CollectionsMarshal.SetCount(list34, num2); + ref ChangeEntry reference34 = ref CollectionsMarshal.AsSpan(list34)[0]; num3 = 1; - List list36 = new List(num3); - CollectionsMarshal.SetCount(list36, num3); - CollectionsMarshal.AsSpan(list36)[0] = 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(-548498980); - reference35 = new ChangeEntry(EChangeCategory.Fixed, description21, list36); - reference34 = new ChangelogEntry(version14, releaseDate14, list35); - ref ChangelogEntry reference36 = ref span[14]; - string version15 = 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(1722757910); - DateOnly releaseDate15 = new DateOnly(2026, 2, 26); - num2 = 3; - List list37 = new List(num2); - CollectionsMarshal.SetCount(list37, num2); - Span span14 = CollectionsMarshal.AsSpan(list37); - ref ChangeEntry reference37 = ref span14[0]; - string description22 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(23444354); - num3 = 3; - List list38 = new List(num3); - CollectionsMarshal.SetCount(list38, num3); - Span span15 = CollectionsMarshal.AsSpan(list38); - span15[0] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-134107942); - span15[1] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1699752210); - span15[2] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1079934219); - reference37 = new ChangeEntry(EChangeCategory.Added, description22, list38); - ref ChangeEntry reference38 = ref span14[1]; - string description23 = 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(-1205328867); + List list35 = new List(num3); + CollectionsMarshal.SetCount(list35, num3); + CollectionsMarshal.AsSpan(list35)[0] = "Quest path fixes"; + reference34 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list35); + reference33 = new ChangelogEntry("7.4.17", releaseDate13, list34); + ref ChangelogEntry reference35 = ref span[13]; + DateOnly releaseDate14 = new DateOnly(2026, 3, 1); + num2 = 1; + List list36 = new List(num2); + CollectionsMarshal.SetCount(list36, num2); + ref ChangeEntry reference36 = ref CollectionsMarshal.AsSpan(list36)[0]; num3 = 1; + List list37 = new List(num3); + CollectionsMarshal.SetCount(list37, num3); + CollectionsMarshal.AsSpan(list37)[0] = "Enable TextAdvance, PandorasBox, and Automaton IPC integration during FATE farming"; + reference36 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list37); + reference35 = new ChangelogEntry("7.4.16", releaseDate14, list36); + ref ChangelogEntry reference37 = ref span[14]; + DateOnly releaseDate15 = new DateOnly(2026, 2, 28); + num2 = 1; + List list38 = new List(num2); + CollectionsMarshal.SetCount(list38, num2); + ref ChangeEntry reference38 = ref CollectionsMarshal.AsSpan(list38)[0]; + num3 = 2; List list39 = new List(num3); CollectionsMarshal.SetCount(list39, num3); - CollectionsMarshal.AsSpan(list39)[0] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1816103115); - reference38 = new ChangeEntry(EChangeCategory.QuestUpdates, description23, list39); - ref ChangeEntry reference39 = ref span14[2]; - string description24 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1579620133); - num3 = 1; - List list40 = new List(num3); - CollectionsMarshal.SetCount(list40, num3); - CollectionsMarshal.AsSpan(list40)[0] = 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(-1027297538); - reference39 = new ChangeEntry(EChangeCategory.Fixed, description24, list40); - reference36 = new ChangelogEntry(version15, releaseDate15, list37); - ref ChangelogEntry reference40 = ref span[15]; - string version16 = 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(40550758); - DateOnly releaseDate16 = new DateOnly(2026, 2, 2); + Span span14 = CollectionsMarshal.AsSpan(list39); + span14[0] = "Fix FATE transform interact task never completing after NPC dialogue"; + span14[1] = "Fix FATE farming loop not detecting completion when NPCs persist after FATE ends"; + reference38 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list39); + reference37 = new ChangelogEntry("7.4.15", releaseDate15, list38); + ref ChangelogEntry reference39 = ref span[15]; + DateOnly releaseDate16 = new DateOnly(2026, 2, 27); num2 = 2; - List list41 = new List(num2); - CollectionsMarshal.SetCount(list41, num2); - Span span16 = CollectionsMarshal.AsSpan(list41); - ref ChangeEntry reference41 = ref span16[0]; - string description25 = 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(938485712); + List list40 = new List(num2); + CollectionsMarshal.SetCount(list40, num2); + Span span15 = CollectionsMarshal.AsSpan(list40); + ref ChangeEntry reference40 = ref span15[0]; + num3 = 2; + List list41 = new List(num3); + CollectionsMarshal.SetCount(list41, num3); + Span span16 = CollectionsMarshal.AsSpan(list41); + span16[0] = "Added prerequisite quest requirement to FATE farming definitions"; + span16[1] = "Show active FATE in main quest UI and disable quest start during FATE farming"; + reference40 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list41); + ref ChangeEntry reference41 = ref span15[1]; num3 = 1; List list42 = new List(num3); CollectionsMarshal.SetCount(list42, num3); - CollectionsMarshal.AsSpan(list42)[0] = 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(-209432734); - reference41 = new ChangeEntry(EChangeCategory.QuestUpdates, description25, list42); - ref ChangeEntry reference42 = ref span16[1]; - string description26 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(774081000); - num3 = 2; - List list43 = new List(num3); - CollectionsMarshal.SetCount(list43, num3); - Span span17 = CollectionsMarshal.AsSpan(list43); - span17[0] = 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(-1983159648); - span17[1] = 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(216829209); - reference42 = new ChangeEntry(EChangeCategory.Changed, description26, list43); - reference40 = new ChangelogEntry(version16, releaseDate16, list41); - ref ChangelogEntry reference43 = ref span[16]; - string version17 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1566696188); - DateOnly releaseDate17 = new DateOnly(2026, 1, 18); - num2 = 2; - List list44 = new List(num2); - CollectionsMarshal.SetCount(list44, num2); - Span span18 = CollectionsMarshal.AsSpan(list44); - ref ChangeEntry reference44 = ref span18[0]; - string description27 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(381625035); - num3 = 5; - List list45 = new List(num3); - CollectionsMarshal.SetCount(list45, num3); - Span span19 = CollectionsMarshal.AsSpan(list45); - span19[0] = 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(-373303947); - span19[1] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-806168638); - span19[2] = 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(642763170); - span19[3] = 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(1757513795); - span19[4] = 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(1364091691); - reference44 = new ChangeEntry(EChangeCategory.Added, description27, list45); - ref ChangeEntry reference45 = ref span18[1]; - string description28 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1654501195); - num3 = 5; + CollectionsMarshal.AsSpan(list42)[0] = "Fixed FATE farming buff expiry and added Curtain Call cleanup on stop"; + reference41 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list42); + reference39 = new ChangelogEntry("7.4.14", releaseDate16, list40); + ref ChangelogEntry reference42 = ref span[16]; + DateOnly releaseDate17 = new DateOnly(2026, 2, 27); + num2 = 1; + List list43 = new List(num2); + CollectionsMarshal.SetCount(list43, num2); + ref ChangeEntry reference43 = ref CollectionsMarshal.AsSpan(list43)[0]; + num3 = 1; + List list44 = new List(num3); + CollectionsMarshal.SetCount(list44, num3); + CollectionsMarshal.AsSpan(list44)[0] = "Fixed an issue where FATE actions were not performed during the Little Ladies Day (2026) FATE event"; + reference43 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list44); + reference42 = new ChangelogEntry("7.4.13", releaseDate17, list43); + ref ChangelogEntry reference44 = ref span[17]; + DateOnly releaseDate18 = new DateOnly(2026, 2, 26); + num2 = 3; + List list45 = new List(num2); + CollectionsMarshal.SetCount(list45, num2); + Span span17 = CollectionsMarshal.AsSpan(list45); + ref ChangeEntry reference45 = ref span17[0]; + num3 = 3; List list46 = new List(num3); CollectionsMarshal.SetCount(list46, num3); - Span span20 = CollectionsMarshal.AsSpan(list46); - span20[0] = 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(441686956); - span20[1] = 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(1888709160); - span20[2] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1158425412); - span20[3] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1937684379); - span20[4] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(849091842); - reference45 = new ChangeEntry(EChangeCategory.Changed, description28, list46); - reference43 = new ChangelogEntry(version17, releaseDate17, list44); - ref ChangelogEntry reference46 = ref span[17]; - string version18 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1136892219); - DateOnly releaseDate18 = new DateOnly(2025, 12, 31); - num2 = 3; - List list47 = new List(num2); - CollectionsMarshal.SetCount(list47, num2); - Span span21 = CollectionsMarshal.AsSpan(list47); - ref ChangeEntry reference47 = ref span21[0]; - string description29 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(104530671); + Span span18 = CollectionsMarshal.AsSpan(list46); + span18[0] = "Add Saved Presets tab to quest priority window"; + span18[1] = "Add passive FATE handling and per npc ability handling"; + span18[2] = "Add FATE farming support"; + reference45 = new ChangeEntry(EChangeCategory.Added, "New Features", list46); + ref ChangeEntry reference46 = ref span17[1]; + num3 = 1; + List list47 = new List(num3); + CollectionsMarshal.SetCount(list47, num3); + CollectionsMarshal.AsSpan(list47)[0] = "Add Little Ladies' Day 2026 quests"; + reference46 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list47); + ref ChangeEntry reference47 = ref span17[2]; num3 = 1; List list48 = new List(num3); CollectionsMarshal.SetCount(list48, num3); - CollectionsMarshal.AsSpan(list48)[0] = 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(-1863893760); - reference47 = new ChangeEntry(EChangeCategory.QuestUpdates, description29, list48); - ref ChangeEntry reference48 = ref span21[1]; - string description30 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(774081000); - num3 = 1; - List list49 = new List(num3); - CollectionsMarshal.SetCount(list49, num3); - CollectionsMarshal.AsSpan(list49)[0] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1610476665); - reference48 = new ChangeEntry(EChangeCategory.Changed, description30, list49); - ref ChangeEntry reference49 = ref span21[2]; - string description31 = 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(1988704596); + CollectionsMarshal.AsSpan(list48)[0] = "Quest path fixes"; + reference47 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list48); + reference44 = new ChangelogEntry("7.4.12", releaseDate18, list45); + ref ChangelogEntry reference48 = ref span[18]; + DateOnly releaseDate19 = new DateOnly(2026, 2, 2); + num2 = 2; + List list49 = new List(num2); + CollectionsMarshal.SetCount(list49, num2); + Span span19 = CollectionsMarshal.AsSpan(list49); + ref ChangeEntry reference49 = ref span19[0]; num3 = 1; List list50 = new List(num3); CollectionsMarshal.SetCount(list50, num3); - CollectionsMarshal.AsSpan(list50)[0] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(670292315); - reference49 = new ChangeEntry(EChangeCategory.Fixed, description31, list50); - reference46 = new ChangelogEntry(version18, releaseDate18, list47); - ref ChangelogEntry reference50 = ref span[18]; - string version19 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(767500568); - DateOnly releaseDate19 = new DateOnly(2025, 12, 29); - num2 = 1; - List list51 = new List(num2); - CollectionsMarshal.SetCount(list51, num2); - ref ChangeEntry reference51 = ref CollectionsMarshal.AsSpan(list51)[0]; - string description32 = 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(1988704596); + CollectionsMarshal.AsSpan(list50)[0] = "Add Valentione's Day 2026 quest (The Icing on the Cake)"; + reference49 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list50); + ref ChangeEntry reference50 = ref span19[1]; num3 = 2; - List list52 = new List(num3); - CollectionsMarshal.SetCount(list52, num3); - Span span22 = CollectionsMarshal.AsSpan(list52); - span22[0] = 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(1855705330); - span22[1] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1665406747); - reference51 = new ChangeEntry(EChangeCategory.Fixed, description32, list52); - reference50 = new ChangelogEntry(version19, releaseDate19, list51); - ref ChangelogEntry reference52 = ref span[19]; - string version20 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(36788666); - DateOnly releaseDate20 = new DateOnly(2025, 12, 28); - num2 = 4; - List list53 = new List(num2); - CollectionsMarshal.SetCount(list53, num2); - Span span23 = CollectionsMarshal.AsSpan(list53); - ref ChangeEntry reference53 = ref span23[0]; - string description33 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(954784062); - num3 = 1; + List list51 = new List(num3); + CollectionsMarshal.SetCount(list51, num3); + Span span20 = CollectionsMarshal.AsSpan(list51); + span20[0] = "Updated Duty journal to include missing duty types"; + span20[1] = "Added various missing sequences to quests"; + reference50 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list51); + reference48 = new ChangelogEntry("7.4.11", releaseDate19, list49); + ref ChangelogEntry reference51 = ref span[19]; + DateOnly releaseDate20 = new DateOnly(2026, 1, 18); + num2 = 2; + List list52 = new List(num2); + CollectionsMarshal.SetCount(list52, num2); + Span span21 = CollectionsMarshal.AsSpan(list52); + ref ChangeEntry reference52 = ref span21[0]; + num3 = 5; + List list53 = new List(num3); + CollectionsMarshal.SetCount(list53, num3); + Span span22 = CollectionsMarshal.AsSpan(list53); + span22[0] = "Added quest blacklisting"; + span22[1] = "Added MSQ Priority config"; + span22[2] = "Added Quest priority persistence config"; + span22[3] = "Added Duties tab to Journal"; + span22[4] = "Added GC shop handling and chocobo naming for chocobo quests"; + reference52 = new ChangeEntry(EChangeCategory.Added, "Major Features", list53); + ref ChangeEntry reference53 = ref span21[1]; + num3 = 5; List list54 = new List(num3); CollectionsMarshal.SetCount(list54, num3); - CollectionsMarshal.AsSpan(list54)[0] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1845887674); - reference53 = new ChangeEntry(EChangeCategory.Added, description33, list54); - ref ChangeEntry reference54 = ref span23[1]; - string description34 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1654501195); - num3 = 3; - List list55 = new List(num3); - CollectionsMarshal.SetCount(list55, num3); - Span span24 = CollectionsMarshal.AsSpan(list55); - span24[0] = 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(-504827294); - span24[1] = 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(1298412013); - span24[2] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(399097166); - reference54 = new ChangeEntry(EChangeCategory.Changed, description34, list55); - ref ChangeEntry reference55 = ref span23[2]; - string description35 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2048683542); + Span span23 = CollectionsMarshal.AsSpan(list54); + span23[0] = "Removed PandorasBox dependency and added QTE handling"; + span23[1] = "Removed CBT dependency and added Snipe handling"; + span23[2] = "Added drag reordering to Stop condition quests"; + span23[3] = "Ignore item level requirements if using Unsync config"; + span23[4] = "Setting a Stop quest to Off no longer removes it from the list"; + reference53 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list54); + reference51 = new ChangelogEntry("7.4.10", releaseDate20, list52); + ref ChangelogEntry reference54 = ref span[20]; + DateOnly releaseDate21 = new DateOnly(2025, 12, 31); + num2 = 3; + List list55 = new List(num2); + CollectionsMarshal.SetCount(list55, num2); + Span span24 = CollectionsMarshal.AsSpan(list55); + ref ChangeEntry reference55 = ref span24[0]; num3 = 1; List list56 = new List(num3); CollectionsMarshal.SetCount(list56, num3); - CollectionsMarshal.AsSpan(list56)[0] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1581069025); - reference55 = new ChangeEntry(EChangeCategory.Added, description35, list56); - ref ChangeEntry reference56 = ref span23[3]; - string description36 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1835095083); + CollectionsMarshal.AsSpan(list56)[0] = "Add Heavensturn (2026) quests"; + reference55 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list56); + ref ChangeEntry reference56 = ref span24[1]; num3 = 1; List list57 = new List(num3); CollectionsMarshal.SetCount(list57, num3); - CollectionsMarshal.AsSpan(list57)[0] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1397502577); - reference56 = new ChangeEntry(EChangeCategory.Fixed, description36, list57); - reference52 = new ChangelogEntry(version20, releaseDate20, list53); - ref ChangelogEntry reference57 = ref span[20]; - string version21 = 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(-832897702); - DateOnly releaseDate21 = new DateOnly(2025, 12, 23); - num2 = 2; - List list58 = new List(num2); - CollectionsMarshal.SetCount(list58, num2); - Span span25 = CollectionsMarshal.AsSpan(list58); - ref ChangeEntry reference58 = ref span25[0]; - string description37 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2066276421); + CollectionsMarshal.AsSpan(list57)[0] = "Added missing quest sequences"; + reference56 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list57); + ref ChangeEntry reference57 = ref span24[2]; num3 = 1; - List list59 = new List(num3); - CollectionsMarshal.SetCount(list59, num3); - CollectionsMarshal.AsSpan(list59)[0] = 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(-947900172); - reference58 = new ChangeEntry(EChangeCategory.Added, description37, list59); - ref ChangeEntry reference59 = ref span25[1]; - string description38 = 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(85797835); + List list58 = new List(num3); + CollectionsMarshal.SetCount(list58, num3); + CollectionsMarshal.AsSpan(list58)[0] = "Fixed leveling mode not restarting properly"; + reference57 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list58); + reference54 = new ChangelogEntry("7.4.9", releaseDate21, list55); + ref ChangelogEntry reference58 = ref span[21]; + DateOnly releaseDate22 = new DateOnly(2025, 12, 29); + num2 = 1; + List list59 = new List(num2); + CollectionsMarshal.SetCount(list59, num2); + ref ChangeEntry reference59 = ref CollectionsMarshal.AsSpan(list59)[0]; num3 = 2; List list60 = new List(num3); CollectionsMarshal.SetCount(list60, num3); - Span span26 = CollectionsMarshal.AsSpan(list60); - span26[0] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1200354981); - span26[1] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1129217432); - reference59 = new ChangeEntry(EChangeCategory.Changed, description38, list60); - reference57 = new ChangelogEntry(version21, releaseDate21, list58); - ref ChangelogEntry reference60 = ref span[21]; - string version22 = 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(-996768915); - DateOnly releaseDate22 = new DateOnly(2025, 12, 22); - num2 = 1; + Span span25 = CollectionsMarshal.AsSpan(list60); + span25[0] = "Fixed infinite teleport loop when multiple quests compete for priority"; + span25[1] = "Fixed leveling mode enabling for quest duties"; + reference59 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list60); + reference58 = new ChangelogEntry("7.4.8", releaseDate22, list59); + ref ChangelogEntry reference60 = ref span[22]; + DateOnly releaseDate23 = new DateOnly(2025, 12, 28); + num2 = 4; List list61 = new List(num2); CollectionsMarshal.SetCount(list61, num2); - ref ChangeEntry reference61 = ref CollectionsMarshal.AsSpan(list61)[0]; - string description39 = 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(85797835); - num3 = 2; + Span span26 = CollectionsMarshal.AsSpan(list61); + ref ChangeEntry reference61 = ref span26[0]; + num3 = 1; List list62 = new List(num3); CollectionsMarshal.SetCount(list62, num3); - Span span27 = CollectionsMarshal.AsSpan(list62); - span27[0] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(751504229); - span27[1] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1213300876); - reference61 = new ChangeEntry(EChangeCategory.Changed, description39, list62); - reference60 = new ChangelogEntry(version22, releaseDate22, list61); - ref ChangelogEntry reference62 = ref span[22]; - string version23 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(18431859); - DateOnly releaseDate23 = new DateOnly(2025, 12, 21); - num2 = 2; - List list63 = new List(num2); - CollectionsMarshal.SetCount(list63, num2); - Span span28 = CollectionsMarshal.AsSpan(list63); - ref ChangeEntry reference63 = ref span28[0]; - string description40 = 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(-1932541412); + CollectionsMarshal.AsSpan(list62)[0] = "Added leveling mode when underleveled for MSQ"; + reference61 = new ChangeEntry(EChangeCategory.Added, "Major Features", list62); + ref ChangeEntry reference62 = ref span26[1]; + num3 = 3; + List list63 = new List(num3); + CollectionsMarshal.SetCount(list63, num3); + Span span27 = CollectionsMarshal.AsSpan(list63); + span27[0] = "Added missing dungeons to Duties"; + span27[1] = "Added Normal Raids and Alliance Raids to duties tab"; + span27[2] = "Added Pause/Stop modes to stop conditions"; + reference62 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list63); + ref ChangeEntry reference63 = ref span26[2]; num3 = 1; List list64 = new List(num3); CollectionsMarshal.SetCount(list64, num3); - CollectionsMarshal.AsSpan(list64)[0] = 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(1835611599); - reference63 = new ChangeEntry(EChangeCategory.Changed, description40, list64); - ref ChangeEntry reference64 = ref span28[1]; - string description41 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1507569216); + CollectionsMarshal.AsSpan(list64)[0] = "Added leveling mode IPC: IsLevelingModeEnabled, SetLevelingModeEnabled, GetMsqLevelLockInfo, StartLevelingMode, StopLevelingMode"; + reference63 = new ChangeEntry(EChangeCategory.Added, "IPC Changes", list64); + ref ChangeEntry reference64 = ref span26[3]; num3 = 1; List list65 = new List(num3); CollectionsMarshal.SetCount(list65, num3); - CollectionsMarshal.AsSpan(list65)[0] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1090499742); - reference64 = new ChangeEntry(EChangeCategory.Fixed, description41, list65); - reference62 = new ChangelogEntry(version23, releaseDate23, list63); + CollectionsMarshal.AsSpan(list65)[0] = "Fixed UI appearing in duties when debuff or interrupts occur"; + reference64 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list65); + reference60 = new ChangelogEntry("7.4.7", releaseDate23, list61); ref ChangelogEntry reference65 = ref span[23]; - string version24 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-695286279); - DateOnly releaseDate24 = new DateOnly(2025, 12, 21); - num2 = 1; + DateOnly releaseDate24 = new DateOnly(2025, 12, 23); + num2 = 2; List list66 = new List(num2); CollectionsMarshal.SetCount(list66, num2); - ref ChangeEntry reference66 = ref CollectionsMarshal.AsSpan(list66)[0]; - string description42 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1507569216); + Span span28 = CollectionsMarshal.AsSpan(list66); + ref ChangeEntry reference66 = ref span28[0]; num3 = 1; List list67 = new List(num3); CollectionsMarshal.SetCount(list67, num3); - CollectionsMarshal.AsSpan(list67)[0] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1939293958); - reference66 = new ChangeEntry(EChangeCategory.Fixed, description42, list67); - reference65 = new ChangelogEntry(version24, releaseDate24, list66); - ref ChangelogEntry reference67 = ref span[24]; - string version25 = 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(1477813935); - DateOnly releaseDate25 = new DateOnly(2025, 12, 20); - num2 = 2; - List list68 = new List(num2); - CollectionsMarshal.SetCount(list68, num2); - Span span29 = CollectionsMarshal.AsSpan(list68); - ref ChangeEntry reference68 = ref span29[0]; - string description43 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1236459337); - num3 = 1; - List list69 = new List(num3); - CollectionsMarshal.SetCount(list69, num3); - CollectionsMarshal.AsSpan(list69)[0] = 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(248228720); - reference68 = new ChangeEntry(EChangeCategory.QuestUpdates, description43, list69); - ref ChangeEntry reference69 = ref span29[1]; - string description44 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1579620133); - num3 = 1; + CollectionsMarshal.AsSpan(list67)[0] = "Added Cinema Mode to not skip cutscenes"; + reference66 = new ChangeEntry(EChangeCategory.Added, "Major Features", list67); + ref ChangeEntry reference67 = ref span28[1]; + num3 = 2; + List list68 = new List(num3); + CollectionsMarshal.SetCount(list68, num3); + Span span29 = CollectionsMarshal.AsSpan(list68); + span29[0] = "Added handling for Unsync (Party) to Party Watchdog and configuration to disable if in party"; + span29[1] = "Stop conditions now act as a true stop"; + reference67 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list68); + reference65 = new ChangelogEntry("7.4.6", releaseDate24, list66); + ref ChangelogEntry reference68 = ref span[24]; + DateOnly releaseDate25 = new DateOnly(2025, 12, 22); + num2 = 1; + List list69 = new List(num2); + CollectionsMarshal.SetCount(list69, num2); + ref ChangeEntry reference69 = ref CollectionsMarshal.AsSpan(list69)[0]; + num3 = 2; List list70 = new List(num3); CollectionsMarshal.SetCount(list70, num3); - CollectionsMarshal.AsSpan(list70)[0] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1755079218); - reference69 = new ChangeEntry(EChangeCategory.Fixed, description44, list70); - reference67 = new ChangelogEntry(version25, releaseDate25, list68); + Span span30 = CollectionsMarshal.AsSpan(list70); + span30[0] = "Dive adjustments"; + span30[1] = "Logging message adjustments"; + reference69 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list70); + reference68 = new ChangelogEntry("7.4.5", releaseDate25, list69); ref ChangelogEntry reference70 = ref span[25]; - string version26 = 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(1560310770); - DateOnly releaseDate26 = new DateOnly(2025, 12, 19); - num2 = 1; + DateOnly releaseDate26 = new DateOnly(2025, 12, 21); + num2 = 2; List list71 = new List(num2); CollectionsMarshal.SetCount(list71, num2); - ref ChangeEntry reference71 = ref CollectionsMarshal.AsSpan(list71)[0]; - string description45 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(104530671); - num3 = 2; + Span span31 = CollectionsMarshal.AsSpan(list71); + ref ChangeEntry reference71 = ref span31[0]; + num3 = 1; List list72 = new List(num3); CollectionsMarshal.SetCount(list72, num3); - Span span30 = CollectionsMarshal.AsSpan(list72); - span30[0] = 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(-810604868); - span30[1] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(908882830); - reference71 = new ChangeEntry(EChangeCategory.QuestUpdates, description45, list72); - reference70 = new ChangelogEntry(version26, releaseDate26, list71); - ref ChangelogEntry reference72 = ref span[26]; - string version27 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(727206169); - DateOnly releaseDate27 = new DateOnly(2025, 12, 17); + CollectionsMarshal.AsSpan(list72)[0] = "Changelog only shows once per update now"; + reference71 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list72); + ref ChangeEntry reference72 = ref span31[1]; + num3 = 1; + List list73 = new List(num3); + CollectionsMarshal.SetCount(list73, num3); + CollectionsMarshal.AsSpan(list73)[0] = "Fixed gathering paths loading"; + reference72 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list73); + reference70 = new ChangelogEntry("7.4.4", releaseDate26, list71); + ref ChangelogEntry reference73 = ref span[26]; + DateOnly releaseDate27 = new DateOnly(2025, 12, 21); num2 = 1; - List list73 = new List(num2); - CollectionsMarshal.SetCount(list73, num2); - CollectionsMarshal.AsSpan(list73)[0] = new ChangeEntry(EChangeCategory.Changed, 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(-1604730059)); - reference72 = new ChangelogEntry(version27, releaseDate27, list73); - ref ChangelogEntry reference73 = ref span[27]; - string version28 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2099862460); - DateOnly releaseDate28 = new DateOnly(2025, 12, 6); - num2 = 2; List list74 = new List(num2); CollectionsMarshal.SetCount(list74, num2); - Span span31 = CollectionsMarshal.AsSpan(list74); - ref ChangeEntry reference74 = ref span31[0]; - string description46 = 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(85797835); - num3 = 4; + ref ChangeEntry reference74 = ref CollectionsMarshal.AsSpan(list74)[0]; + num3 = 1; List list75 = new List(num3); CollectionsMarshal.SetCount(list75, num3); - Span span32 = CollectionsMarshal.AsSpan(list75); - span32[0] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1182594524); - span32[1] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-756473470); - span32[2] = 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(314528771); - span32[3] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(724681129); - reference74 = new ChangeEntry(EChangeCategory.Changed, description46, list75); - ref ChangeEntry reference75 = ref span31[1]; - string description47 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1835095083); - num3 = 1; - List list76 = new List(num3); - CollectionsMarshal.SetCount(list76, num3); - CollectionsMarshal.AsSpan(list76)[0] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-137511598); - reference75 = new ChangeEntry(EChangeCategory.Fixed, description47, list76); - reference73 = new ChangelogEntry(version28, releaseDate28, list74); - ref ChangelogEntry reference76 = ref span[28]; - string version29 = 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(-46381476); - DateOnly releaseDate29 = new DateOnly(2025, 11, 29); + CollectionsMarshal.AsSpan(list75)[0] = "Fixed changelog version checks"; + reference74 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list75); + reference73 = new ChangelogEntry("7.4.3", releaseDate27, list74); + ref ChangelogEntry reference75 = ref span[27]; + DateOnly releaseDate28 = new DateOnly(2025, 12, 20); num2 = 2; - List list77 = new List(num2); - CollectionsMarshal.SetCount(list77, num2); - Span span33 = CollectionsMarshal.AsSpan(list77); - ref ChangeEntry reference77 = ref span33[0]; - string description48 = 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(85797835); - num3 = 3; + List list76 = new List(num2); + CollectionsMarshal.SetCount(list76, num2); + Span span32 = CollectionsMarshal.AsSpan(list76); + ref ChangeEntry reference76 = ref span32[0]; + num3 = 1; + List list77 = new List(num3); + CollectionsMarshal.SetCount(list77, num3); + CollectionsMarshal.AsSpan(list77)[0] = "Add 7.4 Starlight Celebration (2025) quest"; + reference76 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list77); + ref ChangeEntry reference77 = ref span32[1]; + num3 = 1; List list78 = new List(num3); CollectionsMarshal.SetCount(list78, num3); - Span span34 = CollectionsMarshal.AsSpan(list78); - span34[0] = 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(-409468670); - span34[1] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1767459051); - span34[2] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1881526523); - reference77 = new ChangeEntry(EChangeCategory.Changed, description48, list78); - ref ChangeEntry reference78 = ref span33[1]; - string description49 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1584699393); - num3 = 3; - List list79 = new List(num3); - CollectionsMarshal.SetCount(list79, num3); - Span span35 = CollectionsMarshal.AsSpan(list79); - span35[0] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1592881755); - span35[1] = 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(-210252689); - span35[2] = 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(973706259); - reference78 = new ChangeEntry(EChangeCategory.Fixed, description49, list79); - reference76 = new ChangelogEntry(version29, releaseDate29, list77); - ref ChangelogEntry reference79 = ref span[29]; - string version30 = 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(179581068); - DateOnly releaseDate30 = new DateOnly(2025, 11, 25); + CollectionsMarshal.AsSpan(list78)[0] = "Fixed 7.4 MSQ"; + reference77 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list78); + reference75 = new ChangelogEntry("7.4.2", releaseDate28, list76); + ref ChangelogEntry reference78 = ref span[28]; + DateOnly releaseDate29 = new DateOnly(2025, 12, 19); + num2 = 1; + List list79 = new List(num2); + CollectionsMarshal.SetCount(list79, num2); + ref ChangeEntry reference79 = ref CollectionsMarshal.AsSpan(list79)[0]; + num3 = 2; + List list80 = new List(num3); + CollectionsMarshal.SetCount(list80, num3); + Span span33 = CollectionsMarshal.AsSpan(list80); + span33[0] = "Add 7.4 MSQ"; + span33[1] = "Add 7.4 Arcadion Raid quests"; + reference79 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list80); + reference78 = new ChangelogEntry("7.4.1", releaseDate29, list79); + ref ChangelogEntry reference80 = ref span[29]; + DateOnly releaseDate30 = new DateOnly(2025, 12, 17); + num2 = 1; + List list81 = new List(num2); + CollectionsMarshal.SetCount(list81, num2); + CollectionsMarshal.AsSpan(list81)[0] = new ChangeEntry(EChangeCategory.Changed, "Api 14 update"); + reference80 = new ChangelogEntry("7.4.0", releaseDate30, list81); + ref ChangelogEntry reference81 = ref span[30]; + DateOnly releaseDate31 = new DateOnly(2025, 12, 6); num2 = 2; - List list80 = new List(num2); - CollectionsMarshal.SetCount(list80, num2); - Span span36 = CollectionsMarshal.AsSpan(list80); - ref ChangeEntry reference80 = ref span36[0]; - string description50 = 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(879749489); - num3 = 2; - List list81 = new List(num3); - CollectionsMarshal.SetCount(list81, num3); - Span span37 = CollectionsMarshal.AsSpan(list81); - span37[0] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-204832208); - span37[1] = 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(-179084099); - reference80 = new ChangeEntry(EChangeCategory.Added, description50, list81); - ref ChangeEntry reference81 = ref span36[1]; - string description51 = 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(1221252743); + List list82 = new List(num2); + CollectionsMarshal.SetCount(list82, num2); + Span span34 = CollectionsMarshal.AsSpan(list82); + ref ChangeEntry reference82 = ref span34[0]; + num3 = 4; + List list83 = new List(num3); + CollectionsMarshal.SetCount(list83, num3); + Span span35 = CollectionsMarshal.AsSpan(list83); + span35[0] = "Added reloading and rebuilding to movement system"; + span35[1] = "Improved interrupts and refresh states to allow continuation of questing"; + span35[2] = "Added player input detection to stop automation when manually moving character"; + span35[3] = "Added various missing quest sequences"; + reference82 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list83); + ref ChangeEntry reference83 = ref span34[1]; num3 = 1; - List list82 = new List(num3); - CollectionsMarshal.SetCount(list82, num3); - CollectionsMarshal.AsSpan(list82)[0] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(414985783); - reference81 = new ChangeEntry(EChangeCategory.Added, description51, list82); - reference79 = new ChangelogEntry(version30, releaseDate30, list80); - ref ChangelogEntry reference82 = ref span[30]; - string version31 = 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(-833389675); - DateOnly releaseDate31 = new DateOnly(2025, 11, 25); - num2 = 3; - List list83 = new List(num2); - CollectionsMarshal.SetCount(list83, num2); - Span span38 = CollectionsMarshal.AsSpan(list83); - ref ChangeEntry reference83 = ref span38[0]; - string description52 = 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(-1932541412); - num3 = 2; List list84 = new List(num3); CollectionsMarshal.SetCount(list84, num3); - Span span39 = CollectionsMarshal.AsSpan(list84); - span39[0] = 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(1638683351); - span39[1] = 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(379716476); - reference83 = new ChangeEntry(EChangeCategory.Changed, description52, list84); - ref ChangeEntry reference84 = ref span38[1]; - string description53 = 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(1221252743); - num3 = 1; - List list85 = new List(num3); - CollectionsMarshal.SetCount(list85, num3); - CollectionsMarshal.AsSpan(list85)[0] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2012802446); - reference84 = new ChangeEntry(EChangeCategory.Added, description53, list85); - ref ChangeEntry reference85 = ref span38[2]; - string description54 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1138488759); - num3 = 1; + CollectionsMarshal.AsSpan(list84)[0] = "Fixed reset task state to prevent stuck interactions after interruption"; + reference83 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list84); + reference81 = new ChangelogEntry("7.38.9", releaseDate31, list82); + ref ChangelogEntry reference84 = ref span[31]; + DateOnly releaseDate32 = new DateOnly(2025, 11, 29); + num2 = 2; + List list85 = new List(num2); + CollectionsMarshal.SetCount(list85, num2); + Span span36 = CollectionsMarshal.AsSpan(list85); + ref ChangeEntry reference85 = ref span36[0]; + num3 = 3; List list86 = new List(num3); CollectionsMarshal.SetCount(list86, num3); - CollectionsMarshal.AsSpan(list86)[0] = 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(-743692222); - reference85 = new ChangeEntry(EChangeCategory.Fixed, description54, list86); - reference82 = new ChangelogEntry(version31, releaseDate31, list83); - ref ChangelogEntry reference86 = ref span[31]; - string version32 = 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(-572940595); - DateOnly releaseDate32 = new DateOnly(2025, 11, 24); + Span span37 = CollectionsMarshal.AsSpan(list86); + span37[0] = "Movement update with automatic retrying if character can't reach target position"; + span37[1] = "Added Hunt mob data"; + span37[2] = "Refactored commands"; + reference85 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list86); + ref ChangeEntry reference86 = ref span36[1]; + num3 = 3; + List list87 = new List(num3); + CollectionsMarshal.SetCount(list87, num3); + Span span38 = CollectionsMarshal.AsSpan(list87); + span38[0] = "Fixed quest (Way of the Archer)"; + span38[1] = "Fixed quest (Spirithold Broken)"; + span38[2] = "Fixed quest (It's Probably Not Pirates)"; + reference86 = new ChangeEntry(EChangeCategory.Fixed, "Bug fixes", list87); + reference84 = new ChangelogEntry("7.38.8", releaseDate32, list85); + ref ChangelogEntry reference87 = ref span[32]; + DateOnly releaseDate33 = new DateOnly(2025, 11, 25); num2 = 2; - List list87 = new List(num2); - CollectionsMarshal.SetCount(list87, num2); - Span span40 = CollectionsMarshal.AsSpan(list87); - ref ChangeEntry reference87 = ref span40[0]; - string description55 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-517757456); - num3 = 1; - List list88 = new List(num3); - CollectionsMarshal.SetCount(list88, num3); - CollectionsMarshal.AsSpan(list88)[0] = 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(2056981462); - reference87 = new ChangeEntry(EChangeCategory.Added, description55, list88); - ref ChangeEntry reference88 = ref span40[1]; - string description56 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1797741366); - num3 = 1; + List list88 = new List(num2); + CollectionsMarshal.SetCount(list88, num2); + Span span39 = CollectionsMarshal.AsSpan(list88); + ref ChangeEntry reference88 = ref span39[0]; + num3 = 2; List list89 = new List(num3); CollectionsMarshal.SetCount(list89, num3); - CollectionsMarshal.AsSpan(list89)[0] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1250463132); - reference88 = new ChangeEntry(EChangeCategory.Added, description56, list89); - reference86 = new ChangelogEntry(version32, releaseDate32, list87); - ref ChangelogEntry reference89 = ref span[32]; - string version33 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(729407823); - DateOnly releaseDate33 = new DateOnly(2025, 11, 23); - num2 = 2; - List list90 = new List(num2); - CollectionsMarshal.SetCount(list90, num2); - Span span41 = CollectionsMarshal.AsSpan(list90); - ref ChangeEntry reference90 = ref span41[0]; - string description57 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1862872262); + Span span40 = CollectionsMarshal.AsSpan(list89); + span40[0] = "Added individual sequence stop condition for each quest"; + span40[1] = "Added Trials to Duties tab in config"; + reference88 = new ChangeEntry(EChangeCategory.Added, "Major features", list89); + ref ChangeEntry reference89 = ref span39[1]; num3 = 1; - List list91 = new List(num3); - CollectionsMarshal.SetCount(list91, num3); - CollectionsMarshal.AsSpan(list91)[0] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-402086315); - reference90 = new ChangeEntry(EChangeCategory.Changed, description57, list91); - ref ChangeEntry reference91 = ref span41[1]; - string description58 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1584699393); - num3 = 8; + List list90 = new List(num3); + CollectionsMarshal.SetCount(list90, num3); + CollectionsMarshal.AsSpan(list90)[0] = "Added IPC for stop conditions: GetQuestSequenceStopCondition, SetQuestSequenceStopCondition, RemoveQuestSequenceStopCondition, GetAllQuestSequenceStopConditions"; + reference89 = new ChangeEntry(EChangeCategory.Added, "IPC changes", list90); + reference87 = new ChangelogEntry("7.38.7", releaseDate33, list88); + ref ChangelogEntry reference90 = ref span[33]; + DateOnly releaseDate34 = new DateOnly(2025, 11, 25); + num2 = 3; + List list91 = new List(num2); + CollectionsMarshal.SetCount(list91, num2); + Span span41 = CollectionsMarshal.AsSpan(list91); + ref ChangeEntry reference91 = ref span41[0]; + num3 = 2; List list92 = new List(num3); CollectionsMarshal.SetCount(list92, num3); Span span42 = CollectionsMarshal.AsSpan(list92); - span42[0] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1506905200); - span42[1] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1696740166); - span42[2] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(679276901); - span42[3] = 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(-1358007144); - span42[4] = 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(-1152975625); - span42[5] = 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(-1423850813); - span42[6] = 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(324156074); - span42[7] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2074155997); - reference91 = new ChangeEntry(EChangeCategory.Fixed, description58, list92); - reference89 = new ChangelogEntry(version33, releaseDate33, list90); - ref ChangelogEntry reference92 = ref span[33]; - string version34 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(756028822); - DateOnly releaseDate34 = new DateOnly(2025, 11, 23); - num2 = 3; - List list93 = new List(num2); - CollectionsMarshal.SetCount(list93, num2); - Span span43 = CollectionsMarshal.AsSpan(list93); - ref ChangeEntry reference93 = ref span43[0]; - string description59 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(774081000); - num3 = 2; + span42[0] = "Updated Allied Society journal text"; + span42[1] = "Improved Allied Society rank handling"; + reference91 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list92); + ref ChangeEntry reference92 = ref span41[1]; + num3 = 1; + List list93 = new List(num3); + CollectionsMarshal.SetCount(list93, num3); + CollectionsMarshal.AsSpan(list93)[0] = "Added IPC for Allied Society: AddAlliedSocietyOptimalQuests, GetAlliedSocietyOptimalQuests"; + reference92 = new ChangeEntry(EChangeCategory.Added, "IPC changes", list93); + ref ChangeEntry reference93 = ref span41[2]; + num3 = 1; List list94 = new List(num3); CollectionsMarshal.SetCount(list94, num3); - Span span44 = CollectionsMarshal.AsSpan(list94); - span44[0] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1899046269); - span44[1] = 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(1707331003); - reference93 = new ChangeEntry(EChangeCategory.Changed, description59, list94); - ref ChangeEntry reference94 = ref span43[1]; - string description60 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-702400365); - num3 = 2; - List list95 = new List(num3); - CollectionsMarshal.SetCount(list95, num3); - Span span45 = CollectionsMarshal.AsSpan(list95); - span45[0] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1435980479); - span45[1] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(590020347); - reference94 = new ChangeEntry(EChangeCategory.Added, description60, list95); - ref ChangeEntry reference95 = ref span43[2]; - string description61 = 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(1067663029); - num3 = 3; + CollectionsMarshal.AsSpan(list94)[0] = "Fixed quest (We Come in Peace)"; + reference93 = new ChangeEntry(EChangeCategory.Fixed, "Bug fixes", list94); + reference90 = new ChangelogEntry("7.38.6", releaseDate34, list91); + ref ChangelogEntry reference94 = ref span[34]; + DateOnly releaseDate35 = new DateOnly(2025, 11, 24); + num2 = 2; + List list95 = new List(num2); + CollectionsMarshal.SetCount(list95, num2); + Span span43 = CollectionsMarshal.AsSpan(list95); + ref ChangeEntry reference95 = ref span43[0]; + num3 = 1; List list96 = new List(num3); CollectionsMarshal.SetCount(list96, num3); - Span span46 = CollectionsMarshal.AsSpan(list96); - span46[0] = 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(-2109705238); - span46[1] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(712270181); - span46[2] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(220065043); - reference95 = new ChangeEntry(EChangeCategory.Fixed, description61, list96); - reference92 = new ChangelogEntry(version34, releaseDate34, list93); - ref ChangelogEntry reference96 = ref span[34]; - string version35 = 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(1756037876); - DateOnly releaseDate35 = new DateOnly(2025, 11, 18); - num2 = 3; - List list97 = new List(num2); - CollectionsMarshal.SetCount(list97, num2); - Span span47 = CollectionsMarshal.AsSpan(list97); - ref ChangeEntry reference97 = ref span47[0]; - string description62 = 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(707786884); - num3 = 2; - List list98 = new List(num3); - CollectionsMarshal.SetCount(list98, num3); - Span span48 = CollectionsMarshal.AsSpan(list98); - span48[0] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1766930974); - span48[1] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1162740109); - reference97 = new ChangeEntry(EChangeCategory.Added, description62, list98); - ref ChangeEntry reference98 = ref span47[1]; - string description63 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1797741366); - num3 = 3; + CollectionsMarshal.AsSpan(list96)[0] = "Added Allied Society daily allowance tracker with bulk quest adding buttons"; + reference95 = new ChangeEntry(EChangeCategory.Added, "Major features", list96); + ref ChangeEntry reference96 = ref span43[1]; + num3 = 1; + List list97 = new List(num3); + CollectionsMarshal.SetCount(list97, num3); + CollectionsMarshal.AsSpan(list97)[0] = "Added IPC for Allied Society: GetRemainingAllowances, GetTimeUntilReset, GetAvailableQuestIds, GetAllAvailableQuestCounts, IsMaxRank, GetCurrentRank, GetSocietiesWithAvailableQuests"; + reference96 = new ChangeEntry(EChangeCategory.Added, "IPC changes", list97); + reference94 = new ChangelogEntry("7.38.5", releaseDate35, list95); + ref ChangelogEntry reference97 = ref span[35]; + DateOnly releaseDate36 = new DateOnly(2025, 11, 23); + num2 = 2; + List list98 = new List(num2); + CollectionsMarshal.SetCount(list98, num2); + Span span44 = CollectionsMarshal.AsSpan(list98); + ref ChangeEntry reference98 = ref span44[0]; + num3 = 1; List list99 = new List(num3); CollectionsMarshal.SetCount(list99, num3); - Span span49 = CollectionsMarshal.AsSpan(list99); - span49[0] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1908218331); - span49[1] = 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(1111869066); - span49[2] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1514865425); - reference98 = new ChangeEntry(EChangeCategory.Added, description63, list99); - span47[2] = new ChangeEntry(EChangeCategory.Fixed, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1365448920)); - reference96 = new ChangelogEntry(version35, releaseDate35, list97); - ref ChangelogEntry reference99 = ref span[35]; - string version36 = 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(51318086); - DateOnly releaseDate36 = new DateOnly(2025, 11, 18); + CollectionsMarshal.AsSpan(list99)[0] = "Explicitly declare support for BMR singleplayer duty (The Rematch)"; + reference98 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list99); + ref ChangeEntry reference99 = ref span44[1]; + num3 = 8; + List list100 = new List(num3); + CollectionsMarshal.SetCount(list100, num3); + Span span45 = CollectionsMarshal.AsSpan(list100); + span45[0] = "Fixed quest (Microbrewing) to not get stuck near ramp"; + span45[1] = "Fixed quest (The Illuminated Land) where pathing would kill the player due to fall damage"; + span45[2] = "Fixed quest (It's Probably Not Pirates) improper pathing and removed unneeded step"; + span45[3] = "Fixed quest (The Black Wolf's Ultimatum) not exiting landing area"; + span45[4] = "Fixed quest (Magiteknical Failure) from not interacting with NPC due to being mounted"; + span45[5] = "Fixed quest (We Come in Peace) shortcut navigation"; + span45[6] = "Fixed quest (Poisoned Hearts) where incorrect pathing caused the player to die"; + span45[7] = "Fixed quests (Savage Snares) and (An Apple a Day) not detecting kills"; + reference99 = new ChangeEntry(EChangeCategory.Fixed, "Bug fixes", list100); + reference97 = new ChangelogEntry("7.38.4", releaseDate36, list98); + ref ChangelogEntry reference100 = ref span[36]; + DateOnly releaseDate37 = new DateOnly(2025, 11, 23); num2 = 3; - List list100 = new List(num2); - CollectionsMarshal.SetCount(list100, num2); - Span span50 = CollectionsMarshal.AsSpan(list100); - ref ChangeEntry reference100 = ref span50[0]; - string description64 = 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(-1932541412); - num3 = 1; - List list101 = new List(num3); - CollectionsMarshal.SetCount(list101, num3); - CollectionsMarshal.AsSpan(list101)[0] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1869325161); - reference100 = new ChangeEntry(EChangeCategory.Changed, description64, list101); - ref ChangeEntry reference101 = ref span50[1]; - string description65 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1810567874); - num3 = 3; + List list101 = new List(num2); + CollectionsMarshal.SetCount(list101, num2); + Span span46 = CollectionsMarshal.AsSpan(list101); + ref ChangeEntry reference101 = ref span46[0]; + num3 = 2; List list102 = new List(num3); CollectionsMarshal.SetCount(list102, num3); - Span span51 = CollectionsMarshal.AsSpan(list102); - span51[0] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1256133354); - span51[1] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(129256587); - span51[2] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-683046242); - reference101 = new ChangeEntry(EChangeCategory.QuestUpdates, description65, list102); - ref ChangeEntry reference102 = ref span50[2]; - string description66 = 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(2084764248); - num3 = 3; + Span span47 = CollectionsMarshal.AsSpan(list102); + span47[0] = "Added RequireHq to crafting InteractionType"; + span47[1] = "Mark GC quests as Locked if rank not achieved"; + reference101 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list102); + ref ChangeEntry reference102 = ref span46[1]; + num3 = 2; List list103 = new List(num3); CollectionsMarshal.SetCount(list103, num3); - Span span52 = CollectionsMarshal.AsSpan(list103); - span52[0] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-716939801); - span52[1] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-917137841); - span52[2] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(642718343); - reference102 = new ChangeEntry(EChangeCategory.Fixed, description66, list103); - reference99 = new ChangelogEntry(version36, releaseDate36, list100); - ref ChangelogEntry reference103 = ref span[36]; - string version37 = 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(1419048494); - DateOnly releaseDate37 = new DateOnly(2025, 11, 17); - num2 = 5; - List list104 = new List(num2); - CollectionsMarshal.SetCount(list104, num2); - Span span53 = CollectionsMarshal.AsSpan(list104); - ref ChangeEntry reference104 = ref span53[0]; - string description67 = 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(707786884); - num3 = 2; - List list105 = new List(num3); - CollectionsMarshal.SetCount(list105, num3); - Span span54 = CollectionsMarshal.AsSpan(list105); - span54[0] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(405845762); - span54[1] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-54945114); - reference104 = new ChangeEntry(EChangeCategory.Added, description67, list105); - ref ChangeEntry reference105 = ref span53[1]; - string description68 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(774081000); + Span span48 = CollectionsMarshal.AsSpan(list103); + span48[0] = "Added IPC for stop conditions: GetStopConditionsEnabled, SetStopConditionsEnabled, GetStopQuestList, AddStopQuest, RemoveStopQuest, ClearStopQuests, GetLevelStopCondition, SetLevelStopCondition, GetSequenceStopCondition, SetSequenceStopCondition"; + span48[1] = "Added IPC for priority quests: GetPriorityQuests, RemovePriorityQuest, ReorderPriorityQuest, GetAvailablePresets, GetPresetQuests, AddPresetToPriority, IsPresetAvailable, IsQuestInPriority, GetQuestPriorityIndex, HasAvailablePriorityQuests"; + reference102 = new ChangeEntry(EChangeCategory.Added, "IPC changes", list103); + ref ChangeEntry reference103 = ref span46[2]; + num3 = 3; + List list104 = new List(num3); + CollectionsMarshal.SetCount(list104, num3); + Span span49 = CollectionsMarshal.AsSpan(list104); + span49[0] = "Fixed line breaks not working in dialog strings"; + span49[1] = "Fixed quest (Labor of Love)"; + span49[2] = "Fixed quest (Sea of Sorrow)"; + reference103 = new ChangeEntry(EChangeCategory.Fixed, "Bug fixes", list104); + reference100 = new ChangelogEntry("7.38.3", releaseDate37, list101); + ref ChangelogEntry reference104 = ref span[37]; + DateOnly releaseDate38 = new DateOnly(2025, 11, 18); + num2 = 3; + List list105 = new List(num2); + CollectionsMarshal.SetCount(list105, num2); + Span span50 = CollectionsMarshal.AsSpan(list105); + ref ChangeEntry reference105 = ref span50[0]; num3 = 2; List list106 = new List(num3); CollectionsMarshal.SetCount(list106, num3); - Span span55 = CollectionsMarshal.AsSpan(list106); - span55[0] = 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(-2098955524); - span55[1] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-441677591); - reference105 = new ChangeEntry(EChangeCategory.Changed, description68, list106); - ref ChangeEntry reference106 = ref span53[2]; - string description69 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1797741366); + Span span51 = CollectionsMarshal.AsSpan(list106); + span51[0] = "Auto Duty unsync options for each duty (Duty Support, Unsync Solo, Unsync Party)"; + span51[1] = "Added Auto Duty unsync options to quest schema and updated quests using old unsync method"; + reference105 = new ChangeEntry(EChangeCategory.Added, "Major features", list106); + ref ChangeEntry reference106 = ref span50[1]; num3 = 3; List list107 = new List(num3); CollectionsMarshal.SetCount(list107, num3); - Span span56 = CollectionsMarshal.AsSpan(list107); - span56[0] = 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(-2047151790); - span56[1] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(580274190); - span56[2] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(885475673); - reference106 = new ChangeEntry(EChangeCategory.Changed, description69, list107); - span53[3] = new ChangeEntry(EChangeCategory.QuestUpdates, 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(-1719573355)); - span53[4] = new ChangeEntry(EChangeCategory.Fixed, 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(-1679789910)); - reference103 = new ChangelogEntry(version37, releaseDate37, list104); - ref ChangelogEntry reference107 = ref span[37]; - string version38 = 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(-1509038283); - DateOnly releaseDate38 = new DateOnly(2025, 11, 8); - num2 = 1; + Span span52 = CollectionsMarshal.AsSpan(list107); + span52[0] = "Added IPC for duty sync handling: GetDefaultDutyMode, SetDefaultDutyMode"; + span52[1] = "Added IPC for duty mode overrides: GetDutyModeOverride, SetDutyModeOverride"; + span52[2] = "Added IPC for clearing overrides: ClearDutyModeOverride, ClearAllDutyModeOverrides"; + reference106 = new ChangeEntry(EChangeCategory.Added, "IPC changes", list107); + span50[2] = new ChangeEntry(EChangeCategory.Fixed, "Fixed quest (Constant Cravings)"); + reference104 = new ChangelogEntry("7.38.2", releaseDate38, list105); + ref ChangelogEntry reference107 = ref span[38]; + DateOnly releaseDate39 = new DateOnly(2025, 11, 18); + num2 = 3; List list108 = new List(num2); CollectionsMarshal.SetCount(list108, num2); - CollectionsMarshal.AsSpan(list108)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1577309578)); - reference107 = new ChangelogEntry(version38, releaseDate38, list108); - ref ChangelogEntry reference108 = ref span[38]; - string version39 = 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(-1194955886); - DateOnly releaseDate39 = new DateOnly(2025, 11, 8); - num2 = 1; - List list109 = new List(num2); - CollectionsMarshal.SetCount(list109, num2); - CollectionsMarshal.AsSpan(list109)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, 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(-1883444568)); - reference108 = new ChangelogEntry(version39, releaseDate39, list109); - ref ChangelogEntry reference109 = ref span[39]; - string version40 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-458815233); - DateOnly releaseDate40 = new DateOnly(2025, 11, 2); - num2 = 1; - List list110 = new List(num2); - CollectionsMarshal.SetCount(list110, num2); - CollectionsMarshal.AsSpan(list110)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(703027607)); - reference109 = new ChangelogEntry(version40, releaseDate40, list110); - ref ChangelogEntry reference110 = ref span[40]; - string version41 = 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(-296614981); - DateOnly releaseDate41 = new DateOnly(2025, 10, 28); - num2 = 1; - List list111 = new List(num2); - CollectionsMarshal.SetCount(list111, num2); - CollectionsMarshal.AsSpan(list111)[0] = new ChangeEntry(EChangeCategory.Fixed, 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(1103721861)); - reference110 = new ChangelogEntry(version41, releaseDate41, list111); - ref ChangelogEntry reference111 = ref span[41]; - string version42 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1667356195); - DateOnly releaseDate42 = new DateOnly(2025, 10, 23); - num2 = 2; + Span span53 = CollectionsMarshal.AsSpan(list108); + ref ChangeEntry reference108 = ref span53[0]; + num3 = 1; + List list109 = new List(num3); + CollectionsMarshal.SetCount(list109, num3); + CollectionsMarshal.AsSpan(list109)[0] = "Added new fields to quest schema"; + reference108 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list109); + ref ChangeEntry reference109 = ref span53[1]; + num3 = 3; + List list110 = new List(num3); + CollectionsMarshal.SetCount(list110, num3); + Span span54 = CollectionsMarshal.AsSpan(list110); + span54[0] = "A Faerie Tale Come True"; + span54[1] = "Constant Cravings"; + span54[2] = "A Bridge Too Full"; + reference109 = new ChangeEntry(EChangeCategory.QuestUpdates, "Added new quest paths", list110); + ref ChangeEntry reference110 = ref span53[2]; + num3 = 3; + List list111 = new List(num3); + CollectionsMarshal.SetCount(list111, num3); + Span span55 = CollectionsMarshal.AsSpan(list111); + span55[0] = "Fixed various quest schemas"; + span55[1] = "Fixed changelog bullet point encoding"; + span55[2] = "Fixed item use to wait until item is used before next action"; + reference110 = new ChangeEntry(EChangeCategory.Fixed, "Bug fixes", list111); + reference107 = new ChangelogEntry("7.38.1", releaseDate39, list108); + ref ChangelogEntry reference111 = ref span[39]; + DateOnly releaseDate40 = new DateOnly(2025, 11, 17); + num2 = 5; List list112 = new List(num2); CollectionsMarshal.SetCount(list112, num2); - Span span57 = CollectionsMarshal.AsSpan(list112); - span57[0] = new ChangeEntry(EChangeCategory.Added, 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(247701156)); - span57[1] = new ChangeEntry(EChangeCategory.Fixed, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(370312606)); - reference111 = new ChangelogEntry(version42, releaseDate42, list112); - ref ChangelogEntry reference112 = ref span[42]; - string version43 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-930549391); - DateOnly releaseDate43 = new DateOnly(2025, 10, 23); - num2 = 1; - List list113 = new List(num2); - CollectionsMarshal.SetCount(list113, num2); - CollectionsMarshal.AsSpan(list113)[0] = new ChangeEntry(EChangeCategory.Fixed, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(818990204)); - reference112 = new ChangelogEntry(version43, releaseDate43, list113); - ref ChangelogEntry reference113 = ref span[43]; - string version44 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1578631884); - DateOnly releaseDate44 = new DateOnly(2025, 10, 23); - num2 = 1; - List list114 = new List(num2); - CollectionsMarshal.SetCount(list114, num2); - CollectionsMarshal.AsSpan(list114)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-725290155)); - reference113 = new ChangelogEntry(version44, releaseDate44, list114); - ref ChangelogEntry reference114 = ref span[44]; - string version45 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(70440809); - DateOnly releaseDate45 = new DateOnly(2025, 10, 21); - num2 = 1; - List list115 = new List(num2); - CollectionsMarshal.SetCount(list115, num2); - CollectionsMarshal.AsSpan(list115)[0] = new ChangeEntry(EChangeCategory.Changed, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(994034103)); - reference114 = new ChangelogEntry(version45, releaseDate45, list115); - ref ChangelogEntry reference115 = ref span[45]; - string version46 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-506774381); - DateOnly releaseDate46 = new DateOnly(2025, 10, 21); + Span span56 = CollectionsMarshal.AsSpan(list112); + ref ChangeEntry reference112 = ref span56[0]; + num3 = 2; + List list113 = new List(num3); + CollectionsMarshal.SetCount(list113, num3); + Span span57 = CollectionsMarshal.AsSpan(list113); + span57[0] = "Quest sequence window to show expected sequences in each quest (with quest searching)"; + span57[1] = "Changelog"; + reference112 = new ChangeEntry(EChangeCategory.Added, "Major features", list113); + ref ChangeEntry reference113 = ref span56[1]; + num3 = 2; + List list114 = new List(num3); + CollectionsMarshal.SetCount(list114, num3); + Span span58 = CollectionsMarshal.AsSpan(list114); + span58[0] = "Updated quest schemas"; + span58[1] = "Added search bar to preferred mounts and capitalization to mirror game mount names"; + reference113 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list114); + ref ChangeEntry reference114 = ref span56[2]; + num3 = 3; + List list115 = new List(num3); + CollectionsMarshal.SetCount(list115, num3); + Span span59 = CollectionsMarshal.AsSpan(list115); + span59[0] = "Renamed IsQuestCompleted → IsQuestComplete"; + span59[1] = "Renamed IsQuestAvailable → IsReadyToAcceptQuest"; + span59[2] = "Added GetCurrentTask IPC"; + reference114 = new ChangeEntry(EChangeCategory.Changed, "IPC changes", list115); + span56[3] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added all Hildibrand quests"); + span56[4] = new ChangeEntry(EChangeCategory.Fixed, "Fixed credits/cutscenes playback"); + reference111 = new ChangelogEntry("7.38.0", releaseDate40, list112); + ref ChangelogEntry reference115 = ref span[40]; + DateOnly releaseDate41 = new DateOnly(2025, 11, 8); num2 = 1; List list116 = new List(num2); CollectionsMarshal.SetCount(list116, num2); - CollectionsMarshal.AsSpan(list116)[0] = new ChangeEntry(EChangeCategory.Added, 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(1919581107)); - reference115 = new ChangelogEntry(version46, releaseDate46, list116); - ref ChangelogEntry reference116 = ref span[46]; - string version47 = 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(-1219020768); - DateOnly releaseDate47 = new DateOnly(2025, 10, 20); - num2 = 2; + CollectionsMarshal.AsSpan(list116)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added Fall Guys quest (Just Crowning Around)"); + reference115 = new ChangelogEntry("6.38", releaseDate41, list116); + ref ChangelogEntry reference116 = ref span[41]; + DateOnly releaseDate42 = new DateOnly(2025, 11, 8); + num2 = 1; List list117 = new List(num2); CollectionsMarshal.SetCount(list117, num2); - Span span58 = CollectionsMarshal.AsSpan(list117); - ref ChangeEntry reference117 = ref span58[0]; - string description70 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1906775718); - num3 = 2; - List list118 = new List(num3); - CollectionsMarshal.SetCount(list118, num3); - Span span59 = CollectionsMarshal.AsSpan(list118); - span59[0] = 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(181316074); - span59[1] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(561917383); - reference117 = new ChangeEntry(EChangeCategory.Changed, description70, list118); - span58[1] = new ChangeEntry(EChangeCategory.Fixed, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(383802089)); - reference116 = new ChangelogEntry(version47, releaseDate47, list117); - ref ChangelogEntry reference118 = ref span[47]; - string version48 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(201999929); - DateOnly releaseDate48 = new DateOnly(2025, 10, 19); + CollectionsMarshal.AsSpan(list117)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added Cosmic Exploration and various unlock quests"); + reference116 = new ChangelogEntry("6.37", releaseDate42, list117); + ref ChangelogEntry reference117 = ref span[42]; + DateOnly releaseDate43 = new DateOnly(2025, 11, 2); + num2 = 1; + List list118 = new List(num2); + CollectionsMarshal.SetCount(list118, num2); + CollectionsMarshal.AsSpan(list118)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy Rank 6 quest (With High Spirits)"); + reference117 = new ChangelogEntry("6.36", releaseDate43, list118); + ref ChangelogEntry reference118 = ref span[43]; + DateOnly releaseDate44 = new DateOnly(2025, 10, 28); num2 = 1; List list119 = new List(num2); CollectionsMarshal.SetCount(list119, num2); - CollectionsMarshal.AsSpan(list119)[0] = new ChangeEntry(EChangeCategory.Changed, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(23884635)); - reference118 = new ChangelogEntry(version48, releaseDate48, list119); - ref ChangelogEntry reference119 = ref span[48]; - string version49 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1527764514); - DateOnly releaseDate49 = new DateOnly(2025, 10, 18); + CollectionsMarshal.AsSpan(list119)[0] = new ChangeEntry(EChangeCategory.Fixed, "Fixed level 3 MSQ handling if character started on non-XP buff world"); + reference118 = new ChangelogEntry("6.35", releaseDate44, list119); + ref ChangelogEntry reference119 = ref span[44]; + DateOnly releaseDate45 = new DateOnly(2025, 10, 23); num2 = 2; List list120 = new List(num2); CollectionsMarshal.SetCount(list120, num2); Span span60 = CollectionsMarshal.AsSpan(list120); - span60[0] = new ChangeEntry(EChangeCategory.Changed, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(637188044)); - span60[1] = new ChangeEntry(EChangeCategory.Fixed, 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(-24626882)); - reference119 = new ChangelogEntry(version49, releaseDate49, list120); - ref ChangelogEntry reference120 = ref span[49]; - string version50 = 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(1821061590); - DateOnly releaseDate50 = new DateOnly(2025, 10, 18); + span60[0] = new ChangeEntry(EChangeCategory.Added, "Added clear priority quests on logout and on completion config settings"); + span60[1] = new ChangeEntry(EChangeCategory.Fixed, "Fixed priority quest importing to respect import order"); + reference119 = new ChangelogEntry("6.34", releaseDate45, list120); + ref ChangelogEntry reference120 = ref span[45]; + DateOnly releaseDate46 = new DateOnly(2025, 10, 23); num2 = 1; List list121 = new List(num2); CollectionsMarshal.SetCount(list121, num2); - CollectionsMarshal.AsSpan(list121)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(767012963)); - reference120 = new ChangelogEntry(version50, releaseDate50, list121); - ref ChangelogEntry reference121 = ref span[50]; - string version51 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1018773058); - DateOnly releaseDate51 = new DateOnly(2025, 10, 17); + CollectionsMarshal.AsSpan(list121)[0] = new ChangeEntry(EChangeCategory.Fixed, "Fixed RSR combat module"); + reference120 = new ChangelogEntry("6.33", releaseDate46, list121); + ref ChangelogEntry reference121 = ref span[46]; + DateOnly releaseDate47 = new DateOnly(2025, 10, 23); num2 = 1; List list122 = new List(num2); CollectionsMarshal.SetCount(list122, num2); - CollectionsMarshal.AsSpan(list122)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(105018276)); - reference121 = new ChangelogEntry(version51, releaseDate51, list122); - ref ChangelogEntry reference122 = ref span[51]; - string version52 = 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(2058716468); - DateOnly releaseDate52 = new DateOnly(2025, 10, 16); + CollectionsMarshal.AsSpan(list122)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy Rank 5 quest (Forged in Corn)"); + reference121 = new ChangelogEntry("6.32", releaseDate47, list122); + ref ChangelogEntry reference122 = ref span[47]; + DateOnly releaseDate48 = new DateOnly(2025, 10, 21); num2 = 1; List list123 = new List(num2); CollectionsMarshal.SetCount(list123, num2); - CollectionsMarshal.AsSpan(list123)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, 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(-1850932711)); - reference122 = new ChangelogEntry(version52, releaseDate52, list123); - ref ChangelogEntry reference123 = ref span[52]; - string version53 = 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(-2065499201); - DateOnly releaseDate53 = new DateOnly(2025, 10, 13); + CollectionsMarshal.AsSpan(list123)[0] = new ChangeEntry(EChangeCategory.Changed, "Added checks for moogle and allied society quests when using add all available quests"); + reference122 = new ChangelogEntry("6.31", releaseDate48, list123); + ref ChangelogEntry reference123 = ref span[48]; + DateOnly releaseDate49 = new DateOnly(2025, 10, 21); num2 = 1; List list124 = new List(num2); CollectionsMarshal.SetCount(list124, num2); - CollectionsMarshal.AsSpan(list124)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1836225832)); - reference123 = new ChangelogEntry(version53, releaseDate53, list124); - ref ChangelogEntry reference124 = ref span[53]; - string version54 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-905248882); - DateOnly releaseDate54 = new DateOnly(2025, 10, 12); - num2 = 3; + CollectionsMarshal.AsSpan(list124)[0] = new ChangeEntry(EChangeCategory.Added, "Added button to journal that allows adding all available quests to priority"); + reference123 = new ChangelogEntry("6.30", releaseDate49, list124); + ref ChangelogEntry reference124 = ref span[49]; + DateOnly releaseDate50 = new DateOnly(2025, 10, 20); + num2 = 2; List list125 = new List(num2); CollectionsMarshal.SetCount(list125, num2); Span span61 = CollectionsMarshal.AsSpan(list125); - span61[0] = new ChangeEntry(EChangeCategory.Changed, 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(205757689)); - span61[1] = new ChangeEntry(EChangeCategory.QuestUpdates, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(598630997)); - span61[2] = new ChangeEntry(EChangeCategory.Fixed, 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(547260943)); - reference124 = new ChangelogEntry(version54, releaseDate54, list125); - ref ChangelogEntry reference125 = ref span[54]; - string version55 = 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(312724870); - DateOnly releaseDate55 = new DateOnly(2025, 10, 12); - num2 = 2; - List list126 = new List(num2); - CollectionsMarshal.SetCount(list126, num2); - Span span62 = CollectionsMarshal.AsSpan(list126); - span62[0] = new ChangeEntry(EChangeCategory.Added, 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(-1476449463)); - span62[1] = new ChangeEntry(EChangeCategory.QuestUpdates, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(598630997)); - reference125 = new ChangelogEntry(version55, releaseDate55, list126); - ref ChangelogEntry reference126 = ref span[55]; - string version56 = 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(-1305697836); - DateOnly releaseDate56 = new DateOnly(2025, 10, 10); - num2 = 2; + ref ChangeEntry reference125 = ref span61[0]; + num3 = 2; + List list126 = new List(num3); + CollectionsMarshal.SetCount(list126, num3); + Span span62 = CollectionsMarshal.AsSpan(list126); + span62[0] = "Added item count to combat handling rework"; + span62[1] = "Updated Pandora conflicting features"; + reference125 = new ChangeEntry(EChangeCategory.Changed, "Combat handling improvements", list126); + span61[1] = new ChangeEntry(EChangeCategory.Fixed, "Fixed quest to purchase Gysahl Greens if not in inventory"); + reference124 = new ChangelogEntry("6.29", releaseDate50, list125); + ref ChangelogEntry reference126 = ref span[50]; + DateOnly releaseDate51 = new DateOnly(2025, 10, 19); + num2 = 1; List list127 = new List(num2); CollectionsMarshal.SetCount(list127, num2); - Span span63 = CollectionsMarshal.AsSpan(list127); - span63[0] = new ChangeEntry(EChangeCategory.Changed, 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(-340821018)); - span63[1] = new ChangeEntry(EChangeCategory.QuestUpdates, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1274213838)); - reference126 = new ChangelogEntry(version56, releaseDate56, list127); - ref ChangelogEntry reference127 = ref span[56]; - string version57 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-172587466); - DateOnly releaseDate57 = new DateOnly(2025, 10, 9); - num2 = 3; + CollectionsMarshal.AsSpan(list127)[0] = new ChangeEntry(EChangeCategory.Changed, "Reworked kill count combat handling - combat and enemy kills are now processed instantly"); + reference126 = new ChangelogEntry("6.28", releaseDate51, list127); + ref ChangelogEntry reference127 = ref span[51]; + DateOnly releaseDate52 = new DateOnly(2025, 10, 18); + num2 = 2; List list128 = new List(num2); CollectionsMarshal.SetCount(list128, num2); - Span span64 = CollectionsMarshal.AsSpan(list128); - span64[0] = new ChangeEntry(EChangeCategory.Added, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1835561557)); - span64[1] = new ChangeEntry(EChangeCategory.Changed, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(553403373)); - span64[2] = new ChangeEntry(EChangeCategory.QuestUpdates, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1034346506)); - reference127 = new ChangelogEntry(version57, releaseDate57, list128); - ref ChangelogEntry reference128 = ref span[57]; - string version58 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(876402547); - DateOnly releaseDate58 = new DateOnly(2025, 10, 9); - num2 = 2; + Span span63 = CollectionsMarshal.AsSpan(list128); + span63[0] = new ChangeEntry(EChangeCategory.Changed, "Improved Aether Current checking logic"); + span63[1] = new ChangeEntry(EChangeCategory.Fixed, "Fixed Chocobo Taxi Stand CheckSkip error and Patch 7.3 Fantasia unlock quest date/time"); + reference127 = new ChangelogEntry("6.27", releaseDate52, list128); + ref ChangelogEntry reference128 = ref span[52]; + DateOnly releaseDate53 = new DateOnly(2025, 10, 18); + num2 = 1; List list129 = new List(num2); CollectionsMarshal.SetCount(list129, num2); - Span span65 = CollectionsMarshal.AsSpan(list129); - span65[0] = new ChangeEntry(EChangeCategory.Changed, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2000193881)); - span65[1] = new ChangeEntry(EChangeCategory.QuestUpdates, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(982019044)); - reference128 = new ChangelogEntry(version58, releaseDate58, list129); - ref ChangelogEntry reference129 = ref span[58]; - string version59 = 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(-277572277); - DateOnly releaseDate59 = new DateOnly(2025, 10, 8); + CollectionsMarshal.AsSpan(list129)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 4 quests"); + reference128 = new ChangelogEntry("6.26", releaseDate53, list129); + ref ChangelogEntry reference129 = ref span[53]; + DateOnly releaseDate54 = new DateOnly(2025, 10, 17); num2 = 1; List list130 = new List(num2); CollectionsMarshal.SetCount(list130, num2); - CollectionsMarshal.AsSpan(list130)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(161460026)); - reference129 = new ChangelogEntry(version59, releaseDate59, list130); - ref ChangelogEntry reference130 = ref span[59]; - string version60 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1878380996); - DateOnly releaseDate60 = new DateOnly(2025, 10, 8); + CollectionsMarshal.AsSpan(list130)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added All Saints' Wake 2025 quests and 7.35 Yok Huy rank 4 quests"); + reference129 = new ChangelogEntry("6.25", releaseDate54, list130); + ref ChangelogEntry reference130 = ref span[54]; + DateOnly releaseDate55 = new DateOnly(2025, 10, 16); num2 = 1; List list131 = new List(num2); CollectionsMarshal.SetCount(list131, num2); - CollectionsMarshal.AsSpan(list131)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-954787702)); - reference130 = new ChangelogEntry(version60, releaseDate60, list131); - ref ChangelogEntry reference131 = ref span[60]; - string version61 = 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(-1791776096); - DateOnly releaseDate61 = new DateOnly(2025, 10, 8); - num2 = 2; + CollectionsMarshal.AsSpan(list131)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 4 quests and Deep Dungeon quest"); + reference130 = new ChangelogEntry("6.24", releaseDate55, list131); + ref ChangelogEntry reference131 = ref span[55]; + DateOnly releaseDate56 = new DateOnly(2025, 10, 13); + num2 = 1; List list132 = new List(num2); CollectionsMarshal.SetCount(list132, num2); - Span span66 = CollectionsMarshal.AsSpan(list132); - span66[0] = new ChangeEntry(EChangeCategory.Changed, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1481838677)); - span66[1] = new ChangeEntry(EChangeCategory.Fixed, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1724086869)); - reference131 = new ChangelogEntry(version61, releaseDate61, list132); - ref ChangelogEntry reference132 = ref span[61]; - string version62 = 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(-220687627); - DateOnly releaseDate62 = new DateOnly(2025, 10, 8); - num2 = 1; + CollectionsMarshal.AsSpan(list132)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 3 quest (Larder Logistics)"); + reference131 = new ChangelogEntry("6.23", releaseDate56, list132); + ref ChangelogEntry reference132 = ref span[56]; + DateOnly releaseDate57 = new DateOnly(2025, 10, 12); + num2 = 3; List list133 = new List(num2); CollectionsMarshal.SetCount(list133, num2); - CollectionsMarshal.AsSpan(list133)[0] = new ChangeEntry(EChangeCategory.Fixed, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-807512557)); - reference132 = new ChangelogEntry(version62, releaseDate62, list133); - ref ChangelogEntry reference133 = ref span[62]; - string version63 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(521410695); - DateOnly releaseDate63 = new DateOnly(2025, 10, 8); + Span span64 = CollectionsMarshal.AsSpan(list133); + span64[0] = new ChangeEntry(EChangeCategory.Changed, "Prevent disabled or Locked quests from being started as 'Start as next quest'"); + span64[1] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 3 quests"); + span64[2] = new ChangeEntry(EChangeCategory.Fixed, "Fixed Yok Huy quest and journal quest chain priority issues"); + reference132 = new ChangelogEntry("6.22", releaseDate57, list133); + ref ChangelogEntry reference133 = ref span[57]; + DateOnly releaseDate58 = new DateOnly(2025, 10, 12); num2 = 2; List list134 = new List(num2); CollectionsMarshal.SetCount(list134, num2); - Span span67 = CollectionsMarshal.AsSpan(list134); - ref ChangeEntry reference134 = ref span67[0]; - string description71 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1645202029); - num3 = 3; - List list135 = new List(num3); - CollectionsMarshal.SetCount(list135, num3); - Span span68 = CollectionsMarshal.AsSpan(list135); - span68[0] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(321212655); - span68[1] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-471904200); - span68[2] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2064743449); - reference134 = new ChangeEntry(EChangeCategory.Added, description71, list135); - span67[1] = new ChangeEntry(EChangeCategory.Fixed, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2045598109)); - reference133 = new ChangelogEntry(version63, releaseDate63, list134); - ref ChangelogEntry reference135 = ref span[63]; - string version64 = 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(-474447320); - DateOnly releaseDate64 = new DateOnly(2025, 10, 7); - num2 = 4; + Span span65 = CollectionsMarshal.AsSpan(list134); + span65[0] = new ChangeEntry(EChangeCategory.Added, "Added expansion abbreviation to journal window"); + span65[1] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 3 quests"); + reference133 = new ChangelogEntry("6.21", releaseDate58, list134); + ref ChangelogEntry reference134 = ref span[58]; + DateOnly releaseDate59 = new DateOnly(2025, 10, 10); + num2 = 2; + List list135 = new List(num2); + CollectionsMarshal.SetCount(list135, num2); + Span span66 = CollectionsMarshal.AsSpan(list135); + span66[0] = new ChangeEntry(EChangeCategory.Changed, "Allow completed repeatable quests to be used with 'Add quest and requirements to priority' feature"); + span66[1] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 1 quest (A Work of Cart)"); + reference134 = new ChangelogEntry("6.20", releaseDate59, list135); + ref ChangelogEntry reference135 = ref span[59]; + DateOnly releaseDate60 = new DateOnly(2025, 10, 9); + num2 = 3; List list136 = new List(num2); CollectionsMarshal.SetCount(list136, num2); - Span span69 = CollectionsMarshal.AsSpan(list136); - ref ChangeEntry reference136 = ref span69[0]; - string description72 = 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(-376091794); - num3 = 4; - List list137 = new List(num3); - CollectionsMarshal.SetCount(list137, num3); - Span span70 = CollectionsMarshal.AsSpan(list137); - span70[0] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1250491453); - span70[1] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(143865116); - span70[2] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1531914663); - span70[3] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-56875911); - reference136 = new ChangeEntry(EChangeCategory.Added, description72, list137); - ref ChangeEntry reference137 = ref span69[1]; - string description73 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1211779360); - num3 = 3; - List list138 = new List(num3); - CollectionsMarshal.SetCount(list138, num3); - Span span71 = CollectionsMarshal.AsSpan(list138); - span71[0] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2131513407); - span71[1] = 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(-1195939832); - span71[2] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1363559479); - reference137 = new ChangeEntry(EChangeCategory.Changed, description73, list138); - span69[2] = new ChangeEntry(EChangeCategory.QuestUpdates, 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(1671611849)); - span69[3] = new ChangeEntry(EChangeCategory.Fixed, 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(-352098557)); - reference135 = new ChangelogEntry(version64, releaseDate64, list136); - ref ChangelogEntry reference138 = ref span[64]; - string version65 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(242245363); - DateOnly releaseDate65 = new DateOnly(2025, 10, 3); + Span span67 = CollectionsMarshal.AsSpan(list136); + span67[0] = new ChangeEntry(EChangeCategory.Added, "Added config to batch Allied Society quest turn-ins"); + span67[1] = new ChangeEntry(EChangeCategory.Changed, "Repeatable quests now show correct availability state in journal"); + span67[2] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 2 quests"); + reference135 = new ChangelogEntry("6.19", releaseDate60, list136); + ref ChangelogEntry reference136 = ref span[60]; + DateOnly releaseDate61 = new DateOnly(2025, 10, 9); + num2 = 2; + List list137 = new List(num2); + CollectionsMarshal.SetCount(list137, num2); + Span span68 = CollectionsMarshal.AsSpan(list137); + span68[0] = new ChangeEntry(EChangeCategory.Changed, "Show once completed quests with improved state display"); + span68[1] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy daily quest and improvements to various Yok Huy quests"); + reference136 = new ChangelogEntry("6.18", releaseDate61, list137); + ref ChangelogEntry reference137 = ref span[61]; + DateOnly releaseDate62 = new DateOnly(2025, 10, 8); + num2 = 1; + List list138 = new List(num2); + CollectionsMarshal.SetCount(list138, num2); + CollectionsMarshal.AsSpan(list138)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 1 and rank 2 quests"); + reference137 = new ChangelogEntry("6.17", releaseDate62, list138); + ref ChangelogEntry reference138 = ref span[62]; + DateOnly releaseDate63 = new DateOnly(2025, 10, 8); num2 = 1; List list139 = new List(num2); CollectionsMarshal.SetCount(list139, num2); - CollectionsMarshal.AsSpan(list139)[0] = new ChangeEntry(EChangeCategory.Changed, 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(1754889939)); - reference138 = new ChangelogEntry(version65, releaseDate65, list139); - ref ChangelogEntry reference139 = ref span[65]; - string version66 = 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(1825201563); - DateOnly releaseDate66 = new DateOnly(2025, 10, 2); - num2 = 1; + CollectionsMarshal.AsSpan(list139)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Deep Dungeon quest (Faerie Tale)"); + reference138 = new ChangelogEntry("6.16", releaseDate63, list139); + ref ChangelogEntry reference139 = ref span[63]; + DateOnly releaseDate64 = new DateOnly(2025, 10, 8); + num2 = 2; List list140 = new List(num2); CollectionsMarshal.SetCount(list140, num2); - ref ChangeEntry reference140 = ref CollectionsMarshal.AsSpan(list140)[0]; - string description74 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2054962055); - num3 = 2; - List list141 = new List(num3); - CollectionsMarshal.SetCount(list141, num3); - Span span72 = CollectionsMarshal.AsSpan(list141); - span72[0] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1854764015); - span72[1] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2083999023); - reference140 = new ChangeEntry(EChangeCategory.Changed, description74, list141); - reference139 = new ChangelogEntry(version66, releaseDate66, list140); - ref ChangelogEntry reference141 = ref span[66]; - string version67 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1696822631); - DateOnly releaseDate67 = new DateOnly(2025, 9, 21); - num2 = 5; + Span span69 = CollectionsMarshal.AsSpan(list140); + span69[0] = new ChangeEntry(EChangeCategory.Changed, "Dalamud cleanup"); + span69[1] = new ChangeEntry(EChangeCategory.Fixed, "Fixed quest level requirement check log spam"); + reference139 = new ChangelogEntry("6.15", releaseDate64, list140); + ref ChangelogEntry reference140 = ref span[64]; + DateOnly releaseDate65 = new DateOnly(2025, 10, 8); + num2 = 1; + List list141 = new List(num2); + CollectionsMarshal.SetCount(list141, num2); + CollectionsMarshal.AsSpan(list141)[0] = new ChangeEntry(EChangeCategory.Fixed, "Fixed abandoned quest check logic if quest were MSQ"); + reference140 = new ChangelogEntry("6.14", releaseDate65, list141); + ref ChangelogEntry reference141 = ref span[65]; + DateOnly releaseDate66 = new DateOnly(2025, 10, 8); + num2 = 2; List list142 = new List(num2); CollectionsMarshal.SetCount(list142, num2); - Span span73 = CollectionsMarshal.AsSpan(list142); - ref ChangeEntry reference142 = ref span73[0]; - string description75 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-53823140); - num3 = 4; + Span span70 = CollectionsMarshal.AsSpan(list142); + ref ChangeEntry reference142 = ref span70[0]; + num3 = 3; List list143 = new List(num3); CollectionsMarshal.SetCount(list143, num3); - Span span74 = CollectionsMarshal.AsSpan(list143); - span74[0] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1885683489); - span74[1] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1712436443); - span74[2] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1887013739); - span74[3] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(659076671); - reference142 = new ChangeEntry(EChangeCategory.Added, description75, list143); - ref ChangeEntry reference143 = ref span73[1]; - string description76 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(743463860); + Span span71 = CollectionsMarshal.AsSpan(list143); + span71[0] = "Context menu option to add required quests and their chain to priority list"; + span71[1] = "AetheryteShortcut to multiple quests"; + span71[2] = "Artisan as a recommended plugin/dependency"; + reference142 = new ChangeEntry(EChangeCategory.Added, "Quest improvements", list143); + span70[1] = new ChangeEntry(EChangeCategory.Fixed, "Fixed abandoned quest check and priority list issues"); + reference141 = new ChangelogEntry("6.13", releaseDate66, list142); + ref ChangelogEntry reference143 = ref span[66]; + DateOnly releaseDate67 = new DateOnly(2025, 10, 7); + num2 = 4; + List list144 = new List(num2); + CollectionsMarshal.SetCount(list144, num2); + Span span72 = CollectionsMarshal.AsSpan(list144); + ref ChangeEntry reference144 = ref span72[0]; num3 = 4; - List list144 = new List(num3); - CollectionsMarshal.SetCount(list144, num3); - Span span75 = CollectionsMarshal.AsSpan(list144); - span75[0] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(455662819); - span75[1] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-947647841); - span75[2] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1750354769); - span75[3] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1683261916); - reference143 = new ChangeEntry(EChangeCategory.Added, description76, list144); - ref ChangeEntry reference144 = ref span73[2]; - string description77 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-958550459); - num3 = 5; List list145 = new List(num3); CollectionsMarshal.SetCount(list145, num3); - Span span76 = CollectionsMarshal.AsSpan(list145); - span76[0] = 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(1774583327); - span76[1] = 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(-1786400970); - span76[2] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-358241186); - span76[3] = 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(-868361397); - span76[4] = 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(1033233436); - reference144 = new ChangeEntry(EChangeCategory.Changed, description77, list145); - span73[3] = new ChangeEntry(EChangeCategory.QuestUpdates, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(695790285)); - span73[4] = new ChangeEntry(EChangeCategory.Fixed, 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(1951273009)); - reference141 = new ChangelogEntry(version67, releaseDate67, list142); - ref ChangelogEntry reference145 = ref span[67]; - string version68 = 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(1740259501); - DateOnly releaseDate68 = new DateOnly(2025, 9, 2); - num2 = 4; - List list146 = new List(num2); - CollectionsMarshal.SetCount(list146, num2); - Span span77 = CollectionsMarshal.AsSpan(list146); - ref ChangeEntry reference146 = ref span77[0]; - string description78 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1705139781); + Span span73 = CollectionsMarshal.AsSpan(list145); + span73[0] = "FATE combat handling with auto level syncing"; + span73[1] = "Start accepted quests from journal with 'Start as next quest'"; + span73[2] = "Update quest tracking when quests are hidden or prioritised in game"; + span73[3] = "QuestMap as a recommended plugin/dependency"; + reference144 = new ChangeEntry(EChangeCategory.Added, "FATE and quest tracking", list145); + ref ChangeEntry reference145 = ref span72[1]; num3 = 3; - List list147 = new List(num3); - CollectionsMarshal.SetCount(list147, num3); - Span span78 = CollectionsMarshal.AsSpan(list147); - span78[0] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-808089594); - span78[1] = 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(-212876545); - span78[2] = 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(-548159302); - reference146 = new ChangeEntry(EChangeCategory.Added, description78, list147); - span77[1] = new ChangeEntry(EChangeCategory.Changed, 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(705163028)); - span77[2] = new ChangeEntry(EChangeCategory.QuestUpdates, 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(2016624705)); - span77[3] = new ChangeEntry(EChangeCategory.Fixed, 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(1229780497)); - reference145 = new ChangelogEntry(version68, releaseDate68, list146); + List list146 = new List(num3); + CollectionsMarshal.SetCount(list146, num3); + Span span74 = CollectionsMarshal.AsSpan(list146); + span74[0] = "Always prioritise next quest during teleportation/zone transitions"; + span74[1] = "Improved accepted quest logic with abandoned quest detection"; + span74[2] = "Show quests without quest paths as Locked"; + reference145 = new ChangeEntry(EChangeCategory.Changed, "Quest prioritisation improvements", list146); + span72[2] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Deep Dungeon, Hildibrand, Yok Huy, Monster Hunter Wilds Collab, and Doman Enclave quests"); + span72[3] = new ChangeEntry(EChangeCategory.Fixed, "Fixed accepted/active quest display and Hildibrand quest issues"); + reference143 = new ChangelogEntry("6.12", releaseDate67, list144); + ref ChangelogEntry reference146 = ref span[67]; + DateOnly releaseDate68 = new DateOnly(2025, 10, 3); + num2 = 1; + List list147 = new List(num2); + CollectionsMarshal.SetCount(list147, num2); + CollectionsMarshal.AsSpan(list147)[0] = new ChangeEntry(EChangeCategory.Changed, "Added remaining checks for quest priority to prevent infinite teleport looping"); + reference146 = new ChangelogEntry("6.11", releaseDate68, list147); ref ChangelogEntry reference147 = ref span[68]; - string version69 = 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(442936289); - DateOnly releaseDate69 = new DateOnly(2025, 8, 27); - num2 = 4; + DateOnly releaseDate69 = new DateOnly(2025, 10, 2); + num2 = 1; List list148 = new List(num2); CollectionsMarshal.SetCount(list148, num2); - Span span79 = CollectionsMarshal.AsSpan(list148); - ref ChangeEntry reference148 = ref span79[0]; - string description79 = 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(541291815); + ref ChangeEntry reference148 = ref CollectionsMarshal.AsSpan(list148)[0]; num3 = 2; List list149 = new List(num3); CollectionsMarshal.SetCount(list149, num3); - Span span80 = CollectionsMarshal.AsSpan(list149); - span80[0] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-906222997); - span80[1] = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1243277709); - reference148 = new ChangeEntry(EChangeCategory.Added, description79, list149); - span79[1] = new ChangeEntry(EChangeCategory.Changed, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1804882529)); - span79[2] = new ChangeEntry(EChangeCategory.QuestUpdates, 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(723029441)); - span79[3] = new ChangeEntry(EChangeCategory.Fixed, 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(-1471432592)); - reference147 = new ChangelogEntry(version69, releaseDate69, list148); + Span span75 = CollectionsMarshal.AsSpan(list149); + span75[0] = "Don't show quests as available if player doesn't meet level requirements"; + span75[1] = "Updated 'required for MSQ' text in Crystal Tower quest preset window"; + reference148 = new ChangeEntry(EChangeCategory.Changed, "Quest window improvements", list149); + reference147 = new ChangelogEntry("6.10", releaseDate69, list148); ref ChangelogEntry reference149 = ref span[69]; - string version70 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1544122842); - DateOnly releaseDate70 = new DateOnly(2025, 8, 25); - num2 = 2; + DateOnly releaseDate70 = new DateOnly(2025, 9, 21); + num2 = 5; List list150 = new List(num2); CollectionsMarshal.SetCount(list150, num2); - Span span81 = CollectionsMarshal.AsSpan(list150); - ref ChangeEntry reference150 = ref span81[0]; - string description80 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2058268484); - num3 = 2; + Span span76 = CollectionsMarshal.AsSpan(list150); + ref ChangeEntry reference150 = ref span76[0]; + num3 = 4; List list151 = new List(num3); CollectionsMarshal.SetCount(list151, num3); - Span span82 = CollectionsMarshal.AsSpan(list151); - span82[0] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1679645771); - span82[1] = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1394765065); - reference150 = new ChangeEntry(EChangeCategory.Added, description80, list151); - span81[1] = new ChangeEntry(EChangeCategory.Changed, 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(176450734)); - reference149 = new ChangelogEntry(version70, releaseDate70, list150); - ref ChangelogEntry reference151 = ref span[70]; - string version71 = 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(611910758); - DateOnly releaseDate71 = new DateOnly(2025, 8, 25); + Span span77 = CollectionsMarshal.AsSpan(list151); + span77[0] = "Reworked event quest handling - automatically displays when events are active"; + span77[1] = "Reworked journal system with improved filtering and display"; + span77[2] = "Reworked Priority Quests tab (Manual Priority and Quest Presets)"; + span77[3] = "Quest path viewer site (https://wigglymuffin.github.io/FFXIV-Tools/)"; + reference150 = new ChangeEntry(EChangeCategory.Added, "Major system reworks", list151); + ref ChangeEntry reference151 = ref span76[1]; + num3 = 4; + List list152 = new List(num3); + CollectionsMarshal.SetCount(list152, num3); + Span span78 = CollectionsMarshal.AsSpan(list152); + span78[0] = "Questionable.IsQuestCompleted"; + span78[1] = "Questionable.IsQuestAvailable"; + span78[2] = "Questionable.IsQuestAccepted"; + span78[3] = "Questionable.IsQuestUnobtainable"; + reference151 = new ChangeEntry(EChangeCategory.Added, "New IPC commands", list152); + ref ChangeEntry reference152 = ref span76[2]; + num3 = 5; + List list153 = new List(num3); + CollectionsMarshal.SetCount(list153, num3); + Span span79 = CollectionsMarshal.AsSpan(list153); + span79[0] = "Improved JSON quest validation with specific error reasons"; + span79[1] = "Added stop at sequence stop condition"; + span79[2] = "Improved Pandora plugin conflict detection"; + span79[3] = "Improved DialogueChoices regex matching"; + span79[4] = "Improved refresh checker for all quest states"; + reference152 = new ChangeEntry(EChangeCategory.Changed, "Various improvements", list153); + span76[3] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.31 Occult Crescent quests"); + span76[4] = new ChangeEntry(EChangeCategory.Fixed, "Fixed cutscene crashes, Single Player Duty triggers, and various quest issues"); + reference149 = new ChangelogEntry("6.9", releaseDate70, list150); + ref ChangelogEntry reference153 = ref span[70]; + DateOnly releaseDate71 = new DateOnly(2025, 9, 2); + num2 = 4; + List list154 = new List(num2); + CollectionsMarshal.SetCount(list154, num2); + Span span80 = CollectionsMarshal.AsSpan(list154); + ref ChangeEntry reference154 = ref span80[0]; + num3 = 3; + List list155 = new List(num3); + CollectionsMarshal.SetCount(list155, num3); + Span span81 = CollectionsMarshal.AsSpan(list155); + span81[0] = "Help commands and priority quest command"; + span81[1] = "Prevent 'CompleteQuest' step setting"; + span81[2] = "Duty counts and controls in 'Quest Battles' tab"; + reference154 = new ChangeEntry(EChangeCategory.Added, "Command and UI improvements", list155); + span80[1] = new ChangeEntry(EChangeCategory.Changed, "Improved 'Clear All' buttons to require CTRL being held"); + span80[2] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added Zodiac quests and 7.31 Cosmic/Occult Crescent quests"); + span80[3] = new ChangeEntry(EChangeCategory.Fixed, "Fixed Fishing for Friendship and Cosmic Exploration quests"); + reference153 = new ChangelogEntry("6.8", releaseDate71, list154); + ref ChangelogEntry reference155 = ref span[71]; + DateOnly releaseDate72 = new DateOnly(2025, 8, 27); + num2 = 4; + List list156 = new List(num2); + CollectionsMarshal.SetCount(list156, num2); + Span span82 = CollectionsMarshal.AsSpan(list156); + ref ChangeEntry reference156 = ref span82[0]; + num3 = 2; + List list157 = new List(num3); + CollectionsMarshal.SetCount(list157, num3); + Span span83 = CollectionsMarshal.AsSpan(list157); + span83[0] = "Icon to 'Clear All' button in stop conditions"; + span83[1] = "Duty counts and 'Enable All' button in 'Duties' tab"; + reference156 = new ChangeEntry(EChangeCategory.Added, "UI improvements", list157); + span82[1] = new ChangeEntry(EChangeCategory.Changed, "Renamed 'Clear' button to 'Clear All' in priority window"); + span82[2] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added Rising 2025 Event Quests"); + span82[3] = new ChangeEntry(EChangeCategory.Fixed, "Fixed clipboard assigning blacklist to whitelist in 'Duties' tab"); + reference155 = new ChangelogEntry("6.7", releaseDate72, list156); + ref ChangelogEntry reference157 = ref span[72]; + DateOnly releaseDate73 = new DateOnly(2025, 8, 25); num2 = 2; - List list152 = new List(num2); - CollectionsMarshal.SetCount(list152, num2); - Span span83 = CollectionsMarshal.AsSpan(list152); - span83[0] = new ChangeEntry(EChangeCategory.Fixed, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-494102919)); - span83[1] = new ChangeEntry(EChangeCategory.QuestUpdates, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1279249691)); - reference151 = new ChangelogEntry(version71, releaseDate71, list152); + List list158 = new List(num2); + CollectionsMarshal.SetCount(list158, num2); + Span span84 = CollectionsMarshal.AsSpan(list158); + ref ChangeEntry reference158 = ref span84[0]; + num3 = 2; + List list159 = new List(num3); + CollectionsMarshal.SetCount(list159, num3); + Span span85 = CollectionsMarshal.AsSpan(list159); + span85[0] = "Missing emotes to schema and emote handler"; + span85[1] = "Improved stop conditions with 'Clear All' button"; + reference158 = new ChangeEntry(EChangeCategory.Added, "Emote support and stop conditions", list159); + span84[1] = new ChangeEntry(EChangeCategory.Changed, "Stop at level functionality"); + reference157 = new ChangelogEntry("6.6", releaseDate73, list158); + ref ChangelogEntry reference159 = ref span[73]; + DateOnly releaseDate74 = new DateOnly(2025, 8, 25); + num2 = 2; + List list160 = new List(num2); + CollectionsMarshal.SetCount(list160, num2); + Span span86 = CollectionsMarshal.AsSpan(list160); + span86[0] = new ChangeEntry(EChangeCategory.Fixed, "Potential fix to single/solo duties softlocking"); + span86[1] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added San d'Oria: The Second Walk and various side quests"); + reference159 = new ChangelogEntry("6.5", releaseDate74, list160); Changelogs = list; } } diff --git a/Questionable/Questionable.Data/ClassJobUtils.cs b/Questionable/Questionable.Data/ClassJobUtils.cs index f14a898..51becbb 100644 --- a/Questionable/Questionable.Data/ClassJobUtils.cs +++ b/Questionable/Questionable.Data/ClassJobUtils.cs @@ -2,7 +2,6 @@ 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; @@ -15,273 +14,6 @@ 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; @@ -291,503 +23,155 @@ internal sealed class ClassJobUtils 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(); + _classJobToExpArrayIndex = (from x in dataManager.GetExcelSheet() + where x.RowId != 0 && x.ExpArrayIndex >= 0 + select x).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; + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Gladiator); + case EExtendedClassJob.Pugilist: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Pugilist); + case EExtendedClassJob.Marauder: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Marauder); + case EExtendedClassJob.Lancer: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Lancer); + case EExtendedClassJob.Archer: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Archer); case EExtendedClassJob.Conjurer: - goto IL_0638; - case EExtendedClassJob.DoH: - goto IL_064b; - case EExtendedClassJob.RedMage: - goto IL_0684; - case EExtendedClassJob.Gunbreaker: - goto IL_0698; + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Conjurer); + case EExtendedClassJob.Thaumaturge: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Thaumaturge); + case EExtendedClassJob.Carpenter: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Carpenter); + case EExtendedClassJob.Blacksmith: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Blacksmith); + case EExtendedClassJob.Armorer: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Armorer); + case EExtendedClassJob.Goldsmith: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Goldsmith); + case EExtendedClassJob.Leatherworker: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Leatherworker); case EExtendedClassJob.Weaver: - goto IL_06ae; - case EExtendedClassJob.Sage: - goto IL_06c2; + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Weaver); + case EExtendedClassJob.Alchemist: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Alchemist); + case EExtendedClassJob.Culinarian: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Culinarian); + case EExtendedClassJob.Miner: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Miner); + case EExtendedClassJob.Botanist: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Botanist); + case EExtendedClassJob.Fisher: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Fisher); + case EExtendedClassJob.Paladin: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Paladin); + case EExtendedClassJob.Monk: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Monk); + case EExtendedClassJob.Warrior: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Warrior); + case EExtendedClassJob.Dragoon: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Dragoon); + case EExtendedClassJob.Bard: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Bard); + case EExtendedClassJob.WhiteMage: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.WhiteMage); + case EExtendedClassJob.BlackMage: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.BlackMage); + case EExtendedClassJob.Arcanist: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Arcanist); + case EExtendedClassJob.Summoner: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Summoner); + case EExtendedClassJob.Scholar: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Scholar); + case EExtendedClassJob.Rogue: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Rogue); + case EExtendedClassJob.Ninja: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Ninja); + case EExtendedClassJob.Machinist: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Machinist); case EExtendedClassJob.DarkKnight: - goto IL_06d6; - IL_00d8: - while (true) + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.DarkKnight); + case EExtendedClassJob.Astrologian: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Astrologian); + case EExtendedClassJob.Samurai: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Samurai); + case EExtendedClassJob.RedMage: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.RedMage); + case EExtendedClassJob.BlueMage: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.BlueMage); + case EExtendedClassJob.Gunbreaker: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Gunbreaker); + case EExtendedClassJob.Dancer: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Dancer); + case EExtendedClassJob.Reaper: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Reaper); + case EExtendedClassJob.Sage: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Sage); + case EExtendedClassJob.Viper: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Viper); + case EExtendedClassJob.Pictomancer: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Pictomancer); + case EExtendedClassJob.Beastmaster: + return new global::_003C_003Ez__ReadOnlySingleElementList(EClassJob.Beastmaster); + case EExtendedClassJob.DoW: + return from x in Enum.GetValues() + where x.DealsPhysicalDamage() + select x; + case EExtendedClassJob.DoM: + return from x in Enum.GetValues() + where x.DealsMagicDamage() + select x; + case EExtendedClassJob.DoH: + return from x in Enum.GetValues() + where x.IsCrafter() + select x; + case EExtendedClassJob.DoL: + return from x in Enum.GetValues() + where x.IsGatherer() + select x; + case EExtendedClassJob.ConfiguredCombatJob: + { + EClassJob eClassJob2 = LookupConfiguredCombatJob(); + IEnumerable result2; + if (eClassJob2 == EClassJob.Adventurer) { - 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; + IEnumerable enumerable = Array.Empty(); + result2 = enumerable; } - 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; + else + { + IEnumerable enumerable = new global::_003C_003Ez__ReadOnlySingleElementList(eClassJob2); + result2 = enumerable; + } + return result2; + } + case EExtendedClassJob.QuestStartJob: + { + EClassJob eClassJob = LookupQuestStartJob(referenceQuest); + IEnumerable result; + if (eClassJob == EClassJob.Adventurer) + { + IEnumerable enumerable = Array.Empty(); + result = enumerable; + } + else + { + IEnumerable enumerable = new global::_003C_003Ez__ReadOnlySingleElementList(eClassJob); + result = enumerable; + } + return result; + } + default: + throw new ArgumentOutOfRangeException("classJob", classJob, null); } } @@ -796,250 +180,83 @@ internal sealed class ClassJobUtils 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) + if (configuredJob != EClassJob.Adventurer) { - int num2 = num; - int num3 = 948516032; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (hashSet.Contains(configuredJob)) { - 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; + } + EClassJob eClassJob = Enum.GetValues().SingleOrDefault((EClassJob x) => x.IsClass() && x.AsJob() == configuredJob); + if (eClassJob != EClassJob.Adventurer && hashSet.Contains(eClassJob)) + { + return eClassJob; } } + 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) + { + if (x.ClassJob.IsCaster()) + { + return 50; + } + if (x.ClassJob.IsPhysicalRanged()) + { + return 40; + } + if (x.ClassJob.IsMelee()) + { + return 30; + } + if (x.ClassJob.IsTank()) + { + return 20; + } + return x.ClassJob.IsHealer() ? 10 : 0; + }) + select x.ClassJob).DefaultIfEmpty(EClassJob.Adventurer).FirstOrDefault(); } 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) + if (ptr == null) { - int num2 = num; - int num3 = 414086819; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return list.AsReadOnly(); + } + for (int i = 0; i < 100; i++) + { + RaptureGearsetModule.GearsetEntry* gearset = ptr->GetGearset(i); + if (!gearset->Flags.HasFlag(RaptureGearsetModule.GearsetFlag.Exists)) { - 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; + continue; } - 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: + EClassJob classJob = (EClassJob)gearset->ClassJob; + if (!classJob.IsCrafter() && !classJob.IsGatherer()) { - int num5 = num6; - num3 = 1; - num4 = num5; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - num6 = num7 + (num8 + num8); - num = 414086826; - break; - } + short classJobLevel = PlayerStateHelper.GetClassJobLevel(_classJobToExpArrayIndex[classJob]); + if (classJobLevel != 0) + { + short itemLevel = gearset->ItemLevel; + list.Add((classJob, classJobLevel, itemLevel)); + } } } + return list.AsReadOnly(); } - [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) + ArgumentNullException.ThrowIfNull(elementId, "elementId"); + if (elementId is QuestId questId) { - int num2 = num; - int num3 = 1903187955; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + QuestWork* questById = QuestManager.Instance()->GetQuestById(questId.Value); + if (questById->AcceptClassJob != 0) { - 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; + return EClassJob.Adventurer; } } diff --git a/Questionable/Questionable.Data/DutyEntry.cs b/Questionable/Questionable.Data/DutyEntry.cs index eb3afdd..f299f31 100644 --- a/Questionable/Questionable.Data/DutyEntry.cs +++ b/Questionable/Questionable.Data/DutyEntry.cs @@ -1,162 +1,5 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Questionable.Model.Questing; namespace Questionable.Data; -public record DutyEntry(bool Enabled, EDutyMode? DutyMode = null, bool LowPriority = false, string? TestedAutoDutyVersion = null, string? TestedBossModVersion = null, params string[] Notes) -{ - [CompilerGenerated] - protected virtual Type EqualityContract - { - [CompilerGenerated] - get - { - return _206B_202C_206A_206B_202E_206D_200D_202A_202C_206E_202D_202D_202C_200E_200B_202D_206E_202A_206D_200B_202A_206F_202A_202A_200E_202D_202A_206A_206E_202A_202A_200C_200F_200E_206B_202B_200E_200E_202C_200E_202E(typeof(DutyEntry).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200B_200E_206C_206A_200E_202C_202E_206B_206D_202B_200C_200E_206D_202A_200D_202A_200B_206E_206E_202D_200E_202C_206B_200E_202A_206E_206E_206E_200B_200C_202D_206B_202A_202B_200B_202E_200D_200F_202A_202E_202E(); - _202B_200C_206C_206B_206A_206A_200C_200B_206B_202E_202D_202D_206B_206A_200F_200F_202E_200B_202B_206A_200E_206D_206B_206D_202E_202D_206D_202E_206B_206C_206A_206F_200B_206D_202D_206F_206B_206B_206C_206B_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1564111399)); - _202B_200C_206C_206B_206A_206A_200C_200B_206B_202E_202D_202D_206B_206A_200F_200F_202E_200B_202B_206A_200E_206D_206B_206D_202E_202D_206D_202E_206B_206C_206A_206F_200B_206D_202D_206F_206B_206B_206C_206B_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(556540328)); - int num = ((!PrintMembers(stringBuilder)) ? 1829663405 : 1829663404); - while (true) - { - int num2 = num; - int num3 = 1829663405; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _206F_202D_202E_206D_200F_200B_206A_202E_200B_200C_206B_202C_202D_200F_206A_206A_200C_200B_202D_200C_202D_206F_202E_200D_200C_202E_206B_200F_202A_200E_206B_206A_202E_202D_200F_206C_202E_202E_202A_200F_202E(stringBuilder, '}'); - return _206A_200C_200D_206B_206D_202D_200C_200F_200F_202C_206C_202C_200E_206C_202B_206E_200B_202A_206B_200C_206C_206B_206C_206D_206E_202C_206B_202B_206C_206A_206C_206F_206F_206C_206A_200B_200E_206B_200F_206C_202E((object?)stringBuilder); - case 1: - _206F_202D_202E_206D_200F_200B_206A_202E_200B_200C_206B_202C_202D_200F_206A_206A_200C_200B_202D_200C_202D_206F_202E_200D_200C_202E_206B_200F_202A_200E_206B_206A_202E_202D_200F_206C_202E_202E_202A_200F_202E(stringBuilder, ' '); - num = 1829663405; - break; - case 2: - num = 1829663404; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected virtual bool PrintMembers(StringBuilder builder) - { - _202C_200E_200F_200D_202B_206B_206D_202A_202D_202A_202E_202A_202D_206C_206C_202A_206D_200F_206D_206B_202A_206A_206E_206B_206A_202E_202B_206C_202C_202D_206D_200F_202D_206C_200D_200B_200F_200F_206C_200E_202E(); - _202B_200C_206C_206B_206A_206A_200C_200B_206B_202E_202D_202D_206B_206A_200F_200F_202E_200B_202B_206A_200E_206D_206B_206D_202E_202D_206D_202E_206B_206C_206A_206F_200B_206D_202D_206F_206B_206B_206C_206B_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2084857549)); - _202B_200C_206C_206B_206A_206A_200C_200B_206B_202E_202D_202D_206B_206A_200F_200F_202E_200B_202B_206A_200E_206D_206B_206D_202E_202D_206D_202E_206B_206C_206A_206F_200B_206D_202D_206F_206B_206B_206C_206B_202E(builder, Enabled.ToString()); - _202B_200C_206C_206B_206A_206A_200C_200B_206B_202E_202D_202D_206B_206A_200F_200F_202E_200B_202B_206A_200E_206D_206B_206D_202E_202D_206D_202E_206B_206C_206A_206F_200B_206D_202D_206F_206B_206B_206C_206B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-803397145)); - _202B_200C_206C_206B_206A_206A_200C_200B_206B_202E_202D_202D_206B_206A_200F_200F_202E_200B_202B_206A_200E_206D_206B_206D_202E_202D_206D_202E_206B_206C_206A_206F_200B_206D_202D_206F_206B_206B_206C_206B_202E(builder, DutyMode.ToString()); - _202B_200C_206C_206B_206A_206A_200C_200B_206B_202E_202D_202D_206B_206A_200F_200F_202E_200B_202B_206A_200E_206D_206B_206D_202E_202D_206D_202E_206B_206C_206A_206F_200B_206D_202D_206F_206B_206B_206C_206B_202E(builder, 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(46890329)); - _202B_200C_206C_206B_206A_206A_200C_200B_206B_202E_202D_202D_206B_206A_200F_200F_202E_200B_202B_206A_200E_206D_206B_206D_202E_202D_206D_202E_206B_206C_206A_206F_200B_206D_202D_206F_206B_206B_206C_206B_202E(builder, LowPriority.ToString()); - _202B_200C_206C_206B_206A_206A_200C_200B_206B_202E_202D_202D_206B_206A_200F_200F_202E_200B_202B_206A_200E_206D_206B_206D_202E_202D_206D_202E_206B_206C_206A_206F_200B_206D_202D_206F_206B_206B_206C_206B_202E(builder, 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(1653418584)); - _200F_200C_200E_202A_200D_206C_202D_200B_202E_206F_206B_202B_202D_206C_206F_202C_206E_202A_202E_200F_202E_200C_202B_202B_202B_206F_200C_206B_206E_206C_206E_206E_200D_200B_206D_206B_206E_202B_200F_202A_202E(builder, (object?)TestedAutoDutyVersion); - _202B_200C_206C_206B_206A_206A_200C_200B_206B_202E_202D_202D_206B_206A_200F_200F_202E_200B_202B_206A_200E_206D_206B_206D_202E_202D_206D_202E_206B_206C_206A_206F_200B_206D_202D_206F_206B_206B_206C_206B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1902779577)); - _200F_200C_200E_202A_200D_206C_202D_200B_202E_206F_206B_202B_202D_206C_206F_202C_206E_202A_202E_200F_202E_200C_202B_202B_202B_206F_200C_206B_206E_206C_206E_206E_200D_200B_206D_206B_206E_202B_200F_202A_202E(builder, (object?)TestedBossModVersion); - _202B_200C_206C_206B_206A_206A_200C_200B_206B_202E_202D_202D_206B_206A_200F_200F_202E_200B_202B_206A_200E_206D_206B_206D_202E_202D_206D_202E_206B_206C_206A_206F_200B_206D_202D_206F_206B_206B_206C_206B_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(743555785)); - _200F_200C_200E_202A_200D_206C_202D_200B_202E_206F_206B_202B_202D_206C_206F_202C_206E_202A_202E_200F_202E_200C_202B_202B_202B_206F_200C_206B_206E_206C_206E_206E_200D_200B_206D_206B_206E_202B_200F_202A_202E(builder, (object?)Notes); - return true; - } - - [CompilerGenerated] - public virtual bool Equals(DutyEntry? other) - { - int num = (((object)this == other) ? (-1968311601) : (-1968311608)); - while (true) - { - int num2 = num; - int num3 = -1968311602; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = ((!EqualityComparer.Default.Equals(TestedBossModVersion, other.TestedBossModVersion)) ? (-1968311609) : (-1968311604)); - break; - case 6: - num = (((object)other == null) ? (-1968311609) : (-1968311605)); - break; - case 0: - num = ((!EqualityComparer.Default.Equals(LowPriority, other.LowPriority)) ? (-1968311609) : (-1968311612)); - break; - case 2: - return EqualityComparer.Default.Equals(Notes, other.Notes); - case 9: - return false; - case 10: - num = ((!EqualityComparer.Default.Equals(TestedAutoDutyVersion, other.TestedAutoDutyVersion)) ? (-1968311609) : (-1968311603)); - break; - case 7: - num = ((!EqualityComparer.Default.Equals(DutyMode, other.DutyMode)) ? (-1968311609) : (-1968311602)); - break; - case 5: - num = ((!_206E_202B_202E_206B_200F_206C_200F_206D_200B_206C_200B_206F_202D_206E_206B_206E_202E_202E_202E_206F_200D_206B_206B_200D_200E_200E_206D_206A_206A_202E_206D_206D_206B_200B_206C_200E_206D_202E_200E_206E_202E(EqualityContract, other.EqualityContract)) ? (-1968311609) : (-1968311606)); - break; - case 1: - return true; - case 8: - num = -1968311608; - break; - case 4: - num = ((!EqualityComparer.Default.Equals(Enabled, other.Enabled)) ? (-1968311609) : (-1968311607)); - break; - } - } - } - - bool IEquatable.Equals(DutyEntry? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type? _206B_202C_206A_206B_202E_206D_200D_202A_202C_206E_202D_202D_202C_200E_200B_202D_206E_202A_206D_200B_202A_206F_202A_202A_200E_202D_202A_206A_206E_202A_202A_200C_200F_200E_206B_202B_200E_200E_202C_200E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder? _200B_200E_206C_206A_200E_202C_202E_206B_206D_202B_200C_200E_206D_202A_200D_202A_200B_206E_206E_202D_200E_202C_206B_200E_202A_206E_206E_206E_200B_200C_202D_206B_202A_202B_200B_202E_200D_200F_202A_202E_202E() - { - return new StringBuilder(); - } - - static StringBuilder? _202B_200C_206C_206B_206A_206A_200C_200B_206B_202E_202D_202D_206B_206A_200F_200F_202E_200B_202B_206A_200E_206D_206B_206D_202E_202D_206D_202E_206B_206C_206A_206F_200B_206D_202D_206F_206B_206B_206C_206B_202E(StringBuilder? P_0, string? P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder? _206F_202D_202E_206D_200F_200B_206A_202E_200B_200C_206B_202C_202D_200F_206A_206A_200C_200B_202D_200C_202D_206F_202E_200D_200C_202E_206B_200F_202A_200E_206B_206A_202E_202D_200F_206C_202E_202E_202A_200F_202E(StringBuilder? P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string? _206A_200C_200D_206B_206D_202D_200C_200F_200F_202C_206C_202C_200E_206C_202B_206E_200B_202A_206B_200C_206C_206B_206C_206D_206E_202C_206B_202B_206C_206A_206C_206F_206F_206C_206A_200B_200E_206B_200F_206C_202E(object? P_0) - { - return P_0.ToString(); - } - - static void _202C_200E_200F_200D_202B_206B_206D_202A_202D_202A_202E_202A_202D_206C_206C_202A_206D_200F_206D_206B_202A_206A_206E_206B_206A_202E_202B_206C_202C_202D_206D_200F_202D_206C_200D_200B_200F_200F_206C_200E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder? _200F_200C_200E_202A_200D_206C_202D_200B_202E_206F_206B_202B_202D_206C_206F_202C_206E_202A_202E_200F_202E_200C_202B_202B_202B_206F_200C_206B_206E_206C_206E_206E_200D_200B_206D_206B_206E_202B_200F_202A_202E(StringBuilder? P_0, object? P_1) - { - return P_0.Append(P_1); - } - - static bool _206E_202B_202E_206B_200F_206C_200F_206D_200B_206C_200B_206F_202D_206E_206B_206E_202E_202E_202E_206F_200D_206B_206B_200D_200E_200E_206D_206A_206A_202E_206D_206D_206B_200B_206C_200E_206D_202E_200E_206E_202E(Type? P_0, Type? P_1) - { - return P_0 == P_1; - } -} +public record DutyEntry(bool Enabled, EDutyMode? DutyMode = null, bool LowPriority = false, string? TestedAutoDutyVersion = null, string? TestedBossModVersion = null, params string[] Notes); diff --git a/Questionable/Questionable.Data/DutyInfo.cs b/Questionable/Questionable.Data/DutyInfo.cs index ebfe83f..b37e13e 100644 --- a/Questionable/Questionable.Data/DutyInfo.cs +++ b/Questionable/Questionable.Data/DutyInfo.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; using System.Collections.Immutable; -using System.Runtime.CompilerServices; -using System.Text; using FFXIVClientStructs.FFXIV.Client.Game.UI; using Questionable.Model.Questing; @@ -10,211 +6,17 @@ namespace Questionable.Data; public sealed record DutyInfo(uint ContentFinderConditionId, uint ContentId, string Name, uint ContentTypeId, string ContentTypeName, ushort Level, ushort ItemLevel, ImmutableList UnlockQuests, bool IsHighEndDuty, EDutyCategory DutyCategory) { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200E_206E_206D_206C_206E_202C_206A_200C_202D_206A_202E_206B_206F_202E_202E_206C_206F_202D_200E_206A_200F_202D_202D_206C_202A_202B_200B_206E_202A_200D_200D_200B_202A_200E_200E_206A_202E_206C_202A_202E(typeof(DutyInfo).TypeHandle); - } - } - public bool IsUnlocked => UIState.IsInstanceContentUnlocked(ContentId); public bool? IsCompleted { get { - int num = ((DutyCategory == EDutyCategory.DeepDungeon) ? 1546922705 : 1546922706); - while (true) + if (DutyCategory != EDutyCategory.DeepDungeon) { - int num2 = num; - int num3 = 1546922707; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004a; - case 1: - return UIState.IsInstanceContentCompleted((ushort)ContentId); - case 2: - return null; - } - continue; - IL_004a: - num = 1546922706; + return UIState.IsInstanceContentCompleted((ushort)ContentId); } + return null; } } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206A_202E_206F_206D_202A_200E_200B_206C_206B_202D_206E_202A_200E_202E_202A_206A_200F_202A_202A_200E_200E_206B_206D_200E_206E_206B_206E_200D_202C_200D_206B_200B_200B_206A_200B_206A_206C_200E_206B_200D_202E(); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(stringBuilder, 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(1059308005)); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? 2048669009 : 2048669008); - while (true) - { - int num2 = num; - int num3 = 2048669009; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _202B_202E_202E_200F_202B_202B_206B_200C_202C_206F_206E_206C_202B_206E_200C_202E_200B_202E_200F_202D_200C_206B_206B_206E_206F_202C_200F_206B_202B_202A_206A_202B_202E_206A_200B_202A_202C_202C_200E_202B_202E(stringBuilder, '}'); - return _202A_206B_200B_200C_200C_200C_200C_206B_206E_206D_202C_206F_200D_202B_200B_206C_202A_202B_206D_200F_202A_206C_202C_206B_206D_200C_206B_202C_206D_202C_206A_200F_200E_206D_202B_200E_206B_206D_206C_200E_202E((object)stringBuilder); - case 1: - _202B_202E_202E_200F_202B_202B_206B_200C_202C_206F_206E_206C_202B_206E_200C_202E_200B_202E_200F_202D_200C_206B_206B_206E_206F_202C_200F_206B_202B_202A_206A_202B_202E_206A_200B_202A_202C_202C_200E_202B_202E(stringBuilder, ' '); - num = 2048669009; - break; - case 2: - num = 2048669008; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202A_200E_202D_200F_200E_206A_202E_206B_200D_200E_206A_200E_200D_206A_206A_206E_200B_200F_200B_202A_206D_206F_206C_200D_202E_206E_200F_206F_202D_202C_202E_200C_202C_200D_200F_202E_202A_206A_202D_202E_202E(); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-532733746)); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(builder, ContentFinderConditionId.ToString()); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1527461254)); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(builder, ContentId.ToString()); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(builder, 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(-838515035)); - _202E_206A_206C_202C_206B_206C_200C_206B_202D_202C_200C_202D_200F_202E_202E_202B_202B_206E_206C_202B_206C_206D_202B_200D_200C_206C_206A_206B_200F_202B_206A_206A_206D_202E_206B_206C_206A_202E_202D_202A_202E(builder, (object)Name); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1858187040)); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(builder, ContentTypeId.ToString()); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(builder, 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(-50463825)); - _202E_206A_206C_202C_206B_206C_200C_206B_202D_202C_200C_202D_200F_202E_202E_202B_202B_206E_206C_202B_206C_206D_202B_200D_200C_206C_206A_206B_200F_202B_206A_206A_206D_202E_206B_206C_206A_202E_202D_202A_202E(builder, (object)ContentTypeName); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(builder, 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(2059092762)); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(builder, Level.ToString()); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(296851361)); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(builder, ItemLevel.ToString()); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(builder, 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(-969668761)); - _202E_206A_206C_202C_206B_206C_200C_206B_202D_202C_200C_202D_200F_202E_202E_202B_202B_206E_206C_202B_206C_206D_202B_200D_200C_206C_206A_206B_200F_202B_206A_206A_206D_202E_206B_206C_206A_202E_202D_202A_202E(builder, (object)UnlockQuests); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(117454616)); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(builder, IsHighEndDuty.ToString()); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(567514760)); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(builder, DutyCategory.ToString()); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-728741772)); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(builder, IsUnlocked.ToString()); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(builder, 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(1427571993)); - _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(builder, IsCompleted.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(DutyInfo? other) - { - int num = (((object)this == other) ? (-489118801) : (-489118809)); - while (true) - { - int num2 = num; - int num3 = -489118804; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 8: - num = ((!EqualityComparer.Default.Equals(ContentTypeId, other.ContentTypeId)) ? (-489118815) : (-489118816)); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(Level, other.Level)) ? (-489118815) : (-489118810)); - break; - case 13: - return false; - case 12: - num = ((!EqualityComparer.Default.Equals(ContentTypeName, other.ContentTypeName)) ? (-489118815) : (-489118806)); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(ContentFinderConditionId, other.ContentFinderConditionId)) ? (-489118815) : (-489118802)); - break; - case 9: - num = ((!_200B_206E_206F_200E_206F_202A_200D_200C_206C_206E_206B_200C_200C_206A_206B_202A_206E_202D_200B_202E_202B_200E_206B_200D_202D_206C_202C_206C_206C_202A_200F_202E_202C_200C_202A_200F_200D_200B_206C_206C_202E(EqualityContract, other.EqualityContract)) ? (-489118815) : (-489118803)); - break; - case 10: - num = ((!EqualityComparer.Default.Equals(ItemLevel, other.ItemLevel)) ? (-489118815) : (-489118805)); - break; - case 11: - num = (((object)other == null) ? (-489118815) : (-489118811)); - break; - case 3: - return true; - case 5: - num = -489118809; - break; - case 0: - num = ((!EqualityComparer.Default.Equals(Name, other.Name)) ? (-489118815) : (-489118812)); - break; - case 14: - num = ((!EqualityComparer.Default.Equals(IsHighEndDuty, other.IsHighEndDuty)) ? (-489118815) : (-489118808)); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(ContentId, other.ContentId)) ? (-489118815) : (-489118804)); - break; - case 4: - return EqualityComparer.Default.Equals(DutyCategory, other.DutyCategory); - case 7: - num = ((!EqualityComparer>.Default.Equals(UnlockQuests, other.UnlockQuests)) ? (-489118815) : (-489118814)); - break; - } - } - } - - bool IEquatable.Equals(DutyInfo? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200E_206E_206D_206C_206E_202C_206A_200C_202D_206A_202E_206B_206F_202E_202E_206C_206F_202D_200E_206A_200F_202D_202D_206C_202A_202B_200B_206E_202A_200D_200D_200B_202A_200E_200E_206A_202E_206C_202A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206A_202E_206F_206D_202A_200E_200B_206C_206B_202D_206E_202A_200E_202E_202A_206A_200F_202A_202A_200E_200E_206B_206D_200E_206E_206B_206E_200D_202C_200D_206B_200B_200B_206A_200B_206A_206C_200E_206B_200D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206F_200F_200E_202A_200C_202A_206C_206B_202B_206B_206C_206C_202D_200D_202C_206D_206D_202D_206F_202B_202C_206E_200B_202E_200E_206C_206C_202D_200C_200E_202E_202B_206C_200D_202D_206A_202D_206B_202D_206B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202B_202E_202E_200F_202B_202B_206B_200C_202C_206F_206E_206C_202B_206E_200C_202E_200B_202E_200F_202D_200C_206B_206B_206E_206F_202C_200F_206B_202B_202A_206A_202B_202E_206A_200B_202A_202C_202C_200E_202B_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202A_206B_200B_200C_200C_200C_200C_206B_206E_206D_202C_206F_200D_202B_200B_206C_202A_202B_206D_200F_202A_206C_202C_206B_206D_200C_206B_202C_206D_202C_206A_200F_200E_206D_202B_200E_206B_206D_206C_200E_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202A_200E_202D_200F_200E_206A_202E_206B_200D_200E_206A_200E_200D_206A_206A_206E_200B_200F_200B_202A_206D_206F_206C_200D_202E_206E_200F_206F_202D_202C_202E_200C_202C_200D_200F_202E_202A_206A_202D_202E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202E_206A_206C_202C_206B_206C_200C_206B_202D_202C_200C_202D_200F_202E_202E_202B_202B_206E_206C_202B_206C_206D_202B_200D_200C_206C_206A_206B_200F_202B_206A_206A_206D_202E_206B_206C_206A_202E_202D_202A_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200B_206E_206F_200E_206F_202A_200D_200C_206C_206E_206B_200C_200C_206A_206B_202A_206E_202D_200B_202E_202B_200E_206B_200D_202D_206C_202C_206C_206C_202A_200F_202E_202C_200C_202A_200F_200D_200B_206C_206C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } } diff --git a/Questionable/Questionable.Data/DutyRegistry.cs b/Questionable/Questionable.Data/DutyRegistry.cs index 5e7cc71..284a1ed 100644 --- a/Questionable/Questionable.Data/DutyRegistry.cs +++ b/Questionable/Questionable.Data/DutyRegistry.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using System.Runtime.CompilerServices; using Questionable.Model.Questing; namespace Questionable.Data; @@ -10,7 +9,6 @@ internal static class DutyRegistry public static readonly Dictionary SinglePlayerDuties; - [MethodImpl(MethodImplOptions.NoInlining)] static DutyRegistry() { Dictionary dictionary = new Dictionary @@ -21,16 +19,12 @@ internal static class DutyRegistry [4u] = new DutyEntry(true, null, false, null, null), [5u] = new DutyEntry(true, EDutyMode.UnsyncSolo, false, null, null) }; - string[] notes = new string[1] { global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-740056138) }; + string[] notes = new string[1] { "(after boss 2) Will not pick up the bloody parchment, and instead run off to open a random unrelated chest that it can't reach" }; dictionary[6u] = new DutyEntry(Enabled: false, null, LowPriority: false, null, null, notes); - notes = new string[1] { 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(500792075) }; + notes = new string[1] { "(boss 2) Will walk out of the boss arena to try and attack optional enemies on the upper level, thus resetting the boss and breaking the path" }; dictionary[8u] = new DutyEntry(Enabled: false, null, LowPriority: false, null, null, notes); dictionary[10u] = new DutyEntry(true, null, false, null, null); - notes = new string[2] - { - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-321137558), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1525766035) - }; + notes = new string[2] { "(boss 1) AI will not face cleaves away from healer, typically killing them", "(boss 3) AI will not face cleaves away from healer, which doesn't always kill them" }; dictionary[11u] = new DutyEntry(Enabled: false, null, LowPriority: false, null, null, notes); dictionary[13u] = new DutyEntry(true, EDutyMode.UnsyncSolo, false, null, null); dictionary[14u] = new DutyEntry(true, EDutyMode.UnsyncSolo, false, null, null); @@ -95,19 +89,12 @@ internal static class DutyRegistry dictionary[137u] = new DutyEntry(false, null, false, null, null); dictionary[138u] = new DutyEntry(false, null, false, null, null); dictionary[139u] = new DutyEntry(false, null, false, null, null); - dictionary[141u] = new DutyEntry(true, null, false, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-849445722), null); + dictionary[141u] = new DutyEntry(true, null, false, "0.0.0.191", null); dictionary[168u] = new DutyEntry(false, null, false, null, null); dictionary[169u] = new DutyEntry(false, null, false, null, null); - dictionary[171u] = new DutyEntry(Enabled: false, Notes: new string[2] - { - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-97471851), - 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(-1463285387) - }, DutyMode: null, LowPriority: false, TestedAutoDutyVersion: 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(544130609), TestedBossModVersion: 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(-1688701408)); - notes = new string[2] - { - 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(606315529), - 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(16182373) - }; + notes = new string[2] { "(boss 1) Doesn't knock all moogles out of the rez area", "(boss 3) Stack goal zone isn't properly removed from NPC, so the character will stack even for spread markers + slide into AOEs during ice" }; + dictionary[171u] = new DutyEntry(Enabled: false, null, LowPriority: false, "0.0.0.227", "0.3.0.5", notes); + notes = new string[2] { "(after boss 1) the drawbridges being up will lead you to die from the spikes", "(after boss 1) the lift isn't working properly" }; dictionary[182u] = new DutyEntry(Enabled: false, null, LowPriority: false, null, null, notes); dictionary[183u] = new DutyEntry(false, null, false, null, null); dictionary[186u] = new DutyEntry(false, null, false, null, null); @@ -123,11 +110,7 @@ internal static class DutyRegistry dictionary[239u] = new DutyEntry(false, null, false, null, null); dictionary[240u] = new DutyEntry(false, null, false, null, null); dictionary[241u] = new DutyEntry(true, null, false, null, null); - notes = new string[2] - { - 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(-1573536567), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-595104119) - }; + notes = new string[2] { "(before boss 2) AD doesn't attack magitek pods, but waits for enemies to spawn from them (even though it has explicit waypoints)", "(boss 2) VBM moves out of the towers before their mechanic is resolved, sometimes killing the NPC healer" }; dictionary[242u] = new DutyEntry(Enabled: true, null, LowPriority: false, null, null, notes); dictionary[243u] = new DutyEntry(false, null, false, null, null); dictionary[247u] = new DutyEntry(false, null, false, null, null); @@ -195,7 +178,7 @@ internal static class DutyRegistry dictionary[781u] = new DutyEntry(false, null, false, null, null); dictionary[783u] = new DutyEntry(true, null, false, null, null); dictionary[785u] = new DutyEntry(false, null, false, null, null); - notes = new string[1] { global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1940255737) }; + notes = new string[1] { "No VBM module" }; dictionary[786u] = new DutyEntry(Enabled: false, null, LowPriority: false, null, null, notes); dictionary[787u] = new DutyEntry(true, null, false, null, null); dictionary[789u] = new DutyEntry(true, null, false, null, null); @@ -207,7 +190,7 @@ internal static class DutyRegistry dictionary[806u] = new DutyEntry(false, null, false, null, null); dictionary[808u] = new DutyEntry(false, null, false, null, null); dictionary[810u] = new DutyEntry(false, null, false, null, null); - notes = new string[1] { 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(-719778432) }; + notes = new string[1] { "Navigation issues for area transitions" }; dictionary[822u] = new DutyEntry(Enabled: false, null, LowPriority: false, null, null, notes); dictionary[823u] = new DutyEntry(true, null, false, null, null); dictionary[824u] = new DutyEntry(true, null, false, null, null); @@ -219,10 +202,10 @@ internal static class DutyRegistry dictionary[831u] = new DutyEntry(true, null, false, null, null); dictionary[832u] = new DutyEntry(false, null, false, null, null); dictionary[834u] = new DutyEntry(false, null, false, null, null); - notes = new string[1] { global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-159916004) }; + notes = new string[1] { "No VBM module" }; dictionary[844u] = new DutyEntry(Enabled: false, null, LowPriority: false, null, null, notes); dictionary[866u] = new DutyEntry(false, null, false, null, null); - notes = new string[1] { 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(-2114799360) }; + notes = new string[1] { "No VBM module" }; dictionary[869u] = new DutyEntry(Enabled: false, null, LowPriority: false, null, null, notes); dictionary[870u] = new DutyEntry(false, null, false, null, null); dictionary[872u] = new DutyEntry(false, null, false, null, null); @@ -246,20 +229,16 @@ internal static class DutyRegistry dictionary[987u] = new DutyEntry(false, null, false, null, null); dictionary[989u] = new DutyEntry(false, null, false, null, null); dictionary[991u] = new DutyEntry(false, null, false, null, null); - notes = new string[1] { global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-159916004) }; + notes = new string[1] { "No VBM module" }; dictionary[995u] = new DutyEntry(Enabled: false, null, LowPriority: false, null, null, notes); - notes = new string[2] - { - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1305406828), - 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(586601640) - }; + notes = new string[2] { "(boss 2) Requires vbm's auto-turn gaze option", "(boss 3) Dashes (such as on SMN) will dash into the hole" }; dictionary[1008u] = new DutyEntry(Enabled: true, null, LowPriority: false, null, null, notes); dictionary[1015u] = new DutyEntry(false, null, false, null, null); dictionary[1019u] = new DutyEntry(false, null, false, null, null); dictionary[1021u] = new DutyEntry(false, null, false, null, null); dictionary[1023u] = new DutyEntry(false, null, false, null, null); dictionary[1025u] = new DutyEntry(false, null, false, null, null); - dictionary[1027u] = new DutyEntry(true, null, false, 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(-207523551), 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(-2137277187)); + dictionary[1027u] = new DutyEntry(true, null, false, "0.0.0.230", "0.3.2.4"); dictionary[1028u] = new DutyEntry(false, null, false, null, null); dictionary[1030u] = new DutyEntry(false, null, false, null, null); dictionary[1043u] = new DutyEntry(false, null, false, null, null); @@ -280,8 +259,8 @@ internal static class DutyRegistry }, [56] = new SinglePlayerDutyEntry[2] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(399731535)), - new SinglePlayerDutyEntry(true, 1, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-139715764)) + new SinglePlayerDutyEntry(true, 0, "0.3.2.4"), + new SinglePlayerDutyEntry(true, 1, "0.3.2.4") }, [68] = new SinglePlayerDutyEntry[1] { @@ -302,23 +281,23 @@ internal static class DutyRegistry }, [88] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(1819257689), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1985319516), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1068534247)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292", "Will target Eline first (other NPCs later), and move to some -other- group of NPCs; only re-targets once they're at 1 HP (for Eline) or die", "If the target isn't in melee range but other NPCs are, whether any AOEs are used for nearby enemies seems random") }, [91] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(492644870)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [92] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(492644870)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [126] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-62065112), 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(278409112), 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(-1377475822), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1492222972), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-123202390)) + new SinglePlayerDutyEntry(false, 0, "0.0.0.292", "(phase 1) AI doesn't move or pick up the stolen firearms", "(phase 1 + 2) AI automatically removes Hidden status", "(phase 2) AI only moves while targeted enemies are in range + gets stuck on corners while trying to get to irrelevant enemies", "(phase 2) AI doesn't even attempt to navigate to the end of the quest") }, [129] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1228756590)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [144] = new SinglePlayerDutyEntry[1] { @@ -334,7 +313,7 @@ internal static class DutyRegistry }, [147] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1740594943)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [148] = new SinglePlayerDutyEntry[1] { @@ -346,7 +325,7 @@ internal static class DutyRegistry }, [161] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-62065112), 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(1502595228)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292", "Healer NPC is only killed after the boss dies; all NPCs need to be killed for the duty to complete") }, [213] = new SinglePlayerDutyEntry[1] { @@ -386,7 +365,7 @@ internal static class DutyRegistry }, [265] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-427164286)) + new SinglePlayerDutyEntry(true, 0, "0.4.6.0") }, [288] = new SinglePlayerDutyEntry[1] { @@ -394,39 +373,39 @@ internal static class DutyRegistry }, [313] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-104173425)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [317] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-104173425)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [318] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(-541438926)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [319] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1507724262)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [320] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(1819257689)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [336] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(1819257689)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [343] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-62065112)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [350] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(399731535), 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(-1050531972), 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(1049973291)) + new SinglePlayerDutyEntry(false, 0, "0.3.2.4", "vbm doesn't move to the enemies automatically", "vbm doesn't interact with the urn") }, [351] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(399731535), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1674476193)) + new SinglePlayerDutyEntry(false, 0, "0.3.2.4", "Duty somewhat expects you to put the boss to sleep, vbm doesn't and lets the friendly NPC die") }, [352] = new SinglePlayerDutyEntry[1] { @@ -438,7 +417,7 @@ internal static class DutyRegistry }, [414] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, 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(492644870), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1196358840)) + new SinglePlayerDutyEntry(false, 0, "0.0.0.292", "(Phase 1, second enemy group) Stuck with enemy being out of sight -- but still able to attack you (tested on ACN)") }, [439] = new SinglePlayerDutyEntry[2] { @@ -455,11 +434,11 @@ internal static class DutyRegistry }, [445] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1228756590), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2033549770)) + new SinglePlayerDutyEntry(false, 0, "0.0.0.292", "AI doesn't automatically target newly spawning adds until after the boss died, and dies (tested on CNJ)") }, [447] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(492644870), 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(2048480598)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292", "(Phase 1) Healer NPCs are only killed after the boss dies - allied NPCs will kill them eventually; all NPCs need to be killed for the duty to complete") }, [456] = new SinglePlayerDutyEntry[1] { @@ -483,31 +462,31 @@ internal static class DutyRegistry }, [469] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(492644870)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [521] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, 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(179053243), 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(-2115291333)) + new SinglePlayerDutyEntry(false, 0, "0.1.0.1", "(outside) Doesn't use obstacle maps or vnav to move to the shield generators, gets stuck on the big crates") }, [543] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(9507588)) + new SinglePlayerDutyEntry(true, 0, "0.3.2.5") }, [544] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(492644870), 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(-1886068424)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292", "(Phase 1) Kills PGL NPCs and then the boss - allied NPCs will kill most other NPCs eventually; all NPCs need to be killed for the duty to complete") }, [550] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1740594943)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [551] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1740594943), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1046490574)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292", "(Phase 1) Healer NPCs are only killed after the boss dies - allied NPCs will kill them eventually; all NPCs need to be killed for the duty to complete") }, [558] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(1819257689)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [562] = new SinglePlayerDutyEntry[1] { @@ -524,71 +503,71 @@ internal static class DutyRegistry }, [586] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(1819257689)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [601] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1740594943)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [660] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(1819257689)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [680] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-62065112)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [681] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(1819257689)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [682] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(1819257689)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [724] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1228756590)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [782] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1507724262)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [811] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(179053243)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [912] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-104173425)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [941] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(695907609)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [967] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(-541438926)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [983] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(179053243)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [1004] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1507724262)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [1005] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(695907609)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [1049] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(179053243)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [1054] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(492644870)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [1059] = new SinglePlayerDutyEntry[1] { @@ -628,11 +607,11 @@ internal static class DutyRegistry }, [1088] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2088283823)) + new SinglePlayerDutyEntry(true, 0, "0.1.1.8") }, [1090] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2088283823)) + new SinglePlayerDutyEntry(true, 0, "0.1.1.8") }, [1091] = new SinglePlayerDutyEntry[1] { @@ -664,43 +643,43 @@ internal static class DutyRegistry }, [1456] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(492644870)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [1588] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1228756590)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [1595] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-62065112)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [1597] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-62065112)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [1601] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(1819257689), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1282455856)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292", "Will not move into melee range to kill the gate; Alphinaud will kill it after a while") }, [1606] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(492644870)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [1639] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(1819257689)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [1644] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-62065112)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [1657] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1228756590)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [1667] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-62065112)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [1672] = new SinglePlayerDutyEntry[1] { @@ -852,11 +831,11 @@ internal static class DutyRegistry }, [2163] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(695907609)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [2239] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(-541438926)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [2288] = new SinglePlayerDutyEntry[1] { @@ -864,11 +843,11 @@ internal static class DutyRegistry }, [2349] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(695907609)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [2358] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-104173425), 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(-738477960)) + new SinglePlayerDutyEntry(false, 0, "0.1.0.1", "(phase 2) AI doesn't use any of the Red Baron's attacks, just moves with it and eventually dies (after a few minutes)") }, [2411] = new SinglePlayerDutyEntry[1] { @@ -896,39 +875,39 @@ internal static class DutyRegistry }, [2453] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(695907609)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [2463] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(-541438926)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [2474] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-104173425)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [2498] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(179053243)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [2515] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(179053243)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [2528] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-104173425)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [2549] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, 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(179053243), 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(1665199650)) + new SinglePlayerDutyEntry(false, 0, "0.1.0.1", "Navigation gets stuck in various places") }, [2550] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(179053243), 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(1687734342)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1", "(Fordola) Gets hit by AOEs due to moving into them before the mechanic resolves") }, [2552] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(-541438926)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [2560] = new SinglePlayerDutyEntry[1] { @@ -1004,11 +983,11 @@ internal static class DutyRegistry }, [2900] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1507724262)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [2904] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, 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(179053243), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1112300028)) + new SinglePlayerDutyEntry(false, 0, "0.1.0.1", "Keeps attacking the invulnerable boss instead of the mammoths, thus letting your allied NPC die") }, [2907] = new SinglePlayerDutyEntry[1] { @@ -1056,7 +1035,7 @@ internal static class DutyRegistry }, [2972] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(-541438926)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [2977] = new SinglePlayerDutyEntry[1] { @@ -1068,11 +1047,11 @@ internal static class DutyRegistry }, [3024] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-104173425)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [3027] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1507724262)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [3031] = new SinglePlayerDutyEntry[1] { @@ -1084,23 +1063,23 @@ internal static class DutyRegistry }, [3076] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(179053243)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [3147] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, 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(179053243), 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(-1066548368)) + new SinglePlayerDutyEntry(false, 0, "0.1.0.1", "(Magnai) Keeps focussing the boss instead of the axes, thus getting killed by the AOEs") }, [3185] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, null, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1512696108), 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(-1699214654), 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(474464200), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-732560237)) + new SinglePlayerDutyEntry(false, 0, null, "(phase 1) Need to manually move in range to trigger combat", "(phase 1) VBM doesn't know about some AOEs (e.g. Vein Splitter)", "(phase 1) VBM ignores markers to stack on Lyse (she still survives)", "(phase 2) AI can walk outside the arena to get a bleed + damage down when dodging mechanics") }, [3247] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-104173425), 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(-1689685354)) + new SinglePlayerDutyEntry(false, 0, "0.1.0.1", "AI doesn't pull enemies when spawning into the instance") }, [3248] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(-378223677)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.293") }, [3250] = new SinglePlayerDutyEntry[1] { @@ -1124,7 +1103,7 @@ internal static class DutyRegistry }, [3272] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(695907609), 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(-504820768)) + new SinglePlayerDutyEntry(false, 0, "0.1.0.1", "Currently it won't work, because the logic is missing NPC healing.") }, [3276] = new SinglePlayerDutyEntry[1] { @@ -1136,27 +1115,27 @@ internal static class DutyRegistry }, [3305] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(179053243)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [3337] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(695907609), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-426707018)) + new SinglePlayerDutyEntry(false, 0, "0.1.0.1", "(room 2) AI tries to walk straight to the next door, ignoring all walls") }, [3606] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, 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(-541438926), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-823110227), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-561511620), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(961342529)) + new SinglePlayerDutyEntry(false, 0, "0.1.0.1", "(phase 1) AI gets stuck on trees/posts/walls.", "(phase 1) AI will never reach the Ostall Imperative, it instead walks circles around Radisca's Round even with all enemies dead.", "(phase 2) AI will still try to walk to Radisca's Round, but (usually) prioritizes fighting enemies.") }, [3619] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, 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(179053243), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-592715493)) + new SinglePlayerDutyEntry(false, 0, "0.1.0.1", "(before Ran'jit wears the veil) AI doesn't pull, doesn't attack and VBM doesn't recognize any AOEs.") }, [3626] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1507724262), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(391489563)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1", "Sometimes the movement is the cause of a duty failing.") }, [3628] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(179053243)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [3631] = new SinglePlayerDutyEntry[1] { @@ -1164,11 +1143,11 @@ internal static class DutyRegistry }, [3638] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1507724262)) + new SinglePlayerDutyEntry(true, 0, "0.1.0.1") }, [3682] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-62065112), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2033092502), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-855102905), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1912720202), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1937006399)) + new SinglePlayerDutyEntry(false, 0, "0.0.0.292", "AI doesn't move automatically for the first boss", "AI doesn't move automatically for the dialogue with gaius on the bridge", "After walking downstairs automatically, AI tries to run back towards the stairs (ignoring the arena boudnary)", "After moving from the arena boundary, AI doesn't move into melee range and stops too far away when initially attacking") }, [3687] = new SinglePlayerDutyEntry[1] { @@ -1176,11 +1155,11 @@ internal static class DutyRegistry }, [3765] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1740594943), 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(408292549)) + new SinglePlayerDutyEntry(false, 0, "0.0.0.292", "Doesn't walk to the teleporter to finish the duty") }, [3775] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, 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(492644870), 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(-1554639648), 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(-1362106919)) + new SinglePlayerDutyEntry(false, 0, "0.0.0.292", "(phase 2) AI doesn't target Ardbert to start combat", "(phase 2) VBM module: Elidibus' line cleave only covers half the length of the actual line (survivable)") }, [3836] = new SinglePlayerDutyEntry[1] { @@ -1188,7 +1167,7 @@ internal static class DutyRegistry }, [3862] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-62065112), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(306455426)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292", "AI will kill initial adds before the boss, but not switch target whenever new enemies spawn; all NPCs need to be killed for the duty to complete") }, [3895] = new SinglePlayerDutyEntry[2] { @@ -1197,11 +1176,11 @@ internal static class DutyRegistry }, [4015] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(492644870)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [4066] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, 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(1424932868), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-740671790), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1395739987), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1988843156)) + new SinglePlayerDutyEntry(false, 0, "0.0.0.293", "(Lunar Odin) AI doesn't pull Odin to start combat", "(Lunar Ravana) AI doesn't pull Ravana to start combat", "(Lunar Ravana) AI doesn't move out of directional parry directions") }, [4068] = new SinglePlayerDutyEntry[1] { @@ -1221,15 +1200,15 @@ internal static class DutyRegistry }, [4107] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, 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(-541438926), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1083592363), 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(539323923), 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(-1952404066), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1440468780), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1191513629), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1317667646)) + new SinglePlayerDutyEntry(false, 0, "0.1.0.1", "There is currently no BossMod Supported Bosses Logic.", "BossMod doesn't use Interject.", "BossMod can't handle QuickButton Actions yet.", "BossMod doesn't use Healing Actions for Tanks.", "It will need alot of manual work", "And there is a part, where the user needs to interact.") }, [4113] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-313483273), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(507533013), 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(-222950458)) + new SinglePlayerDutyEntry(false, 0, "0.1.1.8", "AI doesn't target boss", "AI doesn't heal NPCs") }, [4119] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, 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(1246901539), 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(1293492283), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-995509957), 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(112897989)) + new SinglePlayerDutyEntry(false, 0, "0.1.1.8", "AI doesn't attempt to move to the correct direction when killing orbs", "AI only dodges some, but not all AOEs", "AI doesn't move behind the shield for 'Extinction Flare' and dies") }, [4125] = new SinglePlayerDutyEntry[1] { @@ -1237,51 +1216,51 @@ internal static class DutyRegistry }, [4131] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, 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(-1362434901), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-194717797), 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(-672969886), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1562193806), 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(-766926656)) + new SinglePlayerDutyEntry(false, 0, "0.1.1.4", "AI doesn't target Fafnir to start combat", "AI doesn't stand in towers", "AI doesn't kill ads", "AI doesn't move behind the shield to take cover and dies") }, [4383] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(568429296), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1388128744)) + new SinglePlayerDutyEntry(false, 0, "0.0.0.293", "(Thancred) How many enemies get pulled during the stealth section is random; if you pull multiple you can die here. Can probably be fixed by retrying on very easy.") }, [4394] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, null, 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(1391683818), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(96288699), 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(2014328831), 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(1030773571)) + new SinglePlayerDutyEntry(false, 0, null, "Instance probably only works on very easy difficulty", "AI doesn't move to first enemy", "AI doesn't unmount from the Magitek Reaper", "Navmesh takes 5+ minutes to build") }, [4432] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1666848730)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.294") }, [4439] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(735706993)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.294") }, [4464] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1612100416)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.294") }, [4521] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1740594943)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [4522] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, 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(1819257689)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.292") }, [4582] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2088283823), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(435284212), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1047030739)) + new SinglePlayerDutyEntry(false, 0, "0.1.1.8", "(phase 1) AI doesn't move automatically", "(phase 2) AI doesn't target enemy") }, [4591] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1408328984), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1006327605), 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(-1624825631)) + new SinglePlayerDutyEntry(false, 0, "0.1.2.4", "AI doesn't move after starting the instance, so enemies won't be triggered", "(First Barrier) If the player is too far south, after being stunned by Vishap's roar, AI doesn't move out of the AOE and dies to the Cauterize") }, [4594] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(774825335)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.294") }, [4673] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(774825335)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.294") }, [4719] = new SinglePlayerDutyEntry[1] { @@ -1289,7 +1268,7 @@ internal static class DutyRegistry }, [4752] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1666848730), 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(-1591985792), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1003729366)) + new SinglePlayerDutyEntry(false, 0, "0.0.0.294", "(phase 1) AI walks (a bit) towards enemies, but doesn't target them and doesn't attack", "(phase 1) AI doesn't move close enough to the tattered plumage; needs to be re-tested") }, [4823] = new SinglePlayerDutyEntry[1] { @@ -1329,19 +1308,19 @@ internal static class DutyRegistry }, [4883] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(774825335)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.294") }, [4902] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1666848730)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.294") }, [4908] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1612100416)) + new SinglePlayerDutyEntry(true, 0, "0.0.0.294") }, [4942] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1666848730), 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(471673267)) + new SinglePlayerDutyEntry(false, 0, "0.0.0.294", "(phase 1) Gets stuck in the wall while walking to the evacuee NPCs") }, [5191] = new SinglePlayerDutyEntry[1] { @@ -1349,15 +1328,15 @@ internal static class DutyRegistry }, [5249] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, 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(-1552037139), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1193123208), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1894210756), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1009055232), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-976928829)) + new SinglePlayerDutyEntry(false, 0, "0.1.0.0", "(pre-fight) AI doesn't move to the Rroneeks or interact with them", "(phase 1/2) No VBM module, so doesn't target the leg, doesn't avoid AOEs and dies", "(phase 1) AI doesn't pull boss", "(phase 2) AI runs away with the stack marker; doesn't pick up orbs") }, [5325] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(true, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-663552401), 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(-262818980)) + new SinglePlayerDutyEntry(true, 0, "0.4.19.4", "You only need to complete one cake layer to complete the duty.") }, [5433] = new SinglePlayerDutyEntry[1] { - new SinglePlayerDutyEntry(false, 0, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1397051405), 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(1325512167)) + new SinglePlayerDutyEntry(false, 0, "0.0.0.0", "Not implemented in Boss Mod yet.") } }; } diff --git a/Questionable/Questionable.Data/DutyUnlockData.cs b/Questionable/Questionable.Data/DutyUnlockData.cs index 2f28d88..3335ad4 100644 --- a/Questionable/Questionable.Data/DutyUnlockData.cs +++ b/Questionable/Questionable.Data/DutyUnlockData.cs @@ -1,20 +1,15 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Collections.Immutable; -using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.Linq; -using System.Runtime.CompilerServices; using Dalamud.Game; -using Dalamud.Game.Text.SeStringHandling; using Dalamud.Plugin.Services; using Dalamud.Utility; using FFXIVClientStructs.FFXIV.Client.Game.UI; using Lumina.Excel; using Lumina.Excel.Sheets; -using Lumina.Text.ReadOnly; using Microsoft.Extensions.Logging; using Questionable.Model.Questing; @@ -58,230 +53,6 @@ internal sealed class DutyUnlockData public const byte Alliance = 4; } - [CompilerGenerated] - private sealed class _003CGetDutiesUnlockedByQuest_003Ed__30 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private DutyInfo _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - public DutyUnlockData _003C_003E4__this; - - private QuestId questId; - - public QuestId _003C_003E3__questId; - - private ImmutableList.Enumerator _003C_003E7__wrap1; - - DutyInfo IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CGetDutiesUnlockedByQuest_003Ed__30(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _200F_200B_202A_202A_206B_202C_200C_206A_200B_206B_206E_202B_206C_206A_202E_200C_202E_206B_200F_202E_206F_200B_200C_202B_206B_200B_200B_206B_202A_200D_200E_206B_206E_202D_202E_206F_202A_206E_202D_206E_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = ((num == -3) ? 1836799872 : 1836799875); - while (true) - { - int num3 = num2; - int num4 = 1836799874; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - default: - continue; - case 0: - num2 = 1836799875; - continue; - case 1: - if (num == 1) - { - num2 = 1836799872; - continue; - } - break; - case 2: - try - { - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003C_003E7__wrap1 = default(ImmutableList.Enumerator); - _003C_003E1__state = -2; - } - - private bool MoveNext() - { - try - { - int num = _003C_003E1__state; - DutyUnlockData dutyUnlockData = _003C_003E4__this; - int num2 = ((num == 0) ? (-1847566198) : (-1847566200)); - ImmutableList value2 = default(ImmutableList); - DutyInfo value = default(DutyInfo); - while (true) - { - int num3 = num2; - int num4 = -1847566194; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 1: - return false; - case 4: - _003C_003E1__state = -1; - num2 = ((!dutyUnlockData._questToDuties.TryGetValue(questId, out value2)) ? (-1847566197) : (-1847566196)); - break; - case 0: - num2 = -1847566200; - break; - case 7: - _003C_003E1__state = -3; - num2 = -1847566201; - break; - case 2: - _003C_003E7__wrap1 = value2.GetEnumerator(); - _003C_003E1__state = -3; - num2 = -1847566201; - break; - case 6: - num2 = ((num == 1) ? (-1847566199) : (-1847566193)); - break; - case 10: - _003C_003Em__Finally1(); - _003C_003E7__wrap1 = default(ImmutableList.Enumerator); - num2 = -1847566197; - break; - case 3: - _003C_003E2__current = value; - _003C_003E1__state = 1; - return true; - case 9: - num2 = (_003C_003E7__wrap1.MoveNext() ? (-1847566202) : (-1847566204)); - break; - case 8: - { - uint current = _003C_003E7__wrap1.Current; - num2 = ((!dutyUnlockData._duties.TryGetValue(current, out value)) ? (-1847566201) : (-1847566195)); - break; - } - case 5: - return false; - } - } - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - ((IDisposable)_003C_003E7__wrap1/*cast due to .constrained prefix*/).Dispose(); - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _200E_202E_206F_200C_200B_200F_200E_206C_206C_200B_202A_200B_202D_200C_200B_206C_202C_206E_200E_202A_200F_206A_202C_206F_206C_206B_206D_206D_200D_202B_202C_200F_200B_206C_200E_206E_200B_206E_206C_202D_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? 240060194 : 240060192); - _003CGetDutiesUnlockedByQuest_003Ed__30 _003CGetDutiesUnlockedByQuest_003Ed__ = default(_003CGetDutiesUnlockedByQuest_003Ed__30); - while (true) - { - int num2 = num; - int num3 = 240060194; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - _003CGetDutiesUnlockedByQuest_003Ed__.questId = _003C_003E3__questId; - return _003CGetDutiesUnlockedByQuest_003Ed__; - case 0: - _003CGetDutiesUnlockedByQuest_003Ed__ = new _003CGetDutiesUnlockedByQuest_003Ed__30(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = 240060193; - break; - case 1: - _003C_003E1__state = 0; - _003CGetDutiesUnlockedByQuest_003Ed__ = this; - num = 240060193; - break; - case 2: - num = ((_003C_003El__initialThreadId != _200F_200B_202A_202A_206B_202C_200C_206A_200B_206B_206E_202B_206C_206A_202E_200C_202E_206B_200F_202E_206F_200B_200C_202B_206B_200B_200B_206B_202A_200D_200E_206B_206E_202D_202E_206F_202A_206E_202D_206E_202E()) ? 240060194 : 240060195); - break; - case 4: - num = 240060192; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _200F_200B_202A_202A_206B_202C_200C_206A_200B_206B_206E_202B_206C_206A_202E_200C_202E_206B_200F_202E_206F_200B_200C_202B_206B_200B_200B_206B_202A_200D_200E_206B_206E_202D_202E_206F_202A_206E_202D_206E_202E() - { - return Environment.CurrentManagedThreadId; - } - - static NotSupportedException _200E_202E_206F_200C_200B_200F_200E_206C_206C_200B_202A_200B_202D_200C_200B_206C_202C_206E_200E_202A_200F_206A_202C_206F_206C_206B_206D_206D_200D_202B_202C_200F_200B_206C_200E_206E_200B_206E_206C_202D_202E() - { - return new NotSupportedException(); - } - } - private readonly ImmutableDictionary _duties; private readonly ImmutableDictionary> _questToDuties; @@ -290,396 +61,173 @@ internal sealed class DutyUnlockData private readonly ILogger _logger; - [MethodImpl(MethodImplOptions.NoInlining)] public DutyUnlockData(IDataManager dataManager, ILogger logger) { _logger = logger; ExcelSheet excelSheet = dataManager.GetExcelSheet(); ExcelSheet excelSheet2 = dataManager.GetExcelSheet(); - ImmutableDictionary immutableDictionary = (from c in excelSheet.Where(delegate(ContentFinderCondition c) - { - int num3 = ((c.RowId == 0) ? 1025245727 : 1025245725); - while (true) - { - int num4 = num3; - int num5 = 1025245727; - int num6 = num4; - switch ((num6 | num5) - (num6 & num5)) - { - case 3: - num3 = 1025245725; - break; - case 2: - num3 = ((c.Content.RowId == 0) ? 1025245727 : 1025245726); - break; - case 0: - return false; - case 1: - return c.ContentLinkType == 1; - } - } - }) + ImmutableDictionary immutableDictionary = (from c in excelSheet + where c.RowId != 0 && c.Content.RowId != 0 && c.ContentLinkType == 1 group c by c.Content.RowId).ToImmutableDictionary((IGrouping g) => g.Key, (IGrouping g) => g.First().RowId); Dictionary> dictionary = new Dictionary>(); Dictionary> dictionary2 = new Dictionary>(); - IEnumerator enumerator = excelSheet2.Where((Quest q) => q.RowId != 0).GetEnumerator(); - try + foreach (Quest item in excelSheet2.Where((Quest q) => q.RowId != 0)) { - while (_202D_202A_202C_202E_200B_200F_206B_202D_200C_202A_206C_206B_202E_202B_200B_206A_200D_206C_206C_200C_202E_206E_206B_206A_200B_200C_200C_202D_206E_206C_202C_206A_202B_202A_202E_202B_200E_202D_200C_200C_202E((IEnumerator)enumerator)) + uint rowId = item.InstanceContentUnlock.RowId; + if (rowId != 0 && immutableDictionary.TryGetValue(rowId, out var value)) { - Quest current = enumerator.Current; - uint rowId = current.InstanceContentUnlock.RowId; - if (rowId != 0 && immutableDictionary.TryGetValue(rowId, out var value)) + QuestId questId = QuestId.FromRowId(item.RowId); + if (!dictionary.ContainsKey(questId)) { - QuestId questId = _206F_206A_206B_200D_202D_206F_206C_206A_206E_200F_202A_202D_200F_200E_206F_206C_202E_206E_200B_206A_206C_206A_202D_200F_200F_200B_200E_202A_200D_200F_206B_202E_202D_206F_206D_200D_206C_200B_206F_206C_202E(current.RowId); - if (!dictionary.ContainsKey(questId)) - { - dictionary[questId] = new List(); - } - dictionary[questId].Add(value); - if (!dictionary2.ContainsKey(value)) - { - dictionary2[value] = new List(); - } - dictionary2[value].Add(questId); + dictionary[questId] = new List(); } - } - } - finally - { - if (enumerator != null) - { - _206E_206D_206E_202E_202C_202E_202B_206F_206F_200C_200B_206B_206E_206C_200B_206B_202B_206D_202C_200E_202B_202A_202E_200B_200F_202C_202B_206A_200F_202B_200F_206A_206D_202D_200F_202B_206A_206D_206F_206C_202E((IDisposable)enumerator); + dictionary[questId].Add(value); + if (!dictionary2.ContainsKey(value)) + { + dictionary2[value] = new List(); + } + dictionary2[value].Add(questId); } } _questToDuties = dictionary.ToImmutableDictionary((KeyValuePair> x) => x.Key, (KeyValuePair> x) => x.Value.ToImmutableList()); _dutyToQuests = dictionary2.ToImmutableDictionary((KeyValuePair> x) => x.Key, (KeyValuePair> x) => x.Value.ToImmutableList()); Dictionary dictionary3 = new Dictionary(); ExcelSheet excelSheet3 = dataManager.GetExcelSheet(ClientLanguage.English); - IEnumerator enumerator2 = excelSheet.Where(delegate(ContentFinderCondition x) + foreach (ContentFinderCondition item2 in excelSheet.Where((ContentFinderCondition x) => x.RowId != 0 && x.Content.RowId != 0)) { - int num3 = ((x.RowId == 0) ? (-494713515) : (-494713514)); - while (true) + if (item2.ContentLinkType != 1) { - int num4 = num3; - int num5 = -494713516; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) - { - case 0: - goto IL_004a; - case 2: - return x.Content.RowId != 0; - case 1: - return false; - } continue; - IL_004a: - num3 = -494713514; } - }).GetEnumerator(); - try - { - while (_202D_202A_202C_202E_200B_200F_206B_202D_200C_202A_206C_206B_202E_202B_200B_206A_200D_206C_206C_200C_202E_206E_206B_206A_200B_200C_200C_202D_206E_206C_202C_206A_202B_202A_202E_202B_200E_202D_200C_200C_202E((IEnumerator)enumerator2)) + ContentType? valueNullable = item2.ContentType.ValueNullable; + if (!valueNullable.HasValue) { - ContentFinderCondition current2 = enumerator2.Current; - if (current2.ContentLinkType != 1) - { - continue; - } - ContentType? valueNullable = current2.ContentType.ValueNullable; - if (!valueNullable.HasValue) - { - continue; - } - uint rowId2 = valueNullable.Value.RowId; - int num = 6; - int num2 = (int)rowId2; - if ((uint)(~(~num2 + num)) <= 1u) - { - continue; - } - string text = FixName(_200B_202B_202C_202C_202A_206D_206A_200E_206D_206F_206B_200D_202D_206F_202D_206E_202A_202B_200C_202A_200D_202D_206F_200B_206F_200F_206D_206D_202E_206C_200C_202E_206E_200C_202C_200F_206B_200C_206B_206B_202E((object)_202A_200C_200E_200E_202A_206B_200E_200D_200B_200F_200C_202A_200E_202C_206D_206C_206E_200F_206C_206B_202D_202D_200F_206A_206C_206C_206F_202B_206C_200E_206A_206E_202D_200F_200C_206B_206A_202D_200D_202E_202E(current2.Name)), _202E_200C_206B_200F_200B_200B_200B_200E_206F_200F_202E_206F_206D_206F_200C_200B_202C_206D_200F_202D_206B_200C_200E_202D_202C_202B_202A_200B_202E_202A_200D_206A_200E_202A_200C_206D_200C_206D_206F_200C_202E(dataManager)); - if (!_202D_206F_206E_206F_206C_206C_206A_206E_202B_206D_200C_202E_206C_200F_200E_200B_200E_200F_200F_200F_206E_206B_200E_206E_206D_206C_200F_206D_206E_206A_200B_206E_202C_206B_202C_206E_206C_200E_206A_202D_202E(text) && !IsExcludedContent(text, current2.RowId)) - { - List value2; - ImmutableList unlockQuests = (dictionary2.TryGetValue(current2.RowId, out value2) ? value2.ToImmutableList() : ImmutableList.Empty); - uint rowId3 = current2.ContentMemberType.RowId; - ContentFinderCondition? rowOrDefault = excelSheet3.GetRowOrDefault(current2.RowId); - string name = (rowOrDefault.HasValue ? _200B_202B_202C_202C_202A_206D_206A_200E_206D_206F_206B_200D_202D_206F_202D_206E_202A_202B_200C_202A_200D_202D_206F_200B_206F_200F_206D_206D_202E_206C_200C_202E_206E_200C_202C_200F_206B_200C_206B_206B_202E((object)_202A_200C_200E_200E_202A_206B_200E_200D_200B_200F_200C_202A_200E_202C_206D_206C_206E_200F_206C_206B_202D_202D_200F_206A_206C_206C_206F_202B_206C_200E_206A_206E_202D_200F_200C_206B_206A_202D_200D_202E_202E(rowOrDefault.GetValueOrDefault().Name)) : null) ?? text; - EDutyCategory? eDutyCategory = DetermineDutyCategory(rowId2, name, current2.HighEndDuty, current2.RowId, (byte)rowId3, current2.ContentLinkType); - if (eDutyCategory.HasValue) - { - DutyInfo value3 = new DutyInfo(current2.RowId, current2.Content.RowId, text, rowId2, _200B_202B_202C_202C_202A_206D_206A_200E_206D_206F_206B_200D_202D_206F_202D_206E_202A_202B_200C_202A_200D_202D_206F_200B_206F_200F_206D_206D_202E_206C_200C_202E_206E_200C_202C_200F_206B_200C_206B_206B_202E((object)_202A_200C_200E_200E_202A_206B_200E_200D_200B_200F_200C_202A_200E_202C_206D_206C_206E_200F_206C_206B_202D_202D_200F_206A_206C_206C_206F_202B_206C_200E_206A_206E_202D_200F_200C_206B_206A_202D_200D_202E_202E(valueNullable.Value.Name)), current2.ClassJobLevelRequired, current2.ItemLevelRequired, unlockQuests, current2.HighEndDuty, eDutyCategory.Value); - dictionary3[current2.RowId] = value3; - } - } + continue; } - } - finally - { - if (enumerator2 != null) + uint rowId2 = valueNullable.Value.RowId; + if (rowId2 - 6 <= 1) { - _206E_206D_206E_202E_202C_202E_202B_206F_206F_200C_200B_206B_206E_206C_200B_206B_202B_206D_202C_200E_202B_202A_202E_200B_200F_202C_202B_206A_200F_202B_200F_206A_206D_202D_200F_202B_206A_206D_206F_206C_202E((IDisposable)enumerator2); + continue; + } + string text = FixName(item2.Name.ToDalamudString().ToString(), dataManager.Language); + if (!string.IsNullOrWhiteSpace(text) && !IsExcludedContent(text, item2.RowId)) + { + List value2; + ImmutableList unlockQuests = (dictionary2.TryGetValue(item2.RowId, out value2) ? value2.ToImmutableList() : ImmutableList.Empty); + uint rowId3 = item2.ContentMemberType.RowId; + string name = excelSheet3.GetRowOrDefault(item2.RowId)?.Name.ToDalamudString().ToString() ?? text; + EDutyCategory? eDutyCategory = DetermineDutyCategory(rowId2, name, item2.HighEndDuty, item2.RowId, (byte)rowId3, item2.ContentLinkType); + if (eDutyCategory.HasValue) + { + DutyInfo value3 = new DutyInfo(item2.RowId, item2.Content.RowId, text, rowId2, valueNullable.Value.Name.ToDalamudString().ToString(), item2.ClassJobLevelRequired, item2.ItemLevelRequired, unlockQuests, item2.HighEndDuty, eDutyCategory.Value); + dictionary3[item2.RowId] = value3; + } } } _duties = dictionary3.ToImmutableDictionary(); - _206C_206C_206E_206B_206D_200D_206C_200B_206D_206F_206F_200D_202D_206C_200D_202C_206C_206F_202A_200F_202D_206F_206B_200C_202C_206A_206C_200F_200B_202E_206F_202A_202D_206C_200F_200E_206E_200C_206E_200F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-947520940), new object[2] - { - _duties.Count, - _questToDuties.Values.Sum((ImmutableList x) => x.Count) - }); + _logger.LogDebug("Loaded {DutyCount} duties with {QuestMappings} quest unlock mappings", _duties.Count, _questToDuties.Values.Sum((ImmutableList x) => x.Count)); } private static bool IsExcludedContent(string name, uint cfcId) { - int num = 69; - int num2 = (int)cfcId; - int num3 = (((uint)(~(~num2 + num)) > 2u) ? (-657110077) : (-657110076)); - bool flag = default(bool); - while (true) + if (cfcId - 69 <= 2) { - int num4 = num3; - num = -657110080; - num2 = num4; - switch ((num2 | num) - (num2 & num)) - { - case 2: - return true; - case 4: - flag = true; - num3 = -657110079; - break; - case 5: - return false; - case 1: - num3 = ((!flag) ? (-657110075) : (-657110078)); - break; - case 0: - num3 = -657110076; - break; - case 3: - flag = false; - num3 = -657110079; - break; - } + return true; } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private static EDutyCategory? DetermineDutyCategory(uint contentTypeId, string name, bool isHighEndDuty, uint cfcId, byte contentMemberType, byte contentLinkType) { - int num = ((!_206E_200B_202B_202A_202D_202C_200D_202A_206F_206D_202D_202E_200F_200F_206D_200C_206B_202D_200F_202D_200E_200F_206D_206A_200D_202E_202D_200C_200F_200D_206C_206A_206B_206D_206B_200F_202A_206C_202B_202C_202E(name, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1946947024), StringComparison.OrdinalIgnoreCase)) ? 1981410498 : 1981410526); - while (true) + if (name.EndsWith("(Chaotic)", StringComparison.OrdinalIgnoreCase)) { - int num2 = num; - int num3 = 1981410514; - int num4 = num2; - int num5; - switch ((num4 | num3) - (num4 & num3)) + return EDutyCategory.ChaoticAllianceRaid; + } + switch (contentTypeId) + { + case 2u: + if (name.EndsWith("(Hard)", StringComparison.OrdinalIgnoreCase)) { - case 14: - return EDutyCategory.ExtremeTrial; - case 0: - return EDutyCategory.SavageRaid; - case 2: - num = ((!_206E_200B_202B_202A_202D_202C_200D_202A_206F_206D_202D_202E_200F_200F_206D_200C_206B_202D_200F_202D_200E_200F_206D_206A_200D_202E_202D_200C_200F_200D_206C_206A_206B_206D_206B_200F_202A_206C_202B_202C_202E(name, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-829560876), StringComparison.OrdinalIgnoreCase)) ? 1981410511 : 1981410523); - break; - case 4: - num = ((!_206B_206B_206D_202A_200E_200F_200C_200D_206D_202D_200D_202D_200F_206A_200C_200F_202E_206A_206B_206D_202B_200F_202E_202E_202C_206F_202C_202A_200F_202C_200C_202B_200E_200B_200D_200D_202B_202B_200B_202C_202E(name, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(576666474), StringComparison.OrdinalIgnoreCase)) ? 1981410519 : 1981410505); - break; - case 38: - return EDutyCategory.NormalRaid; - case 42: - goto IL_0162; - case 32: - goto IL_016a; - case 13: - return EDutyCategory.UnrealTrial; - case 37: - goto IL_0179; - case 5: - return EDutyCategory.DeepDungeon; - case 31: - num = ((!isHighEndDuty) ? 1981410499 : 1981410516); - break; - case 9: return EDutyCategory.HardDungeon; - case 18: - goto IL_01c0; - case 33: - return null; - case 22: - num = ((!(_206E_200B_202B_202A_202D_202C_200D_202A_206F_206D_202D_202E_200F_200F_206D_200C_206B_202D_200F_202D_200E_200F_206D_206A_200D_202E_202D_200C_200F_200D_206C_206A_206B_206D_206B_200F_202A_206C_202B_202C_202E(name, 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(-805469566), StringComparison.OrdinalIgnoreCase) || isHighEndDuty)) ? 1981410548 : 1981410517); - break; - case 26: - return EDutyCategory.CriterionSavage; - case 24: - return EDutyCategory.CriterionDungeon; - case 20: - return EDutyCategory.HardTrial; - case 15: - num = (_206E_200B_202B_202A_202D_202C_200D_202A_206F_206D_202D_202E_200F_200F_206D_200C_206B_202D_200F_202D_200E_200F_206D_206A_200D_202E_202D_200C_200F_200D_206C_206A_206B_206D_206B_200F_202A_206C_202B_202C_202E(name, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2100853888), StringComparison.OrdinalIgnoreCase) ? 1981410524 : 1981410521); - break; - case 29: - return EDutyCategory.Dungeon; - case 23: - num = ((!_206E_200B_202B_202A_202D_202C_200D_202A_206F_206D_202D_202E_200F_200F_206D_200C_206B_202D_200F_202D_200E_200F_206D_206A_200D_202E_202D_200C_200F_200D_206C_206A_206B_206D_206B_200F_202A_206C_202B_202C_202E(name, 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(2079680527), StringComparison.OrdinalIgnoreCase)) ? 1981410520 : 1981410502); - break; - case 3: - num3 = 21; - num4 = (int)contentTypeId; - switch (~(~num4 + num3)) - { - case 0: - break; - case 10: - goto IL_0162; - case 7: - goto IL_016a; - case 5: - goto IL_0179; - case 1: - case 2: - case 3: - case 4: - case 6: - goto IL_01c0; - default: - goto IL_02d5; - case 8: - case 9: - goto IL_0301; - } - goto case 4; - case 28: - num5 = (_206D_206D_200E_206C_206F_206B_206E_206A_202D_202A_206E_206E_206C_200D_206C_202C_206E_202C_206F_202B_200B_206B_200E_202E_200C_206E_200F_206C_200E_206C_200C_200C_202E_206B_200E_200E_200E_202A_202B_202B_202E(name, 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(1784613949), StringComparison.OrdinalIgnoreCase) ? 1 : 0); - goto IL_0335; - case 40: - goto IL_0301; - case 7: - return EDutyCategory.SavageRaid; - case 43: - num5 = 1; - goto IL_0335; - case 11: - num = ((!_206D_206D_200E_206C_206F_206B_206E_206A_202D_202A_206E_206E_206C_200D_206C_202C_206E_202C_206F_202B_200B_206B_200E_202E_200C_206E_200F_206C_200E_206C_200C_200C_202E_206B_200E_200E_200E_202A_202B_202B_202E(name, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-707311042), StringComparison.OrdinalIgnoreCase)) ? 1981410547 : 1981410524); - break; - case 25: - num = (_206E_200B_202B_202A_202D_202C_200D_202A_206F_206D_202D_202E_200F_200F_206D_200C_206B_202D_200F_202D_200E_200F_206D_206A_200D_202E_202D_200C_200F_200D_206C_206A_206B_206D_206B_200F_202A_206C_202B_202C_202E(name, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1824697190), StringComparison.OrdinalIgnoreCase) ? 1981410553 : 1981410510); - break; - case 16: - num3 = 2; - num4 = (int)contentTypeId; - switch (~(~num4 + num3)) - { - case 0: - break; - default: - goto IL_03c8; - case 2: - goto IL_03db; - case 1: - goto IL_0407; - case 3: - goto IL_0425; - } - goto case 2; - case 12: - return EDutyCategory.ChaoticAllianceRaid; - case 8: - goto IL_03db; - case 36: - goto IL_0407; - case 21: + } + return EDutyCategory.Dungeon; + case 3u: + return EDutyCategory.Guildhest; + case 4u: + if (name.EndsWith("(Unreal)", StringComparison.OrdinalIgnoreCase)) + { + return EDutyCategory.UnrealTrial; + } + if (name.EndsWith("(Extreme)", StringComparison.OrdinalIgnoreCase) || name.StartsWith("The Minstrel's Ballad:", StringComparison.OrdinalIgnoreCase) || isHighEndDuty) + { return EDutyCategory.ExtremeTrial; - case 27: - return EDutyCategory.QuantumBattle; - case 6: - return EDutyCategory.ChaoticAllianceRaid; - case 39: - goto IL_0425; - case 19: - num = 1981410526; - break; - case 30: - num = ((!_206D_206D_200E_206C_206F_206B_206E_206A_202D_202A_206E_206E_206C_200D_206C_202C_206E_202C_206F_202B_200B_206B_200E_202E_200C_206E_200F_206C_200E_206C_200C_200C_202E_206B_200E_200E_200E_202A_202B_202B_202E(name, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-85328213), StringComparison.OrdinalIgnoreCase)) ? 1981410555 : 1981410506); - break; - case 10: - return EDutyCategory.Trial; - case 1: - return EDutyCategory.AllianceRaid; - case 34: - num = 1981410496; - break; - case 17: - return EDutyCategory.AllianceRaid; - case 41: - return EDutyCategory.VariantDungeon; - case 35: + } + if (name.EndsWith("(Hard)", StringComparison.OrdinalIgnoreCase)) + { + return EDutyCategory.HardTrial; + } + return EDutyCategory.Trial; + case 5u: + if (contentMemberType == 4) + { + if (isHighEndDuty) { return EDutyCategory.ChaoticAllianceRaid; } - IL_0425: - num = ((contentMemberType != 4) ? 1981410500 : 1981410509); - break; - IL_0407: - return EDutyCategory.Guildhest; - IL_03db: - num = ((!_206E_200B_202B_202A_202D_202C_200D_202A_206F_206D_202D_202E_200F_200F_206D_200C_206B_202D_200F_202D_200E_200F_206D_206A_200D_202E_202D_200C_200F_200D_206C_206A_206B_206D_206B_200F_202A_206C_202B_202C_202E(name, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1732316761), StringComparison.OrdinalIgnoreCase)) ? 1981410507 : 1981410527); - break; - IL_016a: - return EDutyCategory.Ultimate; - IL_03c8: - num = 1981410513; - break; - IL_01c0: - num = ((!_206E_200B_202B_202A_202D_202C_200D_202A_206F_206D_202D_202E_200F_200F_206D_200C_206B_202D_200F_202D_200E_200F_206D_206A_200D_202E_202D_200C_200F_200D_206C_206A_206B_206D_206B_200F_202A_206C_202B_202C_202E(name, 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(-805469566), StringComparison.OrdinalIgnoreCase)) ? 1981410525 : 1981410514); - break; - IL_0162: - return EDutyCategory.CriterionSavage; - IL_0335: - num = ((((uint)num5 | (isHighEndDuty ? 1u : 0u)) == 0) ? 1981410501 : 1981410503); - break; - IL_0301: - num = ((!_206E_200B_202B_202A_202D_202C_200D_202A_206F_206D_202D_202E_200F_200F_206D_200C_206B_202D_200F_202D_200E_200F_206D_206A_200D_202E_202D_200C_200F_200D_206C_206A_206B_206D_206B_200F_202A_206C_202B_202C_202E(name, 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(-1526728021), StringComparison.OrdinalIgnoreCase)) ? 1981410508 : 1981410504); - break; - IL_02d5: - num = 1981410544; - break; - IL_0179: - num = ((!isHighEndDuty) ? 1981410515 : 1981410545); - break; + return EDutyCategory.AllianceRaid; } + if (name.EndsWith("(Savage)", StringComparison.OrdinalIgnoreCase) || isHighEndDuty) + { + return EDutyCategory.SavageRaid; + } + return EDutyCategory.NormalRaid; + case 21u: + if (name.Contains("Quantum", StringComparison.OrdinalIgnoreCase)) + { + return EDutyCategory.QuantumBattle; + } + return EDutyCategory.DeepDungeon; + case 26u: + if (isHighEndDuty) + { + return EDutyCategory.ChaoticAllianceRaid; + } + return EDutyCategory.AllianceRaid; + case 28u: + return EDutyCategory.Ultimate; + case 29u: + case 30u: + if (name.EndsWith("(Savage)", StringComparison.OrdinalIgnoreCase)) + { + return EDutyCategory.CriterionSavage; + } + if (name.StartsWith("Another", StringComparison.OrdinalIgnoreCase)) + { + return EDutyCategory.CriterionDungeon; + } + return EDutyCategory.VariantDungeon; + case 31u: + return EDutyCategory.CriterionSavage; + default: + if (name.EndsWith("(Savage)", StringComparison.OrdinalIgnoreCase)) + { + return EDutyCategory.SavageRaid; + } + if (name.EndsWith("(Extreme)", StringComparison.OrdinalIgnoreCase) || name.StartsWith("The Minstrel's Ballad:", StringComparison.OrdinalIgnoreCase)) + { + return EDutyCategory.ExtremeTrial; + } + return null; } } private static string FixName(string name, ClientLanguage language) { - int num = (_200F_200C_202B_206C_200D_200B_200B_206C_206E_200F_200F_206D_200B_200B_200D_202C_202C_206F_206B_200F_200E_202A_206A_200D_202C_206A_202B_206B_200B_202C_200E_202B_202C_206B_202A_202D_200C_202C_206C_202E(name) ? (-948301931) : (-948301932)); - while (true) + if (string.IsNullOrEmpty(name) || language != ClientLanguage.English) { - int num2 = num; - int num3 = -948301931; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return _202E_206C_200C_206A_202E_202B_200F_206A_202C_202A_200B_202E_206C_206B_202E_200F_202A_202A_202C_202E_206F_206A_206A_206F_202A_206B_202A_200B_206B_200D_206E_206D_200C_206A_206D_202C_202C_202D_202C_206D_202E(_206D_200D_200B_206B_200C_202C_202D_206B_206C_200B_200B_206D_206E_200F_206D_202D_202A_206B_202A_206D_206A_202B_206D_206F_206B_206E_206A_206A_202A_202B_202D_206B_200E_206C_202C_206F_200F_206F_202D_206E_202E(_200D_202A_206D_206D_200D_206F_206A_206D_202B_200F_202E_200F_202C_202E_200B_202E_200B_200B_200B_206A_206B_206F_206A_200E_206B_202A_200E_206A_202D_200E_206D_206B_202C_202C_206D_200E_202A_206A_200F_206D_202E(_206A_206A_200E_202B_206A_202A_200E_206E_202D_202A_202B_206B_206B_202C_200D_202A_206B_206B_206E_200C_200C_206F_202E_202C_206A_202A_206A_206E_200F_206A_200C_202B_202A_200C_202A_206D_200F_206B_206A_206F_202E(name, 0).ToString(), _202D_200E_200E_200D_206F_200D_200C_200F_200D_200E_206A_200C_202E_206E_200D_202B_206B_200B_200C_202A_200F_206E_200C_206E_200B_202A_202C_206F_206A_200D_200E_202D_200C_206E_206F_202E_200E_200C_202A_206B_202E())), _206B_202A_202A_206C_200C_200F_202C_206F_202A_202D_200F_200E_200B_206E_202B_200C_202E_206F_206E_202D_200F_202C_200C_202B_206F_206F_206C_202C_206A_202B_206A_206D_202B_202D_206E_200B_206F_202E_200C_202E(name, 1)); - case 1: - num = ((language == ClientLanguage.English) ? (-948301929) : (-948301931)); - break; - case 3: - num = -948301932; - break; - case 0: - return name; - } + return name; } + return string.Concat(name[0].ToString().ToUpper(CultureInfo.InvariantCulture).AsSpan(), name.AsSpan(1)); } public IEnumerable GetAllDuties() @@ -782,65 +330,37 @@ internal sealed class DutyUnlockData return GetDutiesByCategory(EDutyCategory.QuantumBattle); } - [IteratorStateMachine(typeof(_003CGetDutiesUnlockedByQuest_003Ed__30))] public IEnumerable GetDutiesUnlockedByQuest(QuestId questId) { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CGetDutiesUnlockedByQuest_003Ed__30(-2) + if (!_questToDuties.TryGetValue(questId, out ImmutableList value)) { - _003C_003E4__this = this, - _003C_003E3__questId = questId - }; + yield break; + } + foreach (uint item in value) + { + if (_duties.TryGetValue(item, out DutyInfo value2)) + { + yield return value2; + } + } } public IEnumerable GetUnlockQuestsForDuty(uint cfcId) { - ImmutableList value; - int num = ((!_dutyToQuests.TryGetValue(cfcId, out value)) ? (-140897364) : (-140897363)); - while (true) + if (_dutyToQuests.TryGetValue(cfcId, out ImmutableList value)) { - int num2 = num; - int num3 = -140897364; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return Array.Empty(); - case 1: - return value; - case 2: - goto IL_0056; - } - continue; - IL_0056: - num = -140897363; + return value; } + return Array.Empty(); } public bool IsDutyUnlocked(uint cfcId) { - DutyInfo value; - int num = (_duties.TryGetValue(cfcId, out value) ? (-1021007209) : (-1021007212)); - while (true) + if (!_duties.TryGetValue(cfcId, out DutyInfo value)) { - int num2 = num; - int num3 = -1021007211; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return UIState.IsInstanceContentUnlocked(value.ContentId); - case 1: - return false; - case 0: - goto IL_005e; - } - continue; - IL_005e: - num = -1021007212; + return false; } + return UIState.IsInstanceContentUnlocked(value.ContentId); } public static bool IsContentUnlocked(uint contentId) @@ -872,94 +392,4 @@ internal sealed class DutyUnlockData { return _duties.Values.Where((DutyInfo d) => d.UnlockQuests.Count > 0); } - - static QuestId _206F_206A_206B_200D_202D_206F_206C_206A_206E_200F_202A_202D_200F_200E_206F_206C_202E_206E_200B_206A_206C_206A_202D_200F_200F_200B_200E_202A_200D_200F_206B_202E_202D_206F_206D_200D_206C_200B_206F_206C_202E(uint P_0) - { - return QuestId.FromRowId(P_0); - } - - static bool _202D_202A_202C_202E_200B_200F_206B_202D_200C_202A_206C_206B_202E_202B_200B_206A_200D_206C_206C_200C_202E_206E_206B_206A_200B_200C_200C_202D_206E_206C_202C_206A_202B_202A_202E_202B_200E_202D_200C_200C_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206E_206D_206E_202E_202C_202E_202B_206F_206F_200C_200B_206B_206E_206C_200B_206B_202B_206D_202C_200E_202B_202A_202E_200B_200F_202C_202B_206A_200F_202B_200F_206A_206D_202D_200F_202B_206A_206D_206F_206C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static SeString _202A_200C_200E_200E_202A_206B_200E_200D_200B_200F_200C_202A_200E_202C_206D_206C_206E_200F_206C_206B_202D_202D_200F_206A_206C_206C_206F_202B_206C_200E_206A_206E_202D_200F_200C_206B_206A_202D_200D_202E_202E(ReadOnlySeString P_0) - { - return P_0.ToDalamudString(); - } - - static string _200B_202B_202C_202C_202A_206D_206A_200E_206D_206F_206B_200D_202D_206F_202D_206E_202A_202B_200C_202A_200D_202D_206F_200B_206F_200F_206D_206D_202E_206C_200C_202E_206E_200C_202C_200F_206B_200C_206B_206B_202E(object P_0) - { - return P_0.ToString(); - } - - static ClientLanguage _202E_200C_206B_200F_200B_200B_200B_200E_206F_200F_202E_206F_206D_206F_200C_200B_202C_206D_200F_202D_206B_200C_200E_202D_202C_202B_202A_200B_202E_202A_200D_206A_200E_202A_200C_206D_200C_206D_206F_200C_202E(IDataManager P_0) - { - return P_0.Language; - } - - static bool _202D_206F_206E_206F_206C_206C_206A_206E_202B_206D_200C_202E_206C_200F_200E_200B_200E_200F_200F_200F_206E_206B_200E_206E_206D_206C_200F_206D_206E_206A_200B_206E_202C_206B_202C_206E_206C_200E_206A_202D_202E(string P_0) - { - return string.IsNullOrWhiteSpace(P_0); - } - - static void _206C_206C_206E_206B_206D_200D_206C_200B_206D_206F_206F_200D_202D_206C_200D_202C_206C_206F_202A_200F_202D_206F_206B_200C_202C_206A_206C_200F_200B_202E_206F_202A_202D_206C_200F_200E_206E_200C_206E_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _206E_200B_202B_202A_202D_202C_200D_202A_206F_206D_202D_202E_200F_200F_206D_200C_206B_202D_200F_202D_200E_200F_206D_206A_200D_202E_202D_200C_200F_200D_206C_206A_206B_206D_206B_200F_202A_206C_202B_202C_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.EndsWith(P_1, P_2); - } - - static bool _206D_206D_200E_206C_206F_206B_206E_206A_202D_202A_206E_206E_206C_200D_206C_202C_206E_202C_206F_202B_200B_206B_200E_202E_200C_206E_200F_206C_200E_206C_200C_200C_202E_206B_200E_200E_200E_202A_202B_202B_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.StartsWith(P_1, P_2); - } - - static bool _206B_206B_206D_202A_200E_200F_200C_200D_206D_202D_200D_202D_200F_206A_200C_200F_202E_206A_206B_206D_202B_200F_202E_202E_202C_206F_202C_202A_200F_202C_200C_202B_200E_200B_200D_200D_202B_202B_200B_202C_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.Contains(P_1, P_2); - } - - static bool _200F_200C_202B_206C_200D_200B_200B_206C_206E_200F_200F_206D_200B_200B_200D_202C_202C_206F_206B_200F_200E_202A_206A_200D_202C_206A_202B_206B_200B_202C_200E_202B_202C_206B_202A_202D_200C_202C_206C_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static char _206A_206A_200E_202B_206A_202A_200E_206E_202D_202A_202B_206B_206B_202C_200D_202A_206B_206B_206E_200C_200C_206F_202E_202C_206A_202A_206A_206E_200F_206A_200C_202B_202A_200C_202A_206D_200F_206B_206A_206F_202E(string P_0, int P_1) - { - return P_0[P_1]; - } - - static CultureInfo _202D_200E_200E_200D_206F_200D_200C_200F_200D_200E_206A_200C_202E_206E_200D_202B_206B_200B_200C_202A_200F_206E_200C_206E_200B_202A_202C_206F_206A_200D_200E_202D_200C_206E_206F_202E_200E_200C_202A_206B_202E() - { - return CultureInfo.InvariantCulture; - } - - static string _200D_202A_206D_206D_200D_206F_206A_206D_202B_200F_202E_200F_202C_202E_200B_202E_200B_200B_200B_206A_206B_206F_206A_200E_206B_202A_200E_206A_202D_200E_206D_206B_202C_202C_206D_200E_202A_206A_200F_206D_202E(string P_0, CultureInfo P_1) - { - return P_0.ToUpper(P_1); - } - - static ReadOnlySpan _206D_200D_200B_206B_200C_202C_202D_206B_206C_200B_200B_206D_206E_200F_206D_202D_202A_206B_202A_206D_206A_202B_206D_206F_206B_206E_206A_206A_202A_202B_202D_206B_200E_206C_202C_206F_200F_206F_202D_206E_202E(string P_0) - { - return P_0.AsSpan(); - } - - static ReadOnlySpan _206B_202A_202A_206C_200C_200F_202C_206F_202A_202D_200F_200E_200B_206E_202B_200C_202E_206F_206E_202D_200F_202C_200C_202B_206F_206F_206C_202C_206A_202B_206A_206D_202B_202D_206E_200B_206F_202E_200C_202E(string P_0, int P_1) - { - return P_0.AsSpan(P_1); - } - - static string _202E_206C_200C_206A_202E_202B_200F_206A_202C_202A_200B_202E_206C_206B_202E_200F_202A_202A_202C_202E_206F_206A_206A_206F_202A_206B_202A_200B_206B_200D_206E_206D_200C_206A_206D_202C_202C_202D_202C_206D_202E(ReadOnlySpan P_0, ReadOnlySpan P_1) - { - return string.Concat(P_0, P_1); - } } diff --git a/Questionable/Questionable.Data/FishingData.cs b/Questionable/Questionable.Data/FishingData.cs index b268962..f0b7c7d 100644 --- a/Questionable/Questionable.Data/FishingData.cs +++ b/Questionable/Questionable.Data/FishingData.cs @@ -34,29 +34,12 @@ internal sealed class FishingData public bool TryGetFishingSpot(uint itemId, [NotNullWhen(true)] out FishingSpotInfo? spot) { - FishingSpotInfo value; - int num = ((!_itemToSpot.TryGetValue(itemId, out value)) ? 254023319 : 254023316); - while (true) + if (_itemToSpot.TryGetValue(itemId, out var value)) { - int num2 = num; - int num3 = 254023318; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - spot = null; - return false; - case 2: - spot = value; - return true; - case 0: - goto IL_0067; - } - continue; - IL_0067: - num = 254023316; + spot = value; + return true; } + spot = null; + return false; } } diff --git a/Questionable/Questionable.Data/FishingSpotInfo.cs b/Questionable/Questionable.Data/FishingSpotInfo.cs index 12ebac9..5ab8232 100644 --- a/Questionable/Questionable.Data/FishingSpotInfo.cs +++ b/Questionable/Questionable.Data/FishingSpotInfo.cs @@ -1,114 +1,3 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; - namespace Questionable.Data; -internal readonly record struct FishingSpotInfo(uint SpotId, ushort TerritoryId, float X, float Z, ushort GatheringLevel) -{ - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200D_200E_206C_206F_206C_200C_206D_202C_202A_206E_202D_200E_200B_206E_202E_206F_202C_206A_202E_200E_206D_200C_202A_206A_206A_200F_200C_200D_200F_200F_206A_200B_206B_200E_202B_202E_202C_202A_206D_206A_202E(); - _206C_206E_206F_206A_200E_202C_206A_206C_202E_202B_202C_206F_206A_206D_200B_200D_202E_206C_202E_206B_200D_200F_202E_206B_206C_202B_206A_202D_206D_206F_202E_206D_206A_202C_202D_200E_202A_202D_202D_200C_202E(stringBuilder, 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(-51629188)); - _206C_206E_206F_206A_200E_202C_206A_206C_202E_202B_202C_206F_206A_206D_200B_200D_202E_206C_202E_206B_200D_200F_202E_206B_206C_202B_206A_202D_206D_206F_202E_206D_206A_202C_202D_200E_202A_202D_202D_200C_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(556540328)); - int num = ((!PrintMembers(stringBuilder)) ? (-1583712030) : (-1583712029)); - while (true) - { - int num2 = num; - int num3 = -1583712030; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1583712029; - break; - case 1: - _200B_206E_200C_202A_202A_206A_200C_206F_202C_206F_200D_206A_206D_202E_202D_202E_206C_206F_202B_202C_206D_200E_202C_200D_206B_202D_206A_200F_206C_202B_206D_206B_202A_200C_200B_200E_202D_202A_206B_200E_202E(stringBuilder, ' '); - num = -1583712030; - break; - case 0: - _200B_206E_200C_202A_202A_206A_200C_206F_202C_206F_200D_206A_206D_202E_202D_202E_206C_206F_202B_202C_206D_200E_202C_200D_206B_202D_206A_200F_206C_202B_206D_206B_202A_200C_200B_200E_202D_202A_206B_200E_202E(stringBuilder, '}'); - return _206D_206C_206D_200D_206A_202A_200F_206E_200E_200B_206D_202B_200C_206A_202E_200F_200F_200D_200C_206B_200C_206B_200C_200B_200E_202C_200B_206E_206F_206E_200B_206A_202B_200D_200B_202B_202D_206D_206E_202A_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206C_206E_206F_206A_200E_202C_206A_206C_202E_202B_202C_206F_206A_206D_200B_200D_202E_206C_202E_206B_200D_200F_202E_206B_206C_202B_206A_202D_206D_206F_202E_206D_206A_202C_202D_200E_202A_202D_202D_200C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-5346518)); - _206C_206E_206F_206A_200E_202C_206A_206C_202E_202B_202C_206F_206A_206D_200B_200D_202E_206C_202E_206B_200D_200F_202E_206B_206C_202B_206A_202D_206D_206F_202E_206D_206A_202C_202D_200E_202A_202D_202D_200C_202E(builder, SpotId.ToString()); - _206C_206E_206F_206A_200E_202C_206A_206C_202E_202B_202C_206F_206A_206D_200B_200D_202E_206C_202E_206B_200D_200F_202E_206B_206C_202B_206A_202D_206D_206F_202E_206D_206A_202C_202D_200E_202A_202D_202D_200C_202E(builder, 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(-1213099778)); - _206C_206E_206F_206A_200E_202C_206A_206C_202E_202B_202C_206F_206A_206D_200B_200D_202E_206C_202E_206B_200D_200F_202E_206B_206C_202B_206A_202D_206D_206F_202E_206D_206A_202C_202D_200E_202A_202D_202D_200C_202E(builder, TerritoryId.ToString()); - _206C_206E_206F_206A_200E_202C_206A_206C_202E_202B_202C_206F_206A_206D_200B_200D_202E_206C_202E_206B_200D_200F_202E_206B_206C_202B_206A_202D_206D_206F_202E_206D_206A_202C_202D_200E_202A_202D_202D_200C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2042038110)); - _206C_206E_206F_206A_200E_202C_206A_206C_202E_202B_202C_206F_206A_206D_200B_200D_202E_206C_202E_206B_200D_200F_202E_206B_206C_202B_206A_202D_206D_206F_202E_206D_206A_202C_202D_200E_202A_202D_202D_200C_202E(builder, X.ToString()); - _206C_206E_206F_206A_200E_202C_206A_206C_202E_202B_202C_206F_206A_206D_200B_200D_202E_206C_202E_206B_200D_200F_202E_206B_206C_202B_206A_202D_206D_206F_202E_206D_206A_202C_202D_200E_202A_202D_202D_200C_202E(builder, 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(-1035184448)); - _206C_206E_206F_206A_200E_202C_206A_206C_202E_202B_202C_206F_206A_206D_200B_200D_202E_206C_202E_206B_200D_200F_202E_206B_206C_202B_206A_202D_206D_206F_202E_206D_206A_202C_202D_200E_202A_202D_202D_200C_202E(builder, Z.ToString()); - _206C_206E_206F_206A_200E_202C_206A_206C_202E_202B_202C_206F_206A_206D_200B_200D_202E_206C_202E_206B_200D_200F_202E_206B_206C_202B_206A_202D_206D_206F_202E_206D_206A_202C_202D_200E_202A_202D_202D_200C_202E(builder, 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(-67625738)); - _206C_206E_206F_206A_200E_202C_206A_206C_202E_202B_202C_206F_206A_206D_200B_200D_202E_206C_202E_206B_200D_200F_202E_206B_206C_202B_206A_202D_206D_206F_202E_206D_206A_202C_202D_200E_202A_202D_202D_200C_202E(builder, GatheringLevel.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(FishingSpotInfo other) - { - int num = ((!EqualityComparer.Default.Equals(SpotId, other.SpotId)) ? 290247047 : 290247042); - while (true) - { - int num2 = num; - int num3 = 290247046; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = 290247042; - break; - case 0: - num = ((!EqualityComparer.Default.Equals(Z, other.Z)) ? 290247047 : 290247044); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId)) ? 290247047 : 290247043); - break; - case 2: - return EqualityComparer.Default.Equals(GatheringLevel, other.GatheringLevel); - case 1: - return false; - case 5: - num = ((!EqualityComparer.Default.Equals(X, other.X)) ? 290247047 : 290247046); - break; - } - } - } - - bool IEquatable.Equals(FishingSpotInfo other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _200D_200E_206C_206F_206C_200C_206D_202C_202A_206E_202D_200E_200B_206E_202E_206F_202C_206A_202E_200E_206D_200C_202A_206A_206A_200F_200C_200D_200F_200F_206A_200B_206B_200E_202B_202E_202C_202A_206D_206A_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206C_206E_206F_206A_200E_202C_206A_206C_202E_202B_202C_206F_206A_206D_200B_200D_202E_206C_202E_206B_200D_200F_202E_206B_206C_202B_206A_202D_206D_206F_202E_206D_206A_202C_202D_200E_202A_202D_202D_200C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200B_206E_200C_202A_202A_206A_200C_206F_202C_206F_200D_206A_206D_202E_202D_202E_206C_206F_202B_202C_206D_200E_202C_200D_206B_202D_206A_200F_206C_202B_206D_206B_202A_200C_200B_200E_202D_202A_206B_200E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206D_206C_206D_200D_206A_202A_200F_206E_200E_200B_206D_202B_200C_206A_202E_200F_200F_200D_200C_206B_200C_206B_200C_200B_200E_202C_200B_206E_206F_206E_200B_206A_202B_200D_200B_202B_202D_206D_206E_202A_202E(object P_0) - { - return P_0.ToString(); - } -} +internal readonly record struct FishingSpotInfo(uint SpotId, ushort TerritoryId, float X, float Z, ushort GatheringLevel); diff --git a/Questionable/Questionable.Data/GameQuestSequences.cs b/Questionable/Questionable.Data/GameQuestSequences.cs index 8304f9d..672acd8 100644 --- a/Questionable/Questionable.Data/GameQuestSequences.cs +++ b/Questionable/Questionable.Data/GameQuestSequences.cs @@ -11,47 +11,20 @@ internal static class GameQuestSequences { public static List GetCompletionSequences(IDataManager dataManager, QuestId questId) { - Quest? rowOrDefault = dataManager.GetExcelSheet().GetRowOrDefault((uint)(0x10000 | _202B_200F_206E_206E_206E_200B_202A_200C_206B_200C_200D_200C_206E_200B_200C_200B_206D_206F_200B_206B_206D_206D_202C_200D_206B_202D_206C_206D_200D_202B_202A_206B_200F_206D_202A_202A_206F_206F_200D_202B_202E((ElementId)questId))); - int num = ((!rowOrDefault.HasValue) ? (-1830847264) : (-1830847257)); - Quest valueOrDefault = default(Quest); - while (true) + Quest? rowOrDefault = dataManager.GetExcelSheet().GetRowOrDefault((uint)(0x10000 | questId.Value)); + if (rowOrDefault.HasValue) { - int num2 = num; - int num3 = -1830847263; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + Quest valueOrDefault = rowOrDefault.GetValueOrDefault(); + if (valueOrDefault.TodoParams.Count == 0 || valueOrDefault.TodoParams[0].ToDoCompleteSeq == 0) { - case 0: - num = -1830847257; - break; - case 3: - return (from seq in (from seq in ((IEnumerable)valueOrDefault.TodoParams).Select((Func)((Quest.TodoParamsStruct x) => x.ToDoCompleteSeq)) - where seq != 0 - select seq).Distinct() - orderby seq - select seq).ToList(); - case 5: - num = ((valueOrDefault.TodoParams[0].ToDoCompleteSeq != 0) ? (-1830847262) : (-1830847259)); - break; - case 6: - valueOrDefault = rowOrDefault.GetValueOrDefault(); - num = -1830847261; - break; - case 4: - return new List(); - case 2: - num = ((valueOrDefault.TodoParams.Count == 0) ? (-1830847259) : (-1830847260)); - break; - case 1: return new List(); } + return (from seq in (from seq in ((IEnumerable)valueOrDefault.TodoParams).Select((Func)((Quest.TodoParamsStruct x) => x.ToDoCompleteSeq)) + where seq != 0 + select seq).Distinct() + orderby seq + select seq).ToList(); } - } - - static ushort _202B_200F_206E_206E_206E_200B_202A_200C_206B_200C_200D_200C_206E_200B_200C_200B_206D_206F_200B_206B_206D_206D_202C_200D_206B_202D_206C_206D_200D_202B_202A_206B_200F_206D_202A_202A_206F_206F_200D_202B_202E(ElementId P_0) - { - return P_0.Value; + return new List(); } } diff --git a/Questionable/Questionable.Data/GatheringData.cs b/Questionable/Questionable.Data/GatheringData.cs index b866cbb..65c5418 100644 --- a/Questionable/Questionable.Data/GatheringData.cs +++ b/Questionable/Questionable.Data/GatheringData.cs @@ -1,5 +1,3 @@ -using System; -using System.Collections; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Linq; @@ -26,60 +24,27 @@ internal sealed class GatheringData public GatheringData(IDataManager dataManager) { - Dictionary dictionary = dataManager.GetExcelSheet().Where(delegate(GatheringItem x) - { - int num4 = ((x.RowId == 0) ? 1888358196 : 1888358199); - while (true) - { - int num5 = num4; - int num6 = 1888358198; - int num7 = num5; - switch ((num7 | num6) - (num7 & num6)) - { - case 0: - goto IL_0047; - case 1: - return x.Item.RowId != 0; - case 2: - return false; - } - continue; - IL_0047: - num4 = 1888358199; - } - }).ToDictionary((GatheringItem x) => x.RowId, (GatheringItem x) => x.Item.RowId); + Dictionary dictionary = (from x in dataManager.GetExcelSheet() + where x.RowId != 0 && x.Item.RowId != 0 + select x).ToDictionary((GatheringItem x) => x.RowId, (GatheringItem x) => x.Item.RowId); foreach (GatheringPointBase item in dataManager.GetExcelSheet()) { - IEnumerator enumerator2 = item.Item.Where((RowRef x) => x.RowId != 0).GetEnumerator(); - try + foreach (RowRef item2 in item.Item.Where((RowRef x) => x.RowId != 0)) { - while (_200C_206A_206B_202B_200E_200C_200C_202B_206A_200B_206A_202A_202D_200E_206B_200B_200F_202B_200B_206D_206A_200D_202C_206A_206E_200E_206B_200D_206A_202D_202B_206D_200E_206C_202C_202E_200E_202B_202B_202E_202E((IEnumerator)enumerator2)) + if (!dictionary.TryGetValue(item2.RowId, out var value)) { - if (!dictionary.TryGetValue(enumerator2.Current.RowId, out var value)) - { - continue; - } - uint rowId = item.GatheringType.RowId; - if (rowId <= 1) - { - _minerGatheringPoints[value] = _200D_202D_200C_202B_200D_202B_206A_202E_200E_200F_200D_202C_202C_200D_206C_206E_202E_202E_206C_200B_202B_206B_200E_206D_206F_206F_200F_200C_200E_200D_206F_202D_200D_206C_202D_202B_206C_200F_202A_206E_202E((ushort)item.RowId); - continue; - } - rowId = item.GatheringType.RowId; - uint num = rowId; - int num2 = 2; - int num3 = (int)num; - if ((uint)(~(~num3 + num2)) <= 1u) - { - _botanistGatheringPoints[value] = _200D_202D_200C_202B_200D_202B_206A_202E_200E_200F_200D_202C_202C_200D_206C_206E_202E_202E_206C_200B_202B_206B_200E_206D_206F_206F_200F_200C_200E_200D_206F_202D_200D_206C_202D_202B_206C_200F_202A_206E_202E((ushort)item.RowId); - } + continue; } - } - finally - { - if (enumerator2 != null) + uint rowId = item.GatheringType.RowId; + if (rowId <= 1) { - _202A_200E_206D_200B_200E_202E_200D_200E_200C_200B_200E_200E_200D_206A_202A_206D_200B_200E_202C_206C_200C_202C_202E_200B_200B_202D_200F_202E_206E_200C_206D_200C_206D_206D_206C_206E_206F_206A_200F_202E_202E((IDisposable)enumerator2); + _minerGatheringPoints[value] = new GatheringPointId((ushort)item.RowId); + continue; + } + rowId = item.GatheringType.RowId; + if (rowId - 2 <= 1) + { + _botanistGatheringPoints[value] = new GatheringPointId((ushort)item.RowId); } } } @@ -123,19 +88,4 @@ internal sealed class GatheringData { return _npcForCustomDeliveries.TryGetValue(itemId, out npcId); } - - static GatheringPointId _200D_202D_200C_202B_200D_202B_206A_202E_200E_200F_200D_202C_202C_200D_206C_206E_202E_202E_206C_200B_202B_206B_200E_206D_206F_206F_200F_200C_200E_200D_206F_202D_200D_206C_202D_202B_206C_200F_202A_206E_202E(ushort P_0) - { - return new GatheringPointId(P_0); - } - - static bool _200C_206A_206B_202B_200E_200C_200C_202B_206A_200B_206A_202A_202D_200E_206B_200B_200F_202B_200B_206D_206A_200D_202C_206A_206E_200E_206B_200D_206A_202D_202B_206D_200E_206C_202C_202E_200E_202B_202B_202E_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202A_200E_206D_200B_200E_202E_200D_200E_200C_200B_200E_200E_200D_206A_202A_206D_200B_200E_202C_206C_200C_202C_202E_200B_200B_202D_200F_202E_206E_200C_206D_200C_206D_206D_206C_206E_206F_206A_200F_202E_202E(IDisposable P_0) - { - P_0.Dispose(); - } } diff --git a/Questionable/Questionable.Data/HuntMobData.cs b/Questionable/Questionable.Data/HuntMobData.cs index 4023fa2..ed478ca 100644 --- a/Questionable/Questionable.Data/HuntMobData.cs +++ b/Questionable/Questionable.Data/HuntMobData.cs @@ -31,9 +31,7 @@ internal sealed class HuntMobData foreach (NotoriousMonster item in excelSheet) { byte rank = item.Rank; - int num = 2; - int num2 = rank; - if ((uint)(~(~num2 + num)) > 1u) + if ((uint)(rank - 2) > 1u) { continue; } diff --git a/Questionable/Questionable.Data/JournalData.cs b/Questionable/Questionable.Data/JournalData.cs index 6d53560..c137f44 100644 --- a/Questionable/Questionable.Data/JournalData.cs +++ b/Questionable/Questionable.Data/JournalData.cs @@ -1,8 +1,6 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Linq; -using System.Runtime.CompilerServices; using Dalamud.Game; using Dalamud.Plugin.Services; using Lumina.Excel; @@ -97,268 +95,6 @@ internal sealed class JournalData } } - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__10_0; - - public static Func _003C_003E9__10_2; - - public static Func _003C_003E9__10_3; - - public static Func _003C_003E9__10_4; - - public static Func _003C_003E9__10_5; - - public static Func _003C_003E9__10_7; - - public static Func _003C_003E9__10_8; - - public static Func _003C_003E9__10_10; - - public static Func _003C_003E9__10_11; - - public static Func _003C_003E9__10_13; - - public static Func _003C_003E9__10_14; - - public static Func _003C_003E9__10_16; - - public static Func> _003C_003E9__10_18; - - public static Func _003C_003E9__10_19; - - public static Func _003C_003E9__10_21; - - public static Func _003C_003E9__10_22; - - public static Func _003C_003E9__10_23; - - public static Func _003C_003E9__29_0; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal bool _003C_002Ector_003Eb__10_0(JournalCategory x) - { - return _202C_202E_200B_206E_202A_202D_202A_200B_206E_206D_206A_206A_200C_200E_200C_200B_206D_202C_200C_206C_200D_202B_200F_202E_200E_200E_200C_200B_202D_206C_206C_202E_200F_206D_202E_202E_206C_202D_200C_206B_202E(x.Name.ToString(), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(94738530), StringComparison.OrdinalIgnoreCase); - } - - internal uint _003C_002Ector_003Eb__10_2(JournalGenre x) - { - return x.RowId; - } - - internal uint _003C_002Ector_003Eb__10_3(uint x) - { - return x; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal bool _003C_002Ector_003Eb__10_4(JournalGenre x) - { - return _202C_202E_200B_206E_202A_202D_202A_200B_206E_206D_206A_206A_200C_200E_200C_200B_206D_202C_200C_206C_200D_202B_200F_202E_200E_200E_200C_200B_202D_206C_206C_202E_200F_206D_202E_202E_206C_202D_200C_206B_202E(x.Name.ToString(), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1098443665), StringComparison.OrdinalIgnoreCase); - } - - internal bool _003C_002Ector_003Eb__10_5(JournalGenre x) - { - int num = ((x.RowId == 0) ? 267334401 : 267334402); - while (true) - { - int num2 = num; - int num3 = 267334400; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0048; - case 2: - return x.Icon > 0; - case 1: - return false; - } - continue; - IL_0048: - num = 267334402; - } - } - - internal uint _003C_002Ector_003Eb__10_7(QuestRedo.QuestRedoParamStruct x) - { - return x.Quest.RowId; - } - - internal bool _003C_002Ector_003Eb__10_8(uint x) - { - return x != 0; - } - - internal uint _003C_002Ector_003Eb__10_10(QuestRedo.QuestRedoParamStruct x) - { - return x.Quest.RowId; - } - - internal bool _003C_002Ector_003Eb__10_11(uint x) - { - return x != 0; - } - - internal uint _003C_002Ector_003Eb__10_13(QuestRedo.QuestRedoParamStruct x) - { - return x.Quest.RowId; - } - - internal bool _003C_002Ector_003Eb__10_14(uint x) - { - return x != 0; - } - - internal bool _003C_002Ector_003Eb__10_16(Genre x) - { - return x.Id == 1; - } - - internal IEnumerable _003C_002Ector_003Eb__10_18(Genre g) - { - return g.Quests; - } - - internal ElementId _003C_002Ector_003Eb__10_19(IQuestInfo q) - { - return q.QuestId; - } - - internal ushort _003C_002Ector_003Eb__10_21(QuestInfo x) - { - return x.SortKey; - } - - internal ElementId _003C_002Ector_003Eb__10_22(QuestInfo x) - { - return x.QuestId; - } - - internal bool _003C_002Ector_003Eb__10_23(JournalCategory x) - { - return x.RowId != 0; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal bool _003CGetOtherQuestsSectionRowId_003Eb__29_0(JournalSection s) - { - return _202B_200C_200B_202A_206D_206F_206C_200C_200C_200D_202C_202A_206E_206F_200E_202D_200B_200D_200B_202C_200C_202E_200F_200B_200C_200E_206D_202D_206C_202B_206C_206F_206C_200E_206E_206D_206D_200F_202D_202D_202E(s.Name.ToString(), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1421434526)); - } - - static bool _202C_202E_200B_206E_202A_202D_202A_200B_206E_206D_206A_206A_200C_200E_200C_200B_206D_202C_200C_206C_200D_202B_200F_202E_200E_200E_200C_200B_202D_206C_206C_202E_200F_206D_202E_202E_206C_202D_200C_206B_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.Equals(P_1, P_2); - } - - static bool _202B_200C_200B_202A_206D_206F_206C_200C_200C_200D_202C_202A_206E_206F_200E_202D_200B_200D_200B_202C_200C_202E_200F_200B_200C_200E_206D_202D_206C_202B_206C_206F_206C_200E_206E_206D_206D_200F_202D_202D_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass10_0 - { - public JournalData _003C_003E4__this; - - public QuestData questData; - - internal bool _003C_002Ector_003Eb__1(JournalGenre x) - { - int num = ((x.RowId == 0) ? 1055000676 : 1055000677); - while (true) - { - int num2 = num; - int num3 = 1055000676; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_004d; - case 0: - return false; - case 1: - return x.JournalCategory.RowId == _003C_003E4__this.SeasonalEventsCategoryId.Value; - } - continue; - IL_004d: - num = 1055000677; - } - } - - internal Genre _003C_002Ector_003Eb__6(JournalGenre x) - { - return new Genre(x, questData.GetAllByJournalGenre(x.RowId)); - } - - internal IQuestInfo _003C_002Ector_003Eb__9(uint x) - { - return questData.GetQuestInfo(_202A_200C_202A_202B_200E_206B_200E_200D_200C_202B_206D_206A_202A_200D_200B_202E_206C_202E_200C_202D_200C_206A_200E_200D_206E_206F_200C_206E_202E_206A_206D_200D_206D_206E_206F_206C_202B_206F_206C_202B_202E(x)); - } - - internal IQuestInfo _003C_002Ector_003Eb__12(uint x) - { - return questData.GetQuestInfo(_202A_200C_202A_202B_200E_206B_200E_200D_200C_202B_206D_206A_202A_200D_200B_202E_206C_202E_200C_202D_200C_206A_200E_200D_206E_206F_200C_206E_202E_206A_206D_200D_206D_206E_206F_206C_202B_206F_206C_202B_202E(x)); - } - - internal IQuestInfo _003C_002Ector_003Eb__15(uint x) - { - return questData.GetQuestInfo(_202A_200C_202A_202B_200E_206B_200E_200D_200C_202B_206D_206A_202A_200D_200B_202E_206C_202E_200C_202D_200C_206A_200E_200D_206E_206F_200C_206E_202E_206A_206D_200D_206D_206E_206F_206C_202B_206F_206C_202B_202E(x)); - } - - internal Category _003C_002Ector_003Eb__24(JournalCategory x) - { - _003C_003Ec__DisplayClass10_2 CS_0024_003C_003E8__locals2 = new _003C_003Ec__DisplayClass10_2 - { - x = x - }; - return new Category(CS_0024_003C_003E8__locals2.x, _003C_003E4__this.Genres.Where((Genre y) => y.CategoryId == CS_0024_003C_003E8__locals2.x.RowId).ToList()); - } - - internal Section _003C_002Ector_003Eb__25(JournalSection x) - { - _003C_003Ec__DisplayClass10_3 CS_0024_003C_003E8__locals2 = new _003C_003Ec__DisplayClass10_3 - { - x = x - }; - return new Section(CS_0024_003C_003E8__locals2.x, _003C_003E4__this.Categories.Where((Category y) => y.SectionId == CS_0024_003C_003E8__locals2.x.RowId).ToList()); - } - - static QuestId _202A_200C_202A_202B_200E_206B_200E_200D_200C_202B_206D_206A_202A_200D_200B_202E_206C_202E_200C_202D_200C_206A_200E_200D_206E_206F_200C_206E_202E_206A_206D_200D_206D_206E_206F_206C_202B_206F_206C_202B_202E(uint P_0) - { - return QuestId.FromRowId(P_0); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass10_2 - { - public JournalCategory x; - - internal bool _003C_002Ector_003Eb__26(Genre y) - { - return y.CategoryId == x.RowId; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass10_3 - { - public JournalSection x; - - internal bool _003C_002Ector_003Eb__27(Category y) - { - return y.SectionId == x.RowId; - } - } - private readonly ILogger _logger; private const uint UnassignedGenreId = 4294967291u; @@ -367,414 +103,108 @@ internal sealed class JournalData private static readonly Dictionary QuestGenreOverrides = new Dictionary { - { - 1119, - 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(-1305358158) - }, - { - 1120, - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1582826252) - }, - { - 1121, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1520313259) - }, - { - 1122, - 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(-1305358158) - }, - { - 1123, - 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(-412539435) - }, - { - 1124, - 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(-412539435) - }, - { - 1125, - 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(-412539435) - }, - { - 1126, - 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(-1305358158) - }, - { - 1127, - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-811508698) - }, - { - 1579, - 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(-412539435) - }, - { - 4173, - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1693926997) - }, - { - 4196, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1143882431) - }, - { - 4197, - 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(1495315526) - }, - { - 4198, - 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(-1396094695) - }, - { - 4199, - 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(1495315526) - }, - { - 4200, - 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(1495315526) - }, - { - 4201, - 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(-1396094695) - }, - { - 4202, - 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(1495315526) - }, - { - 4203, - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(736629864) - }, - { - 4204, - 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(-1396094695) - }, - { - 4205, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1143882431) - }, - { - 4206, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1143882431) - }, - { - 4207, - 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(1495315526) - }, - { - 4208, - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1842340562) - }, - { - 4209, - 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(1495315526) - }, - { - 101, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1627004746) - }, - { - 177, - 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(-1664023325) - }, - { - 178, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-281039921) - }, - { - 179, - 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(171773541) - }, - { - 180, - 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(1521567255) - }, - { - 181, - 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(1572110383) - }, - { - 182, - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1108841558) - }, - { - 183, - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1735035275) - }, - { - 184, - 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(-1953715994) - }, - { - 185, - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1073040588) - }, - { - 186, - 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(1648905240) - }, - { - 187, - 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(-981016817) - }, - { - 188, - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(759686966) - }, - { - 189, - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(950239454) - }, - { - 190, - 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(767562886) - }, - { - 191, - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1873832748) - }, - { - 192, - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-60872052) - }, - { - 193, - 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(2079024563) - }, - { - 451, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1922634614) - }, - { - 1134, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-932900377) - }, - { - 2109, - 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(-904481056) - }, - { - 437, - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2121067052) - }, - { - 488, - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1550833574) - }, - { - 489, - 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(402158112) - }, - { - 2106, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-953100617) - }, - { - 2107, - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1850403653) - }, - { - 2110, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-953100617) - }, - { - 2123, - 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(997113777) - }, - { - 2334, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1916944327) - }, - { - 2387, - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-87035783) - }, - { - 2389, - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-558440209) - }, - { - 2390, - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(24816158) - }, - { - 2391, - 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(931270108) - }, - { - 2612, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(310219815) - }, - { - 2613, - 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(46095454) - }, - { - 2920, - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(45227288) - }, - { - 2921, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(290019575) - }, - { - 2941, - 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(481555478) - }, - { - 2942, - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-917992694) - }, - { - 2943, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(290019575) - }, - { - 3019, - 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(387598708) - }, - { - 3088, - 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(-577278110) - }, - { - 3602, - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-944156425) - }, - { - 3603, - 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(-671234880) - }, - { - 3604, - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(384222801) - }, - { - 3605, - 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(-1806863325) - }, - { - 3662, - 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(-1806863325) - }, - { - 3759, - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1550833574) - }, - { - 3760, - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1790879174) - }, - { - 3841, - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2047561568) - }, - { - 3842, - 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(199685168) - }, - { - 3942, - 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(1587082942) - }, - { - 3972, - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2047561568) - }, - { - 4027, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1142038998) - }, - { - 4030, - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1550833574) - }, - { - 4041, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1142038998) - }, - { - 4042, - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1790879174) - }, - { - 4044, - 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(1095305312) - }, - { - 4045, - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1238288409) - }, - { - 4046, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(607693116) - }, - { - 4047, - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2108608255) - }, - { - 4048, - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2108608255) - }, - { - 4049, - 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(1095305312) - }, - { - 4094, - 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(1587082942) - }, - { - 4170, - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-600771060) - }, - { - 4171, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1450732885) - }, - { - 4174, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1450732885) - }, - { - 4175, - 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(795147105) - }, - { - 4644, - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1817042905) - }, - { - 4651, - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1561279270) - }, - { - 5003, - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1668629340) - }, - { - 5004, - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-523374154) - }, - { - 5006, - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-523374154) - }, - { - 5007, - 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(111750052) - }, - { - 5008, - 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(711940049) - }, - { - 5408, - 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(-937484886) - }, - { - 5459, - 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(2035482034) - } + { 1119, "Zodiac Weapons" }, + { 1120, "Zodiac Weapons" }, + { 1121, "Zodiac Weapons" }, + { 1122, "Zodiac Weapons" }, + { 1123, "Zodiac Weapons" }, + { 1124, "Zodiac Weapons" }, + { 1125, "Zodiac Weapons" }, + { 1126, "Zodiac Weapons" }, + { 1127, "Zodiac Weapons" }, + { 1579, "Zodiac Weapons" }, + { 4173, "Radz-at-Han Sidequests" }, + { 4196, "Thavnairian Sidequests" }, + { 4197, "Thavnairian Sidequests" }, + { 4198, "Thavnairian Sidequests" }, + { 4199, "Thavnairian Sidequests" }, + { 4200, "Thavnairian Sidequests" }, + { 4201, "Thavnairian Sidequests" }, + { 4202, "Thavnairian Sidequests" }, + { 4203, "Thavnairian Sidequests" }, + { 4204, "Thavnairian Sidequests" }, + { 4205, "Thavnairian Sidequests" }, + { 4206, "Thavnairian Sidequests" }, + { 4207, "Thavnairian Sidequests" }, + { 4208, "Thavnairian Sidequests" }, + { 4209, "Thavnairian Sidequests" }, + { 101, "Rogue Quests" }, + { 177, "Gladiator Quests" }, + { 178, "Pugilist Quests" }, + { 179, "Marauder Quests" }, + { 180, "Lancer Quests" }, + { 181, "Archer Quests" }, + { 182, "Conjurer Quests" }, + { 183, "Thaumaturge Quests" }, + { 184, "Carpenter Quests" }, + { 185, "Blacksmith Quests" }, + { 186, "Armorer Quests" }, + { 187, "Goldsmith Quests" }, + { 188, "Leatherworker Quests" }, + { 189, "Weaver Quests" }, + { 190, "Alchemist Quests" }, + { 191, "Culinarian Quests" }, + { 192, "Miner Quests" }, + { 193, "Botanist Quests" }, + { 451, "Arcanist Quests" }, + { 1134, "Fisher Quests" }, + { 2109, "Machinist Quests" }, + { 437, "Ul'dahn Sidequests" }, + { 488, "Ul'dahn Sidequests" }, + { 489, "Ul'dahn Sidequests" }, + { 2106, "Ishgardian Sidequests" }, + { 2107, "Dravanian Forelands Sidequests" }, + { 2110, "Ishgardian Sidequests" }, + { 2123, "Ishgardian Sidequests" }, + { 2334, "Anima Weapons" }, + { 2387, "Palace of the Dead" }, + { 2389, "Order of the Twin Adder Quests" }, + { 2390, "Maelstrom Quests" }, + { 2391, "Immortal Flames Quests" }, + { 2612, "The Forbidden Land, Eureka" }, + { 2613, "The Forbidden Land, Eureka" }, + { 2920, "Rhalgr's Reach Sidequests" }, + { 2921, "Kugane Sidequests" }, + { 2941, "Rhalgr's Reach Sidequests" }, + { 2942, "The Forbidden Land, Eureka" }, + { 2943, "Kugane Sidequests" }, + { 3019, "Gridanian Sidequests" }, + { 3088, "Mor Dhonan Sidequests" }, + { 3602, "Crystarium Sidequests" }, + { 3603, "Eulmore Sidequests" }, + { 3604, "Crystarium Sidequests" }, + { 3605, "Crystarium Sidequests" }, + { 3662, "Crystarium Sidequests" }, + { 3759, "Ul'dahn Sidequests" }, + { 3760, "Ishgardian Restoration Main Quests" }, + { 3841, "Ishgardian Restoration Main Quests" }, + { 3842, "Lochs Sidequests" }, + { 3942, "Resistance Weapons" }, + { 3972, "Ishgardian Restoration Main Quests" }, + { 4027, "Resistance Weapons" }, + { 4030, "Ul'dahn Sidequests" }, + { 4041, "Resistance Weapons" }, + { 4042, "Ishgardian Restoration Main Quests" }, + { 4044, "YoRHa: Dark Apocalypse" }, + { 4045, "YoRHa: Dark Apocalypse" }, + { 4046, "YoRHa: Dark Apocalypse" }, + { 4047, "YoRHa: Dark Apocalypse" }, + { 4048, "YoRHa: Dark Apocalypse" }, + { 4049, "YoRHa: Dark Apocalypse" }, + { 4094, "Resistance Weapons" }, + { 4170, "Old Sharlayan Sidequests" }, + { 4171, "Old Sharlayan Sidequests" }, + { 4174, "Old Sharlayan Sidequests" }, + { 4175, "Radz-at-Han Sidequests" }, + { 4644, "Island Sanctuary Quests" }, + { 4651, "Old Sharlayan Sidequests" }, + { 5003, "Tuliyollal Sidequests" }, + { 5004, "Tuliyollal Sidequests" }, + { 5006, "Tuliyollal Sidequests" }, + { 5007, "Solution Nine Sidequests" }, + { 5008, "Solution Nine Sidequests" }, + { 5408, "Crystarium Sidequests" }, + { 5459, "Old Sharlayan Sidequests" } }; private static readonly HashSet SortKeyZeroOverrides = new HashSet { 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1579 }; @@ -793,174 +223,77 @@ internal sealed class JournalData public int? OtherQuestsSectionRowId { get; private set; } - [MethodImpl(MethodImplOptions.NoInlining)] public JournalData(IDataManager dataManager, QuestData questData, ILogger logger) { JournalData journalData = this; _logger = logger; ExcelSheet excelSheet = dataManager.GetExcelSheet(); ExcelSheet excelSheet2 = dataManager.GetExcelSheet(ClientLanguage.English); - JournalCategory journalCategory = dataManager.GetExcelSheet(ClientLanguage.English).FirstOrDefault([MethodImpl(MethodImplOptions.NoInlining)] (JournalCategory x) => _003C_003Ec._202C_202E_200B_206E_202A_202D_202A_200B_206E_206D_206A_206A_200C_200E_200C_200B_206D_202C_200C_206C_200D_202B_200F_202E_200E_200E_200C_200B_202D_206C_206C_202E_200F_206D_202E_202E_206C_202D_200C_206B_202E(x.Name.ToString(), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(94738530), StringComparison.OrdinalIgnoreCase)); + JournalCategory journalCategory = dataManager.GetExcelSheet(ClientLanguage.English).FirstOrDefault((JournalCategory x) => x.Name.ToString().Equals("Seasonal Events", StringComparison.OrdinalIgnoreCase)); if (journalCategory.RowId != 0) { SeasonalEventsCategoryId = journalCategory.RowId; - _200B_202D_200B_206B_206C_206C_206D_202A_200C_200C_206D_206D_202A_206D_206D_206D_200E_202C_202A_200D_200F_200C_206E_206B_206E_206F_200F_206F_200D_206F_206E_202A_206F_200E_206E_200B_206D_200E_206B_202B_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1195841722), new object[1] { SeasonalEventsCategoryId }); + _logger.LogDebug("Resolved 'Seasonal Events' JournalCategory ID: {CategoryId}", SeasonalEventsCategoryId); } else { SeasonalEventsCategoryId = null; - _202E_206B_206D_200E_202A_200D_206D_200F_200E_206A_200F_202D_206F_206C_200F_202B_206C_202E_200C_202B_202D_200C_206F_200B_202C_200D_202A_200B_202E_206A_206B_200C_206E_200B_206B_206F_200D_206E_202B_206C_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(795445642), Array.Empty()); + _logger.LogWarning("Could not find 'Seasonal Events' JournalCategory - seasonal event detection may not work correctly"); } if (SeasonalEventsCategoryId.HasValue) { - SeasonalEventGenreIds = (from x in excelSheet.Where(delegate(JournalGenre x) - { - int num5 = ((x.RowId == 0) ? 1055000676 : 1055000677); - while (true) - { - int num6 = num5; - int num7 = 1055000676; - int num8 = num6; - int num9 = num8 + num7; - int num10 = num8 & num7; - switch (num9 - (num10 + num10)) - { - case 2: - goto IL_004d; - case 0: - return false; - case 1: - return x.JournalCategory.RowId == journalData.SeasonalEventsCategoryId.Value; - } - continue; - IL_004d: - num5 = 1055000677; - } - }) + SeasonalEventGenreIds = (from x in excelSheet + where x.RowId != 0 && x.JournalCategory.RowId == journalData.SeasonalEventsCategoryId.Value select x.RowId).ToHashSet(); - _200B_202D_200B_206B_206C_206C_206D_202A_200C_200C_206D_206D_202A_206D_206D_206D_200E_202C_202A_200D_200F_200C_206E_206B_206E_206F_200F_206F_200D_206F_206E_202A_206F_200E_206E_200B_206D_200E_206B_202B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-180038721), new object[3] - { - SeasonalEventGenreIds.Count, - SeasonalEventsCategoryId.Value, - string.Join(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1467939024), SeasonalEventGenreIds.OrderBy((uint x) => x)) - }); + _logger.LogDebug("Resolved {Count} seasonal event JournalGenre IDs from JournalCategory {CategoryId}: [{Ids}]", SeasonalEventGenreIds.Count, SeasonalEventsCategoryId.Value, string.Join(", ", SeasonalEventGenreIds.OrderBy((uint x) => x))); } else { SeasonalEventGenreIds = new HashSet(); } - JournalGenre journalGenre = excelSheet2.FirstOrDefault([MethodImpl(MethodImplOptions.NoInlining)] (JournalGenre x) => _003C_003Ec._202C_202E_200B_206E_202A_202D_202A_200B_206E_206D_206A_206A_200C_200E_200C_200B_206D_202C_200C_206C_200D_202B_200F_202E_200E_200E_200C_200B_202D_206C_206C_202E_200F_206D_202E_202E_206C_202D_200C_206B_202E(x.Name.ToString(), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1098443665), StringComparison.OrdinalIgnoreCase)); + JournalGenre journalGenre = excelSheet2.FirstOrDefault((JournalGenre x) => x.Name.ToString().Equals("Delivery Moogle Quests", StringComparison.OrdinalIgnoreCase)); if (journalGenre.RowId != 0) { MoogleDeliveryGenreId = journalGenre.RowId; - _200B_202D_200B_206B_206C_206C_206D_202A_200C_200C_206D_206D_202A_206D_206D_206D_200E_202C_202A_200D_200F_200C_206E_206B_206E_206F_200F_206F_200D_206F_206E_202A_206F_200E_206E_200B_206D_200E_206B_202B_202E((ILogger)_logger, 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(1718606289), new object[1] { MoogleDeliveryGenreId }); + _logger.LogDebug("Resolved 'Delivery Moogle Quests' JournalGenre ID: {GenreId}", MoogleDeliveryGenreId); } else { MoogleDeliveryGenreId = null; - _202E_206B_206D_200E_202A_200D_206D_200F_200E_206A_200F_202D_206F_206C_200F_202B_206C_202E_200C_202B_202D_200C_206F_200B_202C_200D_202A_200B_202E_206A_206B_200C_206E_200B_206B_206F_200D_206E_202B_206C_202E((ILogger)_logger, 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(931762081), Array.Empty()); + _logger.LogWarning("Could not find 'Delivery Moogle Quests' JournalGenre - moogle delivery quest detection may not work correctly"); } ApplyGenreOverrides(excelSheet2, questData); - List list = (from x in excelSheet.Where(delegate(JournalGenre x) - { - int num5 = ((x.RowId == 0) ? 267334401 : 267334402); - while (true) - { - int num6 = num5; - int num7 = 267334400; - int num8 = num6; - switch ((num8 | num7) - (num8 & num7)) - { - case 0: - goto IL_0048; - case 2: - return x.Icon > 0; - case 1: - return false; - } - continue; - IL_0048: - num5 = 267334402; - } - }) + List list = (from x in excelSheet + where x.RowId != 0 && x.Icon > 0 select new Genre(x, questData.GetAllByJournalGenre(x.RowId))).ToList(); QuestRedo row = dataManager.GetExcelSheet().GetRow(1u); QuestRedo row2 = dataManager.GetExcelSheet().GetRow(2u); QuestRedo row3 = dataManager.GetExcelSheet().GetRow(3u); - Genre genreLimsa = new Genre(4294967292u, 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(-460614731), 1u, (from x in new uint[2] { 108u, 109u }.Concat(row.QuestRedoParam.Select((QuestRedo.QuestRedoParamStruct x) => x.Quest.RowId)) + Genre genreLimsa = new Genre(4294967292u, "Starting in Limsa Lominsa", 1u, (from x in new uint[2] { 108u, 109u }.Concat(row.QuestRedoParam.Select((QuestRedo.QuestRedoParamStruct x) => x.Quest.RowId)) where x != 0 - select questData.GetQuestInfo(_003C_003Ec__DisplayClass10_0._202A_200C_202A_202B_200E_206B_200E_200D_200C_202B_206D_206A_202A_200D_200B_202E_206C_202E_200C_202D_200C_206A_200E_200D_206E_206F_200C_206E_202E_206A_206D_200D_206D_206E_206F_206C_202B_206F_206C_202B_202E(x))).ToList()); - string name = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-890457159); - uint[] array = new uint[3]; - _206F_200F_202D_206E_202E_202C_200D_202D_202B_206A_202E_200F_202B_206E_200B_200D_206A_206A_200D_202A_200D_202D_202C_206A_200F_202E_202B_206F_202D_206A_202A_206F_200D_202D_200D_206A_200F_200B_200E_202B_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - Genre genreGridania = new Genre(4294967293u, name, 1u, (from x in array.Concat(row2.QuestRedoParam.Select((QuestRedo.QuestRedoParamStruct x) => x.Quest.RowId)) + select questData.GetQuestInfo(QuestId.FromRowId(x))).ToList()); + Genre genreGridania = new Genre(4294967293u, "Starting in Gridania", 1u, (from x in new uint[3] { 85u, 123u, 124u }.Concat(row2.QuestRedoParam.Select((QuestRedo.QuestRedoParamStruct x) => x.Quest.RowId)) where x != 0 - select questData.GetQuestInfo(_003C_003Ec__DisplayClass10_0._202A_200C_202A_202B_200E_206B_200E_200D_200C_202B_206D_206A_202A_200D_200B_202E_206C_202E_200C_202D_200C_206A_200E_200D_206E_206F_200C_206E_202E_206A_206D_200D_206D_206E_206F_206C_202B_206F_206C_202B_202E(x))).ToList()); - string name2 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1348050745); - uint[] array2 = new uint[3]; - _206F_200F_202D_206E_202E_202C_200D_202D_202B_206A_202E_200F_202B_206E_200B_200D_206A_206A_200D_202A_200D_202D_202C_206A_200F_202E_202B_206F_202D_206A_202A_206F_200D_202D_200D_206A_200F_200B_200E_202B_202E((Array)array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - Genre genreUldah = new Genre(4294967294u, name2, 1u, (from x in array2.Concat(row3.QuestRedoParam.Select((QuestRedo.QuestRedoParamStruct x) => x.Quest.RowId)) + select questData.GetQuestInfo(QuestId.FromRowId(x))).ToList()); + Genre genreUldah = new Genre(4294967294u, "Starting in Ul'dah", 1u, (from x in new uint[3] { 568u, 569u, 570u }.Concat(row3.QuestRedoParam.Select((QuestRedo.QuestRedoParamStruct x) => x.Quest.RowId)) where x != 0 - select questData.GetQuestInfo(_003C_003Ec__DisplayClass10_0._202A_200C_202A_202B_200E_206B_200E_200D_200C_202B_206D_206A_202A_200D_200B_202E_206C_202E_200C_202D_200C_206A_200E_200D_206E_206F_200C_206E_202E_206A_206D_200D_206D_206E_206F_206C_202B_206F_206C_202B_202E(x))).ToList()); + select questData.GetQuestInfo(QuestId.FromRowId(x))).ToList()); list.InsertRange(0, new Genre[3] { genreLimsa, genreGridania, genreUldah }); - list.Single((Genre x) => x.Id == 1).Quests.RemoveAll(delegate(IQuestInfo x) - { - int num5 = (genreLimsa.Quests.Contains(x) ? (-782963691) : (-782963692)); - while (true) - { - int num6 = num5; - int num7 = -782963690; - int num8 = num6; - switch ((num8 | num7) - (num8 & num7)) - { - case 0: - num5 = -782963692; - break; - case 3: - return true; - case 2: - num5 = (genreGridania.Quests.Contains(x) ? (-782963691) : (-782963689)); - break; - case 1: - return genreUldah.Quests.Contains(x); - } - } - }); + list.Single((Genre x) => x.Id == 1).Quests.RemoveAll((IQuestInfo x) => genreLimsa.Quests.Contains(x) || genreGridania.Quests.Contains(x) || genreUldah.Quests.Contains(x)); HashSet assignedQuestIds = new HashSet(from q in list.SelectMany((Genre g) => g.Quests) select q.QuestId); - List list2 = (from QuestInfo x in questData.AllQuests.Values.Where(delegate(IQuestInfo x) - { - int num5 = ((!(x is QuestInfo)) ? (-1514069229) : (-1514069232)); - while (true) - { - int num6 = num5; - int num7 = -1514069231; - int num8 = num6; - switch ((num8 | num7) - (num8 & num7)) - { - case 0: - goto IL_0046; - case 1: - return !assignedQuestIds.Contains(x.QuestId); - case 2: - return false; - } - continue; - IL_0046: - num5 = -1514069232; - } - }) + List list2 = (from QuestInfo x in questData.AllQuests.Values.Where((IQuestInfo x) => x is QuestInfo && !assignedQuestIds.Contains(x.QuestId)) orderby x.SortKey, x.QuestId select x).ToList(); Genre genre = null; if (list2.Count > 0) { - _202E_206B_206D_200E_202A_200D_206D_200F_200E_206A_200F_202D_206F_206C_200F_202B_206C_202E_200C_202B_202D_200C_206F_200B_202C_200D_202A_200B_202E_206A_206B_200C_206E_200B_206B_206F_200D_206E_202B_206C_202E((ILogger)_logger, 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(767890868), new object[1] { list2.Count }); + _logger.LogWarning("Found {Count} quests not assigned to any journal genre:", list2.Count); foreach (QuestInfo item in list2) { - _202E_206B_206D_200E_202A_200D_206D_200F_200E_206A_200F_202D_206F_206C_200F_202B_206C_202E_200C_202B_202D_200C_206F_200B_202C_200D_202A_200B_202E_206A_206B_200C_206E_200B_206B_206F_200D_206E_202B_206C_202E((ILogger)_logger, 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(-383819874), new object[3] { item.QuestId, item.Name, item.JournalGenre }); + _logger.LogWarning(" Orphaned quest {QuestId} '{Name}' (JournalGenre={Genre})", item.QuestId, item.Name, item.JournalGenre); } - genre = new Genre(4294967291u, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2017945527), 4294967291u, list2.Cast().ToList()); + genre = new Genre(4294967291u, "Unassigned Quests", 4294967291u, list2.Cast().ToList()); list.Add(genre); } Genres = list.ToList(); @@ -975,11 +308,11 @@ internal sealed class JournalData if (otherQuestsSectionRowId.HasValue) { int valueOrDefault = otherQuestsSectionRowId.GetValueOrDefault(); - Categories.Add(new Category(4294967291u, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-968948352), (uint)valueOrDefault, new global::_003C_003Ez__ReadOnlySingleElementList(genre))); + Categories.Add(new Category(4294967291u, "Unassigned", (uint)valueOrDefault, new global::_003C_003Ez__ReadOnlySingleElementList(genre))); } else { - _202E_206B_206D_200E_202A_200D_206D_200F_200E_206A_200F_202D_206F_206C_200F_202B_206C_202E_200C_202B_202D_200C_206F_200B_202C_200D_202A_200B_202E_206A_206B_200C_206E_200B_206B_206F_200D_206E_202B_206C_202E((ILogger)_logger, 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(997441759), new object[1] { list2.Count }); + _logger.LogWarning("'Other Quests' section not found - {Count} unassigned quests will not be shown in the journal", list2.Count); } } Sections = (from x in dataManager.GetExcelSheet() @@ -993,238 +326,74 @@ internal sealed class JournalData if (section != null) { int num = 0; - IEnumerator enumerator2 = section.Categories.GetEnumerator(); - try + foreach (Category category in section.Categories) { - while (_206A_200F_200F_200D_206B_206E_206F_206E_206E_202A_202B_206B_206C_202A_200C_200C_202E_200B_200E_200C_202A_202B_202D_206C_200B_200C_206E_206F_202A_202B_200E_206E_206F_202C_200D_206B_200B_202C_206E_200C_202E((IEnumerator)enumerator2)) + foreach (Genre genre2 in category.Genres) { - IEnumerator enumerator3 = enumerator2.Current.Genres.GetEnumerator(); - try - { - while (_206A_200F_200F_200D_206B_206E_206F_206E_206E_202A_202B_206B_206C_202A_200C_200C_202E_200B_200E_200C_202A_202B_202D_206C_200B_200C_206E_206F_202A_202B_200E_206E_206F_202C_200D_206B_200B_202C_206E_200C_202E((IEnumerator)enumerator3)) - { - enumerator3.Current.IsUnderOtherQuests = true; - int num2 = num; - int num3 = 1; - int num4 = num2; - num = (num4 | num3) + (num4 & num3); - } - } - finally - { - if (enumerator3 != null) - { - _202A_202C_200B_200C_206E_200F_200B_200F_202B_206E_200D_202E_200C_200D_202A_200B_200E_206C_202B_200E_206C_206A_206F_202C_202C_206B_206C_206D_206D_200F_200F_206F_206D_200D_206B_206F_200D_206F_202E_200E_202E((IDisposable)enumerator3); - } - } + genre2.IsUnderOtherQuests = true; + num++; } } - finally - { - if (enumerator2 != null) - { - _202A_202C_200B_200C_206E_200F_200B_200F_202B_206E_200D_202E_200C_200D_202A_200B_200E_206C_202B_200E_206C_206A_206F_202C_202C_206B_206C_206D_206D_200F_200F_206F_206D_200D_206B_206F_200D_206F_202E_200E_202E((IDisposable)enumerator2); - } - } - _200B_202D_200B_206B_206C_206C_206D_202A_200C_200C_206D_206D_202A_206D_206D_206D_200E_202C_202A_200D_200F_200C_206E_206B_206E_206F_200F_206F_200D_206F_206E_202A_206F_200E_206E_200B_206D_200E_206B_202B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1290974398), new object[2] { num, valueOrDefault2 }); + _logger.LogDebug("Marked {Count} genres as under 'Other Quests' (OtherQuestsSectionRowId={Id})", num, valueOrDefault2); } else { - _202E_206B_206D_200E_202A_200D_206D_200F_200E_206A_200F_202D_206F_206C_200F_202B_206C_202E_200C_202B_202D_200C_206F_200B_202C_200D_202A_200B_202E_206A_206B_200C_206E_200B_206B_206F_200D_206E_202B_206C_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(510378782), new object[1] { valueOrDefault2 }); + _logger.LogWarning("OtherQuestsSectionRowId = {Id} found, but matching Section not present in constructed Sections", valueOrDefault2); } } else { - _200B_202D_200B_206B_206C_206C_206D_202A_200C_200C_206D_206D_202A_206D_206D_206D_200E_202C_202A_200D_200F_200C_206E_206B_206E_206F_200F_206F_200D_206F_206E_202A_206F_200E_206E_200B_206D_200E_206B_202B_202E((ILogger)_logger, 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(-1552904642), Array.Empty()); + _logger.LogDebug("OtherQuestsSectionRowId not found - 'Other Quests' genre marking skipped"); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void ApplyGenreOverrides(ExcelSheet journalGenreSheetEnglish, QuestData questData) { - Dictionary dictionary = new Dictionary(_206C_200E_206D_200B_206E_206D_202D_202E_206E_202C_206E_202E_206C_202D_200C_202D_202C_206E_202E_200E_200F_200D_200F_202E_206F_206E_200C_206D_202C_206A_200D_206D_200C_202A_200E_200D_202C_206F_206E_206C_202E()); - int num; - using (ExcelSheet.Enumerator enumerator = journalGenreSheetEnglish.GetEnumerator()) + Dictionary dictionary = new Dictionary(StringComparer.OrdinalIgnoreCase); + foreach (JournalGenre item in journalGenreSheetEnglish) { - num = 1219654826; - JournalGenre current = default(JournalGenre); - while (true) + if (item.RowId != 0 && !item.Name.IsEmpty) { - int num2 = num; - int num3 = 1219654830; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - dictionary.TryAdd(current.Name.ToString(), current.RowId); - num = 1219654826; - break; - case 3: - num = (current.Name.IsEmpty ? 1219654826 : 1219654831); - break; - case 4: - num = (enumerator.MoveNext() ? 1219654827 : 1219654828); - break; - case 0: - num = 1219654826; - break; - case 5: - current = enumerator.Current; - num = ((current.RowId == 0) ? 1219654826 : 1219654829); - break; - case 2: - goto end_IL_001e; - } - continue; - end_IL_001e: - break; + dictionary.TryAdd(item.Name.ToString(), item.RowId); } } - int num7 = 0; - using (Dictionary.Enumerator enumerator2 = QuestGenreOverrides.GetEnumerator()) + int num = 0; + foreach (var (num3, text2) in QuestGenreOverrides) { - num = -823786483; - ushort num10 = default(ushort); - string text = default(string); - uint value = default(uint); - IQuestInfo questInfo2 = default(IQuestInfo); - QuestInfo questInfo = default(QuestInfo); - while (true) + if (!dictionary.TryGetValue(text2, out var value)) { - int num8 = num; - int num3 = -823786491; - int num4 = num8; - switch ((num4 | num3) - (num4 & num3)) + _logger.LogWarning("Genre '{GenreName}' not found for quest {QuestId}", text2, num3); + } + else + { + if (!questData.TryGetQuestInfo(new QuestId(num3), out IQuestInfo questInfo)) { - case 8: - num = (enumerator2.MoveNext() ? (-823786495) : (-823786492)); - break; - case 4: + continue; + } + if (questInfo is QuestInfo questInfo2) { - enumerator2.Current.Deconstruct(out var key, out var value2); - num10 = key; - text = value2; - num = (dictionary.TryGetValue(text, out value) ? (-823786493) : (-823786484)); - break; + questInfo2.JournalGenre = value; + if (SortKeyZeroOverrides.Contains(num3)) + { + questInfo2.SortKey = 0; + } } - case 6: - num = ((!questData.TryGetQuestInfo(_206F_206B_200F_202D_206E_202D_200F_200D_202B_200C_200B_206C_202C_202E_200E_206D_200E_206F_206C_200F_200B_200C_202E_202A_206A_202B_200C_200E_200F_202C_202E_206A_202D_202D_206D_206E_200D_206B_200D_202B_202E(num10), out questInfo2)) ? (-823786483) : (-823786494)); - break; - case 0: - questInfo.JournalGenre = value; - num = ((!SortKeyZeroOverrides.Contains(num10)) ? (-823786490) : (-823786489)); - break; - case 5: - num = -823786483; - break; - case 9: - _202E_206B_206D_200E_202A_200D_206D_200F_200E_206A_200F_202D_206F_206C_200F_202B_206C_202E_200C_202B_202D_200C_206F_200B_202C_200D_202A_200B_202E_206A_206B_200C_206E_200B_206B_206F_200D_206E_202B_206C_202E((ILogger)_logger, 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(18183827), new object[2] { text, num10 }); - num = -823786483; - break; - case 2: - questInfo.SortKey = 0; - num = -823786490; - break; - case 7: - questInfo = questInfo2 as QuestInfo; - num = ((questInfo == null) ? (-823786490) : (-823786491)); - break; - case 3: - { - int num9 = num7; - num3 = 1; - num4 = num9; - num7 = (num4 | num3) + (num4 & num3); - num = -823786483; - break; - } - case 1: - goto end_IL_013f; - } - continue; - end_IL_013f: - break; + num++; } } - num = ((num7 <= 0) ? (-869321296) : (-869321295)); - while (true) + if (num > 0) { - int num11 = num; - int num3 = -869321296; - int num4 = num11; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -869321295; - break; - case 1: - _200B_202D_200B_206B_206C_206C_206D_202A_200C_200C_206D_206D_202A_206D_206D_206D_200E_202C_202A_200D_200F_200C_206E_206B_206E_206F_200F_206F_200D_206F_206E_202A_206F_200E_206E_200B_206D_200E_206B_202B_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2050146357), new object[1] { num7 }); - num = -869321296; - break; - case 0: - return; - } + _logger.LogDebug("Applied {Count} journal genre overrides", num); } } private static int? GetOtherQuestsSectionRowId(IDataManager dataManager) { - JournalSection journalSection = dataManager.GetExcelSheet(ClientLanguage.English).FirstOrDefault([MethodImpl(MethodImplOptions.NoInlining)] (JournalSection s) => _003C_003Ec._202B_200C_200B_202A_206D_206F_206C_200C_200C_200D_202C_202A_206E_206F_200E_202D_200B_200D_200B_202C_200C_202E_200F_200B_200C_200E_206D_202D_206C_202B_206C_206F_206C_200E_206E_206D_206D_200F_202D_202D_202E(s.Name.ToString(), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1421434526))); - int num = ((journalSection.RowId != 0) ? (-24571895) : (-24571896)); - while (true) + JournalSection journalSection = dataManager.GetExcelSheet(ClientLanguage.English).FirstOrDefault((JournalSection s) => s.Name.ToString() == "Other Quests"); + if (journalSection.RowId == 0) { - int num2 = num; - int num3 = -24571895; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_007f; - case 1: - return null; - case 0: - return (int)journalSection.RowId; - } - continue; - IL_007f: - num = -24571896; + return null; } - } - - static void _200B_202D_200B_206B_206C_206C_206D_202A_200C_200C_206D_206D_202A_206D_206D_206D_200E_202C_202A_200D_200F_200C_206E_206B_206E_206F_200F_206F_200D_206F_206E_202A_206F_200E_206E_200B_206D_200E_206B_202B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static void _202E_206B_206D_200E_202A_200D_206D_200F_200E_206A_200F_202D_206F_206C_200F_202B_206C_202E_200C_202B_202D_200C_206F_200B_202C_200D_202A_200B_202E_206A_206B_200C_206E_200B_206B_206F_200D_206E_202B_206C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static void _206F_200F_202D_206E_202E_202C_200D_202D_202B_206A_202E_200F_202B_206E_200B_200D_206A_206A_200D_202A_200D_202D_202C_206A_200F_202E_202B_206F_202D_206A_202A_206F_200D_202D_200D_206A_200F_200B_200E_202B_202E(Array P_0, RuntimeFieldHandle P_1) - { - RuntimeHelpers.InitializeArray(P_0, P_1); - } - - static bool _206A_200F_200F_200D_206B_206E_206F_206E_206E_202A_202B_206B_206C_202A_200C_200C_202E_200B_200E_200C_202A_202B_202D_206C_200B_200C_206E_206F_202A_202B_200E_206E_206F_202C_200D_206B_200B_202C_206E_200C_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202A_202C_200B_200C_206E_200F_200B_200F_202B_206E_200D_202E_200C_200D_202A_200B_200E_206C_202B_200E_206C_206A_206F_202C_202C_206B_206C_206D_206D_200F_200F_206F_206D_200D_206B_206F_200D_206F_202E_200E_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static StringComparer _206C_200E_206D_200B_206E_206D_202D_202E_206E_202C_206E_202E_206C_202D_200C_202D_202C_206E_202E_200E_200F_200D_200F_202E_206F_206E_200C_206D_202C_206A_200D_206D_200C_202A_200E_200D_202C_206F_206E_206C_202E() - { - return StringComparer.OrdinalIgnoreCase; - } - - static QuestId _206F_206B_200F_202D_206E_202D_200F_200D_202B_200C_200B_206C_202C_202E_200E_206D_200E_206F_206C_200F_200B_200C_202E_202A_206A_202B_200C_200E_200F_202C_202E_206A_202D_202D_206D_206E_200D_206B_200D_202B_202E(ushort P_0) - { - return new QuestId(P_0); + return (int)journalSection.RowId; } } diff --git a/Questionable/Questionable.Data/LgbWorkerSupervisor.cs b/Questionable/Questionable.Data/LgbWorkerSupervisor.cs new file mode 100644 index 0000000..44a692d --- /dev/null +++ b/Questionable/Questionable.Data/LgbWorkerSupervisor.cs @@ -0,0 +1,239 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Globalization; +using System.IO; +using System.IO.Pipes; +using System.Text.Json; +using System.Threading; +using System.Threading.Tasks; +using Dalamud.Plugin.Services; +using Lumina.Excel; +using Lumina.Excel.Sheets; +using Microsoft.Extensions.Logging; +using Questionable.LgbWorker; + +namespace Questionable.Data; + +internal sealed class LgbWorkerSupervisor +{ + private const string WorkerExeName = "Questionable.LgbWorker.exe"; + + private const string WorkerSubDirectory = "lgb-worker"; + + private const string ManifestFileName = "lgb-worker-manifest.json"; + + private const string NpcCacheFileName = "npc-position-cache.bin"; + + private const string BoundaryCacheFileName = "zone-boundary-cache.bin"; + + private readonly IDataManager _dataManager; + + private readonly ILogger _logger; + + public LgbWorkerSupervisor(IDataManager dataManager, ILogger logger) + { + _dataManager = dataManager; + _logger = logger; + } + + public bool RunWorker(string sqpackPath, string gameVersion, string cacheDirectory, string pluginAssemblyDirectory, CancellationToken ct) + { + string text = Path.Combine(pluginAssemblyDirectory, "lgb-worker", "Questionable.LgbWorker.exe"); + if (!File.Exists(text)) + { + _logger.LogWarning("LGB worker not found at {Path}, falling back to in-process scan", text); + return false; + } + string npcCachePath = Path.Combine(cacheDirectory, "npc-position-cache.bin"); + string boundaryCachePath = Path.Combine(cacheDirectory, "zone-boundary-cache.bin"); + string text2 = Path.Combine(cacheDirectory, "lgb-worker-manifest.json"); + string text3 = $"Questionable.LgbWorker.{Guid.NewGuid():N}"; + Directory.CreateDirectory(cacheDirectory); + _logger.LogDebug("Building LGB worker manifest from Excel sheets..."); + List list = BuildTerritoryList(); + List list2 = BuildLevelEntries(); + _logger.LogDebug("Manifest: {TerritoryCount} territories, {LevelCount} level entries", list.Count, list2.Count); + LgbWorkerManifest value = new LgbWorkerManifest + { + SqpackPath = sqpackPath, + GameVersion = gameVersion, + NpcCachePath = npcCachePath, + BoundaryCachePath = boundaryCachePath, + Territories = list, + LevelEntries = list2 + }; + File.WriteAllText(text2, JsonSerializer.Serialize(value)); + using NamedPipeServerStream namedPipeServerStream = new NamedPipeServerStream(text3, PipeDirection.In, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous); + int processId = Environment.ProcessId; + ProcessStartInfo startInfo = new ProcessStartInfo + { + FileName = text, + Arguments = $"--pipe {text3} --manifest \"{text2}\" --parent-pid {processId.ToString(CultureInfo.InvariantCulture)}", + UseShellExecute = false, + CreateNoWindow = true, + RedirectStandardError = true + }; + Process process = Process.Start(startInfo); + try + { + if (process == null) + { + _logger.LogError("Failed to start LGB worker process"); + return false; + } + _logger.LogInformation("LGB worker started (PID {Pid})", process.Id); + Task.Run(delegate + { + try + { + while (true) + { + string text4 = process.StandardError.ReadLine(); + if (text4 == null) + { + break; + } + _logger.LogDebug("[LgbWorker] {Line}", text4); + } + } + catch + { + } + }, ct); + _logger.LogDebug("Waiting for LGB worker to connect..."); + try + { + namedPipeServerStream.WaitForConnection(); + } + catch (IOException exception) + { + _logger.LogError(exception, "LGB worker pipe connection failed"); + process.Kill(); + return false; + } + _logger.LogDebug("LGB worker connected, reading messages..."); + try + { + while (true) + { + ct.ThrowIfCancellationRequested(); + LgbWorkerMessage lgbWorkerMessage = LgbWorkerFraming.Read(namedPipeServerStream); + switch (lgbWorkerMessage.Type) + { + case LgbMessageType.Progress: + if (lgbWorkerMessage.Total > 0 && lgbWorkerMessage.Done % (lgbWorkerMessage.Total / 10 + 1) == 0) + { + _logger.LogDebug("LGB worker progress: {Done}/{Total}", lgbWorkerMessage.Done, lgbWorkerMessage.Total); + } + break; + case LgbMessageType.Final: + if (lgbWorkerMessage.Success) + { + _logger.LogInformation("LGB worker completed in {Duration}ms", lgbWorkerMessage.DurationMs); + process.WaitForExit(5000); + CleanupManifest(text2); + return true; + } + _logger.LogError("LGB worker reported failure: {Error}", lgbWorkerMessage.Error); + process.WaitForExit(5000); + CleanupManifest(text2); + return false; + } + } + } + catch (EndOfStreamException) + { + process.WaitForExit(5000); + _logger.LogError("LGB worker exited without a final message (exit code {Code})", process.ExitCode); + CleanupManifest(text2); + return false; + } + catch (OperationCanceledException) + { + process.Kill(); + CleanupManifest(text2); + throw; + } + } + finally + { + if (process != null) + { + ((IDisposable)process).Dispose(); + } + } + } + + private List BuildTerritoryList() + { + HashSet hashSet = new HashSet(); + foreach (Aetheryte item in _dataManager.GetExcelSheet()) + { + hashSet.Add(item.Territory.RowId); + } + List list = new List(); + List list2 = new List(); + foreach (TerritoryType item2 in _dataManager.GetExcelSheet()) + { + if (item2.RowId == 0) + { + continue; + } + string text = item2.Bg.ExtractText(); + if (!string.IsNullOrEmpty(text) && text.Contains("/level/", StringComparison.Ordinal)) + { + TerritoryEntry territoryEntry = new TerritoryEntry + { + RowId = item2.RowId, + BgPath = text, + IntendedUse = (byte)item2.TerritoryIntendedUse.RowId, + HasAetheryte = hashSet.Contains(item2.RowId) + }; + if (territoryEntry.HasAetheryte) + { + list.Add(territoryEntry); + } + else + { + list2.Add(territoryEntry); + } + } + } + list.AddRange(list2); + return list; + } + + private List BuildLevelEntries() + { + ExcelSheet excelSheet = _dataManager.GetExcelSheet(); + ExcelSheet excelSheet2 = _dataManager.GetExcelSheet(); + List list = new List(); + foreach (Level item in _dataManager.GetExcelSheet()) + { + if (item.RowId != 0 && item.Object.RowId != 0 && item.Territory.IsValid && (excelSheet.HasRow(item.Object.RowId) || excelSheet2.HasRow(item.Object.RowId))) + { + list.Add(new LevelEntry + { + ObjectId = item.Object.RowId, + TerritoryId = (ushort)item.Territory.RowId, + X = item.X, + Y = item.Y, + Z = item.Z + }); + } + } + return list; + } + + private static void CleanupManifest(string path) + { + try + { + File.Delete(path); + } + catch + { + } + } +} diff --git a/Questionable/Questionable.Data/MenderDataService.cs b/Questionable/Questionable.Data/MenderDataService.cs index 1d4beab..8528aae 100644 --- a/Questionable/Questionable.Data/MenderDataService.cs +++ b/Questionable/Questionable.Data/MenderDataService.cs @@ -1,10 +1,6 @@ -using System; -using System.Collections; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Threading; using Dalamud.Plugin.Services; using LLib.Shop; using Lumina.Excel; @@ -22,229 +18,54 @@ internal sealed class MenderDataService(IDataManager dataManager, NpcPositionCac new MenderNpc(1004416u, 130, new Vector3(32.85266f, 6.999999f, -81.31531f)) }); - private readonly object _lock = _202D_200B_206C_206F_206B_202D_202D_200C_206E_200B_202C_202E_202B_202B_202E_202B_206C_200E_200F_200D_202D_200F_206F_202D_200B_206D_200C_202D_206C_202D_200E_206C_200E_202E_206B_206D_202A_202A_206B_202D_202E(); + private readonly object _lock = new object(); private ILookup? _byTerritory; public MenderNpc? FindNearestInTerritory(ushort territoryId, Vector3 nearPosition) { - object obj = _lock; - bool flag = false; ILookup lookup; - try + lock (_lock) { - _206B_206E_200F_206B_206C_202D_202D_200F_200D_200D_202E_200B_202A_206C_202C_206F_202A_200F_206C_202E_202C_206E_200F_206C_200E_206F_202E_200F_202E_206E_200B_200E_202E_206D_202D_202B_200B_200E_206A_206D_202E(obj, ref flag); - int num = ((_byTerritory != null) ? 669180943 : 669180941); - while (true) + if (_byTerritory == null && !npcPositionCache.IsBuilt) { - int num2 = num; - int num3 = 669180942; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 669180941; - break; - case 2: - return null; - case 3: - num = (_206C_206D_206D_202A_206C_206A_206F_202C_200B_202E_206D_200C_206F_202A_200C_202D_202D_202E_206E_200C_202D_206B_200D_202D_200F_202C_200B_206D_200C_206A_206B_202D_202D_200E_206B_202E_202B_206B_206B_206C_202E(npcPositionCache) ? 669180943 : 669180940); - break; - case 1: - lookup = _byTerritory ?? (_byTerritory = BuildIndex()); - goto end_IL_0041; - } - continue; - end_IL_0041: - break; - } - } - finally - { - int num = ((!flag) ? 242402811 : 242402808); - while (true) - { - int num7 = num; - int num3 = 242402810; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 242402808; - break; - case 2: - _206A_202A_206B_200D_200F_206D_200B_202A_200E_206C_202B_200D_200E_202B_206D_200D_202D_200C_206C_200F_206F_206A_206A_206C_200C_206C_206B_200C_206A_202B_206A_202D_206A_206E_206C_206D_200F_206D_200B_206B_202E(obj); - num = 242402811; - break; - case 1: - goto end_IL_00fd; - } - continue; - end_IL_00fd: - break; + return null; } + lookup = _byTerritory ?? (_byTerritory = BuildIndex()); } return lookup[territoryId].OrderBy((MenderNpc x) => Vector3.DistanceSquared(x.Position, nearPosition)).FirstOrDefault(); } - [MethodImpl(MethodImplOptions.NoInlining)] private ILookup BuildIndex() { ExcelSheet excelSheet = dataManager.GetExcelSheet(); List list = new List(); - IEnumerator enumerator = _200C_206D_202E_200C_202C_206C_200E_206C_206B_202C_200B_202B_206A_202C_206B_206E_202E_200E_202C_202D_202E_202B_206A_202D_200E_206C_206D_200C_202B_202C_202A_206B_200E_206E_200C_206C_200C_206A_206A_202E_202E(npcPositionCache).GetEnumerator(); - try + foreach (uint allNpcId in npcPositionCache.GetAllNpcIds()) { - int num = -898238961; - bool flag = default(bool); - int num5 = default(int); - (ushort, Vector3)? tuple = default((ushort, Vector3)?); - uint current = default(uint); - ENpcBase row = default(ENpcBase); - while (true) + if (!excelSheet.TryGetRow(allNpcId, out var row)) { - int num2 = num; - int num3 = -898238961; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + continue; + } + bool flag = false; + for (int i = 0; i < row.ENpcData.Count; i++) + { + if (row.ENpcData[i].RowId == 720915) { - case 5: - flag = false; - num5 = 0; - num = -898238963; - break; - case 8: - tuple = _202E_202B_206D_200C_200B_200E_206F_200C_202B_202D_206A_206A_206A_206D_206B_200D_206B_206F_206A_206C_200E_206C_200F_202E_202B_206A_200B_206E_200D_206D_206F_206D_206E_206E_206A_206D_200E_200E_206B_206D_202E(npcPositionCache, current); - num = ((!tuple.HasValue) ? (-898238961) : (-898238971)); - break; - case 3: - num = -898238961; - break; - case 9: - { - int num6 = num5; - num3 = 1; - num4 = num6; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - num5 = num7 + (num8 + num8); - num = -898238963; - break; - } - case 1: flag = true; - num = -898238967; - break; - case 0: - num = (_202D_202D_200C_200B_202B_206B_206E_206E_202B_206B_206D_206D_202A_206F_202C_200F_202E_206B_202A_206E_206A_200E_206F_200B_206B_200B_202A_200C_202E_200E_202C_206A_206F_206F_200D_206D_200B_200E_200C_202D_202E((IEnumerator)enumerator) ? (-898238965) : (-898238972)); - break; - case 4: - current = enumerator.Current; - num = ((!excelSheet.TryGetRow(current, out row)) ? (-898238961) : (-898238966)); - break; - case 2: - num = ((num5 < row.ENpcData.Count) ? (-898238968) : (-898238967)); - break; - case 6: - num = ((!flag) ? (-898238961) : (-898238969)); - break; - case 7: - num = ((row.ENpcData[num5].RowId != 720915) ? (-898238970) : (-898238962)); - break; - case 10: - { - (ushort, Vector3) valueOrDefault = tuple.GetValueOrDefault(); - list.Add(new MenderNpc(current, valueOrDefault.Item1, valueOrDefault.Item2)); - num = -898238961; break; } - case 11: - goto end_IL_0039; - } - continue; - end_IL_0039: - break; } - } - finally - { - int num = ((enumerator == null) ? (-506737452) : (-506737451)); - while (true) + if (flag) { - int num9 = num; - int num3 = -506737452; - int num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) + (ushort, Vector3)? position = npcPositionCache.GetPosition(allNpcId); + if (position.HasValue) { - case 2: - num = -506737451; - break; - case 0: - goto end_IL_023b; - case 1: - _206F_206B_206A_202C_200F_200D_206D_200B_202B_206A_202E_202E_200E_200C_200F_206C_202E_202E_206A_202B_200E_206A_206D_202E_206C_202A_206B_200D_202C_206B_202C_202C_202C_200D_206E_202B_202E_200E_206F_206B_202E((IDisposable)enumerator); - num = -506737452; - break; + (ushort, Vector3) valueOrDefault = position.GetValueOrDefault(); + list.Add(new MenderNpc(allNpcId, valueOrDefault.Item1, valueOrDefault.Item2)); } - continue; - end_IL_023b: - break; } } - _206D_206B_200C_206E_202E_200B_206B_202C_206A_202A_202E_200C_206A_200E_206C_202A_200B_206C_202B_202B_206C_206D_202D_206A_202D_206D_202B_206E_200B_206B_200B_206A_206D_200B_206C_206D_206A_200E_202B_206B_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1337223984), new object[2] - { - list.Count, - list.Select((MenderNpc x) => x.TerritoryId).Distinct().Count() - }); + logger.LogDebug("Mender index built with {Count} menders across {Territories} territories", list.Count, list.Select((MenderNpc x) => x.TerritoryId).Distinct().Count()); return list.ToLookup((MenderNpc x) => x.TerritoryId); } - - static object _202D_200B_206C_206F_206B_202D_202D_200C_206E_200B_202C_202E_202B_202B_202E_202B_206C_200E_200F_200D_202D_200F_206F_202D_200B_206D_200C_202D_206C_202D_200E_206C_200E_202E_206B_206D_202A_202A_206B_202D_202E() - { - return new object(); - } - - static void _206B_206E_200F_206B_206C_202D_202D_200F_200D_200D_202E_200B_202A_206C_202C_206F_202A_200F_206C_202E_202C_206E_200F_206C_200E_206F_202E_200F_202E_206E_200B_200E_202E_206D_202D_202B_200B_200E_206A_206D_202E(object P_0, ref bool P_1) - { - Monitor.Enter(P_0, ref P_1); - } - - static bool _206C_206D_206D_202A_206C_206A_206F_202C_200B_202E_206D_200C_206F_202A_200C_202D_202D_202E_206E_200C_202D_206B_200D_202D_200F_202C_200B_206D_200C_206A_206B_202D_202D_200E_206B_202E_202B_206B_206B_206C_202E(NpcPositionCache P_0) - { - return P_0.IsBuilt; - } - - static void _206A_202A_206B_200D_200F_206D_200B_202A_200E_206C_202B_200D_200E_202B_206D_200D_202D_200C_206C_200F_206F_206A_206A_206C_200C_206C_206B_200C_206A_202B_206A_202D_206A_206E_206C_206D_200F_206D_200B_206B_202E(object P_0) - { - Monitor.Exit(P_0); - } - - static IReadOnlyCollection _200C_206D_202E_200C_202C_206C_200E_206C_206B_202C_200B_202B_206A_202C_206B_206E_202E_200E_202C_202D_202E_202B_206A_202D_200E_206C_206D_200C_202B_202C_202A_206B_200E_206E_200C_206C_200C_206A_206A_202E_202E(NpcPositionCache P_0) - { - return P_0.GetAllNpcIds(); - } - - static (ushort, Vector3)? _202E_202B_206D_200C_200B_200E_206F_200C_202B_202D_206A_206A_206A_206D_206B_200D_206B_206F_206A_206C_200E_206C_200F_202E_202B_206A_200B_206E_200D_206D_206F_206D_206E_206E_206A_206D_200E_200E_206B_206D_202E(NpcPositionCache P_0, uint P_1) - { - return P_0.GetPosition(P_1); - } - - static bool _202D_202D_200C_200B_202B_206B_206E_206E_202B_206B_206D_206D_202A_206F_202C_200F_202E_206B_202A_206E_206A_200E_206F_200B_206B_200B_202A_200C_202E_200E_202C_206A_206F_206F_200D_206D_200B_200E_200C_202D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206F_206B_206A_202C_200F_200D_206D_200B_202B_206A_202E_202E_200E_200C_200F_206C_202E_202E_206A_202B_200E_206A_206D_202E_206C_202A_206B_200D_202C_206B_202C_202C_202C_200D_206E_202B_202E_200E_206F_206B_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _206D_206B_200C_206E_202E_200B_206B_202C_206A_202A_202E_200C_206A_200E_206C_202A_200B_206C_202B_202B_206C_206D_202D_206A_202D_206D_202B_206E_200B_206B_200B_206A_206D_200B_206C_206D_206A_200E_202B_206B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } } diff --git a/Questionable/Questionable.Data/MenderNpc.cs b/Questionable/Questionable.Data/MenderNpc.cs index 32dd727..5d28621 100644 --- a/Questionable/Questionable.Data/MenderNpc.cs +++ b/Questionable/Questionable.Data/MenderNpc.cs @@ -1,142 +1,5 @@ -using System; -using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; namespace Questionable.Data; -internal sealed record MenderNpc(uint DataId, ushort TerritoryId, Vector3 Position) -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202C_202D_202A_202B_202C_202C_200D_202A_200B_206A_206A_200F_200F_200D_200D_202B_200D_200F_202B_206E_200D_202A_200C_206C_200F_200E_206E_202B_202A_202E_202E_200E_200E_200B_206C_202E_200B_200C_200F_200D_202E(typeof(MenderNpc).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206B_200B_200E_200B_202E_200F_206D_202E_206A_206F_206F_202A_206D_200D_206C_206F_206B_202C_206D_202A_202E_206D_206B_206C_206F_206E_206C_202E_200D_200F_206A_200E_200F_206C_202C_206C_200E_200C_200B_206E_202E(); - _202D_200B_206F_206D_200F_202C_200B_206F_206F_206E_200E_206B_206F_202C_200C_202A_202A_200E_202A_200E_202B_200C_206B_200B_202D_206C_202B_200E_206A_202D_200B_202C_206A_202E_202A_206C_206E_202B_200F_206B_202E(stringBuilder, 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(-2011938778)); - _202D_200B_206F_206D_200F_202C_200B_206F_206F_206E_200E_206B_206F_202C_200C_202A_202A_200E_202A_200E_202B_200C_206B_200B_202D_206C_202B_200E_206A_202D_200B_202C_206A_202E_202A_206C_206E_202B_200F_206B_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1344697862)); - int num = ((!PrintMembers(stringBuilder)) ? 1620281513 : 1620281514); - while (true) - { - int num2 = num; - int num3 = 1620281515; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1620281514; - break; - case 2: - _206B_206C_202A_202C_202A_202D_202E_200C_202D_206C_200C_206B_206F_202B_206A_200D_206F_206F_202D_200D_200B_200F_200C_206E_200E_206A_200F_206F_200B_200D_206D_206E_202E_206D_206F_206E_202C_200B_200D_202E_202E(stringBuilder, '}'); - return _206C_206D_202B_200F_200B_202D_200D_200D_206E_202E_202B_202E_200B_200F_206A_202B_200E_202D_202B_206E_202D_206D_200E_202B_200C_202A_202E_200D_202C_206A_202C_206C_200C_200B_200B_206C_202E_200D_206A_206C_202E((object)stringBuilder); - case 1: - _206B_206C_202A_202C_202A_202D_202E_200C_202D_206C_200C_206B_206F_202B_206A_200D_206F_206F_202D_200D_200B_200F_200C_206E_200E_206A_200F_206F_200B_200D_206D_206E_202E_206D_206F_206E_202C_200B_200D_202E_202E(stringBuilder, ' '); - num = 1620281513; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202C_200D_206D_202E_202D_200C_200E_200B_206A_206C_202D_202C_200E_200E_200D_206E_200C_202D_202D_206F_200E_200B_200D_202D_206B_200C_202C_200C_206F_206B_202A_200B_200E_202D_206A_202E_200C_200D_206F_206B_202E(); - _202D_200B_206F_206D_200F_202C_200B_206F_206F_206E_200E_206B_206F_202C_200C_202A_202A_200E_202A_200E_202B_200C_206B_200B_202D_206C_202B_200E_206A_202D_200B_202C_206A_202E_202A_206C_206E_202B_200F_206B_202E(builder, 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(931106117)); - _202D_200B_206F_206D_200F_202C_200B_206F_206F_206E_200E_206B_206F_202C_200C_202A_202A_200E_202A_200E_202B_200C_206B_200B_202D_206C_202B_200E_206A_202D_200B_202C_206A_202E_202A_206C_206E_202B_200F_206B_202E(builder, DataId.ToString()); - _202D_200B_206F_206D_200F_202C_200B_206F_206F_206E_200E_206B_206F_202C_200C_202A_202A_200E_202A_200E_202B_200C_206B_200B_202D_206C_202B_200E_206A_202D_200B_202C_206A_202E_202A_206C_206E_202B_200F_206B_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1203255248)); - _202D_200B_206F_206D_200F_202C_200B_206F_206F_206E_200E_206B_206F_202C_200C_202A_202A_200E_202A_200E_202B_200C_206B_200B_202D_206C_202B_200E_206A_202D_200B_202C_206A_202E_202A_206C_206E_202B_200F_206B_202E(builder, TerritoryId.ToString()); - _202D_200B_206F_206D_200F_202C_200B_206F_206F_206E_200E_206B_206F_202C_200C_202A_202A_200E_202A_200E_202B_200C_206B_200B_202D_206C_202B_200E_206A_202D_200B_202C_206A_202E_202A_206C_206E_202B_200F_206B_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-485383452)); - _202D_200B_206F_206D_200F_202C_200B_206F_206F_206E_200E_206B_206F_202C_200C_202A_202A_200E_202A_200E_202B_200C_206B_200B_202D_206C_202B_200E_206A_202D_200B_202C_206A_202E_202A_206C_206E_202B_200F_206B_202E(builder, Position.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(MenderNpc? other) - { - int num = (((object)this == other) ? (-1137408190) : (-1137408186)); - while (true) - { - int num2 = num; - int num3 = -1137408191; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - return EqualityComparer.Default.Equals(Position, other.Position); - case 7: - num = (((object)other == null) ? (-1137408192) : (-1137408185)); - break; - case 6: - num = ((!_202E_202B_202A_206A_202C_200F_206F_200B_200B_200F_202A_206A_200E_200E_200E_202D_202E_202B_206B_200E_206A_202D_206A_206B_206E_206D_206D_202E_206D_202A_206E_200E_200D_206F_206A_206D_200C_200E_206E_206E_202E(EqualityContract, other.EqualityContract)) ? (-1137408192) : (-1137408189)); - break; - case 1: - return false; - case 5: - num = -1137408186; - break; - case 2: - num = ((!EqualityComparer.Default.Equals(DataId, other.DataId)) ? (-1137408192) : (-1137408191)); - break; - case 0: - num = ((!EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId)) ? (-1137408192) : (-1137408187)); - break; - case 3: - return true; - } - } - } - - bool IEquatable.Equals(MenderNpc? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202C_202D_202A_202B_202C_202C_200D_202A_200B_206A_206A_200F_200F_200D_200D_202B_200D_200F_202B_206E_200D_202A_200C_206C_200F_200E_206E_202B_202A_202E_202E_200E_200E_200B_206C_202E_200B_200C_200F_200D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206B_200B_200E_200B_202E_200F_206D_202E_206A_206F_206F_202A_206D_200D_206C_206F_206B_202C_206D_202A_202E_206D_206B_206C_206F_206E_206C_202E_200D_200F_206A_200E_200F_206C_202C_206C_200E_200C_200B_206E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202D_200B_206F_206D_200F_202C_200B_206F_206F_206E_200E_206B_206F_202C_200C_202A_202A_200E_202A_200E_202B_200C_206B_200B_202D_206C_202B_200E_206A_202D_200B_202C_206A_202E_202A_206C_206E_202B_200F_206B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206B_206C_202A_202C_202A_202D_202E_200C_202D_206C_200C_206B_206F_202B_206A_200D_206F_206F_202D_200D_200B_200F_200C_206E_200E_206A_200F_206F_200B_200D_206D_206E_202E_206D_206F_206E_202C_200B_200D_202E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206C_206D_202B_200F_200B_202D_200D_200D_206E_202E_202B_202E_200B_200F_206A_202B_200E_202D_202B_206E_202D_206D_200E_202B_200C_202A_202E_200D_202C_206A_202C_206C_200C_200B_200B_206C_202E_200D_206A_206C_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202C_200D_206D_202E_202D_200C_200E_200B_206A_206C_202D_202C_200E_200E_200D_206E_200C_202D_202D_206F_200E_200B_200D_202D_206B_200C_202C_200C_206F_206B_202A_200B_200E_202D_206A_202E_200C_200D_206F_206B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _202E_202B_202A_206A_202C_200F_206F_200B_200B_200F_202A_206A_200E_200E_200E_202D_202E_202B_206B_200E_206A_202D_206A_206B_206E_206D_206D_202E_206D_202A_206E_200E_200D_206F_206A_206D_200C_200E_206E_206E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +internal sealed record MenderNpc(uint DataId, ushort TerritoryId, Vector3 Position); diff --git a/Questionable/Questionable.Data/NpcPositionCacheWarmer.cs b/Questionable/Questionable.Data/NpcPositionCacheWarmer.cs index c4e7474..9b8ef7a 100644 --- a/Questionable/Questionable.Data/NpcPositionCacheWarmer.cs +++ b/Questionable/Questionable.Data/NpcPositionCacheWarmer.cs @@ -1,6 +1,7 @@ using System; -using System.Runtime.CompilerServices; using System.Threading; +using Dalamud.Plugin; +using Dalamud.Plugin.Services; using LLib.Shop; using Microsoft.Extensions.Logging; using SmartNav; @@ -10,203 +11,65 @@ namespace Questionable.Data; internal sealed class NpcPositionCacheWarmer : IDisposable { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass2_0 - { - public NpcPositionCache npcPositionCache; - - public NpcPositionCacheWarmer _003C_003E4__this; - - public WarpDataService warpDataService; - - public NavRouter navRouter; - - public ILogger logger; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal void _003C_002Ector_003Eb__0() - { - try - { - _200C_206B_200C_200D_202B_200D_200C_206F_200E_200B_206F_200F_206B_206A_202B_206B_200F_200D_200B_202C_206D_200F_200D_202E_200C_206F_202E_202B_202D_206A_206C_202D_200F_202E_200E_200F_200C_206E_206F_200D_202E(npcPositionCache, _206D_206C_200B_200B_206A_206C_200C_206F_200C_202D_206E_202D_206D_200B_206A_202B_200D_206B_206D_206A_200C_200F_200F_202C_200D_206F_200E_206B_206B_200B_200C_206B_206A_200C_200E_202B_206F_200E_200B_206A_202E(_003C_003E4__this._cts)); - int num = ((!_202A_202B_206C_200C_206A_200F_202B_202D_200C_200B_206D_202C_206D_206D_202A_206F_200C_206E_202E_206A_206E_202E_206B_206E_200B_202B_200E_202D_200D_206F_200C_206C_200B_200D_200D_200C_206A_206D_200F_200F_202E(warpDataService)) ? 2029447289 : 2029447288); - while (true) - { - int num2 = num; - int num3 = 2029447289; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 2029447288; - break; - case 1: - _206A_200B_206D_206D_202B_200D_206D_206C_200D_200F_206C_200D_202E_206C_206C_206F_200C_200B_206F_206C_206A_206E_206A_206D_200D_200F_202A_202A_200E_202A_200F_206C_206D_206C_202B_200D_200C_202B_202B_202E(navRouter); - _200F_200B_202D_200E_200E_200B_200D_202D_206A_200C_206F_202E_200B_202A_206C_206C_206C_200B_202C_206F_200F_202D_200F_200B_206D_200B_200C_206D_200D_202D_206D_206C_200C_206A_200C_206A_202D_206D_200F_202C_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1529690412), Array.Empty()); - num = 2029447289; - break; - case 0: - return; - } - } - } - catch (OperationCanceledException) - { - } - catch (Exception ex2) - { - _206C_206D_206E_202A_200F_206A_202D_206C_206D_200F_206E_200D_206A_202A_200D_206A_206B_200F_206A_200D_206F_206C_206D_202D_200E_202B_202B_200C_206D_206F_202A_202A_202D_206E_200B_206F_200E_200B_200E_200E_202E((ILogger)logger, ex2, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-5610293), Array.Empty()); - } - } - - static CancellationToken _206D_206C_200B_200B_206A_206C_200C_206F_200C_202D_206E_202D_206D_200B_206A_202B_200D_206B_206D_206A_200C_200F_200F_202C_200D_206F_200E_206B_206B_200B_200C_206B_206A_200C_200E_202B_206F_200E_200B_206A_202E(CancellationTokenSource P_0) - { - return P_0.Token; - } - - static void _200C_206B_200C_200D_202B_200D_200C_206F_200E_200B_206F_200F_206B_206A_202B_206B_200F_200D_200B_202C_206D_200F_200D_202E_200C_206F_202E_202B_202D_206A_206C_202D_200F_202E_200E_200F_200C_206E_206F_200D_202E(NpcPositionCache P_0, CancellationToken P_1) - { - P_0.WarmUp(P_1); - } - - static bool _202A_202B_206C_200C_206A_200F_202B_202D_200C_200B_206D_202C_206D_206D_202A_206F_200C_206E_202E_206A_206E_202E_206B_206E_200B_202B_200E_202D_200D_206F_200C_206C_200B_200D_200D_200C_206A_206D_200F_200F_202E(WarpDataService P_0) - { - return P_0.ApplyDerivedSources(); - } - - static void _206A_200B_206D_206D_202B_200D_206D_206C_200D_200F_206C_200D_202E_206C_206C_206F_200C_200B_206F_206C_206A_206E_206A_206D_200D_200F_202A_202A_200E_202A_200F_206C_206D_206C_202B_200D_200C_202B_202B_202E(NavRouter P_0) - { - P_0.InvalidateStaticGraph(); - } - - static void _200F_200B_202D_200E_200E_200B_200D_202D_206A_200C_206F_202E_200B_202A_206C_206C_206C_200B_202C_206F_200F_202D_200F_200B_206D_200B_200C_206D_200D_202D_206D_206C_200C_206A_200C_206A_202D_206D_200F_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static void _206C_206D_206E_202A_200F_206A_202D_206C_206D_200F_206E_200D_206A_202A_200D_206A_206B_200F_206A_200D_206F_206C_206D_202D_200E_202B_202B_200C_206D_206F_202A_202A_202D_206E_200B_206F_200E_200B_200E_200E_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } - } - - private readonly CancellationTokenSource _cts = _206C_206D_202E_202B_202B_200F_202D_206B_206C_202B_200B_206B_202D_202C_206D_206A_202E_202B_202C_202B_206E_206D_206F_206E_200F_202C_206B_200C_206D_202E_202C_206A_202A_200D_206D_206F_202D_206E_206D_200D_202E(); + private readonly CancellationTokenSource _cts = new CancellationTokenSource(); private readonly Thread? _thread; - [MethodImpl(MethodImplOptions.NoInlining)] - public NpcPositionCacheWarmer(NpcPositionCache npcPositionCache, WarpDataService warpDataService, NavRouter navRouter, ILogger logger) + public NpcPositionCacheWarmer(NpcPositionCache npcPositionCache, WarpDataService warpDataService, NavRouter navRouter, LgbWorkerSupervisor workerSupervisor, IDalamudPluginInterface pluginInterface, IDataManager dataManager, NpcPositionCacheOptions cacheOptions, ILogger logger) { NpcPositionCacheWarmer npcPositionCacheWarmer = this; - if (_200F_202E_206E_202D_200D_200E_200B_200E_200E_202A_206F_206C_202A_202A_200F_206E_202A_206C_202A_200D_200C_206D_202E_200B_202E_200E_202C_202A_206D_200B_206F_206F_206E_202E_200D_202B_206C_200E_202B_202E(npcPositionCache)) + if (npcPositionCache.IsBuilt) { return; } - Thread thread = _206C_206C_202E_206A_200B_200D_200B_200E_200B_206D_200F_206F_200B_200E_200C_200D_200E_206F_206F_206C_200B_200C_206B_206B_202D_200E_206F_200E_202A_202C_206C_206E_206F_206D_202B_200E_200C_202B_206B_202C_202E((ThreadStart)([MethodImpl(MethodImplOptions.NoInlining)] () => + _thread = new Thread((ThreadStart)delegate { try { - _003C_003Ec__DisplayClass2_0._200C_206B_200C_200D_202B_200D_200C_206F_200E_200B_206F_200F_206B_206A_202B_206B_200F_200D_200B_202C_206D_200F_200D_202E_200C_206F_202E_202B_202D_206A_206C_202D_200F_202E_200E_200F_200C_206E_206F_200D_202E(npcPositionCache, _003C_003Ec__DisplayClass2_0._206D_206C_200B_200B_206A_206C_200C_206F_200C_202D_206E_202D_206D_200B_206A_202B_200D_206B_206D_206A_200C_200F_200F_202C_200D_206F_200E_206B_206B_200B_200C_206B_206A_200C_200E_202B_206F_200E_200B_206A_202E(npcPositionCacheWarmer._cts)); - int num = ((!_003C_003Ec__DisplayClass2_0._202A_202B_206C_200C_206A_200F_202B_202D_200C_200B_206D_202C_206D_206D_202A_206F_200C_206E_202E_206A_206E_202E_206B_206E_200B_202B_200E_202D_200D_206F_200C_206C_200B_200D_200D_200C_206A_206D_200F_200F_202E(warpDataService)) ? 2029447289 : 2029447288); - while (true) + bool flag = false; + string fullName = dataManager.GameData.DataPath.FullName; + string gameVersion = cacheOptions.GameVersion; + string cacheDirectory = cacheOptions.CacheDirectory; + string directoryName = pluginInterface.AssemblyLocation.DirectoryName; + if (fullName != null && gameVersion != null && cacheDirectory != null && directoryName != null) { - int num2 = num; - int num3 = 2029447289; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + flag = workerSupervisor.RunWorker(fullName, gameVersion, cacheDirectory, directoryName, npcPositionCacheWarmer._cts.Token); + if (flag) { - case 2: - num = 2029447288; - break; - case 1: - _003C_003Ec__DisplayClass2_0._206A_200B_206D_206D_202B_200D_206D_206C_200D_200F_206C_200D_202E_206C_206C_206F_200C_200B_206F_206C_206A_206E_206A_206D_200D_200F_202A_202A_200E_202A_200F_206C_206D_206C_202B_200D_200C_202B_202B_202E(navRouter); - _003C_003Ec__DisplayClass2_0._200F_200B_202D_200E_200E_200B_200D_202D_206A_200C_206F_202E_200B_202A_206C_206C_206C_200B_202C_206F_200F_202D_200F_200B_206D_200B_200C_206D_200D_202D_206D_206C_200C_206A_200C_206A_202D_206D_200F_202C_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1529690412), Array.Empty()); - num = 2029447289; - break; - case 0: - return; + npcPositionCache.TryLoadFromDisk(); } } + if (!flag) + { + logger.LogInformation("Falling back to in-process LGB scan"); + npcPositionCache.WarmUp(npcPositionCacheWarmer._cts.Token); + } + if (warpDataService.ApplyDerivedSources()) + { + navRouter.InvalidateStaticGraph(); + logger.LogInformation("Applied derived warp sources after NPC position warm-up"); + } } catch (OperationCanceledException) { } - catch (Exception ex2) + catch (Exception exception) { - _003C_003Ec__DisplayClass2_0._206C_206D_206E_202A_200F_206A_202D_206C_206D_200F_206E_200D_206A_202A_200D_206A_206B_200F_206A_200D_206F_206C_206D_202D_200E_202B_202B_200C_206D_206F_202A_202A_202D_206E_200B_206F_200E_200B_200E_200E_202E((ILogger)logger, ex2, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-5610293), Array.Empty()); + logger.LogError(exception, "NPC position cache warm-up failed"); } - })); - _202E_202A_200F_200E_202B_200F_200E_200B_202D_200F_206C_206D_202C_206E_202A_202C_202A_206C_200F_206B_200F_206F_206F_206F_206C_206B_206C_206D_206A_202C_200C_200C_200F_206D_206A_202C_202D_202A_206D_206A_202E(thread, true); - _206A_202B_202C_200E_200F_206B_200B_206F_202B_202A_206F_202B_206E_206D_206F_206B_206F_206F_206A_206F_206F_200B_200C_200D_200D_202C_206C_200E_202C_202A_202A_200C_202B_206F_206B_206E_206D_206E_202E_200D_202E(thread, ThreadPriority.BelowNormal); - _202B_206D_200D_206D_206B_202C_200D_202B_206A_206A_202C_202A_200E_202A_202D_200C_206E_200F_206D_206A_200B_200C_206E_206B_206B_200D_206C_200B_206B_206A_202C_202A_206E_206F_200D_206A_206B_200C_200E_202E_202E(thread, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(277884647)); - _thread = thread; - _206D_200E_206A_200C_202B_202A_200F_202D_200C_206C_206C_200B_200B_206A_206D_206E_202D_202E_206A_200F_202A_202D_202B_200D_206C_200C_206F_200D_200B_206B_200C_200D_202A_202D_200C_200C_202A_206B_206E_200D_202E(_thread); + }) + { + IsBackground = true, + Priority = ThreadPriority.BelowNormal, + Name = "Questionable.NpcPositionCacheWarmer" + }; + _thread.Start(); } public void Dispose() { - _200D_206C_206C_200B_200D_202E_202D_206D_200D_202B_206E_202E_206B_200D_202A_200B_200B_200F_202E_202B_200B_206D_202E_206C_200C_200F_206D_202A_202B_202B_200F_202D_206E_202D_202E_202B_202B_200C_206B_200D_202E(_cts); - Thread? thread = _thread; - if (thread != null) - { - _206B_206B_200B_200F_206B_206D_202A_200E_206C_206C_206B_206C_206D_200C_206A_206E_200C_206A_202C_200D_202D_206C_206A_206A_202D_206B_202B_200C_206E_200D_202B_206F_200D_200B_202A_206E_206E_200B_200F_206A_202E(thread, TimeSpan.FromSeconds(1L)); - } - _206D_200D_202E_202D_200B_200C_202D_202E_202E_206E_206E_202A_200E_206F_206C_206A_202B_200B_206E_206F_200E_200B_200F_206E_200B_202B_206C_202A_206B_202A_200D_202A_206F_206A_202D_200D_200D_200D_202A_202B_202E(_cts); - } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static CancellationTokenSource _206C_206D_202E_202B_202B_200F_202D_206B_206C_202B_200B_206B_202D_202C_206D_206A_202E_202B_202C_202B_206E_206D_206F_206E_200F_202C_206B_200C_206D_202E_202C_206A_202A_200D_206D_206F_202D_206E_206D_200D_202E() - { - return new CancellationTokenSource(); - } - - static bool _200F_202E_206E_202D_200D_200E_200B_200E_200E_202A_206F_206C_202A_202A_200F_206E_202A_206C_202A_200D_200C_206D_202E_200B_202E_200E_202C_202A_206D_200B_206F_206F_206E_202E_200D_202B_206C_200E_202B_202E(NpcPositionCache P_0) - { - return P_0.IsBuilt; - } - - static Thread _206C_206C_202E_206A_200B_200D_200B_200E_200B_206D_200F_206F_200B_200E_200C_200D_200E_206F_206F_206C_200B_200C_206B_206B_202D_200E_206F_200E_202A_202C_206C_206E_206F_206D_202B_200E_200C_202B_206B_202C_202E(ThreadStart P_0) - { - return new Thread(P_0); - } - - static void _202E_202A_200F_200E_202B_200F_200E_200B_202D_200F_206C_206D_202C_206E_202A_202C_202A_206C_200F_206B_200F_206F_206F_206F_206C_206B_206C_206D_206A_202C_200C_200C_200F_206D_206A_202C_202D_202A_206D_206A_202E(Thread P_0, bool P_1) - { - P_0.IsBackground = P_1; - } - - static void _206A_202B_202C_200E_200F_206B_200B_206F_202B_202A_206F_202B_206E_206D_206F_206B_206F_206F_206A_206F_206F_200B_200C_200D_200D_202C_206C_200E_202C_202A_202A_200C_202B_206F_206B_206E_206D_206E_202E_200D_202E(Thread P_0, ThreadPriority P_1) - { - P_0.Priority = P_1; - } - - static void _202B_206D_200D_206D_206B_202C_200D_202B_206A_206A_202C_202A_200E_202A_202D_200C_206E_200F_206D_206A_200B_200C_206E_206B_206B_200D_206C_200B_206B_206A_202C_202A_206E_206F_200D_206A_206B_200C_200E_202E_202E(Thread P_0, string P_1) - { - P_0.Name = P_1; - } - - static void _206D_200E_206A_200C_202B_202A_200F_202D_200C_206C_206C_200B_200B_206A_206D_206E_202D_202E_206A_200F_202A_202D_202B_200D_206C_200C_206F_200D_200B_206B_200C_200D_202A_202D_200C_200C_202A_206B_206E_200D_202E(Thread P_0) - { - P_0.Start(); - } - - static void _200D_206C_206C_200B_200D_202E_202D_206D_200D_202B_206E_202E_206B_200D_202A_200B_200B_200F_202E_202B_200B_206D_202E_206C_200C_200F_206D_202A_202B_202B_200F_202D_206E_202D_202E_202B_202B_200C_206B_200D_202E(CancellationTokenSource P_0) - { - P_0.Cancel(); - } - - static bool _206B_206B_200B_200F_206B_206D_202A_200E_206C_206C_206B_206C_206D_200C_206A_206E_200C_206A_202C_200D_202D_206C_206A_206A_202D_206B_202B_200C_206E_200D_202B_206F_200D_200B_202A_206E_206E_200B_200F_206A_202E(Thread P_0, TimeSpan P_1) - { - return P_0.Join(P_1); - } - - static void _206D_200D_202E_202D_200B_200C_202D_202E_202E_206E_206E_202A_200E_206F_206C_206A_202B_200B_206E_206F_200E_200B_200F_206E_200B_202B_206C_202A_206B_202A_200D_202A_206F_206A_202D_200D_200D_200D_202A_202B_202E(CancellationTokenSource P_0) - { - P_0.Dispose(); + _cts.Cancel(); + _thread?.Join(TimeSpan.FromSeconds(1L)); + _cts.Dispose(); } } diff --git a/Questionable/Questionable.Data/QuestChain.cs b/Questionable/Questionable.Data/QuestChain.cs index 7e71b3e..3755deb 100644 --- a/Questionable/Questionable.Data/QuestChain.cs +++ b/Questionable/Questionable.Data/QuestChain.cs @@ -1,147 +1,6 @@ -using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Questionable.Model.Questing; namespace Questionable.Data; -internal sealed record QuestChain(List Ancestors, List Descendants, QuestId SelectedQuest) -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206F_200D_202C_206B_200E_200B_200E_206E_206D_202C_202E_200F_202B_206E_200F_202D_206D_202E_206F_200C_206F_200F_202C_200F_206B_200F_206A_206C_206B_206B_200D_206F_206D_202A_200E_200E_200B_206D_202D_200F_202E(typeof(QuestChain).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202A_206F_206F_206C_206E_206E_200C_202D_202B_206E_202E_206D_206A_202D_206D_200F_202D_200F_200C_200C_202A_206E_200B_202A_202C_202A_202A_200C_200C_206E_202D_206D_202A_202E_206F_200B_200E_202B_206C_206E_202E(); - _206B_206B_202A_200F_200D_206E_206B_202B_202B_200D_200E_200F_206E_206C_206C_200F_202E_206E_202A_200B_206A_202A_206C_202A_206B_206C_206F_200E_206A_200D_200B_200C_200D_206D_200E_206D_206D_200C_206D_202D_202E(stringBuilder, 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(506864596)); - _206B_206B_202A_200F_200D_206E_206B_202B_202B_200D_200E_200F_206E_206C_206C_200F_202E_206E_202A_200B_206A_202A_206C_202A_206B_206C_206F_200E_206A_200D_200B_200C_200D_206D_200E_206D_206D_200C_206D_202D_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1664411125)); - int num = ((!PrintMembers(stringBuilder)) ? (-121163571) : (-121163570)); - while (true) - { - int num2 = num; - int num3 = -121163569; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -121163570; - break; - case 1: - _206F_202C_206D_202C_202B_206C_206C_202C_206F_202C_200E_200B_200E_202A_202C_206F_200C_206C_200B_206B_200C_200F_206F_202E_206D_200B_206F_200E_200E_206F_202A_200B_202A_200F_206A_206C_202D_202E_206E_202C_202E(stringBuilder, ' '); - num = -121163571; - break; - case 2: - _206F_202C_206D_202C_202B_206C_206C_202C_206F_202C_200E_200B_200E_202A_202C_206F_200C_206C_200B_206B_200C_200F_206F_202E_206D_200B_206F_200E_200E_206F_202A_200B_202A_200F_206A_206C_202D_202E_206E_202C_202E(stringBuilder, '}'); - return _206A_200D_202E_200E_202C_202E_200F_200C_202E_206F_200E_202D_200C_202D_202B_202C_200E_202C_206A_206E_206A_202C_200B_202E_200B_206B_206D_200F_206A_200F_206D_202D_200F_202E_206A_206A_200C_206F_202E_206C_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200D_206E_206F_202A_200E_206E_206F_200E_202A_206D_206A_200B_202E_206A_206F_200B_206A_206B_200E_200C_206F_202B_206F_202D_200B_200F_200C_200B_202D_202A_200B_202B_202C_202A_202B_202A_200C_202E_202E_202E_202E(); - _206B_206B_202A_200F_200D_206E_206B_202B_202B_200D_200E_200F_206E_206C_206C_200F_202E_206E_202A_200B_206A_202A_206C_202A_206B_206C_206F_200E_206A_200D_200B_200C_200D_206D_200E_206D_206D_200C_206D_202D_202E(builder, 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(1980341055)); - _200C_200F_206D_206D_200E_206A_206D_200D_202B_206E_200B_200B_206B_206B_202D_200C_200B_200F_202C_202D_200E_202D_206D_202B_202C_200D_200D_200D_206E_202E_202E_200C_206A_206F_202B_202A_202D_206A_200F_202D_202E(builder, (object)Ancestors); - _206B_206B_202A_200F_200D_206E_206B_202B_202B_200D_200E_200F_206E_206C_206C_200F_202E_206E_202A_200B_206A_202A_206C_202A_206B_206C_206F_200E_206A_200D_200B_200C_200D_206D_200E_206D_206D_200C_206D_202D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1369107064)); - _200C_200F_206D_206D_200E_206A_206D_200D_202B_206E_200B_200B_206B_206B_202D_200C_200B_200F_202C_202D_200E_202D_206D_202B_202C_200D_200D_200D_206E_202E_202E_200C_206A_206F_202B_202A_202D_206A_200F_202D_202E(builder, (object)Descendants); - _206B_206B_202A_200F_200D_206E_206B_202B_202B_200D_200E_200F_206E_206C_206C_200F_202E_206E_202A_200B_206A_202A_206C_202A_206B_206C_206F_200E_206A_200D_200B_200C_200D_206D_200E_206D_206D_200C_206D_202D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1311174638)); - _200C_200F_206D_206D_200E_206A_206D_200D_202B_206E_200B_200B_206B_206B_202D_200C_200B_200F_202C_202D_200E_202D_206D_202B_202C_200D_200D_200D_206E_202E_202E_200C_206A_206F_202B_202A_202D_206A_200F_202D_202E(builder, (object)SelectedQuest); - return true; - } - - [CompilerGenerated] - public bool Equals(QuestChain? other) - { - int num = (((object)this == other) ? 148556136 : 148556142); - while (true) - { - int num2 = num; - int num3 = 148556137; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = ((!_200E_200C_206D_206C_200D_206C_206E_202C_202C_206C_206E_206C_202E_200F_200F_200D_202D_202E_202E_202D_200D_200F_206B_200E_200E_206E_202A_202D_200D_202A_202B_206F_206D_200C_200D_206B_206C_200F_202E_206D_202E(EqualityContract, other.EqualityContract)) ? 148556141 : 148556140); - break; - case 0: - return EqualityComparer.Default.Equals(SelectedQuest, other.SelectedQuest); - case 1: - return true; - case 6: - num = ((!EqualityComparer>.Default.Equals(Descendants, other.Descendants)) ? 148556141 : 148556137); - break; - case 4: - return false; - case 5: - num = ((!EqualityComparer>.Default.Equals(Ancestors, other.Ancestors)) ? 148556141 : 148556143); - break; - case 7: - num = (((object)other == null) ? 148556141 : 148556138); - break; - case 2: - num = 148556142; - break; - } - } - } - - bool IEquatable.Equals(QuestChain? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206F_200D_202C_206B_200E_200B_200E_206E_206D_202C_202E_200F_202B_206E_200F_202D_206D_202E_206F_200C_206F_200F_202C_200F_206B_200F_206A_206C_206B_206B_200D_206F_206D_202A_200E_200E_200B_206D_202D_200F_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202A_206F_206F_206C_206E_206E_200C_202D_202B_206E_202E_206D_206A_202D_206D_200F_202D_200F_200C_200C_202A_206E_200B_202A_202C_202A_202A_200C_200C_206E_202D_206D_202A_202E_206F_200B_200E_202B_206C_206E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206B_206B_202A_200F_200D_206E_206B_202B_202B_200D_200E_200F_206E_206C_206C_200F_202E_206E_202A_200B_206A_202A_206C_202A_206B_206C_206F_200E_206A_200D_200B_200C_200D_206D_200E_206D_206D_200C_206D_202D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206F_202C_206D_202C_202B_206C_206C_202C_206F_202C_200E_200B_200E_202A_202C_206F_200C_206C_200B_206B_200C_200F_206F_202E_206D_200B_206F_200E_200E_206F_202A_200B_202A_200F_206A_206C_202D_202E_206E_202C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206A_200D_202E_200E_202C_202E_200F_200C_202E_206F_200E_202D_200C_202D_202B_202C_200E_202C_206A_206E_206A_202C_200B_202E_200B_206B_206D_200F_206A_200F_206D_202D_200F_202E_206A_206A_200C_206F_202E_206C_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200D_206E_206F_202A_200E_206E_206F_200E_202A_206D_206A_200B_202E_206A_206F_200B_206A_206B_200E_200C_206F_202B_206F_202D_200B_200F_200C_200B_202D_202A_200B_202B_202C_202A_202B_202A_200C_202E_202E_202E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200C_200F_206D_206D_200E_206A_206D_200D_202B_206E_200B_200B_206B_206B_202D_200C_200B_200F_202C_202D_200E_202D_206D_202B_202C_200D_200D_200D_206E_202E_202E_200C_206A_206F_202B_202A_202D_206A_200F_202D_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200E_200C_206D_206C_200D_206C_206E_202C_202C_206C_206E_206C_202E_200F_200F_200D_202D_202E_202E_202D_200D_200F_206B_200E_200E_206E_202A_202D_200D_202A_202B_206F_206D_200C_200D_206B_206C_200F_202E_206D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +internal sealed record QuestChain(List Ancestors, List Descendants, QuestId SelectedQuest); diff --git a/Questionable/Questionable.Data/QuestChainBuilder.cs b/Questionable/Questionable.Data/QuestChainBuilder.cs index 6bf927d..0ea8f77 100644 --- a/Questionable/Questionable.Data/QuestChainBuilder.cs +++ b/Questionable/Questionable.Data/QuestChainBuilder.cs @@ -1,9 +1,5 @@ -using System; -using System.Collections; using System.Collections.Generic; -using System.Collections.Immutable; using System.Linq; -using System.Runtime.CompilerServices; using Questionable.Model; using Questionable.Model.Questing; @@ -11,25 +7,6 @@ namespace Questionable.Data; internal sealed class QuestChainBuilder { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Comparison _003C_003E9__6_1; - - internal int _003CGetChainGraph_003Eb__6_1(QuestId a, QuestId b) - { - return _200D_202A_200B_200D_202E_206E_202C_206E_200E_206E_200D_206A_200F_202B_206B_206F_200C_202C_206D_202D_200C_200E_200E_202D_200F_200F_200F_200D_206A_206F_200D_202D_202E_206E_202D_206D_202E_200F_206C_200F_202E((ElementId)a).CompareTo(_200D_202A_200B_200D_202E_206E_202C_206E_200E_206E_200D_206A_200F_202B_206B_206F_200C_202C_206D_202D_200C_200E_200E_202D_200F_200F_200F_200D_206A_206F_200D_202D_202E_206E_202D_206D_202E_200F_206C_200F_202E((ElementId)b)); - } - - static ushort _200D_202A_200B_200D_202E_206E_202C_206E_200E_206E_200D_206A_200F_202B_206B_206F_200C_202C_206D_202D_200C_200E_200E_202D_200F_200F_200F_200D_206A_206F_200D_202D_202E_206E_202D_206D_202E_200F_206C_200F_202E(ElementId P_0) - { - return P_0.Value; - } - } - private readonly QuestData _questData; private readonly Dictionary> _descendants = new Dictionary>(); @@ -41,459 +18,127 @@ internal sealed class QuestChainBuilder public QuestChainBuilder(QuestData questData) { _questData = questData; - IEnumerator> enumerator = _questData.AllQuests.GetEnumerator(); - try + foreach (var (elementId2, questInfo2) in _questData.AllQuests) { - while (_206F_202C_206E_206F_200B_206E_202D_200E_200E_200B_206A_206D_206E_200E_200E_200D_202E_200E_202B_206E_202E_206A_200C_202E_202C_206E_206B_200D_206C_200D_202A_202D_206D_206E_206B_200F_206C_206B_206D_206C_202E((IEnumerator)enumerator)) + if (!(elementId2 is QuestId item)) { - var (elementId2, questInfo2) = (KeyValuePair)(ref enumerator.Current); - if (!(elementId2 is QuestId item)) - { - continue; - } - foreach (PreviousQuestInfo previousQuest in questInfo2.PreviousQuests) - { - if (!_descendants.TryGetValue(previousQuest.QuestId, out List value)) - { - value = new List(); - _descendants[previousQuest.QuestId] = value; - } - value.Add(item); - } + continue; } - } - finally - { - if (enumerator != null) + foreach (PreviousQuestInfo previousQuest in questInfo2.PreviousQuests) { - _206F_202E_206D_200E_206A_206C_202D_206E_206E_206E_206F_206B_200D_200C_200D_202B_202A_200E_202A_206B_202A_206A_206A_200C_206F_206F_206F_206A_200B_202A_202E_202D_200E_202B_206E_206E_206D_200E_206F_200C_202E((IDisposable)enumerator); + if (!_descendants.TryGetValue(previousQuest.QuestId, out List value)) + { + value = new List(); + _descendants[previousQuest.QuestId] = value; + } + value.Add(item); } } } public QuestChain GetChain(QuestId questId) { - QuestChain value; - int num = ((!_cache.TryGetValue(questId, out value)) ? (-1661948315) : (-1661948316)); - while (true) + if (_cache.TryGetValue(questId, out QuestChain value)) { - int num2 = num; - int num3 = -1661948315; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - { - List list = new List(); - CollectAncestors(questId, list, new HashSet()); - list.Add(questId); - List list2 = new List(); - CollectDescendants(questId, list2, new HashSet()); - QuestChain questChain = new QuestChain(list, list2, questId); - _cache[questId] = questChain; - return questChain; - } - case 1: - return value; - case 2: - goto IL_009e; - } - continue; - IL_009e: - num = -1661948316; + return value; } + List list = new List(); + CollectAncestors(questId, list, new HashSet()); + list.Add(questId); + List list2 = new List(); + CollectDescendants(questId, list2, new HashSet()); + QuestChain questChain = new QuestChain(list, list2, questId); + _cache[questId] = questChain; + return questChain; } public QuestChainGraph GetChainGraph(QuestId questId) { - int num = ((!_graphCache.TryGetValue(questId, out QuestChainGraph value)) ? 194094588 : 194094591); - Dictionary> prerequisites; - PreviousQuestInfo current3 = default(PreviousQuestInfo); - QuestId current7 = default(QuestId); - int num11 = default(int); - QuestId current8 = default(QuestId); - int num21 = default(int); - int num19 = default(int); - List> list2 = default(List>); - while (true) + if (_graphCache.TryGetValue(questId, out QuestChainGraph value)) { - int num2 = num; - int num3 = 194094590; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_005d; - case 1: - return value; - case 2: - { - HashSet hashSet = new HashSet(); - CollectAllRelated(questId, hashSet); - prerequisites = new Dictionary>(); - Dictionary> dictionary = new Dictionary>(); - using (HashSet.Enumerator enumerator = hashSet.GetEnumerator()) - { - num = 102426660; - while (true) - { - int num5 = num; - num3 = 102426662; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 102426660; - break; - case 2: - num = (enumerator.MoveNext() ? 102426661 : 102426663); - break; - case 3: - { - QuestId current = enumerator.Current; - prerequisites[current] = new List(); - dictionary[current] = new List(); - num = 102426660; - break; - } - case 1: - goto end_IL_009e; - } - continue; - end_IL_009e: - break; - } - } - foreach (QuestId item in hashSet) - { - if (!_questData.TryGetQuestInfo(item, out IQuestInfo questInfo)) - { - continue; - } - using ImmutableList.Enumerator enumerator2 = questInfo.PreviousQuests.GetEnumerator(); - num = 986674695; - while (true) - { - int num6 = num; - num3 = 986674692; - num4 = num6; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = (enumerator2.MoveNext() ? 986674694 : 986674693); - break; - case 4: - prerequisites[item].Add(current3.QuestId); - dictionary[current3.QuestId].Add(item); - num = 986674695; - break; - case 2: - current3 = enumerator2.Current; - num = ((!hashSet.Contains(current3.QuestId)) ? 986674695 : 986674688); - break; - case 0: - num = 986674695; - break; - case 1: - goto end_IL_0189; - } - continue; - end_IL_0189: - break; - } - } - Dictionary dictionary2 = new Dictionary(); - List list = hashSet.Where((QuestId q) => prerequisites[q].Count == 0).ToList(); - using (HashSet.Enumerator enumerator = hashSet.GetEnumerator()) - { - num = 1881646025; - while (true) - { - int num7 = num; - num3 = 1881646027; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = 1881646025; - break; - case 2: - num = (enumerator.MoveNext() ? 1881646026 : 1881646027); - break; - case 1: - { - QuestId current4 = enumerator.Current; - dictionary2[current4] = 0; - num = 1881646025; - break; - } - case 0: - goto end_IL_02bf; - } - continue; - end_IL_02bf: - break; - } - } - Dictionary dictionary3 = new Dictionary(); - using (HashSet.Enumerator enumerator = hashSet.GetEnumerator()) - { - num = -45802294; - while (true) - { - int num8 = num; - num3 = -45802293; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - num = (enumerator.MoveNext() ? (-45802295) : (-45802296)); - break; - case 2: - { - QuestId current5 = enumerator.Current; - dictionary3[current5] = prerequisites[current5].Count; - num = -45802294; - break; - } - case 0: - num = -45802294; - break; - case 3: - goto end_IL_036c; - } - continue; - end_IL_036c: - break; - } - } - Queue queue = new Queue(list); - using (List.Enumerator enumerator3 = list.GetEnumerator()) - { - num = 32820321; - while (true) - { - int num9 = num; - num3 = 32820322; - num4 = num9; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 32820321; - break; - case 3: - num = (enumerator3.MoveNext() ? 32820323 : 32820320); - break; - case 1: - { - QuestId current6 = enumerator3.Current; - dictionary2[current6] = 0; - num = 32820321; - break; - } - case 2: - goto end_IL_042d; - } - continue; - end_IL_042d: - break; - } - } - while (queue.Count > 0) - { - QuestId key = queue.Dequeue(); - using List.Enumerator enumerator3 = dictionary[key].GetEnumerator(); - num = -1942600016; - while (true) - { - int num10 = num; - num3 = -1942600013; - num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1942600016; - break; - case 4: - current7 = enumerator3.Current; - num11 = dictionary2[key] + 1; - num = ((num11 <= dictionary2[current7]) ? (-1942600011) : (-1942600013)); - break; - case 1: - queue.Enqueue(current7); - num = -1942600016; - break; - case 0: - dictionary2[current7] = num11; - num = -1942600011; - break; - case 6: - { - QuestId key2 = current7; - int num12 = dictionary3[key2]; - num3 = 1; - num4 = num12; - dictionary3[key2] = ~(~num4 + num3); - num = ((dictionary3[current7] != 0) ? (-1942600016) : (-1942600014)); - break; - } - case 3: - num = (enumerator3.MoveNext() ? (-1942600009) : (-1942600010)); - break; - case 5: - goto end_IL_04e3; - } - continue; - end_IL_04e3: - break; - } - } - using (HashSet.Enumerator enumerator = hashSet.GetEnumerator()) - { - num = -234574320; - while (true) - { - int num13 = num; - num3 = -234574318; - num4 = num13; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = (enumerator.MoveNext() ? (-234574314) : (-234574319)); - break; - case 4: - current8 = enumerator.Current; - num = (dictionary2.ContainsKey(current8) ? (-234574320) : (-234574317)); - break; - case 0: - num = -234574320; - break; - case 1: - dictionary2[current8] = 0; - num = -234574320; - break; - case 3: - goto end_IL_0638; - } - continue; - end_IL_0638: - break; - } - } - num = ((hashSet.Count > 0) ? (-2059298114) : (-2059298113)); - while (true) - { - int num14 = num; - num3 = -2059298115; - num4 = num14; - int num15 = num4 + num3; - int num16 = num4 & num3; - int num20; - switch (num15 - (num16 + num16)) - { - case 0: - num = ((num21 <= num19) ? (-2059298120) : (-2059298116)); - break; - case 2: - num20 = 0; - goto IL_07cb; - case 5: - { - list2.Add(new List()); - int num22 = num21; - num3 = 1; - num4 = num22; - int num23 = num4 ^ num3; - int num24 = num4 & num3; - num21 = num23 + (num24 + num24); - num = -2059298115; - break; - } - case 4: - num = -2059298113; - break; - case 3: - num20 = _202C_206A_200F_200D_202D_206C_200B_206B_206D_200B_206B_206E_202E_202A_206C_202C_206B_200E_206C_200E_200D_200D_202B_202C_202E_200F_206D_202A_206C_202C_206E_202E_200F_206F_200C_200C_200B_200E_206D_206F_202E((IEnumerable)dictionary2.Values); - goto IL_07cb; - case 1: - { - using (HashSet.Enumerator enumerator = hashSet.GetEnumerator()) - { - num = -1078522335; - while (true) - { - int num17 = num; - num3 = -1078522335; - num4 = num17; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = (enumerator.MoveNext() ? (-1078522336) : (-1078522334)); - break; - case 1: - { - QuestId current9 = enumerator.Current; - list2[dictionary2[current9]].Add(current9); - num = -1078522335; - break; - } - case 2: - num = -1078522335; - break; - case 3: - goto end_IL_07f7; - } - continue; - end_IL_07f7: - break; - } - } - using (List>.Enumerator enumerator4 = list2.GetEnumerator()) - { - num = -1375899676; - while (true) - { - int num18 = num; - num3 = -1375899676; - num4 = num18; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = (enumerator4.MoveNext() ? (-1375899673) : (-1375899675)); - break; - case 3: - enumerator4.Current.Sort((QuestId a, QuestId b) => _003C_003Ec._200D_202A_200B_200D_202E_206E_202C_206E_200E_206E_200D_206A_200F_202B_206B_206F_200C_202C_206D_202D_200C_200E_200E_202D_200F_200F_200F_200D_206A_206F_200D_202D_202E_206E_202D_206D_202E_200F_206C_200F_202E((ElementId)a).CompareTo(_003C_003Ec._200D_202A_200B_200D_202E_206E_202C_206E_200E_206E_200D_206A_200F_202B_206B_206F_200C_202C_206D_202D_200C_200E_200E_202D_200F_200F_200F_200D_206A_206F_200D_202D_202E_206E_202D_206D_202E_200F_206C_200F_202E((ElementId)b))); - num = -1375899676; - break; - case 2: - num = -1375899676; - break; - case 1: - goto end_IL_08ab; - } - continue; - end_IL_08ab: - break; - } - } - QuestChainGraph questChainGraph = new QuestChainGraph(prerequisites, dictionary, dictionary2, list2, questId); - _graphCache[questId] = questChainGraph; - return questChainGraph; - } - IL_07cb: - num19 = num20; - list2 = new List>(); - num21 = 0; - num = -2059298115; - break; - } - } - } - } - continue; - IL_005d: - num = 194094591; + return value; } + HashSet hashSet = new HashSet(); + CollectAllRelated(questId, hashSet); + Dictionary> prerequisites = new Dictionary>(); + Dictionary> dictionary = new Dictionary>(); + foreach (QuestId item in hashSet) + { + prerequisites[item] = new List(); + dictionary[item] = new List(); + } + foreach (QuestId item2 in hashSet) + { + if (!_questData.TryGetQuestInfo(item2, out IQuestInfo questInfo)) + { + continue; + } + foreach (PreviousQuestInfo previousQuest in questInfo.PreviousQuests) + { + if (hashSet.Contains(previousQuest.QuestId)) + { + prerequisites[item2].Add(previousQuest.QuestId); + dictionary[previousQuest.QuestId].Add(item2); + } + } + } + Dictionary dictionary2 = new Dictionary(); + List list = hashSet.Where((QuestId q) => prerequisites[q].Count == 0).ToList(); + foreach (QuestId item3 in hashSet) + { + dictionary2[item3] = 0; + } + Dictionary dictionary3 = new Dictionary(); + foreach (QuestId item4 in hashSet) + { + dictionary3[item4] = prerequisites[item4].Count; + } + Queue queue = new Queue(list); + foreach (QuestId item5 in list) + { + dictionary2[item5] = 0; + } + while (queue.Count > 0) + { + QuestId key = queue.Dequeue(); + foreach (QuestId item6 in dictionary[key]) + { + int num = dictionary2[key] + 1; + if (num > dictionary2[item6]) + { + dictionary2[item6] = num; + } + dictionary3[item6]--; + if (dictionary3[item6] == 0) + { + queue.Enqueue(item6); + } + } + } + foreach (QuestId item7 in hashSet) + { + if (!dictionary2.ContainsKey(item7)) + { + dictionary2[item7] = 0; + } + } + int num2 = ((hashSet.Count > 0) ? dictionary2.Values.Max() : 0); + List> list2 = new List>(); + for (int num3 = 0; num3 <= num2; num3++) + { + list2.Add(new List()); + } + foreach (QuestId item8 in hashSet) + { + list2[dictionary2[item8]].Add(item8); + } + foreach (List item9 in list2) + { + item9.Sort((QuestId a, QuestId b) => a.Value.CompareTo(b.Value)); + } + QuestChainGraph questChainGraph = new QuestChainGraph(prerequisites, dictionary, dictionary2, list2, questId); + _graphCache[questId] = questChainGraph; + return questChainGraph; } public void Invalidate() @@ -511,245 +156,57 @@ internal sealed class QuestChainBuilder private void CollectAncestorsSet(QuestId questId, HashSet visited) { - int num = (visited.Add(questId) ? 1731520860 : 1731520863); - IQuestInfo questInfo = default(IQuestInfo); - while (true) + if (!visited.Add(questId) || !_questData.TryGetQuestInfo(questId, out IQuestInfo questInfo)) { - int num2 = num; - int num3 = 1731520861; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = 1731520863; - break; - case 1: - num = (_questData.TryGetQuestInfo(questId, out questInfo) ? 1731520861 : 1731520862); - break; - case 2: - return; - case 3: - return; - case 0: - { - using ImmutableList.Enumerator enumerator = questInfo.PreviousQuests.GetEnumerator(); - num = -152844110; - while (true) - { - int num5 = num; - num3 = -152844109; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = -152844110; - break; - case 2: - { - PreviousQuestInfo current = enumerator.Current; - CollectAncestorsSet(current.QuestId, visited); - num = -152844110; - break; - } - case 1: - num = (enumerator.MoveNext() ? (-152844111) : (-152844109)); - break; - case 0: - return; - } - } - } - } + return; + } + foreach (PreviousQuestInfo previousQuest in questInfo.PreviousQuests) + { + CollectAncestorsSet(previousQuest.QuestId, visited); } } private void CollectDescendantsSet(QuestId questId, HashSet visited) { - int num = (visited.Add(questId) ? 1111057688 : 1111057690); - List value = default(List); - while (true) + if (!visited.Add(questId) || !_descendants.TryGetValue(questId, out List value)) { - int num2 = num; - int num3 = 1111057691; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = 1111057690; - break; - case 2: - return; - case 3: - num = (_descendants.TryGetValue(questId, out value) ? 1111057691 : 1111057689); - break; - case 1: - return; - case 0: - { - using List.Enumerator enumerator = value.GetEnumerator(); - num = 1156773667; - while (true) - { - int num7 = num; - num3 = 1156773667; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1156773667; - break; - case 1: - { - QuestId current = enumerator.Current; - CollectDescendantsSet(current, visited); - num = 1156773667; - break; - } - case 0: - num = (enumerator.MoveNext() ? 1156773666 : 1156773664); - break; - case 3: - return; - } - } - } - } + return; + } + foreach (QuestId item in value) + { + CollectDescendantsSet(item, visited); } } private void CollectAncestors(QuestId questId, List result, HashSet visited) { - int num = (visited.Add(questId) ? 807904870 : 807904864); - IQuestInfo questInfo = default(IQuestInfo); - PreviousQuestInfo current = default(PreviousQuestInfo); - while (true) + if (!visited.Add(questId) || !_questData.TryGetQuestInfo(questId, out IQuestInfo questInfo)) { - int num2 = num; - int num3 = 807904866; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return; + } + foreach (PreviousQuestInfo previousQuest in questInfo.PreviousQuests) + { + CollectAncestors(previousQuest.QuestId, result, visited); + if (!result.Contains(previousQuest.QuestId)) { - case 1: - return; - case 4: - num = (_questData.TryGetQuestInfo(questId, out questInfo) ? 807904865 : 807904867); - break; - case 2: - return; - case 0: - num = 807904864; - break; - case 3: - { - using ImmutableList.Enumerator enumerator = questInfo.PreviousQuests.GetEnumerator(); - num = 960895852; - while (true) - { - int num5 = num; - num3 = 960895855; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 960895852; - break; - case 3: - num = (enumerator.MoveNext() ? 960895851 : 960895854); - break; - case 2: - result.Add(current.QuestId); - num = 960895852; - break; - case 4: - current = enumerator.Current; - CollectAncestors(current.QuestId, result, visited); - num = (result.Contains(current.QuestId) ? 960895852 : 960895853); - break; - case 1: - return; - } - } - } + result.Add(previousQuest.QuestId); } } } private void CollectDescendants(QuestId questId, List result, HashSet visited) { - int num = (visited.Add(questId) ? (-599330933) : (-599330934)); - List value = default(List); - QuestId current = default(QuestId); - while (true) + if (!visited.Add(questId) || !_descendants.TryGetValue(questId, out List value)) { - int num2 = num; - int num3 = -599330936; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + foreach (QuestId item in value) + { + if (!result.Contains(item)) { - case 1: - return; - case 2: - return; - case 4: - num = -599330934; - break; - case 3: - num = (_descendants.TryGetValue(questId, out value) ? (-599330936) : (-599330935)); - break; - case 0: - { - using List.Enumerator enumerator = value.GetEnumerator(); - num = -1727068589; - while (true) - { - int num7 = num; - num3 = -1727068591; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - num = -1727068589; - break; - case 4: - result.Add(current); - num = -1727068592; - break; - case 3: - current = enumerator.Current; - num = (result.Contains(current) ? (-1727068592) : (-1727068587)); - break; - case 2: - num = (enumerator.MoveNext() ? (-1727068590) : (-1727068591)); - break; - case 1: - CollectDescendants(current, result, visited); - num = -1727068589; - break; - case 0: - return; - } - } - } + result.Add(item); } + CollectDescendants(item, result, visited); } } - - static bool _206F_202C_206E_206F_200B_206E_202D_200E_200E_200B_206A_206D_206E_200E_200E_200D_202E_200E_202B_206E_202E_206A_200C_202E_202C_206E_206B_200D_206C_200D_202A_202D_206D_206E_206B_200F_206C_206B_206D_206C_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206F_202E_206D_200E_206A_206C_202D_206E_206E_206E_206F_206B_200D_200C_200D_202B_202A_200E_202A_206B_202A_206A_206A_200C_206F_206F_206F_206A_200B_202A_202E_202D_200E_202B_206E_206E_206D_200E_206F_200C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static int _202C_206A_200F_200D_202D_206C_200B_206B_206D_200B_206B_206E_202E_202A_206C_202C_206B_200E_206C_200E_200D_200D_202B_202C_202E_200F_206D_202A_206C_202C_206E_202E_200F_206F_200C_200C_200B_200E_206D_206F_202E(IEnumerable P_0) - { - return P_0.Max(); - } } diff --git a/Questionable/Questionable.Data/QuestChainGraph.cs b/Questionable/Questionable.Data/QuestChainGraph.cs index 0a78680..ee54020 100644 --- a/Questionable/Questionable.Data/QuestChainGraph.cs +++ b/Questionable/Questionable.Data/QuestChainGraph.cs @@ -1,155 +1,6 @@ -using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Questionable.Model.Questing; namespace Questionable.Data; -internal sealed record QuestChainGraph(Dictionary> Prerequisites, Dictionary> Dependents, Dictionary Layers, List> LayerOrder, QuestId SelectedQuest) -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202E_206B_206A_206D_200B_202A_200F_202A_206A_200E_206A_200B_206E_200B_202C_200C_206C_206A_206F_206A_202A_206C_206D_206C_200F_202B_206B_202D_206A_202B_206C_200B_200C_202A_200C_202B_206D_200C_202C_206C_202E(typeof(QuestChainGraph).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200D_202A_206A_202B_202E_202D_202A_206F_206B_202B_200F_202C_206B_200C_206D_206A_200C_206E_200E_206C_206C_200C_202A_200C_206A_200D_200C_202D_202D_202A_200F_206E_202C_202B_206E_202C_200D_202A_200B_202D_202E(); - _206B_200B_202A_202B_206C_200B_202D_206D_200C_206C_200B_206A_202A_202D_206F_200F_200C_200E_206C_200D_206C_200E_200C_206B_206D_206F_202A_200D_200F_206A_206E_206B_206F_202C_200B_202B_206F_206F_200E_206B_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(952824243)); - _206B_200B_202A_202B_206C_200B_202D_206D_200C_206C_200B_206A_202A_202D_206F_200F_200C_200E_206C_200D_206C_200E_200C_206B_206D_206F_202A_200D_200F_206A_206E_206B_206F_202C_200B_202B_206F_206F_200E_206B_202E(stringBuilder, 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(117284107)); - int num = ((!PrintMembers(stringBuilder)) ? 1169863664 : 1169863665); - while (true) - { - int num2 = num; - int num3 = 1169863664; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1169863665; - break; - case 1: - _206A_200D_206D_202E_202A_200E_200C_200C_200B_200D_202B_202D_202B_206D_200C_206B_206F_202C_206A_206D_202A_200B_206B_200F_206F_200C_202C_202E_200E_200C_206E_200B_202E_200C_206C_206A_200F_200C_200E_202B_202E(stringBuilder, ' '); - num = 1169863664; - break; - case 0: - _206A_200D_206D_202E_202A_200E_200C_200C_200B_200D_202B_202D_202B_206D_200C_206B_206F_202C_206A_206D_202A_200B_206B_200F_206F_200C_202C_202E_200E_200C_206E_200B_202E_200C_206C_206A_200F_200C_200E_202B_202E(stringBuilder, '}'); - return _206F_206B_202A_206B_202C_202E_206C_202D_202D_202E_206A_206C_206B_200C_202E_206C_206D_206E_202A_202B_206F_202E_206C_206E_202B_200F_206F_206E_202A_206F_200C_206F_200B_202C_200C_206B_202D_206A_202B_200E_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202A_202E_202A_206C_206F_200C_202B_206E_206A_206A_202B_206E_200E_206C_200F_206F_206B_206D_200B_206A_200B_200D_202C_206B_206F_200D_200B_200E_200E_200F_202C_200D_200E_202E_200B_200B_206E_202E_202D_200D_202E(); - _206B_200B_202A_202B_206C_200B_202D_206D_200C_206C_200B_206A_202A_202D_206F_200F_200C_200E_206C_200D_206C_200E_200C_206B_206D_206F_202A_200D_200F_206A_206E_206B_206F_202C_200B_202B_206F_206F_200E_206B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(845375176)); - _200D_202E_200E_206D_206E_200C_206C_202B_202C_202D_206B_206B_200F_202E_206F_200D_206B_206F_206F_206D_200E_206B_206B_206E_202B_202B_200F_202B_200B_202C_202D_202A_202E_206D_202C_200E_206C_206A_202B_206C_202E(builder, (object)Prerequisites); - _206B_200B_202A_202B_206C_200B_202D_206D_200C_206C_200B_206A_202A_202D_206F_200F_200C_200E_206C_200D_206C_200E_200C_206B_206D_206F_202A_200D_200F_206A_206E_206B_206F_202C_200B_202B_206F_206F_200E_206B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-420424537)); - _200D_202E_200E_206D_206E_200C_206C_202B_202C_202D_206B_206B_200F_202E_206F_200D_206B_206F_206F_206D_200E_206B_206B_206E_202B_202B_200F_202B_200B_202C_202D_202A_202E_206D_202C_200E_206C_206A_202B_206C_202E(builder, (object)Dependents); - _206B_200B_202A_202B_206C_200B_202D_206D_200C_206C_200B_206A_202A_202D_206F_200F_200C_200E_206C_200D_206C_200E_200C_206B_206D_206F_202A_200D_200F_206A_206E_206B_206F_202C_200B_202B_206F_206F_200E_206B_202E(builder, 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(308297113)); - _200D_202E_200E_206D_206E_200C_206C_202B_202C_202D_206B_206B_200F_202E_206F_200D_206B_206F_206F_206D_200E_206B_206B_206E_202B_202B_200F_202B_200B_202C_202D_202A_202E_206D_202C_200E_206C_206A_202B_206C_202E(builder, (object)Layers); - _206B_200B_202A_202B_206C_200B_202D_206D_200C_206C_200B_206A_202A_202D_206F_200F_200C_200E_206C_200D_206C_200E_200C_206B_206D_206F_202A_200D_200F_206A_206E_206B_206F_202C_200B_202B_206F_206F_200E_206B_202E(builder, 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(505008165)); - _200D_202E_200E_206D_206E_200C_206C_202B_202C_202D_206B_206B_200F_202E_206F_200D_206B_206F_206F_206D_200E_206B_206B_206E_202B_202B_200F_202B_200B_202C_202D_202A_202E_206D_202C_200E_206C_206A_202B_206C_202E(builder, (object)LayerOrder); - _206B_200B_202A_202B_206C_200B_202D_206D_200C_206C_200B_206A_202A_202D_206F_200F_200C_200E_206C_200D_206C_200E_200C_206B_206D_206F_202A_200D_200F_206A_206E_206B_206F_202C_200B_202B_206F_206F_200E_206B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(103307351)); - _200D_202E_200E_206D_206E_200C_206C_202B_202C_202D_206B_206B_200F_202E_206F_200D_206B_206F_206F_206D_200E_206B_206B_206E_202B_202B_200F_202B_200B_202C_202D_202A_202E_206D_202C_200E_206C_206A_202B_206C_202E(builder, (object)SelectedQuest); - return true; - } - - [CompilerGenerated] - public bool Equals(QuestChainGraph? other) - { - int num = (((object)this == other) ? 1244041790 : 1244041777); - while (true) - { - int num2 = num; - int num3 = 1244041782; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = ((!_206F_202C_206D_200F_206F_206A_200C_202E_206C_202C_206F_206C_200C_206C_202E_202C_200E_200B_206A_200D_202E_206C_202B_206F_206D_202C_206C_202D_206E_202E_202A_206C_200C_206C_202E_200E_200F_200D_206D_202D_202E(EqualityContract, other.EqualityContract)) ? 1244041782 : 1244041779); - break; - case 8: - return true; - case 6: - num = ((!EqualityComparer>>.Default.Equals(LayerOrder, other.LayerOrder)) ? 1244041782 : 1244041783); - break; - case 0: - return false; - case 1: - return EqualityComparer.Default.Equals(SelectedQuest, other.SelectedQuest); - case 3: - num = ((!EqualityComparer>.Default.Equals(Layers, other.Layers)) ? 1244041782 : 1244041776); - break; - case 5: - num = ((!EqualityComparer>>.Default.Equals(Prerequisites, other.Prerequisites)) ? 1244041782 : 1244041778); - break; - case 9: - num = 1244041777; - break; - case 4: - num = ((!EqualityComparer>>.Default.Equals(Dependents, other.Dependents)) ? 1244041782 : 1244041781); - break; - case 7: - num = (((object)other == null) ? 1244041782 : 1244041780); - break; - } - } - } - - bool IEquatable.Equals(QuestChainGraph? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202E_206B_206A_206D_200B_202A_200F_202A_206A_200E_206A_200B_206E_200B_202C_200C_206C_206A_206F_206A_202A_206C_206D_206C_200F_202B_206B_202D_206A_202B_206C_200B_200C_202A_200C_202B_206D_200C_202C_206C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200D_202A_206A_202B_202E_202D_202A_206F_206B_202B_200F_202C_206B_200C_206D_206A_200C_206E_200E_206C_206C_200C_202A_200C_206A_200D_200C_202D_202D_202A_200F_206E_202C_202B_206E_202C_200D_202A_200B_202D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206B_200B_202A_202B_206C_200B_202D_206D_200C_206C_200B_206A_202A_202D_206F_200F_200C_200E_206C_200D_206C_200E_200C_206B_206D_206F_202A_200D_200F_206A_206E_206B_206F_202C_200B_202B_206F_206F_200E_206B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206A_200D_206D_202E_202A_200E_200C_200C_200B_200D_202B_202D_202B_206D_200C_206B_206F_202C_206A_206D_202A_200B_206B_200F_206F_200C_202C_202E_200E_200C_206E_200B_202E_200C_206C_206A_200F_200C_200E_202B_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206F_206B_202A_206B_202C_202E_206C_202D_202D_202E_206A_206C_206B_200C_202E_206C_206D_206E_202A_202B_206F_202E_206C_206E_202B_200F_206F_206E_202A_206F_200C_206F_200B_202C_200C_206B_202D_206A_202B_200E_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202A_202E_202A_206C_206F_200C_202B_206E_206A_206A_202B_206E_200E_206C_200F_206F_206B_206D_200B_206A_200B_200D_202C_206B_206F_200D_200B_200E_200E_200F_202C_200D_200E_202E_200B_200B_206E_202E_202D_200D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200D_202E_200E_206D_206E_200C_206C_202B_202C_202D_206B_206B_200F_202E_206F_200D_206B_206F_206F_206D_200E_206B_206B_206E_202B_202B_200F_202B_200B_202C_202D_202A_202E_206D_202C_200E_206C_206A_202B_206C_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206F_202C_206D_200F_206F_206A_200C_202E_206C_202C_206F_206C_200C_206C_202E_202C_200E_200B_206A_200D_202E_206C_202B_206F_206D_202C_206C_202D_206E_202E_202A_206C_200C_206C_202E_200E_200F_200D_206D_202D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +internal sealed record QuestChainGraph(Dictionary> Prerequisites, Dictionary> Dependents, Dictionary Layers, List> LayerOrder, QuestId SelectedQuest); diff --git a/Questionable/Questionable.Data/QuestData.cs b/Questionable/Questionable.Data/QuestData.cs index 4752cee..92c11f7 100644 --- a/Questionable/Questionable.Data/QuestData.cs +++ b/Questionable/Questionable.Data/QuestData.cs @@ -1,14 +1,10 @@ using System; -using System.Collections; using System.Collections.Concurrent; using System.Collections.Generic; using System.Collections.Immutable; using System.Diagnostics.CodeAnalysis; using System.Linq; -using System.Reflection; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -using System.Text; using Dalamud.Plugin.Services; using LLib.GameData; using Lumina.Excel.Sheets; @@ -21,511 +17,13 @@ namespace Questionable.Data; internal sealed class QuestData { - private sealed record RoleQuestData(IReadOnlyList Chapters, IReadOnlyList FinalQuests, Func JobMatch) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202B_206D_200D_200D_202C_200F_206F_200F_202E_206B_206D_206F_200C_202E_206B_206E_202B_206B_202A_200D_202E_200B_200D_206C_200C_202C_202D_202D_200B_200E_202C_202C_200B_206C_206B_206A_200C_206B_202A_200C_202E(typeof(RoleQuestData).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200C_200B_206D_200B_202D_206E_206F_202A_202E_206A_200D_202A_206D_200C_200B_206A_200D_202B_206A_200B_206D_206A_202D_206C_206E_202A_206C_200F_200E_206B_206E_206F_200F_200E_202C_206F_202D_202C_200E_202E(); - _206F_200D_202B_206D_206A_200B_200C_202C_200F_206D_206F_200E_206E_202A_206A_202E_206B_206F_202C_200D_202B_206F_200D_206A_206A_202A_200C_200E_206A_200F_206B_206B_206F_200F_200B_200B_206F_202C_206E_200C_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2128769799)); - _206F_200D_202B_206D_206A_200B_200C_202C_200F_206D_206F_200E_206E_202A_206A_202E_206B_206F_202C_200D_202B_206F_200D_206A_206A_202A_200C_200E_206A_200F_206B_206B_206F_200F_200B_200B_206F_202C_206E_200C_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1664411125)); - int num = ((!PrintMembers(stringBuilder)) ? (-949265533) : (-949265536)); - while (true) - { - int num2 = num; - int num3 = -949265534; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _202D_202A_200C_206C_202C_206D_202C_202E_200E_206B_202B_202A_206E_200E_206F_206A_200E_200B_200B_202B_202D_202A_202E_202C_200F_206C_200B_202D_200F_206E_206A_206B_202D_206E_206C_202E_206E_206B_202A_206A_202E(stringBuilder, '}'); - return _200B_200D_200C_202B_206D_200B_206C_202B_206E_202C_202C_200E_206B_206E_200C_206C_206B_206D_200D_206E_206D_206A_200E_206C_206C_200F_206B_200C_202D_200F_206C_202D_200E_202D_206E_200E_200C_202B_202B_206C_202E((object)stringBuilder); - case 2: - _202D_202A_200C_206C_202C_206D_202C_202E_200E_206B_202B_202A_206E_200E_206F_206A_200E_200B_200B_202B_202D_202A_202E_202C_200F_206C_200B_202D_200F_206E_206A_206B_202D_206E_206C_202E_206E_206B_202A_206A_202E(stringBuilder, ' '); - num = -949265533; - break; - case 0: - num = -949265536; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202D_206B_200D_202C_206C_206D_200C_200D_206F_206F_206F_206E_202E_206C_206E_206B_202A_206E_206D_202E_206E_202B_200D_206D_202B_202C_206E_200E_202A_202D_200E_200D_202B_200D_200D_200E_206E_202A_200E_206F_202E(); - _206F_200D_202B_206D_206A_200B_200C_202C_200F_206D_206F_200E_206E_202A_206A_202E_206B_206F_202C_200D_202B_206F_200D_206A_206A_202A_200C_200E_206A_200F_206B_206B_206F_200F_200B_200B_206F_202C_206E_200C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-428993358)); - _200C_200C_202D_200C_200F_200F_206F_206C_206E_206E_206A_202C_202B_202B_206B_206C_200C_202D_202B_202E_202A_202B_202A_206D_206B_206F_206E_202D_206C_200E_200B_206B_200B_202B_206B_206B_202A_206F_200C_202E(builder, (object)Chapters); - _206F_200D_202B_206D_206A_200B_200C_202C_200F_206D_206F_200E_206E_202A_206A_202E_206B_206F_202C_200D_202B_206F_200D_206A_206A_202A_200C_200E_206A_200F_206B_206B_206F_200F_200B_200B_206F_202C_206E_200C_202E(builder, 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(635711557)); - _200C_200C_202D_200C_200F_200F_206F_206C_206E_206E_206A_202C_202B_202B_206B_206C_200C_202D_202B_202E_202A_202B_202A_206D_206B_206F_206E_202D_206C_200E_200B_206B_200B_202B_206B_206B_202A_206F_200C_202E(builder, (object)FinalQuests); - _206F_200D_202B_206D_206A_200B_200C_202C_200F_206D_206F_200E_206E_202A_206A_202E_206B_206F_202C_200D_202B_206F_200D_206A_206A_202A_200C_200E_206A_200F_206B_206B_206F_200F_200B_200B_206F_202C_206E_200C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1662807947)); - _200C_200C_202D_200C_200F_200F_206F_206C_206E_206E_206A_202C_202B_202B_206B_206C_200C_202D_202B_202E_202A_202B_202A_206D_206B_206F_206E_202D_206C_200E_200B_206B_200B_202B_206B_206B_202A_206F_200C_202E(builder, (object)JobMatch); - return true; - } - - [CompilerGenerated] - public bool Equals(RoleQuestData? other) - { - int num = (((object)this == other) ? 900942531 : 900942533); - while (true) - { - int num2 = num; - int num3 = 900942529; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return true; - case 6: - num = ((!_206C_206F_206D_200B_202C_202D_206D_200D_206A_200F_200D_206B_200E_206B_202A_206E_206A_202A_206C_206B_202C_206B_202C_206C_206C_202E_202A_206A_202E_202B_206C_202D_206E_202B_202B_206A_202A_202B_206D_206E_202E(EqualityContract, other.EqualityContract)) ? 900942532 : 900942534); - break; - case 7: - num = ((!EqualityComparer>.Default.Equals(Chapters, other.Chapters)) ? 900942532 : 900942528); - break; - case 5: - return false; - case 0: - return EqualityComparer>.Default.Equals(JobMatch, other.JobMatch); - case 3: - num = 900942533; - break; - case 4: - num = (((object)other == null) ? 900942532 : 900942535); - break; - case 1: - num = ((!EqualityComparer>.Default.Equals(FinalQuests, other.FinalQuests)) ? 900942532 : 900942529); - break; - } - } - } - - bool IEquatable.Equals(RoleQuestData? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202B_206D_200D_200D_202C_200F_206F_200F_202E_206B_206D_206F_200C_202E_206B_206E_202B_206B_202A_200D_202E_200B_200D_206C_200C_202C_202D_202D_200B_200E_202C_202C_200B_206C_206B_206A_200C_206B_202A_200C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200C_200B_206D_200B_202D_206E_206F_202A_202E_206A_200D_202A_206D_200C_200B_206A_200D_202B_206A_200B_206D_206A_202D_206C_206E_202A_206C_200F_200E_206B_206E_206F_200F_200E_202C_206F_202D_202C_200E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206F_200D_202B_206D_206A_200B_200C_202C_200F_206D_206F_200E_206E_202A_206A_202E_206B_206F_202C_200D_202B_206F_200D_206A_206A_202A_200C_200E_206A_200F_206B_206B_206F_200F_200B_200B_206F_202C_206E_200C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202D_202A_200C_206C_202C_206D_202C_202E_200E_206B_202B_202A_206E_200E_206F_206A_200E_200B_200B_202B_202D_202A_202E_202C_200F_206C_200B_202D_200F_206E_206A_206B_202D_206E_206C_202E_206E_206B_202A_206A_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200B_200D_200C_202B_206D_200B_206C_202B_206E_202C_202C_200E_206B_206E_200C_206C_206B_206D_200D_206E_206D_206A_200E_206C_206C_200F_206B_200C_202D_200F_206C_202D_200E_202D_206E_200E_200C_202B_202B_206C_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202D_206B_200D_202C_206C_206D_200C_200D_206F_206F_206F_206E_202E_206C_206E_206B_202A_206E_206D_202E_206E_202B_200D_206D_202B_202C_206E_200E_202A_202D_200E_200D_202B_200D_200D_200E_206E_202A_200E_206F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200C_200C_202D_200C_200F_200F_206F_206C_206E_206E_206A_202C_202B_202B_206B_206C_200C_202D_202B_202E_202A_202B_202A_206D_206B_206F_206E_202D_206C_200E_200B_206B_200B_202B_206B_206B_202A_206F_200C_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206C_206F_206D_200B_202C_202D_206D_200D_206A_200F_200D_206B_200E_206B_202A_206E_206A_202A_206C_206B_202C_206B_202C_206C_206C_202E_202A_206A_202E_202B_206C_202D_206E_202B_202B_206A_202A_202B_206D_206E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__25_0; - - public static Func _003C_003E9__25_1; - - public static Func _003C_003E9__25_2; - - public static Func _003C_003E9__25_8; - - public static Func _003C_003E9__25_9; - - public static Func _003C_003E9__25_10; - - public static Func _003C_003E9__25_11; - - public static Func _003C_003E9__25_13; - - public static Func _003C_003E9__25_14; - - public static Func _003C_003E9__25_3; - - public static Func _003C_003E9__25_5; - - public static Func _003C_003E9__25_6; - - public static Func> _003C_003E9__25_7; - - public static Func _003C_003E9__37_1; - - public static Func _003C_003E9__44_1; - - public static Func _003C_003E9__44_2; - - public static Func _003C_003E9__45_0; - - public static Func _003C_003E9__45_2; - - public static Func _003C_003E9__55_0; - - public static Func, IEnumerable> _003C_003E9__58_0; - - public static Func _003C_003E9__58_1; - - public static Func _003C_003E9__61_8; - - internal bool _003C_002Ector_003Eb__25_0(QuestChapter x) - { - int num = ((x.RowId == 0) ? 277631296 : 277631299); - while (true) - { - int num2 = num; - int num3 = 277631297; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0048; - case 1: - return false; - case 2: - return x.Quest.RowId != 0; - } - continue; - IL_0048: - num = 277631299; - } - } - - internal uint _003C_002Ector_003Eb__25_1(QuestChapter x) - { - return x.Quest.RowId; - } - - internal uint _003C_002Ector_003Eb__25_2(QuestChapter x) - { - return x.Redo.RowId; - } - - internal bool _003C_002Ector_003Eb__25_8(QuestRedo.QuestRedoParamStruct x) - { - return x.Quest.IsValid; - } - - internal bool _003C_002Ector_003Eb__25_9(Lumina.Excel.Sheets.Quest x) - { - return x.RowId != 0; - } - - internal bool _003C_002Ector_003Eb__25_10(Lumina.Excel.Sheets.Quest x) - { - return !x.Name.IsEmpty; - } - - internal bool _003C_002Ector_003Eb__25_11(Lumina.Excel.Sheets.Quest x) - { - return x.IssuerLocation.RowId != 0; - } - - internal bool _003C_002Ector_003Eb__25_13(SatisfactionNpc x) - { - int num = ((x.RowId == 0) ? (-1811955487) : (-1811955486)); - while (true) - { - int num2 = num; - int num3 = -1811955488; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004a; - case 1: - return false; - case 2: - return x.Npc.RowId != 0; - } - continue; - IL_004a: - num = -1811955486; - } - } - - internal SatisfactionSupplyInfo _003C_002Ector_003Eb__25_14(SatisfactionNpc x) - { - return new SatisfactionSupplyInfo(x); - } - - internal bool _003C_002Ector_003Eb__25_3(IQuestInfo x) - { - QuestInfo questInfo = x as QuestInfo; - int num = ((questInfo == null) ? 1962625655 : 1962625654); - while (true) - { - int num2 = num; - int num3 = 1962625655; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0048; - case 1: - return questInfo.IsMainScenarioQuest; - case 0: - return false; - } - continue; - IL_0048: - num = 1962625654; - } - } - - internal QuestId _003C_002Ector_003Eb__25_5(QuestInfo x) - { - return (QuestId)x.QuestId; - } - - internal bool _003C_002Ector_003Eb__25_6(IQuestInfo x) - { - return x is QuestInfo; - } - - internal IEnumerable _003C_002Ector_003Eb__25_7(QuestInfo x) - { - return x.ItemRewards; - } - - internal QuestId _003CAddGcFollowUpQuests_003Eb__37_1(ushort x) - { - return _202E_202A_202C_200E_200C_200E_202C_206E_206A_200B_202D_200D_206A_202D_202E_202B_206F_200F_206A_202A_206C_206F_206C_202D_200D_202B_206A_200C_206D_202B_200E_200C_200E_202E_202D_202A_202A_206F_202E_200F_202E(x); - } - - internal ushort _003CGetAllByJournalGenre_003Eb__44_1(IQuestInfo x) - { - return x.SortKey; - } - - internal ElementId _003CGetAllByJournalGenre_003Eb__44_2(IQuestInfo x) - { - return x.QuestId; - } - - internal bool _003CGetAllByAlliedSociety_003Eb__45_0(IQuestInfo x) - { - return x is QuestInfo; - } - - internal ElementId _003CGetAllByAlliedSociety_003Eb__45_2(QuestInfo x) - { - return x.QuestId; - } - - internal bool _003CGetQuestsInNewGamePlusChapters_003Eb__55_0(IQuestInfo x) - { - return x is QuestInfo; - } - - internal IEnumerable _003CGetLockedClassQuests_003Eb__58_0(List x) - { - return x; - } - - internal QuestId _003CGetLockedClassQuests_003Eb__58_1(ushort x) - { - return _202E_202A_202C_200E_200C_200E_202C_206E_206A_200B_202D_200D_206A_202D_202E_202B_206F_200F_206A_202A_206C_206F_206C_202D_200D_202B_206A_200C_206D_202B_200E_200C_200E_202E_202D_202A_202A_206F_202E_200F_202E(x); - } - - internal uint _003C_002Ecctor_003Eb__61_0(KeyValuePair> x) - { - return x.Key; - } - - internal ImmutableList _003C_002Ecctor_003Eb__61_1(KeyValuePair> x) - { - return x.Value.Select((ushort y) => _202E_202A_202C_200E_200C_200E_202C_206E_206A_200B_202D_200D_206A_202D_202E_202B_206F_200F_206A_202A_206C_206F_206C_202D_200D_202B_206A_200C_206D_202B_200E_200C_200E_202E_202D_202A_202A_206F_202E_200F_202E(y)).ToImmutableList(); - } - - internal QuestId _003C_002Ecctor_003Eb__61_8(ushort y) - { - return _202E_202A_202C_200E_200C_200E_202C_206E_206A_200B_202D_200D_206A_202D_202E_202B_206F_200F_206A_202A_206C_206F_206C_202D_200D_202B_206A_200C_206D_202B_200E_200C_200E_202E_202D_202A_202A_206F_202E_200F_202E(y); - } - - internal IEnumerable _003C_002Ecctor_003Eb__61_2(ImmutableList x) - { - return x; - } - - internal bool _003C_002Ecctor_003Eb__61_3(EClassJob j) - { - return _206F_206E_206F_206F_200F_200B_202C_202C_206B_202E_206F_202A_206E_206B_202D_206D_206A_200F_200C_206A_206B_200B_202A_202D_202E_202D_200E_202A_200F_200C_202D_200D_200F_200D_200E_200E_200F_200E_206D_206A_202E(j); - } - - internal bool _003C_002Ecctor_003Eb__61_4(EClassJob j) - { - return _200E_202D_202A_200E_202E_206C_202D_200B_200B_206E_202E_206A_206C_200B_200D_200F_200B_200C_202D_206A_200C_206A_200F_200D_202B_206F_206F_200C_200B_202D_206E_206E_200E_202A_202E_206C_200E_206C_202B_206D_202E(j); - } - - internal bool _003C_002Ecctor_003Eb__61_5(EClassJob j) - { - int num = ((!_202A_200F_202A_206C_206D_202C_206A_200E_206F_200B_202C_202D_206D_200E_206C_206F_200F_206B_206D_200C_206B_202D_200C_206D_202C_200B_200C_202D_206B_200B_206F_206F_206B_200D_202E_206B_200C_202A_202E_202C_202E(j)) ? 218387131 : 218387128); - while (true) - { - int num2 = num; - int num3 = 218387129; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0048; - case 1: - return j != EClassJob.Beastmaster; - case 2: - return false; - } - continue; - IL_0048: - num = 218387128; - } - } - - internal bool _003C_002Ecctor_003Eb__61_6(EClassJob j) - { - return _200B_206B_202A_206E_200D_206B_200F_202A_206D_200E_200E_202E_200B_206A_206F_202A_206F_200E_202D_200C_206F_202A_202D_202C_202B_206A_202D_206B_200D_202D_202E_206D_200F_206C_200C_200E_200D_202C_206E_200D_202E(j); - } - - internal bool _003C_002Ecctor_003Eb__61_7(EClassJob j) - { - int num = ((!_200F_202B_206C_200B_202A_206D_200D_202E_200C_206C_206F_206D_200B_202D_200F_206E_202E_200B_206C_206C_202A_206D_202B_206B_200B_206B_200F_202D_200F_202A_206B_202A_200D_200F_206D_202D_206A_202C_202D_202D_202E(j)) ? (-542512) : (-542509)); - while (true) - { - int num2 = num; - int num3 = -542511; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0046; - case 1: - return false; - case 2: - return j != EClassJob.BlueMage; - } - continue; - IL_0046: - num = -542509; - } - } - - static QuestId _202E_202A_202C_200E_200C_200E_202C_206E_206A_200B_202D_200D_206A_202D_202E_202B_206F_200F_206A_202A_206C_206F_206C_202D_200D_202B_206A_200C_206D_202B_200E_200C_200E_202E_202D_202A_202A_206F_202E_200F_202E(ushort P_0) - { - return new QuestId(P_0); - } - - static bool _206F_206E_206F_206F_200F_200B_202C_202C_206B_202E_206F_202A_206E_206B_202D_206D_206A_200F_200C_206A_206B_200B_202A_202D_202E_202D_200E_202A_200F_200C_202D_200D_200F_200D_200E_200E_200F_200E_206D_206A_202E(EClassJob P_0) - { - return P_0.IsTank(); - } - - static bool _200E_202D_202A_200E_202E_206C_202D_200B_200B_206E_202E_206A_206C_200B_200D_200F_200B_200C_202D_206A_200C_206A_200F_200D_202B_206F_206F_200C_200B_202D_206E_206E_200E_202A_202E_206C_200E_206C_202B_206D_202E(EClassJob P_0) - { - return P_0.IsHealer(); - } - - static bool _202A_200F_202A_206C_206D_202C_206A_200E_206F_200B_202C_202D_206D_200E_206C_206F_200F_206B_206D_200C_206B_202D_200C_206D_202C_200B_200C_202D_206B_200B_206F_206F_206B_200D_202E_206B_200C_202A_202E_202C_202E(EClassJob P_0) - { - return P_0.IsMelee(); - } - - static bool _200B_206B_202A_206E_200D_206B_200F_202A_206D_200E_200E_202E_200B_206A_206F_202A_206F_200E_202D_200C_206F_202A_202D_202C_202B_206A_202D_206B_200D_202D_202E_206D_200F_206C_200C_200E_200D_202C_206E_200D_202E(EClassJob P_0) - { - return P_0.IsPhysicalRanged(); - } - - static bool _200F_202B_206C_200B_202A_206D_200D_202E_200C_206C_206F_206D_200B_202D_200F_206E_202E_200B_206C_206C_202A_206D_202B_206B_200B_206B_200F_202D_200F_202A_206B_202A_200D_200F_206D_202D_206A_202C_202D_202D_202E(EClassJob P_0) - { - return P_0.IsCaster(); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass25_1 - { - public QuestInfo x; - - public Func _003C_003E9__16; - - internal bool _003C_002Ector_003Eb__15(QuestInfo y) - { - return y.PreviousQuests.Any((PreviousQuestInfo z) => _200E_206C_202B_206D_206F_206E_206E_200D_206A_202C_200B_206E_200E_202C_202B_206E_202B_202B_202C_200B_200F_202E_206D_200E_202B_206C_200F_206A_202E_206A_202D_200B_206E_206E_202B_206E_202B_206A_200E_202E((ElementId)z.QuestId, x.QuestId)); - } - - internal bool _003C_002Ector_003Eb__16(PreviousQuestInfo z) - { - return _200E_206C_202B_206D_206F_206E_206E_200D_206A_202C_200B_206E_200E_202C_202B_206E_202B_202B_202C_200B_200F_202E_206D_200E_202B_206C_200F_206A_202E_206A_202D_200B_206E_206E_202B_206E_202B_206A_200E_202E((ElementId)z.QuestId, x.QuestId); - } - - static bool _200E_206C_202B_206D_206F_206E_206E_200D_206A_202C_200B_206E_200E_202C_202B_206E_202B_202B_202C_200B_200F_202E_206D_200E_202B_206C_200F_206A_202E_206A_202D_200B_206E_206E_202B_206E_202B_206A_200E_202E(ElementId P_0, ElementId P_1) - { - return P_0 == P_1; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass37_0 - { - public ushort questId; - - internal bool _003CAddGcFollowUpQuests_003Eb__0(ushort x) - { - return x != questId; - } - } + private sealed record RoleQuestData(IReadOnlyList Chapters, IReadOnlyList FinalQuests, Func JobMatch); public static readonly IReadOnlyList HardModePrimals = new global::_003C_003Ez__ReadOnlyArray(new QuestId[3] { - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)1048), - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)1157), - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)1158) + new QuestId(1048), + new QuestId(1157), + new QuestId(1158) }); private static readonly Dictionary GcRankRequirements = new Dictionary @@ -540,14 +38,14 @@ internal sealed class QuestData public static readonly IReadOnlyList CrystalTowerQuests = new global::_003C_003Ez__ReadOnlyArray(new QuestId[8] { - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)1709), - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)1200), - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)1201), - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)1202), - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)1203), - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)1474), - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)494), - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)495) + new QuestId(1709), + new QuestId(1200), + new QuestId(1201), + new QuestId(1202), + new QuestId(1203), + new QuestId(1474), + new QuestId(494), + new QuestId(495) }); public static readonly ImmutableDictionary> AetherCurrentQuestsByTerritory; @@ -600,98 +98,34 @@ internal sealed class QuestData public static byte GetRequiredGCRank(QuestId questId) { - return GcRankRequirements.GetValueOrDefault(_206D_202C_206E_206A_206E_202C_206E_200E_202D_202E_202A_202A_206C_200E_200E_206C_202D_206E_206B_206F_200E_200D_200E_202D_200F_202A_200D_200C_202E_200D_206E_206C_206D_206F_202E_200E_206F_202D_200F_206D_202E((ElementId)questId), 1); + return GcRankRequirements.GetValueOrDefault(questId.Value, 1); } - [MethodImpl(MethodImplOptions.NoInlining)] public QuestData(IDataManager dataManager, ILogger logger) { - _logger = logger ?? throw _202E_206B_200E_206E_206A_206D_206A_206B_206C_202D_202E_202E_200B_200E_206E_206E_202E_200F_202E_206C_206C_206F_202D_200B_206A_206A_200C_202B_206B_206A_206A_202D_202B_202B_200E_200B_206F_200E_202C_202E_202E(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(901832441)); - Dictionary questChapters = dataManager.GetExcelSheet().Where(delegate(QuestChapter x) - { - int num10 = ((x.RowId == 0) ? 277631296 : 277631299); - while (true) - { - int num11 = num10; - int num12 = 277631297; - int num13 = num11; - switch ((num13 | num12) - (num13 & num12)) - { - case 0: - goto IL_0048; - case 1: - return false; - case 2: - return x.Quest.RowId != 0; - } - continue; - IL_0048: - num10 = 277631299; - } - }).ToDictionary((QuestChapter x) => x.Quest.RowId, (QuestChapter x) => x.Redo.RowId); + _logger = logger ?? throw new ArgumentNullException("logger"); + Dictionary questChapters = (from x in dataManager.GetExcelSheet() + where x.RowId != 0 && x.Quest.RowId != 0 + select x).ToDictionary((QuestChapter x) => x.Quest.RowId, (QuestChapter x) => x.Redo.RowId); Dictionary startingCities = new Dictionary(); - byte b = 1; - while (b <= 3) + for (byte b = 1; b <= 3; b++) { - IEnumerator enumerator = dataManager.GetExcelSheet().GetRow(b).QuestRedoParam.Where((QuestRedo.QuestRedoParamStruct x) => x.Quest.IsValid).GetEnumerator(); - try + foreach (QuestRedo.QuestRedoParamStruct item in dataManager.GetExcelSheet().GetRow(b).QuestRedoParam.Where((QuestRedo.QuestRedoParamStruct x) => x.Quest.IsValid)) { - while (_202D_200C_206B_200B_206A_202D_200C_200C_206B_206D_206C_200D_202C_202A_200E_200E_206F_202D_206A_200B_202C_200E_206D_202B_200D_206A_202C_200E_206F_200D_206A_202D_202C_202C_202E_206B_200D_202E_206D_202E((IEnumerator)enumerator)) - { - QuestRedo.QuestRedoParamStruct current = enumerator.Current; - startingCities[current.Quest.RowId] = b; - } + startingCities[item.Quest.RowId] = b; } - finally - { - if (enumerator != null) - { - _200E_202B_206F_202C_206E_200C_206B_206B_206A_206A_202D_202E_202B_202E_200F_200C_200E_206F_200F_202C_202E_206D_206B_202E_206D_200B_200F_206D_206C_206B_200B_202A_206F_206A_202C_202B_202A_202E_200E_200C_202E((IDisposable)enumerator); - } - } - byte num = b; - int num2 = 1; - int num3 = num; - b = (byte)((num3 | num2) + (num3 & num2)); } - List list = new List(); - list.AddRange(from x in dataManager.GetExcelSheet() + List list = ((IEnumerable)(from x in dataManager.GetExcelSheet() where x.RowId != 0 where !x.Name.IsEmpty where x.IssuerLocation.RowId != 0 - select new QuestInfo(x, questChapters.GetValueOrDefault(x.RowId), startingCities.GetValueOrDefault(x.RowId))); - list.AddRange(from x in dataManager.GetExcelSheet().Where(delegate(SatisfactionNpc x) - { - int num10 = ((x.RowId == 0) ? (-1811955487) : (-1811955486)); - while (true) - { - int num11 = num10; - int num12 = -1811955488; - int num13 = num11; - int num14 = num13 + num12; - int num15 = num13 & num12; - switch (num14 - (num15 + num15)) - { - case 0: - goto IL_004a; - case 1: - return false; - case 2: - return x.Npc.RowId != 0; - } - continue; - IL_004a: - num10 = -1811955486; - } - }) - select new SatisfactionSupplyInfo(x)); - List list2 = list; + select new QuestInfo(x, questChapters.GetValueOrDefault(x.RowId), startingCities.GetValueOrDefault(x.RowId)))).ToList(); _quests = new ConcurrentDictionary(); - foreach (IQuestInfo item in list2) + foreach (IQuestInfo item2 in list) { - if (!_quests.TryAdd(item.QuestId, item)) + if (!_quests.TryAdd(item2.QuestId, item2)) { - _200B_200E_202C_206C_200F_206A_206B_202E_206C_206C_206A_202C_202C_200B_200B_206D_206A_206C_202E_206A_206A_206C_206D_202B_202A_200D_200E_206F_206F_202C_206D_202C_206E_206C_200F_206B_202E_200E_202B_200F_202E((ILogger)_logger, 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(2111536420), new object[1] { item.QuestId }); + _logger.LogDebug("Duplicate QuestId {QuestId}, keeping first entry", item2.QuestId); } } AddPreviousQuest(425, 495); @@ -771,200 +205,80 @@ internal sealed class QuestData AddPreviousQuest(5188, 4841); AddPreviousQuest(5188, 4847); AddPreviousQuest(5188, 4959); - ushort[] array = new ushort[20]; - _202E_200D_202B_202D_200C_206B_206F_200F_206A_202B_200F_200B_202A_200E_206A_200D_206C_200F_202D_200B_200B_200C_200D_206D_200B_202C_200D_206F_206B_206B_200B_200D_200F_202B_202B_206D_200D_200D_206B_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - ushort[] array2 = array; - int num4 = 0; - while (num4 < array2.Length) + ushort[] array = new ushort[20] + { + 107, 111, 112, 122, 663, 475, 472, 476, 470, 473, + 474, 477, 486, 478, 479, 59, 400, 401, 693, 405 + }; + foreach (ushort questId in array) { - ushort questId = array2[num4]; SetStartingCity(questId, 1); - int num5 = num4; - int num2 = 1; - int num3 = num5; - int num6 = num3 ^ num2; - int num7 = num3 & num2; - num4 = num6 + (num7 + num7); } - ushort[] array3 = new ushort[11]; - _202E_200D_202B_202D_200C_206B_206F_200F_206A_202B_200F_200B_202A_200E_206A_200D_206C_200F_202D_200B_200B_200C_200D_206D_200B_202C_200D_206F_206B_206B_200B_200D_200F_202B_202B_206D_200D_200D_206B_202E((Array)array3, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - array2 = array3; - num4 = 0; - while (num4 < array2.Length) + array = new ushort[11] + { + 39, 1, 32, 34, 37, 172, 127, 130, 60, 220, + 378 + }; + foreach (ushort questId2 in array) { - ushort questId2 = array2[num4]; SetStartingCity(questId2, 2); - int num8 = num4; - int num2 = 1; - int num3 = num8; - num4 = (num3 | num2) + (num3 & num2); } - ushort[] array4 = new ushort[19]; - _202E_200D_202B_202D_200C_206B_206F_200F_206A_202B_200F_200B_202A_200E_206A_200D_206C_200F_202D_200B_200B_200C_200D_206D_200B_202C_200D_206F_206B_206B_200B_200D_200F_202B_202B_206D_200D_200D_206B_202E((Array)array4, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - array2 = array4; - num4 = 0; - while (num4 < array2.Length) + array = new ushort[19] + { + 594, 389, 390, 321, 304, 322, 388, 308, 326, 58, + 687, 341, 504, 531, 506, 530, 573, 342, 505 + }; + foreach (ushort questId3 in array) { - ushort questId3 = array2[num4]; SetStartingCity(questId3, 3); - int num9 = num4; - int num2 = 1; - int num3 = num9; - num4 = (num3 | num2) + (num3 & num2); } AddGcFollowUpQuests(); - MainScenarioQuests = _quests.Values.Where(delegate(IQuestInfo x) - { - QuestInfo questInfo = x as QuestInfo; - int num10 = ((questInfo == null) ? 1962625655 : 1962625654); - while (true) - { - int num11 = num10; - int num12 = 1962625655; - int num13 = num11; - switch ((num13 | num12) - (num13 & num12)) - { - case 2: - goto IL_0048; - case 1: - return questInfo.IsMainScenarioQuest; - case 0: - return false; - } - continue; - IL_0048: - num10 = 1962625654; - } - }).Cast().ToList(); + MainScenarioQuests = _quests.Values.Where((IQuestInfo x) => x is QuestInfo questInfo && questInfo.IsMainScenarioQuest).Cast().ToList(); LastMainScenarioQuestId = (from x in MainScenarioQuests - where !MainScenarioQuests.Any((QuestInfo y) => y.PreviousQuests.Any((PreviousQuestInfo z) => _003C_003Ec__DisplayClass25_1._200E_206C_202B_206D_206F_206E_206E_200D_206A_202C_200B_206E_200E_202C_202B_206E_202B_202B_202C_200B_200F_202E_206D_200E_202B_206C_200F_206A_202E_206A_202D_200B_206E_206E_202B_206E_202B_206A_200E_202E((ElementId)z.QuestId, x.QuestId))) - select (QuestId)x.QuestId).FirstOrDefault() ?? _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)0); - RedeemableItems = list2.Where((IQuestInfo x) => x is QuestInfo).Cast().SelectMany((QuestInfo x) => x.ItemRewards) + where !MainScenarioQuests.Any((QuestInfo y) => y.PreviousQuests.Any((PreviousQuestInfo z) => z.QuestId == x.QuestId)) + select (QuestId)x.QuestId).FirstOrDefault() ?? new QuestId(0); + RedeemableItems = list.Where((IQuestInfo x) => x is QuestInfo).Cast().SelectMany((QuestInfo x) => x.ItemRewards) .ToImmutableHashSet(); } - [MethodImpl(MethodImplOptions.NoInlining)] private void AddPreviousQuest(ushort questToUpdate, ushort requiredQuestId) { - QuestId questId = _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E(questToUpdate); - IQuestInfo value; - int num = ((!_quests.TryGetValue(questId, out value)) ? (-87793651) : (-87793652)); - QuestInfo questInfo = default(QuestInfo); - while (true) + QuestId questId = new QuestId(questToUpdate); + if (_quests.TryGetValue(questId, out IQuestInfo value) && value is QuestInfo questInfo) { - int num2 = num; - int num3 = -87793649; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -87793652; - break; - case 1: - questInfo.AddPreviousQuest(new PreviousQuestInfo(_200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E(requiredQuestId), 0)); - return; - case 3: - questInfo = value as QuestInfo; - num = ((questInfo == null) ? (-87793651) : (-87793650)); - break; - case 2: - _206A_200D_202A_202D_200D_202E_200E_206E_200C_206A_202C_206D_200C_202C_206D_200F_206C_200C_206B_202D_200C_200B_202B_206E_200E_202D_206E_202D_206A_202E_200B_206A_200E_202E_202E_202E_206F_202C_200B_206A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1633400058), new object[1] { questId }); - return; - } + questInfo.AddPreviousQuest(new PreviousQuestInfo(new QuestId(requiredQuestId), 0)); + return; } + _logger.LogWarning("AddPreviousQuest: Quest {QuestId} not found or not a QuestInfo", questId); } - [MethodImpl(MethodImplOptions.NoInlining)] private void SetStartingCity(ushort questId, byte startingCity) { - QuestId questId2 = _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E(questId); - IQuestInfo value; - int num = ((!_quests.TryGetValue(questId2, out value)) ? (-2047917635) : (-2047917636)); - QuestInfo questInfo = default(QuestInfo); - while (true) + QuestId questId2 = new QuestId(questId); + if (_quests.TryGetValue(questId2, out IQuestInfo value) && value is QuestInfo questInfo) { - int num2 = num; - int num3 = -2047917634; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -2047917636; - break; - case 1: - questInfo.StartingCity = startingCity; - return; - case 3: - _206A_200D_202A_202D_200D_202E_200E_206E_200C_206A_202C_206D_200C_202C_206D_200F_206C_200C_206B_202D_200C_200B_202B_206E_200E_202D_206E_202D_206A_202E_200B_206A_200E_202E_202E_202E_206F_202C_200B_206A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-352584003), new object[1] { questId2 }); - return; - case 2: - questInfo = value as QuestInfo; - num = ((questInfo == null) ? (-2047917635) : (-2047917633)); - break; - } + questInfo.StartingCity = startingCity; + return; } + _logger.LogWarning("SetStartingCity: Quest {QuestId} not found or not a QuestInfo", questId2); } - [MethodImpl(MethodImplOptions.NoInlining)] private void AddGcFollowUpQuests() { - ushort[] array = new ushort[3]; - _202E_200D_202B_202D_200C_206B_206F_200F_206A_202B_200F_200B_202A_200E_206A_200D_206C_200F_202D_200B_200B_200C_200D_206D_200B_202C_200D_206F_206B_206B_200B_200D_200F_202B_202B_206D_200D_200D_206B_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); + ushort[] array = new ushort[3] { 683, 684, 685 }; ushort[] array2 = array; - ushort[] array3 = array2; - int num = 0; - int num2 = -1969703842; - QuestId questId = default(QuestId); - _003C_003Ec__DisplayClass37_0 _003C_003Ec__DisplayClass37_ = default(_003C_003Ec__DisplayClass37_0); - IQuestInfo value = default(IQuestInfo); - QuestInfo questInfo = default(QuestInfo); - while (true) + foreach (ushort questId in array2) { - int num3 = num2; - int num4 = -1969703848; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + QuestId questId2 = new QuestId(questId); + if (_quests.TryGetValue(questId2, out IQuestInfo value) && value is QuestInfo questInfo) { - case 1: - _206A_200D_202A_202D_200D_202E_200E_206E_200C_206A_202C_206D_200C_202C_206D_200F_206C_200C_206B_202D_200C_200B_202B_206E_200E_202D_206E_202D_206A_202E_200B_206A_200E_202E_202E_202E_206F_202C_200B_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1613940727), new object[1] { questId }); - num2 = -1969703846; - break; - case 4: - _003C_003Ec__DisplayClass37_ = new _003C_003Ec__DisplayClass37_0(); - _003C_003Ec__DisplayClass37_.questId = array3[num]; - questId = _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E(_003C_003Ec__DisplayClass37_.questId); - num2 = ((!_quests.TryGetValue(questId, out value)) ? (-1969703847) : (-1969703848)); - break; - case 5: - return; - case 3: - num2 = -1969703842; - break; - case 6: - num2 = ((num < array3.Length) ? (-1969703844) : (-1969703843)); - break; - case 7: - questInfo.AddQuestLocks(EQuestJoin.AtLeastOne, (from x in array2.Where(_003C_003Ec__DisplayClass37_._003CAddGcFollowUpQuests_003Eb__0) - select _003C_003Ec._202E_202A_202C_200E_200C_200E_202C_206E_206A_200B_202D_200D_206A_202D_202E_202B_206F_200F_206A_202A_206C_206F_206C_202D_200D_202B_206A_200C_206D_202B_200E_200C_200E_202E_202D_202A_202A_206F_202E_200F_202E(x)).ToArray()); - num2 = -1969703846; - break; - case 2: - { - int num6 = num; - num4 = 1; - num5 = num6; - int num7 = num5 ^ num4; - int num8 = num5 & num4; - num = num7 + (num8 + num8); - num2 = -1969703842; - break; + questInfo.AddQuestLocks(EQuestJoin.AtLeastOne, (from x in array + where x != questId + select new QuestId(x)).ToArray()); } - case 0: - questInfo = value as QuestInfo; - num2 = ((questInfo == null) ? (-1969703847) : (-1969703841)); - break; + else + { + _logger.LogWarning("AddGcFollowUpQuests: Quest {QuestId} not found or not a QuestInfo", questId2); } } } @@ -1005,719 +319,483 @@ internal sealed class QuestData select x).ToList(); } - [MethodImpl(MethodImplOptions.NoInlining)] public List GetClassJobQuests(EClassJob classJob, bool includeRoleQuests = false) { - int num; - List list2 = default(List); - List list = default(List); - List list3; - List list4; - List list5; - Span span; - List list6; - Span span2; - List list7; - List list8; - Span span3; - List list9; - List list10; - Span span4; - List list11; - List list12; - Span span5; - List list13; - Span span6; - List list14; - Span span7; - List list15; - Span span8; - List list16; - List list17; - Span span9; - List list18; - List list19; - List list20; - Span span10; - List list21; - Span span11; - List list22; - Span span12; - List list23; - Span span13; - List list24; - Span span14; - List list25; - Span span15; - List list26; - Span span16; - List list27; - Span span17; - List list28; - Span span18; - List list29; - Span span19; - List list30; - List list31; - Span span20; - List list32; - List list33; - Span span21; - List list34; - List list35; - List list36; - Span span22; - List list37; - List list38; - Span span23; - List list39; - Span span24; - List list40; - List list41; - Span span25; - List list42; - Span span26; - int num5; - List list43; + List list2; switch (classJob) { - default: - num = -311827817; - goto IL_00c2; - case EClassJob.Weaver: + case EClassJob.Adventurer: + throw new ArgumentOutOfRangeException("classJob"); + case EClassJob.Gladiator: { - num5 = 3; - List list44 = new List(num5); - CollectionsMarshal.SetCount(list44, num5); - Span span27 = CollectionsMarshal.AsSpan(list44); - span27[0] = 45u; - span27[1] = 46u; - span27[2] = 47u; - list2 = list44; - num = -311827835; - goto IL_00c2; + int num = 1; + List list43 = new List(num); + CollectionsMarshal.SetCount(list43, num); + CollectionsMarshal.AsSpan(list43)[0] = 63u; + list2 = list43; + break; + } + case EClassJob.Paladin: + { + int num = 3; + List list42 = new List(num); + CollectionsMarshal.SetCount(list42, num); + Span span27 = CollectionsMarshal.AsSpan(list42); + span27[0] = 72u; + span27[1] = 73u; + span27[2] = 74u; + list2 = list42; + break; + } + case EClassJob.Marauder: + { + int num = 1; + List list41 = new List(num); + CollectionsMarshal.SetCount(list41, num); + CollectionsMarshal.AsSpan(list41)[0] = 64u; + list2 = list41; + break; + } + case EClassJob.Warrior: + { + int num = 3; + List list40 = new List(num); + CollectionsMarshal.SetCount(list40, num); + Span span26 = CollectionsMarshal.AsSpan(list40); + span26[0] = 76u; + span26[1] = 77u; + span26[2] = 78u; + list2 = list40; + break; + } + case EClassJob.Conjurer: + { + int num = 1; + List list39 = new List(num); + CollectionsMarshal.SetCount(list39, num); + CollectionsMarshal.AsSpan(list39)[0] = 65u; + list2 = list39; + break; + } + case EClassJob.WhiteMage: + { + int num = 3; + List list38 = new List(num); + CollectionsMarshal.SetCount(list38, num); + Span span25 = CollectionsMarshal.AsSpan(list38); + span25[0] = 86u; + span25[1] = 87u; + span25[2] = 88u; + list2 = list38; + break; + } + case EClassJob.Arcanist: + { + int num = 1; + List list37 = new List(num); + CollectionsMarshal.SetCount(list37, num); + CollectionsMarshal.AsSpan(list37)[0] = 66u; + list2 = list37; + break; + } + case EClassJob.Summoner: + { + int num = 3; + List list36 = new List(num); + CollectionsMarshal.SetCount(list36, num); + Span span24 = CollectionsMarshal.AsSpan(list36); + span24[0] = 127u; + span24[1] = 128u; + span24[2] = 129u; + list2 = list36; + break; + } + case EClassJob.Scholar: + { + int num = 3; + List list35 = new List(num); + CollectionsMarshal.SetCount(list35, num); + Span span23 = CollectionsMarshal.AsSpan(list35); + span23[0] = 90u; + span23[1] = 91u; + span23[2] = 92u; + list2 = list35; + break; } case EClassJob.Pugilist: - goto IL_01ef; - case EClassJob.Goldsmith: - goto IL_021e; - case EClassJob.Machinist: - goto IL_0263; - case EClassJob.Arcanist: - goto IL_02a8; - case EClassJob.Leatherworker: - goto IL_02d7; - case EClassJob.RedMage: - goto IL_031c; - case EClassJob.Viper: - goto IL_035c; - case EClassJob.Blacksmith: - goto IL_038e; - case EClassJob.Rogue: - goto IL_03d3; - case EClassJob.Gladiator: - goto IL_0402; - case EClassJob.Dragoon: - goto IL_0430; - case EClassJob.Reaper: - goto IL_0485; - case EClassJob.Carpenter: - goto IL_04b7; - case EClassJob.Dancer: - goto IL_0504; - case EClassJob.Samurai: - goto IL_053f; - case EClassJob.Alchemist: - goto IL_0579; - case EClassJob.Astrologian: - goto IL_05be; - case EClassJob.Summoner: - goto IL_0603; - case EClassJob.BlackMage: - goto IL_066e; - case EClassJob.Beastmaster: - goto IL_06b3; - case EClassJob.Culinarian: - goto IL_06c5; - case EClassJob.Botanist: - goto IL_070a; - case EClassJob.Miner: - goto IL_074f; - case EClassJob.Ninja: - goto IL_0794; - case EClassJob.Fisher: - goto IL_07d9; - case EClassJob.Marauder: - goto IL_081e; - case EClassJob.Pictomancer: - goto IL_084d; - case EClassJob.Monk: - goto IL_087f; - case EClassJob.Conjurer: - goto IL_08c4; - case EClassJob.Armorer: - goto IL_08f3; - case EClassJob.Adventurer: + { + int num = 1; + List list34 = new List(num); + CollectionsMarshal.SetCount(list34, num); + CollectionsMarshal.AsSpan(list34)[0] = 67u; + list2 = list34; break; - case EClassJob.BlueMage: - goto IL_0948; - case EClassJob.Paladin: - goto IL_09a4; - case EClassJob.Warrior: - goto IL_09e9; + } + case EClassJob.Monk: + { + int num = 3; + List list33 = new List(num); + CollectionsMarshal.SetCount(list33, num); + Span span22 = CollectionsMarshal.AsSpan(list33); + span22[0] = 98u; + span22[1] = 99u; + span22[2] = 100u; + list2 = list33; + break; + } case EClassJob.Lancer: - goto IL_0a2e; - case EClassJob.Bard: - goto IL_0a5d; - case EClassJob.Sage: - goto IL_0aae; - case EClassJob.DarkKnight: - goto IL_0ae0; - case EClassJob.Thaumaturge: - goto IL_0b25; - case EClassJob.Scholar: - goto IL_0b54; - case EClassJob.WhiteMage: - goto IL_0b99; - case EClassJob.Archer: - goto IL_0bde; - case EClassJob.Gunbreaker: - goto IL_0c0d; - IL_00c2: - while (true) - { - int num2 = num; - int num3 = -311827818; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 37: - goto end_IL_00c2; - case 7: - goto IL_01ef; - case 18: - goto IL_021e; - case 6: - goto IL_0263; - case 28: - goto IL_02a8; - case 24: - goto IL_02d7; - case 44: - goto IL_031c; - case 36: - goto IL_035c; - case 23: - goto IL_038e; - case 39: - goto IL_03d3; - case 34: - goto IL_0402; - case 49: - goto IL_0430; - case 16: - throw _202D_200B_200E_202B_200D_200F_206E_206D_202B_202A_200C_202A_202C_206F_206F_206F_200D_200B_200C_200F_202A_200C_200F_206F_200F_206F_202D_200F_202D_206E_202E_202A_202A_202B_200F_202B_200B_200F_202B_206F_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1324842693)); - case 21: - goto IL_0485; - case 48: - goto IL_04b7; - case 13: - return GetQuestsInNewGamePlusChapters(list); - case 46: - goto IL_0504; - case 1: - num = -311827834; - break; - case 12: - goto IL_053f; - case 2: - goto IL_0579; - case 14: - goto IL_05be; - case 47: - goto IL_0603; - case 19: - goto IL_064e; - case 25: - goto IL_066e; - case 20: - goto IL_06b3; - case 5: - goto IL_06c5; - case 40: - goto IL_070a; - case 32: - goto IL_074f; - case 38: - goto IL_0794; - case 31: - goto IL_07d9; - case 10: - goto IL_081e; - case 43: - goto IL_084d; - case 41: - goto IL_087f; - case 42: - goto IL_08c4; - case 26: - goto IL_08f3; - case 45: - goto end_IL_0001; - case 11: - goto IL_0948; - case 33: - goto IL_09a4; - case 9: - goto IL_09e9; - case 0: - goto IL_0a2e; - case 15: - goto IL_0a5d; - case 17: - num = -311827817; - break; - case 29: - goto IL_0aae; - case 8: - goto IL_0ae0; - case 3: - goto IL_0b25; - case 35: - goto IL_0b54; - case 27: - goto IL_0b99; - case 22: - goto IL_0bde; - case 30: - goto IL_0c0d; - case 4: - list.AddRange(GetRoleQuestIds(classJob)); - num = -311827813; - break; - } - continue; - IL_064e: - list = list2; - num = ((!includeRoleQuests) ? (-311827813) : (-311827822)); - continue; - end_IL_00c2: - break; - } - goto case EClassJob.Weaver; - IL_0c0d: - num5 = 1; - list3 = new List(num5); - CollectionsMarshal.SetCount(list3, num5); - CollectionsMarshal.AsSpan(list3)[0] = 84u; - list2 = list3; - num = -311827835; - goto IL_00c2; - IL_0bde: - num5 = 1; - list4 = new List(num5); - CollectionsMarshal.SetCount(list4, num5); - CollectionsMarshal.AsSpan(list4)[0] = 70u; - list2 = list4; - num = -311827835; - goto IL_00c2; - IL_0b99: - num5 = 3; - list5 = new List(num5); - CollectionsMarshal.SetCount(list5, num5); - span = CollectionsMarshal.AsSpan(list5); - span[0] = 86u; - span[1] = 87u; - span[2] = 88u; - list2 = list5; - num = -311827835; - goto IL_00c2; - IL_0b54: - num5 = 3; - list6 = new List(num5); - CollectionsMarshal.SetCount(list6, num5); - span2 = CollectionsMarshal.AsSpan(list6); - span2[0] = 90u; - span2[1] = 91u; - span2[2] = 92u; - list2 = list6; - num = -311827835; - goto IL_00c2; - IL_0b25: - num5 = 1; - list7 = new List(num5); - CollectionsMarshal.SetCount(list7, num5); - CollectionsMarshal.AsSpan(list7)[0] = 71u; - list2 = list7; - num = -311827835; - goto IL_00c2; - IL_0ae0: - num5 = 3; - list8 = new List(num5); - CollectionsMarshal.SetCount(list8, num5); - span3 = CollectionsMarshal.AsSpan(list8); - span3[0] = 80u; - span3[1] = 81u; - span3[2] = 82u; - list2 = list8; - num = -311827835; - goto IL_00c2; - IL_0aae: - num5 = 1; - list9 = new List(num5); - CollectionsMarshal.SetCount(list9, num5); - CollectionsMarshal.AsSpan(list9)[0] = 152u; - list2 = list9; - num = -311827835; - goto IL_00c2; - IL_0a5d: - num5 = 3; - list10 = new List(num5); - CollectionsMarshal.SetCount(list10, num5); - span4 = CollectionsMarshal.AsSpan(list10); - span4[0] = 113u; - span4[1] = 114u; - span4[2] = 115u; - list2 = list10; - num = -311827835; - goto IL_00c2; - IL_0a2e: - num5 = 1; - list11 = new List(num5); - CollectionsMarshal.SetCount(list11, num5); - CollectionsMarshal.AsSpan(list11)[0] = 68u; - list2 = list11; - num = -311827835; - goto IL_00c2; - IL_09e9: - num5 = 3; - list12 = new List(num5); - CollectionsMarshal.SetCount(list12, num5); - span5 = CollectionsMarshal.AsSpan(list12); - span5[0] = 76u; - span5[1] = 77u; - span5[2] = 78u; - list2 = list12; - num = -311827835; - goto IL_00c2; - IL_09a4: - num5 = 3; - list13 = new List(num5); - CollectionsMarshal.SetCount(list13, num5); - span6 = CollectionsMarshal.AsSpan(list13); - span6[0] = 72u; - span6[1] = 73u; - span6[2] = 74u; - list2 = list13; - num = -311827835; - goto IL_00c2; - IL_0948: - num5 = 4; - list14 = new List(num5); - CollectionsMarshal.SetCount(list14, num5); - span7 = CollectionsMarshal.AsSpan(list14); - span7[0] = 134u; - span7[1] = 135u; - span7[2] = 146u; - span7[3] = 170u; - list2 = list14; - num = -311827835; - goto IL_00c2; - IL_08f3: - num5 = 3; - list15 = new List(num5); - CollectionsMarshal.SetCount(list15, num5); - span8 = CollectionsMarshal.AsSpan(list15); - span8[0] = 36u; - span8[1] = 37u; - span8[2] = 38u; - list2 = list15; - num = -311827835; - goto IL_00c2; - IL_08c4: - num5 = 1; - list16 = new List(num5); - CollectionsMarshal.SetCount(list16, num5); - CollectionsMarshal.AsSpan(list16)[0] = 65u; - list2 = list16; - num = -311827835; - goto IL_00c2; - IL_087f: - num5 = 3; - list17 = new List(num5); - CollectionsMarshal.SetCount(list17, num5); - span9 = CollectionsMarshal.AsSpan(list17); - span9[0] = 98u; - span9[1] = 99u; - span9[2] = 100u; - list2 = list17; - num = -311827835; - goto IL_00c2; - IL_084d: - num5 = 1; - list18 = new List(num5); - CollectionsMarshal.SetCount(list18, num5); - CollectionsMarshal.AsSpan(list18)[0] = 177u; - list2 = list18; - num = -311827835; - goto IL_00c2; - IL_081e: - num5 = 1; - list19 = new List(num5); - CollectionsMarshal.SetCount(list19, num5); - CollectionsMarshal.AsSpan(list19)[0] = 64u; - list2 = list19; - num = -311827835; - goto IL_00c2; - IL_07d9: - num5 = 3; - list20 = new List(num5); - CollectionsMarshal.SetCount(list20, num5); - span10 = CollectionsMarshal.AsSpan(list20); - span10[0] = 60u; - span10[1] = 61u; - span10[2] = 62u; - list2 = list20; - num = -311827835; - goto IL_00c2; - IL_0794: - num5 = 3; - list21 = new List(num5); - CollectionsMarshal.SetCount(list21, num5); - span11 = CollectionsMarshal.AsSpan(list21); - span11[0] = 106u; - span11[1] = 107u; - span11[2] = 108u; - list2 = list21; - num = -311827835; - goto IL_00c2; - IL_074f: - num5 = 3; - list22 = new List(num5); - CollectionsMarshal.SetCount(list22, num5); - span12 = CollectionsMarshal.AsSpan(list22); - span12[0] = 54u; - span12[1] = 55u; - span12[2] = 56u; - list2 = list22; - num = -311827835; - goto IL_00c2; - IL_070a: - num5 = 3; - list23 = new List(num5); - CollectionsMarshal.SetCount(list23, num5); - span13 = CollectionsMarshal.AsSpan(list23); - span13[0] = 57u; - span13[1] = 58u; - span13[2] = 59u; - list2 = list23; - num = -311827835; - goto IL_00c2; - IL_06c5: - num5 = 3; - list24 = new List(num5); - CollectionsMarshal.SetCount(list24, num5); - span14 = CollectionsMarshal.AsSpan(list24); - span14[0] = 51u; - span14[1] = 52u; - span14[2] = 53u; - list2 = list24; - num = -311827835; - goto IL_00c2; - IL_06b3: - list2 = new List(); - num = -311827835; - goto IL_00c2; - IL_066e: - num5 = 3; - list25 = new List(num5); - CollectionsMarshal.SetCount(list25, num5); - span15 = CollectionsMarshal.AsSpan(list25); - span15[0] = 123u; - span15[1] = 124u; - span15[2] = 125u; - list2 = list25; - num = -311827835; - goto IL_00c2; - IL_0603: - num5 = 3; - list26 = new List(num5); - CollectionsMarshal.SetCount(list26, num5); - span16 = CollectionsMarshal.AsSpan(list26); - span16[0] = 127u; - span16[1] = 128u; - span16[2] = 129u; - list2 = list26; - num = -311827835; - goto IL_00c2; - IL_05be: - num5 = 3; - list27 = new List(num5); - CollectionsMarshal.SetCount(list27, num5); - span17 = CollectionsMarshal.AsSpan(list27); - span17[0] = 94u; - span17[1] = 95u; - span17[2] = 96u; - list2 = list27; - num = -311827835; - goto IL_00c2; - IL_0579: - num5 = 3; - list28 = new List(num5); - CollectionsMarshal.SetCount(list28, num5); - span18 = CollectionsMarshal.AsSpan(list28); - span18[0] = 48u; - span18[1] = 49u; - span18[2] = 50u; - list2 = list28; - num = -311827835; - goto IL_00c2; - IL_053f: - num5 = 2; - list29 = new List(num5); - CollectionsMarshal.SetCount(list29, num5); - span19 = CollectionsMarshal.AsSpan(list29); - span19[0] = 110u; - span19[1] = 111u; - list2 = list29; - num = -311827835; - goto IL_00c2; - IL_0504: - num5 = 1; - list30 = new List(num5); - CollectionsMarshal.SetCount(list30, num5); - CollectionsMarshal.AsSpan(list30)[0] = 121u; - list2 = list30; - num = -311827835; - goto IL_00c2; - IL_04b7: - num5 = 3; - list31 = new List(num5); - CollectionsMarshal.SetCount(list31, num5); - span20 = CollectionsMarshal.AsSpan(list31); - span20[0] = 30u; - span20[1] = 31u; - span20[2] = 32u; - list2 = list31; - num = -311827835; - goto IL_00c2; - IL_0485: - num5 = 1; - list32 = new List(num5); - CollectionsMarshal.SetCount(list32, num5); - CollectionsMarshal.AsSpan(list32)[0] = 153u; + { + int num = 1; + List list32 = new List(num); + CollectionsMarshal.SetCount(list32, num); + CollectionsMarshal.AsSpan(list32)[0] = 68u; list2 = list32; - num = -311827835; - goto IL_00c2; - IL_0430: - num5 = 3; - list33 = new List(num5); - CollectionsMarshal.SetCount(list33, num5); - span21 = CollectionsMarshal.AsSpan(list33); + break; + } + case EClassJob.Dragoon: + { + int num = 3; + List list31 = new List(num); + CollectionsMarshal.SetCount(list31, num); + Span span21 = CollectionsMarshal.AsSpan(list31); span21[0] = 102u; span21[1] = 103u; span21[2] = 104u; - list2 = list33; - num = -311827835; - goto IL_00c2; - IL_0402: - num5 = 1; - list34 = new List(num5); - CollectionsMarshal.SetCount(list34, num5); - CollectionsMarshal.AsSpan(list34)[0] = 63u; - list2 = list34; - num = -311827835; - goto IL_00c2; - IL_03d3: - num5 = 1; - list35 = new List(num5); - CollectionsMarshal.SetCount(list35, num5); - CollectionsMarshal.AsSpan(list35)[0] = 69u; - list2 = list35; - num = -311827835; - goto IL_00c2; - IL_038e: - num5 = 3; - list36 = new List(num5); - CollectionsMarshal.SetCount(list36, num5); - span22 = CollectionsMarshal.AsSpan(list36); - span22[0] = 33u; - span22[1] = 34u; - span22[2] = 35u; - list2 = list36; - num = -311827835; - goto IL_00c2; - IL_035c: - num5 = 1; - list37 = new List(num5); - CollectionsMarshal.SetCount(list37, num5); - CollectionsMarshal.AsSpan(list37)[0] = 176u; - list2 = list37; - num = -311827835; - goto IL_00c2; - IL_031c: - num5 = 2; - list38 = new List(num5); - CollectionsMarshal.SetCount(list38, num5); - span23 = CollectionsMarshal.AsSpan(list38); - span23[0] = 131u; - span23[1] = 132u; - list2 = list38; - num = -311827835; - goto IL_00c2; - IL_02d7: - num5 = 3; - list39 = new List(num5); - CollectionsMarshal.SetCount(list39, num5); - span24 = CollectionsMarshal.AsSpan(list39); - span24[0] = 42u; - span24[1] = 43u; - span24[2] = 44u; - list2 = list39; - num = -311827835; - goto IL_00c2; - IL_02a8: - num5 = 1; - list40 = new List(num5); - CollectionsMarshal.SetCount(list40, num5); - CollectionsMarshal.AsSpan(list40)[0] = 66u; - list2 = list40; - num = -311827835; - goto IL_00c2; - IL_0263: - num5 = 3; - list41 = new List(num5); - CollectionsMarshal.SetCount(list41, num5); - span25 = CollectionsMarshal.AsSpan(list41); - span25[0] = 117u; - span25[1] = 118u; - span25[2] = 119u; - list2 = list41; - num = -311827835; - goto IL_00c2; - IL_021e: - num5 = 3; - list42 = new List(num5); - CollectionsMarshal.SetCount(list42, num5); - span26 = CollectionsMarshal.AsSpan(list42); - span26[0] = 39u; - span26[1] = 40u; - span26[2] = 41u; - list2 = list42; - num = -311827835; - goto IL_00c2; - IL_01ef: - num5 = 1; - list43 = new List(num5); - CollectionsMarshal.SetCount(list43, num5); - CollectionsMarshal.AsSpan(list43)[0] = 67u; - list2 = list43; - num = -311827835; - goto IL_00c2; - end_IL_0001: + list2 = list31; break; } - throw _202D_200B_200E_202B_200D_200F_206E_206D_202B_202A_200C_202A_202C_206F_206F_206F_200D_200B_200C_200F_202A_200C_200F_206F_200F_206F_202D_200F_202D_206E_202E_202A_202A_202B_200F_202B_200B_200F_202B_206F_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)); + case EClassJob.Rogue: + { + int num = 1; + List list30 = new List(num); + CollectionsMarshal.SetCount(list30, num); + CollectionsMarshal.AsSpan(list30)[0] = 69u; + list2 = list30; + break; + } + case EClassJob.Ninja: + { + int num = 3; + List list29 = new List(num); + CollectionsMarshal.SetCount(list29, num); + Span span20 = CollectionsMarshal.AsSpan(list29); + span20[0] = 106u; + span20[1] = 107u; + span20[2] = 108u; + list2 = list29; + break; + } + case EClassJob.Archer: + { + int num = 1; + List list28 = new List(num); + CollectionsMarshal.SetCount(list28, num); + CollectionsMarshal.AsSpan(list28)[0] = 70u; + list2 = list28; + break; + } + case EClassJob.Bard: + { + int num = 3; + List list27 = new List(num); + CollectionsMarshal.SetCount(list27, num); + Span span19 = CollectionsMarshal.AsSpan(list27); + span19[0] = 113u; + span19[1] = 114u; + span19[2] = 115u; + list2 = list27; + break; + } + case EClassJob.Thaumaturge: + { + int num = 1; + List list26 = new List(num); + CollectionsMarshal.SetCount(list26, num); + CollectionsMarshal.AsSpan(list26)[0] = 71u; + list2 = list26; + break; + } + case EClassJob.BlackMage: + { + int num = 3; + List list25 = new List(num); + CollectionsMarshal.SetCount(list25, num); + Span span18 = CollectionsMarshal.AsSpan(list25); + span18[0] = 123u; + span18[1] = 124u; + span18[2] = 125u; + list2 = list25; + break; + } + case EClassJob.DarkKnight: + { + int num = 3; + List list24 = new List(num); + CollectionsMarshal.SetCount(list24, num); + Span span17 = CollectionsMarshal.AsSpan(list24); + span17[0] = 80u; + span17[1] = 81u; + span17[2] = 82u; + list2 = list24; + break; + } + case EClassJob.Astrologian: + { + int num = 3; + List list23 = new List(num); + CollectionsMarshal.SetCount(list23, num); + Span span16 = CollectionsMarshal.AsSpan(list23); + span16[0] = 94u; + span16[1] = 95u; + span16[2] = 96u; + list2 = list23; + break; + } + case EClassJob.Machinist: + { + int num = 3; + List list22 = new List(num); + CollectionsMarshal.SetCount(list22, num); + Span span15 = CollectionsMarshal.AsSpan(list22); + span15[0] = 117u; + span15[1] = 118u; + span15[2] = 119u; + list2 = list22; + break; + } + case EClassJob.Samurai: + { + int num = 2; + List list21 = new List(num); + CollectionsMarshal.SetCount(list21, num); + Span span14 = CollectionsMarshal.AsSpan(list21); + span14[0] = 110u; + span14[1] = 111u; + list2 = list21; + break; + } + case EClassJob.RedMage: + { + int num = 2; + List list20 = new List(num); + CollectionsMarshal.SetCount(list20, num); + Span span13 = CollectionsMarshal.AsSpan(list20); + span13[0] = 131u; + span13[1] = 132u; + list2 = list20; + break; + } + case EClassJob.BlueMage: + { + int num = 4; + List list19 = new List(num); + CollectionsMarshal.SetCount(list19, num); + Span span12 = CollectionsMarshal.AsSpan(list19); + span12[0] = 134u; + span12[1] = 135u; + span12[2] = 146u; + span12[3] = 170u; + list2 = list19; + break; + } + case EClassJob.Gunbreaker: + { + int num = 1; + List list18 = new List(num); + CollectionsMarshal.SetCount(list18, num); + CollectionsMarshal.AsSpan(list18)[0] = 84u; + list2 = list18; + break; + } + case EClassJob.Dancer: + { + int num = 1; + List list17 = new List(num); + CollectionsMarshal.SetCount(list17, num); + CollectionsMarshal.AsSpan(list17)[0] = 121u; + list2 = list17; + break; + } + case EClassJob.Sage: + { + int num = 1; + List list16 = new List(num); + CollectionsMarshal.SetCount(list16, num); + CollectionsMarshal.AsSpan(list16)[0] = 152u; + list2 = list16; + break; + } + case EClassJob.Reaper: + { + int num = 1; + List list15 = new List(num); + CollectionsMarshal.SetCount(list15, num); + CollectionsMarshal.AsSpan(list15)[0] = 153u; + list2 = list15; + break; + } + case EClassJob.Viper: + { + int num = 1; + List list14 = new List(num); + CollectionsMarshal.SetCount(list14, num); + CollectionsMarshal.AsSpan(list14)[0] = 176u; + list2 = list14; + break; + } + case EClassJob.Pictomancer: + { + int num = 1; + List list13 = new List(num); + CollectionsMarshal.SetCount(list13, num); + CollectionsMarshal.AsSpan(list13)[0] = 177u; + list2 = list13; + break; + } + case EClassJob.Beastmaster: + list2 = new List(); + break; + case EClassJob.Alchemist: + { + int num = 3; + List list12 = new List(num); + CollectionsMarshal.SetCount(list12, num); + Span span11 = CollectionsMarshal.AsSpan(list12); + span11[0] = 48u; + span11[1] = 49u; + span11[2] = 50u; + list2 = list12; + break; + } + case EClassJob.Armorer: + { + int num = 3; + List list11 = new List(num); + CollectionsMarshal.SetCount(list11, num); + Span span10 = CollectionsMarshal.AsSpan(list11); + span10[0] = 36u; + span10[1] = 37u; + span10[2] = 38u; + list2 = list11; + break; + } + case EClassJob.Blacksmith: + { + int num = 3; + List list10 = new List(num); + CollectionsMarshal.SetCount(list10, num); + Span span9 = CollectionsMarshal.AsSpan(list10); + span9[0] = 33u; + span9[1] = 34u; + span9[2] = 35u; + list2 = list10; + break; + } + case EClassJob.Carpenter: + { + int num = 3; + List list9 = new List(num); + CollectionsMarshal.SetCount(list9, num); + Span span8 = CollectionsMarshal.AsSpan(list9); + span8[0] = 30u; + span8[1] = 31u; + span8[2] = 32u; + list2 = list9; + break; + } + case EClassJob.Culinarian: + { + int num = 3; + List list8 = new List(num); + CollectionsMarshal.SetCount(list8, num); + Span span7 = CollectionsMarshal.AsSpan(list8); + span7[0] = 51u; + span7[1] = 52u; + span7[2] = 53u; + list2 = list8; + break; + } + case EClassJob.Goldsmith: + { + int num = 3; + List list7 = new List(num); + CollectionsMarshal.SetCount(list7, num); + Span span6 = CollectionsMarshal.AsSpan(list7); + span6[0] = 39u; + span6[1] = 40u; + span6[2] = 41u; + list2 = list7; + break; + } + case EClassJob.Leatherworker: + { + int num = 3; + List list6 = new List(num); + CollectionsMarshal.SetCount(list6, num); + Span span5 = CollectionsMarshal.AsSpan(list6); + span5[0] = 42u; + span5[1] = 43u; + span5[2] = 44u; + list2 = list6; + break; + } + case EClassJob.Weaver: + { + int num = 3; + List list5 = new List(num); + CollectionsMarshal.SetCount(list5, num); + Span span4 = CollectionsMarshal.AsSpan(list5); + span4[0] = 45u; + span4[1] = 46u; + span4[2] = 47u; + list2 = list5; + break; + } + case EClassJob.Miner: + { + int num = 3; + List list4 = new List(num); + CollectionsMarshal.SetCount(list4, num); + Span span3 = CollectionsMarshal.AsSpan(list4); + span3[0] = 54u; + span3[1] = 55u; + span3[2] = 56u; + list2 = list4; + break; + } + case EClassJob.Botanist: + { + int num = 3; + List list3 = new List(num); + CollectionsMarshal.SetCount(list3, num); + Span span2 = CollectionsMarshal.AsSpan(list3); + span2[0] = 57u; + span2[1] = 58u; + span2[2] = 59u; + list2 = list3; + break; + } + case EClassJob.Fisher: + { + int num = 3; + List list = new List(num); + CollectionsMarshal.SetCount(list, num); + Span span = CollectionsMarshal.AsSpan(list); + span[0] = 60u; + span[1] = 61u; + span[2] = 62u; + list2 = list; + break; + } + default: + throw new ArgumentOutOfRangeException("classJob"); + } + List list44 = list2; + if (includeRoleQuests) + { + list44.AddRange(GetRoleQuestIds(classJob)); + } + return GetQuestsInNewGamePlusChapters(list44); } public List GetRoleQuests(EClassJob referenceClassJob) @@ -1751,56 +829,24 @@ internal sealed class QuestData public static bool JobMatchesRolePreference(ERoleQuestPreference preference, EClassJob classJob) { - int num = ((preference != ERoleQuestPreference.Default) ? 505783966 : 505783967); - RoleQuestData value = default(RoleQuestData); - while (true) + if (preference == ERoleQuestPreference.Default) { - int num2 = num; - int num3 = 505783964; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = 505783967; - break; - case 2: - num = ((!RoleDataByPreference.TryGetValue(preference, out value)) ? 505783964 : 505783965); - break; - case 0: - return false; - case 3: - return true; - case 1: - return value.JobMatch(classJob); - } + return true; } + if (RoleDataByPreference.TryGetValue(preference, out RoleQuestData value)) + { + return value.JobMatch(classJob); + } + return false; } private static RoleQuestData? ResolveRoleData(ERoleQuestPreference preference, EClassJob currentJob) { - int num = ((preference == ERoleQuestPreference.Default) ? (-1367229614) : (-1367229615)); - RoleQuestData value = default(RoleQuestData); - while (true) + if (preference != ERoleQuestPreference.Default && RoleDataByPreference.TryGetValue(preference, out RoleQuestData value)) { - int num2 = num; - int num3 = -1367229616; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return ResolveRoleDataForJob(currentJob); - case 1: - num = ((!RoleDataByPreference.TryGetValue(preference, out value)) ? (-1367229614) : (-1367229613)); - break; - case 0: - num = -1367229615; - break; - case 3: - return value; - } + return value; } + return ResolveRoleDataForJob(currentJob); } private static RoleQuestData? ResolveRoleDataForJob(EClassJob classJob) @@ -1817,308 +863,237 @@ internal sealed class QuestData public static List GetLockedClassQuests() { - byte b = _202A_202D_200C_202C_202D_206D_202C_200D_202C_200F_202E_202C_202B_206E_200F_202B_206A_200B_206D_202B_206C_206A_200C_200F_202D_200C_206B_206E_206F_206D_200D_202C_206F_206E_200D_206C_200B_202C_206D_202C_202E(); - int num = ((b != _cachedFirstClass) ? (-1241614056) : (-1241614050)); - EClassJob eClassJob = default(EClassJob); - while (true) + byte firstClass = PlayerStateHelper.GetFirstClass(); + if (firstClass == _cachedFirstClass && _cachedLockedClassQuests.Count > 0) { - int num2 = num; - int num3 = -1241614049; - int num4 = num2; - int num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return new List(); - case 7: - num = ((b != 0) ? (-1241614054) : (-1241614055)); - break; - case 2: - { - int num6 = 8; - List> list = new List>(num6); - CollectionsMarshal.SetCount(list, num6); - Span> span = CollectionsMarshal.AsSpan(list); - ref List reference = ref span[0]; - List list2; - if (eClassJob != EClassJob.Gladiator) - { - int num7 = 2; - list2 = new List(num7); - CollectionsMarshal.SetCount(list2, num7); - Span span2 = CollectionsMarshal.AsSpan(list2); - span2[0] = 253; - span2[1] = 261; - } - else - { - int num7 = 4; - list2 = new List(num7); - CollectionsMarshal.SetCount(list2, num7); - Span span3 = CollectionsMarshal.AsSpan(list2); - span3[0] = 177; - span3[1] = 285; - span3[2] = 286; - span3[3] = 288; - } - reference = list2; - ref List reference2 = ref span[1]; - List list3; - if (eClassJob != EClassJob.Pugilist) - { - int num7 = 2; - list3 = new List(num7); - CollectionsMarshal.SetCount(list3, num7); - Span span4 = CollectionsMarshal.AsSpan(list3); - span4[0] = 533; - span4[1] = 555; - } - else - { - int num7 = 4; - list3 = new List(num7); - CollectionsMarshal.SetCount(list3, num7); - Span span5 = CollectionsMarshal.AsSpan(list3); - span5[0] = 178; - span5[1] = 532; - span5[2] = 553; - span5[3] = 698; - } - reference2 = list3; - ref List reference3 = ref span[2]; - List list4; - if (eClassJob != EClassJob.Marauder) - { - int num7 = 2; - list4 = new List(num7); - CollectionsMarshal.SetCount(list4, num7); - Span span6 = CollectionsMarshal.AsSpan(list4); - span6[0] = 311; - span6[1] = 314; - } - else - { - int num7 = 4; - list4 = new List(num7); - CollectionsMarshal.SetCount(list4, num7); - Span span7 = CollectionsMarshal.AsSpan(list4); - span7[0] = 179; - span7[1] = 310; - span7[2] = 312; - span7[3] = 315; - } - reference3 = list4; - ref List reference4 = ref span[3]; - List list5; - if (eClassJob != EClassJob.Lancer) - { - int num7 = 2; - list5 = new List(num7); - CollectionsMarshal.SetCount(list5, num7); - Span span8 = CollectionsMarshal.AsSpan(list5); - span8[0] = 23; - span8[1] = 35; - } - else - { - int num7 = 4; - list5 = new List(num7); - CollectionsMarshal.SetCount(list5, num7); - Span span9 = CollectionsMarshal.AsSpan(list5); - span9[0] = 180; - span9[1] = 132; - span9[2] = 218; - span9[3] = 143; - } - reference4 = list5; - ref List reference5 = ref span[4]; - List list6; - if (eClassJob != EClassJob.Archer) - { - int num7 = 2; - list6 = new List(num7); - CollectionsMarshal.SetCount(list6, num7); - Span span10 = CollectionsMarshal.AsSpan(list6); - span10[0] = 21; - span10[1] = 67; - } - else - { - int num7 = 4; - list6 = new List(num7); - CollectionsMarshal.SetCount(list6, num7); - Span span11 = CollectionsMarshal.AsSpan(list6); - span11[0] = 181; - span11[1] = 131; - span11[2] = 219; - span11[3] = 134; - } - reference5 = list6; - ref List reference6 = ref span[5]; - List list7; - if (eClassJob != EClassJob.Conjurer) - { - int num7 = 2; - list7 = new List(num7); - CollectionsMarshal.SetCount(list7, num7); - Span span12 = CollectionsMarshal.AsSpan(list7); - span12[0] = 22; - span12[1] = 91; - } - else - { - int num7 = 4; - list7 = new List(num7); - CollectionsMarshal.SetCount(list7, num7); - Span span13 = CollectionsMarshal.AsSpan(list7); - span13[0] = 182; - span13[1] = 133; - span13[2] = 211; - span13[3] = 147; - } - reference6 = list7; - ref List reference7 = ref span[6]; - List list8; - if (eClassJob != EClassJob.Thaumaturge) - { - int num7 = 2; - list8 = new List(num7); - CollectionsMarshal.SetCount(list8, num7); - Span span14 = CollectionsMarshal.AsSpan(list8); - span14[0] = 345; - span14[1] = 348; - } - else - { - int num7 = 4; - list8 = new List(num7); - CollectionsMarshal.SetCount(list8, num7); - Span span15 = CollectionsMarshal.AsSpan(list8); - span15[0] = 183; - span15[1] = 344; - span15[2] = 346; - span15[3] = 349; - } - reference7 = list8; - ref List reference8 = ref span[7]; - List list9; - if (eClassJob != EClassJob.Arcanist) - { - int num7 = 2; - list9 = new List(num7); - CollectionsMarshal.SetCount(list9, num7); - Span span16 = CollectionsMarshal.AsSpan(list9); - span16[0] = 453; - span16[1] = 456; - } - else - { - int num7 = 4; - list9 = new List(num7); - CollectionsMarshal.SetCount(list9, num7); - Span span17 = CollectionsMarshal.AsSpan(list9); - span17[0] = 451; - span17[1] = 452; - span17[2] = 454; - span17[3] = 457; - } - reference8 = list9; - _cachedFirstClass = b; - _cachedLockedClassQuests = (from x in list.SelectMany((List x) => x) - select _003C_003Ec._202E_202A_202C_200E_200C_200E_202C_206E_206A_200B_202D_200D_206A_202D_202E_202B_206F_200F_206A_202A_206C_206F_206C_202D_200D_202B_206A_200C_206D_202B_200E_200C_200E_202E_202D_202A_202A_206F_202E_200F_202E(x)).ToList(); - return _cachedLockedClassQuests; - } - case 5: - num5 = b; - goto IL_05df; - case 4: - return _cachedLockedClassQuests; - case 1: - num = ((_cachedLockedClassQuests.Count <= 0) ? (-1241614056) : (-1241614053)); - break; - case 0: - num = -1241614050; - break; - case 6: - { - num5 = 0; - goto IL_05df; - } - IL_05df: - eClassJob = (EClassJob)num5; - num = ((eClassJob != EClassJob.Adventurer) ? (-1241614051) : (-1241614052)); - break; - } + return _cachedLockedClassQuests; } + EClassJob eClassJob = (EClassJob)((firstClass != 0) ? firstClass : 0); + if (eClassJob == EClassJob.Adventurer) + { + return new List(); + } + int num = 8; + List> list = new List>(num); + CollectionsMarshal.SetCount(list, num); + Span> span = CollectionsMarshal.AsSpan(list); + ref List reference = ref span[0]; + List list2; + if (eClassJob != EClassJob.Gladiator) + { + int num2 = 2; + list2 = new List(num2); + CollectionsMarshal.SetCount(list2, num2); + Span span2 = CollectionsMarshal.AsSpan(list2); + span2[0] = 253; + span2[1] = 261; + } + else + { + int num2 = 4; + list2 = new List(num2); + CollectionsMarshal.SetCount(list2, num2); + Span span3 = CollectionsMarshal.AsSpan(list2); + span3[0] = 177; + span3[1] = 285; + span3[2] = 286; + span3[3] = 288; + } + reference = list2; + ref List reference2 = ref span[1]; + List list3; + if (eClassJob != EClassJob.Pugilist) + { + int num2 = 2; + list3 = new List(num2); + CollectionsMarshal.SetCount(list3, num2); + Span span4 = CollectionsMarshal.AsSpan(list3); + span4[0] = 533; + span4[1] = 555; + } + else + { + int num2 = 4; + list3 = new List(num2); + CollectionsMarshal.SetCount(list3, num2); + Span span5 = CollectionsMarshal.AsSpan(list3); + span5[0] = 178; + span5[1] = 532; + span5[2] = 553; + span5[3] = 698; + } + reference2 = list3; + ref List reference3 = ref span[2]; + List list4; + if (eClassJob != EClassJob.Marauder) + { + int num2 = 2; + list4 = new List(num2); + CollectionsMarshal.SetCount(list4, num2); + Span span6 = CollectionsMarshal.AsSpan(list4); + span6[0] = 311; + span6[1] = 314; + } + else + { + int num2 = 4; + list4 = new List(num2); + CollectionsMarshal.SetCount(list4, num2); + Span span7 = CollectionsMarshal.AsSpan(list4); + span7[0] = 179; + span7[1] = 310; + span7[2] = 312; + span7[3] = 315; + } + reference3 = list4; + ref List reference4 = ref span[3]; + List list5; + if (eClassJob != EClassJob.Lancer) + { + int num2 = 2; + list5 = new List(num2); + CollectionsMarshal.SetCount(list5, num2); + Span span8 = CollectionsMarshal.AsSpan(list5); + span8[0] = 23; + span8[1] = 35; + } + else + { + int num2 = 4; + list5 = new List(num2); + CollectionsMarshal.SetCount(list5, num2); + Span span9 = CollectionsMarshal.AsSpan(list5); + span9[0] = 180; + span9[1] = 132; + span9[2] = 218; + span9[3] = 143; + } + reference4 = list5; + ref List reference5 = ref span[4]; + List list6; + if (eClassJob != EClassJob.Archer) + { + int num2 = 2; + list6 = new List(num2); + CollectionsMarshal.SetCount(list6, num2); + Span span10 = CollectionsMarshal.AsSpan(list6); + span10[0] = 21; + span10[1] = 67; + } + else + { + int num2 = 4; + list6 = new List(num2); + CollectionsMarshal.SetCount(list6, num2); + Span span11 = CollectionsMarshal.AsSpan(list6); + span11[0] = 181; + span11[1] = 131; + span11[2] = 219; + span11[3] = 134; + } + reference5 = list6; + ref List reference6 = ref span[5]; + List list7; + if (eClassJob != EClassJob.Conjurer) + { + int num2 = 2; + list7 = new List(num2); + CollectionsMarshal.SetCount(list7, num2); + Span span12 = CollectionsMarshal.AsSpan(list7); + span12[0] = 22; + span12[1] = 91; + } + else + { + int num2 = 4; + list7 = new List(num2); + CollectionsMarshal.SetCount(list7, num2); + Span span13 = CollectionsMarshal.AsSpan(list7); + span13[0] = 182; + span13[1] = 133; + span13[2] = 211; + span13[3] = 147; + } + reference6 = list7; + ref List reference7 = ref span[6]; + List list8; + if (eClassJob != EClassJob.Thaumaturge) + { + int num2 = 2; + list8 = new List(num2); + CollectionsMarshal.SetCount(list8, num2); + Span span14 = CollectionsMarshal.AsSpan(list8); + span14[0] = 345; + span14[1] = 348; + } + else + { + int num2 = 4; + list8 = new List(num2); + CollectionsMarshal.SetCount(list8, num2); + Span span15 = CollectionsMarshal.AsSpan(list8); + span15[0] = 183; + span15[1] = 344; + span15[2] = 346; + span15[3] = 349; + } + reference7 = list8; + ref List reference8 = ref span[7]; + List list9; + if (eClassJob != EClassJob.Arcanist) + { + int num2 = 2; + list9 = new List(num2); + CollectionsMarshal.SetCount(list9, num2); + Span span16 = CollectionsMarshal.AsSpan(list9); + span16[0] = 453; + span16[1] = 456; + } + else + { + int num2 = 4; + list9 = new List(num2); + CollectionsMarshal.SetCount(list9, num2); + Span span17 = CollectionsMarshal.AsSpan(list9); + span17[0] = 451; + span17[1] = 452; + span17[2] = 454; + span17[3] = 457; + } + reference8 = list9; + _cachedFirstClass = firstClass; + _cachedLockedClassQuests = (from x in list.SelectMany((List x) => x) + select new QuestId(x)).ToList(); + return _cachedLockedClassQuests; } - [MethodImpl(MethodImplOptions.NoInlining)] public void ApplySeasonalOverride(ElementId questId, bool isSeasonal, DateTime? expiry) { - IQuestInfo value; - int num = ((!_quests.TryGetValue(questId, out value)) ? 1563318805 : 1563318803); - QuestInfo questInfo = default(QuestInfo); - while (true) + if (_quests.TryGetValue(questId, out IQuestInfo value) && value is QuestInfo questInfo) { - int num2 = num; - int num3 = 1563318805; - int num4 = num2; - DateTime? obj; - DateTime? seasonalQuestExpiry; - switch ((num4 | num3) - (num4 & num3)) - { - case 9: - _200B_200E_202C_206C_200F_206A_206B_202E_206C_206C_206A_202C_202C_200B_200B_206D_206A_206C_202E_206A_206A_206C_206D_202B_202A_200D_200E_206F_206F_202C_206D_202C_206E_206C_200F_206B_202E_200E_202B_200F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(723364257), new object[1] { questId }); - return; - case 4: - num = (expiry.HasValue ? 1563318804 : 1563318813); - break; - case 7: - num = ((value == null) ? 1563318807 : 1563318806); - break; - case 6: - questInfo = value as QuestInfo; - num = ((questInfo == null) ? 1563318805 : 1563318801); - break; - case 1: - obj = ExpiryUtils.NormalizeExpiry(expiry.Value); - goto IL_010b; - case 5: - num = 1563318803; - break; - case 0: - num = ((!(value is UnlockLinkQuestInfo)) ? 1563318802 : 1563318812); - break; - case 8: - obj = null; - goto IL_010b; - case 3: - _200B_200E_202C_206C_200F_206A_206B_202E_206C_206C_206A_202C_202C_200B_200B_206D_206A_206C_202E_206A_206A_206C_206D_202B_202A_200D_200E_206F_206F_202C_206D_202C_206E_206C_200F_206B_202E_200E_202B_200F_202E((ILogger)_logger, 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(-1550302133), new object[2] - { - questId, - _206B_202D_206F_202B_206D_202D_200E_202E_206B_202D_200C_206A_202A_200B_202A_206C_202B_202A_202C_202E_202D_202A_202A_206B_200D_200E_206F_200F_202E_202C_206F_200E_202D_200E_206D_202C_200E_202B_206A_202E((MemberInfo)_206A_206E_206F_202B_200E_200C_206B_206B_200B_200F_206A_200E_200E_202A_202D_206A_206E_202B_206C_202C_202C_202E_200B_200E_200F_206E_202C_202A_202D_200F_206E_206B_200E_200C_200E_206B_200E_202A_200B_206D_202E((object)value)) - }); - return; - case 2: - { - _206A_200D_202A_202D_200D_202E_200E_206E_200C_206A_202C_206D_200C_202C_206D_200F_206C_200C_206B_202D_200C_200B_202B_206E_200E_202D_206E_202D_206A_202E_200B_206A_200E_202E_202E_202E_206F_202C_200B_206A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1273478229), new object[1] { questId }); - return; - } - IL_010b: - seasonalQuestExpiry = obj; - questInfo.IsSeasonalQuest = isSeasonal; - questInfo.SeasonalQuestExpiry = seasonalQuestExpiry; - return; - } + DateTime? seasonalQuestExpiry = (expiry.HasValue ? new DateTime?(ExpiryUtils.NormalizeExpiry(expiry.Value)) : ((DateTime?)null)); + questInfo.IsSeasonalQuest = isSeasonal; + questInfo.SeasonalQuestExpiry = seasonalQuestExpiry; + } + else if (value is UnlockLinkQuestInfo) + { + _logger.LogDebug("ApplySeasonalOverride: Quest {QuestId} is UnlockLinkQuestInfo (expiry handled at construction)", questId); + } + else if (value != null) + { + _logger.LogDebug("ApplySeasonalOverride: Quest {QuestId} is {Type}, seasonal override not applicable", questId, value.GetType().Name); + } + else + { + _logger.LogWarning("ApplySeasonalOverride: Quest {QuestId} not found in QuestData", questId); } } - [MethodImpl(MethodImplOptions.NoInlining)] public void AddOrReplaceQuestInfo(IQuestInfo info) { - _200D_206A_200E_202A_206F_202B_202E_202D_200F_202A_202A_202E_206A_206E_200F_202C_202D_202D_200E_206A_202C_200D_202A_202B_206A_206E_206E_206C_202C_200F_206A_200F_200F_206E_206C_206F_202B_202C_206C_206A_202E((object)info, 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(1327166408)); + ArgumentNullException.ThrowIfNull(info, "info"); _quests[info.QuestId] = info; - _200B_200E_202C_206C_200F_206A_206B_202E_206C_206C_206A_202C_202C_200B_200B_206D_206A_206C_202E_206A_206A_206C_206D_202B_202A_200D_200E_206F_206F_202C_206D_202C_206E_206C_200F_206B_202E_200E_202B_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(653660238), new object[1] { info.QuestId }); + _logger.LogDebug("Added or replaced QuestInfo for {QuestId} in QuestData", info.QuestId); } static QuestData() @@ -2385,105 +1360,51 @@ internal sealed class QuestData span29[2] = 5178; span29[3] = 5179; dictionary.Add(1192u, list29); - AetherCurrentQuestsByTerritory = dictionary.ToImmutableDictionary((KeyValuePair> x) => x.Key, (KeyValuePair> x) => x.Value.Select((ushort y) => _003C_003Ec._202E_202A_202C_200E_200C_200E_202C_206E_206A_200B_202D_200D_206A_202D_202E_202B_206F_200F_206A_202A_206C_206F_206C_202D_200D_202B_206A_200C_206D_202B_200E_200C_200E_202E_202D_202A_202A_206F_202E_200F_202E(y)).ToImmutableList()); + AetherCurrentQuestsByTerritory = dictionary.ToImmutableDictionary((KeyValuePair> x) => x.Key, (KeyValuePair> x) => x.Value.Select((ushort y) => new QuestId(y)).ToImmutableList()); AetherCurrentQuests = AetherCurrentQuestsByTerritory.Values.SelectMany((ImmutableList x) => x).ToImmutableHashSet(); - uint[] array = new uint[3]; - _202E_200D_202B_202D_200C_206B_206F_200F_206A_202B_200F_200B_202A_200E_206A_200D_206C_200F_202D_200B_200B_200C_200D_206D_200B_202C_200D_206F_206B_206B_200B_200D_200F_202B_202B_206D_200D_200D_206B_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - TankRoleQuestChapters = new global::_003C_003Ez__ReadOnlyArray(array); - uint[] array2 = new uint[3]; - _202E_200D_202B_202D_200C_206B_206F_200F_206A_202B_200F_200B_202A_200E_206A_200D_206C_200F_202D_200B_200B_200C_200D_206D_200B_202C_200D_206F_206B_206B_200B_200D_200F_202B_202B_206D_200D_200D_206B_202E((Array)array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - HealerRoleQuestChapters = new global::_003C_003Ez__ReadOnlyArray(array2); - uint[] array3 = new uint[3]; - _202E_200D_202B_202D_200C_206B_206F_200F_206A_202B_200F_200B_202A_200E_206A_200D_206C_200F_202D_200B_200B_200C_200D_206D_200B_202C_200D_206F_206B_206B_200B_200D_200F_202B_202B_206D_200D_200D_206B_202E((Array)array3, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - MeleeRoleQuestChapters = new global::_003C_003Ez__ReadOnlyArray(array3); - uint[] array4 = new uint[3]; - _202E_200D_202B_202D_200C_206B_206F_200F_206A_202B_200F_200B_202A_200E_206A_200D_206C_200F_202D_200B_200B_200C_200D_206D_200B_202C_200D_206F_206B_206B_200B_200D_200F_202B_202B_206D_200D_200D_206B_202E((Array)array4, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - PhysicalRangedRoleQuestChapters = new global::_003C_003Ez__ReadOnlyArray(array4); - uint[] array5 = new uint[3]; - _202E_200D_202B_202D_200C_206B_206F_200F_206A_202B_200F_200B_202A_200E_206A_200D_206C_200F_202D_200B_200B_200C_200D_206D_200B_202C_200D_206F_206B_206B_200B_200D_200F_202B_202B_206D_200D_200D_206B_202E((Array)array5, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - CasterRoleQuestChapters = new global::_003C_003Ez__ReadOnlyArray(array5); + TankRoleQuestChapters = new global::_003C_003Ez__ReadOnlyArray(new uint[3] { 136u, 154u, 178u }); + HealerRoleQuestChapters = new global::_003C_003Ez__ReadOnlyArray(new uint[3] { 137u, 155u, 179u }); + MeleeRoleQuestChapters = new global::_003C_003Ez__ReadOnlyArray(new uint[3] { 138u, 156u, 180u }); + PhysicalRangedRoleQuestChapters = new global::_003C_003Ez__ReadOnlyArray(new uint[3] { 138u, 157u, 181u }); + CasterRoleQuestChapters = new global::_003C_003Ez__ReadOnlyArray(new uint[3] { 139u, 158u, 182u }); AllRoleQuestChapters = new global::_003C_003Ez__ReadOnlyArray>(new IReadOnlyList[5] { TankRoleQuestChapters, HealerRoleQuestChapters, MeleeRoleQuestChapters, PhysicalRangedRoleQuestChapters, CasterRoleQuestChapters }); FinalShadowbringersRoleQuests = new global::_003C_003Ez__ReadOnlyArray(new QuestId[4] { - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)3248), - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)3272), - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)3278), - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)3628) + new QuestId(3248), + new QuestId(3272), + new QuestId(3278), + new QuestId(3628) }); TankData = new RoleQuestData(TankRoleQuestChapters, new global::_003C_003Ez__ReadOnlyArray(new QuestId[3] { - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)3248), - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)4107), - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)4823) - }), (EClassJob j) => _003C_003Ec._206F_206E_206F_206F_200F_200B_202C_202C_206B_202E_206F_202A_206E_206B_202D_206D_206A_200F_200C_206A_206B_200B_202A_202D_202E_202D_200E_202A_200F_200C_202D_200D_200F_200D_200E_200E_200F_200E_206D_206A_202E(j)); + new QuestId(3248), + new QuestId(4107), + new QuestId(4823) + }), (EClassJob j) => j.IsTank()); HealerData = new RoleQuestData(HealerRoleQuestChapters, new global::_003C_003Ez__ReadOnlyArray(new QuestId[3] { - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)3272), - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)4113), - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)4829) - }), (EClassJob j) => _003C_003Ec._200E_202D_202A_200E_202E_206C_202D_200B_200B_206E_202E_206A_206C_200B_200D_200F_200B_200C_202D_206A_200C_206A_200F_200D_202B_206F_206F_200C_200B_202D_206E_206E_200E_202A_202E_206C_200E_206C_202B_206D_202E(j)); + new QuestId(3272), + new QuestId(4113), + new QuestId(4829) + }), (EClassJob j) => j.IsHealer()); MeleeData = new RoleQuestData(MeleeRoleQuestChapters, new global::_003C_003Ez__ReadOnlyArray(new QuestId[3] { - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)3278), - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)4119), - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)4835) - }), delegate(EClassJob j) - { - int num2 = ((!_003C_003Ec._202A_200F_202A_206C_206D_202C_206A_200E_206F_200B_202C_202D_206D_200E_206C_206F_200F_206B_206D_200C_206B_202D_200C_206D_202C_200B_200C_202D_206B_200B_206F_206F_206B_200D_202E_206B_200C_202A_202E_202C_202E(j)) ? 218387131 : 218387128); - while (true) - { - int num3 = num2; - int num4 = 218387129; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 0: - goto IL_0048; - case 1: - return j != EClassJob.Beastmaster; - case 2: - return false; - } - continue; - IL_0048: - num2 = 218387128; - } - }); + new QuestId(3278), + new QuestId(4119), + new QuestId(4835) + }), (EClassJob j) => j.IsMelee() && j != EClassJob.Beastmaster); PhysicalRangedData = new RoleQuestData(PhysicalRangedRoleQuestChapters, new global::_003C_003Ez__ReadOnlyArray(new QuestId[3] { - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)3278), - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)4125), - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)4841) - }), (EClassJob j) => _003C_003Ec._200B_206B_202A_206E_200D_206B_200F_202A_206D_200E_200E_202E_200B_206A_206F_202A_206F_200E_202D_200C_206F_202A_202D_202C_202B_206A_202D_206B_200D_202D_202E_206D_200F_206C_200C_200E_200D_202C_206E_200D_202E(j)); + new QuestId(3278), + new QuestId(4125), + new QuestId(4841) + }), (EClassJob j) => j.IsPhysicalRanged()); CasterData = new RoleQuestData(CasterRoleQuestChapters, new global::_003C_003Ez__ReadOnlyArray(new QuestId[3] { - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)3628), - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)4131), - _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E((ushort)4847) - }), delegate(EClassJob j) - { - int num2 = ((!_003C_003Ec._200F_202B_206C_200B_202A_206D_200D_202E_200C_206C_206F_206D_200B_202D_200F_206E_202E_200B_206C_206C_202A_206D_202B_206B_200B_206B_200F_202D_200F_202A_206B_202A_200D_200F_206D_202D_206A_202C_202D_202D_202E(j)) ? (-542512) : (-542509)); - while (true) - { - int num3 = num2; - int num4 = -542511; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - goto IL_0046; - case 1: - return false; - case 2: - return j != EClassJob.BlueMage; - } - continue; - IL_0046: - num2 = -542509; - } - }); + new QuestId(3628), + new QuestId(4131), + new QuestId(4847) + }), (EClassJob j) => j.IsCaster() && j != EClassJob.BlueMage); RoleDataByPreference = new Dictionary { [ERoleQuestPreference.Tank] = TankData, @@ -2495,69 +1416,4 @@ internal sealed class QuestData AllRoleData = new global::_003C_003Ez__ReadOnlyArray(new RoleQuestData[5] { TankData, HealerData, MeleeData, PhysicalRangedData, CasterData }); _cachedLockedClassQuests = new List(); } - - static ushort _206D_202C_206E_206A_206E_202C_206E_200E_202D_202E_202A_202A_206C_200E_200E_206C_202D_206E_206B_206F_200E_200D_200E_202D_200F_202A_200D_200C_202E_200D_206E_206C_206D_206F_202E_200E_206F_202D_200F_206D_202E(ElementId P_0) - { - return P_0.Value; - } - - static ArgumentNullException _202E_206B_200E_206E_206A_206D_206A_206B_206C_202D_202E_202E_200B_200E_206E_206E_202E_200F_202E_206C_206C_206F_202D_200B_206A_206A_200C_202B_206B_206A_206A_202D_202B_202B_200E_200B_206F_200E_202C_202E_202E(string P_0) - { - return new ArgumentNullException(P_0); - } - - static bool _202D_200C_206B_200B_206A_202D_200C_200C_206B_206D_206C_200D_202C_202A_200E_200E_206F_202D_206A_200B_202C_200E_206D_202B_200D_206A_202C_200E_206F_200D_206A_202D_202C_202C_202E_206B_200D_202E_206D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200E_202B_206F_202C_206E_200C_206B_206B_206A_206A_202D_202E_202B_202E_200F_200C_200E_206F_200F_202C_202E_206D_206B_202E_206D_200B_200F_206D_206C_206B_200B_202A_206F_206A_202C_202B_202A_202E_200E_200C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _200B_200E_202C_206C_200F_206A_206B_202E_206C_206C_206A_202C_202C_200B_200B_206D_206A_206C_202E_206A_206A_206C_206D_202B_202A_200D_200E_206F_206F_202C_206D_202C_206E_206C_200F_206B_202E_200E_202B_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static void _202E_200D_202B_202D_200C_206B_206F_200F_206A_202B_200F_200B_202A_200E_206A_200D_206C_200F_202D_200B_200B_200C_200D_206D_200B_202C_200D_206F_206B_206B_200B_200D_200F_202B_202B_206D_200D_200D_206B_202E(Array P_0, RuntimeFieldHandle P_1) - { - RuntimeHelpers.InitializeArray(P_0, P_1); - } - - static QuestId _200C_202D_202E_200C_206F_202E_202A_202D_206B_206B_200E_202B_202C_206B_206F_206D_206E_202C_200B_200E_206D_200B_200C_202E_202D_200E_202D_206F_202E_200D_202E_206A_206F_206A_200E_202C_200E_206E_200B_206C_202E(ushort P_0) - { - return new QuestId(P_0); - } - - static void _206A_200D_202A_202D_200D_202E_200E_206E_200C_206A_202C_206D_200C_202C_206D_200F_206C_200C_206B_202D_200C_200B_202B_206E_200E_202D_206E_202D_206A_202E_200B_206A_200E_202E_202E_202E_206F_202C_200B_206A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static ArgumentOutOfRangeException _202D_200B_200E_202B_200D_200F_206E_206D_202B_202A_200C_202A_202C_206F_206F_206F_200D_200B_200C_200F_202A_200C_200F_206F_200F_206F_202D_200F_202D_206E_202E_202A_202A_202B_200F_202B_200B_200F_202B_206F_202E(string P_0) - { - return new ArgumentOutOfRangeException(P_0); - } - - static byte _202A_202D_200C_202C_202D_206D_202C_200D_202C_200F_202E_202C_202B_206E_200F_202B_206A_200B_206D_202B_206C_206A_200C_200F_202D_200C_206B_206E_206F_206D_200D_202C_206F_206E_200D_206C_200B_202C_206D_202C_202E() - { - return PlayerStateHelper.GetFirstClass(); - } - - static Type _206A_206E_206F_202B_200E_200C_206B_206B_200B_200F_206A_200E_200E_202A_202D_206A_206E_202B_206C_202C_202C_202E_200B_200E_200F_206E_202C_202A_202D_200F_206E_206B_200E_200C_200E_206B_200E_202A_200B_206D_202E(object P_0) - { - return P_0.GetType(); - } - - static string _206B_202D_206F_202B_206D_202D_200E_202E_206B_202D_200C_206A_202A_200B_202A_206C_202B_202A_202C_202E_202D_202A_202A_206B_200D_200E_206F_200F_202E_202C_206F_200E_202D_200E_206D_202C_200E_202B_206A_202E(MemberInfo P_0) - { - return P_0.Name; - } - - static void _200D_206A_200E_202A_206F_202B_202E_202D_200F_202A_202A_202E_206A_206E_200F_202C_202D_202D_200E_206A_202C_200D_202A_202B_206A_206E_206E_206C_202C_200F_206A_200F_200F_206E_206C_206F_202B_202C_206C_206A_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } } diff --git a/Questionable/Questionable.Data/SinglePlayerDutyEntry.cs b/Questionable/Questionable.Data/SinglePlayerDutyEntry.cs index 53c1150..baab17f 100644 --- a/Questionable/Questionable.Data/SinglePlayerDutyEntry.cs +++ b/Questionable/Questionable.Data/SinglePlayerDutyEntry.cs @@ -1,153 +1,3 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; - namespace Questionable.Data; -public record SinglePlayerDutyEntry(bool Enabled, byte Index = 0, string? TestedBossModVersion = null, params string[] Notes) -{ - [CompilerGenerated] - protected virtual Type EqualityContract - { - [CompilerGenerated] - get - { - return _206E_206F_202E_202C_206D_206A_206B_206A_202C_200E_202D_206B_202E_202A_206C_200E_200D_206F_202A_206D_202B_202D_202A_200D_202C_200C_206B_206C_200C_200E_200F_200B_206B_206F_200C_206B_202B_206D_202C_202D_202E(typeof(SinglePlayerDutyEntry).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202B_206E_202E_206B_200E_200E_206B_202E_202D_206A_206B_202E_200D_206E_202A_202C_202A_200F_206E_200B_206F_206B_200F_202C_200C_202E_200D_202B_206E_206F_202D_206A_202D_202B_200C_206E_206D_206B_202B_200E_202E(); - _202A_206E_206D_200F_206E_202E_206A_200F_202E_206E_202C_206F_200B_200D_200B_206F_200D_200D_200B_200E_202B_202D_206F_202B_202D_202E_206C_202A_202B_202B_202A_200E_202C_206B_206C_206E_206B_206B_206B_202D_202E(stringBuilder, 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(1555815973)); - _202A_206E_206D_200F_206E_202E_206A_200F_202E_206E_202C_206F_200B_200D_200B_206F_200D_200D_200B_200E_202B_202D_206F_202B_202D_202E_206C_202A_202B_202B_202A_200E_202C_206B_206C_206E_206B_206B_206B_202D_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(556540328)); - int num = ((!PrintMembers(stringBuilder)) ? 1051941251 : 1051941250); - while (true) - { - int num2 = num; - int num3 = 1051941251; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 1051941250; - break; - case 0: - _206B_202E_202C_206C_200D_202C_202D_206F_206A_202A_200E_206B_206C_202A_206C_202B_202A_206C_202A_202D_202D_206A_206B_202C_202A_206D_200B_206B_206A_202A_200E_200E_206E_200C_202B_200E_202C_206B_206D_202C_202E(stringBuilder, '}'); - return _202D_202A_200E_206B_206F_202C_200B_202E_206F_206C_200B_202C_206E_206A_206B_206B_206A_206A_206A_202E_202A_200C_206B_200D_202C_202E_206E_200D_200B_206E_206F_202D_200C_206A_206B_200B_200F_206B_202C_206D_202E((object)stringBuilder); - case 1: - _206B_202E_202C_206C_200D_202C_202D_206F_206A_202A_200E_206B_206C_202A_206C_202B_202A_206C_202A_202D_202D_206A_206B_202C_202A_206D_200B_206B_206A_202A_200E_200E_206E_200C_202B_200E_202C_206B_206D_202C_202E(stringBuilder, ' '); - num = 1051941251; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected virtual bool PrintMembers(StringBuilder builder) - { - _206E_206C_200E_206B_202D_206B_206F_200E_200C_202D_202E_206F_200D_206D_206B_200E_206E_200C_206A_206E_202B_202D_202B_200B_206D_206F_206E_206F_202B_206E_200C_202E_206F_206A_206D_206C_206F_206D_202B_200F_202E(); - _202A_206E_206D_200F_206E_202E_206A_200F_202E_206E_202C_206F_200B_200D_200B_206F_200D_200D_200B_200E_202B_202D_206F_202B_202D_202E_206C_202A_202B_202B_202A_200E_202C_206B_206C_206E_206B_206B_206B_202D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(40320486)); - _202A_206E_206D_200F_206E_202E_206A_200F_202E_206E_202C_206F_200B_200D_200B_206F_200D_200D_200B_200E_202B_202D_206F_202B_202D_202E_206C_202A_202B_202B_202A_200E_202C_206B_206C_206E_206B_206B_206B_202D_202E(builder, Enabled.ToString()); - _202A_206E_206D_200F_206E_202E_206A_200F_202E_206E_202C_206F_200B_200D_200B_206F_200D_200D_200B_200E_202B_202D_206F_202B_202D_202E_206C_202A_202B_202B_202A_200E_202C_206B_206C_206E_206B_206B_206B_202D_202E(builder, 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(137168657)); - _202A_206E_206D_200F_206E_202E_206A_200F_202E_206E_202C_206F_200B_200D_200B_206F_200D_200D_200B_200E_202B_202D_206F_202B_202D_202E_206C_202A_202B_202B_202A_200E_202C_206B_206C_206E_206B_206B_206B_202D_202E(builder, Index.ToString()); - _202A_206E_206D_200F_206E_202E_206A_200F_202E_206E_202C_206F_200B_200D_200B_206F_200D_200D_200B_200E_202B_202D_206F_202B_202D_202E_206C_202A_202B_202B_202A_200E_202C_206B_206C_206E_206B_206B_206B_202D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1918947748)); - _206E_206D_206F_202A_206F_206B_202B_200E_202C_202D_200D_200D_202A_206E_202B_200B_202C_206B_200D_202B_202D_202C_202D_206A_202B_200F_200E_200E_206B_202B_202E_202E_202C_206A_206B_206B_200C_206D_206C_202D_202E(builder, (object)TestedBossModVersion); - _202A_206E_206D_200F_206E_202E_206A_200F_202E_206E_202C_206F_200B_200D_200B_206F_200D_200D_200B_200E_202B_202D_206F_202B_202D_202E_206C_202A_202B_202B_202A_200E_202C_206B_206C_206E_206B_206B_206B_202D_202E(builder, 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(-209221941)); - _206E_206D_206F_202A_206F_206B_202B_200E_202C_202D_200D_200D_202A_206E_202B_200B_202C_206B_200D_202B_202D_202C_202D_206A_202B_200F_200E_200E_206B_202B_202E_202E_202C_206A_206B_206B_200C_206D_206C_202D_202E(builder, (object)Notes); - return true; - } - - [CompilerGenerated] - public virtual bool Equals(SinglePlayerDutyEntry? other) - { - int num = (((object)this == other) ? (-1523277809) : (-1523277819)); - while (true) - { - int num2 = num; - int num3 = -1523277811; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - num = ((!EqualityComparer.Default.Equals(Enabled, other.Enabled)) ? (-1523277814) : (-1523277813)); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(Index, other.Index)) ? (-1523277814) : (-1523277810)); - break; - case 8: - num = (((object)other == null) ? (-1523277814) : (-1523277812)); - break; - case 0: - num = -1523277819; - break; - case 7: - return false; - case 4: - return EqualityComparer.Default.Equals(Notes, other.Notes); - case 1: - num = ((!_206E_200C_202D_200E_200F_200E_206A_202A_206A_206E_200F_206D_206F_206E_206D_200F_206B_202E_206C_202E_206B_202B_200D_202B_202E_200D_200F_202E_202E_200B_200D_202D_206B_202B_200D_202A_206F_202A_202D_202D_202E(EqualityContract, other.EqualityContract)) ? (-1523277814) : (-1523277816)); - break; - case 2: - return true; - case 3: - num = ((!EqualityComparer.Default.Equals(TestedBossModVersion, other.TestedBossModVersion)) ? (-1523277814) : (-1523277815)); - break; - } - } - } - - bool IEquatable.Equals(SinglePlayerDutyEntry? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206E_206F_202E_202C_206D_206A_206B_206A_202C_200E_202D_206B_202E_202A_206C_200E_200D_206F_202A_206D_202B_202D_202A_200D_202C_200C_206B_206C_200C_200E_200F_200B_206B_206F_200C_206B_202B_206D_202C_202D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202B_206E_202E_206B_200E_200E_206B_202E_202D_206A_206B_202E_200D_206E_202A_202C_202A_200F_206E_200B_206F_206B_200F_202C_200C_202E_200D_202B_206E_206F_202D_206A_202D_202B_200C_206E_206D_206B_202B_200E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202A_206E_206D_200F_206E_202E_206A_200F_202E_206E_202C_206F_200B_200D_200B_206F_200D_200D_200B_200E_202B_202D_206F_202B_202D_202E_206C_202A_202B_202B_202A_200E_202C_206B_206C_206E_206B_206B_206B_202D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206B_202E_202C_206C_200D_202C_202D_206F_206A_202A_200E_206B_206C_202A_206C_202B_202A_206C_202A_202D_202D_206A_206B_202C_202A_206D_200B_206B_206A_202A_200E_200E_206E_200C_202B_200E_202C_206B_206D_202C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202D_202A_200E_206B_206F_202C_200B_202E_206F_206C_200B_202C_206E_206A_206B_206B_206A_206A_206A_202E_202A_200C_206B_200D_202C_202E_206E_200D_200B_206E_206F_202D_200C_206A_206B_200B_200F_206B_202C_206D_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206E_206C_200E_206B_202D_206B_206F_200E_200C_202D_202E_206F_200D_206D_206B_200E_206E_200C_206A_206E_202B_202D_202B_200B_206D_206F_206E_206F_202B_206E_200C_202E_206F_206A_206D_206C_206F_206D_202B_200F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206E_206D_206F_202A_206F_206B_202B_200E_202C_202D_200D_200D_202A_206E_202B_200B_202C_206B_200D_202B_202D_202C_202D_206A_202B_200F_200E_200E_206B_202B_202E_202E_202C_206A_206B_206B_200C_206D_206C_202D_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206E_200C_202D_200E_200F_200E_206A_202A_206A_206E_200F_206D_206F_206E_206D_200F_206B_202E_206C_202E_206B_202B_200D_202B_202E_200D_200F_202E_202E_200B_200D_202D_206B_202B_200D_202A_206F_202A_202D_202D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +public record SinglePlayerDutyEntry(bool Enabled, byte Index = 0, string? TestedBossModVersion = null, params string[] Notes); diff --git a/Questionable/Questionable.Data/TerritoryData.cs b/Questionable/Questionable.Data/TerritoryData.cs index cf6ae35..ddf1626 100644 --- a/Questionable/Questionable.Data/TerritoryData.cs +++ b/Questionable/Questionable.Data/TerritoryData.cs @@ -1,20 +1,15 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Collections.Immutable; -using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.Linq; using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Game; -using Dalamud.Game.Text.SeStringHandling; using Dalamud.Plugin.Services; using Dalamud.Utility; using Lumina.Excel; using Lumina.Excel.Sheets; -using Lumina.Text.ReadOnly; using Microsoft.Extensions.Logging; using Questionable.Model.Questing; using SmartNav; @@ -23,837 +18,14 @@ namespace Questionable.Data; internal sealed class TerritoryData : ITerritoryInfo { - public readonly record struct ZoneAccessRequirement(byte RequirementType, uint QuestRowId, uint RequiredSequence) - { - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200B_202D_202A_206D_200B_206B_200E_206D_200F_202E_206F_202D_206D_200E_206E_202C_200F_206D_200F_200F_202A_202C_200B_206C_206B_202B_202A_200D_202A_206D_206A_206E_200D_206F_202D_206F_200E_200E_206A_206F_202E(); - _202E_206B_202D_206C_200C_206B_202E_202C_206E_202A_200D_202A_202E_202D_200D_206C_206C_200B_200B_206E_202B_200C_206C_200C_206A_200E_200B_206E_206F_206B_206C_200B_206C_202D_206D_200E_202C_200B_206E_202E_202E(stringBuilder, 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(-937976859)); - _202E_206B_202D_206C_200C_206B_202E_202C_206E_202A_200D_202A_202E_202D_200D_206C_206C_200B_200B_206E_202B_200C_206C_200C_206A_200E_200B_206E_206F_206B_206C_200B_206C_202D_206D_200E_202C_200B_206E_202E_202E(stringBuilder, 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(117284107)); - int num = ((!PrintMembers(stringBuilder)) ? (-993371309) : (-993371312)); - while (true) - { - int num2 = num; - int num3 = -993371311; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - _200B_202C_200F_202D_202C_206C_202E_206E_200D_200F_206B_206D_202C_206A_202C_206E_206D_200B_206B_200C_200C_200D_200F_202A_206A_206A_202E_200E_202C_200F_200C_202B_206F_202C_200F_206A_202B_206E_206C_206B_202E(stringBuilder, '}'); - return _206C_200E_200C_200D_202A_206E_200E_200D_200D_202B_200B_200E_202C_200B_200D_202C_206C_206A_206D_200F_206B_200E_202A_206D_202A_200B_202D_206B_206C_206F_206D_206D_202A_200E_200C_200B_206F_206B_202A_202D_202E((object)stringBuilder); - case 1: - _200B_202C_200F_202D_202C_206C_202E_206E_200D_200F_206B_206D_202C_206A_202C_206E_206D_200B_206B_200C_200C_200D_200F_202A_206A_206A_202E_200E_202C_200F_200C_202B_206F_202C_200F_206A_202B_206E_206C_206B_202E(stringBuilder, ' '); - num = -993371309; - break; - case 0: - num = -993371312; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202E_206B_202D_206C_200C_206B_202E_202C_206E_202A_200D_202A_202E_202D_200D_206C_206C_200B_200B_206E_202B_200C_206C_200C_206A_200E_200B_206E_206F_206B_206C_200B_206C_202D_206D_200E_202C_200B_206E_202E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1954192503)); - _202E_206B_202D_206C_200C_206B_202E_202C_206E_202A_200D_202A_202E_202D_200D_206C_206C_200B_200B_206E_202B_200C_206C_200C_206A_200E_200B_206E_206F_206B_206C_200B_206C_202D_206D_200E_202C_200B_206E_202E_202E(builder, RequirementType.ToString()); - _202E_206B_202D_206C_200C_206B_202E_202C_206E_202A_200D_202A_202E_202D_200D_206C_206C_200B_200B_206E_202B_200C_206C_200C_206A_200E_200B_206E_206F_206B_206C_200B_206C_202D_206D_200E_202C_200B_206E_202E_202E(builder, 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(-713705911)); - _202E_206B_202D_206C_200C_206B_202E_202C_206E_202A_200D_202A_202E_202D_200D_206C_206C_200B_200B_206E_202B_200C_206C_200C_206A_200E_200B_206E_206F_206B_206C_200B_206C_202D_206D_200E_202C_200B_206E_202E_202E(builder, QuestRowId.ToString()); - _202E_206B_202D_206C_200C_206B_202E_202C_206E_202A_200D_202A_202E_202D_200D_206C_206C_200B_200B_206E_202B_200C_206C_200C_206A_200E_200B_206E_206F_206B_206C_200B_206C_202D_206D_200E_202C_200B_206E_202E_202E(builder, 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(-978414308)); - _202E_206B_202D_206C_200C_206B_202E_202C_206E_202A_200D_202A_202E_202D_200D_206C_206C_200B_200B_206E_202B_200C_206C_200C_206A_200E_200B_206E_206F_206B_206C_200B_206C_202D_206D_200E_202C_200B_206E_202E_202E(builder, RequiredSequence.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(ZoneAccessRequirement other) - { - int num = ((!EqualityComparer.Default.Equals(RequirementType, other.RequirementType)) ? (-1739069183) : (-1739069182)); - while (true) - { - int num2 = num; - int num3 = -1739069181; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return false; - case 3: - return EqualityComparer.Default.Equals(RequiredSequence, other.RequiredSequence); - case 1: - num = ((!EqualityComparer.Default.Equals(QuestRowId, other.QuestRowId)) ? (-1739069183) : (-1739069184)); - break; - case 0: - num = -1739069182; - break; - } - } - } - - bool IEquatable.Equals(ZoneAccessRequirement other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _200B_202D_202A_206D_200B_206B_200E_206D_200F_202E_206F_202D_206D_200E_206E_202C_200F_206D_200F_200F_202A_202C_200B_206C_206B_202B_202A_200D_202A_206D_206A_206E_200D_206F_202D_206F_200E_200E_206A_206F_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202E_206B_202D_206C_200C_206B_202E_202C_206E_202A_200D_202A_202E_202D_200D_206C_206C_200B_200B_206E_202B_200C_206C_200C_206A_200E_200B_206E_206F_206B_206C_200B_206C_202D_206D_200E_202C_200B_206E_202E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200B_202C_200F_202D_202C_206C_202E_206E_200D_200F_206B_206D_202C_206A_202C_206E_206D_200B_206B_200C_200C_200D_200F_202A_206A_206A_202E_200E_202C_200F_200C_202B_206F_202C_200F_206A_202B_206E_206C_206B_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206C_200E_200C_200D_202A_206E_200E_200D_200D_202B_200B_200E_202C_200B_200D_202C_206C_206A_206D_200F_206B_200E_202A_206D_202A_200B_202D_206B_206C_206F_206D_206D_202A_200E_200C_200B_206F_206B_202A_202D_202E(object P_0) - { - return P_0.ToString(); - } - } + public readonly record struct ZoneAccessRequirement(byte RequirementType, uint QuestRowId, uint RequiredSequence); public sealed record ContentFinderConditionData(uint ContentFinderConditionId, string Name, uint TerritoryId, ushort RequiredItemLevel, byte ClassJobLevelSync, bool AllowUndersized, bool IsDungeon) { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202A_200D_202E_206D_206A_202D_206B_206A_206C_206F_206D_202C_206B_202A_206A_200F_200E_206D_202A_202B_200F_206E_200B_206F_200F_206F_206B_206D_200C_202C_206D_200F_202E_200E_206E_202C_206B_200F_202B_206E_202E(typeof(ContentFinderConditionData).TypeHandle); - } - } - public ContentFinderConditionData(ContentFinderCondition condition, ClientLanguage clientLanguage) - : this(condition.RowId, FixName(_206F_202A_206D_202D_202B_206E_206A_202C_206F_200E_202A_200F_200C_206A_202D_202B_202A_206E_200C_206D_200B_202E_200C_200D_202D_200E_202D_206C_202B_206D_200C_202C_206A_200B_200E_202D_200C_200C_200B_200D_202E((object)_200C_206D_206D_206C_206A_200E_206D_202E_206A_206E_206F_206B_200C_202E_200D_202D_206D_200C_206B_206B_206C_206E_200E_202D_206B_206B_202C_200B_202B_200D_202C_200F_202B_206C_200F_206B_200E_202E_206A_202D_202E(condition.Name)), clientLanguage), condition.TerritoryType.RowId, condition.ItemLevelRequired, condition.ClassJobLevelSync, condition.AllowUndersized, condition.ContentType.RowId == 2) + : this(condition.RowId, FixName(condition.Name.ToDalamudString().ToString(), clientLanguage), condition.TerritoryType.RowId, condition.ItemLevelRequired, condition.ClassJobLevelSync, condition.AllowUndersized, condition.ContentType.RowId == 2) { } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202E_206B_206D_200B_200E_200B_206B_200B_202E_206D_206A_206C_200E_206E_206D_202C_200E_202C_200C_202B_202C_206E_200D_202C_206F_206F_206B_202E_202A_202B_200F_206C_206B_202C_206C_202D_200B_202E_200F_200C_202E(); - _206B_202C_200D_206D_202D_200C_200D_200C_206B_206E_202C_200C_206A_206C_206D_206A_202A_200E_202E_202C_202A_206C_206A_206E_200D_200D_206F_206F_202D_206C_206D_206A_206C_206E_206A_202C_202D_200C_200B_206D_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(547092396)); - _206B_202C_200D_206D_202D_200C_200D_200C_206B_206E_202C_200C_206A_206C_206D_206A_202A_200E_202E_202C_202A_206C_206A_206E_200D_200D_206F_206F_202D_206C_206D_206A_206C_206E_206A_202C_202D_200C_200B_206D_202E(stringBuilder, 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(117284107)); - int num = ((!PrintMembers(stringBuilder)) ? (-2102036049) : (-2102036052)); - while (true) - { - int num2 = num; - int num3 = -2102036051; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - _206E_206F_200C_200B_200F_206D_202B_200F_202C_202E_206C_206E_206B_200B_202C_202A_206A_200B_202D_200F_202A_200B_200B_206E_206D_206A_200D_206C_200D_206C_200B_200F_200B_202D_202D_200D_206F_202A_202A_202C_202E(stringBuilder, '}'); - return _206F_202A_206D_202D_202B_206E_206A_202C_206F_200E_202A_200F_200C_206A_202D_202B_202A_206E_200C_206D_200B_202E_200C_200D_202D_200E_202D_206C_202B_206D_200C_202C_206A_200B_200E_202D_200C_200C_200B_200D_202E((object)stringBuilder); - case 1: - _206E_206F_200C_200B_200F_206D_202B_200F_202C_202E_206C_206E_206B_200B_202C_202A_206A_200B_202D_200F_202A_200B_200B_206E_206D_206A_200D_206C_200D_206C_200B_200F_200B_202D_202D_200D_206F_202A_202A_202C_202E(stringBuilder, ' '); - num = -2102036049; - break; - case 0: - num = -2102036052; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206D_206E_200B_202C_202A_206B_206F_202D_200B_202E_206E_202B_202B_206F_202B_206E_200E_202C_202E_200C_206A_200D_202E_206E_200D_202B_206F_206A_200C_206F_200F_206C_202C_200F_202E_202A_202D_202A_206D_202C_202E(); - _206B_202C_200D_206D_202D_200C_200D_200C_206B_206E_202C_200C_206A_206C_206D_206A_202A_200E_202E_202C_202A_206C_206A_206E_200D_200D_206F_206F_202D_206C_206D_206A_206C_206E_206A_202C_202D_200C_200B_206D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-547124860)); - _206B_202C_200D_206D_202D_200C_200D_200C_206B_206E_202C_200C_206A_206C_206D_206A_202A_200E_202E_202C_202A_206C_206A_206E_200D_200D_206F_206F_202D_206C_206D_206A_206C_206E_206A_202C_202D_200C_200B_206D_202E(builder, ContentFinderConditionId.ToString()); - _206B_202C_200D_206D_202D_200C_200D_200C_206B_206E_202C_200C_206A_206C_206D_206A_202A_200E_202E_202C_202A_206C_206A_206E_200D_200D_206F_206F_202D_206C_206D_206A_206C_206E_206A_202C_202D_200C_200B_206D_202E(builder, 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(-838515035)); - _206A_200E_202B_200B_202B_200B_200E_202B_202A_202E_206B_202A_200F_202E_206C_200E_202D_206D_202C_200B_200F_200E_206A_200C_200C_200B_202D_200B_200F_206D_202A_200B_206B_202B_206E_206B_200C_202E_206E_202D_202E(builder, (object)Name); - _206B_202C_200D_206D_202D_200C_200D_200C_206B_206E_202C_200C_206A_206C_206D_206A_202A_200E_202E_202C_202A_206C_206A_206E_200D_200D_206F_206F_202D_206C_206D_206A_206C_206E_206A_202C_202D_200C_200B_206D_202E(builder, 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(-1428648191)); - _206B_202C_200D_206D_202D_200C_200D_200C_206B_206E_202C_200C_206A_206C_206D_206A_202A_200E_202E_202C_202A_206C_206A_206E_200D_200D_206F_206F_202D_206C_206D_206A_206C_206E_206A_202C_202D_200C_200B_206D_202E(builder, TerritoryId.ToString()); - _206B_202C_200D_206D_202D_200C_200D_200C_206B_206E_202C_200C_206A_206C_206D_206A_202A_200E_202E_202C_202A_206C_206A_206E_200D_200D_206F_206F_202D_206C_206D_206A_206C_206E_206A_202C_202D_200C_200B_206D_202E(builder, 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(-1772539499)); - _206B_202C_200D_206D_202D_200C_200D_200C_206B_206E_202C_200C_206A_206C_206D_206A_202A_200E_202E_202C_202A_206C_206A_206E_200D_200D_206F_206F_202D_206C_206D_206A_206C_206E_206A_202C_202D_200C_200B_206D_202E(builder, RequiredItemLevel.ToString()); - _206B_202C_200D_206D_202D_200C_200D_200C_206B_206E_202C_200C_206A_206C_206D_206A_202A_200E_202E_202C_202A_206C_206A_206E_200D_200D_206F_206F_202D_206C_206D_206A_206C_206E_206A_202C_202D_200C_200B_206D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2071172515)); - _206B_202C_200D_206D_202D_200C_200D_200C_206B_206E_202C_200C_206A_206C_206D_206A_202A_200E_202E_202C_202A_206C_206A_206E_200D_200D_206F_206F_202D_206C_206D_206A_206C_206E_206A_202C_202D_200C_200B_206D_202E(builder, ClassJobLevelSync.ToString()); - _206B_202C_200D_206D_202D_200C_200D_200C_206B_206E_202C_200C_206A_206C_206D_206A_202A_200E_202E_202C_202A_206C_206A_206E_200D_200D_206F_206F_202D_206C_206D_206A_206C_206E_206A_202C_202D_200C_200B_206D_202E(builder, 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(1993011003)); - _206B_202C_200D_206D_202D_200C_200D_200C_206B_206E_202C_200C_206A_206C_206D_206A_202A_200E_202E_202C_202A_206C_206A_206E_200D_200D_206F_206F_202D_206C_206D_206A_206C_206E_206A_202C_202D_200C_200B_206D_202E(builder, AllowUndersized.ToString()); - _206B_202C_200D_206D_202D_200C_200D_200C_206B_206E_202C_200C_206A_206C_206D_206A_202A_200E_202E_202C_202A_206C_206A_206E_200D_200D_206F_206F_202D_206C_206D_206A_206C_206E_206A_202C_202D_200C_200B_206D_202E(builder, 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(-1691981228)); - _206B_202C_200D_206D_202D_200C_200D_200C_206B_206E_202C_200C_206A_206C_206D_206A_202A_200E_202E_202C_202A_206C_206A_206E_200D_200D_206F_206F_202D_206C_206D_206A_206C_206E_206A_202C_202D_200C_200B_206D_202E(builder, IsDungeon.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(ContentFinderConditionData? other) - { - int num = (((object)this == other) ? (-1635239574) : (-1635239580)); - while (true) - { - int num2 = num; - int num3 = -1635239582; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = ((!EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId)) ? (-1635239573) : (-1635239581)); - break; - case 5: - num = ((!_206B_202E_202E_200D_200C_202B_200F_200B_206D_202E_206B_206D_202E_206E_200D_206D_200B_202B_202B_206A_200D_200F_206F_206D_206D_206C_202E_200F_202D_200D_206F_206F_206B_206D_200E_202B_206F_202A_202C_206C_202E(EqualityContract, other.EqualityContract)) ? (-1635239573) : (-1635239575)); - break; - case 10: - num = ((!EqualityComparer.Default.Equals(AllowUndersized, other.AllowUndersized)) ? (-1635239573) : (-1635239578)); - break; - case 7: - num = ((!EqualityComparer.Default.Equals(Name, other.Name)) ? (-1635239573) : (-1635239584)); - break; - case 11: - num = ((!EqualityComparer.Default.Equals(ContentFinderConditionId, other.ContentFinderConditionId)) ? (-1635239573) : (-1635239579)); - break; - case 4: - return EqualityComparer.Default.Equals(IsDungeon, other.IsDungeon); - case 0: - num = -1635239580; - break; - case 3: - num = ((!EqualityComparer.Default.Equals(ClassJobLevelSync, other.ClassJobLevelSync)) ? (-1635239573) : (-1635239576)); - break; - case 9: - return false; - case 1: - num = ((!EqualityComparer.Default.Equals(RequiredItemLevel, other.RequiredItemLevel)) ? (-1635239573) : (-1635239583)); - break; - case 8: - return true; - case 6: - num = (((object)other == null) ? (-1635239573) : (-1635239577)); - break; - } - } - } - - bool IEquatable.Equals(ContentFinderConditionData? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202A_200D_202E_206D_206A_202D_206B_206A_206C_206F_206D_202C_206B_202A_206A_200F_200E_206D_202A_202B_200F_206E_200B_206F_200F_206F_206B_206D_200C_202C_206D_200F_202E_200E_206E_202C_206B_200F_202B_206E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static SeString _200C_206D_206D_206C_206A_200E_206D_202E_206A_206E_206F_206B_200C_202E_200D_202D_206D_200C_206B_206B_206C_206E_200E_202D_206B_206B_202C_200B_202B_200D_202C_200F_202B_206C_200F_206B_200E_202E_206A_202D_202E(ReadOnlySeString P_0) - { - return P_0.ToDalamudString(); - } - - static string _206F_202A_206D_202D_202B_206E_206A_202C_206F_200E_202A_200F_200C_206A_202D_202B_202A_206E_200C_206D_200B_202E_200C_200D_202D_200E_202D_206C_202B_206D_200C_202C_206A_200B_200E_202D_200C_200C_200B_200D_202E(object P_0) - { - return P_0.ToString(); - } - - static StringBuilder _202E_206B_206D_200B_200E_200B_206B_200B_202E_206D_206A_206C_200E_206E_206D_202C_200E_202C_200C_202B_202C_206E_200D_202C_206F_206F_206B_202E_202A_202B_200F_206C_206B_202C_206C_202D_200B_202E_200F_200C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206B_202C_200D_206D_202D_200C_200D_200C_206B_206E_202C_200C_206A_206C_206D_206A_202A_200E_202E_202C_202A_206C_206A_206E_200D_200D_206F_206F_202D_206C_206D_206A_206C_206E_206A_202C_202D_200C_200B_206D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206E_206F_200C_200B_200F_206D_202B_200F_202C_202E_206C_206E_206B_200B_202C_202A_206A_200B_202D_200F_202A_200B_200B_206E_206D_206A_200D_206C_200D_206C_200B_200F_200B_202D_202D_200D_206F_202A_202A_202C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static void _206D_206E_200B_202C_202A_206B_206F_202D_200B_202E_206E_202B_202B_206F_202B_206E_200E_202C_202E_200C_206A_200D_202E_206E_200D_202B_206F_206A_200C_206F_200F_206C_202C_200F_202E_202A_202D_202A_206D_202C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206A_200E_202B_200B_202B_200B_200E_202B_202A_202E_206B_202A_200F_202E_206C_200E_202D_206D_202C_200B_200F_200E_206A_200C_200C_200B_202D_200B_200F_206D_202A_200B_206B_202B_206E_206B_200C_202E_206E_202D_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206B_202E_202E_200D_200C_202B_200F_200B_206D_202E_206B_206D_202E_206E_200D_206D_200B_202B_202B_206A_200D_200F_206F_206D_206D_206C_202E_200F_202D_200D_206F_206F_206B_206D_200E_202B_206F_202A_202C_206C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__9_0; - - public static Func _003C_003E9__9_1; - - public static Func _003C_003E9__9_2; - - public static Func _003C_003E9__9_3; - - public static Func _003C_003E9__9_4; - - public static Func, uint> _003C_003E9__9_5; - - public static Func, string> _003C_003E9__9_6; - - public static Func _003C_003E9__9_7; - - public static Func _003C_003E9__9_9; - - public static Func _003C_003E9__9_10; - - public static Func _003C_003E9__9_11; - - public static Func _003C_003E9__9_12; - - public static Func, uint> _003C_003E9__9_13; - - public static Func, uint> _003C_003E9__9_14; - - public static Func _003C_003E9__9_15; - - public static Func<(ElementId QuestId, byte Index, uint CfcId), (ElementId QuestId, byte Index)> _003C_003E9__9_17; - - public static Func<(ElementId QuestId, byte Index, uint CfcId), uint> _003C_003E9__9_18; - - internal bool _003C_002Ector_003Eb__9_0(ZoneSharedGroup x) - { - bool flag = x.SubrowId == 0; - int num = ((!flag) ? (-581539066) : (-581539068)); - bool flag2 = default(bool); - while (true) - { - int num2 = num; - int num3 = -581539067; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - flag = flag2; - num = -581539066; - break; - case 1: - { - byte b = x.RequirementType[0]; - num3 = 1; - num4 = b; - num = (((uint)(~(~num4 + num3)) > 1u) ? (-581539065) : (-581539072)); - break; - } - case 5: - flag2 = true; - num = -581539071; - break; - case 3: - return flag; - case 0: - num = -581539068; - break; - case 2: - flag2 = false; - num = -581539071; - break; - } - } - } - - internal uint _003C_002Ector_003Eb__9_1(ZoneSharedGroup x) - { - return x.RowId; - } - - internal ZoneAccessRequirement _003C_002Ector_003Eb__9_2(ZoneSharedGroup x) - { - return new ZoneAccessRequirement(x.RequirementType[0], x.RequirementRow[0].RowId, x.RequirementQuestSequence[0]); - } - - internal bool _003C_002Ector_003Eb__9_3(ContentFinderCondition x) - { - int num = ((x.RowId == 0) ? 2089716118 : 2089716116); - while (true) - { - int num2 = num; - int num3 = 2089716118; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return false; - case 2: - num = ((x.Content.RowId == 0) ? 2089716118 : 2089716119); - break; - case 1: - num = ((x.ContentLinkType != 1) ? 2089716118 : 2089716114); - break; - case 4: - return x.ContentType.RowId != 6; - case 3: - num = 2089716116; - break; - } - } - } - - internal uint _003C_002Ector_003Eb__9_4(ContentFinderCondition x) - { - return x.Content.RowId; - } - - internal uint _003C_002Ector_003Eb__9_5(IGrouping g) - { - return g.Key; - } - - internal string _003C_002Ector_003Eb__9_6(IGrouping g) - { - return _206E_200B_202A_206F_206F_206B_206C_202E_202E_206A_206F_206F_206A_202E_206D_202D_206B_200F_206D_200F_202E_200F_202E_200E_206A_206C_200D_200D_200F_202E_206C_200C_202E_202B_200B_206C_200E_202D_206E_206A_202E((object)_200C_202C_200C_206E_202B_202B_206F_202A_202C_206B_206C_206A_202D_206A_200C_200D_200F_202E_200B_200C_206A_206A_206E_202B_206B_206A_206C_200C_200C_200B_202C_206C_200C_202E_206C_202B_200C_200B_206F_206F_202E(g.First().Name)); - } - - internal bool _003C_002Ector_003Eb__9_7(ContentFinderCondition x) - { - int num = ((x.RowId == 0) ? (-1636098886) : (-1636098884)); - byte contentLinkType = default(byte); - bool flag = default(bool); - bool flag2 = default(bool); - while (true) - { - int num2 = num; - int num3 = -1636098882; - int num4 = num2; - int num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - contentLinkType = x.ContentLinkType; - num = ((contentLinkType == 1) ? (-1636098890) : (-1636098888)); - break; - case 6: - num = ((contentLinkType != 5) ? (-1636098889) : (-1636098890)); - break; - case 10: - return x.ContentType.RowId != 6; - case 1: - return false; - case 9: - flag = false; - num = -1636098887; - break; - case 2: - num5 = ((x.Content.RowId != 0) ? 1 : 0); - goto IL_0110; - case 7: - flag2 = flag; - num = -1636098885; - break; - case 4: - num5 = 0; - goto IL_0110; - case 5: - num = ((!flag2) ? (-1636098881) : (-1636098892)); - break; - case 8: - flag = true; - num = -1636098887; - break; - case 0: - { - num = -1636098884; - break; - } - IL_0110: - flag2 = (byte)num5 != 0; - num = ((!flag2) ? (-1636098885) : (-1636098883)); - break; - } - } - } - - internal uint _003C_002Ector_003Eb__9_9(ContentFinderConditionData x) - { - return x.ContentFinderConditionId; - } - - internal ContentFinderConditionData _003C_002Ector_003Eb__9_10(ContentFinderConditionData x) - { - return x; - } - - internal bool _003C_002Ector_003Eb__9_11(ContentFinderCondition x) - { - int num = ((x.RowId == 0) ? (-1478857039) : (-1478857038)); - while (true) - { - int num2 = num; - int num3 = -1478857037; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0048; - case 2: - return false; - case 1: - return x.TerritoryType.RowId != 0; - } - continue; - IL_0048: - num = -1478857038; - } - } - - internal uint _003C_002Ector_003Eb__9_12(ContentFinderCondition x) - { - return x.TerritoryType.RowId; - } - - internal uint _003C_002Ector_003Eb__9_13(IGrouping g) - { - return g.Key; - } - - internal uint _003C_002Ector_003Eb__9_14(IGrouping g) - { - return g.First().RowId; - } - - internal bool _003C_002Ector_003Eb__9_15(Quest x) - { - int num = ((x.RowId == 0) ? (-1185353339) : (-1185353338)); - while (true) - { - int num2 = num; - int num3 = -1185353337; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0048; - case 1: - return x.IssuerLocation.RowId != 0; - case 2: - return false; - } - continue; - IL_0048: - num = -1185353338; - } - } - - internal (ElementId QuestId, byte Index) _003C_002Ector_003Eb__9_17((ElementId QuestId, byte Index, uint CfcId) x) - { - return (QuestId: x.QuestId, Index: x.Index); - } - - internal uint _003C_002Ector_003Eb__9_18((ElementId QuestId, byte Index, uint CfcId) x) - { - return x.CfcId; - } - - static SeString _200C_202C_200C_206E_202B_202B_206F_202A_202C_206B_206C_206A_202D_206A_200C_200D_200F_202E_200B_200C_206A_206A_206E_202B_206B_206A_206C_200C_200C_200B_202C_206C_200C_202E_206C_202B_200C_200B_206F_206F_202E(ReadOnlySeString P_0) - { - return P_0.ToDalamudString(); - } - - static string _206E_200B_202A_206F_206F_206B_206C_202E_202E_206A_206F_206F_206A_202E_206D_202D_206B_200F_206D_200F_202E_200F_202E_200E_206A_206C_200D_200D_200F_202E_206C_200C_202E_202B_200B_206C_200E_202D_206E_206A_202E(object P_0) - { - return P_0.ToString(); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass9_0 - { - public IDataManager dataManager; - - internal ContentFinderConditionData _003C_002Ector_003Eb__8(ContentFinderCondition x) - { - return new ContentFinderConditionData(x, _202C_206E_200D_200E_206C_202E_206C_200B_206F_202E_206C_200E_200F_206F_206A_200D_200F_202A_202A_206F_202B_200D_206B_202E_202D_200E_202E_200D_200E_202D_200D_200C_200D_200E_200E_206B_200E_202B_206D_206F_202E(dataManager)); - } - - internal (ElementId QuestId, byte Index, uint CfcId) _003C_002Ector_003Eb__16((ElementId QuestId, byte Index, uint QuestBattleId) x) - { - return (QuestId: x.QuestId, Index: x.Index, CfcId: LookupContentFinderConditionForQuestBattle(dataManager, x.QuestBattleId)); - } - - static ClientLanguage _202C_206E_200D_200E_206C_202E_206C_200B_206F_202E_206C_200E_200F_206F_206A_200D_200F_202A_202A_206F_202B_200D_206B_202E_202D_200E_202E_200D_200E_202D_200D_200C_200D_200E_200E_206B_200E_202B_206D_206F_202E(IDataManager P_0) - { - return P_0.Language; - } - } - - [CompilerGenerated] - private sealed class _003CGetQuestBattles_003Ed__24 : IEnumerable<(ElementId QuestId, byte Index, uint QuestBattleId)>, IEnumerable, IEnumerator<(ElementId QuestId, byte Index, uint QuestBattleId)>, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private (ElementId QuestId, byte Index, uint QuestBattleId) _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - private Quest quest; - - public Quest _003C_003E3__quest; - - private Collection.Enumerator _003C_003E7__wrap1; - - (ElementId QuestId, byte Index, uint QuestBattleId) IEnumerator<(ElementId, byte, uint)>.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CGetQuestBattles_003Ed__24(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _202D_206D_206C_206C_206F_206E_206E_206D_206F_200C_206F_200F_202B_200D_200F_200E_200D_200B_206B_200B_200F_202A_202D_202B_200C_200F_200F_206E_200F_200C_202B_202A_202C_200B_202A_202D_200F_206C_202E_202A_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = ((num == -3) ? (-1116870683) : (-1116870682)); - while (true) - { - int num3 = num2; - int num4 = -1116870681; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - default: - continue; - case 0: - num2 = -1116870682; - continue; - case 1: - num4 = 1; - num5 = num; - if ((uint)(~(~num5 + num4)) <= 1u) - { - num2 = -1116870683; - continue; - } - break; - case 2: - try - { - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003C_003E7__wrap1 = default(Collection.Enumerator); - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - try - { - int num; - Quest.QuestParamsStruct current = default(Quest.QuestParamsStruct); - switch (_003C_003E1__state) - { - default: - num = 883752623; - goto IL_0025; - case 1: - _003C_003E1__state = -3; - num = 883752617; - goto IL_0025; - case 0: - goto IL_0089; - case 2: - goto IL_0129; - IL_0025: - while (true) - { - int num2 = num; - int num3 = 883752619; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 7: - goto end_IL_0025; - case 6: - goto IL_0089; - case 2: - goto IL_00bd; - case 5: - goto IL_00e5; - case 10: - goto IL_0129; - case 1: - _003C_003E2__current = (QuestId: _202C_206C_206C_206A_206D_200B_200D_200D_200C_206A_202E_200B_206A_200E_206B_200F_206F_200D_200B_202A_202C_202D_200E_206B_200E_206A_200E_200E_206D_200E_200B_200D_206A_202C_202C_206E_202E_202D_200D_202C_202E(quest.RowId), Index: 1, QuestBattleId: current.ScriptArg); - _003C_003E1__state = 2; - return true; - case 8: - _003C_003E2__current = (QuestId: _202C_206C_206C_206A_206D_200B_200D_200D_200C_206A_202E_200B_206A_200E_206B_200F_206F_200D_200B_202A_202C_202D_200E_206B_200E_206A_200E_200E_206D_200E_200B_200D_206A_202C_202C_206E_202E_202D_200D_202C_202E(quest.RowId), Index: 0, QuestBattleId: current.ScriptArg); - _003C_003E1__state = 1; - return true; - case 3: - goto IL_01b7; - case 9: - goto IL_01e4; - case 11: - num = 883752623; - break; - case 4: - return false; - case 0: - _003C_003Em__Finally1(); - _003C_003E7__wrap1 = default(Collection.Enumerator); - return false; - } - continue; - IL_01e4: - num = ((!(current.ScriptInstruction == global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1229719588))) ? 883752616 : 883752618); - continue; - IL_00e5: - current = _003C_003E7__wrap1.Current; - num = ((!(current.ScriptInstruction == global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(632409858))) ? 883752610 : 883752611); - continue; - IL_00bd: - num = (_003C_003E7__wrap1.MoveNext() ? 883752622 : 883752619); - continue; - IL_01b7: - num = (current.ScriptInstruction.IsEmpty ? 883752619 : 883752617); - continue; - end_IL_0025: - break; - } - goto case 1; - IL_0129: - _003C_003E1__state = -3; - num = 883752617; - goto IL_0025; - IL_0089: - _003C_003E1__state = -1; - _003C_003E7__wrap1 = quest.QuestParams.GetEnumerator(); - _003C_003E1__state = -3; - num = 883752617; - goto IL_0025; - } - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - ((IDisposable)_003C_003E7__wrap1/*cast due to .constrained prefix*/).Dispose(); - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _202C_206C_200F_202C_202A_206D_206E_206F_202D_206C_206A_206B_206B_200E_202D_206B_202B_202B_206F_202A_206D_202C_206C_200C_200C_202A_206A_202A_200B_206D_202C_200D_200F_206C_206E_200B_202C_200D_206F_202E_202E(); - } - - [DebuggerHidden] - IEnumerator<(ElementId QuestId, byte Index, uint QuestBattleId)> IEnumerable<(ElementId, byte, uint)>.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? 609345982 : 609345977); - _003CGetQuestBattles_003Ed__24 _003CGetQuestBattles_003Ed__ = default(_003CGetQuestBattles_003Ed__24); - while (true) - { - int num2 = num; - int num3 = 609345978; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - _003CGetQuestBattles_003Ed__ = new _003CGetQuestBattles_003Ed__24(0); - num = 609345976; - break; - case 3: - num = ((_003C_003El__initialThreadId != _202D_206D_206C_206C_206F_206E_206E_206D_206F_200C_206F_200F_202B_200D_200F_200E_200D_200B_206B_200B_200F_202A_202D_202B_200C_200F_200F_206E_200F_200C_202B_202A_202C_200B_202A_202D_200F_206C_202E_202A_202E()) ? 609345982 : 609345979); - break; - case 2: - _003CGetQuestBattles_003Ed__.quest = _003C_003E3__quest; - return _003CGetQuestBattles_003Ed__; - case 0: - num = 609345977; - break; - case 1: - _003C_003E1__state = 0; - _003CGetQuestBattles_003Ed__ = this; - num = 609345976; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable<(ElementId, byte, uint)>)this).GetEnumerator(); - } - - static int _202D_206D_206C_206C_206F_206E_206E_206D_206F_200C_206F_200F_202B_200D_200F_200E_200D_200B_206B_200B_200F_202A_202D_202B_200C_200F_200F_206E_200F_200C_202B_202A_202C_200B_202A_202D_200F_206C_202E_202A_202E() - { - return Environment.CurrentManagedThreadId; - } - - static QuestId _202C_206C_206C_206A_206D_200B_200D_200D_200C_206A_202E_200B_206A_200E_206B_200F_206F_200D_200B_202A_202C_202D_200E_206B_200E_206A_200E_200E_206D_200E_200B_200D_206A_202C_202C_206E_202E_202D_200D_202C_202E(uint P_0) - { - return QuestId.FromRowId(P_0); - } - - static NotSupportedException _202C_206C_200F_202C_202A_206D_206E_206F_202D_206C_206A_206B_206B_200E_202D_206B_202B_202B_206F_202A_206D_202C_206C_200C_200C_202A_206A_202A_200B_206D_202C_200D_200F_206C_206E_200B_202C_200D_206F_202E_202E() - { - return new NotSupportedException(); - } } private readonly ImmutableDictionary _territoryNames; @@ -874,48 +46,18 @@ internal sealed class TerritoryData : ITerritoryInfo private readonly ImmutableDictionary<(ElementId QuestId, byte Index), uint> _questBattlesToContentFinderCondition; - [MethodImpl(MethodImplOptions.NoInlining)] public TerritoryData(IDataManager dataManager, ILogger logger) { Dictionary dictionary = dataManager.GetSubrowExcelSheet().Flatten().Where(delegate(ZoneSharedGroup x) { bool flag = x.SubrowId == 0; - int num = ((!flag) ? (-581539066) : (-581539068)); - bool flag2 = default(bool); - while (true) + if (flag) { - int num2 = num; - int num3 = -581539067; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - flag = flag2; - num = -581539066; - break; - case 1: - { - byte b = x.RequirementType[0]; - num3 = 1; - num4 = b; - num = (((uint)(~(~num4 + num3)) > 1u) ? (-581539065) : (-581539072)); - break; - } - case 5: - flag2 = true; - num = -581539071; - break; - case 3: - return flag; - case 0: - num = -581539068; - break; - case 2: - flag2 = false; - num = -581539071; - break; - } + byte b = x.RequirementType[0]; + bool flag2 = (uint)(b - 1) <= 1u; + flag = flag2; } + return flag; }) .ToDictionary((ZoneSharedGroup x) => x.RowId, (ZoneSharedGroup x) => new ZoneAccessRequirement(x.RequirementType[0], x.RequirementRow[0].RowId, x.RequirementQuestSequence[0])); ImmutableDictionary.Builder builder = ImmutableDictionary.CreateBuilder(); @@ -930,10 +72,10 @@ internal sealed class TerritoryData : ITerritoryInfo { continue; } - string text = item.PlaceName.ValueNullable?.Name.ToString() ?? item.PlaceNameZone.ValueNullable?.Name.ToString(); - if (!_206A_206D_202D_206E_200B_202B_200B_200C_200D_206F_206A_202E_206E_202A_200F_200F_200F_206E_202A_206E_206F_200E_206B_202C_202E_206E_206E_202E_206A_202A_200F_206F_206A_200D_206F_206B_206E_206E_200E_206B_202E(text)) + string value = item.PlaceName.ValueNullable?.Name.ToString() ?? item.PlaceNameZone.ValueNullable?.Name.ToString(); + if (!string.IsNullOrEmpty(value)) { - builder[item.RowId] = text; + builder[item.RowId] = value; } if (item.Mount) { @@ -943,15 +85,15 @@ internal sealed class TerritoryData : ITerritoryInfo { builder3[item.RowId] = (byte)item.ExVersion.RowId; } - if (item.ZoneSharedGroup.RowId != 0 && dictionary.TryGetValue(item.ZoneSharedGroup.RowId, out var value)) + if (item.ZoneSharedGroup.RowId != 0 && dictionary.TryGetValue(item.ZoneSharedGroup.RowId, out var value2)) { - if ((dataManager.GetExcelSheet().GetRowOrDefault(value.QuestRowId)?.Expansion.RowId ?? 0) > item.ExVersion.RowId) + if ((dataManager.GetExcelSheet().GetRowOrDefault(value2.QuestRowId)?.Expansion.RowId ?? 0) > item.ExVersion.RowId) { list.Add(item.RowId); } else { - builder4[item.RowId] = value; + builder4[item.RowId] = value2; } } RowRef contentFinderCondition = item.ContentFinderCondition; @@ -972,145 +114,29 @@ internal sealed class TerritoryData : ITerritoryInfo _dutyTerritories = builder5.ToImmutable(); if (list.Count > 0) { - _202E_200C_202B_200E_200D_200C_206F_200E_202A_202B_206E_206B_200F_206B_202B_202B_202A_202A_200F_200E_200B_206D_200B_200E_202A_202B_202E_206F_206F_200D_200B_206F_200E_202A_202C_202A_206C_202E_200F_202A_202E((ILogger)logger, 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(-446199229), new object[2] - { - list.Count, - _202D_200F_200C_206D_202B_206A_200B_200E_202B_206F_202A_202B_202E_206A_200C_200D_200F_206B_202D_206B_202D_202A_202E_200C_202A_202E_202B_202C_206B_200F_206E_200C_200C_200F_202C_206B_206E_206F_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(1577352017), list.Select(GetNameAndId)) - }); + logger.LogDebug("Ignoring later-expansion ZoneSharedGroup gate for {Count} walkable zones: {Zones}", list.Count, string.Join(", ", list.Select(GetNameAndId))); } - _instanceNames = (from x in dataManager.GetExcelSheet().Where(delegate(ContentFinderCondition x) - { - int num = ((x.RowId == 0) ? 2089716118 : 2089716116); - while (true) - { - int num2 = num; - int num3 = 2089716118; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return false; - case 2: - num = ((x.Content.RowId == 0) ? 2089716118 : 2089716119); - break; - case 1: - num = ((x.ContentLinkType != 1) ? 2089716118 : 2089716114); - break; - case 4: - return x.ContentType.RowId != 6; - case 3: - num = 2089716116; - break; - } - } - }) - group x by x.Content.RowId).ToImmutableDictionary((IGrouping g) => g.Key, (IGrouping g) => _003C_003Ec._206E_200B_202A_206F_206F_206B_206C_202E_202E_206A_206F_206F_206A_202E_206D_202D_206B_200F_206D_200F_202E_200F_202E_200E_206A_206C_200D_200D_200F_202E_206C_200C_202E_202B_200B_206C_200E_202D_206E_206A_202E((object)_003C_003Ec._200C_202C_200C_206E_202B_202B_206F_202A_202C_206B_206C_206A_202D_206A_200C_200D_200F_202E_200B_200C_206A_206A_206E_202B_206B_206A_206C_200C_200C_200B_202C_206C_200C_202E_206C_202B_200C_200B_206F_206F_202E(g.First().Name))); + _instanceNames = (from x in dataManager.GetExcelSheet() + where x.RowId != 0 && x.Content.RowId != 0 && x.ContentLinkType == 1 && x.ContentType.RowId != 6 + group x by x.Content.RowId).ToImmutableDictionary((IGrouping g) => g.Key, (IGrouping g) => g.First().Name.ToDalamudString().ToString()); _contentFinderConditions = (from x in dataManager.GetExcelSheet().Where(delegate(ContentFinderCondition x) { - int num = ((x.RowId == 0) ? (-1636098886) : (-1636098884)); - byte contentLinkType = default(byte); - bool flag = default(bool); - bool flag2 = default(bool); - while (true) + bool flag = x.RowId != 0 && x.Content.RowId != 0; + if (flag) { - int num2 = num; - int num3 = -1636098882; - int num4 = num2; - int num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - contentLinkType = x.ContentLinkType; - num = ((contentLinkType == 1) ? (-1636098890) : (-1636098888)); - break; - case 6: - num = ((contentLinkType != 5) ? (-1636098889) : (-1636098890)); - break; - case 10: - return x.ContentType.RowId != 6; - case 1: - return false; - case 9: - flag = false; - num = -1636098887; - break; - case 2: - num5 = ((x.Content.RowId != 0) ? 1 : 0); - goto IL_0110; - case 7: - flag2 = flag; - num = -1636098885; - break; - case 4: - num5 = 0; - goto IL_0110; - case 5: - num = ((!flag2) ? (-1636098881) : (-1636098892)); - break; - case 8: - flag = true; - num = -1636098887; - break; - case 0: - { - num = -1636098884; - break; - } - IL_0110: - flag2 = (byte)num5 != 0; - num = ((!flag2) ? (-1636098885) : (-1636098883)); - break; - } - } - }) - select new ContentFinderConditionData(x, _003C_003Ec__DisplayClass9_0._202C_206E_200D_200E_206C_202E_206C_200B_206F_202E_206C_200E_200F_206F_206A_200D_200F_202A_202A_206F_202B_200D_206B_202E_202D_200E_202E_200D_200E_202D_200D_200C_200D_200E_200E_206B_200E_202B_206D_206F_202E(dataManager))).ToImmutableDictionary((ContentFinderConditionData x) => x.ContentFinderConditionId, (ContentFinderConditionData x) => x); - _territoryToContentFinderCondition = (from x in dataManager.GetExcelSheet().Where(delegate(ContentFinderCondition x) - { - int num = ((x.RowId == 0) ? (-1478857039) : (-1478857038)); - while (true) - { - int num2 = num; - int num3 = -1478857037; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0048; - case 2: - return false; - case 1: - return x.TerritoryType.RowId != 0; - } - continue; - IL_0048: - num = -1478857038; + byte contentLinkType = x.ContentLinkType; + bool flag2 = ((contentLinkType == 1 || contentLinkType == 5) ? true : false); + flag = flag2; } + return flag && x.ContentType.RowId != 6; }) + select new ContentFinderConditionData(x, dataManager.Language)).ToImmutableDictionary((ContentFinderConditionData x) => x.ContentFinderConditionId, (ContentFinderConditionData x) => x); + _territoryToContentFinderCondition = (from x in dataManager.GetExcelSheet() + where x.RowId != 0 && x.TerritoryType.RowId != 0 group x by x.TerritoryType.RowId).ToImmutableDictionary((IGrouping g) => g.Key, (IGrouping g) => g.First().RowId); - _questBattlesToContentFinderCondition = (from x in dataManager.GetExcelSheet().Where(delegate(Quest x) - { - int num = ((x.RowId == 0) ? (-1185353339) : (-1185353338)); - while (true) - { - int num2 = num; - int num3 = -1185353337; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0048; - case 1: - return x.IssuerLocation.RowId != 0; - case 2: - return false; - } - continue; - IL_0048: - num = -1185353338; - } - }).SelectMany(GetQuestBattles) + _questBattlesToContentFinderCondition = (from x in (from x in dataManager.GetExcelSheet() + where x.RowId != 0 && x.IssuerLocation.RowId != 0 + select x).SelectMany(GetQuestBattles) select (QuestId: x.QuestId, Index: x.Index, CfcId: LookupContentFinderConditionForQuestBattle(dataManager, x.QuestBattleId))).ToImmutableDictionary<(ElementId, byte, uint), (ElementId, byte), uint>(((ElementId QuestId, byte Index, uint CfcId) x) => (QuestId: x.QuestId, Index: x.Index), ((ElementId QuestId, byte Index, uint CfcId) x) => x.CfcId); } @@ -1119,51 +145,20 @@ internal sealed class TerritoryData : ITerritoryInfo return _territoryNames.GetValueOrDefault(territoryId); } - string? ITerritoryInfo.GetName(uint territoryId) - { - //ILSpy generated this explicit interface implementation from .override directive in GetName - return this.GetName(territoryId); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public string GetNameAndId(uint territoryId) { string name = GetName(territoryId); - int num = ((name == null) ? (-644306227) : (-644306226)); - while (true) + if (name != null) { - int num2 = num; - int num3 = -644306228; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return territoryId.ToString(_202C_200C_200F_206C_202E_202A_206D_206C_206C_206F_200E_202E_200F_202C_202A_206D_202B_200E_206E_206C_206D_200F_200D_200D_202A_202C_200B_206C_206A_200B_202E_200B_200F_202E_202E_200B_202C_206A_202A_200D_202E()); - case 2: - { - IFormatProvider formatProvider = _202C_200C_200F_206C_202E_202A_206D_206C_206C_206F_200E_202E_200F_202C_202A_206D_202B_200E_206E_206C_206D_200F_200D_200D_202A_202C_200B_206C_206A_200B_202E_200B_200F_202E_202E_200B_202C_206A_202A_200D_202E(); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(3, 2, formatProvider); - defaultInterpolatedStringHandler.AppendFormatted(name); - defaultInterpolatedStringHandler.AppendLiteral(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(588901087)); - defaultInterpolatedStringHandler.AppendFormatted(territoryId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321)); - return _206B_200F_202E_202B_206C_200D_200D_206C_202D_200B_206A_200C_200E_200C_202B_200C_202C_200C_206B_206A_202D_200B_206F_202B_206C_202A_206A_202D_202E_200C_200C_202B_202B_202E_202E_202C_202A_200F_200C_202D_202E(formatProvider, ref defaultInterpolatedStringHandler); - } - case 0: - goto IL_00a9; - } - continue; - IL_00a9: - num = -644306226; + IFormatProvider invariantCulture = CultureInfo.InvariantCulture; + DefaultInterpolatedStringHandler handler = new DefaultInterpolatedStringHandler(3, 2, invariantCulture); + handler.AppendFormatted(name); + handler.AppendLiteral(" ("); + handler.AppendFormatted(territoryId); + handler.AppendLiteral(")"); + return string.Create(invariantCulture, ref handler); } - } - - string ITerritoryInfo.GetNameAndId(uint territoryId) - { - //ILSpy generated this explicit interface implementation from .override directive in GetNameAndId - return this.GetNameAndId(territoryId); + return territoryId.ToString(CultureInfo.InvariantCulture); } public bool CanUseMount(uint territoryId) @@ -1171,66 +166,22 @@ internal sealed class TerritoryData : ITerritoryInfo return _territoriesWithMount.Contains(territoryId); } - bool ITerritoryInfo.CanUseMount(uint territoryId) - { - //ILSpy generated this explicit interface implementation from .override directive in CanUseMount - return this.CanUseMount(territoryId); - } - public byte GetExVersion(uint territoryId) { - byte value; - int num = (_territoryExVersions.TryGetValue(territoryId, out value) ? 2048951031 : 2048951028); - while (true) + if (!_territoryExVersions.TryGetValue(territoryId, out var value)) { - int num2 = num; - int num3 = 2048951029; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004e; - case 2: - return value; - case 1: - return 0; - } - continue; - IL_004e: - num = 2048951028; + return 0; } - } - - byte ITerritoryInfo.GetExVersion(uint territoryId) - { - //ILSpy generated this explicit interface implementation from .override directive in GetExVersion - return this.GetExVersion(territoryId); + return value; } public ZoneAccessRequirement? GetZoneAccessRequirement(uint territoryId) { - ZoneAccessRequirement value; - int num = (_territoryZoneAccessRequirements.TryGetValue(territoryId, out value) ? 1350019505 : 1350019506); - while (true) + if (!_territoryZoneAccessRequirements.TryGetValue(territoryId, out var value)) { - int num2 = num; - int num3 = 1350019507; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0053; - case 1: - return null; - case 2: - return value; - } - continue; - IL_0053: - num = 1350019506; + return null; } + return value; } public bool IsDutyInstance(uint territoryId) @@ -1240,28 +191,11 @@ internal sealed class TerritoryData : ITerritoryInfo public bool IsQuestBattleInstance(uint territoryId) { - uint value; - int num = ((!_dutyTerritories.TryGetValue(territoryId, out value)) ? 555422992 : 555422995); - while (true) + if (_dutyTerritories.TryGetValue(territoryId, out var value)) { - int num2 = num; - int num3 = 555422993; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0050; - case 2: - return value == 7; - case 1: - return false; - } - continue; - IL_0050: - num = 555422995; + return value == 7; } + return false; } public string? GetInstanceName(uint instanceId) @@ -1281,27 +215,12 @@ internal sealed class TerritoryData : ITerritoryInfo public bool TryGetContentFinderConditionForSoloInstance(ElementId questId, byte index, [NotNullWhen(true)] out ContentFinderConditionData? contentFinderConditionData) { - uint value; - int num = ((!_questBattlesToContentFinderCondition.TryGetValue((questId, index), out value)) ? (-1412736691) : (-1412736690)); - while (true) + if (_questBattlesToContentFinderCondition.TryGetValue((questId, index), out var value)) { - int num2 = num; - int num3 = -1412736689; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - contentFinderConditionData = null; - return false; - case 1: - return _contentFinderConditions.TryGetValue(value, out contentFinderConditionData); - case 0: - goto IL_0067; - } - continue; - IL_0067: - num = -1412736690; + return _contentFinderConditions.TryGetValue(value, out contentFinderConditionData); } + contentFinderConditionData = null; + return false; } public bool TryGetContentFinderConditionIdForTerritory(uint territoryId, out uint cfcId) @@ -1316,108 +235,38 @@ internal sealed class TerritoryData : ITerritoryInfo private static string FixName(string name, ClientLanguage language) { - int num = (_206A_206D_202D_206E_200B_202B_200B_200C_200D_206F_206A_202E_206E_202A_200F_200F_200F_206E_202A_206E_206F_200E_206B_202C_202E_206E_206E_202E_206A_202A_200F_206F_206A_200D_206F_206B_206E_206E_200E_206B_202E(name) ? 1084979106 : 1084979105); - while (true) + if (string.IsNullOrEmpty(name) || language != ClientLanguage.English) { - int num2 = num; - int num3 = 1084979104; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return name; + } + return string.Concat(name[0].ToString().ToUpper(CultureInfo.InvariantCulture).AsSpan(), name.AsSpan(1)); + } + + private static IEnumerable<(ElementId QuestId, byte Index, uint QuestBattleId)> GetQuestBattles(Quest quest) + { + foreach (Quest.QuestParamsStruct questParam in quest.QuestParams) + { + if (questParam.ScriptInstruction == "QUESTBATTLE0") + { + yield return (QuestId: QuestId.FromRowId(quest.RowId), Index: 0, QuestBattleId: questParam.ScriptArg); + } + else if (questParam.ScriptInstruction == "QUESTBATTLE1") + { + yield return (QuestId: QuestId.FromRowId(quest.RowId), Index: 1, QuestBattleId: questParam.ScriptArg); + } + else if (questParam.ScriptInstruction.IsEmpty) { - case 0: - return _202E_200B_200E_206D_200E_200B_206F_200E_200E_200D_206C_200F_202C_202B_202E_206F_200B_202A_202A_206B_200E_202E_202C_206D_206A_206A_206E_202D_206C_206E_200C_202A_202D_206D_202A_206D_200B_202A_206A_200C_202E(_206C_206D_206F_206E_206C_200D_206A_200E_200D_200B_206C_202B_202B_206D_200F_200C_202E_206D_200E_202A_206B_202C_200E_206A_206B_200F_200D_202D_202B_202B_202A_202B_206B_202E_206C_200F_202D_202C_202B_206A_202E(_200C_206D_206B_200B_206C_206F_202D_202C_202D_200F_206B_202C_200D_200F_202E_202B_202B_200B_202E_202B_206F_202C_200C_206F_200F_206B_206C_206F_206E_206C_202E_200D_206B_202D_200B_202B_202A_202A_202D_202D_202E(_206E_206F_200E_202A_200D_200E_206D_206E_206D_202E_206F_206A_200C_206F_200B_202C_202A_206B_202E_202C_206D_200B_200E_200D_200F_206D_206F_206E_202B_206D_202B_206D_206F_202E_200F_206C_206F_206C_202D_202C_202E(name, 0).ToString(), _202C_200C_200F_206C_202E_202A_206D_206C_206C_206F_200E_202E_200F_202C_202A_206D_202B_200E_206E_206C_206D_200F_200D_200D_202A_202C_200B_206C_206A_200B_202E_200B_200F_202E_202E_200B_202C_206A_202A_200D_202E())), _206C_202B_202E_202D_202A_202E_206D_202A_206C_200D_200D_206F_206F_202D_200D_206F_206F_202E_202D_206C_206D_206D_202B_200C_200E_202D_200C_206C_202E_202E_206A_206F_202B_206B_202B_200F_206E_200B_202B_200E_202E(name, 1)); - case 1: - num = ((language == ClientLanguage.English) ? 1084979104 : 1084979106); - break; - case 2: - return name; - case 3: - num = 1084979105; break; } } } - [IteratorStateMachine(typeof(_003CGetQuestBattles_003Ed__24))] - private static IEnumerable<(ElementId QuestId, byte Index, uint QuestBattleId)> GetQuestBattles(Quest quest) - { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CGetQuestBattles_003Ed__24(-2) - { - _003C_003E3__quest = quest - }; - } - private static uint LookupContentFinderConditionForQuestBattle(IDataManager dataManager, uint questBattleId) { - int num = ((questBattleId < 5000) ? 152242132 : 152242135); - while (true) + if (questBattleId >= 5000) { - int num2 = num; - int num3 = 152242134; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004f; - case 1: - return dataManager.GetExcelSheet().GetRow(questBattleId).ContentFinderCondition.RowId; - case 2: - return dataManager.GetExcelSheet().GetRow(questBattleId).SoloDuty.RowId; - } - continue; - IL_004f: - num = 152242135; + return dataManager.GetExcelSheet().GetRow(questBattleId).ContentFinderCondition.RowId; } - } - - static bool _206A_206D_202D_206E_200B_202B_200B_200C_200D_206F_206A_202E_206E_202A_200F_200F_200F_206E_202A_206E_206F_200E_206B_202C_202E_206E_206E_202E_206A_202A_200F_206F_206A_200D_206F_206B_206E_206E_200E_206B_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static string _202D_200F_200C_206D_202B_206A_200B_200E_202B_206F_202A_202B_202E_206A_200C_200D_200F_206B_202D_206B_202D_202A_202E_200C_202A_202E_202B_202C_206B_200F_206E_200C_200C_200F_202C_206B_206E_206F_202E(string P_0, IEnumerable P_1) - { - return string.Join(P_0, P_1); - } - - static void _202E_200C_202B_200E_200D_200C_206F_200E_202A_202B_206E_206B_200F_206B_202B_202B_202A_202A_200F_200E_200B_206D_200B_200E_202A_202B_202E_206F_206F_200D_200B_206F_200E_202A_202C_202A_206C_202E_200F_202A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static CultureInfo _202C_200C_200F_206C_202E_202A_206D_206C_206C_206F_200E_202E_200F_202C_202A_206D_202B_200E_206E_206C_206D_200F_200D_200D_202A_202C_200B_206C_206A_200B_202E_200B_200F_202E_202E_200B_202C_206A_202A_200D_202E() - { - return CultureInfo.InvariantCulture; - } - - static string _206B_200F_202E_202B_206C_200D_200D_206C_202D_200B_206A_200C_200E_200C_202B_200C_202C_200C_206B_206A_202D_200B_206F_202B_206C_202A_206A_202D_202E_200C_200C_202B_202B_202E_202E_202C_202A_200F_200C_202D_202E(IFormatProvider P_0, ref DefaultInterpolatedStringHandler P_1) - { - return string.Create(P_0, ref P_1); - } - - static char _206E_206F_200E_202A_200D_200E_206D_206E_206D_202E_206F_206A_200C_206F_200B_202C_202A_206B_202E_202C_206D_200B_200E_200D_200F_206D_206F_206E_202B_206D_202B_206D_206F_202E_200F_206C_206F_206C_202D_202C_202E(string P_0, int P_1) - { - return P_0[P_1]; - } - - static string _200C_206D_206B_200B_206C_206F_202D_202C_202D_200F_206B_202C_200D_200F_202E_202B_202B_200B_202E_202B_206F_202C_200C_206F_200F_206B_206C_206F_206E_206C_202E_200D_206B_202D_200B_202B_202A_202A_202D_202D_202E(string P_0, CultureInfo P_1) - { - return P_0.ToUpper(P_1); - } - - static ReadOnlySpan _206C_206D_206F_206E_206C_200D_206A_200E_200D_200B_206C_202B_202B_206D_200F_200C_202E_206D_200E_202A_206B_202C_200E_206A_206B_200F_200D_202D_202B_202B_202A_202B_206B_202E_206C_200F_202D_202C_202B_206A_202E(string P_0) - { - return P_0.AsSpan(); - } - - static ReadOnlySpan _206C_202B_202E_202D_202A_202E_206D_202A_206C_200D_200D_206F_206F_202D_200D_206F_206F_202E_202D_206C_206D_206D_202B_200C_200E_202D_200C_206C_202E_202E_206A_206F_202B_206B_202B_200F_206E_200B_202B_200E_202E(string P_0, int P_1) - { - return P_0.AsSpan(P_1); - } - - static string _202E_200B_200E_206D_200E_200B_206F_200E_200E_200D_206C_200F_202C_202B_202E_206F_200B_202A_202A_206B_200E_202E_202C_206D_206A_206A_206E_202D_206C_206E_200C_202A_202D_206D_202A_206D_200B_202A_206A_200C_202E(ReadOnlySpan P_0, ReadOnlySpan P_1) - { - return string.Concat(P_0, P_1); + return dataManager.GetExcelSheet().GetRow(questBattleId).SoloDuty.RowId; } } diff --git a/Questionable/Questionable.External/ArtisanIpc.cs b/Questionable/Questionable.External/ArtisanIpc.cs index d2621d7..8e42677 100644 --- a/Questionable/Questionable.External/ArtisanIpc.cs +++ b/Questionable/Questionable.External/ArtisanIpc.cs @@ -1,5 +1,3 @@ -using System; -using System.Runtime.CompilerServices; using Dalamud.Plugin; using Dalamud.Plugin.Ipc; using Dalamud.Plugin.Ipc.Exceptions; @@ -23,16 +21,15 @@ internal sealed class ArtisanIpc private readonly ICallGateSubscriber _setStopRequest; - [MethodImpl(MethodImplOptions.NoInlining)] public ArtisanIpc(IDalamudPluginInterface pluginInterface, ILogger logger) { _logger = logger; - _craftItem = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(47202474)); - _isBusy = pluginInterface.GetIpcSubscriber(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(625666467)); - _getEnduranceStatus = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1864578961)); - _setEnduranceStatus = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(70125506)); - _getStopRequest = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-642335670)); - _setStopRequest = pluginInterface.GetIpcSubscriber(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(-653283353)); + _craftItem = pluginInterface.GetIpcSubscriber("Artisan.CraftItem"); + _isBusy = pluginInterface.GetIpcSubscriber("Artisan.IsBusy"); + _getEnduranceStatus = pluginInterface.GetIpcSubscriber("Artisan.GetEnduranceStatus"); + _setEnduranceStatus = pluginInterface.GetIpcSubscriber("Artisan.SetEnduranceStatus"); + _getStopRequest = pluginInterface.GetIpcSubscriber("Artisan.GetStopRequest"); + _setStopRequest = pluginInterface.GetIpcSubscriber("Artisan.SetStopRequest"); } public bool IsAvailable() @@ -48,123 +45,81 @@ internal sealed class ArtisanIpc } } - [MethodImpl(MethodImplOptions.NoInlining)] public bool IsBusy() { try { return _isBusy.InvokeFunc(); } - catch (IpcError ipcError) + catch (IpcError exception) { - _200F_206D_206A_202E_202C_202A_206D_206A_202A_200B_206D_202A_206E_200E_200D_202D_202B_200B_200F_206A_200C_206F_206E_206D_206B_202C_206B_206C_206A_202D_206C_202C_202C_206B_206B_200D_206D_202B_206A_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1209801229), Array.Empty()); + _logger.LogError(exception, "Unable to check Artisan busy status"); return false; } } - [MethodImpl(MethodImplOptions.NoInlining)] public bool IsCrafting() { try { - int num = (_isBusy.InvokeFunc() ? 2072853802 : 2072853801); - int result; - while (true) - { - int num2 = num; - int num3 = 2072853800; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 0: - goto IL_0050; - case 1: - result = (_getEnduranceStatus.InvokeFunc() ? 1 : 0); - break; - case 2: - result = 1; - break; - } - break; - IL_0050: - num = 2072853801; - } - return (byte)result != 0; + return _isBusy.InvokeFunc() || _getEnduranceStatus.InvokeFunc(); } - catch (IpcError ipcError) + catch (IpcError exception) { - _200F_206D_206A_202E_202C_202A_206D_206A_202A_200B_206D_202A_206E_200E_200D_202D_202B_200B_200F_206A_200C_206F_206E_206D_206B_202C_206B_206C_206A_202D_206C_202C_202C_206B_206B_200D_206D_202B_206A_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2004423705), Array.Empty()); + _logger.LogError(exception, "Unable to check Artisan crafting status"); return false; } } - [MethodImpl(MethodImplOptions.NoInlining)] public bool CraftItem(ushort recipeId, int quantity) { try { - _206E_206F_202D_200E_202D_202D_202A_202E_200C_202C_202E_200E_202C_206A_206A_200D_206E_206A_202C_200C_200E_206D_206F_202E_202A_206A_200E_200D_200E_206A_200D_206E_200C_200D_206B_206B_202E_200F_200D_202B_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(453183658), new object[2] { quantity, recipeId }); + _logger.LogDebug("Attempting to craft {Quantity} items with recipe {RecipeId} with Artisan", quantity, recipeId); _craftItem.InvokeAction(recipeId, quantity); return true; } - catch (IpcError ipcError) + catch (IpcError exception) { - _200F_206D_206A_202E_202C_202A_206D_206A_202A_200B_206D_202A_206E_200E_200D_202D_202B_200B_200F_206A_200C_206F_206E_206D_206B_202C_206B_206C_206A_202D_206C_202C_202C_206B_206B_200D_206D_202B_206A_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-764787723), Array.Empty()); + _logger.LogError(exception, "Unable to craft items"); return false; } } - [MethodImpl(MethodImplOptions.NoInlining)] public void SetEnduranceStatus(bool enabled) { try { _setEnduranceStatus.InvokeAction(enabled); } - catch (IpcError ipcError) + catch (IpcError exception) { - _200F_206D_206A_202E_202C_202A_206D_206A_202A_200B_206D_202A_206E_200E_200D_202D_202B_200B_200F_206A_200C_206F_206E_206D_206B_202C_206B_206C_206A_202D_206C_202C_202C_206B_206B_200D_206D_202B_206A_202E_202E((ILogger)_logger, (Exception)ipcError, 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(789373689), Array.Empty()); + _logger.LogError(exception, "Unable to set Artisan endurance status"); } } - [MethodImpl(MethodImplOptions.NoInlining)] public bool GetStopRequest() { try { return _getStopRequest.InvokeFunc(); } - catch (IpcError ipcError) + catch (IpcError exception) { - _200F_206D_206A_202E_202C_202A_206D_206A_202A_200B_206D_202A_206E_200E_200D_202D_202B_200B_200F_206A_200C_206F_206E_206D_206B_202C_206B_206C_206A_202D_206C_202C_202C_206B_206B_200D_206D_202B_206A_202E_202E((ILogger)_logger, (Exception)ipcError, 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(-1603998774), Array.Empty()); + _logger.LogError(exception, "Unable to check Artisan stop request"); return false; } } - [MethodImpl(MethodImplOptions.NoInlining)] public void SetStopRequest(bool stop) { try { _setStopRequest.InvokeAction(stop); } - catch (IpcError ipcError) + catch (IpcError exception) { - _200F_206D_206A_202E_202C_202A_206D_206A_202A_200B_206D_202A_206E_200E_200D_202D_202B_200B_200F_206A_200C_206F_206E_206D_206B_202C_206B_206C_206A_202D_206C_202C_202C_206B_206B_200D_206D_202B_206A_202E_202E((ILogger)_logger, (Exception)ipcError, 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(1609057736), Array.Empty()); + _logger.LogError(exception, "Unable to set Artisan stop request"); } } - - static void _200F_206D_206A_202E_202C_202A_206D_206A_202A_200B_206D_202A_206E_200E_200D_202D_202B_200B_200F_206A_200C_206F_206E_206D_206B_202C_206B_206C_206A_202D_206C_202C_202C_206B_206B_200D_206D_202B_206A_202E_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } - - static void _206E_206F_202D_200E_202D_202D_202A_202E_200C_202C_202E_200E_202C_206A_206A_200D_206E_206A_202C_200C_200E_206D_206F_202E_202A_206A_200E_200D_200E_206A_200D_206E_200C_200D_206B_206B_202E_200F_200D_202B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } } diff --git a/Questionable/Questionable.External/AutoDutyIpc.cs b/Questionable/Questionable.External/AutoDutyIpc.cs index 2f2b5d1..00d5363 100644 --- a/Questionable/Questionable.External/AutoDutyIpc.cs +++ b/Questionable/Questionable.External/AutoDutyIpc.cs @@ -1,5 +1,4 @@ using System; -using System.Runtime.CompilerServices; using Dalamud.Plugin; using Dalamud.Plugin.Ipc; using Dalamud.Plugin.Ipc.Exceptions; @@ -44,29 +43,27 @@ internal sealed class AutoDutyIpc public const int MinimumLevelForLevelingMode = 15; - [MethodImpl(MethodImplOptions.NoInlining)] public AutoDutyIpc(IDalamudPluginInterface pluginInterface, Configuration configuration, TerritoryData territoryData, ILogger logger) { _configuration = configuration; _territoryData = territoryData; _logger = logger; - _contentHasPath = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(669378037)); - _getConfig = pluginInterface.GetIpcSubscriber(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(778701164)); - _setConfig = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(930976644)); - _run = pluginInterface.GetIpcSubscriber(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(-715592448)); - _start = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(586700200)); - _isStopped = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(200621634)); - _stop = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(787984803)); + _contentHasPath = pluginInterface.GetIpcSubscriber("AutoDuty.ContentHasPath"); + _getConfig = pluginInterface.GetIpcSubscriber("AutoDuty.GetConfig"); + _setConfig = pluginInterface.GetIpcSubscriber("AutoDuty.SetConfig"); + _run = pluginInterface.GetIpcSubscriber("AutoDuty.Run"); + _start = pluginInterface.GetIpcSubscriber("AutoDuty.Start"); + _isStopped = pluginInterface.GetIpcSubscriber("AutoDuty.IsStopped"); + _stop = pluginInterface.GetIpcSubscriber("AutoDuty.Stop"); _loggedContentHasPathQueryWarning = false; _loggedLevelingModeWarning = false; } - [MethodImpl(MethodImplOptions.NoInlining)] public bool ManagesRotationPluginState() { try { - return _206A_200D_200D_206E_202C_200E_200F_202C_200C_200F_206E_200E_206B_206D_200B_202A_202E_202D_206F_206D_200C_200B_206A_206C_200E_206B_206F_206D_202E_206D_206B_200F_202E_202E_202A_202C_202E_200C_202C_206A_202E(_getConfig.InvokeFunc(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(656009989)), 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(251886879), StringComparison.OrdinalIgnoreCase); + return string.Equals(_getConfig.InvokeFunc("AutoManageRotationPluginState"), "True", StringComparison.OrdinalIgnoreCase); } catch (IpcError) { @@ -74,12 +71,11 @@ internal sealed class AutoDutyIpc } } - [MethodImpl(MethodImplOptions.NoInlining)] public bool ManagesBossModAiSettings() { try { - return _206A_200D_200D_206E_202C_200E_200F_202C_200C_200F_206E_200E_206B_206D_200B_202A_202E_202D_206F_206D_200C_200B_206A_206C_200E_206B_206F_206D_202E_206D_206B_200F_202E_202E_202A_202C_202E_200C_202C_206A_202E(_getConfig.InvokeFunc(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(1652223721)), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-536004571), StringComparison.OrdinalIgnoreCase); + return string.Equals(_getConfig.InvokeFunc("AutoManageBossModAISettings"), "True", StringComparison.OrdinalIgnoreCase); } catch (IpcError) { @@ -89,66 +85,28 @@ internal sealed class AutoDutyIpc public bool IsConfiguredToRunContent(DutyOptions? dutyOptions) { - int num = ((dutyOptions == null) ? (-925211757) : (-925211760)); - uint num7 = default(uint); - DutyEntry value = default(DutyEntry); - while (true) + if (dutyOptions == null || dutyOptions.ContentFinderConditionId == 0) { - int num2 = num; - int num3 = -925211759; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - return false; - case 1: - num = ((_202E_206E_206B_200F_202E_200B_200D_200D_206F_202B_202D_202C_200C_206E_200F_206F_202B_200F_200B_206A_206A_200C_206F_200E_200B_200F_200C_206E_206C_202E_202D_200F_200C_206D_206E_202D_202A_200D_200D_202E_202E(dutyOptions) != 0) ? (-925211750) : (-925211757)); - break; - case 3: - return HasPath(num7); - case 14: - if (value.Enabled) - { - num = -925211758; - break; - } - goto case 0; - case 5: - num = ((!_configuration.Duties.WhitelistedDutyCfcIds.Contains(num7)) ? (-925211754) : (-925211749)); - break; - case 0: - num = -925211751; - break; - case 6: - return true; - case 9: - num = -925211760; - break; - case 13: - return false; - case 2: - return false; - case 7: - num = ((!DutyRegistry.Duties.TryGetValue(num7, out value)) ? (-925211759) : (-925211745)); - break; - case 8: - return false; - case 10: - { - num = ((!_territoryData.TryGetContentFinderCondition(num7, out TerritoryData.ContentFinderConditionData _)) ? (-925211754) : (-925211753)); - break; - } - case 12: - num7 = _202E_206E_206B_200F_202E_200B_200D_200D_206F_202B_202D_202C_200C_206E_200F_206F_202B_200F_200B_206A_206A_200C_206F_200E_200B_200F_200C_206E_206C_202E_202D_200F_200C_206D_206E_202D_202A_200D_200D_202E_202E(dutyOptions); - num = ((!_configuration.Duties.BlacklistedDutyCfcIds.Contains(num7)) ? (-925211756) : (-925211748)); - break; - case 11: - num = (_configuration.Duties.RunInstancedContentWithAutoDuty ? (-925211747) : (-925211755)); - break; - } + return false; } + if (!_configuration.Duties.RunInstancedContentWithAutoDuty) + { + return false; + } + uint contentFinderConditionId = dutyOptions.ContentFinderConditionId; + if (_configuration.Duties.BlacklistedDutyCfcIds.Contains(contentFinderConditionId)) + { + return false; + } + if (_configuration.Duties.WhitelistedDutyCfcIds.Contains(contentFinderConditionId) && _territoryData.TryGetContentFinderCondition(contentFinderConditionId, out TerritoryData.ContentFinderConditionData _)) + { + return true; + } + if (DutyRegistry.Duties.TryGetValue(contentFinderConditionId, out DutyEntry value) && value.Enabled) + { + return HasPath(contentFinderConditionId); + } + return false; } public bool IsConfiguredToRunLevelingMode() @@ -156,238 +114,99 @@ internal sealed class AutoDutyIpc return _configuration.Duties.RunLevelingModeWhenUnderleveled; } - [MethodImpl(MethodImplOptions.NoInlining)] public bool IsConfiguredToRunLevelingMode(int currentPlayerLevel) { - int num = (_configuration.Duties.RunLevelingModeWhenUnderleveled ? 1846348049 : 1846348050); - while (true) + if (!_configuration.Duties.RunLevelingModeWhenUnderleveled) { - int num2 = num; - int num3 = 1846348051; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = ((currentPlayerLevel >= 15) ? 1846348055 : 1846348051); - break; - case 0: - _206C_200E_202E_200E_206A_202E_202C_206D_202B_200B_200D_200F_202D_206B_206D_200E_202A_202C_202E_206A_200D_200C_200F_206A_202E_206A_200E_200B_200D_200D_200F_202D_202B_200C_206C_206C_200B_206F_206C_202A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1066385664), new object[2] { currentPlayerLevel, 15 }); - return false; - case 3: - num = 1846348050; - break; - case 1: - return false; - case 4: - return true; - } + return false; } + if (currentPlayerLevel < 15) + { + _logger.LogDebug("Leveling mode is enabled but player level {CurrentLevel} is below minimum required level {MinLevel}", currentPlayerLevel, 15); + return false; + } + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public bool HasPath(uint cfcId) { - int num = (_territoryData.TryGetContentFinderCondition(cfcId, out TerritoryData.ContentFinderConditionData contentFinderConditionData) ? (-1822320114) : (-1822320115)); - while (true) + if (!_territoryData.TryGetContentFinderCondition(cfcId, out TerritoryData.ContentFinderConditionData contentFinderConditionData)) { - int num2 = num; - int num3 = -1822320113; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return false; + } + try + { + return _contentHasPath.InvokeFunc(contentFinderConditionData.TerritoryId); + } + catch (IpcError ipcError) + { + if (!_loggedContentHasPathQueryWarning) { - case 0: - goto IL_0054; - case 2: - return false; - case 1: - try - { - return _contentHasPath.InvokeFunc(contentFinderConditionData.TerritoryId); - } - catch (IpcError ipcError) - { - num = (_loggedContentHasPathQueryWarning ? 1942042922 : 1942042921); - while (true) - { - int num5 = num; - num3 = 1942042923; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1942042921; - break; - case 2: - _206E_206F_206B_206E_206D_202D_206A_200F_206B_206D_206D_200D_202B_200E_200E_206B_202C_200D_202C_206E_206E_202C_200C_206A_200B_206B_206E_206D_206A_202D_202D_206E_200B_206F_200E_200C_206F_200E_202D_206E_202E((ILogger)_logger, 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(63973339), new object[2] - { - contentFinderConditionData.TerritoryId, - _202E_206B_200C_202D_200C_200F_206D_200C_206F_206A_200B_202E_202B_206D_200C_206C_200E_206E_206B_202B_206F_206F_202E_202E_202A_200D_200E_200C_200D_202C_200C_200D_202D_202D_202B_202E_202D_202D_202C_202D_202E((Exception)ipcError) - }); - _loggedContentHasPathQueryWarning = true; - num = 1942042922; - break; - case 1: - return false; - } - } - } + _logger.LogWarning("Unable to query AutoDuty for path in territory {TerritoryType}: {Message}", contentFinderConditionData.TerritoryId, ipcError.Message); + _loggedContentHasPathQueryWarning = true; } - continue; - IL_0054: - num = -1822320115; + return false; } } - [MethodImpl(MethodImplOptions.NoInlining)] public void StartInstance(uint cfcId, DutyMode dutyMode) { - int num = (_territoryData.TryGetContentFinderCondition(cfcId, out TerritoryData.ContentFinderConditionData contentFinderConditionData) ? (-1305610251) : (-1305610252)); - string arg = default(string); - while (true) + if (!_territoryData.TryGetContentFinderCondition(cfcId, out TerritoryData.ContentFinderConditionData contentFinderConditionData)) { - int num2 = num; - int num3 = -1305610251; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + throw new TaskException($"Unknown ContentFinderConditionId {cfcId}"); + } + try + { + _logger.LogDebug("Disabling AutoDuty leveling mode before starting specific duty {CfcId}", cfcId); + _setConfig.InvokeAction("leveling", "None"); + _setConfig.InvokeAction("Unsynced", $"{dutyMode == DutyMode.UnsyncRegular}"); + ICallGateSubscriber setConfig = _setConfig; + setConfig.InvokeAction("dutyModeEnum", dutyMode switch { - case 2: - goto IL_0057; - case 1: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(33, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1265777789)); - defaultInterpolatedStringHandler.AppendFormatted(cfcId); - throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 0: - try - { - _206C_200E_202E_200E_206A_202E_202C_206D_202B_200B_200D_200F_202D_206B_206D_200E_202A_202C_202E_206A_200D_200C_200F_206A_202E_206A_200E_200B_200D_200D_200F_202D_202B_200C_206C_206C_200B_206F_206C_202A_202E((ILogger)_logger, 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(-95990036), new object[1] { cfcId }); - _setConfig.InvokeAction(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1128026998), 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(474422561)); - _setConfig.InvokeAction(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-135408714), $"{dutyMode == DutyMode.UnsyncRegular}"); - ICallGateSubscriber setConfig = _setConfig; - num = ((dutyMode == DutyMode.Support) ? (-858161534) : (-858161535)); - while (true) - { - int num5 = num; - num3 = -858161529; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = -858161535; - break; - case 5: - arg = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(831199868); - num = -858161531; - break; - case 1: - num = -858161529; - break; - case 3: - arg = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-669754596); - num = -858161531; - break; - case 6: - num = ((dutyMode == DutyMode.UnsyncRegular) ? (-858161532) : (-858161530)); - break; - case 0: - throw _202B_202C_206C_206A_206F_206E_200D_202C_206A_202C_206A_200B_206F_200C_202E_202C_202B_206D_202E_206C_206B_200B_206A_202E_206D_206E_202B_202D_206C_200C_206E_206F_202D_202C_202C_206B_202A_200E_200E_200F_202E(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(428627433), (object)dutyMode, (string)null); - case 2: - setConfig.InvokeAction(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(508209007), arg); - _run.InvokeAction(contentFinderConditionData.TerritoryId, 1, !_configuration.Advanced.DisableAutoDutyBareMode); - return; - } - } - } - catch (IpcError ipcError) - { - throw new TaskException(_202B_200E_206A_200C_206C_206B_202B_200F_200B_202B_202C_206F_202D_206D_200E_206C_206D_206C_206F_202D_200C_206F_200F_200F_206C_200E_206A_202B_202C_200E_206A_202E_206F_200C_206C_202A_200B_200E_206D_202C_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(1617899895), _202E_206B_200C_202D_200C_200F_206D_200C_206F_206A_200B_202E_202B_206D_200C_206C_200E_206E_206B_202B_206F_206F_202E_202E_202A_200D_200E_200C_200D_202C_200C_200D_202D_202D_202B_202E_202D_202D_202C_202D_202E((Exception)ipcError)), ipcError); - } - } - continue; - IL_0057: - num = -1305610252; + DutyMode.Support => "Support", + DutyMode.UnsyncRegular => "Regular", + _ => throw new ArgumentOutOfRangeException("dutyMode", dutyMode, null), + }); + _run.InvokeAction(contentFinderConditionData.TerritoryId, 1, !_configuration.Advanced.DisableAutoDutyBareMode); + } + catch (IpcError ipcError) + { + throw new TaskException("Unable to run content with AutoDuty: " + ipcError.Message, ipcError); } } - [MethodImpl(MethodImplOptions.NoInlining)] public bool StartLevelingMode() { try { - int num = (IsStopped() ? 1638080603 : 1638080602); - while (true) + if (!IsStopped()) { - int num2 = num; - int num3 = 1638080603; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_004c; - case 1: - _206C_200E_202E_200E_206A_202E_202C_206D_202B_200B_200D_200F_202D_206B_206D_200E_202A_202C_202E_206A_200D_200C_200F_206A_202E_206A_200E_200B_200D_200D_200F_202D_202B_200C_206C_206C_200B_206F_206C_202A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(294195478), Array.Empty()); - return true; - case 0: - _206C_200E_202E_200E_206A_202E_202C_206D_202B_200B_200D_200F_202D_206B_206D_200E_202A_202C_202E_206A_200D_200C_200F_206A_202E_206A_200E_200B_200D_200D_200F_202D_202B_200C_206C_206C_200B_206F_206C_202A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-451238822), Array.Empty()); - _setConfig.InvokeAction(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1303258245), 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(-482605368)); - _setConfig.InvokeAction(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1814589717), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-426031024)); - _start.InvokeAction(arg1: true); - return true; - } - continue; - IL_004c: - num = 1638080602; + _logger.LogDebug("AutoDuty is already running, not starting leveling mode again"); + return true; } + _logger.LogDebug("Starting AutoDuty Leveling mode (Support) - AutoDuty will select the best dungeon"); + _setConfig.InvokeAction("leveling", "Support"); + _setConfig.InvokeAction("AutoDutyModeEnum", "Looping"); + _start.InvokeAction(arg1: true); + return true; } catch (IpcError ipcError) { - int num = (_loggedLevelingModeWarning ? (-312465232) : (-312465229)); - while (true) + if (!_loggedLevelingModeWarning) { - int num5 = num; - int num3 = -312465231; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -312465229; - break; - case 2: - _206E_206F_206B_206E_206D_202D_206A_200F_206B_206D_206D_200D_202B_200E_200E_206B_202C_200D_202C_206E_206E_202C_200C_206A_200B_206B_206E_206D_206A_202D_202D_206E_200B_206F_200E_200C_206F_200E_202D_206E_202E((ILogger)_logger, 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(1771489609), new object[1] { _202E_206B_200C_202D_200C_200F_206D_200C_206F_206A_200B_202E_202B_206D_200C_206C_200E_206E_206B_202B_206F_206F_202E_202E_202A_200D_200E_200C_200D_202C_200C_200D_202D_202D_202B_202E_202D_202D_202C_202D_202E((Exception)ipcError) }); - _loggedLevelingModeWarning = true; - num = -312465232; - break; - case 1: - return false; - } + _logger.LogWarning("Unable to start AutoDuty Leveling mode: {Message}", ipcError.Message); + _loggedLevelingModeWarning = true; } + return false; } - catch (Exception ex) + catch (Exception exception) { - int num = (_loggedLevelingModeWarning ? (-1904773867) : (-1904773868)); - while (true) + if (!_loggedLevelingModeWarning) { - int num6 = num; - int num3 = -1904773867; - int num4 = num6; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1904773868; - break; - case 1: - _206A_200E_200F_206D_206C_200E_202D_200D_206B_206B_206E_202E_200C_206C_200F_202D_206D_202E_200C_200E_200C_206B_206E_202E_200F_202A_206C_200D_202A_200C_202A_206A_206C_202A_200B_200C_206D_202C_202A_200D_202E((ILogger)_logger, ex, 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(-1702682282), Array.Empty()); - _loggedLevelingModeWarning = true; - num = -1904773867; - break; - case 0: - return false; - } + _logger.LogWarning(exception, "Unable to start AutoDuty Leveling mode"); + _loggedLevelingModeWarning = true; } + return false; } } @@ -403,15 +222,14 @@ internal sealed class AutoDutyIpc } } - [MethodImpl(MethodImplOptions.NoInlining)] public bool Stop() { try { - _206C_200E_202E_200E_206A_202E_202C_206D_202B_200B_200D_200F_202D_206B_206D_200E_202A_202C_202E_206A_200D_200C_200F_206A_202E_206A_200E_200B_200D_200D_200F_202D_202B_200C_206C_206C_200B_206F_206C_202A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1093041537), Array.Empty()); + _logger.LogDebug("Calling AutoDuty.Stop"); try { - _setConfig.InvokeAction(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1128026998), 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(474422561)); + _setConfig.InvokeAction("leveling", "None"); } catch (IpcError) { @@ -421,48 +239,8 @@ internal sealed class AutoDutyIpc } catch (IpcError ipcError2) { - _206E_206F_206B_206E_206D_202D_206A_200F_206B_206D_206D_200D_202B_200E_200E_206B_202C_200D_202C_206E_206E_202C_200C_206A_200B_206B_206E_206D_206A_202D_202D_206E_200B_206F_200E_200C_206F_200E_202D_206E_202E((ILogger)_logger, 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(1903796332), new object[1] { _202E_206B_200C_202D_200C_200F_206D_200C_206F_206A_200B_202E_202B_206D_200C_206C_200E_206E_206B_202B_206F_206F_202E_202E_202A_200D_200E_200C_200D_202C_200C_200D_202D_202D_202B_202E_202D_202D_202C_202D_202E((Exception)ipcError2) }); + _logger.LogWarning("Unable to stop AutoDuty: {Message}", ipcError2.Message); return false; } } - - static bool _206A_200D_200D_206E_202C_200E_200F_202C_200C_200F_206E_200E_206B_206D_200B_202A_202E_202D_206F_206D_200C_200B_206A_206C_200E_206B_206F_206D_202E_206D_206B_200F_202E_202E_202A_202C_202E_200C_202C_206A_202E(string P_0, string P_1, StringComparison P_2) - { - return string.Equals(P_0, P_1, P_2); - } - - static uint _202E_206E_206B_200F_202E_200B_200D_200D_206F_202B_202D_202C_200C_206E_200F_206F_202B_200F_200B_206A_206A_200C_206F_200E_200B_200F_200C_206E_206C_202E_202D_200F_200C_206D_206E_202D_202A_200D_200D_202E_202E(DutyOptions P_0) - { - return P_0.ContentFinderConditionId; - } - - static void _206C_200E_202E_200E_206A_202E_202C_206D_202B_200B_200D_200F_202D_206B_206D_200E_202A_202C_202E_206A_200D_200C_200F_206A_202E_206A_200E_200B_200D_200D_200F_202D_202B_200C_206C_206C_200B_206F_206C_202A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static string _202E_206B_200C_202D_200C_200F_206D_200C_206F_206A_200B_202E_202B_206D_200C_206C_200E_206E_206B_202B_206F_206F_202E_202E_202A_200D_200E_200C_200D_202C_200C_200D_202D_202D_202B_202E_202D_202D_202C_202D_202E(Exception P_0) - { - return P_0.Message; - } - - static void _206E_206F_206B_206E_206D_202D_206A_200F_206B_206D_206D_200D_202B_200E_200E_206B_202C_200D_202C_206E_206E_202C_200C_206A_200B_206B_206E_206D_206A_202D_202D_206E_200B_206F_200E_200C_206F_200E_202D_206E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static ArgumentOutOfRangeException _202B_202C_206C_206A_206F_206E_200D_202C_206A_202C_206A_200B_206F_200C_202E_202C_202B_206D_202E_206C_206B_200B_206A_202E_206D_206E_202B_202D_206C_200C_206E_206F_202D_202C_202C_206B_202A_200E_200E_200F_202E(string P_0, object P_1, string P_2) - { - return new ArgumentOutOfRangeException(P_0, P_1, P_2); - } - - static string _202B_200E_206A_200C_206C_206B_202B_200F_200B_202B_202C_206F_202D_206D_200E_206C_206D_206C_206F_202D_200C_206F_200F_200F_206C_200E_206A_202B_202C_200E_206A_202E_206F_200C_206C_202A_200B_200E_206D_202C_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static void _206A_200E_200F_206D_206C_200E_202D_200D_206B_206B_206E_202E_200C_206C_200F_202D_206D_202E_200C_200E_200C_206B_206E_202E_200F_202A_206C_200D_202A_200C_202A_206A_206C_202A_200B_200C_206D_202C_202A_200D_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogWarning(P_1, P_2, P_3); - } } diff --git a/Questionable/Questionable.External/AutoHookIpc.cs b/Questionable/Questionable.External/AutoHookIpc.cs index 6643909..88e4c8d 100644 --- a/Questionable/Questionable.External/AutoHookIpc.cs +++ b/Questionable/Questionable.External/AutoHookIpc.cs @@ -1,5 +1,3 @@ -using System; -using System.Runtime.CompilerServices; using Dalamud.Plugin; using Dalamud.Plugin.Ipc; using Dalamud.Plugin.Ipc.Exceptions; @@ -25,17 +23,16 @@ internal sealed class AutoHookIpc private readonly ICallGateSubscriber _deleteAllAnonymousPresets; - [MethodImpl(MethodImplOptions.NoInlining)] public AutoHookIpc(IDalamudPluginInterface pluginInterface, ILogger logger) { _logger = logger; - _getPluginState = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1163699998)); - _setPluginState = pluginInterface.GetIpcSubscriber(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(-981353761)); - _getAutoStartFishing = pluginInterface.GetIpcSubscriber(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(723530020)); - _setAutoStartFishing = pluginInterface.GetIpcSubscriber(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(960202505)); - _swapBaitById = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1702658080)); - _createAndSelectAnonymousPreset = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(390173512)); - _deleteAllAnonymousPresets = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-472019215)); + _getPluginState = pluginInterface.GetIpcSubscriber("AutoHook.GetPluginState"); + _setPluginState = pluginInterface.GetIpcSubscriber("AutoHook.SetPluginState"); + _getAutoStartFishing = pluginInterface.GetIpcSubscriber("AutoHook.GetAutoStartFishing"); + _setAutoStartFishing = pluginInterface.GetIpcSubscriber("AutoHook.SetAutoStartFishing"); + _swapBaitById = pluginInterface.GetIpcSubscriber("AutoHook.SwapBaitById"); + _createAndSelectAnonymousPreset = pluginInterface.GetIpcSubscriber("AutoHook.CreateAndSelectAnonymousPreset"); + _deleteAllAnonymousPresets = pluginInterface.GetIpcSubscriber("AutoHook.DeleteAllAnonymousPresets"); } public bool IsAvailable() @@ -51,102 +48,90 @@ internal sealed class AutoHookIpc } } - [MethodImpl(MethodImplOptions.NoInlining)] public bool GetPluginState() { try { return _getPluginState.InvokeFunc(); } - catch (IpcError ipcError) + catch (IpcError exception) { - _200F_202B_202A_202A_206E_200E_206C_202E_206F_202B_206B_206F_206A_202D_202C_200F_202C_202C_200F_206D_206E_202A_206A_206F_202B_202A_206A_206C_206F_206D_202D_202E_202D_206C_200E_202E_202B_206E_202B_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(944880881), Array.Empty()); + _logger.LogError(exception, "Unable to get AutoHook plugin state"); return false; } } - [MethodImpl(MethodImplOptions.NoInlining)] public void SetPluginState(bool enabled) { try { _setPluginState.InvokeAction(enabled); } - catch (IpcError ipcError) + catch (IpcError exception) { - _200F_202B_202A_202A_206E_200E_206C_202E_206F_202B_206B_206F_206A_202D_202C_200F_202C_202C_200F_206D_206E_202A_206A_206F_202B_202A_206A_206C_206F_206D_202D_202E_202D_206C_200E_202E_202B_206E_202B_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1416285307), Array.Empty()); + _logger.LogError(exception, "Unable to set AutoHook plugin state"); } } - [MethodImpl(MethodImplOptions.NoInlining)] public bool GetAutoStartFishing() { try { return _getAutoStartFishing.InvokeFunc(); } - catch (IpcError ipcError) + catch (IpcError exception) { - _200F_202B_202A_202A_206E_200E_206C_202E_206F_202B_206B_206F_206A_202D_202C_200F_202C_202C_200F_206D_206E_202A_206A_206F_202B_202A_206A_206C_206F_206D_202D_202E_202D_206C_200E_202E_202B_206E_202B_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-795018389), Array.Empty()); + _logger.LogError(exception, "Unable to get AutoHook auto-start fishing state"); return false; } } - [MethodImpl(MethodImplOptions.NoInlining)] public void SetAutoStartFishing(bool enabled) { try { _setAutoStartFishing.InvokeAction(enabled); } - catch (IpcError ipcError) + catch (IpcError exception) { - _200F_202B_202A_202A_206E_200E_206C_202E_206F_202B_206B_206F_206A_202D_202C_200F_202C_202C_200F_206D_206E_202A_206A_206F_202B_202A_206A_206C_206F_206D_202D_202E_202D_206C_200E_202E_202B_206E_202B_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1390121576), Array.Empty()); + _logger.LogError(exception, "Unable to set AutoHook auto-start fishing state"); } } - [MethodImpl(MethodImplOptions.NoInlining)] public bool SwapBaitById(uint baitId) { try { return _swapBaitById.InvokeFunc(baitId); } - catch (IpcError ipcError) + catch (IpcError exception) { - _200F_202B_202A_202A_206E_200E_206C_202E_206F_202B_206B_206F_206A_202D_202C_200F_202C_202C_200F_206D_206E_202A_206A_206F_202B_202A_206A_206C_206F_206D_202D_202E_202D_206C_200E_202E_202B_206E_202B_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2110450433), new object[1] { baitId }); + _logger.LogError(exception, "Unable to swap bait to {BaitId}", baitId); return false; } } - [MethodImpl(MethodImplOptions.NoInlining)] public void CreateAndSelectAnonymousPreset(string compressedPreset) { try { _createAndSelectAnonymousPreset.InvokeAction(compressedPreset); } - catch (IpcError ipcError) + catch (IpcError exception) { - _200F_202B_202A_202A_206E_200E_206C_202E_206F_202B_206B_206F_206A_202D_202C_200F_202C_202C_200F_206D_206E_202A_206A_206F_202B_202A_206A_206C_206F_206D_202D_202E_202D_206C_200E_202E_202B_206E_202B_202E_202E((ILogger)_logger, (Exception)ipcError, 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(-1997912851), Array.Empty()); + _logger.LogError(exception, "Unable to create and select anonymous AutoHook preset"); } } - [MethodImpl(MethodImplOptions.NoInlining)] public void DeleteAllAnonymousPresets() { try { _deleteAllAnonymousPresets.InvokeAction(); } - catch (IpcError ipcError) + catch (IpcError exception) { - _200F_202B_202A_202A_206E_200E_206C_202E_206F_202B_206B_206F_206A_202D_202C_200F_202C_202C_200F_206D_206E_202A_206A_206F_202B_202A_206A_206C_206F_206D_202D_202E_202D_206C_200E_202E_202B_206E_202B_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1325301918), Array.Empty()); + _logger.LogError(exception, "Unable to delete anonymous AutoHook presets"); } } - - static void _200F_202B_202A_202A_206E_200E_206C_202E_206F_202B_206B_206F_206A_202D_202C_200F_202C_202C_200F_206D_206E_202A_206A_206F_202B_202A_206A_206C_206F_206D_202D_202E_202D_206C_200E_202E_202B_206E_202B_202E_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } } diff --git a/Questionable/Questionable.External/AutomatonIpc.cs b/Questionable/Questionable.External/AutomatonIpc.cs index a689946..49ed01e 100644 --- a/Questionable/Questionable.External/AutomatonIpc.cs +++ b/Questionable/Questionable.External/AutomatonIpc.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Collections.Immutable; -using System.Runtime.CompilerServices; using Dalamud.Plugin; using Dalamud.Plugin.Services; using LLib.External; @@ -15,18 +14,8 @@ internal sealed class AutomatonIpc : IDisposable { internal static readonly ImmutableHashSet ConflictingTweaks = new HashSet { - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(455881545), - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1927304316), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(157982794), - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(482045276), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-42215246), - 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(644875872), - 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(1345044293), - 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(67389204), - 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(1780504317), - 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(-227677374), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(296780267), - 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(-1211232634) + "DateWithDestiny", "AutoFollow", "ClickToMove", "AutoPillion", "AutoInvite", "AutoBusy", "FateToolKit", "AutoQueue", "EnhancedDutyStartEnd", "EnhancedLoginLogout", + "GettingTooAttached", "RetrieveMateria" }.ToImmutableHashSet(); internal const string AutoSnipeTweak = "AutoSnipeQuests"; @@ -53,7 +42,6 @@ internal sealed class AutomatonIpc : IDisposable private bool _wasFateRunning; - [MethodImpl(MethodImplOptions.NoInlining)] public AutomatonIpc(Configuration configuration, IDalamudPluginInterface pluginInterface, QuestController questController, FateController fateController, SeasonalDutyController seasonalDutyController, CustomDeliveryController customDeliveryController, TerritoryData territoryData, IClientState clientState, IFramework framework, ILogger logger) { _configuration = configuration; @@ -65,206 +53,69 @@ internal sealed class AutomatonIpc : IDisposable _clientState = clientState; _framework = framework; _logger = logger; - _pauser = _202A_202E_206A_206E_206C_206E_206D_206C_200F_202A_202E_202A_200C_206D_206D_200F_206C_202E_200B_206F_202E_206C_202B_202D_202C_202A_206A_202E_200B_200C_202C_206B_200B_202B_206C_200C_202A_206F_202C_202C_202E(pluginInterface, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1188512438), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1582374739), (ILogger)logger); + _pauser = new PluginFeaturePauser(pluginInterface, "Automaton.IsTweakEnabled", "Automaton.SetTweakState", logger); _questController.AutomationTypeChanged += OnAutomationTypeChanged; - _202E_200F_200F_200B_206A_200C_202A_206F_202B_200E_206B_200B_200D_200C_206D_202C_200E_202D_200E_200D_202E_202E_206E_202C_206A_200D_206F_206C_200D_200B_206B_200E_202B_200B_202C_202A_206C_206C_202B_206B_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkUpdate); + _framework.Update += OnFrameworkUpdate; } private void OnAutomationTypeChanged(object sender, QuestController.EAutomationType automationType) { - int num = ((automationType == QuestController.EAutomationType.Manual) ? 1465244874 : 1465244872); - while (true) + if (automationType != QuestController.EAutomationType.Manual && !_territoryData.IsDutyInstance(_clientState.TerritoryType)) { - int num2 = num; - int num3 = 1465244874; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + InvokeGuarded(DisableConflictingTweaks); + } + else if (!_fateController.IsRunning && !_seasonalDutyController.IsRunning && !_customDeliveryController.IsRunning) + { + InvokeGuarded(delegate { - case 1: - num = (_seasonalDutyController.IsRunning ? 1465244876 : 1465244873); - break; - case 2: - num = (_territoryData.IsDutyInstance(_200B_202B_202B_202C_200E_202D_200E_202A_206E_200E_206C_202A_206E_200F_200D_202B_202B_200D_202A_200D_206A_202C_200C_206D_202E_202C_202B_206C_202C_206B_202B_206A_202E_202B_206E_200E_206E_200F_206C_202C_202E(_clientState)) ? 1465244874 : 1465244878); - break; - case 5: - num = 1465244872; - break; - case 6: - return; - case 7: - InvokeGuarded(delegate - { - _202E_200B_200B_206D_202E_202B_202E_200E_206C_202A_206E_202B_202C_202A_200E_202E_200D_202D_206F_202D_200F_202D_202E_206E_200B_200E_202B_200C_202D_202E_200B_200E_200C_202B_206F_200F_206F_206D_206C_206F_202E(_pauser); - }); - num = 1465244876; - break; - case 3: - num = (_customDeliveryController.IsRunning ? 1465244876 : 1465244877); - break; - case 0: - num = (_fateController.IsRunning ? 1465244876 : 1465244875); - break; - case 4: - InvokeGuarded(DisableConflictingTweaks); - return; - } + _pauser.Restore(); + }); } } private void OnFrameworkUpdate(IFramework framework) { - int num = (_fateController.IsRunning ? 767145126 : 767145129); - bool flag = default(bool); - while (true) + bool flag = _fateController.IsRunning || _seasonalDutyController.IsRunning || _customDeliveryController.IsRunning; + if (flag == _wasFateRunning) { - int num2 = num; - int num3 = 767145123; - int num4 = num2; - int num5; - switch ((num4 | num3) - (num4 & num3)) + return; + } + _wasFateRunning = flag; + if (flag && !_territoryData.IsDutyInstance(_clientState.TerritoryType)) + { + InvokeGuarded(DisableConflictingTweaks); + } + else if (_questController.AutomationType == QuestController.EAutomationType.Manual) + { + InvokeGuarded(delegate { - case 0: - num = 767145129; - break; - case 1: - InvokeGuarded(delegate - { - _202E_200B_200B_206D_202E_202B_202E_200E_206C_202A_206E_202B_202C_202A_200E_202E_200D_202D_206F_202D_200F_202D_202E_206E_200B_200E_202B_200C_202D_202E_200B_200E_200C_202B_206F_200F_206F_206D_206C_206F_202E(_pauser); - }); - num = 767145130; - break; - case 7: - num = ((_questController.AutomationType != QuestController.EAutomationType.Manual) ? 767145130 : 767145122); - break; - case 6: - InvokeGuarded(DisableConflictingTweaks); - return; - case 8: - num5 = (_customDeliveryController.IsRunning ? 1 : 0); - goto IL_013c; - case 3: - _wasFateRunning = flag; - num = ((!flag) ? 767145124 : 767145127); - break; - case 4: - num = (_territoryData.IsDutyInstance(_200B_202B_202B_202C_200E_202D_200E_202A_206E_200E_206C_202A_206E_200F_200D_202B_202B_200D_202A_200D_206A_202C_200C_206D_202E_202C_202B_206C_202C_206B_202B_206A_202E_202B_206E_200E_206E_200F_206C_202C_202E(_clientState)) ? 767145124 : 767145125); - break; - case 5: - num5 = 1; - goto IL_013c; - case 9: - return; - case 10: - num = (_seasonalDutyController.IsRunning ? 767145126 : 767145131); - break; - case 2: - return; - IL_013c: - flag = (byte)num5 != 0; - num = ((flag != _wasFateRunning) ? 767145120 : 767145121); - break; - } + _pauser.Restore(); + }); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void InvokeGuarded(Action action) { try { action(); } - catch (Exception ex) + catch (Exception exception) { - _206A_202D_200F_206E_206D_206C_202B_202B_202E_206D_206E_200D_202C_202E_200E_206C_206D_200D_206E_200F_206D_206C_200D_206B_202A_202E_206C_202D_200C_206D_202D_206B_200B_202E_202D_202A_202B_206C_202C_200E_202E((ILogger)_logger, ex, 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(1444366568), Array.Empty()); + _logger.LogError(exception, "Automaton IPC call failed"); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DisableConflictingTweaks() { - int num = (_configuration.General.AutoSnipe ? (-1792713468) : (-1792713465)); - ImmutableHashSet immutableHashSet; - while (true) - { - int num2 = num; - int num3 = -1792713467; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 1: - immutableHashSet = ConflictingTweaks.Add(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(899890205)); - break; - case 2: - immutableHashSet = ConflictingTweaks; - break; - case 0: - goto IL_009e; - } - break; - IL_009e: - num = -1792713465; - } - ImmutableHashSet immutableHashSet2 = immutableHashSet; - _206C_202B_200C_206A_200C_206B_206F_202C_200F_202B_206C_206F_206D_200C_200F_202D_202E_200B_206D_202E_206E_200E_200E_202E_202E_206D_200D_200B_202B_200E_200C_206E_206A_206E_202B_200C_206E_206A_200F_202E_202E(_pauser, (IEnumerable)immutableHashSet2.Except(_configuration.Advanced.AutomatonTweakExclusions)); + ImmutableHashSet immutableHashSet = (_configuration.General.AutoSnipe ? ConflictingTweaks.Add("AutoSnipeQuests") : ConflictingTweaks); + _pauser.Disable(immutableHashSet.Except(_configuration.Advanced.AutomatonTweakExclusions)); } public void Dispose() { - _206D_200C_202A_206D_202A_202E_202A_200E_206F_206B_202A_200B_200E_206A_206C_206F_206D_202A_200E_206A_206A_206B_202A_202B_206D_206E_202C_200F_206C_202D_202E_206F_202A_202C_202A_206F_200E_202C_200F_202C_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkUpdate); + _framework.Update -= OnFrameworkUpdate; _questController.AutomationTypeChanged -= OnAutomationTypeChanged; - _202D_202A_200C_206A_200C_206F_200C_200C_202C_202D_200B_206F_206A_202A_200C_200F_206C_202A_202D_206E_206E_206C_206D_200E_202E_206A_206F_200D_202D_200C_202B_202E_200D_200D_206B_202C_206B_202A_202B_206C_202E(_pauser); - } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static PluginFeaturePauser _202A_202E_206A_206E_206C_206E_206D_206C_200F_202A_202E_202A_200C_206D_206D_200F_206C_202E_200B_206F_202E_206C_202B_202D_202C_202A_206A_202E_200B_200C_202C_206B_200B_202B_206C_200C_202A_206F_202C_202C_202E(IDalamudPluginInterface P_0, string P_1, string P_2, ILogger P_3) - { - return new PluginFeaturePauser(P_0, P_1, P_2, P_3); - } - - static void _202E_200F_200F_200B_206A_200C_202A_206F_202B_200E_206B_200B_200D_200C_206D_202C_200E_202D_200E_200D_202E_202E_206E_202C_206A_200D_206F_206C_200D_200B_206B_200E_202B_200B_202C_202A_206C_206C_202B_206B_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1) - { - P_0.Update += P_1; - } - - static uint _200B_202B_202B_202C_200E_202D_200E_202A_206E_200E_206C_202A_206E_200F_200D_202B_202B_200D_202A_200D_206A_202C_200C_206D_202E_202C_202B_206C_202C_206B_202B_206A_202E_202B_206E_200E_206E_200F_206C_202C_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static void _206A_202D_200F_206E_206D_206C_202B_202B_202E_206D_206E_200D_202C_202E_200E_206C_206D_200D_206E_200F_206D_206C_200D_206B_202A_202E_206C_202D_200C_206D_202D_206B_200B_202E_202D_202A_202B_206C_202C_200E_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } - - static void _206C_202B_200C_206A_200C_206B_206F_202C_200F_202B_206C_206F_206D_200C_200F_202D_202E_200B_206D_202E_206E_200E_200E_202E_202E_206D_200D_200B_202B_200E_200C_206E_206A_206E_202B_200C_206E_206A_200F_202E_202E(PluginFeaturePauser P_0, IEnumerable P_1) - { - P_0.Disable(P_1); - } - - static void _206D_200C_202A_206D_202A_202E_202A_200E_206F_206B_202A_200B_200E_206A_206C_206F_206D_202A_200E_206A_206A_206B_202A_202B_206D_206E_202C_200F_206C_202D_202E_206F_202A_202C_202A_206F_200E_202C_200F_202C_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1) - { - P_0.Update -= P_1; - } - - static void _202D_202A_200C_206A_200C_206F_200C_200C_202C_202D_200B_206F_206A_202A_200C_200F_206C_202A_202D_206E_206E_206C_206D_200E_202E_206A_206F_200D_202D_200C_202B_202E_200D_200D_206B_202C_206B_202A_202B_206C_202E(PluginFeaturePauser P_0) - { - P_0.Dispose(); - } - - static void _202E_200B_200B_206D_202E_202B_202E_200E_206C_202A_206E_202B_202C_202A_200E_202E_200D_202D_206F_202D_200F_202D_202E_206E_200B_200E_202B_200C_202D_202E_200B_200E_200C_202B_206F_200F_206F_206D_206C_206F_202E(PluginFeaturePauser P_0) - { - P_0.Restore(); + _pauser.Dispose(); } } diff --git a/Questionable/Questionable.External/BossModIpc.cs b/Questionable/Questionable.External/BossModIpc.cs index 2be170f..42a5ae9 100644 --- a/Questionable/Questionable.External/BossModIpc.cs +++ b/Questionable/Questionable.External/BossModIpc.cs @@ -2,19 +2,12 @@ using System; using System.Collections.Frozen; using System.Collections.Generic; using System.Linq; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -using System.Text; -using System.Threading.Tasks; -using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin; using Dalamud.Plugin.Ipc; using Dalamud.Plugin.Ipc.Exceptions; using Dalamud.Plugin.Services; using LLib.GameData; -using Lumina.Excel; -using Lumina.Excel.Sheets; using Microsoft.Extensions.Logging; using Questionable.Data; using Questionable.Model.Questing; @@ -23,147 +16,7 @@ namespace Questionable.External; internal sealed class BossModIpc : IDisposable { - private sealed record Strategy(string Module, string Track, string Option) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206C_206E_202E_202E_206F_200B_202C_200C_206E_200F_206C_202D_202B_206F_202E_202E_202B_206F_202E_202B_206C_202B_202C_200F_200C_200D_202D_202B_206D_206D_200B_200D_202B_200E_202E_206A_200E_200C_202C_202E_202E(typeof(Strategy).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200B_202E_202B_206F_206E_200B_200E_202E_202A_202A_206E_202E_206C_202D_200D_202A_202D_206A_206C_202C_200E_206A_202A_200B_202D_200E_202B_202D_202B_206D_202D_206E_206A_206C_200B_206E_202A_200C_206D_200D_202E(); - _200D_200D_206A_202E_206F_206B_200E_206A_200E_200C_200B_206C_206F_206B_206B_200E_202D_200E_202D_202E_200B_206F_202C_206D_206E_202C_206D_202D_206D_206D_202E_206B_206E_206B_202D_202B_200B_206F_200C_200E_202E(stringBuilder, 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(-1113697063)); - _200D_200D_206A_202E_206F_206B_200E_206A_200E_200C_200B_206C_206F_206B_206B_200E_202D_200E_202D_202E_200B_206F_202C_206D_206E_202C_206D_202D_206D_206D_202E_206B_206E_206B_202D_202B_200B_206F_200C_200E_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(556540328)); - int num = ((!PrintMembers(stringBuilder)) ? (-1006362783) : (-1006362782)); - while (true) - { - int num2 = num; - int num3 = -1006362784; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1006362782; - break; - case 2: - _206F_202E_200E_202C_200D_206F_200E_202A_202D_206B_206D_200D_200D_202B_206E_202C_200D_206C_200B_202C_202C_202A_200D_202A_206F_200D_206D_200E_200D_200F_206E_206F_202E_206C_202B_206F_200B_206C_206C_206C_202E(stringBuilder, ' '); - num = -1006362783; - break; - case 1: - _206F_202E_200E_202C_200D_206F_200E_202A_202D_206B_206D_200D_200D_202B_206E_202C_200D_206C_200B_202C_202C_202A_200D_202A_206F_200D_206D_200E_200D_200F_206E_206F_202E_206C_202B_206F_200B_206C_206C_206C_202E(stringBuilder, '}'); - return _200B_202B_206B_206A_200C_206B_206C_200C_202D_206F_202E_206C_200E_206C_206C_206C_200D_206F_200E_202B_206F_200C_200B_206C_206E_200D_200B_206E_206F_200F_200B_202D_206D_202B_200B_206C_202E_206C_202B_206D_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206B_202E_206B_200D_206A_200D_206E_206E_200E_202D_200C_200B_206D_206B_200F_200B_200B_200B_206D_206D_200D_206C_200C_206B_202B_206B_206F_202B_200D_202B_202A_202A_206B_202A_202D_202A_206A_202A_200C_202D_202E(); - _200D_200D_206A_202E_206F_206B_200E_206A_200E_200C_200B_206C_206F_206B_206B_200E_202D_200E_202D_202E_200B_206F_202C_206D_206E_202C_206D_202D_206D_206D_202E_206B_206E_206B_202D_202B_200B_206F_200C_200E_202E(builder, 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(-711254933)); - _202D_200F_200F_206C_206C_202B_206B_202B_200B_206E_206B_200E_206E_206D_200F_200E_202C_200D_206D_206E_206C_206F_200E_200D_206D_200F_206F_202B_206F_202E_202B_206B_206B_206E_200D_202B_200E_206A_202A_206B_202E(builder, (object)Module); - _200D_200D_206A_202E_206F_206B_200E_206A_200E_200C_200B_206C_206F_206B_206B_200E_202D_200E_202D_202E_200B_206F_202C_206D_206E_202C_206D_202D_206D_206D_202E_206B_206E_206B_202D_202B_200B_206F_200C_200E_202E(builder, 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(1653958727)); - _202D_200F_200F_206C_206C_202B_206B_202B_200B_206E_206B_200E_206E_206D_200F_200E_202C_200D_206D_206E_206C_206F_200E_200D_206D_200F_206F_202B_206F_202E_202B_206B_206B_206E_200D_202B_200E_206A_202A_206B_202E(builder, (object)Track); - _200D_200D_206A_202E_206F_206B_200E_206A_200E_200C_200B_206C_206F_206B_206B_200E_202D_200E_202D_202E_200B_206F_202C_206D_206E_202C_206D_202D_206D_206D_202E_206B_206E_206B_202D_202B_200B_206F_200C_200E_202E(builder, 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(-275794909)); - _202D_200F_200F_206C_206C_202B_206B_202B_200B_206E_206B_200E_206E_206D_200F_200E_202C_200D_206D_206E_206C_206F_200E_200D_206D_200F_206F_202B_206F_202E_202B_206B_206B_206E_200D_202B_200E_206A_202A_206B_202E(builder, (object)Option); - return true; - } - - [CompilerGenerated] - public bool Equals(Strategy? other) - { - int num = (((object)this == other) ? (-511900174) : (-511900175)); - while (true) - { - int num2 = num; - int num3 = -511900170; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - num = ((!EqualityComparer.Default.Equals(Track, other.Track)) ? (-511900172) : (-511900173)); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(Module, other.Module)) ? (-511900172) : (-511900169)); - break; - case 2: - return false; - case 5: - return EqualityComparer.Default.Equals(Option, other.Option); - case 4: - return true; - case 7: - num = (((object)other == null) ? (-511900172) : (-511900170)); - break; - case 3: - num = -511900175; - break; - case 0: - num = ((!_200F_206D_202A_200F_200B_200C_206C_202B_200E_200F_202E_206B_202E_200F_202C_202E_206A_206B_206C_200C_206C_202D_206F_200E_200E_200B_206A_206B_202A_206D_200C_206D_202C_200F_206B_202D_202A_206E_200C_206B_202E(EqualityContract, other.EqualityContract)) ? (-511900172) : (-511900176)); - break; - } - } - } - - bool IEquatable.Equals(Strategy? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206C_206E_202E_202E_206F_200B_202C_200C_206E_200F_206C_202D_202B_206F_202E_202E_202B_206F_202E_202B_206C_202B_202C_200F_200C_200D_202D_202B_206D_206D_200B_200D_202B_200E_202E_206A_200E_200C_202C_202E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200B_202E_202B_206F_206E_200B_200E_202E_202A_202A_206E_202E_206C_202D_200D_202A_202D_206A_206C_202C_200E_206A_202A_200B_202D_200E_202B_202D_202B_206D_202D_206E_206A_206C_200B_206E_202A_200C_206D_200D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200D_200D_206A_202E_206F_206B_200E_206A_200E_200C_200B_206C_206F_206B_206B_200E_202D_200E_202D_202E_200B_206F_202C_206D_206E_202C_206D_202D_206D_206D_202E_206B_206E_206B_202D_202B_200B_206F_200C_200E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206F_202E_200E_202C_200D_206F_200E_202A_202D_206B_206D_200D_200D_202B_206E_202C_200D_206C_200B_202C_202C_202A_200D_202A_206F_200D_206D_200E_200D_200F_206E_206F_202E_206C_202B_206F_200B_206C_206C_206C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200B_202B_206B_206A_200C_206B_206C_200C_202D_206F_202E_206C_200E_206C_206C_206C_200D_206F_200E_202B_206F_200C_200B_206C_206E_200D_200B_206E_206F_200F_200B_202D_206D_202B_200B_206C_202E_206C_202B_206D_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206B_202E_206B_200D_206A_200D_206E_206E_200E_202D_200C_200B_206D_206B_200F_200B_200B_200B_206D_206D_200D_206C_200C_206B_202B_206B_206F_202B_200D_202B_202A_202A_206B_202A_202D_202A_206A_202A_200C_202D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202D_200F_200F_206C_206C_202B_206B_202B_200B_206E_206B_200E_206E_206D_200F_200E_202C_200D_206D_206E_206C_206F_200E_200D_206D_200F_206F_202B_206F_202E_202B_206B_206B_206E_200D_202B_200E_206A_202A_206B_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200F_206D_202A_200F_200B_200C_206C_202B_200E_200F_202E_206B_202E_200F_202C_202E_206A_206B_206C_200C_206C_202D_206F_200E_200E_200B_206A_206B_202A_206D_200C_206D_202C_200F_206B_202D_202A_206E_200C_206B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } + private sealed record Strategy(string Module, string Track, string Option); public enum EPreset { @@ -177,68 +30,6 @@ internal sealed class BossModIpc : IDisposable BMR } - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__25_0; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal bool _003CDetectVariantFromPlugins_003Eb__25_0(IExposedPlugin p) - { - string text = _202E_202B_202D_202D_202B_200E_200E_200D_202E_206D_206C_200D_206C_206E_202B_200E_206E_200F_202B_200B_200D_206F_206B_202A_202C_206C_200F_206C_206E_202C_202B_206A_202D_206A_202E_206D_202A_200D_200F_206E_202E(p); - int num = (_206C_206F_202D_202D_206B_200F_202A_202B_202A_200B_202E_200C_200C_200B_206E_202A_202C_200D_202B_206D_206D_202D_200F_206A_200C_200B_200F_202A_202D_202C_200E_206E_202A_206B_202D_206B_206E_206C_202D_200E_202E(text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(865869314)) ? 173790898 : 173790900); - bool flag = default(bool); - while (true) - { - int num2 = num; - int num3 = 173790902; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - flag = false; - num = 173790903; - break; - case 1: - num = ((!flag) ? 173790899 : 173790902); - break; - case 2: - num = ((!_206C_206F_202D_202D_206B_200F_202A_202B_202A_200B_202E_200C_200C_200B_206E_202A_202C_200D_202B_206D_206D_202D_200F_206A_200C_200B_200F_202A_202D_202C_200E_206E_202A_206B_202D_206B_206E_206C_202D_200E_202E(text, 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(-1914663527))) ? 173790896 : 173790898); - break; - case 0: - return _206B_202B_202D_206E_202E_202A_206A_202B_206B_206E_206C_202E_206A_202E_202E_202A_202D_200D_202D_206D_206A_200F_206A_206A_206B_206F_206F_206C_200E_206A_200E_202E_206E_200C_200C_206B_200B_200D_200C_200D_202E(p); - case 4: - flag = true; - num = 173790903; - break; - case 3: - num = 173790900; - break; - case 5: - return false; - } - } - } - - static string _202E_202B_202D_202D_202B_200E_200E_200D_202E_206D_206C_200D_206C_206E_202B_200E_206E_200F_202B_200B_200D_206F_206B_202A_202C_206C_200F_206C_206E_202C_202B_206A_202D_206A_202E_206D_202A_200D_200F_206E_202E(IExposedPlugin P_0) - { - return P_0.InternalName; - } - - static bool _206C_206F_202D_202D_206B_200F_202A_202B_202A_200B_202E_200C_200C_200B_206E_202A_202C_200D_202B_206D_206D_202D_200F_206A_200C_200B_200F_202A_202D_202C_200E_206E_202A_206B_202D_206B_206E_206C_202D_200E_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - - static bool _206B_202B_202D_206E_202E_202A_206A_202B_206B_206E_206C_202E_206A_202E_202E_202A_202D_200D_202D_206D_206A_200F_206A_206A_206B_206F_206F_206C_200E_206A_200E_202E_206E_200C_200C_206B_200B_200D_200C_200D_202E(IExposedPlugin P_0) - { - return P_0.IsLoaded; - } - } - private const string ActivePresetName = "Questionable"; private const string PassivePresetName = "Questionable (Passive)"; @@ -273,125 +64,136 @@ internal sealed class BossModIpc : IDisposable private readonly ICallGateSubscriber, bool, List> _setConfig; - private readonly EVariant? _variant; - - private bool _activeShellCreated; - - private bool _passiveShellCreated; - private bool _soloDutyZoneConfigured; - private static readonly Strategy[] AiStrategies = new Strategy[14] + private static readonly Strategy[] VbmAiStrategies = new Strategy[14] { - new Strategy(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(-1244564446), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1856886268), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(711080410)), - new Strategy(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(-1498967925), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-82449896), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(264166607)), - new Strategy(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-835043382), 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(1036997362), 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(-1736014094)), - new Strategy(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1591319871), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1390442931), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(711080410)), - new Strategy(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(-1244564446), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-818029721), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(711080410)), - new Strategy(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1658570734), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1480455440), 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(421771003)), - new Strategy(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(-2122341489), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1302340146), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(264166607)), - new Strategy(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(124779131), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1612425008), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1439152729)), - new Strategy(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1067443757), 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(296448122), 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(421771003)), - new Strategy(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1289434147), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-224375461), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(264166607)), - new Strategy(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1289434147), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(893010687), 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(421771003)), - new Strategy(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2113838185), 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(490418655), 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(421771003)), - new Strategy(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-521202591), 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(296448122), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(711080410)), - new Strategy(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(630279450), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(253848622), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(543856095)) + new Strategy("BossMod.Autorotation.xan.TankAI", "Stance", "Enabled"), + new Strategy("BossMod.Autorotation.xan.TankAI", "Personal mits", "Enabled"), + new Strategy("BossMod.Autorotation.xan.TankAI", "Invuln", "Enabled"), + new Strategy("BossMod.Autorotation.xan.TankAI", "Interject2", "Enabled"), + new Strategy("BossMod.Autorotation.xan.TankAI", "Arms' Length", "Enabled"), + new Strategy("BossMod.Autorotation.xan.HealerAI", "Heal", "Enabled"), + new Strategy("BossMod.Autorotation.xan.HealerAI", "Esuna2", "Enabled"), + new Strategy("BossMod.Autorotation.xan.HealerAI", "Raise", "Swiftcast"), + new Strategy("BossMod.Autorotation.xan.MeleeAI", "Second Wind", "Enabled"), + new Strategy("BossMod.Autorotation.xan.MeleeAI", "Bloodbath", "Enabled"), + new Strategy("BossMod.Autorotation.xan.MeleeAI", "Stun", "Enabled"), + new Strategy("BossMod.Autorotation.xan.RangedAI", "Head Graze", "Enabled"), + new Strategy("BossMod.Autorotation.xan.RangedAI", "Second Wind", "Enabled"), + new Strategy("BossMod.Autorotation.MiscAI.NormalMovement", "Destination", "Pathfind") + }; + + private static readonly Strategy[] BmrAiStrategies = new Strategy[14] + { + new Strategy("BossMod.Autorotation.MiscAI.TankAI", "Stance", "Auto"), + new Strategy("BossMod.Autorotation.MiscAI.TankAI", "Mitigations", "Auto"), + new Strategy("BossMod.Autorotation.MiscAI.TankAI", "Invuln", "Auto"), + new Strategy("BossMod.Autorotation.MiscAI.TankAI", "Interject", "Auto"), + new Strategy("BossMod.Autorotation.MiscAI.TankAI", "ArmsLength", "Auto"), + new Strategy("BossMod.Autorotation.MiscAI.HealerAI", "Heal", "Auto"), + new Strategy("BossMod.Autorotation.MiscAI.HealerAI", "Esuna", "Auto"), + new Strategy("BossMod.Autorotation.MiscAI.HealerAI", "Raise", "Auto"), + new Strategy("BossMod.Autorotation.MiscAI.MeleeAI", "SecondWind", "Auto"), + new Strategy("BossMod.Autorotation.MiscAI.MeleeAI", "Bloodbath", "Auto"), + new Strategy("BossMod.Autorotation.MiscAI.MeleeAI", "Stun", "Auto"), + new Strategy("BossMod.Autorotation.MiscAI.RangedAI", "HeadGraze", "Auto"), + new Strategy("BossMod.Autorotation.MiscAI.RangedAI", "SecondWind", "Auto"), + new Strategy("BossMod.Autorotation.MiscAI.NormalMovement", "Destination", "Pathfind") }; private static readonly Strategy[] ActivePositioningStrategies = new Strategy[2] { - new Strategy(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-434142577), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(988353471), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-957874465)), - new Strategy(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1396333290), 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(-359200721), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1051715723)) + new Strategy("BossMod.Autorotation.MiscAI.StayCloseToTarget", "Range", "3"), + new Strategy("BossMod.Autorotation.MiscAI.GoToPositional", "Positional", "Any") }; private static readonly FrozenDictionary JobModules = new Dictionary { { EClassJob.Paladin, - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1609942880) + "BossMod.Autorotation.xan.PLD" }, { EClassJob.Monk, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1942292193) + "BossMod.Autorotation.xan.MNK" }, { EClassJob.Dragoon, - 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(908716766) + "BossMod.Autorotation.xan.DRG" }, { EClassJob.Bard, - 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(1968328073) + "BossMod.Autorotation.xan.BRD" }, { EClassJob.WhiteMage, - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1884232256) + "BossMod.Autorotation.xan.WHM" }, { EClassJob.BlackMage, - 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(-2079870458) + "BossMod.Autorotation.xan.BLM" }, { EClassJob.Summoner, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(195091335) + "BossMod.Autorotation.xan.SMN" }, { EClassJob.Scholar, - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1810140920) + "BossMod.Autorotation.xan.SCH" }, { EClassJob.Ninja, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1660414167) + "BossMod.Autorotation.xan.NIN" }, { EClassJob.Machinist, - 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(-338030362) + "BossMod.Autorotation.xan.MCH" }, { EClassJob.DarkKnight, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(235491815) + "BossMod.Autorotation.xan.DRK" }, { EClassJob.Astrologian, - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2141215490) + "BossMod.Autorotation.xan.AST" }, { EClassJob.Samurai, - 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(-1572470863) + "BossMod.Autorotation.xan.SAM" }, { EClassJob.RedMage, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-497169601) + "BossMod.Autorotation.xan.RDM" }, { EClassJob.Gunbreaker, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1209630777) + "BossMod.Autorotation.xan.GNB" }, { EClassJob.Dancer, - 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(-2020237514) + "BossMod.Autorotation.xan.DNC" }, { EClassJob.Reaper, - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1665453088) + "BossMod.Autorotation.xan.RPR" }, { EClassJob.Sage, - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-653850318) + "BossMod.Autorotation.xan.SGE" }, { EClassJob.Viper, - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1478612007) + "BossMod.Autorotation.xan.VPR" }, { EClassJob.Pictomancer, - 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(2012623894) + "BossMod.Autorotation.xan.PCT" } }.ToFrozenDictionary(); - public EVariant? Variant => _variant; + public EVariant? Variant => DetectVariantFromPlugins(); - [MethodImpl(MethodImplOptions.NoInlining)] public BossModIpc(IObjectTable objectTable, IDalamudPluginInterface pluginInterface, Configuration configuration, ICommandManager commandManager, TerritoryData territoryData, IFramework framework, ILogger logger) { _objectTable = objectTable; @@ -401,66 +203,49 @@ internal sealed class BossModIpc : IDisposable _territoryData = territoryData; _framework = framework; _logger = logger; - _getPreset = pluginInterface.GetIpcSubscriber(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(1182139829)); - _createPreset = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-453082255)); - _setPreset = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1297770467)); - _clearPreset = pluginInterface.GetIpcSubscriber(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(2001823876)); - _addTransientStrategy = pluginInterface.GetIpcSubscriber(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(1608401772)); - _clearTransientStrategies = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(160221154)); - _deletePreset = pluginInterface.GetIpcSubscriber(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(-1768525951)); - _setConfig = pluginInterface.GetIpcSubscriber, bool, List>(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2005795509)); - _variant = DetectVariantFromPlugins(); - _200D_200D_202D_200E_202A_202E_200F_202C_206D_206B_202E_202C_200C_206E_206F_202D_206D_200B_206A_202B_206D_206E_206C_202D_202E_206C_202A_206D_200C_200B_206F_206A_206E_200B_200F_202C_202E_202B_202A_206A_202E(_framework, (System.Action)([MethodImpl(MethodImplOptions.NoInlining)] () => + _getPreset = pluginInterface.GetIpcSubscriber("BossMod.Presets.Get"); + _createPreset = pluginInterface.GetIpcSubscriber("BossMod.Presets.Create"); + _setPreset = pluginInterface.GetIpcSubscriber("BossMod.Presets.SetActive"); + _clearPreset = pluginInterface.GetIpcSubscriber("BossMod.Presets.ClearActive"); + _addTransientStrategy = pluginInterface.GetIpcSubscriber("BossMod.Presets.AddTransientStrategy"); + _clearTransientStrategies = pluginInterface.GetIpcSubscriber("BossMod.Presets.ClearTransientPresetStrategies"); + _deletePreset = pluginInterface.GetIpcSubscriber("BossMod.Presets.Delete"); + _setConfig = pluginInterface.GetIpcSubscriber, bool, List>("BossMod.Configuration"); + _framework.RunOnFrameworkThread(delegate { - int num = (IsSupported() ? 695015772 : 695015775); - while (true) + if (!IsSupported()) { - int num2 = num; - int num3 = 695015773; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0046; - case 2: - return; - case 1: - try - { - _deletePreset.InvokeFunc(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1458411767)); - } - catch (IpcError) - { - } - try - { - _deletePreset.InvokeFunc(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(467221712)); - } - catch (IpcError) - { - } - try - { - _deletePreset.InvokeFunc(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(690034217)); - return; - } - catch (IpcError) - { - return; - } - } - continue; - IL_0046: - num = 695015775; + return; } - })); + try + { + _deletePreset.InvokeFunc("Questionable - Quest Battles"); + } + catch (IpcError) + { + } + try + { + _deletePreset.InvokeFunc("Questionable"); + } + catch (IpcError) + { + } + try + { + _deletePreset.InvokeFunc("Questionable (Passive)"); + } + catch (IpcError) + { + } + }); } public bool IsSupported() { try { - return _202E_202C_202A_200C_200F_206A_200E_206B_200C_200E_206D_200C_202B_206B_202D_202C_202A_202D_202B_202C_206E_202B_206E_206F_206E_202E_206E_206D_202D_200D_206C_200E_206A_200D_202A_206E_200C_206E_202E_202A_202E((ICallGateSubscriber)_getPreset); + return _getPreset.HasFunction; } catch (IpcError) { @@ -468,321 +253,173 @@ internal sealed class BossModIpc : IDisposable } } - [MethodImpl(MethodImplOptions.NoInlining)] private EVariant? DetectVariantFromPlugins() { - IExposedPlugin exposedPlugin = _202E_202D_200E_202C_206B_206B_202B_206F_206D_200F_200C_206F_202D_202E_206B_202D_200F_200F_200C_206C_200C_206A_200E_202B_202C_200F_206F_202C_200D_200D_202C_206E_200D_206C_200B_200B_202C_206E_202C_200F_202E(_pluginInterface).FirstOrDefault([MethodImpl(MethodImplOptions.NoInlining)] (IExposedPlugin p) => + IExposedPlugin exposedPlugin = _pluginInterface.InstalledPlugins.FirstOrDefault(delegate(IExposedPlugin p) { - string text = _003C_003Ec._202E_202B_202D_202D_202B_200E_200E_200D_202E_206D_206C_200D_206C_206E_202B_200E_206E_200F_202B_200B_200D_206F_206B_202A_202C_206C_200F_206C_206E_202C_202B_206A_202D_206A_202E_206D_202A_200D_200F_206E_202E(p); - int num7 = (_003C_003Ec._206C_206F_202D_202D_206B_200F_202A_202B_202A_200B_202E_200C_200C_200B_206E_202A_202C_200D_202B_206D_206D_202D_200F_206A_200C_200B_200F_202A_202D_202C_200E_206E_202A_206B_202D_206B_206E_206C_202D_200E_202E(text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(865869314)) ? 173790898 : 173790900); - bool flag = default(bool); - while (true) - { - int num8 = num7; - int num9 = 173790902; - int num10 = num8; - switch ((num10 | num9) - (num10 & num9)) - { - case 6: - flag = false; - num7 = 173790903; - break; - case 1: - num7 = ((!flag) ? 173790899 : 173790902); - break; - case 2: - num7 = ((!_003C_003Ec._206C_206F_202D_202D_206B_200F_202A_202B_202A_200B_202E_200C_200C_200B_206E_202A_202C_200D_202B_206D_206D_202D_200F_206A_200C_200B_200F_202A_202D_202C_200E_206E_202A_206B_202D_206B_206E_206C_202D_200E_202E(text, 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(-1914663527))) ? 173790896 : 173790898); - break; - case 0: - return _003C_003Ec._206B_202B_202D_206E_202E_202A_206A_202B_206B_206E_206C_202E_206A_202E_202E_202A_202D_200D_202D_206D_206A_200F_206A_206A_206B_206F_206F_206C_200E_206A_200E_202E_206E_200C_200C_206B_200B_200D_200C_200D_202E(p); - case 4: - flag = true; - num7 = 173790903; - break; - case 3: - num7 = 173790900; - break; - case 5: - return false; - } - } + string internalName = p.InternalName; + return ((internalName == "BossMod" || internalName == "BossModReborn") ? true : false) && p.IsLoaded; }); - int num = ((exposedPlugin != null) ? 1847840403 : 1847840406); - int value; - while (true) + if (exposedPlugin == null) { - int num2 = num; - int num3 = 1847840407; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 4: - num = (_206C_200B_206C_206E_202C_202D_200F_202E_206F_200C_206B_202D_202B_200C_202E_200E_202E_200D_202C_200C_206D_200D_206E_206E_202C_202E_200D_200D_200C_206B_202C_202D_202A_206A_206A_202B_206B_202B_206F_206A_202E(_200B_200B_202C_206C_202E_202B_206F_206B_200F_206B_200E_200B_206F_202B_202A_206C_200B_202B_202E_200C_202A_200B_206A_202D_200E_206D_200E_202A_202E_202E_206C_206C_206E_202C_206D_200B_200F_202E_206B_200F_202E(exposedPlugin), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(203874627)) ? 1847840404 : 1847840405); - continue; - case 1: - return null; - case 0: - num = 1847840406; - continue; - case 2: - value = 0; - break; - case 3: - value = 1; - break; - } - break; + return null; } - return (EVariant)value; + return (exposedPlugin.InternalName == "BossModReborn") ? EVariant.BMR : EVariant.VBM; } - [MethodImpl(MethodImplOptions.NoInlining)] - private void EnsureShellPresetExists(EPreset preset) + private bool CreateShellPreset(EPreset preset) { - int num = ((preset == EPreset.Active) ? (-1099553100) : (-1099553099)); - ref bool reference = default(ref bool); - while (true) + try { - int num2 = num; - int num3 = -1099553100; - int num4 = num2; - ref bool reference2; - switch ((num4 | num3) - (num4 & num3)) + string presetName = GetPresetName(preset); + IEnumerable source = (from x in GetAiStrategies().Concat((preset == EPreset.Active) ? ((IEnumerable)ActivePositioningStrategies) : ((IEnumerable)Array.Empty())) + select x.Module).Distinct(); + string jobModule = GetJobModule(GetCurrentJob()); + if (jobModule != null) { - case 3: - num = -1099553099; - break; - case 0: - reference2 = ref _activeShellCreated; - goto IL_0064; - case 2: - return; - case 1: - reference2 = ref _passiveShellCreated; - goto IL_0064; - case 4: - { - try - { - string presetName = GetPresetName(preset); - string arg = _200C_206E_202E_200B_200C_206D_206B_200F_206C_202B_202C_206B_206F_202E_202E_200E_202D_202B_206F_206F_200D_206B_202B_200C_202B_202B_206D_200F_206E_206E_202A_202E_206D_206E_200D_202D_200C_202A_200D_206E_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(433807349), presetName, 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(1542558103)); - _createPreset.InvokeFunc(arg, arg2: true); - reference = true; - return; - } - catch (IpcError ipcError) - { - _202A_202A_202E_202D_206B_206B_206F_200D_200E_206D_202D_200B_200F_200E_202C_200F_200F_200D_200C_206A_202E_206F_200E_206C_206A_200D_206B_200E_202E_202E_202C_206A_200E_200B_200B_202E_202D_200D_206B_202D_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1779772174), new object[1] { preset }); - return; - } - } - IL_0064: - reference = ref reference2; - num = ((!reference) ? (-1099553104) : (-1099553098)); - break; + source = source.Append(jobModule); } + string value = string.Join(',', source.Select((string x) => "\"" + x + "\":[]")); + string arg = $"{{\"Name\":\"{presetName}\",\"Modules\":{{ {value} }}}}"; + if (!_createPreset.InvokeFunc(arg, arg2: true)) + { + _logger.LogWarning("BossMod rejected shell preset {Preset}", preset); + return false; + } + return true; + } + catch (IpcError exception) + { + _logger.LogWarning(exception, "Failed to create shell preset {Preset}", preset); + return false; } } - [MethodImpl(MethodImplOptions.NoInlining)] private void ApplyTransientStrategies(EPreset preset) { string presetName = GetPresetName(preset); - Strategy[] array = AiStrategies; - int num = 0; - int num2 = -963238380; - uint? num8 = default(uint?); - string value = default(string); - EClassJob eClassJob = default(EClassJob); - while (true) + Strategy[] aiStrategies = GetAiStrategies(); + foreach (Strategy strategy in aiStrategies) { - int num3 = num2; - int num4 = -963238380; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - EClassJob? obj; - EClassJob? eClassJob2; - switch (num6 - (num7 + num7)) + AddStrategy(presetName, strategy.Module, strategy.Track, strategy.Option); + } + if (preset != EPreset.Active) + { + return; + } + aiStrategies = ActivePositioningStrategies; + foreach (Strategy strategy2 in aiStrategies) + { + AddStrategy(presetName, strategy2.Module, strategy2.Track, strategy2.Option); + } + EClassJob currentJob = GetCurrentJob(); + if (JobModules.TryGetValue(currentJob, out string value)) + { + AddStrategy(presetName, value, "AOE", "AOE"); + AddStrategy(presetName, value, "Targeting", "Manual"); + if (currentJob != EClassJob.Monk && currentJob != EClassJob.Sage) { - case 3: + AddStrategy(presetName, value, "Buffs", (Variant == EVariant.VBM) ? "Automatic" : "Auto"); + } + if (currentJob == EClassJob.Pictomancer) { - IPlayerCharacter playerCharacter = _202D_202C_200F_206C_200F_200D_202D_200D_206E_200B_206F_200F_200E_202A_202D_202D_200B_200C_202B_200F_200B_202D_200C_200B_206E_202B_206A_206E_202B_200E_206E_200E_200B_206F_206A_200E_206D_200E_202E_206D_202E(_objectTable); - num8 = ((playerCharacter != null) ? new uint?(_202C_200F_200E_200F_202D_206B_200C_202E_200B_200B_202A_202B_206A_202B_202C_202C_206E_206E_200D_202B_202D_206E_202C_200F_202B_202D_206C_206E_202C_202B_200D_206E_202B_206F_200F_206C_200D_200C_206E_206E_202E((ICharacter)playerCharacter).RowId) : ((uint?)null)); - num2 = (num8.HasValue ? (-963238375) : (-963238376)); - break; - } - case 0: - num2 = ((num < array.Length) ? (-963238370) : (-963238393)); - break; - case 14: - AddStrategy(presetName, 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(-2129436198), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-634884415), 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(1292691051)); - return; - case 13: - obj = (EClassJob)num8.GetValueOrDefault(); - goto IL_013c; - case 16: - AddStrategy(presetName, value, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-634884415), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-634884415)); - AddStrategy(presetName, value, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-812999709), 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(-1199747555)); - num2 = ((eClassJob == EClassJob.Monk) ? (-963238384) : (-963238379)); - break; - case 9: - AddStrategy(presetName, value, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1881691473), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(264166607)); - num2 = -963238384; - break; - case 19: - num2 = ((preset == EPreset.Active) ? (-963238381) : (-963238382)); - break; - case 10: - { - Strategy strategy2 = array[num]; - AddStrategy(presetName, strategy2.Module, strategy2.Track, strategy2.Option); - int num12 = num; - num4 = 1; - num5 = num12; - num = (num5 | num4) + (num5 & num4); - num2 = -963238380; - break; - } - case 18: - _200D_202C_202E_202C_202E_206F_206E_202D_200E_200B_206D_200C_206B_206F_206E_202C_202E_202C_202A_200F_206D_202D_200E_206A_206D_202C_202A_206D_202D_202A_200E_200B_206E_202A_206D_206B_202B_206B_206C_202C_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1680614407), new object[1] { eClassJob }); - num2 = -963238373; - break; - case 2: - AddStrategy(presetName, value, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-330636953), 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(-129485839)); - return; - case 17: - num2 = -963238380; - break; - case 7: - array = ActivePositioningStrategies; - num = 0; - num2 = -963238383; - break; - case 11: - { - Strategy strategy = array[num]; - AddStrategy(presetName, strategy.Module, strategy.Track, strategy.Option); - int num9 = num; - num4 = 1; - num5 = num9; - int num10 = num5 ^ num4; - int num11 = num5 & num4; - num = num10 + (num11 + num11); - num2 = -963238383; - break; - } - case 1: - num2 = ((eClassJob == EClassJob.Sage) ? (-963238384) : (-963238371)); - break; - case 12: - obj = null; - goto IL_013c; - case 15: - return; - case 4: - num2 = ((eClassJob != EClassJob.Pictomancer) ? (-963238373) : (-963238378)); - break; - case 5: - num2 = ((num < array.Length) ? (-963238369) : (-963238377)); - break; - case 8: - num2 = ((eClassJob != EClassJob.Warrior) ? (-963238394) : (-963238374)); - break; - case 6: - return; - IL_013c: - eClassJob2 = obj; - eClassJob = eClassJob2.GetValueOrDefault(); - eClassJob = _206E_200C_202C_202B_200E_206F_206D_202A_206A_206D_200E_202C_200B_200E_206B_202C_200B_200C_206A_202B_206B_200D_206F_206E_206F_206E_200E_206A_206D_202C_202A_206F_200B_202D_206D_202C_202D_206C_200F_206F_202E(eClassJob); - num2 = ((!JobModules.TryGetValue(eClassJob, out value)) ? (-963238372) : (-963238396)); - break; + AddStrategy(presetName, value, "Motifs", "Downtime"); } } + else if (currentJob == EClassJob.Warrior) + { + AddStrategy(presetName, "BossMod.Autorotation.VeynWAR", "AOE", "AutoFinishCombo"); + } + else + { + _logger.LogDebug("No BossMod rotation module mapped for job {Job}", currentJob); + } } - [MethodImpl(MethodImplOptions.NoInlining)] private void ClearTransientStrategies(EPreset preset) { try { _clearTransientStrategies.InvokeFunc(GetPresetName(preset)); } - catch (IpcError ipcError) + catch (IpcError exception) { - _202A_202A_202E_202D_206B_206B_206F_200D_200E_206D_202D_200B_200F_200E_202C_200F_200F_200D_200C_206A_202E_206F_200E_206C_206A_200D_206B_200E_202E_202E_202C_206A_200E_200B_200B_202E_202D_200D_206B_202D_202E((ILogger)_logger, (Exception)ipcError, 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(-731019355), new object[1] { preset }); + _logger.LogWarning(exception, "Failed to clear transient strategies for {Preset}", preset); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void AddStrategy(string presetName, string module, string track, string option) { try { - _addTransientStrategy.InvokeFunc(presetName, module, track, option); + if (!_addTransientStrategy.InvokeFunc(presetName, module, track, option)) + { + _logger.LogWarning("BossMod rejected transient strategy {Module}.{Track}={Option}", module, track, option); + } } - catch (IpcError ipcError) + catch (IpcError exception) { - _202A_202A_202E_202D_206B_206B_206F_200D_200E_206D_202D_200B_200F_200E_202C_200F_200F_200D_200C_206A_202E_206F_200E_206C_206A_200D_206B_200E_202E_202E_202C_206A_200E_200B_200B_202E_202D_200D_206B_202D_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-608719873), new object[3] { module, track, option }); + _logger.LogWarning(exception, "Failed to add transient strategy {Module}.{Track}={Option}", module, track, option); } } + private EClassJob GetCurrentJob() + { + return ((EClassJob?)_objectTable.LocalPlayer?.ClassJob.RowId).GetValueOrDefault().AsJob(); + } + + private static string? GetJobModule(EClassJob job) + { + if (!JobModules.TryGetValue(job, out string value)) + { + if (job != EClassJob.Warrior) + { + return null; + } + return "BossMod.Autorotation.VeynWAR"; + } + return value; + } + public void AddTransientStrategy(EPreset preset, string moduleType, string track, string value) { AddStrategy(GetPresetName(preset), moduleType, track, value); } - [MethodImpl(MethodImplOptions.NoInlining)] public void SetRangeStrategy(EPreset preset, bool isRanged) { - AddTransientStrategy(preset, 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(-588423630), 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(-218764474), isRanged ? global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1922879553) : global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-713841942)); + AddTransientStrategy(preset, "BossMod.Autorotation.MiscAI.StayCloseToTarget", "Range", isRanged ? "15" : "3"); } - [MethodImpl(MethodImplOptions.NoInlining)] public bool EnableAi(EPreset preset) { - EnsureShellPresetExists(preset); + if (!CreateShellPreset(preset)) + { + return false; + } ApplyTransientStrategies(preset); try { - _setPreset.InvokeFunc(GetPresetName(preset)); + if (!_setPreset.InvokeFunc(GetPresetName(preset))) + { + _logger.LogWarning("BossMod rejected preset activation for {Preset}", preset); + return false; + } } catch (IpcError ipcError) { - _202C_206B_202C_206C_206B_206E_206F_206D_206F_202B_206F_202C_200D_202E_206B_206C_202D_202D_202B_200F_206D_206C_206A_200E_206F_202A_200B_206D_206E_206F_200F_206D_206C_206F_202A_202E_206F_200F_200D_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1782533706), new object[2] - { - preset, - _200E_200E_200B_206A_206D_202D_200E_202A_206F_202A_206B_206C_200B_200C_206B_200F_206D_202C_206C_200D_206D_200C_200B_202E_206C_202B_206C_200E_206E_200C_206D_200B_200E_202B_202A_206A_206C_206C_202B_202C_202E((Exception)ipcError) - }); + _logger.LogWarning("Unable to set BossMod preset {Preset}: {Message}", preset, ipcError.Message); return false; } string aiCommand = GetAiCommand(); - int num = ((aiCommand == null) ? 152671640 : 152671643); - while (true) + if (aiCommand != null) { - int num2 = num; - int num3 = 152671641; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_00a8; - case 1: - _202C_206B_202C_206C_206B_206E_206F_206D_206F_202B_206F_202C_200D_202E_206B_206C_202D_202D_202B_200F_206D_206C_206A_200E_206F_202A_200B_206D_206E_206F_200F_206D_206C_206F_202A_202E_206F_200F_200D_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1563817871), Array.Empty()); - return false; - case 2: - _200D_202C_202E_202C_202E_206F_206E_202D_200E_200B_206D_200C_206B_206F_206E_202C_202E_202C_202A_200F_206D_202D_200E_206A_206D_202C_202A_206D_202D_202A_200E_200B_206E_202A_206D_206B_202B_206B_206C_202C_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-80338293), new object[3] { _variant, preset, aiCommand }); - _202B_200E_202C_206C_206B_200C_200B_202C_206C_200C_202B_206E_206B_202D_202B_200B_202B_200F_200F_206E_202A_206A_206A_206B_202E_206B_206A_206E_200D_202D_202A_206B_200C_202C_200B_206D_206A_206D_200C_206F_202E(_commandManager, _202B_206E_206F_202E_206C_206D_206A_200C_200B_200D_202C_206D_206B_206A_206F_206C_206D_200B_202D_206A_206E_202A_200D_200F_206C_200F_206E_206E_202B_200D_200B_200D_200D_200C_206B_200F_206C_200E_202A_206D_202E(aiCommand, 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(558838852))); - return true; - } - continue; - IL_00a8: - num = 152671643; + _logger.LogDebug("Enabling BossMod AI: variant={Variant}, preset={Preset}, command='{Command} on'", Variant, preset, aiCommand); + _commandManager.ProcessCommand(aiCommand + " on"); + return true; } + _logger.LogWarning("Cannot enable BossMod AI: no variant detected"); + return false; } public void EnableQuestBattleAi() @@ -797,193 +434,91 @@ internal sealed class BossModIpc : IDisposable DisableAi(); } - [MethodImpl(MethodImplOptions.NoInlining)] public void DisableAi() { string aiCommand = GetAiCommand(); - int num = ((aiCommand == null) ? (-261406571) : (-261406570)); - while (true) + if (aiCommand != null) { - int num2 = num; - int num3 = -261406569; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -261406570; - break; - case 1: - _200D_202C_202E_202C_202E_206F_206E_202D_200E_200B_206D_200C_206B_206F_206E_202C_202E_202C_202A_200F_206D_202D_200E_206A_206D_202C_202A_206D_202D_202A_200E_200B_206E_202A_206D_206B_202B_206B_206C_202C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1246132774), new object[1] { aiCommand }); - _202B_200E_202C_206C_206B_200C_200B_202C_206C_200C_202B_206E_206B_202D_202B_200B_202B_200F_200F_206E_202A_206A_206A_206B_202E_206B_206A_206E_200D_202D_202A_206B_200C_202C_200B_206D_206A_206D_200C_206F_202E(_commandManager, _202B_206E_206F_202E_206C_206D_206A_200C_200B_200D_202C_206D_206B_206A_206F_206C_206D_200B_202D_206A_206E_202A_200D_200F_206C_200F_206E_206E_202B_200D_200B_200D_200D_200C_206B_200F_206C_200E_202A_206D_202E(aiCommand, 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(1070453685))); - num = -261406571; - break; - case 2: - ClearTransientStrategies(EPreset.Active); - ClearTransientStrategies(EPreset.Passive); - try - { - _clearPreset.InvokeFunc(); - return; - } - catch (IpcError ipcError) - { - _202A_202A_202E_202D_206B_206B_206F_200D_200E_206D_202D_200B_200F_200E_202C_200F_200F_200D_200C_206A_202E_206F_200E_206C_206A_200D_206B_200E_202E_202E_202C_206A_200E_200B_200B_202E_202D_200D_206B_202D_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1107711478), Array.Empty()); - return; - } - } + _logger.LogDebug("Disabling BossMod AI: command='{Command} off'", aiCommand); + _commandManager.ProcessCommand(aiCommand + " off"); + } + ClearTransientStrategies(EPreset.Active); + ClearTransientStrategies(EPreset.Passive); + try + { + _clearPreset.InvokeFunc(); + } + catch (IpcError exception) + { + _logger.LogWarning(exception, "Failed to clear BossMod preset"); } } public bool IsConfiguredToRunSoloInstance(ElementId questId, SinglePlayerDutyOptions? dutyOptions) { - int num = (IsSupported() ? 676961928 : 676961925); - SinglePlayerDutyEntry[] value = default(SinglePlayerDutyEntry[]); - byte index = default(byte); - TerritoryData.ContentFinderConditionData contentFinderConditionData = default(TerritoryData.ContentFinderConditionData); - QuestId questId2 = default(QuestId); - while (true) + if (!IsSupported()) { - int num2 = num; - int num3 = 676961921; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num7; - ushort key; - switch (num5 - (num6 + num6)) - { - case 12: - return false; - case 8: - return value.Any(delegate(SinglePlayerDutyEntry e) - { - int num8 = ((e.Index != index) ? 15909539 : 15909536); - while (true) - { - int num9 = num8; - int num10 = 15909538; - int num11 = num9; - int num12 = num11 + num10; - int num13 = num11 & num10; - switch (num12 - (num13 + num13)) - { - case 1: - return false; - case 2: - return e.Enabled; - case 0: - goto IL_0057; - } - continue; - IL_0057: - num8 = 15909536; - } - }); - case 3: - return false; - case 4: - return false; - case 13: - num = ((!_configuration.SinglePlayerDuties.WhitelistedSinglePlayerDutyCfcIds.Contains(contentFinderConditionData.ContentFinderConditionId)) ? 676961923 : 676961924); - break; - case 6: - num = ((!_configuration.SinglePlayerDuties.BlacklistedSinglePlayerDutyCfcIds.Contains(contentFinderConditionData.ContentFinderConditionId)) ? 676961932 : 676961931); - break; - case 7: - num = 676961925; - break; - case 9: - num = (_configuration.SinglePlayerDuties.RunSoloInstancesWithBossMod ? 676961935 : 676961920); - break; - case 5: - return true; - case 1: - return false; - case 11: - num7 = 0; - goto IL_01b1; - case 10: - return false; - case 14: - index = (byte)((dutyOptions != null) ? _206F_200E_202A_200F_202D_200C_202C_200E_206C_202A_200C_200D_200C_206B_202C_202B_202B_200F_200D_202D_202C_206D_200F_206C_202E_200C_206C_200E_206E_206F_206A_206C_202A_206F_200C_202A_200D_206B_200B_200F_202E(dutyOptions) : 0); - num = (_territoryData.TryGetContentFinderConditionForSoloInstance(questId, index, out contentFinderConditionData) ? 676961927 : 676961933); - break; - case 0: - num7 = _206F_206E_202C_206B_202B_206C_200E_202C_200D_200C_206F_206A_200F_202B_202A_200C_202E_206B_200F_206C_202D_202C_206B_202E_202B_206E_206B_202C_200B_206C_206A_206D_206D_206D_202E_206D_200D_200B_200E_200D_202E((ElementId)questId2); - goto IL_01b1; - case 2: - { - questId2 = questId as QuestId; - num = (((object)questId2 != null) ? 676961921 : 676961930); - break; - } - IL_01b1: - key = (ushort)num7; - num = ((!DutyRegistry.SinglePlayerDuties.TryGetValue(key, out value)) ? 676961922 : 676961929); - break; - } + return false; } + if (!_configuration.SinglePlayerDuties.RunSoloInstancesWithBossMod) + { + return false; + } + byte index = dutyOptions?.Index ?? 0; + if (!_territoryData.TryGetContentFinderConditionForSoloInstance(questId, index, out TerritoryData.ContentFinderConditionData contentFinderConditionData)) + { + return false; + } + if (_configuration.SinglePlayerDuties.BlacklistedSinglePlayerDutyCfcIds.Contains(contentFinderConditionData.ContentFinderConditionId)) + { + return false; + } + if (_configuration.SinglePlayerDuties.WhitelistedSinglePlayerDutyCfcIds.Contains(contentFinderConditionData.ContentFinderConditionId)) + { + return true; + } + ushort key = (ushort)((questId is QuestId questId2) ? questId2.Value : 0); + if (DutyRegistry.SinglePlayerDuties.TryGetValue(key, out SinglePlayerDutyEntry[] value)) + { + return value.Any((SinglePlayerDutyEntry e) => e.Index == index && e.Enabled); + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Dispose() { ReleaseSoloDutyZone(); try { - _deletePreset.InvokeFunc(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(467221712)); + _deletePreset.InvokeFunc("Questionable"); } catch (IpcError) { } try { - _deletePreset.InvokeFunc(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(-159131530)); + _deletePreset.InvokeFunc("Questionable (Passive)"); } catch (IpcError) { } - _activeShellCreated = false; - _passiveShellCreated = false; } - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] private string? GetAiCommand() { - int num = (_variant.HasValue ? 597010869 : 597010868); - while (true) + EVariant? eVariant = DetectVariantFromPlugins(); + if (!eVariant.HasValue) { - int num2 = num; - int num3 = 597010871; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 597010868; - break; - case 2: - num = ((_variant == EVariant.BMR) ? 597010867 : 597010870); - break; - case 4: - return global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1823552470); - case 1: - return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-329487653); - case 3: - _202C_206B_202C_206C_206B_206E_206F_206D_206F_202B_206F_202C_200D_202E_206B_206C_202D_202D_202B_200F_206D_206C_206A_200E_206F_202A_200B_206D_206E_206F_200F_206D_206C_206F_202A_202E_206F_200F_200D_202E((ILogger)_logger, 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(-1900049298), Array.Empty()); - return null; - } + _logger.LogWarning("No BossMod variant detected"); + return null; } + if (eVariant != EVariant.BMR) + { + return "/vbmai"; + } + return "/bmrai"; } - [MethodImpl(MethodImplOptions.NoInlining)] private void SetConfigTransient(string section, string key, string value) { try @@ -997,229 +532,53 @@ internal sealed class BossModIpc : IDisposable span[1] = key; span[2] = value; List list2 = setConfig.InvokeFunc(list, arg2: false); - int num2 = ((list2 == null) ? (-1683933139) : (-1683933137)); - while (true) + if (list2 != null && list2.Count > 0) { - int num3 = num2; - int num4 = -1683933138; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 2: - _202C_206B_202C_206C_206B_206E_206F_206D_206F_202B_206F_202C_200D_202E_206B_206C_202D_202D_202B_200F_206D_206C_206A_200E_206F_202A_200B_206D_206E_206F_200F_206D_206C_206F_202A_202E_206F_200F_200D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-626314783), new object[4] - { - section, - key, - value, - _200F_202C_206C_200F_206C_206B_206A_206F_200F_206F_202D_200B_200B_202B_200B_200B_206E_202A_202D_200E_202A_200E_200D_200F_206A_202E_202B_200C_202B_202C_206A_206E_200D_200F_206E_200E_200B_206A_202C_200C_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(495186777), (IEnumerable)list2) - }); - num2 = -1683933139; - break; - case 1: - num2 = ((list2.Count <= 0) ? (-1683933139) : (-1683933140)); - break; - case 0: - num2 = -1683933137; - break; - case 3: - return; - } + _logger.LogWarning("Setting BossMod config {Section}.{Key}={Value} returned: {Output}", section, key, value, string.Join("; ", list2)); } } - catch (IpcError ipcError) + catch (IpcError exception) { - _202A_202A_202E_202D_206B_206B_206F_200D_200E_206D_202D_200B_200F_200E_202C_200F_200F_200D_200C_206A_202E_206F_200E_206C_206A_200D_206B_200E_202E_202E_202C_206A_200E_200B_200B_202E_202D_200D_206B_202D_202E((ILogger)_logger, (Exception)ipcError, 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(353123351), new object[3] { section, key, value }); + _logger.LogWarning(exception, "Failed to set BossMod config {Section}.{Key}={Value}", section, key, value); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void ConfigureSoloDutyZone() { - int num = (IsSupported() ? (-480345275) : (-480345274)); - while (true) + if (IsSupported()) { - int num2 = num; - int num3 = -480345276; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0046; - case 1: - SetConfigTransient(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1962349943), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(936312060), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1048954191)); - SetConfigTransient(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1298460236), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(796924584), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1013158676)); - _soloDutyZoneConfigured = true; - return; - case 2: - return; - } - continue; - IL_0046: - num = -480345274; + SetConfigTransient("ZoneModuleConfig", "EnableQuestBattles", "true"); + SetConfigTransient("Autorotation", "ClearPresetOnCombatEnd", "false"); + _soloDutyZoneConfigured = true; } } - [MethodImpl(MethodImplOptions.NoInlining)] private void ReleaseSoloDutyZone() { - int num = ((!_soloDutyZoneConfigured) ? 753387069 : 753387071); - while (true) + if (_soloDutyZoneConfigured && IsSupported()) { - int num2 = num; - int num3 = 753387070; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 753387071; - break; - case 0: - SetConfigTransient(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-118895340), 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(-1965564985), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2062724297)); - SetConfigTransient(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(1935980207), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1757728501), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1048954191)); - _soloDutyZoneConfigured = false; - return; - case 3: - return; - case 1: - num = (IsSupported() ? 753387070 : 753387069); - break; - } + SetConfigTransient("ZoneModuleConfig", "EnableQuestBattles", "false"); + SetConfigTransient("Autorotation", "ClearPresetOnCombatEnd", "true"); + _soloDutyZoneConfigured = false; } } - [MethodImpl(MethodImplOptions.NoInlining)] private static string GetPresetName(EPreset preset) { - int num = ((preset == EPreset.Active) ? 1788877012 : 1788877010); - string result = default(string); - while (true) + return preset switch { - int num2 = num; - int num3 = 1788877014; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1788877010; - break; - case 1: - return result; - case 5: - num = 1788877008; - break; - case 3: - result = 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(-159131530); - num = 1788877015; - break; - case 6: - throw _206D_202C_202E_206C_206A_202D_202C_202D_206E_200E_202C_200D_200C_206C_200C_202E_200E_206A_200D_202E_202E_206D_206D_206D_202A_206A_200C_206C_206C_202C_200F_200C_200C_200B_202C_206E_206D_202E_202E_206E_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(317946184)); - case 4: - num = ((preset == EPreset.Passive) ? 1788877013 : 1788877011); - break; - case 2: - result = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163); - num = 1788877015; - break; - } + EPreset.Active => "Questionable", + EPreset.Passive => "Questionable (Passive)", + _ => throw new ArgumentOutOfRangeException("preset"), + }; + } + + private Strategy[] GetAiStrategies() + { + if (Variant != EVariant.VBM) + { + return BmrAiStrategies; } - } - - static Task _200D_200D_202D_200E_202A_202E_200F_202C_206D_206B_202E_202C_200C_206E_206F_202D_206D_200B_206A_202B_206D_206E_206C_202D_202E_206C_202A_206D_200C_200B_206F_206A_206E_200B_200F_202C_202E_202B_202A_206A_202E(IFramework P_0, System.Action P_1) - { - return P_0.RunOnFrameworkThread(P_1); - } - - static bool _202E_202C_202A_200C_200F_206A_200E_206B_200C_200E_206D_200C_202B_206B_202D_202C_202A_202D_202B_202C_206E_202B_206E_206F_206E_202E_206E_206D_202D_200D_206C_200E_206A_200D_202A_206E_200C_206E_202E_202A_202E(ICallGateSubscriber P_0) - { - return P_0.HasFunction; - } - - static IEnumerable _202E_202D_200E_202C_206B_206B_202B_206F_206D_200F_200C_206F_202D_202E_206B_202D_200F_200F_200C_206C_200C_206A_200E_202B_202C_200F_206F_202C_200D_200D_202C_206E_200D_206C_200B_200B_202C_206E_202C_200F_202E(IDalamudPluginInterface P_0) - { - return P_0.InstalledPlugins; - } - - static string _200B_200B_202C_206C_202E_202B_206F_206B_200F_206B_200E_200B_206F_202B_202A_206C_200B_202B_202E_200C_202A_200B_206A_202D_200E_206D_200E_202A_202E_202E_206C_206C_206E_202C_206D_200B_200F_202E_206B_200F_202E(IExposedPlugin P_0) - { - return P_0.InternalName; - } - - static bool _206C_200B_206C_206E_202C_202D_200F_202E_206F_200C_206B_202D_202B_200C_202E_200E_202E_200D_202C_200C_206D_200D_206E_206E_202C_202E_200D_200D_200C_206B_202C_202D_202A_206A_206A_202B_206B_202B_206F_206A_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - - static string _200C_206E_202E_200B_200C_206D_206B_200F_206C_202B_202C_206B_206F_202E_202E_200E_202D_202B_206F_206F_200D_206B_202B_200C_202B_202B_206D_200F_206E_206E_202A_202E_206D_206E_200D_202D_200C_202A_200D_206E_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static void _202A_202A_202E_202D_206B_206B_206F_200D_200E_206D_202D_200B_200F_200E_202C_200F_200F_200D_200C_206A_202E_206F_200E_206C_206A_200D_206B_200E_202E_202E_202C_206A_200E_200B_200B_202E_202D_200D_206B_202D_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogWarning(P_1, P_2, P_3); - } - - static IPlayerCharacter _202D_202C_200F_206C_200F_200D_202D_200D_206E_200B_206F_200F_200E_202A_202D_202D_200B_200C_202B_200F_200B_202D_200C_200B_206E_202B_206A_206E_202B_200E_206E_200E_200B_206F_206A_200E_206D_200E_202E_206D_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static RowRef _202C_200F_200E_200F_202D_206B_200C_202E_200B_200B_202A_202B_206A_202B_202C_202C_206E_206E_200D_202B_202D_206E_202C_200F_202B_202D_206C_206E_202C_202B_200D_206E_202B_206F_200F_206C_200D_200C_206E_206E_202E(ICharacter P_0) - { - return P_0.ClassJob; - } - - static EClassJob _206E_200C_202C_202B_200E_206F_206D_202A_206A_206D_200E_202C_200B_200E_206B_202C_200B_200C_206A_202B_206B_200D_206F_206E_206F_206E_200E_206A_206D_202C_202A_206F_200B_202D_206D_202C_202D_206C_200F_206F_202E(EClassJob P_0) - { - return P_0.AsJob(); - } - - static void _200D_202C_202E_202C_202E_206F_206E_202D_200E_200B_206D_200C_206B_206F_206E_202C_202E_202C_202A_200F_206D_202D_200E_206A_206D_202C_202A_206D_202D_202A_200E_200B_206E_202A_206D_206B_202B_206B_206C_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static string _200E_200E_200B_206A_206D_202D_200E_202A_206F_202A_206B_206C_200B_200C_206B_200F_206D_202C_206C_200D_206D_200C_200B_202E_206C_202B_206C_200E_206E_200C_206D_200B_200E_202B_202A_206A_206C_206C_202B_202C_202E(Exception P_0) - { - return P_0.Message; - } - - static void _202C_206B_202C_206C_206B_206E_206F_206D_206F_202B_206F_202C_200D_202E_206B_206C_202D_202D_202B_200F_206D_206C_206A_200E_206F_202A_200B_206D_206E_206F_200F_206D_206C_206F_202A_202E_206F_200F_200D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static string _202B_206E_206F_202E_206C_206D_206A_200C_200B_200D_202C_206D_206B_206A_206F_206C_206D_200B_202D_206A_206E_202A_200D_200F_206C_200F_206E_206E_202B_200D_200B_200D_200D_200C_206B_200F_206C_200E_202A_206D_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static bool _202B_200E_202C_206C_206B_200C_200B_202C_206C_200C_202B_206E_206B_202D_202B_200B_202B_200F_200F_206E_202A_206A_206A_206B_202E_206B_206A_206E_200D_202D_202A_206B_200C_202C_200B_206D_206A_206D_200C_206F_202E(ICommandManager P_0, string P_1) - { - return P_0.ProcessCommand(P_1); - } - - static byte _206F_200E_202A_200F_202D_200C_202C_200E_206C_202A_200C_200D_200C_206B_202C_202B_202B_200F_200D_202D_202C_206D_200F_206C_202E_200C_206C_200E_206E_206F_206A_206C_202A_206F_200C_202A_200D_206B_200B_200F_202E(SinglePlayerDutyOptions P_0) - { - return P_0.Index; - } - - static ushort _206F_206E_202C_206B_202B_206C_200E_202C_200D_200C_206F_206A_200F_202B_202A_200C_202E_206B_200F_206C_202D_202C_206B_202E_202B_206E_206B_202C_200B_206C_206A_206D_206D_206D_202E_206D_200D_200B_200E_200D_202E(ElementId P_0) - { - return P_0.Value; - } - - static string _200F_202C_206C_200F_206C_206B_206A_206F_200F_206F_202D_200B_200B_202B_200B_200B_206E_202A_202D_200E_202A_200E_200D_200F_206A_202E_202B_200C_202B_202C_206A_206E_200D_200F_206E_200E_200B_206A_202C_200C_202E(string P_0, IEnumerable P_1) - { - return string.Join(P_0, P_1); - } - - static ArgumentOutOfRangeException _206D_202C_202E_206C_206A_202D_202C_202D_206E_200E_202C_200D_200C_206C_200C_202E_200E_206A_200D_202E_202E_206D_206D_206D_202A_206A_200C_206C_206C_202C_200F_200C_200C_200B_202C_206E_206D_202E_202E_206E_202E(string P_0) - { - return new ArgumentOutOfRangeException(P_0); + return VbmAiStrategies; } } diff --git a/Questionable/Questionable.External/MoveCommand.cs b/Questionable/Questionable.External/MoveCommand.cs index 28e1416..0de5558 100644 --- a/Questionable/Questionable.External/MoveCommand.cs +++ b/Questionable/Questionable.External/MoveCommand.cs @@ -1,149 +1,6 @@ -using System; using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; namespace Questionable.External; -internal sealed record MoveCommand(List Waypoints, bool Fly, float ArrivalTolerance) -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200F_206E_202E_206A_206B_200B_202A_206C_206B_206F_202A_200C_200B_202D_200D_202B_202A_200B_202C_206C_206C_206A_206B_200F_202C_200E_202A_206F_202D_202D_206A_202A_202C_202C_202E_206F_206B_200B_202C_202E(typeof(MoveCommand).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206D_206D_200B_200E_200D_202E_202E_202E_206B_206E_200B_202A_200F_200F_200C_200D_200B_206D_202D_202B_202D_200B_202E_206F_206A_206D_202C_200B_202B_206A_202C_202A_202D_202E_206F_206B_200D_200C_206A_206E_202E(); - _202C_202B_206C_202E_202C_200F_206B_202D_200C_200B_206B_200E_200F_202A_200B_200C_206E_206F_202C_200E_206B_200C_202B_206B_202E_202B_206E_206C_202B_200F_200E_206B_202D_202C_200D_206D_206A_206E_206E_206F_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(697223660)); - _202C_202B_206C_202E_202C_200F_206B_202D_200C_200B_206B_200E_200F_202A_200B_200C_206E_206F_202C_200E_206B_200C_202B_206B_202E_202B_206E_206C_202B_200F_200E_206B_202D_202C_200D_206D_206A_206E_206E_206F_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? (-53230513) : (-53230514)); - while (true) - { - int num2 = num; - int num3 = -53230513; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _202B_206E_206F_200D_200C_200D_206E_206E_200C_202C_200C_202C_200C_206D_200D_200D_206D_206A_200B_206D_206F_206E_200C_206A_206D_206C_206C_206E_202C_206D_202E_206B_200E_206A_206B_206A_200B_200E_200E_202E(stringBuilder, '}'); - return _206A_202A_200B_206D_202C_202E_202E_206A_206C_202D_200B_200B_200C_200F_206E_200B_202E_202D_206B_200E_206A_202B_206C_202A_200E_200D_206A_200F_200C_206A_206E_206F_200B_206E_206C_200B_206D_202B_206A_206C_202E((object)stringBuilder); - case 1: - _202B_206E_206F_200D_200C_200D_206E_206E_200C_202C_200C_202C_200C_206D_200D_200D_206D_206A_200B_206D_206F_206E_200C_206A_206D_206C_206C_206E_202C_206D_202E_206B_200E_206A_206B_206A_200B_200E_200E_202E(stringBuilder, ' '); - num = -53230513; - break; - case 2: - num = -53230514; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202D_200B_206A_202D_206B_200C_202C_206B_206D_202B_202B_200C_206A_206E_206B_202A_202E_202E_202A_202B_202E_202B_200B_206A_200C_206E_206C_202B_206B_206E_202C_206D_202E_202C_200D_202C_206C_206F_200E_202A_202E(); - _202C_202B_206C_202E_202C_200F_206B_202D_200C_200B_206B_200E_200F_202A_200B_200C_206E_206F_202C_200E_206B_200C_202B_206B_202E_202B_206E_206C_202B_200F_200E_206B_202D_202C_200D_206D_206A_206E_206E_206F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(376475816)); - _202D_202C_202A_206E_202C_200C_200E_200B_206C_200B_202C_200E_202A_202A_206F_202E_206A_202A_200D_206E_202B_206E_200C_206C_200E_206D_200D_200E_202A_200C_202E_202C_206D_206B_200D_206B_202D_202E_202B_202B_202E(builder, (object)Waypoints); - _202C_202B_206C_202E_202C_200F_206B_202D_200C_200B_206B_200E_200F_202A_200B_200C_206E_206F_202C_200E_206B_200C_202B_206B_202E_202B_206E_206C_202B_200F_200E_206B_202D_202C_200D_206D_206A_206E_206E_206F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1335211848)); - _202C_202B_206C_202E_202C_200F_206B_202D_200C_200B_206B_200E_200F_202A_200B_200C_206E_206F_202C_200E_206B_200C_202B_206B_202E_202B_206E_206C_202B_200F_200E_206B_202D_202C_200D_206D_206A_206E_206E_206F_202E(builder, Fly.ToString()); - _202C_202B_206C_202E_202C_200F_206B_202D_200C_200B_206B_200E_200F_202A_200B_200C_206E_206F_202C_200E_206B_200C_202B_206B_202E_202B_206E_206C_202B_200F_200E_206B_202D_202C_200D_206D_206A_206E_206E_206F_202E(builder, 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(-918953903)); - _202C_202B_206C_202E_202C_200F_206B_202D_200C_200B_206B_200E_200F_202A_200B_200C_206E_206F_202C_200E_206B_200C_202B_206B_202E_202B_206E_206C_202B_200F_200E_206B_202D_202C_200D_206D_206A_206E_206E_206F_202E(builder, ArrivalTolerance.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(MoveCommand? other) - { - int num = (((object)this == other) ? 1439359497 : 1439359501); - while (true) - { - int num2 = num; - int num3 = 1439359498; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - num = 1439359501; - break; - case 5: - num = ((!_202A_202C_200C_202E_206C_200B_206F_202A_202E_200B_202A_200D_206E_200D_206C_202C_200B_202E_206B_206F_206B_202D_200F_202E_202E_202E_202A_200B_206E_200D_200C_206E_202D_202E_202C_202E_206E_202A_200E_200E_202E(EqualityContract, other.EqualityContract)) ? 1439359502 : 1439359496); - break; - case 2: - num = ((!EqualityComparer>.Default.Equals(Waypoints, other.Waypoints)) ? 1439359502 : 1439359498); - break; - case 3: - return true; - case 7: - num = (((object)other == null) ? 1439359502 : 1439359503); - break; - case 4: - return false; - case 0: - num = ((!EqualityComparer.Default.Equals(Fly, other.Fly)) ? 1439359502 : 1439359499); - break; - case 1: - return EqualityComparer.Default.Equals(ArrivalTolerance, other.ArrivalTolerance); - } - } - } - - bool IEquatable.Equals(MoveCommand? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200F_206E_202E_206A_206B_200B_202A_206C_206B_206F_202A_200C_200B_202D_200D_202B_202A_200B_202C_206C_206C_206A_206B_200F_202C_200E_202A_206F_202D_202D_206A_202A_202C_202C_202E_206F_206B_200B_202C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206D_206D_200B_200E_200D_202E_202E_202E_206B_206E_200B_202A_200F_200F_200C_200D_200B_206D_202D_202B_202D_200B_202E_206F_206A_206D_202C_200B_202B_206A_202C_202A_202D_202E_206F_206B_200D_200C_206A_206E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202C_202B_206C_202E_202C_200F_206B_202D_200C_200B_206B_200E_200F_202A_200B_200C_206E_206F_202C_200E_206B_200C_202B_206B_202E_202B_206E_206C_202B_200F_200E_206B_202D_202C_200D_206D_206A_206E_206E_206F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202B_206E_206F_200D_200C_200D_206E_206E_200C_202C_200C_202C_200C_206D_200D_200D_206D_206A_200B_206D_206F_206E_200C_206A_206D_206C_206C_206E_202C_206D_202E_206B_200E_206A_206B_206A_200B_200E_200E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206A_202A_200B_206D_202C_202E_202E_206A_206C_202D_200B_200B_200C_200F_206E_200B_202E_202D_206B_200E_206A_202B_206C_202A_200E_200D_206A_200F_200C_206A_206E_206F_200B_206E_206C_200B_206D_202B_206A_206C_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202D_200B_206A_202D_206B_200C_202C_206B_206D_202B_202B_200C_206A_206E_206B_202A_202E_202E_202A_202B_202E_202B_200B_206A_200C_206E_206C_202B_206B_206E_202C_206D_202E_202C_200D_202C_206C_206F_200E_202A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202D_202C_202A_206E_202C_200C_200E_200B_206C_200B_202C_200E_202A_202A_206F_202E_206A_202A_200D_206E_202B_206E_200C_206C_200E_206D_200D_200E_202A_200C_202E_202C_206D_206B_200D_206B_202D_202E_202B_202B_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202A_202C_200C_202E_206C_200B_206F_202A_202E_200B_202A_200D_206E_200D_206C_202C_200B_202E_206B_206F_206B_202D_200F_202E_202E_202E_202A_200B_206E_200D_200C_206E_202D_202E_202C_202E_206E_202A_200E_200E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +internal sealed record MoveCommand(List Waypoints, bool Fly, float ArrivalTolerance); diff --git a/Questionable/Questionable.External/NavPathfindResult.cs b/Questionable/Questionable.External/NavPathfindResult.cs index 05cca01..3ad3f9b 100644 --- a/Questionable/Questionable.External/NavPathfindResult.cs +++ b/Questionable/Questionable.External/NavPathfindResult.cs @@ -1,152 +1,6 @@ -using System; using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; namespace Questionable.External; -internal sealed record NavPathfindResult(List Waypoints, bool HasPartialInfo, bool IsPartial, float EndDistance) -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202E_200C_202B_200E_200E_200B_200B_206D_202E_202D_206C_206B_200E_206A_200E_202E_206A_206A_206A_202E_206C_202D_202E_206E_200B_200C_200E_206E_202A_206E_206F_202D_206D_202B_202D_206D_200B_200D_200B_202D_202E(typeof(NavPathfindResult).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202E_206D_206E_202C_206F_202D_202A_200E_202B_206E_202D_202E_206E_206E_202D_202A_206F_206C_202B_202A_200F_206B_206C_202A_202E_200F_200C_202A_202C_200C_206B_202C_202D_202C_200B_202B_206B_202D_202C_200C_202E(); - _202C_206B_206B_200F_206B_206A_206D_206B_206F_200B_200F_200B_200D_202A_206C_206B_200B_202D_202E_206C_200B_200E_202B_206F_202B_202B_202B_206A_200C_202D_200E_200F_206D_206D_206F_200E_202A_206A_202A_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-598170801)); - _202C_206B_206B_200F_206B_206A_206D_206B_206F_200B_200F_200B_200D_202A_206C_206B_200B_202D_202E_206C_200B_200E_202B_206F_202B_202B_202B_206A_200C_202D_200E_200F_206D_206D_206F_200E_202A_206A_202A_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1664411125)); - int num = ((!PrintMembers(stringBuilder)) ? 490901911 : 490901908); - while (true) - { - int num2 = num; - int num3 = 490901909; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 490901908; - break; - case 2: - _206A_202C_200D_202D_200B_206F_202E_206E_206E_206C_202D_206F_202C_200B_200D_202E_202E_206E_200E_206F_202A_206E_202A_202E_200F_202C_200C_206F_206E_206B_202B_206B_202B_200C_202E_200B_202C_202C_202E_200D_202E(stringBuilder, '}'); - return _206F_206D_206C_200F_200C_202A_200D_200B_206A_200D_200B_202C_200C_206E_202B_200F_200C_200D_206D_202D_200C_202B_202D_202E_200F_200D_200D_202D_202B_206E_202D_200E_206B_200E_202A_200B_206C_200F_200F_200D_202E((object)stringBuilder); - case 1: - _206A_202C_200D_202D_200B_206F_202E_206E_206E_206C_202D_206F_202C_200B_200D_202E_202E_206E_200E_206F_202A_206E_202A_202E_200F_202C_200C_206F_206E_206B_202B_206B_202B_200C_202E_200B_202C_202C_202E_200D_202E(stringBuilder, ' '); - num = 490901911; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200B_202A_206B_200B_200F_200C_200F_206D_206F_206A_202A_206A_206A_206C_200F_200B_206A_206B_202A_206A_200B_200C_206F_200C_202A_206E_202A_202D_202C_206E_206B_206A_200D_200B_206A_206C_206D_206A_206A_202A_202E(); - _202C_206B_206B_200F_206B_206A_206D_206B_206F_200B_200F_200B_200D_202A_206C_206B_200B_202D_202E_206C_200B_200E_202B_206F_202B_202B_202B_206A_200C_202D_200E_200F_206D_206D_206F_200E_202A_206A_202A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(110603509)); - _202E_206B_200E_206B_200B_206C_206D_206F_202E_206E_206B_206C_200E_202A_206A_200C_206F_200C_200E_200F_200D_202B_200F_200C_206E_202E_202C_202C_200C_206E_202D_200D_200C_200C_206C_206C_200E_200B_206A_202C_202E(builder, (object)Waypoints); - _202C_206B_206B_200F_206B_206A_206D_206B_206F_200B_200F_200B_200D_202A_206C_206B_200B_202D_202E_206C_200B_200E_202B_206F_202B_202B_202B_206A_200C_202D_200E_200F_206D_206D_206F_200E_202A_206A_202A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1493861964)); - _202C_206B_206B_200F_206B_206A_206D_206B_206F_200B_200F_200B_200D_202A_206C_206B_200B_202D_202E_206C_200B_200E_202B_206F_202B_202B_202B_206A_200C_202D_200E_200F_206D_206D_206F_200E_202A_206A_202A_202E(builder, HasPartialInfo.ToString()); - _202C_206B_206B_200F_206B_206A_206D_206B_206F_200B_200F_200B_200D_202A_206C_206B_200B_202D_202E_206C_200B_200E_202B_206F_202B_202B_202B_206A_200C_202D_200E_200F_206D_206D_206F_200E_202A_206A_202A_202E(builder, 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(164596793)); - _202C_206B_206B_200F_206B_206A_206D_206B_206F_200B_200F_200B_200D_202A_206C_206B_200B_202D_202E_206C_200B_200E_202B_206F_202B_202B_202B_206A_200C_202D_200E_200F_206D_206D_206F_200E_202A_206A_202A_202E(builder, IsPartial.ToString()); - _202C_206B_206B_200F_206B_206A_206D_206B_206F_200B_200F_200B_200D_202A_206C_206B_200B_202D_202E_206C_200B_200E_202B_206F_202B_202B_202B_206A_200C_202D_200E_200F_206D_206D_206F_200E_202A_206A_202A_202E(builder, 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(-2102577067)); - _202C_206B_206B_200F_206B_206A_206D_206B_206F_200B_200F_200B_200D_202A_206C_206B_200B_202D_202E_206C_200B_200E_202B_206F_202B_202B_202B_206A_200C_202D_200E_200F_206D_206D_206F_200E_202A_206A_202A_202E(builder, EndDistance.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(NavPathfindResult? other) - { - int num = (((object)this == other) ? 790411185 : 790411191); - while (true) - { - int num2 = num; - int num3 = 790411189; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 790411191; - break; - case 7: - return EqualityComparer.Default.Equals(EndDistance, other.EndDistance); - case 2: - num = (((object)other == null) ? 790411187 : 790411184); - break; - case 6: - return false; - case 4: - return true; - case 3: - num = ((!EqualityComparer.Default.Equals(IsPartial, other.IsPartial)) ? 790411187 : 790411186); - break; - case 5: - num = ((!_206B_206C_200D_202B_202C_200B_200C_202D_206C_200E_206D_202D_200E_202A_200E_200D_206A_202D_200F_206A_202C_206F_206B_202C_200E_202A_202C_206D_202A_206C_206C_200B_202D_206C_200D_206F_206B_206D_202D_206E_202E(EqualityContract, other.EqualityContract)) ? 790411187 : 790411188); - break; - case 1: - num = ((!EqualityComparer>.Default.Equals(Waypoints, other.Waypoints)) ? 790411187 : 790411197); - break; - case 8: - num = ((!EqualityComparer.Default.Equals(HasPartialInfo, other.HasPartialInfo)) ? 790411187 : 790411190); - break; - } - } - } - - bool IEquatable.Equals(NavPathfindResult? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202E_200C_202B_200E_200E_200B_200B_206D_202E_202D_206C_206B_200E_206A_200E_202E_206A_206A_206A_202E_206C_202D_202E_206E_200B_200C_200E_206E_202A_206E_206F_202D_206D_202B_202D_206D_200B_200D_200B_202D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202E_206D_206E_202C_206F_202D_202A_200E_202B_206E_202D_202E_206E_206E_202D_202A_206F_206C_202B_202A_200F_206B_206C_202A_202E_200F_200C_202A_202C_200C_206B_202C_202D_202C_200B_202B_206B_202D_202C_200C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202C_206B_206B_200F_206B_206A_206D_206B_206F_200B_200F_200B_200D_202A_206C_206B_200B_202D_202E_206C_200B_200E_202B_206F_202B_202B_202B_206A_200C_202D_200E_200F_206D_206D_206F_200E_202A_206A_202A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206A_202C_200D_202D_200B_206F_202E_206E_206E_206C_202D_206F_202C_200B_200D_202E_202E_206E_200E_206F_202A_206E_202A_202E_200F_202C_200C_206F_206E_206B_202B_206B_202B_200C_202E_200B_202C_202C_202E_200D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206F_206D_206C_200F_200C_202A_200D_200B_206A_200D_200B_202C_200C_206E_202B_200F_200C_200D_206D_202D_200C_202B_202D_202E_200F_200D_200D_202D_202B_206E_202D_200E_206B_200E_202A_200B_206C_200F_200F_200D_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200B_202A_206B_200B_200F_200C_200F_206D_206F_206A_202A_206A_206A_206C_200F_200B_206A_206B_202A_206A_200B_200C_206F_200C_202A_206E_202A_202D_202C_206E_206B_206A_200D_200B_206A_206C_206D_206A_206A_202A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202E_206B_200E_206B_200B_206C_206D_206F_202E_206E_206B_206C_200E_202A_206A_200C_206F_200C_200E_200F_200D_202B_200F_200C_206E_202E_202C_202C_200C_206E_202D_200D_200C_200C_206C_206C_200E_200B_206A_202C_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206B_206C_200D_202B_202C_200B_200C_202D_206C_200E_206D_202D_200E_202A_200E_200D_206A_202D_200F_206A_202C_206F_206B_202C_200E_202A_202C_206D_202A_206C_206C_200B_202D_206C_200D_206F_206B_206D_202D_206E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +internal sealed record NavPathfindResult(List Waypoints, bool HasPartialInfo, bool IsPartial, float EndDistance); diff --git a/Questionable/Questionable.External/NavStatus.cs b/Questionable/Questionable.External/NavStatus.cs index ebb8006..a495e3f 100644 --- a/Questionable/Questionable.External/NavStatus.cs +++ b/Questionable/Questionable.External/NavStatus.cs @@ -1,156 +1,3 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; - namespace Questionable.External; -internal sealed record NavStatus(bool Ready, string State, int TilesBuilt, int TilesTotal, uint TerritoryId) -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206E_202E_200F_206E_202E_206B_200E_202C_202B_202A_206E_200E_200C_206A_202E_206D_206E_206D_206A_200F_200F_202E_202A_200D_200C_206D_206C_206A_206A_202C_206C_200F_202A_200C_206E_200D_206E_206E_206E_206A_202E(typeof(NavStatus).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200B_202E_202E_200D_202E_206E_206E_202E_202D_200B_206D_206B_206A_206A_206D_200B_202E_206B_200F_200B_202E_206F_202E_206B_202C_202A_202E_202B_202D_202D_206F_202C_202B_202B_206B_206E_206B_202C_200C_206A_202E(); - _206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1175225057)); - _206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(556540328)); - int num = ((!PrintMembers(stringBuilder)) ? (-847279882) : (-847279883)); - while (true) - { - int num2 = num; - int num3 = -847279881; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -847279883; - break; - case 1: - _206D_206A_200B_202D_206E_206B_200F_206C_206C_206C_206B_202E_200D_206C_202B_206A_206A_202C_206E_202E_202B_202E_200C_200E_202C_202D_202A_200D_202D_206E_202C_202D_206B_200E_202A_200D_200C_200B_202D_206E_202E(stringBuilder, '}'); - return _202E_202A_202E_206A_206F_202A_206C_200D_206E_202D_206C_206D_202D_206D_200C_206F_200E_202D_202A_202C_202C_202D_202E_206B_200C_200E_206C_202B_200E_202C_206C_200D_200C_200D_202A_200C_202A_206F_202D_206E_202E((object)stringBuilder); - case 2: - _206D_206A_200B_202D_206E_206B_200F_206C_206C_206C_206B_202E_200D_206C_202B_206A_206A_202C_206E_202E_202B_202E_200C_200E_202C_202D_202A_200D_202D_206E_202C_202D_206B_200E_202A_200D_200C_200B_202D_206E_202E(stringBuilder, ' '); - num = -847279882; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206D_202E_200B_200D_200D_202D_206B_202D_202D_206C_206C_200D_200C_200B_206E_206B_202C_206C_202C_206C_200E_202E_206B_202E_206A_200C_202D_206A_202D_206E_202E_200F_202A_206B_202E_202B_200C_202B_200C_202D_202E(); - _206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2002356091)); - _206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(builder, Ready.ToString()); - _206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1574005385)); - _206D_200E_206D_202C_200F_202A_202B_202E_202A_206D_206B_202C_202A_202D_206A_200E_206A_206D_206F_200D_200C_202E_200D_206C_206D_200F_206A_200B_202E_206F_206A_206A_206F_206B_202B_200C_200B_206A_206F_206A_202E(builder, (object)State); - _206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(96629540)); - _206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(builder, TilesBuilt.ToString()); - _206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(57838909)); - _206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(builder, TilesTotal.ToString()); - _206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(647715754)); - _206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(builder, TerritoryId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(NavStatus? other) - { - int num = (((object)this == other) ? 1329501790 : 1329501785); - while (true) - { - int num2 = num; - int num3 = 1329501787; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 8: - num = ((!EqualityComparer.Default.Equals(TilesTotal, other.TilesTotal)) ? 1329501788 : 1329501787); - break; - case 7: - return false; - case 0: - return EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId); - case 1: - num = ((!_202A_200D_206D_200C_202A_200B_206A_206B_200D_202B_202C_200D_200E_206C_202A_202A_202E_202C_200F_200E_206F_202D_200D_202C_206B_206C_200E_206C_206E_200D_202B_200E_200C_200F_202B_206E_202B_202A_202A_206D_202E(EqualityContract, other.EqualityContract)) ? 1329501788 : 1329501789); - break; - case 5: - return true; - case 9: - num = ((!EqualityComparer.Default.Equals(TilesBuilt, other.TilesBuilt)) ? 1329501788 : 1329501779); - break; - case 4: - num = 1329501785; - break; - case 6: - num = ((!EqualityComparer.Default.Equals(Ready, other.Ready)) ? 1329501788 : 1329501784); - break; - case 3: - num = ((!EqualityComparer.Default.Equals(State, other.State)) ? 1329501788 : 1329501778); - break; - case 2: - num = (((object)other == null) ? 1329501788 : 1329501786); - break; - } - } - } - - bool IEquatable.Equals(NavStatus? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206E_202E_200F_206E_202E_206B_200E_202C_202B_202A_206E_200E_200C_206A_202E_206D_206E_206D_206A_200F_200F_202E_202A_200D_200C_206D_206C_206A_206A_202C_206C_200F_202A_200C_206E_200D_206E_206E_206E_206A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200B_202E_202E_200D_202E_206E_206E_202E_202D_200B_206D_206B_206A_206A_206D_200B_202E_206B_200F_200B_202E_206F_202E_206B_202C_202A_202E_202B_202D_202D_206F_202C_202B_202B_206B_206E_206B_202C_200C_206A_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206E_202B_206E_202C_200C_206B_200F_200D_202C_206C_202B_200D_206C_202B_202C_206A_206E_202C_206B_202D_206E_202D_200E_202D_200C_206A_206C_202C_200F_202A_206F_200B_206F_206B_206F_202C_200F_206C_200D_200C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206D_206A_200B_202D_206E_206B_200F_206C_206C_206C_206B_202E_200D_206C_202B_206A_206A_202C_206E_202E_202B_202E_200C_200E_202C_202D_202A_200D_202D_206E_202C_202D_206B_200E_202A_200D_200C_200B_202D_206E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202E_202A_202E_206A_206F_202A_206C_200D_206E_202D_206C_206D_202D_206D_200C_206F_200E_202D_202A_202C_202C_202D_202E_206B_200C_200E_206C_202B_200E_202C_206C_200D_200C_200D_202A_200C_202A_206F_202D_206E_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206D_202E_200B_200D_200D_202D_206B_202D_202D_206C_206C_200D_200C_200B_206E_206B_202C_206C_202C_206C_200E_202E_206B_202E_206A_200C_202D_206A_202D_206E_202E_200F_202A_206B_202E_202B_200C_202B_200C_202D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206D_200E_206D_202C_200F_202A_202B_202E_202A_206D_206B_202C_202A_202D_206A_200E_206A_206D_206F_200D_200C_202E_200D_206C_206D_200F_206A_200B_202E_206F_206A_206A_206F_206B_202B_200C_200B_206A_206F_206A_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202A_200D_206D_200C_202A_200B_206A_206B_200D_202B_202C_200D_200E_206C_202A_202A_202E_202C_200F_200E_206F_202D_200D_202C_206B_206C_200E_206C_206E_200D_202B_200E_200C_200F_202B_206E_202B_202A_202A_206D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +internal sealed record NavStatus(bool Ready, string State, int TilesBuilt, int TilesTotal, uint TerritoryId); diff --git a/Questionable/Questionable.External/NavmeshIpc.cs b/Questionable/Questionable.External/NavmeshIpc.cs index 6fc6f5c..0f7ffea 100644 --- a/Questionable/Questionable.External/NavmeshIpc.cs +++ b/Questionable/Questionable.External/NavmeshIpc.cs @@ -1,7 +1,5 @@ -using System; using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; using Dalamud.Plugin; @@ -48,31 +46,25 @@ internal sealed class NavmeshIpc public readonly ICallGateSubscriber NavRebuild; - [MethodImpl(MethodImplOptions.NoInlining)] public Subscribers(IDalamudPluginInterface pluginInterface, Configuration.ENavigationProvider provider) { - string text = ((provider == Configuration.ENavigationProvider.WigglyNavShim) ? global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(400780601) : 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(281533512)); - IsNavReady = pluginInterface.GetIpcSubscriber(_206A_206C_202A_200E_200F_206C_206B_202C_200B_206C_200B_202A_206D_206D_202A_200B_200E_200F_202D_206D_206A_206D_206A_202E_200B_202D_200C_206C_202D_200C_200C_200B_206B_206B_206F_206C_200D_206F_200E_206B_202E(text, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2043293393))); - NavPathfind = pluginInterface.GetIpcSubscriber>>(_206A_206C_202A_200E_200F_206C_206B_202C_200B_206C_200B_202A_206D_206D_202A_200B_200E_200F_202D_206D_206A_206D_206A_202E_200B_202D_200C_206C_202D_200C_200C_200B_206B_206B_206F_206C_200D_206F_200E_206B_202E(text, 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(1869644565))); - NavPathfindWithTolerance = pluginInterface.GetIpcSubscriber>>(_206A_206C_202A_200E_200F_206C_206B_202C_200B_206C_200B_202A_206D_206D_202A_200B_200E_200F_202D_206D_206A_206D_206A_202E_200B_202D_200C_206C_202D_200C_200C_200B_206B_206B_206F_206C_200D_206F_200E_206B_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1343590681))); - NavPathfindInProgress = pluginInterface.GetIpcSubscriber(_206A_206C_202A_200E_200F_206C_206B_202C_200B_206C_200B_202A_206D_206D_202A_200B_200E_200F_202D_206D_206A_206D_206A_202E_200B_202D_200C_206C_202D_200C_200C_200B_206B_206B_206F_206C_200D_206F_200E_206B_202E(text, 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(-1113861054))); - NavNumQueuedRequests = pluginInterface.GetIpcSubscriber(_206A_206C_202A_200E_200F_206C_206B_202C_200B_206C_200B_202A_206D_206D_202A_200B_200E_200F_202D_206D_206A_206D_206A_202E_200B_202D_200C_206C_202D_200C_200C_200B_206B_206B_206F_206C_200D_206F_200E_206B_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1214172476))); - PathMoveTo = pluginInterface.GetIpcSubscriber, bool, object>(_206A_206C_202A_200E_200F_206C_206B_202C_200B_206C_200B_202A_206D_206D_202A_200B_200E_200F_202D_206D_206A_206D_206A_202E_200B_202D_200C_206C_202D_200C_200C_200B_206B_206B_206F_206C_200D_206F_200E_206B_202E(text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2135724883))); - PathStop = pluginInterface.GetIpcSubscriber(_206A_206C_202A_200E_200F_206C_206B_202C_200B_206C_200B_202A_206D_206D_202A_200B_200E_200F_202D_206D_206A_206D_206A_202E_200B_202D_200C_206C_202D_200C_200C_200B_206B_206B_206F_206C_200D_206F_200E_206B_202E(text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1489726535))); - PathIsRunning = pluginInterface.GetIpcSubscriber(_206A_206C_202A_200E_200F_206C_206B_202C_200B_206C_200B_202A_206D_206D_202A_200B_200E_200F_202D_206D_206A_206D_206A_202E_200B_202D_200C_206C_202D_200C_200C_200B_206B_206B_206F_206C_200D_206F_200E_206B_202E(text, 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(-1992325887))); - PathListWaypoints = pluginInterface.GetIpcSubscriber>(_206A_206C_202A_200E_200F_206C_206B_202C_200B_206C_200B_202A_206D_206D_202A_200B_200E_200F_202D_206D_206A_206D_206A_202E_200B_202D_200C_206C_202D_200C_200C_200B_206B_206B_206F_206C_200D_206F_200E_206B_202E(text, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1844977859))); - PathSetTolerance = pluginInterface.GetIpcSubscriber(_206A_206C_202A_200E_200F_206C_206B_202C_200B_206C_200B_202A_206D_206D_202A_200B_200E_200F_202D_206D_206A_206D_206A_202E_200B_202D_200C_206C_202D_200C_200C_200B_206B_206B_206F_206C_200D_206F_200E_206B_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1161845014))); - QueryPointOnFloor = pluginInterface.GetIpcSubscriber(_206A_206C_202A_200E_200F_206C_206B_202C_200B_206C_200B_202A_206D_206D_202A_200B_200E_200F_202D_206D_206A_206D_206A_202E_200B_202D_200C_206C_202D_200C_200C_200B_206B_206B_206F_206C_200D_206F_200E_206B_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(865017884))); - QueryNearestPoint = pluginInterface.GetIpcSubscriber(_206A_206C_202A_200E_200F_206C_206B_202C_200B_206C_200B_202A_206D_206D_202A_200B_200E_200F_202D_206D_206A_206D_206A_202E_200B_202D_200C_206C_202D_200C_200C_200B_206B_206B_206F_206C_200D_206F_200E_206B_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2130817597))); - QueryNearestPointReachable = pluginInterface.GetIpcSubscriber(_206A_206C_202A_200E_200F_206C_206B_202C_200B_206C_200B_202A_206D_206D_202A_200B_200E_200F_202D_206D_206A_206D_206A_202E_200B_202D_200C_206C_202D_200C_200C_200B_206B_206B_206F_206C_200D_206F_200E_206B_202E(text, 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(-1867865423))); - BuildProgress = pluginInterface.GetIpcSubscriber(_206A_206C_202A_200E_200F_206C_206B_202C_200B_206C_200B_202A_206D_206D_202A_200B_200E_200F_202D_206D_206A_206D_206A_202E_200B_202D_200C_206C_202D_200C_200C_200B_206B_206B_206F_206C_200D_206F_200E_206B_202E(text, 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(2132035295))); - NavReload = pluginInterface.GetIpcSubscriber(_206A_206C_202A_200E_200F_206C_206B_202C_200B_206C_200B_202A_206D_206D_202A_200B_200E_200F_202D_206D_206A_206D_206A_202E_200B_202D_200C_206C_202D_200C_200C_200B_206B_206B_206F_206C_200D_206F_200E_206B_202E(text, 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(885142654))); - NavRebuild = pluginInterface.GetIpcSubscriber(_206A_206C_202A_200E_200F_206C_206B_202C_200B_206C_200B_202A_206D_206D_202A_200B_200E_200F_202D_206D_206A_206D_206A_202E_200B_202D_200C_206C_202D_200C_200C_200B_206B_206B_206F_206C_200D_206F_200E_206B_202E(text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-819256700))); - } - - static string _206A_206C_202A_200E_200F_206C_206B_202C_200B_206C_200B_202A_206D_206D_202A_200B_200E_200F_202D_206D_206A_206D_206A_202E_200B_202D_200C_206C_202D_200C_200C_200B_206B_206B_206F_206C_200D_206F_200E_206B_202E(string P_0, string P_1) - { - return P_0 + P_1; + string text = ((provider == Configuration.ENavigationProvider.WigglyNavShim) ? "WigglyNav" : "vnavmesh"); + IsNavReady = pluginInterface.GetIpcSubscriber(text + ".Nav.IsReady"); + NavPathfind = pluginInterface.GetIpcSubscriber>>(text + ".Nav.PathfindCancelable"); + NavPathfindWithTolerance = pluginInterface.GetIpcSubscriber>>(text + ".Nav.PathfindWithTolerance"); + NavPathfindInProgress = pluginInterface.GetIpcSubscriber(text + ".Nav.PathfindInProgress"); + NavNumQueuedRequests = pluginInterface.GetIpcSubscriber(text + ".Nav.PathfindNumQueued"); + PathMoveTo = pluginInterface.GetIpcSubscriber, bool, object>(text + ".Path.MoveTo"); + PathStop = pluginInterface.GetIpcSubscriber(text + ".Path.Stop"); + PathIsRunning = pluginInterface.GetIpcSubscriber(text + ".Path.IsRunning"); + PathListWaypoints = pluginInterface.GetIpcSubscriber>(text + ".Path.ListWaypoints"); + PathSetTolerance = pluginInterface.GetIpcSubscriber(text + ".Path.SetTolerance"); + QueryPointOnFloor = pluginInterface.GetIpcSubscriber(text + ".Query.Mesh.PointOnFloor"); + QueryNearestPoint = pluginInterface.GetIpcSubscriber(text + ".Query.Mesh.NearestPoint"); + QueryNearestPointReachable = pluginInterface.GetIpcSubscriber(text + ".Query.Mesh.NearestPointReachable"); + BuildProgress = pluginInterface.GetIpcSubscriber(text + ".Nav.BuildProgress"); + NavReload = pluginInterface.GetIpcSubscriber(text + ".Nav.Reload"); + NavRebuild = pluginInterface.GetIpcSubscriber(text + ".Nav.Rebuild"); } } @@ -100,27 +92,11 @@ internal sealed class NavmeshIpc { get { - int num = ((_configuration.General.NavigationProvider != Configuration.ENavigationProvider.WigglyNav) ? (-1473368197) : (-1473368200)); - while (true) + if (_configuration.General.NavigationProvider == Configuration.ENavigationProvider.WigglyNav) { - int num2 = num; - int num3 = -1473368199; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0053; - case 2: - return false; - case 1: - return _wigglyNavAvailability.IsCompatible; - } - continue; - IL_0053: - num = -1473368200; + return _wigglyNavAvailability.IsCompatible; } + return false; } } @@ -129,26 +105,12 @@ internal sealed class NavmeshIpc get { Configuration.ENavigationProvider navigationProvider = _configuration.General.NavigationProvider; - int num = ((navigationProvider == _activeProvider) ? (-590675720) : (-590675719)); - while (true) + if (navigationProvider != _activeProvider) { - int num2 = num; - int num3 = -590675720; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return _subscribers; - case 1: - _subscribers = new Subscribers(_pluginInterface, navigationProvider); - _activeProvider = navigationProvider; - num = -590675720; - break; - case 2: - num = -590675719; - break; - } + _subscribers = new Subscribers(_pluginInterface, navigationProvider); + _activeProvider = navigationProvider; } + return _subscribers; } } @@ -156,38 +118,22 @@ internal sealed class NavmeshIpc { get { - int num = ((!UseNative) ? 876244421 : 876244422); - while (true) + if (UseNative) { - int num2 = num; - int num3 = 876244423; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0048; - case 1: - return _wigglyNavIpc.IsNavmeshAvailable; - case 2: - try - { - S.IsNavReady.InvokeFunc(); - return true; - } - catch (IpcNotReadyError) - { - return false; - } - catch (IpcError) - { - return true; - } - } - continue; - IL_0048: - num = 876244422; + return _wigglyNavIpc.IsNavmeshAvailable; + } + try + { + S.IsNavReady.InvokeFunc(); + return true; + } + catch (IpcNotReadyError) + { + return false; + } + catch (IpcError) + { + return true; } } } @@ -196,33 +142,17 @@ internal sealed class NavmeshIpc { get { - int num = ((!UseNative) ? (-1348520719) : (-1348520720)); - while (true) + if (UseNative) { - int num2 = num; - int num3 = -1348520719; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0048; - case 1: - return _wigglyNavIpc.IsReady; - case 0: - try - { - return S.IsNavReady.InvokeFunc(); - } - catch (IpcError) - { - return false; - } - } - continue; - IL_0048: - num = -1348520720; + return _wigglyNavIpc.IsReady; + } + try + { + return S.IsNavReady.InvokeFunc(); + } + catch (IpcError) + { + return false; } } } @@ -231,33 +161,17 @@ internal sealed class NavmeshIpc { get { - int num = ((!UseNative) ? (-678709680) : (-678709679)); - while (true) + if (UseNative) { - int num2 = num; - int num3 = -678709680; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0048; - case 1: - return _wigglyNavIpc.IsPathRunning; - case 0: - try - { - return S.PathIsRunning.InvokeFunc(); - } - catch (IpcError) - { - return false; - } - } - continue; - IL_0048: - num = -678709679; + return _wigglyNavIpc.IsPathRunning; + } + try + { + return S.PathIsRunning.InvokeFunc(); + } + catch (IpcError) + { + return false; } } } @@ -266,31 +180,17 @@ internal sealed class NavmeshIpc { get { - int num = ((!UseNative) ? 552109104 : 552109107); - while (true) + if (UseNative) { - int num2 = num; - int num3 = 552109106; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0046; - case 1: - return _wigglyNavIpc.IsPathfindInProgress; - case 2: - try - { - return S.NavPathfindInProgress.InvokeFunc(); - } - catch (IpcError) - { - return false; - } - } - continue; - IL_0046: - num = 552109107; + return _wigglyNavIpc.IsPathfindInProgress; + } + try + { + return S.NavPathfindInProgress.InvokeFunc(); + } + catch (IpcError) + { + return false; } } } @@ -299,36 +199,21 @@ internal sealed class NavmeshIpc { get { - int num = ((!UseNative) ? 1053516825 : 1053516826); - while (true) + if (UseNative) { - int num2 = num; - int num3 = 1053516827; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0046; - case 1: - return _wigglyNavIpc.NumQueuedPathfindRequests; - case 2: - try - { - return S.NavNumQueuedRequests.InvokeFunc(); - } - catch (IpcError) - { - return 0; - } - } - continue; - IL_0046: - num = 1053516826; + return _wigglyNavIpc.NumQueuedPathfindRequests; + } + try + { + return S.NavNumQueuedRequests.InvokeFunc(); + } + catch (IpcError) + { + return 0; } } } - [MethodImpl(MethodImplOptions.NoInlining)] public NavmeshIpc(IDalamudPluginInterface pluginInterface, Configuration configuration, WigglyNavIpc wigglyNavIpc, WigglyNavAvailability wigglyNavAvailability, IChatGui chatGui, ILogger logger) { _pluginInterface = pluginInterface; @@ -339,7 +224,7 @@ internal sealed class NavmeshIpc _logger = logger; _activeProvider = configuration.General.NavigationProvider; _subscribers = new Subscribers(pluginInterface, _activeProvider); - _vnavmeshStop = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1557569534)); + _vnavmeshStop = pluginInterface.GetIpcSubscriber("vnavmesh.Path.Stop"); } internal void StopAll() @@ -354,554 +239,259 @@ internal sealed class NavmeshIpc } } - [MethodImpl(MethodImplOptions.NoInlining)] private void NoticeFallbackToVnavmesh() { - int num = (UseNative ? 1523716478 : 1523716477); - while (true) + if (UseNative || _configuration.General.NavigationProvider != Configuration.ENavigationProvider.WigglyNav) { - int num2 = num; - int num3 = 1523716478; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _fallbackNoticed = false; - return; - case 3: - num = ((_configuration.General.NavigationProvider == Configuration.ENavigationProvider.WigglyNav) ? 1523716479 : 1523716478); - break; - case 1: - num = ((!_fallbackNoticed) ? 1523716475 : 1523716474); - break; - case 4: - return; - case 2: - num = 1523716477; - break; - case 5: - _fallbackNoticed = true; - _200F_206F_200D_206C_202A_206D_206C_202A_202A_200E_200D_206C_206E_206B_206E_200C_206A_200C_200F_206C_200D_202C_202D_206E_200E_206A_206F_206C_206A_200D_200F_202C_206A_202D_206D_206A_206E_200B_202A_206A_202E(_chatGui, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-381498460), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(467221712), (ushort?)(ushort)576); - return; - } + _fallbackNoticed = false; + } + else if (!_fallbackNoticed) + { + _fallbackNoticed = true; + _chatGui.Print("WigglyNav is unavailable - navigation is using vnavmesh until it returns.", "Questionable", 576); } } private async Task PathfindNative(Vector3 localPlayerPosition, Vector3 targetPosition, bool fly, float tolerance, CancellationToken cancellationToken) { - int num = 1290670332; - ConfiguredTaskAwaitable.ConfiguredTaskAwaiter configuredTaskAwaiter = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - ConfiguredTaskAwaitable.ConfiguredTaskAwaiter configuredTaskAwaiter2 = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - while (true) - { - int num2 = num; - int num3 = 1290670335; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1290670332; - break; - case 4: - await configuredTaskAwaiter; - num = 1290670334; - break; - case 1: - configuredTaskAwaiter = configuredTaskAwaiter2; - configuredTaskAwaiter2 = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - num = 1290670335; - break; - case 3: - configuredTaskAwaiter = _wigglyNavIpc.Pathfind(localPlayerPosition, targetPosition, fly, tolerance, cancellationToken).ConfigureAwait(continueOnCapturedContext: false).GetAwaiter(); - num = (configuredTaskAwaiter.IsCompleted ? 1290670335 : 1290670331); - break; - case 0: - { - PathfindResult result = configuredTaskAwaiter.GetResult(); - return new NavPathfindResult(result.Waypoints, HasPartialInfo: true, result.IsPartial, result.EndDistance); - } - } - } + PathfindResult pathfindResult = await _wigglyNavIpc.Pathfind(localPlayerPosition, targetPosition, fly, tolerance, cancellationToken).ConfigureAwait(continueOnCapturedContext: false); + return new NavPathfindResult(pathfindResult.Waypoints, HasPartialInfo: true, pathfindResult.IsPartial, pathfindResult.EndDistance); } private static async Task WrapLegacyPathfind(Task> pathfind) { - int num = -802136330; - ConfiguredTaskAwaitable>.ConfiguredTaskAwaiter configuredTaskAwaiter = default(ConfiguredTaskAwaitable>.ConfiguredTaskAwaiter); - ConfiguredTaskAwaitable>.ConfiguredTaskAwaiter configuredTaskAwaiter2 = default(ConfiguredTaskAwaitable>.ConfiguredTaskAwaiter); - while (true) - { - int num2 = num; - int num3 = -802136334; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -802136330; - break; - case 2: - await configuredTaskAwaiter; - num = -802136335; - break; - case 3: - configuredTaskAwaiter = configuredTaskAwaiter2; - configuredTaskAwaiter2 = default(ConfiguredTaskAwaitable>.ConfiguredTaskAwaiter); - num = -802136333; - break; - case 4: - configuredTaskAwaiter = pathfind.ConfigureAwait(continueOnCapturedContext: false).GetAwaiter(); - num = (configuredTaskAwaiter.IsCompleted ? (-802136333) : (-802136336)); - break; - case 1: - return new NavPathfindResult(configuredTaskAwaiter.GetResult(), HasPartialInfo: false, IsPartial: false, 0f); - } - } + return new NavPathfindResult(await pathfind.ConfigureAwait(continueOnCapturedContext: false), HasPartialInfo: false, IsPartial: false, 0f); } - [MethodImpl(MethodImplOptions.NoInlining)] public void Stop() { - int num = ((!UseNative) ? 1744217165 : 1744217166); - while (true) + if (UseNative) { - int num2 = num; - int num3 = 1744217164; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _wigglyNavIpc.Stop(); + } + else if (IsNavmeshAvailable) + { + try { - case 3: - return; - case 2: - _wigglyNavIpc.Stop(); - return; - case 0: - num = 1744217166; - break; - case 1: - num = (IsNavmeshAvailable ? 1744217160 : 1744217167); - break; - case 4: - try - { - S.PathStop.InvokeAction(); - return; - } - catch (IpcError ipcError) - { - _202D_206A_206A_206E_202E_200C_206D_202C_200B_200E_200F_202B_200D_206B_200C_202B_206C_200D_206E_206C_200F_200D_206A_200B_200C_200B_206F_206B_200F_206E_206B_202C_202E_202B_200D_200D_200E_202C_200D_206B_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1450190224), Array.Empty()); - return; - } + S.PathStop.InvokeAction(); + } + catch (IpcError exception) + { + _logger.LogWarning(exception, "Could not stop navigating via navmesh"); } } } - [MethodImpl(MethodImplOptions.NoInlining)] public void Reload() { - int num = ((!UseNative) ? (-215489094) : (-215489092)); - while (true) + if (UseNative) { - int num2 = num; - int num3 = -215489090; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _wigglyNavIpc.Reload(); + } + else if (IsNavmeshAvailable) + { + try { - case 3: - return; - case 2: - _wigglyNavIpc.Reload(); - return; - case 0: - num = -215489092; - break; - case 4: - num = (IsNavmeshAvailable ? (-215489089) : (-215489091)); - break; - case 1: - try - { - S.NavReload.InvokeFunc(); - return; - } - catch (IpcError ipcError) - { - _202D_206A_206A_206E_202E_200C_206D_202C_200B_200E_200F_202B_200D_206B_200C_202B_206C_200D_206E_206C_200F_200D_206A_200B_200C_200B_206F_206B_200F_206E_206B_202C_202E_202B_200D_200D_200E_202C_200D_206B_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-282340693), Array.Empty()); - return; - } + S.NavReload.InvokeFunc(); + } + catch (IpcError exception) + { + _logger.LogWarning(exception, "Could not reload navmesh"); } } } - [MethodImpl(MethodImplOptions.NoInlining)] public void Rebuild() { - int num = ((!UseNative) ? (-428977095) : (-428977089)); - while (true) + if (UseNative) { - int num2 = num; - int num3 = -428977091; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _wigglyNavIpc.Rebuild(); + } + else if (IsNavmeshAvailable) + { + try { - case 1: - return; - case 4: - num = (IsNavmeshAvailable ? (-428977090) : (-428977092)); - break; - case 2: - _wigglyNavIpc.Rebuild(); - return; - case 0: - num = -428977089; - break; - case 3: - try - { - S.NavRebuild.InvokeFunc(); - return; - } - catch (IpcError ipcError) - { - _202D_206A_206A_206E_202E_200C_206D_202C_200B_200E_200F_202B_200D_206B_200C_202B_206C_200D_206E_206C_200F_200D_206A_200B_200C_200B_206F_206B_200F_206E_206B_202C_202E_202B_200D_200D_200E_202C_200D_206B_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(856449063), Array.Empty()); - return; - } + S.NavRebuild.InvokeFunc(); + } + catch (IpcError exception) + { + _logger.LogWarning(exception, "Could not rebuild navmesh"); } } } - [MethodImpl(MethodImplOptions.NoInlining)] public Task Pathfind(Vector3 localPlayerPosition, Vector3 targetPosition, bool fly, CancellationToken cancellationToken) { NoticeFallbackToVnavmesh(); - int num = ((!UseNative) ? (-990840737) : (-990840738)); - while (true) + if (UseNative) { - int num2 = num; - int num3 = -990840737; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = -990840738; - break; - case 0: - num = (IsNavmeshAvailable ? (-990840740) : (-990840739)); - break; - case 1: - return PathfindNative(localPlayerPosition, targetPosition, fly, 0f, cancellationToken); - case 2: - return Task.FromResult(EmptyPathfindResult()); - case 3: - try - { - S.PathSetTolerance.InvokeAction(0.25f); - return WrapLegacyPathfind(S.NavPathfind.InvokeFunc(localPlayerPosition, targetPosition, fly, cancellationToken)); - } - catch (IpcError ipcError) - { - _202D_206A_206A_206E_202E_200C_206D_202C_200B_200E_200F_202B_200D_206B_200C_202B_206C_200D_206E_206C_200F_200D_206A_200B_200C_200B_206F_206B_200F_206E_206B_202C_202E_202B_200D_200D_200E_202C_200D_206B_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1378323233), Array.Empty()); - return Task.FromException(ipcError); - } - } + return PathfindNative(localPlayerPosition, targetPosition, fly, 0f, cancellationToken); + } + if (!IsNavmeshAvailable) + { + return Task.FromResult(EmptyPathfindResult()); + } + try + { + S.PathSetTolerance.InvokeAction(0.25f); + return WrapLegacyPathfind(S.NavPathfind.InvokeFunc(localPlayerPosition, targetPosition, fly, cancellationToken)); + } + catch (IpcError exception) + { + _logger.LogWarning(exception, "Could not pathfind via navmesh"); + return Task.FromException(exception); } } - [MethodImpl(MethodImplOptions.NoInlining)] public Task PathfindWithTolerance(Vector3 localPlayerPosition, Vector3 targetPosition, bool fly, float tolerance) { NoticeFallbackToVnavmesh(); - int num = ((!UseNative) ? 104441860 : 104441857); - while (true) + if (UseNative) { - int num2 = num; - int num3 = 104441856; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - return Task.FromResult(EmptyPathfindResult()); - case 4: - num = (IsNavmeshAvailable ? 104441856 : 104441859); - break; - case 1: - return PathfindNative(localPlayerPosition, targetPosition, fly, tolerance, CancellationToken.None); - case 2: - num = 104441857; - break; - case 0: - try - { - S.PathSetTolerance.InvokeAction(tolerance); - return WrapLegacyPathfind(S.NavPathfindWithTolerance.InvokeFunc(localPlayerPosition, targetPosition, fly, tolerance)); - } - catch (IpcError ipcError) - { - _202D_206A_206A_206E_202E_200C_206D_202C_200B_200E_200F_202B_200D_206B_200C_202B_206C_200D_206E_206C_200F_200D_206A_200B_200C_200B_206F_206B_200F_206E_206B_202C_202E_202B_200D_200D_200E_202C_200D_206B_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1825421646), Array.Empty()); - return Task.FromException(ipcError); - } - } + return PathfindNative(localPlayerPosition, targetPosition, fly, tolerance, CancellationToken.None); + } + if (!IsNavmeshAvailable) + { + return Task.FromResult(EmptyPathfindResult()); + } + try + { + S.PathSetTolerance.InvokeAction(tolerance); + return WrapLegacyPathfind(S.NavPathfindWithTolerance.InvokeFunc(localPlayerPosition, targetPosition, fly, tolerance)); + } + catch (IpcError exception) + { + _logger.LogWarning(exception, "Could not pathfind with tolerance via navmesh"); + return Task.FromException(exception); } } - [MethodImpl(MethodImplOptions.NoInlining)] public void MoveTo(List position, bool fly, float arrivalTolerance) { NoticeFallbackToVnavmesh(); - int num = ((!UseNative) ? (-101859239) : (-101859237)); - while (true) + if (UseNative) { - int num2 = num; - int num3 = -101859238; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + if (!_wigglyNavIpc.MoveTo(position, fly, arrivalTolerance)) { - case 6: - return; - case 3: - num = (IsNavmeshAvailable ? (-101859233) : (-101859234)); - break; - case 0: - num = -101859237; - break; - case 4: - return; - case 1: - num = (_wigglyNavIpc.MoveTo(position, fly, arrivalTolerance) ? (-101859236) : (-101859240)); - break; - case 2: - _200E_200D_206A_206C_202A_202E_206D_202D_206B_200E_206B_200E_200F_206E_200C_200C_206D_206D_206B_200C_200C_206B_200C_200B_206D_202A_200D_200E_200C_206F_206E_206F_206B_202E_206C_200B_202B_200C_200E_206C_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1935526843), Array.Empty()); - num = -101859236; - break; - case 5: - Stop(); - try - { - S.PathMoveTo.InvokeAction(position, fly); - return; - } - catch (IpcError ipcError) - { - _202D_206A_206A_206E_202E_200C_206D_202C_200B_200E_200F_202B_200D_206B_200C_202B_206C_200D_206E_206C_200F_200D_206A_200B_200C_200B_206F_206B_200F_206E_206B_202C_202E_202B_200D_200D_200E_202C_200D_206B_202E((ILogger)_logger, (Exception)ipcError, 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(-45410338), Array.Empty()); - return; - } + _logger.LogWarning("Could not move via WigglyNav, the command was refused"); + } + } + else if (IsNavmeshAvailable) + { + Stop(); + try + { + S.PathMoveTo.InvokeAction(position, fly); + } + catch (IpcError exception) + { + _logger.LogWarning(exception, "Could not move via navmesh"); } } } public Vector3? GetPointOnFloor(Vector3 position, bool unlandable) { - int num = ((!UseNative) ? (-1834554284) : (-1834554281)); - while (true) + if (UseNative) { - int num2 = num; - int num3 = -1834554283; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 2: - return _wigglyNavIpc.GetPointOnFloor(position, unlandable, 0.2f); - case 1: - try - { - return S.QueryPointOnFloor.InvokeFunc(position, unlandable, 0.2f); - } - catch (IpcError) - { - return null; - } - } - continue; - IL_0049: - num = -1834554281; + return _wigglyNavIpc.GetPointOnFloor(position, unlandable, 0.2f); + } + try + { + return S.QueryPointOnFloor.InvokeFunc(position, unlandable, 0.2f); + } + catch (IpcError) + { + return null; } } public Vector3? GetPointOnFloor(Vector3 position, bool unlandable, float halfExtentXZ) { - int num = ((!UseNative) ? 1192134162 : 1192134163); - while (true) + if (UseNative) { - int num2 = num; - int num3 = 1192134162; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0049; - case 1: - return _wigglyNavIpc.GetPointOnFloor(position, unlandable, halfExtentXZ); - case 0: - try - { - return S.QueryPointOnFloor.InvokeFunc(position, unlandable, halfExtentXZ); - } - catch (IpcError) - { - return null; - } - } - continue; - IL_0049: - num = 1192134163; + return _wigglyNavIpc.GetPointOnFloor(position, unlandable, halfExtentXZ); + } + try + { + return S.QueryPointOnFloor.InvokeFunc(position, unlandable, halfExtentXZ); + } + catch (IpcError) + { + return null; } } public Vector3? FindNearestMeshPoint(Vector3 position, float halfExtentXZ, float halfExtentY) { - int num = ((!UseNative) ? 564309347 : 564309346); - while (true) + if (UseNative) { - int num2 = num; - int num3 = 564309347; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_004b; - case 1: - return _wigglyNavIpc.FindNearestMeshPoint(position, halfExtentXZ, halfExtentY); - case 0: - try - { - return S.QueryNearestPoint.InvokeFunc(position, halfExtentXZ, halfExtentY); - } - catch (IpcError) - { - return null; - } - } - continue; - IL_004b: - num = 564309346; + return _wigglyNavIpc.FindNearestMeshPoint(position, halfExtentXZ, halfExtentY); + } + try + { + return S.QueryNearestPoint.InvokeFunc(position, halfExtentXZ, halfExtentY); + } + catch (IpcError) + { + return null; } } public Vector3? FindNearestReachableMeshPoint(Vector3 position, float halfExtentXZ, float halfExtentY) { - int num = ((!UseNative) ? 1954017115 : 1954017114); - while (true) + if (UseNative) { - int num2 = num; - int num3 = 1954017115; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0049; - case 1: - return _wigglyNavIpc.FindNearestReachableMeshPoint(position, halfExtentXZ, halfExtentY); - case 0: - try - { - return S.QueryNearestPointReachable.InvokeFunc(position, halfExtentXZ, halfExtentY); - } - catch (IpcError) - { - return null; - } - } - continue; - IL_0049: - num = 1954017114; + return _wigglyNavIpc.FindNearestReachableMeshPoint(position, halfExtentXZ, halfExtentY); + } + try + { + return S.QueryNearestPointReachable.InvokeFunc(position, halfExtentXZ, halfExtentY); + } + catch (IpcError) + { + return null; } } public List GetWaypoints() { - int num = ((!UseNative) ? 59476464 : 59476467); - while (true) + if (UseNative) { - int num2 = num; - int num3 = 59476466; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return _wigglyNavIpc.GetWaypoints(); + } + if (IsPathRunning) + { + try + { + return S.PathListWaypoints.InvokeFunc(); + } + catch (IpcError) { - case 0: - goto IL_0048; - case 1: - return _wigglyNavIpc.GetWaypoints(); - case 2: - if (IsPathRunning) - { - try - { - return S.PathListWaypoints.InvokeFunc(); - } - catch (IpcError) - { - return new List(); - } - } return new List(); } - continue; - IL_0048: - num = 59476467; } + return new List(); } public int GetBuildProgress() { - int num = ((!UseNative) ? 1484625177 : 1484625178); - while (true) + if (UseNative) { - int num2 = num; - int num3 = 1484625179; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return _wigglyNavIpc.GetBuildProgress(); + } + try + { + float num = S.BuildProgress.InvokeFunc(); + if (num < 0f) { - case 0: - goto IL_004b; - case 1: - return _wigglyNavIpc.GetBuildProgress(); - case 2: - try - { - float num7 = S.BuildProgress.InvokeFunc(); - num = ((!(num7 < 0f)) ? 405562124 : 405562127); - while (true) - { - int num8 = num; - num3 = 405562125; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 0: - goto IL_00bf; - case 2: - return 100; - case 1: - return (int)(num7 * 100f); - } - continue; - IL_00bf: - num = 405562127; - } - } - catch (IpcError) - { - return 0; - } + return 100; } - continue; - IL_004b: - num = 1484625178; + return (int)(num * 100f); + } + catch (IpcError) + { + return 0; } } @@ -909,19 +499,4 @@ internal sealed class NavmeshIpc { return new NavPathfindResult(new List(), HasPartialInfo: false, IsPartial: false, 0f); } - - static void _200F_206F_200D_206C_202A_206D_206C_202A_202A_200E_200D_206C_206E_206B_206E_200C_206A_200C_200F_206C_200D_202C_202D_206E_200E_206A_206F_206C_206A_200D_200F_202C_206A_202D_206D_206A_206E_200B_202A_206A_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.Print(P_1, P_2, P_3); - } - - static void _202D_206A_206A_206E_202E_200C_206D_202C_200B_200E_200F_202B_200D_206B_200C_202B_206C_200D_206E_206C_200F_200D_206A_200B_200C_200B_206F_206B_200F_206E_206B_202C_202E_202B_200D_200D_200E_202C_200D_206B_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogWarning(P_1, P_2, P_3); - } - - static void _200E_200D_206A_206C_202A_202E_206D_202D_206B_200E_206B_200E_200F_206E_200C_200C_206D_206D_206B_200C_200C_206B_200C_200B_206D_202A_200D_200E_200C_206F_206E_206F_206B_202E_206C_200B_202B_200C_200E_206C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } } diff --git a/Questionable/Questionable.External/PandorasBoxIpc.cs b/Questionable/Questionable.External/PandorasBoxIpc.cs index eb162d2..669e8b1 100644 --- a/Questionable/Questionable.External/PandorasBoxIpc.cs +++ b/Questionable/Questionable.External/PandorasBoxIpc.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Collections.Immutable; -using System.Runtime.CompilerServices; using Dalamud.Plugin; using Dalamud.Plugin.Services; using LLib.External; @@ -15,30 +14,9 @@ internal sealed class PandorasBoxIpc : IDisposable { internal static readonly ImmutableHashSet ConflictingFeatures = new HashSet { - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1616111798), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1357410567), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1401269692), - 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(-1855030583), - 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(-1419570559), - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(149571058), - 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(918765153), - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(324148354), - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1441534502), - 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(-1342775702), - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(917802614), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-923476706), - 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(-1001272448), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1171663763), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(213726178), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1137319472), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1873399642), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1676513025), - 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(-53557543), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1318853520), - 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(1902156422), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2045136826), - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(603380574), - 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(-941639504) + "Auto-Collect", "Auto-Cordial", "Auto-Meditation", "Auto-Motif (Out of Combat)", "Auto-Mount After Combat", "Auto-Mount after Gathering", "Auto-Mount on Zone Change", "Auto-Peleton", "Auto-Prospect/Triangulate", "Auto-Sprint in Sanctuaries", + "Auto-Summon Chocobo", "Auto-Summon Fairy/Carbuncle", "Auto-Tank Stance", "Action Combat Targeting", "Auto-interact with Gathering Nodes", "Auto-interact with Objects in Instances", "Automatically Open Chests", "FATE Targeting Mode", "Auto-Teleport to Map Coords", "Auto-select Turn-ins", + "Auto-Equip Recommended Gear", "Auto-Sync FATEs", "Pandora Quick Gather", "Switch Gatherers Automatically" }.ToImmutableHashSet(); internal const string AutoActiveTimeManeuverFeature = "Auto Active Time Maneuver"; @@ -65,7 +43,6 @@ internal sealed class PandorasBoxIpc : IDisposable private bool _wasFateRunning; - [MethodImpl(MethodImplOptions.NoInlining)] public PandorasBoxIpc(Configuration configuration, IDalamudPluginInterface pluginInterface, QuestController questController, FateController fateController, SeasonalDutyController seasonalDutyController, CustomDeliveryController customDeliveryController, TerritoryData territoryData, IClientState clientState, IFramework framework, ILogger logger) { _configuration = configuration; @@ -77,204 +54,69 @@ internal sealed class PandorasBoxIpc : IDisposable _clientState = clientState; _framework = framework; _logger = logger; - _pauser = _202D_202B_202E_200B_206D_200B_206E_206F_206A_202A_200B_206B_206C_206B_206F_206D_200C_200D_206E_202A_200C_200D_202A_202A_200B_200D_200C_200C_206C_206F_202C_202B_200D_206A_206F_200C_206A_202C_200F_206C_202E(pluginInterface, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1668439260), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-816671911), (ILogger)logger); + _pauser = new PluginFeaturePauser(pluginInterface, "PandorasBox.GetFeatureEnabled", "PandorasBox.SetFeatureEnabled", logger); _questController.AutomationTypeChanged += OnAutomationTypeChanged; - _206B_206D_202C_206A_202A_200B_202D_200D_202E_200D_206E_202B_200E_200E_206D_206C_202E_200C_202C_202E_206E_206A_200F_206D_206D_200C_206C_206B_200F_206C_200B_200C_200F_206A_200C_202A_200F_200D_200C_202A_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkUpdate); + _framework.Update += OnFrameworkUpdate; } private void OnAutomationTypeChanged(object sender, QuestController.EAutomationType automationType) { - int num = ((automationType == QuestController.EAutomationType.Manual) ? (-1872452755) : (-1872452756)); - while (true) + if (automationType != QuestController.EAutomationType.Manual && !_territoryData.IsDutyInstance(_clientState.TerritoryType)) { - int num2 = num; - int num3 = -1872452753; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + InvokeGuarded(DisableConflictingFeatures); + } + else if (!_fateController.IsRunning && !_seasonalDutyController.IsRunning && !_customDeliveryController.IsRunning) + { + InvokeGuarded(delegate { - case 6: - num = -1872452756; - break; - case 2: - num = (_fateController.IsRunning ? (-1872452754) : (-1872452760)); - break; - case 5: - InvokeGuarded(DisableConflictingFeatures); - return; - case 7: - num = (_seasonalDutyController.IsRunning ? (-1872452754) : (-1872452757)); - break; - case 1: - return; - case 4: - num = (_customDeliveryController.IsRunning ? (-1872452754) : (-1872452753)); - break; - case 0: - InvokeGuarded(delegate - { - _206D_206C_200B_202A_200F_206B_202E_200B_200F_200D_200F_202C_206B_206D_202B_202E_206E_200B_200E_206D_202B_206B_206C_200C_202A_206A_202C_200C_200D_202C_206D_200D_202C_206C_206C_206F_202C_202D_200D_202B_202E(_pauser); - }); - num = -1872452754; - break; - case 3: - num = (_territoryData.IsDutyInstance(_200E_202A_200D_200B_200E_206D_202B_206C_200E_206E_202A_206C_202E_206A_202B_206E_200D_200B_206D_206F_206B_200E_206D_206F_202B_202B_202E_206C_202C_206D_206E_206B_200F_206A_200D_202E_200D_200D_202E_200F_202E(_clientState)) ? (-1872452755) : (-1872452758)); - break; - } + _pauser.Restore(); + }); } } private void OnFrameworkUpdate(IFramework framework) { - int num = (_fateController.IsRunning ? (-793436018) : (-793436032)); - bool flag = default(bool); - while (true) + bool flag = _fateController.IsRunning || _seasonalDutyController.IsRunning || _customDeliveryController.IsRunning; + if (flag == _wasFateRunning) { - int num2 = num; - int num3 = -793436025; - int num4 = num2; - int num5; - switch ((num4 | num3) - (num4 & num3)) + return; + } + _wasFateRunning = flag; + if (flag && !_territoryData.IsDutyInstance(_clientState.TerritoryType)) + { + InvokeGuarded(DisableConflictingFeatures); + } + else if (_questController.AutomationType == QuestController.EAutomationType.Manual) + { + InvokeGuarded(delegate { - case 0: - return; - case 9: - num5 = 1; - goto IL_006d; - case 6: - num = ((_questController.AutomationType != QuestController.EAutomationType.Manual) ? (-793436019) : (-793436027)); - break; - case 1: - InvokeGuarded(DisableConflictingFeatures); - return; - case 5: - num = -793436032; - break; - case 10: - return; - case 3: - num = (_territoryData.IsDutyInstance(_200E_202A_200D_200B_200E_206D_202B_206C_200E_206E_202A_206C_202E_206A_202B_206E_200D_200B_206D_206F_206B_200E_206D_206F_202B_202B_202E_206C_202C_206D_206E_206B_200F_206A_200D_202E_200D_200D_202E_200F_202E(_clientState)) ? (-793436031) : (-793436026)); - break; - case 2: - InvokeGuarded(delegate - { - _206D_206C_200B_202A_200F_206B_202E_200B_200F_200D_200F_202C_206B_206D_202B_202E_206E_200B_200E_206D_202B_206B_206C_200C_202A_206A_202C_200C_200D_202C_206D_200D_202C_206C_206C_206F_202C_202D_200D_202B_202E(_pauser); - }); - num = -793436019; - break; - case 8: - num5 = (_customDeliveryController.IsRunning ? 1 : 0); - goto IL_006d; - case 4: - _wasFateRunning = flag; - num = ((!flag) ? (-793436031) : (-793436028)); - break; - case 7: - { - num = (_seasonalDutyController.IsRunning ? (-793436018) : (-793436017)); - break; - } - IL_006d: - flag = (byte)num5 != 0; - num = ((flag != _wasFateRunning) ? (-793436029) : (-793436025)); - break; - } + _pauser.Restore(); + }); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void InvokeGuarded(Action action) { try { action(); } - catch (Exception ex) + catch (Exception exception) { - _206D_202E_202B_202D_202A_200D_200E_200F_202D_202A_206B_202E_200C_206A_202B_200E_206E_200B_202C_202E_206E_200E_202A_206E_206C_200F_200F_206A_200D_200D_202A_200B_206E_200C_206F_200F_200E_200D_206E_202E_202E((ILogger)_logger, ex, 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(-818958467), Array.Empty()); + _logger.LogError(exception, "PandorasBox IPC call failed"); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DisableConflictingFeatures() { - int num = (_configuration.General.AutoSolveQte ? 851339859 : 851339856); - ImmutableHashSet immutableHashSet; - while (true) - { - int num2 = num; - int num3 = 851339857; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 2: - immutableHashSet = ConflictingFeatures.Add(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(1787972166)); - break; - case 1: - immutableHashSet = ConflictingFeatures; - break; - case 0: - goto IL_009c; - } - break; - IL_009c: - num = 851339856; - } - ImmutableHashSet immutableHashSet2 = immutableHashSet; - _206A_200F_206A_200D_206B_200D_202B_202E_202E_206A_202D_202B_200B_202A_200C_202E_200E_202C_206E_206B_200F_202E_202B_206E_206F_200F_200C_202D_206E_200D_202D_202B_206F_206C_202C_202B_206F_200C_206B_206B_202E(_pauser, (IEnumerable)immutableHashSet2.Except(_configuration.Advanced.PandoraFeatureExclusions)); + ImmutableHashSet immutableHashSet = (_configuration.General.AutoSolveQte ? ConflictingFeatures.Add("Auto Active Time Maneuver") : ConflictingFeatures); + _pauser.Disable(immutableHashSet.Except(_configuration.Advanced.PandoraFeatureExclusions)); } public void Dispose() { - _200C_202A_200E_200E_206A_202C_202B_206F_202A_206C_200F_200F_200B_202C_206C_200F_206A_202B_200F_200E_206C_206B_206C_206F_206F_202C_200D_202D_202E_202A_202C_202D_202C_206D_200E_200B_202D_206F_202C_202E_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkUpdate); + _framework.Update -= OnFrameworkUpdate; _questController.AutomationTypeChanged -= OnAutomationTypeChanged; - _200E_206E_200B_206C_206E_206C_206E_202C_206F_202E_206D_200B_200C_206B_202B_200E_200C_200E_206A_202C_202C_200D_206C_200B_206F_206E_200C_206D_202E_202E_200E_200E_206E_200D_202D_206D_202B_200D_202B_202A_202E(_pauser); - } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static PluginFeaturePauser _202D_202B_202E_200B_206D_200B_206E_206F_206A_202A_200B_206B_206C_206B_206F_206D_200C_200D_206E_202A_200C_200D_202A_202A_200B_200D_200C_200C_206C_206F_202C_202B_200D_206A_206F_200C_206A_202C_200F_206C_202E(IDalamudPluginInterface P_0, string P_1, string P_2, ILogger P_3) - { - return new PluginFeaturePauser(P_0, P_1, P_2, P_3); - } - - static void _206B_206D_202C_206A_202A_200B_202D_200D_202E_200D_206E_202B_200E_200E_206D_206C_202E_200C_202C_202E_206E_206A_200F_206D_206D_200C_206C_206B_200F_206C_200B_200C_200F_206A_200C_202A_200F_200D_200C_202A_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1) - { - P_0.Update += P_1; - } - - static uint _200E_202A_200D_200B_200E_206D_202B_206C_200E_206E_202A_206C_202E_206A_202B_206E_200D_200B_206D_206F_206B_200E_206D_206F_202B_202B_202E_206C_202C_206D_206E_206B_200F_206A_200D_202E_200D_200D_202E_200F_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static void _206D_202E_202B_202D_202A_200D_200E_200F_202D_202A_206B_202E_200C_206A_202B_200E_206E_200B_202C_202E_206E_200E_202A_206E_206C_200F_200F_206A_200D_200D_202A_200B_206E_200C_206F_200F_200E_200D_206E_202E_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } - - static void _206A_200F_206A_200D_206B_200D_202B_202E_202E_206A_202D_202B_200B_202A_200C_202E_200E_202C_206E_206B_200F_202E_202B_206E_206F_200F_200C_202D_206E_200D_202D_202B_206F_206C_202C_202B_206F_200C_206B_206B_202E(PluginFeaturePauser P_0, IEnumerable P_1) - { - P_0.Disable(P_1); - } - - static void _200C_202A_200E_200E_206A_202C_202B_206F_202A_206C_200F_200F_200B_202C_206C_200F_206A_202B_200F_200E_206C_206B_206C_206F_206F_202C_200D_202D_202E_202A_202C_202D_202C_206D_200E_200B_202D_206F_202C_202E_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1) - { - P_0.Update -= P_1; - } - - static void _200E_206E_200B_206C_206E_206C_206E_202C_206F_202E_206D_200B_200C_206B_202B_200E_200C_200E_206A_202C_202C_200D_206C_200B_206F_206E_200C_206D_202E_202E_200E_200E_206E_200D_202D_206D_202B_200D_202B_202A_202E(PluginFeaturePauser P_0) - { - P_0.Dispose(); - } - - static void _206D_206C_200B_202A_200F_206B_202E_200B_200F_200D_200F_202C_206B_206D_202B_202E_206E_200B_200E_206D_202B_206B_206C_200C_202A_206A_202C_200C_200D_202C_206D_200D_202C_206C_206C_206F_202C_202D_200D_202B_202E(PluginFeaturePauser P_0) - { - P_0.Restore(); + _pauser.Dispose(); } } diff --git a/Questionable/Questionable.External/PathfindQuery.cs b/Questionable/Questionable.External/PathfindQuery.cs index 4cbb6dc..e4a19ba 100644 --- a/Questionable/Questionable.External/PathfindQuery.cs +++ b/Questionable/Questionable.External/PathfindQuery.cs @@ -1,147 +1,5 @@ -using System; -using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; namespace Questionable.External; -internal sealed record PathfindQuery(Vector3 From, Vector3 To, bool Fly, float Tolerance) -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202B_200C_200B_200D_200B_206F_206F_206F_202C_200D_200B_206D_206D_200C_200E_202D_200B_202C_202D_206D_202E_200F_200E_200C_200D_202E_206A_200C_202C_206C_202E_206C_202C_206B_206F_200E_200E_202D_206F_202D_202E(typeof(PathfindQuery).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202A_206C_206E_200C_202E_202A_200E_206A_206B_200D_202D_202B_206F_202D_202E_202D_202A_206D_202E_202B_200D_202A_206D_206E_202C_200B_200D_206A_200B_206F_200D_206F_202C_206E_200D_200C_206B_206C_200C_200F_202E(); - _206B_200F_200F_200E_202B_200C_200D_206B_206A_200B_206B_200F_202B_202B_200E_200F_206B_200B_206B_206A_202E_206A_200D_200B_202C_206D_206B_206F_202C_206B_200F_206F_206F_206A_206D_206C_206C_202C_206F_200F_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-545098859)); - _206B_200F_200F_200E_202B_200C_200D_206B_206A_200B_206B_200F_202B_202B_200E_200F_206B_200B_206B_206A_202E_206A_200D_200B_202C_206D_206B_206F_202C_206B_200F_206F_206F_206A_206D_206C_206C_202C_206F_200F_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1344697862)); - int num = ((!PrintMembers(stringBuilder)) ? 1387886851 : 1387886850); - while (true) - { - int num2 = num; - int num3 = 1387886851; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - _202A_202B_202D_202E_200D_202A_202B_206A_206F_206D_202D_202C_206F_206F_206E_202B_202D_206A_206F_200F_202A_200B_206C_200F_202C_202A_202B_206D_206F_200C_206D_206C_202C_200E_206C_202D_200C_206A_206F_202B_202E(stringBuilder, '}'); - return _206C_202D_202B_200D_200E_200C_202C_202A_206F_202A_200C_206B_200E_206D_206E_206A_206F_206F_206E_206C_202E_200E_206E_206E_206A_202E_200D_206C_202D_200C_206A_202B_206E_200E_206B_206C_206B_206D_206F_200F_202E((object)stringBuilder); - case 1: - _202A_202B_202D_202E_200D_202A_202B_206A_206F_206D_202D_202C_206F_206F_206E_202B_202D_206A_206F_200F_202A_200B_206C_200F_202C_202A_202B_206D_206F_200C_206D_206C_202C_200E_206C_202D_200C_206A_206F_202B_202E(stringBuilder, ' '); - num = 1387886851; - break; - case 2: - num = 1387886850; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206A_206C_200E_206B_202E_200E_202E_206B_206B_202B_202E_200D_202A_202B_206E_206E_200F_206B_202A_202D_200D_202B_206E_200F_206A_202B_206B_206E_202E_206B_206C_200D_206A_206F_202B_200F_202B_202B_202C_202E(); - _206B_200F_200F_200E_202B_200C_200D_206B_206A_200B_206B_200F_202B_202B_200E_200F_206B_200B_206B_206A_202E_206A_200D_200B_202C_206D_206B_206F_202C_206B_200F_206F_206F_206A_206D_206C_206C_202C_206F_200F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1869557730)); - _206B_200F_200F_200E_202B_200C_200D_206B_206A_200B_206B_200F_202B_202B_200E_200F_206B_200B_206B_206A_202E_206A_200D_200B_202C_206D_206B_206F_202C_206B_200F_206F_206F_206A_206D_206C_206C_202C_206F_200F_202E(builder, From.ToString()); - _206B_200F_200F_200E_202B_200C_200D_206B_206A_200B_206B_200F_202B_202B_200E_200F_206B_200B_206B_206A_202E_206A_200D_200B_202C_206D_206B_206F_202C_206B_200F_206F_206F_206A_206D_206C_206C_202C_206F_200F_202E(builder, 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(2060111796)); - _206B_200F_200F_200E_202B_200C_200D_206B_206A_200B_206B_200F_202B_202B_200E_200F_206B_200B_206B_206A_202E_206A_200D_200B_202C_206D_206B_206F_202C_206B_200F_206F_206F_206A_206D_206C_206C_202C_206F_200F_202E(builder, To.ToString()); - _206B_200F_200F_200E_202B_200C_200D_206B_206A_200B_206B_200F_202B_202B_200E_200F_206B_200B_206B_206A_202E_206A_200D_200B_202C_206D_206B_206F_202C_206B_200F_206F_206F_206A_206D_206C_206C_202C_206F_200F_202E(builder, 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(-1534687079)); - _206B_200F_200F_200E_202B_200C_200D_206B_206A_200B_206B_200F_202B_202B_200E_200F_206B_200B_206B_206A_202E_206A_200D_200B_202C_206D_206B_206F_202C_206B_200F_206F_206F_206A_206D_206C_206C_202C_206F_200F_202E(builder, Fly.ToString()); - _206B_200F_200F_200E_202B_200C_200D_206B_206A_200B_206B_200F_202B_202B_200E_200F_206B_200B_206B_206A_202E_206A_200D_200B_202C_206D_206B_206F_202C_206B_200F_206F_206F_206A_206D_206C_206C_202C_206F_200F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1260288266)); - _206B_200F_200F_200E_202B_200C_200D_206B_206A_200B_206B_200F_202B_202B_200E_200F_206B_200B_206B_206A_202E_206A_200D_200B_202C_206D_206B_206F_202C_206B_200F_206F_206F_206A_206D_206C_206C_202C_206F_200F_202E(builder, Tolerance.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(PathfindQuery? other) - { - int num = (((object)this == other) ? 1954014884 : 1954014889); - while (true) - { - int num2 = num; - int num3 = 1954014892; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = ((!EqualityComparer.Default.Equals(Fly, other.Fly)) ? 1954014894 : 1954014892); - break; - case 7: - num = ((!EqualityComparer.Default.Equals(From, other.From)) ? 1954014894 : 1954014893); - break; - case 5: - num = (((object)other == null) ? 1954014894 : 1954014890); - break; - case 6: - num = ((!_200D_206F_202A_200E_206F_206B_200D_202E_206D_200F_206C_200D_206C_202B_206D_206F_200B_200B_200D_200E_206C_206D_202B_200D_202E_206A_200C_200F_202E_202D_202C_206F_200C_206F_206C_206B_206C_200C_206F_206E_202E(EqualityContract, other.EqualityContract)) ? 1954014894 : 1954014891); - break; - case 8: - return true; - case 1: - num = ((!EqualityComparer.Default.Equals(To, other.To)) ? 1954014894 : 1954014888); - break; - case 0: - return EqualityComparer.Default.Equals(Tolerance, other.Tolerance); - case 2: - return false; - case 3: - num = 1954014889; - break; - } - } - } - - bool IEquatable.Equals(PathfindQuery? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202B_200C_200B_200D_200B_206F_206F_206F_202C_200D_200B_206D_206D_200C_200E_202D_200B_202C_202D_206D_202E_200F_200E_200C_200D_202E_206A_200C_202C_206C_202E_206C_202C_206B_206F_200E_200E_202D_206F_202D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202A_206C_206E_200C_202E_202A_200E_206A_206B_200D_202D_202B_206F_202D_202E_202D_202A_206D_202E_202B_200D_202A_206D_206E_202C_200B_200D_206A_200B_206F_200D_206F_202C_206E_200D_200C_206B_206C_200C_200F_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206B_200F_200F_200E_202B_200C_200D_206B_206A_200B_206B_200F_202B_202B_200E_200F_206B_200B_206B_206A_202E_206A_200D_200B_202C_206D_206B_206F_202C_206B_200F_206F_206F_206A_206D_206C_206C_202C_206F_200F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202A_202B_202D_202E_200D_202A_202B_206A_206F_206D_202D_202C_206F_206F_206E_202B_202D_206A_206F_200F_202A_200B_206C_200F_202C_202A_202B_206D_206F_200C_206D_206C_202C_200E_206C_202D_200C_206A_206F_202B_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206C_202D_202B_200D_200E_200C_202C_202A_206F_202A_200C_206B_200E_206D_206E_206A_206F_206F_206E_206C_202E_200E_206E_206E_206A_202E_200D_206C_202D_200C_206A_202B_206E_200E_206B_206C_206B_206D_206F_200F_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206A_206C_200E_206B_202E_200E_202E_206B_206B_202B_202E_200D_202A_202B_206E_206E_200F_206B_202A_202D_200D_202B_206E_200F_206A_202B_206B_206E_202E_206B_206C_200D_206A_206F_202B_200F_202B_202B_202C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _200D_206F_202A_200E_206F_206B_200D_202E_206D_200F_206C_200D_206C_202B_206D_206F_200B_200B_200D_200E_206C_206D_202B_200D_202E_206A_200C_200F_202E_202D_202C_206F_200C_206F_206C_206B_206C_200C_206F_206E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +internal sealed record PathfindQuery(Vector3 From, Vector3 To, bool Fly, float Tolerance); diff --git a/Questionable/Questionable.External/PathfindResult.cs b/Questionable/Questionable.External/PathfindResult.cs index e3b1b49..a426bbf 100644 --- a/Questionable/Questionable.External/PathfindResult.cs +++ b/Questionable/Questionable.External/PathfindResult.cs @@ -1,152 +1,6 @@ -using System; using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; namespace Questionable.External; -internal sealed record PathfindResult(List Waypoints, bool IsPartial, string PartialReason, float EndDistance) -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206C_202A_206F_202D_202D_206E_202C_200E_200C_202E_200C_206B_202B_202B_206A_206D_206A_202D_206D_206C_202C_206B_202D_202D_200D_206C_202A_200F_202C_206D_206D_200B_206C_206E_202C_206E_206E_206E_206B_206E_202E(typeof(PathfindResult).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202D_206F_202B_202D_202C_202A_206A_206D_202B_206A_206C_200F_200C_202D_200C_200E_206F_206C_206D_206C_206D_200F_202A_206E_206F_202C_202C_206B_206F_202B_206A_200F_206C_202D_206A_200B_206A_202B_200F_200C_202E(); - _206C_206B_202D_202A_200F_202B_200D_200B_200D_202D_206F_206D_206E_200D_202B_206B_206D_206F_202A_202B_202D_200B_200C_206B_200F_200B_202E_206F_206B_200B_202D_202A_206F_206A_202A_202C_202D_206B_202A_202A_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1943456613)); - _206C_206B_202D_202A_200F_202B_200D_200B_200D_202D_206F_206D_206E_200D_202B_206B_206D_206F_202A_202B_202D_200B_200C_206B_200F_200B_202E_206F_206B_200B_202D_202A_206F_206A_202A_202C_202D_206B_202A_202A_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(556540328)); - int num = ((!PrintMembers(stringBuilder)) ? (-2114676598) : (-2114676599)); - while (true) - { - int num2 = num; - int num3 = -2114676600; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -2114676599; - break; - case 1: - _206D_206C_206B_206D_206A_200B_202C_202C_200F_202C_206F_206E_200D_200C_206B_206B_200B_200C_206D_200C_202E_206B_206B_206E_200F_200F_202A_206C_200D_206A_200E_200E_200D_202D_200C_206B_206B_206C_200E_206D_202E(stringBuilder, ' '); - num = -2114676598; - break; - case 2: - _206D_206C_206B_206D_206A_200B_202C_202C_200F_202C_206F_206E_200D_200C_206B_206B_200B_200C_206D_200C_202E_206B_206B_206E_200F_200F_202A_206C_200D_206A_200E_200E_200D_202D_200C_206B_206B_206C_200E_206D_202E(stringBuilder, '}'); - return _202B_202B_202C_200F_202E_200B_200B_200D_200D_200C_202D_200F_202A_202A_200F_200E_202A_206A_200C_200E_202C_200E_206B_200D_206B_206C_206F_202E_202C_206E_200E_200B_200D_200F_202E_206A_200B_206C_200F_202D_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202A_206D_206B_206B_202A_202D_202D_200F_202C_200B_206B_206C_202A_200D_206B_202C_206E_200B_206C_202D_202C_200C_202C_200B_206A_206B_202B_200C_202C_200D_200E_206C_202E_200E_202E_206C_202C_202E_206D_202E(); - _206C_206B_202D_202A_200F_202B_200D_200B_200D_202D_206F_206D_206E_200D_202B_206B_206D_206F_202A_202B_202D_200B_200C_206B_200F_200B_202E_206F_206B_200B_202D_202A_206F_206A_202A_202C_202D_206B_202A_202A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-677874438)); - _200B_200D_206C_200D_202D_200C_206D_200B_206B_202A_206D_206C_200D_200D_202D_206C_206F_202B_200D_200F_200D_202E_206B_202C_206D_202C_206C_202D_200B_202D_206D_200F_206F_200F_200B_206C_206F_200F_202E_206E_202E(builder, (object)Waypoints); - _206C_206B_202D_202A_200F_202B_200D_200B_200D_202D_206F_206D_206E_200D_202B_206B_206D_206F_202A_202B_202D_200B_200C_206B_200F_200B_202E_206F_206B_200B_202D_202A_206F_206A_202A_202C_202D_206B_202A_202A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-779972961)); - _206C_206B_202D_202A_200F_202B_200D_200B_200D_202D_206F_206D_206E_200D_202B_206B_206D_206F_202A_202B_202D_200B_200C_206B_200F_200B_202E_206F_206B_200B_202D_202A_206F_206A_202A_202C_202D_206B_202A_202A_202E(builder, IsPartial.ToString()); - _206C_206B_202D_202A_200F_202B_200D_200B_200D_202D_206F_206D_206E_200D_202B_206B_206D_206F_202A_202B_202D_200B_200C_206B_200F_200B_202E_206F_206B_200B_202D_202A_206F_206A_202A_202C_202D_206B_202A_202A_202E(builder, 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(-1363935452)); - _200B_200D_206C_200D_202D_200C_206D_200B_206B_202A_206D_206C_200D_200D_202D_206C_206F_202B_200D_200F_200D_202E_206B_202C_206D_202C_206C_202D_200B_202D_206D_200F_206F_200F_200B_206C_206F_200F_202E_206E_202E(builder, (object)PartialReason); - _206C_206B_202D_202A_200F_202B_200D_200B_200D_202D_206F_206D_206E_200D_202B_206B_206D_206F_202A_202B_202D_200B_200C_206B_200F_200B_202E_206F_206B_200B_202D_202A_206F_206A_202A_202C_202D_206B_202A_202A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-243342175)); - _206C_206B_202D_202A_200F_202B_200D_200B_200D_202D_206F_206D_206E_200D_202B_206B_206D_206F_202A_202B_202D_200B_200C_206B_200F_200B_202E_206F_206B_200B_202D_202A_206F_206A_202A_202C_202D_206B_202A_202A_202E(builder, EndDistance.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(PathfindResult? other) - { - int num = (((object)this == other) ? (-28872494) : (-28872490)); - while (true) - { - int num2 = num; - int num3 = -28872494; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - return false; - case 3: - num = ((!EqualityComparer.Default.Equals(IsPartial, other.IsPartial)) ? (-28872492) : (-28872486)); - break; - case 7: - num = ((!_202A_206F_206F_202A_202C_202D_202C_200D_202E_202D_200E_200B_206C_200D_202D_202A_200C_200F_202A_200D_200E_202E_206A_206D_200D_200C_206D_206E_202C_206B_202C_206D_202A_206A_206F_206F_206C_206B_206E_202E_202E(EqualityContract, other.EqualityContract)) ? (-28872492) : (-28872493)); - break; - case 5: - num = -28872490; - break; - case 8: - num = ((!EqualityComparer.Default.Equals(PartialReason, other.PartialReason)) ? (-28872492) : (-28872496)); - break; - case 4: - num = (((object)other == null) ? (-28872492) : (-28872491)); - break; - case 1: - num = ((!EqualityComparer>.Default.Equals(Waypoints, other.Waypoints)) ? (-28872492) : (-28872495)); - break; - case 0: - return true; - case 2: - return EqualityComparer.Default.Equals(EndDistance, other.EndDistance); - } - } - } - - bool IEquatable.Equals(PathfindResult? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206C_202A_206F_202D_202D_206E_202C_200E_200C_202E_200C_206B_202B_202B_206A_206D_206A_202D_206D_206C_202C_206B_202D_202D_200D_206C_202A_200F_202C_206D_206D_200B_206C_206E_202C_206E_206E_206E_206B_206E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202D_206F_202B_202D_202C_202A_206A_206D_202B_206A_206C_200F_200C_202D_200C_200E_206F_206C_206D_206C_206D_200F_202A_206E_206F_202C_202C_206B_206F_202B_206A_200F_206C_202D_206A_200B_206A_202B_200F_200C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206C_206B_202D_202A_200F_202B_200D_200B_200D_202D_206F_206D_206E_200D_202B_206B_206D_206F_202A_202B_202D_200B_200C_206B_200F_200B_202E_206F_206B_200B_202D_202A_206F_206A_202A_202C_202D_206B_202A_202A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206D_206C_206B_206D_206A_200B_202C_202C_200F_202C_206F_206E_200D_200C_206B_206B_200B_200C_206D_200C_202E_206B_206B_206E_200F_200F_202A_206C_200D_206A_200E_200E_200D_202D_200C_206B_206B_206C_200E_206D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202B_202B_202C_200F_202E_200B_200B_200D_200D_200C_202D_200F_202A_202A_200F_200E_202A_206A_200C_200E_202C_200E_206B_200D_206B_206C_206F_202E_202C_206E_200E_200B_200D_200F_202E_206A_200B_206C_200F_202D_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202A_206D_206B_206B_202A_202D_202D_200F_202C_200B_206B_206C_202A_200D_206B_202C_206E_200B_206C_202D_202C_200C_202C_200B_206A_206B_202B_200C_202C_200D_200E_206C_202E_200E_202E_206C_202C_202E_206D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200B_200D_206C_200D_202D_200C_206D_200B_206B_202A_206D_206C_200D_200D_202D_206C_206F_202B_200D_200F_200D_202E_206B_202C_206D_202C_206C_202D_200B_202D_206D_200F_206F_200F_200B_206C_206F_200F_202E_206E_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202A_206F_206F_202A_202C_202D_202C_200D_202E_202D_200E_200B_206C_200D_202D_202A_200C_200F_202A_200D_200E_202E_206A_206D_200D_200C_206D_206E_202C_206B_202C_206D_202A_206A_206F_206F_206C_206B_206E_202E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +internal sealed record PathfindResult(List Waypoints, bool IsPartial, string PartialReason, float EndDistance); diff --git a/Questionable/Questionable.External/QuestionableIpc.cs b/Questionable/Questionable.External/QuestionableIpc.cs index 26c6e8e..4599d75 100644 --- a/Questionable/Questionable.External/QuestionableIpc.cs +++ b/Questionable/Questionable.External/QuestionableIpc.cs @@ -1,16 +1,10 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; -using Dalamud.Configuration; -using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin; using Dalamud.Plugin.Ipc; using Dalamud.Plugin.Services; -using FFXIVClientStructs.FFXIV.Application.Network.WorkDefinitions; using FFXIVClientStructs.FFXIV.Client.Game; using Microsoft.Extensions.DependencyInjection; using Questionable.Controller; @@ -67,367 +61,6 @@ internal sealed class QuestionableIpc : IDisposable public required string? QuestName { get; init; } } - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__12_0; - - public static Func _003C_003E9__17_3; - - public static Func _003C_003E9__18_3; - - public static Func _003C_003E9__18_4; - - public static Func _003C_003E9__25_0; - - public static Func<(int, int)> _003C_003E9__77_0; - - public static Func _003C_003E9__103_0; - - public static Func _003C_003E9__107_0; - - public static Func _003C_003E9__112_0; - - public static Func _003C_003E9__125_5; - - public static Func _003C_003E9__157_0; - - public static Predicate _003C_003E9__160_0; - - public static Func _003C_003E9__168_0; - - public static Func _003C_003E9__168_1; - - public static Func _003C_003E9__168_2; - - internal string _003CGetAlliedSocietyAvailableQuestIds_003Eb__12_0(QuestId q) - { - return _206C_206D_206E_202E_206E_202C_200C_200B_200C_200B_200B_200C_200E_202A_206A_206E_202B_206E_206C_206F_200B_206C_200F_202C_202E_202C_206B_200F_202B_202A_200E_200B_200E_202D_200F_202C_200D_202D_200F_200E_202E((object)q); - } - - internal int _003CAddAlliedSocietyOptimalQuests_003Eb__17_3(QuestInfo questInfo) - { - return questInfo.AlliedSocietyRank; - } - - internal int _003CGetAlliedSocietyOptimalQuests_003Eb__18_3(QuestInfo questInfo) - { - return questInfo.AlliedSocietyRank; - } - - internal string _003CGetAlliedSocietyOptimalQuests_003Eb__18_4(QuestInfo q) - { - return _206C_206D_206E_202E_206E_202C_200C_200B_200C_200B_200B_200C_200E_202A_206A_206E_202B_206E_206C_206F_200B_206C_200F_202C_202E_202C_206B_200F_202B_202A_200E_200B_200E_202D_200F_202C_200D_202D_200F_200E_202E((object)q.QuestId); - } - - internal string _003CGetBlacklistedQuests_003Eb__25_0(ElementId q) - { - return _206C_206D_206E_202E_206E_202C_200C_200B_200C_200B_200B_200C_200E_202A_206A_206E_202B_206E_206C_206F_200B_206C_200F_202C_202E_202C_206B_200F_202B_202A_200E_200B_200E_202D_200F_202C_200D_202D_200F_200E_202E((object)q); - } - - internal (int, int) _003CRegisterMetaIpc_003Eb__77_0() - { - return ApiVersion; - } - - internal string _003CGetPriorityQuests_003Eb__103_0(Quest q) - { - return _206C_206D_206E_202E_206E_202C_200C_200B_200C_200B_200B_200C_200E_202A_206A_206E_202B_206E_206C_206F_200B_206C_200F_202C_202E_202C_206B_200F_202B_202A_200E_200B_200E_202D_200F_202C_200D_202D_200F_200E_202E((object)q.Id); - } - - internal string _003CGetPresetQuests_003Eb__107_0(ElementId q) - { - return _206C_206D_206E_202E_206E_202C_200C_200B_200C_200B_200B_200C_200E_202A_206A_206E_202B_206E_206C_206F_200B_206C_200F_202C_202E_202C_206B_200F_202B_202A_200E_200B_200E_202D_200F_202C_200D_202D_200F_200E_202E((object)q); - } - - internal bool _003CHasAvailablePriorityQuests_003Eb__112_0(PriorityQuestInfo x) - { - return x.IsAvailable; - } - - internal string _003CRegisterQuestStateIpc_003Eb__125_5(ElementId q) - { - return _206C_206D_206E_202E_206E_202C_200C_200B_200C_200B_200B_200C_200E_202A_206A_206E_202B_206E_206C_206F_200B_206C_200F_202C_202E_202C_206B_200F_202B_202A_200E_200B_200E_202D_200F_202C_200D_202D_200F_200E_202E((object)q); - } - - internal string _003CGetStopQuestList_003Eb__157_0(QuestCompleteCondition c) - { - return _206C_206D_206E_202E_206E_202C_200C_200B_200C_200B_200B_200C_200E_202A_206A_206E_202B_206E_206C_206F_200B_206C_200F_202C_202E_202C_206B_200F_202B_202A_200E_200B_200E_202D_200F_202C_200D_202D_200F_200E_202E((object)c.QuestId); - } - - internal bool _003CClearStopQuests_003Eb__160_0(StopCondition c) - { - return c is QuestCompleteCondition; - } - - internal bool _003CGetAllQuestSequenceStopConditions_003Eb__168_0(QuestCompleteCondition c) - { - return c.Sequence.HasValue; - } - - internal string _003CGetAllQuestSequenceStopConditions_003Eb__168_1(QuestCompleteCondition c) - { - return _206C_206D_206E_202E_206E_202C_200C_200B_200C_200B_200B_200C_200E_202A_206A_206E_202B_206E_206C_206F_200B_206C_200F_202C_202E_202C_206B_200F_202B_202A_200E_200B_200E_202D_200F_202C_200D_202D_200F_200E_202E((object)c.QuestId); - } - - internal int _003CGetAllQuestSequenceStopConditions_003Eb__168_2(QuestCompleteCondition c) - { - return c.Sequence.Value; - } - - static string _206C_206D_206E_202E_206E_202C_200C_200B_200C_200B_200B_200C_200E_202A_206A_206E_202B_206E_206C_206F_200B_206C_200F_202C_202E_202C_206B_200F_202B_202A_200E_200B_200E_202D_200F_202C_200D_202D_200F_200E_202E(object P_0) - { - return P_0.ToString(); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass104_0 - { - public ElementId elementId; - - internal bool _003CRemovePriorityQuest_003Eb__0(Quest q) - { - return _206A_206C_206B_200B_206A_200B_202C_202E_200C_206B_206B_200F_200D_202C_206D_202B_200D_200F_202E_202E_206F_202B_202D_206A_200F_200F_206F_202C_202E_206D_206A_202D_206D_200B_200C_206B_202E_202B_200F_200F_202E(q.Id, elementId); - } - - static bool _206A_206C_206B_200B_206A_200B_202C_202E_200C_206B_206B_200F_200D_202C_206D_202B_200D_200F_202E_202E_206F_202B_202D_206A_200F_200F_206F_202C_202E_206D_206A_202D_206D_200B_200C_206B_202E_202B_200F_200F_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass105_0 - { - public ElementId elementId; - - internal bool _003CReorderPriorityQuest_003Eb__0(Quest q) - { - return _200F_202C_206E_206D_200E_206D_206C_202D_202D_202D_200B_200F_202B_202C_200C_202A_200E_200F_200C_200B_202D_206F_206E_202A_202D_200D_202E_202C_200E_200D_206C_202C_200B_206D_202B_206D_206F_200C_206F_206F_202E(q.Id, elementId); - } - - static bool _200F_202C_206E_206D_200E_206D_206C_202D_202D_202D_200B_200F_202B_202C_200C_202A_200E_200F_200C_200B_202D_206F_206E_202A_202D_200D_202E_202C_200E_200D_206C_202C_200B_206D_202B_206D_206F_200C_206F_206F_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass108_0 - { - public ElementId elementId; - - internal bool _003CAddPresetToPriority_003Eb__0(Quest q) - { - return _206B_202C_206D_202B_206D_200D_206E_200E_200F_202A_202E_200B_206E_200B_202B_202A_200C_206A_206F_206F_206C_202E_202A_202B_202D_200F_200B_200D_200B_206B_200F_206C_206D_202E_206B_200E_206C_202E_200D_206F_202E(q.Id, elementId); - } - - static bool _206B_202C_206D_202B_206D_200D_206E_200E_200F_202A_202E_200B_206E_200B_202B_202A_200C_206A_206F_206F_206C_202E_202A_202B_202D_200F_200B_200D_200B_206B_200F_206C_206D_202E_206B_200E_206C_202E_200D_206F_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass110_0 - { - public ElementId elementId; - - internal bool _003CIsQuestInPriority_003Eb__0(Quest q) - { - return _206B_200E_200D_206D_206F_200F_200C_200D_200B_202E_200B_200C_206E_200F_200B_200E_206A_200D_206D_202C_202B_206B_206C_206F_200C_202B_206A_206A_202D_206E_200F_202C_206D_206C_206C_202C_200E_200D_206B_206A_202E(q.Id, elementId); - } - - static bool _206B_200E_200D_206D_206F_200F_200C_200D_200B_202E_200B_200C_206E_200F_200B_200E_206A_200D_206D_202C_202B_206B_206C_206F_200C_202B_206A_206A_202D_206E_200F_202C_206D_206C_206C_202C_200E_200D_206B_206A_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass111_0 - { - public ElementId elementId; - - internal bool _003CGetQuestPriorityIndex_003Eb__0(Quest q) - { - return _206B_200C_200D_200C_200B_202A_200F_206B_206C_202A_206A_200E_206D_200B_202E_200B_200C_206F_206A_206C_200B_202C_202B_206B_200E_206D_206A_206A_200B_206D_202A_202A_206B_202A_200C_202B_206E_200B_200F_202C_202E(q.Id, elementId); - } - - static bool _206B_200C_200D_200C_200B_202A_200F_206B_206C_202A_206A_200E_206D_200B_202E_200B_200C_206F_206A_206C_200B_202C_202B_206B_200E_206D_206A_206A_200B_206D_202A_202A_206B_202A_200C_202B_206E_200B_200F_202C_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass158_0 - { - public ElementId elementId; - - internal bool _003CAddStopQuest_003Eb__0(QuestCompleteCondition c) - { - return _202E_206B_200B_200F_202E_206D_202C_202E_202E_200B_200E_206D_206B_200B_202E_202E_206C_202A_200C_202C_206F_206F_202E_206C_200D_206F_206E_202B_200D_202B_206B_202C_200D_200D_206E_202B_202D_206C_200F_206B_202E(c.QuestId, elementId); - } - - static bool _202E_206B_200B_200F_202E_206D_202C_202E_202E_200B_200E_206D_206B_200B_202E_202E_206C_202A_200C_202C_206F_206F_202E_206C_200D_206F_206E_202B_200D_202B_206B_202C_200D_200D_206E_202B_202D_206C_200F_206B_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass159_0 - { - public ElementId elementId; - - internal bool _003CRemoveStopQuest_003Eb__0(QuestCompleteCondition c) - { - return _202B_206F_202A_200F_200E_206D_202B_206F_200C_200C_206E_206D_206C_202E_202C_206D_206D_202A_200B_202C_206F_202E_200B_206C_200C_206E_200C_206E_206D_202C_206D_202A_200D_200F_200C_200B_200C_200B_206C_202E_202E(c.QuestId, elementId); - } - - static bool _202B_206F_202A_200F_200E_206D_202B_206F_200C_200C_206E_206D_206C_202E_202C_206D_206D_202A_200B_202C_206F_202E_200B_206C_200C_206E_200C_206E_206D_202C_206D_202A_200D_200F_200C_200B_200C_200B_206C_202E_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass165_0 - { - public ElementId elementId; - - internal bool _003CGetQuestSequenceStopCondition_003Eb__0(QuestCompleteCondition c) - { - return _200D_202D_202E_202C_206E_206C_200E_206C_200B_206E_200E_202D_202A_206A_202A_200F_202B_206D_202E_206E_202D_200E_200C_206D_200E_206E_206F_200C_202D_206D_202B_202A_200D_206E_200E_202E_200D_206B_200B_202D_202E(c.QuestId, elementId); - } - - static bool _200D_202D_202E_202C_206E_206C_200E_206C_200B_206E_200E_202D_202A_206A_202A_200F_202B_206D_202E_206E_202D_200E_200C_206D_200E_206E_206F_200C_202D_206D_202B_202A_200D_206E_200E_202E_200D_206B_200B_202D_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass166_0 - { - public ElementId elementId; - - internal bool _003CSetQuestSequenceStopCondition_003Eb__0(QuestCompleteCondition c) - { - return _200D_202A_202A_206C_206B_206A_200D_206B_200C_200C_200B_202C_200F_202A_206F_206A_202B_202D_200E_202A_206F_206C_200F_202B_202C_206E_206A_202A_200C_202D_200E_200D_206F_200D_202A_206E_200C_202B_206C_200D_202E(c.QuestId, elementId); - } - - static bool _200D_202A_202A_206C_206B_206A_200D_206B_200C_200C_200B_202C_200F_202A_206F_206A_202B_202D_200E_202A_206F_206C_200F_202B_202C_206E_206A_202A_200C_202D_200E_200D_206F_200D_202A_206E_200C_202B_206C_200D_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass167_0 - { - public ElementId elementId; - - internal bool _003CRemoveQuestSequenceStopCondition_003Eb__0(QuestCompleteCondition c) - { - int num = ((!_206A_200B_206E_206B_202B_200C_206D_206A_200F_202C_206C_202B_202C_206F_202C_200C_206C_200B_202A_200E_200C_200B_206D_200D_200C_200F_200B_202B_202B_200E_202D_206B_206E_206F_200D_200D_206A_202A_200E_206C_202E(c.QuestId, elementId)) ? 1186797582 : 1186797583); - while (true) - { - int num2 = num; - int num3 = 1186797582; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0053; - case 0: - return false; - case 1: - return c.Sequence.HasValue; - } - continue; - IL_0053: - num = 1186797583; - } - } - - static bool _206A_200B_206E_206B_202B_200C_206D_206A_200F_202C_206C_202B_202C_206F_202C_200C_206C_200B_202A_200E_200C_200B_206D_200D_200C_200F_200B_202B_202B_200E_202D_206B_206E_206F_200D_200D_206A_202A_200E_206C_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass173_0 - { - public ElementId elementId; - - internal bool _003CGetQuestStopMode_003Eb__0(QuestCompleteCondition c) - { - return _206E_200F_202C_200C_202B_202B_202C_202B_200C_206E_202B_200D_202A_206A_206A_206A_206F_206E_200B_206B_206E_200D_202A_206D_206B_202D_200B_200D_202D_202A_200E_206A_202D_202C_202B_206C_200E_206C_206F_206D_202E(c.QuestId, elementId); - } - - static bool _206E_200F_202C_200C_202B_202B_202C_202B_200C_206E_202B_200D_202A_206A_206A_206A_206F_206E_200B_206B_206E_200D_202A_206D_206B_202D_200B_200D_202D_202A_200E_206A_202D_202C_202B_206C_200E_206C_206F_206D_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass174_0 - { - public ElementId elementId; - - internal bool _003CSetQuestStopMode_003Eb__0(QuestCompleteCondition c) - { - return _202D_202E_202C_202D_200D_200E_206F_202D_202A_206D_202D_206D_200D_202B_200B_206E_206A_206B_202C_202A_200B_206C_202C_206C_202E_206C_202C_200E_202C_202B_202C_200F_206A_206C_202C_200D_206F_200E_206F_206B_202E(c.QuestId, elementId); - } - - static bool _202D_202E_202C_202D_200D_200E_206F_202D_202A_206D_202D_206D_200D_202B_200B_206E_206A_206B_202C_202A_200B_206C_202C_206C_202E_206C_202C_200E_202C_202B_202C_200F_206A_206C_202C_200D_206F_200E_206F_206B_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass17_0 - { - public QuestInfo questInfo; - - internal bool _003CAddAlliedSocietyOptimalQuests_003Eb__4(Quest pq) - { - return _200B_206F_202A_200F_206A_206B_200F_206F_206B_206E_202E_202E_206D_206E_202C_202E_206F_206B_200B_202D_206D_200B_202B_200E_200F_202D_206D_200E_206F_206A_200E_206C_200E_206E_206B_202E_206C_206F_206A_200C_202E(pq.Id, questInfo.QuestId); - } - - static bool _200B_206F_202A_200F_206A_206B_200F_206F_206B_206E_202E_202E_206D_206E_202C_202E_206F_206B_200B_202D_206D_200B_202B_200E_200F_202D_206D_200E_206F_206A_200E_206C_200E_206E_206B_202E_206C_206F_206A_200C_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass18_0 - { - public QuestInfo questInfo; - - internal bool _003CGetAlliedSocietyOptimalQuests_003Eb__5(Quest pq) - { - return _200F_200B_200C_202B_200B_206B_206A_202C_202A_200B_202D_202A_206A_206F_206C_202A_206C_200E_200B_206D_200C_200D_200F_202C_202A_200D_202C_206B_200B_200C_202D_206C_200D_206E_206D_202B_206B_206B_200F_206F_202E(pq.Id, questInfo.QuestId); - } - - static bool _200F_200B_200C_202B_200B_206B_206A_202C_202A_200B_202D_202A_206A_206F_206C_202A_206C_200E_200B_206D_200C_200D_200F_202C_202A_200D_202C_206B_200B_200C_202D_206C_200D_206E_206D_202B_206B_206B_200F_206F_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - } - private const string IpcGetAlliedSocietyRemainingAllowances = "Questionable.AlliedSociety.GetRemainingAllowances"; private const string IpcGetAlliedSocietyTimeUntilReset = "Questionable.AlliedSociety.GetTimeUntilReset"; @@ -604,42 +237,27 @@ internal sealed class QuestionableIpc : IDisposable private const string IpcSetQuestStopMode = "Questionable.SetQuestStopMode"; - [MethodImpl(MethodImplOptions.NoInlining)] private void RegisterAlliedSocietyIpc() { - Register(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2076909105), GetAlliedSocietyRemainingAllowances); - Register(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2140661285), GetAlliedSocietyTimeUntilReset); - Register>(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-293474697), GetAlliedSocietyAvailableQuestIds); - Register(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1260096233), GetAlliedSocietyAllAvailableQuestCounts); - Register(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(-1318334087), GetAlliedSocietyIsMaxRank); - Register(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1870708398), GetAlliedSocietyCurrentRank); - Register(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(-1412290857), GetAlliedSocietiesWithAvailableQuests); - Register(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(622905718), AddAlliedSocietyOptimalQuests); - Register>(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1796942929), GetAlliedSocietyOptimalQuests); + Register("Questionable.AlliedSociety.GetRemainingAllowances", GetAlliedSocietyRemainingAllowances); + Register("Questionable.AlliedSociety.GetTimeUntilReset", GetAlliedSocietyTimeUntilReset); + Register>("Questionable.AlliedSociety.GetAvailableQuestIds", GetAlliedSocietyAvailableQuestIds); + Register("Questionable.AlliedSociety.GetAllAvailableQuestCounts", GetAlliedSocietyAllAvailableQuestCounts); + Register("Questionable.AlliedSociety.IsMaxRank", GetAlliedSocietyIsMaxRank); + Register("Questionable.AlliedSociety.GetCurrentRank", GetAlliedSocietyCurrentRank); + Register("Questionable.AlliedSociety.GetSocietiesWithAvailableQuests", GetAlliedSocietiesWithAvailableQuests); + Register("Questionable.AlliedSociety.AddOptimalQuests", AddAlliedSocietyOptimalQuests); + Register>("Questionable.AlliedSociety.GetOptimalQuests", GetAlliedSocietyOptimalQuests); } private unsafe int GetAlliedSocietyRemainingAllowances() { QuestManager* ptr = QuestManager.Instance(); - int num = ((ptr != null) ? 493033467 : 493033466); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 493033467; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0049; - case 1: - return 12; - case 0: - return (int)ptr->GetBeastTribeAllowance(); - } - continue; - IL_0049: - num = 493033466; + return 12; } + return (int)ptr->GetBeastTribeAllowance(); } private long GetAlliedSocietyTimeUntilReset() @@ -650,30 +268,13 @@ internal sealed class QuestionableIpc : IDisposable private List GetAlliedSocietyAvailableQuestIds(byte alliedSocietyId) { - int num = ((alliedSocietyId == 0) ? 1843134312 : 1843134315); - while (true) + if (alliedSocietyId == 0 || !Enum.IsDefined(typeof(EAlliedSociety), alliedSocietyId)) { - int num2 = num; - int num3 = 1843134313; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return new List(); - case 2: - num = (_202D_200C_206C_202C_206A_202D_200F_200C_200C_206C_206F_200C_202B_200E_202D_200B_202B_200C_206E_200E_206D_206E_206A_202B_206A_206D_206D_206B_206C_206E_206A_200E_202E_200B_200B_202E_200D_206D_202C_206F_202E(_206F_202E_202C_206D_206E_206A_200C_200E_206E_206E_206C_200F_206D_202C_206E_200C_206D_206C_206E_206E_206D_206A_202D_202C_200D_206E_206A_202B_202C_202C_200F_200C_200F_206B_202E_202B_202B_202D_206D_200D_202E(typeof(EAlliedSociety).TypeHandle), (object)alliedSocietyId) ? 1843134314 : 1843134312); - break; - case 3: - { - EAlliedSociety alliedSociety = (EAlliedSociety)alliedSocietyId; - return (from q in _serviceProvider.GetRequiredService().GetAvailableAlliedSocietyQuests(alliedSociety) - select _003C_003Ec._206C_206D_206E_202E_206E_202C_200C_200B_200C_200B_200B_200C_200E_202A_206A_206E_202B_206E_206C_206F_200B_206C_200F_202C_202E_202C_206B_200F_202B_202A_200E_200B_200E_202D_200F_202C_200D_202D_200F_200E_202E((object)q)).ToList(); - } - case 0: - num = 1843134315; - break; - } + return new List(); } + EAlliedSociety alliedSociety = (EAlliedSociety)alliedSocietyId; + return (from q in _serviceProvider.GetRequiredService().GetAvailableAlliedSocietyQuests(alliedSociety) + select q.ToString()).ToList(); } private Dictionary GetAlliedSocietyAllAvailableQuestCounts() @@ -681,189 +282,55 @@ internal sealed class QuestionableIpc : IDisposable Dictionary dictionary = new Dictionary(); AlliedSocietyQuestFunctions requiredService = _serviceProvider.GetRequiredService(); EAlliedSociety[] values = Enum.GetValues(); - int num = 0; - int num2 = -106340309; - int count = default(int); - EAlliedSociety eAlliedSociety = default(EAlliedSociety); - while (true) + foreach (EAlliedSociety eAlliedSociety in values) { - int num3 = num2; - int num4 = -106340306; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + if (eAlliedSociety != EAlliedSociety.None) { - case 2: - return dictionary; - case 0: - { - int num6 = num; - num4 = 1; - num5 = num6; - num = (num5 | num4) + (num5 & num4); - num2 = -106340309; - break; - } - case 6: - count = requiredService.GetAvailableAlliedSocietyQuests(eAlliedSociety).Count; - num2 = ((count <= 0) ? (-106340306) : (-106340310)); - break; - case 1: - eAlliedSociety = values[num]; - num2 = ((eAlliedSociety == EAlliedSociety.None) ? (-106340306) : (-106340312)); - break; - case 4: - dictionary[(byte)eAlliedSociety] = count; - num2 = -106340306; - break; - case 3: - num2 = -106340309; - break; - case 5: - num2 = ((num < values.Length) ? (-106340305) : (-106340308)); - break; + int count = requiredService.GetAvailableAlliedSocietyQuests(eAlliedSociety).Count; + if (count > 0) + { + dictionary[(byte)eAlliedSociety] = count; + } } } + return dictionary; } private unsafe bool GetAlliedSocietyIsMaxRank(byte alliedSocietyId) { - int num = ((!_202D_200C_206C_202C_206A_202D_200F_200C_200C_206C_206F_200C_202B_200E_202D_200B_202B_200C_206E_200E_206D_206E_206A_202B_206A_206D_206D_206B_206C_206E_206A_200E_202E_200B_200B_202E_200D_206D_202C_206F_202E(_206F_202E_202C_206D_206E_206A_200C_200E_206E_206E_206C_200F_206D_202C_206E_200C_206D_206C_206E_206E_206D_206A_202D_202C_200D_206E_206A_202B_202C_202C_200F_200C_200F_206B_202E_202B_202B_202D_206D_200D_202E(typeof(EAlliedSociety).TypeHandle), (object)alliedSocietyId)) ? 228684273 : 228684274); - byte b = default(byte); - byte b2 = default(byte); - QuestManager* ptr = default(QuestManager*); - while (true) + if (!Enum.IsDefined(typeof(EAlliedSociety), alliedSocietyId) || alliedSocietyId == 0) { - int num2 = num; - int num3 = 228684272; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return false; - case 4: - { - byte b3 = b; - return b2 >= b3; - } - case 0: - b = 7; - num = 228684276; - break; - case 6: - num = 228684279; - break; - case 2: - num = ((alliedSocietyId != 0) ? 228684283 : 228684273); - break; - case 9: - return false; - case 8: - goto IL_00d2; - case 13: - goto IL_00e1; - case 5: - num = 228684274; - break; - case 10: - { - Span beastReputation = ptr->BeastReputation; - num3 = 1; - num4 = alliedSocietyId; - byte rank = beastReputation[~(~num4 + num3)].Rank; - num3 = 127; - num4 = rank; - b2 = (byte)(num4 + num3 - (num4 | num3)); - switch ((EAlliedSociety)alliedSocietyId) - { - case EAlliedSociety.Ixal: - break; - case EAlliedSociety.Kobolds: - goto IL_00d2; - case EAlliedSociety.Amaljaa: - goto IL_00e1; - default: - goto IL_014e; - case EAlliedSociety.Sylphs: - goto IL_0169; - case EAlliedSociety.Sahagin: - goto IL_0178; - } - goto case 0; - } - case 7: - b = 8; - num = 228684276; - break; - case 3: - goto IL_0169; - case 12: - goto IL_0178; - case 11: - { - ptr = QuestManager.Instance(); - num = ((ptr != null) ? 228684282 : 228684281); - break; - } - IL_0178: - b = 3; - num = 228684276; - break; - IL_0169: - b = 3; - num = 228684276; - break; - IL_014e: - num = 228684278; - break; - IL_00e1: - b = 3; - num = 228684276; - break; - IL_00d2: - b = 3; - num = 228684276; - break; - } + return false; } + QuestManager* ptr = QuestManager.Instance(); + if (ptr == null) + { + return false; + } + byte b = (byte)(ptr->BeastReputation[alliedSocietyId - 1].Rank & 0x7F); + return b >= (EAlliedSociety)alliedSocietyId switch + { + EAlliedSociety.Amaljaa => 3, + EAlliedSociety.Sylphs => 3, + EAlliedSociety.Kobolds => 3, + EAlliedSociety.Sahagin => 3, + EAlliedSociety.Ixal => 7, + _ => 8, + }; } private unsafe int GetAlliedSocietyCurrentRank(byte alliedSocietyId) { - int num = ((!_202D_200C_206C_202C_206A_202D_200F_200C_200C_206C_206F_200C_202B_200E_202D_200B_202B_200C_206E_200E_206D_206E_206A_202B_206A_206D_206D_206B_206C_206E_206A_200E_202E_200B_200B_202E_200D_206D_202C_206F_202E(_206F_202E_202C_206D_206E_206A_200C_200E_206E_206E_206C_200F_206D_202C_206E_200C_206D_206C_206E_206E_206D_206A_202D_202C_200D_206E_206A_202B_202C_202C_200F_200C_200F_206B_202E_202B_202B_202D_206D_200D_202E(typeof(EAlliedSociety).TypeHandle), (object)alliedSocietyId)) ? 1395822041 : 1395822046); - QuestManager* ptr = default(QuestManager*); - while (true) + if (!Enum.IsDefined(typeof(EAlliedSociety), alliedSocietyId) || alliedSocietyId == 0) { - int num2 = num; - int num3 = 1395822043; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - ptr = QuestManager.Instance(); - num = ((ptr != null) ? 1395822040 : 1395822042); - break; - case 1: - return -1; - case 5: - num = ((alliedSocietyId != 0) ? 1395822047 : 1395822041); - break; - case 3: - { - Span beastReputation = ptr->BeastReputation; - num3 = 1; - num4 = alliedSocietyId; - byte rank = beastReputation[~(~num4 + num3)].Rank; - num3 = 127; - num4 = rank; - return (byte)((num4 | num3) - (num4 ^ num3)); - } - case 2: - return -1; - case 0: - num = 1395822046; - break; - } + return -1; } + QuestManager* ptr = QuestManager.Instance(); + if (ptr == null) + { + return -1; + } + return (byte)(ptr->BeastReputation[alliedSocietyId - 1].Rank & 0x7F); } private List GetAlliedSocietiesWithAvailableQuests() @@ -871,441 +338,135 @@ internal sealed class QuestionableIpc : IDisposable List list = new List(); AlliedSocietyQuestFunctions requiredService = _serviceProvider.GetRequiredService(); EAlliedSociety[] values = Enum.GetValues(); - int num = 0; - int num2 = 240220789; - EAlliedSociety eAlliedSociety = default(EAlliedSociety); - while (true) + foreach (EAlliedSociety eAlliedSociety in values) { - int num3 = num2; - int num4 = 240220789; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) + if (eAlliedSociety != EAlliedSociety.None && requiredService.GetAvailableAlliedSocietyQuests(eAlliedSociety).Count > 0) { - case 6: - return list; - case 1: - num2 = ((requiredService.GetAvailableAlliedSocietyQuests(eAlliedSociety).Count <= 0) ? 240220784 : 240220790); - break; - case 2: - eAlliedSociety = values[num]; - num2 = ((eAlliedSociety == EAlliedSociety.None) ? 240220784 : 240220788); - break; - case 0: - num2 = ((num < values.Length) ? 240220791 : 240220787); - break; - case 5: - { - int num8 = num; - num4 = 1; - num5 = num8; - int num9 = num5 ^ num4; - int num10 = num5 & num4; - num = num9 + (num10 + num10); - num2 = 240220789; - break; - } - case 3: list.Add((byte)eAlliedSociety); - num2 = 240220784; - break; - case 4: - num2 = 240220789; - break; } } + return list; } private int AddAlliedSocietyOptimalQuests(byte alliedSocietyId) { - int num = ((!_202D_200C_206C_202C_206A_202D_200F_200C_200C_206C_206F_200C_202B_200E_202D_200B_202B_200C_206E_200E_206D_206E_206A_202B_206A_206D_206D_206B_206C_206E_206A_200E_202E_200B_200B_202E_200D_206D_202C_206F_202E(_206F_202E_202C_206D_206E_206A_200C_200E_206E_206E_206C_200F_206D_202C_206E_200C_206D_206C_206E_206E_206D_206A_202D_202C_200D_206E_206A_202B_202C_202C_200F_200C_200F_206B_202E_202B_202B_202D_206D_200D_202E(typeof(EAlliedSociety).TypeHandle), (object)alliedSocietyId)) ? (-494903143) : (-494903141)); - EAlliedSociety eAlliedSociety = default(EAlliedSociety); - List list = default(List); - List availableAlliedSocietyQuests = default(List); - int num7; - while (true) + if (!Enum.IsDefined(typeof(EAlliedSociety), alliedSocietyId) || alliedSocietyId == 0) { - int num2 = num; - int num3 = -494903144; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 5: - num = (((int)eAlliedSociety <= 5) ? (-494903142) : (-494903140)); - continue; - case 9: - return 0; - case 7: - list = (from questInfo in availableAlliedSocietyQuests.Select(delegate(QuestId questId) - { - IQuestInfo questInfo; - int num18 = (_questData.TryGetQuestInfo(questId, out questInfo) ? (-722768619) : (-722768620)); - while (true) - { - int num19 = num18; - int num20 = -722768619; - int num21 = num19; - int num22 = num21 + num20; - int num23 = num21 & num20; - switch (num22 - (num23 + num23)) - { - case 2: - goto IL_0050; - case 1: - return (IQuestInfo)null; - case 0: - return questInfo; - } - continue; - IL_0050: - num18 = -722768620; - } - }).OfType().Where(delegate(QuestInfo questInfo) - { - Quest quest; - int num18 = ((!_questRegistry.TryGetQuest(questInfo.QuestId, out quest)) ? (-1336741797) : (-1336741798)); - while (true) - { - int num19 = num18; - int num20 = -1336741797; - int num21 = num19; - switch ((num21 | num20) - (num21 & num20)) - { - case 0: - return false; - case 1: - return !_202E_202D_202A_200B_206C_202D_202D_206E_202D_206E_206D_202B_200E_206F_206F_200D_206F_202C_206E_206F_200E_206D_202D_200D_202C_200B_200B_202C_202A_200F_202B_200E_206E_202B_202C_200F_206A_206F_206F_206E_202E(quest.Root); - case 2: - goto IL_0064; - } - continue; - IL_0064: - num18 = -1336741798; - } - }) - where !_questController.ManualPriorityQuests.Any((Quest pq) => _003C_003Ec__DisplayClass17_0._200B_206F_202A_200F_206A_206B_200F_206F_206B_206E_202E_202E_206D_206E_202C_202E_206F_206B_200B_202D_206D_200B_202B_200E_200F_202D_206D_200E_206F_206A_200E_206C_200E_206E_206B_202E_206C_206F_206A_200C_202E(pq.Id, questInfo.QuestId)) - orderby questInfo.AlliedSocietyRank descending - select questInfo).ToList(); - num = ((list.Count != 0) ? (-494903139) : (-494903151)); - continue; - case 3: - num = ((alliedSocietyId != 0) ? (-494903152) : (-494903143)); - continue; - case 1: - return 0; - case 0: - num = -494903141; - continue; - case 4: - num7 = 3; - break; - case 6: - return 0; - case 8: - eAlliedSociety = (EAlliedSociety)alliedSocietyId; - availableAlliedSocietyQuests = _serviceProvider.GetRequiredService().GetAvailableAlliedSocietyQuests(eAlliedSociety); - num = ((availableAlliedSocietyQuests.Count != 0) ? (-494903137) : (-494903138)); - continue; - case 2: - num7 = 12; - break; - } - break; + return 0; } + EAlliedSociety eAlliedSociety = (EAlliedSociety)alliedSocietyId; + List availableAlliedSocietyQuests = _serviceProvider.GetRequiredService().GetAvailableAlliedSocietyQuests(eAlliedSociety); + if (availableAlliedSocietyQuests.Count == 0) + { + return 0; + } + IQuestInfo questInfo; + Quest quest; + List list = (from questInfo in availableAlliedSocietyQuests.Select((QuestId questId) => (!_questData.TryGetQuestInfo(questId, out questInfo)) ? null : questInfo).OfType() + where _questRegistry.TryGetQuest(questInfo.QuestId, out quest) && !quest.Root.Disabled + where !_questController.ManualPriorityQuests.Any((Quest pq) => pq.Id.Equals(questInfo.QuestId)) + orderby questInfo.AlliedSocietyRank descending + select questInfo).ToList(); + if (list.Count == 0) + { + return 0; + } + int val = (((int)eAlliedSociety <= 5) ? 12 : 3); int alliedSocietyRemainingAllowances = GetAlliedSocietyRemainingAllowances(); - int count = _202A_202C_206D_200C_206E_200E_200C_202E_202C_200E_206B_200F_206E_202B_202C_200E_206D_200C_200D_200F_200D_200C_200D_200B_206C_200B_206F_200D_202B_200C_200F_202A_206A_202B_206D_200B_200D_202C_200F_202E_202E(_202A_202C_206D_200C_206E_200E_200C_202E_202C_200E_206B_200F_206E_202B_202C_200E_206D_200C_200D_200F_200D_200C_200D_200B_206C_200B_206F_200D_202B_200C_200F_202A_206A_202B_206D_200B_200D_202C_200F_202E_202E(num7, alliedSocietyRemainingAllowances), list.Count); - int num8 = 0; - IEnumerator enumerator = list.Take(count).GetEnumerator(); - try + int count = Math.Min(Math.Min(val, alliedSocietyRemainingAllowances), list.Count); + int num = 0; + foreach (QuestInfo item in list.Take(count)) { - num = 1244685087; - while (true) + if (_questController.AddQuestPriority(item.QuestId)) { - int num9 = num; - int num3 = 1244685087; - int num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 2: - num = 1244685087; - break; - case 0: - num = (_202B_200B_206F_206F_202B_206D_202E_206A_202B_202A_200D_202D_206C_206C_206D_206B_202C_206F_200F_200F_200C_206D_200C_202B_206D_206A_206F_206D_200B_202E_206C_200C_200D_202B_200B_206F_202B_206D_206A_202D_202E((IEnumerator)enumerator) ? 1244685086 : 1244685083); - break; - case 3: - { - int num12 = num8; - num3 = 1; - num4 = num12; - int num13 = num4 ^ num3; - int num14 = num4 & num3; - num8 = num13 + (num14 + num14); - num = 1244685087; - break; - } - case 1: - { - QuestInfo current = enumerator.Current; - num = ((!_questController.AddQuestPriority(current.QuestId)) ? 1244685087 : 1244685084); - break; - } - case 4: - return num8; - } - } - } - finally - { - num = ((enumerator == null) ? (-881446915) : (-881446916)); - while (true) - { - int num15 = num; - int num3 = -881446915; - int num4 = num15; - int num16 = num4 + num3; - int num17 = num4 & num3; - switch (num16 - (num17 + num17)) - { - case 2: - num = -881446916; - break; - case 1: - _206A_202B_200C_202D_202C_202B_206F_200D_206E_206E_206D_200C_206B_200C_202B_206B_202A_200E_206F_202B_200B_200E_206E_202E_200D_206D_200D_200F_200F_200E_202E_202A_202D_202C_206F_202E_202E_206D_206F_200E_202E((IDisposable)enumerator); - num = -881446915; - break; - case 0: - goto end_IL_02c0; - } - continue; - end_IL_02c0: - break; + num++; } } + return num; } private List GetAlliedSocietyOptimalQuests(byte alliedSocietyId) { - int num = ((!_202D_200C_206C_202C_206A_202D_200F_200C_200C_206C_206F_200C_202B_200E_202D_200B_202B_200C_206E_200E_206D_206E_206A_202B_206A_206D_206D_206B_206C_206E_206A_200E_202E_200B_200B_202E_200D_206D_202C_206F_202E(_206F_202E_202C_206D_206E_206A_200C_200E_206E_206E_206C_200F_206D_202C_206E_200C_206D_206C_206E_206E_206D_206A_202D_202C_200D_206E_206A_202B_202C_202C_200F_200C_200F_206B_202E_202B_202B_202D_206D_200D_202E(typeof(EAlliedSociety).TypeHandle), (object)alliedSocietyId)) ? (-926269664) : (-926269663)); - EAlliedSociety eAlliedSociety = default(EAlliedSociety); - List availableAlliedSocietyQuests = default(List); - int num7; - List list = default(List); - while (true) + if (!Enum.IsDefined(typeof(EAlliedSociety), alliedSocietyId) || alliedSocietyId == 0) { - int num2 = num; - int num3 = -926269658; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 3: - return new List(); - case 8: - eAlliedSociety = (EAlliedSociety)alliedSocietyId; - availableAlliedSocietyQuests = _serviceProvider.GetRequiredService().GetAvailableAlliedSocietyQuests(eAlliedSociety); - num = ((availableAlliedSocietyQuests.Count != 0) ? (-926269649) : (-926269659)); - continue; - case 7: - num = ((alliedSocietyId != 0) ? (-926269650) : (-926269664)); - continue; - case 4: - return new List(); - case 1: - num7 = 3; - break; - case 9: - list = (from questInfo in availableAlliedSocietyQuests.Select(delegate(QuestId questId) - { - IQuestInfo questInfo; - int num8 = (_questData.TryGetQuestInfo(questId, out questInfo) ? 939637066 : 939637067); - while (true) - { - int num9 = num8; - int num10 = 939637066; - int num11 = num9; - int num12 = num11 + num10; - int num13 = num11 & num10; - switch (num12 - (num13 + num13)) - { - case 0: - return questInfo; - case 1: - return (IQuestInfo)null; - case 2: - goto IL_0054; - } - continue; - IL_0054: - num8 = 939637067; - } - }).OfType().Where(delegate(QuestInfo questInfo) - { - Quest quest; - int num8 = ((!_questRegistry.TryGetQuest(questInfo.QuestId, out quest)) ? (-212680098) : (-212680099)); - while (true) - { - int num9 = num8; - int num10 = -212680097; - int num11 = num9; - int num12 = num11 + num10; - int num13 = num11 & num10; - switch (num12 - (num13 + num13)) - { - case 1: - return false; - case 2: - return !_202E_202D_202A_200B_206C_202D_202D_206E_202D_206E_206D_202B_200E_206F_206F_200D_206F_202C_206E_206F_200E_206D_202D_200D_202C_200B_200B_202C_202A_200F_202B_200E_206E_202B_202C_200F_206A_206F_206F_206E_202E(quest.Root); - case 0: - goto IL_0066; - } - continue; - IL_0066: - num8 = -212680099; - } - }) - where !_questController.ManualPriorityQuests.Any((Quest pq) => _003C_003Ec__DisplayClass18_0._200F_200B_200C_202B_200B_206B_206A_202C_202A_200B_202D_202A_206A_206F_206C_202A_206C_200E_200B_206D_200C_200D_200F_202C_202A_200D_202C_206B_200B_200C_202D_206C_200D_206E_206D_202B_206B_206B_200F_206F_202E(pq.Id, questInfo.QuestId)) - orderby questInfo.AlliedSocietyRank descending - select questInfo).ToList(); - num = ((list.Count != 0) ? (-926269660) : (-926269662)); - continue; - case 2: - num = (((int)eAlliedSociety <= 5) ? (-926269661) : (-926269657)); - continue; - case 6: - return new List(); - case 0: - num = -926269663; - continue; - case 5: - num7 = 12; - break; - } - break; + return new List(); } + EAlliedSociety eAlliedSociety = (EAlliedSociety)alliedSocietyId; + List availableAlliedSocietyQuests = _serviceProvider.GetRequiredService().GetAvailableAlliedSocietyQuests(eAlliedSociety); + if (availableAlliedSocietyQuests.Count == 0) + { + return new List(); + } + IQuestInfo questInfo; + Quest quest; + List list = (from questInfo in availableAlliedSocietyQuests.Select((QuestId questId) => (!_questData.TryGetQuestInfo(questId, out questInfo)) ? null : questInfo).OfType() + where _questRegistry.TryGetQuest(questInfo.QuestId, out quest) && !quest.Root.Disabled + where !_questController.ManualPriorityQuests.Any((Quest pq) => pq.Id.Equals(questInfo.QuestId)) + orderby questInfo.AlliedSocietyRank descending + select questInfo).ToList(); + if (list.Count == 0) + { + return new List(); + } + int val = (((int)eAlliedSociety <= 5) ? 12 : 3); int alliedSocietyRemainingAllowances = GetAlliedSocietyRemainingAllowances(); - int count = _202A_202C_206D_200C_206E_200E_200C_202E_202C_200E_206B_200F_206E_202B_202C_200E_206D_200C_200D_200F_200D_200C_200D_200B_206C_200B_206F_200D_202B_200C_200F_202A_206A_202B_206D_200B_200D_202C_200F_202E_202E(_202A_202C_206D_200C_206E_200E_200C_202E_202C_200E_206B_200F_206E_202B_202C_200E_206D_200C_200D_200F_200D_200C_200D_200B_206C_200B_206F_200D_202B_200C_200F_202A_206A_202B_206D_200B_200D_202C_200F_202E_202E(num7, alliedSocietyRemainingAllowances), list.Count); + int count = Math.Min(Math.Min(val, alliedSocietyRemainingAllowances), list.Count); return (from q in list.Take(count) - select _003C_003Ec._206C_206D_206E_202E_206E_202C_200C_200B_200C_200B_200B_200C_200E_202A_206A_206E_202B_206E_206C_206F_200B_206C_200F_202C_202E_202C_206B_200F_202B_202A_200E_200B_200E_202D_200F_202C_200D_202D_200F_200E_202E((object)q.QuestId)).ToList(); + select q.QuestId.ToString()).ToList(); } - [MethodImpl(MethodImplOptions.NoInlining)] private void RegisterBlacklistIpc() { - Register(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1249293845), GetBlacklistedQuests); - Register(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1677465349), AddBlacklistedQuest); - Register(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(237088340), RemoveBlacklistedQuest); - Register(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1237204749), ClearBlacklistedQuests); - Register(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(-652489492), IsQuestBlacklistedIpc); + Register("Questionable.GetBlacklistedQuests", GetBlacklistedQuests); + Register("Questionable.AddBlacklistedQuest", AddBlacklistedQuest); + Register("Questionable.RemoveBlacklistedQuest", RemoveBlacklistedQuest); + Register("Questionable.ClearBlacklistedQuests", ClearBlacklistedQuests); + Register("Questionable.IsQuestBlacklisted", IsQuestBlacklistedIpc); } private List GetBlacklistedQuests() { - return _configuration.General.BlacklistedQuests.Select((ElementId q) => _003C_003Ec._206C_206D_206E_202E_206E_202C_200C_200B_200C_200B_200B_200C_200E_202A_206A_206E_202B_206E_206C_206F_200B_206C_200F_202C_202E_202C_206B_200F_202B_202A_200E_200B_200E_202D_200F_202C_200D_202D_200F_200E_202E((object)q)).ToList(); + return _configuration.General.BlacklistedQuests.Select((ElementId q) => q.ToString()).ToList(); } private bool AddBlacklistedQuest(string questId) { - ElementId elementId = default(ElementId); - int num = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(questId, ref elementId)) ? 1581774878 : 1581774877); - while (true) + if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null && _configuration.General.BlacklistedQuests.Add(elementId)) { - int num2 = num; - int num3 = 1581774876; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = 1581774877; - break; - case 0: - num = ((!_configuration.General.BlacklistedQuests.Add(elementId)) ? 1581774878 : 1581774872); - break; - case 4: - _200C_202B_206C_202C_202B_200E_206E_202B_206E_200B_202B_200D_200D_206F_206E_200C_200C_200E_206D_202B_200B_206B_206E_200F_200F_206D_206F_206E_200F_200E_202B_200C_202A_206D_206C_202D_206A_202C_206B_206C_202E(_pluginInterface, (IPluginConfiguration)_configuration); - return true; - case 1: - num = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(elementId, (ElementId)null)) ? 1581774878 : 1581774876); - break; - case 2: - return false; - } + _pluginInterface.SavePluginConfig(_configuration); + return true; } + return false; } private bool RemoveBlacklistedQuest(string questId) { - ElementId elementId = default(ElementId); - int num = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(questId, ref elementId)) ? (-441645662) : (-441645664)); - while (true) + if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null) { - int num2 = num; - int num3 = -441645662; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + bool num = _configuration.General.BlacklistedQuests.Remove(elementId); + if (num) { - case 3: - num = -441645664; - break; - case 0: - return false; - case 1: - { - bool num5 = _configuration.General.BlacklistedQuests.Remove(elementId); - if (num5) - { - _200C_202B_206C_202C_202B_200E_206E_202B_206E_200B_202B_200D_200D_206F_206E_200C_200C_200E_206D_202B_200B_206B_206E_200F_200F_206D_206F_206E_200F_200E_202B_200C_202A_206D_206C_202D_206A_202C_206B_206C_202E(_pluginInterface, (IPluginConfiguration)_configuration); - } - return num5; - } - case 2: - num = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(elementId, (ElementId)null)) ? (-441645662) : (-441645661)); - break; + _pluginInterface.SavePluginConfig(_configuration); } + return num; } + return false; } private bool ClearBlacklistedQuests() { _configuration.General.BlacklistedQuests.Clear(); - _200C_202B_206C_202C_202B_200E_206E_202B_206E_200B_202B_200D_200D_206F_206E_200C_200C_200E_206D_202B_200B_206B_206E_200F_200F_206D_206F_206E_200F_200E_202B_200C_202A_206D_206C_202D_206A_202C_206B_206C_202E(_pluginInterface, (IPluginConfiguration)_configuration); + _pluginInterface.SavePluginConfig(_configuration); return true; } private bool IsQuestBlacklistedIpc(string questId) { - ElementId elementId = default(ElementId); - int num = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(questId, ref elementId)) ? 500134267 : 500134265); - while (true) + if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null) { - int num2 = num; - int num3 = 500134266; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 500134265; - break; - case 0: - return _questFunctions.IsQuestBlacklisted(elementId); - case 3: - num = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(elementId, (ElementId)null)) ? 500134267 : 500134266); - break; - case 1: - return false; - } + return _questFunctions.IsQuestBlacklisted(elementId); } + return false; } public QuestionableIpc(QuestController questController, EventInfoComponent eventInfoComponent, QuestRegistry questRegistry, QuestFunctions questFunctions, QuestData questData, ManualPriorityComponent manualPriorityComponent, Configuration configuration, IDalamudPluginInterface pluginInterface, IServiceProvider serviceProvider, AutoDutyIpc autoDutyIpc, IObjectTable objectTable) @@ -1355,54 +516,21 @@ internal sealed class QuestionableIpc : IDisposable public void Dispose() { - using (List.Enumerator enumerator = _unregisterActions.GetEnumerator()) + foreach (Action unregisterAction in _unregisterActions) { - int num = -1757565413; - while (true) - { - int num2 = num; - int num3 = -1757565416; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -1757565413; - break; - case 3: - num = (enumerator.MoveNext() ? (-1757565415) : (-1757565416)); - break; - case 1: - enumerator.Current(); - num = -1757565413; - break; - case 0: - goto end_IL_0017; - } - continue; - end_IL_0017: - break; - } + unregisterAction(); } _unregisterActions.Clear(); } - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] private void RegisterDutyModeIpc() { - Register(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(-917197889), GetDefaultDutyMode); - Register(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(-2032556591), SetDefaultDutyMode); - Register(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1663101475), GetDutyModeOverride); - Register(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1851355969), SetDutyModeOverride); - Register(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1908470567), ClearDutyModeOverride); - Register(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(-1999716752), ClearAllDutyModeOverrides); + Register("Questionable.GetDefaultDutyMode", GetDefaultDutyMode); + Register("Questionable.SetDefaultDutyMode", SetDefaultDutyMode); + Register("Questionable.GetDutyModeOverride", GetDutyModeOverride); + Register("Questionable.SetDutyModeOverride", SetDutyModeOverride); + Register("Questionable.ClearDutyModeOverride", ClearDutyModeOverride); + Register("Questionable.ClearAllDutyModeOverrides", ClearAllDutyModeOverrides); } private int GetDefaultDutyMode() @@ -1412,78 +540,33 @@ internal sealed class QuestionableIpc : IDisposable private bool SetDefaultDutyMode(int dutyMode) { - int num = (_202D_200C_206C_202C_206A_202D_200F_200C_200C_206C_206F_200C_202B_200E_202D_200B_202B_200C_206E_200E_206D_206E_206A_202B_206A_206D_206D_206B_206C_206E_206A_200E_202E_200B_200B_202E_200D_206D_202C_206F_202E(_206F_202E_202C_206D_206E_206A_200C_200E_206E_206E_206C_200F_206D_202C_206E_200C_206D_206C_206E_206E_206D_206A_202D_202C_200D_206E_206A_202B_202C_202C_200F_200C_200F_206B_202E_202B_202B_202D_206D_200D_202E(typeof(EDutyMode).TypeHandle), (object)dutyMode) ? 1207559100 : 1207559101); - while (true) + if (!Enum.IsDefined(typeof(EDutyMode), dutyMode)) { - int num2 = num; - int num3 = 1207559100; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _configuration.Duties.DefaultDutyMode = (EDutyMode)dutyMode; - _200C_202B_206C_202C_202B_200E_206E_202B_206E_200B_202B_200D_200D_206F_206E_200C_200C_200E_206D_202B_200B_206B_206E_200F_200F_206D_206F_206E_200F_200E_202B_200C_202A_206D_206C_202D_206A_202C_206B_206C_202E(_pluginInterface, (IPluginConfiguration)_configuration); - return true; - case 1: - return false; - case 2: - goto IL_007d; - } - continue; - IL_007d: - num = 1207559101; + return false; } + _configuration.Duties.DefaultDutyMode = (EDutyMode)dutyMode; + _pluginInterface.SavePluginConfig(_configuration); + return true; } private int GetDutyModeOverride(uint contentFinderConditionId) { - EDutyMode value; - int num = ((!_configuration.Duties.DutyModeOverrides.TryGetValue(contentFinderConditionId, out value)) ? 623215586 : 623215587); - while (true) + if (_configuration.Duties.DutyModeOverrides.TryGetValue(contentFinderConditionId, out var value)) { - int num2 = num; - int num3 = 623215586; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0058; - case 1: - return (int)value; - case 0: - return -1; - } - continue; - IL_0058: - num = 623215587; + return (int)value; } + return -1; } private bool SetDutyModeOverride(uint contentFinderConditionId, int dutyMode) { - int num = (_202D_200C_206C_202C_206A_202D_200F_200C_200C_206C_206F_200C_202B_200E_202D_200B_202B_200C_206E_200E_206D_206E_206A_202B_206A_206D_206D_206B_206C_206E_206A_200E_202E_200B_200B_202E_200D_206D_202C_206F_202E(_206F_202E_202C_206D_206E_206A_200C_200E_206E_206E_206C_200F_206D_202C_206E_200C_206D_206C_206E_206E_206D_206A_202D_202C_200D_206E_206A_202B_202C_202C_200F_200C_200F_206B_202E_202B_202B_202D_206D_200D_202E(typeof(EDutyMode).TypeHandle), (object)dutyMode) ? (-572078912) : (-572078909)); - while (true) + if (!Enum.IsDefined(typeof(EDutyMode), dutyMode)) { - int num2 = num; - int num3 = -572078910; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - _configuration.Duties.DutyModeOverrides[contentFinderConditionId] = (EDutyMode)dutyMode; - _200C_202B_206C_202C_202B_200E_206E_202B_206E_200B_202B_200D_200D_206F_206E_200C_200C_200E_206D_202B_200B_206B_206E_200F_200F_206D_206F_206E_200F_200E_202B_200C_202A_206D_206C_202D_206A_202C_206B_206C_202E(_pluginInterface, (IPluginConfiguration)_configuration); - return true; - case 1: - return false; - case 0: - goto IL_0081; - } - continue; - IL_0081: - num = -572078909; + return false; } + _configuration.Duties.DutyModeOverrides[contentFinderConditionId] = (EDutyMode)dutyMode; + _pluginInterface.SavePluginConfig(_configuration); + return true; } private bool ClearDutyModeOverride(uint contentFinderConditionId) @@ -1491,7 +574,7 @@ internal sealed class QuestionableIpc : IDisposable bool num = _configuration.Duties.DutyModeOverrides.Remove(contentFinderConditionId); if (num) { - _200C_202B_206C_202C_202B_200E_206E_202B_206E_200B_202B_200D_200D_206F_206E_200C_200C_200E_206D_202B_200B_206B_206E_200F_200F_206D_206F_206E_200F_200E_202B_200C_202A_206D_206C_202D_206A_202C_206B_206C_202E(_pluginInterface, (IPluginConfiguration)_configuration); + _pluginInterface.SavePluginConfig(_configuration); } return num; } @@ -1499,18 +582,17 @@ internal sealed class QuestionableIpc : IDisposable private bool ClearAllDutyModeOverrides() { _configuration.Duties.DutyModeOverrides.Clear(); - _200C_202B_206C_202C_202B_200E_206E_202B_206E_200B_202B_200D_200D_206F_206E_200C_200C_200E_206D_202B_200B_206B_206E_200F_200F_206D_206F_206E_200F_200E_202B_200C_202A_206D_206C_202D_206A_202C_206B_206C_202E(_pluginInterface, (IPluginConfiguration)_configuration); + _pluginInterface.SavePluginConfig(_configuration); return true; } - [MethodImpl(MethodImplOptions.NoInlining)] private void RegisterLevelingModeIpc() { - Register(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(-498899778), IsLevelingModeEnabled); - Register(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(1336897088), SetLevelingModeEnabled); - Register(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(-1557733366), GetMsqLevelLockInfo); - Register(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1017103127), StartLevelingMode); - Register(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-622057907), StopLevelingMode); + Register("Questionable.IsLevelingModeEnabled", IsLevelingModeEnabled); + Register("Questionable.SetLevelingModeEnabled", SetLevelingModeEnabled); + Register("Questionable.GetMsqLevelLockInfo", GetMsqLevelLockInfo); + Register("Questionable.StartLevelingMode", StartLevelingMode); + Register("Questionable.StopLevelingMode", StopLevelingMode); } private bool IsLevelingModeEnabled() @@ -1521,71 +603,33 @@ internal sealed class QuestionableIpc : IDisposable private bool SetLevelingModeEnabled(bool enabled) { _configuration.Duties.RunLevelingModeWhenUnderleveled = enabled; - _200C_202B_206C_202C_202B_200E_206E_202B_206E_200B_202B_200D_200D_206F_206E_200C_200C_200E_206D_202B_200B_206B_206E_200F_200F_206D_206F_206E_200F_200E_202B_200C_202A_206D_206C_202D_206A_202C_206B_206C_202E(_pluginInterface, (IPluginConfiguration)_configuration); + _pluginInterface.SavePluginConfig(_configuration); return true; } private MsqLevelLockData? GetMsqLevelLockInfo() { - (bool isLevelLocked, int levelsNeeded, int requiredLevel, string? questName) msqLevelLockInfo = _questFunctions.GetMsqLevelLockInfo(); - bool item = msqLevelLockInfo.isLevelLocked; - int item2 = msqLevelLockInfo.levelsNeeded; - int item3 = msqLevelLockInfo.requiredLevel; - string item4 = msqLevelLockInfo.questName; - int num = (item ? 1070966436 : 1070966439); - while (true) + var (flag, levelsNeeded, requiredLevel, questName) = _questFunctions.GetMsqLevelLockInfo(); + if (!flag) { - int num2 = num; - int num3 = 1070966438; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0072; - case 1: - return null; - case 2: - return new MsqLevelLockData - { - IsLevelLocked = item, - LevelsNeeded = item2, - RequiredLevel = item3, - QuestName = item4 - }; - } - continue; - IL_0072: - num = 1070966439; + return null; } + return new MsqLevelLockData + { + IsLevelLocked = flag, + LevelsNeeded = levelsNeeded, + RequiredLevel = requiredLevel, + QuestName = questName + }; } private bool StartLevelingMode() { - AutoDutyIpc autoDutyIpc = _autoDutyIpc; - IPlayerCharacter playerCharacter = _200C_206B_206C_202A_206C_202C_206A_200D_206F_202A_202E_206C_202A_200B_206D_200E_202A_206D_200D_202E_206C_202B_206A_206C_202D_202B_206C_206B_200E_202E_206A_200F_200E_206A_206F_202A_202C_206F_202E_206F_202E(_objectTable); - int num = (autoDutyIpc.IsConfiguredToRunLevelingMode((playerCharacter != null) ? _202C_206F_200F_202A_202A_206B_206D_206D_200F_206F_200B_202A_206C_206E_206C_206F_200F_206F_200D_206F_206A_206F_202E_206F_202C_200F_202D_206C_206C_202C_202B_206C_200D_202C_200C_202D_200D_206F_206D_202C_202E((ICharacter)playerCharacter) : 0) ? 107554743 : 107554740); - while (true) + if (!_autoDutyIpc.IsConfiguredToRunLevelingMode(_objectTable.LocalPlayer?.Level ?? 0)) { - int num2 = num; - int num3 = 107554741; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_006a; - case 1: - return false; - case 2: - return _autoDutyIpc.StartLevelingMode(); - } - continue; - IL_006a: - num = 107554740; + return false; } + return _autoDutyIpc.StartLevelingMode(); } private bool StopLevelingMode() @@ -1593,17 +637,15 @@ internal sealed class QuestionableIpc : IDisposable return _autoDutyIpc.Stop(); } - [MethodImpl(MethodImplOptions.NoInlining)] private void RegisterMetaIpc() { - Register(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2128629030), () => ((int, int))ApiVersion); + Register("Questionable.ApiVersion", () => ((int, int))ApiVersion); } - [MethodImpl(MethodImplOptions.NoInlining)] private void RegisterMsqPriorityIpc() { - Register(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(1584443572), GetMsqPriorityMode); - Register(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(1319735175), SetMsqPriorityMode); + Register("Questionable.GetMsqPriorityMode", GetMsqPriorityMode); + Register("Questionable.SetMsqPriorityMode", SetMsqPriorityMode); } private int GetMsqPriorityMode() @@ -1613,73 +655,42 @@ internal sealed class QuestionableIpc : IDisposable private bool SetMsqPriorityMode(int mode) { - int num = (_202D_200C_206C_202C_206A_202D_200F_200C_200C_206C_206F_200C_202B_200E_202D_200B_202B_200C_206E_200E_206D_206E_206A_202B_206A_206D_206D_206B_206C_206E_206A_200E_202E_200B_200B_202E_200D_206D_202C_206F_202E(_206F_202E_202C_206D_206E_206A_200C_200E_206E_206E_206C_200F_206D_202C_206E_200C_206D_206C_206E_206E_206D_206A_202D_202C_200D_206E_206A_202B_202C_202C_200F_200C_200F_206B_202E_202B_202B_202D_206D_200D_202E(typeof(Configuration.EMsqPriorityMode).TypeHandle), (object)mode) ? 996305117 : 996305116); - while (true) + if (!Enum.IsDefined(typeof(Configuration.EMsqPriorityMode), mode)) { - int num2 = num; - int num3 = 996305117; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - _configuration.General.MsqPriority = (Configuration.EMsqPriorityMode)mode; - _200C_202B_206C_202C_202B_200E_206E_202B_206E_200B_202B_200D_200D_206F_206E_200C_200C_200E_206D_202B_200B_206B_206E_200F_200F_206D_206F_206E_200F_200E_202B_200C_202A_206D_206C_202D_206A_202C_206B_206C_202E(_pluginInterface, (IPluginConfiguration)_configuration); - return true; - case 1: - return false; - case 2: - goto IL_007b; - } - continue; - IL_007b: - num = 996305116; + return false; } + _configuration.General.MsqPriority = (Configuration.EMsqPriorityMode)mode; + _pluginInterface.SavePluginConfig(_configuration); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] private void RegisterPriorityQuestIpc() { - Register(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(656046441), ImportQuestPriority); - Register(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(-2131076108), AddQuestPriority); - Register(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1097084822), ClearQuestPriority); - Register(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(-967816125), InsertQuestPriority); - Register(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(-1016325483), _manualPriorityComponent.EncodeQuestPriority); - Register(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1614761), GetPriorityQuests); - Register(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-111599131), RemovePriorityQuest); - Register(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(-1155729665), ReorderPriorityQuest); - Register(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(-983485644), GetAvailablePresets); - Register>(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(819753663), GetPresetQuests); - Register(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(426331559), AddPresetToPriority); - Register(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(712685081), IsPresetAvailable); - Register(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1861068734), IsQuestInPriority); - Register(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(927613685), GetQuestPriorityIndex); - Register(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(-1967016769), HasAvailablePriorityQuests); + Register("Questionable.ImportQuestPriority", ImportQuestPriority); + Register("Questionable.AddQuestPriority", AddQuestPriority); + Register("Questionable.ClearQuestPriority", ClearQuestPriority); + Register("Questionable.InsertQuestPriority", InsertQuestPriority); + Register("Questionable.ExportQuestPriority", _manualPriorityComponent.EncodeQuestPriority); + Register("Questionable.GetPriorityQuests", GetPriorityQuests); + Register("Questionable.RemovePriorityQuest", RemovePriorityQuest); + Register("Questionable.ReorderPriorityQuest", ReorderPriorityQuest); + Register("Questionable.GetAvailablePresets", GetAvailablePresets); + Register>("Questionable.GetPresetQuests", GetPresetQuests); + Register("Questionable.AddPresetToPriority", AddPresetToPriority); + Register("Questionable.IsPresetAvailable", IsPresetAvailable); + Register("Questionable.IsQuestInPriority", IsQuestInPriority); + Register("Questionable.GetQuestPriorityIndex", GetQuestPriorityIndex); + Register("Questionable.HasAvailablePriorityQuests", HasAvailablePriorityQuests); } private bool ImportQuestPriority(string encodedQuestPriority) { List list = ManualPriorityComponent.DecodeQuestPriority(encodedQuestPriority); - int num = ((list.Count <= 0) ? (-1795566929) : (-1795566932)); - while (true) + if (list.Count > 0) { - int num2 = num; - int num3 = -1795566930; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return false; - case 2: - return _questController.ImportQuestPriority(list); - case 0: - goto IL_005f; - } - continue; - IL_005f: - num = -1795566932; + return _questController.ImportQuestPriority(list); } + return false; } private bool ClearQuestPriority() @@ -1690,254 +701,81 @@ internal sealed class QuestionableIpc : IDisposable private bool AddQuestPriority(string questId) { - ElementId elementId = default(ElementId); - int num = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(questId, ref elementId)) ? 75745772 : 75745773); - while (true) + if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null && _questRegistry.IsKnownQuest(elementId)) { - int num2 = num; - int num3 = 75745772; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = ((!_questRegistry.IsKnownQuest(elementId)) ? 75745772 : 75745768); - break; - case 0: - return false; - case 3: - num = 75745773; - break; - case 4: - return _questController.AddQuestPriority(elementId); - case 1: - num = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(elementId, (ElementId)null)) ? 75745772 : 75745774); - break; - } + return _questController.AddQuestPriority(elementId); } + return false; } private bool InsertQuestPriority(int index, string questId) { - ElementId elementId = default(ElementId); - int num = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(questId, ref elementId)) ? 1449771337 : 1449771336); - while (true) + if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null && _questRegistry.IsKnownQuest(elementId)) { - int num2 = num; - int num3 = 1449771339; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return false; - case 4: - num = ((!_questRegistry.IsKnownQuest(elementId)) ? 1449771337 : 1449771338); - break; - case 3: - num = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(elementId, (ElementId)null)) ? 1449771337 : 1449771343); - break; - case 0: - num = 1449771336; - break; - case 1: - return _questController.InsertQuestPriority(index, elementId); - } + return _questController.InsertQuestPriority(index, elementId); } + return false; } private List GetPriorityQuests() { - return _questController.ManualPriorityQuests.Select((Quest q) => _003C_003Ec._206C_206D_206E_202E_206E_202C_200C_200B_200C_200B_200B_200C_200E_202A_206A_206E_202B_206E_206C_206F_200B_206C_200F_202C_202E_202C_206B_200F_202B_202A_200E_200B_200E_202D_200F_202C_200D_202D_200F_200E_202E((object)q.Id)).ToList(); + return _questController.ManualPriorityQuests.Select((Quest q) => q.Id.ToString()).ToList(); } private bool RemovePriorityQuest(string questId) { - ElementId elementId = default(ElementId); - int num = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(questId, ref elementId)) ? 382437358 : 382437359); - Quest quest = default(Quest); - while (true) + if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null) { - int num2 = num; - int num3 = 382437358; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + Quest quest = _questController.ManualPriorityQuests.FirstOrDefault((Quest q) => q.Id.Equals(elementId)); + if (quest != null) { - case 4: - quest = _questController.ManualPriorityQuests.FirstOrDefault((Quest q) => _003C_003Ec__DisplayClass104_0._206A_206C_206B_200B_206A_200B_202C_202E_200C_206B_206B_200F_200D_202C_206D_202B_200D_200F_202E_202E_206F_202B_202D_206A_200F_200F_206F_202C_202E_206D_206A_202D_206D_200B_200C_206B_202E_202B_200F_200F_202E(q.Id, elementId)); - num = ((quest == null) ? 382437358 : 382437357); - break; - case 1: - num = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(elementId, (ElementId)null)) ? 382437358 : 382437354); - break; - case 3: _questController.ManualPriorityQuests.Remove(quest); _questController.SavePriorityQuests(); return true; - case 2: - num = 382437359; - break; - case 0: - return false; } } + return false; } private bool ReorderPriorityQuest(string questId, int newIndex) { - ElementId elementId = default(ElementId); - int num = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(questId, ref elementId)) ? (-939689696) : (-939689689)); - Quest quest = default(Quest); - while (true) + if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null) { - int num2 = num; - int num3 = -939689695; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + Quest quest = _questController.ManualPriorityQuests.FirstOrDefault((Quest q) => q.Id.Equals(elementId)); + if (quest != null && newIndex >= 0 && newIndex < _questController.ManualPriorityQuests.Count) { - case 4: - quest = _questController.ManualPriorityQuests.FirstOrDefault((Quest q) => _003C_003Ec__DisplayClass105_0._200F_202C_206E_206D_200E_206D_206C_202D_202D_202D_200B_200F_202B_202C_200C_202A_200E_200F_200C_200B_202D_206F_206E_202A_202D_200D_202E_202C_200E_200D_206C_202C_200B_206D_202B_206D_206F_200C_206F_206F_202E(q.Id, elementId)); - num = ((quest == null) ? (-939689696) : (-939689694)); - break; - case 6: - num = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(elementId, (ElementId)null)) ? (-939689696) : (-939689691)); - break; - case 1: - return false; - case 2: _questController.ManualPriorityQuests.Remove(quest); _questController.ManualPriorityQuests.Insert(newIndex, quest); _questController.SavePriorityQuests(); return true; - case 5: - num = ((newIndex >= _questController.ManualPriorityQuests.Count) ? (-939689696) : (-939689693)); - break; - case 0: - num = -939689689; - break; - case 3: - num = ((newIndex < 0) ? (-939689696) : (-939689692)); - break; } } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private List GetAvailablePresets() { - return new List - { - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(305232177), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1294966414) - }; + return new List { "crystal_tower", "hard_primals" }; } - [MethodImpl(MethodImplOptions.NoInlining)] private List GetPresetQuests(string presetName) { - int num = (_206D_206E_202E_202E_200D_200D_202B_200D_206D_206E_202D_202A_206C_202D_206C_200F_202C_206E_202E_200D_206A_202A_206F_202C_202C_200E_200E_202B_200E_200E_200C_206E_206F_202A_206C_200E_200F_206E_200C_200E_202E(presetName, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1905885778)) ? (-1419346625) : (-1419346631)); - List source = default(List); - while (true) - { - int num2 = num; - int num3 = -1419346629; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1419346631; - break; - case 4: - source = QuestData.CrystalTowerQuests.Cast().ToList(); - num = -1419346630; - break; - case 1: - return source.Select((ElementId q) => _003C_003Ec._206C_206D_206E_202E_206E_202C_200C_200B_200C_200B_200B_200C_200E_202A_206A_206E_202B_206E_206C_206F_200B_206C_200F_202C_202E_202C_206B_200F_202B_202A_200E_200B_200E_202D_200F_202C_200D_202D_200F_200E_202E((object)q)).ToList(); - case 5: - source = new List(); - num = -1419346630; - break; - case 2: - num = (_206D_206E_202E_202E_200D_200D_202B_200D_206D_206E_202D_202A_206C_202D_206C_200F_202C_206E_202E_200D_206A_202A_206F_202C_202C_200E_200E_202B_200E_200E_200C_206E_206F_202A_206C_200E_200F_206E_200C_200E_202E(presetName, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(158597147)) ? (-1419346632) : (-1419346627)); - break; - case 6: - num = -1419346626; - break; - case 3: - source = QuestData.HardModePrimals.Cast().ToList(); - num = -1419346630; - break; - } - } + List source = ((presetName == "crystal_tower") ? QuestData.CrystalTowerQuests.Cast().ToList() : ((!(presetName == "hard_primals")) ? new List() : QuestData.HardModePrimals.Cast().ToList())); + return source.Select((ElementId q) => q.ToString()).ToList(); } private int AddPresetToPriority(string presetName) { List presetQuests = GetPresetQuests(presetName); int num = 0; - using List.Enumerator enumerator = presetQuests.GetEnumerator(); - int num2 = 1206942101; - _003C_003Ec__DisplayClass108_0 _003C_003Ec__DisplayClass108_ = default(_003C_003Ec__DisplayClass108_0); - while (true) + foreach (string item in presetQuests) { - int num3 = num2; - int num4 = 1206942103; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) + if (ElementId.TryFromString(item, out ElementId elementId) && elementId != null && (_questFunctions.IsReadyToAcceptQuest(elementId) || _questFunctions.IsQuestAccepted(elementId)) && !_questController.ManualPriorityQuests.Any((Quest q) => q.Id.Equals(elementId)) && _questRegistry.IsKnownQuest(elementId) && _questController.AddQuestPriority(elementId)) { - case 0: - num2 = 1206942101; - break; - case 9: - num2 = ((!_questFunctions.IsQuestAccepted(_003C_003Ec__DisplayClass108_.elementId)) ? 1206942097 : 1206942108); - break; - case 3: - { - int num8 = num; - num4 = 1; - num5 = num8; - num = (num5 | num4) + (num5 & num4); - num2 = 1206942101; - break; - } - case 8: - if (_questRegistry.IsKnownQuest(_003C_003Ec__DisplayClass108_.elementId)) - { - num2 = 1206942099; - break; - } - goto case 6; - case 10: - num2 = (_questFunctions.IsReadyToAcceptQuest(_003C_003Ec__DisplayClass108_.elementId) ? 1206942108 : 1206942110); - break; - case 6: - num2 = 1206942101; - break; - case 2: - num2 = (enumerator.MoveNext() ? 1206942096 : 1206942102); - break; - case 5: - num2 = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(_003C_003Ec__DisplayClass108_.elementId, (ElementId)null)) ? 1206942101 : 1206942109); - break; - case 4: - num2 = ((!_questController.AddQuestPriority(_003C_003Ec__DisplayClass108_.elementId)) ? 1206942101 : 1206942100); - break; - case 11: - num2 = (_questController.ManualPriorityQuests.Any(_003C_003Ec__DisplayClass108_._003CAddPresetToPriority_003Eb__0) ? 1206942097 : 1206942111); - break; - case 7: - { - string current = enumerator.Current; - _003C_003Ec__DisplayClass108_ = new _003C_003Ec__DisplayClass108_0(); - num2 = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(current, ref _003C_003Ec__DisplayClass108_.elementId)) ? 1206942101 : 1206942098); - break; - } - case 1: - return num; + num++; } } + return num; } private bool IsPresetAvailable(string presetName) @@ -1947,59 +785,24 @@ internal sealed class QuestionableIpc : IDisposable private bool IsQuestInPriority(string questId) { - ElementId elementId = default(ElementId); - int num = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(questId, ref elementId)) ? 119725107 : 119725104); - while (true) + if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null) { - int num2 = num; - int num3 = 119725105; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = 119725104; - break; - case 1: - num = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(elementId, (ElementId)null)) ? 119725107 : 119725105); - break; - case 2: - return false; - case 0: - return _questController.ManualPriorityQuests.Any((Quest q) => _003C_003Ec__DisplayClass110_0._206B_200E_200D_206D_206F_200F_200C_200D_200B_202E_200B_200C_206E_200F_200B_200E_206A_200D_206D_202C_202B_206B_206C_206F_200C_202B_206A_206A_202D_206E_200F_202C_206D_206C_206C_202C_200E_200D_206B_206A_202E(q.Id, elementId)); - } + return _questController.ManualPriorityQuests.Any((Quest q) => q.Id.Equals(elementId)); } + return false; } private int GetQuestPriorityIndex(string questId) { - ElementId elementId = default(ElementId); - int num = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(questId, ref elementId)) ? (-1944992928) : (-1944992921)); - Quest quest = default(Quest); - while (true) + if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null) { - int num2 = num; - int num3 = -1944992924; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + Quest quest = _questController.ManualPriorityQuests.FirstOrDefault((Quest q) => q.Id.Equals(elementId)); + if (quest != null) { - case 2: - num = -1944992921; - break; - case 1: return _questController.ManualPriorityQuests.IndexOf(quest); - case 3: - num = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(elementId, (ElementId)null)) ? (-1944992928) : (-1944992924)); - break; - case 4: - return -1; - case 0: - quest = _questController.ManualPriorityQuests.FirstOrDefault((Quest q) => _003C_003Ec__DisplayClass111_0._206B_200C_200D_200C_200B_202A_200F_206B_206C_202A_206A_200E_206D_200B_202E_200B_200C_206F_206A_206C_200B_202C_202B_206B_200E_206D_206A_206A_200B_206D_202A_202A_206B_202A_200C_202B_206E_200B_200F_202C_202E(q.Id, elementId)); - num = ((quest == null) ? (-1944992928) : (-1944992923)); - break; } } + return -1; } private bool HasAvailablePriorityQuests() @@ -2007,330 +810,152 @@ internal sealed class QuestionableIpc : IDisposable return _questFunctions.GetNextPriorityQuestsThatCanBeAccepted().Any((PriorityQuestInfo x) => x.IsAvailable); } - [MethodImpl(MethodImplOptions.NoInlining)] private void RegisterQuestStateIpc() { - Register(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1651197002), delegate - { - int num = ((_questController.AutomationType != QuestController.EAutomationType.Manual) ? 1200261431 : 1200261428); - while (true) - { - int num2 = num; - int num3 = 1200261430; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004b; - case 2: - return _questController.IsRunning; - case 1: - return true; - } - continue; - IL_004b: - num = 1200261428; - } - }); - Register(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(1278527463), delegate - { - QuestController.QuestProgress? currentQuest = _questController.CurrentQuest; - return (currentQuest == null) ? null : _202D_206C_206F_206E_200E_206F_206E_200B_202C_202D_200E_202D_202D_200F_206A_202B_206B_206D_200D_206C_202A_206C_206F_206A_202B_206B_206B_200D_200C_206B_202A_206F_206B_202C_206E_202A_200D_206E_202D_200F_202E((object)currentQuest.Quest.Id); - }); - Register(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1450560591), GetStepData); - Register(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(-54425046), GetCurrentTask); - Register(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-181500324), () => (from q in _eventInfoComponent.GetCurrentlyActiveEventQuests() - select _003C_003Ec._206C_206D_206E_202E_206E_202C_200C_200B_200C_200B_200B_200C_200E_202A_206A_206E_202B_206E_206C_206F_200B_206C_200F_202C_202E_202C_206B_200F_202B_202A_200E_200B_200E_202D_200F_202C_200D_202D_200F_200E_202E((object)q)).ToList()); - Register(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(778415138), (string questId) => StartQuest(questId, single: false)); - Register(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(1952123447), (string questId) => StartQuest(questId, single: true)); - Register(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1428092792), IsQuestLocked); - Register(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1628290832), IsQuestComplete); - Register(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1828488872), IsReadyToAcceptQuest); - Register(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(-1830588968), IsQuestAccepted); - Register(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(1245851615), IsQuestUnobtainable); + Register("Questionable.IsRunning", () => _questController.AutomationType != QuestController.EAutomationType.Manual || _questController.IsRunning); + Register("Questionable.GetCurrentQuestId", () => _questController.CurrentQuest?.Quest.Id.ToString()); + Register("Questionable.GetCurrentStepData", GetStepData); + Register("Questionable.GetCurrentTask", GetCurrentTask); + Register("Questionable.GetCurrentlyActiveEventQuests", () => (from q in _eventInfoComponent.GetCurrentlyActiveEventQuests() + select q.ToString()).ToList()); + Register("Questionable.StartQuest", (string questId) => StartQuest(questId, single: false)); + Register("Questionable.StartSingleQuest", (string questId) => StartQuest(questId, single: true)); + Register("Questionable.IsQuestLocked", IsQuestLocked); + Register("Questionable.IsQuestComplete", IsQuestComplete); + Register("Questionable.IsReadyToAcceptQuest", IsReadyToAcceptQuest); + Register("Questionable.IsQuestAccepted", IsQuestAccepted); + Register("Questionable.IsQuestUnobtainable", IsQuestUnobtainable); } - [MethodImpl(MethodImplOptions.NoInlining)] private bool StartQuest(string questId, bool single) { - ElementId elementId = default(ElementId); - int num = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(questId, ref elementId)) ? 2028382427 : 2028382426); - Quest quest = default(Quest); - while (true) + if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null && _questRegistry.TryGetQuest(elementId, out Quest quest)) { - int num2 = num; - int num3 = 2028382431; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _questController.SetNextQuest(quest); + if (single) { - case 4: - return false; - case 5: - num = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(elementId, (ElementId)null)) ? 2028382427 : 2028382430); - break; - case 6: - _questController.StartSingleQuest(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(-1245876374)); - num = 2028382428; - break; - case 7: - num = 2028382426; - break; - case 1: - num = ((!_questRegistry.TryGetQuest(elementId, out quest)) ? 2028382427 : 2028382431); - break; - case 2: - _questController.Start(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(-1245876374)); - num = 2028382428; - break; - case 0: - _questController.SetNextQuest(quest); - num = ((!single) ? 2028382429 : 2028382425); - break; - case 3: - return true; + _questController.StartSingleQuest("IPCQuestSelection"); } + else + { + _questController.Start("IPCQuestSelection"); + } + return true; } + return false; } private StepData? GetStepData() { QuestController.QuestProgress currentQuest = _questController.CurrentQuest; - int num = ((currentQuest != null) ? 1405114099 : 1405114101); - string text = default(string); - QuestStep questStep = default(QuestStep); - while (true) + if (currentQuest == null) { - int num2 = num; - int num3 = 1405114097; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - num = 1405114101; - break; - case 0: - return new StepData - { - QuestId = text, - Sequence = currentQuest.Sequence, - Step = currentQuest.Step, - InteractionType = _200D_206C_202A_202B_206D_202A_202B_206C_202C_206E_202A_206F_202E_200D_200B_206D_206E_202C_206B_206D_206D_202A_200C_200D_200B_200F_200F_202B_206F_202D_206A_200E_202A_206F_202C_202D_202C_200D_200B_202D_202E(questStep).ToString(), - Position = _206F_202B_202A_202A_200B_202D_202E_202D_206D_206E_200B_202D_206C_200E_200C_202B_202D_202A_200E_206D_206D_202C_200D_206B_202B_206C_206A_206B_206D_202E_202B_202E_200E_206F_206C_202E_202B_206B_200C_202C_202E(questStep), - TerritoryId = _202B_202C_200F_200C_206F_200C_200F_202E_200F_206B_206E_206F_206D_202C_202D_200C_200D_200B_206A_206A_200F_206B_200D_206F_200F_206E_200D_200D_202D_202A_200C_206E_200F_200C_200B_200D_206D_200B_206D_202E_202E(questStep) - }; - case 3: - return null; - case 4: - return null; - case 5: - return null; - case 1: - { - QuestSequence? questSequence = currentQuest.Quest.FindSequence(currentQuest.Sequence); - questStep = ((questSequence != null) ? _206A_202B_202B_206B_202D_200C_206E_202B_200B_200E_206E_202D_206B_200C_206D_206D_202B_202B_202A_206B_200B_200F_200D_200E_206B_200E_202A_200D_206B_200D_206B_200E_206D_200D_200B_202C_206B_206C_200F_206F_202E(questSequence, currentQuest.Step) : null); - num = ((questStep != null) ? 1405114097 : 1405114098); - break; - } - case 2: - text = _202D_206C_206F_206E_200E_206F_206E_200B_202C_202D_200E_202D_202D_200F_206A_202B_206B_206D_200D_206C_202A_206C_206F_206A_202B_206B_206B_200D_200C_206B_202A_206F_206B_202C_206E_202A_200D_206E_202D_200F_202E((object)currentQuest.Quest.Id); - num = ((!_206B_202E_202A_202A_206C_206F_200D_206E_200F_200C_206A_200D_206C_200D_200D_202C_206D_206B_202E_202B_206F_202D_200F_206E_200B_200D_206E_200C_206E_200B_206A_202B_202B_206A_206A_200E_206C_202A_200E_200E_202E(text)) ? 1405114096 : 1405114100); - break; - } + return null; } + string text = currentQuest.Quest.Id.ToString(); + if (string.IsNullOrEmpty(text)) + { + return null; + } + QuestStep questStep = currentQuest.Quest.FindSequence(currentQuest.Sequence)?.FindStep(currentQuest.Step); + if (questStep == null) + { + return null; + } + return new StepData + { + QuestId = text, + Sequence = currentQuest.Sequence, + Step = currentQuest.Step, + InteractionType = questStep.InteractionType.ToString(), + Position = questStep.Position, + TerritoryId = questStep.TerritoryId + }; } - [MethodImpl(MethodImplOptions.NoInlining)] private TaskData? GetCurrentTask() { ITask task = _questController.TaskQueue.CurrentTaskExecutor?.CurrentTask; - int num = ((task != null) ? (-66796143) : (-66796144)); - while (true) + if (task == null) { - int num2 = num; - int num3 = -66796143; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_006c; - case 0: - { - int remainingTaskCount = _questController.TaskQueue.RemainingTasks.Count(); - string taskName = _202D_206C_206F_206E_200E_206F_206E_200B_202C_202D_200E_202D_202D_200F_206A_202B_206B_206D_200D_206C_202A_206C_206F_206A_202B_206B_206B_200D_200C_206B_202A_206F_206B_202C_206E_202A_200D_206E_202D_200F_202E((object)task) ?? global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(896879528); - return new TaskData - { - TaskName = taskName, - RemainingTaskCount = remainingTaskCount - }; - } - case 1: - return null; - } - continue; - IL_006c: - num = -66796144; + return null; } + int remainingTaskCount = _questController.TaskQueue.RemainingTasks.Count(); + string taskName = task.ToString() ?? "Unknown"; + return new TaskData + { + TaskName = taskName, + RemainingTaskCount = remainingTaskCount + }; } private bool IsQuestLocked(string questId) { - ElementId elementId = default(ElementId); - int num = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(questId, ref elementId)) ? 1675380547 : 1675380544); - while (true) + if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null && _questRegistry.TryGetQuest(elementId, out Quest _)) { - int num2 = num; - int num3 = 1675380547; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return true; - case 2: - { - num = ((!_questRegistry.TryGetQuest(elementId, out Quest _)) ? 1675380547 : 1675380546); - break; - } - case 3: - num = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(elementId, (ElementId)null)) ? 1675380547 : 1675380545); - break; - case 1: - return _questFunctions.IsQuestLocked(elementId); - case 4: - num = 1675380544; - break; - } + return _questFunctions.IsQuestLocked(elementId); } + return true; } private bool IsQuestComplete(string questId) { - ElementId elementId = default(ElementId); - int num = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(questId, ref elementId)) ? 215071933 : 215071935); - while (true) + if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null) { - int num2 = num; - int num3 = 215071932; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 215071935; - break; - case 0: - return _questFunctions.IsQuestComplete(elementId); - case 3: - num = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(elementId, (ElementId)null)) ? 215071933 : 215071932); - break; - case 1: - return false; - } + return _questFunctions.IsQuestComplete(elementId); } + return false; } private bool IsReadyToAcceptQuest(string questId) { - ElementId elementId = default(ElementId); - int num = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(questId, ref elementId)) ? 657394152 : 657394154); - while (true) + if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null) { - int num2 = num; - int num3 = 657394155; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - return false; - case 1: - num = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(elementId, (ElementId)null)) ? 657394152 : 657394155); - break; - case 2: - num = 657394154; - break; - case 0: - return _questFunctions.IsReadyToAcceptQuest(elementId); - } + return _questFunctions.IsReadyToAcceptQuest(elementId); } + return false; } private bool IsQuestAccepted(string questId) { - ElementId elementId = default(ElementId); - int num = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(questId, ref elementId)) ? 1441677022 : 1441677020); - while (true) + if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null) { - int num2 = num; - int num3 = 1441677022; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return _questFunctions.IsQuestAccepted(elementId); - case 2: - num = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(elementId, (ElementId)null)) ? 1441677022 : 1441677023); - break; - case 0: - return false; - case 3: - num = 1441677020; - break; - } + return _questFunctions.IsQuestAccepted(elementId); } + return false; } private bool IsQuestUnobtainable(string questId) { - ElementId elementId = default(ElementId); - int num = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(questId, ref elementId)) ? 880063755 : 880063754); - while (true) + if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null) { - int num2 = num; - int num3 = 880063755; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = 880063754; - break; - case 0: - return false; - case 2: - return _questFunctions.IsQuestUnobtainable(elementId); - case 1: - num = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(elementId, (ElementId)null)) ? 880063755 : 880063753); - break; - } + return _questFunctions.IsQuestUnobtainable(elementId); } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private void RegisterStopConditionIpc() { - Register(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1849512536), GetStopConditionsEnabled); - Register(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-876401122), SetStopConditionsEnabled); - Register(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1681362035), GetStopQuestList); - Register(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(1342781462), AddStopQuest); - Register(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1952025434), RemoveStopQuest); - Register(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(-2081265786), ClearStopQuests); - Register(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(742108679), GetLevelStopCondition); - Register(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-936353338), SetLevelStopCondition); - Register(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1574710306), GetSequenceStopCondition); - Register(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(983052851), SetSequenceStopCondition); - Register(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2046114732), GetQuestSequenceStopCondition); - Register(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(-1246040365), SetQuestSequenceStopCondition); - Register(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-160497028), RemoveQuestSequenceStopCondition); - Register(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(-525039826), GetAllQuestSequenceStopConditions); - Register(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(1214500866), GetLevelStopMode); - Register(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(1385252493), SetLevelStopMode); - Register(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(-422357), GetSequenceStopMode); - Register(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(1802816950), SetSequenceStopMode); - Register(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-771746198), GetQuestStopMode); - Register(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1741033299), SetQuestStopMode); + Register("Questionable.GetStopConditionsEnabled", GetStopConditionsEnabled); + Register("Questionable.SetStopConditionsEnabled", SetStopConditionsEnabled); + Register("Questionable.GetStopQuestList", GetStopQuestList); + Register("Questionable.AddStopQuest", AddStopQuest); + Register("Questionable.RemoveStopQuest", RemoveStopQuest); + Register("Questionable.ClearStopQuests", ClearStopQuests); + Register("Questionable.GetLevelStopCondition", GetLevelStopCondition); + Register("Questionable.SetLevelStopCondition", SetLevelStopCondition); + Register("Questionable.GetSequenceStopCondition", GetSequenceStopCondition); + Register("Questionable.SetSequenceStopCondition", SetSequenceStopCondition); + Register("Questionable.GetQuestSequenceStopCondition", GetQuestSequenceStopCondition); + Register("Questionable.SetQuestSequenceStopCondition", SetQuestSequenceStopCondition); + Register("Questionable.RemoveQuestSequenceStopCondition", RemoveQuestSequenceStopCondition); + Register("Questionable.GetAllQuestSequenceStopConditions", GetAllQuestSequenceStopConditions); + Register("Questionable.GetLevelStopMode", GetLevelStopMode); + Register("Questionable.SetLevelStopMode", SetLevelStopMode); + Register("Questionable.GetSequenceStopMode", GetSequenceStopMode); + Register("Questionable.SetSequenceStopMode", SetSequenceStopMode); + Register("Questionable.GetQuestStopMode", GetQuestStopMode); + Register("Questionable.SetQuestStopMode", SetQuestStopMode); } private bool GetStopConditionsEnabled() @@ -2341,89 +966,50 @@ internal sealed class QuestionableIpc : IDisposable private bool SetStopConditionsEnabled(bool enabled) { _configuration.Stop.Enabled = enabled; - _200C_202B_206C_202C_202B_200E_206E_202B_206E_200B_202B_200D_200D_206F_206E_200C_200C_200E_206D_202B_200B_206B_206E_200F_200F_206D_206F_206E_200F_200E_202B_200C_202A_206D_206C_202D_206A_202C_206B_206C_202E(_pluginInterface, (IPluginConfiguration)_configuration); + _pluginInterface.SavePluginConfig(_configuration); return true; } private List GetStopQuestList() { return (from c in _configuration.Stop.Conditions.OfType() - select _003C_003Ec._206C_206D_206E_202E_206E_202C_200C_200B_200C_200B_200B_200C_200E_202A_206A_206E_202B_206E_206C_206F_200B_206C_200F_202C_202E_202C_206B_200F_202B_202A_200E_200B_200E_202D_200F_202C_200D_202D_200F_200E_202E((object)c.QuestId)).ToList(); + select c.QuestId.ToString()).ToList(); } private bool AddStopQuest(string questId) { - ElementId elementId = default(ElementId); - int num = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(questId, ref elementId)) ? (-1309115989) : (-1309115992)); - while (true) + if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null && _questRegistry.IsKnownQuest(elementId) && !_configuration.Stop.Conditions.OfType().Any((QuestCompleteCondition c) => c.QuestId.Equals(elementId))) { - int num2 = num; - int num3 = -1309115989; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _configuration.Stop.Conditions.Add(new QuestCompleteCondition { - case 2: - num = -1309115992; - break; - case 0: - return false; - case 3: - num = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(elementId, (ElementId)null)) ? (-1309115989) : (-1309115985)); - break; - case 1: - num = (_configuration.Stop.Conditions.OfType().Any((QuestCompleteCondition c) => _003C_003Ec__DisplayClass158_0._202E_206B_200B_200F_202E_206D_202C_202E_202E_200B_200E_206D_206B_200B_202E_202E_206C_202A_200C_202C_206F_206F_202E_206C_200D_206F_206E_202B_200D_202B_206B_202C_200D_200D_206E_202B_202D_206C_200F_206B_202E(c.QuestId, elementId)) ? (-1309115989) : (-1309115986)); - break; - case 5: - _configuration.Stop.Conditions.Add(new QuestCompleteCondition - { - QuestId = elementId, - Mode = EStopConditionMode.Stop - }); - _200C_202B_206C_202C_202B_200E_206E_202B_206E_200B_202B_200D_200D_206F_206E_200C_200C_200E_206D_202B_200B_206B_206E_200F_200F_206D_206F_206E_200F_200E_202B_200C_202A_206D_206C_202D_206A_202C_206B_206C_202E(_pluginInterface, (IPluginConfiguration)_configuration); - return true; - case 4: - num = ((!_questRegistry.IsKnownQuest(elementId)) ? (-1309115989) : (-1309115990)); - break; - } + QuestId = elementId, + Mode = EStopConditionMode.Stop + }); + _pluginInterface.SavePluginConfig(_configuration); + return true; } + return false; } private bool RemoveStopQuest(string questId) { - ElementId elementId = default(ElementId); - int num = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(questId, ref elementId)) ? (-1553255795) : (-1553255794)); - QuestCompleteCondition questCompleteCondition = default(QuestCompleteCondition); - while (true) + if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null) { - int num2 = num; - int num3 = -1553255793; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + QuestCompleteCondition questCompleteCondition = _configuration.Stop.Conditions.OfType().FirstOrDefault((QuestCompleteCondition c) => c.QuestId.Equals(elementId)); + if (questCompleteCondition != null) { - case 3: - questCompleteCondition = _configuration.Stop.Conditions.OfType().FirstOrDefault((QuestCompleteCondition c) => _003C_003Ec__DisplayClass159_0._202B_206F_202A_200F_200E_206D_202B_206F_200C_200C_206E_206D_206C_202E_202C_206D_206D_202A_200B_202C_206F_202E_200B_206C_200C_206E_200C_206E_206D_202C_206D_202A_200D_200F_200C_200B_200C_200B_206C_202E_202E(c.QuestId, elementId)); - num = ((questCompleteCondition == null) ? (-1553255795) : (-1553255797)); - break; - case 2: - return false; - case 4: _configuration.Stop.Conditions.Remove(questCompleteCondition); - _200C_202B_206C_202C_202B_200E_206E_202B_206E_200B_202B_200D_200D_206F_206E_200C_200C_200E_206D_202B_200B_206B_206E_200F_200F_206D_206F_206E_200F_200E_202B_200C_202A_206D_206C_202D_206A_202C_206B_206C_202E(_pluginInterface, (IPluginConfiguration)_configuration); + _pluginInterface.SavePluginConfig(_configuration); return true; - case 0: - num = -1553255794; - break; - case 1: - num = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(elementId, (ElementId)null)) ? (-1553255795) : (-1553255796)); - break; } } + return false; } private bool ClearStopQuests() { _configuration.Stop.Conditions.RemoveAll((StopCondition c) => c is QuestCompleteCondition); - _200C_202B_206C_202C_202B_200E_206E_202B_206E_200B_202B_200D_200D_206F_206E_200C_200C_200E_206D_202B_200B_206B_206E_200F_200F_206D_206F_206E_200F_200E_202B_200C_202A_206D_206C_202D_206A_202C_206B_206C_202E(_pluginInterface, (IPluginConfiguration)_configuration); + _pluginInterface.SavePluginConfig(_configuration); return true; } @@ -2439,57 +1025,33 @@ internal sealed class QuestionableIpc : IDisposable private bool SetLevelStopCondition(bool enabled, int targetLevel) { - int num = ((targetLevel < 1) ? 1685987986 : 1685987992); - LevelCondition levelCondition = default(LevelCondition); - while (true) + if (targetLevel < 1 || targetLevel > 100) { - int num2 = num; - int num3 = 1685987995; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return false; + } + LevelCondition levelCondition = _configuration.Stop.Conditions.OfType().FirstOrDefault(); + if (!enabled) + { + if (levelCondition != null) { - case 7: - num = 1685987992; - break; - case 5: - _200C_202B_206C_202C_202B_200E_206E_202B_206E_200B_202B_200D_200D_206F_206E_200C_200C_200E_206D_202B_200B_206B_206E_200F_200F_206D_206F_206E_200F_200E_202B_200C_202A_206D_206C_202D_206A_202C_206B_206C_202E(_pluginInterface, (IPluginConfiguration)_configuration); - return true; - case 9: - return false; - case 8: - levelCondition = _configuration.Stop.Conditions.OfType().FirstOrDefault(); - num = (enabled ? 1685987997 : 1685987994); - break; - case 0: - levelCondition.TargetLevel = targetLevel; - levelCondition.Mode = EStopConditionMode.Stop; - num = 1685987998; - break; - case 6: - num = ((levelCondition == null) ? 1685987999 : 1685987995); - break; - case 2: _configuration.Stop.Conditions.Remove(levelCondition); - num = 1685987998; - break; - case 1: - num = ((levelCondition == null) ? 1685987998 : 1685987993); - break; - case 4: - _configuration.Stop.Conditions.Add(new LevelCondition - { - TargetLevel = targetLevel, - Mode = EStopConditionMode.Stop - }); - num = 1685987998; - break; - case 3: - num = ((targetLevel <= 100) ? 1685987987 : 1685987986); - break; } } + else if (levelCondition != null) + { + levelCondition.TargetLevel = targetLevel; + levelCondition.Mode = EStopConditionMode.Stop; + } + else + { + _configuration.Stop.Conditions.Add(new LevelCondition + { + TargetLevel = targetLevel, + Mode = EStopConditionMode.Stop + }); + } + _pluginInterface.SavePluginConfig(_configuration); + return true; } private StopConditionData GetSequenceStopCondition() @@ -2504,202 +1066,96 @@ internal sealed class QuestionableIpc : IDisposable private bool SetSequenceStopCondition(bool enabled, int targetSequence) { - int num = ((targetSequence < 0) ? (-94191843) : (-94191855)); - GlobalSequenceCondition globalSequenceCondition = default(GlobalSequenceCondition); - while (true) + if (targetSequence < 0 || targetSequence > 255) { - int num2 = num; - int num3 = -94191851; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return false; + } + GlobalSequenceCondition globalSequenceCondition = _configuration.Stop.Conditions.OfType().FirstOrDefault(); + if (!enabled) + { + if (globalSequenceCondition != null) { - case 5: _configuration.Stop.Conditions.Remove(globalSequenceCondition); - num = -94191854; - break; - case 4: - num = ((targetSequence <= 255) ? (-94191852) : (-94191843)); - break; - case 0: - num = -94191855; - break; - case 8: - return false; - case 6: - _configuration.Stop.Conditions.Add(new GlobalSequenceCondition - { - TargetSequence = targetSequence, - Mode = EStopConditionMode.Stop - }); - num = -94191854; - break; - case 7: - _200C_202B_206C_202C_202B_200E_206E_202B_206E_200B_202B_200D_200D_206F_206E_200C_200C_200E_206D_202B_200B_206B_206E_200F_200F_206D_206F_206E_200F_200E_202B_200C_202A_206D_206C_202D_206A_202C_206B_206C_202E(_pluginInterface, (IPluginConfiguration)_configuration); - return true; - case 9: - num = ((globalSequenceCondition == null) ? (-94191853) : (-94191850)); - break; - case 2: - num = ((globalSequenceCondition == null) ? (-94191854) : (-94191856)); - break; - case 1: - globalSequenceCondition = _configuration.Stop.Conditions.OfType().FirstOrDefault(); - num = (enabled ? (-94191844) : (-94191849)); - break; - case 3: - globalSequenceCondition.TargetSequence = targetSequence; - globalSequenceCondition.Mode = EStopConditionMode.Stop; - num = -94191854; - break; } } + else if (globalSequenceCondition != null) + { + globalSequenceCondition.TargetSequence = targetSequence; + globalSequenceCondition.Mode = EStopConditionMode.Stop; + } + else + { + _configuration.Stop.Conditions.Add(new GlobalSequenceCondition + { + TargetSequence = targetSequence, + Mode = EStopConditionMode.Stop + }); + } + _pluginInterface.SavePluginConfig(_configuration); + return true; } private int GetQuestSequenceStopCondition(string questId) { - ElementId elementId = default(ElementId); - int num = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(questId, ref elementId)) ? 131272302 : 131272303); - QuestCompleteCondition questCompleteCondition = default(QuestCompleteCondition); - while (true) + if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null) { - int num2 = num; - int num3 = 131272302; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + QuestCompleteCondition questCompleteCondition = _configuration.Stop.Conditions.OfType().FirstOrDefault((QuestCompleteCondition c) => c.QuestId.Equals(elementId)); + if (questCompleteCondition != null) { - case 4: return questCompleteCondition.Sequence ?? (-1); - case 1: - num = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(elementId, (ElementId)null)) ? 131272302 : 131272301); - break; - case 0: - return -1; - case 3: - questCompleteCondition = _configuration.Stop.Conditions.OfType().FirstOrDefault((QuestCompleteCondition c) => _003C_003Ec__DisplayClass165_0._200D_202D_202E_202C_206E_206C_200E_206C_200B_206E_200E_202D_202A_206A_202A_200F_202B_206D_202E_206E_202D_200E_200C_206D_200E_206E_206F_200C_202D_206D_202B_202A_200D_206E_200E_202E_200D_206B_200B_202D_202E(c.QuestId, elementId)); - num = ((questCompleteCondition == null) ? 131272302 : 131272298); - break; - case 2: - num = 131272303; - break; } } + return -1; } private bool SetQuestSequenceStopCondition(string questId, int targetSequence) { - int num = ((targetSequence < 0) ? (-1086145826) : (-1086145828)); - QuestCompleteCondition questCompleteCondition = default(QuestCompleteCondition); - ElementId elementId = default(ElementId); - while (true) + if (targetSequence < 0 || targetSequence > 255) { - int num2 = num; - int num3 = -1086145825; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return false; + } + if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null && _questRegistry.IsKnownQuest(elementId)) + { + QuestCompleteCondition questCompleteCondition = _configuration.Stop.Conditions.OfType().FirstOrDefault((QuestCompleteCondition c) => c.QuestId.Equals(elementId)); + if (questCompleteCondition != null) { - case 9: - questCompleteCondition = _configuration.Stop.Conditions.OfType().FirstOrDefault((QuestCompleteCondition c) => _003C_003Ec__DisplayClass166_0._200D_202A_202A_206C_206B_206A_200D_206B_200C_200C_200B_202C_200F_202A_206F_206A_202B_202D_200E_202A_206F_206C_200F_202B_202C_206E_206A_202A_200C_202D_200E_200D_206F_200D_202A_206E_200C_202B_206C_200D_202E(c.QuestId, elementId)); - num = ((questCompleteCondition == null) ? (-1086145832) : (-1086145833)); - break; - case 5: - return false; - case 8: questCompleteCondition.Sequence = targetSequence; - num = -1086145829; - break; - case 2: - num = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(questId, ref elementId)) ? (-1086145830) : (-1086145831)); - break; - case 6: - num = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(elementId, (ElementId)null)) ? (-1086145830) : (-1086145825)); - break; - case 4: - _200C_202B_206C_202C_202B_200E_206E_202B_206E_200B_202B_200D_200D_206F_206E_200C_200C_200E_206D_202B_200B_206B_206E_200F_200F_206D_206F_206E_200F_200E_202B_200C_202A_206D_206C_202D_206A_202C_206B_206C_202E(_pluginInterface, (IPluginConfiguration)_configuration); - return true; - case 10: - num = -1086145828; - break; - case 3: - num = ((targetSequence <= 255) ? (-1086145827) : (-1086145826)); - break; - case 0: - num = ((!_questRegistry.IsKnownQuest(elementId)) ? (-1086145830) : (-1086145834)); - break; - case 7: + } + else + { _configuration.Stop.Conditions.Add(new QuestCompleteCondition { QuestId = elementId, Sequence = targetSequence, Mode = EStopConditionMode.Stop }); - num = -1086145829; - break; - case 1: - return false; } + _pluginInterface.SavePluginConfig(_configuration); + return true; } + return false; } private bool RemoveQuestSequenceStopCondition(string questId) { - ElementId elementId = default(ElementId); - int num = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(questId, ref elementId)) ? (-1786003914) : (-1786003917)); - QuestCompleteCondition questCompleteCondition = default(QuestCompleteCondition); - while (true) + if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null) { - int num2 = num; - int num3 = -1786003918; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + QuestCompleteCondition questCompleteCondition = _configuration.Stop.Conditions.OfType().FirstOrDefault((QuestCompleteCondition c) => c.QuestId.Equals(elementId) && c.Sequence.HasValue); + if (questCompleteCondition != null) { - case 3: - num = -1786003917; - break; - case 4: - return false; - case 2: - questCompleteCondition = _configuration.Stop.Conditions.OfType().FirstOrDefault(delegate(QuestCompleteCondition c) - { - int num5 = ((!_003C_003Ec__DisplayClass167_0._206A_200B_206E_206B_202B_200C_206D_206A_200F_202C_206C_202B_202C_206F_202C_200C_206C_200B_202A_200E_200C_200B_206D_200D_200C_200F_200B_202B_202B_200E_202D_206B_206E_206F_200D_200D_206A_202A_200E_206C_202E(c.QuestId, elementId)) ? 1186797582 : 1186797583); - while (true) - { - int num6 = num5; - int num7 = 1186797582; - int num8 = num6; - int num9 = num8 + num7; - int num10 = num8 & num7; - switch (num9 - (num10 + num10)) - { - case 2: - goto IL_0053; - case 0: - return false; - case 1: - return c.Sequence.HasValue; - } - continue; - IL_0053: - num5 = 1186797583; - } - }); - num = ((questCompleteCondition == null) ? (-1786003914) : (-1786003918)); - break; - case 0: _configuration.Stop.Conditions.Remove(questCompleteCondition); - _200C_202B_206C_202C_202B_200E_206E_202B_206E_200B_202B_200D_200D_206F_206E_200C_200C_200E_206D_202B_200B_206B_206E_200F_200F_206D_206F_206E_200F_200E_202B_200C_202A_206D_206C_202D_206A_202C_206B_206C_202E(_pluginInterface, (IPluginConfiguration)_configuration); + _pluginInterface.SavePluginConfig(_configuration); return true; - case 1: - num = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(elementId, (ElementId)null)) ? (-1786003914) : (-1786003920)); - break; } } + return false; } private Dictionary GetAllQuestSequenceStopConditions() { return (from c in _configuration.Stop.Conditions.OfType() where c.Sequence.HasValue - select c).ToDictionary((QuestCompleteCondition c) => _003C_003Ec._206C_206D_206E_202E_206E_202C_200C_200B_200C_200B_200B_200C_200E_202A_206A_206E_202B_206E_206C_206F_200B_206C_200F_202C_202E_202C_206B_200F_202B_202A_200E_200B_200E_202D_200F_202C_200D_202D_200F_200E_202E((object)c.QuestId), (QuestCompleteCondition c) => c.Sequence.Value); + select c).ToDictionary((QuestCompleteCondition c) => c.QuestId.ToString(), (QuestCompleteCondition c) => c.Sequence.Value); } private int GetLevelStopMode() @@ -2709,53 +1165,32 @@ internal sealed class QuestionableIpc : IDisposable private bool SetLevelStopMode(int mode) { - int num = (_202D_200C_206C_202C_206A_202D_200F_200C_200C_206C_206F_200C_202B_200E_202D_200B_202B_200C_206E_200E_206D_206E_206A_202B_206A_206D_206D_206B_206C_206E_206A_200E_202E_200B_200B_202E_200D_206D_202C_206F_202E(_206F_202E_202C_206D_206E_206A_200C_200E_206E_206E_206C_200F_206D_202C_206E_200C_206D_206C_206E_206E_206D_206A_202D_202C_200D_206E_206A_202B_202C_202C_200F_200C_200F_206B_202E_202B_202B_202D_206D_200D_202E(typeof(EStopConditionMode).TypeHandle), (object)mode) ? (-2038251060) : (-2038251063)); - EStopConditionMode eStopConditionMode = default(EStopConditionMode); - LevelCondition levelCondition = default(LevelCondition); - while (true) + if (!Enum.IsDefined(typeof(EStopConditionMode), mode)) { - int num2 = num; - int num3 = -2038251057; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return false; + } + LevelCondition levelCondition = _configuration.Stop.Conditions.OfType().FirstOrDefault(); + if (mode == 0) + { + if (levelCondition != null) { - case 5: - _configuration.Stop.Conditions.Add(new LevelCondition - { - TargetLevel = 50, - Mode = eStopConditionMode - }); - num = -2038251061; - break; - case 6: - return false; - case 3: - eStopConditionMode = (EStopConditionMode)mode; - levelCondition = _configuration.Stop.Conditions.OfType().FirstOrDefault(); - num = ((eStopConditionMode != EStopConditionMode.Off) ? (-2038251058) : (-2038251059)); - break; - case 4: - _200C_202B_206C_202C_202B_200E_206E_202B_206E_200B_202B_200D_200D_206F_206E_200C_200C_200E_206D_202B_200B_206B_206E_200F_200F_206D_206F_206E_200F_200E_202B_200C_202A_206D_206C_202D_206A_202C_206B_206C_202E(_pluginInterface, (IPluginConfiguration)_configuration); - return true; - case 1: - num = ((levelCondition == null) ? (-2038251062) : (-2038251065)); - break; - case 0: - num = -2038251063; - break; - case 8: - levelCondition.Mode = eStopConditionMode; - num = -2038251061; - break; - case 2: - num = ((levelCondition == null) ? (-2038251061) : (-2038251064)); - break; - case 7: _configuration.Stop.Conditions.Remove(levelCondition); - num = -2038251061; - break; } } + else if (levelCondition != null) + { + levelCondition.Mode = (EStopConditionMode)mode; + } + else + { + _configuration.Stop.Conditions.Add(new LevelCondition + { + TargetLevel = 50, + Mode = (EStopConditionMode)mode + }); + } + _pluginInterface.SavePluginConfig(_configuration); + return true; } private int GetSequenceStopMode() @@ -2765,235 +1200,78 @@ internal sealed class QuestionableIpc : IDisposable private bool SetSequenceStopMode(int mode) { - int num = (_202D_200C_206C_202C_206A_202D_200F_200C_200C_206C_206F_200C_202B_200E_202D_200B_202B_200C_206E_200E_206D_206E_206A_202B_206A_206D_206D_206B_206C_206E_206A_200E_202E_200B_200B_202E_200D_206D_202C_206F_202E(_206F_202E_202C_206D_206E_206A_200C_200E_206E_206E_206C_200F_206D_202C_206E_200C_206D_206C_206E_206E_206D_206A_202D_202C_200D_206E_206A_202B_202C_202C_200F_200C_200F_206B_202E_202B_202B_202D_206D_200D_202E(typeof(EStopConditionMode).TypeHandle), (object)mode) ? (-389123737) : (-389123742)); - GlobalSequenceCondition globalSequenceCondition = default(GlobalSequenceCondition); - EStopConditionMode eStopConditionMode = default(EStopConditionMode); - while (true) + if (!Enum.IsDefined(typeof(EStopConditionMode), mode)) { - int num2 = num; - int num3 = -389123741; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return false; + } + GlobalSequenceCondition globalSequenceCondition = _configuration.Stop.Conditions.OfType().FirstOrDefault(); + if (mode == 0) + { + if (globalSequenceCondition != null) { - case 6: - num = ((globalSequenceCondition == null) ? (-389123740) : (-389123741)); - break; - case 1: - return false; - case 7: - _configuration.Stop.Conditions.Add(new GlobalSequenceCondition - { - TargetSequence = 1, - Mode = eStopConditionMode - }); - num = -389123733; - break; - case 4: - eStopConditionMode = (EStopConditionMode)mode; - globalSequenceCondition = _configuration.Stop.Conditions.OfType().FirstOrDefault(); - num = ((eStopConditionMode != EStopConditionMode.Off) ? (-389123739) : (-389123743)); - break; - case 3: - num = -389123742; - break; - case 5: _configuration.Stop.Conditions.Remove(globalSequenceCondition); - num = -389123733; - break; - case 8: - _200C_202B_206C_202C_202B_200E_206E_202B_206E_200B_202B_200D_200D_206F_206E_200C_200C_200E_206D_202B_200B_206B_206E_200F_200F_206D_206F_206E_200F_200E_202B_200C_202A_206D_206C_202D_206A_202C_206B_206C_202E(_pluginInterface, (IPluginConfiguration)_configuration); - return true; - case 0: - globalSequenceCondition.Mode = eStopConditionMode; - num = -389123733; - break; - case 2: - num = ((globalSequenceCondition == null) ? (-389123733) : (-389123738)); - break; } } + else if (globalSequenceCondition != null) + { + globalSequenceCondition.Mode = (EStopConditionMode)mode; + } + else + { + _configuration.Stop.Conditions.Add(new GlobalSequenceCondition + { + TargetSequence = 1, + Mode = (EStopConditionMode)mode + }); + } + _pluginInterface.SavePluginConfig(_configuration); + return true; } private int GetQuestStopMode(string questId) { - ElementId elementId = default(ElementId); - int num = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(questId, ref elementId)) ? (-72505088) : (-72505087)); - QuestCompleteCondition questCompleteCondition = default(QuestCompleteCondition); - while (true) + if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null) { - int num2 = num; - int num3 = -72505088; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + QuestCompleteCondition questCompleteCondition = _configuration.Stop.Conditions.OfType().FirstOrDefault((QuestCompleteCondition c) => c.QuestId.Equals(elementId)); + if (questCompleteCondition != null) { - case 4: return (int)questCompleteCondition.Mode; - case 1: - num = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(elementId, (ElementId)null)) ? (-72505088) : (-72505085)); - break; - case 0: - return -1; - case 2: - num = -72505087; - break; - case 3: - questCompleteCondition = _configuration.Stop.Conditions.OfType().FirstOrDefault((QuestCompleteCondition c) => _003C_003Ec__DisplayClass173_0._206E_200F_202C_200C_202B_202B_202C_202B_200C_206E_202B_200D_202A_206A_206A_206A_206F_206E_200B_206B_206E_200D_202A_206D_206B_202D_200B_200D_202D_202A_200E_206A_202D_202C_202B_206C_200E_206C_206F_206D_202E(c.QuestId, elementId)); - num = ((questCompleteCondition == null) ? (-72505088) : (-72505084)); - break; } } + return -1; } private bool SetQuestStopMode(string questId, int mode) { - int num = (_202D_200C_206C_202C_206A_202D_200F_200C_200C_206C_206F_200C_202B_200E_202D_200B_202B_200C_206E_200E_206D_206E_206A_202B_206A_206D_206D_206B_206C_206E_206A_200E_202E_200B_200B_202E_200D_206D_202C_206F_202E(_206F_202E_202C_206D_206E_206A_200C_200E_206E_206E_206C_200F_206D_202C_206E_200C_206D_206C_206E_206E_206D_206A_202D_202C_200D_206E_206A_202B_202C_202C_200F_200C_200F_206B_202E_202B_202B_202D_206D_200D_202E(typeof(EStopConditionMode).TypeHandle), (object)mode) ? (-806581776) : (-806581763)); - QuestCompleteCondition questCompleteCondition = default(QuestCompleteCondition); - ElementId elementId = default(ElementId); - EStopConditionMode eStopConditionMode = default(EStopConditionMode); - while (true) + if (!Enum.IsDefined(typeof(EStopConditionMode), mode)) { - int num2 = num; - int num3 = -806581768; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return false; + } + if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null && _questRegistry.IsKnownQuest(elementId)) + { + QuestCompleteCondition questCompleteCondition = _configuration.Stop.Conditions.OfType().FirstOrDefault((QuestCompleteCondition c) => c.QuestId.Equals(elementId)); + if (mode == 0) + { + if (questCompleteCondition != null) + { + _configuration.Stop.Conditions.Remove(questCompleteCondition); + } + } + else if (questCompleteCondition != null) + { + questCompleteCondition.Mode = (EStopConditionMode)mode; + } + else { - case 3: - num = ((questCompleteCondition == null) ? (-806581766) : (-806581774)); - break; - case 12: - _configuration.Stop.Conditions.Remove(questCompleteCondition); - num = -806581762; - break; - case 2: _configuration.Stop.Conditions.Add(new QuestCompleteCondition { QuestId = elementId, - Mode = eStopConditionMode + Mode = (EStopConditionMode)mode }); - num = -806581762; - break; - case 5: - return false; - case 10: - questCompleteCondition.Mode = eStopConditionMode; - num = -806581762; - break; - case 4: - return false; - case 8: - num = ((!_202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(questId, ref elementId)) ? (-806581764) : (-806581767)); - break; - case 1: - num = ((!_200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(elementId, (ElementId)null)) ? (-806581764) : (-806581775)); - break; - case 11: - num = ((questCompleteCondition == null) ? (-806581762) : (-806581772)); - break; - case 9: - num = ((!_questRegistry.IsKnownQuest(elementId)) ? (-806581764) : (-806581761)); - break; - case 6: - _200C_202B_206C_202C_202B_200E_206E_202B_206E_200B_202B_200D_200D_206F_206E_200C_200C_200E_206D_202B_200B_206B_206E_200F_200F_206D_206F_206E_200F_200E_202B_200C_202A_206D_206C_202D_206A_202C_206B_206C_202E(_pluginInterface, (IPluginConfiguration)_configuration); - return true; - case 7: - eStopConditionMode = (EStopConditionMode)mode; - questCompleteCondition = _configuration.Stop.Conditions.OfType().FirstOrDefault((QuestCompleteCondition c) => _003C_003Ec__DisplayClass174_0._202D_202E_202C_202D_200D_200E_206F_202D_202A_206D_202D_206D_200D_202B_200B_206E_206A_206B_202C_202A_200B_206C_202C_206C_202E_206C_202C_200E_202C_202B_202C_200F_206A_206C_202C_200D_206F_200E_206F_206B_202E(c.QuestId, elementId)); - num = ((eStopConditionMode != EStopConditionMode.Off) ? (-806581765) : (-806581773)); - break; - case 0: - num = -806581763; - break; } + _pluginInterface.SavePluginConfig(_configuration); + return true; } - } - - static Type _206F_202E_202C_206D_206E_206A_200C_200E_206E_206E_206C_200F_206D_202C_206E_200C_206D_206C_206E_206E_206D_206A_202D_202C_200D_206E_206A_202B_202C_202C_200F_200C_200F_206B_202E_202B_202B_202D_206D_200D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static bool _202D_200C_206C_202C_206A_202D_200F_200C_200C_206C_206F_200C_202B_200E_202D_200B_202B_200C_206E_200E_206D_206E_206A_202B_206A_206D_206D_206B_206C_206E_206A_200E_202E_200B_200B_202E_200D_206D_202C_206F_202E(Type P_0, object P_1) - { - return Enum.IsDefined(P_0, P_1); - } - - static int _202A_202C_206D_200C_206E_200E_200C_202E_202C_200E_206B_200F_206E_202B_202C_200E_206D_200C_200D_200F_200D_200C_200D_200B_206C_200B_206F_200D_202B_200C_200F_202A_206A_202B_206D_200B_200D_202C_200F_202E_202E(int P_0, int P_1) - { - return Math.Min(P_0, P_1); - } - - static bool _202B_200B_206F_206F_202B_206D_202E_206A_202B_202A_200D_202D_206C_206C_206D_206B_202C_206F_200F_200F_200C_206D_200C_202B_206D_206A_206F_206D_200B_202E_206C_200C_200D_202B_200B_206F_202B_206D_206A_202D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206A_202B_200C_202D_202C_202B_206F_200D_206E_206E_206D_200C_206B_200C_202B_206B_202A_200E_206F_202B_200B_200E_206E_202E_200D_206D_200D_200F_200F_200E_202E_202A_202D_202C_206F_202E_202E_206D_206F_200E_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static bool _202D_202D_202E_202B_200D_200B_202B_206D_200C_206F_202A_200B_202C_202C_200E_200F_200C_202D_206A_206E_206C_202C_200F_206A_206C_206E_200E_202C_200F_202A_200B_206A_202E_202A_206B_206E_200F_200D_206F_202B_202E(string P_0, ref ElementId P_1) - { - return ElementId.TryFromString(P_0, out P_1); - } - - static bool _200E_200E_200D_200F_206F_200D_200B_200F_206E_206F_202C_206C_206E_206B_202E_206D_206D_206C_206F_206E_200E_206C_200F_206C_206C_202E_202E_200B_200E_206C_200B_200E_202E_206D_206D_202E_200C_206A_200B_206B_202E(ElementId P_0, ElementId P_1) - { - return P_0 != P_1; - } - - static void _200C_202B_206C_202C_202B_200E_206E_202B_206E_200B_202B_200D_200D_206F_206E_200C_200C_200E_206D_202B_200B_206B_206E_200F_200F_206D_206F_206E_200F_200E_202B_200C_202A_206D_206C_202D_206A_202C_206B_206C_202E(IDalamudPluginInterface P_0, IPluginConfiguration P_1) - { - P_0.SavePluginConfig(P_1); - } - - static IPlayerCharacter _200C_206B_206C_202A_206C_202C_206A_200D_206F_202A_202E_206C_202A_200B_206D_200E_202A_206D_200D_202E_206C_202B_206A_206C_202D_202B_206C_206B_200E_202E_206A_200F_200E_206A_206F_202A_202C_206F_202E_206F_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static byte _202C_206F_200F_202A_202A_206B_206D_206D_200F_206F_200B_202A_206C_206E_206C_206F_200F_206F_200D_206F_206A_206F_202E_206F_202C_200F_202D_206C_206C_202C_202B_206C_200D_202C_200C_202D_200D_206F_206D_202C_202E(ICharacter P_0) - { - return P_0.Level; - } - - static bool _206D_206E_202E_202E_200D_200D_202B_200D_206D_206E_202D_202A_206C_202D_206C_200F_202C_206E_202E_200D_206A_202A_206F_202C_202C_200E_200E_202B_200E_200E_200C_206E_206F_202A_206C_200E_200F_206E_200C_200E_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - - static string _202D_206C_206F_206E_200E_206F_206E_200B_202C_202D_200E_202D_202D_200F_206A_202B_206B_206D_200D_206C_202A_206C_206F_206A_202B_206B_206B_200D_200C_206B_202A_206F_206B_202C_206E_202A_200D_206E_202D_200F_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _206B_202E_202A_202A_206C_206F_200D_206E_200F_200C_206A_200D_206C_200D_200D_202C_206D_206B_202E_202B_206F_202D_200F_206E_200B_200D_206E_200C_206E_200B_206A_202B_202B_206A_206A_200E_206C_202A_200E_200E_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static QuestStep _206A_202B_202B_206B_202D_200C_206E_202B_200B_200E_206E_202D_206B_200C_206D_206D_202B_202B_202A_206B_200B_200F_200D_200E_206B_200E_202A_200D_206B_200D_206B_200E_206D_200D_200B_202C_206B_206C_200F_206F_202E(QuestSequence P_0, int P_1) - { - return P_0.FindStep(P_1); - } - - static EInteractionType _200D_206C_202A_202B_206D_202A_202B_206C_202C_206E_202A_206F_202E_200D_200B_206D_206E_202C_206B_206D_206D_202A_200C_200D_200B_200F_200F_202B_206F_202D_206A_200E_202A_206F_202C_202D_202C_200D_200B_202D_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static Vector3? _206F_202B_202A_202A_200B_202D_202E_202D_206D_206E_200B_202D_206C_200E_200C_202B_202D_202A_200E_206D_206D_202C_200D_206B_202B_206C_206A_206B_206D_202E_202B_202E_200E_206F_206C_202E_202B_206B_200C_202C_202E(QuestStep P_0) - { - return P_0.Position; - } - - static ushort _202B_202C_200F_200C_206F_200C_200F_202E_200F_206B_206E_206F_206D_202C_202D_200C_200D_200B_206A_206A_200F_206B_200D_206F_200F_206E_200D_200D_202D_202A_200C_206E_200F_200C_200B_200D_206D_200B_206D_202E_202E(QuestStep P_0) - { - return P_0.TerritoryId; - } - - static bool _202E_202D_202A_200B_206C_202D_202D_206E_202D_206E_206D_202B_200E_206F_206F_200D_206F_202C_206E_206F_200E_206D_202D_200D_202C_200B_200B_202C_202A_200F_202B_200E_206E_202B_202C_200F_206A_206F_206F_206E_202E(QuestRoot P_0) - { - return P_0.Disabled; + return false; } } diff --git a/Questionable/Questionable.External/TextAdvanceIpc.cs b/Questionable/Questionable.External/TextAdvanceIpc.cs index bd03a04..8e69b7f 100644 --- a/Questionable/Questionable.External/TextAdvanceIpc.cs +++ b/Questionable/Questionable.External/TextAdvanceIpc.cs @@ -1,5 +1,4 @@ using System; -using System.Runtime.CompilerServices; using Dalamud.Game.ClientState.Conditions; using Dalamud.Plugin; using Dalamud.Plugin.Ipc; @@ -69,7 +68,6 @@ internal sealed class TextAdvanceIpc : IDisposable private readonly ILogger _logger; - [MethodImpl(MethodImplOptions.NoInlining)] public TextAdvanceIpc(IDalamudPluginInterface pluginInterface, IFramework framework, QuestController questController, FateController fateController, SeasonalDutyController seasonalDutyController, AttunementController attunementController, CustomDeliveryController customDeliveryController, Configuration configuration, ICondition condition, ILogger logger) { _framework = framework; @@ -81,160 +79,100 @@ internal sealed class TextAdvanceIpc : IDisposable _configuration = configuration; _condition = condition; _logger = logger; - _isInExternalControl = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-67666831)); - _enableExternalControl = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-228954423)); - _disableExternalControl = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-324739652)); - _pluginName = _202E_200E_200D_200F_206B_200E_200B_206E_200D_206F_202B_200C_200D_200D_206C_206F_202D_200B_202B_206A_202A_206A_202B_206A_200D_202A_206E_200E_206D_200F_206B_206A_206D_206F_200D_206A_202C_200C_202A_206D_202E(pluginInterface); - _202C_206B_206B_206D_200B_200F_206D_202D_206E_206F_202E_202C_200E_206D_206C_200C_202C_200D_206E_200D_202D_202C_200C_202C_206A_200D_206C_200D_206E_202D_202A_200E_206B_202A_206B_200E_206C_206F_206F_202D_202E(_framework, (IFramework.OnUpdateDelegate)OnUpdate); + _isInExternalControl = pluginInterface.GetIpcSubscriber("TextAdvance.IsInExternalControl"); + _enableExternalControl = pluginInterface.GetIpcSubscriber("TextAdvance.EnableExternalControl"); + _disableExternalControl = pluginInterface.GetIpcSubscriber("TextAdvance.DisableExternalControl"); + _pluginName = pluginInterface.InternalName; + _framework.Update += OnUpdate; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Dispose() { - _200B_200C_202D_206D_202B_206C_200B_206C_200C_200D_202C_202D_200D_202E_206C_206C_200F_200B_202B_202A_206C_206E_200D_206E_206A_202E_206D_202E_202B_200F_200F_202C_202B_200D_206B_202A_206D_202D_202C_206E_202E(_framework, (IFramework.OnUpdateDelegate)OnUpdate); + _framework.Update -= OnUpdate; if (_isExternalControlActivated) { try { _disableExternalControl.InvokeFunc(_pluginName); } - catch (IpcError ipcError) + catch (IpcError exception) { - _202A_200F_202C_202B_206C_202C_200D_206A_206D_202C_200D_202E_202E_206B_202D_202B_206B_202B_206A_206A_202E_200E_200E_202B_202B_206A_206A_202E_202D_206C_206A_200E_200B_202B_206C_200F_206F_202E_200B_202E_202E((ILogger)_logger, (Exception)ipcError, 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(1974302231), Array.Empty()); + _logger.LogDebug(exception, "Failed to disable TextAdvance external control during dispose"); } } } - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] private void OnUpdate(IFramework framework) { - int num = ((_202B_202E_206D_202D_206E_200C_200B_200B_200C_206A_200B_200E_202A_200F_202B_200B_206E_206B_202E_206D_200E_200B_206E_206C_206F_202E_200F_206C_206F_200B_206F_206D_200F_200E_200C_200C_206A_206E_206A_202A_202E() >= _ipcRetryAfter) ? 1976969313 : 1976969312); - while (true) + if (Environment.TickCount64 < _ipcRetryAfter) { - int num2 = num; - int num3 = 1976969313; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_004d; - case 1: - return; - case 0: - try - { - OnUpdateInner(); - return; - } - catch (IpcError ipcError) - { - _202A_200F_202C_202B_206C_202C_200D_206A_206D_202C_200D_202E_202E_206B_202D_202B_206B_202B_206A_206A_202E_200E_200E_202B_202B_206A_206A_202E_202D_206C_206A_200E_200B_202B_206C_200F_206F_202E_200B_202E_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1033634384), Array.Empty()); - _ipcRetryAfter = _202B_202E_206D_202D_206E_200C_200B_200B_200C_206A_200B_200E_202A_200F_202B_200B_206E_206B_202E_206D_200E_200B_206E_206C_206F_202E_200F_206C_206F_200B_206F_206D_200F_200E_200C_200C_206A_206E_206A_202A_202E() + 30000; - return; - } - } - continue; - IL_004d: - num = 1976969312; + return; + } + try + { + OnUpdateInner(); + } + catch (IpcError exception) + { + _logger.LogDebug(exception, "TextAdvance IPC call failed"); + _ipcRetryAfter = Environment.TickCount64 + 30000; } } private void OnUpdateInner() { - //Discarded unreachable code: IL_0182 - int num = (_questController.IsRunning ? (-758359221) : (-758359219)); - bool flag = default(bool); - while (true) + bool flag = _questController.IsRunning || _questController.AutomationType != QuestController.EAutomationType.Manual || _fateController.IsRunning || _seasonalDutyController.IsRunning || _attunementController.IsRunning || _customDeliveryController.IsRunning; + if (!_configuration.General.ConfigureTextAdvance || !flag) { - int num2 = num; - int num3 = -758359224; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num7; - switch (num5 - (num6 + num6)) + if (!_isExternalControlActivated) { - case 2: - if (!_isExternalControlActivated) - { - return; - } - goto case 5; - case 5: - num = ((_questController.AutomationType != QuestController.EAutomationType.Manual) ? (-758359221) : (-758359220)); - break; - case 8: - num7 = (_customDeliveryController.IsRunning ? 1 : 0); - goto IL_011a; - case 1: - num = (_seasonalDutyController.IsRunning ? (-758359221) : (-758359218)); - break; - case 0: - num = -758359219; - break; - case 4: - num = (_fateController.IsRunning ? (-758359221) : (-758359223)); - break; - case 3: - num7 = 1; - goto IL_011a; - case 6: - num = (_attunementController.IsRunning ? (-758359221) : (-758359232)); - break; - case 7: - { - if (!flag) - { - num = -758359222; - break; - } - bool cinemaMode = _configuration.General.CinemaMode; - bool flag2 = _206A_202B_202E_200F_202E_206B_200E_200B_206B_206D_206B_200F_206A_206A_206F_202C_202C_206E_206E_206B_206A_200F_200F_202D_200F_206F_206D_202C_202C_200B_202E_202B_206B_200E_206F_202E_200E_200B_200C_202C_202E(_condition, ConditionFlag.OccupiedInCutSceneEvent) || _206A_202B_202E_200F_202E_206B_200E_200B_206B_206D_206B_200F_206A_206A_206F_202C_202C_206E_206E_206B_206A_200F_200F_202D_200F_206F_206D_202C_202C_200B_202E_202B_206B_200E_206F_202E_200E_200B_200C_202C_202E(_condition, ConditionFlag.WatchingCutscene) || _206A_202B_202E_200F_202E_206B_200E_200B_206B_206D_206B_200F_206A_206A_206F_202C_202C_206E_206E_206B_206A_200F_200F_202D_200F_206F_206D_202C_202C_200B_202E_202B_206B_200E_206F_202E_200E_200B_200C_202C_202E(_condition, ConditionFlag.WatchingCutscene78); - bool flag3 = _customDeliveryController.IsRunning && !_questController.IsRunning && _questController.AutomationType == QuestController.EAutomationType.Manual && !_fateController.IsRunning && !_seasonalDutyController.IsRunning && !_attunementController.IsRunning; - bool flag4 = cinemaMode != _lastCinemaModeState || (cinemaMode && flag2 != _lastInCutsceneState) || flag3 != _lastSuppressRequestState; - if (!_isExternalControlActivated) - { - if (!_isInExternalControl.InvokeFunc()) - { - ExternalTerritoryConfig arg = CreateExternalTerritoryConfig(cinemaMode, flag2, flag3); - if (_enableExternalControl.InvokeFunc(_pluginName, arg)) - { - _isExternalControlActivated = true; - _lastCinemaModeState = cinemaMode; - _lastInCutsceneState = flag2; - _lastSuppressRequestState = flag3; - } - } - } - else if (flag4) - { - ExternalTerritoryConfig arg2 = CreateExternalTerritoryConfig(cinemaMode, flag2, flag3); - _enableExternalControl.InvokeFunc(_pluginName, arg2); - _lastCinemaModeState = cinemaMode; - _lastInCutsceneState = flag2; - _lastSuppressRequestState = flag3; - } - return; - } - IL_011a: - flag = (byte)num7 != 0; - num = ((!_configuration.General.ConfigureTextAdvance) ? (-758359222) : (-758359217)); - break; + return; } + try + { + if (_disableExternalControl.InvokeFunc(_pluginName) || !_isInExternalControl.InvokeFunc()) + { + _isExternalControlActivated = false; + } + return; + } + catch (IpcError) + { + _isExternalControlActivated = false; + return; + } + } + bool cinemaMode = _configuration.General.CinemaMode; + bool flag2 = _condition[ConditionFlag.OccupiedInCutSceneEvent] || _condition[ConditionFlag.WatchingCutscene] || _condition[ConditionFlag.WatchingCutscene78]; + bool flag3 = _customDeliveryController.IsRunning && !_questController.IsRunning && _questController.AutomationType == QuestController.EAutomationType.Manual && !_fateController.IsRunning && !_seasonalDutyController.IsRunning && !_attunementController.IsRunning; + bool flag4 = cinemaMode != _lastCinemaModeState || (cinemaMode && flag2 != _lastInCutsceneState) || flag3 != _lastSuppressRequestState; + if (!_isExternalControlActivated) + { + if (!_isInExternalControl.InvokeFunc()) + { + ExternalTerritoryConfig arg = CreateExternalTerritoryConfig(cinemaMode, flag2, flag3); + if (_enableExternalControl.InvokeFunc(_pluginName, arg)) + { + _isExternalControlActivated = true; + _lastCinemaModeState = cinemaMode; + _lastInCutsceneState = flag2; + _lastSuppressRequestState = flag3; + } + } + } + else if (flag4) + { + ExternalTerritoryConfig arg2 = CreateExternalTerritoryConfig(cinemaMode, flag2, flag3); + _enableExternalControl.InvokeFunc(_pluginName, arg2); + _lastCinemaModeState = cinemaMode; + _lastInCutsceneState = flag2; + _lastSuppressRequestState = flag3; } } private static ExternalTerritoryConfig CreateExternalTerritoryConfig(bool cinemaMode, bool inCutscene, bool suppressRequestHandling) { - bool flag = (byte)((uint)((cinemaMode ? 1 : 0) + (inCutscene ? 1 : 0)) - ((cinemaMode || inCutscene) ? 1u : 0u)) != 0; + bool flag = cinemaMode && inCutscene; return new ExternalTerritoryConfig { EnableQuestAccept = true, @@ -248,34 +186,4 @@ internal sealed class TextAdvanceIpc : IDisposable EnableAutoInteract = false }; } - - static string _202E_200E_200D_200F_206B_200E_200B_206E_200D_206F_202B_200C_200D_200D_206C_206F_202D_200B_202B_206A_202A_206A_202B_206A_200D_202A_206E_200E_206D_200F_206B_206A_206D_206F_200D_206A_202C_200C_202A_206D_202E(IDalamudPluginInterface P_0) - { - return P_0.InternalName; - } - - static void _202C_206B_206B_206D_200B_200F_206D_202D_206E_206F_202E_202C_200E_206D_206C_200C_202C_200D_206E_200D_202D_202C_200C_202C_206A_200D_206C_200D_206E_202D_202A_200E_206B_202A_206B_200E_206C_206F_206F_202D_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1) - { - P_0.Update += P_1; - } - - static void _200B_200C_202D_206D_202B_206C_200B_206C_200C_200D_202C_202D_200D_202E_206C_206C_200F_200B_202B_202A_206C_206E_200D_206E_206A_202E_206D_202E_202B_200F_200F_202C_202B_200D_206B_202A_206D_202D_202C_206E_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1) - { - P_0.Update -= P_1; - } - - static void _202A_200F_202C_202B_206C_202C_200D_206A_206D_202C_200D_202E_202E_206B_202D_202B_206B_202B_206A_206A_202E_200E_200E_202B_202B_206A_206A_202E_202D_206C_206A_200E_200B_202B_206C_200F_206F_202E_200B_202E_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogDebug(P_1, P_2, P_3); - } - - static long _202B_202E_206D_202D_206E_200C_200B_200B_200C_206A_200B_200E_202A_200F_202B_200B_206E_206B_202E_206D_200E_200B_206E_206C_206F_202E_200F_206C_206F_200B_206F_206D_200F_200E_200C_200C_206A_206E_206A_202A_202E() - { - return Environment.TickCount64; - } - - static bool _206A_202B_202E_200F_202E_206B_200E_200B_206B_206D_206B_200F_206A_206A_206F_202C_202C_206E_206E_206B_206A_200F_200F_202D_200F_206F_206D_202C_202C_200B_202E_202B_206B_200E_206F_202E_200E_200B_200C_202C_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } } diff --git a/Questionable/Questionable.External/WigglyNavAvailability.cs b/Questionable/Questionable.External/WigglyNavAvailability.cs index d161d87..712ecdf 100644 --- a/Questionable/Questionable.External/WigglyNavAvailability.cs +++ b/Questionable/Questionable.External/WigglyNavAvailability.cs @@ -1,8 +1,5 @@ using System; -using System.Collections.Generic; using System.Linq; -using System.Runtime.CompilerServices; -using System.Threading; using Dalamud.Plugin; using Dalamud.Plugin.Services; using Microsoft.Extensions.Logging; @@ -25,78 +22,16 @@ internal sealed class WigglyNavAvailability : IDisposable private readonly ILogger _logger; - private readonly object _verdictLock = _206B_206F_202A_202D_200B_202E_206F_200F_206E_206E_200C_202E_206B_200B_202B_202A_206A_202A_200C_200B_200B_206E_206C_200B_206C_200F_206B_206B_202C_200C_206A_206F_202C_200F_206D_206B_202A_200C_206C_202E(); + private readonly object _verdictLock = new object(); private volatile bool _isCompatible; private long _lastProbeTicks; - [CompilerGenerated] - private Action? m_CompatibilityChanged; - public bool IsCompatible => _isCompatible; - public event Action? CompatibilityChanged - { - [CompilerGenerated] - add - { - Action action = this.m_CompatibilityChanged; - int num = 1991447574; - while (true) - { - int num2 = num; - int num3 = 1991447575; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1991447574; - break; - case 1: - { - Action action2 = action; - Action value2 = (Action)_206F_202D_202C_206D_200D_200D_206A_202A_200E_202A_206C_206C_206C_202C_206E_202E_202A_202B_202C_202C_202D_202C_200B_206C_206F_202B_200E_206E_202D_206A_200D_200C_202E_206C_206E_200F_202D_206B_200B_202B_202E((Delegate)action2, (Delegate)value); - action = Interlocked.CompareExchange(ref this.m_CompatibilityChanged, value2, action2); - num = (((object)action != action2) ? 1991447574 : 1991447575); - break; - } - case 0: - return; - } - } - } - [CompilerGenerated] - remove - { - Action action = this.m_CompatibilityChanged; - int num = -280781093; - while (true) - { - int num2 = num; - int num3 = -280781094; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -280781093; - break; - case 2: - return; - case 1: - { - Action action2 = action; - Action value2 = (Action)_202C_200B_206A_206E_206D_202D_206B_206E_206C_206A_200F_200C_200B_206B_206C_206F_200D_200E_202A_202E_202E_206C_206F_200F_202D_206E_200C_206F_202E_206E_202A_200C_200E_202B_200C_200E_202B_202D_206F_200C_202E((Delegate)action2, (Delegate)value); - action = Interlocked.CompareExchange(ref this.m_CompatibilityChanged, value2, action2); - num = (((object)action != action2) ? (-280781093) : (-280781096)); - break; - } - } - } - } - } + public event Action? CompatibilityChanged; - [MethodImpl(MethodImplOptions.NoInlining)] public WigglyNavAvailability(IDalamudPluginInterface pluginInterface, WigglyNavIpc wigglyNavIpc, IFramework framework, ILogger logger) { _pluginInterface = pluginInterface; @@ -104,256 +39,62 @@ internal sealed class WigglyNavAvailability : IDisposable _framework = framework; _logger = logger; TryRefreshVerdict(respectThrottle: false); - _206E_206D_206E_200F_202E_206D_206D_200D_200F_202D_202C_200C_200E_206D_202E_206F_200F_200E_200E_200F_206E_202C_200E_202C_206D_202E_202E_206D_202E_202B_200E_200F_206B_206C_202C_206E_206B_202C_202E_202A_202E((ILogger)_logger, 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(65257321), new object[1] { DescribeVerdict(_isCompatible) }); - _206B_202D_200B_202C_200F_202D_202D_202B_206B_200F_200C_202B_200F_202E_202D_206A_202D_206F_202E_200B_206B_202C_200F_202C_206A_200B_202C_202A_206F_202E_200D_200D_206B_202D_200F_206A_200E_202B_200E_206E_202E(_pluginInterface, (IDalamudPluginInterface.ActivePluginsChangedDelegate)OnActivePluginsChanged); - _200B_206F_206C_202B_206B_200B_200B_202B_202D_206F_206E_200F_202D_206E_206B_202B_206F_202D_206E_206C_202A_206C_206F_200D_202E_202B_206F_202B_200B_200F_206B_200B_206C_202A_200D_200F_202E_206F_200C_206A_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkUpdate); + _logger.LogInformation("WigglyNav native surface is {State} at startup", DescribeVerdict(_isCompatible)); + _pluginInterface.ActivePluginsChanged += OnActivePluginsChanged; + _framework.Update += OnFrameworkUpdate; } public void Dispose() { - _200D_206B_200F_206F_200B_206F_200D_202B_200C_202B_200D_202B_200C_206C_200D_202B_200C_202A_202C_200F_202A_202A_200C_200C_206A_202E_202B_206F_202A_206D_202A_202A_202A_206F_200E_206D_206B_202C_200B_206B_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkUpdate); - _200E_200C_202C_200B_202C_200F_206B_202C_202D_202D_200D_206C_206C_202C_200B_200D_206E_206E_206B_206D_202B_200D_200B_200C_206F_202E_200D_200C_202B_206B_202A_200E_206D_200C_202C_206D_200D_200C_202E_206B_202E(_pluginInterface, (IDalamudPluginInterface.ActivePluginsChangedDelegate)OnActivePluginsChanged); + _framework.Update -= OnFrameworkUpdate; + _pluginInterface.ActivePluginsChanged -= OnActivePluginsChanged; } - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] private void OnActivePluginsChanged(IActivePluginsChangedEventArgs args) { - int num = (_200D_202D_202C_200E_206A_200E_202B_206A_206A_202B_200F_202B_206E_206D_206C_206B_206A_200C_206B_200E_200F_206D_206B_202A_206E_202D_206A_202E_202E_202A_206B_200E_200B_206A_206A_200F_206E_206C_206D_206C_202E(args).Contains(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1385994134)) ? (-92936946) : (-92936947)); - while (true) + if (args.AffectedInternalNames.Contains("WigglyNav") && TryRefreshVerdict(respectThrottle: false)) { - int num2 = num; - int num3 = -92936946; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -92936947; - break; - case 3: - return; - case 1: - _206E_206D_206E_200F_202E_206D_206D_200D_200F_202D_202C_200C_200E_206D_202E_206F_200F_200E_200E_200F_206E_202C_200E_202C_206D_202E_202E_206D_202E_202B_200E_200F_206B_206C_202C_206E_206B_202C_202E_202A_202E((ILogger)_logger, 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(1087087773), new object[2] - { - DescribeVerdict(_isCompatible), - _202B_206B_200B_202C_202B_206D_206C_206E_206E_206D_202B_200E_202B_200E_206E_206E_200B_206D_202E_206E_200C_202E_206C_200D_202C_200F_200F_206D_200E_202B_200C_202C_206E_202C_202C_206B_200F_206C_206F_206B_202E(args) - }); - this.CompatibilityChanged?.Invoke(); - return; - case 4: - return; - case 0: - num = (TryRefreshVerdict(respectThrottle: false) ? (-92936945) : (-92936950)); - break; - } + _logger.LogInformation("WigglyNav native surface is now {State} (plugin list change: {Kind})", DescribeVerdict(_isCompatible), args.Kind); + this.CompatibilityChanged?.Invoke(); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void OnFrameworkUpdate(IFramework framework) { - int num = ((!_isCompatible) ? (-1065706762) : (-1065706763)); - while (true) + if (!_isCompatible && TryRefreshVerdict(respectThrottle: true)) { - int num2 = num; - int num3 = -1065706764; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - return; - case 1: - return; - case 0: - _206E_206D_206E_200F_202E_206D_206D_200D_200F_202D_202C_200C_200E_206D_202E_206F_200F_200E_200E_200F_206E_202C_200E_202C_206D_202E_202E_206D_202E_202B_200E_200F_206B_206C_202C_206E_206B_202C_202E_202A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1036219173), new object[1] { DescribeVerdict(_isCompatible) }); - this.CompatibilityChanged?.Invoke(); - return; - case 2: - num = (TryRefreshVerdict(respectThrottle: true) ? (-1065706764) : (-1065706768)); - break; - case 3: - num = -1065706763; - break; - } + _logger.LogInformation("WigglyNav native surface is now {State} (periodic re-probe)", DescribeVerdict(_isCompatible)); + this.CompatibilityChanged?.Invoke(); } } private bool TryRefreshVerdict(bool respectThrottle) { - object verdictLock = _verdictLock; - bool flag = false; - try + lock (_verdictLock) { - _202D_206B_202A_206F_202C_202E_202C_200F_202C_200F_202A_206F_202E_206D_206C_206F_202E_206F_206B_200D_202B_202E_200C_202A_200B_200E_202E_202A_206E_206E_202B_200F_200C_206E_200C_202A_200B_202E_202A_202C_202E(verdictLock, ref flag); - long num = _200D_206F_206B_202C_206E_206F_206B_206E_200B_200D_202D_202E_202E_202A_200C_200E_200D_206A_202C_200F_202C_202B_202C_202D_200B_202A_202B_200F_206D_206D_206F_206D_202A_202A_206A_206E_206A_202D_206B_202C_202E(); - int num2 = ((!respectThrottle) ? 1824469596 : 1824469599); - (int, int)? tuple = default((int, int)?); - bool flag2 = default(bool); - while (true) + long tickCount = Environment.TickCount64; + if (respectThrottle && tickCount - _lastProbeTicks < 5000) { - int num3 = num2; - int num4 = 1824469594; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - int num8; - switch (num6 - (num7 + num7)) - { - case 7: - return false; - case 1: - num8 = 0; - goto IL_008c; - case 3: - num2 = 1824469599; - break; - case 5: - { - long lastProbeTicks = _lastProbeTicks; - long num9 = num; - num2 = ((~(~num9 + lastProbeTicks) >= 5000) ? 1824469596 : 1824469592); - break; - } - case 6: - _lastProbeTicks = num; - tuple = _wigglyNavIpc.TryGetApiVersion(); - num2 = ((!tuple.HasValue) ? 1824469595 : 1824469598); - break; - case 4: - num8 = ((tuple.GetValueOrDefault().Item1 == 1) ? 1 : 0); - goto IL_008c; - case 2: - return false; - case 0: - { - _isCompatible = flag2; - return true; - } - IL_008c: - flag2 = (byte)num8 != 0; - num2 = ((flag2 != _isCompatible) ? 1824469594 : 1824469597); - break; - } + return false; } - } - finally - { - int num2 = ((!flag) ? (-176733866) : (-176733867)); - while (true) + _lastProbeTicks = tickCount; + (int, int)? tuple = _wigglyNavIpc.TryGetApiVersion(); + bool flag = tuple.HasValue && tuple.GetValueOrDefault().Item1 == 1; + if (flag == _isCompatible) { - int num10 = num2; - int num4 = -176733865; - int num5 = num10; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num2 = -176733867; - break; - case 1: - goto end_IL_018f; - case 2: - _206E_202E_206D_202A_200B_206A_206D_206B_206C_202A_206A_200D_200F_200D_202E_200D_206D_202E_200B_202D_200B_206C_206D_206F_200E_200B_200F_202D_202E_202A_202B_200B_202E_206A_206F_200E_200E_200C_206E_202E(verdictLock); - num2 = -176733866; - break; - } - continue; - end_IL_018f: - break; + return false; } + _isCompatible = flag; + return true; } } - [MethodImpl(MethodImplOptions.NoInlining)] private static string DescribeVerdict(bool isCompatible) { - int num = (isCompatible ? (-1280870548) : (-1280870547)); - while (true) + if (!isCompatible) { - int num2 = num; - int num3 = -1280870548; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0041; - case 0: - return global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2037209373); - case 1: - return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(424588411); - } - continue; - IL_0041: - num = -1280870547; + return "unavailable or incompatible"; } - } - - static object _206B_206F_202A_202D_200B_202E_206F_200F_206E_206E_200C_202E_206B_200B_202B_202A_206A_202A_200C_200B_200B_206E_206C_200B_206C_200F_206B_206B_202C_200C_206A_206F_202C_200F_206D_206B_202A_200C_206C_202E() - { - return new object(); - } - - static void _206E_206D_206E_200F_202E_206D_206D_200D_200F_202D_202C_200C_200E_206D_202E_206F_200F_200E_200E_200F_206E_202C_200E_202C_206D_202E_202E_206D_202E_202B_200E_200F_206B_206C_202C_206E_206B_202C_202E_202A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static void _206B_202D_200B_202C_200F_202D_202D_202B_206B_200F_200C_202B_200F_202E_202D_206A_202D_206F_202E_200B_206B_202C_200F_202C_206A_200B_202C_202A_206F_202E_200D_200D_206B_202D_200F_206A_200E_202B_200E_206E_202E(IDalamudPluginInterface P_0, IDalamudPluginInterface.ActivePluginsChangedDelegate P_1) - { - P_0.ActivePluginsChanged += P_1; - } - - static void _200B_206F_206C_202B_206B_200B_200B_202B_202D_206F_206E_200F_202D_206E_206B_202B_206F_202D_206E_206C_202A_206C_206F_200D_202E_202B_206F_202B_200B_200F_206B_200B_206C_202A_200D_200F_202E_206F_200C_206A_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1) - { - P_0.Update += P_1; - } - - static Delegate _206F_202D_202C_206D_200D_200D_206A_202A_200E_202A_206C_206C_206C_202C_206E_202E_202A_202B_202C_202C_202D_202C_200B_206C_206F_202B_200E_206E_202D_206A_200D_200C_202E_206C_206E_200F_202D_206B_200B_202B_202E(Delegate P_0, Delegate P_1) - { - return Delegate.Combine(P_0, P_1); - } - - static Delegate _202C_200B_206A_206E_206D_202D_206B_206E_206C_206A_200F_200C_200B_206B_206C_206F_200D_200E_202A_202E_202E_206C_206F_200F_202D_206E_200C_206F_202E_206E_202A_200C_200E_202B_200C_200E_202B_202D_206F_200C_202E(Delegate P_0, Delegate P_1) - { - return Delegate.Remove(P_0, P_1); - } - - static void _200D_206B_200F_206F_200B_206F_200D_202B_200C_202B_200D_202B_200C_206C_200D_202B_200C_202A_202C_200F_202A_202A_200C_200C_206A_202E_202B_206F_202A_206D_202A_202A_202A_206F_200E_206D_206B_202C_200B_206B_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1) - { - P_0.Update -= P_1; - } - - static void _200E_200C_202C_200B_202C_200F_206B_202C_202D_202D_200D_206C_206C_202C_200B_200D_206E_206E_206B_206D_202B_200D_200B_200C_206F_202E_200D_200C_202B_206B_202A_200E_206D_200C_202C_206D_200D_200C_202E_206B_202E(IDalamudPluginInterface P_0, IDalamudPluginInterface.ActivePluginsChangedDelegate P_1) - { - P_0.ActivePluginsChanged -= P_1; - } - - static IEnumerable _200D_202D_202C_200E_206A_200E_202B_206A_206A_202B_200F_202B_206E_206D_206C_206B_206A_200C_206B_200E_200F_206D_206B_202A_206E_202D_206A_202E_202E_202A_206B_200E_200B_206A_206A_200F_206E_206C_206D_206C_202E(IActivePluginsChangedEventArgs P_0) - { - return P_0.AffectedInternalNames; - } - - static PluginListInvalidationKind _202B_206B_200B_202C_202B_206D_206C_206E_206E_206D_202B_200E_202B_200E_206E_206E_200B_206D_202E_206E_200C_202E_206C_200D_202C_200F_200F_206D_200E_202B_200C_202C_206E_202C_202C_206B_200F_206C_206F_206B_202E(IActivePluginsChangedEventArgs P_0) - { - return P_0.Kind; - } - - static void _202D_206B_202A_206F_202C_202E_202C_200F_202C_200F_202A_206F_202E_206D_206C_206F_202E_206F_206B_200D_202B_202E_200C_202A_200B_200E_202E_202A_206E_206E_202B_200F_200C_206E_200C_202A_200B_202E_202A_202C_202E(object P_0, ref bool P_1) - { - Monitor.Enter(P_0, ref P_1); - } - - static long _200D_206F_206B_202C_206E_206F_206B_206E_200B_200D_202D_202E_202E_202A_200C_200E_200D_206A_202C_200F_202C_202B_202C_202D_200B_202A_202B_200F_206D_206D_206F_206D_202A_202A_206A_206E_206A_202D_206B_202C_202E() - { - return Environment.TickCount64; - } - - static void _206E_202E_206D_202A_200B_206A_206D_206B_206C_202A_206A_200D_200F_200D_202E_200D_206D_202E_200B_202D_200B_206C_206D_206F_200E_200B_200F_202D_202E_202A_202B_200B_202E_206A_206F_200E_200E_200C_206E_202E(object P_0) - { - Monitor.Exit(P_0); + return "compatible"; } } diff --git a/Questionable/Questionable.External/WigglyNavIpc.cs b/Questionable/Questionable.External/WigglyNavIpc.cs index 719a814..f0fbf68 100644 --- a/Questionable/Questionable.External/WigglyNavIpc.cs +++ b/Questionable/Questionable.External/WigglyNavIpc.cs @@ -1,9 +1,6 @@ using System; using System.Collections.Generic; -using System.Diagnostics; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; using System.Threading; using System.Threading.Tasks; using Dalamud.Plugin; @@ -16,265 +13,6 @@ namespace Questionable.External; internal sealed class WigglyNavIpc { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass26_0 - { - public WigglyNavIpc _003C_003E4__this; - - public CancellationToken cancellationToken; - - public PathfindQuery query; - - internal Task? _003CPathfind_003Eb__0() - { - return _003C_003E4__this._pathfind.InvokeFunc(query, cancellationToken); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass31_0 - { - public WigglyNavIpc _003C_003E4__this; - - public Vector3 position; - - public float halfExtentXZ; - - public float halfExtentY; - - internal Vector3? _003CFindNearestMeshPoint_003Eb__0() - { - return _003C_003E4__this._nearestPoint.InvokeFunc(position, _202B_206C_200C_200E_200F_202E_202E_200F_206A_200D_200E_202B_206B_202A_200D_200B_202A_202C_202E_202C_206F_206B_200F_206B_200E_200B_200F_206D_200E_200C_206B_200B_206B_200F_200E_200B_202A_202B_202D_202E_202E(halfExtentXZ, halfExtentY)); - } - - static float _202B_206C_200C_200E_200F_202E_202E_200F_206A_200D_200E_202B_206B_202A_200D_200B_202A_202C_202E_202C_206F_206B_200F_206B_200E_200B_200F_206D_200E_200C_206B_200B_206B_200F_200E_200B_202A_202B_202D_202E_202E(float P_0, float P_1) - { - return MathF.Max(P_0, P_1); - } - } - - [StructLayout(LayoutKind.Auto)] - [CompilerGenerated] - private struct _003CPathfind_003Ed__26 : IAsyncStateMachine - { - public int _003C_003E1__state; - - public AsyncTaskMethodBuilder _003C_003Et__builder; - - public WigglyNavIpc _003C_003E4__this; - - public CancellationToken cancellationToken; - - public Vector3 from; - - public Vector3 to; - - public bool fly; - - public float tolerance; - - private ConfiguredTaskAwaitable.ConfiguredTaskAwaiter _003C_003Eu__1; - - [MethodImpl(MethodImplOptions.NoInlining)] - private void MoveNext() - { - int num = _003C_003E1__state; - WigglyNavIpc wigglyNavIpc = _003C_003E4__this; - PathfindResult result2; - try - { - int num2 = ((num == 0) ? (-1011094235) : (-1011094234)); - _003C_003Ec__DisplayClass26_0 _003C_003Ec__DisplayClass26_ = default(_003C_003Ec__DisplayClass26_0); - ConfiguredTaskAwaitable.ConfiguredTaskAwaiter awaiter = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - Task task = default(Task); - while (true) - { - int num3 = num2; - int num4 = -1011094236; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 0: - num2 = -1011094234; - break; - case 2: - _003C_003Ec__DisplayClass26_ = new _003C_003Ec__DisplayClass26_0 - { - _003C_003E4__this = _003C_003E4__this, - cancellationToken = cancellationToken - }; - _200F_206C_206B_202E_202C_206F_202C_206A_206F_206C_206D_200E_206E_206A_202B_200B_206D_206D_206F_206E_200C_202B_202B_200F_206F_200B_202A_206D_206D_206E_206A_200B_206B_200D_202C_206F_200F_200E_200C_202D_202E(ref wigglyNavIpc._outstandingPathfinds); - num2 = -1011094235; - break; - case 1: - try - { - num2 = ((num == 0) ? 1011479215 : 1011479213); - while (true) - { - int num8 = num2; - num4 = 1011479211; - num5 = num8; - int num9 = num5 + num4; - int num10 = num5 & num4; - switch (num9 - (num10 + num10)) - { - case 4: - awaiter = _003C_003Eu__1; - _003C_003Eu__1 = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - num = (_003C_003E1__state = -1); - num2 = 1011479208; - break; - case 6: - _003C_003Ec__DisplayClass26_.query = new PathfindQuery(from, to, fly, tolerance); - task = Guarded(_003C_003Ec__DisplayClass26_._003CPathfind_003Eb__0); - num2 = ((task != null) ? 1011479209 : 1011479210); - break; - case 1: - _200C_202A_206B_200B_206E_206E_202B_202B_200E_202B_206C_206E_206B_202A_200C_200D_206D_200D_200F_206F_202B_202D_206C_200B_202D_202B_200F_202E_202D_206E_206E_202A_202C_206B_200B_202A_206F_200F_202A_206B_202E((ILogger)wigglyNavIpc._logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(433157232), Array.Empty()); - result2 = EmptyPathfindResult(); - goto end_IL_00bb; - case 5: - num2 = 1011479213; - break; - case 2: - awaiter = task.ConfigureAwait(continueOnCapturedContext: false).GetAwaiter(); - num2 = (awaiter.IsCompleted ? 1011479208 : 1011479211); - break; - case 0: - num = (_003C_003E1__state = 0); - _003C_003Eu__1 = awaiter; - _003C_003Et__builder.AwaitUnsafeOnCompleted(ref awaiter, ref this); - return; - case 3: - { - string result = awaiter.GetResult(); - try - { - PathfindResult pathfindResult = JsonConvert.DeserializeObject(result); - num2 = (((object)pathfindResult == null) ? 1753402747 : 1753402745); - while (true) - { - int num11 = num2; - num4 = 1753402744; - num5 = num11; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num2 = 1753402745; - break; - case 1: - num2 = ((pathfindResult.Waypoints != null) ? 1753402746 : 1753402747); - break; - case 3: - _200C_202A_206B_200B_206E_206E_202B_202B_200E_202B_206C_206E_206B_202A_200C_200D_206D_200D_200F_206F_202B_202D_206C_200B_202D_202B_200F_202E_202D_206E_206E_202A_202C_206B_200B_202A_206F_200F_202A_206B_202E((ILogger)wigglyNavIpc._logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1821206779), Array.Empty()); - result2 = EmptyPathfindResult(); - goto end_IL_024d; - case 2: - result2 = pathfindResult; - goto end_IL_024d; - } - continue; - end_IL_024d: - break; - } - } - catch (JsonException ex) - { - _206B_200D_200C_206C_200B_202B_202D_200B_206E_206F_200F_200D_206A_206B_200E_206B_200D_200C_206D_200F_200E_206B_200F_202A_200E_200E_206C_200D_206C_206B_206A_206F_206F_206B_206F_200B_206E_206F_200F_206F_202E((ILogger)wigglyNavIpc._logger, (Exception)ex, 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(-1517525166), Array.Empty()); - result2 = EmptyPathfindResult(); - } - goto end_IL_00bb; - } - } - continue; - end_IL_00bb: - break; - } - } - finally - { - num2 = ((num >= 0) ? (-420000776) : (-420000773)); - while (true) - { - int num12 = num2; - num4 = -420000774; - num5 = num12; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num2 = -420000773; - break; - case 2: - goto end_IL_032e; - case 1: - _200C_200C_202A_200C_200F_206D_206A_206B_206D_202E_200E_200D_200E_206F_202B_202C_200F_202A_202D_206C_202A_206D_202B_200D_202C_206C_200E_202C_200B_200C_202B_200E_200F_202C_206F_202D_202A_200C_206B_206B_202E(ref wigglyNavIpc._outstandingPathfinds); - num2 = -420000776; - break; - } - continue; - end_IL_032e: - break; - } - } - goto end_IL_002c; - } - continue; - end_IL_002c: - break; - } - } - catch (Exception exception) - { - _003C_003E1__state = -2; - _003C_003Et__builder.SetException(exception); - return; - } - _003C_003E1__state = -2; - _003C_003Et__builder.SetResult(result2); - } - - void IAsyncStateMachine.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - this.MoveNext(); - } - - [DebuggerHidden] - private void SetStateMachine(IAsyncStateMachine stateMachine) - { - _003C_003Et__builder.SetStateMachine(stateMachine); - } - - void IAsyncStateMachine.SetStateMachine(IAsyncStateMachine stateMachine) - { - //ILSpy generated this explicit interface implementation from .override directive in SetStateMachine - this.SetStateMachine(stateMachine); - } - - static int _200F_206C_206B_202E_202C_206F_202C_206A_206F_206C_206D_200E_206E_206A_202B_200B_206D_206D_206F_206E_200C_202B_202B_200F_206F_200B_202A_206D_206D_206E_206A_200B_206B_200D_202C_206F_200F_200E_200C_202D_202E(ref int P_0) - { - return Interlocked.Increment(ref P_0); - } - - static void _200C_202A_206B_200B_206E_206E_202B_202B_200E_202B_206C_206E_206B_202A_200C_200D_206D_200D_200F_206F_202B_202D_206C_200B_202D_202B_200F_202E_202D_206E_206E_202A_202C_206B_200B_202A_206F_200F_202A_206B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static void _206B_200D_200C_206C_200B_202B_202D_200B_206E_206F_200F_200D_206A_206B_200E_206B_200D_200C_206D_200F_200E_206B_200F_202A_200E_200E_206C_200D_206C_206B_206A_206F_206F_206B_206F_200B_206E_206F_200F_206F_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogWarning(P_1, P_2, P_3); - } - - static int _200C_200C_202A_200C_200F_206D_206A_206B_206D_202E_200E_200D_200E_206F_202B_202C_200F_202A_202D_206C_202A_206D_202B_200D_202C_206C_200E_202C_200B_200C_202B_200E_200F_202C_206F_202D_202A_200C_206B_206B_202E(ref int P_0) - { - return Interlocked.Decrement(ref P_0); - } - } - private readonly ILogger _logger; private readonly ICallGateSubscriber<(int, int)> _apiVersion; @@ -301,53 +39,27 @@ internal sealed class WigglyNavIpc public bool IsNavmeshAvailable => TryGetApiVersion().HasValue; - public bool IsReady - { - get - { - NavStatus status = GetStatus(); - int num = (((object)status == null) ? (-1445089980) : (-1445089979)); - while (true) - { - int num2 = num; - int num3 = -1445089980; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0048; - case 0: - return false; - case 1: - return status.Ready; - } - continue; - IL_0048: - num = -1445089979; - } - } - } + public bool IsReady => GetStatus()?.Ready ?? false; public bool IsPathRunning => Guarded(() => _isRunning.InvokeFunc(), fallback: false); - public bool IsPathfindInProgress => _200B_200F_200B_202C_200F_202B_202E_206F_200F_202C_206B_200D_206D_202B_202E_206D_202A_202D_206F_202E_206D_202E_200F_202D_206C_202A_206D_200F_206F_206F_202C_202B_202C_200C_202B_202C_202E_206B_206B_206A_202E(ref _outstandingPathfinds) > 0; + public bool IsPathfindInProgress => Volatile.Read(in _outstandingPathfinds) > 0; - public int NumQueuedPathfindRequests => _202C_202D_202B_202E_206B_200B_206F_206B_206F_200D_206F_202B_202E_202C_200C_200B_202D_202A_206B_206D_206D_206E_202E_206B_206B_206C_206E_200F_202B_202D_202D_202E_206D_200F_202C_202D_202B_206D_202A_206C_202E(0, _200B_200F_200B_202C_200F_202B_202E_206F_200F_202C_206B_200D_206D_202B_202E_206D_202A_202D_206F_202E_206D_202E_200F_202D_206C_202A_206D_200F_206F_206F_202C_202B_202C_200C_202B_202C_202E_206B_206B_206A_202E(ref _outstandingPathfinds) - 1); + public int NumQueuedPathfindRequests => Math.Max(0, Volatile.Read(in _outstandingPathfinds) - 1); - [MethodImpl(MethodImplOptions.NoInlining)] public WigglyNavIpc(IDalamudPluginInterface pluginInterface, ILogger logger) { _logger = logger; - _apiVersion = pluginInterface.GetIpcSubscriber<(int, int)>(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-210373295)); - _status = pluginInterface.GetIpcSubscriber(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(-1180852660)); - _rebuild = pluginInterface.GetIpcSubscriber(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(-1824704594)); - _pathfind = pluginInterface.GetIpcSubscriber>(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1256767723)); - _move = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2010421691)); - _stop = pluginInterface.GetIpcSubscriber(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(1146720717)); - _isRunning = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2133174746)); - _waypoints = pluginInterface.GetIpcSubscriber>(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(206019124)); - _floorPoint = pluginInterface.GetIpcSubscriber(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1729999483)); - _nearestPoint = pluginInterface.GetIpcSubscriber(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(-229973248)); + _apiVersion = pluginInterface.GetIpcSubscriber<(int, int)>("WigglyNav.ApiVersion"); + _status = pluginInterface.GetIpcSubscriber("WigglyNav.V1.Nav.Status"); + _rebuild = pluginInterface.GetIpcSubscriber("WigglyNav.V1.Nav.Rebuild"); + _pathfind = pluginInterface.GetIpcSubscriber>("WigglyNav.V1.Pathfind"); + _move = pluginInterface.GetIpcSubscriber("WigglyNav.V1.Path.Move"); + _stop = pluginInterface.GetIpcSubscriber("WigglyNav.V1.Path.Stop"); + _isRunning = pluginInterface.GetIpcSubscriber("WigglyNav.V1.Path.IsRunning"); + _waypoints = pluginInterface.GetIpcSubscriber>("WigglyNav.V1.Path.Waypoints"); + _floorPoint = pluginInterface.GetIpcSubscriber("WigglyNav.V1.Query.FloorPoint"); + _nearestPoint = pluginInterface.GetIpcSubscriber("WigglyNav.V1.Query.NearestPoint"); } private static T Guarded(Func invoke, T fallback = default(T)) @@ -370,161 +82,53 @@ internal sealed class WigglyNavIpc public int GetBuildProgress() { NavStatus status = GetStatus(); - int num = ((!(status == null)) ? (-1561729010) : (-1561729012)); - while (true) + if (status == null) { - int num2 = num; - int num3 = -1561729009; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - return _200E_200C_202A_206A_202D_206A_200B_200B_200D_206D_202A_206A_202D_202B_206D_200E_202C_202B_206E_206C_200F_202A_206A_202A_206A_200C_206C_206B_202D_202D_206D_202C_200E_206F_206E_200C_206D_202A_206C_202A_202E(status.TilesBuilt * 100 / status.TilesTotal, 0, 100); - case 0: - return 100; - case 1: - num = ((status.TilesTotal <= 0) ? (-1561729014) : (-1561729013)); - break; - case 6: - num = -1561729012; - break; - case 2: - return 0; - case 5: - num = (status.Ready ? (-1561729009) : (-1561729011)); - break; - case 3: - return 0; - } + return 0; } + if (status.TilesTotal > 0) + { + return Math.Clamp(status.TilesBuilt * 100 / status.TilesTotal, 0, 100); + } + if (!status.Ready) + { + return 0; + } + return 100; } public async Task Pathfind(Vector3 from, Vector3 to, bool fly, float tolerance, CancellationToken cancellationToken) { - int num = -1011094234; - _003C_003Ec__DisplayClass26_0 _003C_003Ec__DisplayClass26_ = default(_003C_003Ec__DisplayClass26_0); - ConfiguredTaskAwaitable.ConfiguredTaskAwaiter configuredTaskAwaiter = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - ConfiguredTaskAwaitable.ConfiguredTaskAwaiter configuredTaskAwaiter2 = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - Task task = default(Task); - while (true) + Interlocked.Increment(ref _outstandingPathfinds); + try { - int num2 = num; - int num3 = -1011094236; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + PathfindQuery query = new PathfindQuery(from, to, fly, tolerance); + Task task = Guarded(() => _pathfind.InvokeFunc(query, cancellationToken)); + if (task == null) { - case 0: - num = -1011094234; - break; - case 2: - _003C_003Ec__DisplayClass26_ = new _003C_003Ec__DisplayClass26_0(); - _003C_003Ec__DisplayClass26_._003C_003E4__this = this; - _003C_003Ec__DisplayClass26_.cancellationToken = cancellationToken; - _003CPathfind_003Ed__26._200F_206C_206B_202E_202C_206F_202C_206A_206F_206C_206D_200E_206E_206A_202B_200B_206D_206D_206F_206E_200C_202B_202B_200F_206F_200B_202A_206D_206D_206E_206A_200B_206B_200D_202C_206F_200F_200E_200C_202D_202E(ref _outstandingPathfinds); - num = -1011094235; - break; - case 1: - try - { - num = 1011479213; - while (true) - { - int num7 = num; - num3 = 1011479211; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 4: - configuredTaskAwaiter = configuredTaskAwaiter2; - configuredTaskAwaiter2 = default(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter); - num = 1011479208; - break; - case 6: - _003C_003Ec__DisplayClass26_.query = new PathfindQuery(from, to, fly, tolerance); - task = Guarded(_003C_003Ec__DisplayClass26_._003CPathfind_003Eb__0); - num = ((task != null) ? 1011479209 : 1011479210); - break; - case 1: - _003CPathfind_003Ed__26._200C_202A_206B_200B_206E_206E_202B_202B_200E_202B_206C_206E_206B_202A_200C_200D_206D_200D_200F_206F_202B_202D_206C_200B_202D_202B_200F_202E_202D_206E_206E_202A_202C_206B_200B_202A_206F_200F_202A_206B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(433157232), Array.Empty()); - return EmptyPathfindResult(); - case 5: - num = 1011479213; - break; - case 2: - configuredTaskAwaiter = task.ConfigureAwait(continueOnCapturedContext: false).GetAwaiter(); - num = (configuredTaskAwaiter.IsCompleted ? 1011479208 : 1011479211); - break; - case 0: - await configuredTaskAwaiter; - num = 1011479215; - break; - case 3: - { - string result = configuredTaskAwaiter.GetResult(); - try - { - PathfindResult pathfindResult = JsonConvert.DeserializeObject(result); - num = (((object)pathfindResult == null) ? 1753402747 : 1753402745); - while (true) - { - int num10 = num; - num3 = 1753402744; - num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1753402745; - break; - case 1: - num = ((pathfindResult.Waypoints != null) ? 1753402746 : 1753402747); - break; - case 3: - _003CPathfind_003Ed__26._200C_202A_206B_200B_206E_206E_202B_202B_200E_202B_206C_206E_206B_202A_200C_200D_206D_200D_200F_206F_202B_202D_206C_200B_202D_202B_200F_202E_202D_206E_206E_202A_202C_206B_200B_202A_206F_200F_202A_206B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1821206779), Array.Empty()); - return EmptyPathfindResult(); - case 2: - return pathfindResult; - } - } - } - catch (JsonException ex) - { - _003CPathfind_003Ed__26._206B_200D_200C_206C_200B_202B_202D_200B_206E_206F_200F_200D_206A_206B_200E_206B_200D_200C_206D_200F_200E_206B_200F_202A_200E_200E_206C_200D_206C_206B_206A_206F_206F_206B_206F_200B_206E_206F_200F_206F_202E((ILogger)_logger, (Exception)ex, 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(-1517525166), Array.Empty()); - return EmptyPathfindResult(); - } - } - } - } - } - finally - { - num = -420000773; - while (true) - { - int num11 = num; - num3 = -420000774; - num4 = num11; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -420000773; - break; - case 2: - goto end_IL_032e; - case 1: - _003CPathfind_003Ed__26._200C_200C_202A_200C_200F_206D_206A_206B_206D_202E_200E_200D_200E_206F_202B_202C_200F_202A_202D_206C_202A_206D_202B_200D_202C_206C_200E_202C_200B_200C_202B_200E_200F_202C_206F_202D_202A_200C_206B_206B_202E(ref _outstandingPathfinds); - num = -420000776; - break; - } - continue; - end_IL_032e: - break; - } - } + _logger.LogWarning("Could not pathfind via WigglyNav, the IPC gate is unavailable"); + return EmptyPathfindResult(); } + string value = await task.ConfigureAwait(continueOnCapturedContext: false); + try + { + PathfindResult pathfindResult = JsonConvert.DeserializeObject(value); + if ((object)pathfindResult == null || pathfindResult.Waypoints == null) + { + _logger.LogWarning("WigglyNav pathfind answered a payload with no waypoint list, treating as no path"); + return EmptyPathfindResult(); + } + return pathfindResult; + } + catch (JsonException exception) + { + _logger.LogWarning(exception, "WigglyNav pathfind answered malformed JSON, treating as no path"); + return EmptyPathfindResult(); + } + } + finally + { + Interlocked.Decrement(ref _outstandingPathfinds); } } @@ -556,7 +160,7 @@ internal sealed class WigglyNavIpc public Vector3? FindNearestMeshPoint(Vector3 position, float halfExtentXZ, float halfExtentY) { - return Guarded(() => _nearestPoint.InvokeFunc(position, _003C_003Ec__DisplayClass31_0._202B_206C_200C_200E_200F_202E_202E_200F_206A_200D_200E_202B_206B_202A_200D_200B_202A_202C_202E_202C_206F_206B_200F_206B_200E_200B_200F_206D_200E_200C_206B_200B_206B_200F_200E_200B_202A_202B_202D_202E_202E(halfExtentXZ, halfExtentY))); + return Guarded(() => _nearestPoint.InvokeFunc(position, MathF.Max(halfExtentXZ, halfExtentY))); } public Vector3? FindNearestReachableMeshPoint(Vector3 position, float halfExtentXZ, float halfExtentY) @@ -569,27 +173,11 @@ internal sealed class WigglyNavIpc Rebuild(); } - [MethodImpl(MethodImplOptions.NoInlining)] public void Rebuild() { - int num = (Guarded(() => _rebuild.InvokeFunc(), fallback: false) ? 890598497 : 890598498); - while (true) + if (!Guarded(() => _rebuild.InvokeFunc(), fallback: false)) { - int num2 = num; - int num3 = 890598496; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return; - case 2: - _202D_202D_200D_202C_202A_200E_206D_202D_206A_200F_206B_200C_206D_200F_202C_202E_202A_206D_206E_206E_206A_206F_206E_202A_200D_206D_202C_200D_206D_206B_202C_206E_206D_202A_206C_202A_200F_202C_206A_202C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1801615064), Array.Empty()); - num = 890598497; - break; - case 0: - num = 890598498; - break; - } + _logger.LogWarning("Could not rebuild navmesh via WigglyNav, the request was refused or the gate is unavailable"); } } @@ -598,29 +186,8 @@ internal sealed class WigglyNavIpc return Guarded(() => _status.InvokeFunc()); } - [MethodImpl(MethodImplOptions.NoInlining)] private static PathfindResult EmptyPathfindResult() { - return new PathfindResult(new List(), IsPartial: false, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1706749360), 0f); - } - - static int _200B_200F_200B_202C_200F_202B_202E_206F_200F_202C_206B_200D_206D_202B_202E_206D_202A_202D_206F_202E_206D_202E_200F_202D_206C_202A_206D_200F_206F_206F_202C_202B_202C_200C_202B_202C_202E_206B_206B_206A_202E(ref int P_0) - { - return Volatile.Read(in P_0); - } - - static int _202C_202D_202B_202E_206B_200B_206F_206B_206F_200D_206F_202B_202E_202C_200C_200B_202D_202A_206B_206D_206D_206E_202E_206B_206B_206C_206E_200F_202B_202D_202D_202E_206D_200F_202C_202D_202B_206D_202A_206C_202E(int P_0, int P_1) - { - return Math.Max(P_0, P_1); - } - - static int _200E_200C_202A_206A_202D_206A_200B_200B_200D_206D_202A_206A_202D_202B_206D_200E_202C_202B_206E_206C_200F_202A_206A_202A_206A_200C_206C_206B_202D_202D_206D_202C_200E_206F_206E_200C_206D_202A_206C_202A_202E(int P_0, int P_1, int P_2) - { - return Math.Clamp(P_0, P_1, P_2); - } - - static void _202D_202D_200D_202C_202A_200E_206D_202D_206A_200F_206B_200C_206D_200F_202C_202E_202A_206D_206E_206E_206A_206F_206E_202A_200D_206D_202C_200D_206D_206B_202C_206E_206D_202A_206C_202A_200F_202C_206A_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); + return new PathfindResult(new List(), IsPartial: false, "None", 0f); } } diff --git a/Questionable/Questionable.Functions/AethernetTeleportService.cs b/Questionable/Questionable.Functions/AethernetTeleportService.cs index af18577..2684010 100644 --- a/Questionable/Questionable.Functions/AethernetTeleportService.cs +++ b/Questionable/Questionable.Functions/AethernetTeleportService.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; using Dalamud.Game.ClientState.Conditions; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.UI; @@ -97,118 +96,58 @@ internal sealed class AethernetTeleportService : IDisposable _condition = condition; _interactionUiController = interactionUiController; _logger = logger; - _206A_200B_200F_206A_206C_200F_200E_206D_206E_206F_200C_200E_200B_200F_202B_202D_202B_206E_206A_206B_206E_200F_202C_202D_200C_206E_200B_202B_202A_200C_200C_202C_200C_202C_206B_206E_200B_206C_200C_200E_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkUpdate); + _framework.Update += OnFrameworkUpdate; } - [MethodImpl(MethodImplOptions.NoInlining)] public void RequestTeleport(EAetheryteLocation destination) { - int num = ((State == ETeleportState.Idle) ? 1903322012 : 1903322015); - string text = default(string); - uint value = default(uint); - while (true) + if (State != ETeleportState.Idle) { - int num2 = num; - int num3 = 1903322013; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + Reset(); + } + if (FirmamentPlaceNameIds.TryGetValue(destination, out var value)) + { + string text = ResolvePlaceName(value); + if (text != null) { - case 5: - num = 1903322015; - break; - case 4: - text = ResolvePlaceName(value); - num = ((text == null) ? 1903322014 : 1903322011); - break; - case 6: RequestCustomZoneTeleport(destination, text); return; - case 2: - Reset(); - num = 1903322012; - break; - case 1: - num = ((!FirmamentPlaceNameIds.TryGetValue(destination, out value)) ? 1903322013 : 1903322009); - break; - case 3: - _206C_202A_202C_200B_202A_200E_206F_202A_206A_200B_206A_202A_206B_206A_202A_200B_200C_206F_202D_206C_202E_202D_200F_202A_202D_206F_200C_206D_200E_206A_200C_200C_206F_200F_200D_206C_202E_206A_202D_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1915991887), new object[2] { value, destination }); - num = 1903322013; - break; - case 0: - _206A_202B_200D_206F_206C_202E_202C_202C_200C_206A_206D_200F_206F_206B_206F_206D_200B_206D_202A_200B_206E_202B_202C_206F_202B_200C_206E_206B_200E_206D_202E_202A_200B_202E_206B_206D_200E_206E_202E_206A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-478164003), new object[1] { destination }); - PendingDestination = destination; - _requestedAtMs = _202A_200F_202A_202D_206D_202D_200F_200E_202A_202E_202A_206D_202A_202E_206F_202D_202C_202C_200C_206D_206C_202D_200D_206E_200B_202A_206C_200D_206E_200C_202B_202B_202C_206F_200C_206D_200F_200B_200E_200E_202E(); - State = ETeleportState.WaitingForAddon; - return; } + _logger.LogWarning("Failed to resolve PlaceName {Id} for Firmament destination {Dest}", value, destination); } + _logger.LogInformation("Requesting aethernet teleport to {Destination}", destination); + PendingDestination = destination; + _requestedAtMs = Environment.TickCount64; + State = ETeleportState.WaitingForAddon; } - [MethodImpl(MethodImplOptions.NoInlining)] public void RequestCustomZoneTeleport(EAetheryteLocation destination, string destinationName) { - int num = ((State == ETeleportState.Idle) ? (-1619368732) : (-1619368729)); - while (true) + if (State != ETeleportState.Idle) { - int num2 = num; - int num3 = -1619368731; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _206A_202B_200D_206F_206C_202E_202C_202C_200C_206A_206D_200F_206F_206B_206F_206D_200B_206D_202A_200B_206E_202B_202C_206F_202B_200C_206E_206B_200E_206D_202E_202A_200B_202E_206B_206D_200E_206E_202E_206A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1788741827), new object[2] { destination, destinationName }); - PendingDestination = destination; - _interactionUiController.AethernetDestinationName = destinationName; - State = ETeleportState.Complete; - return; - case 2: - _206C_202A_202C_200B_202A_200E_206F_202A_206A_200B_206A_202A_206B_206A_202A_200B_200C_206F_202D_206C_202E_202D_200F_202A_202D_206F_200C_206D_200E_206A_200C_200C_206F_200F_200D_206C_202E_206A_202D_200F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1049949813), new object[1] { State }); - Reset(); - num = -1619368732; - break; - case 0: - num = -1619368729; - break; - } + _logger.LogWarning("RequestCustomZoneTeleport called while in state {State}, resetting first", State); + Reset(); } + _logger.LogInformation("Requesting custom zone aethernet teleport to {Destination} ({Name})", destination, destinationName); + PendingDestination = destination; + _interactionUiController.AethernetDestinationName = destinationName; + State = ETeleportState.Complete; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Reset() { - int num = ((State == ETeleportState.Idle) ? (-1786789518) : (-1786789517)); - while (true) + if (State != ETeleportState.Idle) { - int num2 = num; - int num3 = -1786789518; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -1786789517; - break; - case 1: - _200C_202D_202A_202A_202E_206C_206E_202E_202E_202C_206C_202A_202D_200D_206B_200F_206D_200C_206E_206C_200C_200C_202A_206E_200D_202E_200C_206F_200E_202A_202D_200D_202C_206A_202E_206E_206B_206B_202A_200E_202E((ILogger)_logger, 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(1323544865), new object[1] { State }); - num = -1786789518; - break; - case 0: - State = ETeleportState.Idle; - PendingDestination = null; - _requestedAtMs = 0L; - _selectStringDismissed = false; - _fired = false; - _entriesLogged = false; - _nextFireAtMs = 0L; - ClearCustomZoneState(); - return; - } + _logger.LogDebug("Resetting AethernetTeleportService from state {State}", State); } + State = ETeleportState.Idle; + PendingDestination = null; + _requestedAtMs = 0L; + _selectStringDismissed = false; + _fired = false; + _entriesLogged = false; + _nextFireAtMs = 0L; + ClearCustomZoneState(); } private void ClearCustomZoneState() @@ -224,186 +163,99 @@ internal sealed class AethernetTeleportService : IDisposable private string? ResolveAethernetDisplayName(EAetheryteLocation aetheryte) { Aetheryte? rowOrDefault = _dataManager.GetExcelSheet().GetRowOrDefault((uint)aetheryte); - int num = (rowOrDefault.HasValue ? 1376211537 : 1376211538); - while (true) + if (!rowOrDefault.HasValue) { - int num2 = num; - int num3 = 1376211539; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return rowOrDefault.Value.AethernetName.ValueNullable?.Name.ToString(); - case 1: - return null; - case 0: - goto IL_00b7; - } - continue; - IL_00b7: - num = 1376211538; + return null; } + return rowOrDefault.Value.AethernetName.ValueNullable?.Name.ToString(); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void OnFrameworkUpdate(IFramework _) { - int num = ((State == ETeleportState.WaitingForAddon) ? (-640751592) : (-640751593)); - AtkUnitBase* addonPtr = default(AtkUnitBase*); - int num9 = default(int); - AddonSelectString* addonPtr2 = default(AddonSelectString*); - long num19 = default(long); - int num13 = default(int); - int num7 = default(int); - string text = default(string); - string text2 = default(string); - AtkValue atkValue = default(AtkValue); - int num17 = default(int); - int num12 = default(int); - while (true) + if (State != ETeleportState.WaitingForAddon) { - int num2 = num; - int num3 = -640751592; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num8; - switch (num5 - (num6 + num6)) + return; + } + AddonSelectString* addonPtr; + AtkUnitBase* addonPtr2; + if (_fired && (_condition[ConditionFlag.BetweenAreas] || _condition[ConditionFlag.BetweenAreas51])) + { + _logger.LogDebug("Aethernet teleport to {Destination} accepted (between areas)", PendingDestination); + State = ETeleportState.Complete; + } + else if (Environment.TickCount64 - _requestedAtMs > (long)AddonTimeout.TotalMilliseconds) + { + _logger.LogWarning("Aethernet teleport request to {Destination} timed out after {Timeout}s", PendingDestination, AddonTimeout.TotalSeconds); + State = ETeleportState.Failed; + } + else if (_gameGui.TryGetAddonByName("SelectString", out addonPtr) && LAddon.IsAddonReady(&addonPtr->AtkUnitBase)) + { + _logger.LogDebug("Dismissing aetheryte SelectString (selecting Aethernet)"); + addonPtr->AtkUnitBase.FireCallbackInt(0); + _selectStringDismissed = true; + } + else if (_selectStringDismissed) + { + _selectStringDismissed = false; + } + else if (!_gameGui.TryGetAddonByName("TelepotTown", out addonPtr2)) + { + if (_fired) + { + _logger.LogDebug("Aethernet teleport to {Destination} accepted (menu closed)", PendingDestination); + State = ETeleportState.Complete; + } + } + else + { + if (!LAddon.IsAddonReady(addonPtr2)) { - case 39: return; - case 26: - num = (_206D_206E_202C_202C_200C_200B_202D_202B_206A_206E_206B_200B_200C_206E_200B_200B_206C_206F_206F_202A_200D_206C_206D_202E_206C_206F_206B_202C_202E_206C_202A_202A_206D_202A_206E_206F_202A_202C_200F_200F_202E(addonPtr) ? (-640751615) : (-640751553)); - break; - case 13: - num = ((num9 < 20) ? (-640751586) : (-640751554)); - break; - case 20: - num = ((!_206D_206E_202C_202C_200C_200B_202D_202B_206A_206E_206B_200B_200C_206E_200B_200B_206C_206F_206F_202A_200D_206C_206D_202E_206C_206F_206B_202C_202E_206C_202A_202A_206D_202A_206E_206F_202A_202C_200F_200F_202E(&addonPtr2->AtkUnitBase)) ? (-640751560) : (-640751555)); - break; - case 18: - _selectStringDismissed = false; - return; - case 30: - num8 = -1; - goto IL_064f; - case 29: - num19 = _202A_200F_202A_202D_206D_202D_200F_200E_202A_202E_202A_206D_202A_202E_206F_202D_202C_202C_200C_206D_206C_202D_200D_206E_200B_202A_206C_200D_206E_200C_202B_202B_202C_206F_200C_206D_200F_200B_200E_200E_202E(); - num = ((num19 >= _nextFireAtMs) ? (-640751556) : (-640751558)); - break; - case 22: - num = ((num13 >= 0) ? (-640751616) : (-640751585)); - break; - case 4: - return; - case 2: - num13 = num7; - num = -640751616; - break; - case 7: - num = ((text == null) ? (-640751616) : (-640751589)); - break; - case 12: - _206C_202A_202C_200B_202A_200E_206F_202A_206A_200B_206A_202A_206B_206A_202A_200B_200C_206F_202D_206C_202E_202D_200F_202A_202D_206F_200C_206D_200E_206A_200C_200C_206F_200F_200D_206C_202E_206A_202D_200F_202E((ILogger)_logger, 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(-964873938), new object[2] { PendingDestination, AddonTimeout.TotalSeconds }); + } + string text = ResolveAethernetDisplayName(PendingDestination.Value); + if (text == null) + { + _logger.LogWarning("Failed to resolve display name for {Destination}", PendingDestination); State = ETeleportState.Failed; return; - case 33: - num = (_206F_206B_206F_202E_206D_200E_206A_206C_202D_206C_202C_206F_202E_202C_206F_206C_206A_202E_200E_206D_200B_200E_202D_200F_206C_200F_200E_200C_206B_202E_206A_202D_200D_202A_206B_202B_202A_202E_206E_202B_202E(_condition, ConditionFlag.BetweenAreas) ? (-640751605) : (-640751591)); - break; - case 21: - _200C_202D_202A_202A_202E_206C_206E_202E_202E_202C_206C_202A_202D_200D_206B_200F_206D_200C_206E_206C_200C_200C_202A_206E_200D_202E_200C_206F_200E_202A_202D_200D_202C_206A_202E_206E_206B_206B_202A_200E_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-969368539), new object[3] { PendingDestination, text2, num13 }); - num = -640751597; - break; - case 24: - { - int num22 = num9; - num3 = 1; - num4 = num22; - int num23 = num4 ^ num3; - int num24 = num4 & num3; - num9 = num23 + (num24 + num24); - num = -640751595; - break; } - case 5: - _200C_202D_202A_202A_202E_206C_206E_202E_202E_202C_206C_202A_202D_200D_206B_200F_206D_200C_206E_206C_200C_200C_202A_206E_200D_202E_200C_206F_200E_202A_202D_200D_202C_206A_202E_206E_206B_206B_202A_200E_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-568972459), new object[3] { num9, text, num7 }); - num = -640751602; - break; - case 35: - num13 = -1; - num9 = 0; - num = -640751595; - break; - case 19: - _200C_202D_202A_202A_202E_206C_206E_202E_202E_202C_206C_202A_202D_200D_206B_200F_206D_200C_206E_206C_200C_200C_202A_206E_200D_202E_200C_206F_200E_202A_202D_200D_202C_206A_202E_206E_206B_206B_202A_200E_202E((ILogger)_logger, 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(-1143749055), new object[1] { PendingDestination }); - State = ETeleportState.Complete; - return; - case 37: - _200C_202D_202A_202A_202E_206C_206E_202E_202E_202C_206C_202A_202D_200D_206B_200F_206D_200C_206E_206C_200C_200C_202A_206E_200D_202E_200C_206F_200E_202A_202D_200D_202C_206A_202E_206E_206B_206B_202A_200E_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-533960738), Array.Empty()); - addonPtr2->AtkUnitBase.FireCallbackInt(0); - _selectStringDismissed = true; - return; - case 8: - num = ((!_gameGui.TryGetAddonByName(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1860227121), out addonPtr2)) ? (-640751560) : (-640751604)); - break; - case 10: - _200C_202D_202A_202A_202E_206C_206E_202E_202E_202C_206C_202A_202D_200D_206B_200F_206D_200C_206E_206C_200C_200C_202A_206E_200D_202E_200C_206F_200E_202A_202D_200D_202C_206A_202E_206E_206B_206B_202A_200E_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(151838006), new object[1] { PendingDestination }); - State = ETeleportState.Complete; - num = -640751609; - break; - case 16: + int num = -1; + for (int i = 0; i < 20; i++) { - text = _200E_206C_202D_202B_206D_206D_202C_200D_200C_202A_200F_202A_200D_206A_206A_206B_206A_200F_200E_200D_200D_200C_202D_206E_200D_202C_200F_206B_200C_200E_202A_202E_206A_200F_206F_202C_206F_202D_202E_202E_202E(atkValue); - num3 = num9 * 4; - num4 = 6; - int num14 = (num4 | num3) + (num4 & num3); - num3 = 3; - num4 = num14; - int num15 = num4 ^ num3; - int num16 = num4 & num3; - num17 = num15 + (num16 + num16); - num = ((num17 < addonPtr->AtkValuesCount) ? (-640751599) : (-640751610)); - break; + int num2 = 262 + i; + if (num2 >= addonPtr2->AtkValuesCount) + { + break; + } + AtkValue atkValue = addonPtr2->AtkValues[num2]; + if (atkValue.Type == AtkValueType.Undefined) + { + break; + } + string text2 = atkValue.ReadAtkString(); + int num3 = 6 + i * 4 + 3; + int num4 = ((num3 < addonPtr2->AtkValuesCount) ? addonPtr2->AtkValues[num3].Int : (-1)); + if (!_entriesLogged) + { + _logger.LogDebug("TelepotTown entry {Index}: name='{Name}' callback={Callback}", i, text2, num4); + } + if (num < 0 && text2 != null && GameFunctions.GameStringEquals(text2, text)) + { + num = num4; + } } - case 40: - num = ((_202A_200F_202A_202D_206D_202D_200F_200E_202A_202E_202A_206D_202A_202E_206F_202D_202C_202C_200C_206D_206C_202D_200D_206E_200B_202A_206C_200D_206E_200C_202B_202B_202C_206F_200C_206D_200F_200B_200E_200E_202E() - _requestedAtMs <= (long)AddonTimeout.TotalMilliseconds) ? (-640751600) : (-640751596)); - break; - case 32: - num = ((!_selectStringDismissed) ? (-640751607) : (-640751606)); - break; - case 27: - atkValue = addonPtr->AtkValues[num12]; - num = ((atkValue.Type == AtkValueType.Undefined) ? (-640751554) : (-640751608)); - break; - case 31: - return; - case 0: - num = ((!_fired) ? (-640751568) : (-640751559)); - break; - case 38: - _entriesLogged = true; - num = ((num13 >= 0) ? (-640751611) : (-640751588)); - break; - case 14: - _206C_202A_202C_200B_202A_200E_206F_202A_206A_200B_206A_202A_206B_206A_202A_200B_200C_206F_202D_206C_202E_202D_200F_202A_202D_206F_200C_206D_200E_206A_200C_200C_206F_200F_200D_206C_202E_206A_202D_200F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(613688553), new object[1] { PendingDestination }); - State = ETeleportState.Failed; - return; - case 23: - num = -640751593; - break; - case 28: - num = ((!_fired) ? (-640751609) : (-640751598)); - break; - case 36: - num = (_fired ? (-640751597) : (-640751603)); - break; - case 3: - num = ((!GameFunctions.GameStringEquals(text, text2)) ? (-640751616) : (-640751590)); - break; - case 11: + _entriesLogged = true; + if (num < 0) { + return; + } + long tickCount = Environment.TickCount64; + if (tickCount >= _nextFireAtMs) + { + if (!_fired) + { + _logger.LogDebug("Selecting aethernet destination {Destination} ({Name}) via callback {Callback}", PendingDestination, text, num); + } AtkValue* values = stackalloc AtkValue[2] { new AtkValue @@ -414,107 +266,18 @@ internal sealed class AethernetTeleportService : IDisposable new AtkValue { Type = AtkValueType.Int, - Int = num13 + Int = num } }; - addonPtr->FireCallback(2u, values, close: true); + addonPtr2->FireCallback(2u, values, close: true); _fired = true; - long num18 = num19; - long num20 = 100L; - long num21 = num18; - _nextFireAtMs = (num21 | num20) + (num21 & num20); - return; - } - case 9: - num8 = addonPtr->AtkValues[num17].Int; - goto IL_064f; - case 25: - text2 = ResolveAethernetDisplayName(PendingDestination.Value); - num = ((text2 != null) ? (-640751557) : (-640751594)); - break; - case 17: - num = (_gameGui.TryGetAddonByName(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1959750528), out addonPtr) ? (-640751614) : (-640751612)); - break; - case 34: - return; - case 6: - { - num3 = num9; - num4 = 262; - int num10 = num4 ^ num3; - int num11 = num4 & num3; - num12 = num10 + (num11 + num11); - num = ((num12 >= addonPtr->AtkValuesCount) ? (-640751554) : (-640751613)); - break; - } - case 15: - return; - case 1: - { - num = ((!_206F_206B_206F_202E_206D_200E_206A_206C_202D_206C_202C_206F_202E_202C_206F_206C_206A_202E_200E_206D_200B_200E_202D_200F_206C_200F_200E_200C_206B_202E_206A_202D_200D_202A_206B_202B_202A_202E_206E_202B_202E(_condition, ConditionFlag.BetweenAreas51)) ? (-640751568) : (-640751605)); - break; - } - IL_064f: - num7 = num8; - num = (_entriesLogged ? (-640751602) : (-640751587)); - break; + _nextFireAtMs = tickCount + 100; } } } public void Dispose() { - _202C_206B_202D_202A_206F_202B_202A_206C_206A_206F_202C_200F_206B_206C_206A_206A_202D_202D_200B_202D_206C_202B_202E_206C_206F_206B_200D_200F_200C_200D_206E_206C_202A_202B_202E_200F_206F_206D_200E_200F_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkUpdate); - } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static void _206A_200B_200F_206A_206C_200F_200E_206D_206E_206F_200C_200E_200B_200F_202B_202D_202B_206E_206A_206B_206E_200F_202C_202D_200C_206E_200B_202B_202A_200C_200C_202C_200C_202C_206B_206E_200B_206C_200C_200E_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1) - { - P_0.Update += P_1; - } - - static void _206C_202A_202C_200B_202A_200E_206F_202A_206A_200B_206A_202A_206B_206A_202A_200B_200C_206F_202D_206C_202E_202D_200F_202A_202D_206F_200C_206D_200E_206A_200C_200C_206F_200F_200D_206C_202E_206A_202D_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static void _206A_202B_200D_206F_206C_202E_202C_202C_200C_206A_206D_200F_206F_206B_206F_206D_200B_206D_202A_200B_206E_202B_202C_206F_202B_200C_206E_206B_200E_206D_202E_202A_200B_202E_206B_206D_200E_206E_202E_206A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static long _202A_200F_202A_202D_206D_202D_200F_200E_202A_202E_202A_206D_202A_202E_206F_202D_202C_202C_200C_206D_206C_202D_200D_206E_200B_202A_206C_200D_206E_200C_202B_202B_202C_206F_200C_206D_200F_200B_200E_200E_202E() - { - return Environment.TickCount64; - } - - static void _200C_202D_202A_202A_202E_206C_206E_202E_202E_202C_206C_202A_202D_200D_206B_200F_206D_200C_206E_206C_200C_200C_202A_206E_200D_202E_200C_206F_200E_202A_202D_200D_202C_206A_202E_206E_206B_206B_202A_200E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _206F_206B_206F_202E_206D_200E_206A_206C_202D_206C_202C_206F_202E_202C_206F_206C_206A_202E_200E_206D_200B_200E_202D_200F_206C_200F_200E_200C_206B_202E_206A_202D_200D_202A_206B_202B_202A_202E_206E_202B_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - unsafe static bool _206D_206E_202C_202C_200C_200B_202D_202B_206A_206E_206B_200B_200C_206E_200B_200B_206C_206F_206F_202A_200D_206C_206D_202E_206C_206F_206B_202C_202E_206C_202A_202A_206D_202A_206E_206F_202A_202C_200F_200F_202E(AtkUnitBase* P_0) - { - return LAddon.IsAddonReady(P_0); - } - - static string _200E_206C_202D_202B_206D_206D_202C_200D_200C_202A_200F_202A_200D_206A_206A_206B_206A_200F_200E_200D_200D_200C_202D_206E_200D_202C_200F_206B_200C_200E_202A_202E_206A_200F_206F_202C_206F_202D_202E_202E_202E(AtkValue P_0) - { - return P_0.ReadAtkString(); - } - - static void _202C_206B_202D_202A_206F_202B_202A_206C_206A_206F_202C_200F_206B_206C_206A_206A_202D_202D_200B_202D_206C_202B_202E_206C_206F_206B_200D_200F_200C_200D_206E_206C_202A_202B_202E_200F_206F_206D_200E_200F_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1) - { - P_0.Update -= P_1; + _framework.Update -= OnFrameworkUpdate; } } diff --git a/Questionable/Questionable.Functions/AetheryteFunctions.cs b/Questionable/Questionable.Functions/AetheryteFunctions.cs index 3cdd299..fe382f0 100644 --- a/Questionable/Questionable.Functions/AetheryteFunctions.cs +++ b/Questionable/Questionable.Functions/AetheryteFunctions.cs @@ -1,6 +1,4 @@ using System; -using System.Runtime.CompilerServices; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Client.Game.UI; @@ -41,108 +39,41 @@ internal sealed class AetheryteFunctions { subIndex = 0; UIState* ptr = UIState.Instance(); - int num = ((ptr == null) ? 1947729333 : 1947729332); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 1947729333; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return false; - case 1: - return ptr->IsAetheryteUnlocked(aetheryteId); - case 2: - goto IL_0058; - } - continue; - IL_0058: - num = 1947729332; + return ptr->IsAetheryteUnlocked(aetheryteId); } + return false; } public bool IsAetheryteUnlocked(EAetheryteLocation aetheryteLocation) { - int num = ((!_206E_206D_200F_200B_200E_202C_206B_206B_202E_200C_200B_200E_206B_206D_206C_200B_200C_206C_202C_202B_202C_206D_206C_200E_200B_202B_206E_206D_202B_206E_200B_206F_200B_206E_202E_206B_200B_200F_202D_202B_202E(aetheryteLocation)) ? (-1602388833) : (-1602388834)); - while (true) + if (aetheryteLocation.IsFirmamentAetheryte()) { - int num2 = num; - int num3 = -1602388833; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0048; - case 0: - { - byte subIndex; - return IsAetheryteUnlocked((uint)aetheryteLocation, out subIndex); - } - case 1: - return _serviceProvider.GetRequiredService().IsQuestComplete(_206B_206E_206B_206B_206D_200D_200E_200B_202B_206D_202E_202C_200B_202D_202A_206D_206C_206E_200D_206C_200C_206A_200C_206E_202D_200C_200D_200F_202A_202D_200F_206D_202A_206D_206E_200B_206F_206F_202D_202E_202E((ushort)3672)); - } - continue; - IL_0048: - num = -1602388834; + return _serviceProvider.GetRequiredService().IsQuestComplete(new QuestId(3672)); } + byte subIndex; + return IsAetheryteUnlocked((uint)aetheryteLocation, out subIndex); } public unsafe bool CanTeleport(EAetheryteLocation aetheryteLocation) { - int num = (((ushort)aetheryteLocation != _200E_202E_200F_206B_206A_206D_200D_206F_206F_206A_206B_206C_200E_202E_206D_200C_202C_206F_206E_200E_206B_206E_206A_200E_202E_200D_200C_200C_202B_200B_206D_206E_206D_200D_202B_206E_206C_200E_206B_202E_202E()) ? 508143747 : 508143745); - while (true) + if ((ushort)aetheryteLocation == PlayerStateHelper.GetHomeAetheryteId() && ActionManager.Instance()->GetActionStatus(ActionType.Action, 6u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) == 0) { - int num2 = num; - int num3 = 508143746; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return ActionManager.Instance()->GetActionStatus(ActionType.Action, 5u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) == 0; - case 3: - num = ((ActionManager.Instance()->GetActionStatus(ActionType.Action, 6u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) != 0) ? 508143747 : 508143746); - break; - case 0: - return true; - case 2: - num = 508143745; - break; - } + return true; } + return ActionManager.Instance()->GetActionStatus(ActionType.Action, 5u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) == 0; } public unsafe bool IsTeleportUnlocked() { uint rowId = _dataManager.GetExcelSheet().GetRow(5u).UnlockLink.RowId; UIState* ptr = UIState.Instance(); - int num = ((ptr == null) ? 126078724 : 126078727); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 126078725; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return false; - case 2: - return ptr->IsUnlockLinkUnlocked(rowId); - case 0: - goto IL_008b; - } - continue; - IL_008b: - num = 126078727; + return ptr->IsUnlockLinkUnlocked(rowId); } + return false; } public unsafe bool IsReturnAvailable() @@ -150,47 +81,27 @@ internal sealed class AetheryteFunctions return ActionManager.Instance()->GetActionStatus(ActionType.Action, 6u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) == 0; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe bool TeleportAetheryte(uint aetheryteId) { - _202A_206C_206B_200C_200F_202D_206A_200D_200C_202A_200D_206E_206B_206B_202D_202D_200C_206A_202C_206B_206D_206B_202A_202C_200E_200C_206B_200E_206D_206C_200C_202A_206F_200E_200B_202E_206B_202B_200B_202D_202E((ILogger)_logger, 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(762406754), new object[1] { aetheryteId }); - byte subIndex; - int num = ((!IsAetheryteUnlocked(aetheryteId, out subIndex)) ? 1620747025 : 1620747027); - while (true) + _logger.LogDebug("Attempting to teleport to aetheryte {AetheryteId}", aetheryteId); + if (IsAetheryteUnlocked(aetheryteId, out var subIndex)) { - int num2 = num; - int num3 = 1620747030; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (aetheryteId == PlayerStateHelper.GetHomeAetheryteId() && ActionManager.Instance()->GetActionStatus(ActionType.Action, 6u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) == 0) { - case 7: - return false; - case 6: - ReturnRequestedAt = _206C_200F_206F_206E_206C_200D_206F_202A_202C_202B_206F_202C_200F_200D_202B_202E_206B_200E_200E_206A_206E_200F_206A_202C_202D_206B_202C_200F_206C_200D_200B_206B_202A_206A_206D_200D_200C_202D_206B_206D_202E(); - num = ((!ActionManager.Instance()->UseAction(ActionType.Action, 6u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null)) ? 1620747031 : 1620747029); - break; - case 5: - num = ((aetheryteId != _200E_202E_200F_206B_206A_206D_200D_206F_206F_206A_206B_206C_200E_202E_206D_200C_202C_206F_206E_200E_206B_206E_206A_200E_202E_200D_200C_200C_202B_200B_206D_206E_206D_200D_202B_206E_206C_200E_206B_202E_202E()) ? 1620747031 : 1620747030); - break; - case 0: - num = ((ActionManager.Instance()->GetActionStatus(ActionType.Action, 6u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) != 0) ? 1620747031 : 1620747024); - break; - case 2: - num = 1620747027; - break; - case 1: - num = ((ActionManager.Instance()->GetActionStatus(ActionType.Action, 5u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) != 0) ? 1620747025 : 1620747026); - break; - case 4: - _206F_202E_206E_206B_200E_202D_206B_200B_200E_206B_206C_202B_202D_206C_206A_202B_202A_202D_202D_206B_200C_200D_206F_202D_202A_206B_202A_202A_202D_200F_206A_206B_200B_206C_200F_202A_200B_202E_202A_202E_202E((ILogger)_logger, 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(265904157), new object[1] { aetheryteId }); + ReturnRequestedAt = Environment.TickCount64; + if (ActionManager.Instance()->UseAction(ActionType.Action, 6u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null)) + { + _logger.LogInformation("Using 'return' for home aetheryte"); + return true; + } + } + if (ActionManager.Instance()->GetActionStatus(ActionType.Action, 5u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) == 0) + { + _logger.LogInformation("Teleporting to aetheryte {AetheryteId}", aetheryteId); return Telepo.Instance()->Teleport(aetheryteId, subIndex); - case 3: - _206F_202E_206E_206B_200E_202D_206B_200B_200E_206B_206C_202B_202D_206C_206A_202B_202A_202D_202D_206B_200C_200D_206F_202D_202A_206B_202A_202A_202D_200F_206A_206B_200B_206C_200F_202A_200B_202E_202A_202E_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1006691700), Array.Empty()); - return true; } } + return false; } public bool TeleportAetheryte(EAetheryteLocation aetheryteLocation) @@ -200,112 +111,32 @@ internal sealed class AetheryteFunctions public static bool IsFreeAetheryte(EAetheryteLocation aetheryteLocation) { - return _206B_200E_200D_202D_202C_202C_206F_200E_202E_202E_202D_206B_206E_200C_206B_206C_200B_200F_200B_206E_206F_206B_200B_202E_200C_206E_206A_206A_202C_202C_206E_202D_206B_206C_206A_206E_200E_206E_206E_202E_202E((uint)aetheryteLocation); + return PlayerStateHelper.IsFreeAetheryte((uint)aetheryteLocation); } public AetheryteRegistrationResult CanRegisterFreeOrFavoriteAetheryte(EAetheryteLocation aetheryteLocation) { - int num = ((_200F_200C_206E_206B_206C_202D_206B_206B_202E_202E_202D_202D_200C_202D_202C_206E_200E_206C_200F_202C_200C_206F_200F_200D_206A_200B_206C_206D_200B_200C_200D_206A_202B_200F_202A_202A_202E_200F_206B_202B_202E(_objectTable, 0) != null) ? (-303811700) : (-303811698)); - bool flag = default(bool); - while (true) + if (_objectTable[0] == null) { - int num2 = num; - int num3 = -303811697; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - num = (flag ? (-303811701) : (-303811697)); - break; - case 3: - num = ((!IsFreeAetheryte(aetheryteLocation)) ? (-303811705) : (-303811699)); - break; - case 0: - return AetheryteRegistrationResult.NotPossible; - case 9: - flag = _206F_206D_200D_202C_206D_202D_202C_202E_206F_202B_200E_200C_202A_206E_200E_206F_200F_206C_206B_200E_206C_200D_202B_202E_202C_202D_200C_202E_206D_200F_202B_200D_206D_200D_206B_200F_200E_200C_206F_200F_202E(); - num = ((!_202C_200B_200C_200B_202E_202D_202B_200D_202B_200E_200E_206F_200F_200D_206B_202B_202A_202A_202C_206C_206A_202E_202B_206D_206D_206C_206E_200E_202C_200F_206B_202A_202A_200F_206A_206E_200B_206F_202C_206B_202E(PlayerStateFlag.IsLoginSecurityToken)) ? (-303811702) : (-303811707)); - break; - case 10: - num = ((_206A_202A_200E_202D_200D_206E_206F_206D_206F_200E_202D_200B_206E_202D_200B_206B_206D_202A_200B_206A_202B_206F_202D_200F_206D_206A_200E_202C_200E_202B_200C_202C_200B_200C_202C_202E_202B_206A_206E_200D_202E() != 0) ? (-303811702) : (-303811703)); - break; - case 4: - return AetheryteRegistrationResult.FavoredDestinationAvailable; - case 7: - num = -303811698; - break; - case 2: - return AetheryteRegistrationResult.NotPossible; - case 6: - return AetheryteRegistrationResult.SecurityTokenFreeDestinationAvailable; - case 8: - num = ((!_202E_206F_200B_206A_202D_206D_200F_206F_202B_206F_202C_202D_200E_206C_206D_206B_200D_202C_206F_202C_200B_206A_206B_202A_202B_206A_202C_206A_202A_202B_202C_202A_200C_206F_202C_202D_202B_202E_206D_202E((uint)aetheryteLocation)) ? (-303811706) : (-303811708)); - break; - case 1: - return AetheryteRegistrationResult.NotPossible; - case 11: - return AetheryteRegistrationResult.NotPossible; - } + return AetheryteRegistrationResult.NotPossible; } - } - - static bool _206E_206D_200F_200B_200E_202C_206B_206B_202E_200C_200B_200E_206B_206D_206C_200B_200C_206C_202C_202B_202C_206D_206C_200E_200B_202B_206E_206D_202B_206E_200B_206F_200B_206E_202E_206B_200B_200F_202D_202B_202E(EAetheryteLocation P_0) - { - return P_0.IsFirmamentAetheryte(); - } - - static QuestId _206B_206E_206B_206B_206D_200D_200E_200B_202B_206D_202E_202C_200B_202D_202A_206D_206C_206E_200D_206C_200C_206A_200C_206E_202D_200C_200D_200F_202A_202D_200F_206D_202A_206D_206E_200B_206F_206F_202D_202E_202E(ushort P_0) - { - return new QuestId(P_0); - } - - static uint _200E_202E_200F_206B_206A_206D_200D_206F_206F_206A_206B_206C_200E_202E_206D_200C_202C_206F_206E_200E_206B_206E_206A_200E_202E_200D_200C_200C_202B_200B_206D_206E_206D_200D_202B_206E_206C_200E_206B_202E_202E() - { - return PlayerStateHelper.GetHomeAetheryteId(); - } - - static void _202A_206C_206B_200C_200F_202D_206A_200D_200C_202A_200D_206E_206B_206B_202D_202D_200C_206A_202C_206B_206D_206B_202A_202C_200E_200C_206B_200E_206D_206C_200C_202A_206F_200E_200B_202E_206B_202B_200B_202D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static long _206C_200F_206F_206E_206C_200D_206F_202A_202C_202B_206F_202C_200F_200D_202B_202E_206B_200E_200E_206A_206E_200F_206A_202C_202D_206B_202C_200F_206C_200D_200B_206B_202A_206A_206D_200D_200C_202D_206B_206D_202E() - { - return Environment.TickCount64; - } - - static void _206F_202E_206E_206B_200E_202D_206B_200B_200E_206B_206C_202B_202D_206C_206A_202B_202A_202D_202D_206B_200C_200D_206F_202D_202A_206B_202A_202A_202D_200F_206A_206B_200B_206C_200F_202A_200B_202E_202A_202E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static bool _206B_200E_200D_202D_202C_202C_206F_200E_202E_202E_202D_206B_206E_200C_206B_206C_200B_200F_200B_206E_206F_206B_200B_202E_200C_206E_206A_206A_202C_202C_206E_202D_206B_206C_206A_206E_200E_206E_206E_202E_202E(uint P_0) - { - return PlayerStateHelper.IsFreeAetheryte(P_0); - } - - static IGameObject _200F_200C_206E_206B_206C_202D_206B_206B_202E_202E_202D_202D_200C_202D_202C_206E_200E_206C_200F_202C_200C_206F_200F_200D_206A_200B_206C_206D_200B_200C_200D_206A_202B_200F_202A_202A_202E_200F_206B_202B_202E(IObjectTable P_0, int P_1) - { - return P_0[P_1]; - } - - static bool _202E_206F_200B_206A_202D_206D_200F_206F_202B_206F_202C_202D_200E_206C_206D_206B_200D_202C_206F_202C_200B_206A_206B_202A_202B_206A_202C_206A_202A_202B_202C_202A_200C_206F_202C_202D_202B_202E_206D_202E(uint P_0) - { - return PlayerStateHelper.IsFavouriteAetheryte(P_0); - } - - static bool _206F_206D_200D_202C_206D_202D_202C_202E_206F_202B_200E_200C_202A_206E_200E_206F_200F_206C_206B_200E_206C_200D_202B_202E_202C_202D_200C_202E_206D_200F_202B_200D_206D_200D_206B_200F_200E_200C_206F_200F_202E() - { - return PlayerStateHelper.HasFavouriteSlotAvailable(); - } - - static bool _202C_200B_200C_200B_202E_202D_202B_200D_202B_200E_200E_206F_200F_200D_206B_202B_202A_202A_202C_206C_206A_202E_202B_206D_206D_206C_206E_200E_202C_200F_206B_202A_202A_200F_206A_206E_200B_206F_202C_206B_202E(PlayerStateFlag P_0) - { - return PlayerStateHelper.IsPlayerStateFlagSet(P_0); - } - - static uint _206A_202A_200E_202D_200D_206E_206F_206D_206F_200E_202D_200B_206E_202D_200B_206B_206D_202A_200B_206A_202B_206F_202D_200F_206D_206A_200E_202C_200E_202B_200C_202C_200B_200C_202C_202E_202B_206A_206E_200D_202E() - { - return PlayerStateHelper.GetFreeAetheryteId(); + if (IsFreeAetheryte(aetheryteLocation)) + { + return AetheryteRegistrationResult.NotPossible; + } + if (PlayerStateHelper.IsFavouriteAetheryte((uint)aetheryteLocation)) + { + return AetheryteRegistrationResult.NotPossible; + } + bool flag = PlayerStateHelper.HasFavouriteSlotAvailable(); + if (PlayerStateHelper.IsPlayerStateFlagSet(PlayerStateFlag.IsLoginSecurityToken) && PlayerStateHelper.GetFreeAetheryteId() == 0) + { + return AetheryteRegistrationResult.SecurityTokenFreeDestinationAvailable; + } + if (!flag) + { + return AetheryteRegistrationResult.NotPossible; + } + return AetheryteRegistrationResult.FavoredDestinationAvailable; } } diff --git a/Questionable/Questionable.Functions/AlliedSocietyQuestFunctions.cs b/Questionable/Questionable.Functions/AlliedSocietyQuestFunctions.cs index 15c8ac2..34e9993 100644 --- a/Questionable/Questionable.Functions/AlliedSocietyQuestFunctions.cs +++ b/Questionable/Questionable.Functions/AlliedSocietyQuestFunctions.cs @@ -1,11 +1,8 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Collections.Immutable; using System.Linq; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -using System.Text; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Application.Network.WorkDefinitions; using FFXIVClientStructs.FFXIV.Client.Game; @@ -43,324 +40,8 @@ internal sealed class AlliedSocietyQuestFunctions private static uint Transform(uint s0, uint s1) { - int num = (int)(s0 << 11); - int num2 = (int)s0; - int num3 = num2 + num; - int num4 = num2 & num; - uint num5 = (uint)(num3 - (num4 + num4)); - num = (int)num5; - num2 = (int)s1; - int num6 = num2 + num; - int num7 = num2 & num; - int num8 = num6 - (num7 + num7); - num = (int)(s1 >> 11); - num2 = (int)num5; - int num9 = num2 + num; - int num10 = num2 & num; - num = num9 - (num10 + num10) >>> 8; - num2 = num8; - return (uint)((num2 | num) - (num2 & num)); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override readonly string ToString() - { - StringBuilder stringBuilder = _202B_202A_202D_206D_202D_206F_200E_200E_206D_200D_200F_206C_200F_206B_202C_200E_206A_200F_206F_200F_202D_200C_206A_206C_202D_202C_206A_202E_206E_202E_202B_202E_202B_202B_200C_206E_202C_206F_200F_206D_202E(); - _200F_206C_202A_200D_202E_206C_206A_202E_206E_200D_200B_200F_200E_200C_200E_202E_206E_202C_200B_206A_200D_206E_200D_202D_200D_200F_202A_202C_200E_200C_202D_206F_206B_206C_202E_200C_200E_202D_202E_202E(stringBuilder, 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(1180704865)); - _200F_206C_202A_200D_202E_206C_206A_202E_206E_200D_200B_200F_200E_200C_200E_202E_206E_202C_200B_206A_200D_206E_200D_202D_200D_200F_202A_202C_200E_200C_202D_206F_206B_206C_202E_200C_200E_202D_202E_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1664411125)); - int num = ((!PrintMembers(stringBuilder)) ? (-666901402) : (-666901403)); - while (true) - { - int num2 = num; - int num3 = -666901401; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -666901403; - break; - case 2: - _206C_200F_202D_200E_202E_200D_206D_200F_202C_200B_206C_202D_202C_202A_206C_200B_206D_206F_206B_202C_202E_206A_200C_202E_206F_202C_202B_202E_202C_206A_206F_206F_206A_202E_200E_206B_202E_200B_202B_206E_202E(stringBuilder, ' '); - num = -666901402; - break; - case 1: - _206C_200F_202D_200E_202E_200D_206D_200F_202C_200B_206C_202D_202C_202A_206C_200B_206D_206F_206B_202C_202E_206A_200C_202E_206F_202C_202B_202E_202C_206A_206F_206F_206A_202E_200E_206B_202E_200B_202B_206E_202E(stringBuilder, '}'); - return _206C_202A_200D_206A_206D_202C_200F_202D_202B_200D_206B_206E_200F_206B_200D_200B_202A_202A_200E_206A_206D_202B_200B_200F_200C_200B_206F_206E_202B_202E_202D_206D_202E_206C_200F_206F_200F_206C_200F_206B_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private readonly bool PrintMembers(StringBuilder builder) - { - _200F_206C_202A_200D_202E_206C_206A_202E_206E_200D_200B_200F_200E_200C_200E_202E_206E_202C_200B_206A_200D_206E_200D_202D_200D_200F_202A_202C_200E_200C_202D_206F_206B_206C_202E_200C_200E_202D_202E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(352928866)); - _200F_206C_202A_200D_202E_206C_206A_202E_206E_200D_200B_200F_200E_200C_200E_202E_206E_202C_200B_206A_200D_206E_200D_202D_200D_200F_202A_202C_200E_200C_202D_206F_206B_206C_202E_200C_200E_202D_202E_202E(builder, S0.ToString()); - _200F_206C_202A_200D_202E_206C_206A_202E_206E_200D_200B_200F_200E_200C_200E_202E_206E_202C_200B_206A_200D_206E_200D_202D_200D_200F_202A_202C_200E_200C_202D_206F_206B_206C_202E_200C_200E_202D_202E_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-875975294)); - _200F_206C_202A_200D_202E_206C_206A_202E_206E_200D_200B_200F_200E_200C_200E_202E_206E_202C_200B_206A_200D_206E_200D_202D_200D_200F_202A_202C_200E_200C_202D_206F_206B_206C_202E_200C_200E_202D_202E_202E(builder, S1.ToString()); - _200F_206C_202A_200D_202E_206C_206A_202E_206E_200D_200B_200F_200E_200C_200E_202E_206E_202C_200B_206A_200D_206E_200D_202D_200D_200F_202A_202C_200E_200C_202D_206F_206B_206C_202E_200C_200E_202D_202E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-660590067)); - _200F_206C_202A_200D_202E_206C_206A_202E_206E_200D_200B_200F_200E_200C_200E_202E_206E_202C_200B_206A_200D_206E_200D_202D_200D_200F_202A_202C_200E_200C_202D_206F_206B_206C_202E_200C_200E_202D_202E_202E(builder, S2.ToString()); - _200F_206C_202A_200D_202E_206C_206A_202E_206E_200D_200B_200F_200E_200C_200E_202E_206E_202C_200B_206A_200D_206E_200D_202D_200D_200F_202A_202C_200E_200C_202D_206F_206B_206C_202E_200C_200E_202D_202E_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1999766628)); - _200F_206C_202A_200D_202E_206C_206A_202E_206E_200D_200B_200F_200E_200C_200E_202E_206E_202C_200B_206A_200D_206E_200D_202D_200D_200F_202A_202C_200E_200C_202D_206F_206B_206C_202E_200C_200E_202D_202E_202E(builder, S3.ToString()); - return true; - } - - [CompilerGenerated] - public readonly bool Equals(Rng other) - { - int num = ((!EqualityComparer.Default.Equals(S0, other.S0)) ? 425581049 : 425581052); - while (true) - { - int num2 = num; - int num3 = 425581053; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = ((!EqualityComparer.Default.Equals(S2, other.S2)) ? 425581049 : 425581054); - break; - case 3: - return EqualityComparer.Default.Equals(S3, other.S3); - case 2: - num = 425581052; - break; - case 4: - return false; - case 1: - num = ((!EqualityComparer.Default.Equals(S1, other.S1)) ? 425581049 : 425581053); - break; - } - } - } - - bool IEquatable.Equals(Rng other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _202B_202A_202D_206D_202D_206F_200E_200E_206D_200D_200F_206C_200F_206B_202C_200E_206A_200F_206F_200F_202D_200C_206A_206C_202D_202C_206A_202E_206E_202E_202B_202E_202B_202B_200C_206E_202C_206F_200F_206D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200F_206C_202A_200D_202E_206C_206A_202E_206E_200D_200B_200F_200E_200C_200E_202E_206E_202C_200B_206A_200D_206E_200D_202D_200D_200F_202A_202C_200E_200C_202D_206F_206B_206C_202E_200C_200E_202D_202E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206C_200F_202D_200E_202E_200D_206D_200F_202C_200B_206C_202D_202C_202A_206C_200B_206D_206F_206B_202C_202E_206A_200C_202E_206F_202C_202B_202E_202C_206A_206F_206F_206A_202E_200E_206B_202E_200B_202B_206E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206C_202A_200D_206A_206D_202C_200F_202D_202B_200D_206B_206E_200F_206B_200D_200B_202A_202A_200E_206A_206D_202B_200B_200F_200C_200B_206F_206E_202B_202E_202D_206D_202E_206C_200F_206F_200F_206C_200F_206B_202E(object P_0) - { - return P_0.ToString(); - } - } - - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__8_0; - - public static Func _003C_003E9__8_1; - - public static Func _003C_003E9__8_2; - - public static Func _003C_003E9__8_3; - - public static Func _003C_003E9__8_4; - - public static Func _003C_003E9__8_5; - - public static Func _003C_003E9__8_6; - - public static Func _003C_003E9__8_7; - - public static Func _003C_003E9__8_8; - - public static Func _003C_003E9__8_9; - - public static Func _003C_003E9__8_10; - - public static Func _003C_003E9__8_11; - - public static Func _003C_003E9__8_12; - - public static Func _003C_003E9__8_13; - - public static Func, uint> _003C_003E9__8_14; - - public static Func _003C_003E9__8_16; - - public static Func _003C_003E9__8_17; - - public static Func, List> _003C_003E9__8_15; - - public static Predicate _003C_003E9__14_2; - - public static Func _003C_003E9__14_1; - - internal bool _003C_002Ector_003Eb__8_0(BeastReputationRank x) - { - return x.RowId != 0; - } - - internal uint _003C_002Ector_003Eb__8_1(BeastReputationRank x) - { - return x.RowId; - } - - internal ushort _003C_002Ector_003Eb__8_2(BeastReputationRank x) - { - return x.RequiredReputation; - } - - internal bool _003C_002Ector_003Eb__8_3(Lumina.Excel.Sheets.Quest x) - { - int num = ((x.RowId == 0) ? 229482898 : 229482896); - while (true) - { - int num2 = num; - int num3 = 229482899; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 229482896; - break; - case 3: - num = ((x.BeastTribe.RowId == 0) ? 229482898 : 229482897); - break; - case 2: - return x.BeastReputationValue > 0; - case 1: - return false; - } - } - } - - internal uint _003C_002Ector_003Eb__8_4(Lumina.Excel.Sheets.Quest x) - { - return x.RowId; - } - - internal ushort _003C_002Ector_003Eb__8_5(Lumina.Excel.Sheets.Quest x) - { - return x.BeastReputationValue; - } - - internal bool _003C_002Ector_003Eb__8_6(BeastTribe x) - { - int num = ((x.RowId == 0) ? 1913982747 : 1913982745); - while (true) - { - int num2 = num; - int num3 = 1913982747; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return _206A_200F_206E_202C_206F_202C_206D_202A_200B_202C_202A_202A_206E_200E_206D_200C_206E_206F_200E_200C_206E_206B_202C_200B_202D_206B_202A_206F_206D_200F_202D_200B_202D_206C_200F_202C_200C_206D_202A_202C_202E(_206F_206E_206D_202C_206B_200B_206A_202A_200F_202B_202D_202B_200E_202E_202D_206E_206D_200E_202E_206E_206A_206B_206F_202E_206D_200B_202A_202C_206E_200E_206D_206D_206B_200C_206F_206C_206C_206A_200C_202B_202E(typeof(EAlliedSociety).TypeHandle), (object)(byte)x.RowId); - case 2: - num = (x.Name.IsEmpty ? 1913982747 : 1913982746); - break; - case 3: - num = 1913982745; - break; - case 0: - return false; - } - } - } - - internal EAlliedSociety _003C_002Ector_003Eb__8_7(BeastTribe x) - { - return (EAlliedSociety)x.RowId; - } - - internal byte _003C_002Ector_003Eb__8_8(BeastTribe x) - { - return x.MaxRank; - } - - internal bool _003C_002Ector_003Eb__8_9(EAlliedSociety x) - { - return x != EAlliedSociety.None; - } - - internal bool _003C_002Ector_003Eb__8_10(QuestInfo x) - { - return !x.IsRepeatable; - } - - internal bool _003C_002Ector_003Eb__8_11(EAlliedSociety x) - { - return x != EAlliedSociety.None; - } - - internal bool _003C_002Ector_003Eb__8_12(QuestInfo x) - { - return x.IsRepeatable; - } - - internal uint _003C_002Ector_003Eb__8_13(QuestInfo x) - { - return x.IssuerDataId; - } - - internal uint _003C_002Ector_003Eb__8_14(IGrouping x) - { - return x.Key; - } - - internal List _003C_002Ector_003Eb__8_15(IGrouping x) - { - return (from y in x - orderby y.AlliedSocietyQuestGroup == 3, y.QuestId - select y).ToList(); - } - - internal bool _003C_002Ector_003Eb__8_16(QuestInfo y) - { - return y.AlliedSocietyQuestGroup == 3; - } - - internal ElementId _003C_002Ector_003Eb__8_17(QuestInfo y) - { - return y.QuestId; - } - - internal bool _003CCalculateAvailableQuests_003Eb__14_2(QuestInfo q) - { - return q.AlliedSocietyQuestGroup == 3; - } - - internal QuestId _003CCalculateAvailableQuests_003Eb__14_1(QuestInfo x) - { - return (QuestId)x.QuestId; - } - - static Type _206F_206E_206D_202C_206B_200B_206A_202A_200F_202B_202D_202B_200E_202E_202D_206E_206D_200E_202E_206E_206A_206B_206F_202E_206D_200B_202A_202C_206E_200E_206D_206D_206B_200C_206F_206C_206C_206A_200C_202B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static bool _206A_200F_206E_202C_206F_202C_206D_202A_200B_202C_202A_202A_206E_200E_206D_200C_206E_206F_200E_200C_206E_206B_202C_200B_202D_206B_202A_206F_206D_200F_202D_200B_202D_206C_200F_202C_200C_206D_202A_202C_202E(Type P_0, object P_1) - { - return Enum.IsDefined(P_0, P_1); + uint num = s0 ^ (s0 << 11); + return s1 ^ num ^ ((num ^ (s1 >> 11)) >> 8); } } @@ -387,281 +68,112 @@ internal sealed class AlliedSocietyQuestFunctions _reputationRequiredByRank = (from x in dataManager.GetExcelSheet() where x.RowId != 0 select x).ToImmutableDictionary((BeastReputationRank x) => x.RowId, (BeastReputationRank x) => x.RequiredReputation); - _questReputationRewards = dataManager.GetExcelSheet().Where(delegate(Lumina.Excel.Sheets.Quest x) - { - int num2 = ((x.RowId == 0) ? 229482898 : 229482896); - while (true) - { - int num3 = num2; - int num4 = 229482899; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num2 = 229482896; - break; - case 3: - num2 = ((x.BeastTribe.RowId == 0) ? 229482898 : 229482897); - break; - case 2: - return x.BeastReputationValue > 0; - case 1: - return false; - } - } - }).ToImmutableDictionary((Lumina.Excel.Sheets.Quest x) => x.RowId, (Lumina.Excel.Sheets.Quest x) => x.BeastReputationValue); - _maxRankByAlliedSociety = dataManager.GetExcelSheet().Where(delegate(BeastTribe x) - { - int num2 = ((x.RowId == 0) ? 1913982747 : 1913982745); - while (true) - { - int num3 = num2; - int num4 = 1913982747; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 1: - return _003C_003Ec._206A_200F_206E_202C_206F_202C_206D_202A_200B_202C_202A_202A_206E_200E_206D_200C_206E_206F_200E_200C_206E_206B_202C_200B_202D_206B_202A_206F_206D_200F_202D_200B_202D_206C_200F_202C_200C_206D_202A_202C_202E(_003C_003Ec._206F_206E_206D_202C_206B_200B_206A_202A_200F_202B_202D_202B_200E_202E_202D_206E_206D_200E_202E_206E_206A_206B_206F_202E_206D_200B_202A_202C_206E_200E_206D_206D_206B_200C_206F_206C_206C_206A_200C_202B_202E(typeof(EAlliedSociety).TypeHandle), (object)(byte)x.RowId); - case 2: - num2 = (x.Name.IsEmpty ? 1913982747 : 1913982746); - break; - case 3: - num2 = 1913982745; - break; - case 0: - return false; - } - } - }).ToImmutableDictionary((BeastTribe x) => (EAlliedSociety)x.RowId, (BeastTribe x) => x.MaxRank); + _questReputationRewards = (from x in dataManager.GetExcelSheet() + where x.RowId != 0 && x.BeastTribe.RowId != 0 && x.BeastReputationValue > 0 + select x).ToImmutableDictionary((Lumina.Excel.Sheets.Quest x) => x.RowId, (Lumina.Excel.Sheets.Quest x) => x.BeastReputationValue); + _maxRankByAlliedSociety = (from x in dataManager.GetExcelSheet() + where x.RowId != 0 && !x.Name.IsEmpty && Enum.IsDefined(typeof(EAlliedSociety), (byte)x.RowId) + select x).ToImmutableDictionary((BeastTribe x) => (EAlliedSociety)x.RowId, (BeastTribe x) => x.MaxRank); Dictionary<(EAlliedSociety, byte), QuestId> dictionary = new Dictionary<(EAlliedSociety, byte), QuestId>(); - IEnumerator enumerator = (from x in Enum.GetValues() + foreach (EAlliedSociety item in from x in Enum.GetValues() where x != EAlliedSociety.None - select x).GetEnumerator(); - try + select x) { - while (_206F_202E_206C_200B_200E_202C_206B_202E_200E_200D_202D_200C_206E_200F_202E_200D_206C_200B_206F_206C_202A_202A_206B_202D_202D_202E_200C_200B_206C_200D_206C_206B_202C_202C_206B_200C_200B_202B_202A_206B_202E((IEnumerator)enumerator)) + foreach (QuestInfo item2 in from x in questData.GetAllByAlliedSociety(item) + where !x.IsRepeatable + select x) { - EAlliedSociety current = enumerator.Current; - IEnumerator enumerator2 = (from x in questData.GetAllByAlliedSociety(current) - where !x.IsRepeatable - select x).GetEnumerator(); - try + byte b = (byte)item2.AlliedSocietyRank; + if (b > 0) { - while (_206F_202E_206C_200B_200E_202C_206B_202E_200E_200D_202D_200C_206E_200F_202E_200D_206C_200B_206F_206C_202A_202A_206B_202D_202D_202E_200C_200B_206C_200D_206C_206B_202C_202C_206B_200C_200B_202B_202A_206B_202E((IEnumerator)enumerator2)) - { - QuestInfo current2 = enumerator2.Current; - byte b = (byte)current2.AlliedSocietyRank; - if (b > 0) - { - dictionary[(current, b)] = (QuestId)current2.QuestId; - } - } + dictionary[(item, b)] = (QuestId)item2.QuestId; } - finally - { - if (enumerator2 != null) - { - _200B_200B_200E_202D_200D_200D_202B_200F_202E_200C_202A_200B_202B_206B_202D_200D_206D_200C_206F_200B_202A_202A_200F_200B_206A_200C_206F_200C_206B_206B_200E_200E_206C_202B_202B_202E_202C_200E_202E_202C_202E((IDisposable)enumerator2); - } - } - } - } - finally - { - if (enumerator != null) - { - _200B_200B_200E_202D_200D_200D_202B_200F_202E_200C_202A_200B_202B_206B_202D_200D_206D_200C_206F_200B_202A_202A_200F_200B_206A_200C_206F_200C_206B_206B_200E_200E_206C_202B_202B_202E_202C_200E_202E_202C_202E((IDisposable)enumerator); } } _rankUpQuests = dictionary.ToImmutableDictionary(); - enumerator = (from x in Enum.GetValues() + foreach (EAlliedSociety item3 in from x in Enum.GetValues() where x != EAlliedSociety.None - select x).GetEnumerator(); - try + select x) { - while (_206F_202E_206C_200B_200E_202C_206B_202E_200E_200D_202D_200C_206E_200F_202E_200D_206C_200B_206F_206C_202A_202A_206B_202D_202D_202E_200C_200B_206C_200D_206C_206B_202C_202C_206B_200C_200B_202B_202A_206B_202E((IEnumerator)enumerator)) + foreach (KeyValuePair> item4 in (from x in questData.GetAllByAlliedSociety(item3) + where x.IsRepeatable + group x by x.IssuerDataId).ToDictionary((IGrouping x) => x.Key, (IGrouping x) => (from y in x + orderby y.AlliedSocietyQuestGroup == 3, y.QuestId + select y).ToList())) { - EAlliedSociety current3 = enumerator.Current; - foreach (KeyValuePair> item in (from x in questData.GetAllByAlliedSociety(current3) - where x.IsRepeatable - group x by x.IssuerDataId).ToDictionary((IGrouping x) => x.Key, (IGrouping x) => (from y in x - orderby y.AlliedSocietyQuestGroup == 3, y.QuestId - select y).ToList())) + item4.Deconstruct(out var key, out var value); + uint issuerDataId = key; + List allQuests = value; + NpcData npcData = new NpcData { - item.Deconstruct(out var key, out var value); - uint issuerDataId = key; - List allQuests = value; - NpcData npcData = new NpcData - { - IssuerDataId = issuerDataId, - AllQuests = allQuests - }; - if (_questsByAlliedSociety.TryGetValue(current3, out List value2)) - { - value2.Add(npcData); - continue; - } - Dictionary> questsByAlliedSociety = _questsByAlliedSociety; - int num = 1; - List list = new List(num); - CollectionsMarshal.SetCount(list, num); - CollectionsMarshal.AsSpan(list)[0] = npcData; - questsByAlliedSociety[current3] = list; + IssuerDataId = issuerDataId, + AllQuests = allQuests + }; + if (_questsByAlliedSociety.TryGetValue(item3, out List value2)) + { + value2.Add(npcData); + continue; } - } - } - finally - { - if (enumerator != null) - { - _200B_200B_200E_202D_200D_200D_202B_200F_202E_200C_202A_200B_202B_206B_202D_200D_206D_200C_206F_200B_202A_202A_200F_200B_206A_200C_206F_200C_206B_206B_200E_200E_206C_202B_202B_202E_202C_200E_202E_202C_202E((IDisposable)enumerator); + Dictionary> questsByAlliedSociety = _questsByAlliedSociety; + int num = 1; + List list = new List(num); + CollectionsMarshal.SetCount(list, num); + CollectionsMarshal.AsSpan(list)[0] = npcData; + questsByAlliedSociety[item3] = list; } } } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe List GetAvailableAlliedSocietyQuests(EAlliedSociety alliedSociety) { - int num = ((alliedSociety != EAlliedSociety.None) ? (-2074607472) : (-2074607467)); - byte rank = default(byte); - byte currentRank = default(byte); - List list = default(List); - bool flag2 = default(bool); - byte dailyQuestSeed = default(byte); - List value = default(List); - NpcData current = default(NpcData); - bool flag = default(bool); - (uint, byte, bool, bool) key = default((uint, byte, bool, bool)); - List value2 = default(List); - while (true) + if (alliedSociety == EAlliedSociety.None) { - int num2 = num; - int num3 = -2074607466; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - { - rank = QuestManager.Instance()->BeastReputation[(int)(alliedSociety - 1)].Rank; - byte num11 = rank; - num3 = 127; - num4 = num11; - currentRank = (byte)(num4 + num3 - (num4 | num3)); - num = ((currentRank != 0) ? (-2074607468) : (-2074607469)); - break; - } - case 3: - return new List(); - case 5: - return new List(); - case 1: - return list; - case 0: - num = -2074607467; - break; - case 2: - { - byte num10 = rank; - num3 = 128; - num4 = num10; - flag2 = num4 + num3 - (num4 | num3) != 0; - dailyQuestSeed = QuestManager.Instance()->DailyQuestSeed; - list = new List(); - num = (_questsByAlliedSociety.TryGetValue(alliedSociety, out value) ? (-2074607470) : (-2074607465)); - break; - } - case 4: - { - using List.Enumerator enumerator = value.GetEnumerator(); - num = -1740472784; - while (true) - { - int num7 = num; - num3 = -1740472781; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 5: - num = -1740472784; - break; - case 1: - current = enumerator.Current; - flag = current.AllQuests.All((QuestInfo x) => currentRank > x.AlliedSocietyRank); - key = (current.IssuerDataId, dailyQuestSeed, flag, flag2); - num = ((!_dailyQuests.TryGetValue(key, out value2)) ? (-1740472783) : (-1740472781)); - break; - case 3: - num = (enumerator.MoveNext() ? (-1740472782) : (-1740472777)); - break; - case 0: - list.AddRange(value2); - num = -1740472784; - break; - case 2: - { - List list2 = CalculateAvailableQuests(current.AllQuests, dailyQuestSeed, flag, currentRank, flag2); - _202E_200E_206F_206E_202E_206C_206D_200B_200F_200C_206A_202A_200C_206F_206F_206E_206C_200D_206E_200D_200B_200D_206C_206B_200F_202B_206D_202A_200D_206E_206B_206A_200B_206D_200E_200E_202B_202B_206A_200E_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(832413821), new object[4] - { - alliedSociety, - dailyQuestSeed, - current.IssuerDataId, - string.Join(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1467939024), list2) - }); - _dailyQuests[key] = list2; - list.AddRange(list2); - num = -1740472784; - break; - } - case 4: - return list; - } - } - } - } + return new List(); } + byte rank = QuestManager.Instance()->BeastReputation[(int)(alliedSociety - 1)].Rank; + byte currentRank = (byte)(rank & 0x7F); + if (currentRank == 0) + { + return new List(); + } + bool flag = (rank & 0x80) != 0; + byte dailyQuestSeed = QuestManager.Instance()->DailyQuestSeed; + List list = new List(); + if (!_questsByAlliedSociety.TryGetValue(alliedSociety, out List value)) + { + return list; + } + foreach (NpcData item in value) + { + bool flag2 = item.AllQuests.All((QuestInfo x) => currentRank > x.AlliedSocietyRank); + (uint, byte, bool, bool) key = (item.IssuerDataId, dailyQuestSeed, flag2, flag); + if (_dailyQuests.TryGetValue(key, out List value2)) + { + list.AddRange(value2); + continue; + } + List list2 = CalculateAvailableQuests(item.AllQuests, dailyQuestSeed, flag2, currentRank, flag); + _logger.LogDebug("Available for {Tribe} (Seed: {Seed}, Issuer: {IssuerId}): {Quests}", alliedSociety, dailyQuestSeed, item.IssuerDataId, string.Join(", ", list2)); + _dailyQuests[key] = list2; + list.AddRange(list2); + } + return list; } public unsafe (byte CurrentRank, ushort CurrentValue, ushort MaxValue, bool IsMaxRank, bool IsAtCapacity)? GetReputationStatus(EAlliedSociety alliedSociety) { BeastReputationWork beastReputationWork = QuestManager.Instance()->BeastReputation[(int)(alliedSociety - 1)]; - byte rank = beastReputationWork.Rank; - int num = 127; - int num2 = rank; - byte b = (byte)(num2 + num - (num2 | num)); - int num3 = ((b != 0) ? 1618192737 : 1618192736); - while (true) + byte b = (byte)(beastReputationWork.Rank & 0x7F); + if (b == 0) { - int num4 = num3; - num = 1618192737; - num2 = num4; - int num5 = num2 + num; - int num6 = num2 & num; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0081; - case 1: - return null; - case 0: - { - ushort value = beastReputationWork.Value; - ushort valueOrDefault = _reputationRequiredByRank.GetValueOrDefault(b, ushort.MaxValue); - byte valueOrDefault2 = _maxRankByAlliedSociety.GetValueOrDefault(alliedSociety, 8); - bool item = b >= valueOrDefault2; - bool item2 = value >= valueOrDefault; - return (b, value, valueOrDefault, item, item2); - } - } - continue; - IL_0081: - num3 = 1618192736; + return null; } + ushort value = beastReputationWork.Value; + ushort valueOrDefault = _reputationRequiredByRank.GetValueOrDefault(b, ushort.MaxValue); + byte valueOrDefault2 = _maxRankByAlliedSociety.GetValueOrDefault(alliedSociety, 8); + bool item = b >= valueOrDefault2; + bool item2 = value >= valueOrDefault; + return (b, value, valueOrDefault, item, item2); } public QuestId? GetRankUpQuest(EAlliedSociety alliedSociety, byte currentRank) @@ -671,239 +183,88 @@ internal sealed class AlliedSocietyQuestFunctions public ushort GetQuestReputationReward(QuestId questId) { - return _questReputationRewards.GetValueOrDefault(_200D_202C_202A_206D_206E_200F_202A_202C_200C_202A_200C_202D_200F_200C_206F_206C_206B_206A_206C_200F_202A_200E_202A_206E_202D_202C_206F_200C_202B_206B_206C_206F_202B_206A_206F_202E_206F_206B_206B_206C_202E((ElementId)questId), 0); + return _questReputationRewards.GetValueOrDefault(questId.Value, 0); } public bool WouldOvercapReputation(QuestId questId) { - IQuestInfo questInfo; - int num = ((!_questData.TryGetQuestInfo(questId, out questInfo)) ? 370818468 : 370818473); - QuestInfo questInfo2 = default(QuestInfo); - (byte, ushort, ushort, bool, bool)? reputationStatus = default((byte, ushort, ushort, bool, bool)?); - ushort item = default(ushort); - ushort item2 = default(ushort); - while (true) + if (!_questData.TryGetQuestInfo(questId, out IQuestInfo questInfo) || !(questInfo is QuestInfo questInfo2)) { - int num2 = num; - int num3 = 370818477; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 7: - num = ((questInfo2.AlliedSociety != EAlliedSociety.None) ? 370818472 : 370818476); - break; - case 4: - questInfo2 = questInfo as QuestInfo; - num = ((questInfo2 != null) ? 370818474 : 370818468); - break; - case 3: - { - (byte, ushort, ushort, bool, bool) value = reputationStatus.Value; - item = value.Item2; - item2 = value.Item3; - num = ((!value.Item4) ? 370818475 : 370818469); - break; - } - case 8: - return false; - case 6: - { - ushort questReputationReward = GetQuestReputationReward(questId); - ushort num7 = item; - num3 = questReputationReward; - num4 = num7; - return (num4 | num3) + (num4 & num3) > item2; - } - case 1: - return false; - case 0: - return false; - case 9: - return false; - case 2: - num = 370818473; - break; - case 5: - reputationStatus = GetReputationStatus(questInfo2.AlliedSociety); - num = (reputationStatus.HasValue ? 370818478 : 370818477); - break; - } + return false; } + if (questInfo2.AlliedSociety == EAlliedSociety.None) + { + return false; + } + (byte, ushort, ushort, bool, bool)? reputationStatus = GetReputationStatus(questInfo2.AlliedSociety); + if (!reputationStatus.HasValue) + { + return false; + } + (byte, ushort, ushort, bool, bool) value = reputationStatus.Value; + ushort item = value.Item2; + ushort item2 = value.Item3; + if (value.Item4) + { + return false; + } + ushort questReputationReward = GetQuestReputationReward(questId); + return item + questReputationReward > item2; } private static List CalculateAvailableQuests(List allQuests, byte seed, bool outranksAll, byte currentRank, bool rankedUp) { List list = allQuests.Where((QuestInfo q) => IsEligible(q, currentRank, rankedUp)).ToList(); List list2 = new List(); - int num = ((list.Count != 0) ? (-1989985077) : (-1989985088)); - int num12 = default(int); - int num20 = default(int); - int num6 = default(int); - Rng rng = default(Rng); - int num5 = default(int); - int num15 = default(int); - int num16 = default(int); - int num10 = default(int); - while (true) + if (list.Count == 0) { - int num2 = num; - int num3 = -1989985086; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return new List(); + } + Rng rng = new Rng(seed); + if (outranksAll) + { + int num = 0; + for (int num2 = Math.Min(list.Count, 3); num < num2; num++) { - case 6: - num = ((num12 < num20) ? (-1989985082) : (-1989985085)); - break; - case 17: - num6 = list.FindIndex((QuestInfo q) => q.AlliedSocietyQuestGroup == 3); - num = ((num6 < 0) ? (-1989985071) : (-1989985076)); - break; - case 9: - rng = new Rng(seed); - num = ((!outranksAll) ? (-1989985069) : (-1989985074)); - break; - case 11: - num = (list2.Contains(list[num5]) ? (-1989985080) : (-1989985087)); - break; - case 2: - return new List(); - case 19: - num6 = list.Count; - num = -1989985083; - break; - case 7: - num15 = list2.Count; - num16 = _202C_206C_206A_206B_206A_200B_206E_206A_202E_200E_206D_206E_200B_200B_206B_206D_206E_200C_202E_206E_200E_202B_206F_202A_206D_206F_200D_206B_202A_200D_206A_206C_206F_202B_202B_200D_206C_202C_206A_202A_202E(num6, 3); - num = -1989985086; - break; - case 3: - { - list2.Add(list[num5]); - int num21 = num15; - num3 = 1; - num4 = num21; - int num22 = num4 ^ num3; - int num23 = num4 & num3; - num15 = num22 + (num23 + num23); - num = -1989985086; - break; - } - case 14: - list2.Add(list[num6 + rng.Next(list.Count - num6)]); - num = -1989985083; - break; - case 16: - num = (list2.Contains(list[num10]) ? (-1989985072) : (-1989985078)); - break; - case 1: - num = -1989985075; - break; - case 12: - num12 = 0; - num20 = _202C_206C_206A_206B_206A_200B_206E_206A_202E_200E_206D_206E_200B_200B_206B_206D_206E_200C_202E_206E_200E_202B_206F_202A_206D_206F_200D_206B_202A_200D_206A_206C_206F_202B_202B_200D_206C_202C_206A_202A_202E(list.Count, 3); - num = -1989985084; - break; - case 4: - num10 = rng.Next(list.Count); - num = -1989985070; - break; - case 18: - { - int num17 = num10; - num3 = 1; - num4 = num17; - int num18 = num4 ^ num3; - int num19 = num4 & num3; - num10 = (num18 + (num19 + num19)) % list.Count; - num = -1989985070; - break; - } - case 0: - num = ((num15 < num16) ? (-1989985081) : (-1989985075)); - break; - case 15: - return list2.Select((QuestInfo x) => (QuestId)x.QuestId).ToList(); - case 13: - num = -1989985088; - break; - case 8: - { - list2.Add(list[num10]); - int num11 = num12; - num3 = 1; - num4 = num11; - int num13 = num4 ^ num3; - int num14 = num4 & num3; - num12 = num13 + (num14 + num14); - num = -1989985084; - break; - } - case 10: - { - int num7 = num5; - num3 = 1; - num4 = num7; - int num8 = num4 ^ num3; - int num9 = num4 & num3; - num5 = (num8 + (num9 + num9)) % num6; - num = -1989985079; - break; - } - case 5: - num5 = rng.Next(num6); - num = -1989985079; - break; + int num3 = rng.Next(list.Count); + while (list2.Contains(list[num3])) + { + num3 = (num3 + 1) % list.Count; + } + list2.Add(list[num3]); } } + else + { + int num4 = list.FindIndex((QuestInfo q) => q.AlliedSocietyQuestGroup == 3); + if (num4 >= 0) + { + list2.Add(list[num4 + rng.Next(list.Count - num4)]); + } + else + { + num4 = list.Count; + } + int num5 = list2.Count; + for (int num6 = Math.Min(num4, 3); num5 < num6; num5++) + { + int num7 = rng.Next(num4); + while (list2.Contains(list[num7])) + { + num7 = (num7 + 1) % num4; + } + list2.Add(list[num7]); + } + } + return list2.Select((QuestInfo x) => (QuestId)x.QuestId).ToList(); } private static bool IsEligible(QuestInfo questInfo, byte currentRank, bool rankedUp) { - int num = (rankedUp ? (-1485940211) : (-1485940210)); - while (true) + if (!rankedUp) { - int num2 = num; - int num3 = -1485940212; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return questInfo.AlliedSocietyRank == currentRank; - case 2: - return questInfo.AlliedSocietyRank <= currentRank; - case 0: - goto IL_0058; - } - continue; - IL_0058: - num = -1485940210; + return questInfo.AlliedSocietyRank <= currentRank; } - } - - static bool _206F_202E_206C_200B_200E_202C_206B_202E_200E_200D_202D_200C_206E_200F_202E_200D_206C_200B_206F_206C_202A_202A_206B_202D_202D_202E_200C_200B_206C_200D_206C_206B_202C_202C_206B_200C_200B_202B_202A_206B_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200B_200B_200E_202D_200D_200D_202B_200F_202E_200C_202A_200B_202B_206B_202D_200D_206D_200C_206F_200B_202A_202A_200F_200B_206A_200C_206F_200C_206B_206B_200E_200E_206C_202B_202B_202E_202C_200E_202E_202C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _202E_200E_206F_206E_202E_206C_206D_200B_200F_200C_206A_202A_200C_206F_206F_206E_206C_200D_206E_200D_200B_200D_206C_206B_200F_202B_206D_202A_200D_206E_206B_206A_200B_206D_200E_200E_202B_202B_206A_200E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static ushort _200D_202C_202A_206D_206E_200F_202A_202C_200C_202A_200C_202D_200F_200C_206F_206C_206B_206A_206C_200F_202A_200E_202A_206E_202D_202C_206F_200C_202B_206B_206C_206F_202B_206A_206F_202E_206F_206B_206B_206C_202E(ElementId P_0) - { - return P_0.Value; - } - - static int _202C_206C_206A_206B_206A_200B_206E_206A_202E_200E_206D_206E_200B_200B_206B_206D_206E_200C_202E_206E_200E_202B_206F_202A_206D_206F_200D_206B_202A_200D_206A_206C_206F_202B_202B_200D_206C_202C_206A_202A_202E(int P_0, int P_1) - { - return Math.Min(P_0, P_1); + return questInfo.AlliedSocietyRank == currentRank; } } diff --git a/Questionable/Questionable.Functions/ChatFunctions.cs b/Questionable/Questionable.Functions/ChatFunctions.cs index 904e351..b916904 100644 --- a/Questionable/Questionable.Functions/ChatFunctions.cs +++ b/Questionable/Questionable.Functions/ChatFunctions.cs @@ -1,8 +1,6 @@ -using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; -using System.Runtime.CompilerServices; using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using LLib; @@ -13,85 +11,6 @@ namespace Questionable.Functions; internal sealed class ChatFunctions { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__3_0; - - public static Func _003C_003E9__3_1; - - public static Func _003C_003E9__3_2; - - public static Func<(uint RowId, string Command), bool> _003C_003E9__3_3; - - public static Func<(uint RowId, string Command), EEmote> _003C_003E9__3_4; - - public static Func<(uint RowId, string Command), string> _003C_003E9__3_5; - - internal bool _003C_002Ector_003Eb__3_0(Emote x) - { - return x.RowId != 0; - } - - internal bool _003C_002Ector_003Eb__3_1(Emote x) - { - return x.TextCommand.IsValid; - } - - internal (uint RowId, string Command) _003C_002Ector_003Eb__3_2(Emote x) - { - return (RowId: x.RowId, Command: x.TextCommand.Value.Command.ToString()); - } - - internal bool _003C_002Ector_003Eb__3_3((uint RowId, string Command) x) - { - int num = (_200E_206A_206F_202E_206D_206E_206F_202B_202B_206A_200D_206B_202B_200D_206D_200C_202B_200E_202B_200C_200C_206F_202D_206C_200D_206D_202C_206B_202E_206D_200C_202D_202B_206B_200C_206F_202B_202D_206B_202D_202E(x.Command) ? 1902035638 : 1902035637); - while (true) - { - int num2 = num; - int num3 = 1902035639; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return false; - case 2: - return _206E_202D_200C_202C_202E_200D_206C_202A_202D_206C_206A_202B_206D_202E_202B_200F_206F_206D_206F_206F_200D_206A_202E_202A_206A_206A_202D_200E_206B_206E_206B_202B_206C_202B_206B_200E_206B_202A_206F_206C_202E(x.Command, '/'); - case 0: - goto IL_005d; - } - continue; - IL_005d: - num = 1902035637; - } - } - - internal EEmote _003C_002Ector_003Eb__3_4((uint RowId, string Command) x) - { - return (EEmote)x.RowId; - } - - internal string _003C_002Ector_003Eb__3_5((uint RowId, string Command) x) - { - return x.Command; - } - - static bool _200E_206A_206F_202E_206D_206E_206F_202B_202B_206A_200D_206B_202B_200D_206D_200C_202B_200E_202B_200C_200C_206F_202D_206C_200D_206D_202C_206B_202E_206D_200C_202D_202B_206B_200C_206F_202B_202D_206B_202D_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static bool _206E_202D_200C_202C_202E_200D_206C_202A_202D_206C_206A_202B_206D_202E_202B_200F_206F_206D_206F_206F_200D_206A_202E_202A_206A_206A_202D_200E_206B_206E_206B_202B_206C_202B_206B_200E_206B_202A_206F_206C_202E(string P_0, char P_1) - { - return P_0.StartsWith(P_1); - } - } - private readonly ReadOnlyDictionary _emoteCommands; private readonly GameFunctions _gameFunctions; @@ -105,108 +24,33 @@ internal sealed class ChatFunctions _emoteCommands = (from x in dataManager.GetExcelSheet() where x.RowId != 0 where x.TextCommand.IsValid - select (RowId: x.RowId, Command: x.TextCommand.Value.Command.ToString())).Where<(uint, string)>(delegate((uint RowId, string Command) x) - { - int num = (_003C_003Ec._200E_206A_206F_202E_206D_206E_206F_202B_202B_206A_200D_206B_202B_200D_206D_200C_202B_200E_202B_200C_200C_206F_202D_206C_200D_206D_202C_206B_202E_206D_200C_202D_202B_206B_200C_206F_202B_202D_206B_202D_202E(x.Command) ? 1902035638 : 1902035637); - while (true) - { - int num2 = num; - int num3 = 1902035639; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return false; - case 2: - return _003C_003Ec._206E_202D_200C_202C_202E_200D_206C_202A_202D_206C_206A_202B_206D_202E_202B_200F_206F_206D_206F_206F_200D_206A_202E_202A_206A_206A_202D_200E_206B_206E_206B_202B_206C_202B_206B_200E_206B_202A_206F_206C_202E(x.Command, '/'); - case 0: - goto IL_005d; - } - continue; - IL_005d: - num = 1902035637; - } - }).ToDictionary<(uint, string), EEmote, string>(((uint RowId, string Command) x) => (EEmote)x.RowId, ((uint RowId, string Command) x) => x.Command).AsReadOnly(); + select (RowId: x.RowId, Command: x.TextCommand.Value.Command.ToString()) into x + where !string.IsNullOrEmpty(x.Command) && x.Command.StartsWith('/') + select x).ToDictionary<(uint, string), EEmote, string>(((uint RowId, string Command) x) => (EEmote)x.RowId, ((uint RowId, string Command) x) => x.Command).AsReadOnly(); } public static void ExecuteCommand(string command) { - int num = (_202D_202B_202A_202C_200E_206F_200C_206F_200B_202E_202C_200F_202A_200D_206C_202B_200B_206A_206B_200D_202A_206E_202A_202C_202B_206D_202B_202B_200D_206A_206D_202D_202D_206D_200F_200B_202D_202D_200B_202D_202E(command, '/') ? 1153841809 : 1153841810); - while (true) + if (command.StartsWith('/')) { - int num2 = num; - int num3 = 1153841811; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - _200F_202B_200B_202A_202E_206A_202C_202B_206A_200E_202B_200C_200F_200D_206C_202B_206C_202B_206A_200B_202E_206C_200C_202E_206D_200B_200E_206C_206E_202A_206B_206F_200E_206A_202E_206C_206C_206C_202D_200C_202E(command); - return; - case 1: - return; - case 0: - goto IL_0052; - } - continue; - IL_0052: - num = 1153841810; + ChatHelper.SendCommand(command); } } - [MethodImpl(MethodImplOptions.NoInlining)] public bool UseEmote(uint dataId, EEmote emote) { IGameObject gameObject = _gameFunctions.FindObjectByDataId(dataId); - int num = ((gameObject == null) ? (-888767094) : (-888767093)); - while (true) + if (gameObject != null) { - int num2 = num; - int num3 = -888767094; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_005b; - case 1: - _202A_200D_202E_206A_202D_200E_202D_202B_206F_200F_202C_200B_200D_200E_202A_200B_206A_206F_200E_202C_206C_206E_206F_202A_202A_206E_200F_202A_200D_200F_206C_202A_206D_206F_200F_200B_202B_206B_200E_200F_202E(_targetManager, gameObject); - ExecuteCommand(_206D_206D_200D_206B_202D_200F_202C_206F_206B_206B_200D_206B_206E_202D_202A_206E_206E_206B_200D_206F_202C_206B_202B_200F_202C_206C_202A_206C_202B_200F_206B_202A_202D_200F_206F_202C_206C_200F_206A_206A_202E(_emoteCommands[emote], global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1428224074))); - return true; - case 0: - return false; - } - continue; - IL_005b: - num = -888767093; + _targetManager.Target = gameObject; + ExecuteCommand(_emoteCommands[emote] + " motion"); + return true; } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public void UseEmote(EEmote emote) { - ExecuteCommand(_206D_206D_200D_206B_202D_200F_202C_206F_206B_206B_200D_206B_206E_202D_202A_206E_206E_206B_200D_206F_202C_206B_202B_200F_202C_206C_202A_206C_202B_200F_206B_202A_202D_200F_206F_202C_206C_200F_206A_206A_202E(_emoteCommands[emote], global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1428224074))); - } - - static bool _202D_202B_202A_202C_200E_206F_200C_206F_200B_202E_202C_200F_202A_200D_206C_202B_200B_206A_206B_200D_202A_206E_202A_202C_202B_206D_202B_202B_200D_206A_206D_202D_202D_206D_200F_200B_202D_202D_200B_202D_202E(string P_0, char P_1) - { - return P_0.StartsWith(P_1); - } - - static void _200F_202B_200B_202A_202E_206A_202C_202B_206A_200E_202B_200C_200F_200D_206C_202B_206C_202B_206A_200B_202E_206C_200C_202E_206D_200B_200E_206C_206E_202A_206B_206F_200E_206A_202E_206C_206C_206C_202D_200C_202E(string P_0) - { - ChatHelper.SendCommand(P_0); - } - - static void _202A_200D_202E_206A_202D_200E_202D_202B_206F_200F_202C_200B_200D_200E_202A_200B_206A_206F_200E_202C_206C_206E_206F_202A_202A_206E_200F_202A_200D_200F_206C_202A_206D_206F_200F_200B_202B_206B_200E_200F_202E(ITargetManager P_0, IGameObject P_1) - { - P_0.Target = P_1; - } - - static string _206D_206D_200D_206B_202D_200F_202C_206F_206B_206B_200D_206B_206E_202D_202A_206E_206E_206B_200D_206F_202C_206B_202B_200F_202C_206C_202A_206C_202B_200F_206B_202A_202D_200F_206F_202C_206C_200F_206A_206A_202E(string P_0, string P_1) - { - return P_0 + P_1; + ExecuteCommand(_emoteCommands[emote] + " motion"); } } diff --git a/Questionable/Questionable.Functions/ExcelFunctions.cs b/Questionable/Questionable.Functions/ExcelFunctions.cs index ade1549..96ee27e 100644 --- a/Questionable/Questionable.Functions/ExcelFunctions.cs +++ b/Questionable/Questionable.Functions/ExcelFunctions.cs @@ -1,8 +1,5 @@ using System; using System.Linq; -using System.Runtime.CompilerServices; -using System.Text.RegularExpressions; -using Dalamud.Game.Text.SeStringHandling; using Dalamud.Plugin.Services; using Dalamud.Utility; using LLib; @@ -11,7 +8,6 @@ using Lumina.Excel.Sheets; using Lumina.Text.ReadOnly; using Microsoft.Extensions.Logging; using Questionable.Model; -using Questionable.Model.Questing; namespace Questionable.Functions; @@ -30,290 +26,78 @@ internal sealed class ExcelFunctions public StringOrRegex GetDialogueText(Questionable.Model.Quest? currentQuest, string? excelSheetName, string key, bool isRegex) { ReadOnlySeString? rawDialogueText = GetRawDialogueText(currentQuest, excelSheetName, key); - int num = ((!isRegex) ? 1072501571 : 1072501572); - while (true) + if (isRegex) { - int num2 = num; - int num3 = 1072501568; - int num4 = num2; - object str; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1072501572; - break; - case 3: - num = (rawDialogueText.HasValue ? 1072501570 : 1072501569); - break; - case 1: - str = null; - goto IL_009e; - case 2: - str = _200D_206F_206A_202A_202D_200D_206B_202E_206C_202D_202A_200C_202E_200C_202B_200E_200C_202E_206C_202D_200C_202A_200C_200F_200C_200E_200D_206A_202E_202E_202B_200F_200C_206E_200D_202B_202A_200F_200D_206D_202E(rawDialogueText.GetValueOrDefault()); - goto IL_009e; - case 4: - { - return new StringOrRegex(_202D_202D_206D_202A_206F_202D_200F_206A_200B_206D_206E_200B_206C_202B_202B_200C_206B_200D_206C_202D_206F_202C_200E_206D_206B_200E_200E_200B_206B_202C_206D_202B_200B_206C_202C_206D_202A_206F_202D_206C_202E(rawDialogueText)); - } - IL_009e: - return new StringOrRegex((string?)str); - } + return new StringOrRegex(rawDialogueText.ToRegex()); } + return new StringOrRegex(rawDialogueText?.WithCertainMacroCodeReplacements()); } - [MethodImpl(MethodImplOptions.NoInlining)] public ReadOnlySeString? GetRawDialogueText(Questionable.Model.Quest? currentQuest, string? excelSheetName, string key) { - int num = ((currentQuest == null) ? 29428304 : 29428309); - Lumina.Excel.Sheets.Quest? rowOrDefault = default(Lumina.Excel.Sheets.Quest?); - while (true) + if (currentQuest != null && excelSheetName == null) { - int num2 = num; - int num3 = 29428305; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + Lumina.Excel.Sheets.Quest? rowOrDefault = _dataManager.GetExcelSheet().GetRowOrDefault((uint)(currentQuest.Id.Value + 65536)); + if (!rowOrDefault.HasValue) { - case 0: - num = 29428309; - break; - case 2: - rowOrDefault = _dataManager.GetExcelSheet().GetRowOrDefault((uint)(_206E_202E_206E_200E_206E_200E_202C_200F_206E_206C_200C_202E_200B_202B_206E_200B_206D_202C_206E_206F_200E_202B_200B_202D_206D_206C_202A_200F_200C_206C_200E_206C_202C_200B_200D_202A_200E_200F_206F_200E_202E(currentQuest.Id) + 65536)); - num = (rowOrDefault.HasValue ? 29428308 : 29428306); - break; - case 4: - num = ((excelSheetName != null) ? 29428304 : 29428307); - break; - case 5: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(7, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1117536650)); - defaultInterpolatedStringHandler.AppendFormatted(_206E_202E_206E_200E_206E_200E_202C_200F_206E_206C_200C_202E_200B_202B_206E_200B_206D_202C_206E_206F_200E_202B_200B_202D_206D_206C_202A_200F_200C_206C_200E_206C_202C_200B_200D_202A_200E_200F_206F_200E_202E(currentQuest.Id) / 100, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1475235233)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(503298330)); - defaultInterpolatedStringHandler.AppendFormatted(rowOrDefault.Value.Id); - excelSheetName = defaultInterpolatedStringHandler.ToStringAndClear(); - num = 29428304; - break; - } - case 3: - _202A_206D_200D_202A_200D_202C_200F_206C_202E_202A_200E_206B_200C_200E_200B_202D_200E_200F_202B_202A_200F_206C_200B_200F_200B_206A_200F_202C_200B_206D_202B_206A_202E_200F_202B_200E_202C_200D_206F_200F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1164547809), new object[1] { currentQuest.Id }); + _logger.LogError("Could not find quest row for {QuestId}", currentQuest.Id); return null; - case 1: - _200B_200E_202A_202E_206D_206D_200D_202D_206E_206D_206E_206D_206E_202C_202A_206B_202A_206B_206F_206B_202D_202D_200B_202A_206F_206B_206B_202C_206D_202E_202C_206E_200E_206A_202E_202C_202D_200C_200C_206D_202E((object)excelSheetName, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1394089071)); - try - { - IDataManager dataManager = _dataManager; - string name = excelSheetName; - return dataManager.GetExcelSheet(null, name).Cast().FirstOrDefault((QuestDialogueText? x) => x.Value.Key == key)?.Value; - } - catch (SheetNotFoundException ex) - { - throw _202C_202B_202E_200D_202B_206A_200D_206B_200C_200C_206F_200D_200C_206A_200D_200F_200D_202B_206B_200E_206B_200D_206C_200B_206E_206D_200C_200C_200E_206C_206B_206C_202A_206E_206F_202B_202E_202D_206D_202C_202E(_202E_202B_200D_206E_202D_200B_206E_202E_206C_206E_206E_202C_200B_200C_202C_206C_206E_200B_200D_206F_206E_206E_206A_206E_206E_206E_202C_202C_206A_200D_200C_200B_200D_200C_206B_202D_206E_206D_202B_206A_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(517692364), excelSheetName, 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(-1767050032)), (Exception)ex); - } } + excelSheetName = $"quest/{currentQuest.Id.Value / 100:000}/{rowOrDefault.Value.Id}"; + } + ArgumentNullException.ThrowIfNull(excelSheetName, "excelSheetName"); + try + { + IDataManager dataManager = _dataManager; + string name = excelSheetName; + return dataManager.GetExcelSheet(null, name).Cast().FirstOrDefault((QuestDialogueText? x) => x.Value.Key == key)?.Value; + } + catch (SheetNotFoundException innerException) + { + throw new SheetNotFoundException("Sheet '" + excelSheetName + "' not found", innerException); } } public StringOrRegex GetDialogueTextByRowId(string? excelSheet, uint rowId, bool isRegex) { ReadOnlySeString? rawDialogueTextByRowId = GetRawDialogueTextByRowId(excelSheet, rowId); - int num = ((!isRegex) ? 22562861 : 22562856); - object str; - while (true) + if (isRegex) { - int num2 = num; - int num3 = 22562857; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 0: - str = null; - break; - case 1: - return new StringOrRegex(_202D_202D_206D_202A_206F_202D_200F_206A_200B_206D_206E_200B_206C_202B_202B_200C_206B_200D_206C_202D_206F_202C_200E_206D_206B_200E_200E_200B_206B_202C_206D_202B_200B_206C_202C_206D_202A_206F_202D_206C_202E(rawDialogueTextByRowId)); - case 4: - num = (rawDialogueTextByRowId.HasValue ? 22562858 : 22562857); - continue; - case 2: - num = 22562856; - continue; - case 3: - str = _202E_200B_206D_206C_206E_202A_200E_202B_206B_206C_202A_200C_202E_206E_206A_206E_202E_206F_202B_200D_202D_206A_202D_200C_200B_206A_202D_206E_206E_200C_200F_202A_200F_206E_206A_200B_202C_202E_202D_202E((object)_202E_206E_206A_206A_206E_200F_202D_200E_206E_200E_200D_200D_200E_202B_200B_200B_206C_202A_206C_200C_200B_200F_202D_200E_206D_200B_206E_202A_202A_206E_206C_206C_200B_202C_200B_206F_200D_202D_200E_206C_202E(rawDialogueTextByRowId.GetValueOrDefault())); - break; - } - break; + return new StringOrRegex(rawDialogueTextByRowId.ToRegex()); } - return new StringOrRegex((string?)str); + return new StringOrRegex(rawDialogueTextByRowId?.ToDalamudString().ToString()); } - [MethodImpl(MethodImplOptions.NoInlining)] public ReadOnlySeString? GetRawDialogueTextByRowId(string? excelSheet, uint rowId) { - int num = ((!_200B_202C_200E_206D_202B_206C_206B_206E_206F_206F_202D_200D_202C_206A_202D_200E_206E_206D_200E_200B_202C_200F_200D_202B_202E_200E_200D_200D_202B_206F_202A_206C_206B_206D_200C_200F_202B_200C_206F_200C_202E(excelSheet, 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(-1570338980))) ? (-409733808) : (-409733813)); - GilShop? rowOrDefault3 = default(GilShop?); - Addon? rowOrDefault4 = default(Addon?); - ContentTalk? rowOrDefault = default(ContentTalk?); - bool flag = default(bool); - EventPathMove? rowOrDefault6 = default(EventPathMove?); - Warp? rowOrDefault5 = default(Warp?); - GimmickYesNo? rowOrDefault2 = default(GimmickYesNo?); - while (true) + bool flag; + switch (excelSheet) { - int num2 = num; - int num3 = -409733800; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + case "GimmickYesNo": + return _dataManager.GetExcelSheet().GetRowOrDefault(rowId)?.Message; + case "Warp": + return _dataManager.GetExcelSheet().GetRowOrDefault(rowId)?.Name; + case "Addon": + return _dataManager.GetExcelSheet().GetRowOrDefault(rowId)?.Text; + case "EventPathMove": + return _dataManager.GetExcelSheet().GetRowOrDefault(rowId)?.Unknown0; + case "GilShop": + return _dataManager.GetExcelSheet().GetRowOrDefault(rowId)?.Name; + default: + if (excelSheet != null) { - case 3: - rowOrDefault3 = _dataManager.GetExcelSheet().GetRowOrDefault(rowId); - num = (rowOrDefault3.HasValue ? (-409733798) : (-409733820)); - break; - case 11: - num = ((excelSheet != null) ? (-409733821) : (-409733807)); - break; - case 22: - return rowOrDefault4.GetValueOrDefault().Text; - case 5: - rowOrDefault = _dataManager.GetExcelSheet().GetRowOrDefault(rowId); - num = (rowOrDefault.HasValue ? (-409733793) : (-409733800)); - break; - case 21: - rowOrDefault4 = _dataManager.GetExcelSheet().GetRowOrDefault(rowId); - num = (rowOrDefault4.HasValue ? (-409733810) : (-409733816)); - break; - case 0: - return null; - case 18: - num = ((!_200B_202C_200E_206D_202B_206C_206B_206E_206F_206F_202D_200D_202C_206A_202D_200E_206E_206D_200E_200B_202C_200F_200D_202B_202E_200E_200D_200D_202B_206F_202A_206C_206B_206D_200C_200F_202B_200C_206F_200C_202E(excelSheet, 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(1839428582))) ? (-409733801) : (-409733797)); - break; - case 27: flag = false; - num = -409733803; break; - case 6: - return rowOrDefault6.GetValueOrDefault().Unknown0; - case 10: - num = -409733813; - break; - case 9: - flag = true; - num = -409733803; - break; - case 2: - return rowOrDefault3.GetValueOrDefault().Name; - case 24: - throw _206A_202E_206F_200C_206F_202E_202C_202B_202A_206C_200C_206F_200E_206B_200E_202E_202E_202D_200B_200B_200F_206B_202D_202C_206F_206F_200D_200C_202C_202B_206C_200B_202C_200C_202B_206A_202E_206A_200B_206A_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1185562918), _206C_206C_200E_200C_206A_200F_202A_206A_206A_202D_206E_206A_200D_200D_206E_202B_200B_200B_200D_206F_200B_206F_206D_200F_202D_206E_202D_206D_202C_206D_200B_206D_206E_200C_206E_206D_206A_206B_202A_206F_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(2034463000), excelSheet)); - case 4: - return null; - case 13: - num = ((!flag) ? (-409733824) : (-409733795)); - break; - case 14: - num = ((!_200B_202C_200E_206D_202B_206C_206B_206E_206F_206F_202D_200D_202C_206A_202D_200E_206E_206D_200E_200B_202C_200F_200D_202B_202E_200E_200D_200D_202B_206F_202A_206C_206B_206D_200C_200F_202B_200C_206F_200C_202E(excelSheet, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1204948289))) ? (-409733814) : (-409733804)); - break; - case 8: - num = ((!_200B_202C_200E_206D_202B_206C_206B_206E_206F_206F_202D_200D_202C_206A_202D_200E_206E_206D_200E_200B_202C_200F_200D_202B_202E_200E_200D_200D_202B_206F_202A_206C_206B_206D_200C_200F_202B_200C_206F_200C_202E(excelSheet, 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(1428251349))) ? (-409733812) : (-409733822)); - break; - case 12: - rowOrDefault6 = _dataManager.GetExcelSheet().GetRowOrDefault(rowId); - num = (rowOrDefault6.HasValue ? (-409733794) : (-409733823)); - break; - case 1: - return rowOrDefault5.GetValueOrDefault().Name; - case 23: - return null; - case 26: - rowOrDefault5 = _dataManager.GetExcelSheet().GetRowOrDefault(rowId); - num = (rowOrDefault5.HasValue ? (-409733799) : (-409733809)); - break; - case 16: - return null; - case 17: - return rowOrDefault2.GetValueOrDefault().Message; - case 20: - num = ((!_200B_202C_200E_206D_202B_206C_206B_206E_206F_206F_202D_200D_202C_206A_202D_200E_206E_206D_200E_200B_202C_200F_200D_202B_202E_200E_200D_200D_202B_206F_202A_206C_206B_206D_200C_200F_202B_200C_206F_200C_202E(excelSheet, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(322628157))) ? (-409733802) : (-409733811)); - break; - case 15: - num = (_200B_202C_200E_206D_202B_206C_206B_206E_206F_206F_202D_200D_202C_206A_202D_200E_206E_206D_200E_200B_202C_200F_200D_202B_202E_200E_200D_200D_202B_206F_202A_206C_206B_206D_200C_200F_202B_200C_206F_200C_202E(excelSheet, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(492487113)) ? (-409733807) : (-409733805)); - break; - case 19: - rowOrDefault2 = _dataManager.GetExcelSheet().GetRowOrDefault(rowId); - num = (rowOrDefault2.HasValue ? (-409733815) : (-409733796)); - break; - case 7: - return rowOrDefault.GetValueOrDefault().Text; - case 28: - return null; - case 25: - return null; } + goto case "ContentTalk"; + case "ContentTalk": + flag = true; + break; } - } - - static Regex _202D_202D_206D_202A_206F_202D_200F_206A_200B_206D_206E_200B_206C_202B_202B_200C_206B_200D_206C_202D_206F_202C_200E_206D_206B_200E_200E_200B_206B_202C_206D_202B_200B_206C_202C_206D_202A_206F_202D_206C_202E(ReadOnlySeString? P_0) - { - return P_0.ToRegex(); - } - - static string _200D_206F_206A_202A_202D_200D_206B_202E_206C_202D_202A_200C_202E_200C_202B_200E_200C_202E_206C_202D_200C_202A_200C_200F_200C_200E_200D_206A_202E_202E_202B_200F_200C_206E_200D_202B_202A_200F_200D_206D_202E(ReadOnlySeString P_0) - { - return P_0.WithCertainMacroCodeReplacements(); - } - - static ushort _206E_202E_206E_200E_206E_200E_202C_200F_206E_206C_200C_202E_200B_202B_206E_200B_206D_202C_206E_206F_200E_202B_200B_202D_206D_206C_202A_200F_200C_206C_200E_206C_202C_200B_200D_202A_200E_200F_206F_200E_202E(ElementId P_0) - { - return P_0.Value; - } - - static void _202A_206D_200D_202A_200D_202C_200F_206C_202E_202A_200E_206B_200C_200E_200B_202D_200E_200F_202B_202A_200F_206C_200B_200F_200B_206A_200F_202C_200B_206D_202B_206A_202E_200F_202B_200E_202C_200D_206F_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogError(P_1, P_2); - } - - static void _200B_200E_202A_202E_206D_206D_200D_202D_206E_206D_206E_206D_206E_202C_202A_206B_202A_206B_206F_206B_202D_202D_200B_202A_206F_206B_206B_202C_206D_202E_202C_206E_200E_206A_202E_202C_202D_200C_200C_206D_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static string _202E_202B_200D_206E_202D_200B_206E_202E_206C_206E_206E_202C_200B_200C_202C_206C_206E_200B_200D_206F_206E_206E_206A_206E_206E_206E_202C_202C_206A_200D_200C_200B_200D_200C_206B_202D_206E_206D_202B_206A_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static SheetNotFoundException _202C_202B_202E_200D_202B_206A_200D_206B_200C_200C_206F_200D_200C_206A_200D_200F_200D_202B_206B_200E_206B_200D_206C_200B_206E_206D_200C_200C_200E_206C_206B_206C_202A_206E_206F_202B_202E_202D_206D_202C_202E(string P_0, Exception P_1) - { - return new SheetNotFoundException(P_0, P_1); - } - - static SeString _202E_206E_206A_206A_206E_200F_202D_200E_206E_200E_200D_200D_200E_202B_200B_200B_206C_202A_206C_200C_200B_200F_202D_200E_206D_200B_206E_202A_202A_206E_206C_206C_200B_202C_200B_206F_200D_202D_200E_206C_202E(ReadOnlySeString P_0) - { - return P_0.ToDalamudString(); - } - - static string _202E_200B_206D_206C_206E_202A_200E_202B_206B_206C_202A_200C_202E_206E_206A_206E_202E_206F_202B_200D_202D_206A_202D_200C_200B_206A_202D_206E_206E_200C_200F_202A_200F_206E_206A_200B_202C_202E_202D_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _200B_202C_200E_206D_202B_206C_206B_206E_206F_206F_202D_200D_202C_206A_202D_200E_206E_206D_200E_200B_202C_200F_200D_202B_202E_200E_200D_200D_202B_206F_202A_206C_206B_206D_200C_200F_202B_200C_206F_200C_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - - static string _206C_206C_200E_200C_206A_200F_202A_206A_206A_202D_206E_206A_200D_200D_206E_202B_200B_200B_200D_206F_200B_206F_206D_200F_202D_206E_202D_206D_202C_206D_200B_206D_206E_200C_206E_206D_206A_206B_202A_206F_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static ArgumentOutOfRangeException _206A_202E_206F_200C_206F_202E_202C_202B_202A_206C_200C_206F_200E_206B_200E_202E_202E_202D_200B_200B_200F_206B_202D_202C_206F_206F_200D_200C_202C_202B_206C_200B_202C_200C_202B_206A_202E_206A_200B_206A_202E(string P_0, string P_1) - { - return new ArgumentOutOfRangeException(P_0, P_1); + if (flag) + { + return _dataManager.GetExcelSheet().GetRowOrDefault(rowId)?.Text; + } + throw new ArgumentOutOfRangeException("excelSheet", "Unsupported excel sheet " + excelSheet); } } diff --git a/Questionable/Questionable.Functions/GameFunctions.cs b/Questionable/Questionable.Functions/GameFunctions.cs index c5636d4..4feec0d 100644 --- a/Questionable/Questionable.Functions/GameFunctions.cs +++ b/Questionable/Questionable.Functions/GameFunctions.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text.RegularExpressions; using Dalamud.Game.ClientState.Conditions; @@ -23,7 +22,6 @@ using LLib; using LLib.GameData; using Lumina.Excel.Sheets; using Microsoft.Extensions.Logging; -using Questionable.Model; using Questionable.Model.Questing; namespace Questionable.Functions; @@ -58,7 +56,7 @@ internal sealed class GameFunctions private readonly ReadOnlyDictionary _contentFinderConditionToContentId; - private static readonly Regex MacroLiteralRegex = _200E_206C_202E_206E_206B_206A_202D_206B_206B_206B_200D_206F_200E_202A_202A_206F_206A_200F_206B_200D_202D_200B_202A_206D_200C_206C_200C_202A_200D_202A_200D_202A_206B_206D_206A_200B_200C_200D_206F_200F_202E(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(-1537827123), RegexOptions.Compiled); + private static readonly Regex MacroLiteralRegex = new Regex("\\\\?<[^>]+>", RegexOptions.Compiled); public GameFunctions(GameStateHelper gameState, PublicEventHelper publicEventHelper, QuestFunctions questFunctions, IDataManager dataManager, IObjectTable objectTable, ITargetManager targetManager, ICondition condition, IClientState clientState, IGameGui gameGui, Configuration configuration, ISigScanner sigScanner, ILogger logger) { @@ -74,347 +72,134 @@ internal sealed class GameFunctions _configuration = configuration; _logger = logger; _abandonDuty = Marshal.GetDelegateForFunctionPointer(EventFramework.Addresses.LeaveCurrentContent.Value); - _contentFinderConditionToContentId = dataManager.GetExcelSheet().Where(delegate(ContentFinderCondition x) - { - int num = ((x.RowId == 0) ? 1024647166 : 1024647165); - while (true) - { - int num2 = num; - int num3 = 1024647164; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return false; - case 1: - return x.Content.RowId != 0; - case 0: - goto IL_005d; - } - continue; - IL_005d: - num = 1024647165; - } - }).ToDictionary((ContentFinderCondition x) => x.RowId, (ContentFinderCondition x) => x.Content.RowId) - .AsReadOnly(); + _contentFinderConditionToContentId = (from x in dataManager.GetExcelSheet() + where x.RowId != 0 && x.Content.RowId != 0 + select x).ToDictionary((ContentFinderCondition x) => x.RowId, (ContentFinderCondition x) => x.Content.RowId).AsReadOnly(); } public bool IsFlyingUnlocked(uint territoryId) { - int num = ((!_configuration.Navigation.NeverFly) ? (-1364280485) : (-1364280489)); - ushort? mountId = default(ushort?); - while (true) + if (_configuration.Navigation.NeverFly) { - int num2 = num; - int num3 = -1364280481; - int num4 = num2; - int? obj; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - num = ((!_206E_206C_206C_202C_202C_206C_206F_206B_200D_206B_206E_206F_202D_202C_206E_202A_202D_206E_202B_202E_200E_200F_206F_202E_206D_206D_206D_202C_206A_206D_206F_200B_200F_206B_200F_202D_200B_200C_202E_200C_202E(_condition, ConditionFlag.Mounted)) ? (-1364280484) : (-1364280486)); - break; - case 2: - obj = mountId.GetValueOrDefault(); - goto IL_009e; - case 1: - obj = null; - goto IL_009e; - case 0: - num = -1364280489; - break; - case 3: - return _202B_202C_206D_206E_200C_206D_206C_206E_200E_206F_206F_206C_202A_202B_202E_202D_206B_202C_206F_200C_200F_206A_202B_206E_206D_206C_202A_202B_206C_202A_206B_206E_206A_206E_200F_200C_206E_200E_202C_200C_202E(_gameState, territoryId); - case 4: - num = ((!_questFunctions.IsQuestAccepted(_202A_206D_206C_206A_202C_202C_202B_206E_206D_202C_200F_202D_200D_202E_200B_200C_202D_202B_202A_206B_202A_202D_206E_206A_202C_200F_206A_200C_200B_206E_200F_200C_200C_206D_200F_200E_206B_206A_200B_202C_202E((ushort)3304))) ? (-1364280484) : (-1364280487)); - break; - case 7: - return true; - case 5: - mountId = GetMountId(); - num = (mountId.HasValue ? (-1364280483) : (-1364280482)); - break; - case 8: - { - return false; - } - IL_009e: - num = ((obj != 198) ? (-1364280484) : (-1364280488)); - break; - } + return false; } + if (_questFunctions.IsQuestAccepted(new QuestId(3304)) && _condition[ConditionFlag.Mounted] && GetMountId() == 198) + { + return true; + } + return _gameState.IsFlyingUnlocked(territoryId); } public bool IsFlyingUnlockedPersistent(uint territoryId) { - int num = ((!_configuration.Navigation.NeverFly) ? (-1580908316) : (-1580908315)); - while (true) + if (_configuration.Navigation.NeverFly) { - int num2 = num; - int num3 = -1580908316; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return _202B_202C_206D_206E_200C_206D_206C_206E_200E_206F_206F_206C_202A_202B_202E_202D_206B_202C_206F_200C_200F_206A_202B_206E_206D_206C_202A_202B_206C_202A_206B_206E_206A_206E_200F_200C_206E_200E_202C_200C_202E(_gameState, territoryId); - case 1: - return false; - case 2: - goto IL_005f; - } - continue; - IL_005f: - num = -1580908315; + return false; } + return _gameState.IsFlyingUnlocked(territoryId); } public ushort? GetMountId() { - return _200B_200E_206F_202A_202E_200E_200C_206E_206A_206A_206A_206F_200B_206C_202B_200C_206B_202C_200E_200B_202E_206A_202E_202E_202D_206A_202A_200D_206C_206D_206C_200D_200C_206D_206A_200E_206F_206C_202D_206A_202E(_gameState); + return _gameState.GetMountId(); } public bool IsFlyingUnlockedInCurrentZone() { - return IsFlyingUnlocked(_206B_202D_206E_206A_202C_200F_202B_202E_206A_206C_206D_200E_206E_202D_206B_202C_206C_200E_200C_200F_206A_200F_200B_206D_202E_206E_200D_202B_206E_206C_206F_200E_202B_202E_202C_202C_206C_206A_200C_206D_202E(_clientState)); + return IsFlyingUnlocked(_clientState.TerritoryType); } public static bool IsAetherCurrentUnlocked(uint aetherCurrentId) { - return _202C_206E_206E_200D_206D_202A_200B_202A_200E_200C_206E_206A_202E_200B_202E_202E_200B_206B_202C_202A_202B_206F_202A_206D_206C_200F_202E_200D_202A_200D_206B_206D_206A_200B_206C_206D_206E_206A_206E_206B_202E(aetherCurrentId); + return PlayerStateHelper.IsAetherCurrentUnlocked(aetherCurrentId); } - [MethodImpl(MethodImplOptions.NoInlining)] public IGameObject? FindObjectByDataId(uint dataId, Dalamud.Game.ClientState.Objects.Enums.ObjectKind? kind = null, bool warnIfMissing = true) { - int num = 0; - int num2 = 807951982; - bool flag = default(bool); - IGameObject gameObject = default(IGameObject); - Dalamud.Game.ClientState.Objects.Enums.ObjectKind objectKind = default(Dalamud.Game.ClientState.Objects.Enums.ObjectKind); - while (true) + for (int i = 0; i < _objectTable.Length; i++) { - int num3 = num2; - int num4 = 807951971; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) + IGameObject gameObject = _objectTable[i]; + if (gameObject != null) { - case 10: - num2 = (flag ? 807951978 : 807951968); - break; - case 18: - num2 = ((!kind.HasValue) ? 807951976 : 807951971); - break; - case 16: - num2 = ((_206D_202C_200F_200B_202C_200B_200B_206C_206C_206E_200F_202B_206F_200E_202B_200C_200B_200D_200F_206E_206D_206B_200F_202E_206C_202C_202C_202C_200E_206F_200F_200E_200B_206C_206D_206B_202D_202D_206A_202D_202E(gameObject) != Dalamud.Game.ClientState.Objects.Enums.ObjectKind.GatheringPoint) ? 807951974 : 807951970); - break; - case 7: - return null; - case 4: - objectKind = _206D_202C_200F_200B_202C_200B_200B_206C_206C_206E_200F_202B_206F_200E_202B_200C_200B_200D_200F_206E_206D_206B_200F_202E_206C_202C_202C_202C_200E_206F_200F_200E_200B_206C_206D_206B_202D_202D_206A_202D_202E(gameObject); - num2 = ((objectKind == Dalamud.Game.ClientState.Objects.Enums.ObjectKind.Pc) ? 807951986 : 807951980); - break; - case 14: - _206A_206B_202A_200C_206A_200E_202D_206C_202A_200E_200B_206B_202B_202E_200D_200F_206F_206C_200E_200E_206E_200F_206F_200B_206B_200B_200F_202B_202E_202A_206C_206B_206D_206A_206F_202C_202C_206D_202C_200C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1434337485), new object[1] { dataId }); - num2 = 807951972; - break; - case 15: - num2 = ((objectKind - 8 <= Dalamud.Game.ClientState.Objects.Enums.ObjectKind.BattleNpc) ? 807951986 : 807951983); - break; - case 13: - num2 = ((num < _202D_206E_206D_200C_200E_200F_200D_200C_200C_202B_206F_202B_202C_206F_206B_200C_202C_202C_206A_206D_202C_206C_200D_200C_200F_202D_200E_206D_202B_202B_200F_202B_206F_202E_202E_206E_202A_206A_206C_206F_202E(_objectTable)) ? 807951984 : 807951973); - break; - case 2: - num2 = 807951982; - break; - case 12: - num2 = ((objectKind != Dalamud.Game.ClientState.Objects.Enums.ObjectKind.HousingEventObject) ? 807951979 : 807951986); - break; - case 3: - num2 = ((gameObject == null) ? 807951974 : 807951987); - break; - case 6: - num2 = ((!warnIfMissing) ? 807951972 : 807951981); - break; - case 9: - { - int num8 = num; - num4 = 1; - num5 = num8; - num = (num5 | num4) + (num5 & num4); - num2 = 807951982; - break; - } - case 5: - num2 = ((_202A_200F_200B_206E_206D_202B_206E_206B_200C_202D_202B_200E_206A_202D_206F_200F_202C_202E_206C_202B_202E_200E_202E_202C_200D_200C_200D_202C_206F_200F_202C_202E_202B_202E_206B_206F_206B_206E_206F_200D_202E(gameObject) != dataId) ? 807951978 : 807951985); - break; - case 8: - flag = false; - num2 = 807951977; - break; - case 17: - flag = true; - num2 = 807951977; - break; - case 0: - num2 = ((kind.Value != _206D_202C_200F_200B_202C_200B_200B_206C_206C_206E_200F_202B_206F_200E_202B_200C_200B_200D_200F_206E_206D_206B_200F_202E_206C_202C_202C_202C_200E_206F_200F_200E_200B_206C_206D_206B_202D_202D_206A_202D_202E(gameObject)) ? 807951978 : 807951976); - break; - case 1: - num2 = ((!_200F_200C_202B_200D_206D_200F_200F_200F_206A_202E_200F_202A_206B_200F_200B_200D_206C_202C_206A_206E_206A_202C_206F_206B_202E_200F_206D_202D_206D_200D_200C_206A_202D_206F_202D_200D_206D_206D_202C_206A_202E(gameObject)) ? 807951978 : 807951974); - break; - case 11: - return gameObject; - case 19: - gameObject = _200E_200B_206B_202E_202B_200C_206D_206D_200E_200B_200F_206C_206C_202D_202D_200C_200B_200E_206A_200C_202D_206A_206F_200D_200D_200C_206C_206E_202D_202E_200C_200D_202A_206E_202D_200F_200E_206F_206E_200C_202E(_objectTable, num); - num2 = ((gameObject == null) ? 807951978 : 807951975); - break; + Dalamud.Game.ClientState.Objects.Enums.ObjectKind objectKind = gameObject.ObjectKind; + bool flag = ((objectKind == Dalamud.Game.ClientState.Objects.Enums.ObjectKind.Pc || objectKind - 8 <= Dalamud.Game.ClientState.Objects.Enums.ObjectKind.BattleNpc || objectKind == Dalamud.Game.ClientState.Objects.Enums.ObjectKind.HousingEventObject) ? true : false); + if (!flag && (gameObject == null || gameObject.ObjectKind != Dalamud.Game.ClientState.Objects.Enums.ObjectKind.GatheringPoint || gameObject.IsTargetable) && gameObject.BaseId == dataId && (!kind.HasValue || kind.Value == gameObject.ObjectKind)) + { + return gameObject; + } } } + if (warnIfMissing) + { + _logger.LogWarning("Could not find GameObject with dataId {DataId}", dataId); + } + return null; } - [MethodImpl(MethodImplOptions.NoInlining)] public bool InteractWith(uint dataId, Dalamud.Game.ClientState.Objects.Enums.ObjectKind? kind = null) { IGameObject gameObject = FindObjectByDataId(dataId, kind); - int num = ((gameObject == null) ? (-1334484933) : (-1334484936)); - while (true) + if (gameObject != null) { - int num2 = num; - int num3 = -1334484935; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - _200B_200D_200E_202D_206C_202D_200D_202D_206F_200F_200C_206A_200F_202E_200D_200B_206F_200D_202C_202D_206E_206A_200C_202D_200E_200E_202B_200C_202D_206D_200E_206F_200E_202B_206C_200E_206C_206F_202D_206F_202E((ILogger)_logger, 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(-1930921245), Array.Empty()); - return false; - case 1: - return InteractWith(gameObject); - case 0: - goto IL_0071; - } - continue; - IL_0071: - num = -1334484936; + return InteractWith(gameObject); } + _logger.LogDebug("Game object is null"); + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe bool InteractWith(IGameObject gameObject) { - _200B_200D_200E_202D_206C_202D_200D_202D_206F_200F_200C_206A_200F_202E_200D_200B_206F_200D_202C_202D_206E_206A_200C_202D_200E_200E_202B_200C_202D_206D_200E_206F_200E_202B_206C_200E_206C_206F_202D_206F_202E((ILogger)_logger, 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(-1635854667), new object[2] + _logger.LogDebug("Setting target with {DataId} to {ObjectId}", gameObject.BaseId, gameObject.EntityId); + _targetManager.Target = null; + _targetManager.Target = gameObject; + if (gameObject.ObjectKind == Dalamud.Game.ClientState.Objects.Enums.ObjectKind.GatheringPoint) { - _202A_200F_200B_206E_206D_202B_206E_206B_200C_202D_202B_200E_206A_202D_206F_200F_202C_202E_206C_202B_202E_200E_202E_202C_200D_200C_200D_202C_206F_200F_202C_202E_202B_202E_206B_206F_206B_206E_206F_200D_202E(gameObject), - _200E_206F_200B_200E_206D_206D_200E_202E_200B_200F_206D_202E_202C_202E_202C_202A_206F_200F_206C_200D_206E_206B_206B_206D_202B_202C_200B_202E_200C_202B_206A_202E_202C_202A_206A_206A_202E_206C_200D_200E_202E(gameObject) - }); - _202D_200B_206B_202B_200E_206A_200F_206D_206D_200B_202A_202E_206D_200C_200F_202B_200D_202C_200D_206F_202E_202D_202E_202C_206E_202A_202E_200F_206A_206C_200C_200F_206B_206F_200E_200E_200B_206C_200C_206D_202E(_targetManager, (IGameObject)null); - _202D_200B_206B_202B_200E_206A_200F_206D_206D_200B_202A_202E_206D_200C_200F_202B_200D_202C_200D_206F_202E_202D_202E_202C_206E_202A_202E_200F_206A_206C_200C_200F_206B_206F_200E_200E_200B_206C_200C_206D_202E(_targetManager, gameObject); - int num = ((_206D_202C_200F_200B_202C_200B_200B_206C_206C_206E_200F_202B_206F_200E_202B_200C_200B_200D_200F_206E_206D_206B_200F_202E_206C_202C_202C_202C_200E_206F_200F_200E_200B_206C_206D_206B_202D_202D_206A_202D_202E(gameObject) != Dalamud.Game.ClientState.Objects.Enums.ObjectKind.GatheringPoint) ? (-1441144196) : (-1441144194)); - long num7 = default(long); - while (true) - { - int num2 = num; - int num3 = -1441144195; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = -1441144194; - break; - case 0: - return false; - case 3: - TargetSystem.Instance()->OpenObjectInteraction((GameObject*)_206D_206E_202A_202A_202D_206B_200B_202D_200F_200B_206C_202D_200C_206C_206D_202A_202B_206B_206C_206B_206D_202B_202D_206F_206F_200C_200E_200E_200B_206C_206A_202A_206A_206C_206A_200C_200B_202D_202C_206A_202E(gameObject)); - _200B_200D_200E_202D_206C_202D_200D_202D_206F_200F_200C_206A_200F_202E_200D_200B_206F_200D_202C_202D_206E_206A_200C_202D_200E_200E_202B_200C_202D_206D_200E_206F_200E_202B_206C_200E_206C_206F_202D_206F_202E((ILogger)_logger, 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(1675557369), Array.Empty()); - return true; - case 1: - num7 = (long)TargetSystem.Instance()->InteractWithObject((GameObject*)_206D_206E_202A_202A_202D_206B_200B_202D_200F_200B_206C_202D_200C_206C_206D_202A_202B_206B_206C_206B_206D_202B_202D_206F_206F_200C_200E_200E_200B_206C_206A_202A_206A_206C_206A_200C_200B_202D_202C_206A_202E(gameObject), checkLineOfSight: false); - _200B_200D_200E_202D_206C_202D_200D_202D_206F_200F_200C_206A_200F_202E_200D_200B_206F_200D_202C_202D_206E_206A_200C_202D_200E_200E_202B_200C_202D_206D_200E_206F_200E_202B_206C_200E_206C_206F_202D_206F_202E((ILogger)_logger, 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(1317132666), new object[1] { num7 }); - num = ((num7 == 7) ? (-1441144195) : (-1441144193)); - break; - case 2: - return num7 > 0; - } + TargetSystem.Instance()->OpenObjectInteraction((GameObject*)gameObject.Address); + _logger.LogDebug("Interact result: (none) for GatheringPoint"); + return true; } + long num = (long)TargetSystem.Instance()->InteractWithObject((GameObject*)gameObject.Address, checkLineOfSight: false); + _logger.LogDebug("Interact result: {Result}", num); + if (num != 7) + { + return num > 0; + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe bool UseItem(uint itemId) { long num = AgentInventoryContext.Instance()->UseItem(itemId, InventoryType.Invalid, 0u, 0); - _200B_200D_200E_202D_206C_202D_200D_202D_206F_200F_200C_206A_200F_202E_200D_200B_206F_200D_202C_202D_206E_206A_200C_202D_200E_200E_202B_200C_202D_206D_200E_206F_200E_202B_206C_200E_206C_206F_202D_206F_202E((ILogger)_logger, 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(1085424213), new object[1] { num }); + _logger.LogDebug("UseItem result: {Result}", num); return num == 0; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe bool UseItem(uint dataId, uint itemId) { IGameObject gameObject = FindObjectByDataId(dataId); - int num = ((gameObject == null) ? (-1343850894) : (-1343850890)); - bool result = default(bool); - while (true) + if (gameObject != null) { - int num2 = num; - int num3 = -1343850893; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _targetManager.Target = gameObject; + long num = AgentInventoryContext.Instance()->UseItem(itemId, InventoryType.Invalid, 0u, 0); + _logger.LogDebug("UseItem result on {DataId}: {Result}", dataId, num); + if ((ulong)num <= 1uL) { - case 0: - result = true; - num = -1343850895; - break; - case 1: - return false; - case 4: - num = -1343850890; - break; - case 5: - { - _202D_200B_206B_202B_200E_206A_200F_206D_206D_200B_202A_202E_206D_200C_200F_202B_200D_202C_200D_206F_202E_202D_202E_202C_206E_202A_202E_200F_206A_206C_200C_200F_206B_206F_200E_200E_200B_206C_200C_206D_202E(_targetManager, gameObject); - long num5 = AgentInventoryContext.Instance()->UseItem(itemId, InventoryType.Invalid, 0u, 0); - _200B_200D_200E_202D_206C_202D_200D_202D_206F_200F_200C_206A_200F_202E_200D_200B_206F_200D_202C_202D_206E_206A_200C_202D_200E_200E_202B_200C_202D_206D_200E_206F_200E_202B_206C_200E_206C_206F_202D_206F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1838451938), new object[2] { dataId, num5 }); - num = (((ulong)num5 > 1uL) ? (-1343850896) : (-1343850893)); - break; - } - case 2: - return result; - case 3: - result = false; - num = -1343850895; - break; + return true; } + return false; } + return false; } public unsafe bool UseItemOnGround(uint dataId, uint itemId) { IGameObject gameObject = FindObjectByDataId(dataId); - int num = ((gameObject == null) ? 888380852 : 888380855); - while (true) + if (gameObject != null) { - int num2 = num; - int num3 = 888380853; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return false; - case 2: - { - Vector3 vector = _202C_202A_200C_206D_200E_200F_206F_206C_202C_202E_200F_200C_200F_202B_200D_202C_206A_200C_200B_206A_206C_206C_206E_202E_206C_202B_206A_200C_206B_202E_202E_200F_200C_202D_200E_202E_206F_200E_200B_202E_202E(gameObject); - return ActionManager.Instance()->UseActionLocation(ActionType.EventItem, itemId, 3758096384uL, &vector, 0u, 0); - } - case 0: - goto IL_007a; - } - continue; - IL_007a: - num = 888380855; + Vector3 position = gameObject.Position; + return ActionManager.Instance()->UseActionLocation(ActionType.EventItem, itemId, 3758096384uL, &position, 0u, 0); } + return false; } public unsafe bool UseItemOnPosition(Vector3 position, uint itemId) @@ -422,188 +207,88 @@ internal sealed class GameFunctions return ActionManager.Instance()->UseActionLocation(ActionType.EventItem, itemId, 3758096384uL, &position, 0u, 0); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe bool UseAction(EAction action) { uint num = (uint)(action & (EAction)65535); - int num2 = (((action & (EAction)65536) == (EAction)65536) ? 1130045637 : 1130045635); - ActionType actionType = default(ActionType); - while (true) + ActionType actionType = (((action & (EAction)65536) != (EAction)65536) ? ActionType.Action : ActionType.GeneralAction); + if (actionType == ActionType.Action) { - int num3 = num2; - int num4 = 1130045637; - int num5 = num3; - int num6; - switch ((num5 | num4) - (num5 & num4)) - { - case 1: - num = ActionManager.Instance()->GetAdjustedActionId(num); - num2 = 1130045632; - break; - case 3: - return false; - case 0: - num6 = 5; - goto IL_0084; - case 2: - num2 = 1130045635; - break; - case 4: - { - bool flag = ActionManager.Instance()->UseAction(actionType, num, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); - _200B_200D_200E_202D_206C_202D_200D_202D_206F_200F_200C_206A_200F_202E_200D_200B_206F_200D_202C_202D_206E_206A_200C_202D_200E_200E_202B_200C_202D_206D_200E_206F_200E_202B_206C_200E_206C_206F_202D_206F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1601213303), new object[3] { action, num, flag }); - return flag; - } - case 6: - num6 = 1; - goto IL_0084; - case 5: - { - num2 = ((ActionManager.Instance()->GetActionStatus(actionType, num, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) != 0) ? 1130045638 : 1130045633); - break; - } - IL_0084: - actionType = (ActionType)num6; - num2 = ((actionType != ActionType.Action) ? 1130045632 : 1130045636); - break; - } + num = ActionManager.Instance()->GetAdjustedActionId(num); } + if (ActionManager.Instance()->GetActionStatus(actionType, num, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) == 0) + { + bool flag = ActionManager.Instance()->UseAction(actionType, num, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); + _logger.LogDebug("UseAction {Action} (adjusted: {AdjustedActionId}) result: {Result}", action, num, flag); + return flag; + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe bool UseAction(IGameObject gameObject, EAction action, bool checkCanUse = true) { - uint num = (uint)(action & (EAction)65535); - int num2 = (((action & (EAction)65536) == (EAction)65536) ? (-1758207256) : (-1758207250)); - bool flag = default(bool); - Lumina.Excel.Sheets.Action row = default(Lumina.Excel.Sheets.Action); - ActionType actionType = default(ActionType); - while (true) + uint actionId = (uint)(action & (EAction)65535); + ActionType actionType = (((action & (EAction)65536) != (EAction)65536) ? ActionType.Action : ActionType.GeneralAction); + if (actionType == ActionType.GeneralAction) { - int num3 = num2; - int num4 = -1758207249; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - int num8; - switch (num6 - (num7 + num7)) - { - case 2: - return flag; - case 4: - _206A_206B_202A_200C_206A_200E_202D_206C_202A_200E_200B_206B_202B_202E_200D_200F_206F_206C_200E_200E_206E_200F_206F_200B_206B_200B_200F_202B_202E_202A_206C_206B_206D_206A_206F_202C_202C_206D_202C_200C_202E((ILogger)_logger, 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(2035975643), new object[3] { action, num, gameObject }); - return false; - case 1: - num8 = 1; - goto IL_0161; - case 8: - _206A_206B_202A_200C_206A_200E_202D_206C_202A_200E_200B_206B_202B_202E_200D_200F_206F_206C_200E_200E_206E_200F_206F_200B_206B_200B_200F_202B_202E_202A_206C_206B_206D_206A_206F_202C_202C_206D_202C_200C_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-124503162), new object[2] { action, gameObject }); - return false; - case 10: - num2 = -1758207250; - break; - case 0: - row = _dataManager.GetExcelSheet().GetRow(num); - _202D_200B_206B_202B_200E_206A_200F_206D_206D_200B_202A_202E_206D_200C_200F_202B_200D_202C_200D_206F_202E_202D_202E_202C_206E_202A_202E_200F_206A_206C_200C_200F_206B_206F_200E_200E_200B_206C_200C_206D_202E(_targetManager, gameObject); - num2 = ((ActionManager.Instance()->GetActionStatus(actionType, num, _202B_200D_202A_206F_202B_202E_206D_206D_202C_206E_202A_206E_200F_200F_202E_206B_202B_200C_200D_200D_206A_202C_206F_200B_202C_200B_202C_206E_202C_206B_200B_206E_206C_202E_202A_200F_200F_206C_202E_206D_202E(gameObject), checkRecastActive: true, checkCastingActive: true, null) != 0) ? (-1758207258) : (-1758207260)); - break; - case 7: - num8 = 5; - goto IL_0161; - case 6: - num2 = (ActionManager.CanUseActionOnTarget(num, (GameObject*)_206D_206E_202A_202A_202D_206B_200B_202D_200F_200B_206C_202D_200C_206C_206D_202A_202B_206B_206C_206B_206D_202B_202D_206F_206F_200C_200E_200E_200B_206C_206A_202A_206A_206C_206A_200C_200B_202D_202C_206A_202E(gameObject)) ? (-1758207249) : (-1758207253)); - break; - case 11: - num2 = ((!row.TargetArea) ? (-1758207261) : (-1758207252)); - break; - case 3: - { - Vector3 vector = _202C_202A_200C_206D_200E_200F_206F_206C_202C_202E_200F_200C_200F_202B_200D_202C_206A_200C_200B_206A_206C_206C_206E_202E_206C_202B_206A_200C_206B_202E_202E_200F_200C_202D_200E_202E_206F_200E_200B_202E_202E(gameObject); - flag = ActionManager.Instance()->UseActionLocation(actionType, num, 3758096384uL, &vector, 0u, 0); - _200B_200D_200E_202D_206C_202D_200D_202D_206F_200F_200C_206A_200F_202E_200D_200B_206F_200D_202C_202D_206E_206A_200C_202D_200E_200E_202B_200C_202D_206D_200E_206F_200E_202B_206C_200E_206C_206F_202D_206F_202E((ILogger)_logger, 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(-652463398), new object[4] { action, num, gameObject, flag }); - num2 = -1758207251; - break; - } - case 12: - flag = ActionManager.Instance()->UseAction(actionType, num, _202B_200D_202A_206F_202B_202E_206D_206D_202C_206E_202A_206E_200F_200F_202E_206B_202B_200C_200D_200D_206A_202C_206F_200B_202C_200B_202C_206E_202C_206B_200B_206E_206C_202E_202A_200F_200F_206C_202E_206D_202E(gameObject), 0u, ActionManager.UseActionMode.None, 0u, null); - _200B_200D_200E_202D_206C_202D_200D_202D_206F_200F_200C_206A_200F_202E_200D_200B_206F_200D_202C_202D_206E_206A_200C_202D_200E_200E_202B_200C_202D_206D_200E_206F_200E_202B_206C_200E_206C_206F_202D_206F_202E((ILogger)_logger, 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(-1081537317), new object[4] { action, num, gameObject, flag }); - num2 = -1758207251; - break; - case 5: - num = ActionManager.Instance()->GetAdjustedActionId(num); - num2 = ((!checkCanUse) ? (-1758207249) : (-1758207255)); - break; - case 9: - { - return false; - } - IL_0161: - actionType = (ActionType)num8; - num2 = ((actionType != ActionType.GeneralAction) ? (-1758207254) : (-1758207257)); - break; - } + _logger.LogWarning("Can not use general action {Action} on target {Target}", action, gameObject); + return false; } + actionId = ActionManager.Instance()->GetAdjustedActionId(actionId); + if (checkCanUse && !ActionManager.CanUseActionOnTarget(actionId, (GameObject*)gameObject.Address)) + { + _logger.LogWarning("Can not use action {Action} (adjusted: {AdjustedActionId}) on target {Target}", action, actionId, gameObject); + return false; + } + Lumina.Excel.Sheets.Action row = _dataManager.GetExcelSheet().GetRow(actionId); + _targetManager.Target = gameObject; + if (ActionManager.Instance()->GetActionStatus(actionType, actionId, gameObject.GameObjectId, checkRecastActive: true, checkCastingActive: true, null) == 0) + { + bool flag; + if (row.TargetArea) + { + Vector3 position = gameObject.Position; + flag = ActionManager.Instance()->UseActionLocation(actionType, actionId, 3758096384uL, &position, 0u, 0); + _logger.LogDebug("UseAction {Action} (adjusted: {AdjustedActionId}) on target area {Target} result: {Result}", action, actionId, gameObject, flag); + } + else + { + flag = ActionManager.Instance()->UseAction(actionType, actionId, gameObject.GameObjectId, 0u, ActionManager.UseActionMode.None, 0u, null); + _logger.LogDebug("UseAction {Action} (adjusted: {AdjustedActionId}) on target {Target} result: {Result}", action, actionId, gameObject, flag); + } + return flag; + } + return false; } public bool IsObjectAtPosition(uint dataId, Vector3 position, float distance) { IGameObject gameObject = FindObjectByDataId(dataId); - int num = ((gameObject == null) ? 1252577697 : 1252577696); - while (true) + if (gameObject != null) { - int num2 = num; - int num3 = 1252577697; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0059; - case 0: - return false; - case 1: - return (_202C_202A_200C_206D_200E_200F_206F_206C_202C_202E_200F_200C_200F_202B_200D_202C_206A_200C_200B_206A_206C_206C_206E_202E_206C_202B_206A_200C_206B_202E_202E_200F_200C_202D_200E_202E_206F_200E_200B_202E_202E(gameObject) - position).Length() < distance; - } - continue; - IL_0059: - num = 1252577696; + return (gameObject.Position - position).Length() < distance; } + return false; } public bool HasStatusPreventingMount() { - return _200B_200E_206E_206D_206B_206F_202B_202D_202B_206B_206F_200F_200F_202C_202A_202B_200C_202B_206A_202A_206F_200C_206E_202B_200F_200F_202D_202A_202B_206A_206A_200C_200B_202B_202A_200B_202B_206A_200E_200C_202E(_gameState); + return _gameState.HasStatusPreventingMount(); } public bool HasStatusPreventingSprint() { - return _206A_202B_200C_200E_202E_200B_206D_202E_202E_200C_206D_206E_206E_200B_206B_206B_206B_206B_202C_206D_206D_202C_202A_200C_206B_202E_202A_200C_206B_200B_200C_206B_206E_206F_202E_206B_200F_202A_206E_206F_202E(_gameState); + return _gameState.HasStatusPreventingSprint(); } public unsafe bool HasStatus(EStatus statusId) { - IPlayerCharacter playerCharacter = _206F_202A_200F_202E_206C_200E_202B_200E_200E_206E_200F_200D_202D_202B_200C_202D_206F_206D_200B_200E_206F_206F_206F_206E_206C_202C_200D_206C_202B_206E_200C_202A_200E_202E_202D_200D_202B_202C_206C_202A_202E(_objectTable); - int num = ((playerCharacter != null) ? 1203210310 : 1203210309); - while (true) + IPlayerCharacter localPlayer = _objectTable.LocalPlayer; + if (localPlayer == null) { - int num2 = num; - int num3 = 1203210308; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0050; - case 2: - { - BattleChara* ptr = (BattleChara*)_206D_206E_202A_202A_202D_206B_200B_202D_200F_200B_206C_202D_200C_206C_206D_202A_202B_206B_206C_206B_206D_202B_202D_206F_206F_200C_200E_200E_200B_206C_206A_202A_206A_206C_206A_200C_200B_202D_202C_206A_202E((IGameObject)playerCharacter); - return ptr->GetStatusManager()->HasStatus((uint)statusId); - } - case 1: - return false; - } - continue; - IL_0050: - num = 1203210309; + return false; } + BattleChara* address = (BattleChara*)localPlayer.Address; + return address->GetStatusManager()->HasStatus((uint)statusId); } public static bool RemoveStatus(EStatus statusId) @@ -613,257 +298,98 @@ internal sealed class GameFunctions public bool Mount() { - return _202D_200F_200F_200C_206B_206A_206B_206E_206E_206E_202A_202A_206A_200B_202D_206C_200B_200F_202E_206C_202B_200E_200D_200D_202C_206D_206D_206E_200B_202A_206C_206E_206C_202D_200B_206F_206F_200E_202C_200E_202E(_gameState, _configuration.Navigation.MountId); + return _gameState.Mount(_configuration.Navigation.MountId); } public bool Unmount() { - return _206B_200F_206B_206E_202C_202A_200B_200B_206F_202C_200B_200E_202D_200C_206E_202D_206D_200C_200B_206A_206F_200F_206E_200B_206A_206B_202E_202B_202E_200D_202B_200F_202D_202E_206A_206A_200E_200B_200D_206C_202E(_gameState); + return _gameState.Unmount(); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe void OpenDutyFinder(uint contentFinderConditionId) { - uint value; - int num = ((!_contentFinderConditionToContentId.TryGetValue(contentFinderConditionId, out value)) ? (-161194421) : (-161194419)); - while (true) + if (_contentFinderConditionToContentId.TryGetValue(contentFinderConditionId, out var value)) { - int num2 = num; - int num3 = -161194417; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + if (UIState.IsInstanceContentUnlocked(value)) { - case 3: - _206B_202A_200C_202E_200E_206B_200B_206A_200B_206D_202E_202C_202D_206C_206C_206A_200F_206B_202C_200D_202D_202B_206D_206F_206C_202D_206E_200E_202B_200E_200D_202B_206A_206E_200D_200D_206D_200B_206B_200D_202E((ILogger)_logger, 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(925011176), new object[2] { contentFinderConditionId, value }); - return; - case 2: - num = ((!UIState.IsInstanceContentUnlocked(value)) ? (-161194420) : (-161194418)); - break; - case 4: - _206B_202A_200C_202E_200E_206B_200B_206A_200B_206D_202E_202C_202D_206C_206C_206A_200F_206B_202C_200D_202D_202B_206D_206F_206C_202D_206E_200E_202B_200E_200D_202B_206A_206E_200D_200D_206D_200B_206B_200D_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1235394690), new object[1] { contentFinderConditionId }); - return; - case 1: AgentContentsFinder.Instance()->OpenRegularDuty(contentFinderConditionId); return; - case 0: - num = -161194419; - break; } + _logger.LogError("Trying to access a locked duty (cf: {ContentFinderId}, content: {ContentId})", contentFinderConditionId, value); + } + else + { + _logger.LogError("Could not find content for content finder condition (cf: {ContentFinderId})", contentFinderConditionId); } } public static bool GameStringEquals(string? a, string? b) { - int num = ((a != null) ? 728092045 : 728092040); - while (true) + if (a == null) { - int num2 = num; - int num3 = 728092041; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - return false; - case 4: - num = ((b != null) ? 728092044 : 728092047); - break; - case 3: - return true; - case 0: - num = 728092040; - break; - case 2: - return _206D_202C_202B_200C_200C_206C_206D_206B_202D_202C_200C_206D_200F_202C_200B_200B_200D_206E_206A_206A_200F_200E_206D_206E_200B_200E_202D_206D_202C_202E_206F_200D_200E_206F_206D_206B_200D_202E_202D_206B_202E(NormalizeGameString(a), NormalizeGameString(b)); - case 5: - num = ((!_206D_202C_202B_200C_200C_206C_206D_206B_202D_202C_200C_206D_200F_202C_200B_200B_200D_206E_206A_206A_200F_200E_206D_206E_200B_200E_202D_206D_202C_202E_206F_200D_200E_206F_206D_206B_200D_202E_202D_206B_202E(a, b)) ? 728092043 : 728092042); - break; - case 1: - return b == null; - } + return b == null; } + if (b == null) + { + return false; + } + if (a == b) + { + return true; + } + return NormalizeGameString(a) == NormalizeGameString(b); } - [MethodImpl(MethodImplOptions.NoInlining)] private static string NormalizeGameString(string value) { - int num = ((!_206B_206A_206F_202E_206F_206F_206D_200C_200E_200B_200D_200E_200E_206E_206F_200E_206A_202A_202A_206A_202D_200D_206A_202B_200B_202B_200D_206E_202D_200E_200C_200C_200D_206E_206E_200E_202A_206A_202C_206E_202E(value, '<', StringComparison.Ordinal)) ? (-1423448910) : (-1423448911)); - while (true) + if (value.Contains('<', StringComparison.Ordinal)) { - int num2 = num; - int num3 = -1423448912; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1423448911; - break; - case 2: - return _200F_200E_206B_200D_200C_206E_200F_200E_202A_200D_206A_202D_200F_206F_200B_200C_200E_200B_206C_206B_206D_202E_200E_206A_206B_200E_202D_202A_200D_206B_202B_200C_202A_206E_200E_200C_206F_206E_202D_206A_202E(_200C_206D_202C_202A_202E_202D_206D_206D_202E_202E_206B_206E_206E_200C_200F_202E_202A_202A_206C_206F_206D_200F_206A_206D_206C_200B_202A_200C_202A_202C_206F_206F_200D_200D_206B_206F_206F_202B_202B_206D_202E(_200B_202D_206D_200B_206E_202A_200D_206B_202E_206A_202A_200D_202D_202D_206A_202C_206E_206E_200B_206F_202C_200B_206C_206F_200F_200D_206A_200D_200D_200D_202B_202A_206D_200F_200F_202C_206C_206F_200C_206A_202E(_206B_200F_200D_200E_202C_200F_200C_202D_200B_206C_202C_206E_206B_200F_200F_200C_206E_202E_206E_200E_206D_200C_206C_202E_202E_202B_206E_202E_206A_200E_202B_206A_206A_200D_200E_202A_206F_200C_202C_200E_202E(value), '–', '-'), 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(1413166639), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-87324410), StringComparison.Ordinal)); - case 1: - value = _200D_200F_206C_200E_206F_200B_206E_206B_206E_206A_206A_200E_202D_202D_206B_206F_200C_206A_202B_202E_200C_202B_202B_206C_200F_200F_202C_206E_202D_206B_206A_206D_206A_202E_200E_206F_206F_200E_200D_202D_202E(MacroLiteralRegex, value, string.Empty); - num = -1423448910; - break; - } + value = MacroLiteralRegex.Replace(value, string.Empty); } + return value.ReplaceLineEndings().Replace('–', '-').Replace("\u00ad", "", StringComparison.Ordinal) + .Trim(); } public unsafe bool IsOccupied() { - int num = ((!_200F_206B_202B_200C_206A_206E_200F_200D_200C_200C_200E_202D_200F_200E_200D_202E_202C_200F_206D_200C_200D_200F_202E_200F_200B_202B_202C_200B_202C_200C_202B_200B_202E_200D_200E_200D_200F_202D_206A_200D_202E(_clientState)) ? 1381723980 : 1381723991); - while (true) + if (!_clientState.IsLoggedIn || _objectTable.LocalPlayer == null) { - int num2 = num; - int num3 = 1381723978; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return true; + } + if (IsLoadingScreenVisible()) + { + return true; + } + if (_condition[ConditionFlag.Crafting]) + { + if (!AgentRecipeNote.Instance()->IsAgentActive()) { - case 16: - num = (_206E_206C_206C_202C_202C_206C_206F_206B_200D_206B_206E_206F_202D_202C_206E_202A_202D_206E_202B_202E_200E_200F_206F_202E_206D_206D_206D_202C_206A_206D_206F_200B_200F_206B_200F_202D_200B_200C_202E_200C_202E(_condition, ConditionFlag.Occupied33) ? 1381723979 : 1381723977); - break; - case 23: - num = (_206E_206C_206C_202C_202C_206C_206F_206B_200D_206B_206E_206F_202D_202C_206E_202A_202D_206E_202B_202E_200E_200F_206F_202E_206D_206D_206D_202C_206A_206D_206F_200B_200F_206B_200F_202D_200B_200C_202E_200C_202E(_condition, ConditionFlag.PreparingToCraft) ? 1381723970 : 1381723985); - break; - case 29: - num = ((_206F_202A_200F_202E_206C_200E_202B_200E_200E_206E_200F_200D_202D_202B_200C_202D_206F_206D_200B_200E_206F_206F_206F_206E_206C_202C_200D_206C_202B_206E_200C_202A_200E_202E_202D_200D_202B_202C_206C_202A_202E(_objectTable) != null) ? 1381723969 : 1381723980); - break; - case 2: - num = (AgentRecipeNote.Instance()->IsAgentActive() ? 1381723997 : 1381723983); - break; - case 7: - num = (_206E_206C_206C_202C_202C_206C_206F_206B_200D_206B_206E_206F_202D_202C_206E_202A_202D_206E_202B_202E_200E_200F_206F_202E_206D_206D_206D_202C_206A_206D_206F_200B_200F_206B_200F_202D_200B_200C_202E_200C_202E(_condition, ConditionFlag.Occupied39) ? 1381723979 : 1381723986); - break; - case 21: - return _206E_206C_206C_202C_202C_206C_206F_206B_200D_206B_206E_206F_202D_202C_206E_202A_202D_206E_202B_202E_200E_200F_206F_202E_206D_206D_206D_202C_206A_206D_206F_200B_200F_206B_200F_202D_200B_200C_202E_200C_202E(_condition, ConditionFlag.Jumping); - case 27: return true; - case 11: - num = ((!IsLoadingScreenVisible()) ? 1381723972 : 1381723993); - break; - case 15: - num = ((!_206E_206C_206C_202C_202C_206C_206F_206B_200D_206B_206E_206F_202D_202C_206E_202A_202D_206E_202B_202E_200E_200F_206F_202E_206D_206D_206D_202C_206A_206D_206F_200B_200F_206B_200F_202D_200B_200C_202E_200C_202E(_condition, ConditionFlag.SufferingStatusAffliction63)) ? 1381723968 : 1381723995); - break; - case 18: - num = (_206E_206C_206C_202C_202C_206C_206F_206B_200D_206B_206E_206F_202D_202C_206E_202A_202D_206E_202B_202E_200E_200F_206F_202E_206D_206D_206D_202C_206A_206D_206F_200B_200F_206B_200F_202D_200B_200C_202E_200C_202E(_condition, ConditionFlag.BetweenAreas51) ? 1381723979 : 1381723998); - break; - case 1: + } + if (!_condition[ConditionFlag.PreparingToCraft]) + { return true; - case 6: - return true; - case 20: - num = (_206E_206C_206C_202C_202C_206C_206F_206B_200D_206B_206E_206F_202D_202C_206E_202A_202D_206E_202B_202E_200E_200F_206F_202E_206D_206D_206D_202C_206A_206D_206F_200B_200F_206B_200F_202D_200B_200C_202E_200C_202E(_condition, ConditionFlag.Jumping61) ? 1381723979 : 1381723971); - break; - case 5: - return true; - case 25: - num = (_206E_206C_206C_202C_202C_206C_206F_206B_200D_206B_206E_206F_202D_202C_206E_202A_202D_206E_202B_202E_200E_200F_206F_202E_206D_206D_206D_202C_206A_206D_206F_200B_200F_206B_200F_202D_200B_200C_202E_200C_202E(_condition, ConditionFlag.BetweenAreas) ? 1381723979 : 1381723992); - break; - case 17: - num = ((_206B_202D_206E_206A_202C_200F_202B_202E_206A_206C_206D_200E_206E_202D_206B_202C_206C_200E_200C_200F_206A_200F_200B_206D_202E_206E_200D_202B_206E_206C_206F_200E_202B_202E_202C_202C_206C_206A_200C_206D_202E(_clientState) != 1052) ? 1381723968 : 1381723974); - break; - case 9: - num = (_206E_206C_206C_202C_202C_206C_206F_206B_200D_206B_206E_206F_202D_202C_206E_202A_202D_206E_202B_202E_200E_200F_206F_202E_206D_206D_206D_202C_206A_206D_206F_200B_200F_206B_200F_202D_200B_200C_202E_200C_202E(_condition, ConditionFlag.ExecutingGatheringAction) ? 1381723979 : 1381723999); - break; - case 13: - num = 1381723991; - break; - case 4: - num = (_206E_206C_206C_202C_202C_206C_206F_206B_200D_206B_206E_206F_202D_202C_206E_202A_202D_206E_202B_202E_200E_200F_206F_202E_206D_206D_206D_202C_206A_206D_206F_200B_200F_206B_200F_202D_200B_200C_202E_200C_202E(_condition, ConditionFlag.Occupied30) ? 1381723979 : 1381723994); - break; - case 28: - num = (_206E_206C_206C_202C_202C_206C_206F_206B_200D_206B_206E_206F_202D_202C_206E_202A_202D_206E_202B_202E_200E_200F_206F_202E_206D_206D_206D_202C_206A_206D_206F_200B_200F_206B_200F_202D_200B_200C_202E_200C_202E(_condition, ConditionFlag.OccupiedInCutSceneEvent) ? 1381723979 : 1381723984); - break; - case 12: - return false; - case 0: - num = (_206E_206C_206C_202C_202C_206C_206F_206B_200D_206B_206E_206F_202D_202C_206E_202A_202D_206E_202B_202E_200E_200F_206F_202E_206D_206D_206D_202C_206A_206D_206F_200B_200F_206B_200F_202D_200B_200C_202E_200C_202E(_condition, ConditionFlag.OccupiedInQuestEvent) ? 1381723979 : 1381723990); - break; - case 24: - num = (_206E_206C_206C_202C_202C_206C_206F_206B_200D_206B_206E_206F_202D_202C_206E_202A_202D_206E_202B_202E_200E_200F_206F_202E_206D_206D_206D_202C_206A_206D_206F_200B_200F_206B_200F_202D_200B_200C_202E_200C_202E(_condition, ConditionFlag.OccupiedInEvent) ? 1381723979 : 1381723978); - break; - case 3: - num = (_206E_206C_206C_202C_202C_206C_206F_206B_200D_206B_206E_206F_202D_202C_206E_202A_202D_206E_202B_202E_200E_200F_206F_202E_206D_206D_206D_202C_206A_206D_206F_200B_200F_206B_200F_202D_200B_200C_202E_200C_202E(_condition, ConditionFlag.Occupied38) ? 1381723979 : 1381723981); - break; - case 19: - return true; - case 26: - num = (_206E_206C_206C_202C_202C_206C_206F_206B_200D_206B_206E_206F_202D_202C_206E_202A_202D_206E_202B_202E_200E_200F_206F_202E_206D_206D_206D_202C_206A_206D_206F_200B_200F_206B_200F_202D_200B_200C_202E_200C_202E(_condition, ConditionFlag.Casting) ? 1381723979 : 1381723996); - break; - case 14: - num = ((!_206E_206C_206C_202C_202C_206C_206F_206B_200D_206B_206E_206F_202D_202C_206E_202A_202D_206E_202B_202E_200E_200F_206F_202E_206D_206D_206D_202C_206A_206D_206F_200B_200F_206B_200F_202D_200B_200C_202E_200C_202E(_condition, ConditionFlag.Crafting)) ? 1381723970 : 1381723976); - break; - case 10: - num = (_206E_206C_206C_202C_202C_206C_206F_206B_200D_206B_206E_206F_202D_202C_206E_202A_202D_206E_202B_202E_200E_200F_206F_202E_206D_206D_206D_202C_206A_206D_206F_200B_200F_206B_200F_202D_200B_200C_202E_200C_202E(_condition, ConditionFlag.Occupied) ? 1381723979 : 1381723982); - break; - case 22: - num = (_206E_206C_206C_202C_202C_206C_206F_206B_200D_206B_206E_206F_202D_202C_206E_202A_202D_206E_202B_202E_200E_200F_206F_202E_206D_206D_206D_202C_206A_206D_206F_200B_200F_206B_200F_202D_200B_200C_202E_200C_202E(_condition, ConditionFlag.MountOrOrnamentTransition) ? 1381723979 : 1381723987); - break; - case 8: - num = ((!_206E_206C_206C_202C_202C_206C_206F_206B_200D_206B_206E_206F_202D_202C_206E_202A_202D_206E_202B_202E_200E_200F_206F_202E_206D_206D_206D_202C_206A_206D_206F_200B_200F_206B_200F_202D_200B_200C_202E_200C_202E(_condition, ConditionFlag.Unconscious)) ? 1381723968 : 1381723973); - break; } } - } - - public unsafe bool IsOccupiedWithCustomDeliveryNpc(Questionable.Model.Quest? currentQuest) - { - int num = ((currentQuest == null) ? 1849968251 : 1849968246); - HashSet hashSet = default(HashSet); - while (true) + if (_condition[ConditionFlag.Unconscious] && _condition[ConditionFlag.SufferingStatusAffliction63] && _clientState.TerritoryType == 1052) { - int num2 = num; - int num3 = 1849968241; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = 1849968246; - break; - case 2: - num = ((_202E_200B_202C_206E_206F_206E_202E_206A_202B_206E_200E_206C_200D_206E_202B_206F_206E_200B_200B_200D_206B_206C_200D_202A_206B_206E_206D_200C_200F_206F_200E_206C_202E_206F_202E_206C_206A_206B_206A_202E_202E(_targetManager) == null) ? 1849968249 : 1849968244); - break; - case 5: - num = ((_202A_200F_200B_206E_206D_202B_206E_206B_200C_202D_202B_200E_206A_202D_206F_200F_202C_202E_206C_202B_202E_200E_202E_202C_200D_200C_200D_202C_206F_200F_202C_202E_202B_202E_206B_206F_206B_206E_206F_200D_202E(_202E_200B_202C_206E_206F_206E_202E_206A_202B_206E_200E_206C_200D_206E_202B_206F_206E_200B_200B_200D_206B_206C_200D_202A_206B_206E_206D_200C_200F_206F_200E_206C_202E_206F_202E_206C_206A_206B_206A_202E_202E(_targetManager)) == currentQuest.Info.IssuerDataId) ? 1849968248 : 1849968249); - break; - case 3: - hashSet = _206D_200F_200C_206F_206B_202A_206E_200D_206F_200E_200D_200D_206C_200E_200D_206D_200D_206B_200E_202D_202A_200E_200D_200F_202D_202C_200F_200C_206B_202E_200E_206A_202D_200B_200F_206B_202C_200E_200F_202C_202E(_condition).ToHashSet(); - hashSet.Remove(ConditionFlag.InDutyQueue); - num = ((hashSet.Count != 2) ? 1849968247 : 1849968240); - break; - case 6: - return false; - case 0: - return hashSet.Contains(ConditionFlag.OccupiedInQuestEvent); - case 1: - num = ((!hashSet.Contains(ConditionFlag.NormalConditions)) ? 1849968247 : 1849968241); - break; - case 9: - num = (AgentSatisfactionSupply.Instance()->IsAgentActive() ? 1849968242 : 1849968250); - break; - case 11: - return false; - case 10: - return false; - case 7: - num = ((currentQuest.Info is SatisfactionSupplyInfo) ? 1849968243 : 1849968251); - break; - case 8: - return false; - } + return false; } + if (!_condition[ConditionFlag.Occupied] && !_condition[ConditionFlag.Occupied30] && !_condition[ConditionFlag.Occupied33] && !_condition[ConditionFlag.Occupied38] && !_condition[ConditionFlag.Occupied39] && !_condition[ConditionFlag.OccupiedInEvent] && !_condition[ConditionFlag.OccupiedInQuestEvent] && !_condition[ConditionFlag.OccupiedInCutSceneEvent] && !_condition[ConditionFlag.Casting] && !_condition[ConditionFlag.MountOrOrnamentTransition] && !_condition[ConditionFlag.BetweenAreas] && !_condition[ConditionFlag.BetweenAreas51] && !_condition[ConditionFlag.Jumping61] && !_condition[ConditionFlag.ExecutingGatheringAction]) + { + return _condition[ConditionFlag.Jumping]; + } + return true; } public bool IsLoadingScreenVisible() { - return _206B_200B_202E_200C_206E_202E_202A_200B_206D_206C_206C_200F_200D_206B_206F_202B_202E_200E_200E_206F_206B_202B_202A_206E_206A_206D_202D_202D_200F_200B_202B_202D_202E_202A_202B_200F_200B_206D_202D_200D_202E(_gameState); + return _gameState.IsLoadingScreenVisible(); } public int GetFreeInventorySlots() { - return _202C_200E_202E_206E_206D_206C_206B_202B_200B_202D_206D_206F_200B_200F_202D_206A_206D_202E_200B_202D_200C_206F_200B_202A_200B_206D_200F_200D_202A_206F_202D_206E_202E_200D_206F_200B_206B_206C_202A_206E_202E(_gameState).GetValueOrDefault(); + return _gameState.GetFreeInventorySlots().GetValueOrDefault(); } public void AbandonDuty() @@ -871,372 +397,84 @@ internal sealed class GameFunctions _abandonDuty(a1: false); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe IReadOnlyList GetUnlockLinks() { UIState* ptr = UIState.Instance(); - int num = ((ptr != null) ? (-1353490127) : (-1353490121)); - uint num8 = default(uint); - List list = default(List); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -1353490124; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + _logger.LogError("Could not query unlock links"); + return Array.Empty(); + } + List list = new List(); + for (uint num = 0u; num < ptr->UnlockLinksBitArray.ByteLength * 8; num++) + { + if (ptr->IsUnlockLinkUnlocked(num)) { - case 4: - num = ((!ptr->IsUnlockLinkUnlocked(num8)) ? (-1353490125) : (-1353490126)); - break; - case 6: - list.Add(num8); - num = -1353490125; - break; - case 5: - list = new List(); - num8 = 0u; - num = -1353490123; - break; - case 0: - num = -1353490121; - break; - case 3: - _206B_202A_200C_202E_200E_206B_200B_206A_200B_206D_202E_202C_202D_206C_206C_206A_200F_206B_202C_200D_202D_202B_206D_206F_206C_202D_206E_200E_202B_200E_200D_202B_206A_206E_200D_200D_206D_200B_206B_200D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(221322502), Array.Empty()); - return Array.Empty(); - case 2: - _200B_200D_200E_202D_206C_202D_200D_202D_206F_200F_200C_206A_200F_202E_200D_200B_206F_200D_202C_202D_206E_206A_200C_202D_200E_200E_202B_200C_202D_206D_200E_206F_200E_202B_206C_200E_206C_206F_202D_206F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(430632350), new object[1] { string.Join(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1087086507), list) }); - return list; - case 1: - num = ((num8 < ptr->UnlockLinksBitArray.ByteLength * 8) ? (-1353490128) : (-1353490122)); - break; - case 7: - { - uint num7 = num8; - num3 = 1; - num4 = (int)num7; - int num9 = num4 ^ num3; - int num10 = num4 & num3; - num8 = (uint)(num9 + (num10 + num10)); - num = -1353490123; - break; - } + list.Add(num); } } + _logger.LogDebug("Unlocked unlock links: {UnlockedUnlockLinks}", string.Join(", ", list)); + return list; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe bool SyncToFate(uint fateId) { - IPlayerCharacter playerCharacter = _206F_202A_200F_202E_206C_200E_202B_200E_200E_206E_200F_200D_202D_202B_200C_202D_206F_206D_200B_200E_206F_206F_206F_206E_206C_202C_200D_206C_202B_206E_200C_202A_200E_202E_202D_200D_202B_202C_206C_202A_202E(_objectTable); - int num = ((playerCharacter != null) ? (-1314333021) : (-1314333022)); - FateManager* ptr = default(FateManager*); - FateContext* currentFate = default(FateContext*); - byte maxLevel = default(byte); - while (true) + IPlayerCharacter localPlayer = _objectTable.LocalPlayer; + if (localPlayer == null) { - int num2 = num; - int num3 = -1314333023; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - ptr = FateManager.Instance(); - num = ((ptr == null) ? (-1314333018) : (-1314333024)); - break; - case 0: - currentFate = ptr->CurrentFate; - maxLevel = currentFate->MaxLevel; - num = ((_206C_206D_200D_206A_206C_202D_206E_202A_200B_206E_200C_200F_200D_200B_202C_206B_206E_202B_200D_206A_200D_202A_202E_206B_206F_200D_206C_206B_200E_202C_202A_200B_206A_206D_202D_206B_202C_206F_206F_200E_202E((ICharacter)playerCharacter) > maxLevel) ? (-1314333019) : (-1314333017)); - break; - case 7: - return false; - case 3: - _206A_206B_202A_200C_206A_200E_202D_206C_202A_200E_200B_206B_202B_202E_200D_200F_206F_206C_200E_200E_206E_200F_206F_200B_206B_200B_200F_202B_202E_202A_206C_206B_206D_206A_206F_202C_202C_206D_202C_200C_202E((ILogger)_logger, 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(-1286612770), Array.Empty()); - return false; - case 5: - num = -1314333022; - break; - case 6: - return true; - case 1: - num = ((ptr->CurrentFate != null) ? (-1314333023) : (-1314333018)); - break; - case 4: - try - { - _200B_200D_200E_202D_206C_202D_200D_202D_206F_200F_200C_206A_200F_202E_200D_200B_206F_200D_202C_202D_206E_206A_200C_202D_200E_200E_202B_200C_202D_206D_200E_206F_200E_202B_206C_200E_206C_206F_202D_206F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1871009359), new object[2] - { - currentFate->FateId, - maxLevel - }); - ExecuteCommand(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(19767302)); - return true; - } - catch (Exception ex) - { - _206A_202D_200F_200E_206D_202C_206C_202A_206B_200B_206B_206E_206A_202C_202C_202C_200B_206E_202C_206E_206C_202E_202B_206C_202B_200C_206D_206E_200D_206D_206E_200C_206E_202C_206D_206F_200F_202C_200D_202E_202E((ILogger)_logger, ex, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-440333270), new object[1] { fateId }); - return false; - } - } + _logger.LogWarning("Cannot sync to FATE: LocalPlayer is null"); + return false; + } + FateManager* ptr = FateManager.Instance(); + if (ptr == null || ptr->CurrentFate == null) + { + return false; + } + FateContext* currentFate = ptr->CurrentFate; + byte maxLevel = currentFate->MaxLevel; + if (localPlayer.Level <= maxLevel) + { + return true; + } + try + { + _logger.LogDebug("Syncing to FATE {FateId} (max level {MaxLevel})", currentFate->FateId, maxLevel); + ExecuteCommand("/lsync"); + return true; + } + catch (Exception exception) + { + _logger.LogError(exception, "Failed to sync to FATE {FateId}", fateId); + return false; } } public ushort GetCurrentFateId() { - PublicEvent? publicEvent = _200F_202A_206F_206A_200D_206C_206B_206C_200E_206A_206A_206A_200D_202E_206F_200C_202D_202B_202C_206E_206E_200D_202C_200F_202E_206A_200D_206A_206A_200D_206D_202B_206B_202B_200F_206A_202E_206E_202C_202E_202E(_publicEventHelper); - int num = ((!publicEvent.HasValue) ? (-1016300898) : (-1016300900)); - PublicEvent valueOrDefault = default(PublicEvent); - while (true) + PublicEvent? currentPlayerEvent = _publicEventHelper.GetCurrentPlayerEvent(); + if (currentPlayerEvent.HasValue) { - int num2 = num; - int num3 = -1016300899; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + PublicEvent valueOrDefault = currentPlayerEvent.GetValueOrDefault(); + if (valueOrDefault.Type == EPublicEventType.Fate) { - case 0: - num = -1016300900; - break; - case 2: return (ushort)valueOrDefault.Id; - case 1: - valueOrDefault = publicEvent.GetValueOrDefault(); - num = ((valueOrDefault.Type == EPublicEventType.Fate) ? (-1016300897) : (-1016300898)); - break; - case 3: - return 0; } } + return 0; } public bool IsFateStillActive(ushort fateId) { - return _200B_206A_200D_200E_206C_200B_206F_206F_200E_206E_206C_200B_206D_206D_202A_206D_206D_206C_202E_206F_202B_200B_206E_206B_200B_206B_202B_200E_206C_202E_202A_202A_206E_206C_206F_200B_206C_202C_206F_200F_202E(_publicEventHelper, fateId); + return _publicEventHelper.IsFateActive(fateId); } public uint GetItemLevel(uint itemId) { - return _202D_206D_206F_200E_200E_200C_206F_200B_202C_206B_206B_202E_202B_206C_206D_206C_200F_206C_202D_200E_200E_206C_200E_202A_200C_200F_200F_200C_200F_200F_206E_200B_206B_206F_206A_206E_200D_206B_200F_202B_202E(_gameState, itemId); + return _gameState.GetItemLevel(itemId); } private static void ExecuteCommand(string command) { - _200C_202E_202E_206B_206B_206A_200E_200C_202C_202A_202D_200D_206E_200E_200E_200B_206D_206A_206E_202A_202A_200F_202C_206A_202C_202C_200E_206A_206E_202C_200F_200E_206B_206B_206E_206D_202E_200D_200B_206E_202E(command); - } - - static QuestId _202A_206D_206C_206A_202C_202C_202B_206E_206D_202C_200F_202D_200D_202E_200B_200C_202D_202B_202A_206B_202A_202D_206E_206A_202C_200F_206A_200C_200B_206E_200F_200C_200C_206D_200F_200E_206B_206A_200B_202C_202E(ushort P_0) - { - return new QuestId(P_0); - } - - static bool _206E_206C_206C_202C_202C_206C_206F_206B_200D_206B_206E_206F_202D_202C_206E_202A_202D_206E_202B_202E_200E_200F_206F_202E_206D_206D_206D_202C_206A_206D_206F_200B_200F_206B_200F_202D_200B_200C_202E_200C_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static bool _202B_202C_206D_206E_200C_206D_206C_206E_200E_206F_206F_206C_202A_202B_202E_202D_206B_202C_206F_200C_200F_206A_202B_206E_206D_206C_202A_202B_206C_202A_206B_206E_206A_206E_200F_200C_206E_200E_202C_200C_202E(GameStateHelper P_0, uint P_1) - { - return P_0.IsFlyingUnlocked(P_1); - } - - static ushort? _200B_200E_206F_202A_202E_200E_200C_206E_206A_206A_206A_206F_200B_206C_202B_200C_206B_202C_200E_200B_202E_206A_202E_202E_202D_206A_202A_200D_206C_206D_206C_200D_200C_206D_206A_200E_206F_206C_202D_206A_202E(GameStateHelper P_0) - { - return P_0.GetMountId(); - } - - static uint _206B_202D_206E_206A_202C_200F_202B_202E_206A_206C_206D_200E_206E_202D_206B_202C_206C_200E_200C_200F_206A_200F_200B_206D_202E_206E_200D_202B_206E_206C_206F_200E_202B_202E_202C_202C_206C_206A_200C_206D_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static bool _202C_206E_206E_200D_206D_202A_200B_202A_200E_200C_206E_206A_202E_200B_202E_202E_200B_206B_202C_202A_202B_206F_202A_206D_206C_200F_202E_200D_202A_200D_206B_206D_206A_200B_206C_206D_206E_206A_206E_206B_202E(uint P_0) - { - return PlayerStateHelper.IsAetherCurrentUnlocked(P_0); - } - - static IGameObject _200E_200B_206B_202E_202B_200C_206D_206D_200E_200B_200F_206C_206C_202D_202D_200C_200B_200E_206A_200C_202D_206A_206F_200D_200D_200C_206C_206E_202D_202E_200C_200D_202A_206E_202D_200F_200E_206F_206E_200C_202E(IObjectTable P_0, int P_1) - { - return P_0[P_1]; - } - - static Dalamud.Game.ClientState.Objects.Enums.ObjectKind _206D_202C_200F_200B_202C_200B_200B_206C_206C_206E_200F_202B_206F_200E_202B_200C_200B_200D_200F_206E_206D_206B_200F_202E_206C_202C_202C_202C_200E_206F_200F_200E_200B_206C_206D_206B_202D_202D_206A_202D_202E(IGameObject P_0) - { - return P_0.ObjectKind; - } - - static bool _200F_200C_202B_200D_206D_200F_200F_200F_206A_202E_200F_202A_206B_200F_200B_200D_206C_202C_206A_206E_206A_202C_206F_206B_202E_200F_206D_202D_206D_200D_200C_206A_202D_206F_202D_200D_206D_206D_202C_206A_202E(IGameObject P_0) - { - return P_0.IsTargetable; - } - - static uint _202A_200F_200B_206E_206D_202B_206E_206B_200C_202D_202B_200E_206A_202D_206F_200F_202C_202E_206C_202B_202E_200E_202E_202C_200D_200C_200D_202C_206F_200F_202C_202E_202B_202E_206B_206F_206B_206E_206F_200D_202E(IGameObject P_0) - { - return P_0.BaseId; - } - - static int _202D_206E_206D_200C_200E_200F_200D_200C_200C_202B_206F_202B_202C_206F_206B_200C_202C_202C_206A_206D_202C_206C_200D_200C_200F_202D_200E_206D_202B_202B_200F_202B_206F_202E_202E_206E_202A_206A_206C_206F_202E(IObjectTable P_0) - { - return P_0.Length; - } - - static void _206A_206B_202A_200C_206A_200E_202D_206C_202A_200E_200B_206B_202B_202E_200D_200F_206F_206C_200E_200E_206E_200F_206F_200B_206B_200B_200F_202B_202E_202A_206C_206B_206D_206A_206F_202C_202C_206D_202C_200C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static void _200B_200D_200E_202D_206C_202D_200D_202D_206F_200F_200C_206A_200F_202E_200D_200B_206F_200D_202C_202D_206E_206A_200C_202D_200E_200E_202B_200C_202D_206D_200E_206F_200E_202B_206C_200E_206C_206F_202D_206F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static uint _200E_206F_200B_200E_206D_206D_200E_202E_200B_200F_206D_202E_202C_202E_202C_202A_206F_200F_206C_200D_206E_206B_206B_206D_202B_202C_200B_202E_200C_202B_206A_202E_202C_202A_206A_206A_202E_206C_200D_200E_202E(IGameObject P_0) - { - return P_0.EntityId; - } - - static void _202D_200B_206B_202B_200E_206A_200F_206D_206D_200B_202A_202E_206D_200C_200F_202B_200D_202C_200D_206F_202E_202D_202E_202C_206E_202A_202E_200F_206A_206C_200C_200F_206B_206F_200E_200E_200B_206C_200C_206D_202E(ITargetManager P_0, IGameObject P_1) - { - P_0.Target = P_1; - } - - static nint _206D_206E_202A_202A_202D_206B_200B_202D_200F_200B_206C_202D_200C_206C_206D_202A_202B_206B_206C_206B_206D_202B_202D_206F_206F_200C_200E_200E_200B_206C_206A_202A_206A_206C_206A_200C_200B_202D_202C_206A_202E(IGameObject P_0) - { - return P_0.Address; - } - - static Vector3 _202C_202A_200C_206D_200E_200F_206F_206C_202C_202E_200F_200C_200F_202B_200D_202C_206A_200C_200B_206A_206C_206C_206E_202E_206C_202B_206A_200C_206B_202E_202E_200F_200C_202D_200E_202E_206F_200E_200B_202E_202E(IGameObject P_0) - { - return P_0.Position; - } - - static ulong _202B_200D_202A_206F_202B_202E_206D_206D_202C_206E_202A_206E_200F_200F_202E_206B_202B_200C_200D_200D_206A_202C_206F_200B_202C_200B_202C_206E_202C_206B_200B_206E_206C_202E_202A_200F_200F_206C_202E_206D_202E(IGameObject P_0) - { - return P_0.GameObjectId; - } - - static bool _200B_200E_206E_206D_206B_206F_202B_202D_202B_206B_206F_200F_200F_202C_202A_202B_200C_202B_206A_202A_206F_200C_206E_202B_200F_200F_202D_202A_202B_206A_206A_200C_200B_202B_202A_200B_202B_206A_200E_200C_202E(GameStateHelper P_0) - { - return P_0.HasStatusPreventingMount(); - } - - static bool _206A_202B_200C_200E_202E_200B_206D_202E_202E_200C_206D_206E_206E_200B_206B_206B_206B_206B_202C_206D_206D_202C_202A_200C_206B_202E_202A_200C_206B_200B_200C_206B_206E_206F_202E_206B_200F_202A_206E_206F_202E(GameStateHelper P_0) - { - return P_0.HasStatusPreventingSprint(); - } - - static IPlayerCharacter _206F_202A_200F_202E_206C_200E_202B_200E_200E_206E_200F_200D_202D_202B_200C_202D_206F_206D_200B_200E_206F_206F_206F_206E_206C_202C_200D_206C_202B_206E_200C_202A_200E_202E_202D_200D_202B_202C_206C_202A_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static bool _202D_200F_200F_200C_206B_206A_206B_206E_206E_206E_202A_202A_206A_200B_202D_206C_200B_200F_202E_206C_202B_200E_200D_200D_202C_206D_206D_206E_200B_202A_206C_206E_206C_202D_200B_206F_206F_200E_202C_200E_202E(GameStateHelper P_0, uint P_1) - { - return P_0.Mount(P_1); - } - - static bool _206B_200F_206B_206E_202C_202A_200B_200B_206F_202C_200B_200E_202D_200C_206E_202D_206D_200C_200B_206A_206F_200F_206E_200B_206A_206B_202E_202B_202E_200D_202B_200F_202D_202E_206A_206A_200E_200B_200D_206C_202E(GameStateHelper P_0) - { - return P_0.Unmount(); - } - - static void _206B_202A_200C_202E_200E_206B_200B_206A_200B_206D_202E_202C_202D_206C_206C_206A_200F_206B_202C_200D_202D_202B_206D_206F_206C_202D_206E_200E_202B_200E_200D_202B_206A_206E_200D_200D_206D_200B_206B_200D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogError(P_1, P_2); - } - - static bool _206D_202C_202B_200C_200C_206C_206D_206B_202D_202C_200C_206D_200F_202C_200B_200B_200D_206E_206A_206A_200F_200E_206D_206E_200B_200E_202D_206D_202C_202E_206F_200D_200E_206F_206D_206B_200D_202E_202D_206B_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - - static bool _206B_206A_206F_202E_206F_206F_206D_200C_200E_200B_200D_200E_200E_206E_206F_200E_206A_202A_202A_206A_202D_200D_206A_202B_200B_202B_200D_206E_202D_200E_200C_200C_200D_206E_206E_200E_202A_206A_202C_206E_202E(string P_0, char P_1, StringComparison P_2) - { - return P_0.Contains(P_1, P_2); - } - - static string _200D_200F_206C_200E_206F_200B_206E_206B_206E_206A_206A_200E_202D_202D_206B_206F_200C_206A_202B_202E_200C_202B_202B_206C_200F_200F_202C_206E_202D_206B_206A_206D_206A_202E_200E_206F_206F_200E_200D_202D_202E(Regex P_0, string P_1, string P_2) - { - return P_0.Replace(P_1, P_2); - } - - static string _206B_200F_200D_200E_202C_200F_200C_202D_200B_206C_202C_206E_206B_200F_200F_200C_206E_202E_206E_200E_206D_200C_206C_202E_202E_202B_206E_202E_206A_200E_202B_206A_206A_200D_200E_202A_206F_200C_202C_200E_202E(string P_0) - { - return P_0.ReplaceLineEndings(); - } - - static string _200B_202D_206D_200B_206E_202A_200D_206B_202E_206A_202A_200D_202D_202D_206A_202C_206E_206E_200B_206F_202C_200B_206C_206F_200F_200D_206A_200D_200D_200D_202B_202A_206D_200F_200F_202C_206C_206F_200C_206A_202E(string P_0, char P_1, char P_2) - { - return P_0.Replace(P_1, P_2); - } - - static string _200C_206D_202C_202A_202E_202D_206D_206D_202E_202E_206B_206E_206E_200C_200F_202E_202A_202A_206C_206F_206D_200F_206A_206D_206C_200B_202A_200C_202A_202C_206F_206F_200D_200D_206B_206F_206F_202B_202B_206D_202E(string P_0, string P_1, string P_2, StringComparison P_3) - { - return P_0.Replace(P_1, P_2, P_3); - } - - static string _200F_200E_206B_200D_200C_206E_200F_200E_202A_200D_206A_202D_200F_206F_200B_200C_200E_200B_206C_206B_206D_202E_200E_206A_206B_200E_202D_202A_200D_206B_202B_200C_202A_206E_200E_200C_206F_206E_202D_206A_202E(string P_0) - { - return P_0.Trim(); - } - - static bool _200F_206B_202B_200C_206A_206E_200F_200D_200C_200C_200E_202D_200F_200E_200D_202E_202C_200F_206D_200C_200D_200F_202E_200F_200B_202B_202C_200B_202C_200C_202B_200B_202E_200D_200E_200D_200F_202D_206A_200D_202E(IClientState P_0) - { - return P_0.IsLoggedIn; - } - - static IGameObject _202E_200B_202C_206E_206F_206E_202E_206A_202B_206E_200E_206C_200D_206E_202B_206F_206E_200B_200B_200D_206B_206C_200D_202A_206B_206E_206D_200C_200F_206F_200E_206C_202E_206F_202E_206C_206A_206B_206A_202E_202E(ITargetManager P_0) - { - return P_0.Target; - } - - static IReadOnlySet _206D_200F_200C_206F_206B_202A_206E_200D_206F_200E_200D_200D_206C_200E_200D_206D_200D_206B_200E_202D_202A_200E_200D_200F_202D_202C_200F_200C_206B_202E_200E_206A_202D_200B_200F_206B_202C_200E_200F_202C_202E(ICondition P_0) - { - return P_0.AsReadOnlySet(); - } - - static bool _206B_200B_202E_200C_206E_202E_202A_200B_206D_206C_206C_200F_200D_206B_206F_202B_202E_200E_200E_206F_206B_202B_202A_206E_206A_206D_202D_202D_200F_200B_202B_202D_202E_202A_202B_200F_200B_206D_202D_200D_202E(GameStateHelper P_0) - { - return P_0.IsLoadingScreenVisible(); - } - - static int? _202C_200E_202E_206E_206D_206C_206B_202B_200B_202D_206D_206F_200B_200F_202D_206A_206D_202E_200B_202D_200C_206F_200B_202A_200B_206D_200F_200D_202A_206F_202D_206E_202E_200D_206F_200B_206B_206C_202A_206E_202E(GameStateHelper P_0) - { - return P_0.GetFreeInventorySlots(); - } - - static byte _206C_206D_200D_206A_206C_202D_206E_202A_200B_206E_200C_200F_200D_200B_202C_206B_206E_202B_200D_206A_200D_202A_202E_206B_206F_200D_206C_206B_200E_202C_202A_200B_206A_206D_202D_206B_202C_206F_206F_200E_202E(ICharacter P_0) - { - return P_0.Level; - } - - static void _206A_202D_200F_200E_206D_202C_206C_202A_206B_200B_206B_206E_206A_202C_202C_202C_200B_206E_202C_206E_206C_202E_202B_206C_202B_200C_206D_206E_200D_206D_206E_200C_206E_202C_206D_206F_200F_202C_200D_202E_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } - - static PublicEvent? _200F_202A_206F_206A_200D_206C_206B_206C_200E_206A_206A_206A_200D_202E_206F_200C_202D_202B_202C_206E_206E_200D_202C_200F_202E_206A_200D_206A_206A_200D_206D_202B_206B_202B_200F_206A_202E_206E_202C_202E_202E(PublicEventHelper P_0) - { - return P_0.GetCurrentPlayerEvent(); - } - - static bool _200B_206A_200D_200E_206C_200B_206F_206F_200E_206E_206C_200B_206D_206D_202A_206D_206D_206C_202E_206F_202B_200B_206E_206B_200B_206B_202B_200E_206C_202E_202A_202A_206E_206C_206F_200B_206C_202C_206F_200F_202E(PublicEventHelper P_0, ushort P_1) - { - return P_0.IsFateActive(P_1); - } - - static uint _202D_206D_206F_200E_200E_200C_206F_200B_202C_206B_206B_202E_202B_206C_206D_206C_200F_206C_202D_200E_200E_206C_200E_202A_200C_200F_200F_200C_200F_200F_206E_200B_206B_206F_206A_206E_200D_206B_200F_202B_202E(GameStateHelper P_0, uint P_1) - { - return P_0.GetItemLevel(P_1); - } - - static void _200C_202E_202E_206B_206B_206A_200E_200C_202C_202A_202D_200D_206E_200E_200E_200B_206D_206A_206E_202A_202A_200F_202C_206A_202C_202C_200E_206A_206E_202C_200F_200E_206B_206B_206E_206D_202E_200D_200B_206E_202E(string P_0) - { - ChatHelper.SendCommand(P_0); - } - - static Regex _200E_206C_202E_206E_206B_206A_202D_206B_206B_206B_200D_206F_200E_202A_202A_206F_206A_200F_206B_200D_202D_200B_202A_206D_200C_206C_200C_202A_200D_202A_200D_202A_206B_206D_206A_200B_200C_200D_206F_200F_202E(string P_0, RegexOptions P_1) - { - return new Regex(P_0, P_1); + ChatHelper.SendCommand(command); } } diff --git a/Questionable/Questionable.Functions/PriorityQuestInfo.cs b/Questionable/Questionable.Functions/PriorityQuestInfo.cs index 334d871..9095b2b 100644 --- a/Questionable/Questionable.Functions/PriorityQuestInfo.cs +++ b/Questionable/Questionable.Functions/PriorityQuestInfo.cs @@ -1,148 +1,8 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Questionable.Model.Questing; namespace Questionable.Functions; internal sealed record PriorityQuestInfo(ElementId QuestId, string? UnavailableReason = null) { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206A_202C_202C_206C_200D_202A_202A_206D_206B_202A_202D_200E_202D_200C_202C_206D_206D_202E_206C_200C_206D_202E_206F_200D_202D_206B_200D_206B_206D_200B_206C_202B_202C_200E_202B_202E_200E_200D_200D_202E(typeof(PriorityQuestInfo).TypeHandle); - } - } - public bool IsAvailable => UnavailableReason == null; - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206C_200B_202A_200F_206B_202B_200B_206B_206C_202D_200F_202D_200D_206E_202C_200F_202E_202B_202B_200F_202A_206A_200E_206E_206E_200B_200C_206D_206F_200F_206D_200C_202B_202E_206A_206C_200E_206E_206D_200E_202E(); - _200F_202D_206A_200D_202B_200F_206D_202A_206B_200B_206C_202D_202D_200D_206F_202C_206E_206B_202E_206D_206D_206C_206E_202B_200B_202C_200F_202D_206C_202A_202B_200D_206E_200D_200E_200C_206F_206F_200F_206A_202E(stringBuilder, 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(1805932779)); - _200F_202D_206A_200D_202B_200F_206D_202A_206B_200B_206C_202D_202D_200D_206F_202C_206E_206B_202E_206D_206D_206C_206E_202B_200B_202C_200F_202D_206C_202A_202B_200D_206E_200D_200E_200C_206F_206F_200F_206A_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? 537897320 : 537897323); - while (true) - { - int num2 = num; - int num3 = 537897322; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 537897323; - break; - case 1: - _200F_202D_206A_206C_200B_206A_206A_206A_206E_206B_206E_202E_202B_202B_206C_202E_206B_202D_200F_202E_202E_202D_200F_206C_202B_206A_206E_202B_206D_202A_200B_200E_200B_206C_200D_202E_202C_200B_202A_206B_202E(stringBuilder, ' '); - num = 537897320; - break; - case 2: - _200F_202D_206A_206C_200B_206A_206A_206A_206E_206B_206E_202E_202B_202B_206C_202E_206B_202D_200F_202E_202E_202D_200F_206C_202B_206A_206E_202B_206D_202A_200B_200E_200B_206C_200D_202E_202C_200B_202A_206B_202E(stringBuilder, '}'); - return _200C_200E_206D_206F_200F_206D_202C_206D_206F_200F_206C_200D_206F_202D_202B_206D_206D_206E_206D_206C_206C_202B_200D_206A_202B_206C_202C_206A_202E_200D_200C_206F_206C_202C_206B_202B_206B_206E_200C_202D_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200F_206A_200B_200B_200E_206C_206E_200E_200F_200F_202D_200E_206B_206B_206E_202A_202B_202E_206E_202B_206C_206F_202E_206D_200D_200B_206B_206F_202A_202B_200C_200D_206E_206E_202D_200E_200E_206F_202A_202C_202E(); - _200F_202D_206A_200D_202B_200F_206D_202A_206B_200B_206C_202D_202D_200D_206F_202C_206E_206B_202E_206D_206D_206C_206E_202B_200B_202C_200F_202D_206C_202A_202B_200D_206E_200D_200E_200C_206F_206F_200F_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2135237278)); - _202C_206B_200C_202C_200F_200B_200C_202A_200D_200D_200D_202C_200E_200B_202C_202E_206E_202D_206A_202C_206E_200C_202E_206D_202E_200D_206E_202C_200E_200B_200D_202A_202C_202E_206D_200C_202C_206A_206C_202B_202E(builder, (object)QuestId); - _200F_202D_206A_200D_202B_200F_206D_202A_206B_200B_206C_202D_202D_200D_206F_202C_206E_206B_202E_206D_206D_206C_206E_202B_200B_202C_200F_202D_206C_202A_202B_200D_206E_200D_200E_200C_206F_206F_200F_206A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(990011326)); - _202C_206B_200C_202C_200F_200B_200C_202A_200D_200D_200D_202C_200E_200B_202C_202E_206E_202D_206A_202C_206E_200C_202E_206D_202E_200D_206E_202C_200E_200B_200D_202A_202C_202E_206D_200C_202C_206A_206C_202B_202E(builder, (object)UnavailableReason); - _200F_202D_206A_200D_202B_200F_206D_202A_206B_200B_206C_202D_202D_200D_206F_202C_206E_206B_202E_206D_206D_206C_206E_202B_200B_202C_200F_202D_206C_202A_202B_200D_206E_200D_200E_200C_206F_206F_200F_206A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-682736150)); - _200F_202D_206A_200D_202B_200F_206D_202A_206B_200B_206C_202D_202D_200D_206F_202C_206E_206B_202E_206D_206D_206C_206E_202B_200B_202C_200F_202D_206C_202A_202B_200D_206E_200D_200E_200C_206F_206F_200F_206A_202E(builder, IsAvailable.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(PriorityQuestInfo? other) - { - int num = (((object)this == other) ? (-830578699) : (-830578704)); - while (true) - { - int num2 = num; - int num3 = -830578698; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -830578704; - break; - case 1: - return EqualityComparer.Default.Equals(UnavailableReason, other.UnavailableReason); - case 0: - num = ((!_200D_200E_202A_200E_200D_206C_200D_200D_206B_202A_200E_206B_202A_206D_206F_202E_200F_202B_202D_206F_200E_200C_200B_202E_200D_202E_206F_202E_206E_202B_206E_202C_206F_202C_202A_200B_200D_202B_202B_200E_202E(EqualityContract, other.EqualityContract)) ? (-830578702) : (-830578701)); - break; - case 5: - num = ((!EqualityComparer.Default.Equals(QuestId, other.QuestId)) ? (-830578702) : (-830578697)); - break; - case 6: - num = (((object)other == null) ? (-830578702) : (-830578698)); - break; - case 3: - return true; - case 4: - return false; - } - } - } - - bool IEquatable.Equals(PriorityQuestInfo? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206A_202C_202C_206C_200D_202A_202A_206D_206B_202A_202D_200E_202D_200C_202C_206D_206D_202E_206C_200C_206D_202E_206F_200D_202D_206B_200D_206B_206D_200B_206C_202B_202C_200E_202B_202E_200E_200D_200D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206C_200B_202A_200F_206B_202B_200B_206B_206C_202D_200F_202D_200D_206E_202C_200F_202E_202B_202B_200F_202A_206A_200E_206E_206E_200B_200C_206D_206F_200F_206D_200C_202B_202E_206A_206C_200E_206E_206D_200E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200F_202D_206A_200D_202B_200F_206D_202A_206B_200B_206C_202D_202D_200D_206F_202C_206E_206B_202E_206D_206D_206C_206E_202B_200B_202C_200F_202D_206C_202A_202B_200D_206E_200D_200E_200C_206F_206F_200F_206A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200F_202D_206A_206C_200B_206A_206A_206A_206E_206B_206E_202E_202B_202B_206C_202E_206B_202D_200F_202E_202E_202D_200F_206C_202B_206A_206E_202B_206D_202A_200B_200E_200B_206C_200D_202E_202C_200B_202A_206B_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200C_200E_206D_206F_200F_206D_202C_206D_206F_200F_206C_200D_206F_202D_202B_206D_206D_206E_206D_206C_206C_202B_200D_206A_202B_206C_202C_206A_202E_200D_200C_206F_206C_202C_206B_202B_206B_206E_200C_202D_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200F_206A_200B_200B_200E_206C_206E_200E_200F_200F_202D_200E_206B_206B_206E_202A_202B_202E_206E_202B_206C_206F_202E_206D_200D_200B_206B_206F_202A_202B_200C_200D_206E_206E_202D_200E_200E_206F_202A_202C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202C_206B_200C_202C_200F_200B_200C_202A_200D_200D_200D_202C_200E_200B_202C_202E_206E_202D_206A_202C_206E_200C_202E_206D_202E_200D_206E_202C_200E_200B_200D_202A_202C_202E_206D_200C_202C_206A_206C_202B_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200D_200E_202A_200E_200D_206C_200D_200D_206B_202A_200E_206B_202A_206D_206F_202E_200F_202B_202D_206F_200E_200C_200B_202E_200D_202E_206F_202E_206E_202B_206E_202C_206F_202C_202A_200B_200D_202B_202B_200E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } } diff --git a/Questionable/Questionable.Functions/QuestFunctions.cs b/Questionable/Questionable.Functions/QuestFunctions.cs index 4140c89..43020ef 100644 --- a/Questionable/Questionable.Functions/QuestFunctions.cs +++ b/Questionable/Questionable.Functions/QuestFunctions.cs @@ -1,10 +1,7 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Linq; -using System.Runtime.CompilerServices; using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Memory; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Application.Network.WorkDefinitions; @@ -15,8 +12,6 @@ using FFXIVClientStructs.FFXIV.Client.UI.Agent; using FFXIVClientStructs.FFXIV.Component.GUI; using LLib.GameData; using LLib.GameUI; -using Lumina.Excel; -using Lumina.Excel.Sheets; using Microsoft.Extensions.Logging; using Questionable.Controller; using Questionable.Controller.Utils; @@ -28,346 +23,6 @@ namespace Questionable.Functions; internal sealed class QuestFunctions { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__21_0; - - public static Func _003C_003E9__21_2; - - public static Func _003C_003E9__21_3; - - public static Func _003C_003E9__22_0; - - public static Func _003C_003E9__22_1; - - public static Func _003C_003E9__22_2; - - public static Func _003C_003E9__22_3; - - public static Func _003C_003E9__22_4; - - public static Func _003C_003E9__22_5; - - public static Func _003C_003E9__26_2; - - public static Func _003C_003E9__27_0; - - public static Func _003C_003E9__27_2; - - public static Func _003C_003E9__27_4; - - public static Func _003C_003E9__45_0; - - public static Func _003C_003E9__54_0; - - internal bool _003CTryResolveFallbackMsq_003Eb__21_0(QuestInfo x) - { - int num = ((x.StartingCity == 0) ? 1042305841 : 1042305842); - while (true) - { - int num2 = num; - int num3 = 1042305843; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return true; - case 1: - return x.StartingCity == _206C_200E_200B_200C_206F_200D_200E_200F_200C_206C_202C_200F_200F_206A_202E_200D_202C_200E_200B_206A_202C_206B_200D_202D_202D_206D_200F_200C_200F_206A_200D_200E_202E_200D_206B_202D_200B_206C_200D_202C_202E(); - case 0: - goto IL_0058; - } - continue; - IL_0058: - num = 1042305842; - } - } - - internal ushort _003CTryResolveFallbackMsq_003Eb__21_2(QuestInfo x) - { - return _206A_202A_200F_202D_206E_206A_200C_202D_206C_206C_206D_206E_206E_200E_200D_206E_200E_200C_206D_202D_206E_200B_202A_202E_206A_202C_200E_200F_206D_206C_200F_206A_206C_206D_200E_200C_200B_202D_206A_200F_202E(x.QuestId); - } - - internal ushort _003CTryResolveFallbackMsq_003Eb__21_3(QuestInfo x) - { - return _206A_202A_200F_202D_206E_206A_200C_202D_206C_206C_206D_206E_206E_200E_200D_206E_200E_200C_206D_202D_206E_200B_202A_202E_206A_202C_200E_200F_206D_206C_200F_206A_206C_206D_200E_200C_200B_202D_206A_200F_202E(x.QuestId); - } - - internal bool _003CResolveBranchingMsq_003Eb__22_0(QuestInfo x) - { - ushort num = _206A_202A_200F_202D_206E_206A_200C_202D_206C_206C_206D_206E_206E_200E_200D_206E_200E_200C_206D_202D_206E_200B_202A_202E_206A_202C_200E_200F_206D_206C_200F_206A_206C_206D_200E_200C_200B_202D_206A_200F_202E(x.QuestId); - int num2 = 680; - int num3 = num; - int num4 = (((uint)(~(~num3 + num2)) > 2u) ? 1179559324 : 1179559327); - bool result = default(bool); - while (true) - { - int num5 = num4; - num2 = 1179559326; - num3 = num5; - int num6 = num3 + num2; - int num7 = num3 & num2; - switch (num6 - (num7 + num7)) - { - case 3: - num4 = 1179559327; - break; - case 0: - return result; - case 2: - result = false; - num4 = 1179559326; - break; - case 1: - result = true; - num4 = 1179559326; - break; - } - } - } - - internal bool _003CResolveBranchingMsq_003Eb__22_1(QuestInfo x) - { - return _206A_202A_200F_202D_206E_206A_200C_202D_206C_206C_206D_206E_206E_200E_200D_206E_200E_200C_206D_202D_206E_200B_202A_202E_206A_202C_200E_200F_206D_206C_200F_206A_206C_206D_200E_200C_200B_202D_206A_200F_202E(x.QuestId) == 1583; - } - - internal bool _003CResolveBranchingMsq_003Eb__22_2(QuestInfo x) - { - return _206A_202A_200F_202D_206E_206A_200C_202D_206C_206C_206D_206E_206E_200E_200D_206E_200E_200C_206D_202D_206E_200B_202A_202E_206A_202C_200E_200F_206D_206C_200F_206A_206C_206D_200E_200C_200B_202D_206A_200F_202E(x.QuestId) == 2451; - } - - internal bool _003CResolveBranchingMsq_003Eb__22_3(QuestInfo x) - { - return _206A_202A_200F_202D_206E_206A_200C_202D_206C_206C_206D_206E_206E_200E_200D_206E_200E_200C_206D_202D_206E_200B_202A_202E_206A_202C_200E_200F_206D_206C_200F_206A_206C_206D_200E_200C_200B_202D_206A_200F_202E(x.QuestId) == 3282; - } - - internal bool _003CResolveBranchingMsq_003Eb__22_4(QuestInfo x) - { - return _206A_202A_200F_202D_206E_206A_200C_202D_206C_206C_206D_206E_206E_200E_200D_206E_200E_200C_206D_202D_206E_200B_202A_202E_206A_202C_200E_200F_206D_206C_200F_206A_206C_206D_200E_200C_200B_202D_206A_200F_202E(x.QuestId) == 4359; - } - - internal bool _003CResolveBranchingMsq_003Eb__22_5(QuestInfo x) - { - return _206A_202A_200F_202D_206E_206A_200C_202D_206C_206C_206D_206E_206E_200E_200D_206E_200E_200C_206D_202D_206E_200B_202A_202E_206A_202C_200E_200F_206D_206C_200F_206A_206C_206D_200E_200C_200B_202D_206A_200F_202E(x.QuestId) == 4865; - } - - internal bool _003CGetNextPriorityQuestsThatCanBeAccepted_003Eb__26_2(EClassJob x) - { - int num = (_202E_206D_206E_200E_202B_206E_200F_206A_206C_202D_200E_202E_200B_206E_202A_200F_200C_206D_206E_200F_206E_200C_200F_202C_202D_200C_200D_200D_206B_200D_200C_202B_202C_206F_202A_206E_206D_202A_206F_206A_202E(x) ? 1114029440 : 1114029443); - while (true) - { - int num2 = num; - int num3 = 1114029442; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0046; - case 1: - return !_200C_200E_200C_202A_202B_202A_206D_202D_206E_202C_202A_202A_206B_200D_200C_206B_200E_200D_202D_206A_202E_202E_206B_206F_200F_202C_202B_206E_200B_200C_202D_206F_202E_202B_202D_200D_202E_202B_202A_206C_202E(x); - case 2: - return false; - } - continue; - IL_0046: - num = 1114029443; - } - } - - internal ElementId _003CGetPriorityQuests_003Eb__27_0(QuestInfo x) - { - return x.QuestId; - } - - internal ElementId _003CGetPriorityQuests_003Eb__27_2(QuestInfo x) - { - return x.QuestId; - } - - internal ElementId _003CGetPriorityQuests_003Eb__27_4(QuestInfo x) - { - return x.QuestId; - } - - internal bool _003CGetAllRankUpQuestsNeeded_003Eb__45_0(EAlliedSociety s) - { - return s != EAlliedSociety.None; - } - - internal bool _003CHasCompletedPreviousInstances_003Eb__54_0(ushort x) - { - return UIState.IsInstanceContentCompleted(x); - } - - static byte _206C_200E_200B_200C_206F_200D_200E_200F_200C_206C_202C_200F_200F_206A_202E_200D_202C_200E_200B_206A_202C_206B_200D_202D_202D_206D_200F_200C_200F_206A_200D_200E_202E_200D_206B_202D_200B_206C_200D_202C_202E() - { - return PlayerStateHelper.GetStartTown(); - } - - static ushort _206A_202A_200F_202D_206E_206A_200C_202D_206C_206C_206D_206E_206E_200E_200D_206E_200E_200C_206D_202D_206E_200B_202A_202E_206A_202C_200E_200F_206D_206C_200F_206A_206C_206D_200E_200C_200B_202D_206A_200F_202E(ElementId P_0) - { - return P_0.Value; - } - - static bool _202E_206D_206E_200E_202B_206E_200F_206A_206C_202D_200E_202E_200B_206E_202A_200F_200C_206D_206E_200F_206E_200C_200F_202C_202D_200C_200D_200D_206B_200D_200C_202B_202C_206F_202A_206E_206D_202A_206F_206A_202E(EClassJob P_0) - { - return P_0.IsCrafter(); - } - - static bool _200C_200E_200C_202A_202B_202A_206D_202D_206E_202C_202A_202A_206B_200D_200C_206B_200E_200D_202D_206A_202E_202E_206B_206F_200F_202C_202B_206E_200B_200C_202D_206F_202E_202B_202D_200D_202E_202B_202A_206C_202E(EClassJob P_0) - { - return P_0.IsGatherer(); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass24_0 - { - public uint[] dataIds; - - internal bool _003CIsInteractSequence_003Eb__0(QuestStep x) - { - int num = ((x == null) ? (-1902168028) : (-1902168030)); - uint? num5 = default(uint?); - while (true) - { - int num2 = num; - int num3 = -1902168027; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = -1902168030; - break; - case 3: - { - uint valueOrDefault = num5.GetValueOrDefault(); - return ((ReadOnlySpan)dataIds).Contains(valueOrDefault); - } - case 1: - num = ((x == null) ? (-1902168029) : (-1902168032)); - break; - case 0: - num5 = _202A_202E_202C_206A_206B_206F_202E_200D_202E_206B_200F_206D_200C_200E_202C_200F_202D_202A_202E_202E_200B_206B_202B_202A_206B_200E_202C_206B_206F_202A_202C_206C_202E_200E_206C_202A_202B_206B_200B_206F_202E(x); - num = ((!num5.HasValue) ? (-1902168029) : (-1902168026)); - break; - case 7: - num = ((_206A_202C_200B_200D_202A_206B_206C_200F_200F_206C_200C_202C_206C_206A_206C_200D_206C_200E_200C_206F_202B_200E_206B_200B_206A_202B_200B_206D_202D_202B_202C_200D_202E_206F_202A_206B_202E_206B_200E_206D_202E(x) == EInteractionType.WalkTo) ? (-1902168025) : (-1902168028)); - break; - case 6: - return false; - case 5: - num = ((_206A_202C_200B_200D_202A_206B_206C_200F_200F_206C_200C_202C_206C_206A_206C_200D_206C_200E_200C_206F_202B_200E_206B_200B_206A_202B_200B_206D_202D_202B_202C_200D_202E_206F_202A_206B_202E_206B_200E_206D_202E(x) != EInteractionType.Interact) ? (-1902168029) : (-1902168027)); - break; - case 2: - return true; - } - } - } - - static EInteractionType _206A_202C_200B_200D_202A_206B_206C_200F_200F_206C_200C_202C_206C_206A_206C_200D_206C_200E_200C_206F_202B_200E_206B_200B_206A_202B_200B_206D_202D_202B_202C_200D_202E_206F_202A_206B_202E_206B_200E_206D_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static uint? _202A_202E_202C_206A_206B_206F_202E_200D_202E_206B_200F_206D_200C_200E_202C_200F_202D_202A_202E_202E_200B_206B_202B_202A_206B_200E_202C_206B_206F_202A_202C_206C_202E_200E_206C_202A_202B_206B_200B_206F_202E(QuestStep P_0) - { - return P_0.DataId; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass48_0 - { - public QuestFunctions _003C_003E4__this; - - public ElementId extraCompletedQuest; - - internal bool _003CIsQuestUnobtainable_003Eb__1(QuestId x) - { - int num = (_003C_003E4__this.IsQuestComplete(x) ? 1809882662 : 1809882661); - while (true) - { - int num2 = num; - int num3 = 1809882660; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004e; - case 2: - return true; - case 1: - return _206D_200C_200B_206C_206E_206D_202E_206C_200F_206F_206A_206D_202A_206C_200F_202E_206B_206A_200D_202D_206C_202E_202B_206E_206F_202B_206F_200E_206C_206A_202E_206F_200F_200D_200C_202C_200E_206F_206C_202E_202E((ElementId)x, extraCompletedQuest); - } - continue; - IL_004e: - num = 1809882661; - } - } - - internal bool _003CIsQuestUnobtainable_003Eb__0(KeyValuePair x) - { - return _003C_003E4__this.IsQuestAcceptedOrComplete(_206E_202D_206E_200E_202E_206B_206B_202B_206D_202B_202D_206C_206E_202D_200B_206B_200E_200C_200F_206D_206C_206B_200B_202C_206F_206A_206A_202C_206D_206E_206F_206D_206A_202D_200C_200F_206F_200B_200B_206C_202E(x.Key)); - } - - static bool _206D_200C_200B_206C_206E_206D_202E_206C_200F_206F_206A_206D_202A_206C_200F_202E_206B_206A_200D_202D_206C_202E_202B_206E_206F_202B_206F_200E_206C_206A_202E_206F_200F_200D_200C_202C_200E_206F_206C_202E_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - - static QuestId _206E_202D_206E_200E_202E_206B_206B_202B_206D_202B_202D_206C_206E_202D_200B_206B_200E_200C_200F_206D_206C_206B_200B_202C_206F_206A_206A_202C_206D_206E_206F_206D_206A_202D_200C_200F_206F_200B_200B_206C_202E(ushort P_0) - { - return new QuestId(P_0); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass52_0 - { - public QuestFunctions _003C_003E4__this; - - public ElementId extraCompletedQuest; - - internal bool _003CHasCompletedPreviousQuests_003Eb__0(PreviousQuestInfo x) - { - int num = (_003C_003E4__this.HasEnoughProgressOnPreviousQuest(x) ? 1555514480 : 1555514481); - while (true) - { - int num2 = num; - int num3 = 1555514480; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_004e; - case 1: - return _202D_200D_202D_202C_202C_200D_206F_200E_206A_206A_206E_200B_202E_206C_202C_202E_206D_202D_206D_200E_202A_202E_206A_206A_202C_202E_202C_200E_200C_206B_200B_200F_206C_206E_200F_202B_200C_202E_202E_206C_202E((ElementId)x.QuestId, extraCompletedQuest); - case 0: - return true; - } - continue; - IL_004e: - num = 1555514481; - } - } - - static bool _202D_200D_202D_202C_202C_200D_206F_200E_206A_206A_206E_200B_202E_206C_202C_202E_206D_202D_206D_200E_202A_202E_206A_206A_202C_202E_202C_200E_200C_206B_200B_200F_206C_206E_200F_202B_200C_202E_202E_206C_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - } - private static readonly Dictionary CloseToHomeQuests = new Dictionary { { @@ -455,925 +110,388 @@ internal sealed class QuestFunctions _logger = logger; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe (QuestReference, string?) GetMainScenarioQuest() { (QuestReference, string)? tuple = TryGetNewGamePlusQuest(); - int num = ((!tuple.HasValue) ? 797244794 : 797244774); - QuestManager* ptr = default(QuestManager*); - QuestId resolvedQuest = default(QuestId); - string item2 = default(string); - AgentScenarioTree* ptr2 = default(AgentScenarioTree*); - (QuestReference, string)? tuple2 = default((QuestReference, string)?); - while (true) + if (tuple.HasValue) { - int num2 = num; - int num3 = 797244783; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return tuple.Value; + } + AgentScenarioTree* ptr = AgentScenarioTree.Instance(); + if (ptr == null) + { + _logger.LogTrace("GetMainScenarioQuest: scenarioTree is null"); + return (QuestReference.NoQuest(MainScenarioQuestState.Unavailable), "No Scenario Tree"); + } + if (ptr->Data == null) + { + _logger.LogTrace("GetMainScenarioQuest: scenarioTree->Data is null"); + return (QuestReference.NoQuest(MainScenarioQuestState.LoadingScreen), "Scenario Tree Data is null"); + } + QuestId resolvedQuest = new QuestId(ptr->Data->MainScenarioQuestIds[0]); + string item = $"sq: {resolvedQuest}"; + if (resolvedQuest.Value == 0) + { + (QuestReference, string)? tuple2 = TryResolveFallbackMsq(out resolvedQuest); + if (tuple2.HasValue) { - case 7: - return (QuestReference.NoQuest(MainScenarioQuestState.Available), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1559640278)); - case 12: - ptr = QuestManager.Instance(); - num = ((!IsQuestAccepted(resolvedQuest)) ? 797244799 : 797244798); - break; - case 23: - { - QuestReference item = QuestReference.NoQuest(MainScenarioQuestState.Unavailable); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(26, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(288641280)); - defaultInterpolatedStringHandler.AppendFormatted(_206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E((ElementId)resolvedQuest)); - return (item, defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 9: - return tuple.Value; - case 16: - num = ((!IsQuestComplete(resolvedQuest)) ? 797244768 : 797244795); - break; - case 1: - _lastLoggedAcceptedHiddenMsq = null; - return (new QuestReference(resolvedQuest, QuestManager.GetQuestSequence(_206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E((ElementId)resolvedQuest)), MainScenarioQuestState.Available), item2); - case 21: - ptr2 = AgentScenarioTree.Instance(); - num = ((ptr2 != null) ? 797244769 : 797244783); - break; - case 3: - { - _lastLoggedNotReadyQuest = null; - IPlayerCharacter playerCharacter = _206C_200E_202E_206E_202D_206B_202B_206B_200D_200C_206C_202E_200C_200F_202E_200C_200B_202B_206E_202E_202B_206B_206F_206F_206E_206B_206D_206F_202E_202C_206A_202C_202D_200D_206E_200D_200E_202C_206B_206C_202E(_objectTable); - if (playerCharacter != null) - { - _202A_200F_206C_206F_202A_202B_202D_202E_200B_202B_202E_200B_202C_206F_202D_206D_206A_202E_200D_200E_200F_206D_206F_200C_206D_202B_206C_206E_206A_200D_200C_206A_206E_206F_206D_200F_200D_202A_206E_206F_202E((ICharacter)playerCharacter); - if (0 == 0) - { - num = 797244782; - break; - } - } - num = 797244775; - break; - } - case 6: - _206E_200F_202E_206E_200F_206E_202D_200C_202B_200C_202A_206B_202D_206A_200C_202A_206B_202C_206D_206E_206B_200E_206F_200E_206F_202E_200D_202B_202A_202E_202A_200D_206E_202E_202E_202A_200C_200E_206E_206B_202E((ILogger)_logger, 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(-1226979826), new object[1] { resolvedQuest }); - _lastLoggedAcceptedHiddenMsq = resolvedQuest; - num = 797244776; - break; - case 11: - _lastLoggedFallbackLookup = false; - num = 797244771; - break; - case 0: - _202D_202C_202A_206D_202C_202C_202A_200F_200F_202B_202C_202A_206A_202D_200D_200E_202E_206E_200E_200C_200D_206A_206A_206D_202A_200E_206D_200B_202A_206C_206D_200D_200F_206A_206A_200B_206F_200C_206B_202A_202E((ILogger)_logger, 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(890687350), Array.Empty()); - return (QuestReference.NoQuest(MainScenarioQuestState.Unavailable), 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(1970295965)); - case 15: - num = (IsReadyToAcceptQuest(resolvedQuest, ignoreLevel: true) ? 797244780 : 797244797); - break; - case 4: - num = ((!_206E_202C_206F_202A_202E_202A_202A_200F_206C_202E_202C_206B_202A_200C_206C_206E_202D_202C_200E_200B_202A_206A_200D_202C_202C_202B_202B_206A_202D_206A_206C_206C_202D_200B_200E_200D_202E_202A_206C_206D_202E(_lastLoggedAcceptedHiddenMsq, (ElementId)resolvedQuest)) ? 797244776 : 797244777); - break; - case 13: - { - resolvedQuest = _206E_200C_200C_202B_206D_202B_206B_200C_202A_206A_202E_202B_206F_206A_200D_202E_200B_202D_202D_206A_200D_200C_202C_202D_206D_202A_206F_200F_200D_202B_202C_206C_200C_202B_206F_206C_206D_206B_200C_206E_202E(ptr2->Data->MainScenarioQuestIds[0]); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(4, 1); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-145427000)); - defaultInterpolatedStringHandler3.AppendFormatted(resolvedQuest); - item2 = defaultInterpolatedStringHandler3.ToStringAndClear(); - num = ((_206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E((ElementId)resolvedQuest) != 0) ? 797244772 : 797244773); - break; - } - case 8: - _202D_202C_202A_206D_202C_202C_202A_200F_200F_202B_202C_202A_206A_202D_200D_200E_202E_206E_200E_200C_200D_206A_206A_206D_202A_200E_206D_200B_202A_206C_206D_200D_200F_206A_206A_200B_206F_200C_206B_202A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1083185667), Array.Empty()); - return (QuestReference.NoQuest(MainScenarioQuestState.LoadingScreen), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(744029635)); - case 20: - { - _206E_200F_202E_206E_200F_206E_202D_200C_202B_200C_202A_206B_202D_206A_200C_202A_206B_202C_206D_206E_206B_200E_206F_200E_206F_202E_200D_202B_202A_202E_202A_200D_206E_202E_202E_202A_200C_200E_206E_206B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1567782321), new object[1] { resolvedQuest }); - QuestReference item3 = new QuestReference(resolvedQuest, byte.MaxValue, MainScenarioQuestState.Available); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(15, 1); - defaultInterpolatedStringHandler2.AppendLiteral(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(-1754422725)); - defaultInterpolatedStringHandler2.AppendFormatted(_206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E((ElementId)resolvedQuest)); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1749584481)); - return (item3, defaultInterpolatedStringHandler2.ToStringAndClear()); - } - case 14: - num = ((ptr2->Data != null) ? 797244770 : 797244796); - break; - case 2: - _206E_200F_202E_206E_200F_206E_202D_200C_202B_200C_202A_206B_202D_206A_200C_202A_206B_202C_206D_206E_206B_200E_206F_200E_206F_202E_200D_202B_202A_202E_202A_200D_206E_202E_202E_202A_200C_200E_206E_206B_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-179403140), new object[1] { resolvedQuest }); - _lastLoggedNotReadyQuest = resolvedQuest; - num = 797244792; - break; - case 5: - num = 797244774; - break; - case 22: return tuple2.Value; - case 17: - num = ((!ptr->GetQuestById(_206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E((ElementId)resolvedQuest))->IsHidden) ? 797244799 : 797244779); - break; - case 18: - num = ((!_206E_202C_206F_202A_202E_202A_202A_200F_206C_202E_202C_206B_202A_200C_206C_206E_202D_202C_200E_200B_202A_206A_200D_202C_202C_202B_202B_206A_202D_206A_206C_206C_202D_200B_200E_200D_202E_202A_206C_206D_202E(_lastLoggedNotReadyQuest, (ElementId)resolvedQuest)) ? 797244792 : 797244781); - break; - case 19: - _202D_202C_202A_206D_202C_202C_202A_200F_200F_202B_202C_202A_206A_202D_200D_200E_202E_206E_200E_200C_200D_206A_206A_206D_202A_200E_206D_200B_202A_206C_206D_200D_200F_206A_206A_200B_206F_200C_206B_202A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-221817496), Array.Empty()); - return (QuestReference.NoQuest(MainScenarioQuestState.LoadingScreen), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(55455565)); - case 10: - tuple2 = TryResolveFallbackMsq(out resolvedQuest); - num = ((!tuple2.HasValue) ? 797244771 : 797244793); - break; } } + else + { + _lastLoggedFallbackLookup = false; + } + QuestManager* ptr2 = QuestManager.Instance(); + if (IsQuestAccepted(resolvedQuest) && ptr2->GetQuestById(resolvedQuest.Value)->IsHidden) + { + if (_lastLoggedAcceptedHiddenMsq != resolvedQuest) + { + _logger.LogDebug("GetMainScenarioQuest: Quest {QuestId} is accepted but hidden", resolvedQuest); + _lastLoggedAcceptedHiddenMsq = resolvedQuest; + } + return (QuestReference.NoQuest(MainScenarioQuestState.Available), "Quest accepted but hidden"); + } + if (IsQuestComplete(resolvedQuest)) + { + _logger.LogDebug("GetMainScenarioQuest: Quest {QuestId} is already complete", resolvedQuest); + return (new QuestReference(resolvedQuest, byte.MaxValue, MainScenarioQuestState.Available), $"Quest {resolvedQuest.Value} complete"); + } + if (!IsReadyToAcceptQuest(resolvedQuest, ignoreLevel: true)) + { + if (_lastLoggedNotReadyQuest != resolvedQuest) + { + _logger.LogDebug("GetMainScenarioQuest: Quest {QuestId} is not ready to accept (ignoring level)", resolvedQuest); + _lastLoggedNotReadyQuest = resolvedQuest; + } + return (QuestReference.NoQuest(MainScenarioQuestState.Unavailable), $"Not ready to accept quest {resolvedQuest.Value}"); + } + _lastLoggedNotReadyQuest = null; + IPlayerCharacter? localPlayer = _objectTable.LocalPlayer; + if (localPlayer != null) + { + _ = localPlayer.Level; + if (0 == 0) + { + _lastLoggedAcceptedHiddenMsq = null; + return (new QuestReference(resolvedQuest, QuestManager.GetQuestSequence(resolvedQuest.Value), MainScenarioQuestState.Available), item); + } + } + _logger.LogTrace("GetMainScenarioQuest: In loading screen"); + return (QuestReference.NoQuest(MainScenarioQuestState.LoadingScreen), "In loading screen"); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe (QuestReference, string?)? TryGetNewGamePlusQuest() { - int num = (QuestManager.IsQuestComplete(3759) ? (-354991437) : (-354991429)); - uint uInt = default(uint); - AtkUnitBase* addonPtr = default(AtkUnitBase*); - bool flag = default(bool); - bool flag2 = default(bool); - AgentInterface* agentByInternalId = default(AgentInterface*); - while (true) + if (!QuestManager.IsQuestComplete(3759)) { - int num2 = num; - int num3 = -354991438; - int num4 = num2; - int num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 12: - { - uint num7 = uInt; - num3 = 2; - num4 = (int)num7; - num = (((uint)(~(~num4 + num3)) > 2u) ? (-354991435) : (-354991440)); - break; - } - case 4: - return null; - case 11: - return null; - case 9: - return null; - case 14: - uInt = addonPtr->AtkValues->UInt; - num = ((uInt == 0) ? (-354991440) : (-354991426)); - break; - case 0: - num5 = ((addonPtr->AtkValuesCount != 4) ? 1 : 0); - goto IL_019a; - case 7: - flag = false; - num = -354991430; - break; - case 8: - flag2 = !flag; - num = -354991432; - break; - case 10: - num = ((!flag2) ? (-354991427) : (-354991431)); - break; - case 15: - { - ushort num6 = MemoryHelper.Read((nint)((byte*)agentByInternalId + 46)); - return (new QuestReference(_206E_200C_200C_202B_206D_202B_206B_200C_202A_206A_202E_202B_206F_206A_200D_202E_200B_202D_202D_206A_200D_200C_202C_202D_206D_202A_206F_200F_200D_202B_202C_206C_200C_202B_206F_206C_206D_206B_200C_206E_202E(num6), QuestManager.GetQuestSequence(num6), MainScenarioQuestState.Available), 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(-619951541)); - } - case 5: - num = -354991429; - break; - case 13: - num5 = 1; - goto IL_019a; - case 1: - agentByInternalId = AgentModule.Instance()->GetAgentByInternalId(AgentId.QuestRedoHud); - num = ((agentByInternalId == null) ? (-354991434) : (-354991436)); - break; - case 3: - num = ((!_gameGui.TryGetAddonByName(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-902798394), out addonPtr)) ? (-354991425) : (-354991438)); - break; - case 6: - num = (agentByInternalId->IsAgentActive() ? (-354991439) : (-354991434)); - break; - case 2: - { - flag = true; - num = -354991430; - break; - } - IL_019a: - flag2 = (byte)num5 != 0; - num = (flag2 ? (-354991432) : (-354991428)); - break; - } + return null; } + AgentInterface* agentByInternalId = AgentModule.Instance()->GetAgentByInternalId(AgentId.QuestRedoHud); + if (agentByInternalId == null || !agentByInternalId->IsAgentActive()) + { + return null; + } + AtkUnitBase* addonPtr; + bool flag = !_gameGui.TryGetAddonByName("QuestRedoHud", out addonPtr) || addonPtr->AtkValuesCount != 4; + if (!flag) + { + uint uInt = addonPtr->AtkValues->UInt; + bool flag2 = ((uInt == 0 || uInt - 2 <= 2) ? true : false); + flag = !flag2; + } + if (flag) + { + return null; + } + ushort num = MemoryHelper.Read((nint)((byte*)agentByInternalId + 46)); + return (new QuestReference(new QuestId(num), QuestManager.GetQuestSequence(num), MainScenarioQuestState.Available), "NG+"); } - [MethodImpl(MethodImplOptions.NoInlining)] private (QuestReference, string?)? TryResolveFallbackMsq(out QuestId resolvedQuest) { - resolvedQuest = _206E_200C_200C_202B_206D_202B_206B_200C_202A_206A_202E_202B_206F_206A_200D_202E_200B_202D_202D_206A_200D_200C_202C_202D_206D_202A_206F_200F_200D_202B_202C_206C_200C_202B_206F_206C_206D_206B_200C_206E_202E((ushort)0); - int num = ((!IsMainScenarioQuestComplete()) ? (-931951618) : (-931951626)); - List list = default(List); - QuestId questId = default(QuestId); - while (true) + resolvedQuest = new QuestId(0); + if (IsMainScenarioQuestComplete()) { - int num2 = num; - int num3 = -931951625; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - _200F_206C_200D_206D_200B_202D_202B_200C_202E_206D_206F_202E_200F_200B_206A_200B_206A_202E_206D_200B_206B_202C_200C_202B_206D_202B_202B_200C_202D_202E_206A_206D_200B_200F_206E_206C_200D_200E_202A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-85946115), new object[1] { string.Join(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1467939024), list.Select((QuestInfo x) => _003C_003Ec._206A_202A_200F_202D_206E_206A_200C_202D_206C_206C_206D_206E_206E_200E_200D_206E_200E_200C_206D_202D_206E_200B_202A_202E_206A_202C_200E_200F_206D_206C_200F_206A_206C_206D_200E_200C_200B_202D_206A_200F_202E(x.QuestId))) }); - return (QuestReference.NoQuest(MainScenarioQuestState.Unavailable), _206A_202B_206A_202E_200D_200D_206A_200D_206E_200C_206D_206E_206E_200F_200C_206B_206E_202C_206B_206B_206E_200B_202D_206D_206A_200B_202C_206F_206D_206E_200E_200C_200C_200F_200C_206C_202D_206F_200B_206F_202E(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(1248639462), string.Join(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(-1095822044), list.Select((QuestInfo x) => _003C_003Ec._206A_202A_200F_202D_206E_206A_200C_202D_206C_206C_206D_206E_206E_200E_200D_206E_200E_200C_206D_202D_206E_200B_202A_202E_206A_202C_200E_200F_206D_206C_200F_206A_206C_206D_200E_200C_200B_202D_206A_200F_202E(x.QuestId))))); - case 5: - return (QuestReference.NoQuest(MainScenarioQuestState.Unavailable), 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(1786049013)); - case 2: - _206E_200F_202E_206E_200F_206E_202D_200C_202B_200C_202A_206B_202D_206A_200C_202A_206B_202C_206D_206E_206B_200E_206F_200E_206F_202E_200D_202B_202A_202E_202A_200D_206E_202E_202E_202A_200C_200E_206E_206B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1140660703), Array.Empty()); - _lastLoggedFallbackLookup = true; - num = -931951632; - break; - case 4: - questId = ResolveBranchingMsq(list); - num = (((object)questId != null) ? (-931951619) : (-931951631)); - break; - case 8: - num = -931951626; - break; - case 10: - resolvedQuest = questId; - _206E_200F_202E_206E_200F_206E_202D_200C_202B_200C_202A_206B_202D_206A_200C_202A_206B_202C_206D_206E_206B_200E_206F_200E_206F_202E_200D_202B_202A_202E_202A_200D_206E_202E_202E_202A_200C_200E_206E_206B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1400062201), new object[1] { resolvedQuest }); - return null; - case 0: - resolvedQuest = (QuestId)list[0].QuestId; - _206E_200F_202E_206E_200F_206E_202D_200C_202B_200C_202A_206B_202D_206A_200C_202A_206B_202C_206D_206E_206B_200E_206F_200E_206F_202E_200D_202B_202A_202E_202A_200D_206E_202E_202E_202A_200C_200E_206E_206B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(685272348), new object[1] { resolvedQuest }); - return null; - case 3: - num = ((list.Count != 1) ? (-931951629) : (-931951625)); - break; - case 7: - list = (from q in _questData.MainScenarioQuests.Where(delegate(QuestInfo x) - { - int num5 = ((x.StartingCity == 0) ? 1042305841 : 1042305842); - while (true) - { - int num6 = num5; - int num7 = 1042305843; - int num8 = num6; - int num9 = num8 + num7; - int num10 = num8 & num7; - switch (num9 - (num10 + num10)) - { - case 2: - return true; - case 1: - return x.StartingCity == _003C_003Ec._206C_200E_200B_200C_206F_200D_200E_200F_200C_206C_202C_200F_200F_206A_202E_200D_202C_200E_200B_206A_202C_206B_200D_202D_202D_206D_200F_200C_200F_206A_200D_200E_202E_200D_206B_202D_200B_206C_200D_202C_202E(); - case 0: - goto IL_0058; - } - continue; - IL_0058: - num5 = 1042305842; - } - }) - where IsReadyToAcceptQuest(q.QuestId, ignoreLevel: true) - select q).ToList(); - _202D_202C_202A_206D_202C_202C_202A_200F_200F_202B_202C_202A_206A_202D_200D_200E_202E_206E_200E_200C_200D_206A_206A_206D_202A_200E_206D_200B_202A_206C_206D_200D_200F_206A_206A_200B_206F_200C_206B_202A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1687594215), new object[1] { list.Count }); - num = ((list.Count != 0) ? (-931951628) : (-931951630)); - break; - case 9: - num = (_lastLoggedFallbackLookup ? (-931951632) : (-931951627)); - break; - case 1: - return (QuestReference.NoQuest(MainScenarioQuestState.Complete), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-425005408)); - } + return (QuestReference.NoQuest(MainScenarioQuestState.Complete), "Main Scenario is complete"); } + if (!_lastLoggedFallbackLookup) + { + _logger.LogDebug("GetMainScenarioQuest: MSQ from scenario tree is 0, using fallback lookup"); + _lastLoggedFallbackLookup = true; + } + List list = (from q in _questData.MainScenarioQuests + where q.StartingCity == 0 || q.StartingCity == PlayerStateHelper.GetStartTown() + where IsReadyToAcceptQuest(q.QuestId, ignoreLevel: true) + select q).ToList(); + _logger.LogTrace("GetMainScenarioQuest: Found {Count} potential quests from fallback", list.Count); + if (list.Count == 0) + { + return (QuestReference.NoQuest(MainScenarioQuestState.Unavailable), "No potential quests found"); + } + if (list.Count == 1) + { + resolvedQuest = (QuestId)list[0].QuestId; + _logger.LogDebug("GetMainScenarioQuest: Selected quest from fallback = {QuestId}", resolvedQuest); + return null; + } + QuestId questId = ResolveBranchingMsq(list); + if ((object)questId == null) + { + _logger.LogWarning("GetMainScenarioQuest: Multiple potential quests found: {Quests}", string.Join(", ", list.Select((QuestInfo x) => x.QuestId.Value))); + return (QuestReference.NoQuest(MainScenarioQuestState.Unavailable), "Multiple potential quests found: " + string.Join(", ", list.Select((QuestInfo x) => x.QuestId.Value))); + } + resolvedQuest = questId; + _logger.LogDebug("GetMainScenarioQuest: Selected quest from fallback = {QuestId}", resolvedQuest); + return null; } private static QuestId? ResolveBranchingMsq(List potentialQuests) { - int num = ((!potentialQuests.All(delegate(QuestInfo x) + if (potentialQuests.All(delegate(QuestInfo x) { - ushort num5 = _003C_003Ec._206A_202A_200F_202D_206E_206A_200C_202D_206C_206C_206D_206E_206E_200E_200D_206E_200E_200C_206D_202D_206E_200B_202A_202E_206A_202C_200E_200F_206D_206C_200F_206A_206C_206D_200E_200C_200B_202D_206A_200F_202E(x.QuestId); - int num6 = 680; - int num7 = num5; - int num8 = (((uint)(~(~num7 + num6)) > 2u) ? 1179559324 : 1179559327); - bool result = default(bool); - while (true) - { - int num9 = num8; - num6 = 1179559326; - num7 = num9; - int num10 = num7 + num6; - int num11 = num7 & num6; - switch (num10 - (num11 + num11)) - { - case 3: - num8 = 1179559327; - break; - case 0: - return result; - case 2: - result = false; - num8 = 1179559326; - break; - case 1: - result = true; - num8 = 1179559326; - break; - } - } - })) ? 1548487803 : 1548487794); - while (true) + ushort value = x.QuestId.Value; + return (uint)(value - 680) <= 2u; + })) { - int num2 = num; - int num3 = 1548487793; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 7: - return _206E_200C_200C_202B_206D_202B_206B_200C_202A_206A_202E_202B_206F_206A_200D_202E_200B_202D_202D_206A_200D_200C_202C_202D_206D_202A_206F_200F_200D_202B_202C_206C_200C_202B_206F_206C_206D_206B_200C_206E_202E((ushort)4865); - case 3: - return _206E_200C_200C_202B_206D_202B_206B_200C_202A_206A_202E_202B_206F_206A_200D_202E_200B_202D_202D_206A_200D_200C_202C_202D_206D_202A_206F_200F_200D_202B_202C_206C_200C_202B_206F_206C_206D_206B_200C_206E_202E((ushort)681); - case 11: - return _206E_200C_200C_202B_206D_202B_206B_200C_202A_206A_202E_202B_206F_206A_200D_202E_200B_202D_202D_206A_200D_200C_202C_202D_206D_202A_206F_200F_200D_202B_202C_206C_200C_202B_206F_206C_206D_206B_200C_206E_202E((ushort)4359); - case 12: - num = ((!potentialQuests.Any((QuestInfo x) => _003C_003Ec._206A_202A_200F_202D_206E_206A_200C_202D_206C_206C_206D_206E_206E_200E_200D_206E_200E_200C_206D_202D_206E_200B_202A_202E_206A_202C_200E_200F_206D_206C_200F_206A_206C_206D_200E_200C_200B_202D_206A_200F_202E(x.QuestId) == 3282)) ? 1548487792 : 1548487800); - break; - case 5: - num = ((!potentialQuests.Any((QuestInfo x) => _003C_003Ec._206A_202A_200F_202D_206E_206A_200C_202D_206C_206C_206D_206E_206E_200E_200D_206E_200E_200C_206D_202D_206E_200B_202A_202E_206A_202C_200E_200F_206D_206C_200F_206A_206C_206D_200E_200C_200B_202D_206A_200F_202E(x.QuestId) == 2451)) ? 1548487805 : 1548487795); - break; - case 6: - num = 1548487794; - break; - case 10: - num = ((!potentialQuests.Any((QuestInfo x) => _003C_003Ec._206A_202A_200F_202D_206E_206A_200C_202D_206C_206C_206D_206E_206E_200E_200D_206E_200E_200C_206D_202D_206E_200B_202A_202E_206A_202C_200E_200F_206D_206C_200F_206A_206C_206D_200E_200C_200B_202D_206A_200F_202E(x.QuestId) == 1583)) ? 1548487796 : 1548487801); - break; - case 8: - return _206E_200C_200C_202B_206D_202B_206B_200C_202A_206A_202E_202B_206F_206A_200D_202E_200B_202D_202D_206A_200D_200C_202C_202D_206D_202A_206F_200F_200D_202B_202C_206C_200C_202B_206F_206C_206D_206B_200C_206E_202E((ushort)1583); - case 4: - return null; - case 9: - return _206E_200C_200C_202B_206D_202B_206B_200C_202A_206A_202E_202B_206F_206A_200D_202E_200B_202D_202D_206A_200D_200C_202C_202D_206D_202A_206F_200F_200D_202B_202C_206C_200C_202B_206F_206C_206D_206B_200C_206E_202E((ushort)3282); - case 0: - num = ((!potentialQuests.Any((QuestInfo x) => _003C_003Ec._206A_202A_200F_202D_206E_206A_200C_202D_206C_206C_206D_206E_206E_200E_200D_206E_200E_200C_206D_202D_206E_200B_202A_202E_206A_202C_200E_200F_206D_206C_200F_206A_206C_206D_200E_200C_200B_202D_206A_200F_202E(x.QuestId) == 4865)) ? 1548487797 : 1548487798); - break; - case 1: - num = ((!potentialQuests.Any((QuestInfo x) => _003C_003Ec._206A_202A_200F_202D_206E_206A_200C_202D_206C_206C_206D_206E_206E_200E_200D_206E_200E_200C_206D_202D_206E_200B_202A_202E_206A_202C_200E_200F_206D_206C_200F_206A_206C_206D_200E_200C_200B_202D_206A_200F_202E(x.QuestId) == 4359)) ? 1548487793 : 1548487802); - break; - case 2: - return _206E_200C_200C_202B_206D_202B_206B_200C_202A_206A_202E_202B_206F_206A_200D_202E_200B_202D_202D_206A_200D_200C_202C_202D_206D_202A_206F_200F_200D_202B_202C_206C_200C_202B_206F_206C_206D_206B_200C_206E_202E((ushort)2451); - } + return new QuestId(681); } + if (potentialQuests.Any((QuestInfo x) => x.QuestId.Value == 1583)) + { + return new QuestId(1583); + } + if (potentialQuests.Any((QuestInfo x) => x.QuestId.Value == 2451)) + { + return new QuestId(2451); + } + if (potentialQuests.Any((QuestInfo x) => x.QuestId.Value == 3282)) + { + return new QuestId(3282); + } + if (potentialQuests.Any((QuestInfo x) => x.QuestId.Value == 4359)) + { + return new QuestId(4359); + } + if (potentialQuests.Any((QuestInfo x) => x.QuestId.Value == 4865)) + { + return new QuestId(4865); + } + return null; } internal unsafe bool IsOnAlliedSocietyMount() { - IPlayerCharacter playerCharacter = _206C_200E_202E_206E_202D_206B_202B_206B_200D_200C_206C_202E_200C_200F_202E_200C_200B_202B_206E_202E_202B_206B_206F_206F_206E_206B_206D_206F_202E_202C_206A_202C_202D_200D_206E_200D_200E_202C_206B_206C_202E(_objectTable); - BattleChara* ptr = (BattleChara*)((playerCharacter != null) ? _200C_200E_202D_206B_206E_202B_206F_206A_202C_200D_200E_206F_206F_200D_206E_206B_200D_202E_206B_200F_206F_206A_202A_206E_206C_202C_206F_206C_202C_200C_200F_206B_206E_202C_202A_202E_200E_202B_202C_200E_202E((IGameObject)playerCharacter) : 0); - int num = ((ptr == null) ? (-510270648) : (-510270646)); - while (true) + BattleChara* ptr = (BattleChara*)(_objectTable.LocalPlayer?.Address ?? 0); + if (ptr != null && ptr->Mount.MountId != 0) { - int num2 = num; - int num3 = -510270645; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -510270646; - break; - case 1: - num = ((ptr->Mount.MountId == 0) ? (-510270648) : (-510270647)); - break; - case 2: - return _alliedSocietyData.Mounts.ContainsKey(ptr->Mount.MountId); - case 3: - return false; - } + return _alliedSocietyData.Mounts.ContainsKey(ptr->Mount.MountId); } + return false; } internal bool IsInteractSequence(ElementId questId, byte sequenceNo, uint[] dataIds) { - Questionable.Model.Quest quest; - int num = ((!_questRegistry.TryGetQuest(questId, out quest)) ? (-2105146533) : (-2105146532)); - QuestSequence questSequence = default(QuestSequence); - while (true) + if (_questRegistry.TryGetQuest(questId, out Quest quest)) { - int num2 = num; - int num3 = -2105146529; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return quest.FindSequence(sequenceNo)?.Steps.All(delegate(QuestStep x) { - case 2: - return false; - case 3: - questSequence = quest.FindSequence(sequenceNo); - num = ((questSequence == null) ? (-2105146531) : (-2105146530)); - break; - case 1: - return _206E_200B_200C_206A_206B_200E_202C_202C_200E_206B_202B_200E_200E_202E_200B_202E_206C_202C_206A_202C_206E_202D_202C_206F_202A_202B_202B_202B_206A_202D_206D_202C_202E_206E_202E_206F_206C_206A_206F_202E(questSequence).All(delegate(QuestStep x) + if (x == null || x.InteractionType != EInteractionType.WalkTo) { - int num7 = ((x == null) ? (-1902168028) : (-1902168030)); - uint? num11 = default(uint?); - while (true) + if (x != null && x.InteractionType == EInteractionType.Interact) { - int num8 = num7; - int num9 = -1902168027; - int num10 = num8; - switch ((num10 | num9) - (num10 & num9)) + uint? dataId = x.DataId; + if (dataId.HasValue) { - case 4: - num7 = -1902168030; - break; - case 3: - { - uint valueOrDefault = num11.GetValueOrDefault(); + uint valueOrDefault = dataId.GetValueOrDefault(); return ((ReadOnlySpan)dataIds).Contains(valueOrDefault); } - case 1: - num7 = ((x == null) ? (-1902168029) : (-1902168032)); - break; - case 0: - num11 = _003C_003Ec__DisplayClass24_0._202A_202E_202C_206A_206B_206F_202E_200D_202E_206B_200F_206D_200C_200E_202C_200F_202D_202A_202E_202E_200B_206B_202B_202A_206B_200E_202C_206B_206F_202A_202C_206C_202E_200E_206C_202A_202B_206B_200B_206F_202E(x); - num7 = ((!num11.HasValue) ? (-1902168029) : (-1902168026)); - break; - case 7: - num7 = ((_003C_003Ec__DisplayClass24_0._206A_202C_200B_200D_202A_206B_206C_200F_200F_206C_200C_202C_206C_206A_206C_200D_206C_200E_200C_206F_202B_200E_206B_200B_206A_202B_200B_206D_202D_202B_202C_200D_202E_206F_202A_206B_202E_206B_200E_206D_202E(x) == EInteractionType.WalkTo) ? (-1902168025) : (-1902168028)); - break; - case 6: - return false; - case 5: - num7 = ((_003C_003Ec__DisplayClass24_0._206A_202C_200B_200D_202A_206B_206C_200F_200F_206C_200C_202C_206C_206A_206C_200D_206C_200E_200C_206F_202B_200E_206B_200B_206A_202B_200B_206D_202D_202B_202C_200D_202E_206F_202A_206B_202E_206B_200E_206D_202E(x) != EInteractionType.Interact) ? (-1902168029) : (-1902168027)); - break; - case 2: - return true; - } } - }); - case 4: - return false; - case 0: - num = -2105146532; - break; - } + return false; + } + return true; + }) ?? false; } + return false; } public unsafe QuestProgressInfo? GetQuestProgressInfo(ElementId elementId) { - QuestId questId = elementId as QuestId; - int num = (((object)questId == null) ? (-1920386293) : (-1920386290)); - QuestWork* questById = default(QuestWork*); - while (true) + if (elementId is QuestId questId) { - int num2 = num; - int num3 = -1920386294; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + QuestWork* questById = QuestManager.Instance()->GetQuestById(questId.Value); + if (questById == null) { - case 2: return null; - case 3: - return new QuestProgressInfo(*questById); - case 1: - return null; - case 4: - questById = QuestManager.Instance()->GetQuestById(_206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E((ElementId)questId)); - num = ((questById != null) ? (-1920386295) : (-1920386296)); - break; - case 0: - num = -1920386290; - break; } + return new QuestProgressInfo(*questById); } + return null; } public List GetNextPriorityQuestsThatCanBeAccepted() { return (from x in GetPriorityQuests() where IsReadyToAcceptQuest(x) - select x).Select([MethodImpl(MethodImplOptions.NoInlining)] (ElementId x) => + select x).Select(delegate(ElementId x) { - Questionable.Model.Quest quest; - int num = (_questRegistry.TryGetQuest(x, out quest) ? 997542980 : 997542983); - QuestInfo questInfo = default(QuestInfo); - while (true) + if (!_questRegistry.TryGetQuest(x, out Quest quest)) { - int num2 = num; - int num3 = 997542978; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = ((quest.Info.Level > 5) ? 997542987 : 997542986); - break; - case 3: - if (questInfo.ClassJobs.Any(delegate(EClassJob eClassJob) - { - int num5 = (_003C_003Ec._202E_206D_206E_200E_202B_206E_200F_206A_206C_202D_200E_202E_200B_206E_202A_200F_200C_206D_206E_200F_206E_200C_200F_202C_202D_200C_200D_200D_206B_200D_200C_202B_202C_206F_202A_206E_206D_202A_206F_206A_202E(eClassJob) ? 1114029440 : 1114029443); - while (true) - { - int num6 = num5; - int num7 = 1114029442; - int num8 = num6; - switch ((num8 | num7) - (num8 & num7)) - { - case 0: - goto IL_0046; - case 1: - return !_003C_003Ec._200C_200E_200C_202A_202B_202A_206D_202D_206E_202C_202A_202A_206B_200D_200C_206B_200E_200D_202D_206A_202E_202E_206B_206F_200F_202C_202B_206E_200B_200C_202D_206F_202E_202B_202D_200D_202E_202B_202A_206C_202E(eClassJob); - case 2: - return false; - } - continue; - IL_0046: - num5 = 1114029443; - } - })) - { - num = 997542981; - break; - } - goto case 9; - case 10: - num = (_aetheryteFunctions.IsTeleportUnlocked() ? 997542981 : 997542979); - break; - case 11: - num = ((questInfo.ClassJobs.Count <= 0) ? 997542987 : 997542977); - break; - case 0: - num = 997542983; - break; - case 8: - questInfo = quest.Info as QuestInfo; - num = ((questInfo == null) ? 997542987 : 997542985); - break; - case 6: - { - QuestSequence? questSequence = quest.FindSequence(0); - num = ((((questSequence != null) ? _206A_202E_202C_200C_206E_202B_202C_200E_200B_202B_206F_206B_200E_202A_202A_202B_202E_206B_200E_200E_202B_206F_202C_206E_202C_200B_202D_206E_206B_200B_206A_202E_206D_202B_206C_202B_200F_200F_200E_200D_202E(questSequence, 0) : null) != null) ? 997542982 : 997542976); - break; - } - case 5: - return new PriorityQuestInfo(x, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2146806073)); - case 9: - num = 997542984; - break; - case 2: - return new PriorityQuestInfo(x, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1367010804)); - case 7: - return new PriorityQuestInfo(x); - case 1: - return new PriorityQuestInfo(x, 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(924143673)); - } + return new PriorityQuestInfo(x, "Unknown quest"); } + if (quest.FindSequence(0)?.FindStep(0) == null) + { + return new PriorityQuestInfo(x, "No sequence 0 with steps"); + } + return ((quest.Info.Level > 5 || !(quest.Info is QuestInfo questInfo) || questInfo.ClassJobs.Count <= 0 || !questInfo.ClassJobs.Any((EClassJob classJob) => !classJob.IsCrafter() && !classJob.IsGatherer())) && !_aetheryteFunctions.IsTeleportUnlocked()) ? new PriorityQuestInfo(x, "Teleport not unlocked") : new PriorityQuestInfo(x); }).ToList(); } - [MethodImpl(MethodImplOptions.NoInlining)] public List GetPriorityQuests(bool onlyClassAndRoleQuests = false) { List list = new List(); - int num = (onlyClassAndRoleQuests ? 1630044705 : 1630044712); - IReadOnlyList roleQuestChaptersForPreference = default(IReadOnlyList); - int num9 = default(int); - uint? num7 = default(uint?); - IReadOnlyList finalRoleQuests = default(IReadOnlyList); - ERoleQuestPreference roleQuestPreference = default(ERoleQuestPreference); - EClassJob valueOrDefault = default(EClassJob); - EClassJob valueOrDefault2 = default(EClassJob); - while (true) + if (!onlyClassAndRoleQuests) { - int num2 = num; - int num3 = 1630044705; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - EClassJob? obj; - EClassJob? obj2; - EClassJob? eClassJob; - switch (num5 - (num6 + num6)) + if (!_configuration.Advanced.SkipARealmRebornHardModePrimals) { - case 18: list.AddRange(QuestData.HardModePrimals.Skip(1)); - num = 1630044707; - break; - case 13: - list.AddRange(from x in _questData.GetRoleQuestsByChapter(roleQuestChaptersForPreference[num9]) - where _questRegistry.IsKnownQuest(x.QuestId) - select x.QuestId); - num = 1630044732; - break; - case 23: - { - IPlayerCharacter playerCharacter = _206C_200E_202E_206E_202D_206B_202B_206B_200D_200C_206C_202E_200C_200F_202E_200C_200B_202B_206E_202E_202B_206B_206F_206F_206E_206B_206D_206F_202E_202C_206A_202C_202D_200D_206E_200D_200E_202C_206B_206C_202E(_objectTable); - num7 = ((playerCharacter != null) ? new uint?(_206B_206D_202C_202E_202B_206C_202B_206C_206C_206B_200C_206F_200C_206F_206B_206A_206E_200D_202B_206B_206A_202A_206E_202D_202B_206C_202E_202D_206F_202B_206F_206D_202D_206C_202A_206C_200D_206A_206D_206B_202E((ICharacter)playerCharacter).RowId) : ((uint?)null)); - num = (num7.HasValue ? 1630044719 : 1630044720); - break; } - case 26: - obj = null; - goto IL_0213; - case 12: - num9 = 1; - num = 1630044706; - break; - case 3: - num = ((num9 >= roleQuestChaptersForPreference.Count) ? 1630044725 : 1630044709); - break; - case 4: - num = ((num9 < finalRoleQuests.Count) ? 1630044724 : 1630044725); - break; - case 27: - obj = (EClassJob)num7.GetValueOrDefault(); - goto IL_0213; - case 19: - num = (_configuration.Advanced.SkipRoleQuests ? 1630044725 : 1630044726); - break; - case 5: - _206E_200F_202E_206E_200F_206E_202D_200C_202B_200C_202A_206B_202D_206A_200C_202A_206B_202C_206D_206E_206B_200E_206F_200E_206F_202E_200D_202B_202A_202E_202A_200D_206E_202E_202E_202A_200C_200E_206E_206B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1774164352), new object[2] { roleQuestPreference, valueOrDefault }); - num = 1630044725; - break; - case 17: - obj2 = null; - goto IL_0305; - case 25: - roleQuestChaptersForPreference = QuestData.GetRoleQuestChaptersForPreference(roleQuestPreference, valueOrDefault); - finalRoleQuests = QuestData.GetFinalRoleQuests(roleQuestPreference, valueOrDefault); - num = ((roleQuestChaptersForPreference.Count <= 0) ? 1630044710 : 1630044727); - break; - case 14: - obj2 = (EClassJob)num7.GetValueOrDefault(); - goto IL_0305; - case 21: - num = (IsQuestComplete(finalRoleQuests[num9]) ? 1630044732 : 1630044716); - break; - case 20: - num = (onlyClassAndRoleQuests ? 1630044714 : 1630044729); - break; - case 6: - list.AddRange(from x in _questRegistry.GetKnownClassJobQuests(valueOrDefault2, includeRoleQuests: false) - select x.QuestId); - num = 1630044722; - break; - case 10: - num = 1630044712; - break; - case 16: - list.AddRange(from x in _questData.GetRoleQuestsByChapter(roleQuestChaptersForPreference[0]) - where _questRegistry.IsKnownQuest(x.QuestId) - select x.QuestId); - num = 1630044710; - break; - case 28: - list.AddRange(GetAllRankUpQuestsNeeded()); - num = 1630044714; - break; - case 2: - num = (_configuration.Advanced.SkipCrystalTowerRaids ? 1630044705 : 1630044704); - break; - case 9: - num = (_configuration.Advanced.SkipARealmRebornHardModePrimals ? 1630044707 : 1630044723); - break; - case 7: - num = ((!_configuration.Advanced.ContinueRoleQuestsAfterShb) ? 1630044725 : 1630044717); - break; - case 8: + if (!_configuration.Advanced.SkipCrystalTowerRaids) { - IPlayerCharacter playerCharacter2 = _206C_200E_202E_206E_202D_206B_202B_206B_200D_200C_206C_202E_200C_200F_202E_200C_200B_202B_206E_202E_202B_206B_206F_206F_206E_206B_206D_206F_202E_202C_206A_202C_202D_200D_206E_200D_200E_202C_206B_206C_202E(_objectTable); - num7 = ((playerCharacter2 != null) ? new uint?(_206B_206D_202C_202E_202B_206C_202B_206C_206C_206B_200C_206F_200C_206F_206B_206A_206E_200D_202B_206B_206A_202A_206E_202D_202B_206C_202E_202D_206F_202B_206F_206D_202D_206C_202A_206C_200D_206A_206D_206B_202E((ICharacter)playerCharacter2).RowId) : ((uint?)null)); - num = (num7.HasValue ? 1630044730 : 1630044731); - break; - } - case 11: - return list.Where(_questRegistry.IsKnownQuest).ToList(); - case 15: - roleQuestPreference = _configuration.Advanced.RoleQuestPreference; - num = (QuestData.JobMatchesRolePreference(roleQuestPreference, valueOrDefault) ? 1630044728 : 1630044708); - break; - case 0: - num = (_configuration.Advanced.SkipClassJobQuests ? 1630044722 : 1630044713); - break; - case 22: - num = (IsQuestComplete(finalRoleQuests[0]) ? 1630044710 : 1630044721); - break; - case 29: - { - int num8 = num9; - num3 = 1; - num4 = num8; - int num10 = num4 ^ num3; - int num11 = num4 & num3; - num9 = num10 + (num11 + num11); - num = 1630044706; - break; - } - case 1: list.AddRange(QuestData.CrystalTowerQuests); - num = 1630044705; - break; - case 24: - { - num = ((!_configuration.Advanced.AutoPrioritizeAlliedSocietyRankUp) ? 1630044714 : 1630044733); - break; - } - IL_0213: - eClassJob = obj; - valueOrDefault2 = eClassJob.GetValueOrDefault(); - num = ((valueOrDefault2 == EClassJob.Adventurer) ? 1630044722 : 1630044711); - break; - IL_0305: - eClassJob = obj2; - valueOrDefault = eClassJob.GetValueOrDefault(); - num = ((valueOrDefault == EClassJob.Adventurer) ? 1630044725 : 1630044718); - break; } } + if (!_configuration.Advanced.SkipClassJobQuests) + { + EClassJob valueOrDefault = ((EClassJob?)_objectTable.LocalPlayer?.ClassJob.RowId).GetValueOrDefault(); + if (valueOrDefault != EClassJob.Adventurer) + { + list.AddRange(from x in _questRegistry.GetKnownClassJobQuests(valueOrDefault, includeRoleQuests: false) + select x.QuestId); + } + } + if (!_configuration.Advanced.SkipRoleQuests) + { + EClassJob valueOrDefault2 = ((EClassJob?)_objectTable.LocalPlayer?.ClassJob.RowId).GetValueOrDefault(); + if (valueOrDefault2 != EClassJob.Adventurer) + { + ERoleQuestPreference roleQuestPreference = _configuration.Advanced.RoleQuestPreference; + if (!QuestData.JobMatchesRolePreference(roleQuestPreference, valueOrDefault2)) + { + _logger.LogDebug("Role quest preference {Preference} does not match current job {ClassJob}, skipping", roleQuestPreference, valueOrDefault2); + } + else + { + IReadOnlyList roleQuestChaptersForPreference = QuestData.GetRoleQuestChaptersForPreference(roleQuestPreference, valueOrDefault2); + IReadOnlyList finalRoleQuests = QuestData.GetFinalRoleQuests(roleQuestPreference, valueOrDefault2); + if (roleQuestChaptersForPreference.Count > 0 && !IsQuestComplete(finalRoleQuests[0])) + { + list.AddRange(from x in _questData.GetRoleQuestsByChapter(roleQuestChaptersForPreference[0]) + where _questRegistry.IsKnownQuest(x.QuestId) + select x.QuestId); + } + if (_configuration.Advanced.ContinueRoleQuestsAfterShb) + { + for (int num = 1; num < roleQuestChaptersForPreference.Count && num < finalRoleQuests.Count; num++) + { + if (!IsQuestComplete(finalRoleQuests[num])) + { + list.AddRange(from x in _questData.GetRoleQuestsByChapter(roleQuestChaptersForPreference[num]) + where _questRegistry.IsKnownQuest(x.QuestId) + select x.QuestId); + } + } + } + } + } + } + if (!onlyClassAndRoleQuests && _configuration.Advanced.AutoPrioritizeAlliedSocietyRankUp) + { + list.AddRange(GetAllRankUpQuestsNeeded()); + } + return list.Where(_questRegistry.IsKnownQuest).ToList(); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe bool IsReadyToAcceptQuest(ElementId questId, bool ignoreLevel = false) { - int num = ((!IsQuestBlacklisted(questId)) ? (-1992777380) : (-1992777347)); - IQuestInfo info = default(IQuestInfo); - Questionable.Model.Quest quest = default(Questionable.Model.Quest); - QuestInfo questInfo = default(QuestInfo); - byte b = default(byte); - QuestId questId3 = default(QuestId); - EClassJob valueOrDefault = default(EClassJob); - uint? num5 = default(uint?); - QuestId questId2 = default(QuestId); - IQuestInfo questInfo2 = default(IQuestInfo); - while (true) + if (IsQuestBlacklisted(questId)) { - int num2 = num; - int num3 = -1992777348; - int num4 = num2; - EClassJob? obj; - EClassJob? eClassJob; - switch ((num4 | num3) - (num4 & num3)) + return false; + } + _questRegistry.TryGetQuest(questId, out Quest quest); + if (quest != null) + { + IQuestInfo info = quest.Info; + if (info != null && info.IsRepeatable) { - case 24: - info = quest.Info; - num = ((info == null) ? (-1992777386) : (-1992777353)); - break; - case 9: - num = ((questInfo.Level <= b) ? (-1992777374) : (-1992777354)); - break; - case 38: - num = ((!_configuration.Advanced.AutoPrioritizeAlliedSocietyRankUp) ? (-1992777349) : (-1992777345)); - break; - case 19: - return false; - case 39: - questId3 = questId as QuestId; - num = (((object)questId3 == null) ? (-1992777348) : (-1992777363)); - break; - case 28: - num = (quest.Info.ClassJobs.Contains(valueOrDefault) ? (-1992777346) : (-1992777364)); - break; - case 20: - obj = (EClassJob)num5.GetValueOrDefault(); - goto IL_01d5; - case 34: - return false; - case 6: - num = (ignoreLevel ? (-1992777374) : (-1992777375)); - break; - case 31: - questId2 = questId as QuestId; - num = (((object)questId2 == null) ? (-1992777374) : (-1992777388)); - break; - case 15: - _206E_200F_202E_206E_200F_206E_202D_200C_202B_200C_202A_206B_202D_206A_200C_202A_206B_202C_206D_206E_206B_200E_206F_200E_206F_202E_200D_202B_202A_202E_202A_200D_206E_202E_202E_202A_200C_200E_206E_206B_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(850994949), new object[3] + if (IsQuestAccepted(questId)) { - questId, - quest.Info.Level, - b - }); - num = -1992777391; - break; - case 33: - questInfo = questInfo2 as QuestInfo; - num = ((questInfo == null) ? (-1992777374) : (-1992777355)); - break; - case 4: - num = ((quest.Info.Level <= b) ? (-1992777360) : (-1992777359)); - break; - case 14: - return false; - case 25: - return false; - case 43: - return false; - case 17: - num = ((!IsDailyAlliedSocietyQuest(questId3)) ? (-1992777348) : (-1992777366)); - break; - case 35: - return false; - case 32: - _questRegistry.TryGetQuest(questId, out quest); - num = ((quest == null) ? (-1992777386) : (-1992777372)); - break; - case 26: - return false; - case 7: - num = ((!IsQuestLocked(questId)) ? (-1992777350) : (-1992777362)); - break; - case 41: - num = (IsDailyAlliedSocietyQuestAndAvailableToday(questId3) ? (-1992777382) : (-1992777377)); - break; - case 11: - num = ((!info.IsRepeatable) ? (-1992777386) : (-1992777384)); - break; - case 3: - num = ((!WouldOvercapAlliedSocietyReputation(questId3)) ? (-1992777349) : (-1992777385)); - break; - case 2: - return true; - case 22: - num = ((!QuestManager.Instance()->IsDailyQuestCompleted(_206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E(questId))) ? (-1992777387) : (-1992777361)); - break; - case 1: - return false; - case 13: - num = ((!_alreadyLoggedLevelRequirements.Add(_206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E(questId))) ? (-1992777391) : (-1992777357)); - break; - case 16: - return false; - case 40: - num = ((!_questData.TryGetQuestInfo(questId2, out questInfo2)) ? (-1992777374) : (-1992777379)); - break; - case 44: - { - IPlayerCharacter playerCharacter2 = _206C_200E_202E_206E_202D_206B_202B_206B_200D_200C_206C_202E_200C_200F_202E_200C_200B_202B_206E_202E_202B_206B_206F_206F_206E_206B_206D_206F_202E_202C_206A_202C_202D_200D_206E_200D_200E_202C_206B_206C_202E(_objectTable); - num5 = ((playerCharacter2 != null) ? new uint?(_206B_206D_202C_202E_202B_206C_202B_206C_206C_206B_200C_206F_200C_206F_206B_206A_206E_200D_202B_206B_206A_202A_206E_202D_202B_206C_202E_202D_206F_202B_206F_206D_202D_206C_202A_206C_200D_206A_206D_206B_202E((ICharacter)playerCharacter2).RowId) : ((uint?)null)); - num = (num5.HasValue ? (-1992777368) : (-1992777369)); - break; - } - case 30: - num = ((quest == null) ? (-1992777346) : (-1992777365)); - break; - case 18: - return false; - case 42: - num = ((!IsQuestAcceptedOrComplete(questId)) ? (-1992777349) : (-1992777370)); - break; - case 8: - num = ((quest == null) ? (-1992777360) : (-1992777352)); - break; - case 36: - num = ((!IsQuestAccepted(questId)) ? (-1992777381) : (-1992777378)); - break; - case 23: - num = ((quest.Info.ClassJobs.Count <= 0) ? (-1992777346) : (-1992777392)); - break; - case 5: - return false; - case 0: - num = ((!IsQuestComplete(questId)) ? (-1992777349) : (-1992777371)); - break; - case 10: - num = ((!_alreadyLoggedLevelRequirements.Add(_206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E((ElementId)questId2))) ? (-1992777358) : (-1992777383)); - break; - case 45: - return false; - case 12: - num = ((quest != null) ? (-1992777374) : (-1992777373)); - break; - case 29: - { - IPlayerCharacter playerCharacter = _206C_200E_202E_206E_202D_206B_202B_206B_200D_200C_206C_202E_200C_200F_202E_200C_200B_202B_206E_202E_202B_206B_206F_206F_206E_206B_206D_206F_202E_202C_206A_202C_202D_200D_206E_200D_200E_202C_206B_206C_202E(_objectTable); - b = (byte)((playerCharacter != null) ? _202A_200F_206C_206F_202A_202B_202D_202E_200B_202B_202E_200B_202C_206F_202D_206D_206A_202E_200D_200E_200F_206D_206F_200C_206D_202B_206C_206E_206A_200D_200C_206A_206E_206F_206D_200F_200D_202A_206E_206F_202E((ICharacter)playerCharacter) : 0); - num = ((b != 0) ? (-1992777356) : (-1992777351)); - break; - } - case 27: - obj = null; - goto IL_01d5; - case 21: - num = -1992777347; - break; - case 37: - { - _206E_200F_202E_206E_200F_206E_202D_200C_202B_200C_202A_206B_202D_206A_200C_202A_206B_202C_206D_206E_206B_200E_206F_200E_206F_202E_200D_202B_202A_202E_202A_200D_206E_202E_202E_202A_200C_200E_206E_206B_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1851985149), new object[3] { questId2, questInfo.Level, b }); - num = -1992777358; - break; + return false; } - IL_01d5: - eClassJob = obj; - valueOrDefault = eClassJob.GetValueOrDefault(); - num = ((!_202D_206E_200B_200C_206B_206B_206C_206B_202A_206D_206B_206E_200D_206C_200C_200D_202A_206E_202D_206B_206C_206F_200E_202A_206B_200E_200D_200C_200C_206D_200C_202D_200E_202C_200B_206F_200C_206E_200E_200D_202E(valueOrDefault)) ? (-1992777346) : (-1992777376)); - break; + if (questId is QuestId questId2 && IsDailyAlliedSocietyQuest(questId2)) + { + if (QuestManager.Instance()->IsDailyQuestCompleted(questId.Value)) + { + return false; + } + if (!IsDailyAlliedSocietyQuestAndAvailableToday(questId2)) + { + return false; + } + if (_configuration.Advanced.AutoPrioritizeAlliedSocietyRankUp && WouldOvercapAlliedSocietyReputation(questId2)) + { + return false; + } + } + else if (IsQuestComplete(questId)) + { + return false; + } + goto IL_009f; } } + if (IsQuestAcceptedOrComplete(questId)) + { + return false; + } + goto IL_009f; + IL_009f: + if (IsQuestLocked(questId)) + { + return false; + } + if (!ignoreLevel) + { + byte b = _objectTable.LocalPlayer?.Level ?? 0; + if (b == 0) + { + return false; + } + if (quest != null && quest.Info.Level > b) + { + if (_alreadyLoggedLevelRequirements.Add(questId.Value)) + { + _logger.LogDebug("Quest {QuestId} level requirement not met: required {RequiredLevel}, current {CurrentLevel}", questId, quest.Info.Level, b); + } + return false; + } + if (quest == null && questId is QuestId questId3 && _questData.TryGetQuestInfo(questId3, out IQuestInfo questInfo) && questInfo is QuestInfo questInfo2 && questInfo2.Level > b) + { + if (_alreadyLoggedLevelRequirements.Add(questId3.Value)) + { + _logger.LogDebug("Quest {QuestId} (from data) level requirement not met: required {RequiredLevel}, current {CurrentLevel}", questId3, questInfo2.Level, b); + } + return false; + } + } + if (quest != null && quest.Info.ClassJobs.Count > 0) + { + EClassJob valueOrDefault = ((EClassJob?)_objectTable.LocalPlayer?.ClassJob.RowId).GetValueOrDefault(); + if (valueOrDefault.IsLimitedJob() && !quest.Info.ClassJobs.Contains(valueOrDefault)) + { + return false; + } + } + return true; } public bool IsQuestBlacklisted(ElementId questId) @@ -1383,396 +501,169 @@ internal sealed class QuestFunctions public bool IsQuestAcceptedOrComplete(ElementId elementId) { - int num = (IsQuestComplete(elementId) ? 397448495 : 397448492); - while (true) + if (!IsQuestComplete(elementId)) { - int num2 = num; - int num3 = 397448493; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return true; - case 1: - return IsQuestAccepted(elementId); - case 0: - goto IL_0053; - } - continue; - IL_0053: - num = 397448492; + return IsQuestAccepted(elementId); } + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public bool IsQuestAccepted(ElementId elementId) { - QuestId questId = elementId as QuestId; - int num = (((object)questId == null) ? 1127700724 : 1127700727); - while (true) + if (elementId is QuestId questId) { - int num2 = num; - int num3 = 1127700724; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1127700727; - break; - case 0: - num = ((!(elementId is UnlockLinkId)) ? 1127700720 : 1127700725); - break; - case 1: - return false; - case 3: - return IsQuestAccepted(questId); - case 4: - throw _206E_206E_206E_206E_206C_206F_206F_206B_206E_200F_206F_206D_202B_206E_206F_202D_202C_206A_206D_200B_206B_206F_206A_200E_206A_206C_200B_206B_202E_206A_206F_200E_202E_206E_202A_200E_200D_202C_202E_200F_202E(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)); - } + return IsQuestAccepted(questId); } + if (elementId is UnlockLinkId) + { + return false; + } + throw new ArgumentOutOfRangeException("elementId"); } public unsafe bool IsQuestAccepted(QuestId questId) { - return QuestManager.Instance()->IsQuestAccepted(_206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E((ElementId)questId)); + return QuestManager.Instance()->IsQuestAccepted(questId.Value); } public unsafe (QuestId Id, byte Sequence)? GetCurrentQuestWithoutPath() { QuestManager* ptr = QuestManager.Instance(); - int num = ((ptr != null) ? 1897423805 : 1897423796); - QuestId questId2 = default(QuestId); - QuestWork questWork = default(QuestWork); - int num8 = default(int); - int num7 = default(int); - ushort questId = default(ushort); - TrackingWork trackingWork = default(TrackingWork); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1897423797; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return null; + } + for (int num = ptr->TrackedQuests.Length - 1; num >= 0; num--) + { + TrackingWork trackingWork = ptr->TrackedQuests[num]; + if (trackingWork.QuestType == 1) { - case 15: - return null; - case 4: - return (questId2, questWork.Sequence); - case 7: - questWork = ptr->NormalQuests[num8]; - num = ((questWork.QuestId == 0) ? 1897423800 : 1897423806); - break; - case 12: - num = 1897423796; - break; - case 8: - num7 = ptr->TrackedQuests.Length - 1; - num = 1897423795; - break; - case 13: - { - int num9 = num8; - num3 = 1; - num4 = num9; - int num10 = num4 ^ num3; - int num11 = num4 & num3; - num8 = num10 + (num11 + num11); - num = 1897423792; - break; - } - case 9: - questId = ptr->NormalQuests[trackingWork.Index].QuestId; - num = ((questId == 0) ? 1897423799 : 1897423803); - break; - case 1: - return null; - case 10: - trackingWork = ptr->TrackedQuests[num7]; - num = ((trackingWork.QuestType != 1) ? 1897423799 : 1897423804); - break; - case 2: - { - int num12 = num7; - num3 = 1; - num4 = num12; - num7 = ~(~num4 + num3); - num = 1897423795; - break; - } - case 3: - return (_206E_200C_200C_202B_206D_202B_206B_200C_202A_206A_202E_202B_206F_206A_200D_202E_200B_202D_202D_206A_200D_200C_202C_202D_206D_202A_206F_200F_200D_202B_202C_206C_200C_202B_206F_206C_206D_206B_200C_206E_202E(questId), QuestManager.GetQuestSequence(questId)); - case 11: - questId2 = _206E_200C_200C_202B_206D_202B_206B_200C_202A_206A_202E_202B_206F_206A_200D_202E_200B_202D_202D_206A_200D_200C_202C_202D_206D_202A_206F_200F_200D_202B_202C_206C_200C_202B_206F_206C_206D_206B_200C_206E_202E(questWork.QuestId); - num = (HasUsablePath(questId2) ? 1897423800 : 1897423793); - break; - case 0: - num8 = 0; - num = 1897423792; - break; - case 5: - num = ((num8 < ptr->NormalQuests.Length) ? 1897423794 : 1897423802); - break; - case 14: - num = (HasUsablePath(_206E_200C_200C_202B_206D_202B_206B_200C_202A_206A_202E_202B_206F_206A_200D_202E_200B_202D_202D_206A_200D_200C_202C_202D_206D_202A_206F_200F_200D_202B_202C_206C_200C_202B_206F_206C_206D_206B_200C_206E_202E(questId)) ? 1897423799 : 1897423798); - break; - case 6: - num = ((num7 >= 0) ? 1897423807 : 1897423797); - break; + ushort questId = ptr->NormalQuests[trackingWork.Index].QuestId; + if (questId != 0 && !HasUsablePath(new QuestId(questId))) + { + return (new QuestId(questId), QuestManager.GetQuestSequence(questId)); + } } } + for (int i = 0; i < ptr->NormalQuests.Length; i++) + { + QuestWork questWork = ptr->NormalQuests[i]; + if (questWork.QuestId != 0) + { + QuestId questId2 = new QuestId(questWork.QuestId); + if (!HasUsablePath(questId2)) + { + return (questId2, questWork.Sequence); + } + } + } + return null; } private bool HasUsablePath(QuestId questId) { - Questionable.Model.Quest quest; - int num = ((!_questRegistry.TryGetQuest(questId, out quest)) ? 390771052 : 390771054); - while (true) + if (_questRegistry.TryGetQuest(questId, out Quest quest) && !quest.Root.Disabled) { - int num2 = num; - int num3 = 390771053; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return false; - case 3: - num = (_202A_202E_202A_206F_206A_206B_202A_206C_206D_206E_202B_202A_200C_202B_206F_200D_206D_200B_206E_200C_206B_200D_202E_200E_200D_200B_206F_206A_206E_206D_202B_206C_202C_202E_206C_200E_202B_202B_200F_206F_202E(quest.Root) ? 390771052 : 390771053); - break; - case 0: - return _202E_200D_202D_202D_202D_200B_200F_206A_200F_202B_206E_200B_202E_206E_206A_200D_202C_202C_200D_202D_202E_200D_202A_200F_202C_206F_206B_206C_200D_200F_200E_206F_202A_206D_206C_200B_206E_200B_200B_200E_202E(quest.Root).Count > 0; - case 2: - num = 390771054; - break; - } + return quest.Root.QuestSequence.Count > 0; } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] public bool IsQuestComplete(ElementId elementId) { - QuestId questId = elementId as QuestId; - int num = (((object)questId == null) ? (-2066082901) : (-2066082903)); - UnlockLinkId unlockLinkId = default(UnlockLinkId); - while (true) + if (elementId is QuestId questId) { - int num2 = num; - int num3 = -2066082904; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - unlockLinkId = elementId as UnlockLinkId; - num = (((object)unlockLinkId == null) ? (-2066082902) : (-2066082900)); - break; - case 1: - return IsQuestComplete(questId); - case 2: - throw _206E_206E_206E_206E_206C_206F_206F_206B_206E_200F_206F_206D_202B_206E_206F_202D_202C_206A_206D_200B_206B_206F_206A_200E_206A_206C_200B_206B_202E_206A_206F_200E_202E_206E_202A_200E_200D_202C_202E_200F_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2103986634)); - case 0: - num = -2066082903; - break; - case 4: - return IsQuestComplete(unlockLinkId); - } + return IsQuestComplete(questId); } + if (elementId is UnlockLinkId unlockLinkId) + { + return IsQuestComplete(unlockLinkId); + } + throw new ArgumentOutOfRangeException("elementId"); } public bool IsQuestComplete(QuestId questId) { - return QuestManager.IsQuestComplete(_206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E((ElementId)questId)); + return QuestManager.IsQuestComplete(questId.Value); } public unsafe bool IsQuestComplete(UnlockLinkId unlockLinkId) { - return UIState.Instance()->IsUnlockLinkUnlocked(_206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E((ElementId)unlockLinkId)); + return UIState.Instance()->IsUnlockLinkUnlocked(unlockLinkId.Value); } - [MethodImpl(MethodImplOptions.NoInlining)] public bool IsQuestLocked(ElementId elementId, ElementId? extraCompletedQuest = null) { - QuestId questId = elementId as QuestId; - int num = (((object)questId == null) ? (-1544253381) : (-1544253382)); - UnlockLinkId unlockLinkId = default(UnlockLinkId); - while (true) + if (elementId is QuestId questId) { - int num2 = num; - int num3 = -1544253381; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = -1544253382; - break; - case 1: - return IsQuestLocked(questId, extraCompletedQuest); - case 0: - unlockLinkId = elementId as UnlockLinkId; - num = (((object)unlockLinkId == null) ? (-1544253383) : (-1544253384)); - break; - case 3: - return IsQuestLocked(unlockLinkId); - case 2: - throw _206E_206E_206E_206E_206C_206F_206F_206B_206E_200F_206F_206D_202B_206E_206F_202D_202C_206A_206D_200B_206B_206F_206A_200E_206A_206C_200B_206B_202E_206A_206F_200E_202E_206E_202A_200E_200D_202C_202E_200F_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1715407065)); - } + return IsQuestLocked(questId, extraCompletedQuest); } + if (elementId is UnlockLinkId unlockLinkId) + { + return IsQuestLocked(unlockLinkId); + } + throw new ArgumentOutOfRangeException("elementId"); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe bool IsQuestLocked(QuestId questId, ElementId? extraCompletedQuest = null) { - int num = ((!IsQuestUnobtainable(questId, extraCompletedQuest)) ? (-914360076) : (-914360075)); - RetainerManager* ptr = default(RetainerManager*); - bool flag = default(bool); - IQuestInfo questInfo3 = default(IQuestInfo); - QuestInfo questInfo2 = default(QuestInfo); - byte b = default(byte); - QuestInfo questInfo = default(QuestInfo); - byte b2 = default(byte); - byte requiredGCRank = default(byte); - FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany grandCompany = default(FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany); - byte grandCompanyRank = default(byte); - while (true) + if (IsQuestUnobtainable(questId, extraCompletedQuest)) { - int num2 = num; - int num3 = -914360072; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return true; + } + QuestInfo questInfo = (QuestInfo)_questData.GetQuestInfo(questId); + if (questInfo.GrandCompany != GrandCompany.None) + { + GrandCompany grandCompany = GetGrandCompany(); + byte grandCompanyRank = GetGrandCompanyRank(); + byte requiredGCRank = QuestData.GetRequiredGCRank(questId); + if (questInfo.GrandCompany != grandCompany || grandCompanyRank < requiredGCRank) { - case 10: - ptr = RetainerManager.Instance(); - num = ((ptr == null) ? (-914360083) : (-914360080)); - break; - case 33: - num = ((!_journalData.MoogleDeliveryGenreId.HasValue) ? (-914360102) : (-914360079)); - break; - case 0: - num = ((!flag) ? (-914360066) : (-914360078)); - break; - case 27: - return true; - case 3: - num = ((!_questData.TryGetQuestInfo(extraCompletedQuest, out questInfo3)) ? (-914360102) : (-914360096)); - break; - case 24: - questInfo2 = questInfo3 as QuestInfo; - num = ((questInfo2 == null) ? (-914360102) : (-914360103)); - break; - case 26: - return true; - case 28: - { - byte num7 = b; - num3 = 1; - num4 = num7; - b = (byte)((num4 | num3) + (num4 & num3)); - num = -914360102; - break; - } - case 1: - num = -914360089; - break; - case 9: - num = ((questInfo2.JournalGenre != _journalData.MoogleDeliveryGenreId.Value) ? (-914360102) : (-914360092)); - break; - case 18: - return true; - case 32: - num = ((!questInfo.IsRepeatable) ? (-914360084) : (-914360070)); - break; - case 14: - num = -914360075; - break; - case 29: - flag = false; - num = -914360072; - break; - case 15: - return !HasCompletedPreviousInstances(questInfo); - case 31: - { - ushort num8 = _206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E((ElementId)questId); - num3 = 1432; - num4 = num8; - num = (((uint)(~(~num4 + num3)) > 2u) ? (-914360091) : (-914360082)); - break; - } - case 11: - num = ((b2 >= questInfo.AlliedSocietyRank) ? (-914360104) : (-914360086)); - break; - case 25: - num = ((questInfo.AlliedSociety == EAlliedSociety.None) ? (-914360084) : (-914360087)); - break; - case 7: - b = _206C_206D_206C_202B_200B_200E_202A_200B_202D_202C_202B_206A_202C_206A_202D_202B_206F_202E_202C_200C_202B_202D_206C_206C_206B_206B_200E_206A_202D_202A_202E_206B_206C_200F_202C_202C_202E_200F_202C_206C_202E(); - num = ((!_206E_202C_206F_202A_202E_202A_202A_200F_206C_202E_202C_206B_202A_200C_206C_206E_202D_202C_200E_200B_202A_206A_200D_202C_202C_202B_202B_206A_202D_206A_206C_206C_202D_200B_200E_200D_202E_202A_206C_206D_202E(extraCompletedQuest, (ElementId)null)) ? (-914360102) : (-914360069)); - break; - case 6: - num = ((!HasCompletedPreviousQuests(questInfo, extraCompletedQuest)) ? (-914360094) : (-914360073)); - break; - case 16: - _206E_200F_202E_206E_200F_206E_202D_200C_202B_200C_202A_206B_202D_206A_200C_202A_206B_202C_206D_206E_206B_200E_206F_200E_206F_202E_200D_202B_202A_202E_202A_200D_206E_202E_202E_202A_200C_200E_206E_206B_202E((ILogger)_logger, 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(1828520044), new object[5] { questId, questInfo.GrandCompany, requiredGCRank, grandCompany, grandCompanyRank }); - num = -914360093; - break; - case 17: - b2 = _202D_200D_206A_202C_206E_206F_200E_206A_202E_200F_206D_206F_206D_202D_202D_200E_200D_206A_206D_202B_200C_206C_206D_200C_200F_202A_206C_202E_200C_206E_200B_202D_202D_206F_206A_206F_200F_202A_206E_206F_202E((byte)questInfo.AlliedSociety); - num = ((b2 == 0) ? (-914360086) : (-914360077)); - break; - case 19: - if (questInfo.JournalGenre == _journalData.MoogleDeliveryGenreId.Value) + if (_alreadyLoggedGcLockedQuests.Add(questId.Value)) { - num = -914360065; - break; + _logger.LogDebug("Quest {QuestId} locked: required GC {RequiredGc}, required rank {RequiredRank}, player GC {PlayerGc}, player rank {PlayerRank}", questId, questInfo.GrandCompany, requiredGCRank, grandCompany, grandCompanyRank); } - goto case 1; - case 5: - grandCompany = GetGrandCompany(); - grandCompanyRank = GetGrandCompanyRank(); - requiredGCRank = QuestData.GetRequiredGCRank(questId); - num = ((questInfo.GrandCompany != grandCompany) ? (-914360068) : (-914360081)); - break; - case 20: - num = ((!_journalData.MoogleDeliveryGenreId.HasValue) ? (-914360071) : (-914360085)); - break; - case 12: - questInfo = (QuestInfo)_questData.GetQuestInfo(questId); - num = ((questInfo.GrandCompany == FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany.None) ? (-914360095) : (-914360067)); - break; - case 30: return true; - case 8: - num = ((ptr->MaxRetainerEntitlement != 0) ? (-914360066) : (-914360083)); - break; - case 2: - return !IsDailyAlliedSocietyQuestAndAvailableToday(questId); - case 23: - num = ((grandCompanyRank >= requiredGCRank) ? (-914360095) : (-914360068)); - break; - case 21: - return true; - case 4: - num = ((!_alreadyLoggedGcLockedQuests.Add(_206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E((ElementId)questId))) ? (-914360093) : (-914360088)); - break; - case 13: - return true; - case 22: - flag = true; - num = -914360072; - break; - case 34: - num = ((questInfo.MoogleDeliveryLevel <= b) ? (-914360089) : (-914360090)); - break; } } + if (questInfo.AlliedSociety != EAlliedSociety.None) + { + byte beastTribeRank = PlayerStateHelper.GetBeastTribeRank((byte)questInfo.AlliedSociety); + if (beastTribeRank == 0 || beastTribeRank < questInfo.AlliedSocietyRank) + { + return true; + } + if (questInfo.IsRepeatable) + { + return !IsDailyAlliedSocietyQuestAndAvailableToday(questId); + } + } + if (_journalData.MoogleDeliveryGenreId.HasValue && questInfo.JournalGenre == _journalData.MoogleDeliveryGenreId.Value) + { + byte b = PlayerStateHelper.GetDeliveryLevel(); + if (extraCompletedQuest != null && _questData.TryGetQuestInfo(extraCompletedQuest, out IQuestInfo questInfo2) && questInfo2 is QuestInfo questInfo3 && _journalData.MoogleDeliveryGenreId.HasValue && questInfo3.JournalGenre == _journalData.MoogleDeliveryGenreId.Value) + { + b++; + } + if (questInfo.MoogleDeliveryLevel > b) + { + return true; + } + } + ushort value = questId.Value; + if ((uint)(value - 1432) <= 2u) + { + RetainerManager* ptr = RetainerManager.Instance(); + if (ptr == null || ptr->MaxRetainerEntitlement == 0) + { + return true; + } + } + if (HasCompletedPreviousQuests(questInfo, extraCompletedQuest)) + { + return !HasCompletedPreviousInstances(questInfo); + } + return true; } private static bool IsQuestLocked(UnlockLinkId unlockLinkId) @@ -1783,709 +674,279 @@ internal sealed class QuestFunctions public bool IsDailyAlliedSocietyQuest(QuestId questId) { QuestInfo questInfo = (QuestInfo)_questData.GetQuestInfo(questId); - int num = ((questInfo.AlliedSociety == EAlliedSociety.None) ? 1697823360 : 1697823363); - while (true) + if (questInfo.AlliedSociety != EAlliedSociety.None) { - int num2 = num; - int num3 = 1697823361; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return false; - case 2: - return questInfo.IsRepeatable; - case 0: - goto IL_0061; - } - continue; - IL_0061: - num = 1697823363; + return questInfo.IsRepeatable; } + return false; } public bool IsDailyAlliedSocietyQuestAndAvailableToday(QuestId questId) { - int num = (IsDailyAlliedSocietyQuest(questId) ? 919802169 : 919802170); - while (true) + if (!IsDailyAlliedSocietyQuest(questId)) { - int num2 = num; - int num3 = 919802171; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0047; - case 2: - { - QuestInfo questInfo = (QuestInfo)_questData.GetQuestInfo(questId); - return _alliedSocietyQuestFunctions.GetAvailableAlliedSocietyQuests(questInfo.AlliedSociety).Contains(questId); - } - case 1: - return false; - } - continue; - IL_0047: - num = 919802170; + return false; } + QuestInfo questInfo = (QuestInfo)_questData.GetQuestInfo(questId); + return _alliedSocietyQuestFunctions.GetAvailableAlliedSocietyQuests(questInfo.AlliedSociety).Contains(questId); } public bool WouldOvercapAlliedSocietyReputation(QuestId questId) { - int num = (IsDailyAlliedSocietyQuest(questId) ? 2116876460 : 2116876461); - while (true) + if (!IsDailyAlliedSocietyQuest(questId)) { - int num2 = num; - int num3 = 2116876460; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0049; - case 0: - return _alliedSocietyQuestFunctions.WouldOvercapReputation(questId); - case 1: - return false; - } - continue; - IL_0049: - num = 2116876461; + return false; } + return _alliedSocietyQuestFunctions.WouldOvercapReputation(questId); } public QuestId? GetRankUpQuestIfAtCapacity(EAlliedSociety alliedSociety) { (byte, ushort, ushort, bool, bool)? reputationStatus = _alliedSocietyQuestFunctions.GetReputationStatus(alliedSociety); - int num = (reputationStatus.HasValue ? 1865488196 : 1865488197); - byte item2 = default(byte); - bool item = default(bool); - while (true) + if (!reputationStatus.HasValue) { - int num2 = num; - int num3 = 1865488196; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - { - (byte, ushort, ushort, bool, bool) value = reputationStatus.Value; - item2 = value.Item1; - bool item3 = value.Item4; - item = value.Item5; - num = (item3 ? 1865488198 : 1865488199); - break; - } - case 4: - return _alliedSocietyQuestFunctions.GetRankUpQuest(alliedSociety, item2); - case 5: - num = 1865488197; - break; - case 3: - num = (item ? 1865488192 : 1865488198); - break; - case 2: - return null; - case 1: - return null; - } + return null; } + var (currentRank, _, _, flag, flag2) = reputationStatus.Value; + if (flag || !flag2) + { + return null; + } + return _alliedSocietyQuestFunctions.GetRankUpQuest(alliedSociety, currentRank); } public List GetAllRankUpQuestsNeeded() { List list = new List(); - IEnumerator enumerator = (from s in Enum.GetValues() + foreach (EAlliedSociety item in from s in Enum.GetValues() where s != EAlliedSociety.None - select s).GetEnumerator(); - try + select s) { - int num = 588258585; - QuestId rankUpQuestIfAtCapacity = default(QuestId); - while (true) + QuestId rankUpQuestIfAtCapacity = GetRankUpQuestIfAtCapacity(item); + if (rankUpQuestIfAtCapacity != null && !IsQuestComplete(rankUpQuestIfAtCapacity) && !IsQuestAccepted(rankUpQuestIfAtCapacity)) { - int num2 = num; - int num3 = 588258585; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - list.Add(rankUpQuestIfAtCapacity); - num = 588258585; - break; - case 6: - { - EAlliedSociety current = enumerator.Current; - rankUpQuestIfAtCapacity = GetRankUpQuestIfAtCapacity(current); - num = ((!_206E_202C_206F_202A_202E_202A_202A_200F_206C_202E_202C_206B_202A_200C_206C_206E_202D_202C_200E_200B_202A_206A_200D_202C_202C_202B_202B_206A_202D_206A_206C_206C_202D_200B_200E_200D_202E_202A_206C_206D_202E((ElementId)rankUpQuestIfAtCapacity, (ElementId)null)) ? 588258585 : 588258587); - break; - } - case 3: - num = 588258585; - break; - case 0: - num = (_206A_200C_206C_206A_206C_202A_200E_206E_206E_200C_200D_206D_202E_206C_200F_206C_206A_202C_206A_206C_202E_206C_202A_202D_206C_202E_206C_206B_206F_200C_202E_200F_200F_200B_200D_206F_200C_200F_200E_206F_202E((IEnumerator)enumerator) ? 588258591 : 588258584); - break; - case 4: - num = (IsQuestAccepted(rankUpQuestIfAtCapacity) ? 588258585 : 588258588); - break; - case 2: - num = (IsQuestComplete(rankUpQuestIfAtCapacity) ? 588258585 : 588258589); - break; - case 1: - return list; - } - } - } - finally - { - int num = ((enumerator == null) ? (-621829932) : (-621829929)); - while (true) - { - int num5 = num; - int num3 = -621829930; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 2: - goto end_IL_0160; - case 1: - _202D_206D_202A_206C_206E_200E_200E_206B_200E_200D_200D_206D_206B_200C_206A_200E_202C_206F_200C_206F_202B_200D_206D_202C_206B_206E_200E_206D_202C_200D_202C_206A_200C_200C_200F_200B_202A_206F_206C_206F_202E((IDisposable)enumerator); - num = -621829932; - break; - case 0: - num = -621829929; - break; - } - continue; - end_IL_0160: - break; + list.Add(rankUpQuestIfAtCapacity); } } + return list; } public bool IsQuestUnobtainable(ElementId elementId, ElementId? extraCompletedQuest = null) { - QuestId questId = elementId as QuestId; - int num = (((object)questId == null) ? (-166207396) : (-166207395)); - UnlockLinkId unlockLinkId = default(UnlockLinkId); - while (true) + if (elementId is QuestId questId) { - int num2 = num; - int num3 = -166207396; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return IsQuestUnobtainableStatic(unlockLinkId); - case 1: - return IsQuestUnobtainable(questId, extraCompletedQuest); - case 0: - unlockLinkId = elementId as UnlockLinkId; - num = (((object)unlockLinkId == null) ? (-166207400) : (-166207394)); - break; - case 4: - return false; - case 3: - num = -166207395; - break; - } + return IsQuestUnobtainable(questId, extraCompletedQuest); } + if (elementId is UnlockLinkId unlockLinkId) + { + return IsQuestUnobtainableStatic(unlockLinkId); + } + return false; } private static bool IsQuestUnobtainableStatic(UnlockLinkId unlockLinkId) { - int num = ((_206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E((ElementId)unlockLinkId) != 506) ? (-1159477851) : (-1159477850)); - while (true) + if (unlockLinkId.Value == 506) { - int num2 = num; - int num3 = -1159477849; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1159477850; - break; - case 1: - return !IsFestivalActive(160, (ushort)2); - case 3: - return !IsFestivalActive(160, (ushort)3); - case 2: - num = ((_206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E((ElementId)unlockLinkId) != 568) ? (-1159477853) : (-1159477852)); - break; - case 4: - return true; - } + return !IsFestivalActive(160, (ushort)2); } + if (unlockLinkId.Value == 568) + { + return !IsFestivalActive(160, (ushort)3); + } + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public bool IsQuestUnobtainable(QuestId questId, ElementId? extraCompletedQuest = null) { IQuestInfo questInfo = _questData.GetQuestInfo(questId); - UnlockLinkQuestInfo unlockLinkQuestInfo = questInfo as UnlockLinkQuestInfo; - int num = ((unlockLinkQuestInfo == null) ? 449197430 : 449197379); - Questionable.Model.Quest quest = default(Questionable.Model.Quest); - DateTime valueOrDefault = default(DateTime); - DateTime? expiry = default(DateTime?); - DateTime dateTime = default(DateTime); - int num7 = default(int); - EClassJob value = default(EClassJob); - QuestInfo questInfo2 = default(QuestInfo); - byte b = default(byte); - List list = default(List); - while (true) + if (questInfo is UnlockLinkQuestInfo { QuestExpiry: { } questExpiry }) { - int num2 = num; - int num3 = 449197395; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - object obj; - switch (num5 - (num6 + num6)) + DateTime dateTime = ExpiryUtils.NormalizeExpiry(questExpiry); + if (_alreadyLoggedUnobtainableQuestsDetailed.Add(questId.Value)) { - case 44: - return true; - case 35: - return true; - case 20: - { - QuestRoot root = quest.Root; - obj = ((root != null) ? _200F_200B_200B_206F_206E_206B_206F_200D_202C_202D_202A_206B_202A_202D_206C_200B_206F_206D_202A_202A_200D_202A_200C_202D_206F_206A_206B_200C_202B_206C_200F_200E_206C_206F_200D_206C_206C_206A_200E_206E_202E(root) : null); - goto IL_0159; + _logger.LogDebug("UnlockLink quest {QuestId} expiry raw={ExpiryRaw} normalized={ExpiryUtc:o}", questId, questExpiry.ToString("o"), dateTime); } - case 48: - return true; - case 13: - return true; - case 31: - valueOrDefault = expiry.GetValueOrDefault(); - dateTime = ExpiryUtils.NormalizeExpiry(valueOrDefault); - num = ((!_alreadyLoggedUnobtainableQuestsDetailed.Add(_206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E((ElementId)questId))) ? 449197398 : 449197429); - break; - case 28: - num = ((!_alreadyLoggedUnobtainableQuestsDetailed.Add(_206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E((ElementId)questId))) ? 449197387 : 449197410); - break; - case 17: - num = ((!CloseToHomeQuests.Any((KeyValuePair x) => IsQuestAcceptedOrComplete(_003C_003Ec__DisplayClass48_0._206E_202D_206E_200E_202E_206B_206B_202B_206D_202B_202D_206C_206E_202D_200B_206B_200E_200C_200F_206D_206C_206B_200B_202C_206F_206A_206A_202C_206D_206E_206F_206D_206A_202D_200C_200F_206F_200B_200B_206C_202E(x.Key)))) ? 449197409 : 449197404); - break; - case 52: - num = ((num7 <= 0) ? 449197395 : 449197428); - break; - case 15: - num = (((EClassJob)_202A_206F_206B_200E_206D_202B_200F_206E_202B_206D_200B_200C_206F_202D_206B_206B_202E_206C_202A_200F_202C_206B_200D_200B_200F_206C_206F_206E_200F_206E_200E_200C_206A_202E_202C_200F_206F_202A_206B_206E_202E() == value) ? 449197409 : 449197405); - break; - case 40: - num = ((questInfo2.QuestLocks.Count <= 0) ? 449197395 : 449197380); - break; - case 14: - return true; - case 42: - num = ((b == 3) ? 449197402 : 449197385); - break; - case 16: - expiry = unlockLinkQuestInfo.QuestExpiry; - num = ((!expiry.HasValue) ? 449197430 : 449197388); - break; - case 24: - return true; - case 22: + if (DateTime.UtcNow > dateTime) { - DateTime valueOrDefault2 = expiry.GetValueOrDefault(); - num = ((!(DateTime.UtcNow > ExpiryUtils.NormalizeExpiry(valueOrDefault2))) ? 449197438 : 449197406); - break; - } - case 51: - num = ((!questInfo2.IsSeasonalQuest) ? 449197394 : 449197377); - break; - case 49: - { - QuestData questData = _questData; - expiry = null; - questData.ApplySeasonalOverride(questId, isSeasonal: true, expiry); - _206E_200F_202E_206E_200F_206E_202D_200C_202B_200C_202A_206B_202D_206A_200C_202A_206B_202C_206D_206E_206B_200E_206F_200E_206F_202E_200D_202B_202A_202E_202A_200D_206E_202E_202E_202A_200C_200E_206E_206B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(543870668), new object[2] { questId, questInfo2.JournalGenre }); - num = 449197387; - break; - } - case 46: - return false; - case 36: - if (list.Count > 0) - { - num = 449197435; - break; - } - goto case 21; - case 19: - obj = null; - goto IL_0159; - case 25: - b = _206C_202C_200B_200C_202D_206A_200C_206C_206D_202D_200D_202D_206E_202D_200F_202E_206A_200E_206A_200E_200D_202C_202C_202E_206D_200E_206C_200B_200D_206D_202D_206C_200F_200D_202D_206D_202A_206D_202B_200E_202E(); - num = ((questInfo2.StartingCity <= 0) ? 449197384 : 449197390); - break; - case 4: return true; - case 12: - num = ((!_questRegistry.TryGetQuest(questId, out quest)) ? 449197382 : 449197426); - break; - case 5: - num = ((!(DateTime.UtcNow > dateTime)) ? 449197430 : 449197401); - break; - case 2: - return true; - case 7: - num = ((questInfo2.QuestLocks.Count != num7) ? 449197397 : 449197411); - break; - case 47: - num = ((b != 3) ? 449197389 : 449197439); - break; - case 39: - return true; - case 27: - num = ((_206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E((ElementId)questId) != 674) ? 449197389 : 449197436); - break; - case 1: - num = ((!QuestData.GetLockedClassQuests().Contains(questId)) ? 449197386 : 449197427); - break; - case 45: - num = (questInfo2.IsSeasonalEvent ? 449197377 : 449197408); - break; - case 34: - num = 449197379; - break; - case 10: - return true; - case 18: - expiry = questInfo2.SeasonalQuestExpiry; - num = (expiry.HasValue ? 449197394 : 449197403); - break; - case 8: - num = (_configuration.General.ShowIncompleteSeasonalEvents ? 449197394 : 449197393); - break; - case 38: - _206E_200F_202E_206E_200F_206E_202D_200C_202B_200C_202A_206B_202D_206A_200C_202A_206B_202C_206D_206E_206B_200E_206F_200E_206F_202E_200D_202B_202A_202E_202A_200D_206E_202E_202E_202A_200C_200E_206E_206B_202E((ILogger)_logger, 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(770553959), new object[3] - { - questId, - valueOrDefault.ToString(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1434447138)), - dateTime - }); - num = 449197398; - break; - case 11: - num = ((!questInfo2.JournalGenre.HasValue) ? 449197435 : 449197392); - break; - case 3: - num = ((!_journalData.SeasonalEventGenreIds.Contains(questInfo2.JournalGenre.Value)) ? 449197435 : 449197407); - break; - case 32: - return true; - case 21: - case 41: - num = 449197391; - break; - case 26: - return true; - case 9: - num = ((!CloseToHomeQuests.TryGetValue(_206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E((ElementId)questId), out value)) ? 449197409 : 449197378); - break; - case 29: - num = ((questInfo2.StartingCity == b) ? 449197384 : 449197432); - break; - case 37: - questInfo2 = (QuestInfo)questInfo; - num = (((int)questInfo2.Expansion <= (int)_200F_202C_202E_200B_202C_206F_202D_200E_206E_202E_206C_206F_206D_202B_206E_202E_202C_200B_202A_200E_206D_202D_200F_206A_202B_206E_202A_206E_202C_200F_202A_202B_200D_206B_206B_200D_206B_206D_200B_202B_202E()) ? 449197400 : 449197424); - break; - case 30: - num = ((_206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E((ElementId)questId) != 673) ? 449197402 : 449197433); - break; - case 0: - expiry = questInfo2.SeasonalQuestExpiry; - num = ((!expiry.HasValue) ? 449197438 : 449197381); - break; - case 50: - num = ((!IsQuestRemoved(questId)) ? 449197437 : 449197399); - break; - case 43: - return true; - case 6: - num = ((questInfo2.QuestLockJoin != EQuestJoin.AtLeastOne) ? 449197395 : 449197415); - break; - case 33: - num = ((quest != null) ? 449197383 : 449197376); - break; - case 23: - { - num7 = questInfo2.QuestLocks.Count(delegate(QuestId x) - { - int num8 = (IsQuestComplete(x) ? 1809882662 : 1809882661); - while (true) - { - int num9 = num8; - int num10 = 1809882660; - int num11 = num9; - int num12 = num11 + num10; - int num13 = num11 & num10; - switch (num12 - (num13 + num13)) - { - case 0: - goto IL_004e; - case 2: - return true; - case 1: - return _003C_003Ec__DisplayClass48_0._206D_200C_200B_206C_206E_206D_202E_206C_200F_206F_206A_206D_202A_206C_200F_202E_206B_206A_200D_202D_206C_202E_202B_206E_206F_202B_206F_200E_206C_206A_202E_206F_200F_200D_200C_202C_200E_206F_206C_202E_202E((ElementId)x, extraCompletedQuest); - } - continue; - IL_004e: - num8 = 1809882661; - } - }); - num = ((questInfo2.QuestLockJoin != EQuestJoin.All) ? 449197397 : 449197396); - break; - } - IL_0159: - list = (List)obj; - num = ((list == null) ? 449197434 : 449197431); - break; } } + QuestInfo questInfo2 = (QuestInfo)questInfo; + if ((int)questInfo2.Expansion > (int)PlayerStateHelper.GetMaxExpansion()) + { + return true; + } + if (questInfo2.JournalGenre.HasValue && _journalData.SeasonalEventGenreIds.Contains(questInfo2.JournalGenre.Value)) + { + if (_questRegistry.TryGetQuest(questId, out Quest quest)) + { + List list = quest?.Root?.QuestSequence; + if (list != null && list.Count > 0) + { + goto IL_0188; + } + } + if (_alreadyLoggedUnobtainableQuestsDetailed.Add(questId.Value)) + { + _questData.ApplySeasonalOverride(questId, isSeasonal: true, null); + _logger.LogDebug("Quest {QuestId} unobtainable: journal genre {Genre} is 'event (seasonal)' and no quest path", questId, questInfo2.JournalGenre); + } + return true; + } + goto IL_0188; + IL_0188: + if (questInfo2.QuestLocks.Count > 0) + { + int num = questInfo2.QuestLocks.Count((QuestId x) => IsQuestComplete(x) || x.Equals(extraCompletedQuest)); + if (questInfo2.QuestLockJoin == EQuestJoin.All && questInfo2.QuestLocks.Count == num) + { + return true; + } + if (questInfo2.QuestLockJoin == EQuestJoin.AtLeastOne && num > 0) + { + return true; + } + } + DateTime? seasonalQuestExpiry = questInfo2.SeasonalQuestExpiry; + if (seasonalQuestExpiry.HasValue) + { + DateTime valueOrDefault = seasonalQuestExpiry.GetValueOrDefault(); + if (DateTime.UtcNow > ExpiryUtils.NormalizeExpiry(valueOrDefault)) + { + return true; + } + } + if ((questInfo2.IsSeasonalEvent || questInfo2.IsSeasonalQuest) && !questInfo2.SeasonalQuestExpiry.HasValue && !_configuration.General.ShowIncompleteSeasonalEvents) + { + return true; + } + if (QuestData.GetLockedClassQuests().Contains(questId)) + { + return true; + } + byte startTown = PlayerStateHelper.GetStartTown(); + if (questInfo2.StartingCity > 0 && questInfo2.StartingCity != startTown) + { + return true; + } + if (questId.Value == 674 && startTown == 3) + { + return true; + } + if (questId.Value == 673 && startTown != 3) + { + return true; + } + if (CloseToHomeQuests.TryGetValue(questId.Value, out var value) && CloseToHomeQuests.Any((KeyValuePair x) => IsQuestAcceptedOrComplete(new QuestId(x.Key))) && (EClassJob)PlayerStateHelper.GetFirstClass() != value) + { + return true; + } + if (IsQuestRemoved(questId)) + { + return true; + } + return false; } private unsafe static bool IsFestivalActive(ushort id, ushort? phase = null) { - int num = 0; - int num2 = -858824134; - GameMain.Festival festival = default(GameMain.Festival); - while (true) + for (int i = 0; i < GameMain.Instance()->ActiveFestivals.Length; i++) { - int num3 = num2; - int num4 = -858824129; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) + GameMain.Festival festival = GameMain.Instance()->ActiveFestivals[i]; + if (festival.Id == id) { - case 5: - num2 = ((num < GameMain.Instance()->ActiveFestivals.Length) ? (-858824135) : (-858824132)); - break; - case 7: - { - int num8 = num; - num4 = 1; - num5 = num8; - num = (num5 | num4) + (num5 & num4); - num2 = -858824134; - break; - } - case 6: - festival = GameMain.Instance()->ActiveFestivals[num]; - num2 = ((festival.Id != id) ? (-858824136) : (-858824129)); - break; - case 4: - num2 = -858824134; - break; - case 0: - num2 = ((!phase.HasValue) ? (-858824131) : (-858824130)); - break; - case 3: - return false; - case 1: - return festival.Phase == phase; - case 2: + if (phase.HasValue) + { + return festival.Phase == phase; + } return true; } } + return false; } public bool IsQuestRemoved(ElementId elementId) { - QuestId questId = elementId as QuestId; - int num = (((object)questId == null) ? (-611057895) : (-611057894)); - while (true) + if (elementId is QuestId questId) { - int num2 = num; - int num3 = -611057896; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return false; - case 2: - return RemovedQuestIds.Contains(_206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E((ElementId)questId)); - case 0: - goto IL_005d; - } - continue; - IL_005d: - num = -611057894; + return RemovedQuestIds.Contains(questId.Value); } + return false; } private bool HasCompletedPreviousQuests(QuestInfo questInfo, ElementId? extraCompletedQuest) { - int num = ((questInfo.PreviousQuests.Count != 0) ? 1298444919 : 1298444917); - int num5 = default(int); - while (true) + if (questInfo.PreviousQuests.Count == 0) { - int num2 = num; - int num3 = 1298444913; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return true; - case 5: - num = ((questInfo.PreviousQuestJoin != EQuestJoin.AtLeastOne) ? 1298444921 : 1298444914); - break; - case 6: - num5 = questInfo.PreviousQuests.Count(delegate(PreviousQuestInfo x) - { - int num6 = (HasEnoughProgressOnPreviousQuest(x) ? 1555514480 : 1555514481); - while (true) - { - int num7 = num6; - int num8 = 1555514480; - int num9 = num7; - int num10 = num9 + num8; - int num11 = num9 & num8; - switch (num10 - (num11 + num11)) - { - case 2: - goto IL_004e; - case 1: - return _003C_003Ec__DisplayClass52_0._202D_200D_202D_202C_202C_200D_206F_200E_206A_206A_206E_200B_202E_206C_202C_202E_206D_202D_206D_200E_202A_202E_206A_206A_202C_202E_202C_200E_200C_206B_200B_200F_206C_206E_200F_202B_200C_202E_202E_206C_202E((ElementId)x.QuestId, extraCompletedQuest); - case 0: - return true; - } - continue; - IL_004e: - num6 = 1555514481; - } - }); - num = ((questInfo.PreviousQuestJoin != EQuestJoin.All) ? 1298444916 : 1298444912); - break; - case 1: - num = ((questInfo.PreviousQuests.Count != num5) ? 1298444916 : 1298444918); - break; - case 4: - return true; - case 3: - num = ((num5 <= 0) ? 1298444921 : 1298444915); - break; - case 7: - return true; - case 8: - return false; - case 0: - num = 1298444917; - break; - } + return true; } + int num = questInfo.PreviousQuests.Count((PreviousQuestInfo x) => HasEnoughProgressOnPreviousQuest(x) || x.QuestId.Equals(extraCompletedQuest)); + if (questInfo.PreviousQuestJoin == EQuestJoin.All && questInfo.PreviousQuests.Count == num) + { + return true; + } + if (questInfo.PreviousQuestJoin == EQuestJoin.AtLeastOne && num > 0) + { + return true; + } + return false; } private bool HasEnoughProgressOnPreviousQuest(PreviousQuestInfo previousQuestInfo) { - int num = ((!IsQuestComplete(previousQuestInfo.QuestId)) ? 2049591823 : 2049591820); - QuestProgressInfo questProgressInfo = default(QuestProgressInfo); - while (true) + if (IsQuestComplete(previousQuestInfo.QuestId)) { - int num2 = num; - int num3 = 2049591818; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return true; + } + if (previousQuestInfo.Sequence != 0 && IsQuestAccepted(previousQuestInfo.QuestId)) + { + QuestProgressInfo questProgressInfo = GetQuestProgressInfo(previousQuestInfo.QuestId); + if (questProgressInfo != null) { - case 5: - num = ((previousQuestInfo.Sequence == 0) ? 2049591819 : 2049591822); - break; - case 7: - return false; - case 4: - num = ((!IsQuestAccepted(previousQuestInfo.QuestId)) ? 2049591819 : 2049591818); - break; - case 2: - num = 2049591820; - break; - case 6: - return true; - case 0: - questProgressInfo = GetQuestProgressInfo(previousQuestInfo.QuestId); - num = ((questProgressInfo == null) ? 2049591821 : 2049591817); - break; - case 1: - return false; - case 3: return questProgressInfo.Sequence >= previousQuestInfo.Sequence; } + return false; } + return false; } private static bool HasCompletedPreviousInstances(QuestInfo questInfo) { - int num = ((questInfo.PreviousInstanceContent.Count != 0) ? 522219313 : 522219317); - int num7 = default(int); - while (true) + if (questInfo.PreviousInstanceContent.Count == 0) { - int num2 = num; - int num3 = 522219319; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 7: - num = 522219317; - break; - case 3: - num = ((questInfo.PreviousInstanceContentJoin != EQuestJoin.AtLeastOne) ? 522219319 : 522219315); - break; - case 0: - return false; - case 6: - num7 = questInfo.PreviousInstanceContent.Count((ushort x) => UIState.IsInstanceContentCompleted(x)); - num = ((questInfo.PreviousInstanceContentJoin != EQuestJoin.All) ? 522219316 : 522219318); - break; - case 8: - return true; - case 2: - return true; - case 5: - return true; - case 4: - num = ((num7 <= 0) ? 522219319 : 522219327); - break; - case 1: - num = ((questInfo.PreviousInstanceContent.Count != num7) ? 522219316 : 522219314); - break; - } + return true; } + int num = questInfo.PreviousInstanceContent.Count((ushort x) => UIState.IsInstanceContentCompleted(x)); + if (questInfo.PreviousInstanceContentJoin == EQuestJoin.All && questInfo.PreviousInstanceContent.Count == num) + { + return true; + } + if (questInfo.PreviousInstanceContentJoin == EQuestJoin.AtLeastOne && num > 0) + { + return true; + } + return false; } public bool IsClassJobUnlocked(EClassJob classJob) { - return _200F_202C_200E_202A_206F_200D_206D_200F_206B_202B_206E_202B_206F_200E_200E_206E_200D_202B_202C_202C_202D_202D_202C_200B_202A_202C_206C_202D_200F_200B_206C_200B_202D_202C_202B_202B_202D_206A_200F_202A_202E(classJob, _dataManager); + return ClassJobHelper.IsClassJobUnlocked(classJob, _dataManager); } public bool IsJobUnlocked(EClassJob classJob) { - return _206D_200E_202A_200E_206F_200B_200E_202D_200E_202D_206C_206D_202D_206B_200C_200B_200B_206C_206B_200D_206F_206A_206A_200E_200D_206C_202B_200F_206F_202A_200F_206D_200D_202D_200D_202A_200E_206E_206C_202A_202E(classJob, _dataManager); + return ClassJobHelper.IsJobUnlocked(classJob, _dataManager); } - public static FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany GetGrandCompany() + public static GrandCompany GetGrandCompany() { - return _202B_200D_206E_206C_200E_200B_200C_206F_206B_200B_206A_200E_206F_206F_200F_206B_202B_202B_202A_202D_202C_200E_206B_202A_200B_206A_200D_200E_206A_200F_202A_202A_206F_206C_200E_202A_200B_206D_206E_206C_202E(); + return GrandCompanyHelper.GetGrandCompany(); } public static byte GetGrandCompanyRank() { - return _202C_202E_206C_206E_206F_200D_202A_202A_206C_206B_206A_200F_200F_200D_200E_206F_200E_202D_206D_200B_206C_206A_206F_206E_200B_206C_202B_202C_202B_200E_206A_200F_206F_206E_202B_206E_200D_202B_202D_202E(); + return GrandCompanyHelper.GetGrandCompanyRank(); } public bool IsMainScenarioQuestComplete() @@ -2495,236 +956,40 @@ internal sealed class QuestFunctions public (bool isLevelLocked, int levelsNeeded, int requiredLevel, string? questName) GetMsqLevelLockInfo() { - IPlayerCharacter playerCharacter = _206C_200E_202E_206E_202D_206B_202B_206B_200D_200C_206C_202E_200C_200F_202E_200C_200B_202B_206E_202E_202B_206B_206F_206F_206E_206B_206D_206F_202E_202C_206A_202C_202D_200D_206E_200D_200E_202C_206B_206C_202E(_objectTable); - byte b = (byte)((playerCharacter != null) ? _202A_200F_206C_206F_202A_202B_202D_202E_200B_202B_202E_200B_202C_206F_202D_206D_206A_202E_200D_200E_200F_206D_206F_200C_206D_202B_206C_206E_206A_200D_200C_206A_206E_206F_206D_200F_200D_202A_206E_206F_202E((ICharacter)playerCharacter) : 0); - int num = ((b != 0) ? (-481817962) : (-481817955)); - QuestReference item = default(QuestReference); - int level = default(int); - QuestInfo questInfo = default(QuestInfo); - IQuestInfo questInfo2 = default(IQuestInfo); - int level2 = default(int); - Questionable.Model.Quest quest = default(Questionable.Model.Quest); - QuestId questId = default(QuestId); - while (true) + byte b = _objectTable.LocalPlayer?.Level ?? 0; + if (b == 0) { - int num2 = num; - int num3 = -481817966; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 7: - num = ((!IsQuestAccepted(item.CurrentQuest)) ? (-481817960) : (-481817961)); - break; - case 3: - { - int num8 = level; - num3 = b; - num4 = num8; - int item3 = ~(~num4 + num3); - return (isLevelLocked: true, levelsNeeded: item3, requiredLevel: level, questName: questInfo.Name); - } - case 1: - level = questInfo.Level; - num = ((level > b) ? (-481817967) : (-481817966)); - break; - case 14: - questInfo = questInfo2 as QuestInfo; - num = ((questInfo == null) ? (-481817958) : (-481817965)); - break; - case 2: - num = -481817955; - break; - case 8: - return (isLevelLocked: false, levelsNeeded: 0, requiredLevel: 0, questName: null); - case 9: - return (isLevelLocked: false, levelsNeeded: 0, requiredLevel: level2, questName: null); - case 12: - { - int num7 = level2; - num3 = b; - num4 = num7; - int item2 = ~(~num4 + num3); - return (isLevelLocked: true, levelsNeeded: item2, requiredLevel: level2, questName: quest.Info.Name); - } - case 11: - questId = item.CurrentQuest as QuestId; - num = (((object)questId == null) ? (-481817958) : (-481817953)); - break; - case 13: - num = ((!_questData.TryGetQuestInfo(questId, out questInfo2)) ? (-481817958) : (-481817956)); - break; - case 4: - item = GetMainScenarioQuest().Item1; - num = ((!_200D_202C_202E_202E_202E_206C_206B_206C_202D_206D_206B_202E_206A_202D_200B_206B_206E_206E_202A_200D_200C_200F_200D_206C_206E_200B_206A_200B_200C_202A_206F_202B_202B_206C_200E_200B_206E_200D_202A_202E(item.CurrentQuest, (ElementId)null)) ? (-481817963) : (-481817964)); - break; - case 6: - return (isLevelLocked: false, levelsNeeded: 0, requiredLevel: 0, questName: null); - case 0: - return (isLevelLocked: false, levelsNeeded: 0, requiredLevel: level, questName: null); - case 16: - level2 = quest.Info.Level; - num = ((level2 > b) ? (-481817954) : (-481817957)); - break; - case 10: - num = ((!_questRegistry.TryGetQuest(item.CurrentQuest, out quest)) ? (-481817959) : (-481817982)); - break; - case 15: - return (isLevelLocked: false, levelsNeeded: 0, requiredLevel: 0, questName: null); - case 5: - return (isLevelLocked: false, levelsNeeded: 0, requiredLevel: 0, questName: null); - } + return (isLevelLocked: false, levelsNeeded: 0, requiredLevel: 0, questName: null); } - } - - static void _202D_202C_202A_206D_202C_202C_202A_200F_200F_202B_202C_202A_206A_202D_200D_200E_202E_206E_200E_200C_200D_206A_206A_206D_202A_200E_206D_200B_202A_206C_206D_200D_200F_206A_206A_200B_206F_200C_206B_202A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogTrace(P_1, P_2); - } - - static QuestId _206E_200C_200C_202B_206D_202B_206B_200C_202A_206A_202E_202B_206F_206A_200D_202E_200B_202D_202D_206A_200D_200C_202C_202D_206D_202A_206F_200F_200D_202B_202C_206C_200C_202B_206F_206C_206D_206B_200C_206E_202E(ushort P_0) - { - return new QuestId(P_0); - } - - static ushort _206E_202D_206E_206C_202E_200F_206A_206E_200F_202A_206F_202B_200F_202C_206D_200D_206F_202A_200B_200F_200D_206B_200D_202E_206E_202E_202D_202D_200C_206A_206F_206B_206D_202D_206D_202A_202E_206A_202D_202A_202E(ElementId P_0) - { - return P_0.Value; - } - - static bool _206E_202C_206F_202A_202E_202A_202A_200F_206C_202E_202C_206B_202A_200C_206C_206E_202D_202C_200E_200B_202A_206A_200D_202C_202C_202B_202B_206A_202D_206A_206C_206C_202D_200B_200E_200D_202E_202A_206C_206D_202E(ElementId P_0, ElementId P_1) - { - return P_0 != P_1; - } - - static void _206E_200F_202E_206E_200F_206E_202D_200C_202B_200C_202A_206B_202D_206A_200C_202A_206B_202C_206D_206E_206B_200E_206F_200E_206F_202E_200D_202B_202A_202E_202A_200D_206E_202E_202E_202A_200C_200E_206E_206B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static IPlayerCharacter _206C_200E_202E_206E_202D_206B_202B_206B_200D_200C_206C_202E_200C_200F_202E_200C_200B_202B_206E_202E_202B_206B_206F_206F_206E_206B_206D_206F_202E_202C_206A_202C_202D_200D_206E_200D_200E_202C_206B_206C_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static byte _202A_200F_206C_206F_202A_202B_202D_202E_200B_202B_202E_200B_202C_206F_202D_206D_206A_202E_200D_200E_200F_206D_206F_200C_206D_202B_206C_206E_206A_200D_200C_206A_206E_206F_206D_200F_200D_202A_206E_206F_202E(ICharacter P_0) - { - return P_0.Level; - } - - static void _200F_206C_200D_206D_200B_202D_202B_200C_202E_206D_206F_202E_200F_200B_206A_200B_206A_202E_206D_200B_206B_202C_200C_202B_206D_202B_202B_200C_202D_202E_206A_206D_200B_200F_206E_206C_200D_200E_202A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static string _206A_202B_206A_202E_200D_200D_206A_200D_206E_200C_206D_206E_206E_200F_200C_206B_206E_202C_206B_206B_206E_200B_202D_206D_206A_200B_202C_206F_206D_206E_200E_200C_200C_200F_200C_206C_202D_206F_200B_206F_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static nint _200C_200E_202D_206B_206E_202B_206F_206A_202C_200D_200E_206F_206F_200D_206E_206B_200D_202E_206B_200F_206F_206A_202A_206E_206C_202C_206F_206C_202C_200C_200F_206B_206E_202C_202A_202E_200E_202B_202C_200E_202E(IGameObject P_0) - { - return P_0.Address; - } - - static List _206E_200B_200C_206A_206B_200E_202C_202C_200E_206B_202B_200E_200E_202E_200B_202E_206C_202C_206A_202C_206E_202D_202C_206F_202A_202B_202B_202B_206A_202D_206D_202C_202E_206E_202E_206F_206C_206A_206F_202E(QuestSequence P_0) - { - return P_0.Steps; - } - - static RowRef _206B_206D_202C_202E_202B_206C_202B_206C_206C_206B_200C_206F_200C_206F_206B_206A_206E_200D_202B_206B_206A_202A_206E_202D_202B_206C_202E_202D_206F_202B_206F_206D_202D_206C_202A_206C_200D_206A_206D_206B_202E(ICharacter P_0) - { - return P_0.ClassJob; - } - - static bool _202D_206E_200B_200C_206B_206B_206C_206B_202A_206D_206B_206E_200D_206C_200C_200D_202A_206E_202D_206B_206C_206F_200E_202A_206B_200E_200D_200C_200C_206D_200C_202D_200E_202C_200B_206F_200C_206E_200E_200D_202E(EClassJob P_0) - { - return P_0.IsLimitedJob(); - } - - static ArgumentOutOfRangeException _206E_206E_206E_206E_206C_206F_206F_206B_206E_200F_206F_206D_202B_206E_206F_202D_202C_206A_206D_200B_206B_206F_206A_200E_206A_206C_200B_206B_202E_206A_206F_200E_202E_206E_202A_200E_200D_202C_202E_200F_202E(string P_0) - { - return new ArgumentOutOfRangeException(P_0); - } - - static bool _202A_202E_202A_206F_206A_206B_202A_206C_206D_206E_202B_202A_200C_202B_206F_200D_206D_200B_206E_200C_206B_200D_202E_200E_200D_200B_206F_206A_206E_206D_202B_206C_202C_202E_206C_200E_202B_202B_200F_206F_202E(QuestRoot P_0) - { - return P_0.Disabled; - } - - static List _202E_200D_202D_202D_202D_200B_200F_206A_200F_202B_206E_200B_202E_206E_206A_200D_202C_202C_200D_202D_202E_200D_202A_200F_202C_206F_206B_206C_200D_200F_200E_206F_202A_206D_206C_200B_206E_200B_200B_200E_202E(QuestRoot P_0) - { - return P_0.QuestSequence; - } - - static byte _202D_200D_206A_202C_206E_206F_200E_206A_202E_200F_206D_206F_206D_202D_202D_200E_200D_206A_206D_202B_200C_206C_206D_200C_200F_202A_206C_202E_200C_206E_200B_202D_202D_206F_206A_206F_200F_202A_206E_206F_202E(byte P_0) - { - return PlayerStateHelper.GetBeastTribeRank(P_0); - } - - static byte _206C_206D_206C_202B_200B_200E_202A_200B_202D_202C_202B_206A_202C_206A_202D_202B_206F_202E_202C_200C_202B_202D_206C_206C_206B_206B_200E_206A_202D_202A_202E_206B_206C_200F_202C_202C_202E_200F_202C_206C_202E() - { - return PlayerStateHelper.GetDeliveryLevel(); - } - - static bool _206A_200C_206C_206A_206C_202A_200E_206E_206E_200C_200D_206D_202E_206C_200F_206C_206A_202C_206A_206C_202E_206C_202A_202D_206C_202E_206C_206B_206F_200C_202E_200F_200F_200B_200D_206F_200C_200F_200E_206F_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202D_206D_202A_206C_206E_200E_200E_206B_200E_200D_200D_206D_206B_200C_206A_200E_202C_206F_200C_206F_202B_200D_206D_202C_206B_206E_200E_206D_202C_200D_202C_206A_200C_200C_200F_200B_202A_206F_206C_206F_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static byte _200F_202C_202E_200B_202C_206F_202D_200E_206E_202E_206C_206F_206D_202B_206E_202E_202C_200B_202A_200E_206D_202D_200F_206A_202B_206E_202A_206E_202C_200F_202A_202B_200D_206B_206B_200D_206B_206D_200B_202B_202E() - { - return PlayerStateHelper.GetMaxExpansion(); - } - - static List _200F_200B_200B_206F_206E_206B_206F_200D_202C_202D_202A_206B_202A_202D_206C_200B_206F_206D_202A_202A_200D_202A_200C_202D_206F_206A_206B_200C_202B_206C_200F_200E_206C_206F_200D_206C_206C_206A_200E_206E_202E(QuestRoot P_0) - { - return P_0.QuestSequence; - } - - static byte _206C_202C_200B_200C_202D_206A_200C_206C_206D_202D_200D_202D_206E_202D_200F_202E_206A_200E_206A_200E_200D_202C_202C_202E_206D_200E_206C_200B_200D_206D_202D_206C_200F_200D_202D_206D_202A_206D_202B_200E_202E() - { - return PlayerStateHelper.GetStartTown(); - } - - static byte _202A_206F_206B_200E_206D_202B_200F_206E_202B_206D_200B_200C_206F_202D_206B_206B_202E_206C_202A_200F_202C_206B_200D_200B_200F_206C_206F_206E_200F_206E_200E_200C_206A_202E_202C_200F_206F_202A_206B_206E_202E() - { - return PlayerStateHelper.GetFirstClass(); - } - - static bool _200F_202C_200E_202A_206F_200D_206D_200F_206B_202B_206E_202B_206F_200E_200E_206E_200D_202B_202C_202C_202D_202D_202C_200B_202A_202C_206C_202D_200F_200B_206C_200B_202D_202C_202B_202B_202D_206A_200F_202A_202E(EClassJob P_0, IDataManager P_1) - { - return ClassJobHelper.IsClassJobUnlocked(P_0, P_1); - } - - static bool _206D_200E_202A_200E_206F_200B_200E_202D_200E_202D_206C_206D_202D_206B_200C_200B_200B_206C_206B_200D_206F_206A_206A_200E_200D_206C_202B_200F_206F_202A_200F_206D_200D_202D_200D_202A_200E_206E_206C_202A_202E(EClassJob P_0, IDataManager P_1) - { - return ClassJobHelper.IsJobUnlocked(P_0, P_1); - } - - static FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany _202B_200D_206E_206C_200E_200B_200C_206F_206B_200B_206A_200E_206F_206F_200F_206B_202B_202B_202A_202D_202C_200E_206B_202A_200B_206A_200D_200E_206A_200F_202A_202A_206F_206C_200E_202A_200B_206D_206E_206C_202E() - { - return GrandCompanyHelper.GetGrandCompany(); - } - - static byte _202C_202E_206C_206E_206F_200D_202A_202A_206C_206B_206A_200F_200F_200D_200E_206F_200E_202D_206D_200B_206C_206A_206F_206E_200B_206C_202B_202C_202B_200E_206A_200F_206F_206E_202B_206E_200D_202B_202D_202E() - { - return GrandCompanyHelper.GetGrandCompanyRank(); - } - - static bool _200D_202C_202E_202E_202E_206C_206B_206C_202D_206D_206B_202E_206A_202D_200B_206B_206E_206E_202A_200D_200C_200F_200D_206C_206E_200B_206A_200B_200C_202A_206F_202B_202B_206C_200E_200B_206E_200D_202A_202E(ElementId P_0, ElementId P_1) - { - return P_0 == P_1; - } - - static QuestStep _206A_202E_202C_200C_206E_202B_202C_200E_200B_202B_206F_206B_200E_202A_202A_202B_202E_206B_200E_200E_202B_206F_202C_206E_202C_200B_202D_206E_206B_200B_206A_202E_206D_202B_206C_202B_200F_200F_200E_200D_202E(QuestSequence P_0, int P_1) - { - return P_0.FindStep(P_1); + QuestReference item = GetMainScenarioQuest().Item1; + if (item.CurrentQuest == null) + { + return (isLevelLocked: false, levelsNeeded: 0, requiredLevel: 0, questName: null); + } + if (IsQuestAccepted(item.CurrentQuest)) + { + return (isLevelLocked: false, levelsNeeded: 0, requiredLevel: 0, questName: null); + } + if (_questRegistry.TryGetQuest(item.CurrentQuest, out Quest quest)) + { + int level = quest.Info.Level; + if (level <= b) + { + return (isLevelLocked: false, levelsNeeded: 0, requiredLevel: level, questName: null); + } + int item2 = level - b; + return (isLevelLocked: true, levelsNeeded: item2, requiredLevel: level, questName: quest.Info.Name); + } + if (item.CurrentQuest is QuestId elementId && _questData.TryGetQuestInfo(elementId, out IQuestInfo questInfo) && questInfo is QuestInfo questInfo2) + { + int level2 = questInfo2.Level; + if (level2 <= b) + { + return (isLevelLocked: false, levelsNeeded: 0, requiredLevel: level2, questName: null); + } + int item3 = level2 - b; + return (isLevelLocked: true, levelsNeeded: item3, requiredLevel: level2, questName: questInfo2.Name); + } + return (isLevelLocked: false, levelsNeeded: 0, requiredLevel: 0, questName: null); } } diff --git a/Questionable/Questionable.Functions/QuestReference.cs b/Questionable/Questionable.Functions/QuestReference.cs index 8b3a49c..dabe68a 100644 --- a/Questionable/Questionable.Functions/QuestReference.cs +++ b/Questionable/Questionable.Functions/QuestReference.cs @@ -1,150 +1,11 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Questionable.Model.Questing; namespace Questionable.Functions; public sealed record QuestReference(ElementId? CurrentQuest, byte Sequence, MainScenarioQuestState State) { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206F_200E_206D_200B_200C_206B_202E_200B_202A_206C_202D_206F_202E_202A_200D_206B_206A_206A_202B_206C_206E_206E_200E_206F_200D_206C_200C_202A_206E_206B_200D_202B_202B_200E_206A_200F_206B_206A_206D_202C_202E(typeof(QuestReference).TypeHandle); - } - } - public static QuestReference NoQuest(MainScenarioQuestState state) { return new QuestReference(null, 0, state); } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206F_200D_200B_200B_206E_200E_200B_206A_206D_206C_202A_206D_206A_206C_202D_202E_206F_206A_206F_200F_202B_206D_206B_202D_206F_206B_202D_206C_202B_202A_206F_200D_202E_202C_202D_202B_202D_206F_200D_200E_202E(); - _202C_202C_202A_202A_202A_206D_206F_200F_202C_200D_206D_206D_202A_202A_200D_202B_202A_206B_206F_202B_206B_200B_206C_206C_206A_202B_202C_202B_206E_200E_206B_202D_202B_200E_202A_202B_200C_200B_202E_202D_202E(stringBuilder, 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(-1603834783)); - _202C_202C_202A_202A_202A_206D_206F_200F_202C_200D_206D_206D_202A_202A_200D_202B_202A_206B_206F_202B_206B_200B_206C_206C_206A_202B_202C_202B_206E_200E_206B_202D_202B_200E_202A_202B_200C_200B_202E_202D_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1664411125)); - int num = ((!PrintMembers(stringBuilder)) ? (-1592482067) : (-1592482066)); - while (true) - { - int num2 = num; - int num3 = -1592482065; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - _200B_206E_200D_202B_202A_206B_200E_202D_202E_200F_200C_206C_200B_200F_200B_206F_206C_200E_202B_206E_200E_200E_200F_202B_202A_206F_200C_206F_200C_206C_206B_206E_202A_202D_202C_202D_200D_206F_206F_206D_202E(stringBuilder, '}'); - return _206D_202B_202C_202A_200C_202D_206D_200E_206F_202E_200E_202D_202E_206E_206F_200F_202D_202D_200C_200E_202A_202C_206A_206D_206B_206A_200E_200F_202A_200B_200D_206A_200D_206A_206C_200F_200D_202A_200B_202D_202E((object?)stringBuilder); - case 1: - _200B_206E_200D_202B_202A_206B_200E_202D_202E_200F_200C_206C_200B_200F_200B_206F_206C_200E_202B_206E_200E_200E_200F_202B_202A_206F_200C_206F_200C_206C_206B_206E_202A_202D_202C_202D_200D_206F_206F_206D_202E(stringBuilder, ' '); - num = -1592482067; - break; - case 0: - num = -1592482066; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200B_200B_206C_206B_206B_200F_206A_200C_200C_206E_200B_206D_206B_202D_200D_206E_206A_202C_202C_206A_202E_206E_202A_200E_200B_200E_200E_206F_202D_202A_200E_206F_206E_206E_206A_206F_206B_202E_206A_202C_202E(); - _202C_202C_202A_202A_202A_206D_206F_200F_202C_200D_206D_206D_202A_202A_200D_202B_202A_206B_206F_202B_206B_200B_206C_206C_206A_202B_202C_202B_206E_200E_206B_202D_202B_200E_202A_202B_200C_200B_202E_202D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1044019943)); - _206F_202E_206A_202C_206D_202B_202D_200D_200F_202A_206A_200B_206D_202E_206A_200D_202D_200F_200C_202C_202C_202C_200D_202C_200C_206A_206E_206C_200F_202E_202E_206D_206C_200D_200C_206A_206A_206A_202E_202E(builder, (object?)CurrentQuest); - _202C_202C_202A_202A_202A_206D_206F_200F_202C_200D_206D_206D_202A_202A_200D_202B_202A_206B_206F_202B_206B_200B_206C_206C_206A_202B_202C_202B_206E_200E_206B_202D_202B_200E_202A_202B_200C_200B_202E_202D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1350191881)); - _202C_202C_202A_202A_202A_206D_206F_200F_202C_200D_206D_206D_202A_202A_200D_202B_202A_206B_206F_202B_206B_200B_206C_206C_206A_202B_202C_202B_206E_200E_206B_202D_202B_200E_202A_202B_200C_200B_202E_202D_202E(builder, Sequence.ToString()); - _202C_202C_202A_202A_202A_206D_206F_200F_202C_200D_206D_206D_202A_202A_200D_202B_202A_206B_206F_202B_206B_200B_206C_206C_206A_202B_202C_202B_206E_200E_206B_202D_202B_200E_202A_202B_200C_200B_202E_202D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(867761492)); - _202C_202C_202A_202A_202A_206D_206F_200F_202C_200D_206D_206D_202A_202A_200D_202B_202A_206B_206F_202B_206B_200B_206C_206C_206A_202B_202C_202B_206E_200E_206B_202D_202B_200E_202A_202B_200C_200B_202E_202D_202E(builder, State.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(QuestReference? other) - { - int num = (((object)this == other) ? 1185181530 : 1185181535); - while (true) - { - int num2 = num; - int num3 = 1185181532; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = ((!_202C_206E_200C_206E_200C_206D_200F_202A_200D_200E_202A_202E_206D_200B_206E_200E_206F_202A_206C_206A_200F_202C_202D_200C_200B_206F_206D_202E_206F_206F_202A_206E_200B_206A_202C_200B_206D_206B_206F_200C_202E(EqualityContract, other.EqualityContract)) ? 1185181533 : 1185181529); - break; - case 7: - num = ((!EqualityComparer.Default.Equals(Sequence, other.Sequence)) ? 1185181533 : 1185181528); - break; - case 6: - return true; - case 2: - num = 1185181535; - break; - case 3: - num = (((object)other == null) ? 1185181533 : 1185181532); - break; - case 5: - num = ((!EqualityComparer.Default.Equals(CurrentQuest, other.CurrentQuest)) ? 1185181533 : 1185181531); - break; - case 4: - return EqualityComparer.Default.Equals(State, other.State); - case 1: - return false; - } - } - } - - bool IEquatable.Equals(QuestReference? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type? _206F_200E_206D_200B_200C_206B_202E_200B_202A_206C_202D_206F_202E_202A_200D_206B_206A_206A_202B_206C_206E_206E_200E_206F_200D_206C_200C_202A_206E_206B_200D_202B_202B_200E_206A_200F_206B_206A_206D_202C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder? _206F_200D_200B_200B_206E_200E_200B_206A_206D_206C_202A_206D_206A_206C_202D_202E_206F_206A_206F_200F_202B_206D_206B_202D_206F_206B_202D_206C_202B_202A_206F_200D_202E_202C_202D_202B_202D_206F_200D_200E_202E() - { - return new StringBuilder(); - } - - static StringBuilder? _202C_202C_202A_202A_202A_206D_206F_200F_202C_200D_206D_206D_202A_202A_200D_202B_202A_206B_206F_202B_206B_200B_206C_206C_206A_202B_202C_202B_206E_200E_206B_202D_202B_200E_202A_202B_200C_200B_202E_202D_202E(StringBuilder? P_0, string? P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder? _200B_206E_200D_202B_202A_206B_200E_202D_202E_200F_200C_206C_200B_200F_200B_206F_206C_200E_202B_206E_200E_200E_200F_202B_202A_206F_200C_206F_200C_206C_206B_206E_202A_202D_202C_202D_200D_206F_206F_206D_202E(StringBuilder? P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string? _206D_202B_202C_202A_200C_202D_206D_200E_206F_202E_200E_202D_202E_206E_206F_200F_202D_202D_200C_200E_202A_202C_206A_206D_206B_206A_200E_200F_202A_200B_200D_206A_200D_206A_206C_200F_200D_202A_200B_202D_202E(object? P_0) - { - return P_0.ToString(); - } - - static void _200B_200B_206C_206B_206B_200F_206A_200C_200C_206E_200B_206D_206B_202D_200D_206E_206A_202C_202C_206A_202E_206E_202A_200E_200B_200E_200E_206F_202D_202A_200E_206F_206E_206E_206A_206F_206B_202E_206A_202C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder? _206F_202E_206A_202C_206D_202B_202D_200D_200F_202A_206A_200B_206D_202E_206A_200D_202D_200F_200C_202C_202C_202C_200D_202C_200C_206A_206E_206C_200F_202E_202E_206D_206C_200D_200C_206A_206A_206A_202E_202E(StringBuilder? P_0, object? P_1) - { - return P_0.Append(P_1); - } - - static bool _202C_206E_200C_206E_200C_206D_200F_202A_200D_200E_202A_202E_206D_200B_206E_200E_206F_202A_206C_206A_200F_202C_202D_200C_200B_206F_206D_202E_206F_206F_202A_206E_200B_206A_202C_200B_206D_206B_206F_200C_202E(Type? P_0, Type? P_1) - { - return P_0 == P_1; - } } diff --git a/Questionable/Questionable.LgbWorker/LevelEntry.cs b/Questionable/Questionable.LgbWorker/LevelEntry.cs new file mode 100644 index 0000000..ae2943d --- /dev/null +++ b/Questionable/Questionable.LgbWorker/LevelEntry.cs @@ -0,0 +1,21 @@ +using System.Text.Json.Serialization; + +namespace Questionable.LgbWorker; + +internal sealed class LevelEntry +{ + [JsonPropertyName("objectId")] + public uint ObjectId { get; set; } + + [JsonPropertyName("territoryId")] + public ushort TerritoryId { get; set; } + + [JsonPropertyName("x")] + public float X { get; set; } + + [JsonPropertyName("y")] + public float Y { get; set; } + + [JsonPropertyName("z")] + public float Z { get; set; } +} diff --git a/Questionable/Questionable.LgbWorker/LgbMessageType.cs b/Questionable/Questionable.LgbWorker/LgbMessageType.cs new file mode 100644 index 0000000..59c9147 --- /dev/null +++ b/Questionable/Questionable.LgbWorker/LgbMessageType.cs @@ -0,0 +1,7 @@ +namespace Questionable.LgbWorker; + +internal enum LgbMessageType : byte +{ + Progress = 1, + Final +} diff --git a/Questionable/Questionable.LgbWorker/LgbWorkerFraming.cs b/Questionable/Questionable.LgbWorker/LgbWorkerFraming.cs new file mode 100644 index 0000000..21bb26b --- /dev/null +++ b/Questionable/Questionable.LgbWorker/LgbWorkerFraming.cs @@ -0,0 +1,80 @@ +using System; +using System.IO; +using System.Text; + +namespace Questionable.LgbWorker; + +internal static class LgbWorkerFraming +{ + public static void Write(Stream stream, in LgbWorkerMessage message) + { + using MemoryStream memoryStream = new MemoryStream(); + using BinaryWriter binaryWriter = new BinaryWriter(memoryStream, Encoding.UTF8, leaveOpen: true); + binaryWriter.Write((byte)message.Type); + switch (message.Type) + { + case LgbMessageType.Progress: + binaryWriter.Write(message.Done); + binaryWriter.Write(message.Total); + break; + case LgbMessageType.Final: + binaryWriter.Write(message.Success); + binaryWriter.Write(message.DurationMs); + binaryWriter.Write(message.Error ?? string.Empty); + break; + default: + throw new ArgumentOutOfRangeException("message"); + } + binaryWriter.Flush(); + byte[] array = memoryStream.ToArray(); + Span span = stackalloc byte[4]; + BitConverter.TryWriteBytes(span, array.Length); + stream.Write(span); + stream.Write(array); + } + + public static LgbWorkerMessage Read(Stream stream) + { + Span span = stackalloc byte[4]; + ReadExact(stream, span); + int num = BitConverter.ToInt32(span); + if ((num <= 0 || num > 65536) ? true : false) + { + throw new InvalidDataException($"Invalid frame length: {num}"); + } + byte[] array = new byte[num]; + ReadExact(stream, array); + using BinaryReader binaryReader = new BinaryReader(new MemoryStream(array), Encoding.UTF8); + LgbMessageType lgbMessageType = (LgbMessageType)binaryReader.ReadByte(); + return lgbMessageType switch + { + LgbMessageType.Progress => new LgbWorkerMessage + { + Type = lgbMessageType, + Done = binaryReader.ReadInt32(), + Total = binaryReader.ReadInt32() + }, + LgbMessageType.Final => new LgbWorkerMessage + { + Type = lgbMessageType, + Success = binaryReader.ReadBoolean(), + DurationMs = binaryReader.ReadInt64(), + Error = binaryReader.ReadString() + }, + _ => throw new InvalidDataException($"Unknown message type: {lgbMessageType}"), + }; + } + + private static void ReadExact(Stream stream, Span buffer) + { + int num; + for (int i = 0; i < buffer.Length; i += num) + { + num = stream.Read(buffer.Slice(i)); + if (num == 0) + { + throw new EndOfStreamException(); + } + } + } +} diff --git a/Questionable/Questionable.LgbWorker/LgbWorkerManifest.cs b/Questionable/Questionable.LgbWorker/LgbWorkerManifest.cs new file mode 100644 index 0000000..bc6eaf8 --- /dev/null +++ b/Questionable/Questionable.LgbWorker/LgbWorkerManifest.cs @@ -0,0 +1,42 @@ +using System.Collections.Generic; +using System.IO; +using System.Text.Json; +using System.Text.Json.Serialization; + +namespace Questionable.LgbWorker; + +internal sealed class LgbWorkerManifest +{ + [JsonPropertyName("sqpackPath")] + public string SqpackPath { get; set; } = string.Empty; + + [JsonPropertyName("gameVersion")] + public string GameVersion { get; set; } = string.Empty; + + [JsonPropertyName("npcCachePath")] + public string NpcCachePath { get; set; } = string.Empty; + + [JsonPropertyName("boundaryCachePath")] + public string BoundaryCachePath { get; set; } = string.Empty; + + [JsonPropertyName("territories")] + public List Territories { get; set; } = new List(); + + [JsonPropertyName("levelEntries")] + public List LevelEntries { get; set; } = new List(); + + public static LgbWorkerManifest Load(string path) + { + using FileStream utf8Json = File.OpenRead(path); + LgbWorkerManifest? obj = JsonSerializer.Deserialize(utf8Json) ?? throw new InvalidDataException("Manifest deserialized to null"); + if (string.IsNullOrWhiteSpace(obj.SqpackPath)) + { + throw new InvalidDataException("SqpackPath is missing"); + } + if (string.IsNullOrWhiteSpace(obj.GameVersion)) + { + throw new InvalidDataException("GameVersion is missing"); + } + return obj; + } +} diff --git a/Questionable/Questionable.LgbWorker/LgbWorkerMessage.cs b/Questionable/Questionable.LgbWorker/LgbWorkerMessage.cs new file mode 100644 index 0000000..a0fd9e4 --- /dev/null +++ b/Questionable/Questionable.LgbWorker/LgbWorkerMessage.cs @@ -0,0 +1,16 @@ +namespace Questionable.LgbWorker; + +internal readonly struct LgbWorkerMessage +{ + public LgbMessageType Type { get; init; } + + public int Done { get; init; } + + public int Total { get; init; } + + public bool Success { get; init; } + + public long DurationMs { get; init; } + + public string? Error { get; init; } +} diff --git a/Questionable/Questionable.LgbWorker/TerritoryEntry.cs b/Questionable/Questionable.LgbWorker/TerritoryEntry.cs new file mode 100644 index 0000000..d347f13 --- /dev/null +++ b/Questionable/Questionable.LgbWorker/TerritoryEntry.cs @@ -0,0 +1,18 @@ +using System.Text.Json.Serialization; + +namespace Questionable.LgbWorker; + +internal sealed class TerritoryEntry +{ + [JsonPropertyName("rowId")] + public uint RowId { get; set; } + + [JsonPropertyName("bgPath")] + public string BgPath { get; set; } = string.Empty; + + [JsonPropertyName("intendedUse")] + public byte IntendedUse { get; set; } + + [JsonPropertyName("hasAetheryte")] + public bool HasAetheryte { get; set; } +} diff --git a/Questionable/Questionable.Model.Changelog/ChangeCategoryExtensions.cs b/Questionable/Questionable.Model.Changelog/ChangeCategoryExtensions.cs index 2d0e4d2..6e17787 100644 --- a/Questionable/Questionable.Model.Changelog/ChangeCategoryExtensions.cs +++ b/Questionable/Questionable.Model.Changelog/ChangeCategoryExtensions.cs @@ -1,164 +1,32 @@ using System.Numerics; -using System.Runtime.CompilerServices; namespace Questionable.Model.Changelog; internal static class ChangeCategoryExtensions { - [MethodImpl(MethodImplOptions.NoInlining)] public static string ToDisplayString(this EChangeCategory category) { - int num; - string result = default(string); - switch (category) + return category switch { - default: - num = -1022171732; - goto IL_0025; - case EChangeCategory.Removed: - result = 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(1184271712); - num = -1022171735; - goto IL_0025; - case EChangeCategory.QuestUpdates: - goto IL_007a; - case EChangeCategory.Changed: - goto IL_0090; - case EChangeCategory.Added: - goto IL_00ca; - case EChangeCategory.Fixed: - goto IL_00e2; - IL_0025: - while (true) - { - int num2 = num; - int num3 = -1022171736; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - goto end_IL_0025; - case 2: - goto IL_007a; - case 0: - goto IL_0090; - case 7: - num = -1022171732; - break; - case 3: - result = category.ToString(); - num = -1022171735; - break; - case 6: - goto IL_00ca; - case 1: - return result; - case 8: - goto IL_00e2; - case 4: - num = -1022171733; - break; - } - continue; - end_IL_0025: - break; - } - goto case EChangeCategory.Removed; - IL_00e2: - result = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1940950850); - num = -1022171735; - goto IL_0025; - IL_00ca: - result = 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(-836593342); - num = -1022171735; - goto IL_0025; - IL_0090: - result = 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(-136424921); - num = -1022171735; - goto IL_0025; - IL_007a: - result = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-126460286); - num = -1022171735; - goto IL_0025; - } + EChangeCategory.Added => "Added", + EChangeCategory.Changed => "Changed", + EChangeCategory.Fixed => "Fixed", + EChangeCategory.Removed => "Removed", + EChangeCategory.QuestUpdates => "Quest Updates", + _ => category.ToString(), + }; } public static Vector4 GetColor(this EChangeCategory category) { - int num; - Vector4 result = default(Vector4); - switch (category) + return category switch { - default: - num = -1603635172; - goto IL_0025; - case EChangeCategory.QuestUpdates: - result = new Vector4(0.8f, 0.8f, 0.4f, 1f); - num = -1603635184; - goto IL_0025; - case EChangeCategory.Removed: - goto IL_0089; - case EChangeCategory.Fixed: - goto IL_00d3; - case EChangeCategory.Added: - goto IL_00f8; - case EChangeCategory.Changed: - goto IL_0135; - IL_0025: - while (true) - { - int num2 = num; - int num3 = -1603635180; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - goto end_IL_0025; - case 0: - goto IL_0089; - case 2: - result = new Vector4(0.7f, 0.7f, 0.7f, 1f); - num = -1603635184; - break; - case 1: - goto IL_00d3; - case 7: - goto IL_00f8; - case 8: - num = -1603635178; - break; - case 4: - return result; - case 5: - num = -1603635172; - break; - case 3: - goto IL_0135; - } - continue; - end_IL_0025: - break; - } - goto case EChangeCategory.QuestUpdates; - IL_0135: - result = new Vector4(0.4f, 0.6f, 0.9f, 1f); - num = -1603635184; - goto IL_0025; - IL_00f8: - result = new Vector4(0.3f, 0.8f, 0.4f, 1f); - num = -1603635184; - goto IL_0025; - IL_00d3: - result = new Vector4(0.9f, 0.6f, 0.3f, 1f); - num = -1603635184; - goto IL_0025; - IL_0089: - result = new Vector4(0.9f, 0.3f, 0.3f, 1f); - num = -1603635184; - goto IL_0025; - } + EChangeCategory.Added => new Vector4(0.3f, 0.8f, 0.4f, 1f), + EChangeCategory.Changed => new Vector4(0.4f, 0.6f, 0.9f, 1f), + EChangeCategory.Fixed => new Vector4(0.9f, 0.6f, 0.3f, 1f), + EChangeCategory.Removed => new Vector4(0.9f, 0.3f, 0.3f, 1f), + EChangeCategory.QuestUpdates => new Vector4(0.8f, 0.8f, 0.4f, 1f), + _ => new Vector4(0.7f, 0.7f, 0.7f, 1f), + }; } } diff --git a/Questionable/Questionable.Model.Changelog/ChangeEntry.cs b/Questionable/Questionable.Model.Changelog/ChangeEntry.cs index 29a8793..13574e2 100644 --- a/Questionable/Questionable.Model.Changelog/ChangeEntry.cs +++ b/Questionable/Questionable.Model.Changelog/ChangeEntry.cs @@ -1,148 +1,5 @@ -using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; namespace Questionable.Model.Changelog; -internal sealed record ChangeEntry(EChangeCategory Category, string Description, List? SubItems = null) -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206D_206B_200B_202B_206E_202B_200B_206A_206E_206B_200C_202B_202C_206A_200F_200B_206E_206F_206A_206C_200D_202C_206B_202C_200B_206A_202A_200C_200D_202A_206C_206E_200D_202D_202E_206D_206D_202C_200D_200D_202E(typeof(ChangeEntry).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206E_202C_202B_200D_200D_202C_206C_200F_206F_206C_202E_202A_200F_206A_200C_206A_200C_206C_206D_206F_200C_202C_206D_200F_202A_206F_200B_206E_200C_202C_200E_200D_200C_200B_202E_200D_206D_202E_206E_202B_202E(); - _206A_206F_200D_202A_200C_206D_202E_206B_200B_200F_206A_206A_200D_200F_206A_202C_202C_206A_206C_206E_200B_200E_202C_200D_202A_206F_202A_202D_202A_206B_206A_202A_200C_202A_202B_202E_206A_202B_200D_206C_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(474130306)); - _206A_206F_200D_202A_200C_206D_202E_206B_200B_200F_206A_206A_200D_200F_206A_202C_202C_206A_206C_206E_200B_200E_202C_200D_202A_206F_202A_202D_202A_206B_206A_202A_200C_202A_202B_202E_206A_202B_200D_206C_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1664411125)); - int num = ((!PrintMembers(stringBuilder)) ? 1209671208 : 1209671211); - while (true) - { - int num2 = num; - int num3 = 1209671210; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1209671211; - break; - case 1: - _200D_200E_202C_200B_200E_202E_206D_200E_206D_200B_200E_206D_206D_206D_200E_202D_206F_206F_200E_202B_202A_206F_200E_206D_202C_206A_202A_202E_200F_206D_202D_206B_200B_206C_206A_206D_206A_202A_202D_202D_202E(stringBuilder, ' '); - num = 1209671208; - break; - case 2: - _200D_200E_202C_200B_200E_202E_206D_200E_206D_200B_200E_206D_206D_206D_200E_202D_206F_206F_200E_202B_202A_206F_200E_206D_202C_206A_202A_202E_200F_206D_202D_206B_200B_206C_206A_206D_206A_202A_202D_202D_202E(stringBuilder, '}'); - return _200F_206F_206C_200C_206D_202A_200D_200B_206C_200C_202D_202D_206A_206E_206D_200D_202B_206D_202D_206C_202A_200E_206D_202E_200C_202B_202E_200C_206F_206A_200B_202D_202C_206E_206E_206D_200B_202B_202E_200D_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206D_200D_206A_202E_206C_206F_202E_200B_206F_202E_200C_200F_200D_202C_200C_206E_202A_200F_202C_202B_206D_202E_202E_200E_202B_206E_200C_200D_202B_200F_200B_206E_200C_200B_202B_202D_202A_206E_206E_206F_202E(); - _206A_206F_200D_202A_200C_206D_202E_206B_200B_200F_206A_206A_200D_200F_206A_202C_202C_206A_206C_206E_200B_200E_202C_200D_202A_206F_202A_202D_202A_206B_206A_202A_200C_202A_202B_202E_206A_202B_200D_206C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-114589338)); - _206A_206F_200D_202A_200C_206D_202E_206B_200B_200F_206A_206A_200D_200F_206A_202C_202C_206A_206C_206E_200B_200E_202C_200D_202A_206F_202A_202D_202A_206B_206A_202A_200C_202A_202B_202E_206A_202B_200D_206C_202E(builder, Category.ToString()); - _206A_206F_200D_202A_200C_206D_202E_206B_200B_200F_206A_206A_200D_200F_206A_202C_202C_206A_206C_206E_200B_200E_202C_200D_202A_206F_202A_202D_202A_206B_206A_202A_200C_202A_202B_202E_206A_202B_200D_206C_202E(builder, 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(-127749891)); - _206D_206F_206D_206C_206A_206E_206C_200D_200B_206A_200B_202B_206B_200E_200C_206C_202D_200E_202B_200E_206C_200E_200E_206D_200C_206A_202E_206B_206A_206D_206E_202C_202C_200E_200E_206B_200E_202C_200B_202A_202E(builder, (object)Description); - _206A_206F_200D_202A_200C_206D_202E_206B_200B_200F_206A_206A_200D_200F_206A_202C_202C_206A_206C_206E_200B_200E_202C_200D_202A_206F_202A_202D_202A_206B_206A_202A_200C_202A_202B_202E_206A_202B_200D_206C_202E(builder, 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(2069471446)); - _206D_206F_206D_206C_206A_206E_206C_200D_200B_206A_200B_202B_206B_200E_200C_206C_202D_200E_202B_200E_206C_200E_200E_206D_200C_206A_202E_206B_206A_206D_206E_202C_202C_200E_200E_206B_200E_202C_200B_202A_202E(builder, (object)SubItems); - return true; - } - - [CompilerGenerated] - public bool Equals(ChangeEntry? other) - { - int num = (((object)this == other) ? 528623422 : 528623417); - while (true) - { - int num2 = num; - int num3 = 528623416; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = ((!_200D_206C_200F_206B_202D_202E_200B_202C_202D_200C_202B_202D_206C_200B_206B_202C_200F_206B_206B_206C_206D_202C_206D_202A_200C_206D_206B_206D_202E_206C_206C_202C_202A_202D_202A_206F_206D_200C_200D_200C_202E(EqualityContract, other.EqualityContract)) ? 528623419 : 528623418); - break; - case 5: - num = ((!EqualityComparer.Default.Equals(Description, other.Description)) ? 528623419 : 528623423); - break; - case 4: - num = 528623417; - break; - case 2: - num = ((!EqualityComparer.Default.Equals(Category, other.Category)) ? 528623419 : 528623421); - break; - case 7: - return EqualityComparer>.Default.Equals(SubItems, other.SubItems); - case 6: - return true; - case 3: - return false; - case 1: - num = (((object)other == null) ? 528623419 : 528623416); - break; - } - } - } - - bool IEquatable.Equals(ChangeEntry? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206D_206B_200B_202B_206E_202B_200B_206A_206E_206B_200C_202B_202C_206A_200F_200B_206E_206F_206A_206C_200D_202C_206B_202C_200B_206A_202A_200C_200D_202A_206C_206E_200D_202D_202E_206D_206D_202C_200D_200D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206E_202C_202B_200D_200D_202C_206C_200F_206F_206C_202E_202A_200F_206A_200C_206A_200C_206C_206D_206F_200C_202C_206D_200F_202A_206F_200B_206E_200C_202C_200E_200D_200C_200B_202E_200D_206D_202E_206E_202B_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206A_206F_200D_202A_200C_206D_202E_206B_200B_200F_206A_206A_200D_200F_206A_202C_202C_206A_206C_206E_200B_200E_202C_200D_202A_206F_202A_202D_202A_206B_206A_202A_200C_202A_202B_202E_206A_202B_200D_206C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200D_200E_202C_200B_200E_202E_206D_200E_206D_200B_200E_206D_206D_206D_200E_202D_206F_206F_200E_202B_202A_206F_200E_206D_202C_206A_202A_202E_200F_206D_202D_206B_200B_206C_206A_206D_206A_202A_202D_202D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200F_206F_206C_200C_206D_202A_200D_200B_206C_200C_202D_202D_206A_206E_206D_200D_202B_206D_202D_206C_202A_200E_206D_202E_200C_202B_202E_200C_206F_206A_200B_202D_202C_206E_206E_206D_200B_202B_202E_200D_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206D_200D_206A_202E_206C_206F_202E_200B_206F_202E_200C_200F_200D_202C_200C_206E_202A_200F_202C_202B_206D_202E_202E_200E_202B_206E_200C_200D_202B_200F_200B_206E_200C_200B_202B_202D_202A_206E_206E_206F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206D_206F_206D_206C_206A_206E_206C_200D_200B_206A_200B_202B_206B_200E_200C_206C_202D_200E_202B_200E_206C_200E_200E_206D_200C_206A_202E_206B_206A_206D_206E_202C_202C_200E_200E_206B_200E_202C_200B_202A_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200D_206C_200F_206B_202D_202E_200B_202C_202D_200C_202B_202D_206C_200B_206B_202C_200F_206B_206B_206C_206D_202C_206D_202A_200C_206D_206B_206D_202E_206C_206C_202C_202A_202D_202A_206F_206D_200C_200D_200C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +internal sealed record ChangeEntry(EChangeCategory Category, string Description, List? SubItems = null); diff --git a/Questionable/Questionable.Model.Changelog/ChangelogEntry.cs b/Questionable/Questionable.Model.Changelog/ChangelogEntry.cs index f1867e7..6486361 100644 --- a/Questionable/Questionable.Model.Changelog/ChangelogEntry.cs +++ b/Questionable/Questionable.Model.Changelog/ChangelogEntry.cs @@ -1,222 +1,37 @@ using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; namespace Questionable.Model.Changelog; internal sealed record ChangelogEntry(string Version, DateOnly ReleaseDate, List Changes) { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202A_206E_202D_200D_200B_200D_206E_202A_206A_202D_202C_206C_202B_206A_202B_206F_202B_200C_200E_202D_200E_206B_200D_200E_206C_200C_206B_206A_200D_206B_200C_202C_200C_200C_206D_206A_206C_202A_206E_202A_202E(typeof(ChangelogEntry).TypeHandle); - } - } - public bool IsNewVersion(string? lastViewedVersion, IReadOnlyList allChangelogs) { - int num = ((!_202E_206E_206B_200F_206B_202B_200B_206B_202C_200E_202B_206F_202A_202C_200C_200C_202C_200C_206F_202C_206F_202C_200F_206B_202D_202D_206E_206B_206F_200D_202E_202E_206E_206A_200E_202D_200D_200E_206B_206F_202E(lastViewedVersion)) ? (-524926042) : (-524926047)); - int num7 = default(int); - int num5 = default(int); - int num6 = default(int); - while (true) + if (string.IsNullOrEmpty(lastViewedVersion)) { - int num2 = num; - int num3 = -524926042; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return true; + } + int num = -1; + int num2 = -1; + for (int i = 0; i < allChangelogs.Count; i++) + { + if (allChangelogs[i].Version == Version) { - case 4: - num = ((num7 < allChangelogs.Count) ? (-524926035) : (-524926033)); - break; - case 11: - num = ((!_200B_202E_206E_202D_206D_202C_200E_202A_200F_202D_200E_200B_206A_200C_206E_206C_200E_200E_202A_206D_206D_206F_202D_200D_206B_206C_200B_202A_202A_200C_200D_202C_202B_206C_200D_202C_200D_200E_202D_206B_202E(allChangelogs[num7].Version, Version)) ? (-524926034) : (-524926037)); - break; - case 3: - return true; - case 13: - num5 = num7; - num = -524926034; - break; - case 6: - { - int num8 = num7; - num3 = 1; - num4 = num8; - int num9 = num4 ^ num3; - int num10 = num4 & num3; - num7 = num9 + (num10 + num10); - num = -524926046; - break; + num = i; } - case 10: - num6 = num7; - num = -524926048; - break; - case 1: - return num5 < num6; - case 8: - num = ((!_200B_202E_206E_202D_206D_202C_200E_202A_200F_202D_200E_200B_206A_200C_206E_206C_200E_200E_202A_206D_206D_206F_202D_200D_206B_206C_200B_202A_202A_200C_200D_202C_202B_206C_200D_202C_200D_200E_202D_206B_202E(allChangelogs[num7].Version, lastViewedVersion)) ? (-524926048) : (-524926036)); - break; - case 0: - num5 = -1; - num6 = -1; - num7 = 0; - num = -524926046; - break; - case 9: - num = ((num6 != -1) ? (-524926045) : (-524926043)); - break; - case 5: - num = ((num5 != -1) ? (-524926041) : (-524926038)); - break; - case 2: - num = -524926047; - break; - case 12: - return false; - case 7: - return true; + if (allChangelogs[i].Version == lastViewedVersion) + { + num2 = i; } } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200E_202C_206D_200E_202E_206E_202B_202E_206D_202A_202D_206C_200B_200E_206E_202C_200E_202B_202B_206A_206D_206D_206E_202A_200F_202A_202A_202A_202B_202E_202C_200D_200D_200D_206A_202D_200E_206A_206F_202D_202E(); - _206C_200B_206F_202D_206D_206C_200E_200E_202B_200F_206D_202B_202D_206E_200F_206D_206F_200C_202E_200D_202C_202C_206E_206C_200C_206B_202A_200F_202E_202B_202E_202E_206A_206A_202B_202C_200F_206A_206D_206F_202E(stringBuilder, 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(-477928175)); - _206C_200B_206F_202D_206D_206C_200E_200E_202B_200F_206D_202B_202D_206E_200F_206D_206F_200C_202E_200D_202C_202C_206E_206C_200C_206B_202A_200F_202E_202B_202E_202E_206A_206A_202B_202C_200F_206A_206D_206F_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1664411125)); - int num = ((!PrintMembers(stringBuilder)) ? 1932452482 : 1932452481); - while (true) + if (num2 == -1) { - int num2 = num; - int num3 = 1932452480; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - _206E_206D_200E_202B_200F_200B_202B_200B_206A_200E_206E_202D_206D_206C_206F_206A_200B_206D_200E_206A_200B_200C_202A_200C_200E_202B_206D_206F_200B_202E_200C_206A_206E_202D_200F_206D_200E_206D_206C_206F_202E(stringBuilder, '}'); - return _202E_200D_206E_200C_202C_200D_206E_206D_202C_202B_206F_202B_200B_206E_200E_202B_206A_206F_206A_200E_206E_206A_200B_200D_206B_202D_200C_206C_206C_206B_206B_206A_206E_202B_206A_206B_206C_202D_206A_206C_202E((object)stringBuilder); - case 1: - _206E_206D_200E_202B_200F_200B_202B_200B_206A_200E_206E_202D_206D_206C_206F_206A_200B_206D_200E_206A_200B_200C_202A_200C_200E_202B_206D_206F_200B_202E_200C_206A_206E_202D_200F_206D_200E_206D_206C_206F_202E(stringBuilder, ' '); - num = 1932452482; - break; - case 0: - num = 1932452481; - break; - } + return true; } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200F_202D_200E_206B_206C_202A_202B_202A_202E_206F_200C_206D_200D_202B_206B_202B_200D_202E_202D_202E_206B_200C_200F_206B_202C_206D_206F_206C_200B_202E_202A_202E_206B_202B_206C_206D_200C_206B_202E(); - _206C_200B_206F_202D_206D_206C_200E_200E_202B_200F_206D_202B_202D_206E_200F_206D_206F_200C_202E_200D_202C_202C_206E_206C_200C_206B_202A_200F_202E_202B_202E_202E_206A_206A_202B_202C_200F_206A_206D_206F_202E(builder, 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(659654243)); - _202E_206D_200E_206F_200B_200D_206E_206B_202E_202A_206F_202E_206C_206A_200F_202B_206A_206D_200D_200C_206E_202A_202C_200D_206B_200B_200C_206B_200F_206D_200E_206A_202A_202B_206A_206B_206C_202D_200D_206E_202E(builder, (object)Version); - _206C_200B_206F_202D_206D_206C_200E_200E_202B_200F_206D_202B_202D_206E_200F_206D_206F_200C_202E_200D_202C_202C_206E_206C_200C_206B_202A_200F_202E_202B_202E_202E_206A_206A_202B_202C_200F_206A_206D_206F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1366096268)); - _206C_200B_206F_202D_206D_206C_200E_200E_202B_200F_206D_202B_202D_206E_200F_206D_206F_200C_202E_200D_202C_202C_206E_206C_200C_206B_202A_200F_202E_202B_202E_202E_206A_206A_202B_202C_200F_206A_206D_206F_202E(builder, ReleaseDate.ToString()); - _206C_200B_206F_202D_206D_206C_200E_200E_202B_200F_206D_202B_202D_206E_200F_206D_206F_200C_202E_200D_202C_202C_206E_206C_200C_206B_202A_200F_202E_202B_202E_202E_206A_206A_202B_202C_200F_206A_206D_206F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1139339427)); - _202E_206D_200E_206F_200B_200D_206E_206B_202E_202A_206F_202E_206C_206A_200F_202B_206A_206D_200D_200C_206E_202A_202C_200D_206B_200B_200C_206B_200F_206D_200E_206A_202A_202B_206A_206B_206C_202D_200D_206E_202E(builder, (object)Changes); - return true; - } - - [CompilerGenerated] - public bool Equals(ChangelogEntry? other) - { - int num = (((object)this == other) ? 753075130 : 753075134); - while (true) + if (num == -1) { - int num2 = num; - int num3 = 753075128; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 7: - num = ((!EqualityComparer.Default.Equals(ReleaseDate, other.ReleaseDate)) ? 753075129 : 753075131); - break; - case 0: - num = ((!EqualityComparer.Default.Equals(Version, other.Version)) ? 753075129 : 753075135); - break; - case 3: - return EqualityComparer>.Default.Equals(Changes, other.Changes); - case 6: - num = (((object)other == null) ? 753075129 : 753075132); - break; - case 1: - return false; - case 2: - return true; - case 5: - num = 753075134; - break; - case 4: - num = ((!_206E_200D_206B_202C_202D_206F_206F_200D_206A_200C_200D_200D_202D_200D_206B_200D_206E_206E_206D_200F_206A_206A_202E_200B_202D_200F_200B_202A_202A_202B_206F_202B_200B_200B_202A_200D_206A_206C_200D_202A_202E(EqualityContract, other.EqualityContract)) ? 753075129 : 753075128); - break; - } + return false; } - } - - bool IEquatable.Equals(ChangelogEntry? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202A_206E_202D_200D_200B_200D_206E_202A_206A_202D_202C_206C_202B_206A_202B_206F_202B_200C_200E_202D_200E_206B_200D_200E_206C_200C_206B_206A_200D_206B_200C_202C_200C_200C_206D_206A_206C_202A_206E_202A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static bool _202E_206E_206B_200F_206B_202B_200B_206B_202C_200E_202B_206F_202A_202C_200C_200C_202C_200C_206F_202C_206F_202C_200F_206B_202D_202D_206E_206B_206F_200D_202E_202E_206E_206A_200E_202D_200D_200E_206B_206F_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static bool _200B_202E_206E_202D_206D_202C_200E_202A_200F_202D_200E_200B_206A_200C_206E_206C_200E_200E_202A_206D_206D_206F_202D_200D_206B_206C_200B_202A_202A_200C_200D_202C_202B_206C_200D_202C_200D_200E_202D_206B_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - - static StringBuilder _200E_202C_206D_200E_202E_206E_202B_202E_206D_202A_202D_206C_200B_200E_206E_202C_200E_202B_202B_206A_206D_206D_206E_202A_200F_202A_202A_202A_202B_202E_202C_200D_200D_200D_206A_202D_200E_206A_206F_202D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206C_200B_206F_202D_206D_206C_200E_200E_202B_200F_206D_202B_202D_206E_200F_206D_206F_200C_202E_200D_202C_202C_206E_206C_200C_206B_202A_200F_202E_202B_202E_202E_206A_206A_202B_202C_200F_206A_206D_206F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206E_206D_200E_202B_200F_200B_202B_200B_206A_200E_206E_202D_206D_206C_206F_206A_200B_206D_200E_206A_200B_200C_202A_200C_200E_202B_206D_206F_200B_202E_200C_206A_206E_202D_200F_206D_200E_206D_206C_206F_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202E_200D_206E_200C_202C_200D_206E_206D_202C_202B_206F_202B_200B_206E_200E_202B_206A_206F_206A_200E_206E_206A_200B_200D_206B_202D_200C_206C_206C_206B_206B_206A_206E_202B_206A_206B_206C_202D_206A_206C_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200F_202D_200E_206B_206C_202A_202B_202A_202E_206F_200C_206D_200D_202B_206B_202B_200D_202E_202D_202E_206B_200C_200F_206B_202C_206D_206F_206C_200B_202E_202A_202E_206B_202B_206C_206D_200C_206B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202E_206D_200E_206F_200B_200D_206E_206B_202E_202A_206F_202E_206C_206A_200F_202B_206A_206D_200D_200C_206E_202A_202C_200D_206B_200B_200C_206B_200F_206D_200E_206A_202A_202B_206A_206B_206C_202D_200D_206E_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206E_200D_206B_202C_202D_206F_206F_200D_206A_200C_200D_200D_202D_200D_206B_200D_206E_206E_206D_200F_206A_206A_202E_200B_202D_200F_200B_202A_202A_202B_206F_202B_200B_200B_202A_200D_206A_206C_200D_202A_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return num < num2; } } diff --git a/Questionable/Questionable.Model/CofferReward.cs b/Questionable/Questionable.Model/CofferReward.cs index 101ef27..5ab19a9 100644 --- a/Questionable/Questionable.Model/CofferReward.cs +++ b/Questionable/Questionable.Model/CofferReward.cs @@ -1,21 +1,9 @@ -using System; using System.Runtime.CompilerServices; -using System.Text; namespace Questionable.Model; public sealed record CofferReward : ItemReward { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _206A_206E_202E_206F_202E_200D_206B_206C_200D_206F_200D_200C_206D_200D_206F_202E_206F_202B_202D_206C_202E_200D_202B_200F_200B_202B_206D_200D_202C_206F_202E_202C_202C_202A_206F_200C_202D_202B_206C_206E_202E(typeof(CofferReward).TypeHandle); - } - } - public override EItemRewardType Type => EItemRewardType.Coffer; public CofferReward(ItemRewardDetails Item) @@ -28,100 +16,9 @@ public sealed record CofferReward : ItemReward return false; } - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206E_200C_206E_200F_206D_202B_200B_200E_206E_206B_202C_206A_202B_200B_200B_200C_206B_206C_206A_206C_200D_206B_202D_206D_200E_202A_206F_202B_202E_200F_200E_206F_202B_202A_200C_206E_206F_200C_202E_200E_202E(); - _206D_202B_206B_200B_206B_202E_202C_206D_200E_202C_200B_206A_206C_200E_200C_206A_202B_206F_202D_202D_206E_200F_206C_200E_202D_200D_200B_206F_206B_200E_202C_202E_200D_206B_200D_206A_202A_200C_202D_200E_202E(stringBuilder, 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(987724651)); - _206D_202B_206B_200B_206B_202E_202C_206D_200E_202C_200B_206A_206C_200E_200C_206A_202B_206F_202D_202D_206E_200F_206C_200E_202D_200D_200B_206F_206B_200E_202C_202E_200D_206B_200D_206A_202A_200C_202D_200E_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1344697862)); - int num = ((!PrintMembers(stringBuilder)) ? (-939520159) : (-939520158)); - while (true) - { - int num2 = num; - int num3 = -939520157; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -939520158; - break; - case 1: - _206B_206F_200B_202E_202A_202E_202B_200D_202B_206B_206F_202B_202D_206B_206E_202D_206E_200D_206A_206B_200D_200C_202A_206B_206E_200E_202B_206C_202E_206E_206A_200B_206E_200E_206C_202E_206F_206D_200D_202D_202E(stringBuilder, ' '); - num = -939520159; - break; - case 2: - _206B_206F_200B_202E_202A_202E_202B_200D_202B_206B_206F_202B_202D_206B_206E_202D_206E_200D_206A_206B_200D_200C_202A_206B_206E_200E_202B_206C_202E_206E_206A_200B_206E_200E_206C_202E_206F_206D_200D_202D_202E(stringBuilder, '}'); - return _206F_206F_200F_202A_200D_200F_206E_206F_200B_200F_202C_206F_206F_200D_202C_202E_206C_202B_206C_206E_200E_200E_202D_206C_206D_202A_206A_200F_200E_206F_200C_206F_202A_206E_200B_200F_200E_200F_200E_200D_202E((object)stringBuilder); - } - } - } - - [CompilerGenerated] - public bool Equals(CofferReward? other) - { - int num = (((object)this == other) ? 1298126870 : 1298126869); - while (true) - { - int num2 = num; - int num3 = 1298126868; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0044; - case 2: - return true; - case 1: - return base.Equals(other); - } - continue; - IL_0044: - num = 1298126869; - } - } - - bool IEquatable.Equals(CofferReward? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - [CompilerGenerated] public new void Deconstruct(out ItemRewardDetails Item) { Item = base.Item; } - - static Type _206A_206E_202E_206F_202E_200D_206B_206C_200D_206F_200D_200C_206D_200D_206F_202E_206F_202B_202D_206C_202E_200D_202B_200F_200B_202B_206D_200D_202C_206F_202E_202C_202C_202A_206F_200C_202D_202B_206C_206E_202E(RuntimeTypeHandle P_0) - { - return System.Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206E_200C_206E_200F_206D_202B_200B_200E_206E_206B_202C_206A_202B_200B_200B_200C_206B_206C_206A_206C_200D_206B_202D_206D_200E_202A_206F_202B_202E_200F_200E_206F_202B_202A_200C_206E_206F_200C_202E_200E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206D_202B_206B_200B_206B_202E_202C_206D_200E_202C_200B_206A_206C_200E_200C_206A_202B_206F_202D_202D_206E_200F_206C_200E_202D_200D_200B_206F_206B_200E_202C_202E_200D_206B_200D_206A_202A_200C_202D_200E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206B_206F_200B_202E_202A_202E_202B_200D_202B_206B_206F_202B_202D_206B_206E_202D_206E_200D_206A_206B_200D_200C_202A_206B_206E_200E_202B_206C_202E_206E_206A_200B_206E_200E_206C_202E_206F_206D_200D_202D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206F_206F_200F_202A_200D_200F_206E_206F_200B_200F_202C_206F_206F_200D_202C_202E_206C_202B_206C_206E_200E_200E_202D_206C_206D_202A_206A_200F_200E_206F_200C_206F_202A_206E_200B_200F_200E_200F_200E_200D_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _202E_200B_206C_202E_202E_200D_200F_206E_202B_202D_200D_202C_200D_200D_202D_202E_206D_202C_206F_206E_200F_200E_202B_200C_206D_202E_200C_200E_206D_202D_202C_200D_206D_202B_202A_206D_200E_206D_200F_206F_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } } diff --git a/Questionable/Questionable.Model/FashionAccessoryReward.cs b/Questionable/Questionable.Model/FashionAccessoryReward.cs index 209ad1d..62973c1 100644 --- a/Questionable/Questionable.Model/FashionAccessoryReward.cs +++ b/Questionable/Questionable.Model/FashionAccessoryReward.cs @@ -1,23 +1,10 @@ -using System; -using System.Collections.Generic; using System.Runtime.CompilerServices; -using System.Text; using LLib.GameData; namespace Questionable.Model; public sealed record FashionAccessoryReward : ItemReward { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _206B_206B_200F_200B_202D_202E_206C_200C_206F_206C_200E_202D_200D_206E_206A_200F_200B_200D_202A_206B_200C_206D_206D_206D_202C_200C_200C_202A_206E_206D_200C_206F_206E_206B_206B_202A_206D_206F_202D_206D_202E(typeof(FashionAccessoryReward).TypeHandle); - } - } - public uint AccessoryId { get; init; } public override EItemRewardType Type => EItemRewardType.FashionAccessory; @@ -30,98 +17,7 @@ public sealed record FashionAccessoryReward : ItemReward public override bool IsUnlocked() { - return _206C_202D_206F_206E_206E_202C_202C_200E_202C_202C_206F_202D_202D_202B_202A_206F_206F_200C_202C_200D_200D_200E_206E_200D_206C_206D_206D_206B_202B_202D_200F_206C_200D_206F_202B_200F_202B_202B_202A_202E(AccessoryId); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206F_202E_200C_206B_202B_206E_200C_206A_200C_202C_202A_206A_200F_200B_200D_202D_202B_200F_202C_206A_206B_206E_206C_202E_200D_200C_200F_200B_200E_206B_200D_202A_200D_206E_200B_202C_200D_202D_206C_200E_202E(); - _206D_206A_206D_206D_200E_200B_200E_202E_202D_202B_200D_206C_206F_206A_206B_202E_206A_202E_206D_206B_206E_206F_202A_206F_206F_206E_206D_206E_200C_206D_206E_202A_200B_206D_200E_206C_200C_206C_206C_202B_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1334445118)); - _206D_206A_206D_206D_200E_200B_200E_202E_202D_202B_200D_206C_206F_206A_206B_202E_206A_202E_206D_206B_206E_206F_202A_206F_206F_206E_206D_206E_200C_206D_206E_202A_200B_206D_200E_206C_200C_206C_206C_202B_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1344697862)); - int num = ((!PrintMembers(stringBuilder)) ? 1221186443 : 1221186440); - while (true) - { - int num2 = num; - int num3 = 1221186441; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1221186440; - break; - case 2: - _206D_202E_206E_200C_206E_202B_206D_202E_206F_200D_202B_200F_206E_200B_206E_206E_202B_206D_206E_202E_206B_206A_206A_206C_202C_200C_206D_200E_202E_206E_206D_200F_202D_202B_206E_200D_206A_202C_206B_202E_202E(stringBuilder, '}'); - return _202D_200B_206B_200E_200B_202E_200F_202C_206C_206B_200D_202E_206D_206B_200F_200C_206E_202E_200E_202A_202C_200C_206F_200E_202A_206F_206E_200B_202E_202E_202D_200B_206D_206D_200D_202E_200D_200E_202E_200F_202E((object)stringBuilder); - case 1: - _206D_202E_206E_200C_206E_202B_206D_202E_206F_200D_202B_200F_206E_200B_206E_206E_202B_206D_206E_202E_206B_206A_206A_206C_202C_200C_206D_200E_202E_206E_206D_200F_202D_202B_206E_200D_206A_202C_206B_202E_202E(stringBuilder, ' '); - num = 1221186443; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected override bool PrintMembers(StringBuilder builder) - { - int num = ((!base.PrintMembers(builder)) ? 11478778 : 11478777); - while (true) - { - int num2 = num; - int num3 = 11478779; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - _206D_206A_206D_206D_200E_200B_200E_202E_202D_202B_200D_206C_206F_206A_206B_202E_206A_202E_206D_206B_206E_206F_202A_206F_206F_206E_206D_206E_200C_206D_206E_202A_200B_206D_200E_206C_200C_206C_206C_202B_202E(builder, 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(-618803604)); - _206D_206A_206D_206D_200E_200B_200E_202E_202D_202B_200D_206C_206F_206A_206B_202E_206A_202E_206D_206B_206E_206F_202A_206F_206F_206E_206D_206E_200C_206D_206E_202A_200B_206D_200E_206C_200C_206C_206C_202B_202E(builder, AccessoryId.ToString()); - return true; - case 2: - _206D_206A_206D_206D_200E_200B_200E_202E_202D_202B_200D_206C_206F_206A_206B_202E_206A_202E_206D_206B_206E_206F_202A_206F_206F_206E_206D_206E_200C_206D_206E_202A_200B_206D_200E_206C_200C_206C_206C_202B_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1467939024)); - num = 11478778; - break; - case 0: - num = 11478777; - break; - } - } - } - - [CompilerGenerated] - public bool Equals(FashionAccessoryReward? other) - { - int num = (((object)this == other) ? (-923320164) : (-923320162)); - while (true) - { - int num2 = num; - int num3 = -923320163; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return true; - case 2: - return false; - case 4: - return EqualityComparer.Default.Equals(AccessoryId, other.AccessoryId); - case 3: - num = ((!base.Equals(other)) ? (-923320161) : (-923320167)); - break; - case 0: - num = -923320162; - break; - } - } - } - - bool IEquatable.Equals(FashionAccessoryReward? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); + return PlayerStateHelper.IsOrnamentUnlocked(AccessoryId); } [CompilerGenerated] @@ -130,39 +26,4 @@ public sealed record FashionAccessoryReward : ItemReward Item = base.Item; AccessoryId = this.AccessoryId; } - - static Type _206B_206B_200F_200B_202D_202E_206C_200C_206F_206C_200E_202D_200D_206E_206A_200F_200B_200D_202A_206B_200C_206D_206D_206D_202C_200C_200C_202A_206E_206D_200C_206F_206E_206B_206B_202A_206D_206F_202D_206D_202E(RuntimeTypeHandle P_0) - { - return System.Type.GetTypeFromHandle(P_0); - } - - static bool _206C_202D_206F_206E_206E_202C_202C_200E_202C_202C_206F_202D_202D_202B_202A_206F_206F_200C_202C_200D_200D_200E_206E_200D_206C_206D_206D_206B_202B_202D_200F_206C_200D_206F_202B_200F_202B_202B_202A_202E(uint P_0) - { - return PlayerStateHelper.IsOrnamentUnlocked(P_0); - } - - static StringBuilder _206F_202E_200C_206B_202B_206E_200C_206A_200C_202C_202A_206A_200F_200B_200D_202D_202B_200F_202C_206A_206B_206E_206C_202E_200D_200C_200F_200B_200E_206B_200D_202A_200D_206E_200B_202C_200D_202D_206C_200E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206D_206A_206D_206D_200E_200B_200E_202E_202D_202B_200D_206C_206F_206A_206B_202E_206A_202E_206D_206B_206E_206F_202A_206F_206F_206E_206D_206E_200C_206D_206E_202A_200B_206D_200E_206C_200C_206C_206C_202B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206D_202E_206E_200C_206E_202B_206D_202E_206F_200D_202B_200F_206E_200B_206E_206E_202B_206D_206E_202E_206B_206A_206A_206C_202C_200C_206D_200E_202E_206E_206D_200F_202D_202B_206E_200D_206A_202C_206B_202E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202D_200B_206B_200E_200B_202E_200F_202C_206C_206B_200D_202E_206D_206B_200F_200C_206E_202E_200E_202A_202C_200C_206F_200E_202A_206F_206E_200B_202E_202E_202D_200B_206D_206D_200D_202E_200D_200E_202E_200F_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _206F_202C_206B_202A_206B_202E_200D_202A_206E_200F_206A_200D_202E_202E_202A_206B_206A_206F_206D_200C_202A_202C_200B_202B_206E_202A_200F_202A_200F_202C_200E_202D_202C_200E_206E_202A_202B_206D_206B_206A_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } } diff --git a/Questionable/Questionable.Model/IQuestInfo.cs b/Questionable/Questionable.Model/IQuestInfo.cs index 2d7a9cf..8981fb9 100644 --- a/Questionable/Questionable.Model/IQuestInfo.cs +++ b/Questionable/Questionable.Model/IQuestInfo.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Collections.Immutable; -using System.Runtime.CompilerServices; using Dalamud.Game.Text; using LLib.GameData; using Questionable.Model.Questing; @@ -40,32 +39,13 @@ internal interface IQuestInfo EExpansionVersion Expansion { get; } - string SimplifiedName - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return _200B_200D_206A_200B_200D_200B_200B_200C_202E_206E_202E_200D_206C_206C_206D_200B_200C_202D_200E_206C_206D_200D_206A_206D_202B_206D_202B_206A_206E_202D_206C_200E_200C_200F_206D_200C_200C_206B_200D_202A_202E(_206D_200B_200D_206E_202A_200C_206F_206B_202A_202E_200B_206D_202A_206D_200E_206C_200B_202B_200C_202A_200C_206C_206D_200B_200D_200D_206E_206C_200D_200C_202C_206E_202C_200B_206E_206B_206E_202E_200F_202E(_206D_200B_200D_206E_202A_200C_206F_206B_202A_202E_200B_206D_202A_206D_200E_206C_200B_202B_200C_202A_200C_206C_206D_200B_200D_200D_206E_206C_200D_200C_202C_206E_202C_200B_206E_206B_206E_202E_200F_202E(_206D_200B_200D_206E_202A_200C_206F_206B_202A_202E_200B_206D_202A_206D_200E_206C_200B_202B_200C_202A_200C_206C_206D_200B_200D_200D_206E_206C_200D_200C_202C_206E_202C_200B_206E_206B_206E_202E_200F_202E(_206D_200B_200D_206E_202A_200C_206F_206B_202A_202E_200B_206D_202A_206D_200E_206C_200B_202B_200C_202A_200C_206C_206D_200B_200D_200D_206E_206C_200D_200C_202C_206E_202C_200B_206E_206B_206E_202E_200F_202E(_206D_200B_200D_206E_202A_200C_206F_206B_202A_202E_200B_206D_202A_206D_200E_206C_200B_202B_200C_202A_200C_206C_206D_200B_200D_200D_206E_206C_200D_200C_202C_206E_202C_200B_206E_206B_206E_202E_200F_202E(_206D_200B_200D_206E_202A_200C_206F_206B_202A_202E_200B_206D_202A_206D_200E_206C_200B_202B_200C_202A_200C_206C_206D_200B_200D_200D_206E_206C_200D_200C_202C_206E_202C_200B_206E_206B_206E_202E_200F_202E(_206D_200B_200D_206E_202A_200C_206F_206B_202A_202E_200B_206D_202A_206D_200E_206C_200B_202B_200C_202A_200C_206C_206D_200B_200D_200D_206E_206C_200D_200C_202C_206E_202C_200B_206E_206B_206E_202E_200F_202E(_206D_200B_200D_206E_202A_200C_206F_206B_202A_202E_200B_206D_202A_206D_200E_206C_200B_202B_200C_202A_200C_206C_206D_200B_200D_200D_206E_206C_200D_200C_202C_206E_202C_200B_206E_206B_206E_202E_200F_202E(_206D_200B_200D_206E_202A_200C_206F_206B_202A_202E_200B_206D_202A_206D_200E_206C_200B_202B_200C_202A_200C_206C_206D_200B_200D_200D_206E_206C_200D_200C_202C_206E_202C_200B_206E_206B_206E_202E_200F_202E(_206D_200B_200D_206E_202A_200C_206F_206B_202A_202E_200B_206D_202A_206D_200E_206C_200B_202B_200C_202A_200C_206C_206D_200B_200D_200D_206E_206C_200D_200C_202C_206E_202C_200B_206E_206B_206E_202E_200F_202E(Name, 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(-978038014), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-87324410), StringComparison.Ordinal), 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(626978395), 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(1200342830), StringComparison.Ordinal), 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(1557481284), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1694032531), StringComparison.Ordinal), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1680133376), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1694032531), StringComparison.Ordinal), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1752153588), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-87324410), StringComparison.Ordinal), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1593458294), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1694032531), StringComparison.Ordinal), 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(-1127478360), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1694032531), StringComparison.Ordinal), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(856652132), 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(-1720149641), StringComparison.Ordinal), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(13384458), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-87324410), StringComparison.Ordinal), 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(1887683575), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-87324410), StringComparison.Ordinal), new char[3] - { - _206D_206A_200E_202D_200E_206D_202C_202E_202E_200D_200B_202D_206A_200C_206A_202A_200B_200F_200D_202B_202C_202D_206E_206A_206A_202B_206F_206D_200B_202A_200E_206C_202B_202E_206A_202A_200B_202B_206D_202B_202E(SeIconChar.QuestSync), - _206D_206A_200E_202D_200E_206D_202C_202E_202E_200D_200B_202D_206A_200C_206A_202A_200B_200F_200D_202B_202C_202D_206E_206A_206A_202B_206F_206D_200B_202A_200E_206C_202B_202E_206A_202A_200B_202B_206D_202B_202E(SeIconChar.QuestRepeatable), - ' ' - }); - } - } - - static string _206D_200B_200D_206E_202A_200C_206F_206B_202A_202E_200B_206D_202A_206D_200E_206C_200B_202B_200C_202A_200C_206C_206D_200B_200D_200D_206E_206C_200D_200C_202C_206E_202C_200B_206E_206B_206E_202E_200F_202E(string P_0, string P_1, string P_2, StringComparison P_3) - { - return P_0.Replace(P_1, P_2, P_3); - } - - static char _206D_206A_200E_202D_200E_206D_202C_202E_202E_200D_200B_202D_206A_200C_206A_202A_200B_200F_200D_202B_202C_202D_206E_206A_206A_202B_206F_206D_200B_202A_200E_206C_202B_202E_206A_202A_200B_202B_206D_202B_202E(SeIconChar P_0) - { - return P_0.ToIconChar(); - } - - static string _200B_200D_206A_200B_200D_200B_200B_200C_202E_206E_202E_200D_206C_206C_206D_200B_200C_202D_200E_206C_206D_200D_206A_206D_202B_206D_202B_206A_206E_202D_206C_200E_200C_200F_206D_200C_200C_206B_200D_202A_202E(string P_0, char[] P_1) - { - return P_0.TrimStart(P_1); - } + string SimplifiedName => Name.Replace(".", "", StringComparison.Ordinal).Replace("*", "", StringComparison.Ordinal).Replace("\"", "", StringComparison.Ordinal) + .Replace("/", "", StringComparison.Ordinal) + .Replace("\\", "", StringComparison.Ordinal) + .Replace("<", "", StringComparison.Ordinal) + .Replace(">", "", StringComparison.Ordinal) + .Replace("|", "", StringComparison.Ordinal) + .Replace(":", "", StringComparison.Ordinal) + .Replace("?", "", StringComparison.Ordinal) + .TrimStart(SeIconChar.QuestSync.ToIconChar(), SeIconChar.QuestRepeatable.ToIconChar(), ' '); } diff --git a/Questionable/Questionable.Model/ItemReward.cs b/Questionable/Questionable.Model/ItemReward.cs index 8cbfc35..39c9def 100644 --- a/Questionable/Questionable.Model/ItemReward.cs +++ b/Questionable/Questionable.Model/ItemReward.cs @@ -1,7 +1,4 @@ using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using LLib.Inventory; using Lumina.Excel.Sheets; using Questionable.Model.Questing; @@ -10,16 +7,6 @@ namespace Questionable.Model; public abstract record ItemReward(ItemRewardDetails Item) { - [CompilerGenerated] - protected virtual Type EqualityContract - { - [CompilerGenerated] - get - { - return _202E_206B_206D_206A_200B_202E_200E_200E_206B_202B_202B_206C_202E_202B_200C_206F_202B_200D_200E_200C_200F_200D_200E_206B_200E_200B_200D_202E_200B_206C_202C_202E_206C_200E_202E_202D_202E_202D_200D_206F_202E(typeof(ItemReward).TypeHandle); - } - } - public uint ItemId => Item.ItemId; public string Name => Item.Name; @@ -35,213 +22,43 @@ public abstract record ItemReward(ItemRewardDetails Item) internal static ItemReward? CreateFromItem(Item item, ElementId elementId) { uint? num = item.ItemAction.ValueNullable?.Action.RowId; - int num2 = ((!num.HasValue) ? (-1359662202) : (-1359662195)); - TripleTriadCard? valueOrDefault = default(TripleTriadCard?); - Orchestrion? valueOrDefault3 = default(Orchestrion?); - while (true) + if (num.HasValue && num == 1322) { - int num3 = num2; - int num4 = -1359662199; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 10: - num2 = -1359662195; - break; - case 18: - num = item.ItemAction.ValueNullable?.Action.RowId; - num2 = ((!num.HasValue) ? (-1359662207) : (-1359662206)); - break; - case 17: - { - TripleTriadCard valueOrDefault2 = valueOrDefault.GetValueOrDefault(); - return new TripleTriadCardReward(new ItemRewardDetails(item, elementId), (ushort)valueOrDefault2.RowId); - } - case 5: - return null; - case 15: - num = item.ItemAction.ValueNullable?.Action.RowId; - num2 = ((!num.HasValue) ? (-1359662200) : (-1359662201)); - break; - case 13: - return new MinionReward(new ItemRewardDetails(item, elementId), item.ItemAction.Value.Data[0]); - case 9: - { - Orchestrion valueOrDefault4 = valueOrDefault3.GetValueOrDefault(); - return new OrchestrionRollReward(new ItemRewardDetails(item, elementId), valueOrDefault4.RowId); - } - case 7: - return new MountReward(new ItemRewardDetails(item, elementId), item.ItemAction.Value.Data[0]); - case 16: - return new UnlockLinkReward(new ItemRewardDetails(item, elementId), item.ItemAction.Value.Data[0]); - case 3: - return new CofferReward(new ItemRewardDetails(item, elementId)); - case 11: - num2 = ((num != 20086) ? (-1359662207) : (-1359662199)); - break; - case 12: - valueOrDefault = item.AdditionalData.GetValueOrDefault(); - num2 = ((!valueOrDefault.HasValue) ? (-1359662181) : (-1359662184)); - break; - case 0: - return new FashionAccessoryReward(new ItemRewardDetails(item, elementId), item.ItemAction.Value.Data[0]); - case 2: - num2 = ((num != 2633) ? (-1359662193) : (-1359662183)); - break; - case 1: - valueOrDefault3 = item.AdditionalData.GetValueOrDefault(); - num2 = ((!valueOrDefault3.HasValue) ? (-1359662203) : (-1359662208)); - break; - case 14: - num2 = ((num != 853) ? (-1359662200) : (-1359662204)); - break; - case 8: - num = item.ItemAction.ValueNullable?.Action.RowId; - num2 = ((!num.HasValue) ? (-1359662193) : (-1359662197)); - break; - case 6: - num2 = ((!_200B_206F_206D_202A_200C_206A_200D_202B_202E_206D_202A_206C_202D_202B_206A_202C_202B_200E_202C_202D_206C_206F_200C_202D_202A_202A_200D_202D_202B_206A_206E_202D_206F_200F_206D_206D_200E_200B_202B_202B_202E(item)) ? (-1359662196) : (-1359662198)); - break; - case 4: - num2 = ((num != 1322) ? (-1359662202) : (-1359662194)); - break; - } + return new MountReward(new ItemRewardDetails(item, elementId), item.ItemAction.Value.Data[0]); } + num = item.ItemAction.ValueNullable?.Action.RowId; + if (num.HasValue && num == 853) + { + return new MinionReward(new ItemRewardDetails(item, elementId), item.ItemAction.Value.Data[0]); + } + Orchestrion? valueOrDefault = item.AdditionalData.GetValueOrDefault(); + if (valueOrDefault.HasValue) + { + Orchestrion valueOrDefault2 = valueOrDefault.GetValueOrDefault(); + return new OrchestrionRollReward(new ItemRewardDetails(item, elementId), valueOrDefault2.RowId); + } + TripleTriadCard? valueOrDefault3 = item.AdditionalData.GetValueOrDefault(); + if (valueOrDefault3.HasValue) + { + TripleTriadCard valueOrDefault4 = valueOrDefault3.GetValueOrDefault(); + return new TripleTriadCardReward(new ItemRewardDetails(item, elementId), (ushort)valueOrDefault4.RowId); + } + num = item.ItemAction.ValueNullable?.Action.RowId; + if (num.HasValue && num == 20086) + { + return new FashionAccessoryReward(new ItemRewardDetails(item, elementId), item.ItemAction.Value.Data[0]); + } + num = item.ItemAction.ValueNullable?.Action.RowId; + if (num.HasValue && num == 2633) + { + return new UnlockLinkReward(new ItemRewardDetails(item, elementId), item.ItemAction.Value.Data[0]); + } + if (CofferHelper.IsGearCoffer(item)) + { + return new CofferReward(new ItemRewardDetails(item, elementId)); + } + return null; } public abstract bool IsUnlocked(); - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202A_202D_200E_206F_206D_202D_202C_200D_202B_202A_206A_202C_206A_206A_202E_200E_200B_206A_202C_206D_202B_206C_206F_206E_206C_202A_202D_200F_200B_206A_200C_206C_206B_206F_200D_202C_200C_206F_202C_200F_202E(); - _202E_202A_200F_202B_200C_206E_202D_202D_202A_200D_202A_206F_200C_206A_200E_200C_206D_206B_200C_202B_206A_200D_202A_200D_200F_206A_200E_202E_202B_206E_206D_200D_202E_200B_206D_202D_202E_200E_200F_206C_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1783381517)); - _202E_202A_200F_202B_200C_206E_202D_202D_202A_200D_202A_206F_200C_206A_200E_200C_206D_206B_200C_202B_206A_200D_202A_200D_200F_206A_200E_202E_202B_206E_206D_200D_202E_200B_206D_202D_202E_200E_200F_206C_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1664411125)); - int num = ((!PrintMembers(stringBuilder)) ? 1237326775 : 1237326772); - while (true) - { - int num2 = num; - int num3 = 1237326774; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1237326772; - break; - case 1: - _202E_202A_206F_206B_206A_206A_206F_202B_202B_200D_202A_202A_202A_202B_200B_206D_206B_200E_200D_202D_200C_206C_200F_202E_206F_206D_206B_202D_200D_200F_200D_202A_202C_200C_206D_202C_206C_206C_200D_200D_202E(stringBuilder, '}'); - return _206C_206E_206D_200F_202B_200F_202C_206F_206D_206D_200E_206E_200B_206F_202A_202E_206B_202D_200F_206B_202A_202B_202C_206C_206A_200B_200B_202E_202A_200F_206C_202C_200C_206D_202C_206A_200B_202E_202C_206F_202E((object)stringBuilder); - case 2: - _202E_202A_206F_206B_206A_206A_206F_202B_202B_200D_202A_202A_202A_202B_200B_206D_206B_200E_200D_202D_200C_206C_200F_202E_206F_206D_206B_202D_200D_200F_200D_202A_202C_200C_206D_202C_206C_206C_200D_200D_202E(stringBuilder, ' '); - num = 1237326775; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected virtual bool PrintMembers(StringBuilder builder) - { - _200D_206A_206C_206E_200F_206F_202C_206F_202B_206C_206E_200B_200C_200B_202A_200D_202E_202E_206D_202A_202C_202B_200B_206E_200C_200C_200D_200F_202B_202B_202C_200D_200B_202A_200F_202C_200B_202B_202A_202A_202E(); - _202E_202A_200F_202B_200C_206E_202D_202D_202A_200D_202A_206F_200C_206A_200E_200C_206D_206B_200C_202B_206A_200D_202A_200D_200F_206A_200E_202E_202B_206E_206D_200D_202E_200B_206D_202D_202E_200E_200F_206C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1122053868)); - _202B_202D_202E_206D_200D_202E_200E_206B_200D_202A_206E_202E_206B_202A_200F_206D_202E_202E_206F_206A_202C_206C_202B_202C_200D_202A_206B_206C_202E_200D_206E_206C_206F_206D_200E_202B_206B_200E_200B_206F_202E(builder, (object)Item); - _202E_202A_200F_202B_200C_206E_202D_202D_202A_200D_202A_206F_200C_206A_200E_200C_206D_206B_200C_202B_206A_200D_202A_200D_200F_206A_200E_202E_202B_206E_206D_200D_202E_200B_206D_202D_202E_200E_200F_206C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1085623692)); - _202E_202A_200F_202B_200C_206E_202D_202D_202A_200D_202A_206F_200C_206A_200E_200C_206D_206B_200C_202B_206A_200D_202A_200D_200F_206A_200E_202E_202B_206E_206D_200D_202E_200B_206D_202D_202E_200E_200F_206C_202E(builder, ItemId.ToString()); - _202E_202A_200F_202B_200C_206E_202D_202D_202A_200D_202A_206F_200C_206A_200E_200C_206D_206B_200C_202B_206A_200D_202A_200D_200F_206A_200E_202E_202B_206E_206D_200D_202E_200B_206D_202D_202E_200E_200F_206C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-844129380)); - _202B_202D_202E_206D_200D_202E_200E_206B_200D_202A_206E_202E_206B_202A_200F_206D_202E_202E_206F_206A_202C_206C_202B_202C_200D_202A_206B_206C_202E_200D_206E_206C_206F_206D_200E_202B_206B_200E_200B_206F_202E(builder, (object)Name); - _202E_202A_200F_202B_200C_206E_202D_202D_202A_200D_202A_206F_200C_206A_200E_200C_206D_206B_200C_202B_206A_200D_202A_200D_200F_206A_200E_202E_202B_206E_206D_200D_202E_200B_206D_202D_202E_200E_200F_206C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-788873601)); - _202B_202D_202E_206D_200D_202E_200E_206B_200D_202A_206E_202E_206B_202A_200F_206D_202E_202E_206F_206A_202C_206C_202B_202C_200D_202A_206B_206C_202E_200D_206E_206C_206F_206D_200E_202B_206B_200E_200B_206F_202E(builder, (object)ElementId); - _202E_202A_200F_202B_200C_206E_202D_202D_202A_200D_202A_206F_200C_206A_200E_200C_206D_206B_200C_202B_206A_200D_202A_200D_200F_206A_200E_202E_202B_206E_206D_200D_202E_200B_206D_202D_202E_200E_200F_206C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(472252391)); - _202E_202A_200F_202B_200C_206E_202D_202D_202A_200D_202A_206F_200C_206A_200E_200C_206D_206B_200C_202B_206A_200D_202A_200D_200F_206A_200E_202E_202B_206E_206D_200D_202E_200B_206D_202D_202E_200E_200F_206C_202E(builder, CastTime.ToString()); - _202E_202A_200F_202B_200C_206E_202D_202D_202A_200D_202A_206F_200C_206A_200E_200C_206D_206B_200C_202B_206A_200D_202A_200D_200F_206A_200E_202E_202B_206E_206D_200D_202E_200B_206D_202D_202E_200E_200F_206C_202E(builder, 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(36845239)); - _202E_202A_200F_202B_200C_206E_202D_202D_202A_200D_202A_206F_200C_206A_200E_200C_206D_206B_200C_202B_206A_200D_202A_200D_200F_206A_200E_202E_202B_206E_206D_200D_202E_200B_206D_202D_202E_200E_200F_206C_202E(builder, IsUntradable.ToString()); - _202E_202A_200F_202B_200C_206E_202D_202D_202A_200D_202A_206F_200C_206A_200E_200C_206D_206B_200C_202B_206A_200D_202A_200D_200F_206A_200E_202E_202B_206E_206D_200D_202E_200B_206D_202D_202E_200E_200F_206C_202E(builder, 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(536002464)); - _202E_202A_200F_202B_200C_206E_202D_202D_202A_200D_202A_206F_200C_206A_200E_200C_206D_206B_200C_202B_206A_200D_202A_200D_200F_206A_200E_202E_202B_206E_206D_200D_202E_200B_206D_202D_202E_200E_200F_206C_202E(builder, Type.ToString()); - return true; - } - - [CompilerGenerated] - public virtual bool Equals(ItemReward? other) - { - int num = (((object)this == other) ? (-1574270429) : (-1574270430)); - while (true) - { - int num2 = num; - int num3 = -1574270426; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return EqualityComparer.Default.Equals(Item, other.Item); - case 5: - return true; - case 1: - num = ((!_206C_200B_202C_200D_206D_206F_206D_200B_200C_206D_202E_200B_206B_202E_200B_206C_206C_202D_206F_200D_202A_202E_206D_200E_206C_206C_200C_206C_202E_202D_202B_206D_202A_206D_200E_200B_202C_202D_200C_202E_202E(EqualityContract, other.EqualityContract)) ? (-1574270427) : (-1574270428)); - break; - case 0: - num = -1574270430; - break; - case 4: - num = (((object)other == null) ? (-1574270427) : (-1574270425)); - break; - case 3: - return false; - } - } - } - - bool IEquatable.Equals(ItemReward? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202E_206B_206D_206A_200B_202E_200E_200E_206B_202B_202B_206C_202E_202B_200C_206F_202B_200D_200E_200C_200F_200D_200E_206B_200E_200B_200D_202E_200B_206C_202C_202E_206C_200E_202E_202D_202E_202D_200D_206F_202E(RuntimeTypeHandle P_0) - { - return System.Type.GetTypeFromHandle(P_0); - } - - static bool _200B_206F_206D_202A_200C_206A_200D_202B_202E_206D_202A_206C_202D_202B_206A_202C_202B_200E_202C_202D_206C_206F_200C_202D_202A_202A_200D_202D_202B_206A_206E_202D_206F_200F_206D_206D_200E_200B_202B_202B_202E(Item P_0) - { - return CofferHelper.IsGearCoffer(P_0); - } - - static StringBuilder _202A_202D_200E_206F_206D_202D_202C_200D_202B_202A_206A_202C_206A_206A_202E_200E_200B_206A_202C_206D_202B_206C_206F_206E_206C_202A_202D_200F_200B_206A_200C_206C_206B_206F_200D_202C_200C_206F_202C_200F_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202E_202A_200F_202B_200C_206E_202D_202D_202A_200D_202A_206F_200C_206A_200E_200C_206D_206B_200C_202B_206A_200D_202A_200D_200F_206A_200E_202E_202B_206E_206D_200D_202E_200B_206D_202D_202E_200E_200F_206C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202E_202A_206F_206B_206A_206A_206F_202B_202B_200D_202A_202A_202A_202B_200B_206D_206B_200E_200D_202D_200C_206C_200F_202E_206F_206D_206B_202D_200D_200F_200D_202A_202C_200C_206D_202C_206C_206C_200D_200D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206C_206E_206D_200F_202B_200F_202C_206F_206D_206D_200E_206E_200B_206F_202A_202E_206B_202D_200F_206B_202A_202B_202C_206C_206A_200B_200B_202E_202A_200F_206C_202C_200C_206D_202C_206A_200B_202E_202C_206F_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200D_206A_206C_206E_200F_206F_202C_206F_202B_206C_206E_200B_200C_200B_202A_200D_202E_202E_206D_202A_202C_202B_200B_206E_200C_200C_200D_200F_202B_202B_202C_200D_200B_202A_200F_202C_200B_202B_202A_202A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202B_202D_202E_206D_200D_202E_200E_206B_200D_202A_206E_202E_206B_202A_200F_206D_202E_202E_206F_206A_202C_206C_202B_202C_200D_202A_206B_206C_202E_200D_206E_206C_206F_206D_200E_202B_206B_200E_200B_206F_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206C_200B_202C_200D_206D_206F_206D_200B_200C_206D_202E_200B_206B_202E_200B_206C_206C_202D_206F_200D_202A_202E_206D_200E_206C_206C_200C_206C_202E_202D_202B_206D_202A_206D_200E_200B_202C_202D_200C_202E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } } diff --git a/Questionable/Questionable.Model/ItemRewardDetails.cs b/Questionable/Questionable.Model/ItemRewardDetails.cs index a621092..db215ed 100644 --- a/Questionable/Questionable.Model/ItemRewardDetails.cs +++ b/Questionable/Questionable.Model/ItemRewardDetails.cs @@ -1,8 +1,6 @@ using System; -using Dalamud.Game.Text.SeStringHandling; using Dalamud.Utility; using Lumina.Excel.Sheets; -using Lumina.Text.ReadOnly; using Questionable.Model.Questing; namespace Questionable.Model; @@ -11,7 +9,7 @@ public sealed class ItemRewardDetails { public uint ItemId { get; } = item.RowId; - public string Name { get; } = _206A_206B_206E_206C_206A_206E_200B_206E_200E_206B_206F_202E_200E_206C_206B_200B_206F_202B_200D_206F_206A_202D_202D_202A_200F_202B_206C_202A_200D_202C_202C_200C_200C_206C_206A_200F_200C_202D_202D_202C_202E((object)_200C_202A_202B_200B_202A_206A_202B_206B_200C_200E_206C_206F_200C_206D_206C_202A_202D_206F_202A_202B_200F_206E_200E_200E_202D_200D_202A_206E_206F_202C_206A_202B_206B_200C_206F_200D_202C_200B_200E_206C_202E(item.Name)); + public string Name { get; } = item.Name.ToDalamudString().ToString(); public TimeSpan CastTime { get; } = TimeSpan.FromSeconds(item.CastTimeSeconds); @@ -24,14 +22,4 @@ public sealed class ItemRewardDetails ElementId = elementId; base._002Ector(); } - - static SeString _200C_202A_202B_200B_202A_206A_202B_206B_200C_200E_206C_206F_200C_206D_206C_202A_202D_206F_202A_202B_200F_206E_200E_200E_202D_200D_202A_206E_206F_202C_206A_202B_206B_200C_206F_200D_202C_200B_200E_206C_202E(ReadOnlySeString P_0) - { - return P_0.ToDalamudString(); - } - - static string _206A_206B_206E_206C_206A_206E_200B_206E_200E_206B_206F_202E_200E_206C_206B_200B_206F_202B_200D_206F_206A_202D_202D_202A_200F_202B_206C_202A_200D_202C_202C_200C_200C_206C_206A_200F_200C_202D_202D_202C_202E(object P_0) - { - return P_0.ToString(); - } } diff --git a/Questionable/Questionable.Model/MinionReward.cs b/Questionable/Questionable.Model/MinionReward.cs index 5e48d3b..4d2bce7 100644 --- a/Questionable/Questionable.Model/MinionReward.cs +++ b/Questionable/Questionable.Model/MinionReward.cs @@ -1,23 +1,10 @@ -using System; -using System.Collections.Generic; using System.Runtime.CompilerServices; -using System.Text; using FFXIVClientStructs.FFXIV.Client.Game.UI; namespace Questionable.Model; public sealed record MinionReward : ItemReward { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _206B_200F_202E_200F_206F_206D_206D_200D_202A_200C_202B_200D_200B_202B_202E_202D_206D_206C_200C_206C_206F_202B_206D_202A_202A_206B_206C_206C_200D_200E_202E_200E_202C_202B_200B_206E_206E_206A_200C_206E_202E(typeof(MinionReward).TypeHandle); - } - } - public uint MinionId { get; init; } public override EItemRewardType Type => EItemRewardType.Minion; @@ -33,135 +20,10 @@ public sealed record MinionReward : ItemReward return UIState.Instance()->IsCompanionUnlocked(MinionId); } - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200D_200F_200E_200F_202D_200B_200F_200B_206E_206E_206F_206E_200C_200B_200B_206F_206B_202A_206B_206D_200E_200B_206A_200E_202B_200B_206D_200F_206E_206E_200B_200C_202E_200E_200D_206D_200E_200D_202B_202D_202E(); - _206F_200F_202B_206F_202C_202E_202B_202D_202A_200E_206D_202E_200D_206A_200C_200D_200F_206B_200D_206F_206E_202D_206C_202D_202E_200B_200F_206C_206C_206D_200F_202B_200C_200C_206D_206C_206E_200C_200D_202A_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1942612886)); - _206F_200F_202B_206F_202C_202E_202B_202D_202A_200E_206D_202E_200D_206A_200C_200D_200F_206B_200D_206F_206E_202D_206C_202D_202E_200B_200F_206C_206C_206D_200F_202B_200C_200C_206D_206C_206E_200C_200D_202A_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1344697862)); - int num = ((!PrintMembers(stringBuilder)) ? 328409994 : 328409993); - while (true) - { - int num2 = num; - int num3 = 328409995; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _202A_206C_202E_200C_206E_202A_202A_206A_206E_206E_202E_206E_206F_206B_200F_202B_200C_206D_200B_202A_200E_200D_200F_200F_202D_202B_202C_202A_202B_206B_206B_206A_200F_206C_200D_206F_200E_202A_206B_206E_202E(stringBuilder, '}'); - return _200F_202E_200C_200D_206A_206B_206E_206F_206F_202E_200B_206A_202A_202C_200C_206A_206E_202A_206E_206A_206A_200B_206D_202E_202C_202B_202A_202C_200B_206E_202D_202A_200D_206A_206F_202D_206C_202A_202A_206F_202E((object)stringBuilder); - case 2: - _202A_206C_202E_200C_206E_202A_202A_206A_206E_206E_202E_206E_206F_206B_200F_202B_200C_206D_200B_202A_200E_200D_200F_200F_202D_202B_202C_202A_202B_206B_206B_206A_200F_206C_200D_206F_200E_202A_206B_206E_202E(stringBuilder, ' '); - num = 328409994; - break; - case 0: - num = 328409993; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected override bool PrintMembers(StringBuilder builder) - { - int num = ((!base.PrintMembers(builder)) ? 738059944 : 738059945); - while (true) - { - int num2 = num; - int num3 = 738059944; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _206F_200F_202B_206F_202C_202E_202B_202D_202A_200E_206D_202E_200D_206A_200C_200D_200F_206B_200D_206F_206E_202D_206C_202D_202E_200B_200F_206C_206C_206D_200F_202B_200C_200C_206D_206C_206E_200C_200D_202A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1657444292)); - _206F_200F_202B_206F_202C_202E_202B_202D_202A_200E_206D_202E_200D_206A_200C_200D_200F_206B_200D_206F_206E_202D_206C_202D_202E_200B_200F_206C_206C_206D_200F_202B_200C_200C_206D_206C_206E_200C_200D_202A_202E(builder, MinionId.ToString()); - return true; - case 1: - _206F_200F_202B_206F_202C_202E_202B_202D_202A_200E_206D_202E_200D_206A_200C_200D_200F_206B_200D_206F_206E_202D_206C_202D_202E_200B_200F_206C_206C_206D_200F_202B_200C_200C_206D_206C_206E_200C_200D_202A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1087086507)); - num = 738059944; - break; - case 2: - num = 738059945; - break; - } - } - } - - [CompilerGenerated] - public bool Equals(MinionReward? other) - { - int num = (((object)this == other) ? (-1239991407) : (-1239991401)); - while (true) - { - int num2 = num; - int num3 = -1239991405; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return true; - case 4: - num = ((!base.Equals(other)) ? (-1239991405) : (-1239991406)); - break; - case 1: - return EqualityComparer.Default.Equals(MinionId, other.MinionId); - case 0: - return false; - case 3: - num = -1239991401; - break; - } - } - } - - bool IEquatable.Equals(MinionReward? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - [CompilerGenerated] public void Deconstruct(out ItemRewardDetails Item, out uint MinionId) { Item = base.Item; MinionId = this.MinionId; } - - static Type _206B_200F_202E_200F_206F_206D_206D_200D_202A_200C_202B_200D_200B_202B_202E_202D_206D_206C_200C_206C_206F_202B_206D_202A_202A_206B_206C_206C_200D_200E_202E_200E_202C_202B_200B_206E_206E_206A_200C_206E_202E(RuntimeTypeHandle P_0) - { - return System.Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200D_200F_200E_200F_202D_200B_200F_200B_206E_206E_206F_206E_200C_200B_200B_206F_206B_202A_206B_206D_200E_200B_206A_200E_202B_200B_206D_200F_206E_206E_200B_200C_202E_200E_200D_206D_200E_200D_202B_202D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206F_200F_202B_206F_202C_202E_202B_202D_202A_200E_206D_202E_200D_206A_200C_200D_200F_206B_200D_206F_206E_202D_206C_202D_202E_200B_200F_206C_206C_206D_200F_202B_200C_200C_206D_206C_206E_200C_200D_202A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202A_206C_202E_200C_206E_202A_202A_206A_206E_206E_202E_206E_206F_206B_200F_202B_200C_206D_200B_202A_200E_200D_200F_200F_202D_202B_202C_202A_202B_206B_206B_206A_200F_206C_200D_206F_200E_202A_206B_206E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200F_202E_200C_200D_206A_206B_206E_206F_206F_202E_200B_206A_202A_202C_200C_206A_206E_202A_206E_206A_206A_200B_206D_202E_202C_202B_202A_202C_200B_206E_202D_202A_200D_206A_206F_202D_206C_202A_202A_206F_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _202C_202D_206B_200D_202B_200F_202A_200D_206E_200D_202B_202A_200E_206C_206A_202D_206A_206B_206D_206D_200B_200F_202D_206F_206A_200B_202C_206D_200F_206F_206D_200E_202B_200B_206B_200B_202E_206F_206C_202C_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } } diff --git a/Questionable/Questionable.Model/MountReward.cs b/Questionable/Questionable.Model/MountReward.cs index 4f842b0..3677dd5 100644 --- a/Questionable/Questionable.Model/MountReward.cs +++ b/Questionable/Questionable.Model/MountReward.cs @@ -1,23 +1,10 @@ -using System; -using System.Collections.Generic; using System.Runtime.CompilerServices; -using System.Text; using LLib.GameData; namespace Questionable.Model; public sealed record MountReward : ItemReward { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _206D_202C_202E_200B_200D_202D_206B_202D_202A_202B_200E_206F_202A_202D_202E_202E_206F_206A_202C_200D_200B_206B_206C_202E_206F_206A_206B_206C_202E_206E_200B_200B_206D_202D_206C_206D_200F_202E_202E_206E_202E(typeof(MountReward).TypeHandle); - } - } - public uint MountId { get; init; } public override EItemRewardType Type => EItemRewardType.Mount; @@ -30,100 +17,7 @@ public sealed record MountReward : ItemReward public override bool IsUnlocked() { - return _200D_202C_200F_206D_200D_206C_202C_206D_206D_202B_200E_202D_200C_200F_206D_206C_202A_200E_202C_200B_202B_202C_202E_206C_206B_200D_206A_200D_200F_200F_206E_200B_202A_206C_200C_206C_202B_202D_206C_200C_202E(MountId); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202D_200C_206B_202C_202C_206A_200F_200B_200B_206A_200F_202C_206C_200B_206A_200E_206D_200B_202E_206F_200F_202E_202B_202D_206F_206E_206A_202B_202A_200C_202A_202C_202A_206B_202D_202E_206D_206C_202C_200E_202E(); - _200C_206F_202A_202A_200C_202B_200C_206A_200B_206D_200E_202D_202E_200C_202C_206B_202C_206D_206D_202E_200B_202B_206A_206F_206E_200F_200D_206F_202B_206F_200D_202D_202C_206E_200D_206A_206B_200F_200C_206C_202E(stringBuilder, 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(-1221435130)); - _200C_206F_202A_202A_200C_202B_200C_206A_200B_206D_200E_202D_202E_200C_202C_206B_202C_206D_206D_202E_200B_202B_206A_206F_206E_200F_200D_206F_202B_206F_200D_202D_202C_206E_200D_206A_206B_200F_200C_206C_202E(stringBuilder, 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(117284107)); - int num = ((!PrintMembers(stringBuilder)) ? 58843567 : 58843566); - while (true) - { - int num2 = num; - int num3 = 58843567; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 58843566; - break; - case 1: - _206A_206E_206D_200B_202D_206E_202B_206E_202E_202B_200F_202C_200F_200B_202C_206F_202B_206D_206B_206B_202D_200E_206E_200D_200C_206C_202C_202D_206C_206C_202B_200D_202E_202B_206C_206E_200C_202C_202A_200C_202E(stringBuilder, ' '); - num = 58843567; - break; - case 0: - _206A_206E_206D_200B_202D_206E_202B_206E_202E_202B_200F_202C_200F_200B_202C_206F_202B_206D_206B_206B_202D_200E_206E_200D_200C_206C_202C_202D_206C_206C_202B_200D_202E_202B_206C_206E_200C_202C_202A_200C_202E(stringBuilder, '}'); - return _202C_202B_206F_206B_200D_206E_206D_206A_202C_206E_200F_200E_202E_200F_202A_206D_206B_202E_200D_202D_200D_200E_202B_200F_200C_202D_206D_200F_200C_206B_200B_200B_200C_200F_202C_200D_202D_206C_200F_206C_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected override bool PrintMembers(StringBuilder builder) - { - int num = ((!base.PrintMembers(builder)) ? (-1015769128) : (-1015769127)); - while (true) - { - int num2 = num; - int num3 = -1015769128; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -1015769127; - break; - case 0: - _200C_206F_202A_202A_200C_202B_200C_206A_200B_206D_200E_202D_202E_200C_202C_206B_202C_206D_206D_202E_200B_202B_206A_206F_206E_200F_200D_206F_202B_206F_200D_202D_202C_206E_200D_206A_206B_200F_200C_206C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1941296571)); - _200C_206F_202A_202A_200C_202B_200C_206A_200B_206D_200E_202D_202E_200C_202C_206B_202C_206D_206D_202E_200B_202B_206A_206F_206E_200F_200D_206F_202B_206F_200D_202D_202C_206E_200D_206A_206B_200F_200C_206C_202E(builder, MountId.ToString()); - return true; - case 1: - _200C_206F_202A_202A_200C_202B_200C_206A_200B_206D_200E_202D_202E_200C_202C_206B_202C_206D_206D_202E_200B_202B_206A_206F_206E_200F_200D_206F_202B_206F_200D_202D_202C_206E_200D_206A_206B_200F_200C_206C_202E(builder, 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(1577352017)); - num = -1015769128; - break; - } - } - } - - [CompilerGenerated] - public bool Equals(MountReward? other) - { - int num = (((object)this == other) ? (-1601021370) : (-1601021371)); - while (true) - { - int num2 = num; - int num3 = -1601021370; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return true; - case 4: - return EqualityComparer.Default.Equals(MountId, other.MountId); - case 3: - num = ((!base.Equals(other)) ? (-1601021369) : (-1601021374)); - break; - case 1: - return false; - case 2: - num = -1601021371; - break; - } - } - } - - bool IEquatable.Equals(MountReward? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); + return PlayerStateHelper.IsMountUnlocked(MountId); } [CompilerGenerated] @@ -132,39 +26,4 @@ public sealed record MountReward : ItemReward Item = base.Item; MountId = this.MountId; } - - static Type _206D_202C_202E_200B_200D_202D_206B_202D_202A_202B_200E_206F_202A_202D_202E_202E_206F_206A_202C_200D_200B_206B_206C_202E_206F_206A_206B_206C_202E_206E_200B_200B_206D_202D_206C_206D_200F_202E_202E_206E_202E(RuntimeTypeHandle P_0) - { - return System.Type.GetTypeFromHandle(P_0); - } - - static bool _200D_202C_200F_206D_200D_206C_202C_206D_206D_202B_200E_202D_200C_200F_206D_206C_202A_200E_202C_200B_202B_202C_202E_206C_206B_200D_206A_200D_200F_200F_206E_200B_202A_206C_200C_206C_202B_202D_206C_200C_202E(uint P_0) - { - return PlayerStateHelper.IsMountUnlocked(P_0); - } - - static StringBuilder _202D_200C_206B_202C_202C_206A_200F_200B_200B_206A_200F_202C_206C_200B_206A_200E_206D_200B_202E_206F_200F_202E_202B_202D_206F_206E_206A_202B_202A_200C_202A_202C_202A_206B_202D_202E_206D_206C_202C_200E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200C_206F_202A_202A_200C_202B_200C_206A_200B_206D_200E_202D_202E_200C_202C_206B_202C_206D_206D_202E_200B_202B_206A_206F_206E_200F_200D_206F_202B_206F_200D_202D_202C_206E_200D_206A_206B_200F_200C_206C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206A_206E_206D_200B_202D_206E_202B_206E_202E_202B_200F_202C_200F_200B_202C_206F_202B_206D_206B_206B_202D_200E_206E_200D_200C_206C_202C_202D_206C_206C_202B_200D_202E_202B_206C_206E_200C_202C_202A_200C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202C_202B_206F_206B_200D_206E_206D_206A_202C_206E_200F_200E_202E_200F_202A_206D_206B_202E_200D_202D_200D_200E_202B_200F_200C_202D_206D_200F_200C_206B_200B_200B_200C_200F_202C_200D_202D_206C_200F_206C_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _200F_206F_202E_206F_202D_202D_202A_200E_206A_202D_206B_200C_202B_200F_206A_202D_206F_206E_206D_202E_200F_206E_206D_206A_202E_206C_206E_200D_200F_202A_206B_206F_200F_200B_206C_200D_200C_202B_202C_200C_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } } diff --git a/Questionable/Questionable.Model/OrchestrionRollReward.cs b/Questionable/Questionable.Model/OrchestrionRollReward.cs index 09b33bf..6c4cba3 100644 --- a/Questionable/Questionable.Model/OrchestrionRollReward.cs +++ b/Questionable/Questionable.Model/OrchestrionRollReward.cs @@ -1,23 +1,10 @@ -using System; -using System.Collections.Generic; using System.Runtime.CompilerServices; -using System.Text; using LLib.GameData; namespace Questionable.Model; public sealed record OrchestrionRollReward : ItemReward { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _202C_206E_202D_206E_206A_206B_200B_206B_202D_202B_206E_200D_200B_200F_200E_206F_202E_202D_200B_202A_200B_202E_200D_206E_200E_200D_202D_200E_200C_202D_206E_202E_206C_202B_200E_202E_206C_202A_200F_202B_202E(typeof(OrchestrionRollReward).TypeHandle); - } - } - public uint OrchestrionRollId { get; init; } public override EItemRewardType Type => EItemRewardType.OrchestrionRoll; @@ -30,100 +17,7 @@ public sealed record OrchestrionRollReward : ItemReward public override bool IsUnlocked() { - return _200D_202D_206B_206A_206E_200F_206C_200C_202D_202C_200F_206F_206B_200C_200F_206E_200C_202C_202D_206D_202B_200C_200B_206C_206D_202E_206F_200D_200F_200B_206D_202C_206B_206E_200D_202E_202E_200C_202E_200E_202E(OrchestrionRollId); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202E_206F_206B_200E_202D_200E_202D_202C_206A_200E_200E_200C_202E_206E_202E_200E_202D_202D_202E_206A_200B_206E_202E_206A_206D_206B_206A_202D_200D_202A_200F_202E_202C_206F_206A_200E_206A_206C_202D_202B_202E(); - _202B_200B_206E_206B_206C_202D_202A_202C_206F_206E_206F_206C_206A_206D_202E_206C_206B_202B_202A_200C_206A_206C_206F_206E_200B_202E_206E_206A_206B_202D_206C_206E_202E_200D_200D_206E_206F_206A_200E_202E_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(117582114)); - _202B_200B_206E_206B_206C_202D_202A_202C_206F_206E_206F_206C_206A_206D_202E_206C_206B_202B_202A_200C_206A_206C_206F_206E_200B_202E_206E_206A_206B_202D_206C_206E_202E_200D_200D_206E_206F_206A_200E_202E_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1344697862)); - int num = ((!PrintMembers(stringBuilder)) ? (-970373537) : (-970373540)); - while (true) - { - int num2 = num; - int num3 = -970373539; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - _200D_202D_206C_206B_206E_202B_206A_200E_200D_202C_200F_200F_200F_200F_206B_200D_200D_206A_202D_206D_206D_202B_200B_202E_206D_206C_200C_202C_206D_206E_200D_200F_206B_202B_206C_206A_202B_206E_206C_202B_202E(stringBuilder, '}'); - return _206A_206B_206A_200B_206A_202C_206B_200B_206B_206A_206A_206F_202B_200D_200C_206D_200D_206A_200B_200F_202A_200F_206A_206F_206E_206A_200B_206F_202B_200C_202C_202C_202C_206F_200E_202A_200E_200F_200F_202A_202E((object)stringBuilder); - case 1: - _200D_202D_206C_206B_206E_202B_206A_200E_200D_202C_200F_200F_200F_200F_206B_200D_200D_206A_202D_206D_206D_202B_200B_202E_206D_206C_200C_202C_206D_206E_200D_200F_206B_202B_206C_206A_202B_206E_206C_202B_202E(stringBuilder, ' '); - num = -970373537; - break; - case 0: - num = -970373540; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected override bool PrintMembers(StringBuilder builder) - { - int num = ((!base.PrintMembers(builder)) ? 1843073855 : 1843073852); - while (true) - { - int num2 = num; - int num3 = 1843073853; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - _202B_200B_206E_206B_206C_202D_202A_202C_206F_206E_206F_206C_206A_206D_202E_206C_206B_202B_202A_200C_206A_206C_206F_206E_200B_202E_206E_206A_206B_202D_206C_206E_202E_200D_200D_206E_206F_206A_200E_202E_202E(builder, 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(463107182)); - _202B_200B_206E_206B_206C_202D_202A_202C_206F_206E_206F_206C_206A_206D_202E_206C_206B_202B_202A_200C_206A_206C_206F_206E_200B_202E_206E_206A_206B_202D_206C_206E_202E_200D_200D_206E_206F_206A_200E_202E_202E(builder, OrchestrionRollId.ToString()); - return true; - case 1: - _202B_200B_206E_206B_206C_202D_202A_202C_206F_206E_206F_206C_206A_206D_202E_206C_206B_202B_202A_200C_206A_206C_206F_206E_200B_202E_206E_206A_206B_202D_206C_206E_202E_200D_200D_206E_206F_206A_200E_202E_202E(builder, 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(-1095822044)); - num = 1843073855; - break; - case 0: - num = 1843073852; - break; - } - } - } - - [CompilerGenerated] - public bool Equals(OrchestrionRollReward? other) - { - int num = (((object)this == other) ? 1522339869 : 1522339870); - while (true) - { - int num2 = num; - int num3 = 1522339868; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1522339870; - break; - case 1: - return true; - case 2: - num = ((!base.Equals(other)) ? 1522339871 : 1522339864); - break; - case 3: - return false; - case 4: - return EqualityComparer.Default.Equals(OrchestrionRollId, other.OrchestrionRollId); - } - } - } - - bool IEquatable.Equals(OrchestrionRollReward? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); + return PlayerStateHelper.IsOrchestrionRollUnlocked(OrchestrionRollId); } [CompilerGenerated] @@ -132,39 +26,4 @@ public sealed record OrchestrionRollReward : ItemReward Item = base.Item; OrchestrionRollId = this.OrchestrionRollId; } - - static Type _202C_206E_202D_206E_206A_206B_200B_206B_202D_202B_206E_200D_200B_200F_200E_206F_202E_202D_200B_202A_200B_202E_200D_206E_200E_200D_202D_200E_200C_202D_206E_202E_206C_202B_200E_202E_206C_202A_200F_202B_202E(RuntimeTypeHandle P_0) - { - return System.Type.GetTypeFromHandle(P_0); - } - - static bool _200D_202D_206B_206A_206E_200F_206C_200C_202D_202C_200F_206F_206B_200C_200F_206E_200C_202C_202D_206D_202B_200C_200B_206C_206D_202E_206F_200D_200F_200B_206D_202C_206B_206E_200D_202E_202E_200C_202E_200E_202E(uint P_0) - { - return PlayerStateHelper.IsOrchestrionRollUnlocked(P_0); - } - - static StringBuilder _202E_206F_206B_200E_202D_200E_202D_202C_206A_200E_200E_200C_202E_206E_202E_200E_202D_202D_202E_206A_200B_206E_202E_206A_206D_206B_206A_202D_200D_202A_200F_202E_202C_206F_206A_200E_206A_206C_202D_202B_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202B_200B_206E_206B_206C_202D_202A_202C_206F_206E_206F_206C_206A_206D_202E_206C_206B_202B_202A_200C_206A_206C_206F_206E_200B_202E_206E_206A_206B_202D_206C_206E_202E_200D_200D_206E_206F_206A_200E_202E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200D_202D_206C_206B_206E_202B_206A_200E_200D_202C_200F_200F_200F_200F_206B_200D_200D_206A_202D_206D_206D_202B_200B_202E_206D_206C_200C_202C_206D_206E_200D_200F_206B_202B_206C_206A_202B_206E_206C_202B_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206A_206B_206A_200B_206A_202C_206B_200B_206B_206A_206A_206F_202B_200D_200C_206D_200D_206A_200B_200F_202A_200F_206A_206F_206E_206A_200B_206F_202B_200C_202C_202C_202C_206F_200E_202A_200E_200F_200F_202A_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _206A_202D_206C_200D_206F_206B_202C_206F_202B_200B_202B_202C_202B_202A_206A_202B_200D_206C_200F_206A_206D_200F_200F_202A_206D_202A_202E_200E_200B_202E_202D_200B_202C_206B_206A_200F_200F_206D_206C_200C_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } } diff --git a/Questionable/Questionable.Model/PreviousQuestInfo.cs b/Questionable/Questionable.Model/PreviousQuestInfo.cs index 5dec1b6..302a32e 100644 --- a/Questionable/Questionable.Model/PreviousQuestInfo.cs +++ b/Questionable/Questionable.Model/PreviousQuestInfo.cs @@ -1,140 +1,5 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using Questionable.Model.Questing; namespace Questionable.Model; -internal sealed record PreviousQuestInfo(QuestId QuestId, byte Sequence = 0) -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200C_200B_200C_200F_200E_200F_200B_206E_202A_200D_202D_206B_206D_206D_202B_206E_206A_200F_206F_200B_202B_200C_206B_202C_200E_206C_200E_202E_200D_206D_200F_206E_206F_200D_202B_206F_202D_202C_202A_206E_202E(typeof(PreviousQuestInfo).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206F_200F_202A_200E_206A_200E_202B_202D_200C_202E_200C_202A_206B_206E_200F_200D_206A_202B_206D_200D_202B_206E_206F_206F_202B_202A_200D_200C_200C_206D_206F_202C_200C_206F_206C_206E_200B_202E_206D_200D_202E(); - _202E_200C_206D_202C_206E_200B_202A_200E_200E_200D_200D_202D_202A_202D_200C_200D_202A_202C_200B_206D_200F_202B_202E_206B_200D_202C_202E_206D_202A_206C_200C_202E_206E_202B_200F_206B_200F_200E_202E_206E_202E(stringBuilder, 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(332491426)); - _202E_200C_206D_202C_206E_200B_202A_200E_200E_200D_200D_202D_202A_202D_200C_200D_202A_202C_200B_206D_200F_202B_202E_206B_200D_202C_202E_206D_202A_206C_200C_202E_206E_202B_200F_206B_200F_200E_202E_206E_202E(stringBuilder, 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(117284107)); - int num = ((!PrintMembers(stringBuilder)) ? 713400625 : 713400626); - while (true) - { - int num2 = num; - int num3 = 713400627; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 713400626; - break; - case 1: - _200E_202C_200F_202D_206E_202C_206B_202D_206D_206C_200F_200B_206A_200C_202D_200D_206E_206E_206F_206B_206E_206F_206C_206E_206B_206E_200E_200E_202C_202C_202A_202C_200E_202C_202B_206D_202D_202A_202E_200F_202E(stringBuilder, ' '); - num = 713400625; - break; - case 2: - _200E_202C_200F_202D_206E_202C_206B_202D_206D_206C_200F_200B_206A_200C_202D_200D_206E_206E_206F_206B_206E_206F_206C_206E_206B_206E_200E_200E_202C_202C_202A_202C_200E_202C_202B_206D_202D_202A_202E_200F_202E(stringBuilder, '}'); - return _200D_200B_200B_202C_202C_206A_206D_200C_200E_200D_206E_206A_202A_206B_200F_206F_200C_206D_202A_200C_200C_202A_206C_202C_206A_206B_200C_200D_206F_202D_200F_202B_200E_206B_200F_206A_200F_200F_206B_202C_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206D_200B_206D_200D_202E_206D_200E_202E_202A_202C_206C_200F_206D_202B_200F_206E_200B_200E_200B_200E_200F_206E_206C_202B_200D_202B_200B_206F_200D_200C_206D_206D_206D_202C_202E_206A_206C_202D_200B_202B_202E(); - _202E_200C_206D_202C_206E_200B_202A_200E_200E_200D_200D_202D_202A_202D_200C_200D_202A_202C_200B_206D_200F_202B_202E_206B_200D_202C_202E_206D_202A_206C_200C_202E_206E_202B_200F_206B_200F_200E_202E_206E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2228577)); - _200C_200E_206B_200D_206F_206B_200C_206A_206A_206D_206C_202A_202A_200F_202A_206C_200F_200D_200C_202C_206E_206E_200B_206B_206D_202B_202C_206C_200B_202A_206F_202B_200B_202D_200D_202A_200E_206D_200B_206A_202E(builder, (object)QuestId); - _202E_200C_206D_202C_206E_200B_202A_200E_200E_200D_200D_202D_202A_202D_200C_200D_202A_202C_200B_206D_200F_202B_202E_206B_200D_202C_202E_206D_202A_206C_200C_202E_206E_202B_200F_206B_200F_200E_202E_206E_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-327076954)); - _202E_200C_206D_202C_206E_200B_202A_200E_200E_200D_200D_202D_202A_202D_200C_200D_202A_202C_200B_206D_200F_202B_202E_206B_200D_202C_202E_206D_202A_206C_200C_202E_206E_202B_200F_206B_200F_200E_202E_206E_202E(builder, Sequence.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(PreviousQuestInfo? other) - { - int num = (((object)this == other) ? (-684084045) : (-684084046)); - while (true) - { - int num2 = num; - int num3 = -684084048; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - num = ((!_202E_206F_200F_202C_202C_206B_206E_200F_206F_200E_206A_200B_202A_200E_202B_200C_206E_200C_200D_206A_200E_200E_206A_202A_200E_200C_202A_200D_200F_206A_206F_200B_200D_202A_206D_206B_200D_206C_206D_206E_202E(EqualityContract, other.EqualityContract)) ? (-684084044) : (-684084047)); - break; - case 0: - return EqualityComparer.Default.Equals(Sequence, other.Sequence); - case 4: - return false; - case 5: - num = -684084046; - break; - case 2: - num = (((object)other == null) ? (-684084044) : (-684084042)); - break; - case 3: - return true; - case 1: - num = ((!EqualityComparer.Default.Equals(QuestId, other.QuestId)) ? (-684084044) : (-684084048)); - break; - } - } - } - - bool IEquatable.Equals(PreviousQuestInfo? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200C_200B_200C_200F_200E_200F_200B_206E_202A_200D_202D_206B_206D_206D_202B_206E_206A_200F_206F_200B_202B_200C_206B_202C_200E_206C_200E_202E_200D_206D_200F_206E_206F_200D_202B_206F_202D_202C_202A_206E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206F_200F_202A_200E_206A_200E_202B_202D_200C_202E_200C_202A_206B_206E_200F_200D_206A_202B_206D_200D_202B_206E_206F_206F_202B_202A_200D_200C_200C_206D_206F_202C_200C_206F_206C_206E_200B_202E_206D_200D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202E_200C_206D_202C_206E_200B_202A_200E_200E_200D_200D_202D_202A_202D_200C_200D_202A_202C_200B_206D_200F_202B_202E_206B_200D_202C_202E_206D_202A_206C_200C_202E_206E_202B_200F_206B_200F_200E_202E_206E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200E_202C_200F_202D_206E_202C_206B_202D_206D_206C_200F_200B_206A_200C_202D_200D_206E_206E_206F_206B_206E_206F_206C_206E_206B_206E_200E_200E_202C_202C_202A_202C_200E_202C_202B_206D_202D_202A_202E_200F_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200D_200B_200B_202C_202C_206A_206D_200C_200E_200D_206E_206A_202A_206B_200F_206F_200C_206D_202A_200C_200C_202A_206C_202C_206A_206B_200C_200D_206F_202D_200F_202B_200E_206B_200F_206A_200F_200F_206B_202C_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206D_200B_206D_200D_202E_206D_200E_202E_202A_202C_206C_200F_206D_202B_200F_206E_200B_200E_200B_200E_200F_206E_206C_202B_200D_202B_200B_206F_200D_200C_206D_206D_206D_202C_202E_206A_206C_202D_200B_202B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200C_200E_206B_200D_206F_206B_200C_206A_206A_206D_206C_202A_202A_200F_202A_206C_200F_200D_200C_202C_206E_206E_200B_206B_206D_202B_202C_206C_200B_202A_206F_202B_200B_202D_200D_202A_200E_206D_200B_206A_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202E_206F_200F_202C_202C_206B_206E_200F_206F_200E_206A_200B_202A_200E_202B_200C_206E_200C_200D_206A_200E_200E_206A_202A_200E_200C_202A_200D_200F_206A_206F_200B_200D_202A_206D_206B_200D_206C_206D_206E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +internal sealed record PreviousQuestInfo(QuestId QuestId, byte Sequence = 0); diff --git a/Questionable/Questionable.Model/Quest.cs b/Questionable/Questionable.Model/Quest.cs index 43f206d..bd4a0b3 100644 --- a/Questionable/Questionable.Model/Quest.cs +++ b/Questionable/Questionable.Model/Quest.cs @@ -1,9 +1,5 @@ -using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Linq; -using System.Runtime.CompilerServices; using Questionable.Model.Questing; namespace Questionable.Model; @@ -17,268 +13,6 @@ internal sealed class Quest UserDirectory } - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass20_0 - { - public byte currentSequence; - - internal bool _003CFindSequence_003Eb__0(QuestSequence seq) - { - return _202C_202A_202B_202A_202E_202A_206F_202D_206B_200B_206D_206C_202E_206B_206B_202B_200B_202A_200C_206A_202C_202E_200F_206D_202B_200D_200F_202C_206D_202E_200F_206C_200E_202B_200B_202E_202E_202E_206D_200E_202E(seq) == currentSequence; - } - - static byte _202C_202A_202B_202A_202E_202A_206F_202D_206B_200B_206D_206C_202E_206B_206B_202B_200B_202A_200C_206A_202C_202E_200F_206D_202B_200D_200F_202C_206D_202E_200F_206C_200E_202B_200B_202E_202E_202E_206D_200E_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - } - - [CompilerGenerated] - private sealed class _003CAllSteps_003Ed__22 : IEnumerable<(QuestSequence Sequence, int StepId, QuestStep Step)>, IEnumerable, IEnumerator<(QuestSequence Sequence, int StepId, QuestStep Step)>, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private (QuestSequence Sequence, int StepId, QuestStep Step) _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - public Quest _003C_003E4__this; - - private List.Enumerator _003C_003E7__wrap1; - - private QuestSequence _003Csequence_003E5__3; - - private int _003Ci_003E5__4; - - (QuestSequence Sequence, int StepId, QuestStep Step) IEnumerator<(QuestSequence, int, QuestStep)>.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CAllSteps_003Ed__22(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _200B_200D_202E_206B_206E_200C_202D_206E_206E_200E_206B_206B_202A_206F_202C_202D_206B_202D_200E_200E_206F_202C_206A_206D_202B_202C_202A_200C_202A_206E_202E_206A_200D_206F_200C_206C_206C_206A_206E_202C_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = ((num == -3) ? 529079118 : 529079117); - while (true) - { - int num3 = num2; - int num4 = 529079116; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - default: - continue; - case 0: - num2 = 529079117; - continue; - case 1: - if (num == 1) - { - num2 = 529079118; - continue; - } - break; - case 2: - try - { - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003C_003E7__wrap1 = default(List.Enumerator); - _003Csequence_003E5__3 = null; - _003C_003E1__state = -2; - } - - private bool MoveNext() - { - try - { - int num = _003C_003E1__state; - Quest quest = _003C_003E4__this; - int num2 = ((num == 0) ? 1702961478 : 1702961473); - while (true) - { - int num3 = num2; - int num4 = 1702961479; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 3: - return false; - case 6: - num2 = ((num == 1) ? 1702961487 : 1702961476); - break; - case 5: - _003Csequence_003E5__3 = null; - num2 = 1702961472; - break; - case 7: - num2 = (_003C_003E7__wrap1.MoveNext() ? 1702961479 : 1702961475); - break; - case 9: - { - QuestStep item = _200E_202C_202A_206A_202A_200E_202B_200D_206B_206D_202B_200D_202A_206C_206C_202D_206A_200C_202C_206D_206E_206C_206B_206C_206E_202B_206C_206D_206F_200B_200E_206C_202B_206A_206A_202A_202A_206C_200C_206A_202E(_003Csequence_003E5__3)[_003Ci_003E5__4]; - _003C_003E2__current = (Sequence: _003Csequence_003E5__3, StepId: _003Ci_003E5__4, Step: item); - _003C_003E1__state = 1; - return true; - } - case 2: - num2 = ((_003Ci_003E5__4 < _200E_202C_202A_206A_202A_200E_202B_200D_206B_206D_202B_200D_202A_206C_206C_202D_206A_200C_202C_206D_206E_206C_206B_206C_206E_202B_206C_206D_206F_200B_200E_206C_202B_206A_206A_202A_202A_206C_200C_206A_202E(_003Csequence_003E5__3).Count) ? 1702961486 : 1702961474); - break; - case 0: - _003Csequence_003E5__3 = _003C_003E7__wrap1.Current; - _003Ci_003E5__4 = 0; - num2 = 1702961477; - break; - case 10: - num2 = 1702961473; - break; - case 1: - _003C_003E1__state = -1; - _003C_003E7__wrap1 = _202E_202A_206D_202E_200B_200F_200B_206A_206D_202E_202B_202A_200B_200D_202C_202C_200D_202D_202C_206F_200E_202C_200E_206D_202C_202A_206F_206E_202A_206E_202D_200C_200C_200D_200C_206E_200D_202E_206C_206E_202E(quest.Root).GetEnumerator(); - _003C_003E1__state = -3; - num2 = 1702961472; - break; - case 8: - { - _003C_003E1__state = -3; - int num8 = _003Ci_003E5__4; - num4 = 1; - num5 = num8; - int num9 = num5 ^ num4; - int num10 = num5 & num4; - int num11 = num9 + (num10 + num10); - _003Ci_003E5__4 = num11; - num2 = 1702961477; - break; - } - case 4: - _003C_003Em__Finally1(); - _003C_003E7__wrap1 = default(List.Enumerator); - return false; - } - } - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - ((IDisposable)_003C_003E7__wrap1/*cast due to .constrained prefix*/).Dispose(); - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _202A_206B_200E_202E_206B_206B_206C_202E_200F_200D_200C_206F_200C_206E_202E_200F_200D_202E_200D_206E_206F_202A_202D_202A_206D_202C_206F_206A_202D_206F_206C_200D_200B_202B_202E_206D_202B_206B_206F_206B_202E(); - } - - [DebuggerHidden] - IEnumerator<(QuestSequence Sequence, int StepId, QuestStep Step)> IEnumerable<(QuestSequence, int, QuestStep)>.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? 329781790 : 329781784); - _003CAllSteps_003Ed__22 result = default(_003CAllSteps_003Ed__22); - while (true) - { - int num2 = num; - int num3 = 329781788; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - return result; - case 2: - result = new _003CAllSteps_003Ed__22(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = 329781791; - break; - case 0: - num = 329781784; - break; - case 4: - num = ((_003C_003El__initialThreadId != _200B_200D_202E_206B_206E_200C_202D_206E_206E_200E_206B_206B_202A_206F_202C_202D_206B_202D_200E_200E_206F_202C_206A_206D_202B_202C_202A_200C_202A_206E_202E_206A_200D_206F_200C_206C_206C_206A_206E_202C_202E()) ? 329781790 : 329781789); - break; - case 1: - _003C_003E1__state = 0; - result = this; - num = 329781791; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable<(QuestSequence, int, QuestStep)>)this).GetEnumerator(); - } - - static int _200B_200D_202E_206B_206E_200C_202D_206E_206E_200E_206B_206B_202A_206F_202C_202D_206B_202D_200E_200E_206F_202C_206A_206D_202B_202C_202A_200C_202A_206E_202E_206A_200D_206F_200C_206C_206C_206A_206E_202C_202E() - { - return Environment.CurrentManagedThreadId; - } - - static List _202E_202A_206D_202E_200B_200F_200B_206A_206D_202E_202B_202A_200B_200D_202C_202C_200D_202D_202C_206F_200E_202C_200E_206D_202C_202A_206F_206E_202A_206E_202D_200C_200C_200D_200C_206E_200D_202E_206C_206E_202E(QuestRoot P_0) - { - return P_0.QuestSequence; - } - - static List _200E_202C_202A_206A_202A_200E_202B_200D_206B_206D_202B_200D_202A_206C_206C_202D_206A_200C_202C_206D_206E_206C_206B_206C_206E_202B_206C_206D_206F_200B_200E_206C_202B_206A_206A_202A_202A_206C_200C_206A_202E(QuestSequence P_0) - { - return P_0.Steps; - } - - static NotSupportedException _202A_206B_200E_202E_206B_206B_206C_202E_200F_200D_200C_206F_200C_206E_202E_200F_200D_202E_200D_206E_206F_202A_202D_202A_206D_202C_206F_206A_202D_206F_206C_200D_200B_202B_202E_206D_202B_206B_206F_206B_202E() - { - return new NotSupportedException(); - } - } - public required ElementId Id { get; init; } public required QuestRoot Root { get; init; } @@ -291,26 +25,26 @@ internal sealed class Quest public QuestSequence? FindSequence(byte currentSequence) { - return _206A_206C_206A_200B_200F_206F_206C_200F_206C_200C_200C_206F_200F_206B_200F_202D_206A_200D_206C_206E_206D_200C_200D_202B_202B_200B_206C_202D_202A_206F_206F_200E_206D_200D_202E_202A_202C_200F_200D_200F_202E(Root).FirstOrDefault((QuestSequence seq) => _003C_003Ec__DisplayClass20_0._202C_202A_202B_202A_202E_202A_206F_202D_206B_200B_206D_206C_202E_206B_206B_202B_200B_202A_200C_206A_202C_202E_200F_206D_202B_200D_200F_202C_206D_202E_200F_206C_200E_202B_200B_202E_202E_202E_206D_200E_202E(seq) == currentSequence); + return Root.QuestSequence.FirstOrDefault((QuestSequence seq) => seq.Sequence == currentSequence); } public IEnumerable AllSequences() { - return _206A_206C_206A_200B_200F_206F_206C_200F_206C_200C_200C_206F_200F_206B_200F_202D_206A_200D_206C_206E_206D_200C_200D_202B_202B_200B_206C_202D_202A_206F_206F_200E_206D_200D_202E_202A_202C_200F_200D_200F_202E(Root); + return Root.QuestSequence; } - [IteratorStateMachine(typeof(_003CAllSteps_003Ed__22))] public IEnumerable<(QuestSequence Sequence, int StepId, QuestStep Step)> AllSteps() { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CAllSteps_003Ed__22(-2) + foreach (QuestSequence sequence in Root.QuestSequence) { - _003C_003E4__this = this - }; - } - - static List _206A_206C_206A_200B_200F_206F_206C_200F_206C_200C_200C_206F_200F_206B_200F_202D_206A_200D_206C_206E_206D_200C_200D_202B_202B_200B_206C_202D_202A_206F_206F_200E_206D_200D_202E_202A_202C_200F_200D_200F_202E(QuestRoot P_0) - { - return P_0.QuestSequence; + int i = 0; + while (i < sequence.Steps.Count) + { + QuestStep item = sequence.Steps[i]; + yield return (Sequence: sequence, StepId: i, Step: item); + int num = i + 1; + i = num; + } + } } } diff --git a/Questionable/Questionable.Model/QuestInfo.cs b/Questionable/Questionable.Model/QuestInfo.cs index e4b8e7a..4c84c06 100644 --- a/Questionable/Questionable.Model/QuestInfo.cs +++ b/Questionable/Questionable.Model/QuestInfo.cs @@ -2,7 +2,6 @@ using System; using System.Collections.Generic; using System.Collections.Immutable; using System.Linq; -using System.Runtime.CompilerServices; using FFXIVClientStructs.FFXIV.Client.UI.Agent; using LLib.GameData; using Lumina.Excel; @@ -13,134 +12,6 @@ namespace Questionable.Model; internal sealed class QuestInfo : IQuestInfo { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__0_0; - - public static Func, QuestId> _003C_003E9__0_1; - - public static Func _003C_003E9__0_2; - - public static Func, ushort> _003C_003E9__0_3; - - public static Func _003C_003E9__0_4; - - public static Func _003C_003E9__0_5; - - public static Func _003C_003E9__0_6; - - public static Func _003C_003E9__0_7; - - public static Func, bool> _003C_003E9__0_8; - - public static Func, Item?> _003C_003E9__0_9; - - public static Func _003C_003E9__0_10; - - public static Func _003C_003E9__0_11; - - public static Func _003C_003E9__0_13; - - internal bool _003C_002Ector_003Eb__0_0(PreviousQuestInfo x) - { - return _206E_200E_202A_200F_200F_206C_202E_206C_200E_202E_206B_206F_206E_206D_200F_202E_206E_206C_202E_202B_200C_202E_202D_206E_206A_206B_200E_200E_200D_202D_202E_200B_202C_206D_200C_206A_200B_206D_202C_206B_202E((ElementId)x.QuestId) != 0; - } - - internal QuestId _003C_002Ector_003Eb__0_1(RowRef x) - { - return _202C_202A_200E_206B_202E_202B_200F_200E_200B_206B_206F_200C_206A_206A_200D_200C_202C_206B_206A_200B_206B_200F_206B_200B_202A_206F_202D_200D_206D_200C_200E_200C_200F_206B_202A_202E_202C_206F_202E_206D_202E(x.RowId); - } - - internal bool _003C_002Ector_003Eb__0_2(QuestId x) - { - return _206E_200E_202A_200F_200F_206C_202E_206C_200E_202E_206B_206F_206E_206D_200F_202E_206E_206C_202E_202B_200C_202E_202D_206E_206A_206B_200E_200E_200D_202D_202E_200B_202C_206D_200C_206A_200B_206D_202C_206B_202E((ElementId)x) != 0; - } - - internal ushort _003C_002Ector_003Eb__0_3(RowRef x) - { - return (ushort)x.RowId; - } - - internal bool _003C_002Ector_003Eb__0_4(ushort x) - { - return x != 0; - } - - internal bool _003C_002Ector_003Eb__0_5(RowRef x) - { - int num = ((x.RowId == 0) ? 461820485 : 461820486); - while (true) - { - int num2 = num; - int num3 = 461820484; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004a; - case 1: - return false; - case 2: - return x.Is(); - } - continue; - IL_004a: - num = 461820486; - } - } - - internal Item? _003C_002Ector_003Eb__0_6(RowRef x) - { - return x.GetValueOrDefault(); - } - - internal bool _003C_002Ector_003Eb__0_7(Item? x) - { - return x.HasValue; - } - - internal bool _003C_002Ector_003Eb__0_8(RowRef x) - { - return x.RowId != 0; - } - - internal Item? _003C_002Ector_003Eb__0_9(RowRef x) - { - return x.ValueNullable; - } - - internal bool _003C_002Ector_003Eb__0_10(Item? x) - { - return x.HasValue; - } - - internal Item _003C_002Ector_003Eb__0_11(Item? x) - { - return x.Value; - } - - internal bool _003C_002Ector_003Eb__0_13(ItemReward x) - { - return x != null; - } - - static ushort _206E_200E_202A_200F_200F_206C_202E_206C_200E_202E_206B_206F_206E_206D_200F_202E_206E_206C_202E_202B_200C_202E_202D_206E_206A_206B_200E_200E_200D_202D_202E_200B_202C_206D_200C_206A_200B_206D_202C_206B_202E(ElementId P_0) - { - return P_0.Value; - } - - static QuestId _202C_202A_200E_206B_202E_202B_200F_200E_200B_206B_206F_200C_206A_206A_200D_200C_202C_206B_206A_200B_206B_200F_206B_200B_202A_206F_202D_200D_206D_200C_200E_200C_200F_206B_202A_202E_202C_206F_202E_206D_202E(uint P_0) - { - return Questionable.Model.Questing.QuestId.FromRowId(P_0); - } - } - public ElementId QuestId { get; } public string Name { get; } @@ -197,117 +68,40 @@ internal sealed class QuestInfo : IQuestInfo public bool IsSeasonalQuest { get; internal set; } - [MethodImpl(MethodImplOptions.NoInlining)] public QuestInfo(Lumina.Excel.Sheets.Quest quest, uint newGamePlusChapter, byte startingCity, bool isSeasonalEventQuest = false, DateTime? seasonalQuestExpiry = null) { - QuestId = _206F_206F_202C_200D_200C_206D_206A_200D_206A_202A_202C_200C_206E_200F_206D_206F_206C_200C_202E_206E_202D_202D_202A_200D_200E_200D_200E_200B_200C_202D_200F_200E_200C_202A_200B_202A_200F_206D_202C_202E_202E(quest.RowId); - ushort num = _200E_206E_206F_200C_202C_206A_200F_206B_206A_206B_206B_202D_206A_202B_200F_206D_206F_200D_206D_202A_206A_206D_202E_206D_202D_200C_202A_202D_200D_200D_202C_200C_202A_206D_206C_206B_206A_202B_206F_202A_202E(QuestId); - string text; - if ((uint)num <= 123u) + QuestId = Questionable.Model.Questing.QuestId.FromRowId(quest.RowId); + string value = QuestId.Value switch { - if ((uint)num <= 108u) - { - if (num != 85) - { - if (num != 108) - { - goto IL_01b2; - } - text = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-710232599); - } - else - { - text = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-112345390); - } - } - else if (num != 109) - { - if (num != 123) - { - goto IL_01b2; - } - text = 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(-1425643080); - } - else - { - text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-74132824); - } - } - else if ((uint)num <= 570u) - { - if (num != 124) - { - int num2 = 568; - int num3 = num; - switch (~(~num3 + num2)) - { - case 0: - break; - case 1: - goto IL_0142; - case 2: - goto IL_0152; - default: - goto IL_01b2; - } - text = 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(-990183056); - } - else - { - text = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1094754462); - } - } - else if (num != 673) - { - if (num != 674) - { - int num2 = 1432; - int num3 = num; - switch (~(~num3 + num2)) - { - case 0: - break; - case 1: - goto IL_0192; - case 2: - goto IL_01a2; - default: - goto IL_01b2; - } - text = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-755758949); - } - else - { - text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(894839759); - } - } - else - { - text = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1214228773); - } - goto IL_01bd; - IL_0192: - text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(842512297); - goto IL_01bd; - IL_0152: - text = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1604495935); - goto IL_01bd; - IL_01bd: - string value = text; + 85 => " (Lancer)", + 108 => " (Marauder)", + 109 => " (Arcanist)", + 123 => " (Archer)", + 124 => " (Conjurer)", + 568 => " (Gladiator)", + 569 => " (Pugilist)", + 570 => " (Thaumaturge)", + 673 => " (Ul'dah)", + 674 => " (Limsa/Gridania)", + 1432 => " (Gridania)", + 1433 => " (Limsa)", + 1434 => " (Ul'dah)", + _ => "", + }; Name = $"{quest.Name}{value}"; Level = quest.ClassJobLevel[0]; IssuerDataId = quest.IssuerStart.RowId; IsRepeatable = quest.IsRepeatable; PreviousQuests = new List { - new PreviousQuestInfo(ReplaceOldQuestIds(_206F_206F_202C_200D_200C_206D_206A_200D_206A_202A_202C_200C_206E_200F_206D_206F_206C_200C_202E_206E_202D_202D_202A_200D_200E_200D_200E_200B_200C_202D_200F_200E_200C_202A_200B_202A_200F_206D_202C_202E_202E(quest.PreviousQuest[0].RowId)), quest.Unknown7), - new PreviousQuestInfo(ReplaceOldQuestIds(_206F_206F_202C_200D_200C_206D_206A_200D_206A_202A_202C_200C_206E_200F_206D_206F_206C_200C_202E_206E_202D_202D_202A_200D_200E_200D_200E_200B_200C_202D_200F_200E_200C_202A_200B_202A_200F_206D_202C_202E_202E(quest.PreviousQuest[1].RowId)), 0), - new PreviousQuestInfo(ReplaceOldQuestIds(_206F_206F_202C_200D_200C_206D_206A_200D_206A_202A_202C_200C_206E_200F_206D_206F_206C_200C_202E_206E_202D_202D_202A_200D_200E_200D_200E_200B_200C_202D_200F_200E_200C_202A_200B_202A_200F_206D_202C_202E_202E(quest.PreviousQuest[2].RowId)), 0) - }.Where((PreviousQuestInfo x) => _003C_003Ec._206E_200E_202A_200F_200F_206C_202E_206C_200E_202E_206B_206F_206E_206D_200F_202E_206E_206C_202E_202B_200C_202E_202D_206E_206A_206B_200E_200E_200D_202D_202E_200B_202C_206D_200C_206A_200B_206D_202C_206B_202E((ElementId)x.QuestId) != 0).ToImmutableList(); + new PreviousQuestInfo(ReplaceOldQuestIds(Questionable.Model.Questing.QuestId.FromRowId(quest.PreviousQuest[0].RowId)), quest.Unknown7), + new PreviousQuestInfo(ReplaceOldQuestIds(Questionable.Model.Questing.QuestId.FromRowId(quest.PreviousQuest[1].RowId)), 0), + new PreviousQuestInfo(ReplaceOldQuestIds(Questionable.Model.Questing.QuestId.FromRowId(quest.PreviousQuest[2].RowId)), 0) + }.Where((PreviousQuestInfo x) => x.QuestId.Value != 0).ToImmutableList(); PreviousQuestJoin = (EQuestJoin)quest.PreviousQuestJoin; QuestLocks = (from x in quest.QuestLock - select _003C_003Ec._202C_202A_200E_206B_202E_202B_200F_200E_200B_206B_206F_200C_206A_206A_200D_200C_202C_206B_206A_200B_206B_200F_206B_200B_202A_206F_202D_200D_206D_200C_200E_200C_200F_206B_202A_202E_202C_206F_202E_206D_202E(x.RowId) into x - where _003C_003Ec._206E_200E_202A_200F_200F_206C_202E_206C_200E_202E_206B_206F_206E_206D_200F_202E_206E_206C_202E_202B_200C_202E_202D_206E_206A_206B_200E_200E_200D_202D_202E_200B_202C_206D_200C_206A_200B_206D_202C_206B_202E((ElementId)x) != 0 + select Questionable.Model.Questing.QuestId.FromRowId(x.RowId) into x + where x.Value != 0 select x).ToImmutableList(); QuestLockJoin = (EQuestJoin)quest.QuestLockJoin; JournalGenre = quest.JournalGenre.ValueNullable?.RowId; @@ -331,30 +125,8 @@ internal sealed class QuestInfo : IQuestInfo NewGamePlusChapter = newGamePlusChapter; StartingCity = startingCity; MoogleDeliveryLevel = (byte)quest.DeliveryQuest.RowId; - IEnumerable first = (from x in quest.Reward.Where(delegate(RowRef x) - { - int num4 = ((x.RowId == 0) ? 461820485 : 461820486); - while (true) - { - int num5 = num4; - int num6 = 461820484; - int num7 = num5; - int num8 = num7 + num6; - int num9 = num7 & num6; - switch (num8 - (num9 + num9)) - { - case 0: - goto IL_004a; - case 1: - return false; - case 2: - return x.Is(); - } - continue; - IL_004a: - num4 = 461820486; - } - }) + IEnumerable first = (from x in quest.Reward + where x.RowId != 0 && x.Is() select x.GetValueOrDefault() into x where x.HasValue select x).Cast(); @@ -368,46 +140,15 @@ internal sealed class QuestInfo : IQuestInfo where x != null select x).Cast().ToList(); Expansion = (EExpansionVersion)quest.Expansion.RowId; - return; - IL_0142: - text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(100444472); - goto IL_01bd; - IL_01b2: - text = 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(1200342830); - goto IL_01bd; - IL_01a2: - text = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1214228773); - goto IL_01bd; } private static QuestId ReplaceOldQuestIds(QuestId questId) { - int num = ((_200E_206E_206F_200C_202C_206A_200F_206B_206A_206B_206B_202D_206A_202B_200F_206D_206F_200D_206D_202A_206A_206D_202E_206D_202D_200C_202A_202D_200D_200D_202C_200C_202A_206D_206C_206B_206A_202B_206F_202A_202E((ElementId)questId) != 524) ? 1388511094 : 1388511093); - QuestId result = default(QuestId); - while (true) + if (questId.Value == 524) { - int num2 = num; - int num3 = 1388511095; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return result; - case 2: - result = _200E_206E_200D_200E_202D_202B_200C_202E_206C_206A_206E_206D_202B_206B_200B_202E_206D_200B_202E_202D_200E_202D_200B_202D_206D_202D_206C_200C_200B_200F_206A_202D_200C_206B_206C_200C_206C_202C_206B_206F_202E((ushort)4522); - num = 1388511095; - break; - case 1: - result = questId; - num = 1388511095; - break; - case 3: - num = 1388511093; - break; - } + return new QuestId(4522); } + return questId; } public void AddPreviousQuest(PreviousQuestInfo questId) @@ -415,42 +156,10 @@ internal sealed class QuestInfo : IQuestInfo ImmutableList previousQuests = PreviousQuests; int num = 0; PreviousQuestInfo[] array = new PreviousQuestInfo[1 + previousQuests.Count]; - using (ImmutableList.Enumerator enumerator = previousQuests.GetEnumerator()) + foreach (PreviousQuestInfo item in previousQuests) { - int num2 = 152689152; - while (true) - { - int num3 = num2; - int num4 = 152689155; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - num2 = 152689152; - break; - case 3: - num2 = (enumerator.MoveNext() ? 152689154 : 152689155); - break; - case 1: - { - PreviousQuestInfo current = enumerator.Current; - array[num] = current; - int num6 = num; - num4 = 1; - num5 = num6; - int num7 = num5 ^ num4; - int num8 = num5 & num4; - num = num7 + (num8 + num8); - num2 = 152689152; - break; - } - case 0: - goto end_IL_002a; - } - continue; - end_IL_002a: - break; - } + array[num] = item; + num++; } array[num] = questId; PreviousQuests = ImmutableList.Create(new ReadOnlySpan(array)); @@ -458,92 +167,22 @@ internal sealed class QuestInfo : IQuestInfo public void AddQuestLocks(EQuestJoin questJoin, params QuestId[] questId) { - int num = ((QuestLocks.Count <= 0) ? 132063164 : 132063166); - while (true) + if (QuestLocks.Count > 0 && QuestLockJoin != questJoin) { - int num2 = num; - int num3 = 132063167; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - throw _202E_206C_200E_206B_200D_202B_202A_206C_206E_206D_206E_206E_206E_202B_206B_200B_206B_202C_206A_206C_206F_200D_202E_200B_202E_202E_200C_200F_202A_202B_202A_200C_202D_200E_200D_206C_200F_200B_202E_206E_202E(); - case 1: - num = ((QuestLockJoin == questJoin) ? 132063164 : 132063167); - break; - case 2: - num = 132063166; - break; - case 3: - { - QuestLockJoin = questJoin; - ImmutableList questLocks = QuestLocks; - int num7 = 0; - QuestId[] array = new QuestId[questLocks.Count + questId.Length]; - using (ImmutableList.Enumerator enumerator = questLocks.GetEnumerator()) - { - num = -1685123962; - while (true) - { - int num8 = num; - num3 = -1685123961; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - num = (enumerator.MoveNext() ? (-1685123964) : (-1685123963)); - break; - case 3: - { - QuestId current = enumerator.Current; - array[num7] = current; - int num9 = num7; - num3 = 1; - num4 = num9; - num7 = (num4 | num3) + (num4 & num3); - num = -1685123962; - break; - } - case 0: - num = -1685123962; - break; - case 2: - goto end_IL_00c5; - } - continue; - end_IL_00c5: - break; - } - } - ReadOnlySpan readOnlySpan = new ReadOnlySpan(questId); - readOnlySpan.CopyTo(new Span(array).Slice(num7, readOnlySpan.Length)); - num7 += readOnlySpan.Length; - QuestLocks = ImmutableList.Create(new ReadOnlySpan(array)); - return; - } - } + throw new InvalidOperationException(); } - } - - static QuestId _206F_206F_202C_200D_200C_206D_206A_200D_206A_202A_202C_200C_206E_200F_206D_206F_206C_200C_202E_206E_202D_202D_202A_200D_200E_200D_200E_200B_200C_202D_200F_200E_200C_202A_200B_202A_200F_206D_202C_202E_202E(uint P_0) - { - return Questionable.Model.Questing.QuestId.FromRowId(P_0); - } - - static ushort _200E_206E_206F_200C_202C_206A_200F_206B_206A_206B_206B_202D_206A_202B_200F_206D_206F_200D_206D_202A_206A_206D_202E_206D_202D_200C_202A_202D_200D_200D_202C_200C_202A_206D_206C_206B_206A_202B_206F_202A_202E(ElementId P_0) - { - return P_0.Value; - } - - static QuestId _200E_206E_200D_200E_202D_202B_200C_202E_206C_206A_206E_206D_202B_206B_200B_202E_206D_200B_202E_202D_200E_202D_200B_202D_206D_202D_206C_200C_200B_200F_206A_202D_200C_206B_206C_200C_206C_202C_206B_206F_202E(ushort P_0) - { - return new QuestId(P_0); - } - - static InvalidOperationException _202E_206C_200E_206B_200D_202B_202A_206C_206E_206D_206E_206E_206E_202B_206B_200B_206B_202C_206A_206C_206F_200D_202E_200B_202E_202E_200C_200F_202A_202B_202A_200C_202D_200E_200D_206C_200F_200B_202E_206E_202E() - { - return new InvalidOperationException(); + QuestLockJoin = questJoin; + ImmutableList questLocks = QuestLocks; + int num = 0; + QuestId[] array = new QuestId[questLocks.Count + questId.Length]; + foreach (QuestId item in questLocks) + { + array[num] = item; + num++; + } + ReadOnlySpan readOnlySpan = new ReadOnlySpan(questId); + readOnlySpan.CopyTo(new Span(array).Slice(num, readOnlySpan.Length)); + num += readOnlySpan.Length; + QuestLocks = ImmutableList.Create(new ReadOnlySpan(array)); } } diff --git a/Questionable/Questionable.Model/QuestInfoUtils.cs b/Questionable/Questionable.Model/QuestInfoUtils.cs index 5a2f867..2190f47 100644 --- a/Questionable/Questionable.Model/QuestInfoUtils.cs +++ b/Questionable/Questionable.Model/QuestInfoUtils.cs @@ -12,214 +12,197 @@ internal static class QuestInfoUtils internal static IReadOnlyList AsList(ClassJobCategory? optionalClassJobCategory) { - int num = (optionalClassJobCategory.HasValue ? (-1115834397) : (-1115834399)); - ClassJobCategory value = default(ClassJobCategory); - IReadOnlyList readOnlyList = default(IReadOnlyList); - while (true) + if (!optionalClassJobCategory.HasValue) { - int num2 = num; - int num3 = -1115834400; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1115834399; - break; - case 1: - return Enum.GetValues(); - case 4: - return readOnlyList; - case 3: - value = optionalClassJobCategory.Value; - num = ((!CachedClassJobs.TryGetValue(value.RowId, out readOnlyList)) ? (-1115834398) : (-1115834396)); - break; - case 2: - readOnlyList = (from y in new Dictionary - { - { - EClassJob.Adventurer, - value.ADV - }, - { - EClassJob.Gladiator, - value.GLA - }, - { - EClassJob.Pugilist, - value.PGL - }, - { - EClassJob.Marauder, - value.MRD - }, - { - EClassJob.Lancer, - value.LNC - }, - { - EClassJob.Archer, - value.ARC - }, - { - EClassJob.Conjurer, - value.CNJ - }, - { - EClassJob.Thaumaturge, - value.THM - }, - { - EClassJob.Carpenter, - value.CRP - }, - { - EClassJob.Blacksmith, - value.BSM - }, - { - EClassJob.Armorer, - value.ARM - }, - { - EClassJob.Goldsmith, - value.GSM - }, - { - EClassJob.Leatherworker, - value.LTW - }, - { - EClassJob.Weaver, - value.WVR - }, - { - EClassJob.Alchemist, - value.ALC - }, - { - EClassJob.Culinarian, - value.CUL - }, - { - EClassJob.Miner, - value.MIN - }, - { - EClassJob.Botanist, - value.BTN - }, - { - EClassJob.Fisher, - value.FSH - }, - { - EClassJob.Paladin, - value.PLD - }, - { - EClassJob.Monk, - value.MNK - }, - { - EClassJob.Warrior, - value.WAR - }, - { - EClassJob.Dragoon, - value.DRG - }, - { - EClassJob.Bard, - value.BRD - }, - { - EClassJob.WhiteMage, - value.WHM - }, - { - EClassJob.BlackMage, - value.BLM - }, - { - EClassJob.Arcanist, - value.ACN - }, - { - EClassJob.Summoner, - value.SMN - }, - { - EClassJob.Scholar, - value.SCH - }, - { - EClassJob.Rogue, - value.ROG - }, - { - EClassJob.Ninja, - value.NIN - }, - { - EClassJob.Machinist, - value.MCH - }, - { - EClassJob.DarkKnight, - value.DRK - }, - { - EClassJob.Astrologian, - value.AST - }, - { - EClassJob.Samurai, - value.SAM - }, - { - EClassJob.RedMage, - value.RDM - }, - { - EClassJob.BlueMage, - value.BLU - }, - { - EClassJob.Gunbreaker, - value.GNB - }, - { - EClassJob.Dancer, - value.DNC - }, - { - EClassJob.Reaper, - value.RPR - }, - { - EClassJob.Sage, - value.SGE - }, - { - EClassJob.Viper, - value.VPR - }, - { - EClassJob.Pictomancer, - value.PCT - }, - { - EClassJob.Beastmaster, - value.Unknown0 - } - } - where y.Value - select y.Key).ToList().AsReadOnly(); - CachedClassJobs[value.RowId] = readOnlyList; - return readOnlyList; - } + return Enum.GetValues(); } + ClassJobCategory value = optionalClassJobCategory.Value; + if (CachedClassJobs.TryGetValue(value.RowId, out IReadOnlyList value2)) + { + return value2; + } + value2 = (from y in new Dictionary + { + { + EClassJob.Adventurer, + value.ADV + }, + { + EClassJob.Gladiator, + value.GLA + }, + { + EClassJob.Pugilist, + value.PGL + }, + { + EClassJob.Marauder, + value.MRD + }, + { + EClassJob.Lancer, + value.LNC + }, + { + EClassJob.Archer, + value.ARC + }, + { + EClassJob.Conjurer, + value.CNJ + }, + { + EClassJob.Thaumaturge, + value.THM + }, + { + EClassJob.Carpenter, + value.CRP + }, + { + EClassJob.Blacksmith, + value.BSM + }, + { + EClassJob.Armorer, + value.ARM + }, + { + EClassJob.Goldsmith, + value.GSM + }, + { + EClassJob.Leatherworker, + value.LTW + }, + { + EClassJob.Weaver, + value.WVR + }, + { + EClassJob.Alchemist, + value.ALC + }, + { + EClassJob.Culinarian, + value.CUL + }, + { + EClassJob.Miner, + value.MIN + }, + { + EClassJob.Botanist, + value.BTN + }, + { + EClassJob.Fisher, + value.FSH + }, + { + EClassJob.Paladin, + value.PLD + }, + { + EClassJob.Monk, + value.MNK + }, + { + EClassJob.Warrior, + value.WAR + }, + { + EClassJob.Dragoon, + value.DRG + }, + { + EClassJob.Bard, + value.BRD + }, + { + EClassJob.WhiteMage, + value.WHM + }, + { + EClassJob.BlackMage, + value.BLM + }, + { + EClassJob.Arcanist, + value.ACN + }, + { + EClassJob.Summoner, + value.SMN + }, + { + EClassJob.Scholar, + value.SCH + }, + { + EClassJob.Rogue, + value.ROG + }, + { + EClassJob.Ninja, + value.NIN + }, + { + EClassJob.Machinist, + value.MCH + }, + { + EClassJob.DarkKnight, + value.DRK + }, + { + EClassJob.Astrologian, + value.AST + }, + { + EClassJob.Samurai, + value.SAM + }, + { + EClassJob.RedMage, + value.RDM + }, + { + EClassJob.BlueMage, + value.BLU + }, + { + EClassJob.Gunbreaker, + value.GNB + }, + { + EClassJob.Dancer, + value.DNC + }, + { + EClassJob.Reaper, + value.RPR + }, + { + EClassJob.Sage, + value.SGE + }, + { + EClassJob.Viper, + value.VPR + }, + { + EClassJob.Pictomancer, + value.PCT + }, + { + EClassJob.Beastmaster, + value.Unknown0 + } + } + where y.Value + select y.Key).ToList().AsReadOnly(); + CachedClassJobs[value.RowId] = value2; + return value2; } } diff --git a/Questionable/Questionable.Model/QuestProgressInfo.cs b/Questionable/Questionable.Model/QuestProgressInfo.cs index 7f8baee..78350f3 100644 --- a/Questionable/Questionable.Model/QuestProgressInfo.cs +++ b/Questionable/Questionable.Model/QuestProgressInfo.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Runtime.CompilerServices; using FFXIVClientStructs.FFXIV.Application.Network.WorkDefinitions; using LLib.GameData; using Questionable.Model.Questing; @@ -24,55 +23,29 @@ internal sealed class QuestProgressInfo public EClassJob ClassJob { get; } - [MethodImpl(MethodImplOptions.NoInlining)] public QuestProgressInfo(QuestWork questWork) { - Id = _202C_200E_202A_200D_202D_206A_200D_200F_200D_206F_202E_206D_202A_206B_200C_206D_206B_202E_202C_206A_206A_200F_200E_200C_206F_202D_200F_206F_206D_202E_206B_200F_200E_200D_206C_206B_200E_200B_206F_200E_202E(questWork.QuestId); + Id = new QuestId(questWork.QuestId); Sequence = questWork.Sequence; Flags = questWork.Flags; Variables = questWork.Variables.ToArray().ToList(); IsHidden = questWork.IsHidden; ClassJob = (EClassJob)questWork.AcceptClassJob; Span variables = questWork.Variables; - string text = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-87324410); - int num = 0; - while (num < variables.Length) + string text = ""; + for (int i = 0; i < variables.Length; i++) { - text = _206C_200C_206D_200C_206F_202A_206F_206F_206E_200F_202B_202C_202E_206D_206E_200B_202A_200E_206F_206C_200D_206E_200F_202E_206A_202A_206F_206E_200B_202D_206E_202A_202E_206A_206C_200F_200F_200E_206E_206F_202E(text, variables[num].ToString(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-818915859)); - if (num % 2 == 1) + text = text + variables[i] + " "; + if (i % 2 == 1) { - text = _202E_206B_200F_200B_200B_206B_200E_200C_202D_206A_200D_200B_206F_200D_206C_200E_206E_206B_202D_200C_200C_206D_202D_202A_206F_200F_206B_200E_202B_200C_206B_202D_206E_206D_202B_206C_200B_206B_206C_206C_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(48117010)); + text += " "; } - int num2 = num; - int num3 = 1; - int num4 = num2; - num = (num4 | num3) + (num4 & num3); } - _asString = _202E_206B_200F_200B_200B_206B_200E_200C_202D_206A_200D_200B_206F_200D_206C_200E_206E_206B_202D_200C_200C_206D_202D_202A_206F_200F_206B_200E_202B_200C_206B_202D_206E_206D_202B_206C_200B_206B_206C_206C_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(751657040), _200F_206D_202D_200B_202B_202D_206E_200D_200C_200B_200D_202A_206E_206F_202D_206F_202E_202B_206B_200F_202E_202D_200C_200D_200D_206F_200C_202A_202B_206A_202B_206E_206A_200B_206C_200D_206F_206E_202D_200D_202E(text)); + _asString = "QW: " + text.Trim(); } public override string ToString() { return _asString; } - - static QuestId _202C_200E_202A_200D_202D_206A_200D_200F_200D_206F_202E_206D_202A_206B_200C_206D_206B_202E_202C_206A_206A_200F_200E_200C_206F_202D_200F_206F_206D_202E_206B_200F_200E_200D_206C_206B_200E_200B_206F_200E_202E(ushort P_0) - { - return new QuestId(P_0); - } - - static string _206C_200C_206D_200C_206F_202A_206F_206F_206E_200F_202B_202C_202E_206D_206E_200B_202A_200E_206F_206C_200D_206E_200F_202E_206A_202A_206F_206E_200B_202D_206E_202A_202E_206A_206C_200F_200F_200E_206E_206F_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static string _202E_206B_200F_200B_200B_206B_200E_200C_202D_206A_200D_200B_206F_200D_206C_200E_206E_206B_202D_200C_200C_206D_202D_202A_206F_200F_206B_200E_202B_200C_206B_202D_206E_206D_202B_206C_200B_206B_206C_206C_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static string _200F_206D_202D_200B_202B_202D_206E_200D_200C_200B_200D_202A_206E_206F_202D_206F_202E_202B_206B_200F_202E_202D_200C_200D_200D_206F_200C_202A_202B_206A_202B_206E_206A_200B_206C_200D_206F_206E_202D_200D_202E(string P_0) - { - return P_0.Trim(); - } } diff --git a/Questionable/Questionable.Model/StringOrRegex.cs b/Questionable/Questionable.Model/StringOrRegex.cs index 1bfb284..1d5f9d7 100644 --- a/Questionable/Questionable.Model/StringOrRegex.cs +++ b/Questionable/Questionable.Model/StringOrRegex.cs @@ -1,5 +1,4 @@ using System; -using System.Runtime.CompilerServices; using System.Text.RegularExpressions; using Questionable.Functions; @@ -11,95 +10,40 @@ internal sealed class StringOrRegex private readonly string? _stringValue; - [MethodImpl(MethodImplOptions.NoInlining)] public StringOrRegex(Regex? regex) { - _206C_206E_200E_202D_200C_202E_206B_206B_202B_200D_206C_200D_206B_200C_200D_202E_206E_202D_202A_202D_200C_200F_206E_206B_200D_206B_202A_206B_200F_200C_202B_200E_200E_200C_200E_202B_202C_200F_206E_206D_202E((object?)regex, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1417753636)); + ArgumentNullException.ThrowIfNull(regex, "regex"); _regex = regex; _stringValue = null; } - [MethodImpl(MethodImplOptions.NoInlining)] public StringOrRegex(string? str) { - _206C_206E_200E_202D_200C_202E_206B_206B_202B_200D_206C_200D_206B_200C_200D_202E_206E_202D_202A_202D_200C_200F_206E_206B_200D_206B_202A_206B_200F_200C_202B_200E_200E_200C_200E_202B_202C_200F_206E_206D_202E((object?)str, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1663071315)); + ArgumentNullException.ThrowIfNull(str, "str"); _regex = null; _stringValue = str; } public bool IsMatch(string other) { - int num = ((_regex == null) ? (-734326704) : (-734326703)); - while (true) + if (_regex != null) { - int num2 = num; - int num3 = -734326704; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return GameFunctions.GameStringEquals(_stringValue, other); - case 1: - return _200F_206C_206D_200E_202C_200E_206B_206A_202A_206C_200E_206A_200F_206A_206E_206B_206A_202A_200B_202B_202B_206E_206C_200B_206D_202D_200E_206E_200D_200D_206C_206D_200B_200E_202A_200E_206D_206B_206A_206F_202E(_regex, other); - case 2: - goto IL_0062; - } - continue; - IL_0062: - num = -734326703; + return _regex.IsMatch(other); } + return GameFunctions.GameStringEquals(_stringValue, other); } public string? GetString() { - int num = ((_stringValue != null) ? 1027325378 : 1027325379); - while (true) + if (_stringValue == null) { - int num2 = num; - int num3 = 1027325378; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0048; - case 0: - return _stringValue; - case 1: - throw _200E_200C_206E_202D_200B_202E_202D_202D_200E_200C_202A_206E_200E_200D_200F_202D_202A_206C_202C_202D_206F_202A_200C_206E_200D_202C_206E_200D_206C_206F_200B_206B_200F_206C_202A_206F_202E_202A_200E_202B_202E(); - } - continue; - IL_0048: - num = 1027325379; + throw new InvalidOperationException(); } + return _stringValue; } public override string? ToString() { - Regex? regex = _regex; - return ((regex != null) ? _202B_200C_206B_206F_206D_202B_206A_206D_206F_206A_200D_202A_200F_202C_202D_200E_200E_200B_202E_200C_200B_202A_202A_206F_202A_200E_200B_206F_206F_202B_206C_200F_200C_206C_202E_206F_206B_200E_206E_202C_202E((object?)regex) : null) ?? _stringValue; - } - - static void _206C_206E_200E_202D_200C_202E_206B_206B_202B_200D_206C_200D_206B_200C_200D_202E_206E_202D_202A_202D_200C_200F_206E_206B_200D_206B_202A_206B_200F_200C_202B_200E_200E_200C_200E_202B_202C_200F_206E_206D_202E(object? P_0, string? P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static bool _200F_206C_206D_200E_202C_200E_206B_206A_202A_206C_200E_206A_200F_206A_206E_206B_206A_202A_200B_202B_202B_206E_206C_200B_206D_202D_200E_206E_200D_200D_206C_206D_200B_200E_202A_200E_206D_206B_206A_206F_202E(Regex? P_0, string? P_1) - { - return P_0.IsMatch(P_1); - } - - static InvalidOperationException? _200E_200C_206E_202D_200B_202E_202D_202D_200E_200C_202A_206E_200E_200D_200F_202D_202A_206C_202C_202D_206F_202A_200C_206E_200D_202C_206E_200D_206C_206F_200B_206B_200F_206C_202A_206F_202E_202A_200E_202B_202E() - { - return new InvalidOperationException(); - } - - static string? _202B_200C_206B_206F_206D_202B_206A_206D_206F_206A_200D_202A_200F_202C_202D_200E_200E_200B_202E_200C_200B_202A_202A_206F_202A_200E_200B_206F_206F_202B_206C_200F_200C_206C_202E_206F_206B_200E_206E_202C_202E(object? P_0) - { - return P_0.ToString(); + return _regex?.ToString() ?? _stringValue; } } diff --git a/Questionable/Questionable.Model/TripleTriadCardReward.cs b/Questionable/Questionable.Model/TripleTriadCardReward.cs index 69aa40d..4f6b44c 100644 --- a/Questionable/Questionable.Model/TripleTriadCardReward.cs +++ b/Questionable/Questionable.Model/TripleTriadCardReward.cs @@ -1,23 +1,10 @@ -using System; -using System.Collections.Generic; using System.Runtime.CompilerServices; -using System.Text; using FFXIVClientStructs.FFXIV.Client.Game.UI; namespace Questionable.Model; public sealed record TripleTriadCardReward : ItemReward { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _206F_200E_200F_200D_200F_206B_206A_206E_200E_206D_202E_200D_200C_200E_206C_206E_200D_202E_200F_206F_202A_202D_206F_200E_206E_206E_206A_206D_206E_202E_202A_206D_200C_202D_206A_202E_206B_200B_200E_202B_202E(typeof(TripleTriadCardReward).TypeHandle); - } - } - public ushort TripleTriadCardId { get; init; } public override EItemRewardType Type => EItemRewardType.TripleTriadCard; @@ -33,131 +20,10 @@ public sealed record TripleTriadCardReward : ItemReward return UIState.Instance()->IsTripleTriadCardUnlocked(TripleTriadCardId); } - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206D_206A_202B_202E_206F_206E_206B_202A_202D_202B_206C_202A_202C_200B_202C_202E_202D_206C_202A_206E_202A_206E_200E_202A_200F_202A_200B_206C_206E_206A_202D_206F_206D_202B_206C_206D_206C_202E_206D_202C_202E(); - _202B_206C_200F_202E_202C_206E_206A_202D_206F_202D_200B_200E_206E_200E_206F_206C_202B_206A_200C_200B_200D_202D_202E_202D_200F_200C_200C_202C_206A_200C_202D_206D_200D_200C_200C_200C_206D_206C_202B_206E_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-254844244)); - _202B_206C_200F_202E_202C_206E_206A_202D_206F_202D_200B_200E_206E_200E_206F_206C_202B_206A_200C_200B_200D_202D_202E_202D_200F_200C_200C_202C_206A_200C_202D_206D_200D_200C_200C_200C_206D_206C_202B_206E_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? 1278318485 : 1278318486); - while (true) - { - int num2 = num; - int num3 = 1278318487; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - _202D_206D_202B_200D_200E_206D_202D_206F_200D_202B_206D_202C_200D_206B_202E_202B_200C_206C_202C_200E_206A_206B_200C_202D_200C_200D_202C_206F_202B_202A_206B_206F_202A_206D_200E_206B_206A_200B_200F_200F_202E(stringBuilder, '}'); - return _206C_200C_206B_206C_206B_206C_202E_200E_200C_200C_206E_200E_202A_200D_206C_202D_206C_206D_200E_202C_206A_206E_200B_202E_200B_202C_206F_202D_202B_200C_200C_200D_202D_206F_202D_206F_202E_202A_202A_206F_202E((object)stringBuilder); - case 1: - _202D_206D_202B_200D_200E_206D_202D_206F_200D_202B_206D_202C_200D_206B_202E_202B_200C_206C_202C_200E_206A_206B_200C_202D_200C_200D_202C_206F_202B_202A_206B_206F_202A_206D_200E_206B_206A_200B_200F_200F_202E(stringBuilder, ' '); - num = 1278318485; - break; - case 0: - num = 1278318486; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected override bool PrintMembers(StringBuilder builder) - { - int num = ((!base.PrintMembers(builder)) ? 641722232 : 641722235); - while (true) - { - int num2 = num; - int num3 = 641722233; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 641722235; - break; - case 1: - _202B_206C_200F_202E_202C_206E_206A_202D_206F_202D_200B_200E_206E_200E_206F_206C_202B_206A_200C_200B_200D_202D_202E_202D_200F_200C_200C_202C_206A_200C_202D_206D_200D_200C_200C_200C_206D_206C_202B_206E_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1636532804)); - _202B_206C_200F_202E_202C_206E_206A_202D_206F_202D_200B_200E_206E_200E_206F_206C_202B_206A_200C_200B_200D_202D_202E_202D_200F_200C_200C_202C_206A_200C_202D_206D_200D_200C_200C_200C_206D_206C_202B_206E_202E(builder, TripleTriadCardId.ToString()); - return true; - case 2: - _202B_206C_200F_202E_202C_206E_206A_202D_206F_202D_200B_200E_206E_200E_206F_206C_202B_206A_200C_200B_200D_202D_202E_202D_200F_200C_200C_202C_206A_200C_202D_206D_200D_200C_200C_200C_206D_206C_202B_206E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1403263077)); - num = 641722232; - break; - } - } - } - - [CompilerGenerated] - public bool Equals(TripleTriadCardReward? other) - { - int num = (((object)this == other) ? (-2116318036) : (-2116318034)); - while (true) - { - int num2 = num; - int num3 = -2116318033; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - return true; - case 2: - return EqualityComparer.Default.Equals(TripleTriadCardId, other.TripleTriadCardId); - case 0: - return false; - case 1: - num = ((!base.Equals(other)) ? (-2116318033) : (-2116318035)); - break; - case 4: - num = -2116318034; - break; - } - } - } - - bool IEquatable.Equals(TripleTriadCardReward? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - [CompilerGenerated] public void Deconstruct(out ItemRewardDetails Item, out ushort TripleTriadCardId) { Item = base.Item; TripleTriadCardId = this.TripleTriadCardId; } - - static Type _206F_200E_200F_200D_200F_206B_206A_206E_200E_206D_202E_200D_200C_200E_206C_206E_200D_202E_200F_206F_202A_202D_206F_200E_206E_206E_206A_206D_206E_202E_202A_206D_200C_202D_206A_202E_206B_200B_200E_202B_202E(RuntimeTypeHandle P_0) - { - return System.Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206D_206A_202B_202E_206F_206E_206B_202A_202D_202B_206C_202A_202C_200B_202C_202E_202D_206C_202A_206E_202A_206E_200E_202A_200F_202A_200B_206C_206E_206A_202D_206F_206D_202B_206C_206D_206C_202E_206D_202C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202B_206C_200F_202E_202C_206E_206A_202D_206F_202D_200B_200E_206E_200E_206F_206C_202B_206A_200C_200B_200D_202D_202E_202D_200F_200C_200C_202C_206A_200C_202D_206D_200D_200C_200C_200C_206D_206C_202B_206E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202D_206D_202B_200D_200E_206D_202D_206F_200D_202B_206D_202C_200D_206B_202E_202B_200C_206C_202C_200E_206A_206B_200C_202D_200C_200D_202C_206F_202B_202A_206B_206F_202A_206D_200E_206B_206A_200B_200F_200F_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206C_200C_206B_206C_206B_206C_202E_200E_200C_200C_206E_200E_202A_200D_206C_202D_206C_206D_200E_202C_206A_206E_200B_202E_200B_202C_206F_202D_202B_200C_200C_200D_202D_206F_202D_206F_202E_202A_202A_206F_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _206E_202E_206A_206C_200E_206E_202B_202D_202C_200C_202C_206B_202C_202E_206A_206D_200F_206A_206C_202E_206C_202D_200B_206D_202A_200E_200C_200B_206B_202D_206F_206C_202A_206C_200C_200F_202A_200D_200D_206D_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } } diff --git a/Questionable/Questionable.Model/UnlockLinkReward.cs b/Questionable/Questionable.Model/UnlockLinkReward.cs index c8e723b..845253b 100644 --- a/Questionable/Questionable.Model/UnlockLinkReward.cs +++ b/Questionable/Questionable.Model/UnlockLinkReward.cs @@ -1,23 +1,10 @@ -using System; -using System.Collections.Generic; using System.Runtime.CompilerServices; -using System.Text; using FFXIVClientStructs.FFXIV.Client.Game.UI; namespace Questionable.Model; public sealed record UnlockLinkReward : ItemReward { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _200F_206E_200F_202E_206C_206E_202A_202E_206F_202E_206D_206E_200E_206A_200B_202C_202A_202B_200E_206C_206B_206F_202A_206D_206A_206D_202B_202B_206C_206A_202D_202E_202A_206C_206B_206C_202D_200F_206B_200F_202E(typeof(UnlockLinkReward).TypeHandle); - } - } - public uint UnlockLinkId { get; init; } public override EItemRewardType Type => EItemRewardType.UnlockLink; @@ -33,129 +20,10 @@ public sealed record UnlockLinkReward : ItemReward return UIState.Instance()->IsUnlockLinkUnlocked(UnlockLinkId); } - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206A_206F_206B_206B_206F_200F_206F_200D_206E_202C_200E_200B_202E_202E_206B_200F_206A_200F_200C_202C_206F_202C_206B_206F_200E_200B_202E_206F_200F_206E_206B_200D_206E_206F_202B_202A_202A_206D_202B_202E(); - _202C_206E_200F_206C_200B_202E_206E_200B_206D_200E_206D_202C_206C_202B_200B_200C_206E_202D_200E_202B_202B_206C_200F_200E_202B_206E_206A_202B_202A_202A_200C_200E_206B_206C_206D_206C_206C_202A_200D_206C_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1427150929)); - _202C_206E_200F_206C_200B_202E_206E_200B_206D_200E_206D_202C_206C_202B_200B_200C_206E_202D_200E_202B_202B_206C_200F_200E_202B_206E_206A_202B_202A_202A_200C_200E_206B_206C_206D_206C_206C_202A_200D_206C_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1664411125)); - int num = ((!PrintMembers(stringBuilder)) ? 172812570 : 172812569); - while (true) - { - int num2 = num; - int num3 = 172812571; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 172812569; - break; - case 1: - _202C_202E_202B_206A_200B_206D_206E_202C_206B_206F_202B_206B_206A_202C_200B_202C_206B_206B_206F_206D_202D_202E_202C_206B_202C_206A_202A_206A_200F_206A_202A_200F_202B_202D_206B_200E_202D_202C_206E_206D_202E(stringBuilder, '}'); - return _202D_200F_202D_202D_206D_202C_206F_206E_206B_202B_202D_202C_200B_202A_200C_202D_202D_200B_202E_206E_206B_202B_200D_200C_202A_200C_206C_202B_200D_206C_202B_206D_202A_206B_200C_206C_206F_202B_206C_202D_202E((object)stringBuilder); - case 2: - _202C_202E_202B_206A_200B_206D_206E_202C_206B_206F_202B_206B_206A_202C_200B_202C_206B_206B_206F_206D_202D_202E_202C_206B_202C_206A_202A_206A_200F_206A_202A_200F_202B_202D_206B_200E_202D_202C_206E_206D_202E(stringBuilder, ' '); - num = 172812570; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected override bool PrintMembers(StringBuilder builder) - { - int num = ((!base.PrintMembers(builder)) ? (-1240382848) : (-1240382847)); - while (true) - { - int num2 = num; - int num3 = -1240382848; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1240382847; - break; - case 0: - _202C_206E_200F_206C_200B_202E_206E_200B_206D_200E_206D_202C_206C_202B_200B_200C_206E_202D_200E_202B_202B_206C_200F_200E_202B_206E_206A_202B_202A_202A_200C_200E_206B_206C_206D_206C_206C_202A_200D_206C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1878082130)); - _202C_206E_200F_206C_200B_202E_206E_200B_206D_200E_206D_202C_206C_202B_200B_200C_206E_202D_200E_202B_202B_206C_200F_200E_202B_206E_206A_202B_202A_202A_200C_200E_206B_206C_206D_206C_206C_202A_200D_206C_202E(builder, UnlockLinkId.ToString()); - return true; - case 1: - _202C_206E_200F_206C_200B_202E_206E_200B_206D_200E_206D_202C_206C_202B_200B_200C_206E_202D_200E_202B_202B_206C_200F_200E_202B_206E_206A_202B_202A_202A_200C_200E_206B_206C_206D_206C_206C_202A_200D_206C_202E(builder, 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(-1095822044)); - num = -1240382848; - break; - } - } - } - - [CompilerGenerated] - public bool Equals(UnlockLinkReward? other) - { - int num = (((object)this == other) ? (-563966986) : (-563966989)); - while (true) - { - int num2 = num; - int num3 = -563966990; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - return true; - case 1: - num = ((!base.Equals(other)) ? (-563966992) : (-563966991)); - break; - case 2: - return false; - case 0: - num = -563966989; - break; - case 3: - return EqualityComparer.Default.Equals(UnlockLinkId, other.UnlockLinkId); - } - } - } - - bool IEquatable.Equals(UnlockLinkReward? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - [CompilerGenerated] public void Deconstruct(out ItemRewardDetails Item, out uint UnlockLinkId) { Item = base.Item; UnlockLinkId = this.UnlockLinkId; } - - static Type _200F_206E_200F_202E_206C_206E_202A_202E_206F_202E_206D_206E_200E_206A_200B_202C_202A_202B_200E_206C_206B_206F_202A_206D_206A_206D_202B_202B_206C_206A_202D_202E_202A_206C_206B_206C_202D_200F_206B_200F_202E(RuntimeTypeHandle P_0) - { - return System.Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206A_206F_206B_206B_206F_200F_206F_200D_206E_202C_200E_200B_202E_202E_206B_200F_206A_200F_200C_202C_206F_202C_206B_206F_200E_200B_202E_206F_200F_206E_206B_200D_206E_206F_202B_202A_202A_206D_202B_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202C_206E_200F_206C_200B_202E_206E_200B_206D_200E_206D_202C_206C_202B_200B_200C_206E_202D_200E_202B_202B_206C_200F_200E_202B_206E_206A_202B_202A_202A_200C_200E_206B_206C_206D_206C_206C_202A_200D_206C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202C_202E_202B_206A_200B_206D_206E_202C_206B_206F_202B_206B_206A_202C_200B_202C_206B_206B_206F_206D_202D_202E_202C_206B_202C_206A_202A_206A_200F_206A_202A_200F_202B_202D_206B_200E_202D_202C_206E_206D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202D_200F_202D_202D_206D_202C_206F_206E_206B_202B_202D_202C_200B_202A_200C_202D_202D_200B_202E_206E_206B_202B_200D_200C_202A_200C_206C_202B_200D_206C_202B_206D_202A_206B_200C_206C_206F_202B_206C_202D_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _202A_200F_206A_200C_200B_206E_202C_202E_202D_202A_202E_206B_206A_206A_200E_202B_206E_202A_206A_206E_202A_206E_200E_206D_206B_202E_206B_202B_202A_206A_206E_206F_206A_206C_206B_202C_200C_200D_206E_202E_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } } diff --git a/Questionable/Questionable.Navigation/QuestionablePlayerContext.cs b/Questionable/Questionable.Navigation/QuestionablePlayerContext.cs index 54f01bc..3e37df8 100644 --- a/Questionable/Questionable.Navigation/QuestionablePlayerContext.cs +++ b/Questionable/Questionable.Navigation/QuestionablePlayerContext.cs @@ -11,26 +11,11 @@ internal sealed class QuestionablePlayerContext(Configuration configuration, Que { get { - QuestId questId = questFunctions.GetMainScenarioQuest().Item1.CurrentQuest as QuestId; - int num = (((object)questId != null) ? (-685921250) : (-685921251)); - while (true) + if (!(questFunctions.GetMainScenarioQuest().Item1.CurrentQuest is QuestId questId)) { - int num2 = num; - int num3 = -685921249; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_005f; - case 1: - return _200C_206B_206B_206B_202C_200D_206B_202E_200C_206D_206A_200E_202B_202A_200D_200F_206B_202C_206C_202D_202B_202C_206E_200D_202B_200B_206F_206B_206D_206A_202A_200D_206F_202C_206F_200E_202B_206F_202C_202A_202E((ElementId)questId); - case 2: - return null; - } - continue; - IL_005f: - num = -685921251; + return null; } + return questId.Value; } } @@ -45,47 +30,18 @@ internal sealed class QuestionablePlayerContext(Configuration configuration, Que return aetheryteFunctions.IsAetheryteUnlocked(aetheryte); } - bool IPlayerContext.IsAetheryteUnlocked(EAetheryteLocation aetheryte) - { - //ILSpy generated this explicit interface implementation from .override directive in IsAetheryteUnlocked - return this.IsAetheryteUnlocked(aetheryte); - } - public bool IsFlyingUnlocked(uint territoryId) { return gameFunctions.IsFlyingUnlockedPersistent(territoryId); } - bool IPlayerContext.IsFlyingUnlocked(uint territoryId) - { - //ILSpy generated this explicit interface implementation from .override directive in IsFlyingUnlocked - return this.IsFlyingUnlocked(territoryId); - } - public bool IsTeleportUnlocked() { return aetheryteFunctions.IsTeleportUnlocked(); } - bool IPlayerContext.IsTeleportUnlocked() - { - //ILSpy generated this explicit interface implementation from .override directive in IsTeleportUnlocked - return this.IsTeleportUnlocked(); - } - public bool IsReturnAvailable() { return aetheryteFunctions.IsReturnAvailable(); } - - bool IPlayerContext.IsReturnAvailable() - { - //ILSpy generated this explicit interface implementation from .override directive in IsReturnAvailable - return this.IsReturnAvailable(); - } - - static ushort _200C_206B_206B_206B_202C_200D_206B_202E_200C_206D_206A_200E_202B_202A_200D_200F_206B_202C_206C_202D_202B_202C_206E_200D_202B_200B_206F_206B_206D_206A_202A_200D_206F_202C_206F_200E_202B_206F_202C_202A_202E(ElementId P_0) - { - return P_0.Value; - } } diff --git a/Questionable/Questionable.Navigation/SmartNavReRouteService.cs b/Questionable/Questionable.Navigation/SmartNavReRouteService.cs index 96fed7b..64fbd94 100644 --- a/Questionable/Questionable.Navigation/SmartNavReRouteService.cs +++ b/Questionable/Questionable.Navigation/SmartNavReRouteService.cs @@ -1,9 +1,6 @@ -using System; -using System.Collections; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using Microsoft.Extensions.Logging; using Questionable.Controller.Steps; using Questionable.Controller.Steps.Common; @@ -17,195 +14,57 @@ internal sealed class SmartNavReRouteService(ReRoutePolicy reRoutePolicy, SmartN { public void SetDestination(uint territoryId, Vector3 position) { - _202A_200D_200E_206F_202C_206E_200D_202E_202C_200D_200C_206C_202A_200C_206B_206A_202A_202E_206A_206F_200D_206E_206B_200C_202D_206A_206C_206D_206A_202E_206A_202B_200D_202E_206D_206E_202A_202E_202C_206E_202E(reRoutePolicy, territoryId, position); + reRoutePolicy.SetDestination(territoryId, position); } public void ClearDestination() { - _206E_200E_202B_200E_200B_200B_200D_200C_202C_202B_202A_200D_202B_206A_200D_206E_206F_200D_206D_206F_200C_202B_206E_206E_206E_206F_206F_206D_206A_202B_202A_202B_200C_202D_202E_202D_206F_200C_206E_206B_202E(reRoutePolicy); + reRoutePolicy.ClearDestination(); } - [MethodImpl(MethodImplOptions.NoInlining)] public bool HandleMovementFailure(TaskQueue taskQueue) { - int num = (configuration.Navigation.ReRouteOnFailure ? 1710893574 : 1710893572); - ReRouteDecision reRouteDecision = default(ReRouteDecision); - List list = default(List); - string routeTargetNodeId = default(string); - MoveTask moveTask = default(MoveTask); - string text = default(string); - string text2 = default(string); - while (true) + if (!configuration.Navigation.ReRouteOnFailure) { - int num2 = num; - int num3 = 1710893573; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return false; + } + string failedTargetNodeId = null; + string failedApproachNodeId = null; + if (taskQueue.CurrentTaskExecutor?.CurrentTask is MoveTask moveTask) + { + string routeTargetNodeId = moveTask.RouteTargetNodeId; + if (routeTargetNodeId != null) { - case 4: - { - if (!(reRouteDecision is ReRouteDecision.Replan replan)) - { - num = 1710893570; - break; - } - taskQueue.Reset(); - IEnumerator enumerator2 = taskMapper.MapInstructions(_206F_206E_200E_202C_202E_202C_202A_202B_202D_200E_200D_202B_200C_200D_200F_206B_200D_206B_202A_202C_206D_202E_202B_206B_200E_200E_206C_206F_200F_200D_202A_200E_206F_206E_202A_200E_206F_206D_206D_200F_202E(replan)).GetEnumerator(); - try - { - num = 82705300; - while (true) - { - int num6 = num; - num3 = 82705303; - num4 = num6; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = (_200D_206F_200C_202D_202C_202C_202C_200D_206C_202C_202A_206A_206F_202B_200D_202C_206B_200E_206C_200B_200D_200D_200D_202A_202E_202C_206B_200C_206C_202B_202C_206E_206F_202C_200D_200C_206F_202D_202D_200E_202E((IEnumerator)enumerator2) ? 82705302 : 82705303); - break; - case 1: - { - ITask current2 = enumerator2.Current; - taskQueue.Enqueue(current2); - num = 82705300; - break; - } - case 2: - num = 82705300; - break; - case 0: - goto end_IL_026e; - } - continue; - end_IL_026e: - break; - } - } - finally - { - num = ((enumerator2 == null) ? 1773046636 : 1773046637); - while (true) - { - int num7 = num; - num3 = 1773046636; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1773046637; - break; - case 0: - goto end_IL_030f; - case 1: - _206E_202B_200E_206F_202B_202E_202D_206C_206F_200D_202E_206E_200D_200B_200B_200B_206F_200D_200B_206E_202E_202A_202E_206D_202E_206D_206D_200B_200C_206C_202D_200D_206A_206C_206D_200C_202E_202C_202B_200F_202E((IDisposable)enumerator2); - num = 1773046636; - break; - } - continue; - end_IL_030f: - break; - } - } - using (List.Enumerator enumerator = list.GetEnumerator()) - { - num = -1421091636; - while (true) - { - int num8 = num; - num3 = -1421091636; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = (enumerator.MoveNext() ? (-1421091635) : (-1421091634)); - break; - case 1: - { - ITask current3 = enumerator.Current; - taskQueue.Enqueue(current3); - num = -1421091636; - break; - } - case 3: - num = -1421091636; - break; - case 2: - goto end_IL_0370; - } - continue; - end_IL_0370: - break; - } - } - return true; - } - case 6: - routeTargetNodeId = moveTask.RouteTargetNodeId; - num = ((routeTargetNodeId == null) ? 1710893575 : 1710893573); - break; - case 1: - return false; - case 0: - text = routeTargetNodeId; - text2 = moveTask.RouteApproachNodeId; - num = 1710893575; - break; - case 8: - num = 1710893572; - break; - case 3: - text = null; - text2 = null; - moveTask = taskQueue.CurrentTaskExecutor?.CurrentTask as MoveTask; - num = (((object)moveTask == null) ? 1710893575 : 1710893571); - break; - case 2: - list = ExtractNonMovementTasks(taskQueue); - reRouteDecision = _202A_206C_202A_200F_202D_200E_206B_202C_200D_200D_206C_206D_202C_202C_200B_200D_202E_202C_202C_202E_200E_206D_206A_206E_206F_200D_206E_200B_202E_202B_200E_200B_200D_200B_206D_206D_200D_206B_206F_206C_202E(reRoutePolicy, text, text2, list.Count > 0); - num = ((reRouteDecision is ReRouteDecision.SkipMovement) ? 1710893568 : 1710893569); - break; - case 5: - { - taskQueue.Reset(); - using (List.Enumerator enumerator = list.GetEnumerator()) - { - num = -1903368627; - while (true) - { - int num5 = num; - num3 = -1903368628; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - num = (enumerator.MoveNext() ? (-1903368625) : (-1903368626)); - break; - case 3: - { - ITask current = enumerator.Current; - taskQueue.Enqueue(current); - num = -1903368627; - break; - } - case 0: - num = -1903368627; - break; - case 2: - goto end_IL_0186; - } - continue; - end_IL_0186: - break; - } - } - _200E_200C_202D_206D_206E_206D_202D_202E_206F_200F_206F_200B_206B_206D_202C_206B_202C_206B_202D_206F_206B_206D_206F_200D_206E_206E_206C_202C_200E_202B_202B_206C_200B_202B_206A_202C_200D_202D_202B_202C_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(563060847), new object[1] { list.Count }); - return true; - } - case 7: - return false; + failedTargetNodeId = routeTargetNodeId; + failedApproachNodeId = moveTask.RouteApproachNodeId; } } + List list = ExtractNonMovementTasks(taskQueue); + ReRouteDecision reRouteDecision = reRoutePolicy.HandleMovementFailure(failedTargetNodeId, failedApproachNodeId, list.Count > 0); + if (!(reRouteDecision is ReRouteDecision.SkipMovement)) + { + if (reRouteDecision is ReRouteDecision.Replan replan) + { + taskQueue.Reset(); + foreach (ITask item in taskMapper.MapInstructions(replan.Instructions)) + { + taskQueue.Enqueue(item); + } + foreach (ITask item2 in list) + { + taskQueue.Enqueue(item2); + } + return true; + } + return false; + } + taskQueue.Reset(); + foreach (ITask item3 in list) + { + taskQueue.Enqueue(item3); + } + logger.LogInformation("Re-route: skipping movement with {TaskCount} preserved tasks", list.Count); + return true; } private static List ExtractNonMovementTasks(TaskQueue taskQueue) @@ -215,96 +74,10 @@ internal sealed class SmartNavReRouteService(ReRoutePolicy reRoutePolicy, SmartN private static bool IsMovementTask(ITask task) { - int num = ((task is MoveTask) ? (-89420229) : (-89420235)); - bool result = default(bool); - while (true) + if (task is MoveTask || task is LandTask || task is Mount.MountTask || task is AetheryteTeleport.Task || task is AethernetRide.Task || task is WaitNavmesh.Task || task is WaitCondition.Task || task is WarpInteract.Task || task is TaxiInteract.Task || task is SubRegionTransport.Task || task is TicketTeleport.Task) { - int num2 = num; - int num3 = -89420240; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = ((task is TaxiInteract.Task) ? (-89420229) : (-89420238)); - break; - case 11: - result = true; - num = -89420230; - break; - case 6: - num = ((task is WaitCondition.Task) ? (-89420229) : (-89420228)); - break; - case 13: - num = ((task is AethernetRide.Task) ? (-89420229) : (-89420239)); - break; - case 12: - num = ((task is WarpInteract.Task) ? (-89420229) : (-89420236)); - break; - case 9: - result = false; - num = -89420230; - break; - case 7: - num = ((task is Mount.MountTask) ? (-89420229) : (-89420237)); - break; - case 8: - num = -89420235; - break; - case 3: - num = ((task is AetheryteTeleport.Task) ? (-89420229) : (-89420227)); - break; - case 2: - num = ((task is SubRegionTransport.Task) ? (-89420229) : (-89420240)); - break; - case 1: - num = ((task is WaitNavmesh.Task) ? (-89420229) : (-89420234)); - break; - case 0: - num = ((!(task is TicketTeleport.Task)) ? (-89420231) : (-89420229)); - break; - case 10: - return result; - case 5: - num = ((task is LandTask) ? (-89420229) : (-89420233)); - break; - } + return true; } - } - - static void _202A_200D_200E_206F_202C_206E_200D_202E_202C_200D_200C_206C_202A_200C_206B_206A_202A_202E_206A_206F_200D_206E_206B_200C_202D_206A_206C_206D_206A_202E_206A_202B_200D_202E_206D_206E_202A_202E_202C_206E_202E(ReRoutePolicy P_0, uint P_1, Vector3 P_2) - { - P_0.SetDestination(P_1, P_2); - } - - static void _206E_200E_202B_200E_200B_200B_200D_200C_202C_202B_202A_200D_202B_206A_200D_206E_206F_200D_206D_206F_200C_202B_206E_206E_206E_206F_206F_206D_206A_202B_202A_202B_200C_202D_202E_202D_206F_200C_206E_206B_202E(ReRoutePolicy P_0) - { - P_0.ClearDestination(); - } - - static ReRouteDecision _202A_206C_202A_200F_202D_200E_206B_202C_200D_200D_206C_206D_202C_202C_200B_200D_202E_202C_202C_202E_200E_206D_206A_206E_206F_200D_206E_200B_202E_202B_200E_200B_200D_200B_206D_206D_200D_206B_206F_206C_202E(ReRoutePolicy P_0, string P_1, string P_2, bool P_3) - { - return P_0.HandleMovementFailure(P_1, P_2, P_3); - } - - static void _200E_200C_202D_206D_206E_206D_202D_202E_206F_200F_206F_200B_206B_206D_202C_206B_202C_206B_202D_206F_206B_206D_206F_200D_206E_206E_206C_202C_200E_202B_202B_206C_200B_202B_206A_202C_200D_202D_202B_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static IReadOnlyList _206F_206E_200E_202C_202E_202C_202A_202B_202D_200E_200D_202B_200C_200D_200F_206B_200D_206B_202A_202C_206D_202E_202B_206B_200E_200E_206C_206F_200F_200D_202A_200E_206F_206E_202A_200E_206F_206D_206D_200F_202E(ReRouteDecision.Replan P_0) - { - return P_0.Instructions; - } - - static bool _200D_206F_200C_202D_202C_202C_202C_200D_206C_202C_202A_206A_206F_202B_200D_202C_206B_200E_206C_200B_200D_200D_200D_202A_202E_202C_206B_200C_206C_202B_202C_206E_206F_202C_200D_200C_206F_202D_202D_200E_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206E_202B_200E_206F_202B_202E_202D_206C_206F_200D_202E_206E_200D_200B_200B_200B_206F_200D_200B_206E_202E_202A_202E_206D_202E_206D_206D_200B_200C_206C_202D_200D_206A_206C_206D_200C_202E_202C_202B_200F_202E(IDisposable P_0) - { - P_0.Dispose(); + return false; } } diff --git a/Questionable/Questionable.Navigation/SmartNavRouteEnqueuer.cs b/Questionable/Questionable.Navigation/SmartNavRouteEnqueuer.cs index 01735e4..a21bd26 100644 --- a/Questionable/Questionable.Navigation/SmartNavRouteEnqueuer.cs +++ b/Questionable/Questionable.Navigation/SmartNavRouteEnqueuer.cs @@ -1,9 +1,7 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using Microsoft.Extensions.Logging; using Questionable.Controller.Steps; using Questionable.Controller.Steps.Movement; @@ -13,524 +11,144 @@ namespace Questionable.Navigation; internal sealed class SmartNavRouteEnqueuer(NavRouter navRouter, PlayerNavStateBuilder playerNavStateBuilder, RouteInstructionBuilder instructionBuilder, SmartNavTaskMapper taskMapper, SmartNavReRouteService reRouteService, ILogger logger) { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__9_0; - - internal bool _003CTryEnqueueToTerritory_003Eb__9_0(NavInstruction x) - { - NavInstruction.Move move = x as NavInstruction.Move; - int num = (((object)move == null) ? 1487160675 : 1487160672); - int num5; - while (true) - { - int num2 = num; - int num3 = 1487160674; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 0: - goto IL_0048; - case 2: - num5 = (_206F_202C_206C_202C_202B_206D_202E_206E_202E_206B_200F_206B_202B_202E_200E_200F_202E_200D_206A_206C_202C_206B_200E_202A_206F_206E_206A_202D_202C_206F_206A_206D_206F_206E_206D_200E_200C_200D_206D_202E_202E(move) ? 1 : 0); - break; - case 1: - num5 = 0; - break; - } - break; - IL_0048: - num = 1487160672; - } - return num5 == 0; - } - - static bool _206F_202C_206C_202C_202B_206D_202E_206E_202E_206B_200F_206B_202B_202E_200E_200F_202E_200D_206A_206C_202C_206B_200E_202A_206F_206E_206A_202D_202C_206F_206A_206D_206F_206E_206D_200E_200C_200D_206D_202E_202E(NavInstruction.Move P_0) - { - return P_0.IsFinal; - } - } - public void Enqueue(TaskQueue taskQueue, uint territoryId, Vector3 position, float? fallbackStopDistance = null) { - int num = ((!TryEnqueueRouted(taskQueue, territoryId, position)) ? 421503806 : 421503805); - while (true) + if (!TryEnqueueRouted(taskQueue, territoryId, position)) { - int num2 = num; - int num3 = 421503807; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004c; - case 2: - return; - case 1: - taskQueue.Enqueue(new MoveTask((ushort)territoryId, position, null, MountRequired: false, DismountRequired: false, fallbackStopDistance)); - reRouteService.SetDestination(territoryId, position); - return; - } - continue; - IL_004c: - num = 421503805; + taskQueue.Enqueue(new MoveTask((ushort)territoryId, position, null, MountRequired: false, DismountRequired: false, fallbackStopDistance)); + reRouteService.SetDestination(territoryId, position); } } - [MethodImpl(MethodImplOptions.NoInlining)] public bool TryEnqueueRouted(TaskQueue taskQueue, uint territoryId, Vector3 position) { - PlayerNavState playerNavState = _202B_206D_200F_202E_206D_200C_200D_202D_202A_200C_202E_200F_200D_206E_206E_206C_202E_206C_202B_200E_206D_202E_202D_202E_202B_202A_200C_202B_200C_206C_206E_202C_206E_202A_206E_202A_200B_200B_206A_200F_202E(playerNavStateBuilder, (int?)null); - int num = ((playerNavState != null) ? (-2001710558) : (-2001710559)); - RouteResult routeResult = default(RouteResult); - while (true) + PlayerNavState playerNavState = playerNavStateBuilder.Build(); + if (playerNavState == null) { - int num2 = num; - int num3 = -2001710557; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return false; - case 2: - return false; - case 1: - routeResult = _200C_206A_202A_202C_206A_202E_200C_206D_202C_206B_202D_200D_202B_200D_206C_206D_206C_200D_200D_200F_202C_206F_202D_202C_200E_200D_202D_200D_200F_206D_200D_202D_200F_206C_200F_206D_202A_202D_206C_202E(navRouter, playerNavState, territoryId, position, (IReadOnlySet)null); - num = ((_206A_206D_202C_202A_206C_206A_202D_200C_200D_202C_206E_206A_202C_200F_200F_202A_202B_200D_200C_202B_200E_206A_206D_206D_200C_202C_200E_206F_200B_206B_202B_202D_206F_200C_206D_202B_200F_202A_202C_202B_202E(routeResult).Count != 0) ? (-2001710553) : (-2001710557)); - break; - case 3: - num = -2001710559; - break; - case 4: - { - _200F_200B_206D_206C_206A_202B_200E_202A_200D_202C_206A_200E_200D_206D_200E_200F_202E_200C_200C_206D_206A_206B_202D_200B_202B_202D_206D_206E_200C_202B_200D_206B_206F_200C_200D_206A_206D_206A_206E_202D_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1637216935), new object[1] { _206A_206D_202C_202A_206C_206A_202D_200C_200D_202C_206E_206A_202C_200F_200F_202A_202B_200D_200C_202B_200E_206A_206D_206D_200C_202C_200E_206F_200B_206B_202B_202D_206F_200C_206D_202B_200F_202A_202C_202B_202E(routeResult).Count }); - IEnumerator enumerator = taskMapper.MapInstructions(_202E_200C_200C_202D_206A_206A_200D_200D_206C_200B_202E_206E_200B_200E_206C_200F_200D_200E_202D_206F_200F_200D_206E_206A_200D_202D_200E_206C_202C_206F_202A_206C_206A_206B_202D_206D_206B_202B_202E_206D_202E(instructionBuilder, routeResult, territoryId, false)).GetEnumerator(); - try - { - num = -1110389375; - while (true) - { - int num5 = num; - num3 = -1110389373; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 2: - num = (_206E_206C_206D_202B_206F_200C_200C_200D_202C_206E_202E_202A_202E_200B_206F_206D_206E_206C_206B_202D_202A_206F_200C_206F_202B_206C_200F_200F_202C_206E_206F_206D_200D_206D_202A_202C_202B_202E_200C_206B_202E((IEnumerator)enumerator) ? (-1110389374) : (-1110389376)); - break; - case 1: - { - ITask current = enumerator.Current; - taskQueue.Enqueue(current); - num = -1110389375; - break; - } - case 0: - num = -1110389375; - break; - case 3: - goto end_IL_0109; - } - continue; - end_IL_0109: - break; - } - } - finally - { - num = ((enumerator == null) ? 915371857 : 915371856); - while (true) - { - int num8 = num; - num3 = 915371857; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 915371856; - break; - case 0: - goto end_IL_01a9; - case 1: - _202E_206B_202B_202B_202E_202B_202C_200D_206D_200F_202B_206F_206D_206C_200C_206D_200D_200C_202A_200D_200D_200B_202B_206F_202C_202D_202E_206C_200F_200C_200D_206C_200C_202A_202B_206B_200C_202E_202A_200D_202E((IDisposable)enumerator); - num = 915371857; - break; - } - continue; - end_IL_01a9: - break; - } - } - reRouteService.SetDestination(territoryId, position); - return true; - } - } + return false; } + RouteResult routeResult = navRouter.FindRoute(playerNavState, territoryId, position); + if (routeResult.Segments.Count == 0) + { + return false; + } + logger.LogDebug("SmartNav routing with {Count} segments", routeResult.Segments.Count); + foreach (ITask item in taskMapper.MapInstructions(instructionBuilder.Build(routeResult, territoryId))) + { + taskQueue.Enqueue(item); + } + reRouteService.SetDestination(territoryId, position); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public bool TryEnqueueToTerritory(TaskQueue taskQueue, uint territoryId, Vector3 position) { - PlayerNavState playerNavState = _202B_206D_200F_202E_206D_200C_200D_202D_202A_200C_202E_200F_200D_206E_206E_206C_202E_206C_202B_200E_206D_202E_202D_202E_202B_202A_200C_202B_200C_206C_206E_202C_206E_202A_206E_202A_200B_200B_206A_200F_202E(playerNavStateBuilder, (int?)null); - int num = ((playerNavState != null) ? 990338576 : 990338578); - RouteResult routeResult = default(RouteResult); - List list = default(List); - while (true) + PlayerNavState playerNavState = playerNavStateBuilder.Build(); + if (playerNavState == null) { - int num2 = num; - int num3 = 990338579; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - routeResult = _200C_206A_202A_202C_206A_202E_200C_206D_202C_206B_202D_200D_202B_200D_206C_206D_206C_200D_200D_200F_202C_206F_202D_202C_200E_200D_202D_200D_200F_206D_200D_202D_200F_206C_200F_206D_202A_202D_206C_202E(navRouter, playerNavState, territoryId, position, (IReadOnlySet)null); - num = ((_206A_206D_202C_202A_206C_206A_202D_200C_200D_202C_206E_206A_202C_200F_200F_202A_202B_200D_200C_202B_200E_206A_206D_206D_200C_202C_200E_206F_200B_206B_202B_202D_206F_200C_206D_202B_200F_202A_202C_202B_202E(routeResult).Count != 0) ? 990338577 : 990338579); - break; - case 1: - return false; - case 5: - num = 990338578; - break; - case 6: - return false; - case 2: - list = _202E_200C_200C_202D_206A_206A_200D_200D_206C_200B_202E_206E_200B_200E_206C_200F_200D_200E_202D_206F_200F_200D_206E_206A_200D_202D_200E_206C_202C_206F_202A_206C_206A_206B_202D_206D_206B_202B_202E_206D_202E(instructionBuilder, routeResult, territoryId, false).TakeWhile(delegate(NavInstruction x) - { - NavInstruction.Move move = x as NavInstruction.Move; - int num7 = (((object)move == null) ? 1487160675 : 1487160672); - int num11; - while (true) - { - int num8 = num7; - int num9 = 1487160674; - int num10 = num8; - switch ((num10 | num9) - (num10 & num9)) - { - default: - continue; - case 0: - goto IL_0048; - case 2: - num11 = (_003C_003Ec._206F_202C_206C_202C_202B_206D_202E_206E_202E_206B_200F_206B_202B_202E_200E_200F_202E_200D_206A_206C_202C_206B_200E_202A_206F_206E_206A_202D_202C_206F_206A_206D_206F_206E_206D_200E_200C_200D_206D_202E_202E(move) ? 1 : 0); - break; - case 1: - num11 = 0; - break; - } - break; - IL_0048: - num7 = 1487160672; - } - return num11 == 0; - }).ToList(); - num = ((list.Count != 0) ? 990338583 : 990338581); - break; - case 0: - return false; - case 4: - { - _200F_200B_206D_206C_206A_202B_200E_202A_200D_202C_206A_200E_200D_206D_200E_200F_202E_200C_200C_206D_206A_206B_202D_200B_202B_202D_206D_206E_200C_202B_200D_206B_206F_200C_200D_206A_206D_206A_206E_202D_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-511917065), new object[2] - { - territoryId, - _206A_206D_202C_202A_206C_206A_202D_200C_200D_202C_206E_206A_202C_200F_200F_202A_202B_200D_200C_202B_200E_206A_206D_206D_200C_202C_200E_206F_200B_206B_202B_202D_206F_200C_206D_202B_200F_202A_202C_202B_202E(routeResult).Count - }); - IEnumerator enumerator = taskMapper.MapInstructions(list).GetEnumerator(); - try - { - num = -1387319967; - while (true) - { - int num5 = num; - num3 = -1387319968; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - num = (_206E_206C_206D_202B_206F_200C_200C_200D_202C_206E_202E_202A_202E_200B_206F_206D_206E_206C_206B_202D_202A_206F_200C_206F_202B_206C_200F_200F_202C_206E_206F_206D_200D_206D_202A_202C_202B_202E_200C_206B_202E((IEnumerator)enumerator) ? (-1387319966) : (-1387319965)); - break; - case 2: - { - ITask current = enumerator.Current; - taskQueue.Enqueue(current); - num = -1387319967; - break; - } - case 0: - num = -1387319967; - break; - case 3: - goto end_IL_016e; - } - continue; - end_IL_016e: - break; - } - } - finally - { - num = ((enumerator == null) ? (-1885497311) : (-1885497310)); - while (true) - { - int num6 = num; - num3 = -1885497312; - num4 = num6; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1885497310; - break; - case 1: - goto end_IL_020f; - case 2: - _202E_206B_202B_202B_202E_202B_202C_200D_206D_200F_202B_206F_206D_206C_200C_206D_200D_200C_202A_200D_200D_200B_202B_206F_202C_202D_202E_206C_200F_200C_200D_206C_200C_202A_202B_206B_200C_202E_202A_200D_202E((IDisposable)enumerator); - num = -1885497311; - break; - } - continue; - end_IL_020f: - break; - } - } - reRouteService.ClearDestination(); - return true; - } - } + return false; } + RouteResult routeResult = navRouter.FindRoute(playerNavState, territoryId, position); + if (routeResult.Segments.Count == 0) + { + return false; + } + List list = instructionBuilder.Build(routeResult, territoryId).TakeWhile((NavInstruction x) => !(x is NavInstruction.Move move) || !move.IsFinal).ToList(); + if (list.Count == 0) + { + return false; + } + logger.LogDebug("SmartNav routing to territory {TerritoryId} with {Count} segments; leaving final movement to the caller", territoryId, routeResult.Segments.Count); + foreach (ITask item in taskMapper.MapInstructions(list)) + { + taskQueue.Enqueue(item); + } + reRouteService.ClearDestination(); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public IReadOnlyList BuildRoutedTasks(uint territoryId, Vector3 position) { reRouteService.SetDestination(territoryId, position); - PlayerNavState playerNavState = _202B_206D_200F_202E_206D_200C_200D_202D_202A_200C_202E_200F_200D_206E_206E_206C_202E_206C_202B_200E_206D_202E_202D_202E_202B_202A_200C_202B_200C_206C_206E_202C_206E_202A_206E_202A_200B_200B_206A_200F_202E(playerNavStateBuilder, (int?)null); - int num = ((playerNavState == null) ? (-660464339) : (-660464337)); - RouteResult routeResult = default(RouteResult); - while (true) + PlayerNavState playerNavState = playerNavStateBuilder.Build(); + if (playerNavState != null) { - int num2 = num; - int num3 = -660464338; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + RouteResult routeResult = navRouter.FindRoute(playerNavState, territoryId, position); + if (routeResult.Segments.Count > 0) { - case 2: - num = -660464337; - break; - case 0: - { - _200F_200B_206D_206C_206A_202B_200E_202A_200D_202C_206A_200E_200D_206D_200E_200F_202E_200C_200C_206D_206A_206B_202D_200B_202B_202D_206D_206E_200C_202B_200D_206B_206F_200C_200D_206A_206D_206A_206E_202D_202E((ILogger)logger, 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(627470368), new object[1] { _206A_206D_202C_202A_206C_206A_202D_200C_200D_202C_206E_206A_202C_200F_200F_202A_202B_200D_200C_202B_200E_206A_206D_206D_200C_202C_200E_206F_200B_206B_202B_202D_206F_200C_206D_202B_200F_202A_202C_202B_202E(routeResult).Count }); + logger.LogDebug("SmartNav routing with {Count} segments", routeResult.Segments.Count); List list = new List(); - list.AddRange(taskMapper.MapInstructions(_202E_200C_200C_202D_206A_206A_200D_200D_206C_200B_202E_206E_200B_200E_206C_200F_200D_200E_202D_206F_200F_200D_206E_206A_200D_202D_200E_206C_202C_206F_202A_206C_206A_206B_202D_206D_206B_202B_202E_206D_202E(instructionBuilder, routeResult, territoryId, false))); + list.AddRange(taskMapper.MapInstructions(instructionBuilder.Build(routeResult, territoryId))); return new global::_003C_003Ez__ReadOnlyList(list); } - case 3: - return new global::_003C_003Ez__ReadOnlySingleElementList(new MoveTask((ushort)territoryId, position)); - case 1: - routeResult = _200C_206A_202A_202C_206A_202E_200C_206D_202C_206B_202D_200D_202B_200D_206C_206D_206C_200D_200D_200F_202C_206F_202D_202C_200E_200D_202D_200D_200F_206D_200D_202D_200F_206C_200F_206D_202A_202D_206C_202E(navRouter, playerNavState, territoryId, position, (IReadOnlySet)null); - num = ((_206A_206D_202C_202A_206C_206A_202D_200C_200D_202C_206E_206A_202C_200F_200F_202A_202B_200D_200C_202B_200E_206A_206D_206D_200C_202C_200E_206F_200B_206B_202B_202D_206F_200C_206D_202B_200F_202A_202C_202B_202E(routeResult).Count <= 0) ? (-660464339) : (-660464338)); - break; - } } + return new global::_003C_003Ez__ReadOnlySingleElementList(new MoveTask((ushort)territoryId, position)); } public bool RouteStartsWithTeleport(uint territoryId, Vector3 position) { - PlayerNavState playerNavState = _202B_206D_200F_202E_206D_200C_200D_202D_202A_200C_202E_200F_200D_206E_206E_206C_202E_206C_202B_200E_206D_202E_202D_202E_202B_202A_200C_202B_200C_206C_206E_202C_206E_202A_206E_202A_200B_200B_206A_200F_202E(playerNavStateBuilder, (int?)null); - int num = ((playerNavState != null) ? 1055627121 : 1055627127); - RouteResult routeResult = default(RouteResult); - bool? flag = default(bool?); - while (true) + PlayerNavState playerNavState = playerNavStateBuilder.Build(); + if (playerNavState == null) { - int num2 = num; - int num3 = 1055627123; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return false; + } + RouteResult routeResult = navRouter.FindRoute(playerNavState, territoryId, position); + if (routeResult.Segments.Count == 0) + { + return false; + } + foreach (NavInstruction item in instructionBuilder.Build(routeResult, territoryId)) + { + bool? flag = StartsWithTeleport(item); + if (flag.HasValue) { - case 1: - return false; - case 4: - return false; - case 2: - routeResult = _200C_206A_202A_202C_206A_202E_200C_206D_202C_206B_202D_200D_202B_200D_206C_206D_206C_200D_200D_200F_202C_206F_202D_202C_200E_200D_202D_200D_200F_206D_200D_202D_200F_206C_200F_206D_202A_202D_206C_202E(navRouter, playerNavState, territoryId, position, (IReadOnlySet)null); - num = ((_206A_206D_202C_202A_206C_206A_202D_200C_200D_202C_206E_206A_202C_200F_200F_202A_202B_200D_200C_202B_200E_206A_206D_206D_200C_202C_200E_206F_200B_206B_202B_202D_206F_200C_206D_202B_200F_202A_202C_202B_202E(routeResult).Count != 0) ? 1055627120 : 1055627122); - break; - case 0: - num = 1055627127; - break; - case 3: - { - IEnumerator enumerator = _202E_200C_200C_202D_206A_206A_200D_200D_206C_200B_202E_206E_200B_200E_206C_200F_200D_200E_202D_206F_200F_200D_206E_206A_200D_202D_200E_206C_202C_206F_202A_206C_206A_206B_202D_206D_206B_202B_202E_206D_202E(instructionBuilder, routeResult, territoryId, false).GetEnumerator(); - try - { - num = 606760973; - while (true) - { - int num7 = num; - num3 = 606760975; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 2: - num = (_206E_206C_206D_202B_206F_200C_200C_200D_202C_206E_202E_202A_202E_200B_206F_206D_206E_206C_206B_202D_202A_206F_200C_206F_202B_206C_200F_200F_202C_206E_206F_206D_200D_206D_202A_202C_202B_202E_200C_206B_202E((IEnumerator)enumerator) ? 606760974 : 606760975); - break; - case 3: - return flag == true; - case 1: - flag = StartsWithTeleport(enumerator.Current); - num = ((!flag.HasValue) ? 606760973 : 606760972); - break; - case 4: - num = 606760973; - break; - case 0: - goto end_IL_00d1; - } - continue; - end_IL_00d1: - break; - } - } - finally - { - num = ((enumerator == null) ? 409111292 : 409111295); - while (true) - { - int num10 = num; - num3 = 409111294; - num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - case 0: - num = 409111295; - break; - case 2: - goto end_IL_01a8; - case 1: - _202E_206B_202B_202B_202E_202B_202C_200D_206D_200F_202B_206F_206D_206C_200C_206D_200D_200C_202A_200D_200D_200B_202B_206F_202C_202D_202E_206C_200F_200C_200D_206C_200C_202A_202B_206B_200C_202E_202A_200D_202E((IDisposable)enumerator); - num = 409111292; - break; - } - continue; - end_IL_01a8: - break; - } - } - return false; - } + return flag == true; } } - [MethodImpl(MethodImplOptions.NoInlining)] + return false; static bool? StartsWithTeleport(NavInstruction instruction) { - int num13 = ((instruction is NavInstruction.Teleport) ? (-1918761606) : (-1918761610)); - bool? result = default(bool?); - while (true) + if (instruction is NavInstruction.Teleport) { - int num14 = num13; - int num15 = -1918761612; - int num16 = num14; - int num17 = num16 + num15; - int num18 = num16 & num15; - switch (num17 - (num18 + num18)) - { - case 4: - num13 = -1918761631; - break; - case 13: - result = false; - num13 = -1918761628; - break; - case 22: - num13 = ((instruction is NavInstruction.WaitForTerritory) ? (-1918761612) : (-1918761611)); - break; - case 9: - num13 = ((instruction is NavInstruction.Land) ? (-1918761613) : (-1918761604)); - break; - case 14: - result = true; - num13 = -1918761628; - break; - case 0: - result = null; - num13 = -1918761628; - break; - case 1: - num13 = ((instruction is NavInstruction.WaitForNavmesh) ? (-1918761605) : (-1918761616)); - break; - case 11: - num13 = ((instruction is NavInstruction.InteractWarp) ? (-1918761614) : (-1918761627)); - break; - case 6: - result = false; - num13 = -1918761628; - break; - case 18: - result = null; - num13 = -1918761628; - break; - case 17: - num13 = ((instruction is NavInstruction.SubRegionTransport) ? (-1918761609) : (-1918761603)); - break; - case 16: - return result; - case 12: - result = true; - num13 = -1918761628; - break; - case 5: - result = false; - num13 = -1918761628; - break; - case 2: - num13 = ((instruction is NavInstruction.UseTeleportTicket) ? (-1918761608) : (-1918761602)); - break; - case 7: - result = null; - num13 = -1918761628; - break; - case 19: - num13 = -1918761610; - break; - case 3: - result = false; - num13 = -1918761628; - break; - case 21: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(29, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-651151470)); - defaultInterpolatedStringHandler.AppendFormatted(instruction); - throw _200E_202A_206B_206B_206D_206C_206F_206E_200C_200C_206B_202B_200B_200B_202A_202C_200D_200D_202A_200C_206A_200D_202C_200F_206A_202D_202D_206E_202B_202A_206F_202B_206A_200F_206D_206B_202E_200B_200B_200D_202E(defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 8: - num13 = ((instruction is NavInstruction.Unmount) ? (-1918761626) : (-1918761630)); - break; - case 10: - num13 = ((instruction is NavInstruction.Move) ? (-1918761607) : (-1918761632)); - break; - case 20: - num13 = ((instruction is NavInstruction.AethernetHop) ? (-1918761615) : (-1918761601)); - break; - case 15: - result = null; - num13 = -1918761628; - break; - } + return true; } + if (instruction is NavInstruction.UseTeleportTicket) + { + return true; + } + if (instruction is NavInstruction.Move) + { + return false; + } + if (instruction is NavInstruction.AethernetHop) + { + return false; + } + if (instruction is NavInstruction.InteractWarp) + { + return false; + } + if (instruction is NavInstruction.SubRegionTransport) + { + return false; + } + if (instruction is NavInstruction.Land) + { + return null; + } + if (instruction is NavInstruction.Unmount) + { + return null; + } + if (instruction is NavInstruction.WaitForTerritory) + { + return null; + } + if (!(instruction is NavInstruction.WaitForNavmesh)) + { + throw new InvalidOperationException($"Unclassified NavInstruction: {instruction}"); + } + return null; } } @@ -538,44 +156,4 @@ internal sealed class SmartNavRouteEnqueuer(NavRouter navRouter, PlayerNavStateB { reRouteService.ClearDestination(); } - - static PlayerNavState _202B_206D_200F_202E_206D_200C_200D_202D_202A_200C_202E_200F_200D_206E_206E_206C_202E_206C_202B_200E_206D_202E_202D_202E_202B_202A_200C_202B_200C_206C_206E_202C_206E_202A_206E_202A_200B_200B_206A_200F_202E(PlayerNavStateBuilder P_0, int? P_1) - { - return P_0.Build(P_1); - } - - static RouteResult _200C_206A_202A_202C_206A_202E_200C_206D_202C_206B_202D_200D_202B_200D_206C_206D_206C_200D_200D_200F_202C_206F_202D_202C_200E_200D_202D_200D_200F_206D_200D_202D_200F_206C_200F_206D_202A_202D_206C_202E(NavRouter P_0, PlayerNavState P_1, uint P_2, Vector3 P_3, IReadOnlySet P_4) - { - return P_0.FindRoute(P_1, P_2, P_3, P_4); - } - - static IReadOnlyList _206A_206D_202C_202A_206C_206A_202D_200C_200D_202C_206E_206A_202C_200F_200F_202A_202B_200D_200C_202B_200E_206A_206D_206D_200C_202C_200E_206F_200B_206B_202B_202D_206F_200C_206D_202B_200F_202A_202C_202B_202E(RouteResult P_0) - { - return P_0.Segments; - } - - static void _200F_200B_206D_206C_206A_202B_200E_202A_200D_202C_206A_200E_200D_206D_200E_200F_202E_200C_200C_206D_206A_206B_202D_200B_202B_202D_206D_206E_200C_202B_200D_206B_206F_200C_200D_206A_206D_206A_206E_202D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static IReadOnlyList _202E_200C_200C_202D_206A_206A_200D_200D_206C_200B_202E_206E_200B_200E_206C_200F_200D_200E_202D_206F_200F_200D_206E_206A_200D_202D_200E_206C_202C_206F_202A_206C_206A_206B_202D_206D_206B_202B_202E_206D_202E(RouteInstructionBuilder P_0, RouteResult P_1, uint P_2, bool P_3) - { - return P_0.Build(P_1, P_2, P_3); - } - - static bool _206E_206C_206D_202B_206F_200C_200C_200D_202C_206E_202E_202A_202E_200B_206F_206D_206E_206C_206B_202D_202A_206F_200C_206F_202B_206C_200F_200F_202C_206E_206F_206D_200D_206D_202A_202C_202B_202E_200C_206B_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202E_206B_202B_202B_202E_202B_202C_200D_206D_200F_202B_206F_206D_206C_200C_206D_200D_200C_202A_200D_200D_200B_202B_206F_202C_202D_202E_206C_200F_200C_200D_206C_200C_202A_202B_206B_200C_202E_202A_200D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static InvalidOperationException _200E_202A_206B_206B_206D_206C_206F_206E_200C_200C_206B_202B_200B_200B_202A_202C_200D_200D_202A_200C_206A_200D_202C_200F_206A_202D_202D_206E_202B_202A_206F_202B_206A_200F_206D_206B_202E_200B_200B_200D_202E(string P_0) - { - return new InvalidOperationException(P_0); - } } diff --git a/Questionable/Questionable.Navigation/SmartNavTaskMapper.cs b/Questionable/Questionable.Navigation/SmartNavTaskMapper.cs index 47a7e64..f948a82 100644 --- a/Questionable/Questionable.Navigation/SmartNavTaskMapper.cs +++ b/Questionable/Questionable.Navigation/SmartNavTaskMapper.cs @@ -1,10 +1,7 @@ using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using Questionable.Controller.Steps; using Questionable.Controller.Steps.Common; @@ -13,1227 +10,141 @@ using Questionable.Controller.Steps.Shared; using Questionable.Data; using Questionable.Model.Questing; using SmartNav; -using SmartNav.Model; namespace Questionable.Navigation; internal sealed class SmartNavTaskMapper(IClientState clientState, TerritoryData territoryData) { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass5_0 - { - public SmartNavTaskMapper _003C_003E4__this; - - public NavInstruction.Teleport _003Cteleport_003E5__2; - - public NavInstruction.WaitForTerritory _003Cwait_003E5__3; - - internal bool _003CMap_003Eb__0() - { - return _202E_200E_206E_206A_206D_200E_206E_206D_206F_200B_206D_202C_206F_206B_202C_200D_206B_206A_206A_200E_202B_206F_200F_206C_202E_202E_202A_206C_202C_206F_202D_206B_206D_202E_202D_206C_200F_206F_206B_206B_202E(_003C_003E4__this.clientState) == _206A_202E_202D_200F_206A_200E_206A_200F_202A_206A_206F_206A_200C_206D_206E_202D_200B_206A_206D_206B_202C_206D_202D_200B_202A_206E_206F_200C_206C_200F_206B_206C_206A_202C_200B_206A_200B_202D_206B_202A_202E(_003Cteleport_003E5__2); - } - - internal bool _003CMap_003Eb__1() - { - return _206A_200B_206C_206E_200B_202D_206C_202C_202E_206B_206F_200D_206D_200F_202A_200D_202C_206E_200F_202B_206C_202E_202E_206B_202A_206D_206B_200C_202C_206D_206C_206D_200E_206A_206D_200B_206D_202B_202D_200F_202E(_003Cwait_003E5__3).Contains(_202E_200E_206E_206A_206D_200E_206E_206D_206F_200B_206D_202C_206F_206B_202C_200D_206B_206A_206A_200E_202B_206F_200F_206C_202E_202E_202A_206C_202C_206F_202D_206B_206D_202E_202D_206C_200F_206F_206B_206B_202E(_003C_003E4__this.clientState)); - } - - static uint _202E_200E_206E_206A_206D_200E_206E_206D_206F_200B_206D_202C_206F_206B_202C_200D_206B_206A_206A_200E_202B_206F_200F_206C_202E_202E_202A_206C_202C_206F_202D_206B_206D_202E_202D_206C_200F_206F_206B_206B_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static ushort _206A_202E_202D_200F_206A_200E_206A_200F_202A_206A_206F_206A_200C_206D_206E_202D_200B_206A_206D_206B_202C_206D_202D_200B_202A_206E_206F_200C_206C_200F_206B_206C_206A_202C_200B_206A_200B_202D_206B_202A_202E(NavInstruction.Teleport P_0) - { - return P_0.ExpectedTerritory; - } - - static IReadOnlyList _206A_200B_206C_206E_200B_202D_206C_202C_202E_206B_206F_200D_206D_200F_202A_200D_202C_206E_200F_202B_206C_202E_202E_206B_202A_206D_206B_200C_202C_206D_206C_206D_200E_206A_206D_200B_206D_202B_202D_200F_202E(NavInstruction.WaitForTerritory P_0) - { - return P_0.Acceptable; - } - } - - [CompilerGenerated] - private sealed class _003CMap_003Ed__5 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ITask _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - public SmartNavTaskMapper _003C_003E4__this; - - private NavInstruction instruction; - - public NavInstruction _003C_003E3__instruction; - - private _003C_003Ec__DisplayClass5_0 _003C_003E8__1; - - private NavInstruction nextTravel; - - public NavInstruction _003C_003E3__nextTravel; - - private QuestStep step; - - public QuestStep _003C_003E3__step; - - ITask IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CMap_003Ed__5(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _202C_202D_206D_206C_200C_206D_200F_200B_206B_202C_206E_202B_200E_200F_200C_202C_206F_206B_206E_200D_202C_200B_202B_202E_202C_202B_206C_200C_206A_202D_206F_200E_200F_206B_200F_206A_200F_200B_202A_206B_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - _003C_003E8__1 = null; - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - int num = _003C_003E1__state; - SmartNavTaskMapper smartNavTaskMapper = _003C_003E4__this; - int num2; - NavInstruction.AethernetHop aethernetHop = default(NavInstruction.AethernetHop); - NavInstruction.Move move = default(NavInstruction.Move); - NavInstruction.InteractWarp interactWarp = default(NavInstruction.InteractWarp); - NavInstruction.SubRegionTransport subRegionTransport = default(NavInstruction.SubRegionTransport); - NavInstruction.UseTeleportTicket useTeleportTicket = default(NavInstruction.UseTeleportTicket); - NavInstruction navInstruction = default(NavInstruction); - bool? flag = default(bool?); - bool? flag2 = default(bool?); - switch (num) - { - default: - num2 = 866335748; - goto IL_005c; - case 1: - _003C_003E1__state = -1; - num2 = ((!AetheryteTeleport.MoveAwayFromAetheryteExecutor.AppliesTo(_206E_206E_206B_202A_206C_200B_206D_206E_202B_202D_200E_202B_206F_202B_202B_200C_200C_202B_206D_200D_202D_206B_206E_206A_206B_202C_206A_200E_202C_206E_206B_206A_206E_202D_200D_200B_202A_200B_202B_206B_202E(_003C_003E8__1._003Cteleport_003E5__2))) ? 866335780 : 866335766); - goto IL_005c; - case 9: - goto IL_02c7; - case 4: - goto IL_0392; - case 0: - goto IL_03a5; - case 13: - goto IL_049f; - case 8: - goto IL_054f; - case 11: - goto IL_0562; - case 12: - goto IL_0575; - case 14: - goto IL_058a; - case 10: - goto IL_06b6; - case 3: - goto IL_07cf; - case 7: - goto IL_07e2; - case 5: - goto IL_081d; - case 6: - goto IL_0847; - case 2: - break; - IL_005c: - while (true) - { - int num3 = num2; - int num4 = 866335753; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 40: - _003C_003E2__current = new WaitCondition.Task(() => _003C_003Ec__DisplayClass5_0._206A_200B_206C_206E_200B_202D_206C_202C_202E_206B_206F_200D_206D_200F_202A_200D_202C_206E_200F_202B_206C_202E_202E_206B_202A_206D_206B_200C_202C_206D_206C_206D_200E_206A_206D_200B_206D_202B_202D_200F_202E(_003C_003E8__1._003Cwait_003E5__3).Contains(_003C_003Ec__DisplayClass5_0._202E_200E_206E_206A_206D_200E_206E_206D_206F_200B_206D_202C_206F_206B_202C_200D_206B_206A_206A_200E_202B_206F_200F_206C_202E_202E_202A_206C_202C_206F_202D_206B_206D_202E_202D_206C_200F_206F_206B_206B_202E(_003C_003E8__1._003C_003E4__this.clientState)), _206D_202A_206A_206C_202E_202D_206F_200B_200E_202B_206B_202C_200C_206B_200B_202D_206B_206A_206D_206A_200D_206A_202E_202C_202A_206B_202D_206E_200D_200E_206C_202B_206A_200F_206E_206A_206B_206D_206D_200C_202E(_003C_003E8__1._003Cwait_003E5__3)); - _003C_003E1__state = 10; - return true; - case 19: - goto IL_0176; - case 33: - _003C_003E2__current = new AethernetRide.Task(_202D_200C_200C_202A_206A_206F_200D_202A_206D_202B_200B_202C_200F_200E_202C_206D_200D_202D_206F_202A_202B_202E_202A_206C_206D_202D_206D_202D_202C_202D_200D_200C_202E_202D_202B_202A_206D_206D_206E_202B_202E(aethernetHop), _200F_200D_200D_200B_206A_200F_206F_202B_206A_206A_206F_200B_200E_206B_202A_200F_206E_200E_200F_202D_200B_206F_200C_206D_202B_206E_200C_200E_202B_200F_200B_200B_206E_202E_200C_206B_206E_202C_200F_200C_202E(aethernetHop)); - _003C_003E1__state = 4; - return true; - case 43: - _003C_003E2__current = new WaitCondition.Task(() => _003C_003Ec__DisplayClass5_0._202E_200E_206E_206A_206D_200E_206E_206D_206F_200B_206D_202C_206F_206B_202C_200D_206B_206A_206A_200E_202B_206F_200F_206C_202E_202E_202A_206C_202C_206F_202D_206B_206D_202E_202D_206C_200F_206F_206B_206B_202E(_003C_003E8__1._003C_003E4__this.clientState) == _003C_003Ec__DisplayClass5_0._206A_202E_202D_200F_206A_200E_206A_200F_202A_206A_206F_206A_200C_206D_206E_202D_200B_206A_206D_206B_202C_206D_202D_200B_202A_206E_206F_200C_206C_200F_206B_206C_206A_202C_200B_206A_200B_202D_206B_202A_202E(_003C_003E8__1._003Cteleport_003E5__2), _206B_200E_200C_206D_202D_206F_200D_206D_206C_202D_200D_200B_202C_206D_206A_206E_206E_200E_206F_206E_206A_202B_202C_200E_200C_202E_206A_206C_200B_206A_202A_202B_202A_200F_202B_200E_200E_206F_202B_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-344536108), smartNavTaskMapper.territoryData.GetNameAndId(_206D_206B_200E_200F_200B_202E_206E_206F_200E_206D_206A_202E_200F_202D_206B_202D_206D_202A_202E_202A_206F_206E_200E_200F_200F_202B_200E_202E_202E_200E_206D_200F_202A_206D_206F_206B_200B_202C_200F_202B_202E(_003C_003E8__1._003Cteleport_003E5__2)), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321))); - _003C_003E1__state = 2; - return true; - case 25: - goto end_IL_005c; - case 3: - goto IL_0259; - case 32: - _003C_003E2__current = new WaitNavmesh.Task(); - _003C_003E1__state = 11; - return true; - case 14: - goto IL_0296; - case 30: - goto IL_02c7; - case 44: - num2 = 866335748; - break; - case 18: - goto IL_02e6; - case 7: - { - NavInstruction.Move move2 = move; - ushort territoryId = _202C_202B_202D_202A_202D_200C_206E_200D_202E_200F_206C_202D_202A_202C_200B_202C_206D_200C_200E_206C_206E_200E_202D_206D_206F_202B_206D_206B_200E_206F_202B_206F_206A_202E_202C_200F_202E_206F_202B_202E_202E(move2); - Vector3 destination2 = _206D_206D_206E_202B_206B_202B_200C_202B_202D_200B_200B_200C_200F_200E_202D_200D_200B_206B_200E_200B_202E_200D_202C_202E_200B_202C_200C_202C_200F_200C_202A_200B_206E_206F_206D_200F_206C_202E_202B_202E(move2); - bool? mount = _206D_206E_200B_206A_202B_202B_200B_200D_200D_200E_202E_206B_206C_202E_200B_202A_206B_206E_202C_206A_206B_200D_200C_206A_200B_206A_206D_206F_206A_200B_206E_206A_202C_200B_202B_206C_200C_200F_200F_202E_202E(move2); - float? stopDistance = _206F_200C_200E_206D_202C_206C_206D_200C_206C_206B_206D_206D_206F_206F_202D_200E_206B_202B_200F_200B_202C_206E_206D_202C_202B_202C_206A_206D_206B_200D_202B_200B_206C_200F_202C_202A_200E_202D_206E_202A_202E(move2); - uint? dataId = _206C_200D_202D_200B_202D_202D_206B_206C_200C_206B_202A_206F_200E_200C_202D_206B_206F_206C_200B_200B_202A_200D_200F_202D_206B_206F_206D_206D_202A_206A_202D_200B_200B_200F_206B_202D_200F_200C_202B_202E(move2); - bool disableNavmesh = _200F_202C_202E_202E_206E_200D_206D_206C_206D_202A_202E_206F_202B_206F_202E_200E_202C_200F_206D_200F_206E_206F_202D_206E_202B_206C_206C_206B_202E_202D_202E_206C_202B_206E_200E_206A_206B_206E_206C_202B_202E(move2); - bool fly = _206B_206D_200D_206D_206D_200C_206F_206D_206F_202E_206E_206A_202B_200C_206F_200B_200F_202D_206E_206E_206B_202B_206A_206D_200D_206C_206E_200B_206B_206B_202B_206F_200F_200C_202E_200C_206B_200D_200B_202B_202E(move2); - bool land = _200D_200F_206A_206A_202B_200E_200F_200D_202C_202B_202D_206C_200C_200B_200D_202E_202E_206F_200F_202C_202A_206D_200B_200F_200E_206E_206D_206E_202B_202C_206C_200D_206B_206A_202A_202E_202E_206D_206B_202B_202E(move2); - bool allowZoneTransition = _200D_206B_200F_206E_202A_200C_206F_206A_206E_200B_206E_200E_202A_200D_200B_202B_202C_206C_202A_206C_200E_202C_202E_206E_200D_202E_206C_200F_200E_200C_206C_206F_202D_202B_206E_202E_200B_202E_206E_202B_202E(move2); - string routeTargetNodeId = _206F_202D_200D_202B_202C_206B_206B_200C_200C_206F_202D_200C_206B_202D_206E_202D_202A_206A_206F_206D_200E_202E_200B_202D_206E_206C_200E_202A_206D_206D_202E_202E_200D_200F_200E_200F_200E_202E_200C_206D_202E(move2); - string routeApproachNodeId = _206B_200F_202D_206E_200D_206A_206A_206F_200F_200D_202A_202C_206E_206F_202B_206C_206F_206A_206D_200E_202B_206A_202C_206B_206D_206D_202A_206C_200E_206D_200B_200E_206F_206A_206A_206F_200C_200B_206D_200C_202E(move2); - _003C_003E2__current = new MoveTask(territoryId, destination2, mount, MountRequired: false, DismountRequired: false, stopDistance, dataId, disableNavmesh, null, fly, land, IgnoreDistanceToObject: false, RestartNavigation: true, EInteractionType.None, SmartNavRouted: true, allowZoneTransition, routeTargetNodeId, routeApproachNodeId); - _003C_003E1__state = 7; - return true; - } - case 4: - goto IL_0392; - case 2: - goto IL_03a5; - case 26: - _003C_003E2__current = new WarpInteract.Task(_206A_200E_206B_206D_206C_200C_202A_206A_202B_206D_202E_206E_206E_200B_200B_206A_200C_200F_200F_206E_200D_200E_202E_200C_200E_206C_202B_200E_200F_202B_200E_206D_206D_206C_206C_202D_200E_206D_202D_202B_202E(interactWarp), _206A_202E_206D_202B_202E_202B_206D_200B_206D_202D_200F_206A_200E_206B_206E_206C_202D_202D_200E_200F_206A_200C_200B_200D_200E_200F_202C_202E_202D_206E_206D_200F_202A_200E_206B_202C_202D_206A_206F_206A_202E(interactWarp), _202E_200E_200D_200B_202C_200E_206D_202D_202A_200D_200D_202C_202B_206E_206E_206F_206C_206A_206D_202C_202B_202C_200D_206E_206A_200D_202C_206F_200F_206D_202A_200D_202B_200E_206C_206E_200E_206E_200B_200F_202E(interactWarp), _200F_200F_202C_202D_206D_202B_200F_200E_200B_202E_206A_202E_206C_202C_206F_202D_200F_202E_200D_206F_200D_200C_206C_202D_200E_206C_206A_206A_206F_206F_206F_200B_200C_206C_202A_200E_202C_206D_200F_206F_202E(interactWarp)); - _003C_003E1__state = 12; - return true; - case 48: - _003C_003E2__current = new SubRegionTransport.Task(_200B_200F_202E_206F_202C_206B_206F_206F_206D_200C_202C_206C_202D_200E_206D_206F_200F_206F_206A_200C_200F_206B_202B_206A_200B_200E_200B_202B_202B_206E_200D_200C_202D_206E_200D_200D_202D_206E_200F_200E_202E(subRegionTransport), _202B_202D_202B_206A_200B_202B_200D_200F_206B_202B_202C_202B_200C_200D_202A_200E_200B_200B_206F_206B_202C_202E_202C_206B_206C_206B_202B_200D_206B_202B_206C_200C_206D_202D_202B_206F_206C_200F_202B_200F_202E(subRegionTransport), _202C_202B_206C_206F_206D_200E_200C_200E_202D_206A_200B_206A_202A_202C_202A_200B_206A_202B_202A_202B_202D_200E_200D_200B_206F_206E_206D_206E_202B_202A_202C_200F_202E_202A_200F_206E_206A_206A_206C_200C_202E(subRegionTransport)); - _003C_003E1__state = 14; - return true; - case 17: - goto IL_0465; - case 29: - goto IL_049f; - case 37: - goto IL_04b2; - case 27: - goto IL_04d6; - case 41: - _003C_003E2__current = new TicketTeleport.Task(_202C_200C_206C_202B_200F_200E_200F_202B_200D_200E_200D_206B_206B_200B_200E_206C_202C_206F_200B_202A_206F_200E_202C_200E_200E_206D_200D_202E_200E_206F_206F_206E_202D_202A_206F_206C_206C_200C_202E_206C_202E(useTeleportTicket), _200E_206F_206B_200E_200E_206C_206A_206C_206B_206E_200E_200B_206A_200B_200F_202B_202D_206E_200C_206D_206E_206C_200B_206B_206A_206D_206F_206D_200C_200D_202D_206E_202D_202E_206D_202C_200B_202A_206D_200E_202E(useTeleportTicket)); - _003C_003E1__state = 13; - return true; - case 24: - goto IL_051d; - case 20: - num2 = 866335786; - break; - case 13: - return false; - case 11: - goto IL_054f; - case 5: - goto IL_0562; - case 15: - goto IL_0575; - case 45: - return false; - case 12: - goto IL_058a; - case 1: - goto IL_059d; - case 0: - { - QuestStep questStep = step; - Vector3 destination = _206D_206D_206F_202D_202B_200C_206A_200F_206F_202B_200B_200C_200D_202E_200D_202B_200E_206A_200E_200F_202D_202E_206E_200C_206D_200F_202B_202A_206D_200C_202C_206B_202A_206B_202E_200B_206B_200B_206F_206C_202E(step) ?? _206D_206D_206E_202B_206B_202B_200C_202B_202D_200B_200B_200C_200F_200E_202D_200D_200B_206B_200E_200B_202E_200D_202C_202E_200B_202C_200C_202C_200F_200C_202A_200B_206E_206F_206D_200F_206C_202E_202B_202E(move); - _003C_003E2__current = new MoveTask(questStep, destination)with - { - Fly = (_206B_206D_200D_206D_206D_200C_206F_206D_206F_202E_206E_206A_202B_200C_206F_200B_200F_202D_206E_206E_206B_202B_206A_206D_200D_206C_206E_200B_206B_206B_202B_206F_200F_200C_202E_200C_206B_200D_200B_202B_202E(move) || _206D_202B_206F_206D_206D_202E_206D_202E_200F_200E_206C_206B_202E_206F_202D_206B_200E_200D_200F_202C_202A_206B_206A_200C_200C_206B_202E_202B_200C_202E_206C_206F_206C_200C_200C_206C_206D_206B_200B_206E_202E(step) == true), - Land = (_206B_206D_200D_206D_206D_200C_206F_206D_206F_202E_206E_206A_202B_200C_206F_200B_200F_202D_206E_206E_206B_202B_206A_206D_200D_206C_206E_200B_206B_206B_202B_206F_200F_200C_202E_200C_206B_200D_200B_202B_202E(move) || _202C_206C_200C_200C_206B_200E_202C_200F_206C_202C_206F_202A_200B_202A_200C_206E_206A_200D_206C_200D_202A_206D_206C_206D_202E_206F_202A_206B_200F_206F_202B_202E_206A_202C_200E_206D_206E_206A_200D_206A_202E(step) == true), - SmartNavRouted = true, - RouteTargetNodeId = _206F_202D_200D_202B_202C_206B_206B_200C_200C_206F_202D_200C_206B_202D_206E_202D_202A_206A_206F_206D_200E_202E_200B_202D_206E_206C_200E_202A_206D_206D_202E_202E_200D_200F_200E_200F_200E_202E_200C_206D_202E(move), - RouteApproachNodeId = _206B_200F_202D_206E_200D_206A_206A_206F_200F_200D_202A_202C_206E_206F_202B_206C_206F_206A_206D_200E_202B_206A_202C_206B_206D_206D_202A_206C_200E_206D_200B_200E_206F_206A_206A_206F_200C_200B_206D_200C_202E(move) - }; - _003C_003E1__state = 5; - return true; - } - case 46: - _003C_003E2__current = new AetheryteTeleport.Task(_206E_206E_206B_202A_206C_200B_206D_206E_202B_202D_200E_202B_206F_202B_202B_200C_200C_202B_206D_200D_202D_206B_206E_206A_206B_202C_206A_200E_202C_206E_206B_206A_206E_202D_200D_200B_202A_200B_202B_206B_202E(_003C_003E8__1._003Cteleport_003E5__2), _206D_206B_200E_200F_200B_202E_206E_206F_200E_206D_206A_202E_200F_202D_206B_202D_206D_202A_202E_202A_206F_206E_200E_200F_200F_202B_200E_202E_202E_200E_206D_200F_202A_206D_206F_206B_200B_202C_200F_202B_202E(_003C_003E8__1._003Cteleport_003E5__2)); - _003C_003E1__state = 1; - return true; - case 39: - goto IL_06b6; - case 22: - _003C_003E2__current = new Mount.UnmountTask(); - _003C_003E1__state = 9; - return true; - case 6: - goto IL_06de; - case 38: - goto IL_0701; - case 23: - goto IL_0724; - case 16: - _003C_003E2__current = new LandTask(); - _003C_003E1__state = 6; - return true; - case 31: - goto IL_0760; - case 42: - goto IL_07cf; - case 9: - goto IL_07e2; - case 21: - goto IL_07f5; - case 28: - goto IL_081d; - case 47: - goto IL_0847; - case 35: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(25, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-82937501)); - defaultInterpolatedStringHandler.AppendFormatted(instruction); - throw _202A_200D_206A_200C_206F_202A_202E_200D_206C_202A_200C_206E_202C_206D_202E_206D_200E_200C_206F_202C_206A_202C_206B_200E_206C_206A_202A_206A_200B_206F_206D_200F_200C_200B_200F_200F_206B_200C_206D_206F_202E(defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 36: - _003C_003E2__current = new LandTask(); - _003C_003E1__state = 8; - return true; - case 8: - goto IL_08a3; - case 34: - goto IL_08c7; - case 10: - goto end_IL_000f; - } - continue; - IL_08c7: - aethernetHop = navInstruction as NavInstruction.AethernetHop; - num2 = (((object)aethernetHop != null) ? 866335784 : 866335752); - continue; - IL_051d: - num2 = ((flag != true) ? 866335780 : 866335769); - continue; - IL_0259: - subRegionTransport = navInstruction as NavInstruction.SubRegionTransport; - num2 = (((object)subRegionTransport != null) ? 866335801 : 866335773); - continue; - IL_08a3: - num2 = ((navInstruction is NavInstruction.Unmount) ? 866335775 : 866335768); - continue; - IL_0701: - num2 = ((!_200D_206A_202B_202B_202C_206D_206B_202A_206B_206B_202D_206C_206B_200B_202A_206A_202E_200E_202E_200B_202C_206F_206C_206C_202D_206E_206F_206E_206E_200D_206C_200B_206E_202E_202D_206E_202B_200C_202D_200E_202E(move)) ? 866335758 : 866335759); - continue; - IL_0465: - _003C_003E8__1._003Cwait_003E5__3 = navInstruction as NavInstruction.WaitForTerritory; - num2 = (((object)_003C_003E8__1._003Cwait_003E5__3 != null) ? 866335777 : 866335771); - continue; - IL_07f5: - interactWarp = navInstruction as NavInstruction.InteractWarp; - num2 = (((object)interactWarp != null) ? 866335763 : 866335774); - continue; - IL_04d6: - num2 = ((navInstruction is NavInstruction.Land) ? 866335789 : 866335745); - continue; - IL_06de: - num2 = ((step == null) ? 866335758 : 866335753); - continue; - IL_0760: - NavInstruction.AethernetHop obj = nextTravel as NavInstruction.AethernetHop; - num2 = (((((object)obj != null) ? new EAetheryteLocation?(_206B_202B_200E_200F_206F_202E_202E_206B_202B_206C_202C_206B_202A_202A_206C_202A_206E_202A_206B_200B_202C_200C_202D_200D_206F_206C_200D_206F_202D_202E_200D_200D_200C_200D_200E_206D_200D_202B_202B_206E_202E(obj)) : ((EAetheryteLocation?)null)) == _206E_206E_206B_202A_206C_200B_206D_206E_202B_202D_200E_202B_206F_202B_202B_200C_200C_202B_206D_200D_202D_206B_206E_206A_206B_202C_206A_200E_202C_206E_206B_206A_206E_202D_200D_200B_202A_200B_202B_206B_202E(_003C_003E8__1._003Cteleport_003E5__2)) ? 866335780 : 866335778); - continue; - IL_0296: - flag = _202C_206C_200C_200C_206B_200E_202C_200F_206C_202C_206F_202A_200B_202A_200C_206E_206A_200D_206C_200D_202A_206D_206C_206D_202E_206F_202A_206B_200F_206F_202B_202E_206A_202C_200E_206D_206E_206A_200D_206A_202E(step); - num2 = ((!flag.HasValue) ? 866335780 : 866335761); - continue; - IL_059d: - move = navInstruction as NavInstruction.Move; - num2 = (((object)move != null) ? 866335791 : 866335762); - continue; - IL_0176: - flag2 = _206D_202B_206F_206D_206D_202E_206D_202E_200F_200E_206C_206B_202E_206F_202D_206B_200E_200D_200F_202C_202A_206B_206A_200C_200C_206B_202E_202B_200C_202E_206C_206F_206C_200C_200C_206C_206D_206B_200B_206E_202E(step); - num2 = ((!flag2.HasValue) ? 866335780 : 866335788); - continue; - IL_04b2: - num2 = ((flag2 != true) ? 866335780 : 866335751); - continue; - IL_02e6: - num2 = ((navInstruction is NavInstruction.WaitForNavmesh) ? 866335785 : 866335772); - continue; - IL_0724: - useTeleportTicket = navInstruction as NavInstruction.UseTeleportTicket; - num2 = (((object)useTeleportTicket != null) ? 866335776 : 866335754); - continue; - end_IL_005c: - break; - } - goto case 1; - IL_0847: - _003C_003E1__state = -1; - num2 = 866335780; - goto IL_005c; - IL_081d: - _003C_003E1__state = -1; - num2 = ((step == null) ? 866335780 : 866335770); - goto IL_005c; - IL_02c7: - _003C_003E1__state = -1; - num2 = 866335780; - goto IL_005c; - IL_07e2: - _003C_003E1__state = -1; - num2 = 866335780; - goto IL_005c; - IL_07cf: - _003C_003E1__state = -1; - num2 = 866335780; - goto IL_005c; - IL_06b6: - _003C_003E1__state = -1; - num2 = 866335780; - goto IL_005c; - IL_058a: - _003C_003E1__state = -1; - num2 = 866335780; - goto IL_005c; - IL_0575: - _003C_003E1__state = -1; - num2 = 866335780; - goto IL_005c; - IL_0562: - _003C_003E1__state = -1; - num2 = 866335780; - goto IL_005c; - IL_054f: - _003C_003E1__state = -1; - num2 = 866335780; - goto IL_005c; - IL_049f: - _003C_003E1__state = -1; - num2 = 866335780; - goto IL_005c; - IL_03a5: - _003C_003E1__state = -1; - _003C_003E8__1 = new _003C_003Ec__DisplayClass5_0(); - _003C_003E8__1._003C_003E4__this = _003C_003E4__this; - navInstruction = instruction; - _003C_003E8__1._003Cteleport_003E5__2 = navInstruction as NavInstruction.Teleport; - num2 = (((object)_003C_003E8__1._003Cteleport_003E5__2 != null) ? 866335783 : 866335787); - goto IL_005c; - IL_0392: - _003C_003E1__state = -1; - num2 = 866335780; - goto IL_005c; - end_IL_000f: - break; - } - _003C_003E1__state = -1; - _003C_003E2__current = new AetheryteTeleport.MoveAwayFromAetheryte(_206E_206E_206B_202A_206C_200B_206D_206E_202B_202D_200E_202B_206F_202B_202B_200C_200C_202B_206D_200D_202D_206B_206E_206A_206B_202C_206A_200E_202C_206E_206B_206A_206E_202D_200D_200B_202A_200B_202B_206B_202E(_003C_003E8__1._003Cteleport_003E5__2)); - _003C_003E1__state = 3; - return true; - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _200D_206C_200B_202A_206E_206C_202D_202A_206D_200F_200B_206A_200D_200E_202E_206D_202B_206D_206F_202B_202C_202A_206F_200F_200E_206C_202B_206E_202E_200F_202E_206D_200D_206D_200E_206A_202D_206B_206A_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? 1996571645 : 1996571644); - _003CMap_003Ed__5 _003CMap_003Ed__ = default(_003CMap_003Ed__5); - while (true) - { - int num2 = num; - int num3 = 1996571646; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - _003CMap_003Ed__.instruction = _003C_003E3__instruction; - _003CMap_003Ed__.nextTravel = _003C_003E3__nextTravel; - _003CMap_003Ed__.step = _003C_003E3__step; - return _003CMap_003Ed__; - case 4: - _003C_003E1__state = 0; - _003CMap_003Ed__ = this; - num = 1996571647; - break; - case 2: - num = ((_003C_003El__initialThreadId != _202C_202D_206D_206C_200C_206D_200F_200B_206B_202C_206E_202B_200E_200F_200C_202C_206F_206B_206E_200D_202C_200B_202B_202E_202C_202B_206C_200C_206A_202D_206F_200E_200F_206B_200F_206A_200F_200B_202A_206B_202E()) ? 1996571645 : 1996571642); - break; - case 3: - _003CMap_003Ed__ = new _003CMap_003Ed__5(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = 1996571647; - break; - case 0: - num = 1996571644; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _202C_202D_206D_206C_200C_206D_200F_200B_206B_202C_206E_202B_200E_200F_200C_202C_206F_206B_206E_200D_202C_200B_202B_202E_202C_202B_206C_200C_206A_202D_206F_200E_200F_206B_200F_206A_200F_200B_202A_206B_202E() - { - return Environment.CurrentManagedThreadId; - } - - static EAetheryteLocation _206E_206E_206B_202A_206C_200B_206D_206E_202B_202D_200E_202B_206F_202B_202B_200C_200C_202B_206D_200D_202D_206B_206E_206A_206B_202C_206A_200E_202C_206E_206B_206A_206E_202D_200D_200B_202A_200B_202B_206B_202E(NavInstruction.Teleport P_0) - { - return P_0.Target; - } - - static ushort _206D_206B_200E_200F_200B_202E_206E_206F_200E_206D_206A_202E_200F_202D_206B_202D_206D_202A_202E_202A_206F_206E_200E_200F_200F_202B_200E_202E_202E_200E_206D_200F_202A_206D_206F_206B_200B_202C_200F_202B_202E(NavInstruction.Teleport P_0) - { - return P_0.ExpectedTerritory; - } - - static EAetheryteLocation _206B_202B_200E_200F_206F_202E_202E_206B_202B_206C_202C_206B_202A_202A_206C_202A_206E_202A_206B_200B_202C_200C_202D_200D_206F_206C_200D_206F_202D_202E_200D_200D_200C_200D_200E_206D_200D_202B_202B_206E_202E(NavInstruction.AethernetHop P_0) - { - return P_0.From; - } - - static string _206B_200E_200C_206D_202D_206F_200D_206D_206C_202D_200D_200B_202C_206D_206A_206E_206E_200E_206F_206E_206A_202B_202C_200E_200C_202E_206A_206C_200B_206A_202A_202B_202A_200F_202B_200E_200E_206F_202B_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static EAetheryteLocation _202D_200C_200C_202A_206A_206F_200D_202A_206D_202B_200B_202C_200F_200E_202C_206D_200D_202D_206F_202A_202B_202E_202A_206C_206D_202D_206D_202D_202C_202D_200D_200C_202E_202D_202B_202A_206D_206D_206E_202B_202E(NavInstruction.AethernetHop P_0) - { - return P_0.From; - } - - static EAetheryteLocation _200F_200D_200D_200B_206A_200F_206F_202B_206A_206A_206F_200B_200E_206B_202A_200F_206E_200E_200F_202D_200B_206F_200C_206D_202B_206E_200C_200E_202B_200F_200B_200B_206E_202E_200C_206B_206E_202C_200F_200C_202E(NavInstruction.AethernetHop P_0) - { - return P_0.To; - } - - static bool _200D_206A_202B_202B_202C_206D_206B_202A_206B_206B_202D_206C_206B_200B_202A_206A_202E_200E_202E_200B_202C_206F_206C_206C_202D_206E_206F_206E_206E_200D_206C_200B_206E_202E_202D_206E_202B_200C_202D_200E_202E(NavInstruction.Move P_0) - { - return P_0.IsFinal; - } - - static Vector3? _206D_206D_206F_202D_202B_200C_206A_200F_206F_202B_200B_200C_200D_202E_200D_202B_200E_206A_200E_200F_202D_202E_206E_200C_206D_200F_202B_202A_206D_200C_202C_206B_202A_206B_202E_200B_206B_200B_206F_206C_202E(QuestStep P_0) - { - return P_0.Position; - } - - static Vector3 _206D_206D_206E_202B_206B_202B_200C_202B_202D_200B_200B_200C_200F_200E_202D_200D_200B_206B_200E_200B_202E_200D_202C_202E_200B_202C_200C_202C_200F_200C_202A_200B_206E_206F_206D_200F_206C_202E_202B_202E(NavInstruction.Move P_0) - { - return P_0.Position; - } - - static bool _206B_206D_200D_206D_206D_200C_206F_206D_206F_202E_206E_206A_202B_200C_206F_200B_200F_202D_206E_206E_206B_202B_206A_206D_200D_206C_206E_200B_206B_206B_202B_206F_200F_200C_202E_200C_206B_200D_200B_202B_202E(NavInstruction.Move P_0) - { - return P_0.Fly; - } - - static bool? _206D_202B_206F_206D_206D_202E_206D_202E_200F_200E_206C_206B_202E_206F_202D_206B_200E_200D_200F_202C_202A_206B_206A_200C_200C_206B_202E_202B_200C_202E_206C_206F_206C_200C_200C_206C_206D_206B_200B_206E_202E(QuestStep P_0) - { - return P_0.Fly; - } - - static bool? _202C_206C_200C_200C_206B_200E_202C_200F_206C_202C_206F_202A_200B_202A_200C_206E_206A_200D_206C_200D_202A_206D_206C_206D_202E_206F_202A_206B_200F_206F_202B_202E_206A_202C_200E_206D_206E_206A_200D_206A_202E(QuestStep P_0) - { - return P_0.Land; - } - - static string _206F_202D_200D_202B_202C_206B_206B_200C_200C_206F_202D_200C_206B_202D_206E_202D_202A_206A_206F_206D_200E_202E_200B_202D_206E_206C_200E_202A_206D_206D_202E_202E_200D_200F_200E_200F_200E_202E_200C_206D_202E(NavInstruction.Move P_0) - { - return P_0.TargetNodeId; - } - - static string _206B_200F_202D_206E_200D_206A_206A_206F_200F_200D_202A_202C_206E_206F_202B_206C_206F_206A_206D_200E_202B_206A_202C_206B_206D_206D_202A_206C_200E_206D_200B_200E_206F_206A_206A_206F_200C_200B_206D_200C_202E(NavInstruction.Move P_0) - { - return P_0.ApproachNodeId; - } - - static ushort _202C_202B_202D_202A_202D_200C_206E_200D_202E_200F_206C_202D_202A_202C_200B_202C_206D_200C_200E_206C_206E_200E_202D_206D_206F_202B_206D_206B_200E_206F_202B_206F_206A_202E_202C_200F_202E_206F_202B_202E_202E(NavInstruction.Move P_0) - { - return P_0.Territory; - } - - static bool? _206D_206E_200B_206A_202B_202B_200B_200D_200D_200E_202E_206B_206C_202E_200B_202A_206B_206E_202C_206A_206B_200D_200C_206A_200B_206A_206D_206F_206A_200B_206E_206A_202C_200B_202B_206C_200C_200F_200F_202E_202E(NavInstruction.Move P_0) - { - return P_0.Mount; - } - - static float? _206F_200C_200E_206D_202C_206C_206D_200C_206C_206B_206D_206D_206F_206F_202D_200E_206B_202B_200F_200B_202C_206E_206D_202C_202B_202C_206A_206D_206B_200D_202B_200B_206C_200F_202C_202A_200E_202D_206E_202A_202E(NavInstruction.Move P_0) - { - return P_0.StopDistance; - } - - static uint? _206C_200D_202D_200B_202D_202D_206B_206C_200C_206B_202A_206F_200E_200C_202D_206B_206F_206C_200B_200B_202A_200D_200F_202D_206B_206F_206D_206D_202A_206A_202D_200B_200B_200F_206B_202D_200F_200C_202B_202E(NavInstruction.Move P_0) - { - return P_0.DataId; - } - - static bool _200F_202C_202E_202E_206E_200D_206D_206C_206D_202A_202E_206F_202B_206F_202E_200E_202C_200F_206D_200F_206E_206F_202D_206E_202B_206C_206C_206B_202E_202D_202E_206C_202B_206E_200E_206A_206B_206E_206C_202B_202E(NavInstruction.Move P_0) - { - return P_0.DisableNavmesh; - } - - static bool _200D_200F_206A_206A_202B_200E_200F_200D_202C_202B_202D_206C_200C_200B_200D_202E_202E_206F_200F_202C_202A_206D_200B_200F_200E_206E_206D_206E_202B_202C_206C_200D_206B_206A_202A_202E_202E_206D_206B_202B_202E(NavInstruction.Move P_0) - { - return P_0.LandAtTarget; - } - - static bool _200D_206B_200F_206E_202A_200C_206F_206A_206E_200B_206E_200E_202A_200D_200B_202B_202C_206C_202A_206C_200E_202C_202E_206E_200D_202E_206C_200F_200E_200C_206C_206F_202D_202B_206E_202E_200B_202E_206E_202B_202E(NavInstruction.Move P_0) - { - return P_0.AllowZoneTransition; - } - - static string _206D_202A_206A_206C_202E_202D_206F_200B_200E_202B_206B_202C_200C_206B_200B_202D_206B_206A_206D_206A_200D_206A_202E_202C_202A_206B_202D_206E_200D_200E_206C_202B_206A_200F_206E_206A_206B_206D_206D_200C_202E(NavInstruction.WaitForTerritory P_0) - { - return P_0.Description; - } - - static uint _206A_200E_206B_206D_206C_200C_202A_206A_202B_206D_202E_206E_206E_200B_200B_206A_200C_200F_200F_206E_200D_200E_202E_200C_200E_206C_202B_200E_200F_202B_200E_206D_206D_206C_206C_202D_200E_206D_202D_202B_202E(NavInstruction.InteractWarp P_0) - { - return P_0.NpcDataId; - } - - static uint _206A_202E_206D_202B_202E_202B_206D_200B_206D_202D_200F_206A_200E_206B_206E_206C_202D_202D_200E_200F_206A_200C_200B_200D_200E_200F_202C_202E_202D_206E_206D_200F_202A_200E_206B_202C_202D_206A_206F_206A_202E(NavInstruction.InteractWarp P_0) - { - return P_0.WarpRowId; - } - - static ushort _202E_200E_200D_200B_202C_200E_206D_202D_202A_200D_200D_202C_202B_206E_206E_206F_206C_206A_206D_202C_202B_202C_200D_206E_206A_200D_202C_206F_200F_206D_202A_200D_202B_200E_206C_206E_200E_206E_200B_200F_202E(NavInstruction.InteractWarp P_0) - { - return P_0.FromTerritory; - } - - static ushort _200F_200F_202C_202D_206D_202B_200F_200E_200B_202E_206A_202E_206C_202C_206F_202D_200F_202E_200D_206F_200D_200C_206C_202D_200E_206C_206A_206A_206F_206F_206F_200B_200C_206C_202A_200E_202C_206D_200F_206F_202E(NavInstruction.InteractWarp P_0) - { - return P_0.ToTerritory; - } - - static uint _202C_200C_206C_202B_200F_200E_200F_202B_200D_200E_200D_206B_206B_200B_200E_206C_202C_206F_200B_202A_206F_200E_202C_200E_200E_206D_200D_202E_200E_206F_206F_206E_202D_202A_206F_206C_206C_200C_202E_206C_202E(NavInstruction.UseTeleportTicket P_0) - { - return P_0.ItemId; - } - - static ushort _200E_206F_206B_200E_200E_206C_206A_206C_206B_206E_200E_200B_206A_200B_200F_202B_202D_206E_200C_206D_206E_206C_200B_206B_206A_206D_206F_206D_200C_200D_202D_206E_202D_202E_206D_202C_200B_202A_206D_200E_202E(NavInstruction.UseTeleportTicket P_0) - { - return P_0.Territory; - } - - static Vector3 _200B_200F_202E_206F_202C_206B_206F_206F_206D_200C_202C_206C_202D_200E_206D_206F_200F_206F_206A_200C_200F_206B_202B_206A_200B_200E_200B_202B_202B_206E_200D_200C_202D_206E_200D_200D_202D_206E_200F_200E_202E(NavInstruction.SubRegionTransport P_0) - { - return P_0.From; - } - - static Vector3 _202B_202D_202B_206A_200B_202B_200D_200F_206B_202B_202C_202B_200C_200D_202A_200E_200B_200B_206F_206B_202C_202E_202C_206B_206C_206B_202B_200D_206B_202B_206C_200C_206D_202D_202B_206F_206C_200F_202B_200F_202E(NavInstruction.SubRegionTransport P_0) - { - return P_0.To; - } - - static ushort _202C_202B_206C_206F_206D_200E_200C_200E_202D_206A_200B_206A_202A_202C_202A_200B_206A_202B_202A_202B_202D_200E_200D_200B_206F_206E_206D_206E_202B_202A_202C_200F_202E_202A_200F_206E_206A_206A_206C_200C_202E(NavInstruction.SubRegionTransport P_0) - { - return P_0.Territory; - } - - static InvalidOperationException _202A_200D_206A_200C_206F_202A_202E_200D_206C_202A_200C_206E_202C_206D_202E_206D_200E_200C_206F_202C_206A_202C_206B_200E_206C_206A_202A_206A_200B_206F_206D_200F_200C_200B_200F_200F_206B_200C_206D_206F_202E(string P_0) - { - return new InvalidOperationException(P_0); - } - - static NotSupportedException _200D_206C_200B_202A_206E_206C_202D_202A_206D_200F_200B_206A_200D_200E_202E_206D_202B_206D_206F_202B_202C_202A_206F_200F_200E_206C_202B_206E_202E_200F_202E_206D_200D_206D_200E_206A_202D_206B_206A_202E() - { - return new NotSupportedException(); - } - } - - [CompilerGenerated] - private sealed class _003CMapInstructions_003Ed__3 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ITask _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - public SmartNavTaskMapper _003C_003E4__this; - - private IReadOnlyList instructions; - - public IReadOnlyList _003C_003E3__instructions; - - private QuestStep step; - - public QuestStep _003C_003E3__step; - - private int _003Ci_003E5__2; - - private IEnumerator _003C_003E7__wrap2; - - ITask IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CMapInstructions_003Ed__3(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _200B_202D_202E_202B_206C_202D_200C_200E_202A_206A_206A_200D_200E_202D_200D_202D_200B_206E_200D_206B_202C_206D_206B_206A_206A_202C_200C_206E_200E_202E_206B_206C_200D_206A_200F_206E_200E_206A_206B_206E_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = ((num == -3) ? (-740261980) : (-740261977)); - while (true) - { - int num3 = num2; - int num4 = -740261978; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - default: - continue; - case 0: - num2 = -740261977; - continue; - case 1: - if (num == 1) - { - num2 = -740261980; - continue; - } - break; - case 2: - try - { - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003C_003E7__wrap2 = null; - _003C_003E1__state = -2; - } - - private bool MoveNext() - { - try - { - int num = _003C_003E1__state; - SmartNavTaskMapper smartNavTaskMapper = _003C_003E4__this; - int num2 = ((num == 0) ? (-1350511493) : (-1350511497)); - while (true) - { - int num3 = num2; - int num4 = -1350511502; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 10: - _003C_003E1__state = -3; - num2 = -1350511501; - break; - case 5: - num2 = ((num == 1) ? (-1350511496) : (-1350511499)); - break; - case 3: - _003C_003E7__wrap2 = smartNavTaskMapper.Map(instructions[_003Ci_003E5__2], NextTravelInstruction(instructions, _003Ci_003E5__2), step).GetEnumerator(); - _003C_003E1__state = -3; - num2 = -1350511501; - break; - case 7: - return false; - case 4: - { - ITask current = _003C_003E7__wrap2.Current; - _003C_003E2__current = current; - _003C_003E1__state = 1; - return true; - } - case 9: - _003C_003E1__state = -1; - _003Ci_003E5__2 = 0; - num2 = -1350511500; - break; - case 8: - { - _003C_003Em__Finally1(); - _003C_003E7__wrap2 = null; - int num8 = _003Ci_003E5__2; - num4 = 1; - num5 = num8; - _003Ci_003E5__2 = (num5 | num4) + (num5 & num4); - num2 = -1350511500; - break; - } - case 6: - num2 = ((_003Ci_003E5__2 < instructions.Count) ? (-1350511503) : (-1350511504)); - break; - case 1: - num2 = (_200E_206A_206C_206D_202D_202E_200C_206C_200C_200F_200C_202E_200C_202A_206A_202D_202C_202B_206E_200F_202C_200E_200B_202A_200B_206E_206F_200F_202B_200D_206A_202B_200F_200D_206F_200F_200D_206B_202D_206D_202E((IEnumerator)_003C_003E7__wrap2) ? (-1350511498) : (-1350511494)); - break; - case 0: - num2 = -1350511497; - break; - case 2: - return false; - } - } - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - int num = ((_003C_003E7__wrap2 == null) ? 466494635 : 466494632); - while (true) - { - int num2 = num; - int num3 = 466494634; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return; - case 2: - _206F_200D_206F_200D_202A_206A_202A_202B_206A_206F_206D_206F_200B_202D_202A_200B_200C_202D_206D_200D_200E_206E_206E_206E_206D_200E_200E_200F_206F_206A_202C_200C_200D_206C_200D_200D_206A_202C_202B_206D_202E((IDisposable)_003C_003E7__wrap2); - num = 466494635; - break; - case 0: - num = 466494632; - break; - } - } - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _202E_206C_200C_202A_206C_206F_202C_200F_200D_206D_206E_202D_206C_202A_206F_206E_200F_206A_200C_202D_200D_206B_202C_202C_206F_206D_202B_200F_200B_200C_202C_200C_202A_202E_200F_202E_206D_206B_202C_206B_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? (-145160428) : (-145160427)); - _003CMapInstructions_003Ed__3 _003CMapInstructions_003Ed__ = default(_003CMapInstructions_003Ed__3); - while (true) - { - int num2 = num; - int num3 = -145160428; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _003CMapInstructions_003Ed__ = new _003CMapInstructions_003Ed__3(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = -145160432; - break; - case 1: - num = ((_003C_003El__initialThreadId != _200B_202D_202E_202B_206C_202D_200C_200E_202A_206A_206A_200D_200E_202D_200D_202D_200B_206E_200D_206B_202C_206D_206B_206A_206A_202C_200C_206E_200E_202E_206B_206C_200D_206A_200F_206E_200E_206A_206B_206E_202E()) ? (-145160428) : (-145160425)); - break; - case 3: - _003C_003E1__state = 0; - _003CMapInstructions_003Ed__ = this; - num = -145160432; - break; - case 2: - num = -145160427; - break; - case 4: - _003CMapInstructions_003Ed__.instructions = _003C_003E3__instructions; - _003CMapInstructions_003Ed__.step = _003C_003E3__step; - return _003CMapInstructions_003Ed__; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _200B_202D_202E_202B_206C_202D_200C_200E_202A_206A_206A_200D_200E_202D_200D_202D_200B_206E_200D_206B_202C_206D_206B_206A_206A_202C_200C_206E_200E_202E_206B_206C_200D_206A_200F_206E_200E_206A_206B_206E_202E() - { - return Environment.CurrentManagedThreadId; - } - - static bool _200E_206A_206C_206D_202D_202E_200C_206C_200C_200F_200C_202E_200C_202A_206A_202D_202C_202B_206E_200F_202C_200E_200B_202A_200B_206E_206F_200F_202B_200D_206A_202B_200F_200D_206F_200F_200D_206B_202D_206D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206F_200D_206F_200D_202A_206A_202A_202B_206A_206F_206D_206F_200B_202D_202A_200B_200C_202D_206D_200D_200E_206E_206E_206E_206D_200E_200E_200F_206F_206A_202C_200C_200D_206C_200D_200D_206A_202C_202B_206D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static NotSupportedException _202E_206C_200C_202A_206C_206F_202C_200F_200D_206D_206E_202D_206C_202A_206F_206E_200F_206A_200C_202D_200D_206B_202C_202C_206F_206D_202B_200F_200B_200C_202C_200C_202A_202E_200F_202E_206D_206B_202C_206B_202E() - { - return new NotSupportedException(); - } - } - - [IteratorStateMachine(typeof(_003CMapInstructions_003Ed__3))] public IEnumerable MapInstructions(IReadOnlyList instructions, QuestStep? step = null) { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CMapInstructions_003Ed__3(-2) + for (int i = 0; i < instructions.Count; i++) { - _003C_003E4__this = this, - _003C_003E3__instructions = instructions, - _003C_003E3__step = step - }; + foreach (ITask item in Map(instructions[i], NextTravelInstruction(instructions, i), step)) + { + yield return item; + } + } } private static NavInstruction? NextTravelInstruction(IReadOnlyList instructions, int i) { - int num = 1; - int num2 = i; - int num3 = (num2 | num) + (num2 & num); - int num4 = -874356063; - bool flag = default(bool); - NavInstruction navInstruction = default(NavInstruction); - while (true) + for (int j = i + 1; j < instructions.Count; j++) { - int num5 = num4; - num = -874356060; - num2 = num5; - switch ((num2 | num) - (num2 & num)) + NavInstruction navInstruction = instructions[j]; + if ((!(navInstruction is NavInstruction.Land) && !(navInstruction is NavInstruction.Unmount) && !(navInstruction is NavInstruction.WaitForTerritory) && !(navInstruction is NavInstruction.WaitForNavmesh)) || 1 == 0) { - case 7: - flag = true; - num4 = -874356058; - break; - case 4: - num4 = ((navInstruction is NavInstruction.Unmount) ? (-874356061) : (-874356059)); - break; - case 6: - return null; - case 10: - navInstruction = instructions[num3]; - num4 = ((navInstruction is NavInstruction.Land) ? (-874356061) : (-874356064)); - break; - case 3: - { - int num6 = num3; - num = 1; - num2 = num6; - num3 = (num2 | num) + (num2 & num); - num4 = -874356063; - break; - } - case 11: - num4 = ((!(navInstruction is NavInstruction.WaitForNavmesh)) ? (-874356051) : (-874356061)); - break; - case 2: - num4 = (flag ? (-874356057) : (-874356052)); - break; - case 9: - flag = false; - num4 = -874356058; - break; - case 0: - num4 = -874356063; - break; - case 8: - return instructions[num3]; - case 1: - num4 = ((navInstruction is NavInstruction.WaitForTerritory) ? (-874356061) : (-874356049)); - break; - case 5: - num4 = ((num3 < instructions.Count) ? (-874356050) : (-874356062)); - break; + return instructions[j]; } } + return null; } private IEnumerable Map(NavInstruction instruction, NavInstruction? nextTravel, QuestStep? step) { - bool? flag = default(bool?); - NavInstruction.AethernetHop aethernetHop = default(NavInstruction.AethernetHop); - NavInstruction.SubRegionTransport subRegionTransport = default(NavInstruction.SubRegionTransport); - bool? sprint = default(bool?); - NavInstruction.Move move = default(NavInstruction.Move); - NavInstruction.InteractWarp interactWarp = default(NavInstruction.InteractWarp); - NavInstruction.UseTeleportTicket useTeleportTicket = default(NavInstruction.UseTeleportTicket); - while (true) + NavInstruction.Teleport teleport = instruction as NavInstruction.Teleport; + if ((object)teleport == null) { - NavInstruction.Teleport teleport = instruction as NavInstruction.Teleport; - int num = (((object)teleport != null) ? 866335783 : 866335787); - NavInstruction.WaitForTerritory waitForTerritory = default(NavInstruction.WaitForTerritory); - while (true) + if (!(instruction is NavInstruction.AethernetHop aethernetHop)) { - int num2 = num; - int num3 = 866335753; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + if (!(instruction is NavInstruction.Move move)) { - default: - continue; - case 40: - yield return new WaitCondition.Task(() => _003C_003Ec__DisplayClass5_0._206A_200B_206C_206E_200B_202D_206C_202C_202E_206B_206F_200D_206D_200F_202A_200D_202C_206E_200F_202B_206C_202E_202E_206B_202A_206D_206B_200C_202C_206D_206C_206D_200E_206A_206D_200B_206D_202B_202D_200F_202E(waitForTerritory).Contains(_003C_003Ec__DisplayClass5_0._202E_200E_206E_206A_206D_200E_206E_206D_206F_200B_206D_202C_206F_206B_202C_200D_206B_206A_206A_200E_202B_206F_200F_206C_202E_202E_202A_206C_202C_206F_202D_206B_206D_202E_202D_206C_200F_206F_206B_206B_202E(clientState)), _003CMap_003Ed__5._206D_202A_206A_206C_202E_202D_206F_200B_200E_202B_206B_202C_200C_206B_200B_202D_206B_206A_206D_206A_200D_206A_202E_202C_202A_206B_202D_206E_200D_200E_206C_202B_206A_200F_206E_206A_206B_206D_206D_200C_202E(waitForTerritory)); - goto case 39; - case 19: - flag = _003CMap_003Ed__5._206D_202B_206F_206D_206D_202E_206D_202E_200F_200E_206C_206B_202E_206F_202D_206B_200E_200D_200F_202C_202A_206B_206A_200C_200C_206B_202E_202B_200C_202E_206C_206F_206C_200C_200C_206C_206D_206B_200B_206E_202E(step); - num = ((!flag.HasValue) ? 866335780 : 866335788); - continue; - case 33: - yield return new AethernetRide.Task(_003CMap_003Ed__5._202D_200C_200C_202A_206A_206F_200D_202A_206D_202B_200B_202C_200F_200E_202C_206D_200D_202D_206F_202A_202B_202E_202A_206C_206D_202D_206D_202D_202C_202D_200D_200C_202E_202D_202B_202A_206D_206D_206E_202B_202E(aethernetHop), _003CMap_003Ed__5._200F_200D_200D_200B_206A_200F_206F_202B_206A_206A_206F_200B_200E_206B_202A_200F_206E_200E_200F_202D_200B_206F_200C_206D_202B_206E_200C_200E_202B_200F_200B_200B_206E_202E_200C_206B_206E_202C_200F_200C_202E(aethernetHop)); - goto case 4; - case 43: - yield return new WaitCondition.Task(() => _003C_003Ec__DisplayClass5_0._202E_200E_206E_206A_206D_200E_206E_206D_206F_200B_206D_202C_206F_206B_202C_200D_206B_206A_206A_200E_202B_206F_200F_206C_202E_202E_202A_206C_202C_206F_202D_206B_206D_202E_202D_206C_200F_206F_206B_206B_202E(clientState) == _003C_003Ec__DisplayClass5_0._206A_202E_202D_200F_206A_200E_206A_200F_202A_206A_206F_206A_200C_206D_206E_202D_200B_206A_206D_206B_202C_206D_202D_200B_202A_206E_206F_200C_206C_200F_206B_206C_206A_202C_200B_206A_200B_202D_206B_202A_202E(teleport), _003CMap_003Ed__5._206B_200E_200C_206D_202D_206F_200D_206D_206C_202D_200D_200B_202C_206D_206A_206E_206E_200E_206F_206E_206A_202B_202C_200E_200C_202E_206A_206C_200B_206A_202A_202B_202A_200F_202B_200E_200E_206F_202B_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-344536108), territoryData.GetNameAndId(_003CMap_003Ed__5._206D_206B_200E_200F_200B_202E_206E_206F_200E_206D_206A_202E_200F_202D_206B_202D_206D_202A_202E_202A_206F_206E_200E_200F_200F_202B_200E_202E_202E_200E_206D_200F_202A_206D_206F_206B_200B_202C_200F_202B_202E(teleport)), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321))); - goto case 10; - case 25: - num = ((!AetheryteTeleport.MoveAwayFromAetheryteExecutor.AppliesTo(_003CMap_003Ed__5._206E_206E_206B_202A_206C_200B_206D_206E_202B_202D_200E_202B_206F_202B_202B_200C_200C_202B_206D_200D_202D_206B_206E_206A_206B_202C_206A_200E_202C_206E_206B_206A_206E_202D_200D_200B_202A_200B_202B_206B_202E(teleport))) ? 866335780 : 866335766); - continue; - case 3: - subRegionTransport = instruction as NavInstruction.SubRegionTransport; - num = (((object)subRegionTransport != null) ? 866335801 : 866335773); - continue; - case 32: - yield return new WaitNavmesh.Task(); - goto case 5; - case 14: - sprint = _003CMap_003Ed__5._202C_206C_200C_200C_206B_200E_202C_200F_206C_202C_206F_202A_200B_202A_200C_206E_206A_200D_206C_200D_202A_206D_206C_206D_202E_206F_202A_206B_200F_206F_202B_202E_206A_202C_200E_206D_206E_206A_200D_206A_202E(step); - num = ((!sprint.HasValue) ? 866335780 : 866335761); - continue; - case 30: - num = 866335780; - continue; - case 44: - num = 866335748; - continue; - case 18: - num = ((instruction is NavInstruction.WaitForNavmesh) ? 866335785 : 866335772); - continue; - case 7: - { - NavInstruction.Move move2 = move; - ushort territoryId = _003CMap_003Ed__5._202C_202B_202D_202A_202D_200C_206E_200D_202E_200F_206C_202D_202A_202C_200B_202C_206D_200C_200E_206C_206E_200E_202D_206D_206F_202B_206D_206B_200E_206F_202B_206F_206A_202E_202C_200F_202E_206F_202B_202E_202E(move2); - Vector3 destination2 = _003CMap_003Ed__5._206D_206D_206E_202B_206B_202B_200C_202B_202D_200B_200B_200C_200F_200E_202D_200D_200B_206B_200E_200B_202E_200D_202C_202E_200B_202C_200C_202C_200F_200C_202A_200B_206E_206F_206D_200F_206C_202E_202B_202E(move2); - bool? mount = _003CMap_003Ed__5._206D_206E_200B_206A_202B_202B_200B_200D_200D_200E_202E_206B_206C_202E_200B_202A_206B_206E_202C_206A_206B_200D_200C_206A_200B_206A_206D_206F_206A_200B_206E_206A_202C_200B_202B_206C_200C_200F_200F_202E_202E(move2); - float? stopDistance = _003CMap_003Ed__5._206F_200C_200E_206D_202C_206C_206D_200C_206C_206B_206D_206D_206F_206F_202D_200E_206B_202B_200F_200B_202C_206E_206D_202C_202B_202C_206A_206D_206B_200D_202B_200B_206C_200F_202C_202A_200E_202D_206E_202A_202E(move2); - uint? dataId = _003CMap_003Ed__5._206C_200D_202D_200B_202D_202D_206B_206C_200C_206B_202A_206F_200E_200C_202D_206B_206F_206C_200B_200B_202A_200D_200F_202D_206B_206F_206D_206D_202A_206A_202D_200B_200B_200F_206B_202D_200F_200C_202B_202E(move2); - bool disableNavmesh = _003CMap_003Ed__5._200F_202C_202E_202E_206E_200D_206D_206C_206D_202A_202E_206F_202B_206F_202E_200E_202C_200F_206D_200F_206E_206F_202D_206E_202B_206C_206C_206B_202E_202D_202E_206C_202B_206E_200E_206A_206B_206E_206C_202B_202E(move2); - bool fly = _003CMap_003Ed__5._206B_206D_200D_206D_206D_200C_206F_206D_206F_202E_206E_206A_202B_200C_206F_200B_200F_202D_206E_206E_206B_202B_206A_206D_200D_206C_206E_200B_206B_206B_202B_206F_200F_200C_202E_200C_206B_200D_200B_202B_202E(move2); - bool land = _003CMap_003Ed__5._200D_200F_206A_206A_202B_200E_200F_200D_202C_202B_202D_206C_200C_200B_200D_202E_202E_206F_200F_202C_202A_206D_200B_200F_200E_206E_206D_206E_202B_202C_206C_200D_206B_206A_202A_202E_202E_206D_206B_202B_202E(move2); - bool allowZoneTransition = _003CMap_003Ed__5._200D_206B_200F_206E_202A_200C_206F_206A_206E_200B_206E_200E_202A_200D_200B_202B_202C_206C_202A_206C_200E_202C_202E_206E_200D_202E_206C_200F_200E_200C_206C_206F_202D_202B_206E_202E_200B_202E_206E_202B_202E(move2); - string routeTargetNodeId = _003CMap_003Ed__5._206F_202D_200D_202B_202C_206B_206B_200C_200C_206F_202D_200C_206B_202D_206E_202D_202A_206A_206F_206D_200E_202E_200B_202D_206E_206C_200E_202A_206D_206D_202E_202E_200D_200F_200E_200F_200E_202E_200C_206D_202E(move2); - string routeApproachNodeId = _003CMap_003Ed__5._206B_200F_202D_206E_200D_206A_206A_206F_200F_200D_202A_202C_206E_206F_202B_206C_206F_206A_206D_200E_202B_206A_202C_206B_206D_206D_202A_206C_200E_206D_200B_200E_206F_206A_206A_206F_200C_200B_206D_200C_202E(move2); - sprint = null; - yield return new MoveTask(territoryId, destination2, mount, MountRequired: false, DismountRequired: false, stopDistance, dataId, disableNavmesh, sprint, fly, land, IgnoreDistanceToObject: false, RestartNavigation: true, EInteractionType.None, SmartNavRouted: true, allowZoneTransition, routeTargetNodeId, routeApproachNodeId); - goto case 9; + if (!(instruction is NavInstruction.Land)) + { + if (!(instruction is NavInstruction.Unmount)) + { + NavInstruction.WaitForTerritory waitForTerritory = instruction as NavInstruction.WaitForTerritory; + if ((object)waitForTerritory == null) + { + if (!(instruction is NavInstruction.WaitForNavmesh)) + { + if (!(instruction is NavInstruction.InteractWarp interactWarp)) + { + if (!(instruction is NavInstruction.UseTeleportTicket useTeleportTicket)) + { + if (!(instruction is NavInstruction.SubRegionTransport subRegionTransport)) + { + throw new InvalidOperationException($"Unmapped NavInstruction: {instruction}"); + } + yield return new SubRegionTransport.Task(subRegionTransport.From, subRegionTransport.To, subRegionTransport.Territory); + } + else + { + yield return new TicketTeleport.Task(useTeleportTicket.ItemId, useTeleportTicket.Territory); + } + } + else + { + yield return new WarpInteract.Task(interactWarp.NpcDataId, interactWarp.WarpRowId, interactWarp.FromTerritory, interactWarp.ToTerritory); + } + } + else + { + yield return new WaitNavmesh.Task(); + } + } + else + { + yield return new WaitCondition.Task(() => waitForTerritory.Acceptable.Contains(clientState.TerritoryType), waitForTerritory.Description); + } + } + else + { + yield return new Mount.UnmountTask(); + } + } + else + { + yield return new LandTask(); + } } - case 4: - num = 866335780; - continue; - case 2: - break; - case 26: - yield return new WarpInteract.Task(_003CMap_003Ed__5._206A_200E_206B_206D_206C_200C_202A_206A_202B_206D_202E_206E_206E_200B_200B_206A_200C_200F_200F_206E_200D_200E_202E_200C_200E_206C_202B_200E_200F_202B_200E_206D_206D_206C_206C_202D_200E_206D_202D_202B_202E(interactWarp), _003CMap_003Ed__5._206A_202E_206D_202B_202E_202B_206D_200B_206D_202D_200F_206A_200E_206B_206E_206C_202D_202D_200E_200F_206A_200C_200B_200D_200E_200F_202C_202E_202D_206E_206D_200F_202A_200E_206B_202C_202D_206A_206F_206A_202E(interactWarp), _003CMap_003Ed__5._202E_200E_200D_200B_202C_200E_206D_202D_202A_200D_200D_202C_202B_206E_206E_206F_206C_206A_206D_202C_202B_202C_200D_206E_206A_200D_202C_206F_200F_206D_202A_200D_202B_200E_206C_206E_200E_206E_200B_200F_202E(interactWarp), _003CMap_003Ed__5._200F_200F_202C_202D_206D_202B_200F_200E_200B_202E_206A_202E_206C_202C_206F_202D_200F_202E_200D_206F_200D_200C_206C_202D_200E_206C_206A_206A_206F_206F_206F_200B_200C_206C_202A_200E_202C_206D_200F_206F_202E(interactWarp)); - goto case 15; - case 48: - yield return new SubRegionTransport.Task(_003CMap_003Ed__5._200B_200F_202E_206F_202C_206B_206F_206F_206D_200C_202C_206C_202D_200E_206D_206F_200F_206F_206A_200C_200F_206B_202B_206A_200B_200E_200B_202B_202B_206E_200D_200C_202D_206E_200D_200D_202D_206E_200F_200E_202E(subRegionTransport), _003CMap_003Ed__5._202B_202D_202B_206A_200B_202B_200D_200F_206B_202B_202C_202B_200C_200D_202A_200E_200B_200B_206F_206B_202C_202E_202C_206B_206C_206B_202B_200D_206B_202B_206C_200C_206D_202D_202B_206F_206C_200F_202B_200F_202E(subRegionTransport), _003CMap_003Ed__5._202C_202B_206C_206F_206D_200E_200C_200E_202D_206A_200B_206A_202A_202C_202A_200B_206A_202B_202A_202B_202D_200E_200D_200B_206F_206E_206D_206E_202B_202A_202C_200F_202E_202A_200F_206E_206A_206A_206C_200C_202E(subRegionTransport)); - goto case 12; - case 17: - waitForTerritory = instruction as NavInstruction.WaitForTerritory; - num = (((object)waitForTerritory != null) ? 866335777 : 866335771); - continue; - case 29: - num = 866335780; - continue; - case 37: - num = ((flag != true) ? 866335780 : 866335751); - continue; - case 27: - num = ((instruction is NavInstruction.Land) ? 866335789 : 866335745); - continue; - case 41: - yield return new TicketTeleport.Task(_003CMap_003Ed__5._202C_200C_206C_202B_200F_200E_200F_202B_200D_200E_200D_206B_206B_200B_200E_206C_202C_206F_200B_202A_206F_200E_202C_200E_200E_206D_200D_202E_200E_206F_206F_206E_202D_202A_206F_206C_206C_200C_202E_206C_202E(useTeleportTicket), _003CMap_003Ed__5._200E_206F_206B_200E_200E_206C_206A_206C_206B_206E_200E_200B_206A_200B_200F_202B_202D_206E_200C_206D_206E_206C_200B_206B_206A_206D_206F_206D_200C_200D_202D_206E_202D_202E_206D_202C_200B_202A_206D_200E_202E(useTeleportTicket)); - goto case 29; - case 24: - num = ((sprint != true) ? 866335780 : 866335769); - continue; - case 20: - num = 866335786; - continue; - case 13: - yield break; - case 11: - num = 866335780; - continue; - case 5: - num = 866335780; - continue; - case 15: - num = 866335780; - continue; - case 45: - yield break; - case 12: - num = 866335780; - continue; - case 1: - move = instruction as NavInstruction.Move; - num = (((object)move != null) ? 866335791 : 866335762); - continue; - case 0: + else if (move.IsFinal && step != null) { - Vector3 destination = _003CMap_003Ed__5._206D_206D_206F_202D_202B_200C_206A_200F_206F_202B_200B_200C_200D_202E_200D_202B_200E_206A_200E_200F_202D_202E_206E_200C_206D_200F_202B_202A_206D_200C_202C_206B_202A_206B_202E_200B_206B_200B_206F_206C_202E(step) ?? _003CMap_003Ed__5._206D_206D_206E_202B_206B_202B_200C_202B_202D_200B_200B_200C_200F_200E_202D_200D_200B_206B_200E_200B_202E_200D_202C_202E_200B_202C_200C_202C_200F_200C_202A_200B_206E_206F_206D_200F_206C_202E_202B_202E(move); + Vector3 destination = step.Position ?? move.Position; yield return new MoveTask(step, destination)with { - Fly = (_003CMap_003Ed__5._206B_206D_200D_206D_206D_200C_206F_206D_206F_202E_206E_206A_202B_200C_206F_200B_200F_202D_206E_206E_206B_202B_206A_206D_200D_206C_206E_200B_206B_206B_202B_206F_200F_200C_202E_200C_206B_200D_200B_202B_202E(move) || _003CMap_003Ed__5._206D_202B_206F_206D_206D_202E_206D_202E_200F_200E_206C_206B_202E_206F_202D_206B_200E_200D_200F_202C_202A_206B_206A_200C_200C_206B_202E_202B_200C_202E_206C_206F_206C_200C_200C_206C_206D_206B_200B_206E_202E(step) == true), - Land = (_003CMap_003Ed__5._206B_206D_200D_206D_206D_200C_206F_206D_206F_202E_206E_206A_202B_200C_206F_200B_200F_202D_206E_206E_206B_202B_206A_206D_200D_206C_206E_200B_206B_206B_202B_206F_200F_200C_202E_200C_206B_200D_200B_202B_202E(move) || _003CMap_003Ed__5._202C_206C_200C_200C_206B_200E_202C_200F_206C_202C_206F_202A_200B_202A_200C_206E_206A_200D_206C_200D_202A_206D_206C_206D_202E_206F_202A_206B_200F_206F_202B_202E_206A_202C_200E_206D_206E_206A_200D_206A_202E(step) == true), + Fly = (move.Fly || step.Fly == true), + Land = (move.Fly || step.Land == true), SmartNavRouted = true, - RouteTargetNodeId = _003CMap_003Ed__5._206F_202D_200D_202B_202C_206B_206B_200C_200C_206F_202D_200C_206B_202D_206E_202D_202A_206A_206F_206D_200E_202E_200B_202D_206E_206C_200E_202A_206D_206D_202E_202E_200D_200F_200E_200F_200E_202E_200C_206D_202E(move), - RouteApproachNodeId = _003CMap_003Ed__5._206B_200F_202D_206E_200D_206A_206A_206F_200F_200D_202A_202C_206E_206F_202B_206C_206F_206A_206D_200E_202B_206A_202C_206B_206D_206D_202A_206C_200E_206D_200B_200E_206F_206A_206A_206F_200C_200B_206D_200C_202E(move) + RouteTargetNodeId = move.TargetNodeId, + RouteApproachNodeId = move.ApproachNodeId }; - goto case 28; + if (step != null) + { + bool? fly = step.Fly; + if (fly.HasValue && fly == true && (step.Land ?? false)) + { + yield return new LandTask(); + } + } } - case 46: - yield return new AetheryteTeleport.Task(_003CMap_003Ed__5._206E_206E_206B_202A_206C_200B_206D_206E_202B_202D_200E_202B_206F_202B_202B_200C_200C_202B_206D_200D_202D_206B_206E_206A_206B_202C_206A_200E_202C_206E_206B_206A_206E_202D_200D_200B_202A_200B_202B_206B_202E(teleport), _003CMap_003Ed__5._206D_206B_200E_200F_200B_202E_206E_206F_200E_206D_206A_202E_200F_202D_206B_202D_206D_202A_202E_202A_206F_206E_200E_200F_200F_202B_200E_202E_202E_200E_206D_200F_202A_206D_206F_206B_200B_202C_200F_202B_202E(teleport)); - goto case 25; - case 39: - num = 866335780; - continue; - case 22: - yield return new Mount.UnmountTask(); - goto case 30; - case 6: - num = ((step == null) ? 866335758 : 866335753); - continue; - case 38: - num = ((!_003CMap_003Ed__5._200D_206A_202B_202B_202C_206D_206B_202A_206B_206B_202D_206C_206B_200B_202A_206A_202E_200E_202E_200B_202C_206F_206C_206C_202D_206E_206F_206E_206E_200D_206C_200B_206E_202E_202D_206E_202B_200C_202D_200E_202E(move)) ? 866335758 : 866335759); - continue; - case 23: - useTeleportTicket = instruction as NavInstruction.UseTeleportTicket; - num = (((object)useTeleportTicket != null) ? 866335776 : 866335754); - continue; - case 16: - yield return new LandTask(); - goto case 47; - case 31: + else { - NavInstruction.AethernetHop obj = nextTravel as NavInstruction.AethernetHop; - num = (((((object)obj != null) ? new EAetheryteLocation?(_003CMap_003Ed__5._206B_202B_200E_200F_206F_202E_202E_206B_202B_206C_202C_206B_202A_202A_206C_202A_206E_202A_206B_200B_202C_200C_202D_200D_206F_206C_200D_206F_202D_202E_200D_200D_200C_200D_200E_206D_200D_202B_202B_206E_202E(obj)) : ((EAetheryteLocation?)null)) == _003CMap_003Ed__5._206E_206E_206B_202A_206C_200B_206D_206E_202B_202D_200E_202B_206F_202B_202B_200C_200C_202B_206D_200D_202D_206B_206E_206A_206B_202C_206A_200E_202C_206E_206B_206A_206E_202D_200D_200B_202A_200B_202B_206B_202E(teleport)) ? 866335780 : 866335778); - continue; + NavInstruction.Move move2 = move; + ushort territory = move2.Territory; + Vector3 position = move2.Position; + bool? mount = move2.Mount; + float? stopDistance = move2.StopDistance; + uint? dataId = move2.DataId; + bool disableNavmesh = move2.DisableNavmesh; + bool fly2 = move2.Fly; + bool landAtTarget = move2.LandAtTarget; + bool allowZoneTransition = move2.AllowZoneTransition; + string targetNodeId = move2.TargetNodeId; + string approachNodeId = move2.ApproachNodeId; + yield return new MoveTask(territory, position, mount, MountRequired: false, DismountRequired: false, stopDistance, dataId, disableNavmesh, null, fly2, landAtTarget, IgnoreDistanceToObject: false, RestartNavigation: true, EInteractionType.None, SmartNavRouted: true, allowZoneTransition, targetNodeId, approachNodeId); } - case 42: - num = 866335780; - continue; - case 9: - num = 866335780; - continue; - case 21: - interactWarp = instruction as NavInstruction.InteractWarp; - num = (((object)interactWarp != null) ? 866335763 : 866335774); - continue; - case 28: - num = ((step == null) ? 866335780 : 866335770); - continue; - case 47: - num = 866335780; - continue; - case 35: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(25, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-82937501)); - defaultInterpolatedStringHandler.AppendFormatted(instruction); - throw _003CMap_003Ed__5._202A_200D_206A_200C_206F_202A_202E_200D_206C_202A_200C_206E_202C_206D_202E_206D_200E_200C_206F_202C_206A_202C_206B_200E_206C_206A_202A_206A_200B_206F_206D_200F_200C_200B_200F_200F_206B_200C_206D_206F_202E(defaultInterpolatedStringHandler.ToStringAndClear()); - } - case 36: - yield return new LandTask(); - goto case 11; - case 8: - num = ((instruction is NavInstruction.Unmount) ? 866335775 : 866335768); - continue; - case 34: - aethernetHop = instruction as NavInstruction.AethernetHop; - num = (((object)aethernetHop != null) ? 866335784 : 866335752); - continue; - case 10: - yield return new AetheryteTeleport.MoveAwayFromAetheryte(_003CMap_003Ed__5._206E_206E_206B_202A_206C_200B_206D_206E_202B_202D_200E_202B_206F_202B_202B_200C_200C_202B_206D_200D_202D_206B_206E_206A_206B_202C_206A_200E_202C_206E_206B_206A_206E_202D_200D_200B_202A_200B_202B_206B_202E(teleport)); - goto case 42; - } - break; } + else + { + yield return new AethernetRide.Task(aethernetHop.From, aethernetHop.To); + } + yield break; + } + yield return new AetheryteTeleport.Task(teleport.Target, teleport.ExpectedTerritory); + if (AetheryteTeleport.MoveAwayFromAetheryteExecutor.AppliesTo(teleport.Target) && (nextTravel as NavInstruction.AethernetHop)?.From != teleport.Target) + { + yield return new WaitCondition.Task(() => clientState.TerritoryType == teleport.ExpectedTerritory, "Wait(territory: " + territoryData.GetNameAndId(teleport.ExpectedTerritory) + ")"); + yield return new AetheryteTeleport.MoveAwayFromAetheryte(teleport.Target); } } } diff --git a/Questionable/Questionable.Navigation/WarpRecordingService.cs b/Questionable/Questionable.Navigation/WarpRecordingService.cs index b505119..96033f4 100644 --- a/Questionable/Questionable.Navigation/WarpRecordingService.cs +++ b/Questionable/Questionable.Navigation/WarpRecordingService.cs @@ -1,11 +1,7 @@ using System; -using System.Collections; using System.Collections.Generic; using System.IO; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; -using System.Threading; using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Hooking; @@ -36,317 +32,9 @@ internal sealed class WarpRecordingService : IDisposable JumpSettling } - public sealed record WarpCapture(uint WarpRowId, string WarpName, uint? NpcDataId, ushort SourceTerritoryId, Vector3 SourcePosition, ushort DestTerritoryId, Vector3 DestPosition, uint? SeenDuringMsqId) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202A_200B_206F_202E_206F_200B_206D_202B_200E_206C_206B_206C_202C_200E_202C_206A_206F_206D_206F_202B_206C_202A_202B_200D_206C_206E_202C_206D_206A_200B_206B_202D_206C_206E_202E_206E_206C_200F_200C_200F_202E(typeof(WarpCapture).TypeHandle); - } - } + public sealed record WarpCapture(uint WarpRowId, string WarpName, uint? NpcDataId, ushort SourceTerritoryId, Vector3 SourcePosition, ushort DestTerritoryId, Vector3 DestPosition, uint? SeenDuringMsqId); - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200F_200E_206A_202A_202B_200B_202B_202C_206A_200B_206A_202D_202E_202A_206E_206E_200B_200C_206C_206C_202C_200C_206E_200B_202E_206D_206D_200E_206B_202E_202B_206B_202A_206F_202E_202E_200F_206C_202B_206E_202E(); - _206D_200F_200B_200B_200B_202C_202A_206A_200B_200F_200B_206C_206B_200E_200B_202A_206B_206B_206D_202D_202E_200E_202D_200C_206A_200C_206B_206A_200C_200B_206D_206E_200B_200F_200C_206E_202E_202D_200F_200D_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-187813837)); - _206D_200F_200B_200B_200B_202C_202A_206A_200B_200F_200B_206C_206B_200E_200B_202A_206B_206B_206D_202D_202E_200E_202D_200C_206A_200C_206B_206A_200C_200B_206D_206E_200B_200F_200C_206E_202E_202D_200F_200D_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? (-1132580023) : (-1132580024)); - while (true) - { - int num2 = num; - int num3 = -1132580023; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1132580024; - break; - case 1: - _202B_200C_202D_202B_200E_202B_206C_202D_200F_202B_202E_202C_202C_206F_200E_202B_206E_200F_202D_202A_206F_202C_202B_200B_206E_202E_202A_200D_206A_202D_200F_202E_202B_200D_206D_200E_202D_206C_206C_202E(stringBuilder, ' '); - num = -1132580023; - break; - case 0: - _202B_200C_202D_202B_200E_202B_206C_202D_200F_202B_202E_202C_202C_206F_200E_202B_206E_200F_202D_202A_206F_202C_202B_200B_206E_202E_202A_200D_206A_202D_200F_202E_202B_200D_206D_200E_202D_206C_206C_202E(stringBuilder, '}'); - return _200C_206F_206E_200B_206F_200C_200E_202C_202B_202E_202C_202A_202B_202D_202D_206C_206A_206A_200F_202D_200C_206C_206C_202E_206F_206B_202A_206C_206C_206D_206C_206E_200D_202A_202E_206A_200F_206C_206A_206A_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206B_206B_200F_200B_202E_206B_206C_206E_206F_202E_202C_206F_202E_200C_206A_202C_200E_206C_206B_202E_202D_200B_200F_200C_200C_200C_206C_202A_200D_206C_202C_202C_206D_206F_200E_202A_202B_202A_206B_206B_202E(); - _206D_200F_200B_200B_200B_202C_202A_206A_200B_200F_200B_206C_206B_200E_200B_202A_206B_206B_206D_202D_202E_200E_202D_200C_206A_200C_206B_206A_200C_200B_206D_206E_200B_200F_200C_206E_202E_202D_200F_200D_202E(builder, 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(-2126812342)); - _206D_200F_200B_200B_200B_202C_202A_206A_200B_200F_200B_206C_206B_200E_200B_202A_206B_206B_206D_202D_202E_200E_202D_200C_206A_200C_206B_206A_200C_200B_206D_206E_200B_200F_200C_206E_202E_202D_200F_200D_202E(builder, WarpRowId.ToString()); - _206D_200F_200B_200B_200B_202C_202A_206A_200B_200F_200B_206C_206B_200E_200B_202A_206B_206B_206D_202D_202E_200E_202D_200C_206A_200C_206B_206A_200C_200B_206D_206E_200B_200F_200C_206E_202E_202D_200F_200D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(951562334)); - _202C_202E_206A_206B_206B_202C_202D_202E_206E_202D_202E_206E_200B_206C_200F_206D_200C_202E_202A_200C_200E_202C_206F_200B_206B_206C_200F_202E_200C_200B_202B_202A_200E_202D_202E_200C_200C_200D_206B_206B_202E(builder, (object)WarpName); - _206D_200F_200B_200B_200B_202C_202A_206A_200B_200F_200B_206C_206B_200E_200B_202A_206B_206B_206D_202D_202E_200E_202D_200C_206A_200C_206B_206A_200C_200B_206D_206E_200B_200F_200C_206E_202E_202D_200F_200D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-928748373)); - _206D_200F_200B_200B_200B_202C_202A_206A_200B_200F_200B_206C_206B_200E_200B_202A_206B_206B_206D_202D_202E_200E_202D_200C_206A_200C_206B_206A_200C_200B_206D_206E_200B_200F_200C_206E_202E_202D_200F_200D_202E(builder, NpcDataId.ToString()); - _206D_200F_200B_200B_200B_202C_202A_206A_200B_200F_200B_206C_206B_200E_200B_202A_206B_206B_206D_202D_202E_200E_202D_200C_206A_200C_206B_206A_200C_200B_206D_206E_200B_200F_200C_206E_202E_202D_200F_200D_202E(builder, 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(1282955220)); - _206D_200F_200B_200B_200B_202C_202A_206A_200B_200F_200B_206C_206B_200E_200B_202A_206B_206B_206D_202D_202E_200E_202D_200C_206A_200C_206B_206A_200C_200B_206D_206E_200B_200F_200C_206E_202E_202D_200F_200D_202E(builder, SourceTerritoryId.ToString()); - _206D_200F_200B_200B_200B_202C_202A_206A_200B_200F_200B_206C_206B_200E_200B_202A_206B_206B_206D_202D_202E_200E_202D_200C_206A_200C_206B_206A_200C_200B_206D_206E_200B_200F_200C_206E_202E_202D_200F_200D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1305179201)); - _206D_200F_200B_200B_200B_202C_202A_206A_200B_200F_200B_206C_206B_200E_200B_202A_206B_206B_206D_202D_202E_200E_202D_200C_206A_200C_206B_206A_200C_200B_206D_206E_200B_200F_200C_206E_202E_202D_200F_200D_202E(builder, SourcePosition.ToString()); - _206D_200F_200B_200B_200B_202C_202A_206A_200B_200F_200B_206C_206B_200E_200B_202A_206B_206B_206D_202D_202E_200E_202D_200C_206A_200C_206B_206A_200C_200B_206D_206E_200B_200F_200C_206E_202E_202D_200F_200D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1003946006)); - _206D_200F_200B_200B_200B_202C_202A_206A_200B_200F_200B_206C_206B_200E_200B_202A_206B_206B_206D_202D_202E_200E_202D_200C_206A_200C_206B_206A_200C_200B_206D_206E_200B_200F_200C_206E_202E_202D_200F_200D_202E(builder, DestTerritoryId.ToString()); - _206D_200F_200B_200B_200B_202C_202A_206A_200B_200F_200B_206C_206B_200E_200B_202A_206B_206B_206D_202D_202E_200E_202D_200C_206A_200C_206B_206A_200C_200B_206D_206E_200B_200F_200C_206E_202E_202D_200F_200D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1661409789)); - _206D_200F_200B_200B_200B_202C_202A_206A_200B_200F_200B_206C_206B_200E_200B_202A_206B_206B_206D_202D_202E_200E_202D_200C_206A_200C_206B_206A_200C_200B_206D_206E_200B_200F_200C_206E_202E_202D_200F_200D_202E(builder, DestPosition.ToString()); - _206D_200F_200B_200B_200B_202C_202A_206A_200B_200F_200B_206C_206B_200E_200B_202A_206B_206B_206D_202D_202E_200E_202D_200C_206A_200C_206B_206A_200C_200B_206D_206E_200B_200F_200C_206E_202E_202D_200F_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(728831284)); - _206D_200F_200B_200B_200B_202C_202A_206A_200B_200F_200B_206C_206B_200E_200B_202A_206B_206B_206D_202D_202E_200E_202D_200C_206A_200C_206B_206A_200C_200B_206D_206E_200B_200F_200C_206E_202E_202D_200F_200D_202E(builder, SeenDuringMsqId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(WarpCapture? other) - { - int num = (((object)this == other) ? (-1119467529) : (-1119467523)); - while (true) - { - int num2 = num; - int num3 = -1119467531; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - num = ((!EqualityComparer.Default.Equals(DestTerritoryId, other.DestTerritoryId)) ? (-1119467530) : (-1119467524)); - break; - case 0: - num = ((!EqualityComparer.Default.Equals(NpcDataId, other.NpcDataId)) ? (-1119467530) : (-1119467522)); - break; - case 8: - num = (((object)other == null) ? (-1119467530) : (-1119467535)); - break; - case 7: - num = -1119467523; - break; - case 3: - return false; - case 10: - return EqualityComparer.Default.Equals(SeenDuringMsqId, other.SeenDuringMsqId); - case 2: - return true; - case 12: - num = ((!EqualityComparer.Default.Equals(WarpRowId, other.WarpRowId)) ? (-1119467530) : (-1119467533)); - break; - case 5: - num = ((!EqualityComparer.Default.Equals(SourcePosition, other.SourcePosition)) ? (-1119467530) : (-1119467532)); - break; - case 4: - num = ((!_202B_206F_200F_202A_200C_206D_202C_206D_200D_202D_200E_206A_200F_202B_200C_200E_206F_202C_206B_200E_200E_202A_206C_206D_202B_200E_206E_200F_200C_202B_200C_206C_206E_206F_200D_200D_206E_200E_206E_206F_202E(EqualityContract, other.EqualityContract)) ? (-1119467530) : (-1119467527)); - break; - case 11: - num = ((!EqualityComparer.Default.Equals(SourceTerritoryId, other.SourceTerritoryId)) ? (-1119467530) : (-1119467536)); - break; - case 9: - num = ((!EqualityComparer.Default.Equals(DestPosition, other.DestPosition)) ? (-1119467530) : (-1119467521)); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(WarpName, other.WarpName)) ? (-1119467530) : (-1119467531)); - break; - } - } - } - - bool IEquatable.Equals(WarpCapture? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202A_200B_206F_202E_206F_200B_206D_202B_200E_206C_206B_206C_202C_200E_202C_206A_206F_206D_206F_202B_206C_202A_202B_200D_206C_206E_202C_206D_206A_200B_206B_202D_206C_206E_202E_206E_206C_200F_200C_200F_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200F_200E_206A_202A_202B_200B_202B_202C_206A_200B_206A_202D_202E_202A_206E_206E_200B_200C_206C_206C_202C_200C_206E_200B_202E_206D_206D_200E_206B_202E_202B_206B_202A_206F_202E_202E_200F_206C_202B_206E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206D_200F_200B_200B_200B_202C_202A_206A_200B_200F_200B_206C_206B_200E_200B_202A_206B_206B_206D_202D_202E_200E_202D_200C_206A_200C_206B_206A_200C_200B_206D_206E_200B_200F_200C_206E_202E_202D_200F_200D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202B_200C_202D_202B_200E_202B_206C_202D_200F_202B_202E_202C_202C_206F_200E_202B_206E_200F_202D_202A_206F_202C_202B_200B_206E_202E_202A_200D_206A_202D_200F_202E_202B_200D_206D_200E_202D_206C_206C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200C_206F_206E_200B_206F_200C_200E_202C_202B_202E_202C_202A_202B_202D_202D_206C_206A_206A_200F_202D_200C_206C_206C_202E_206F_206B_202A_206C_206C_206D_206C_206E_200D_202A_202E_206A_200F_206C_206A_206A_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206B_206B_200F_200B_202E_206B_206C_206E_206F_202E_202C_206F_202E_200C_206A_202C_200E_206C_206B_202E_202D_200B_200F_200C_200C_200C_206C_202A_200D_206C_202C_202C_206D_206F_200E_202A_202B_202A_206B_206B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202C_202E_206A_206B_206B_202C_202D_202E_206E_202D_202E_206E_200B_206C_200F_206D_200C_202E_202A_200C_200E_202C_206F_200B_206B_206C_200F_202E_200C_200B_202B_202A_200E_202D_202E_200C_200C_200D_206B_206B_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202B_206F_200F_202A_200C_206D_202C_206D_200D_202D_200E_206A_200F_202B_200C_200E_206F_202C_206B_200E_200E_202A_206C_206D_202B_200E_206E_200F_200C_202B_200C_206C_206E_206F_200D_200D_206E_200E_206E_206F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - public sealed record TicketCapture(uint ItemId, string ItemName, ushort DestTerritoryId, Vector3 DestPosition) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206D_206F_200B_206A_206B_202A_202D_206A_206F_202E_206C_206C_206C_206F_202A_202B_200E_200C_200E_206B_202C_206E_200B_202A_200E_206C_202A_206C_206F_202B_202E_206F_200D_200C_206F_200C_200D_206B_206E_202E(typeof(TicketCapture).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206D_202A_202C_200D_202A_206A_206A_206D_206D_200F_202A_206F_206D_202D_202B_206D_206C_200F_206C_202A_202C_206A_202B_202E_206F_206C_206A_206E_200B_206A_206D_200D_200E_202A_200E_200D_200E_206E_202E_200F_202E(); - _206E_206F_202B_206B_202C_202D_200E_206F_202B_202D_200F_206B_206A_200D_206C_202B_206B_202E_200E_206C_200F_202C_200D_206F_202E_202D_206B_200F_202E_202A_202D_200C_206C_206A_206D_206A_206E_200E_202A_200C_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1768035590)); - _206E_206F_202B_206B_202C_202D_200E_206F_202B_202D_200F_206B_206A_200D_206C_202B_206B_202E_200E_206C_200F_202C_200D_206F_202E_202D_206B_200F_202E_202A_202D_200C_206C_206A_206D_206A_206E_200E_202A_200C_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? (-522344662) : (-522344663)); - while (true) - { - int num2 = num; - int num3 = -522344664; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -522344663; - break; - case 1: - _206A_202E_202B_200B_200F_202C_200B_202B_202E_202E_200D_202E_202A_206F_202E_200B_200D_200F_202A_202C_206F_206A_206E_206C_202A_206A_206A_206C_202C_202E_202C_202D_206B_202D_202E_202C_200C_206C_200C_206B_202E(stringBuilder, ' '); - num = -522344662; - break; - case 2: - _206A_202E_202B_200B_200F_202C_200B_202B_202E_202E_200D_202E_202A_206F_202E_200B_200D_200F_202A_202C_206F_206A_206E_206C_202A_206A_206A_206C_202C_202E_202C_202D_206B_202D_202E_202C_200C_206C_200C_206B_202E(stringBuilder, '}'); - return _202B_206A_206B_202B_202B_200D_200B_206C_200B_206B_202B_202B_206C_202C_200B_200C_206A_202B_200D_200D_206E_202E_206F_200D_200F_200C_206D_202E_206E_202A_202A_200F_200F_202C_206C_206B_206F_200F_200E_206C_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200F_200F_202E_202A_202C_206F_200E_202D_206F_206B_206A_202D_206C_206D_200F_202B_206F_206D_206F_202B_206C_200E_200B_206F_200B_206F_200D_206D_202B_200B_200D_206D_202B_202E_206A_200F_206F_202A_202A_200D_202E(); - _206E_206F_202B_206B_202C_202D_200E_206F_202B_202D_200F_206B_206A_200D_206C_202B_206B_202E_200E_206C_200F_202C_200D_206F_202E_202D_206B_200F_202E_202A_202D_200C_206C_206A_206D_206A_206E_200E_202A_200C_202E(builder, 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(-1298229987)); - _206E_206F_202B_206B_202C_202D_200E_206F_202B_202D_200F_206B_206A_200D_206C_202B_206B_202E_200E_206C_200F_202C_200D_206F_202E_202D_206B_200F_202E_202A_202D_200C_206C_206A_206D_206A_206E_200E_202A_200C_202E(builder, ItemId.ToString()); - _206E_206F_202B_206B_202C_202D_200E_206F_202B_202D_200F_206B_206A_200D_206C_202B_206B_202E_200E_206C_200F_202C_200D_206F_202E_202D_206B_200F_202E_202A_202D_200C_206C_206A_206D_206A_206E_200E_202A_200C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2091026451)); - _200E_200B_202B_206B_200E_200E_206A_200D_200B_202C_200C_200E_200E_202C_206D_206B_200E_200D_202E_202B_206F_200C_206A_202A_206B_200D_206B_202E_206F_200B_206D_206B_202C_202C_206D_206A_206F_200E_200B_202D_202E(builder, (object)ItemName); - _206E_206F_202B_206B_202C_202D_200E_206F_202B_202D_200F_206B_206A_200D_206C_202B_206B_202E_200E_206C_200F_202C_200D_206F_202E_202D_206B_200F_202E_202A_202D_200C_206C_206A_206D_206A_206E_200E_202A_200C_202E(builder, 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(-1798905925)); - _206E_206F_202B_206B_202C_202D_200E_206F_202B_202D_200F_206B_206A_200D_206C_202B_206B_202E_200E_206C_200F_202C_200D_206F_202E_202D_206B_200F_202E_202A_202D_200C_206C_206A_206D_206A_206E_200E_202A_200C_202E(builder, DestTerritoryId.ToString()); - _206E_206F_202B_206B_202C_202D_200E_206F_202B_202D_200F_206B_206A_200D_206C_202B_206B_202E_200E_206C_200F_202C_200D_206F_202E_202D_206B_200F_202E_202A_202D_200C_206C_206A_206D_206A_206E_200E_202A_200C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1661409789)); - _206E_206F_202B_206B_202C_202D_200E_206F_202B_202D_200F_206B_206A_200D_206C_202B_206B_202E_200E_206C_200F_202C_200D_206F_202E_202D_206B_200F_202E_202A_202D_200C_206C_206A_206D_206A_206E_200E_202A_200C_202E(builder, DestPosition.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(TicketCapture? other) - { - int num = (((object)this == other) ? (-1255912688) : (-1255912673)); - while (true) - { - int num2 = num; - int num3 = -1255912680; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - num = -1255912673; - break; - case 8: - return true; - case 4: - num = ((!EqualityComparer.Default.Equals(ItemName, other.ItemName)) ? (-1255912677) : (-1255912678)); - break; - case 7: - num = (((object)other == null) ? (-1255912677) : (-1255912680)); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(DestTerritoryId, other.DestTerritoryId)) ? (-1255912677) : (-1255912679)); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(ItemId, other.ItemId)) ? (-1255912677) : (-1255912676)); - break; - case 3: - return false; - case 0: - num = ((!_202D_206E_200B_206D_200E_202C_206F_200E_200E_206C_200B_200B_206F_202B_200D_206B_202A_200D_202C_206B_206A_200B_200E_202D_206A_200D_206E_202B_202E_202D_202B_206A_202B_206D_206C_202A_200F_202A_202D_206A_202E(EqualityContract, other.EqualityContract)) ? (-1255912677) : (-1255912674)); - break; - case 1: - return EqualityComparer.Default.Equals(DestPosition, other.DestPosition); - } - } - } - - bool IEquatable.Equals(TicketCapture? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206D_206F_200B_206A_206B_202A_202D_206A_206F_202E_206C_206C_206C_206F_202A_202B_200E_200C_200E_206B_202C_206E_200B_202A_200E_206C_202A_206C_206F_202B_202E_206F_200D_200C_206F_200C_200D_206B_206E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206D_202A_202C_200D_202A_206A_206A_206D_206D_200F_202A_206F_206D_202D_202B_206D_206C_200F_206C_202A_202C_206A_202B_202E_206F_206C_206A_206E_200B_206A_206D_200D_200E_202A_200E_200D_200E_206E_202E_200F_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206E_206F_202B_206B_202C_202D_200E_206F_202B_202D_200F_206B_206A_200D_206C_202B_206B_202E_200E_206C_200F_202C_200D_206F_202E_202D_206B_200F_202E_202A_202D_200C_206C_206A_206D_206A_206E_200E_202A_200C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206A_202E_202B_200B_200F_202C_200B_202B_202E_202E_200D_202E_202A_206F_202E_200B_200D_200F_202A_202C_206F_206A_206E_206C_202A_206A_206A_206C_202C_202E_202C_202D_206B_202D_202E_202C_200C_206C_200C_206B_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202B_206A_206B_202B_202B_200D_200B_206C_200B_206B_202B_202B_206C_202C_200B_200C_206A_202B_200D_200D_206E_202E_206F_200D_200F_200C_206D_202E_206E_202A_202A_200F_200F_202C_206C_206B_206F_200F_200E_206C_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200F_200F_202E_202A_202C_206F_200E_202D_206F_206B_206A_202D_206C_206D_200F_202B_206F_206D_206F_202B_206C_200E_200B_206F_200B_206F_200D_206D_202B_200B_200D_206D_202B_202E_206A_200F_206F_202A_202A_200D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200E_200B_202B_206B_200E_200E_206A_200D_200B_202C_200C_200E_200E_202C_206D_206B_200E_200D_202E_202B_206F_200C_206A_202A_206B_200D_206B_202E_206F_200B_206D_206B_202C_202C_206D_206A_206F_200E_200B_202D_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202D_206E_200B_206D_200E_202C_206F_200E_200E_206C_200B_200B_206F_202B_200D_206B_202A_200D_202C_206B_206A_200B_200E_202D_206A_200D_206E_202B_202E_202D_202B_206A_202B_206D_206C_202A_200F_202A_202D_206A_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } + public sealed record TicketCapture(uint ItemId, string ItemName, ushort DestTerritoryId, Vector3 DestPosition); private const float JumpDistance = 40f; @@ -416,39 +104,17 @@ internal sealed class WarpRecordingService : IDisposable private readonly Dictionary _ticketInventoryCounts = new Dictionary(); - [CompilerGenerated] - private Action? m_WarpCaptured; - - [CompilerGenerated] - private Action? m_TicketCaptured; - public bool IsWarpPending => _warpPhase != EWarpPhase.None; public uint? PendingWarpRowId { get { - int num = (IsWarpPending ? 481097477 : 481097478); - while (true) + if (!IsWarpPending) { - int num2 = num; - int num3 = 481097476; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0048; - case 1: - return _warpRowId; - case 2: - return null; - } - continue; - IL_0048: - num = 481097478; + return null; } + return _warpRowId; } } @@ -456,27 +122,11 @@ internal sealed class WarpRecordingService : IDisposable { get { - int num = (IsWarpPending ? 1811343042 : 1811343041); - while (true) + if (!IsWarpPending) { - int num2 = num; - int num3 = 1811343040; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return _warpName; - case 1: - return null; - case 0: - goto IL_0051; - } - continue; - IL_0051: - num = 1811343041; + return null; } + return _warpName; } } @@ -488,25 +138,11 @@ internal sealed class WarpRecordingService : IDisposable { get { - int num = (_ticketItemId.HasValue ? 2020031708 : 2020031709); - while (true) + if (!_ticketItemId.HasValue) { - int num2 = num; - int num3 = 2020031708; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_004b; - case 0: - return _ticketItemName; - case 1: - return null; - } - continue; - IL_004b: - num = 2020031709; + return null; } + return _ticketItemName; } } @@ -516,155 +152,18 @@ internal sealed class WarpRecordingService : IDisposable { get { - int num = ((!_devEnvironmentGate) ? 1865787301 : 1865787302); - while (true) + if (_devEnvironmentGate) { - int num2 = num; - int num3 = 1865787300; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return false; - case 2: - return _configuration.Advanced.EnableNavDataCapture; - case 0: - goto IL_0059; - } - continue; - IL_0059: - num = 1865787302; + return _configuration.Advanced.EnableNavDataCapture; } + return false; } } - public event Action? WarpCaptured - { - [CompilerGenerated] - add - { - Action action = this.m_WarpCaptured; - int num = -2100065366; - while (true) - { - int num2 = num; - int num3 = -2100065365; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -2100065366; - break; - case 2: - return; - case 1: - { - Action action2 = action; - Action value2 = (Action)_206F_200C_202C_206C_202D_206A_202D_202E_202A_202C_206B_202D_200B_202C_202A_200E_202D_202D_200B_202D_200F_202E_200B_206C_202E_200D_202A_202D_206D_206C_202B_206D_202B_206F_200B_206B_206E_206B_206B_202B_202E((Delegate)action2, (Delegate)value); - action = Interlocked.CompareExchange(ref this.m_WarpCaptured, value2, action2); - num = (((object)action != action2) ? (-2100065366) : (-2100065367)); - break; - } - } - } - } - [CompilerGenerated] - remove - { - Action action = this.m_WarpCaptured; - int num = 996974973; - while (true) - { - int num2 = num; - int num3 = 996974972; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 996974973; - break; - case 0: - return; - case 1: - { - Action action2 = action; - Action value2 = (Action)_202D_202B_206E_202E_206C_200C_202D_206E_206E_200F_202D_200E_202B_206E_202D_206A_206E_206D_206E_200C_206C_206A_206E_206F_202C_200E_206B_202E_206B_206D_206F_200B_200C_200E_200F_206C_206C_200D_202C_200C_202E((Delegate)action2, (Delegate)value); - action = Interlocked.CompareExchange(ref this.m_WarpCaptured, value2, action2); - num = (((object)action != action2) ? 996974973 : 996974972); - break; - } - } - } - } - } + public event Action? WarpCaptured; - public event Action? TicketCaptured - { - [CompilerGenerated] - add - { - Action action = this.m_TicketCaptured; - int num = 1393978024; - while (true) - { - int num2 = num; - int num3 = 1393978025; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1393978024; - break; - case 1: - { - Action action2 = action; - Action value2 = (Action)_206F_200C_202C_206C_202D_206A_202D_202E_202A_202C_206B_202D_200B_202C_202A_200E_202D_202D_200B_202D_200F_202E_200B_206C_202E_200D_202A_202D_206D_206C_202B_206D_202B_206F_200B_206B_206E_206B_206B_202B_202E((Delegate)action2, (Delegate)value); - action = Interlocked.CompareExchange(ref this.m_TicketCaptured, value2, action2); - num = (((object)action != action2) ? 1393978024 : 1393978027); - break; - } - case 2: - return; - } - } - } - [CompilerGenerated] - remove - { - Action action = this.m_TicketCaptured; - int num = -2000190759; - while (true) - { - int num2 = num; - int num3 = -2000190760; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -2000190759; - break; - case 0: - return; - case 1: - { - Action action2 = action; - Action value2 = (Action)_202D_202B_206E_202E_206C_200C_202D_206E_206E_200F_202D_200E_202B_206E_202D_206A_206E_206D_206E_200C_206C_206A_206E_206F_202C_200E_206B_202E_206B_206D_206F_200B_200C_200E_200F_206C_206C_200D_202C_200C_202E((Delegate)action2, (Delegate)value); - action = Interlocked.CompareExchange(ref this.m_TicketCaptured, value2, action2); - num = (((object)action != action2) ? (-2000190759) : (-2000190760)); - break; - } - } - } - } - } + public event Action? TicketCaptured; - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe WarpRecordingService(IDalamudPluginInterface pluginInterface, IClientState clientState, IObjectTable objectTable, ITargetManager targetManager, ICondition condition, IFramework framework, IDataManager dataManager, IGameInteropProvider gameInteropProvider, Configuration configuration, QuestFunctions questFunctions, TeleportTicketService teleportTicketService, ILogger logger) { _clientState = clientState; @@ -677,143 +176,66 @@ internal sealed class WarpRecordingService : IDisposable _questFunctions = questFunctions; _teleportTicketService = teleportTicketService; _logger = logger; - _devEnvironmentGate = _202C_202C_202C_200D_206F_206C_206F_202C_202A_202D_206F_206D_200E_206F_206C_202B_206F_200E_206B_200B_206C_206E_200E_202E_202D_206B_206B_200B_206D_202D_200F_200F_202B_202C_200D_202A_206E_200D_202C_202E(pluginInterface) || _206D_206D_206A_206F_206F_202A_206A_202C_206C_206C_200E_200C_202D_200B_206D_206B_200F_206F_200B_206C_202B_206F_200C_200E_200B_206A_200E_202E_200E_206C_206B_200C_200E_206D_202D_206F_202D_200B_206C_202D_202E(_202A_202C_202E_206D_202D_206E_200E_200B_200F_200C_206B_202D_200F_206D_202D_200B_206D_200C_202B_200E_206D_206E_206E_206E_206A_202C_202C_202C_200B_202C_200B_202A_206B_200F_202B_200C_202B_200C_200C_200D_202E(_200B_202C_200B_202A_206F_202E_206F_206F_206B_206B_202B_200C_200D_200E_206B_202B_202E_206F_206F_200E_206A_202B_206C_202C_200B_200D_200D_206C_206C_200E_206E_202C_206F_206E_202E_200F_202E_200D_200B_206A_202E((FileSystemInfo)_200E_202B_202B_200F_202D_200B_202D_206F_200B_202A_200E_202B_200E_206D_206B_206B_202C_202C_206E_200C_206E_202D_202E_206A_206C_202A_200F_206E_200C_202D_206C_206C_206C_206A_202C_202C_206F_200E_202A_206E_202E(pluginInterface)), 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(-835725839))); + _devEnvironmentGate = pluginInterface.IsDev || File.Exists(Path.Combine(pluginInterface.ConfigDirectory.FullName, ".nav-authoring")); if (_devEnvironmentGate) { - _202D_200C_200B_200F_206A_200F_200E_206C_206D_200F_202C_202B_202A_200F_202D_202E_202D_206B_206D_206A_200E_200C_200F_206E_202D_206C_206F_200B_202B_202A_202D_200C_200F_206B_202D_202D_202E_206E_202A_202E_202E((ILogger)_logger, 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(-323245053), new object[1] { _202C_202C_202C_200D_206F_206C_206F_202C_202A_202D_206F_206D_200E_206F_206C_202B_206F_200E_206B_200B_206C_206E_200E_202E_202D_206B_206B_200B_206D_202D_200F_200F_202B_202C_200D_202A_206E_200D_202C_202E(pluginInterface) }); + _logger.LogDebug("Warp recorder: dev environment gate open (IsDev={IsDev})", pluginInterface.IsDev); } try { - _processEventPlayHook = gameInteropProvider.HookFromAddress((nint)_206A_206A_202E_202D_200E_202E_200E_200C_202D_206D_206D_202E_200D_206F_202B_206F_206B_200F_202C_200F_206B_202B_202E_202D_202E_200D_202B_200E_202A_200D_206C_206A_206B_202D_206E_200C_200C_202D_202A_202B_202E(), OnProcessEventPlay); + _processEventPlayHook = gameInteropProvider.HookFromAddress((nint)EventFramework.MemberFunctionPointers.ProcessEventPlay, OnProcessEventPlay); _processEventPlayHook.Enable(); } - catch (Exception ex) + catch (Exception exception) { - _206A_206C_206C_206A_200E_202D_206C_202D_202E_206E_206D_202B_202A_202B_200B_202A_206B_206A_200D_206B_200E_200D_206B_206A_206E_206E_200F_200E_206C_200B_202E_206F_200E_200E_206A_200B_200D_206D_200D_202E((ILogger)_logger, ex, 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(-1894559427), Array.Empty()); + _logger.LogError(exception, "Failed to hook ProcessEventPlay for warp recorder"); } - _202A_202B_200F_202D_206E_202D_202D_206C_202B_202C_202C_206B_200B_202E_200C_200E_202B_202E_200B_206E_202B_202B_200F_206D_200D_202B_200F_206F_202C_200B_200D_202B_200F_206D_206B_206F_206D_200F_206C_206D_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkTick); + _framework.Update += OnFrameworkTick; } - [MethodImpl(MethodImplOptions.NoInlining)] public void ArmManual(uint warpRowId, string? warpName, uint npcDataId, ushort sourceTerritory, Vector3 sourcePosition) { - int num = (_devEnvironmentGate ? 973810328 : 973810329); - while (true) + if (_devEnvironmentGate) { - int num2 = num; - int num3 = 973810328; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0049; - case 0: - { - string text = warpName; - if (text == null) - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(5, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1641447953)); - defaultInterpolatedStringHandler.AppendFormatted(warpRowId); - text = defaultInterpolatedStringHandler.ToStringAndClear(); - } - Arm(warpRowId, text, (npcDataId != 0) ? new uint?(npcDataId) : ((uint?)null), sourceTerritory, sourcePosition); - return; - } - case 1: - return; - } - continue; - IL_0049: - num = 973810329; + Arm(warpRowId, warpName ?? $"Warp#{warpRowId}", (npcDataId != 0) ? new uint?(npcDataId) : ((uint?)null), sourceTerritory, sourcePosition); } } public bool CaptureWarpDestNow() { - int num = ((_warpPhase != EWarpPhase.None) ? 1254314250 : 1254314251); - IGameObject gameObject = default(IGameObject); - while (true) + if (_warpPhase == EWarpPhase.None) { - int num2 = num; - int num3 = 1254314255; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1254314251; - break; - case 5: - gameObject = _200E_202A_206E_200E_206C_202A_200B_200C_202B_206B_206A_206D_206B_200D_202A_200D_202C_202E_206C_202C_206E_200B_200D_200B_202B_202E_206C_200E_200B_202E_206A_202C_202B_202A_200B_202C_206D_206A_206D_202E(_objectTable, 0); - num = ((gameObject == null) ? 1254314253 : 1254314254); - break; - case 3: - CompleteWarp(_202D_202B_206F_206B_200E_200E_200E_206D_200C_206A_200F_200B_202E_206A_200F_202E_206F_202A_202A_202A_206F_200C_202A_206C_202A_206B_206C_202D_200F_200E_200E_202B_202D_202C_200B_202C_200E_200B_206C_200F_202E(gameObject)); - return true; - case 1: - num = ((!(_202D_202B_206F_206B_200E_200E_200E_206D_200C_206A_200F_200B_202E_206A_200F_202E_206F_202A_202A_202A_206F_200C_202A_206C_202A_206B_206C_202D_200F_200E_200E_202B_202D_202C_200B_202C_200E_200B_206C_200F_202E(gameObject) == Vector3.Zero)) ? 1254314252 : 1254314253); - break; - case 4: - return false; - case 2: - return false; - } + return false; } + IGameObject gameObject = _objectTable[0]; + if (gameObject == null || gameObject.Position == Vector3.Zero) + { + return false; + } + CompleteWarp(gameObject.Position); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public void DismissWarp() { - ResetWarp(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1890285424)); + ResetWarp("dismissed"); } - [MethodImpl(MethodImplOptions.NoInlining)] public bool CaptureTicketDestNow() { - int num = (_ticketItemId.HasValue ? 1733996203 : 1733996202); - IGameObject gameObject = default(IGameObject); - while (true) + if (!_ticketItemId.HasValue) { - int num2 = num; - int num3 = 1733996206; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 1: - return false; - case 6: - num = ((!(_202D_202B_206F_206B_200E_200E_200E_206D_200C_206A_200F_200B_202E_206A_200F_202E_206F_202A_202A_202A_206F_200C_202A_206C_202A_206B_206C_202D_200F_200E_200E_202B_202D_202C_200B_202C_200E_200B_206C_200F_202E(gameObject) == Vector3.Zero)) ? 1733996206 : 1733996207); - continue; - case 0: - { - TicketCapture ticketCapture = new TicketCapture(_ticketItemId.Value, _ticketItemName, (ushort)_200E_200D_206A_206E_202D_202A_206D_206D_206A_206B_206F_206E_200B_202A_206E_202C_200D_202B_202B_202C_200F_200C_206E_206E_206A_200D_200B_202E_200C_200F_206B_206E_202E_206A_200C_200B_206C_206B_200B_206E_202E(_clientState), _202D_202B_206F_206B_200E_200E_200E_206D_200C_206A_200F_200B_202E_206A_200F_202E_206F_202A_202A_202A_206F_200C_202A_206C_202A_206B_206C_202D_200F_200E_200E_202B_202D_202C_200B_202C_200E_200B_206C_200F_202E(gameObject)); - _206C_202D_202A_202B_206A_206D_202C_200B_202D_202B_200D_200E_202C_202E_206D_200D_200E_206C_200C_206B_200F_206B_206A_202A_206A_206E_202D_206F_206A_200B_206E_206B_202B_206B_202D_202D_206D_202E_206B_202C_202E((ILogger)_logger, 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(-1700222417), new object[3] { ticketCapture.ItemName, ticketCapture.ItemId, ticketCapture.DestTerritoryId }); - ClearTicket(); - Action? action = this.TicketCaptured; - if (action == null) - { - break; - } - action(ticketCapture); - num = 1733996204; - continue; - } - case 4: - return false; - case 3: - num = 1733996202; - continue; - case 5: - gameObject = _200E_202A_206E_200E_206C_202A_200B_200C_202B_206B_206A_206D_206B_200D_202A_200D_202C_202E_206C_202C_206E_200B_200D_200B_202B_202E_206C_200E_200B_202E_206A_202C_202B_202A_200B_202C_206D_206A_206D_202E(_objectTable, 0); - num = ((gameObject == null) ? 1733996207 : 1733996200); - continue; - case 2: - break; - } - break; + return false; } + IGameObject gameObject = _objectTable[0]; + if (gameObject == null || gameObject.Position == Vector3.Zero) + { + return false; + } + TicketCapture ticketCapture = new TicketCapture(_ticketItemId.Value, _ticketItemName, (ushort)_clientState.TerritoryType, gameObject.Position); + _logger.LogInformation("Ticket recorder: manually captured {Name} (#{Id}) -> {Territory}", ticketCapture.ItemName, ticketCapture.ItemId, ticketCapture.DestTerritoryId); + ClearTicket(); + this.TicketCaptured?.Invoke(ticketCapture); return true; } @@ -824,132 +246,49 @@ internal sealed class WarpRecordingService : IDisposable public void Dispose() { - _206E_200C_202B_206E_206E_206B_200B_206C_202E_202B_206E_200E_200E_202A_206A_202C_206F_202E_206A_200F_206E_202C_200C_206F_200C_206C_202E_206D_200F_202E_206F_202E_200D_206B_206F_206B_206B_206B_200C_206E_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkTick); + _framework.Update -= OnFrameworkTick; _processEventPlayHook?.Disable(); _processEventPlayHook?.Dispose(); } - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void OnProcessEventPlay(EventFramework* self, GameObject* gameObject, FFXIVClientStructs.FFXIV.Client.Game.Event.EventId eventId, short scene, ulong sceneFlags, uint* sceneData, byte sceneDataCount) { _processEventPlayHook.Original(self, gameObject, eventId, scene, sceneFlags, sceneData, sceneDataCount); try { - int num = (AutoCaptureEnabled ? 993725425 : 993725428); - string text5 = default(string); - Warp? rowOrDefault = default(Warp?); - string text4 = default(string); - uint id = default(uint); - string text2 = default(string); - uint? npcDataId = default(uint?); - Vector3 sourcePosition = default(Vector3); - while (true) + if (AutoCaptureEnabled && eventId.ContentId == EventHandlerContent.Warp) { - int num2 = num; - int num3 = 993725425; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - uint? obj; - string text3; - switch (num5 - (num6 + num6)) + uint id = eventId.Id; + string text = null; + Warp? rowOrDefault = _dataManager.GetExcelSheet().GetRowOrDefault(id); + if (rowOrDefault.HasValue) { - case 7: - obj = gameObject->BaseId; - goto IL_00a3; - case 6: - text5 = rowOrDefault.Value.Name.ExtractText(); - text4 = rowOrDefault.Value.Question.ExtractText(); - num = ((!_202E_206F_200B_200E_200D_202E_200B_206C_206F_206B_206A_202C_202D_206C_202E_206F_206B_206D_206D_200B_202C_206E_200F_200F_202A_200C_200B_202D_200F_200D_206B_206B_202B_206A_200C_200D_200F_202C_206A_206C_202E(text5)) ? 993725426 : 993725436); - break; - case 0: - num = ((eventId.ContentId == EventHandlerContent.Warp) ? 993725437 : 993725435); - break; - case 12: - id = eventId.Id; - text2 = null; - rowOrDefault = _dataManager.GetExcelSheet().GetRowOrDefault(id); - num = ((!rowOrDefault.HasValue) ? 993725424 : 993725431); - break; - case 2: - num = ((gameObject->BaseId != 0) ? 993725430 : 993725434); - break; - case 4: - { - IGameObject gameObject2 = _202D_200D_200D_206E_206D_202E_202D_206F_206D_200F_206E_206E_202D_200D_206C_200D_206F_202A_200B_206C_202C_202C_200B_206D_202B_200D_206E_200B_200F_206A_202D_200B_202B_202B_206F_200D_202B_202D_202D_206E_202E(_targetManager); - npcDataId = ((gameObject2 != null) ? new uint?(_200B_200D_206A_202C_200F_206D_202E_206B_206D_202C_206B_202A_206A_202B_200D_206D_200B_202D_202A_200C_206B_206C_200D_206A_200C_206A_200F_202A_200F_202C_200C_202A_202B_202A_202D_202D_200D_206A_202B_206D_202E(gameObject2)) : ((uint?)null)); - Vector3 obj2; - if (gameObject2 == null) - { - IGameObject gameObject3 = _200E_202A_206E_200E_206C_202A_200B_200C_202B_206B_206A_206D_206B_200D_202A_200D_202C_202E_206C_202C_206E_200B_200D_200B_202B_202E_206C_200E_200B_202E_206A_202C_202B_202A_200B_202C_206D_206A_206D_202E(_objectTable, 0); - obj2 = ((gameObject3 != null) ? _202D_202B_206F_206B_200E_200E_200E_206D_200C_206A_200F_200B_202E_206A_200F_202E_206F_202A_202A_202A_206F_200C_202A_206C_202A_206B_206C_202D_200F_200E_200E_202B_202D_202C_200B_202C_200E_200B_206C_200F_202E(gameObject3) : Vector3.Zero); - } - else - { - obj2 = _202D_202B_206F_206B_200E_200E_200E_206D_200C_206A_200F_200B_202E_206A_200F_202E_206F_202A_202A_202A_206F_200C_202A_206C_202A_206B_206C_202D_200F_200E_200E_202B_202D_202C_200B_202C_200E_200B_206C_200F_202E(gameObject2); - } - sourcePosition = obj2; - num = 993725433; - break; + string text2 = rowOrDefault.Value.Name.ExtractText(); + string text3 = rowOrDefault.Value.Question.ExtractText(); + text = ((!string.IsNullOrEmpty(text2)) ? text2 : text3); } - case 5: - return; - case 1: - num = ((gameObject == null) ? 993725429 : 993725427); - break; - case 3: - text3 = text5; - goto IL_024a; - case 9: - num = 993725428; - break; - case 11: - obj = null; - goto IL_00a3; - case 10: - return; - case 13: - text3 = text4; - goto IL_024a; - case 8: - { - uint warpRowId = id; - string text = text2; - if (text == null) - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(5, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(889861098)); - defaultInterpolatedStringHandler.AppendFormatted(id); - text = defaultInterpolatedStringHandler.ToStringAndClear(); - } - Arm(warpRowId, text, npcDataId, (ushort)_200E_200D_206A_206E_202D_202A_206D_206D_206A_206B_206F_206E_200B_202A_206E_202C_200D_202B_202B_202C_200F_200C_206E_206E_206A_200D_200B_202E_200C_200F_206B_206E_202E_206A_200C_200B_206C_206B_200B_206E_202E(_clientState), sourcePosition); - return; - } - IL_024a: - text2 = text3; - num = 993725424; - break; - IL_00a3: - npcDataId = obj; + uint? npcDataId; + Vector3 sourcePosition; + if (gameObject != null) + { + npcDataId = ((gameObject->BaseId != 0) ? new uint?(gameObject->BaseId) : ((uint?)null)); sourcePosition = gameObject->Position; - num = 993725433; - break; } + else + { + IGameObject? target = _targetManager.Target; + npcDataId = target?.BaseId; + sourcePosition = target?.Position ?? _objectTable[0]?.Position ?? Vector3.Zero; + } + Arm(id, text ?? $"Warp#{id}", npcDataId, (ushort)_clientState.TerritoryType, sourcePosition); } } - catch (Exception ex) + catch (Exception exception) { - _206A_206C_206C_206A_200E_202D_206C_202D_202E_206E_206D_202B_202A_202B_200B_202A_206B_206A_200D_206B_200E_200D_206B_206A_206E_206E_200F_200E_206C_200B_202E_206F_200E_200E_206A_200B_200D_206D_200D_202E((ILogger)_logger, ex, 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(-1117596149), Array.Empty()); + _logger.LogError(exception, "Warp recorder: ProcessEventPlay handler failed"); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void Arm(uint warpRowId, string warpName, uint? npcDataId, ushort sourceTerritory, Vector3 sourcePosition) { _warpPhase = EWarpPhase.Armed; @@ -960,434 +299,186 @@ internal sealed class WarpRecordingService : IDisposable _sourcePosition = sourcePosition; _seenMsqId = CurrentMsqQuestId(); _armedAt = DateTime.UtcNow; - _202D_200C_200B_200F_206A_200F_200E_206C_206D_200F_202C_202B_202A_200F_202D_202E_202D_206B_206D_206A_200E_200C_200F_206E_202D_206C_206F_200B_202B_202A_202D_200C_200F_206B_202D_202D_202E_206E_202A_202E_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(281345071), new object[7] { warpRowId, warpName, sourceTerritory, sourcePosition.X, sourcePosition.Y, sourcePosition.Z, _seenMsqId }); + _logger.LogDebug("Warp recorder: armed warp {Id} ({Name}) at territory {Territory} ({X:F1}, {Y:F1}, {Z:F1}), MSQ {Msq}", warpRowId, warpName, sourceTerritory, sourcePosition.X, sourcePosition.Y, sourcePosition.Z, _seenMsqId); } private void OnFrameworkTick(IFramework _) { - IGameObject gameObject = _200E_202A_206E_200E_206C_202A_200B_200C_202B_206B_206A_206D_206B_200D_202A_200D_202C_202E_206C_202C_206E_200B_200D_200B_202B_202E_206C_200E_200B_202E_206A_202C_202B_202A_200B_202C_206D_206A_206D_202E(_objectTable, 0); - int num = (_206D_202B_206C_206B_200D_202E_202E_202B_202E_200D_206B_206B_202E_200E_206B_206F_202C_206E_200D_200C_206A_202E_206D_206C_206A_206E_206B_206F_202C_202A_206F_206E_202E_206D_206F_202A_202C_200D_200E_206C_202E(_condition, ConditionFlag.BetweenAreas) ? 661314614 : 661314612); - bool flag = default(bool); - while (true) + IGameObject gameObject = _objectTable[0]; + bool flag = _condition[ConditionFlag.BetweenAreas] || _condition[ConditionFlag.BetweenAreas51]; + DateTime utcNow = DateTime.UtcNow; + TickWarp(gameObject, flag, utcNow); + TickTicket(gameObject, flag, utcNow); + if (gameObject != null && !flag) { - int num2 = num; - int num3 = 661314613; - int num4 = num2; - int num5; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 4: - num = 661314612; - continue; - case 5: - _lastPlayerTerritory = _200E_200D_206A_206E_202D_202A_206D_206D_206A_206B_206F_206E_200B_202A_206E_202C_200D_202B_202B_202C_200F_200C_206E_206E_206A_200D_200B_202E_200C_200F_206B_206E_202E_206A_200C_200B_206C_206B_200B_206E_202E(_clientState); - _lastPlayerPosition = _202D_202B_206F_206B_200E_200E_200E_206D_200C_206A_200F_200B_202E_206A_200F_202E_206F_202A_202A_202A_206F_200C_202A_206C_202A_206B_206C_202D_200F_200E_200E_202B_202D_202C_200B_202C_200E_200B_206C_200F_202E(gameObject); - return; - case 2: - num = (flag ? 661314613 : 661314608); - continue; - case 0: - _lastPlayerPosition = null; - return; - case 1: - num5 = (_206D_202B_206C_206B_200D_202E_202E_202B_202E_200D_206B_206B_202E_200E_206B_206F_202C_206E_200D_200C_206A_202E_206D_206C_206A_206E_206B_206F_202C_202A_206F_206E_202E_206D_206F_202A_202C_200D_200E_206C_202E(_condition, ConditionFlag.BetweenAreas51) ? 1 : 0); - break; - case 3: - num5 = 1; - break; - } - flag = (byte)num5 != 0; - DateTime utcNow = DateTime.UtcNow; - TickWarp(gameObject, flag, utcNow); - TickTicket(gameObject, flag, utcNow); - num = ((gameObject == null) ? 661314613 : 661314615); + _lastPlayerTerritory = _clientState.TerritoryType; + _lastPlayerPosition = gameObject.Position; + } + else + { + _lastPlayerPosition = null; } } - [MethodImpl(MethodImplOptions.NoInlining)] private void TickWarp(IGameObject? player, bool loading, DateTime now) { - int num = ((_warpPhase != EWarpPhase.None) ? 1067159357 : 1067159353); - bool flag = default(bool); - while (true) + if (_warpPhase == EWarpPhase.None) { - int num2 = num; - int num3 = 1067159346; - int num4 = num2; - int num5; - switch ((num4 | num3) - (num4 & num3)) + return; + } + bool flag = _condition[ConditionFlag.OccupiedInQuestEvent] || _condition[ConditionFlag.OccupiedInEvent]; + switch (_warpPhase) + { + case EWarpPhase.Armed: + if (loading) + { + EnterTransit(); + } + else if (flag) + { + _warpPhase = EWarpPhase.DialogOpen; + } + else if (!TryDetectJump(player, now) && now - _armedAt > ArmedTimeout) + { + ResetWarp("no transit within timeout"); + } + break; + case EWarpPhase.DialogOpen: + if (loading) + { + EnterTransit(); + } + else if (!flag) { - default: - continue; - case 27: - num = (TryDetectJump(player, now) ? 1067159339 : 1067159358); - continue; - case 4: - num = ((!loading) ? 1067159337 : 1067159351); - continue; - case 18: - num = ((!flag) ? 1067159349 : 1067159342); - continue; - case 13: - num = ((player == null) ? 1067159339 : 1067159356); - continue; - case 10: - CompleteWarp(_202D_202B_206F_206B_200E_200E_200E_206D_200C_206A_200F_200B_202E_206A_200F_202E_206F_202A_202A_202A_206F_200C_202A_206C_202A_206B_206C_202D_200F_200E_200E_202B_202D_202C_200B_202C_200E_200B_206C_200F_202E(player)); - num = 1067159339; - continue; - case 14: - num = ((!(_202D_202B_206F_206B_200E_200E_200E_206D_200C_206A_200F_200B_202E_206A_200F_202E_206F_202A_202A_202A_206F_200C_202A_206C_202A_206B_206C_202D_200F_200E_200E_202B_202D_202C_200B_202C_200E_200B_206C_200F_202E(player) != Vector3.Zero)) ? 1067159339 : 1067159334); - continue; - case 19: - num = (flag ? 1067159339 : 1067159355); - continue; - case 9: _warpPhase = EWarpPhase.AwaitingTransit; _awaitTransitSince = now; - return; - case 32: - num = ((!(_202D_202B_206F_206B_200E_200E_200E_206D_200C_206A_200F_200B_202E_206A_200F_202E_206F_202A_202A_202A_206F_200C_202A_206C_202A_206B_206C_202D_200F_200E_200E_202B_202D_202C_200B_202C_200E_200B_206C_200F_202E(player) != Vector3.Zero)) ? 1067159339 : 1067159352); - continue; - case 23: - num = 1067159353; - continue; - case 26: - num = ((!(now - _armedAt > ArmedTimeout)) ? 1067159339 : 1067159346); - continue; - case 11: - return; - case 0: - ResetWarp(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(-454604409)); - return; - case 22: - num5 = (_206D_202B_206C_206B_200D_202E_202E_202B_202E_200D_206B_206B_202E_200E_206B_206F_202C_206E_200D_200C_206A_202E_206D_206C_206A_206E_206B_206F_202C_202A_206F_206E_202E_206D_206F_202A_202C_200D_200E_206C_202E(_condition, ConditionFlag.OccupiedInEvent) ? 1 : 0); - goto IL_0396; - case 6: - goto IL_023b; - case 17: - EnterTransit(); - return; - case 5: - EnterTransit(); - return; - case 7: - num = (TryDetectJump(player, now) ? 1067159339 : 1067159336); - continue; - case 31: - num = ((!(now - _jumpDetectedAt > JumpSettle)) ? 1067159339 : 1067159338); - continue; - case 24: - num = ((player == null) ? 1067159339 : 1067159314); - continue; - case 20: - CompleteWarp(_202D_202B_206F_206B_200E_200E_200E_206D_200C_206A_200F_200B_202E_206A_200F_202E_206F_202A_202A_202A_206F_200C_202A_206C_202A_206B_206C_202D_200F_200E_200E_202B_202D_202C_200B_202C_200E_200B_206C_200F_202E(player)); - return; - case 12: - num = ((!(now - _awaitTransitSince > CancelGrace)) ? 1067159339 : 1067159343); - continue; - case 3: - return; - case 16: - goto IL_0314; - case 8: - goto IL_0330; - case 25: - return; - case 15: - num = (_206D_202B_206C_206B_200D_202E_202E_202B_202E_200D_206B_206B_202E_200E_206B_206F_202C_206E_200D_200C_206A_202E_206D_206C_206A_206E_206B_206F_202C_202A_206F_206E_202E_206D_206F_202A_202C_200D_200E_206C_202E(_condition, ConditionFlag.OccupiedInQuestEvent) ? 1067159344 : 1067159332); - continue; - case 21: - EnterTransit(); - return; - case 28: - _warpPhase = EWarpPhase.DialogOpen; - return; - case 29: - ResetWarp(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-629431639)); - return; - case 2: - num5 = 1; - goto IL_0396; - case 1: - EnterTransit(); - return; - case 30: - break; - IL_023b: - num = (loading ? 1067159339 : 1067159359); - continue; - IL_0396: - flag = (byte)num5 != 0; - switch (_warpPhase) - { - case EWarpPhase.AwaitingTransit: - break; - case EWarpPhase.InTransit: - goto IL_023b; - case EWarpPhase.JumpSettling: - goto IL_0314; - case EWarpPhase.Armed: - goto IL_0330; - default: - goto IL_03ba; - case EWarpPhase.DialogOpen: - goto end_IL_0033; - } - goto case 4; - IL_03ba: - num = 1067159345; - continue; - IL_0330: - num = ((!loading) ? 1067159328 : 1067159347); - continue; - IL_0314: - num = ((!loading) ? 1067159341 : 1067159331); - continue; - end_IL_0033: - break; } - num = ((!loading) ? 1067159329 : 1067159335); + break; + case EWarpPhase.AwaitingTransit: + if (loading) + { + EnterTransit(); + } + else if (!TryDetectJump(player, now) && now - _awaitTransitSince > CancelGrace) + { + ResetWarp("dialog closed without transit (cancelled)"); + } + break; + case EWarpPhase.InTransit: + if (!loading && player != null && player.Position != Vector3.Zero) + { + CompleteWarp(player.Position); + } + break; + case EWarpPhase.JumpSettling: + if (loading) + { + EnterTransit(); + } + else if (now - _jumpDetectedAt > JumpSettle && player != null && player.Position != Vector3.Zero) + { + CompleteWarp(player.Position); + } + break; } } - [MethodImpl(MethodImplOptions.NoInlining)] private void EnterTransit() { _warpPhase = EWarpPhase.InTransit; - _202D_200C_200B_200F_206A_200F_200E_206C_206D_200F_202C_202B_202A_200F_202D_202E_202D_206B_206D_206A_200E_200C_200F_206E_202D_206C_206F_200B_202B_202A_202D_200C_200F_206B_202D_202D_202E_206E_202A_202E_202E((ILogger)_logger, 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(701038804), new object[1] { _warpRowId }); + _logger.LogDebug("Warp recorder: loading transition detected for pending warp {Id}", _warpRowId); } - [MethodImpl(MethodImplOptions.NoInlining)] private bool TryDetectJump(IGameObject? player, DateTime now) { - int num = ((player == null) ? (-816594066) : (-816594069)); - while (true) + if (player == null || !_lastPlayerPosition.HasValue || _lastPlayerTerritory != _clientState.TerritoryType) { - int num2 = num; - int num3 = -816594067; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = ((!(Vector3.DistanceSquared(_202D_202B_206F_206B_200E_200E_200E_206D_200C_206A_200F_200B_202E_206A_200F_202E_206F_202A_202A_202A_206F_200C_202A_206C_202A_206B_206C_202D_200F_200E_200E_202B_202D_202C_200B_202C_200E_200B_206C_200F_202E(player), _lastPlayerPosition.Value) < 1600f)) ? (-816594068) : (-816594071)); - break; - case 3: - return false; - case 1: - _warpPhase = EWarpPhase.JumpSettling; - _jumpDetectedAt = now; - _202D_200C_200B_200F_206A_200F_200E_206C_206D_200F_202C_202B_202A_200F_202D_202E_202D_206B_206D_206A_200E_200C_200F_206E_202D_206C_206F_200B_202B_202A_202D_200C_200F_206B_202D_202D_202E_206E_202A_202E_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-315128219), new object[1] { _warpRowId }); - return true; - case 6: - num = ((!_lastPlayerPosition.HasValue) ? (-816594066) : (-816594067)); - break; - case 4: - return false; - case 5: - num = -816594069; - break; - case 0: - num = ((_lastPlayerTerritory == _200E_200D_206A_206E_202D_202A_206D_206D_206A_206B_206F_206E_200B_202A_206E_202C_200D_202B_202B_202C_200F_200C_206E_206E_206A_200D_200B_202E_200C_200F_206B_206E_202E_206A_200C_200B_206C_206B_200B_206E_202E(_clientState)) ? (-816594065) : (-816594066)); - break; - } + return false; } + if (Vector3.DistanceSquared(player.Position, _lastPlayerPosition.Value) < 1600f) + { + return false; + } + _warpPhase = EWarpPhase.JumpSettling; + _jumpDetectedAt = now; + _logger.LogDebug("Warp recorder: position jump detected for pending warp {Id}", _warpRowId); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] private void CompleteWarp(Vector3 destPosition) { - WarpCapture warpCapture = new WarpCapture(_warpRowId, _warpName, _npcDataId, _sourceTerritory, _sourcePosition, (ushort)_200E_200D_206A_206E_202D_202A_206D_206D_206A_206B_206F_206E_200B_202A_206E_202C_200D_202B_202B_202C_200F_200C_206E_206E_206A_200D_200B_202E_200C_200F_206B_206E_202E_206A_200C_200B_206C_206B_200B_206E_202E(_clientState), destPosition, _seenMsqId); - _206C_202D_202A_202B_206A_206D_202C_200B_202D_202B_200D_200E_202C_202E_206D_200D_200E_206C_200C_206B_200F_206B_206A_202A_206A_206E_202D_206F_206A_200B_206E_206B_202B_206B_202D_202D_206D_202E_206B_202C_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1092964014), new object[8] { warpCapture.WarpRowId, warpCapture.WarpName, warpCapture.SourceTerritoryId, warpCapture.DestTerritoryId, destPosition.X, destPosition.Y, destPosition.Z, warpCapture.SeenDuringMsqId }); + WarpCapture warpCapture = new WarpCapture(_warpRowId, _warpName, _npcDataId, _sourceTerritory, _sourcePosition, (ushort)_clientState.TerritoryType, destPosition, _seenMsqId); + _logger.LogInformation("Warp recorder: captured warp {Id} ({Name}): {SrcTerritory} -> {DstTerritory} at ({X:F1}, {Y:F1}, {Z:F1}), MSQ {Msq}", warpCapture.WarpRowId, warpCapture.WarpName, warpCapture.SourceTerritoryId, warpCapture.DestTerritoryId, destPosition.X, destPosition.Y, destPosition.Z, warpCapture.SeenDuringMsqId); ResetWarp(null); this.WarpCaptured?.Invoke(warpCapture); } - [MethodImpl(MethodImplOptions.NoInlining)] private void ResetWarp(string? reason) { - int num = ((reason == null) ? (-171802818) : (-171802817)); - while (true) + if (reason != null && _warpPhase != EWarpPhase.None) { - int num2 = num; - int num3 = -171802819; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -171802817; - break; - case 3: - _warpPhase = EWarpPhase.None; - _npcDataId = null; - _seenMsqId = null; - _warpName = string.Empty; - return; - case 1: - _202D_200C_200B_200F_206A_200F_200E_206C_206D_200F_202C_202B_202A_200F_202D_202E_202D_206B_206D_206A_200E_200C_200F_206E_202D_206C_206F_200B_202B_202A_202D_200C_200F_206B_202D_202D_202E_206E_202A_202E_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1620536465), new object[2] { _warpRowId, reason }); - num = -171802818; - break; - case 2: - num = ((_warpPhase == EWarpPhase.None) ? (-171802818) : (-171802820)); - break; - } + _logger.LogDebug("Warp recorder: clearing pending warp {Id}: {Reason}", _warpRowId, reason); } + _warpPhase = EWarpPhase.None; + _npcDataId = null; + _seenMsqId = null; + _warpName = string.Empty; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void TickTicket(IGameObject? player, bool loading, DateTime now) { if (!_ticketItemId.HasValue) { - int num = -925651820; - InventoryManager* ptr = default(InventoryManager*); - TeleportTicketService.ScannedTicket current = default(TeleportTicketService.ScannedTicket); - int value = default(int); - int inventoryItemCount = default(int); - while (true) + if (!AutoCaptureEnabled) { - int num2 = num; - int num3 = -925651819; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (_ticketInventoryCounts.Count > 0) { - case 0: _ticketInventoryCounts.Clear(); - num = -925651811; - break; - case 1: - num = (AutoCaptureEnabled ? (-925651821) : (-925651817)); - break; - case 5: - ptr = InventoryManager.Instance(); - num = ((ptr != null) ? (-925651823) : (-925651822)); - break; - case 8: - return; - case 7: - return; - case 2: - num = ((_ticketInventoryCounts.Count <= 0) ? (-925651811) : (-925651819)); - break; - case 9: - return; - case 3: - num = -925651820; - break; - case 6: - num = ((!loading) ? (-925651824) : (-925651812)); - break; - case 4: - { - IEnumerator enumerator = _200F_200F_206A_206D_206A_202A_202A_206F_200B_200C_206C_206A_202E_206A_200E_206B_206B_200B_200C_206F_206E_200D_206F_202C_206F_206E_202C_202C_206D_206F_206F_206D_200B_206E_206B_200D_206E_202D_202E_202E(_teleportTicketService).GetEnumerator(); - try - { - num = 1492712344; - while (true) - { - int num7 = num; - num3 = 1492712348; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 2: - num = 1492712344; - break; - case 6: - _206C_202D_202A_202B_206A_206D_202C_200B_202D_202B_200D_200E_202C_202E_206D_200D_200E_206C_200C_206B_200F_206B_206A_202A_206A_206E_202D_206F_206A_200B_206E_206B_202B_206B_202D_202D_206D_202E_206B_202C_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-869991086), new object[4] - { - _206B_206F_200D_206D_200D_202C_206D_202B_200E_200E_202A_200F_200F_206A_202B_206A_206E_206A_206D_206A_202C_200B_206C_202B_206B_206C_200C_200B_206F_202C_202B_206B_202E_206B_200E_206F_200F_200E_202A_206F_202E(current), - _202E_202C_206A_200F_200D_200E_200D_200B_202A_206F_200E_206D_206A_200B_200D_202C_202D_206D_200B_200C_200F_202A_202B_200C_202A_200E_200B_200D_206A_202C_200D_200E_202A_202B_200C_200F_206C_206C_206E_206C_202E(current), - value, - inventoryItemCount - }); - _ticketItemId = _202E_202C_206A_200F_200D_200E_200D_200B_202A_206F_200E_206D_206A_200B_200D_202C_202D_206D_200B_200C_200F_202A_202B_200C_202A_200E_200B_200D_206A_202C_200D_200E_202A_202B_200C_200F_206C_206C_206E_206C_202E(current); - _ticketItemName = _206B_206F_200D_206D_200D_202C_206D_202B_200E_200E_202A_200F_200F_206A_202B_206A_206E_206A_206D_206A_202C_200B_206C_202B_206B_206C_200C_200B_206F_202C_202B_206B_202E_206B_200E_206F_200F_200E_202A_206F_202E(current); - _ticketSeenLoading = false; - _ticketArmedAt = now; - num = 1492712345; - break; - case 4: - num = (_206A_206C_202D_200E_206E_202B_206C_202B_206E_202E_202B_202B_202B_206A_206B_200F_200B_200F_206C_202D_202D_200E_200D_200B_200B_206B_206F_200C_200C_200E_206D_200D_206B_200C_202D_202C_206C_202D_200D_200F_202E((IEnumerator)enumerator) ? 1492712349 : 1492712351); - break; - case 0: - num = ((inventoryItemCount >= value) ? 1492712345 : 1492712346); - break; - case 1: - current = enumerator.Current; - inventoryItemCount = ptr->GetInventoryItemCount(_202E_202C_206A_200F_200D_200E_200D_200B_202A_206F_200E_206D_206A_200B_200D_202C_202D_206D_200B_200C_200F_202A_202B_200C_202A_200E_200B_200D_206A_202C_200D_200E_202A_202B_200C_200F_206C_206C_206E_206C_202E(current), isHq: false, checkEquipped: true, checkArmory: true, 0); - num = ((!_ticketInventoryCounts.TryGetValue(_202E_202C_206A_200F_200D_200E_200D_200B_202A_206F_200E_206D_206A_200B_200D_202C_202D_206D_200B_200C_200F_202A_202B_200C_202A_200E_200B_200D_206A_202C_200D_200E_202A_202B_200C_200F_206C_206C_206E_206C_202E(current), out value)) ? 1492712345 : 1492712348); - break; - case 5: - _ticketInventoryCounts[_202E_202C_206A_200F_200D_200E_200D_200B_202A_206F_200E_206D_206A_200B_200D_202C_202D_206D_200B_200C_200F_202A_202B_200C_202A_200E_200B_200D_206A_202C_200D_200E_202A_202B_200C_200F_206C_206C_206E_206C_202E(current)] = inventoryItemCount; - num = 1492712344; - break; - case 3: - return; - } - } - } - finally - { - num = ((enumerator == null) ? (-1158690697) : (-1158690700)); - while (true) - { - int num10 = num; - num3 = -1158690699; - num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1158690700; - break; - case 1: - _206A_200E_206F_200D_206D_206C_202B_202D_206B_202E_202E_202C_206F_206A_200F_202E_202E_202B_200F_202E_200C_206F_202D_206A_206A_200B_202B_206F_200C_206D_202D_200D_206A_206C_200C_200D_200B_202C_206D_206A_202E((IDisposable)enumerator); - num = -1158690697; - break; - case 2: - goto end_IL_02cb; - } - continue; - end_IL_02cb: - break; - } - } } + } + else + { + if (loading) + { + return; + } + InventoryManager* ptr = InventoryManager.Instance(); + if (ptr == null) + { + return; + } + foreach (TeleportTicketService.ScannedTicket scannedTicket in _teleportTicketService.ScannedTickets) + { + int inventoryItemCount = ptr->GetInventoryItemCount(scannedTicket.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0); + if (_ticketInventoryCounts.TryGetValue(scannedTicket.ItemId, out var value) && inventoryItemCount < value) + { + _logger.LogInformation("Ticket recorder: {Name} (#{Id}) count decreased {Old} -> {New}, arming capture", scannedTicket.Name, scannedTicket.ItemId, value, inventoryItemCount); + _ticketItemId = scannedTicket.ItemId; + _ticketItemName = scannedTicket.Name; + _ticketSeenLoading = false; + _ticketArmedAt = now; + } + _ticketInventoryCounts[scannedTicket.ItemId] = inventoryItemCount; } } } - if (loading) + else if (loading) { _ticketSeenLoading = true; } else if (_ticketSeenLoading) { - if (player != null && !(_202D_202B_206F_206B_200E_200E_200E_206D_200C_206A_200F_200B_202E_206A_200F_202E_206F_202A_202A_202A_206F_200C_202A_206C_202A_206B_206C_202D_200F_200E_200E_202B_202D_202C_200B_202C_200E_200B_206C_200F_202E(player) == Vector3.Zero)) + if (player != null && !(player.Position == Vector3.Zero)) { - TicketCapture ticketCapture = new TicketCapture(_ticketItemId.Value, _ticketItemName, (ushort)_200E_200D_206A_206E_202D_202A_206D_206D_206A_206B_206F_206E_200B_202A_206E_202C_200D_202B_202B_202C_200F_200C_206E_206E_206A_200D_200B_202E_200C_200F_206B_206E_202E_206A_200C_200B_206C_206B_200B_206E_202E(_clientState), _202D_202B_206F_206B_200E_200E_200E_206D_200C_206A_200F_200B_202E_206A_200F_202E_206F_202A_202A_202A_206F_200C_202A_206C_202A_206B_206C_202D_200F_200E_200E_202B_202D_202C_200B_202C_200E_200B_206C_200F_202E(player)); - _206C_202D_202A_202B_206A_206D_202C_200B_202D_202B_200D_200E_202C_202E_206D_200D_200E_206C_200C_206B_200F_206B_206A_202A_206A_206E_202D_206F_206A_200B_206E_206B_202B_206B_202D_202D_206D_202E_206B_202C_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(99542911), new object[6] - { - ticketCapture.ItemName, - ticketCapture.ItemId, - ticketCapture.DestTerritoryId, - _202D_202B_206F_206B_200E_200E_200E_206D_200C_206A_200F_200B_202E_206A_200F_202E_206F_202A_202A_202A_206F_200C_202A_206C_202A_206B_206C_202D_200F_200E_200E_202B_202D_202C_200B_202C_200E_200B_206C_200F_202E(player).X, - _202D_202B_206F_206B_200E_200E_200E_206D_200C_206A_200F_200B_202E_206A_200F_202E_206F_202A_202A_202A_206F_200C_202A_206C_202A_206B_206C_202D_200F_200E_200E_202B_202D_202C_200B_202C_200E_200B_206C_200F_202E(player).Y, - _202D_202B_206F_206B_200E_200E_200E_206D_200C_206A_200F_200B_202E_206A_200F_202E_206F_202A_202A_202A_206F_200C_202A_206C_202A_206B_206C_202D_200F_200E_200E_202B_202D_202C_200B_202C_200E_200B_206C_200F_202E(player).Z - }); + TicketCapture ticketCapture = new TicketCapture(_ticketItemId.Value, _ticketItemName, (ushort)_clientState.TerritoryType, player.Position); + _logger.LogInformation("Ticket recorder: captured {Name} (#{Id}) -> {Territory} ({X:F1}, {Y:F1}, {Z:F1})", ticketCapture.ItemName, ticketCapture.ItemId, ticketCapture.DestTerritoryId, player.Position.X, player.Position.Y, player.Position.Z); ClearTicket(); this.TicketCaptured?.Invoke(ticketCapture); } } else if (now - _ticketArmedAt > TicketTimeout) { - _202D_200C_200B_200F_206A_200F_200E_206C_206D_200F_202C_202B_202A_200F_202D_202E_202D_206B_206D_206A_200E_200C_200F_206E_202D_206C_206F_200B_202B_202A_202D_200C_200F_206B_202D_202D_202E_206E_202A_202E_202E((ILogger)_logger, 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(-1635034712), new object[1] { _ticketItemId }); + _logger.LogDebug("Ticket recorder: no transit after ticket use, clearing pending {Id}", _ticketItemId); ClearTicket(); } } @@ -1401,155 +492,10 @@ internal sealed class WarpRecordingService : IDisposable private uint? CurrentMsqQuestId() { - QuestId questId = _questFunctions.GetMainScenarioQuest().Item1.CurrentQuest as QuestId; - int num = (((object)questId != null) ? (-37158078) : (-37158079)); - while (true) + if (!(_questFunctions.GetMainScenarioQuest().Item1.CurrentQuest is QuestId questId)) { - int num2 = num; - int num3 = -37158077; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_005f; - case 1: - return _200F_200F_206D_206A_206C_200E_202D_200B_206E_206D_202C_202E_202A_202E_202E_200E_202C_206D_202E_206F_202A_200E_202C_200B_202A_206E_200D_206A_200D_200E_206A_200D_202C_202B_206D_202D_200D_202A_202D_202E((ElementId)questId); - case 2: - return null; - } - continue; - IL_005f: - num = -37158079; + return null; } - } - - static bool _202C_202C_202C_200D_206F_206C_206F_202C_202A_202D_206F_206D_200E_206F_206C_202B_206F_200E_206B_200B_206C_206E_200E_202E_202D_206B_206B_200B_206D_202D_200F_200F_202B_202C_200D_202A_206E_200D_202C_202E(IDalamudPluginInterface P_0) - { - return P_0.IsDev; - } - - static DirectoryInfo _200E_202B_202B_200F_202D_200B_202D_206F_200B_202A_200E_202B_200E_206D_206B_206B_202C_202C_206E_200C_206E_202D_202E_206A_206C_202A_200F_206E_200C_202D_206C_206C_206C_206A_202C_202C_206F_200E_202A_206E_202E(IDalamudPluginInterface P_0) - { - return P_0.ConfigDirectory; - } - - static string _200B_202C_200B_202A_206F_202E_206F_206F_206B_206B_202B_200C_200D_200E_206B_202B_202E_206F_206F_200E_206A_202B_206C_202C_200B_200D_200D_206C_206C_200E_206E_202C_206F_206E_202E_200F_202E_200D_200B_206A_202E(FileSystemInfo P_0) - { - return P_0.FullName; - } - - static string _202A_202C_202E_206D_202D_206E_200E_200B_200F_200C_206B_202D_200F_206D_202D_200B_206D_200C_202B_200E_206D_206E_206E_206E_206A_202C_202C_202C_200B_202C_200B_202A_206B_200F_202B_200C_202B_200C_200C_200D_202E(string P_0, string P_1) - { - return Path.Combine(P_0, P_1); - } - - static bool _206D_206D_206A_206F_206F_202A_206A_202C_206C_206C_200E_200C_202D_200B_206D_206B_200F_206F_200B_206C_202B_206F_200C_200E_200B_206A_200E_202E_200E_206C_206B_200C_200E_206D_202D_206F_202D_200B_206C_202D_202E(string P_0) - { - return File.Exists(P_0); - } - - static void _202D_200C_200B_200F_206A_200F_200E_206C_206D_200F_202C_202B_202A_200F_202D_202E_202D_206B_206D_206A_200E_200C_200F_206E_202D_206C_206F_200B_202B_202A_202D_200C_200F_206B_202D_202D_202E_206E_202A_202E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - unsafe static delegate* unmanaged _206A_206A_202E_202D_200E_202E_200E_200C_202D_206D_206D_202E_200D_206F_202B_206F_206B_200F_202C_200F_206B_202B_202E_202D_202E_200D_202B_200E_202A_200D_206C_206A_206B_202D_206E_200C_200C_202D_202A_202B_202E() - { - return EventFramework.MemberFunctionPointers.ProcessEventPlay; - } - - static void _206A_206C_206C_206A_200E_202D_206C_202D_202E_206E_206D_202B_202A_202B_200B_202A_206B_206A_200D_206B_200E_200D_206B_206A_206E_206E_200F_200E_206C_200B_202E_206F_200E_200E_206A_200B_200D_206D_200D_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } - - static void _202A_202B_200F_202D_206E_202D_202D_206C_202B_202C_202C_206B_200B_202E_200C_200E_202B_202E_200B_206E_202B_202B_200F_206D_200D_202B_200F_206F_202C_200B_200D_202B_200F_206D_206B_206F_206D_200F_206C_206D_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1) - { - P_0.Update += P_1; - } - - static Delegate _206F_200C_202C_206C_202D_206A_202D_202E_202A_202C_206B_202D_200B_202C_202A_200E_202D_202D_200B_202D_200F_202E_200B_206C_202E_200D_202A_202D_206D_206C_202B_206D_202B_206F_200B_206B_206E_206B_206B_202B_202E(Delegate P_0, Delegate P_1) - { - return Delegate.Combine(P_0, P_1); - } - - static Delegate _202D_202B_206E_202E_206C_200C_202D_206E_206E_200F_202D_200E_202B_206E_202D_206A_206E_206D_206E_200C_206C_206A_206E_206F_202C_200E_206B_202E_206B_206D_206F_200B_200C_200E_200F_206C_206C_200D_202C_200C_202E(Delegate P_0, Delegate P_1) - { - return Delegate.Remove(P_0, P_1); - } - - static IGameObject _200E_202A_206E_200E_206C_202A_200B_200C_202B_206B_206A_206D_206B_200D_202A_200D_202C_202E_206C_202C_206E_200B_200D_200B_202B_202E_206C_200E_200B_202E_206A_202C_202B_202A_200B_202C_206D_206A_206D_202E(IObjectTable P_0, int P_1) - { - return P_0[P_1]; - } - - static Vector3 _202D_202B_206F_206B_200E_200E_200E_206D_200C_206A_200F_200B_202E_206A_200F_202E_206F_202A_202A_202A_206F_200C_202A_206C_202A_206B_206C_202D_200F_200E_200E_202B_202D_202C_200B_202C_200E_200B_206C_200F_202E(IGameObject P_0) - { - return P_0.Position; - } - - static uint _200E_200D_206A_206E_202D_202A_206D_206D_206A_206B_206F_206E_200B_202A_206E_202C_200D_202B_202B_202C_200F_200C_206E_206E_206A_200D_200B_202E_200C_200F_206B_206E_202E_206A_200C_200B_206C_206B_200B_206E_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static void _206C_202D_202A_202B_206A_206D_202C_200B_202D_202B_200D_200E_202C_202E_206D_200D_200E_206C_200C_206B_200F_206B_206A_202A_206A_206E_202D_206F_206A_200B_206E_206B_202B_206B_202D_202D_206D_202E_206B_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static void _206E_200C_202B_206E_206E_206B_200B_206C_202E_202B_206E_200E_200E_202A_206A_202C_206F_202E_206A_200F_206E_202C_200C_206F_200C_206C_202E_206D_200F_202E_206F_202E_200D_206B_206F_206B_206B_206B_200C_206E_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1) - { - P_0.Update -= P_1; - } - - static bool _202E_206F_200B_200E_200D_202E_200B_206C_206F_206B_206A_202C_202D_206C_202E_206F_206B_206D_206D_200B_202C_206E_200F_200F_202A_200C_200B_202D_200F_200D_206B_206B_202B_206A_200C_200D_200F_202C_206A_206C_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static IGameObject _202D_200D_200D_206E_206D_202E_202D_206F_206D_200F_206E_206E_202D_200D_206C_200D_206F_202A_200B_206C_202C_202C_200B_206D_202B_200D_206E_200B_200F_206A_202D_200B_202B_202B_206F_200D_202B_202D_202D_206E_202E(ITargetManager P_0) - { - return P_0.Target; - } - - static uint _200B_200D_206A_202C_200F_206D_202E_206B_206D_202C_206B_202A_206A_202B_200D_206D_200B_202D_202A_200C_206B_206C_200D_206A_200C_206A_200F_202A_200F_202C_200C_202A_202B_202A_202D_202D_200D_206A_202B_206D_202E(IGameObject P_0) - { - return P_0.BaseId; - } - - static bool _206D_202B_206C_206B_200D_202E_202E_202B_202E_200D_206B_206B_202E_200E_206B_206F_202C_206E_200D_200C_206A_202E_206D_206C_206A_206E_206B_206F_202C_202A_206F_206E_202E_206D_206F_202A_202C_200D_200E_206C_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static IReadOnlyList _200F_200F_206A_206D_206A_202A_202A_206F_200B_200C_206C_206A_202E_206A_200E_206B_206B_200B_200C_206F_206E_200D_206F_202C_206F_206E_202C_202C_206D_206F_206F_206D_200B_206E_206B_200D_206E_202D_202E_202E(TeleportTicketService P_0) - { - return P_0.ScannedTickets; - } - - static uint _202E_202C_206A_200F_200D_200E_200D_200B_202A_206F_200E_206D_206A_200B_200D_202C_202D_206D_200B_200C_200F_202A_202B_200C_202A_200E_200B_200D_206A_202C_200D_200E_202A_202B_200C_200F_206C_206C_206E_206C_202E(TeleportTicketService.ScannedTicket P_0) - { - return P_0.ItemId; - } - - static string _206B_206F_200D_206D_200D_202C_206D_202B_200E_200E_202A_200F_200F_206A_202B_206A_206E_206A_206D_206A_202C_200B_206C_202B_206B_206C_200C_200B_206F_202C_202B_206B_202E_206B_200E_206F_200F_200E_202A_206F_202E(TeleportTicketService.ScannedTicket P_0) - { - return P_0.Name; - } - - static bool _206A_206C_202D_200E_206E_202B_206C_202B_206E_202E_202B_202B_202B_206A_206B_200F_200B_200F_206C_202D_202D_200E_200D_200B_200B_206B_206F_200C_200C_200E_206D_200D_206B_200C_202D_202C_206C_202D_200D_200F_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206A_200E_206F_200D_206D_206C_202B_202D_206B_202E_202E_202C_206F_206A_200F_202E_202E_202B_200F_202E_200C_206F_202D_206A_206A_200B_202B_206F_200C_206D_202D_200D_206A_206C_200C_200D_200B_202C_206D_206A_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static ushort _200F_200F_206D_206A_206C_200E_202D_200B_206E_206D_202C_202E_202A_202E_202E_200E_202C_206D_202E_206F_202A_200E_202C_200B_202A_206E_200D_206A_200D_200E_206A_200D_202C_202B_206D_202D_200D_202A_202D_202E(ElementId P_0) - { - return P_0.Value; + return questId.Value; } } diff --git a/Questionable/Questionable.Notifications/NotificationService.cs b/Questionable/Questionable.Notifications/NotificationService.cs index aebbe74..6fae6c4 100644 --- a/Questionable/Questionable.Notifications/NotificationService.cs +++ b/Questionable/Questionable.Notifications/NotificationService.cs @@ -1,4 +1,3 @@ -using System.Runtime.CompilerServices; using LLib.Notifications; using Questionable.Model.Questing; @@ -9,169 +8,56 @@ internal sealed class NotificationService(OutOfGameNotifier notifier, Configurat public void Notify(EInteractionType interactionType, string text) { Configuration.NotificationConfiguration notifications = configuration.Notifications; - int num = (notifications.Enabled ? (-1688153917) : (-1688153920)); - bool flag = default(bool); - while (true) + if (notifications.Enabled && interactionType switch { - int num2 = num; - int num3 = -1688153918; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - num = -1688153920; - break; - case 0: - flag = true; - num = -1688153916; - break; - case 6: - num = ((!flag) ? (-1688153911) : (-1688153909)); - break; - case 3: - flag = notifications.AlertForSnipe; - num = -1688153916; - break; - case 8: - flag = notifications.AlertForSinglePlayerDuties; - num = -1688153916; - break; - case 4: - num = ((interactionType == EInteractionType.Snipe) ? (-1688153919) : (-1688153912)); - break; - case 7: - num = ((interactionType == EInteractionType.SinglePlayerDuty) ? (-1688153910) : (-1688153914)); - break; - case 2: - return; - case 12: - flag = notifications.AlertForDuties; - num = -1688153916; - break; - case 10: - num = -1688153918; - break; - case 11: - return; - case 9: - Dispatch(text); - num = -1688153911; - break; - case 1: - num = ((interactionType == EInteractionType.Duty) ? (-1688153906) : (-1688153915)); - break; - } + EInteractionType.Duty => notifications.AlertForDuties, + EInteractionType.SinglePlayerDuty => notifications.AlertForSinglePlayerDuties, + EInteractionType.Snipe => notifications.AlertForSnipe, + _ => true, + }) + { + Dispatch(text); } } public void NotifyStopCondition(string text) { Configuration.NotificationConfiguration notifications = configuration.Notifications; - int num = ((!notifications.Enabled) ? 2126924644 : 2126924645); - while (true) + if (notifications.Enabled && notifications.AlertForStopConditions) { - int num2 = num; - int num3 = 2126924646; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - Dispatch(text); - num = 2126924644; - break; - case 3: - num = ((!notifications.AlertForStopConditions) ? 2126924644 : 2126924647); - break; - case 2: - return; - case 0: - num = 2126924645; - break; - } + Dispatch(text); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void Dispatch(string text) { Configuration.NotificationConfiguration notifications = configuration.Notifications; - int num = ((!notifications.FlashTaskbar) ? (-1607290236) : (-1607290238)); - while (true) + if (notifications.FlashTaskbar) { - int num2 = num; - int num3 = -1607290237; - int num4 = num2; - int num5; - switch ((num4 | num3) - (num4 & num3)) + notifier.FlashTaskbar(); + } + int num; + if (notifications.OnlyWhenUnfocused) + { + num = ((!notifier.IsGameForeground) ? 1 : 0); + if (num == 0) { - case 2: - num = ((!notifications.PlaySound) ? (-1607290240) : (-1607290235)); - break; - case 3: - return; - case 5: - num = -1607290238; - break; - case 7: - num = ((!notifications.OnlyWhenUnfocused) ? (-1607290237) : (-1607290233)); - break; - case 6: - _206A_202D_202D_206E_200E_200E_206F_206A_200B_206B_206C_200D_202D_202E_206B_206C_200D_206F_206C_202B_200C_206B_202E_202E_202A_202B_206F_200E_206C_200E_206A_202B_202A_206D_202C_206A_206E_206F_202E_206F_202E(notifier, _202B_206B_202E_206D_202C_202C_202E_200D_200F_200F_200B_200E_206A_206F_200F_206D_200C_202D_206B_206A_200C_200F_202A_202E_200E_202B_200B_202A_200C_200C_202E_202B_202C_206F_202D_202D_202C_202A_202D_206F_202E(notifications.SoundFile)); - num = -1607290240; - break; - case 4: - num5 = ((!_202E_200F_206F_206D_202A_206C_206B_206C_200E_202B_200C_206D_202B_200D_202D_200E_202D_206E_206F_202E_200B_202C_206D_200F_200B_200B_200C_200B_200B_206B_206F_206B_206A_206D_200C_206D_200C_202B_202A_206B_202E(notifier)) ? 1 : 0); - if (num5 != 0) - { - goto IL_00fa; - } - goto IL_011b; - case 0: - num5 = 1; - goto IL_00fa; - case 1: - { - _206C_206B_202D_206F_206B_206A_206C_202E_206D_200B_206A_202B_202E_202E_206F_202D_202E_206D_202B_200D_206B_202B_206F_206B_202B_206E_206E_200C_200D_202D_206E_200B_206A_202D_200F_206A_202D_206B_200B_202E_202E(notifier); - num = -1607290236; - break; - } - IL_00fa: - if (notifications.ShowTrayMessage) - { - _200E_200D_202A_200B_200B_200D_206E_202E_206A_202D_206F_206B_206B_206B_206F_202C_206D_200D_200D_200F_200C_202D_206D_200D_202A_200D_206F_202C_200E_206F_200B_206F_200D_200F_206E_200C_206C_202B_200E_206A_202E(notifier, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), text); - } - goto IL_011b; - IL_011b: - num = ((num5 == 0) ? (-1607290240) : (-1607290239)); - break; + goto IL_0054; } } - } - - static void _206C_206B_202D_206F_206B_206A_206C_202E_206D_200B_206A_202B_202E_202E_206F_202D_202E_206D_202B_200D_206B_202B_206F_206B_202B_206E_206E_200C_200D_202D_206E_200B_206A_202D_200F_206A_202D_206B_200B_202E_202E(OutOfGameNotifier P_0) - { - P_0.FlashTaskbar(); - } - - static bool _202E_200F_206F_206D_202A_206C_206B_206C_200E_202B_200C_206D_202B_200D_202D_200E_202D_206E_206F_202E_200B_202C_206D_200F_200B_200B_200C_200B_200B_206B_206F_206B_206A_206D_200C_206D_200C_202B_202A_206B_202E(OutOfGameNotifier P_0) - { - return P_0.IsGameForeground; - } - - static void _200E_200D_202A_200B_200B_200D_206E_202E_206A_202D_206F_206B_206B_206B_206F_202C_206D_200D_200D_200F_200C_202D_206D_200D_202A_200D_206F_202C_200E_206F_200B_206F_200D_200F_206E_200C_206C_202B_200E_206A_202E(OutOfGameNotifier P_0, string P_1, string P_2) - { - P_0.ShowTrayNotification(P_1, P_2); - } - - static string _202B_206B_202E_206D_202C_202C_202E_200D_200F_200F_200B_200E_206A_206F_200F_206D_200C_202D_206B_206A_200C_200F_202A_202E_200E_202B_200B_202A_200C_200C_202E_202B_202C_206F_202D_202D_202C_202A_202D_206F_202E(string P_0) - { - return WindowsSounds.ResolvePath(P_0); - } - - static void _206A_202D_202D_206E_200E_200E_206F_206A_200B_206B_206C_200D_202D_202E_206B_206C_200D_206F_206C_202B_200C_206B_202E_202E_202A_202B_206F_200E_206C_200E_206A_202B_202A_206D_202C_206A_206E_206F_202E_206F_202E(OutOfGameNotifier P_0, string P_1) - { - P_0.PlayAlertSound(P_1); + else + { + num = 1; + } + if (notifications.ShowTrayMessage) + { + notifier.ShowTrayNotification("Questionable", text); + } + goto IL_0054; + IL_0054: + if (num != 0 && notifications.PlaySound) + { + notifier.PlayAlertSound(WindowsSounds.ResolvePath(notifications.SoundFile)); + } } } diff --git a/Questionable/Questionable.Validation.Validators/BasicSequenceValidator.cs b/Questionable/Questionable.Validation.Validators/BasicSequenceValidator.cs index 3070459..3ca1873 100644 --- a/Questionable/Questionable.Validation.Validators/BasicSequenceValidator.cs +++ b/Questionable/Questionable.Validation.Validators/BasicSequenceValidator.cs @@ -1,9 +1,5 @@ -using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Linq; -using System.Runtime.CompilerServices; using Questionable.Model; using Questionable.Model.Questing; @@ -11,494 +7,95 @@ namespace Questionable.Validation.Validators; internal sealed class BasicSequenceValidator : IQuestValidator { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__0_0; - - public static Func _003C_003E9__0_1; - - public static Func _003C_003E9__0_2; - - public static Func _003C_003E9__0_3; - - internal bool _003CValidate_003Eb__0_0(QuestSequence x) - { - return _206E_206E_206E_206C_206C_202D_200F_206A_202E_202D_206A_206E_202A_202D_200E_200B_206B_202E_200B_206A_202A_202C_202A_206E_202D_206C_202C_200D_206D_200E_200B_206E_200B_206D_206C_206D_206B_202A_200D_200F_202E(x) == 0; - } - - internal byte _003CValidate_003Eb__0_1(QuestSequence x) - { - return _206E_206E_206E_206C_206C_202D_200F_206A_202E_202D_206A_206E_202A_202D_200E_200B_206B_202E_200B_206A_202A_202C_202A_206E_202D_206C_202C_200D_206D_200E_200B_206E_200B_206D_206C_206D_206B_202A_200D_200F_202E(x); - } - - internal bool _003CValidate_003Eb__0_2(byte x) - { - return x != byte.MaxValue; - } - - internal bool _003CValidate_003Eb__0_3(QuestSequence x) - { - return _206E_206E_206E_206C_206C_202D_200F_206A_202E_202D_206A_206E_202A_202D_200E_200B_206B_202E_200B_206A_202A_202C_202A_206E_202D_206C_202C_200D_206D_200E_200B_206E_200B_206D_206C_206D_206B_202A_200D_200F_202E(x) == byte.MaxValue; - } - - static byte _206E_206E_206E_206C_206C_202D_200F_206A_202E_202D_206A_206E_202A_202D_200E_200B_206B_202E_200B_206A_202A_202C_202A_206E_202D_206C_202C_200D_206D_200E_200B_206E_200B_206D_206C_206D_206B_202A_200D_200F_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass0_0 - { - public int i; - - internal bool _003CValidate_003Eb__4(QuestSequence x) - { - return _200B_206E_200F_200B_206B_200C_206A_206F_206C_202B_200B_202E_202E_200D_200D_206F_206C_200C_200F_202E_200E_200E_206D_206D_206A_200B_202A_202B_206A_202B_202A_206C_206D_202B_206F_202C_206B_202E_206B_200E_202E(x) == i; - } - - static byte _200B_206E_200F_200B_206B_200C_206A_206F_206C_202B_200B_202E_202E_200D_200D_206F_206C_200C_200F_202E_200E_200E_206D_206D_206A_200B_202A_202B_206A_202B_202A_206C_206D_202B_206F_202C_206B_202E_206B_200E_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - } - - [CompilerGenerated] - private sealed class _003CValidate_003Ed__0 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ValidationIssue _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - private Quest quest; - - public Quest _003C_003E3__quest; - - private _003C_003Ec__DisplayClass0_0 _003C_003E8__1; - - private List _003Csequences_003E5__2; - - private QuestSequence _003CfoundStart_003E5__3; - - private List.Enumerator _003C_003E7__wrap3; - - private int _003CmaxSequence_003E5__5; - - ValidationIssue IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CValidate_003Ed__0(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _202D_202D_202E_206D_200D_206B_200E_200B_202E_200E_206C_206E_200B_202E_206A_202C_202C_202C_206F_200F_200F_200F_206C_202D_200D_200C_202C_200C_202D_206A_202A_202C_200E_206A_206E_206D_202E_202E_206E_202A_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = ((num == -3) ? (-1108787515) : (-1108787514)); - while (true) - { - int num3 = num2; - int num4 = -1108787516; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - default: - continue; - case 0: - num2 = -1108787514; - continue; - case 2: - if (num == 2) - { - num2 = -1108787515; - continue; - } - break; - case 1: - try - { - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003C_003E8__1 = null; - _003Csequences_003E5__2 = null; - _003CfoundStart_003E5__3 = null; - _003C_003E7__wrap3 = default(List.Enumerator); - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - try - { - int num; - ValidationIssue validationIssue = default(ValidationIssue); - QuestSequence current = default(QuestSequence); - ValidationIssue validationIssue2 = default(ValidationIssue); - QuestInfo questInfo = default(QuestInfo); - switch (_003C_003E1__state) - { - default: - num = -218365441; - goto IL_002d; - case 1: - break; - case 2: - _003C_003E1__state = -3; - num = -218365453; - goto IL_002d; - case 0: - goto IL_01f4; - case 3: - goto IL_02ac; - case 4: - goto IL_0597; - IL_002d: - while (true) - { - int num2 = num; - int num3 = -218365443; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 22: - goto IL_00ad; - case 18: - goto end_IL_0008; - case 15: - goto end_IL_002d; - case 23: - goto IL_014f; - case 2: - return false; - case 6: - goto IL_018f; - case 4: - { - int num5 = _003C_003E8__1.i; - _003C_003Ec__DisplayClass0_0 _003C_003Ec__DisplayClass0_ = _003C_003E8__1; - num3 = 1; - num4 = num5; - _003C_003Ec__DisplayClass0_.i = (num4 | num3) + (num4 & num3); - num = -218365456; - break; - } - case 16: - goto IL_01f4; - case 17: - _003C_003E2__current = validationIssue; - _003C_003E1__state = 4; - return true; - case 1: - goto IL_0289; - case 3: - goto IL_02ac; - case 7: - _003C_003E2__current = new ValidationIssue - { - PathType = EPathType.Quest, - Id = _206B_206C_202D_206D_202B_202B_202E_202B_200C_206F_202A_200E_206B_202B_200F_200F_202E_202A_200C_200B_200F_200F_206F_206C_206B_206F_206F_202A_206E_202E_202A_206A_202B_206C_206B_200E_200D_206C_206A_206E_202E((object)quest.Id), - Location = SchemaValidationHelper.FormatQuestLocation(_206E_200F_200C_206F_200D_200D_200F_202D_202C_206A_206D_202A_206C_200F_206C_200B_202A_200B_206F_200E_206E_206F_206C_202B_200F_206E_202B_202E_200E_206B_200C_202E_202E_200C_202B_200E_202A_202C_202B_200F_202E(current), null), - Type = EIssueType.InstantQuestWithMultipleSteps, - Severity = EIssueSeverity.Error, - Description = 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(-1806487031) - }; - _003C_003E1__state = 2; - return true; - case 20: - goto IL_0340; - case 5: - _003C_003E2__current = validationIssue2; - _003C_003E1__state = 3; - return true; - case 9: - goto IL_03c4; - case 10: - _003CmaxSequence_003E5__5 = (from x in _003Csequences_003E5__2 - select _003C_003Ec._206E_206E_206E_206C_206C_202D_200F_206A_202E_202D_206A_206E_202A_202D_200E_200B_206B_202E_200B_206A_202A_202C_202A_206E_202D_206C_202C_200D_206D_200E_200B_206E_200B_206D_206C_206D_206B_202A_200D_200F_202E(x) into x - where x != byte.MaxValue - select x).Max(); - _003C_003E8__1 = new _003C_003Ec__DisplayClass0_0(); - _003C_003E8__1.i = 0; - num = -218365456; - break; - case 11: - num = -218365441; - break; - case 14: - goto IL_0484; - case 13: - goto IL_04ac; - case 8: - _003C_003E2__current = new ValidationIssue - { - PathType = EPathType.Quest, - Id = _206B_206C_202D_206D_202B_202B_202E_202B_200C_206F_202A_200E_206B_202B_200F_200F_202E_202A_200C_200B_200F_200F_206F_206C_206B_206F_206F_202A_206E_202E_202A_206A_202B_206C_206B_200E_200D_206C_206A_206E_202E((object)quest.Id), - Location = SchemaValidationHelper.FormatQuestLocation(0, null), - Type = EIssueType.MissingSequence0, - Severity = EIssueSeverity.Error, - Description = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1619010830) - }; - _003C_003E1__state = 1; - return true; - case 21: - _003C_003E7__wrap3 = _003Csequences_003E5__2.GetEnumerator(); - _003C_003E1__state = -3; - num = -218365453; - break; - case 19: - _003C_003Em__Finally1(); - _003C_003E7__wrap3 = default(List.Enumerator); - num = -218365443; - break; - case 12: - goto IL_0597; - case 0: - return false; - } - continue; - IL_04ac: - num = ((_003C_003E8__1.i <= _003CmaxSequence_003E5__5) ? (-218365463) : (-218365461)); - continue; - IL_014f: - num = ((!(quest.Info is QuestInfo)) ? (-218365443) : (-218365449)); - continue; - IL_0340: - List foundSequences = _003Csequences_003E5__2.Where((QuestSequence x) => _003C_003Ec__DisplayClass0_0._200B_206E_200F_200B_206B_200C_206A_206F_206C_202B_200B_202E_202E_200D_200D_206F_206C_200C_200F_202E_200E_200E_206D_206D_206A_200B_202A_202B_206A_202B_202A_206C_206D_202B_206F_202C_206B_202E_206B_200E_202E(x) == _003C_003E8__1.i).ToList(); - validationIssue2 = ValidateSequences(quest, _003C_003E8__1.i, foundSequences); - num = ((!(validationIssue2 != null)) ? (-218365447) : (-218365448)); - continue; - IL_0484: - num = (_003C_003E7__wrap3.MoveNext() ? (-218365452) : (-218365458)); - continue; - IL_00ad: - _003C_003E8__1 = null; - List foundSequences2 = _003Csequences_003E5__2.Where((QuestSequence x) => _003C_003Ec._206E_206E_206E_206C_206C_202D_200F_206A_202E_202D_206A_206E_202A_202D_200E_200B_206B_202E_200B_206A_202A_202C_202A_206E_202D_206C_202C_200D_206D_200E_200B_206E_200B_206D_206C_206D_206B_202A_200D_200F_202E(x) == byte.MaxValue).ToList(); - validationIssue = ValidateSequences(quest, 255, foundSequences2); - num = ((!(validationIssue != null)) ? (-218365443) : (-218365460)); - continue; - IL_018f: - questInfo = quest.Info as QuestInfo; - num = ((questInfo == null) ? (-218365462) : (-218365444)); - continue; - IL_03c4: - current = _003C_003E7__wrap3.Current; - num = ((current == _003CfoundStart_003E5__3) ? (-218365453) : (-218365446)); - continue; - IL_0289: - num = ((!questInfo.CompletesInstantly) ? (-218365462) : (-218365464)); - continue; - end_IL_002d: - break; - } - goto case 2; - IL_0597: - _003C_003E1__state = -1; - num = -218365443; - goto IL_002d; - IL_02ac: - _003C_003E1__state = -1; - num = -218365447; - goto IL_002d; - IL_01f4: - _003C_003E1__state = -1; - _003Csequences_003E5__2 = _200C_200F_200F_202E_206E_202D_206F_202A_200B_200B_206F_206B_206A_206E_202B_200D_200D_200E_200E_206B_206C_200B_206A_206E_200E_202D_202E_202E_202C_206F_202C_202E_206C_200C_206C_202B_206E_202E_200C_200E_202E(quest.Root); - _003CfoundStart_003E5__3 = _003Csequences_003E5__2.FirstOrDefault((QuestSequence x) => _003C_003Ec._206E_206E_206E_206C_206C_202D_200F_206A_202E_202D_206A_206E_202A_202D_200E_200B_206B_202E_200B_206A_202A_202C_202A_206E_202D_206C_202C_200D_206D_200E_200B_206E_200B_206D_206C_206D_206B_202A_200D_200F_202E(x) == 0); - num = ((_003CfoundStart_003E5__3 != null) ? (-218365445) : (-218365451)); - goto IL_002d; - end_IL_0008: - break; - } - _003C_003E1__state = -1; - return false; - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - ((IDisposable)_003C_003E7__wrap3/*cast due to .constrained prefix*/).Dispose(); - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _200E_200E_206C_202A_206E_200B_202A_200C_200D_202E_200B_206A_202C_200D_202D_206E_202D_206B_206C_206A_200D_200E_206F_206A_200C_202B_206B_206E_202C_202C_206A_202C_202A_202B_206E_200D_206B_202E_200C_206D_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? (-1853104470) : (-1853104472)); - _003CValidate_003Ed__0 _003CValidate_003Ed__ = default(_003CValidate_003Ed__0); - while (true) - { - int num2 = num; - int num3 = -1853104471; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - _003CValidate_003Ed__.quest = _003C_003E3__quest; - return _003CValidate_003Ed__; - case 1: - num = ((_003C_003El__initialThreadId != _202D_202D_202E_206D_200D_206B_200E_200B_202E_200E_206C_206E_200B_202E_206A_202C_202C_202C_206F_200F_200F_200F_206C_202D_200D_200C_202C_200C_202D_206A_202A_202C_200E_206A_206E_206D_202E_202E_206E_202A_202E()) ? (-1853104470) : (-1853104469)); - break; - case 2: - _003C_003E1__state = 0; - _003CValidate_003Ed__ = this; - num = -1853104467; - break; - case 0: - num = -1853104472; - break; - case 3: - _003CValidate_003Ed__ = new _003CValidate_003Ed__0(0); - num = -1853104467; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _202D_202D_202E_206D_200D_206B_200E_200B_202E_200E_206C_206E_200B_202E_206A_202C_202C_202C_206F_200F_200F_200F_206C_202D_200D_200C_202C_200C_202D_206A_202A_202C_200E_206A_206E_206D_202E_202E_206E_202A_202E() - { - return Environment.CurrentManagedThreadId; - } - - static List _200C_200F_200F_202E_206E_202D_206F_202A_200B_200B_206F_206B_206A_206E_202B_200D_200D_200E_200E_206B_206C_200B_206A_206E_200E_202D_202E_202E_202C_206F_202C_202E_206C_200C_206C_202B_206E_202E_200C_200E_202E(QuestRoot P_0) - { - return P_0.QuestSequence; - } - - static string _206B_206C_202D_206D_202B_202B_202E_202B_200C_206F_202A_200E_206B_202B_200F_200F_202E_202A_200C_200B_200F_200F_206F_206C_206B_206F_206F_202A_206E_202E_202A_206A_202B_206C_206B_200E_200D_206C_206A_206E_202E(object P_0) - { - return P_0.ToString(); - } - - static byte _206E_200F_200C_206F_200D_200D_200F_202D_202C_206A_206D_202A_206C_200F_206C_200B_202A_200B_206F_200E_206E_206F_206C_202B_200F_206E_202B_202E_200E_206B_200C_202E_202E_200C_202B_200E_202A_202C_202B_200F_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - - static NotSupportedException _200E_200E_206C_202A_206E_200B_202A_200C_200D_202E_200B_206A_202C_200D_202D_206E_202D_206B_206C_206A_200D_200E_206F_206A_200C_202B_206B_206E_202C_202C_206A_202C_202A_202B_206E_200D_206B_202E_200C_206D_202E() - { - return new NotSupportedException(); - } - } - - [IteratorStateMachine(typeof(_003CValidate_003Ed__0))] public IEnumerable Validate(Quest quest) { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CValidate_003Ed__0(-2) + List sequences = quest.Root.QuestSequence; + QuestSequence foundStart = sequences.FirstOrDefault((QuestSequence x) => x.Sequence == 0); + if (foundStart == null) { - _003C_003E3__quest = quest - }; - } - - IEnumerable IQuestValidator.Validate(Quest quest) - { - //ILSpy generated this explicit interface implementation from .override directive in Validate - return this.Validate(quest); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private static ValidationIssue? ValidateSequences(Quest quest, int sequenceNo, List foundSequences) - { - int num = ((foundSequences.Count != 0) ? (-2063346227) : (-2063346230)); - while (true) - { - int num2 = num; - int num3 = -2063346231; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + yield return new ValidationIssue { - case 0: - num = -2063346230; - break; - case 3: - return new ValidationIssue + PathType = EPathType.Quest, + Id = quest.Id.ToString(), + Location = SchemaValidationHelper.FormatQuestLocation(0, null), + Type = EIssueType.MissingSequence0, + Severity = EIssueSeverity.Error, + Description = "Missing quest start" + }; + } + else if (quest.Info is QuestInfo { CompletesInstantly: not false }) + { + foreach (QuestSequence item in sequences) + { + if (item != foundStart) { - PathType = EPathType.Quest, - Id = _206D_206D_206D_206D_202B_202D_202C_202A_206C_206A_206C_202B_206E_200B_202E_200C_202C_206E_206B_202A_206F_200F_206D_206F_202D_206F_200E_206B_206D_200C_202A_200B_202C_200B_202B_202D_206A_206E_202D_202B_202E((object)quest.Id), - Location = SchemaValidationHelper.FormatQuestLocation((byte)sequenceNo, null), - Type = EIssueType.MissingSequence, - Severity = EIssueSeverity.Error, - Description = 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(1578841753) - }; - case 4: - num = ((foundSequences.Count < 2) ? (-2063346229) : (-2063346232)); - break; - case 1: - return new ValidationIssue + yield return new ValidationIssue + { + PathType = EPathType.Quest, + Id = quest.Id.ToString(), + Location = SchemaValidationHelper.FormatQuestLocation(item.Sequence, null), + Type = EIssueType.InstantQuestWithMultipleSteps, + Severity = EIssueSeverity.Error, + Description = "Instant quest should not have any sequences after the start" + }; + } + } + } + else + { + if (!(quest.Info is QuestInfo)) + { + yield break; + } + int maxSequence = (from x in sequences + select x.Sequence into x + where x != byte.MaxValue + select x).Max(); + int i; + for (i = 0; i <= maxSequence; i++) + { + List foundSequences = sequences.Where((QuestSequence x) => x.Sequence == i).ToList(); + ValidationIssue validationIssue = ValidateSequences(quest, i, foundSequences); + if (validationIssue != null) { - PathType = EPathType.Quest, - Id = _206D_206D_206D_206D_202B_202D_202C_202A_206C_206A_206C_202B_206E_200B_202E_200C_202C_206E_206B_202A_206F_200F_206D_206F_202D_206F_200E_206B_206D_200C_202A_200B_202C_200B_202B_202D_206A_206E_202D_202B_202E((object)quest.Id), - Location = SchemaValidationHelper.FormatQuestLocation((byte)sequenceNo, null), - Type = EIssueType.DuplicateSequence, - Severity = EIssueSeverity.Error, - Description = 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(-312193419) - }; - case 2: - return null; + yield return validationIssue; + } + } + List foundSequences2 = sequences.Where((QuestSequence x) => x.Sequence == byte.MaxValue).ToList(); + ValidationIssue validationIssue2 = ValidateSequences(quest, 255, foundSequences2); + if (validationIssue2 != null) + { + yield return validationIssue2; } } } - static string _206D_206D_206D_206D_202B_202D_202C_202A_206C_206A_206C_202B_206E_200B_202E_200C_202C_206E_206B_202A_206F_200F_206D_206F_202D_206F_200E_206B_206D_200C_202A_200B_202C_200B_202B_202D_206A_206E_202D_202B_202E(object P_0) + private static ValidationIssue? ValidateSequences(Quest quest, int sequenceNo, List foundSequences) { - return P_0.ToString(); + if (foundSequences.Count == 0) + { + return new ValidationIssue + { + PathType = EPathType.Quest, + Id = quest.Id.ToString(), + Location = SchemaValidationHelper.FormatQuestLocation((byte)sequenceNo, null), + Type = EIssueType.MissingSequence, + Severity = EIssueSeverity.Error, + Description = "Missing sequence" + }; + } + if (foundSequences.Count >= 2) + { + return new ValidationIssue + { + PathType = EPathType.Quest, + Id = quest.Id.ToString(), + Location = SchemaValidationHelper.FormatQuestLocation((byte)sequenceNo, null), + Type = EIssueType.DuplicateSequence, + Severity = EIssueSeverity.Error, + Description = "Duplicate sequence" + }; + } + return null; } } diff --git a/Questionable/Questionable.Validation.Validators/CompletionFlagsValidator.cs b/Questionable/Questionable.Validation.Validators/CompletionFlagsValidator.cs index dec6ceb..0650ed5 100644 --- a/Questionable/Questionable.Validation.Validators/CompletionFlagsValidator.cs +++ b/Questionable/Questionable.Validation.Validators/CompletionFlagsValidator.cs @@ -1,10 +1,6 @@ -using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using Questionable.Controller.Utils; using Questionable.Model; using Questionable.Model.Questing; @@ -13,523 +9,38 @@ namespace Questionable.Validation.Validators; internal sealed class CompletionFlagsValidator : IQuestValidator { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__0_0; - - internal long _003CValidate_003Eb__0_0(QuestStep x) - { - _003C_003Ec__DisplayClass0_0 CS_0024_003C_003E8__locals2 = new _003C_003Ec__DisplayClass0_0 - { - x = x - }; - int num = ((!QuestWorkUtils.HasCompletionFlags(_202E_206D_202E_200E_202B_200E_202A_202B_206C_200B_200E_200D_200B_200C_206B_206B_206E_206B_202E_202E_200F_200C_202B_200F_200F_200B_202C_206F_202E_202A_206A_202B_200F_200F_202A_200C_206F_200B_202D_200E_202E(CS_0024_003C_003E8__locals2.x))) ? 1047291959 : 1047291956); - while (true) - { - int num2 = num; - int num3 = 1047291957; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return 0L; - case 1: - return _202B_202E_206B_206B_200C_206D_202A_202B_200B_206B_206B_200D_200F_202A_206D_200F_206F_200B_206D_202B_200E_206D_200C_202C_206C_200E_200B_202A_202B_200C_200F_200B_200D_202B_200D_202C_206C_200F_206E_206D_202E(_200D_200F_202E_200F_200C_202D_202E_200E_202A_200B_200B_200E_206A_206D_206E_200C_202A_200D_202A_206D_202C_200E_206F_206E_206E_202A_202D_206F_202C_200E_206E_206E_200E_206C_202D_206F_206D_206B_200F_200E_202E(0, 6).Select(delegate(int y) - { - QuestWorkValue questWorkValue = _003C_003Ec__DisplayClass0_0._200D_200B_206D_206B_200B_202C_202E_202B_206C_206E_206E_206C_206F_200B_206A_206D_200C_200B_200F_202C_200D_202D_200D_200D_206E_202E_206B_200B_200E_206B_206A_200D_202B_206A_202D_206E_202B_200D_206E_206D_202E(CS_0024_003C_003E8__locals2.x)[y]; - int num5 = ((questWorkValue != null) ? 1457577313 : 1457577314); - while (true) - { - int num6 = num5; - int num7 = 1457577315; - int num8 = num6; - switch ((num8 | num7) - (num8 & num7)) - { - case 0: - goto IL_0056; - case 2: - return (long)_003C_003Ec__DisplayClass0_0._200C_206F_202B_202D_206C_202A_202B_200C_206B_206E_202D_206C_202D_206E_202D_200B_202D_200E_206C_206C_200F_202E_206D_202C_200F_202D_206C_202E_206E_200C_206C_202C_202E_200E_206A_200E_202D_206A_202A_200D_202E((ulong)(_003C_003Ec__DisplayClass0_0._202D_202C_206D_206D_202A_206E_206A_206D_206B_206A_202D_202D_202E_202A_206C_200B_202D_202C_202A_206E_200E_200C_200E_202E_206C_202E_206A_202E_202B_202B_200F_200E_200B_200D_202B_202A_200F_202C_206D_206F_202E(questWorkValue).GetValueOrDefault() * 16 + _003C_003Ec__DisplayClass0_0._200C_202A_200D_200E_202B_206F_206D_206C_206B_200E_202C_206D_202A_200E_202B_202E_202D_206D_206D_206E_200F_200F_202A_206A_200D_206A_206D_206C_206F_202A_202D_206B_206A_206D_202B_200E_202A_200B_202C_202E(questWorkValue).GetValueOrDefault()), 8 * y); - case 1: - return 0L; - } - continue; - IL_0056: - num5 = 1457577314; - } - })); - case 0: - goto IL_007e; - } - continue; - IL_007e: - num = 1047291956; - } - } - - static List _202E_206D_202E_200E_202B_200E_202A_202B_206C_200B_200E_200D_200B_200C_206B_206B_206E_206B_202E_202E_200F_200C_202B_200F_200F_200B_202C_206F_202E_202A_206A_202B_200F_200F_202A_200C_206F_200B_202D_200E_202E(QuestStep P_0) - { - return P_0.CompletionQuestVariablesFlags; - } - - static IEnumerable _200D_200F_202E_200F_200C_202D_202E_200E_202A_200B_200B_200E_206A_206D_206E_200C_202A_200D_202A_206D_202C_200E_206F_206E_206E_202A_202D_206F_202C_200E_206E_206E_200E_206C_202D_206F_206D_206B_200F_200E_202E(int P_0, int P_1) - { - return Enumerable.Range(P_0, P_1); - } - - static long _202B_202E_206B_206B_200C_206D_202A_202B_200B_206B_206B_200D_200F_202A_206D_200F_206F_200B_206D_202B_200E_206D_200C_202C_206C_200E_200B_202A_202B_200C_200F_200B_200D_202B_200D_202C_206C_200F_206E_206D_202E(IEnumerable P_0) - { - return P_0.Sum(); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass0_0 - { - public QuestStep x; - - internal long _003CValidate_003Eb__1(int y) - { - QuestWorkValue questWorkValue = _200D_200B_206D_206B_200B_202C_202E_202B_206C_206E_206E_206C_206F_200B_206A_206D_200C_200B_200F_202C_200D_202D_200D_200D_206E_202E_206B_200B_200E_206B_206A_200D_202B_206A_202D_206E_202B_200D_206E_206D_202E(x)[y]; - int num = ((questWorkValue != null) ? 1457577313 : 1457577314); - while (true) - { - int num2 = num; - int num3 = 1457577315; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0056; - case 2: - return (long)_200C_206F_202B_202D_206C_202A_202B_200C_206B_206E_202D_206C_202D_206E_202D_200B_202D_200E_206C_206C_200F_202E_206D_202C_200F_202D_206C_202E_206E_200C_206C_202C_202E_200E_206A_200E_202D_206A_202A_200D_202E((ulong)(_202D_202C_206D_206D_202A_206E_206A_206D_206B_206A_202D_202D_202E_202A_206C_200B_202D_202C_202A_206E_200E_200C_200E_202E_206C_202E_206A_202E_202B_202B_200F_200E_200B_200D_202B_202A_200F_202C_206D_206F_202E(questWorkValue).GetValueOrDefault() * 16 + _200C_202A_200D_200E_202B_206F_206D_206C_206B_200E_202C_206D_202A_200E_202B_202E_202D_206D_206D_206E_200F_200F_202A_206A_200D_206A_206D_206C_206F_202A_202D_206B_206A_206D_202B_200E_202A_200B_202C_202E(questWorkValue).GetValueOrDefault()), 8 * y); - case 1: - return 0L; - } - continue; - IL_0056: - num = 1457577314; - } - } - - static List _200D_200B_206D_206B_200B_202C_202E_202B_206C_206E_206E_206C_206F_200B_206A_206D_200C_200B_200F_202C_200D_202D_200D_200D_206E_202E_206B_200B_200E_206B_206A_200D_202B_206A_202D_206E_202B_200D_206E_206D_202E(QuestStep P_0) - { - return P_0.CompletionQuestVariablesFlags; - } - - static byte? _202D_202C_206D_206D_202A_206E_206A_206D_206B_206A_202D_202D_202E_202A_206C_200B_202D_202C_202A_206E_200E_200C_200E_202E_206C_202E_206A_202E_202B_202B_200F_200E_200B_200D_202B_202A_200F_202C_206D_206F_202E(QuestWorkValue P_0) - { - return P_0.High; - } - - static byte? _200C_202A_200D_200E_202B_206F_206D_206C_206B_200E_202C_206D_202A_200E_202B_202E_202D_206D_206D_206E_200F_200F_202A_206A_200D_206A_206D_206C_206F_202A_202D_206B_206A_206D_202B_200E_202A_200B_202C_202E(QuestWorkValue P_0) - { - return P_0.Low; - } - - static ulong _200C_206F_202B_202D_206C_202A_202B_200C_206B_206E_202D_206C_202D_206E_202D_200B_202D_200E_206C_206C_200F_202E_206D_202C_200F_202D_206C_202E_206E_200C_206C_202C_202E_200E_206A_200E_202D_206A_202A_200D_202E(ulong P_0, int P_1) - { - return BitOperations.RotateLeft(P_0, P_1); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass0_1 - { - public long flags; - - internal bool _003CValidate_003Eb__2(long x) - { - return x == flags; - } - } - - [CompilerGenerated] - private sealed class _003CValidate_003Ed__0 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ValidationIssue _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - private Quest quest; - - public Quest _003C_003E3__quest; - - private IEnumerator _003C_003E7__wrap1; - - private QuestSequence _003Csequence_003E5__3; - - private List _003CmappedCompletionFlags_003E5__4; - - private int _003Ci_003E5__5; - - ValidationIssue IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CValidate_003Ed__0(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _200D_200B_200C_206D_200D_202E_200D_200F_206F_202B_206A_206C_202A_206B_206D_200B_202A_200F_206B_200D_202B_202B_206F_200E_200C_206A_202C_206A_200B_202E_200C_202E_200D_206E_206C_206C_206E_200F_200E_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = ((num == -3) ? 403293009 : 403293008); - while (true) - { - int num3 = num2; - int num4 = 403293009; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - default: - continue; - case 2: - num2 = 403293008; - continue; - case 1: - if (num == 1) - { - num2 = 403293009; - continue; - } - break; - case 0: - try - { - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003C_003E7__wrap1 = null; - _003Csequence_003E5__3 = null; - _003CmappedCompletionFlags_003E5__4 = null; - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - try - { - int num = _003C_003E1__state; - int num2 = ((num == 0) ? 107528743 : 107528748); - _003C_003Ec__DisplayClass0_1 _003C_003Ec__DisplayClass0_ = default(_003C_003Ec__DisplayClass0_1); - while (true) - { - int num3 = num2; - int num4 = 107528743; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 13: - num2 = 107528748; - break; - case 10: - { - int num8 = _003Ci_003E5__5; - num4 = 1; - num5 = num8; - int num9 = num5 ^ num4; - int num10 = num5 & num4; - int num11 = num9 + (num10 + num10); - _003Ci_003E5__5 = num11; - num2 = 107528751; - break; - } - case 8: - num2 = ((_003Ci_003E5__5 < _206E_206D_202E_202C_200D_200E_202D_206C_200F_206F_202A_202B_200B_202E_206D_206E_200F_206B_202C_206C_206E_200D_202C_206F_206D_206A_200C_200B_202D_206A_200F_200C_202A_200C_202D_200D_202A_200C_200E_206C_202E(_003Csequence_003E5__3).Count) ? 107528736 : 107528741); - break; - case 6: - _003C_003E7__wrap1 = quest.AllSequences().GetEnumerator(); - _003C_003E1__state = -3; - num2 = 107528738; - break; - case 2: - _003CmappedCompletionFlags_003E5__4 = null; - _003Csequence_003E5__3 = null; - num2 = 107528738; - break; - case 5: - num2 = (_202B_202D_200C_206B_206E_200C_206C_202E_206C_200F_202D_206E_200D_206B_202C_206C_206A_202A_200C_202D_206E_206C_206C_206E_200C_200B_200E_202A_202D_202D_206A_202D_206F_206F_206B_200E_206F_200C_206C_206D_202E((IEnumerator)_003C_003E7__wrap1) ? 107528747 : 107528739); - break; - case 7: - _003C_003Ec__DisplayClass0_ = new _003C_003Ec__DisplayClass0_1 - { - flags = _003CmappedCompletionFlags_003E5__4[_003Ci_003E5__5] - }; - num2 = ((_003C_003Ec__DisplayClass0_.flags == 0L) ? 107528749 : 107528742); - break; - case 11: - num2 = ((num == 1) ? 107528745 : 107528740); - break; - case 15: - return false; - case 0: - _003C_003E1__state = -1; - num2 = ((_202A_206F_206D_202E_206F_202B_200B_206C_200B_206C_202C_202B_200F_202A_206C_206D_206A_202E_202E_202E_200F_202B_202E_200B_206A_206E_206F_200E_200B_202B_206D_202A_202B_200B_202B_202D_202B_206E_202B_206B_202E(quest.Id) != 5149) ? 107528737 : 107528744); - break; - case 14: - _003C_003E1__state = -3; - num2 = 107528749; - break; - case 9: - _003C_003E2__current = new ValidationIssue - { - PathType = EPathType.Quest, - Id = _202D_200B_202B_206B_200B_200F_206B_200C_200C_200C_200C_206C_206B_202C_202D_200B_206B_206B_202B_200C_206C_206C_206F_200E_202D_200F_202C_206B_206C_202E_202E_202B_202A_200F_200D_200C_202E_202B_202A_206D_202E((object)quest.Id), - Location = SchemaValidationHelper.FormatQuestLocation(_202C_202C_206D_202A_206F_206B_206B_200C_206A_206D_202D_200F_200D_200E_206D_206F_202C_200E_206D_206E_202B_202E_202A_202A_200B_206A_206A_206A_206C_202B_200D_202B_200D_202C_202A_200C_200C_200F_200C_202E(_003Csequence_003E5__3), _003Ci_003E5__5), - Type = EIssueType.DuplicateCompletionFlags, - Severity = EIssueSeverity.Error, - Description = _206F_200C_206C_202E_200D_206C_202D_206F_200B_206E_202C_206D_202B_206E_206E_200E_206E_206F_200E_202C_200E_200C_202E_202C_202A_202A_206E_202E_206E_206F_200E_200E_206F_200B_202A_206C_206E_200F_202B_200E_202E(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(1906420188), string.Join(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1403263077), _200C_202E_202C_202B_202A_202A_206F_200C_200B_200B_206A_200E_200C_202D_200C_206C_206A_202B_200C_202D_200C_202D_206A_206A_202A_200F_206F_200C_206E_202C_202B_200B_202A_200B_206E_200C_206C_202C_200F_206E_202E(_206E_206D_202E_202C_200D_200E_202D_206C_200F_206F_202A_202B_200B_202E_206D_206E_200F_206B_202C_206C_206E_200D_202C_206F_206D_206A_200C_200B_202D_206A_200F_200C_202A_200C_202D_200D_202A_200C_200E_206C_202E(_003Csequence_003E5__3)[_003Ci_003E5__5]))) - }; - _003C_003E1__state = 1; - return true; - case 12: - _003Csequence_003E5__3 = _003C_003E7__wrap1.Current; - _003CmappedCompletionFlags_003E5__4 = _206E_206D_202E_202C_200D_200E_202D_206C_200F_206F_202A_202B_200B_202E_206D_206E_200F_206B_202C_206C_206E_200D_202C_206F_206D_206A_200C_200B_202D_206A_200F_200C_202A_200C_202D_200D_202A_200C_200E_206C_202E(_003Csequence_003E5__3).Select(delegate(QuestStep x) - { - _003C_003Ec__DisplayClass0_0 CS_0024_003C_003E8__locals2 = new _003C_003Ec__DisplayClass0_0 - { - x = x - }; - int num12 = ((!QuestWorkUtils.HasCompletionFlags(_003C_003Ec._202E_206D_202E_200E_202B_200E_202A_202B_206C_200B_200E_200D_200B_200C_206B_206B_206E_206B_202E_202E_200F_200C_202B_200F_200F_200B_202C_206F_202E_202A_206A_202B_200F_200F_202A_200C_206F_200B_202D_200E_202E(CS_0024_003C_003E8__locals2.x))) ? 1047291959 : 1047291956); - while (true) - { - int num13 = num12; - int num14 = 1047291957; - int num15 = num13; - switch ((num15 | num14) - (num15 & num14)) - { - case 2: - return 0L; - case 1: - return _003C_003Ec._202B_202E_206B_206B_200C_206D_202A_202B_200B_206B_206B_200D_200F_202A_206D_200F_206F_200B_206D_202B_200E_206D_200C_202C_206C_200E_200B_202A_202B_200C_200F_200B_200D_202B_200D_202C_206C_200F_206E_206D_202E(_003C_003Ec._200D_200F_202E_200F_200C_202D_202E_200E_202A_200B_200B_200E_206A_206D_206E_200C_202A_200D_202A_206D_202C_200E_206F_206E_206E_202A_202D_206F_202C_200E_206E_206E_200E_206C_202D_206F_206D_206B_200F_200E_202E(0, 6).Select(delegate(int y) - { - QuestWorkValue questWorkValue = _003C_003Ec__DisplayClass0_0._200D_200B_206D_206B_200B_202C_202E_202B_206C_206E_206E_206C_206F_200B_206A_206D_200C_200B_200F_202C_200D_202D_200D_200D_206E_202E_206B_200B_200E_206B_206A_200D_202B_206A_202D_206E_202B_200D_206E_206D_202E(CS_0024_003C_003E8__locals2.x)[y]; - int num16 = ((questWorkValue != null) ? 1457577313 : 1457577314); - while (true) - { - int num17 = num16; - int num18 = 1457577315; - int num19 = num17; - switch ((num19 | num18) - (num19 & num18)) - { - case 0: - goto IL_0056; - case 2: - return (long)_003C_003Ec__DisplayClass0_0._200C_206F_202B_202D_206C_202A_202B_200C_206B_206E_202D_206C_202D_206E_202D_200B_202D_200E_206C_206C_200F_202E_206D_202C_200F_202D_206C_202E_206E_200C_206C_202C_202E_200E_206A_200E_202D_206A_202A_200D_202E((ulong)(_003C_003Ec__DisplayClass0_0._202D_202C_206D_206D_202A_206E_206A_206D_206B_206A_202D_202D_202E_202A_206C_200B_202D_202C_202A_206E_200E_200C_200E_202E_206C_202E_206A_202E_202B_202B_200F_200E_200B_200D_202B_202A_200F_202C_206D_206F_202E(questWorkValue).GetValueOrDefault() * 16 + _003C_003Ec__DisplayClass0_0._200C_202A_200D_200E_202B_206F_206D_206C_206B_200E_202C_206D_202A_200E_202B_202E_202D_206D_206D_206E_200F_200F_202A_206A_200D_206A_206D_206C_206F_202A_202D_206B_206A_206D_202B_200E_202A_200B_202C_202E(questWorkValue).GetValueOrDefault()), 8 * y); - case 1: - return 0L; - } - continue; - IL_0056: - num16 = 1457577314; - } - })); - case 0: - goto IL_007e; - } - continue; - IL_007e: - num12 = 1047291956; - } - }).ToList(); - _003Ci_003E5__5 = 0; - num2 = 107528751; - break; - case 1: - num2 = ((_003CmappedCompletionFlags_003E5__4.Count(_003C_003Ec__DisplayClass0_._003CValidate_003Eb__2) < 2) ? 107528749 : 107528750); - break; - case 3: - return false; - case 4: - _003C_003Em__Finally1(); - _003C_003E7__wrap1 = null; - return false; - } - } - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - int num = ((_003C_003E7__wrap1 == null) ? (-2045904747) : (-2045904746)); - while (true) - { - int num2 = num; - int num3 = -2045904745; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -2045904746; - break; - case 1: - _200F_206E_206F_202D_200B_202B_206A_202E_202E_200D_202D_200F_202D_202C_202B_202C_200F_202D_206E_202C_200D_200F_206D_200C_200F_200C_206D_202A_206A_202A_200C_200D_202D_200C_200C_200C_200F_200B_200D_200E_202E((IDisposable)_003C_003E7__wrap1); - num = -2045904747; - break; - case 2: - return; - } - } - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _206D_206B_206A_202B_206C_200C_200C_206C_202D_200F_202A_200F_206C_200D_206E_206C_206C_200B_206A_200B_202D_202C_206F_206D_200B_200B_200E_200B_202D_206E_202A_206D_200E_206A_200F_202C_202D_202C_206E_202E_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? (-2052019382) : (-2052019379)); - _003CValidate_003Ed__0 _003CValidate_003Ed__ = default(_003CValidate_003Ed__0); - while (true) - { - int num2 = num; - int num3 = -2052019383; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - _003CValidate_003Ed__.quest = _003C_003E3__quest; - return _003CValidate_003Ed__; - case 3: - _003CValidate_003Ed__ = new _003CValidate_003Ed__0(0); - num = -2052019381; - break; - case 4: - num = ((_003C_003El__initialThreadId != _200D_200B_200C_206D_200D_202E_200D_200F_206F_202B_206A_206C_202A_206B_206D_200B_202A_200F_206B_200D_202B_202B_206F_200E_200C_206A_202C_206A_200B_202E_200C_202E_200D_206E_206C_206C_206E_200F_200E_202E()) ? (-2052019382) : (-2052019384)); - break; - case 1: - _003C_003E1__state = 0; - _003CValidate_003Ed__ = this; - num = -2052019381; - break; - case 0: - num = -2052019379; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _200D_200B_200C_206D_200D_202E_200D_200F_206F_202B_206A_206C_202A_206B_206D_200B_202A_200F_206B_200D_202B_202B_206F_200E_200C_206A_202C_206A_200B_202E_200C_202E_200D_206E_206C_206C_206E_200F_200E_202E() - { - return Environment.CurrentManagedThreadId; - } - - static ushort _202A_206F_206D_202E_206F_202B_200B_206C_200B_206C_202C_202B_200F_202A_206C_206D_206A_202E_202E_202E_200F_202B_202E_200B_206A_206E_206F_200E_200B_202B_206D_202A_202B_200B_202B_202D_202B_206E_202B_206B_202E(ElementId P_0) - { - return P_0.Value; - } - - static List _206E_206D_202E_202C_200D_200E_202D_206C_200F_206F_202A_202B_200B_202E_206D_206E_200F_206B_202C_206C_206E_200D_202C_206F_206D_206A_200C_200B_202D_206A_200F_200C_202A_200C_202D_200D_202A_200C_200E_206C_202E(QuestSequence P_0) - { - return P_0.Steps; - } - - static string _202D_200B_202B_206B_200B_200F_206B_200C_200C_200C_200C_206C_206B_202C_202D_200B_206B_206B_202B_200C_206C_206C_206F_200E_202D_200F_202C_206B_206C_202E_202E_202B_202A_200F_200D_200C_202E_202B_202A_206D_202E(object P_0) - { - return P_0.ToString(); - } - - static byte _202C_202C_206D_202A_206F_206B_206B_200C_206A_206D_202D_200F_200D_200E_206D_206F_202C_200E_206D_206E_202B_202E_202A_202A_200B_206A_206A_206A_206C_202B_200D_202B_200D_202C_202A_200C_200C_200F_200C_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - - static List _200C_202E_202C_202B_202A_202A_206F_200C_200B_200B_206A_200E_200C_202D_200C_206C_206A_202B_200C_202D_200C_202D_206A_206A_202A_200F_206F_200C_206E_202C_202B_200B_202A_200B_206E_200C_206C_202C_200F_206E_202E(QuestStep P_0) - { - return P_0.CompletionQuestVariablesFlags; - } - - static string _206F_200C_206C_202E_200D_206C_202D_206F_200B_206E_202C_206D_202B_206E_206E_200E_206E_206F_200E_202C_200E_200C_202E_202C_202A_202A_206E_202E_206E_206F_200E_200E_206F_200B_202A_206C_206E_200F_202B_200E_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static bool _202B_202D_200C_206B_206E_200C_206C_202E_206C_200F_202D_206E_200D_206B_202C_206C_206A_202A_200C_202D_206E_206C_206C_206E_200C_200B_200E_202A_202D_202D_206A_202D_206F_206F_206B_200E_206F_200C_206C_206D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200F_206E_206F_202D_200B_202B_206A_202E_202E_200D_202D_200F_202D_202C_202B_202C_200F_202D_206E_202C_200D_200F_206D_200C_200F_200C_206D_202A_206A_202A_200C_200D_202D_200C_200C_200C_200F_200B_200D_200E_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static NotSupportedException _206D_206B_206A_202B_206C_200C_200C_206C_202D_200F_202A_200F_206C_200D_206E_206C_206C_200B_206A_200B_202D_202C_206F_206D_200B_200B_200E_200B_202D_206E_202A_206D_200E_206A_200F_202C_202D_202C_206E_202E_202E() - { - return new NotSupportedException(); - } - } - - [IteratorStateMachine(typeof(_003CValidate_003Ed__0))] public IEnumerable Validate(Quest quest) { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CValidate_003Ed__0(-2) + if (quest.Id.Value == 5149) { - _003C_003E3__quest = quest - }; - } - - IEnumerable IQuestValidator.Validate(Quest quest) - { - //ILSpy generated this explicit interface implementation from .override directive in Validate - return this.Validate(quest); + yield break; + } + foreach (QuestSequence sequence in quest.AllSequences()) + { + List mappedCompletionFlags = sequence.Steps.Select((QuestStep x) => QuestWorkUtils.HasCompletionFlags(x.CompletionQuestVariablesFlags) ? Enumerable.Range(0, 6).Select(delegate(int y) + { + QuestWorkValue questWorkValue = x.CompletionQuestVariablesFlags[y]; + return (long)((questWorkValue == null) ? 0 : BitOperations.RotateLeft((ulong)(questWorkValue.High.GetValueOrDefault() * 16 + questWorkValue.Low.GetValueOrDefault()), 8 * y)); + }).Sum() : 0).ToList(); + int i = 0; + while (i < sequence.Steps.Count) + { + long flags = mappedCompletionFlags[i]; + if (flags != 0L && mappedCompletionFlags.Count((long x) => x == flags) >= 2) + { + yield return new ValidationIssue + { + PathType = EPathType.Quest, + Id = quest.Id.ToString(), + Location = SchemaValidationHelper.FormatQuestLocation(sequence.Sequence, i), + Type = EIssueType.DuplicateCompletionFlags, + Severity = EIssueSeverity.Error, + Description = "Duplicate completion flags: " + string.Join(", ", sequence.Steps[i].CompletionQuestVariablesFlags) + }; + } + int num = i + 1; + i = num; + } + } } } diff --git a/Questionable/Questionable.Validation.Validators/DefinitionSchemaValidator.cs b/Questionable/Questionable.Validation.Validators/DefinitionSchemaValidator.cs index 71444b9..9fcad8d 100644 --- a/Questionable/Questionable.Validation.Validators/DefinitionSchemaValidator.cs +++ b/Questionable/Questionable.Validation.Validators/DefinitionSchemaValidator.cs @@ -1,10 +1,6 @@ -using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Globalization; using System.Linq; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text.Json; using System.Text.Json.Nodes; @@ -14,324 +10,6 @@ namespace Questionable.Validation.Validators; internal abstract class DefinitionSchemaValidator : IDefinitionSchemaValidator { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass12_0 - { - public DefinitionSchemaValidator _003C_003E4__this; - - public ushort id; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal ValidationIssue _003CValidateImmediate_003Eb__0(SchemaValidationHelper.ParsedError error) - { - return new ValidationIssue - { - PathType = _003C_003E4__this.PathType, - Id = id.ToString(_206F_200B_202C_200B_200B_202D_200F_206F_202C_206C_200D_202C_206C_200E_200D_202B_206B_206D_200F_206D_200F_202E_202E_202E_202C_200E_200D_200F_206C_200C_202E_206B_202E_206D_200D_206F_200C_206E_200F_202A_202E()), - Location = (_206E_202D_206D_202A_200F_206A_206D_206A_206C_202E_200B_206C_202D_202B_200E_206A_200B_202A_206E_206B_206C_200E_202C_202D_206B_200E_206A_206F_206C_202D_200C_206D_206D_200D_202E_206C_200C_200D_206B_202E_202E(error.PropertyPath) ? null : error.PropertyPath), - Type = EIssueType.InvalidJsonSchema, - Severity = EIssueSeverity.Error, - Description = (_206E_202D_206D_202A_200F_206A_206D_206A_206C_202E_200B_206C_202D_202B_200E_206A_200B_202A_206E_206B_206C_200E_202C_202D_206B_200E_206A_206F_206C_202D_200C_206D_206D_200D_202E_206C_200C_200D_206B_202E_202E(error.PropertyPath) ? error.Message : _202C_200C_200C_202E_206D_200F_200F_206C_202C_200E_200E_200F_202B_202C_206B_202D_202E_200D_206E_206E_200B_202D_200D_202E_200F_202D_206B_202C_206C_202C_202E_200D_200D_202A_200F_200E_200B_206F_202A_206E_202E(error.PropertyPath, 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(-437343681), error.Message)) - }; - } - - static CultureInfo _206F_200B_202C_200B_200B_202D_200F_206F_202C_206C_200D_202C_206C_200E_200D_202B_206B_206D_200F_206D_200F_202E_202E_202E_202C_200E_200D_200F_206C_200C_202E_206B_202E_206D_200D_206F_200C_206E_200F_202A_202E() - { - return CultureInfo.InvariantCulture; - } - - static bool _206E_202D_206D_202A_200F_206A_206D_206A_206C_202E_200B_206C_202D_202B_200E_206A_200B_202A_206E_206B_206C_200E_202C_202D_206B_200E_206A_206F_206C_202D_200C_206D_206D_200D_202E_206C_200C_200D_206B_202E_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static string _202C_200C_200C_202E_206D_200F_200F_206C_202C_200E_200E_200F_202B_202C_206B_202D_202E_200D_206E_206E_200B_202D_200D_202E_200F_202D_206B_202C_206C_202C_202E_200D_200D_202A_200F_200E_200B_206F_202A_206E_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - } - - [CompilerGenerated] - private sealed class _003CValidate_003Ed__11 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ValidationIssue _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - public DefinitionSchemaValidator _003C_003E4__this; - - private Dictionary.Enumerator _003C_003E7__wrap1; - - private List.Enumerator _003C_003E7__wrap2; - - ValidationIssue IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CValidate_003Ed__11(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _206C_206E_202E_200D_200C_202A_206A_202A_206C_202D_206F_202A_206E_206D_206B_206E_202C_200F_202B_206C_200B_200D_206E_206E_206A_206A_200D_206F_202D_206D_200B_202D_200B_200C_206C_202D_206E_206C_200E_200D_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = -4; - int num3 = num; - int num4 = (((uint)(~(~num3 + num2)) <= 1u) ? 755205306 : 755205307); - while (true) - { - int num5 = num4; - num2 = 755205306; - num3 = num5; - switch ((num3 | num2) - (num3 & num2)) - { - default: - continue; - case 2: - num4 = 755205307; - continue; - case 1: - if (num == 1) - { - num4 = 755205306; - continue; - } - break; - case 0: - try - { - num4 = ((num == -4) ? (-1716476280) : (-1716476279)); - while (true) - { - int num6 = num4; - num2 = -1716476278; - num3 = num6; - int num7 = num3 + num2; - int num8 = num3 & num2; - switch (num7 - (num8 + num8)) - { - case 0: - num4 = -1716476279; - break; - case 3: - num4 = ((num == 1) ? (-1716476280) : (-1716476277)); - break; - case 1: - goto end_IL_008e; - case 2: - try - { - } - finally - { - _003C_003Em__Finally2(); - } - goto end_IL_008e; - } - continue; - end_IL_008e: - break; - } - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003C_003E7__wrap1 = default(Dictionary.Enumerator); - _003C_003E7__wrap2 = default(List.Enumerator); - _003C_003E1__state = -2; - } - - private bool MoveNext() - { - try - { - int num = _003C_003E1__state; - DefinitionSchemaValidator definitionSchemaValidator = _003C_003E4__this; - int num2 = ((num == 0) ? 946151668 : 946151666); - while (true) - { - int num3 = num2; - int num4 = 946151672; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 11: - _003C_003E1__state = -4; - num2 = 946151670; - break; - case 14: - num2 = (_003C_003E7__wrap2.MoveNext() ? 946151664 : 946151677); - break; - case 7: - num2 = (_003C_003E7__wrap1.MoveNext() ? 946151675 : 946151678); - break; - case 2: - num2 = 946151666; - break; - case 3: - { - _003C_003E7__wrap1.Current.Deconstruct(out ushort key, out JsonNode value); - ushort id = key; - JsonNode node = value; - _003C_003E7__wrap2 = definitionSchemaValidator.ValidateImmediate(id, node).GetEnumerator(); - _003C_003E1__state = -4; - num2 = 946151670; - break; - } - case 4: - return false; - case 12: - _003C_003E1__state = -1; - num2 = ((definitionSchemaValidator._nodes.Count != 0) ? 946151669 : 946151676); - break; - case 13: - num2 = ((definitionSchemaValidator._schema != null) ? 946151672 : 946151673); - break; - case 9: - return false; - case 0: - _003C_003E7__wrap1 = definitionSchemaValidator._nodes.GetEnumerator(); - _003C_003E1__state = -3; - num2 = 946151679; - break; - case 8: - { - ValidationIssue current = _003C_003E7__wrap2.Current; - _003C_003E2__current = current; - _003C_003E1__state = 1; - return true; - } - case 10: - num2 = ((num == 1) ? 946151667 : 946151665); - break; - case 1: - definitionSchemaValidator._schema = definitionSchemaValidator._schemaRegistrar.Get(definitionSchemaValidator.MainSchemaUri); - num2 = 946151672; - break; - case 5: - _003C_003Em__Finally2(); - _003C_003E7__wrap2 = default(List.Enumerator); - num2 = 946151679; - break; - case 6: - _003C_003Em__Finally1(); - _003C_003E7__wrap1 = default(Dictionary.Enumerator); - return false; - } - } - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - ((IDisposable)_003C_003E7__wrap1/*cast due to .constrained prefix*/).Dispose(); - } - - private void _003C_003Em__Finally2() - { - _003C_003E1__state = -3; - ((IDisposable)_003C_003E7__wrap2/*cast due to .constrained prefix*/).Dispose(); - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _200E_200B_206D_206B_200D_206C_202A_202A_202C_206D_206D_202B_200F_202E_202D_206A_202B_202D_206B_200B_202E_200F_200D_202C_202A_206C_206A_202A_202E_202C_202A_202D_200C_206F_206B_202A_200D_206B_206C_206E_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? 1575118820 : 1575118817); - _003CValidate_003Ed__11 result = default(_003CValidate_003Ed__11); - while (true) - { - int num2 = num; - int num3 = 1575118816; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - _003C_003E1__state = 0; - result = this; - num = 1575118816; - break; - case 4: - result = new _003CValidate_003Ed__11(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = 1575118816; - break; - case 2: - num = 1575118817; - break; - case 0: - return result; - case 1: - num = ((_003C_003El__initialThreadId != _206C_206E_202E_200D_200C_202A_206A_202A_206C_202D_206F_202A_206E_206D_206B_206E_202C_200F_202B_206C_200B_200D_206E_206E_206A_206A_200D_206F_202D_206D_200B_202D_200B_200C_206C_202D_206E_206C_200E_200D_202E()) ? 1575118820 : 1575118819); - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _206C_206E_202E_200D_200C_202A_206A_202A_206C_202D_206F_202A_206E_206D_206B_206E_202C_200F_202B_206C_200B_200D_206E_206E_206A_206A_200D_206F_202D_206D_200B_202D_200B_200C_206C_202D_206E_206C_200E_200D_202E() - { - return Environment.CurrentManagedThreadId; - } - - static NotSupportedException _200E_200B_206D_206B_200D_206C_202A_202A_202C_206D_206D_202B_200F_202E_202D_206A_202B_202D_206B_200B_202E_200F_200D_202C_202A_206C_206A_202A_202E_202C_202A_202D_200C_206F_206B_202A_200D_206B_206C_206E_202E() - { - return new NotSupportedException(); - } - } - protected const string BaseUri = "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main"; private readonly SchemaRegistrar _schemaRegistrar; @@ -354,134 +32,71 @@ internal abstract class DefinitionSchemaValidator : IDefinitionSchemaValidator _nodes[id] = node; } - void IDefinitionSchemaValidator.Enqueue(ushort id, JsonNode node) - { - //ILSpy generated this explicit interface implementation from .override directive in Enqueue - this.Enqueue(id, node); - } - public void Reset() { _nodes.Clear(); } - void IDefinitionSchemaValidator.Reset() - { - //ILSpy generated this explicit interface implementation from .override directive in Reset - this.Reset(); - } - - [IteratorStateMachine(typeof(_003CValidate_003Ed__11))] public IEnumerable Validate() { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CValidate_003Ed__11(-2) + if (_nodes.Count == 0) { - _003C_003E4__this = this - }; - } - - IEnumerable IDefinitionSchemaValidator.Validate() - { - //ILSpy generated this explicit interface implementation from .override directive in Validate - return this.Validate(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - public List ValidateImmediate(ushort id, JsonNode node) - { - int num = ((_schema != null) ? 2044491341 : 2044491340); - EvaluationResults evaluationResults = default(EvaluationResults); - List list = default(List); - while (true) + yield break; + } + if (_schema == null) { - int num2 = num; - int num3 = 2044491341; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _schema = _schemaRegistrar.Get(MainSchemaUri); + } + foreach (var (id, node) in _nodes) + { + foreach (ValidationIssue item in ValidateImmediate(id, node)) { - case 4: - num = 2044491340; - break; - case 2: - { - int num5 = 1; - List list2 = new List(num5); - CollectionsMarshal.SetCount(list2, num5); - CollectionsMarshal.AsSpan(list2)[0] = new ValidationIssue - { - PathType = PathType, - Id = id.ToString(_206B_202D_202D_200F_200F_206C_202D_202D_200D_202C_202A_206B_206C_202D_202E_200E_202A_206E_202D_202B_206B_200C_200E_206B_206F_200F_200F_202B_200D_206D_206A_200D_206E_200D_206D_202E_200F_200F_200D_206B_202E()), - Location = null, - Type = EIssueType.InvalidJsonSchema, - Severity = EIssueSeverity.Error, - Description = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(213210949) - }; - return list2; - } - case 0: - { - JsonSchema? schema = _schema; - JsonElement jsonElement = JsonSerializer.SerializeToElement(node); - EvaluationOptions evaluationOptions = _202B_202C_206F_206D_206C_200C_200D_206B_206F_206A_206E_200B_200E_200D_202C_206F_202E_200C_206A_206A_200C_206D_206C_206B_200C_206C_202E_200E_200B_202B_206F_202A_206F_206B_200C_200F_206E_206B_202C_200E_202E(); - _200D_206C_200E_206D_200E_200D_200D_206A_206E_202A_206B_206C_202A_206A_202B_206F_200F_206E_202E_200E_200F_200B_206A_206F_202C_200C_206B_206F_206F_200E_206B_200E_200E_206B_206E_202C_200D_206B_202D_200D_202E(evaluationOptions, _206B_202D_202D_200F_200F_206C_202D_202D_200D_202C_202A_206B_206C_202D_202E_200E_202A_206E_202D_202B_206B_200C_200E_206B_206F_200F_200F_202B_200D_206D_206A_200D_206E_200D_206D_202E_200F_200F_200D_206B_202E()); - _206D_200E_200E_202E_200E_200F_206E_206A_206C_200F_200E_206B_206B_200D_206C_200B_202D_200B_200B_206A_202D_200E_200E_206D_200D_206B_200C_206F_202C_202C_202E_206A_200E_200C_206A_200E_206E_206E_200C_202A_202E(evaluationOptions, OutputFormat.Hierarchical); - evaluationResults = _200B_202C_202B_202C_206E_200D_206D_202E_202A_200C_200F_202C_206D_206F_202C_200F_200F_202D_200C_202A_206A_200B_206B_202C_206C_200B_202E_206C_202A_202D_206E_202E_200E_206C_202C_206A_206C_206C_206B_206E_202E(schema, jsonElement, evaluationOptions); - num = ((!_202E_206B_206D_200D_200D_206C_202A_206A_206D_206F_206C_202A_206A_200E_206D_206F_206F_206E_206D_206E_206F_206E_206B_202A_202D_206C_200E_206B_206C_200F_206E_202A_200E_206F_200F_202E_202B_206A_202A_206A_202E(evaluationResults)) ? 2044491336 : 2044491339); - break; - } - case 5: - list = new List(); - SchemaValidationHelper.CollectLeafErrors(evaluationResults, list); - num = ((list.Count != 0) ? 2044491342 : 2044491343); - break; - case 1: - _schema = _schemaRegistrar.Get(MainSchemaUri); - num = 2044491341; - break; - case 3: - return list.Select([MethodImpl(MethodImplOptions.NoInlining)] (SchemaValidationHelper.ParsedError error) => new ValidationIssue - { - PathType = PathType, - Id = id.ToString(_003C_003Ec__DisplayClass12_0._206F_200B_202C_200B_200B_202D_200F_206F_202C_206C_200D_202C_206C_200E_200D_202B_206B_206D_200F_206D_200F_202E_202E_202E_202C_200E_200D_200F_206C_200C_202E_206B_202E_206D_200D_206F_200C_206E_200F_202A_202E()), - Location = (_003C_003Ec__DisplayClass12_0._206E_202D_206D_202A_200F_206A_206D_206A_206C_202E_200B_206C_202D_202B_200E_206A_200B_202A_206E_206B_206C_200E_202C_202D_206B_200E_206A_206F_206C_202D_200C_206D_206D_200D_202E_206C_200C_200D_206B_202E_202E(error.PropertyPath) ? null : error.PropertyPath), - Type = EIssueType.InvalidJsonSchema, - Severity = EIssueSeverity.Error, - Description = (_003C_003Ec__DisplayClass12_0._206E_202D_206D_202A_200F_206A_206D_206A_206C_202E_200B_206C_202D_202B_200E_206A_200B_202A_206E_206B_206C_200E_202C_202D_206B_200E_206A_206F_206C_202D_200C_206D_206D_200D_202E_206C_200C_200D_206B_202E_202E(error.PropertyPath) ? error.Message : _003C_003Ec__DisplayClass12_0._202C_200C_200C_202E_206D_200F_200F_206C_202C_200E_200E_200F_202B_202C_206B_202D_202E_200D_206E_206E_200B_202D_200D_202E_200F_202D_206B_202C_206C_202C_202E_200D_200D_202A_200F_200E_200B_206F_202A_206E_202E(error.PropertyPath, 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(-437343681), error.Message)) - }).ToList(); - case 6: - return new List(); + yield return item; } } } - static EvaluationOptions _202B_202C_206F_206D_206C_200C_200D_206B_206F_206A_206E_200B_200E_200D_202C_206F_202E_200C_206A_206A_200C_206D_206C_206B_200C_206C_202E_200E_200B_202B_206F_202A_206F_206B_200C_200F_206E_206B_202C_200E_202E() + public List ValidateImmediate(ushort id, JsonNode node) { - return new EvaluationOptions(); - } - - static CultureInfo _206B_202D_202D_200F_200F_206C_202D_202D_200D_202C_202A_206B_206C_202D_202E_200E_202A_206E_202D_202B_206B_200C_200E_206B_206F_200F_200F_202B_200D_206D_206A_200D_206E_200D_206D_202E_200F_200F_200D_206B_202E() - { - return CultureInfo.InvariantCulture; - } - - static void _200D_206C_200E_206D_200E_200D_200D_206A_206E_202A_206B_206C_202A_206A_202B_206F_200F_206E_202E_200E_200F_200B_206A_206F_202C_200C_206B_206F_206F_200E_206B_200E_200E_206B_206E_202C_200D_206B_202D_200D_202E(EvaluationOptions P_0, CultureInfo P_1) - { - P_0.Culture = P_1; - } - - static void _206D_200E_200E_202E_200E_200F_206E_206A_206C_200F_200E_206B_206B_200D_206C_200B_202D_200B_200B_206A_202D_200E_200E_206D_200D_206B_200C_206F_202C_202C_202E_206A_200E_200C_206A_200E_206E_206E_200C_202A_202E(EvaluationOptions P_0, OutputFormat P_1) - { - P_0.OutputFormat = P_1; - } - - static EvaluationResults _200B_202C_202B_202C_206E_200D_206D_202E_202A_200C_200F_202C_206D_206F_202C_200F_200F_202D_200C_202A_206A_200B_206B_202C_206C_200B_202E_206C_202A_202D_206E_202E_200E_206C_202C_206A_206C_206C_206B_206E_202E(JsonSchema P_0, JsonElement P_1, EvaluationOptions P_2) - { - return P_0.Evaluate(P_1, P_2); - } - - static bool _202E_206B_206D_200D_200D_206C_202A_206A_206D_206F_206C_202A_206A_200E_206D_206F_206F_206E_206D_206E_206F_206E_206B_202A_202D_206C_200E_206B_206C_200F_206E_202A_200E_206F_200F_202E_202B_206A_202A_206A_202E(EvaluationResults P_0) - { - return P_0.IsValid; + if (_schema == null) + { + _schema = _schemaRegistrar.Get(MainSchemaUri); + } + EvaluationResults evaluationResults = _schema.Evaluate(JsonSerializer.SerializeToElement(node), new EvaluationOptions + { + Culture = CultureInfo.InvariantCulture, + OutputFormat = OutputFormat.Hierarchical + }); + if (evaluationResults.IsValid) + { + return new List(); + } + List list = new List(); + SchemaValidationHelper.CollectLeafErrors(evaluationResults, list); + if (list.Count == 0) + { + int num = 1; + List list2 = new List(num); + CollectionsMarshal.SetCount(list2, num); + CollectionsMarshal.AsSpan(list2)[0] = new ValidationIssue + { + PathType = PathType, + Id = id.ToString(CultureInfo.InvariantCulture), + Location = null, + Type = EIssueType.InvalidJsonSchema, + Severity = EIssueSeverity.Error, + Description = "JSON schema validation failed" + }; + return list2; + } + return list.Select((SchemaValidationHelper.ParsedError error) => new ValidationIssue + { + PathType = PathType, + Id = id.ToString(CultureInfo.InvariantCulture), + Location = (string.IsNullOrEmpty(error.PropertyPath) ? null : error.PropertyPath), + Type = EIssueType.InvalidJsonSchema, + Severity = EIssueSeverity.Error, + Description = (string.IsNullOrEmpty(error.PropertyPath) ? error.Message : (error.PropertyPath + ": " + error.Message)) + }).ToList(); } } diff --git a/Questionable/Questionable.Validation.Validators/DialogueChoiceValidator.cs b/Questionable/Questionable.Validation.Validators/DialogueChoiceValidator.cs index 3b38625..da72e95 100644 --- a/Questionable/Questionable.Validation.Validators/DialogueChoiceValidator.cs +++ b/Questionable/Questionable.Validation.Validators/DialogueChoiceValidator.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; -using System.Runtime.CompilerServices; using Questionable.Functions; using Questionable.Model; using Questionable.Model.Questing; @@ -11,403 +7,6 @@ namespace Questionable.Validation.Validators; internal sealed class DialogueChoiceValidator : IQuestValidator { - [CompilerGenerated] - private sealed class _003CValidate_003Ed__2 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ValidationIssue _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - private Quest quest; - - public Quest _003C_003E3__quest; - - public DialogueChoiceValidator _003C_003E4__this; - - private IEnumerator<(QuestSequence Sequence, int StepId, QuestStep Step)> _003C_003E7__wrap1; - - private (QuestSequence Sequence, int StepId, QuestStep Step) _003Cx_003E5__3; - - private List.Enumerator _003C_003E7__wrap3; - - private DialogueChoice _003CdialogueChoice_003E5__5; - - ValidationIssue IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CValidate_003Ed__2(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _200D_202C_200B_202A_200C_200F_206B_200E_202E_202E_200B_206C_200E_202A_200E_202D_200B_206E_202D_202E_200F_202E_206D_200B_202E_202C_202E_206B_200D_200E_202C_202E_200D_202A_206E_206F_200D_200C_206E_206D_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = -4; - int num3 = num; - int num4 = (((uint)(~(~num3 + num2)) <= 1u) ? 1829827120 : 1829827123); - while (true) - { - int num5 = num4; - num2 = 1829827122; - num3 = num5; - int num6 = num3 + num2; - int num7 = num3 & num2; - switch (num6 - (num7 + num7)) - { - default: - continue; - case 0: - num4 = 1829827123; - continue; - case 1: - num2 = 1; - num3 = num; - if ((uint)(~(~num3 + num2)) <= 1u) - { - num4 = 1829827120; - continue; - } - break; - case 2: - try - { - num4 = ((num == -4) ? 1185253003 : 1185253002); - while (true) - { - int num8 = num4; - num2 = 1185253003; - num3 = num8; - int num9 = num3 + num2; - int num10 = num3 & num2; - switch (num9 - (num10 + num10)) - { - case 3: - goto end_IL_0098; - case 1: - num2 = 1; - num3 = num; - num4 = (((uint)(~(~num3 + num2)) <= 1u) ? 1185253003 : 1185253000); - break; - case 2: - num4 = 1185253002; - break; - case 0: - try - { - } - finally - { - _003C_003Em__Finally2(); - } - goto end_IL_0098; - } - continue; - end_IL_0098: - break; - } - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003C_003E7__wrap1 = null; - _003Cx_003E5__3 = default((QuestSequence, int, QuestStep)); - _003C_003E7__wrap3 = default(List.Enumerator); - _003CdialogueChoice_003E5__5 = null; - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - try - { - int num = _003C_003E1__state; - DialogueChoiceValidator dialogueChoiceValidator = _003C_003E4__this; - int num2; - ValidationIssue validationIssue2 = default(ValidationIssue); - ValidationIssue validationIssue = default(ValidationIssue); - ExcelRef excelRef = default(ExcelRef); - ExcelRef excelRef2 = default(ExcelRef); - switch (num) - { - default: - num2 = -658626702; - goto IL_002c; - case 0: - _003C_003E1__state = -1; - _003C_003E7__wrap1 = quest.AllSteps().GetEnumerator(); - _003C_003E1__state = -3; - num2 = -658626698; - goto IL_002c; - case 1: - goto IL_0298; - case 2: - goto IL_02ac; - IL_002c: - while (true) - { - int num3 = num2; - int num4 = -658626697; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - goto IL_0094; - case 1: - goto IL_00f3; - case 4: - goto end_IL_002c; - case 11: - _003CdialogueChoice_003E5__5 = null; - num2 = -658626704; - break; - case 15: - _003C_003E2__current = validationIssue2; - _003C_003E1__state = 1; - return true; - case 9: - goto IL_0181; - case 17: - _003C_003E2__current = validationIssue; - _003C_003E1__state = 2; - return true; - case 12: - goto IL_01e6; - case 7: - goto IL_0246; - case 0: - _003C_003Em__Finally2(); - _003C_003E7__wrap3 = default(List.Enumerator); - _003Cx_003E5__3 = default((QuestSequence, int, QuestStep)); - num2 = -658626698; - break; - case 3: - goto IL_0298; - case 13: - goto IL_02ac; - case 14: - num2 = -658626702; - break; - case 5: - return false; - case 10: - _003C_003E7__wrap3 = _206F_206E_200D_206E_200D_200C_202B_200F_206B_200E_202E_206B_202D_206D_200D_206F_200B_202E_206C_206C_200E_202E_206C_206C_206E_200E_202A_206B_202D_206E_200E_206E_206A_202B_200D_206A_206A_206A_200E_200F_202E(_003Cx_003E5__3.Step).GetEnumerator(); - _003C_003E1__state = -4; - num2 = -658626704; - break; - case 6: - goto IL_030e; - case 16: - goto IL_033a; - case 8: - _003C_003Em__Finally1(); - _003C_003E7__wrap1 = null; - return false; - } - continue; - IL_033a: - _003CdialogueChoice_003E5__5 = _003C_003E7__wrap3.Current; - excelRef = _206A_200C_200C_200F_202A_200C_206A_206C_206A_202D_206D_200B_206F_202C_202A_206E_200E_206E_206C_206B_206F_200F_200F_206B_206D_202D_202E_206A_206C_202E_202A_206E_206C_200C_202B_206D_206E_206C_202E_200F_202E(_003CdialogueChoice_003E5__5); - num2 = ((excelRef == null) ? (-658626703) : (-658626699)); - continue; - IL_0094: - validationIssue2 = dialogueChoiceValidator.Validate(quest, _003Cx_003E5__3.Sequence, _003Cx_003E5__3.StepId, _200F_202B_206D_202D_200D_202E_206C_206D_202B_202E_202B_206A_202E_206B_202A_206A_202C_206A_206C_200E_206C_200F_206C_206F_202A_200C_202D_200B_202E_206D_202B_206E_202E_200D_202E_200E_202C_202A_200F_202C_202E(_003CdialogueChoice_003E5__5), excelRef, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-633511800)); - num2 = ((!(validationIssue2 != null)) ? (-658626703) : (-658626696)); - continue; - IL_0181: - _003Cx_003E5__3 = _003C_003E7__wrap1.Current; - num2 = ((_206F_206E_200D_206E_200D_200C_202B_200F_206B_200E_202E_206B_202D_206D_200D_206F_200B_202E_206C_206C_200E_202E_206C_206C_206E_200E_202A_206B_202D_206E_200E_206E_206A_202B_200D_206A_206A_206A_200E_200F_202E(_003Cx_003E5__3.Step).Count == 0) ? (-658626698) : (-658626691)); - continue; - IL_030e: - excelRef2 = _206E_200D_206D_200D_206B_202A_202A_200D_206F_200E_202E_202D_202E_202A_206D_200F_200B_202E_200D_202E_206D_200E_200C_206E_202B_206B_202A_200B_206A_206E_206F_206A_200B_206A_202C_202E_206E_200C_202A_202C_202E(_003CdialogueChoice_003E5__5); - num2 = ((excelRef2 == null) ? (-658626692) : (-658626693)); - continue; - IL_01e6: - validationIssue = dialogueChoiceValidator.Validate(quest, _003Cx_003E5__3.Sequence, _003Cx_003E5__3.StepId, _200F_202B_206D_202D_200D_202E_206C_206D_202B_202E_202B_206A_202E_206B_202A_206A_202C_206A_206C_200E_206C_200F_206C_206F_202A_200C_202D_200B_202E_206D_202B_206E_202E_200D_202E_200E_202C_202A_200F_202C_202E(_003CdialogueChoice_003E5__5), excelRef2, 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(726153876)); - num2 = ((!(validationIssue != null)) ? (-658626692) : (-658626714)); - continue; - IL_00f3: - num2 = (_202D_200B_206D_200F_202C_202D_200B_206E_202A_206A_200D_200E_200F_202A_202D_206C_200F_200E_206C_202B_200D_206F_200E_206C_202D_206F_206A_202C_206E_206A_200B_200B_206E_206E_200C_206E_200E_206B_206A_202B_202E((IEnumerator)_003C_003E7__wrap1) ? (-658626690) : (-658626689)); - continue; - IL_0246: - num2 = (_003C_003E7__wrap3.MoveNext() ? (-658626713) : (-658626697)); - continue; - end_IL_002c: - break; - } - goto case 0; - IL_02ac: - _003C_003E1__state = -4; - num2 = -658626692; - goto IL_002c; - IL_0298: - _003C_003E1__state = -4; - num2 = -658626703; - goto IL_002c; - } - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - int num = ((_003C_003E7__wrap1 == null) ? 1730549734 : 1730549733); - while (true) - { - int num2 = num; - int num3 = 1730549732; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1730549733; - break; - case 1: - _200B_202B_202B_202C_200B_202D_206A_200B_206A_206D_202D_202D_202D_202A_202C_202D_200F_200E_200B_200C_200B_202B_200D_202A_206F_200E_202B_202B_200B_206C_206A_200B_200C_206F_202C_206C_202D_202C_202D_206D_202E((IDisposable)_003C_003E7__wrap1); - num = 1730549734; - break; - case 2: - return; - } - } - } - - private void _003C_003Em__Finally2() - { - _003C_003E1__state = -3; - ((IDisposable)_003C_003E7__wrap3/*cast due to .constrained prefix*/).Dispose(); - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _202E_200F_202B_206D_206C_202B_202C_202B_206C_202D_206B_206F_200F_206E_200F_202B_200E_202A_202C_202D_200B_206A_206C_206F_206C_202D_206A_206B_206C_202E_206F_206C_202D_206A_206D_200E_200F_200B_202A_202E_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? 890630818 : 890630816); - _003CValidate_003Ed__2 _003CValidate_003Ed__ = default(_003CValidate_003Ed__2); - while (true) - { - int num2 = num; - int num3 = 890630817; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - _003CValidate_003Ed__.quest = _003C_003E3__quest; - return _003CValidate_003Ed__; - case 1: - num = ((_003C_003El__initialThreadId != _200D_202C_200B_202A_200C_200F_206B_200E_202E_202E_200B_206C_200E_202A_200E_202D_200B_206E_202D_202E_200F_202E_206D_200B_202E_202C_202E_206B_200D_200E_202C_202E_200D_202A_206E_206F_200D_200C_206E_206D_202E()) ? 890630818 : 890630817); - break; - case 3: - _003CValidate_003Ed__ = new _003CValidate_003Ed__2(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = 890630821; - break; - case 0: - _003C_003E1__state = 0; - _003CValidate_003Ed__ = this; - num = 890630821; - break; - case 2: - num = 890630816; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _200D_202C_200B_202A_200C_200F_206B_200E_202E_202E_200B_206C_200E_202A_200E_202D_200B_206E_202D_202E_200F_202E_206D_200B_202E_202C_202E_206B_200D_200E_202C_202E_200D_202A_206E_206F_200D_200C_206E_206D_202E() - { - return Environment.CurrentManagedThreadId; - } - - static List _206F_206E_200D_206E_200D_200C_202B_200F_206B_200E_202E_206B_202D_206D_200D_206F_200B_202E_206C_206C_200E_202E_206C_206C_206E_200E_202A_206B_202D_206E_200E_206E_206A_202B_200D_206A_206A_206A_200E_200F_202E(QuestStep P_0) - { - return P_0.DialogueChoices; - } - - static ExcelRef _206A_200C_200C_200F_202A_200C_206A_206C_206A_202D_206D_200B_206F_202C_202A_206E_200E_206E_206C_206B_206F_200F_200F_206B_206D_202D_202E_206A_206C_202E_202A_206E_206C_200C_202B_206D_206E_206C_202E_200F_202E(DialogueChoice P_0) - { - return P_0.Prompt; - } - - static string _200F_202B_206D_202D_200D_202E_206C_206D_202B_202E_202B_206A_202E_206B_202A_206A_202C_206A_206C_200E_206C_200F_206C_206F_202A_200C_202D_200B_202E_206D_202B_206E_202E_200D_202E_200E_202C_202A_200F_202C_202E(DialogueChoice P_0) - { - return P_0.ExcelSheet; - } - - static ExcelRef _206E_200D_206D_200D_206B_202A_202A_200D_206F_200E_202E_202D_202E_202A_206D_200F_200B_202E_200D_202E_206D_200E_200C_206E_202B_206B_202A_200B_206A_206E_206F_206A_200B_206A_202C_202E_206E_200C_202A_202C_202E(DialogueChoice P_0) - { - return P_0.Answer; - } - - static bool _202D_200B_206D_200F_202C_202D_200B_206E_202A_206A_200D_200E_200F_202A_202D_206C_200F_200E_206C_202B_200D_206F_200E_206C_202D_206F_206A_202C_206E_206A_200B_200B_206E_206E_200C_206E_200E_206B_206A_202B_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200B_202B_202B_202C_200B_202D_206A_200B_206A_206D_202D_202D_202D_202A_202C_202D_200F_200E_200B_200C_200B_202B_200D_202A_206F_200E_202B_202B_200B_206C_206A_200B_200C_206F_202C_206C_202D_202C_202D_206D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static NotSupportedException _202E_200F_202B_206D_206C_202B_202C_202B_206C_202D_206B_206F_200F_206E_200F_202B_200E_202A_202C_202D_200B_206A_206C_206F_206C_202D_206A_206B_206C_202E_206F_206C_202D_206A_206D_200E_200F_200B_202A_202E_202E() - { - return new NotSupportedException(); - } - } - private readonly ExcelFunctions _excelFunctions; public DialogueChoiceValidator(ExcelFunctions excelFunctions) @@ -415,112 +14,67 @@ internal sealed class DialogueChoiceValidator : IQuestValidator _excelFunctions = excelFunctions; } - [IteratorStateMachine(typeof(_003CValidate_003Ed__2))] public IEnumerable Validate(Quest quest) { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CValidate_003Ed__2(-2) + foreach (var x in quest.AllSteps()) { - _003C_003E4__this = this, - _003C_003E3__quest = quest - }; - } - - IEnumerable IQuestValidator.Validate(Quest quest) - { - //ILSpy generated this explicit interface implementation from .override directive in Validate - return this.Validate(quest); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private ValidationIssue? Validate(Quest quest, QuestSequence sequence, int stepId, string? excelSheet, ExcelRef excelRef, string label) - { - int num = ((_200E_200C_206D_206D_202C_200E_200F_206E_202E_200E_202D_206D_200E_202C_206C_200B_200B_206A_202A_200F_200C_202A_202B_206F_200C_206B_206E_206D_206C_206E_202C_206B_202E_200F_206F_200B_206D_200B_206C_206E_202E(excelRef) != ExcelRef.EType.Key) ? 784349212 : 784349211); - while (true) - { - int num2 = num; - int num3 = 784349210; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + if (x.Step.DialogueChoices.Count == 0) { - case 5: - num = 784349211; - break; - case 3: - { - ValidationIssue obj = new ValidationIssue - { - PathType = EPathType.Quest, - Id = _200F_206F_200D_206A_206F_200D_206A_206A_206A_206F_206E_202A_200C_202C_200F_202A_202C_200C_202A_200F_202D_202E_200E_206C_206A_200C_206F_200B_206E_206A_206D_200B_200E_202C_206A_202D_202E_200C_202C_202C_202E((object)quest.Id), - Location = SchemaValidationHelper.FormatQuestLocation(_206E_206B_202D_206C_206A_200B_202C_206E_200B_206B_200F_200E_206D_206D_200F_200D_202E_200E_202B_202C_200C_202C_202A_206F_202A_200F_206F_200C_206A_206C_206C_202E_200F_202B_200C_206D_206E_202A_202B_202C_202E(sequence), stepId), - Type = EIssueType.InvalidExcelRef, - Severity = EIssueSeverity.Error - }; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(13, 3); - defaultInterpolatedStringHandler.AppendFormatted(label); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1993753271)); - defaultInterpolatedStringHandler.AppendFormatted(excelSheet); - defaultInterpolatedStringHandler.AppendLiteral(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(-545088367)); - defaultInterpolatedStringHandler.AppendFormatted(_206D_200C_200F_202C_206D_202E_206A_206E_206F_202B_200E_206D_206D_206E_200D_206B_202E_202B_206D_206B_202D_200B_202C_200C_206B_202C_200F_206E_200E_206D_200B_200B_206B_206A_202B_200B_206B_202C_206D_202C_202E(excelRef)); - obj.Description = defaultInterpolatedStringHandler.ToStringAndClear(); - return obj; + continue; } - case 0: - return null; - case 6: - num = ((_200E_200C_206D_206D_202C_200E_200F_206E_202E_200E_202D_206D_200E_202C_206C_200B_200B_206A_202A_200F_200C_202A_202B_206F_200C_206B_206E_206D_206C_206E_202C_206B_202E_200F_206F_200B_206D_200B_206C_206E_202E(excelRef) != ExcelRef.EType.RowId) ? 784349210 : 784349208); - break; - case 4: + foreach (DialogueChoice dialogueChoice in x.Step.DialogueChoices) { - ValidationIssue obj2 = new ValidationIssue + ExcelRef prompt = dialogueChoice.Prompt; + if (prompt != null) { - PathType = EPathType.Quest, - Id = _200F_206F_200D_206A_206F_200D_206A_206A_206A_206F_206E_202A_200C_202C_200F_202A_202C_200C_202A_200F_202D_202E_200E_206C_206A_200C_206F_200B_206E_206A_206D_200B_200E_202C_206A_202D_202E_200C_202C_202C_202E((object)quest.Id), - Location = SchemaValidationHelper.FormatQuestLocation(_206E_206B_202D_206C_206A_200B_202C_206E_200B_206B_200F_200E_206D_206D_200F_200D_202E_200E_202B_202C_200C_202C_202A_206F_202A_200F_206F_200C_206A_206C_206C_202E_200F_202B_200C_206D_206E_202A_202B_202C_202E(sequence), stepId), - Type = EIssueType.InvalidExcelRef, - Severity = EIssueSeverity.Error - }; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(13, 3); - defaultInterpolatedStringHandler2.AppendFormatted(label); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1993753271)); - defaultInterpolatedStringHandler2.AppendFormatted(excelSheet); - defaultInterpolatedStringHandler2.AppendLiteral(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(-485019730)); - defaultInterpolatedStringHandler2.AppendFormatted(_202B_206D_206E_206C_200E_202E_206F_200F_202B_202A_206F_206E_206D_202A_202D_202E_202D_202A_200F_206E_200C_202A_206E_206A_202C_206C_206B_206C_200E_206B_202D_202A_206A_206C_206C_202A_206F_206D_206E_202E_202E(excelRef)); - obj2.Description = defaultInterpolatedStringHandler2.ToStringAndClear(); - return obj2; - } - case 2: - num = (_excelFunctions.GetRawDialogueTextByRowId(excelSheet, _206D_200C_200F_202C_206D_202E_206A_206E_206F_202B_200E_206D_206D_206E_200D_206B_202E_202B_206D_206B_202D_200B_202C_200C_206B_202C_200F_206E_200E_206D_200B_200B_206B_206A_202B_200B_206B_202C_206D_202C_202E(excelRef)).HasValue ? 784349210 : 784349209); - break; - case 1: - num = (_excelFunctions.GetRawDialogueText(quest, excelSheet, _202B_206D_206E_206C_200E_202E_206F_200F_202B_202A_206F_206E_206D_202A_202D_202E_202D_202A_200F_206E_200C_202A_206E_206A_202C_206C_206B_206C_200E_206B_202D_202A_206A_206C_206C_202A_206F_206D_206E_202E_202E(excelRef)).HasValue ? 784349210 : 784349214); - break; + ValidationIssue validationIssue = Validate(quest, x.Sequence, x.StepId, dialogueChoice.ExcelSheet, prompt, "Prompt"); + if (validationIssue != null) + { + yield return validationIssue; + } + } + ExcelRef answer = dialogueChoice.Answer; + if (answer != null) + { + ValidationIssue validationIssue2 = Validate(quest, x.Sequence, x.StepId, dialogueChoice.ExcelSheet, answer, "Answer"); + if (validationIssue2 != null) + { + yield return validationIssue2; + } + } } } } - static ExcelRef.EType _200E_200C_206D_206D_202C_200E_200F_206E_202E_200E_202D_206D_200E_202C_206C_200B_200B_206A_202A_200F_200C_202A_202B_206F_200C_206B_206E_206D_206C_206E_202C_206B_202E_200F_206F_200B_206D_200B_206C_206E_202E(ExcelRef P_0) + private ValidationIssue? Validate(Quest quest, QuestSequence sequence, int stepId, string? excelSheet, ExcelRef excelRef, string label) { - return P_0.Type; - } - - static string _202B_206D_206E_206C_200E_202E_206F_200F_202B_202A_206F_206E_206D_202A_202D_202E_202D_202A_200F_206E_200C_202A_206E_206A_202C_206C_206B_206C_200E_206B_202D_202A_206A_206C_206C_202A_206F_206D_206E_202E_202E(ExcelRef P_0) - { - return P_0.AsKey(); - } - - static string _200F_206F_200D_206A_206F_200D_206A_206A_206A_206F_206E_202A_200C_202C_200F_202A_202C_200C_202A_200F_202D_202E_200E_206C_206A_200C_206F_200B_206E_206A_206D_200B_200E_202C_206A_202D_202E_200C_202C_202C_202E(object P_0) - { - return P_0.ToString(); - } - - static byte _206E_206B_202D_206C_206A_200B_202C_206E_200B_206B_200F_200E_206D_206D_200F_200D_202E_200E_202B_202C_200C_202C_202A_206F_202A_200F_206F_200C_206A_206C_206C_202E_200F_202B_200C_206D_206E_202A_202B_202C_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - - static uint _206D_200C_200F_202C_206D_202E_206A_206E_206F_202B_200E_206D_206D_206E_200D_206B_202E_202B_206D_206B_202D_200B_202C_200C_206B_202C_200F_206E_200E_206D_200B_200B_206B_206A_202B_200B_206B_202C_206D_202C_202E(ExcelRef P_0) - { - return P_0.AsRowId(); + if (excelRef.Type == ExcelRef.EType.Key) + { + if (!_excelFunctions.GetRawDialogueText(quest, excelSheet, excelRef.AsKey()).HasValue) + { + return new ValidationIssue + { + PathType = EPathType.Quest, + Id = quest.Id.ToString(), + Location = SchemaValidationHelper.FormatQuestLocation(sequence.Sequence, stepId), + Type = EIssueType.InvalidExcelRef, + Severity = EIssueSeverity.Error, + Description = $"{label} invalid: {excelSheet} → {excelRef.AsKey()}" + }; + } + } + else if (excelRef.Type == ExcelRef.EType.RowId && !_excelFunctions.GetRawDialogueTextByRowId(excelSheet, excelRef.AsRowId()).HasValue) + { + return new ValidationIssue + { + PathType = EPathType.Quest, + Id = quest.Id.ToString(), + Location = SchemaValidationHelper.FormatQuestLocation(sequence.Sequence, stepId), + Type = EIssueType.InvalidExcelRef, + Severity = EIssueSeverity.Error, + Description = $"{label} invalid: {excelSheet} → {excelRef.AsRowId()}" + }; + } + return null; } } diff --git a/Questionable/Questionable.Validation.Validators/FateSchemaValidator.cs b/Questionable/Questionable.Validation.Validators/FateSchemaValidator.cs index f70cda4..2038c47 100644 --- a/Questionable/Questionable.Validation.Validators/FateSchemaValidator.cs +++ b/Questionable/Questionable.Validation.Validators/FateSchemaValidator.cs @@ -1,19 +1,10 @@ -using System.Runtime.CompilerServices; - namespace Questionable.Validation.Validators; internal sealed class FateSchemaValidator : DefinitionSchemaValidator { protected override EPathType PathType => EPathType.Fate; - protected override string MainSchemaUri - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return 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(-1643882609); - } - } + protected override string MainSchemaUri => "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/FatePaths/fatedefinition-v1.json"; public FateSchemaValidator(SchemaRegistrar schemaRegistrar) : base(schemaRegistrar) diff --git a/Questionable/Questionable.Validation.Validators/GameSequenceCoverageValidator.cs b/Questionable/Questionable.Validation.Validators/GameSequenceCoverageValidator.cs index 5c6b800..5731839 100644 --- a/Questionable/Questionable.Validation.Validators/GameSequenceCoverageValidator.cs +++ b/Questionable/Questionable.Validation.Validators/GameSequenceCoverageValidator.cs @@ -1,9 +1,6 @@ using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Linq; -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using Questionable.Data; using Questionable.Model; @@ -13,321 +10,6 @@ namespace Questionable.Validation.Validators; internal sealed class GameSequenceCoverageValidator : IQuestValidator { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__2_0; - - internal int _003CValidate_003Eb__2_0(QuestSequence x) - { - return _202A_200F_206E_206E_206F_202A_202D_200D_200E_202D_202E_206B_206B_202C_206F_206F_200B_206B_200C_202C_200D_202B_206A_202E_206B_202A_200F_206D_202A_200D_202B_206F_202E_200F_200D_206E_206B_206F_200B_206F_202E(x); - } - - static byte _202A_200F_206E_206E_206F_202A_202D_200D_200E_202D_202E_206B_206B_202C_206F_206F_200B_206B_200C_202C_200D_202B_206A_202E_206B_202A_200F_206D_202A_200D_202B_206F_202E_200F_200D_206E_206B_206F_200B_206F_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass2_0 - { - public HashSet authored; - - internal bool _003CValidate_003Eb__1(int seq) - { - return !authored.Contains(seq); - } - } - - [CompilerGenerated] - private sealed class _003CValidate_003Ed__2 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ValidationIssue _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - private Quest quest; - - public Quest _003C_003E3__quest; - - public GameSequenceCoverageValidator _003C_003E4__this; - - private IEnumerator _003C_003E7__wrap1; - - ValidationIssue IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CValidate_003Ed__2(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _206A_200F_206B_202D_206F_202D_206B_202E_200F_206D_200B_206D_202B_206E_206C_206E_206E_206E_206A_206F_202B_200E_206E_202E_200C_202D_200C_200C_206C_202A_200C_202B_200B_200D_200B_202E_202E_200C_206D_202D_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = ((num == -3) ? (-1463378025) : (-1463378026)); - while (true) - { - int num3 = num2; - int num4 = -1463378025; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - default: - continue; - case 2: - num2 = -1463378026; - continue; - case 1: - if (num == 1) - { - num2 = -1463378025; - continue; - } - break; - case 0: - try - { - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003C_003E7__wrap1 = null; - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - try - { - int num = _003C_003E1__state; - GameSequenceCoverageValidator gameSequenceCoverageValidator = _003C_003E4__this; - int num2 = ((num == 0) ? (-1251389121) : (-1251389133)); - _003C_003Ec__DisplayClass2_0 _003C_003Ec__DisplayClass2_ = default(_003C_003Ec__DisplayClass2_0); - QuestId questId = default(QuestId); - while (true) - { - int num3 = num2; - int num4 = -1251389125; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 5: - return false; - case 8: - num2 = ((num == 1) ? (-1251389124) : (-1251389122)); - break; - case 6: - return false; - case 4: - _003C_003E1__state = -1; - _003C_003Ec__DisplayClass2_ = new _003C_003Ec__DisplayClass2_0(); - questId = quest.Id as QuestId; - num2 = (((object)questId != null) ? (-1251389125) : (-1251389123)); - break; - case 3: - num2 = -1251389133; - break; - case 0: - { - _003C_003Ec__DisplayClass2_.authored = ((IEnumerable)_202C_202A_206D_206A_206B_202E_206F_200C_200B_202A_206C_206B_206A_202E_206B_200C_206B_200C_200F_200F_200B_206D_200E_202C_200E_206A_200B_202C_206D_200F_200E_200F_200C_202D_200C_202A_200D_202E_206E_200E_202E(quest.Root)).Select((Func)((QuestSequence x) => _003C_003Ec._202A_200F_206E_206E_206F_202A_202D_200D_200E_202D_202E_206B_206B_202C_206F_206F_200B_206B_200C_202C_200D_202B_206A_202E_206B_202A_200F_206D_202A_200D_202B_206F_202E_200F_200D_206E_206B_206F_200B_206F_202E(x))).ToHashSet(); - IEnumerable enumerable = GameQuestSequences.GetCompletionSequences(gameSequenceCoverageValidator._dataManager, questId).Where(_003C_003Ec__DisplayClass2_._003CValidate_003Eb__1); - _003C_003E7__wrap1 = enumerable.GetEnumerator(); - _003C_003E1__state = -3; - num2 = -1251389134; - break; - } - case 2: - { - int current = _003C_003E7__wrap1.Current; - ValidationIssue obj = new ValidationIssue - { - PathType = EPathType.Quest, - Id = _206F_206C_206E_202A_200F_206D_200B_202E_206C_200C_200B_200F_200C_202B_202B_206D_206B_202C_200D_200F_200F_200D_206B_200B_202E_200C_200D_202C_200F_206D_200D_200E_202C_206E_200B_206B_206E_202A_206B_200C_202E((object)quest.Id), - Location = SchemaValidationHelper.FormatQuestLocation((byte)current, null), - Type = EIssueType.MissingPostInstanceSequence, - Severity = EIssueSeverity.Warning - }; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(76, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1038269044)); - defaultInterpolatedStringHandler.AppendFormatted(current); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1871308311)); - obj.Description = _206B_202C_206E_206A_200F_206E_202A_202C_206F_200D_200C_206E_202E_200B_206B_206E_202B_202D_202E_206E_202B_206C_206B_206F_200E_206F_202B_200E_206B_206C_202C_202A_202E_202A_202D_202D_200C_206D_202E_202D_202E(defaultInterpolatedStringHandler.ToStringAndClear(), 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(1742548975)); - _003C_003E2__current = obj; - _003C_003E1__state = 1; - return true; - } - case 7: - _003C_003E1__state = -3; - num2 = -1251389134; - break; - case 9: - num2 = (_202A_206D_206A_200B_200B_202A_202E_202A_200B_206E_202A_202E_202D_200B_206B_200B_206B_200D_206E_202B_200B_200F_206C_200C_200E_206E_206B_206C_202E_202A_200B_202C_202E_200C_202B_206E_206F_206F_206F_200C_202E((IEnumerator)_003C_003E7__wrap1) ? (-1251389127) : (-1251389126)); - break; - case 1: - _003C_003Em__Finally1(); - _003C_003E7__wrap1 = null; - return false; - } - } - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - int num = ((_003C_003E7__wrap1 == null) ? (-1668424457) : (-1668424458)); - while (true) - { - int num2 = num; - int num3 = -1668424457; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1668424458; - break; - case 1: - _200F_206D_206A_206E_202C_206E_200E_200C_202C_206C_206D_206F_202C_202C_200F_202A_202A_202D_206C_206E_202A_206A_200B_206A_206C_206E_206D_200C_200B_202A_206B_200C_206B_200F_200E_202C_206A_206C_202C_206A_202E((IDisposable)_003C_003E7__wrap1); - num = -1668424457; - break; - case 0: - return; - } - } - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _206E_206F_200C_200C_206F_200C_202E_202A_206E_206D_200D_206F_202D_206E_202E_200F_206C_206B_200F_200E_200B_202B_206F_206F_202D_202D_200C_202C_202A_200F_200D_202D_200B_202C_202E_200D_202D_206C_202C_200F_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? (-272048312) : (-272048307)); - _003CValidate_003Ed__2 _003CValidate_003Ed__ = default(_003CValidate_003Ed__2); - while (true) - { - int num2 = num; - int num3 = -272048308; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _003CValidate_003Ed__.quest = _003C_003E3__quest; - return _003CValidate_003Ed__; - case 2: - _003C_003E1__state = 0; - _003CValidate_003Ed__ = this; - num = -272048308; - break; - case 1: - num = ((_003C_003El__initialThreadId != _206A_200F_206B_202D_206F_202D_206B_202E_200F_206D_200B_206D_202B_206E_206C_206E_206E_206E_206A_206F_202B_200E_206E_202E_200C_202D_200C_200C_206C_202A_200C_202B_200B_200D_200B_202E_202E_200C_206D_202D_202E()) ? (-272048312) : (-272048306)); - break; - case 4: - _003CValidate_003Ed__ = new _003CValidate_003Ed__2(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = -272048308; - break; - case 3: - num = -272048307; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _206A_200F_206B_202D_206F_202D_206B_202E_200F_206D_200B_206D_202B_206E_206C_206E_206E_206E_206A_206F_202B_200E_206E_202E_200C_202D_200C_200C_206C_202A_200C_202B_200B_200D_200B_202E_202E_200C_206D_202D_202E() - { - return Environment.CurrentManagedThreadId; - } - - static List _202C_202A_206D_206A_206B_202E_206F_200C_200B_202A_206C_206B_206A_202E_206B_200C_206B_200C_200F_200F_200B_206D_200E_202C_200E_206A_200B_202C_206D_200F_200E_200F_200C_202D_200C_202A_200D_202E_206E_200E_202E(QuestRoot P_0) - { - return P_0.QuestSequence; - } - - static string _206F_206C_206E_202A_200F_206D_200B_202E_206C_200C_200B_200F_200C_202B_202B_206D_206B_202C_200D_200F_200F_200D_206B_200B_202E_200C_200D_202C_200F_206D_200D_200E_202C_206E_200B_206B_206E_202A_206B_200C_202E(object P_0) - { - return P_0.ToString(); - } - - static string _206B_202C_206E_206A_200F_206E_202A_202C_206F_200D_200C_206E_202E_200B_206B_206E_202B_202D_202E_206E_202B_206C_206B_206F_200E_206F_202B_200E_206B_206C_202C_202A_202E_202A_202D_202D_200C_206D_202E_202D_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static bool _202A_206D_206A_200B_200B_202A_202E_202A_200B_206E_202A_202E_202D_200B_206B_200B_206B_200D_206E_202B_200B_200F_206C_200C_200E_206E_206B_206C_202E_202A_200B_202C_202E_200C_202B_206E_206F_206F_206F_200C_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200F_206D_206A_206E_202C_206E_200E_200C_202C_206C_206D_206F_202C_202C_200F_202A_202A_202D_206C_206E_202A_206A_200B_206A_206C_206E_206D_200C_200B_202A_206B_200C_206B_200F_200E_202C_206A_206C_202C_206A_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static NotSupportedException _206E_206F_200C_200C_206F_200C_202E_202A_206E_206D_200D_206F_202D_206E_202E_200F_206C_206B_200F_200E_200B_202B_206F_206F_202D_202D_200C_202C_202A_200F_200D_202D_200B_202C_202E_200D_202D_206C_202C_200F_202E() - { - return new NotSupportedException(); - } - } - private readonly IDataManager _dataManager; public GameSequenceCoverageValidator(IDataManager dataManager) @@ -335,20 +17,27 @@ internal sealed class GameSequenceCoverageValidator : IQuestValidator _dataManager = dataManager; } - [IteratorStateMachine(typeof(_003CValidate_003Ed__2))] public IEnumerable Validate(Quest quest) { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CValidate_003Ed__2(-2) + if (!(quest.Id is QuestId questId)) { - _003C_003E4__this = this, - _003C_003E3__quest = quest - }; - } - - IEnumerable IQuestValidator.Validate(Quest quest) - { - //ILSpy generated this explicit interface implementation from .override directive in Validate - return this.Validate(quest); + yield break; + } + HashSet authored = ((IEnumerable)quest.Root.QuestSequence).Select((Func)((QuestSequence x) => x.Sequence)).ToHashSet(); + IEnumerable enumerable = from seq in GameQuestSequences.GetCompletionSequences(_dataManager, questId) + where !authored.Contains(seq) + select seq; + foreach (int item in enumerable) + { + yield return new ValidationIssue + { + PathType = EPathType.Quest, + Id = quest.Id.ToString(), + Location = SchemaValidationHelper.FormatQuestLocation((byte)item, null), + Type = EIssueType.MissingPostInstanceSequence, + Severity = EIssueSeverity.Warning, + Description = $"The game uses sequence {item}, but the quest path doesn't define it. Add an empty " + "placeholder sequence (or steps, if the sequence requires player action)." + }; + } } } diff --git a/Questionable/Questionable.Validation.Validators/GatheringSchemaValidator.cs b/Questionable/Questionable.Validation.Validators/GatheringSchemaValidator.cs index 25e9713..9914107 100644 --- a/Questionable/Questionable.Validation.Validators/GatheringSchemaValidator.cs +++ b/Questionable/Questionable.Validation.Validators/GatheringSchemaValidator.cs @@ -1,19 +1,10 @@ -using System.Runtime.CompilerServices; - namespace Questionable.Validation.Validators; internal sealed class GatheringSchemaValidator : DefinitionSchemaValidator { protected override EPathType PathType => EPathType.Gathering; - protected override string MainSchemaUri - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return 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(-945562084); - } - } + protected override string MainSchemaUri => "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/GatheringPaths/gatheringlocation-v1.json"; public GatheringSchemaValidator(SchemaRegistrar schemaRegistrar) : base(schemaRegistrar) diff --git a/Questionable/Questionable.Validation.Validators/JsonSchemaValidator.cs b/Questionable/Questionable.Validation.Validators/JsonSchemaValidator.cs index f244482..b89b1db 100644 --- a/Questionable/Questionable.Validation.Validators/JsonSchemaValidator.cs +++ b/Questionable/Questionable.Validation.Validators/JsonSchemaValidator.cs @@ -1,10 +1,8 @@ using System; using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Globalization; using System.Linq; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text.Json; using System.Text.Json.Nodes; @@ -18,648 +16,6 @@ namespace Questionable.Validation.Validators; internal sealed class JsonSchemaValidator : IQuestValidator { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func<(byte? Sequence, int? Step, string PropertyPath, string Message), (byte? Sequence, int? Step)> _003C_003E9__4_1; - - public static Func<(byte? Sequence, int? Step, string PropertyPath, string Message), string> _003C_003E9__4_2; - - public static Func<(byte? Sequence, int? Step, string PropertyPath, string Message), (byte? Sequence, int? Step)> _003C_003E9__5_1; - - public static Func<(byte? Sequence, int? Step, string PropertyPath, string Message), string> _003C_003E9__5_2; - - public static Func, bool> _003C_003E9__6_5; - - public static Func, string> _003C_003E9__6_6; - - public static Predicate _003C_003E9__6_0; - - public static Predicate _003C_003E9__6_1; - - public static Predicate _003C_003E9__6_2; - - public static Predicate _003C_003E9__6_3; - - public static Predicate _003C_003E9__6_4; - - public static Func _003C_003E9__15_0; - - internal (byte? Sequence, int? Step) _003CValidate_003Eb__4_1((byte? Sequence, int? Step, string PropertyPath, string Message) e) - { - return (Sequence: e.Sequence, Step: e.Step); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal string _003CValidate_003Eb__4_2((byte? Sequence, int? Step, string PropertyPath, string Message) e) - { - int num = (_202E_200E_206E_206D_202B_206E_202D_202E_202A_206D_206F_202A_202B_200F_206F_206C_206D_202B_206F_206B_202B_206F_206D_206C_206E_200D_202B_206D_202E_206E_206F_202D_202E_200B_206B_200C_202E_200D_200E_202C_202E(e.PropertyPath) ? 1407445173 : 1407445172); - while (true) - { - int num2 = num; - int num3 = 1407445173; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return e.Message; - case 1: - return _206A_206C_206A_206D_200D_206B_200B_200C_206F_200B_202D_206A_200F_206D_202C_202C_202D_202D_206E_206A_206A_202A_206B_200F_206E_200C_206E_206A_206F_206C_202B_206C_200E_206E_200E_206B_206F_202B_200D_202E(e.PropertyPath, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1545053118), e.Message); - case 2: - goto IL_006e; - } - continue; - IL_006e: - num = 1407445172; - } - } - - internal (byte? Sequence, int? Step) _003CValidateImmediate_003Eb__5_1((byte? Sequence, int? Step, string PropertyPath, string Message) e) - { - return (Sequence: e.Sequence, Step: e.Step); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal string _003CValidateImmediate_003Eb__5_2((byte? Sequence, int? Step, string PropertyPath, string Message) e) - { - int num = (_202E_200E_206E_206D_202B_206E_202D_202E_202A_206D_206F_202A_202B_200F_206F_206C_206D_202B_206F_206B_202B_206F_206D_206C_206E_200D_202B_206D_202E_206E_206F_202D_202E_200B_206B_200C_202E_200D_200E_202C_202E(e.PropertyPath) ? 1703630483 : 1703630480); - while (true) - { - int num2 = num; - int num3 = 1703630482; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return e.Message; - case 2: - return _206A_206C_206A_206D_200D_206B_200B_200C_206F_200B_202D_206A_200F_206D_202C_202C_202D_202D_206E_206A_206A_202A_206B_200F_206E_200C_206E_206A_206F_206C_202B_206C_200E_206E_200E_206B_206F_202B_200D_202E(e.PropertyPath, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2074665157), e.Message); - case 0: - goto IL_0070; - } - continue; - IL_0070: - num = 1703630480; - } - } - - internal bool _003CSimplifyConditionalRequiredErrors_003Eb__6_5(KeyValuePair x) - { - return x.Value != null; - } - - internal string _003CSimplifyConditionalRequiredErrors_003Eb__6_6(KeyValuePair x) - { - return x.Key; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal bool _003CSimplifyConditionalRequiredErrors_003Eb__6_0(string x) - { - int num = (IsRequiredPropertyError(x, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1518164676)) ? (-2117687274) : (-2117687276)); - while (true) - { - int num2 = num; - int num3 = -2117687275; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -2117687276; - break; - case 0: - return IsRequiredPropertyError(x, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1372080508)); - case 3: - return true; - case 1: - num = (IsRequiredPropertyError(x, 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(1316123041)) ? (-2117687274) : (-2117687275)); - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal bool _003CSimplifyConditionalRequiredErrors_003Eb__6_1(string x) - { - return IsRequiredPropertyError(x, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1980697895)); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal bool _003CSimplifyConditionalRequiredErrors_003Eb__6_2(string x) - { - int num = (IsRequiredPropertyError(x, 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(-332485666)) ? (-362335936) : (-362335935)); - while (true) - { - int num2 = num; - int num3 = -362335936; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0052; - case 0: - return true; - case 1: - return IsRequiredPropertyError(x, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1742329127)); - } - continue; - IL_0052: - num = -362335935; - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal bool _003CSimplifyConditionalRequiredErrors_003Eb__6_3(string x) - { - return IsRequiredPropertyError(x, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-301952118)); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal bool _003CSimplifyConditionalRequiredErrors_003Eb__6_4(string x) - { - return IsRequiredPropertyError(x, 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(1768019597)); - } - - internal bool _003CNoEmptyCollectionModifier_003Eb__15_0(object _, object? val) - { - ICollection collection = val as ICollection; - int num = ((collection == null) ? (-1341388091) : (-1341388092)); - while (true) - { - int num2 = num; - int num3 = -1341388091; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return false; - case 1: - return _206D_206E_206C_202B_206F_200B_200D_200C_206D_206F_200E_206B_206F_202C_206A_202D_206D_206C_200B_202E_200D_200C_206D_200B_202D_206C_200E_206E_206C_200C_200C_200E_202D_202D_200C_200D_202D_206A_206A_200F_202E(collection) > 0; - case 2: - goto IL_0056; - } - continue; - IL_0056: - num = -1341388092; - } - } - - static bool _202E_200E_206E_206D_202B_206E_202D_202E_202A_206D_206F_202A_202B_200F_206F_206C_206D_202B_206F_206B_202B_206F_206D_206C_206E_200D_202B_206D_202E_206E_206F_202D_202E_200B_206B_200C_202E_200D_200E_202C_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static string _206A_206C_206A_206D_200D_206B_200B_200C_206F_200B_202D_206A_200F_206D_202C_202C_202D_202D_206E_206A_206A_202A_206B_200F_206E_200C_206E_206A_206F_206C_202B_206C_200E_206E_200E_206B_206F_202B_200D_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static int _206D_206E_206C_202B_206F_200B_200D_200C_206D_206F_200E_206B_206F_202C_206A_202D_206D_206C_200B_202E_200D_200C_206D_200B_202D_206C_200E_206E_206C_200C_200C_200E_202D_202D_200C_200D_202D_206A_206A_200F_202E(ICollection P_0) - { - return P_0.Count; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass4_0 - { - public Dictionary sequenceMap; - - internal (byte? Sequence, int? Step, string PropertyPath, string Message) _003CValidate_003Eb__0(SchemaValidationHelper.ParsedError e) - { - var (item, item2, rawPath) = ParseInstanceLocation(e.InstancePath, sequenceMap); - return (Sequence: item, Step: item2, PropertyPath: SchemaValidationHelper.FormatPath(rawPath), Message: e.Message); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass8_0 - { - public byte? sequence; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal bool _003CFindStepNode_003Eb__0(JsonObject x) - { - return _202C_200B_206E_202D_200D_202D_202A_200D_200B_200C_200E_206F_200B_200E_202C_202E_200F_206A_206A_200B_200B_200F_202D_206F_206C_206E_202E_200C_200C_200D_200D_206C_202A_206A_202C_206A_202A_206C_206A_206E_202E((JsonNode)x, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(916692153))?.GetValue() == sequence.Value; - } - - static JsonNode _202C_200B_206E_202D_200D_202D_202A_200D_200B_200C_200E_206F_200B_200E_202C_202E_200F_206A_206A_200B_200B_200F_202D_206F_206C_206E_202E_200C_200C_200D_200D_206C_202A_206A_202C_206A_202A_206C_206A_206E_202E(JsonNode P_0, string P_1) - { - return P_0[P_1]; - } - } - - [CompilerGenerated] - private sealed class _003CValidate_003Ed__4 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ValidationIssue _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - public JsonSchemaValidator _003C_003E4__this; - - private Quest quest; - - public Quest _003C_003E3__quest; - - private JsonNode _003CquestNode_003E5__2; - - private IEnumerator> _003C_003E7__wrap2; - - ValidationIssue IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CValidate_003Ed__4(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _200F_206E_200B_202A_206D_200D_206B_200F_200D_200B_200E_202C_202A_206D_200C_206A_206F_206E_200B_200E_200D_200F_200F_206B_202E_206A_202B_202C_200B_200E_200E_202D_206E_206F_202B_200C_206A_202A_200B_206C_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = ((num == -3) ? (-1542116256) : (-1542116255)); - while (true) - { - int num3 = num2; - int num4 = -1542116256; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - default: - continue; - case 2: - num2 = -1542116255; - continue; - case 1: - if (num == 2) - { - num2 = -1542116256; - continue; - } - break; - case 0: - try - { - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003CquestNode_003E5__2 = null; - _003C_003E7__wrap2 = null; - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - try - { - int num = _003C_003E1__state; - JsonSchemaValidator jsonSchemaValidator = _003C_003E4__this; - int num2; - List list2 = default(List); - _003C_003Ec__DisplayClass4_0 _003C_003Ec__DisplayClass4_ = default(_003C_003Ec__DisplayClass4_0); - IGrouping<(byte?, int?), (byte?, int?, string, string)> current = default(IGrouping<(byte?, int?), (byte?, int?, string, string)>); - List list = default(List); - EvaluationResults evaluationResults = default(EvaluationResults); - switch (num) - { - default: - num2 = 1845948745; - goto IL_002c; - case 1: - break; - case 2: - _003C_003E1__state = -3; - num2 = 1845948750; - goto IL_002c; - case 0: - goto IL_028d; - IL_002c: - while (true) - { - int num3 = num2; - int num4 = 1845948743; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 3: - _003C_003E2__current = new ValidationIssue - { - PathType = EPathType.Quest, - Id = _202A_200D_200F_200C_200D_202D_206F_202A_200D_206A_202B_206A_206D_200C_206B_206D_206B_200B_200F_200E_202E_206B_206B_202C_200D_200C_200C_206E_206B_206B_202D_206E_200E_200D_206D_202A_200D_200C_202C_206E_202E((object)quest.Id), - Location = null, - Type = EIssueType.InvalidJsonSchema, - Severity = EIssueSeverity.Error, - Description = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(298877451) - }; - _003C_003E1__state = 1; - return true; - case 12: - { - List<(byte?, int?, string, string)> source = list2.Select(_003C_003Ec__DisplayClass4_._003CValidate_003Eb__0).ToList(); - _003C_003E7__wrap2 = (from e in source - group e by (Sequence: e.Sequence, Step: e.Step)).GetEnumerator(); - _003C_003E1__state = -3; - num2 = 1845948750; - break; - } - case 10: - return false; - case 1: - goto end_IL_000f; - case 14: - return false; - case 11: - num2 = 1845948745; - break; - case 5: - return false; - case 16: - goto end_IL_002c; - case 8: - goto IL_01cc; - case 15: - goto IL_0220; - case 9: - goto IL_0265; - case 0: - goto IL_028d; - case 13: - jsonSchemaValidator._questSchema = jsonSchemaValidator._schemaRegistrar.Get(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(-1720677466)); - num2 = 1845948751; - break; - case 4: - _003C_003E2__current = new ValidationIssue - { - PathType = EPathType.Quest, - Id = _202A_200D_200F_200C_200D_202D_206F_202A_200D_206A_202B_206A_206D_200C_206B_206D_206B_200B_200F_200E_202E_206B_206B_202C_200D_200C_200C_206E_206B_206B_202D_206E_200E_200D_206D_202A_200D_200C_202C_206E_202E((object)quest.Id), - Location = SchemaValidationHelper.FormatQuestLocation(current.Key.Item1, current.Key.Item2), - Type = EIssueType.InvalidJsonSchema, - Severity = EIssueSeverity.Error, - Description = _202E_202C_202C_206B_206B_200F_202C_200D_202A_202A_200B_202D_206A_206F_202B_206C_206E_200E_206E_200B_206F_206B_200E_200F_202D_206D_202B_206F_206F_202B_200C_200F_200C_206A_206D_206E_200B_206D_202D_206D_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-976057447), (IEnumerable)list) - }; - _003C_003E1__state = 2; - return true; - case 2: - goto IL_0384; - case 7: - goto IL_0414; - case 6: - _003C_003Em__Finally1(); - _003C_003E7__wrap2 = null; - return false; - } - continue; - IL_0414: - num2 = ((jsonSchemaValidator._questSchema != null) ? 1845948751 : 1845948746); - continue; - IL_01cc: - JsonSchema? questSchema = jsonSchemaValidator._questSchema; - JsonElement jsonElement = JsonSerializer.SerializeToElement(_003CquestNode_003E5__2); - EvaluationOptions evaluationOptions = _206E_202D_206F_206C_200F_200B_200C_206C_206D_206F_202E_200E_206F_206F_202B_206C_202D_206A_202B_202A_200F_200C_200B_200B_206E_200F_200E_206F_206A_202C_206D_202D_200F_206C_206C_202B_206F_206B_206C_206B_202E(); - _206B_206A_200F_202E_206D_200B_206E_200B_202E_202C_200D_200E_206B_202B_202B_206A_200D_200F_206C_206A_200E_202C_202A_206E_206B_206B_206C_200B_206F_200E_200D_206C_202A_200D_200F_206F_200B_202E_200C_206E_202E(evaluationOptions, _206D_200C_202A_202A_206A_206F_206D_206D_202B_200F_206B_206A_202D_202C_200D_206B_206D_202A_206A_200F_206A_206C_206C_200C_206C_200E_206E_200E_200C_202E_200D_200B_206E_206A_200C_206B_206F_206B_202B_200D_202E()); - _206C_202B_200B_206B_202B_202D_202C_200D_206D_202D_206A_200D_200C_206C_202A_200B_202E_206F_200B_206A_206D_200B_202D_202D_206D_200F_206E_206F_206E_200D_202B_200B_206F_200C_200F_206D_202E_200F_200B_200D_202E(evaluationOptions, OutputFormat.Hierarchical); - evaluationResults = _206E_202C_206F_200E_200D_206D_206F_206A_202C_206D_202C_206E_206C_202A_202A_206E_206C_202E_202A_202A_206E_202A_206B_200E_202B_200F_202B_200F_200D_202A_200B_206D_206E_206C_206C_200F_202D_206C_202D_206E_202E(questSchema, jsonElement, evaluationOptions); - num2 = ((!_206D_206C_202C_206A_202D_202C_206E_200F_206E_206E_206F_206D_206B_206A_202D_206D_200B_202D_200C_202C_206C_206B_200D_206D_202D_202C_202C_206F_200D_202B_202B_206D_206A_206D_206C_202B_200D_202D_202B_206F_202E(evaluationResults)) ? 1845948744 : 1845948738); - continue; - IL_0220: - _003C_003Ec__DisplayClass4_.sequenceMap = BuildSequenceMap(_003CquestNode_003E5__2); - list2 = new List(); - SchemaValidationHelper.CollectLeafErrors(evaluationResults, list2); - num2 = ((list2.Count != 0) ? 1845948747 : 1845948740); - continue; - IL_0384: - current = _003C_003E7__wrap2.Current; - list = current.Select<(byte?, int?, string, string), string>([MethodImpl(MethodImplOptions.NoInlining)] ((byte? Sequence, int? Step, string PropertyPath, string Message) e) => - { - int num6 = (_003C_003Ec._202E_200E_206E_206D_202B_206E_202D_202E_202A_206D_206F_202A_202B_200F_206F_206C_206D_202B_206F_206B_202B_206F_206D_206C_206E_200D_202B_206D_202E_206E_206F_202D_202E_200B_206B_200C_202E_200D_200E_202C_202E(e.PropertyPath) ? 1407445173 : 1407445172); - while (true) - { - int num7 = num6; - int num8 = 1407445173; - int num9 = num7; - switch ((num9 | num8) - (num9 & num8)) - { - case 0: - return e.Message; - case 1: - return _003C_003Ec._206A_206C_206A_206D_200D_206B_200B_200C_206F_200B_202D_206A_200F_206D_202C_202C_202D_202D_206E_206A_206A_202A_206B_200F_206E_200C_206E_206A_206F_206C_202B_206C_200E_206E_200E_206B_206F_202B_200D_202E(e.PropertyPath, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1545053118), e.Message); - case 2: - goto IL_006e; - } - continue; - IL_006e: - num6 = 1407445172; - } - }).Distinct().ToList(); - SimplifyConditionalRequiredErrors(list, FindStepNode(_003CquestNode_003E5__2, current.Key.Item1, current.Key.Item2)); - num2 = ((list.Count == 0) ? 1845948750 : 1845948739); - continue; - IL_0265: - num2 = (_206A_202C_200B_202D_200E_206B_206A_200F_202E_200E_200D_202A_202B_202C_206A_200D_206B_202D_200C_200C_206C_206E_206C_200D_202C_206B_202C_200D_206B_206E_206C_200B_206D_206F_206C_206F_202B_206E_206C_202B_202E((IEnumerator)_003C_003E7__wrap2) ? 1845948741 : 1845948737); - continue; - end_IL_002c: - break; - } - goto case 2; - IL_028d: - _003C_003E1__state = -1; - _003C_003Ec__DisplayClass4_ = new _003C_003Ec__DisplayClass4_0(); - num2 = (jsonSchemaValidator._questNodes.TryGetValue(quest.Id, out _003CquestNode_003E5__2) ? 1845948736 : 1845948749); - goto IL_002c; - end_IL_000f: - break; - } - _003C_003E1__state = -1; - return false; - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - int num = ((_003C_003E7__wrap2 == null) ? (-232982781) : (-232982784)); - while (true) - { - int num2 = num; - int num3 = -232982783; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return; - case 1: - _202E_202A_206F_200D_200C_202A_202E_200C_206F_200E_206F_202E_202A_200F_202E_200D_202E_202A_202B_202A_206B_200E_202D_200E_202E_206D_200E_200C_206B_200E_206C_202C_206B_200B_202C_206A_206D_206F_202D_202E_202E((IDisposable)_003C_003E7__wrap2); - num = -232982781; - break; - case 0: - num = -232982784; - break; - } - } - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _202D_206F_206F_200F_202E_200D_200B_202A_202D_206B_206E_206F_200B_206C_202B_200C_200F_202B_200E_202B_202A_206A_200F_200C_202A_206B_200D_202A_206D_206A_200B_200F_206B_200C_206A_202C_202B_200F_206C_206A_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? (-1444097586) : (-1444097592)); - _003CValidate_003Ed__4 _003CValidate_003Ed__ = default(_003CValidate_003Ed__4); - while (true) - { - int num2 = num; - int num3 = -1444097588; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _003CValidate_003Ed__.quest = _003C_003E3__quest; - return _003CValidate_003Ed__; - case 4: - num = ((_003C_003El__initialThreadId != _200F_206E_200B_202A_206D_200D_206B_200F_200D_200B_200E_202C_202A_206D_200C_206A_206F_206E_200B_200E_200D_200F_200F_206B_202E_206A_202B_202C_200B_200E_200E_202D_206E_206F_202B_200C_206A_202A_200B_206C_202E()) ? (-1444097586) : (-1444097585)); - break; - case 3: - _003C_003E1__state = 0; - _003CValidate_003Ed__ = this; - num = -1444097587; - break; - case 0: - num = -1444097592; - break; - case 2: - _003CValidate_003Ed__ = new _003CValidate_003Ed__4(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = -1444097587; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _200F_206E_200B_202A_206D_200D_206B_200F_200D_200B_200E_202C_202A_206D_200C_206A_206F_206E_200B_200E_200D_200F_200F_206B_202E_206A_202B_202C_200B_200E_200E_202D_206E_206F_202B_200C_206A_202A_200B_206C_202E() - { - return Environment.CurrentManagedThreadId; - } - - static EvaluationOptions _206E_202D_206F_206C_200F_200B_200C_206C_206D_206F_202E_200E_206F_206F_202B_206C_202D_206A_202B_202A_200F_200C_200B_200B_206E_200F_200E_206F_206A_202C_206D_202D_200F_206C_206C_202B_206F_206B_206C_206B_202E() - { - return new EvaluationOptions(); - } - - static CultureInfo _206D_200C_202A_202A_206A_206F_206D_206D_202B_200F_206B_206A_202D_202C_200D_206B_206D_202A_206A_200F_206A_206C_206C_200C_206C_200E_206E_200E_200C_202E_200D_200B_206E_206A_200C_206B_206F_206B_202B_200D_202E() - { - return CultureInfo.InvariantCulture; - } - - static void _206B_206A_200F_202E_206D_200B_206E_200B_202E_202C_200D_200E_206B_202B_202B_206A_200D_200F_206C_206A_200E_202C_202A_206E_206B_206B_206C_200B_206F_200E_200D_206C_202A_200D_200F_206F_200B_202E_200C_206E_202E(EvaluationOptions P_0, CultureInfo P_1) - { - P_0.Culture = P_1; - } - - static void _206C_202B_200B_206B_202B_202D_202C_200D_206D_202D_206A_200D_200C_206C_202A_200B_202E_206F_200B_206A_206D_200B_202D_202D_206D_200F_206E_206F_206E_200D_202B_200B_206F_200C_200F_206D_202E_200F_200B_200D_202E(EvaluationOptions P_0, OutputFormat P_1) - { - P_0.OutputFormat = P_1; - } - - static EvaluationResults _206E_202C_206F_200E_200D_206D_206F_206A_202C_206D_202C_206E_206C_202A_202A_206E_206C_202E_202A_202A_206E_202A_206B_200E_202B_200F_202B_200F_200D_202A_200B_206D_206E_206C_206C_200F_202D_206C_202D_206E_202E(JsonSchema P_0, JsonElement P_1, EvaluationOptions P_2) - { - return P_0.Evaluate(P_1, P_2); - } - - static bool _206D_206C_202C_206A_202D_202C_206E_200F_206E_206E_206F_206D_206B_206A_202D_206D_200B_202D_200C_202C_206C_206B_200D_206D_202D_202C_202C_206F_200D_202B_202B_206D_206A_206D_206C_202B_200D_202D_202B_206F_202E(EvaluationResults P_0) - { - return P_0.IsValid; - } - - static string _202A_200D_200F_200C_200D_202D_206F_202A_200D_206A_202B_206A_206D_200C_206B_206D_206B_200B_200F_200E_202E_206B_206B_202C_200D_200C_200C_206E_206B_206B_202D_206E_200E_200D_206D_202A_200D_200C_202C_206E_202E(object P_0) - { - return P_0.ToString(); - } - - static string _202E_202C_202C_206B_206B_200F_202C_200D_202A_202A_200B_202D_206A_206F_202B_206C_206E_200E_206E_200B_206F_206B_200E_200F_202D_206D_202B_206F_206F_202B_200C_200F_200C_206A_206D_206E_200B_206D_202D_206D_202E(string P_0, IEnumerable P_1) - { - return string.Join(P_0, P_1); - } - - static bool _206A_202C_200B_202D_200E_206B_206A_200F_202E_200E_200D_202A_202B_202C_206A_200D_206B_202D_200C_200C_206C_206E_206C_200D_202C_206B_202C_200D_206B_206E_206C_200B_206D_206F_206C_206F_202B_206E_206C_202B_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202E_202A_206F_200D_200C_202A_202E_200C_206F_200E_206F_202E_202A_200F_202E_200D_202E_202A_202B_202A_206B_200E_202D_200E_202E_206D_200E_200C_206B_200E_206C_202C_206B_200B_202C_206A_206D_206F_202D_202E_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static NotSupportedException _202D_206F_206F_200F_202E_200D_200B_202A_202D_206B_206E_206F_200B_206C_202B_200C_200F_202B_200E_202B_202A_206A_200F_200C_202A_206B_200D_202A_206D_206A_200B_200F_206B_200C_206A_202C_202B_200F_206C_206A_202E() - { - return new NotSupportedException(); - } - } - private readonly SchemaRegistrar _schemaRegistrar; private readonly Dictionary _questNodes = new Dictionary(); @@ -668,412 +24,192 @@ internal sealed class JsonSchemaValidator : IQuestValidator private const string QuestSchemaUri = "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/QuestPaths/quest-v1.json"; - private static readonly JsonSerializerOptions ValidationSerializationOptions; + private static readonly JsonSerializerOptions ValidationSerializationOptions = new JsonSerializerOptions + { + DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingDefault, + IncludeFields = false, + WriteIndented = false, + TypeInfoResolver = new DefaultJsonTypeInfoResolver + { + Modifiers = { (Action)NoEmptyCollectionModifier } + } + }; public JsonSchemaValidator(SchemaRegistrar schemaRegistrar) { _schemaRegistrar = schemaRegistrar; } - [IteratorStateMachine(typeof(_003CValidate_003Ed__4))] public IEnumerable Validate(Quest quest) { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CValidate_003Ed__4(-2) + if (!_questNodes.TryGetValue(quest.Id, out JsonNode questNode)) { - _003C_003E4__this = this, - _003C_003E3__quest = quest - }; - } - - IEnumerable IQuestValidator.Validate(Quest quest) - { - //ILSpy generated this explicit interface implementation from .override directive in Validate - return this.Validate(quest); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - public List ValidateImmediate(ElementId elementId, JsonNode questNode) - { - int num = ((_questSchema != null) ? (-1183405652) : (-1183405653)); - Dictionary sequenceMap = default(Dictionary); - List list2 = default(List); - EvaluationResults evaluationResults = default(EvaluationResults); - IGrouping<(byte?, int?), (byte?, int?, string, string)> current = default(IGrouping<(byte?, int?), (byte?, int?, string, string)>); - List list3 = default(List); - while (true) + yield break; + } + if (_questSchema == null) { - int num2 = num; - int num3 = -1183405651; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + _questSchema = _schemaRegistrar.Get("https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/QuestPaths/quest-v1.json"); + } + EvaluationResults evaluationResults = _questSchema.Evaluate(JsonSerializer.SerializeToElement(questNode), new EvaluationOptions + { + Culture = CultureInfo.InvariantCulture, + OutputFormat = OutputFormat.Hierarchical + }); + if (evaluationResults.IsValid) + { + yield break; + } + Dictionary sequenceMap = BuildSequenceMap(questNode); + List list = new List(); + SchemaValidationHelper.CollectLeafErrors(evaluationResults, list); + if (list.Count == 0) + { + yield return new ValidationIssue { - case 5: - sequenceMap = BuildSequenceMap(questNode); - list2 = new List(); - SchemaValidationHelper.CollectLeafErrors(evaluationResults, list2); - num = ((list2.Count != 0) ? (-1183405649) : (-1183405655)); - break; - case 3: - return new List(); - case 0: - num = -1183405653; - break; - case 4: + PathType = EPathType.Quest, + Id = quest.Id.ToString(), + Location = null, + Type = EIssueType.InvalidJsonSchema, + Severity = EIssueSeverity.Error, + Description = "JSON schema validation failed" + }; + yield break; + } + List<(byte?, int?, string, string)> source = list.Select(delegate(SchemaValidationHelper.ParsedError e) + { + var (item, item2, rawPath) = ParseInstanceLocation(e.InstancePath, sequenceMap); + return (Sequence: item, Step: item2, PropertyPath: SchemaValidationHelper.FormatPath(rawPath), Message: e.Message); + }).ToList(); + foreach (IGrouping<(byte?, int?), (byte?, int?, string, string)> item3 in from e in source + group e by (Sequence: e.Sequence, Step: e.Step)) + { + List list2 = item3.Select<(byte?, int?, string, string), string>(((byte? Sequence, int? Step, string PropertyPath, string Message) e) => (!string.IsNullOrEmpty(e.PropertyPath)) ? (e.PropertyPath + ": " + e.Message) : e.Message).Distinct().ToList(); + SimplifyConditionalRequiredErrors(list2, FindStepNode(questNode, item3.Key.Item1, item3.Key.Item2)); + if (list2.Count != 0) { - int num9 = 1; - List list4 = new List(num9); - CollectionsMarshal.SetCount(list4, num9); - CollectionsMarshal.AsSpan(list4)[0] = new ValidationIssue + yield return new ValidationIssue { PathType = EPathType.Quest, - Id = _202A_206B_206D_200C_206A_206D_206A_202A_206F_200B_206F_200D_200E_202B_200F_202E_200D_206B_200F_206F_206D_200D_200D_200D_206F_200C_206F_206F_200D_206D_206B_206D_202B_206D_206D_200F_202C_206F_206C_202C_202E((object)elementId), - Location = null, + Id = quest.Id.ToString(), + Location = SchemaValidationHelper.FormatQuestLocation(item3.Key.Item1, item3.Key.Item2), Type = EIssueType.InvalidJsonSchema, Severity = EIssueSeverity.Error, - Description = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(955249200) + Description = string.Join("\n", list2) }; - return list4; - } - case 1: - { - JsonSchema? questSchema = _questSchema; - JsonElement jsonElement = JsonSerializer.SerializeToElement(questNode); - EvaluationOptions evaluationOptions = _206D_206E_202B_200E_206A_202A_206B_206E_206F_202E_202D_206A_200D_202C_206B_200B_202A_202A_206F_206C_202D_200C_202C_202C_206D_200F_202D_206C_202D_202E_202C_200B_202C_202A_200B_206C_202C_202D_200B_200F_202E(); - _206E_200B_202B_200E_206A_206A_200C_202B_206C_202B_200B_202E_202E_200D_202E_202D_200B_202C_200D_200E_206A_200D_202D_206B_200C_206D_200E_206B_200E_200E_202E_202E_202D_202E_200D_206B_206E_206F_206D_202C_202E(evaluationOptions, _202D_200C_206F_206F_200E_206B_206F_202E_206A_202D_206F_200F_206D_206A_202C_200E_202D_200D_206E_202D_206B_206D_200D_202E_202E_206F_200C_202B_200E_200F_206F_206D_206A_202C_200E_206E_200F_202A_200B_200D_202E()); - _206A_202D_200F_200F_202A_202B_202B_200E_200D_202D_206D_202C_202C_206B_206F_200F_202C_202E_202A_202B_202D_200E_206C_200C_206B_202D_206A_200D_206C_200F_200F_202E_200B_200D_202E_202D_202C_200F_206C_202C_202E(evaluationOptions, OutputFormat.Hierarchical); - evaluationResults = _202B_206E_200D_200B_206D_206E_206B_206E_206C_202E_206C_200D_206F_206A_206F_202B_206A_200B_206A_202C_200B_200D_202E_206B_202C_200D_202E_202D_206B_200C_200D_206E_206F_202C_206B_206E_202C_200D_206B_200C_202E(questSchema, jsonElement, evaluationOptions); - num = ((!_200F_200B_206C_200D_202B_206F_200C_206A_202A_206C_206D_206F_200F_200F_202B_202C_206E_206A_202B_202C_202D_200E_202D_206F_200F_206E_202C_202E_206E_200F_200F_206B_200D_206D_206A_200F_202D_200C_206D_200D_202E(evaluationResults)) ? (-1183405656) : (-1183405650)); - break; - } - case 6: - _questSchema = _schemaRegistrar.Get(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(751310152)); - num = -1183405652; - break; - case 2: - { - List list = new List(); - IEnumerator> enumerator = (from e in list2.Select(delegate(SchemaValidationHelper.ParsedError e) - { - var (item, item2, rawPath) = ParseInstanceLocation(e.InstancePath, sequenceMap); - return (Sequence: item, Step: item2, PropertyPath: SchemaValidationHelper.FormatPath(rawPath), Message: e.Message); - }).ToList() - group e by (Sequence: e.Sequence, Step: e.Step)).GetEnumerator(); - try - { - num = -1597210039; - while (true) - { - int num5 = num; - num3 = -1597210038; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 0: - num = -1597210039; - break; - case 1: - current = enumerator.Current; - list3 = current.Select<(byte?, int?, string, string), string>([MethodImpl(MethodImplOptions.NoInlining)] ((byte? Sequence, int? Step, string PropertyPath, string Message) e) => - { - int num10 = (_003C_003Ec._202E_200E_206E_206D_202B_206E_202D_202E_202A_206D_206F_202A_202B_200F_206F_206C_206D_202B_206F_206B_202B_206F_206D_206C_206E_200D_202B_206D_202E_206E_206F_202D_202E_200B_206B_200C_202E_200D_200E_202C_202E(e.PropertyPath) ? 1703630483 : 1703630480); - while (true) - { - int num11 = num10; - int num12 = 1703630482; - int num13 = num11; - int num14 = num13 + num12; - int num15 = num13 & num12; - switch (num14 - (num15 + num15)) - { - case 1: - return e.Message; - case 2: - return _003C_003Ec._206A_206C_206A_206D_200D_206B_200B_200C_206F_200B_202D_206A_200F_206D_202C_202C_202D_202D_206E_206A_206A_202A_206B_200F_206E_200C_206E_206A_206F_206C_202B_206C_200E_206E_200E_206B_206F_202B_200D_202E(e.PropertyPath, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2074665157), e.Message); - case 0: - goto IL_0070; - } - continue; - IL_0070: - num10 = 1703630480; - } - }).Distinct().ToList(); - num = ((list3.Count == 0) ? (-1597210039) : (-1597210034)); - break; - case 4: - list.Add(new ValidationIssue - { - PathType = EPathType.Quest, - Id = _202A_206B_206D_200C_206A_206D_206A_202A_206F_200B_206F_200D_200E_202B_200F_202E_200D_206B_200F_206F_206D_200D_200D_200D_206F_200C_206F_206F_200D_206D_206B_206D_202B_206D_206D_200F_202C_206F_206C_202C_202E((object)elementId), - Location = SchemaValidationHelper.FormatQuestLocation(current.Key.Item1, current.Key.Item2), - Type = EIssueType.InvalidJsonSchema, - Severity = EIssueSeverity.Error, - Description = _200E_200C_200C_202E_200B_200D_202E_202E_206A_202E_202D_206A_200C_206A_206D_202C_202C_206C_202C_206A_200C_200D_202E_206F_200F_206D_202A_206A_202E_200D_200D_200E_200E_206A_202C_202C_206C_202A_200E_202D_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(564459472), (IEnumerable)list3) - }); - num = -1597210039; - break; - case 3: - num = (_200C_206A_202B_206B_206F_206C_206A_206A_200D_202C_200D_202D_202B_206B_200B_206B_206E_206A_206B_200C_206A_206D_202B_200F_206E_202E_206C_206E_206B_202B_200D_206A_200F_206D_202E_202C_202A_200B_206C_206A_202E((IEnumerator)enumerator) ? (-1597210037) : (-1597210040)); - break; - case 2: - return list; - } - } - } - finally - { - num = ((enumerator == null) ? (-994961268) : (-994961265)); - while (true) - { - int num8 = num; - num3 = -994961266; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -994961265; - break; - case 1: - _200E_206B_200C_202C_206A_200B_202B_202E_200C_206E_202D_202C_200D_200B_206D_200F_202A_200F_206E_206C_200F_200D_200E_200B_202D_202E_200C_202C_200F_206C_206F_202D_202A_202B_200C_206A_206B_200B_202A_200C_202E((IDisposable)enumerator); - num = -994961268; - break; - case 2: - goto end_IL_033d; - } - continue; - end_IL_033d: - break; - } - } - } } } } - [MethodImpl(MethodImplOptions.NoInlining)] + public List ValidateImmediate(ElementId elementId, JsonNode questNode) + { + if (_questSchema == null) + { + _questSchema = _schemaRegistrar.Get("https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/QuestPaths/quest-v1.json"); + } + EvaluationResults evaluationResults = _questSchema.Evaluate(JsonSerializer.SerializeToElement(questNode), new EvaluationOptions + { + Culture = CultureInfo.InvariantCulture, + OutputFormat = OutputFormat.Hierarchical + }); + if (evaluationResults.IsValid) + { + return new List(); + } + Dictionary sequenceMap = BuildSequenceMap(questNode); + List list = new List(); + SchemaValidationHelper.CollectLeafErrors(evaluationResults, list); + if (list.Count == 0) + { + int num = 1; + List list2 = new List(num); + CollectionsMarshal.SetCount(list2, num); + CollectionsMarshal.AsSpan(list2)[0] = new ValidationIssue + { + PathType = EPathType.Quest, + Id = elementId.ToString(), + Location = null, + Type = EIssueType.InvalidJsonSchema, + Severity = EIssueSeverity.Error, + Description = "JSON schema validation failed" + }; + return list2; + } + List list3 = new List(); + foreach (IGrouping<(byte?, int?), (byte?, int?, string, string)> item3 in from e in list.Select(delegate(SchemaValidationHelper.ParsedError e) + { + var (item, item2, rawPath) = ParseInstanceLocation(e.InstancePath, sequenceMap); + return (Sequence: item, Step: item2, PropertyPath: SchemaValidationHelper.FormatPath(rawPath), Message: e.Message); + }).ToList() + group e by (Sequence: e.Sequence, Step: e.Step)) + { + List list4 = item3.Select<(byte?, int?, string, string), string>(((byte? Sequence, int? Step, string PropertyPath, string Message) e) => (!string.IsNullOrEmpty(e.PropertyPath)) ? (e.PropertyPath + ": " + e.Message) : e.Message).Distinct().ToList(); + if (list4.Count != 0) + { + list3.Add(new ValidationIssue + { + PathType = EPathType.Quest, + Id = elementId.ToString(), + Location = SchemaValidationHelper.FormatQuestLocation(item3.Key.Item1, item3.Key.Item2), + Type = EIssueType.InvalidJsonSchema, + Severity = EIssueSeverity.Error, + Description = string.Join("\n", list4) + }); + } + } + return list3; + } + private static void SimplifyConditionalRequiredErrors(List lines, JsonObject? step) { - int num = ((step != null) ? 335150382 : 335150381); - while (true) + if (step == null) { - int num2 = num; - int num3 = 335150383; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0049; - case 2: - return; - case 1: - { - IEnumerator enumerator = (from x in step - where x.Value != null - select x.Key).GetEnumerator(); - try - { - num = -365179251; - while (true) - { - int num7 = num; - num3 = -365179251; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = -365179251; - break; - case 0: - num = (_200C_206A_202B_206B_206F_206C_206A_206A_200D_202C_200D_202D_202B_206B_200B_206B_206E_206A_206B_200C_206A_206D_202B_200F_206E_202E_206C_206E_206B_202B_200D_206A_200F_206D_202E_202C_202A_200B_206C_206A_202E((IEnumerator)enumerator) ? (-365179252) : (-365179249)); - break; - case 1: - { - string property = enumerator.Current; - lines.RemoveAll((string x) => IsRequiredPropertyError(x, property)); - num = -365179251; - break; - } - case 2: - goto end_IL_00b5; - } - continue; - end_IL_00b5: - break; - } - } - finally - { - num = ((enumerator == null) ? 1444188635 : 1444188634); - while (true) - { - int num8 = num; - num3 = 1444188635; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1444188634; - break; - case 0: - goto end_IL_0161; - case 1: - _200E_206B_200C_202C_206A_200B_202B_202E_200C_206E_202D_202C_200D_200B_206D_200F_202A_200F_206E_206C_200F_200D_200E_200B_202D_202E_200C_202C_200F_206C_206F_202D_202A_202B_200C_206A_206B_200B_202A_200C_202E((IDisposable)enumerator); - num = 1444188635; - break; - } - continue; - end_IL_0161: - break; - } - } - num = ((!_202A_202C_206D_200C_202E_202E_202D_206B_206C_200B_206C_200C_200D_206E_200E_206B_202A_200E_202B_200F_206F_202C_202B_206D_206A_200E_202C_206E_206B_202D_206F_206B_200B_202D_206D_202E_202A_202D_200D_206F_202E(_206B_206C_206F_200F_202E_206C_200F_202A_206A_206E_202A_202C_206C_206D_200C_202C_206C_206B_202D_206C_200B_206A_202A_206B_202A_202C_206F_206E_206F_206E_202E_200D_202D_206D_206C_200E_200E_202D_206C_200C_202E((JsonNode)step, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-805703500))?.GetValue(), 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(562282663))) ? (-710204795) : (-710204793)); - while (true) - { - int num9 = num; - num3 = -710204797; - num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 1: - { - bool num12 = lines.RemoveAll([MethodImpl(MethodImplOptions.NoInlining)] (string x) => IsRequiredPropertyError(x, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-301952118))) > 0; - bool flag = lines.RemoveAll([MethodImpl(MethodImplOptions.NoInlining)] (string x) => IsRequiredPropertyError(x, 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(1768019597))) > 0; - num = ((!(num12 && flag)) ? (-710204799) : (-710204794)); - break; - } - case 4: - lines.RemoveAll([MethodImpl(MethodImplOptions.NoInlining)] (string x) => - { - int num13 = (IsRequiredPropertyError(x, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1518164676)) ? (-2117687274) : (-2117687276)); - while (true) - { - int num14 = num13; - int num15 = -2117687275; - int num16 = num14; - switch ((num16 | num15) - (num16 & num15)) - { - case 2: - num13 = -2117687276; - break; - case 0: - return IsRequiredPropertyError(x, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1372080508)); - case 3: - return true; - case 1: - num13 = (IsRequiredPropertyError(x, 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(1316123041)) ? (-2117687274) : (-2117687275)); - break; - } - } - }); - return; - case 3: - lines.RemoveAll([MethodImpl(MethodImplOptions.NoInlining)] (string x) => - { - int num13 = (IsRequiredPropertyError(x, 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(-332485666)) ? (-362335936) : (-362335935)); - while (true) - { - int num14 = num13; - int num15 = -362335936; - int num16 = num14; - int num17 = num16 + num15; - int num18 = num16 & num15; - switch (num17 - (num18 + num18)) - { - case 2: - goto IL_0052; - case 0: - return true; - case 1: - return IsRequiredPropertyError(x, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1742329127)); - } - continue; - IL_0052: - num13 = -362335935; - } - }); - return; - case 0: - num = -710204793; - break; - case 6: - { - string obj = _206B_206C_206F_200F_202E_206C_200F_202A_206A_206E_202A_202C_206C_206D_200C_202C_206C_206B_202D_206C_200B_206A_202A_206B_202A_202C_206F_206E_206F_206E_202E_200D_202D_206D_206C_200E_200E_202D_206C_200C_202E((JsonNode)step, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1518164676))?.GetValue(); - if (_202A_202C_206D_200C_202E_202E_202D_206B_206C_200B_206C_200C_200D_206E_200E_206B_202A_200E_202B_200F_206F_202C_202B_206D_206A_200E_202C_206E_206B_202D_206F_206B_200B_202D_206D_202E_202A_202D_200D_206F_202E(obj, 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(168860559))) - { - lines.RemoveAll([MethodImpl(MethodImplOptions.NoInlining)] (string x) => IsRequiredPropertyError(x, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1980697895))); - } - num = ((!_206F_206D_206F_202C_200F_206D_206D_202B_202A_206A_202C_200F_206E_206C_206E_206A_206F_202A_202B_202C_202C_200C_200B_200C_202D_200B_200E_202C_206D_202A_206C_206E_206A_206E_200C_200D_206A_202D_206A_202B_202E(obj, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-531322598))) ? (-710204798) : (-710204800)); - break; - } - case 5: - lines.Add(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(-126206019)); - num = -710204799; - break; - case 2: - return; - } - } - } - } - continue; - IL_0049: - num = 335150381; + return; + } + foreach (string property in from x in step + where x.Value != null + select x.Key) + { + lines.RemoveAll((string x) => IsRequiredPropertyError(x, property)); + } + if (step["InteractionType"]?.GetValue() != "Combat") + { + lines.RemoveAll((string x) => IsRequiredPropertyError(x, "EnemySpawnType") || IsRequiredPropertyError(x, "KillEnemyDataIds") || IsRequiredPropertyError(x, "ComplexCombatData")); + return; + } + string obj = step["EnemySpawnType"]?.GetValue(); + if (obj != "AfterItemUse") + { + lines.RemoveAll((string x) => IsRequiredPropertyError(x, "ItemId")); + } + if (obj == "FinishCombatIfAny") + { + lines.RemoveAll((string x) => IsRequiredPropertyError(x, "KillEnemyDataIds") || IsRequiredPropertyError(x, "ComplexCombatData")); + return; + } + bool num = lines.RemoveAll((string x) => IsRequiredPropertyError(x, "KillEnemyDataIds")) > 0; + bool flag = lines.RemoveAll((string x) => IsRequiredPropertyError(x, "ComplexCombatData")) > 0; + if (num && flag) + { + lines.Add("One combat target definition is required: KillEnemyDataIds or ComplexCombatData"); } } - [MethodImpl(MethodImplOptions.NoInlining)] private static bool IsRequiredPropertyError(string message, string property) { - return _202D_200D_200E_200F_200D_200F_202D_202B_202D_206D_206E_200E_200D_202D_202B_200C_202A_202E_200F_202A_200D_202D_206B_202E_206A_202E_202B_200C_200C_202D_206A_206E_202B_200B_206D_202D_202D_206B_202C_206F_202E(message, _202C_202D_200E_202D_202C_200D_202A_206E_202C_200C_200C_200F_200F_206A_200B_206C_202E_202B_202C_202D_200E_206B_206C_206A_206B_200E_206E_206A_206B_202C_202E_202A_206B_202A_202C_200F_202E_200F_200C_206C_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(-1903574135), property, 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(2102967249)), StringComparison.Ordinal); + return message.Contains("Required properties [\"" + property + "\"]", StringComparison.Ordinal); } - [MethodImpl(MethodImplOptions.NoInlining)] private static JsonObject? FindStepNode(JsonNode questNode, byte? sequence, int? step) { - int num = ((!sequence.HasValue) ? 1010029165 : 1010029158); - JsonArray jsonArray = default(JsonArray); - JsonArray jsonArray2 = default(JsonArray); - while (true) + if (!sequence.HasValue || !step.HasValue || !(questNode["QuestSequence"] is JsonArray source)) { - int num2 = num; - int num3 = 1010029166; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - return _206D_206F_202C_202D_202D_202E_202D_200C_200B_202E_202B_206A_200B_206B_206C_202B_202C_206C_202C_206D_202B_200D_200B_200C_200B_206F_200F_206A_202D_202C_202A_202B_206C_202D_206B_202D_206E_206C_200C_200D_202E((JsonNode)jsonArray, step.Value) as JsonObject; - case 5: - num = ((step.Value < 0) ? 1010029162 : 1010029161); - break; - case 3: - return null; - case 4: - return null; - case 0: - jsonArray2 = _206B_206C_206F_200F_202E_206C_200F_202A_206A_206E_202A_202C_206C_206D_200C_202C_206C_206B_202D_206C_200B_206A_202A_206B_202A_202C_206F_206E_206F_206E_202E_200D_202D_206D_206C_200E_200E_202D_206C_200C_202E(questNode, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1629153329)) as JsonArray; - num = ((jsonArray2 != null) ? 1010029167 : 1010029165); - break; - case 1: - jsonArray = ((JsonSchemaValidator)(object)jsonArray2.OfType().FirstOrDefault([MethodImpl(MethodImplOptions.NoInlining)] (JsonObject x) => _003C_003Ec__DisplayClass8_0._202C_200B_206E_202D_200D_202D_202A_200D_200B_200C_200E_206F_200B_200E_202C_202E_200F_206A_206A_200B_200B_200F_202D_206F_206C_206E_202E_200C_200C_200D_200D_206C_202A_206A_202C_206A_202A_206C_206A_206E_202E((JsonNode)x, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(916692153))?.GetValue() == sequence.Value))?._206B_206A_206B_200C_206B_206A_200D_206F_206A_200F_206F_200F_206A_202C_200B_200E_206D_202E_206E_202D_200B_202C_206B_202B_202C_200E_202B_206F_206F_206B_206B_202E_200C_202A_200C_202B_200B_202C_200F_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(789270299)) as JsonArray; - num = ((jsonArray == null) ? 1010029162 : 1010029163); - break; - case 2: - num = 1010029158; - break; - case 8: - num = ((!step.HasValue) ? 1010029165 : 1010029166); - break; - case 7: - num = ((step.Value < _202D_200F_200F_202A_200C_200E_206C_200E_200C_206C_206C_200D_200C_200F_206D_202B_206A_200E_202B_206E_206D_200E_200C_206C_206D_206F_200D_202B_200E_202A_206F_206C_200D_200C_202A_200E_202E_206F_200F_202E_202E(jsonArray)) ? 1010029160 : 1010029162); - break; - } + return null; } + if (!(source.OfType().FirstOrDefault((JsonObject x) => x["Sequence"]?.GetValue() == sequence.Value)?["Steps"] is JsonArray jsonArray) || step.Value < 0 || step.Value >= jsonArray.Count) + { + return null; + } + return jsonArray[step.Value] as JsonObject; } public void Enqueue(ElementId elementId, JsonNode questNode) @@ -1086,300 +222,59 @@ internal sealed class JsonSchemaValidator : IQuestValidator _questNodes.Clear(); } - void IQuestValidator.Reset() - { - //ILSpy generated this explicit interface implementation from .override directive in Reset - this.Reset(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] private static Dictionary BuildSequenceMap(JsonNode questNode) { Dictionary dictionary = new Dictionary(); - JsonArray jsonArray = _206B_206C_206F_200F_202E_206C_200F_202A_206A_206E_202A_202C_206C_206D_200C_202C_206C_206B_202D_206C_200B_206A_202A_206B_202A_202C_206F_206E_206F_206E_202E_200D_202D_206D_206C_200E_200E_202D_206C_200C_202E(questNode, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1629153329)) as JsonArray; - int num = ((jsonArray != null) ? (-2072185714) : (-2072185727)); - JsonNode jsonNode = default(JsonNode); - int num7 = default(int); - while (true) + if (!(questNode["QuestSequence"] is JsonArray jsonArray)) { - int num2 = num; - int num3 = -2072185719; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return dictionary; + } + for (int i = 0; i < jsonArray.Count; i++) + { + JsonNode jsonNode = jsonArray[i]?["Sequence"]; + if (jsonNode != null && jsonNode.GetValueKind() == JsonValueKind.Number) { - case 6: - num = -2072185727; - break; - case 4: - jsonNode = ((JsonSchemaValidator)(object)_206D_206F_202C_202D_202D_202E_202D_200C_200B_202E_202B_206A_200B_206B_206C_202B_202C_206C_202C_206D_202B_200D_200B_200C_200B_206F_200F_206A_202D_202C_202A_202B_206C_202D_206B_202D_206E_206C_200C_200D_202E((JsonNode)jsonArray, num7))?._206B_206A_206B_200C_206B_206A_200D_206F_206A_200F_206F_200F_206A_202C_200B_200E_206D_202E_206E_202D_200B_202C_206B_202B_202C_200E_202B_206F_206F_206B_206B_202E_200C_202A_200C_202B_200B_202C_200F_202E(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(1807900671)); - num = ((jsonNode == null) ? (-2072185719) : (-2072185717)); - break; - case 8: - return dictionary; - case 3: - num = ((num7 < _202D_200F_200F_202A_200C_200E_206C_200E_200C_206C_206C_200D_200C_200F_206D_202B_206A_200E_202B_206E_206D_200E_200C_206C_206D_206F_200D_202B_200E_202A_206F_206C_200D_200C_202A_200E_202E_206F_200F_202E_202E(jsonArray)) ? (-2072185715) : (-2072185716)); - break; - case 1: - dictionary[num7] = (byte)jsonNode.GetValue(); - num = -2072185719; - break; - case 2: - num = ((_202E_200F_202A_206F_200D_202A_202C_202A_206D_206E_206F_200C_206E_206B_206B_200C_200B_202E_202B_202B_202E_202B_200F_206A_200E_206B_200E_202D_206F_202C_206F_200D_202A_202E_206C_202A_206C_206A_206A_206C_202E(jsonNode) != JsonValueKind.Number) ? (-2072185719) : (-2072185720)); - break; - case 5: - return dictionary; - case 0: - { - int num8 = num7; - num3 = 1; - num4 = num8; - num7 = (num4 | num3) + (num4 & num3); - num = -2072185718; - break; - } - case 7: - num7 = 0; - num = -2072185718; - break; + dictionary[i] = (byte)jsonNode.GetValue(); } } + return dictionary; } - [MethodImpl(MethodImplOptions.NoInlining)] private static (byte? Sequence, int? Step, string Path) ParseInstanceLocation(string instancePath, Dictionary sequenceMap) { - int num = ((!_202E_206D_206F_202B_202E_202B_206F_200B_206D_202C_202A_200D_200C_206E_206B_202B_206E_202D_206E_202B_200D_202A_206D_202E_202C_206C_206B_200E_206C_202A_206D_206D_202E_200C_200E_206E_200B_200C_206B_200F_202E(instancePath)) ? 1791406059 : 1791406061); - string[] array2 = default(string[]); - int num6 = default(int); - byte? item2 = default(byte?); - int? item3 = default(int?); - int num18 = default(int); - byte value = default(byte); - int result = default(int); - int result2 = default(int); - while (true) + if (string.IsNullOrEmpty(instancePath)) { - int num2 = num; - int num3 = 1791406063; - int num4 = num2; - string text; - byte? obj; - string item; - int num20; - int num21; - int num22; - int num23; - switch ((num4 | num3) - (num4 & num3)) + return (Sequence: null, Step: null, Path: string.Empty); + } + string[] array = instancePath.Split('/'); + byte? item = null; + int? item2 = null; + int num = 1; + for (int i = 1; i < array.Length - 1; i++) + { + if (!(array[i] != "QuestSequence") && int.TryParse(array[i + 1], out var result)) { - case 6: - num = (_202A_202C_206D_200C_202E_202E_202D_206B_206C_200B_206C_200C_200D_206E_200E_206B_202A_200E_202B_200F_206F_202C_202B_206D_206A_200E_202C_206E_206B_202D_206F_206B_200B_202D_206D_202E_202A_202D_200D_206F_202E(array2[num6], global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1629153329)) ? 1791406054 : 1791406062); - break; - case 4: - array2 = _206A_206E_200C_202E_202D_202A_200D_206C_200D_206A_200E_206A_200F_206E_206F_206A_202A_206E_202C_200B_200D_200E_206A_202B_200F_200E_202C_200E_200E_206E_200B_206C_206C_202D_202D_206F_202A_206A_206F_200D_202E(instancePath, '/', StringSplitOptions.None); - item2 = null; - item3 = null; - num18 = 1; - num6 = 1; - num = 1791406052; - break; - case 12: - { - string text2 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1680133376); - string[] array4 = array2; - int num17 = num18; - int num19 = array2.Length; - num3 = num18; - num4 = num19; - text = _202B_202A_202A_200E_206E_202B_206C_200E_206D_200E_200F_200D_202A_202A_202C_200D_202C_200E_200E_200C_206D_200C_206E_200E_202E_206F_200B_206E_200C_202E_206B_206E_200D_200D_200E_206A_200B_202C_200C_206D_202E(text2, array4, num17, ~(~num4 + num3)); - goto IL_00fe; - } - case 3: - obj = null; - goto IL_0192; - case 11: - { - int num15 = num6; - int num16 = array2.Length; - num3 = 1; - num4 = num16; - num = ((num15 < ~(~num4 + num3)) ? 1791406057 : 1791406050); - break; - } - case 9: - { - int num12 = num6; - num3 = 1; - num4 = num12; - int num13 = num4 ^ num3; - int num14 = num4 & num3; - num6 = num13 + (num14 + num14); - num = 1791406052; - break; - } - case 15: - text = string.Empty; - goto IL_00fe; - case 8: - obj = value; - goto IL_0192; - case 10: - { - item3 = result; - int num25 = num6; - num3 = 4; - num4 = num25; - int num26 = num4 ^ num3; - int num27 = num4 & num3; - num18 = num26 + (num27 + num27); - num = 1791406050; - break; - } - case 1: - { - string[] array5 = array2; - int num24 = num6; - num3 = 1; - num4 = num24; - num = ((!int.TryParse(array5[(num4 | num3) + (num4 & num3)], out result2)) ? 1791406054 : 1791406063); - break; - } - case 13: - num = ((num18 < array2.Length) ? 1791406051 : 1791406048); - break; - case 0: - num = (sequenceMap.TryGetValue(result2, out value) ? 1791406055 : 1791406060); - break; - case 2: - return (Sequence: null, Step: null, Path: string.Empty); - case 5: - num = 1791406061; - break; - case 7: - { - string[] array3 = array2; - int num9 = num6; - num3 = 2; - num4 = num9; - int num10 = num4 ^ num3; - int num11 = num4 & num3; - num = ((!_206F_206D_206F_202C_200F_206D_206D_202B_202A_206A_202C_200F_206E_206C_206E_206A_206F_202A_202B_202C_202C_200C_200B_200C_202D_200B_200E_202C_206D_202A_206C_206E_206A_206E_200C_200D_206A_202D_206A_202B_202E(array3[num10 + (num11 + num11)], 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(-487116266))) ? 1791406050 : 1791406049); - break; - } - case 14: + item = (sequenceMap.TryGetValue(result, out var value) ? new byte?(value) : ((byte?)null)); + num = i + 2; + if (i + 3 < array.Length && array[i + 2] == "Steps" && int.TryParse(array[i + 3], out var result2)) { - string[] array = array2; - int num5 = num6; - num3 = 3; - num4 = num5; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - num = ((!int.TryParse(array[num7 + (num8 + num8)], out result)) ? 1791406050 : 1791406053); - break; + item2 = result2; + num = i + 4; } - IL_00fe: - item = text; - return (Sequence: item2, Step: item3, Path: item); - IL_0192: - item2 = obj; - num20 = num6; - num3 = 2; - num4 = num20; - num18 = (num4 | num3) + (num4 & num3); - num21 = num6; - num3 = 3; - num4 = num21; - num22 = num4 ^ num3; - num23 = num4 & num3; - num = ((num22 + (num23 + num23) >= array2.Length) ? 1791406050 : 1791406056); break; } } + string item3 = ((num < array.Length) ? string.Join("/", array, num, array.Length - num) : string.Empty); + return (Sequence: item, Step: item2, Path: item3); } private static void NoEmptyCollectionModifier(JsonTypeInfo typeInfo) { - IEnumerator enumerator = _200C_200D_202A_206E_206E_202E_202C_200E_200C_206B_202C_206D_200D_202E_200B_206E_206C_200C_202E_202E_206D_200B_200D_206D_206E_200E_200F_200F_202E_206B_200E_200E_200D_206F_206E_202A_200F_200E_200B_200F_202E(typeInfo).GetEnumerator(); - try + foreach (JsonPropertyInfo property in typeInfo.Properties) { - int num = 470311870; - JsonPropertyInfo current = default(JsonPropertyInfo); - while (true) + if (typeof(ICollection).IsAssignableFrom(property.PropertyType)) { - int num2 = num; - int num3 = 470311870; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 470311870; - break; - case 3: - _206D_202B_206C_202B_200E_206F_200E_202A_202C_200C_202E_200F_206F_206E_206B_202A_202D_206A_206C_202B_206A_206D_200C_202A_206B_206E_206F_200B_200E_206A_206B_200C_200E_202C_200C_206B_202B_200D_202D_206F_202E(current, (Func)delegate(object _, object? val) - { - ICollection collection = val as ICollection; - int num8 = ((collection == null) ? (-1341388091) : (-1341388092)); - while (true) - { - int num9 = num8; - int num10 = -1341388091; - int num11 = num9; - int num12 = num11 + num10; - int num13 = num11 & num10; - switch (num12 - (num13 + num13)) - { - case 0: - return false; - case 1: - return _003C_003Ec._206D_206E_206C_202B_206F_200B_200D_200C_206D_206F_200E_206B_206F_202C_206A_202D_206D_206C_200B_202E_200D_200C_206D_200B_202D_206C_200E_206E_206C_200C_200C_200E_202D_202D_200C_200D_202D_206A_206A_200F_202E(collection) > 0; - case 2: - goto IL_0056; - } - continue; - IL_0056: - num8 = -1341388092; - } - }); - num = 470311870; - break; - case 0: - num = (_200C_206A_202B_206B_206F_206C_206A_206A_200D_202C_200D_202D_202B_206B_200B_206B_206E_206A_206B_200C_206A_206D_202B_200F_206E_202E_206C_206E_206B_202B_200D_206A_200F_206D_202E_202C_202A_200B_206C_206A_202E((IEnumerator)enumerator) ? 470311866 : 470311871); - break; - case 4: - current = enumerator.Current; - num = ((!_200D_206D_202B_202B_206B_202D_200F_200E_206F_200E_200F_200F_206C_200B_206E_200E_202E_206F_202B_200D_200F_206C_206E_200B_200E_202B_206A_200F_200F_202A_200E_202D_202E_200C_200F_206F_200D_200F_202E_202A_202E(_200F_200F_206E_200C_206C_206D_206D_206B_206B_206B_206B_202A_200F_200C_200D_200B_200B_200E_200E_200F_200F_202B_206E_202E_202C_202C_206D_200E_202C_206A_200D_206B_200C_200F_202D_202A_202C_206D_200E_202B_202E(typeof(ICollection).TypeHandle), _200E_206E_200F_202D_200D_200D_200B_202C_206F_200E_200B_200C_206D_206C_202B_200F_200D_202C_202B_200C_206E_200C_200F_202C_202B_202B_202C_200D_200F_206C_202C_202D_200D_200F_202C_206D_200F_206E_200F_206D_202E(current))) ? 470311870 : 470311869); - break; - case 1: - return; - } - } - } - finally - { - int num = ((enumerator == null) ? 1235521984 : 1235521987); - while (true) - { - int num7 = num; - int num3 = 1235521986; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1235521987; - break; - case 2: - goto end_IL_0100; - case 1: - _200E_206B_200C_202C_206A_200B_202B_202E_200C_206E_202D_202C_200D_200B_206D_200F_202A_200F_206E_206C_200F_200D_200E_200B_202D_202E_200C_202C_200F_206C_206F_202D_202A_202B_200C_206A_206B_200B_202A_200C_202E((IDisposable)enumerator); - num = 1235521984; - break; - } - continue; - end_IL_0100: - break; + property.ShouldSerialize = (object _, object? val) => val is ICollection collection && collection.Count > 0; } } } @@ -1389,297 +284,19 @@ internal sealed class JsonSchemaValidator : IQuestValidator return ValidateFromQuestRoot(quest.Id, quest.Root); } - [MethodImpl(MethodImplOptions.NoInlining)] public IEnumerable ValidateFromQuestRoot(ElementId elementId, QuestRoot questRoot) { - JsonObject jsonObject = JsonSerializer.SerializeToNode(questRoot, ValidationSerializationOptions) as JsonObject; - int num = ((jsonObject != null) ? (-662863464) : (-662863463)); - while (true) + if (!(JsonSerializer.SerializeToNode(questRoot, ValidationSerializationOptions) is JsonObject jsonObject)) { - int num2 = num; - int num3 = -662863464; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_005d; - case 1: - return Array.Empty(); - case 0: - { - JsonObject jsonObject2 = _206B_206A_206B_202A_206C_206A_206E_200B_202E_206C_202A_206C_200C_202B_202E_206E_200E_206D_200E_206D_202D_200C_202D_202C_206D_200E_206F_206F_206B_202B_202E_202E_206F_202E_206F_200D_206B_200D_202E_200F_202E((JsonNodeOptions?)null); - _200D_202C_202E_206E_206B_200F_200E_202C_200C_206C_206F_206B_206E_206C_206D_206D_202D_206A_206F_200C_202A_200C_202E_202A_200D_206E_200E_200F_206B_200E_200E_200C_200F_202B_206F_200D_206D_206D_200C_206E_202E((JsonNode)jsonObject2, 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(-978893896), _202D_200D_200B_206D_200E_206E_206F_200D_202C_206C_202C_202C_200E_200D_200D_200C_202C_202D_206E_202A_206C_206B_202D_200F_202A_206B_206A_202E_206D_202A_206D_206E_206E_200F_200B_206E_200C_200E_200C_202A_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2134999905))); - JsonObject jsonObject3 = jsonObject2; - IEnumerator> enumerator = _206A_200E_200B_202C_202A_200E_202A_202E_200E_206A_206E_200B_200C_206D_200F_202D_200D_200F_202B_206D_200E_206A_206B_202B_200D_206B_202E_202A_202B_202B_206D_200B_206D_206F_202D_206D_206C_200E_206F_206E_202E(jsonObject); - try - { - num = -387282071; - while (true) - { - int num7 = num; - num3 = -387282070; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -387282071; - break; - case 2: - var (text2, jsonNode2) = (KeyValuePair)(ref enumerator.Current); - _200D_202C_202E_206E_206B_200F_200E_202C_200C_206C_206F_206B_206E_206C_206D_206D_202D_206A_206F_200C_202A_200C_202E_202A_200D_206E_200E_200F_206B_200E_200E_200C_200F_202B_206F_200D_206D_206D_200C_206E_202E((JsonNode)jsonObject3, text2, (jsonNode2 != null) ? _206C_200D_200F_200C_202D_200E_200F_206B_200E_206A_200C_200B_206D_200E_202C_206B_206E_206A_206D_206C_206D_200D_202D_202A_206E_202E_206F_202B_202D_200C_202D_206F_200C_202E_200D_206B_200F_202A_200D_200F_202E(jsonNode2) : null); - num = -387282071; - break; - case 3: - num = (_200C_206A_202B_206B_206F_206C_206A_206A_200D_202C_200D_202D_202B_206B_200B_206B_206E_206A_206B_200C_206A_206D_202B_200F_206E_202E_206C_206E_206B_202B_200D_206A_200F_206D_202E_202C_202A_200B_206C_206A_202E((IEnumerator)enumerator) ? (-387282072) : (-387282069)); - break; - case 1: - goto end_IL_00b0; - } - continue; - end_IL_00b0: - break; - } - } - finally - { - num = ((enumerator == null) ? 482344416 : 482344419); - while (true) - { - int num8 = num; - num3 = 482344417; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 482344419; - break; - case 2: - _200E_206B_200C_202C_206A_200B_202B_202E_200C_206E_202D_202C_200D_200B_206D_200F_202A_200F_206E_206C_200F_200D_200E_200B_202D_202E_200C_202C_200F_206C_206F_202D_202A_202B_200C_206A_206B_200B_202A_200C_202E((IDisposable)enumerator); - num = 482344416; - break; - case 1: - goto end_IL_0175; - } - continue; - end_IL_0175: - break; - } - } - return ValidateImmediate(elementId, jsonObject3); - } - } - continue; - IL_005d: - num = -662863463; + return Array.Empty(); } - } - - static JsonSchemaValidator() - { - JsonSerializerOptions jsonSerializerOptions = _202E_200E_206C_206A_206B_206D_202C_200B_206C_200E_200F_206A_200D_206F_206D_202C_202E_206A_206A_200F_200D_206F_200F_202E_206E_202B_206F_202A_206A_200E_202C_206D_200B_206A_200C_202D_202D_200B_206D_202E(); - _206D_200B_206E_200D_206D_202A_202D_206E_206A_206F_200F_200D_200F_200B_200E_200E_200E_206B_202A_200E_202B_202B_200F_200C_206B_202B_206C_202C_206F_200F_206A_200E_202C_206A_200C_206F_200E_200B_206C_206E_202E(jsonSerializerOptions, JsonIgnoreCondition.WhenWritingDefault); - _202B_200E_206B_206D_200E_200C_200F_206D_200E_206C_200D_206E_206E_206D_206E_206A_202C_202C_206B_202A_202A_206E_206F_202E_202E_206E_206B_202D_206B_206B_200F_202A_206A_206E_202A_200D_202C_206E_200C_202C_202E(jsonSerializerOptions, false); - _206E_202C_206B_202A_200D_206C_202C_206C_206E_200C_200E_206F_202C_206A_206F_206E_202A_202E_206B_206C_200E_206A_206A_206C_202E_206D_206F_202E_206B_206A_202D_200B_202C_202E_206C_206B_202A_202A_202C_202E(jsonSerializerOptions, false); - DefaultJsonTypeInfoResolver defaultJsonTypeInfoResolver = _200D_202A_202A_202C_202D_200D_202B_206E_202E_202C_206E_200C_200F_200F_202E_206F_200C_200D_202E_206A_202D_202A_206E_206B_202D_200F_206C_202D_206C_200E_200C_202C_206B_200F_202A_202E_202D_200B_202B_202E(); - _200E_206C_206F_202E_200D_206A_206C_206E_200B_206B_202E_206A_200B_200B_202E_200B_206E_206A_206E_206F_200B_200E_202D_206D_206F_206E_200C_206F_202E_206A_206B_202A_202D_202D_206B_200C_200B_206F_202A_206D_202E(defaultJsonTypeInfoResolver).Add(NoEmptyCollectionModifier); - _202A_206A_206D_206A_200E_200B_202C_202B_200C_202B_206B_200E_202C_202E_206B_200D_202D_202A_202E_200B_200B_200E_202E_206C_202A_200E_200D_206D_202C_202D_206A_200D_206D_206A_202A_206D_202B_206D_202E_206F_202E(jsonSerializerOptions, (IJsonTypeInfoResolver)defaultJsonTypeInfoResolver); - ValidationSerializationOptions = jsonSerializerOptions; - } - - static EvaluationOptions _206D_206E_202B_200E_206A_202A_206B_206E_206F_202E_202D_206A_200D_202C_206B_200B_202A_202A_206F_206C_202D_200C_202C_202C_206D_200F_202D_206C_202D_202E_202C_200B_202C_202A_200B_206C_202C_202D_200B_200F_202E() - { - return new EvaluationOptions(); - } - - static CultureInfo _202D_200C_206F_206F_200E_206B_206F_202E_206A_202D_206F_200F_206D_206A_202C_200E_202D_200D_206E_202D_206B_206D_200D_202E_202E_206F_200C_202B_200E_200F_206F_206D_206A_202C_200E_206E_200F_202A_200B_200D_202E() - { - return CultureInfo.InvariantCulture; - } - - static void _206E_200B_202B_200E_206A_206A_200C_202B_206C_202B_200B_202E_202E_200D_202E_202D_200B_202C_200D_200E_206A_200D_202D_206B_200C_206D_200E_206B_200E_200E_202E_202E_202D_202E_200D_206B_206E_206F_206D_202C_202E(EvaluationOptions P_0, CultureInfo P_1) - { - P_0.Culture = P_1; - } - - static void _206A_202D_200F_200F_202A_202B_202B_200E_200D_202D_206D_202C_202C_206B_206F_200F_202C_202E_202A_202B_202D_200E_206C_200C_206B_202D_206A_200D_206C_200F_200F_202E_200B_200D_202E_202D_202C_200F_206C_202C_202E(EvaluationOptions P_0, OutputFormat P_1) - { - P_0.OutputFormat = P_1; - } - - static EvaluationResults _202B_206E_200D_200B_206D_206E_206B_206E_206C_202E_206C_200D_206F_206A_206F_202B_206A_200B_206A_202C_200B_200D_202E_206B_202C_200D_202E_202D_206B_200C_200D_206E_206F_202C_206B_206E_202C_200D_206B_200C_202E(JsonSchema P_0, JsonElement P_1, EvaluationOptions P_2) - { - return P_0.Evaluate(P_1, P_2); - } - - static bool _200F_200B_206C_200D_202B_206F_200C_206A_202A_206C_206D_206F_200F_200F_202B_202C_206E_206A_202B_202C_202D_200E_202D_206F_200F_206E_202C_202E_206E_200F_200F_206B_200D_206D_206A_200F_202D_200C_206D_200D_202E(EvaluationResults P_0) - { - return P_0.IsValid; - } - - static string _202A_206B_206D_200C_206A_206D_206A_202A_206F_200B_206F_200D_200E_202B_200F_202E_200D_206B_200F_206F_206D_200D_200D_200D_206F_200C_206F_206F_200D_206D_206B_206D_202B_206D_206D_200F_202C_206F_206C_202C_202E(object P_0) - { - return P_0.ToString(); - } - - static string _200E_200C_200C_202E_200B_200D_202E_202E_206A_202E_202D_206A_200C_206A_206D_202C_202C_206C_202C_206A_200C_200D_202E_206F_200F_206D_202A_206A_202E_200D_200D_200E_200E_206A_202C_202C_206C_202A_200E_202D_202E(string P_0, IEnumerable P_1) - { - return string.Join(P_0, P_1); - } - - static bool _200C_206A_202B_206B_206F_206C_206A_206A_200D_202C_200D_202D_202B_206B_200B_206B_206E_206A_206B_200C_206A_206D_202B_200F_206E_202E_206C_206E_206B_202B_200D_206A_200F_206D_202E_202C_202A_200B_206C_206A_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200E_206B_200C_202C_206A_200B_202B_202E_200C_206E_202D_202C_200D_200B_206D_200F_202A_200F_206E_206C_200F_200D_200E_200B_202D_202E_200C_202C_200F_206C_206F_202D_202A_202B_200C_206A_206B_200B_202A_200C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static JsonNode _206B_206C_206F_200F_202E_206C_200F_202A_206A_206E_202A_202C_206C_206D_200C_202C_206C_206B_202D_206C_200B_206A_202A_206B_202A_202C_206F_206E_206F_206E_202E_200D_202D_206D_206C_200E_200E_202D_206C_200C_202E(JsonNode P_0, string P_1) - { - return P_0[P_1]; - } - - static bool _202A_202C_206D_200C_202E_202E_202D_206B_206C_200B_206C_200C_200D_206E_200E_206B_202A_200E_202B_200F_206F_202C_202B_206D_206A_200E_202C_206E_206B_202D_206F_206B_200B_202D_206D_202E_202A_202D_200D_206F_202E(string P_0, string P_1) - { - return P_0 != P_1; - } - - static bool _206F_206D_206F_202C_200F_206D_206D_202B_202A_206A_202C_200F_206E_206C_206E_206A_206F_202A_202B_202C_202C_200C_200B_200C_202D_200B_200E_202C_206D_202A_206C_206E_206A_206E_200C_200D_206A_202D_206A_202B_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - - static string _202C_202D_200E_202D_202C_200D_202A_206E_202C_200C_200C_200F_200F_206A_200B_206C_202E_202B_202C_202D_200E_206B_206C_206A_206B_200E_206E_206A_206B_202C_202E_202A_206B_202A_202C_200F_202E_200F_200C_206C_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static bool _202D_200D_200E_200F_200D_200F_202D_202B_202D_206D_206E_200E_200D_202D_202B_200C_202A_202E_200F_202A_200D_202D_206B_202E_206A_202E_202B_200C_200C_202D_206A_206E_202B_200B_206D_202D_202D_206B_202C_206F_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.Contains(P_1, P_2); - } - - JsonNode _206B_206A_206B_200C_206B_206A_200D_206F_206A_200F_206F_200F_206A_202C_200B_200E_206D_202E_206E_202D_200B_202C_206B_202B_202C_200E_202B_206F_206F_206B_206B_202E_200C_202A_200C_202B_200B_202C_200F_202E(string P_0) - { - return ((JsonNode)this)[P_0]; - } - - static int _202D_200F_200F_202A_200C_200E_206C_200E_200C_206C_206C_200D_200C_200F_206D_202B_206A_200E_202B_206E_206D_200E_200C_206C_206D_206F_200D_202B_200E_202A_206F_206C_200D_200C_202A_200E_202E_206F_200F_202E_202E(JsonArray P_0) - { - return P_0.Count; - } - - static JsonNode _206D_206F_202C_202D_202D_202E_202D_200C_200B_202E_202B_206A_200B_206B_206C_202B_202C_206C_202C_206D_202B_200D_200B_200C_200B_206F_200F_206A_202D_202C_202A_202B_206C_202D_206B_202D_206E_206C_200C_200D_202E(JsonNode P_0, int P_1) - { - return P_0[P_1]; - } - - static JsonValueKind _202E_200F_202A_206F_200D_202A_202C_202A_206D_206E_206F_200C_206E_206B_206B_200C_200B_202E_202B_202B_202E_202B_200F_206A_200E_206B_200E_202D_206F_202C_206F_200D_202A_202E_206C_202A_206C_206A_206A_206C_202E(JsonNode P_0) - { - return P_0.GetValueKind(); - } - - static bool _202E_206D_206F_202B_202E_202B_206F_200B_206D_202C_202A_200D_200C_206E_206B_202B_206E_202D_206E_202B_200D_202A_206D_202E_202C_206C_206B_200E_206C_202A_206D_206D_202E_200C_200E_206E_200B_200C_206B_200F_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static string[] _206A_206E_200C_202E_202D_202A_200D_206C_200D_206A_200E_206A_200F_206E_206F_206A_202A_206E_202C_200B_200D_200E_206A_202B_200F_200E_202C_200E_200E_206E_200B_206C_206C_202D_202D_206F_202A_206A_206F_200D_202E(string P_0, char P_1, StringSplitOptions P_2) - { - return P_0.Split(P_1, P_2); - } - - static string _202B_202A_202A_200E_206E_202B_206C_200E_206D_200E_200F_200D_202A_202A_202C_200D_202C_200E_200E_200C_206D_200C_206E_200E_202E_206F_200B_206E_200C_202E_206B_206E_200D_200D_200E_206A_200B_202C_200C_206D_202E(string P_0, string[] P_1, int P_2, int P_3) - { - return string.Join(P_0, P_1, P_2, P_3); - } - - static IList _200C_200D_202A_206E_206E_202E_202C_200E_200C_206B_202C_206D_200D_202E_200B_206E_206C_200C_202E_202E_206D_200B_200D_206D_206E_200E_200F_200F_202E_206B_200E_200E_200D_206F_206E_202A_200F_200E_200B_200F_202E(JsonTypeInfo P_0) - { - return P_0.Properties; - } - - static Type _200F_200F_206E_200C_206C_206D_206D_206B_206B_206B_206B_202A_200F_200C_200D_200B_200B_200E_200E_200F_200F_202B_206E_202E_202C_202C_206D_200E_202C_206A_200D_206B_200C_200F_202D_202A_202C_206D_200E_202B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static Type _200E_206E_200F_202D_200D_200D_200B_202C_206F_200E_200B_200C_206D_206C_202B_200F_200D_202C_202B_200C_206E_200C_200F_202C_202B_202B_202C_200D_200F_206C_202C_202D_200D_200F_202C_206D_200F_206E_200F_206D_202E(JsonPropertyInfo P_0) - { - return P_0.PropertyType; - } - - static bool _200D_206D_202B_202B_206B_202D_200F_200E_206F_200E_200F_200F_206C_200B_206E_200E_202E_206F_202B_200D_200F_206C_206E_200B_200E_202B_206A_200F_200F_202A_200E_202D_202E_200C_200F_206F_200D_200F_202E_202A_202E(Type P_0, Type P_1) - { - return P_0.IsAssignableFrom(P_1); - } - - static void _206D_202B_206C_202B_200E_206F_200E_202A_202C_200C_202E_200F_206F_206E_206B_202A_202D_206A_206C_202B_206A_206D_200C_202A_206B_206E_206F_200B_200E_206A_206B_200C_200E_202C_200C_206B_202B_200D_202D_206F_202E(JsonPropertyInfo P_0, Func P_1) - { - P_0.ShouldSerialize = P_1; - } - - static JsonObject _206B_206A_206B_202A_206C_206A_206E_200B_202E_206C_202A_206C_200C_202B_202E_206E_200E_206D_200E_206D_202D_200C_202D_202C_206D_200E_206F_206F_206B_202B_202E_202E_206F_202E_206F_200D_206B_200D_202E_200F_202E(JsonNodeOptions? P_0) - { - return new JsonObject(P_0); - } - - static JsonNode _202D_200D_200B_206D_200E_206E_206F_200D_202C_206C_202C_202C_200E_200D_200D_200C_202C_202D_206E_202A_206C_206B_202D_200F_202A_206B_206A_202E_206D_202A_206D_206E_206E_200F_200B_206E_200C_200E_200C_202A_202E(string P_0) - { - return P_0; - } - - static void _200D_202C_202E_206E_206B_200F_200E_202C_200C_206C_206F_206B_206E_206C_206D_206D_202D_206A_206F_200C_202A_200C_202E_202A_200D_206E_200E_200F_206B_200E_200E_200C_200F_202B_206F_200D_206D_206D_200C_206E_202E(JsonNode P_0, string P_1, JsonNode P_2) - { - P_0[P_1] = P_2; - } - - static IEnumerator> _206A_200E_200B_202C_202A_200E_202A_202E_200E_206A_206E_200B_200C_206D_200F_202D_200D_200F_202B_206D_200E_206A_206B_202B_200D_206B_202E_202A_202B_202B_206D_200B_206D_206F_202D_206D_206C_200E_206F_206E_202E(JsonObject P_0) - { - return P_0.GetEnumerator(); - } - - static JsonNode _206C_200D_200F_200C_202D_200E_200F_206B_200E_206A_200C_200B_206D_200E_202C_206B_206E_206A_206D_206C_206D_200D_202D_202A_206E_202E_206F_202B_202D_200C_202D_206F_200C_202E_200D_206B_200F_202A_200D_200F_202E(JsonNode P_0) - { - return P_0.DeepClone(); - } - - static JsonSerializerOptions _202E_200E_206C_206A_206B_206D_202C_200B_206C_200E_200F_206A_200D_206F_206D_202C_202E_206A_206A_200F_200D_206F_200F_202E_206E_202B_206F_202A_206A_200E_202C_206D_200B_206A_200C_202D_202D_200B_206D_202E() - { - return new JsonSerializerOptions(); - } - - static void _206D_200B_206E_200D_206D_202A_202D_206E_206A_206F_200F_200D_200F_200B_200E_200E_200E_206B_202A_200E_202B_202B_200F_200C_206B_202B_206C_202C_206F_200F_206A_200E_202C_206A_200C_206F_200E_200B_206C_206E_202E(JsonSerializerOptions P_0, JsonIgnoreCondition P_1) - { - P_0.DefaultIgnoreCondition = P_1; - } - - static void _202B_200E_206B_206D_200E_200C_200F_206D_200E_206C_200D_206E_206E_206D_206E_206A_202C_202C_206B_202A_202A_206E_206F_202E_202E_206E_206B_202D_206B_206B_200F_202A_206A_206E_202A_200D_202C_206E_200C_202C_202E(JsonSerializerOptions P_0, bool P_1) - { - P_0.IncludeFields = P_1; - } - - static void _206E_202C_206B_202A_200D_206C_202C_206C_206E_200C_200E_206F_202C_206A_206F_206E_202A_202E_206B_206C_200E_206A_206A_206C_202E_206D_206F_202E_206B_206A_202D_200B_202C_202E_206C_206B_202A_202A_202C_202E(JsonSerializerOptions P_0, bool P_1) - { - P_0.WriteIndented = P_1; - } - - static DefaultJsonTypeInfoResolver _200D_202A_202A_202C_202D_200D_202B_206E_202E_202C_206E_200C_200F_200F_202E_206F_200C_200D_202E_206A_202D_202A_206E_206B_202D_200F_206C_202D_206C_200E_200C_202C_206B_200F_202A_202E_202D_200B_202B_202E() - { - return new DefaultJsonTypeInfoResolver(); - } - - static IList> _200E_206C_206F_202E_200D_206A_206C_206E_200B_206B_202E_206A_200B_200B_202E_200B_206E_206A_206E_206F_200B_200E_202D_206D_206F_206E_200C_206F_202E_206A_206B_202A_202D_202D_206B_200C_200B_206F_202A_206D_202E(DefaultJsonTypeInfoResolver P_0) - { - return P_0.Modifiers; - } - - static void _202A_206A_206D_206A_200E_200B_202C_202B_200C_202B_206B_200E_202C_202E_206B_200D_202D_202A_202E_200B_200B_200E_202E_206C_202A_200E_200D_206D_202C_202D_206A_200D_206D_206A_202A_206D_202B_206D_202E_206F_202E(JsonSerializerOptions P_0, IJsonTypeInfoResolver P_1) - { - P_0.TypeInfoResolver = P_1; + JsonObject jsonObject2 = new JsonObject { ["$schema"] = "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/QuestPaths/quest-v1.json" }; + foreach (KeyValuePair item in jsonObject) + { + item.Deconstruct(out var key, out var value); + string propertyName = key; + jsonObject2[propertyName] = value?.DeepClone(); + } + return ValidateImmediate(elementId, jsonObject2); } } diff --git a/Questionable/Questionable.Validation.Validators/LandingZoneValidator.cs b/Questionable/Questionable.Validation.Validators/LandingZoneValidator.cs index 05da243..052bf88 100644 --- a/Questionable/Questionable.Validation.Validators/LandingZoneValidator.cs +++ b/Questionable/Questionable.Validation.Validators/LandingZoneValidator.cs @@ -1,10 +1,5 @@ -using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Linq; -using System.Numerics; -using System.Runtime.CompilerServices; using Questionable.Model; using Questionable.Model.Questing; @@ -12,476 +7,55 @@ namespace Questionable.Validation.Validators; internal sealed class LandingZoneValidator : IQuestValidator { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func<(QuestSequence Sequence, int StepId, QuestStep Step), bool> _003C_003E9__0_0; - - internal bool _003CValidate_003Eb__0_0((QuestSequence Sequence, int StepId, QuestStep Step) x) - { - List list = _200D_202B_206F_200E_202E_206A_202A_206B_200D_206F_200C_202D_200F_202D_206E_202D_202E_202C_206D_202B_202B_200C_202D_202E_206E_206E_206F_202A_200B_202C_206B_200F_206D_200E_202E_202C_200C_202E_206B_206A_202E(x.Step); - int num = ((list == null) ? 293008772 : 293008775); - while (true) - { - int num2 = num; - int num3 = 293008773; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return false; - case 2: - return list.Count > 0; - case 0: - goto IL_0059; - } - continue; - IL_0059: - num = 293008775; - } - } - - static List _200D_202B_206F_200E_202E_206A_202A_206B_200D_206F_200C_202D_200F_202D_206E_202D_202E_202C_206D_202B_202B_200C_202D_202E_206E_206E_206F_202A_200B_202C_206B_200F_206D_200E_202E_202C_200C_202E_206B_206A_202E(QuestStep P_0) - { - return P_0.LandingZones; - } - } - - [CompilerGenerated] - private sealed class _003CValidate_003Ed__0 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ValidationIssue _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - private Quest quest; - - public Quest _003C_003E3__quest; - - private IEnumerator<(QuestSequence Sequence, int StepId, QuestStep Step)> _003C_003E7__wrap1; - - private (QuestSequence Sequence, int StepId, QuestStep Step) _003CstepInfo_003E5__3; - - private int _003Cz_003E5__4; - - private LandingZone _003Czone_003E5__5; - - ValidationIssue IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CValidate_003Ed__0(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _206B_202C_206F_206D_202E_202E_206D_206F_200C_200D_206C_200C_206A_206F_206D_206E_202D_202A_200C_202E_202E_206D_200F_200B_200F_200B_200E_200B_202A_200F_206E_206A_202E_206B_206B_202E_206F_200B_206B_202A_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = ((num == -3) ? (-301580919) : (-301580918)); - while (true) - { - int num3 = num2; - int num4 = -301580920; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - default: - continue; - case 0: - num2 = -301580918; - continue; - case 2: - num4 = 1; - num5 = num; - if ((uint)(~(~num5 + num4)) <= 2u) - { - num2 = -301580919; - continue; - } - break; - case 1: - try - { - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003C_003E7__wrap1 = null; - _003CstepInfo_003E5__3 = default((QuestSequence, int, QuestStep)); - _003Czone_003E5__5 = null; - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - try - { - int num; - switch (_003C_003E1__state) - { - default: - num = 1353765120; - goto IL_0029; - case 2: - _003C_003E1__state = -3; - num = 1353765123; - goto IL_0029; - case 1: - goto IL_02fa; - case 0: - goto IL_0497; - case 3: - goto IL_04ef; - IL_0029: - while (true) - { - int num2 = num; - int num3 = 1353765133; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 15: - num = 1353765120; - break; - case 14: - goto IL_00a1; - case 7: - goto IL_00d3; - case 11: - goto IL_0100; - case 5: - _003CstepInfo_003E5__3 = _003C_003E7__wrap1.Current; - _003Cz_003E5__4 = 0; - num = 1353765151; - break; - case 2: - { - int num5 = _003Cz_003E5__4; - num3 = 1; - num4 = num5; - _003Cz_003E5__4 = (num4 | num3) + (num4 & num3); - num = 1353765151; - break; - } - case 18: - goto IL_0178; - case 0: - goto IL_01b0; - case 6: - _003CstepInfo_003E5__3 = default((QuestSequence, int, QuestStep)); - num = 1353765126; - break; - case 9: - goto end_IL_0029; - case 1: - _003Czone_003E5__5 = null; - num = 1353765135; - break; - case 3: - { - ValidationIssue obj3 = new ValidationIssue - { - ElementId = quest.Id, - Sequence = _200B_202B_202B_206D_206D_200C_202E_206A_200B_206F_206A_206C_202B_202D_200C_200C_206F_200C_206D_200B_200E_200D_202A_206D_202B_202A_200C_206B_206A_202B_200F_206E_200C_206B_200D_206F_206B_206F_202A_202B_202E(_003CstepInfo_003E5__3.Sequence), - Step = _003CstepInfo_003E5__3.StepId, - Type = EIssueType.InvalidLandingZone, - Severity = EIssueSeverity.Error - }; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(48, 1); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(763106568)); - defaultInterpolatedStringHandler3.AppendFormatted(_003Cz_003E5__4); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-317713008)); - obj3.Description = defaultInterpolatedStringHandler3.ToStringAndClear(); - _003C_003E2__current = obj3; - _003C_003E1__state = 3; - return true; - } - case 10: - goto IL_02fa; - case 13: - return false; - case 17: - { - ValidationIssue obj2 = new ValidationIssue - { - ElementId = quest.Id, - Sequence = _200B_202B_202B_206D_206D_200C_202E_206A_200B_206F_206A_206C_202B_202D_200C_200C_206F_200C_206D_200B_200E_200D_202A_206D_202B_202A_200C_206B_206A_202B_200F_206E_200C_206B_200D_206F_206B_206F_202A_202B_202E(_003CstepInfo_003E5__3.Sequence), - Step = _003CstepInfo_003E5__3.StepId, - Type = EIssueType.InvalidLandingZone, - Severity = EIssueSeverity.Error - }; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(39, 1); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1041108262)); - defaultInterpolatedStringHandler2.AppendFormatted(_003Cz_003E5__4); - defaultInterpolatedStringHandler2.AppendLiteral(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(-1470671526)); - obj2.Description = defaultInterpolatedStringHandler2.ToStringAndClear(); - _003C_003E2__current = obj2; - _003C_003E1__state = 1; - return true; - } - case 16: - { - ValidationIssue obj = new ValidationIssue - { - ElementId = quest.Id, - Sequence = _200B_202B_202B_206D_206D_200C_202E_206A_200B_206F_206A_206C_202B_202D_200C_200C_206F_200C_206D_200B_200E_200D_202A_206D_202B_202A_200C_206B_206A_202B_200F_206E_200C_206B_200D_206F_206B_206F_202A_202B_202E(_003CstepInfo_003E5__3.Sequence), - Step = _003CstepInfo_003E5__3.StepId, - Type = EIssueType.InvalidLandingZone, - Severity = EIssueSeverity.Error - }; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(27, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(430923307)); - defaultInterpolatedStringHandler.AppendFormatted(_003Cz_003E5__4); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1557501855)); - obj.Description = defaultInterpolatedStringHandler.ToStringAndClear(); - _003C_003E2__current = obj; - _003C_003E1__state = 2; - return true; - } - case 8: - goto IL_0497; - case 12: - goto IL_04ef; - case 4: - _003C_003Em__Finally1(); - _003C_003E7__wrap1 = null; - return false; - } - continue; - IL_01b0: - _003Czone_003E5__5 = _202E_200C_202A_200B_206B_206C_206A_206D_202B_206C_200C_202E_202A_200E_202B_206A_202D_206E_202D_200B_200F_200E_206B_200C_202A_206A_202B_206C_202D_206C_200F_202C_202B_206B_202B_206C_202C_200B_202E_200C_202E(_003CstepInfo_003E5__3.Step)[_003Cz_003E5__4]; - num = ((_206B_200F_200D_202D_202D_206E_202B_206E_206B_200C_200C_206D_206D_202B_206F_202B_206D_200C_202D_200D_206B_202E_200F_206E_202E_206B_206C_200E_200E_206B_200D_202B_206D_206D_206D_206A_206C_206C_206F_202D_202E(_003Czone_003E5__5).Count >= 3) ? 1353765130 : 1353765148); - continue; - IL_00a1: - num = ((!(_200C_202A_206D_202A_206F_200E_200C_206A_202C_202E_202D_206A_206A_206B_200F_202D_202A_200D_206F_202D_200C_200D_200E_206E_200E_200B_202E_200C_202C_206D_200C_200C_200F_200B_202B_200C_206C_202C_202A_206A_202E((IReadOnlyList)_206B_200F_200D_202D_202D_206E_202B_206E_206B_200C_200C_206D_206D_202B_206F_202B_206D_200C_202D_200D_206B_202E_200F_206E_202E_206B_206C_200E_200E_206B_200D_202B_206D_206D_206D_206A_206C_206C_206F_202D_202E(_003Czone_003E5__5)) < 0.01f)) ? 1353765132 : 1353765134); - continue; - IL_0100: - num = (_202B_206E_206E_206C_202A_200C_200C_202D_202B_202D_200E_202C_200D_202A_200C_206C_202A_200D_202C_206A_200D_200D_206B_200D_200E_206F_206A_200D_202C_202A_206D_206E_200D_206E_206B_206C_206E_200D_202A_202A_202E((IEnumerator)_003C_003E7__wrap1) ? 1353765128 : 1353765129); - continue; - IL_0178: - num = ((_003Cz_003E5__4 < _202E_200C_202A_200B_206B_206C_206A_206D_202B_206C_200C_202E_202A_200E_202B_206A_202D_206E_202D_200B_200F_200E_206B_200C_202A_206A_202B_206C_202D_206C_200F_202C_202B_206B_202B_206C_202C_200B_202E_200C_202E(_003CstepInfo_003E5__3.Step).Count) ? 1353765133 : 1353765131); - continue; - IL_00d3: - num = (_206A_206D_200F_202E_202D_202A_202B_206C_206D_202A_202A_202C_200D_206C_206F_206D_200C_200B_206B_200F_202C_206A_200D_206A_206D_202D_202E_206F_206B_202A_202C_200E_200E_206F_202C_202A_200E_202E_200C_202A_202E((IReadOnlyList)_206B_200F_200D_202D_202D_206E_202B_206E_206B_200C_200C_206D_206D_202B_206F_202B_206D_200C_202D_200D_206B_202E_200F_206E_202E_206B_206C_200E_200E_206B_200D_202B_206D_206D_206D_206A_206C_206C_206F_202D_202E(_003Czone_003E5__5)) ? 1353765123 : 1353765149); - continue; - end_IL_0029: - break; - } - goto case 2; - IL_04ef: - _003C_003E1__state = -3; - num = 1353765132; - goto IL_0029; - IL_0497: - _003C_003E1__state = -1; - _003C_003E7__wrap1 = quest.AllSteps().Where<(QuestSequence, int, QuestStep)>(delegate((QuestSequence Sequence, int StepId, QuestStep Step) x) - { - List list = _003C_003Ec._200D_202B_206F_200E_202E_206A_202A_206B_200D_206F_200C_202D_200F_202D_206E_202D_202E_202C_206D_202B_202B_200C_202D_202E_206E_206E_206F_202A_200B_202C_206B_200F_206D_200E_202E_202C_200C_202E_206B_206A_202E(x.Step); - int num6 = ((list == null) ? 293008772 : 293008775); - while (true) - { - int num7 = num6; - int num8 = 293008773; - int num9 = num7; - switch ((num9 | num8) - (num9 & num8)) - { - case 1: - return false; - case 2: - return list.Count > 0; - case 0: - goto IL_0059; - } - continue; - IL_0059: - num6 = 293008775; - } - }).GetEnumerator(); - _003C_003E1__state = -3; - num = 1353765126; - goto IL_0029; - IL_02fa: - _003C_003E1__state = -3; - num = 1353765135; - goto IL_0029; - } - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - int num = ((_003C_003E7__wrap1 == null) ? 849893968 : 849893971); - while (true) - { - int num2 = num; - int num3 = 849893970; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return; - case 1: - _202B_200B_206D_202B_206E_202A_206A_200D_200E_200F_206C_202A_206D_206D_206C_206F_202D_206F_202D_206B_202A_206F_200F_202A_200E_206F_206E_202D_200B_206D_200E_200F_200C_202D_202D_200F_206B_202E_206E_202C_202E((IDisposable)_003C_003E7__wrap1); - num = 849893968; - break; - case 0: - num = 849893971; - break; - } - } - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _200E_202D_200D_200B_202E_206F_206C_206D_206C_206F_206F_206F_202B_202E_202C_206B_206A_206D_202A_206F_206B_202A_202B_200D_202D_200C_202E_202D_202C_200F_202B_200E_206B_200D_206C_200F_202A_202C_206D_202A_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? 1118277465 : 1118277470); - _003CValidate_003Ed__0 _003CValidate_003Ed__ = default(_003CValidate_003Ed__0); - while (true) - { - int num2 = num; - int num3 = 1118277469; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1118277470; - break; - case 4: - _003CValidate_003Ed__ = new _003CValidate_003Ed__0(0); - num = 1118277468; - break; - case 1: - _003CValidate_003Ed__.quest = _003C_003E3__quest; - return _003CValidate_003Ed__; - case 2: - _003C_003E1__state = 0; - _003CValidate_003Ed__ = this; - num = 1118277468; - break; - case 3: - num = ((_003C_003El__initialThreadId != _206B_202C_206F_206D_202E_202E_206D_206F_200C_200D_206C_200C_206A_206F_206D_206E_202D_202A_200C_202E_202E_206D_200F_200B_200F_200B_200E_200B_202A_200F_206E_206A_202E_206B_206B_202E_206F_200B_206B_202A_202E()) ? 1118277465 : 1118277471); - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _206B_202C_206F_206D_202E_202E_206D_206F_200C_200D_206C_200C_206A_206F_206D_206E_202D_202A_200C_202E_202E_206D_200F_200B_200F_200B_200E_200B_202A_200F_206E_206A_202E_206B_206B_202E_206F_200B_206B_202A_202E() - { - return Environment.CurrentManagedThreadId; - } - - static List _202E_200C_202A_200B_206B_206C_206A_206D_202B_206C_200C_202E_202A_200E_202B_206A_202D_206E_202D_200B_200F_200E_206B_200C_202A_206A_202B_206C_202D_206C_200F_202C_202B_206B_202B_206C_202C_200B_202E_200C_202E(QuestStep P_0) - { - return P_0.LandingZones; - } - - static List _206B_200F_200D_202D_202D_206E_202B_206E_206B_200C_200C_206D_206D_202B_206F_202B_206D_200C_202D_200D_206B_202E_200F_206E_202E_206B_206C_200E_200E_206B_200D_202B_206D_206D_206D_206A_206C_206C_206F_202D_202E(LandingZone P_0) - { - return P_0.Vertices; - } - - static byte _200B_202B_202B_206D_206D_200C_202E_206A_200B_206F_206A_206C_202B_202D_200C_200C_206F_200C_206D_200B_200E_200D_202A_206D_202B_202A_200C_206B_206A_202B_200F_206E_200C_206B_200D_206F_206B_206F_202A_202B_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - - static bool _206A_206D_200F_202E_202D_202A_202B_206C_206D_202A_202A_202C_200D_206C_206F_206D_200C_200B_206B_200F_202C_206A_200D_206A_206D_202D_202E_206F_206B_202A_202C_200E_200E_206F_202C_202A_200E_202E_200C_202A_202E(IReadOnlyList P_0) - { - return LandingZoneMath.IsConvex(P_0); - } - - static float _200C_202A_206D_202A_206F_200E_200C_206A_202C_202E_202D_206A_206A_206B_200F_202D_202A_200D_206F_202D_200C_200D_200E_206E_200E_200B_202E_200C_202C_206D_200C_200C_200F_200B_202B_200C_206C_202C_202A_206A_202E(IReadOnlyList P_0) - { - return LandingZoneMath.CalculatePolygonArea(P_0); - } - - static bool _202B_206E_206E_206C_202A_200C_200C_202D_202B_202D_200E_202C_200D_202A_200C_206C_202A_200D_202C_206A_200D_200D_206B_200D_200E_206F_206A_200D_202C_202A_206D_206E_200D_206E_206B_206C_206E_200D_202A_202A_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202B_200B_206D_202B_206E_202A_206A_200D_200E_200F_206C_202A_206D_206D_206C_206F_202D_206F_202D_206B_202A_206F_200F_202A_200E_206F_206E_202D_200B_206D_200E_200F_200C_202D_202D_200F_206B_202E_206E_202C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static NotSupportedException _200E_202D_200D_200B_202E_206F_206C_206D_206C_206F_206F_206F_202B_202E_202C_206B_206A_206D_202A_206F_206B_202A_202B_200D_202D_200C_202E_202D_202C_200F_202B_200E_206B_200D_206C_200F_202A_202C_206D_202A_202E() - { - return new NotSupportedException(); - } - } - - [IteratorStateMachine(typeof(_003CValidate_003Ed__0))] public IEnumerable Validate(Quest quest) { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CValidate_003Ed__0(-2) + foreach (var stepInfo in quest.AllSteps().Where<(QuestSequence, int, QuestStep)>(delegate((QuestSequence Sequence, int StepId, QuestStep Step) x) { - _003C_003E3__quest = quest - }; - } - - IEnumerable IQuestValidator.Validate(Quest quest) - { - //ILSpy generated this explicit interface implementation from .override directive in Validate - return this.Validate(quest); + List landingZones = x.Step.LandingZones; + return landingZones != null && landingZones.Count > 0; + })) + { + for (int z = 0; z < stepInfo.Item3.LandingZones.Count; z++) + { + LandingZone zone = stepInfo.Item3.LandingZones[z]; + if (zone.Vertices.Count < 3) + { + yield return new ValidationIssue + { + ElementId = quest.Id, + Sequence = stepInfo.Item1.Sequence, + Step = stepInfo.Item2, + Type = EIssueType.InvalidLandingZone, + Severity = EIssueSeverity.Error, + Description = $"Landing zone {z} has fewer than 3 vertices" + }; + continue; + } + if (!LandingZoneMath.IsConvex(zone.Vertices)) + { + yield return new ValidationIssue + { + ElementId = quest.Id, + Sequence = stepInfo.Item1.Sequence, + Step = stepInfo.Item2, + Type = EIssueType.InvalidLandingZone, + Severity = EIssueSeverity.Error, + Description = $"Landing zone {z} is not convex" + }; + } + if (LandingZoneMath.CalculatePolygonArea(zone.Vertices) < 0.01f) + { + yield return new ValidationIssue + { + ElementId = quest.Id, + Sequence = stepInfo.Item1.Sequence, + Step = stepInfo.Item2, + Type = EIssueType.InvalidLandingZone, + Severity = EIssueSeverity.Error, + Description = $"Landing zone {z} has zero area (collinear vertices)" + }; + } + } + } } } diff --git a/Questionable/Questionable.Validation.Validators/NextQuestValidator.cs b/Questionable/Questionable.Validation.Validators/NextQuestValidator.cs index be8b1a5..8c77dfb 100644 --- a/Questionable/Questionable.Validation.Validators/NextQuestValidator.cs +++ b/Questionable/Questionable.Validation.Validators/NextQuestValidator.cs @@ -1,9 +1,5 @@ -using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Linq; -using System.Runtime.CompilerServices; using Questionable.Model; using Questionable.Model.Questing; @@ -11,305 +7,21 @@ namespace Questionable.Validation.Validators; internal sealed class NextQuestValidator : IQuestValidator { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass0_0 - { - public Quest quest; - - public Func<(QuestSequence Sequence, int StepId, QuestStep Step), bool> _003C_003E9__0; - - internal bool _003CValidate_003Eb__0((QuestSequence Sequence, int StepId, QuestStep Step) x) - { - return _200E_200D_202E_206B_206C_202A_200E_206C_202B_200B_206A_206C_206C_200F_206A_202B_206D_200E_206E_200B_202D_202A_202C_206C_202B_206C_206C_200B_202D_200F_200B_202B_200E_206B_206A_202D_206D_202E_206C_200E_202E(_202A_200E_206B_202C_202D_200E_200D_206E_200E_206C_206A_200F_202E_200E_200C_206E_202C_200D_200E_202B_200C_206C_202A_202D_202D_200B_202B_202A_200B_200C_202E_202A_206F_206E_202A_202C_202B_200F_202D_206A_202E(x.Step), quest.Id); - } - - static ElementId _202A_200E_206B_202C_202D_200E_200D_206E_200E_206C_206A_200F_202E_200E_200C_206E_202C_200D_200E_202B_200C_206C_202A_202D_202D_200B_202B_202A_200B_200C_202E_202A_206F_206E_202A_202C_202B_200F_202D_206A_202E(QuestStep P_0) - { - return P_0.NextQuestId; - } - - static bool _200E_200D_202E_206B_206C_202A_200E_206C_202B_200B_206A_206C_206C_200F_206A_202B_206D_200E_206E_200B_202D_202A_202C_206C_202B_206C_206C_200B_202D_200F_200B_202B_200E_206B_206A_202D_206D_202E_206C_200E_202E(ElementId P_0, ElementId P_1) - { - return P_0 == P_1; - } - } - - [CompilerGenerated] - private sealed class _003CValidate_003Ed__0 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ValidationIssue _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - private Quest quest; - - public Quest _003C_003E3__quest; - - private _003C_003Ec__DisplayClass0_0 _003C_003E8__1; - - private IEnumerator<(QuestSequence Sequence, int StepId, QuestStep Step)> _003C_003E7__wrap1; - - ValidationIssue IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CValidate_003Ed__0(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _206C_206C_206D_200E_206B_200C_206D_200E_200D_206E_202B_200F_202C_200D_206A_202D_206F_206B_206A_200E_202D_200D_206D_200F_202C_202D_206E_206A_200F_206F_200D_206F_202D_202E_202E_200E_200C_206A_206D_206F_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = ((num == -3) ? (-177611004) : (-177611003)); - while (true) - { - int num3 = num2; - int num4 = -177611004; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - default: - continue; - case 2: - num2 = -177611003; - continue; - case 1: - if (num == 1) - { - num2 = -177611004; - continue; - } - break; - case 0: - try - { - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003C_003E8__1 = null; - _003C_003E7__wrap1 = null; - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - try - { - int num = _003C_003E1__state; - int num2 = ((num == 0) ? 204267570 : 204267569); - while (true) - { - int num3 = num2; - int num4 = 204267573; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 7: - _003C_003E1__state = -1; - _003C_003E8__1 = new _003C_003Ec__DisplayClass0_0(); - _003C_003E8__1.quest = quest; - _003C_003E7__wrap1 = (from x in _003C_003E8__1.quest.AllSteps() - where _003C_003Ec__DisplayClass0_0._200E_200D_202E_206B_206C_202A_200E_206C_202B_200B_206A_206C_206C_200F_206A_202B_206D_200E_206E_200B_202D_202A_202C_206C_202B_206C_206C_200B_202D_200F_200B_202B_200E_206B_206A_202D_206D_202E_206C_200E_202E(_003C_003Ec__DisplayClass0_0._202A_200E_206B_202C_202D_200E_200D_206E_200E_206C_206A_200F_202E_200E_200C_206E_202C_200D_200E_202B_200C_206C_202A_202D_202D_200B_202B_202A_200B_200C_202E_202A_206F_206E_202A_202C_202B_200F_202D_206A_202E(x.Step), _003C_003E8__1.quest.Id) - select x).GetEnumerator(); - _003C_003E1__state = -3; - num2 = 204267574; - break; - case 1: - { - (QuestSequence, int, QuestStep) current = _003C_003E7__wrap1.Current; - _003C_003E2__current = new ValidationIssue - { - PathType = EPathType.Quest, - Id = _202E_206D_200B_200B_202D_202E_206B_200B_202E_206A_202E_202D_202A_202E_202C_206E_202C_202E_202B_202E_200C_200E_202E_206D_206B_200D_202A_206F_202A_206A_202C_206D_200B_206E_200D_202C_200F_202B_206A_200D_202E((object)_003C_003E8__1.quest.Id), - Location = SchemaValidationHelper.FormatQuestLocation(_200B_202E_206E_202E_200D_202A_200D_200E_200E_200F_200E_206E_206A_206A_202D_200E_206D_202B_200E_200D_206E_202D_206C_206B_200F_200F_202B_200C_206B_202B_206D_200E_200D_200B_206F_206A_200B_202B_206E_200F_202E(current.Item1), current.Item2), - Type = EIssueType.InvalidNextQuestId, - Severity = EIssueSeverity.Error, - Description = 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(-552631953) - }; - _003C_003E1__state = 1; - return true; - } - case 4: - num2 = ((num == 1) ? 204267573 : 204267568); - break; - case 3: - num2 = (_202D_200C_202D_206D_206A_200F_200D_202D_200F_206D_206F_206E_200E_200D_202A_200C_202D_200F_202D_206C_202B_202D_206C_202C_202D_202B_202D_206A_202B_200E_200F_206E_200D_200D_200D_202A_202E_200C_200B_206D_202E((IEnumerator)_003C_003E7__wrap1) ? 204267572 : 204267571); - break; - case 5: - return false; - case 2: - num2 = 204267569; - break; - case 0: - _003C_003E1__state = -3; - num2 = 204267574; - break; - case 6: - _003C_003Em__Finally1(); - _003C_003E7__wrap1 = null; - return false; - } - } - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - int num = ((_003C_003E7__wrap1 == null) ? (-1138121483) : (-1138121484)); - while (true) - { - int num2 = num; - int num3 = -1138121483; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return; - case 1: - _200D_206A_202A_200D_200E_202C_200B_202C_200F_200B_200E_200D_200F_200B_206E_206B_200F_200C_200E_206A_202B_200C_202E_206F_200B_206B_206B_200C_200C_206A_200D_206C_202E_200C_206B_202C_200D_206D_202D_202E((IDisposable)_003C_003E7__wrap1); - num = -1138121483; - break; - case 2: - num = -1138121484; - break; - } - } - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _206A_200E_202A_202D_202A_206C_202D_202A_206D_206A_200E_202A_206C_206C_200C_206B_206A_206B_206F_200E_202A_200F_200C_206F_202A_206F_206E_206D_200E_200F_200B_206D_206C_202D_202A_200D_206B_202C_202B_200C_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? (-561173402) : (-561173406)); - _003CValidate_003Ed__0 _003CValidate_003Ed__ = default(_003CValidate_003Ed__0); - while (true) - { - int num2 = num; - int num3 = -561173402; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = -561173406; - break; - case 0: - _003CValidate_003Ed__ = new _003CValidate_003Ed__0(0); - num = -561173404; - break; - case 2: - _003CValidate_003Ed__.quest = _003C_003E3__quest; - return _003CValidate_003Ed__; - case 1: - _003C_003E1__state = 0; - _003CValidate_003Ed__ = this; - num = -561173404; - break; - case 4: - num = ((_003C_003El__initialThreadId != _206C_206C_206D_200E_206B_200C_206D_200E_200D_206E_202B_200F_202C_200D_206A_202D_206F_206B_206A_200E_202D_200D_206D_200F_202C_202D_206E_206A_200F_206F_200D_206F_202D_202E_202E_200E_200C_206A_206D_206F_202E()) ? (-561173402) : (-561173401)); - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _206C_206C_206D_200E_206B_200C_206D_200E_200D_206E_202B_200F_202C_200D_206A_202D_206F_206B_206A_200E_202D_200D_206D_200F_202C_202D_206E_206A_200F_206F_200D_206F_202D_202E_202E_200E_200C_206A_206D_206F_202E() - { - return Environment.CurrentManagedThreadId; - } - - static string _202E_206D_200B_200B_202D_202E_206B_200B_202E_206A_202E_202D_202A_202E_202C_206E_202C_202E_202B_202E_200C_200E_202E_206D_206B_200D_202A_206F_202A_206A_202C_206D_200B_206E_200D_202C_200F_202B_206A_200D_202E(object P_0) - { - return P_0.ToString(); - } - - static byte _200B_202E_206E_202E_200D_202A_200D_200E_200E_200F_200E_206E_206A_206A_202D_200E_206D_202B_200E_200D_206E_202D_206C_206B_200F_200F_202B_200C_206B_202B_206D_200E_200D_200B_206F_206A_200B_202B_206E_200F_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - - static bool _202D_200C_202D_206D_206A_200F_200D_202D_200F_206D_206F_206E_200E_200D_202A_200C_202D_200F_202D_206C_202B_202D_206C_202C_202D_202B_202D_206A_202B_200E_200F_206E_200D_200D_200D_202A_202E_200C_200B_206D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200D_206A_202A_200D_200E_202C_200B_202C_200F_200B_200E_200D_200F_200B_206E_206B_200F_200C_200E_206A_202B_200C_202E_206F_200B_206B_206B_200C_200C_206A_200D_206C_202E_200C_206B_202C_200D_206D_202D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static NotSupportedException _206A_200E_202A_202D_202A_206C_202D_202A_206D_206A_200E_202A_206C_206C_200C_206B_206A_206B_206F_200E_202A_200F_200C_206F_202A_206F_206E_206D_200E_200F_200B_206D_206C_202D_202A_200D_206B_202C_202B_200C_202E() - { - return new NotSupportedException(); - } - } - - [IteratorStateMachine(typeof(_003CValidate_003Ed__0))] public IEnumerable Validate(Quest quest) { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CValidate_003Ed__0(-2) + foreach (var item in from x in quest.AllSteps() + where x.Step.NextQuestId == quest.Id + select x) { - _003C_003E3__quest = quest - }; - } - - IEnumerable IQuestValidator.Validate(Quest quest) - { - //ILSpy generated this explicit interface implementation from .override directive in Validate - return this.Validate(quest); + yield return new ValidationIssue + { + PathType = EPathType.Quest, + Id = quest.Id.ToString(), + Location = SchemaValidationHelper.FormatQuestLocation(item.Item1.Sequence, item.Item2), + Type = EIssueType.InvalidNextQuestId, + Severity = EIssueSeverity.Error, + Description = "Next quest should not reference itself" + }; + } } } diff --git a/Questionable/Questionable.Validation.Validators/QuestDisabledValidator.cs b/Questionable/Questionable.Validation.Validators/QuestDisabledValidator.cs index 08eb13b..480667f 100644 --- a/Questionable/Questionable.Validation.Validators/QuestDisabledValidator.cs +++ b/Questionable/Questionable.Validation.Validators/QuestDisabledValidator.cs @@ -1,230 +1,23 @@ -using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; -using System.Runtime.CompilerServices; using Questionable.Model; -using Questionable.Model.Questing; namespace Questionable.Validation.Validators; internal sealed class QuestDisabledValidator : IQuestValidator { - [CompilerGenerated] - private sealed class _003CValidate_003Ed__0 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ValidationIssue _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - private Quest quest; - - public Quest _003C_003E3__quest; - - ValidationIssue IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CValidate_003Ed__0(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _202C_206D_202D_200B_206F_206B_200D_202B_202A_206E_206F_202C_202E_202C_200C_200C_206D_206E_200F_206A_206E_200E_206C_202A_206A_202B_202E_202B_206F_200B_206B_206B_206F_206A_202D_200C_206F_200B_206A_200C_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - int num = _003C_003E1__state; - int num2 = ((num == 0) ? 995898240 : 995898242); - while (true) - { - int num3 = num2; - int num4 = 995898241; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 4: - return false; - case 0: - return false; - case 6: - _003C_003E2__current = new ValidationIssue - { - PathType = EPathType.Quest, - Id = _206E_200D_200D_200D_206D_202A_200F_206A_200C_200F_200D_206F_202E_202D_206E_200F_206E_206B_200D_206C_200B_202D_206D_200C_206C_206E_202D_206E_202A_200C_206D_202E_206F_202A_206D_206F_200C_202A_206F_202D_202E((object)quest.Id), - Location = null, - Type = EIssueType.QuestDisabled, - Severity = EIssueSeverity.None, - Description = 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(562118672) - }; - _003C_003E1__state = 1; - return true; - case 1: - _003C_003E1__state = -1; - num2 = ((!_200C_202A_206F_206B_206D_200D_202C_200F_200C_200D_200C_200E_206A_206F_200F_202E_206D_206E_206C_202A_200C_202E_200E_202B_200E_200D_206C_202A_202A_200F_202B_200F_200D_206F_202D_206E_200F_202E_200E_200F_202E(quest.Root)) ? 995898241 : 995898247); - break; - case 2: - _003C_003E1__state = -1; - num2 = 995898241; - break; - case 5: - num2 = 995898242; - break; - case 3: - num2 = ((num == 1) ? 995898243 : 995898245); - break; - } - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _206D_206D_200B_202D_206A_200D_200B_200B_200C_202D_200C_200E_200E_206D_206C_206F_206D_200F_206F_206E_200D_206D_200F_206E_206E_200F_206A_202C_206A_200F_206A_206C_206D_202B_200C_200E_206D_202B_200D_202A_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? 1288599093 : 1288599094); - _003CValidate_003Ed__0 _003CValidate_003Ed__ = default(_003CValidate_003Ed__0); - while (true) - { - int num2 = num; - int num3 = 1288599095; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - _003C_003E1__state = 0; - _003CValidate_003Ed__ = this; - num = 1288599092; - break; - case 1: - num = ((_003C_003El__initialThreadId != _202C_206D_202D_200B_206F_206B_200D_202B_202A_206E_206F_202C_202E_202C_200C_200C_206D_206E_200F_206A_206E_200E_206C_202A_206A_202B_202E_202B_206F_200B_206B_206B_206F_206A_202D_200C_206F_200B_206A_200C_202E()) ? 1288599093 : 1288599091); - break; - case 0: - num = 1288599094; - break; - case 3: - _003CValidate_003Ed__.quest = _003C_003E3__quest; - return _003CValidate_003Ed__; - case 2: - _003CValidate_003Ed__ = new _003CValidate_003Ed__0(0); - num = 1288599092; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _202C_206D_202D_200B_206F_206B_200D_202B_202A_206E_206F_202C_202E_202C_200C_200C_206D_206E_200F_206A_206E_200E_206C_202A_206A_202B_202E_202B_206F_200B_206B_206B_206F_206A_202D_200C_206F_200B_206A_200C_202E() - { - return Environment.CurrentManagedThreadId; - } - - static bool _200C_202A_206F_206B_206D_200D_202C_200F_200C_200D_200C_200E_206A_206F_200F_202E_206D_206E_206C_202A_200C_202E_200E_202B_200E_200D_206C_202A_202A_200F_202B_200F_200D_206F_202D_206E_200F_202E_200E_200F_202E(QuestRoot P_0) - { - return P_0.Disabled; - } - - static string _206E_200D_200D_200D_206D_202A_200F_206A_200C_200F_200D_206F_202E_202D_206E_200F_206E_206B_200D_206C_200B_202D_206D_200C_206C_206E_202D_206E_202A_200C_206D_202E_206F_202A_206D_206F_200C_202A_206F_202D_202E(object P_0) - { - return P_0.ToString(); - } - - static NotSupportedException _206D_206D_200B_202D_206A_200D_200B_200B_200C_202D_200C_200E_200E_206D_206C_206F_206D_200F_206F_206E_200D_206D_200F_206E_206E_200F_206A_202C_206A_200F_206A_206C_206D_202B_200C_200E_206D_202B_200D_202A_202E() - { - return new NotSupportedException(); - } - } - public IEnumerable Validate(Quest quest) { - int num = 995898240; - while (true) + if (quest.Root.Disabled) { - int num2 = num; - int num3 = 995898241; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + yield return new ValidationIssue { - case 4: - yield break; - case 0: - yield break; - case 6: - yield return new ValidationIssue - { - PathType = EPathType.Quest, - Id = _003CValidate_003Ed__0._206E_200D_200D_200D_206D_202A_200F_206A_200C_200F_200D_206F_202E_202D_206E_200F_206E_206B_200D_206C_200B_202D_206D_200C_206C_206E_202D_206E_202A_200C_206D_202E_206F_202A_206D_206F_200C_202A_206F_202D_202E((object)quest.Id), - Location = null, - Type = EIssueType.QuestDisabled, - Severity = EIssueSeverity.None, - Description = 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(562118672) - }; - num = 995898242; - break; - case 1: - num = ((!_003CValidate_003Ed__0._200C_202A_206F_206B_206D_200D_202C_200F_200C_200D_200C_200E_206A_206F_200F_202E_206D_206E_206C_202A_200C_202E_200E_202B_200E_200D_206C_202A_202A_200F_202B_200F_200D_206F_202D_206E_200F_202E_200E_200F_202E(quest.Root)) ? 995898241 : 995898247); - break; - case 2: - num = 995898241; - break; - case 5: - num = 995898242; - break; - case 3: - { - int num7; - num = ((num7 == 1) ? 995898243 : 995898245); - break; - } - } + PathType = EPathType.Quest, + Id = quest.Id.ToString(), + Location = null, + Type = EIssueType.QuestDisabled, + Severity = EIssueSeverity.None, + Description = "Quest is disabled" + }; } } - - IEnumerable IQuestValidator.Validate(Quest quest) - { - //ILSpy generated this explicit interface implementation from .override directive in Validate - return this.Validate(quest); - } } diff --git a/Questionable/Questionable.Validation.Validators/SayValidator.cs b/Questionable/Questionable.Validation.Validators/SayValidator.cs index 3b7e78d..653b686 100644 --- a/Questionable/Questionable.Validation.Validators/SayValidator.cs +++ b/Questionable/Questionable.Validation.Validators/SayValidator.cs @@ -1,9 +1,5 @@ -using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Linq; -using System.Runtime.CompilerServices; using Lumina.Text.ReadOnly; using Questionable.Functions; using Questionable.Model; @@ -13,320 +9,6 @@ namespace Questionable.Validation.Validators; internal sealed class SayValidator : IQuestValidator { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func<(QuestSequence Sequence, int StepId, QuestStep Step), bool> _003C_003E9__2_0; - - internal bool _003CValidate_003Eb__2_0((QuestSequence Sequence, int StepId, QuestStep Step) x) - { - return _206B_200C_206E_200C_200F_206F_200E_202E_206D_206F_200B_206B_206F_202C_200B_200B_206D_206E_206E_202A_200C_202B_206C_202B_200C_200F_202D_206F_206A_200F_206F_202A_202A_202B_200D_206C_200B_206C_200B_206F_202E(x.Step) == EInteractionType.Say; - } - - static EInteractionType _206B_200C_206E_200C_200F_206F_200E_202E_206D_206F_200B_206B_206F_202C_200B_200B_206D_206E_206E_202A_200C_202B_206C_202B_200C_200F_202D_206F_206A_200F_206F_202A_202A_202B_200D_206C_200B_206C_200B_206F_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - } - - [CompilerGenerated] - private sealed class _003CValidate_003Ed__2 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ValidationIssue _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - private Quest quest; - - public Quest _003C_003E3__quest; - - public SayValidator _003C_003E4__this; - - private IEnumerator<(QuestSequence Sequence, int StepId, QuestStep Step)> _003C_003E7__wrap1; - - ValidationIssue IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CValidate_003Ed__2(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _202D_206C_206C_200B_206C_200B_206A_206E_206F_206A_200B_206E_206E_206D_200D_206B_200C_206E_206C_206C_206F_206E_202A_200E_202D_206F_202E_202A_202C_202E_200B_200F_202B_200D_200B_202D_206A_202D_200F_200F_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = ((num == -3) ? 413952866 : 413952865); - while (true) - { - int num3 = num2; - int num4 = 413952867; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - default: - continue; - case 0: - num2 = 413952865; - continue; - case 2: - if (num == 1) - { - num2 = 413952866; - continue; - } - break; - case 1: - try - { - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003C_003E7__wrap1 = null; - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - try - { - int num = _003C_003E1__state; - SayValidator sayValidator = _003C_003E4__this; - int num2 = ((num == 0) ? (-1358153620) : (-1358153627)); - (QuestSequence, int, QuestStep) current = default((QuestSequence, int, QuestStep)); - ChatMessage chatMessage = default(ChatMessage); - ReadOnlySeString? rawDialogueText = default(ReadOnlySeString?); - while (true) - { - int num3 = num2; - int num4 = -1358153628; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - current = _003C_003E7__wrap1.Current; - chatMessage = _206E_206C_200D_202A_206C_200C_206E_200F_200E_200F_206B_200D_206A_202D_206C_202D_202A_206E_202C_206C_200E_206A_200E_202A_202D_202E_206E_200F_202E_206C_200E_206B_206E_202E_206A_202A_200F_206B_202C_206F_202E(current.Item3); - num2 = ((chatMessage == null) ? (-1358153619) : (-1358153632)); - break; - case 4: - rawDialogueText = sayValidator._excelFunctions.GetRawDialogueText(quest, _206A_202A_200B_202C_202A_206A_200E_206F_206F_200D_206C_200C_202A_206F_202C_206B_206B_202C_200F_202A_206C_206F_202E_200D_200C_200E_200F_206A_206C_202C_206A_200C_206E_200C_206F_200B_200F_200B_206C_206C_202E(chatMessage), _200E_206C_200C_202D_200C_200E_200D_200E_202A_200C_206A_200E_202A_206A_206B_200E_206C_202C_200D_206D_202B_202C_200F_206B_206B_202D_202D_202B_206C_206B_200D_200F_200E_200F_200F_200B_202A_200E_202D_206E_202E(chatMessage)); - num2 = ((!rawDialogueText.HasValue) ? (-1358153619) : (-1358153629)); - break; - case 5: - { - ValidationIssue obj = new ValidationIssue - { - PathType = EPathType.Quest, - Id = _200D_202C_202B_200E_206B_206D_200D_206A_200B_206B_206A_206D_202C_206C_206D_200E_200F_200C_200B_202A_202A_200F_206B_206A_206F_206F_200E_202E_206F_202A_200D_202D_206D_200B_206D_200B_206C_202B_200B_206F_202E((object)quest.Id), - Location = SchemaValidationHelper.FormatQuestLocation(_206E_202E_206F_202C_200B_200D_202A_206A_206B_206E_206D_200D_200D_200C_202E_202C_202B_200E_206D_200D_202E_206B_202E_202A_200C_200B_206D_200F_206D_206F_206B_206A_202D_206E_202E_206B_206A_206E_202E_206A_202E(current.Item1), current.Item2), - Type = EIssueType.InvalidChatMessage, - Severity = EIssueSeverity.Error - }; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(22, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1570396042)); - defaultInterpolatedStringHandler.AppendFormatted(rawDialogueText.Value); - obj.Description = defaultInterpolatedStringHandler.ToStringAndClear(); - _003C_003E2__current = obj; - _003C_003E1__state = 1; - return true; - } - case 1: - num2 = ((num == 1) ? (-1358153618) : (-1358153625)); - break; - case 9: - num2 = (_200E_206A_202C_206B_200C_206E_200E_202E_206B_206A_206F_206B_202A_202B_206E_202C_202B_200F_206D_206E_206A_206A_202A_206F_206A_206D_200B_200B_200B_202C_200B_206F_202D_206A_202C_206C_202B_206F_206C_202D_202E((IEnumerator)_003C_003E7__wrap1) ? (-1358153626) : (-1358153628)); - break; - case 8: - _003C_003E1__state = -1; - _003C_003E7__wrap1 = (from x in quest.AllSteps() - where _003C_003Ec._206B_200C_206E_200C_200F_206F_200E_202E_206D_206F_200B_206B_206F_202C_200B_200B_206D_206E_206E_202A_200C_202B_206C_202B_200C_200F_202D_206F_206A_200F_206F_202A_202A_202B_200D_206C_200B_206C_200B_206F_202E(x.Step) == EInteractionType.Say - select x).GetEnumerator(); - _003C_003E1__state = -3; - num2 = -1358153619; - break; - case 3: - return false; - case 7: - num2 = ((rawDialogueText.Value.PayloadCount == 1) ? (-1358153619) : (-1358153631)); - break; - case 6: - num2 = -1358153627; - break; - case 10: - _003C_003E1__state = -3; - num2 = -1358153619; - break; - case 0: - _003C_003Em__Finally1(); - _003C_003E7__wrap1 = null; - return false; - } - } - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - int num = ((_003C_003E7__wrap1 == null) ? 859629855 : 859629852); - while (true) - { - int num2 = num; - int num3 = 859629854; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return; - case 2: - _200C_206D_206F_200C_206C_200E_202D_206F_206F_206B_206A_206E_206A_202B_202A_206A_202B_200E_206C_202A_202D_200B_206F_202B_202D_202C_200D_206E_206C_200D_202B_200B_206A_206D_200C_200B_200B_202B_206D_206B_202E((IDisposable)_003C_003E7__wrap1); - num = 859629855; - break; - case 0: - num = 859629852; - break; - } - } - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _200F_202B_206B_206C_206F_200F_206D_202D_206A_200F_206A_206D_206B_200E_200F_200F_200C_200F_202A_202B_200F_202D_200D_206D_206B_202E_202E_206A_206F_206E_200B_206D_200E_200F_206A_200F_206F_202A_202D_200C_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? 847025892 : 847025894); - _003CValidate_003Ed__2 _003CValidate_003Ed__ = default(_003CValidate_003Ed__2); - while (true) - { - int num2 = num; - int num3 = 847025893; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = 847025894; - break; - case 3: - num = ((_003C_003El__initialThreadId != _202D_206C_206C_200B_206C_200B_206A_206E_206F_206A_200B_206E_206E_206D_200D_206B_200C_206E_206C_206C_206F_206E_202A_200E_202D_206F_202E_202A_202C_202E_200B_200F_202B_200D_200B_202D_206A_202D_200F_200F_202E()) ? 847025892 : 847025895); - break; - case 1: - _003CValidate_003Ed__ = new _003CValidate_003Ed__2(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = 847025893; - break; - case 0: - _003CValidate_003Ed__.quest = _003C_003E3__quest; - return _003CValidate_003Ed__; - case 2: - _003C_003E1__state = 0; - _003CValidate_003Ed__ = this; - num = 847025893; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _202D_206C_206C_200B_206C_200B_206A_206E_206F_206A_200B_206E_206E_206D_200D_206B_200C_206E_206C_206C_206F_206E_202A_200E_202D_206F_202E_202A_202C_202E_200B_200F_202B_200D_200B_202D_206A_202D_200F_200F_202E() - { - return Environment.CurrentManagedThreadId; - } - - static ChatMessage _206E_206C_200D_202A_206C_200C_206E_200F_200E_200F_206B_200D_206A_202D_206C_202D_202A_206E_202C_206C_200E_206A_200E_202A_202D_202E_206E_200F_202E_206C_200E_206B_206E_202E_206A_202A_200F_206B_202C_206F_202E(QuestStep P_0) - { - return P_0.ChatMessage; - } - - static string _206A_202A_200B_202C_202A_206A_200E_206F_206F_200D_206C_200C_202A_206F_202C_206B_206B_202C_200F_202A_206C_206F_202E_200D_200C_200E_200F_206A_206C_202C_206A_200C_206E_200C_206F_200B_200F_200B_206C_206C_202E(ChatMessage P_0) - { - return P_0.ExcelSheet; - } - - static string _200E_206C_200C_202D_200C_200E_200D_200E_202A_200C_206A_200E_202A_206A_206B_200E_206C_202C_200D_206D_202B_202C_200F_206B_206B_202D_202D_202B_206C_206B_200D_200F_200E_200F_200F_200B_202A_200E_202D_206E_202E(ChatMessage P_0) - { - return P_0.Key; - } - - static string _200D_202C_202B_200E_206B_206D_200D_206A_200B_206B_206A_206D_202C_206C_206D_200E_200F_200C_200B_202A_202A_200F_206B_206A_206F_206F_200E_202E_206F_202A_200D_202D_206D_200B_206D_200B_206C_202B_200B_206F_202E(object P_0) - { - return P_0.ToString(); - } - - static byte _206E_202E_206F_202C_200B_200D_202A_206A_206B_206E_206D_200D_200D_200C_202E_202C_202B_200E_206D_200D_202E_206B_202E_202A_200C_200B_206D_200F_206D_206F_206B_206A_202D_206E_202E_206B_206A_206E_202E_206A_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - - static bool _200E_206A_202C_206B_200C_206E_200E_202E_206B_206A_206F_206B_202A_202B_206E_202C_202B_200F_206D_206E_206A_206A_202A_206F_206A_206D_200B_200B_200B_202C_200B_206F_202D_206A_202C_206C_202B_206F_206C_202D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200C_206D_206F_200C_206C_200E_202D_206F_206F_206B_206A_206E_206A_202B_202A_206A_202B_200E_206C_202A_202D_200B_206F_202B_202D_202C_200D_206E_206C_200D_202B_200B_206A_206D_200C_200B_200B_202B_206D_206B_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static NotSupportedException _200F_202B_206B_206C_206F_200F_206D_202D_206A_200F_206A_206D_206B_200E_200F_200F_200C_200F_202A_202B_200F_202D_200D_206D_206B_202E_202E_206A_206F_206E_200B_206D_200E_200F_206A_200F_206F_202A_202D_200C_202E() - { - return new NotSupportedException(); - } - } - private readonly ExcelFunctions _excelFunctions; public SayValidator(ExcelFunctions excelFunctions) @@ -334,20 +16,29 @@ internal sealed class SayValidator : IQuestValidator _excelFunctions = excelFunctions; } - [IteratorStateMachine(typeof(_003CValidate_003Ed__2))] public IEnumerable Validate(Quest quest) { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CValidate_003Ed__2(-2) + foreach (var item in from x in quest.AllSteps() + where x.Step.InteractionType == EInteractionType.Say + select x) { - _003C_003E4__this = this, - _003C_003E3__quest = quest - }; - } - - IEnumerable IQuestValidator.Validate(Quest quest) - { - //ILSpy generated this explicit interface implementation from .override directive in Validate - return this.Validate(quest); + ChatMessage chatMessage = item.Item3.ChatMessage; + if (chatMessage != null) + { + ReadOnlySeString? rawDialogueText = _excelFunctions.GetRawDialogueText(quest, chatMessage.ExcelSheet, chatMessage.Key); + if (rawDialogueText.HasValue && rawDialogueText.Value.PayloadCount != 1) + { + yield return new ValidationIssue + { + PathType = EPathType.Quest, + Id = quest.Id.ToString(), + Location = SchemaValidationHelper.FormatQuestLocation(item.Item1.Sequence, item.Item2), + Type = EIssueType.InvalidChatMessage, + Severity = EIssueSeverity.Error, + Description = $"Invalid chat message: {rawDialogueText.Value}" + }; + } + } + } } } diff --git a/Questionable/Questionable.Validation.Validators/SeasonalDutySchemaValidator.cs b/Questionable/Questionable.Validation.Validators/SeasonalDutySchemaValidator.cs index 435161e..5527410 100644 --- a/Questionable/Questionable.Validation.Validators/SeasonalDutySchemaValidator.cs +++ b/Questionable/Questionable.Validation.Validators/SeasonalDutySchemaValidator.cs @@ -1,19 +1,10 @@ -using System.Runtime.CompilerServices; - namespace Questionable.Validation.Validators; internal sealed class SeasonalDutySchemaValidator : DefinitionSchemaValidator { protected override EPathType PathType => EPathType.SeasonalDuty; - protected override string MainSchemaUri - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return 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(-912722245); - } - } + protected override string MainSchemaUri => "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/SeasonalDutyPaths/seasonaldutydefinition-v1.json"; public SeasonalDutySchemaValidator(SchemaRegistrar schemaRegistrar) : base(schemaRegistrar) diff --git a/Questionable/Questionable.Validation.Validators/SinglePlayerInstanceValidator.cs b/Questionable/Questionable.Validation.Validators/SinglePlayerInstanceValidator.cs index e918c3f..4307cc0 100644 --- a/Questionable/Questionable.Validation.Validators/SinglePlayerInstanceValidator.cs +++ b/Questionable/Questionable.Validation.Validators/SinglePlayerInstanceValidator.cs @@ -1,9 +1,5 @@ -using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Linq; -using System.Runtime.CompilerServices; using Questionable.Data; using Questionable.Model; using Questionable.Model.Questing; @@ -12,297 +8,6 @@ namespace Questionable.Validation.Validators; internal sealed class SinglePlayerInstanceValidator : IQuestValidator { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass2_0 - { - public byte index; - - internal bool _003CValidate_003Eb__0((QuestSequence Sequence, int StepId, QuestStep Step) x) - { - int num = ((_202B_200B_200C_200C_202D_202A_202E_200B_202B_202C_202B_202C_200D_200E_200B_202E_206E_206C_200B_200C_206A_202E_200F_206D_200F_202D_202B_202E_206A_200D_202A_206D_206F_206C_206D_202E_202E_206B_200C_202E(x.Step) != EInteractionType.SinglePlayerDuty) ? 393057114 : 393057113); - while (true) - { - int num2 = num; - int num3 = 393057115; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004f; - case 1: - return false; - case 2: - return _202C_206E_206C_206F_206F_206A_202D_206C_206D_200E_200F_202A_202A_200D_206D_206E_202D_202C_202D_206D_202D_206A_200E_202B_206B_202C_200F_202B_202E_200D_206C_200E_202E_202C_206B_202D_206D_200B_202D_202E(x.Step) == index; - } - continue; - IL_004f: - num = 393057113; - } - } - - static EInteractionType _202B_200B_200C_200C_202D_202A_202E_200B_202B_202C_202B_202C_200D_200E_200B_202E_206E_206C_200B_200C_206A_202E_200F_206D_200F_202D_202B_202E_206A_200D_202A_206D_206F_206C_206D_202E_202E_206B_200C_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static byte _202C_206E_206C_206F_206F_206A_202D_206C_206D_200E_200F_202A_202A_200D_206D_206E_202D_202C_202D_206D_202D_206A_200E_202B_206B_202C_200F_202B_202E_200D_206C_200E_202E_202C_206B_202D_206D_200B_202D_202E(QuestStep P_0) - { - return P_0.SinglePlayerDutyIndex; - } - } - - [CompilerGenerated] - private sealed class _003CValidate_003Ed__2 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ValidationIssue _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - public SinglePlayerInstanceValidator _003C_003E4__this; - - private Quest quest; - - public Quest _003C_003E3__quest; - - private List.Enumerator _003C_003E7__wrap1; - - ValidationIssue IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CValidate_003Ed__2(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _202E_202B_206A_200E_206D_206E_206E_206E_202B_200F_206B_200F_202E_200C_206B_202B_200B_206C_206E_206C_200D_202C_206C_206C_200D_202A_202E_202E_202A_206B_202B_206E_202D_200C_206A_206C_206B_202A_202C_206A_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = ((num == -3) ? (-1938689052) : (-1938689051)); - while (true) - { - int num3 = num2; - int num4 = -1938689052; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - default: - continue; - case 2: - num2 = -1938689051; - continue; - case 1: - if (num == 1) - { - num2 = -1938689052; - continue; - } - break; - case 0: - try - { - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003C_003E7__wrap1 = default(List.Enumerator); - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - try - { - int num = _003C_003E1__state; - SinglePlayerInstanceValidator singlePlayerInstanceValidator = _003C_003E4__this; - int num2 = ((num == 0) ? (-217172285) : (-217172288)); - List value = default(List); - _003C_003Ec__DisplayClass2_0 _003C_003Ec__DisplayClass2_ = default(_003C_003Ec__DisplayClass2_0); - while (true) - { - int num3 = num2; - int num4 = -217172283; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 8: - num2 = (_003C_003E7__wrap1.MoveNext() ? (-217172286) : (-217172283)); - break; - case 9: - _003C_003E7__wrap1 = value.GetEnumerator(); - _003C_003E1__state = -3; - num2 = -217172275; - break; - case 1: - return false; - case 7: - _003C_003Ec__DisplayClass2_ = new _003C_003Ec__DisplayClass2_0 - { - index = _003C_003E7__wrap1.Current - }; - num2 = (quest.AllSteps().Any(_003C_003Ec__DisplayClass2_._003CValidate_003Eb__0) ? (-217172275) : (-217172281)); - break; - case 6: - _003C_003E1__state = -1; - num2 = ((!singlePlayerInstanceValidator._questIdToDutyIndexes.TryGetValue(quest.Id, out value)) ? (-217172273) : (-217172276)); - break; - case 0: - _003C_003Em__Finally1(); - _003C_003E7__wrap1 = default(List.Enumerator); - num2 = -217172273; - break; - case 3: - _003C_003E1__state = -3; - num2 = -217172275; - break; - case 4: - num2 = -217172288; - break; - case 2: - { - ValidationIssue obj = new ValidationIssue - { - PathType = EPathType.Quest, - Id = _202D_206F_206C_206D_202C_200D_202E_206A_206D_206F_200C_202C_206D_202E_202A_200E_200F_202A_206A_200C_200C_202C_200D_200C_206B_206F_202E_200F_206A_200D_202E_206B_206F_200E_206D_202E_202D_200C_206F_200D_202E((object)quest.Id), - Location = null, - Type = EIssueType.UnusedSinglePlayerInstance, - Severity = EIssueSeverity.Error - }; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(32, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-1732898265)); - defaultInterpolatedStringHandler.AppendFormatted(_003C_003Ec__DisplayClass2_.index); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1502904909)); - obj.Description = defaultInterpolatedStringHandler.ToStringAndClear(); - _003C_003E2__current = obj; - _003C_003E1__state = 1; - return true; - } - case 5: - num2 = ((num == 1) ? (-217172282) : (-217172284)); - break; - case 10: - return false; - } - } - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - ((IDisposable)_003C_003E7__wrap1/*cast due to .constrained prefix*/).Dispose(); - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _200B_200D_202A_202C_200F_200F_206D_202C_200C_200E_200D_202B_206D_206F_202E_206F_200E_202D_200E_202C_206C_206D_200C_202D_206D_200D_200B_206C_202B_200E_202E_200D_202A_202E_200E_200B_206D_202C_202A_202A_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? (-105732161) : (-105732163)); - _003CValidate_003Ed__2 _003CValidate_003Ed__ = default(_003CValidate_003Ed__2); - while (true) - { - int num2 = num; - int num3 = -105732162; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -105732163; - break; - case 3: - num = ((_003C_003El__initialThreadId != _202E_202B_206A_200E_206D_206E_206E_206E_202B_200F_206B_200F_202E_200C_206B_202B_200B_206C_206E_206C_200D_202C_206C_206C_200D_202A_202E_202E_202A_206B_202B_206E_202D_200C_206A_206C_206B_202A_202C_206A_202E()) ? (-105732161) : (-105732166)); - break; - case 1: - _003CValidate_003Ed__ = new _003CValidate_003Ed__2(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = -105732162; - break; - case 0: - _003CValidate_003Ed__.quest = _003C_003E3__quest; - return _003CValidate_003Ed__; - case 4: - _003C_003E1__state = 0; - _003CValidate_003Ed__ = this; - num = -105732162; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _202E_202B_206A_200E_206D_206E_206E_206E_202B_200F_206B_200F_202E_200C_206B_202B_200B_206C_206E_206C_200D_202C_206C_206C_200D_202A_202E_202E_202A_206B_202B_206E_202D_200C_206A_206C_206B_202A_202C_206A_202E() - { - return Environment.CurrentManagedThreadId; - } - - static string _202D_206F_206C_206D_202C_200D_202E_206A_206D_206F_200C_202C_206D_202E_202A_200E_200F_202A_206A_200C_200C_202C_200D_200C_206B_206F_202E_200F_206A_200D_202E_206B_206F_200E_206D_202E_202D_200C_206F_200D_202E(object P_0) - { - return P_0.ToString(); - } - - static NotSupportedException _200B_200D_202A_202C_200F_200F_206D_202C_200C_200E_200D_202B_206D_206F_202E_206F_200E_202D_200E_202C_206C_206D_200C_202D_206D_200D_200B_206C_202B_200E_202E_200D_202A_202E_200E_200B_206D_202C_202A_202A_202E() - { - return new NotSupportedException(); - } - } - private readonly Dictionary> _questIdToDutyIndexes; public SinglePlayerInstanceValidator(TerritoryData territoryData) @@ -311,20 +16,26 @@ internal sealed class SinglePlayerInstanceValidator : IQuestValidator group x by x.QuestId).ToDictionary((IGrouping x) => x.Key, (IGrouping x) => x.Select(((ElementId QuestId, byte Index, TerritoryData.ContentFinderConditionData Data) y) => y.Index).ToList()); } - [IteratorStateMachine(typeof(_003CValidate_003Ed__2))] public IEnumerable Validate(Quest quest) { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CValidate_003Ed__2(-2) + if (!_questIdToDutyIndexes.TryGetValue(quest.Id, out List value)) { - _003C_003E4__this = this, - _003C_003E3__quest = quest - }; - } - - IEnumerable IQuestValidator.Validate(Quest quest) - { - //ILSpy generated this explicit interface implementation from .override directive in Validate - return this.Validate(quest); + yield break; + } + foreach (byte index in value) + { + if (!quest.AllSteps().Any<(QuestSequence, int, QuestStep)>(((QuestSequence Sequence, int StepId, QuestStep Step) x) => x.Step.InteractionType == EInteractionType.SinglePlayerDuty && x.Step.SinglePlayerDutyIndex == index)) + { + yield return new ValidationIssue + { + PathType = EPathType.Quest, + Id = quest.Id.ToString(), + Location = null, + Type = EIssueType.UnusedSinglePlayerInstance, + Severity = EIssueSeverity.Error, + Description = $"Single player instance {index} not used" + }; + } + } } } diff --git a/Questionable/Questionable.Validation.Validators/UniqueSinglePlayerInstanceValidator.cs b/Questionable/Questionable.Validation.Validators/UniqueSinglePlayerInstanceValidator.cs index 64a12cd..477d434 100644 --- a/Questionable/Questionable.Validation.Validators/UniqueSinglePlayerInstanceValidator.cs +++ b/Questionable/Questionable.Validation.Validators/UniqueSinglePlayerInstanceValidator.cs @@ -1,9 +1,5 @@ -using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Linq; -using System.Runtime.CompilerServices; using Questionable.Model; using Questionable.Model.Questing; @@ -11,297 +7,26 @@ namespace Questionable.Validation.Validators; internal sealed class UniqueSinglePlayerInstanceValidator : IQuestValidator { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func<(QuestSequence Sequence, int StepId, QuestStep Step), bool> _003C_003E9__0_0; - - public static Func<(QuestSequence Sequence, int StepId, QuestStep Step), (QuestSequence Sequence, int StepId, byte SinglePlayerDutyIndex)> _003C_003E9__0_1; - - public static Func<(QuestSequence Sequence, int StepId, byte SinglePlayerDutyIndex), byte> _003C_003E9__0_2; - - internal bool _003CValidate_003Eb__0_0((QuestSequence Sequence, int StepId, QuestStep Step) x) - { - return _206D_200E_202B_206B_200E_206F_202C_206B_206D_200C_206F_200F_206E_206F_202D_202D_200E_200F_202A_200C_206C_206A_206F_200C_206E_202C_200F_200B_200C_202B_200F_202C_200B_202E_202A_200D_206B_202C_200F_206B_202E(x.Step) == EInteractionType.SinglePlayerDuty; - } - - internal (QuestSequence Sequence, int StepId, byte SinglePlayerDutyIndex) _003CValidate_003Eb__0_1((QuestSequence Sequence, int StepId, QuestStep Step) x) - { - return (Sequence: x.Sequence, StepId: x.StepId, SinglePlayerDutyIndex: _206E_206D_202A_206D_200E_202A_206E_206A_200D_206B_206A_202D_202A_200D_200F_200B_200F_206B_206D_206D_202B_202B_200E_202C_200E_202D_202C_206B_206A_200C_206F_202E_202C_200E_202D_200D_202A_202B_200D_206F_202E(x.Step)); - } - - internal byte _003CValidate_003Eb__0_2((QuestSequence Sequence, int StepId, byte SinglePlayerDutyIndex) x) - { - return x.SinglePlayerDutyIndex; - } - - static EInteractionType _206D_200E_202B_206B_200E_206F_202C_206B_206D_200C_206F_200F_206E_206F_202D_202D_200E_200F_202A_200C_206C_206A_206F_200C_206E_202C_200F_200B_200C_202B_200F_202C_200B_202E_202A_200D_206B_202C_200F_206B_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static byte _206E_206D_202A_206D_200E_202A_206E_206A_200D_206B_206A_202D_202A_200D_200F_200B_200F_206B_206D_206D_202B_202B_200E_202C_200E_202D_202C_206B_206A_200C_206F_202E_202C_200E_202D_200D_202A_202B_200D_206F_202E(QuestStep P_0) - { - return P_0.SinglePlayerDutyIndex; - } - } - - [CompilerGenerated] - private sealed class _003CValidate_003Ed__0 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ValidationIssue _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - private Quest quest; - - public Quest _003C_003E3__quest; - - private List<(QuestSequence Sequence, int StepId, byte SinglePlayerDutyIndex)>.Enumerator _003C_003E7__wrap1; - - ValidationIssue IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CValidate_003Ed__0(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _206A_202A_202D_206E_202B_206A_206B_200C_200C_202C_202B_200F_202D_200D_206E_202C_206D_202E_200C_206B_200F_202B_200B_206E_200F_202E_202C_202B_200D_202C_206F_206B_202E_206D_206E_206E_200B_206E_200B_202D_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = ((num == -3) ? (-490829547) : (-490829546)); - while (true) - { - int num3 = num2; - int num4 = -490829548; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - default: - continue; - case 0: - num2 = -490829546; - continue; - case 2: - if (num == 1) - { - num2 = -490829547; - continue; - } - break; - case 1: - try - { - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003C_003E7__wrap1 = default(List<(QuestSequence, int, byte)>.Enumerator); - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - try - { - int num = _003C_003E1__state; - int num2 = ((num == 0) ? (-1518519538) : (-1518519550)); - List<(QuestSequence, int, byte)> list = default(List<(QuestSequence, int, byte)>); - while (true) - { - int num3 = num2; - int num4 = -1518519542; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - { - (QuestSequence, int, byte) current = _003C_003E7__wrap1.Current; - ValidationIssue obj = new ValidationIssue - { - PathType = EPathType.Quest, - Id = _200E_202D_200B_202C_200C_200F_200F_202A_202A_200C_206C_202B_200C_202C_200C_200C_200D_202A_202D_206B_200C_202C_202E_200E_206E_200E_206A_206D_206A_202E_200B_202D_202B_200E_206B_200D_200B_206E_200D_200E_202E((object)quest.Id), - Location = SchemaValidationHelper.FormatQuestLocation(_200D_206D_206B_202C_206D_202A_202A_206D_206F_206A_202A_206B_206B_200C_200E_202C_200B_206B_206E_206D_200E_206E_206E_202E_202E_200B_202D_200F_206A_200B_200E_200E_202A_206B_206C_206A_206D_202B_200B_200C_202E(current.Item1), current.Item2), - Type = EIssueType.DuplicateSinglePlayerInstance, - Severity = EIssueSeverity.Error - }; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(35, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-618147640)); - defaultInterpolatedStringHandler.AppendFormatted(current.Item3); - obj.Description = defaultInterpolatedStringHandler.ToStringAndClear(); - _003C_003E2__current = obj; - _003C_003E1__state = 1; - return true; - } - case 1: - _003C_003Em__Finally1(); - _003C_003E7__wrap1 = default(List<(QuestSequence, int, byte)>.Enumerator); - num2 = -1518519549; - break; - case 3: - return false; - case 8: - num2 = ((num == 1) ? (-1518519539) : (-1518519543)); - break; - case 7: - _003C_003E1__state = -3; - num2 = -1518519537; - break; - case 0: - num2 = -1518519550; - break; - case 6: - _003C_003E7__wrap1 = list.GetEnumerator(); - _003C_003E1__state = -3; - num2 = -1518519537; - break; - case 5: - num2 = (_003C_003E7__wrap1.MoveNext() ? (-1518519544) : (-1518519541)); - break; - case 4: - _003C_003E1__state = -1; - list = (from x in quest.AllSteps() - where _003C_003Ec._206D_200E_202B_206B_200E_206F_202C_206B_206D_200C_206F_200F_206E_206F_202D_202D_200E_200F_202A_200C_206C_206A_206F_200C_206E_202C_200F_200B_200C_202B_200F_202C_200B_202E_202A_200D_206B_202C_200F_206B_202E(x.Step) == EInteractionType.SinglePlayerDuty - select (Sequence: x.Sequence, StepId: x.StepId, SinglePlayerDutyIndex: _003C_003Ec._206E_206D_202A_206D_200E_202A_206E_206A_200D_206B_206A_202D_202A_200D_200F_200B_200F_206B_206D_206D_202B_202B_200E_202C_200E_202D_202C_206B_206A_200C_206F_202E_202C_200E_202D_200D_202A_202B_200D_206F_202E(x.Step))).ToList(); - num2 = ((list.DistinctBy<(QuestSequence, int, byte), byte>(((QuestSequence Sequence, int StepId, byte SinglePlayerDutyIndex) x) => x.SinglePlayerDutyIndex).Count() >= list.Count) ? (-1518519549) : (-1518519540)); - break; - case 9: - return false; - } - } - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - ((IDisposable)_003C_003E7__wrap1/*cast due to .constrained prefix*/).Dispose(); - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _206D_202C_200E_202D_200C_206B_202B_206D_202E_200B_200C_206A_206A_206F_206D_202A_206C_206D_200F_200E_206E_206E_200D_202C_202C_206B_206B_206E_206E_200F_200B_200C_200D_202D_206E_202C_206B_206E_200B_202D_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? (-1918141123) : (-1918141122)); - _003CValidate_003Ed__0 _003CValidate_003Ed__ = default(_003CValidate_003Ed__0); - while (true) - { - int num2 = num; - int num3 = -1918141121; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - _003CValidate_003Ed__.quest = _003C_003E3__quest; - return _003CValidate_003Ed__; - case 2: - _003CValidate_003Ed__ = new _003CValidate_003Ed__0(0); - num = -1918141121; - break; - case 3: - num = -1918141122; - break; - case 1: - num = ((_003C_003El__initialThreadId != _206A_202A_202D_206E_202B_206A_206B_200C_200C_202C_202B_200F_202D_200D_206E_202C_206D_202E_200C_206B_200F_202B_200B_206E_200F_202E_202C_202B_200D_202C_206F_206B_202E_206D_206E_206E_200B_206E_200B_202D_202E()) ? (-1918141123) : (-1918141125)); - break; - case 4: - _003C_003E1__state = 0; - _003CValidate_003Ed__ = this; - num = -1918141121; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _206A_202A_202D_206E_202B_206A_206B_200C_200C_202C_202B_200F_202D_200D_206E_202C_206D_202E_200C_206B_200F_202B_200B_206E_200F_202E_202C_202B_200D_202C_206F_206B_202E_206D_206E_206E_200B_206E_200B_202D_202E() - { - return Environment.CurrentManagedThreadId; - } - - static string _200E_202D_200B_202C_200C_200F_200F_202A_202A_200C_206C_202B_200C_202C_200C_200C_200D_202A_202D_206B_200C_202C_202E_200E_206E_200E_206A_206D_206A_202E_200B_202D_202B_200E_206B_200D_200B_206E_200D_200E_202E(object P_0) - { - return P_0.ToString(); - } - - static byte _200D_206D_206B_202C_206D_202A_202A_206D_206F_206A_202A_206B_206B_200C_200E_202C_200B_206B_206E_206D_200E_206E_206E_202E_202E_200B_202D_200F_206A_200B_200E_200E_202A_206B_206C_206A_206D_202B_200B_200C_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - - static NotSupportedException _206D_202C_200E_202D_200C_206B_202B_206D_202E_200B_200C_206A_206A_206F_206D_202A_206C_206D_200F_200E_206E_206E_200D_202C_202C_206B_206B_206E_206E_200F_200B_200C_200D_202D_206E_202C_206B_206E_200B_202D_202E() - { - return new NotSupportedException(); - } - } - - [IteratorStateMachine(typeof(_003CValidate_003Ed__0))] public IEnumerable Validate(Quest quest) { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CValidate_003Ed__0(-2) + List<(QuestSequence, int, byte)> list = (from x in quest.AllSteps() + where x.Step.InteractionType == EInteractionType.SinglePlayerDuty + select (Sequence: x.Sequence, StepId: x.StepId, SinglePlayerDutyIndex: x.Step.SinglePlayerDutyIndex)).ToList(); + if (list.DistinctBy<(QuestSequence, int, byte), byte>(((QuestSequence Sequence, int StepId, byte SinglePlayerDutyIndex) x) => x.SinglePlayerDutyIndex).Count() >= list.Count) { - _003C_003E3__quest = quest - }; - } - - IEnumerable IQuestValidator.Validate(Quest quest) - { - //ILSpy generated this explicit interface implementation from .override directive in Validate - return this.Validate(quest); + yield break; + } + foreach (var item in list) + { + yield return new ValidationIssue + { + PathType = EPathType.Quest, + Id = quest.Id.ToString(), + Location = SchemaValidationHelper.FormatQuestLocation(item.Item1.Sequence, item.Item2), + Type = EIssueType.DuplicateSinglePlayerInstance, + Severity = EIssueSeverity.Error, + Description = $"Duplicate singleplayer duty index: {item.Item3}" + }; + } } } diff --git a/Questionable/Questionable.Validation.Validators/UniqueStartStopValidator.cs b/Questionable/Questionable.Validation.Validators/UniqueStartStopValidator.cs index 0bd883d..3eba11e 100644 --- a/Questionable/Questionable.Validation.Validators/UniqueStartStopValidator.cs +++ b/Questionable/Questionable.Validation.Validators/UniqueStartStopValidator.cs @@ -1,9 +1,5 @@ -using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Linq; -using System.Runtime.CompilerServices; using Questionable.Model; using Questionable.Model.Questing; @@ -11,493 +7,75 @@ namespace Questionable.Validation.Validators; internal sealed class UniqueStartStopValidator : IQuestValidator { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func<(QuestSequence Sequence, int StepId, QuestStep Step), bool> _003C_003E9__0_0; - - public static Func<(QuestSequence Sequence, int StepId, QuestStep Step), bool> _003C_003E9__0_1; - - internal bool _003CValidate_003Eb__0_0((QuestSequence Sequence, int StepId, QuestStep Step) x) - { - return _200B_202D_206F_202E_202C_202A_202E_200C_200F_200F_202C_202D_206F_206B_200C_206A_206F_202E_202D_202D_206E_200D_202A_202A_206E_206C_206B_200B_206B_200D_206E_206D_202B_200D_200C_202A_206C_202C_206D_202A_202E(_202B_200E_202A_200E_206E_202A_206B_206B_206D_200D_206B_202D_202D_200D_200D_206C_200C_200C_206E_206E_202E_206C_206E_202E_206D_200B_206D_206F_200F_202A_206A_200F_206E_202D_202A_200C_206B_206B_200E_200E_202E(x.Step), (ElementId)null); - } - - internal bool _003CValidate_003Eb__0_1((QuestSequence Sequence, int StepId, QuestStep Step) x) - { - return _200B_202D_206F_202E_202C_202A_202E_200C_200F_200F_202C_202D_206F_206B_200C_206A_206F_202E_202D_202D_206E_200D_202A_202A_206E_206C_206B_200B_206B_200D_206E_206D_202B_200D_200C_202A_206C_202C_206D_202A_202E(_200D_200D_202A_202E_200D_202E_206E_200C_206A_206C_202A_200B_206A_200F_206E_202B_206B_200F_200D_206D_202E_200E_202A_206B_206F_206D_202D_206A_202B_200D_206B_200F_206C_200E_200C_206C_206C_202C_202E_206D_202E(x.Step), (ElementId)null); - } - - static ElementId _202B_200E_202A_200E_206E_202A_206B_206B_206D_200D_206B_202D_202D_200D_200D_206C_200C_200C_206E_206E_202E_206C_206E_202E_206D_200B_206D_206F_200F_202A_206A_200F_206E_202D_202A_200C_206B_206B_200E_200E_202E(QuestStep P_0) - { - return P_0.PickUpQuestId; - } - - static bool _200B_202D_206F_202E_202C_202A_202E_200C_200F_200F_202C_202D_206F_206B_200C_206A_206F_202E_202D_202D_206E_200D_202A_202A_206E_206C_206B_200B_206B_200D_206E_206D_202B_200D_200C_202A_206C_202C_206D_202A_202E(ElementId P_0, ElementId P_1) - { - return P_0 == P_1; - } - - static ElementId _200D_200D_202A_202E_200D_202E_206E_200C_206A_206C_202A_200B_206A_200F_206E_202B_206B_200F_200D_206D_202E_200E_202A_206B_206F_206D_202D_206A_202B_200D_206B_200F_206C_200E_200C_206C_206C_202C_202E_206D_202E(QuestStep P_0) - { - return P_0.TurnInQuestId; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass1_0 - { - public List interactionType; - - internal bool _003CFindQuestStepsWithInteractionType_003Eb__0((QuestSequence Sequence, int StepId, QuestStep Step) x) - { - return interactionType.Contains(_200B_202A_206B_200B_200E_202D_206F_202A_202B_202B_206E_202B_206B_202D_206E_200E_200B_206F_200D_200F_202A_202C_206A_202C_200B_200F_206A_200B_206D_200D_206D_202D_200B_200B_202C_202B_200E_206F_202D_206A_202E(x.Step)); - } - - static EInteractionType _200B_202A_206B_200B_200E_202D_206F_202A_202B_202B_206E_202B_206B_202D_206E_200E_200B_206F_200D_200F_202A_202C_206A_202C_200B_200F_206A_200B_206D_200D_206D_202D_200B_200B_202C_202B_200E_206F_202D_206A_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - } - - [CompilerGenerated] - private sealed class _003CValidate_003Ed__0 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private ValidationIssue _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - private Quest quest; - - public Quest _003C_003E3__quest; - - private bool _003CskipMissingStartStop_003E5__2; - - private List<(QuestSequence Sequence, int StepId, QuestStep Step)> _003CquestAccepts_003E5__3; - - private List<(QuestSequence Sequence, int StepId, QuestStep Step)> _003CquestCompletes_003E5__4; - - private List<(QuestSequence Sequence, int StepId, QuestStep Step)>.Enumerator _003C_003E7__wrap4; - - ValidationIssue IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CValidate_003Ed__0(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _202B_200B_202C_206C_206B_200C_206E_206E_202A_206F_200E_202A_202B_206E_202B_202D_206F_200E_200F_206A_202D_206A_200C_206B_200D_202A_200E_200D_202D_200E_200C_202B_206F_206B_200F_200B_200D_206C_200C_200E_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = ((num > -3) ? 654863638 : 654863634); - while (true) - { - int num3 = num2; - int num4 = 654863632; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - default: - continue; - case 3: - num2 = 654863634; - continue; - case 1: - num2 = ((num == -3) ? 654863639 : 654863637); - continue; - case 6: - num2 = ((num == 1) ? 654863639 : 654863632); - continue; - case 0: - if (num != 3) - { - num2 = 654863636; - continue; - } - goto IL_00f9; - case 2: - if (num != -4) - { - num2 = 654863633; - continue; - } - goto IL_00f9; - case 7: - try - { - } - finally - { - _003C_003Em__Finally1(); - } - break; - case 4: - case 5: - break; - IL_00f9: - try - { - } - finally - { - _003C_003Em__Finally2(); - } - break; - } - break; - } - _003CquestAccepts_003E5__3 = null; - _003CquestCompletes_003E5__4 = null; - _003C_003E7__wrap4 = default(List<(QuestSequence, int, QuestStep)>.Enumerator); - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - try - { - int num; - (QuestSequence, int, QuestStep) current2 = default((QuestSequence, int, QuestStep)); - (QuestSequence, int, QuestStep) current = default((QuestSequence, int, QuestStep)); - switch (_003C_003E1__state) - { - default: - num = -177960474; - goto IL_002d; - case 3: - _003C_003E1__state = -4; - num = -177960463; - goto IL_002d; - case 0: - goto IL_0189; - case 2: - goto IL_021b; - case 1: - goto IL_022e; - case 4: - goto IL_042d; - IL_002d: - while (true) - { - int num2 = num; - int num3 = -177960473; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = -177960474; - break; - case 23: - goto IL_00bd; - case 5: - goto IL_00f8; - case 14: - goto end_IL_002d; - case 17: - goto IL_0139; - case 6: - goto IL_0161; - case 11: - goto IL_0189; - case 20: - goto IL_021b; - case 12: - goto IL_022e; - case 4: - goto IL_0242; - case 19: - _003C_003E2__current = new ValidationIssue - { - PathType = EPathType.Quest, - Id = _200B_206B_200B_202A_202E_200B_202C_200B_200B_206D_206C_206E_206C_200F_202A_206C_206D_202A_206F_202A_206E_202B_200B_202D_206C_202A_206F_206E_206B_206E_206E_206F_200C_202B_206E_202A_206C_206B_200B_202B_202E((object)quest.Id), - Location = SchemaValidationHelper.FormatQuestLocation(0, null), - Type = EIssueType.MissingQuestAccept, - Severity = EIssueSeverity.Error, - Description = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1425508003) - }; - _003C_003E1__state = 2; - return true; - case 2: - _003C_003E2__current = new ValidationIssue - { - PathType = EPathType.Quest, - Id = _200B_206B_200B_202A_202E_200B_202C_200B_200B_206D_206C_206E_206C_200F_202A_206C_206D_202A_206F_202A_206E_202B_200B_202D_206C_202A_206F_206E_206B_206E_206E_206F_200C_202B_206E_202A_206C_206B_200B_202B_202E((object)quest.Id), - Location = SchemaValidationHelper.FormatQuestLocation(_200C_200D_206A_200B_200E_202D_200E_206C_200B_200D_202C_200F_200C_202C_206E_206F_200B_202D_206C_200B_202D_206C_206B_200E_200B_200D_200B_200E_206E_206D_202C_202C_206F_202D_200D_202D_202A_200E_206C_202D_202E(current2.Item1), current2.Item2), - Type = EIssueType.UnexpectedCompleteQuestStep, - Severity = EIssueSeverity.Error, - Description = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1505174393) - }; - _003C_003E1__state = 3; - return true; - case 9: - goto IL_0379; - case 8: - _003C_003E2__current = new ValidationIssue - { - PathType = EPathType.Quest, - Id = _200B_206B_200B_202A_202E_200B_202C_200B_200B_206D_206C_206E_206C_200F_202A_206C_206D_202A_206F_202A_206E_202B_200B_202D_206C_202A_206F_206E_206B_206E_206E_206F_200C_202B_206E_202A_206C_206B_200B_202B_202E((object)quest.Id), - Location = SchemaValidationHelper.FormatQuestLocation((byte)byte.MaxValue, null), - Type = EIssueType.MissingQuestComplete, - Severity = EIssueSeverity.Error, - Description = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1217373352) - }; - _003C_003E1__state = 4; - return true; - case 15: - goto IL_042d; - case 21: - goto IL_0440; - case 13: - _003CquestCompletes_003E5__4 = (from x in FindQuestStepsWithInteractionType(quest, new List { EInteractionType.CompleteQuest }) - where _003C_003Ec._200B_202D_206F_202E_202C_202A_202E_200C_200F_200F_202C_202D_206F_206B_200C_206A_206F_202E_202D_202D_206E_200D_202A_202A_206E_206C_206B_200B_206B_200D_206E_206D_202B_200D_200C_202A_206C_202C_206D_202A_202E(_003C_003Ec._200D_200D_202A_202E_200D_202E_206E_200C_206A_206C_202A_200B_206A_200F_206E_202B_206B_200F_200D_206D_202E_200E_202A_206B_206F_206D_202D_206A_202B_200D_206B_200F_206C_200E_200C_206C_206C_202C_202E_206D_202E(x.Step), (ElementId)null) - select x).ToList(); - _003C_003E7__wrap4 = _003CquestCompletes_003E5__4.GetEnumerator(); - _003C_003E1__state = -4; - num = -177960463; - break; - case 1: - return false; - case 24: - _003C_003E2__current = new ValidationIssue - { - PathType = EPathType.Quest, - Id = _200B_206B_200B_202A_202E_200B_202C_200B_200B_206D_206C_206E_206C_200F_202A_206C_206D_202A_206F_202A_206E_202B_200B_202D_206C_202A_206F_206E_206B_206E_206E_206F_200C_202B_206E_202A_206C_206B_200B_202B_202E((object)quest.Id), - Location = SchemaValidationHelper.FormatQuestLocation(_200C_200D_206A_200B_200E_202D_200E_206C_200B_200D_202C_200F_200C_202C_206E_206F_200B_202D_206C_200B_202D_206C_206B_200E_200B_200D_200B_200E_206E_206D_202C_202C_206F_202D_200D_202D_202A_200E_206C_202D_202E(current.Item1), current.Item2), - Type = EIssueType.UnexpectedAcceptQuestStep, - Severity = EIssueSeverity.Error, - Description = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-230957138) - }; - _003C_003E1__state = 1; - return true; - case 22: - goto IL_0572; - case 10: - goto IL_059a; - case 18: - goto IL_05da; - case 7: - goto IL_0615; - case 0: - goto IL_063d; - case 16: - return false; - } - continue; - IL_063d: - _003C_003Em__Finally2(); - _003C_003E7__wrap4 = default(List<(QuestSequence, int, QuestStep)>.Enumerator); - num = (_003CskipMissingStartStop_003E5__2 ? (-177960457) : (-177960478)); - continue; - IL_0572: - num = (_003C_003E7__wrap4.MoveNext() ? (-177960459) : (-177960473)); - continue; - IL_00f8: - num = ((quest.FindSequence(byte.MaxValue) == null) ? (-177960457) : (-177960480)); - continue; - IL_0615: - num = ((_003CquestCompletes_003E5__4.Count != 0) ? (-177960457) : (-177960465)); - continue; - IL_0242: - current = _003C_003E7__wrap4.Current; - num = ((_200C_200D_206A_200B_200E_202D_200E_206C_200B_200D_202C_200F_200C_202C_206E_206F_200B_202D_206C_200B_202D_206C_206B_200E_200B_200D_200B_200E_206E_206D_202C_202C_206F_202D_200D_202D_202A_200E_206C_202D_202E(current.Item1) != 0) ? (-177960449) : (-177960464)); - continue; - IL_0440: - num = ((quest.FindSequence(0) == null) ? (-177960470) : (-177960458)); - continue; - IL_05da: - current2 = _003C_003E7__wrap4.Current; - num = ((_200C_200D_206A_200B_200E_202D_200E_206C_200B_200D_202C_200F_200C_202C_206E_206F_200B_202D_206C_200B_202D_206C_206B_200E_200B_200D_200B_200E_206E_206D_202C_202C_206F_202D_200D_202D_202A_200E_206C_202D_202E(current2.Item1) != byte.MaxValue) ? (-177960475) : (-177960467)); - continue; - IL_00bd: - num = ((current.Item2 == _200E_202C_200D_202C_200D_202B_202E_206B_202E_200C_200C_206F_202E_206C_202C_202D_206C_202C_202B_206C_202C_206B_200C_206E_206E_200C_206D_202A_200F_206F_202B_202C_200E_206D_206F_206D_206E_202B_202B_206F_202E(quest.FindSequence(0)).Count - 1) ? (-177960479) : (-177960449)); - continue; - IL_0139: - num = ((_003CquestAccepts_003E5__3.Count != 0) ? (-177960470) : (-177960460)); - continue; - IL_059a: - num = ((current2.Item2 == _200E_202C_200D_202C_200D_202B_202E_206B_202E_200C_200C_206F_202E_206C_202C_202D_206C_202C_202B_206C_202C_206B_200C_206E_206E_200C_206D_202A_200F_206F_202B_202C_200E_206D_206F_206D_206E_202B_202B_206F_202E(quest.FindSequence(byte.MaxValue)).Count - 1) ? (-177960463) : (-177960475)); - continue; - IL_0379: - _003C_003Em__Finally1(); - _003C_003E7__wrap4 = default(List<(QuestSequence, int, QuestStep)>.Enumerator); - num = (_003CskipMissingStartStop_003E5__2 ? (-177960470) : (-177960462)); - continue; - IL_0161: - num = (_003C_003E7__wrap4.MoveNext() ? (-177960477) : (-177960466)); - continue; - end_IL_002d: - break; - } - goto case 3; - IL_042d: - _003C_003E1__state = -1; - num = -177960457; - goto IL_002d; - IL_022e: - _003C_003E1__state = -3; - num = -177960479; - goto IL_002d; - IL_021b: - _003C_003E1__state = -1; - num = -177960470; - goto IL_002d; - IL_0189: - _003C_003E1__state = -1; - _003CskipMissingStartStop_003E5__2 = !(quest.Id is QuestId); - _003CquestAccepts_003E5__3 = (from x in FindQuestStepsWithInteractionType(quest, new List { EInteractionType.AcceptQuest }) - where _003C_003Ec._200B_202D_206F_202E_202C_202A_202E_200C_200F_200F_202C_202D_206F_206B_200C_206A_206F_202E_202D_202D_206E_200D_202A_202A_206E_206C_206B_200B_206B_200D_206E_206D_202B_200D_200C_202A_206C_202C_206D_202A_202E(_003C_003Ec._202B_200E_202A_200E_206E_202A_206B_206B_206D_200D_206B_202D_202D_200D_200D_206C_200C_200C_206E_206E_202E_206C_206E_202E_206D_200B_206D_206F_200F_202A_206A_200F_206E_202D_202A_200C_206B_206B_200E_200E_202E(x.Step), (ElementId)null) - select x).ToList(); - _003C_003E7__wrap4 = _003CquestAccepts_003E5__3.GetEnumerator(); - _003C_003E1__state = -3; - num = -177960479; - goto IL_002d; - } - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - ((IDisposable)_003C_003E7__wrap4/*cast due to .constrained prefix*/).Dispose(); - } - - private void _003C_003Em__Finally2() - { - _003C_003E1__state = -1; - ((IDisposable)_003C_003E7__wrap4/*cast due to .constrained prefix*/).Dispose(); - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _206F_202E_206A_202E_206E_200D_202A_206F_200D_202A_200E_202A_202E_200E_202C_206B_200C_206C_200B_206A_202C_202C_202D_206F_202C_200C_206B_206D_206F_200D_200D_200E_202C_206C_200F_202C_200C_206F_202E_202E_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? 1591254497 : 1591254499); - _003CValidate_003Ed__0 _003CValidate_003Ed__ = default(_003CValidate_003Ed__0); - while (true) - { - int num2 = num; - int num3 = 1591254498; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1591254499; - break; - case 2: - _003CValidate_003Ed__.quest = _003C_003E3__quest; - return _003CValidate_003Ed__; - case 1: - num = ((_003C_003El__initialThreadId != _202B_200B_202C_206C_206B_200C_206E_206E_202A_206F_200E_202A_202B_206E_202B_202D_206F_200E_200F_206A_202D_206A_200C_206B_200D_202A_200E_200D_202D_200E_200C_202B_206F_206B_200F_200B_200D_206C_200C_200E_202E()) ? 1591254497 : 1591254502); - break; - case 3: - _003CValidate_003Ed__ = new _003CValidate_003Ed__0(0); - num = 1591254496; - break; - case 4: - _003C_003E1__state = 0; - _003CValidate_003Ed__ = this; - num = 1591254496; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _202B_200B_202C_206C_206B_200C_206E_206E_202A_206F_200E_202A_202B_206E_202B_202D_206F_200E_200F_206A_202D_206A_200C_206B_200D_202A_200E_200D_202D_200E_200C_202B_206F_206B_200F_200B_200D_206C_200C_200E_202E() - { - return Environment.CurrentManagedThreadId; - } - - static byte _200C_200D_206A_200B_200E_202D_200E_206C_200B_200D_202C_200F_200C_202C_206E_206F_200B_202D_206C_200B_202D_206C_206B_200E_200B_200D_200B_200E_206E_206D_202C_202C_206F_202D_200D_202D_202A_200E_206C_202D_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - - static List _200E_202C_200D_202C_200D_202B_202E_206B_202E_200C_200C_206F_202E_206C_202C_202D_206C_202C_202B_206C_202C_206B_200C_206E_206E_200C_206D_202A_200F_206F_202B_202C_200E_206D_206F_206D_206E_202B_202B_206F_202E(QuestSequence P_0) - { - return P_0.Steps; - } - - static string _200B_206B_200B_202A_202E_200B_202C_200B_200B_206D_206C_206E_206C_200F_202A_206C_206D_202A_206F_202A_206E_202B_200B_202D_206C_202A_206F_206E_206B_206E_206E_206F_200C_202B_206E_202A_206C_206B_200B_202B_202E(object P_0) - { - return P_0.ToString(); - } - - static NotSupportedException _206F_202E_206A_202E_206E_200D_202A_206F_200D_202A_200E_202A_202E_200E_202C_206B_200C_206C_200B_206A_202C_202C_202D_206F_202C_200C_206B_206D_206F_200D_200D_200E_202C_206C_200F_202C_200C_206F_202E_202E_202E() - { - return new NotSupportedException(); - } - } - - [IteratorStateMachine(typeof(_003CValidate_003Ed__0))] public IEnumerable Validate(Quest quest) { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CValidate_003Ed__0(-2) + bool skipMissingStartStop = !(quest.Id is QuestId); + List<(QuestSequence Sequence, int StepId, QuestStep Step)> questAccepts = (from x in FindQuestStepsWithInteractionType(quest, new List { EInteractionType.AcceptQuest }) + where x.Step.PickUpQuestId == null + select x).ToList(); + foreach (var item in questAccepts) { - _003C_003E3__quest = quest - }; - } - - IEnumerable IQuestValidator.Validate(Quest quest) - { - //ILSpy generated this explicit interface implementation from .override directive in Validate - return this.Validate(quest); + if (item.Sequence.Sequence != 0 || item.StepId != quest.FindSequence(0).Steps.Count - 1) + { + yield return new ValidationIssue + { + PathType = EPathType.Quest, + Id = quest.Id.ToString(), + Location = SchemaValidationHelper.FormatQuestLocation(item.Sequence.Sequence, item.StepId), + Type = EIssueType.UnexpectedAcceptQuestStep, + Severity = EIssueSeverity.Error, + Description = "Unexpected AcceptQuest step" + }; + } + } + if (!skipMissingStartStop && quest.FindSequence(0) != null && questAccepts.Count == 0) + { + yield return new ValidationIssue + { + PathType = EPathType.Quest, + Id = quest.Id.ToString(), + Location = SchemaValidationHelper.FormatQuestLocation(0, null), + Type = EIssueType.MissingQuestAccept, + Severity = EIssueSeverity.Error, + Description = "No AcceptQuest step" + }; + } + List<(QuestSequence Sequence, int StepId, QuestStep Step)> questCompletes = (from x in FindQuestStepsWithInteractionType(quest, new List { EInteractionType.CompleteQuest }) + where x.Step.TurnInQuestId == null + select x).ToList(); + foreach (var item2 in questCompletes) + { + if (item2.Sequence.Sequence != byte.MaxValue || item2.StepId != quest.FindSequence(byte.MaxValue).Steps.Count - 1) + { + yield return new ValidationIssue + { + PathType = EPathType.Quest, + Id = quest.Id.ToString(), + Location = SchemaValidationHelper.FormatQuestLocation(item2.Sequence.Sequence, item2.StepId), + Type = EIssueType.UnexpectedCompleteQuestStep, + Severity = EIssueSeverity.Error, + Description = "Unexpected CompleteQuest step" + }; + } + } + if (!skipMissingStartStop && quest.FindSequence(byte.MaxValue) != null && questCompletes.Count == 0) + { + yield return new ValidationIssue + { + PathType = EPathType.Quest, + Id = quest.Id.ToString(), + Location = SchemaValidationHelper.FormatQuestLocation((byte)byte.MaxValue, null), + Type = EIssueType.MissingQuestComplete, + Severity = EIssueSeverity.Error, + Description = "No CompleteQuest step" + }; + } } private static IEnumerable<(QuestSequence Sequence, int StepId, QuestStep Step)> FindQuestStepsWithInteractionType(Quest quest, List interactionType) { return from x in quest.AllSteps() - where interactionType.Contains(_003C_003Ec__DisplayClass1_0._200B_202A_206B_200B_200E_202D_206F_202A_202B_202B_206E_202B_206B_202D_206E_200E_200B_206F_200D_200F_202A_202C_206A_202C_200B_200F_206A_200B_206D_200D_206D_202D_200B_200B_202C_202B_200E_206F_202D_206A_202E(x.Step)) + where interactionType.Contains(x.Step.InteractionType) select x; } } diff --git a/Questionable/Questionable.Validation/QuestValidator.cs b/Questionable/Questionable.Validation/QuestValidator.cs index df4fef2..ca67951 100644 --- a/Questionable/Questionable.Validation/QuestValidator.cs +++ b/Questionable/Questionable.Validation/QuestValidator.cs @@ -1,9 +1,6 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Linq; -using System.Reflection; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Threading; using System.Threading.Tasks; @@ -16,592 +13,11 @@ namespace Questionable.Validation; internal sealed class QuestValidator { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__4_0; - - public static Func _003C_003E9__10_0; - - public static Func _003C_003E9__12_0; - - public static Func _003C_003E9__15_1; - - public static Func _003C_003E9__15_2; - - public static Func _003C_003E9__15_4; - - public static Func _003C_003E9__15_5; - - public static Func _003C_003E9__15_6; - - public static Func _003C_003E9__15_7; - - public static Func>, EAlliedSociety> _003C_003E9__17_0; - - public static Func _003C_003E9__17_2; - - public static Func>, ValidationIssue> _003C_003E9__17_1; - - public static Func _003C_003E9__18_0; - - public static Func _003C_003E9__18_1; - - public static Func _003C_003E9__18_2; - - public static Func _003C_003E9__19_0; - - public static Func _003C_003E9__19_1; - - public static Func _003C_003E9__19_2; - - internal string _003C_002Ector_003Eb__4_0(IQuestValidator x) - { - return _206C_202D_206F_200B_200D_206B_200C_202C_206C_206B_206A_206F_200F_206E_202D_200D_200B_200F_200D_202C_200B_200D_206F_200F_206B_202C_202D_206A_206A_202C_206D_202D_206A_200F_206E_202B_202A_202E_200E_202E((MemberInfo)_200D_206B_206C_202D_202C_202D_202B_200D_200D_200F_202B_206F_206E_202C_206D_206E_206E_202E_200B_206B_202E_206B_206D_200C_200E_200D_202E_200D_202A_202B_206E_206C_200B_202E_206C_200E_202B_200E_202A_202C_202E((object)x)); - } - - internal bool _003Cget_ErrorCount_003Eb__10_0(ValidationIssue x) - { - return x.Severity == EIssueSeverity.Error; - } - - internal bool _003Cget_WarningCount_003Eb__12_0(ValidationIssue x) - { - return x.Severity == EIssueSeverity.Warning; - } - - internal bool _003CValidate_003Eb__15_1(ValidationIssue x) - { - return x.Type == EIssueType.QuestDisabled; - } - - internal string _003CValidate_003Eb__15_2(ValidationIssue x) - { - return x.Id; - } - - internal EPathType _003CValidate_003Eb__15_4(ValidationIssue x) - { - return x.PathType; - } - - internal string _003CValidate_003Eb__15_5(ValidationIssue x) - { - return x.Id; - } - - internal string _003CValidate_003Eb__15_6(ValidationIssue x) - { - return x.Location; - } - - internal string _003CValidate_003Eb__15_7(ValidationIssue x) - { - return x.Description; - } - - internal EAlliedSociety _003CDisabledTribesAsIssues_003Eb__17_0(KeyValuePair> x) - { - return x.Key; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal ValidationIssue _003CDisabledTribesAsIssues_003Eb__17_1(KeyValuePair> x) - { - int num = ((x.Value.Count > 0) ? 617142778 : 617142779); - string text; - while (true) - { - int num2 = num; - int num3 = 617142778; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 2: - goto IL_0050; - case 1: - text = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1756725644); - break; - case 0: - text = _202C_202E_206B_200F_202C_206C_200D_206F_206D_202B_206F_206F_202D_206D_200D_200D_202A_206A_206A_202B_200C_200B_206D_202A_200B_200E_202E_206A_200E_200E_200C_206F_206B_206D_206C_206A_206B_202A_200C_202E_202E(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(-1095822044), x.Value.Select((ElementId id) => _206B_202B_202A_202E_206B_200B_202A_200D_200D_200E_202E_200D_202B_206C_200B_200F_206F_202A_202B_206C_200D_202B_206A_202A_206D_206E_200E_200D_200D_202A_202C_206A_206D_200C_200C_206A_202A_206C_202B_206D_202E((object)id))); - break; - } - break; - IL_0050: - num = 617142779; - } - string value = text; - ValidationIssue obj = new ValidationIssue - { - PathType = EPathType.Quest, - Id = null, - Location = null, - Type = EIssueType.QuestDisabled, - Severity = EIssueSeverity.None - }; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(15, 4); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1463938997)); - defaultInterpolatedStringHandler.AppendFormatted(x.Key); - defaultInterpolatedStringHandler.AppendLiteral(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(-900750902)); - defaultInterpolatedStringHandler.AppendFormatted(x.Value.Count); - defaultInterpolatedStringHandler.AppendLiteral(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(-92874207)); - defaultInterpolatedStringHandler.AppendFormatted((x.Value.Count == 1) ? global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(308044519) : global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1238320320)); - defaultInterpolatedStringHandler.AppendLiteral(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(-437343681)); - defaultInterpolatedStringHandler.AppendFormatted(value); - obj.Description = defaultInterpolatedStringHandler.ToStringAndClear(); - return obj; - } - - internal string _003CDisabledTribesAsIssues_003Eb__17_2(ElementId id) - { - return _206B_202B_202A_202E_206B_200B_202A_200D_200D_200E_202E_200D_202B_206C_200B_200F_206F_202A_202B_206C_200D_202B_206A_202A_206D_206E_200E_200D_200D_202A_202C_206A_206D_200C_200C_206A_202A_206C_202B_206D_202E((object)id); - } - - internal byte? _003CValidateQuestSync_003Eb__18_0(ValidationIssue x) - { - return x.Sequence; - } - - internal int? _003CValidateQuestSync_003Eb__18_1(ValidationIssue x) - { - return x.Step; - } - - internal string _003CValidateQuestSync_003Eb__18_2(ValidationIssue x) - { - return x.Description; - } - - internal byte? _003CValidateSchemaSync_003Eb__19_0(ValidationIssue x) - { - return x.Sequence; - } - - internal int? _003CValidateSchemaSync_003Eb__19_1(ValidationIssue x) - { - return x.Step; - } - - internal string _003CValidateSchemaSync_003Eb__19_2(ValidationIssue x) - { - return x.Description; - } - - static Type _200D_206B_206C_202D_202C_202D_202B_200D_200D_200F_202B_206F_206E_202C_206D_206E_206E_202E_200B_206B_202E_206B_206D_200C_200E_200D_202E_200D_202A_202B_206E_206C_200B_202E_206C_200E_202B_200E_202A_202C_202E(object P_0) - { - return P_0.GetType(); - } - - static string _206C_202D_206F_200B_200D_206B_200C_202C_206C_206B_206A_206F_200F_206E_202D_200D_200B_200F_200D_202C_200B_200D_206F_200F_206B_202C_202D_206A_206A_202C_206D_202D_206A_200F_206E_202B_202A_202E_200E_202E(MemberInfo P_0) - { - return P_0.Name; - } - - static string _202C_202E_206B_200F_202C_206C_200D_206F_206D_202B_206F_206F_202D_206D_200D_200D_202A_206A_206A_202B_200C_200B_206D_202A_200B_200E_202E_206A_200E_200E_200C_206F_206B_206D_206C_206A_206B_202A_200C_202E_202E(string P_0, IEnumerable P_1) - { - return string.Join(P_0, P_1); - } - - static string _206B_202B_202A_202E_206B_200B_202A_200D_200D_200E_202E_200D_202B_206C_200B_200F_206F_202A_202B_206C_200D_202B_206A_202A_206D_206E_200E_200D_200D_202A_202C_206A_206D_200C_200C_206A_202A_206C_202B_206D_202E(object P_0) - { - return P_0.ToString(); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass15_0 - { - public QuestValidator _003C_003E4__this; - - public IEnumerable quests; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal void _003CValidate_003Eb__0() - { - try - { - _003C_003Ec__DisplayClass15_1 CS_0024_003C_003E8__locals2 = new _003C_003Ec__DisplayClass15_1(); - object obj = _003C_003E4__this._lock; - bool flag = false; - List validationIssues; - try - { - _202A_202B_206E_206E_202E_202C_200E_202C_200B_200C_206A_206E_206A_206B_200C_206A_206B_202C_202B_200B_206F_202D_206B_200C_200F_206E_200C_200C_206F_206E_200F_202B_206F_206C_200F_202B_206E_206D_200D_200E_202E(obj, ref flag); - validationIssues = _003C_003E4__this._validationIssues; - } - finally - { - int num = ((!flag) ? 1225999187 : 1225999186); - while (true) - { - int num2 = num; - int num3 = 1225999187; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1225999186; - break; - case 0: - goto end_IL_004f; - case 1: - _206C_200F_200F_206B_202C_206C_202C_206D_202A_200B_200F_206B_200C_202B_200C_206D_206D_202A_200D_202D_200B_202E_202C_206F_206C_200B_206F_206F_202D_206F_206A_202A_202C_206B_202E_200B_206F_206E_202D_200C_202E(obj); - num = 1225999187; - break; - } - continue; - end_IL_004f: - break; - } - } - List list = new List(); - Dictionary> dictionary = new Dictionary>(); - IEnumerator enumerator = quests.GetEnumerator(); - try - { - List value = default(List); - ValidationIssue current2 = default(ValidationIssue); - while (_206D_200D_206B_200D_206F_200B_200D_202D_206E_206D_206E_202D_206C_202A_200F_202D_200E_200D_202E_206A_206F_202E_200F_200D_200F_206A_200C_206A_202D_206A_200B_200B_206D_202C_206D_206F_202B_206C_206A_202E((IEnumerator)enumerator)) - { - Quest current = enumerator.Current; - IEnumerator enumerator2 = _003C_003E4__this._validators.GetEnumerator(); - try - { - while (_206D_200D_206B_200D_206F_200B_200D_202D_206E_206D_206E_202D_206C_202A_200F_202D_200E_200D_202E_206A_206F_202E_200F_200D_200F_206A_200C_206A_202D_206A_200B_200B_206D_202C_206D_206F_202B_206C_206A_202E((IEnumerator)enumerator2)) - { - IEnumerator enumerator3 = enumerator2.Current.Validate(current).GetEnumerator(); - try - { - int num = 1611230640; - while (true) - { - int num5 = num; - int num3 = 1611230646; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 7: - value = new List(); - dictionary[current.Info.AlliedSociety] = value; - num = 1611230646; - break; - case 6: - num = (_206D_200D_206B_200D_206F_200B_200D_202D_206E_206D_206E_202D_206C_202A_200F_202D_200E_200D_202E_206A_206F_202E_200F_200D_200F_206A_200C_206A_202D_206A_200B_200B_206D_202C_206D_206F_202B_206C_206A_202E((IEnumerator)enumerator3) ? 1611230654 : 1611230647); - break; - case 8: - current2 = enumerator3.Current; - num = ((current2.Type != EIssueType.QuestDisabled) ? 1611230643 : 1611230644); - break; - case 3: - num = (dictionary.TryGetValue(current.Info.AlliedSociety, out value) ? 1611230646 : 1611230641); - break; - case 4: - num = 1611230640; - break; - case 0: - value.Add(current.Id); - num = 1611230640; - break; - case 5: - list.Add(current2); - num = 1611230640; - break; - case 2: - num = ((current.Info.AlliedSociety == EAlliedSociety.None) ? 1611230643 : 1611230645); - break; - case 1: - goto end_IL_00fa; - } - continue; - end_IL_00fa: - break; - } - } - finally - { - int num = ((enumerator3 == null) ? (-781546946) : (-781546945)); - while (true) - { - int num8 = num; - int num3 = -781546946; - int num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto end_IL_0272; - case 1: - _200F_206B_206B_202E_202B_206F_206A_200C_202D_200F_200E_202C_202A_206B_206C_202C_202C_202D_206C_200D_206A_206C_200D_202E_200C_206C_202A_206C_206D_206A_200B_206C_200B_202E_206F_206F_200F_202E_200C_206D_202E((IDisposable)enumerator3); - num = -781546946; - break; - case 2: - num = -781546945; - break; - } - continue; - end_IL_0272: - break; - } - } - } - } - finally - { - int num = ((enumerator2 == null) ? 1631067796 : 1631067797); - while (true) - { - int num9 = num; - int num3 = 1631067796; - int num4 = num9; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1631067797; - break; - case 0: - goto end_IL_02ee; - case 1: - _200F_206B_206B_202E_202B_206F_206A_200C_202D_200F_200E_202C_202A_206B_206C_202C_202C_202D_206C_200D_206A_206C_200D_202E_200C_206C_202A_206C_206D_206A_200B_206C_200B_202E_206F_206F_200F_202E_200C_206D_202E((IDisposable)enumerator2); - num = 1631067796; - break; - } - continue; - end_IL_02ee: - break; - } - } - } - } - finally - { - int num = ((enumerator == null) ? (-989991724) : (-989991723)); - while (true) - { - int num10 = num; - int num3 = -989991724; - int num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -989991723; - break; - case 0: - goto end_IL_036a; - case 1: - _200F_206B_206B_202E_202B_206F_206A_200C_202D_200F_200E_202C_202A_206B_206C_202C_202C_202D_206C_200D_206A_206C_200D_202E_200C_206C_202A_206C_206D_206A_200B_206C_200B_202E_206F_206F_200F_202E_200C_206D_202E((IDisposable)enumerator); - num = -989991724; - break; - } - continue; - end_IL_036a: - break; - } - } - CS_0024_003C_003E8__locals2.disabledQuests = (from x in list - where x.Type == EIssueType.QuestDisabled - select x.Id).ToList(); - List list2 = (from x in validationIssues.Concat(list.Where(delegate(ValidationIssue x) - { - int num15 = ((!CS_0024_003C_003E8__locals2.disabledQuests.Contains(x.Id)) ? 1289967941 : 1289967942); - while (true) - { - int num16 = num15; - int num17 = 1289967940; - int num18 = num16; - switch ((num18 | num17) - (num18 & num17)) - { - case 0: - goto IL_0051; - case 1: - return true; - case 2: - return x.Type == EIssueType.QuestDisabled; - } - continue; - IL_0051: - num15 = 1289967942; - } - })).Concat(DisabledTribesAsIssues(dictionary)) - orderby x.PathType, x.Id, x.Location, x.Description - select x).ToList(); - obj = _003C_003E4__this._lock; - flag = false; - try - { - _202A_202B_206E_206E_202E_202C_200E_202C_200B_200C_206A_206E_206A_206B_200C_206A_206B_202C_202B_200B_206F_202D_206B_200C_200F_206E_200C_200C_206F_206E_200F_202B_206F_206C_200F_202B_206E_206D_200D_200E_202E(obj, ref flag); - int num = ((_003C_003E4__this._validationIssues.Count <= validationIssues.Count) ? (-500434587) : (-500434588)); - while (true) - { - int num11 = num; - int num3 = -500434587; - int num4 = num11; - int num12 = num4 + num3; - int num13 = num4 & num3; - switch (num12 - (num13 + num13)) - { - case 2: - num = -500434588; - break; - case 1: - list2.AddRange(_003C_003E4__this._validationIssues.Skip(validationIssues.Count)); - num = -500434587; - break; - case 0: - _003C_003E4__this._validationIssues = list2; - return; - } - } - } - finally - { - int num = ((!flag) ? (-2020487653) : (-2020487654)); - while (true) - { - int num14 = num; - int num3 = -2020487653; - int num4 = num14; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -2020487654; - break; - case 0: - goto end_IL_05b6; - case 1: - _206C_200F_200F_206B_202C_206C_202C_206D_202A_200B_200F_206B_200C_202B_200C_206D_206D_202A_200D_202D_200B_202E_202C_206F_206C_200B_206F_206F_202D_206F_206A_202A_202C_206B_202E_200B_206F_206E_202D_200C_202E(obj); - num = -2020487653; - break; - } - continue; - end_IL_05b6: - break; - } - } - } - catch (Exception ex) - { - _202E_202D_200E_200B_202D_200C_202C_202D_202E_206B_206A_202A_206C_202A_200B_200C_202B_200B_200C_200F_200E_206E_202B_206C_206D_206F_202D_202C_202B_202A_200E_206A_200B_202B_202B_200D_200F_202E_202A_206C_202E((ILogger)_003C_003E4__this._logger, ex, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(479815651), Array.Empty()); - } - } - - static void _202A_202B_206E_206E_202E_202C_200E_202C_200B_200C_206A_206E_206A_206B_200C_206A_206B_202C_202B_200B_206F_202D_206B_200C_200F_206E_200C_200C_206F_206E_200F_202B_206F_206C_200F_202B_206E_206D_200D_200E_202E(object P_0, ref bool P_1) - { - Monitor.Enter(P_0, ref P_1); - } - - static void _206C_200F_200F_206B_202C_206C_202C_206D_202A_200B_200F_206B_200C_202B_200C_206D_206D_202A_200D_202D_200B_202E_202C_206F_206C_200B_206F_206F_202D_206F_206A_202A_202C_206B_202E_200B_206F_206E_202D_200C_202E(object P_0) - { - Monitor.Exit(P_0); - } - - static bool _206D_200D_206B_200D_206F_200B_200D_202D_206E_206D_206E_202D_206C_202A_200F_202D_200E_200D_202E_206A_206F_202E_200F_200D_200F_206A_200C_206A_202D_206A_200B_200B_206D_202C_206D_206F_202B_206C_206A_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200F_206B_206B_202E_202B_206F_206A_200C_202D_200F_200E_202C_202A_206B_206C_202C_202C_202D_206C_200D_206A_206C_200D_202E_200C_206C_202A_206C_206D_206A_200B_206C_200B_202E_206F_206F_200F_202E_200C_206D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _202E_202D_200E_200B_202D_200C_202C_202D_202E_206B_206A_202A_206C_202A_200B_200C_202B_200B_200C_200F_200E_206E_202B_206C_206D_206F_202D_202C_202B_202A_200E_206A_200B_202B_202B_200D_200F_202E_202A_206C_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass15_1 - { - public List disabledQuests; - - internal bool _003CValidate_003Eb__3(ValidationIssue x) - { - int num = ((!disabledQuests.Contains(x.Id)) ? 1289967941 : 1289967942); - while (true) - { - int num2 = num; - int num3 = 1289967940; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0051; - case 1: - return true; - case 2: - return x.Type == EIssueType.QuestDisabled; - } - continue; - IL_0051: - num = 1289967942; - } - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass16_0 - { - public EPathType pathType; - - public string id; - - internal bool _003CGetIssues_003Eb__0(ValidationIssue x) - { - int num = ((x.PathType != pathType) ? (-1283237086) : (-1283237087)); - while (true) - { - int num2 = num; - int num3 = -1283237085; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004c; - case 2: - return _200B_206C_206C_202B_206D_206F_206B_202D_202D_206B_200F_206C_202E_200E_206C_206A_206C_200E_202C_200C_200D_202A_206E_200B_206E_206F_206C_202A_206C_202A_206D_200F_206B_202A_200B_202E_200E_206F_200D_200D_202E(x.Id, id); - case 1: - return false; - } - continue; - IL_004c: - num = -1283237087; - } - } - - static bool _200B_206C_206C_202B_206D_206F_206B_202D_202D_206B_200F_206C_202E_200E_206C_206A_206C_200E_202C_200C_200D_202A_206E_200B_206E_206F_206C_202A_206C_202A_206D_200F_206B_202A_200B_202E_200E_206F_200D_200D_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass20_0 - { - public ElementId questId; - - internal bool _003CClearIssuesForQuest_003Eb__0(ValidationIssue issue) - { - return _206A_200D_202E_200E_206C_202D_202D_206C_206E_200F_200C_202B_206A_200B_202D_206E_200B_200C_202C_206C_200B_202B_206C_206A_206F_206F_202E_206D_206B_206F_202E_206B_200B_202B_202B_206A_206D_206B_202D_206D_202E(issue.ElementId, questId); - } - - static bool _206A_200D_202E_200E_206C_202D_202D_206C_206E_200F_200C_202B_206A_200B_202D_206E_200B_200C_202C_206C_200B_202B_206C_206A_206F_206F_202E_206D_206B_206F_202E_206B_200B_202B_202B_206A_206D_206B_202D_206D_202E(ElementId P_0, ElementId P_1) - { - return P_0 != P_1; - } - } - private readonly IReadOnlyList _validators; private readonly ILogger _logger; - private readonly object _lock = _202E_200F_202B_200E_206A_202E_206D_202A_206E_200F_202B_206E_202E_206D_202C_206B_206F_206A_206A_206A_206F_200D_206A_202C_200D_200D_200F_200C_206B_200E_200B_200E_200B_206E_200B_200C_206D_206E_206B_202A_202E(); + private readonly object _lock = new object(); private List _validationIssues = new List(); @@ -613,115 +29,29 @@ internal sealed class QuestValidator public int WarningCount => _validationIssues.Count((ValidationIssue x) => x.Severity == EIssueSeverity.Warning); - [MethodImpl(MethodImplOptions.NoInlining)] public QuestValidator(IEnumerable validators, ILogger logger) { _validators = validators.ToList(); _logger = logger; - _202D_200B_202D_206E_206B_202D_200E_200F_206C_206F_202B_200C_206A_206D_202A_202E_202B_200F_202C_202C_206C_200B_200D_202E_206F_200E_206C_200E_206D_202A_200D_206F_200F_206F_206F_200E_206F_206E_202A_206C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1385548896), new object[1] { _206F_206A_200C_200F_202E_200B_202D_202B_206B_206B_200C_206B_206A_202C_206C_202C_202A_200C_200B_206D_202D_206D_206C_206F_202E_206B_206F_206E_206A_202E_202A_200D_202B_202E_202B_202A_202D_206A_202C_202B_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1087086507), _validators.Select((IQuestValidator x) => _003C_003Ec._206C_202D_206F_200B_200D_206B_200C_202C_206C_206B_206A_206F_200F_206E_202D_200D_200B_200F_200D_202C_200B_200D_206F_200F_206B_202C_202D_206A_206A_202C_206D_202D_206A_200F_206E_202B_202A_202E_200E_202E((MemberInfo)_003C_003Ec._200D_206B_206C_202D_202C_202D_202B_200D_200D_200F_202B_206F_206E_202C_206D_206E_206E_202E_200B_206B_202E_206B_206D_200C_200E_200D_202E_200D_202A_202B_206E_206C_200B_202E_206C_200E_202B_200E_202A_202C_202E((object)x)))) }); + _logger.LogDebug("Validators: {Validators}", string.Join(", ", _validators.Select((IQuestValidator x) => x.GetType().Name))); } public void Reset() { - IEnumerator enumerator = _validators.GetEnumerator(); - try + foreach (IQuestValidator validator in _validators) { - int num = 1685273225; - while (true) - { - int num2 = num; - int num3 = 1685273225; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = (_206A_202E_200C_206B_200C_206E_200E_202E_200C_206A_202A_200F_200B_202B_202B_200F_202D_206F_206D_200C_206F_206E_206E_202C_202A_202A_202C_202B_202A_206F_202C_200E_206C_200E_200E_202B_206B_200B_202A_200F_202E((IEnumerator)enumerator) ? 1685273224 : 1685273226); - break; - case 1: - enumerator.Current.Reset(); - num = 1685273225; - break; - case 2: - num = 1685273225; - break; - case 3: - goto end_IL_0017; - } - continue; - end_IL_0017: - break; - } + validator.Reset(); } - finally + lock (_lock) { - int num = ((enumerator == null) ? 406334533 : 406334532); - while (true) - { - int num7 = num; - int num3 = 406334533; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto end_IL_00ab; - case 1: - _202E_206B_200F_200C_202E_206D_202E_200C_206F_206E_200C_206F_200B_200C_206F_202C_200B_200C_202E_200D_202E_200E_200C_200F_200C_202B_206B_200B_202E_206A_206F_200C_206D_200F_206A_200D_202C_200C_202B_200C_202E((IDisposable)enumerator); - num = 406334533; - break; - case 2: - num = 406334532; - break; - } - continue; - end_IL_00ab: - break; - } - } - object obj = _lock; - bool flag = false; - try - { - _202E_206F_206F_202C_202A_202C_200C_202B_206F_200F_200E_202B_206B_206C_202E_206F_206A_202A_202C_200F_206D_202C_200C_202C_202A_206A_206C_202A_202B_200D_206E_202E_206F_202C_202B_206A_200C_206C_202E_200E_202E(obj, ref flag); _validationIssues = new List(); } - finally - { - int num = ((!flag) ? 60446462 : 60446461); - while (true) - { - int num8 = num; - int num3 = 60446460; - int num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 0: - num = 60446461; - break; - case 2: - goto end_IL_0130; - case 1: - _206B_206D_200E_206A_206C_200E_200F_202E_200C_202E_202D_206D_200D_202C_202E_200D_200D_200C_202E_200B_200D_206E_202D_202B_202D_200E_206F_206E_202A_200F_206F_202C_206D_202E_206F_200D_200C_206A_206A_200F_202E(obj); - num = 60446462; - break; - } - continue; - end_IL_0130: - break; - } - } } public void AddValidationIssue(ValidationIssue issue) { - object obj = _lock; - bool flag = false; - try + lock (_lock) { - _202E_206F_206F_202C_202A_202C_200C_202B_206F_200F_200E_202B_206B_206C_202E_206F_206A_202A_202C_200F_206D_202C_200C_202C_202A_206A_206C_202A_202B_200D_206E_202E_206F_202C_202B_206A_200C_206C_202E_200E_202E(obj, ref flag); List validationIssues = _validationIssues; int num = 1 + validationIssues.Count; List list = new List(num); @@ -734,480 +64,95 @@ internal sealed class QuestValidator span[num2] = issue; _validationIssues = list; } - finally - { - int num3 = ((!flag) ? (-1291483875) : (-1291483874)); - while (true) - { - int num4 = num3; - int num5 = -1291483873; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) - { - case 2: - goto end_IL_0098; - case 1: - _206B_206D_200E_206A_206C_200E_200F_202E_200C_202E_202D_206D_200D_202C_202E_200D_200D_200C_202E_200B_200D_206E_202D_202B_202D_200E_206F_206E_202A_200F_206F_202C_206D_202E_206F_200D_200C_206A_206A_200F_202E(obj); - num3 = -1291483875; - break; - case 0: - num3 = -1291483874; - break; - } - continue; - end_IL_0098: - break; - } - } } public void Validate(IEnumerable quests) { - _202A_206F_200E_206E_202B_200C_206E_200E_200F_202D_200B_202A_202E_202E_206B_206E_200B_202E_202D_206A_200E_202A_200C_200E_202D_200B_202E_206B_206F_200F_200B_200E_206E_202E_206B_206B_202A_200F_202C_206A_202E(_206A_202C_202B_200E_206E_206C_200E_200D_206B_202E_206D_202B_202E_202D_206B_200C_202D_200C_202B_202D_200B_202C_200D_200F_200C_206C_200E_206C_206E_206C_206F_206B_202C_202B_200F_200C_202C_202C_200E_200F_202E(), (Action)([MethodImpl(MethodImplOptions.NoInlining)] () => + Task.Factory.StartNew(delegate { try { - object obj = _lock; - bool flag = false; List validationIssues; - try + lock (_lock) { - _003C_003Ec__DisplayClass15_0._202A_202B_206E_206E_202E_202C_200E_202C_200B_200C_206A_206E_206A_206B_200C_206A_206B_202C_202B_200B_206F_202D_206B_200C_200F_206E_200C_200C_206F_206E_200F_202B_206F_206C_200F_202B_206E_206D_200D_200E_202E(obj, ref flag); validationIssues = _validationIssues; } - finally - { - int num = ((!flag) ? 1225999187 : 1225999186); - while (true) - { - int num2 = num; - int num3 = 1225999187; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1225999186; - break; - case 0: - goto end_IL_004f; - case 1: - _003C_003Ec__DisplayClass15_0._206C_200F_200F_206B_202C_206C_202C_206D_202A_200B_200F_206B_200C_202B_200C_206D_206D_202A_200D_202D_200B_202E_202C_206F_206C_200B_206F_206F_202D_206F_206A_202A_202C_206B_202E_200B_206F_206E_202D_200C_202E(obj); - num = 1225999187; - break; - } - continue; - end_IL_004f: - break; - } - } List list = new List(); Dictionary> dictionary = new Dictionary>(); - IEnumerator enumerator = quests.GetEnumerator(); - try + foreach (Quest quest in quests) { - List value = default(List); - ValidationIssue current2 = default(ValidationIssue); - while (_003C_003Ec__DisplayClass15_0._206D_200D_206B_200D_206F_200B_200D_202D_206E_206D_206E_202D_206C_202A_200F_202D_200E_200D_202E_206A_206F_202E_200F_200D_200F_206A_200C_206A_202D_206A_200B_200B_206D_202C_206D_206F_202B_206C_206A_202E((IEnumerator)enumerator)) + foreach (IQuestValidator validator in _validators) { - Quest current = enumerator.Current; - IEnumerator enumerator2 = _validators.GetEnumerator(); - try + foreach (ValidationIssue item in validator.Validate(quest)) { - while (_003C_003Ec__DisplayClass15_0._206D_200D_206B_200D_206F_200B_200D_202D_206E_206D_206E_202D_206C_202A_200F_202D_200E_200D_202E_206A_206F_202E_200F_200D_200F_206A_200C_206A_202D_206A_200B_200B_206D_202C_206D_206F_202B_206C_206A_202E((IEnumerator)enumerator2)) + if (item.Type == EIssueType.QuestDisabled && quest.Info.AlliedSociety != EAlliedSociety.None) { - IEnumerator enumerator3 = enumerator2.Current.Validate(current).GetEnumerator(); - try + if (!dictionary.TryGetValue(quest.Info.AlliedSociety, out var value)) { - int num = 1611230640; - while (true) - { - int num5 = num; - int num3 = 1611230646; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 7: - value = new List(); - dictionary[current.Info.AlliedSociety] = value; - num = 1611230646; - break; - case 6: - num = (_003C_003Ec__DisplayClass15_0._206D_200D_206B_200D_206F_200B_200D_202D_206E_206D_206E_202D_206C_202A_200F_202D_200E_200D_202E_206A_206F_202E_200F_200D_200F_206A_200C_206A_202D_206A_200B_200B_206D_202C_206D_206F_202B_206C_206A_202E((IEnumerator)enumerator3) ? 1611230654 : 1611230647); - break; - case 8: - current2 = enumerator3.Current; - num = ((current2.Type != EIssueType.QuestDisabled) ? 1611230643 : 1611230644); - break; - case 3: - num = (dictionary.TryGetValue(current.Info.AlliedSociety, out value) ? 1611230646 : 1611230641); - break; - case 4: - num = 1611230640; - break; - case 0: - value.Add(current.Id); - num = 1611230640; - break; - case 5: - list.Add(current2); - num = 1611230640; - break; - case 2: - num = ((current.Info.AlliedSociety == EAlliedSociety.None) ? 1611230643 : 1611230645); - break; - case 1: - goto end_IL_00fa; - } - continue; - end_IL_00fa: - break; - } - } - finally - { - int num = ((enumerator3 == null) ? (-781546946) : (-781546945)); - while (true) - { - int num8 = num; - int num3 = -781546946; - int num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto end_IL_0272; - case 1: - _003C_003Ec__DisplayClass15_0._200F_206B_206B_202E_202B_206F_206A_200C_202D_200F_200E_202C_202A_206B_206C_202C_202C_202D_206C_200D_206A_206C_200D_202E_200C_206C_202A_206C_206D_206A_200B_206C_200B_202E_206F_206F_200F_202E_200C_206D_202E((IDisposable)enumerator3); - num = -781546946; - break; - case 2: - num = -781546945; - break; - } - continue; - end_IL_0272: - break; - } + value = new List(); + dictionary[quest.Info.AlliedSociety] = value; } + value.Add(quest.Id); + } + else + { + list.Add(item); } } - finally - { - int num = ((enumerator2 == null) ? 1631067796 : 1631067797); - while (true) - { - int num9 = num; - int num3 = 1631067796; - int num4 = num9; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1631067797; - break; - case 0: - goto end_IL_02ee; - case 1: - _003C_003Ec__DisplayClass15_0._200F_206B_206B_202E_202B_206F_206A_200C_202D_200F_200E_202C_202A_206B_206C_202C_202C_202D_206C_200D_206A_206C_200D_202E_200C_206C_202A_206C_206D_206A_200B_206C_200B_202E_206F_206F_200F_202E_200C_206D_202E((IDisposable)enumerator2); - num = 1631067796; - break; - } - continue; - end_IL_02ee: - break; - } - } - } - } - finally - { - int num = ((enumerator == null) ? (-989991724) : (-989991723)); - while (true) - { - int num10 = num; - int num3 = -989991724; - int num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -989991723; - break; - case 0: - goto end_IL_036a; - case 1: - _003C_003Ec__DisplayClass15_0._200F_206B_206B_202E_202B_206F_206A_200C_202D_200F_200E_202C_202A_206B_206C_202C_202C_202D_206C_200D_206A_206C_200D_202E_200C_206C_202A_206C_206D_206A_200B_206C_200B_202E_206F_206F_200F_202E_200C_206D_202E((IDisposable)enumerator); - num = -989991724; - break; - } - continue; - end_IL_036a: - break; } } List disabledQuests = (from x in list where x.Type == EIssueType.QuestDisabled select x.Id).ToList(); - List list2 = (from x in validationIssues.Concat(list.Where(delegate(ValidationIssue x) - { - int num15 = ((!disabledQuests.Contains(x.Id)) ? 1289967941 : 1289967942); - while (true) - { - int num16 = num15; - int num17 = 1289967940; - int num18 = num16; - switch ((num18 | num17) - (num18 & num17)) - { - case 0: - goto IL_0051; - case 1: - return true; - case 2: - return x.Type == EIssueType.QuestDisabled; - } - continue; - IL_0051: - num15 = 1289967942; - } - })).Concat(DisabledTribesAsIssues(dictionary)) + List list2 = (from x in validationIssues.Concat(list.Where((ValidationIssue x) => !disabledQuests.Contains(x.Id) || x.Type == EIssueType.QuestDisabled)).Concat(DisabledTribesAsIssues(dictionary)) orderby x.PathType, x.Id, x.Location, x.Description select x).ToList(); - obj = _lock; - flag = false; - try + lock (_lock) { - _003C_003Ec__DisplayClass15_0._202A_202B_206E_206E_202E_202C_200E_202C_200B_200C_206A_206E_206A_206B_200C_206A_206B_202C_202B_200B_206F_202D_206B_200C_200F_206E_200C_200C_206F_206E_200F_202B_206F_206C_200F_202B_206E_206D_200D_200E_202E(obj, ref flag); - int num = ((_validationIssues.Count <= validationIssues.Count) ? (-500434587) : (-500434588)); - while (true) + if (_validationIssues.Count > validationIssues.Count) { - int num11 = num; - int num3 = -500434587; - int num4 = num11; - int num12 = num4 + num3; - int num13 = num4 & num3; - switch (num12 - (num13 + num13)) - { - case 2: - num = -500434588; - break; - case 1: - list2.AddRange(_validationIssues.Skip(validationIssues.Count)); - num = -500434587; - break; - case 0: - _validationIssues = list2; - return; - } - } - } - finally - { - int num = ((!flag) ? (-2020487653) : (-2020487654)); - while (true) - { - int num14 = num; - int num3 = -2020487653; - int num4 = num14; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -2020487654; - break; - case 0: - goto end_IL_05b6; - case 1: - _003C_003Ec__DisplayClass15_0._206C_200F_200F_206B_202C_206C_202C_206D_202A_200B_200F_206B_200C_202B_200C_206D_206D_202A_200D_202D_200B_202E_202C_206F_206C_200B_206F_206F_202D_206F_206A_202A_202C_206B_202E_200B_206F_206E_202D_200C_202E(obj); - num = -2020487653; - break; - } - continue; - end_IL_05b6: - break; + list2.AddRange(_validationIssues.Skip(validationIssues.Count)); } + _validationIssues = list2; } } - catch (Exception ex) + catch (Exception exception) { - _003C_003Ec__DisplayClass15_0._202E_202D_200E_200B_202D_200C_202C_202D_202E_206B_206A_202A_206C_202A_200B_200C_202B_200B_200C_200F_200E_206E_202B_206C_206D_206F_202D_202C_202B_202A_200E_206A_200B_202B_202B_200D_200F_202E_202A_206C_202E((ILogger)_logger, ex, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(479815651), Array.Empty()); + _logger.LogError(exception, "Unable to validate quests"); } - }), CancellationToken.None, TaskCreationOptions.LongRunning, _202A_206A_206B_202C_206F_202D_202D_206A_206D_206C_206A_200E_202D_206F_206C_200E_200E_206E_200E_206E_202B_200D_200F_202A_200E_202E_206B_200E_202B_206E_206F_200D_200E_206A_200F_200B_206B_202E_202C_202E_202E()); + }, CancellationToken.None, TaskCreationOptions.LongRunning, TaskScheduler.Default); } public List GetIssues(EPathType pathType, string id) { - return _validationIssues.Where(delegate(ValidationIssue x) - { - int num = ((x.PathType != pathType) ? (-1283237086) : (-1283237087)); - while (true) - { - int num2 = num; - int num3 = -1283237085; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004c; - case 2: - return _003C_003Ec__DisplayClass16_0._200B_206C_206C_202B_206D_206F_206B_202D_202D_206B_200F_206C_202E_200E_206C_206A_206C_200E_202C_200C_200D_202A_206E_200B_206E_206F_206C_202A_206C_202A_206D_200F_206B_202A_200B_202E_200E_206F_200D_200D_202E(x.Id, id); - case 1: - return false; - } - continue; - IL_004c: - num = -1283237087; - } - }).ToList(); + return _validationIssues.Where((ValidationIssue x) => x.PathType == pathType && x.Id == id).ToList(); } private static IEnumerable DisabledTribesAsIssues(Dictionary> disabledTribeQuests) { - return disabledTribeQuests.OrderBy>, EAlliedSociety>((KeyValuePair> x) => x.Key).Select([MethodImpl(MethodImplOptions.NoInlining)] (KeyValuePair> x) => + return disabledTribeQuests.OrderBy>, EAlliedSociety>((KeyValuePair> x) => x.Key).Select(delegate(KeyValuePair> x) { - int num = ((x.Value.Count > 0) ? 617142778 : 617142779); - string text; - while (true) - { - int num2 = num; - int num3 = 617142778; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 2: - goto IL_0050; - case 1: - text = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1756725644); - break; - case 0: - text = _003C_003Ec._202C_202E_206B_200F_202C_206C_200D_206F_206D_202B_206F_206F_202D_206D_200D_200D_202A_206A_206A_202B_200C_200B_206D_202A_200B_200E_202E_206A_200E_200E_200C_206F_206B_206D_206C_206A_206B_202A_200C_202E_202E(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(-1095822044), x.Value.Select((ElementId id) => _003C_003Ec._206B_202B_202A_202E_206B_200B_202A_200D_200D_200E_202E_200D_202B_206C_200B_200F_206F_202A_202B_206C_200D_202B_206A_202A_206D_206E_200E_200D_200D_202A_202C_206A_206D_200C_200C_206A_202A_206C_202B_206D_202E((object)id))); - break; - } - break; - IL_0050: - num = 617142779; - } - string value = text; - ValidationIssue obj = new ValidationIssue + string value = ((x.Value.Count > 0) ? string.Join(", ", x.Value.Select((ElementId id) => id.ToString())) : "(none)"); + return new ValidationIssue { PathType = EPathType.Quest, Id = null, Location = null, Type = EIssueType.QuestDisabled, - Severity = EIssueSeverity.None + Severity = EIssueSeverity.None, + Description = $"[{x.Key}] {x.Value.Count} disabled {((x.Value.Count == 1) ? "quest" : "quests")}: {value}" }; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(15, 4); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1463938997)); - defaultInterpolatedStringHandler.AppendFormatted(x.Key); - defaultInterpolatedStringHandler.AppendLiteral(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(-900750902)); - defaultInterpolatedStringHandler.AppendFormatted(x.Value.Count); - defaultInterpolatedStringHandler.AppendLiteral(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(-92874207)); - defaultInterpolatedStringHandler.AppendFormatted((x.Value.Count == 1) ? global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(308044519) : global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1238320320)); - defaultInterpolatedStringHandler.AppendLiteral(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(-437343681)); - defaultInterpolatedStringHandler.AppendFormatted(value); - obj.Description = defaultInterpolatedStringHandler.ToStringAndClear(); - return obj; }); } public List ValidateQuestSync(Quest quest) { List list = new List(); - IEnumerator enumerator = _validators.GetEnumerator(); - try + foreach (IQuestValidator validator in _validators) { - while (_206A_202E_200C_206B_200C_206E_200E_202E_200C_206A_202A_200F_200B_202B_202B_200F_202D_206F_206D_200C_206F_206E_206E_202C_202A_202A_202C_202B_202A_206F_202C_200E_206C_200E_200E_202B_206B_200B_202A_200F_202E((IEnumerator)enumerator)) + foreach (ValidationIssue item in (validator is JsonSchemaValidator jsonSchemaValidator) ? jsonSchemaValidator.ValidateFromQuestRoot(quest) : validator.Validate(quest)) { - IQuestValidator current = enumerator.Current; - IEnumerator enumerator2 = ((current is JsonSchemaValidator jsonSchemaValidator) ? jsonSchemaValidator.ValidateFromQuestRoot(quest) : current.Validate(quest)).GetEnumerator(); - try - { - int num = -2015401757; - while (true) - { - int num2 = num; - int num3 = -2015401758; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - num = (_206A_202E_200C_206B_200C_206E_200E_202E_200C_206A_202A_200F_200B_202B_202B_200F_202D_206F_206D_200C_206F_206E_206E_202C_202A_202A_202C_202B_202A_206F_202C_200E_206C_200E_200E_202B_206B_200B_202A_200F_202E((IEnumerator)enumerator2) ? (-2015401759) : (-2015401760)); - break; - case 3: - { - ValidationIssue current2 = enumerator2.Current; - list.Add(current2); - num = -2015401757; - break; - } - case 0: - num = -2015401757; - break; - case 2: - goto end_IL_0051; - } - continue; - end_IL_0051: - break; - } - } - finally - { - int num = ((enumerator2 == null) ? (-2066314669) : (-2066314672)); - while (true) - { - int num7 = num; - int num3 = -2066314671; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 0: - num = -2066314672; - break; - case 2: - goto end_IL_00f4; - case 1: - _202E_206B_200F_200C_202E_206D_202E_200C_206F_206E_200C_206F_200B_200C_206F_202C_200B_200C_202E_200D_202E_200E_200C_200F_200C_202B_206B_200B_202E_206A_206F_200C_206D_200F_206A_200D_202C_200C_202B_200C_202E((IDisposable)enumerator2); - num = -2066314669; - break; - } - continue; - end_IL_00f4: - break; - } - } - } - } - finally - { - int num = ((enumerator == null) ? 1410166863 : 1410166862); - while (true) - { - int num10 = num; - int num3 = 1410166863; - int num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - case 2: - num = 1410166862; - break; - case 0: - goto end_IL_0170; - case 1: - _202E_206B_200F_200C_202E_206D_202E_200C_206F_206E_200C_206F_200B_200C_206F_202C_200B_200C_202E_200D_202E_200E_200C_200F_200C_202B_206B_200B_202E_206A_206F_200C_206D_200F_206A_200D_202C_200C_202B_200C_202E((IDisposable)enumerator); - num = 1410166863; - break; - } - continue; - end_IL_0170: - break; + list.Add(item); } } return (from x in list @@ -1218,114 +163,20 @@ internal sealed class QuestValidator public List ValidateSchemaSync(ElementId questId, QuestRoot questRoot) { JsonSchemaValidator jsonSchemaValidator = _validators.OfType().FirstOrDefault(); - int num = ((jsonSchemaValidator != null) ? (-1128231448) : (-1128231445)); - while (true) + if (jsonSchemaValidator == null) { - int num2 = num; - int num3 = -1128231446; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0054; - case 1: - return new List(); - case 2: - return (from x in jsonSchemaValidator.ValidateFromQuestRoot(questId, questRoot) - orderby x.Sequence, x.Step, x.Description - select x).ToList(); - } - continue; - IL_0054: - num = -1128231445; + return new List(); } + return (from x in jsonSchemaValidator.ValidateFromQuestRoot(questId, questRoot) + orderby x.Sequence, x.Step, x.Description + select x).ToList(); } public void ClearIssuesForQuest(ElementId questId) { - object obj = _lock; - bool flag = false; - try + lock (_lock) { - _202E_206F_206F_202C_202A_202C_200C_202B_206F_200F_200E_202B_206B_206C_202E_206F_206A_202A_202C_200F_206D_202C_200C_202C_202A_206A_206C_202A_202B_200D_206E_202E_206F_202C_202B_206A_200C_206C_202E_200E_202E(obj, ref flag); - _validationIssues = _validationIssues.Where((ValidationIssue issue) => _003C_003Ec__DisplayClass20_0._206A_200D_202E_200E_206C_202D_202D_206C_206E_200F_200C_202B_206A_200B_202D_206E_200B_200C_202C_206C_200B_202B_206C_206A_206F_206F_202E_206D_206B_206F_202E_206B_200B_202B_202B_206A_206D_206B_202D_206D_202E(issue.ElementId, questId)).ToList(); + _validationIssues = _validationIssues.Where((ValidationIssue issue) => issue.ElementId != questId).ToList(); } - finally - { - int num = ((!flag) ? (-1140950457) : (-1140950460)); - while (true) - { - int num2 = num; - int num3 = -1140950459; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1140950460; - break; - case 2: - goto end_IL_0061; - case 1: - _206B_206D_200E_206A_206C_200E_200F_202E_200C_202E_202D_206D_200D_202C_202E_200D_200D_200C_202E_200B_200D_206E_202D_202B_202D_200E_206F_206E_202A_200F_206F_202C_206D_202E_206F_200D_200C_206A_206A_200F_202E(obj); - num = -1140950457; - break; - } - continue; - end_IL_0061: - break; - } - } - } - - static object _202E_200F_202B_200E_206A_202E_206D_202A_206E_200F_202B_206E_202E_206D_202C_206B_206F_206A_206A_206A_206F_200D_206A_202C_200D_200D_200F_200C_206B_200E_200B_200E_200B_206E_200B_200C_206D_206E_206B_202A_202E() - { - return new object(); - } - - static string _206F_206A_200C_200F_202E_200B_202D_202B_206B_206B_200C_206B_206A_202C_206C_202C_202A_200C_200B_206D_202D_206D_206C_206F_202E_206B_206F_206E_206A_202E_202A_200D_202B_202E_202B_202A_202D_206A_202C_202B_202E(string P_0, IEnumerable P_1) - { - return string.Join(P_0, P_1); - } - - static void _202D_200B_202D_206E_206B_202D_200E_200F_206C_206F_202B_200C_206A_206D_202A_202E_202B_200F_202C_202C_206C_200B_200D_202E_206F_200E_206C_200E_206D_202A_200D_206F_200F_206F_206F_200E_206F_206E_202A_206C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _206A_202E_200C_206B_200C_206E_200E_202E_200C_206A_202A_200F_200B_202B_202B_200F_202D_206F_206D_200C_206F_206E_206E_202C_202A_202A_202C_202B_202A_206F_202C_200E_206C_200E_200E_202B_206B_200B_202A_200F_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202E_206B_200F_200C_202E_206D_202E_200C_206F_206E_200C_206F_200B_200C_206F_202C_200B_200C_202E_200D_202E_200E_200C_200F_200C_202B_206B_200B_202E_206A_206F_200C_206D_200F_206A_200D_202C_200C_202B_200C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _202E_206F_206F_202C_202A_202C_200C_202B_206F_200F_200E_202B_206B_206C_202E_206F_206A_202A_202C_200F_206D_202C_200C_202C_202A_206A_206C_202A_202B_200D_206E_202E_206F_202C_202B_206A_200C_206C_202E_200E_202E(object P_0, ref bool P_1) - { - Monitor.Enter(P_0, ref P_1); - } - - static void _206B_206D_200E_206A_206C_200E_200F_202E_200C_202E_202D_206D_200D_202C_202E_200D_200D_200C_202E_200B_200D_206E_202D_202B_202D_200E_206F_206E_202A_200F_206F_202C_206D_202E_206F_200D_200C_206A_206A_200F_202E(object P_0) - { - Monitor.Exit(P_0); - } - - static TaskFactory _206A_202C_202B_200E_206E_206C_200E_200D_206B_202E_206D_202B_202E_202D_206B_200C_202D_200C_202B_202D_200B_202C_200D_200F_200C_206C_200E_206C_206E_206C_206F_206B_202C_202B_200F_200C_202C_202C_200E_200F_202E() - { - return Task.Factory; - } - - static TaskScheduler _202A_206A_206B_202C_206F_202D_202D_206A_206D_206C_206A_200E_202D_206F_206C_200E_200E_206E_200E_206E_202B_200D_200F_202A_200E_202E_206B_200E_202B_206E_206F_200D_200E_206A_200F_200B_206B_202E_202C_202E_202E() - { - return TaskScheduler.Default; - } - - static Task _202A_206F_200E_206E_202B_200C_206E_200E_200F_202D_200B_202A_202E_202E_206B_206E_200B_202E_202D_206A_200E_202A_200C_200E_202D_200B_202E_206B_206F_200F_200B_200E_206E_202E_206B_206B_202A_200F_202C_206A_202E(TaskFactory P_0, Action P_1, CancellationToken P_2, TaskCreationOptions P_3, TaskScheduler P_4) - { - return P_0.StartNew(P_1, P_2, P_3, P_4); } } diff --git a/Questionable/Questionable.Validation/SchemaRegistrar.cs b/Questionable/Questionable.Validation/SchemaRegistrar.cs index 3cfc5f5..97d8a1b 100644 --- a/Questionable/Questionable.Validation/SchemaRegistrar.cs +++ b/Questionable/Questionable.Validation/SchemaRegistrar.cs @@ -1,12 +1,8 @@ using System; -using System.Collections; using System.Collections.Generic; using System.IO; using System.Linq; using System.Reflection; -using System.Runtime.CompilerServices; -using System.Text.Json; -using System.Threading; using Json.Schema; using Questionable.FatePaths; using Questionable.GatheringPaths; @@ -18,301 +14,63 @@ namespace Questionable.Validation; internal sealed class SchemaRegistrar { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - internal Stream _003C_002Ecctor_003Eb__11_0() - { - return _200B_200D_202E_206C_202D_200F_202C_202D_202E_206E_200E_202B_200C_200D_206D_202C_200D_200C_202B_206B_202B_202A_206F_200C_202B_200D_202B_206D_200E_206D_202C_200F_200D_202A_206D_206D_206A_200C_206A_206F_202E(); - } - - internal Stream _003C_002Ecctor_003Eb__11_1() - { - return _202E_200E_202E_202C_200F_202C_200B_206F_206D_206A_202B_206D_200D_202D_206A_206A_200E_206B_200C_206B_206C_206C_202E_206B_202C_202C_202E_206F_202B_200D_200E_206C_200B_202B_206D_206E_200B_202D_200E_206B_202E(); - } - - internal Stream _003C_002Ecctor_003Eb__11_2() - { - return _200E_206E_206B_200E_206C_202B_200F_200B_206A_200F_202D_202E_200C_200F_202C_206B_206D_202A_202A_202C_206B_206D_200C_202A_202D_200B_200C_200D_206A_206D_202B_202D_202E_200D_200C_200D_200E_202B_206B_200C_202E(); - } - - internal Stream _003C_002Ecctor_003Eb__11_3() - { - return _200E_200F_206E_206F_206C_206C_206A_200D_206C_206F_202B_206A_206E_200C_206C_200B_200E_202D_200D_202B_206B_200D_200B_206C_200B_206A_200F_200B_200F_200D_206C_202B_200E_206A_202B_206F_206A_200B_206D_200E_202E(); - } - - internal Stream _003C_002Ecctor_003Eb__11_4() - { - return _202E_200E_206A_206D_200D_202E_200F_202B_200E_206C_206E_206F_202E_200C_202B_200B_206A_202A_202B_200D_200D_202B_206C_202D_200D_206C_206A_202E_206D_200D_200B_200D_206E_200B_200C_200E_206B_200F_206A_206A_202E(); - } - - internal Stream _003C_002Ecctor_003Eb__11_5() - { - return _200F_202D_206E_200E_206C_206A_202D_200D_200E_202D_200F_206D_206B_200E_202A_206C_206F_200D_206C_206F_202A_200B_206F_206F_202E_200C_206B_202B_206F_202C_202B_206E_200D_200E_202C_206F_200C_206E_200F_202E(); - } - - internal Stream _003C_002Ecctor_003Eb__11_6() - { - return _206F_202C_202C_206A_200C_200B_206D_202C_206A_206E_200D_206B_206E_202E_200B_206B_200D_200B_200B_202A_200B_206D_206D_202D_202B_202D_200E_202B_206B_206A_202E_202E_206B_202E_206B_200B_206F_202D_202D_200D_202E(); - } - - internal Stream _003C_002Ecctor_003Eb__11_7() - { - return _202A_202B_202B_206D_202E_200D_202C_202D_206A_206F_206F_206C_200D_202D_200E_206A_200F_202E_200B_202C_202C_206C_200B_206A_206D_206A_206D_202A_206B_200C_202C_206E_206E_200B_206F_202D_200E_202E_206B_200C_202E(); - } - - internal Stream _003C_002Ecctor_003Eb__11_8() - { - return _206A_200D_202B_206C_200F_200C_202A_200C_200F_200F_206B_206B_202E_202D_206D_206B_206C_202B_200E_206C_206B_206F_200C_202C_200D_200D_200F_200C_202E_206C_206E_206E_200C_202B_206B_202A_200E_200C_206C_200D_202E(); - } - - internal Stream _003C_002Ecctor_003Eb__11_9() - { - return _202A_206D_206B_202A_200B_206E_206F_206C_202C_200E_202B_202E_206A_202A_202C_202B_206C_206D_200B_202D_206D_200E_202C_202E_202A_206E_200F_200F_202B_200C_200F_206B_206A_202A_206D_202E_206E_206D_206D_202A_202E(); - } - - static Stream _200B_200D_202E_206C_202D_200F_202C_202D_202E_206E_200E_202B_200C_200D_206D_202C_200D_200C_202B_206B_202B_202A_206F_200C_202B_200D_202B_206D_200E_206D_202C_200F_200D_202A_206D_206D_206A_200C_206A_206F_202E() - { - return AssemblyModelLoader.CommonAethernetShard; - } - - static Stream _202E_200E_202E_202C_200F_202C_200B_206F_206D_206A_202B_206D_200D_202D_206A_206A_200E_206B_200C_206B_206C_206C_202E_206B_202C_202C_202E_206F_202B_200D_200E_206C_200B_202B_206D_206E_200B_202D_200E_206B_202E() - { - return AssemblyModelLoader.CommonAetheryte; - } - - static Stream _200E_206E_206B_200E_206C_202B_200F_200B_206A_200F_202D_202E_200C_200F_202C_206B_206D_202A_202A_202C_206B_206D_200C_202A_202D_200B_200C_200D_206A_206D_202B_202D_202E_200D_200C_200D_200E_202B_206B_200C_202E() - { - return AssemblyModelLoader.CommonClassJob; - } - - static Stream _200E_200F_206E_206F_206C_206C_206A_200D_206C_206F_202B_206A_206E_200C_206C_200B_200E_202D_200D_202B_206B_200D_200B_206C_200B_206A_200F_200B_200F_200D_206C_202B_200E_206A_202B_206F_206A_200B_206D_200E_202E() - { - return AssemblyModelLoader.CommonCompletionFlags; - } - - static Stream _202E_200E_206A_206D_200D_202E_200F_202B_200E_206C_206E_206F_202E_200C_202B_200B_206A_202A_202B_200D_200D_202B_206C_202D_200D_206C_206A_202E_206D_200D_200B_200D_206E_200B_200C_200E_206B_200F_206A_206A_202E() - { - return AssemblyModelLoader.CommonRequiredVariables; - } - - static Stream _200F_202D_206E_200E_206C_206A_202D_200D_200E_202D_200F_206D_206B_200E_202A_206C_206F_200D_206C_206F_202A_200B_206F_206F_202E_200C_206B_202B_206F_202C_202B_206E_200D_200E_202C_206F_200C_206E_200F_202E() - { - return AssemblyModelLoader.CommonVector3; - } - - static Stream _206F_202C_202C_206A_200C_200B_206D_202C_206A_206E_200D_206B_206E_202E_200B_206B_200D_200B_200B_202A_200B_206D_206D_202D_202B_202D_200E_202B_206B_206A_202E_202E_206B_202E_206B_200B_206F_202D_202D_200D_202E() - { - return AssemblyQuestLoader.QuestSchema; - } - - static Stream _202A_202B_202B_206D_202E_200D_202C_202D_206A_206F_206F_206C_200D_202D_200E_206A_200F_202E_200B_202C_202C_206C_200B_206A_206D_206A_206D_202A_206B_200C_202C_206E_206E_200B_206F_202D_200E_202E_206B_200C_202E() - { - return AssemblyFateDefinitionLoader.FateDefinitionSchema; - } - - static Stream _206A_200D_202B_206C_200F_200C_202A_200C_200F_200F_206B_206B_202E_202D_206D_206B_206C_202B_200E_206C_206B_206F_200C_202C_200D_200D_200F_200C_202E_206C_206E_206E_200C_202B_206B_202A_200E_200C_206C_200D_202E() - { - return AssemblyGatheringLocationLoader.GatheringSchema; - } - - static Stream _202A_206D_206B_202A_200B_206E_206F_206C_202C_200E_202B_202E_206A_202A_202C_202B_206C_206D_200B_202D_206D_200E_202C_202E_202A_206E_200F_200F_202B_200C_200F_206B_206A_202A_206D_202E_206E_206D_206D_202A_202E() - { - return AssemblySeasonalDutyDefinitionLoader.SeasonalDutyDefinitionSchema; - } - } - private const string BaseUri = "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main"; private static readonly IReadOnlyList<(string FileName, string Uri, Func Embedded)> Catalog = new global::_003C_003Ez__ReadOnlyArray<(string, string, Func)>(new(string, string, Func)[10] { - (global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1093119060), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-497867105), () => _003C_003Ec._200B_200D_202E_206C_202D_200F_202C_202D_202E_206E_200E_202B_200C_200D_206D_202C_200D_200C_202B_206B_202B_202A_206F_200C_202B_200D_202B_206D_200E_206D_202C_200F_200D_202A_206D_206D_206A_200C_206A_206F_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(353651176), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(777288952), () => _003C_003Ec._202E_200E_202E_202C_200F_202C_200B_206F_206D_206A_202B_206D_200D_202D_206A_206A_200E_206B_200C_206B_206C_206C_202E_206B_202C_202C_202E_206F_202B_200D_200E_206C_200B_202B_206D_206E_200B_202D_200E_206B_202E()), - (global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1103717215), 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(1830782875), () => _003C_003Ec._200E_206E_206B_200E_206C_202B_200F_200B_206A_200F_202D_202E_200C_200F_202C_206B_206D_202A_202A_202C_206B_206D_200C_202A_202D_200B_200C_200D_206A_206D_202B_202D_202E_200D_200C_200D_200E_202B_206B_200C_202E()), - (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(1415134531), 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(-1951929540), () => _003C_003Ec._200E_200F_206E_206F_206C_206C_206A_200D_206C_206F_202B_206A_206E_200C_206C_200B_200E_202D_200D_202B_206B_200D_200B_206C_200B_206A_200F_200B_200F_200D_206C_202B_200E_206A_202B_206F_206A_200B_206D_200E_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(1019495771), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-447741346), () => _003C_003Ec._202E_200E_206A_206D_200D_202E_200F_202B_200E_206C_206E_206F_202E_200C_202B_200B_206A_202A_202B_200D_200D_202B_206C_202D_200D_206C_206A_202E_206D_200D_200B_200D_206E_200B_200C_200E_206B_200F_206A_206A_202E()), - (global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(718531665), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2134115304), () => _003C_003Ec._200F_202D_206E_200E_206C_206A_202D_200D_200E_202D_200F_206D_206B_200E_202A_206C_206F_200D_206C_206F_202A_200B_206F_206F_202E_200C_206B_202B_206F_202C_202B_206E_200D_200E_202C_206F_200C_206E_200F_202E()), - (global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1170233154), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(751310152), () => _003C_003Ec._206F_202C_202C_206A_200C_200B_206D_202C_206A_206E_200D_206B_206E_202E_200B_206B_200D_200B_200B_202A_200B_206D_206D_202D_202B_202D_200E_202B_206B_206A_202E_202E_206B_202E_206B_200B_206F_202D_202D_200D_202E()), - (global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1110860710), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1343581202), () => _003C_003Ec._202A_202B_202B_206D_202E_200D_202C_202D_206A_206F_206F_206C_200D_202D_200E_206A_200F_202E_200B_202C_202C_206C_200B_206A_206D_206A_206D_202A_206B_200C_202C_206E_206E_200B_206F_202D_200E_202E_206B_200C_202E()), - (global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(767306491), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(567108451), () => _003C_003Ec._206A_200D_202B_206C_200F_200C_202A_200C_200F_200F_206B_206B_202E_202D_206D_206B_206C_202B_200E_206C_206B_206F_200C_202C_200D_200D_200F_200C_202E_206C_206E_206E_200C_202B_206B_202A_200E_200C_206C_200D_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(874920765), 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(-912722245), () => _003C_003Ec._202A_206D_206B_202A_200B_206E_206F_206C_202C_200E_202B_202E_206A_202A_202C_202B_206C_206D_200B_202D_206D_200E_202C_202E_202A_206E_200F_200F_202B_200C_200F_206B_206A_202A_206D_202E_206E_206D_206D_202A_202E()) + ("common-aethernetshard.json", "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/Questionable.Model/common-aethernetshard.json", () => AssemblyModelLoader.CommonAethernetShard), + ("common-aetheryte.json", "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/Questionable.Model/common-aetheryte.json", () => AssemblyModelLoader.CommonAetheryte), + ("common-classjob.json", "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/Questionable.Model/common-classjob.json", () => AssemblyModelLoader.CommonClassJob), + ("common-completionflags.json", "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/Questionable.Model/common-completionflags.json", () => AssemblyModelLoader.CommonCompletionFlags), + ("common-requiredvariables.json", "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/Questionable.Model/common-requiredvariables.json", () => AssemblyModelLoader.CommonRequiredVariables), + ("common-vector3.json", "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/Questionable.Model/common-vector3.json", () => AssemblyModelLoader.CommonVector3), + ("quest-v1.json", "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/QuestPaths/quest-v1.json", () => AssemblyQuestLoader.QuestSchema), + ("fatedefinition-v1.json", "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/FatePaths/fatedefinition-v1.json", () => AssemblyFateDefinitionLoader.FateDefinitionSchema), + ("gatheringlocation-v1.json", "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/GatheringPaths/gatheringlocation-v1.json", () => AssemblyGatheringLocationLoader.GatheringSchema), + ("seasonaldutydefinition-v1.json", "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/SeasonalDutyPaths/seasonaldutydefinition-v1.json", () => AssemblySeasonalDutyDefinitionLoader.SeasonalDutyDefinitionSchema) }); - private readonly SchemaRegistry _registry = _206D_202B_206D_206B_206D_206B_202D_206B_200E_202D_202C_206C_206D_206E_202A_200B_202D_206C_206E_202A_206A_202B_202E_206B_200D_202B_206B_206D_200B_206F_202E_202E_202A_206E_200B_202E_206F_206C_200C_202D_202E(); + private readonly SchemaRegistry _registry = new SchemaRegistry(); private readonly Dictionary _schemas = new Dictionary(); - private readonly object _lock = _206C_200B_206B_202D_202E_202D_206E_200E_202C_206E_200D_200E_202B_202D_200B_200C_206B_202B_206F_202D_200F_206E_200C_206C_200D_200B_206E_206C_200D_200D_200B_200E_202A_206A_206D_202B_206A_202E_206A_200E_202E(); + private readonly object _lock = new object(); private bool _built; public void EnsureBuilt() { - int num = ((!_built) ? (-755659506) : (-755659507)); - while (true) + if (_built) { - int num2 = num; - int num3 = -755659505; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return; + } + lock (_lock) + { + if (_built) { - case 0: - goto IL_004f; - case 2: return; - case 1: + } + BuildOptions buildOptions = new BuildOptions { - object obj = _lock; - bool flag = false; - try - { - _202C_206C_200C_200F_200C_206D_202D_200E_206A_206B_200C_206A_202D_202C_206E_206E_200D_202C_202E_200C_206F_202E_200F_202C_206E_200B_206E_200D_206C_202E_200E_206A_200C_206B_206C_206F_202B_206B_206A_200C_202E(obj, ref flag); - num = ((!_built) ? (-466349832) : (-466349831)); - while (true) - { - int num5 = num; - num3 = -466349832; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 2: - goto IL_00be; - case 1: - return; - case 0: - { - BuildOptions buildOptions = _202A_206E_200E_206E_202D_200D_202E_200D_202C_202C_206C_200B_202A_206A_200B_200C_206C_200F_202A_200B_200B_200B_206D_202D_206E_200D_206E_206E_206F_202C_200D_202B_202E_202C_206E_206F_206D_206A_200D_202A_202E(); - _202A_206C_200F_200B_200E_202E_206C_206B_200D_200F_206B_202E_202A_200E_202C_202E_206C_202B_206B_202A_206C_206F_200F_202E_202D_202C_202E_200E_200C_202E_206C_206A_206D_202A_206E_202B_200D_206E_202D_200C_202E(buildOptions, _registry); - BuildOptions buildOptions2 = buildOptions; - DirectoryInfo projectRoot = FindProjectRoot(); - IEnumerator<(string, string, Func)> enumerator = Catalog.GetEnumerator(); - try - { - num = 333964218; - while (true) - { - int num8 = num; - num3 = 333964217; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 333964218; - break; - case 3: - num = (_200D_202A_202E_206C_206F_206D_202D_200C_202A_206F_206B_202C_206C_202B_206C_202C_206F_202C_200B_200D_200E_206F_200C_200D_206C_206B_200D_202D_200B_200D_206B_200D_202B_206D_206D_206F_206D_206C_206D_202B_202E((IEnumerator)enumerator) ? 333964216 : 333964217); - break; - case 1: - var (fileName, key, embedded) = enumerator.Current; - _schemas[key] = Build(fileName, embedded, projectRoot, buildOptions2); - num = 333964218; - break; - case 0: - goto end_IL_010b; - } - continue; - end_IL_010b: - break; - } - } - finally - { - num = ((enumerator == null) ? 1298249544 : 1298249547); - while (true) - { - int num9 = num; - num3 = 1298249545; - num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 1: - goto end_IL_01d1; - case 2: - _206C_206D_202A_200D_200D_202C_200C_202B_206E_206C_206D_206D_206E_202E_206C_206F_206C_202B_200B_206F_202E_200E_200B_206D_206D_206C_200D_206F_202E_200F_202D_200B_200B_202B_200E_202A_206B_202D_200F_202B_202E((IDisposable)enumerator); - num = 1298249544; - break; - case 0: - num = 1298249547; - break; - } - continue; - end_IL_01d1: - break; - } - } - _built = true; - return; - } - } - continue; - IL_00be: - num = -466349831; - } - } - finally - { - num = ((!flag) ? 942948134 : 942948133); - while (true) - { - int num12 = num; - num3 = 942948135; - num4 = num12; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 942948133; - break; - case 2: - _200B_200F_206E_200D_202A_200C_200B_202D_206C_206F_202C_206E_202A_206E_202D_202E_202E_202B_206D_202B_202C_206F_206E_206F_202B_206E_202B_200C_200D_206B_206F_206E_202E_206B_206B_202E_202A_206E_200D_206A_202E(obj); - num = 942948134; - break; - case 1: - goto end_IL_0249; - } - continue; - end_IL_0249: - break; - } - } + SchemaRegistry = _registry + }; + DirectoryInfo projectRoot = FindProjectRoot(); + foreach (var (fileName, key, embedded) in Catalog) + { + _schemas[key] = Build(fileName, embedded, projectRoot, buildOptions); } - } - continue; - IL_004f: - num = -755659507; + _built = true; } } - [MethodImpl(MethodImplOptions.NoInlining)] public JsonSchema Get(string uri) { EnsureBuilt(); - JsonSchema value; - int num = (_schemas.TryGetValue(uri, out value) ? (-2109712785) : (-2109712788)); - while (true) + if (!_schemas.TryGetValue(uri, out JsonSchema value)) { - int num2 = num; - int num3 = -2109712787; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0054; - case 2: - return value; - case 1: - throw _200B_202B_202C_200B_200C_200F_206F_202C_200B_206D_200B_206C_200D_202C_206D_206C_206C_206A_200C_206C_200E_206C_202B_202C_206A_200C_206B_206D_200B_200E_206B_202E_202D_206F_206C_202B_206A_202E_200E_200C_202E(_202A_202E_202A_200F_202C_206D_206A_206C_200E_202D_200E_206F_206D_202D_200D_202C_206F_206F_200E_202A_200E_206E_206A_202A_206A_206E_206E_202A_206C_200D_206D_202A_206D_202C_200F_200B_200F_202C_200C_202A_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-232645525), uri)); - } - continue; - IL_0054: - num = -2109712788; + throw new InvalidOperationException("schema not registered: " + uri); } + return value; } private static JsonSchema Build(string fileName, Func embedded, DirectoryInfo? projectRoot, BuildOptions buildOptions) @@ -321,114 +79,35 @@ internal sealed class SchemaRegistrar { try { - string text = _202E_200D_202D_200F_200F_202D_200B_206F_206A_200C_206E_202B_206D_200D_202A_200C_206A_206A_202D_206E_200B_206F_206A_200F_206F_202B_206E_200D_206C_202E_206F_206A_206E_202E_206A_206D_200D_206A_202B_206F_202E(_200C_206B_202A_200B_202B_206F_200F_200B_200E_206F_206B_200E_206C_206A_202C_202E_202B_202D_206F_206D_206B_200E_200C_200C_202A_206D_206F_206E_200B_206A_202B_206F_202A_202C_200E_200B_202D_200C_200B_206E_202E((FileSystemInfo)projectRoot), fileName, SearchOption.AllDirectories).FirstOrDefault(); - int num = ((text == null) ? 1090313824 : 1090313827); - while (true) + string text = Directory.EnumerateFiles(projectRoot.FullName, fileName, SearchOption.AllDirectories).FirstOrDefault(); + if (text != null) { - int num2 = num; - int num3 = 1090313826; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0063; - case 1: - return _206E_206A_202E_206C_200E_202D_200B_206D_200F_200F_200F_202E_206A_202A_202A_202A_200F_206D_200C_206F_200E_206C_202C_206B_206B_202E_200F_200E_206C_202E_202B_206D_202E_202B_200F_200D_206F_202A_206D_206D_202E(_200B_200D_206F_206D_206F_200C_206E_202C_202B_206A_202B_200D_206D_202B_206A_202C_200C_202D_200C_200C_206E_206A_202B_206A_202B_202A_200F_206E_206E_200E_200F_200E_202C_206A_202D_200D_202A_202C_200D_206B_202E(text), buildOptions, (Uri)null, (JsonDocumentOptions?)null); - case 2: - goto end_IL_0037; - } - continue; - IL_0063: - num = 1090313827; - continue; - end_IL_0037: - break; + return JsonSchema.FromText(File.ReadAllText(text), buildOptions); } } catch { } } - StreamReader streamReader = _202C_202D_206C_206C_202D_200F_206D_200F_206B_200F_200E_206B_206C_206D_206B_206C_200D_200D_200B_200C_206D_200D_206E_202B_206E_206C_200F_202D_202A_202B_200C_206B_200C_206B_206C_206C_206F_206D_202A_206F_202E(embedded()); - try - { - return _206E_206A_202E_206C_200E_202D_200B_206D_200F_200F_200F_202E_206A_202A_202A_202A_200F_206D_200C_206F_200E_206C_202C_206B_206B_202E_200F_200E_206C_202E_202B_206D_202E_202B_200F_200D_206F_202A_206D_206D_202E(_200F_206B_202C_202D_206B_206C_206C_206B_206B_202C_206F_200F_200E_206F_202D_206D_200B_200E_200B_200F_202E_200F_206E_206F_206D_200E_200F_202E_206D_206F_202B_200E_202B_200D_200B_200B_202A_200C_200D_200E_202E((TextReader)streamReader), buildOptions, (Uri)null, (JsonDocumentOptions?)null); - } - finally - { - int num = ((streamReader == null) ? 1697266929 : 1697266928); - while (true) - { - int num5 = num; - int num3 = 1697266929; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1697266928; - break; - case 1: - _206C_206D_202A_200D_200D_202C_200C_202B_206E_206C_206D_206D_206E_202E_206C_206F_206C_202B_200B_206F_202E_200E_200B_206D_206D_206C_200D_206F_202E_200F_202D_200B_200B_202B_200E_202A_206B_202D_200F_202B_202E((IDisposable)streamReader); - num = 1697266929; - break; - case 0: - goto end_IL_00e8; - } - continue; - end_IL_00e8: - break; - } - } + using StreamReader streamReader = new StreamReader(embedded()); + return JsonSchema.FromText(streamReader.ReadToEnd(), buildOptions); } - [MethodImpl(MethodImplOptions.NoInlining)] private static DirectoryInfo? FindProjectRoot() { try { - string text = _202D_202E_200D_206D_202A_200F_200D_206B_202B_200E_206A_206D_202C_202A_206B_200E_200F_206A_202B_206C_206E_206B_200E_206A_206C_202A_202D_202E_206A_202D_202B_206A_200B_202E_206C_206B_200F_202E_200F_202C_202E(_206F_202D_202A_200D_206B_202D_200E_200E_202E_202E_206E_206F_202B_206F_202E_202A_200D_200B_202C_206A_202D_200B_202C_200F_206E_206F_206C_200E_206A_202C_200F_206A_206E_206A_200F_202D_206A_200B_206C_202A_202E()); - int num = ((!_202C_206A_206E_206D_200B_200B_200C_200E_200E_202A_202A_206C_200B_206C_200C_206F_202A_200F_202B_202A_206B_202D_200F_200F_206D_200C_202D_200B_200C_206B_206F_206D_206C_200D_206E_200C_200C_200E_206C_206E_202E(text)) ? 580554043 : 580554044); - DirectoryInfo directoryInfo = default(DirectoryInfo); - while (true) + string location = Assembly.GetExecutingAssembly().Location; + if (string.IsNullOrEmpty(location)) { - int num2 = num; - int num3 = 580554040; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return null; + } + for (DirectoryInfo directoryInfo = new DirectoryInfo(Path.GetDirectoryName(location) ?? location); directoryInfo != null; directoryInfo = directoryInfo.Parent) + { + if (directoryInfo.GetDirectories("QuestPaths", SearchOption.TopDirectoryOnly).Length != 0 || directoryInfo.GetDirectories("Questionable.Model", SearchOption.TopDirectoryOnly).Length != 0 || directoryInfo.GetDirectories("Questionable", SearchOption.TopDirectoryOnly).Length != 0) { - case 9: - num = 580554044; - break; - case 5: - num = ((directoryInfo != null) ? 580554047 : 580554032); - break; - case 0: - directoryInfo = _200B_202D_200D_202A_202D_206E_202D_206C_202B_202E_206E_202A_202A_206D_200F_206E_200F_206F_200F_200E_202A_206E_206B_206D_200D_200D_202B_202C_206D_200E_200F_200C_202B_206F_202A_202C_200D_202B_200D_200D_202E(directoryInfo); - num = 580554045; - break; - case 3: - directoryInfo = _202C_202B_206D_202C_200B_200B_206F_202A_202B_206D_202B_202D_206E_202E_202D_202B_206C_200C_200E_206C_206D_206B_200E_202A_200B_200B_202E_206A_200E_206C_206C_202E_200F_206E_200C_202B_206D_206B_206F_202D_202E(_206A_200D_206C_202A_202E_206A_206B_206F_202C_202D_202C_206A_202E_206A_206F_206B_200D_206D_202A_202D_206B_200D_202A_202C_206B_202C_200C_200E_200C_200B_206F_200D_200E_202A_206C_202B_200C_200D_206E_206F_202E(text) ?? text); - num = 580554045; - break; - case 1: - num = ((_206E_200B_206D_200F_206E_202C_200E_202C_202B_200C_206F_202B_206D_206F_206B_202B_206E_206E_202C_200D_200B_206F_206C_202A_200F_202A_202E_202D_206E_202B_206C_206E_206A_202B_206C_200B_202B_202C_200F_202C_202E(directoryInfo, 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(825165366), SearchOption.TopDirectoryOnly).Length != 0) ? 580554046 : 580554042); - break; - case 4: - return null; - case 7: - num = ((_206E_200B_206D_200F_206E_202C_200E_202C_202B_200C_206F_202B_206D_206F_206B_202B_206E_206E_202C_200D_200B_206F_206C_202A_200F_202A_202E_202D_206E_202B_206C_206E_206A_202B_206C_200B_202B_202C_200F_202C_202E(directoryInfo, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2005366887), SearchOption.TopDirectoryOnly).Length != 0) ? 580554046 : 580554041); - break; - case 6: return directoryInfo; - case 2: - num = ((_206E_200B_206D_200F_206E_202C_200E_202C_202B_200C_206F_202B_206D_206F_206B_202B_206E_206E_202C_200D_200B_206F_206C_202A_200F_202A_202E_202D_206E_202B_206C_206E_206A_202B_206C_200B_202B_202C_200F_202C_202E(directoryInfo, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), SearchOption.TopDirectoryOnly).Length == 0) ? 580554040 : 580554046); - break; - case 8: - goto end_IL_002c; } - continue; - end_IL_002c: - break; } } catch @@ -436,119 +115,4 @@ internal sealed class SchemaRegistrar } return null; } - - static void _202C_206C_200C_200F_200C_206D_202D_200E_206A_206B_200C_206A_202D_202C_206E_206E_200D_202C_202E_200C_206F_202E_200F_202C_206E_200B_206E_200D_206C_202E_200E_206A_200C_206B_206C_206F_202B_206B_206A_200C_202E(object P_0, ref bool P_1) - { - Monitor.Enter(P_0, ref P_1); - } - - static BuildOptions _202A_206E_200E_206E_202D_200D_202E_200D_202C_202C_206C_200B_202A_206A_200B_200C_206C_200F_202A_200B_200B_200B_206D_202D_206E_200D_206E_206E_206F_202C_200D_202B_202E_202C_206E_206F_206D_206A_200D_202A_202E() - { - return new BuildOptions(); - } - - static void _202A_206C_200F_200B_200E_202E_206C_206B_200D_200F_206B_202E_202A_200E_202C_202E_206C_202B_206B_202A_206C_206F_200F_202E_202D_202C_202E_200E_200C_202E_206C_206A_206D_202A_206E_202B_200D_206E_202D_200C_202E(BuildOptions P_0, SchemaRegistry P_1) - { - P_0.SchemaRegistry = P_1; - } - - static bool _200D_202A_202E_206C_206F_206D_202D_200C_202A_206F_206B_202C_206C_202B_206C_202C_206F_202C_200B_200D_200E_206F_200C_200D_206C_206B_200D_202D_200B_200D_206B_200D_202B_206D_206D_206F_206D_206C_206D_202B_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206C_206D_202A_200D_200D_202C_200C_202B_206E_206C_206D_206D_206E_202E_206C_206F_206C_202B_200B_206F_202E_200E_200B_206D_206D_206C_200D_206F_202E_200F_202D_200B_200B_202B_200E_202A_206B_202D_200F_202B_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _200B_200F_206E_200D_202A_200C_200B_202D_206C_206F_202C_206E_202A_206E_202D_202E_202E_202B_206D_202B_202C_206F_206E_206F_202B_206E_202B_200C_200D_206B_206F_206E_202E_206B_206B_202E_202A_206E_200D_206A_202E(object P_0) - { - Monitor.Exit(P_0); - } - - static string _202A_202E_202A_200F_202C_206D_206A_206C_200E_202D_200E_206F_206D_202D_200D_202C_206F_206F_200E_202A_200E_206E_206A_202A_206A_206E_206E_202A_206C_200D_206D_202A_206D_202C_200F_200B_200F_202C_200C_202A_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static InvalidOperationException _200B_202B_202C_200B_200C_200F_206F_202C_200B_206D_200B_206C_200D_202C_206D_206C_206C_206A_200C_206C_200E_206C_202B_202C_206A_200C_206B_206D_200B_200E_206B_202E_202D_206F_206C_202B_206A_202E_200E_200C_202E(string P_0) - { - return new InvalidOperationException(P_0); - } - - static string _200C_206B_202A_200B_202B_206F_200F_200B_200E_206F_206B_200E_206C_206A_202C_202E_202B_202D_206F_206D_206B_200E_200C_200C_202A_206D_206F_206E_200B_206A_202B_206F_202A_202C_200E_200B_202D_200C_200B_206E_202E(FileSystemInfo P_0) - { - return P_0.FullName; - } - - static IEnumerable _202E_200D_202D_200F_200F_202D_200B_206F_206A_200C_206E_202B_206D_200D_202A_200C_206A_206A_202D_206E_200B_206F_206A_200F_206F_202B_206E_200D_206C_202E_206F_206A_206E_202E_206A_206D_200D_206A_202B_206F_202E(string P_0, string P_1, SearchOption P_2) - { - return Directory.EnumerateFiles(P_0, P_1, P_2); - } - - static string _200B_200D_206F_206D_206F_200C_206E_202C_202B_206A_202B_200D_206D_202B_206A_202C_200C_202D_200C_200C_206E_206A_202B_206A_202B_202A_200F_206E_206E_200E_200F_200E_202C_206A_202D_200D_202A_202C_200D_206B_202E(string P_0) - { - return File.ReadAllText(P_0); - } - - static JsonSchema _206E_206A_202E_206C_200E_202D_200B_206D_200F_200F_200F_202E_206A_202A_202A_202A_200F_206D_200C_206F_200E_206C_202C_206B_206B_202E_200F_200E_206C_202E_202B_206D_202E_202B_200F_200D_206F_202A_206D_206D_202E(string P_0, BuildOptions P_1, Uri P_2, JsonDocumentOptions? P_3) - { - return JsonSchema.FromText(P_0, P_1, P_2, P_3); - } - - static StreamReader _202C_202D_206C_206C_202D_200F_206D_200F_206B_200F_200E_206B_206C_206D_206B_206C_200D_200D_200B_200C_206D_200D_206E_202B_206E_206C_200F_202D_202A_202B_200C_206B_200C_206B_206C_206C_206F_206D_202A_206F_202E(Stream P_0) - { - return new StreamReader(P_0); - } - - static string _200F_206B_202C_202D_206B_206C_206C_206B_206B_202C_206F_200F_200E_206F_202D_206D_200B_200E_200B_200F_202E_200F_206E_206F_206D_200E_200F_202E_206D_206F_202B_200E_202B_200D_200B_200B_202A_200C_200D_200E_202E(TextReader P_0) - { - return P_0.ReadToEnd(); - } - - static Assembly _206F_202D_202A_200D_206B_202D_200E_200E_202E_202E_206E_206F_202B_206F_202E_202A_200D_200B_202C_206A_202D_200B_202C_200F_206E_206F_206C_200E_206A_202C_200F_206A_206E_206A_200F_202D_206A_200B_206C_202A_202E() - { - return Assembly.GetExecutingAssembly(); - } - - static string _202D_202E_200D_206D_202A_200F_200D_206B_202B_200E_206A_206D_202C_202A_206B_200E_200F_206A_202B_206C_206E_206B_200E_206A_206C_202A_202D_202E_206A_202D_202B_206A_200B_202E_206C_206B_200F_202E_200F_202C_202E(Assembly P_0) - { - return P_0.Location; - } - - static bool _202C_206A_206E_206D_200B_200B_200C_200E_200E_202A_202A_206C_200B_206C_200C_206F_202A_200F_202B_202A_206B_202D_200F_200F_206D_200C_202D_200B_200C_206B_206F_206D_206C_200D_206E_200C_200C_200E_206C_206E_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static string _206A_200D_206C_202A_202E_206A_206B_206F_202C_202D_202C_206A_202E_206A_206F_206B_200D_206D_202A_202D_206B_200D_202A_202C_206B_202C_200C_200E_200C_200B_206F_200D_200E_202A_206C_202B_200C_200D_206E_206F_202E(string P_0) - { - return Path.GetDirectoryName(P_0); - } - - static DirectoryInfo _202C_202B_206D_202C_200B_200B_206F_202A_202B_206D_202B_202D_206E_202E_202D_202B_206C_200C_200E_206C_206D_206B_200E_202A_200B_200B_202E_206A_200E_206C_206C_202E_200F_206E_200C_202B_206D_206B_206F_202D_202E(string P_0) - { - return new DirectoryInfo(P_0); - } - - static DirectoryInfo[] _206E_200B_206D_200F_206E_202C_200E_202C_202B_200C_206F_202B_206D_206F_206B_202B_206E_206E_202C_200D_200B_206F_206C_202A_200F_202A_202E_202D_206E_202B_206C_206E_206A_202B_206C_200B_202B_202C_200F_202C_202E(DirectoryInfo P_0, string P_1, SearchOption P_2) - { - return P_0.GetDirectories(P_1, P_2); - } - - static DirectoryInfo _200B_202D_200D_202A_202D_206E_202D_206C_202B_202E_206E_202A_202A_206D_200F_206E_200F_206F_200F_200E_202A_206E_206B_206D_200D_200D_202B_202C_206D_200E_200F_200C_202B_206F_202A_202C_200D_202B_200D_200D_202E(DirectoryInfo P_0) - { - return P_0.Parent; - } - - static SchemaRegistry _206D_202B_206D_206B_206D_206B_202D_206B_200E_202D_202C_206C_206D_206E_202A_200B_202D_206C_206E_202A_206A_202B_202E_206B_200D_202B_206B_206D_200B_206F_202E_202E_202A_206E_200B_202E_206F_206C_200C_202D_202E() - { - return new SchemaRegistry(); - } - - static object _206C_200B_206B_202D_202E_202D_206E_200E_202C_206E_200D_200E_202B_202D_200B_200C_206B_202B_206F_202D_200F_206E_200C_206C_200D_200B_206E_206C_200D_200D_200B_200E_202A_206A_206D_202B_206A_202E_206A_200E_202E() - { - return new object(); - } } diff --git a/Questionable/Questionable.Validation/SchemaValidationHelper.cs b/Questionable/Questionable.Validation/SchemaValidationHelper.cs index 04f0230..6f6c99a 100644 --- a/Questionable/Questionable.Validation/SchemaValidationHelper.cs +++ b/Questionable/Questionable.Validation/SchemaValidationHelper.cs @@ -1,663 +1,126 @@ using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; -using Json.Pointer; using Json.Schema; namespace Questionable.Validation; internal static class SchemaValidationHelper { - internal readonly record struct ParsedError(string InstancePath, string PropertyPath, string Message) - { - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206F_200D_202A_202D_202D_200F_206B_200B_206C_200C_202E_202D_200B_202B_200C_206C_200E_200F_200D_206E_202D_200B_206E_206E_202B_206B_206F_202C_206F_206F_202B_200B_206E_206C_206F_206D_202C_202B_200F_202B_202E(); - _206D_202C_200F_200E_206D_206C_206C_200C_200D_200D_206C_200C_202A_200D_202C_202C_202E_206D_200D_200B_200F_206C_200C_206C_206B_206A_206D_202B_200E_200D_206E_202D_206D_200F_200B_200F_206A_200C_206C_206A_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-36173424)); - _206D_202C_200F_200E_206D_206C_206C_200C_200D_200D_206C_200C_202A_200D_202C_202C_202E_206D_200D_200B_200F_206C_200C_206C_206B_206A_206D_202B_200E_200D_206E_202D_206D_200F_200B_200F_206A_200C_206C_206A_202E(stringBuilder, 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(117284107)); - int num = ((!PrintMembers(stringBuilder)) ? 144448390 : 144448389); - while (true) - { - int num2 = num; - int num3 = 144448391; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 144448389; - break; - case 1: - _206A_206F_200D_202B_206D_206D_206D_202B_202A_200F_200C_200E_200F_200F_206F_200D_200C_200B_206A_206F_206E_200D_202B_200C_206F_200D_202C_206A_200D_202E_206D_206B_200F_202E_202A_200F_206A_200D_202C_206B_202E(stringBuilder, '}'); - return _202D_206B_206B_206E_200F_200F_206D_206D_202B_206A_206F_206F_202C_206E_206F_200C_202B_206B_206D_200E_202B_206A_202B_202E_206A_202E_202A_200E_202B_206A_200E_200B_206B_202A_200F_202C_206B_202B_206A_202E((object)stringBuilder); - case 2: - _206A_206F_200D_202B_206D_206D_206D_202B_202A_200F_200C_200E_200F_200F_206F_200D_200C_200B_206A_206F_206E_200D_202B_200C_206F_200D_202C_206A_200D_202E_206D_206B_200F_202E_202A_200F_206A_200D_202C_206B_202E(stringBuilder, ' '); - num = 144448390; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206D_202C_200F_200E_206D_206C_206C_200C_200D_200D_206C_200C_202A_200D_202C_202C_202E_206D_200D_200B_200F_206C_200C_206C_206B_206A_206D_202B_200E_200D_206E_202D_206D_200F_200B_200F_206A_200C_206C_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1589665761)); - _202D_202D_200F_200F_200D_206F_200B_202A_206B_200D_202A_202E_206C_200F_200E_206B_206C_202C_206F_206F_200E_200E_206E_206C_206D_206C_200B_202E_206F_202D_206B_206C_200D_206E_206B_202C_202B_206C_206C_206A_202E(builder, (object)InstancePath); - _206D_202C_200F_200E_206D_206C_206C_200C_200D_200D_206C_200C_202A_200D_202C_202C_202E_206D_200D_200B_200F_206C_200C_206C_206B_206A_206D_202B_200E_200D_206E_202D_206D_200F_200B_200F_206A_200C_206C_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1127869114)); - _202D_202D_200F_200F_200D_206F_200B_202A_206B_200D_202A_202E_206C_200F_200E_206B_206C_202C_206F_206F_200E_200E_206E_206C_206D_206C_200B_202E_206F_202D_206B_206C_200D_206E_206B_202C_202B_206C_206C_206A_202E(builder, (object)PropertyPath); - _206D_202C_200F_200E_206D_206C_206C_200C_200D_200D_206C_200C_202A_200D_202C_202C_202E_206D_200D_200B_200F_206C_200C_206C_206B_206A_206D_202B_200E_200D_206E_202D_206D_200F_200B_200F_206A_200C_206C_206A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-63396934)); - _202D_202D_200F_200F_200D_206F_200B_202A_206B_200D_202A_202E_206C_200F_200E_206B_206C_202C_206F_206F_200E_200E_206E_206C_206D_206C_200B_202E_206F_202D_206B_206C_200D_206E_206B_202C_202B_206C_206C_206A_202E(builder, (object)Message); - return true; - } - - [CompilerGenerated] - public bool Equals(ParsedError other) - { - int num = ((!EqualityComparer.Default.Equals(InstancePath, other.InstancePath)) ? (-1823649485) : (-1823649486)); - while (true) - { - int num2 = num; - int num3 = -1823649488; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1823649486; - break; - case 3: - return false; - case 1: - return EqualityComparer.Default.Equals(Message, other.Message); - case 2: - num = ((!EqualityComparer.Default.Equals(PropertyPath, other.PropertyPath)) ? (-1823649485) : (-1823649487)); - break; - } - } - } - - bool IEquatable.Equals(ParsedError other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _206F_200D_202A_202D_202D_200F_206B_200B_206C_200C_202E_202D_200B_202B_200C_206C_200E_200F_200D_206E_202D_200B_206E_206E_202B_206B_206F_202C_206F_206F_202B_200B_206E_206C_206F_206D_202C_202B_200F_202B_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206D_202C_200F_200E_206D_206C_206C_200C_200D_200D_206C_200C_202A_200D_202C_202C_202E_206D_200D_200B_200F_206C_200C_206C_206B_206A_206D_202B_200E_200D_206E_202D_206D_200F_200B_200F_206A_200C_206C_206A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206A_206F_200D_202B_206D_206D_206D_202B_202A_200F_200C_200E_200F_200F_206F_200D_200C_200B_206A_206F_206E_200D_202B_200C_206F_200D_202C_206A_200D_202E_206D_206B_200F_202E_202A_200F_206A_200D_202C_206B_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202D_206B_206B_206E_200F_200F_206D_206D_202B_206A_206F_206F_202C_206E_206F_200C_202B_206B_206D_200E_202B_206A_202B_202E_206A_202E_202A_200E_202B_206A_200E_200B_206B_202A_200F_202C_206B_202B_206A_202E(object P_0) - { - return P_0.ToString(); - } - - static StringBuilder _202D_202D_200F_200F_200D_206F_200B_202A_206B_200D_202A_202E_206C_200F_200E_206B_206C_202C_206F_206F_200E_200E_206E_206C_206D_206C_200B_202E_206F_202D_206B_206C_200D_206E_206B_202C_202B_206C_206C_206A_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - } + internal readonly record struct ParsedError(string InstancePath, string PropertyPath, string Message); public static void CollectLeafErrors(EvaluationResults node, List errors) { - int num; - if (!_200D_202E_206D_200E_202D_200E_200E_202C_206A_202E_202B_200C_202B_200F_206B_202E_200B_202A_206B_202C_206C_202B_200B_200B_206E_200B_200E_202C_206E_206F_202C_206E_202A_200C_206C_200E_206C_202B_202A_202D_202E(node)) + if (!node.IsValid) { - num = -1995348334; - Dictionary dictionary = default(Dictionary); - string text2 = default(string); - while (true) + Dictionary errors2 = node.Errors; + if (errors2 != null && errors2.Count > 0) { - int num2 = num; - int num3 = -1995348335; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + foreach (var (keyword, text3) in node.Errors) { - default: - continue; - case 0: - if (dictionary.Count > 0) + if (!IsAggregateKeyword(keyword) && !string.IsNullOrWhiteSpace(text3)) { - num = -1995348336; - continue; + string text4 = node.InstanceLocation.ToString(); + string rawPath = GetRawPath(text4); + errors.Add(new ParsedError(text4 ?? string.Empty, FormatPath(rawPath), CleanMessage(text3))); } - break; - case 3: - dictionary = _206E_206B_206F_200E_202B_202D_202C_200C_202E_200E_202D_200E_202B_200B_200C_202C_200B_202E_202B_206B_202C_206A_200F_200E_206F_200C_200B_206E_206E_200E_202C_206E_206C_200D_200E_202D_202D_206A_206C_206F_202E(node); - if (dictionary != null) - { - num = -1995348335; - continue; - } - break; - case 2: - num = -1995348334; - continue; - case 1: - { - using (Dictionary.Enumerator enumerator = _206E_206B_206F_200E_202B_202D_202C_200C_202E_200E_202D_200E_202B_200B_200C_202C_200B_202E_202B_206B_202C_206A_200F_200E_206F_200C_200B_206E_206E_200E_202C_206E_206C_200D_200E_202D_202D_206A_206C_206F_202E(node).GetEnumerator()) - { - num = 570619197; - while (true) - { - int num5 = num; - num3 = 570619199; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 1: - num = (_202C_206C_202E_206F_202A_200E_200F_202B_200B_206F_206D_206F_200D_202E_206C_200E_200F_206D_206D_200F_206F_202D_202B_206A_200E_206E_200E_206F_200C_200C_202E_200F_200D_202C_200F_200C_202B_202B_200E_202E_202E(text2) ? 570619197 : 570619195); - break; - case 3: - { - enumerator.Current.Deconstruct(out var key, out var value); - string keyword = key; - text2 = value; - num = (IsAggregateKeyword(keyword) ? 570619197 : 570619198); - break; - } - case 0: - num = 570619197; - break; - case 2: - num = (enumerator.MoveNext() ? 570619196 : 570619194); - break; - case 4: - { - string text = _202C_202A_200B_202E_200D_202D_206B_200F_206D_200B_206E_200E_200D_206B_206B_202A_206C_202A_202C_206C_200E_206F_202D_202D_202D_206C_206F_202C_206B_202B_206A_206D_206D_202A_202B_206B_202B_202E_200E_202E_202E(node).ToString(); - string rawPath = GetRawPath(text); - errors.Add(new ParsedError(text ?? string.Empty, FormatPath(rawPath), CleanMessage(text2))); - num = 570619197; - break; - } - case 5: - goto end_IL_009c; - } - continue; - end_IL_009c: - break; - } - } - break; } - } - break; } } - List list = _200D_200D_200C_202C_206A_202D_200C_206C_202A_200B_200D_206C_200E_202A_202D_200E_200D_200F_202E_206E_202E_202B_200C_202E_200F_206B_206F_202A_206F_206A_202E_206E_202C_206E_206F_200D_200E_202A_206D_202C_202E(node); - if (list == null) + List details = node.Details; + if (details == null || details.Count <= 0) { return; } - num = -1276546531; - EvaluationResults current = default(EvaluationResults); - while (true) + foreach (EvaluationResults detail in node.Details) { - int num8 = num; - int num3 = -1276546532; - int num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) + if (!detail.IsValid) { - case 2: - num = -1276546531; - break; - case 1: - if (list.Count > 0) - { - num = -1276546532; - break; - } - return; - case 0: - { - using List.Enumerator enumerator2 = _200D_200D_200C_202C_206A_202D_200C_206C_202A_200B_200D_206C_200E_202A_202D_200E_200D_200F_202E_206E_202E_202B_200C_202E_200F_206B_206F_202A_206F_206A_202E_206E_202C_206E_206F_200D_200E_202A_206D_202C_202E(node).GetEnumerator(); - num = -1005796493; - while (true) - { - int num11 = num; - num3 = -1005796494; - num4 = num11; - int num12 = num4 + num3; - int num13 = num4 & num3; - switch (num12 - (num13 + num13)) - { - case 0: - num = -1005796493; - break; - case 2: - current = enumerator2.Current; - num = (_200D_202E_206D_200E_202D_200E_200E_202C_206A_202E_202B_200C_202B_200F_206B_202E_200B_202A_206B_202C_206C_202B_200B_200B_206E_200B_200E_202C_206E_206F_202C_206E_202A_200C_206C_200E_206C_202B_202A_202D_202E(current) ? (-1005796493) : (-1005796490)); - break; - case 1: - num = (enumerator2.MoveNext() ? (-1005796496) : (-1005796495)); - break; - case 4: - CollectLeafErrors(current, errors); - num = -1005796493; - break; - case 3: - return; - } - } - } + CollectLeafErrors(detail, errors); } } } - [MethodImpl(MethodImplOptions.NoInlining)] public static string FormatPath(string rawPath) { - int num = ((!_202B_202A_200C_202A_200D_200D_202E_202C_202B_200D_206B_202B_200C_206F_202E_202D_206F_206A_206B_206D_200B_200F_202B_206D_200E_206A_206C_206D_206C_206D_200E_206E_206A_202B_202A_202B_202C_200E_206A_200C_202E(rawPath)) ? 163847157 : 163847153); - List list = default(List); - int num5 = default(int); - int result = default(int); - string[] array2 = default(string[]); - string text = default(string); - while (true) + if (string.IsNullOrEmpty(rawPath)) { - int num2 = num; - int num3 = 163847152; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return string.Empty; + } + string[] array = rawPath.Split('/'); + List list = new List(); + string[] array2 = array; + foreach (string text in array2) + { + if (int.TryParse(text, out var result)) { - case 8: - num = ((list.Count <= 0) ? 163847162 : 163847159); - break; - case 0: - { - int num6 = num5; - num3 = 1; - num4 = num6; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - num5 = num7 + (num8 + num8); - num = 163847154; - break; + if (list.Count > 0) + { + list[list.Count - 1] += $"[{result}]"; + } + else + { + list.Add($"[{result}]"); + } } - case 10: + else { - List list2 = list; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(2, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-1118615183)); - defaultInterpolatedStringHandler.AppendFormatted(result); - defaultInterpolatedStringHandler.AppendLiteral(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(80455896)); - list2.Add(defaultInterpolatedStringHandler.ToStringAndClear()); - num = 163847152; - break; - } - case 9: - return _202A_202B_206A_200B_200E_202B_200E_206C_200F_206B_206B_202E_206E_200B_206B_206F_200D_202D_206E_202C_202D_200F_200E_202B_200C_202A_200E_202D_202B_206B_200C_200E_206D_206A_202E_200E_202A_200C_202C_206B_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-404473860), (IEnumerable)list); - case 2: - num = ((num5 < array2.Length) ? 163847155 : 163847161); - break; - case 7: - { - List list3 = list; - int index = list.Count - 1; - string text2 = list3[index]; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(2, 1); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1463938997)); - defaultInterpolatedStringHandler2.AppendFormatted(result); - defaultInterpolatedStringHandler2.AppendLiteral(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(80455896)); - list3[index] = _202A_200B_202D_202E_202C_206E_200D_200F_202D_202D_202C_202C_202C_206E_202E_206A_202E_202C_200C_206C_206A_200F_200E_200F_206E_202D_200F_202B_200C_202D_200D_202E_202A_202A_206D_202C_202E_206A_202A_200C_202E(text2, defaultInterpolatedStringHandler2.ToStringAndClear()); - num = 163847152; - break; - } - case 3: - text = array2[num5]; - num = ((!int.TryParse(text, out result)) ? 163847158 : 163847160); - break; - case 1: - return string.Empty; - case 6: list.Add(text); - num = 163847152; - break; - case 4: - num = 163847153; - break; - case 5: - { - string[] array = _206D_200C_202D_200C_206B_206E_202A_200B_202C_200D_200B_206C_202D_202C_200D_200F_202D_206E_206B_200B_200E_202D_200B_202B_206A_200E_206D_200E_206D_206B_206A_202B_206F_206B_206F_202C_200D_202A_200D_202E_202E(rawPath, '/', StringSplitOptions.None); - list = new List(); - array2 = array; - num5 = 0; - num = 163847154; - break; - } } } + return string.Join(".", list); } - [MethodImpl(MethodImplOptions.NoInlining)] public static string CleanMessage(string message) { - return _200C_200C_200D_202D_202E_206E_200E_206C_202D_202C_206A_202C_200B_202D_202C_202D_200E_202A_202B_202C_202E_200E_206B_202E_200B_200D_200D_202A_206F_200D_202C_202E_200C_206B_200F_202B_200E_206F_200D_200F_202E(_200C_200C_200D_202D_202E_206E_200E_206C_202D_202C_206A_202C_200B_202D_202C_202D_200E_202A_202B_202C_202E_200E_206B_202E_200B_200D_200D_202A_206F_200D_202C_202E_200C_206B_200F_202B_200E_206F_200D_200F_202E(message, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(519119434), 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(1792309681), StringComparison.Ordinal), 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(-486788284), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1307535606), StringComparison.Ordinal); + return message.Replace("\\u0022", "\"", StringComparison.Ordinal).Replace("\\u0027", "'", StringComparison.Ordinal); } - [MethodImpl(MethodImplOptions.NoInlining)] public static string? FormatQuestLocation(byte? sequence, int? step) { - int num = (sequence.HasValue ? 660406071 : 660406065); - while (true) + if (!sequence.HasValue) { - int num2 = num; - int num3 = 660406067; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(11, 2); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1005707421)); - defaultInterpolatedStringHandler2.AppendFormatted(sequence); - defaultInterpolatedStringHandler2.AppendLiteral(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(857758852)); - defaultInterpolatedStringHandler2.AppendFormatted(step); - return defaultInterpolatedStringHandler2.ToStringAndClear(); - } - case 4: - num = ((!step.HasValue) ? 660406064 : 660406066); - break; - case 2: - return null; - case 0: - num = 660406065; - break; - case 3: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(4, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1926875694)); - defaultInterpolatedStringHandler.AppendFormatted(sequence); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - } + return null; } + if (!step.HasValue) + { + return $"Seq {sequence}"; + } + return $"Seq {sequence}, Step {step}"; } - [MethodImpl(MethodImplOptions.NoInlining)] private static bool IsAggregateKeyword(string keyword) { - int num = ((keyword == null) ? 240931173 : 240931199); - char c = default(char); - bool result = default(bool); - while (true) + switch (keyword) { - int num2 = num; - int num3 = 240931189; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = 240931199; - break; - case 19: - c = _206D_200D_200F_200E_202A_206D_200B_202A_206C_206A_206F_202C_202D_202B_206D_206A_200D_202C_206A_206A_206C_202C_206D_202A_206C_202B_206E_206D_202B_206A_200D_202E_206E_202B_202A_206B_202D_200D_202E_206F_202E(keyword, 0); - num = ((c == 'e') ? 240931190 : 240931183); - break; - case 2: - num = 240931173; - break; - case 17: - num = (_202B_206D_206C_200D_200E_206D_206C_202C_202D_200C_206F_202C_202E_200B_202A_200F_200C_206C_200F_200D_200D_206A_202E_200F_206E_202E_202C_206E_202E_202C_200B_206B_200B_200E_202B_202B_206E_200C_206D_202D_202E(keyword, 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(-1371988018)) ? 240931198 : 240931197); - break; - case 8: - num = 240931173; - break; - case 20: - num = ((c == 'y') ? 240931186 : 240931181); - break; - case 15: - num = 240931173; - break; - case 21: - num = (_202B_206D_206C_200D_200E_206D_206C_202C_202D_200C_206F_202C_202E_200B_202A_200F_200C_206C_200F_200D_200D_206A_202E_200F_206E_202E_202C_206E_202E_202C_200B_206B_200B_200E_202B_202B_206E_200C_206D_202D_202E(keyword, 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(-880210388)) ? 240931198 : 240931175); - break; - case 9: - num = (_202B_206D_206C_200D_200E_206D_206C_202C_202D_200C_206F_202C_202E_200B_202A_200F_200C_206C_200F_200D_200D_206A_202E_200F_206E_202E_202C_206E_202E_202C_200B_206B_200B_200E_202B_202B_206E_200C_206D_202D_202E(keyword, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1025907661)) ? 240931198 : 240931171); - break; - case 18: - num = 240931173; - break; - case 5: - num = 240931173; - break; - case 12: - num = 240931173; - break; - case 27: - num = ((c == 'l') ? 240931168 : 240931169); - break; - case 7: - num = (_202B_206D_206C_200D_200E_206D_206C_202C_202D_200C_206F_202C_202E_200B_202A_200F_200C_206C_200F_200D_200D_206A_202E_200F_206E_202E_202C_206E_202E_202C_200B_206B_200B_200E_202B_202B_206E_200C_206D_202D_202E(keyword, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-307896602)) ? 240931198 : 240931170); - break; - case 11: - result = true; - num = 240931177; - break; - case 6: - goto IL_021d; - case 13: - goto IL_0248; - case 25: - num = 240931173; - break; - case 29: - goto IL_027e; - case 16: - goto IL_02a9; - case 26: - num = ((c == 't') ? 240931196 : 240931191); - break; - case 24: - num = 240931173; - break; - case 23: - num = 240931173; - break; - case 3: - num = (_202B_206D_206C_200D_200E_206D_206C_202C_202D_200C_206F_202C_202E_200B_202A_200F_200C_206C_200F_200D_200D_206A_202E_200F_206E_202E_202C_206E_202E_202C_200B_206B_200B_200E_202B_202B_206E_200C_206D_202D_202E(keyword, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1916484131)) ? 240931198 : 240931194); - break; - case 14: - goto IL_0315; - case 22: - num = 240931173; - break; - case 1: - goto IL_034b; - case 28: - return result; - case 10: - { - int num7 = _206B_200B_206A_202B_206F_202E_202C_200C_206B_206A_206F_206A_200E_200C_200D_200E_202D_202A_206D_206E_200F_202C_206C_206A_202E_206C_206B_206F_200B_200F_200C_206D_200B_206C_206F_202D_200E_202E_200D_200D_202E(keyword); - num3 = 2; - num4 = num7; - switch (~(~num4 + num3)) - { - case 2: - break; - case 0: - goto IL_021d; - case 9: - goto IL_0248; - case 6: - goto IL_027e; - case 4: - case 5: - case 7: - case 8: - goto IL_02a9; - case 1: - goto IL_0315; - case 3: - goto IL_034b; - default: - goto IL_03b4; - } - goto case 19; - } - case 0: - { - num = 240931173; - break; - } - IL_03b4: - num = 240931189; - break; - IL_034b: - c = _206D_200D_200F_200E_202A_206D_200B_202A_206C_206A_206F_202C_202D_202B_206D_206A_200D_202C_206A_206A_206C_202C_206D_202A_206C_202B_206E_206D_202B_206A_200D_202E_206E_202B_202A_206B_202D_200D_202E_206F_202E(keyword, 2); - num = ((c == 'e') ? 240931172 : 240931182); - break; - IL_0315: - num = (_202B_206D_206C_200D_200E_206D_206C_202C_202D_200C_206F_202C_202E_200B_202A_200F_200C_206C_200F_200D_200D_206A_202E_200F_206E_202E_202C_206E_202E_202C_200B_206B_200B_200E_202B_202B_206E_200C_206D_202D_202E(keyword, 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(431251289)) ? 240931198 : 240931180); - break; - IL_02a9: - result = false; - num = 240931177; - break; - IL_027e: - num = ((!_202B_206D_206C_200D_200E_206D_206C_202C_202D_200C_206F_202C_202E_200B_202A_200F_200C_206C_200F_200D_200D_206A_202E_200F_206E_202E_202C_206E_202E_202C_200B_206B_200B_200E_202B_202B_206E_200C_206D_202D_202E(keyword, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2049125528))) ? 240931173 : 240931198); - break; - IL_0248: - num = (_202B_206D_206C_200D_200E_206D_206C_202C_202D_200C_206F_202C_202E_200B_202A_200F_200C_206C_200F_200D_200D_206A_202E_200F_206E_202E_202C_206E_202E_202C_200B_206B_200B_200E_202B_202B_206E_200C_206D_202D_202E(keyword, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(757162084)) ? 240931198 : 240931193); - break; - IL_021d: - num = (_202B_206D_206C_200D_200E_206D_206C_202C_202D_200C_206F_202C_202E_200B_202A_200F_200C_206C_200F_200D_200D_206A_202E_200F_206E_202E_202C_206E_202E_202C_200B_206B_200B_200E_202B_202B_206E_200C_206D_202D_202E(keyword, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-847792367)) ? 240931198 : 240931184); - break; - } + case "oneOf": + case "allOf": + case "anyOf": + case "else": + case "then": + case "if": + case "not": + case "prefixItems": + case "contains": + return true; + default: + return false; } } private static string GetRawPath(string? instancePath) { - int num = ((!_202B_202A_200C_202A_200D_200D_202E_202C_202B_200D_206B_202B_200C_206F_202E_202D_206F_206A_206B_206D_200B_200F_202B_206D_200E_206A_206C_206D_206C_206D_200E_206E_206A_202B_202A_202B_202C_200E_206A_200C_202E(instancePath)) ? (-964105651) : (-964105650)); - while (true) + if (string.IsNullOrEmpty(instancePath)) { - int num2 = num; - int num3 = -964105653; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = -964105650; - break; - case 1: - instancePath = _200B_206E_202D_202B_200E_202D_202C_206B_200C_202B_206D_202C_200E_200B_202A_200C_206F_202D_202E_202E_202C_200B_206E_206F_200C_206F_200E_202C_202B_202C_200E_206E_206A_202C_202E_202D_206D_200B_202D_202C_202E(instancePath, 1); - num = -964105655; - break; - case 0: - num = ((!_202C_202A_200C_206A_206E_200C_200D_206C_202D_202A_206C_200B_200C_202E_206C_206D_202E_202E_200D_206A_200B_206E_206F_202A_200D_202C_202C_200E_200D_202D_206A_206D_206D_202A_202E_202E_200C_200B_200F_206E_202E(instancePath, '/')) ? (-964105655) : (-964105654)); - break; - case 6: - num = ((!_202C_202A_200C_206A_206E_200C_200D_206C_202D_202A_206C_200B_200C_202E_206C_206D_202E_202E_200D_206A_200B_206E_206F_202A_200D_202C_202C_200E_200D_202D_206A_206D_206D_202A_202E_202E_200C_200B_200F_206E_202E(instancePath, '#')) ? (-964105653) : (-964105656)); - break; - case 5: - return string.Empty; - case 3: - instancePath = _200B_206E_202D_202B_200E_202D_202C_206B_200C_202B_206D_202C_200E_200B_202A_200C_206F_202D_202E_202E_202C_200B_206E_206F_200C_206F_200E_202C_202B_202C_200E_206E_206A_202C_202E_202D_206D_200B_202D_202C_202E(instancePath, 1); - num = -964105653; - break; - case 2: - return instancePath; - } + return string.Empty; } - } - - static bool _200D_202E_206D_200E_202D_200E_200E_202C_206A_202E_202B_200C_202B_200F_206B_202E_200B_202A_206B_202C_206C_202B_200B_200B_206E_200B_200E_202C_206E_206F_202C_206E_202A_200C_206C_200E_206C_202B_202A_202D_202E(EvaluationResults P_0) - { - return P_0.IsValid; - } - - static Dictionary _206E_206B_206F_200E_202B_202D_202C_200C_202E_200E_202D_200E_202B_200B_200C_202C_200B_202E_202B_206B_202C_206A_200F_200E_206F_200C_200B_206E_206E_200E_202C_206E_206C_200D_200E_202D_202D_206A_206C_206F_202E(EvaluationResults P_0) - { - return P_0.Errors; - } - - static bool _202C_206C_202E_206F_202A_200E_200F_202B_200B_206F_206D_206F_200D_202E_206C_200E_200F_206D_206D_200F_206F_202D_202B_206A_200E_206E_200E_206F_200C_200C_202E_200F_200D_202C_200F_200C_202B_202B_200E_202E_202E(string P_0) - { - return string.IsNullOrWhiteSpace(P_0); - } - - static JsonPointer _202C_202A_200B_202E_200D_202D_206B_200F_206D_200B_206E_200E_200D_206B_206B_202A_206C_202A_202C_206C_200E_206F_202D_202D_202D_206C_206F_202C_206B_202B_206A_206D_206D_202A_202B_206B_202B_202E_200E_202E_202E(EvaluationResults P_0) - { - return P_0.InstanceLocation; - } - - static List _200D_200D_200C_202C_206A_202D_200C_206C_202A_200B_200D_206C_200E_202A_202D_200E_200D_200F_202E_206E_202E_202B_200C_202E_200F_206B_206F_202A_206F_206A_202E_206E_202C_206E_206F_200D_200E_202A_206D_202C_202E(EvaluationResults P_0) - { - return P_0.Details; - } - - static bool _202B_202A_200C_202A_200D_200D_202E_202C_202B_200D_206B_202B_200C_206F_202E_202D_206F_206A_206B_206D_200B_200F_202B_206D_200E_206A_206C_206D_206C_206D_200E_206E_206A_202B_202A_202B_202C_200E_206A_200C_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static string[] _206D_200C_202D_200C_206B_206E_202A_200B_202C_200D_200B_206C_202D_202C_200D_200F_202D_206E_206B_200B_200E_202D_200B_202B_206A_200E_206D_200E_206D_206B_206A_202B_206F_206B_206F_202C_200D_202A_200D_202E_202E(string P_0, char P_1, StringSplitOptions P_2) - { - return P_0.Split(P_1, P_2); - } - - static string _202A_200B_202D_202E_202C_206E_200D_200F_202D_202D_202C_202C_202C_206E_202E_206A_202E_202C_200C_206C_206A_200F_200E_200F_206E_202D_200F_202B_200C_202D_200D_202E_202A_202A_206D_202C_202E_206A_202A_200C_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static string _202A_202B_206A_200B_200E_202B_200E_206C_200F_206B_206B_202E_206E_200B_206B_206F_200D_202D_206E_202C_202D_200F_200E_202B_200C_202A_200E_202D_202B_206B_200C_200E_206D_206A_202E_200E_202A_200C_202C_206B_202E(string P_0, IEnumerable P_1) - { - return string.Join(P_0, P_1); - } - - static string _200C_200C_200D_202D_202E_206E_200E_206C_202D_202C_206A_202C_200B_202D_202C_202D_200E_202A_202B_202C_202E_200E_206B_202E_200B_200D_200D_202A_206F_200D_202C_202E_200C_206B_200F_202B_200E_206F_200D_200F_202E(string P_0, string P_1, string P_2, StringComparison P_3) - { - return P_0.Replace(P_1, P_2, P_3); - } - - static int _206B_200B_206A_202B_206F_202E_202C_200C_206B_206A_206F_206A_200E_200C_200D_200E_202D_202A_206D_206E_200F_202C_206C_206A_202E_206C_206B_206F_200B_200F_200C_206D_200B_206C_206F_202D_200E_202E_200D_200D_202E(string P_0) - { - return P_0.Length; - } - - static char _206D_200D_200F_200E_202A_206D_200B_202A_206C_206A_206F_202C_202D_202B_206D_206A_200D_202C_206A_206A_206C_202C_206D_202A_206C_202B_206E_206D_202B_206A_200D_202E_206E_202B_202A_206B_202D_200D_202E_206F_202E(string P_0, int P_1) - { - return P_0[P_1]; - } - - static bool _202B_206D_206C_200D_200E_206D_206C_202C_202D_200C_206F_202C_202E_200B_202A_200F_200C_206C_200F_200D_200D_206A_202E_200F_206E_202E_202C_206E_202E_202C_200B_206B_200B_200E_202B_202B_206E_200C_206D_202D_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - - static bool _202C_202A_200C_206A_206E_200C_200D_206C_202D_202A_206C_200B_200C_202E_206C_206D_202E_202E_200D_206A_200B_206E_206F_202A_200D_202C_202C_200E_200D_202D_206A_206D_206D_202A_202E_202E_200C_200B_200F_206E_202E(string P_0, char P_1) - { - return P_0.StartsWith(P_1); - } - - static string _200B_206E_202D_202B_200E_202D_202C_206B_200C_202B_206D_202C_200E_200B_202A_200C_206F_202D_202E_202E_202C_200B_206E_206F_200C_206F_200E_202C_202B_202C_200E_206E_206A_202C_202E_202D_206D_200B_202D_202C_202E(string P_0, int P_1) - { - return P_0.Substring(P_1); + if (instancePath.StartsWith('#')) + { + instancePath = instancePath.Substring(1); + } + if (instancePath.StartsWith('/')) + { + instancePath = instancePath.Substring(1); + } + return instancePath; } } diff --git a/Questionable/Questionable.Validation/ValidationIssue.cs b/Questionable/Questionable.Validation/ValidationIssue.cs index 335236f..0d5364e 100644 --- a/Questionable/Questionable.Validation/ValidationIssue.cs +++ b/Questionable/Questionable.Validation/ValidationIssue.cs @@ -1,24 +1,11 @@ -using System; -using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Runtime.CompilerServices; -using System.Text; using Questionable.Model.Questing; namespace Questionable.Validation; internal sealed record ValidationIssue { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206E_206E_206B_206F_202C_202D_200D_206F_202B_200D_202E_200F_202B_206B_202C_202D_200D_202E_200C_202B_206A_200F_200B_202E_206E_200C_200D_206C_202D_202D_206E_200E_206F_200F_200F_202C_200E_202D_206A_206B_202E(typeof(ValidationIssue).TypeHandle); - } - } - public EPathType PathType { get; init; } public string? Id { get; init; } @@ -37,123 +24,6 @@ internal sealed record ValidationIssue public required string Description { get; init; } - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200E_200C_206C_202B_200B_202C_202D_202C_200D_206C_206C_206A_200B_206E_206B_206E_200F_202C_206A_202A_206E_200E_206E_202E_206C_206C_206E_206F_206B_206C_202A_202C_200C_202D_202C_206D_202A_206E_206C_200E_202E(); - _206D_206C_202C_200E_206C_200D_200F_200E_200F_206C_206A_206A_200C_206D_206C_206E_200E_206A_202B_200F_200D_200D_202D_202E_202E_206B_206D_200D_206C_200C_206E_202E_202C_202C_206E_206C_200B_202E_200E_206F_202E(stringBuilder, 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(2070182154)); - _206D_206C_202C_200E_206C_200D_200F_200E_200F_206C_206A_206A_200C_206D_206C_206E_200E_206A_202B_200F_200D_200D_202D_202E_202E_206B_206D_200D_206C_200C_206E_202E_202C_202C_206E_206C_200B_202E_200E_206F_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(556540328)); - int num = ((!PrintMembers(stringBuilder)) ? (-2063063294) : (-2063063295)); - while (true) - { - int num2 = num; - int num3 = -2063063293; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -2063063295; - break; - case 1: - _200D_206D_200E_200F_206F_206A_200B_200C_202D_206A_206E_202C_200B_202E_200D_202A_206D_206F_202D_206B_202D_206B_202B_202B_200F_200C_200B_200E_202E_206B_202A_200D_202C_200F_202E_202D_202E_202A_206B_200D_202E(stringBuilder, '}'); - return _206E_202A_206A_202A_206A_202C_200D_200D_206B_202A_200E_202B_202B_202D_206E_200F_206B_206F_202E_206A_206A_202A_200B_200B_202A_200D_206C_202A_200B_202A_206F_206B_202D_200E_200C_200F_200C_206C_200E_202E((object?)stringBuilder); - case 2: - _200D_206D_200E_200F_206F_206A_200B_200C_202D_206A_206E_202C_200B_202E_200D_202A_206D_206F_202D_206B_202D_206B_202B_202B_200F_200C_200B_200E_202E_206B_202A_200D_202C_200F_202E_202D_202E_202A_206B_200D_202E(stringBuilder, ' '); - num = -2063063294; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206B_206B_200F_200C_200E_202D_200B_200B_206A_202B_206E_206E_200E_206F_202E_200E_200F_202D_206B_206D_200D_202D_206D_206C_202E_202D_202E_206A_206A_200F_200B_206A_202A_202C_202C_206D_200E_206C_206A_200E_202E(); - _206D_206C_202C_200E_206C_200D_200F_200E_200F_206C_206A_206A_200C_206D_206C_206E_200E_206A_202B_200F_200D_200D_202D_202E_202E_206B_206D_200D_206C_200C_206E_202E_202C_202C_206E_206C_200B_202E_200E_206F_202E(builder, 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(1054224284)); - _206D_206C_202C_200E_206C_200D_200F_200E_200F_206C_206A_206A_200C_206D_206C_206E_200E_206A_202B_200F_200D_200D_202D_202E_202E_206B_206D_200D_206C_200C_206E_202E_202C_202C_206E_206C_200B_202E_200E_206F_202E(builder, PathType.ToString()); - _206D_206C_202C_200E_206C_200D_200F_200E_200F_206C_206A_206A_200C_206D_206C_206E_200E_206A_202B_200F_200D_200D_202D_202E_202E_206B_206D_200D_206C_200C_206E_202E_202C_202C_206E_206C_200B_202E_200E_206F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(905575649)); - _200F_206F_200D_202A_202B_202C_202E_202B_206D_202E_202A_206B_206C_202A_200D_206B_206B_200E_200E_202D_206D_202C_202C_206F_206B_206B_202B_206F_206A_200F_200F_206F_202B_202D_206B_200E_206C_200D_206E_202E(builder, (object?)Id); - _206D_206C_202C_200E_206C_200D_200F_200E_200F_206C_206A_206A_200C_206D_206C_206E_200E_206A_202B_200F_200D_200D_202D_202E_202E_206B_206D_200D_206C_200C_206E_202E_202C_202C_206E_206C_200B_202E_200E_206F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(111180362)); - _200F_206F_200D_202A_202B_202C_202E_202B_206D_202E_202A_206B_206C_202A_200D_206B_206B_200E_200E_202D_206D_202C_202C_206F_206B_206B_202B_206F_206A_200F_200F_206F_202B_202D_206B_200E_206C_200D_206E_202E(builder, (object?)Location); - _206D_206C_202C_200E_206C_200D_200F_200E_200F_206C_206A_206A_200C_206D_206C_206E_200E_206A_202B_200F_200D_200D_202D_202E_202E_206B_206D_200D_206C_200C_206E_202E_202C_202C_206E_206C_200B_202E_200E_206F_202E(builder, 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(70669024)); - _200F_206F_200D_202A_202B_202C_202E_202B_206D_202E_202A_206B_206C_202A_200D_206B_206B_200E_200E_202D_206D_202C_202C_206F_206B_206B_202B_206F_206A_200F_200F_206F_202B_202D_206B_200E_206C_200D_206E_202E(builder, (object?)ElementId); - _206D_206C_202C_200E_206C_200D_200F_200E_200F_206C_206A_206A_200C_206D_206C_206E_200E_206A_202B_200F_200D_200D_202D_202E_202E_206B_206D_200D_206C_200C_206E_202E_202C_202C_206E_206C_200B_202E_200E_206F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(582584788)); - _206D_206C_202C_200E_206C_200D_200F_200E_200F_206C_206A_206A_200C_206D_206C_206E_200E_206A_202B_200F_200D_200D_202D_202E_202E_206B_206D_200D_206C_200C_206E_202E_202C_202C_206E_206C_200B_202E_200E_206F_202E(builder, Sequence.ToString()); - _206D_206C_202C_200E_206C_200D_200F_200E_200F_206C_206A_206A_200C_206D_206C_206E_200E_206A_202B_200F_200D_200D_202D_202E_202E_206B_206D_200D_206C_200C_206E_202E_202C_202C_206E_206C_200B_202E_200E_206F_202E(builder, 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(-218236649)); - _206D_206C_202C_200E_206C_200D_200F_200E_200F_206C_206A_206A_200C_206D_206C_206E_200E_206A_202B_200F_200D_200D_202D_202E_202E_206B_206D_200D_206C_200C_206E_202E_202C_202C_206E_206C_200B_202E_200E_206F_202E(builder, Step.ToString()); - _206D_206C_202C_200E_206C_200D_200F_200E_200F_206C_206A_206A_200C_206D_206C_206E_200E_206A_202B_200F_200D_200D_202D_202E_202E_206B_206D_200D_206C_200C_206E_202E_202C_202C_206E_206C_200B_202E_200E_206F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-368361860)); - _206D_206C_202C_200E_206C_200D_200F_200E_200F_206C_206A_206A_200C_206D_206C_206E_200E_206A_202B_200F_200D_200D_202D_202E_202E_206B_206D_200D_206C_200C_206E_202E_202C_202C_206E_206C_200B_202E_200E_206F_202E(builder, Type.ToString()); - _206D_206C_202C_200E_206C_200D_200F_200E_200F_206C_206A_206A_200C_206D_206C_206E_200E_206A_202B_200F_200D_200D_202D_202E_202E_206B_206D_200D_206C_200C_206E_202E_202C_202C_206E_206C_200B_202E_200E_206F_202E(builder, 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(-27686502)); - _206D_206C_202C_200E_206C_200D_200F_200E_200F_206C_206A_206A_200C_206D_206C_206E_200E_206A_202B_200F_200D_200D_202D_202E_202E_206B_206D_200D_206C_200C_206E_202E_202C_202C_206E_206C_200B_202E_200E_206F_202E(builder, Severity.ToString()); - _206D_206C_202C_200E_206C_200D_200F_200E_200F_206C_206A_206A_200C_206D_206C_206E_200E_206A_202B_200F_200D_200D_202D_202E_202E_206B_206D_200D_206C_200C_206E_202E_202C_202C_206E_206C_200B_202E_200E_206F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2025676759)); - _200F_206F_200D_202A_202B_202C_202E_202B_206D_202E_202A_206B_206C_202A_200D_206B_206B_200E_200E_202D_206D_202C_202C_206F_206B_206B_202B_206F_206A_200F_200F_206F_202B_202D_206B_200E_206C_200D_206E_202E(builder, (object?)Description); - return true; - } - - [CompilerGenerated] - public bool Equals(ValidationIssue? other) - { - int num = (((object)this == other) ? (-745881034) : (-745881033)); - while (true) - { - int num2 = num; - int num3 = -745881026; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - num = ((!EqualityComparer.Default.Equals(Type, other.Type)) ? (-745881037) : (-745881029)); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(Id, other.Id)) ? (-745881037) : (-745881027)); - break; - case 0: - num = ((!EqualityComparer.Default.Equals(ElementId, other.ElementId)) ? (-745881037) : (-745881035)); - break; - case 7: - num = -745881033; - break; - case 9: - num = (((object)other == null) ? (-745881037) : (-745881036)); - break; - case 5: - num = ((!EqualityComparer.Default.Equals(Severity, other.Severity)) ? (-745881037) : (-745881028)); - break; - case 13: - return false; - case 8: - return true; - case 6: - num = ((!EqualityComparer.Default.Equals(PathType, other.PathType)) ? (-745881037) : (-745881030)); - break; - case 11: - num = ((!EqualityComparer.Default.Equals(Sequence, other.Sequence)) ? (-745881037) : (-745881038)); - break; - case 12: - num = ((!EqualityComparer.Default.Equals(Step, other.Step)) ? (-745881037) : (-745881025)); - break; - case 3: - num = ((!EqualityComparer.Default.Equals(Location, other.Location)) ? (-745881037) : (-745881026)); - break; - case 10: - num = ((!_200B_206D_200C_202E_200C_206C_200B_206E_206B_202D_206B_206F_202A_200D_202B_200E_202A_206E_202A_200E_200D_200F_206E_206C_206C_206D_206D_202D_200C_202C_202E_206D_202D_206A_206D_200F_206F_206E_206E_202C_202E(EqualityContract, other.EqualityContract)) ? (-745881037) : (-745881032)); - break; - case 2: - return EqualityComparer.Default.Equals(Description, other.Description); - } - } - } - - bool IEquatable.Equals(ValidationIssue? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - [CompilerGenerated] [SetsRequiredMembers] private ValidationIssue(ValidationIssue original) @@ -172,44 +42,4 @@ internal sealed record ValidationIssue public ValidationIssue() { } - - static Type? _206E_206E_206B_206F_202C_202D_200D_206F_202B_200D_202E_200F_202B_206B_202C_202D_200D_202E_200C_202B_206A_200F_200B_202E_206E_200C_200D_206C_202D_202D_206E_200E_206F_200F_200F_202C_200E_202D_206A_206B_202E(RuntimeTypeHandle P_0) - { - return System.Type.GetTypeFromHandle(P_0); - } - - static StringBuilder? _200E_200C_206C_202B_200B_202C_202D_202C_200D_206C_206C_206A_200B_206E_206B_206E_200F_202C_206A_202A_206E_200E_206E_202E_206C_206C_206E_206F_206B_206C_202A_202C_200C_202D_202C_206D_202A_206E_206C_200E_202E() - { - return new StringBuilder(); - } - - static StringBuilder? _206D_206C_202C_200E_206C_200D_200F_200E_200F_206C_206A_206A_200C_206D_206C_206E_200E_206A_202B_200F_200D_200D_202D_202E_202E_206B_206D_200D_206C_200C_206E_202E_202C_202C_206E_206C_200B_202E_200E_206F_202E(StringBuilder? P_0, string? P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder? _200D_206D_200E_200F_206F_206A_200B_200C_202D_206A_206E_202C_200B_202E_200D_202A_206D_206F_202D_206B_202D_206B_202B_202B_200F_200C_200B_200E_202E_206B_202A_200D_202C_200F_202E_202D_202E_202A_206B_200D_202E(StringBuilder? P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string? _206E_202A_206A_202A_206A_202C_200D_200D_206B_202A_200E_202B_202B_202D_206E_200F_206B_206F_202E_206A_206A_202A_200B_200B_202A_200D_206C_202A_200B_202A_206F_206B_202D_200E_200C_200F_200C_206C_200E_202E(object? P_0) - { - return P_0.ToString(); - } - - static void _206B_206B_200F_200C_200E_202D_200B_200B_206A_202B_206E_206E_200E_206F_202E_200E_200F_202D_206B_206D_200D_202D_206D_206C_202E_202D_202E_206A_206A_200F_200B_206A_202A_202C_202C_206D_200E_206C_206A_200E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder? _200F_206F_200D_202A_202B_202C_202E_202B_206D_202E_202A_206B_206C_202A_200D_206B_206B_200E_200E_202D_206D_202C_202C_206F_206B_206B_202B_206F_206A_200F_200F_206F_202B_202D_206B_200E_206C_200D_206E_202E(StringBuilder? P_0, object? P_1) - { - return P_0.Append(P_1); - } - - static bool _200B_206D_200C_202E_200C_206C_200B_206E_206B_202D_206B_206F_202A_200D_202B_200E_202A_206E_202A_200E_200D_200F_206E_206C_206C_206D_206D_202D_200C_202C_202E_206D_202D_206A_206D_200F_206F_206E_206E_202C_202E(Type? P_0, Type? P_1) - { - return P_0 == P_1; - } } diff --git a/Questionable/Questionable.Windows.ChangelogComponents/ChangelogCategoryComponent.cs b/Questionable/Questionable.Windows.ChangelogComponents/ChangelogCategoryComponent.cs index f68bbb8..47a8ec8 100644 --- a/Questionable/Questionable.Windows.ChangelogComponents/ChangelogCategoryComponent.cs +++ b/Questionable/Questionable.Windows.ChangelogComponents/ChangelogCategoryComponent.cs @@ -1,4 +1,3 @@ -using System; using System.Collections.Generic; using System.Numerics; using Dalamud.Bindings.ImGui; @@ -12,304 +11,64 @@ internal static class ChangelogCategoryComponent { public static void DrawCategoryGroup(EChangeCategory category, List changes, float baseX) { - FontAwesomeIcon fontAwesomeIcon = default(FontAwesomeIcon); - Vector4 vector = default(Vector4); - FontAwesomeIcon icon = default(FontAwesomeIcon); - int num; - switch (category) + DrawCategoryHeader(category switch { - default: - num = -3418486; - goto IL_0026; - case EChangeCategory.Fixed: - fontAwesomeIcon = FontAwesomeIcon.Wrench; - num = -3418482; - goto IL_0026; - case EChangeCategory.Added: - goto IL_00b4; - case EChangeCategory.Changed: - goto IL_0131; - case EChangeCategory.Removed: - goto IL_016b; - case EChangeCategory.QuestUpdates: - goto IL_017d; - IL_0026: - while (true) - { - int num2 = num; - int num3 = -3418489; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - goto end_IL_0026; - case 13: - num = -3418495; - break; - case 1: - num = -3418491; - break; - case 15: - goto IL_00b4; - case 8: - vector = UiThemeUtils.StatusLocked; - num = -3418487; - break; - case 7: - goto IL_00d9; - case 11: - goto IL_00ec; - case 16: - num = -3418486; - break; - case 5: - goto IL_010b; - case 3: - goto IL_011e; - case 10: - goto IL_0131; - case 9: - icon = fontAwesomeIcon; - switch (category) - { - case EChangeCategory.Removed: - break; - case EChangeCategory.Fixed: - goto IL_00d9; - case EChangeCategory.QuestUpdates: - goto IL_00ec; - case EChangeCategory.Changed: - goto IL_010b; - case EChangeCategory.Added: - goto IL_011e; - default: - goto IL_015f; - } - goto case 8; - case 12: - goto IL_016b; - case 0: - goto IL_017d; - case 6: - fontAwesomeIcon = FontAwesomeIcon.Circle; - num = -3418482; - break; - case 2: - vector = UiThemeUtils.DimTextColor; - num = -3418487; - break; - case 14: - { - Vector4 color = vector; - DrawCategoryHeader(icon, color, category.ToDisplayString(), baseX); - _206E_202C_202B_206A_206C_200D_200B_200E_206B_206B_202B_200B_206E_202B_206A_206D_202C_200B_200F_200D_206A_202E_200F_206A_200D_200C_200F_206F_202C_206C_202C_200B_200F_200C_206C_206E_206D_202E_206C_202A_202E(); - float changeIndent = 28f; - using List.Enumerator enumerator = changes.GetEnumerator(); - num = -835962102; - while (true) - { - int num5 = num; - num3 = -835962104; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 2: - num = (enumerator.MoveNext() ? (-835962103) : (-835962104)); - break; - case 1: - DrawChange(enumerator.Current, baseX, changeIndent); - num = -835962102; - break; - case 3: - num = -835962102; - break; - case 0: - return; - } - } - } - IL_015f: - num = -3418490; - break; - IL_011e: - vector = UiThemeUtils.StatusComplete; - num = -3418487; - break; - IL_010b: - vector = UiThemeUtils.StatusActive; - num = -3418487; - break; - IL_00ec: - vector = UiThemeUtils.AccentColor; - num = -3418487; - break; - IL_00d9: - vector = UiThemeUtils.StatusAvailableComplete; - num = -3418487; - break; - } - continue; - end_IL_0026: - break; - } - goto case EChangeCategory.Fixed; - IL_017d: - fontAwesomeIcon = FontAwesomeIcon.Map; - num = -3418482; - goto IL_0026; - IL_016b: - fontAwesomeIcon = FontAwesomeIcon.Minus; - num = -3418482; - goto IL_0026; - IL_0131: - fontAwesomeIcon = FontAwesomeIcon.Edit; - num = -3418482; - goto IL_0026; - IL_00b4: - fontAwesomeIcon = FontAwesomeIcon.Plus; - num = -3418482; - goto IL_0026; + EChangeCategory.Added => FontAwesomeIcon.Plus, + EChangeCategory.Changed => FontAwesomeIcon.Edit, + EChangeCategory.Fixed => FontAwesomeIcon.Wrench, + EChangeCategory.Removed => FontAwesomeIcon.Minus, + EChangeCategory.QuestUpdates => FontAwesomeIcon.Map, + _ => FontAwesomeIcon.Circle, + }, category switch + { + EChangeCategory.Added => UiThemeUtils.StatusComplete, + EChangeCategory.Changed => UiThemeUtils.StatusActive, + EChangeCategory.Fixed => UiThemeUtils.StatusAvailableComplete, + EChangeCategory.Removed => UiThemeUtils.StatusLocked, + EChangeCategory.QuestUpdates => UiThemeUtils.AccentColor, + _ => UiThemeUtils.DimTextColor, + }, category.ToDisplayString(), baseX); + ImGui.Spacing(); + float changeIndent = 28f; + foreach (ChangeEntry change in changes) + { + DrawChange(change, baseX, changeIndent); } } private static void DrawCategoryHeader(FontAwesomeIcon icon, Vector4 color, string text, float baseX) { - float num = _206E_206F_206F_206F_206A_202C_200C_206C_202E_206B_206B_200E_206D_206D_206A_202A_206F_202D_206B_206C_200E_206A_200F_206A_202E_200D_202E_202D_206F_206C_200D_206F_206A_206F_202C_200F_200B_202D_206B_202A_202E(); - _206A_200E_206D_206D_202B_202C_202A_206E_200D_202E_202B_206F_206D_200C_202D_206C_202E_200E_202C_202A_202D_206D_202E_206A_206D_202A_206C_202B_202A_206C_202C_206A_200D_206F_200E_202B_200F_206A_206B_206B_202E(baseX); - ImRaii.FontDisposable fontDisposable = _206A_202C_200C_206A_206E_200B_206B_200B_202E_206C_206E_202B_200D_200F_200E_206A_200E_202C_206D_206C_202A_200F_206A_200E_200E_206E_206C_200F_202D_202D_206C_202B_206E_206D_202E_200C_206F_206C_206E_202C_202E(_206B_206A_206B_200B_206A_206E_202D_202E_206A_202B_200D_202D_202C_200C_206F_206C_202C_206F_200F_200D_200F_206A_202E_202E_206D_206D_206E_206A_200D_200D_202A_202E_202B_206C_202C_202A_206E_202B_202C_202D_202E(), true); - try + float cursorPosY = ImGui.GetCursorPosY(); + ImGui.SetCursorPosX(baseX); + using (ImRaii.PushFont(UiBuilder.IconFont)) { - _206D_202B_202C_206B_200B_206A_202C_202A_200C_202D_202C_202D_200B_202E_206A_202B_200B_200E_200C_200E_206A_200E_202A_206A_202E_206C_202B_200D_200C_202A_202C_202E_206A_206B_200F_202A_202A_200D_202C_206A_202E(ref color, (ImU8String)_202A_200C_202C_200D_206F_200D_206C_200F_202D_202A_206B_202E_200E_206E_206C_200F_202A_200C_200F_206F_202A_200C_206D_206F_202D_202D_206A_200C_202C_202B_206A_202B_202C_206F_202A_206F_200D_202B_200E_206E_202E(icon)); + ImGui.TextColored(in color, icon.ToIconString()); } - finally + ImGui.SameLine(); + ImGui.SetCursorPosY(cursorPosY); + using (ImRaii.PushColor(ImGuiCol.Text, color)) { - int num2 = ((fontDisposable == null) ? (-1204111214) : (-1204111215)); - while (true) - { - int num3 = num2; - int num4 = -1204111216; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num2 = -1204111215; - break; - case 2: - goto end_IL_004b; - case 1: - _206B_202B_206E_206B_200B_200B_206A_206B_200B_206C_202E_202C_206C_202C_200C_202B_206E_202C_206F_200F_202A_206F_206D_206D_202B_200B_206B_200F_202C_200B_200C_202C_206E_202A_206F_206C_202E_206D_202B_206A_202E((IDisposable)fontDisposable); - num2 = -1204111214; - break; - } - continue; - end_IL_004b: - break; - } - } - _200B_200C_202A_206F_200D_206F_200B_200B_202C_206E_202C_206F_206F_202C_206F_200C_206D_200E_200F_202C_206E_206A_202B_200F_206C_206D_200C_200C_200F_200C_200F_202B_202D_206C_202B_206A_202C_200B_200F_202D_202E(); - _200B_206F_206F_206D_206D_202D_206E_200D_206C_206E_206D_202E_200E_202E_206A_202B_200C_202D_202B_200D_206C_200C_200B_202D_206D_202D_206F_200B_206E_206D_202A_206A_206A_200E_202A_200E_200C_206D_206F_200E_202E(num); - ImRaii.ColorDisposable colorDisposable = _202A_200F_206A_202D_200D_200D_202B_206C_206B_206A_200E_202D_206D_202B_206B_206C_206F_200F_202C_200D_206F_200E_200C_206D_202C_206A_206A_206F_206F_206D_206F_200C_202B_202B_206A_202C_206C_202A_206E_206A_202E(ImGuiCol.Text, color, true); - try - { - _206D_206C_202B_206D_202B_206E_200D_202E_202C_206A_206D_206D_202B_206E_206C_202B_202A_202E_206A_200E_200F_206E_202A_206A_206A_200B_202C_206C_206A_202A_200C_202A_206F_206B_206A_200E_202E_206D_206D_202E((ImU8String)text); - } - finally - { - int num2 = ((colorDisposable == null) ? (-1954991280) : (-1954991279)); - while (true) - { - int num6 = num2; - int num4 = -1954991280; - int num5 = num6; - int num7 = num5 + num4; - int num8 = num5 & num4; - switch (num7 - (num8 + num8)) - { - case 0: - goto end_IL_00d3; - case 1: - _206B_202B_206E_206B_200B_200B_206A_206B_200B_206C_202E_202C_206C_202C_200C_202B_206E_202C_206F_200F_202A_206F_206D_206D_202B_200B_206B_200F_202C_200B_200C_202C_206E_202A_206F_206C_202E_206D_202B_206A_202E((IDisposable)colorDisposable); - num2 = -1954991280; - break; - case 2: - num2 = -1954991279; - break; - } - continue; - end_IL_00d3: - break; - } + ImGui.TextUnformatted(text); } } private static void DrawChange(ChangeEntry change, float baseX, float changeIndent) { - _206A_200E_206D_206D_202B_202C_202A_206E_200D_202E_202B_206F_206D_200C_202D_206C_202E_200E_202C_202A_202D_206D_202E_206A_206D_202A_206C_202B_202A_206C_202C_206A_200D_206F_200E_202B_200F_206A_206B_206B_202E(baseX + changeIndent); - float num = _206E_206F_206F_206F_206A_202C_200C_206C_202E_206B_206B_200E_206D_206D_206A_202A_206F_202D_206B_206C_200E_206A_200F_206A_202E_200D_202E_202D_206F_206C_200D_206F_206A_206F_202C_200F_200B_202D_206B_202A_202E(); - ImRaii.FontDisposable fontDisposable = _206A_202C_200C_206A_206E_200B_206B_200B_202E_206C_206E_202B_200D_200F_200E_206A_200E_202C_206D_206C_202A_200F_206A_200E_200E_206E_206C_200F_202D_202D_206C_202B_206E_206D_202E_200C_206F_206C_206E_202C_202E(_206B_206A_206B_200B_206A_206E_202D_202E_206A_202B_200D_202D_202C_200C_206F_206C_202C_206F_200F_200D_200F_206A_202E_202E_206D_206D_206E_206A_200D_200D_202A_202E_202B_206C_202C_202A_206E_202B_202C_202D_202E(), true); - int num2; - try + ImGui.SetCursorPosX(baseX + changeIndent); + float cursorPosY = ImGui.GetCursorPosY(); + using (ImRaii.PushFont(UiBuilder.IconFont)) { - _206D_202B_202C_206B_200B_206A_202C_202A_200C_202D_202C_202D_200B_202E_206A_202B_200B_200E_200C_200E_206A_200E_202A_206A_202E_206C_202B_200D_200C_202A_202C_202E_206A_206B_200F_202A_202A_200D_202C_206A_202E(ref UiThemeUtils.PrimaryTextColor, (ImU8String)_202A_200C_202C_200D_206F_200D_206C_200F_202D_202A_206B_202E_200E_206E_206C_200F_202A_200C_200F_206F_202A_200C_206D_206F_202D_202D_206A_200C_202C_202B_206A_202B_202C_206F_202A_206F_200D_202B_200E_206E_202E(FontAwesomeIcon.CaretRight)); + ImGui.TextColored(in UiThemeUtils.PrimaryTextColor, FontAwesomeIcon.CaretRight.ToIconString()); } - finally + ImGui.SameLine(); + ImGui.SetCursorPosY(cursorPosY); + float num = ImGui.GetContentRegionAvail().X - 8f; + ImGui.PushTextWrapPos(ImGui.GetCursorPosX() + num); + ImGui.TextColored(in UiThemeUtils.PrimaryTextColor, change.Description); + ImGui.PopTextWrapPos(); + if (change.SubItems != null && change.SubItems.Count > 0) { - num2 = ((fontDisposable == null) ? 90155660 : 90155663); - while (true) - { - int num3 = num2; - int num4 = 90155661; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 0: - num2 = 90155663; - break; - case 2: - _206B_202B_206E_206B_200B_200B_206A_206B_200B_206C_202E_202C_206C_202C_200C_202B_206E_202C_206F_200F_202A_206F_206D_206D_202B_200B_206B_200F_202C_200B_200C_202C_206E_202A_206F_206C_202E_206D_202B_206A_202E((IDisposable)fontDisposable); - num2 = 90155660; - break; - case 1: - goto end_IL_0054; - } - continue; - end_IL_0054: - break; - } - } - _200B_200C_202A_206F_200D_206F_200B_200B_202C_206E_202C_206F_206F_202C_206F_200C_206D_200E_200F_202C_206E_206A_202B_200F_206C_206D_200C_200C_200F_200C_200F_202B_202D_206C_202B_206A_202C_200B_200F_202D_202E(); - _200B_206F_206F_206D_206D_202D_206E_200D_206C_206E_206D_202E_200E_202E_206A_202B_200C_202D_202B_200D_206C_200C_200B_202D_206D_202D_206F_200B_206E_206D_202A_206A_206A_200E_202A_200E_200C_206D_206F_200E_202E(num); - float num8 = _206C_206D_202A_206F_200C_206C_202A_206A_206D_202C_206E_202A_202B_206E_202E_200E_200D_200B_206F_200D_202C_202E_200C_202A_202A_206B_202C_202A_202E_202C_206A_206D_200B_200C_206D_206B_206C_200D_206F_202D_202E().X - 8f; - _200D_202C_206F_200B_206D_200E_206D_202C_202B_206B_202B_206E_200F_206C_206D_202E_202B_206C_202A_200F_206A_202C_206F_202A_202E_202E_202E_206F_200D_200D_202D_200C_202E_202D_200B_202E_206C_202D_206C_200F_202E(_202C_200B_200D_206A_202B_200E_200C_200F_202B_200C_200B_202E_202A_200B_202C_206A_206A_206A_200B_200D_202A_206E_206D_202E_206F_200B_202D_202A_202D_202B_200C_206E_200F_202E_206E_200C_200D_206D_202A_206C_202E() + num8); - _206D_202B_202C_206B_200B_206A_202C_202A_200C_202D_202C_202D_200B_202E_206A_202B_200B_200E_200C_200E_206A_200E_202A_206A_202E_206C_202B_200D_200C_202A_202C_202E_206A_206B_200F_202A_202A_200D_202C_206A_202E(ref UiThemeUtils.PrimaryTextColor, (ImU8String)change.Description); - _206D_202C_206D_200E_202D_206E_202D_206E_202A_206D_202A_206F_200E_202E_206D_202D_206C_206B_206F_206F_202A_202C_206F_200B_200E_206C_206D_200C_202D_200D_206E_206E_202A_202D_202E_202A_202A_206C_200E_206F_202E(); - num2 = ((change.SubItems == null) ? 622444501 : 622444500); - while (true) - { - int num9 = num2; - int num4 = 622444502; - int num5 = num9; - int num10 = num5 + num4; - int num11 = num5 & num4; - switch (num10 - (num11 + num11)) - { - case 0: - num2 = 622444500; - break; - case 1: - DrawSubItems(change.SubItems, baseX, changeIndent); - num2 = 622444501; - break; - case 3: - return; - case 2: - num2 = ((change.SubItems.Count <= 0) ? 622444501 : 622444503); - break; - } + DrawSubItems(change.SubItems, baseX, changeIndent); } } @@ -318,126 +77,18 @@ internal static class ChangelogCategoryComponent float num = changeIndent + 20f; foreach (string subItem in subItems) { - _206A_200E_206D_206D_202B_202C_202A_206E_200D_202E_202B_206F_206D_200C_202D_206C_202E_200E_202C_202A_202D_206D_202E_206A_206D_202A_206C_202B_202A_206C_202C_206A_200D_206F_200E_202B_200F_206A_206B_206B_202E(baseX + num); - float num2 = _206E_206F_206F_206F_206A_202C_200C_206C_202E_206B_206B_200E_206D_206D_206A_202A_206F_202D_206B_206C_200E_206A_200F_206A_202E_200D_202E_202D_206F_206C_200D_206F_206A_206F_202C_200F_200B_202D_206B_202A_202E(); - ImRaii.FontDisposable fontDisposable = _206A_202C_200C_206A_206E_200B_206B_200B_202E_206C_206E_202B_200D_200F_200E_206A_200E_202C_206D_206C_202A_200F_206A_200E_200E_206E_206C_200F_202D_202D_206C_202B_206E_206D_202E_200C_206F_206C_206E_202C_202E(_206B_206A_206B_200B_206A_206E_202D_202E_206A_202B_200D_202D_202C_200C_206F_206C_202C_206F_200F_200D_200F_206A_202E_202E_206D_206D_206E_206A_200D_200D_202A_202E_202B_206C_202C_202A_206E_202B_202C_202D_202E(), true); - try + ImGui.SetCursorPosX(baseX + num); + float cursorPosY = ImGui.GetCursorPosY(); + using (ImRaii.PushFont(UiBuilder.IconFont)) { - _206D_202B_202C_206B_200B_206A_202C_202A_200C_202D_202C_202D_200B_202E_206A_202B_200B_200E_200C_200E_206A_200E_202A_206A_202E_206C_202B_200D_200C_202A_202C_202E_206A_206B_200F_202A_202A_200D_202C_206A_202E(ref UiThemeUtils.DimTextColor, (ImU8String)_202A_200C_202C_200D_206F_200D_206C_200F_202D_202A_206B_202E_200E_206E_206C_200F_202A_200C_200F_206F_202A_200C_206D_206F_202D_202D_206A_200C_202C_202B_206A_202B_202C_206F_202A_206F_200D_202B_200E_206E_202E(FontAwesomeIcon.AngleRight)); + ImGui.TextColored(in UiThemeUtils.DimTextColor, FontAwesomeIcon.AngleRight.ToIconString()); } - finally - { - int num3 = ((fontDisposable == null) ? (-940511254) : (-940511255)); - while (true) - { - int num4 = num3; - int num5 = -940511256; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) - { - case 2: - goto end_IL_0074; - case 1: - _206B_202B_206E_206B_200B_200B_206A_206B_200B_206C_202E_202C_206C_202C_200C_202B_206E_202C_206F_200F_202A_206F_206D_206D_202B_200B_206B_200F_202C_200B_200C_202C_206E_202A_206F_206C_202E_206D_202B_206A_202E((IDisposable)fontDisposable); - num3 = -940511254; - break; - case 0: - num3 = -940511255; - break; - } - continue; - end_IL_0074: - break; - } - } - _200B_200C_202A_206F_200D_206F_200B_200B_202C_206E_202C_206F_206F_202C_206F_200C_206D_200E_200F_202C_206E_206A_202B_200F_206C_206D_200C_200C_200F_200C_200F_202B_202D_206C_202B_206A_202C_200B_200F_202D_202E(); - _200B_206F_206F_206D_206D_202D_206E_200D_206C_206E_206D_202E_200E_202E_206A_202B_200C_202D_202B_200D_206C_200C_200B_202D_206D_202D_206F_200B_206E_206D_202A_206A_206A_200E_202A_200E_200C_206D_206F_200E_202E(num2); - float num9 = _206C_206D_202A_206F_200C_206C_202A_206A_206D_202C_206E_202A_202B_206E_202E_200E_200D_200B_206F_200D_202C_202E_200C_202A_202A_206B_202C_202A_202E_202C_206A_206D_200B_200C_206D_206B_206C_200D_206F_202D_202E().X - 8f; - _200D_202C_206F_200B_206D_200E_206D_202C_202B_206B_202B_206E_200F_206C_206D_202E_202B_206C_202A_200F_206A_202C_206F_202A_202E_202E_202E_206F_200D_200D_202D_200C_202E_202D_200B_202E_206C_202D_206C_200F_202E(_202C_200B_200D_206A_202B_200E_200C_200F_202B_200C_200B_202E_202A_200B_202C_206A_206A_206A_200B_200D_202A_206E_206D_202E_206F_200B_202D_202A_202D_202B_200C_206E_200F_202E_206E_200C_200D_206D_202A_206C_202E() + num9); - _206D_202B_202C_206B_200B_206A_202C_202A_200C_202D_202C_202D_200B_202E_206A_202B_200B_200E_200C_200E_206A_200E_202A_206A_202E_206C_202B_200D_200C_202A_202C_202E_206A_206B_200F_202A_202A_200D_202C_206A_202E(ref UiThemeUtils.DimTextColor, (ImU8String)subItem); - _206D_202C_206D_200E_202D_206E_202D_206E_202A_206D_202A_206F_200E_202E_206D_202D_206C_206B_206F_206F_202A_202C_206F_200B_200E_206C_206D_200C_202D_200D_206E_206E_202A_202D_202E_202A_202A_206C_200E_206F_202E(); + ImGui.SameLine(); + ImGui.SetCursorPosY(cursorPosY); + float num2 = ImGui.GetContentRegionAvail().X - 8f; + ImGui.PushTextWrapPos(ImGui.GetCursorPosX() + num2); + ImGui.TextColored(in UiThemeUtils.DimTextColor, subItem); + ImGui.PopTextWrapPos(); } } - - static void _206E_202C_202B_206A_206C_200D_200B_200E_206B_206B_202B_200B_206E_202B_206A_206D_202C_200B_200F_200D_206A_202E_200F_206A_200D_200C_200F_206F_202C_206C_202C_200B_200F_200C_206C_206E_206D_202E_206C_202A_202E() - { - ImGui.Spacing(); - } - - static float _206E_206F_206F_206F_206A_202C_200C_206C_202E_206B_206B_200E_206D_206D_206A_202A_206F_202D_206B_206C_200E_206A_200F_206A_202E_200D_202E_202D_206F_206C_200D_206F_206A_206F_202C_200F_200B_202D_206B_202A_202E() - { - return ImGui.GetCursorPosY(); - } - - static void _206A_200E_206D_206D_202B_202C_202A_206E_200D_202E_202B_206F_206D_200C_202D_206C_202E_200E_202C_202A_202D_206D_202E_206A_206D_202A_206C_202B_202A_206C_202C_206A_200D_206F_200E_202B_200F_206A_206B_206B_202E(float P_0) - { - ImGui.SetCursorPosX(P_0); - } - - static ImFontPtr _206B_206A_206B_200B_206A_206E_202D_202E_206A_202B_200D_202D_202C_200C_206F_206C_202C_206F_200F_200D_200F_206A_202E_202E_206D_206D_206E_206A_200D_200D_202A_202E_202B_206C_202C_202A_206E_202B_202C_202D_202E() - { - return UiBuilder.IconFont; - } - - static ImRaii.FontDisposable _206A_202C_200C_206A_206E_200B_206B_200B_202E_206C_206E_202B_200D_200F_200E_206A_200E_202C_206D_206C_202A_200F_206A_200E_200E_206E_206C_200F_202D_202D_206C_202B_206E_206D_202E_200C_206F_206C_206E_202C_202E(ImFontPtr P_0, bool P_1) - { - return ImRaii.PushFont(P_0, P_1); - } - - static string _202A_200C_202C_200D_206F_200D_206C_200F_202D_202A_206B_202E_200E_206E_206C_200F_202A_200C_200F_206F_202A_200C_206D_206F_202D_202D_206A_200C_202C_202B_206A_202B_202C_206F_202A_206F_200D_202B_200E_206E_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static void _206D_202B_202C_206B_200B_206A_202C_202A_200C_202D_202C_202D_200B_202E_206A_202B_200B_200E_200C_200E_206A_200E_202A_206A_202E_206C_202B_200D_200C_202A_202C_202E_206A_206B_200F_202A_202A_200D_202C_206A_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static void _206B_202B_206E_206B_200B_200B_206A_206B_200B_206C_202E_202C_206C_202C_200C_202B_206E_202C_206F_200F_202A_206F_206D_206D_202B_200B_206B_200F_202C_200B_200C_202C_206E_202A_206F_206C_202E_206D_202B_206A_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _200B_200C_202A_206F_200D_206F_200B_200B_202C_206E_202C_206F_206F_202C_206F_200C_206D_200E_200F_202C_206E_206A_202B_200F_206C_206D_200C_200C_200F_200C_200F_202B_202D_206C_202B_206A_202C_200B_200F_202D_202E() - { - ImGui.SameLine(); - } - - static void _200B_206F_206F_206D_206D_202D_206E_200D_206C_206E_206D_202E_200E_202E_206A_202B_200C_202D_202B_200D_206C_200C_200B_202D_206D_202D_206F_200B_206E_206D_202A_206A_206A_200E_202A_200E_200C_206D_206F_200E_202E(float P_0) - { - ImGui.SetCursorPosY(P_0); - } - - static ImRaii.ColorDisposable _202A_200F_206A_202D_200D_200D_202B_206C_206B_206A_200E_202D_206D_202B_206B_206C_206F_200F_202C_200D_206F_200E_200C_206D_202C_206A_206A_206F_206F_206D_206F_200C_202B_202B_206A_202C_206C_202A_206E_206A_202E(ImGuiCol P_0, Vector4 P_1, bool P_2) - { - return ImRaii.PushColor(P_0, P_1, P_2); - } - - static void _206D_206C_202B_206D_202B_206E_200D_202E_202C_206A_206D_206D_202B_206E_206C_202B_202A_202E_206A_200E_200F_206E_202A_206A_206A_200B_202C_206C_206A_202A_200C_202A_206F_206B_206A_200E_202E_206D_206D_202E(ImU8String P_0) - { - ImGui.TextUnformatted(P_0); - } - - static Vector2 _206C_206D_202A_206F_200C_206C_202A_206A_206D_202C_206E_202A_202B_206E_202E_200E_200D_200B_206F_200D_202C_202E_200C_202A_202A_206B_202C_202A_202E_202C_206A_206D_200B_200C_206D_206B_206C_200D_206F_202D_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static float _202C_200B_200D_206A_202B_200E_200C_200F_202B_200C_200B_202E_202A_200B_202C_206A_206A_206A_200B_200D_202A_206E_206D_202E_206F_200B_202D_202A_202D_202B_200C_206E_200F_202E_206E_200C_200D_206D_202A_206C_202E() - { - return ImGui.GetCursorPosX(); - } - - static void _200D_202C_206F_200B_206D_200E_206D_202C_202B_206B_202B_206E_200F_206C_206D_202E_202B_206C_202A_200F_206A_202C_206F_202A_202E_202E_202E_206F_200D_200D_202D_200C_202E_202D_200B_202E_206C_202D_206C_200F_202E(float P_0) - { - ImGui.PushTextWrapPos(P_0); - } - - static void _206D_202C_206D_200E_202D_206E_202D_206E_202A_206D_202A_206F_200E_202E_206D_202D_206C_206B_206F_206F_202A_202C_206F_200B_200E_206C_206D_200C_202D_200D_206E_206E_202A_202D_202E_202A_202A_206C_200E_206F_202E() - { - ImGui.PopTextWrapPos(); - } } diff --git a/Questionable/Questionable.Windows.ChangelogComponents/ChangelogEntryComponent.cs b/Questionable/Questionable.Windows.ChangelogComponents/ChangelogEntryComponent.cs index 98c50ba..30683e5 100644 --- a/Questionable/Questionable.Windows.ChangelogComponents/ChangelogEntryComponent.cs +++ b/Questionable/Questionable.Windows.ChangelogComponents/ChangelogEntryComponent.cs @@ -1,10 +1,7 @@ using System; -using System.Collections; -using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; using Dalamud.Interface; using Dalamud.Interface.Utility.Raii; @@ -28,220 +25,83 @@ internal sealed class ChangelogEntryComponent _animationTime = animationTime; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Draw(ChangelogEntry changelog, bool isLatest, bool hasSetInitialState) { bool isNew = changelog.IsNewVersion(_configuration.LastViewedChangelogVersion, ChangelogData.Changelogs); - _206D_206D_206A_206F_202C_206C_206A_202D_206C_200F_206B_206B_200D_206E_206B_206A_200B_206C_206E_202B_202B_206B_202B_206E_202E_200C_200E_206B_206F_202E_200B_202B_206B_206F_206C_202E_206E_202D_200B_206B_202E(); - string text = changelog.ReleaseDate.ToString(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(-1240136689), _202A_206F_206F_206A_200F_202E_200B_206C_202A_206F_202B_200D_206C_202A_206E_202C_206F_202C_200B_202E_206F_202E_206F_200B_206F_200C_206B_206A_202D_202D_202E_206A_200C_206F_200B_206E_202C_200B_206B_202A_202E()); - int num = (hasSetInitialState ? 1911348857 : 1911348856); - while (true) + ImGui.GetWindowDrawList(); + string text = changelog.ReleaseDate.ToString("MMMM dd, yyyy", CultureInfo.InvariantCulture); + if (!hasSetInitialState) { - int num2 = num; - int num3 = 1911348857; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 1911348856; - break; - case 1: - _202A_206A_206F_202E_202C_206D_206E_200E_206B_202D_206D_202D_202E_202E_200C_202B_206F_200F_202A_200B_202D_206A_206F_200F_200C_202C_200E_202D_202A_200C_206D_206C_200C_200D_200F_200B_206F_202E_200F_200C_202E(isLatest, ImGuiCond.Always); - num = 1911348857; - break; - case 0: - { - string text2 = _200E_200B_202C_200B_206E_206F_206C_202B_206F_206B_202C_202C_202E_202D_202B_206D_202B_202A_200C_202E_206A_202A_206F_206B_206C_202B_200E_206D_200B_200C_206E_200C_206F_206A_202B_200F_206C_202B_206A_206D_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(198217444), changelog.Version); - float num7 = _202E_206D_206F_202D_200E_206A_206B_206A_202C_200B_202B_200D_202B_200F_206B_206B_202A_200C_206E_202E_206A_202D_200C_202B_200F_206E_200D_202D_202A_200C_200F_206B_206B_200D_200D_206D_202B_206B_206A_206B_202E(); - float num8 = num7; - ImRaii.FontDisposable fontDisposable = _202D_206C_206A_200C_200C_206A_206A_206E_200B_202B_200D_202D_200D_200F_206A_200F_200E_206A_202C_200C_202D_202B_202D_202D_206E_206A_202B_206B_200C_206B_206B_206C_202C_206B_202E_202B_200C_206D_206E_206A_202E(_206D_206D_200B_206C_202B_202B_200F_200B_206E_200D_202C_206E_200F_206D_200F_202B_202E_202D_200F_202A_202A_206F_200E_206B_206C_202C_202C_200E_206A_202B_200F_200D_202C_202A_206C_200C_206A_200B_206D_200D_202E(), true); - Vector2 versionSize; - try - { - versionSize = _206A_200D_200D_206B_206B_200C_200E_202D_206C_206B_200D_202E_206F_202C_206D_200F_202C_202C_202A_206E_200B_206D_202D_202E_200B_200C_202A_200D_206E_206A_200E_206C_202A_202E_200D_202E_202C_206A_200D_206A_202E((ImU8String)text2, false, -1f); - } - finally - { - num = ((fontDisposable == null) ? (-1789217360) : (-1789217357)); - while (true) - { - int num9 = num; - num3 = -1789217359; - num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 0: - num = -1789217357; - break; - case 2: - _206C_200C_202D_200C_202C_206E_206F_206D_200D_202B_206B_200F_206D_202A_206F_200F_200E_206C_200D_206C_206C_200E_200B_200F_206C_206A_202B_200C_202B_202B_202E_202E_200F_202A_200E_206B_206E_200F_200F_206D_202E((IDisposable)fontDisposable); - num = -1789217360; - break; - case 1: - goto end_IL_010a; - } - continue; - end_IL_010a: - break; - } - } - Vector2 dateSize = _206A_200D_200D_206B_206B_200C_200E_202D_206C_206B_200D_202E_206F_202C_206D_200F_202C_202C_202A_206E_200B_206D_202D_202E_200B_200C_202A_200D_206E_206A_200E_206C_202A_202E_200D_202E_202C_206A_200D_206A_202E((ImU8String)text, false, -1f); - float scaledIconFontSize = num7 * 0.85f; - float x = _206E_206C_202A_200C_200E_202E_202E_206C_200E_206A_200F_206E_202C_206B_200D_202C_200B_202D_200F_202E_206A_200D_202C_206F_206D_206C_200F_206A_202D_206F_202D_202B_206B_206B_202D_206E_206D_206F_206D_202A_202E().X; - Vector2 headerStartPos = _206D_202B_202D_206A_206F_206C_206A_202D_206E_206C_200F_206B_206F_202B_206B_206B_200F_202B_206D_200D_200D_206F_206C_206F_202B_202B_202C_202B_200F_200E_206F_202A_206E_200D_206D_206D_206E_206D_202A_200C_202E(); - Vector2 headerStartScreenPos = _206C_202E_206D_202B_206B_200E_206B_202B_200B_206F_206F_202C_200E_200D_200B_206B_206A_202D_206C_206F_200B_202B_206C_202B_202A_206B_202A_206D_206D_206A_202A_206C_200E_206A_206D_200B_200D_206B_206B_202E_202E(); - ImU8String imU8String = new ImU8String(19, 2); - imU8String.AppendLiteral(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(1977092887)); - imU8String.AppendFormatted(changelog.Version); - imU8String.AppendLiteral(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(47339251)); - imU8String.AppendFormatted(_windowOpenCount); - bool num12 = _200F_202C_206F_200F_206A_200F_202C_202C_206C_202B_200D_202D_206B_202B_200B_206F_200D_206E_200F_202E_202C_206F_200F_200B_200B_200D_206B_206E_206C_200C_206C_202C_202E_200E_200B_206A_202B_206C_202E_200D_202E(imU8String, ImGuiTreeNodeFlags.None); - Vector2 vector = _206D_202B_202D_206A_206F_206C_206A_202D_206E_206C_200F_206B_206F_202B_206B_206B_200F_202B_206D_200D_200D_206F_206C_206F_202B_202B_202C_202B_200F_200E_206F_202A_206E_200D_206D_206D_206E_206D_202A_200C_202E(); - float verticalOffset = (vector.Y - headerStartPos.Y - num8) * 0.5f - 1f; - DrawVersionText(text2, versionSize, headerStartPos, verticalOffset); - DrawNewBadge(isNew, headerStartScreenPos, x); - DrawDateWithIcon(text, dateSize, scaledIconFontSize, headerStartScreenPos, headerStartPos, x, verticalOffset, num7); - _206A_206C_200B_206C_202D_200E_202B_206F_206F_206E_206C_200D_202A_206A_202E_206E_200E_202E_200D_200C_200B_200C_202D_202D_200D_202C_200C_200B_206F_200E_206F_202D_200B_206A_202D_206E_200F_202C_206D_202E_202E(vector); - num = (num12 ? 301162147 : 301162144); - while (true) - { - int num13 = num; - num3 = 301162145; - num4 = num13; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - DrawChangelogContent(changelog); - return; - case 1: - return; - case 0: - goto IL_0280; - } - continue; - IL_0280: - num = 301162144; - } - } - } + ImGui.SetNextItemOpen(isLatest, ImGuiCond.Always); + } + string text2 = "v" + changelog.Version; + float fontSize = ImGui.GetFontSize(); + float num = fontSize; + Vector2 versionSize; + using (ImRaii.PushFont(UiBuilder.MonoFont)) + { + versionSize = ImGui.CalcTextSize(text2); + } + Vector2 dateSize = ImGui.CalcTextSize(text); + float scaledIconFontSize = fontSize * 0.85f; + float x = ImGui.GetContentRegionAvail().X; + Vector2 cursorPos = ImGui.GetCursorPos(); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + ImU8String label = new ImU8String(19, 2); + label.AppendLiteral("###header_"); + label.AppendFormatted(changelog.Version); + label.AppendLiteral("_changes_"); + label.AppendFormatted(_windowOpenCount); + bool num2 = ImGui.CollapsingHeader(label); + Vector2 cursorPos2 = ImGui.GetCursorPos(); + float verticalOffset = (cursorPos2.Y - cursorPos.Y - num) * 0.5f - 1f; + DrawVersionText(text2, versionSize, cursorPos, verticalOffset); + DrawNewBadge(isNew, cursorScreenPos, x); + DrawDateWithIcon(text, dateSize, scaledIconFontSize, cursorScreenPos, cursorPos, x, verticalOffset, fontSize); + ImGui.SetCursorPos(cursorPos2); + if (num2) + { + DrawChangelogContent(changelog); } } private static void DrawVersionText(string versionText, Vector2 versionSize, Vector2 headerStartPos, float verticalOffset) { - float x = headerStartPos.X + _200F_200C_200D_202A_206B_200F_206B_200D_200E_202E_202B_202C_206A_202A_206A_202D_200C_206C_202D_202C_200B_206D_202B_200B_202B_206B_206F_202B_200C_202E_206C_200E_206E_206E_202B_202E_206A_200E_206C_206C_202E().FramePadding.X * 2f + 20f; - ImRaii.FontDisposable fontDisposable = _202D_206C_206A_200C_200C_206A_206A_206E_200B_202B_200D_202D_200D_200F_206A_200F_200E_206A_202C_200C_202D_202B_202D_202D_206E_206A_202B_206B_200C_206B_206B_206C_202C_206B_202E_202B_200C_206D_206E_206A_202E(_206D_206D_200B_206C_202B_202B_200F_200B_206E_200D_202C_206E_200F_206D_200F_202B_202E_202D_200F_202A_202A_206F_200E_206B_206C_202C_202C_200E_206A_202B_200F_200D_202C_202A_206C_200C_206A_200B_206D_200D_202E(), true); - try + float x = headerStartPos.X + ImGui.GetStyle().FramePadding.X * 2f + 20f; + using (ImRaii.PushFont(UiBuilder.MonoFont)) { - _206A_206C_200B_206C_202D_200E_202B_206F_206F_206E_206C_200D_202A_206A_202E_206E_200E_202E_200D_200C_200B_200C_202D_202D_200D_202C_200C_200B_206F_200E_206F_202D_200B_206A_202D_206E_200F_202C_206D_202E_202E(new Vector2(x, headerStartPos.Y + verticalOffset)); - _200D_202D_200F_202E_200E_202E_206C_202C_206B_200B_200E_202A_206C_206E_200F_202D_206E_206F_206B_200E_200F_206B_200C_202D_200E_206A_202C_202E_206F_200E_206E_202D_206B_200C_206A_206A_206C_200F_206A_200E_202E(ref UiThemeUtils.PrimaryTextColor, (ImU8String)versionText); - } - finally - { - int num = ((fontDisposable == null) ? (-657911003) : (-657911004)); - while (true) - { - int num2 = num; - int num3 = -657911003; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -657911004; - break; - case 1: - _206C_200C_202D_200C_202C_206E_206F_206D_200D_202B_206B_200F_206D_202A_206F_200F_200E_206C_200D_206C_206C_200E_200B_200F_206C_206A_202B_200C_202B_202B_202E_202E_200F_202A_200E_206B_206E_200F_200F_206D_202E((IDisposable)fontDisposable); - num = -657911003; - break; - case 0: - goto end_IL_0076; - } - continue; - end_IL_0076: - break; - } + ImGui.SetCursorPos(new Vector2(x, headerStartPos.Y + verticalOffset)); + ImGui.TextColored(in UiThemeUtils.PrimaryTextColor, versionText); } } private void DrawNewBadge(bool isNew, Vector2 headerStartScreenPos, float availableWidth) { - int num = (isNew ? 1708716040 : 1708716041); - while (true) + if (isNew) { - int num2 = num; - int num3 = 1708716040; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_004a; - case 1: - return; - case 0: - { - float num5 = 2.5f; - float w = (_200E_202E_206E_202D_200F_206C_202B_202B_202A_200B_202B_202C_202C_200C_200B_206B_200E_200B_200B_200B_200F_200C_206C_202D_206A_206E_200F_206C_200B_202E_206B_206F_202E_202B_202A_200E_202B_206F_206F_202E_202E(_animationTime * num5) + 1f) * 0.5f * 0.15f; - float y = _206C_200C_206D_206B_200F_202A_202A_202A_202E_206E_206F_202D_202C_206D_200D_206E_200B_206B_202C_206D_200B_206F_206B_206C_202E_200E_206B_202D_202A_200E_206F_200C_202C_200D_200D_202C_202C_200B_206F_202A_202E(); - float frameRounding = _200F_200C_200D_202A_206B_200F_206B_200D_200E_202E_202B_202C_206A_202A_206A_202D_200C_206C_202D_202C_200B_206D_202B_200B_202B_206B_206F_202B_200C_202E_206C_200E_206E_206E_202B_202E_206A_200E_206C_206C_202E().FrameRounding; - _206D_206D_206A_206F_202C_206C_206A_202D_206C_200F_206B_206B_200D_206E_206B_206A_200B_206C_206E_202B_202B_206B_202B_206E_202E_200C_200E_206B_206F_202E_200B_202B_206B_206F_206C_202E_206E_202D_200B_206B_202E().AddRectFilled(headerStartScreenPos, headerStartScreenPos + new Vector2(availableWidth, y), _206F_206E_206D_202B_200C_206E_206E_200E_206C_206B_206C_200E_206E_202B_202C_202E_206E_200D_202D_202D_202C_200E_200F_200B_202B_206B_206C_202A_202E_202C_206F_200C_206E_206E_200B_206C_200B_206B_200C_200D_202E(new Vector4(0.5f, 1f, 0.6f, w)), frameRounding); - return; - } - } - continue; - IL_004a: - num = 1708716041; + float num = 2.5f; + float w = (MathF.Sin(_animationTime * num) + 1f) * 0.5f * 0.15f; + float frameHeight = ImGui.GetFrameHeight(); + float frameRounding = ImGui.GetStyle().FrameRounding; + ImGui.GetWindowDrawList().AddRectFilled(headerStartScreenPos, headerStartScreenPos + new Vector2(availableWidth, frameHeight), ImGui.ColorConvertFloat4ToU32(new Vector4(0.5f, 1f, 0.6f, w)), frameRounding); } } private static void DrawDateWithIcon(string dateText, Vector2 dateSize, float scaledIconFontSize, Vector2 headerStartScreenPos, Vector2 headerStartPos, float availableWidth, float verticalOffset, float defaultFontSize) { - string text = _206D_200D_206B_202B_202E_202A_202D_206F_206C_206E_200C_200E_202E_200F_202E_206C_202A_206D_200F_202E_206D_202A_206D_202E_202E_200D_202D_200D_206D_202D_202A_202B_200E_206D_200E_206A_202B_202D_202E_206F_202E(FontAwesomeIcon.Calendar); - ImRaii.FontDisposable fontDisposable = _202D_206C_206A_200C_200C_206A_206A_206E_200B_202B_200D_202D_200D_200F_206A_200F_200E_206A_202C_200C_202D_202B_202D_202D_206E_206A_202B_206B_200C_206B_206B_206C_202C_206B_202E_202B_200C_206D_206E_206A_202E(_200B_206F_206C_200B_202B_200D_200B_206D_202B_200F_202E_200E_202B_202E_200F_206D_202A_202C_206E_200C_206B_206C_202D_202D_200F_200F_206A_206A_200C_202B_202D_200D_200C_200E_206C_206B_206E_202C_202A_202E(), true); + string text = FontAwesomeIcon.Calendar.ToIconString(); Vector2 vector; - try + using (ImRaii.PushFont(UiBuilder.IconFont)) { - vector = _206A_200D_200D_206B_206B_200C_200E_202D_206C_206B_200D_202E_206F_202C_206D_200F_202C_202C_202A_206E_200B_206D_202D_202E_200B_200C_202A_200D_206E_206A_200E_206C_202A_202E_200D_202E_202C_206A_200D_206A_202E((ImU8String)text, false, -1f); + vector = ImGui.CalcTextSize(text); } - finally - { - int num = ((fontDisposable == null) ? (-485668874) : (-485668873)); - while (true) - { - int num2 = num; - int num3 = -485668874; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto end_IL_004e; - case 1: - _206C_200C_202D_200C_202C_206E_206F_206D_200D_202B_206B_200F_206D_202A_206F_200F_200E_206C_200D_206C_206C_200E_200B_200F_206C_206A_202B_200C_202B_202B_202E_202E_200F_202A_200E_206B_206E_200F_200F_206D_202E((IDisposable)fontDisposable); - num = -485668874; - break; - case 2: - num = -485668873; - break; - } - continue; - end_IL_004e: - break; - } - } - float num7 = vector.X * (scaledIconFontSize / defaultFontSize); - float num8 = num7 + 4f + dateSize.X; - float num9 = availableWidth - num8 - 12f; - Vector2 pos = headerStartScreenPos + new Vector2(num9, verticalOffset); - _206D_206D_206A_206F_202C_206C_206A_202D_206C_200F_206B_206B_200D_206E_206B_206A_200B_206C_206E_202B_202B_206B_202B_206E_202E_200C_200E_206B_206F_202E_200B_202B_206B_206F_206C_202E_206E_202D_200B_206B_202E().AddText(_200B_206F_206C_200B_202B_200D_200B_206D_202B_200F_202E_200E_202B_202E_200F_206D_202A_202C_206E_200C_206B_206C_202D_202D_200F_200F_206A_206A_200C_202B_202D_200D_200C_200E_206C_206B_206E_202C_202A_202E(), scaledIconFontSize, pos, _206F_206E_206D_202B_200C_206E_206E_200E_206C_206B_206C_200E_206E_202B_202C_202E_206E_200D_202D_202D_202C_200E_200F_200B_202B_206B_206C_202A_202E_202C_206F_200C_206E_206E_200B_206C_200B_206B_200C_200D_202E(UiThemeUtils.DimTextColor), text); - _206A_206C_200B_206C_202D_200E_202B_206F_206F_206E_206C_200D_202A_206A_202E_206E_200E_202E_200D_200C_200B_200C_202D_202D_200D_202C_200C_200B_206F_200E_206F_202D_200B_206A_202D_206E_200F_202C_206D_202E_202E(new Vector2(num9 + num7 + 4f, headerStartPos.Y + verticalOffset)); - _200D_202D_200F_202E_200E_202E_206C_202C_206B_200B_200E_202A_206C_206E_200F_202D_206E_206F_206B_200E_200F_206B_200C_202D_200E_206A_202C_202E_206F_200E_206E_202D_206B_200C_206A_206A_206C_200F_206A_200E_202E(ref UiThemeUtils.PrimaryTextColor, (ImU8String)dateText); + float num = vector.X * (scaledIconFontSize / defaultFontSize); + float num2 = num + 4f + dateSize.X; + float num3 = availableWidth - num2 - 12f; + Vector2 pos = headerStartScreenPos + new Vector2(num3, verticalOffset); + ImGui.GetWindowDrawList().AddText(UiBuilder.IconFont, scaledIconFontSize, pos, ImGui.ColorConvertFloat4ToU32(UiThemeUtils.DimTextColor), text); + ImGui.SetCursorPos(new Vector2(num3 + num + 4f, headerStartPos.Y + verticalOffset)); + ImGui.TextColored(in UiThemeUtils.PrimaryTextColor, dateText); } private static void DrawChangelogContent(ChangelogEntry changelog) @@ -254,196 +114,17 @@ internal sealed class ChangelogEntryComponent Vector2 item = tuple.ContentStartPos; float item2 = tuple.AvailableWidth; ImDrawListPtr item3 = tuple.DrawList; - float baseX = _206C_202E_200E_202E_206A_206A_202C_206C_202A_200F_202E_200E_202C_206F_200D_206C_200E_200F_202E_206F_206A_202D_206D_202B_206A_202E_202D_206C_200E_206E_206B_206D_200F_200C_200C_206B_206F_200C_200F_206D_202E(); + float cursorPosX = ImGui.GetCursorPosX(); bool flag = true; - IEnumerator> enumerator = orderedEnumerable.GetEnumerator(); - try + foreach (IGrouping item4 in orderedEnumerable) { - int num = -775563470; - IGrouping current = default(IGrouping); - while (true) + if (!flag) { - int num2 = num; - int num3 = -775563465; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -775563470; - break; - case 5: - num = (_202C_206C_200E_202E_202B_202A_206B_202D_206D_200E_206C_200F_202A_202D_202C_206E_200D_206E_206C_206C_202B_206D_206D_206B_206E_206E_206E_206A_202D_202B_206C_200C_206C_206A_200C_202B_200C_206D_206E_200F_202E((IEnumerator)enumerator) ? (-775563467) : (-775563468)); - break; - case 4: - _202B_206B_202A_206B_202C_200C_200F_200D_200F_206F_202C_200D_200B_202B_202E_206D_206D_206A_206F_202D_206F_200E_206F_200F_206F_206A_202C_202A_206B_202D_206E_206E_202D_206C_200B_206E_202E_206D_200C_206E_202E(); - num = -775563466; - break; - case 2: - current = enumerator.Current; - num = (flag ? (-775563466) : (-775563469)); - break; - case 1: - ChangelogCategoryComponent.DrawCategoryGroup(current.Key, current.ToList(), baseX); - flag = false; - num = -775563470; - break; - case 3: - goto end_IL_0089; - } - continue; - end_IL_0089: - break; - } - } - finally - { - int num = ((enumerator == null) ? 420575280 : 420575281); - while (true) - { - int num7 = num; - int num3 = 420575280; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 0: - goto end_IL_0173; - case 1: - _206C_200C_202D_200C_202C_206E_206F_206D_200D_202B_206B_200F_206D_202A_206F_200F_200E_206C_200D_206C_206C_200E_200B_200F_206C_206A_202B_200C_202B_202B_202E_202E_200F_202A_200E_206B_206E_200F_200F_206D_202E((IDisposable)enumerator); - num = 420575280; - break; - case 2: - num = 420575281; - break; - } - continue; - end_IL_0173: - break; + ImGui.Spacing(); } + ChangelogCategoryComponent.DrawCategoryGroup(item4.Key, item4.ToList(), cursorPosX); + flag = false; } UiThemeUtils.EndCard(item, item2, item3); } - - static ImDrawListPtr _206D_206D_206A_206F_202C_206C_206A_202D_206C_200F_206B_206B_200D_206E_206B_206A_200B_206C_206E_202B_202B_206B_202B_206E_202E_200C_200E_206B_206F_202E_200B_202B_206B_206F_206C_202E_206E_202D_200B_206B_202E() - { - return ImGui.GetWindowDrawList(); - } - - static CultureInfo _202A_206F_206F_206A_200F_202E_200B_206C_202A_206F_202B_200D_206C_202A_206E_202C_206F_202C_200B_202E_206F_202E_206F_200B_206F_200C_206B_206A_202D_202D_202E_206A_200C_206F_200B_206E_202C_200B_206B_202A_202E() - { - return CultureInfo.InvariantCulture; - } - - static void _202A_206A_206F_202E_202C_206D_206E_200E_206B_202D_206D_202D_202E_202E_200C_202B_206F_200F_202A_200B_202D_206A_206F_200F_200C_202C_200E_202D_202A_200C_206D_206C_200C_200D_200F_200B_206F_202E_200F_200C_202E(bool P_0, ImGuiCond P_1) - { - ImGui.SetNextItemOpen(P_0, P_1); - } - - static string _200E_200B_202C_200B_206E_206F_206C_202B_206F_206B_202C_202C_202E_202D_202B_206D_202B_202A_200C_202E_206A_202A_206F_206B_206C_202B_200E_206D_200B_200C_206E_200C_206F_206A_202B_200F_206C_202B_206A_206D_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static float _202E_206D_206F_202D_200E_206A_206B_206A_202C_200B_202B_200D_202B_200F_206B_206B_202A_200C_206E_202E_206A_202D_200C_202B_200F_206E_200D_202D_202A_200C_200F_206B_206B_200D_200D_206D_202B_206B_206A_206B_202E() - { - return ImGui.GetFontSize(); - } - - static ImFontPtr _206D_206D_200B_206C_202B_202B_200F_200B_206E_200D_202C_206E_200F_206D_200F_202B_202E_202D_200F_202A_202A_206F_200E_206B_206C_202C_202C_200E_206A_202B_200F_200D_202C_202A_206C_200C_206A_200B_206D_200D_202E() - { - return UiBuilder.MonoFont; - } - - static ImRaii.FontDisposable _202D_206C_206A_200C_200C_206A_206A_206E_200B_202B_200D_202D_200D_200F_206A_200F_200E_206A_202C_200C_202D_202B_202D_202D_206E_206A_202B_206B_200C_206B_206B_206C_202C_206B_202E_202B_200C_206D_206E_206A_202E(ImFontPtr P_0, bool P_1) - { - return ImRaii.PushFont(P_0, P_1); - } - - static Vector2 _206A_200D_200D_206B_206B_200C_200E_202D_206C_206B_200D_202E_206F_202C_206D_200F_202C_202C_202A_206E_200B_206D_202D_202E_200B_200C_202A_200D_206E_206A_200E_206C_202A_202E_200D_202E_202C_206A_200D_206A_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static void _206C_200C_202D_200C_202C_206E_206F_206D_200D_202B_206B_200F_206D_202A_206F_200F_200E_206C_200D_206C_206C_200E_200B_200F_206C_206A_202B_200C_202B_202B_202E_202E_200F_202A_200E_206B_206E_200F_200F_206D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static Vector2 _206E_206C_202A_200C_200E_202E_202E_206C_200E_206A_200F_206E_202C_206B_200D_202C_200B_202D_200F_202E_206A_200D_202C_206F_206D_206C_200F_206A_202D_206F_202D_202B_206B_206B_202D_206E_206D_206F_206D_202A_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static Vector2 _206D_202B_202D_206A_206F_206C_206A_202D_206E_206C_200F_206B_206F_202B_206B_206B_200F_202B_206D_200D_200D_206F_206C_206F_202B_202B_202C_202B_200F_200E_206F_202A_206E_200D_206D_206D_206E_206D_202A_200C_202E() - { - return ImGui.GetCursorPos(); - } - - static Vector2 _206C_202E_206D_202B_206B_200E_206B_202B_200B_206F_206F_202C_200E_200D_200B_206B_206A_202D_206C_206F_200B_202B_206C_202B_202A_206B_202A_206D_206D_206A_202A_206C_200E_206A_206D_200B_200D_206B_206B_202E_202E() - { - return ImGui.GetCursorScreenPos(); - } - - static bool _200F_202C_206F_200F_206A_200F_202C_202C_206C_202B_200D_202D_206B_202B_200B_206F_200D_206E_200F_202E_202C_206F_200F_200B_200B_200D_206B_206E_206C_200C_206C_202C_202E_200E_200B_206A_202B_206C_202E_200D_202E(ImU8String P_0, ImGuiTreeNodeFlags P_1) - { - return ImGui.CollapsingHeader(P_0, P_1); - } - - static void _206A_206C_200B_206C_202D_200E_202B_206F_206F_206E_206C_200D_202A_206A_202E_206E_200E_202E_200D_200C_200B_200C_202D_202D_200D_202C_200C_200B_206F_200E_206F_202D_200B_206A_202D_206E_200F_202C_206D_202E_202E(Vector2 P_0) - { - ImGui.SetCursorPos(P_0); - } - - static ImGuiStylePtr _200F_200C_200D_202A_206B_200F_206B_200D_200E_202E_202B_202C_206A_202A_206A_202D_200C_206C_202D_202C_200B_206D_202B_200B_202B_206B_206F_202B_200C_202E_206C_200E_206E_206E_202B_202E_206A_200E_206C_206C_202E() - { - return ImGui.GetStyle(); - } - - static void _200D_202D_200F_202E_200E_202E_206C_202C_206B_200B_200E_202A_206C_206E_200F_202D_206E_206F_206B_200E_200F_206B_200C_202D_200E_206A_202C_202E_206F_200E_206E_202D_206B_200C_206A_206A_206C_200F_206A_200E_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static float _200E_202E_206E_202D_200F_206C_202B_202B_202A_200B_202B_202C_202C_200C_200B_206B_200E_200B_200B_200B_200F_200C_206C_202D_206A_206E_200F_206C_200B_202E_206B_206F_202E_202B_202A_200E_202B_206F_206F_202E_202E(float P_0) - { - return MathF.Sin(P_0); - } - - static float _206C_200C_206D_206B_200F_202A_202A_202A_202E_206E_206F_202D_202C_206D_200D_206E_200B_206B_202C_206D_200B_206F_206B_206C_202E_200E_206B_202D_202A_200E_206F_200C_202C_200D_200D_202C_202C_200B_206F_202A_202E() - { - return ImGui.GetFrameHeight(); - } - - static uint _206F_206E_206D_202B_200C_206E_206E_200E_206C_206B_206C_200E_206E_202B_202C_202E_206E_200D_202D_202D_202C_200E_200F_200B_202B_206B_206C_202A_202E_202C_206F_200C_206E_206E_200B_206C_200B_206B_200C_200D_202E(Vector4 P_0) - { - return ImGui.ColorConvertFloat4ToU32(P_0); - } - - static string _206D_200D_206B_202B_202E_202A_202D_206F_206C_206E_200C_200E_202E_200F_202E_206C_202A_206D_200F_202E_206D_202A_206D_202E_202E_200D_202D_200D_206D_202D_202A_202B_200E_206D_200E_206A_202B_202D_202E_206F_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static ImFontPtr _200B_206F_206C_200B_202B_200D_200B_206D_202B_200F_202E_200E_202B_202E_200F_206D_202A_202C_206E_200C_206B_206C_202D_202D_200F_200F_206A_206A_200C_202B_202D_200D_200C_200E_206C_206B_206E_202C_202A_202E() - { - return UiBuilder.IconFont; - } - - static float _206C_202E_200E_202E_206A_206A_202C_206C_202A_200F_202E_200E_202C_206F_200D_206C_200E_200F_202E_206F_206A_202D_206D_202B_206A_202E_202D_206C_200E_206E_206B_206D_200F_200C_200C_206B_206F_200C_200F_206D_202E() - { - return ImGui.GetCursorPosX(); - } - - static void _202B_206B_202A_206B_202C_200C_200F_200D_200F_206F_202C_200D_200B_202B_202E_206D_206D_206A_206F_202D_206F_200E_206F_200F_206F_206A_202C_202A_206B_202D_206E_206E_202D_206C_200B_206E_202E_206D_200C_206E_202E() - { - ImGui.Spacing(); - } - - static bool _202C_206C_200E_202E_202B_202A_206B_202D_206D_200E_206C_200F_202A_202D_202C_206E_200D_206E_206C_206C_202B_206D_206D_206B_206E_206E_206E_206A_202D_202B_206C_200C_206C_206A_200C_202B_200C_206D_206E_200F_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } } diff --git a/Questionable/Questionable.Windows.ChangelogComponents/ChangelogFooterComponent.cs b/Questionable/Questionable.Windows.ChangelogComponents/ChangelogFooterComponent.cs index e7c3b75..5e08e6b 100644 --- a/Questionable/Questionable.Windows.ChangelogComponents/ChangelogFooterComponent.cs +++ b/Questionable/Questionable.Windows.ChangelogComponents/ChangelogFooterComponent.cs @@ -1,6 +1,5 @@ using System; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; using Dalamud.Interface; using Dalamud.Interface.Utility.Raii; @@ -9,273 +8,44 @@ namespace Questionable.Windows.ChangelogComponents; internal sealed class ChangelogFooterComponent { - [MethodImpl(MethodImplOptions.NoInlining)] public static void Draw(Action onConfirm) { - ImDrawListPtr imDrawListPtr = _206A_200D_202D_206D_206F_206E_202B_206F_200F_206C_200D_200C_206D_202D_206B_206B_202A_202C_202C_206C_202E_206A_206C_202D_200D_202D_200F_202A_206C_200F_206C_202A_206F_206C_206E_200F_200E_202D_202A_202C_202E(); - Vector2 vector = _206B_206B_200B_206B_206C_206D_202D_200D_200B_202D_206A_202A_202E_206C_206C_202C_200D_206F_202E_202D_202C_200C_206C_200C_202D_206B_206C_206D_200F_206C_206C_202D_200E_200C_202C_206E_202D_202E_200B_202B_202E(); - float x = _202C_200C_202E_202D_206A_202C_200F_202C_206E_200E_200C_200F_202E_200C_206D_202E_200E_206F_200F_202D_202C_202C_200C_206F_200E_202A_200F_200B_200D_200F_202E_200C_200B_206C_202C_202B_202C_200B_202C_202E_202E().X; - Vector2 pMax = vector + new Vector2(x, 2f); + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + float x = ImGui.GetContentRegionAvail().X; + Vector2 pMax = cursorScreenPos + new Vector2(x, 2f); Vector4 accentColor = UiThemeUtils.AccentColor; accentColor.W = 0.4f; - uint colUprLeft = _202B_206B_200C_206E_202B_202C_202B_200F_200D_206C_206A_206B_206C_206D_206D_202C_202B_206C_202B_206E_206A_206E_202B_206F_206C_202D_206C_200D_200B_206F_206F_202B_206C_202A_202A_206B_200B_202A_206E_206C_202E(accentColor); - uint colUprRight = _202B_206B_200C_206E_202B_202C_202B_200F_200D_206C_206A_206B_206C_206D_206D_202C_202B_206C_202B_206E_206A_206E_202B_206F_206C_202D_206C_200D_200B_206F_206F_202B_206C_202A_202A_206B_200B_202A_206E_206C_202E(UiThemeUtils.AccentColor); - uint colBotRight = _202B_206B_200C_206E_202B_202C_202B_200F_200D_206C_206A_206B_206C_206D_206D_202C_202B_206C_202B_206E_206A_206E_202B_206F_206C_202D_206C_200D_200B_206F_206F_202B_206C_202A_202A_206B_200B_202A_206E_206C_202E(UiThemeUtils.AccentColor); + uint colUprLeft = ImGui.ColorConvertFloat4ToU32(accentColor); + uint colUprRight = ImGui.ColorConvertFloat4ToU32(UiThemeUtils.AccentColor); + uint colBotRight = ImGui.ColorConvertFloat4ToU32(UiThemeUtils.AccentColor); accentColor = UiThemeUtils.AccentColor; accentColor.W = 0.4f; - imDrawListPtr.AddRectFilledMultiColor(vector, pMax, colUprLeft, colUprRight, colBotRight, _202B_206B_200C_206E_202B_202C_202B_200F_200D_206C_206A_206B_206C_206D_206D_202C_202B_206C_202B_206E_206A_206E_202B_206F_206C_202D_206C_200D_200B_206F_206F_202B_206C_202A_202A_206B_200B_202A_206E_206C_202E(accentColor)); - _200C_200C_206F_200C_206D_202A_206B_206B_202C_206D_200C_200F_206B_200B_202A_206C_206E_200D_200B_200B_202C_200B_200D_206B_200C_202A_200F_206A_202E_206B_206D_202A_200F_202B_200D_206E_200E_202A_200B_202B_202E(_206D_202D_200F_200E_200C_202A_200C_206C_200D_200E_202E_202B_200F_202C_200F_206C_202C_206C_200B_206C_206C_200E_206A_206E_206E_202E_202C_206E_200F_206E_200C_200F_200D_206F_200C_202C_206E_202E_206A_200C_202E() + 8f); - ImRaii.FontDisposable fontDisposable = _202E_202D_206B_206A_206B_200C_202B_202D_200D_202C_206D_206E_202E_200F_200F_200F_202B_206A_202B_200C_206C_202D_200B_202C_202D_202B_206C_200F_206E_206A_200C_202A_200F_200B_202B_200D_200B_202C_206D_206A_202E(_206D_202E_202A_206E_200D_206E_202E_202A_206A_202D_206C_206E_202B_202B_206A_206E_202C_202E_206C_202A_202A_202A_202B_206E_200D_202C_206D_206C_200D_206C_200E_200E_206D_206D_200F_202D_206C_206E_202D_200C_202E(), true); + windowDrawList.AddRectFilledMultiColor(cursorScreenPos, pMax, colUprLeft, colUprRight, colBotRight, ImGui.ColorConvertFloat4ToU32(accentColor)); + ImGui.SetCursorPosY(ImGui.GetCursorPosY() + 8f); float x2; - try + using (ImRaii.PushFont(UiBuilder.IconFont)) { - x2 = _206F_202D_200B_202A_202D_206A_202D_202E_200E_202B_202E_206B_200C_202E_206B_202D_202E_206D_200B_206D_206A_200C_200F_202C_202C_202E_200E_200E_200E_200D_206E_202C_206E_202A_206D_206A_202B_200D_200F_202C_202E((ImU8String)_206F_200B_200D_202A_202C_200E_206A_200F_206C_206F_202D_206F_202C_206B_206F_206A_206B_200B_206C_206F_206E_202D_206D_200D_206E_202C_200E_202D_200B_206F_202D_202E_206F_200B_206B_202B_206E_202E_200B_200E_202E(FontAwesomeIcon.CheckCircle), false, -1f).X; + x2 = ImGui.CalcTextSize(FontAwesomeIcon.CheckCircle.ToIconString()).X; } - finally + float num = x2 + 6f + ImGui.CalcTextSize("Got It!").X + ImGui.GetStyle().FramePadding.X * 2f; + float num2 = (ImGui.GetContentRegionAvail().X - num) * 0.5f; + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + num2); + using (ImRaii.PushColor(ImGuiCol.Button, UiThemeUtils.PlayButtonColor)) { - int num = ((fontDisposable == null) ? (-552404026) : (-552404025)); - while (true) + using (ImRaii.PushColor(ImGuiCol.ButtonHovered, UiThemeUtils.PlayButtonHover)) { - int num2 = num; - int num3 = -552404026; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + using (ImRaii.PushColor(ImGuiCol.ButtonActive, UiThemeUtils.PlayButtonActive)) { - case 0: - goto end_IL_00d9; - case 1: - _202D_206D_202A_200B_200D_202A_202D_202C_200F_202D_202D_200B_200B_202E_200B_200C_200C_200D_206A_202B_206D_202E_202B_202D_200C_202A_206F_202B_200E_200D_202E_206B_206A_200F_200E_206D_200E_206B_200D_206C_202E((IDisposable)fontDisposable); - num = -552404026; - break; - case 2: - num = -552404025; - break; - } - continue; - end_IL_00d9: - break; - } - } - float num7 = x2 + 6f + _206F_202D_200B_202A_202D_206A_202D_202E_200E_202B_202E_206B_200C_202E_206B_202D_202E_206D_200B_206D_206A_200C_200F_202C_202C_202E_200E_200E_200E_200D_206E_202C_206E_202A_206D_206A_202B_200D_200F_202C_202E((ImU8String)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(-1882414385), false, -1f).X + _206C_206B_200B_206E_206C_200E_200E_206E_200D_202C_200D_202D_202D_202D_206B_200C_202B_200B_202B_200C_206F_206F_200F_202B_202B_200B_200C_206A_202E_206B_202A_200E_202A_200B_206D_200B_200F_206C_200D_206D_202E().FramePadding.X * 2f; - float num8 = (_202C_200C_202E_202D_206A_202C_200F_202C_206E_200E_200C_200F_202E_200C_206D_202E_200E_206F_200F_202D_202C_202C_200C_206F_200E_202A_200F_200B_200D_200F_202E_200C_200B_206C_202C_202B_202C_200B_202C_202E_202E().X - num7) * 0.5f; - _206C_200C_206D_200D_200F_202C_202E_202C_202A_200F_202B_202C_200D_206F_206A_206C_206B_200E_200C_202D_202C_202D_200B_206B_202A_200C_200D_200F_206E_200F_202A_200B_202B_202E_202C_202B_202B_200D_206F_200C_202E(_202A_206C_206F_200E_206B_206B_202A_200D_202A_200E_202B_206A_200E_206D_200F_200D_202E_206E_202C_206D_206D_202B_206D_200C_202B_200C_206A_202B_200E_202D_206A_202E_206B_202E_200D_200B_206C_206C_202A_202C_202E() + num8); - ImRaii.ColorDisposable colorDisposable = _206D_200E_202C_206F_206D_200B_200F_200D_206D_202A_202B_206D_200E_206A_206A_206A_206D_206E_202C_202E_200E_202B_206B_200E_200B_200E_202D_206F_206B_206E_202D_206F_202E_202D_200C_200E_202B_200C_206E_202E_202E(ImGuiCol.Button, UiThemeUtils.PlayButtonColor, true); - try - { - ImRaii.ColorDisposable colorDisposable2 = _206D_200E_202C_206F_206D_200B_200F_200D_206D_202A_202B_206D_200E_206A_206A_206A_206D_206E_202C_202E_200E_202B_206B_200E_200B_200E_202D_206F_206B_206E_202D_206F_202E_202D_200C_200E_202B_200C_206E_202E_202E(ImGuiCol.ButtonHovered, UiThemeUtils.PlayButtonHover, true); - try - { - ImRaii.ColorDisposable colorDisposable3 = _206D_200E_202C_206F_206D_200B_200F_200D_206D_202A_202B_206D_200E_206A_206A_206A_206D_206E_202C_202E_200E_202B_206B_200E_200B_200E_202D_206F_206B_206E_202D_206F_202E_202D_200C_200E_202B_200C_206E_202E_202E(ImGuiCol.ButtonActive, UiThemeUtils.PlayButtonActive, true); - try - { - ImRaii.ColorDisposable colorDisposable4 = _206D_200E_202C_206F_206D_200B_200F_200D_206D_202A_202B_206D_200E_206A_206A_206A_206D_206E_202C_202E_200E_202B_206B_200E_200B_200E_202D_206F_206B_206E_202D_206F_202E_202D_200C_200E_202B_200C_206E_202E_202E(ImGuiCol.Text, UiThemeUtils.PlayButtonText, true); - try + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.PlayButtonText)) { - int num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.CheckCircle, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1608333301), num7)) ? (-1623045989) : (-1623045990)); - while (true) + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.CheckCircle, "Got It!", num)) { - int num9 = num; - int num3 = -1623045989; - int num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 2: - num = -1623045990; - break; - case 1: - onConfirm(); - num = -1623045989; - break; - case 0: - return; - } - } - } - finally - { - int num = ((colorDisposable4 == null) ? 1005398311 : 1005398308); - while (true) - { - int num12 = num; - int num3 = 1005398309; - int num4 = num12; - int num13 = num4 + num3; - int num14 = num4 & num3; - switch (num13 - (num14 + num14)) - { - case 0: - num = 1005398308; - break; - case 1: - _202D_206D_202A_200B_200D_202A_202D_202C_200F_202D_202D_200B_200B_202E_200B_200C_200C_200D_206A_202B_206D_202E_202B_202D_200C_202A_206F_202B_200E_200D_202E_206B_206A_200F_200E_206D_200E_206B_200D_206C_202E((IDisposable)colorDisposable4); - num = 1005398311; - break; - case 2: - goto end_IL_026a; - } - continue; - end_IL_026a: - break; + onConfirm(); } } } - finally - { - int num = ((colorDisposable3 == null) ? (-259716919) : (-259716918)); - while (true) - { - int num15 = num; - int num3 = -259716917; - int num4 = num15; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -259716918; - break; - case 2: - goto end_IL_02d7; - case 1: - _202D_206D_202A_200B_200D_202A_202D_202C_200F_202D_202D_200B_200B_202E_200B_200C_200C_200D_206A_202B_206D_202E_202B_202D_200C_202A_206F_202B_200E_200D_202E_206B_206A_200F_200E_206D_200E_206B_200D_206C_202E((IDisposable)colorDisposable3); - num = -259716919; - break; - } - continue; - end_IL_02d7: - break; - } - } - } - finally - { - int num = ((colorDisposable2 == null) ? (-1298176791) : (-1298176792)); - while (true) - { - int num16 = num; - int num3 = -1298176791; - int num4 = num16; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto end_IL_0342; - case 1: - _202D_206D_202A_200B_200D_202A_202D_202C_200F_202D_202D_200B_200B_202E_200B_200C_200C_200D_206A_202B_206D_202E_202B_202D_200C_202A_206F_202B_200E_200D_202E_206B_206A_200F_200E_206D_200E_206B_200D_206C_202E((IDisposable)colorDisposable2); - num = -1298176791; - break; - case 2: - num = -1298176792; - break; - } - continue; - end_IL_0342: - break; - } } } - finally - { - int num = ((colorDisposable == null) ? (-313871180) : (-313871177)); - while (true) - { - int num17 = num; - int num3 = -313871178; - int num4 = num17; - int num18 = num4 + num3; - int num19 = num4 & num3; - switch (num18 - (num19 + num19)) - { - case 2: - goto end_IL_03ad; - case 1: - _202D_206D_202A_200B_200D_202A_202D_202C_200F_202D_202D_200B_200B_202E_200B_200C_200C_200D_206A_202B_206D_202E_202B_202D_200C_202A_206F_202B_200E_200D_202E_206B_206A_200F_200E_206D_200E_206B_200D_206C_202E((IDisposable)colorDisposable); - num = -313871180; - break; - case 0: - num = -313871177; - break; - } - continue; - end_IL_03ad: - break; - } - } - } - - static ImDrawListPtr _206A_200D_202D_206D_206F_206E_202B_206F_200F_206C_200D_200C_206D_202D_206B_206B_202A_202C_202C_206C_202E_206A_206C_202D_200D_202D_200F_202A_206C_200F_206C_202A_206F_206C_206E_200F_200E_202D_202A_202C_202E() - { - return ImGui.GetWindowDrawList(); - } - - static Vector2 _206B_206B_200B_206B_206C_206D_202D_200D_200B_202D_206A_202A_202E_206C_206C_202C_200D_206F_202E_202D_202C_200C_206C_200C_202D_206B_206C_206D_200F_206C_206C_202D_200E_200C_202C_206E_202D_202E_200B_202B_202E() - { - return ImGui.GetCursorScreenPos(); - } - - static Vector2 _202C_200C_202E_202D_206A_202C_200F_202C_206E_200E_200C_200F_202E_200C_206D_202E_200E_206F_200F_202D_202C_202C_200C_206F_200E_202A_200F_200B_200D_200F_202E_200C_200B_206C_202C_202B_202C_200B_202C_202E_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static uint _202B_206B_200C_206E_202B_202C_202B_200F_200D_206C_206A_206B_206C_206D_206D_202C_202B_206C_202B_206E_206A_206E_202B_206F_206C_202D_206C_200D_200B_206F_206F_202B_206C_202A_202A_206B_200B_202A_206E_206C_202E(Vector4 P_0) - { - return ImGui.ColorConvertFloat4ToU32(P_0); - } - - static float _206D_202D_200F_200E_200C_202A_200C_206C_200D_200E_202E_202B_200F_202C_200F_206C_202C_206C_200B_206C_206C_200E_206A_206E_206E_202E_202C_206E_200F_206E_200C_200F_200D_206F_200C_202C_206E_202E_206A_200C_202E() - { - return ImGui.GetCursorPosY(); - } - - static void _200C_200C_206F_200C_206D_202A_206B_206B_202C_206D_200C_200F_206B_200B_202A_206C_206E_200D_200B_200B_202C_200B_200D_206B_200C_202A_200F_206A_202E_206B_206D_202A_200F_202B_200D_206E_200E_202A_200B_202B_202E(float P_0) - { - ImGui.SetCursorPosY(P_0); - } - - static ImFontPtr _206D_202E_202A_206E_200D_206E_202E_202A_206A_202D_206C_206E_202B_202B_206A_206E_202C_202E_206C_202A_202A_202A_202B_206E_200D_202C_206D_206C_200D_206C_200E_200E_206D_206D_200F_202D_206C_206E_202D_200C_202E() - { - return UiBuilder.IconFont; - } - - static ImRaii.FontDisposable _202E_202D_206B_206A_206B_200C_202B_202D_200D_202C_206D_206E_202E_200F_200F_200F_202B_206A_202B_200C_206C_202D_200B_202C_202D_202B_206C_200F_206E_206A_200C_202A_200F_200B_202B_200D_200B_202C_206D_206A_202E(ImFontPtr P_0, bool P_1) - { - return ImRaii.PushFont(P_0, P_1); - } - - static string _206F_200B_200D_202A_202C_200E_206A_200F_206C_206F_202D_206F_202C_206B_206F_206A_206B_200B_206C_206F_206E_202D_206D_200D_206E_202C_200E_202D_200B_206F_202D_202E_206F_200B_206B_202B_206E_202E_200B_200E_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static Vector2 _206F_202D_200B_202A_202D_206A_202D_202E_200E_202B_202E_206B_200C_202E_206B_202D_202E_206D_200B_206D_206A_200C_200F_202C_202C_202E_200E_200E_200E_200D_206E_202C_206E_202A_206D_206A_202B_200D_200F_202C_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static void _202D_206D_202A_200B_200D_202A_202D_202C_200F_202D_202D_200B_200B_202E_200B_200C_200C_200D_206A_202B_206D_202E_202B_202D_200C_202A_206F_202B_200E_200D_202E_206B_206A_200F_200E_206D_200E_206B_200D_206C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static ImGuiStylePtr _206C_206B_200B_206E_206C_200E_200E_206E_200D_202C_200D_202D_202D_202D_206B_200C_202B_200B_202B_200C_206F_206F_200F_202B_202B_200B_200C_206A_202E_206B_202A_200E_202A_200B_206D_200B_200F_206C_200D_206D_202E() - { - return ImGui.GetStyle(); - } - - static float _202A_206C_206F_200E_206B_206B_202A_200D_202A_200E_202B_206A_200E_206D_200F_200D_202E_206E_202C_206D_206D_202B_206D_200C_202B_200C_206A_202B_200E_202D_206A_202E_206B_202E_200D_200B_206C_206C_202A_202C_202E() - { - return ImGui.GetCursorPosX(); - } - - static void _206C_200C_206D_200D_200F_202C_202E_202C_202A_200F_202B_202C_200D_206F_206A_206C_206B_200E_200C_202D_202C_202D_200B_206B_202A_200C_200D_200F_206E_200F_202A_200B_202B_202E_202C_202B_202B_200D_206F_200C_202E(float P_0) - { - ImGui.SetCursorPosX(P_0); - } - - static ImRaii.ColorDisposable _206D_200E_202C_206F_206D_200B_200F_200D_206D_202A_202B_206D_200E_206A_206A_206A_206D_206E_202C_202E_200E_202B_206B_200E_200B_200E_202D_206F_206B_206E_202D_206F_202E_202D_200C_200E_202B_200C_206E_202E_202E(ImGuiCol P_0, Vector4 P_1, bool P_2) - { - return ImRaii.PushColor(P_0, P_1, P_2); } } diff --git a/Questionable/Questionable.Windows.ChangelogComponents/ChangelogHeaderComponent.cs b/Questionable/Questionable.Windows.ChangelogComponents/ChangelogHeaderComponent.cs index 740412d..eb9c84d 100644 --- a/Questionable/Questionable.Windows.ChangelogComponents/ChangelogHeaderComponent.cs +++ b/Questionable/Questionable.Windows.ChangelogComponents/ChangelogHeaderComponent.cs @@ -1,6 +1,5 @@ using System; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; using Dalamud.Interface; using Dalamud.Interface.Utility.Raii; @@ -18,25 +17,25 @@ internal sealed class ChangelogHeaderComponent public void Draw(Action onCloseClicked) { - _animationTime += _200B_202C_206B_200C_200E_206D_202C_202C_206C_202D_200B_206C_202A_206A_206E_200B_202B_200F_206A_200F_200E_200D_206F_202D_206E_202E_206C_200C_206C_200B_202E_200F_200B_206A_206C_202A_200C_206B_202B_200E_202E().DeltaTime; - ImDrawListPtr drawList = _200C_200E_200C_202D_206F_206A_200D_202B_206D_202A_206E_202B_206F_202D_200F_202D_206E_206B_202B_206F_200B_206F_200C_202D_202B_200E_206D_206C_202A_200B_206A_206B_206E_206B_200E_200C_206F_200E_202A_206B_202E(); - Vector2 headerStartPos = _202B_206D_200C_206E_200E_206E_202E_202A_200C_202C_200D_206F_202A_202C_206D_200F_200C_206C_200B_200C_202A_202C_206B_200D_206D_206A_200D_200D_200B_206E_200D_206F_206B_206C_200D_206C_202A_206E_206D_202D_202E(); - float x = _200F_202B_206C_202B_200C_202D_200B_206C_202E_202B_206D_200D_206C_200D_206F_206C_206A_200D_200F_200F_202C_202C_200D_206E_200B_200D_202E_202C_206A_206F_200C_206A_206E_206B_206A_206E_206E_206A_206A_200C_202E().X; + _animationTime += ImGui.GetIO().DeltaTime; + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + float x = ImGui.GetContentRegionAvail().X; float headerHeight = 120f; - DrawBackground(drawList, headerStartPos, x, headerHeight); - DrawAnimatedBorder(drawList, headerStartPos, x, headerHeight); - DrawSparkles(drawList, headerStartPos, x, headerHeight); - DrawCloseButton(drawList, headerStartPos, x, onCloseClicked); - DrawHeaderContent(headerStartPos, x, headerHeight); - DrawAccentLine(drawList, headerStartPos, x, headerHeight); - _206B_200F_206E_202D_202E_206F_206C_206B_206F_202E_202B_202A_206F_202B_206D_200C_200B_206D_202D_200C_200E_200E_206E_206E_202B_200E_202D_202D_206F_202C_200B_206B_206B_206D_202B_206A_206D_200B_202D_206F_202E(_206A_200D_200B_200E_206A_200F_200E_202A_206F_200F_206A_202C_202A_202C_200E_200D_200E_200F_206A_202D_206E_202D_202C_206B_206E_202D_206F_200F_202E_206D_206E_200E_206C_200B_206A_206F_206A_200B_206B_202E() + 8f); + DrawBackground(windowDrawList, cursorScreenPos, x, headerHeight); + DrawAnimatedBorder(windowDrawList, cursorScreenPos, x, headerHeight); + DrawSparkles(windowDrawList, cursorScreenPos, x, headerHeight); + DrawCloseButton(windowDrawList, cursorScreenPos, x, onCloseClicked); + DrawHeaderContent(cursorScreenPos, x, headerHeight); + DrawAccentLine(windowDrawList, cursorScreenPos, x, headerHeight); + ImGui.SetCursorPosY(ImGui.GetCursorPosY() + 8f); } private void DrawBackground(ImDrawListPtr drawList, Vector2 headerStartPos, float contentWidth, float headerHeight) { - float num = (_200F_202B_202B_206E_200E_202E_202C_206D_206C_200E_202D_200F_200B_202D_206B_202D_202C_200C_206F_206F_202C_206A_206E_200C_206D_200C_202C_202A_206F_202D_202C_202E_202B_200E_200C_200C_200F_206D_202E_200C_202E(_animationTime * 1.5f) + 1f) * 0.5f * 0.03f; - uint num2 = _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(new Vector4(0.15f + num, 0.1f + num, 0.2f + num, 0.95f)); - uint num3 = _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(new Vector4(0.08f, 0.05f, 0.12f, 0.95f)); + float num = (MathF.Sin(_animationTime * 1.5f) + 1f) * 0.5f * 0.03f; + uint num2 = ImGui.ColorConvertFloat4ToU32(new Vector4(0.15f + num, 0.1f + num, 0.2f + num, 0.95f)); + uint num3 = ImGui.ColorConvertFloat4ToU32(new Vector4(0.08f, 0.05f, 0.12f, 0.95f)); drawList.AddRectFilledMultiColor(headerStartPos, headerStartPos + new Vector2(contentWidth, headerHeight), num2, num2, num3, num3); } @@ -45,68 +44,31 @@ internal sealed class ChangelogHeaderComponent float num = 100f; float num2 = 250f; float num3 = _animationTime * num % num2; - float num4 = _200E_202A_206B_206E_200E_200C_200F_200D_206F_202A_202C_202E_206E_200C_206F_202D_206F_202D_200F_202D_206D_206D_206E_200C_206A_206E_200E_202B_206C_206C_200E_200F_206E_202C_200F_206A_206A_202A_206C_206B_202E(contentWidth / num2) + 2f; - int num5 = 0; - int num6 = 1598045895; - float num10 = default(float); - float num16 = default(float); - while (true) + float num4 = MathF.Ceiling(contentWidth / num2) + 2f; + for (int i = 0; (float)i < num4; i++) { - int num7 = num6; - int num8 = 1598045893; - int num9 = num7; - switch ((num9 | num8) - (num9 & num8)) + float num5 = (float)i * num2 - num3; + float num6 = num5 + num2; + if (!(num6 < 0f) && !(num5 > contentWidth)) { - case 6: - { - int num11 = num5; - num8 = 1; - num9 = num11; - int num12 = num9 ^ num8; - int num13 = num9 & num8; - num5 = num12 + (num13 + num13); - num6 = 1598045895; - break; - } - case 1: - num10 = (float)num5 * num2 - num3; - num16 = num10 + num2; - num6 = ((num16 < 0f) ? 1598045891 : 1598045888); - break; - case 3: - { - float num14 = _206C_202A_206D_200B_206E_206E_200B_202B_202E_202B_206B_200C_202D_202B_202A_200E_206F_200D_200F_206D_200D_206A_202A_206D_200D_200F_206B_200E_200C_206A_200F_200B_200D_200D_206B_206B_202B_200D_202E_206A_202E(0f, num10); - float num15 = _202E_206E_202E_202D_200C_202A_206D_202A_200C_202C_206F_202B_206D_206C_202E_202D_202C_206B_206D_200F_206C_202D_202B_206C_206F_202B_206C_202B_200E_202D_206D_202A_202B_202D_206D_206C_206B_202A_200C_202E_202E(contentWidth, num16); - float num17 = (num14 - num10) / num2; - float num18 = (num15 - num10) / num2; - float num19 = (_200F_202B_202B_206E_200E_202E_202C_206D_206C_200E_202D_200F_200B_202D_206B_202D_202C_200C_206F_206F_202C_206A_206E_200C_206D_200C_202C_202A_206F_202D_202C_202E_202B_200E_200C_200C_200F_206D_202E_200C_202E(num17 * MathF.PI * 2f - MathF.PI / 2f) + 1f) * 0.5f; - float num20 = (_200F_202B_202B_206E_200E_202E_202C_206D_206C_200E_202D_200F_200B_202D_206B_202D_202C_200C_206F_206F_202C_206A_206E_200C_206D_200C_202C_202A_206F_202D_202C_202E_202B_200E_200C_200C_200F_206D_202E_200C_202E(num18 * MathF.PI * 2f - MathF.PI / 2f) + 1f) * 0.5f; + float num7 = MathF.Max(0f, num5); + float num8 = MathF.Min(contentWidth, num6); + float num9 = (num7 - num5) / num2; + float num10 = (num8 - num5) / num2; + float num11 = (MathF.Sin(num9 * (float)Math.PI * 2f - (float)Math.PI / 2f) + 1f) * 0.5f; + float num12 = (MathF.Sin(num10 * (float)Math.PI * 2f - (float)Math.PI / 2f) + 1f) * 0.5f; Vector4 accentColor = UiThemeUtils.AccentColor; - accentColor.W = num19 * 0.8f; + accentColor.W = num11 * 0.8f; Vector4 value = accentColor; - Vector4 value2 = new Vector4(0.55f, 0.75f, 0.95f, num19 * 0.8f); + Vector4 value2 = new Vector4(0.55f, 0.75f, 0.95f, num11 * 0.8f); accentColor = UiThemeUtils.AccentColor; - accentColor.W = num20 * 0.8f; + accentColor.W = num12 * 0.8f; Vector4 value3 = accentColor; - Vector4 value4 = new Vector4(0.55f, 0.75f, 0.95f, num20 * 0.8f); - float num21 = (num17 + num18) * 0.5f; - Vector4 vector = Vector4.Lerp(value, value2, num21); - Vector4 vector2 = Vector4.Lerp(value3, value4, num21 + 0.2f); - drawList.AddRectFilledMultiColor(headerStartPos + new Vector2(num14, 0f), headerStartPos + new Vector2(num15, 3f), _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(vector), _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(vector2), _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(vector2), _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(vector)); - num6 = 1598045891; - break; - } - case 2: - num6 = (((float)num5 < num4) ? 1598045892 : 1598045893); - break; - case 0: - return; - case 5: - num6 = ((num10 > contentWidth) ? 1598045891 : 1598045894); - break; - case 4: - num6 = 1598045895; - break; + Vector4 value4 = new Vector4(0.55f, 0.75f, 0.95f, num12 * 0.8f); + float num13 = (num9 + num10) * 0.5f; + Vector4 input = Vector4.Lerp(value, value2, num13); + Vector4 input2 = Vector4.Lerp(value3, value4, num13 + 0.2f); + drawList.AddRectFilledMultiColor(headerStartPos + new Vector2(num7, 0f), headerStartPos + new Vector2(num8, 3f), ImGui.ColorConvertFloat4ToU32(input), ImGui.ColorConvertFloat4ToU32(input2), ImGui.ColorConvertFloat4ToU32(input2), ImGui.ColorConvertFloat4ToU32(input)); } } } @@ -114,47 +76,18 @@ internal sealed class ChangelogHeaderComponent private void DrawSparkles(ImDrawListPtr drawList, Vector2 headerStartPos, float contentWidth, float headerHeight) { int num = 12; - int num2 = 0; - int num3 = -726160502; - while (true) + for (int i = 0; i < num; i++) { - int num4 = num3; - int num5 = -726160503; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) - { - case 2: - num3 = -726160502; - break; - case 3: - num3 = ((num2 < num) ? (-726160504) : (-726160503)); - break; - case 1: - { - float num9 = (float)num2 * 123.456f; - float num10 = 0.8f + (float)(num2 % 3) * 0.15f; - float num11 = _animationTime * num10; - float x = num9 * 12.345f % 1f * contentWidth; - float y = (_200F_202B_202B_206E_200E_202E_202C_206D_206C_200E_202D_200F_200B_202D_206B_202D_202C_200C_206F_206F_202C_206A_206E_200C_206D_200C_202C_202A_206F_202D_202C_202E_202B_200E_200C_200C_200F_206D_202E_200C_202E(num11 + num9) + 1f) * 0.5f * headerHeight; - Vector2 pos = headerStartPos + new Vector2(x, y); - float num12 = (_200F_202B_202B_206E_200E_202E_202C_206D_206C_200E_202D_200F_200B_202D_206B_202D_202C_200C_206F_206F_202C_206A_206E_200C_206D_200C_202C_202A_206F_202D_202C_202E_202B_200E_200C_200C_200F_206D_202E_200C_202E(num11 * 3f + num9 * 2f) + 1f) * 0.5f; - float alpha = num12 * 0.6f; - float size = 2f + num12 * 1.5f; - DrawSparkleShape(drawList, pos, size, alpha, num2 % 4, num11); - int num13 = num2; - num5 = 1; - num6 = num13; - int num14 = num6 ^ num5; - int num15 = num6 & num5; - num2 = num14 + (num15 + num15); - num3 = -726160502; - break; - } - case 0: - return; - } + float num2 = (float)i * 123.456f; + float num3 = 0.8f + (float)(i % 3) * 0.15f; + float num4 = _animationTime * num3; + float x = num2 * 12.345f % 1f * contentWidth; + float y = (MathF.Sin(num4 + num2) + 1f) * 0.5f * headerHeight; + Vector2 pos = headerStartPos + new Vector2(x, y); + float num5 = (MathF.Sin(num4 * 3f + num2 * 2f) + 1f) * 0.5f; + float alpha = num5 * 0.6f; + float size = 2f + num5 * 1.5f; + DrawSparkleShape(drawList, pos, size, alpha, i % 4, num4); } } @@ -162,64 +95,31 @@ internal sealed class ChangelogHeaderComponent { switch (type) { - default: - { - int num = 510670740; - while (true) - { - int num2 = num; - int num3 = 510670741; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_001e; - case 0: - goto IL_0059; - case 3: - num = 510670740; - break; - case 1: - num = 510670737; - break; - case 4: - DrawCircleSparkle(drawList, pos, size, alpha); - return; - case 5: - goto end_IL_0002; - } - continue; - end_IL_001e: - break; - } - goto case 0; - } case 0: DrawCrossSparkle(drawList, pos, size, alpha); - return; - case 2: - goto IL_0059; - case 1: break; - IL_0059: + case 1: + DrawDiamondSparkle(drawList, pos, size, alpha); + break; + case 2: DrawStarSparkle(drawList, pos, size, alpha, time); - return; - end_IL_0002: + break; + default: + DrawCircleSparkle(drawList, pos, size, alpha); break; } - DrawDiamondSparkle(drawList, pos, size, alpha); } private static void DrawCrossSparkle(ImDrawListPtr drawList, Vector2 pos, float size, float alpha) { float num = size * 0.8f; - float thickness = _206C_202A_206D_200B_206E_206E_200B_202B_202E_202B_206B_200C_202D_202B_202A_200E_206F_200D_200F_206D_200D_206A_202A_206D_200D_200F_206B_200E_200C_206A_200F_200B_200D_200D_206B_206B_202B_200D_202E_206A_202E(1f, size * 0.3f); - drawList.AddLine(pos - new Vector2(num, 0f), pos + new Vector2(num, 0f), _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(new Vector4(0.9f, 0.8f, 1f, alpha)), thickness); - drawList.AddLine(pos - new Vector2(0f, num), pos + new Vector2(0f, num), _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(new Vector4(0.9f, 0.8f, 1f, alpha)), thickness); + float thickness = MathF.Max(1f, size * 0.3f); + drawList.AddLine(pos - new Vector2(num, 0f), pos + new Vector2(num, 0f), ImGui.ColorConvertFloat4ToU32(new Vector4(0.9f, 0.8f, 1f, alpha)), thickness); + drawList.AddLine(pos - new Vector2(0f, num), pos + new Vector2(0f, num), ImGui.ColorConvertFloat4ToU32(new Vector4(0.9f, 0.8f, 1f, alpha)), thickness); float radius = size * 1.5f; Vector4 accentColor = UiThemeUtils.AccentColor; accentColor.W = alpha * 0.2f; - drawList.AddCircleFilled(pos, radius, _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(accentColor)); + drawList.AddCircleFilled(pos, radius, ImGui.ColorConvertFloat4ToU32(accentColor)); } private static void DrawDiamondSparkle(ImDrawListPtr drawList, Vector2 pos, float size, float alpha) @@ -229,162 +129,70 @@ internal sealed class ChangelogHeaderComponent Vector2 p2 = pos + new Vector2(num, 0f); Vector2 p3 = pos + new Vector2(0f, num); Vector2 p4 = pos + new Vector2(0f - num, 0f); - drawList.AddQuadFilled(p, p2, p3, p4, _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(new Vector4(0.9f, 0.8f, 1f, alpha * 0.8f))); + drawList.AddQuadFilled(p, p2, p3, p4, ImGui.ColorConvertFloat4ToU32(new Vector4(0.9f, 0.8f, 1f, alpha * 0.8f))); float radius = size * 1.6f; Vector4 accentColor = UiThemeUtils.AccentColor; accentColor.W = alpha * 0.25f; - drawList.AddCircleFilled(pos, radius, _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(accentColor)); + drawList.AddCircleFilled(pos, radius, ImGui.ColorConvertFloat4ToU32(accentColor)); } private static void DrawStarSparkle(ImDrawListPtr drawList, Vector2 pos, float size, float alpha, float time) { - int num = 0; - int num2 = -1819671031; - while (true) + for (int i = 0; i < 4; i++) { - int num3 = num2; - int num4 = -1819671032; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 0: - num2 = -1819671031; - break; - case 3: - { - float radius = size * 1.7f; - Vector4 accentColor = UiThemeUtils.AccentColor; - accentColor.W = alpha * 0.3f; - drawList.AddCircleFilled(pos, radius, _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(accentColor)); - return; - } - case 1: - num2 = ((num < 4) ? (-1819671030) : (-1819671029)); - break; - case 2: - { - float num8 = (float)num * MathF.PI * 0.5f; - float num9 = size * 0.3f; - float num10 = size * 0.9f; - float num11 = num8 - 0.3f; - float num12 = num8 + 0.3f; - Vector2 p = pos + new Vector2(_200F_206E_200F_206E_206B_202D_206C_206C_202B_206E_200F_202D_200B_202B_200E_202A_206D_206F_206D_206E_202C_202D_202D_206B_202D_206A_202E_200C_200C_202B_206A_206E_206A_200C_202E_200C_200C_202B_202D_202E(num11) * num9, _200F_202B_202B_206E_200E_202E_202C_206D_206C_200E_202D_200F_200B_202D_206B_202D_202C_200C_206F_206F_202C_206A_206E_200C_206D_200C_202C_202A_206F_202D_202C_202E_202B_200E_200C_200C_200F_206D_202E_200C_202E(num11) * num9); - Vector2 p2 = pos + new Vector2(_200F_206E_200F_206E_206B_202D_206C_206C_202B_206E_200F_202D_200B_202B_200E_202A_206D_206F_206D_206E_202C_202D_202D_206B_202D_206A_202E_200C_200C_202B_206A_206E_206A_200C_202E_200C_200C_202B_202D_202E(num8) * num10, _200F_202B_202B_206E_200E_202E_202C_206D_206C_200E_202D_200F_200B_202D_206B_202D_202C_200C_206F_206F_202C_206A_206E_200C_206D_200C_202C_202A_206F_202D_202C_202E_202B_200E_200C_200C_200F_206D_202E_200C_202E(num8) * num10); - Vector2 p3 = pos + new Vector2(_200F_206E_200F_206E_206B_202D_206C_206C_202B_206E_200F_202D_200B_202B_200E_202A_206D_206F_206D_206E_202C_202D_202D_206B_202D_206A_202E_200C_200C_202B_206A_206E_206A_200C_202E_200C_200C_202B_202D_202E(num12) * num9, _200F_202B_202B_206E_200E_202E_202C_206D_206C_200E_202D_200F_200B_202D_206B_202D_202C_200C_206F_206F_202C_206A_206E_200C_206D_200C_202C_202A_206F_202D_202C_202E_202B_200E_200C_200C_200F_206D_202E_200C_202E(num12) * num9); - drawList.AddTriangleFilled(p, p2, p3, _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(new Vector4(0.9f, 0.8f, 1f, alpha))); - int num13 = num; - num4 = 1; - num5 = num13; - int num14 = num5 ^ num4; - int num15 = num5 & num4; - num = num14 + (num15 + num15); - num2 = -1819671031; - break; - } - } + float num = (float)i * (float)Math.PI * 0.5f; + float num2 = size * 0.3f; + float num3 = size * 0.9f; + float x = num - 0.3f; + float x2 = num + 0.3f; + Vector2 p = pos + new Vector2(MathF.Cos(x) * num2, MathF.Sin(x) * num2); + Vector2 p2 = pos + new Vector2(MathF.Cos(num) * num3, MathF.Sin(num) * num3); + Vector2 p3 = pos + new Vector2(MathF.Cos(x2) * num2, MathF.Sin(x2) * num2); + drawList.AddTriangleFilled(p, p2, p3, ImGui.ColorConvertFloat4ToU32(new Vector4(0.9f, 0.8f, 1f, alpha))); } + float radius = size * 1.7f; + Vector4 accentColor = UiThemeUtils.AccentColor; + accentColor.W = alpha * 0.3f; + drawList.AddCircleFilled(pos, radius, ImGui.ColorConvertFloat4ToU32(accentColor)); } private static void DrawCircleSparkle(ImDrawListPtr drawList, Vector2 pos, float size, float alpha) { - drawList.AddCircleFilled(pos, size, _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(new Vector4(0.9f, 0.8f, 1f, alpha))); + drawList.AddCircleFilled(pos, size, ImGui.ColorConvertFloat4ToU32(new Vector4(0.9f, 0.8f, 1f, alpha))); float radius = size * 1.8f; Vector4 accentColor = UiThemeUtils.AccentColor; accentColor.W = alpha * 0.3f; - drawList.AddCircleFilled(pos, radius, _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(accentColor)); + drawList.AddCircleFilled(pos, radius, ImGui.ColorConvertFloat4ToU32(accentColor)); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawCloseButton(ImDrawListPtr drawList, Vector2 headerStartPos, float contentWidth, Action onCloseClicked) { float num = 32f; Vector2 vector = headerStartPos + new Vector2(contentWidth - num - 8f, 8f); Vector2 center = vector + new Vector2(num * 0.5f, num * 0.5f); - Vector2 vector2 = _202C_200D_206E_206A_202D_202C_206C_202E_206B_200B_206B_200F_206E_202E_202E_200E_206A_202D_206D_206E_202C_200F_206A_200E_206B_200F_202D_200C_202D_206C_202D_200B_200D_202E_206E_206D_206A_202C_200B_206F_202E(); - int num2 = ((!(vector2.X >= vector.X)) ? (-1181352748) : (-1181352739)); - float num8 = default(float); - float w = default(float); - bool flag = default(bool); - while (true) + Vector2 mousePos = ImGui.GetMousePos(); + bool flag = mousePos.X >= vector.X && mousePos.X <= vector.X + num && mousePos.Y >= vector.Y && mousePos.Y <= vector.Y + num; + float w = (flag ? 0.9f : 0.5f); + float num2 = (flag ? ((MathF.Sin(_animationTime * 4f) + 1f) * 0.5f * 0.1f) : 0f); + uint num3; + if (!flag) { - int num3 = num2; - int num4 = -1181352748; - int num5 = num3; - float num9; - int num10; - float num6; - uint num7; - uint col; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - num9 = 0.9f; - goto IL_00c2; - case 5: - onCloseClicked(obj: false); - num2 = -1181352747; - break; - case 0: - num10 = 0; - goto IL_00f8; - case 9: - num2 = ((!(vector2.X <= vector.X + num)) ? (-1181352748) : (-1181352745)); - break; - case 4: - num10 = ((vector2.Y <= vector.Y + num) ? 1 : 0); - goto IL_00f8; - case 7: - num6 = (_200F_202B_202B_206E_200E_202E_202C_206D_206C_200E_202D_200F_200B_202D_206B_202D_202C_200C_206F_206F_202C_206A_206E_200C_206D_200C_202C_202A_206F_202D_202C_202E_202B_200E_200C_200C_200F_206D_202E_200C_202E(_animationTime * 4f) + 1f) * 0.5f * 0.1f; - goto IL_018b; - case 10: - num9 = 0.5f; - goto IL_00c2; - case 3: - num2 = ((!(vector2.Y >= vector.Y)) ? (-1181352748) : (-1181352752)); - break; - case 6: - { - Vector4 accentColor = UiThemeUtils.AccentColor; - accentColor.X = UiThemeUtils.AccentColor.X + num8; - accentColor.W = w; - num7 = _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(accentColor); - goto IL_0216; - } - case 1: - return; - case 11: - num2 = -1181352739; - break; - case 8: - num7 = _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(new Vector4(0.55f, 0.45f, 0.75f, w)); - goto IL_0216; - case 12: - { - num6 = 0f; - goto IL_018b; - } - IL_0216: - col = num7; - drawList.AddCircleFilled(center, num * 0.4f, col); - DrawAnimatedCross(drawList, center, flag); - _202E_206E_200B_200E_202B_200B_206A_200F_200E_206E_202E_202C_200C_200D_206D_202D_200D_202B_202C_206C_200C_200C_202D_206F_206A_200F_202C_206B_200C_200F_206E_206C_200E_206A_206A_200C_202A_206F_202E_206D_202E(vector); - num2 = ((!_200F_200F_206B_200E_202C_200C_206E_206B_200F_206A_200D_206A_200C_200B_206A_200E_206F_200B_206D_202B_206D_202A_206E_202D_206C_206F_202C_206F_206E_206F_206F_206E_202A_202E_202C_206D_202E_200E_202B_200C_202E((ImU8String)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(-2026980897), new Vector2(num, num), ImGuiButtonFlags.None)) ? (-1181352747) : (-1181352751)); - break; - IL_00c2: - w = num9; - num2 = (flag ? (-1181352749) : (-1181352744)); - break; - IL_018b: - num8 = num6; - num2 = (flag ? (-1181352750) : (-1181352740)); - break; - IL_00f8: - flag = (byte)num10 != 0; - num2 = (flag ? (-1181352746) : (-1181352738)); - break; - } + num3 = ImGui.ColorConvertFloat4ToU32(new Vector4(0.55f, 0.45f, 0.75f, w)); + } + else + { + Vector4 accentColor = UiThemeUtils.AccentColor; + accentColor.X = UiThemeUtils.AccentColor.X + num2; + accentColor.W = w; + num3 = ImGui.ColorConvertFloat4ToU32(accentColor); + } + uint col = num3; + drawList.AddCircleFilled(center, num * 0.4f, col); + DrawAnimatedCross(drawList, center, flag); + ImGui.SetCursorScreenPos(vector); + if (ImGui.InvisibleButton("CloseButton", new Vector2(num, num))) + { + onCloseClicked(obj: false); } } @@ -392,23 +200,23 @@ internal sealed class ChangelogHeaderComponent { float thickness = 2f; float w = (isHovered ? 1f : 0.8f); - float num = (isHovered ? (_200F_202B_202B_206E_200E_202E_202C_206D_206C_200E_202D_200F_200B_202D_206B_202D_202C_200C_206F_206F_202C_206A_206E_200C_206D_200C_202C_202A_206F_202D_202C_202E_202B_200E_200C_200C_200F_206D_202E_200C_202E(_animationTime * 6f) * 0.1f) : 0f); - float num2 = _200F_206E_200F_206E_206B_202D_206C_206C_202B_206E_200F_202D_200B_202B_200E_202A_206D_206F_206D_206E_202C_202D_202D_206B_202D_206A_202E_200C_200C_202B_206A_206E_206A_200C_202E_200C_200C_202B_202D_202E(num); - float num3 = _200F_202B_202B_206E_200E_202E_202C_206D_206C_200E_202D_200F_200B_202D_206B_202D_202C_200C_206F_206F_202C_206A_206E_200C_206D_200C_202C_202A_206F_202D_202C_202E_202B_200E_200C_200C_200F_206D_202E_200C_202E(num); - float num4 = 8f * 0.5f; - Vector2 vector = new Vector2((0f - num4) * num2 - (0f - num4) * num3, (0f - num4) * num3 + (0f - num4) * num2); - Vector2 vector2 = new Vector2(num4 * num2 - num4 * num3, num4 * num3 + num4 * num2); - Vector2 vector3 = new Vector2((0f - num4) * num2 - num4 * num3, (0f - num4) * num3 + num4 * num2); - Vector2 vector4 = new Vector2(num4 * num2 - (0f - num4) * num3, num4 * num3 + (0f - num4) * num2); - drawList.AddLine(center + vector, center + vector2, _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(new Vector4(1f, 1f, 1f, w)), thickness); - drawList.AddLine(center + vector3, center + vector4, _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(new Vector4(1f, 1f, 1f, w)), thickness); + float x = (isHovered ? (MathF.Sin(_animationTime * 6f) * 0.1f) : 0f); + float num = MathF.Cos(x); + float num2 = MathF.Sin(x); + float num3 = 8f * 0.5f; + Vector2 vector = new Vector2((0f - num3) * num - (0f - num3) * num2, (0f - num3) * num2 + (0f - num3) * num); + Vector2 vector2 = new Vector2(num3 * num - num3 * num2, num3 * num2 + num3 * num); + Vector2 vector3 = new Vector2((0f - num3) * num - num3 * num2, (0f - num3) * num2 + num3 * num); + Vector2 vector4 = new Vector2(num3 * num - (0f - num3) * num2, num3 * num2 + (0f - num3) * num); + drawList.AddLine(center + vector, center + vector2, ImGui.ColorConvertFloat4ToU32(new Vector4(1f, 1f, 1f, w)), thickness); + drawList.AddLine(center + vector3, center + vector4, ImGui.ColorConvertFloat4ToU32(new Vector4(1f, 1f, 1f, w)), thickness); } private void DrawHeaderContent(Vector2 headerStartPos, float contentWidth, float headerHeight) { - float fadeIn = _202E_206E_202E_202D_200C_202A_206D_202A_200C_202C_206F_202B_206D_206C_202E_202D_202C_206B_206D_200F_206C_202D_202B_206C_206F_202B_206C_202B_200E_202D_206D_202A_202B_202D_206D_206C_206B_202A_200C_202E_202E(1f, _animationTime * 2f); - _202E_206E_200B_200E_202B_200B_206A_200F_200E_206E_202E_202C_200C_200D_206D_202D_200D_202B_202C_206C_200C_200C_202D_206F_206A_200F_202C_206B_200C_200F_206E_206C_200E_206A_206A_200C_202A_206F_202E_206D_202E(headerStartPos); - _206B_200F_206E_202D_202E_206F_206C_206B_206F_202E_202B_202A_206F_202B_206D_200C_200B_206D_202D_200C_200E_200E_206E_206E_202B_200E_202D_202D_206F_202C_200B_206B_206B_206D_202B_206A_206D_200B_202D_206F_202E(_206A_200D_200B_200E_206A_200F_200E_202A_206F_200F_206A_202C_202A_202C_200E_200D_200E_200F_206A_202D_206E_202D_202C_206B_206E_202D_206F_200F_202E_206D_206E_200E_206C_200B_206A_206F_206A_200B_206B_202E() + 30f); + float fadeIn = MathF.Min(1f, _animationTime * 2f); + ImGui.SetCursorScreenPos(headerStartPos); + ImGui.SetCursorPosY(ImGui.GetCursorPosY() + 30f); float centerX = contentWidth * 0.5f; DrawIcon(centerX, fadeIn); DrawTitle(centerX, fadeIn); @@ -417,282 +225,77 @@ internal sealed class ChangelogHeaderComponent private void DrawIcon(float centerX, float fadeIn) { - float num = _200F_202B_202B_206E_200E_202E_202C_206D_206C_200E_202D_200F_200B_202D_206B_202D_202C_200C_206F_206F_202C_206A_206E_200C_206D_200C_202C_202A_206F_202D_202C_202E_202B_200E_200C_200C_200F_206D_202E_200C_202E(_animationTime * 2f) * 3f; - float num2 = _200F_202B_202B_206E_200E_202E_202C_206D_206C_200E_202D_200F_200B_202D_206B_202D_202C_200C_206F_206F_202C_206A_206E_200C_206D_200C_202C_202A_206F_202D_202C_202E_202B_200E_200C_200C_200F_206D_202E_200C_202E(_animationTime * 1.5f + MathF.PI / 2f) * 1.5f; - ImRaii.FontDisposable fontDisposable = _200F_202D_200C_200C_206B_206B_200D_200F_206D_202E_202D_200D_202C_202C_200B_206D_206B_206F_206B_200D_200E_206A_206C_200D_202B_202D_202B_202D_206F_206C_202C_200F_200F_206A_202E_202B_206E_200C_202A_202A_202E(_202E_200B_202A_202E_206E_202B_200D_202D_206A_202A_200B_202B_202C_202E_200C_200E_202D_202C_206C_200B_200C_200E_206F_200F_202B_202A_206F_200D_206F_202D_202E_200F_206D_202C_200E_206A_202B_200D_206E_206B_202E(), true); - try + float num = MathF.Sin(_animationTime * 2f) * 3f; + float num2 = MathF.Sin(_animationTime * 1.5f + (float)Math.PI / 2f) * 1.5f; + using (ImRaii.PushFont(UiBuilder.IconFont)) { - string text = _200F_202C_206A_206A_206E_206F_202B_200E_200E_206A_202E_202D_200F_200C_206E_200E_202E_206D_206C_206A_200D_200F_206C_200D_206C_206E_202A_206C_200F_206C_206A_202B_206C_202C_206C_202E_200D_202E_206D_202D_202E(FontAwesomeIcon.FileAlt); - _200B_200F_206D_206E_200F_206E_206F_200D_206D_202A_202B_200B_206A_202A_206E_200F_202D_206D_200F_200E_206F_202E_200F_200F_206F_206A_200C_200B_200B_200D_200D_202C_200F_202A_206F_202E_202A_206F_202C_202C_202E(centerX - _202C_202B_206E_206D_200C_200B_206C_206A_202C_202B_200F_202C_202E_202E_206F_202B_200D_200B_200E_200C_206F_202E_206A_206D_206B_202C_206E_202C_206A_206C_200F_206B_206D_206F_200D_202A_202B_206E_206A_206E_202E((ImU8String)text, false, -1f).X * 0.5f + num2); - _206B_200F_206E_202D_202E_206F_206C_206B_206F_202E_202B_202A_206F_202B_206D_200C_200B_206D_202D_200C_200E_200E_206E_206E_202B_200E_202D_202D_206F_202C_200B_206B_206B_206D_202B_206A_206D_200B_202D_206F_202E(_206A_200D_200B_200E_206A_200F_200E_202A_206F_200F_206A_202C_202A_202C_200E_200D_200E_200F_206A_202D_206E_202D_202C_206B_206E_202D_206F_200F_202E_206D_206E_200E_206C_200B_206A_206F_206A_200B_206B_202E() + num); - float w = (_200F_202B_202B_206E_200E_202E_202C_206D_206C_200E_202D_200F_200B_202D_206B_202D_202C_200C_206F_206F_202C_206A_206E_200C_206D_200C_202C_202A_206F_202D_202C_202E_202B_200E_200C_200C_200F_206D_202E_200C_202E(_animationTime * 3f) + 1f) * 0.5f * 0.3f; - int num3 = ((_animationTime * 0.5f % 1f < 0.5f) ? 769686031 : 769686028); + string text = FontAwesomeIcon.FileAlt.ToIconString(); + ImGui.SetCursorPosX(centerX - ImGui.CalcTextSize(text).X * 0.5f + num2); + ImGui.SetCursorPosY(ImGui.GetCursorPosY() + num); + float w = (MathF.Sin(_animationTime * 3f) + 1f) * 0.5f * 0.3f; Vector4 vector; - while (true) + if (!(_animationTime * 0.5f % 1f < 0.5f)) { - int num4 = num3; - int num5 = 769686030; - int num6 = num4; - switch ((num6 | num5) - (num6 & num5)) - { - default: - continue; - case 0: - goto IL_0107; - case 2: - vector = new Vector4(0.55f, 0.75f, 0.95f, w); - break; - case 1: - { - Vector4 accentColor = UiThemeUtils.AccentColor; - accentColor.W = w; - vector = accentColor; - break; - } - } - break; - IL_0107: - num3 = 769686028; + vector = new Vector4(0.55f, 0.75f, 0.95f, w); } - Vector4 vector2 = vector; - Vector2 vector3 = _202B_206D_200C_206E_200E_206E_202E_202A_200C_202C_200D_206F_202A_202C_206D_200F_200C_206C_200B_200C_202A_202C_206B_200D_206D_206A_200D_200D_200B_206E_200D_206F_206B_206C_200D_206C_202A_206E_206D_202D_202E(); - _200C_200E_200C_202D_206F_206A_200D_202B_206D_202A_206E_202B_206F_202D_200F_202D_206E_206B_202B_206F_200B_206F_200C_202D_202B_200E_206D_206C_202A_200B_206A_206B_206E_206B_200E_200C_206F_200E_202A_206B_202E().AddText(_202E_200B_202A_202E_206E_202B_200D_202D_206A_202A_200B_202B_202C_202E_200C_200E_202D_202C_206C_200B_200C_200E_206F_200F_202B_202A_206F_200D_206F_202D_202E_200F_206D_202C_200E_206A_202B_200D_206E_206B_202E(), _206A_202D_206A_206F_200F_206B_200C_200F_200B_200D_200F_200C_206B_206F_206F_206C_202A_202B_202D_200D_202B_200C_202E_200E_202E_200B_202B_200D_206B_200E_200D_206E_206A_200B_206F_200D_206C_202D_206E_206D_202E() * 1.2f, vector3 + new Vector2(2f, 2f), _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(vector2), text); - _200C_202A_206E_206B_206B_206F_206F_206D_202B_202C_200D_206C_202B_202A_200B_206E_206F_202C_202D_206B_202D_206F_206B_206C_206C_202E_202E_202A_202A_206E_202E_206B_206D_202C_200C_202E_202B_202A_202A_202A_202E(ImGuiStyleVar.Alpha, fadeIn); - _200C_202C_200B_206B_202C_200D_206A_206F_200F_206B_206E_206F_202C_202C_200F_206C_200B_202B_206F_200D_202C_206C_206F_206F_200C_206B_206D_202D_200B_200D_202A_206C_200D_200C_200C_202E_200E_200E_202A_202E(ref UiThemeUtils.AccentColor, (ImU8String)text); - _200C_202C_206C_202D_202A_200F_206C_200B_202C_200C_206C_200B_202D_206D_202D_206C_200E_206D_206E_206D_200B_200D_200C_200F_200C_202B_202D_206D_202C_206A_200D_202A_200F_200F_200F_202D_200B_200B_200E_202B_202E(); - } - finally - { - int num3 = ((fontDisposable == null) ? 201353111 : 201353108); - while (true) + else { - int num7 = num3; - int num5 = 201353109; - int num6 = num7; - switch ((num6 | num5) - (num6 & num5)) - { - case 2: - goto end_IL_01da; - case 1: - _202E_202E_200F_202E_200E_206B_202E_202B_206B_202A_206C_206E_206A_206A_206D_206B_200C_200C_202A_202A_200C_202C_200C_202A_202B_206F_200E_200C_206B_206C_206A_206D_202D_202D_202A_206E_202A_206E_206B_206C_202E((IDisposable)fontDisposable); - num3 = 201353111; - break; - case 0: - num3 = 201353108; - break; - } - continue; - end_IL_01da: - break; + Vector4 accentColor = UiThemeUtils.AccentColor; + accentColor.W = w; + vector = accentColor; } + Vector4 input = vector; + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + ImGui.GetWindowDrawList().AddText(UiBuilder.IconFont, ImGui.GetFontSize() * 1.2f, cursorScreenPos + new Vector2(2f, 2f), ImGui.ColorConvertFloat4ToU32(input), text); + ImGui.PushStyleVar(ImGuiStyleVar.Alpha, fadeIn); + ImGui.TextColored(in UiThemeUtils.AccentColor, text); + ImGui.PopStyleVar(); } - _206B_200F_206E_202D_202E_206F_206C_206B_206F_202E_202B_202A_206F_202B_206D_200C_200B_206D_202D_200C_200E_200E_206E_206E_202B_200E_202D_202D_206F_202C_200B_206B_206B_206D_202B_206A_206D_200B_202D_206F_202E(_206A_200D_200B_200E_206A_200F_200E_202A_206F_200F_206A_202C_202A_202C_200E_200D_200E_200F_206A_202D_206E_202D_202C_206B_206E_202D_206F_200F_202E_206D_206E_200E_206C_200B_206A_206F_206A_200B_206B_202E() - num + 4f); + ImGui.SetCursorPosY(ImGui.GetCursorPosY() - num + 4f); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawTitle(float centerX, float fadeIn) { - float num = _206C_202A_206D_200B_206E_206E_200B_202B_202E_202B_206B_200C_202D_202B_202A_200E_206F_200D_200F_206D_200D_206A_202A_206D_200D_200F_206B_200E_200C_206A_200F_200B_200D_200D_206B_206B_202B_200D_202E_206A_202E(0f, 1f - (_animationTime - 0.1f) * 3f); + float num = MathF.Max(0f, 1f - (_animationTime - 0.1f) * 3f); float num2 = num * num * (3f - 2f * num) * 20f; - ImRaii.FontDisposable fontDisposable = _200F_202D_200C_200C_206B_206B_200D_200F_206D_202E_202D_200D_202C_202C_200B_206D_206B_206F_206B_200D_200E_206A_206C_200D_202B_202D_202B_202D_206F_206C_202C_200F_200F_206A_202E_202B_206E_200C_202A_202A_202E(_202A_202E_206F_202B_200C_202E_206F_206B_202E_200E_200C_200E_206D_206C_200C_200B_200F_200B_206B_202B_200E_206F_200C_200D_206C_202D_200C_206A_206C_206F_200F_206E_206C_200F_202B_200C_206C_202A_200F_202A_202E(), true); - try + using (ImRaii.PushFont(UiBuilder.MonoFont)) { - string text = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1908424869); - _200B_200F_206D_206E_200F_206E_206F_200D_206D_202A_202B_200B_206A_202A_206E_200F_202D_206D_200F_200E_206F_202E_200F_200F_206F_206A_200C_200B_200B_200D_200D_202C_200F_202A_206F_202E_202A_206F_202C_202C_202E(centerX - _202C_202B_206E_206D_200C_200B_206C_206A_202C_202B_200F_202C_202E_202E_206F_202B_200D_200B_200E_200C_206F_202E_206A_206D_206B_202C_206E_202C_206A_206C_200F_206B_206D_206F_200D_202A_202B_206E_206A_206E_202E((ImU8String)text, false, -1f).X * 0.5f - num2); - _200C_202A_206E_206B_206B_206F_206F_206D_202B_202C_200D_206C_202B_202A_200B_206E_206F_202C_202D_206B_202D_206F_206B_206C_206C_202E_202E_202A_202A_206E_202E_206B_206D_202C_200C_202E_202B_202A_202A_202A_202E(ImGuiStyleVar.Alpha, fadeIn); - Vector4 vector = new Vector4(0.95f, 0.95f, 1f, 1f); - _200C_202C_200B_206B_202C_200D_206A_206F_200F_206B_206E_206F_202C_202C_200F_206C_200B_202B_206F_200D_202C_206C_206F_206F_200C_206B_206D_202D_200B_200D_202A_206C_200D_200C_200C_202E_200E_200E_202A_202E(ref vector, (ImU8String)text); - _200C_202C_206C_202D_202A_200F_206C_200B_202C_200C_206C_200B_202D_206D_202D_206C_200E_206D_206E_206D_200B_200D_200C_200F_200C_202B_202D_206D_202C_206A_200D_202A_200F_200F_200F_202D_200B_200B_200E_202B_202E(); + string text = "What's New in Questionable?"; + ImGui.SetCursorPosX(centerX - ImGui.CalcTextSize(text).X * 0.5f - num2); + ImGui.PushStyleVar(ImGuiStyleVar.Alpha, fadeIn); + ImGui.TextColored(new Vector4(0.95f, 0.95f, 1f, 1f), text); + ImGui.PopStyleVar(); } - finally - { - int num3 = ((fontDisposable == null) ? 537868865 : 537868866); - while (true) - { - int num4 = num3; - int num5 = 537868867; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) - { - case 0: - num3 = 537868866; - break; - case 1: - _202E_202E_200F_202E_200E_206B_202E_202B_206B_202A_206C_206E_206A_206A_206D_206B_200C_200C_202A_202A_200C_202C_200C_202A_202B_206F_200E_200C_206B_206C_206A_206D_202D_202D_202A_206E_202A_206E_206B_206C_202E((IDisposable)fontDisposable); - num3 = 537868865; - break; - case 2: - goto end_IL_00d2; - } - continue; - end_IL_00d2: - break; - } - } - _206B_200F_206E_202D_202E_206F_206C_206B_206F_202E_202B_202A_206F_202B_206D_200C_200B_206D_202D_200C_200E_200E_206E_206E_202B_200E_202D_202D_206F_202C_200B_206B_206B_206D_202B_206A_206D_200B_202D_206F_202E(_206A_200D_200B_200E_206A_200F_200E_202A_206F_200F_206A_202C_202A_202C_200E_200D_200E_200F_206A_202D_206E_202D_202C_206B_206E_202D_206F_200F_202E_206D_206E_200E_206C_200B_206A_206F_206A_200B_206B_202E() + 6f); + ImGui.SetCursorPosY(ImGui.GetCursorPosY() + 6f); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawSubtitle(float centerX) { - float num = _206C_202A_206D_200B_206E_206E_200B_202B_202E_202B_206B_200C_202D_202B_202A_200E_206F_200D_200F_206D_200D_206A_202A_206D_200D_200F_206B_200E_200C_206A_200F_200B_200D_200D_206B_206B_202B_200D_202E_206A_202E(0f, _202E_206E_202E_202D_200C_202A_206D_202A_200C_202C_206F_202B_206D_206C_202E_202D_202C_206B_206D_200F_206C_202D_202B_206C_206F_202B_206C_202B_200E_202D_206D_202A_202B_202D_206D_206C_206B_202A_200C_202E_202E(1f, (_animationTime - 0.3f) * 2f)); - string text = 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(1284431139); - _200B_200F_206D_206E_200F_206E_206F_200D_206D_202A_202B_200B_206A_202A_206E_200F_202D_206D_200F_200E_206F_202E_200F_200F_206F_206A_200C_200B_200B_200D_200D_202C_200F_202A_206F_202E_202A_206F_202C_202C_202E(centerX - _202C_202B_206E_206D_200C_200B_206C_206A_202C_202B_200F_202C_202E_202E_206F_202B_200D_200B_200E_200C_206F_202E_206A_206D_206B_202C_206E_202C_206A_206C_200F_206B_206D_206F_200D_202A_202B_206E_206A_206E_202E((ImU8String)text, false, -1f).X * 0.5f); - _200C_202A_206E_206B_206B_206F_206F_206D_202B_202C_200D_206C_202B_202A_200B_206E_206F_202C_202D_206B_202D_206F_206B_206C_206C_202E_202E_202A_202A_206E_202E_206B_206D_202C_200C_202E_202B_202A_202A_202A_202E(ImGuiStyleVar.Alpha, num); - Vector4 vector = new Vector4(0.7f, 0.7f, 0.8f, 0.9f); - _200C_202C_200B_206B_202C_200D_206A_206F_200F_206B_206E_206F_202C_202C_200F_206C_200B_202B_206F_200D_202C_206C_206F_206F_200C_206B_206D_202D_200B_200D_202A_206C_200D_200C_200C_202E_200E_200E_202A_202E(ref vector, (ImU8String)text); - _200C_202C_206C_202D_202A_200F_206C_200B_202C_200C_206C_200B_202D_206D_202D_206C_200E_206D_206E_206D_200B_200D_200C_200F_200C_202B_202D_206D_202C_206A_200D_202A_200F_200F_200F_202D_200B_200B_200E_202B_202E(); + float val = MathF.Max(0f, MathF.Min(1f, (_animationTime - 0.3f) * 2f)); + string text = "Stay up to date with the latest features and improvements"; + ImGui.SetCursorPosX(centerX - ImGui.CalcTextSize(text).X * 0.5f); + ImGui.PushStyleVar(ImGuiStyleVar.Alpha, val); + ImGui.TextColored(new Vector4(0.7f, 0.7f, 0.8f, 0.9f), text); + ImGui.PopStyleVar(); } private void DrawAccentLine(ImDrawListPtr drawList, Vector2 headerStartPos, float contentWidth, float headerHeight) { - _202E_206E_200B_200E_202B_200B_206A_200F_200E_206E_202E_202C_200C_200D_206D_202D_200D_202B_202C_206C_200C_200C_202D_206F_206A_200F_202C_206B_200C_200F_206E_206C_200E_206A_206A_200C_202A_206F_202E_206D_202E(headerStartPos + new Vector2(0f, headerHeight)); - Vector2 vector = _202B_206D_200C_206E_200E_206E_202E_202A_200C_202C_200D_206F_202A_202C_206D_200F_200C_206C_200B_200C_202A_202C_206B_200D_206D_206A_200D_200D_200B_206E_200D_206F_206B_206C_200D_206C_202A_206E_206D_202D_202E(); - float num = (_200F_202B_202B_206E_200E_202E_202C_206D_206C_200E_202D_200F_200B_202D_206B_202D_202C_200C_206F_206F_202C_206A_206E_200C_206D_200C_202C_202A_206F_202D_202C_202E_202B_200E_200C_200C_200F_206D_202E_200C_202E(_animationTime * 2f + MathF.PI) + 1f) * 0.5f; - Vector2 pMax = vector + new Vector2(contentWidth, 2f); + ImGui.SetCursorScreenPos(headerStartPos + new Vector2(0f, headerHeight)); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + float num = (MathF.Sin(_animationTime * 2f + (float)Math.PI) + 1f) * 0.5f; + Vector2 pMax = cursorScreenPos + new Vector2(contentWidth, 2f); Vector4 accentColor = UiThemeUtils.AccentColor; accentColor.W = 0.6f + num * 0.4f; - uint colUprLeft = _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(accentColor); + uint colUprLeft = ImGui.ColorConvertFloat4ToU32(accentColor); accentColor = UiThemeUtils.AccentColor; accentColor.W = 0.2f + num * 0.2f; - uint colUprRight = _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(accentColor); + uint colUprRight = ImGui.ColorConvertFloat4ToU32(accentColor); accentColor = UiThemeUtils.AccentColor; accentColor.W = 0.2f + num * 0.2f; - uint colBotRight = _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(accentColor); + uint colBotRight = ImGui.ColorConvertFloat4ToU32(accentColor); accentColor = UiThemeUtils.AccentColor; accentColor.W = 0.6f + num * 0.4f; - drawList.AddRectFilledMultiColor(vector, pMax, colUprLeft, colUprRight, colBotRight, _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(accentColor)); - } - - static ImGuiIOPtr _200B_202C_206B_200C_200E_206D_202C_202C_206C_202D_200B_206C_202A_206A_206E_200B_202B_200F_206A_200F_200E_200D_206F_202D_206E_202E_206C_200C_206C_200B_202E_200F_200B_206A_206C_202A_200C_206B_202B_200E_202E() - { - return ImGui.GetIO(); - } - - static ImDrawListPtr _200C_200E_200C_202D_206F_206A_200D_202B_206D_202A_206E_202B_206F_202D_200F_202D_206E_206B_202B_206F_200B_206F_200C_202D_202B_200E_206D_206C_202A_200B_206A_206B_206E_206B_200E_200C_206F_200E_202A_206B_202E() - { - return ImGui.GetWindowDrawList(); - } - - static Vector2 _202B_206D_200C_206E_200E_206E_202E_202A_200C_202C_200D_206F_202A_202C_206D_200F_200C_206C_200B_200C_202A_202C_206B_200D_206D_206A_200D_200D_200B_206E_200D_206F_206B_206C_200D_206C_202A_206E_206D_202D_202E() - { - return ImGui.GetCursorScreenPos(); - } - - static Vector2 _200F_202B_206C_202B_200C_202D_200B_206C_202E_202B_206D_200D_206C_200D_206F_206C_206A_200D_200F_200F_202C_202C_200D_206E_200B_200D_202E_202C_206A_206F_200C_206A_206E_206B_206A_206E_206E_206A_206A_200C_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static float _206A_200D_200B_200E_206A_200F_200E_202A_206F_200F_206A_202C_202A_202C_200E_200D_200E_200F_206A_202D_206E_202D_202C_206B_206E_202D_206F_200F_202E_206D_206E_200E_206C_200B_206A_206F_206A_200B_206B_202E() - { - return ImGui.GetCursorPosY(); - } - - static void _206B_200F_206E_202D_202E_206F_206C_206B_206F_202E_202B_202A_206F_202B_206D_200C_200B_206D_202D_200C_200E_200E_206E_206E_202B_200E_202D_202D_206F_202C_200B_206B_206B_206D_202B_206A_206D_200B_202D_206F_202E(float P_0) - { - ImGui.SetCursorPosY(P_0); - } - - static float _200F_202B_202B_206E_200E_202E_202C_206D_206C_200E_202D_200F_200B_202D_206B_202D_202C_200C_206F_206F_202C_206A_206E_200C_206D_200C_202C_202A_206F_202D_202C_202E_202B_200E_200C_200C_200F_206D_202E_200C_202E(float P_0) - { - return MathF.Sin(P_0); - } - - static uint _206A_200E_202B_200B_200B_200E_202A_202E_202D_202C_206C_206A_202A_206E_206D_202C_202B_206A_200E_206E_202A_200D_202A_206D_206C_202C_206F_206C_202C_200F_200B_206D_200D_202E_206C_206E_202B_200E_200D_206E_202E(Vector4 P_0) - { - return ImGui.ColorConvertFloat4ToU32(P_0); - } - - static float _200E_202A_206B_206E_200E_200C_200F_200D_206F_202A_202C_202E_206E_200C_206F_202D_206F_202D_200F_202D_206D_206D_206E_200C_206A_206E_200E_202B_206C_206C_200E_200F_206E_202C_200F_206A_206A_202A_206C_206B_202E(float P_0) - { - return MathF.Ceiling(P_0); - } - - static float _206C_202A_206D_200B_206E_206E_200B_202B_202E_202B_206B_200C_202D_202B_202A_200E_206F_200D_200F_206D_200D_206A_202A_206D_200D_200F_206B_200E_200C_206A_200F_200B_200D_200D_206B_206B_202B_200D_202E_206A_202E(float P_0, float P_1) - { - return MathF.Max(P_0, P_1); - } - - static float _202E_206E_202E_202D_200C_202A_206D_202A_200C_202C_206F_202B_206D_206C_202E_202D_202C_206B_206D_200F_206C_202D_202B_206C_206F_202B_206C_202B_200E_202D_206D_202A_202B_202D_206D_206C_206B_202A_200C_202E_202E(float P_0, float P_1) - { - return MathF.Min(P_0, P_1); - } - - static float _200F_206E_200F_206E_206B_202D_206C_206C_202B_206E_200F_202D_200B_202B_200E_202A_206D_206F_206D_206E_202C_202D_202D_206B_202D_206A_202E_200C_200C_202B_206A_206E_206A_200C_202E_200C_200C_202B_202D_202E(float P_0) - { - return MathF.Cos(P_0); - } - - static Vector2 _202C_200D_206E_206A_202D_202C_206C_202E_206B_200B_206B_200F_206E_202E_202E_200E_206A_202D_206D_206E_202C_200F_206A_200E_206B_200F_202D_200C_202D_206C_202D_200B_200D_202E_206E_206D_206A_202C_200B_206F_202E() - { - return ImGui.GetMousePos(); - } - - static void _202E_206E_200B_200E_202B_200B_206A_200F_200E_206E_202E_202C_200C_200D_206D_202D_200D_202B_202C_206C_200C_200C_202D_206F_206A_200F_202C_206B_200C_200F_206E_206C_200E_206A_206A_200C_202A_206F_202E_206D_202E(Vector2 P_0) - { - ImGui.SetCursorScreenPos(P_0); - } - - static bool _200F_200F_206B_200E_202C_200C_206E_206B_200F_206A_200D_206A_200C_200B_206A_200E_206F_200B_206D_202B_206D_202A_206E_202D_206C_206F_202C_206F_206E_206F_206F_206E_202A_202E_202C_206D_202E_200E_202B_200C_202E(ImU8String P_0, Vector2 P_1, ImGuiButtonFlags P_2) - { - return ImGui.InvisibleButton(P_0, P_1, P_2); - } - - static ImFontPtr _202E_200B_202A_202E_206E_202B_200D_202D_206A_202A_200B_202B_202C_202E_200C_200E_202D_202C_206C_200B_200C_200E_206F_200F_202B_202A_206F_200D_206F_202D_202E_200F_206D_202C_200E_206A_202B_200D_206E_206B_202E() - { - return UiBuilder.IconFont; - } - - static ImRaii.FontDisposable _200F_202D_200C_200C_206B_206B_200D_200F_206D_202E_202D_200D_202C_202C_200B_206D_206B_206F_206B_200D_200E_206A_206C_200D_202B_202D_202B_202D_206F_206C_202C_200F_200F_206A_202E_202B_206E_200C_202A_202A_202E(ImFontPtr P_0, bool P_1) - { - return ImRaii.PushFont(P_0, P_1); - } - - static string _200F_202C_206A_206A_206E_206F_202B_200E_200E_206A_202E_202D_200F_200C_206E_200E_202E_206D_206C_206A_200D_200F_206C_200D_206C_206E_202A_206C_200F_206C_206A_202B_206C_202C_206C_202E_200D_202E_206D_202D_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static Vector2 _202C_202B_206E_206D_200C_200B_206C_206A_202C_202B_200F_202C_202E_202E_206F_202B_200D_200B_200E_200C_206F_202E_206A_206D_206B_202C_206E_202C_206A_206C_200F_206B_206D_206F_200D_202A_202B_206E_206A_206E_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static void _200B_200F_206D_206E_200F_206E_206F_200D_206D_202A_202B_200B_206A_202A_206E_200F_202D_206D_200F_200E_206F_202E_200F_200F_206F_206A_200C_200B_200B_200D_200D_202C_200F_202A_206F_202E_202A_206F_202C_202C_202E(float P_0) - { - ImGui.SetCursorPosX(P_0); - } - - static float _206A_202D_206A_206F_200F_206B_200C_200F_200B_200D_200F_200C_206B_206F_206F_206C_202A_202B_202D_200D_202B_200C_202E_200E_202E_200B_202B_200D_206B_200E_200D_206E_206A_200B_206F_200D_206C_202D_206E_206D_202E() - { - return ImGui.GetFontSize(); - } - - static void _200C_202A_206E_206B_206B_206F_206F_206D_202B_202C_200D_206C_202B_202A_200B_206E_206F_202C_202D_206B_202D_206F_206B_206C_206C_202E_202E_202A_202A_206E_202E_206B_206D_202C_200C_202E_202B_202A_202A_202A_202E(ImGuiStyleVar P_0, float P_1) - { - ImGui.PushStyleVar(P_0, P_1); - } - - static void _200C_202C_200B_206B_202C_200D_206A_206F_200F_206B_206E_206F_202C_202C_200F_206C_200B_202B_206F_200D_202C_206C_206F_206F_200C_206B_206D_202D_200B_200D_202A_206C_200D_200C_200C_202E_200E_200E_202A_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static void _200C_202C_206C_202D_202A_200F_206C_200B_202C_200C_206C_200B_202D_206D_202D_206C_200E_206D_206E_206D_200B_200D_200C_200F_200C_202B_202D_206D_202C_206A_200D_202A_200F_200F_200F_202D_200B_200B_200E_202B_202E() - { - ImGui.PopStyleVar(); - } - - static void _202E_202E_200F_202E_200E_206B_202E_202B_206B_202A_206C_206E_206A_206A_206D_206B_200C_200C_202A_202A_200C_202C_200C_202A_202B_206F_200E_200C_206B_206C_206A_206D_202D_202D_202A_206E_202A_206E_206B_206C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static ImFontPtr _202A_202E_206F_202B_200C_202E_206F_206B_202E_200E_200C_200E_206D_206C_200C_200B_200F_200B_206B_202B_200E_206F_200C_200D_206C_202D_200C_206A_206C_206F_200F_206E_206C_200F_202B_200C_206C_202A_200F_202A_202E() - { - return UiBuilder.MonoFont; + drawList.AddRectFilledMultiColor(cursorScreenPos, pMax, colUprLeft, colUprRight, colBotRight, ImGui.ColorConvertFloat4ToU32(accentColor)); } } diff --git a/Questionable/Questionable.Windows.ConfigComponents/BlacklistConfigComponent.cs b/Questionable/Questionable.Windows.ConfigComponents/BlacklistConfigComponent.cs index 2129568..e6a1d2a 100644 --- a/Questionable/Questionable.Windows.ConfigComponents/BlacklistConfigComponent.cs +++ b/Questionable/Questionable.Windows.ConfigComponents/BlacklistConfigComponent.cs @@ -1,12 +1,9 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; using Dalamud.Interface; -using Dalamud.Interface.ManagedFontAtlas; using Dalamud.Interface.Utility.Raii; using Dalamud.Plugin; using Microsoft.Extensions.Logging; @@ -21,88 +18,6 @@ namespace Questionable.Windows.ConfigComponents; internal sealed class BlacklistConfigComponent : ConfigComponent { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__10_0; - - public static Comparison _003C_003E9__12_0; - - internal string _003CDrawTab_003Eb__10_0(ElementId x) - { - return _200B_206B_200D_202E_206E_200F_206C_200E_206E_202C_206E_206D_202A_200B_200F_206C_202C_202A_206C_202C_200D_206F_202B_202E_200F_200D_202D_200E_200E_200C_202D_200B_202A_202C_206C_206E_200C_206A_206F_202A_202E((object)x); - } - - internal int _003CGetCurrentlyAcceptedQuests_003Eb__12_0(Quest a, Quest b) - { - return _202E_202B_200C_200D_200E_206F_206D_206B_206F_200C_206E_206B_206D_206D_200D_206B_202C_206C_206E_200D_202B_206D_206F_202D_206A_206C_202E_206E_202D_202B_202D_200F_206D_202C_202C_202B_200C_200E_202C_206F_202E(a.Info.Name, b.Info.Name, StringComparison.OrdinalIgnoreCase); - } - - static string _200B_206B_200D_202E_206E_200F_206C_200E_206E_202C_206E_206D_202A_200B_200F_206C_202C_202A_206C_202C_200D_206F_202B_202E_200F_200D_202D_200E_200E_200C_202D_200B_202A_202C_206C_206E_200C_206A_206F_202A_202E(object P_0) - { - return P_0.ToString(); - } - - static int _202E_202B_200C_200D_200E_206F_206D_206B_206F_200C_206E_206B_206D_206D_200D_206B_202C_206C_206E_200D_202B_206D_206F_202D_206A_206C_202E_206E_202D_202B_202D_200F_206D_202C_202C_202B_200C_200E_202C_206F_202E(string P_0, string P_1, StringComparison P_2) - { - return string.Compare(P_0, P_1, P_2); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass9_0 - { - public Configuration configuration; - - public QuestFunctions questFunctions; - - public BlacklistConfigComponent _003C_003E4__this; - - internal bool _003C_002Ector_003Eb__0(Quest quest) - { - return !configuration.General.BlacklistedQuests.Contains(quest.Id); - } - - internal bool _003C_002Ector_003Eb__1(Quest quest) - { - int num = (_202E_206E_206C_200B_206B_200E_200C_206F_202A_200E_200F_202B_206B_202B_200C_206A_206E_200C_200C_202A_200C_202B_206E_202B_200C_200C_206A_206C_200F_206C_206A_200B_206E_206C_200D_200C_202B_200D_200D_200C_202E(quest.Root) ? (-1856463303) : (-1856463304)); - while (true) - { - int num2 = num; - int num3 = -1856463303; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return false; - case 1: - return questFunctions.IsQuestAccepted(quest.Id); - case 2: - goto IL_0061; - } - continue; - IL_0061: - num = -1856463304; - } - } - - internal void _003C_002Ector_003Eb__2(Quest quest) - { - configuration.General.BlacklistedQuests.Add(quest.Id); - _003C_003E4__this.Save(); - } - - static bool _202E_206E_206C_200B_206B_200E_200C_206F_202A_200E_200F_202B_206B_202B_200C_206A_206E_200C_200C_202A_200C_202B_206E_202B_200C_200C_206A_206C_200F_206C_206A_200B_206E_206C_200D_200C_202B_200D_200D_200C_202E(QuestRoot P_0) - { - return P_0.Disabled; - } - } - private readonly IDalamudPluginInterface _pluginInterface; private readonly QuestSelector _questSelector; @@ -133,30 +48,7 @@ internal sealed class BlacklistConfigComponent : ConfigComponent _uiUtils = uiUtils; _logger = logger; _questSelector.SuggestionPredicate = (Quest quest) => !configuration.General.BlacklistedQuests.Contains(quest.Id); - _questSelector.DefaultPredicate = delegate(Quest quest) - { - int num = (_003C_003Ec__DisplayClass9_0._202E_206E_206C_200B_206B_200E_200C_206F_202A_200E_200F_202B_206B_202B_200C_206A_206E_200C_200C_202A_200C_202B_206E_202B_200C_200C_206A_206C_200F_206C_206A_200B_206E_206C_200D_200C_202B_200D_200D_200C_202E(quest.Root) ? (-1856463303) : (-1856463304)); - while (true) - { - int num2 = num; - int num3 = -1856463303; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return false; - case 1: - return questFunctions.IsQuestAccepted(quest.Id); - case 2: - goto IL_0061; - } - continue; - IL_0061: - num = -1856463304; - } - }; + _questSelector.DefaultPredicate = (Quest quest) => !quest.Root.Disabled && questFunctions.IsQuestAccepted(quest.Id); _questSelector.QuestSelected = delegate(Quest quest) { configuration.General.BlacklistedQuests.Add(quest.Id); @@ -164,852 +56,214 @@ internal sealed class BlacklistConfigComponent : ConfigComponent }; } - [MethodImpl(MethodImplOptions.NoInlining)] public override void DrawTab() { - UiThemeUtils.SectionHeader(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(1845002601)); + UiThemeUtils.SectionHeader("Quest Blacklist"); var (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); - _202E_206F_200B_206A_200B_206B_206E_202B_206C_202C_202A_206E_202D_206C_200F_206B_200E_202E_202A_206B_206F_200E_202B_200C_202C_202B_200C_206A_206A_206F_200D_202A_206D_206C_202B_206D_206D_200E_200B_206A_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1912642219)); - _202E_206F_200B_206A_200B_206B_206E_202B_206C_202C_202A_206E_202D_206C_200F_206B_200E_202E_202A_206B_206F_200E_202B_200C_202C_202B_200C_206A_206A_206F_200D_202A_206D_206C_202B_206D_206D_200E_200B_206A_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1813484452)); + ImGui.TextWrapped("Blacklisted quests will never be automatically picked up or executed by Questionable."); + ImGui.TextWrapped("Use this to permanently skip specific quests you don't want to do."); DrawCurrentlyAcceptedQuests(); HashSet blacklistedQuests = base.Configuration.General.BlacklistedQuests; - ImU8String imU8String = new ImU8String(22, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1982980571)); - imU8String.AppendFormatted(blacklistedQuests.Count); - imU8String.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1060622796)); - _200E_200C_206B_206B_206B_206C_206B_206C_200F_206A_206A_206E_200B_206F_202A_202B_206A_200E_202B_206D_202C_200B_202B_202B_200D_206A_202D_206B_202E_200D_206C_202D_206C_202B_206B_202A_200E_200D_200D_206C_202E(imU8String); - int num; - using (ImRaii.ChildDisposable childDisposable = _206A_206C_200F_206B_206E_206C_206C_206E_202B_202C_206D_200C_206F_202E_200E_202D_206D_202D_202C_200B_206B_200C_202B_206C_200B_202A_202B_202D_202D_202B_202E_202B_206C_206B_202E_200B_202A_200D_202B_206B_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1257389053), new Vector2(-1f, 200f), true)) + ImU8String text = new ImU8String(22, 1); + text.AppendLiteral("Blacklisted Quests ("); + text.AppendFormatted(blacklistedQuests.Count); + text.AppendLiteral("):"); + ImGui.Text(text); + using (ImRaii.ChildDisposable childDisposable = ImRaii.Child("BlacklistedQuestsList", new Vector2(-1f, 200f), border: true)) { if ((bool)childDisposable) { - num = 1347863469; - (Vector4, FontAwesomeIcon, string) questStyle = default((Vector4, FontAwesomeIcon, string)); - while (true) + if (blacklistedQuests.Count > 0) { - int num2 = num; - int num3 = 1347863471; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + ElementId elementId = null; + using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable("BlacklistedQuestsTable", 2); + if ((bool)tableDisposable) { - case 0: - num = 1347863469; - break; - case 2: - if (blacklistedQuests.Count > 0) + ImGui.TableSetupColumn("Name", ImGuiTableColumnFlags.WidthStretch); + ImGui.TableSetupColumn("##Action", ImGuiTableColumnFlags.WidthFixed, 40f * ImGui.GetIO().FontGlobalScale); + foreach (ElementId item in blacklistedQuests.OrderBy((ElementId x) => x.ToString())) { - num = 1347863470; - break; - } - UiThemeUtils.EmptyState(FontAwesomeIcon.Ban, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2036588043), 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(-1594979269)); - goto end_IL_00e5; - case 1: - { - ElementId elementId = null; - using (ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(285342029), 2)) - { - if ((bool)tableDisposable) + ImGui.TableNextRow(); + ImU8String id = new ImU8String(5, 1); + id.AppendLiteral("Quest"); + id.AppendFormatted(item); + using (ImRaii.PushId(id)) { - _200C_202A_206C_206C_200D_206E_202A_202B_202D_202B_202B_202B_202E_200E_202A_200B_200B_202B_206F_202E_206C_206A_202A_200C_206B_202E_206B_206C_200F_202C_200D_200C_202A_206F_200D_200E_206A_206C_200C_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(295817554), ImGuiTableColumnFlags.WidthStretch, 0f, 0u); - _200C_202A_206C_206C_200D_206E_202A_202B_202D_202B_202B_202B_202E_200E_202A_200B_200B_202B_206F_202E_206C_206A_202A_200C_206B_202E_206B_206C_200F_202C_200D_200C_202A_206F_200D_200E_206A_206C_200C_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1334785959), ImGuiTableColumnFlags.WidthFixed, 40f * _200D_206C_202B_200E_206A_206E_206F_202D_202C_206E_200C_200C_206A_202B_206C_200E_200F_202E_206A_200B_202D_202D_200F_200F_206C_200B_206C_200F_202A_206E_202A_200C_202B_206C_202B_200E_200E_206C_200B_206A_202E().FontGlobalScale, 0u); - IEnumerator enumerator = blacklistedQuests.OrderBy((ElementId x) => _003C_003Ec._200B_206B_200D_202E_206E_200F_206C_200E_206E_202C_206E_206D_202A_200B_200F_206C_202C_202A_206C_202C_200D_206F_202B_202E_200F_200D_202D_200E_200E_200C_202D_200B_202A_202C_206C_206E_200C_206A_206F_202A_202E((object)x)).GetEnumerator(); - try + if (!_questRegistry.TryGetQuest(item, out Quest quest)) { - while (_206A_206A_202E_200F_200D_202E_206B_202D_206A_206E_202C_206A_202E_202D_206E_200F_200F_202B_200C_206D_206D_202D_202D_200E_200E_206A_202D_200B_206B_202D_206C_202C_206C_206A_202B_200D_206B_206D_206C_206F_202E((IEnumerator)enumerator)) + if (ImGui.TableNextColumn()) { - ElementId current = enumerator.Current; - _202C_206B_200B_200E_206C_200C_206D_202E_202B_206A_202E_206C_202B_200D_202C_200D_200D_200D_206E_200D_206F_206A_206C_200E_206D_200F_202B_200B_200B_206C_206A_200B_200D_202E_202B_206C_206D_200C_200E_202C_202E(); - ImU8String imU8String2 = new ImU8String(5, 1); - imU8String2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(345110125)); - imU8String2.AppendFormatted(current); - ImRaii.IdDisposable idDisposable = _200C_200F_200B_202C_206D_200D_206B_202E_200B_202C_202D_202C_200B_202B_202A_202C_202C_202D_206F_202C_200D_200E_200F_202C_202E_206F_206C_206B_200B_200F_202C_206E_202E_202A_202E_200F_200B_202A_202C_200D_202E(imU8String2, true); - try - { - num = (_questRegistry.TryGetQuest(current, out Quest quest) ? 889101348 : 889101353); - while (true) - { - int num7 = num; - num3 = 889101356; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 4: - num = 889101353; - break; - case 0: - { - _202C_206E_206A_206F_200B_206A_202D_200E_206A_202E_202E_202E_202B_200B_206B_206B_206E_206E_200D_200D_206F_200B_202D_200E_206B_200E_206A_206C_200C_206F_200F_200D_202A_200D_200C_206E_200C_200B_202C_206A_202E(); - ImU8String imU8String3 = new ImU8String(16, 1); - imU8String3.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(76120943)); - imU8String3.AppendFormatted(current); - imU8String3.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321)); - _202D_200E_200F_202D_200B_206C_206E_202C_206B_202E_202A_202A_202D_206B_202D_202B_202B_206C_200E_206E_202C_200E_200D_202E_200C_200D_200C_206E_206E_202B_200F_200D_202A_200F_202D_206B_200E_200C_202A_202B_202E(ref UiThemeUtils.DimTextColor, imU8String3); - num = 889101354; - break; - } - case 1: - elementId = current; - num = 889101358; - break; - case 8: - questStyle = _uiUtils.GetQuestStyle(current); - if (_202C_202A_206F_206A_206E_206E_202D_200D_200B_200B_202B_200D_200B_200E_206B_206B_202B_202D_202E_206F_206D_206F_206A_200E_202E_202E_202E_200E_206D_202B_200E_200B_206A_202E_206F_200E_200F_200F_202C_202E()) - { - num = 889101359; - break; - } - goto IL_0549; - case 7: - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Times, _206A_202E_200C_202A_206F_200C_202E_202C_206F_206E_200D_200E_202B_200F_206A_206D_206F_206B_202C_202C_200E_200B_202E_200E_202A_206B_200D_206F_202D_200C_202B_206B_206E_200B_206F_206C_202C_200F_200E_206C_202E())) ? 889101358 : 889101357); - break; - case 2: - goto end_IL_023a; - case 6: - num = ((!_202C_202A_206F_206A_206E_206E_202D_200D_200B_200B_202B_200D_200B_200E_206B_206B_202B_202D_202E_206F_206D_206F_206A_200E_202E_202E_202E_200E_206D_202B_200E_200B_206A_202E_206F_200E_200F_200F_202C_202E()) ? 889101358 : 889101355); - break; - case 5: - num = ((!_202C_202A_206F_206A_206E_206E_202D_200D_200B_200B_202B_200D_200B_200E_206B_206B_202B_202D_202E_206F_206D_206F_206A_200E_202E_202E_202E_200E_206D_202B_200E_200B_206A_202E_206F_200E_200F_200F_202C_202E()) ? 889101354 : 889101356); - break; - case 3: - { - IDisposable disposable = _202E_206D_200F_206D_202A_202D_202B_202D_200C_202B_206A_200C_200D_202D_202D_200E_202C_206E_200D_202D_202B_202E_200B_202B_200F_206B_206A_206D_206B_206C_206F_200C_202C_200D_206D_202B_200E_206E_206D_206D_202E(_200D_202C_206A_206F_202D_202A_206C_202D_200B_202D_206C_202B_202D_202B_200B_206A_206E_200F_202D_206B_200F_200F_206C_206F_200D_200E_202B_200C_206F_206D_202B_206F_200C_202A_202D_206C_202D_200C_206A_200F_202E(_200D_200C_206A_200B_200F_202D_206C_206D_206D_200D_202A_202C_206F_206D_206A_200E_202E_202B_206E_202A_206B_200E_206C_200F_202E_200E_206D_202D_206F_200D_202C_202C_200F_206D_206D_206F_202D_200F_200E_202B_202E(_pluginInterface))); - bool flag; - try - { - _202C_206E_206A_206F_200B_206A_202D_200E_206A_202E_202E_202E_202B_200B_206B_206B_206E_206E_200D_200D_206F_200B_202D_200E_206B_200E_206A_206C_200C_206F_200F_200D_202A_200D_200C_206E_200C_200B_202C_206A_202E(); - _202D_200E_200F_202D_200B_206C_206E_202C_206B_202E_202A_202A_202D_206B_202D_202B_202B_206C_200E_206E_202C_200E_200D_202E_200C_200D_200C_206E_206E_202B_200F_200D_202A_200F_202D_206B_200E_200C_202A_202B_202E(ref questStyle.Item1, (ImU8String)_202C_202A_206B_206B_202D_200B_206E_202C_202D_206D_206E_200C_202C_206E_206B_202A_200B_206D_206F_206B_206F_200E_206F_202D_200B_206D_200F_206C_206D_206A_206E_202B_206F_202D_200B_202A_200D_200F_200E_206F_202E(questStyle.Item2)); - flag = _200F_202B_200B_200C_200C_202A_200F_206B_206B_200D_202A_206E_206A_202B_206A_200B_206E_202D_200E_206E_200B_200D_200B_200C_206D_202C_200D_206A_206B_206D_200C_206B_206D_206F_202A_206E_206D_206D_202D_200C_202E(); - } - finally - { - num = ((disposable == null) ? (-2134770209) : (-2134770210)); - while (true) - { - int num10 = num; - num3 = -2134770209; - num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto end_IL_03f8; - case 1: - _202B_206F_202A_206C_202E_202C_206E_202B_206B_200C_200C_202B_200B_206A_200B_206E_202D_202D_202B_206E_206B_206B_200F_202D_202C_200B_200D_202D_206C_200E_200C_202D_206C_206B_206F_202D_200F_206A_200F_206F_202E(disposable); - num = -2134770209; - break; - case 2: - num = -2134770210; - break; - } - continue; - end_IL_03f8: - break; - } - } - _202B_202B_200F_206F_200C_206B_202B_202E_200B_202B_206A_200E_206B_206E_202C_206C_206A_200E_206D_206E_202C_206E_202C_206C_200D_206A_200D_202C_202A_200F_202B_206D_206A_206E_200F_206A_200C_200C_200B_200D_202E(); - _202C_206E_206A_206F_200B_206A_202D_200E_206A_202E_202E_202E_202B_200B_206B_206B_206E_206E_200D_200D_206F_200B_202D_200E_206B_200E_206A_206C_200C_206F_200F_200D_202A_200D_200C_206E_200C_200B_202C_206A_202E(); - UiThemeUtils.RowLabel(quest.Info.Name, 0f); - flag |= _200F_202B_200B_200C_200C_202A_200F_206B_206B_200D_202A_206E_206A_202B_206A_200B_206E_202D_200E_206E_200B_200D_200B_200C_206D_202C_200D_206A_206B_206D_200C_206B_206D_206F_202A_206E_206D_206D_202D_200C_202E(); - num = ((!flag) ? (-258902819) : (-258902824)); - goto IL_048d; - } - IL_048d: - while (true) - { - int num11 = num; - num3 = -258902820; - num4 = num11; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 7: - elementId = current; - num = -258902817; - continue; - case 4: - _questTooltipComponent.Draw(quest.Info); - num = -258902819; - continue; - case 0: - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Times, _206A_202E_200C_202A_206F_200C_202E_202C_206F_206E_200D_200E_202B_200F_206A_206D_206F_206B_202C_202C_200E_200B_202E_200E_202A_206B_200D_206F_202D_200C_202B_206B_206E_200B_206F_206C_202C_200F_200E_206C_202E())) ? (-258902817) : (-258902821)); - continue; - case 3: - num = ((!_200F_202B_200B_200C_200C_202A_200F_206B_206B_200D_202A_206E_206A_202B_206A_200B_206E_202D_200E_206E_200B_200D_200B_200C_206D_202C_200D_206A_206B_206D_200C_206B_206D_206F_202A_206E_206D_206D_202D_200C_202E()) ? (-258902818) : (-258902823)); - continue; - case 1: - break; - case 5: - _202A_200B_202B_200B_200C_200F_202D_206A_206C_200F_202B_200F_200C_206A_200E_202C_200C_200F_200B_202A_206C_206F_200F_202C_202D_202D_206D_206B_202E_200B_202B_206D_206F_202B_206E_206C_206F_200F_202D_206E_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(368026266)); - num = -258902818; - continue; - case 6: - num = -258902824; - continue; - case 2: - goto end_IL_048d; - } - goto IL_0549; - continue; - end_IL_048d: - break; - } - goto end_IL_023a; - IL_0549: - num = ((!_202C_202A_206F_206A_206E_206E_202D_200D_200B_200B_202B_200D_200B_200E_206B_206B_202B_202D_202E_206F_206D_206F_206A_200E_202E_202E_202E_200E_206D_202B_200E_200B_206A_202E_206F_200E_200F_200F_202C_202E()) ? (-258902818) : (-258902820)); - goto IL_048d; - } - continue; - end_IL_023a: - break; - } - } - finally - { - num = ((idDisposable == null) ? (-1239290043) : (-1239290042)); - while (true) - { - int num12 = num; - num3 = -1239290041; - num4 = num12; - int num13 = num4 + num3; - int num14 = num4 & num3; - switch (num13 - (num14 + num14)) - { - case 2: - goto end_IL_05bb; - case 1: - _202B_206F_202A_206C_202E_202C_206E_202B_206B_200C_200C_202B_200B_206A_200B_206E_202D_202D_202B_206E_206B_206B_200F_202D_202C_200B_200D_202D_206C_200E_200C_202D_206C_206B_206F_202D_200F_206A_200F_206F_202E((IDisposable)idDisposable); - num = -1239290043; - break; - case 0: - num = -1239290042; - break; - } - continue; - end_IL_05bb: - break; - } - } + ImGui.AlignTextToFramePadding(); + ImU8String text2 = new ImU8String(16, 1); + text2.AppendLiteral("Unknown Quest ("); + text2.AppendFormatted(item); + text2.AppendLiteral(")"); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text2); + } + if (ImGui.TableNextColumn() && UiThemeUtils.IconButton(FontAwesomeIcon.Times, ImGui.GetFrameHeight())) + { + elementId = item; + } + continue; + } + (Vector4, FontAwesomeIcon, string) questStyle = _uiUtils.GetQuestStyle(item); + if (ImGui.TableNextColumn()) + { + bool flag; + using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push()) + { + ImGui.AlignTextToFramePadding(); + ImGui.TextColored(in questStyle.Item1, questStyle.Item2.ToIconString()); + flag = ImGui.IsItemHovered(); + } + ImGui.SameLine(); + ImGui.AlignTextToFramePadding(); + UiThemeUtils.RowLabel(quest.Info.Name, 0f); + flag |= ImGui.IsItemHovered(); + if (flag) + { + _questTooltipComponent.Draw(quest.Info); } } - finally + if (ImGui.TableNextColumn()) { - num = ((enumerator == null) ? 1685900293 : 1685900294); - while (true) + if (UiThemeUtils.IconButton(FontAwesomeIcon.Times, ImGui.GetFrameHeight())) { - int num15 = num; - num3 = 1685900295; - num4 = num15; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_0639; - case 1: - _202B_206F_202A_206C_202E_202C_206E_202B_206B_200C_200C_202B_200B_206A_200B_206E_202D_202D_202B_206E_206B_206B_200F_202D_202C_200B_200D_202D_206C_200E_200C_202D_206C_206B_206F_202D_200F_206A_200F_206F_202E((IDisposable)enumerator); - num = 1685900293; - break; - case 0: - num = 1685900294; - break; - } - continue; - end_IL_0639: - break; + elementId = item; + } + if (ImGui.IsItemHovered()) + { + ImGui.SetTooltip("Remove from blacklist"); } } } - num = ((!_202E_202C_200E_206B_206B_206F_206A_200E_202B_206A_202B_206E_202D_202C_202D_200F_202B_200E_202D_200B_206D_202C_202B_206E_202D_206B_200C_206B_200F_202A_200D_202C_206D_206E_206B_200D_206C_206A_202E_206F_202E(elementId, (ElementId)null)) ? 1144232112 : 1144232113); - while (true) - { - int num16 = num; - num3 = 1144232112; - num4 = num16; - int num17 = num4 + num3; - int num18 = num4 & num3; - switch (num17 - (num18 + num18)) - { - case 2: - num = 1144232113; - break; - case 1: - base.Configuration.General.BlacklistedQuests.Remove(elementId); - Save(); - num = 1144232112; - break; - case 0: - goto end_IL_06aa; - } - continue; - end_IL_06aa: - break; - } } - goto end_IL_00e5; } + if (elementId != null) + { + base.Configuration.General.BlacklistedQuests.Remove(elementId); + Save(); } - continue; - end_IL_00e5: - break; + } + else + { + UiThemeUtils.EmptyState(FontAwesomeIcon.Ban, "No quests blacklisted", "Use the dropdown above or add from currently accepted quests"); } } } _questSelector.DrawSelection(); - num = ((blacklistedQuests.Count <= 0) ? (-192150721) : (-192150722)); - while (true) + if (blacklistedQuests.Count > 0 && UiThemeUtils.DestructiveButton(FontAwesomeIcon.Trash, "Clear all")) { - int num19 = num; - int num3 = -192150723; - int num4 = num19; - int num20 = num4 + num3; - int num21 = num4 & num3; - switch (num20 - (num21 + num21)) - { - case 0: - num = -192150722; - break; - case 1: - base.Configuration.General.BlacklistedQuests.Clear(); - Save(); - num = -192150721; - break; - case 2: - UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); - return; - case 3: - num = ((!UiThemeUtils.DestructiveButton(FontAwesomeIcon.Trash, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-629121547))) ? (-192150721) : (-192150724)); - break; - } + base.Configuration.General.BlacklistedQuests.Clear(); + Save(); } + UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawCurrentlyAcceptedQuests() { List currentlyAcceptedQuests = GetCurrentlyAcceptedQuests(); - _200E_200C_206B_206B_206B_206C_206B_206C_200F_206A_206A_206E_200B_206F_202A_202B_206A_200E_202B_206D_202C_200B_202B_202B_200D_206A_202D_206B_202E_200D_206C_202D_206C_202B_206B_202A_200E_200D_200D_206C_202E((ImU8String)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(-1422852424)); - using (ImRaii.ChildDisposable childDisposable = _206A_206C_200F_206B_206E_206C_206C_206E_202B_202C_206D_200C_206F_202E_200E_202D_206D_202D_202C_200B_206B_200C_202B_206C_200B_202A_202B_202D_202D_202B_202E_202B_206C_206B_202E_200B_202A_200D_202B_206B_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-985352135), new Vector2(-1f, 100f), true)) + ImGui.Text("Currently Accepted Quests:"); + using (ImRaii.ChildDisposable childDisposable = ImRaii.Child("AcceptedQuestsList", new Vector2(-1f, 100f), border: true)) { if ((bool)childDisposable) { - int num = -1956510770; - bool flag2 = default(bool); - while (true) + if (currentlyAcceptedQuests.Count > 0) { - int num2 = num; - int num3 = -1956510769; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable("AcceptedQuestsTable", 2); + if ((bool)tableDisposable) { - case 2: - num = -1956510770; - break; - case 1: - if (currentlyAcceptedQuests.Count > 0) + ImGui.TableSetupColumn("Name", ImGuiTableColumnFlags.WidthStretch); + ImGui.TableSetupColumn("##Action", ImGuiTableColumnFlags.WidthFixed, 40f * ImGui.GetIO().FontGlobalScale); + foreach (Quest item in currentlyAcceptedQuests) { - num = -1956510769; - break; - } - UiThemeUtils.EmptyState(FontAwesomeIcon.BookOpen, 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(2044011202)); - goto end_IL_0057; - case 0: - { - using (ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable(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(929260577), 2)) - { - if (!(bool)tableDisposable) + ImGui.TableNextRow(); + ImU8String id = new ImU8String(13, 1); + id.AppendLiteral("AcceptedQuest"); + id.AppendFormatted(item.Id); + using (ImRaii.PushId(id)) { - goto end_IL_0057; - } - _200C_202A_206C_206C_200D_206E_202A_202B_202D_202B_202B_202B_202E_200E_202A_200B_200B_202B_206F_202E_206C_206A_202A_200C_206B_202E_206B_206C_200F_202C_200D_200C_202A_206F_200D_200E_206A_206C_200C_202E((ImU8String)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(-2012877671), ImGuiTableColumnFlags.WidthStretch, 0f, 0u); - _200C_202A_206C_206C_200D_206E_202A_202B_202D_202B_202B_202B_202E_200E_202A_200B_200B_202B_206F_202E_206C_206A_202A_200C_206B_202E_206B_206C_200F_202C_200D_200C_202A_206F_200D_200E_206A_206C_200C_202E((ImU8String)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(1290170824), ImGuiTableColumnFlags.WidthFixed, 40f * _200D_206C_202B_200E_206A_206E_206F_202D_202C_206E_200C_200C_206A_202B_206C_200E_200F_202E_206A_200B_202D_202D_200F_200F_206C_200B_206C_200F_202A_206E_202A_200C_202B_206C_202B_200E_200E_206C_200B_206A_202E().FontGlobalScale, 0u); - foreach (Quest item in currentlyAcceptedQuests) - { - _202C_206B_200B_200E_206C_200C_206D_202E_202B_206A_202E_206C_202B_200D_202C_200D_200D_200D_206E_200D_206F_206A_206C_200E_206D_200F_202B_200B_200B_206C_206A_200B_200D_202E_202B_206C_206D_200C_200E_202C_202E(); - ImU8String imU8String = new ImU8String(13, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1920255216)); - imU8String.AppendFormatted(item.Id); - ImRaii.IdDisposable idDisposable = _200C_200F_200B_202C_206D_200D_206B_202E_200B_202C_202D_202C_200B_202B_202A_202C_202C_202D_206F_202C_200D_200E_200F_202C_202E_206F_206C_206B_200B_200F_202C_206E_202E_202A_202E_200F_200B_202A_202C_200D_202E(imU8String, true); - try + (Vector4, FontAwesomeIcon, string) questStyle = _uiUtils.GetQuestStyle(item.Id); + bool flag = base.Configuration.General.BlacklistedQuests.Contains(item.Id); + if (ImGui.TableNextColumn()) { - (Vector4, FontAwesomeIcon, string) questStyle = _uiUtils.GetQuestStyle(item.Id); - bool flag = base.Configuration.General.BlacklistedQuests.Contains(item.Id); - if (_202C_202A_206F_206A_206E_206E_202D_200D_200B_200B_202B_200D_200B_200E_206B_206B_202B_202D_202E_206F_206D_206F_206A_200E_202E_202E_202E_200E_206D_202B_200E_200B_206A_202E_206F_200E_200F_200F_202C_202E()) + bool flag2; + using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push()) { - IDisposable disposable = _202E_206D_200F_206D_202A_202D_202B_202D_200C_202B_206A_200C_200D_202D_202D_200E_202C_206E_200D_202D_202B_202E_200B_202B_200F_206B_206A_206D_206B_206C_206F_200C_202C_200D_206D_202B_200E_206E_206D_206D_202E(_200D_202C_206A_206F_202D_202A_206C_202D_200B_202D_206C_202B_202D_202B_200B_206A_206E_200F_202D_206B_200F_200F_206C_206F_200D_200E_202B_200C_206F_206D_202B_206F_200C_202A_202D_206C_202D_200C_206A_200F_202E(_200D_200C_206A_200B_200F_202D_206C_206D_206D_200D_202A_202C_206F_206D_206A_200E_202E_202B_206E_202A_206B_200E_206C_200F_202E_200E_206D_202D_206F_200D_202C_202C_200F_206D_206D_206F_202D_200F_200E_202B_202E(_pluginInterface))); - try - { - _202C_206E_206A_206F_200B_206A_202D_200E_206A_202E_202E_202E_202B_200B_206B_206B_206E_206E_200D_200D_206F_200B_202D_200E_206B_200E_206A_206C_200C_206F_200F_200D_202A_200D_200C_206E_200C_200B_202C_206A_202E(); - num = (flag ? 1132065903 : 1132065900); - Vector4 vector; - while (true) - { - int num5 = num; - num3 = 1132065902; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 0: - goto IL_01fa; - case 2: - vector = questStyle.Item1; - break; - case 1: - vector = UiThemeUtils.MutedTextColor; - break; - } - break; - IL_01fa: - num = 1132065900; - } - Vector4 vector2 = vector; - _202D_200E_200F_202D_200B_206C_206E_202C_206B_202E_202A_202A_202D_206B_202D_202B_202B_206C_200E_206E_202C_200E_200D_202E_200C_200D_200C_206E_206E_202B_200F_200D_202A_200F_202D_206B_200E_200C_202A_202B_202E(ref vector2, (ImU8String)_202C_202A_206B_206B_202D_200B_206E_202C_202D_206D_206E_200C_202C_206E_206B_202A_200B_206D_206F_206B_206F_200E_206F_202D_200B_206D_200F_206C_206D_206A_206E_202B_206F_202D_200B_202A_200D_200F_200E_206F_202E(questStyle.Item2)); - flag2 = _200F_202B_200B_200C_200C_202A_200F_206B_206B_200D_202A_206E_206A_202B_206A_200B_206E_202D_200E_206E_200B_200D_200B_200C_206D_202C_200D_206A_206B_206D_200C_206B_206D_206F_202A_206E_206D_206D_202D_200C_202E(); - } - finally - { - num = ((disposable == null) ? 869555062 : 869555061); - while (true) - { - int num6 = num; - num3 = 869555060; - num4 = num6; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_0268; - case 1: - _202B_206F_202A_206C_202E_202C_206E_202B_206B_200C_200C_202B_200B_206A_200B_206E_202D_202D_202B_206E_206B_206B_200F_202D_202C_200B_200D_202D_206C_200E_200C_202D_206C_206B_206F_202D_200F_206A_200F_206F_202E(disposable); - num = 869555062; - break; - case 0: - num = 869555061; - break; - } - continue; - end_IL_0268: - break; - } - } - _202B_202B_200F_206F_200C_206B_202B_202E_200B_202B_206A_200E_206B_206E_202C_206C_206A_200E_206D_206E_202C_206E_202C_206C_200D_206A_200D_202C_202A_200F_202B_206D_206A_206E_200F_206A_200C_200C_200B_200D_202E(); - _202C_206E_206A_206F_200B_206A_202D_200E_206A_202E_202E_202E_202B_200B_206B_206B_206E_206E_200D_200D_206F_200B_202D_200E_206B_200E_206A_206C_200C_206F_200F_200D_202A_200D_200C_206E_200C_200B_202C_206A_202E(); - num = ((!flag) ? (-1825666612) : (-1825666614)); - goto IL_02dd; + ImGui.AlignTextToFramePadding(); + ImGui.TextColored(flag ? UiThemeUtils.MutedTextColor : questStyle.Item1, questStyle.Item2.ToIconString()); + flag2 = ImGui.IsItemHovered(); } - goto IL_0327; - IL_0327: - if (_202C_202A_206F_206A_206E_206E_202D_200D_200B_200B_202B_200D_200B_200E_206B_206B_202B_202D_202E_206F_206D_206F_206A_200E_202E_202E_202E_200E_206D_202B_200E_200B_206A_202E_206F_200E_200F_200F_202C_202E()) + ImGui.SameLine(); + ImGui.AlignTextToFramePadding(); + if (flag) { - num = -1825666609; - goto IL_02dd; + UiThemeUtils.RowLabel(item.Info.Name, 0f, UiThemeUtils.DimTextColor); } - goto end_IL_0157; - IL_02dd: - while (true) + else { - int num7 = num; - num3 = -1825666609; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - default: - continue; - case 6: - num = -1825666614; - continue; - case 2: - break; - case 1: - flag2 |= _200F_202B_200B_200C_200C_202A_200F_206B_206B_200D_202A_206E_206A_202B_206A_200B_206E_202D_200E_206E_200B_200D_200B_200C_206D_202C_200D_206A_206B_206D_200C_206B_206D_206F_202A_206E_206D_206D_202D_200C_202E(); - num = ((!flag2) ? (-1825666611) : (-1825666613)); - continue; - case 3: - UiThemeUtils.RowLabel(item.Info.Name, 0f); - num = -1825666610; - continue; - case 5: - UiThemeUtils.RowLabel(item.Info.Name, 0f, UiThemeUtils.DimTextColor); - num = -1825666610; - continue; - case 4: - _questTooltipComponent.Draw(item.Info); - num = -1825666611; - continue; - case 0: - { - ImRaii.DisabledDisposable disabledDisposable = _206D_202C_202C_202C_200C_200F_206B_206A_202B_206F_206F_202B_202E_206F_206D_200E_200E_206B_206C_202C_202B_200B_206D_206D_200D_206D_202A_200D_206D_206B_206C_206F_202E_202E_202D_202A_202B_200D_202E_202D_202E(flag); - try - { - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Ban, _206A_202E_200C_202A_206F_200C_202E_202C_206F_206E_200D_200E_202B_200F_206A_206D_206F_206B_202C_202C_200E_200B_202E_200E_202A_206B_200D_206F_202D_200C_202B_206B_206E_200B_206F_206C_202C_200F_200E_206C_202E())) ? 1915449733 : 1915449734); - while (true) - { - int num10 = num; - num3 = 1915449732; - num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - case 0: - num = 1915449734; - break; - case 2: - base.Configuration.General.BlacklistedQuests.Add(item.Id); - Save(); - num = 1915449733; - break; - case 1: - goto end_IL_0402; - } - continue; - end_IL_0402: - break; - } - } - finally - { - num = ((disabledDisposable == null) ? 1331263650 : 1331263649); - while (true) - { - int num13 = num; - num3 = 1331263648; - num4 = num13; - int num14 = num4 + num3; - int num15 = num4 & num3; - switch (num14 - (num15 + num15)) - { - case 0: - num = 1331263649; - break; - case 2: - goto end_IL_048f; - case 1: - _202B_206F_202A_206C_202E_202C_206E_202B_206B_200C_200C_202B_200B_206A_200B_206E_202D_202D_202B_206E_206B_206B_200F_202D_202C_200B_200D_202D_206C_200E_200C_202D_206C_206B_206F_202D_200F_206A_200F_206F_202E((IDisposable)disabledDisposable); - num = 1331263650; - break; - } - continue; - end_IL_048f: - break; - } - } - num = ((!_206F_206F_206E_202E_206C_202B_200F_202A_202E_200F_202C_202A_206D_206B_200E_200B_200F_200D_206F_200B_200D_200E_200B_202E_200D_200E_200C_206A_200B_200E_200F_202D_200E_200F_200D_206E_206D_206A_206F_202C_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? (-1781701479) : (-1781701478)); - while (true) - { - int num16 = num; - num3 = -1781701480; - num4 = num16; - int num17 = num4 + num3; - int num18 = num4 & num3; - string text; - switch (num17 - (num18 + num18)) - { - case 3: - text = 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(-1464111886); - goto IL_055f; - case 4: - text = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(340412450); - goto IL_055f; - case 0: - num = -1781701478; - break; - case 2: - num = (flag ? (-1781701476) : (-1781701477)); - break; - case 1: - goto end_IL_0504; - IL_055f: - _202A_200B_202B_200B_200C_200F_202D_206A_206C_200F_202B_200F_200C_206A_200E_202C_200C_200F_200B_202A_206C_206F_200F_202C_202D_202D_206D_206B_202E_200B_202B_206D_206F_202B_206E_206C_206F_200F_202D_206E_202E((ImU8String)text); - num = -1781701479; - break; - } - continue; - end_IL_0504: - break; - } - goto end_IL_02dd; - } - } - goto IL_0327; - continue; - end_IL_02dd: - break; + UiThemeUtils.RowLabel(item.Info.Name, 0f); + } + flag2 |= ImGui.IsItemHovered(); + if (flag2) + { + _questTooltipComponent.Draw(item.Info); } - end_IL_0157:; } - finally + if (!ImGui.TableNextColumn()) { - num = ((idDisposable == null) ? (-466146924) : (-466146921)); - while (true) + continue; + } + using (ImRaii.Disabled(flag)) + { + if (UiThemeUtils.IconButton(FontAwesomeIcon.Ban, ImGui.GetFrameHeight())) { - int num19 = num; - num3 = -466146923; - num4 = num19; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -466146921; - break; - case 2: - _202B_206F_202A_206C_202E_202C_206E_202B_206B_200C_200C_202B_200B_206A_200B_206E_202D_202D_202B_206E_206B_206B_200F_202D_202C_200B_200D_202D_206C_200E_200C_202D_206C_206B_206F_202D_200F_206A_200F_206F_202E((IDisposable)idDisposable); - num = -466146924; - break; - case 1: - goto end_IL_05c4; - } - continue; - end_IL_05c4: - break; + base.Configuration.General.BlacklistedQuests.Add(item.Id); + Save(); } } + if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) + { + ImGui.SetTooltip(flag ? "Quest already blacklisted" : "Add this quest to blacklist"); + } } } - goto end_IL_0057; } - } - continue; - end_IL_0057: - break; + } + else + { + UiThemeUtils.EmptyState(FontAwesomeIcon.BookOpen, "No quests currently accepted"); } } } - _202E_200F_202E_206C_202A_206D_206D_200F_200C_206F_200B_206F_202A_200C_206C_206D_200D_202E_200E_202D_200C_206A_202B_206F_206C_206A_202C_206F_206C_202C_200E_202C_200D_202E_202D_200C_206C_200D_206A_202B_202E(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private List GetCurrentlyAcceptedQuests() - { - int num = ((_202A_206C_206E_206C_202B_202C_206C_206D_202E_200E_206F_206B_200E_200F_202B_200B_206B_206C_202A_206A_202E_206E_206D_206D_202E_206D_206A_202B_202E_206B_200B_200D_202C_200E_200C_206B_200F_202C_206E_202A_202E() >= _nextAcceptedQuestsRefreshMs) ? 1772221031 : 1772221028); - Quest current = default(Quest); - while (true) - { - int num2 = num; - int num3 = 1772221029; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0056; - case 1: - return _acceptedQuestsCache; - case 2: - { - _nextAcceptedQuestsRefreshMs = _202A_206C_206E_206C_202B_202C_206C_206D_202E_200E_206F_206B_200E_200F_202B_200B_206B_206C_202A_206A_202E_206E_206D_206D_202E_206D_206A_202B_202E_206B_200B_200D_202C_200E_200C_206B_200F_202C_206E_202A_202E() + 1000; - List list = new List(); - try - { - IEnumerator enumerator = _questRegistry.AllQuests.GetEnumerator(); - try - { - num = 1659113913; - while (true) - { - int num7 = num; - num3 = 1659113914; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1659113913; - break; - case 1: - current = enumerator.Current; - num = ((!_questFunctions.IsQuestAccepted(current.Id)) ? 1659113913 : 1659113914); - break; - case 0: - list.Add(current); - num = 1659113913; - break; - case 3: - num = (_206A_206A_202E_200F_200D_202E_206B_202D_206A_206E_202C_206A_202E_202D_206E_200F_200F_202B_200C_206D_206D_202D_202D_200E_200E_206A_202D_200B_206B_202D_206C_202C_206C_206A_202B_200D_206B_206D_206C_206F_202E((IEnumerator)enumerator) ? 1659113915 : 1659113918); - break; - case 4: - goto end_IL_009e; - } - continue; - end_IL_009e: - break; - } - } - finally - { - num = ((enumerator == null) ? 1357981513 : 1357981512); - while (true) - { - int num8 = num; - num3 = 1357981513; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 2: - num = 1357981512; - break; - case 0: - goto end_IL_016c; - case 1: - _202B_206F_202A_206C_202E_202C_206E_202B_206B_200C_200C_202B_200B_206A_200B_206E_202D_202D_202B_206E_206B_206B_200F_202D_202C_200B_200D_202D_206C_200E_200C_202D_206C_206B_206F_202D_200F_206A_200F_206F_202E((IDisposable)enumerator); - num = 1357981513; - break; - } - continue; - end_IL_016c: - break; - } - } - list.Sort((Quest a, Quest b) => _003C_003Ec._202E_202B_200C_200D_200E_206F_206D_206B_206F_200C_206E_206B_206D_206D_200D_206B_202C_206C_206E_200D_202B_206D_206F_202D_206A_206C_202E_206E_202D_202B_202D_200F_206D_202C_202C_202B_200C_200E_202C_206F_202E(a.Info.Name, b.Info.Name, StringComparison.OrdinalIgnoreCase)); - } - catch (Exception ex) - { - _206B_200F_200C_200E_200E_206E_200E_206C_206D_206C_200F_200B_200D_202E_206F_206D_202D_206B_200B_206C_206E_200E_206A_202A_200B_202A_200D_202D_206D_202D_202E_202C_206B_202D_206A_206B_202A_200F_200E_202C_202E((ILogger)_logger, ex, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-771414447), Array.Empty()); - list.Clear(); - } - _acceptedQuestsCache = list; - return list; - } - } - continue; - IL_0056: - num = 1772221028; - } - } - - static void _202E_206F_200B_206A_200B_206B_206E_202B_206C_202C_202A_206E_202D_206C_200F_206B_200E_202E_202A_206B_206F_200E_202B_200C_202C_202B_200C_206A_206A_206F_200D_202A_206D_206C_202B_206D_206D_200E_200B_206A_202E(ImU8String P_0) - { - ImGui.TextWrapped(P_0); - } - - static void _200E_200C_206B_206B_206B_206C_206B_206C_200F_206A_206A_206E_200B_206F_202A_202B_206A_200E_202B_206D_202C_200B_202B_202B_200D_206A_202D_206B_202E_200D_206C_202D_206C_202B_206B_202A_200E_200D_200D_206C_202E(ImU8String P_0) - { - ImGui.Text(P_0); - } - - static ImRaii.ChildDisposable _206A_206C_200F_206B_206E_206C_206C_206E_202B_202C_206D_200C_206F_202E_200E_202D_206D_202D_202C_200B_206B_200C_202B_206C_200B_202A_202B_202D_202D_202B_202E_202B_206C_206B_202E_200B_202A_200D_202B_206B_202E(ImU8String P_0, Vector2 P_1, bool P_2) - { - return ImRaii.Child(P_0, P_1, P_2); - } - - static void _200C_202A_206C_206C_200D_206E_202A_202B_202D_202B_202B_202B_202E_200E_202A_200B_200B_202B_206F_202E_206C_206A_202A_200C_206B_202E_206B_206C_200F_202C_200D_200C_202A_206F_200D_200E_206A_206C_200C_202E(ImU8String P_0, ImGuiTableColumnFlags P_1, float P_2, uint P_3) - { - ImGui.TableSetupColumn(P_0, P_1, P_2, P_3); - } - - static ImGuiIOPtr _200D_206C_202B_200E_206A_206E_206F_202D_202C_206E_200C_200C_206A_202B_206C_200E_200F_202E_206A_200B_202D_202D_200F_200F_206C_200B_206C_200F_202A_206E_202A_200C_202B_206C_202B_200E_200E_206C_200B_206A_202E() - { - return ImGui.GetIO(); - } - - static void _202C_206B_200B_200E_206C_200C_206D_202E_202B_206A_202E_206C_202B_200D_202C_200D_200D_200D_206E_200D_206F_206A_206C_200E_206D_200F_202B_200B_200B_206C_206A_200B_200D_202E_202B_206C_206D_200C_200E_202C_202E() - { - ImGui.TableNextRow(); - } - - static ImRaii.IdDisposable _200C_200F_200B_202C_206D_200D_206B_202E_200B_202C_202D_202C_200B_202B_202A_202C_202C_202D_206F_202C_200D_200E_200F_202C_202E_206F_206C_206B_200B_200F_202C_206E_202E_202A_202E_200F_200B_202A_202C_200D_202E(ImU8String P_0, bool P_1) - { - return ImRaii.PushId(P_0, P_1); - } - - static bool _202C_202A_206F_206A_206E_206E_202D_200D_200B_200B_202B_200D_200B_200E_206B_206B_202B_202D_202E_206F_206D_206F_206A_200E_202E_202E_202E_200E_206D_202B_200E_200B_206A_202E_206F_200E_200F_200F_202C_202E() - { - return ImGui.TableNextColumn(); - } - - static void _202C_206E_206A_206F_200B_206A_202D_200E_206A_202E_202E_202E_202B_200B_206B_206B_206E_206E_200D_200D_206F_200B_202D_200E_206B_200E_206A_206C_200C_206F_200F_200D_202A_200D_200C_206E_200C_200B_202C_206A_202E() - { - ImGui.AlignTextToFramePadding(); - } - - static void _202D_200E_200F_202D_200B_206C_206E_202C_206B_202E_202A_202A_202D_206B_202D_202B_202B_206C_200E_206E_202C_200E_200D_202E_200C_200D_200C_206E_206E_202B_200F_200D_202A_200F_202D_206B_200E_200C_202A_202B_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static float _206A_202E_200C_202A_206F_200C_202E_202C_206F_206E_200D_200E_202B_200F_206A_206D_206F_206B_202C_202C_200E_200B_202E_200E_202A_206B_200D_206F_202D_200C_202B_206B_206E_200B_206F_206C_202C_200F_200E_206C_202E() - { - return ImGui.GetFrameHeight(); - } - - static IUiBuilder _200D_200C_206A_200B_200F_202D_206C_206D_206D_200D_202A_202C_206F_206D_206A_200E_202E_202B_206E_202A_206B_200E_206C_200F_202E_200E_206D_202D_206F_200D_202C_202C_200F_206D_206D_206F_202D_200F_200E_202B_202E(IDalamudPluginInterface P_0) - { - return P_0.UiBuilder; - } - - static IFontHandle _200D_202C_206A_206F_202D_202A_206C_202D_200B_202D_206C_202B_202D_202B_200B_206A_206E_200F_202D_206B_200F_200F_206C_206F_200D_200E_202B_200C_206F_206D_202B_206F_200C_202A_202D_206C_202D_200C_206A_200F_202E(IUiBuilder P_0) - { - return P_0.IconFontFixedWidthHandle; - } - - static IDisposable _202E_206D_200F_206D_202A_202D_202B_202D_200C_202B_206A_200C_200D_202D_202D_200E_202C_206E_200D_202D_202B_202E_200B_202B_200F_206B_206A_206D_206B_206C_206F_200C_202C_200D_206D_202B_200E_206E_206D_206D_202E(IFontHandle P_0) - { - return P_0.Push(); - } - - static string _202C_202A_206B_206B_202D_200B_206E_202C_202D_206D_206E_200C_202C_206E_206B_202A_200B_206D_206F_206B_206F_200E_206F_202D_200B_206D_200F_206C_206D_206A_206E_202B_206F_202D_200B_202A_200D_200F_200E_206F_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static bool _200F_202B_200B_200C_200C_202A_200F_206B_206B_200D_202A_206E_206A_202B_206A_200B_206E_202D_200E_206E_200B_200D_200B_200C_206D_202C_200D_206A_206B_206D_200C_206B_206D_206F_202A_206E_206D_206D_202D_200C_202E() - { - return ImGui.IsItemHovered(); - } - - static void _202B_206F_202A_206C_202E_202C_206E_202B_206B_200C_200C_202B_200B_206A_200B_206E_202D_202D_202B_206E_206B_206B_200F_202D_202C_200B_200D_202D_206C_200E_200C_202D_206C_206B_206F_202D_200F_206A_200F_206F_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _202B_202B_200F_206F_200C_206B_202B_202E_200B_202B_206A_200E_206B_206E_202C_206C_206A_200E_206D_206E_202C_206E_202C_206C_200D_206A_200D_202C_202A_200F_202B_206D_206A_206E_200F_206A_200C_200C_200B_200D_202E() - { - ImGui.SameLine(); - } - - static void _202A_200B_202B_200B_200C_200F_202D_206A_206C_200F_202B_200F_200C_206A_200E_202C_200C_200F_200B_202A_206C_206F_200F_202C_202D_202D_206D_206B_202E_200B_202B_206D_206F_202B_206E_206C_206F_200F_202D_206E_202E(ImU8String P_0) - { - ImGui.SetTooltip(P_0); - } - - static bool _206A_206A_202E_200F_200D_202E_206B_202D_206A_206E_202C_206A_202E_202D_206E_200F_200F_202B_200C_206D_206D_202D_202D_200E_200E_206A_202D_200B_206B_202D_206C_202C_206C_206A_202B_200D_206B_206D_206C_206F_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static bool _202E_202C_200E_206B_206B_206F_206A_200E_202B_206A_202B_206E_202D_202C_202D_200F_202B_200E_202D_200B_206D_202C_202B_206E_202D_206B_200C_206B_200F_202A_200D_202C_206D_206E_206B_200D_206C_206A_202E_206F_202E(ElementId P_0, ElementId P_1) - { - return P_0 != P_1; - } - - static ImRaii.DisabledDisposable _206D_202C_202C_202C_200C_200F_206B_206A_202B_206F_206F_202B_202E_206F_206D_200E_200E_206B_206C_202C_202B_200B_206D_206D_200D_206D_202A_200D_206D_206B_206C_206F_202E_202E_202D_202A_202B_200D_202E_202D_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static bool _206F_206F_206E_202E_206C_202B_200F_202A_202E_200F_202C_202A_206D_206B_200E_200B_200F_200D_206F_200B_200D_200E_200B_202E_200D_200E_200C_206A_200B_200E_200F_202D_200E_200F_200D_206E_206D_206A_206F_202C_202E(ImGuiHoveredFlags P_0) - { - return ImGui.IsItemHovered(P_0); - } - - static void _202E_200F_202E_206C_202A_206D_206D_200F_200C_206F_200B_206F_202A_200C_206C_206D_200D_202E_200E_202D_200C_206A_202B_206F_206C_206A_202C_206F_206C_202C_200E_202C_200D_202E_202D_200C_206C_200D_206A_202B_202E() - { ImGui.Spacing(); } - static long _202A_206C_206E_206C_202B_202C_206C_206D_202E_200E_206F_206B_200E_200F_202B_200B_206B_206C_202A_206A_202E_206E_206D_206D_202E_206D_206A_202B_202E_206B_200B_200D_202C_200E_200C_206B_200F_202C_206E_202A_202E() + private List GetCurrentlyAcceptedQuests() { - return Environment.TickCount64; - } - - static void _206B_200F_200C_200E_200E_206E_200E_206C_206D_206C_200F_200B_200D_202E_206F_206D_202D_206B_200B_206C_206E_200E_206A_202A_200B_202A_200D_202D_206D_202D_202E_202C_206B_202D_206A_206B_202A_200F_200E_202C_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogDebug(P_1, P_2, P_3); + if (Environment.TickCount64 < _nextAcceptedQuestsRefreshMs) + { + return _acceptedQuestsCache; + } + _nextAcceptedQuestsRefreshMs = Environment.TickCount64 + 1000; + List list = new List(); + try + { + foreach (Quest allQuest in _questRegistry.AllQuests) + { + if (_questFunctions.IsQuestAccepted(allQuest.Id)) + { + list.Add(allQuest); + } + } + list.Sort((Quest a, Quest b) => string.Compare(a.Info.Name, b.Info.Name, StringComparison.OrdinalIgnoreCase)); + } + catch (Exception exception) + { + _logger.LogDebug(exception, "Failed to enumerate accepted quests"); + list.Clear(); + } + _acceptedQuestsCache = list; + return list; } } diff --git a/Questionable/Questionable.Windows.ConfigComponents/ConfigComponent.cs b/Questionable/Questionable.Windows.ConfigComponents/ConfigComponent.cs index 50f688d..08f087c 100644 --- a/Questionable/Questionable.Windows.ConfigComponents/ConfigComponent.cs +++ b/Questionable/Questionable.Windows.ConfigComponents/ConfigComponent.cs @@ -1,13 +1,9 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Globalization; using System.Linq; -using System.Numerics; -using System.Runtime.CompilerServices; using System.Text; using Dalamud.Bindings.ImGui; -using Dalamud.Configuration; using Dalamud.Game.Text; using Dalamud.Interface; using Dalamud.Interface.Utility.Raii; @@ -27,25 +23,14 @@ internal abstract class ConfigComponent private const string ModePrefix = "M:"; - protected readonly string[] SupportedCfcOptions = new string[3] - { - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1807221551), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(380812930), - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2101114993) - }; + protected readonly string[] SupportedCfcOptions = new string[3] { "Enabled (Default)", "Enabled", "Disabled" }; - protected readonly string[] UnsupportedCfcOptions = new string[3] - { - 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(131074132), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(429773793), - 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(1347834949) - }; + protected readonly string[] UnsupportedCfcOptions = new string[3] { "Disabled (Default)", "Enabled", "Disabled" }; private readonly IDalamudPluginInterface _pluginInterface; protected Configuration Configuration { get; } - [MethodImpl(MethodImplOptions.NoInlining)] protected ConfigComponent(IDalamudPluginInterface pluginInterface, Configuration configuration) { _pluginInterface = pluginInterface; @@ -56,614 +41,99 @@ internal abstract class ConfigComponent protected void Save() { - _202D_206A_206C_206D_202D_206D_202A_200C_202E_202B_206A_206D_206D_202C_200C_206E_206A_202E_202C_202E_206E_206F_200C_206E_200E_206E_206E_206E_200B_202B_206A_206F_206F_202B_206D_202E_202A_202D_202C_206B_202E(_pluginInterface, (IPluginConfiguration)Configuration); + _pluginInterface.SavePluginConfig(Configuration); } protected static string FormatLevel(int level, bool includePrefix = true) { - int num = ((level != 0) ? (-1915937495) : (-1915937494)); - while (true) + if (level == 0) { - int num2 = num; - int num3 = -1915937496; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return $"{(includePrefix ? _200E_206D_202B_200B_202C_206F_202E_200E_200D_206E_206D_206A_200E_206B_202C_202D_200F_206D_206A_206E_202C_202E_206D_202A_202B_206E_202C_202D_202A_206F_200C_206A_200B_202D_200C_202E_206E_202B_202C_202D_202E(SeIconChar.LevelEn) : string.Empty)}{FormatLevel(level / 10, includePrefix: false)}{_202B_202A_206D_206F_200B_200F_200E_200D_200D_202D_200E_206B_202E_200F_202C_206C_202E_202D_206F_206C_200D_200B_206C_200C_200F_206E_200C_206B_202B_202E_202C_206E_200E_206D_206D_202D_206A_202B_202C_200C_202E((SeIconChar)(57440 + level % 10))}"; - case 2: - return string.Empty; - case 0: - goto IL_00a2; - } - continue; - IL_00a2: - num = -1915937494; + return string.Empty; } + return $"{(includePrefix ? SeIconChar.LevelEn.ToIconString() : string.Empty)}{FormatLevel(level / 10, includePrefix: false)}{((SeIconChar)(57440 + level % 10)).ToIconChar()}"; } - [MethodImpl(MethodImplOptions.NoInlining)] protected static void DrawNotes(bool enabledByDefault, IEnumerable notes) { - ImRaii.ColorDisposable colorDisposable = _202D_200E_206F_200F_200B_206A_200C_206E_206B_206E_200B_202D_202C_202C_206C_200D_202C_200F_206C_202E_202B_200E_202D_202C_206F_206B_206A_200C_200C_202D_206B_206F_206F_200D_202D_206A_202E_200E_202B_206F_202E(); - try + using ImRaii.ColorDisposable colorDisposable = new ImRaii.ColorDisposable(); + colorDisposable.Push(ImGuiCol.TextDisabled, (!enabledByDefault) ? UiThemeUtils.StatusActive : UiThemeUtils.StatusAvailableComplete); + ImGui.SameLine(); + using (ImRaii.PushFont(UiBuilder.IconFont)) { - _206E_206E_202A_202B_202E_202C_202B_200F_200B_206E_200D_200D_206F_202C_200C_202D_206C_206A_202E_202A_206F_200E_202C_200E_200F_206C_200E_202E_202B_200C_202D_200E_206C_200F_200C_200D_200F_206F_206E_202A_202E(colorDisposable, ImGuiCol.TextDisabled, (!enabledByDefault) ? UiThemeUtils.StatusActive : UiThemeUtils.StatusAvailableComplete, true); - _206F_206D_202C_206B_206D_200F_200D_206E_206C_200B_200E_202B_200B_206A_200C_200D_200E_206C_202D_200D_200B_202D_202E_202A_206A_202B_202E_200C_202C_206D_206D_200E_206A_206B_206C_206D_206C_206C_202C_206D_202E(); - ImRaii.FontDisposable fontDisposable = _202B_200D_200B_200F_206E_202D_206A_200E_206C_202E_202E_206C_202A_206E_202A_200E_202C_206B_206E_206F_200B_200D_200B_202C_200F_206C_206D_206B_200D_202D_206F_202B_202C_202B_206A_206E_200B_206B_206E_200D_202E(_202A_200C_202B_206A_202B_202E_200E_200C_202C_202D_200B_202C_206F_200B_206D_200D_206B_206A_200B_206F_206E_206C_206A_206C_202D_206B_200C_200B_200F_202C_206E_200E_206B_206B_202B_206D_206E_206E_202A_206D_202E(), true); - int num; - try + if (!enabledByDefault) { - num = (enabledByDefault ? (-1607405850) : (-1607405851)); - while (true) - { - int num2 = num; - int num3 = -1607405852; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0081; - case 1: - _206E_206F_200D_202E_200E_206B_206B_206F_200C_206C_202E_206D_200E_200E_202A_206E_206F_206E_202C_200E_202E_202E_202B_206F_202D_206D_206D_202D_200D_202D_200F_206D_200C_202C_200F_206E_200F_202D_202C_200D_202E((ImU8String)_202C_202B_206C_202E_200B_206D_200B_206D_200E_200B_200D_206C_200B_202B_206E_202D_200D_202C_206C_206D_200D_202C_202D_200D_200B_206B_200F_206C_206B_206D_202A_200F_200B_206B_200F_200C_200D_202E_202B_200F_202E(FontAwesomeIcon.ExclamationTriangle)); - goto end_IL_0053; - case 2: - _206E_206F_200D_202E_200E_206B_206B_206F_200C_206C_202E_206D_200E_200E_202A_206E_206F_206E_202C_200E_202E_202E_202B_206F_202D_206D_206D_202D_200D_202D_200F_206D_200C_202C_200F_206E_200F_202D_202C_200D_202E((ImU8String)_202C_202B_206C_202E_200B_206D_200B_206D_200E_200B_200D_206C_200B_202B_206E_202D_200D_202C_206C_206D_200D_202C_202D_200D_200B_206B_200F_206C_206B_206D_202A_200F_200B_206B_200F_200C_200D_202E_202B_200F_202E(FontAwesomeIcon.InfoCircle)); - goto end_IL_0053; - } - continue; - IL_0081: - num = -1607405851; - continue; - end_IL_0053: - break; - } + ImGui.TextDisabled(FontAwesomeIcon.ExclamationTriangle.ToIconString()); } - finally + else { - num = ((fontDisposable == null) ? (-1267252928) : (-1267252927)); - while (true) - { - int num7 = num; - int num3 = -1267252928; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 2: - num = -1267252927; - break; - case 1: - _202D_202B_202E_202D_202E_200C_200D_202B_200B_202E_200F_206A_202D_202D_200E_202D_202B_200F_202C_202E_206C_206B_202D_200F_200C_200C_200C_202D_200E_200C_202B_200D_200D_200C_206D_200C_200B_200B_206D_206E_202E((IDisposable)fontDisposable); - num = -1267252928; - break; - case 0: - goto end_IL_00e9; - } - continue; - end_IL_00e9: - break; - } - } - num = (_202D_200C_206A_200E_206E_206B_200B_206A_202D_202B_202C_202D_206E_206F_206F_200E_202E_206F_202D_206D_206E_202C_206D_200C_206F_206A_200C_206C_202B_206B_200E_202A_202C_200F_206F_202B_202B_202B_206F_200C_202E() ? 777277028 : 777277031); - while (true) - { - int num10 = num; - int num3 = 777277029; - int num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - case 0: - goto IL_0186; - case 2: - return; - case 1: - using (_202B_206C_202A_206E_202E_202B_206F_200F_202C_206F_200B_206E_206D_200D_206B_206F_206D_200C_200B_202B_206E_206B_206E_200F_206F_206B_200D_202B_200E_206F_206D_202D_206D_206E_202B_200D_202E_206D_202C_206C_202E()) - { - _202E_202E_202C_206D_200F_206C_206F_202E_200D_202B_206A_200C_206A_206A_206C_202B_202B_206C_200F_200C_200D_202C_200F_206E_206D_206F_206A_200B_202B_206A_202D_200D_202A_206D_202B_206C_206D_202A_202D_206D_202E(ref UiThemeUtils.StatusActive, (ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(575964310)); - IEnumerator enumerator = notes.GetEnumerator(); - try - { - num = 1611844680; - while (true) - { - int num13 = num; - num3 = 1611844682; - num4 = num13; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = (_200E_202C_202E_200C_200C_202D_206C_206F_206B_206D_200C_206F_206B_206F_202E_206C_206E_202D_200F_206A_206E_206D_202D_202D_206E_200F_200B_202B_200D_202E_206D_202A_200C_200B_200C_200F_200F_202D_206C_200E_202E((IEnumerator)enumerator) ? 1611844683 : 1611844682); - break; - case 1: - _202A_206C_206B_202E_200D_206E_202A_202B_206F_206C_206B_200E_206F_206F_200F_206A_200C_202A_202D_202D_206A_202C_206C_200F_206A_206F_200D_206D_206E_200F_202B_200B_206E_206B_206A_200B_200D_206E_206B_206D_202E((ImU8String)enumerator.Current); - num = 1611844680; - break; - case 3: - num = 1611844680; - break; - case 0: - return; - } - } - } - finally - { - num = ((enumerator == null) ? (-1247894138) : (-1247894139)); - while (true) - { - int num14 = num; - num3 = -1247894140; - num4 = num14; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1247894139; - break; - case 2: - goto end_IL_0273; - case 1: - _202D_202B_202E_202D_202E_200C_200D_202B_200B_202E_200F_206A_202D_202D_200E_202D_202B_200F_202C_202E_206C_206B_202D_200F_200C_200C_200C_202D_200E_200C_202B_200D_200D_200C_206D_200C_200B_200B_206D_206E_202E((IDisposable)enumerator); - num = -1247894138; - break; - } - continue; - end_IL_0273: - break; - } - } - } - } - continue; - IL_0186: - num = 777277031; + ImGui.TextDisabled(FontAwesomeIcon.InfoCircle.ToIconString()); } } - finally + if (!ImGui.IsItemHovered()) { - int num = ((colorDisposable == null) ? (-697778220) : (-697778217)); - while (true) + return; + } + using (ImRaii.Tooltip()) + { + ImGui.TextColored(in UiThemeUtils.StatusActive, "While testing, the following issues have been found:"); + foreach (string note in notes) { - int num15 = num; - int num3 = -697778219; - int num4 = num15; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -697778217; - break; - case 1: - goto end_IL_02e4; - case 2: - _202D_202B_202E_202D_202E_200C_200D_202B_200B_202E_200F_206A_202D_202D_200E_202D_202B_200F_202C_202E_206C_206B_202D_200F_200C_200C_200C_202D_200E_200C_202B_200D_200D_200C_206D_200C_200B_200B_206D_206E_202E((IDisposable)colorDisposable); - num = -697778220; - break; - } - continue; - end_IL_02e4: - break; + ImGui.BulletText(note); } } } - [MethodImpl(MethodImplOptions.NoInlining)] protected void DrawClipboardButtons(string clipboardPrefix, HashSet whitelistedIds, HashSet blacklistedIds, Dictionary? modeOverrides = null) { - ImRaii.DisabledDisposable disabledDisposable = _206C_206E_200C_206C_206E_206E_200F_202C_206F_202D_202E_202A_200B_200F_200E_206D_206A_200B_202D_202B_202B_200C_202E_202A_200C_202E_202D_202D_206E_206E_206B_202A_200B_202E_200C_202C_206D_200F_202D_202E_202E(whitelistedIds.Count + blacklistedIds.Count + (modeOverrides?.Count ?? 0) == 0); - int num; - try + using (ImRaii.Disabled(whitelistedIds.Count + blacklistedIds.Count + (modeOverrides?.Count ?? 0) == 0)) { - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Copy, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1414767654))) ? 1188485484 : 1188485481); - IEnumerable enumerable = default(IEnumerable); - while (true) + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Copy, "Export to clipboard")) { - int num2 = num; - int num3 = 1188485480; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + IEnumerable first = whitelistedIds.Select((uint x) => $"{"+"}{x}"); + IEnumerable second = blacklistedIds.Select((uint x) => $"{"-"}{x}"); + IEnumerable enumerable = first.Concat(second); + if (modeOverrides != null) { - case 3: - enumerable = enumerable.Concat(modeOverrides.Select([MethodImpl(MethodImplOptions.NoInlining)] (KeyValuePair x) => - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(1, 3); - defaultInterpolatedStringHandler.AppendFormatted(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(1388362359)); - defaultInterpolatedStringHandler.AppendFormatted(x.Key); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1940061145)); - defaultInterpolatedStringHandler.AppendFormatted((int)x.Value); - return defaultInterpolatedStringHandler.ToStringAndClear(); - })); - num = 1188485480; - break; - case 1: - { - IEnumerable first = whitelistedIds.Select([MethodImpl(MethodImplOptions.NoInlining)] (uint x) => $"{global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1206370274)}{x}"); - IEnumerable second = blacklistedIds.Select([MethodImpl(MethodImplOptions.NoInlining)] (uint x) => $"{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(-2079705286)}{x}"); - enumerable = first.Concat(second); - num = ((modeOverrides == null) ? 1188485480 : 1188485483); - break; + enumerable = enumerable.Concat(modeOverrides.Select((KeyValuePair x) => $"{"M:"}{x.Key}:{x.Value}")); } - case 2: - num = 1188485481; - break; - case 0: - _202C_206E_200C_202B_202A_202B_206C_202E_206C_206B_206B_202D_206F_200D_200C_206C_200B_206D_206B_206E_206C_206B_200C_200D_206D_206E_202C_202B_202E_200B_202C_206D_206B_202E_200E_202E_200E_206E_206A_202A_202E((ImU8String)_206C_202B_206F_200D_206B_200C_200E_206B_200D_202D_206B_202A_200E_202E_202A_202E_206A_206A_200D_206D_200F_200B_202C_206D_200C_206E_206D_202E_202C_200C_200B_202A_206D_206A_202E_206C_200B_202E_200C_200F_202E(clipboardPrefix, _206C_202A_206E_202E_206D_202C_206F_202C_206C_200F_206F_200F_202D_206D_206D_200C_206B_206F_200B_200E_206E_206D_206C_202C_200C_206E_200E_200B_206B_206C_200F_200B_206B_206A_202E_206E_200F_206E_200C_202D_202E(_200C_202E_200E_202B_200C_202D_202A_206C_206B_202A_202A_202C_206B_206E_202A_202A_206B_200E_200B_200D_200C_200F_206E_200B_206D_202B_206B_200F_202D_202B_200D_202A_206B_200E_202E_206B_202D_206A_206F_200F_202E(_200C_200C_206B_200F_206D_200E_202D_202B_200D_202D_200B_200C_202E_200C_206A_202D_202D_200E_206B_206D_202A_200B_206B_206A_206B_200C_202A_200F_206A_206D_200E_206D_202A_206A_206E_206C_206F_200C_206F_202C_202E(), _200F_202A_202E_206A_200B_206C_206E_206F_206B_200D_200B_200F_206B_200D_202C_206C_200D_206B_200D_202E_206C_202D_200D_206D_200D_206B_202E_200D_206D_206F_200C_202B_202A_200E_200B_206F_200B_200B_200D_202B_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1344195866), enumerable))))); - num = 1188485484; - break; - case 4: - goto end_IL_005c; - } - continue; - end_IL_005c: - break; + ImGui.SetClipboardText(clipboardPrefix + Convert.ToBase64String(Encoding.UTF8.GetBytes(string.Join(";", enumerable)))); } } - finally - { - num = ((disabledDisposable == null) ? (-1379274858) : (-1379274859)); - while (true) - { - int num5 = num; - int num3 = -1379274857; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1379274859; - break; - case 1: - goto end_IL_01ad; - case 2: - _202D_202B_202E_202D_202E_200C_200D_202B_200B_202E_200F_206A_202D_202D_200E_202D_202B_200F_202C_202E_206C_206B_202D_200F_200C_200C_200C_202D_200E_200C_202B_200D_200D_200C_206D_200C_200B_200B_206D_206E_202E((IDisposable)disabledDisposable); - num = -1379274858; - break; - } - continue; - end_IL_01ad: - break; - } - } - _206F_206D_202C_206B_206D_200F_200D_206E_206C_200B_200E_202B_200B_206A_200C_200D_200E_206C_202D_200D_200B_202D_202E_202A_206A_202B_202E_200C_202C_206D_206D_200E_206A_206B_206C_206D_206C_206C_202C_206D_202E(); - string text = ThrottledClipboard.GetText(); - num = (_202B_206E_200E_206B_202A_206D_206F_206C_200E_202B_202E_206E_206B_206B_200E_206F_206F_202C_200C_202A_200B_206D_200E_200F_200C_202B_202C_202E_202B_200E_202E_206C_206A_202A_206B_202C_202B_202B_200D_200C_202E(text) ? 390106122 : 390106121); - int num7; - while (true) - { - int num6 = num; - int num3 = 390106120; - int num4 = num6; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 0: - goto IL_0252; - case 1: - num7 = ((!_202D_206F_200D_206A_200E_206D_200D_206E_200C_200D_200E_202E_200F_206A_206B_200D_206E_200E_200B_202C_202D_200E_206B_202C_200F_206F_202D_202A_200C_202D_200E_200C_200C_202E_200E_202D_200E_206C_206E_206E_202E(text, clipboardPrefix, StringComparison.InvariantCulture)) ? 1 : 0); - break; - case 2: - num7 = 1; - break; - } - break; - IL_0252: - num = 390106121; - } - disabledDisposable = _206C_206E_200C_206C_206E_206E_200F_202C_206F_202D_202E_202A_200B_200F_200E_206D_206A_200B_202D_202B_202B_200C_202E_202A_200C_202E_202D_202D_206E_206E_206B_202A_200B_202E_200C_202C_206D_200F_202D_202E_202E((byte)num7 != 0); - try - { - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Paste, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2037990506))) ? 291266974 : 291266962); - string text2 = default(string); - uint result2 = default(uint); - int result3 = default(int); - uint result4 = default(uint); - int num10 = default(int); - ReadOnlySpan span = default(ReadOnlySpan); - int num14 = default(int); - string[] array = default(string[]); - uint result = default(uint); - while (true) - { - int num8 = num; - int num3 = 291266975; - int num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 16: - num = ((!uint.TryParse(_202D_206B_206C_206C_202A_206F_200C_206E_202A_206D_206E_200F_206D_200F_206F_202A_206F_202D_200C_206E_200C_200B_202B_202A_200E_200D_200B_202C_200D_202E_202B_200D_206F_202A_202C_206B_202E_206D_202E_200F_202E(text2, _206D_202A_202D_202D_206F_202B_206A_200E_206F_200F_202D_200C_200E_200C_202B_206B_200D_200B_206E_200B_200C_206D_206B_202E_206C_206F_206A_206E_206C_202B_206A_200D_202A_200C_200E_206C_200B_206A_200F_206D_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(195401427))), _206B_202D_200F_206C_202D_202D_206B_206B_200C_206E_202D_200B_202D_206B_206A_206C_206B_200F_206B_200F_206C_202B_200E_206E_202A_200C_200D_206A_200C_206F_206F_206F_200C_202D_206F_202B_202D_202D_202A_200D_202E(), out result2)) ? 291266967 : 291266972); - break; - case 0: - num = ((!_202D_206F_200D_206A_200E_206D_200D_206E_200C_200D_200E_202E_200F_206A_206B_200D_206E_200E_200B_202C_202D_200E_206B_202C_200F_206F_202D_202A_200C_202D_200E_200C_200C_202E_200E_202D_200E_206C_206E_206E_202E(text2, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1172231633), StringComparison.InvariantCulture)) ? 291266957 : 291266969); - break; - case 17: - num = ((!_202D_206C_202D_202D_202B_200C_206E_202C_202A_206A_200B_206E_206A_202E_200E_206E_202E_206C_200F_206F_200C_206E_202C_206E_200F_200C_202A_206A_202C_200C_200E_200E_202E_206E_200C_206D_206C_202A_206C_206E_202E(_200C_206A_206D_200C_206F_200C_200C_202D_202B_202C_206E_202B_200F_202D_200D_200D_202B_200C_206D_206F_200C_206F_206A_206A_200E_200D_206F_202C_206F_206F_200F_202D_206F_206E_200E_206E_206E_206C_200F_206C_202E(typeof(EDutyMode).TypeHandle), (object)result3)) ? 291266957 : 291266960); - break; - case 15: - modeOverrides[result4] = (EDutyMode)result3; - num = 291266957; - break; - case 12: - num = ((modeOverrides == null) ? 291266957 : 291266975); - break; - case 18: - { - int num9 = num10; - num3 = 1; - num4 = num9; - int num11 = num4 ^ num3; - int num12 = num4 & num3; - num10 = num11 + (num12 + num12); - num = 291266970; - break; - } - case 4: - num = ((!uint.TryParse(span.Slice(0, num14), _206B_202D_200F_206C_202D_202D_206B_206B_200C_206E_202D_200B_202D_206B_206A_206C_206B_200F_206B_200F_206C_202B_200E_206E_202A_200C_200D_206A_200C_206F_206F_206F_200C_202D_206F_202B_202D_202D_202A_200D_202E(), out result4)) ? 291266957 : 291266961); - break; - case 7: - text2 = array[num10]; - num = ((!_202D_206F_200D_206A_200E_206D_200D_206E_200C_200D_200E_202E_200F_206A_206B_200D_206E_200E_200B_202C_202D_200E_206B_202C_200F_206F_202D_202A_200C_202D_200E_200C_200C_202E_200E_202D_200E_206C_206E_206E_202E(text2, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(195401427), StringComparison.InvariantCulture)) ? 291266967 : 291266959); - break; - case 3: - whitelistedIds.Add(result2); - num = 291266967; - break; - case 11: - Save(); - num = 291266974; - break; - case 13: - { - text = _202B_200E_206D_206D_202B_206C_206F_202B_206A_200B_202D_202C_206B_200D_202B_202E_200F_206C_200F_206A_206F_200C_200C_202B_200B_200D_200F_206D_206E_200D_206C_200D_202A_200B_202B_206D_200F_200C_206A_202D_202E(text, _206D_202C_206E_200E_206E_206E_200E_206C_200E_202D_202B_200F_206A_206A_200E_200B_206B_206B_206E_206F_206C_200B_202E_202A_202E_202C_206D_202D_202D_200B_200F_200B_200B_206E_206C_200C_200B_200F_200B_202B_202E(clipboardPrefix)); - string text3 = _206A_206C_200C_200D_206D_200C_202A_200B_202D_206C_206B_200F_206F_206D_206C_206B_206D_206D_206C_206A_200C_202D_206C_200D_206C_206F_202B_202E_202B_200F_200D_206A_200C_206D_200D_202C_200E_200E_206B_206C_202E(_200C_200C_206B_200F_206D_200E_202D_202B_200D_202D_200B_200C_202E_200C_206A_202D_202D_200E_206B_206D_202A_200B_206B_206A_206B_200C_202A_200F_206A_206D_200E_206D_202A_206A_206E_206C_206F_200C_206F_202C_202E(), _202D_202B_202D_202D_206E_200E_200F_206C_200C_202D_200D_202D_202E_206F_202D_202D_200B_206C_206E_202C_202D_200C_206D_202B_202A_202A_200F_200E_200C_200D_206D_206F_200B_206C_206B_200B_202C_200F_202C_202B_202E(text)); - whitelistedIds.Clear(); - blacklistedIds.Clear(); - modeOverrides?.Clear(); - array = _206E_200D_206D_202B_206A_206F_200F_206F_206F_200F_206D_202A_202E_200E_200E_206A_206C_206A_202C_202D_206E_200F_200F_206F_206D_200F_206D_206B_200D_202A_206F_200D_206A_206C_202A_202E_206D_200F_206B_200E_202E(text3, 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(-1892636274), StringSplitOptions.None); - num10 = 0; - num = 291266970; - break; - } - case 6: - span = _202D_206B_206C_206C_202A_206F_200C_206E_202A_206D_206E_200F_206D_200F_206F_202A_206F_202D_200C_206E_200C_200B_202B_202A_200E_200D_200B_202C_200D_202E_202B_200D_206F_202A_202C_206B_202E_206D_202E_200F_202E(text2, _206D_202A_202D_202D_206F_202B_206A_200E_206F_200F_202D_200C_200E_200C_202B_206B_200D_200B_206E_200B_200C_206D_206B_202E_206C_206F_206A_206E_206C_202B_206A_200D_202A_200C_200E_206C_200B_206A_200F_206D_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1478813362))); - num14 = span.IndexOf(':'); - num = ((num14 <= 0) ? 291266957 : 291266971); - break; - case 14: - { - int num13 = num14; - num3 = 1; - num4 = num13; - num = ((!int.TryParse(span.Slice((num4 | num3) + (num4 & num3)), _206B_202D_200F_206C_202D_202D_206B_206B_200C_206E_202D_200B_202D_206B_206A_206C_206B_200F_206B_200F_206C_202B_200E_206E_202A_200C_200D_206A_200C_206F_206F_206F_200C_202D_206F_202B_202D_202D_202A_200D_202E(), out result3)) ? 291266957 : 291266958); - break; - } - case 2: - num = ((!uint.TryParse(_202D_206B_206C_206C_202A_206F_200C_206E_202A_206D_206E_200F_206D_200F_206F_202A_206F_202D_200C_206E_200C_200B_202B_202A_200E_200D_200B_202C_200D_202E_202B_200D_206F_202A_202C_206B_202E_206D_202E_200F_202E(text2, _206D_202A_202D_202D_206F_202B_206A_200E_206F_200F_202D_200C_200E_200C_202B_206B_200D_200B_206E_200B_200C_206D_206B_202E_206C_206F_206A_206E_206C_202B_206A_200D_202A_200C_200E_206C_200B_206A_200F_206D_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(792471175))), _206B_202D_200F_206C_202D_202D_206B_206B_200C_206E_202D_200B_202D_206B_206A_206C_206B_200F_206B_200F_206C_202B_200E_206E_202A_200C_200D_206A_200C_206F_206F_206F_200C_202D_206F_202B_202D_202D_202A_200D_202E(), out result)) ? 291266963 : 291266965); - break; - case 5: - num = ((num10 < array.Length) ? 291266968 : 291266964); - break; - case 10: - blacklistedIds.Add(result); - num = 291266963; - break; - case 9: - num = 291266962; - break; - case 8: - num = ((!_202D_206F_200D_206A_200E_206D_200D_206E_200C_200D_200E_202E_200F_206A_206B_200D_206E_200E_200B_202C_202D_200E_206B_202C_200F_206F_202D_202A_200C_202D_200E_200C_200C_202E_200E_202D_200E_206C_206E_206E_202E(text2, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(792471175), StringComparison.InvariantCulture)) ? 291266963 : 291266973); - break; - case 1: - return; - } - } - } - finally - { - num = ((disabledDisposable == null) ? (-1706207698) : (-1706207699)); - while (true) - { - int num15 = num; - int num3 = -1706207700; - int num4 = num15; - int num16 = num4 + num3; - int num17 = num4 & num3; - switch (num16 - (num17 + num17)) - { - case 0: - num = -1706207699; - break; - case 2: - goto end_IL_0659; - case 1: - _202D_202B_202E_202D_202E_200C_200D_202B_200B_202E_200F_206A_202D_202D_200E_202D_202B_200F_202C_202E_206C_206B_202D_200F_200C_200C_200C_202D_200E_200C_202B_200D_200D_200C_206D_200C_200B_200B_206D_206E_202E((IDisposable)disabledDisposable); - num = -1706207698; - break; - } - continue; - end_IL_0659: - break; - } - } - } - - static void _202D_206A_206C_206D_202D_206D_202A_200C_202E_202B_206A_206D_206D_202C_200C_206E_206A_202E_202C_202E_206E_206F_200C_206E_200E_206E_206E_206E_200B_202B_206A_206F_206F_202B_206D_202E_202A_202D_202C_206B_202E(IDalamudPluginInterface P_0, IPluginConfiguration P_1) - { - P_0.SavePluginConfig(P_1); - } - - static string _200E_206D_202B_200B_202C_206F_202E_200E_200D_206E_206D_206A_200E_206B_202C_202D_200F_206D_206A_206E_202C_202E_206D_202A_202B_206E_202C_202D_202A_206F_200C_206A_200B_202D_200C_202E_206E_202B_202C_202D_202E(SeIconChar P_0) - { - return P_0.ToIconString(); - } - - static char _202B_202A_206D_206F_200B_200F_200E_200D_200D_202D_200E_206B_202E_200F_202C_206C_202E_202D_206F_206C_200D_200B_206C_200C_200F_206E_200C_206B_202B_202E_202C_206E_200E_206D_206D_202D_206A_202B_202C_200C_202E(SeIconChar P_0) - { - return P_0.ToIconChar(); - } - - static ImRaii.ColorDisposable _202D_200E_206F_200F_200B_206A_200C_206E_206B_206E_200B_202D_202C_202C_206C_200D_202C_200F_206C_202E_202B_200E_202D_202C_206F_206B_206A_200C_200C_202D_206B_206F_206F_200D_202D_206A_202E_200E_202B_206F_202E() - { - return new ImRaii.ColorDisposable(); - } - - static ImRaii.ColorDisposable _206E_206E_202A_202B_202E_202C_202B_200F_200B_206E_200D_200D_206F_202C_200C_202D_206C_206A_202E_202A_206F_200E_202C_200E_200F_206C_200E_202E_202B_200C_202D_200E_206C_200F_200C_200D_200F_206F_206E_202A_202E(ImRaii.ColorDisposable P_0, ImGuiCol P_1, Vector4 P_2, bool P_3) - { - return P_0.Push(P_1, P_2, P_3); - } - - static void _206F_206D_202C_206B_206D_200F_200D_206E_206C_200B_200E_202B_200B_206A_200C_200D_200E_206C_202D_200D_200B_202D_202E_202A_206A_202B_202E_200C_202C_206D_206D_200E_206A_206B_206C_206D_206C_206C_202C_206D_202E() - { ImGui.SameLine(); - } - - static ImFontPtr _202A_200C_202B_206A_202B_202E_200E_200C_202C_202D_200B_202C_206F_200B_206D_200D_206B_206A_200B_206F_206E_206C_206A_206C_202D_206B_200C_200B_200F_202C_206E_200E_206B_206B_202B_206D_206E_206E_202A_206D_202E() - { - return UiBuilder.IconFont; - } - - static ImRaii.FontDisposable _202B_200D_200B_200F_206E_202D_206A_200E_206C_202E_202E_206C_202A_206E_202A_200E_202C_206B_206E_206F_200B_200D_200B_202C_200F_206C_206D_206B_200D_202D_206F_202B_202C_202B_206A_206E_200B_206B_206E_200D_202E(ImFontPtr P_0, bool P_1) - { - return ImRaii.PushFont(P_0, P_1); - } - - static string _202C_202B_206C_202E_200B_206D_200B_206D_200E_200B_200D_206C_200B_202B_206E_202D_200D_202C_206C_206D_200D_202C_202D_200D_200B_206B_200F_206C_206B_206D_202A_200F_200B_206B_200F_200C_200D_202E_202B_200F_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static void _206E_206F_200D_202E_200E_206B_206B_206F_200C_206C_202E_206D_200E_200E_202A_206E_206F_206E_202C_200E_202E_202E_202B_206F_202D_206D_206D_202D_200D_202D_200F_206D_200C_202C_200F_206E_200F_202D_202C_200D_202E(ImU8String P_0) - { - ImGui.TextDisabled(P_0); - } - - static void _202D_202B_202E_202D_202E_200C_200D_202B_200B_202E_200F_206A_202D_202D_200E_202D_202B_200F_202C_202E_206C_206B_202D_200F_200C_200C_200C_202D_200E_200C_202B_200D_200D_200C_206D_200C_200B_200B_206D_206E_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static bool _202D_200C_206A_200E_206E_206B_200B_206A_202D_202B_202C_202D_206E_206F_206F_200E_202E_206F_202D_206D_206E_202C_206D_200C_206F_206A_200C_206C_202B_206B_200E_202A_202C_200F_206F_202B_202B_202B_206F_200C_202E() - { - return ImGui.IsItemHovered(); - } - - static ImRaii.TooltipDisposable _202B_206C_202A_206E_202E_202B_206F_200F_202C_206F_200B_206E_206D_200D_206B_206F_206D_200C_200B_202B_206E_206B_206E_200F_206F_206B_200D_202B_200E_206F_206D_202D_206D_206E_202B_200D_202E_206D_202C_206C_202E() - { - return ImRaii.Tooltip(); - } - - static void _202E_202E_202C_206D_200F_206C_206F_202E_200D_202B_206A_200C_206A_206A_206C_202B_202B_206C_200F_200C_200D_202C_200F_206E_206D_206F_206A_200B_202B_206A_202D_200D_202A_206D_202B_206C_206D_202A_202D_206D_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static void _202A_206C_206B_202E_200D_206E_202A_202B_206F_206C_206B_200E_206F_206F_200F_206A_200C_202A_202D_202D_206A_202C_206C_200F_206A_206F_200D_206D_206E_200F_202B_200B_206E_206B_206A_200B_200D_206E_206B_206D_202E(ImU8String P_0) - { - ImGui.BulletText(P_0); - } - - static bool _200E_202C_202E_200C_200C_202D_206C_206F_206B_206D_200C_206F_206B_206F_202E_206C_206E_202D_200F_206A_206E_206D_202D_202D_206E_200F_200B_202B_200D_202E_206D_202A_200C_200B_200C_200F_200F_202D_206C_200E_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static ImRaii.DisabledDisposable _206C_206E_200C_206C_206E_206E_200F_202C_206F_202D_202E_202A_200B_200F_200E_206D_206A_200B_202D_202B_202B_200C_202E_202A_200C_202E_202D_202D_206E_206E_206B_202A_200B_202E_200C_202C_206D_200F_202D_202E_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static Encoding _200C_200C_206B_200F_206D_200E_202D_202B_200D_202D_200B_200C_202E_200C_206A_202D_202D_200E_206B_206D_202A_200B_206B_206A_206B_200C_202A_200F_206A_206D_200E_206D_202A_206A_206E_206C_206F_200C_206F_202C_202E() - { - return Encoding.UTF8; - } - - static string _200F_202A_202E_206A_200B_206C_206E_206F_206B_200D_200B_200F_206B_200D_202C_206C_200D_206B_200D_202E_206C_202D_200D_206D_200D_206B_202E_200D_206D_206F_200C_202B_202A_200E_200B_206F_200B_200B_200D_202B_202E(string P_0, IEnumerable P_1) - { - return string.Join(P_0, P_1); - } - - static byte[] _200C_202E_200E_202B_200C_202D_202A_206C_206B_202A_202A_202C_206B_206E_202A_202A_206B_200E_200B_200D_200C_200F_206E_200B_206D_202B_206B_200F_202D_202B_200D_202A_206B_200E_202E_206B_202D_206A_206F_200F_202E(Encoding P_0, string P_1) - { - return P_0.GetBytes(P_1); - } - - static string _206C_202A_206E_202E_206D_202C_206F_202C_206C_200F_206F_200F_202D_206D_206D_200C_206B_206F_200B_200E_206E_206D_206C_202C_200C_206E_200E_200B_206B_206C_200F_200B_206B_206A_202E_206E_200F_206E_200C_202D_202E(byte[] P_0) - { - return Convert.ToBase64String(P_0); - } - - static string _206C_202B_206F_200D_206B_200C_200E_206B_200D_202D_206B_202A_200E_202E_202A_202E_206A_206A_200D_206D_200F_200B_202C_206D_200C_206E_206D_202E_202C_200C_200B_202A_206D_206A_202E_206C_200B_202E_200C_200F_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static void _202C_206E_200C_202B_202A_202B_206C_202E_206C_206B_206B_202D_206F_200D_200C_206C_200B_206D_206B_206E_206C_206B_200C_200D_206D_206E_202C_202B_202E_200B_202C_206D_206B_202E_200E_202E_200E_206E_206A_202A_202E(ImU8String P_0) - { - ImGui.SetClipboardText(P_0); - } - - static bool _202B_206E_200E_206B_202A_206D_206F_206C_200E_202B_202E_206E_206B_206B_200E_206F_206F_202C_200C_202A_200B_206D_200E_200F_200C_202B_202C_202E_202B_200E_202E_206C_206A_202A_206B_202C_202B_202B_200D_200C_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static bool _202D_206F_200D_206A_200E_206D_200D_206E_200C_200D_200E_202E_200F_206A_206B_200D_206E_200E_200B_202C_202D_200E_206B_202C_200F_206F_202D_202A_200C_202D_200E_200C_200C_202E_200E_202D_200E_206C_206E_206E_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.StartsWith(P_1, P_2); - } - - static int _206D_202C_206E_200E_206E_206E_200E_206C_200E_202D_202B_200F_206A_206A_200E_200B_206B_206B_206E_206F_206C_200B_202E_202A_202E_202C_206D_202D_202D_200B_200F_200B_200B_206E_206C_200C_200B_200F_200B_202B_202E(string P_0) - { - return P_0.Length; - } - - static string _202B_200E_206D_206D_202B_206C_206F_202B_206A_200B_202D_202C_206B_200D_202B_202E_200F_206C_200F_206A_206F_200C_200C_202B_200B_200D_200F_206D_206E_200D_206C_200D_202A_200B_202B_206D_200F_200C_206A_202D_202E(string P_0, int P_1) - { - return P_0.Substring(P_1); - } - - static byte[] _202D_202B_202D_202D_206E_200E_200F_206C_200C_202D_200D_202D_202E_206F_202D_202D_200B_206C_206E_202C_202D_200C_206D_202B_202A_202A_200F_200E_200C_200D_206D_206F_200B_206C_206B_200B_202C_200F_202C_202B_202E(string P_0) - { - return Convert.FromBase64String(P_0); - } - - static string _206A_206C_200C_200D_206D_200C_202A_200B_202D_206C_206B_200F_206F_206D_206C_206B_206D_206D_206C_206A_200C_202D_206C_200D_206C_206F_202B_202E_202B_200F_200D_206A_200C_206D_200D_202C_200E_200E_206B_206C_202E(Encoding P_0, byte[] P_1) - { - return P_0.GetString(P_1); - } - - static string[] _206E_200D_206D_202B_206A_206F_200F_206F_206F_200F_206D_202A_202E_200E_200E_206A_206C_206A_202C_202D_206E_200F_200F_206F_206D_200F_206D_206B_200D_202A_206F_200D_206A_206C_202A_202E_206D_200F_206B_200E_202E(string P_0, string P_1, StringSplitOptions P_2) - { - return P_0.Split(P_1, P_2); - } - - static int _206D_202A_202D_202D_206F_202B_206A_200E_206F_200F_202D_200C_200E_200C_202B_206B_200D_200B_206E_200B_200C_206D_206B_202E_206C_206F_206A_206E_206C_202B_206A_200D_202A_200C_200E_206C_200B_206A_200F_206D_202E(string P_0) - { - return P_0.Length; - } - - static ReadOnlySpan _202D_206B_206C_206C_202A_206F_200C_206E_202A_206D_206E_200F_206D_200F_206F_202A_206F_202D_200C_206E_200C_200B_202B_202A_200E_200D_200B_202C_200D_202E_202B_200D_206F_202A_202C_206B_202E_206D_202E_200F_202E(string P_0, int P_1) - { - return P_0.AsSpan(P_1); - } - - static CultureInfo _206B_202D_200F_206C_202D_202D_206B_206B_200C_206E_202D_200B_202D_206B_206A_206C_206B_200F_206B_200F_206C_202B_200E_206E_202A_200C_200D_206A_200C_206F_206F_206F_200C_202D_206F_202B_202D_202D_202A_200D_202E() - { - return CultureInfo.InvariantCulture; - } - - static Type _200C_206A_206D_200C_206F_200C_200C_202D_202B_202C_206E_202B_200F_202D_200D_200D_202B_200C_206D_206F_200C_206F_206A_206A_200E_200D_206F_202C_206F_206F_200F_202D_206F_206E_200E_206E_206E_206C_200F_206C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static bool _202D_206C_202D_202D_202B_200C_206E_202C_202A_206A_200B_206E_206A_202E_200E_206E_202E_206C_200F_206F_200C_206E_202C_206E_200F_200C_202A_206A_202C_200C_200E_200E_202E_206E_200C_206D_206C_202A_206C_206E_202E(Type P_0, object P_1) - { - return Enum.IsDefined(P_0, P_1); + string text = ThrottledClipboard.GetText(); + using (ImRaii.Disabled(string.IsNullOrEmpty(text) || !text.StartsWith(clipboardPrefix, StringComparison.InvariantCulture))) + { + if (!UiThemeUtils.IconTextButton(FontAwesomeIcon.Paste, "Import from Clipboard")) + { + return; + } + text = text.Substring(clipboardPrefix.Length); + string text2 = Encoding.UTF8.GetString(Convert.FromBase64String(text)); + whitelistedIds.Clear(); + blacklistedIds.Clear(); + modeOverrides?.Clear(); + string[] array = text2.Split(";"); + foreach (string text3 in array) + { + if (text3.StartsWith("+", StringComparison.InvariantCulture) && uint.TryParse(text3.AsSpan("+".Length), CultureInfo.InvariantCulture, out var result)) + { + whitelistedIds.Add(result); + } + if (text3.StartsWith("-", StringComparison.InvariantCulture) && uint.TryParse(text3.AsSpan("-".Length), CultureInfo.InvariantCulture, out var result2)) + { + blacklistedIds.Add(result2); + } + if (modeOverrides != null && text3.StartsWith("M:", StringComparison.InvariantCulture)) + { + ReadOnlySpan span = text3.AsSpan("M:".Length); + int num2 = span.IndexOf(':'); + if (num2 > 0 && uint.TryParse(span.Slice(0, num2), CultureInfo.InvariantCulture, out var result3) && int.TryParse(span.Slice(num2 + 1), CultureInfo.InvariantCulture, out var result4) && Enum.IsDefined(typeof(EDutyMode), result4)) + { + modeOverrides[result3] = (EDutyMode)result4; + } + } + } + Save(); + } } } diff --git a/Questionable/Questionable.Windows.ConfigComponents/DebugConfigComponent.cs b/Questionable/Questionable.Windows.ConfigComponents/DebugConfigComponent.cs index 4ce8b1f..b643ccd 100644 --- a/Questionable/Questionable.Windows.ConfigComponents/DebugConfigComponent.cs +++ b/Questionable/Questionable.Windows.ConfigComponents/DebugConfigComponent.cs @@ -1,10 +1,8 @@ -using System; -using System.Collections; using System.Collections.Generic; using System.Collections.Immutable; +using System.IO; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; using Dalamud.Interface; using Dalamud.Interface.Utility.Raii; @@ -17,340 +15,200 @@ internal sealed class DebugConfigComponent : ConfigComponent { private readonly Dictionary _featurePausingOpenState = new Dictionary(); + private readonly string? _cacheDirectory; + public DebugConfigComponent(IDalamudPluginInterface pluginInterface, Configuration configuration) : base(pluginInterface, configuration) { + _cacheDirectory = pluginInterface.ConfigDirectory.FullName; } - [MethodImpl(MethodImplOptions.NoInlining)] public override void DrawTab() { - UiThemeUtils.SectionHeader(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(1486717885)); + UiThemeUtils.SectionHeader("Interaction Recovery"); (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple = UiThemeUtils.BeginCard(); Vector2 item = tuple.ContentStartPos; float item2 = tuple.AvailableWidth; ImDrawListPtr item3 = tuple.DrawList; int value = base.Configuration.Advanced.InteractionRetryLimit; - int num = ((!UiThemeUtils.AccentSliderInt(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(459770457), ref value, 1, 10, 260f)) ? (-1001972389) : (-1001972390)); - bool value4 = default(bool); - Vector2 item4 = default(Vector2); - float item5 = default(float); - ImDrawListPtr item6 = default(ImDrawListPtr); - Vector2 contentStartPos = default(Vector2); - float availableWidth = default(float); - ImDrawListPtr drawList = default(ImDrawListPtr); - bool value3 = default(bool); - float value2 = default(float); - while (true) + if (UiThemeUtils.AccentSliderInt("Retry limit", ref value, 1, 10, 260f)) { - int num2 = num; - int num3 = -1001972389; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + base.Configuration.Advanced.InteractionRetryLimit = value; + Save(); + } + ImGui.SameLine(); + UiThemeUtils.InfoIcon("Maximum number of times an interrupted interaction will be retried before stopping. Interruptions can be caused by combat, other plugins, or server issues."); + float value2 = base.Configuration.Advanced.InteractionTimeoutSeconds; + if (UiThemeUtils.AccentSliderFloat("Timeout (seconds)", ref value2, 5f, 30f, "%.0f", 260f)) + { + base.Configuration.Advanced.InteractionTimeoutSeconds = value2; + Save(); + } + ImGui.SameLine(); + UiThemeUtils.InfoIcon("Maximum time an interaction can run without progress before it is treated as stuck and retried."); + UiThemeUtils.EndCard(item, item2, item3); + UiThemeUtils.SectionSpacing(); + UiThemeUtils.SectionHeader("Navigation debug"); + (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple2 = UiThemeUtils.BeginCard(); + Vector2 item4 = tuple2.ContentStartPos; + float item5 = tuple2.AvailableWidth; + ImDrawListPtr item6 = tuple2.DrawList; + bool value3 = base.Configuration.Advanced.ShowWigglyNavShimProvider; + if (UiThemeUtils.WrappedCheckbox("Show WigglyNav shim provider option", ref value3, "Reveals an extra navigation provider row on the Dependencies page that drives WigglyNav through its vnavmesh-shaped legacy surface instead of its native one. Intended for comparing the two surfaces, not for normal use.")) + { + base.Configuration.Advanced.ShowWigglyNavShimProvider = value3; + Save(); + } + UiThemeUtils.EndCard(item4, item5, item6); + UiThemeUtils.SectionSpacing(); + UiThemeUtils.SectionHeader("Data Cache"); + var (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); + UiThemeUtils.WrappedText("NPC position and zone boundary caches are rebuilt automatically after game patches. Use this button to force a rebuild on next load."); + bool flag = _cacheDirectory != null && (File.Exists(Path.Combine(_cacheDirectory, "npc-position-cache.bin")) || File.Exists(Path.Combine(_cacheDirectory, "zone-boundary-cache.bin"))); + long num = 0L; + if (_cacheDirectory != null) + { + num += FileSize(Path.Combine(_cacheDirectory, "npc-position-cache.bin")); + num += FileSize(Path.Combine(_cacheDirectory, "zone-boundary-cache.bin")); + } + using (ImRaii.Disabled(!flag)) + { + if (ImGui.Button("Clear LGB Caches") && _cacheDirectory != null) { - case 8: - base.Configuration.Advanced.ShowWigglyNavShimProvider = value4; - Save(); - num = -1001972391; - break; - case 2: - UiThemeUtils.EndCard(item4, item5, item6); - UiThemeUtils.SectionSpacing(); - UiThemeUtils.SectionHeader(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(1322354699)); - (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); - UiThemeUtils.WrappedTextColored(UiThemeUtils.StatusLocked, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1990367668)); - value3 = base.Configuration.Advanced.DisablePartyWatchdog; - num = ((!UiThemeUtils.WrappedCheckbox(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(-1956217498), ref value3, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1278554970))) ? (-1001972386) : (-1001972388)); - break; - case 1: - base.Configuration.Advanced.InteractionRetryLimit = value; - Save(); - num = -1001972389; - break; - case 7: - base.Configuration.Advanced.DisablePartyWatchdog = value3; - Save(); - num = -1001972386; - break; - case 4: - num = -1001972390; - break; - case 3: - { - _200D_202C_200F_200F_206B_206B_200C_206F_206C_202A_206D_206C_202D_202A_200D_202A_202C_206D_206A_202A_200F_200B_202B_200F_202D_202E_206D_202D_206F_206D_200E_206C_200D_200F_206C_206D_206B_206B_202E_200E_202E(); - UiThemeUtils.InfoIcon(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(626167100)); - UiThemeUtils.EndCard(item, item2, item3); - UiThemeUtils.SectionSpacing(); - UiThemeUtils.SectionHeader(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1927198459)); - (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple2 = UiThemeUtils.BeginCard(); - item4 = tuple2.ContentStartPos; - item5 = tuple2.AvailableWidth; - item6 = tuple2.DrawList; - value4 = base.Configuration.Advanced.ShowWigglyNavShimProvider; - num = ((!UiThemeUtils.WrappedCheckbox(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(967670354), ref value4, 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(-1491500076))) ? (-1001972391) : (-1001972397)); - break; + TryDelete(Path.Combine(_cacheDirectory, "npc-position-cache.bin")); + TryDelete(Path.Combine(_cacheDirectory, "zone-boundary-cache.bin")); } - case 5: - DrawFeaturePausingSection(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(-1202049138), PandorasBoxIpc.ConflictingFeatures, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(611154130), 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(207768065), base.Configuration.Advanced.PandoraFeatureExclusions); - DrawFeaturePausingSection(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(11057013), AutomatonIpc.ConflictingTweaks, 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(899890205), 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(-1169537281), base.Configuration.Advanced.AutomatonTweakExclusions); - UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); - return; - case 6: - base.Configuration.Advanced.InteractionTimeoutSeconds = value2; - Save(); - num = -1001972392; - break; - case 0: - _200D_202C_200F_200F_206B_206B_200C_206F_206C_202A_206D_206C_202D_202A_200D_202A_202C_206D_206A_202A_200F_200B_202B_200F_202D_202E_206D_202D_206F_206D_200E_206C_200D_200F_206C_206D_206B_206B_202E_200E_202E(); - UiThemeUtils.InfoIcon(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(368373226)); - value2 = base.Configuration.Advanced.InteractionTimeoutSeconds; - num = ((!UiThemeUtils.AccentSliderFloat(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1280982003), ref value2, 5f, 30f, 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(-1562631403), 260f)) ? (-1001972392) : (-1001972387)); - break; + if (flag && ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) + { + ImU8String tooltip = new ImU8String(20, 1); + tooltip.AppendLiteral("Current cache size: "); + tooltip.AppendFormatted(FormatBytes(num)); + ImGui.SetTooltip(tooltip); } } + if (!flag) + { + ImGui.SameLine(); + ImGui.TextDisabled("(no cache files present)"); + } + else + { + ImGui.SameLine(); + ImGui.TextDisabled("Takes effect on next plugin load."); + } + UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); + UiThemeUtils.SectionSpacing(); + UiThemeUtils.SectionHeader("Danger Zone"); + var (contentStartPos2, availableWidth2, drawList2) = UiThemeUtils.BeginCard(); + UiThemeUtils.WrappedTextColored(UiThemeUtils.StatusLocked, "Enabling any option below may cause unexpected behavior. Use at your own risk."); + bool value4 = base.Configuration.Advanced.DisablePartyWatchdog; + if (UiThemeUtils.WrappedCheckbox("Disable Party Watchdog", ref value4, "The Party Watchdog stops Questionable when entering certain zones with other party members, or when entering unsupported content. Disabling this allows Questionable to continue working while in a party, but may cause unexpected behavior in group content.")) + { + base.Configuration.Advanced.DisablePartyWatchdog = value4; + Save(); + } + DrawFeaturePausingSection("Pandora's Box Feature Pausing", PandorasBoxIpc.ConflictingFeatures, "Auto Active Time Maneuver", "Only applies when Auto-Solve QTE is enabled.", base.Configuration.Advanced.PandoraFeatureExclusions); + DrawFeaturePausingSection("Bundle of Tweaks Feature Pausing", AutomatonIpc.ConflictingTweaks, "AutoSnipeQuests", "Only applies when AutoSnipe is enabled.", base.Configuration.Advanced.AutomatonTweakExclusions); + UiThemeUtils.EndCard(contentStartPos2, availableWidth2, drawList2); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawFeaturePausingSection(string header, ImmutableHashSet features, string conditionalFeature, string conditionalHelpText, HashSet exclusions) { bool open = _featurePausingOpenState.GetValueOrDefault(header); UiThemeUtils.ThemedAccordion(header, header, null, ref open); _featurePausingOpenState[header] = open; - int num = (open ? (-1750707235) : (-1750707234)); - string current = default(string); - bool value = default(bool); - while (true) + if (!open) { - int num2 = num; - int num3 = -1750707236; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + using (ImRaii.PushId(header)) + { + using (ImRaii.PushIndent()) { - case 0: - goto IL_0072; - case 2: - return; - case 1: - { - ImRaii.IdDisposable idDisposable = _206B_206F_206E_202A_206A_202C_206A_206E_200F_200F_206E_200B_206F_202A_200F_206C_200F_200C_202D_202C_206F_202E_202C_206C_202E_206E_206D_200C_200F_206A_202D_202A_206B_200D_200F_202B_200E_202A_206B_202B_202E((ImU8String)header, true); - try + foreach (string item in features.Order()) { - ImRaii.IndentDisposable indentDisposable = _206B_200F_206D_200B_206B_202B_202B_206E_200C_206B_202D_200B_206A_206A_202D_202D_202E_206F_200E_206F_206B_206A_206E_206F_202C_200D_200D_200C_202A_202E_206A_206A_206E_200C_200B_206F_200E_200F_200C_206A_202E(1, true); - try + bool value = !exclusions.Contains(item); + if (UiThemeUtils.WrappedCheckbox("Pause: " + item, ref value)) { - IEnumerator enumerator = features.Order().GetEnumerator(); - try + if (value) { - num = 405090622; - while (true) - { - int num7 = num; - num3 = 405090622; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 7: - num = 405090622; - break; - case 5: - exclusions.Add(current); - num = 405090623; - break; - case 3: - num = ((!value) ? 405090619 : 405090616); - break; - case 1: - Save(); - num = 405090622; - break; - case 6: - exclusions.Remove(current); - num = 405090623; - break; - case 0: - num = (_200F_200E_200C_206D_202B_206D_200F_202E_202D_206E_202D_200D_206B_206C_206C_206E_206C_202E_202E_202D_206E_200B_202E_200D_202B_206F_200F_206F_202B_202D_202E_202C_200E_206A_200F_206B_206F_206B_206E_200C_202E((IEnumerator)enumerator) ? 405090618 : 405090620); - break; - case 4: - current = enumerator.Current; - value = !exclusions.Contains(current); - num = ((!UiThemeUtils.WrappedCheckbox(_200E_206B_202D_206C_200F_200E_206E_206D_200B_200E_200E_202B_206C_200B_202A_200C_202B_200D_202B_206F_206B_200D_202D_206D_202E_200D_200F_206F_202C_202A_206E_200F_200C_206E_200C_200C_200F_200B_200F_206D_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(1770810253), current), ref value)) ? 405090622 : 405090621); - break; - case 2: - goto end_IL_00ad; - } - continue; - end_IL_00ad: - break; - } + exclusions.Remove(item); } - finally + else { - num = ((enumerator == null) ? 1271604246 : 1271604247); - while (true) - { - int num8 = num; - num3 = 1271604246; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 2: - num = 1271604247; - break; - case 0: - goto end_IL_01eb; - case 1: - _206A_206C_200B_200F_202E_200C_200B_200F_206A_206D_206E_202B_206F_202E_202C_206F_202A_200F_200D_200F_206B_202B_206F_200C_200E_200D_200D_202B_200F_206B_200F_202D_206E_206A_202E_200C_202A_202C_206E_206D_202E((IDisposable)enumerator); - num = 1271604246; - break; - } - continue; - end_IL_01eb: - break; - } - } - _202A_200D_200C_206D_202E_206B_202A_206A_202D_206F_202B_206A_206A_200B_206F_200B_200D_206E_206F_200B_200D_206D_202E_200E_206E_206F_202D_202C_206E_200F_202A_200E_202A_202E_202E_200E_200F_200F_200D_200E_202E(); - bool value2 = !exclusions.Contains(conditionalFeature); - num = ((!UiThemeUtils.WrappedCheckbox(_200E_206B_202D_206C_200F_200E_206E_206D_200B_200E_200E_202B_206C_200B_202A_200C_202B_200D_202B_206F_206B_200D_202D_206D_202E_200D_200F_206F_202C_202A_206E_200F_200C_206E_200C_200C_200F_200B_200F_206D_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1740411969), conditionalFeature), ref value2, conditionalHelpText)) ? (-1644162037) : (-1644162034)); - while (true) - { - int num11 = num; - num3 = -1644162038; - num4 = num11; - int num12 = num4 + num3; - int num13 = num4 & num3; - switch (num12 - (num13 + num13)) - { - case 6: - Save(); - num = -1644162037; - break; - case 5: - exclusions.Clear(); - Save(); - num = -1644162040; - break; - case 3: - exclusions.Remove(conditionalFeature); - num = -1644162036; - break; - case 7: - num = -1644162034; - break; - case 1: - _202A_200D_200C_206D_202E_206B_202A_206A_202D_206F_202B_206A_206A_200B_206F_200B_200D_206E_206F_200B_200D_206D_202E_200E_206E_206F_202D_202C_206E_200F_202A_200E_202A_202E_202E_200E_200F_200F_200D_200E_202E(); - num = ((!UiThemeUtils.DestructiveButton(FontAwesomeIcon.Undo, 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(105765014))) ? (-1644162040) : (-1644162033)); - break; - case 0: - exclusions.Add(conditionalFeature); - num = -1644162036; - break; - case 4: - num = ((!value2) ? (-1644162038) : (-1644162039)); - break; - case 2: - return; - } - } - } - finally - { - num = ((indentDisposable == null) ? 1350036527 : 1350036526); - while (true) - { - int num14 = num; - num3 = 1350036527; - num4 = num14; - int num15 = num4 + num3; - int num16 = num4 & num3; - switch (num15 - (num16 + num16)) - { - case 0: - goto end_IL_039a; - case 1: - _206A_206C_200B_200F_202E_200C_200B_200F_206A_206D_206E_202B_206F_202E_202C_206F_202A_200F_200D_200F_206B_202B_206F_200C_200E_200D_200D_202B_200F_206B_200F_202D_206E_206A_202E_200C_202A_202C_206E_206D_202E((IDisposable)indentDisposable); - num = 1350036527; - break; - case 2: - num = 1350036526; - break; - } - continue; - end_IL_039a: - break; + exclusions.Add(item); } + Save(); } } - finally + ImGui.Spacing(); + bool value2 = !exclusions.Contains(conditionalFeature); + if (UiThemeUtils.WrappedCheckbox("Pause: " + conditionalFeature, ref value2, conditionalHelpText)) { - num = ((idDisposable == null) ? (-687515506) : (-687515507)); - while (true) + if (value2) { - int num17 = num; - num3 = -687515508; - num4 = num17; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_0405; - case 1: - _206A_206C_200B_200F_202E_200C_200B_200F_206A_206D_206E_202B_206F_202E_202C_206F_202A_200F_200D_200F_206B_202B_206F_200C_200E_200D_200D_202B_200F_206B_200F_202D_206E_206A_202E_200C_202A_202C_206E_206D_202E((IDisposable)idDisposable); - num = -687515506; - break; - case 0: - num = -687515507; - break; - } - continue; - end_IL_0405: - break; + exclusions.Remove(conditionalFeature); } + else + { + exclusions.Add(conditionalFeature); + } + Save(); + } + ImGui.Spacing(); + if (UiThemeUtils.DestructiveButton(FontAwesomeIcon.Undo, "Reset to defaults")) + { + exclusions.Clear(); + Save(); } } - } - continue; - IL_0072: - num = -1750707234; } } - static void _200D_202C_200F_200F_206B_206B_200C_206F_206C_202A_206D_206C_202D_202A_200D_202A_202C_206D_206A_202A_200F_200B_202B_200F_202D_202E_206D_202D_206F_206D_200E_206C_200D_200F_206C_206D_206B_206B_202E_200E_202E() + private static void TryDelete(string path) { - ImGui.SameLine(); + try + { + File.Delete(path); + } + catch + { + } } - static ImRaii.IdDisposable _206B_206F_206E_202A_206A_202C_206A_206E_200F_200F_206E_200B_206F_202A_200F_206C_200F_200C_202D_202C_206F_202E_202C_206C_202E_206E_206D_200C_200F_206A_202D_202A_206B_200D_200F_202B_200E_202A_206B_202B_202E(ImU8String P_0, bool P_1) + private static long FileSize(string path) { - return ImRaii.PushId(P_0, P_1); + try + { + FileInfo fileInfo = new FileInfo(path); + long result; + if (fileInfo != null && fileInfo.Exists) + { + long length = fileInfo.Length; + result = length; + } + else + { + result = 0L; + } + return result; + } + catch + { + return 0L; + } } - static ImRaii.IndentDisposable _206B_200F_206D_200B_206B_202B_202B_206E_200C_206B_202D_200B_206A_206A_202D_202D_202E_206F_200E_206F_206B_206A_206E_206F_202C_200D_200D_200C_202A_202E_206A_206A_206E_200C_200B_206F_200E_200F_200C_206A_202E(int P_0, bool P_1) + private static string FormatBytes(long bytes) { - return ImRaii.PushIndent(P_0, P_1); - } - - static string _200E_206B_202D_206C_200F_200E_206E_206D_200B_200E_200E_202B_206C_200B_202A_200C_202B_200D_202B_206F_206B_200D_202D_206D_202E_200D_200F_206F_202C_202A_206E_200F_200C_206E_200C_200C_200F_200B_200F_206D_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static bool _200F_200E_200C_206D_202B_206D_200F_202E_202D_206E_202D_200D_206B_206C_206C_206E_206C_202E_202E_202D_206E_200B_202E_200D_202B_206F_200F_206F_202B_202D_202E_202C_200E_206A_200F_206B_206F_206B_206E_200C_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206A_206C_200B_200F_202E_200C_200B_200F_206A_206D_206E_202B_206F_202E_202C_206F_202A_200F_200D_200F_206B_202B_206F_200C_200E_200D_200D_202B_200F_206B_200F_202D_206E_206A_202E_200C_202A_202C_206E_206D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _202A_200D_200C_206D_202E_206B_202A_206A_202D_206F_202B_206A_206A_200B_206F_200B_200D_206E_206F_200B_200D_206D_202E_200E_206E_206F_202D_202C_206E_200F_202A_200E_202A_202E_202E_200E_200F_200F_200D_200E_202E() - { - ImGui.Spacing(); + if (bytes < 1048576) + { + if (bytes >= 1024) + { + return $"{(double)bytes / 1024.0:F1} KB"; + } + return $"{bytes} B"; + } + return $"{(double)bytes / 1048576.0:F1} MB"; } } diff --git a/Questionable/Questionable.Windows.ConfigComponents/DutyConfigComponent.cs b/Questionable/Questionable.Windows.ConfigComponents/DutyConfigComponent.cs index cdb3eb7..077ea06 100644 --- a/Questionable/Questionable.Windows.ConfigComponents/DutyConfigComponent.cs +++ b/Questionable/Questionable.Windows.ConfigComponents/DutyConfigComponent.cs @@ -1,12 +1,8 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Bindings.ImGui; -using Dalamud.Game.Text.SeStringHandling; using Dalamud.Interface; using Dalamud.Interface.Utility.Raii; using Dalamud.Plugin; @@ -14,7 +10,6 @@ using Dalamud.Plugin.Services; using Dalamud.Utility; using Lumina.Excel; using Lumina.Excel.Sheets; -using Lumina.Text.ReadOnly; using Questionable.Data; using Questionable.External; using Questionable.Model; @@ -24,210 +19,7 @@ namespace Questionable.Windows.ConfigComponents; internal sealed class DutyConfigComponent : ConfigComponent { - private sealed record DutyInfo(uint CfcId, uint TerritoryId, string Name, int Level) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206E_202A_202D_206F_202E_200F_206E_202E_202E_202C_200C_206B_202C_200F_206E_206D_202D_206E_206E_202B_200B_206E_200E_206E_206F_202B_200F_202A_206C_206C_206A_206B_206B_202C_202C_206A_200B_202B_206B_206A_202E(typeof(DutyInfo).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202E_206D_206E_202B_200F_202D_202C_202A_206B_206B_200F_206F_206D_206A_206E_202C_206B_200C_206B_200B_202C_206A_206E_206C_206A_206E_206A_202C_200C_200C_202E_202B_206B_200C_200F_206D_200B_206F_202D_206F_202E(); - _206B_200D_200B_202E_206C_200E_206D_206E_200F_200D_206C_200C_202A_200B_202A_200E_200E_200D_202C_206D_202A_202E_202C_206D_200E_200C_200F_206D_202A_202B_202C_202D_202A_200F_206F_206B_202D_200F_200B_202E_202E(stringBuilder, 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(1146569186)); - _206B_200D_200B_202E_206C_200E_206D_206E_200F_200D_206C_200C_202A_200B_202A_200E_200E_200D_202C_206D_202A_202E_202C_206D_200E_200C_200F_206D_202A_202B_202C_202D_202A_200F_206F_206B_202D_200F_200B_202E_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? 293488302 : 293488301); - while (true) - { - int num2 = num; - int num3 = 293488300; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 293488301; - break; - case 2: - _202C_206B_200E_202E_202A_206E_200B_206A_206F_200D_206D_202E_202B_206B_202A_200D_202E_206E_200B_202A_206A_206F_202D_206D_206C_206B_202B_206F_202A_202D_202D_200B_202A_202D_202A_202C_200F_202C_206C_206E_202E(stringBuilder, '}'); - return _202B_200D_202C_202A_206C_206F_202D_202B_206B_202E_202A_206A_202A_200B_206C_206C_206B_202C_202D_206E_206C_202D_206C_206A_202D_202A_200F_206C_200D_200D_206B_206D_206B_206C_206E_202A_200B_206F_206F_200C_202E((object)stringBuilder); - case 1: - _202C_206B_200E_202E_202A_206E_200B_206A_206F_200D_206D_202E_202B_206B_202A_200D_202E_206E_200B_202A_206A_206F_202D_206D_206C_206B_202B_206F_202A_202D_202D_200B_202A_202D_202A_202C_200F_202C_206C_206E_202E(stringBuilder, ' '); - num = 293488302; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200C_202E_206F_200F_206B_206E_202A_202E_202A_202C_202B_200E_200B_200E_202D_200C_200E_206A_200C_206C_202C_202B_200B_202E_200E_206E_206E_202A_202D_200E_206D_202A_200D_206D_206A_206D_202C_202E_202C_206F_202E(); - _206B_200D_200B_202E_206C_200E_206D_206E_200F_200D_206C_200C_202A_200B_202A_200E_200E_200D_202C_206D_202A_202E_202C_206D_200E_200C_200F_206D_202A_202B_202C_202D_202A_200F_206F_206B_202D_200F_200B_202E_202E(builder, 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(1846737607)); - _206B_200D_200B_202E_206C_200E_206D_206E_200F_200D_206C_200C_202A_200B_202A_200E_200E_200D_202C_206D_202A_202E_202C_206D_200E_200C_200F_206D_202A_202B_202C_202D_202A_200F_206F_206B_202D_200F_200B_202E_202E(builder, CfcId.ToString()); - _206B_200D_200B_202E_206C_200E_206D_206E_200F_200D_206C_200C_202A_200B_202A_200E_200E_200D_202C_206D_202A_202E_202C_206D_200E_200C_200F_206D_202A_202B_202C_202D_202A_200F_206F_206B_202D_200F_200B_202E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(647715754)); - _206B_200D_200B_202E_206C_200E_206D_206E_200F_200D_206C_200C_202A_200B_202A_200E_200E_200D_202C_206D_202A_202E_202C_206D_200E_200C_200F_206D_202A_202B_202C_202D_202A_200F_206F_206B_202D_200F_200B_202E_202E(builder, TerritoryId.ToString()); - _206B_200D_200B_202E_206C_200E_206D_206E_200F_200D_206C_200C_202A_200B_202A_200E_200E_200D_202C_206D_202A_202E_202C_206D_200E_200C_200F_206D_202A_202B_202C_202D_202A_200F_206F_206B_202D_200F_200B_202E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2011877509)); - _200D_202C_202C_200F_202E_206F_202D_206E_202D_206C_206C_202A_206C_206D_206D_206C_202E_200B_206B_200C_206C_200C_202C_206E_206E_202C_206A_202B_200C_202B_206C_202B_202D_202D_202D_200C_200B_202B_206F_206D_202E(builder, (object)Name); - _206B_200D_200B_202E_206C_200E_206D_206E_200F_200D_206C_200C_202A_200B_202A_200E_200E_200D_202C_206D_202A_202E_202C_206D_200E_200C_200F_206D_202A_202B_202C_202D_202A_200F_206F_206B_202D_200F_200B_202E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-26801213)); - _206B_200D_200B_202E_206C_200E_206D_206E_200F_200D_206C_200C_202A_200B_202A_200E_200E_200D_202C_206D_202A_202E_202C_206D_200E_200C_200F_206D_202A_202B_202C_202D_202A_200F_206F_206B_202D_200F_200B_202E_202E(builder, Level.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(DutyInfo? other) - { - int num = (((object)this == other) ? 942730558 : 942730556); - while (true) - { - int num2 = num; - int num3 = 942730559; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return true; - case 4: - return EqualityComparer.Default.Equals(Level, other.Level); - case 8: - num = ((!EqualityComparer.Default.Equals(Name, other.Name)) ? 942730554 : 942730555); - break; - case 5: - return false; - case 0: - num = 942730556; - break; - case 6: - num = ((!EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId)) ? 942730554 : 942730551); - break; - case 3: - num = (((object)other == null) ? 942730554 : 942730552); - break; - case 7: - num = ((!_206D_202A_200F_200F_202C_200D_200B_200B_206E_200B_206B_206E_206A_206E_206D_200D_206E_206C_202B_206D_206B_206C_200C_202D_200F_202D_206A_200B_206C_200F_202A_206F_202B_202A_200B_206A_202C_202E_200E_206C_202E(EqualityContract, other.EqualityContract)) ? 942730554 : 942730557); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(CfcId, other.CfcId)) ? 942730554 : 942730553); - break; - } - } - } - - bool IEquatable.Equals(DutyInfo? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206E_202A_202D_206F_202E_200F_206E_202E_202E_202C_200C_206B_202C_200F_206E_206D_202D_206E_206E_202B_200B_206E_200E_206E_206F_202B_200F_202A_206C_206C_206A_206B_206B_202C_202C_206A_200B_202B_206B_206A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202E_206D_206E_202B_200F_202D_202C_202A_206B_206B_200F_206F_206D_206A_206E_202C_206B_200C_206B_200B_202C_206A_206E_206C_206A_206E_206A_202C_200C_200C_202E_202B_206B_200C_200F_206D_200B_206F_202D_206F_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206B_200D_200B_202E_206C_200E_206D_206E_200F_200D_206C_200C_202A_200B_202A_200E_200E_200D_202C_206D_202A_202E_202C_206D_200E_200C_200F_206D_202A_202B_202C_202D_202A_200F_206F_206B_202D_200F_200B_202E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202C_206B_200E_202E_202A_206E_200B_206A_206F_200D_206D_202E_202B_206B_202A_200D_202E_206E_200B_202A_206A_206F_202D_206D_206C_206B_202B_206F_202A_202D_202D_200B_202A_202D_202A_202C_200F_202C_206C_206E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202B_200D_202C_202A_206C_206F_202D_202B_206B_202E_202A_206A_202A_200B_206C_206C_206B_202C_202D_206E_206C_202D_206C_206A_202D_202A_200F_206C_200D_200D_206B_206D_206B_206C_206E_202A_200B_206F_206F_200C_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200C_202E_206F_200F_206B_206E_202A_202E_202A_202C_202B_200E_200B_200E_202D_200C_200E_206A_200C_206C_202C_202B_200B_202E_200E_206E_206E_202A_202D_200E_206D_202A_200D_206D_206A_206D_202C_202E_202C_206F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200D_202C_202C_200F_202E_206F_202D_206E_202D_206C_206C_202A_206C_206D_206D_206C_202E_200B_206B_200C_206C_200C_202C_206E_206E_202C_206A_202B_200C_202B_206C_202B_202D_202D_202D_200C_200B_202B_206F_206D_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206D_202A_200F_200F_202C_200D_200B_200B_206E_200B_206B_206E_206A_206E_206D_200D_206E_206C_202B_206D_206B_206C_200C_202D_200F_202D_206A_200B_206C_200F_202A_206F_202B_202A_200B_206A_202C_202E_200E_206C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass15_0 - { - public uint contentTypeId; - - public uint? contentMemberTypeId; - - public TerritoryData territoryData; - - internal bool _003CLoadContentByType_003Eb__0(ContentFinderCondition x) - { - int num = ((x.RowId == 0) ? 400458494 : 400458492); - while (true) - { - int num2 = num; - int num3 = 400458495; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 400458492; - break; - case 1: - return false; - case 0: - return x.ContentType.RowId == contentTypeId; - case 3: - num = ((x.Content.RowId == 0) ? 400458494 : 400458495); - break; - } - } - } - - internal bool _003CLoadContentByType_003Eb__1(ContentFinderCondition x) - { - return x.ContentMemberType.RowId == contentMemberTypeId.Value; - } - - internal _003C_003Ef__AnonymousType3 _003CLoadContentByType_003Eb__2(ContentFinderCondition x) - { - return new - { - Expansion = (EExpansionVersion)x.TerritoryType.Value.ExVersion.RowId, - CfcId = x.RowId, - Name = (territoryData.GetContentFinderCondition(x.RowId)?.Name ?? _200F_206A_202D_200E_200C_206D_200C_200F_202E_202E_200E_200C_206E_202A_200E_200C_200D_202D_200D_206E_206A_206B_202A_200C_206B_206E_206F_206C_202A_202C_200B_206A_202C_206E_200D_202A_202D_206B_200C_202A_202E((object)_200C_200C_206E_202D_200C_202E_202B_206D_202A_206A_206E_202A_202E_202A_206B_202E_206E_200F_202D_206C_206E_200F_206A_200D_206E_200F_206C_200D_206E_206F_202B_206F_206C_206F_202C_202C_206F_200D_206B_200E_202E(x.Name))), - TerritoryId = x.TerritoryType.RowId, - Level = x.ClassJobLevelRequired, - SortKey = x.SortKey - }; - } - - static SeString _200C_200C_206E_202D_200C_202E_202B_206D_202A_206A_206E_202A_202E_202A_206B_202E_206E_200F_202D_206C_206E_200F_206A_200D_206E_200F_206C_200D_206E_206F_202B_206F_206C_206F_202C_202C_206F_200D_206B_200E_202E(ReadOnlySeString P_0) - { - return P_0.ToDalamudString(); - } - - static string _200F_206A_202D_200E_200C_206D_200C_200F_202E_202E_200E_200C_206E_202A_200E_200C_200D_202D_200D_206E_206A_206B_202A_200C_206B_206E_206F_206C_202A_202C_200B_206A_202C_206E_200D_202A_202D_206B_200C_202A_202E(object P_0) - { - return P_0.ToString(); - } - } + private sealed record DutyInfo(uint CfcId, uint TerritoryId, string Name, int Level); private const string DutyClipboardPrefix = "qst:duty:"; @@ -241,20 +33,9 @@ internal sealed class DutyConfigComponent : ConfigComponent private const uint MemberTypeAllianceRaid = 4u; - private static readonly string[] DutyModeLabels = new string[3] - { - 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(1157663531), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(50543630), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(434039918) - }; + private static readonly string[] DutyModeLabels = new string[3] { "Duty Support", "Unsync (Solo)", "Unsync (Party)" }; - private static readonly string[] DutyTabLabels = new string[4] - { - 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(1287674180), - 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(865548791), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-649399310), - 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(1881943890) - }; + private static readonly string[] DutyTabLabels = new string[4] { "Dungeons", "Trials", "Normal Raids", "Alliance Raids" }; private readonly AutoDutyIpc _autoDutyIpc; @@ -281,1278 +62,346 @@ internal sealed class DutyConfigComponent : ConfigComponent private static Dictionary> LoadContentByType(ExcelSheet sheet, TerritoryData territoryData, uint contentTypeId, uint? contentMemberTypeId = null) { - IEnumerable source = sheet.Where(delegate(ContentFinderCondition x) + IEnumerable source = sheet.Where((ContentFinderCondition x) => x.RowId != 0 && x.Content.RowId != 0 && x.ContentType.RowId == contentTypeId); + if (contentMemberTypeId.HasValue) { - int num5 = ((x.RowId == 0) ? 400458494 : 400458492); - while (true) - { - int num6 = num5; - int num7 = 400458495; - int num8 = num6; - switch ((num8 | num7) - (num8 & num7)) - { - case 2: - num5 = 400458492; - break; - case 1: - return false; - case 0: - return x.ContentType.RowId == contentTypeId; - case 3: - num5 = ((x.Content.RowId == 0) ? 400458494 : 400458495); - break; - } - } - }); - int num = ((!contentMemberTypeId.HasValue) ? (-2060936807) : (-2060936808)); - while (true) - { - int num2 = num; - int num3 = -2060936807; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return (from x in source - select new - { - Expansion = (EExpansionVersion)x.TerritoryType.Value.ExVersion.RowId, - CfcId = x.RowId, - Name = (territoryData.GetContentFinderCondition(x.RowId)?.Name ?? _003C_003Ec__DisplayClass15_0._200F_206A_202D_200E_200C_206D_200C_200F_202E_202E_200E_200C_206E_202A_200E_200C_200D_202D_200D_206E_206A_206B_202A_200C_206B_206E_206F_206C_202A_202C_200B_206A_202C_206E_200D_202A_202D_206B_200C_202A_202E((object)_003C_003Ec__DisplayClass15_0._200C_200C_206E_202D_200C_202E_202B_206D_202A_206A_206E_202A_202E_202A_206B_202E_206E_200F_202D_206C_206E_200F_206A_200D_206E_200F_206C_200D_206E_206F_202B_206F_206C_206F_202C_202C_206F_200D_206B_200E_202E(x.Name))), - TerritoryId = x.TerritoryType.RowId, - Level = x.ClassJobLevelRequired, - SortKey = x.SortKey - } into x - orderby x.SortKey - group x by x.Expansion).ToDictionary(x => x.Key, x => x.Select(y => new DutyInfo(y.CfcId, y.TerritoryId, y.Name, y.Level)).ToList()); - case 1: - source = source.Where((ContentFinderCondition x) => x.ContentMemberType.RowId == contentMemberTypeId.Value); - num = -2060936807; - break; - case 2: - num = -2060936808; - break; - } + source = source.Where((ContentFinderCondition x) => x.ContentMemberType.RowId == contentMemberTypeId.Value); } + return (from x in source + select new + { + Expansion = (EExpansionVersion)x.TerritoryType.Value.ExVersion.RowId, + CfcId = x.RowId, + Name = (territoryData.GetContentFinderCondition(x.RowId)?.Name ?? x.Name.ToDalamudString().ToString()), + TerritoryId = x.TerritoryType.RowId, + Level = x.ClassJobLevelRequired, + SortKey = x.SortKey + } into x + orderby x.SortKey + group x by x.Expansion).ToDictionary(x => x.Key, x => x.Select(y => new DutyInfo(y.CfcId, y.TerritoryId, y.Name, y.Level)).ToList()); } - [MethodImpl(MethodImplOptions.NoInlining)] public void DrawAutoDutySettings() { bool value = base.Configuration.Duties.RunInstancedContentWithAutoDuty; - int num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2060290040), ref value, 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(1676853483))) ? 318863839 : 318863836); - bool value4 = default(bool); - int currentItem = default(int); - while (true) + if (UiThemeUtils.WrappedCheckbox("Run instanced content with AutoDuty and BossMod", ref value, "The combat module used for this is configured by AutoDuty, ignoring whichever selection you've made in Questionable's \"General\" configuration.\n\nWork in Progress:\n• Duty Support mode is limited.\n• Unsynced modes require being significantly overleveled or having a high-level party member.\n• Most players will need to use Duty Support mode when progressing normally through the game.")) { - int num2 = num; - int num3 = 318863838; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + base.Configuration.Duties.RunInstancedContentWithAutoDuty = value; + Save(); + } + using (ImRaii.Disabled(!value)) + { + bool value2 = base.Configuration.Duties.RunLevelingModeWhenUnderleveled; + if (UiThemeUtils.WrappedCheckbox("Run AutoDuty Leveling mode when underleveled for MSQ", ref value2, "When enabled, Questionable will automatically run AutoDuty's Leveling mode when your character is underleveled for the next Main Scenario Quest.\n\nLeveling mode runs the highest available dungeon for your level to gain XP.\n\nThis is useful for characters without the Road to 90 XP buff who may not have enough XP to continue the MSQ.")) { - case 0: - num = 318863836; - break; - case 2: - base.Configuration.Duties.RunInstancedContentWithAutoDuty = value; + base.Configuration.Duties.RunLevelingModeWhenUnderleveled = value2; Save(); - num = 318863839; - break; - case 1: - { - ImRaii.DisabledDisposable disabledDisposable = _200F_206A_206C_200C_200F_206C_206E_200D_206A_200D_200E_200B_200D_206D_200C_200C_206D_206E_202B_200F_206C_200B_206E_206D_202C_200F_206F_202D_200C_202B_206B_202E_206D_202D_206E_206D_200F_206E_206D_206B_202E(!value); - try - { - bool value2 = base.Configuration.Duties.RunLevelingModeWhenUnderleveled; - num = ((!UiThemeUtils.WrappedCheckbox(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(1812413781), ref value2, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1998973478))) ? (-278783301) : (-278783298)); - while (true) - { - int num5 = num; - num3 = -278783297; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 6: - num = -278783298; - break; - case 4: - value4 = base.Configuration.Duties.AutoUnsyncOverleveled; - num = ((!UiThemeUtils.WrappedCheckbox(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(-587123705), ref value4, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1027843476))) ? (-278783302) : (-278783297)); - break; - case 1: - base.Configuration.Duties.RunLevelingModeWhenUnderleveled = value2; - Save(); - num = -278783301; - break; - case 5: - _202C_200D_200C_206B_206A_200F_202A_200F_206D_202A_202B_200D_200C_206A_200B_200D_206F_200D_202D_206C_206C_202E_206A_200F_200E_206A_206B_200E_202C_206A_202D_200E_200E_200F_206D_206A_206C_200F_206D_202D_202E(); - _206A_200C_206F_202B_202E_202C_206F_202D_206B_206C_200F_206B_206A_206D_202A_200F_202D_206D_202B_200D_202E_202B_200B_200F_200E_206E_200F_206E_206E_202B_202C_202B_206C_200D_202B_202B_202E_202E_200B_206E_202E((ImU8String)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(1289186878)); - _200D_200F_200F_206E_206A_200F_202D_200C_202B_200B_200D_206A_206F_206E_202D_200D_202E_200F_200C_206D_206A_202D_200F_206B_202D_206F_202E_206B_206E_202A_200F_202B_202D_202A_202A_200C_206C_200F_200F_200F_202E(); - currentItem = (int)base.Configuration.Duties.DefaultDutyMode; - _206C_200F_206A_200C_200D_206F_200E_200C_202D_200F_206D_202C_202A_202D_206E_206E_200E_206B_200B_202E_206F_200C_200C_206E_200E_206C_202E_206C_202C_202E_200E_206A_200C_202C_206A_202B_200E_202C_206B_202D_202E(_200B_200C_202D_202D_202D_206A_200F_200F_206B_206B_200E_202C_206F_202A_206F_200B_202C_200B_206B_206E_202C_200F_200C_206E_202B_200C_200B_200B_202A_206D_202A_200B_202C_202B_206C_206B_200D_200C_200F_202E_202E(_206C_202B_200C_206C_206D_200C_202D_206C_206B_202B_200C_202B_206C_200E_200E_200B_202B_200B_206A_200F_200E_202A_200F_202C_206E_206C_206E_202D_200F_206D_202D_206E_206E_206C_206A_206C_206D_206E_200E_200F_202E().X * 0.6f, 260f)); - num = ((!UiThemeUtils.ThemedCombo(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(532662937), ref currentItem, DutyModeLabels, DutyModeLabels.Length)) ? (-278783300) : (-278783299)); - break; - case 0: - base.Configuration.Duties.AutoUnsyncOverleveled = value4; - Save(); - num = -278783302; - break; - case 2: - base.Configuration.Duties.DefaultDutyMode = (EDutyMode)currentItem; - Save(); - num = -278783300; - break; - case 3: - { - _200D_200F_200F_206E_206A_200F_202D_200C_202B_200B_200D_206A_206F_206E_202D_200D_202E_200F_200C_206D_206A_202D_200F_206B_202D_206F_202E_206B_206E_202A_200F_202B_202D_202A_202A_200C_206C_200F_200F_200F_202E(); - UiThemeUtils.InfoIcon(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(-1150864325)); - _202C_200D_200C_206B_206A_200F_202A_200F_206D_202A_202B_200D_200C_206A_200B_200D_206F_200D_202D_206C_206C_202E_206A_200F_200E_206A_206B_200E_202C_206A_202D_200E_200E_200F_206D_206A_206C_200F_206D_202D_202E(); - UiThemeUtils.SubSectionHeader(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(928732696)); - ImRaii.IndentDisposable indentDisposable = _200C_200F_202D_200C_202E_200B_206E_206E_206F_206F_206F_202D_200E_200D_200E_202A_206D_202C_202C_202C_206F_202C_206A_200C_200C_206B_200C_206A_200D_200F_206F_206A_206F_206D_200D_200C_200D_200F_202E_202C_202E(1, true); - try - { - bool value3 = base.Configuration.Advanced.DisableAutoDutyBareMode; - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(544332955), ref value3, 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(1104098155))) ? 1613386781 : 1613386782); - while (true) - { - int num8 = num; - num3 = 1613386780; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1613386782; - break; - case 2: - base.Configuration.Advanced.DisableAutoDutyBareMode = value3; - Save(); - num = 1613386781; - break; - case 1: - return; - } - } - } - finally - { - num = ((indentDisposable == null) ? (-1890100848) : (-1890100845)); - while (true) - { - int num9 = num; - num3 = -1890100846; - num4 = num9; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1890100845; - break; - case 1: - _200F_200B_202A_206D_206F_200C_202A_202A_202B_200E_202B_206C_200E_200C_206D_206A_202E_200E_202B_200F_202B_200E_206F_202C_206D_202E_200D_206F_200C_200E_202E_200F_200C_200F_200E_202D_200D_206F_202E((IDisposable)indentDisposable); - num = -1890100848; - break; - case 2: - goto end_IL_0378; - } - continue; - end_IL_0378: - break; - } - } - } - } - } - } - finally - { - num = ((disabledDisposable == null) ? 1022367676 : 1022367677); - while (true) - { - int num10 = num; - num3 = 1022367676; - num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1022367677; - break; - case 1: - _200F_200B_202A_206D_206F_200C_202A_202A_202B_200E_202B_206C_200E_200C_206D_206A_202E_200E_202B_200F_202B_200E_206F_202C_206D_202E_200D_206F_200C_200E_202E_200F_200C_200F_200E_202D_200D_206F_202E((IDisposable)disabledDisposable); - num = 1022367676; - break; - case 0: - goto end_IL_03e2; - } - continue; - end_IL_03e2: - break; - } - } } + bool value3 = base.Configuration.Duties.AutoUnsyncOverleveled; + if (UiThemeUtils.WrappedCheckbox("Run dungeons unsynced when safely overleveled", ref value3, "Runs 4-man dungeons solo as an unrestricted party instead of with Duty Support if you are at least 15 levels above the dungeon's level sync, or 10 levels above with an item level advantage of 100 or more.\n\nOnly applies when the default duty mode is Duty Support and the dungeon has no built-in or manually configured duty mode.")) + { + base.Configuration.Duties.AutoUnsyncOverleveled = value3; + Save(); + } + ImGui.Spacing(); + ImGui.Text("Default duty mode:"); + ImGui.SameLine(); + int currentItem = (int)base.Configuration.Duties.DefaultDutyMode; + ImGui.SetNextItemWidth(MathF.Min(ImGui.GetContentRegionAvail().X * 0.6f, 260f)); + if (UiThemeUtils.ThemedCombo("##DefaultDutyMode", ref currentItem, DutyModeLabels, DutyModeLabels.Length)) + { + base.Configuration.Duties.DefaultDutyMode = (EDutyMode)currentItem; + Save(); + } + ImGui.SameLine(); + UiThemeUtils.InfoIcon("Duty Support: Run with NPC party members (level synced)\nUnsync (Solo): Run alone at your current level (unsynced)\nUnsync (Party): Run with your party at current level (unsynced)\n\nYou can override this setting for individual duties below."); + ImGui.Spacing(); + UiThemeUtils.SubSectionHeader("AutoDuty loop mode (advanced)"); + using (ImRaii.PushIndent()) + { + bool value4 = base.Configuration.Advanced.DisableAutoDutyBareMode; + if (UiThemeUtils.WrappedCheckbox("Use Pre-Loop/Loop/Post-Loop settings", ref value4, "Typically, the loop settings for AutoDuty are disabled when running dungeons with Questionable, since they can cause issues (or even shut down your PC).")) + { + base.Configuration.Advanced.DisableAutoDutyBareMode = value4; + Save(); + } } } } - [MethodImpl(MethodImplOptions.NoInlining)] public override void DrawTab() { - UiThemeUtils.SectionHeader(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(-313400600)); - _202C_200D_200C_206B_206A_200F_202A_200F_206D_202A_202B_200D_200C_206A_200B_200D_206F_200D_202D_206C_206C_202E_206A_200F_200E_206A_206B_200E_202C_206A_202D_200E_200E_200F_206D_206A_206C_200F_206D_202D_202E(); + UiThemeUtils.SectionHeader("Duty Settings"); + ImGui.Spacing(); var (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); DrawAutoDutySettings(); UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); UiThemeUtils.SectionSpacing(); bool runInstancedContentWithAutoDuty = base.Configuration.Duties.RunInstancedContentWithAutoDuty; - ImRaii.DisabledDisposable disabledDisposable = _200F_206A_206C_200C_200F_206C_206E_200D_206A_200D_200E_200B_200D_206D_200C_200C_206D_206E_202B_200F_206C_200B_206E_206D_202C_200F_206F_202D_200C_202B_206B_202E_206D_202D_206E_206D_200F_206E_206D_206B_202E(!runInstancedContentWithAutoDuty); - try + using (ImRaii.Disabled(!runInstancedContentWithAutoDuty)) { - UiThemeUtils.SectionHeader(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-179062299)); - _202C_200D_200C_206B_206A_200F_202A_200F_206D_202A_202B_200D_200C_206A_200B_200D_206F_200D_202D_206C_206C_202E_206A_200F_200E_206A_206B_200E_202C_206A_202D_200E_200E_200F_206D_206A_206C_200F_206D_202D_202E(); + UiThemeUtils.SectionHeader("Duty Overrides"); + ImGui.Spacing(); (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple2 = UiThemeUtils.BeginCard(); Vector2 item = tuple2.ContentStartPos; float item2 = tuple2.AvailableWidth; ImDrawListPtr item3 = tuple2.DrawList; - int selectedDutyTab = _selectedDutyTab; - int num = 1; - int num2 = selectedDutyTab; - int num3; - Dictionary> dictionary = default(Dictionary>); - switch (~(~num2 + num)) + Dictionary> contentByExpansion = _selectedDutyTab switch { - default: - num3 = 1928784944; - goto IL_00bf; - case 1: - dictionary = _allNormalRaidNames; - num3 = 1928784949; - goto IL_00bf; - case 0: - goto IL_0263; - case 2: - goto IL_0277; - IL_00bf: - while (true) - { - int num4 = num3; - num = 1928784947; - num2 = num4; - int num5 = num2 + num; - int num6 = num2 & num; - switch (num5 - (num6 + num6)) - { - case 6: - goto IL_0105; - case 3: - num3 = 1928784955; - break; - case 5: - base.Configuration.Duties.WhitelistedDutyCfcIds.Clear(); - base.Configuration.Duties.BlacklistedDutyCfcIds.Clear(); - base.Configuration.Duties.DutyModeOverrides.Clear(); - base.Configuration.Duties.DefaultDutyMode = EDutyMode.Support; - Save(); - num3 = 1928784947; - break; - case 8: - dictionary = _contentFinderConditionNames; - num3 = 1928784949; - break; - case 1: - goto end_IL_00bf; - case 7: - goto IL_0263; - case 4: - goto IL_0277; - case 2: - num3 = 1928784944; - break; - case 0: - UiThemeUtils.EndCard(item, item2, item3); - return; - } - continue; - IL_0105: - Dictionary> contentByExpansion = dictionary; - _selectedDutyTab = UiThemeUtils.DrawTabBar(DutyTabLabels, _selectedDutyTab); - _202C_206B_202D_202C_206D_202D_206A_200D_200F_200D_202A_200E_206E_200E_200F_206D_206F_200B_202D_206D_206C_206F_200C_200E_206E_202B_200E_202C_200E_202E_206B_200E_206B_200F_200B_202C_200B_206C_206D_206F_202E(_206E_200D_206C_202C_206F_206D_206F_200E_200B_206A_200F_202B_202A_200B_202C_206C_202B_206A_206A_202B_206C_206E_206E_200D_200D_200D_206C_206F_202B_200D_206E_200C_206E_202C_206D_200E_202C_206D_206A_200F_202E() - _206A_200E_202B_202A_202C_200B_202C_206A_200B_202A_200F_206C_206D_206A_200B_202C_200E_206E_200D_206D_202B_206E_206C_200B_200F_202B_206C_200D_200B_202A_200E_200F_206A_206D_202E_200B_202D_202B_202D_202C_202E().ItemSpacing.Y); - DrawConfigTable(runInstancedContentWithAutoDuty, contentByExpansion); - DrawEnableAllButton(); - _200D_200F_200F_206E_206A_200F_202D_200C_202B_200B_200D_206A_206F_206E_202D_200D_202E_200F_200C_206D_206A_202D_200F_206B_202D_206F_202E_206B_206E_202A_200F_202B_202D_202A_202A_200C_206C_200F_200F_200F_202E(); - DrawClipboardButtons(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-21348437), base.Configuration.Duties.WhitelistedDutyCfcIds, base.Configuration.Duties.BlacklistedDutyCfcIds, base.Configuration.Duties.DutyModeOverrides); - _200D_200F_200F_206E_206A_200F_202D_200C_202B_200B_200D_206A_206F_206E_202D_200D_202E_200F_200C_206D_206A_202D_200F_206B_202D_206F_202E_206B_206E_202A_200F_202B_202D_202A_202A_200C_206C_200F_200F_200F_202E(); - num3 = ((!UiThemeUtils.DestructiveButton(FontAwesomeIcon.Undo, 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(-2054737015))) ? 1928784947 : 1928784950); - continue; - end_IL_00bf: - break; - } - goto case 1; - IL_0277: - dictionary = _allAllianceRaidNames; - num3 = 1928784949; - goto IL_00bf; - IL_0263: - dictionary = _allTrialNames; - num3 = 1928784949; - goto IL_00bf; - } - } - finally - { - int num3 = ((disabledDisposable == null) ? 900259007 : 900259004); - while (true) + 1 => _allTrialNames, + 2 => _allNormalRaidNames, + 3 => _allAllianceRaidNames, + _ => _contentFinderConditionNames, + }; + _selectedDutyTab = UiThemeUtils.DrawTabBar(DutyTabLabels, _selectedDutyTab); + ImGui.SetCursorPosY(ImGui.GetCursorPosY() - ImGui.GetStyle().ItemSpacing.Y); + DrawConfigTable(runInstancedContentWithAutoDuty, contentByExpansion); + DrawEnableAllButton(); + ImGui.SameLine(); + DrawClipboardButtons("qst:duty:", base.Configuration.Duties.WhitelistedDutyCfcIds, base.Configuration.Duties.BlacklistedDutyCfcIds, base.Configuration.Duties.DutyModeOverrides); + ImGui.SameLine(); + if (UiThemeUtils.DestructiveButton(FontAwesomeIcon.Undo, "Reset to defaults")) { - int num7 = num3; - int num = 900259006; - int num2 = num7; - int num8 = num2 + num; - int num9 = num2 & num; - switch (num8 - (num9 + num9)) - { - case 0: - num3 = 900259004; - break; - case 1: - goto end_IL_02c6; - case 2: - _200F_200B_202A_206D_206F_200C_202A_202A_202B_200E_202B_206C_200E_200C_206D_206A_202E_200E_202B_200F_202B_200E_206F_202C_206D_202E_200D_206F_200C_200E_202E_200F_200C_200F_200E_202D_200D_206F_202E((IDisposable)disabledDisposable); - num3 = 900259007; - break; - } - continue; - end_IL_02c6: - break; + base.Configuration.Duties.WhitelistedDutyCfcIds.Clear(); + base.Configuration.Duties.BlacklistedDutyCfcIds.Clear(); + base.Configuration.Duties.DutyModeOverrides.Clear(); + base.Configuration.Duties.DefaultDutyMode = EDutyMode.Support; + Save(); } + UiThemeUtils.EndCard(item, item2, item3); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawConfigTable(bool runInstancedContentWithAutoDuty, Dictionary> contentByExpansion) { - Vector2 vector = _206C_202B_200C_206C_206D_200C_202D_206C_206B_202B_200C_202B_206C_200E_200E_200B_202B_200B_206A_200F_200E_202A_200F_202C_206E_206C_206E_202D_200F_206D_202D_206E_206E_206C_206A_206C_206D_206E_200E_200F_202E(); - using ImRaii.ChildDisposable childDisposable = _202C_202B_200E_206C_202B_206A_206A_206D_206C_202C_202B_206D_206A_206B_206E_200F_206A_206B_202C_206A_200D_206D_200F_200B_206D_200D_206F_200C_200B_202B_200B_202B_206C_202E_202A_200D_200F_200C_206B_200F_202E((ImU8String)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(-842817394), new Vector2(vector.X, _206E_202A_206C_202C_206F_200E_200C_206F_206F_202C_206E_206B_202D_206B_206B_202A_206F_206C_200C_206F_200C_202B_200F_206F_202A_206C_206B_200F_206A_200F_206F_206A_206E_206A_206B_202A_200B_206B_202E_206B_202E(vector.Y - 30f - 12f, 200f)), true); - int num = ((!(!childDisposable)) ? 397429394 : 397429395); - string text = default(string); - bool open = default(bool); - List value = default(List); - EDutyMode eDutyMode = default(EDutyMode); - int currentItem2 = default(int); - while (true) + Vector2 contentRegionAvail = ImGui.GetContentRegionAvail(); + using ImRaii.ChildDisposable childDisposable = ImRaii.Child("DutyConfiguration", new Vector2(contentRegionAvail.X, MathF.Max(contentRegionAvail.Y - 30f - 12f, 200f)), border: true); + if (!childDisposable) { - int num2 = num; - int num3 = 397429394; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + Dictionary expansionHeaderStates = base.Configuration.Duties.ExpansionHeaderStates; + EExpansionVersion[] values = Enum.GetValues(); + for (int i = 0; i < values.Length; i++) + { + EExpansionVersion eExpansionVersion = values[i]; + (int enabledCount, int totalCount) dutyCountsForExpansion = GetDutyCountsForExpansion(eExpansionVersion, contentByExpansion); + int item = dutyCountsForExpansion.enabledCount; + int item2 = dutyCountsForExpansion.totalCount; + string text = eExpansionVersion.ToString(); + bool open = expansionHeaderStates.GetValueOrDefault(text, defaultValue: false); + if (UiThemeUtils.ThemedAccordion(text, eExpansionVersion.ToFriendlyString(), (item2 > 0) ? $"{item}/{item2}" : null, ref open)) { - case 2: - goto IL_0094; - case 1: - return; - case 0: - { - Dictionary expansionHeaderStates = base.Configuration.Duties.ExpansionHeaderStates; - EExpansionVersion[] values = Enum.GetValues(); - int num7 = 0; - while (true) + using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable($"Duties{eExpansionVersion}", 4, ImGuiTableFlags.SizingFixedFit); + if ((bool)tableDisposable) { - if (num7 < values.Length) + ImGui.TableSetupColumn("Level", ImGuiTableColumnFlags.WidthFixed, 40f); + ImGui.TableSetupColumn("Name", ImGuiTableColumnFlags.WidthStretch); + ImGui.TableSetupColumn("Enabled", ImGuiTableColumnFlags.WidthFixed, 180f); + ImGui.TableSetupColumn("Mode", ImGuiTableColumnFlags.WidthFixed, 140f); + if (contentByExpansion.TryGetValue(eExpansionVersion, out List value)) { - EExpansionVersion eExpansionVersion = values[num7]; - (int enabledCount, int totalCount) dutyCountsForExpansion = GetDutyCountsForExpansion(eExpansionVersion, contentByExpansion); - int item = dutyCountsForExpansion.enabledCount; - int item2 = dutyCountsForExpansion.totalCount; - text = eExpansionVersion.ToString(); - open = expansionHeaderStates.GetValueOrDefault(text, defaultValue: false); - string id = text; - string label = _200B_206E_206D_200F_202A_202C_202C_202D_206E_202A_206D_200C_202B_206A_200B_200B_202B_206A_202E_200C_202C_200B_200E_200B_202B_206B_200C_202A_202D_200E_206D_200B_206C_206C_202A_200B_202E_206B_200F_206D_202E(eExpansionVersion); - object rightText; - if (item2 <= 0) + foreach (DutyInfo item3 in value) { - rightText = null; - } - else - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(1, 2); - defaultInterpolatedStringHandler.AppendFormatted(item); - defaultInterpolatedStringHandler.AppendLiteral(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(-1605560946)); - defaultInterpolatedStringHandler.AppendFormatted(item2); - rightText = defaultInterpolatedStringHandler.ToStringAndClear(); - } - if (UiThemeUtils.ThemedAccordion(id, label, (string?)rightText, ref open)) - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(6, 1); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2007815205)); - defaultInterpolatedStringHandler2.AppendFormatted(eExpansionVersion); - using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable(defaultInterpolatedStringHandler2.ToStringAndClear(), 4, ImGuiTableFlags.SizingFixedFit); - if ((bool)tableDisposable) + DutyEntry value2; + bool flag = DutyRegistry.Duties.TryGetValue(item3.CfcId, out value2); + ImGui.TableNextRow(); + string[] array; + int currentItem; + if (flag) { - num = -122867559; - while (true) + array = (value2.Enabled ? SupportedCfcOptions : UnsupportedCfcOptions); + currentItem = 0; + if (base.Configuration.Duties.WhitelistedDutyCfcIds.Contains(item3.CfcId)) { - int num8 = num; - num3 = -122867557; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) + currentItem = 1; + } + if (base.Configuration.Duties.BlacklistedDutyCfcIds.Contains(item3.CfcId)) + { + currentItem = 2; + } + } + else + { + array = new string[2] { "Disabled", "Enabled" }; + currentItem = (base.Configuration.Duties.WhitelistedDutyCfcIds.Contains(item3.CfcId) ? 1 : 0); + } + if (ImGui.TableNextColumn()) + { + ImGui.AlignTextToFramePadding(); + if (item3.Level > 0) + { + ImU8String text2 = new ImU8String(2, 1); + text2.AppendLiteral("Lv"); + text2.AppendFormatted(item3.Level); + ImGui.TextColored(in UiThemeUtils.AccentColor, text2); + } + } + if (ImGui.TableNextColumn()) + { + ImGui.AlignTextToFramePadding(); + float x; + using (ImRaii.PushFont(UiBuilder.IconFont)) + { + x = ImGui.CalcTextSize(FontAwesomeIcon.InfoCircle.ToIconString()).X; + } + UiThemeUtils.RowLabel(item3.Name, x + ImGui.GetStyle().ItemSpacing.X); + if (runInstancedContentWithAutoDuty && !_autoDutyIpc.HasPath(item3.CfcId)) + { + ImGui.SameLine(); + using (ImRaii.PushFont(UiBuilder.IconFont)) { - case 0: - num = -122867559; - break; - case 2: - _200D_206E_200C_202E_206C_206D_202D_206C_202E_206E_206C_200C_206E_206D_206F_200E_206B_202E_206E_202C_206D_200C_200B_200C_200B_206D_200E_200C_202B_206C_202A_202E_202D_206C_206A_200C_202E_206C_206F_206E_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-219663971), ImGuiTableColumnFlags.WidthFixed, 40f, 0u); - _200D_206E_200C_202E_206C_206D_202D_206C_202E_206E_206C_200C_206E_206D_206F_200E_206B_202E_206E_202C_206D_200C_200B_200C_200B_206D_200E_200C_202B_206C_202A_202E_202D_206C_206A_200C_202E_206C_206F_206E_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-267283137), ImGuiTableColumnFlags.WidthStretch, 0f, 0u); - _200D_206E_200C_202E_206C_206D_202D_206C_202E_206E_206C_200C_206E_206D_206F_200E_206B_202E_206E_202C_206D_200C_200B_200C_200B_206D_200E_200C_202B_206C_202A_202E_202D_206C_206A_200C_202E_206C_206F_206E_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(380812930), ImGuiTableColumnFlags.WidthFixed, 180f, 0u); - _200D_206E_200C_202E_206C_206D_202D_206C_202E_206E_206C_200C_206E_206D_206F_200E_206B_202E_206E_202C_206D_200C_200B_200C_200B_206D_200E_200C_202B_206C_202A_202E_202D_206C_206A_200C_202E_206C_206F_206E_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1921859384), ImGuiTableColumnFlags.WidthFixed, 140f, 0u); - if (contentByExpansion.TryGetValue(eExpansionVersion, out value)) + ImGui.TextColored(in UiThemeUtils.StatusLocked, FontAwesomeIcon.Times.ToIconString()); + } + if (ImGui.IsItemHovered()) + { + using (ImRaii.Tooltip()) { - num = -122867558; - break; + ImGui.PushTextWrapPos(400f); + ImGui.Text("This duty is not supported by AutoDuty"); + ImGui.PopTextWrapPos(); } - goto end_IL_01ae; - case 1: - foreach (DutyInfo item3 in value) + } + } + else if (flag && value2.Notes.Length != 0) + { + ConfigComponent.DrawNotes(value2.Enabled, value2.Notes); + } + } + if (ImGui.TableNextColumn()) + { + ImU8String id = new ImU8String(16, 1); + id.AppendLiteral("##DungeonEnabled"); + id.AppendFormatted(item3.CfcId); + using (ImRaii.PushId(id)) + { + ImGui.SetNextItemWidth(-1f); + if (UiThemeUtils.ThemedCombo(string.Empty, ref currentItem, array, array.Length)) + { + base.Configuration.Duties.WhitelistedDutyCfcIds.Remove(item3.CfcId); + base.Configuration.Duties.BlacklistedDutyCfcIds.Remove(item3.CfcId); + if (flag) { - DutyEntry value2; - bool flag = DutyRegistry.Duties.TryGetValue(item3.CfcId, out value2); - _206E_206C_202A_202C_200E_206A_206D_206F_206B_206C_206C_202E_202B_200F_200D_200F_206A_206C_200C_206E_202A_200D_206D_202A_206D_202D_200D_202D_200B_200F_206B_200E_200D_206A_200C_200D_206A_202E_200D_202D_202E(); - string[] array; - int currentItem; - if (flag) + switch (currentItem) { - array = (value2.Enabled ? SupportedCfcOptions : UnsupportedCfcOptions); - currentItem = 0; - if (base.Configuration.Duties.WhitelistedDutyCfcIds.Contains(item3.CfcId)) - { - currentItem = 1; - } - if (base.Configuration.Duties.BlacklistedDutyCfcIds.Contains(item3.CfcId)) - { - currentItem = 2; - } - } - else - { - array = new string[2] - { - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2101114993), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(380812930) - }; - currentItem = (base.Configuration.Duties.WhitelistedDutyCfcIds.Contains(item3.CfcId) ? 1 : 0); - } - if (_206E_202E_206F_202C_202B_206F_206E_206D_200D_200B_202D_206F_206C_206A_200B_200D_200F_200F_202C_200C_202E_202C_206C_206A_202E_200C_200D_202B_206B_202D_202B_206F_206A_206A_202E_202A_206E_200C_200E_206C_202E()) - { - _206B_200C_200C_202D_206B_202B_200B_206C_200B_200C_206F_202D_200B_206D_202C_200B_202C_200C_200E_202A_202A_200B_206A_202B_206B_206B_202A_200F_200E_206C_206A_202D_206C_206F_202C_200E_200D_206A_206B_202E_202E(); - if (item3.Level > 0) - { - ImU8String imU8String = new ImU8String(2, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1503539278)); - imU8String.AppendFormatted(item3.Level); - _202C_206F_202A_206B_202E_202B_202D_206C_200E_202E_200D_206D_200B_200B_206D_206A_200B_202E_200B_200E_200B_202A_202D_200C_206D_206B_202B_200E_200B_202E_200B_206C_206C_206C_202E_206E_202E_202E_202E_206B_202E(ref UiThemeUtils.AccentColor, imU8String); - } - } - if (_206E_202E_206F_202C_202B_206F_206E_206D_200D_200B_202D_206F_206C_206A_200B_200D_200F_200F_202C_200C_202E_202C_206C_206A_202E_200C_200D_202B_206B_202D_202B_206F_206A_206A_202E_202A_206E_200C_200E_206C_202E()) - { - _206B_200C_200C_202D_206B_202B_200B_206C_200B_200C_206F_202D_200B_206D_202C_200B_202C_200C_200E_202A_202A_200B_206A_202B_206B_206B_202A_200F_200E_206C_206A_202D_206C_206F_202C_200E_200D_206A_206B_202E_202E(); - ImRaii.FontDisposable fontDisposable = _202C_202D_206A_202D_202A_200F_202D_200E_206B_202E_200F_206A_202C_202A_200F_202B_202E_206E_202C_206B_200D_206C_202B_206A_206F_206A_202B_202C_200F_202B_200C_206D_202B_206B_202E_200E_202C_200F_206C_200D_202E(_206E_202D_200E_200F_202C_202B_200E_200E_200F_202E_200E_202A_206D_202A_200B_206B_206C_202C_202A_206C_206D_200B_200B_200D_206F_200E_200F_206A_202A_200D_200C_200C_202A_200B_202B_206B_206E_202E_206B_206D_202E(), true); - float x; - try - { - x = _206A_206D_202D_206D_206A_200B_206E_206A_200F_200B_200C_200E_206A_206D_206B_206C_206D_206C_200F_202C_202C_200F_206A_200B_202D_202B_206E_200E_206B_202A_202A_202C_206F_206B_206D_206F_200B_200F_202E_206A_202E((ImU8String)_202E_206A_202D_206F_202E_202E_206F_202E_200F_200D_202D_202E_200C_200D_200B_206E_200C_206B_206C_206A_202B_202A_202C_200D_202B_200E_200B_200C_206C_206F_206D_200E_200E_202C_202E_206B_206D_200D_202D_202D_202E(FontAwesomeIcon.InfoCircle), false, -1f).X; - } - finally - { - num = ((fontDisposable == null) ? (-794763030) : (-794763029)); - while (true) - { - int num9 = num; - num3 = -794763030; - num4 = num9; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -794763029; - break; - case 0: - goto end_IL_0408; - case 1: - _200F_200B_202A_206D_206F_200C_202A_202A_202B_200E_202B_206C_200E_200C_206D_206A_202E_200E_202B_200F_202B_200E_206F_202C_206D_202E_200D_206F_200C_200E_202E_200F_200C_200F_200E_202D_200D_206F_202E((IDisposable)fontDisposable); - num = -794763030; - break; - } - continue; - end_IL_0408: - break; - } - } - UiThemeUtils.RowLabel(item3.Name, x + _206A_200E_202B_202A_202C_200B_202C_206A_200B_202A_200F_206C_206D_206A_200B_202C_200E_206E_200D_206D_202B_206E_206C_200B_200F_202B_206C_200D_200B_202A_200E_200F_206A_206D_202E_200B_202D_202B_202D_202C_202E().ItemSpacing.X); - if (!runInstancedContentWithAutoDuty) - { - goto IL_05c3; - } - num = -660637057; - while (true) - { - int num10 = num; - num3 = -660637058; - num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - case 2: - num = -660637057; - break; - case 1: - goto IL_04c2; - case 0: - goto end_IL_0488; - } - continue; - IL_04c2: - if (!_autoDutyIpc.HasPath(item3.CfcId)) - { - num = -660637058; - continue; - } - goto IL_05c3; - continue; - end_IL_0488: - break; - } - _200D_200F_200F_206E_206A_200F_202D_200C_202B_200B_200D_206A_206F_206E_202D_200D_202E_200F_200C_206D_206A_202D_200F_206B_202D_206F_202E_206B_206E_202A_200F_202B_202D_202A_202A_200C_206C_200F_200F_200F_202E(); - fontDisposable = _202C_202D_206A_202D_202A_200F_202D_200E_206B_202E_200F_206A_202C_202A_200F_202B_202E_206E_202C_206B_200D_206C_202B_206A_206F_206A_202B_202C_200F_202B_200C_206D_202B_206B_202E_200E_202C_200F_206C_200D_202E(_206E_202D_200E_200F_202C_202B_200E_200E_200F_202E_200E_202A_206D_202A_200B_206B_206C_202C_202A_206C_206D_200B_200B_200D_206F_200E_200F_206A_202A_200D_200C_200C_202A_200B_202B_206B_206E_202E_206B_206D_202E(), true); - try - { - _202C_206F_202A_206B_202E_202B_202D_206C_200E_202E_200D_206D_200B_200B_206D_206A_200B_202E_200B_200E_200B_202A_202D_200C_206D_206B_202B_200E_200B_202E_200B_206C_206C_206C_202E_206E_202E_202E_202E_206B_202E(ref UiThemeUtils.StatusLocked, (ImU8String)_202E_206A_202D_206F_202E_202E_206F_202E_200F_200D_202D_202E_200C_200D_200B_206E_200C_206B_206C_206A_202B_202A_202C_200D_202B_200E_200B_200C_206C_206F_206D_200E_200E_202C_202E_206B_206D_200D_202D_202D_202E(FontAwesomeIcon.Times)); - } - finally - { - num = ((fontDisposable == null) ? 83435608 : 83435611); - while (true) - { - int num13 = num; - num3 = 83435609; - num4 = num13; - int num14 = num4 + num3; - int num15 = num4 & num3; - switch (num14 - (num15 + num15)) - { - case 0: - num = 83435611; - break; - case 2: - _200F_200B_202A_206D_206F_200C_202A_202A_202B_200E_202B_206C_200E_200C_206D_206A_202E_200E_202B_200F_202B_200E_206F_202C_206D_202E_200D_206F_200C_200E_202E_200F_200C_200F_200E_202D_200D_206F_202E((IDisposable)fontDisposable); - num = 83435608; - break; - case 1: - goto end_IL_0534; - } - continue; - end_IL_0534: - break; - } - } - if (_200C_200C_202C_206A_206A_206C_202D_200F_200B_206D_202A_200E_200C_202A_202C_200F_206E_202E_200C_206F_206E_200C_200E_200F_202B_202A_200F_200F_200D_200C_200C_200C_200F_202D_202C_206C_206F_202C_202C_206F_202E()) - { - using (_200C_206F_200E_206D_206C_200F_202B_200D_200F_206C_202C_200D_206E_202B_206F_206E_206A_206D_200B_206A_206F_202D_206F_206B_206F_200E_200E_202B_200E_206F_200F_206B_200F_202E_206F_202B_206F_202E_206E_202D_202E()) - { - _200E_206B_202A_202C_200D_202B_200E_206A_200B_200D_202A_200B_206C_202D_200B_200E_202E_200C_202A_202D_206B_202A_206A_206A_206B_206B_206B_200D_200E_206C_200B_202C_200C_202B_200D_202C_206F_200B_202E_200E_202E(400f); - _206A_200C_206F_202B_202E_202C_206F_202D_206B_206C_200F_206B_206A_206D_202A_200F_202D_206D_202B_200D_202E_202B_200B_200F_200E_206E_200F_206E_206E_202B_202C_202B_206C_200D_202B_202B_202E_202E_200B_206E_202E((ImU8String)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(292811051)); - _202D_200F_200F_206F_200F_202C_206E_200C_200C_202C_202A_206B_200D_202B_202B_206E_206B_206F_200C_206D_206A_200F_200B_200D_200E_206A_206B_200D_206C_206D_206E_202D_200C_202A_206A_200C_206B_200C_202D_202A_202E(); - } - } - } - goto IL_0666; - IL_0666: - if (_206E_202E_206F_202C_202B_206F_206E_206D_200D_200B_202D_206F_206C_206A_200B_200D_200F_200F_202C_200C_202E_202C_206C_206A_202E_200C_200D_202B_206B_202D_202B_206F_206A_206A_202E_202A_206E_200C_200E_206C_202E()) - { - num = 1001003675; - goto IL_05e2; - } - goto IL_08f4; - IL_08f4: - if (!_206E_202E_206F_202C_202B_206F_206E_206D_200D_200B_202D_206F_206C_206A_200B_200D_200F_200F_202C_200C_202E_202C_206C_206A_202E_200C_200D_202B_206B_202D_202B_206F_206A_206A_202E_202A_206E_200C_200E_206C_202E()) - { - continue; - } - ImU8String imU8String2 = new ImU8String(13, 1); - imU8String2.AppendLiteral(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(1518573778)); - imU8String2.AppendFormatted(item3.CfcId); - ImRaii.IdDisposable idDisposable = _200B_206F_206A_202E_202B_202E_206C_200B_200D_206C_206E_206C_200F_206A_206F_200E_200D_200D_202B_200F_202A_202C_200B_206F_202E_200C_200F_200F_202D_200D_200C_202B_202A_206D_200C_202A_206E_206C_206A_206B_202E(imU8String2, true); - try - { - EDutyMode value3; - bool flag2 = base.Configuration.Duties.DutyModeOverrides.TryGetValue(item3.CfcId, out value3); - num = (flag2 ? 1328430031 : 1328430017); - while (true) - { - int num16 = num; - num3 = 1328430027; - num4 = num16; - int num18; - string text2; - EDutyMode num17; - string text3; - string[] dutyModeLabels; - string[] array2; - int num20; - ReadOnlySpan readOnlySpan; - int num19; - string[] array3; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 4: - num18 = (int)value3; - goto IL_09ca; - case 6: - text2 = _202D_200F_202A_200B_202A_202C_202D_200D_202E_206B_202D_206D_200E_202B_206A_200F_200B_206D_206E_202D_202E_200E_200B_202E_200B_206F_206D_206A_206F_202D_206A_206A_206C_206B_206D_200B_200F_202D_206F_206A_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(-1030730934), DutyModeLabels[(int)eDutyMode]); - break; - case 9: - num = 1328430017; - continue; - case 10: - num18 = -1; - goto IL_09ca; - case 0: - Save(); - num = 1328430022; - continue; - case 5: - num = ((currentItem2 != 0) ? 1328430028 : 1328430016); - continue; - case 11: - base.Configuration.Duties.DutyModeOverrides.Remove(item3.CfcId); - num = 1328430027; - continue; - case 2: - num = (flag2 ? 1328430026 : 1328430023); - continue; - case 13: - num = ((!_200C_200C_202C_206A_206A_206C_202D_200F_200B_206D_202A_200E_200C_202A_202C_200F_206E_202E_200C_206F_206E_200C_200E_200F_202B_202A_200F_200F_200D_200C_200C_200C_200F_202D_202C_206C_206F_202C_202C_206F_202E()) ? 1328430024 : 1328430025); - continue; - case 7: - { - Dictionary dutyModeOverrides = base.Configuration.Duties.DutyModeOverrides; - uint cfcId = item3.CfcId; - int num21 = currentItem2; - num3 = 1; - num4 = num21; - dutyModeOverrides[cfcId] = (EDutyMode)(~(~num4 + num3)); - num = 1328430027; - continue; - } - case 12: - num17 = base.Configuration.Duties.DefaultDutyMode; - goto IL_0bc6; - case 1: - num17 = value3; - goto IL_0bc6; - case 8: - text2 = _202D_200F_202A_200B_202A_202C_202D_200D_202E_206B_202D_206D_200E_202B_206A_200F_200B_206D_206E_202D_202E_200E_200B_202E_200B_206F_206D_206A_206F_202D_206A_206A_206C_206B_206D_200B_200F_202D_206F_206A_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-619455763), DutyModeLabels[(int)eDutyMode]); - break; - case 3: - goto end_IL_0970; - IL_0bc6: - eDutyMode = num17; - num = (flag2 ? 1328430019 : 1328430029); - continue; - IL_09ca: - text3 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1673841824); - dutyModeLabels = DutyModeLabels; - num19 = 0; - num3 = dutyModeLabels.Length; - num4 = 1; - array2 = new string[(num4 | num3) + (num4 & num3)]; - array2[num19] = text3; - num20 = num19; - num3 = 1; - num4 = num20; - num19 = (num4 | num3) + (num4 & num3); - readOnlySpan = new ReadOnlySpan(dutyModeLabels); - readOnlySpan.CopyTo(new Span(array2).Slice(num19, readOnlySpan.Length)); - num19 += readOnlySpan.Length; - array3 = array2; - currentItem2 = num18 + 1; - _206C_200F_206A_200C_200D_206F_200E_200C_202D_200F_206D_202C_202A_202D_206E_206E_200E_206B_200B_202E_206F_200C_200C_206E_200E_206C_202E_206C_202C_202E_200E_206A_200C_202C_206A_202B_200E_202C_206B_202D_202E(-1f); - num = ((!UiThemeUtils.ThemedCombo(string.Empty, ref currentItem2, array3, array3.Length)) ? 1328430022 : 1328430030); - continue; - } - _202A_206D_206A_202E_200E_202E_202A_202D_202D_206F_206E_206C_202B_200E_202C_202A_200E_206A_202C_202C_200E_202B_200D_200F_200B_200B_200E_206B_200E_206A_202E_200D_202D_202E_206C_202A_202C_200E_206C_202E_202E((ImU8String)text2); - num = 1328430024; - continue; - end_IL_0970: - break; - } - } - finally - { - num = ((idDisposable == null) ? 318767164 : 318767167); - while (true) - { - int num22 = num; - num3 = 318767166; - num4 = num22; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 318767167; - break; - case 2: - goto end_IL_0c38; - case 1: - _200F_200B_202A_206D_206F_200C_202A_202A_202B_200E_202B_206C_200E_200C_206D_206A_202E_200E_202B_200F_202B_200E_206F_202C_206D_202E_200D_206F_200C_200E_202E_200F_200C_200F_200E_202D_200D_206F_202E((IDisposable)idDisposable); - num = 318767164; - break; - } - continue; - end_IL_0c38: - break; - } - } - continue; - IL_05e2: - while (true) - { - int num23 = num; - num3 = 1001003673; - num4 = num23; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - ConfigComponent.DrawNotes(value2.Enabled, value2.Notes); - num = 1001003672; - break; - case 3: - goto IL_0635; - case 4: - num = 1001003674; - break; - case 1: - goto end_IL_05e2; - case 2: - goto IL_067c; - } - continue; - IL_0635: - num = ((value2.Notes.Length == 0) ? 1001003672 : 1001003673); - continue; - end_IL_05e2: + case 1: + base.Configuration.Duties.WhitelistedDutyCfcIds.Add(item3.CfcId); + break; + case 2: + base.Configuration.Duties.BlacklistedDutyCfcIds.Add(item3.CfcId); break; } - goto IL_0666; - IL_067c: - ImU8String imU8String3 = new ImU8String(16, 1); - imU8String3.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2087649454)); - imU8String3.AppendFormatted(item3.CfcId); - ImRaii.IdDisposable idDisposable2 = _200B_206F_206A_202E_202B_202E_206C_200B_200D_206C_206E_206C_200F_206A_206F_200E_200D_200D_202B_200F_202A_202C_200B_206F_202E_200C_200F_200F_202D_200D_200C_202B_202A_206D_200C_202A_206E_206C_206A_206B_202E(imU8String3, true); - try - { - _206C_200F_206A_200C_200D_206F_200E_200C_202D_200F_206D_202C_202A_202D_206E_206E_200E_206B_200B_202E_206F_200C_200C_206E_200E_206C_202E_206C_202C_202E_200E_206A_200C_202C_206A_202B_200E_202C_206B_202D_202E(-1f); - num = ((!UiThemeUtils.ThemedCombo(string.Empty, ref currentItem, array, array.Length)) ? (-730773088) : (-730773077)); - while (true) - { - int num24 = num; - num3 = -730773080; - num4 = num24; - int num25 = num4 + num3; - int num26 = num4 & num3; - switch (num25 - (num26 + num26)) - { - case 1: - Save(); - num = -730773088; - break; - case 3: - base.Configuration.Duties.WhitelistedDutyCfcIds.Remove(item3.CfcId); - base.Configuration.Duties.BlacklistedDutyCfcIds.Remove(item3.CfcId); - num = ((!flag) ? (-730773076) : (-730773073)); - break; - case 0: - num = ((currentItem != 2) ? (-730773079) : (-730773074)); - break; - case 4: - num = ((currentItem != 1) ? (-730773079) : (-730773087)); - break; - case 6: - base.Configuration.Duties.BlacklistedDutyCfcIds.Add(item3.CfcId); - num = -730773079; - break; - case 5: - num = -730773077; - break; - case 9: - base.Configuration.Duties.WhitelistedDutyCfcIds.Add(item3.CfcId); - num = -730773079; - break; - case 7: - num = ((currentItem != 1) ? (-730773080) : (-730773078)); - break; - case 2: - base.Configuration.Duties.WhitelistedDutyCfcIds.Add(item3.CfcId); - num = -730773079; - break; - case 8: - goto end_IL_06e8; - } - continue; - end_IL_06e8: - break; - } - } - finally - { - num = ((idDisposable2 == null) ? (-810065188) : (-810065187)); - while (true) - { - int num27 = num; - num3 = -810065188; - num4 = num27; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto end_IL_08a8; - case 1: - _200F_200B_202A_206D_206F_200C_202A_202A_202B_200E_202B_206C_200E_200C_206D_206A_202E_200E_202B_200F_202B_200E_206F_202C_206D_202E_200D_206F_200C_200E_202E_200F_200C_200F_200E_202D_200D_206F_202E((IDisposable)idDisposable2); - num = -810065188; - break; - case 2: - num = -810065187; - break; - } - continue; - end_IL_08a8: - break; - } - } - goto IL_08f4; - IL_05c3: - num = ((!flag) ? 1001003672 : 1001003674); - goto IL_05e2; } - goto end_IL_01ae; + else if (currentItem == 1) + { + base.Configuration.Duties.WhitelistedDutyCfcIds.Add(item3.CfcId); + } + Save(); } - continue; - end_IL_01ae: - break; + } + } + if (!ImGui.TableNextColumn()) + { + continue; + } + ImU8String id2 = new ImU8String(13, 1); + id2.AppendLiteral("##DungeonMode"); + id2.AppendFormatted(item3.CfcId); + using (ImRaii.PushId(id2)) + { + EDutyMode value3; + bool flag2 = base.Configuration.Duties.DutyModeOverrides.TryGetValue(item3.CfcId, out value3); + EDutyMode num = (flag2 ? value3 : ((EDutyMode)(-1))); + string text3 = "Use Default"; + string[] dutyModeLabels = DutyModeLabels; + int num2 = 0; + string[] array2 = new string[1 + dutyModeLabels.Length]; + array2[num2] = text3; + num2++; + ReadOnlySpan readOnlySpan = new ReadOnlySpan(dutyModeLabels); + readOnlySpan.CopyTo(new Span(array2).Slice(num2, readOnlySpan.Length)); + num2 += readOnlySpan.Length; + string[] array3 = array2; + int currentItem2 = (int)(num + 1); + ImGui.SetNextItemWidth(-1f); + if (UiThemeUtils.ThemedCombo(string.Empty, ref currentItem2, array3, array3.Length)) + { + if (currentItem2 == 0) + { + base.Configuration.Duties.DutyModeOverrides.Remove(item3.CfcId); + } + else + { + base.Configuration.Duties.DutyModeOverrides[item3.CfcId] = (EDutyMode)(currentItem2 - 1); + } + Save(); + } + if (ImGui.IsItemHovered()) + { + EDutyMode eDutyMode = (flag2 ? value3 : base.Configuration.Duties.DefaultDutyMode); + ImGui.SetTooltip(flag2 ? ("Override: " + DutyModeLabels[(int)eDutyMode]) : ("Using default: " + DutyModeLabels[(int)eDutyMode])); } } } - num = ((open == expansionHeaderStates.GetValueOrDefault(text, defaultValue: false)) ? 690590899 : 690590897); } - else - { - num = 690590896; - } - while (true) - { - int num28 = num; - num3 = 690590896; - num4 = num28; - int num29 = num4 + num3; - int num30 = num4 & num3; - switch (num29 - (num30 + num30)) - { - case 3: - goto end_IL_0cd8; - case 1: - expansionHeaderStates[text] = open; - Save(); - num = 690590899; - break; - case 2: - num = 690590897; - break; - case 0: - return; - } - continue; - end_IL_0cd8: - break; - } - int num31 = num7; - num3 = 1; - num4 = num31; - int num32 = num4 ^ num3; - int num33 = num4 & num3; - num7 = num32 + (num33 + num33); } } + if (open != expansionHeaderStates.GetValueOrDefault(text, defaultValue: false)) + { + expansionHeaderStates[text] = open; + Save(); } - continue; - IL_0094: - num = 397429395; } } private (int enabledCount, int totalCount) GetDutyCountsForExpansion(EExpansionVersion expansion, Dictionary> contentByExpansion) { - int num = (contentByExpansion.TryGetValue(expansion, out List value) ? (-2145746292) : (-2145746291)); - DutyInfo current = default(DutyInfo); - DutyEntry value2 = default(DutyEntry); - while (true) + if (!contentByExpansion.TryGetValue(expansion, out List value)) { - int num2 = num; - int num3 = -2145746292; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0052; - case 1: - return (enabledCount: 0, totalCount: 0); - case 0: - { - int num5 = 0; - int num6 = 0; - using (List.Enumerator enumerator = value.GetEnumerator()) - { - num = -357532631; - while (true) - { - int num7 = num; - num3 = -357532638; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 11: - num = (enumerator.MoveNext() ? (-357532637) : (-357532640)); - break; - case 3: - { - int num15 = num5; - num3 = 1; - num4 = num15; - int num16 = num4 ^ num3; - int num17 = num4 & num3; - num5 = num16 + (num17 + num17); - num = -357532631; - break; - } - case 1: - current = enumerator.Current; - num = ((!DutyRegistry.Duties.TryGetValue(current.CfcId, out value2)) ? (-357532634) : (-357532629)); - break; - case 7: - if (value2.Enabled) - { - goto case 0; - } - goto case 5; - case 4: - { - int num14 = num6; - num3 = 1; - num4 = num14; - num6 = (num4 | num3) + (num4 & num3); - num = ((!base.Configuration.Duties.WhitelistedDutyCfcIds.Contains(current.CfcId)) ? (-357532631) : (-357532639)); - break; - } - case 9: - { - int num11 = num6; - num3 = 1; - num4 = num11; - int num12 = num4 ^ num3; - int num13 = num4 & num3; - num6 = num12 + (num13 + num13); - num = (base.Configuration.Duties.WhitelistedDutyCfcIds.Contains(current.CfcId) ? (-357532638) : (-357532636)); - break; - } - case 8: - { - int num10 = num5; - num3 = 1; - num4 = num10; - num5 = (num4 | num3) + (num4 & num3); - num = -357532631; - break; - } - case 0: - num = -357532630; - break; - case 5: - num = -357532631; - break; - case 10: - num = -357532631; - break; - case 6: - num = (base.Configuration.Duties.BlacklistedDutyCfcIds.Contains(current.CfcId) ? (-357532633) : (-357532635)); - break; - case 2: - goto end_IL_007d; - } - continue; - end_IL_007d: - break; - } - } - return (enabledCount: num5, totalCount: num6); - } - } - continue; - IL_0052: - num = -2145746291; + return (enabledCount: 0, totalCount: 0); } + int num = 0; + int num2 = 0; + foreach (DutyInfo item in value) + { + if (DutyRegistry.Duties.TryGetValue(item.CfcId, out DutyEntry value2)) + { + num2++; + if (base.Configuration.Duties.WhitelistedDutyCfcIds.Contains(item.CfcId) || (!base.Configuration.Duties.BlacklistedDutyCfcIds.Contains(item.CfcId) && value2.Enabled)) + { + num++; + } + } + else + { + num2++; + if (base.Configuration.Duties.WhitelistedDutyCfcIds.Contains(item.CfcId)) + { + num++; + } + } + } + return (enabledCount: num, totalCount: num2); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawEnableAllButton() { - int num; - if (UiThemeUtils.IconTextButton(FontAwesomeIcon.CheckCircle, 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(-252153672))) + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.CheckCircle, "Enable All")) { base.Configuration.Duties.BlacklistedDutyCfcIds.Clear(); base.Configuration.Duties.WhitelistedDutyCfcIds.Clear(); - IEnumerator> enumerator = _contentFinderConditionNames.Values.Concat>(_allTrialNames.Values).Concat>(_allNormalRaidNames.Values).Concat>(_allAllianceRaidNames.Values) - .GetEnumerator(); - try + foreach (List item in _contentFinderConditionNames.Values.Concat>(_allTrialNames.Values).Concat>(_allNormalRaidNames.Values).Concat>(_allAllianceRaidNames.Values)) { - while (_200E_206E_202C_200E_206F_202D_200B_206B_206C_206A_202D_202B_206E_206D_202B_202B_206F_200E_200D_202E_200E_200E_200E_200B_202C_202B_206B_202A_202C_206B_202E_200D_200F_202C_200D_200C_202A_206F_200E_202B_202E((IEnumerator)enumerator)) + foreach (DutyInfo item2 in item) { - using List.Enumerator enumerator2 = enumerator.Current.GetEnumerator(); - num = 659952751; - while (true) - { - int num2 = num; - int num3 = 659952750; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 659952751; - break; - case 1: - num = (enumerator2.MoveNext() ? 659952749 : 659952748); - break; - case 3: - { - DutyInfo current = enumerator2.Current; - base.Configuration.Duties.WhitelistedDutyCfcIds.Add(current.CfcId); - num = 659952751; - break; - } - case 2: - goto end_IL_00a0; - } - continue; - end_IL_00a0: - break; - } - } - } - finally - { - num = ((enumerator == null) ? 495906108 : 495906111); - while (true) - { - int num7 = num; - int num3 = 495906109; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 495906111; - break; - case 2: - _200F_200B_202A_206D_206F_200C_202A_202A_202B_200E_202B_206C_200E_200C_206D_206A_202E_200E_202B_200F_202B_200E_206F_202C_206D_202E_200D_206F_200C_200E_202E_200F_200C_200F_200E_202D_200D_206F_202E((IDisposable)enumerator); - num = 495906108; - break; - case 1: - goto end_IL_016c; - } - continue; - end_IL_016c: - break; + base.Configuration.Duties.WhitelistedDutyCfcIds.Add(item2.CfcId); } } Save(); } - num = ((!_200C_200C_202C_206A_206A_206C_202D_200F_200B_206D_202A_200E_200C_202A_202C_200F_206E_202E_200C_206F_206E_200C_200E_200F_202B_202A_200F_200F_200D_200C_200C_200C_200F_202D_202C_206C_206F_202C_202C_206F_202E()) ? (-968009708) : (-968009705)); - while (true) + if (ImGui.IsItemHovered()) { - int num8 = num; - int num3 = -968009706; - int num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -968009705; - break; - case 2: - return; - case 1: - _202A_206D_206A_202E_200E_202E_202A_202D_202D_206F_206E_206C_202B_200E_202C_202A_200E_206A_202C_202C_200E_202B_200D_200F_200B_200B_200E_206B_200E_206A_202E_200D_202D_202E_206C_202A_202C_200E_206C_202E_202E((ImU8String)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(1505234353)); - num = -968009708; - break; - } + ImGui.SetTooltip("Enable all of the duties, use at your own risk."); } } - - static ImRaii.DisabledDisposable _200F_206A_206C_200C_200F_206C_206E_200D_206A_200D_200E_200B_200D_206D_200C_200C_206D_206E_202B_200F_206C_200B_206E_206D_202C_200F_206F_202D_200C_202B_206B_202E_206D_202D_206E_206D_200F_206E_206D_206B_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static void _202C_200D_200C_206B_206A_200F_202A_200F_206D_202A_202B_200D_200C_206A_200B_200D_206F_200D_202D_206C_206C_202E_206A_200F_200E_206A_206B_200E_202C_206A_202D_200E_200E_200F_206D_206A_206C_200F_206D_202D_202E() - { - ImGui.Spacing(); - } - - static void _206A_200C_206F_202B_202E_202C_206F_202D_206B_206C_200F_206B_206A_206D_202A_200F_202D_206D_202B_200D_202E_202B_200B_200F_200E_206E_200F_206E_206E_202B_202C_202B_206C_200D_202B_202B_202E_202E_200B_206E_202E(ImU8String P_0) - { - ImGui.Text(P_0); - } - - static void _200D_200F_200F_206E_206A_200F_202D_200C_202B_200B_200D_206A_206F_206E_202D_200D_202E_200F_200C_206D_206A_202D_200F_206B_202D_206F_202E_206B_206E_202A_200F_202B_202D_202A_202A_200C_206C_200F_200F_200F_202E() - { - ImGui.SameLine(); - } - - static Vector2 _206C_202B_200C_206C_206D_200C_202D_206C_206B_202B_200C_202B_206C_200E_200E_200B_202B_200B_206A_200F_200E_202A_200F_202C_206E_206C_206E_202D_200F_206D_202D_206E_206E_206C_206A_206C_206D_206E_200E_200F_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static float _200B_200C_202D_202D_202D_206A_200F_200F_206B_206B_200E_202C_206F_202A_206F_200B_202C_200B_206B_206E_202C_200F_200C_206E_202B_200C_200B_200B_202A_206D_202A_200B_202C_202B_206C_206B_200D_200C_200F_202E_202E(float P_0, float P_1) - { - return MathF.Min(P_0, P_1); - } - - static void _206C_200F_206A_200C_200D_206F_200E_200C_202D_200F_206D_202C_202A_202D_206E_206E_200E_206B_200B_202E_206F_200C_200C_206E_200E_206C_202E_206C_202C_202E_200E_206A_200C_202C_206A_202B_200E_202C_206B_202D_202E(float P_0) - { - ImGui.SetNextItemWidth(P_0); - } - - static ImRaii.IndentDisposable _200C_200F_202D_200C_202E_200B_206E_206E_206F_206F_206F_202D_200E_200D_200E_202A_206D_202C_202C_202C_206F_202C_206A_200C_200C_206B_200C_206A_200D_200F_206F_206A_206F_206D_200D_200C_200D_200F_202E_202C_202E(int P_0, bool P_1) - { - return ImRaii.PushIndent(P_0, P_1); - } - - static void _200F_200B_202A_206D_206F_200C_202A_202A_202B_200E_202B_206C_200E_200C_206D_206A_202E_200E_202B_200F_202B_200E_206F_202C_206D_202E_200D_206F_200C_200E_202E_200F_200C_200F_200E_202D_200D_206F_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static float _206E_200D_206C_202C_206F_206D_206F_200E_200B_206A_200F_202B_202A_200B_202C_206C_202B_206A_206A_202B_206C_206E_206E_200D_200D_200D_206C_206F_202B_200D_206E_200C_206E_202C_206D_200E_202C_206D_206A_200F_202E() - { - return ImGui.GetCursorPosY(); - } - - static ImGuiStylePtr _206A_200E_202B_202A_202C_200B_202C_206A_200B_202A_200F_206C_206D_206A_200B_202C_200E_206E_200D_206D_202B_206E_206C_200B_200F_202B_206C_200D_200B_202A_200E_200F_206A_206D_202E_200B_202D_202B_202D_202C_202E() - { - return ImGui.GetStyle(); - } - - static void _202C_206B_202D_202C_206D_202D_206A_200D_200F_200D_202A_200E_206E_200E_200F_206D_206F_200B_202D_206D_206C_206F_200C_200E_206E_202B_200E_202C_200E_202E_206B_200E_206B_200F_200B_202C_200B_206C_206D_206F_202E(float P_0) - { - ImGui.SetCursorPosY(P_0); - } - - static float _206E_202A_206C_202C_206F_200E_200C_206F_206F_202C_206E_206B_202D_206B_206B_202A_206F_206C_200C_206F_200C_202B_200F_206F_202A_206C_206B_200F_206A_200F_206F_206A_206E_206A_206B_202A_200B_206B_202E_206B_202E(float P_0, float P_1) - { - return MathF.Max(P_0, P_1); - } - - static ImRaii.ChildDisposable _202C_202B_200E_206C_202B_206A_206A_206D_206C_202C_202B_206D_206A_206B_206E_200F_206A_206B_202C_206A_200D_206D_200F_200B_206D_200D_206F_200C_200B_202B_200B_202B_206C_202E_202A_200D_200F_200C_206B_200F_202E(ImU8String P_0, Vector2 P_1, bool P_2) - { - return ImRaii.Child(P_0, P_1, P_2); - } - - static string _200B_206E_206D_200F_202A_202C_202C_202D_206E_202A_206D_200C_202B_206A_200B_200B_202B_206A_202E_200C_202C_200B_200E_200B_202B_206B_200C_202A_202D_200E_206D_200B_206C_206C_202A_200B_202E_206B_200F_206D_202E(EExpansionVersion P_0) - { - return P_0.ToFriendlyString(); - } - - static void _200D_206E_200C_202E_206C_206D_202D_206C_202E_206E_206C_200C_206E_206D_206F_200E_206B_202E_206E_202C_206D_200C_200B_200C_200B_206D_200E_200C_202B_206C_202A_202E_202D_206C_206A_200C_202E_206C_206F_206E_202E(ImU8String P_0, ImGuiTableColumnFlags P_1, float P_2, uint P_3) - { - ImGui.TableSetupColumn(P_0, P_1, P_2, P_3); - } - - static void _206E_206C_202A_202C_200E_206A_206D_206F_206B_206C_206C_202E_202B_200F_200D_200F_206A_206C_200C_206E_202A_200D_206D_202A_206D_202D_200D_202D_200B_200F_206B_200E_200D_206A_200C_200D_206A_202E_200D_202D_202E() - { - ImGui.TableNextRow(); - } - - static bool _206E_202E_206F_202C_202B_206F_206E_206D_200D_200B_202D_206F_206C_206A_200B_200D_200F_200F_202C_200C_202E_202C_206C_206A_202E_200C_200D_202B_206B_202D_202B_206F_206A_206A_202E_202A_206E_200C_200E_206C_202E() - { - return ImGui.TableNextColumn(); - } - - static void _206B_200C_200C_202D_206B_202B_200B_206C_200B_200C_206F_202D_200B_206D_202C_200B_202C_200C_200E_202A_202A_200B_206A_202B_206B_206B_202A_200F_200E_206C_206A_202D_206C_206F_202C_200E_200D_206A_206B_202E_202E() - { - ImGui.AlignTextToFramePadding(); - } - - static void _202C_206F_202A_206B_202E_202B_202D_206C_200E_202E_200D_206D_200B_200B_206D_206A_200B_202E_200B_200E_200B_202A_202D_200C_206D_206B_202B_200E_200B_202E_200B_206C_206C_206C_202E_206E_202E_202E_202E_206B_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static ImFontPtr _206E_202D_200E_200F_202C_202B_200E_200E_200F_202E_200E_202A_206D_202A_200B_206B_206C_202C_202A_206C_206D_200B_200B_200D_206F_200E_200F_206A_202A_200D_200C_200C_202A_200B_202B_206B_206E_202E_206B_206D_202E() - { - return UiBuilder.IconFont; - } - - static ImRaii.FontDisposable _202C_202D_206A_202D_202A_200F_202D_200E_206B_202E_200F_206A_202C_202A_200F_202B_202E_206E_202C_206B_200D_206C_202B_206A_206F_206A_202B_202C_200F_202B_200C_206D_202B_206B_202E_200E_202C_200F_206C_200D_202E(ImFontPtr P_0, bool P_1) - { - return ImRaii.PushFont(P_0, P_1); - } - - static string _202E_206A_202D_206F_202E_202E_206F_202E_200F_200D_202D_202E_200C_200D_200B_206E_200C_206B_206C_206A_202B_202A_202C_200D_202B_200E_200B_200C_206C_206F_206D_200E_200E_202C_202E_206B_206D_200D_202D_202D_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static Vector2 _206A_206D_202D_206D_206A_200B_206E_206A_200F_200B_200C_200E_206A_206D_206B_206C_206D_206C_200F_202C_202C_200F_206A_200B_202D_202B_206E_200E_206B_202A_202A_202C_206F_206B_206D_206F_200B_200F_202E_206A_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static bool _200C_200C_202C_206A_206A_206C_202D_200F_200B_206D_202A_200E_200C_202A_202C_200F_206E_202E_200C_206F_206E_200C_200E_200F_202B_202A_200F_200F_200D_200C_200C_200C_200F_202D_202C_206C_206F_202C_202C_206F_202E() - { - return ImGui.IsItemHovered(); - } - - static ImRaii.TooltipDisposable _200C_206F_200E_206D_206C_200F_202B_200D_200F_206C_202C_200D_206E_202B_206F_206E_206A_206D_200B_206A_206F_202D_206F_206B_206F_200E_200E_202B_200E_206F_200F_206B_200F_202E_206F_202B_206F_202E_206E_202D_202E() - { - return ImRaii.Tooltip(); - } - - static void _200E_206B_202A_202C_200D_202B_200E_206A_200B_200D_202A_200B_206C_202D_200B_200E_202E_200C_202A_202D_206B_202A_206A_206A_206B_206B_206B_200D_200E_206C_200B_202C_200C_202B_200D_202C_206F_200B_202E_200E_202E(float P_0) - { - ImGui.PushTextWrapPos(P_0); - } - - static void _202D_200F_200F_206F_200F_202C_206E_200C_200C_202C_202A_206B_200D_202B_202B_206E_206B_206F_200C_206D_206A_200F_200B_200D_200E_206A_206B_200D_206C_206D_206E_202D_200C_202A_206A_200C_206B_200C_202D_202A_202E() - { - ImGui.PopTextWrapPos(); - } - - static ImRaii.IdDisposable _200B_206F_206A_202E_202B_202E_206C_200B_200D_206C_206E_206C_200F_206A_206F_200E_200D_200D_202B_200F_202A_202C_200B_206F_202E_200C_200F_200F_202D_200D_200C_202B_202A_206D_200C_202A_206E_206C_206A_206B_202E(ImU8String P_0, bool P_1) - { - return ImRaii.PushId(P_0, P_1); - } - - static string _202D_200F_202A_200B_202A_202C_202D_200D_202E_206B_202D_206D_200E_202B_206A_200F_200B_206D_206E_202D_202E_200E_200B_202E_200B_206F_206D_206A_206F_202D_206A_206A_206C_206B_206D_200B_200F_202D_206F_206A_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static void _202A_206D_206A_202E_200E_202E_202A_202D_202D_206F_206E_206C_202B_200E_202C_202A_200E_206A_202C_202C_200E_202B_200D_200F_200B_200B_200E_206B_200E_206A_202E_200D_202D_202E_206C_202A_202C_200E_206C_202E_202E(ImU8String P_0) - { - ImGui.SetTooltip(P_0); - } - - static bool _200E_206E_202C_200E_206F_202D_200B_206B_206C_206A_202D_202B_206E_206D_202B_202B_206F_200E_200D_202E_200E_200E_200E_200B_202C_202B_206B_202A_202C_206B_202E_200D_200F_202C_200D_200C_202A_206F_200E_202B_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } } diff --git a/Questionable/Questionable.Windows.ConfigComponents/GeneralConfigComponent.cs b/Questionable/Questionable.Windows.ConfigComponents/GeneralConfigComponent.cs index e9b2d85..f209ea1 100644 --- a/Questionable/Questionable.Windows.ConfigComponents/GeneralConfigComponent.cs +++ b/Questionable/Questionable.Windows.ConfigComponents/GeneralConfigComponent.cs @@ -21,100 +21,6 @@ namespace Questionable.Windows.ConfigComponents; internal sealed class GeneralConfigComponent : ConfigComponent { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func<(EClassJob ClassJob, int Category), EClassJob> _003C_003E9__13_0; - - public static Func _003C_003E9__13_1; - - public static Func _003C_003E9__13_2; - - public static Func _003C_003E9__13_3; - - public static Func<(EClassJob ClassJob, string Name), EClassJob> _003C_003E9__13_5; - - public static Func<(EClassJob ClassJob, string Name), string> _003C_003E9__13_6; - - public static Func _003C_003E9__13_7; - - internal EClassJob _003C_002Ector_003Eb__13_0((EClassJob ClassJob, int Category) x) - { - return x.ClassJob; - } - - internal bool _003C_002Ector_003Eb__13_1(EClassJob x) - { - return x != EClassJob.Adventurer; - } - - internal bool _003C_002Ector_003Eb__13_2(EClassJob x) - { - int num = (_206D_200C_202A_200F_200B_200D_206D_200C_202E_206E_206B_202B_200F_202C_200C_200D_200E_200F_206B_202D_200F_200C_200D_206D_206A_202E_200F_200E_202E_200B_200E_206D_206D_206F_206A_202B_206C_206A_200D_206C_202E(x) ? (-1141664245) : (-1141664248)); - while (true) - { - int num2 = num; - int num3 = -1141664246; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0046; - case 1: - return false; - case 2: - return !_200B_202A_200C_200B_202D_206F_200D_200C_202A_206D_202A_206C_200C_200B_200D_202A_202E_206E_200E_206B_202B_200D_206E_202C_202A_206B_202B_206F_200B_206F_202C_202C_206F_206E_206E_202D_202D_202C_206D_200F_202E(x); - } - continue; - IL_0046: - num = -1141664248; - } - } - - internal bool _003C_002Ector_003Eb__13_3(EClassJob x) - { - return !_206D_206B_200F_200F_200D_200B_202C_202B_206B_200D_200D_200E_200C_206A_200C_200E_202D_206F_206C_200D_202B_202E_206A_202C_202E_200D_200C_206C_206A_200D_202A_206B_202C_200B_206E_206E_206D_202C_202D_206C_202E(x); - } - - internal EClassJob _003C_002Ector_003Eb__13_5((EClassJob ClassJob, string Name) x) - { - return x.ClassJob; - } - - internal string _003C_002Ector_003Eb__13_6((EClassJob ClassJob, string Name) x) - { - return x.Name; - } - - internal string _003C_002Ector_003Eb__13_7(EClassJob x) - { - return _202A_202E_200D_206F_202B_202B_206F_202C_206D_206C_200D_202C_206B_200D_200E_200F_206E_202D_200B_202E_200C_206A_200C_200C_200D_200C_206C_206A_200C_200B_206E_200B_200C_206A_206B_202A_206B_200D_206E_200C_202E(x); - } - - static bool _206D_200C_202A_200F_200B_200D_206D_200C_202E_206E_206B_202B_200F_202C_200C_200D_200E_200F_206B_202D_200F_200C_200D_206D_206A_202E_200F_200E_202E_200B_200E_206D_206D_206F_206A_202B_206C_206A_200D_206C_202E(EClassJob P_0) - { - return P_0.IsCrafter(); - } - - static bool _200B_202A_200C_200B_202D_206F_200D_200C_202A_206D_202A_206C_200C_200B_200D_202A_202E_206E_200E_206B_202B_200D_206E_202C_202A_206B_202B_206F_200B_206F_202C_202C_206F_206E_206E_202D_202D_202C_206D_200F_202E(EClassJob P_0) - { - return P_0.IsGatherer(); - } - - static bool _206D_206B_200F_200F_200D_200B_202C_202B_206B_200D_200D_200E_200C_206A_200C_200E_202D_206F_206C_200D_202B_202E_206A_202C_202E_200D_200C_206C_206A_200D_202A_206B_202C_200B_206E_206E_206D_202C_202D_206C_202E(EClassJob P_0) - { - return P_0.IsClass(); - } - - static string _202A_202E_200D_206F_202B_202B_206F_202C_206D_206C_200D_202C_206B_200D_200E_200F_206E_202D_200B_202E_200C_206A_200C_200C_200D_200C_206C_206A_200C_200B_206E_200B_200C_206A_206B_202A_206B_200D_206E_200C_202E(EClassJob P_0) - { - return P_0.ToFriendlyString(); - } - } - private static readonly List<(EClassJob ClassJob, string Name)> DefaultClassJobs; private readonly IDataManager _dataManager; @@ -123,13 +29,7 @@ internal sealed class GeneralConfigComponent : ConfigComponent private static readonly (EItemRewardType Type, string Label)[] RewardTypeOptions; - private readonly string[] _grandCompanyNames = new string[4] - { - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1980616671), - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(372022407), - 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(1674778799), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1041968074) - }; + private readonly string[] _grandCompanyNames = new string[4] { "Auto (starting city)", "Maelstrom", "Twin Adder", "Immortal Flames" }; private readonly EClassJob[] _classJobIds; @@ -141,41 +41,19 @@ internal sealed class GeneralConfigComponent : ConfigComponent public System.Action? OpenDependenciesTab { get; set; } - [MethodImpl(MethodImplOptions.NoInlining)] public GeneralConfigComponent(IDalamudPluginInterface pluginInterface, Configuration configuration, IDataManager dataManager, ClassJobUtils classJobUtils) : base(pluginInterface, configuration) { _dataManager = dataManager; List sortedClassJobs = classJobUtils.SortedClassJobs.Select(((EClassJob ClassJob, int Category) x) => x.ClassJob).ToList(); - List list = (from x in (from x in Enum.GetValues() - where x != EClassJob.Adventurer - select x).Where(delegate(EClassJob x) - { - int num = (_003C_003Ec._206D_200C_202A_200F_200B_200D_206D_200C_202E_206E_206B_202B_200F_202C_200C_200D_200E_200F_206B_202D_200F_200C_200D_206D_206A_202E_200F_200E_202E_200B_200E_206D_206D_206F_206A_202B_206C_206A_200D_206C_202E(x) ? (-1141664245) : (-1141664248)); - while (true) - { - int num2 = num; - int num3 = -1141664246; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0046; - case 1: - return false; - case 2: - return !_003C_003Ec._200B_202A_200C_200B_202D_206F_200D_200C_202A_206D_202A_206C_200C_200B_200D_202A_202E_206E_200E_206B_202B_200D_206E_202C_202A_206B_202B_206F_200B_206F_202C_202C_206F_206E_206E_202D_202D_202C_206D_200F_202E(x); - } - continue; - IL_0046: - num = -1141664248; - } - }) - where !_003C_003Ec._206D_206B_200F_200F_200D_200B_202C_202B_206B_200D_200D_200E_200C_206A_200C_200E_202D_206F_206C_200D_202B_202E_206A_202C_202E_200D_200C_206C_206A_200D_202A_206B_202C_200B_206E_206E_206D_202C_202D_206C_202E(x) + List list = (from x in Enum.GetValues() + where x != EClassJob.Adventurer + where !x.IsCrafter() && !x.IsGatherer() + where !x.IsClass() orderby sortedClassJobs.IndexOf(x) select x).ToList(); _classJobIds = DefaultClassJobs.Select<(EClassJob, string), EClassJob>(((EClassJob ClassJob, string Name) x) => x.ClassJob).Concat(list).ToArray(); - _classJobNames = DefaultClassJobs.Select<(EClassJob, string), string>(((EClassJob ClassJob, string Name) x) => x.Name).Concat(list.Select((EClassJob x) => _003C_003Ec._202A_202E_200D_206F_202B_202B_206F_202C_206D_206C_200D_202C_206B_200D_200E_200F_206E_202D_200B_202E_200C_206A_200C_200C_200D_200C_206C_206A_200C_200B_206E_200B_200C_206A_206B_202A_206B_200D_206E_200C_202E(x))).ToArray(); + _classJobNames = DefaultClassJobs.Select<(EClassJob, string), string>(((EClassJob ClassJob, string Name) x) => x.Name).Concat(list.Select((EClassJob x) => x.ToFriendlyString())).ToArray(); } public override void DrawTab() @@ -191,1222 +69,376 @@ internal sealed class GeneralConfigComponent : ConfigComponent DrawRewardRedemption(); } - [MethodImpl(MethodImplOptions.NoInlining)] public void DrawGrandCompanySelector(float comboWidth) { int currentItem = (int)base.Configuration.General.GrandCompany; - _200E_206F_206E_206F_206B_206C_200F_202A_206C_202C_200F_200C_206E_202C_206C_206A_206C_206E_206F_200D_202B_200B_200E_202E_206C_200D_200F_206B_206D_202C_202D_202C_206A_206C_202C_200E_202B_202B_200C_202E_202E(comboWidth); - int num = ((!UiThemeUtils.ThemedCombo(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(174108271), ref currentItem, _grandCompanyNames, _grandCompanyNames.Length)) ? (-299917072) : (-299917069)); - while (true) + ImGui.SetNextItemWidth(comboWidth); + if (UiThemeUtils.ThemedCombo("Preferred Grand Company", ref currentItem, _grandCompanyNames, _grandCompanyNames.Length)) { - int num2 = num; - int num3 = -299917070; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return; - case 1: - base.Configuration.General.GrandCompany = (FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany)currentItem; - Save(); - num = -299917072; - break; - case 0: - num = -299917069; - break; - } + base.Configuration.General.GrandCompany = (FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany)currentItem; + Save(); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawCombatAndClass() { - UiThemeUtils.SectionHeader(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(917007349)); + UiThemeUtils.SectionHeader("Combat & Class"); (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple = UiThemeUtils.BeginCard(); Vector2 item = tuple.ContentStartPos; float item2 = tuple.AvailableWidth; ImDrawListPtr item3 = tuple.DrawList; - float num = _206A_206F_206D_200C_200C_200C_206B_202D_202C_206F_206D_202E_202A_202A_206A_206A_206F_202D_206A_202A_206E_206A_200B_202E_200F_200D_200D_200C_202B_202D_200E_206F_206D_206E_206B_206D_202A_200E_206F_202D_202E(_200C_206D_200F_202E_200F_200C_206A_200C_200F_206C_206B_202C_206F_200C_206A_200B_200E_206C_200F_202D_206A_202D_202E_200F_200F_206F_206C_200B_206D_200B_202C_200F_202C_206F_206B_206C_206D_202B_206B_200C_202E().X * 0.6f, 260f); - _202A_200B_200E_200D_206E_206F_206E_206E_200E_200B_200C_206F_206F_206E_206C_200F_202B_202A_200B_200C_202B_202C_206F_206F_202E_200C_202C_206E_200D_200C_202D_200B_200C_200F_202B_200D_200D_200F_200D_206F_202E(); - _200B_206A_200E_200E_206B_200F_200D_200D_206C_200B_206A_200F_206A_200C_206C_206D_200C_206D_200E_202D_206F_206F_202A_202D_202E_202C_206D_202E_206D_202A_206F_206E_206A_200C_202E_206A_206C_206D_200C_206B_202E((ImU8String)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(-441681196)); - _200F_206E_202D_200F_200B_200D_202C_202A_202B_200E_202A_200C_206E_202A_206F_206F_206C_206F_202E_200E_200B_206F_202D_200B_206E_202B_202B_202A_200E_206C_206F_206F_200D_202E_200C_200C_200F_202B_202D_200C_202E(); - string text = CombatModuleOptions.FirstOrDefault(((Configuration.ECombatModule Module, string Name, string[] InternalNames) x) => x.Module == base.Configuration.General.CombatModule).Name ?? global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2031702311); - _202C_200B_206E_206C_206F_200E_206F_200F_202A_200F_202A_202C_206F_202D_202D_206B_200B_202C_202C_206B_200E_202C_206D_200D_206D_202A_206A_200D_200F_202A_200B_206A_206F_200D_200E_200E_202D_206F_206B_206A_202E(ref UiThemeUtils.AccentColor, (ImU8String)text); - _200F_206E_202D_200F_200B_200D_202C_202A_202B_200E_202A_200C_206E_202A_206F_206F_206C_206F_202E_200E_200B_206F_202D_200B_206E_202B_202B_202A_200E_206C_206F_206F_200D_202E_200C_200C_200F_202B_202D_200C_202E(); - int num2 = ((!UiThemeUtils.PillButton(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-934450231), selected: false)) ? 1018794268 : 1018794270); - int currentItem = default(int); - while (true) + float num = MathF.Min(ImGui.GetContentRegionAvail().X * 0.6f, 260f); + ImGui.AlignTextToFramePadding(); + ImGui.TextUnformatted("Combat module:"); + ImGui.SameLine(); + string text = CombatModuleOptions.FirstOrDefault(((Configuration.ECombatModule Module, string Name, string[] InternalNames) x) => x.Module == base.Configuration.General.CombatModule).Name ?? "None"; + ImGui.TextColored(in UiThemeUtils.AccentColor, text); + ImGui.SameLine(); + if (UiThemeUtils.PillButton("Configure in Dependencies", selected: false)) { - int num3 = num2; - int num4 = 1018794269; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 4: - UiThemeUtils.EndCard(item, item2, item3); - return; - case 1: - DrawGrandCompanySelector(num); - currentItem = Array.IndexOf(_classJobIds, base.Configuration.General.CombatJob); - num2 = ((currentItem != -1) ? 1018794269 : 1018794271); - break; - case 2: - base.Configuration.General.CombatJob = EClassJob.Adventurer; - Save(); - currentItem = 0; - num2 = 1018794269; - break; - case 3: - { - System.Action? openDependenciesTab = OpenDependenciesTab; - if (openDependenciesTab == null) - { - goto case 1; - } - openDependenciesTab(); - num2 = 1018794268; - break; - } - case 6: - num2 = 1018794270; - break; - case 0: - num2 = ((!UiThemeUtils.SearchableCombo(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(1658824067), ref currentItem, _classJobNames, ref _classJobSearchText, num)) ? 1018794265 : 1018794264); - break; - case 5: - base.Configuration.General.CombatJob = _classJobIds[currentItem]; - Save(); - num2 = 1018794265; - break; - } + OpenDependenciesTab?.Invoke(); } + DrawGrandCompanySelector(num); + int currentItem = Array.IndexOf(_classJobIds, base.Configuration.General.CombatJob); + if (currentItem == -1) + { + base.Configuration.General.CombatJob = EClassJob.Adventurer; + Save(); + currentItem = 0; + } + if (UiThemeUtils.SearchableCombo("Preferred Combat Job", ref currentItem, _classJobNames, ref _classJobSearchText, num)) + { + base.Configuration.General.CombatJob = _classJobIds[currentItem]; + Save(); + } + UiThemeUtils.EndCard(item, item2, item3); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawBehaviour() { - UiThemeUtils.SectionHeader(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-416136072)); + UiThemeUtils.SectionHeader("Behaviour"); var (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); - UiThemeUtils.SubSectionHeader(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-549533391)); + UiThemeUtils.SubSectionHeader("Quest window"); bool value = base.Configuration.General.HideInAllInstances; - int num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(276124864), ref value)) ? 593225800 : 593225803); - bool value4 = default(bool); - bool value5 = default(bool); - int num13 = default(int); - while (true) + if (UiThemeUtils.WrappedCheckbox("Hide quest window in all instanced duties", ref value)) { - int num2 = num; - int num3 = 593225802; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + base.Configuration.General.HideInAllInstances = value; + Save(); + } + using (ImRaii.Disabled(!value)) + { + using (ImRaii.PushIndent()) { - case 0: - num = 593225803; - break; - case 1: - base.Configuration.General.HideInAllInstances = value; - Save(); - num = 593225800; - break; - case 2: - { - ImRaii.DisabledDisposable disabledDisposable = _202E_202D_200D_206D_200E_202C_206E_200F_200F_206A_206A_206B_206E_202A_206D_202A_206C_200F_200F_200F_206E_200E_206E_202A_202C_206B_206B_200E_206C_200F_202B_206E_200B_206B_206A_206D_206E_200B_206B_202B_202E(!value); - try + bool value2 = base.Configuration.Advanced.ShowWindowInInstances; + if (UiThemeUtils.WrappedCheckbox("Show quest window in instances anyway", ref value2, "When enabled, the quest window will always be shown in instanced duties, ignoring the 'Hide quest window in all instanced duties' setting above.")) { - ImRaii.IndentDisposable indentDisposable = _200F_206D_206F_202A_202D_206C_206D_200B_200D_200B_200F_202C_206C_206C_200D_206D_200B_206F_206E_200D_206E_206E_202E_202E_200C_206E_202C_202A_206D_206F_202E_200F_206E_206B_206E_202D_202B_202A_206E_200C_202E(1, true); - try - { - bool value2 = base.Configuration.Advanced.ShowWindowInInstances; - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1505028076), ref value2, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(127940536))) ? 611209518 : 611209519); - while (true) - { - int num7 = num; - num3 = 611209518; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 611209519; - break; - case 1: - base.Configuration.Advanced.ShowWindowInInstances = value2; - Save(); - num = 611209518; - break; - case 0: - goto end_IL_0132; - } - continue; - end_IL_0132: - break; - } - } - finally - { - num = ((indentDisposable == null) ? 1960475111 : 1960475110); - while (true) - { - int num8 = num; - num3 = 1960475111; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1960475110; - break; - case 0: - goto end_IL_01b2; - case 1: - _200E_206B_202E_202B_200E_206B_206D_200C_202A_202E_206E_206E_202A_202B_202E_206E_206D_200B_200D_200F_206C_202C_200B_206A_202A_202D_206A_206F_206E_206F_202D_206F_202D_202A_200C_206D_206C_206B_202B_206F_202E((IDisposable)indentDisposable); - num = 1960475111; - break; - } - continue; - end_IL_01b2: - break; - } - } + base.Configuration.Advanced.ShowWindowInInstances = value2; + Save(); } - finally - { - num = ((disabledDisposable == null) ? (-1971968134) : (-1971968135)); - while (true) - { - int num9 = num; - num3 = -1971968136; - num4 = num9; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1971968135; - break; - case 2: - goto end_IL_021d; - case 1: - _200E_206B_202E_202B_200E_206B_206D_200C_202A_202E_206E_206E_202A_202B_202E_206E_206D_200B_200D_200F_206C_202C_200B_206A_202A_202D_206A_206F_206E_206F_202D_206F_202D_202A_200C_206D_206C_206B_202B_206F_202E((IDisposable)disabledDisposable); - num = -1971968134; - break; - } - continue; - end_IL_021d: - break; - } - } - bool value3 = base.Configuration.General.ShowChangelogOnUpdate; - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(870916420), ref value3)) ? 749812627 : 749812635); - while (true) - { - int num10 = num; - num3 = 749812627; - num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - case 10: - num = 749812635; - break; - case 0: - UiThemeUtils.SubSectionHeader(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(514685832)); - value4 = base.Configuration.General.UseEscToCancelQuesting; - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1283180312), ref value4)) ? 749812626 : 749812632); - break; - case 3: - base.Configuration.General.ShowIncompleteSeasonalEvents = !base.Configuration.General.ShowIncompleteSeasonalEvents; - Save(); - num = 749812629; - break; - case 2: - base.Configuration.General.StopOnPlayerInput = value5; - Save(); - num = 749812630; - break; - case 7: - num = ((num13 == 1) ? 749812634 : 749812631); - break; - case 1: - value5 = base.Configuration.General.StopOnPlayerInput; - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1148189481), ref value5)) ? 749812630 : 749812625); - break; - case 5: - { - UiThemeUtils.SubSectionHeader(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(436457563)); - InlineArray2 buffer = default(InlineArray2); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, UiThemeUtils.GridCheckbox>(ref buffer, 0) = new UiThemeUtils.GridCheckbox(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1859570277), base.Configuration.General.ShowIncompleteSeasonalEvents); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, UiThemeUtils.GridCheckbox>(ref buffer, 1) = new UiThemeUtils.GridCheckbox(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1405430146), base.Configuration.General.HideSeasonalEventsFromJournalProgress); - ReadOnlySpan items = global::_003CPrivateImplementationDetails_003E.InlineArrayAsReadOnlySpan, UiThemeUtils.GridCheckbox>(in buffer, 2); - num13 = UiThemeUtils.CheckboxGrid(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1077295308), items); - num = ((num13 == 0) ? 749812624 : 749812628); - break; - } - case 11: - base.Configuration.General.UseEscToCancelQuesting = value4; - Save(); - num = 749812626; - break; - case 6: - UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); - return; - case 4: - num = 749812629; - break; - case 9: - base.Configuration.General.HideSeasonalEventsFromJournalProgress = !base.Configuration.General.HideSeasonalEventsFromJournalProgress; - Save(); - num = 749812629; - break; - case 8: - base.Configuration.General.ShowChangelogOnUpdate = value3; - Save(); - num = 749812627; - break; - } - } - } } } + bool value3 = base.Configuration.General.ShowChangelogOnUpdate; + if (UiThemeUtils.WrappedCheckbox("Show changelog window when plugin updates", ref value3)) + { + base.Configuration.General.ShowChangelogOnUpdate = value3; + Save(); + } + UiThemeUtils.SubSectionHeader("Manual control"); + bool value4 = base.Configuration.General.UseEscToCancelQuesting; + if (UiThemeUtils.WrappedCheckbox("Double tap ESC to cancel questing/movement", ref value4)) + { + base.Configuration.General.UseEscToCancelQuesting = value4; + Save(); + } + bool value5 = base.Configuration.General.StopOnPlayerInput; + if (UiThemeUtils.WrappedCheckbox("Stop automation when manually moving character", ref value5)) + { + base.Configuration.General.StopOnPlayerInput = value5; + Save(); + } + UiThemeUtils.SubSectionHeader("Seasonal events"); + InlineArray2 buffer = default(InlineArray2); + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, UiThemeUtils.GridCheckbox>(ref buffer, 0) = new UiThemeUtils.GridCheckbox("Show details for incomplete seasonal events", base.Configuration.General.ShowIncompleteSeasonalEvents); + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, UiThemeUtils.GridCheckbox>(ref buffer, 1) = new UiThemeUtils.GridCheckbox("Hide Seasonal Events from Journal Progress", base.Configuration.General.HideSeasonalEventsFromJournalProgress); + ReadOnlySpan items = global::_003CPrivateImplementationDetails_003E.InlineArrayAsReadOnlySpan, UiThemeUtils.GridCheckbox>(in buffer, 2); + switch (UiThemeUtils.CheckboxGrid("seasonal", items)) + { + case 0: + base.Configuration.General.ShowIncompleteSeasonalEvents = !base.Configuration.General.ShowIncompleteSeasonalEvents; + Save(); + break; + case 1: + base.Configuration.General.HideSeasonalEventsFromJournalProgress = !base.Configuration.General.HideSeasonalEventsFromJournalProgress; + Save(); + break; + } + UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawQuesting() { - UiThemeUtils.SectionHeader(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(1813312374)); + UiThemeUtils.SectionHeader("Questing"); (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple = UiThemeUtils.BeginCard(); Vector2 item = tuple.ContentStartPos; float item2 = tuple.AvailableWidth; ImDrawListPtr item3 = tuple.DrawList; bool value = base.Configuration.General.AutoSolveQte; - int num = ((!UiThemeUtils.WrappedCheckbox(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(-726681840), ref value, 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(2073991844))) ? (-2112684850) : (-2112684849)); - bool value2 = default(bool); - bool value4 = default(bool); - bool value5 = default(bool); - bool value6 = default(bool); - while (true) + if (UiThemeUtils.WrappedCheckbox("Automatically solve Quick Time Events (QTEs)", ref value, "Automatically mashes the button during Active Time Maneuver (ATM) prompts that appear in certain duties and quest battles.")) { - int num2 = num; - int num3 = -2112684850; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + base.Configuration.General.AutoSolveQte = value; + Save(); + } + bool value2 = base.Configuration.General.AutoSnipe; + if (UiThemeUtils.WrappedCheckbox("Automatically complete snipe quests", ref value2, "Automatically completes sniping minigames introduced in Stormblood. When enabled, snipe targets are instantly hit without manual aiming.")) + { + base.Configuration.General.AutoSnipe = value2; + Save(); + } + bool value3 = base.Configuration.General.CinemaMode; + if (UiThemeUtils.WrappedCheckbox("Cinema Mode (watch cutscenes)", ref value3, "When enabled, cutscenes will NOT be automatically skipped. This allows you to experience the story while Questionable handles navigation, combat, and other gameplay automation.\n\nRecommended for first-time story playthroughs.")) + { + base.Configuration.General.CinemaMode = value3; + Save(); + } + bool value4 = base.Configuration.General.ConfigureTextAdvance; + if (UiThemeUtils.WrappedCheckbox("Automatically configure TextAdvance with the recommended settings", ref value4)) + { + base.Configuration.General.ConfigureTextAdvance = value4; + Save(); + } + bool value5 = base.Configuration.General.DeathRecoveryEnabled; + if (UiThemeUtils.WrappedCheckbox("Automatically recover and resume after dying", ref value5, "When enabled, dying outside of a duty will not stop automation. After respawning, Questionable will automatically route back to continue the current quest step.")) + { + base.Configuration.General.DeathRecoveryEnabled = value5; + Save(); + } + using (ImRaii.Disabled(!value5)) + { + using (ImRaii.PushIndent()) { - case 3: - value2 = base.Configuration.General.DeathRecoveryEnabled; - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1324461342), ref value2, 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(-2100842061))) ? (-2112684855) : (-2112684857)); - break; - case 5: - base.Configuration.General.CinemaMode = value4; - Save(); - num = -2112684856; - break; - case 1: - base.Configuration.General.AutoSolveQte = value; - Save(); - num = -2112684850; - break; - case 4: - base.Configuration.General.AutoSnipe = value5; - Save(); - num = -2112684860; - break; - case 9: - base.Configuration.General.DeathRecoveryEnabled = value2; - Save(); - num = -2112684855; - break; - case 6: - value6 = base.Configuration.General.ConfigureTextAdvance; - num = ((!UiThemeUtils.WrappedCheckbox(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(1845660240), ref value6)) ? (-2112684851) : (-2112684858)); - break; - case 8: - base.Configuration.General.ConfigureTextAdvance = value6; - Save(); - num = -2112684851; - break; - case 0: - value5 = base.Configuration.General.AutoSnipe; - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-572362739), ref value5, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-58217097))) ? (-2112684860) : (-2112684854)); - break; - case 10: - value4 = base.Configuration.General.CinemaMode; - num = ((!UiThemeUtils.WrappedCheckbox(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(-931757293), ref value4, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-550109930))) ? (-2112684856) : (-2112684853)); - break; - case 2: - num = -2112684849; - break; - case 7: - { - ImRaii.DisabledDisposable disabledDisposable = _202E_202D_200D_206D_200E_202C_206E_200F_200F_206A_206A_206B_206E_202A_206D_202A_206C_200F_200F_200F_206E_200E_206E_202A_202C_206B_206B_200E_206C_200F_202B_206E_200B_206B_206A_206D_206E_200B_206B_202B_202E(!value2); - try + int value6 = base.Configuration.General.MaxDeathsBeforeStop; + if (UiThemeUtils.AccentSliderInt("Max deaths before stopping", ref value6, 1, 10)) { - ImRaii.IndentDisposable indentDisposable = _200F_206D_206F_202A_202D_206C_206D_200B_200D_200B_200F_202C_206C_206C_200D_206D_200B_206F_206E_200D_206E_206E_202E_202E_200C_206E_202C_202A_206D_206F_202E_200F_206E_206B_206E_202D_202B_202A_206E_200C_202E(1, true); - try - { - int value3 = base.Configuration.General.MaxDeathsBeforeStop; - num = ((!UiThemeUtils.AccentSliderInt(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-444997738), ref value3, 1, 10)) ? 1588037696 : 1588037699); - while (true) - { - int num5 = num; - num3 = 1588037698; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1588037699; - break; - case 1: - base.Configuration.General.MaxDeathsBeforeStop = value3; - Save(); - num = 1588037696; - break; - case 2: - { - _202E_206F_200C_200B_206A_206B_202A_200F_206E_200D_202B_206B_200D_202D_202D_202E_206A_206E_206C_206D_202B_202A_206D_202E_202E_202A_202C_202E_202D_200C_206B_206F_206B_206D_200B_206D_200E_206E_200B_206F_202E(0f); - ImU8String imU8String = new ImU8String(66, 1); - imU8String.AppendLiteral(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(-2118003974)); - imU8String.AppendFormatted(value3); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-270420442)); - _202C_200B_206E_206C_206F_200E_206F_200F_202A_200F_202A_202C_206F_202D_202D_206B_200B_202C_202C_206B_200E_202C_206D_200D_206D_202A_206A_200D_200F_202A_200B_206A_206F_200D_200E_200E_202D_206F_206B_206A_202E(ref UiThemeUtils.MutedTextColor, imU8String); - _206D_202E_200B_200D_200C_202B_202C_206D_200E_202A_200B_200B_200D_202C_206B_200F_206F_206C_206B_206C_206C_206D_200D_206B_206B_206E_200C_202C_206B_200F_200B_202E_206F_202A_202C_202E_200B_206D_200E_200F_202E(); - goto end_IL_02f8; - } - } - continue; - end_IL_02f8: - break; - } - } - finally - { - num = ((indentDisposable == null) ? (-1393688015) : (-1393688016)); - while (true) - { - int num6 = num; - num3 = -1393688015; - num4 = num6; - int num7 = num4 + num3; - int num8 = num4 & num3; - switch (num7 - (num8 + num8)) - { - case 2: - num = -1393688016; - break; - case 0: - goto end_IL_03c8; - case 1: - _200E_206B_202E_202B_200E_206B_206D_200C_202A_202E_206E_206E_202A_202B_202E_206E_206D_200B_200D_200F_206C_202C_200B_206A_202A_202D_206A_206F_206E_206F_202D_206F_202D_202A_200C_206D_206C_206B_202B_206F_202E((IDisposable)indentDisposable); - num = -1393688015; - break; - } - continue; - end_IL_03c8: - break; - } - } + base.Configuration.General.MaxDeathsBeforeStop = value6; + Save(); } - finally - { - num = ((disabledDisposable == null) ? 1396766762 : 1396766763); - while (true) - { - int num9 = num; - num3 = 1396766762; - num4 = num9; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1396766763; - break; - case 1: - _200E_206B_202E_202B_200E_206B_206D_200C_202A_202E_206E_206E_202A_202B_202E_206E_206D_200B_200D_200F_206C_202C_200B_206A_202A_202D_206A_206F_206E_206F_202D_206F_202D_202A_200C_206D_206C_206B_202B_206F_202E((IDisposable)disabledDisposable); - num = 1396766762; - break; - case 0: - goto end_IL_0435; - } - continue; - end_IL_0435: - break; - } - } - UiThemeUtils.EndCard(item, item2, item3); - return; - } + ImGui.PushTextWrapPos(0f); + ImU8String text = new ImU8String(66, 1); + text.AppendLiteral("Automation will stop after "); + text.AppendFormatted(value6); + text.AppendLiteral(" consecutive death(s) on the same step."); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, text); + ImGui.PopTextWrapPos(); } } + UiThemeUtils.EndCard(item, item2, item3); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawEquipment() { - UiThemeUtils.SectionHeader(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(-546915505)); + UiThemeUtils.SectionHeader("Equipment"); (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple = UiThemeUtils.BeginCard(); Vector2 item = tuple.ContentStartPos; float item2 = tuple.AvailableWidth; ImDrawListPtr item3 = tuple.DrawList; bool value = base.Configuration.General.RepairGear; - int num = ((!UiThemeUtils.WrappedCheckbox(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(1818298155), ref value, 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(-2041209117))) ? 1529926213 : 1529926214); - string text = default(string); - while (true) + if (UiThemeUtils.WrappedCheckbox("Repair gear automatically", ref value, "Repairs equipped gear when its condition gets low. Uses dark matter self-repair when your crafter levels and inventory allow it, otherwise visits a nearby mender (teleporting to a city if needed). If gear is critically damaged and no repair is possible, automation stops before entering a duty.")) { - int num2 = num; - int num3 = 1529926215; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + base.Configuration.General.RepairGear = value; + Save(); + } + using (ImRaii.Disabled(!value)) + { + using (ImRaii.PushIndent()) { - case 0: - num = 1529926214; - break; - case 1: - base.Configuration.General.RepairGear = value; - Save(); - num = 1529926213; - break; - case 2: - { - ImRaii.DisabledDisposable disabledDisposable = _202E_202D_200D_206D_200E_202C_206E_200F_200F_206A_206A_206B_206E_202A_206D_202A_206C_200F_200F_200F_206E_200E_206E_202A_202C_206B_206B_200E_206C_200F_202B_206E_200B_206B_206A_206D_206E_200B_206B_202B_202E(!value); - try + int value2 = base.Configuration.General.RepairThresholdPercent; + if (UiThemeUtils.AccentSliderInt("Repair below condition (%)", ref value2, 10, 90)) { - ImRaii.IndentDisposable indentDisposable = _200F_206D_206F_202A_202D_206C_206D_200B_200D_200B_200F_202C_206C_206C_200D_206D_200B_206F_206E_200D_206E_206E_202E_202E_200C_206E_202C_202A_206D_206F_202E_200F_206E_206B_206E_202D_202B_202A_206E_200C_202E(1, true); - try - { - int value2 = base.Configuration.General.RepairThresholdPercent; - num = ((!UiThemeUtils.AccentSliderInt(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1484219829), ref value2, 10, 90)) ? (-1794286477) : (-1794286480)); - while (true) - { - int num5 = num; - num3 = -1794286479; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1794286480; - break; - case 1: - base.Configuration.General.RepairThresholdPercent = value2; - Save(); - num = -1794286477; - break; - case 2: - goto end_IL_0129; - } - continue; - end_IL_0129: - break; - } - } - finally - { - num = ((indentDisposable == null) ? (-534230182) : (-534230183)); - while (true) - { - int num6 = num; - num3 = -534230184; - num4 = num6; - int num7 = num4 + num3; - int num8 = num4 & num3; - switch (num7 - (num8 + num8)) - { - case 0: - num = -534230183; - break; - case 2: - goto end_IL_01a9; - case 1: - _200E_206B_202E_202B_200E_206B_206D_200C_202A_202E_206E_206E_202A_202B_202E_206E_206D_200B_200D_200F_206C_202C_200B_206A_202A_202D_206A_206F_206E_206F_202D_206F_202D_202A_200C_206D_206C_206B_202B_206F_202E((IDisposable)indentDisposable); - num = -534230182; - break; - } - continue; - end_IL_01a9: - break; - } - } + base.Configuration.General.RepairThresholdPercent = value2; + Save(); } - finally - { - num = ((disabledDisposable == null) ? (-1868244215) : (-1868244214)); - while (true) - { - int num9 = num; - num3 = -1868244213; - num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 2: - goto end_IL_0216; - case 1: - _200E_206B_202E_202B_200E_206B_206D_200C_202A_202E_206E_206E_202A_202B_202E_206E_206D_200B_200D_200F_206C_202C_200B_206A_202A_202D_206A_206F_206E_206F_202D_206F_202D_202A_200C_206D_206C_206B_202B_206F_202E((IDisposable)disabledDisposable); - num = -1868244215; - break; - case 0: - num = -1868244214; - break; - } - continue; - end_IL_0216: - break; - } - } - _200C_206B_200D_202D_200D_200E_206F_202D_202A_206C_200C_206E_206E_200B_202E_200D_202C_202E_202A_202E_202C_206E_200C_200B_206C_206A_202B_202D_202E_202E_200F_206E_200F_200F_206C_206D_200C_202B_202C_202C_202E(); - string[] array = new string[3] - { - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2046292830), - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1746015917), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-707924028) - }; - int currentItem = (int)base.Configuration.General.EquipMode; - switch (base.Configuration.General.EquipMode) - { - default: - num = 1656766632; - goto IL_02db; - case Questionable.Configuration.EEquipMode.Smart: - text = 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(1519265932); - num = 1656766639; - goto IL_02db; - case Questionable.Configuration.EEquipMode.GameRecommended: - goto IL_033b; - case Questionable.Configuration.EEquipMode.Disabled: - goto IL_035f; - IL_02db: - while (true) - { - int num12 = num; - num3 = 1656766636; - num4 = num12; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - goto end_IL_02db; - case 4: - num = 1656766634; - break; - case 0: - goto IL_033b; - case 5: - num = 1656766632; - break; - case 2: - goto IL_035f; - case 6: - text = string.Empty; - num = 1656766639; - break; - case 3: - { - string tooltip = text; - _200E_206F_206E_206F_206B_206C_200F_202A_206C_202C_200F_200C_206E_202C_206C_206A_206C_206E_206F_200D_202B_200B_200E_202E_206C_200D_200F_206B_206D_202C_202D_202C_206A_206C_202C_200E_202B_202B_200C_202E_202E(_206A_206F_206D_200C_200C_200C_206B_202D_202C_206F_206D_202E_202A_202A_206A_206A_206F_202D_206A_202A_206E_206A_200B_202E_200F_200D_200D_200C_202B_202D_200E_206F_206D_206E_206B_206D_202A_200E_206F_202D_202E(260f, _200C_206D_200F_202E_200F_200C_206A_200C_200F_206C_206B_202C_206F_200C_206A_200B_200E_206C_200F_202D_206A_202D_202E_200F_200F_206F_206C_200B_206D_200B_202C_200F_202C_206F_206B_206C_206D_202B_206B_200C_202E().X)); - if (UiThemeUtils.ThemedCombo(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(960132524), ref currentItem, array, array.Length)) - { - base.Configuration.General.EquipMode = (Configuration.EEquipMode)currentItem; - Save(); - } - _200F_206E_202D_200F_200B_200D_202C_202A_202B_200E_202A_200C_206E_202A_206F_206F_206C_206F_202E_200E_200B_206F_202D_200B_206E_202B_202B_202A_200E_206C_206F_206F_200D_202E_200C_200C_200F_202B_202D_200C_202E(); - UiThemeUtils.InfoIcon(tooltip); - disabledDisposable = _202E_202D_200D_206D_200E_202C_206E_200F_200F_206A_206A_206B_206E_202A_206D_202A_206C_200F_200F_200F_206E_200E_206E_202A_202C_206B_206B_200E_206C_200F_202B_206E_200B_206B_206A_206D_206E_200B_206B_202B_202E(base.Configuration.General.EquipMode != Questionable.Configuration.EEquipMode.Smart); - try - { - ImRaii.IndentDisposable indentDisposable = _200F_206D_206F_202A_202D_206C_206D_200B_200D_200B_200F_202C_206C_206C_200D_206D_200B_206F_206E_200D_206E_206E_202E_202E_200C_206E_202C_202A_206D_206F_202E_200F_206E_206B_206E_202D_202B_202A_206E_200C_202E(1, true); - try - { - bool value3 = base.Configuration.General.PreserveGearset; - num = ((!UiThemeUtils.WrappedCheckbox(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(-1629950991), ref value3, 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(-2121728621))) ? 816050186 : 816050185); - while (true) - { - int num13 = num; - num3 = 816050187; - num4 = num13; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 816050185; - break; - case 2: - base.Configuration.General.PreserveGearset = value3; - Save(); - num = 816050186; - break; - case 1: - goto end_IL_0450; - } - continue; - end_IL_0450: - break; - } - } - finally - { - num = ((indentDisposable == null) ? (-1480534882) : (-1480534881)); - while (true) - { - int num14 = num; - num3 = -1480534882; - num4 = num14; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1480534881; - break; - case 1: - _200E_206B_202E_202B_200E_206B_206D_200C_202A_202E_206E_206E_202A_202B_202E_206E_206D_200B_200D_200F_206C_202C_200B_206A_202A_202D_206A_206F_206E_206F_202D_206F_202D_202A_200C_206D_206C_206B_202B_206F_202E((IDisposable)indentDisposable); - num = -1480534882; - break; - case 0: - goto end_IL_04d0; - } - continue; - end_IL_04d0: - break; - } - } - } - finally - { - num = ((disabledDisposable == null) ? (-1986177713) : (-1986177716)); - while (true) - { - int num15 = num; - num3 = -1986177715; - num4 = num15; - int num16 = num4 + num3; - int num17 = num4 & num3; - switch (num16 - (num17 + num17)) - { - case 2: - goto end_IL_053b; - case 1: - _200E_206B_202E_202B_200E_206B_206D_200C_202A_202E_206E_206E_202A_202B_202E_206E_206D_200B_200D_200F_206C_202C_200B_206A_202A_202D_206A_206F_206E_206F_202D_206F_202D_202A_200C_206D_206C_206B_202B_206F_202E((IDisposable)disabledDisposable); - num = -1986177713; - break; - case 0: - num = -1986177716; - break; - } - continue; - end_IL_053b: - break; - } - } - UiThemeUtils.EndCard(item, item2, item3); - return; - } - } - continue; - end_IL_02db: - break; - } - goto case Questionable.Configuration.EEquipMode.Smart; - IL_035f: - text = 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(1648621206); - num = 1656766639; - goto IL_02db; - IL_033b: - text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-340342814); - num = 1656766639; - goto IL_02db; - } - } } } + ImGui.Spacing(); + string[] array = new string[3] { "Smart", "Game recommended", "Disabled" }; + int currentItem = (int)base.Configuration.General.EquipMode; + object tooltip = base.Configuration.General.EquipMode switch + { + Questionable.Configuration.EEquipMode.Smart => "Picks gear with job-appropriate stats (and weapon damage for weapons)\ninstead of the game's item-level-only recommendation, which can pick\nwrong-role gear (default)", + Questionable.Configuration.EEquipMode.GameRecommended => "The game's built-in Equip Recommended - item level only", + Questionable.Configuration.EEquipMode.Disabled => "Skips equip-recommended quest steps entirely; gear is never changed", + _ => string.Empty, + }; + ImGui.SetNextItemWidth(MathF.Min(260f, ImGui.GetContentRegionAvail().X)); + if (UiThemeUtils.ThemedCombo("Equip recommended gear", ref currentItem, array, array.Length)) + { + base.Configuration.General.EquipMode = (Configuration.EEquipMode)currentItem; + Save(); + } + ImGui.SameLine(); + UiThemeUtils.InfoIcon((string)tooltip); + using (ImRaii.Disabled(base.Configuration.General.EquipMode != Questionable.Configuration.EEquipMode.Smart)) + { + using (ImRaii.PushIndent()) + { + bool value3 = base.Configuration.General.PreserveGearset; + if (UiThemeUtils.WrappedCheckbox("Preserve gearsets", ref value3, "Applies gear upgrades by moving items individually instead of rewriting your current gearset. Slower, but your saved gearset entries stay untouched.")) + { + base.Configuration.General.PreserveGearset = value3; + Save(); + } + } + } + UiThemeUtils.EndCard(item, item2, item3); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawRewardRedemption() { - UiThemeUtils.SectionHeader(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(788272027)); + UiThemeUtils.SectionHeader("Reward redemption"); var (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); - _200D_202E_200E_206C_202A_200C_200B_200F_202C_202C_206F_200D_202A_206D_206E_202C_206E_202D_200F_206C_206C_202D_202D_200F_202E_206F_200C_206A_202D_200F_200F_202B_200C_206F_202E_200F_206E_200D_202E_202E_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(759905692)); - _200C_206B_200D_202D_200D_200E_206F_202D_202A_206C_200C_206E_206E_200B_202E_200D_202C_202E_202A_202E_202C_206E_200C_200B_206C_206A_202B_202D_202E_202E_200F_206E_200F_200F_206C_206D_200C_202B_202C_202C_202E(); + ImGui.TextWrapped("Quest-reward items in your inventory are used automatically when you accept a quest. Choose which types to redeem."); + ImGui.Spacing(); UiThemeUtils.GridCheckbox[] array = new UiThemeUtils.GridCheckbox[RewardTypeOptions.Length]; - int num = 0; - int num2 = 257989418; - EItemRewardType item = default(EItemRewardType); - int num9 = default(int); - while (true) + for (int i = 0; i < RewardTypeOptions.Length; i++) { - int num3 = num2; - int num4 = 257989416; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + array[i] = new UiThemeUtils.GridCheckbox(RewardTypeOptions[i].Label, !base.Configuration.General.DisabledRewardTypes.Contains(RewardTypeOptions[i].Type)); + } + int num = UiThemeUtils.CheckboxGrid("rewards", array); + if (num >= 0) + { + EItemRewardType item = RewardTypeOptions[num].Type; + if (!base.Configuration.General.DisabledRewardTypes.Remove(item)) { - default: - continue; - case 6: - item = RewardTypeOptions[num9].Type; - num2 = (base.Configuration.General.DisabledRewardTypes.Remove(item) ? 257989417 : 257989423); - continue; - case 7: base.Configuration.General.DisabledRewardTypes.Add(item); - num2 = 257989417; - continue; - case 3: - if (!base.Configuration.General.DisabledRewardTypes.Contains(EItemRewardType.Coffer)) - { - num2 = 257989408; - continue; - } - break; - case 5: - num2 = 257989418; - continue; - case 2: - num2 = ((num < RewardTypeOptions.Length) ? 257989420 : 257989416); - continue; - case 4: - { - array[num] = new UiThemeUtils.GridCheckbox(RewardTypeOptions[num].Label, !base.Configuration.General.DisabledRewardTypes.Contains(RewardTypeOptions[num].Type)); - int num10 = num; - num4 = 1; - num5 = num10; - int num11 = num5 ^ num4; - int num12 = num5 & num4; - num = num11 + (num12 + num12); - num2 = 257989418; - continue; } - case 1: - Save(); - num2 = 257989419; - continue; - case 0: - num9 = UiThemeUtils.CheckboxGrid(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1725542329), array); - num2 = ((num9 < 0) ? 257989419 : 257989422); - continue; - case 8: - { - ImRaii.IndentDisposable indentDisposable = _200F_206D_206F_202A_202D_206C_206D_200B_200D_200B_200F_202C_206C_206C_200D_206D_200B_206F_206E_200D_206E_206E_202E_202E_200C_206E_202C_202A_206D_206F_202E_200F_206E_206B_206E_202D_202B_202A_206E_200C_202E(1, true); - try - { - DrawCofferGearsetPicker(); - } - finally - { - num2 = ((indentDisposable == null) ? (-1326572592) : (-1326572589)); - while (true) - { - int num6 = num2; - num4 = -1326572590; - num5 = num6; - int num7 = num5 + num4; - int num8 = num5 & num4; - switch (num7 - (num8 + num8)) - { - case 2: - goto end_IL_024c; - case 1: - _200E_206B_202E_202B_200E_206B_206D_200C_202A_202E_206E_206E_202A_202B_202E_206E_206D_200B_200D_200F_206C_202C_200B_206A_202A_202D_206A_206F_206E_206F_202D_206F_202D_202A_200C_206D_206C_206B_202B_206F_202E((IDisposable)indentDisposable); - num2 = -1326572592; - break; - case 0: - num2 = -1326572589; - break; - } - continue; - end_IL_024c: - break; - } - } - break; - } - } - break; + Save(); } - _200C_206B_200D_202D_200D_200E_206F_202D_202A_206C_200C_206E_206E_200B_202E_200D_202C_202E_202A_202E_202C_206E_200C_200B_206C_206A_202B_202D_202E_202E_200F_206E_200F_200F_206C_206D_200C_202B_202C_202C_202E(); - bool value = base.Configuration.General.SkipTradableRewards; - num2 = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(35669265), ref value, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1903657623))) ? 1280626755 : 1280626754); - while (true) + if (!base.Configuration.General.DisabledRewardTypes.Contains(EItemRewardType.Coffer)) { - int num13 = num2; - int num4 = 1280626755; - int num5 = num13; - int num14 = num5 + num4; - int num15 = num5 & num4; - switch (num14 - (num15 + num15)) + using (ImRaii.PushIndent()) { - case 2: - num2 = 1280626754; - break; - case 1: - base.Configuration.General.SkipTradableRewards = value; - Save(); - num2 = 1280626755; - break; - case 0: - UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); - return; + DrawCofferGearsetPicker(); } } + ImGui.Spacing(); + bool value = base.Configuration.General.SkipTradableRewards; + if (UiThemeUtils.WrappedCheckbox("Skip tradable rewards", ref value, "Leaves tradable reward items in your inventory (so you can sell them) instead of using them. Untradable rewards are still redeemed.")) + { + base.Configuration.General.SkipTradableRewards = value; + Save(); + } + UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void DrawCofferGearsetPicker() { RaptureGearsetModule* ptr = RaptureGearsetModule.Instance(); - int num = ((ptr != null) ? 1462795241 : 1462795247); - int valueOrDefault = default(int); - string text = default(string); - int? cofferGearsetIndex = default(int?); - ClassJob row2 = default(ClassJob); - List list2 = default(List); - string item = default(string); - List list = default(List); - int num12 = default(int); - ExcelSheet excelSheet = default(ExcelSheet); - ClassJob row = default(ClassJob); - int currentItem = default(int); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = 1462795246; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + int? cofferGearsetIndex = base.Configuration.General.CofferGearsetIndex; + string text = "Current Job"; + if (cofferGearsetIndex.HasValue) + { + int valueOrDefault = cofferGearsetIndex.GetValueOrDefault(); + if (ptr->IsValidGearset(valueOrDefault)) { - case 0: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler4 = new DefaultInterpolatedStringHandler(18, 1); - defaultInterpolatedStringHandler4.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1234272716)); - int num24 = valueOrDefault; - num3 = 1; - num4 = num24; - defaultInterpolatedStringHandler4.AppendFormatted((num4 | num3) + (num4 & num3)); - defaultInterpolatedStringHandler4.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2121104947)); - text = defaultInterpolatedStringHandler4.ToStringAndClear(); - num = 1462795244; - break; - } - case 7: - cofferGearsetIndex = base.Configuration.General.CofferGearsetIndex; - text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2088550031); - num = ((!cofferGearsetIndex.HasValue) ? 1462795244 : 1462795242); - break; - case 5: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(10, 2); - defaultInterpolatedStringHandler3.AppendLiteral(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(655625586)); - int num23 = valueOrDefault; - num3 = 1; - num4 = num23; - defaultInterpolatedStringHandler3.AppendFormatted((num4 | num3) + (num4 & num3)); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2035955381)); - defaultInterpolatedStringHandler3.AppendFormatted(row2.Abbreviation.ExtractText()); - text = defaultInterpolatedStringHandler3.ToStringAndClear(); - num = 1462795244; - break; - } - case 1: - return; - case 6: - num = 1462795247; - break; - case 4: - valueOrDefault = cofferGearsetIndex.GetValueOrDefault(); - num = ((!ptr->IsValidGearset(valueOrDefault)) ? 1462795246 : 1462795245); - break; - case 3: - { - RaptureGearsetModule.GearsetEntry* gearset2 = ptr->GetGearset(valueOrDefault); - num = ((!_dataManager.GetExcelSheet().TryGetRow(gearset2->ClassJob, out row2)) ? 1462795244 : 1462795243); - break; - } - case 2: - { - _202D_206E_206D_202D_206C_202B_202C_200B_206E_206F_206D_206E_206C_202D_206D_200D_200B_200B_202B_202A_200B_202D_202A_200E_206E_200C_206B_206A_200D_206D_200C_202B_202B_200F_202E_202D_200D_206A_206E_206F_202E((ImU8String)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(-1630114982)); - _206C_202C_200B_202B_200B_206F_202D_200C_206A_202D_202E_206E_206B_202A_202D_202C_206B_202B_206D_202C_202B_200D_206C_206F_206B_206C_202A_200C_202D_206E_206C_202B_206C_202D_202B_206E_202C_200E_206C_206F_202E(0f, 4f); - float x = _202C_206E_206A_200B_206D_202D_200B_200E_202D_202C_202A_206B_202A_200D_206C_202B_202D_202D_200D_200D_202C_206F_206F_206A_200E_202B_206D_200D_206F_206A_200E_202D_200E_206B_202C_206E_202A_202A_200F_200C_202E().ItemSpacing.X; - ImRaii.FontDisposable fontDisposable = _202E_206C_206B_206E_202A_206E_206D_200D_206D_200F_200D_200C_202D_200C_202B_200F_200D_200D_202E_202E_202B_206E_206A_200E_200E_200D_206C_200C_202A_206D_200C_200B_202C_206E_202C_200C_200D_206D_200C_206C_202E(_200C_206C_200C_202D_206D_200D_206C_206D_202E_202D_206D_200F_206B_202D_200C_202E_202C_202D_200E_202B_200F_200B_200E_206D_200F_200E_206B_200D_206C_206F_202E_202A_206A_206F_206A_200E_206F_206D_200C_206C_202E(), true); - float x2; - float x3; - try + RaptureGearsetModule.GearsetEntry* gearset = ptr->GetGearset(valueOrDefault); + if (_dataManager.GetExcelSheet().TryGetRow(gearset->ClassJob, out var row)) { - x2 = _200B_202D_202A_202D_200F_206B_206B_200D_206B_202B_202E_206B_200D_202E_202D_200D_206E_202E_202A_202E_200B_202E_200E_202C_206A_202C_206D_202E_206D_206A_200F_200E_206F_200F_206B_202E_200E_200C_200E_202A_202E((ImU8String)_206E_206A_206D_200E_206B_200D_202D_202A_200B_200B_206E_206B_200E_200F_206F_206F_200F_206A_206B_206B_202A_200F_202B_206B_206C_206C_202A_206D_206C_200C_206D_202A_200E_202C_206E_202D_206A_200C_202B_200F_202E(FontAwesomeIcon.InfoCircle), false, -1f).X; - x3 = _200B_202D_202A_202D_200F_206B_206B_200D_206B_202B_202E_206B_200D_202E_202D_200D_206E_202E_202A_202E_200B_202E_200E_202C_206A_202C_206D_202E_206D_206A_200F_200E_206F_200F_206B_202E_200E_200C_200E_202A_202E((ImU8String)_206E_206A_206D_200E_206B_200D_202D_202A_200B_200B_206E_206B_200E_200F_206F_206F_200F_206A_206B_206B_202A_200F_202B_206B_206C_206C_202A_206D_206C_200C_206D_202A_200E_202C_206E_202D_206A_200C_202B_200F_202E(FontAwesomeIcon.Trash), false, -1f).X; - } - finally - { - num = ((fontDisposable == null) ? (-2061775915) : (-2061775916)); - while (true) - { - int num7 = num; - num3 = -2061775915; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 0: - goto end_IL_029d; - case 1: - _200E_206B_202E_202B_200E_206B_206D_200C_202A_202E_206E_206E_202A_202B_202E_206E_206D_200B_200D_200F_206C_202C_200B_206A_202A_202D_206A_206F_206E_206F_202D_206F_202D_202A_200C_206D_206C_206B_202B_206F_202E((IDisposable)fontDisposable); - num = -2061775915; - break; - case 2: - num = -2061775916; - break; - } - continue; - end_IL_029d: - break; - } - } - float num10 = x + x2; - num = ((!cofferGearsetIndex.HasValue) ? 847629130 : 847629126); - while (true) - { - int num11 = num; - num3 = 847629135; - num4 = num11; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - list2.Add(item); - list.Add(num12); - num = 847629123; - break; - case 6: - { - RaptureGearsetModule.GearsetEntry* gearset = ptr->GetGearset(num12); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(8, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-968729626)); - int num13 = num12; - num3 = 1; - num4 = num13; - int num14 = num4 ^ num3; - int num15 = num4 & num3; - defaultInterpolatedStringHandler.AppendFormatted(num14 + (num15 + num15)); - item = defaultInterpolatedStringHandler.ToStringAndClear(); - num = ((!excelSheet.TryGetRow(gearset->ClassJob, out row)) ? 847629132 : 847629134); - break; - } - case 0: - num = ((num12 < 100) ? 847629133 : 847629121); - break; - case 4: - { - int num16 = 1; - List list3 = new List(num16); - CollectionsMarshal.SetCount(list3, num16); - CollectionsMarshal.AsSpan(list3)[0] = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-531956967); - list2 = list3; - num16 = 1; - List list4 = new List(num16); - CollectionsMarshal.SetCount(list4, num16); - CollectionsMarshal.AsSpan(list4)[0] = null; - list = list4; - excelSheet = _dataManager.GetExcelSheet(); - num12 = 0; - num = 847629135; - break; - } - case 8: - base.Configuration.General.CofferGearsetIndex = null; - Save(); - num = 847629131; - break; - case 2: - num = ((!ptr->IsValidGearset(num12)) ? 847629123 : 847629129); - break; - case 1: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(2, 2); - int num20 = num12; - num3 = 1; - num4 = num20; - int num21 = num4 ^ num3; - int num22 = num4 & num3; - defaultInterpolatedStringHandler2.AppendFormatted(num21 + (num22 + num22)); - defaultInterpolatedStringHandler2.AppendLiteral(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(-437343681)); - defaultInterpolatedStringHandler2.AppendFormatted(row.Abbreviation.ExtractText()); - item = defaultInterpolatedStringHandler2.ToStringAndClear(); - num = 847629132; - break; - } - case 12: - { - int num17 = num12; - num3 = 1; - num4 = num17; - int num18 = num4 ^ num3; - int num19 = num4 & num3; - num12 = num18 + (num19 + num19); - num = 847629135; - break; - } - case 5: - UiThemeUtils.RowLabel(text, num10, UiThemeUtils.AccentColor); - _200F_206E_202D_200F_200B_200D_202C_202A_202B_200E_202A_200C_206E_202A_206F_206F_206C_206F_202E_200E_200B_206F_202D_200B_206E_202B_202B_202A_200E_206C_206F_206F_200D_202E_200C_200C_200F_202B_202D_200C_202E(); - UiThemeUtils.InfoIcon(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1685119634)); - num = ((!cofferGearsetIndex.HasValue) ? 847629131 : 847629125); - break; - case 11: - num = 847629126; - break; - case 13: - return; - case 14: - { - currentItem = list.IndexOf(cofferGearsetIndex); - float width = _206A_206F_206D_200C_200C_200C_206B_202D_202C_206F_206D_202E_202A_202A_206A_206A_206F_202D_206A_202A_206E_206A_200B_202E_200F_200D_200D_200C_202B_202D_200E_206F_206D_206E_206B_206D_202A_200E_206F_202D_202E(_200C_206D_200F_202E_200F_200C_206A_200C_200F_206C_206B_202C_206F_200C_206A_200B_200E_206C_200F_202D_206A_202D_202E_200F_200F_206F_206C_200B_206D_200B_202C_200F_202C_206F_206B_206C_206D_202B_206B_200C_202E().X * 0.6f, 260f); - num = ((!UiThemeUtils.SearchableCombo(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(-591121542), ref currentItem, list2.ToArray(), ref _cofferGearsetSearchText, width)) ? 847629122 : 847629128); - break; - } - case 10: - _200F_206E_202D_200F_200B_200D_202C_202A_202B_200E_202A_200C_206E_202A_206F_206F_206C_206F_202E_200E_200B_206F_202D_200B_206E_202B_202B_202A_200E_206C_206F_206F_200D_202E_200C_200C_200F_202B_202D_200C_202E(); - num = ((!UiThemeUtils.DestructiveButton(FontAwesomeIcon.Trash, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-101994351))) ? 847629131 : 847629127); - break; - case 7: - base.Configuration.General.CofferGearsetIndex = list[currentItem]; - Save(); - num = 847629122; - break; - case 9: - num10 += x + x3 + 6f + _200B_202D_202A_202D_200F_206B_206B_200D_206B_202B_202E_206B_200D_202E_202D_200D_206E_202E_202A_202E_200B_202E_200E_202C_206A_202C_206D_202E_206D_206A_200F_200E_206F_200F_206B_202E_200E_200C_200E_202A_202E((ImU8String)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(376722999), false, -1f).X + _202C_206E_206A_200B_206D_202D_200B_200E_202D_202C_202A_206B_202A_200D_206C_202B_202D_202D_200D_200D_202C_206F_206F_206A_200E_202B_206D_200D_206F_206A_200E_202D_200E_206B_202C_206E_202A_202A_200F_200C_202E().FramePadding.X * 2f; - num = 847629130; - break; - } + text = $"Gearset {valueOrDefault + 1}: {row.Abbreviation.ExtractText()}"; } } + else + { + text = $"Gearset {valueOrDefault + 1} (deleted)"; } } + ImGui.Text("Open coffers as:"); + ImGui.SameLine(0f, 4f); + float x = ImGui.GetStyle().ItemSpacing.X; + float x2; + float x3; + using (ImRaii.PushFont(UiBuilder.IconFont)) + { + x2 = ImGui.CalcTextSize(FontAwesomeIcon.InfoCircle.ToIconString()).X; + x3 = ImGui.CalcTextSize(FontAwesomeIcon.Trash.ToIconString()).X; + } + float num = x + x2; + if (cofferGearsetIndex.HasValue) + { + num += x + x3 + 6f + ImGui.CalcTextSize("Clear").X + ImGui.GetStyle().FramePadding.X * 2f; + } + UiThemeUtils.RowLabel(text, num, UiThemeUtils.AccentColor); + ImGui.SameLine(); + UiThemeUtils.InfoIcon("Switch to this gearset before opening coffers so the gear drops match\nthe desired job. The original gearset is restored afterwards.\nLeave as Current Job to skip switching."); + if (cofferGearsetIndex.HasValue) + { + ImGui.SameLine(); + if (UiThemeUtils.DestructiveButton(FontAwesomeIcon.Trash, "Clear")) + { + base.Configuration.General.CofferGearsetIndex = null; + Save(); + } + } + int num2 = 1; + List list = new List(num2); + CollectionsMarshal.SetCount(list, num2); + CollectionsMarshal.AsSpan(list)[0] = "Current Job"; + List list2 = list; + num2 = 1; + List list3 = new List(num2); + CollectionsMarshal.SetCount(list3, num2); + CollectionsMarshal.AsSpan(list3)[0] = null; + List list4 = list3; + ExcelSheet excelSheet = _dataManager.GetExcelSheet(); + for (int i = 0; i < 100; i++) + { + if (ptr->IsValidGearset(i)) + { + RaptureGearsetModule.GearsetEntry* gearset2 = ptr->GetGearset(i); + string item = $"Gearset {i + 1}"; + if (excelSheet.TryGetRow(gearset2->ClassJob, out var row2)) + { + item = $"{i + 1}: {row2.Abbreviation.ExtractText()}"; + } + list2.Add(item); + list4.Add(i); + } + } + int currentItem = list4.IndexOf(cofferGearsetIndex); + float width = MathF.Min(ImGui.GetContentRegionAvail().X * 0.6f, 260f); + if (UiThemeUtils.SearchableCombo("##cofferGearsetCombo", ref currentItem, list2.ToArray(), ref _cofferGearsetSearchText, width)) + { + base.Configuration.General.CofferGearsetIndex = list4[currentItem]; + Save(); + } } - [MethodImpl(MethodImplOptions.NoInlining)] static GeneralConfigComponent() { int num = 1; List<(EClassJob, string)> list = new List<(EClassJob, string)>(num); CollectionsMarshal.SetCount(list, num); - CollectionsMarshal.AsSpan(list)[0] = (EClassJob.Adventurer, 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(-1120538336)); + CollectionsMarshal.AsSpan(list)[0] = (EClassJob.Adventurer, "Auto (highest level/item level)"); DefaultClassJobs = list; CombatModuleOptions = new(Configuration.ECombatModule, string, string[])[4] { - (Questionable.Configuration.ECombatModule.None, 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(474422561), Array.Empty()), - (Questionable.Configuration.ECombatModule.BossMod, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-750393689), new string[2] - { - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1719366272), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(203874627) - }), - (Questionable.Configuration.ECombatModule.WrathCombo, 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(632226107), new string[1] { global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(294326625) }), - (Questionable.Configuration.ECombatModule.RotationSolverReborn, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-774365139), new string[1] { global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1992835172) }) + (Questionable.Configuration.ECombatModule.None, "None", Array.Empty()), + (Questionable.Configuration.ECombatModule.BossMod, "Boss Mod", new string[2] { "BossMod", "BossModReborn" }), + (Questionable.Configuration.ECombatModule.WrathCombo, "Wrath Combo", new string[1] { "WrathCombo" }), + (Questionable.Configuration.ECombatModule.RotationSolverReborn, "Rotation Solver Reborn", new string[1] { "RotationSolver" }) }; RewardTypeOptions = new(EItemRewardType, string)[7] { - (EItemRewardType.Mount, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(659929424)), - (EItemRewardType.Minion, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1428179204)), - (EItemRewardType.OrchestrionRoll, 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(-253301609)), - (EItemRewardType.TripleTriadCard, 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(-2007752794)), - (EItemRewardType.FashionAccessory, 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(-1236856869)), - (EItemRewardType.Coffer, 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(792920890)), - (EItemRewardType.UnlockLink, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1981003582)) + (EItemRewardType.Mount, "Mounts"), + (EItemRewardType.Minion, "Minions"), + (EItemRewardType.OrchestrionRoll, "Orchestrion rolls"), + (EItemRewardType.TripleTriadCard, "Triple Triad cards"), + (EItemRewardType.FashionAccessory, "Fashion accessories"), + (EItemRewardType.Coffer, "Gear coffers"), + (EItemRewardType.UnlockLink, "Other unlocks") }; } - - static void _200E_206F_206E_206F_206B_206C_200F_202A_206C_202C_200F_200C_206E_202C_206C_206A_206C_206E_206F_200D_202B_200B_200E_202E_206C_200D_200F_206B_206D_202C_202D_202C_206A_206C_202C_200E_202B_202B_200C_202E_202E(float P_0) - { - ImGui.SetNextItemWidth(P_0); - } - - static Vector2 _200C_206D_200F_202E_200F_200C_206A_200C_200F_206C_206B_202C_206F_200C_206A_200B_200E_206C_200F_202D_206A_202D_202E_200F_200F_206F_206C_200B_206D_200B_202C_200F_202C_206F_206B_206C_206D_202B_206B_200C_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static float _206A_206F_206D_200C_200C_200C_206B_202D_202C_206F_206D_202E_202A_202A_206A_206A_206F_202D_206A_202A_206E_206A_200B_202E_200F_200D_200D_200C_202B_202D_200E_206F_206D_206E_206B_206D_202A_200E_206F_202D_202E(float P_0, float P_1) - { - return MathF.Min(P_0, P_1); - } - - static void _202A_200B_200E_200D_206E_206F_206E_206E_200E_200B_200C_206F_206F_206E_206C_200F_202B_202A_200B_200C_202B_202C_206F_206F_202E_200C_202C_206E_200D_200C_202D_200B_200C_200F_202B_200D_200D_200F_200D_206F_202E() - { - ImGui.AlignTextToFramePadding(); - } - - static void _200B_206A_200E_200E_206B_200F_200D_200D_206C_200B_206A_200F_206A_200C_206C_206D_200C_206D_200E_202D_206F_206F_202A_202D_202E_202C_206D_202E_206D_202A_206F_206E_206A_200C_202E_206A_206C_206D_200C_206B_202E(ImU8String P_0) - { - ImGui.TextUnformatted(P_0); - } - - static void _200F_206E_202D_200F_200B_200D_202C_202A_202B_200E_202A_200C_206E_202A_206F_206F_206C_206F_202E_200E_200B_206F_202D_200B_206E_202B_202B_202A_200E_206C_206F_206F_200D_202E_200C_200C_200F_202B_202D_200C_202E() - { - ImGui.SameLine(); - } - - static void _202C_200B_206E_206C_206F_200E_206F_200F_202A_200F_202A_202C_206F_202D_202D_206B_200B_202C_202C_206B_200E_202C_206D_200D_206D_202A_206A_200D_200F_202A_200B_206A_206F_200D_200E_200E_202D_206F_206B_206A_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static ImRaii.DisabledDisposable _202E_202D_200D_206D_200E_202C_206E_200F_200F_206A_206A_206B_206E_202A_206D_202A_206C_200F_200F_200F_206E_200E_206E_202A_202C_206B_206B_200E_206C_200F_202B_206E_200B_206B_206A_206D_206E_200B_206B_202B_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static ImRaii.IndentDisposable _200F_206D_206F_202A_202D_206C_206D_200B_200D_200B_200F_202C_206C_206C_200D_206D_200B_206F_206E_200D_206E_206E_202E_202E_200C_206E_202C_202A_206D_206F_202E_200F_206E_206B_206E_202D_202B_202A_206E_200C_202E(int P_0, bool P_1) - { - return ImRaii.PushIndent(P_0, P_1); - } - - static void _200E_206B_202E_202B_200E_206B_206D_200C_202A_202E_206E_206E_202A_202B_202E_206E_206D_200B_200D_200F_206C_202C_200B_206A_202A_202D_206A_206F_206E_206F_202D_206F_202D_202A_200C_206D_206C_206B_202B_206F_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _202E_206F_200C_200B_206A_206B_202A_200F_206E_200D_202B_206B_200D_202D_202D_202E_206A_206E_206C_206D_202B_202A_206D_202E_202E_202A_202C_202E_202D_200C_206B_206F_206B_206D_200B_206D_200E_206E_200B_206F_202E(float P_0) - { - ImGui.PushTextWrapPos(P_0); - } - - static void _206D_202E_200B_200D_200C_202B_202C_206D_200E_202A_200B_200B_200D_202C_206B_200F_206F_206C_206B_206C_206C_206D_200D_206B_206B_206E_200C_202C_206B_200F_200B_202E_206F_202A_202C_202E_200B_206D_200E_200F_202E() - { - ImGui.PopTextWrapPos(); - } - - static void _200C_206B_200D_202D_200D_200E_206F_202D_202A_206C_200C_206E_206E_200B_202E_200D_202C_202E_202A_202E_202C_206E_200C_200B_206C_206A_202B_202D_202E_202E_200F_206E_200F_200F_206C_206D_200C_202B_202C_202C_202E() - { - ImGui.Spacing(); - } - - static void _200D_202E_200E_206C_202A_200C_200B_200F_202C_202C_206F_200D_202A_206D_206E_202C_206E_202D_200F_206C_206C_202D_202D_200F_202E_206F_200C_206A_202D_200F_200F_202B_200C_206F_202E_200F_206E_200D_202E_202E_202E(ImU8String P_0) - { - ImGui.TextWrapped(P_0); - } - - static void _202D_206E_206D_202D_206C_202B_202C_200B_206E_206F_206D_206E_206C_202D_206D_200D_200B_200B_202B_202A_200B_202D_202A_200E_206E_200C_206B_206A_200D_206D_200C_202B_202B_200F_202E_202D_200D_206A_206E_206F_202E(ImU8String P_0) - { - ImGui.Text(P_0); - } - - static void _206C_202C_200B_202B_200B_206F_202D_200C_206A_202D_202E_206E_206B_202A_202D_202C_206B_202B_206D_202C_202B_200D_206C_206F_206B_206C_202A_200C_202D_206E_206C_202B_206C_202D_202B_206E_202C_200E_206C_206F_202E(float P_0, float P_1) - { - ImGui.SameLine(P_0, P_1); - } - - static ImGuiStylePtr _202C_206E_206A_200B_206D_202D_200B_200E_202D_202C_202A_206B_202A_200D_206C_202B_202D_202D_200D_200D_202C_206F_206F_206A_200E_202B_206D_200D_206F_206A_200E_202D_200E_206B_202C_206E_202A_202A_200F_200C_202E() - { - return ImGui.GetStyle(); - } - - static ImFontPtr _200C_206C_200C_202D_206D_200D_206C_206D_202E_202D_206D_200F_206B_202D_200C_202E_202C_202D_200E_202B_200F_200B_200E_206D_200F_200E_206B_200D_206C_206F_202E_202A_206A_206F_206A_200E_206F_206D_200C_206C_202E() - { - return UiBuilder.IconFont; - } - - static ImRaii.FontDisposable _202E_206C_206B_206E_202A_206E_206D_200D_206D_200F_200D_200C_202D_200C_202B_200F_200D_200D_202E_202E_202B_206E_206A_200E_200E_200D_206C_200C_202A_206D_200C_200B_202C_206E_202C_200C_200D_206D_200C_206C_202E(ImFontPtr P_0, bool P_1) - { - return ImRaii.PushFont(P_0, P_1); - } - - static string _206E_206A_206D_200E_206B_200D_202D_202A_200B_200B_206E_206B_200E_200F_206F_206F_200F_206A_206B_206B_202A_200F_202B_206B_206C_206C_202A_206D_206C_200C_206D_202A_200E_202C_206E_202D_206A_200C_202B_200F_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static Vector2 _200B_202D_202A_202D_200F_206B_206B_200D_206B_202B_202E_206B_200D_202E_202D_200D_206E_202E_202A_202E_200B_202E_200E_202C_206A_202C_206D_202E_206D_206A_200F_200E_206F_200F_206B_202E_200E_200C_200E_202A_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } } diff --git a/Questionable/Questionable.Windows.ConfigComponents/NavigationConfigComponent.cs b/Questionable/Questionable.Windows.ConfigComponents/NavigationConfigComponent.cs index d65c6f9..2e388c9 100644 --- a/Questionable/Questionable.Windows.ConfigComponents/NavigationConfigComponent.cs +++ b/Questionable/Questionable.Windows.ConfigComponents/NavigationConfigComponent.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Dalamud.Bindings.ImGui; using Dalamud.Interface.Utility.Raii; @@ -16,94 +15,6 @@ namespace Questionable.Windows.ConfigComponents; internal sealed class NavigationConfigComponent : ConfigComponent { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__4_0; - - public static Func _003C_003E9__4_1; - - public static Func<(uint MountId, string Name), bool> _003C_003E9__4_2; - - public static Func<(uint MountId, string Name), string> _003C_003E9__4_3; - - public static Func<(uint Id, string Name), uint> _003C_003E9__4_4; - - public static Func<(uint MountId, string Name), uint> _003C_003E9__4_5; - - public static Func<(uint Id, string Name), string> _003C_003E9__4_6; - - public static Func<(uint MountId, string Name), string> _003C_003E9__4_7; - - internal bool _003C_002Ector_003Eb__4_0(Mount x) - { - int num = ((x.RowId == 0) ? 1914904014 : 1914904013); - while (true) - { - int num2 = num; - int num3 = 1914904012; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004a; - case 2: - return false; - case 1: - return x.Icon > 0; - } - continue; - IL_004a: - num = 1914904013; - } - } - - internal (uint MountId, string Name) _003C_002Ector_003Eb__4_1(Mount x) - { - return (MountId: x.RowId, Name: CapitalizeName(x.Singular.ExtractText())); - } - - internal bool _003C_002Ector_003Eb__4_2((uint MountId, string Name) x) - { - return !_206A_206F_202D_206D_206E_202C_202B_206B_202D_202C_202C_200D_206C_206E_202D_206A_200E_202A_202D_206A_202B_206A_202D_202D_200F_206F_200E_202E_200F_202C_200E_206E_206C_202E_202C_206E_202B_202B_202B_202B_202E(x.Name); - } - - internal string _003C_002Ector_003Eb__4_3((uint MountId, string Name) x) - { - return x.Name; - } - - internal uint _003C_002Ector_003Eb__4_4((uint Id, string Name) x) - { - return x.Id; - } - - internal uint _003C_002Ector_003Eb__4_5((uint MountId, string Name) x) - { - return x.MountId; - } - - internal string _003C_002Ector_003Eb__4_6((uint Id, string Name) x) - { - return x.Name; - } - - internal string _003C_002Ector_003Eb__4_7((uint MountId, string Name) x) - { - return x.Name; - } - - static bool _206A_206F_202D_206D_206E_202C_202B_206B_202D_202C_202C_200D_206C_206E_202D_206A_200E_202A_202D_206A_202B_206A_202D_202D_200F_206F_200E_202E_200F_202C_200E_206E_206C_202E_202C_206E_202B_202B_202B_202B_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - } - private static readonly List<(uint Id, string Name)> DefaultMounts; private readonly uint[] _mountIds; @@ -115,543 +26,175 @@ internal sealed class NavigationConfigComponent : ConfigComponent public NavigationConfigComponent(IDalamudPluginInterface pluginInterface, Configuration configuration, IDataManager dataManager) : base(pluginInterface, configuration) { - List<(uint, string)> source = (from x in dataManager.GetExcelSheet().Where(delegate(Mount x) - { - int num = ((x.RowId == 0) ? 1914904014 : 1914904013); - while (true) - { - int num2 = num; - int num3 = 1914904012; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004a; - case 2: - return false; - case 1: - return x.Icon > 0; - } - continue; - IL_004a: - num = 1914904013; - } - }) + List<(uint, string)> source = (from x in dataManager.GetExcelSheet() + where x.RowId != 0 && x.Icon > 0 select (MountId: x.RowId, Name: CapitalizeName(x.Singular.ExtractText())) into x - where !_003C_003Ec._206A_206F_202D_206D_206E_202C_202B_206B_202D_202C_202C_200D_206C_206E_202D_206A_200E_202A_202D_206A_202B_206A_202D_202D_200F_206F_200E_202E_200F_202C_200E_206E_206C_202E_202C_206E_202B_202B_202B_202B_202E(x.Name) - select x).OrderBy<(uint, string), string>(((uint MountId, string Name) x) => x.Name, _202B_206D_206F_202E_206B_206A_206D_200C_206B_206E_206B_200B_200E_200D_206C_202D_200F_202B_206E_206F_200E_206C_206A_206D_202C_202E_200B_200B_206B_200B_200C_202E_200E_202B_206A_200E_206A_206C_202D_202D_202E()).ToList(); + where !string.IsNullOrEmpty(x.Name) + select x).OrderBy<(uint, string), string>(((uint MountId, string Name) x) => x.Name, StringComparer.OrdinalIgnoreCase).ToList(); _mountIds = DefaultMounts.Select<(uint, string), uint>(((uint Id, string Name) x) => x.Id).Concat(source.Select<(uint, string), uint>(((uint MountId, string Name) x) => x.MountId)).ToArray(); _mountNames = DefaultMounts.Select<(uint, string), string>(((uint Id, string Name) x) => x.Name).Concat(source.Select<(uint, string), string>(((uint MountId, string Name) x) => x.Name)).ToArray(); } - [MethodImpl(MethodImplOptions.NoInlining)] private static string CapitalizeName(string text) { - int num = ((!_200C_206B_206F_206D_200B_200B_202A_206A_200C_202D_200C_202C_206D_202B_202E_206D_202D_206F_200E_200F_206B_200E_206C_206F_202A_202D_202B_202A_206F_206D_200D_200D_202B_200C_206F_202A_200C_206B_202B_206A_202E(text)) ? (-1379143407) : (-1379143402)); - int num5 = default(int); - string[] array = default(string[]); - while (true) + if (string.IsNullOrEmpty(text)) { - int num2 = num; - int num3 = -1379143401; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return text; + } + if (text.Equals(text.ToLowerInvariant(), StringComparison.Ordinal)) + { + return CultureInfo.InvariantCulture.TextInfo.ToTitleCase(text); + } + string[] array = text.Split(' '); + for (int i = 0; i < array.Length; i++) + { + if (array[i].Length > 0 && char.IsLower(array[i][0])) { - case 4: - num = ((num5 < array.Length) ? (-1379143408) : (-1379143395)); - break; - case 1: - return text; - case 8: - array[num5] = _202E_200B_206D_200F_200E_202D_200B_206F_200B_206F_200D_202D_200B_200D_206B_200C_202D_206A_202B_202B_206D_202D_202E_206C_206E_200D_202A_206F_202E_202B_202E_206B_202A_200C_200C_202A_202E_206A_206F_202A_202E(new ReadOnlySpan(char.ToUpperInvariant(_206F_200C_200D_206B_206C_206B_206C_206C_206F_206D_206C_200E_200B_202B_200F_206A_202E_202D_200C_200C_206F_202D_202D_200C_202A_206A_202C_200D_202E_200D_206D_206B_202B_206A_202A_206E_200C_202A_202C_202C_202E(array[num5], 0))), _202D_202D_202C_206C_206B_206E_206B_206A_206F_202E_206C_200E_206A_202C_200D_206F_206E_206D_206A_206A_202E_202D_202B_202C_202E_202E_202D_206C_206A_200B_200C_206D_206B_200D_202D_206D_202E_200D_202B_202A_202E(_202C_200C_200D_202E_206E_202B_200E_202A_206E_206D_202C_206A_206F_200C_202D_206E_200E_206C_202D_200F_206B_206A_202E_202A_200D_200F_200B_202A_200C_202E_200E_206C_202B_206B_206D_206F_206A_202C_202D_202D_202E(array[num5], 1))); - num = -1379143401; - break; - case 0: - { - int num6 = num5; - num3 = 1; - num4 = num6; - num5 = (num4 | num3) + (num4 & num3); - num = -1379143405; - break; - } - case 7: - num = ((_206D_206B_206B_202C_206C_206C_202A_202A_200E_202A_200F_200E_206D_206D_202D_202D_206F_202D_202B_206D_200B_206B_202D_202D_202E_202B_202D_206A_206E_200E_200D_206D_200B_202A_206C_202B_206E_200B_200D_206F_202E(array[num5]) <= 0) ? (-1379143401) : (-1379143406)); - break; - case 3: - num = -1379143402; - break; - case 10: - return _200D_206C_202D_202E_206E_200C_202D_206D_206F_206F_202A_206F_206E_200E_206D_202E_202B_206F_206A_200C_202B_206A_206A_202E_200C_206F_206E_200C_206D_200E_200E_202B_206E_202D_202D_202B_206D_200E_202B_200D_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-324914973), array); - case 5: - num = ((!char.IsLower(_206F_200C_200D_206B_206C_206B_206C_206C_206F_206D_206C_200E_200B_202B_200F_206A_202E_202D_200C_200C_206F_202D_202D_200C_202A_206A_202C_200D_202E_200D_206D_206B_202B_206A_202A_206E_200C_202A_202C_202C_202E(array[num5], 0))) ? (-1379143401) : (-1379143393)); - break; - case 2: - array = _202A_202D_202A_200B_206E_200D_202C_206B_200D_202D_200E_200C_206E_202B_200E_206B_200F_202A_206C_206C_206B_200E_202C_206E_202A_202C_200E_200F_200E_206E_202E_200E_206A_202E_206A_202C_200B_200E_206A_200E_202E(text, ' ', StringSplitOptions.None); - num5 = 0; - num = -1379143405; - break; - case 9: - return _202D_206F_200D_200E_200D_206B_202C_206D_206B_206E_202C_202C_206D_202A_202D_202A_202C_206D_200F_206C_200E_206D_202A_202B_206C_206C_206F_206A_202C_202D_206F_200E_206F_200B_206B_206A_206E_200F_202C_206F_202E(_202E_200D_200C_202D_206E_202C_206C_200B_202D_206E_202C_200D_206E_206B_200E_202E_200D_206E_200E_202B_206F_206A_200F_202E_202C_202B_200F_206E_200E_202A_200B_206F_202C_200E_206E_200C_200F_206B_206B_200E_202E(_202E_206D_202B_206B_206B_206D_202E_202E_200D_202C_202B_206D_206B_200E_206A_206D_206A_200C_206C_202E_200E_202B_200F_206F_202A_202D_200D_202E_206D_200C_202C_200F_206A_202E_202B_206B_200B_206B_206D_206C_202E()), text); - case 6: - num = ((!_200B_200F_200C_206F_202B_202B_206D_206D_200C_206D_206F_206B_206D_202E_200F_202A_200B_200B_202C_202B_206A_206D_202D_206A_202E_206D_206E_206A_202C_202E_200C_200F_206E_200C_202B_202C_202B_200C_206B_206E_202E(text, _200D_200E_202A_200C_200B_202C_202D_206E_202C_206B_206C_206A_206B_200E_202C_206F_200B_200D_200E_206C_200B_206D_202E_206F_200E_206D_206F_202E_200D_202C_202A_202D_202E_202D_202E_206C_206C_202D_202A_200F_202E(text), StringComparison.Ordinal)) ? (-1379143403) : (-1379143394)); - break; + array[i] = char.ToUpperInvariant(array[i][0]) + array[i].Substring(1); } } + return string.Join(" ", array); } - [MethodImpl(MethodImplOptions.NoInlining)] public override void DrawTab() { Configuration.NavigationConfiguration navigation = base.Configuration.Navigation; - UiThemeUtils.SectionHeader(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(547712580)); + UiThemeUtils.SectionHeader("Mounts & Flying"); var (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); DrawMountSelector(navigation); bool value = navigation.NeverFly; - int num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1858753748), ref value, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1387349322))) ? 446317926 : 446317925); - float value9 = default(float); - bool value8 = default(bool); - float value7 = default(float); - string text = default(string); - int currentItem = default(int); - string[] names = default(string[]); - bool value6 = default(bool); - Vector2 item7 = default(Vector2); - float item8 = default(float); - ImDrawListPtr item9 = default(ImDrawListPtr); - int value5 = default(int); - bool value4 = default(bool); - Vector2 item4 = default(Vector2); - float item5 = default(float); - ImDrawListPtr item6 = default(ImDrawListPtr); - while (true) + if (UiThemeUtils.WrappedCheckbox("Disable flying (even where unlocked)", ref value, "Always travel on the ground, even in zones where flying is unlocked.")) { - int num2 = num; - int num3 = 446317927; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = 446317925; - break; - case 2: - navigation.NeverFly = value; - Save(); - num = 446317926; - break; - case 1: - value9 = navigation.MountGroundDistance; - num = ((!UiThemeUtils.AccentSliderFloat(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(697577803), ref value9, 0f, 100f, 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(-1562631403), 260f)) ? 446317924 : 446317927); - break; - case 0: - navigation.MountGroundDistance = value9; - Save(); - num = 446317924; - break; - case 3: - { - _200D_206C_206E_202A_202B_202B_202C_200F_200C_206F_202D_202D_202D_200E_200C_200F_206E_206B_206E_200E_202A_206D_200F_200F_206A_202E_202C_206D_202B_202C_202C_200D_202C_206E_202B_206D_206B_206A_200D_202D_202E(); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(49, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(161055188)); - defaultInterpolatedStringHandler.AppendFormatted(20f, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2033331044)); - UiThemeUtils.InfoIcon(defaultInterpolatedStringHandler.ToStringAndClear()); - ImRaii.DisabledDisposable disabledDisposable = _202E_202E_202B_202E_200E_200D_202E_200C_200D_206A_200D_200D_202E_200C_200B_206C_206B_202B_200E_200F_206F_206B_206A_202C_200B_206E_200F_206A_200E_206B_202B_206D_200F_202D_202E_202D_206B_206A_202B_206B_202E(navigation.NeverFly); - try - { - float value2 = navigation.MountFlyDistance; - num = ((!UiThemeUtils.AccentSliderFloat(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(-18366214), ref value2, 0f, 100f, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1102866709), 260f)) ? (-436311720) : (-436311717)); - while (true) - { - int num7 = num; - num3 = -436311719; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -436311717; - break; - case 2: - navigation.MountFlyDistance = value2; - Save(); - num = -436311720; - break; - case 1: - { - _200D_206C_206E_202A_202B_202B_202C_200F_200C_206F_202D_202D_202D_200E_200C_200F_206E_206B_206E_200E_202A_206D_200F_200F_206A_202E_202C_206D_202B_202C_202C_200D_202C_206E_202B_206D_206B_206A_200D_202D_202E(); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(49, 1); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1563330266)); - defaultInterpolatedStringHandler2.AppendFormatted(15f, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2033331044)); - UiThemeUtils.InfoIcon(defaultInterpolatedStringHandler2.ToStringAndClear()); - goto end_IL_01de; - } - } - continue; - end_IL_01de: - break; - } - } - finally - { - num = ((disabledDisposable == null) ? (-184304173) : (-184304176)); - while (true) - { - int num8 = num; - num3 = -184304175; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_0296; - case 1: - _206B_200E_206C_200D_202D_206A_202C_200B_206D_202E_206B_202C_202B_206D_206D_200C_200F_202A_206D_202B_202B_202E_202B_206A_206C_202C_202B_202C_206B_200F_206E_200B_206E_200B_202E_202D_206F_206C_206A_206F_202E((IDisposable)disabledDisposable); - num = -184304173; - break; - case 0: - num = -184304176; - break; - } - continue; - end_IL_0296: - break; - } - } - UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); - UiThemeUtils.SectionSpacing(); - UiThemeUtils.SectionHeader(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1285735320)); - (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple2 = UiThemeUtils.BeginCard(); - Vector2 item = tuple2.ContentStartPos; - float item2 = tuple2.AvailableWidth; - ImDrawListPtr item3 = tuple2.DrawList; - float value3 = navigation.SprintDistanceTown; - num = ((!UiThemeUtils.AccentSliderFloat(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(-377031381), ref value3, 0f, 100f, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2028773324), 260f)) ? (-1837094585) : (-1837094575)); - while (true) - { - int num9 = num; - num3 = -1837094589; - num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - default: - continue; - case 8: - num = -1837094575; - continue; - case 13: - navigation.PreferFreeTravel = value8; - Save(); - num = -1837094582; - continue; - case 4: - { - _200D_206C_206E_202A_202B_202B_202C_200F_200C_206F_202D_202D_202D_200E_200C_200F_206E_206B_206E_200E_202A_206D_200F_200F_206A_202E_202C_206D_202B_202C_202C_200D_202C_206E_202B_206D_206B_206A_200D_202D_202E(); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler4 = new DefaultInterpolatedStringHandler(46, 1); - defaultInterpolatedStringHandler4.AppendLiteral(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(533706590)); - defaultInterpolatedStringHandler4.AppendFormatted(20f, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2033331044)); - UiThemeUtils.InfoIcon(defaultInterpolatedStringHandler4.ToStringAndClear()); - value7 = navigation.SprintDistanceOpenWorld; - num = ((!UiThemeUtils.AccentSliderFloat(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1911081210), ref value7, 0f, 200f, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2028773324), 260f)) ? (-1837094584) : (-1837094591)); - continue; - } - case 0: - { - string tooltip = text; - _202E_206C_202E_202E_200F_202A_206A_206E_202C_206E_200B_200C_202E_206D_206E_202B_200C_200C_200E_206F_206A_206B_202B_206B_206D_202D_200C_202B_206C_206C_200B_202C_206D_206F_200F_206E_202B_202B_206A_202C_202E(_202E_206C_200C_202D_202C_200D_206F_202E_206C_206C_206C_206F_206B_206E_206F_206C_200D_200B_206A_200F_200D_200C_202A_202B_206A_206F_200B_206F_202D_200B_202A_200F_202C_202B_200F_202E_200F_202E_206A_206E_202E(260f, _202A_200B_200F_206C_200C_202E_200D_200D_200D_202C_206F_206B_206B_202B_206F_206A_206C_202A_200B_200B_200E_202B_202D_200E_200E_200E_206A_202B_202B_206E_200F_206B_200C_202D_202D_206B_202E_200D_206E_202A_202E().X)); - if (UiThemeUtils.ThemedCombo(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(1580633882), ref currentItem, names, names.Length)) - { - navigation.StuckRecoveryMode = (EStuckRecoveryMode)currentItem; - Save(); - } - _200D_206C_206E_202A_202B_202B_202C_200F_200C_206F_202D_202D_202D_200E_200C_200F_206E_206B_206E_200E_202A_206D_200F_200F_206A_202E_202C_206D_202B_202C_202C_200D_202C_206E_202B_206D_206B_206A_200D_202D_202E(); - UiThemeUtils.InfoIcon(tooltip); - value6 = navigation.ReRouteOnFailure; - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1332835539), ref value6, 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(598894295))) ? (-1837094577) : (-1837094586)); - continue; - } - case 18: - navigation.SprintDistanceTown = value3; - Save(); - num = -1837094585; - continue; - case 12: - UiThemeUtils.EndCard(item7, item8, item9); - return; - case 17: - navigation.GilReserve = _202E_200C_200E_206A_206F_206D_202C_200F_206D_206A_202A_206E_200E_202E_200D_202E_200F_202B_206E_202C_200E_200E_206C_200C_206F_202E_206B_202E_202B_206F_206C_206E_200E_202B_200D_206A_202D_206A_202E_200F_202E(value5, 0, 999999999); - Save(); - num = -1837094583; - continue; - case 9: - value4 = navigation.UseTeleportTickets; - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1746473185), ref value4, 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(8925130))) ? (-1837094579) : (-1837094587)); - continue; - case 10: - _200D_206C_206E_202A_202B_202B_202C_200F_200C_206F_202D_202D_202D_200E_200C_200F_206E_206B_206E_200E_202A_206D_200F_200F_206A_202E_202C_206D_202B_202C_202C_200D_202C_206E_202B_206D_206B_206A_200D_202D_202E(); - UiThemeUtils.InfoIcon(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1411121243)); - value8 = navigation.PreferFreeTravel; - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(480673472), ref value8, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1628227995))) ? (-1837094582) : (-1837094578)); - continue; - case 2: - navigation.SprintDistanceOpenWorld = value7; - Save(); - num = -1837094584; - continue; - case 5: - navigation.ReRouteOnFailure = value6; - Save(); - num = -1837094577; - continue; - case 14: - { - UiThemeUtils.EndCard(item4, item5, item6); - UiThemeUtils.SectionSpacing(); - UiThemeUtils.SectionHeader(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1576741816)); - (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple4 = UiThemeUtils.BeginCard(); - item7 = tuple4.ContentStartPos; - item8 = tuple4.AvailableWidth; - item9 = tuple4.DrawList; - names = Enum.GetNames(); - currentItem = (int)navigation.StuckRecoveryMode; - switch (navigation.StuckRecoveryMode) - { - case EStuckRecoveryMode.Conservative: - goto IL_06a1; - case EStuckRecoveryMode.Aggressive: - goto IL_0783; - case EStuckRecoveryMode.Passive: - goto end_IL_0381; - } - num = -1837094580; - continue; - } - case 16: - goto IL_06a1; - case 15: - num = -1837094592; - continue; - case 11: - { - _200D_206C_206E_202A_202B_202B_202C_200F_200C_206F_202D_202D_202D_200E_200C_200F_206E_206B_206E_200E_202A_206D_200F_200F_206A_202E_202C_206D_202B_202C_202C_200D_202C_206E_202B_206D_206B_206A_200D_202D_202E(); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(51, 1); - defaultInterpolatedStringHandler3.AppendLiteral(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(1746484759)); - defaultInterpolatedStringHandler3.AppendFormatted(50f, 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(107444647)); - UiThemeUtils.InfoIcon(defaultInterpolatedStringHandler3.ToStringAndClear()); - UiThemeUtils.EndCard(item, item2, item3); - UiThemeUtils.SectionSpacing(); - UiThemeUtils.SectionHeader(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1498456112)); - (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple3 = UiThemeUtils.BeginCard(); - item4 = tuple3.ContentStartPos; - item5 = tuple3.AvailableWidth; - item6 = tuple3.DrawList; - value5 = navigation.GilReserve; - num = ((!UiThemeUtils.AccentSliderInt(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(836461425), ref value5, 0, 20000, 260f)) ? (-1837094583) : (-1837094574)); - continue; - } - case 1: - goto IL_0783; - case 6: - navigation.UseTeleportTickets = value4; - Save(); - num = -1837094579; - continue; - case 3: - text = string.Empty; - num = -1837094589; - continue; - case 7: - break; - IL_0783: - text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-874015327); - num = -1837094589; - continue; - IL_06a1: - text = 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(-1630606955); - num = -1837094589; - continue; - end_IL_0381: - break; - } - text = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1437944343); - num = -1837094589; - } - } - } + navigation.NeverFly = value; + Save(); } + float value2 = navigation.MountGroundDistance; + if (UiThemeUtils.AccentSliderFloat("Ground Mount (yalms)", ref value2, 0f, 100f, "%.0f", 260f)) + { + navigation.MountGroundDistance = value2; + Save(); + } + ImGui.SameLine(); + UiThemeUtils.InfoIcon($"Minimum distance to use a ground mount. Default: {20f:0}"); + using (ImRaii.Disabled(navigation.NeverFly)) + { + float value3 = navigation.MountFlyDistance; + if (UiThemeUtils.AccentSliderFloat("Flying Mount (yalms)", ref value3, 0f, 100f, "%.0f", 260f)) + { + navigation.MountFlyDistance = value3; + Save(); + } + ImGui.SameLine(); + UiThemeUtils.InfoIcon($"Minimum distance to use a flying mount. Default: {15f:0}"); + } + UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); + UiThemeUtils.SectionSpacing(); + UiThemeUtils.SectionHeader("Sprint"); + (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple2 = UiThemeUtils.BeginCard(); + Vector2 item = tuple2.ContentStartPos; + float item2 = tuple2.AvailableWidth; + ImDrawListPtr item3 = tuple2.DrawList; + float value4 = navigation.SprintDistanceTown; + if (UiThemeUtils.AccentSliderFloat("Town (yalms)", ref value4, 0f, 100f, "%.0f", 260f)) + { + navigation.SprintDistanceTown = value4; + Save(); + } + ImGui.SameLine(); + UiThemeUtils.InfoIcon($"Minimum distance to sprint in towns. Default: {20f:0}"); + float value5 = navigation.SprintDistanceOpenWorld; + if (UiThemeUtils.AccentSliderFloat("Open World (yalms)", ref value5, 0f, 200f, "%.0f", 260f)) + { + navigation.SprintDistanceOpenWorld = value5; + Save(); + } + ImGui.SameLine(); + UiThemeUtils.InfoIcon($"Minimum distance to sprint in open world. Default: {50f:0}"); + UiThemeUtils.EndCard(item, item2, item3); + UiThemeUtils.SectionSpacing(); + UiThemeUtils.SectionHeader("Teleport"); + (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple3 = UiThemeUtils.BeginCard(); + Vector2 item4 = tuple3.ContentStartPos; + float item5 = tuple3.AvailableWidth; + ImDrawListPtr item6 = tuple3.DrawList; + int value6 = navigation.GilReserve; + if (UiThemeUtils.AccentSliderInt("Gil Reserve", ref value6, 0, 20000, 260f)) + { + navigation.GilReserve = Math.Clamp(value6, 0, 999999999); + Save(); + } + ImGui.SameLine(); + UiThemeUtils.InfoIcon("Minimum gil to keep when deciding whether to teleport."); + bool value7 = navigation.PreferFreeTravel; + if (UiThemeUtils.WrappedCheckbox("Prefer free travel in cities", ref value7, "When in a city, prefer aethernet and walking over teleporting to save gil.\nTeleporting from field zones is unaffected.")) + { + navigation.PreferFreeTravel = value7; + Save(); + } + bool value8 = navigation.UseTeleportTickets; + if (UiThemeUtils.WrappedCheckbox("Use teleport tickets", ref value8, "Use destination teleport tickets from your inventory (Grand Company, Firmament,\nVesper Bay, Gold Saucer) as free teleports when planning routes.\nEach use consumes one ticket. Disable to never consume tickets.")) + { + navigation.UseTeleportTickets = value8; + Save(); + } + UiThemeUtils.EndCard(item4, item5, item6); + UiThemeUtils.SectionSpacing(); + UiThemeUtils.SectionHeader("Stuck Recovery"); + (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple4 = UiThemeUtils.BeginCard(); + Vector2 item7 = tuple4.ContentStartPos; + float item8 = tuple4.AvailableWidth; + ImDrawListPtr item9 = tuple4.DrawList; + string[] names = Enum.GetNames(); + int currentItem = (int)navigation.StuckRecoveryMode; + object tooltip = navigation.StuckRecoveryMode switch + { + EStuckRecoveryMode.Aggressive => "Jump, recalculate, reload, and rebuild navmesh (default)", + EStuckRecoveryMode.Conservative => "Jump and recalculate only - no navmesh reload/rebuild", + EStuckRecoveryMode.Passive => "Log only - no automatic recovery", + _ => string.Empty, + }; + ImGui.SetNextItemWidth(MathF.Min(260f, ImGui.GetContentRegionAvail().X)); + if (UiThemeUtils.ThemedCombo("Recovery Mode", ref currentItem, names, names.Length)) + { + navigation.StuckRecoveryMode = (EStuckRecoveryMode)currentItem; + Save(); + } + ImGui.SameLine(); + UiThemeUtils.InfoIcon((string)tooltip); + bool value9 = navigation.ReRouteOnFailure; + if (UiThemeUtils.WrappedCheckbox("Re-route on pathfinding failure", ref value9, "When pathfinding fails, SmartNav re-plans the route from your current position.\nDisable to stop automation instead (previous behavior).")) + { + navigation.ReRouteOnFailure = value9; + Save(); + } + UiThemeUtils.EndCard(item7, item8, item9); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawMountSelector(Configuration.NavigationConfiguration nav) { int currentItem = Array.FindIndex(_mountIds, (uint x) => x == nav.MountId); - int num = ((currentItem != -1) ? 1444695159 : 1444695155); - while (true) + if (currentItem == -1) { - int num2 = num; - int num3 = 1444695154; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - object obj; - string previewOverride; - switch (num5 - (num6 + num6)) - { - case 3: - nav.MountId = _mountIds[currentItem]; - Save(); - num = 1444695152; - break; - case 6: - obj = null; - goto IL_00a8; - case 2: - _200D_206C_206E_202A_202B_202B_202C_200F_200C_206F_202D_202D_202D_200E_200C_200F_206E_206B_206E_200E_202A_206D_200F_200F_206A_202E_202C_206D_202B_202C_202C_200D_202C_206E_202B_206D_206B_206A_200D_202D_202E(); - UiThemeUtils.InfoIcon(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1749227958)); - return; - case 0: - num = ((currentItem < _mountNames.Length) ? 1444695156 : 1444695158); - break; - case 1: - currentItem = 0; - nav.MountId = _mountIds[currentItem]; - Save(); - num = 1444695159; - break; - case 5: - num = ((currentItem < 0) ? 1444695158 : 1444695154); - break; - case 7: - num = 1444695155; - break; - case 4: - { - obj = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-934792339); - goto IL_00a8; - } - IL_00a8: - previewOverride = (string)obj; - num = ((!UiThemeUtils.SearchableCombo(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-35861399), ref currentItem, _mountNames, ref _mountSearchText, _202E_206C_200C_202D_202C_200D_206F_202E_206C_206C_206C_206F_206B_206E_206F_206C_200D_200B_206A_200F_200D_200C_202A_202B_206A_206F_200B_206F_202D_200B_202A_200F_202C_202B_200F_202E_200F_202E_206A_206E_202E(260f, _202A_200B_200F_206C_200C_202E_200D_200D_200D_202C_206F_206B_206B_202B_206F_206A_206C_202A_200B_200B_200E_202B_202D_200E_200E_200E_206A_202B_202B_206E_200F_206B_200C_202D_202D_206B_202E_200D_206E_202A_202E().X), previewOverride)) ? 1444695152 : 1444695153); - break; - } + currentItem = 0; + nav.MountId = _mountIds[currentItem]; + Save(); } + string previewOverride = ((currentItem >= 0 && currentItem < _mountNames.Length) ? null : "Unknown"); + if (UiThemeUtils.SearchableCombo("Preferred Mount", ref currentItem, _mountNames, ref _mountSearchText, MathF.Min(260f, ImGui.GetContentRegionAvail().X), previewOverride)) + { + nav.MountId = _mountIds[currentItem]; + Save(); + } + ImGui.SameLine(); + UiThemeUtils.InfoIcon("Mount used for ground travel. \"Mount Roulette\" picks a random mount."); } - [MethodImpl(MethodImplOptions.NoInlining)] static NavigationConfigComponent() { int num = 1; List<(uint, string)> list = new List<(uint, string)>(num); CollectionsMarshal.SetCount(list, num); - CollectionsMarshal.AsSpan(list)[0] = (0u, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(566069387)); + CollectionsMarshal.AsSpan(list)[0] = (0u, "Mount Roulette"); DefaultMounts = list; } - - static StringComparer _202B_206D_206F_202E_206B_206A_206D_200C_206B_206E_206B_200B_200E_200D_206C_202D_200F_202B_206E_206F_200E_206C_206A_206D_202C_202E_200B_200B_206B_200B_200C_202E_200E_202B_206A_200E_206A_206C_202D_202D_202E() - { - return StringComparer.OrdinalIgnoreCase; - } - - static bool _200C_206B_206F_206D_200B_200B_202A_206A_200C_202D_200C_202C_206D_202B_202E_206D_202D_206F_200E_200F_206B_200E_206C_206F_202A_202D_202B_202A_206F_206D_200D_200D_202B_200C_206F_202A_200C_206B_202B_206A_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static string _200D_200E_202A_200C_200B_202C_202D_206E_202C_206B_206C_206A_206B_200E_202C_206F_200B_200D_200E_206C_200B_206D_202E_206F_200E_206D_206F_202E_200D_202C_202A_202D_202E_202D_202E_206C_206C_202D_202A_200F_202E(string P_0) - { - return P_0.ToLowerInvariant(); - } - - static bool _200B_200F_200C_206F_202B_202B_206D_206D_200C_206D_206F_206B_206D_202E_200F_202A_200B_200B_202C_202B_206A_206D_202D_206A_202E_206D_206E_206A_202C_202E_200C_200F_206E_200C_202B_202C_202B_200C_206B_206E_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.Equals(P_1, P_2); - } - - static CultureInfo _202E_206D_202B_206B_206B_206D_202E_202E_200D_202C_202B_206D_206B_200E_206A_206D_206A_200C_206C_202E_200E_202B_200F_206F_202A_202D_200D_202E_206D_200C_202C_200F_206A_202E_202B_206B_200B_206B_206D_206C_202E() - { - return CultureInfo.InvariantCulture; - } - - static TextInfo _202E_200D_200C_202D_206E_202C_206C_200B_202D_206E_202C_200D_206E_206B_200E_202E_200D_206E_200E_202B_206F_206A_200F_202E_202C_202B_200F_206E_200E_202A_200B_206F_202C_200E_206E_200C_200F_206B_206B_200E_202E(CultureInfo P_0) - { - return P_0.TextInfo; - } - - static string _202D_206F_200D_200E_200D_206B_202C_206D_206B_206E_202C_202C_206D_202A_202D_202A_202C_206D_200F_206C_200E_206D_202A_202B_206C_206C_206F_206A_202C_202D_206F_200E_206F_200B_206B_206A_206E_200F_202C_206F_202E(TextInfo P_0, string P_1) - { - return P_0.ToTitleCase(P_1); - } - - static string[] _202A_202D_202A_200B_206E_200D_202C_206B_200D_202D_200E_200C_206E_202B_200E_206B_200F_202A_206C_206C_206B_200E_202C_206E_202A_202C_200E_200F_200E_206E_202E_200E_206A_202E_206A_202C_200B_200E_206A_200E_202E(string P_0, char P_1, StringSplitOptions P_2) - { - return P_0.Split(P_1, P_2); - } - - static int _206D_206B_206B_202C_206C_206C_202A_202A_200E_202A_200F_200E_206D_206D_202D_202D_206F_202D_202B_206D_200B_206B_202D_202D_202E_202B_202D_206A_206E_200E_200D_206D_200B_202A_206C_202B_206E_200B_200D_206F_202E(string P_0) - { - return P_0.Length; - } - - static char _206F_200C_200D_206B_206C_206B_206C_206C_206F_206D_206C_200E_200B_202B_200F_206A_202E_202D_200C_200C_206F_202D_202D_200C_202A_206A_202C_200D_202E_200D_206D_206B_202B_206A_202A_206E_200C_202A_202C_202C_202E(string P_0, int P_1) - { - return P_0[P_1]; - } - - static string _202C_200C_200D_202E_206E_202B_200E_202A_206E_206D_202C_206A_206F_200C_202D_206E_200E_206C_202D_200F_206B_206A_202E_202A_200D_200F_200B_202A_200C_202E_200E_206C_202B_206B_206D_206F_206A_202C_202D_202D_202E(string P_0, int P_1) - { - return P_0.Substring(P_1); - } - - static ReadOnlySpan _202D_202D_202C_206C_206B_206E_206B_206A_206F_202E_206C_200E_206A_202C_200D_206F_206E_206D_206A_206A_202E_202D_202B_202C_202E_202E_202D_206C_206A_200B_200C_206D_206B_200D_202D_206D_202E_200D_202B_202A_202E(string P_0) - { - return P_0; - } - - static string _202E_200B_206D_200F_200E_202D_200B_206F_200B_206F_200D_202D_200B_200D_206B_200C_202D_206A_202B_202B_206D_202D_202E_206C_206E_200D_202A_206F_202E_202B_202E_206B_202A_200C_200C_202A_202E_206A_206F_202A_202E(ReadOnlySpan P_0, ReadOnlySpan P_1) - { - return string.Concat(P_0, P_1); - } - - static string _200D_206C_202D_202E_206E_200C_202D_206D_206F_206F_202A_206F_206E_200E_206D_202E_202B_206F_206A_200C_202B_206A_206A_202E_200C_206F_206E_200C_206D_200E_200E_202B_206E_202D_202D_202B_206D_200E_202B_200D_202E(string P_0, string[] P_1) - { - return string.Join(P_0, P_1); - } - - static void _200D_206C_206E_202A_202B_202B_202C_200F_200C_206F_202D_202D_202D_200E_200C_200F_206E_206B_206E_200E_202A_206D_200F_200F_206A_202E_202C_206D_202B_202C_202C_200D_202C_206E_202B_206D_206B_206A_200D_202D_202E() - { - ImGui.SameLine(); - } - - static ImRaii.DisabledDisposable _202E_202E_202B_202E_200E_200D_202E_200C_200D_206A_200D_200D_202E_200C_200B_206C_206B_202B_200E_200F_206F_206B_206A_202C_200B_206E_200F_206A_200E_206B_202B_206D_200F_202D_202E_202D_206B_206A_202B_206B_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static void _206B_200E_206C_200D_202D_206A_202C_200B_206D_202E_206B_202C_202B_206D_206D_200C_200F_202A_206D_202B_202B_202E_202B_206A_206C_202C_202B_202C_206B_200F_206E_200B_206E_200B_202E_202D_206F_206C_206A_206F_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static int _202E_200C_200E_206A_206F_206D_202C_200F_206D_206A_202A_206E_200E_202E_200D_202E_200F_202B_206E_202C_200E_200E_206C_200C_206F_202E_206B_202E_202B_206F_206C_206E_200E_202B_200D_206A_202D_206A_202E_200F_202E(int P_0, int P_1, int P_2) - { - return Math.Clamp(P_0, P_1, P_2); - } - - static Vector2 _202A_200B_200F_206C_200C_202E_200D_200D_200D_202C_206F_206B_206B_202B_206F_206A_206C_202A_200B_200B_200E_202B_202D_200E_200E_200E_206A_202B_202B_206E_200F_206B_200C_202D_202D_206B_202E_200D_206E_202A_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static float _202E_206C_200C_202D_202C_200D_206F_202E_206C_206C_206C_206F_206B_206E_206F_206C_200D_200B_206A_200F_200D_200C_202A_202B_206A_206F_200B_206F_202D_200B_202A_200F_202C_202B_200F_202E_200F_202E_206A_206E_202E(float P_0, float P_1) - { - return MathF.Min(P_0, P_1); - } - - static void _202E_206C_202E_202E_200F_202A_206A_206E_202C_206E_200B_200C_202E_206D_206E_202B_200C_200C_200E_206F_206A_206B_202B_206B_206D_202D_200C_202B_206C_206C_200B_202C_206D_206F_200F_206E_202B_202B_206A_202C_202E(float P_0) - { - ImGui.SetNextItemWidth(P_0); - } } diff --git a/Questionable/Questionable.Windows.ConfigComponents/NotificationConfigComponent.cs b/Questionable/Questionable.Windows.ConfigComponents/NotificationConfigComponent.cs index 4ce6dc0..1ca90d6 100644 --- a/Questionable/Questionable.Windows.ConfigComponents/NotificationConfigComponent.cs +++ b/Questionable/Questionable.Windows.ConfigComponents/NotificationConfigComponent.cs @@ -16,65 +16,6 @@ namespace Questionable.Windows.ConfigComponents; internal sealed class NotificationConfigComponent : ConfigComponent { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__8_0; - - public static Func _003C_003E9__8_1; - - public static Func _003C_003E9__8_2; - - internal bool _003C_002Ector_003Eb__8_0(string n) - { - return _206D_200C_206E_202D_206B_206E_200C_200E_200B_200E_200E_206E_206E_206B_206E_200E_206A_200E_200F_202D_202D_200B_200D_200D_200F_206B_202A_200D_206D_202D_202A_200C_206E_206A_200F_206F_206A_202D_200C_206C_202E(n) != null; - } - - internal bool _003C_002Ector_003Eb__8_1(XivChatType x) - { - return x != XivChatType.StandardEmote; - } - - internal string _003C_002Ector_003Eb__8_2(XivChatType t) - { - XivChatTypeInfoAttribute? attribute = t.GetAttribute(); - return ((attribute != null) ? _206D_200F_202D_200B_200B_202E_206E_202A_202D_206A_202A_200D_200B_200B_206A_202D_200C_200C_202A_202A_200C_200D_200D_200B_206F_202B_200D_202E_200D_206E_206D_206A_202D_206A_202C_202D_202C_200F_200D_206E_202E(attribute) : null) ?? t.ToString(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal string _003C_002Ecctor_003Eb__11_0(int i) - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(9, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(602783001)); - defaultInterpolatedStringHandler.AppendFormatted(i, 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(1462241587)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(278560641)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal string _003C_002Ecctor_003Eb__11_1(int i) - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(8, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1592517238)); - defaultInterpolatedStringHandler.AppendFormatted(i, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1194352829)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1770632532)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - static string _206D_200C_206E_202D_206B_206E_200C_200E_200B_200E_200E_206E_206E_206B_206E_200E_206A_200E_200F_202D_202D_200B_200D_200D_200F_206B_202A_200D_206D_202D_202A_200C_206E_206A_200F_206F_206A_202D_200C_206C_202E(string P_0) - { - return WindowsSounds.ResolvePath(P_0); - } - - static string _206D_200F_202D_200B_200B_202E_206E_202A_202D_206A_202A_200D_200B_200B_206A_202D_200C_200C_202A_202A_200C_200D_200D_200B_206F_202B_200D_202E_200D_206E_206D_206A_202D_206A_202C_202D_202C_200F_200D_206E_202E(XivChatTypeInfoAttribute P_0) - { - return P_0.FancyName; - } - } - private static readonly string[] CuratedSoundNames; private readonly OutOfGameNotifier _notifier; @@ -95,494 +36,147 @@ internal sealed class NotificationConfigComponent : ConfigComponent : base(pluginInterface, configuration) { _notifier = notifier; - _soundFiles = CuratedSoundNames.Where((string n) => _003C_003Ec._206D_200C_206E_202D_206B_206E_200C_200E_200B_200E_200E_206E_206E_206B_206E_200E_206A_200E_200F_202D_202D_200B_200D_200D_200F_206B_202A_200D_206D_202D_202A_200C_206E_206A_200F_206F_206A_202D_200C_206C_202E(n) != null).ToArray(); + _soundFiles = CuratedSoundNames.Where((string n) => WindowsSounds.ResolvePath(n) != null).ToArray(); _soundLabels = _soundFiles.Select(SoundLabel).ToArray(); _xivChatTypes = (from x in Enum.GetValues() where x != XivChatType.StandardEmote select x).ToArray(); - _chatTypeNames = _xivChatTypes.Select(delegate(XivChatType t) - { - XivChatTypeInfoAttribute? attribute = t.GetAttribute(); - return ((attribute != null) ? _003C_003Ec._206D_200F_202D_200B_200B_202E_206E_202A_202D_206A_202A_200D_200B_200B_206A_202D_200C_200C_202A_202A_200C_200D_200D_200B_206F_202B_200D_202E_200D_206E_206D_206A_202D_206A_202C_202D_202C_200F_200D_206E_202E(attribute) : null) ?? t.ToString(); - }).ToArray(); + _chatTypeNames = _xivChatTypes.Select((XivChatType t) => t.GetAttribute()?.FancyName ?? t.ToString()).ToArray(); } - [MethodImpl(MethodImplOptions.NoInlining)] private static string SoundLabel(string value) { - int num = (_202B_200D_200B_206A_206A_206A_206E_206D_202A_202E_202A_206C_200D_206A_202D_200B_200B_200B_206C_206F_202A_200B_200E_200F_206C_206D_202E_202D_206B_206D_206C_200E_202D_206A_202C_206A_202A_206B_200C_200C_202E(value) ? (-600532132) : (-600532129)); - while (true) + if (!string.IsNullOrEmpty(value)) { - int num2 = num; - int num3 = -600532130; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return 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(-989655231); - case 1: - return _206D_200D_200F_202D_202C_202A_200D_206C_200C_200F_202B_202E_206F_200C_202C_206F_206F_202B_202A_206B_206B_202C_200D_206C_206A_202D_200C_200B_200B_200F_206A_206D_206C_200C_200F_200D_200E_200D_200F_202E(value); - case 0: - goto IL_0058; - } - continue; - IL_0058: - num = -600532129; + return Path.GetFileNameWithoutExtension(value); } + return "(Default beep)"; } - [MethodImpl(MethodImplOptions.NoInlining)] public override void DrawTab() { - UiThemeUtils.SectionHeader(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1178059847)); + UiThemeUtils.SectionHeader("Notifications"); (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple = UiThemeUtils.BeginCard(); Vector2 item = tuple.ContentStartPos; float item2 = tuple.AvailableWidth; ImDrawListPtr item3 = tuple.DrawList; bool value = base.Configuration.Notifications.Enabled; - int num = ((!UiThemeUtils.WrappedCheckbox(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(860957043), ref value)) ? 1450201521 : 1450201522); - bool value4 = default(bool); - bool value5 = default(bool); - Vector2 item7 = default(Vector2); - float item8 = default(float); - ImDrawListPtr item9 = default(ImDrawListPtr); - while (true) + if (UiThemeUtils.WrappedCheckbox("Enable notifications when manual interaction is required", ref value)) { - int num2 = num; - int num3 = 1450201520; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + base.Configuration.Notifications.Enabled = value; + Save(); + } + using (ImRaii.Disabled(!base.Configuration.Notifications.Enabled)) + { + int currentItem = Array.IndexOf(_xivChatTypes, base.Configuration.Notifications.ChatType); + if (currentItem == -1) + { + currentItem = 0; + } + float width = MathF.Min(260f, ImGui.GetContentRegionAvail().X); + if (UiThemeUtils.SearchableCombo("Chat channel", ref currentItem, _chatTypeNames, ref _chatChannelSearchText, width)) + { + base.Configuration.Notifications.ChatType = _xivChatTypes[currentItem]; + Save(); + } + } + UiThemeUtils.EndCard(item, item2, item3); + using (ImRaii.Disabled(!base.Configuration.Notifications.Enabled)) + { + UiThemeUtils.SectionSpacing(); + UiThemeUtils.SectionHeader("Out-of-game notifications"); + (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple2 = UiThemeUtils.BeginCard(); + Vector2 item4 = tuple2.ContentStartPos; + float item5 = tuple2.AvailableWidth; + ImDrawListPtr item6 = tuple2.DrawList; + bool value2 = base.Configuration.Notifications.FlashTaskbar; + if (UiThemeUtils.WrappedCheckbox("Flash taskbar icon", ref value2)) + { + base.Configuration.Notifications.FlashTaskbar = value2; + Save(); + } + bool value3 = base.Configuration.Notifications.ShowTrayMessage; + if (UiThemeUtils.WrappedCheckbox("Show tray notification", ref value3)) + { + base.Configuration.Notifications.ShowTrayMessage = value3; + Save(); + } + bool value4 = base.Configuration.Notifications.PlaySound; + if (UiThemeUtils.WrappedCheckbox("Play a sound", ref value4)) + { + base.Configuration.Notifications.PlaySound = value4; + Save(); + } + using (ImRaii.Disabled(!base.Configuration.Notifications.PlaySound)) + { + using (ImRaii.PushIndent()) + { + int currentItem2 = Array.IndexOf(_soundFiles, base.Configuration.Notifications.SoundFile); + float width2 = MathF.Min(ImGui.GetContentRegionAvail().X * 0.6f, 260f); + string previewOverride = ((currentItem2 < 0) ? SoundLabel(base.Configuration.Notifications.SoundFile) : null); + if (UiThemeUtils.SearchableCombo("Sound", ref currentItem2, _soundLabels, ref _soundSearchText, width2, previewOverride)) + { + base.Configuration.Notifications.SoundFile = _soundFiles[currentItem2]; + Save(); + } + ImGui.SameLine(); + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Play, "Test")) + { + _notifier.PlayAlertSound(WindowsSounds.ResolvePath(base.Configuration.Notifications.SoundFile)); + } + } + } + bool value5 = base.Configuration.Notifications.OnlyWhenUnfocused; + if (UiThemeUtils.WrappedCheckbox("Only when the game is not focused", ref value5, "Tray notification and sound are suppressed while the game window is focused. Taskbar flashing already stops when you focus the game.")) + { + base.Configuration.Notifications.OnlyWhenUnfocused = value5; + Save(); + } + UiThemeUtils.EndCard(item4, item5, item6); + UiThemeUtils.SectionSpacing(); + UiThemeUtils.SectionHeader("Alert for"); + ImGui.SameLine(); + UiThemeUtils.InfoIcon("Which situations raise an out-of-game alert (taskbar / tray / sound): when a step needs you, when an auto-run duty / single-player duty finishes, and when a stop condition halts automation."); + (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple3 = UiThemeUtils.BeginCard(); + Vector2 item7 = tuple3.ContentStartPos; + float item8 = tuple3.AvailableWidth; + ImDrawListPtr item9 = tuple3.DrawList; + InlineArray4 buffer = default(InlineArray4); + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, UiThemeUtils.GridCheckbox>(ref buffer, 0) = new UiThemeUtils.GridCheckbox("Duties", base.Configuration.Notifications.AlertForDuties); + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, UiThemeUtils.GridCheckbox>(ref buffer, 1) = new UiThemeUtils.GridCheckbox("Single-player duties", base.Configuration.Notifications.AlertForSinglePlayerDuties); + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, UiThemeUtils.GridCheckbox>(ref buffer, 2) = new UiThemeUtils.GridCheckbox("Snipe steps", base.Configuration.Notifications.AlertForSnipe); + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, UiThemeUtils.GridCheckbox>(ref buffer, 3) = new UiThemeUtils.GridCheckbox("Stop conditions", base.Configuration.Notifications.AlertForStopConditions); + ReadOnlySpan items = global::_003CPrivateImplementationDetails_003E.InlineArrayAsReadOnlySpan, UiThemeUtils.GridCheckbox>(in buffer, 4); + switch (UiThemeUtils.CheckboxGrid("alertfor", items)) { case 0: - num = 1450201522; - break; - case 2: - base.Configuration.Notifications.Enabled = value; + base.Configuration.Notifications.AlertForDuties = !base.Configuration.Notifications.AlertForDuties; Save(); - num = 1450201521; break; case 1: - { - ImRaii.DisabledDisposable disabledDisposable = _206D_206A_206C_206D_200C_202A_202D_206D_206B_202E_206B_206B_200C_200B_202D_202D_200D_206B_200C_200B_206C_206B_200E_206B_202A_202B_202D_206D_206D_200C_200C_200D_206C_206C_206E_200F_206E_202D_202A_206A_202E(!base.Configuration.Notifications.Enabled); - try - { - int currentItem = Array.IndexOf(_xivChatTypes, base.Configuration.Notifications.ChatType); - num = ((currentItem != -1) ? 55349641 : 55349647); - while (true) - { - int num7 = num; - num3 = 55349645; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = 55349647; - break; - case 4: - { - float width = _202D_200E_202B_202C_202A_206E_202C_202B_206A_202D_206A_200E_200F_200E_200F_200D_200D_206F_202B_200F_206D_206F_202E_202B_206D_202D_202D_202C_206D_206C_206A_200B_202B_200E_200C_200C_202C_206A_202C_200C_202E(260f, _206D_202E_202E_206A_206F_206E_200C_200B_202A_202D_206D_200B_202C_200E_200D_202C_202D_202B_202A_202D_206E_206B_200F_206D_206D_206A_206D_206D_200E_206A_206A_206B_206F_202B_200B_206A_206E_200C_202E_202A_202E().X); - num = ((!UiThemeUtils.SearchableCombo(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1712169255), ref currentItem, _chatTypeNames, ref _chatChannelSearchText, width)) ? 55349644 : 55349645); - break; - } - case 0: - base.Configuration.Notifications.ChatType = _xivChatTypes[currentItem]; - Save(); - num = 55349644; - break; - case 2: - currentItem = 0; - num = 55349641; - break; - case 1: - goto end_IL_011e; - } - continue; - end_IL_011e: - break; - } - } - finally - { - num = ((disabledDisposable == null) ? 1015162828 : 1015162831); - while (true) - { - int num8 = num; - num3 = 1015162829; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 1: - goto end_IL_020f; - case 2: - _206C_206B_206C_206E_200E_202C_200E_202E_202E_200D_202A_200D_206C_200D_206F_206C_202E_200B_206D_202E_200D_200D_202D_202B_206E_200B_206B_202B_200D_202C_200B_200B_206D_206D_202C_202E_200D_206C_206C_206D_202E((IDisposable)disabledDisposable); - num = 1015162828; - break; - case 0: - num = 1015162831; - break; - } - continue; - end_IL_020f: - break; - } - } - UiThemeUtils.EndCard(item, item2, item3); - disabledDisposable = _206D_206A_206C_206D_200C_202A_202D_206D_206B_202E_206B_206B_200C_200B_202D_202D_200D_206B_200C_200B_206C_206B_200E_206B_202A_202B_202D_206D_206D_200C_200C_200D_206C_206C_206E_200F_206E_202D_202A_206A_202E(!base.Configuration.Notifications.Enabled); - try - { - UiThemeUtils.SectionSpacing(); - UiThemeUtils.SectionHeader(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-594783107)); - (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple2 = UiThemeUtils.BeginCard(); - Vector2 item4 = tuple2.ContentStartPos; - float item5 = tuple2.AvailableWidth; - ImDrawListPtr item6 = tuple2.DrawList; - bool value2 = base.Configuration.Notifications.FlashTaskbar; - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1116257301), ref value2)) ? (-62751594) : (-62751599)); - while (true) - { - int num11 = num; - num3 = -62751598; - num4 = num11; - int num12 = num4 + num3; - int num13 = num4 & num3; - switch (num12 - (num13 + num13)) - { - case 6: - value4 = base.Configuration.Notifications.PlaySound; - num = ((!UiThemeUtils.WrappedCheckbox(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(922936492), ref value4)) ? (-62751600) : (-62751593)); - break; - case 5: - base.Configuration.Notifications.PlaySound = value4; - Save(); - num = -62751600; - break; - case 0: - num = -62751599; - break; - case 3: - base.Configuration.Notifications.FlashTaskbar = value2; - Save(); - num = -62751594; - break; - case 4: - value5 = base.Configuration.Notifications.ShowTrayMessage; - num = ((!UiThemeUtils.WrappedCheckbox(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(-212691953), ref value5)) ? (-62751596) : (-62751597)); - break; - case 1: - base.Configuration.Notifications.ShowTrayMessage = value5; - Save(); - num = -62751596; - break; - case 2: - { - ImRaii.DisabledDisposable disabledDisposable2 = _206D_206A_206C_206D_200C_202A_202D_206D_206B_202E_206B_206B_200C_200B_202D_202D_200D_206B_200C_200B_206C_206B_200E_206B_202A_202B_202D_206D_206D_200C_200C_200D_206C_206C_206E_200F_206E_202D_202A_206A_202E(!base.Configuration.Notifications.PlaySound); - try - { - ImRaii.IndentDisposable indentDisposable = _202E_202C_206C_200F_206C_206D_202E_202B_202E_206A_200D_202B_200E_200D_206C_200D_206B_200D_206B_200B_206F_200B_206A_206D_206B_206D_200B_200C_202D_200E_206E_206F_200C_200C_200C_206B_206E_200E_200E_206D_202E(1, true); - try - { - int currentItem2 = Array.IndexOf(_soundFiles, base.Configuration.Notifications.SoundFile); - float width2 = _202D_200E_202B_202C_202A_206E_202C_202B_206A_202D_206A_200E_200F_200E_200F_200D_200D_206F_202B_200F_206D_206F_202E_202B_206D_202D_202D_202C_206D_206C_206A_200B_202B_200E_200C_200C_202C_206A_202C_200C_202E(_206D_202E_202E_206A_206F_206E_200C_200B_202A_202D_206D_200B_202C_200E_200D_202C_202D_202B_202A_202D_206E_206B_200F_206D_206D_206A_206D_206D_200E_206A_206A_206B_206F_202B_200B_206A_206E_200C_202E_202A_202E().X * 0.6f, 260f); - num = ((currentItem2 < 0) ? (-996474497) : (-996474498)); - while (true) - { - int num14 = num; - num3 = -996474499; - num4 = num14; - object obj; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 5: - base.Configuration.Notifications.SoundFile = _soundFiles[currentItem2]; - Save(); - num = -996474500; - continue; - case 3: - obj = null; - break; - case 1: - _200D_202B_206F_202B_206E_202E_202D_200C_202A_202B_206D_200D_206A_202A_202C_202D_202D_200C_200F_202C_200F_206E_206F_206D_206B_206D_202E_200E_202A_206C_206C_200C_202E_202D_206D_206F_206E_202E_202B_200E_202E(); - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Play, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1219773276))) ? (-996474503) : (-996474501)); - continue; - case 6: - _202B_206C_200E_206E_200B_200E_200F_206E_200C_200B_202E_202E_202D_206E_200E_206E_202B_200F_202E_206C_202C_200C_202A_200F_202C_202B_202E_206C_206A_202D_200F_200F_206B_200C_206A_200E_202A_206D_206B_206D_202E(_notifier, _202D_200D_202B_206D_206F_206C_202E_202A_200D_206C_206B_200B_200D_202C_202E_206A_200F_202A_200F_200C_202C_202B_202E_206C_206B_202C_200E_200B_202C_202B_206F_202C_206B_200E_206D_206C_202D_200F_206D_206D_202E(base.Configuration.Notifications.SoundFile)); - num = -996474503; - continue; - case 0: - num = -996474498; - continue; - case 2: - obj = SoundLabel(base.Configuration.Notifications.SoundFile); - break; - case 4: - goto end_IL_04a4; - } - string previewOverride = (string)obj; - num = ((!UiThemeUtils.SearchableCombo(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(51923745), ref currentItem2, _soundLabels, ref _soundSearchText, width2, previewOverride)) ? (-996474500) : (-996474504)); - continue; - end_IL_04a4: - break; - } - } - finally - { - num = ((indentDisposable == null) ? (-363189453) : (-363189456)); - while (true) - { - int num15 = num; - num3 = -363189454; - num4 = num15; - int num16 = num4 + num3; - int num17 = num4 & num3; - switch (num16 - (num17 + num17)) - { - case 0: - num = -363189456; - break; - case 1: - goto end_IL_0604; - case 2: - _206C_206B_206C_206E_200E_202C_200E_202E_202E_200D_202A_200D_206C_200D_206F_206C_202E_200B_206D_202E_200D_200D_202D_202B_206E_200B_206B_202B_200D_202C_200B_200B_206D_206D_202C_202E_200D_206C_206C_206D_202E((IDisposable)indentDisposable); - num = -363189453; - break; - } - continue; - end_IL_0604: - break; - } - } - } - finally - { - num = ((disabledDisposable2 == null) ? 33973152 : 33973155); - while (true) - { - int num18 = num; - num3 = 33973154; - num4 = num18; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 33973155; - break; - case 1: - _206C_206B_206C_206E_200E_202C_200E_202E_202E_200D_202A_200D_206C_200D_206F_206C_202E_200B_206D_202E_200D_200D_202D_202B_206E_200B_206B_202B_200D_202C_200B_200B_206D_206D_202C_202E_200D_206C_206C_206D_202E((IDisposable)disabledDisposable2); - num = 33973152; - break; - case 2: - goto end_IL_0671; - } - continue; - end_IL_0671: - break; - } - } - bool value3 = base.Configuration.Notifications.OnlyWhenUnfocused; - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1501040901), ref value3, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-468946821))) ? (-1567407838) : (-1567407833)); - while (true) - { - int num19 = num; - num3 = -1567407840; - num4 = num19; - int num20 = num4 + num3; - int num21 = num4 & num3; - switch (num20 - (num21 + num21)) - { - case 4: - base.Configuration.Notifications.AlertForSnipe = !base.Configuration.Notifications.AlertForSnipe; - Save(); - num = -1567407832; - break; - case 1: - goto IL_0782; - case 7: - base.Configuration.Notifications.OnlyWhenUnfocused = value3; - Save(); - num = -1567407838; - break; - case 5: - goto IL_07db; - case 2: - { - UiThemeUtils.EndCard(item4, item5, item6); - UiThemeUtils.SectionSpacing(); - UiThemeUtils.SectionHeader(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1455636673)); - _200D_202B_206F_202B_206E_202E_202D_200C_202A_202B_206D_200D_206A_202A_202C_202D_202D_200C_200F_202C_200F_206E_206F_206D_206B_206D_202E_200E_202A_206C_206C_200C_202E_202D_206D_206F_206E_202E_202B_200E_202E(); - UiThemeUtils.InfoIcon(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1061858222)); - (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple3 = UiThemeUtils.BeginCard(); - item7 = tuple3.ContentStartPos; - item8 = tuple3.AvailableWidth; - item9 = tuple3.DrawList; - InlineArray4 buffer = default(InlineArray4); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, UiThemeUtils.GridCheckbox>(ref buffer, 0) = new UiThemeUtils.GridCheckbox(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(1354247148), base.Configuration.Notifications.AlertForDuties); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, UiThemeUtils.GridCheckbox>(ref buffer, 1) = new UiThemeUtils.GridCheckbox(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(134232088), base.Configuration.Notifications.AlertForSinglePlayerDuties); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, UiThemeUtils.GridCheckbox>(ref buffer, 2) = new UiThemeUtils.GridCheckbox(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(898378632), base.Configuration.Notifications.AlertForSnipe); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, UiThemeUtils.GridCheckbox>(ref buffer, 3) = new UiThemeUtils.GridCheckbox(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1315244177), base.Configuration.Notifications.AlertForStopConditions); - ReadOnlySpan items = global::_003CPrivateImplementationDetails_003E.InlineArrayAsReadOnlySpan, UiThemeUtils.GridCheckbox>(in buffer, 4); - switch (UiThemeUtils.CheckboxGrid(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1373958987), items)) - { - case 2: - break; - case 3: - goto IL_0782; - case 0: - goto IL_07db; - default: - goto IL_0950; - case 1: - goto IL_095c; - } - goto case 4; - } - case 6: - goto IL_095c; - case 3: - num = -1567407833; - break; - case 0: - num = -1567407832; - break; - case 8: - { - UiThemeUtils.EndCard(item7, item8, item9); - return; - } - IL_095c: - base.Configuration.Notifications.AlertForSinglePlayerDuties = !base.Configuration.Notifications.AlertForSinglePlayerDuties; - Save(); - num = -1567407832; - break; - IL_0950: - num = -1567407840; - break; - IL_07db: - base.Configuration.Notifications.AlertForDuties = !base.Configuration.Notifications.AlertForDuties; - Save(); - num = -1567407832; - break; - IL_0782: - base.Configuration.Notifications.AlertForStopConditions = !base.Configuration.Notifications.AlertForStopConditions; - Save(); - num = -1567407832; - break; - } - } - } - } - } - } - finally - { - num = ((disabledDisposable == null) ? (-307318706) : (-307318705)); - while (true) - { - int num22 = num; - num3 = -307318706; - num4 = num22; - int num23 = num4 + num3; - int num24 = num4 & num3; - switch (num23 - (num24 + num24)) - { - case 2: - num = -307318705; - break; - case 0: - goto end_IL_09d8; - case 1: - _206C_206B_206C_206E_200E_202C_200E_202E_202E_200D_202A_200D_206C_200D_206F_206C_202E_200B_206D_202E_200D_200D_202D_202B_206E_200B_206B_202B_200D_202C_200B_200B_206D_206D_202C_202E_200D_206C_206C_206D_202E((IDisposable)disabledDisposable); - num = -307318706; - break; - } - continue; - end_IL_09d8: - break; - } - } - } + base.Configuration.Notifications.AlertForSinglePlayerDuties = !base.Configuration.Notifications.AlertForSinglePlayerDuties; + Save(); + break; + case 2: + base.Configuration.Notifications.AlertForSnipe = !base.Configuration.Notifications.AlertForSnipe; + Save(); + break; + case 3: + base.Configuration.Notifications.AlertForStopConditions = !base.Configuration.Notifications.AlertForStopConditions; + Save(); + break; } + UiThemeUtils.EndCard(item7, item8, item9); } } static NotificationConfigComponent() { List list = new List(); - list.AddRange(_200F_206E_206E_200F_200E_202D_202C_202E_202B_200D_202B_200F_200B_206D_202B_202E_200D_200B_200E_200F_200E_202D_200B_202C_206D_206F_200C_206F_200C_200B_206B_202A_206E_200C_206C_202B_200D_200D_206E_202B_202E(1, 10).Select([MethodImpl(MethodImplOptions.NoInlining)] (int i) => - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(9, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(602783001)); - defaultInterpolatedStringHandler.AppendFormatted(i, 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(1462241587)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(278560641)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - })); - list.AddRange(_200F_206E_206E_200F_200E_202D_202C_202E_202B_200D_202B_200F_200B_206D_202B_202E_200D_200B_200E_200F_200E_202D_200B_202C_206D_206F_200C_206F_200C_200B_206B_202A_206E_200C_206C_202B_200D_200D_206E_202B_202E(1, 10).Select([MethodImpl(MethodImplOptions.NoInlining)] (int i) => - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(8, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1592517238)); - defaultInterpolatedStringHandler.AppendFormatted(i, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1194352829)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1770632532)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - })); + list.AddRange(from i in Enumerable.Range(1, 10) + select $"Alarm{i:D2}.wav"); + list.AddRange(from i in Enumerable.Range(1, 10) + select $"Ring{i:D2}.wav"); CuratedSoundNames = list.ToArray(); } - - static bool _202B_200D_200B_206A_206A_206A_206E_206D_202A_202E_202A_206C_200D_206A_202D_200B_200B_200B_206C_206F_202A_200B_200E_200F_206C_206D_202E_202D_206B_206D_206C_200E_202D_206A_202C_206A_202A_206B_200C_200C_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static string _206D_200D_200F_202D_202C_202A_200D_206C_200C_200F_202B_202E_206F_200C_202C_206F_206F_202B_202A_206B_206B_202C_200D_206C_206A_202D_200C_200B_200B_200F_206A_206D_206C_200C_200F_200D_200E_200D_200F_202E(string P_0) - { - return Path.GetFileNameWithoutExtension(P_0); - } - - static ImRaii.DisabledDisposable _206D_206A_206C_206D_200C_202A_202D_206D_206B_202E_206B_206B_200C_200B_202D_202D_200D_206B_200C_200B_206C_206B_200E_206B_202A_202B_202D_206D_206D_200C_200C_200D_206C_206C_206E_200F_206E_202D_202A_206A_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static Vector2 _206D_202E_202E_206A_206F_206E_200C_200B_202A_202D_206D_200B_202C_200E_200D_202C_202D_202B_202A_202D_206E_206B_200F_206D_206D_206A_206D_206D_200E_206A_206A_206B_206F_202B_200B_206A_206E_200C_202E_202A_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static float _202D_200E_202B_202C_202A_206E_202C_202B_206A_202D_206A_200E_200F_200E_200F_200D_200D_206F_202B_200F_206D_206F_202E_202B_206D_202D_202D_202C_206D_206C_206A_200B_202B_200E_200C_200C_202C_206A_202C_200C_202E(float P_0, float P_1) - { - return MathF.Min(P_0, P_1); - } - - static void _206C_206B_206C_206E_200E_202C_200E_202E_202E_200D_202A_200D_206C_200D_206F_206C_202E_200B_206D_202E_200D_200D_202D_202B_206E_200B_206B_202B_200D_202C_200B_200B_206D_206D_202C_202E_200D_206C_206C_206D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static ImRaii.IndentDisposable _202E_202C_206C_200F_206C_206D_202E_202B_202E_206A_200D_202B_200E_200D_206C_200D_206B_200D_206B_200B_206F_200B_206A_206D_206B_206D_200B_200C_202D_200E_206E_206F_200C_200C_200C_206B_206E_200E_200E_206D_202E(int P_0, bool P_1) - { - return ImRaii.PushIndent(P_0, P_1); - } - - static void _200D_202B_206F_202B_206E_202E_202D_200C_202A_202B_206D_200D_206A_202A_202C_202D_202D_200C_200F_202C_200F_206E_206F_206D_206B_206D_202E_200E_202A_206C_206C_200C_202E_202D_206D_206F_206E_202E_202B_200E_202E() - { - ImGui.SameLine(); - } - - static string _202D_200D_202B_206D_206F_206C_202E_202A_200D_206C_206B_200B_200D_202C_202E_206A_200F_202A_200F_200C_202C_202B_202E_206C_206B_202C_200E_200B_202C_202B_206F_202C_206B_200E_206D_206C_202D_200F_206D_206D_202E(string P_0) - { - return WindowsSounds.ResolvePath(P_0); - } - - static void _202B_206C_200E_206E_200B_200E_200F_206E_200C_200B_202E_202E_202D_206E_200E_206E_202B_200F_202E_206C_202C_200C_202A_200F_202C_202B_202E_206C_206A_202D_200F_200F_206B_200C_206A_200E_202A_206D_206B_206D_202E(OutOfGameNotifier P_0, string P_1) - { - P_0.PlayAlertSound(P_1); - } - - static IEnumerable _200F_206E_206E_200F_200E_202D_202C_202E_202B_200D_202B_200F_200B_206D_202B_202E_200D_200B_200E_200F_200E_202D_200B_202C_206D_206F_200C_206F_200C_200B_206B_202A_206E_200C_206C_202B_200D_200D_206E_202B_202E(int P_0, int P_1) - { - return Enumerable.Range(P_0, P_1); - } } diff --git a/Questionable/Questionable.Windows.ConfigComponents/PluginConfigComponent.cs b/Questionable/Questionable.Windows.ConfigComponents/PluginConfigComponent.cs index 0f637df..fc88e6a 100644 --- a/Questionable/Questionable.Windows.ConfigComponents/PluginConfigComponent.cs +++ b/Questionable/Questionable.Windows.ConfigComponents/PluginConfigComponent.cs @@ -1,5 +1,4 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; @@ -7,9 +6,7 @@ using System.Numerics; using System.Runtime.CompilerServices; using System.Text; using Dalamud.Bindings.ImGui; -using Dalamud.Configuration; using Dalamud.Interface; -using Dalamud.Interface.ManagedFontAtlas; using Dalamud.Interface.Utility.Raii; using Dalamud.Plugin; using Dalamud.Plugin.Services; @@ -24,35 +21,6 @@ internal sealed class PluginConfigComponent : ConfigComponent { private sealed record PluginProvider(string DisplayName, string InternalName, Uri WebsiteUri, Uri? DalamudRepositoryUri, IReadOnlyList? DalamudRepositoryAliases = null) { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__25_0; - - internal string _003Cget_AliasUrls_003Eb__25_0(Uri u) - { - return _202A_200E_206F_206F_200B_202C_202A_206F_200D_200F_200C_200B_202E_202E_200D_202B_202B_200F_202A_202E_202E_206D_206C_202C_206D_206B_202E_200C_206B_202A_202B_206A_206D_206D_202D_200E_206E_202D_200B_206D_202E((object)u); - } - - static string _202A_200E_206F_206F_200B_202C_202A_206F_200D_200F_200C_200B_202E_202E_200D_202B_202B_200F_202A_202E_202E_206D_206C_202C_206D_206B_202E_200C_206B_202A_202B_206A_206D_206D_202D_200E_206E_202D_200B_206D_202E(object P_0) - { - return P_0.ToString(); - } - } - - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202C_200C_202B_200C_202D_202B_206A_206A_202E_200D_206A_200F_206C_200E_206B_202D_200B_202B_200D_206F_200C_202C_200D_202B_206F_206A_200C_200B_200F_206C_202A_206A_202A_206B_206A_200F_202C_200B_202E_202D_202E(typeof(PluginProvider).TypeHandle); - } - } - public IReadOnlyList AliasUrls { get @@ -60,7 +28,7 @@ internal sealed class PluginConfigComponent : ConfigComponent IReadOnlyList? readOnlyList = _aliasUrls; if (readOnlyList == null) { - IReadOnlyList readOnlyList2 = DalamudRepositoryAliases?.Select((Uri u) => _003C_003Ec._202A_200E_206F_206F_200B_202C_202A_206F_200D_200F_200C_200B_202E_202E_200D_202B_202B_200F_202A_202E_202E_206D_206C_202C_206D_206B_202E_200C_206B_202A_202B_206A_206D_206D_202D_200E_206E_202D_200B_206D_202E((object)u)).ToList(); + IReadOnlyList readOnlyList2 = DalamudRepositoryAliases?.Select((Uri u) => u.ToString()).ToList(); readOnlyList = (_aliasUrls = readOnlyList2 ?? Array.Empty()); } return readOnlyList; @@ -69,542 +37,52 @@ internal sealed class PluginConfigComponent : ConfigComponent private IReadOnlyList? _aliasUrls; - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206E_202B_200D_206D_206B_206D_200D_202C_206B_206D_200B_206F_206C_202C_200B_202D_200C_206C_202E_206B_206C_206B_202A_200F_200D_200C_206D_200B_200D_200D_206A_206E_200C_202A_200E_206C_200B_200B_202D_202A_202E(); - _206C_202D_200D_206A_206C_202C_200E_202C_202A_206A_206B_206B_206B_202B_206B_202C_206A_200C_202A_200C_200E_202A_206A_202A_202D_202A_206E_202B_200D_202A_202C_202A_206B_202A_206D_202B_200D_202A_202C_206D_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(599096135)); - _206C_202D_200D_206A_206C_202C_200E_202C_202A_206A_206B_206B_206B_202B_206B_202C_206A_200C_202A_200C_200E_202A_206A_202A_202D_202A_206E_202B_200D_202A_202C_202A_206B_202A_206D_202B_200D_202A_202C_206D_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1344697862)); - int num = ((!PrintMembers(stringBuilder)) ? 1856987188 : 1856987191); - while (true) - { - int num2 = num; - int num3 = 1856987189; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1856987191; - break; - case 1: - _206D_202E_206B_200F_206E_202B_202C_200C_206E_206D_202D_202D_206F_206D_202C_202D_206D_206B_202B_202C_200D_206B_206A_202A_200D_202E_202A_202E_200B_200F_200E_202D_200D_206D_206F_206B_206D_202E_206B_200E_202E(stringBuilder, '}'); - return _206D_206D_202D_200D_206E_200E_206C_206F_200D_202C_200B_206A_206B_202B_206F_202C_206A_200C_206C_200E_206E_202C_200B_200D_202E_202A_200E_206E_200F_202D_202E_206C_202A_202C_206D_200D_202E_202D_202C_202A_202E((object)stringBuilder); - case 2: - _206D_202E_206B_200F_206E_202B_202C_200C_206E_206D_202D_202D_206F_206D_202C_202D_206D_206B_202B_202C_200D_206B_206A_202A_200D_202E_202A_202E_200B_200F_200E_202D_200D_206D_206F_206B_206D_202E_206B_200E_202E(stringBuilder, ' '); - num = 1856987188; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] [CompilerGenerated] private bool PrintMembers(StringBuilder builder) { - _206E_206E_202D_200F_202D_202B_200C_200E_202A_200E_202D_202D_206D_206A_206C_206A_202E_202B_200B_200F_202E_206E_200F_200E_200E_206D_206A_200C_202C_202A_200F_206A_200D_200C_200F_200B_206C_202C_202D_202B_202E(); - _206C_202D_200D_206A_206C_202C_200E_202C_202A_206A_206B_206B_206B_202B_206B_202C_206A_200C_202A_200C_200E_202A_206A_202A_202D_202A_206E_202B_200D_202A_202C_202A_206B_202A_206D_202B_200D_202A_202C_206D_202E(builder, 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(1554457261)); - _202C_206B_200D_202D_200D_206C_206F_200B_206F_202B_202B_202B_202A_202A_200C_206F_202A_206D_200C_206B_202A_206F_206B_206D_206A_202D_206E_202A_206F_206B_202A_206D_206B_206D_206F_202E_206B_200C_202A_202C_202E(builder, (object)DisplayName); - _206C_202D_200D_206A_206C_202C_200E_202C_202A_206A_206B_206B_206B_202B_206B_202C_206A_200C_202A_200C_200E_202A_206A_202A_202D_202A_206E_202B_200D_202A_202C_202A_206B_202A_206D_202B_200D_202A_202C_206D_202E(builder, 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(1253723183)); - _202C_206B_200D_202D_200D_206C_206F_200B_206F_202B_202B_202B_202A_202A_200C_206F_202A_206D_200C_206B_202A_206F_206B_206D_206A_202D_206E_202A_206F_206B_202A_206D_206B_206D_206F_202E_206B_200C_202A_202C_202E(builder, (object)InternalName); - _206C_202D_200D_206A_206C_202C_200E_202C_202A_206A_206B_206B_206B_202B_206B_202C_206A_200C_202A_200C_200E_202A_206A_202A_202D_202A_206E_202B_200D_202A_202C_202A_206B_202A_206D_202B_200D_202A_202C_206D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2064418967)); - _202C_206B_200D_202D_200D_206C_206F_200B_206F_202B_202B_202B_202A_202A_200C_206F_202A_206D_200C_206B_202A_206F_206B_206D_206A_202D_206E_202A_206F_206B_202A_206D_206B_206D_206F_202E_206B_200C_202A_202C_202E(builder, (object)WebsiteUri); - _206C_202D_200D_206A_206C_202C_200E_202C_202A_206A_206B_206B_206B_202B_206B_202C_206A_200C_202A_200C_200E_202A_206A_202A_202D_202A_206E_202B_200D_202A_202C_202A_206B_202A_206D_202B_200D_202A_202C_206D_202E(builder, 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(2073079248)); - _202C_206B_200D_202D_200D_206C_206F_200B_206F_202B_202B_202B_202A_202A_200C_206F_202A_206D_200C_206B_202A_206F_206B_206D_206A_202D_206E_202A_206F_206B_202A_206D_206B_206D_206F_202E_206B_200C_202A_202C_202E(builder, (object)DalamudRepositoryUri); - _206C_202D_200D_206A_206C_202C_200E_202C_202A_206A_206B_206B_206B_202B_206B_202C_206A_200C_202A_200C_200E_202A_206A_202A_202D_202A_206E_202B_200D_202A_202C_202A_206B_202A_206D_202B_200D_202A_202C_206D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1815798103)); - _202C_206B_200D_202D_200D_206C_206F_200B_206F_202B_202B_202B_202A_202A_200C_206F_202A_206D_200C_206B_202A_206F_206B_206D_206A_202D_206E_202A_206F_206B_202A_206D_206B_206D_206F_202E_206B_200C_202A_202C_202E(builder, (object)DalamudRepositoryAliases); - _206C_202D_200D_206A_206C_202C_200E_202C_202A_206A_206B_206B_206B_202B_206B_202C_206A_200C_202A_200C_200E_202A_206A_202A_202D_202A_206E_202B_200D_202A_202C_202A_206B_202A_206D_202B_200D_202A_202C_206D_202E(builder, 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(-812070845)); - _202C_206B_200D_202D_200D_206C_206F_200B_206F_202B_202B_202B_202A_202A_200C_206F_202A_206D_200C_206B_202A_206F_206B_206D_206A_202D_206E_202A_206F_206B_202A_206D_206B_206D_206F_202E_206B_200C_202A_202C_202E(builder, (object)AliasUrls); + RuntimeHelpers.EnsureSufficientExecutionStack(); + builder.Append("DisplayName = "); + builder.Append((object?)DisplayName); + builder.Append(", InternalName = "); + builder.Append((object?)InternalName); + builder.Append(", WebsiteUri = "); + builder.Append(WebsiteUri); + builder.Append(", DalamudRepositoryUri = "); + builder.Append(DalamudRepositoryUri); + builder.Append(", DalamudRepositoryAliases = "); + builder.Append(DalamudRepositoryAliases); + builder.Append(", AliasUrls = "); + builder.Append(AliasUrls); return true; } - - [CompilerGenerated] - public bool Equals(PluginProvider? other) - { - int num = (((object)this == other) ? (-947040485) : (-947040495)); - while (true) - { - int num2 = num; - int num3 = -947040493; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 9: - num = ((!EqualityComparer>.Default.Equals(DalamudRepositoryAliases, other.DalamudRepositoryAliases)) ? (-947040490) : (-947040494)); - break; - case 8: - return true; - case 7: - num = ((!EqualityComparer.Default.Equals(DisplayName, other.DisplayName)) ? (-947040490) : (-947040489)); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(InternalName, other.InternalName)) ? (-947040490) : (-947040487)); - break; - case 1: - return EqualityComparer>.Default.Equals(_aliasUrls, other._aliasUrls); - case 0: - num = -947040495; - break; - case 3: - num = ((!EqualityComparer.Default.Equals(DalamudRepositoryUri, other.DalamudRepositoryUri)) ? (-947040490) : (-947040486)); - break; - case 6: - num = ((!_200C_200F_200C_200E_202D_206D_206A_200C_206E_206A_206C_200C_206C_200F_202A_206D_206D_202A_202C_206A_200E_200C_200B_202A_200D_206B_200C_202E_202B_200E_206F_206F_206F_202D_200D_200E_200C_206F_206C_200D_202E(EqualityContract, other.EqualityContract)) ? (-947040490) : (-947040492)); - break; - case 5: - return false; - case 10: - num = ((!EqualityComparer.Default.Equals(WebsiteUri, other.WebsiteUri)) ? (-947040490) : (-947040496)); - break; - case 2: - num = (((object)other == null) ? (-947040490) : (-947040491)); - break; - } - } - } - - bool IEquatable.Equals(PluginProvider? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202C_200C_202B_200C_202D_202B_206A_206A_202E_200D_206A_200F_206C_200E_206B_202D_200B_202B_200D_206F_200C_202C_200D_202B_206F_206A_200C_200B_200F_206C_202A_206A_202A_206B_206A_200F_202C_200B_202E_202D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206E_202B_200D_206D_206B_206D_200D_202C_206B_206D_200B_206F_206C_202C_200B_202D_200C_206C_202E_206B_206C_206B_202A_200F_200D_200C_206D_200B_200D_200D_206A_206E_200C_202A_200E_206C_200B_200B_202D_202A_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206C_202D_200D_206A_206C_202C_200E_202C_202A_206A_206B_206B_206B_202B_206B_202C_206A_200C_202A_200C_200E_202A_206A_202A_202D_202A_206E_202B_200D_202A_202C_202A_206B_202A_206D_202B_200D_202A_202C_206D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206D_202E_206B_200F_206E_202B_202C_200C_206E_206D_202D_202D_206F_206D_202C_202D_206D_206B_202B_202C_200D_206B_206A_202A_200D_202E_202A_202E_200B_200F_200E_202D_200D_206D_206F_206B_206D_202E_206B_200E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206D_206D_202D_200D_206E_200E_206C_206F_200D_202C_200B_206A_206B_202B_206F_202C_206A_200C_206C_200E_206E_202C_200B_200D_202E_202A_200E_206E_200F_202D_202E_206C_202A_202C_206D_200D_202E_202D_202C_202A_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206E_206E_202D_200F_202D_202B_200C_200E_202A_200E_202D_202D_206D_206A_206C_206A_202E_202B_200B_200F_202E_206E_200F_200E_200E_206D_206A_200C_202C_202A_200F_206A_200D_200C_200F_200B_206C_202C_202D_202B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202C_206B_200D_202D_200D_206C_206F_200B_206F_202B_202B_202B_202A_202A_200C_206F_202A_206D_200C_206B_202A_206F_206B_206D_206A_202D_206E_202A_206F_206B_202A_206D_206B_206D_206F_202E_206B_200C_202A_202C_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200C_200F_200C_200E_202D_206D_206A_200C_206E_206A_206C_200C_206C_200F_202A_206D_206D_202A_202C_206A_200E_200C_200B_202A_200D_206B_200C_202E_202B_200E_206F_206F_206F_202D_200D_200E_200C_206F_206C_200D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } } - private sealed record PluginRequirement(string GroupName, string Description, IReadOnlyList Providers, string? ConfigCommand = null, List? DetailsToCheck = null, (string Label, Uri Uri)? ExtraLink = null) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202C_206E_206A_202E_200E_206A_202D_206A_206B_206B_206B_206C_206C_202A_206B_202D_206C_202D_202B_202D_206B_206D_200D_200B_200D_206F_206B_206D_200C_206F_202C_206E_200C_202C_206B_206E_200E_206B_202B_202E(typeof(PluginRequirement).TypeHandle); - } - } + private sealed record PluginRequirement(string GroupName, string Description, IReadOnlyList Providers, string? ConfigCommand = null, List? DetailsToCheck = null, (string Label, Uri Uri)? ExtraLink = null); - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206C_206E_206A_200B_200C_206D_202B_202E_202A_202C_202B_202B_206D_206A_206A_206E_202B_200D_206E_206F_202C_206F_202C_206B_200C_202B_200B_206B_200E_206E_200B_202C_206D_202D_200B_206E_200D_200F_200E_206F_202E(); - _202B_206D_200B_200E_202E_206A_200E_200F_206F_206C_202D_200C_200C_206A_206E_200D_206E_200C_206E_206E_202C_206D_200C_202D_206D_200D_200F_206C_206F_202D_206A_202E_206A_200D_202C_202C_206B_200B_206B_206D_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(491808729)); - _202B_206D_200B_200E_202E_206A_200E_200F_206F_206C_202D_200C_200C_206A_206E_200D_206E_200C_206E_206E_202C_206D_200C_202D_206D_200D_200F_206C_206F_202D_206A_202E_206A_200D_202C_202C_206B_200B_206B_206D_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1344697862)); - int num = ((!PrintMembers(stringBuilder)) ? (-1844014661) : (-1844014662)); - while (true) - { - int num2 = num; - int num3 = -1844014661; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -1844014662; - break; - case 1: - _200D_206E_206E_202D_202D_206B_200B_206A_202C_200D_202D_200B_200C_206A_206C_200F_202D_206C_202E_202C_202E_200F_202D_206A_202B_200F_200F_202B_200F_200E_202B_202A_200E_202C_200B_202E_200C_202A_200B_202C_202E(stringBuilder, ' '); - num = -1844014661; - break; - case 0: - _200D_206E_206E_202D_202D_206B_200B_206A_202C_200D_202D_200B_200C_206A_206C_200F_202D_206C_202E_202C_202E_200F_202D_206A_202B_200F_200F_202B_200F_200E_202B_202A_200E_202C_200B_202E_200C_202A_200B_202C_202E(stringBuilder, '}'); - return _200E_200D_206D_202E_206F_202A_206B_202B_202A_200C_206D_200E_206B_200F_202E_200B_206B_200E_200F_202E_200D_206C_202C_202B_200F_202A_206A_202D_202A_206E_202A_206B_206B_202A_200D_206B_202D_202A_200D_206B_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200B_202D_200C_206A_202D_200F_206F_202B_206C_200E_202E_202C_202A_200F_206C_200B_206F_200D_206A_206B_202A_206F_206F_200D_206F_200F_200F_202E_206F_206E_202A_200E_200D_206F_200B_206B_200E_206C_206C_202E(); - _202B_206D_200B_200E_202E_206A_200E_200F_206F_206C_202D_200C_200C_206A_206E_200D_206E_200C_206E_206E_202C_206D_200C_202D_206D_200D_200F_206C_206F_202D_206A_202E_206A_200D_202C_202C_206B_200B_206B_206D_202E(builder, 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(1802003745)); - _202E_206B_200B_200F_200D_200B_202A_202E_202C_202C_206E_202A_206D_206D_206B_206D_202E_200C_202B_202C_206F_206C_200D_200D_206D_200E_200E_202E_202C_200B_206F_202A_206D_206D_200F_200D_206C_200B_200E_200F_202E(builder, (object)GroupName); - _202B_206D_200B_200E_202E_206A_200E_200F_206F_206C_202D_200C_200C_206A_206E_200D_206E_200C_206E_206E_202C_206D_200C_202D_206D_200D_200F_206C_206F_202D_206A_202E_206A_200D_202C_202C_206B_200B_206B_206D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2025676759)); - _202E_206B_200B_200F_200D_200B_202A_202E_202C_202C_206E_202A_206D_206D_206B_206D_202E_200C_202B_202C_206F_206C_200D_200D_206D_200E_200E_202E_202C_200B_206F_202A_206D_206D_200F_200D_206C_200B_200E_200F_202E(builder, (object)Description); - _202B_206D_200B_200E_202E_206A_200E_200F_206F_206C_202D_200C_200C_206A_206E_200D_206E_200C_206E_206E_202C_206D_200C_202D_206D_200D_200F_206C_206F_202D_206A_202E_206A_200D_202C_202C_206B_200B_206B_206D_202E(builder, 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(-1402204001)); - _202E_206B_200B_200F_200D_200B_202A_202E_202C_202C_206E_202A_206D_206D_206B_206D_202E_200C_202B_202C_206F_206C_200D_200D_206D_200E_200E_202E_202C_200B_206F_202A_206D_206D_200F_200D_206C_200B_200E_200F_202E(builder, (object)Providers); - _202B_206D_200B_200E_202E_206A_200E_200F_206F_206C_202D_200C_200C_206A_206E_200D_206E_200C_206E_206E_202C_206D_200C_202D_206D_200D_200F_206C_206F_202D_206A_202E_206A_200D_202C_202C_206B_200B_206B_206D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1430915318)); - _202E_206B_200B_200F_200D_200B_202A_202E_202C_202C_206E_202A_206D_206D_206B_206D_202E_200C_202B_202C_206F_206C_200D_200D_206D_200E_200E_202E_202C_200B_206F_202A_206D_206D_200F_200D_206C_200B_200E_200F_202E(builder, (object)ConfigCommand); - _202B_206D_200B_200E_202E_206A_200E_200F_206F_206C_202D_200C_200C_206A_206E_200D_206E_200C_206E_206E_202C_206D_200C_202D_206D_200D_200F_206C_206F_202D_206A_202E_206A_200D_202C_202C_206B_200B_206B_206D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1878575073)); - _202E_206B_200B_200F_200D_200B_202A_202E_202C_202C_206E_202A_206D_206D_206B_206D_202E_200C_202B_202C_206F_206C_200D_200D_206D_200E_200E_202E_202C_200B_206F_202A_206D_206D_200F_200D_206C_200B_200E_200F_202E(builder, (object)DetailsToCheck); - _202B_206D_200B_200E_202E_206A_200E_200F_206F_206C_202D_200C_200C_206A_206E_200D_206E_200C_206E_206E_202C_206D_200C_202D_206D_200D_200F_206C_206F_202D_206A_202E_206A_200D_202C_202C_206B_200B_206B_206D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1074684730)); - _202B_206D_200B_200E_202E_206A_200E_200F_206F_206C_202D_200C_200C_206A_206E_200D_206E_200C_206E_206E_202C_206D_200C_202D_206D_200D_200F_206C_206F_202D_206A_202E_206A_200D_202C_202C_206B_200B_206B_206D_202E(builder, ExtraLink.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(PluginRequirement? other) - { - int num = (((object)this == other) ? 1323011366 : 1323011365); - while (true) - { - int num2 = num; - int num3 = 1323011363; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 8: - num = ((!_202D_206E_200F_206E_200E_200D_202B_202A_206D_200C_206D_200C_202C_200C_202D_206D_200C_206C_206C_200C_200C_200E_200E_202B_200B_202C_202B_206D_200D_200E_206C_206B_202B_202E_200E_206C_202E_202C_202D_206B_202E(EqualityContract, other.EqualityContract)) ? 1323011370 : 1323011360); - break; - case 1: - num = ((!EqualityComparer>.Default.Equals(Providers, other.Providers)) ? 1323011370 : 1323011364); - break; - case 0: - return EqualityComparer<(string, Uri)?>.Default.Equals(ExtraLink, other.ExtraLink); - case 7: - num = ((!EqualityComparer.Default.Equals(ConfigCommand, other.ConfigCommand)) ? 1323011370 : 1323011367); - break; - case 10: - num = ((!EqualityComparer.Default.Equals(Description, other.Description)) ? 1323011370 : 1323011362); - break; - case 4: - num = ((!EqualityComparer>.Default.Equals(DetailsToCheck, other.DetailsToCheck)) ? 1323011370 : 1323011363); - break; - case 5: - return true; - case 9: - return false; - case 3: - num = ((!EqualityComparer.Default.Equals(GroupName, other.GroupName)) ? 1323011370 : 1323011369); - break; - case 6: - num = (((object)other == null) ? 1323011370 : 1323011371); - break; - case 2: - num = 1323011365; - break; - } - } - } - - bool IEquatable.Equals(PluginRequirement? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202C_206E_206A_202E_200E_206A_202D_206A_206B_206B_206B_206C_206C_202A_206B_202D_206C_202D_202B_202D_206B_206D_200D_200B_200D_206F_206B_206D_200C_206F_202C_206E_200C_202C_206B_206E_200E_206B_202B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206C_206E_206A_200B_200C_206D_202B_202E_202A_202C_202B_202B_206D_206A_206A_206E_202B_200D_206E_206F_202C_206F_202C_206B_200C_202B_200B_206B_200E_206E_200B_202C_206D_202D_200B_206E_200D_200F_200E_206F_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202B_206D_200B_200E_202E_206A_200E_200F_206F_206C_202D_200C_200C_206A_206E_200D_206E_200C_206E_206E_202C_206D_200C_202D_206D_200D_200F_206C_206F_202D_206A_202E_206A_200D_202C_202C_206B_200B_206B_206D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200D_206E_206E_202D_202D_206B_200B_206A_202C_200D_202D_200B_200C_206A_206C_200F_202D_206C_202E_202C_202E_200F_202D_206A_202B_200F_200F_202B_200F_200E_202B_202A_200E_202C_200B_202E_200C_202A_200B_202C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200E_200D_206D_202E_206F_202A_206B_202B_202A_200C_206D_200E_206B_200F_202E_200B_206B_200E_200F_202E_200D_206C_202C_202B_200F_202A_206A_202D_202A_206E_202A_206B_206B_202A_200D_206B_202D_202A_200D_206B_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200B_202D_200C_206A_202D_200F_206F_202B_206C_200E_202E_202C_202A_200F_206C_200B_206F_200D_206A_206B_202A_206F_206F_200D_206F_200F_200F_202E_206F_206E_202A_200E_200D_206F_200B_206B_200E_206C_206C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202E_206B_200B_200F_200D_200B_202A_202E_202C_202C_206E_202A_206D_206D_206B_206D_202E_200C_202B_202C_206F_206C_200D_200D_206D_200E_200E_202E_202C_200B_206F_202A_206D_206D_200F_200D_206C_200B_200E_200F_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202D_206E_200F_206E_200E_200D_202B_202A_206D_200C_206D_200C_202C_200C_202D_206D_200C_206C_206C_200C_200C_200E_200E_202B_200B_202C_202B_206D_200D_200E_206C_206B_202B_202E_200E_206C_202E_202C_202D_206B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - private sealed record PluginDetailInfo(string DisplayName, string Details, Func Predicate) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200B_206F_206F_206F_206C_202C_200E_202D_202E_202C_206B_202A_200E_202D_206E_202C_200C_200E_200D_200B_206E_202B_200F_200F_206F_206A_206E_206D_202E_202A_206C_206D_202B_202C_200B_206E_200E_206D_206A_202A_202E(typeof(PluginDetailInfo).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202D_206B_200F_200C_206C_202A_200D_200E_202D_206B_202B_200F_202B_200F_200D_202C_206D_200B_206F_206F_200F_206F_206B_206F_206E_200E_206A_206C_206C_200F_206A_202A_206B_200D_206E_206B_200D_206E_200F_202D_202E(); - _200B_202A_202E_202D_206A_202C_202A_200E_206D_206E_206D_206C_200C_202C_200C_202B_202C_206B_202A_206D_206C_202B_202D_202D_200D_202A_202E_206F_202A_200E_202C_202D_206D_206B_206A_200D_200C_206B_206B_200E_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-938985440)); - _200B_202A_202E_202D_206A_202C_202A_200E_206D_206E_206D_206C_200C_202C_200C_202B_202C_206B_202A_206D_206C_202B_202D_202D_200D_202A_202E_206F_202A_200E_202C_202D_206D_206B_206A_200D_200C_206B_206B_200E_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? (-926821840) : (-926821837)); - while (true) - { - int num2 = num; - int num3 = -926821839; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _202B_206C_202E_200D_200B_200F_202C_200C_200E_200C_200D_206B_202A_206B_202E_200D_200F_206E_200D_206D_200D_206E_206A_206C_202A_206F_200C_206E_200D_200B_206E_200B_206D_206D_206F_206B_206E_202C_200B_202A_202E(stringBuilder, '}'); - return _200F_202B_206F_206C_202C_206E_202E_200F_206A_206D_200E_206F_202A_202C_200F_206A_200B_200F_202C_200F_206B_200C_202A_202C_200C_200B_202E_200C_206E_202D_200D_200F_200D_202D_206F_202A_200E_202D_202D_202D_202E((object)stringBuilder); - case 2: - _202B_206C_202E_200D_200B_200F_202C_200C_200E_200C_200D_206B_202A_206B_202E_200D_200F_206E_200D_206D_200D_206E_206A_206C_202A_206F_200C_206E_200D_200B_206E_200B_206D_206D_206F_206B_206E_202C_200B_202A_202E(stringBuilder, ' '); - num = -926821840; - break; - case 0: - num = -926821837; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202D_206D_206B_206D_202D_206C_200D_206C_202E_202B_206A_206F_206D_206C_206A_202D_202A_202D_206C_206A_206B_200F_200C_200F_202D_202D_206F_206A_200D_206C_206E_206C_206D_202B_202D_200D_206B_206F_206C_202E(); - _200B_202A_202E_202D_206A_202C_202A_200E_206D_206E_206D_206C_200C_202C_200C_202B_202C_206B_202A_206D_206C_202B_202D_202D_200D_202A_202E_206F_202A_200E_202C_202D_206D_206B_206A_200D_200C_206B_206B_200E_202E(builder, 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(-1139649280)); - _202E_206A_200C_206D_200F_202A_206C_200B_202D_206F_200D_200C_206C_200F_206D_200B_206B_202D_200C_202E_202B_206F_202C_202D_202B_202D_206B_206F_200B_206F_206B_200E_200C_200F_202A_206A_206D_206E_200B_202B_202E(builder, (object)DisplayName); - _200B_202A_202E_202D_206A_202C_202A_200E_206D_206E_206D_206C_200C_202C_200C_202B_202C_206B_202A_206D_206C_202B_202D_202D_200D_202A_202E_206F_202A_200E_202C_202D_206D_206B_206A_200D_200C_206B_206B_200E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1920135945)); - _202E_206A_200C_206D_200F_202A_206C_200B_202D_206F_200D_200C_206C_200F_206D_200B_206B_202D_200C_202E_202B_206F_202C_202D_202B_202D_206B_206F_200B_206F_206B_200E_200C_200F_202A_206A_206D_206E_200B_202B_202E(builder, (object)Details); - _200B_202A_202E_202D_206A_202C_202A_200E_206D_206E_206D_206C_200C_202C_200C_202B_202C_206B_202A_206D_206C_202B_202D_202D_200D_202A_202E_206F_202A_200E_202C_202D_206D_206B_206A_200D_200C_206B_206B_200E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1576844440)); - _202E_206A_200C_206D_200F_202A_206C_200B_202D_206F_200D_200C_206C_200F_206D_200B_206B_202D_200C_202E_202B_206F_202C_202D_202B_202D_206B_206F_200B_206F_206B_200E_200C_200F_202A_206A_206D_206E_200B_202B_202E(builder, (object)Predicate); - return true; - } - - [CompilerGenerated] - public bool Equals(PluginDetailInfo? other) - { - int num = (((object)this == other) ? 704266451 : 704266455); - while (true) - { - int num2 = num; - int num3 = 704266454; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - num = ((!_206E_206F_202B_206F_206B_200D_202A_202B_200D_202A_200C_200B_202B_200D_202B_200C_206A_200E_206E_202A_202B_200F_202B_202A_202E_202B_200F_202D_206F_206F_200D_202D_200D_200D_202C_200E_206D_202B_200F_206F_202E(EqualityContract, other.EqualityContract)) ? 704266452 : 704266454); - break; - case 4: - return EqualityComparer>.Default.Equals(Predicate, other.Predicate); - case 3: - num = 704266455; - break; - case 2: - return false; - case 7: - num = ((!EqualityComparer.Default.Equals(Details, other.Details)) ? 704266452 : 704266450); - break; - case 0: - num = ((!EqualityComparer.Default.Equals(DisplayName, other.DisplayName)) ? 704266452 : 704266449); - break; - case 5: - return true; - case 1: - num = (((object)other == null) ? 704266452 : 704266448); - break; - } - } - } - - bool IEquatable.Equals(PluginDetailInfo? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200B_206F_206F_206F_206C_202C_200E_202D_202E_202C_206B_202A_200E_202D_206E_202C_200C_200E_200D_200B_206E_202B_200F_200F_206F_206A_206E_206D_202E_202A_206C_206D_202B_202C_200B_206E_200E_206D_206A_202A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202D_206B_200F_200C_206C_202A_200D_200E_202D_206B_202B_200F_202B_200F_200D_202C_206D_200B_206F_206F_200F_206F_206B_206F_206E_200E_206A_206C_206C_200F_206A_202A_206B_200D_206E_206B_200D_206E_200F_202D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200B_202A_202E_202D_206A_202C_202A_200E_206D_206E_206D_206C_200C_202C_200C_202B_202C_206B_202A_206D_206C_202B_202D_202D_200D_202A_202E_206F_202A_200E_202C_202D_206D_206B_206A_200D_200C_206B_206B_200E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202B_206C_202E_200D_200B_200F_202C_200C_200E_200C_200D_206B_202A_206B_202E_200D_200F_206E_200D_206D_200D_206E_206A_206C_202A_206F_200C_206E_200D_200B_206E_200B_206D_206D_206F_206B_206E_202C_200B_202A_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200F_202B_206F_206C_202C_206E_202E_200F_206A_206D_200E_206F_202A_202C_200F_206A_200B_200F_202C_200F_206B_200C_202A_202C_200C_200B_202E_200C_206E_202D_200D_200F_200D_202D_206F_202A_200E_202D_202D_202D_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202D_206D_206B_206D_202D_206C_200D_206C_202E_202B_206A_206F_206D_206C_206A_202D_202A_202D_206C_206A_206B_200F_200C_200F_202D_202D_206F_206A_200D_206C_206E_206C_206D_202B_202D_200D_206B_206F_206C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202E_206A_200C_206D_200F_202A_206C_200B_202D_206F_200D_200C_206C_200F_206D_200B_206B_202D_200C_202E_202B_206F_202C_202D_202B_202D_206B_206F_200B_206F_206B_200E_200C_200F_202A_206A_206D_206E_200B_202B_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206E_206F_202B_206F_206B_200D_202A_202B_200D_202A_200C_200B_202B_200D_202B_200C_206A_200E_206E_202A_202B_200F_202B_202A_202E_202B_200F_202D_206F_206F_200D_202D_200D_200D_202C_200E_206D_202B_200F_206F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__16_0; - - public static Func _003C_003E9__19_1; - - public static Func _003C_003E9__25_0; - - public static Func _003C_003E9__35_1; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal bool _003CIsWigglyNavInstalled_003Eb__16_0(IExposedPlugin x) - { - return _206B_206F_202D_200D_206B_202D_206B_206D_202A_200C_200E_206A_200B_200D_202B_200E_202E_206F_206F_202C_202D_206D_200D_200B_202E_200B_200E_206C_200B_200B_206B_206F_200F_200C_202D_200E_206D_206C_200E_200F_202E(_200B_200B_206C_206D_202A_206E_202C_202E_200E_206D_200E_202E_200D_202B_200B_206E_202B_200E_206D_206E_202A_206F_202C_202D_200C_200D_200D_200C_200F_200C_202C_206C_206F_202D_202E_206C_206D_200D_200E_202C_202E(x), 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(-1828301953)); - } - - internal string _003CDetectIpcConflicts_003Eb__19_1(PluginProvider p) - { - return p.DisplayName; - } - - internal bool _003CDrawRequirementExtras_003Eb__25_0(PluginDetailInfo d) - { - return !d.Predicate(); - } - - internal bool _003C_002Ecctor_003Eb__35_0(PluginRequirement g) - { - return g.Providers.Select((PluginProvider p) => p.InternalName).Distinct().Count() > 1; - } - - internal string _003C_002Ecctor_003Eb__35_1(PluginProvider p) - { - return p.InternalName; - } - - static string _200B_200B_206C_206D_202A_206E_202C_202E_200E_206D_200E_202E_200D_202B_200B_206E_202B_200E_206D_206E_202A_206F_202C_202D_200C_200D_200D_200C_200F_200C_202C_206C_206F_202D_202E_206C_206D_200D_200E_202C_202E(IExposedPlugin P_0) - { - return P_0.InternalName; - } - - static bool _206B_206F_202D_200D_206B_202D_206B_206D_202A_200C_200E_206A_200B_200D_202B_200E_202E_206F_206F_202C_202D_206D_200D_200B_202E_200B_200E_206C_200B_200B_206B_206F_200F_200C_202D_200E_206D_206C_200E_200F_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass17_0 - { - public PluginProvider provider; - - internal bool _003CFindProvider_003Eb__0(IExposedPlugin x) - { - return _206D_206A_200F_202E_206E_206D_202B_200D_206D_200D_202E_200D_202E_200D_206A_200C_206A_200D_202D_206A_206B_202B_200F_200C_202D_206A_200E_200F_206E_206D_202E_202D_202C_202C_206C_206E_206B_200C_206D_206C_202E(_200D_202A_206B_206F_200D_200D_206F_206F_206B_200F_202A_206E_200E_206C_206F_206C_200F_206C_202C_206E_202B_200B_200E_206E_206B_206B_202B_206F_200B_206C_200B_206C_206C_200E_200C_202E_200B_200C_206C_202E(x), provider.InternalName); - } - - static string _200D_202A_206B_206F_200D_200D_206F_206F_206B_200F_202A_206E_200E_206C_206F_206C_200F_206C_202C_206E_202B_200B_200E_206E_206B_206B_202B_206F_200B_206C_200B_206C_206C_200E_200C_202E_200B_200C_206C_202E(IExposedPlugin P_0) - { - return P_0.InternalName; - } - - static bool _206D_206A_200F_202E_206E_206D_202B_200D_206D_200D_202E_200D_202E_200D_206A_200C_206A_200D_202D_206A_206B_202B_200F_200C_202D_206A_200E_200F_206E_206D_202E_202D_202C_202C_206C_206E_206B_200C_206D_206C_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - } + private sealed record PluginDetailInfo(string DisplayName, string Details, Func Predicate); private const string WigglyNavInternalName = "WigglyNav"; - private static readonly IReadOnlyList RequiredPlugins = new global::_003C_003Ez__ReadOnlySingleElementList(new PluginRequirement(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(-2126151179), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1867946866), new global::_003C_003Ez__ReadOnlySingleElementList(new PluginProvider(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1911109856), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(206151933), _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1266471292)), _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2081357902)), new global::_003C_003Ez__ReadOnlyArray(new Uri[3] + private static readonly IReadOnlyList RequiredPlugins = new global::_003C_003Ez__ReadOnlySingleElementList(new PluginRequirement("Quest Progression", "Automatically accepts and turns in quests, skips cutscenes and dialogue.", new global::_003C_003Ez__ReadOnlySingleElementList(new PluginProvider("TextAdvance", "TextAdvance", new Uri("https://github.com/NightmareXIV/TextAdvance"), new Uri("https://github.com/NightmareXIV/MyDalamudPlugins/raw/main/pluginmaster.json"), new global::_003C_003Ez__ReadOnlyArray(new Uri[3] { - _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1167214966)), - _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_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(298695425)), - _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_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(1869783894)) + new Uri("https://raw.githubusercontent.com/NightmareXIV/MyDalamudPlugins/main/pluginmaster.json"), + new Uri("https://github.com/NightmareXIV/MyDalamudPlugins/raw/refs/heads/main/pluginmaster.json"), + new Uri("https://raw.githubusercontent.com/NightmareXIV/MyDalamudPlugins/refs/heads/main/pluginmaster.json") }))))); private static readonly ReadOnlyDictionary NavigationPlugins = new Dictionary { { Questionable.Configuration.ENavigationProvider.Vnavmesh, - new PluginRequirement(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1295043937), string.Empty, new global::_003C_003Ez__ReadOnlySingleElementList(new PluginProvider(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(281533512), 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(281533512), _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1906606559)), _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(662598880))))) + new PluginRequirement("vnavmesh", string.Empty, new global::_003C_003Ez__ReadOnlySingleElementList(new PluginProvider("vnavmesh", "vnavmesh", new Uri("https://github.com/awgil/ffxiv_navmesh/"), new Uri("https://puni.sh/api/repository/veyn")))) }, { Questionable.Configuration.ENavigationProvider.WigglyNav, - new PluginRequirement(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1161359100), string.Empty, new global::_003C_003Ez__ReadOnlySingleElementList(new PluginProvider(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1161359100), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1385994134), _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-667911163)), null))) + new PluginRequirement("WigglyNav", string.Empty, new global::_003C_003Ez__ReadOnlySingleElementList(new PluginProvider("WigglyNav", "WigglyNav", new Uri("https://github.com/WigglyMuffin/WigglyNav"), null))) }, { Questionable.Configuration.ENavigationProvider.WigglyNavShim, - new PluginRequirement(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1024141751), string.Empty, new global::_003C_003Ez__ReadOnlySingleElementList(new PluginProvider(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(400780601), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(400780601), _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_202E(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(1876532187)), null))) + new PluginRequirement("WigglyNav (shim)", string.Empty, new global::_003C_003Ez__ReadOnlySingleElementList(new PluginProvider("WigglyNav", "WigglyNav", new Uri("https://github.com/WigglyMuffin/WigglyNav"), null))) } }.AsReadOnly(); @@ -612,19 +90,19 @@ internal sealed class PluginConfigComponent : ConfigComponent { { Questionable.Configuration.ECombatModule.BossMod, - new PluginRequirement(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(-482524518), string.Empty, new global::_003C_003Ez__ReadOnlyArray(new PluginProvider[2] + new PluginRequirement("Boss Mod", string.Empty, new global::_003C_003Ez__ReadOnlyArray(new PluginProvider[2] { - new PluginProvider(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(-482524518), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(650557213), _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1518653891)), _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(662598880))), - new PluginProvider(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2108181002), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(203874627), _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1646384355)), _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1536677423))) + new PluginProvider("Boss Mod", "BossMod", new Uri("https://github.com/awgil/ffxiv_bossmod"), new Uri("https://puni.sh/api/repository/veyn")), + new PluginProvider("Boss Mod Reborn", "BossModReborn", new Uri("https://github.com/FFXIV-CombatReborn/BossmodReborn"), new Uri("https://raw.githubusercontent.com/FFXIV-CombatReborn/CombatRebornRepo/main/pluginmaster.json")) })) }, { Questionable.Configuration.ECombatModule.RotationSolverReborn, - new PluginRequirement(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1544788976), string.Empty, new global::_003C_003Ez__ReadOnlySingleElementList(new PluginProvider(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(465473234), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1992835172), _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_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(-187382835)), _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1536677423))))) + new PluginRequirement("Rotation Solver Reborn", string.Empty, new global::_003C_003Ez__ReadOnlySingleElementList(new PluginProvider("Rotation Solver Reborn", "RotationSolver", new Uri("https://github.com/FFXIV-CombatReborn/RotationSolverReborn"), new Uri("https://raw.githubusercontent.com/FFXIV-CombatReborn/CombatRebornRepo/main/pluginmaster.json")))) }, { Questionable.Configuration.ECombatModule.WrathCombo, - new PluginRequirement(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(2115595372), string.Empty, new global::_003C_003Ez__ReadOnlySingleElementList(new PluginProvider(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(2115595372), 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(185841736), _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_202E(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(-352805072)), _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-603623577)), new global::_003C_003Ez__ReadOnlySingleElementList(_206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_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(342901462)))))) + new PluginRequirement("Wrath Combo", string.Empty, new global::_003C_003Ez__ReadOnlySingleElementList(new PluginProvider("Wrath Combo", "WrathCombo", new Uri("https://github.com/PunishXIV/WrathCombo"), new Uri("https://puni.sh/api/plugins"), new global::_003C_003Ez__ReadOnlySingleElementList(new Uri("https://love.puni.sh/ment.json"))))) } }.AsReadOnly(); @@ -648,7 +126,6 @@ internal sealed class PluginConfigComponent : ConfigComponent where g.Providers.Select((PluginProvider p) => p.InternalName).Distinct().Count() > 1 select g).ToList(); - [MethodImpl(MethodImplOptions.NoInlining)] public PluginConfigComponent(IDalamudPluginInterface pluginInterface, Configuration configuration, CombatController combatController, UiUtils uiUtils, ICommandManager commandManager, PluginInstaller installer, WigglyNavAvailability wigglyNavAvailability) : base(pluginInterface, configuration) { @@ -661,38 +138,20 @@ internal sealed class PluginConfigComponent : ConfigComponent _wigglyNavAvailability = wigglyNavAvailability; _recommendedPlugins = new global::_003C_003Ez__ReadOnlyArray(new PluginRequirement[3] { - new PluginRequirement(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2126863120), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(601551502), new global::_003C_003Ez__ReadOnlySingleElementList(new PluginProvider(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-650563733), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2126863120), _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_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(-1492895404)), _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-864989238)), new global::_003C_003Ez__ReadOnlySingleElementList(_206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1195205762)))))), - new PluginRequirement(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(-1920887579), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1351416667), new global::_003C_003Ez__ReadOnlySingleElementList(new PluginProvider(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-448079343), 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(738617192), _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1537134691)), _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1378351879)))), null, null, (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(-1868722484), _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(584426194)))), - new PluginRequirement(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(-1791927627), 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(837994430), new global::_003C_003Ez__ReadOnlySingleElementList(new PluginProvider(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(-1791927627), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1606149705), _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1945842408)), _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_202E(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(-581699999)), new global::_003C_003Ez__ReadOnlySingleElementList(_206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_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(342901462)))))) + new PluginRequirement("Artisan", "Handles automatic crafting for quests that require crafted items.", new global::_003C_003Ez__ReadOnlySingleElementList(new PluginProvider("Artisan", "Artisan", new Uri("https://github.com/PunishXIV/Artisan"), new Uri("https://puni.sh/api/plugins"), new global::_003C_003Ez__ReadOnlySingleElementList(new Uri("https://love.puni.sh/ment.json"))))), + new PluginRequirement("AutoDuty", "Automatically handles dungeon and trial completion during Main Scenario Quest progression.", new global::_003C_003Ez__ReadOnlySingleElementList(new PluginProvider("AutoDuty", "AutoDuty", new Uri("https://github.com/erdelf/AutoDuty"), new Uri("https://puni.sh/api/repository/erdelf"))), null, null, ("Duty Spreadsheet", new Uri("https://docs.google.com/spreadsheets/d/151RlpqRcCpiD_VbQn6Duf-u-S71EP7d0mx3j1PDNoNA/edit?pli=1#gid=0"))), + new PluginRequirement("AutoHook", "Handles automatic fishing for Fisher class quests.", new global::_003C_003Ez__ReadOnlySingleElementList(new PluginProvider("AutoHook", "AutoHook", new Uri("https://github.com/PunishXIV/AutoHook"), new Uri("https://puni.sh/api/plugins"), new global::_003C_003Ez__ReadOnlySingleElementList(new Uri("https://love.puni.sh/ment.json"))))) }); } - [MethodImpl(MethodImplOptions.NoInlining)] public override void DrawTab() { - int num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Hammer, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1442225123))) ? 625860852 : 625860853); - while (true) + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Hammer, "Re-run setup wizard")) { - int num2 = num; - int num3 = 625860852; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - { - _202B_206D_206D_202C_200F_200E_200B_202D_200C_206A_206C_202A_206F_202C_206B_200C_202A_202E_200B_202C_200C_200E_206A_206A_202C_202D_200F_206D_206D_200F_206F_202C_200F_200F_206F_202B_202C_206B_202A_200F_202E(); - DrawSections(useCards: true, out var _); - return; - } - case 1: - _200F_206F_200D_206E_202A_206F_206D_206B_202C_202B_200D_206C_206C_200C_202A_206A_206C_206F_200B_202E_200B_202C_200C_206C_206C_206F_206A_200E_206C_200B_200D_206D_206A_206A_206E_202E_202C_202B_206D_202B_202E(_commandManager, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-262766157)); - num = 625860852; - break; - case 2: - num = 625860853; - break; - } + _commandManager.ProcessCommand("/qst setup"); } + ImGui.Spacing(); + DrawSections(useCards: true, out var _); } public void Draw(out bool allRequiredInstalled) @@ -700,2262 +159,580 @@ internal sealed class PluginConfigComponent : ConfigComponent DrawSections(useCards: false, out allRequiredInstalled); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawSections(bool useCards, out bool allRequiredInstalled) { - IDisposable disposable = _202B_200F_200B_200E_206F_200D_202D_206C_202A_202D_202E_202D_206D_206E_206A_200D_200C_200F_206A_200D_200C_202A_206A_202A_202E_200C_206F_200B_206A_200D_202B_202C_202E_202A_206C_202A_202C_202C_202C_206E_202E(_202D_202D_202E_200B_200C_200B_206D_202C_200D_206C_206A_202B_200E_206F_206B_200C_206A_206A_206D_202E_202D_200E_202A_200D_200E_202D_202E_206F_202B_200E_202E_200E_206A_202A_206D_206E_206A_206D_206E_202E_202E(_202C_202B_200D_202D_202B_202B_206F_200C_202C_200F_200F_200B_206A_206F_206F_202C_206C_202E_206C_206B_200E_200F_206C_200D_206B_206D_200D_202A_200D_206E_202D_206B_202E_206E_202B_200E_206C_200D_200C_206C_202E(_pluginInterface))); float checklistPadding; - int num; - try + using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push()) { - checklistPadding = _200D_206F_206D_206A_202E_200E_202E_202C_200F_202C_206E_206C_202C_202B_200E_202C_200B_202B_206D_202B_202A_206A_206D_200B_202B_206F_206D_206C_200D_202C_200B_202C_206C_206C_202B_200B_202C_202C_202C_200F_202E((ImU8String)_206A_202B_202C_200D_206D_206B_200F_206C_206E_200C_200E_200F_206E_206D_200D_202C_202C_206F_206C_200C_206C_202B_202A_206F_200D_206B_202A_200C_206B_200E_200C_200E_200B_202A_206F_206A_206B_202E_200D_206A_202E(FontAwesomeIcon.Check), false, -1f).X + _206A_206C_200E_200D_202D_202E_202C_200B_206E_200B_200B_206F_200D_202E_200B_200E_200C_202E_206D_200D_200C_206C_200C_202C_200E_200D_206F_202D_202E_206A_206B_206E_206F_200B_202A_200C_202B_202C_200F_206B_202E().ItemSpacing.X; - } - finally - { - num = ((disposable == null) ? (-778211204) : (-778211201)); - while (true) - { - int num2 = num; - int num3 = -778211203; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -778211201; - break; - case 2: - _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E(disposable); - num = -778211204; - break; - case 1: - goto end_IL_0074; - } - continue; - end_IL_0074: - break; - } + checklistPadding = ImGui.CalcTextSize(FontAwesomeIcon.Check.ToIconString()).X + ImGui.GetStyle().ItemSpacing.X; } allRequiredInstalled = true; - Header(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(-581863990)); - num = (useCards ? (-632762949) : (-632762952)); - Vector2 contentStartPos3 = default(Vector2); - float availableWidth3 = default(float); - ImDrawListPtr drawList3 = default(ImDrawListPtr); - Vector2 contentStartPos2 = default(Vector2); - float availableWidth2 = default(float); - ImDrawListPtr drawList2 = default(ImDrawListPtr); - Vector2 contentStartPos = default(Vector2); - float availableWidth = default(float); - ImDrawListPtr drawList = default(ImDrawListPtr); - while (true) + Header("Required"); + Vector2 contentStartPos; + float availableWidth; + ImDrawListPtr drawList; + if (useCards) { - int num7 = num; - int num3 = -632762949; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) + (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); + } + else + { + contentStartPos = default(Vector2); + availableWidth = 0f; + drawList = default(ImDrawListPtr); + } + foreach (PluginRequirement requiredPlugin in RequiredPlugins) + { + allRequiredInstalled &= DrawRequirement(requiredPlugin, checklistPadding); + } + allRequiredInstalled &= DrawNavigationSelection(checklistPadding); + if (useCards) + { + UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); + } + Between(); + Header("Combat Plugin"); + Vector2 contentStartPos2; + float availableWidth2; + ImDrawListPtr drawList2; + if (useCards) + { + (contentStartPos2, availableWidth2, drawList2) = UiThemeUtils.BeginCard(); + } + else + { + contentStartPos2 = default(Vector2); + availableWidth2 = 0f; + drawList2 = default(ImDrawListPtr); + } + using (ImRaii.Disabled(_combatController.IsRunning)) + { + if (ImGui.RadioButton("No rotation/combat plugin (combat must be done manually)", _configuration.General.CombatModule == Questionable.Configuration.ECombatModule.None)) { - case 2: - num = -632762952; - break; - case 0: - { - (Vector2, float, ImDrawListPtr) tuple = UiThemeUtils.BeginCard(); - contentStartPos3 = tuple.Item1; - availableWidth3 = tuple.Item2; - drawList3 = tuple.Item3; - num = -632762950; - break; - } - case 3: - contentStartPos3 = default(Vector2); - availableWidth3 = 0f; - drawList3 = default(ImDrawListPtr); - num = -632762950; - break; - case 1: - { - IEnumerator enumerator = RequiredPlugins.GetEnumerator(); - try - { - num = 1214490098; - while (true) - { - int num8 = num; - num3 = 1214490099; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1214490098; - break; - case 2: - { - PluginRequirement current = enumerator.Current; - allRequiredInstalled &= DrawRequirement(current, checklistPadding); - num = 1214490098; - break; - } - case 1: - num = (_206F_202E_200C_202D_206F_206D_202D_202C_206D_200B_202D_202A_202D_202D_202C_200C_206B_206E_206C_200E_206D_206D_202E_206C_206D_206B_200F_200C_200E_206A_200F_202E_202C_200E_200E_206A_206E_200B_200B_202C_202E((IEnumerator)enumerator) ? 1214490097 : 1214490096); - break; - case 3: - goto end_IL_019d; - } - continue; - end_IL_019d: - break; - } - } - finally - { - num = ((enumerator == null) ? (-986240802) : (-986240801)); - while (true) - { - int num9 = num; - num3 = -986240802; - num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 2: - num = -986240801; - break; - case 1: - _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E((IDisposable)enumerator); - num = -986240802; - break; - case 0: - goto end_IL_0244; - } - continue; - end_IL_0244: - break; - } - } - allRequiredInstalled &= DrawNavigationSelection(checklistPadding); - num = ((!useCards) ? (-393044439) : (-393044438)); - while (true) - { - int num12 = num; - num3 = -393044440; - num4 = num12; - int num13 = num4 + num3; - int num14 = num4 & num3; - switch (num13 - (num14 + num14)) - { - case 4: - contentStartPos2 = default(Vector2); - availableWidth2 = 0f; - drawList2 = default(ImDrawListPtr); - num = -393044437; - break; - case 2: - UiThemeUtils.EndCard(contentStartPos3, availableWidth3, drawList3); - num = -393044439; - break; - case 5: - { - (Vector2, float, ImDrawListPtr) tuple = UiThemeUtils.BeginCard(); - contentStartPos2 = tuple.Item1; - availableWidth2 = tuple.Item2; - drawList2 = tuple.Item3; - num = -393044437; - break; - } - case 1: - Between(); - Header(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(347553613)); - num = (useCards ? (-393044435) : (-393044436)); - break; - case 0: - num = -393044438; - break; - case 3: - { - ImRaii.DisabledDisposable disabledDisposable = _206C_202C_206D_206B_202B_206A_202D_202D_202B_206B_202C_202E_206C_206D_202A_206B_206E_202C_200E_202C_202D_200E_206B_202D_202E_206F_202C_206D_206E_206B_200C_202A_202A_206E_202A_200F_200F_200E_206A_200E_202E(_combatController.IsRunning); - try - { - num = ((!_206B_206F_200E_200B_202D_202D_206E_206B_202D_200F_206B_206A_206A_206E_202E_200B_206B_206B_206F_200F_200C_206C_200C_200B_202C_202B_206B_200F_206E_200B_206D_200D_202B_200C_200F_206A_200B_206B_202A_200E_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1532757094), _configuration.General.CombatModule == Questionable.Configuration.ECombatModule.None)) ? (-1771590171) : (-1771590170)); - while (true) - { - int num15 = num; - num3 = -1771590169; - num4 = num15; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1771590170; - break; - case 1: - _configuration.General.CombatModule = Questionable.Configuration.ECombatModule.None; - _206D_206D_206A_200F_202E_200B_202E_206C_206A_206E_206D_202C_202C_206C_202A_206D_202A_202B_206D_200C_200E_206B_202C_202C_200B_206B_202E_206B_206B_206B_202C_202B_200B_206F_200C_200D_206B_200F_202A_202C_202E(_pluginInterface, (IPluginConfiguration)_configuration); - num = -1771590171; - break; - case 2: - allRequiredInstalled &= DrawCombatPlugin(Questionable.Configuration.ECombatModule.BossMod, checklistPadding); - allRequiredInstalled &= DrawCombatPlugin(Questionable.Configuration.ECombatModule.RotationSolverReborn, checklistPadding); - allRequiredInstalled &= DrawCombatPlugin(Questionable.Configuration.ECombatModule.WrathCombo, checklistPadding); - goto end_IL_0400; - } - continue; - end_IL_0400: - break; - } - } - finally - { - num = ((disabledDisposable == null) ? 1592385881 : 1592385880); - while (true) - { - int num16 = num; - num3 = 1592385881; - num4 = num16; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1592385880; - break; - case 1: - _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E((IDisposable)disabledDisposable); - num = 1592385881; - break; - case 0: - goto end_IL_04b1; - } - continue; - end_IL_04b1: - break; - } - } - num = ((!useCards) ? (-1596913669) : (-1596913672)); - while (true) - { - int num17 = num; - num3 = -1596913669; - num4 = num17; - int num18 = num4 + num3; - int num19 = num4 & num3; - switch (num18 - (num19 + num19)) - { - case 5: - num = -1596913672; - break; - case 0: - Between(); - Header(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(991584144)); - num = (useCards ? (-1596913665) : (-1596913670)); - break; - case 1: - contentStartPos = default(Vector2); - availableWidth = 0f; - drawList = default(ImDrawListPtr); - num = -1596913671; - break; - case 3: - UiThemeUtils.EndCard(contentStartPos2, availableWidth2, drawList2); - num = -1596913669; - break; - case 4: - { - (Vector2, float, ImDrawListPtr) tuple = UiThemeUtils.BeginCard(); - contentStartPos = tuple.Item1; - availableWidth = tuple.Item2; - drawList = tuple.Item3; - num = -1596913671; - break; - } - case 2: - enumerator = _recommendedPlugins.GetEnumerator(); - try - { - num = 150201408; - while (true) - { - int num20 = num; - num3 = 150201409; - num4 = num20; - int num21 = num4 + num3; - int num22 = num4 & num3; - switch (num21 - (num22 + num22)) - { - case 3: - num = 150201408; - break; - case 1: - num = (_206F_202E_200C_202D_206F_206D_202D_202C_206D_200B_202D_202A_202D_202D_202C_200C_206B_206E_206C_200E_206D_206D_202E_206C_206D_206B_200F_200C_200E_206A_200F_202E_202C_200E_200E_206A_206E_200B_200B_202C_202E((IEnumerator)enumerator) ? 150201411 : 150201409); - break; - case 2: - { - PluginRequirement current2 = enumerator.Current; - DrawRequirement(current2, checklistPadding); - num = 150201408; - break; - } - case 0: - goto end_IL_0622; - } - continue; - end_IL_0622: - break; - } - } - finally - { - num = ((enumerator == null) ? (-54325925) : (-54325928)); - while (true) - { - int num23 = num; - num3 = -54325926; - num4 = num23; - int num24 = num4 + num3; - int num25 = num4 & num3; - switch (num24 - (num25 + num25)) - { - case 0: - num = -54325928; - break; - case 2: - _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E((IDisposable)enumerator); - num = -54325925; - break; - case 1: - goto end_IL_06c7; - } - continue; - end_IL_06c7: - break; - } - } - num = ((!useCards) ? (-1546763573) : (-1546763570)); - while (true) - { - int num26 = num; - num3 = -1546763573; - num4 = num26; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - Status(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(919027909), UiThemeUtils.StatusLocked, FontAwesomeIcon.ExclamationTriangle); - num = -1546763572; - break; - case 3: - Status(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-385107803), UiThemeUtils.StatusComplete, FontAwesomeIcon.CheckCircle); - num = -1546763572; - break; - case 5: - UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); - num = -1546763573; - break; - case 2: - num = -1546763570; - break; - case 0: - num = ((!useCards) ? (-1546763574) : (-1546763571)); - break; - case 1: - num = ((!allRequiredInstalled) ? (-1546763569) : (-1546763576)); - break; - case 6: - UiThemeUtils.SectionSpacing(); - num = -1546763574; - break; - case 7: - { - using List.Enumerator enumerator2 = DetectIpcConflicts().GetEnumerator(); - num = 2070589958; - while (true) - { - int num27 = num; - num3 = 2070589958; - num4 = num27; - int num28 = num4 + num3; - int num29 = num4 & num3; - switch (num28 - (num29 + num29)) - { - case 2: - num = 2070589958; - break; - case 3: - Status(enumerator2.Current, UiThemeUtils.StatusActive, FontAwesomeIcon.ExclamationTriangle); - num = 2070589958; - break; - case 0: - num = (enumerator2.MoveNext() ? 2070589957 : 2070589959); - break; - case 1: - return; - } - } - } - } - } - } - } - } - } - } - } + _configuration.General.CombatModule = Questionable.Configuration.ECombatModule.None; + _pluginInterface.SavePluginConfig(_configuration); } + allRequiredInstalled &= DrawCombatPlugin(Questionable.Configuration.ECombatModule.BossMod, checklistPadding); + allRequiredInstalled &= DrawCombatPlugin(Questionable.Configuration.ECombatModule.RotationSolverReborn, checklistPadding); + allRequiredInstalled &= DrawCombatPlugin(Questionable.Configuration.ECombatModule.WrathCombo, checklistPadding); + } + if (useCards) + { + UiThemeUtils.EndCard(contentStartPos2, availableWidth2, drawList2); + } + Between(); + Header("Recommended"); + Vector2 contentStartPos3; + float availableWidth3; + ImDrawListPtr drawList3; + if (useCards) + { + (contentStartPos3, availableWidth3, drawList3) = UiThemeUtils.BeginCard(); + } + else + { + contentStartPos3 = default(Vector2); + availableWidth3 = 0f; + drawList3 = default(ImDrawListPtr); + } + foreach (PluginRequirement recommendedPlugin in _recommendedPlugins) + { + DrawRequirement(recommendedPlugin, checklistPadding); + } + if (useCards) + { + UiThemeUtils.EndCard(contentStartPos3, availableWidth3, drawList3); + } + if (useCards) + { + UiThemeUtils.SectionSpacing(); + } + if (allRequiredInstalled) + { + Status("All required plugins installed", UiThemeUtils.StatusComplete, FontAwesomeIcon.CheckCircle); + } + else + { + Status("Required plugins missing", UiThemeUtils.StatusLocked, FontAwesomeIcon.ExclamationTriangle); + } + foreach (string item in DetectIpcConflicts()) + { + Status(item, UiThemeUtils.StatusActive, FontAwesomeIcon.ExclamationTriangle); } void Between() { - int num30 = ((!useCards) ? 356309127 : 356309124); - while (true) + if (useCards) { - int num31 = num30; - int num32 = 356309126; - int num33 = num31; - switch ((num33 | num32) - (num33 & num32)) - { - case 1: - _202B_206D_206D_202C_200F_200E_200B_202D_200C_206A_206C_202A_206F_202C_206B_200C_202A_202E_200B_202C_200C_200E_206A_206A_202C_202D_200F_206D_206D_200F_206F_202C_200F_200F_206F_202B_202C_206B_202A_200F_202E(); - _206D_206B_206A_202D_200E_202E_206D_200E_200E_200D_206B_206D_206C_206A_200D_206B_206D_206F_206F_200B_200F_206A_200F_202E_202C_206B_200C_206A_206B_200F_202D_200E_206F_202E_202A_202D_202E_200D_202A_202C_202E(); - _202B_206D_206D_202C_200F_200E_200B_202D_200C_206A_206C_202A_206F_202C_206B_200C_202A_202E_200B_202C_200C_200E_206A_206A_202C_202D_200F_206D_206D_200F_206F_202C_200F_200F_206F_202B_202C_206B_202A_200F_202E(); - return; - case 2: - UiThemeUtils.SectionSpacing(); - return; - case 0: - goto IL_005c; - } - continue; - IL_005c: - num30 = 356309124; + UiThemeUtils.SectionSpacing(); + } + else + { + ImGui.Spacing(); + ImGui.Separator(); + ImGui.Spacing(); } } void Header(string title) { - int num30 = ((!useCards) ? 937347689 : 937347688); - while (true) + if (useCards) { - int num31 = num30; - int num32 = 937347689; - int num33 = num31; - switch ((num33 | num32) - (num33 & num32)) - { - case 2: - goto IL_0046; - case 0: - _206F_206D_206A_202E_200F_200F_206F_206D_200C_200F_206E_202C_202D_200F_200D_200F_200B_206C_206B_202B_200F_200C_206F_202A_206B_206F_202D_200D_202B_206F_202E_206E_202A_202C_202D_206F_206F_200B_202C_200E_202E((ImU8String)title); - _202B_206D_206D_202C_200F_200E_200B_202D_200C_206A_206C_202A_206F_202C_206B_200C_202A_202E_200B_202C_200C_200E_206A_206A_202C_202D_200F_206D_206D_200F_206F_202C_200F_200F_206F_202B_202C_206B_202A_200F_202E(); - return; - case 1: - UiThemeUtils.SectionHeader(title); - return; - } - continue; - IL_0046: - num30 = 937347688; + UiThemeUtils.SectionHeader(title); + } + else + { + ImGui.TextDisabled(title); + ImGui.Spacing(); } } void Status(string text, Vector4 color, FontAwesomeIcon icon) { - int num30 = ((!useCards) ? (-2098713833) : (-2098713834)); - while (true) + if (useCards) { - int num31 = num30; - int num32 = -2098713833; - int num33 = num31; - switch ((num33 | num32) - (num33 & num32)) - { - case 2: - goto IL_0046; - case 0: - _202B_206D_206D_202C_200F_200E_200B_202D_200C_206A_206C_202A_206F_202C_206B_200C_202A_202E_200B_202C_200C_200E_206A_206A_202C_202D_200F_206D_206D_200F_206F_202C_200F_200F_206F_202B_202C_206B_202A_200F_202E(); - UiThemeUtils.StatusBadge(text, color, icon); - return; - case 1: - UiThemeUtils.StatusBanner(text, color, icon); - return; - } - continue; - IL_0046: - num30 = -2098713834; + UiThemeUtils.StatusBanner(text, color, icon); + } + else + { + ImGui.Spacing(); + UiThemeUtils.StatusBadge(text, color, icon); } } } private bool IsWigglyNavInstalled() { - return _200B_200F_202C_200B_206D_206F_202A_202E_202E_202A_202A_202C_200C_206F_202B_200F_206E_206B_200B_200D_200F_200D_206D_206E_202C_202E_206F_200F_200D_206E_206C_202C_206A_202D_206F_206D_200E_206F_206D_202A_202E(_pluginInterface).Any([MethodImpl(MethodImplOptions.NoInlining)] (IExposedPlugin x) => _003C_003Ec._206B_206F_202D_200D_206B_202D_206B_206D_202A_200C_200E_206A_200B_200D_202B_200E_202E_206F_206F_202C_202D_206D_200D_200B_202E_200B_200E_206C_200B_200B_206B_206F_200F_200C_202D_200E_206D_206C_200E_200F_202E(_003C_003Ec._200B_200B_206C_206D_202A_206E_202C_202E_200E_206D_200E_202E_200D_202B_200B_206E_202B_200E_206D_206E_202A_206F_202C_202D_200C_200D_200D_200C_200F_200C_202C_206C_206F_202D_202E_206C_206D_200D_200E_202C_202E(x), 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(-1828301953))); + return _pluginInterface.InstalledPlugins.Any((IExposedPlugin x) => x.InternalName == "WigglyNav"); } private IExposedPlugin? FindProvider(PluginProvider provider) { - return _200B_200F_202C_200B_206D_206F_202A_202E_202E_202A_202A_202C_200C_206F_202B_200F_206E_206B_200B_200D_200F_200D_206D_206E_202C_202E_206F_200F_200D_206E_206C_202C_206A_202D_206F_206D_200E_206F_206D_202A_202E(_pluginInterface).FirstOrDefault((IExposedPlugin x) => _003C_003Ec__DisplayClass17_0._206D_206A_200F_202E_206E_206D_202B_200D_206D_200D_202E_200D_202E_200D_206A_200C_206A_200D_202D_206A_206B_202B_200F_200C_202D_206A_200E_200F_206E_206D_202E_202D_202C_202C_206C_206E_206B_200C_206D_206C_202E(_003C_003Ec__DisplayClass17_0._200D_202A_206B_206F_200D_200D_206F_206F_206B_200F_202A_206E_200E_206C_206F_206C_200F_206C_202C_206E_202B_200B_200E_206E_206B_206B_202B_206F_200B_206C_200B_206C_206C_200E_200C_202E_200B_200C_206C_202E(x), provider.InternalName)); + return _pluginInterface.InstalledPlugins.FirstOrDefault((IExposedPlugin x) => x.InternalName == provider.InternalName); } - [MethodImpl(MethodImplOptions.NoInlining)] private List DetectIpcConflicts() { List list = new List(); - IEnumerator enumerator = ConflictEligibleGroups.GetEnumerator(); - try + foreach (PluginRequirement conflictEligibleGroup in ConflictEligibleGroups) { - int num = -1006735350; - List list2 = default(List); - while (true) + List list2 = (from p in conflictEligibleGroup.Providers + where FindProvider(p)?.IsLoaded ?? false + select p.DisplayName).ToList(); + if (list2.Count > 1) { - int num2 = num; - int num3 = -1006735350; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = (_206F_202E_200C_202D_206F_206D_202D_202C_206D_200B_202D_202A_202D_202D_202C_200C_206B_206E_206C_200E_206D_206D_202E_206C_206D_206B_200F_200C_200E_206A_200F_202E_202C_200E_200E_206A_206E_200B_200B_202C_202E((IEnumerator)enumerator) ? (-1006735349) : (-1006735352)); - break; - case 1: - list2 = (from p in enumerator.Current.Providers.Where(delegate(PluginProvider p) - { - IExposedPlugin exposedPlugin = FindProvider(p); - int num8 = ((exposedPlugin == null) ? (-1051625553) : (-1051625556)); - while (true) - { - int num9 = num8; - int num10 = -1051625555; - int num11 = num9; - int num12 = num11 + num10; - int num13 = num11 & num10; - switch (num12 - (num13 + num13)) - { - case 0: - goto IL_004b; - case 1: - return _206B_200E_202B_200C_206B_202C_206F_206B_202A_202D_202A_202D_202C_206D_200B_200B_200E_206A_206A_206C_202E_202B_200B_206B_200E_202C_200C_202E_202A_202E_200E_202D_202E_206F_202E_206B_202C_200C_206F_206F_202E(exposedPlugin); - case 2: - return false; - } - continue; - IL_004b: - num8 = -1051625556; - } - }) - select p.DisplayName).ToList(); - num = ((list2.Count <= 1) ? (-1006735350) : (-1006735351)); - break; - case 3: - list.Add(_202E_200E_202E_206E_202D_200B_202B_200B_200E_200E_200C_206A_202E_206E_206F_202C_206F_206C_202C_200B_200B_202E_200B_206F_200F_206E_202E_202D_206D_200C_206A_202D_206E_206C_200B_200B_206F_200D_202B_202A_202E(_200D_202D_200E_202E_202E_206F_206C_206B_202C_200D_202E_202E_202A_202A_200B_200C_200B_206A_206E_200F_206D_200D_200D_200C_200E_206D_202E_206C_200F_202E_206D_200F_202E_200E_206E_202B_206C_206A_206B_206E_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-566909963), (IEnumerable)list2), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1222712651))); - num = -1006735350; - break; - case 4: - num = -1006735350; - break; - case 2: - return list; - } - } - } - finally - { - int num = ((enumerator == null) ? (-1090896135) : (-1090896134)); - while (true) - { - int num7 = num; - int num3 = -1090896136; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - goto end_IL_0139; - case 2: - _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E((IDisposable)enumerator); - num = -1090896135; - break; - case 0: - num = -1090896134; - break; - } - continue; - end_IL_0139: - break; + list.Add(string.Join(" and ", list2) + " are both loaded - disable one to avoid unpredictable behavior"); } } + return list; } - [MethodImpl(MethodImplOptions.NoInlining)] private bool DrawRequirement(PluginRequirement requirement, float checklistPadding) { bool flag = false; - ImRaii.IdDisposable idDisposable = _206C_200C_200B_200D_202A_202B_202C_200B_202E_202E_206F_202A_202B_200E_202A_200F_206B_206F_206E_200E_206B_206A_206E_202C_202E_206E_200C_200D_202A_200B_206F_202A_200B_202C_200B_202B_206E_202C_206C_202B_202E((ImU8String)_202E_200E_202E_206E_202D_200B_202B_200B_200E_200E_200C_206A_202E_206E_206F_202C_206F_206C_202C_200B_200B_202E_200B_206F_200F_206E_202E_202D_206D_200C_206A_202D_206E_206C_200B_200B_206F_200D_202B_202A_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1635601727), requirement.GroupName), true); - try + using (ImRaii.PushId("req_" + requirement.GroupName)) { if (requirement.Providers.Count > 1) { - _202D_202A_206D_206B_200B_200F_200E_200B_200B_206B_200F_202A_200F_206D_200C_200F_206C_200E_202D_202D_200D_206E_202A_206C_200C_202E_200B_206C_206F_206E_202E_202E_206E_206D_206E_200B_206E_200F_206F_200E_202E((ImU8String)requirement.GroupName); - ImRaii.IndentDisposable indentDisposable = _200B_200C_200D_200F_202E_200F_206D_206E_200D_202C_200B_206D_202B_200F_200E_206E_202A_200D_200D_200D_200C_200F_206B_200B_200C_202A_202E_206E_206D_200F_202C_200C_206C_200F_200C_206C_206A_206B_206B_206D_202E(checklistPadding, true, true); - try + ImGui.TextUnformatted(requirement.GroupName); + using (ImRaii.PushIndent(checklistPadding)) { - int num = (_202A_206C_206D_202D_206B_202E_206E_200D_206E_202B_200F_200C_202D_202C_202B_202A_200E_206F_206D_200B_206B_202D_202A_206E_200E_202B_200F_202B_206C_202E_200B_202C_206F_206C_200D_200E_206B_200B_200E_200D_202E(requirement.Description) ? (-1189463) : (-1189462)); - while (true) + if (!string.IsNullOrEmpty(requirement.Description)) { - int num2 = num; - int num3 = -1189461; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1189462; - break; - case 1: - _200F_202E_200C_202C_200B_206A_206F_200C_206D_202B_202D_206E_206A_200E_206B_206B_206C_206A_202C_202A_202D_206E_206E_202D_200F_206D_202A_200B_200F_206B_206B_200F_202D_206D_200C_206B_206B_200E_200C_206E_202E(0f); - _202A_202D_200F_202E_202D_202C_200F_200C_206C_200E_200E_202E_202E_200D_206F_200D_206C_200E_202C_206A_206E_200E_200B_206D_202B_206B_200B_202B_202B_200B_206E_206C_200E_202E_206E_202C_200B_206A_206C_202C_202E(ref UiThemeUtils.DimTextColor, (ImU8String)requirement.Description); - _200B_202B_202B_206F_202D_202D_206D_200F_206A_206E_202E_206E_202C_202C_202C_206F_206A_200B_202A_202B_206E_206E_200D_200C_200C_202A_206B_206D_200B_206A_200C_200E_200D_200E_200F_206E_206D_202A_202D_202A_202E(); - num = -1189463; - break; - case 2: - { - IEnumerator enumerator = requirement.Providers.GetEnumerator(); - try - { - num = 979882847; - while (true) - { - int num5 = num; - num3 = 979882845; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 0: - num = 979882847; - break; - case 2: - num = (_206F_202E_200C_202D_206F_206D_202D_202C_206D_200B_202D_202A_202D_202D_202C_200C_206B_206E_206C_200E_206D_206D_202E_206C_206D_206B_200F_200C_200E_206A_200F_202E_202C_200E_200E_206A_206E_200B_200B_202C_202E((IEnumerator)enumerator) ? 979882846 : 979882844); - break; - case 3: - { - PluginProvider current = enumerator.Current; - flag |= DrawProvider(current, checklistPadding); - num = 979882847; - break; - } - case 1: - goto end_IL_00f7; - } - continue; - end_IL_00f7: - break; - } - } - finally - { - num = ((enumerator == null) ? (-1773998403) : (-1773998402)); - while (true) - { - int num8 = num; - num3 = -1773998404; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1773998402; - break; - case 2: - _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E((IDisposable)enumerator); - num = -1773998403; - break; - case 1: - goto end_IL_019b; - } - continue; - end_IL_019b: - break; - } - } - DrawRequirementExtras(requirement, checklistPadding, flag); - goto end_IL_0077; - } - } - continue; - end_IL_0077: - break; + ImGui.PushTextWrapPos(0f); + ImGui.TextColored(in UiThemeUtils.DimTextColor, requirement.Description); + ImGui.PopTextWrapPos(); } - } - finally - { - int num = ((indentDisposable == null) ? 582692765 : 582692766); - while (true) + foreach (PluginProvider provider in requirement.Providers) { - int num9 = num; - int num3 = 582692764; - int num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 1: - goto end_IL_0212; - case 2: - _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E((IDisposable)indentDisposable); - num = 582692765; - break; - case 0: - num = 582692766; - break; - } - continue; - end_IL_0212: - break; + flag |= DrawProvider(provider, checklistPadding); } + DrawRequirementExtras(requirement, checklistPadding, flag); } } else { PluginProvider pluginProvider = requirement.Providers[0]; IExposedPlugin exposedPlugin = FindProvider(pluginProvider); - int num = ((exposedPlugin == null) ? 961917508 : 961917504); - bool isDisabled = default(bool); - bool flag2 = default(bool); - while (true) + bool flag2 = exposedPlugin?.IsLoaded ?? false; + bool isDisabled = exposedPlugin != null && !exposedPlugin.IsLoaded; + flag = flag2; + _uiUtils.ChecklistItem(pluginProvider.DisplayName, flag2); + if (exposedPlugin != null) { - int num12 = num; - int num3 = 961917508; - int num4 = num12; - int num14; - int num13; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 0: - num14 = 0; - goto IL_02d3; - case 4: - num14 = (_206B_200E_202B_200C_206B_202C_206F_206B_202A_202D_202A_202D_202C_206D_200B_200B_200E_206A_206A_206C_202E_202B_200B_206B_200E_202C_200C_202E_202A_202E_200E_202D_202E_206F_202E_206B_202C_200C_206F_206F_202E(exposedPlugin) ? 1 : 0); - goto IL_02d3; - case 6: - num13 = 0; - goto IL_030d; - case 2: - num = 961917504; - continue; - case 1: - { - _206F_202A_202D_202E_202B_200C_202D_206B_202D_206E_200C_200E_200F_206C_206F_202C_200F_200B_202A_206B_206A_202D_206C_200B_200E_206A_202A_202E_202C_200B_206C_206A_202C_202E_202E_202A_200B_206A_206F_200E_202E(); - ImU8String imU8String = new ImU8String(1, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1813717021)); - imU8String.AppendFormatted(_202C_202B_200C_206B_202C_200C_202D_200D_206B_202E_206D_200C_206D_206B_200F_202C_206B_206A_200E_202B_206C_200B_200F_200E_206C_200C_200F_206A_200F_206B_202C_200E_206C_202D_200E_200E_206C_202B_200B_206E_202E(exposedPlugin)); - _202A_202D_200F_202E_202D_202C_200F_200C_206C_200E_200E_202E_202E_200D_206F_200D_206C_200E_202C_206A_206E_200E_200B_206D_202B_206B_200B_202B_202B_200B_206E_206C_200E_202E_206E_202C_200B_206A_206C_202C_202E(ref UiThemeUtils.DimTextColor, imU8String); - num = 961917511; - continue; - } - case 5: - num13 = ((!_206B_200E_202B_200C_206B_202C_206F_206B_202A_202D_202A_202D_202C_206D_200B_200B_200E_206A_206A_206C_202E_202B_200B_206B_200E_202C_200C_202E_202A_202E_200E_202D_202E_206F_202E_206B_202C_200C_206F_206F_202E(exposedPlugin)) ? 1 : 0); - goto IL_030d; - case 3: - break; - IL_030d: - isDisabled = (byte)num13 != 0; - flag = flag2; - _uiUtils.ChecklistItem(pluginProvider.DisplayName, flag2); - num = ((exposedPlugin == null) ? 961917511 : 961917509); - continue; - IL_02d3: - flag2 = (byte)num14 != 0; - num = ((exposedPlugin == null) ? 961917506 : 961917505); - continue; - } - break; + ImGui.SameLine(); + ImU8String text = new ImU8String(1, 1); + text.AppendLiteral("v"); + text.AppendFormatted(exposedPlugin.Version); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text); } - ImRaii.IndentDisposable indentDisposable = _200B_200C_200D_200F_202E_200F_206D_206E_200D_202C_200B_206D_202B_200F_200E_206E_202A_200D_200D_200D_200C_200F_206B_200B_200C_202A_202E_206E_206D_200F_202C_200C_206C_200F_200C_206C_206A_206B_206B_206D_202E(checklistPadding, true, true); - try + using (ImRaii.PushIndent(checklistPadding)) { - num = (_202A_206C_206D_202D_206B_202E_206E_200D_206E_202B_200F_200C_202D_202C_202B_202A_200E_206F_206D_200B_206B_202D_202A_206E_200E_202B_200F_202B_206C_202E_200B_202C_206F_206C_200D_200E_206B_200B_200E_200D_202E(requirement.Description) ? 1089901797 : 1089901796); - while (true) + if (!string.IsNullOrEmpty(requirement.Description)) { - int num15 = num; - int num3 = 1089901797; - int num4 = num15; - int num16 = num4 + num3; - int num17 = num4 & num3; - switch (num16 - (num17 + num17)) - { - case 2: - num = 1089901796; - break; - case 1: - _200F_202E_200C_202C_200B_206A_206F_200C_206D_202B_202D_206E_206A_200E_206B_206B_206C_206A_202C_202A_202D_206E_206E_202D_200F_206D_202A_200B_200F_206B_206B_200F_202D_206D_200C_206B_206B_200E_200C_206E_202E(0f); - _202A_202D_200F_202E_202D_202C_200F_200C_206C_200E_200E_202E_202E_200D_206F_200D_206C_200E_202C_206A_206E_200E_200B_206D_202B_206B_200B_202B_202B_200B_206E_206C_200E_202E_206E_202C_200B_206A_206C_202C_202E(ref UiThemeUtils.DimTextColor, (ImU8String)requirement.Description); - _200B_202B_202B_206F_202D_202D_206D_200F_206A_206E_202E_206E_202C_202C_202C_206F_206A_200B_202A_202B_206E_206E_200D_200C_200C_202A_206B_206D_200B_206A_200C_200E_200D_200E_200F_206E_206D_202A_202D_202A_202E(); - num = 1089901797; - break; - case 0: - DrawRequirementExtras(requirement, checklistPadding, flag2); - DrawProviderActions(pluginProvider, exposedPlugin, flag2, isDisabled); - goto end_IL_03ed; - } - continue; - end_IL_03ed: - break; - } - } - finally - { - num = ((indentDisposable == null) ? 1392021490 : 1392021491); - while (true) - { - int num18 = num; - int num3 = 1392021490; - int num4 = num18; - int num19 = num4 + num3; - int num20 = num4 & num3; - switch (num19 - (num20 + num20)) - { - case 0: - goto end_IL_0492; - case 1: - _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E((IDisposable)indentDisposable); - num = 1392021490; - break; - case 2: - num = 1392021491; - break; - } - continue; - end_IL_0492: - break; + ImGui.PushTextWrapPos(0f); + ImGui.TextColored(in UiThemeUtils.DimTextColor, requirement.Description); + ImGui.PopTextWrapPos(); } + DrawRequirementExtras(requirement, checklistPadding, flag2); + DrawProviderActions(pluginProvider, exposedPlugin, flag2, isDisabled); } } - _202B_206D_206D_202C_200F_200E_200B_202D_200C_206A_206C_202A_206F_202C_206B_200C_202A_202E_200B_202C_200C_200E_206A_206A_202C_202D_200F_206D_206D_200F_206F_202C_200F_200F_206F_202B_202C_206B_202A_200F_202E(); + ImGui.Spacing(); return flag; } - finally - { - int num = ((idDisposable == null) ? 11622408 : 11622411); - while (true) - { - int num21 = num; - int num3 = 11622410; - int num4 = num21; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 11622411; - break; - case 1: - _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E((IDisposable)idDisposable); - num = 11622408; - break; - case 2: - goto end_IL_0507; - } - continue; - end_IL_0507: - break; - } - } } - [MethodImpl(MethodImplOptions.NoInlining)] private bool DrawProvider(PluginProvider provider, float checklistPadding) { - ImRaii.IdDisposable idDisposable = _206C_200C_200B_200D_202A_202B_202C_200B_202E_202E_206F_202A_202B_200E_202A_200F_206B_206F_206E_200E_206B_206A_206E_202C_202E_206E_200C_200D_202A_200B_206F_202A_200B_202C_200B_202B_206E_202C_206C_202B_202E((ImU8String)_202E_200E_202E_206E_202D_200B_202B_200B_200E_200E_200C_206A_202E_206E_206F_202C_206F_206C_202C_200B_200B_202E_200B_206F_200F_206E_202E_202D_206D_200C_206A_202D_206E_206C_200B_200B_206F_200D_202B_202A_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(-956198908), provider.DisplayName), true); - try + using (ImRaii.PushId("prov_" + provider.DisplayName)) { IExposedPlugin exposedPlugin = FindProvider(provider); - int num = ((exposedPlugin == null) ? (-542460311) : (-542460312)); - bool flag = default(bool); - bool isDisabled = default(bool); - while (true) + bool flag = exposedPlugin?.IsLoaded ?? false; + bool isDisabled = exposedPlugin != null && !exposedPlugin.IsLoaded; + _uiUtils.ChecklistItem(provider.DisplayName, flag); + if (exposedPlugin != null) { - int num2 = num; - int num3 = -542460311; - int num4 = num2; - int num6; - int num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - { - _206F_202A_202D_202E_202B_200C_202D_206B_202D_206E_200C_200E_200F_206C_206F_202C_200F_200B_202A_206B_206A_202D_206C_200B_200E_206A_202A_202E_202C_200B_206C_206A_202C_202E_202E_202A_200B_206A_206F_200E_202E(); - ImU8String imU8String = new ImU8String(1, 1); - imU8String.AppendLiteral(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(-1827973971)); - imU8String.AppendFormatted(_202C_202B_200C_206B_202C_200C_202D_200D_206B_202E_206D_200C_206D_206B_200F_202C_206B_206A_200E_202B_206C_200B_200F_200E_206C_200C_200F_206A_200F_206B_202C_200E_206C_202D_200E_200E_206C_202B_200B_206E_202E(exposedPlugin)); - _202A_202D_200F_202E_202D_202C_200F_200C_206C_200E_200E_202E_202E_200D_206F_200D_206C_200E_202C_206A_206E_200E_200B_206D_202B_206B_200B_202B_202B_200B_206E_206C_200E_202E_206E_202C_200B_206A_206C_202C_202E(ref UiThemeUtils.DimTextColor, imU8String); - num = -542460309; - break; - } - case 1: - num6 = (_206B_200E_202B_200C_206B_202C_206F_206B_202A_202D_202A_202D_202C_206D_200B_200B_200E_206A_206A_206C_202E_202B_200B_206B_200E_202C_200C_202E_202A_202E_200E_202D_202E_206F_202E_206B_202C_200C_206F_206F_202E(exposedPlugin) ? 1 : 0); - goto IL_0142; - case 3: - num7 = ((!_206B_200E_202B_200C_206B_202C_206F_206B_202A_202D_202A_202D_202C_206D_200B_200B_200E_206A_206A_206C_202E_202B_200B_206B_200E_202C_200C_202E_202A_202E_200E_202D_202E_206F_202E_206B_202C_200C_206F_206F_202E(exposedPlugin)) ? 1 : 0); - goto IL_00f9; - case 5: - num7 = 0; - goto IL_00f9; - case 4: - num = -542460312; - break; - case 0: - num6 = 0; - goto IL_0142; - case 2: - { - ImRaii.IndentDisposable indentDisposable = _200B_200C_200D_200F_202E_200F_206D_206E_200D_202C_200B_206D_202B_200F_200E_206E_202A_200D_200D_200D_200C_200F_206B_200B_200C_202A_202E_206E_206D_200F_202C_200C_206C_200F_200C_206C_206A_206B_206B_206D_202E(checklistPadding, true, true); - try - { - DrawProviderActions(provider, exposedPlugin, flag, isDisabled); - } - finally - { - num = ((indentDisposable == null) ? 685235413 : 685235414); - while (true) - { - int num5 = num; - num3 = 685235412; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 685235414; - break; - case 1: - goto end_IL_0199; - case 2: - _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E((IDisposable)indentDisposable); - num = 685235413; - break; - } - continue; - end_IL_0199: - break; - } - } - return flag; - } - IL_00f9: - isDisabled = (byte)num7 != 0; - _uiUtils.ChecklistItem(provider.DisplayName, flag); - num = ((exposedPlugin == null) ? (-542460309) : (-542460305)); - break; - IL_0142: - flag = (byte)num6 != 0; - num = ((exposedPlugin == null) ? (-542460308) : (-542460310)); - break; - } + ImGui.SameLine(); + ImU8String text = new ImU8String(1, 1); + text.AppendLiteral("v"); + text.AppendFormatted(exposedPlugin.Version); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text); } - } - finally - { - int num = ((idDisposable == null) ? (-600920814) : (-600920813)); - while (true) + using (ImRaii.PushIndent(checklistPadding)) { - int num8 = num; - int num3 = -600920814; - int num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 2: - num = -600920813; - break; - case 0: - goto end_IL_020b; - case 1: - _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E((IDisposable)idDisposable); - num = -600920814; - break; - } - continue; - end_IL_020b: - break; + DrawProviderActions(provider, exposedPlugin, flag, isDisabled); } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool DrawNavigationSelection(float checklistPadding) - { - ImRaii.IdDisposable idDisposable = _206C_200C_200B_200D_202A_202B_202C_200B_202E_202E_206F_202A_202B_200E_202A_200F_206B_206F_206E_200E_206B_206A_206E_202C_202E_206E_200C_200D_202A_200B_206F_202A_200B_202C_200B_202B_206E_202C_206C_202B_202E((ImU8String)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(-256030487), true); - try - { - bool flag = true; - _202D_202A_206D_206B_200B_200F_200E_200B_200B_206B_200F_202A_200F_206D_200C_200F_206C_200E_202D_202D_200D_206E_202A_206C_200C_202E_200B_206C_206F_206E_202E_202E_206E_206D_206E_200B_206E_200F_206F_200E_202E((ImU8String)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(-1010966512)); - ImRaii.IndentDisposable indentDisposable = _200B_200C_200D_200F_202E_200F_206D_206E_200D_202C_200B_206D_202B_200F_200E_206E_202A_200D_200D_200D_200C_200F_206B_200B_200C_202A_202E_206E_206D_200F_202C_200C_206C_200F_200C_206C_206A_206B_206B_206D_202E(checklistPadding, true, true); - try - { - _200F_202E_200C_202C_200B_206A_206F_200C_206D_202B_202D_206E_206A_200E_206B_206B_206C_206A_202C_202A_202D_206E_206E_202D_200F_206D_202A_200B_200F_206B_206B_200F_202D_206D_200C_206B_206B_200E_200C_206E_202E(0f); - _202A_202D_200F_202E_202D_202C_200F_200C_206C_200E_200E_202E_202E_200D_206F_200D_206C_200E_202C_206A_206E_200E_200B_206D_202B_206B_200B_202B_202B_200B_206E_206C_200E_202E_206E_202C_200B_206A_206C_202C_202E(ref UiThemeUtils.DimTextColor, (ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1894858104)); - _200B_202B_202B_206F_202D_202D_206D_200F_206A_206E_202E_206E_202C_202C_202C_206F_206A_200B_202A_202B_206E_206E_200D_200C_200C_202A_206B_206D_200B_206A_200C_200E_200D_200E_200F_206E_206D_202A_202D_202A_202E(); - flag &= DrawNavigationProvider(Questionable.Configuration.ENavigationProvider.Vnavmesh); - Configuration.ENavigationProvider navigationProvider = _configuration.General.NavigationProvider; - int num = (_wigglyNavAvailability.IsCompatible ? (-1787642142) : (-1787642137)); - while (true) - { - int num2 = num; - int num3 = -1787642143; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 7: - num = -1787642137; - break; - case 2: - num = ((!_configuration.Advanced.ShowWigglyNavShimProvider) ? (-1787642139) : (-1787642144)); - break; - case 4: - num = ((navigationProvider != Questionable.Configuration.ENavigationProvider.WigglyNavShim) ? (-1787642143) : (-1787642140)); - break; - case 5: - flag &= DrawNavigationProvider(Questionable.Configuration.ENavigationProvider.WigglyNavShim); - num = -1787642143; - break; - case 6: - num = ((navigationProvider != Questionable.Configuration.ENavigationProvider.WigglyNav) ? (-1787642141) : (-1787642142)); - break; - case 3: - flag &= DrawNavigationProvider(Questionable.Configuration.ENavigationProvider.WigglyNav); - num = -1787642141; - break; - case 1: - num = (IsWigglyNavInstalled() ? (-1787642140) : (-1787642139)); - break; - case 0: - goto end_IL_00a0; - } - continue; - end_IL_00a0: - break; - } - } - finally - { - int num = ((indentDisposable == null) ? (-1047707652) : (-1047707651)); - while (true) - { - int num7 = num; - int num3 = -1047707652; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto end_IL_01cb; - case 1: - _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E((IDisposable)indentDisposable); - num = -1047707652; - break; - case 2: - num = -1047707651; - break; - } - continue; - end_IL_01cb: - break; - } - } - _202B_206D_206D_202C_200F_200E_200B_202D_200C_206A_206C_202A_206F_202C_206B_200C_202A_202E_200B_202C_200C_200E_206A_206A_202C_202D_200F_206D_206D_200F_206F_202C_200F_200F_206F_202B_202C_206B_202A_200F_202E(); return flag; } - finally + } + + private bool DrawNavigationSelection(float checklistPadding) + { + using (ImRaii.PushId("req_Navigation")) { - int num = ((idDisposable == null) ? (-1041380219) : (-1041380220)); - while (true) + bool flag = true; + ImGui.TextUnformatted("Navigation"); + using (ImRaii.PushIndent(checklistPadding)) { - int num8 = num; - int num3 = -1041380219; - int num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) + ImGui.PushTextWrapPos(0f); + ImGui.TextColored(in UiThemeUtils.DimTextColor, "Handles navigation within a zone, moving your character to quest objectives."); + ImGui.PopTextWrapPos(); + flag &= DrawNavigationProvider(Questionable.Configuration.ENavigationProvider.Vnavmesh); + Configuration.ENavigationProvider navigationProvider = _configuration.General.NavigationProvider; + if (_wigglyNavAvailability.IsCompatible || navigationProvider == Questionable.Configuration.ENavigationProvider.WigglyNav) { - case 2: - num = -1041380220; - break; - case 1: - _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E((IDisposable)idDisposable); - num = -1041380219; - break; - case 0: - goto end_IL_0241; + flag &= DrawNavigationProvider(Questionable.Configuration.ENavigationProvider.WigglyNav); + } + if ((_configuration.Advanced.ShowWigglyNavShimProvider && IsWigglyNavInstalled()) || navigationProvider == Questionable.Configuration.ENavigationProvider.WigglyNavShim) + { + flag &= DrawNavigationProvider(Questionable.Configuration.ENavigationProvider.WigglyNavShim); } - continue; - end_IL_0241: - break; } + ImGui.Spacing(); + return flag; } } - [MethodImpl(MethodImplOptions.NoInlining)] private bool DrawNavigationProvider(Configuration.ENavigationProvider navigationProvider) { PluginRequirement pluginRequirement = NavigationPlugins[navigationProvider]; - ImRaii.IdDisposable idDisposable = _206C_200C_200B_200D_202A_202B_202C_200B_202E_202E_206F_202A_202B_200E_202A_200F_206B_206F_206E_200E_206B_206A_206E_202C_202E_206E_200C_200D_202A_200B_206F_202A_200B_202C_200B_202B_206E_202C_206C_202B_202E((ImU8String)_202E_200E_202E_206E_202D_200B_202B_200B_200E_200E_200C_206A_202E_206E_206F_202C_206F_206C_202C_200B_200B_202E_200B_206F_200F_206E_202E_202D_206D_200C_206A_202D_206E_206C_200B_200B_206F_200D_202B_202A_202E(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(794949383), pluginRequirement.GroupName), true); - try + using (ImRaii.PushId("nav_" + pluginRequirement.GroupName)) { - int num = ((!_206B_206F_200E_200B_202D_202D_206E_206B_202D_200F_206B_206A_206A_206E_202E_200B_206B_206B_206F_200F_200C_206C_200C_200B_202C_202B_206B_200F_206E_200B_206D_200D_202B_200C_200F_206A_200B_206B_202A_200E_202E((ImU8String)pluginRequirement.GroupName, _configuration.General.NavigationProvider == navigationProvider)) ? 310088016 : 310088022); - int result; - IExposedPlugin exposedPlugin = default(IExposedPlugin); - PluginProvider pluginProvider = default(PluginProvider); - bool flag2 = default(bool); - while (true) + if (ImGui.RadioButton(pluginRequirement.GroupName, _configuration.General.NavigationProvider == navigationProvider)) { - int num2 = num; - int num3 = 310088023; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num8; - int num7; - bool flag; - bool num9; - bool flag3; - bool isLoaded; - int isDisabled; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 2: - result = ((_configuration.General.NavigationProvider != navigationProvider) ? 1 : 0); - break; - case 4: - num8 = (_206B_200E_202B_200C_206B_202C_206F_206B_202A_202D_202A_202D_202C_206D_200B_200B_200E_206A_206A_206C_202E_202B_200B_206B_200E_202C_200C_202E_202A_202E_200E_202D_202E_206F_202E_206B_202C_200C_206F_206F_202E(exposedPlugin) ? 1 : 0); - goto IL_0179; - case 7: - pluginProvider = pluginRequirement.Providers[0]; - exposedPlugin = FindProvider(pluginProvider); - num = ((exposedPlugin == null) ? 310088020 : 310088019); - continue; - case 1: - _configuration.General.NavigationProvider = navigationProvider; - _206D_206D_206A_200F_202E_200B_202E_206C_206A_206E_206D_202C_202C_206C_202A_206D_202A_202B_206D_200C_200E_206B_202C_202C_200B_206B_202E_206B_206B_206B_202C_202B_200B_206F_200C_200D_206B_200F_202A_202C_202E(_pluginInterface, (IPluginConfiguration)_configuration); - num = 310088016; - continue; - case 8: - num7 = ((!_206B_200E_202B_200C_206B_202C_206F_206B_202A_202D_202A_202D_202C_206D_200B_200B_200E_206A_206A_206C_202E_202B_200B_206B_200E_202C_200C_202E_202A_202E_200E_202D_202E_206F_202E_206B_202C_200C_206F_206F_202E(exposedPlugin)) ? 1 : 0); - goto IL_019a; - case 5: - num = 310088022; - continue; - case 3: - num8 = 0; - goto IL_0179; - case 6: - num7 = 0; - goto IL_019a; - case 0: - { - result = 1; - break; - } - IL_019a: - flag = (byte)num7 != 0; - num9 = flag2; - if (exposedPlugin != null) - { - _202B_200B_206A_200C_200D_202E_200B_200C_206A_206E_202B_206D_202B_202D_206B_206F_200B_206E_200E_200C_206E_202C_202D_200D_202C_200C_200F_206C_206B_202C_200D_202B_202B_206B_202D_200E_200C_200D_206E_200C_202E(0f); - _202D_200E_206B_206A_202C_200D_206F_206C_202C_206D_206D_202B_206D_202D_200B_200D_200D_206D_202A_202E_206B_206E_202C_202E_206C_200E_206C_202B_202A_202C_202A_206F_206A_206B_200B_202D_200B_206A_206D_206C_202E(); - ImU8String imU8String = new ImU8String(1, 1); - imU8String.AppendLiteral(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(1938431546)); - imU8String.AppendFormatted(_202C_202B_200C_206B_202C_200C_202D_200D_206B_202E_206D_200C_206D_206B_200F_202C_206B_206A_200E_202B_206C_200B_200F_200E_206C_200C_200F_206A_200F_206B_202C_200E_206C_202D_200E_200E_206C_202B_200B_206E_202E(exposedPlugin)); - _202A_202D_200F_202E_202D_202C_200F_200C_206C_200E_200E_202E_202E_200D_206F_200D_206C_200E_202C_206A_206E_200E_200B_206D_202B_206B_200B_202B_202B_200B_206E_206C_200E_202E_206E_202C_200B_206A_206C_202C_202E(ref UiThemeUtils.DimTextColor, imU8String); - } - flag3 = navigationProvider == Questionable.Configuration.ENavigationProvider.WigglyNav && !_wigglyNavAvailability.IsCompatible; - isLoaded = flag2 && !flag3; - if (!flag) - { - bool num10 = flag2; - num3 = (flag3 ? 1 : 0); - num4 = (num10 ? 1 : 0); - isDisabled = (num4 | num3) - (num4 ^ num3); - } - else - { - isDisabled = 1; - } - DrawProviderStatusIcon(isLoaded, (byte)isDisabled != 0); - if (!flag2 && _206A_206F_206D_206A_200D_202A_202A_206E_200F_200C_200C_200F_206A_202D_200F_206F_206E_202A_200C_206C_200E_200C_202B_200F_206C_202C_202E_206C_200C_206B_206B_206D_206E_206A_200C_206B_206E_200B_206A_202A_202E(pluginProvider.DalamudRepositoryUri, (Uri)null)) - { - DrawInlineProviderActions(pluginProvider, flag); - } - if (navigationProvider == Questionable.Configuration.ENavigationProvider.WigglyNav && _configuration.General.NavigationProvider == navigationProvider && !_wigglyNavAvailability.IsCompatible) - { - _206F_202A_202D_202E_202B_200C_202D_206B_202D_206E_200C_200E_200F_206C_206F_202C_200F_200B_202A_206B_206A_202D_206C_200B_200E_206A_202A_202E_202C_200B_206C_206A_202C_202E_202E_202A_200B_206A_206F_200E_202E(); - _202D_200E_206B_206A_202C_200D_206F_206C_202C_206D_206D_202B_206D_202D_200B_200D_200D_206D_202A_202E_206B_206E_202C_202E_206C_200E_206C_202B_202A_202C_202A_206F_206A_206B_200B_202D_200B_206A_206D_206C_202E(); - _202A_202D_200F_202E_202D_202C_200F_200C_206C_200E_200E_202E_202E_200D_206F_200D_206C_200E_202C_206A_206E_200E_200B_206D_202B_206B_200B_202B_202B_200B_206E_206C_200E_202E_206E_202C_200B_206A_206C_202C_202E(ref UiThemeUtils.DimTextColor, (ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1036127683)); - } - num = (num9 ? 310088023 : 310088021); - continue; - IL_0179: - flag2 = (byte)num8 != 0; - num = ((exposedPlugin == null) ? 310088017 : 310088031); - continue; - } - break; + _configuration.General.NavigationProvider = navigationProvider; + _pluginInterface.SavePluginConfig(_configuration); } - return (byte)result != 0; - } - finally - { - int num = ((idDisposable == null) ? (-565239728) : (-565239727)); - while (true) + PluginProvider pluginProvider = pluginRequirement.Providers[0]; + IExposedPlugin exposedPlugin = FindProvider(pluginProvider); + bool flag = exposedPlugin?.IsLoaded ?? false; + bool flag2 = exposedPlugin != null && !exposedPlugin.IsLoaded; + if (exposedPlugin != null) { - int num11 = num; - int num3 = -565239728; - int num4 = num11; - int num12 = num4 + num3; - int num13 = num4 & num3; - switch (num12 - (num13 + num13)) - { - case 2: - num = -565239727; - break; - case 1: - _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E((IDisposable)idDisposable); - num = -565239728; - break; - case 0: - goto end_IL_02ef; - } - continue; - end_IL_02ef: - break; + ImGui.SameLine(0f); + ImGui.AlignTextToFramePadding(); + ImU8String text = new ImU8String(1, 1); + text.AppendLiteral("v"); + text.AppendFormatted(exposedPlugin.Version); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text); } + bool flag3 = navigationProvider == Questionable.Configuration.ENavigationProvider.WigglyNav && !_wigglyNavAvailability.IsCompatible; + DrawProviderStatusIcon(flag && !flag3, flag2 || (flag && flag3)); + if (!flag && pluginProvider.DalamudRepositoryUri != null) + { + DrawInlineProviderActions(pluginProvider, flag2); + } + if (navigationProvider == Questionable.Configuration.ENavigationProvider.WigglyNav && _configuration.General.NavigationProvider == navigationProvider && !_wigglyNavAvailability.IsCompatible) + { + ImGui.SameLine(); + ImGui.AlignTextToFramePadding(); + ImGui.TextColored(in UiThemeUtils.DimTextColor, "(unavailable - using vnavmesh)"); + } + return flag || _configuration.General.NavigationProvider != navigationProvider; } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawProviderActions(PluginProvider provider, IExposedPlugin? installed, bool isLoaded, bool isDisabled) { - int num = ((!isLoaded) ? (-1679626831) : (-1679626819)); - while (true) + if (isLoaded) { - int num2 = num; - int num3 = -1679626828; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return; + } + if (isDisabled) + { + ImGui.TextColored(in UiThemeUtils.StatusActive, "Installed but disabled"); + DrawEnableButton(provider); + DrawInstallError(provider); + return; + } + DrawInstallButton(provider); + ImGui.SameLine(); + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Globe, "Website")) + { + Util.OpenLink(provider.WebsiteUri.ToString()); + } + if (provider.DalamudRepositoryUri != null) + { + ImGui.SameLine(); + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Code, "Repo")) { - case 0: - num = -1679626819; - break; - case 7: - DrawInstallError(provider); - return; - case 8: - _200F_206E_200B_202A_206F_202B_200B_206D_202D_206E_200D_206D_200C_202D_200F_202E_200D_202B_206F_206C_202B_206C_206C_200D_206A_200C_206C_202A_206B_202C_202E_206C_206B_200D_202C_206B_200D_206A_206E_206B_202E(_202B_206A_202D_206E_206B_200B_206C_206D_202C_202A_202A_200D_200B_200C_202C_200C_206E_206A_206E_200F_200C_206F_200B_206F_206C_202B_202C_206A_206F_206F_200F_206B_206C_200F_206C_200C_206A_200E_200B_206F_202E((object)provider.WebsiteUri)); - num = -1679626827; - break; - case 5: - num = ((!isDisabled) ? (-1679626826) : (-1679626825)); - break; - case 3: - _202A_202D_200F_202E_202D_202C_200F_200C_206C_200E_200E_202E_202E_200D_206F_200D_206C_200E_202C_206A_206E_200E_200B_206D_202B_206B_200B_202B_202B_200B_206E_206C_200E_202E_206E_202C_200B_206A_206C_202C_202E(ref UiThemeUtils.StatusActive, (ImU8String)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(1909700008)); - DrawEnableButton(provider); - DrawInstallError(provider); - return; - case 6: - _206F_202A_202D_202E_202B_200C_202D_206B_202D_206E_200C_200E_200F_206C_206F_202C_200F_200B_202A_206B_206A_202D_206C_200B_200E_206A_202A_202E_202C_200B_206C_206A_202C_202E_202E_202A_200B_206A_206F_200E_202E(); - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Code, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-625667250))) ? (-1679626829) : (-1679626832)); - break; - case 1: - num = ((!_206A_206F_206D_206A_200D_202A_202A_206E_200F_200C_200C_200F_206A_202D_200F_206F_206E_202A_200C_206C_200E_200C_202B_200F_206C_202C_202E_206C_200C_206B_206B_206D_206E_206A_200C_206B_206E_200B_206A_202A_202E(provider.DalamudRepositoryUri, (Uri)null)) ? (-1679626829) : (-1679626830)); - break; - case 9: - return; - case 2: - DrawInstallButton(provider); - _206F_202A_202D_202E_202B_200C_202D_206B_202D_206E_200C_200E_200F_206C_206F_202C_200F_200B_202A_206B_206A_202D_206C_200B_200E_206A_202A_202E_202C_200B_206C_206A_202C_202E_202E_202A_200B_206A_206F_200E_202E(); - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Globe, 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(106460701))) ? (-1679626827) : (-1679626820)); - break; - case 4: - _200F_206E_200B_202A_206F_202B_200B_206D_202D_206E_200D_206D_200C_202D_200F_202E_200D_202B_206F_206C_202B_206C_206C_200D_206A_200C_206C_202A_206B_202C_202E_206C_206B_200D_202C_206B_200D_206A_206E_206B_202E(_202B_206A_202D_206E_206B_200B_206C_206D_202C_202A_202A_200D_200B_200C_202C_200C_206E_206A_206E_200F_200C_206F_200B_206F_206C_202B_202C_206A_206F_206F_200F_206B_206C_200F_206C_200C_206A_200E_200B_206F_202E((object)provider.DalamudRepositoryUri)); - num = -1679626829; - break; + Util.OpenLink(provider.DalamudRepositoryUri.ToString()); } } + DrawInstallError(provider); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawRequirementExtras(PluginRequirement requirement, float checklistPadding, bool isLoaded) { (string, Uri)? extraLink = requirement.ExtraLink; - int num = ((!extraLink.HasValue) ? (-1403183022) : (-1403183023)); - (string, Uri) valueOrDefault = default((string, Uri)); - while (true) + if (extraLink.HasValue) { - int num2 = num; - int num3 = -1403183021; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + (string, Uri) valueOrDefault = extraLink.GetValueOrDefault(); + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.ExternalLinkAlt, valueOrDefault.Item1)) { - default: - continue; - case 1: - if (requirement.DetailsToCheck != null) - { - num = -1403183024; - continue; - } - break; - case 2: - valueOrDefault = extraLink.GetValueOrDefault(); - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.ExternalLinkAlt, valueOrDefault.Item1)) ? (-1403183022) : (-1403183017)); - continue; - case 4: - _200F_206E_200B_202A_206F_202B_200B_206D_202D_206E_200D_206D_200C_202D_200F_202E_200D_202B_206F_206C_202B_206C_206C_200D_206A_200C_206C_202A_206B_202C_202E_206C_206B_200D_202C_206B_200D_206A_206E_206B_202E(_202B_206A_202D_206E_206B_200B_206C_206D_202C_202A_202A_200D_200B_200C_202C_200C_206E_206A_206E_200F_200C_206F_200B_206F_206C_202B_202C_206A_206F_206F_200F_206B_206C_200F_206C_200C_206A_200E_200B_206F_202E((object)valueOrDefault.Item2)); - num = -1403183022; - continue; - case 0: - num = -1403183023; - continue; - case 3: - foreach (PluginDetailInfo item in requirement.DetailsToCheck) - { - bool flag = item.Predicate(); - UiUtils uiUtils = _uiUtils; - string displayName = item.DisplayName; - num3 = (flag ? 1 : 0); - num4 = (isLoaded ? 1 : 0); - uiUtils.ChecklistItem(displayName, (byte)(num4 + num3 - (num4 | num3)) != 0); - if (_202A_206C_206D_202D_206B_202E_206E_200D_206E_202B_200F_200C_202D_202C_202B_202A_200E_206F_206D_200B_206B_202D_202A_206E_200E_202B_200F_202B_206C_202E_200B_202C_206F_206C_200D_200E_206B_200B_200E_200D_202E(item.Details)) - { - continue; - } - ImRaii.IndentDisposable indentDisposable = _200B_200C_200D_200F_202E_200F_206D_206E_200D_202C_200B_206D_202B_200F_200E_206E_202A_200D_200D_200D_200C_200F_206B_200B_200C_202A_202E_206E_206D_200F_202C_200C_206C_200F_200C_206C_206A_206B_206B_206D_202E(checklistPadding, true, true); - try - { - _202D_202A_206D_206B_200B_200F_200E_200B_200B_206B_200F_202A_200F_206D_200C_200F_206C_200E_202D_202D_200D_206E_202A_206C_200C_202E_200B_206C_206F_206E_202E_202E_206E_206D_206E_200B_206E_200F_206F_200E_202E((ImU8String)item.Details); - } - finally - { - num = ((indentDisposable == null) ? (-2133715370) : (-2133715369)); - while (true) - { - int num5 = num; - num3 = -2133715370; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -2133715369; - break; - case 1: - _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E((IDisposable)indentDisposable); - num = -2133715370; - break; - case 0: - goto end_IL_0175; - } - continue; - end_IL_0175: - break; - } - } - } - break; + Util.OpenLink(valueOrDefault.Item2.ToString()); } - break; } - num = ((!isLoaded) ? (-99509028) : (-99509025)); - while (true) + if (requirement.DetailsToCheck != null) { - int num6 = num; - int num3 = -99509031; - int num4 = num6; - int num7 = num4 + num3; - int num8 = num4 & num3; - switch (num7 - (num8 + num8)) + foreach (PluginDetailInfo item in requirement.DetailsToCheck) { - case 5: - return; - case 6: - { - List? detailsToCheck = requirement.DetailsToCheck; - num = ((detailsToCheck == null || !detailsToCheck.Any((PluginDetailInfo d) => !d.Predicate())) ? (-99509028) : (-99509032)); - break; + bool flag = item.Predicate(); + _uiUtils.ChecklistItem(item.DisplayName, isLoaded && flag); + if (!string.IsNullOrEmpty(item.Details)) + { + using (ImRaii.PushIndent(checklistPadding)) + { + ImGui.TextUnformatted(item.Details); + } + } } - case 1: - num = ((requirement.ConfigCommand == null) ? (-99509028) : (-99509030)); - break; - case 2: - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Cog, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-91321368))) ? (-99509028) : (-99509027)); - break; - case 0: - num = -99509025; - break; - case 3: - num = ((!_200B_200F_200D_202A_202D_200D_202A_206C_200D_200B_206E_200C_206B_206A_200E_206E_202D_200E_200F_202A_202D_202B_206E_200D_206C_206A_202A_202E_206C_200F_200E_206F_206C_206D_206C_206D_206A_200E_206E_202B_202E(requirement.ConfigCommand, '/')) ? (-99509028) : (-99509029)); - break; - case 4: - _200F_206F_200D_206E_202A_206F_206D_206B_202C_202B_200D_206C_206C_200C_202A_206A_206C_206F_200B_202E_200B_202C_200C_206C_206C_206F_206A_200E_206C_200B_200D_206D_206A_206A_206E_202E_202C_202B_206D_202B_202E(_commandManager, requirement.ConfigCommand); - num = -99509028; - break; + } + if (isLoaded) + { + List? detailsToCheck = requirement.DetailsToCheck; + if (detailsToCheck != null && detailsToCheck.Any((PluginDetailInfo d) => !d.Predicate()) && requirement.ConfigCommand != null && requirement.ConfigCommand.StartsWith('/') && UiThemeUtils.IconTextButton(FontAwesomeIcon.Cog, "Open configuration")) + { + _commandManager.ProcessCommand(requirement.ConfigCommand); } } } - [MethodImpl(MethodImplOptions.NoInlining)] private bool DrawCombatPlugin(Configuration.ECombatModule combatModule, float checklistPadding) { - _202B_206D_206D_202C_200F_200E_200B_202D_200C_206A_206C_202A_206F_202C_206B_200C_202A_202E_200B_202C_200C_200E_206A_206A_202C_202D_200F_206D_206D_200F_206F_202C_200F_200F_206F_202B_202C_206B_202A_200F_202E(); + ImGui.Spacing(); PluginRequirement pluginRequirement = CombatPlugins[combatModule]; - ImRaii.IdDisposable idDisposable = _206C_200C_200B_200D_202A_202B_202C_200B_202E_202E_206F_202A_202B_200E_202A_200F_206B_206F_206E_200E_206B_206A_206E_202C_202E_206E_200C_200D_202A_200B_206F_202A_200B_202C_200B_202B_206E_202C_206C_202B_202E((ImU8String)_202E_200E_202E_206E_202D_200B_202B_200B_200E_200E_200C_206A_202E_206E_206F_202C_206F_206C_202C_200B_200B_202E_200B_206F_200F_206E_202E_202D_206D_200C_206A_202D_206E_206C_200B_200B_206F_200D_202B_202A_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1338005117), pluginRequirement.GroupName), true); - try + using (ImRaii.PushId("combat_" + pluginRequirement.GroupName)) { bool flag = false; bool num = pluginRequirement.Providers.Count > 1; - if (_206B_206F_200E_200B_202D_202D_206E_206B_202D_200F_206B_206A_206A_206E_202E_200B_206B_206B_206F_200F_200C_206C_200C_200B_202C_202B_206B_200F_206E_200B_206D_200D_202B_200C_200F_206A_200B_206B_202A_200E_202E((ImU8String)pluginRequirement.GroupName, _configuration.General.CombatModule == combatModule)) + if (ImGui.RadioButton(pluginRequirement.GroupName, _configuration.General.CombatModule == combatModule)) { _configuration.General.CombatModule = combatModule; - _206D_206D_206A_200F_202E_200B_202E_206C_206A_206E_206D_202C_202C_206C_202A_206D_202A_202B_206D_200C_200E_206B_202C_202C_200B_206B_202E_206B_206B_206B_202C_202B_200B_206F_200C_200D_206B_200F_202A_202C_202E(_pluginInterface, (IPluginConfiguration)_configuration); + _pluginInterface.SavePluginConfig(_configuration); } - int num2 = (num ? (-1321585178) : (-1321585170)); - PluginProvider provider = default(PluginProvider); - IExposedPlugin exposedPlugin2 = default(IExposedPlugin); - bool isDisabled2 = default(bool); - bool flag3 = default(bool); - bool flag2 = default(bool); - bool isDisabled = default(bool); - while (true) + if (!num) { - int num3 = num2; - int num4 = -1321585177; - int num5 = num3; - int num15; - int num14; - switch ((num5 | num4) - (num5 & num4)) + PluginProvider provider = pluginRequirement.Providers[0]; + IExposedPlugin exposedPlugin = FindProvider(provider); + bool flag2 = exposedPlugin?.IsLoaded ?? false; + bool isDisabled = exposedPlugin != null && !exposedPlugin.IsLoaded; + flag = flag2; + if (exposedPlugin != null) { - default: - continue; - case 7: - num15 = 0; - goto IL_00f2; - case 9: - provider = pluginRequirement.Providers[0]; - exposedPlugin2 = FindProvider(provider); - num2 = ((exposedPlugin2 == null) ? (-1321585184) : (-1321585181)); - continue; - case 5: - num14 = 0; - goto IL_0149; - case 4: - num15 = (_206B_200E_202B_200C_206B_202C_206F_206B_202A_202D_202A_202D_202C_206D_200B_200B_200E_206A_206A_206C_202E_202B_200B_206B_200E_202C_200C_202E_202A_202E_200E_202D_202E_206F_202E_206B_202C_200C_206F_206F_202E(exposedPlugin2) ? 1 : 0); - goto IL_00f2; - case 8: - num2 = -1321585170; - continue; - case 0: - DrawInlineProviderActions(provider, isDisabled2); - break; - case 2: - DrawProviderStatusIcon(flag3, isDisabled2); - if (!flag3) - { - num2 = -1321585177; - continue; - } - break; - case 6: - num14 = ((!_206B_200E_202B_200C_206B_202C_206F_206B_202A_202D_202A_202D_202C_206D_200B_200B_200E_206A_206A_206C_202E_202B_200B_206B_200E_202C_200C_202E_202A_202E_200E_202D_202E_206F_202E_206B_202C_200C_206F_206F_202E(exposedPlugin2)) ? 1 : 0); - goto IL_0149; - case 3: - { - _202B_200B_206A_200C_200D_202E_200B_200C_206A_206E_202B_206D_202B_202D_206B_206F_200B_206E_200E_200C_206E_202C_202D_200D_202C_200C_200F_206C_206B_202C_200D_202B_202B_206B_202D_200E_200C_200D_206E_200C_202E(0f); - _202D_200E_206B_206A_202C_200D_206F_206C_202C_206D_206D_202B_206D_202D_200B_200D_200D_206D_202A_202E_206B_206E_202C_202E_206C_200E_206C_202B_202A_202C_202A_206F_206A_206B_200B_202D_200B_206A_206D_206C_202E(); - ImU8String imU8String2 = new ImU8String(1, 1); - imU8String2.AppendLiteral(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(-1827973971)); - imU8String2.AppendFormatted(_202C_202B_200C_206B_202C_200C_202D_200D_206B_202E_206D_200C_206D_206B_200F_202C_206B_206A_200E_202B_206C_200B_200F_200E_206C_200C_200F_206A_200F_206B_202C_200E_206C_202D_200E_200E_206C_202B_200B_206E_202E(exposedPlugin2)); - _202A_202D_200F_202E_202D_202C_200F_200C_206C_200E_200E_202E_202E_200D_206F_200D_206C_200E_202C_206A_206E_200E_200B_206D_202B_206B_200B_202B_202B_200B_206E_206C_200E_202E_206E_202C_200B_206A_206C_202C_202E(ref UiThemeUtils.DimTextColor, imU8String2); - num2 = -1321585179; - continue; + ImGui.SameLine(0f); + ImGui.AlignTextToFramePadding(); + ImU8String text = new ImU8String(1, 1); + text.AppendLiteral("v"); + text.AppendFormatted(exposedPlugin.Version); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text); } - case 1: + DrawProviderStatusIcon(flag2, isDisabled); + if (!flag2) + { + DrawInlineProviderActions(provider, isDisabled); + } + } + else + { + using (ImRaii.PushIndent(checklistPadding)) + { + foreach (PluginProvider provider2 in pluginRequirement.Providers) { - ImRaii.IndentDisposable indentDisposable = _200B_200C_200D_200F_202E_200F_206D_206E_200D_202C_200B_206D_202B_200F_200E_206E_202A_200D_200D_200D_200C_200F_206B_200B_200C_202A_202E_206E_206D_200F_202C_200C_206C_200F_200C_206C_206A_206B_206B_206D_202E(checklistPadding, true, true); - try + using (ImRaii.PushId("prov_" + provider2.DisplayName)) { - IEnumerator enumerator = pluginRequirement.Providers.GetEnumerator(); - try + IExposedPlugin exposedPlugin2 = FindProvider(provider2); + bool flag3 = exposedPlugin2?.IsLoaded ?? false; + bool isDisabled2 = exposedPlugin2 != null && !exposedPlugin2.IsLoaded; + if (flag3) { - while (_206F_202E_200C_202D_206F_206D_202D_202C_206D_200B_202D_202A_202D_202D_202C_200C_206B_206E_206C_200E_206D_206D_202E_206C_206D_206B_200F_200C_200E_206A_200F_202E_202C_200E_200E_206A_206E_200B_200B_202C_202E((IEnumerator)enumerator)) - { - PluginProvider current = enumerator.Current; - ImRaii.IdDisposable idDisposable2 = _206C_200C_200B_200D_202A_202B_202C_200B_202E_202E_206F_202A_202B_200E_202A_200F_206B_206F_206E_200E_206B_206A_206E_202C_202E_206E_200C_200D_202A_200B_206F_202A_200B_202C_200B_202B_206E_202C_206C_202B_202E((ImU8String)_202E_200E_202E_206E_202D_200B_202B_200B_200E_200E_200C_206A_202E_206E_206F_202C_206F_206C_202C_200B_200B_202E_200B_206F_200F_206E_202E_202D_206D_200C_206A_202D_206E_206C_200B_200B_206F_200D_202B_202A_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(689068784), current.DisplayName), true); - try - { - IExposedPlugin exposedPlugin = FindProvider(current); - num2 = ((exposedPlugin == null) ? (-78011020) : (-78011019)); - while (true) - { - int num6 = num2; - num4 = -78011024; - num5 = num6; - int num8; - int num7; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - _uiUtils.ChecklistItem(current.DisplayName, flag2); - num2 = ((exposedPlugin == null) ? (-78011023) : (-78011021)); - break; - case 1: - num2 = (flag2 ? (-78011022) : (-78011016)); - break; - case 9: - flag = true; - num2 = -78011024; - break; - case 4: - num8 = 0; - goto IL_035b; - case 6: - num7 = ((!_206B_200E_202B_200C_206B_202C_206F_206B_202A_202D_202A_202D_202C_206D_200B_200B_200E_206A_206A_206C_202E_202B_200B_206B_200E_202C_200C_202E_202A_202E_200E_202D_202E_206F_202E_206B_202C_200C_206F_206F_202E(exposedPlugin)) ? 1 : 0); - goto IL_040b; - case 5: - num8 = (_206B_200E_202B_200C_206B_202C_206F_206B_202A_202D_202A_202D_202C_206D_200B_200B_200E_206A_206A_206C_202E_202B_200B_206B_200E_202C_200C_202E_202A_202E_200E_202D_202E_206F_202E_206B_202C_200C_206F_206F_202E(exposedPlugin) ? 1 : 0); - goto IL_035b; - case 3: - { - _206F_202A_202D_202E_202B_200C_202D_206B_202D_206E_200C_200E_200F_206C_206F_202C_200F_200B_202A_206B_206A_202D_206C_200B_200E_206A_202A_202E_202C_200B_206C_206A_202C_202E_202E_202A_200B_206A_206F_200E_202E(); - ImU8String imU8String = new ImU8String(1, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(198217444)); - imU8String.AppendFormatted(_202C_202B_200C_206B_202C_200C_202D_200D_206B_202E_206D_200C_206D_206B_200F_202C_206B_206A_200E_202B_206C_200B_200F_200E_206C_200C_200F_206A_200F_206B_202C_200E_206C_202D_200E_200E_206C_202B_200B_206E_202E(exposedPlugin)); - _202A_202D_200F_202E_202D_202C_200F_200C_206C_200E_200E_202E_202E_200D_206F_200D_206C_200E_202C_206A_206E_200E_200B_206D_202B_206B_200B_202B_202B_200B_206E_206C_200E_202E_206E_202C_200B_206A_206C_202C_202E(ref UiThemeUtils.DimTextColor, imU8String); - num2 = -78011023; - break; - } - case 8: - DrawInlineProviderActions(current, isDisabled); - num2 = -78011022; - break; - case 10: - num7 = 0; - goto IL_040b; - case 7: - num2 = -78011019; - break; - case 2: - goto end_IL_02a3; - IL_040b: - isDisabled = (byte)num7 != 0; - num2 = ((!flag2) ? (-78011024) : (-78011015)); - break; - IL_035b: - flag2 = (byte)num8 != 0; - num2 = ((exposedPlugin == null) ? (-78011014) : (-78011018)); - break; - } - continue; - end_IL_02a3: - break; - } - } - finally - { - num2 = ((idDisposable2 == null) ? (-508580231) : (-508580230)); - while (true) - { - int num9 = num2; - num4 = -508580229; - num5 = num9; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num2 = -508580230; - break; - case 2: - goto end_IL_045c; - case 1: - _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E((IDisposable)idDisposable2); - num2 = -508580231; - break; - } - continue; - end_IL_045c: - break; - } - } - } + flag = true; } - finally + _uiUtils.ChecklistItem(provider2.DisplayName, flag3); + if (exposedPlugin2 != null) { - num2 = ((enumerator == null) ? 1494926685 : 1494926686); - while (true) - { - int num10 = num2; - num4 = 1494926687; - num5 = num10; - int num11 = num5 + num4; - int num12 = num5 & num4; - switch (num11 - (num12 + num12)) - { - case 0: - num2 = 1494926686; - break; - case 2: - goto end_IL_04d8; - case 1: - _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E((IDisposable)enumerator); - num2 = 1494926685; - break; - } - continue; - end_IL_04d8: - break; - } + ImGui.SameLine(); + ImU8String text2 = new ImU8String(1, 1); + text2.AppendLiteral("v"); + text2.AppendFormatted(exposedPlugin2.Version); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text2); + } + if (!flag3) + { + DrawInlineProviderActions(provider2, isDisabled2); } } - finally - { - num2 = ((indentDisposable == null) ? 875852940 : 875852943); - while (true) - { - int num13 = num2; - num4 = 875852942; - num5 = num13; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num2 = 875852943; - break; - case 2: - goto end_IL_0545; - case 1: - _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E((IDisposable)indentDisposable); - num2 = 875852940; - break; - } - continue; - end_IL_0545: - break; - } - } - break; } - IL_0149: - isDisabled2 = (byte)num14 != 0; - flag = flag3; - num2 = ((exposedPlugin2 == null) ? (-1321585179) : (-1321585180)); - continue; - IL_00f2: - flag3 = (byte)num15 != 0; - num2 = ((exposedPlugin2 == null) ? (-1321585182) : (-1321585183)); - continue; } - break; - } - num2 = (flag ? 80486539 : 80486536); - int result; - while (true) - { - int num16 = num2; - int num4 = 80486537; - int num5 = num16; - int num17 = num5 + num4; - int num18 = num5 & num4; - switch (num17 - (num18 + num18)) - { - default: - continue; - case 0: - goto IL_05dd; - case 1: - result = ((_configuration.General.CombatModule != combatModule) ? 1 : 0); - break; - case 2: - result = 1; - break; - } - break; - IL_05dd: - num2 = 80486536; - } - return (byte)result != 0; - } - finally - { - int num2 = ((idDisposable == null) ? 412497532 : 412497533); - while (true) - { - int num19 = num2; - int num4 = 412497532; - int num5 = num19; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - num2 = 412497533; - break; - case 1: - _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E((IDisposable)idDisposable); - num2 = 412497532; - break; - case 0: - goto end_IL_0636; - } - continue; - end_IL_0636: - break; } + return flag || _configuration.General.CombatModule != combatModule; } } private void DrawProviderStatusIcon(bool isLoaded, bool isDisabled) { - _202B_200B_206A_200C_200D_202E_200B_200C_206A_206E_202B_206D_202B_202D_206B_206F_200B_206E_200E_200C_206E_202C_202D_200D_202C_200C_200F_206C_206B_202C_200D_202B_202B_206B_202D_200E_200C_200D_206E_200C_202E(0f); - IDisposable disposable = _202B_200F_200B_200E_206F_200D_202D_206C_202A_202D_202E_202D_206D_206E_206A_200D_200C_200F_206A_200D_200C_202A_206A_202A_202E_200C_206F_200B_206A_200D_202B_202C_202E_202A_206C_202A_202C_202C_202C_206E_202E(_202D_202D_202E_200B_200C_200B_206D_202C_200D_206C_206A_202B_200E_206F_206B_200C_206A_206A_206D_202E_202D_200E_202A_200D_200E_202D_202E_206F_202B_200E_202E_200E_206A_202A_206D_206E_206A_206D_206E_202E_202E(_202C_202B_200D_202D_202B_202B_206F_200C_202C_200F_200F_200B_206A_206F_206F_202C_206C_202E_206C_206B_200E_200F_206C_200D_206B_206D_200D_202A_200D_206E_202D_206B_202E_206E_202B_200E_206C_200D_200C_206C_202E(_pluginInterface))); - try + ImGui.SameLine(0f); + using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push()) { - int num = ((!isLoaded) ? 401911537 : 401911543); - Vector4 vector = default(Vector4); - FontAwesomeIcon fontAwesomeIcon = default(FontAwesomeIcon); - while (true) + Vector4 col; + FontAwesomeIcon icon; + if (isLoaded) { - int num2 = num; - int num3 = 401911539; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 401911543; - break; - case 3: - vector = UiThemeUtils.StatusLocked; - fontAwesomeIcon = FontAwesomeIcon.Times; - num = 401911542; - break; - case 4: - vector = UiThemeUtils.StatusComplete; - fontAwesomeIcon = FontAwesomeIcon.Check; - num = 401911542; - break; - case 1: - vector = UiThemeUtils.StatusActive; - fontAwesomeIcon = FontAwesomeIcon.ExclamationTriangle; - num = 401911542; - break; - case 2: - num = ((!isDisabled) ? 401911536 : 401911538); - break; - case 5: - _202D_200E_206B_206A_202C_200D_206F_206C_202C_206D_206D_202B_206D_202D_200B_200D_200D_206D_202A_202E_206B_206E_202C_202E_206C_200E_206C_202B_202A_202C_202A_206F_206A_206B_200B_202D_200B_206A_206D_206C_202E(); - _202A_202D_200F_202E_202D_202C_200F_200C_206C_200E_200E_202E_202E_200D_206F_200D_206C_200E_202C_206A_206E_200E_200B_206D_202B_206B_200B_202B_202B_200B_206E_206C_200E_202E_206E_202C_200B_206A_206C_202C_202E(ref vector, (ImU8String)_206A_202B_202C_200D_206D_206B_200F_206C_206E_200C_200E_200F_206E_206D_200D_202C_202C_206F_206C_200C_206C_202B_202A_206F_200D_206B_202A_200C_206B_200E_200C_200E_200B_202A_206F_206A_206B_202E_200D_206A_202E(fontAwesomeIcon)); - return; - } + col = UiThemeUtils.StatusComplete; + icon = FontAwesomeIcon.Check; } - } - finally - { - int num = ((disposable == null) ? (-1351279691) : (-1351279690)); - while (true) + else if (isDisabled) { - int num7 = num; - int num3 = -1351279692; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 1: - goto end_IL_0119; - case 2: - _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E(disposable); - num = -1351279691; - break; - case 0: - num = -1351279690; - break; - } - continue; - end_IL_0119: - break; + col = UiThemeUtils.StatusActive; + icon = FontAwesomeIcon.ExclamationTriangle; } + else + { + col = UiThemeUtils.StatusLocked; + icon = FontAwesomeIcon.Times; + } + ImGui.AlignTextToFramePadding(); + ImGui.TextColored(in col, icon.ToIconString()); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawInlineProviderActions(PluginProvider provider, bool isDisabled) { - int num = ((!isDisabled) ? (-398916645) : (-398916646)); - while (true) + if (isDisabled) { - int num2 = num; - int num3 = -398916642; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + ImGui.SameLine(); + ImGui.TextColored(in UiThemeUtils.StatusActive, "Installed but disabled"); + ImGui.SameLine(); + DrawEnableButton(provider); + DrawInstallError(provider); + return; + } + ImGui.SameLine(); + DrawInstallButton(provider); + ImGui.SameLine(); + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Globe, "Website")) + { + Util.OpenLink(provider.WebsiteUri.ToString()); + } + if (provider.DalamudRepositoryUri != null) + { + ImGui.SameLine(); + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Code, "Repo")) { - case 0: - num = -398916646; - break; - case 1: - _200F_206E_200B_202A_206F_202B_200B_206D_202D_206E_200D_206D_200C_202D_200F_202E_200D_202B_206F_206C_202B_206C_206C_200D_206A_200C_206C_202A_206B_202C_202E_206C_206B_200D_202C_206B_200D_206A_206E_206B_202E(_202B_206A_202D_206E_206B_200B_206C_206D_202C_202A_202A_200D_200B_200C_202C_200C_206E_206A_206E_200F_200C_206F_200B_206F_206C_202B_202C_206A_206F_206F_200F_206B_206C_200F_206C_200C_206A_200E_200B_206F_202E((object)provider.WebsiteUri)); - num = -398916643; - break; - case 3: - num = ((!_206A_206F_206D_206A_200D_202A_202A_206E_200F_200C_200C_200F_206A_202D_200F_206F_206E_202A_200C_206C_200E_200C_202B_200F_206C_202C_202E_206C_200C_206B_206B_206D_206E_206A_200C_206B_206E_200B_206A_202A_202E(provider.DalamudRepositoryUri, (Uri)null)) ? (-398916648) : (-398916647)); - break; - case 6: - DrawInstallError(provider); - return; - case 2: - _200F_206E_200B_202A_206F_202B_200B_206D_202D_206E_200D_206D_200C_202D_200F_202E_200D_202B_206F_206C_202B_206C_206C_200D_206A_200C_206C_202A_206B_202C_202E_206C_206B_200D_202C_206B_200D_206A_206E_206B_202E(_202B_206A_202D_206E_206B_200B_206C_206D_202C_202A_202A_200D_200B_200C_202C_200C_206E_206A_206E_200F_200C_206F_200B_206F_206C_202B_202C_206A_206F_206F_200F_206B_206C_200F_206C_200C_206A_200E_200B_206F_202E((object)provider.DalamudRepositoryUri)); - num = -398916648; - break; - case 4: - _206F_202A_202D_202E_202B_200C_202D_206B_202D_206E_200C_200E_200F_206C_206F_202C_200F_200B_202A_206B_206A_202D_206C_200B_200E_206A_202A_202E_202C_200B_206C_206A_202C_202E_202E_202A_200B_206A_206F_200E_202E(); - _202A_202D_200F_202E_202D_202C_200F_200C_206C_200E_200E_202E_202E_200D_206F_200D_206C_200E_202C_206A_206E_200E_200B_206D_202B_206B_200B_202B_202B_200B_206E_206C_200E_202E_206E_202C_200B_206A_206C_202C_202E(ref UiThemeUtils.StatusActive, (ImU8String)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(-443944027)); - _206F_202A_202D_202E_202B_200C_202D_206B_202D_206E_200C_200E_200F_206C_206F_202C_200F_200B_202A_206B_206A_202D_206C_200B_200E_206A_202A_202E_202C_200B_206C_206A_202C_202E_202E_202A_200B_206A_206F_200E_202E(); - DrawEnableButton(provider); - DrawInstallError(provider); - return; - case 5: - _206F_202A_202D_202E_202B_200C_202D_206B_202D_206E_200C_200E_200F_206C_206F_202C_200F_200B_202A_206B_206A_202D_206C_200B_200E_206A_202A_202E_202C_200B_206C_206A_202C_202E_202E_202A_200B_206A_206F_200E_202E(); - DrawInstallButton(provider); - _206F_202A_202D_202E_202B_200C_202D_206B_202D_206E_200C_200E_200F_206C_206F_202C_200F_200B_202A_206B_206A_202D_206C_200B_200E_206A_202A_202E_202C_200B_206C_206A_202C_202E_202E_202A_200B_206A_206F_200E_202E(); - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Globe, 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(256224394))) ? (-398916643) : (-398916641)); - break; - case 7: - _206F_202A_202D_202E_202B_200C_202D_206B_202D_206E_200C_200E_200F_206C_206F_202C_200F_200B_202A_206B_206A_202D_206C_200B_200E_206A_202A_202E_202C_200B_206C_206A_202C_202E_202E_202A_200B_206A_206F_200E_202E(); - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Code, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1538203157))) ? (-398916648) : (-398916644)); - break; + Util.OpenLink(provider.DalamudRepositoryUri.ToString()); } } + DrawInstallError(provider); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawInstallButton(PluginProvider provider) { - Uri? dalamudRepositoryUri = provider.DalamudRepositoryUri; - string text = (((object)dalamudRepositoryUri != null) ? _202B_206A_202D_206E_206B_200B_206C_206D_202C_202A_202A_200D_200B_200C_202C_200C_206E_206A_206E_200F_200C_206F_200B_206F_206C_202B_202C_206A_206F_206F_200F_206B_206C_200F_206C_200C_206A_200E_200B_206F_202E((object)dalamudRepositoryUri) : null); - PluginInstallStatus pluginInstallStatus = _206A_206A_202C_202C_206F_202E_206A_200F_200C_202B_206B_202D_200C_206F_206C_206A_200E_206A_206B_202A_202A_202E_200B_200E_206C_206C_200B_206F_200E_202C_202C_202B_206E_206B_200D_206F_200F_202E_202D_206C_202E(_206A_202A_206B_200F_206A_202D_202D_206A_200E_206B_206C_206A_202A_202B_206B_200B_202D_200B_200C_206F_206F_206C_206F_206E_200E_202C_202E_200E_206D_206E_200F_200D_202B_206E_202A_202C_206E_206B_200E_200C_202E(_installer, provider.InternalName, text)); - int num = ((pluginInstallStatus == PluginInstallStatus.InProgress) ? (-1622657706) : (-1622657711)); - string text2 = default(string); - bool flag = default(bool); - while (true) + string thirdPartyRepoUrl = provider.DalamudRepositoryUri?.ToString(); + string text; + bool flag; + switch (_installer.GetState(provider.InternalName, thirdPartyRepoUrl).Status) { - int num2 = num; - int num3 = -1622657707; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + case PluginInstallStatus.InProgress: + text = "Installing…"; + flag = false; + break; + case PluginInstallStatus.Failed: + text = "Retry Install"; + flag = !_installer.IsAnyInstallInProgress; + break; + default: + text = "Install"; + flag = !_installer.IsAnyInstallInProgress; + break; + } + using (ImRaii.Disabled(!flag)) + { + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Download, text)) { - case 2: - text2 = 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(1562604466); - flag = !_202C_200F_202A_206D_206D_200B_202A_202D_200F_206C_200F_206D_200D_202D_202D_202E_200C_202B_200F_206E_206F_200B_202B_200D_200D_206D_200C_200D_200F_206E_202A_202D_200B_202D_206D_202A_200B_202B_200C_202D_202E(_installer); - num = -1622657712; - break; - case 1: - text2 = 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(1827312863); - flag = !_202C_200F_202A_206D_206D_200B_202A_202D_200F_206C_200F_206D_200D_202D_202D_202E_200C_202B_200F_206E_206F_200B_202B_200D_200D_206D_200C_200D_200F_206E_202A_202D_200B_202D_206D_202A_200B_202B_200C_202D_202E(_installer); - num = -1622657712; - break; - case 3: - text2 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(676010430); - flag = false; - num = -1622657712; - break; - case 0: - num = -1622657711; - break; - case 4: - num = ((pluginInstallStatus == PluginInstallStatus.Failed) ? (-1622657708) : (-1622657709)); - break; - case 6: - num = -1622657705; - break; - case 5: - { - ImRaii.DisabledDisposable disabledDisposable = _206C_202C_206D_206B_202B_206A_202D_202D_202B_206B_202C_202E_206C_206D_202A_206B_206E_202C_200E_202C_202D_200E_206B_202D_202E_206F_202C_206D_206E_206B_200C_202A_202A_206E_202A_200F_200F_200E_206A_200E_202E(!flag); - try - { - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Download, text2)) ? (-1581628262) : (-1581628263)); - while (true) - { - int num5 = num; - num3 = -1581628264; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1581628263; - break; - case 1: - _200C_206A_206D_202E_206D_202E_200B_206E_200F_200F_202B_202C_206B_202E_206C_202B_200B_202C_206A_200E_200E_200C_206A_202D_202E_206E_202A_202E_202E_206B_206D_202C_202E_200E_206F_206C_200F_202B_202D_206B_202E(_installer, provider.InternalName, text, provider.AliasUrls); - num = -1581628262; - break; - case 2: - return; - } - } - } - finally - { - num = ((disabledDisposable == null) ? (-1254752141) : (-1254752144)); - while (true) - { - int num6 = num; - num3 = -1254752142; - num4 = num6; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1254752144; - break; - case 1: - goto end_IL_01dc; - case 2: - _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E((IDisposable)disabledDisposable); - num = -1254752141; - break; - } - continue; - end_IL_01dc: - break; - } - } - } + _installer.TryInstall(provider.InternalName, thirdPartyRepoUrl, provider.AliasUrls); } } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawEnableButton(PluginProvider provider) { - Uri? dalamudRepositoryUri = provider.DalamudRepositoryUri; - string text = (((object)dalamudRepositoryUri != null) ? _202B_206A_202D_206E_206B_200B_206C_206D_202C_202A_202A_200D_200B_200C_202C_200C_206E_206A_206E_200F_200C_206F_200B_206F_206C_202B_202C_206A_206F_206F_200F_206B_206C_200F_206C_200C_206A_200E_200B_206F_202E((object)dalamudRepositoryUri) : null); - PluginInstallStatus pluginInstallStatus = _206A_206A_202C_202C_206F_202E_206A_200F_200C_202B_206B_202D_200C_206F_206C_206A_200E_206A_206B_202A_202A_202E_200B_200E_206C_206C_200B_206F_200E_202C_202C_202B_206E_206B_200D_206F_200F_202E_202D_206C_202E(_206A_202A_206B_200F_206A_202D_202D_206A_200E_206B_206C_206A_202A_202B_206B_200B_202D_200B_200C_206F_206F_206C_206F_206E_200E_202C_202E_200E_206D_206E_200F_200D_202B_206E_202A_202C_206E_206B_200E_200C_202E(_installer, provider.InternalName, text)); - int num = ((pluginInstallStatus == PluginInstallStatus.InProgress) ? 931338616 : 931338618); - string text2 = default(string); - bool flag = default(bool); - while (true) + string thirdPartyRepoUrl = provider.DalamudRepositoryUri?.ToString(); + string text; + bool flag; + switch (_installer.GetState(provider.InternalName, thirdPartyRepoUrl).Status) { - int num2 = num; - int num3 = 931338622; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + case PluginInstallStatus.InProgress: + text = "Enabling…"; + flag = false; + break; + case PluginInstallStatus.Failed: + text = "Retry Enable"; + flag = !_installer.IsAnyInstallInProgress; + break; + default: + text = "Enable"; + flag = !_installer.IsAnyInstallInProgress; + break; + } + using (ImRaii.Disabled(!flag)) + { + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.ToggleOn, text)) { - case 5: - text2 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1378809147); - flag = !_202C_200F_202A_206D_206D_200B_202A_202D_200F_206C_200F_206D_200D_202D_202D_202E_200C_202B_200F_206E_206F_200B_202B_200D_200D_206D_200C_200D_200F_206E_202A_202D_200B_202D_206D_202A_200B_202B_200C_202D_202E(_installer); - num = 931338620; - break; - case 6: - text2 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-681385853); - flag = false; - num = 931338620; - break; - case 3: - text2 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1002098078); - flag = !_202C_200F_202A_206D_206D_200B_202A_202D_200F_206C_200F_206D_200D_202D_202D_202E_200C_202B_200F_206E_206F_200B_202B_200D_200D_206D_200C_200D_200F_206E_202A_202D_200B_202D_206D_202A_200B_202B_200C_202D_202E(_installer); - num = 931338620; - break; - case 4: - num = ((pluginInstallStatus == PluginInstallStatus.Failed) ? 931338621 : 931338623); - break; - case 0: - num = 931338618; - break; - case 1: - num = 931338619; - break; - case 2: - { - ImRaii.DisabledDisposable disabledDisposable = _206C_202C_206D_206B_202B_206A_202D_202D_202B_206B_202C_202E_206C_206D_202A_206B_206E_202C_200E_202C_202D_200E_206B_202D_202E_206F_202C_206D_206E_206B_200C_202A_202A_206E_202A_200F_200F_200E_206A_200E_202E(!flag); - try - { - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.ToggleOn, text2)) ? (-2109627536) : (-2109627533)); - while (true) - { - int num5 = num; - num3 = -2109627535; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 0: - num = -2109627533; - break; - case 2: - _206F_202E_206A_200F_200F_200F_200C_202A_206E_200E_200D_200B_206E_200D_202A_200C_200B_200D_200E_202B_200B_202A_200E_200D_206C_202C_202C_202D_206F_202E_200C_202B_202D_206D_206B_202B_206D_206A_202E_202C_202E(_installer, provider.InternalName, text, provider.AliasUrls); - num = -2109627536; - break; - case 1: - return; - } - } - } - finally - { - num = ((disabledDisposable == null) ? 1605622938 : 1605622937); - while (true) - { - int num8 = num; - num3 = 1605622936; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 2: - goto end_IL_01de; - case 1: - _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E((IDisposable)disabledDisposable); - num = 1605622938; - break; - case 0: - num = 1605622937; - break; - } - continue; - end_IL_01de: - break; - } - } - } + _installer.TryEnable(provider.InternalName, thirdPartyRepoUrl, provider.AliasUrls); } } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawInstallError(PluginProvider provider) { - Uri? dalamudRepositoryUri = provider.DalamudRepositoryUri; - string text = (((object)dalamudRepositoryUri != null) ? _202B_206A_202D_206E_206B_200B_206C_206D_202C_202A_202A_200D_200B_200C_202C_200C_206E_206A_206E_200F_200C_206F_200B_206F_206C_202B_202C_206A_206F_206F_200F_206B_206C_200F_206C_200C_206A_200E_200B_206F_202E((object)dalamudRepositoryUri) : null); - PluginInstallState pluginInstallState = _206A_202A_206B_200F_206A_202D_202D_206A_200E_206B_206C_206A_202A_202B_206B_200B_202D_200B_200C_206F_206F_206C_206F_206E_200E_202C_202E_200E_206D_206E_200F_200D_202B_206E_202A_202C_206E_206B_200E_200C_202E(_installer, provider.InternalName, text); - int num = ((_206A_206A_202C_202C_206F_202E_206A_200F_200C_202B_206B_202D_200C_206F_206C_206A_200E_206A_206B_202A_202A_202E_200B_200E_206C_206C_200B_206F_200E_202C_202C_202B_206E_206B_200D_206F_200F_202E_202D_206C_202E(pluginInstallState) != PluginInstallStatus.Failed) ? 1117282439 : 1117282436); - while (true) + string thirdPartyRepoUrl = provider.DalamudRepositoryUri?.ToString(); + PluginInstallState state = _installer.GetState(provider.InternalName, thirdPartyRepoUrl); + if (state.Status == PluginInstallStatus.Failed && !string.IsNullOrEmpty(state.ErrorMessage)) { - int num2 = num; - int num3 = 1117282439; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1117282436; - break; - case 3: - num = ((!_202A_206C_206D_202D_206B_202E_206E_200D_206E_202B_200F_200C_202D_202C_202B_202A_200E_206F_206D_200B_206B_202D_202A_206E_200E_202B_200F_202B_206C_202E_200B_202C_206F_206C_200D_200E_206B_200B_200E_200D_202E(_200E_200C_202D_202C_206A_202C_200F_206B_200F_200B_202E_200C_202C_206A_200F_206E_202B_200C_200C_200D_202C_202E_206E_200D_202B_206C_206A_206B_206E_206F_200F_200C_200E_202E_202D_206F_202D_206D_200E_206C_202E(pluginInstallState))) ? 1117282438 : 1117282439); - break; - case 1: - { - _200F_202E_200C_202C_200B_206A_206F_200C_206D_202B_202D_206E_206A_200E_206B_206B_206C_206A_202C_202A_202D_206E_206E_202D_200F_206D_202A_200B_200F_206B_206B_200F_202D_206D_200C_206B_206B_200E_200C_206E_202E(0f); - ImU8String imU8String = new ImU8String(8, 1); - imU8String.AppendLiteral(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(1468647696)); - imU8String.AppendFormatted(_200E_200C_202D_202C_206A_202C_200F_206B_200F_200B_202E_200C_202C_206A_200F_206E_202B_200C_200C_200D_202C_202E_206E_200D_202B_206C_206A_206B_206E_206F_200F_200C_200E_202E_202D_206F_202D_206D_200E_206C_202E(pluginInstallState)); - _202A_202D_200F_202E_202D_202C_200F_200C_206C_200E_200E_202E_202E_200D_206F_200D_206C_200E_202C_206A_206E_200E_200B_206D_202B_206B_200B_202B_202B_200B_206E_206C_200E_202E_206E_202C_200B_206A_206C_202C_202E(ref UiThemeUtils.StatusLocked, imU8String); - _200B_202B_202B_206F_202D_202D_206D_200F_206A_206E_202E_206E_202C_202C_202C_206F_206A_200B_202A_202B_206E_206E_200D_200C_200C_202A_206B_206D_200B_206A_200C_200E_200D_200E_200F_206E_206D_202A_202D_202A_202E(); - return; - } - case 0: - return; - } + ImGui.PushTextWrapPos(0f); + ImU8String text = new ImU8String(8, 1); + text.AppendLiteral("Failed: "); + text.AppendFormatted(state.ErrorMessage); + ImGui.TextColored(in UiThemeUtils.StatusLocked, text); + ImGui.PopTextWrapPos(); } } - - static Uri _206B_202C_206D_202B_206A_206A_206E_202E_202C_200C_200D_202C_200C_202C_202B_206E_206E_200E_202C_206B_202B_202E_200E_200C_202E_200D_206E_206B_206C_206D_206D_202E_200E_202A_200F_206B_202E_200C_202B_202E(string P_0) - { - return new Uri(P_0); - } - - static bool _200F_206F_200D_206E_202A_206F_206D_206B_202C_202B_200D_206C_206C_200C_202A_206A_206C_206F_200B_202E_200B_202C_200C_206C_206C_206F_206A_200E_206C_200B_200D_206D_206A_206A_206E_202E_202C_202B_206D_202B_202E(ICommandManager P_0, string P_1) - { - return P_0.ProcessCommand(P_1); - } - - static void _202B_206D_206D_202C_200F_200E_200B_202D_200C_206A_206C_202A_206F_202C_206B_200C_202A_202E_200B_202C_200C_200E_206A_206A_202C_202D_200F_206D_206D_200F_206F_202C_200F_200F_206F_202B_202C_206B_202A_200F_202E() - { - ImGui.Spacing(); - } - - static IUiBuilder _202C_202B_200D_202D_202B_202B_206F_200C_202C_200F_200F_200B_206A_206F_206F_202C_206C_202E_206C_206B_200E_200F_206C_200D_206B_206D_200D_202A_200D_206E_202D_206B_202E_206E_202B_200E_206C_200D_200C_206C_202E(IDalamudPluginInterface P_0) - { - return P_0.UiBuilder; - } - - static IFontHandle _202D_202D_202E_200B_200C_200B_206D_202C_200D_206C_206A_202B_200E_206F_206B_200C_206A_206A_206D_202E_202D_200E_202A_200D_200E_202D_202E_206F_202B_200E_202E_200E_206A_202A_206D_206E_206A_206D_206E_202E_202E(IUiBuilder P_0) - { - return P_0.IconFontFixedWidthHandle; - } - - static IDisposable _202B_200F_200B_200E_206F_200D_202D_206C_202A_202D_202E_202D_206D_206E_206A_200D_200C_200F_206A_200D_200C_202A_206A_202A_202E_200C_206F_200B_206A_200D_202B_202C_202E_202A_206C_202A_202C_202C_202C_206E_202E(IFontHandle P_0) - { - return P_0.Push(); - } - - static string _206A_202B_202C_200D_206D_206B_200F_206C_206E_200C_200E_200F_206E_206D_200D_202C_202C_206F_206C_200C_206C_202B_202A_206F_200D_206B_202A_200C_206B_200E_200C_200E_200B_202A_206F_206A_206B_202E_200D_206A_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static Vector2 _200D_206F_206D_206A_202E_200E_202E_202C_200F_202C_206E_206C_202C_202B_200E_202C_200B_202B_206D_202B_202A_206A_206D_200B_202B_206F_206D_206C_200D_202C_200B_202C_206C_206C_202B_200B_202C_202C_202C_200F_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static ImGuiStylePtr _206A_206C_200E_200D_202D_202E_202C_200B_206E_200B_200B_206F_200D_202E_200B_200E_200C_202E_206D_200D_200C_206C_200C_202C_200E_200D_206F_202D_202E_206A_206B_206E_206F_200B_202A_200C_202B_202C_200F_206B_202E() - { - return ImGui.GetStyle(); - } - - static void _206E_206E_202C_202B_202D_202C_202D_200D_200E_202A_202D_206F_200F_200E_206A_200F_200F_206A_206C_206D_202C_200E_206C_200F_202A_200C_202D_206B_200C_202D_202B_202C_202C_200D_200C_202C_202C_206E_206C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static bool _206F_202E_200C_202D_206F_206D_202D_202C_206D_200B_202D_202A_202D_202D_202C_200C_206B_206E_206C_200E_206D_206D_202E_206C_206D_206B_200F_200C_200E_206A_200F_202E_202C_200E_200E_206A_206E_200B_200B_202C_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static ImRaii.DisabledDisposable _206C_202C_206D_206B_202B_206A_202D_202D_202B_206B_202C_202E_206C_206D_202A_206B_206E_202C_200E_202C_202D_200E_206B_202D_202E_206F_202C_206D_206E_206B_200C_202A_202A_206E_202A_200F_200F_200E_206A_200E_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static bool _206B_206F_200E_200B_202D_202D_206E_206B_202D_200F_206B_206A_206A_206E_202E_200B_206B_206B_206F_200F_200C_206C_200C_200B_202C_202B_206B_200F_206E_200B_206D_200D_202B_200C_200F_206A_200B_206B_202A_200E_202E(ImU8String P_0, bool P_1) - { - return ImGui.RadioButton(P_0, P_1); - } - - static void _206D_206D_206A_200F_202E_200B_202E_206C_206A_206E_206D_202C_202C_206C_202A_206D_202A_202B_206D_200C_200E_206B_202C_202C_200B_206B_202E_206B_206B_206B_202C_202B_200B_206F_200C_200D_206B_200F_202A_202C_202E(IDalamudPluginInterface P_0, IPluginConfiguration P_1) - { - P_0.SavePluginConfig(P_1); - } - - static IEnumerable _200B_200F_202C_200B_206D_206F_202A_202E_202E_202A_202A_202C_200C_206F_202B_200F_206E_206B_200B_200D_200F_200D_206D_206E_202C_202E_206F_200F_200D_206E_206C_202C_206A_202D_206F_206D_200E_206F_206D_202A_202E(IDalamudPluginInterface P_0) - { - return P_0.InstalledPlugins; - } - - static string _200D_202D_200E_202E_202E_206F_206C_206B_202C_200D_202E_202E_202A_202A_200B_200C_200B_206A_206E_200F_206D_200D_200D_200C_200E_206D_202E_206C_200F_202E_206D_200F_202E_200E_206E_202B_206C_206A_206B_206E_202E(string P_0, IEnumerable P_1) - { - return string.Join(P_0, P_1); - } - - static string _202E_200E_202E_206E_202D_200B_202B_200B_200E_200E_200C_206A_202E_206E_206F_202C_206F_206C_202C_200B_200B_202E_200B_206F_200F_206E_202E_202D_206D_200C_206A_202D_206E_206C_200B_200B_206F_200D_202B_202A_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static ImRaii.IdDisposable _206C_200C_200B_200D_202A_202B_202C_200B_202E_202E_206F_202A_202B_200E_202A_200F_206B_206F_206E_200E_206B_206A_206E_202C_202E_206E_200C_200D_202A_200B_206F_202A_200B_202C_200B_202B_206E_202C_206C_202B_202E(ImU8String P_0, bool P_1) - { - return ImRaii.PushId(P_0, P_1); - } - - static void _202D_202A_206D_206B_200B_200F_200E_200B_200B_206B_200F_202A_200F_206D_200C_200F_206C_200E_202D_202D_200D_206E_202A_206C_200C_202E_200B_206C_206F_206E_202E_202E_206E_206D_206E_200B_206E_200F_206F_200E_202E(ImU8String P_0) - { - ImGui.TextUnformatted(P_0); - } - - static ImRaii.IndentDisposable _200B_200C_200D_200F_202E_200F_206D_206E_200D_202C_200B_206D_202B_200F_200E_206E_202A_200D_200D_200D_200C_200F_206B_200B_200C_202A_202E_206E_206D_200F_202C_200C_206C_200F_200C_206C_206A_206B_206B_206D_202E(float P_0, bool P_1, bool P_2) - { - return ImRaii.PushIndent(P_0, P_1, P_2); - } - - static bool _202A_206C_206D_202D_206B_202E_206E_200D_206E_202B_200F_200C_202D_202C_202B_202A_200E_206F_206D_200B_206B_202D_202A_206E_200E_202B_200F_202B_206C_202E_200B_202C_206F_206C_200D_200E_206B_200B_200E_200D_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static void _200F_202E_200C_202C_200B_206A_206F_200C_206D_202B_202D_206E_206A_200E_206B_206B_206C_206A_202C_202A_202D_206E_206E_202D_200F_206D_202A_200B_200F_206B_206B_200F_202D_206D_200C_206B_206B_200E_200C_206E_202E(float P_0) - { - ImGui.PushTextWrapPos(P_0); - } - - static void _202A_202D_200F_202E_202D_202C_200F_200C_206C_200E_200E_202E_202E_200D_206F_200D_206C_200E_202C_206A_206E_200E_200B_206D_202B_206B_200B_202B_202B_200B_206E_206C_200E_202E_206E_202C_200B_206A_206C_202C_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static void _200B_202B_202B_206F_202D_202D_206D_200F_206A_206E_202E_206E_202C_202C_202C_206F_206A_200B_202A_202B_206E_206E_200D_200C_200C_202A_206B_206D_200B_206A_200C_200E_200D_200E_200F_206E_206D_202A_202D_202A_202E() - { - ImGui.PopTextWrapPos(); - } - - static bool _206B_200E_202B_200C_206B_202C_206F_206B_202A_202D_202A_202D_202C_206D_200B_200B_200E_206A_206A_206C_202E_202B_200B_206B_200E_202C_200C_202E_202A_202E_200E_202D_202E_206F_202E_206B_202C_200C_206F_206F_202E(IExposedPlugin P_0) - { - return P_0.IsLoaded; - } - - static void _206F_202A_202D_202E_202B_200C_202D_206B_202D_206E_200C_200E_200F_206C_206F_202C_200F_200B_202A_206B_206A_202D_206C_200B_200E_206A_202A_202E_202C_200B_206C_206A_202C_202E_202E_202A_200B_206A_206F_200E_202E() - { - ImGui.SameLine(); - } - - static Version _202C_202B_200C_206B_202C_200C_202D_200D_206B_202E_206D_200C_206D_206B_200F_202C_206B_206A_200E_202B_206C_200B_200F_200E_206C_200C_200F_206A_200F_206B_202C_200E_206C_202D_200E_200E_206C_202B_200B_206E_202E(IExposedPlugin P_0) - { - return P_0.Version; - } - - static void _202B_200B_206A_200C_200D_202E_200B_200C_206A_206E_202B_206D_202B_202D_206B_206F_200B_206E_200E_200C_206E_202C_202D_200D_202C_200C_200F_206C_206B_202C_200D_202B_202B_206B_202D_200E_200C_200D_206E_200C_202E(float P_0) - { - ImGui.SameLine(P_0); - } - - static void _202D_200E_206B_206A_202C_200D_206F_206C_202C_206D_206D_202B_206D_202D_200B_200D_200D_206D_202A_202E_206B_206E_202C_202E_206C_200E_206C_202B_202A_202C_202A_206F_206A_206B_200B_202D_200B_206A_206D_206C_202E() - { - ImGui.AlignTextToFramePadding(); - } - - static bool _206A_206F_206D_206A_200D_202A_202A_206E_200F_200C_200C_200F_206A_202D_200F_206F_206E_202A_200C_206C_200E_200C_202B_200F_206C_202C_202E_206C_200C_206B_206B_206D_206E_206A_200C_206B_206E_200B_206A_202A_202E(Uri P_0, Uri P_1) - { - return P_0 != P_1; - } - - static string _202B_206A_202D_206E_206B_200B_206C_206D_202C_202A_202A_200D_200B_200C_202C_200C_206E_206A_206E_200F_200C_206F_200B_206F_206C_202B_202C_206A_206F_206F_200F_206B_206C_200F_206C_200C_206A_200E_200B_206F_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200F_206E_200B_202A_206F_202B_200B_206D_202D_206E_200D_206D_200C_202D_200F_202E_200D_202B_206F_206C_202B_206C_206C_200D_206A_200C_206C_202A_206B_202C_202E_206C_206B_200D_202C_206B_200D_206A_206E_206B_202E(string P_0) - { - Util.OpenLink(P_0); - } - - static bool _200B_200F_200D_202A_202D_200D_202A_206C_200D_200B_206E_200C_206B_206A_200E_206E_202D_200E_200F_202A_202D_202B_206E_200D_206C_206A_202A_202E_206C_200F_200E_206F_206C_206D_206C_206D_206A_200E_206E_202B_202E(string P_0, char P_1) - { - return P_0.StartsWith(P_1); - } - - static PluginInstallState _206A_202A_206B_200F_206A_202D_202D_206A_200E_206B_206C_206A_202A_202B_206B_200B_202D_200B_200C_206F_206F_206C_206F_206E_200E_202C_202E_200E_206D_206E_200F_200D_202B_206E_202A_202C_206E_206B_200E_200C_202E(PluginInstaller P_0, string P_1, string P_2) - { - return P_0.GetState(P_1, P_2); - } - - static PluginInstallStatus _206A_206A_202C_202C_206F_202E_206A_200F_200C_202B_206B_202D_200C_206F_206C_206A_200E_206A_206B_202A_202A_202E_200B_200E_206C_206C_200B_206F_200E_202C_202C_202B_206E_206B_200D_206F_200F_202E_202D_206C_202E(PluginInstallState P_0) - { - return P_0.Status; - } - - static bool _202C_200F_202A_206D_206D_200B_202A_202D_200F_206C_200F_206D_200D_202D_202D_202E_200C_202B_200F_206E_206F_200B_202B_200D_200D_206D_200C_200D_200F_206E_202A_202D_200B_202D_206D_202A_200B_202B_200C_202D_202E(PluginInstaller P_0) - { - return P_0.IsAnyInstallInProgress; - } - - static bool _200C_206A_206D_202E_206D_202E_200B_206E_200F_200F_202B_202C_206B_202E_206C_202B_200B_202C_206A_200E_200E_200C_206A_202D_202E_206E_202A_202E_202E_206B_206D_202C_202E_200E_206F_206C_200F_202B_202D_206B_202E(PluginInstaller P_0, string P_1, string P_2, IReadOnlyList P_3) - { - return P_0.TryInstall(P_1, P_2, P_3); - } - - static bool _206F_202E_206A_200F_200F_200F_200C_202A_206E_200E_200D_200B_206E_200D_202A_200C_200B_200D_200E_202B_200B_202A_200E_200D_206C_202C_202C_202D_206F_202E_200C_202B_202D_206D_206B_202B_206D_206A_202E_202C_202E(PluginInstaller P_0, string P_1, string P_2, IReadOnlyList P_3) - { - return P_0.TryEnable(P_1, P_2, P_3); - } - - static string _200E_200C_202D_202C_206A_202C_200F_206B_200F_200B_202E_200C_202C_206A_200F_206E_202B_200C_200C_200D_202C_202E_206E_200D_202B_206C_206A_206B_206E_206F_200F_200C_200E_202E_202D_206F_202D_206D_200E_206C_202E(PluginInstallState P_0) - { - return P_0.ErrorMessage; - } - - static void _206F_206D_206A_202E_200F_200F_206F_206D_200C_200F_206E_202C_202D_200F_200D_200F_200B_206C_206B_202B_200F_200C_206F_202A_206B_206F_202D_200D_202B_206F_202E_206E_202A_202C_202D_206F_206F_200B_202C_200E_202E(ImU8String P_0) - { - ImGui.TextDisabled(P_0); - } - - static void _206D_206B_206A_202D_200E_202E_206D_200E_200E_200D_206B_206D_206C_206A_200D_206B_206D_206F_206F_200B_200F_206A_200F_202E_202C_206B_200C_206A_206B_200F_202D_200E_206F_202E_202A_202D_202E_200D_202A_202C_202E() - { - ImGui.Separator(); - } } diff --git a/Questionable/Questionable.Windows.ConfigComponents/QuestsConfigComponent.cs b/Questionable/Questionable.Windows.ConfigComponents/QuestsConfigComponent.cs index a739d82..0f57f55 100644 --- a/Questionable/Questionable.Windows.ConfigComponents/QuestsConfigComponent.cs +++ b/Questionable/Questionable.Windows.ConfigComponents/QuestsConfigComponent.cs @@ -1,41 +1,23 @@ using System; -using System.Collections; -using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; using Dalamud.Interface.Utility.Raii; using Dalamud.Plugin; using Questionable.Controller; using Questionable.Data; -using Questionable.Model.Questing; namespace Questionable.Windows.ConfigComponents; internal sealed class QuestsConfigComponent : ConfigComponent { - private static readonly string[] RoleQuestPreferenceNames = new string[6] - { - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(782819251), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1988067926), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1416322900), - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(775671530), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-642103101), - 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(-1075445521) - }; + private static readonly string[] RoleQuestPreferenceNames = new string[6] { "Default (current job)", "Tank", "Healer", "Melee DPS", "Physical Ranged DPS", "Caster" }; - private readonly string[] _msqPriorityNames = new string[3] - { - 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(728941723), - 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(-1545248646), - 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(-1566075214) - }; + private readonly string[] _msqPriorityNames = new string[3] { "Always (MSQ first)", "After Tracked (MSQ last)", "Manual (never auto-accept MSQ)" }; private readonly QuestRegistry _questRegistry; private readonly TerritoryData _territoryData; - [MethodImpl(MethodImplOptions.NoInlining)] public QuestsConfigComponent(IDalamudPluginInterface pluginInterface, Configuration configuration, QuestRegistry questRegistry, TerritoryData territoryData) : base(pluginInterface, configuration) { @@ -54,551 +36,182 @@ internal sealed class QuestsConfigComponent : ConfigComponent DrawQuestDetails(); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawStoryAndProgression() { - UiThemeUtils.SectionHeader(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(237164093)); + UiThemeUtils.SectionHeader("Story & Progression"); (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple = UiThemeUtils.BeginCard(); Vector2 item = tuple.ContentStartPos; float item2 = tuple.AvailableWidth; ImDrawListPtr item3 = tuple.DrawList; int currentItem = (int)base.Configuration.General.MsqPriority; - _206A_202B_200E_200E_206A_206F_202C_200D_206F_200B_206C_202B_200B_206B_202A_202A_202B_206F_200D_206F_200D_202E_206E_202E_202A_206D_206E_200D_206D_206B_206A_200E_202D_202D_200F_206A_206F_200C_206D_202E_202E(_202A_200C_202C_200E_206D_200D_202B_206C_200C_202D_206B_200C_206F_200C_200C_200D_206C_202A_206D_206C_202D_200F_206C_202A_202B_206E_202C_202E_206D_202C_206C_202A_206D_206D_202A_200C_200F_200F_206F_200D_202E(_202C_200D_200B_202B_206A_206F_206E_200C_200E_200E_200F_200D_202D_202E_202B_200B_202B_200E_200C_200C_200D_206D_202B_200D_200C_202D_202E_202B_206E_206A_206E_202C_206A_206F_200B_200C_206C_206A_206D_206E_202E().X * 0.6f, 260f)); - int num = ((!UiThemeUtils.ThemedCombo(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-812204508), ref currentItem, _msqPriorityNames, _msqPriorityNames.Length)) ? (-1137741193) : (-1137741192)); - bool value3 = default(bool); - bool value = default(bool); - bool value2 = default(bool); - while (true) + ImGui.SetNextItemWidth(MathF.Min(ImGui.GetContentRegionAvail().X * 0.6f, 260f)); + if (UiThemeUtils.ThemedCombo("MSQ Priority", ref currentItem, _msqPriorityNames, _msqPriorityNames.Length)) { - int num2 = num; - int num3 = -1137741200; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - num = -1137741192; - break; - case 6: - UiThemeUtils.EndCard(item, item2, item3); - return; - case 3: - _206C_202B_200F_202D_200D_200D_200E_200C_206F_200D_200C_202A_206F_200D_206E_200E_202C_202E_202D_206B_202B_202E_202C_200D_206F_200F_206C_206E_206D_206F_202A_202A_200C_200B_202B_202E_200B_200B_206C_202A_202E(); - UiThemeUtils.InfoIcon(BuildLowPriorityDutyTooltip()); - value3 = base.Configuration.Advanced.SkipARealmRebornHardModePrimals; - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1581997806), ref value3, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1805083128))) ? (-1137741199) : (-1137741196)); - break; - case 1: - value = base.Configuration.Advanced.SkipCrystalTowerRaids; - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(597003945), ref value, 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(600330157))) ? (-1137741194) : (-1137741198)); - break; - case 7: - _206C_202B_200F_202D_200D_200D_200E_200C_206F_200D_200C_202A_206F_200D_206E_200E_202C_202E_202D_206B_202B_202E_202C_200D_206F_200F_206C_206E_206D_206F_202A_202A_200C_200B_202B_202E_200B_200B_206C_202A_202E(); - UiThemeUtils.InfoIcon(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(-844746693)); - value2 = base.Configuration.General.SkipLowPriorityDuties; - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1739526740), ref value2)) ? (-1137741197) : (-1137741200)); - break; - case 8: - base.Configuration.General.MsqPriority = (Configuration.EMsqPriorityMode)currentItem; - Save(); - num = -1137741193; - break; - case 4: - base.Configuration.Advanced.SkipARealmRebornHardModePrimals = value3; - Save(); - num = -1137741199; - break; - case 0: - base.Configuration.General.SkipLowPriorityDuties = value2; - Save(); - num = -1137741197; - break; - case 2: - base.Configuration.Advanced.SkipCrystalTowerRaids = value; - Save(); - num = -1137741194; - break; - } + base.Configuration.General.MsqPriority = (Configuration.EMsqPriorityMode)currentItem; + Save(); } + ImGui.SameLine(); + UiThemeUtils.InfoIcon("Controls when the Main Scenario Quest (MSQ) is automatically accepted:\n\n• Always: Auto-accept MSQ immediately\n• After Tracked: Complete accepted quests first, then pick up MSQ\n• Manual: Never auto-accept MSQ, only do manually accepted quests"); + bool value = base.Configuration.General.SkipLowPriorityDuties; + if (UiThemeUtils.WrappedCheckbox("Unlock certain optional dungeons and raids (instead of waiting for completion)", ref value)) + { + base.Configuration.General.SkipLowPriorityDuties = value; + Save(); + } + ImGui.SameLine(); + UiThemeUtils.InfoIcon(BuildLowPriorityDutyTooltip()); + bool value2 = base.Configuration.Advanced.SkipARealmRebornHardModePrimals; + if (UiThemeUtils.WrappedCheckbox("Don't pick up ARR hard mode primal quests", ref value2, "Hard mode Ifrit/Garuda/Titan are required for the Patch 2.5 quest 'Good Intentions' and to start Heavensward.")) + { + base.Configuration.Advanced.SkipARealmRebornHardModePrimals = value2; + Save(); + } + bool value3 = base.Configuration.Advanced.SkipCrystalTowerRaids; + if (UiThemeUtils.WrappedCheckbox("Don't pick up Crystal Tower quests", ref value3, "Crystal Tower raids are required for the Patch 2.55 quest 'A Time to Every Purpose' and to start Heavensward.")) + { + base.Configuration.Advanced.SkipCrystalTowerRaids = value3; + Save(); + } + UiThemeUtils.EndCard(item, item2, item3); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawSideContent() { - UiThemeUtils.SectionHeader(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1505105599)); + UiThemeUtils.SectionHeader("Side Content"); (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple = UiThemeUtils.BeginCard(); Vector2 item = tuple.ContentStartPos; float item2 = tuple.AvailableWidth; ImDrawListPtr item3 = tuple.DrawList; bool value = base.Configuration.Advanced.SkipClassJobQuests; - int num = ((!UiThemeUtils.WrappedCheckbox(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(-287751804), ref value, 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(695773902))) ? 701911122 : 701911123); - bool value2 = default(bool); - bool value3 = default(bool); - bool value5 = default(bool); - while (true) + if (UiThemeUtils.WrappedCheckbox("Don't pick up class/job quests", ref value, "Class and job skills for A Realm Reborn, Heavensward and (for the Lv70 skills) Stormblood are locked behind quests. Not recommended if you plan on queueing for instances with duty finder/party finder.\n\nNote: This setting is ignored for the first class/job quest if your character is not high enough level to start the level 4 MSQ.")) { - int num2 = num; - int num3 = 701911120; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + base.Configuration.Advanced.SkipClassJobQuests = value; + Save(); + } + bool value2 = base.Configuration.Advanced.SkipRoleQuests; + if (UiThemeUtils.WrappedCheckbox("Don't pick up role quests", ref value2, "At least one Shadowbringers role quest line must be completed for the 5.0 MSQ. Disabling this means you must complete role quests manually.")) + { + base.Configuration.Advanced.SkipRoleQuests = value2; + Save(); + } + using (ImRaii.Disabled(value2)) + { + using (ImRaii.PushIndent()) { - case 0: - num = 701911123; - break; - case 2: - value2 = base.Configuration.Advanced.SkipRoleQuests; - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1998442994), ref value2, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1288406521))) ? 701911121 : 701911124); - break; - case 3: - base.Configuration.Advanced.SkipClassJobQuests = value; - Save(); - num = 701911122; - break; - case 4: - base.Configuration.Advanced.SkipRoleQuests = value2; - Save(); - num = 701911121; - break; - case 1: - { - ImRaii.DisabledDisposable disabledDisposable = _200F_200F_200E_200D_202D_200D_202B_206A_206E_200C_206A_202E_200D_200E_206B_202E_202D_206F_206C_206D_206C_200F_202B_200B_206A_202B_202C_202B_206A_202D_206F_202C_206C_206D_206F_206B_200C_206C_200C_200F_202E(value2); - try + int currentItem = (int)base.Configuration.Advanced.RoleQuestPreference; + ImGui.SetNextItemWidth(MathF.Min(260f, ImGui.GetContentRegionAvail().X)); + if (UiThemeUtils.ThemedCombo("Role quest line", ref currentItem, RoleQuestPreferenceNames, RoleQuestPreferenceNames.Length)) { - ImRaii.IndentDisposable indentDisposable = _200F_202E_206D_202B_206F_202C_206A_206B_206B_206E_206B_206B_202C_206A_202E_206C_200E_200C_206B_202C_200F_202B_206D_202A_202D_202A_202E_202B_206B_206C_202A_202B_202E_206B_206D_202C_206D_200B_200E_200D_202E(1, true); - try - { - int currentItem = (int)base.Configuration.Advanced.RoleQuestPreference; - _206A_202B_200E_200E_206A_206F_202C_200D_206F_200B_206C_202B_200B_206B_202A_202A_202B_206F_200D_206F_200D_202E_206E_202E_202A_206D_206E_200D_206D_206B_206A_200E_202D_202D_200F_206A_206F_200C_206D_202E_202E(_202A_200C_202C_200E_206D_200D_202B_206C_200C_202D_206B_200C_206F_200C_200C_200D_206C_202A_206D_206C_202D_200F_206C_202A_202B_206E_202C_202E_206D_202C_206C_202A_206D_206D_202A_200C_200F_200F_206F_200D_202E(260f, _202C_200D_200B_202B_206A_206F_206E_200C_200E_200E_200F_200D_202D_202E_202B_200B_202B_200E_200C_200C_200D_206D_202B_200D_200C_202D_202E_202B_206E_206A_206E_202C_206A_206F_200B_200C_206C_206A_206D_206E_202E().X)); - num = ((!UiThemeUtils.ThemedCombo(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1098205123), ref currentItem, RoleQuestPreferenceNames, RoleQuestPreferenceNames.Length)) ? 961882088 : 961882093); - while (true) - { - int num5 = num; - num3 = 961882092; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - _206C_202B_200F_202D_200D_200D_200E_200C_206F_200D_200C_202A_206F_200D_206E_200E_202C_202E_202D_206B_202B_202E_202C_200D_206F_200F_206C_206E_206D_206F_202A_202A_200C_200B_202B_202E_200B_200B_206C_202A_202E(); - UiThemeUtils.InfoIcon(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-278600332)); - value3 = base.Configuration.Advanced.ContinueRoleQuestsAfterShb; - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-368335617), ref value3, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-540198939))) ? 961882095 : 961882094); - break; - case 2: - base.Configuration.Advanced.ContinueRoleQuestsAfterShb = value3; - Save(); - num = 961882095; - break; - case 0: - num = 961882093; - break; - case 1: - base.Configuration.Advanced.RoleQuestPreference = (ERoleQuestPreference)currentItem; - Save(); - num = 961882088; - break; - case 3: - goto end_IL_01b9; - } - continue; - end_IL_01b9: - break; - } - } - finally - { - num = ((indentDisposable == null) ? 1246267524 : 1246267527); - while (true) - { - int num6 = num; - num3 = 1246267525; - num4 = num6; - int num7 = num4 + num3; - int num8 = num4 & num3; - switch (num7 - (num8 + num8)) - { - case 0: - num = 1246267527; - break; - case 1: - goto end_IL_02c3; - case 2: - _202B_202A_202C_206D_206A_206F_200F_202B_200C_200D_200E_202A_202B_200C_206E_202B_202B_202B_200D_206B_206D_206B_202E_206B_206C_202D_200E_206A_202E_206C_200C_206C_202A_202D_202E_202B_200B_202A_206E_200C_202E((IDisposable)indentDisposable); - num = 1246267524; - break; - } - continue; - end_IL_02c3: - break; - } - } + base.Configuration.Advanced.RoleQuestPreference = (ERoleQuestPreference)currentItem; + Save(); } - finally + ImGui.SameLine(); + UiThemeUtils.InfoIcon("Which role quest line to prioritize. Default follows your current job's role. Your current job must match the selected role for quests to be picked up."); + bool value3 = base.Configuration.Advanced.ContinueRoleQuestsAfterShb; + if (UiThemeUtils.WrappedCheckbox("Continue role quests after Shadowbringers", ref value3, "When enabled, also prioritizes Endwalker and Dawntrail role quests for the selected role. These are not required for MSQ progression.")) { - num = ((disabledDisposable == null) ? (-306243295) : (-306243296)); - while (true) - { - int num9 = num; - num3 = -306243295; - num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 2: - num = -306243296; - break; - case 1: - _202B_202A_202C_206D_206A_206F_200F_202B_200C_200D_200E_202A_202B_200C_206E_202B_202B_202B_200D_206B_206D_206B_202E_206B_206C_202D_200E_206A_202E_206C_200C_206C_202A_202D_202E_202B_200B_202A_206E_200C_202E((IDisposable)disabledDisposable); - num = -306243295; - break; - case 0: - goto end_IL_0330; - } - continue; - end_IL_0330: - break; - } + base.Configuration.Advanced.ContinueRoleQuestsAfterShb = value3; + Save(); } - bool value4 = base.Configuration.Advanced.SkipAetherCurrents; - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1840272948), ref value4, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2059790792))) ? (-1684768103) : (-1684768097)); - while (true) - { - int num12 = num; - num3 = -1684768099; - num4 = num12; - int num13 = num4 + num3; - int num14 = num4 & num3; - switch (num13 - (num14 + num14)) - { - case 4: - value5 = base.Configuration.Advanced.AutoPrioritizeAlliedSocietyRankUp; - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1599968493), ref value5, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1897441794))) ? (-1684768100) : (-1684768099)); - break; - case 1: - UiThemeUtils.EndCard(item, item2, item3); - return; - case 0: - base.Configuration.Advanced.AutoPrioritizeAlliedSocietyRankUp = value5; - Save(); - num = -1684768100; - break; - case 3: - num = -1684768097; - break; - case 2: - base.Configuration.Advanced.SkipAetherCurrents = value4; - Save(); - num = -1684768103; - break; - } - } - } } } + bool value4 = base.Configuration.Advanced.SkipAetherCurrents; + if (UiThemeUtils.WrappedCheckbox("Don't pick up aether currents/aether current quests", ref value4, "If not done during the MSQ by Questionable, you have to manually pick up any missed aether currents/quests. There is no way to automatically pick up all missing aether currents.")) + { + base.Configuration.Advanced.SkipAetherCurrents = value4; + Save(); + } + bool value5 = base.Configuration.Advanced.AutoPrioritizeAlliedSocietyRankUp; + if (UiThemeUtils.WrappedCheckbox("Auto-prioritize allied society rank up quests", ref value5, "Automatically prioritizes rank up quests when at reputation capacity, and reorders daily turn-ins to minimize wasted reputation.")) + { + base.Configuration.Advanced.AutoPrioritizeAlliedSocietyRankUp = value5; + Save(); + } + UiThemeUtils.EndCard(item, item2, item3); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawPriorityQuests() { - UiThemeUtils.SectionHeader(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(-353625027)); + UiThemeUtils.SectionHeader("Priority Quests"); (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple = UiThemeUtils.BeginCard(); Vector2 item = tuple.ContentStartPos; float item2 = tuple.AvailableWidth; ImDrawListPtr item3 = tuple.DrawList; bool value = base.Configuration.General.PersistPriorityQuestsBetweenSessions; - int num = ((!UiThemeUtils.WrappedCheckbox(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(-577769319), ref value, 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(-1807354534))) ? 1805304050 : 1805304055); - bool value2 = default(bool); - bool value3 = default(bool); - while (true) + if (UiThemeUtils.WrappedCheckbox("Save priority quests between sessions", ref value, "When enabled, your priority quest list will be saved and restored when the plugin reloads or the game restarts.")) { - int num2 = num; - int num3 = 1805304054; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - value2 = base.Configuration.General.ClearPriorityQuestsOnLogout; - num = ((!UiThemeUtils.WrappedCheckbox(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(-1009601852), ref value2, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(247181671))) ? 1805304053 : 1805304048); - break; - case 1: - base.Configuration.General.PersistPriorityQuestsBetweenSessions = value; - Save(); - num = 1805304050; - break; - case 3: - value3 = base.Configuration.General.ClearPriorityQuestsOnCompletion; - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-441944134), ref value3, 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(1752253012))) ? 1805304054 : 1805304051); - break; - case 0: - UiThemeUtils.EndCard(item, item2, item3); - return; - case 5: - base.Configuration.General.ClearPriorityQuestsOnCompletion = value3; - Save(); - num = 1805304054; - break; - case 6: - base.Configuration.General.ClearPriorityQuestsOnLogout = value2; - Save(); - num = 1805304053; - break; - case 2: - num = 1805304055; - break; - } + base.Configuration.General.PersistPriorityQuestsBetweenSessions = value; + Save(); } + bool value2 = base.Configuration.General.ClearPriorityQuestsOnLogout; + if (UiThemeUtils.WrappedCheckbox("Clear priority quests on character logout", ref value2, "Clears the priority queue when your character logs out. This also clears the saved list if persistence is enabled.")) + { + base.Configuration.General.ClearPriorityQuestsOnLogout = value2; + Save(); + } + bool value3 = base.Configuration.General.ClearPriorityQuestsOnCompletion; + if (UiThemeUtils.WrappedCheckbox("Remove priority quests when completed", ref value3, "Automatically removes completed quests from your priority queue. This helps keep your priority list clean without manual intervention.")) + { + base.Configuration.General.ClearPriorityQuestsOnCompletion = value3; + Save(); + } + UiThemeUtils.EndCard(item, item2, item3); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawQuestDetails() { - UiThemeUtils.SectionHeader(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-599014717)); + UiThemeUtils.SectionHeader("Quest Details"); var (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); - _202C_206A_200F_200D_202A_206D_206D_200B_206A_202C_202D_206C_200F_200B_200C_200C_206D_206E_206E_202B_202D_202E_200E_206C_206C_202A_202A_206A_200B_202A_206B_202B_202C_206C_202A_206F_202A_200D_206E_202E_202E(); - _206D_202D_202A_202D_202E_200F_202E_200E_202A_202E_200B_206A_200E_200C_202B_206B_206A_202C_206E_206C_206A_206B_206B_200B_202E_202A_200B_200B_200C_206B_206A_202D_200F_206D_202A_200E_200C_202B_200D_206B_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(746105637)); - _206C_202B_200F_202D_200D_200D_200E_200C_206F_200D_200C_202A_206F_200D_206E_200E_202C_202E_202D_206B_202B_202E_202C_200D_206F_200F_206C_206E_206D_206F_202A_202A_200C_200B_202B_202E_200B_200B_206C_202A_202E(); - string chocoboName = base.Configuration.Advanced.ChocoboName; - _206A_202B_200E_200E_206A_206F_202C_200D_206F_200B_206C_202B_200B_206B_202A_202A_202B_206F_200D_206F_200D_202E_206E_202E_202A_206D_206E_200D_206D_206B_206A_200E_202D_202D_200F_206A_206F_200C_206D_202E_202E(_202A_200C_202C_200E_206D_200D_202B_206C_200C_202D_206B_200C_206F_200C_200C_200D_206C_202A_206D_206C_202D_200F_206C_202A_202B_206E_202C_202E_206D_202C_206C_202A_206D_206D_202A_200C_200F_200F_206F_200D_202E(260f, _202C_200D_200B_202B_206A_206F_206E_200C_200E_200E_200F_200D_202D_202E_202B_200B_202B_200E_200C_200C_200D_206D_202B_200D_200C_202D_202E_202B_206E_206A_206E_202C_206A_206F_200B_200C_206C_206A_206D_206E_202E().X)); - int num = ((!_206B_200E_206C_206A_206F_206F_206F_202C_200F_202C_202C_206A_200C_202E_202A_206A_200D_202E_202B_200E_202B_200E_202C_200E_202A_200D_200B_200C_206F_206B_202C_202A_200C_206A_200E_206D_206C_206F_200D_200E_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1101377353), ref chocoboName, 20, ImGuiInputTextFlags.None, (ImGui.ImGuiInputTextCallbackDelegate)null)) ? 1006772323 : 1006772320); - bool value = default(bool); - while (true) + ImGui.AlignTextToFramePadding(); + ImGui.Text("Chocobo Name:"); + ImGui.SameLine(); + string buf = base.Configuration.Advanced.ChocoboName; + ImGui.SetNextItemWidth(MathF.Min(260f, ImGui.GetContentRegionAvail().X)); + if (ImGui.InputText("##ChocoboName", ref buf, 20)) { - int num2 = num; - int num3 = 1006772323; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = (_206A_200D_200B_202E_200C_200B_206B_200B_206A_206C_202A_202C_202B_206D_206C_200D_206D_200F_206E_206A_206C_200C_202B_206D_202E_206B_202B_202D_200B_202A_206D_202B_200F_206B_206F_202B_202E_202A_206A_202D_202E(chocoboName) ? 1006772322 : 1006772324); - break; - case 7: - num = ((_200C_200F_206E_202A_200E_200C_206D_202D_202B_206E_202D_206E_200D_202C_206C_200B_202A_202E_206E_202D_202C_206C_206A_200E_200C_202E_206D_206A_206E_206B_206F_206A_206A_200D_202B_206D_202D_200D_202E_202B_202E(chocoboName) >= 2) ? 1006772322 : 1006772325); - break; - case 1: - _206C_202B_200F_202D_200D_200D_200E_200C_206F_200D_200C_202A_206F_200D_206E_200E_202C_202E_202D_206B_202B_202E_202C_200D_206F_200F_206C_206E_206D_206F_202A_202A_200C_200B_202B_202E_200B_200B_206C_202A_202E(); - UiThemeUtils.InfoIcon(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-743653940)); - value = base.Configuration.Advanced.PreventQuestCompletion; - num = ((!UiThemeUtils.WrappedCheckbox(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(1717929186), ref value, 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(488343971))) ? 1006772326 : 1006772321); - break; - case 5: - UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); - return; - case 2: - base.Configuration.Advanced.PreventQuestCompletion = value; - Save(); - num = 1006772326; - break; - case 4: - num = 1006772320; - break; - case 3: - base.Configuration.Advanced.ChocoboName = FormatChocoboName(chocoboName); - Save(); - num = 1006772323; - break; - case 6: - _206C_202B_200F_202D_200D_200D_200E_200C_206F_200D_200C_202A_206F_200D_206E_200E_202C_202E_202D_206B_202B_202E_202C_200D_206F_200F_206C_206E_206D_206F_202A_202A_200C_200B_202B_202E_200B_200B_206C_202A_202E(); - _200F_202D_206C_206E_200F_202C_206A_202D_200D_200B_206C_202E_206A_200E_202A_200D_206C_202E_202D_206C_200E_200E_206C_202D_202E_206F_202B_202C_202A_202C_200F_200B_202C_200C_202A_206D_206F_202D_206B_202B_202E(ref UiThemeUtils.StatusLocked, (ImU8String)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(269183977)); - num = 1006772322; - break; - } + base.Configuration.Advanced.ChocoboName = FormatChocoboName(buf); + Save(); } + if (!string.IsNullOrEmpty(buf) && buf.Length < 2) + { + ImGui.SameLine(); + ImGui.TextColored(in UiThemeUtils.StatusLocked, "Name must be at least 2 characters"); + } + ImGui.SameLine(); + UiThemeUtils.InfoIcon("The name to give your chocobo during the 'My Little Chocobo' quest.\nMust be 2-20 characters. First letter will be capitalized.\nIf left empty, defaults to 'Kweh'."); + bool value = base.Configuration.Advanced.PreventQuestCompletion; + if (UiThemeUtils.WrappedCheckbox("Prevent quest completion", ref value, "When enabled, Questionable will not attempt to turn-in and complete quests. This will do everything automatically except the final turn-in step.")) + { + base.Configuration.Advanced.PreventQuestCompletion = value; + Save(); + } + UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); } - [MethodImpl(MethodImplOptions.NoInlining)] private string BuildLowPriorityDutyTooltip() { - string text = 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(-452308535); - IEnumerator<(uint, ElementId, int)> enumerator = _questRegistry.LowPriorityContentFinderConditionQuests.GetEnumerator(); - try + string text = "Questionable automatically picks up some optional quests (e.g. for aether currents, or the ARR alliance raids).\nIf this setting is enabled, Questionable will continue with other quests, instead of waiting for manual completion of the duty.\n\nThis affects the following dungeons and raids:"; + foreach (var lowPriorityContentFinderConditionQuest in _questRegistry.LowPriorityContentFinderConditionQuests) { - int num = 1407189999; - TerritoryData.ContentFinderConditionData contentFinderConditionData = default(TerritoryData.ContentFinderConditionData); - while (true) + if (_territoryData.TryGetContentFinderCondition(lowPriorityContentFinderConditionQuest.ContentFinderConditionId, out TerritoryData.ContentFinderConditionData contentFinderConditionData)) { - int num2 = num; - int num3 = 1407189996; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - text = _202A_206E_206A_206C_206E_206C_202D_200D_202D_206B_202C_206B_202D_200F_200B_206D_200C_202D_202A_206C_206B_206B_202B_206F_202D_200B_206A_202A_206E_206D_202B_200D_202D_206B_200F_200E_202C_202B_200C_206C_202E(text, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1097491456), contentFinderConditionData.Name); - num = 1407189999; - break; - case 1: - { - (uint, ElementId, int) current = enumerator.Current; - num = ((!_territoryData.TryGetContentFinderCondition(current.Item1, out contentFinderConditionData)) ? 1407189999 : 1407189992); - break; - } - case 2: - num = 1407189999; - break; - case 3: - num = (_202A_206A_206C_200D_200F_202D_206E_202C_206B_202C_206E_206F_200B_206F_202B_206D_206D_202B_200D_202B_202D_202B_202C_206E_200D_206C_202B_206B_206E_206D_202B_202A_202A_200C_206D_206B_206E_202C_200E_206F_202E((IEnumerator)enumerator) ? 1407189997 : 1407189996); - break; - case 0: - return text; - } - } - } - finally - { - int num = ((enumerator == null) ? 1125418101 : 1125418102); - while (true) - { - int num5 = num; - int num3 = 1125418100; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - goto end_IL_0108; - case 2: - _202B_202A_202C_206D_206A_206F_200F_202B_200C_200D_200E_202A_202B_200C_206E_202B_202B_202B_200D_206B_206D_206B_202E_206B_206C_202D_200E_206A_202E_206C_200C_206C_202A_202D_202E_202B_200B_202A_206E_200C_202E((IDisposable)enumerator); - num = 1125418101; - break; - case 0: - num = 1125418102; - break; - } - continue; - end_IL_0108: - break; + text = text + "\n• " + contentFinderConditionData.Name; } } + return text; } private static string FormatChocoboName(string name) { - int num = ((!_206A_200D_200B_202E_200C_200B_206B_200B_206A_206C_202A_202C_202B_206D_206C_200D_206D_200F_206E_206A_206C_200C_202B_206D_202E_206B_202B_202D_200B_202A_206D_202B_200F_206B_206F_202B_202E_202A_206A_202D_202E(name)) ? (-1145813507) : (-1145813509)); - while (true) + if (string.IsNullOrEmpty(name)) { - int num2 = num; - int num3 = -1145813505; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return string.Empty; - case 1: - return _200E_206E_206A_206E_206E_202B_202C_202A_206B_206D_206C_200D_206B_206D_202E_206D_206F_202E_206E_206C_206A_206E_206F_202B_202E_200B_206B_206B_202E_200B_200F_202B_200B_206B_200F_202C_202D_206D_202D_200E_202E(_200D_202A_202B_206D_202B_200C_200D_206B_202C_206F_200C_200E_206B_206D_206B_206C_206A_202E_206C_200B_200F_200E_206B_202E_202A_206A_206A_206F_202A_206F_206B_202D_200D_206B_206E_200B_206E_202E_206D_200F_202E(_206F_200D_206A_202B_200D_206E_206E_202C_200C_202A_202B_202D_200D_202C_200C_202E_200C_206E_206E_200D_206C_206C_206B_200B_206E_206F_202C_206C_202D_206E_206A_206E_202B_206C_200D_200B_200F_206C_202B_200E_202E(name, 0, 1)), (_200C_200F_206E_202A_200E_200C_206D_202D_202B_206E_202D_206E_200D_202C_206C_200B_202A_202E_206E_202D_202C_206C_206A_200E_200C_202E_206D_206A_206E_206B_206F_206A_206A_200D_202B_206D_202D_200D_202E_202B_202E(name) > 1) ? _206A_200F_202B_202B_202B_202E_200C_206B_206E_206B_206C_206C_200C_202B_200C_206A_202E_202E_206D_206E_206D_202C_202B_200F_206F_206E_200D_206E_206D_200D_202D_202B_202A_200C_200D_202C_202A_202E_202D_206B_202E(_206B_202C_206B_206F_200C_200B_206F_206F_200E_200D_206D_206B_202B_206B_202A_202C_206C_200C_206A_206E_202A_206D_200D_206C_206A_206D_206D_200D_200D_206E_202C_206D_200F_202C_206D_206B_202C_202A_206F_202A_202E(name, 1)) : string.Empty); - case 2: - name = _202E_202D_206E_206A_202B_206E_202C_200C_200F_206E_200B_200E_206E_202B_206F_200C_202B_202C_206F_202E_206D_202B_206F_200E_200C_202E_206D_202C_200F_202A_202A_206E_202B_200C_200F_200E_206F_200D_200E_202B_202E(name); - num = ((_200C_200F_206E_202A_200E_200C_206D_202D_202B_206E_202D_206E_200D_202C_206C_200B_202A_202E_206E_202D_202C_206C_206A_200E_200C_202E_206D_206A_206E_206B_206F_206A_206A_200D_202B_206D_202D_200D_202E_202B_202E(name) != 0) ? (-1145813506) : (-1145813505)); - break; - case 3: - num = -1145813509; - break; - case 4: - return string.Empty; - } + return string.Empty; } - } - - static Vector2 _202C_200D_200B_202B_206A_206F_206E_200C_200E_200E_200F_200D_202D_202E_202B_200B_202B_200E_200C_200C_200D_206D_202B_200D_200C_202D_202E_202B_206E_206A_206E_202C_206A_206F_200B_200C_206C_206A_206D_206E_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static float _202A_200C_202C_200E_206D_200D_202B_206C_200C_202D_206B_200C_206F_200C_200C_200D_206C_202A_206D_206C_202D_200F_206C_202A_202B_206E_202C_202E_206D_202C_206C_202A_206D_206D_202A_200C_200F_200F_206F_200D_202E(float P_0, float P_1) - { - return MathF.Min(P_0, P_1); - } - - static void _206A_202B_200E_200E_206A_206F_202C_200D_206F_200B_206C_202B_200B_206B_202A_202A_202B_206F_200D_206F_200D_202E_206E_202E_202A_206D_206E_200D_206D_206B_206A_200E_202D_202D_200F_206A_206F_200C_206D_202E_202E(float P_0) - { - ImGui.SetNextItemWidth(P_0); - } - - static void _206C_202B_200F_202D_200D_200D_200E_200C_206F_200D_200C_202A_206F_200D_206E_200E_202C_202E_202D_206B_202B_202E_202C_200D_206F_200F_206C_206E_206D_206F_202A_202A_200C_200B_202B_202E_200B_200B_206C_202A_202E() - { - ImGui.SameLine(); - } - - static ImRaii.DisabledDisposable _200F_200F_200E_200D_202D_200D_202B_206A_206E_200C_206A_202E_200D_200E_206B_202E_202D_206F_206C_206D_206C_200F_202B_200B_206A_202B_202C_202B_206A_202D_206F_202C_206C_206D_206F_206B_200C_206C_200C_200F_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static ImRaii.IndentDisposable _200F_202E_206D_202B_206F_202C_206A_206B_206B_206E_206B_206B_202C_206A_202E_206C_200E_200C_206B_202C_200F_202B_206D_202A_202D_202A_202E_202B_206B_206C_202A_202B_202E_206B_206D_202C_206D_200B_200E_200D_202E(int P_0, bool P_1) - { - return ImRaii.PushIndent(P_0, P_1); - } - - static void _202B_202A_202C_206D_206A_206F_200F_202B_200C_200D_200E_202A_202B_200C_206E_202B_202B_202B_200D_206B_206D_206B_202E_206B_206C_202D_200E_206A_202E_206C_200C_206C_202A_202D_202E_202B_200B_202A_206E_200C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _202C_206A_200F_200D_202A_206D_206D_200B_206A_202C_202D_206C_200F_200B_200C_200C_206D_206E_206E_202B_202D_202E_200E_206C_206C_202A_202A_206A_200B_202A_206B_202B_202C_206C_202A_206F_202A_200D_206E_202E_202E() - { - ImGui.AlignTextToFramePadding(); - } - - static void _206D_202D_202A_202D_202E_200F_202E_200E_202A_202E_200B_206A_200E_200C_202B_206B_206A_202C_206E_206C_206A_206B_206B_200B_202E_202A_200B_200B_200C_206B_206A_202D_200F_206D_202A_200E_200C_202B_200D_206B_202E(ImU8String P_0) - { - ImGui.Text(P_0); - } - - static bool _206B_200E_206C_206A_206F_206F_206F_202C_200F_202C_202C_206A_200C_202E_202A_206A_200D_202E_202B_200E_202B_200E_202C_200E_202A_200D_200B_200C_206F_206B_202C_202A_200C_206A_200E_206D_206C_206F_200D_200E_202E(ImU8String P_0, ref string P_1, int P_2, ImGuiInputTextFlags P_3, ImGui.ImGuiInputTextCallbackDelegate P_4) - { - return ImGui.InputText(P_0, ref P_1, P_2, P_3, P_4); - } - - static bool _206A_200D_200B_202E_200C_200B_206B_200B_206A_206C_202A_202C_202B_206D_206C_200D_206D_200F_206E_206A_206C_200C_202B_206D_202E_206B_202B_202D_200B_202A_206D_202B_200F_206B_206F_202B_202E_202A_206A_202D_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static int _200C_200F_206E_202A_200E_200C_206D_202D_202B_206E_202D_206E_200D_202C_206C_200B_202A_202E_206E_202D_202C_206C_206A_200E_200C_202E_206D_206A_206E_206B_206F_206A_206A_200D_202B_206D_202D_200D_202E_202B_202E(string P_0) - { - return P_0.Length; - } - - static void _200F_202D_206C_206E_200F_202C_206A_202D_200D_200B_206C_202E_206A_200E_202A_200D_206C_202E_202D_206C_200E_200E_206C_202D_202E_206F_202B_202C_202A_202C_200F_200B_202C_200C_202A_206D_206F_202D_206B_202B_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static string _202A_206E_206A_206C_206E_206C_202D_200D_202D_206B_202C_206B_202D_200F_200B_206D_200C_202D_202A_206C_206B_206B_202B_206F_202D_200B_206A_202A_206E_206D_202B_200D_202D_206B_200F_200E_202C_202B_200C_206C_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static bool _202A_206A_206C_200D_200F_202D_206E_202C_206B_202C_206E_206F_200B_206F_202B_206D_206D_202B_200D_202B_202D_202B_202C_206E_200D_206C_202B_206B_206E_206D_202B_202A_202A_200C_206D_206B_206E_202C_200E_206F_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static string _202E_202D_206E_206A_202B_206E_202C_200C_200F_206E_200B_200E_206E_202B_206F_200C_202B_202C_206F_202E_206D_202B_206F_200E_200C_202E_206D_202C_200F_202A_202A_206E_202B_200C_200F_200E_206F_200D_200E_202B_202E(string P_0) - { - return P_0.Trim(); - } - - static string _206F_200D_206A_202B_200D_206E_206E_202C_200C_202A_202B_202D_200D_202C_200C_202E_200C_206E_206E_200D_206C_206C_206B_200B_206E_206F_202C_206C_202D_206E_206A_206E_202B_206C_200D_200B_200F_206C_202B_200E_202E(string P_0, int P_1, int P_2) - { - return P_0.Substring(P_1, P_2); - } - - static string _200D_202A_202B_206D_202B_200C_200D_206B_202C_206F_200C_200E_206B_206D_206B_206C_206A_202E_206C_200B_200F_200E_206B_202E_202A_206A_206A_206F_202A_206F_206B_202D_200D_206B_206E_200B_206E_202E_206D_200F_202E(string P_0) - { - return P_0.ToUpperInvariant(); - } - - static string _206B_202C_206B_206F_200C_200B_206F_206F_200E_200D_206D_206B_202B_206B_202A_202C_206C_200C_206A_206E_202A_206D_200D_206C_206A_206D_206D_200D_200D_206E_202C_206D_200F_202C_206D_206B_202C_202A_206F_202A_202E(string P_0, int P_1) - { - return P_0.Substring(P_1); - } - - static string _206A_200F_202B_202B_202B_202E_200C_206B_206E_206B_206C_206C_200C_202B_200C_206A_202E_202E_206D_206E_206D_202C_202B_200F_206F_206E_200D_206E_206D_200D_202D_202B_202A_200C_200D_202C_202A_202E_202D_206B_202E(string P_0) - { - return P_0.ToLowerInvariant(); - } - - static string _200E_206E_206A_206E_206E_202B_202C_202A_206B_206D_206C_200D_206B_206D_202E_206D_206F_202E_206E_206C_206A_206E_206F_202B_202E_200B_206B_206B_202E_200B_200F_202B_200B_206B_200F_202C_202D_206D_202D_200E_202E(string P_0, string P_1) - { - return P_0 + P_1; + name = name.Trim(); + if (name.Length == 0) + { + return string.Empty; + } + return name.Substring(0, 1).ToUpperInvariant() + ((name.Length > 1) ? name.Substring(1).ToLowerInvariant() : string.Empty); } } diff --git a/Questionable/Questionable.Windows.ConfigComponents/SinglePlayerDutyConfigComponent.cs b/Questionable/Questionable.Windows.ConfigComponents/SinglePlayerDutyConfigComponent.cs index b2b8c3c..f32c6cc 100644 --- a/Questionable/Questionable.Windows.ConfigComponents/SinglePlayerDutyConfigComponent.cs +++ b/Questionable/Questionable.Windows.ConfigComponents/SinglePlayerDutyConfigComponent.cs @@ -1,12 +1,10 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Collections.Immutable; using System.Linq; using System.Numerics; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -using System.Text; using Dalamud.Bindings.ImGui; using Dalamud.Interface; using Dalamud.Interface.Utility.Raii; @@ -27,16 +25,6 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent { private sealed record SinglePlayerDutyInfo(string Name, IQuestInfo QuestInfo, TerritoryData.ContentFinderConditionData ContentFinderConditionData, byte Index, bool EnabledByDefault, string[] Notes, bool Enabled) { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200F_200E_206B_206A_200C_200D_206E_200C_206D_206B_200C_206E_206B_206B_200E_202A_206E_200B_200E_202C_202D_202E_202D_202C_200F_206A_200B_202E_206E_206C_206B_206F_202C_202B_202C_200F_202D_206B_202D_202C_202E(typeof(SinglePlayerDutyInfo).TypeHandle); - } - } - public EExpansionVersion Expansion => QuestInfo.Expansion; public uint JournalGenreId => (uint)(((int?)QuestInfo.JournalGenre) ?? (-1)); @@ -52,35 +40,11 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent get { uint contentFinderConditionId = ContentFinderConditionId; - int num = ((contentFinderConditionId == 313) ? 695604595 : 695604594); - bool result = default(bool); - while (true) + if (contentFinderConditionId == 313 || contentFinderConditionId - 332 <= 2) { - int num2 = num; - int num3 = 695604595; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - return result; - case 0: - result = true; - num = 695604599; - break; - case 1: - num3 = 332; - num4 = (int)contentFinderConditionId; - num = (((uint)(~(~num4 + num3)) > 2u) ? 695604592 : 695604595); - break; - case 3: - result = false; - num = 695604599; - break; - case 2: - num = 695604594; - break; - } + return true; } + return false; } } @@ -89,32 +53,11 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent get { uint contentFinderConditionId = ContentFinderConditionId; - int num = 296; - int num2 = (int)contentFinderConditionId; - int num3 = (((uint)(~(~num2 + num)) > 3u) ? (-721391715) : (-721391713)); - bool result = default(bool); - while (true) + if (contentFinderConditionId - 296 <= 3) { - int num4 = num3; - num = -721391714; - num2 = num4; - switch ((num2 | num) - (num2 & num)) - { - case 0: - num3 = -721391713; - break; - case 2: - return result; - case 3: - result = false; - num3 = -721391716; - break; - case 1: - result = true; - num3 = -721391716; - break; - } + return true; } + return false; } } @@ -123,35 +66,11 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent get { uint contentFinderConditionId = ContentFinderConditionId; - int num = ((contentFinderConditionId == 312) ? 2086696776 : 2086696779); - bool result = default(bool); - while (true) + if (contentFinderConditionId == 312 || contentFinderConditionId - 335 <= 2) { - int num2 = num; - int num3 = 2086696776; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - result = false; - num = 2086696777; - break; - case 1: - return result; - case 2: - num = 2086696779; - break; - case 0: - result = true; - num = 2086696777; - break; - case 3: - num3 = 335; - num4 = (int)contentFinderConditionId; - num = (((uint)(~(~num4 + num3)) > 2u) ? 2086696780 : 2086696776); - break; - } + return true; } + return false; } } @@ -160,659 +79,20 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent get { uint contentFinderConditionId = ContentFinderConditionId; - int num = ((contentFinderConditionId == 845) ? 38467213 : 38467214); - bool result = default(bool); - while (true) + if (contentFinderConditionId == 845 || contentFinderConditionId == 1016) { - int num2 = num; - int num3 = 38467212; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 38467214; - break; - case 2: - num = ((contentFinderConditionId != 1016) ? 38467208 : 38467213); - break; - case 1: - result = true; - num = 38467215; - break; - case 3: - return result; - case 4: - result = false; - num = 38467215; - break; - } - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202E_206E_206A_206B_200E_202D_206C_202E_202E_202B_206F_200D_206E_200F_200B_206C_206D_206B_206A_200E_206D_200E_200D_206B_206A_200D_202D_202D_206A_200D_206D_202A_206B_202C_206E_206F_206A_202A_202B_202B_202E(); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1642824356)); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? (-1098257480) : (-1098257479)); - while (true) - { - int num2 = num; - int num3 = -1098257480; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -1098257479; - break; - case 1: - _200F_200F_206F_200B_206B_206C_200D_202D_200F_206D_200F_200D_202B_206C_202B_206A_202C_206A_206A_202B_202A_206B_202A_206E_206B_200C_202D_200F_206F_202E_206A_206B_206E_200F_202D_206C_206B_202A_202A_206B_202E(stringBuilder, ' '); - num = -1098257480; - break; - case 0: - _200F_200F_206F_200B_206B_206C_200D_202D_200F_206D_200F_200D_202B_206C_202B_206A_202C_206A_206A_202B_202A_206B_202A_206E_206B_200C_202D_200F_206F_202E_206A_206B_206E_200F_202D_206C_206B_202A_202A_206B_202E(stringBuilder, '}'); - return _206D_200B_206B_206C_206C_200C_202B_200F_202A_202D_206D_200D_200C_200D_202D_206C_206D_206B_206B_200C_202D_202C_206B_206C_206A_206D_206F_206A_202E_200F_206D_202D_202E_202A_200F_202C_206B_206F_206C_206A_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206E_202B_200B_200F_206D_200C_202B_202B_206F_202C_206B_202C_206B_200D_200F_206C_206F_202E_206F_200B_206E_202C_200F_206B_202D_202E_200C_206E_206E_206E_206C_202A_202A_202C_200B_206A_200E_202C_202D_200D_202E(); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-510347430)); - _206E_202E_206B_206C_206A_200E_206C_206E_200C_206B_202E_206E_200F_206B_206C_202B_206A_206A_202B_202C_202C_200F_206E_206C_206E_206F_206D_206F_206E_206F_206E_202E_202B_200B_202E_206B_202E_202D_200F_206B_202E(builder, (object)Name); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, 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(1022368391)); - _206E_202E_206B_206C_206A_200E_206C_206E_200C_206B_202E_206E_200F_206B_206C_202B_206A_206A_202B_202C_202C_200F_206E_206C_206E_206F_206D_206F_206E_206F_206E_202E_202B_200B_202E_206B_202E_202D_200F_206B_202E(builder, (object)QuestInfo); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, 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(-1666070650)); - _206E_202E_206B_206C_206A_200E_206C_206E_200C_206B_202E_206E_200F_206B_206C_202B_206A_206A_202B_202C_202C_200F_206E_206C_206E_206F_206D_206F_206E_206F_206E_202E_202B_200B_202E_206B_202E_202D_200F_206B_202E(builder, (object)ContentFinderConditionData); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-273621318)); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, Index.ToString()); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-641834156)); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, EnabledByDefault.ToString()); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(743555785)); - _206E_202E_206B_206C_206A_200E_206C_206E_200C_206B_202E_206E_200F_206B_206C_202B_206A_206A_202B_202C_202C_200F_206E_206C_206E_206F_206D_206F_206E_206F_206E_202E_202B_200B_202E_206B_202E_202D_200F_206B_202E(builder, (object)Notes); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, 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(-2138975577)); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, Enabled.ToString()); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1473156179)); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, Expansion.ToString()); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(149315602)); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, JournalGenreId.ToString()); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-780631629)); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, SortKey.ToString()); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-48999932)); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, ContentFinderConditionId.ToString()); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(647715754)); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, TerritoryId.ToString()); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1268757632)); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, IsLimsaStart.ToString()); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-41240036)); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, IsGridaniaStart.ToString()); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2036989188)); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, IsUldahStart.ToString()); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-306072753)); - _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(builder, IsOtherRoleQuest.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(SinglePlayerDutyInfo? other) - { - int num = (((object)this == other) ? (-884727854) : (-884727846)); - while (true) - { - int num2 = num; - int num3 = -884727845; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = -884727846; - break; - case 4: - num = ((!EqualityComparer.Default.Equals(Notes, other.Notes)) ? (-884727856) : (-884727847)); - break; - case 10: - num = ((!_202D_202C_206D_202C_206B_206D_202C_200F_206E_200F_206F_206F_206A_202C_200C_202D_200F_206B_202D_206C_202E_202C_200F_206F_202E_202C_202E_202E_200C_200C_202C_200E_202C_202B_200C_200E_202B_206E_202C_206E_202E(EqualityContract, other.EqualityContract)) ? (-884727856) : (-884727843)); - break; - case 0: - num = ((!EqualityComparer.Default.Equals(ContentFinderConditionData, other.ContentFinderConditionData)) ? (-884727856) : (-884727844)); - break; - case 5: - num = ((!EqualityComparer.Default.Equals(QuestInfo, other.QuestInfo)) ? (-884727856) : (-884727845)); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(Name, other.Name)) ? (-884727856) : (-884727842)); - break; - case 1: - num = (((object)other == null) ? (-884727856) : (-884727855)); - break; - case 7: - num = ((!EqualityComparer.Default.Equals(Index, other.Index)) ? (-884727856) : (-884727853)); - break; - case 2: - return EqualityComparer.Default.Equals(Enabled, other.Enabled); - case 8: - num = ((!EqualityComparer.Default.Equals(EnabledByDefault, other.EnabledByDefault)) ? (-884727856) : (-884727841)); - break; - case 9: return true; - case 11: - return false; } + return false; } } - - bool IEquatable.Equals(SinglePlayerDutyInfo? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200F_200E_206B_206A_200C_200D_206E_200C_206D_206B_200C_206E_206B_206B_200E_202A_206E_200B_200E_202C_202D_202E_202D_202C_200F_206A_200B_202E_206E_206C_206B_206F_202C_202B_202C_200F_202D_206B_202D_202C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202E_206E_206A_206B_200E_202D_206C_202E_202E_202B_206F_200D_206E_200F_200B_206C_206D_206B_206A_200E_206D_200E_200D_206B_206A_200D_202D_202D_206A_200D_206D_202A_206B_202C_206E_206F_206A_202A_202B_202B_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202B_206C_202C_202B_206E_206D_202A_206C_200C_206F_202B_202A_206F_202C_202D_206B_202C_206D_202C_202A_200F_200E_206D_200D_202A_200D_202E_202A_202E_202B_200D_200E_206C_202A_206E_200D_200D_200F_202D_206A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200F_200F_206F_200B_206B_206C_200D_202D_200F_206D_200F_200D_202B_206C_202B_206A_202C_206A_206A_202B_202A_206B_202A_206E_206B_200C_202D_200F_206F_202E_206A_206B_206E_200F_202D_206C_206B_202A_202A_206B_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206D_200B_206B_206C_206C_200C_202B_200F_202A_202D_206D_200D_200C_200D_202D_206C_206D_206B_206B_200C_202D_202C_206B_206C_206A_206D_206F_206A_202E_200F_206D_202D_202E_202A_200F_202C_206B_206F_206C_206A_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206E_202B_200B_200F_206D_200C_202B_202B_206F_202C_206B_202C_206B_200D_200F_206C_206F_202E_206F_200B_206E_202C_200F_206B_202D_202E_200C_206E_206E_206E_206C_202A_202A_202C_200B_206A_200E_202C_202D_200D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206E_202E_206B_206C_206A_200E_206C_206E_200C_206B_202E_206E_200F_206B_206C_202B_206A_206A_202B_202C_202C_200F_206E_206C_206E_206F_206D_206F_206E_206F_206E_202E_202B_200B_202E_206B_202E_202D_200F_206B_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202D_202C_206D_202C_206B_206D_202C_200F_206E_200F_206F_206F_206A_202C_200C_202D_200F_206B_202D_206C_202E_202C_200F_206F_202E_202C_202E_202E_200C_200C_202C_200E_202C_202B_200C_200E_202B_206E_202C_206E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func<(ElementId QuestId, byte Index, TerritoryData.ContentFinderConditionData Data), ElementId> _003C_003E9__18_0; - - public static Func, bool> _003C_003E9__18_1; - - public static Func, ElementId> _003C_003E9__18_2; - - public static Func _003C_003E9__18_3; - - public static Func _003C_003E9__18_4; - - public static Func<(ElementId QuestId, EClassJob ClassJob), ElementId> _003C_003E9__18_6; - - public static Func<(ElementId QuestId, EClassJob ClassJob), EClassJob> _003C_003E9__18_7; - - public static Func _003C_003E9__18_8; - - public static Func> _003C_003E9__18_9; - - public static Func<(ElementId QuestId, EClassJob ClassJob), ElementId> _003C_003E9__18_11; - - public static Func, ElementId> _003C_003E9__18_12; - - public static Func<(ElementId QuestId, EClassJob ClassJob), EClassJob> _003C_003E9__18_33; - - public static Func, List> _003C_003E9__18_13; - - public static Func<(EClassJob ClassJob, string Name), EClassJob> _003C_003E9__18_14; - - public static Func<(EClassJob ClassJob, string Name), List> _003C_003E9__18_15; - - public static Func>, EAetheryteLocation> _003C_003E9__18_16; - - public static Func _003C_003E9__18_34; - - public static Func>, List> _003C_003E9__18_17; - - public static Func _003C_003E9__18_18; - - public static Func, EExpansionVersion> _003C_003E9__18_19; - - public static Func _003C_003E9__18_35; - - public static Func _003C_003E9__18_36; - - public static Func _003C_003E9__18_37; - - public static Func, List> _003C_003E9__18_20; - - public static Func>, bool> _003C_003E9__18_21; - - public static Func>, EClassJob> _003C_003E9__18_22; - - public static Func _003C_003E9__18_38; - - public static Func _003C_003E9__18_39; - - public static Func _003C_003E9__18_40; - - public static Func _003C_003E9__18_41; - - public static Func>, List> _003C_003E9__18_23; - - public static Func>, EClassJob> _003C_003E9__18_24; - - public static Func _003C_003E9__18_42; - - public static Func _003C_003E9__18_43; - - public static Func _003C_003E9__18_44; - - public static Func>, List> _003C_003E9__18_25; - - public static Func _003C_003E9__18_26; - - public static Func _003C_003E9__18_27; - - public static Func _003C_003E9__18_28; - - public static Func _003C_003E9__18_29; - - public static Func<(QuestSequence Sequence, int StepId, QuestStep Step), QuestStep> _003C_003E9__19_0; - - public static Func, IEnumerable> _003C_003E9__30_0; - - public static Func, IEnumerable> _003C_003E9__30_1; - - public static Func, IEnumerable> _003C_003E9__30_2; - - public static Func, IEnumerable> _003C_003E9__30_3; - - public static Func<(string Label, List), IEnumerable> _003C_003E9__30_4; - - public static Func _003C_003E9__30_5; - - internal ElementId _003CReload_003Eb__18_0((ElementId QuestId, byte Index, TerritoryData.ContentFinderConditionData Data) x) - { - return x.QuestId; - } - - internal bool _003CReload_003Eb__18_1(IGrouping x) - { - return x.Count() > 1; - } - - internal ElementId _003CReload_003Eb__18_2(IGrouping x) - { - return x.Key; - } - - internal bool _003CReload_003Eb__18_3(EClassJob x) - { - int num = ((x == EClassJob.Adventurer) ? (-669783748) : (-669783746)); - while (true) - { - int num2 = num; - int num3 = -669783747; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -669783746; - break; - case 3: - num = (_206D_202D_202A_200D_202D_206F_202C_206A_206E_200D_202E_202A_206C_200D_202B_200D_202A_206C_202B_206F_202D_206C_202B_206F_206C_202A_202B_206C_202C_200E_202D_206D_206E_200C_202D_206F_206A_202D_206E_202E(x) ? (-669783748) : (-669783747)); - break; - case 1: - return false; - case 0: - return !_202B_200B_206B_200C_202C_202C_200B_206D_200D_202B_206C_202D_202B_206D_206A_206E_206F_206A_200E_200F_202C_200E_202C_200B_202E_206E_202E_200B_200B_202C_200E_206D_202D_202B_202E_200E_206E_206E_206A_202C_202E(x); - } - } - } - - internal bool _003CReload_003Eb__18_4(EClassJob x) - { - int num = (_200C_206E_202D_202A_206C_206B_206A_206D_202D_202C_200C_206A_206A_206E_202D_200D_206C_202D_200F_206A_206F_206C_202B_202D_206E_206F_202C_206E_200F_206A_202B_200C_206D_202B_202D_206B_202D_202B_202E_202A_202E(x) ? 1636109059 : 1636109056); - while (true) - { - int num2 = num; - int num3 = 1636109058; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return true; - case 2: - return !_202E_200E_202A_206F_206A_202D_206E_206A_200E_202A_200B_206E_206F_202D_202D_206A_202E_202C_202C_200E_206B_206D_202C_202E_200F_202E_206F_206B_202B_206B_200E_206D_202C_206C_202D_206C_202D_206E_202E_202A_202E(x); - case 0: - goto IL_0052; - } - continue; - IL_0052: - num = 1636109056; - } - } - - internal ElementId _003CReload_003Eb__18_6((ElementId QuestId, EClassJob ClassJob) x) - { - return x.QuestId; - } - - internal EClassJob _003CReload_003Eb__18_7((ElementId QuestId, EClassJob ClassJob) x) - { - return x.ClassJob; - } - - internal EClassJob _003CReload_003Eb__18_8(EClassJob x) - { - return x; - } - - internal List _003CReload_003Eb__18_9(EClassJob _) - { - return new List(); - } - - internal ElementId _003CReload_003Eb__18_11((ElementId QuestId, EClassJob ClassJob) x) - { - return x.QuestId; - } - - internal ElementId _003CReload_003Eb__18_12(IGrouping x) - { - return x.Key; - } - - internal List _003CReload_003Eb__18_13(IGrouping x) - { - return x.Select(((ElementId QuestId, EClassJob ClassJob) y) => y.ClassJob).ToList(); - } - - internal EClassJob _003CReload_003Eb__18_33((ElementId QuestId, EClassJob ClassJob) y) - { - return y.ClassJob; - } - - internal EClassJob _003CReload_003Eb__18_14((EClassJob ClassJob, string Name) x) - { - return x.ClassJob; - } - - internal List _003CReload_003Eb__18_15((EClassJob ClassJob, string Name) _) - { - return new List(); - } - - internal EAetheryteLocation _003CReload_003Eb__18_16(KeyValuePair> x) - { - return x.Key; - } - - internal List _003CReload_003Eb__18_17(KeyValuePair> x) - { - return x.Value.OrderBy((SinglePlayerDutyInfo y) => y.SortKey).ToList(); - } - - internal ushort _003CReload_003Eb__18_34(SinglePlayerDutyInfo y) - { - return y.SortKey; - } - - internal EExpansionVersion _003CReload_003Eb__18_18(SinglePlayerDutyInfo x) - { - return x.Expansion; - } - - internal EExpansionVersion _003CReload_003Eb__18_19(IGrouping x) - { - return x.Key; - } - - internal List _003CReload_003Eb__18_20(IGrouping x) - { - return (from y in x - orderby y.JournalGenreId, y.SortKey, y.Index - select y).ToList(); - } - - internal uint _003CReload_003Eb__18_35(SinglePlayerDutyInfo y) - { - return y.JournalGenreId; - } - - internal ushort _003CReload_003Eb__18_36(SinglePlayerDutyInfo y) - { - return y.SortKey; - } - - internal byte _003CReload_003Eb__18_37(SinglePlayerDutyInfo y) - { - return y.Index; - } - - internal bool _003CReload_003Eb__18_21(KeyValuePair> x) - { - return x.Value.Count > 0; - } - - internal EClassJob _003CReload_003Eb__18_22(KeyValuePair> x) - { - return x.Key; - } - - internal List _003CReload_003Eb__18_23(KeyValuePair> x) - { - return (from y in x.Value.DistinctBy((SinglePlayerDutyInfo y) => y.ContentFinderConditionId) - orderby y.JournalGenreId, y.SortKey, y.Index - select y).ToList(); - } - - internal uint _003CReload_003Eb__18_38(SinglePlayerDutyInfo y) - { - return y.ContentFinderConditionId; - } - - internal uint _003CReload_003Eb__18_39(SinglePlayerDutyInfo y) - { - return y.JournalGenreId; - } - - internal ushort _003CReload_003Eb__18_40(SinglePlayerDutyInfo y) - { - return y.SortKey; - } - - internal byte _003CReload_003Eb__18_41(SinglePlayerDutyInfo y) - { - return y.Index; - } - - internal EClassJob _003CReload_003Eb__18_24(KeyValuePair> x) - { - return x.Key; - } - - internal List _003CReload_003Eb__18_25(KeyValuePair> x) - { - return (from y in x.Value - orderby y.JournalGenreId, y.SortKey, y.Index - select y).ToList(); - } - - internal uint _003CReload_003Eb__18_42(SinglePlayerDutyInfo y) - { - return y.JournalGenreId; - } - - internal ushort _003CReload_003Eb__18_43(SinglePlayerDutyInfo y) - { - return y.SortKey; - } - - internal byte _003CReload_003Eb__18_44(SinglePlayerDutyInfo y) - { - return y.Index; - } - - internal uint _003CReload_003Eb__18_26(SinglePlayerDutyInfo x) - { - return x.JournalGenreId; - } - - internal ushort _003CReload_003Eb__18_27(SinglePlayerDutyInfo x) - { - return x.SortKey; - } - - internal byte _003CReload_003Eb__18_28(SinglePlayerDutyInfo x) - { - return x.Index; - } - - internal uint _003CReload_003Eb__18_29(SinglePlayerDutyInfo x) - { - return x.JournalGenreId; - } - - internal QuestStep _003CFindDutyOptions_003Eb__19_0((QuestSequence Sequence, int StepId, QuestStep Step) x) - { - return x.Step; - } - - internal IEnumerable _003CGetAllEnabledSinglePlayerDuties_003Eb__30_0(List x) - { - return x; - } - - internal IEnumerable _003CGetAllEnabledSinglePlayerDuties_003Eb__30_1(List x) - { - return x; - } - - internal IEnumerable _003CGetAllEnabledSinglePlayerDuties_003Eb__30_2(List x) - { - return x; - } - - internal IEnumerable _003CGetAllEnabledSinglePlayerDuties_003Eb__30_3(List x) - { - return x; - } - - internal IEnumerable _003CGetAllEnabledSinglePlayerDuties_003Eb__30_4((string Label, List) x) - { - return x.Item2; - } - - internal bool _003CGetAllEnabledSinglePlayerDuties_003Eb__30_5(SinglePlayerDutyInfo x) - { - return x.Enabled; - } - - static bool _206D_202D_202A_200D_202D_206F_202C_206A_206E_200D_202E_202A_206C_200D_202B_200D_202A_206C_202B_206F_202D_206C_202B_206F_206C_202A_202B_206C_202C_200E_202D_206D_206E_200C_202D_206F_206A_202D_206E_202E(EClassJob P_0) - { - return P_0.IsCrafter(); - } - - static bool _202B_200B_206B_200C_202C_202C_200B_206D_200D_202B_206C_202D_202B_206D_206A_206E_206F_206A_200E_200F_202C_200E_202C_200B_202E_206E_202E_200B_200B_202C_200E_206D_202D_202B_202E_200E_206E_206E_206A_202C_202E(EClassJob P_0) - { - return P_0.IsGatherer(); - } - - static bool _200C_206E_202D_202A_206C_206B_206A_206D_202D_202C_200C_206A_206A_206E_202D_200D_206C_202D_200F_206A_206F_206C_202B_202D_206E_206F_202C_206E_200F_206A_202B_200C_206D_202B_202D_206B_202D_202B_202E_202A_202E(EClassJob P_0) - { - return P_0.IsClass(); - } - - static bool _202E_200E_202A_206F_206A_202D_206E_206A_200E_202A_200B_206E_206F_202D_202D_206A_202E_202C_202C_200E_206B_206D_202C_202E_200F_202E_206F_206B_202B_206B_200E_206D_202C_206C_202D_206C_202D_206E_202E_202A_202E(EClassJob P_0) - { - return P_0.HasBaseClass(); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass19_0 - { - public byte index; - - internal bool _003CFindDutyOptions_003Eb__1(QuestStep x) - { - int num = ((_202A_200E_200E_206A_200E_200D_202C_200D_200E_206B_206D_206E_206B_202D_206C_206A_202A_200F_206A_200C_200B_200E_206C_200D_206B_200F_202E_202B_202D_206A_202B_202B_200B_202A_200D_200D_202E_202E_200F_206B_202E(x) != EInteractionType.SinglePlayerDuty) ? (-482062610) : (-482062609)); - while (true) - { - int num2 = num; - int num3 = -482062610; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0048; - case 1: - return _200E_200B_206B_206B_202B_206A_206B_200C_206C_202B_202E_206A_200B_202C_206B_200F_202D_206F_206B_206E_206F_206B_200E_206E_202A_200B_206F_200E_206E_200F_202B_200E_202C_200D_200B_200C_200F_202A_206D_202B_202E(x) == index; - case 0: - return false; - } - continue; - IL_0048: - num = -482062609; - } - } - - internal bool _003CFindDutyOptions_003Eb__2(SinglePlayerDutyEntry e) - { - return e.Index == index; - } - - static EInteractionType _202A_200E_200E_206A_200E_200D_202C_200D_200E_206B_206D_206E_206B_202D_206C_206A_202A_200F_206A_200C_200B_200E_206C_200D_206B_200F_202E_202B_202D_206A_202B_202B_200B_202A_200D_200D_202E_202E_200F_206B_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static byte _200E_200B_206B_206B_202B_206A_206B_200C_206C_202B_202E_206A_200B_202C_206B_200F_202D_206F_206B_206E_206F_206B_200E_206E_202A_200B_206F_200E_206E_200F_202B_200E_202C_200D_200B_200C_200F_202A_206D_202B_202E(QuestStep P_0) - { - return P_0.SinglePlayerDutyIndex; - } } private const string SinglePlayerDutyClipboardPrefix = "qst:single:"; private static readonly List<(EClassJob ClassJob, string Name)> RoleQuestCategories; - private readonly string[] _retryDifficulties = new string[3] - { - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1135623481), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(466989143), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-673826834) - }; + private readonly string[] _retryDifficulties = new string[3] { "Normal", "Easy", "Very Easy" }; private readonly TerritoryData _territoryData; @@ -842,7 +122,6 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent private int _selectedTab; - [MethodImpl(MethodImplOptions.NoInlining)] public SinglePlayerDutyConfigComponent(IDalamudPluginInterface pluginInterface, Configuration configuration, TerritoryData territoryData, QuestRegistry questRegistry, QuestData questData, IDataManager dataManager, ClassJobUtils classJobUtils, ILogger logger) : base(pluginInterface, configuration) { @@ -858,7 +137,6 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent }; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Reload() { List list = (from x in _territoryData.GetAllQuestsWithQuestBattles() @@ -882,231 +160,81 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent } }; List list3 = new List(); - Dictionary dictionary2 = Enum.GetValues().Where(delegate(EClassJob x) - { - int num11 = ((x == EClassJob.Adventurer) ? (-669783748) : (-669783746)); - while (true) - { - int num12 = num11; - int num13 = -669783747; - int num14 = num12; - int num15 = num14 + num13; - int num16 = num14 & num13; - switch (num15 - (num16 + num16)) - { - case 2: - num11 = -669783746; - break; - case 3: - num11 = (_003C_003Ec._206D_202D_202A_200D_202D_206F_202C_206A_206E_200D_202E_202A_206C_200D_202B_200D_202A_206C_202B_206F_202D_206C_202B_206F_206C_202A_202B_206C_202C_200E_202D_206D_206E_200C_202D_206F_206A_202D_206E_202E(x) ? (-669783748) : (-669783747)); - break; - case 1: - return false; - case 0: - return !_003C_003Ec._202B_200B_206B_200C_202C_202C_200B_206D_200D_202B_206C_202D_202B_206D_206A_206E_206F_206A_200E_200F_202C_200E_202C_200B_202E_206E_202E_200B_200B_202C_200E_206D_202D_202B_202E_200E_206E_206E_206A_202C_202E(x); - } - } - }).Where(delegate(EClassJob x) - { - int num11 = (_003C_003Ec._200C_206E_202D_202A_206C_206B_206A_206D_202D_202C_200C_206A_206A_206E_202D_200D_206C_202D_200F_206A_206F_206C_202B_202D_206E_206F_202C_206E_200F_206A_202B_200C_206D_202B_202D_206B_202D_202B_202E_202A_202E(x) ? 1636109059 : 1636109056); - while (true) - { - int num12 = num11; - int num13 = 1636109058; - int num14 = num12; - switch ((num14 | num13) - (num14 & num13)) - { - case 1: - return true; - case 2: - return !_003C_003Ec._202E_200E_202A_206F_206A_202D_206E_206A_200E_202A_200B_206E_206F_202D_202D_206A_202E_202C_202C_200E_206B_206D_202C_202E_200F_202E_206F_206B_202B_206B_200E_206D_202C_206C_202D_206C_202D_206E_202E_202A_202E(x); - case 0: - goto IL_0052; - } - continue; - IL_0052: - num11 = 1636109056; - } - }) - .SelectMany((EClassJob x) => from y in _questRegistry.GetKnownClassJobQuests(x, includeRoleQuests: false) - select (QuestId: y.QuestId, ClassJob: x)) - .ToDictionary<(ElementId, EClassJob), ElementId, EClassJob>(((ElementId QuestId, EClassJob ClassJob) x) => x.QuestId, ((ElementId QuestId, EClassJob ClassJob) x) => x.ClassJob); + Dictionary dictionary2 = (from x in Enum.GetValues() + where x != EClassJob.Adventurer && !x.IsCrafter() && !x.IsGatherer() + where x.IsClass() || !x.HasBaseClass() + select x).SelectMany((EClassJob x) => from y in _questRegistry.GetKnownClassJobQuests(x, includeRoleQuests: false) + select (QuestId: y.QuestId, ClassJob: x)).ToDictionary<(ElementId, EClassJob), ElementId, EClassJob>(((ElementId QuestId, EClassJob ClassJob) x) => x.QuestId, ((ElementId QuestId, EClassJob ClassJob) x) => x.ClassJob); Dictionary> dictionary3 = dictionary2.Values.Distinct().ToDictionary((EClassJob x) => x, (EClassJob _) => new List()); Dictionary> dictionary4 = (from x in RoleQuestCategories.SelectMany<(EClassJob, string), (ElementId, EClassJob)>(((EClassJob ClassJob, string Name) x) => from y in _questData.GetRoleQuests(x.ClassJob) select (QuestId: y.QuestId, ClassJob: x.ClassJob)) group x by x.QuestId).ToDictionary((IGrouping x) => x.Key, (IGrouping x) => x.Select(((ElementId QuestId, EClassJob ClassJob) y) => y.ClassJob).ToList()); Dictionary> dictionary5 = RoleQuestCategories.ToDictionary<(EClassJob, string), EClassJob, List>(((EClassJob ClassJob, string Name) x) => x.ClassJob, ((EClassJob ClassJob, string Name) _) => new List()); List list4 = new List(); - IEnumerator<(ElementId, byte, TerritoryData.ContentFinderConditionData)> enumerator = _territoryData.GetAllQuestsWithQuestBattles().GetEnumerator(); - try + foreach (var allQuestsWithQuestBattle in _territoryData.GetAllQuestsWithQuestBattles()) { - SinglePlayerDutyInfo singlePlayerDutyInfo = default(SinglePlayerDutyInfo); - while (true) + ElementId item = allQuestsWithQuestBattle.QuestId; + byte item2 = allQuestsWithQuestBattle.Index; + TerritoryData.ContentFinderConditionData item3 = allQuestsWithQuestBattle.Data; + IQuestInfo questInfo = _questData.GetQuestInfo(item); + (bool QuestExists, bool EnabledByDefault, byte Index, string[] Notes) tuple = FindDutyOptions(item, item2); + bool item4 = tuple.QuestExists; + bool item5 = tuple.EnabledByDefault; + string[] item6 = tuple.Notes; + string text = ConfigComponent.FormatLevel(questInfo.Level) + " " + questInfo.Name; + if (!string.IsNullOrEmpty(item3.Name) && !questInfo.Name.EndsWith(item3.Name, StringComparison.Ordinal)) { - IL_0617: - int num3; - if (_202D_206B_206B_200D_202A_206F_202C_202A_202E_206B_202E_206B_200B_202A_200B_202D_206D_202E_206E_202D_202E_206A_200D_206E_200D_206A_200E_200B_200C_202B_206B_200E_202C_202D_202D_200D_206B_206A_202D_200F_202E((IEnumerator)enumerator)) - { - (ElementId, byte, TerritoryData.ContentFinderConditionData) current = enumerator.Current; - ElementId item = current.Item1; - byte item2 = current.Item2; - TerritoryData.ContentFinderConditionData item3 = current.Item3; - IQuestInfo questInfo = _questData.GetQuestInfo(item); - (bool QuestExists, bool EnabledByDefault, byte Index, string[] Notes) tuple = FindDutyOptions(item, item2); - bool item4 = tuple.QuestExists; - bool item5 = tuple.EnabledByDefault; - string[] item6 = tuple.Notes; - string text = _206B_200B_202D_206F_206F_206B_202C_202C_200D_200C_206D_206B_202E_200E_206B_206F_202B_200D_202E_206A_200E_200B_202E_206C_206B_202D_202C_206E_200B_202D_202A_200B_202A_206F_206D_202A_200B_206D_202B_202A_202E(ConfigComponent.FormatLevel(questInfo.Level), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-324914973), questInfo.Name); - if (!_200C_206D_200F_202D_202B_202D_206D_206C_202C_202E_202A_202B_200E_200D_200B_200B_202A_206F_206B_202E_200C_202A_200B_206E_206C_202B_200E_206B_206C_202C_206F_206F_202B_206B_206B_206B_202B_206F_202E_200E_202E(item3.Name) && !_200B_202D_206F_200D_206A_200E_202E_202D_202C_206A_202C_206A_206D_206F_202E_200D_202E_200B_206F_200C_200C_202D_202A_200C_206E_202A_202D_200F_206A_202C_206F_202C_202B_202B_206F_200C_202D_206D_202C_200F_202E(questInfo.Name, item3.Name, StringComparison.Ordinal)) - { - text = _200E_200C_200C_206E_200E_200C_200C_206B_206D_202A_206C_200B_202B_202B_202B_202A_202C_206C_200B_206B_200E_202E_206D_206E_206F_206D_200C_200F_200E_206B_200F_200F_202C_206D_202A_206F_206C_206A_200C_206B_202E(text, 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(588901087), item3.Name, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321)); - } - if (list.Contains(item)) - { - string text2 = text; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(8, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-394042080)); - int num = 1; - int num2 = item2; - defaultInterpolatedStringHandler.AppendFormatted((num2 | num) + (num2 & num)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1618480346)); - text = _200B_200E_202B_200C_202A_200E_202E_202E_202B_202E_206D_202B_206F_200E_202C_202E_206C_206A_200B_200B_202D_202E_200D_200B_200F_202C_206D_206A_206B_206C_200B_202C_200F_202B_206C_202A_202A_202B_202A_206B_202E(text2, defaultInterpolatedStringHandler.ToStringAndClear()); - } - else - { - uint contentFinderConditionId = item3.ContentFinderConditionId; - if ((contentFinderConditionId == 674 || contentFinderConditionId == 691) ? true : false) - { - text = _200B_200E_202B_200C_202A_200E_202E_202E_202B_202E_206D_202B_206F_200E_202C_202E_206C_206A_200B_200B_202D_202E_200D_200B_200F_202C_206D_206A_206B_206C_200B_202C_200F_202B_206C_202A_202A_202B_202A_206B_202E(text, 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(1402602553)); - } - } - singlePlayerDutyInfo = new SinglePlayerDutyInfo(text, questInfo, item3, item2, item5, item6, item4); - if (singlePlayerDutyInfo.IsLimsaStart) - { - dictionary[EAetheryteLocation.Limsa].Add(singlePlayerDutyInfo); - continue; - } - if (singlePlayerDutyInfo.IsGridaniaStart) - { - dictionary[EAetheryteLocation.Gridania].Add(singlePlayerDutyInfo); - continue; - } - if (singlePlayerDutyInfo.IsUldahStart) - { - dictionary[EAetheryteLocation.Uldah].Add(singlePlayerDutyInfo); - continue; - } - if (questInfo.IsMainScenarioQuest) - { - list2.Add(singlePlayerDutyInfo); - continue; - } - if (dictionary2.TryGetValue(item, out var value)) - { - dictionary3[value].Add(singlePlayerDutyInfo); - continue; - } - if (dictionary4.TryGetValue(item, out var value2)) - { - using (List.Enumerator enumerator2 = value2.GetEnumerator()) - { - num3 = 328955790; - while (true) - { - int num4 = num3; - int num = 328955788; - int num2 = num4; - int num5 = num2 + num; - int num6 = num2 & num; - switch (num5 - (num6 + num6)) - { - case 0: - num3 = 328955790; - break; - case 2: - num3 = (enumerator2.MoveNext() ? 328955791 : 328955789); - break; - case 3: - { - EClassJob current2 = enumerator2.Current; - dictionary5[current2].Add(singlePlayerDutyInfo); - num3 = 328955790; - break; - } - case 1: - goto end_IL_04fc; - } - continue; - end_IL_04fc: - break; - } - } - continue; - } - num3 = ((!singlePlayerDutyInfo.IsOtherRoleQuest) ? 2040971182 : 2040971183); - } - else - { - num3 = 2040971180; - } - while (true) - { - int num7 = num3; - int num = 2040971180; - int num2 = num7; - switch ((num2 | num) - (num2 & num)) - { - default: - continue; - case 2: - list3.Add(singlePlayerDutyInfo); - num3 = 2040971181; - continue; - case 3: - list4.Add(singlePlayerDutyInfo); - num3 = 2040971181; - continue; - case 1: - break; - case 4: - num3 = 2040971183; - continue; - case 0: - goto end_IL_05ba; - } - goto IL_0617; - continue; - end_IL_05ba: - break; - } - break; + text = text + " (" + item3.Name + ")"; } - } - finally - { - int num3 = ((enumerator == null) ? (-503752894) : (-503752895)); - while (true) + if (list.Contains(item)) { - int num8 = num3; - int num = -503752893; - int num2 = num8; - int num9 = num2 + num; - int num10 = num2 & num; - switch (num9 - (num10 + num10)) + text += $" (Part {item2 + 1})"; + } + else + { + uint contentFinderConditionId = item3.ContentFinderConditionId; + if ((contentFinderConditionId == 674 || contentFinderConditionId == 691) ? true : false) { - case 0: - num3 = -503752895; - break; - case 1: - goto end_IL_065f; - case 2: - _200E_200D_206F_202C_200D_200F_206D_206C_200B_200E_200E_202E_202E_202A_206C_200E_202E_200F_200B_202B_200D_206B_206F_206C_206C_202C_202C_206D_206E_200F_200B_200F_202A_206B_202D_206C_202C_200B_200B_200F_202E((IDisposable)enumerator); - num3 = -503752894; - break; + text += " (Melee/Phys. Ranged)"; } - continue; - end_IL_065f: - break; + } + SinglePlayerDutyInfo singlePlayerDutyInfo = new SinglePlayerDutyInfo(text, questInfo, item3, item2, item5, item6, item4); + EClassJob value; + List value2; + if (singlePlayerDutyInfo.IsLimsaStart) + { + dictionary[EAetheryteLocation.Limsa].Add(singlePlayerDutyInfo); + } + else if (singlePlayerDutyInfo.IsGridaniaStart) + { + dictionary[EAetheryteLocation.Gridania].Add(singlePlayerDutyInfo); + } + else if (singlePlayerDutyInfo.IsUldahStart) + { + dictionary[EAetheryteLocation.Uldah].Add(singlePlayerDutyInfo); + } + else if (questInfo.IsMainScenarioQuest) + { + list2.Add(singlePlayerDutyInfo); + } + else if (dictionary2.TryGetValue(item, out value)) + { + dictionary3[value].Add(singlePlayerDutyInfo); + } + else if (dictionary4.TryGetValue(item, out value2)) + { + foreach (EClassJob item7 in value2) + { + dictionary5[item7].Add(singlePlayerDutyInfo); + } + } + else if (singlePlayerDutyInfo.IsOtherRoleQuest) + { + list4.Add(singlePlayerDutyInfo); + } + else + { + list3.Add(singlePlayerDutyInfo); } } _startingCityBattles = dictionary.ToImmutableDictionary((KeyValuePair> x) => x.Key, (KeyValuePair> x) => x.Value.OrderBy((SinglePlayerDutyInfo y) => y.SortKey).ToList()); @@ -1127,899 +255,288 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent select (BuildJournalGenreLabel(x.Key), x.ToList())).ToImmutableList(); } - [MethodImpl(MethodImplOptions.NoInlining)] private (bool QuestExists, bool EnabledByDefault, byte Index, string[] Notes) FindDutyOptions(ElementId questId, byte index) { - Questionable.Model.Quest quest; - int num = (_questRegistry.TryGetQuest(questId, out quest) ? (-2063264622) : (-2063264611)); - QuestId questId2 = default(QuestId); - SinglePlayerDutyEntry singlePlayerDutyEntry = default(SinglePlayerDutyEntry); - SinglePlayerDutyEntry[] value = default(SinglePlayerDutyEntry[]); - bool item = default(bool); - string[] item2 = default(string[]); - while (true) + if (!_questRegistry.TryGetQuest(questId, out Questionable.Model.Quest quest)) { - int num2 = num; - int num3 = -2063264616; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num7; - ushort key; - switch (num5 - (num6 + num6)) + _logger.LogDebug("Disabling quest battle for quest {QuestId}, unknown quest", questId); + return (QuestExists: false, EnabledByDefault: false, Index: index, Notes: Array.Empty()); + } + if (quest.Root.Disabled) + { + _logger.LogDebug("Disabling quest battle for quest {QuestId}, quest is disabled", questId); + return (QuestExists: false, EnabledByDefault: false, Index: index, Notes: Array.Empty()); + } + if ((from x in quest.AllSteps() + select x.Step).FirstOrDefault((QuestStep x) => x.InteractionType == EInteractionType.SinglePlayerDuty && x.SinglePlayerDutyIndex == index) == null) + { + _logger.LogWarning("Disabling quest battle for quest {QuestId}, no battle with index {Index} found", questId, index); + return (QuestExists: false, EnabledByDefault: false, Index: index, Notes: Array.Empty()); + } + ushort key = (ushort)((questId is QuestId questId2) ? questId2.Value : 0); + bool item = false; + string[] item2 = Array.Empty(); + if (DutyRegistry.SinglePlayerDuties.TryGetValue(key, out SinglePlayerDutyEntry[] value)) + { + SinglePlayerDutyEntry singlePlayerDutyEntry = value.FirstOrDefault((SinglePlayerDutyEntry e) => e.Index == index); + if (singlePlayerDutyEntry != null) { - case 2: - _206D_206E_202D_202E_206D_206E_200F_202D_206B_206E_202E_200D_206F_200D_200F_200C_206D_202B_200E_206B_200E_202C_206B_202C_200F_206D_206F_206F_206E_200D_206E_202B_206C_200C_200D_202B_206E_200D_202D_202D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-97214950), new object[1] { questId }); - return (QuestExists: false, EnabledByDefault: false, Index: index, Notes: Array.Empty()); - case 8: - questId2 = questId as QuestId; - num = (((object)questId2 != null) ? (-2063264613) : (-2063264621)); - break; - case 9: - num = (((from x in quest.AllSteps() - select x.Step).FirstOrDefault(delegate(QuestStep x) - { - int num8 = ((_003C_003Ec__DisplayClass19_0._202A_200E_200E_206A_200E_200D_202C_200D_200E_206B_206D_206E_206B_202D_206C_206A_202A_200F_206A_200C_200B_200E_206C_200D_206B_200F_202E_202B_202D_206A_202B_202B_200B_202A_200D_200D_202E_202E_200F_206B_202E(x) != EInteractionType.SinglePlayerDuty) ? (-482062610) : (-482062609)); - while (true) - { - int num9 = num8; - int num10 = -482062610; - int num11 = num9; - switch ((num11 | num10) - (num11 & num10)) - { - case 2: - goto IL_0048; - case 1: - return _003C_003Ec__DisplayClass19_0._200E_200B_206B_206B_202B_206A_206B_200C_206C_202B_202E_206A_200B_202C_206B_200F_202D_206F_206B_206E_206F_206B_200E_206E_202A_200B_206F_200E_206E_200F_202B_200E_202C_200D_200B_200C_200F_202A_206D_202B_202E(x) == index; - case 0: - return false; - } - continue; - IL_0048: - num8 = -482062609; - } - }) != null) ? (-2063264624) : (-2063264615)); - break; - case 4: - num = -2063264611; - break; - case 3: - num7 = _202D_202C_206F_206C_202D_200D_200C_202C_206B_206E_206D_206A_200F_206F_202D_206E_206A_206C_202B_200E_200B_206E_206E_200C_202B_200C_200E_206E_206B_206E_202B_202A_206A_200D_206D_200F_202B_202B_202D_200D_202E((ElementId)questId2); - goto IL_014e; - case 6: - singlePlayerDutyEntry = value.FirstOrDefault((SinglePlayerDutyEntry e) => e.Index == index); - num = ((!(singlePlayerDutyEntry != null)) ? (-2063264609) : (-2063264616)); - break; - case 11: - num7 = 0; - goto IL_014e; - case 7: - return (QuestExists: true, EnabledByDefault: item, Index: index, Notes: item2); - case 5: - _206D_206E_202D_202E_206D_206E_200F_202D_206B_206E_202E_200D_206F_200D_200F_200C_206D_202B_200E_206B_200E_202C_206B_202C_200F_206D_206F_206F_206E_200D_206E_202B_206C_200C_200D_202B_206E_200D_202D_202D_202E((ILogger)_logger, 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(1940899937), new object[1] { questId }); - return (QuestExists: false, EnabledByDefault: false, Index: index, Notes: Array.Empty()); - case 0: item = singlePlayerDutyEntry.Enabled; item2 = singlePlayerDutyEntry.Notes; - num = -2063264609; - break; - case 1: - _202E_202A_202C_200F_206F_200B_206D_206C_202A_202E_200C_206D_200D_202C_206C_200B_206F_202D_206E_200D_200B_202B_202C_200E_206C_202C_200E_206E_206B_206A_200F_202E_206B_202E_200E_202E_200F_206A_206E_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1989143781), new object[2] { questId, index }); - return (QuestExists: false, EnabledByDefault: false, Index: index, Notes: Array.Empty()); - case 10: - { - num = ((!_202E_202C_200D_200E_206F_202B_200E_200C_200C_202E_206F_206D_202D_200B_200F_206F_202A_200C_200E_206F_200E_200F_200F_200B_200C_206C_206F_202D_206E_200C_200F_202A_202A_202B_206B_206A_206F_206F_202B_206A_202E(quest.Root)) ? (-2063264623) : (-2063264614)); - break; - } - IL_014e: - key = (ushort)num7; - item = false; - item2 = Array.Empty(); - num = ((!DutyRegistry.SinglePlayerDuties.TryGetValue(key, out value)) ? (-2063264609) : (-2063264610)); - break; } } + return (QuestExists: true, EnabledByDefault: item, Index: index, Notes: item2); } - [MethodImpl(MethodImplOptions.NoInlining)] private string BuildJournalGenreLabel(uint journalGenreId) { JournalGenre row = _dataManager.GetExcelSheet().GetRow(journalGenreId); JournalCategory value = row.JournalCategory.Value; string text = row.Name.ExtractText(); - return _206B_200B_202D_206F_206F_206B_202C_202C_200D_200C_206D_206B_202E_200E_206B_206F_202B_200D_202E_206A_200E_200B_202E_206C_206B_202D_202C_206E_200B_202D_202A_200B_202A_206F_206D_202A_200B_206D_202B_202A_202E(value.Name.ExtractText(), 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(-1206804877), text); + return value.Name.ExtractText() + " ※ " + text; } - [MethodImpl(MethodImplOptions.NoInlining)] public override void DrawTab() { - int num = ((!_needsReload) ? (-1602595785) : (-1602595786)); - Vector2 item = default(Vector2); - float item2 = default(float); - ImDrawListPtr item3 = default(ImDrawListPtr); - bool value = default(bool); - int num10 = default(int); - int maxRetries = default(int); - bool flag = default(bool); - while (true) + if (_needsReload) { - int num2 = num; - int num3 = -1602595787; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + _needsReload = false; + Reload(); + } + UiThemeUtils.SectionHeader("Quest Battle Settings"); + ImGui.Spacing(); + (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple = UiThemeUtils.BeginCard(); + Vector2 item = tuple.ContentStartPos; + float item2 = tuple.AvailableWidth; + ImDrawListPtr item3 = tuple.DrawList; + bool value = base.Configuration.SinglePlayerDuties.RunSoloInstancesWithBossMod; + if (UiThemeUtils.WrappedCheckbox("Run quest battles with BossMod", ref value, "Work in Progress:\n- Will always use BossMod for combat (ignoring the configured combat module).\n- Only a small subset of quest battles have been tested - most of which are in the MSQ.")) + { + base.Configuration.SinglePlayerDuties.RunSoloInstancesWithBossMod = value; + Save(); + } + using (ImRaii.Disabled(!value)) + { + ImGui.Spacing(); + int currentItem = (int)base.Configuration.SinglePlayerDuties.RetryDifficulty; + ImGui.SetNextItemWidth(MathF.Min(ImGui.GetContentRegionAvail().X * 0.4f, 260f)); + if (UiThemeUtils.ThemedCombo("Difficulty when retrying a failed quest battle", ref currentItem, _retryDifficulties, _retryDifficulties.Length)) { - case 4: - num = -1602595786; + base.Configuration.SinglePlayerDuties.RetryDifficulty = (Configuration.ERetryDifficulty)currentItem; + Save(); + } + ImGui.SameLine(); + UiThemeUtils.InfoIcon("Not all quest battles offer Easy or Very Easy difficulty."); + ImGui.Spacing(); + int maxRetries = base.Configuration.SinglePlayerDuties.MaxRetries; + if (ImGui.RadioButton("Do not retry failed quest battles", maxRetries == 0)) + { + base.Configuration.SinglePlayerDuties.MaxRetries = 0; + Save(); + } + bool flag = maxRetries > 0; + if (ImGui.RadioButton("Retry", flag)) + { + base.Configuration.SinglePlayerDuties.MaxRetries = Math.Max(1, maxRetries); + Save(); + } + if (flag) + { + ImGui.SameLine(); + ImGui.SetNextItemWidth(80f); + int data = maxRetries; + if (ImGui.InputInt("time(s)##retryCount", ref data, 1) && data >= 1) + { + base.Configuration.SinglePlayerDuties.MaxRetries = data; + Save(); + } + } + if (ImGui.RadioButton("Retry indefinitely", maxRetries == -1)) + { + base.Configuration.SinglePlayerDuties.MaxRetries = -1; + Save(); + } + if (maxRetries == -1) + { + ImGui.SameLine(); + UiThemeUtils.InfoIcon("Warning: Your gear may break if you retry endlessly!"); + } + } + UiThemeUtils.EndCard(item, item2, item3); + UiThemeUtils.SectionSpacing(); + using (ImRaii.Disabled(!value)) + { + UiThemeUtils.SectionHeader("Quest Battle Overrides"); + ImGui.Spacing(); + (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple2 = UiThemeUtils.BeginCard(); + Vector2 item4 = tuple2.ContentStartPos; + float item5 = tuple2.AvailableWidth; + ImDrawListPtr item6 = tuple2.DrawList; + (int enabledCount, int totalCount) mainScenarioQuestCounts = GetMainScenarioQuestCounts(); + int item7 = mainScenarioQuestCounts.enabledCount; + int item8 = mainScenarioQuestCounts.totalCount; + (int enabledCount, int totalCount) jobQuestCounts = GetJobQuestCounts(); + int item9 = jobQuestCounts.enabledCount; + int item10 = jobQuestCounts.totalCount; + (int enabledCount, int totalCount) roleQuestCounts = GetRoleQuestCounts(); + int item11 = roleQuestCounts.enabledCount; + int item12 = roleQuestCounts.totalCount; + (int enabledCount, int totalCount) otherQuestCounts = GetOtherQuestCounts(); + int item13 = otherQuestCounts.enabledCount; + int item14 = otherQuestCounts.totalCount; + InlineArray4 buffer = default(InlineArray4); + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 0) = $"Main Scenario Quests ({item7}/{item8})"; + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 1) = $"Class/Job Quests ({item9}/{item10})"; + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 2) = $"Role Quests ({item11}/{item12})"; + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 3) = $"Other Quests ({item13}/{item14})"; + ReadOnlySpan labels = global::_003CPrivateImplementationDetails_003E.InlineArrayAsReadOnlySpan, string>(in buffer, 4); + _selectedTab = UiThemeUtils.DrawTabBar(labels, _selectedTab); + ImGui.SetCursorPosY(ImGui.GetCursorPosY() - ImGui.GetStyle().ItemSpacing.Y); + switch (_selectedTab) + { + case 0: + DrawMainScenarioConfigTable(); break; - case 3: - _needsReload = false; - Reload(); - num = -1602595785; + case 1: + DrawJobQuestConfigTable(); break; case 2: - { - UiThemeUtils.SectionHeader(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(591315449)); - _206B_202A_200C_206C_202C_206C_202C_200C_200D_200F_200E_202C_200F_200B_206F_200C_202C_206A_206C_200E_200C_202A_206F_202B_200D_202E_206B_200F_206F_200F_206B_202C_202A_200E_202E_202A_200C_200B_202D_200C_202E(); - (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple2 = UiThemeUtils.BeginCard(); - item = tuple2.ContentStartPos; - item2 = tuple2.AvailableWidth; - item3 = tuple2.DrawList; - value = base.Configuration.SinglePlayerDuties.RunSoloInstancesWithBossMod; - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1787365424), ref value, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-304229320))) ? (-1602595787) : (-1602595788)); + DrawRoleQuestConfigTable(); + break; + case 3: + DrawOtherQuestConfigTable(); break; } - case 1: - base.Configuration.SinglePlayerDuties.RunSoloInstancesWithBossMod = value; + DrawEnableAllButton(); + ImGui.SameLine(); + DrawClipboardButtons("qst:single:", base.Configuration.SinglePlayerDuties.WhitelistedSinglePlayerDutyCfcIds, base.Configuration.SinglePlayerDuties.BlacklistedSinglePlayerDutyCfcIds); + ImGui.SameLine(); + if (UiThemeUtils.DestructiveButton(FontAwesomeIcon.Undo, "Reset to defaults")) + { + base.Configuration.SinglePlayerDuties.WhitelistedSinglePlayerDutyCfcIds.Clear(); + base.Configuration.SinglePlayerDuties.BlacklistedSinglePlayerDutyCfcIds.Clear(); Save(); - num = -1602595787; - break; - case 0: - { - ImRaii.DisabledDisposable disabledDisposable = _202D_200E_206A_202E_206E_206C_202D_206F_200C_202A_202A_200B_206D_200F_206D_202C_206E_200E_202C_200B_202E_200B_200C_202D_202A_202E_200C_200E_202A_206C_200D_200F_202C_202E_206D_206B_206C_202C_206C_202E_202E(!value); - try - { - _206B_202A_200C_206C_202C_206C_202C_200C_200D_200F_200E_202C_200F_200B_206F_200C_202C_206A_206C_200E_200C_202A_206F_202B_200D_202E_206B_200F_206F_200F_206B_202C_202A_200E_202E_202A_200C_200B_202D_200C_202E(); - int currentItem = (int)base.Configuration.SinglePlayerDuties.RetryDifficulty; - _200D_206A_206A_200B_200B_206B_202A_206B_200D_206B_206D_200B_202E_202B_200E_206B_206A_202B_200D_202B_200D_200B_206D_200F_200F_206D_202B_206D_206F_206E_202C_206F_200B_200D_206B_206D_200F_202A_202A_206C_202E(_206E_200D_202A_202D_206E_200C_200D_206D_206F_200D_206D_202D_200E_200D_206F_200E_202E_206C_206B_202A_206C_200F_206B_200F_200B_206E_200C_202D_202B_202A_200C_202D_200D_202B_206D_200F_200D_200B_202E_206E_202E(_206C_206D_200C_206A_200D_202E_206D_202B_206F_202B_206B_206A_202D_206F_206D_202B_200E_202C_200F_202B_200D_202A_206E_202B_206B_202A_206C_202E_202B_200F_206B_206D_200C_202D_206A_200E_200D_202E_206B_202E().X * 0.4f, 260f)); - num = ((!UiThemeUtils.ThemedCombo(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-586214286), ref currentItem, _retryDifficulties, _retryDifficulties.Length)) ? (-1682209538) : (-1682209541)); - while (true) - { - int num7 = num; - num3 = -1682209544; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 4: - _202D_206F_206D_206B_200F_202D_206D_202C_202D_206F_202E_206C_202C_202E_206F_200E_200E_200B_206D_202B_202E_206C_200E_206C_206C_202D_202A_200C_200C_206E_206E_200D_202A_206B_202D_202D_206B_202C_206F_202E(); - _200D_206A_206A_200B_200B_206B_202A_206B_200D_206B_206D_200B_202E_202B_200E_206B_206A_202B_200D_202B_200D_200B_206D_200F_200F_206D_202B_206D_206F_206E_202C_206F_200B_200D_206B_206D_200F_202A_202A_206C_202E(80f); - num10 = maxRetries; - num = ((!_202A_200F_206C_202B_202B_206D_200E_206F_200F_206B_206A_206F_206C_202E_200B_202D_206D_200B_200C_202E_202A_202D_202E_202D_206C_200E_200C_202D_206A_206B_206E_206D_206D_202A_202B_202E_200D_206B_200F_200D_202E((ImU8String)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(-672593592), ref num10, 1, 0, default(ImU8String), ImGuiInputTextFlags.None)) ? (-1682209548) : (-1682209551)); - break; - case 6: - _202D_206F_206D_206B_200F_202D_206D_202C_202D_206F_202E_206C_202C_202E_206F_200E_200E_200B_206D_202B_202E_206C_200E_206C_206C_202D_202A_200C_200C_206E_206E_200D_202A_206B_202D_202D_206B_202C_206F_202E(); - UiThemeUtils.InfoIcon(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(1252247264)); - _206B_202A_200C_206C_202C_206C_202C_200C_200D_200F_200E_202C_200F_200B_206F_200C_202C_206A_206C_200E_200C_202A_206F_202B_200D_202E_206B_200F_206F_200F_206B_202C_202A_200E_202E_202A_200C_200B_202D_200C_202E(); - maxRetries = base.Configuration.SinglePlayerDuties.MaxRetries; - num = ((!_206B_206D_200D_202B_202B_200C_202E_206D_206B_206D_206E_202D_200F_202C_202A_202D_206E_202D_206F_200B_202A_200B_200F_202E_200D_202D_200E_206C_200B_200B_206A_206E_202B_206D_202D_206A_202B_202D_206D_202C_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(556769295), maxRetries == 0)) ? (-1682209547) : (-1682209543)); - break; - case 7: - base.Configuration.SinglePlayerDuties.MaxRetries = num10; - Save(); - num = -1682209548; - break; - case 14: - num = -1682209541; - break; - case 1: - base.Configuration.SinglePlayerDuties.MaxRetries = 0; - Save(); - num = -1682209547; - break; - case 8: - num = ((!flag) ? (-1682209548) : (-1682209540)); - break; - case 5: - base.Configuration.SinglePlayerDuties.MaxRetries = _202C_202D_206F_200E_200E_202B_202C_206E_206B_200B_202E_206F_206E_202D_202C_206B_206D_206C_200F_202C_202B_202B_206E_202D_206C_200E_206D_200D_202D_200E_206D_200D_200B_206C_206F_206E_206A_200F_206D_206F_202E(1, maxRetries); - Save(); - num = -1682209552; - break; - case 13: - flag = maxRetries > 0; - num = ((!_206B_206D_200D_202B_202B_200C_202E_206D_206B_206D_206E_202D_200F_202C_202A_202D_206E_202D_206F_200B_202A_200B_200F_202E_200D_202D_200E_206C_200B_200B_206A_206E_202B_206D_202D_206A_202B_202D_206D_202C_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(679585427), flag)) ? (-1682209552) : (-1682209539)); - break; - case 11: - base.Configuration.SinglePlayerDuties.MaxRetries = -1; - Save(); - num = -1682209550; - break; - case 12: - num = ((!_206B_206D_200D_202B_202B_200C_202E_206D_206B_206D_206E_202D_200F_202C_202A_202D_206E_202D_206F_200B_202A_200B_200F_202E_200D_202D_200E_206C_200B_200B_206A_206E_202B_206D_202D_206A_202B_202D_206D_202C_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-760791582), maxRetries == -1)) ? (-1682209550) : (-1682209549)); - break; - case 2: - _202D_206F_206D_206B_200F_202D_206D_202C_202D_206F_202E_206C_202C_202E_206F_200E_200E_200B_206D_202B_202E_206C_200E_206C_206C_202D_202A_200C_200C_206E_206E_200D_202A_206B_202D_202D_206B_202C_206F_202E(); - UiThemeUtils.InfoIcon(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(1186403595)); - num = -1682209544; - break; - case 3: - base.Configuration.SinglePlayerDuties.RetryDifficulty = (Configuration.ERetryDifficulty)currentItem; - Save(); - num = -1682209538; - break; - case 10: - num = ((maxRetries != -1) ? (-1682209544) : (-1682209542)); - break; - case 9: - num = ((num10 < 1) ? (-1682209548) : (-1682209537)); - break; - case 0: - goto end_IL_0194; - } - continue; - end_IL_0194: - break; - } - } - finally - { - num = ((disabledDisposable == null) ? (-1889698799) : (-1889698800)); - while (true) - { - int num11 = num; - num3 = -1889698799; - num4 = num11; - int num12 = num4 + num3; - int num13 = num4 & num3; - switch (num12 - (num13 + num13)) - { - case 2: - num = -1889698800; - break; - case 1: - _200E_200D_206F_202C_200D_200F_206D_206C_200B_200E_200E_202E_202E_202A_206C_200E_202E_200F_200B_202B_200D_206B_206F_206C_206C_202C_202C_206D_206E_200F_200B_200F_202A_206B_202D_206C_202C_200B_200B_200F_202E((IDisposable)disabledDisposable); - num = -1889698799; - break; - case 0: - goto end_IL_047e; - } - continue; - end_IL_047e: - break; - } - } - UiThemeUtils.EndCard(item, item2, item3); - UiThemeUtils.SectionSpacing(); - disabledDisposable = _202D_200E_206A_202E_206E_206C_202D_206F_200C_202A_202A_200B_206D_200F_206D_202C_206E_200E_202C_200B_202E_200B_200C_202D_202A_202E_200C_200E_202A_206C_200D_200F_202C_202E_206D_206B_206C_202C_206C_202E_202E(!value); - try - { - UiThemeUtils.SectionHeader(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(-405282686)); - _206B_202A_200C_206C_202C_206C_202C_200C_200D_200F_200E_202C_200F_200B_206F_200C_202C_206A_206C_200E_200C_202A_206F_202B_200D_202E_206B_200F_206F_200F_206B_202C_202A_200E_202E_202A_200C_200B_202D_200C_202E(); - (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple = UiThemeUtils.BeginCard(); - Vector2 item4 = tuple.ContentStartPos; - float item5 = tuple.AvailableWidth; - ImDrawListPtr item6 = tuple.DrawList; - (int enabledCount, int totalCount) mainScenarioQuestCounts = GetMainScenarioQuestCounts(); - int item7 = mainScenarioQuestCounts.enabledCount; - int item8 = mainScenarioQuestCounts.totalCount; - (int enabledCount, int totalCount) jobQuestCounts = GetJobQuestCounts(); - int item9 = jobQuestCounts.enabledCount; - int item10 = jobQuestCounts.totalCount; - (int enabledCount, int totalCount) roleQuestCounts = GetRoleQuestCounts(); - int item11 = roleQuestCounts.enabledCount; - int item12 = roleQuestCounts.totalCount; - (int enabledCount, int totalCount) otherQuestCounts = GetOtherQuestCounts(); - int item13 = otherQuestCounts.enabledCount; - int item14 = otherQuestCounts.totalCount; - InlineArray4 buffer = default(InlineArray4); - ref string reference = ref global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 0); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(24, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(-1502035446)); - defaultInterpolatedStringHandler.AppendFormatted(item7); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-70733513)); - defaultInterpolatedStringHandler.AppendFormatted(item8); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321)); - reference = defaultInterpolatedStringHandler.ToStringAndClear(); - ref string reference2 = ref global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 1); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(20, 2); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-764635290)); - defaultInterpolatedStringHandler2.AppendFormatted(item9); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(503298330)); - defaultInterpolatedStringHandler2.AppendFormatted(item10); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321)); - reference2 = defaultInterpolatedStringHandler2.ToStringAndClear(); - ref string reference3 = ref global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 2); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(15, 2); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-286842304)); - defaultInterpolatedStringHandler3.AppendFormatted(item11); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(503298330)); - defaultInterpolatedStringHandler3.AppendFormatted(item12); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(555647321)); - reference3 = defaultInterpolatedStringHandler3.ToStringAndClear(); - ref string reference4 = ref global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 3); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler4 = new DefaultInterpolatedStringHandler(16, 2); - defaultInterpolatedStringHandler4.AppendLiteral(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(1317598960)); - defaultInterpolatedStringHandler4.AppendFormatted(item13); - defaultInterpolatedStringHandler4.AppendLiteral(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(-1392036559)); - defaultInterpolatedStringHandler4.AppendFormatted(item14); - defaultInterpolatedStringHandler4.AppendLiteral(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(444206578)); - reference4 = defaultInterpolatedStringHandler4.ToStringAndClear(); - ReadOnlySpan labels = global::_003CPrivateImplementationDetails_003E.InlineArrayAsReadOnlySpan, string>(in buffer, 4); - _selectedTab = UiThemeUtils.DrawTabBar(labels, _selectedTab); - _206D_206B_200D_206B_206B_206A_200D_206D_202D_206E_202D_200B_200C_202A_206D_206E_202B_202D_200E_206B_206C_202D_202A_202E_206A_206C_206B_202B_202A_202B_200C_206A_206C_202C_202D_200D_200D_206F_206D_206E_202E(_202E_200D_206D_200D_200B_202E_206A_206D_202C_200B_200B_206F_206A_206C_200B_200F_200D_206B_202E_202C_206A_202D_200C_202B_200E_202D_202C_206A_206F_206C_200E_202A_202C_206F_200E_200B_200B_202D_200E_200C_202E() - _200E_202B_206C_200F_206C_206F_206E_202E_202A_206D_202C_200D_200B_206B_200D_206A_206E_206C_202E_206F_202D_200E_206A_202E_206F_200D_200F_200C_200C_202B_206C_200E_200C_206C_200B_206D_206D_202B_206C_202E_202E().ItemSpacing.Y); - switch (_selectedTab) - { - default: - num = -1152905542; - goto IL_0753; - case 1: - DrawJobQuestConfigTable(); - num = -1152905541; - goto IL_0753; - case 2: - goto IL_07f1; - case 3: - goto IL_0881; - case 0: - goto IL_0893; - IL_0753: - while (true) - { - int num14 = num; - num3 = -1152905538; - num4 = num14; - switch ((num4 | num3) - (num4 & num3)) - { - case 8: - base.Configuration.SinglePlayerDuties.WhitelistedSinglePlayerDutyCfcIds.Clear(); - base.Configuration.SinglePlayerDuties.BlacklistedSinglePlayerDutyCfcIds.Clear(); - Save(); - num = -1152905538; - break; - case 4: - num = -1152905541; - break; - case 7: - goto end_IL_0753; - case 6: - goto IL_07f1; - case 3: - num = -1152905542; - break; - case 5: - goto IL_080f; - case 2: - goto IL_0881; - case 1: - goto IL_0893; - case 0: - UiThemeUtils.EndCard(item4, item5, item6); - return; - } - continue; - IL_080f: - DrawEnableAllButton(); - _202D_206F_206D_206B_200F_202D_206D_202C_202D_206F_202E_206C_202C_202E_206F_200E_200E_200B_206D_202B_202E_206C_200E_206C_206C_202D_202A_200C_200C_206E_206E_200D_202A_206B_202D_202D_206B_202C_206F_202E(); - DrawClipboardButtons(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(436552950), base.Configuration.SinglePlayerDuties.WhitelistedSinglePlayerDutyCfcIds, base.Configuration.SinglePlayerDuties.BlacklistedSinglePlayerDutyCfcIds); - _202D_206F_206D_206B_200F_202D_206D_202C_202D_206F_202E_206C_202C_202E_206F_200E_200E_200B_206D_202B_202E_206C_200E_206C_206C_202D_202A_200C_200C_206E_206E_200D_202A_206B_202D_202D_206B_202C_206F_202E(); - num = ((!UiThemeUtils.DestructiveButton(FontAwesomeIcon.Undo, 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(105765014))) ? (-1152905538) : (-1152905546)); - continue; - end_IL_0753: - break; - } - goto case 1; - IL_0893: - DrawMainScenarioConfigTable(); - num = -1152905541; - goto IL_0753; - IL_0881: - DrawOtherQuestConfigTable(); - num = -1152905541; - goto IL_0753; - IL_07f1: - DrawRoleQuestConfigTable(); - num = -1152905541; - goto IL_0753; - } - } - finally - { - num = ((disabledDisposable == null) ? (-1996908765) : (-1996908768)); - while (true) - { - int num15 = num; - num3 = -1996908767; - num4 = num15; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1996908768; - break; - case 2: - goto end_IL_08d4; - case 1: - _200E_200D_206F_202C_200D_200F_206D_206C_200B_200E_200E_202E_202E_202A_206C_200E_202E_200F_200B_202B_200D_206B_206F_206C_206C_202C_202C_206D_206E_200F_200B_200F_202A_206B_202D_206C_202C_200B_200B_200F_202E((IDisposable)disabledDisposable); - num = -1996908765; - break; - } - continue; - end_IL_08d4: - break; - } - } - } } + UiThemeUtils.EndCard(item4, item5, item6); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawMainScenarioConfigTable() { using ImRaii.ChildDisposable childDisposable = BeginChildArea(); - int num = ((!(!childDisposable)) ? 2112848608 : 2112848618); - EExpansionVersion eExpansionVersion = default(EExpansionVersion); - EExpansionVersion[] values = default(EExpansionVersion[]); - int num8 = default(int); - List value = default(List); - Dictionary headerStates = default(Dictionary); - while (true) + if (!childDisposable) { - int num2 = num; - int num3 = 2112848609; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + Dictionary headerStates = base.Configuration.SinglePlayerDuties.HeaderStates; + var (value, value2) = GetQuestBattleCounts(_startingCityBattles[EAetheryteLocation.Limsa]); + if (DrawPersistentAccordion($"Limsa Lominsa ({ConfigComponent.FormatLevel(5)} - {ConfigComponent.FormatLevel(14)})", $"{value}/{value2}", "Limsa", headerStates)) + { + DrawQuestTable("LimsaLominsa", _startingCityBattles[EAetheryteLocation.Limsa]); + } + var (value3, value4) = GetQuestBattleCounts(_startingCityBattles[EAetheryteLocation.Gridania]); + if (DrawPersistentAccordion($"Gridania ({ConfigComponent.FormatLevel(5)} - {ConfigComponent.FormatLevel(14)})", $"{value3}/{value4}", "Gridania", headerStates)) + { + DrawQuestTable("Gridania", _startingCityBattles[EAetheryteLocation.Gridania]); + } + var (value5, value6) = GetQuestBattleCounts(_startingCityBattles[EAetheryteLocation.Uldah]); + if (DrawPersistentAccordion($"Ul'dah ({ConfigComponent.FormatLevel(4)} - {ConfigComponent.FormatLevel(14)})", $"{value5}/{value6}", "Uldah", headerStates)) + { + DrawQuestTable("Uldah", _startingCityBattles[EAetheryteLocation.Uldah]); + } + EExpansionVersion[] values = Enum.GetValues(); + for (int i = 0; i < values.Length; i++) + { + EExpansionVersion eExpansionVersion = values[i]; + if (_mainScenarioBattles.TryGetValue(eExpansionVersion, out List value7)) { - case 7: - eExpansionVersion = values[num8]; - num = ((!_mainScenarioBattles.TryGetValue(eExpansionVersion, out value)) ? 2112848615 : 2112848621); - break; - case 4: - num = ((num8 < values.Length) ? 2112848614 : 2112848612); - break; - case 12: - { - (int enabledCount, int totalCount) questBattleCounts3 = GetQuestBattleCounts(value); - int item5 = questBattleCounts3.enabledCount; - int item6 = questBattleCounts3.totalCount; - string label3 = _206E_200C_206F_202A_206A_200D_200C_202B_200E_200E_202B_206C_200D_202B_200C_200B_202C_200D_200E_206A_206C_206B_206B_202B_202C_202D_200B_202A_206F_206B_202B_200E_206F_202D_206C_200B_200D_200C_206E_200E_202E(eExpansionVersion); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler6 = new DefaultInterpolatedStringHandler(1, 2); - defaultInterpolatedStringHandler6.AppendFormatted(item5); - defaultInterpolatedStringHandler6.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(503298330)); - defaultInterpolatedStringHandler6.AppendFormatted(item6); - num = ((!DrawPersistentAccordion(label3, defaultInterpolatedStringHandler6.ToStringAndClear(), eExpansionVersion.ToString(), headerStates)) ? 2112848615 : 2112848616); - break; - } - case 13: - DrawQuestTable(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1733632812), _startingCityBattles[EAetheryteLocation.Uldah]); - num = 2112848609; - break; - case 14: - { - (int enabledCount, int totalCount) questBattleCounts4 = GetQuestBattleCounts(_startingCityBattles[EAetheryteLocation.Gridania]); - int item7 = questBattleCounts4.enabledCount; - int item8 = questBattleCounts4.totalCount; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler7 = new DefaultInterpolatedStringHandler(14, 2); - defaultInterpolatedStringHandler7.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(36156870)); - defaultInterpolatedStringHandler7.AppendFormatted(ConfigComponent.FormatLevel(5)); - defaultInterpolatedStringHandler7.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(680284710)); - defaultInterpolatedStringHandler7.AppendFormatted(ConfigComponent.FormatLevel(14)); - defaultInterpolatedStringHandler7.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1618480346)); - string label4 = defaultInterpolatedStringHandler7.ToStringAndClear(); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler8 = new DefaultInterpolatedStringHandler(1, 2); - defaultInterpolatedStringHandler8.AppendFormatted(item7); - defaultInterpolatedStringHandler8.AppendLiteral(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(-1392036559)); - defaultInterpolatedStringHandler8.AppendFormatted(item8); - num = ((!DrawPersistentAccordion(label4, defaultInterpolatedStringHandler8.ToStringAndClear(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-609841478), headerStates)) ? 2112848610 : 2112848611); - break; - } - case 2: - DrawQuestTable(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-609841478), _startingCityBattles[EAetheryteLocation.Gridania]); - num = 2112848610; - break; - case 10: - num = 2112848618; - break; - case 3: - { - (int enabledCount, int totalCount) questBattleCounts2 = GetQuestBattleCounts(_startingCityBattles[EAetheryteLocation.Uldah]); - int item3 = questBattleCounts2.enabledCount; - int item4 = questBattleCounts2.totalCount; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler4 = new DefaultInterpolatedStringHandler(12, 2); - defaultInterpolatedStringHandler4.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(266830176)); - defaultInterpolatedStringHandler4.AppendFormatted(ConfigComponent.FormatLevel(4)); - defaultInterpolatedStringHandler4.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(680284710)); - defaultInterpolatedStringHandler4.AppendFormatted(ConfigComponent.FormatLevel(14)); - defaultInterpolatedStringHandler4.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - string label2 = defaultInterpolatedStringHandler4.ToStringAndClear(); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler5 = new DefaultInterpolatedStringHandler(1, 2); - defaultInterpolatedStringHandler5.AppendFormatted(item3); - defaultInterpolatedStringHandler5.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1680133376)); - defaultInterpolatedStringHandler5.AppendFormatted(item4); - num = ((!DrawPersistentAccordion(label2, defaultInterpolatedStringHandler5.ToStringAndClear(), 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(-1652029814), headerStates)) ? 2112848609 : 2112848620); - break; - } - case 1: - { - headerStates = base.Configuration.SinglePlayerDuties.HeaderStates; - (int enabledCount, int totalCount) questBattleCounts = GetQuestBattleCounts(_startingCityBattles[EAetheryteLocation.Limsa]); - int item = questBattleCounts.enabledCount; - int item2 = questBattleCounts.totalCount; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(19, 2); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1811029718)); - defaultInterpolatedStringHandler2.AppendFormatted(ConfigComponent.FormatLevel(5)); - defaultInterpolatedStringHandler2.AppendLiteral(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(-1884306162)); - defaultInterpolatedStringHandler2.AppendFormatted(ConfigComponent.FormatLevel(14)); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - string label = defaultInterpolatedStringHandler2.ToStringAndClear(); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(1, 2); - defaultInterpolatedStringHandler3.AppendFormatted(item); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1680133376)); - defaultInterpolatedStringHandler3.AppendFormatted(item2); - num = ((!DrawPersistentAccordion(label, defaultInterpolatedStringHandler3.ToStringAndClear(), 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(106972195), headerStates)) ? 2112848623 : 2112848617); - break; - } - case 0: - values = Enum.GetValues(); - num8 = 0; - num = 2112848613; - break; - case 6: - { - int num7 = num8; - num3 = 1; - num4 = num7; - num8 = (num4 | num3) + (num4 & num3); - num = 2112848613; - break; - } - case 8: - DrawQuestTable(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2011227758), _startingCityBattles[EAetheryteLocation.Limsa]); - num = 2112848623; - break; - case 9: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(6, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1381860118)); - defaultInterpolatedStringHandler.AppendFormatted(eExpansionVersion); - DrawQuestTable(defaultInterpolatedStringHandler.ToStringAndClear(), value); - num = 2112848615; - break; - } - case 11: - return; - case 5: - return; + var (value8, value9) = GetQuestBattleCounts(value7); + if (DrawPersistentAccordion(eExpansionVersion.ToFriendlyString(), $"{value8}/{value9}", eExpansionVersion.ToString(), headerStates)) + { + DrawQuestTable($"Duties{eExpansionVersion}", value7); + } } } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawJobQuestConfigTable() { using ImRaii.ChildDisposable childDisposable = BeginChildArea(); - int num = ((!(!childDisposable)) ? 986510284 : 986510287); - string text = default(string); - EClassJob item = default(EClassJob); - List value = default(List); - int item2 = default(int); - while (true) + if (!childDisposable) { - int num2 = num; - int num3 = 986510285; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + Dictionary headerStates = base.Configuration.SinglePlayerDuties.HeaderStates; + int num = 0; + foreach (var (eClassJob, num2) in _classJobUtils.SortedClassJobs) + { + if (!eClassJob.IsCrafter() && !eClassJob.IsGatherer() && _jobQuestBattles.TryGetValue(eClassJob, out List value)) { - case 0: - goto IL_0057; - case 2: - return; - case 1: - { - Dictionary headerStates = base.Configuration.SinglePlayerDuties.HeaderStates; - int num7 = 0; - IEnumerator<(EClassJob, int)> enumerator = _classJobUtils.SortedClassJobs.GetEnumerator(); - try + if (num2 != num) { - num = -1544215623; - while (true) - { - int num8 = num; - num3 = -1544215619; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 10: - text = _206B_200B_202D_206F_206F_206B_202C_202C_200D_200C_206D_206B_202E_200E_206B_206F_202B_200D_202E_206A_200E_200B_202E_206C_206B_202D_202C_206E_200B_202D_202A_200B_202A_206F_206D_202A_200B_206D_202B_202A_202E(text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2014446916), _206F_206F_206F_206D_206C_200E_206D_200E_200D_202E_200F_202C_202C_206E_202C_206F_200E_200B_200F_200B_202A_206B_206B_202A_206C_200E_206C_206D_200D_202A_200C_202E_202D_206E_202B_206F_206C_200C_206B_200E_202E(_200D_206F_200C_200B_200D_206B_200E_206B_200D_206B_206F_206C_206E_202C_202C_202B_206D_202A_206D_206D_206C_202E_200F_202C_206B_200C_202C_200F_200B_200C_202A_206A_206D_200C_206F_202A_200E_202C_202A_206A_202E(item))); - num = -1544215620; - break; - case 5: - num = (_206C_206B_206A_202A_206A_206F_206D_202C_200F_200C_206E_200D_206A_200D_206C_200D_202C_206B_202D_202C_200C_200D_202C_202A_206E_202B_200D_206D_200E_200C_202E_200B_206C_206E_200E_206C_206C_200B_202C_200C_202E(item) ? (-1544215623) : (-1544215619)); - break; - case 6: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(9, 1); - defaultInterpolatedStringHandler2.AppendLiteral(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(-157733930)); - defaultInterpolatedStringHandler2.AppendFormatted(item); - DrawQuestTable(defaultInterpolatedStringHandler2.ToStringAndClear(), value); - num = -1544215623; - break; - } - case 2: - num = ((item2 == num7) ? (-1544215618) : (-1544215622)); - break; - case 9: - num = -1544215623; - break; - case 1: - { - (int enabledCount, int totalCount) questBattleCounts = GetQuestBattleCounts(value); - int item3 = questBattleCounts.enabledCount; - int item4 = questBattleCounts.totalCount; - string label = text; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(1, 2); - defaultInterpolatedStringHandler.AppendFormatted(item3); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1680133376)); - defaultInterpolatedStringHandler.AppendFormatted(item4); - num = ((!DrawPersistentAccordion(label, defaultInterpolatedStringHandler.ToStringAndClear(), item.ToString(), headerStates)) ? (-1544215623) : (-1544215621)); - break; - } - case 11: - { - (EClassJob, int) current = enumerator.Current; - item = current.Item1; - item2 = current.Item2; - num = (_200C_202D_200B_206A_200F_200E_202B_202B_200C_202C_202A_206B_202D_202C_202A_206D_206A_200F_202E_206E_202A_206D_202D_202C_200E_206C_200F_200F_206C_200E_200E_202C_206E_206D_206C_202B_206B_202B_200D_206C_202E(item) ? (-1544215623) : (-1544215624)); - break; - } - case 4: - num = (_202D_206B_206B_200D_202A_206F_202C_202A_202E_206B_202E_206B_200B_202A_200B_202D_206D_202E_206E_202D_202E_206A_200D_206E_200D_206A_200E_200B_200C_202B_206B_200E_202C_202D_202D_200D_206B_206A_202D_200F_202E((IEnumerator)enumerator) ? (-1544215626) : (-1544215627)); - break; - case 7: - num7 = item2; - _206B_202A_200C_206C_202C_206C_202C_200C_200D_200F_200E_202C_200F_200B_206F_200C_202C_206A_206C_200E_200C_202A_206F_202B_200D_202E_206B_200F_206F_200F_206B_202C_202A_200E_202E_202A_200C_200B_202D_200C_202E(); - _202C_202B_206B_200D_202A_202E_206C_206E_202A_206A_202B_200B_202E_202E_206D_200D_206E_206C_202A_200D_206D_206C_206E_200F_202B_202D_200F_206F_200C_206D_202C_206D_202B_206E_206B_206F_206A_206C_206A_202E_202E(); - _206B_202A_200C_206C_202C_206C_202C_200C_200D_200F_200E_202C_200F_200B_206F_200C_202C_206A_206C_200E_200C_202A_206F_202B_200D_202E_206B_200F_206F_200F_206B_202C_202A_200E_202E_202A_200C_200B_202D_200C_202E(); - num = -1544215618; - break; - case 3: - text = _206F_206F_206F_206D_206C_200E_206D_200E_200D_202E_200F_202C_202C_206E_202C_206F_200E_200B_200F_200B_202A_206B_206B_202A_206C_200E_206C_206D_200D_202A_200C_202E_202D_206E_202B_206F_206C_200C_206B_200E_202E(item); - num = ((!_200D_206B_206C_206C_202E_200C_206A_206C_206B_200C_200C_200D_200E_200D_206D_202D_200F_200F_202A_200F_206D_200C_200E_206A_206F_202C_202C_206B_206F_206A_202A_202D_202C_200C_206B_200E_200C_200D_202A_206C_202E(item)) ? (-1544215620) : (-1544215625)); - break; - case 0: - num = ((!_jobQuestBattles.TryGetValue(item, out value)) ? (-1544215623) : (-1544215617)); - break; - case 8: - return; - } - } + num = num2; + ImGui.Spacing(); + ImGui.Separator(); + ImGui.Spacing(); } - finally + string text = eClassJob.ToFriendlyString(); + if (eClassJob.IsClass()) { - num = ((enumerator == null) ? 909059327 : 909059324); - while (true) - { - int num9 = num; - num3 = 909059326; - num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 0: - num = 909059324; - break; - case 1: - goto end_IL_0321; - case 2: - _200E_200D_206F_202C_200D_200F_206D_206C_200B_200E_200E_202E_202E_202A_206C_200E_202E_200F_200B_202B_200D_206B_206F_206C_206C_202C_202C_206D_206E_200F_200B_200F_202A_206B_202D_206C_202C_200B_200B_200F_202E((IDisposable)enumerator); - num = 909059327; - break; - } - continue; - end_IL_0321: - break; - } + text = text + " / " + eClassJob.AsJob().ToFriendlyString(); + } + var (value2, value3) = GetQuestBattleCounts(value); + if (DrawPersistentAccordion(text, $"{value2}/{value3}", eClassJob.ToString(), headerStates)) + { + DrawQuestTable($"JobQuests{eClassJob}", value); } } - } - continue; - IL_0057: - num = 986510287; } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawRoleQuestConfigTable() { using ImRaii.ChildDisposable childDisposable = BeginChildArea(); - int num = ((!(!childDisposable)) ? 713533165 : 713533166); - EClassJob item4 = default(EClassJob); - List value = default(List); - string item3 = default(string); - while (true) + if (!childDisposable) { - int num2 = num; - int num3 = 713533167; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + Dictionary headerStates = base.Configuration.SinglePlayerDuties.HeaderStates; + foreach (var (eClassJob, label) in RoleQuestCategories) + { + if (_roleQuestBattles.TryGetValue(eClassJob, out List value)) { - case 0: - goto IL_0057; - case 1: - return; - case 2: - { - Dictionary headerStates = base.Configuration.SinglePlayerDuties.HeaderStates; - using (List<(EClassJob, string)>.Enumerator enumerator = RoleQuestCategories.GetEnumerator()) + var (value2, value3) = GetQuestBattleCounts(value); + if (DrawPersistentAccordion(label, $"{value2}/{value3}", $"Role_{eClassJob}", headerStates)) { - num = -2084148046; - while (true) - { - int num7 = num; - num3 = -2084148048; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = -2084148046; - break; - case 2: - num = (enumerator.MoveNext() ? (-2084148044) : (-2084148043)); - break; - case 0: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(10, 1); - defaultInterpolatedStringHandler3.AppendLiteral(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(1547149851)); - defaultInterpolatedStringHandler3.AppendFormatted(item4); - DrawQuestTable(defaultInterpolatedStringHandler3.ToStringAndClear(), value); - num = -2084148046; - break; - } - case 4: - { - (EClassJob, string) current = enumerator.Current; - item4 = current.Item1; - item3 = current.Item2; - num = ((!_roleQuestBattles.TryGetValue(item4, out value)) ? (-2084148046) : (-2084148047)); - break; - } - case 1: - { - (int enabledCount, int totalCount) questBattleCounts = GetQuestBattleCounts(value); - int item = questBattleCounts.enabledCount; - int item2 = questBattleCounts.totalCount; - string label = item3; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(1, 2); - defaultInterpolatedStringHandler.AppendFormatted(item); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(503298330)); - defaultInterpolatedStringHandler.AppendFormatted(item2); - string rightText = defaultInterpolatedStringHandler.ToStringAndClear(); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(5, 1); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(712946175)); - defaultInterpolatedStringHandler2.AppendFormatted(item4); - num = ((!DrawPersistentAccordion(label, rightText, defaultInterpolatedStringHandler2.ToStringAndClear(), headerStates)) ? (-2084148046) : (-2084148048)); - break; - } - case 5: - goto end_IL_009d; - } - continue; - end_IL_009d: - break; - } - } - (int enabledCount, int totalCount) questBattleCounts2 = GetQuestBattleCounts(_otherRoleQuestBattles); - int item5 = questBattleCounts2.enabledCount; - int item6 = questBattleCounts2.totalCount; - string label2 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(900333825); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler4 = new DefaultInterpolatedStringHandler(1, 2); - defaultInterpolatedStringHandler4.AppendFormatted(item5); - defaultInterpolatedStringHandler4.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-70733513)); - defaultInterpolatedStringHandler4.AppendFormatted(item6); - num = ((!DrawPersistentAccordion(label2, defaultInterpolatedStringHandler4.ToStringAndClear(), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-346473233), headerStates)) ? (-1432626738) : (-1432626737)); - while (true) - { - int num8 = num; - num3 = -1432626738; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1432626737; - break; - case 1: - DrawQuestTable(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(-345649742), _otherRoleQuestBattles); - num = -1432626738; - break; - case 0: - return; - } + DrawQuestTable($"RoleQuests{eClassJob}", value); } } - } - continue; - IL_0057: - num = 713533166; + } + var (value4, value5) = GetQuestBattleCounts(_otherRoleQuestBattles); + if (DrawPersistentAccordion("General Role Quests", $"{value4}/{value5}", "Role_General", headerStates)) + { + DrawQuestTable("RoleQuestsGeneral", _otherRoleQuestBattles); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawOtherQuestConfigTable() { using ImRaii.ChildDisposable childDisposable = BeginChildArea(); - int num = ((!(!childDisposable)) ? 70323230 : 70323231); - string item = default(string); - List item2 = default(List); - while (true) + if (!childDisposable) { - int num2 = num; - int num3 = 70323230; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return; + } + Dictionary headerStates = base.Configuration.SinglePlayerDuties.HeaderStates; + foreach (var (text, dutyInfos) in _otherQuestBattles) + { + var (value, value2) = GetQuestBattleCounts(dutyInfos); + if (DrawPersistentAccordion(text, $"{value}/{value2}", "Other_" + text, headerStates)) { - case 2: - goto IL_0055; - case 1: - return; - case 0: - { - Dictionary headerStates = base.Configuration.SinglePlayerDuties.HeaderStates; - using ImmutableList<(string, List)>.Enumerator enumerator = _otherQuestBattles.GetEnumerator(); - num = -444495889; - while (true) - { - int num5 = num; - num3 = -444495890; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - DrawQuestTable(_200B_200E_202B_200C_202A_200E_202E_202E_202B_202E_206D_202B_206F_200E_202C_202E_206C_206A_200B_200B_202D_202E_200D_200B_200F_202C_206D_206A_206B_206C_200B_202C_200F_202B_206C_202A_202A_202B_202A_206B_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(835196009), item), item2); - num = -444495889; - break; - case 4: - { - (string, List) current = enumerator.Current; - item = current.Item1; - item2 = current.Item2; - (int enabledCount, int totalCount) questBattleCounts = GetQuestBattleCounts(item2); - int item3 = questBattleCounts.enabledCount; - int item4 = questBattleCounts.totalCount; - string label = item; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(1, 2); - defaultInterpolatedStringHandler.AppendFormatted(item3); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-70733513)); - defaultInterpolatedStringHandler.AppendFormatted(item4); - num = ((!DrawPersistentAccordion(label, defaultInterpolatedStringHandler.ToStringAndClear(), _200B_200E_202B_200C_202A_200E_202E_202E_202B_202E_206D_202B_206F_200E_202C_202E_206C_206A_200B_200B_202D_202E_200D_200B_200F_202C_206D_206A_206B_206C_200B_202C_200F_202B_206C_202A_202A_202B_202A_206B_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(880133585), item), headerStates)) ? (-444495889) : (-444495890)); - break; - } - case 1: - num = (enumerator.MoveNext() ? (-444495894) : (-444495891)); - break; - case 2: - num = -444495889; - break; - case 3: - return; - } - } + DrawQuestTable("Other" + text, dutyInfos); } - } - continue; - IL_0055: - num = 70323231; } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawQuestTable(string label, IReadOnlyList dutyInfos) { using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable(label, 2, ImGuiTableFlags.SizingFixedFit); @@ -2027,365 +544,113 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent { return; } - _202A_202B_202B_206F_206C_200F_206E_200B_200C_202E_202B_202B_206C_206B_202E_202C_202E_206A_200E_206C_206E_202A_202D_200B_202D_206F_206E_206D_200E_206B_202E_206E_202A_206C_206F_202A_202B_202C_206B_206A_202E((ImU8String)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(-670330761), ImGuiTableColumnFlags.WidthStretch, 0f, 0u); - _202A_202B_202B_206F_206C_200F_206E_200B_200C_202E_202B_202B_206C_206B_202E_202C_202E_206A_200E_206C_206E_202A_202D_200B_202D_206F_206E_206D_200E_206B_202E_206E_202A_206C_206F_202A_202B_202C_206B_206A_202E((ImU8String)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(465239065), ImGuiTableColumnFlags.WidthFixed, 200f, 0u); - IEnumerator enumerator = dutyInfos.GetEnumerator(); - try + ImGui.TableSetupColumn("Quest", ImGuiTableColumnFlags.WidthStretch); + ImGui.TableSetupColumn("Options", ImGuiTableColumnFlags.WidthFixed, 200f); + foreach (SinglePlayerDutyInfo dutyInfo in dutyInfos) { - while (_202D_206B_206B_200D_202A_206F_202C_202A_202E_206B_202E_206B_200B_202A_200B_202D_206D_202E_206E_202D_202E_206A_200D_206E_200D_206A_200E_200B_200C_202B_206B_200E_202C_202D_202D_200D_206B_206A_202D_200F_202E((IEnumerator)enumerator)) + ImGui.TableNextRow(); + string[] array = (dutyInfo.EnabledByDefault ? SupportedCfcOptions : UnsupportedCfcOptions); + int currentItem = 0; + if (base.Configuration.SinglePlayerDuties.WhitelistedSinglePlayerDutyCfcIds.Contains(dutyInfo.ContentFinderConditionId)) { - SinglePlayerDutyInfo current = enumerator.Current; - _200B_202A_202E_202C_206C_206F_200B_200C_206E_206B_206C_206A_200D_202E_202D_200E_206C_200B_206A_202B_202A_206B_202C_206D_202D_206A_202A_202A_202D_200B_200C_202D_206E_200B_202A_200D_202C_202D_202D_206D_202E(); - string[] array = (current.EnabledByDefault ? SupportedCfcOptions : UnsupportedCfcOptions); - int currentItem = 0; - if (base.Configuration.SinglePlayerDuties.WhitelistedSinglePlayerDutyCfcIds.Contains(current.ContentFinderConditionId)) - { - currentItem = 1; - } - if (base.Configuration.SinglePlayerDuties.BlacklistedSinglePlayerDutyCfcIds.Contains(current.ContentFinderConditionId)) - { - currentItem = 2; - } - int num; - if (_200B_200C_202D_206A_202A_200D_202B_200E_202E_200D_200F_202D_200C_200C_200F_206B_206D_200E_206B_200F_206F_200F_200D_200D_206A_202E_200C_202C_200B_206E_200D_206B_202D_200D_202C_206E_200C_200E_206B_206E_202E()) - { - _206A_206F_202B_206E_206B_206E_206C_206D_202D_202E_206E_206E_200B_200B_202E_206A_206D_200F_200C_202D_206E_202C_206F_200B_202D_206C_200D_206C_200D_206A_206E_206A_206C_200E_202A_200C_200E_200E_206F_202E_202E(); - float reservedRightWidth = ((!current.Enabled || current.Notes.Length != 0) ? (_206F_206C_206E_202C_200D_202D_206F_200F_202A_200F_200D_200D_206B_202C_206D_202E_202A_206A_202B_202D_202D_200E_200F_200E_200D_206B_202B_200C_206D_200B_202A_206E_200F_200F_200B_202D_206C_202E_200B_206B_202E() + _200E_202B_206C_200F_206C_206F_206E_202E_202A_206D_202C_200D_200B_206B_200D_206A_206E_206C_202E_206F_202D_200E_206A_202E_206F_200D_200F_200C_200C_202B_206C_200E_200C_206C_200B_206D_206D_202B_206C_202E_202E().ItemSpacing.X) : 0f); - UiThemeUtils.RowLabel(current.Name, reservedRightWidth); - if (current.Enabled) - { - num = ((current.Notes.Length == 0) ? (-1210552144) : (-1210552143)); - goto IL_0238; - } - _202D_206F_206D_206B_200F_202D_206D_202C_202D_206F_202E_206C_202C_202E_206F_200E_200E_200B_206D_202B_202E_206C_200E_206C_206C_202D_202A_200C_200C_206E_206E_200D_202A_206B_202D_202D_206B_202C_206F_202E(); - ImRaii.FontDisposable fontDisposable = _202A_202B_206D_200D_206F_200F_202B_200D_202D_200F_206A_202B_206A_200F_202C_206D_206C_206A_202A_200F_206F_206B_202E_206D_202E_202B_202D_200D_200D_202D_202A_200E_206D_206B_202A_202B_202C_206C_206A_206B_202E(_200D_206B_202A_200E_206A_202B_206E_200D_200B_200C_200B_206F_206B_202E_200E_202A_200D_202C_202E_202E_206E_202E_206C_206A_206F_200F_202E_206F_202E_202B_202D_202C_200B_202E_200C_202D_206C_206B_202C_206F_202E(), true); - try - { - _206E_206C_202E_200C_202C_206A_206C_200D_206B_202E_200E_200D_206B_202B_202C_200C_202E_206A_206E_202B_200E_202A_200F_202D_206E_202B_200D_206A_200F_206D_202B_202C_206E_200F_200C_202E_202A_202E_206B_200D_202E(ref UiThemeUtils.StatusLocked, (ImU8String)_202C_206A_206C_206F_200C_200F_202C_206F_202A_200F_206C_200E_202C_206E_200C_206F_206B_206D_206D_206A_200C_200B_202D_206C_202E_206D_202D_206C_206D_206B_206C_202B_202C_206A_200F_200C_206B_206A_206D_202B_202E(FontAwesomeIcon.Times)); - } - finally - { - num = ((fontDisposable == null) ? 144414257 : 144414258); - while (true) - { - int num2 = num; - int num3 = 144414256; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 144414258; - break; - case 2: - _200E_200D_206F_202C_200D_200F_206D_206C_200B_200E_200E_202E_202E_202A_206C_200E_202E_200F_200B_202B_200D_206B_206F_206C_206C_202C_202C_206D_206E_200F_200B_200F_202A_206B_202D_206C_202C_200B_200B_200F_202E((IDisposable)fontDisposable); - num = 144414257; - break; - case 1: - goto end_IL_0187; - } - continue; - end_IL_0187: - break; - } - } - if (_202A_206B_200F_200B_206C_206B_202A_200D_206B_202D_206D_200B_202E_202D_206F_202C_200B_200F_206D_202A_206C_206B_206F_202E_200F_202D_200E_202C_200D_200E_200B_202B_206B_200B_206B_206A_206F_202A_206D_202E()) - { - using (_206B_206F_206E_202B_200B_206E_200D_206F_202D_200B_206E_206E_206C_200D_206D_202E_206C_202E_206F_200E_206D_200C_206A_200F_202E_206C_200D_200E_206E_206A_206E_200D_202D_200C_200F_206A_200F_202C_206C_206D_202E()) - { - _206C_200D_206D_202C_200C_202B_202A_206C_200E_206C_202C_202D_206A_200F_200B_202A_206A_206A_206F_202C_206B_202E_200D_200F_200E_202D_206A_202B_200F_202B_202A_202C_202B_202B_202A_200E_200F_202B_206B_202E_202E(400f); - _200E_200B_202D_202A_206D_200D_200C_202B_200C_206F_206E_206E_200D_200B_200F_206B_202D_200E_200B_206F_200B_206A_206B_206B_202B_202B_202C_202B_200E_206F_202A_206B_200D_206F_202A_206E_202B_206A_200F_200D_202E((ImU8String)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(-1139774933)); - _200E_200F_206D_206B_206F_200E_206F_200F_202B_200F_202E_206E_206B_202B_200C_200C_200B_200F_202E_202A_202C_200B_202E_202C_200E_202E_200D_202D_206C_206C_202D_206E_202A_206B_206E_206A_206E_200F_206A_202E(); - } - } - } - goto IL_026a; - IL_02a9: - ImU8String imU8String = new ImU8String(6, 1); - imU8String.AppendLiteral(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(1875056268)); - imU8String.AppendFormatted(current.ContentFinderConditionId); - ImRaii.IdDisposable idDisposable = _202D_206F_200B_202C_202A_206A_206C_206E_200C_206E_206B_206A_202C_200F_206D_206C_202B_202B_206B_202E_202E_202C_206C_206E_200E_200C_206A_202E_200C_206B_200B_200B_206D_206D_202D_200B_206B_206B_206C_200D_202E(imU8String, true); - try - { - ImRaii.DisabledDisposable disabledDisposable = _202D_200E_206A_202E_206E_206C_202D_206F_200C_202A_202A_200B_206D_200F_206D_202C_206E_200E_202C_200B_202E_200B_200C_202D_202A_202E_200C_200E_202A_206C_200D_200F_202C_202E_206D_206B_206C_202C_206C_202E_202E(!current.Enabled); - try - { - _200D_206A_206A_200B_200B_206B_202A_206B_200D_206B_206D_200B_202E_202B_200E_206B_206A_202B_200D_202B_200D_200B_206D_200F_200F_206D_202B_206D_206F_206E_202C_206F_200B_200D_206B_206D_200F_202A_202A_206C_202E(-1f); - num = ((!UiThemeUtils.ThemedCombo(string.Empty, ref currentItem, array, array.Length)) ? (-430072401) : (-430072402)); - while (true) - { - int num5 = num; - int num3 = -430072405; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - base.Configuration.SinglePlayerDuties.WhitelistedSinglePlayerDutyCfcIds.Add(current.ContentFinderConditionId); - num = -430072406; - break; - case 5: - base.Configuration.SinglePlayerDuties.WhitelistedSinglePlayerDutyCfcIds.Remove(current.ContentFinderConditionId); - base.Configuration.SinglePlayerDuties.BlacklistedSinglePlayerDutyCfcIds.Remove(current.ContentFinderConditionId); - num = ((currentItem != 1) ? (-430072408) : (-430072407)); - break; - case 3: - num = ((currentItem != 2) ? (-430072406) : (-430072403)); - break; - case 0: - num = -430072402; - break; - case 1: - Save(); - num = -430072401; - break; - case 6: - base.Configuration.SinglePlayerDuties.BlacklistedSinglePlayerDutyCfcIds.Add(current.ContentFinderConditionId); - num = -430072406; - break; - case 4: - goto end_IL_0321; - } - continue; - end_IL_0321: - break; - } - } - finally - { - num = ((disabledDisposable == null) ? (-29554292) : (-29554289)); - while (true) - { - int num6 = num; - int num3 = -29554290; - int num4 = num6; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -29554289; - break; - case 2: - goto end_IL_0467; - case 1: - _200E_200D_206F_202C_200D_200F_206D_206C_200B_200E_200E_202E_202E_202A_206C_200E_202E_200F_200B_202B_200D_206B_206F_206C_206C_202C_202C_206D_206E_200F_200B_200F_202A_206B_202D_206C_202C_200B_200B_200F_202E((IDisposable)disabledDisposable); - num = -29554292; - break; - } - continue; - end_IL_0467: - break; - } - } - } - finally - { - num = ((idDisposable == null) ? (-175423025) : (-175423026)); - while (true) - { - int num7 = num; - int num3 = -175423025; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 2: - num = -175423026; - break; - case 1: - _200E_200D_206F_202C_200D_200F_206D_206C_200B_200E_200E_202E_202E_202A_206C_200E_202E_200F_200B_202B_200D_206B_206F_206C_206C_202C_202C_206D_206E_200F_200B_200F_202A_206B_202D_206C_202C_200B_200B_200F_202E((IDisposable)idDisposable); - num = -175423025; - break; - case 0: - goto end_IL_04d2; - } - continue; - end_IL_04d2: - break; - } - } - continue; - IL_0238: - while (true) - { - int num10 = num; - int num3 = -1210552142; - int num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - case 2: - goto end_IL_0238; - case 3: - ConfigComponent.DrawNotes(current.EnabledByDefault, current.Notes); - num = -1210552144; - break; - case 0: - num = -1210552143; - break; - case 1: - goto IL_02a9; - } - continue; - end_IL_0238: - break; - } - goto IL_026a; - IL_026a: - if (!_200B_200C_202D_206A_202A_200D_202B_200E_202E_200D_200F_202D_200C_200C_200F_206B_206D_200E_206B_200F_206F_200F_200D_200D_206A_202E_200C_202C_200B_206E_200D_206B_202D_200D_202C_206E_200C_200E_206B_206E_202E()) - { - continue; - } - num = -1210552141; - goto IL_0238; + currentItem = 1; } - } - finally - { - int num = ((enumerator == null) ? 10830017 : 10830018); - while (true) + if (base.Configuration.SinglePlayerDuties.BlacklistedSinglePlayerDutyCfcIds.Contains(dutyInfo.ContentFinderConditionId)) { - int num13 = num; - int num3 = 10830019; - int num4 = num13; - int num14 = num4 + num3; - int num15 = num4 & num3; - switch (num14 - (num15 + num15)) + currentItem = 2; + } + if (ImGui.TableNextColumn()) + { + ImGui.AlignTextToFramePadding(); + float reservedRightWidth = ((!dutyInfo.Enabled || dutyInfo.Notes.Length != 0) ? (ImGui.GetFrameHeight() + ImGui.GetStyle().ItemSpacing.X) : 0f); + UiThemeUtils.RowLabel(dutyInfo.Name, reservedRightWidth); + if (!dutyInfo.Enabled) { - case 0: - num = 10830018; - break; - case 2: - goto end_IL_054e; - case 1: - _200E_200D_206F_202C_200D_200F_206D_206C_200B_200E_200E_202E_202E_202A_206C_200E_202E_200F_200B_202B_200D_206B_206F_206C_206C_202C_202C_206D_206E_200F_200B_200F_202A_206B_202D_206C_202C_200B_200B_200F_202E((IDisposable)enumerator); - num = 10830017; - break; + ImGui.SameLine(); + using (ImRaii.PushFont(UiBuilder.IconFont)) + { + ImGui.TextColored(in UiThemeUtils.StatusLocked, FontAwesomeIcon.Times.ToIconString()); + } + if (ImGui.IsItemHovered()) + { + using (ImRaii.Tooltip()) + { + ImGui.PushTextWrapPos(400f); + ImGui.Text("Questionable doesn't include support for this quest."); + ImGui.PopTextWrapPos(); + } + } } + else if (dutyInfo.Notes.Length != 0) + { + ConfigComponent.DrawNotes(dutyInfo.EnabledByDefault, dutyInfo.Notes); + } + } + if (!ImGui.TableNextColumn()) + { continue; - end_IL_054e: - break; + } + ImU8String id = new ImU8String(6, 1); + id.AppendLiteral("##Duty"); + id.AppendFormatted(dutyInfo.ContentFinderConditionId); + using (ImRaii.PushId(id)) + { + using (ImRaii.Disabled(!dutyInfo.Enabled)) + { + ImGui.SetNextItemWidth(-1f); + if (UiThemeUtils.ThemedCombo(string.Empty, ref currentItem, array, array.Length)) + { + base.Configuration.SinglePlayerDuties.WhitelistedSinglePlayerDutyCfcIds.Remove(dutyInfo.ContentFinderConditionId); + base.Configuration.SinglePlayerDuties.BlacklistedSinglePlayerDutyCfcIds.Remove(dutyInfo.ContentFinderConditionId); + switch (currentItem) + { + case 1: + base.Configuration.SinglePlayerDuties.WhitelistedSinglePlayerDutyCfcIds.Add(dutyInfo.ContentFinderConditionId); + break; + case 2: + base.Configuration.SinglePlayerDuties.BlacklistedSinglePlayerDutyCfcIds.Add(dutyInfo.ContentFinderConditionId); + break; + } + Save(); + } + } } } } - [MethodImpl(MethodImplOptions.NoInlining)] private static ImRaii.ChildDisposable BeginChildArea() { - Vector2 vector = _206C_206D_200C_206A_200D_202E_206D_202B_206F_202B_206B_206A_202D_206F_206D_202B_200E_202C_200F_202B_200D_202A_206E_202B_206B_202A_206C_202E_202B_200F_206B_206D_200C_202D_206A_200E_200D_202E_206B_202E(); - return _202E_200D_200E_202E_206E_206C_206B_202B_206E_200C_202C_202C_200E_200D_200D_200B_202D_202E_206E_206D_206A_206D_202B_206F_206D_200F_206D_202D_200D_200C_200F_202C_200E_200E_200E_200C_202E_200C_202A_206C_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-363264000), new Vector2(vector.X, _206F_200F_206D_200D_200F_206C_200F_200B_202E_202D_200B_200C_202E_200D_202B_202C_200B_202E_202C_206D_200B_206C_200D_206C_202A_206B_202A_200D_202A_200C_206E_200D_200B_206B_206B_202B_206A_206A_200C_200D_202E(vector.Y - 30f - 12f, 200f)), true); + Vector2 contentRegionAvail = ImGui.GetContentRegionAvail(); + return ImRaii.Child("DutyConfiguration", new Vector2(contentRegionAvail.X, MathF.Max(contentRegionAvail.Y - 30f - 12f, 200f)), border: true); } private bool DrawPersistentAccordion(string label, string? rightText, string stateKey, Dictionary headerStates) { bool open = headerStates.GetValueOrDefault(stateKey, defaultValue: false); UiThemeUtils.ThemedAccordion(stateKey, label, rightText, ref open); - int num = ((open == headerStates.GetValueOrDefault(stateKey, defaultValue: false)) ? 1135011708 : 1135011709); - while (true) + if (open != headerStates.GetValueOrDefault(stateKey, defaultValue: false)) { - int num2 = num; - int num3 = 1135011708; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1135011709; - break; - case 0: - return open; - case 1: - headerStates[stateKey] = open; - Save(); - num = 1135011708; - break; - } + headerStates[stateKey] = open; + Save(); } + return open; } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawEnableAllButton() { - int num; - if (UiThemeUtils.IconTextButton(FontAwesomeIcon.CheckCircle, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1612441257))) + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.CheckCircle, "Enable All")) { base.Configuration.SinglePlayerDuties.BlacklistedSinglePlayerDutyCfcIds.Clear(); base.Configuration.SinglePlayerDuties.WhitelistedSinglePlayerDutyCfcIds.Clear(); - IEnumerator enumerator = GetAllEnabledSinglePlayerDuties().GetEnumerator(); - try + foreach (SinglePlayerDutyInfo allEnabledSinglePlayerDuty in GetAllEnabledSinglePlayerDuties()) { - num = 104695518; - while (true) - { - int num2 = num; - int num3 = 104695516; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 104695518; - break; - case 3: - { - SinglePlayerDutyInfo current = enumerator.Current; - base.Configuration.SinglePlayerDuties.WhitelistedSinglePlayerDutyCfcIds.Add(current.ContentFinderConditionId); - num = 104695518; - break; - } - case 2: - num = (_202D_206B_206B_200D_202A_206F_202C_202A_202E_206B_202E_206B_200B_202A_200B_202D_206D_202E_206E_202D_202E_206A_200D_206E_200D_206A_200E_200B_200C_202B_206B_200E_202C_202D_202D_200D_206B_206A_202D_200F_202E((IEnumerator)enumerator) ? 104695519 : 104695517); - break; - case 1: - goto end_IL_005a; - } - continue; - end_IL_005a: - break; - } - } - finally - { - num = ((enumerator == null) ? (-1714249428) : (-1714249425)); - while (true) - { - int num5 = num; - int num3 = -1714249426; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_0101; - case 1: - _200E_200D_206F_202C_200D_200F_206D_206C_200B_200E_200E_202E_202E_202A_206C_200E_202E_200F_200B_202B_200D_206B_206F_206C_206C_202C_202C_206D_206E_200F_200B_200F_202A_206B_202D_206C_202C_200B_200B_200F_202E((IDisposable)enumerator); - num = -1714249428; - break; - case 0: - num = -1714249425; - break; - } - continue; - end_IL_0101: - break; - } + base.Configuration.SinglePlayerDuties.WhitelistedSinglePlayerDutyCfcIds.Add(allEnabledSinglePlayerDuty.ContentFinderConditionId); } Save(); } - num = ((!_202A_206B_200F_200B_206C_206B_202A_200D_206B_202D_206D_200B_202E_202D_206F_202C_200B_200F_206D_202A_206C_206B_206F_202E_200F_202D_200E_202C_200D_200E_200B_202B_206B_200B_206B_206A_206F_202A_206D_202E()) ? 1421940663 : 1421940660); - while (true) + if (ImGui.IsItemHovered()) { - int num6 = num; - int num3 = 1421940662; - int num4 = num6; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1421940660; - break; - case 1: - return; - case 2: - _202C_206C_206F_200E_200C_206D_206D_206C_206A_206C_206D_202E_202A_200D_200B_206F_206C_206A_200C_200E_202A_202D_206B_202A_202E_200F_206E_202C_200E_200E_206E_206F_206F_206D_206E_202B_200F_200B_202B_206F_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1435365237)); - num = 1421940663; - break; - } + ImGui.SetTooltip("Enable all of the quest battles, use at your own risk."); } } @@ -2403,96 +668,15 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent { int num = 0; int num2 = 0; - IEnumerator enumerator = dutyInfos.GetEnumerator(); - try + foreach (SinglePlayerDutyInfo dutyInfo in dutyInfos) { - int num3 = 929460521; - SinglePlayerDutyInfo current = default(SinglePlayerDutyInfo); - while (true) + if (dutyInfo.Enabled) { - int num4 = num3; - int num5 = 929460527; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) + num2++; + if (base.Configuration.SinglePlayerDuties.WhitelistedSinglePlayerDutyCfcIds.Contains(dutyInfo.ContentFinderConditionId) || (!base.Configuration.SinglePlayerDuties.BlacklistedSinglePlayerDutyCfcIds.Contains(dutyInfo.ContentFinderConditionId) && dutyInfo.EnabledByDefault)) { - case 3: - { - int num10 = num; - num5 = 1; - num6 = num10; - num = (num6 | num5) + (num6 & num5); - num3 = 929460521; - break; + num++; } - case 2: - if (current.EnabledByDefault) - { - goto case 8; - } - goto case 7; - case 4: - { - int num9 = num2; - num5 = 1; - num6 = num9; - num2 = (num6 | num5) + (num6 & num5); - num3 = (base.Configuration.SinglePlayerDuties.WhitelistedSinglePlayerDutyCfcIds.Contains(current.ContentFinderConditionId) ? 929460519 : 929460526); - break; - } - case 8: - num3 = 929460524; - break; - case 7: - num3 = 929460521; - break; - case 6: - num3 = (_202D_206B_206B_200D_202A_206F_202C_202A_202E_206B_202E_206B_200B_202A_200B_202D_206D_202E_206E_202D_202E_206A_200D_206E_200D_206A_200E_200B_200C_202B_206B_200E_202C_202D_202D_200D_206B_206A_202D_200F_202E((IEnumerator)enumerator) ? 929460522 : 929460527); - break; - case 5: - current = enumerator.Current; - num3 = ((!current.Enabled) ? 929460521 : 929460523); - break; - case 1: - num3 = (base.Configuration.SinglePlayerDuties.BlacklistedSinglePlayerDutyCfcIds.Contains(current.ContentFinderConditionId) ? 929460520 : 929460525); - break; - case 9: - num3 = 929460521; - break; - case 0: - goto end_IL_0017; - } - continue; - end_IL_0017: - break; - } - } - finally - { - int num3 = ((enumerator == null) ? (-2020150969) : (-2020150972)); - while (true) - { - int num11 = num3; - int num5 = -2020150971; - int num6 = num11; - int num12 = num6 + num5; - int num13 = num6 & num5; - switch (num12 - (num13 + num13)) - { - case 2: - goto end_IL_01c4; - case 1: - _200E_200D_206F_202C_200D_200F_206D_206C_200B_200E_200E_202E_202E_202A_206C_200E_202E_200F_200B_202B_200D_206B_206F_206C_206C_202C_202C_206D_206E_200F_200B_200F_202A_206B_202D_206C_202C_200B_200B_200F_202E((IDisposable)enumerator); - num3 = -2020150969; - break; - case 0: - num3 = -2020150972; - break; - } - continue; - end_IL_01c4: - break; } } return (enabledCount: num, totalCount: num2); @@ -2502,151 +686,21 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent { int num = 0; int num2 = 0; - IEnumerator> enumerator = _startingCityBattles.Values.GetEnumerator(); - try + foreach (List value in _startingCityBattles.Values) { - int num3 = -1710617818; - while (true) - { - int num4 = num3; - int num5 = -1710617820; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) - { - case 2: - num3 = (_202D_206B_206B_200D_202A_206F_202C_202A_202E_206B_202E_206B_200B_202A_200B_202D_206D_202E_206E_202D_202E_206A_200D_206E_200D_206A_200E_200B_200C_202B_206B_200E_202C_202D_202D_200D_206B_206A_202D_200F_202E((IEnumerator)enumerator) ? (-1710617819) : (-1710617817)); - break; - case 1: - { - List current = enumerator.Current; - (int enabledCount, int totalCount) questBattleCounts = GetQuestBattleCounts(current); - int item = questBattleCounts.enabledCount; - int item2 = questBattleCounts.totalCount; - int num9 = num; - num5 = item; - num6 = num9; - int num10 = num6 ^ num5; - int num11 = num6 & num5; - num = num10 + (num11 + num11); - int num12 = num2; - num5 = item2; - num6 = num12; - int num13 = num6 ^ num5; - int num14 = num6 & num5; - num2 = num13 + (num14 + num14); - num3 = -1710617818; - break; - } - case 0: - num3 = -1710617818; - break; - case 3: - goto end_IL_0021; - } - continue; - end_IL_0021: - break; - } + (int enabledCount, int totalCount) questBattleCounts = GetQuestBattleCounts(value); + int item = questBattleCounts.enabledCount; + int item2 = questBattleCounts.totalCount; + num += item; + num2 += item2; } - finally + foreach (List value2 in _mainScenarioBattles.Values) { - int num3 = ((enumerator == null) ? (-1533787922) : (-1533787923)); - while (true) - { - int num15 = num3; - int num5 = -1533787924; - int num6 = num15; - int num16 = num6 + num5; - int num17 = num6 & num5; - switch (num16 - (num17 + num17)) - { - case 0: - num3 = -1533787923; - break; - case 2: - goto end_IL_00f8; - case 1: - _200E_200D_206F_202C_200D_200F_206D_206C_200B_200E_200E_202E_202E_202A_206C_200E_202E_200F_200B_202B_200D_206B_206F_206C_206C_202C_202C_206D_206E_200F_200B_200F_202A_206B_202D_206C_202C_200B_200B_200F_202E((IDisposable)enumerator); - num3 = -1533787922; - break; - } - continue; - end_IL_00f8: - break; - } - } - enumerator = _mainScenarioBattles.Values.GetEnumerator(); - try - { - int num3 = -2131619834; - while (true) - { - int num18 = num3; - int num5 = -2131619835; - int num6 = num18; - switch ((num6 | num5) - (num6 & num5)) - { - case 0: - num3 = -2131619834; - break; - case 2: - { - List current2 = enumerator.Current; - (int enabledCount, int totalCount) questBattleCounts2 = GetQuestBattleCounts(current2); - int item3 = questBattleCounts2.enabledCount; - int item4 = questBattleCounts2.totalCount; - int num19 = num; - num5 = item3; - num6 = num19; - int num20 = num6 ^ num5; - int num21 = num6 & num5; - num = num20 + (num21 + num21); - int num22 = num2; - num5 = item4; - num6 = num22; - num2 = (num6 | num5) + (num6 & num5); - num3 = -2131619834; - break; - } - case 3: - num3 = (_202D_206B_206B_200D_202A_206F_202C_202A_202E_206B_202E_206B_200B_202A_200B_202D_206D_202E_206E_202D_202E_206A_200D_206E_200D_206A_200E_200B_200C_202B_206B_200E_202C_202D_202D_200D_206B_206A_202D_200F_202E((IEnumerator)enumerator) ? (-2131619833) : (-2131619836)); - break; - case 1: - goto end_IL_0162; - } - continue; - end_IL_0162: - break; - } - } - finally - { - int num3 = ((enumerator == null) ? (-1852342746) : (-1852342747)); - while (true) - { - int num23 = num3; - int num5 = -1852342748; - int num6 = num23; - int num24 = num6 + num5; - int num25 = num6 & num5; - switch (num24 - (num25 + num25)) - { - case 2: - goto end_IL_0237; - case 1: - _200E_200D_206F_202C_200D_200F_206D_206C_200B_200E_200E_202E_202E_202A_206C_200E_202E_200F_200B_202B_200D_206B_206F_206C_206C_202C_202C_206D_206E_200F_200B_200F_202A_206B_202D_206C_202C_200B_200B_200F_202E((IDisposable)enumerator); - num3 = -1852342746; - break; - case 0: - num3 = -1852342747; - break; - } - continue; - end_IL_0237: - break; - } + (int enabledCount, int totalCount) questBattleCounts2 = GetQuestBattleCounts(value2); + int item3 = questBattleCounts2.enabledCount; + int item4 = questBattleCounts2.totalCount; + num += item3; + num2 += item4; } return (enabledCount: num, totalCount: num2); } @@ -2655,78 +709,13 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent { int num = 0; int num2 = 0; - IEnumerator> enumerator = _jobQuestBattles.Values.GetEnumerator(); - try + foreach (List value in _jobQuestBattles.Values) { - int num3 = 1882322765; - while (true) - { - int num4 = num3; - int num5 = 1882322764; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) - { - case 0: - num3 = 1882322765; - break; - case 2: - { - List current = enumerator.Current; - (int enabledCount, int totalCount) questBattleCounts = GetQuestBattleCounts(current); - int item = questBattleCounts.enabledCount; - int item2 = questBattleCounts.totalCount; - int num9 = num; - num5 = item; - num6 = num9; - int num10 = num6 ^ num5; - int num11 = num6 & num5; - num = num10 + (num11 + num11); - int num12 = num2; - num5 = item2; - num6 = num12; - int num13 = num6 ^ num5; - int num14 = num6 & num5; - num2 = num13 + (num14 + num14); - num3 = 1882322765; - break; - } - case 1: - num3 = (_202D_206B_206B_200D_202A_206F_202C_202A_202E_206B_202E_206B_200B_202A_200B_202D_206D_202E_206E_202D_202E_206A_200D_206E_200D_206A_200E_200B_200C_202B_206B_200E_202C_202D_202D_200D_206B_206A_202D_200F_202E((IEnumerator)enumerator) ? 1882322766 : 1882322767); - break; - case 3: - goto end_IL_0021; - } - continue; - end_IL_0021: - break; - } - } - finally - { - int num3 = ((enumerator == null) ? 1350854521 : 1350854520); - while (true) - { - int num15 = num3; - int num5 = 1350854521; - int num6 = num15; - switch ((num6 | num5) - (num6 & num5)) - { - case 2: - num3 = 1350854520; - break; - case 1: - _200E_200D_206F_202C_200D_200F_206D_206C_200B_200E_200E_202E_202E_202A_206C_200E_202E_200F_200B_202B_200D_206B_206F_206C_206C_202C_202C_206D_206E_200F_200B_200F_202A_206B_202D_206C_202C_200B_200B_200F_202E((IDisposable)enumerator); - num3 = 1350854521; - break; - case 0: - goto end_IL_00f8; - } - continue; - end_IL_00f8: - break; - } + (int enabledCount, int totalCount) questBattleCounts = GetQuestBattleCounts(value); + int item = questBattleCounts.enabledCount; + int item2 = questBattleCounts.totalCount; + num += item; + num2 += item2; } return (enabledCount: num, totalCount: num2); } @@ -2735,94 +724,19 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent { int num = 0; int num2 = 0; - IEnumerator> enumerator = _roleQuestBattles.Values.GetEnumerator(); - int num5; - int num6; - try + foreach (List value in _roleQuestBattles.Values) { - int num3 = -766289963; - while (true) - { - int num4 = num3; - num5 = -766289964; - num6 = num4; - switch ((num6 | num5) - (num6 & num5)) - { - case 0: - num3 = -766289963; - break; - case 1: - num3 = (_202D_206B_206B_200D_202A_206F_202C_202A_202E_206B_202E_206B_200B_202A_200B_202D_206D_202E_206E_202D_202E_206A_200D_206E_200D_206A_200E_200B_200C_202B_206B_200E_202C_202D_202D_200D_206B_206A_202D_200F_202E((IEnumerator)enumerator) ? (-766289961) : (-766289962)); - break; - case 3: - { - List current = enumerator.Current; - (int enabledCount, int totalCount) questBattleCounts = GetQuestBattleCounts(current); - int item = questBattleCounts.enabledCount; - int item2 = questBattleCounts.totalCount; - int num7 = num; - num5 = item; - num6 = num7; - int num8 = num6 ^ num5; - int num9 = num6 & num5; - num = num8 + (num9 + num9); - int num10 = num2; - num5 = item2; - num6 = num10; - num2 = (num6 | num5) + (num6 & num5); - num3 = -766289963; - break; - } - case 2: - goto end_IL_0022; - } - continue; - end_IL_0022: - break; - } - } - finally - { - int num3 = ((enumerator == null) ? 769404478 : 769404479); - while (true) - { - int num11 = num3; - num5 = 769404478; - num6 = num11; - int num12 = num6 + num5; - int num13 = num6 & num5; - switch (num12 - (num13 + num13)) - { - case 0: - goto end_IL_00fa; - case 1: - _200E_200D_206F_202C_200D_200F_206D_206C_200B_200E_200E_202E_202E_202A_206C_200E_202E_200F_200B_202B_200D_206B_206F_206C_206C_202C_202C_206D_206E_200F_200B_200F_202A_206B_202D_206C_202C_200B_200B_200F_202E((IDisposable)enumerator); - num3 = 769404478; - break; - case 2: - num3 = 769404479; - break; - } - continue; - end_IL_00fa: - break; - } + (int enabledCount, int totalCount) questBattleCounts = GetQuestBattleCounts(value); + int item = questBattleCounts.enabledCount; + int item2 = questBattleCounts.totalCount; + num += item; + num2 += item2; } (int enabledCount, int totalCount) questBattleCounts2 = GetQuestBattleCounts(_otherRoleQuestBattles); int item3 = questBattleCounts2.enabledCount; int item4 = questBattleCounts2.totalCount; - int num14 = num; - num5 = item3; - num6 = num14; - int num15 = num6 ^ num5; - int num16 = num6 & num5; - num = num15 + (num16 + num16); - int num17 = num2; - num5 = item4; - num6 = num17; - int num18 = num6 ^ num5; - int num19 = num6 & num5; - num2 = num18 + (num19 + num19); + num += item3; + num2 += item4; return (enabledCount: num, totalCount: num2); } @@ -2830,304 +744,29 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent { int num = 0; int num2 = 0; - using (ImmutableList<(string, List)>.Enumerator enumerator = _otherQuestBattles.GetEnumerator()) + foreach (var otherQuestBattle in _otherQuestBattles) { - int num3 = -1177106358; - while (true) - { - int num4 = num3; - int num5 = -1177106358; - int num6 = num4; - switch ((num6 | num5) - (num6 & num5)) - { - case 0: - num3 = (enumerator.MoveNext() ? (-1177106359) : (-1177106357)); - break; - case 3: - { - List item = enumerator.Current.Item2; - (int enabledCount, int totalCount) questBattleCounts = GetQuestBattleCounts(item); - int item2 = questBattleCounts.enabledCount; - int item3 = questBattleCounts.totalCount; - int num7 = num; - num5 = item2; - num6 = num7; - int num8 = num6 ^ num5; - int num9 = num6 & num5; - num = num8 + (num9 + num9); - int num10 = num2; - num5 = item3; - num6 = num10; - num2 = (num6 | num5) + (num6 & num5); - num3 = -1177106358; - break; - } - case 2: - num3 = -1177106358; - break; - case 1: - goto end_IL_001c; - } - continue; - end_IL_001c: - break; - } + List item = otherQuestBattle.Item2; + (int enabledCount, int totalCount) questBattleCounts = GetQuestBattleCounts(item); + int item2 = questBattleCounts.enabledCount; + int item3 = questBattleCounts.totalCount; + num += item2; + num2 += item3; } return (enabledCount: num, totalCount: num2); } - [MethodImpl(MethodImplOptions.NoInlining)] static SinglePlayerDutyConfigComponent() { int num = 5; List<(EClassJob, string)> list = new List<(EClassJob, string)>(num); CollectionsMarshal.SetCount(list, num); Span<(EClassJob, string)> span = CollectionsMarshal.AsSpan(list); - span[0] = (EClassJob.Paladin, 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(891173026)); - span[1] = (EClassJob.WhiteMage, 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(337356766)); - span[2] = (EClassJob.Lancer, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1720221262)); - span[3] = (EClassJob.Bard, 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(-1993977067)); - span[4] = (EClassJob.BlackMage, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-702703821)); + span[0] = (EClassJob.Paladin, "Tank Role Quests"); + span[1] = (EClassJob.WhiteMage, "Healer Role Quests"); + span[2] = (EClassJob.Lancer, "Melee Role Quests"); + span[3] = (EClassJob.Bard, "Physical Ranged Role Quests"); + span[4] = (EClassJob.BlackMage, "Magical Ranged Role Quests"); RoleQuestCategories = list; } - - static string _206B_200B_202D_206F_206F_206B_202C_202C_200D_200C_206D_206B_202E_200E_206B_206F_202B_200D_202E_206A_200E_200B_202E_206C_206B_202D_202C_206E_200B_202D_202A_200B_202A_206F_206D_202A_200B_206D_202B_202A_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static bool _200C_206D_200F_202D_202B_202D_206D_206C_202C_202E_202A_202B_200E_200D_200B_200B_202A_206F_206B_202E_200C_202A_200B_206E_206C_202B_200E_206B_206C_202C_206F_206F_202B_206B_206B_206B_202B_206F_202E_200E_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static bool _200B_202D_206F_200D_206A_200E_202E_202D_202C_206A_202C_206A_206D_206F_202E_200D_202E_200B_206F_200C_200C_202D_202A_200C_206E_202A_202D_200F_206A_202C_206F_202C_202B_202B_206F_200C_202D_206D_202C_200F_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.EndsWith(P_1, P_2); - } - - static string _200E_200C_200C_206E_200E_200C_200C_206B_206D_202A_206C_200B_202B_202B_202B_202A_202C_206C_200B_206B_200E_202E_206D_206E_206F_206D_200C_200F_200E_206B_200F_200F_202C_206D_202A_206F_206C_206A_200C_206B_202E(string P_0, string P_1, string P_2, string P_3) - { - return P_0 + P_1 + P_2 + P_3; - } - - static string _200B_200E_202B_200C_202A_200E_202E_202E_202B_202E_206D_202B_206F_200E_202C_202E_206C_206A_200B_200B_202D_202E_200D_200B_200F_202C_206D_206A_206B_206C_200B_202C_200F_202B_206C_202A_202A_202B_202A_206B_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static bool _202D_206B_206B_200D_202A_206F_202C_202A_202E_206B_202E_206B_200B_202A_200B_202D_206D_202E_206E_202D_202E_206A_200D_206E_200D_206A_200E_200B_200C_202B_206B_200E_202C_202D_202D_200D_206B_206A_202D_200F_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200E_200D_206F_202C_200D_200F_206D_206C_200B_200E_200E_202E_202E_202A_206C_200E_202E_200F_200B_202B_200D_206B_206F_206C_206C_202C_202C_206D_206E_200F_200B_200F_202A_206B_202D_206C_202C_200B_200B_200F_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _206D_206E_202D_202E_206D_206E_200F_202D_206B_206E_202E_200D_206F_200D_200F_200C_206D_202B_200E_206B_200E_202C_206B_202C_200F_206D_206F_206F_206E_200D_206E_202B_206C_200C_200D_202B_206E_200D_202D_202D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _202E_202C_200D_200E_206F_202B_200E_200C_200C_202E_206F_206D_202D_200B_200F_206F_202A_200C_200E_206F_200E_200F_200F_200B_200C_206C_206F_202D_206E_200C_200F_202A_202A_202B_206B_206A_206F_206F_202B_206A_202E(QuestRoot P_0) - { - return P_0.Disabled; - } - - static void _202E_202A_202C_200F_206F_200B_206D_206C_202A_202E_200C_206D_200D_202C_206C_200B_206F_202D_206E_200D_200B_202B_202C_200E_206C_202C_200E_206E_206B_206A_200F_202E_206B_202E_200E_202E_200F_206A_206E_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static ushort _202D_202C_206F_206C_202D_200D_200C_202C_206B_206E_206D_206A_200F_206F_202D_206E_206A_206C_202B_200E_200B_206E_206E_200C_202B_200C_200E_206E_206B_206E_202B_202A_206A_200D_206D_200F_202B_202B_202D_200D_202E(ElementId P_0) - { - return P_0.Value; - } - - static void _206B_202A_200C_206C_202C_206C_202C_200C_200D_200F_200E_202C_200F_200B_206F_200C_202C_206A_206C_200E_200C_202A_206F_202B_200D_202E_206B_200F_206F_200F_206B_202C_202A_200E_202E_202A_200C_200B_202D_200C_202E() - { - ImGui.Spacing(); - } - - static ImRaii.DisabledDisposable _202D_200E_206A_202E_206E_206C_202D_206F_200C_202A_202A_200B_206D_200F_206D_202C_206E_200E_202C_200B_202E_200B_200C_202D_202A_202E_200C_200E_202A_206C_200D_200F_202C_202E_206D_206B_206C_202C_206C_202E_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static Vector2 _206C_206D_200C_206A_200D_202E_206D_202B_206F_202B_206B_206A_202D_206F_206D_202B_200E_202C_200F_202B_200D_202A_206E_202B_206B_202A_206C_202E_202B_200F_206B_206D_200C_202D_206A_200E_200D_202E_206B_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static float _206E_200D_202A_202D_206E_200C_200D_206D_206F_200D_206D_202D_200E_200D_206F_200E_202E_206C_206B_202A_206C_200F_206B_200F_200B_206E_200C_202D_202B_202A_200C_202D_200D_202B_206D_200F_200D_200B_202E_206E_202E(float P_0, float P_1) - { - return MathF.Min(P_0, P_1); - } - - static void _200D_206A_206A_200B_200B_206B_202A_206B_200D_206B_206D_200B_202E_202B_200E_206B_206A_202B_200D_202B_200D_200B_206D_200F_200F_206D_202B_206D_206F_206E_202C_206F_200B_200D_206B_206D_200F_202A_202A_206C_202E(float P_0) - { - ImGui.SetNextItemWidth(P_0); - } - - static void _202D_206F_206D_206B_200F_202D_206D_202C_202D_206F_202E_206C_202C_202E_206F_200E_200E_200B_206D_202B_202E_206C_200E_206C_206C_202D_202A_200C_200C_206E_206E_200D_202A_206B_202D_202D_206B_202C_206F_202E() - { - ImGui.SameLine(); - } - - static bool _206B_206D_200D_202B_202B_200C_202E_206D_206B_206D_206E_202D_200F_202C_202A_202D_206E_202D_206F_200B_202A_200B_200F_202E_200D_202D_200E_206C_200B_200B_206A_206E_202B_206D_202D_206A_202B_202D_206D_202C_202E(ImU8String P_0, bool P_1) - { - return ImGui.RadioButton(P_0, P_1); - } - - static int _202C_202D_206F_200E_200E_202B_202C_206E_206B_200B_202E_206F_206E_202D_202C_206B_206D_206C_200F_202C_202B_202B_206E_202D_206C_200E_206D_200D_202D_200E_206D_200D_200B_206C_206F_206E_206A_200F_206D_206F_202E(int P_0, int P_1) - { - return Math.Max(P_0, P_1); - } - - static bool _202A_200F_206C_202B_202B_206D_200E_206F_200F_206B_206A_206F_206C_202E_200B_202D_206D_200B_200C_202E_202A_202D_202E_202D_206C_200E_200C_202D_206A_206B_206E_206D_206D_202A_202B_202E_200D_206B_200F_200D_202E(ImU8String P_0, ref int P_1, int P_2, int P_3, ImU8String P_4, ImGuiInputTextFlags P_5) - { - return ImGui.InputInt(P_0, ref P_1, P_2, P_3, P_4, P_5); - } - - static float _202E_200D_206D_200D_200B_202E_206A_206D_202C_200B_200B_206F_206A_206C_200B_200F_200D_206B_202E_202C_206A_202D_200C_202B_200E_202D_202C_206A_206F_206C_200E_202A_202C_206F_200E_200B_200B_202D_200E_200C_202E() - { - return ImGui.GetCursorPosY(); - } - - static ImGuiStylePtr _200E_202B_206C_200F_206C_206F_206E_202E_202A_206D_202C_200D_200B_206B_200D_206A_206E_206C_202E_206F_202D_200E_206A_202E_206F_200D_200F_200C_200C_202B_206C_200E_200C_206C_200B_206D_206D_202B_206C_202E_202E() - { - return ImGui.GetStyle(); - } - - static void _206D_206B_200D_206B_206B_206A_200D_206D_202D_206E_202D_200B_200C_202A_206D_206E_202B_202D_200E_206B_206C_202D_202A_202E_206A_206C_206B_202B_202A_202B_200C_206A_206C_202C_202D_200D_200D_206F_206D_206E_202E(float P_0) - { - ImGui.SetCursorPosY(P_0); - } - - static string _206E_200C_206F_202A_206A_200D_200C_202B_200E_200E_202B_206C_200D_202B_200C_200B_202C_200D_200E_206A_206C_206B_206B_202B_202C_202D_200B_202A_206F_206B_202B_200E_206F_202D_206C_200B_200D_200C_206E_200E_202E(EExpansionVersion P_0) - { - return P_0.ToFriendlyString(); - } - - static bool _200C_202D_200B_206A_200F_200E_202B_202B_200C_202C_202A_206B_202D_202C_202A_206D_206A_200F_202E_206E_202A_206D_202D_202C_200E_206C_200F_200F_206C_200E_200E_202C_206E_206D_206C_202B_206B_202B_200D_206C_202E(EClassJob P_0) - { - return P_0.IsCrafter(); - } - - static bool _206C_206B_206A_202A_206A_206F_206D_202C_200F_200C_206E_200D_206A_200D_206C_200D_202C_206B_202D_202C_200C_200D_202C_202A_206E_202B_200D_206D_200E_200C_202E_200B_206C_206E_200E_206C_206C_200B_202C_200C_202E(EClassJob P_0) - { - return P_0.IsGatherer(); - } - - static void _202C_202B_206B_200D_202A_202E_206C_206E_202A_206A_202B_200B_202E_202E_206D_200D_206E_206C_202A_200D_206D_206C_206E_200F_202B_202D_200F_206F_200C_206D_202C_206D_202B_206E_206B_206F_206A_206C_206A_202E_202E() - { - ImGui.Separator(); - } - - static string _206F_206F_206F_206D_206C_200E_206D_200E_200D_202E_200F_202C_202C_206E_202C_206F_200E_200B_200F_200B_202A_206B_206B_202A_206C_200E_206C_206D_200D_202A_200C_202E_202D_206E_202B_206F_206C_200C_206B_200E_202E(EClassJob P_0) - { - return P_0.ToFriendlyString(); - } - - static bool _200D_206B_206C_206C_202E_200C_206A_206C_206B_200C_200C_200D_200E_200D_206D_202D_200F_200F_202A_200F_206D_200C_200E_206A_206F_202C_202C_206B_206F_206A_202A_202D_202C_200C_206B_200E_200C_200D_202A_206C_202E(EClassJob P_0) - { - return P_0.IsClass(); - } - - static EClassJob _200D_206F_200C_200B_200D_206B_200E_206B_200D_206B_206F_206C_206E_202C_202C_202B_206D_202A_206D_206D_206C_202E_200F_202C_206B_200C_202C_200F_200B_200C_202A_206A_206D_200C_206F_202A_200E_202C_202A_206A_202E(EClassJob P_0) - { - return P_0.AsJob(); - } - - static void _202A_202B_202B_206F_206C_200F_206E_200B_200C_202E_202B_202B_206C_206B_202E_202C_202E_206A_200E_206C_206E_202A_202D_200B_202D_206F_206E_206D_200E_206B_202E_206E_202A_206C_206F_202A_202B_202C_206B_206A_202E(ImU8String P_0, ImGuiTableColumnFlags P_1, float P_2, uint P_3) - { - ImGui.TableSetupColumn(P_0, P_1, P_2, P_3); - } - - static void _200B_202A_202E_202C_206C_206F_200B_200C_206E_206B_206C_206A_200D_202E_202D_200E_206C_200B_206A_202B_202A_206B_202C_206D_202D_206A_202A_202A_202D_200B_200C_202D_206E_200B_202A_200D_202C_202D_202D_206D_202E() - { - ImGui.TableNextRow(); - } - - static bool _200B_200C_202D_206A_202A_200D_202B_200E_202E_200D_200F_202D_200C_200C_200F_206B_206D_200E_206B_200F_206F_200F_200D_200D_206A_202E_200C_202C_200B_206E_200D_206B_202D_200D_202C_206E_200C_200E_206B_206E_202E() - { - return ImGui.TableNextColumn(); - } - - static void _206A_206F_202B_206E_206B_206E_206C_206D_202D_202E_206E_206E_200B_200B_202E_206A_206D_200F_200C_202D_206E_202C_206F_200B_202D_206C_200D_206C_200D_206A_206E_206A_206C_200E_202A_200C_200E_200E_206F_202E_202E() - { - ImGui.AlignTextToFramePadding(); - } - - static float _206F_206C_206E_202C_200D_202D_206F_200F_202A_200F_200D_200D_206B_202C_206D_202E_202A_206A_202B_202D_202D_200E_200F_200E_200D_206B_202B_200C_206D_200B_202A_206E_200F_200F_200B_202D_206C_202E_200B_206B_202E() - { - return ImGui.GetFrameHeight(); - } - - static ImFontPtr _200D_206B_202A_200E_206A_202B_206E_200D_200B_200C_200B_206F_206B_202E_200E_202A_200D_202C_202E_202E_206E_202E_206C_206A_206F_200F_202E_206F_202E_202B_202D_202C_200B_202E_200C_202D_206C_206B_202C_206F_202E() - { - return UiBuilder.IconFont; - } - - static ImRaii.FontDisposable _202A_202B_206D_200D_206F_200F_202B_200D_202D_200F_206A_202B_206A_200F_202C_206D_206C_206A_202A_200F_206F_206B_202E_206D_202E_202B_202D_200D_200D_202D_202A_200E_206D_206B_202A_202B_202C_206C_206A_206B_202E(ImFontPtr P_0, bool P_1) - { - return ImRaii.PushFont(P_0, P_1); - } - - static string _202C_206A_206C_206F_200C_200F_202C_206F_202A_200F_206C_200E_202C_206E_200C_206F_206B_206D_206D_206A_200C_200B_202D_206C_202E_206D_202D_206C_206D_206B_206C_202B_202C_206A_200F_200C_206B_206A_206D_202B_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static void _206E_206C_202E_200C_202C_206A_206C_200D_206B_202E_200E_200D_206B_202B_202C_200C_202E_206A_206E_202B_200E_202A_200F_202D_206E_202B_200D_206A_200F_206D_202B_202C_206E_200F_200C_202E_202A_202E_206B_200D_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static bool _202A_206B_200F_200B_206C_206B_202A_200D_206B_202D_206D_200B_202E_202D_206F_202C_200B_200F_206D_202A_206C_206B_206F_202E_200F_202D_200E_202C_200D_200E_200B_202B_206B_200B_206B_206A_206F_202A_206D_202E() - { - return ImGui.IsItemHovered(); - } - - static ImRaii.TooltipDisposable _206B_206F_206E_202B_200B_206E_200D_206F_202D_200B_206E_206E_206C_200D_206D_202E_206C_202E_206F_200E_206D_200C_206A_200F_202E_206C_200D_200E_206E_206A_206E_200D_202D_200C_200F_206A_200F_202C_206C_206D_202E() - { - return ImRaii.Tooltip(); - } - - static void _206C_200D_206D_202C_200C_202B_202A_206C_200E_206C_202C_202D_206A_200F_200B_202A_206A_206A_206F_202C_206B_202E_200D_200F_200E_202D_206A_202B_200F_202B_202A_202C_202B_202B_202A_200E_200F_202B_206B_202E_202E(float P_0) - { - ImGui.PushTextWrapPos(P_0); - } - - static void _200E_200B_202D_202A_206D_200D_200C_202B_200C_206F_206E_206E_200D_200B_200F_206B_202D_200E_200B_206F_200B_206A_206B_206B_202B_202B_202C_202B_200E_206F_202A_206B_200D_206F_202A_206E_202B_206A_200F_200D_202E(ImU8String P_0) - { - ImGui.Text(P_0); - } - - static void _200E_200F_206D_206B_206F_200E_206F_200F_202B_200F_202E_206E_206B_202B_200C_200C_200B_200F_202E_202A_202C_200B_202E_202C_200E_202E_200D_202D_206C_206C_202D_206E_202A_206B_206E_206A_206E_200F_206A_202E() - { - ImGui.PopTextWrapPos(); - } - - static ImRaii.IdDisposable _202D_206F_200B_202C_202A_206A_206C_206E_200C_206E_206B_206A_202C_200F_206D_206C_202B_202B_206B_202E_202E_202C_206C_206E_200E_200C_206A_202E_200C_206B_200B_200B_206D_206D_202D_200B_206B_206B_206C_200D_202E(ImU8String P_0, bool P_1) - { - return ImRaii.PushId(P_0, P_1); - } - - static float _206F_200F_206D_200D_200F_206C_200F_200B_202E_202D_200B_200C_202E_200D_202B_202C_200B_202E_202C_206D_200B_206C_200D_206C_202A_206B_202A_200D_202A_200C_206E_200D_200B_206B_206B_202B_206A_206A_200C_200D_202E(float P_0, float P_1) - { - return MathF.Max(P_0, P_1); - } - - static ImRaii.ChildDisposable _202E_200D_200E_202E_206E_206C_206B_202B_206E_200C_202C_202C_200E_200D_200D_200B_202D_202E_206E_206D_206A_206D_202B_206F_206D_200F_206D_202D_200D_200C_200F_202C_200E_200E_200E_200C_202E_200C_202A_206C_202E(ImU8String P_0, Vector2 P_1, bool P_2) - { - return ImRaii.Child(P_0, P_1, P_2); - } - - static void _202C_206C_206F_200E_200C_206D_206D_206C_206A_206C_206D_202E_202A_200D_200B_206F_206C_206A_200C_200E_202A_202D_206B_202A_202E_200F_206E_202C_200E_200E_206E_206F_206F_206D_206E_202B_200F_200B_202B_206F_202E(ImU8String P_0) - { - ImGui.SetTooltip(P_0); - } } diff --git a/Questionable/Questionable.Windows.ConfigComponents/StopConditionComponent.cs b/Questionable/Questionable.Windows.ConfigComponents/StopConditionComponent.cs index 07c490e..f6b115e 100644 --- a/Questionable/Questionable.Windows.ConfigComponents/StopConditionComponent.cs +++ b/Questionable/Questionable.Windows.ConfigComponents/StopConditionComponent.cs @@ -1,14 +1,9 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; -using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Interface; -using Dalamud.Interface.ManagedFontAtlas; using Dalamud.Interface.Utility.Raii; using Dalamud.Plugin; using Dalamud.Plugin.Services; @@ -26,48 +21,9 @@ namespace Questionable.Windows.ConfigComponents; internal sealed class StopConditionComponent : ConfigComponent { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); + private static readonly string[] ConditionModeNames = new string[2] { "Pause", "Stop" }; - public static Func _003C_003E9__29_1; - - public static Comparison _003C_003E9__37_0; - - internal string _003CDrawAddQuestAccept_003Eb__29_1(Quest x) - { - return x.Info.Name; - } - - internal int _003CGetCurrentlyAcceptedQuests_003Eb__37_0(Quest a, Quest b) - { - return _202B_200C_202C_202B_202D_200B_200C_206E_200B_202D_200B_202B_200B_200E_200C_206A_200F_202E_206F_202B_206B_206F_200D_206C_200C_202D_206C_200B_200C_206A_200D_206E_202D_206F_206B_202A_200B_202A_206B_202E_202E(a.Info.Name, b.Info.Name, StringComparison.OrdinalIgnoreCase); - } - - static int _202B_200C_202C_202B_202D_200B_200C_206E_200B_202D_200B_202B_200B_200E_200C_206A_200F_202E_206F_202B_206B_206F_200D_206C_200C_202D_206C_200B_200C_206A_200D_206E_202D_206F_206B_202A_200B_202A_206B_202E_202E(string P_0, string P_1, StringComparison P_2) - { - return string.Compare(P_0, P_1, P_2); - } - } - - private static readonly string[] ConditionModeNames = new string[2] - { - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(905118381), - 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(560121957) - }; - - private static readonly string[] ConditionTypeNames = new string[7] - { - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(110723094), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1530936395), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-219663971), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-70647925), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2025939443), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1440127939), - 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(661458144) - }; + private static readonly string[] ConditionTypeNames = new string[7] { "Quest Complete", "Quest Accept", "Level", "Global Sequence", "Inventory Full", "Before Duty", "Gil Threshold" }; private readonly IDalamudPluginInterface _pluginInterface; @@ -118,30 +74,7 @@ internal sealed class StopConditionComponent : ConfigComponent _objectTable = objectTable; _questController = questController; _questSelector.SuggestionPredicate = (Quest quest) => !stopConditionComponent.HasQuestCondition(quest.Id, EStopConditionType.QuestComplete); - _questSelector.DefaultPredicate = delegate(Quest quest) - { - int num = ((!quest.Info.IsMainScenarioQuest) ? 902983598 : 902983599); - while (true) - { - int num2 = num; - int num3 = 902983598; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return false; - case 1: - return questFunctions.IsQuestAccepted(quest.Id); - case 2: - goto IL_0061; - } - continue; - IL_0061: - num = 902983599; - } - }; + _questSelector.DefaultPredicate = (Quest quest) => quest.Info.IsMainScenarioQuest && questFunctions.IsQuestAccepted(quest.Id); _questSelector.QuestSelected = delegate(Quest quest) { stopConditionComponent.Configuration.Stop.Conditions.Add(new QuestCompleteCondition @@ -153,1464 +86,482 @@ internal sealed class StopConditionComponent : ConfigComponent }; } - [MethodImpl(MethodImplOptions.NoInlining)] public override void DrawTab() { bool value = base.Configuration.Stop.Enabled; - UiThemeUtils.SectionHeader(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(-1625853193)); - (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple = UiThemeUtils.BeginCard(); - Vector2 item = tuple.ContentStartPos; - float item2 = tuple.AvailableWidth; - ImDrawListPtr item3 = tuple.DrawList; - int num = ((!UiThemeUtils.WrappedCheckbox(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(1186075613), ref value, 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(-1404007902))) ? (-1028566401) : (-1028566404)); - while (true) + UiThemeUtils.SectionHeader("Stop Conditions"); + var (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); + if (UiThemeUtils.WrappedCheckbox("Enable stop conditions", ref value, "Pause: Stops automation when condition is met, but allows resuming past it.\nStop: True stop, blocks automation from starting/resuming if condition is already met.")) { - int num2 = num; - int num3 = -1028566403; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1028566404; - break; - case 1: - base.Configuration.Stop.Enabled = value; - Save(); - num = -1028566401; - break; - case 2: - { - ImRaii.DisabledDisposable disabledDisposable = _202D_202C_206B_202A_200E_200C_202A_202D_206E_206F_206D_206E_202C_200F_200F_206C_202D_202A_202D_202D_200F_202E_202B_206A_200C_206B_206A_206E_202B_206C_206E_206A_202B_200F_202D_202E_206F_200D_206D_206C_202E(!value); - try - { - DrawConditionsList(); - } - finally - { - num = ((disabledDisposable == null) ? 1850490731 : 1850490728); - while (true) - { - int num5 = num; - num3 = 1850490730; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 1: - goto end_IL_0101; - case 2: - _206E_200E_202B_206B_206F_206F_200F_206D_200E_202E_206F_202C_202C_206A_200E_206F_206A_206F_202D_200F_206B_202B_202C_202A_206E_206F_202D_200D_202C_202B_202B_206D_200E_202D_206C_200D_202E_200B_200F_202C_202E((IDisposable)disabledDisposable); - num = 1850490731; - break; - case 0: - num = 1850490728; - break; - } - continue; - end_IL_0101: - break; - } - } - UiThemeUtils.EndCard(item, item2, item3); - UiThemeUtils.SectionSpacing(); - UiThemeUtils.SectionHeader(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(235360192)); - (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple2 = UiThemeUtils.BeginCard(); - Vector2 item4 = tuple2.ContentStartPos; - float item5 = tuple2.AvailableWidth; - ImDrawListPtr item6 = tuple2.DrawList; - disabledDisposable = _202D_202C_206B_202A_200E_200C_202A_202D_206E_206F_206D_206E_202C_200F_200F_206C_202D_202A_202D_202D_200F_202E_202B_206A_200C_206B_206A_206E_202B_206C_206E_206A_202B_200F_202D_202E_206F_200D_206D_206C_202E(!value); - try - { - DrawAddCondition(); - } - finally - { - num = ((disabledDisposable == null) ? 1883978520 : 1883978523); - while (true) - { - int num8 = num; - num3 = 1883978522; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1883978523; - break; - case 2: - goto end_IL_01bc; - case 1: - _206E_200E_202B_206B_206F_206F_200F_206D_200E_202E_206F_202C_202C_206A_200E_206F_206A_206F_202D_200F_206B_202B_202C_202A_206E_206F_202D_200D_202C_202B_202B_206D_200E_202D_206C_200D_202E_200B_200F_202C_202E((IDisposable)disabledDisposable); - num = 1883978520; - break; - } - continue; - end_IL_01bc: - break; - } - } - UiThemeUtils.EndCard(item4, item5, item6); - UiThemeUtils.SectionSpacing(); - UiThemeUtils.SectionHeader(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2147440442)); - (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple3 = UiThemeUtils.BeginCard(); - Vector2 item7 = tuple3.ContentStartPos; - float item8 = tuple3.AvailableWidth; - ImDrawListPtr item9 = tuple3.DrawList; - disabledDisposable = _202D_202C_206B_202A_200E_200C_202A_202D_206E_206F_206D_206E_202C_200F_200F_206C_202D_202A_202D_202D_200F_202E_202B_206A_200C_206B_206A_206E_202B_206C_206E_206A_202B_200F_202D_202E_206F_200D_206D_206C_202E(!value); - try - { - string commandAfterStop = base.Configuration.Stop.CommandAfterStop; - _202D_200D_202E_206F_202D_202A_200B_200C_200F_200B_206B_206A_200F_200E_200C_206D_202D_202B_202B_200E_200D_202B_202E_206D_200B_202C_200E_202C_206A_200B_202A_202D_206C_200E_206E_202D_200B_206F_206F_202E(_206F_202A_200E_206C_202D_200F_200C_206B_202C_206E_206C_200C_202D_206D_202E_206B_206C_202B_202A_202D_202C_200C_202C_206D_206E_206A_202E_206F_200C_206E_200E_206D_202C_200F_206B_200E_206C_206C_200E_206C_202E(260f, _200F_206E_200F_200E_202C_200C_206E_202B_200F_206D_202B_200C_206D_200C_200B_202D_206A_202E_202C_206E_206C_202A_202E_206B_206B_202B_202E_202B_206D_200D_202D_206D_206F_202E_202A_200C_206E_200D_206F_206C_202E().X)); - num = ((!_206B_206F_206A_200D_200D_202D_200C_202B_206F_206B_202C_206F_202C_206C_206F_202B_200D_200F_206E_206B_202D_202B_202E_202E_200E_206F_202D_206B_206D_206C_200D_202D_206D_200B_200B_202E_206A_200E_200E_200C_202E((ImU8String)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(-59706386), ref commandAfterStop, 200, ImGuiInputTextFlags.None, (ImGui.ImGuiInputTextCallbackDelegate)null)) ? 111240016 : 111240019); - while (true) - { - int num9 = num; - num3 = 111240017; - num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 0: - num = 111240019; - break; - case 2: - base.Configuration.Stop.CommandAfterStop = commandAfterStop; - Save(); - num = 111240016; - break; - case 1: - _200B_206C_202A_200E_202D_202B_200F_206C_202B_200B_202B_206F_202D_200C_206D_200E_202A_202E_206C_202A_206E_206C_206A_200E_206B_206C_206A_202C_206E_200B_200F_200F_202A_202B_206B_200F_202B_202C_206E_202E_202E(); - UiThemeUtils.InfoIcon(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1301330466)); - goto end_IL_02b3; - } - continue; - end_IL_02b3: - break; - } - } - finally - { - num = ((disabledDisposable == null) ? (-1795551806) : (-1795551807)); - while (true) - { - int num12 = num; - num3 = -1795551805; - num4 = num12; - int num13 = num4 + num3; - int num14 = num4 & num3; - switch (num13 - (num14 + num14)) - { - case 0: - num = -1795551807; - break; - case 2: - _206E_200E_202B_206B_206F_206F_200F_206D_200E_202E_206F_202C_202C_206A_200E_206F_206A_206F_202D_200F_206B_202B_202C_202A_206E_206F_202D_200D_202C_202B_202B_206D_200E_202D_206C_200D_202E_200B_200F_202C_202E((IDisposable)disabledDisposable); - num = -1795551806; - break; - case 1: - goto end_IL_0349; - } - continue; - end_IL_0349: - break; - } - } - UiThemeUtils.EndCard(item7, item8, item9); - DrawSessionConditions(); - return; - } - } + base.Configuration.Stop.Enabled = value; + Save(); } + using (ImRaii.Disabled(!value)) + { + DrawConditionsList(); + } + UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); + UiThemeUtils.SectionSpacing(); + UiThemeUtils.SectionHeader("Add Condition"); + var (contentStartPos2, availableWidth2, drawList2) = UiThemeUtils.BeginCard(); + using (ImRaii.Disabled(!value)) + { + DrawAddCondition(); + } + UiThemeUtils.EndCard(contentStartPos2, availableWidth2, drawList2); + UiThemeUtils.SectionSpacing(); + UiThemeUtils.SectionHeader("After Stopping"); + var (contentStartPos3, availableWidth3, drawList3) = UiThemeUtils.BeginCard(); + using (ImRaii.Disabled(!value)) + { + string buf = base.Configuration.Stop.CommandAfterStop; + ImGui.SetNextItemWidth(MathF.Min(260f, ImGui.GetContentRegionAvail().X)); + if (ImGui.InputText("Run command after stop", ref buf, 200)) + { + base.Configuration.Stop.CommandAfterStop = buf; + Save(); + } + ImGui.SameLine(); + UiThemeUtils.InfoIcon("Runs this chat command when a stop condition ends the run - not on a manual stop."); + } + UiThemeUtils.EndCard(contentStartPos3, availableWidth3, drawList3); + DrawSessionConditions(); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawConditionsList() { List conditions = base.Configuration.Stop.Conditions; - int num = ((conditions.Count != 0) ? 12968843 : 12968842); - while (true) + if (conditions.Count == 0) { - int num2 = num; - int num3 = 12968841; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + ImGui.TextDisabled("No conditions configured."); + return; + } + if (UiThemeUtils.DestructiveButton(FontAwesomeIcon.Trash, "Clear all")) + { + conditions.Clear(); + Save(); + } + int? indexToRemove = null; + for (int i = 0; i < conditions.Count; i++) + { + using (ImRaii.PushId(i)) { - case 1: - conditions.Clear(); - Save(); - num = 12968845; - break; - case 2: - num = ((!UiThemeUtils.DestructiveButton(FontAwesomeIcon.Trash, 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(1617749259))) ? 12968845 : 12968840); - break; - case 3: - _202A_206F_206F_202C_206B_200C_200C_206A_206B_200F_206D_206F_202E_202D_206E_206F_200D_202B_202C_202B_202A_206F_202C_200B_200E_206B_206A_206F_202B_206F_200B_202E_202D_202B_202C_200E_202D_206E_202A_202E_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1333678507)); - return; - case 0: - num = 12968842; - break; - case 4: - { - int? indexToRemove = null; - int num7 = 0; - while (num7 < conditions.Count) - { - ImRaii.IdDisposable idDisposable = _200D_200C_202B_200F_206D_206B_202B_200F_200D_200F_206D_206E_200D_202C_200D_206A_206F_200C_206F_206C_200E_202A_206E_200D_202E_206E_202E_202D_202E_200B_202E_202A_206A_206C_200C_206E_206D_202B_206F_202C_202E(num7, true); - try - { - StopCondition condition = conditions[num7]; - DrawConditionRow(condition, num7, ref indexToRemove); - } - finally - { - num = ((idDisposable == null) ? 1927508809 : 1927508810); - while (true) - { - int num8 = num; - num3 = 1927508811; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1927508810; - break; - case 1: - _206E_200E_202B_206B_206F_206F_200F_206D_200E_202E_206F_202C_202C_206A_200E_206F_206A_206F_202D_200F_206B_202B_202C_202A_206E_206F_202D_200D_202C_202B_202B_206D_200E_202D_206C_200D_202E_200B_200F_202C_202E((IDisposable)idDisposable); - num = 1927508809; - break; - case 2: - goto end_IL_0124; - } - continue; - end_IL_0124: - break; - } - } - int num9 = num7; - num3 = 1; - num4 = num9; - int num10 = num4 ^ num3; - int num11 = num4 & num3; - num7 = num10 + (num11 + num11); - } - num = 1035952951; - while (true) - { - int num12 = num; - num3 = 1035952949; - num4 = num12; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = 1035952951; - break; - case 1: - { - int valueOrDefault = indexToRemove.GetValueOrDefault(); - conditions.RemoveAt(valueOrDefault); - Save(); - num = 1035952949; - break; - } - case 0: - return; - case 2: - num = ((!indexToRemove.HasValue) ? 1035952949 : 1035952948); - break; - } - } - } + StopCondition condition = conditions[i]; + DrawConditionRow(condition, i, ref indexToRemove); } } + if (indexToRemove.HasValue) + { + int valueOrDefault = indexToRemove.GetValueOrDefault(); + conditions.RemoveAt(valueOrDefault); + Save(); + } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawConditionRow(StopCondition condition, int index, ref int? indexToRemove) { - _206F_202A_206B_206A_206F_206C_200B_200F_206C_200E_202B_206F_206E_200F_200E_206D_202D_206B_206B_202C_206D_200F_200C_202B_202B_206A_206F_202C_202B_206D_202D_200E_202E_202D_202C_202B_200B_206B_206B_206A_202E(); - QuestCompleteCondition questCompleteCondition = condition as QuestCompleteCondition; - int num = ((questCompleteCondition != null) ? (-2027175199) : (-2027175190)); - GilThresholdCondition gilThresholdCondition = default(GilThresholdCondition); - QuestAcceptCondition questAcceptCondition = default(QuestAcceptCondition); - LevelCondition levelCondition = default(LevelCondition); - GlobalSequenceCondition globalSequenceCondition = default(GlobalSequenceCondition); - int currentItem = default(int); - while (true) + ImGui.AlignTextToFramePadding(); + if (!(condition is QuestCompleteCondition condition2)) { - int num2 = num; - int num3 = -2027175191; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + if (!(condition is QuestAcceptCondition condition3)) { - case 19: - indexToRemove = index; - num = -2027175175; - break; - case 18: - num = ((condition is BeforeDutyCondition) ? (-2027175196) : (-2027175189)); - break; - case 2: - gilThresholdCondition = condition as GilThresholdCondition; - num = ((gilThresholdCondition != null) ? (-2027175200) : (-2027175188)); - break; - case 6: - _200B_206C_202A_200E_202D_202B_200F_206C_202B_200B_202B_206F_202D_200C_206D_200E_202A_202E_206C_202A_206E_206C_206A_200E_206B_206C_206A_202C_206E_200B_200F_200F_202A_202B_206B_200F_202B_202C_206E_202E_202E(); - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Times, _202C_202B_206B_202D_202B_206A_202A_206A_200E_200C_202E_202B_202C_206F_200F_200B_200D_206C_202B_200E_202A_206A_202A_200B_200F_200E_200B_200D_202C_202C_200D_200F_200F_200F_200F_206B_206C_206E_200B_206D_202E())) ? (-2027175175) : (-2027175174)); - break; - case 9: + if (!(condition is LevelCondition condition4)) + { + if (!(condition is GlobalSequenceCondition condition5)) + { + if (!(condition is InventoryFullCondition)) + { + if (!(condition is BeforeDutyCondition)) + { + if (condition is GilThresholdCondition gilThresholdCondition) + { + ImU8String text = new ImU8String(10, 1); + text.AppendLiteral("Gil below "); + text.AppendFormatted(gilThresholdCondition.MinGil, "N0"); + ImGui.Text(text); + } + else + { + ImGui.Text(condition.GetDescription()); + } + } + else + { + ImGui.Text("Before Duty"); + } + } + else + { + ImGui.Text("Inventory Full"); + } + } + else + { + DrawGlobalSequenceRow(condition5); + } + } + else + { + DrawLevelRow(condition4); + } + } + else { - ImU8String imU8String = new ImU8String(10, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(451308865)); - imU8String.AppendFormatted(gilThresholdCondition.MinGil, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1470080372)); - _200F_202A_200C_202E_206D_206E_206B_202D_202A_206E_200D_200D_200D_202D_202D_200E_202C_200B_206E_202A_202E_206E_206C_200D_200F_206C_206D_200F_202E_200E_202A_200C_200C_202D_206D_200E_200D_206B_200F_206B_202E(imU8String); - num = -2027175193; - break; - } - case 16: - return; - case 20: - DrawQuestAcceptRow(questAcceptCondition); - num = -2027175193; - break; - case 12: - num = ((condition is InventoryFullCondition) ? (-2027175187) : (-2027175173)); - break; - case 11: - DrawLevelRow(levelCondition); - num = -2027175193; - break; - case 1: - globalSequenceCondition = condition as GlobalSequenceCondition; - num = ((globalSequenceCondition != null) ? (-2027175194) : (-2027175195)); - break; - case 14: - _200B_206C_202A_200E_202D_202B_200F_206C_202B_200B_202B_206F_202D_200C_206D_200E_202A_202E_206C_202A_206E_206C_206A_200E_206B_206C_206A_202C_206E_200B_200F_200F_202A_202B_206B_200F_202B_202C_206E_202E_202E(); - currentItem = ((condition.Mode != EStopConditionMode.Pause) ? 1 : 0); - _202D_200D_202E_206F_202D_202A_200B_200C_200F_200B_206B_206A_200F_200E_200C_206D_202D_202B_202B_200E_200D_202B_202E_206D_200B_202C_200E_202C_206A_200B_202A_202D_206C_200E_206E_202D_200B_206F_206F_202E(70f); - num = ((!UiThemeUtils.ThemedCombo(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(1973083812), ref currentItem, ConditionModeNames, ConditionModeNames.Length)) ? (-2027175185) : (-2027175186)); - break; - case 8: - DrawQuestCompleteRow(questCompleteCondition); - num = -2027175193; - break; - case 10: - _200F_202A_200C_202E_206D_206E_206B_202D_202A_206E_200D_200D_200D_202D_202D_200E_202C_200B_206E_202A_202E_206E_206C_200D_200F_206C_206D_200F_202E_200E_202A_200C_200C_202D_206D_200E_200D_206B_200F_206B_202E((ImU8String)condition.GetDescription()); - num = -2027175193; - break; - case 17: - levelCondition = condition as LevelCondition; - num = ((levelCondition != null) ? (-2027175198) : (-2027175192)); - break; - case 5: - num = -2027175197; - break; - case 4: - _200F_202A_200C_202E_206D_206E_206B_202D_202A_206E_200D_200D_200D_202D_202D_200E_202C_200B_206E_202A_202E_206E_206C_200D_200F_206C_206D_200F_202E_200E_202A_200C_200C_202D_206D_200E_200D_206B_200F_206B_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2025939443)); - num = -2027175193; - break; - case 15: - DrawGlobalSequenceRow(globalSequenceCondition); - num = -2027175193; - break; - case 13: - _200F_202A_200C_202E_206D_206E_206B_202D_202A_206E_200D_200D_200D_202D_202D_200E_202C_200B_206E_202A_202E_206E_206C_200D_200F_206C_206D_200F_202E_200E_202A_200C_200C_202D_206D_200E_200D_206B_200F_206B_202E((ImU8String)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(1140496665)); - num = -2027175193; - break; - case 7: - condition.Mode = ((currentItem == 0) ? EStopConditionMode.Pause : EStopConditionMode.Stop); - Save(); - num = -2027175185; - break; - case 0: - num = -2027175190; - break; - case 3: - questAcceptCondition = condition as QuestAcceptCondition; - num = ((questAcceptCondition != null) ? (-2027175171) : (-2027175176)); - break; + DrawQuestAcceptRow(condition3); } } + else + { + DrawQuestCompleteRow(condition2); + } + ImGui.SameLine(); + int currentItem = ((condition.Mode != EStopConditionMode.Pause) ? 1 : 0); + ImGui.SetNextItemWidth(70f); + if (UiThemeUtils.ThemedCombo("##Mode", ref currentItem, ConditionModeNames, ConditionModeNames.Length)) + { + condition.Mode = ((currentItem == 0) ? EStopConditionMode.Pause : EStopConditionMode.Stop); + Save(); + } + ImGui.SameLine(); + if (UiThemeUtils.IconButton(FontAwesomeIcon.Times, ImGui.GetFrameHeight())) + { + indexToRemove = index; + } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawQuestCompleteRow(QuestCompleteCondition condition) { string text = ResolveQuestName(condition.QuestId); (Vector4, FontAwesomeIcon, string) questStyle = _uiUtils.GetQuestStyle(condition.QuestId); - IDisposable disposable = _200C_206B_206C_200F_200D_202E_202C_206B_200F_202E_206D_206F_202E_200C_200E_200F_200F_202D_200D_200C_206E_206F_206B_200C_200D_206F_202A_200C_206C_202E_206D_200E_200B_206F_202C_206C_200B_200E_206E_200C_202E(_202B_200F_206A_200E_200C_200B_202A_200B_206C_200D_206D_200C_206E_200B_202D_200B_206B_206F_206A_200F_206D_202C_206E_206B_202A_200C_206E_200D_206A_206C_200D_206D_206F_200C_202B_206E_202A_206E_206D_206F_202E(_206A_202D_206F_206A_206D_202D_206B_206B_200B_202B_200F_202C_202C_200E_202C_202B_200B_206B_202C_200B_202C_200D_202D_200F_200D_206C_200E_200C_202B_206E_202B_200E_200F_206C_202C_200D_200E_206E_200C_200C_202E(_pluginInterface))); - int num; - try + using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push()) { - _206B_206B_200E_200F_200F_202D_200B_200B_202B_206C_200F_200E_200B_206C_202C_206C_206C_200D_206E_200F_202A_202A_206A_202D_206F_200F_206C_206D_206D_200C_206C_200D_202A_206D_202E_202C_200F_200B_200C_206C_202E(ref questStyle.Item1, (ImU8String)_206D_206D_202A_202C_206A_200D_202D_206A_202A_200E_202B_202D_200C_202A_202C_206B_206F_206A_206C_206B_202E_200F_202A_200B_206B_202C_206A_202D_206C_206D_200B_200F_202A_200F_202B_200D_200B_206D_206A_206B_202E(questStyle.Item2)); + ImGui.TextColored(in questStyle.Item1, questStyle.Item2.ToIconString()); } - finally - { - num = ((disposable == null) ? 149607400 : 149607403); - while (true) - { - int num2 = num; - int num3 = 149607402; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 149607403; - break; - case 2: - goto end_IL_0076; - case 1: - _206E_200E_202B_206B_206F_206F_200F_206D_200E_202E_206F_202C_202C_206A_200E_206F_206A_206F_202D_200F_206B_202B_202C_202A_206E_206F_202D_200D_202C_202B_202B_206D_200E_202D_206C_200D_202E_200B_200F_202C_202E(disposable); - num = 149607400; - break; - } - continue; - end_IL_0076: - break; - } - } - _200B_206C_202A_200E_202D_202B_200F_206C_202B_200B_202B_206F_202D_200C_206D_200E_202A_202E_206C_202A_206E_206C_206A_200E_206B_206C_206A_202C_206E_200B_200F_200F_202A_202B_206B_200F_202B_202C_206E_202E_202E(); - float x = _206A_200D_202C_206D_200C_202E_206C_202D_200D_202E_206B_202D_202E_200B_206D_202D_202D_200F_200E_202A_206F_206B_200C_206F_206D_200D_202D_206A_200D_206C_200E_200E_206B_202C_206A_202B_202A_206E_202E_200F_202E().ItemSpacing.X; - float num7 = _202C_202B_206B_202D_202B_206A_202A_206A_200E_200C_202E_202B_202C_206F_200F_200B_200D_206C_202B_200E_202A_206A_202A_200B_200F_200E_200B_200D_202C_202C_200D_200F_200F_200F_200F_206B_206C_206E_200B_206D_202E(); - ImRaii.FontDisposable fontDisposable = _200B_200E_202D_200B_206F_202A_202E_200E_202C_200E_206A_206C_206E_200D_202A_200E_200E_206A_200F_206B_202D_206A_202C_206E_206F_200D_206E_206D_206B_206D_206B_206E_206D_202D_206C_206C_202A_206C_200E_200C_202E(_202C_206C_200D_206A_200D_200C_202D_206B_206B_202B_200F_206C_206E_206C_202D_200B_200F_206B_202D_206F_200F_206F_202C_206E_200D_206D_200B_206B_206D_206D_202E_200D_200F_206C_202B_202B_202E_202E_206F_202E_202E(), true); + ImGui.SameLine(); + float x = ImGui.GetStyle().ItemSpacing.X; + float frameHeight = ImGui.GetFrameHeight(); float x2; - try + using (ImRaii.PushFont(UiBuilder.IconFont)) { - x2 = _206D_200D_202B_202D_202D_206D_206D_206E_200C_200B_202E_202B_202D_202C_206C_206E_202C_200B_200C_202A_206F_200C_202E_202C_200D_200D_202A_200D_206F_206B_202C_206B_206C_206E_206D_202C_202C_206B_202D_206F_202E((ImU8String)_206D_206D_202A_202C_206A_200D_202D_206A_202A_200E_202B_202D_200C_202A_202C_206B_206F_206A_206C_206B_202E_200F_202A_200B_206B_202C_206A_202D_206C_206D_200B_200F_202A_200F_202B_200D_200B_206D_206A_206B_202E(FontAwesomeIcon.InfoCircle), false, -1f).X; + x2 = ImGui.CalcTextSize(FontAwesomeIcon.InfoCircle.ToIconString()).X; } - finally - { - num = ((fontDisposable == null) ? (-1470124797) : (-1470124798)); - while (true) - { - int num8 = num; - int num3 = -1470124797; - int num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1470124798; - break; - case 0: - goto end_IL_0135; - case 1: - _206E_200E_202B_206B_206F_206F_200F_206D_200E_202E_206F_202C_202C_206A_200E_206F_206A_206F_202D_200F_206B_202B_202C_202A_206E_206F_202D_200D_202C_202B_202B_206D_200E_202D_206C_200D_202E_200B_200F_202C_202E((IDisposable)fontDisposable); - num = -1470124797; - break; - } - continue; - end_IL_0135: - break; - } - } - float reservedRightWidth = x * 6f + num7 * 2f + _206D_200D_202B_202D_202D_206D_206D_206E_200C_200B_202E_202B_202D_202C_206C_206E_202C_200B_200C_202A_206F_200C_202E_202C_200D_200D_202A_200D_206F_206B_202C_206B_206C_206E_206D_202C_202C_206B_202D_206F_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(601017091), false, -1f).X + x2 + 85f + 70f; + float reservedRightWidth = x * 6f + frameHeight * 2f + ImGui.CalcTextSize("Seq:").X + x2 + 85f + 70f; UiThemeUtils.RowLabel(text, reservedRightWidth); - num = ((!_202D_206C_206C_206B_202E_206C_202B_206C_202B_206C_202B_200C_200C_206A_200B_206C_200B_206E_200D_206D_202B_206C_206D_202B_206D_200C_206A_206C_202A_202A_206F_202E_200D_206B_206C_206B_200D_206D_200D_200E_202E()) ? 1085741449 : 1085741452); - bool value = default(bool); - Quest quest = default(Quest); - while (true) + if (ImGui.IsItemHovered() && _questRegistry.TryGetQuest(condition.QuestId, out Quest quest)) { - int num9 = num; - int num3 = 1085741453; - int num4 = num9; - switch ((num4 | num3) - (num4 & num3)) + _questTooltipComponent.Draw(quest.Info); + } + ImGui.SameLine(); + bool value = condition.Sequence.HasValue; + if (UiThemeUtils.WrappedCheckbox("Seq:", ref value, "Stop at specific sequence (unchecked = stop on completion)")) + { + condition.Sequence = (value ? new int?(1) : ((int?)null)); + Save(); + } + using (ImRaii.Disabled(!value)) + { + ImGui.SameLine(); + ImGui.SetNextItemWidth(85f); + int data = condition.Sequence ?? 1; + if (ImGui.InputInt("##Seq", ref data, 1, 1) && value) { - case 5: - condition.Sequence = (value ? new int?(1) : ((int?)null)); + condition.Sequence = Math.Max(0, Math.Min(255, data)); Save(); - num = 1085741454; - break; - case 1: - num = ((!_questRegistry.TryGetQuest(condition.QuestId, out quest)) ? 1085741449 : 1085741455); - break; - case 4: - _200B_206C_202A_200E_202D_202B_200F_206C_202B_200B_202B_206F_202D_200C_206D_200E_202A_202E_206C_202A_206E_206C_206A_200E_206B_206C_206A_202C_206E_200B_200F_200F_202A_202B_206B_200F_202B_202C_206E_202E_202E(); - value = condition.Sequence.HasValue; - num = ((!UiThemeUtils.WrappedCheckbox(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(-26866547), ref value, 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(-715355229))) ? 1085741454 : 1085741448); - break; - case 0: - num = 1085741452; - break; - case 2: - _questTooltipComponent.Draw(quest.Info); - num = 1085741449; - break; - case 3: - { - ImRaii.DisabledDisposable disabledDisposable = _202D_202C_206B_202A_200E_200C_202A_202D_206E_206F_206D_206E_202C_200F_200F_206C_202D_202A_202D_202D_200F_202E_202B_206A_200C_206B_206A_206E_202B_206C_206E_206A_202B_200F_202D_202E_206F_200D_206D_206C_202E(!value); - try - { - _200B_206C_202A_200E_202D_202B_200F_206C_202B_200B_202B_206F_202D_200C_206D_200E_202A_202E_206C_202A_206E_206C_206A_200E_206B_206C_206A_202C_206E_200B_200F_200F_202A_202B_206B_200F_202B_202C_206E_202E_202E(); - _202D_200D_202E_206F_202D_202A_200B_200C_200F_200B_206B_206A_200F_200E_200C_206D_202D_202B_202B_200E_200D_202B_202E_206D_200B_202C_200E_202C_206A_200B_202A_202D_206C_200E_206E_202D_200B_206F_206F_202E(85f); - int num10 = condition.Sequence ?? 1; - num = ((!_206A_206C_206B_206B_206F_200F_206C_206E_200F_200D_200B_206F_200B_206B_200B_200B_202B_200C_206C_200B_202B_206A_206E_200B_206D_206E_202A_200F_202C_200C_200E_202E_200E_202E_206D_200B_202A_206B_202A_200D_202E((ImU8String)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(2048602950), ref num10, 1, 1, default(ImU8String), ImGuiInputTextFlags.None)) ? 1567100735 : 1567100733); - while (true) - { - int num11 = num; - num3 = 1567100735; - num4 = num11; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - condition.Sequence = _202A_202C_206A_206F_202E_200F_206E_202A_202E_202E_206B_200E_200E_200F_206D_206B_202B_202B_202A_206F_206B_202B_206F_206D_202B_202A_200F_200B_206E_206E_206A_200D_200E_200E_202A_200F_206F_206F_206A_200E_202E(0, _200B_200D_206B_202A_202A_200D_206B_200E_200B_206D_206B_206E_200E_206C_200B_206D_206A_200F_202E_206C_202A_200F_202E_200B_200E_202E_200B_200B_200B_206E_206D_200F_200F_202E_200D_200F_206E_206D_200F_202B_202E(255, num10)); - Save(); - num = 1567100735; - break; - case 2: - num = ((!value) ? 1567100735 : 1567100734); - break; - case 3: - num = 1567100733; - break; - case 0: - return; - } - } - } - finally - { - num = ((disabledDisposable == null) ? 83270173 : 83270174); - while (true) - { - int num12 = num; - num3 = 83270175; - num4 = num12; - int num13 = num4 + num3; - int num14 = num4 & num3; - switch (num13 - (num14 + num14)) - { - case 0: - num = 83270174; - break; - case 2: - goto end_IL_041a; - case 1: - _206E_200E_202B_206B_206F_206F_200F_206D_200E_202E_206F_202C_202C_206A_200E_206F_206A_206F_202D_200F_206B_202B_202C_202A_206E_206F_202D_200D_202C_202B_202B_206D_200E_202D_206C_200D_202E_200B_200F_202C_202E((IDisposable)disabledDisposable); - num = 83270173; - break; - } - continue; - end_IL_041a: - break; - } - } - } } } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawQuestAcceptRow(QuestAcceptCondition condition) { string text = ResolveQuestName(condition.QuestId); (Vector4, FontAwesomeIcon, string) questStyle = _uiUtils.GetQuestStyle(condition.QuestId); - IDisposable disposable = _200C_206B_206C_200F_200D_202E_202C_206B_200F_202E_206D_206F_202E_200C_200E_200F_200F_202D_200D_200C_206E_206F_206B_200C_200D_206F_202A_200C_206C_202E_206D_200E_200B_206F_202C_206C_200B_200E_206E_200C_202E(_202B_200F_206A_200E_200C_200B_202A_200B_206C_200D_206D_200C_206E_200B_202D_200B_206B_206F_206A_200F_206D_202C_206E_206B_202A_200C_206E_200D_206A_206C_200D_206D_206F_200C_202B_206E_202A_206E_206D_206F_202E(_206A_202D_206F_206A_206D_202D_206B_206B_200B_202B_200F_202C_202C_200E_202C_202B_200B_206B_202C_200B_202C_200D_202D_200F_200D_206C_200E_200C_202B_206E_202B_200E_200F_206C_202C_200D_200E_206E_200C_200C_202E(_pluginInterface))); - int num; - try + using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push()) { - _206B_206B_200E_200F_200F_202D_200B_200B_202B_206C_200F_200E_200B_206C_202C_206C_206C_200D_206E_200F_202A_202A_206A_202D_206F_200F_206C_206D_206D_200C_206C_200D_202A_206D_202E_202C_200F_200B_200C_206C_202E(ref questStyle.Item1, (ImU8String)_206D_206D_202A_202C_206A_200D_202D_206A_202A_200E_202B_202D_200C_202A_202C_206B_206F_206A_206C_206B_202E_200F_202A_200B_206B_202C_206A_202D_206C_206D_200B_200F_202A_200F_202B_200D_200B_206D_206A_206B_202E(questStyle.Item2)); + ImGui.TextColored(in questStyle.Item1, questStyle.Item2.ToIconString()); } - finally + ImGui.SameLine(); + float num = ImGui.GetStyle().ItemSpacing.X * 2f + 70f + ImGui.GetFrameHeight() + ImGui.CalcTextSize(" (on accept)").X; + float maxWidth = ImGui.GetContentRegionAvail().X - num; + ImGui.TextUnformatted(UiThemeUtils.TruncateToWidth(text, maxWidth) + " (on accept)"); + if (ImGui.IsItemHovered() && _questRegistry.TryGetQuest(condition.QuestId, out Quest quest)) { - num = ((disposable == null) ? 1459802869 : 1459802868); - while (true) - { - int num2 = num; - int num3 = 1459802869; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto end_IL_0076; - case 1: - _206E_200E_202B_206B_206F_206F_200F_206D_200E_202E_206F_202C_202C_206A_200E_206F_206A_206F_202D_200F_206B_202B_202C_202A_206E_206F_202D_200D_202C_202B_202B_206D_200E_202D_206C_200D_202E_200B_200F_202C_202E(disposable); - num = 1459802869; - break; - case 2: - num = 1459802868; - break; - } - continue; - end_IL_0076: - break; - } - } - _200B_206C_202A_200E_202D_202B_200F_206C_202B_200B_202B_206F_202D_200C_206D_200E_202A_202E_206C_202A_206E_206C_206A_200E_206B_206C_206A_202C_206E_200B_200F_200F_202A_202B_206B_200F_202B_202C_206E_202E_202E(); - float num7 = _206A_200D_202C_206D_200C_202E_206C_202D_200D_202E_206B_202D_202E_200B_206D_202D_202D_200F_200E_202A_206F_206B_200C_206F_206D_200D_202D_206A_200D_206C_200E_200E_206B_202C_206A_202B_202A_206E_202E_200F_202E().ItemSpacing.X * 2f + 70f + _202C_202B_206B_202D_202B_206A_202A_206A_200E_200C_202E_202B_202C_206F_200F_200B_200D_206C_202B_200E_202A_206A_202A_200B_200F_200E_200B_200D_202C_202C_200D_200F_200F_200F_200F_206B_206C_206E_200B_206D_202E() + _206D_200D_202B_202D_202D_206D_206D_206E_200C_200B_202E_202B_202D_202C_206C_206E_202C_200B_200C_202A_206F_200C_202E_202C_200D_200D_202A_200D_206F_206B_202C_206B_206C_206E_206D_202C_202C_206B_202D_206F_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1280436704), false, -1f).X; - float maxWidth = _200F_206E_200F_200E_202C_200C_206E_202B_200F_206D_202B_200C_206D_200C_200B_202D_206A_202E_202C_206E_206C_202A_202E_206B_206B_202B_202E_202B_206D_200D_202D_206D_206F_202E_202A_200C_206E_200D_206F_206C_202E().X - num7; - _202A_202B_200D_200F_200F_200D_200C_206E_206A_200D_206A_200B_206A_200D_206F_200B_202B_206C_200F_206B_206D_202A_200B_206C_200B_202C_202A_200E_206A_200D_200E_202E_200D_202C_200E_206C_202B_202B_200E_206A_202E((ImU8String)_206B_202B_206B_202C_200F_202C_200F_206F_200C_206E_206C_200F_202B_206C_202E_206F_202E_206B_206F_200E_202C_202D_206D_202C_200C_202B_200E_200F_200F_200D_206E_200B_200F_200D_206B_202E_200D_200C_200D_202E_202E(UiThemeUtils.TruncateToWidth(text, maxWidth), 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(-1797593997))); - num = ((!_202D_206C_206C_206B_202E_206C_202B_206C_202B_206C_202B_200C_200C_206A_200B_206C_200B_206E_200D_206D_202B_206C_206D_202B_206D_200C_206A_206C_202A_202A_206F_202E_200D_206B_206C_206B_200D_206D_200D_200E_202E()) ? 1390568266 : 1390568264); - Quest quest = default(Quest); - while (true) - { - int num8 = num; - int num3 = 1390568267; - int num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 0: - _questTooltipComponent.Draw(quest.Info); - num = 1390568266; - break; - case 1: - return; - case 2: - num = 1390568264; - break; - case 3: - num = ((!_questRegistry.TryGetQuest(condition.QuestId, out quest)) ? 1390568266 : 1390568267); - break; - } + _questTooltipComponent.Draw(quest.Info); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawLevelRow(LevelCondition condition) { - _200F_202A_200C_202E_206D_206E_206B_202D_202A_206E_200D_200D_200D_202D_202D_200E_202C_200B_206E_202A_202E_206E_206C_200D_200F_206C_206D_200F_202E_200E_202A_200C_200C_202D_206D_200E_200D_206B_200F_206B_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-219663971)); - _200B_206C_202A_200E_202D_202B_200F_206C_202B_200B_202B_206F_202D_200C_206D_200E_202A_202E_206C_202A_206E_206C_206A_200E_206B_206C_206A_202C_206E_200B_200F_200F_202A_202B_206B_200F_202B_202C_206E_202E_202E(); - _202D_200D_202E_206F_202D_202A_200B_200C_200F_200B_206B_206A_200F_200E_200C_206D_202D_202B_202B_200E_200D_202B_202E_206D_200B_202C_200E_202C_206A_200B_202A_202D_206C_200E_206E_202D_200B_206F_206F_202E(100f); - int targetLevel = condition.TargetLevel; - int num = ((!_206A_206C_206B_206B_206F_200F_206C_206E_200F_200D_200B_206F_200B_206B_200B_200B_202B_200C_206C_200B_202B_206A_206E_200B_206D_206E_202A_200F_202C_200C_200E_202E_200E_202E_206D_200B_202A_206B_202A_200D_202E((ImU8String)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(-1600882945), ref targetLevel, 1, 5, default(ImU8String), ImGuiInputTextFlags.None)) ? 1089741510 : 1089741506); - int num7 = default(int); - while (true) + ImGui.Text("Level"); + ImGui.SameLine(); + ImGui.SetNextItemWidth(100f); + int data = condition.TargetLevel; + if (ImGui.InputInt("##Level", ref data, 1, 5)) { - int num2 = num; - int num3 = 1089741510; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 1089741506; - break; - case 1: - return; - case 3: - { - _200B_206C_202A_200E_202D_202B_200F_206C_202B_200B_202B_206F_202D_200C_206D_200E_202A_202E_206C_202A_206E_206C_206A_200E_206B_206C_206A_202C_206E_200B_200F_200F_202A_202B_206B_200F_202B_202C_206E_202E_202E(); - ImU8String imU8String = new ImU8String(11, 1); - imU8String.AppendLiteral(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(-92710216)); - imU8String.AppendFormatted(num7); - imU8String.AppendLiteral(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(424561659)); - _202A_206F_206F_202C_206B_200C_200C_206A_206B_200F_206D_206F_202E_202D_206E_206F_200D_202B_202C_202B_202A_206F_202C_200B_200E_206B_206A_206F_202B_206F_200B_202E_202D_202B_202C_200E_202D_206E_202A_202E_202E(imU8String); - num = 1089741511; - break; - } - case 4: - condition.TargetLevel = _202A_202C_206A_206F_202E_200F_206E_202A_202E_202E_206B_200E_200E_200F_206D_206B_202B_202B_202A_206F_206B_202B_206F_206D_202B_202A_200F_200B_206E_206E_206A_200D_200E_200E_202A_200F_206F_206F_206A_200E_202E(1, _200B_200D_206B_202A_202A_200D_206B_200E_200B_206D_206B_206E_200E_206C_200B_206D_206A_200F_202E_206C_202A_200F_202E_200B_200E_202E_200B_200B_200B_206E_206D_200F_200F_202E_200D_200F_206E_206D_200F_202B_202E(100, targetLevel)); - Save(); - num = 1089741510; - break; - case 0: - { - IPlayerCharacter playerCharacter = _206C_202D_202B_200E_200E_202A_206E_206C_202C_202A_200F_200B_206E_206C_200F_202D_200F_206F_206E_206E_200C_206D_202C_206A_202A_206F_206E_200D_200F_206E_206F_206A_202D_206D_206F_202D_200D_202A_202D_206F_202E(_objectTable); - num7 = ((playerCharacter != null) ? _206A_206F_206F_206F_202B_200D_202D_206E_200E_200C_206B_202D_202D_202A_206A_200D_202C_202C_202C_202E_200D_200B_202B_206D_200D_206A_206F_202D_206E_206D_200C_202A_200F_206F_200F_206C_200D_202D_202D_200C_202E((ICharacter)playerCharacter) : 0); - num = ((num7 <= 0) ? 1089741511 : 1089741509); - break; - } - } + condition.TargetLevel = Math.Max(1, Math.Min(100, data)); + Save(); + } + int num = _objectTable.LocalPlayer?.Level ?? 0; + if (num > 0) + { + ImGui.SameLine(); + ImU8String text = new ImU8String(11, 1); + text.AppendLiteral("(Current: "); + text.AppendFormatted(num); + text.AppendLiteral(")"); + ImGui.TextDisabled(text); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawGlobalSequenceRow(GlobalSequenceCondition condition) { - _200F_202A_200C_202E_206D_206E_206B_202D_202A_206E_200D_200D_200D_202D_202D_200E_202C_200B_206E_202A_202E_206E_206C_200D_200F_206C_206D_200F_202E_200E_202A_200C_200C_202D_206D_200E_200D_206B_200F_206B_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1238893136)); - _200B_206C_202A_200E_202D_202B_200F_206C_202B_200B_202B_206F_202D_200C_206D_200E_202A_202E_206C_202A_206E_206C_206A_200E_206B_206C_206A_202C_206E_200B_200F_200F_202A_202B_206B_200F_202B_202C_206E_202E_202E(); - _202D_200D_202E_206F_202D_202A_200B_200C_200F_200B_206B_206A_200F_200E_200C_206D_202D_202B_202B_200E_200D_202B_202E_206D_200B_202C_200E_202C_206A_200B_202A_202D_206C_200E_206E_202D_200B_206F_206F_202E(100f); - int targetSequence = condition.TargetSequence; - int num = ((!_206A_206C_206B_206B_206F_200F_206C_206E_200F_200D_200B_206F_200B_206B_200B_200B_202B_200C_206C_200B_202B_206A_206E_200B_206D_206E_202A_200F_202C_200C_200E_202E_200E_202E_206D_200B_202A_206B_202A_200D_202E((ImU8String)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(2048602950), ref targetSequence, 1, 1, default(ImU8String), ImGuiInputTextFlags.None)) ? (-1103679332) : (-1103679331)); - QuestController.QuestProgress currentQuest = default(QuestController.QuestProgress); - while (true) + ImGui.Text("Global Sequence"); + ImGui.SameLine(); + ImGui.SetNextItemWidth(100f); + int data = condition.TargetSequence; + if (ImGui.InputInt("##Seq", ref data, 1, 1)) { - int num2 = num; - int num3 = -1103679329; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1103679331; - break; - case 2: - condition.TargetSequence = _202A_202C_206A_206F_202E_200F_206E_202A_202E_202E_206B_200E_200E_200F_206D_206B_202B_202B_202A_206F_206B_202B_206F_206D_202B_202A_200F_200B_206E_206E_206A_200D_200E_200E_202A_200F_206F_206F_206A_200E_202E(0, _200B_200D_206B_202A_202A_200D_206B_200E_200B_206D_206B_206E_200E_206C_200B_206D_206A_200F_202E_206C_202A_200F_202E_200B_200E_202E_200B_200B_200B_206E_206D_200F_200F_202E_200D_200F_206E_206D_200F_202B_202E(255, targetSequence)); - Save(); - num = -1103679332; - break; - case 1: - return; - case 4: - { - _200B_206C_202A_200E_202D_202B_200F_206C_202B_200B_202B_206F_202D_200C_206D_200E_202A_202E_206C_202A_206E_206C_206A_200E_206B_206C_206A_202C_206E_200B_200F_200F_202A_202B_206B_200F_202B_202C_206E_202E_202E(); - ImU8String imU8String = new ImU8String(11, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2118032553)); - imU8String.AppendFormatted(currentQuest.Sequence); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - _202A_206F_206F_202C_206B_200C_200C_206A_206B_200F_206D_206F_202E_202D_206E_206F_200D_202B_202C_202B_202A_206F_202C_200B_200E_206B_206A_206F_202B_206F_200B_202E_202D_202B_202C_200E_202D_206E_202A_202E_202E(imU8String); - num = -1103679330; - break; - } - case 3: - currentQuest = _questController.CurrentQuest; - num = ((currentQuest == null) ? (-1103679330) : (-1103679333)); - break; - } + condition.TargetSequence = Math.Max(0, Math.Min(255, data)); + Save(); + } + QuestController.QuestProgress currentQuest = _questController.CurrentQuest; + if (currentQuest != null) + { + ImGui.SameLine(); + ImU8String text = new ImU8String(11, 1); + text.AppendLiteral("(Current: "); + text.AppendFormatted(currentQuest.Sequence); + text.AppendLiteral(")"); + ImGui.TextDisabled(text); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawAddCondition() { - _202D_200D_202E_206F_202D_202A_200B_200C_200F_200B_206B_206A_200F_200E_200C_206D_202D_202B_202B_200E_200D_202B_202E_206D_200B_202C_200E_202C_206A_200B_202A_202D_206C_200E_206E_202D_200B_206F_206F_202E(_206F_202A_200E_206C_202D_200F_200C_206B_202C_206E_206C_200C_202D_206D_202E_206B_206C_202B_202A_202D_202C_200C_202C_206D_206E_206A_202E_206F_200C_206E_200E_206D_202C_200F_206B_200E_206C_206C_200E_206C_202E(260f, _200F_206E_200F_200E_202C_200C_206E_202B_200F_206D_202B_200C_206D_200C_200B_202D_206A_202E_202C_206E_206C_202A_202E_206B_206B_202B_202E_202B_206D_200D_202D_206D_206F_202E_202A_200C_206E_200D_206F_206C_202E().X)); - UiThemeUtils.ThemedCombo(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(391148722), ref _addConditionType, ConditionTypeNames, ConditionTypeNames.Length); - _200B_206C_202A_200E_202D_202B_200F_206C_202B_200B_202B_206F_202D_200C_206D_200E_202A_202E_206C_202A_206E_206C_206A_200E_206B_206C_206A_202C_206E_200B_200F_200F_202A_202B_206B_200F_202B_202C_206E_202E_202E(); + ImGui.SetNextItemWidth(MathF.Min(260f, ImGui.GetContentRegionAvail().X)); + UiThemeUtils.ThemedCombo("##AddType", ref _addConditionType, ConditionTypeNames, ConditionTypeNames.Length); + ImGui.SameLine(); switch (_addConditionType) { - default: - { - int num = -16462781; - while (true) - { - int num2 = num; - int num3 = -16462777; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - goto end_IL_0074; - case 7: - goto IL_00ba; - case 8: - goto IL_00c1; - case 6: - goto IL_00c8; - case 3: - goto IL_00cf; - case 1: - goto IL_00d6; - case 2: - goto end_IL_0048; - case 4: - return; - case 0: - num = -16462781; - break; - } - continue; - end_IL_0074: - break; - } - goto case 4; - } + case 0: + DrawAddQuestComplete(); + break; + case 1: + DrawAddQuestAccept(); + break; + case 2: + DrawAddLevel(); + break; + case 3: + DrawAddGlobalSequence(); + break; case 4: DrawAddSimpleCondition(); - return; - case 1: - goto IL_00ba; - case 3: - goto IL_00c1; - case 0: - goto IL_00c8; - case 2: - goto IL_00cf; - case 5: - goto IL_00d6; - case 6: break; - IL_00d6: + case 5: DrawAddSimpleCondition(); - return; - IL_00cf: - DrawAddLevel(); - return; - IL_00c8: - DrawAddQuestComplete(); - return; - IL_00c1: - DrawAddGlobalSequence(); - return; - IL_00ba: - DrawAddQuestAccept(); - return; - end_IL_0048: + break; + case 6: + DrawAddGilThreshold(); break; } - DrawAddGilThreshold(); } private void DrawAddQuestComplete() { - _200F_202C_202E_206F_206C_206A_206C_200C_206A_200B_202E_206E_200C_206C_202C_200B_206C_202A_200C_200F_200D_206A_206D_206D_206B_202B_200C_202D_202D_206D_206D_202D_206B_202C_206D_200E_206A_200F_206B_206F_202E(); - _questSelector.DrawSelection(_206F_202A_200E_206C_202D_200F_200C_206B_202C_206E_206C_200C_202D_206D_202E_206B_206C_202B_202A_202D_202C_200C_202C_206D_206E_206A_202E_206F_200C_206E_200E_206D_202C_200F_206B_200E_206C_206C_200E_206C_202E(260f, _200F_206E_200F_200E_202C_200C_206E_202B_200F_206D_202B_200C_206D_200C_200B_202D_206A_202E_202C_206E_206C_202A_202E_206B_206B_202B_202E_202B_206D_200D_202D_206D_206F_202E_202A_200C_206E_200D_206F_206C_202E().X)); + ImGui.NewLine(); + _questSelector.DrawSelection(MathF.Min(260f, ImGui.GetContentRegionAvail().X)); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawAddQuestAccept() { - _200F_202C_202E_206F_206C_206A_206C_200C_206A_200B_202E_206E_200C_206C_202C_200B_206C_202A_200C_200F_200D_206A_206D_206D_206B_202B_200C_202D_202D_206D_206D_202D_206B_202C_206D_200E_206A_200F_206B_206F_202E(); - long num = _200C_202B_202D_202C_202C_206E_206E_206A_206B_202A_200C_200B_202A_202B_200B_200E_200D_206D_200E_202D_202E_206F_202D_200C_202A_202A_206F_206F_206C_206A_206B_202D_200B_202B_206A_206E_202E_206F_206D_202E(); - int num2 = ((num < _acceptedQuestsRefreshAtMs) ? 187960232 : 187960237); - List list = default(List); - int currentItem = default(int); - string text; - while (true) + ImGui.NewLine(); + long tickCount = Environment.TickCount64; + if (tickCount >= _acceptedQuestsRefreshAtMs) { - int num3 = num2; - int num4 = 187960236; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - default: - continue; - case 2: - num2 = 187960237; - continue; - case 6: - { - string[] items = list.Select((Quest x) => x.Info.Name).ToArray(); - currentItem = -1; - num2 = ((!UiThemeUtils.SearchableCombo(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1600317314), ref currentItem, items, ref _questAcceptSearchText, _206F_202A_200E_206C_202D_200F_200C_206B_202C_206E_206C_200C_202D_206D_202E_206B_206C_202B_202A_202D_202C_200C_202C_206D_206E_206A_202E_206F_200C_206E_200E_206D_202C_200F_206B_200E_206C_206C_200E_206C_202E(260f, _200F_206E_200F_200E_202C_200C_206E_202B_200F_206D_202B_200C_206D_200C_200B_202D_206A_202E_202C_206E_206C_202A_202E_206B_206B_202B_202E_202B_206D_200D_202D_206D_206F_202E_202A_200C_206E_200D_206F_206C_202E().X), 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(-977909950))) ? 187960236 : 187960228); - continue; - } - case 7: - base.Configuration.Stop.Conditions.Add(new QuestAcceptCondition - { - QuestId = list[currentItem].Id, - Mode = EStopConditionMode.Stop - }); - Save(); - num2 = 187960236; - continue; - case 4: - list = _acceptedQuests.Where((Quest x) => !HasQuestCondition(x.Id, EStopConditionType.QuestAccept)).ToList(); - num2 = ((list.Count != 0) ? 187960234 : 187960229); - continue; - case 9: - num2 = ((_acceptedQuests.Count == 0) ? 187960239 : 187960233); - continue; - case 8: - num2 = ((currentItem < 0) ? 187960236 : 187960235); - continue; - case 5: - text = 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(1123334752); - break; - case 1: - { - _acceptedQuests = GetCurrentlyAcceptedQuests(); - long num8 = 1000L; - long num9 = num; - long num10 = num9 ^ num8; - long num11 = num9 & num8; - _acceptedQuestsRefreshAtMs = num10 + (num11 + num11); - num2 = 187960232; - continue; - } - case 3: - text = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-571216407); - break; - case 0: - return; - } - break; + _acceptedQuests = GetCurrentlyAcceptedQuests(); + _acceptedQuestsRefreshAtMs = tickCount + 1000; + } + List list = _acceptedQuests.Where((Quest x) => !HasQuestCondition(x.Id, EStopConditionType.QuestAccept)).ToList(); + if (list.Count == 0) + { + ImGui.TextDisabled((_acceptedQuests.Count == 0) ? "No quests currently accepted" : "All accepted quests already added"); + return; + } + string[] items = list.Select((Quest x) => x.Info.Name).ToArray(); + int currentItem = -1; + if (UiThemeUtils.SearchableCombo("##QuestAcceptSelection", ref currentItem, items, ref _questAcceptSearchText, MathF.Min(260f, ImGui.GetContentRegionAvail().X), "Select quest to add...") && currentItem >= 0) + { + base.Configuration.Stop.Conditions.Add(new QuestAcceptCondition + { + QuestId = list[currentItem].Id, + Mode = EStopConditionMode.Stop + }); + Save(); } - _202A_206F_206F_202C_206B_200C_200C_206A_206B_200F_206D_206F_202E_202D_206E_206F_200D_202B_202C_202B_202A_206F_202C_200B_200E_206B_206A_206F_202B_206F_200B_202E_202D_202B_202C_200E_202D_206E_202A_202E_202E((ImU8String)text); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawAddLevel() { - int num = ((!base.Configuration.Stop.Conditions.OfType().Any()) ? (-1746384537) : (-1746384543)); - while (true) + if (base.Configuration.Stop.Conditions.OfType().Any()) { - int num2 = num; - int num3 = -1746384539; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + ImGui.TextDisabled("Already configured"); + return; + } + ImGui.SetNextItemWidth(100f); + ImGui.InputInt("##AddLevel", ref _addLevel, 1, 5); + _addLevel = Math.Max(1, Math.Min(100, _addLevel)); + ImGui.SameLine(); + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Plus, "Add")) + { + base.Configuration.Stop.Conditions.Add(new LevelCondition { - case 0: - base.Configuration.Stop.Conditions.Add(new LevelCondition - { - TargetLevel = _addLevel, - Mode = EStopConditionMode.Stop - }); - Save(); - num = -1746384540; - break; - case 4: - _202A_206F_206F_202C_206B_200C_200C_206A_206B_200F_206D_206F_202E_202D_206E_206F_200D_202B_202C_202B_202A_206F_202C_200B_200E_206B_206A_206F_202B_206F_200B_202E_202D_202B_202C_200E_202D_206E_202A_202E_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-855443746)); - return; - case 2: - _202D_200D_202E_206F_202D_202A_200B_200C_200F_200B_206B_206A_200F_200E_200C_206D_202D_202B_202B_200E_200D_202B_202E_206D_200B_202C_200E_202C_206A_200B_202A_202D_206C_200E_206E_202D_200B_206F_206F_202E(100f); - _206A_206C_206B_206B_206F_200F_206C_206E_200F_200D_200B_206F_200B_206B_200B_200B_202B_200C_206C_200B_202B_206A_206E_200B_206D_206E_202A_200F_202C_200C_200E_202E_200E_202E_206D_200B_202A_206B_202A_200D_202E((ImU8String)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(235196201), ref _addLevel, 1, 5, default(ImU8String), ImGuiInputTextFlags.None); - _addLevel = _202A_202C_206A_206F_202E_200F_206E_202A_202E_202E_206B_200E_200E_200F_206D_206B_202B_202B_202A_206F_206B_202B_206F_206D_202B_202A_200F_200B_206E_206E_206A_200D_200E_200E_202A_200F_206F_206F_206A_200E_202E(1, _200B_200D_206B_202A_202A_200D_206B_200E_200B_206D_206B_206E_200E_206C_200B_206D_206A_200F_202E_206C_202A_200F_202E_200B_200E_202E_200B_200B_200B_206E_206D_200F_200F_202E_200D_200F_206E_206D_200F_202B_202E(100, _addLevel)); - _200B_206C_202A_200E_202D_202B_200F_206C_202B_200B_202B_206F_202D_200C_206D_200E_202A_202E_206C_202A_206E_206C_206A_200E_206B_206C_206A_202C_206E_200B_200F_200F_202A_202B_206B_200F_202B_202C_206E_202E_202E(); - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Plus, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1748421528))) ? (-1746384540) : (-1746384539)); - break; - case 3: - num = -1746384543; - break; - case 1: - return; - } + TargetLevel = _addLevel, + Mode = EStopConditionMode.Stop + }); + Save(); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawAddGlobalSequence() { - int num = ((!base.Configuration.Stop.Conditions.OfType().Any()) ? 1585398821 : 1585398817); - while (true) + if (base.Configuration.Stop.Conditions.OfType().Any()) { - int num2 = num; - int num3 = 1585398821; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + ImGui.TextDisabled("Already configured"); + return; + } + ImGui.SetNextItemWidth(100f); + ImGui.InputInt("##AddSeq", ref _addSequence, 1, 1); + _addSequence = Math.Max(0, Math.Min(255, _addSequence)); + ImGui.SameLine(); + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Plus, "Add")) + { + base.Configuration.Stop.Conditions.Add(new GlobalSequenceCondition { - case 1: - return; - case 4: - _202A_206F_206F_202C_206B_200C_200C_206A_206B_200F_206D_206F_202E_202D_206E_206F_200D_202B_202C_202B_202A_206F_202C_200B_200E_206B_206A_206F_202B_206F_200B_202E_202D_202B_202C_200E_202D_206E_202A_202E_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-855443746)); - return; - case 3: - num = 1585398817; - break; - case 0: - _202D_200D_202E_206F_202D_202A_200B_200C_200F_200B_206B_206A_200F_200E_200C_206D_202D_202B_202B_200E_200D_202B_202E_206D_200B_202C_200E_202C_206A_200B_202A_202D_206C_200E_206E_202D_200B_206F_206F_202E(100f); - _206A_206C_206B_206B_206F_200F_206C_206E_200F_200D_200B_206F_200B_206B_200B_200B_202B_200C_206C_200B_202B_206A_206E_200B_206D_206E_202A_200F_202C_200C_200E_202E_200E_202E_206D_200B_202A_206B_202A_200D_202E((ImU8String)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(-464915630), ref _addSequence, 1, 1, default(ImU8String), ImGuiInputTextFlags.None); - _addSequence = _202A_202C_206A_206F_202E_200F_206E_202A_202E_202E_206B_200E_200E_200F_206D_206B_202B_202B_202A_206F_206B_202B_206F_206D_202B_202A_200F_200B_206E_206E_206A_200D_200E_200E_202A_200F_206F_206F_206A_200E_202E(0, _200B_200D_206B_202A_202A_200D_206B_200E_200B_206D_206B_206E_200E_206C_200B_206D_206A_200F_202E_206C_202A_200F_202E_200B_200E_202E_200B_200B_200B_206E_206D_200F_200F_202E_200D_200F_206E_206D_200F_202B_202E(255, _addSequence)); - _200B_206C_202A_200E_202D_202B_200F_206C_202B_200B_202B_206F_202D_200C_206D_200E_202A_202E_206C_202A_206E_206C_206A_200E_206B_206C_206A_202C_206E_200B_200F_200F_202A_202B_206B_200F_202B_202C_206E_202E_202E(); - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Plus, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1012926107))) ? 1585398820 : 1585398823); - break; - case 2: - base.Configuration.Stop.Conditions.Add(new GlobalSequenceCondition - { - TargetSequence = _addSequence, - Mode = EStopConditionMode.Stop - }); - Save(); - num = 1585398820; - break; - } + TargetSequence = _addSequence, + Mode = EStopConditionMode.Stop + }); + Save(); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawAddGilThreshold() { - int num = ((!base.Configuration.Stop.Conditions.OfType().Any()) ? (-1473032468) : (-1473032465)); - while (true) + if (base.Configuration.Stop.Conditions.OfType().Any()) { - int num2 = num; - int num3 = -1473032466; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + ImGui.TextDisabled("Already configured"); + return; + } + ImGui.SetNextItemWidth(100f); + ImGui.InputInt("##AddGil", ref _addGilThreshold, 100, 1000); + _addGilThreshold = Math.Max(1, Math.Min(999999999, _addGilThreshold)); + ImGui.SameLine(); + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Plus, "Add")) + { + base.Configuration.Stop.Conditions.Add(new GilThresholdCondition { - case 3: - num = -1473032465; - break; - case 0: - base.Configuration.Stop.Conditions.Add(new GilThresholdCondition - { - MinGil = _addGilThreshold, - Mode = EStopConditionMode.Stop - }); - Save(); - num = -1473032470; - break; - case 4: - return; - case 2: - _202D_200D_202E_206F_202D_202A_200B_200C_200F_200B_206B_206A_200F_200E_200C_206D_202D_202B_202B_200E_200D_202B_202E_206D_200B_202C_200E_202C_206A_200B_202A_202D_206C_200E_206E_202D_200B_206F_206F_202E(100f); - _206A_206C_206B_206B_206F_200F_206C_206E_200F_200D_200B_206F_200B_206B_200B_200B_202B_200C_206C_200B_202B_206A_206E_200B_206D_206E_202A_200F_202C_200C_200E_202E_200E_202E_206D_200B_202A_206B_202A_200D_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1007739181), ref _addGilThreshold, 100, 1000, default(ImU8String), ImGuiInputTextFlags.None); - _addGilThreshold = _202A_202C_206A_206F_202E_200F_206E_202A_202E_202E_206B_200E_200E_200F_206D_206B_202B_202B_202A_206F_206B_202B_206F_206D_202B_202A_200F_200B_206E_206E_206A_200D_200E_200E_202A_200F_206F_206F_206A_200E_202E(1, _200B_200D_206B_202A_202A_200D_206B_200E_200B_206D_206B_206E_200E_206C_200B_206D_206A_200F_202E_206C_202A_200F_202E_200B_200E_202E_200B_200B_200B_206E_206D_200F_200F_202E_200D_200F_206E_206D_200F_202B_202E(999999999, _addGilThreshold)); - _200B_206C_202A_200E_202D_202B_200F_206C_202B_200B_202B_206F_202D_200C_206D_200E_202A_202E_206C_202A_206E_206C_206A_200E_206B_206C_206A_202C_206E_200B_200F_200F_202A_202B_206B_200F_202B_202C_206E_202E_202E(); - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Plus, 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(1210011820))) ? (-1473032470) : (-1473032466)); - break; - case 1: - _202A_206F_206F_202C_206B_200C_200C_206A_206B_200F_206D_206F_202E_202D_206E_206F_200D_202B_202C_202B_202A_206F_202C_200B_200E_206B_206A_206F_202B_206F_200B_202E_202D_202B_202C_200E_202D_206E_202A_202E_202E((ImU8String)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(726973831)); - return; - } + MinGil = _addGilThreshold, + Mode = EStopConditionMode.Stop + }); + Save(); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawAddSimpleCondition() where T : StopCondition, new() { - int num = ((!base.Configuration.Stop.Conditions.OfType().Any()) ? (-989337839) : (-989337837)); - while (true) + if (base.Configuration.Stop.Conditions.OfType().Any()) { - int num2 = num; - int num3 = -989337838; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + ImGui.TextDisabled("Already configured"); + } + else if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Plus, "Add")) + { + base.Configuration.Stop.Conditions.Add(new T { - case 2: - num = -989337837; - break; - case 1: - _202A_206F_206F_202C_206B_200C_200C_206A_206B_200F_206D_206F_202E_202D_206E_206F_200D_202B_202C_202B_202A_206F_202C_200B_200E_206B_206A_206F_202B_206F_200B_202E_202D_202B_202C_200E_202D_206E_202A_202E_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-855443746)); - return; - case 0: - return; - case 4: - base.Configuration.Stop.Conditions.Add(new T - { - Mode = EStopConditionMode.Stop - }); - Save(); - num = -989337838; - break; - case 3: - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Plus, 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(506770427))) ? (-989337838) : (-989337834)); - break; - } + Mode = EStopConditionMode.Stop + }); + Save(); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawSessionConditions() { List sessionConditions = _questController.SessionConditions; - int num = ((sessionConditions.Count != 0) ? (-565908276) : (-565908273)); - while (true) + if (sessionConditions.Count == 0) { - int num2 = num; - int num3 = -565908274; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_005d; - case 1: - return; - case 2: - { - UiThemeUtils.SectionSpacing(); - UiThemeUtils.SectionHeader(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(-59870377)); - (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple = UiThemeUtils.BeginCard(); - Vector2 item = tuple.ContentStartPos; - float item2 = tuple.AvailableWidth; - ImDrawListPtr item3 = tuple.DrawList; - for (int num7 = 0; num7 < sessionConditions.Count; num7 = (num4 | num3) + (num4 & num3)) - { - ImU8String imU8String = new ImU8String(7, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-228958659)); - imU8String.AppendFormatted(num7); - ImRaii.IdDisposable idDisposable = _206B_202D_200F_200C_202D_200E_206E_202E_206A_206D_206E_200D_206E_202B_200D_206E_200B_200C_206A_206B_202A_206E_206B_200E_200C_200F_206E_202D_206A_206C_206D_202B_200C_200E_202D_206C_206C_200D_202C_202E(imU8String, true); - try - { - StopCondition stopCondition = sessionConditions[num7]; - _202D_202E_206A_202B_200F_206D_202B_200D_206F_206E_206A_202D_206F_206A_200E_200C_206C_206A_206D_202A_202D_202B_206E_206F_206D_202C_200D_206E_206C_206D_206D_206E_202B_202E_202A_206A_206C_206C_200F_206C_202E((ImU8String)stopCondition.GetDescription()); - _200B_206C_202A_200E_202D_202B_200F_206C_202B_200B_202B_206F_202D_200C_206D_200E_202A_202E_206C_202A_206E_206C_206A_200E_206B_206C_206A_202C_206E_200B_200F_200F_202A_202B_206B_200F_202B_202C_206E_202E_202E(); - ImU8String imU8String2 = new ImU8String(2, 1); - imU8String2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1234830832)); - imU8String2.AppendFormatted(stopCondition.Mode); - imU8String2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1851437460)); - _202A_206F_206F_202C_206B_200C_200C_206A_206B_200F_206D_206F_202E_202D_206E_206F_200D_202B_202C_202B_202A_206F_202C_200B_200E_206B_206A_206F_202B_206F_200B_202E_202D_202B_202C_200E_202D_206E_202A_202E_202E(imU8String2); - } - finally - { - num = ((idDisposable == null) ? (-943401635) : (-943401636)); - while (true) - { - int num8 = num; - num3 = -943401635; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 0: - goto end_IL_0150; - case 1: - _206E_200E_202B_206B_206F_206F_200F_206D_200E_202E_206F_202C_202C_206A_200E_206F_206A_206F_202D_200F_206B_202B_202C_202A_206E_206F_202D_200D_202C_202B_202B_206D_200E_202D_206C_200D_202E_200B_200F_202C_202E((IDisposable)idDisposable); - num = -943401635; - break; - case 2: - num = -943401636; - break; - } - continue; - end_IL_0150: - break; - } - } - int num11 = num7; - num3 = 1; - num4 = num11; - } - UiThemeUtils.EndCard(item, item2, item3); - return; - } - } - continue; - IL_005d: - num = -565908273; + return; } + UiThemeUtils.SectionSpacing(); + UiThemeUtils.SectionHeader("This Session"); + (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple = UiThemeUtils.BeginCard(); + Vector2 item = tuple.ContentStartPos; + float item2 = tuple.AvailableWidth; + ImDrawListPtr item3 = tuple.DrawList; + for (int i = 0; i < sessionConditions.Count; i++) + { + ImU8String id = new ImU8String(7, 1); + id.AppendLiteral("Session"); + id.AppendFormatted(i); + using (ImRaii.PushId(id)) + { + StopCondition stopCondition = sessionConditions[i]; + ImGui.BulletText(stopCondition.GetDescription()); + ImGui.SameLine(); + ImU8String text = new ImU8String(2, 1); + text.AppendLiteral("["); + text.AppendFormatted(stopCondition.Mode); + text.AppendLiteral("]"); + ImGui.TextDisabled(text); + } + } + UiThemeUtils.EndCard(item, item2, item3); } private string ResolveQuestName(ElementId questId) { - IQuestInfo questInfo; - int num = ((!_questData.TryGetQuestInfo(questId, out questInfo)) ? (-1798007610) : (-1798007609)); - while (true) + if (_questData.TryGetQuestInfo(questId, out IQuestInfo questInfo)) { - int num2 = num; - int num3 = -1798007610; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return _200E_202D_202C_206F_206C_202E_200D_202E_200E_200D_200C_202A_200D_202E_200C_202B_202D_200C_206A_206F_202B_202A_200E_200B_202B_202A_200F_200B_206E_206B_200D_206B_200E_200C_202E_206F_200E_200E_200E_206A_202E((object)questId); - case 1: - return questInfo.Name; - case 2: - goto IL_005e; - } - continue; - IL_005e: - num = -1798007609; + return questInfo.Name; } + return questId.ToString(); } private bool HasQuestCondition(ElementId questId, EStopConditionType type) { - using (List.Enumerator enumerator = base.Configuration.Stop.Conditions.GetEnumerator()) + foreach (StopCondition condition in base.Configuration.Stop.Conditions) { - int num = 511644902; - StopCondition current = default(StopCondition); - QuestCompleteCondition questCompleteCondition = default(QuestCompleteCondition); - QuestAcceptCondition questAcceptCondition = default(QuestAcceptCondition); - while (true) + if (condition.Type == type) { - int num2 = num; - int num3 = 511644896; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (condition is QuestCompleteCondition questCompleteCondition && questCompleteCondition.QuestId.Equals(questId)) + { + return true; + } + if (condition is QuestAcceptCondition questAcceptCondition && questAcceptCondition.QuestId.Equals(questId)) { - case 1: return true; - case 3: - current = enumerator.Current; - num = ((current.Type != type) ? 511644902 : 511644904); - break; - case 7: - num = ((!_206D_200D_206B_202B_202A_206D_200E_202D_206B_200E_200C_200E_206F_202A_202A_206E_202C_206A_200F_206A_200B_200F_206A_202C_200B_202C_202B_200D_200C_202A_202B_200E_202A_206B_200C_202E_206B_202A_206E_206A_202E(questCompleteCondition.QuestId, questId)) ? 511644896 : 511644898); - break; - case 4: - num = 511644902; - break; - case 8: - questCompleteCondition = current as QuestCompleteCondition; - num = ((questCompleteCondition == null) ? 511644896 : 511644903); - break; - case 2: - return true; - case 9: - num = ((!_206D_200D_206B_202B_202A_206D_200E_202D_206B_200E_200C_200E_206F_202A_202A_206E_202C_206A_200F_206A_200B_200F_206A_202C_200B_202C_202B_200D_200C_202A_202B_200E_202A_206B_200C_202E_206B_202A_206E_206A_202E(questAcceptCondition.QuestId, questId)) ? 511644902 : 511644897); - break; - case 6: - num = (enumerator.MoveNext() ? 511644899 : 511644901); - break; - case 0: - questAcceptCondition = current as QuestAcceptCondition; - num = ((questAcceptCondition == null) ? 511644902 : 511644905); - break; - case 5: - goto end_IL_0022; } - continue; - end_IL_0022: - break; } } return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private List GetCurrentlyAcceptedQuests() { List list = new List(); try { - IEnumerator enumerator = _questRegistry.AllQuests.GetEnumerator(); - try + foreach (Quest allQuest in _questRegistry.AllQuests) { - int num = -406994437; - Quest current = default(Quest); - while (true) + if (_questFunctions.IsQuestAccepted(allQuest.Id)) { - int num2 = num; - int num3 = -406994438; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -406994437; - break; - case 3: - list.Add(current); - num = -406994437; - break; - case 1: - num = (_206D_206F_206B_206F_206E_206D_206D_206C_202C_200E_202E_206A_206E_200E_206F_206B_202C_206C_206E_200C_202E_206A_206B_206D_200D_202A_200C_206E_206A_206B_206E_202E_202D_202B_200B_206B_202B_202A_202B_202D_202E((IEnumerator)enumerator) ? (-406994440) : (-406994434)); - break; - case 2: - current = enumerator.Current; - num = ((!_questFunctions.IsQuestAccepted(current.Id)) ? (-406994437) : (-406994439)); - break; - case 4: - goto end_IL_0023; - } - continue; - end_IL_0023: - break; + list.Add(allQuest); } } - finally - { - int num = ((enumerator == null) ? 1292761729 : 1292761728); - while (true) - { - int num5 = num; - int num3 = 1292761729; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 2: - num = 1292761728; - break; - case 1: - _206E_200E_202B_206B_206F_206F_200F_206D_200E_202E_206F_202C_202C_206A_200E_206F_206A_206F_202D_200F_206B_202B_202C_202A_206E_206F_202D_200D_202C_202B_202B_206D_200E_202D_206C_200D_202E_200B_200F_202C_202E((IDisposable)enumerator); - num = 1292761729; - break; - case 0: - goto end_IL_00f1; - } - continue; - end_IL_00f1: - break; - } - } - list.Sort((Quest a, Quest b) => _003C_003Ec._202B_200C_202C_202B_202D_200B_200C_206E_200B_202D_200B_202B_200B_200E_200C_206A_200F_202E_206F_202B_206B_206F_200D_206C_200C_202D_206C_200B_200C_206A_200D_206E_202D_206F_206B_202A_200B_202A_206B_202E_202E(a.Info.Name, b.Info.Name, StringComparison.OrdinalIgnoreCase)); + list.Sort((Quest a, Quest b) => string.Compare(a.Info.Name, b.Info.Name, StringComparison.OrdinalIgnoreCase)); } - catch (Exception ex) + catch (Exception exception) { - _202B_200B_200C_206C_200E_200F_202A_202D_206C_200B_202C_206B_202C_202A_202D_202C_206A_206B_206F_200C_202A_202B_206A_200E_206B_200F_200B_202E_206E_200B_200B_200D_202A_202D_200F_200D_206C_202A_206A_200F_202E((ILogger)_logger, ex, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1084509902), Array.Empty()); + _logger.LogDebug(exception, "Failed to enumerate accepted quests"); list.Clear(); } return list; } - - static ImRaii.DisabledDisposable _202D_202C_206B_202A_200E_200C_202A_202D_206E_206F_206D_206E_202C_200F_200F_206C_202D_202A_202D_202D_200F_202E_202B_206A_200C_206B_206A_206E_202B_206C_206E_206A_202B_200F_202D_202E_206F_200D_206D_206C_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static void _206E_200E_202B_206B_206F_206F_200F_206D_200E_202E_206F_202C_202C_206A_200E_206F_206A_206F_202D_200F_206B_202B_202C_202A_206E_206F_202D_200D_202C_202B_202B_206D_200E_202D_206C_200D_202E_200B_200F_202C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static Vector2 _200F_206E_200F_200E_202C_200C_206E_202B_200F_206D_202B_200C_206D_200C_200B_202D_206A_202E_202C_206E_206C_202A_202E_206B_206B_202B_202E_202B_206D_200D_202D_206D_206F_202E_202A_200C_206E_200D_206F_206C_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static float _206F_202A_200E_206C_202D_200F_200C_206B_202C_206E_206C_200C_202D_206D_202E_206B_206C_202B_202A_202D_202C_200C_202C_206D_206E_206A_202E_206F_200C_206E_200E_206D_202C_200F_206B_200E_206C_206C_200E_206C_202E(float P_0, float P_1) - { - return MathF.Min(P_0, P_1); - } - - static void _202D_200D_202E_206F_202D_202A_200B_200C_200F_200B_206B_206A_200F_200E_200C_206D_202D_202B_202B_200E_200D_202B_202E_206D_200B_202C_200E_202C_206A_200B_202A_202D_206C_200E_206E_202D_200B_206F_206F_202E(float P_0) - { - ImGui.SetNextItemWidth(P_0); - } - - static bool _206B_206F_206A_200D_200D_202D_200C_202B_206F_206B_202C_206F_202C_206C_206F_202B_200D_200F_206E_206B_202D_202B_202E_202E_200E_206F_202D_206B_206D_206C_200D_202D_206D_200B_200B_202E_206A_200E_200E_200C_202E(ImU8String P_0, ref string P_1, int P_2, ImGuiInputTextFlags P_3, ImGui.ImGuiInputTextCallbackDelegate P_4) - { - return ImGui.InputText(P_0, ref P_1, P_2, P_3, P_4); - } - - static void _200B_206C_202A_200E_202D_202B_200F_206C_202B_200B_202B_206F_202D_200C_206D_200E_202A_202E_206C_202A_206E_206C_206A_200E_206B_206C_206A_202C_206E_200B_200F_200F_202A_202B_206B_200F_202B_202C_206E_202E_202E() - { - ImGui.SameLine(); - } - - static void _202A_206F_206F_202C_206B_200C_200C_206A_206B_200F_206D_206F_202E_202D_206E_206F_200D_202B_202C_202B_202A_206F_202C_200B_200E_206B_206A_206F_202B_206F_200B_202E_202D_202B_202C_200E_202D_206E_202A_202E_202E(ImU8String P_0) - { - ImGui.TextDisabled(P_0); - } - - static ImRaii.IdDisposable _200D_200C_202B_200F_206D_206B_202B_200F_200D_200F_206D_206E_200D_202C_200D_206A_206F_200C_206F_206C_200E_202A_206E_200D_202E_206E_202E_202D_202E_200B_202E_202A_206A_206C_200C_206E_206D_202B_206F_202C_202E(int P_0, bool P_1) - { - return ImRaii.PushId(P_0, P_1); - } - - static void _206F_202A_206B_206A_206F_206C_200B_200F_206C_200E_202B_206F_206E_200F_200E_206D_202D_206B_206B_202C_206D_200F_200C_202B_202B_206A_206F_202C_202B_206D_202D_200E_202E_202D_202C_202B_200B_206B_206B_206A_202E() - { - ImGui.AlignTextToFramePadding(); - } - - static void _200F_202A_200C_202E_206D_206E_206B_202D_202A_206E_200D_200D_200D_202D_202D_200E_202C_200B_206E_202A_202E_206E_206C_200D_200F_206C_206D_200F_202E_200E_202A_200C_200C_202D_206D_200E_200D_206B_200F_206B_202E(ImU8String P_0) - { - ImGui.Text(P_0); - } - - static float _202C_202B_206B_202D_202B_206A_202A_206A_200E_200C_202E_202B_202C_206F_200F_200B_200D_206C_202B_200E_202A_206A_202A_200B_200F_200E_200B_200D_202C_202C_200D_200F_200F_200F_200F_206B_206C_206E_200B_206D_202E() - { - return ImGui.GetFrameHeight(); - } - - static IUiBuilder _206A_202D_206F_206A_206D_202D_206B_206B_200B_202B_200F_202C_202C_200E_202C_202B_200B_206B_202C_200B_202C_200D_202D_200F_200D_206C_200E_200C_202B_206E_202B_200E_200F_206C_202C_200D_200E_206E_200C_200C_202E(IDalamudPluginInterface P_0) - { - return P_0.UiBuilder; - } - - static IFontHandle _202B_200F_206A_200E_200C_200B_202A_200B_206C_200D_206D_200C_206E_200B_202D_200B_206B_206F_206A_200F_206D_202C_206E_206B_202A_200C_206E_200D_206A_206C_200D_206D_206F_200C_202B_206E_202A_206E_206D_206F_202E(IUiBuilder P_0) - { - return P_0.IconFontFixedWidthHandle; - } - - static IDisposable _200C_206B_206C_200F_200D_202E_202C_206B_200F_202E_206D_206F_202E_200C_200E_200F_200F_202D_200D_200C_206E_206F_206B_200C_200D_206F_202A_200C_206C_202E_206D_200E_200B_206F_202C_206C_200B_200E_206E_200C_202E(IFontHandle P_0) - { - return P_0.Push(); - } - - static string _206D_206D_202A_202C_206A_200D_202D_206A_202A_200E_202B_202D_200C_202A_202C_206B_206F_206A_206C_206B_202E_200F_202A_200B_206B_202C_206A_202D_206C_206D_200B_200F_202A_200F_202B_200D_200B_206D_206A_206B_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static void _206B_206B_200E_200F_200F_202D_200B_200B_202B_206C_200F_200E_200B_206C_202C_206C_206C_200D_206E_200F_202A_202A_206A_202D_206F_200F_206C_206D_206D_200C_206C_200D_202A_206D_202E_202C_200F_200B_200C_206C_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static ImGuiStylePtr _206A_200D_202C_206D_200C_202E_206C_202D_200D_202E_206B_202D_202E_200B_206D_202D_202D_200F_200E_202A_206F_206B_200C_206F_206D_200D_202D_206A_200D_206C_200E_200E_206B_202C_206A_202B_202A_206E_202E_200F_202E() - { - return ImGui.GetStyle(); - } - - static ImFontPtr _202C_206C_200D_206A_200D_200C_202D_206B_206B_202B_200F_206C_206E_206C_202D_200B_200F_206B_202D_206F_200F_206F_202C_206E_200D_206D_200B_206B_206D_206D_202E_200D_200F_206C_202B_202B_202E_202E_206F_202E_202E() - { - return UiBuilder.IconFont; - } - - static ImRaii.FontDisposable _200B_200E_202D_200B_206F_202A_202E_200E_202C_200E_206A_206C_206E_200D_202A_200E_200E_206A_200F_206B_202D_206A_202C_206E_206F_200D_206E_206D_206B_206D_206B_206E_206D_202D_206C_206C_202A_206C_200E_200C_202E(ImFontPtr P_0, bool P_1) - { - return ImRaii.PushFont(P_0, P_1); - } - - static Vector2 _206D_200D_202B_202D_202D_206D_206D_206E_200C_200B_202E_202B_202D_202C_206C_206E_202C_200B_200C_202A_206F_200C_202E_202C_200D_200D_202A_200D_206F_206B_202C_206B_206C_206E_206D_202C_202C_206B_202D_206F_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static bool _202D_206C_206C_206B_202E_206C_202B_206C_202B_206C_202B_200C_200C_206A_200B_206C_200B_206E_200D_206D_202B_206C_206D_202B_206D_200C_206A_206C_202A_202A_206F_202E_200D_206B_206C_206B_200D_206D_200D_200E_202E() - { - return ImGui.IsItemHovered(); - } - - static bool _206A_206C_206B_206B_206F_200F_206C_206E_200F_200D_200B_206F_200B_206B_200B_200B_202B_200C_206C_200B_202B_206A_206E_200B_206D_206E_202A_200F_202C_200C_200E_202E_200E_202E_206D_200B_202A_206B_202A_200D_202E(ImU8String P_0, ref int P_1, int P_2, int P_3, ImU8String P_4, ImGuiInputTextFlags P_5) - { - return ImGui.InputInt(P_0, ref P_1, P_2, P_3, P_4, P_5); - } - - static int _200B_200D_206B_202A_202A_200D_206B_200E_200B_206D_206B_206E_200E_206C_200B_206D_206A_200F_202E_206C_202A_200F_202E_200B_200E_202E_200B_200B_200B_206E_206D_200F_200F_202E_200D_200F_206E_206D_200F_202B_202E(int P_0, int P_1) - { - return Math.Min(P_0, P_1); - } - - static int _202A_202C_206A_206F_202E_200F_206E_202A_202E_202E_206B_200E_200E_200F_206D_206B_202B_202B_202A_206F_206B_202B_206F_206D_202B_202A_200F_200B_206E_206E_206A_200D_200E_200E_202A_200F_206F_206F_206A_200E_202E(int P_0, int P_1) - { - return Math.Max(P_0, P_1); - } - - static string _206B_202B_206B_202C_200F_202C_200F_206F_200C_206E_206C_200F_202B_206C_202E_206F_202E_206B_206F_200E_202C_202D_206D_202C_200C_202B_200E_200F_200F_200D_206E_200B_200F_200D_206B_202E_200D_200C_200D_202E_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static void _202A_202B_200D_200F_200F_200D_200C_206E_206A_200D_206A_200B_206A_200D_206F_200B_202B_206C_200F_206B_206D_202A_200B_206C_200B_202C_202A_200E_206A_200D_200E_202E_200D_202C_200E_206C_202B_202B_200E_206A_202E(ImU8String P_0) - { - ImGui.TextUnformatted(P_0); - } - - static IPlayerCharacter _206C_202D_202B_200E_200E_202A_206E_206C_202C_202A_200F_200B_206E_206C_200F_202D_200F_206F_206E_206E_200C_206D_202C_206A_202A_206F_206E_200D_200F_206E_206F_206A_202D_206D_206F_202D_200D_202A_202D_206F_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static byte _206A_206F_206F_206F_202B_200D_202D_206E_200E_200C_206B_202D_202D_202A_206A_200D_202C_202C_202C_202E_200D_200B_202B_206D_200D_206A_206F_202D_206E_206D_200C_202A_200F_206F_200F_206C_200D_202D_202D_200C_202E(ICharacter P_0) - { - return P_0.Level; - } - - static void _200F_202C_202E_206F_206C_206A_206C_200C_206A_200B_202E_206E_200C_206C_202C_200B_206C_202A_200C_200F_200D_206A_206D_206D_206B_202B_200C_202D_202D_206D_206D_202D_206B_202C_206D_200E_206A_200F_206B_206F_202E() - { - ImGui.NewLine(); - } - - static long _200C_202B_202D_202C_202C_206E_206E_206A_206B_202A_200C_200B_202A_202B_200B_200E_200D_206D_200E_202D_202E_206F_202D_200C_202A_202A_206F_206F_206C_206A_206B_202D_200B_202B_206A_206E_202E_206F_206D_202E() - { - return Environment.TickCount64; - } - - static ImRaii.IdDisposable _206B_202D_200F_200C_202D_200E_206E_202E_206A_206D_206E_200D_206E_202B_200D_206E_200B_200C_206A_206B_202A_206E_206B_200E_200C_200F_206E_202D_206A_206C_206D_202B_200C_200E_202D_206C_206C_200D_202C_202E(ImU8String P_0, bool P_1) - { - return ImRaii.PushId(P_0, P_1); - } - - static void _202D_202E_206A_202B_200F_206D_202B_200D_206F_206E_206A_202D_206F_206A_200E_200C_206C_206A_206D_202A_202D_202B_206E_206F_206D_202C_200D_206E_206C_206D_206D_206E_202B_202E_202A_206A_206C_206C_200F_206C_202E(ImU8String P_0) - { - ImGui.BulletText(P_0); - } - - static string _200E_202D_202C_206F_206C_202E_200D_202E_200E_200D_200C_202A_200D_202E_200C_202B_202D_200C_206A_206F_202B_202A_200E_200B_202B_202A_200F_200B_206E_206B_200D_206B_200E_200C_202E_206F_200E_200E_200E_206A_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _206D_200D_206B_202B_202A_206D_200E_202D_206B_200E_200C_200E_206F_202A_202A_206E_202C_206A_200F_206A_200B_200F_206A_202C_200B_202C_202B_200D_200C_202A_202B_200E_202A_206B_200C_202E_206B_202A_206E_206A_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - - static bool _206D_206F_206B_206F_206E_206D_206D_206C_202C_200E_202E_206A_206E_200E_206F_206B_202C_206C_206E_200C_202E_206A_206B_206D_200D_202A_200C_206E_206A_206B_206E_202E_202D_202B_200B_206B_202B_202A_202B_202D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202B_200B_200C_206C_200E_200F_202A_202D_206C_200B_202C_206B_202C_202A_202D_202C_206A_206B_206F_200C_202A_202B_206A_200E_206B_200F_200B_202E_206E_200B_200B_200D_202A_202D_200F_200D_206C_202A_206A_200F_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogDebug(P_1, P_2, P_3); - } } diff --git a/Questionable/Questionable.Windows.JournalComponents/AlliedSocietyJournalComponent.cs b/Questionable/Questionable.Windows.JournalComponents/AlliedSocietyJournalComponent.cs index 6b5859e..e122fc4 100644 --- a/Questionable/Questionable.Windows.JournalComponents/AlliedSocietyJournalComponent.cs +++ b/Questionable/Questionable.Windows.JournalComponents/AlliedSocietyJournalComponent.cs @@ -2,7 +2,6 @@ using System; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; using Dalamud.Game.Text; using Dalamud.Interface; @@ -21,34 +20,7 @@ namespace Questionable.Windows.JournalComponents; internal sealed class AlliedSocietyJournalComponent { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass21_0 - { - public QuestInfo q; - - internal bool _003CDrawAddToPriorityButtons_003Eb__3(Quest pq) - { - return _206F_202C_200D_206C_202D_206C_200D_206F_202C_206F_206C_202B_200C_200E_200B_202B_206E_200F_206C_200D_206C_202A_202C_206A_202C_202E_200B_202C_202A_202C_206E_200E_200B_206E_202A_206C_206A_206D_202D_200F_202E(pq.Id, q.QuestId); - } - - static bool _206F_202C_200D_206C_202D_206C_200D_206F_202C_206F_206C_202B_200C_200E_200B_202B_206E_200F_206C_200D_206C_202A_202C_206A_202C_202E_200B_202C_202A_202C_206E_200E_200B_206E_202A_206C_206A_206D_202D_200F_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - } - - private static readonly string[] RankNames = new string[9] - { - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(483536351), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2031906070), - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(981104508), - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1129518073), - 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(176487350), - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1452508934), - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-249962653), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1890145585), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(821453821) - }; + private static readonly string[] RankNames = new string[9] { "Neutral", "Recognized", "Friendly", "Trusted", "Respected", "Honored", "Sworn", "Bloodsworn", "Allied" }; private const int DefaultDailyQuestLimit = 3; @@ -74,7 +46,47 @@ internal sealed class AlliedSocietyJournalComponent private readonly ILogger _logger; - private static readonly (string Name, EAlliedSociety[] Societies)[] ExpansionGroups; + private static readonly (string Name, EAlliedSociety[] Societies)[] ExpansionGroups = new(string, EAlliedSociety[])[6] + { + ("A Realm Reborn", new EAlliedSociety[5] + { + EAlliedSociety.Amaljaa, + EAlliedSociety.Sylphs, + EAlliedSociety.Kobolds, + EAlliedSociety.Sahagin, + EAlliedSociety.Ixal + }), + ("Heavensward", new EAlliedSociety[3] + { + EAlliedSociety.VanuVanu, + EAlliedSociety.Vath, + EAlliedSociety.Moogles + }), + ("Stormblood", new EAlliedSociety[3] + { + EAlliedSociety.Kojin, + EAlliedSociety.Ananta, + EAlliedSociety.Namazu + }), + ("Shadowbringers", new EAlliedSociety[3] + { + EAlliedSociety.Pixies, + EAlliedSociety.Qitari, + EAlliedSociety.Dwarves + }), + ("Endwalker", new EAlliedSociety[3] + { + EAlliedSociety.Arkasodara, + EAlliedSociety.Omicrons, + EAlliedSociety.Loporrits + }), + ("Dawntrail", new EAlliedSociety[3] + { + EAlliedSociety.Pelupelu, + EAlliedSociety.MamoolJa, + EAlliedSociety.YokHuy + }) + }; public AlliedSocietyJournalComponent(AlliedSocietyQuestFunctions alliedSocietyQuestFunctions, QuestData questData, QuestRegistry questRegistry, QuestJournalUtils questJournalUtils, QuestTooltipComponent questTooltipComponent, UiUtils uiUtils, QuestController questController, IChatGui chatGui, ILogger logger) { @@ -89,139 +101,57 @@ internal sealed class AlliedSocietyJournalComponent _logger = logger; } - [MethodImpl(MethodImplOptions.NoInlining)] public void DrawAlliedSocietyQuests() { DrawDailyAllowanceBar(); - _200E_206A_200D_200F_206D_202A_206F_206F_200E_200B_200B_206C_200F_202B_202D_200E_200B_202B_200B_206B_200E_206C_202C_202B_200E_206A_206B_202D_200C_206C_200C_202B_206F_200F_202D_200D_202B_206F_206F_206C_202E(); - _202E_200B_200E_200F_202B_206B_200B_202C_202A_202B_200C_206C_200E_206D_202D_202A_200C_206B_206A_200B_206C_202A_200B_206C_200F_206E_206F_206F_202E_200B_206E_206A_200C_206D_206C_200C_202C_200F_200D_202C_202E(); + ImGui.Separator(); + ImGui.Spacing(); bool flag = false; (string, EAlliedSociety[])[] expansionGroups = ExpansionGroups; - int num = 0; - int num6; - while (num < expansionGroups.Length) + for (int i = 0; i < expansionGroups.Length; i++) { - (string, EAlliedSociety[]) tuple = expansionGroups[num]; + (string, EAlliedSociety[]) tuple = expansionGroups[i]; string item = tuple.Item1; EAlliedSociety[] item2 = tuple.Item2; List<(EAlliedSociety, List)> list = new List<(EAlliedSociety, List)>(); EAlliedSociety[] array = item2; - int num4; - int num5; - for (int num2 = 0; num2 < array.Length; num2 = (num5 | num4) + (num5 & num4)) + foreach (EAlliedSociety eAlliedSociety in array) { - EAlliedSociety eAlliedSociety = array[num2]; List list2 = (from x in _alliedSocietyQuestFunctions.GetAvailableAlliedSocietyQuests(eAlliedSociety) select (QuestInfo)_questData.GetQuestInfo(x)).ToList(); if (list2.Count > 0) { list.Add((eAlliedSociety, list2)); } - int num3 = num2; - num4 = 1; - num5 = num3; } - if (list.Count != 0) + if (list.Count == 0) { - flag = true; - UiThemeUtils.SubSectionHeader(item); - _202E_200B_200E_200F_202B_206B_200B_202C_202A_202B_200C_206C_200E_206D_202D_202A_200C_206B_206A_200B_206C_202A_200B_206C_200F_206E_206F_206F_202E_200B_206E_206A_200C_206D_206C_200C_202C_200F_200D_202C_202E(); - using (List<(EAlliedSociety, List)>.Enumerator enumerator = list.GetEnumerator()) - { - num6 = -1559165555; - while (true) - { - int num7 = num6; - num4 = -1559165553; - num5 = num7; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num6 = -1559165555; - break; - case 2: - num6 = (enumerator.MoveNext() ? (-1559165556) : (-1559165554)); - break; - case 3: - var (alliedSociety, quests) = enumerator.Current; - DrawSocietySection(alliedSociety, quests); - num6 = -1559165555; - break; - case 1: - goto end_IL_00d9; - } - continue; - end_IL_00d9: - break; - } - } - _202E_200B_200E_200F_202B_206B_200B_202C_202A_202B_200C_206C_200E_206D_202D_202A_200C_206B_206A_200B_206C_202A_200B_206C_200F_206E_206F_206F_202E_200B_206E_206A_200C_206D_206C_200C_202C_200F_200D_202C_202E(); + continue; } - int num8 = num; - num4 = 1; - num5 = num8; - int num9 = num5 ^ num4; - int num10 = num5 & num4; - num = num9 + (num10 + num10); + flag = true; + UiThemeUtils.SubSectionHeader(item); + ImGui.Spacing(); + foreach (var (alliedSociety, quests) in list) + { + DrawSocietySection(alliedSociety, quests); + } + ImGui.Spacing(); } - num6 = -1902781762; - while (true) + if (!flag) { - int num11 = num6; - int num4 = -1902781763; - int num5 = num11; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - num6 = -1902781762; - break; - case 0: - _206B_200D_206F_206D_206D_202C_202D_202A_200C_206D_200B_200B_202A_206C_202B_202E_206D_200E_202B_200E_202E_200D_206A_206C_200E_202E_200D_206F_200F_202B_202A_206B_202B_206E_202B_206B_206A_206C_200C_202E(ref UiThemeUtils.DimTextColor, (ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1468474206)); - num6 = -1902781764; - break; - case 3: - num6 = (flag ? (-1902781764) : (-1902781763)); - break; - case 1: - return; - } + ImGui.TextColored(in UiThemeUtils.DimTextColor, "No allied society quests available."); } } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void DrawDailyAllowanceBar() { QuestManager* ptr = QuestManager.Instance(); - int num = ((ptr != null) ? 1997430706 : 1997430707); - while (true) + if (ptr != null) { - int num2 = num; - int num3 = 1997430706; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - { - byte b = (byte)ptr->GetBeastTribeAllowance(); - num3 = b; - num4 = 12; - int num5 = ~(~num4 + num3); - TimeSpan item = CalculateTimeUntilReset().TimeUntilReset; - string unit = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(173280231); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(47, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-283282305)); - defaultInterpolatedStringHandler.AppendFormatted(num5); - JournalUiShared.DrawAllowanceHeader(num5, 12, unit, item, defaultInterpolatedStringHandler.ToStringAndClear()); - return; - } - case 1: - return; - case 2: - goto IL_00b3; - } - continue; - IL_00b3: - num = 1997430707; + byte b = (byte)ptr->GetBeastTribeAllowance(); + int num = 12 - b; + TimeSpan item = CalculateTimeUntilReset().TimeUntilReset; + JournalUiShared.DrawAllowanceHeader(num, 12, "daily allowances", item, $"Shared across all allied societies\nUsed today: {num}"); } } @@ -229,1796 +159,515 @@ internal sealed class AlliedSocietyJournalComponent { DateTime utcNow = DateTime.UtcNow; DateTime dateTime = new DateTime(utcNow.Year, utcNow.Month, utcNow.Day, 15, 0, 0, DateTimeKind.Utc); - int num = ((utcNow >= dateTime) ? 688800403 : 688800400); - DateTime dateTime2; - while (true) - { - int num2 = num; - int num3 = 688800401; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 0: - goto IL_0079; - case 1: - dateTime2 = dateTime; - break; - case 2: - dateTime2 = dateTime.AddDays(1.0); - break; - } - break; - IL_0079: - num = 688800400; - } - DateTime dateTime3 = dateTime2; - TimeSpan item = dateTime3 - utcNow; - return (ResetTime: dateTime3.ToLocalTime(), TimeUntilReset: item); + DateTime dateTime2 = ((utcNow >= dateTime) ? dateTime.AddDays(1.0) : dateTime); + TimeSpan item = dateTime2 - utcNow; + return (ResetTime: dateTime2.ToLocalTime(), TimeUntilReset: item); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawReputationStatus(EAlliedSociety alliedSociety) { (byte, ushort, ushort, bool, bool)? reputationStatus = _alliedSocietyQuestFunctions.GetReputationStatus(alliedSociety); - int num = (reputationStatus.HasValue ? (-129004571) : (-129004570)); - byte item4 = default(byte); - ushort item = default(ushort); - ushort item2 = default(ushort); - bool item5 = default(bool); - bool item3 = default(bool); - string value = default(string); - while (true) + if (!reputationStatus.HasValue) { - int num2 = num; - int num3 = -129004576; - int num4 = num2; - object obj; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 5: - { - (byte, ushort, ushort, bool, bool) value2 = reputationStatus.Value; - item4 = value2.Item1; - item = value2.Item2; - item2 = value2.Item3; - item5 = value2.Item4; - item3 = value2.Item5; - num = ((item4 < RankNames.Length) ? (-129004576) : (-129004572)); - continue; - } - case 0: - obj = RankNames[item4]; - goto IL_00c8; - case 3: - num = -129004570; - continue; - case 6: - return; - case 4: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(5, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1579900622)); - defaultInterpolatedStringHandler.AppendFormatted(item4); - obj = defaultInterpolatedStringHandler.ToStringAndClear(); - goto IL_00c8; - } - case 7: - { - ImU8String imU8String3 = new ImU8String(0, 1); - imU8String3.AppendFormatted(value); - _206B_200D_206F_206D_206D_202C_202D_202A_200C_206D_200B_200B_202A_206C_202B_202E_206D_200E_202B_200E_202E_200D_206A_206C_200E_202E_200D_206F_200F_202B_202A_206B_202B_206E_202B_206B_206A_206C_200C_202E(ref UiThemeUtils.StatusComplete, imU8String3); - break; - } - case 1: - { - if (item3) - { - num = -129004574; - continue; - } - num = ((item2 > 0) ? 1342331391 : 1342331390); - Vector4 vector; - while (true) - { - int num11 = num; - num3 = 1342331391; - num4 = num11; - float num12; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 2: - vector = UiThemeUtils.MutedTextColor; - break; - case 1: - num12 = 0f; - goto IL_03db; - case 4: - vector = UiThemeUtils.StatusActive; - break; - case 3: - num = 1342331390; - continue; - case 0: - { - num12 = (float)(int)item / (float)(int)item2; - goto IL_03db; - } - IL_03db: - num = ((num12 >= 0.8f) ? 1342331387 : 1342331389); - continue; - } - break; - } - Vector4 vector2 = vector; - ImU8String imU8String2 = new ImU8String(4, 3); - imU8String2.AppendFormatted(value); - imU8String2.AppendLiteral(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(-1648031977)); - imU8String2.AppendFormatted(item); - imU8String2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(503298330)); - imU8String2.AppendFormatted(item2); - _206B_200D_206F_206D_206D_202C_202D_202A_200C_206D_200B_200B_202A_206C_202B_202E_206D_200E_202B_200E_202E_200D_206A_206C_200E_202E_200D_206F_200F_202B_202A_206B_202B_206E_202B_206B_206A_206C_200C_202E(ref vector2, imU8String2); - break; - } - case 2: - { - ImRaii.ColorDisposable colorDisposable = _202B_206D_202D_206B_206B_202C_206A_206D_202E_206E_200C_202C_202B_206E_200F_202B_200E_206D_206F_206F_202C_200C_206C_202B_206C_206F_200E_202D_202E_202D_206A_206C_206E_200F_200B_200B_202D_206D_202D_200D_202E(ImGuiCol.Text, UiThemeUtils.StatusActive, true); - try - { - ImRaii.FontDisposable fontDisposable = _206A_206A_202A_202C_206D_206E_206B_202D_200E_200E_200C_206C_200C_202B_202C_202B_202E_202E_202A_206F_206B_206A_202A_200D_200D_202C_206E_200B_206A_202E_202B_206C_206E_200E_202C_206A_200E_202C_200C_206D_202E(_206E_200C_202B_206A_206A_202B_202D_206B_200D_200C_200F_200C_206F_200F_200F_200E_202C_206B_200F_206B_200F_206F_200C_202E_206C_200C_200F_206C_202E_202A_200E_200D_200D_202A_200C_200C_206F_206D_206A_206F_202E(), true); - try - { - _202D_206B_206F_202E_202E_200D_202E_206E_200B_200E_206F_200C_206F_202D_206E_206D_206A_202D_206E_206B_206D_202B_202E_200B_206B_202A_202A_200F_200B_202B_202A_200B_206D_206A_206B_206C_200E_200D_200E_206F_202E((ImU8String)_200F_202D_202E_206D_200F_206E_202C_206F_206E_202E_206A_206E_202D_206F_202B_206C_206C_202E_200F_206A_206F_202B_206D_202D_206F_200C_202E_200E_200F_206B_202A_200D_202A_202C_206D_200F_200B_202A_206B_206B_202E(FontAwesomeIcon.ExclamationTriangle)); - } - finally - { - num = ((fontDisposable == null) ? 1728465027 : 1728465026); - while (true) - { - int num5 = num; - num3 = 1728465027; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 2: - num = 1728465026; - break; - case 0: - goto end_IL_01c5; - case 1: - _200F_206B_202C_202B_200E_206A_206A_206A_202C_202D_206A_202B_206A_202C_206D_206B_200D_206A_200E_206E_202E_200C_206A_206D_202B_200E_206A_202E_202E_202A_206A_200C_200E_200F_200B_200C_206E_202A_200C_206B_202E((IDisposable)fontDisposable); - num = 1728465027; - break; - } - continue; - end_IL_01c5: - break; - } - } - _202D_200E_206A_202B_206F_200C_206A_206C_200E_202C_202A_206D_202D_200E_200C_202B_202D_202B_206B_206D_200F_206E_202B_200E_200E_206D_206D_206B_202E_206A_202D_202E_200E_202E_200B_206C_200C_206B_200E_200E_202E(0f, 4f); - ImU8String imU8String = new ImU8String(24, 3); - imU8String.AppendFormatted(value); - imU8String.AppendLiteral(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(-1648031977)); - imU8String.AppendFormatted(item); - imU8String.AppendLiteral(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(-1392036559)); - imU8String.AppendFormatted(item2); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-651901975)); - _202B_206E_202E_200C_206C_202B_206A_206E_206F_202D_200E_202E_206B_200B_206B_200F_206B_206B_202C_200E_206B_206D_206B_206F_206F_206E_200D_202B_206C_206A_202D_206B_206D_200D_202C_200D_202B_200B_206D_200D_202E(imU8String); - } - finally - { - num = ((colorDisposable == null) ? 108065444 : 108065445); - while (true) - { - int num8 = num; - num3 = 108065444; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 2: - num = 108065445; - break; - case 1: - _200F_206B_202C_202B_200E_206A_206A_206A_202C_202D_206A_202B_206A_202C_206D_206B_200D_206A_200E_206E_202E_200C_206A_206D_202B_200E_206A_202E_202E_202A_206A_200C_200E_200F_200B_200C_206E_202A_200C_206B_202E((IDisposable)colorDisposable); - num = 108065444; - break; - case 0: - goto end_IL_02a3; - } - continue; - end_IL_02a3: - break; - } - } - break; - } - IL_00c8: - value = (string)obj; - num = ((!item5) ? (-129004575) : (-129004569)); - continue; - } - break; + return; } - _202E_200B_200E_200F_202B_206B_200B_202C_202A_202B_200C_206C_200E_206D_202D_202A_200C_206B_206A_200B_206C_202A_200B_206C_200F_206E_206F_206F_202E_200B_206E_206A_200C_206D_206C_200C_202C_200F_200D_202C_202E(); + (byte, ushort, ushort, bool, bool) value = reputationStatus.Value; + byte item = value.Item1; + ushort item2 = value.Item2; + ushort item3 = value.Item3; + bool item4 = value.Item4; + bool item5 = value.Item5; + string value2 = ((item < RankNames.Length) ? RankNames[item] : $"Rank {item}"); + if (item4) + { + ImU8String text = new ImU8String(0, 1); + text.AppendFormatted(value2); + ImGui.TextColored(in UiThemeUtils.StatusComplete, text); + } + else if (item5) + { + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.StatusActive)) + { + using (ImRaii.PushFont(UiBuilder.IconFont)) + { + ImGui.Text(FontAwesomeIcon.ExclamationTriangle.ToIconString()); + } + ImGui.SameLine(0f, 4f); + ImU8String text2 = new ImU8String(24, 3); + text2.AppendFormatted(value2); + text2.AppendLiteral(" - "); + text2.AppendFormatted(item2); + text2.AppendLiteral("/"); + text2.AppendFormatted(item3); + text2.AppendLiteral(" (rank up available)"); + ImGui.TextUnformatted(text2); + } + } + else + { + Vector4 col = ((((item3 > 0) ? ((float)(int)item2 / (float)(int)item3) : 0f) >= 0.8f) ? UiThemeUtils.StatusActive : UiThemeUtils.MutedTextColor); + ImU8String text3 = new ImU8String(4, 3); + text3.AppendFormatted(value2); + text3.AppendLiteral(" - "); + text3.AppendFormatted(item2); + text3.AppendLiteral("/"); + text3.AppendFormatted(item3); + ImGui.TextColored(in col, text3); + } + ImGui.Spacing(); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawSocietySection(EAlliedSociety alliedSociety, List quests) { - int num = quests.Count(delegate(QuestInfo q) + Quest quest; + int num = quests.Count((QuestInfo q) => _questRegistry.TryGetQuest(q.QuestId, out quest) && !quest.Root.Disabled); + string rightText = ((num > 0) ? $"{num} available" : "no paths available"); + string text = $"AlliedSociety{alliedSociety}"; + string label = alliedSociety.ToString(); + bool open = _societyHeaderStates.GetValueOrDefault(text, defaultValue: false); + UiThemeUtils.ThemedAccordion(text, label, rightText, ref open); + _societyHeaderStates[text] = open; + if (!open) { - Quest quest; - int num9 = ((!_questRegistry.TryGetQuest(q.QuestId, out quest)) ? 1263260945 : 1263260944); - while (true) - { - int num10 = num9; - int num11 = 1263260945; - int num12 = num10; - int num13 = num12 + num11; - int num14 = num12 & num11; - switch (num13 - (num14 + num14)) - { - case 2: - goto IL_0055; - case 0: - return false; - case 1: - return !_206F_200E_200C_206B_206F_206B_202E_200E_200B_200C_200C_202E_206B_206B_200B_202E_200F_200E_200E_200E_206E_202D_206C_206B_202A_202C_200C_200B_202D_200B_206E_206B_200E_206D_206D_206C_200D_202E_200F_206F_202E(quest.Root); - } - continue; - IL_0055: - num9 = 1263260944; - } - }); - int num2 = ((num > 0) ? 963882484 : 963882487); - while (true) + return; + } + using (ImRaii.PushIndent()) { - int num3 = num2; - int num4 = 963882486; - int num5 = num3; - string text; - string rightText; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2; - string text2; - string label; - bool open; - switch ((num5 | num4) - (num5 & num4)) - { - case 4: - return; - case 2: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(10, 1); - defaultInterpolatedStringHandler.AppendFormatted(num); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1529874773)); - text = defaultInterpolatedStringHandler.ToStringAndClear(); - goto IL_0091; - } - case 1: - text = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-205885399); - goto IL_0091; - case 0: - num2 = 963882487; - break; - case 3: - { - ImRaii.IndentDisposable indentDisposable = _202D_202D_206A_206D_206B_206B_206A_200B_202C_206C_202B_200D_200D_200B_206A_206B_200B_200F_206E_206F_200D_202C_206C_202A_206C_206E_200E_206D_206F_206A_202C_200D_202E_206A_206B_202A_200F_206C_206B_200E_202E(1, true); - try - { - DrawReputationStatus(alliedSociety); - DrawAddToPriorityButtons(alliedSociety, quests); - _202E_200B_200E_200F_202B_206B_200B_202C_202A_202B_200C_206C_200E_206D_202D_202A_200C_206B_206A_200B_206C_202A_200B_206C_200F_206E_206F_206F_202E_200B_206E_206A_200C_206D_206C_200C_202C_200F_200D_202C_202E(); - DrawQuestList(alliedSociety, quests); - return; - } - finally - { - num2 = ((indentDisposable == null) ? (-827768642) : (-827768643)); - while (true) - { - int num6 = num2; - num4 = -827768644; - num5 = num6; - int num7 = num5 + num4; - int num8 = num5 & num4; - switch (num7 - (num8 + num8)) - { - case 0: - num2 = -827768643; - break; - case 1: - _200F_206B_202C_202B_200E_206A_206A_206A_202C_202D_206A_202B_206A_202C_206D_206B_200D_206A_200E_206E_202E_200C_206A_206D_202B_200E_206A_202E_202E_202A_206A_200C_200E_200F_200B_200C_206E_202A_200C_206B_202E((IDisposable)indentDisposable); - num2 = -827768642; - break; - case 2: - goto end_IL_0183; - } - continue; - end_IL_0183: - break; - } - } - } - IL_0091: - rightText = text; - defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(13, 1); - defaultInterpolatedStringHandler2.AppendLiteral(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(-1880679379)); - defaultInterpolatedStringHandler2.AppendFormatted((int)alliedSociety); - text2 = defaultInterpolatedStringHandler2.ToStringAndClear(); - label = alliedSociety.ToString(); - open = _societyHeaderStates.GetValueOrDefault(text2, defaultValue: false); - UiThemeUtils.ThemedAccordion(text2, label, rightText, ref open); - _societyHeaderStates[text2] = open; - num2 = (open ? 963882485 : 963882482); - break; - } + DrawReputationStatus(alliedSociety); + DrawAddToPriorityButtons(alliedSociety, quests); + ImGui.Spacing(); + DrawQuestList(alliedSociety, quests); } } private void DrawQuestList(EAlliedSociety alliedSociety, List quests) { - int num = (((int)alliedSociety <= 4) ? (-562687489) : (-562687491)); - int num6 = default(int); - while (true) + int num = (((int)alliedSociety <= 4) ? 4 : ((alliedSociety != EAlliedSociety.Ixal) ? 9 : 8)); + int num2 = num; + int num3 = 0; + byte rank = 1; + while (rank <= num2) { - int num2 = num; - int num3 = -562687493; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + List list = quests.Where((QuestInfo x) => x.AlliedSocietyRank == rank).ToList(); + if (list.Count != 0) { - case 1: - num6 = 9; - num = -562687496; - break; - case 5: - num = -562687494; - break; - case 6: - num = ((alliedSociety == EAlliedSociety.Ixal) ? (-562687495) : (-562687490)); - break; - case 4: - num6 = 4; - num = -562687496; - break; - case 2: - num6 = 8; - num = -562687496; - break; - case 0: - num = -562687491; - break; - case 3: - { - int num5 = num6; - int num7 = 0; - byte rank = 1; - while (rank <= num5) + ImGui.TextColored(in UiThemeUtils.MutedTextColor, RankNames[rank]); + foreach (QuestInfo item in list) { - List list = quests.Where((QuestInfo x) => x.AlliedSocietyRank == rank).ToList(); - if (list.Count != 0) - { - _206B_200D_206F_206D_206D_202C_202D_202A_200C_206D_200B_200B_202A_206C_202B_202E_206D_200E_202B_200E_202E_200D_206A_206C_200E_202E_200D_206F_200F_202B_202A_206B_202B_206E_202B_206B_206A_206C_200C_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)RankNames[rank]); - using List.Enumerator enumerator = list.GetEnumerator(); - num = -192678582; - while (true) - { - int num8 = num; - num3 = -192678581; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 3: - num = -192678582; - break; - case 2: - { - QuestInfo current = enumerator.Current; - int num11 = num7; - num3 = 1; - num4 = num11; - int num12 = num4 ^ num3; - int num13 = num4 & num3; - num7 = num12 + (num13 + num13); - UiThemeUtils.DrawAltRowBackground(num11); - DrawQuest(current); - num = -192678582; - break; - } - case 1: - num = (enumerator.MoveNext() ? (-192678583) : (-192678581)); - break; - case 0: - goto end_IL_0128; - } - continue; - end_IL_0128: - break; - } - } - byte num14 = rank; - num3 = 1; - num4 = num14; - int num15 = num4 ^ num3; - int num16 = num4 & num3; - byte b = (byte)(num15 + (num16 + num16)); - rank = b; + UiThemeUtils.DrawAltRowBackground(num3++); + DrawQuest(item); } - return; - } } + byte b = (byte)(rank + 1); + rank = b; } } private void DrawAddToPriorityButtons(EAlliedSociety alliedSociety, List quests) { bool flag = (int)alliedSociety <= 5; - int num = (flag ? (-1988656495) : (-1988656490)); - List list = default(List); - int dailyLimit = default(int); - int remainingAllowances = default(int); - while (true) + int dailyLimit = (flag ? 12 : 3); + int remainingAllowances = GetRemainingAllowances(); + Quest quest; + List list = (from q in quests + where _questRegistry.TryGetQuest(q.QuestId, out quest) && !quest.Root.Disabled + where !_questController.ManualPriorityQuests.Any((Quest pq) => pq.Id.Equals(q.QuestId)) + orderby q.AlliedSocietyRank descending + select q).ToList(); + if (list.Count == 0) { - int num2 = num; - int num3 = -1988656493; - int num4 = num2; - int num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - DrawArrSocietyButtons(alliedSociety, list, dailyLimit, remainingAllowances); - return; - case 3: - num = ((!flag) ? (-1988656491) : (-1988656494)); - break; - case 0: - num = -1988656490; - break; - case 5: - num5 = 3; - goto IL_00b1; - case 4: - DrawDisabledAddButton(); - return; - case 2: - num5 = 12; - goto IL_00b1; - case 6: - { - DrawStandardAddButton(alliedSociety, list, remainingAllowances); - return; - } - IL_00b1: - dailyLimit = num5; - remainingAllowances = GetRemainingAllowances(); - list = (from q in quests.Where(delegate(QuestInfo q) - { - Quest quest; - int num6 = ((!_questRegistry.TryGetQuest(q.QuestId, out quest)) ? (-50999461) : (-50999462)); - while (true) - { - int num7 = num6; - int num8 = -50999461; - int num9 = num7; - int num10 = num9 + num8; - int num11 = num9 & num8; - switch (num10 - (num11 + num11)) - { - case 0: - return false; - case 1: - return !_206F_200E_200C_206B_206F_206B_202E_200E_200B_200C_200C_202E_206B_206B_200B_202E_200F_200E_200E_200E_206E_202D_206C_206B_202A_202C_200C_200B_202D_200B_206E_206B_200E_206D_206D_206C_200D_202E_200F_206F_202E(quest.Root); - case 2: - goto IL_0066; - } - continue; - IL_0066: - num6 = -50999462; - } - }) - where !_questController.ManualPriorityQuests.Any((Quest pq) => _003C_003Ec__DisplayClass21_0._206F_202C_200D_206C_202D_206C_200D_206F_202C_206F_206C_202B_200C_200E_200B_202B_206E_200F_206C_200D_206C_202A_202C_206A_202C_202E_200B_202C_202A_202C_206E_200E_200B_206E_202A_206C_206A_206D_202D_200F_202E(pq.Id, q.QuestId)) - orderby q.AlliedSocietyRank descending - select q).ToList(); - num = ((list.Count != 0) ? (-1988656496) : (-1988656489)); - break; - } + DrawDisabledAddButton(); + } + else if (flag) + { + DrawArrSocietyButtons(alliedSociety, list, dailyLimit, remainingAllowances); + } + else + { + DrawStandardAddButton(alliedSociety, list, remainingAllowances); } } private unsafe int GetRemainingAllowances() { QuestManager* ptr = QuestManager.Instance(); - int num = ((ptr != null) ? (-981576494) : (-981576495)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -981576496; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0049; - case 1: - return 12; - case 2: - return (int)ptr->GetBeastTribeAllowance(); - } - continue; - IL_0049: - num = -981576495; + return 12; } + return (int)ptr->GetBeastTribeAllowance(); } private static float IconTextButtonWidth(FontAwesomeIcon icon, string text) { - ImRaii.FontDisposable fontDisposable = _206A_206A_202A_202C_206D_206E_206B_202D_200E_200E_200C_206C_200C_202B_202C_202B_202E_202E_202A_206F_206B_206A_202A_200D_200D_202C_206E_200B_206A_202E_202B_206C_206E_200E_202C_206A_200E_202C_200C_206D_202E(_206E_200C_202B_206A_206A_202B_202D_206B_200D_200C_200F_200C_206F_200F_200F_200E_202C_206B_200F_206B_200F_206F_200C_202E_206C_200C_200F_206C_202E_202A_200E_200D_200D_202A_200C_200C_206F_206D_206A_206F_202E(), true); Vector2 vector; - try + using (ImRaii.PushFont(UiBuilder.IconFont)) { - vector = _200E_202C_200B_206B_206F_206B_202B_202D_202A_200D_202D_206A_202A_200E_206D_202C_206B_206E_202A_200F_206B_206F_202C_206C_200F_200F_206B_200B_206B_202A_200C_202B_200F_200B_206A_206F_200F_206B_202B_202D_202E((ImU8String)_200F_202D_202E_206D_200F_206E_202C_206F_206E_202E_206A_206E_202D_206F_202B_206C_206C_202E_200F_206A_206F_202B_206D_202D_206F_200C_202E_200E_200F_206B_202A_200D_202A_202C_206D_200F_200B_202A_206B_206B_202E(icon), false, -1f); + vector = ImGui.CalcTextSize(icon.ToIconString()); } - finally - { - int num = ((fontDisposable == null) ? 920978695 : 920978694); - while (true) - { - int num2 = num; - int num3 = 920978695; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 920978694; - break; - case 0: - goto end_IL_0044; - case 1: - _200F_206B_202C_202B_200E_206A_206A_206A_202C_202D_206A_202B_206A_202C_206D_206B_200D_206A_200E_206E_202E_200C_206A_206D_202B_200E_206A_202E_202E_202A_206A_200C_200E_200F_200B_200C_206E_202A_200C_206B_202E((IDisposable)fontDisposable); - num = 920978695; - break; - } - continue; - end_IL_0044: - break; - } - } - return _206C_200B_206E_206D_200F_200C_200B_202D_206B_206D_206B_202A_206A_206C_200E_202B_202B_200D_206C_206A_206F_202D_206F_206A_206C_206B_206A_200C_200C_206E_206F_202D_202D_206F_206F_206E_206B_200B_200F_206E_202E().FramePadding.X * 3f * 2f + vector.X + 6f + _200E_202C_200B_206B_206F_206B_202B_202D_202A_200D_202D_206A_202A_200E_206D_202C_206B_206E_202A_200F_206B_206F_202C_206C_200F_200F_206B_200B_206B_202A_200C_202B_200F_200B_206A_206F_200F_206B_202B_202D_202E((ImU8String)text, false, -1f).X; + return ImGui.GetStyle().FramePadding.X * 3f * 2f + vector.X + 6f + ImGui.CalcTextSize(text).X; } - [MethodImpl(MethodImplOptions.NoInlining)] private static void DrawDisabledAddButton() { - ImRaii.DisabledDisposable disabledDisposable = _200B_202B_202C_202E_200E_206C_202C_200C_200F_206D_200F_206B_206E_200C_202E_202A_202C_206F_202E_202B_206A_200C_202A_206D_206F_202C_200D_200B_206E_206D_202E_206D_200C_200C_200C_200B_206E_206C_200E_202E(true); - int num; - try + using (ImRaii.Disabled(disabled: true)) { - UiThemeUtils.IconTextButton(FontAwesomeIcon.Plus, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(979306502), IconTextButtonWidth(FontAwesomeIcon.Plus, 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(-2145387776))); + UiThemeUtils.IconTextButton(FontAwesomeIcon.Plus, "Add to Priority", IconTextButtonWidth(FontAwesomeIcon.Plus, "Add to Priority")); } - finally + if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) { - num = ((disabledDisposable == null) ? (-500733352) : (-500733351)); - while (true) - { - int num2 = num; - int num3 = -500733352; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -500733351; - break; - case 1: - _200F_206B_202C_202B_200E_206A_206A_206A_202C_202D_206A_202B_206A_202C_206D_206B_200D_206A_200E_206E_202E_200C_206A_206D_202B_200E_206A_202E_202E_202A_206A_200C_200E_200F_200B_200C_206E_202A_200C_206B_202E((IDisposable)disabledDisposable); - num = -500733352; - break; - case 0: - goto end_IL_0051; - } - continue; - end_IL_0051: - break; - } - } - num = ((!_200C_202E_202D_206A_200C_202A_200C_200C_206D_200B_206B_202A_206B_202C_202C_200B_206B_206F_200C_202B_206A_202C_206B_206E_206A_202D_200D_202D_202A_206C_202A_206E_206A_200B_200E_206A_200E_200B_206A_200E_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? 1860909156 : 1860909159); - while (true) - { - int num5 = num; - int num3 = 1860909157; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 1: - return; - case 2: - _202C_206A_206E_202D_200C_200E_202A_200F_202E_206C_200F_200C_202E_206C_200E_206A_206A_206A_202D_206D_206E_202C_200C_206A_200B_206A_202E_200C_206E_206F_202C_206E_206E_206E_200B_206C_200E_206B_200E_200E_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(859090157)); - num = 1860909156; - break; - case 0: - num = 1860909159; - break; - } + ImGui.SetTooltip("No quests available to add (may be disabled, already in priority, or not available)"); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawArrSocietyButtons(EAlliedSociety alliedSociety, List availableQuests, int dailyLimit, int remainingAllowances) { - int num = _206F_202A_206D_202C_206D_200D_202A_200F_206C_202B_206C_206A_200E_202B_200C_206B_200C_200C_202E_202D_206E_200D_200F_202A_200B_202D_206E_202A_202E_202B_200E_202D_202E_202E_202A_202C_206C_200E_206E_200F_202E(_206F_202A_206D_202C_206D_200D_202A_200F_206C_202B_206C_206A_200E_202B_200C_206B_200C_200C_202E_202D_206E_200D_200F_202A_200B_202D_206E_202A_202E_202B_200E_202D_202E_202E_202A_202C_206C_200E_206E_200F_202E(dailyLimit, remainingAllowances), availableQuests.Count); - ImRaii.DisabledDisposable disabledDisposable = _200B_202B_202C_202E_200E_206C_202C_200C_200F_206D_200F_206B_206E_200C_202E_202A_202C_206F_202E_202B_206A_200C_202A_206D_206F_202C_200D_200B_206E_206D_202E_206D_200C_200C_200C_200B_206E_206C_200E_202E(remainingAllowances == 0); - int num5; - try + int num = Math.Min(Math.Min(dailyLimit, remainingAllowances), availableQuests.Count); + using (ImRaii.Disabled(remainingAllowances == 0)) { - int num2 = num; - int num3 = 1; - int num4 = num2; - string text = default(string); - switch (~(~num4 + num3)) + string text = num switch { - default: - num5 = 2039988543; - goto IL_004d; - case 2: - text = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-587700351); - num5 = 2039988542; - goto IL_004d; - case 0: - goto IL_013b; - case 1: - goto IL_01d2; - IL_004d: - while (true) - { - int num6 = num5; - num3 = 2039988537; - num4 = num6; - int num7 = num4 + num3; - int num8 = num4 & num3; - switch (num7 - (num8 + num8)) - { - case 8: - goto end_IL_004d; - case 9: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(24, 1); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1218084889)); - defaultInterpolatedStringHandler2.AppendFormatted(num); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1921480924)); - text = defaultInterpolatedStringHandler2.ToStringAndClear(); - num5 = 2039988542; - break; - } - case 2: - AddQuestsToPriority(alliedSociety, availableQuests.Take(num).ToList()); - num5 = 2039988536; - break; - case 5: - goto IL_011b; - case 3: - goto IL_013b; - case 7: - goto IL_0153; - case 10: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(14, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-1727957168)); - defaultInterpolatedStringHandler.AppendFormatted(num); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(505623713)); - text = defaultInterpolatedStringHandler.ToStringAndClear(); - num5 = 2039988542; - break; - } - case 4: - goto IL_01d2; - case 6: - num5 = 2039988540; - break; - case 0: - num5 = 2039988543; - break; - case 1: - goto end_IL_0030; - } - continue; - IL_0153: - string text2 = text; - num5 = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Plus, text2, IconTextButtonWidth(FontAwesomeIcon.Plus, text2))) ? 2039988536 : 2039988539); - continue; - IL_011b: - num5 = ((num != remainingAllowances) ? 2039988531 : 2039988528); - continue; - end_IL_004d: - break; - } - goto case 2; - IL_01d2: - text = 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(-608472171); - num5 = 2039988542; - goto IL_004d; - IL_013b: - text = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1176371460); - num5 = 2039988542; - goto IL_004d; - end_IL_0030: - break; + 1 => "Add 1 Quest (Optimal)", + 2 => "Add 2 Quests (Optimal)", + 3 => "Add 3 Quests (Optimal)", + _ => (num != remainingAllowances) ? $"Add {num} (Optimal)" : $"Add {num} (Today's Remaining)", + }; + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Plus, text, IconTextButtonWidth(FontAwesomeIcon.Plus, text))) + { + AddQuestsToPriority(alliedSociety, availableQuests.Take(num).ToList()); } } - finally + if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) { - num5 = ((disabledDisposable == null) ? (-1217205887) : (-1217205886)); - while (true) - { - int num9 = num5; - int num3 = -1217205888; - int num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 0: - num5 = -1217205886; - break; - case 1: - goto end_IL_0225; - case 2: - _200F_206B_202C_202B_200E_206A_206A_206A_202C_202D_206A_202B_206A_202C_206D_206B_200D_206A_200E_206E_202E_200C_206A_206D_202B_200E_206A_202E_202E_202A_206A_200C_200E_200F_200B_200C_206E_202A_200C_206B_202E((IDisposable)disabledDisposable); - num5 = -1217205887; - break; - } - continue; - end_IL_0225: - break; - } + DrawRecommendedButtonTooltip(num, remainingAllowances, dailyLimit, alliedSociety, availableQuests.Count); } - num5 = ((!_200C_202E_202D_206A_200C_202A_200C_200C_206D_200B_206B_202A_206B_202C_202C_200B_206B_206F_200C_202B_206A_202C_206B_206E_206A_202D_200D_202D_202A_206C_202A_206E_206A_200B_200E_206A_200E_200B_206A_200E_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? (-217773596) : (-217773600)); - while (true) + ImGui.SameLine(); + string text2 = $"Add All {availableQuests.Count} Available"; + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.ListOl, text2, IconTextButtonWidth(FontAwesomeIcon.ListOl, text2))) { - int num12 = num5; - int num3 = -217773598; - int num4 = num12; - int num13 = num4 + num3; - int num14 = num4 & num3; - switch (num13 - (num14 + num14)) - { - case 0: - AddQuestsToPriority(alliedSociety, availableQuests); - num5 = -217773593; - break; - case 4: - return; - case 1: - DrawAddAllButtonTooltip(availableQuests.Count, remainingAllowances, dailyLimit, alliedSociety); - num5 = -217773594; - break; - case 6: - { - _202C_206A_200C_200B_206C_206C_200B_200F_206E_206D_206C_206F_206C_202B_202D_206A_200E_206D_206E_202D_202A_206B_202D_206E_206F_202E_200F_202D_206F_206F_206F_206A_200E_206B_206A_202D_200E_202E_206A_202E_202E(); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(18, 1); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-563068051)); - defaultInterpolatedStringHandler3.AppendFormatted(availableQuests.Count); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1982881491)); - string text3 = defaultInterpolatedStringHandler3.ToStringAndClear(); - num5 = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.ListOl, text3, IconTextButtonWidth(FontAwesomeIcon.ListOl, text3))) ? (-217773593) : (-217773598)); - break; - } - case 2: - DrawRecommendedButtonTooltip(num, remainingAllowances, dailyLimit, alliedSociety, availableQuests.Count); - num5 = -217773596; - break; - case 3: - num5 = -217773600; - break; - case 5: - num5 = ((!_206A_200F_202B_202B_200E_200C_206B_200D_206D_206E_202E_202C_206A_200D_206A_200E_200E_206C_202B_206F_206F_206F_202C_206B_206F_202D_206F_202B_200D_200E_202D_206D_206E_200C_202D_202D_200D_202E_202D_206A_202E()) ? (-217773594) : (-217773597)); - break; - } + AddQuestsToPriority(alliedSociety, availableQuests); + } + if (ImGui.IsItemHovered()) + { + DrawAddAllButtonTooltip(availableQuests.Count, remainingAllowances, dailyLimit, alliedSociety); } } - [MethodImpl(MethodImplOptions.NoInlining)] private static void DrawRecommendedButtonTooltip(int questsToAddCount, int remainingAllowances, int dailyLimit, EAlliedSociety alliedSociety, int availableCount) { - _200C_200E_200B_200C_202A_200B_202E_200F_202A_206D_202A_202C_200C_200B_206C_206F_206B_202C_206B_206C_200E_206E_200E_206A_200B_202E_202A_206D_206E_202A_200B_200E_202D_200D_202E_200B_202B_206C_202C_206B_202E(); + ImGui.BeginTooltip(); if (remainingAllowances == 0) { - ImRaii.ColorDisposable colorDisposable = _202B_206D_202D_206B_206B_202C_206A_206D_202E_206E_200C_202C_202B_206E_200F_202B_200E_206D_206F_206F_202C_200C_206C_202B_206C_206F_200E_202D_202E_202D_206A_206C_206E_200F_200B_200B_202D_206D_202D_200D_202E(ImGuiCol.Text, UiThemeUtils.StatusLocked, true); - try + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.StatusLocked)) { - ImU8String imU8String = new ImU8String(0, 1); - imU8String.AppendFormatted(_202B_206F_200E_206C_202A_202B_200D_200C_200B_202D_206B_200F_202B_206B_206E_200B_202B_206E_206D_206D_202D_206A_200C_200F_200C_200B_202A_206E_202B_202A_200C_206D_202C_202A_200E_206A_202B_206B_200E_202D_202E(SeIconChar.Cross)); - _202D_206B_206F_202E_202E_200D_202E_206E_200B_200E_206F_200C_206F_202D_206E_206D_206A_202D_206E_206B_206D_202B_202E_200B_206B_202A_202A_200F_200B_202B_202A_200B_206D_206A_206B_206C_200E_200D_200E_206F_202E(imU8String); - _202C_206A_200C_200B_206C_206C_200B_200F_206E_206D_206C_206F_206C_202B_202D_206A_200E_206D_206E_202D_202A_206B_202D_206E_206F_202E_200F_202D_206F_206F_206F_206A_200E_206B_206A_202D_200E_202E_206A_202E_202E(); - _202B_206E_202E_200C_206C_202B_206A_206E_206F_202D_200E_202E_206B_200B_206B_200F_206B_206B_202C_200E_206B_206D_206B_206F_206F_206E_200D_202B_206C_206A_202D_206B_206D_200D_202C_200D_202B_200B_206D_200D_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1336883143)); + ImU8String text = new ImU8String(0, 1); + text.AppendFormatted(SeIconChar.Cross.ToIconString()); + ImGui.Text(text); + ImGui.SameLine(); + ImGui.TextUnformatted("No daily allowances remaining"); } - finally - { - int num = ((colorDisposable == null) ? (-348792307) : (-348792306)); - while (true) - { - int num2 = num; - int num3 = -348792305; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -348792306; - break; - case 2: - goto end_IL_0073; - case 1: - _200F_206B_202C_202B_200E_206A_206A_206A_202C_202D_206A_202B_206A_202C_206D_206B_200D_206A_200E_206E_202E_200C_206A_206D_202B_200E_206A_202E_202E_202A_206A_200C_200E_200F_200B_200C_206E_202A_200C_206B_202E((IDisposable)colorDisposable); - num = -348792307; - break; - } - continue; - end_IL_0073: - break; - } - } - ImU8String imU8String2 = new ImU8String(44, 1); - imU8String2.AppendLiteral(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(1943636564)); - imU8String2.AppendFormatted(12); - imU8String2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(12893769)); - _206B_200D_206F_206D_206D_202C_202D_202A_200C_206D_200B_200B_202A_206C_202B_202E_206D_200E_202B_200E_202E_200D_206A_206C_200E_202E_200D_206F_200F_202B_202A_206B_202B_206E_202B_206B_206A_206C_200C_202E(ref UiThemeUtils.MutedTextColor, imU8String2); + ImU8String text2 = new ImU8String(44, 1); + text2.AppendLiteral("You've used all "); + text2.AppendFormatted(12); + text2.AppendLiteral(" shared allowances for today"); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, text2); } else if (questsToAddCount == remainingAllowances && questsToAddCount < availableCount) { - ImRaii.ColorDisposable colorDisposable = _202B_206D_202D_206B_206B_202C_206A_206D_202E_206E_200C_202C_202B_206E_200F_202B_200E_206D_206F_206F_202C_200C_206C_202B_206C_206F_200E_202D_202E_202D_206A_206C_206E_200F_200B_200B_202D_206D_202D_200D_202E(ImGuiCol.Text, UiThemeUtils.StatusComplete, true); - try + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.StatusComplete)) { - ImU8String imU8String3 = new ImU8String(0, 1); - imU8String3.AppendFormatted(_202B_206F_200E_206C_202A_202B_200D_200C_200B_202D_206B_200F_202B_206B_206E_200B_202B_206E_206D_206D_202D_206A_200C_200F_200C_200B_202A_206E_202B_202A_200C_206D_202C_202A_200E_206A_202B_206B_200E_202D_202E(SeIconChar.QuestSync)); - _202D_206B_206F_202E_202E_200D_202E_206E_200B_200E_206F_200C_206F_202D_206E_206D_206A_202D_206E_206B_206D_202B_202E_200B_206B_202A_202A_200F_200B_202B_202A_200B_206D_206A_206B_206C_200E_200D_200E_206F_202E(imU8String3); - _202C_206A_200C_200B_206C_206C_200B_200F_206E_206D_206C_206F_206C_202B_202D_206A_200E_206D_206E_202D_202A_206B_202D_206E_206F_202E_200F_202D_206F_206F_206F_206A_200E_206B_206A_202D_200E_202E_206A_202E_202E(); - ImU8String imU8String4 = new ImU8String(5, 2); - imU8String4.AppendLiteral(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(-1493671905)); - imU8String4.AppendFormatted(questsToAddCount); - imU8String4.AppendLiteral(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(-1051702537)); - imU8String4.AppendFormatted((questsToAddCount == 1) ? 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(-607980198) : 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(1391970161)); - _202B_206E_202E_200C_206C_202B_206A_206E_206F_202D_200E_202E_206B_200B_206B_200F_206B_206B_202C_200E_206B_206D_206B_206F_206F_206E_200D_202B_206C_206A_202D_206B_206D_200D_202C_200D_202B_200B_206D_200D_202E(imU8String4); + ImU8String text3 = new ImU8String(0, 1); + text3.AppendFormatted(SeIconChar.QuestSync.ToIconString()); + ImGui.Text(text3); + ImGui.SameLine(); + ImU8String text4 = new ImU8String(5, 2); + text4.AppendLiteral("Add "); + text4.AppendFormatted(questsToAddCount); + text4.AppendLiteral(" "); + text4.AppendFormatted((questsToAddCount == 1) ? "quest" : "quests"); + ImGui.TextUnformatted(text4); } - finally - { - int num = ((colorDisposable == null) ? (-1931404698) : (-1931404699)); - while (true) - { - int num7 = num; - int num3 = -1931404697; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 1: - goto end_IL_01c9; - case 2: - _200F_206B_202C_202B_200E_206A_206A_206A_202C_202D_206A_202B_206A_202C_206D_206B_200D_206A_200E_206E_202E_200C_206A_206D_202B_200E_206A_202E_202E_202A_206A_200C_200E_200F_200B_200C_206E_202A_200C_206B_202E((IDisposable)colorDisposable); - num = -1931404698; - break; - case 0: - num = -1931404699; - break; - } - continue; - end_IL_01c9: - break; - } - } - ImU8String imU8String5 = new ImU8String(44, 2); - imU8String5.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1690517102)); - imU8String5.AppendFormatted(remainingAllowances); - imU8String5.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1511293645)); - imU8String5.AppendFormatted((remainingAllowances == 1) ? global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(308044519) : 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(1303968590)); - imU8String5.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(893587226)); - _206B_200D_206F_206D_206D_202C_202D_202A_200C_206D_200B_200B_202A_206C_202B_202E_206D_200E_202B_200E_202E_200D_206A_206C_200E_202E_200D_206F_200F_202B_202A_206B_202B_206E_202B_206B_206A_206C_200C_202E(ref UiThemeUtils.MutedTextColor, imU8String5); - _202E_200B_200E_200F_202B_206B_200B_202C_202A_202B_200C_206C_200E_206D_202D_202A_200C_206B_206A_200B_206C_202A_200B_206C_200F_206E_206F_206F_202E_200B_206E_206A_200C_206D_206C_200C_202C_200F_200D_202C_202E(); - _206B_200D_206F_206D_206D_202C_202D_202A_200C_206D_200B_200B_202A_206C_202B_202E_206D_200E_202B_200E_202E_200D_206A_206C_200E_202E_200D_206F_200F_202B_202A_206B_202B_206E_202B_206B_206A_206C_200C_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)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(-2050965222)); + ImU8String text5 = new ImU8String(44, 2); + text5.AppendLiteral("You can complete "); + text5.AppendFormatted(remainingAllowances); + text5.AppendLiteral(" more allied society "); + text5.AppendFormatted((remainingAllowances == 1) ? "quest" : "quests"); + text5.AppendLiteral(" today"); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, text5); + ImGui.Spacing(); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, "Prioritises highest rank quests first"); } else if (questsToAddCount == dailyLimit) { - ImRaii.ColorDisposable colorDisposable = _202B_206D_202D_206B_206B_202C_206A_206D_202E_206E_200C_202C_202B_206E_200F_202B_200E_206D_206F_206F_202C_200C_206C_202B_206C_206F_200E_202D_202E_202D_206A_206C_206E_200F_200B_200B_202D_206D_202D_200D_202E(ImGuiCol.Text, UiThemeUtils.StatusComplete, true); - try + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.StatusComplete)) { - ImU8String imU8String6 = new ImU8String(0, 1); - imU8String6.AppendFormatted(_202B_206F_200E_206C_202A_202B_200D_200C_200B_202D_206B_200F_202B_206B_206E_200B_202B_206E_206D_206D_202D_206A_200C_200F_200C_200B_202A_206E_202B_202A_200C_206D_202C_202A_200E_206A_202B_206B_200E_202D_202E(SeIconChar.QuestSync)); - _202D_206B_206F_202E_202E_200D_202E_206E_200B_200E_206F_200C_206F_202D_206E_206D_206A_202D_206E_206B_206D_202B_202E_200B_206B_202A_202A_200F_200B_202B_202A_200B_206D_206A_206B_206C_200E_200D_200E_206F_202E(imU8String6); - _202C_206A_200C_200B_206C_206C_200B_200F_206E_206D_206C_206F_206C_202B_202D_206A_200E_206D_206E_202D_202A_206B_202D_206E_206F_202E_200F_202D_206F_206F_206F_206A_200E_206B_206A_202D_200E_202E_206A_202E_202E(); - ImU8String imU8String7 = new ImU8String(11, 1); - imU8String7.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(797689590)); - imU8String7.AppendFormatted(dailyLimit); - imU8String7.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(151691242)); - _202B_206E_202E_200C_206C_202B_206A_206E_206F_202D_200E_202E_206B_200B_206B_200F_206B_206B_202C_200E_206B_206D_206B_206F_206F_206E_200D_202B_206C_206A_202D_206B_206D_200D_202C_200D_202B_200B_206D_200D_202E(imU8String7); + ImU8String text6 = new ImU8String(0, 1); + text6.AppendFormatted(SeIconChar.QuestSync.ToIconString()); + ImGui.Text(text6); + ImGui.SameLine(); + ImU8String text7 = new ImU8String(11, 1); + text7.AppendLiteral("Add "); + text7.AppendFormatted(dailyLimit); + text7.AppendLiteral(" quests"); + ImGui.TextUnformatted(text7); } - finally - { - int num = ((colorDisposable == null) ? 1466168460 : 1466168463); - while (true) - { - int num10 = num; - int num3 = 1466168461; - int num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1466168463; - break; - case 1: - goto end_IL_0349; - case 2: - _200F_206B_202C_202B_200E_206A_206A_206A_202C_202D_206A_202B_206A_202C_206D_206B_200D_206A_200E_206E_202E_200C_206A_206D_202B_200E_206A_202E_202E_202A_206A_200C_200E_200F_200B_200C_206E_202A_200C_206B_202E((IDisposable)colorDisposable); - num = 1466168460; - break; - } - continue; - end_IL_0349: - break; - } - } - ImU8String imU8String8 = new ImU8String(51, 2); - imU8String8.AppendLiteral(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(526137809)); - imU8String8.AppendFormatted(dailyLimit); - imU8String8.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-48506798)); - imU8String8.AppendFormatted(remainingAllowances); - imU8String8.AppendLiteral(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(-1668324224)); - _206B_200D_206F_206D_206D_202C_202D_202A_200C_206D_200B_200B_202A_206C_202B_202E_206D_200E_202B_200E_202E_200D_206A_206C_200E_202E_200D_206F_200F_202B_202A_206B_202B_206E_202B_206B_206A_206C_200C_202E(ref UiThemeUtils.MutedTextColor, imU8String8); - _202E_200B_200E_200F_202B_206B_200B_202C_202A_202B_200C_206C_200E_206D_202D_202A_200C_206B_206A_200B_206C_202A_200B_206C_200F_206E_206F_206F_202E_200B_206E_206A_200C_206D_206C_200C_202C_200F_200D_202C_202E(); - _206B_200D_206F_206D_206D_202C_202D_202A_200C_206D_200B_200B_202A_206C_202B_202E_206D_200E_202B_200E_202E_200D_206A_206C_200E_202E_200D_206F_200F_202B_202A_206B_202B_206E_202B_206B_206A_206C_200C_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1710717342)); + ImU8String text8 = new ImU8String(51, 2); + text8.AppendLiteral("This will use "); + text8.AppendFormatted(dailyLimit); + text8.AppendLiteral(" of your "); + text8.AppendFormatted(remainingAllowances); + text8.AppendLiteral(" remaining shared allowances"); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, text8); + ImGui.Spacing(); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, "Prioritises highest rank quests first"); } else if (questsToAddCount == availableCount) { - ImRaii.ColorDisposable colorDisposable = _202B_206D_202D_206B_206B_202C_206A_206D_202E_206E_200C_202C_202B_206E_200F_202B_200E_206D_206F_206F_202C_200C_206C_202B_206C_206F_200E_202D_202E_202D_206A_206C_206E_200F_200B_200B_202D_206D_202D_200D_202E(ImGuiCol.Text, UiThemeUtils.StatusComplete, true); - try + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.StatusComplete)) { - ImU8String imU8String9 = new ImU8String(0, 1); - imU8String9.AppendFormatted(_202B_206F_200E_206C_202A_202B_200D_200C_200B_202D_206B_200F_202B_206B_206E_200B_202B_206E_206D_206D_202D_206A_200C_200F_200C_200B_202A_206E_202B_202A_200C_206D_202C_202A_200E_206A_202B_206B_200E_202D_202E(SeIconChar.QuestSync)); - _202D_206B_206F_202E_202E_200D_202E_206E_200B_200E_206F_200C_206F_202D_206E_206D_206A_202D_206E_206B_206D_202B_202E_200B_206B_202A_202A_200F_200B_202B_202A_200B_206D_206A_206B_206C_200E_200D_200E_206F_202E(imU8String9); - _202C_206A_200C_200B_206C_206C_200B_200F_206E_206D_206C_206F_206C_202B_202D_206A_200E_206D_206E_202D_202A_206B_202D_206E_206F_202E_200F_202D_206F_206F_206F_206A_200E_206B_206A_202D_200E_202E_206A_202E_202E(); - ImU8String imU8String10 = new ImU8String(20, 3); - imU8String10.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1748878796)); - imU8String10.AppendFormatted(questsToAddCount); - imU8String10.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1734073964)); - imU8String10.AppendFormatted(alliedSociety); - imU8String10.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-818915859)); - imU8String10.AppendFormatted((questsToAddCount == 1) ? global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(576325633) : global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(233880951)); - _202B_206E_202E_200C_206C_202B_206A_206E_206F_202D_200E_202E_206B_200B_206B_200F_206B_206B_202C_200E_206B_206D_206B_206F_206F_206E_200D_202B_206C_206A_202D_206B_206D_200D_202C_200D_202B_200B_206D_200D_202E(imU8String10); + ImU8String text9 = new ImU8String(0, 1); + text9.AppendFormatted(SeIconChar.QuestSync.ToIconString()); + ImGui.Text(text9); + ImGui.SameLine(); + ImU8String text10 = new ImU8String(20, 3); + text10.AppendLiteral("Add all "); + text10.AppendFormatted(questsToAddCount); + text10.AppendLiteral(" available "); + text10.AppendFormatted(alliedSociety); + text10.AppendLiteral(" "); + text10.AppendFormatted((questsToAddCount == 1) ? "quest" : "quests"); + ImGui.TextUnformatted(text10); } - finally - { - int num = ((colorDisposable == null) ? (-1997523121) : (-1997523124)); - while (true) - { - int num11 = num; - int num3 = -1997523122; - int num4 = num11; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1997523124; - break; - case 1: - goto end_IL_04e9; - case 2: - _200F_206B_202C_202B_200E_206A_206A_206A_202C_202D_206A_202B_206A_202C_206D_206B_200D_206A_200E_206E_202E_200C_206A_206D_202B_200E_206A_202E_202E_202A_206A_200C_200E_200F_200B_200C_206E_202A_200C_206B_202E((IDisposable)colorDisposable); - num = -1997523121; - break; - } - continue; - end_IL_04e9: - break; - } - } - ImU8String imU8String11 = new ImU8String(37, 2); - imU8String11.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1620683229)); - imU8String11.AppendFormatted(questsToAddCount); - imU8String11.AppendLiteral(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(891743000)); - imU8String11.AppendFormatted(remainingAllowances); - imU8String11.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2074684074)); - _206B_200D_206F_206D_206D_202C_202D_202A_200C_206D_200B_200B_202A_206C_202B_202E_206D_200E_202B_200E_202E_200D_206A_206C_200E_202E_200D_206F_200F_202B_202A_206B_202B_206E_202B_206B_206A_206C_200C_202E(ref UiThemeUtils.MutedTextColor, imU8String11); - _202E_200B_200E_200F_202B_206B_200B_202C_202A_202B_200C_206C_200E_206D_202D_202A_200C_206B_206A_200B_206C_202A_200B_206C_200F_206E_206F_206F_202E_200B_206E_206A_200C_206D_206C_200C_202C_200F_200D_202C_202E(); - _206B_200D_206F_206D_206D_202C_202D_202A_200C_206D_200B_200B_202A_206C_202B_202E_206D_200E_202B_200E_202E_200D_206A_206C_200E_202E_200D_206F_200F_202B_202A_206B_202B_206E_202B_206B_206A_206C_200C_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1710717342)); + ImU8String text11 = new ImU8String(37, 2); + text11.AppendLiteral("Uses "); + text11.AppendFormatted(questsToAddCount); + text11.AppendLiteral(" of "); + text11.AppendFormatted(remainingAllowances); + text11.AppendLiteral(" shared allowances remaining"); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, text11); + ImGui.Spacing(); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, "Prioritises highest rank quests first"); } else { - ImRaii.ColorDisposable colorDisposable = _202B_206D_202D_206B_206B_202C_206A_206D_202E_206E_200C_202C_202B_206E_200F_202B_200E_206D_206F_206F_202C_200C_206C_202B_206C_206F_200E_202D_202E_202D_206A_206C_206E_200F_200B_200B_202D_206D_202D_200D_202E(ImGuiCol.Text, UiThemeUtils.StatusActive, true); - try + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.StatusActive)) { - ImU8String imU8String12 = new ImU8String(0, 1); - imU8String12.AppendFormatted(_202B_206F_200E_206C_202A_202B_200D_200C_200B_202D_206B_200F_202B_206B_206E_200B_202B_206E_206D_206D_202D_206A_200C_200F_200C_200B_202A_206E_202B_202A_200C_206D_202C_202A_200E_206A_202B_206B_200E_202D_202E(SeIconChar.BoxedLetterQ)); - _202D_206B_206F_202E_202E_200D_202E_206E_200B_200E_206F_200C_206F_202D_206E_206D_206A_202D_206E_206B_206D_202B_202E_200B_206B_202A_202A_200F_200B_202B_202A_200B_206D_206A_206B_206C_200E_200D_200E_206F_202E(imU8String12); - _202C_206A_200C_200B_206C_206C_200B_200F_206E_206D_206C_206F_206C_202B_202D_206A_200E_206D_206E_202D_202A_206B_202D_206E_206F_202E_200F_202D_206F_206F_206F_206A_200E_206B_206A_202D_200E_202E_206A_202E_202E(); - ImU8String imU8String13 = new ImU8String(6, 3); - imU8String13.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(797689590)); - imU8String13.AppendFormatted(questsToAddCount); - imU8String13.AppendLiteral(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(2018550958)); - imU8String13.AppendFormatted(alliedSociety); - imU8String13.AppendLiteral(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(2018550958)); - imU8String13.AppendFormatted((questsToAddCount == 1) ? 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(-607980198) : global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-14946342)); - _202B_206E_202E_200C_206C_202B_206A_206E_206F_202D_200E_202E_206B_200B_206B_200F_206B_206B_202C_200E_206B_206D_206B_206F_206F_206E_200D_202B_206C_206A_202D_206B_206D_200D_202C_200D_202B_200B_206D_200D_202E(imU8String13); + ImU8String text12 = new ImU8String(0, 1); + text12.AppendFormatted(SeIconChar.BoxedLetterQ.ToIconString()); + ImGui.Text(text12); + ImGui.SameLine(); + ImU8String text13 = new ImU8String(6, 3); + text13.AppendLiteral("Add "); + text13.AppendFormatted(questsToAddCount); + text13.AppendLiteral(" "); + text13.AppendFormatted(alliedSociety); + text13.AppendLiteral(" "); + text13.AppendFormatted((questsToAddCount == 1) ? "quest" : "quests"); + ImGui.TextUnformatted(text13); } - finally - { - int num = ((colorDisposable == null) ? (-1147129248) : (-1147129245)); - while (true) - { - int num12 = num; - int num3 = -1147129246; - int num4 = num12; - int num13 = num4 + num3; - int num14 = num4 & num3; - switch (num13 - (num14 + num14)) - { - case 0: - num = -1147129245; - break; - case 1: - _200F_206B_202C_202B_200E_206A_206A_206A_202C_202D_206A_202B_206A_202C_206D_206B_200D_206A_200E_206E_202E_200C_206A_206D_202B_200E_206A_202E_202E_202A_206A_200C_200E_200F_200B_200C_206E_202A_200C_206B_202E((IDisposable)colorDisposable); - num = -1147129248; - break; - case 2: - goto end_IL_0680; - } - continue; - end_IL_0680: - break; - } - } - ImU8String imU8String14 = new ImU8String(55, 2); - imU8String14.AppendLiteral(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(1784736301)); - imU8String14.AppendFormatted(availableCount); - imU8String14.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1627889639)); - imU8String14.AppendFormatted(remainingAllowances); - imU8String14.AppendLiteral(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(424561659)); - _206B_200D_206F_206D_206D_202C_202D_202A_200C_206D_200B_200B_202A_206C_202B_202E_206D_200E_202B_200E_202E_200D_206A_206C_200E_202E_200D_206F_200F_202B_202A_206B_202B_206E_202B_206B_206A_206C_200C_202E(ref UiThemeUtils.MutedTextColor, imU8String14); - _202E_200B_200E_200F_202B_206B_200B_202C_202A_202B_200C_206C_200E_206D_202D_202A_200C_206B_206A_200B_206C_202A_200B_206C_200F_206E_206F_206F_202E_200B_206E_206A_200C_206D_206C_200C_202C_200F_200D_202C_202E(); - _206B_200D_206F_206D_206D_202C_202D_202A_200C_206D_200B_200B_202A_206C_202B_202E_206D_200E_202B_200E_202E_200D_206A_206C_200E_202E_200D_206F_200F_202B_202A_206B_202B_206E_202B_206B_206A_206C_200C_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1710717342)); + ImU8String text14 = new ImU8String(55, 2); + text14.AppendLiteral("Limited by available quests ("); + text14.AppendFormatted(availableCount); + text14.AppendLiteral(") and shared allowances ("); + text14.AppendFormatted(remainingAllowances); + text14.AppendLiteral(")"); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, text14); + ImGui.Spacing(); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, "Prioritises highest rank quests first"); } - _206D_202A_206D_206A_200F_206C_200C_200E_202E_200B_200D_206F_200C_202B_202D_206B_206C_200B_200B_202B_206A_206A_200D_206A_206A_200F_200F_200E_202E_206E_200D_202D_202D_202C_206A_202C_206D_202B_202E_200C_202E(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private static void DrawAddAllButtonTooltip(int availableCount, int remainingAllowances, int dailyLimit, EAlliedSociety alliedSociety) - { - _200C_200E_200B_200C_202A_200B_202E_200F_202A_206D_202A_202C_200C_200B_206C_206F_206B_202C_206B_206C_200E_206E_200E_206A_200B_202E_202A_206D_206E_202A_200B_200E_202D_200D_202E_200B_202B_206C_202C_206B_202E(); - if (availableCount > remainingAllowances) - { - ImRaii.ColorDisposable colorDisposable = _202B_206D_202D_206B_206B_202C_206A_206D_202E_206E_200C_202C_202B_206E_200F_202B_200E_206D_206F_206F_202C_200C_206C_202B_206C_206F_200E_202D_202E_202D_206A_206C_206E_200F_200B_200B_202D_206D_202D_200D_202E(ImGuiCol.Text, UiThemeUtils.StatusActive, true); - try - { - ImU8String imU8String = new ImU8String(0, 1); - imU8String.AppendFormatted(_202B_206F_200E_206C_202A_202B_200D_200C_200B_202D_206B_200F_202B_206B_206E_200B_202B_206E_206D_206D_202D_206A_200C_200F_200C_200B_202A_206E_202B_202A_200C_206D_202C_202A_200E_206A_202B_206B_200E_202D_202E(SeIconChar.Cross)); - _202D_206B_206F_202E_202E_200D_202E_206E_200B_200E_206F_200C_206F_202D_206E_206D_206A_202D_206E_206B_206D_202B_202E_200B_206B_202A_202A_200F_200B_202B_202A_200B_206D_206A_206B_206C_200E_200D_200E_206F_202E(imU8String); - _202C_206A_200C_200B_206C_206C_200B_200F_206E_206D_206C_206F_206C_202B_202D_206A_200E_206D_206E_202D_202A_206B_202D_206E_206F_202E_200F_202D_206F_206F_206F_206A_200E_206B_206A_202D_200E_202E_206A_202E_202E(); - _202B_206E_202E_200C_206C_202B_206A_206E_206F_202D_200E_202E_206B_200B_206B_200F_206B_206B_202C_200E_206B_206D_206B_206F_206F_206E_200D_202B_206C_206A_202D_206B_206D_200D_202C_200D_202B_200B_206D_200D_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(288951372)); - } - finally - { - int num = ((colorDisposable == null) ? 1632104344 : 1632104347); - while (true) - { - int num2 = num; - int num3 = 1632104346; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto end_IL_0074; - case 1: - _200F_206B_202C_202B_200E_206A_206A_206A_202C_202D_206A_202B_206A_202C_206D_206B_200D_206A_200E_206E_202E_200C_206A_206D_202B_200E_206A_202E_202E_202A_206A_200C_200E_200F_200B_200C_206E_202A_200C_206B_202E((IDisposable)colorDisposable); - num = 1632104344; - break; - case 0: - num = 1632104347; - break; - } - continue; - end_IL_0074: - break; - } - } - _202E_200B_200E_200F_202B_206B_200B_202C_202A_202B_200C_206C_200E_206D_202D_202A_200C_206B_206A_200B_206C_202A_200B_206C_200F_206E_206F_206F_202E_200B_206E_206A_200C_206D_206C_200C_202C_200F_200D_202C_202E(); - ImU8String imU8String2 = new ImU8String(54, 1); - imU8String2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1456800903)); - imU8String2.AppendFormatted(availableCount); - imU8String2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1135970980)); - _202B_206E_202E_200C_206C_202B_206A_206E_206F_202D_200E_202E_206B_200B_206B_200F_206B_206B_202C_200E_206B_206D_206B_206F_206F_206E_200D_202B_206C_206A_202D_206B_206D_200D_202C_200D_202B_200B_206D_200D_202E(imU8String2); - ImU8String imU8String3 = new ImU8String(37, 2); - imU8String3.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1655607110)); - imU8String3.AppendFormatted(remainingAllowances); - imU8String3.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(642895778)); - imU8String3.AppendFormatted((remainingAllowances == 1) ? global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-686634527) : global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1978597971)); - imU8String3.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-219296949)); - _202B_206E_202E_200C_206C_202B_206A_206E_206F_202D_200E_202E_206B_200B_206B_200F_206B_206B_202C_200E_206B_206D_206B_206F_206F_206E_200D_202B_206C_206A_202D_206B_206D_200D_202C_200D_202B_200B_206D_200D_202E(imU8String3); - _202E_200B_200E_200F_202B_206B_200B_202C_202A_202B_200C_206C_200E_206D_202D_202A_200C_206B_206A_200B_206C_202A_200B_206C_200F_206E_206F_206F_202E_200B_206E_206A_200C_206D_206C_200C_202C_200F_200D_202C_202E(); - _206B_200D_206F_206D_206D_202C_202D_202A_200C_206D_200B_200B_202A_206C_202B_202E_206D_200E_202B_200E_202E_200D_206A_206C_200E_202E_200D_206F_200F_202B_202A_206B_202B_206E_202B_206B_206A_206C_200C_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1828087679)); - } - else if (availableCount > dailyLimit) - { - ImRaii.ColorDisposable colorDisposable = _202B_206D_202D_206B_206B_202C_206A_206D_202E_206E_200C_202C_202B_206E_200F_202B_200E_206D_206F_206F_202C_200C_206C_202B_206C_206F_200E_202D_202E_202D_206A_206C_206E_200F_200B_200B_202D_206D_202D_200D_202E(ImGuiCol.Text, UiThemeUtils.StatusActive, true); - try - { - ImU8String imU8String4 = new ImU8String(0, 1); - imU8String4.AppendFormatted(_202B_206F_200E_206C_202A_202B_200D_200C_200B_202D_206B_200F_202B_206B_206E_200B_202B_206E_206D_206D_202D_206A_200C_200F_200C_200B_202A_206E_202B_202A_200C_206D_202C_202A_200E_206A_202B_206B_200E_202D_202E(SeIconChar.Cross)); - _202D_206B_206F_202E_202E_200D_202E_206E_200B_200E_206F_200C_206F_202D_206E_206D_206A_202D_206E_206B_206D_202B_202E_200B_206B_202A_202A_200F_200B_202B_202A_200B_206D_206A_206B_206C_200E_200D_200E_206F_202E(imU8String4); - _202C_206A_200C_200B_206C_206C_200B_200F_206E_206D_206C_206F_206C_202B_202D_206A_200E_206D_206E_202D_202A_206B_202D_206E_206F_202E_200F_202D_206F_206F_206F_206A_200E_206B_206A_202D_200E_202E_206A_202E_202E(); - _202B_206E_202E_200C_206C_202B_206A_206E_206F_202D_200E_202E_206B_200B_206B_200F_206B_206B_202C_200E_206B_206D_206B_206F_206F_206E_200D_202B_206C_206A_202D_206B_206D_200D_202C_200D_202B_200B_206D_200D_202E((ImU8String)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(662565610)); - } - finally - { - int num = ((colorDisposable == null) ? 699836000 : 699836001); - while (true) - { - int num7 = num; - int num3 = 699836000; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 0: - goto end_IL_0206; - case 1: - _200F_206B_202C_202B_200E_206A_206A_206A_202C_202D_206A_202B_206A_202C_206D_206B_200D_206A_200E_206E_202E_200C_206A_206D_202B_200E_206A_202E_202E_202A_206A_200C_200E_200F_200B_200C_206E_202A_200C_206B_202E((IDisposable)colorDisposable); - num = 699836000; - break; - case 2: - num = 699836001; - break; - } - continue; - end_IL_0206: - break; - } - } - _202E_200B_200E_200F_202B_206B_200B_202C_202A_202B_200C_206C_200E_206D_202D_202A_200C_206B_206A_200B_206C_202A_200B_206C_200F_206E_206F_206F_202E_200B_206E_206A_200C_206D_206C_200C_202C_200F_200D_202C_202E(); - ImU8String imU8String5 = new ImU8String(32, 1); - imU8String5.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1456800903)); - imU8String5.AppendFormatted(availableCount); - imU8String5.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2006347210)); - _202B_206E_202E_200C_206C_202B_206A_206E_206F_202D_200E_202E_206B_200B_206B_200F_206B_206B_202C_200E_206B_206D_206B_206F_206F_206E_200D_202B_206C_206A_202D_206B_206D_200D_202C_200D_202B_200B_206D_200D_202E(imU8String5); - ImU8String imU8String6 = new ImU8String(48, 1); - imU8String6.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1754274204)); - imU8String6.AppendFormatted(3); - imU8String6.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1846668807)); - _202B_206E_202E_200C_206C_202B_206A_206E_206F_202D_200E_202E_206B_200B_206B_200F_206B_206B_202C_200E_206B_206D_206B_206F_206F_206E_200D_202B_206C_206A_202D_206B_206D_200D_202C_200D_202B_200B_206D_200D_202E(imU8String6); - _202E_200B_200E_200F_202B_206B_200B_202C_202A_202B_200C_206C_200E_206D_202D_202A_200C_206B_206A_200B_206C_202A_200B_206C_200F_206E_206F_206F_202E_200B_206E_206A_200C_206D_206C_200C_202C_200F_200D_202C_202E(); - ImU8String imU8String7 = new ImU8String(37, 1); - imU8String7.AppendLiteral(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(-1920261830)); - imU8String7.AppendFormatted(remainingAllowances); - imU8String7.AppendLiteral(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(-2116808891)); - _206B_200D_206F_206D_206D_202C_202D_202A_200C_206D_200B_200B_202A_206C_202B_202E_206D_200E_202B_200E_202E_200D_206A_206C_200E_202E_200D_206F_200F_202B_202A_206B_202B_206E_202B_206B_206A_206C_200C_202E(ref UiThemeUtils.StatusComplete, imU8String7); - _206B_200D_206F_206D_206D_202C_202D_202A_200C_206D_200B_200B_202A_206C_202B_202E_206D_200E_202B_200E_202E_200D_206A_206C_200E_202E_200D_206F_200F_202B_202A_206B_202B_206E_202B_206B_206A_206C_200C_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)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(1784572310)); - } - else - { - ImRaii.ColorDisposable colorDisposable = _202B_206D_202D_206B_206B_202C_206A_206D_202E_206E_200C_202C_202B_206E_200F_202B_200E_206D_206F_206F_202C_200C_206C_202B_206C_206F_200E_202D_202E_202D_206A_206C_206E_200F_200B_200B_202D_206D_202D_200D_202E(ImGuiCol.Text, UiThemeUtils.StatusComplete, true); - try - { - ImU8String imU8String8 = new ImU8String(0, 1); - imU8String8.AppendFormatted(_202B_206F_200E_206C_202A_202B_200D_200C_200B_202D_206B_200F_202B_206B_206E_200B_202B_206E_206D_206D_202D_206A_200C_200F_200C_200B_202A_206E_202B_202A_200C_206D_202C_202A_200E_206A_202B_206B_200E_202D_202E(SeIconChar.QuestSync)); - _202D_206B_206F_202E_202E_200D_202E_206E_200B_200E_206F_200C_206F_202D_206E_206D_206A_202D_206E_206B_206D_202B_202E_200B_206B_202A_202A_200F_200B_202B_202A_200B_206D_206A_206B_206C_200E_200D_200E_206F_202E(imU8String8); - _202C_206A_200C_200B_206C_206C_200B_200F_206E_206D_206C_206F_206C_202B_202D_206A_200E_206D_206E_202D_202A_206B_202D_206E_206F_202E_200F_202D_206F_206F_206F_206A_200E_206B_206A_202D_200E_202E_206A_202E_202E(); - ImU8String imU8String9 = new ImU8String(20, 3); - imU8String9.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(566224433)); - imU8String9.AppendFormatted(availableCount); - imU8String9.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1734073964)); - imU8String9.AppendFormatted(alliedSociety); - imU8String9.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-818915859)); - imU8String9.AppendFormatted((availableCount == 1) ? global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(308044519) : 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(1391970161)); - _202B_206E_202E_200C_206C_202B_206A_206E_206F_202D_200E_202E_206B_200B_206B_200F_206B_206B_202C_200E_206B_206D_206B_206F_206F_206E_200D_202B_206C_206A_202D_206B_206D_200D_202C_200D_202B_200B_206D_200D_202E(imU8String9); - } - finally - { - int num = ((colorDisposable == null) ? 1860381034 : 1860381033); - while (true) - { - int num10 = num; - int num3 = 1860381035; - int num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - case 0: - num = 1860381033; - break; - case 1: - goto end_IL_0402; - case 2: - _200F_206B_202C_202B_200E_206A_206A_206A_202C_202D_206A_202B_206A_202C_206D_206B_200D_206A_200E_206E_202E_200C_206A_206D_202B_200E_206A_202E_202E_202A_206A_200C_200E_200F_200B_200C_206E_202A_200C_206B_202E((IDisposable)colorDisposable); - num = 1860381034; - break; - } - continue; - end_IL_0402: - break; - } - } - _202E_200B_200E_200F_202B_206B_200B_202C_202A_202B_200C_206C_200E_206D_202D_202A_200C_206B_206A_200B_206C_202A_200B_206C_200F_206E_206F_206F_202E_200B_206E_206A_200C_206D_206C_200C_202C_200F_200D_202C_202E(); - ImU8String imU8String10 = new ImU8String(27, 2); - imU8String10.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1280288787)); - imU8String10.AppendFormatted(availableCount); - imU8String10.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1153128276)); - imU8String10.AppendFormatted(remainingAllowances); - imU8String10.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2117985447)); - _206B_200D_206F_206D_206D_202C_202D_202A_200C_206D_200B_200B_202A_206C_202B_202E_206D_200E_202B_200E_202E_200D_206A_206C_200E_202E_200D_206F_200F_202B_202A_206B_202B_206E_202B_206B_206A_206C_200C_202E(ref UiThemeUtils.MutedTextColor, imU8String10); - _206B_200D_206F_206D_206D_202C_202D_202A_200C_206D_200B_200B_202A_206C_202B_202E_206D_200E_202B_200E_202E_200D_206A_206C_200E_202E_200D_206F_200F_202B_202A_206B_202B_206E_202B_206B_206A_206C_200C_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1705577423)); - } - _206D_202A_206D_206A_200F_206C_200C_200E_202E_200B_200D_206F_200C_202B_202D_206B_206C_200B_200B_202B_206A_206A_200D_206A_206A_200F_200F_200E_202E_206E_200D_202D_202D_202C_206A_202C_206D_202B_202E_200C_202E(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private void DrawStandardAddButton(EAlliedSociety alliedSociety, List availableQuests, int remainingAllowances) - { - int count = availableQuests.Count; - int num = 1; - int num2 = count; - string text = default(string); - int num3; - switch (~(~num2 + num)) - { - default: - num3 = -1251083593; - goto IL_0031; - case 1: - text = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-50765842); - num3 = -1251083589; - goto IL_0031; - case 0: - goto IL_00e1; - case 2: - goto IL_00f8; - IL_0031: - while (true) - { - int num4 = num3; - num = -1251083597; - num2 = num4; - int num5 = num2 + num; - int num6 = num2 & num; - switch (num5 - (num6 + num6)) - { - case 7: - goto end_IL_0031; - case 8: - goto IL_0096; - case 6: - if (_206A_200F_202B_202B_200E_200C_206B_200D_206D_206E_202E_202C_206A_200D_206A_200E_200E_206C_202B_206F_206F_206F_202C_206B_206F_202D_206F_202B_200D_200E_202D_206D_206E_200C_202D_202D_200D_202E_202D_206A_202E()) - { - num3 = -1251083600; - break; - } - return; - case 9: - goto IL_00e1; - case 5: - goto IL_00f8; - case 0: - num3 = -1251083593; - break; - case 4: - num3 = -1251083599; - break; - case 3: - { - _200C_200E_200B_200C_202A_200B_202E_200F_202A_206D_202A_202C_200C_200B_206C_206F_206B_202C_206B_206C_200E_206E_200E_206A_200B_202E_202A_206D_206E_202A_200B_200E_202D_200D_202E_200B_202B_206C_202C_206B_202E(); - ImU8String imU8String3 = new ImU8String(18, 3); - imU8String3.AppendLiteral(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(-1727957168)); - imU8String3.AppendFormatted(availableQuests.Count); - imU8String3.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(751790982)); - imU8String3.AppendFormatted(alliedSociety); - imU8String3.AppendLiteral(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(-1051702537)); - imU8String3.AppendFormatted((availableQuests.Count == 1) ? global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1468314462) : 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(1391970161)); - imU8String3.AppendLiteral(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(1952651272)); - _202B_206E_202E_200C_206C_202B_206A_206E_206F_202D_200E_202E_206B_200B_206B_200F_206B_206B_202C_200E_206B_206D_206B_206F_206F_206E_200D_202B_206C_206A_202D_206B_206D_200D_202C_200D_202B_200B_206D_200D_202E(imU8String3); - _202E_200B_200E_200F_202B_206B_200B_202C_202A_202B_200C_206C_200E_206D_202D_202A_200C_206B_206A_200B_206C_202A_200B_206C_200F_206E_206F_206F_202E_200B_206E_206A_200C_206D_206C_200C_202C_200F_200D_202C_202E(); - if (availableQuests.Count <= remainingAllowances) - { - num3 = -1251083591; - break; - } - ImRaii.ColorDisposable colorDisposable = _202B_206D_202D_206B_206B_202C_206A_206D_202E_206E_200C_202C_202B_206E_200F_202B_200E_206D_206F_206F_202C_200C_206C_202B_206C_206F_200E_202D_202E_202D_206A_206C_206E_200F_200B_200B_202D_206D_202D_200D_202E(ImGuiCol.Text, UiThemeUtils.StatusActive, true); - try - { - ImU8String imU8String4 = new ImU8String(0, 1); - imU8String4.AppendFormatted(_202B_206F_200E_206C_202A_202B_200D_200C_200B_202D_206B_200F_202B_206B_206E_200B_202B_206E_206D_206D_202D_206A_200C_200F_200C_200B_202A_206E_202B_202A_200C_206D_202C_202A_200E_206A_202B_206B_200E_202D_202E(SeIconChar.Cross)); - _202D_206B_206F_202E_202E_200D_202E_206E_200B_200E_206F_200C_206F_202D_206E_206D_206A_202D_206E_206B_206D_202B_202E_200B_206B_202A_202A_200F_200B_202B_202A_200B_206D_206A_206B_206C_200E_200D_200E_206F_202E(imU8String4); - _202C_206A_200C_200B_206C_206C_200B_200F_206E_206D_206C_206F_206C_202B_202D_206A_200E_206D_206E_202D_202A_206B_202D_206E_206F_202E_200F_202D_206F_206F_206F_206A_200E_206B_206A_202D_200E_202E_206A_202E_202E(); - ImU8String imU8String5 = new ImU8String(31, 1); - imU8String5.AppendLiteral(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(22897636)); - imU8String5.AppendFormatted(remainingAllowances); - imU8String5.AppendLiteral(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(424561659)); - _202B_206E_202E_200C_206C_202B_206A_206E_206F_202D_200E_202E_206B_200B_206B_200F_206B_206B_202C_200E_206B_206D_206B_206F_206F_206E_200D_202B_206C_206A_202D_206B_206D_200D_202C_200D_202B_200B_206D_200D_202E(imU8String5); - } - finally - { - num3 = ((colorDisposable == null) ? 443411992 : 443411995); - while (true) - { - int num8 = num3; - num = 443411994; - num2 = num8; - switch ((num2 | num) - (num2 & num)) - { - case 0: - num3 = 443411995; - break; - case 2: - goto end_IL_0415; - case 1: - _200F_206B_202C_202B_200E_206A_206A_206A_202C_202D_206A_202B_206A_202C_206D_206B_200D_206A_200E_206E_202E_200C_206A_206D_202B_200E_206A_202E_202E_202A_206A_200C_200E_200F_200B_200C_206E_202A_200C_206B_202E((IDisposable)colorDisposable); - num3 = 443411992; - break; - } - continue; - end_IL_0415: - break; - } - } - _206B_200D_206F_206D_206D_202C_202D_202A_200C_206D_200B_200B_202A_206C_202B_202E_206D_200E_202B_200E_202E_200D_206A_206C_200E_202E_200D_206F_200F_202B_202A_206B_202B_206E_202B_206B_206A_206C_200C_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)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(-969382418)); - goto IL_047a; - } - case 1: - AddQuestsToPriority(alliedSociety, availableQuests); - num3 = -1251083595; - break; - case 2: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(15, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1650091118)); - defaultInterpolatedStringHandler.AppendFormatted(availableQuests.Count); - defaultInterpolatedStringHandler.AppendLiteral(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(-182538210)); - text = defaultInterpolatedStringHandler.ToStringAndClear(); - num3 = -1251083589; - break; - } - case 10: - { - ImRaii.ColorDisposable colorDisposable = _202B_206D_202D_206B_206B_202C_206A_206D_202E_206E_200C_202C_202B_206E_200F_202B_200E_206D_206F_206F_202C_200C_206C_202B_206C_206F_200E_202D_202E_202D_206A_206C_206E_200F_200B_200B_202D_206D_202D_200D_202E(ImGuiCol.Text, UiThemeUtils.StatusComplete, true); - try - { - ImU8String imU8String = new ImU8String(0, 1); - imU8String.AppendFormatted(_202B_206F_200E_206C_202A_202B_200D_200C_200B_202D_206B_200F_202B_206B_206E_200B_202B_206E_206D_206D_202D_206A_200C_200F_200C_200B_202A_206E_202B_202A_200C_206D_202C_202A_200E_206A_202B_206B_200E_202D_202E(SeIconChar.QuestSync)); - _202D_206B_206F_202E_202E_200D_202E_206E_200B_200E_206F_200C_206F_202D_206E_206D_206A_202D_206E_206B_206D_202B_202E_200B_206B_202A_202A_200F_200B_202B_202A_200B_206D_206A_206B_206C_200E_200D_200E_206F_202E(imU8String); - _202C_206A_200C_200B_206C_206C_200B_200F_206E_206D_206C_206F_206C_202B_202D_206A_200E_206D_206E_202D_202A_206B_202D_206E_206F_202E_200F_202D_206F_206F_206F_206A_200E_206B_206A_202D_200E_202E_206A_202E_202E(); - ImU8String imU8String2 = new ImU8String(17, 3); - imU8String2.AppendLiteral(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(-116858532)); - imU8String2.AppendFormatted(availableQuests.Count); - imU8String2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1153128276)); - imU8String2.AppendFormatted(remainingAllowances); - imU8String2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1907189443)); - imU8String2.AppendFormatted((remainingAllowances == 1) ? 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(-908522859) : global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-19098909)); - _202B_206E_202E_200C_206C_202B_206A_206E_206F_202D_200E_202E_206B_200B_206B_200F_206B_206B_202C_200E_206B_206D_206B_206F_206F_206E_200D_202B_206C_206A_202D_206B_206D_200D_202C_200D_202B_200B_206D_200D_202E(imU8String2); - } - finally - { - num3 = ((colorDisposable == null) ? 1663038793 : 1663038792); - while (true) - { - int num7 = num3; - num = 1663038793; - num2 = num7; - switch ((num2 | num) - (num2 & num)) - { - case 0: - goto end_IL_0318; - case 1: - _200F_206B_202C_202B_200E_206A_206A_206A_202C_202D_206A_202B_206A_202C_206D_206B_200D_206A_200E_206E_202E_200C_206A_206D_202B_200E_206A_202E_202E_202A_206A_200C_200E_200F_200B_200C_206E_202A_200C_206B_202E((IDisposable)colorDisposable); - num3 = 1663038793; - break; - case 2: - num3 = 1663038792; - break; - } - continue; - end_IL_0318: - break; - } - } - _206B_200D_206F_206D_206D_202C_202D_202A_200C_206D_200B_200B_202A_206C_202B_202E_206D_200E_202B_200E_202E_200D_206A_206C_200E_202E_200D_206F_200F_202B_202A_206B_202B_206E_202B_206B_206A_206C_200C_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(325664986)); - goto IL_047a; - } - IL_047a: - _206D_202A_206D_206A_200F_206C_200C_200E_202E_200B_200D_206F_200C_202B_202D_206B_206C_200B_200B_202B_206A_206A_200D_206A_206A_200F_200F_200E_202E_206E_200D_202D_202D_202C_206A_202C_206D_202B_202E_200C_202E(); - return; - } - continue; - IL_0096: - string text2 = text; - num3 = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Plus, text2, IconTextButtonWidth(FontAwesomeIcon.Plus, text2))) ? (-1251083595) : (-1251083598)); - continue; - end_IL_0031: - break; - } - goto case 1; - IL_00f8: - text = 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(407594946); - num3 = -1251083589; - goto IL_0031; - IL_00e1: - text = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1523669633); - num3 = -1251083589; - goto IL_0031; - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private void AddQuestsToPriority(EAlliedSociety alliedSociety, List questsToAdd) - { - int num = 0; - int num2; - using (List.Enumerator enumerator = questsToAdd.GetEnumerator()) - { - num2 = -1316256234; - while (true) - { - int num3 = num2; - int num4 = -1316256236; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 0: - { - int num8 = num; - num4 = 1; - num5 = num8; - int num9 = num5 ^ num4; - int num10 = num5 & num4; - num = num9 + (num10 + num10); - num2 = -1316256234; - break; - } - case 1: - { - QuestInfo current = enumerator.Current; - num2 = ((!_questController.AddQuestPriority(current.QuestId)) ? (-1316256234) : (-1316256236)); - break; - } - case 3: - num2 = -1316256234; - break; - case 2: - num2 = (enumerator.MoveNext() ? (-1316256235) : (-1316256240)); - break; - case 4: - goto end_IL_0015; - } - continue; - end_IL_0015: - break; - } - } - num2 = ((num <= 0) ? (-976233410) : (-976233415)); - while (true) - { - int num11 = num2; - int num4 = -976233411; - int num5 = num11; - string text; - string text2; - IChatGui chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler; - switch ((num5 | num4) - (num5 & num4)) - { - case 3: - return; - case 4: - num2 = ((num == 1) ? (-976233412) : (-976233411)); - break; - case 0: - text = 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(1303968590); - goto IL_017c; - case 1: - text = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1468314462); - goto IL_017c; - case 2: - { - num2 = -976233415; - break; - } - IL_017c: - text2 = text; - _206D_200E_202A_206C_200D_202A_200E_200F_200E_202B_200F_206A_206A_202D_200B_202B_200D_202B_206F_206B_200D_202D_206C_200C_206B_206E_206B_202D_202D_200D_202B_202E_206D_200F_202E_206F_206E_200E_206E_200C_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(538675772), new object[3] { num, alliedSociety, text2 }); - chatGui = _chatGui; - defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(26, 3); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1201571515)); - defaultInterpolatedStringHandler.AppendFormatted(num); - defaultInterpolatedStringHandler.AppendLiteral(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(-1051702537)); - defaultInterpolatedStringHandler.AppendFormatted(alliedSociety); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-818915859)); - defaultInterpolatedStringHandler.AppendFormatted(text2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-985511642)); - _200C_200F_206A_202E_202B_200B_206C_202B_202B_202B_206F_202D_206E_200B_206F_200B_206E_200E_200B_202C_200F_206D_206B_200D_202E_200E_200F_206D_202E_202A_206D_202A_206A_200F_206A_206A_200B_206B_202D_206C_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), 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(85756196), (ushort?)(ushort)576); - num2 = -976233410; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private void DrawQuest(QuestInfo questInfo) - { - (Vector4 Color, FontAwesomeIcon Icon, string Status) questStyle = _uiUtils.GetQuestStyle(questInfo.QuestId); - Vector4 color = questStyle.Color; - FontAwesomeIcon item = questStyle.Icon; - string item2 = questStyle.Status; - int num = ((!_questRegistry.TryGetQuest(questInfo.QuestId, out Quest quest)) ? 808488069 : 808488071); - while (true) - { - int num2 = num; - int num3 = 808488070; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 808488071; - break; - case 1: - num = ((!_206F_200E_200C_206B_206F_206B_202E_200E_200B_200C_200C_202E_206B_206B_200B_202E_200F_200E_200E_200E_206E_202D_206C_206B_202A_202C_200C_200B_202D_200B_206E_206B_200E_206D_206D_206C_200D_202E_200F_206F_202E(quest.Root)) ? 808488070 : 808488069); - break; - case 3: - color = UiThemeUtils.StatusUnobtainable; - num = 808488070; - break; - case 0: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(6, 3); - defaultInterpolatedStringHandler.AppendFormatted(questInfo.Name); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1473546846)); - defaultInterpolatedStringHandler.AppendFormatted(item2); - defaultInterpolatedStringHandler.AppendLiteral(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(-1129892722)); - defaultInterpolatedStringHandler.AppendFormatted(questInfo.QuestId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-25878066)); - string text = defaultInterpolatedStringHandler.ToStringAndClear(); - ImRaii.FontDisposable fontDisposable = _206A_206A_202A_202C_206D_206E_206B_202D_200E_200E_200C_206C_200C_202B_202C_202B_202E_202E_202A_206F_206B_206A_202A_200D_200D_202C_206E_200B_206A_202E_202B_206C_206E_200E_202C_206A_200E_202C_200C_206D_202E(_206E_200C_202B_206A_206A_202B_202D_206B_200D_200C_200F_200C_206F_200F_200F_200E_202C_206B_200F_206B_200F_206F_200C_202E_206C_200C_200F_206C_202E_202A_200E_200D_200D_202A_200C_200C_206F_206D_206A_206F_202E(), true); - float x; - try - { - x = _200E_202C_200B_206B_206F_206B_202B_202D_202A_200D_202D_206A_202A_200E_206D_202C_206B_206E_202A_200F_206B_206F_202C_206C_200F_200F_206B_200B_206B_202A_200C_202B_200F_200B_206A_206F_200F_206B_202B_202D_202E((ImU8String)_200F_202D_202E_206D_200F_206E_202C_206F_206E_202E_206A_206E_202D_206F_202B_206C_206C_202E_200F_206A_206F_202B_206D_202D_206F_200C_202E_200E_200F_206B_202A_200D_202A_202C_206D_200F_200B_202A_206B_206B_202E(item), false, -1f).X; - } - finally - { - num = ((fontDisposable == null) ? 1044840550 : 1044840549); - while (true) - { - int num7 = num; - num3 = 1044840548; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 0: - num = 1044840549; - break; - case 1: - _200F_206B_202C_202B_200E_206A_206A_206A_202C_202D_206A_202B_206A_202C_206D_206B_200D_206A_200E_206E_202E_200C_206A_206D_202B_200E_206A_202E_202E_202A_206A_200C_200E_200F_200B_200C_206E_202A_200C_206B_202E((IDisposable)fontDisposable); - num = 1044840550; - break; - case 2: - goto end_IL_0182; - } - continue; - end_IL_0182: - break; - } - } - float maxWidth = _200C_202A_202E_202A_206E_202A_200B_206A_206D_200B_202A_200D_206E_202E_200F_200E_202A_202D_202E_200C_206A_206C_200D_202B_200C_202E_206C_206F_206C_202A_206E_200F_206F_206E_200D_206E_206B_200B_200E_202B_202E().X - x - _206C_200B_206E_206D_200F_200C_200B_202D_206B_206D_206B_202A_206A_206C_200E_202B_202B_200D_206C_206A_206F_202D_206F_206A_206C_206B_206A_200C_200C_206E_206F_202D_202D_206F_206F_206E_206B_200B_200F_206E_202E().ItemSpacing.X; - num = ((!_uiUtils.ChecklistItem(UiThemeUtils.TruncateToWidth(text, maxWidth), color, item)) ? (-225021821) : (-225021824)); - while (true) - { - int num10 = num; - num3 = -225021823; - num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - case 0: - num = -225021824; - break; - case 1: - _questTooltipComponent.Draw(questInfo); - num = -225021821; - break; - case 2: - _questJournalUtils.ShowContextMenu(questInfo, quest, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(806527212)); - return; - } - } - } - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - static AlliedSocietyJournalComponent() - { - (string, EAlliedSociety[])[] array = new(string, EAlliedSociety[])[6]; - string item = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1261156168); - EAlliedSociety[] array2 = new EAlliedSociety[5]; - _206D_200B_202B_202A_200C_200B_206A_200C_206B_206F_206D_202A_200C_200C_206C_202B_202C_206F_200F_206B_206D_200D_202E_200E_206E_200E_206E_200D_200E_200C_206B_200D_206E_200D_206B_202D_206F_202A_202C_206F_202E((Array)array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - array[0] = (item, array2); - string item2 = 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(782699001); - EAlliedSociety[] array3 = new EAlliedSociety[3]; - _206D_200B_202B_202A_200C_200B_206A_200C_206B_206F_206D_202A_200C_200C_206C_202B_202C_206F_200F_206B_206D_200D_202E_200E_206E_200E_206E_200D_200E_200C_206B_200D_206E_200D_206B_202D_206F_202A_202C_206F_202E((Array)array3, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - array[1] = (item2, array3); - string item3 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1513405217); - EAlliedSociety[] array4 = new EAlliedSociety[3]; - _206D_200B_202B_202A_200C_200B_206A_200C_206B_206F_206D_202A_200C_200C_206C_202B_202C_206F_200F_206B_206D_200D_202E_200E_206E_200E_206E_200D_200E_200C_206B_200D_206E_200D_206B_202D_206F_202A_202C_206F_202E((Array)array4, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - array[2] = (item3, array4); - string item4 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1593202768); - EAlliedSociety[] array5 = new EAlliedSociety[3]; - _206D_200B_202B_202A_200C_200B_206A_200C_206B_206F_206D_202A_200C_200C_206C_202B_202C_206F_200F_206B_206D_200D_202E_200E_206E_200E_206E_200D_200E_200C_206B_200D_206E_200D_206B_202D_206F_202A_202C_206F_202E((Array)array5, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - array[3] = (item4, array5); - string item5 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(73028208); - EAlliedSociety[] array6 = new EAlliedSociety[3]; - _206D_200B_202B_202A_200C_200B_206A_200C_206B_206F_206D_202A_200C_200C_206C_202B_202C_206F_200F_206B_206D_200D_202E_200E_206E_200E_206E_200D_200E_200C_206B_200D_206E_200D_206B_202D_206F_202A_202C_206F_202E((Array)array6, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - array[4] = (item5, array6); - string item6 = 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(997564111); - EAlliedSociety[] array7 = new EAlliedSociety[3]; - _206D_200B_202B_202A_200C_200B_206A_200C_206B_206F_206D_202A_200C_200C_206C_202B_202C_206F_200F_206B_206D_200D_202E_200E_206E_200E_206E_200D_200E_200C_206B_200D_206E_200D_206B_202D_206F_202A_202C_206F_202E((Array)array7, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - array[5] = (item6, array7); - ExpansionGroups = array; - } - - static void _200E_206A_200D_200F_206D_202A_206F_206F_200E_200B_200B_206C_200F_202B_202D_200E_200B_202B_200B_206B_200E_206C_202C_202B_200E_206A_206B_202D_200C_206C_200C_202B_206F_200F_202D_200D_202B_206F_206F_206C_202E() - { - ImGui.Separator(); - } - - static void _202E_200B_200E_200F_202B_206B_200B_202C_202A_202B_200C_206C_200E_206D_202D_202A_200C_206B_206A_200B_206C_202A_200B_206C_200F_206E_206F_206F_202E_200B_206E_206A_200C_206D_206C_200C_202C_200F_200D_202C_202E() - { - ImGui.Spacing(); - } - - static void _206B_200D_206F_206D_206D_202C_202D_202A_200C_206D_200B_200B_202A_206C_202B_202E_206D_200E_202B_200E_202E_200D_206A_206C_200E_202E_200D_206F_200F_202B_202A_206B_202B_206E_202B_206B_206A_206C_200C_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static ImRaii.ColorDisposable _202B_206D_202D_206B_206B_202C_206A_206D_202E_206E_200C_202C_202B_206E_200F_202B_200E_206D_206F_206F_202C_200C_206C_202B_206C_206F_200E_202D_202E_202D_206A_206C_206E_200F_200B_200B_202D_206D_202D_200D_202E(ImGuiCol P_0, Vector4 P_1, bool P_2) - { - return ImRaii.PushColor(P_0, P_1, P_2); - } - - static ImFontPtr _206E_200C_202B_206A_206A_202B_202D_206B_200D_200C_200F_200C_206F_200F_200F_200E_202C_206B_200F_206B_200F_206F_200C_202E_206C_200C_200F_206C_202E_202A_200E_200D_200D_202A_200C_200C_206F_206D_206A_206F_202E() - { - return UiBuilder.IconFont; - } - - static ImRaii.FontDisposable _206A_206A_202A_202C_206D_206E_206B_202D_200E_200E_200C_206C_200C_202B_202C_202B_202E_202E_202A_206F_206B_206A_202A_200D_200D_202C_206E_200B_206A_202E_202B_206C_206E_200E_202C_206A_200E_202C_200C_206D_202E(ImFontPtr P_0, bool P_1) - { - return ImRaii.PushFont(P_0, P_1); - } - - static string _200F_202D_202E_206D_200F_206E_202C_206F_206E_202E_206A_206E_202D_206F_202B_206C_206C_202E_200F_206A_206F_202B_206D_202D_206F_200C_202E_200E_200F_206B_202A_200D_202A_202C_206D_200F_200B_202A_206B_206B_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static void _202D_206B_206F_202E_202E_200D_202E_206E_200B_200E_206F_200C_206F_202D_206E_206D_206A_202D_206E_206B_206D_202B_202E_200B_206B_202A_202A_200F_200B_202B_202A_200B_206D_206A_206B_206C_200E_200D_200E_206F_202E(ImU8String P_0) - { - ImGui.Text(P_0); - } - - static void _200F_206B_202C_202B_200E_206A_206A_206A_202C_202D_206A_202B_206A_202C_206D_206B_200D_206A_200E_206E_202E_200C_206A_206D_202B_200E_206A_202E_202E_202A_206A_200C_200E_200F_200B_200C_206E_202A_200C_206B_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _202D_200E_206A_202B_206F_200C_206A_206C_200E_202C_202A_206D_202D_200E_200C_202B_202D_202B_206B_206D_200F_206E_202B_200E_200E_206D_206D_206B_202E_206A_202D_202E_200E_202E_200B_206C_200C_206B_200E_200E_202E(float P_0, float P_1) - { - ImGui.SameLine(P_0, P_1); - } - - static void _202B_206E_202E_200C_206C_202B_206A_206E_206F_202D_200E_202E_206B_200B_206B_200F_206B_206B_202C_200E_206B_206D_206B_206F_206F_206E_200D_202B_206C_206A_202D_206B_206D_200D_202C_200D_202B_200B_206D_200D_202E(ImU8String P_0) - { - ImGui.TextUnformatted(P_0); - } - - static ImRaii.IndentDisposable _202D_202D_206A_206D_206B_206B_206A_200B_202C_206C_202B_200D_200D_200B_206A_206B_200B_200F_206E_206F_200D_202C_206C_202A_206C_206E_200E_206D_206F_206A_202C_200D_202E_206A_206B_202A_200F_206C_206B_200E_202E(int P_0, bool P_1) - { - return ImRaii.PushIndent(P_0, P_1); - } - - static Vector2 _200E_202C_200B_206B_206F_206B_202B_202D_202A_200D_202D_206A_202A_200E_206D_202C_206B_206E_202A_200F_206B_206F_202C_206C_200F_200F_206B_200B_206B_202A_200C_202B_200F_200B_206A_206F_200F_206B_202B_202D_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static ImGuiStylePtr _206C_200B_206E_206D_200F_200C_200B_202D_206B_206D_206B_202A_206A_206C_200E_202B_202B_200D_206C_206A_206F_202D_206F_206A_206C_206B_206A_200C_200C_206E_206F_202D_202D_206F_206F_206E_206B_200B_200F_206E_202E() - { - return ImGui.GetStyle(); - } - - static ImRaii.DisabledDisposable _200B_202B_202C_202E_200E_206C_202C_200C_200F_206D_200F_206B_206E_200C_202E_202A_202C_206F_202E_202B_206A_200C_202A_206D_206F_202C_200D_200B_206E_206D_202E_206D_200C_200C_200C_200B_206E_206C_200E_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static bool _200C_202E_202D_206A_200C_202A_200C_200C_206D_200B_206B_202A_206B_202C_202C_200B_206B_206F_200C_202B_206A_202C_206B_206E_206A_202D_200D_202D_202A_206C_202A_206E_206A_200B_200E_206A_200E_200B_206A_200E_202E(ImGuiHoveredFlags P_0) - { - return ImGui.IsItemHovered(P_0); - } - - static void _202C_206A_206E_202D_200C_200E_202A_200F_202E_206C_200F_200C_202E_206C_200E_206A_206A_206A_202D_206D_206E_202C_200C_206A_200B_206A_202E_200C_206E_206F_202C_206E_206E_206E_200B_206C_200E_206B_200E_200E_202E(ImU8String P_0) - { - ImGui.SetTooltip(P_0); - } - - static int _206F_202A_206D_202C_206D_200D_202A_200F_206C_202B_206C_206A_200E_202B_200C_206B_200C_200C_202E_202D_206E_200D_200F_202A_200B_202D_206E_202A_202E_202B_200E_202D_202E_202E_202A_202C_206C_200E_206E_200F_202E(int P_0, int P_1) - { - return Math.Min(P_0, P_1); - } - - static void _202C_206A_200C_200B_206C_206C_200B_200F_206E_206D_206C_206F_206C_202B_202D_206A_200E_206D_206E_202D_202A_206B_202D_206E_206F_202E_200F_202D_206F_206F_206F_206A_200E_206B_206A_202D_200E_202E_206A_202E_202E() - { - ImGui.SameLine(); - } - - static bool _206A_200F_202B_202B_200E_200C_206B_200D_206D_206E_202E_202C_206A_200D_206A_200E_200E_206C_202B_206F_206F_206F_202C_206B_206F_202D_206F_202B_200D_200E_202D_206D_206E_200C_202D_202D_200D_202E_202D_206A_202E() - { - return ImGui.IsItemHovered(); - } - - static void _200C_200E_200B_200C_202A_200B_202E_200F_202A_206D_202A_202C_200C_200B_206C_206F_206B_202C_206B_206C_200E_206E_200E_206A_200B_202E_202A_206D_206E_202A_200B_200E_202D_200D_202E_200B_202B_206C_202C_206B_202E() - { - ImGui.BeginTooltip(); - } - - static string _202B_206F_200E_206C_202A_202B_200D_200C_200B_202D_206B_200F_202B_206B_206E_200B_202B_206E_206D_206D_202D_206A_200C_200F_200C_200B_202A_206E_202B_202A_200C_206D_202C_202A_200E_206A_202B_206B_200E_202D_202E(SeIconChar P_0) - { - return P_0.ToIconString(); - } - - static void _206D_202A_206D_206A_200F_206C_200C_200E_202E_200B_200D_206F_200C_202B_202D_206B_206C_200B_200B_202B_206A_206A_200D_206A_206A_200F_200F_200E_202E_206E_200D_202D_202D_202C_206A_202C_206D_202B_202E_200C_202E() - { ImGui.EndTooltip(); } - static void _206D_200E_202A_206C_200D_202A_200E_200F_200E_202B_200F_206A_206A_202D_200B_202B_200D_202B_206F_206B_200D_202D_206C_200C_206B_206E_206B_202D_202D_200D_202B_202E_206D_200F_202E_206F_206E_200E_206E_200C_202E(ILogger P_0, string P_1, object[] P_2) + private static void DrawAddAllButtonTooltip(int availableCount, int remainingAllowances, int dailyLimit, EAlliedSociety alliedSociety) { - P_0.LogInformation(P_1, P_2); + ImGui.BeginTooltip(); + if (availableCount > remainingAllowances) + { + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.StatusActive)) + { + ImU8String text = new ImU8String(0, 1); + text.AppendFormatted(SeIconChar.Cross.ToIconString()); + ImGui.Text(text); + ImGui.SameLine(); + ImGui.TextUnformatted("Warning: Exceeds remaining allowances"); + } + ImGui.Spacing(); + ImU8String text2 = new ImU8String(54, 1); + text2.AppendLiteral("This adds all "); + text2.AppendFormatted(availableCount); + text2.AppendLiteral(" available quests to your priority list,"); + ImGui.TextUnformatted(text2); + ImU8String text3 = new ImU8String(37, 2); + text3.AppendLiteral("but you only have "); + text3.AppendFormatted(remainingAllowances); + text3.AppendLiteral(" shared "); + text3.AppendFormatted((remainingAllowances == 1) ? "allowance" : "allowances"); + text3.AppendLiteral(" remaining."); + ImGui.TextUnformatted(text3); + ImGui.Spacing(); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, "The excess quests won't be completable until tomorrow."); + } + else if (availableCount > dailyLimit) + { + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.StatusActive)) + { + ImU8String text4 = new ImU8String(0, 1); + text4.AppendFormatted(SeIconChar.Cross.ToIconString()); + ImGui.Text(text4); + ImGui.SameLine(); + ImGui.TextUnformatted("Warning: Exceeds daily optimal amount"); + } + ImGui.Spacing(); + ImU8String text5 = new ImU8String(32, 1); + text5.AppendLiteral("This adds all "); + text5.AppendFormatted(availableCount); + text5.AppendLiteral(" available quests,"); + ImGui.TextUnformatted(text5); + ImU8String text6 = new ImU8String(48, 1); + text6.AppendLiteral("using more than the typical "); + text6.AppendFormatted(3); + text6.AppendLiteral(" quests per society."); + ImGui.TextUnformatted(text6); + ImGui.Spacing(); + ImU8String text7 = new ImU8String(37, 1); + text7.AppendLiteral("You have "); + text7.AppendFormatted(remainingAllowances); + text7.AppendLiteral(" shared allowances remaining"); + ImGui.TextColored(in UiThemeUtils.StatusComplete, text7); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, "You may want to save allowances for other societies."); + } + else + { + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.StatusComplete)) + { + ImU8String text8 = new ImU8String(0, 1); + text8.AppendFormatted(SeIconChar.QuestSync.ToIconString()); + ImGui.Text(text8); + ImGui.SameLine(); + ImU8String text9 = new ImU8String(20, 3); + text9.AppendLiteral("Add all "); + text9.AppendFormatted(availableCount); + text9.AppendLiteral(" available "); + text9.AppendFormatted(alliedSociety); + text9.AppendLiteral(" "); + text9.AppendFormatted((availableCount == 1) ? "quest" : "quests"); + ImGui.TextUnformatted(text9); + } + ImGui.Spacing(); + ImU8String text10 = new ImU8String(27, 2); + text10.AppendLiteral("Uses "); + text10.AppendFormatted(availableCount); + text10.AppendLiteral(" of "); + text10.AppendFormatted(remainingAllowances); + text10.AppendLiteral(" shared allowances"); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, text10); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, "All can be completed today"); + } + ImGui.EndTooltip(); } - static void _200C_200F_206A_202E_202B_200B_206C_202B_202B_202B_206F_202D_206E_200B_206F_200B_206E_200E_200B_202C_200F_206D_206B_200D_202E_200E_200F_206D_202E_202A_206D_202A_206A_200F_206A_206A_200B_206B_202D_206C_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) + private void DrawStandardAddButton(EAlliedSociety alliedSociety, List availableQuests, int remainingAllowances) { - P_0.Print(P_1, P_2, P_3); + string text = availableQuests.Count switch + { + 1 => "Add 1 Quest", + 2 => "Add 2 Quests", + 3 => "Add 3 Quests", + _ => $"Add All {availableQuests.Count} Quests", + }; + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Plus, text, IconTextButtonWidth(FontAwesomeIcon.Plus, text))) + { + AddQuestsToPriority(alliedSociety, availableQuests); + } + if (!ImGui.IsItemHovered()) + { + return; + } + ImGui.BeginTooltip(); + ImU8String text2 = new ImU8String(18, 3); + text2.AppendLiteral("Add "); + text2.AppendFormatted(availableQuests.Count); + text2.AppendLiteral(" "); + text2.AppendFormatted(alliedSociety); + text2.AppendLiteral(" "); + text2.AppendFormatted((availableQuests.Count == 1) ? "quest" : "quests"); + text2.AppendLiteral(" to priority"); + ImGui.TextUnformatted(text2); + ImGui.Spacing(); + if (availableQuests.Count <= remainingAllowances) + { + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.StatusComplete)) + { + ImU8String text3 = new ImU8String(0, 1); + text3.AppendFormatted(SeIconChar.QuestSync.ToIconString()); + ImGui.Text(text3); + ImGui.SameLine(); + ImU8String text4 = new ImU8String(17, 3); + text4.AppendLiteral("Uses "); + text4.AppendFormatted(availableQuests.Count); + text4.AppendLiteral(" of "); + text4.AppendFormatted(remainingAllowances); + text4.AppendLiteral(" shared "); + text4.AppendFormatted((remainingAllowances == 1) ? "allowance" : "allowances"); + ImGui.TextUnformatted(text4); + } + ImGui.TextColored(in UiThemeUtils.MutedTextColor, "All can be completed today"); + } + else + { + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.StatusActive)) + { + ImU8String text5 = new ImU8String(0, 1); + text5.AppendFormatted(SeIconChar.Cross.ToIconString()); + ImGui.Text(text5); + ImGui.SameLine(); + ImU8String text6 = new ImU8String(31, 1); + text6.AppendLiteral("Exceeds remaining allowances ("); + text6.AppendFormatted(remainingAllowances); + text6.AppendLiteral(")"); + ImGui.TextUnformatted(text6); + } + ImGui.TextColored(in UiThemeUtils.MutedTextColor, "Some quests won't be completable until tomorrow"); + } + ImGui.EndTooltip(); } - static bool _206F_200E_200C_206B_206F_206B_202E_200E_200B_200C_200C_202E_206B_206B_200B_202E_200F_200E_200E_200E_206E_202D_206C_206B_202A_202C_200C_200B_202D_200B_206E_206B_200E_206D_206D_206C_200D_202E_200F_206F_202E(QuestRoot P_0) + private void AddQuestsToPriority(EAlliedSociety alliedSociety, List questsToAdd) { - return P_0.Disabled; + int num = 0; + foreach (QuestInfo item in questsToAdd) + { + if (_questController.AddQuestPriority(item.QuestId)) + { + num++; + } + } + if (num > 0) + { + string text = ((num == 1) ? "quest" : "quests"); + _logger.LogInformation("Added {Count} {Society} {QuestWord} to priority list", num, alliedSociety, text); + _chatGui.Print($"Added {num} {alliedSociety} {text} to priority list.", "Questionable", 576); + } } - static Vector2 _200C_202A_202E_202A_206E_202A_200B_206A_206D_200B_202A_200D_206E_202E_200F_200E_202A_202D_202E_200C_206A_206C_200D_202B_200C_202E_206C_206F_206C_202A_206E_200F_206F_206E_200D_206E_206B_200B_200E_202B_202E() + private void DrawQuest(QuestInfo questInfo) { - return ImGui.GetContentRegionAvail(); - } - - static void _206D_200B_202B_202A_200C_200B_206A_200C_206B_206F_206D_202A_200C_200C_206C_202B_202C_206F_200F_206B_206D_200D_202E_200E_206E_200E_206E_200D_200E_200C_206B_200D_206E_200D_206B_202D_206F_202A_202C_206F_202E(Array P_0, RuntimeFieldHandle P_1) - { - RuntimeHelpers.InitializeArray(P_0, P_1); + var (color, icon, value) = _uiUtils.GetQuestStyle(questInfo.QuestId); + if (!_questRegistry.TryGetQuest(questInfo.QuestId, out Quest quest) || quest.Root.Disabled) + { + color = UiThemeUtils.StatusUnobtainable; + } + string text = $"{questInfo.Name} ({value}) [{questInfo.QuestId}]"; + float x; + using (ImRaii.PushFont(UiBuilder.IconFont)) + { + x = ImGui.CalcTextSize(icon.ToIconString()).X; + } + float maxWidth = ImGui.GetContentRegionAvail().X - x - ImGui.GetStyle().ItemSpacing.X; + if (_uiUtils.ChecklistItem(UiThemeUtils.TruncateToWidth(text, maxWidth), color, icon)) + { + _questTooltipComponent.Draw(questInfo); + } + _questJournalUtils.ShowContextMenu(questInfo, quest, "AlliedSocietyJournalComponent"); } } diff --git a/Questionable/Questionable.Windows.JournalComponents/AttunementJournalComponent.cs b/Questionable/Questionable.Windows.JournalComponents/AttunementJournalComponent.cs index f84f29d..9cca85b 100644 --- a/Questionable/Questionable.Windows.JournalComponents/AttunementJournalComponent.cs +++ b/Questionable/Questionable.Windows.JournalComponents/AttunementJournalComponent.cs @@ -1,17 +1,11 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Collections.Immutable; -using System.Collections.ObjectModel; using System.Globalization; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Bindings.ImGui; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Interface; -using Dalamud.Interface.ManagedFontAtlas; using Dalamud.Interface.Utility.Raii; using Dalamud.Plugin; using Dalamud.Plugin.Services; @@ -38,707 +32,15 @@ namespace Questionable.Windows.JournalComponents; internal sealed class AttunementJournalComponent { - private sealed record AetheryteEntry(EAetheryteLocation Location, string Name, ushort TerritoryId) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206C_202A_202A_202E_200B_206C_206B_202C_206A_206A_200D_206C_202A_202A_206D_200F_206D_202A_200B_202E_206F_202E_202A_200B_200D_200D_202C_200D_202C_202A_206B_202E_200C_206D_202E_206D_206A_202B_200C_206D_202E(typeof(AetheryteEntry).TypeHandle); - } - } + private sealed record AetheryteEntry(EAetheryteLocation Location, string Name, ushort TerritoryId); - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200C_200D_202C_202D_200B_202A_200B_200B_206E_206E_206F_206A_200D_200C_206C_206A_206C_200E_202D_206E_200E_206B_202E_200D_202D_202E_206C_202D_200B_202E_200F_200B_200E_202E_202D_200B_200B_200E_206B_200E_202E(); - _206B_206E_206B_200B_200B_202E_202C_206A_202E_200B_202D_202E_206D_202E_200C_202E_206A_200C_200F_202C_200C_200E_206E_200D_206A_202E_202E_202B_202D_202C_202C_206F_202C_202B_202E_200C_202D_200B_202C_206C_202E(stringBuilder, 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(-1383851405)); - _206B_206E_206B_200B_200B_202E_202C_206A_202E_200B_202D_202E_206D_202E_200C_202E_206A_200C_200F_202C_200C_200E_206E_200D_206A_202E_202E_202B_202D_202C_202C_206F_202C_202B_202E_200C_202D_200B_202C_206C_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(556540328)); - int num = ((!PrintMembers(stringBuilder)) ? (-913631883) : (-913631882)); - while (true) - { - int num2 = num; - int num3 = -913631881; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -913631882; - break; - case 1: - _200E_206B_200B_200D_206A_202B_202B_200F_202A_200F_206B_206A_202A_206A_202D_200C_200D_202C_200E_200D_206D_202A_202D_206A_206A_200E_206F_200B_206B_200F_200C_200C_206B_206A_200D_206D_200E_202A_206A_202E_202E(stringBuilder, ' '); - num = -913631883; - break; - case 2: - _200E_206B_200B_200D_206A_202B_202B_200F_202A_200F_206B_206A_202A_206A_202D_200C_200D_202C_200E_200D_206D_202A_202D_206A_206A_200E_206F_200B_206B_200F_200C_200C_206B_206A_200D_206D_200E_202A_206A_202E_202E(stringBuilder, '}'); - return _200C_200E_206A_200E_200C_200E_202D_206C_206D_206C_206E_200C_202A_200E_206F_200E_206C_202E_206C_200C_206B_202C_202A_200F_202D_202B_202A_202A_202B_206E_200F_206B_200D_206B_202A_202C_202C_200E_200E_206D_202E((object)stringBuilder); - } - } - } + private sealed record CityGroup(string CityName, ImmutableList Shards); - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202A_200D_206F_206B_206C_200E_206B_200D_200E_206F_200B_200C_200D_202A_206C_200C_206D_202C_200B_206B_206F_206E_200B_206B_202A_202E_206C_206A_206A_200D_202A_202D_206C_202B_200F_206A_206E_200C_200D_200C_202E(); - _206B_206E_206B_200B_200B_202E_202C_206A_202E_200B_202D_202E_206D_202E_200C_202E_206A_200C_200F_202C_200C_200E_206E_200D_206A_202E_202E_202B_202D_202C_202C_206F_202C_202B_202E_200C_202D_200B_202C_206C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1926859199)); - _206B_206E_206B_200B_200B_202E_202C_206A_202E_200B_202D_202E_206D_202E_200C_202E_206A_200C_200F_202C_200C_200E_206E_200D_206A_202E_202E_202B_202D_202C_202C_206F_202C_202B_202E_200C_202D_200B_202C_206C_202E(builder, Location.ToString()); - _206B_206E_206B_200B_200B_202E_202C_206A_202E_200B_202D_202E_206D_202E_200C_202E_206A_200C_200F_202C_200C_200E_206E_200D_206A_202E_202E_202B_202D_202C_202C_206F_202C_202B_202E_200C_202D_200B_202C_206C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-644247690)); - _200C_206A_200E_200E_200B_200F_202D_206B_202E_202D_206E_200E_206A_202A_200F_206C_202A_206F_206B_200E_206B_202A_202E_202D_202B_206B_202D_202E_206F_200E_206B_202A_206C_206F_206F_200C_206A_202B_200D_202A_202E(builder, (object)Name); - _206B_206E_206B_200B_200B_202E_202C_206A_202E_200B_202D_202E_206D_202E_200C_202E_206A_200C_200F_202C_200C_200E_206E_200D_206A_202E_202E_202B_202D_202C_202C_206F_202C_202B_202E_200C_202D_200B_202C_206C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1214398023)); - _206B_206E_206B_200B_200B_202E_202C_206A_202E_200B_202D_202E_206D_202E_200C_202E_206A_200C_200F_202C_200C_200E_206E_200D_206A_202E_202E_202B_202D_202C_202C_206F_202C_202B_202E_200C_202D_200B_202C_206C_202E(builder, TerritoryId.ToString()); - return true; - } + private sealed record ZoneCurrentGroup(ushort TerritoryId, string ZoneName, ImmutableList Currents); - [CompilerGenerated] - public bool Equals(AetheryteEntry? other) - { - int num = (((object)this == other) ? 1949028632 : 1949028635); - while (true) - { - int num2 = num; - int num3 = 1949028638; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = ((!EqualityComparer.Default.Equals(Location, other.Location)) ? 1949028636 : 1949028639); - break; - case 5: - num = (((object)other == null) ? 1949028636 : 1949028633); - break; - case 2: - return false; - case 7: - num = ((!_200C_206F_206D_202A_202C_206E_200B_206A_202C_202C_200D_206B_206B_202D_206B_202E_206A_206E_200B_206C_206A_206B_202A_200C_200F_206C_200B_206B_206A_200C_206B_206B_206C_202B_202A_206D_202E_202B_206C_206F_202E(EqualityContract, other.EqualityContract)) ? 1949028636 : 1949028637); - break; - case 6: - return true; - case 4: - return EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId); - case 0: - num = 1949028635; - break; - case 1: - num = ((!EqualityComparer.Default.Equals(Name, other.Name)) ? 1949028636 : 1949028634); - break; - } - } - } + private sealed record CurrentEntry(uint AetherCurrentId, bool IsQuestGated, uint QuestId, string QuestName); - bool IEquatable.Equals(AetheryteEntry? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206C_202A_202A_202E_200B_206C_206B_202C_206A_206A_200D_206C_202A_202A_206D_200F_206D_202A_200B_202E_206F_202E_202A_200B_200D_200D_202C_200D_202C_202A_206B_202E_200C_206D_202E_206D_206A_202B_200C_206D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200C_200D_202C_202D_200B_202A_200B_200B_206E_206E_206F_206A_200D_200C_206C_206A_206C_200E_202D_206E_200E_206B_202E_200D_202D_202E_206C_202D_200B_202E_200F_200B_200E_202E_202D_200B_200B_200E_206B_200E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206B_206E_206B_200B_200B_202E_202C_206A_202E_200B_202D_202E_206D_202E_200C_202E_206A_200C_200F_202C_200C_200E_206E_200D_206A_202E_202E_202B_202D_202C_202C_206F_202C_202B_202E_200C_202D_200B_202C_206C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200E_206B_200B_200D_206A_202B_202B_200F_202A_200F_206B_206A_202A_206A_202D_200C_200D_202C_200E_200D_206D_202A_202D_206A_206A_200E_206F_200B_206B_200F_200C_200C_206B_206A_200D_206D_200E_202A_206A_202E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200C_200E_206A_200E_200C_200E_202D_206C_206D_206C_206E_200C_202A_200E_206F_200E_206C_202E_206C_200C_206B_202C_202A_200F_202D_202B_202A_202A_202B_206E_200F_206B_200D_206B_202A_202C_202C_200E_200E_206D_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202A_200D_206F_206B_206C_200E_206B_200D_200E_206F_200B_200C_200D_202A_206C_200C_206D_202C_200B_206B_206F_206E_200B_206B_202A_202E_206C_206A_206A_200D_202A_202D_206C_202B_200F_206A_206E_200C_200D_200C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200C_206A_200E_200E_200B_200F_202D_206B_202E_202D_206E_200E_206A_202A_200F_206C_202A_206F_206B_200E_206B_202A_202E_202D_202B_206B_202D_202E_206F_200E_206B_202A_206C_206F_206F_200C_206A_202B_200D_202A_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200C_206F_206D_202A_202C_206E_200B_206A_202C_202C_200D_206B_206B_202D_206B_202E_206A_206E_200B_206C_206A_206B_202A_200C_200F_206C_200B_206B_206A_200C_206B_206B_206C_202B_202A_206D_202E_202B_206C_206F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - private sealed record CityGroup(string CityName, ImmutableList Shards) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202D_200F_206B_200F_202D_202B_200B_200C_200D_206E_200C_206D_202D_200F_206C_200D_202A_200E_200C_206C_206F_206C_200E_200B_206D_206E_206C_202D_206B_200F_202B_206D_206B_200F_200D_200D_202D_206C_200F_202B_202E(typeof(CityGroup).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200F_200D_202E_200D_200E_200B_200E_206E_202A_206F_206E_202C_206A_200B_202C_206F_200B_200D_206D_200E_206F_202E_206F_206D_206C_202D_200F_200F_200D_206B_202B_202D_202C_206B_206D_202A_206D_200F_206A_200D_202E(); - _206F_202A_200B_202D_206E_206F_206B_200F_200D_200D_206A_202C_206C_200B_200F_206C_206B_206C_202B_206D_200B_200E_206E_206D_200B_200D_206D_206A_202B_200B_206A_206D_202B_206F_206D_206A_200B_202C_206B_202D_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-792661255)); - _206F_202A_200B_202D_206E_206F_206B_200F_200D_200D_206A_202C_206C_200B_200F_206C_206B_206C_202B_206D_200B_200E_206E_206D_200B_200D_206D_206A_202B_200B_206A_206D_202B_206F_206D_206A_200B_202C_206B_202D_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(556540328)); - int num = ((!PrintMembers(stringBuilder)) ? (-25201407) : (-25201406)); - while (true) - { - int num2 = num; - int num3 = -25201405; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -25201406; - break; - case 2: - _206E_206F_200C_206F_206C_200F_202A_200D_206A_206B_206A_206A_206F_202C_206F_202E_206F_206B_200F_202E_206A_200B_206E_202A_202D_206C_206C_206D_206B_200D_202C_206F_202B_200F_202A_200E_206D_200C_206D_200E_202E(stringBuilder, '}'); - return _200B_202B_206A_200D_200F_202B_200E_202D_206A_200D_206A_202C_206D_202B_200C_200D_206F_206B_202D_206C_206D_200F_200D_206F_202A_206A_200C_200F_206F_202A_202E_200B_206C_202B_206B_206D_206A_202B_206B_206F_202E((object)stringBuilder); - case 1: - _206E_206F_200C_206F_206C_200F_202A_200D_206A_206B_206A_206A_206F_202C_206F_202E_206F_206B_200F_202E_206A_200B_206E_202A_202D_206C_206C_206D_206B_200D_202C_206F_202B_200F_202A_200E_206D_200C_206D_200E_202E(stringBuilder, ' '); - num = -25201407; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206C_200D_206D_202D_202C_206F_206E_200B_202C_206F_200D_200E_200D_206C_202C_200E_202B_206D_206A_202A_206E_206D_202E_206D_206E_200F_200C_202D_206B_206D_206A_202D_202B_202D_200E_202D_200F_206C_206D_200D_202E(); - _206F_202A_200B_202D_206E_206F_206B_200F_200D_200D_206A_202C_206C_200B_200F_206C_206B_206C_202B_206D_200B_200E_206E_206D_200B_200D_206D_206A_202B_200B_206A_206D_202B_206F_206D_206A_200B_202C_206B_202D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(324724893)); - _206C_200B_200C_202D_206B_206B_200C_206B_206E_200C_200B_202E_200E_202B_202D_200D_202D_200F_206A_202C_206F_202D_200E_200B_202C_206A_200D_202A_200D_200C_202B_200D_200C_206E_206A_206F_206E_206B_206A_206C_202E(builder, (object)CityName); - _206F_202A_200B_202D_206E_206F_206B_200F_200D_200D_206A_202C_206C_200B_200F_206C_206B_206C_202B_206D_200B_200E_206E_206D_200B_200D_206D_206A_202B_200B_206A_206D_202B_206F_206D_206A_200B_202C_206B_202D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(799410148)); - _206C_200B_200C_202D_206B_206B_200C_206B_206E_200C_200B_202E_200E_202B_202D_200D_202D_200F_206A_202C_206F_202D_200E_200B_202C_206A_200D_202A_200D_200C_202B_200D_200C_206E_206A_206F_206E_206B_206A_206C_202E(builder, (object)Shards); - return true; - } - - [CompilerGenerated] - public bool Equals(CityGroup? other) - { - int num = (((object)this == other) ? (-153552481) : (-153552482)); - while (true) - { - int num2 = num; - int num3 = -153552483; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - num = -153552482; - break; - case 1: - return EqualityComparer>.Default.Equals(Shards, other.Shards); - case 2: - return true; - case 0: - num = ((!_206C_200B_206A_202D_202A_200E_200E_202A_202D_202A_202A_202B_206B_206D_206A_200B_200B_200B_206E_200D_202C_206C_206D_206E_200B_206F_202B_200C_206F_202E_206C_202E_200E_206A_202D_206C_206B_206C_202B_206D_202E(EqualityContract, other.EqualityContract)) ? (-153552485) : (-153552487)); - break; - case 3: - num = (((object)other == null) ? (-153552485) : (-153552483)); - break; - case 6: - return false; - case 4: - num = ((!EqualityComparer.Default.Equals(CityName, other.CityName)) ? (-153552485) : (-153552484)); - break; - } - } - } - - bool IEquatable.Equals(CityGroup? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202D_200F_206B_200F_202D_202B_200B_200C_200D_206E_200C_206D_202D_200F_206C_200D_202A_200E_200C_206C_206F_206C_200E_200B_206D_206E_206C_202D_206B_200F_202B_206D_206B_200F_200D_200D_202D_206C_200F_202B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200F_200D_202E_200D_200E_200B_200E_206E_202A_206F_206E_202C_206A_200B_202C_206F_200B_200D_206D_200E_206F_202E_206F_206D_206C_202D_200F_200F_200D_206B_202B_202D_202C_206B_206D_202A_206D_200F_206A_200D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206F_202A_200B_202D_206E_206F_206B_200F_200D_200D_206A_202C_206C_200B_200F_206C_206B_206C_202B_206D_200B_200E_206E_206D_200B_200D_206D_206A_202B_200B_206A_206D_202B_206F_206D_206A_200B_202C_206B_202D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206E_206F_200C_206F_206C_200F_202A_200D_206A_206B_206A_206A_206F_202C_206F_202E_206F_206B_200F_202E_206A_200B_206E_202A_202D_206C_206C_206D_206B_200D_202C_206F_202B_200F_202A_200E_206D_200C_206D_200E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200B_202B_206A_200D_200F_202B_200E_202D_206A_200D_206A_202C_206D_202B_200C_200D_206F_206B_202D_206C_206D_200F_200D_206F_202A_206A_200C_200F_206F_202A_202E_200B_206C_202B_206B_206D_206A_202B_206B_206F_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206C_200D_206D_202D_202C_206F_206E_200B_202C_206F_200D_200E_200D_206C_202C_200E_202B_206D_206A_202A_206E_206D_202E_206D_206E_200F_200C_202D_206B_206D_206A_202D_202B_202D_200E_202D_200F_206C_206D_200D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206C_200B_200C_202D_206B_206B_200C_206B_206E_200C_200B_202E_200E_202B_202D_200D_202D_200F_206A_202C_206F_202D_200E_200B_202C_206A_200D_202A_200D_200C_202B_200D_200C_206E_206A_206F_206E_206B_206A_206C_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206C_200B_206A_202D_202A_200E_200E_202A_202D_202A_202A_202B_206B_206D_206A_200B_200B_200B_206E_200D_202C_206C_206D_206E_200B_206F_202B_200C_206F_202E_206C_202E_200E_206A_202D_206C_206B_206C_202B_206D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - private sealed record ZoneCurrentGroup(ushort TerritoryId, string ZoneName, ImmutableList Currents) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206C_206B_202B_200B_206D_202E_200E_200B_206B_200B_202C_200E_206A_202C_202E_200B_206C_200C_202B_202A_206D_200E_200C_206D_200D_202A_200E_206A_206D_206A_200E_202C_206C_200B_202B_206C_200E_200C_206E_202B_202E(typeof(ZoneCurrentGroup).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206F_200F_202B_206E_200B_206F_202A_206E_202D_206F_202D_206A_206D_200F_206D_200F_206F_202B_206C_202C_200E_200E_206C_202E_200C_200E_202E_202D_202C_206C_206B_206F_206F_200E_202A_200F_202B_202B_200C_206C_202E(); - _206D_202E_200F_200D_202E_200C_206E_200D_206D_206A_202A_202D_202A_200B_206F_200D_202B_200F_206E_206F_200F_202B_200E_202A_202E_206D_202D_200C_206A_206B_202A_200C_202A_202B_202D_206F_202B_202A_200E_206A_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(534034741)); - _206D_202E_200F_200D_202E_200C_206E_200D_206D_206A_202A_202D_202A_200B_206F_200D_202B_200F_206E_206F_200F_202B_200E_202A_202E_206D_202D_200C_206A_206B_202A_200C_202A_202B_202D_206F_202B_202A_200E_206A_202E(stringBuilder, 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(117284107)); - int num = ((!PrintMembers(stringBuilder)) ? 2137363416 : 2137363419); - while (true) - { - int num2 = num; - int num3 = 2137363417; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 2137363419; - break; - case 2: - _200D_206A_206C_200C_206A_206D_202B_206E_202C_202A_200E_206E_202D_200B_200F_200B_206D_206F_200D_200F_200D_206D_200B_206E_202B_206F_206A_206E_206B_206D_206D_206B_200B_200C_206F_206B_200D_206B_200C_206A_202E(stringBuilder, ' '); - num = 2137363416; - break; - case 1: - _200D_206A_206C_200C_206A_206D_202B_206E_202C_202A_200E_206E_202D_200B_200F_200B_206D_206F_200D_200F_200D_206D_200B_206E_202B_206F_206A_206E_206B_206D_206D_206B_200B_200C_206F_206B_200D_206B_200C_206A_202E(stringBuilder, '}'); - return _200D_206C_206A_200B_206C_206D_202D_202B_202B_206A_200C_202C_206E_202B_202D_206D_200D_200B_206A_206B_206C_206E_202D_206B_200F_200B_202E_206F_202E_206C_206E_206F_200E_206C_200D_202E_206E_202E_206F_202B_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206C_200F_200C_200B_202C_200C_202D_202A_206F_200C_202C_206E_202E_200C_202A_200F_206E_200D_200F_206C_202B_200F_202D_200C_202C_206D_202E_200C_202E_206D_200C_206D_206E_202E_202D_202D_200E_206C_206A_202A_202E(); - _206D_202E_200F_200D_202E_200C_206E_200D_206D_206A_202A_202D_202A_200B_206F_200D_202B_200F_206E_206F_200F_202B_200E_202A_202E_206D_202D_200C_206A_206B_202A_200C_202A_202B_202D_206F_202B_202A_200E_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1030915870)); - _206D_202E_200F_200D_202E_200C_206E_200D_206D_206A_202A_202D_202A_200B_206F_200D_202B_200F_206E_206F_200F_202B_200E_202A_202E_206D_202D_200C_206A_206B_202A_200C_202A_202B_202D_206F_202B_202A_200E_206A_202E(builder, TerritoryId.ToString()); - _206D_202E_200F_200D_202E_200C_206E_200D_206D_206A_202A_202D_202A_200B_206F_200D_202B_200F_206E_206F_200F_202B_200E_202A_202E_206D_202D_200C_206A_206B_202A_200C_202A_202B_202D_206F_202B_202A_200E_206A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1005439167)); - _202E_200C_200F_200D_206C_202D_202A_202C_200C_202A_200D_206B_206D_202A_200F_202E_200F_206C_200F_202E_200D_206B_202B_202D_206F_202A_206E_200D_206F_202C_202D_206C_200F_200E_200D_206A_206E_206E_200D_202C_202E(builder, (object)ZoneName); - _206D_202E_200F_200D_202E_200C_206E_200D_206D_206A_202A_202D_202A_200B_206F_200D_202B_200F_206E_206F_200F_202B_200E_202A_202E_206D_202D_200C_206A_206B_202A_200C_202A_202B_202D_206F_202B_202A_200E_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-107322576)); - _202E_200C_200F_200D_206C_202D_202A_202C_200C_202A_200D_206B_206D_202A_200F_202E_200F_206C_200F_202E_200D_206B_202B_202D_206F_202A_206E_200D_206F_202C_202D_206C_200F_200E_200D_206A_206E_206E_200D_202C_202E(builder, (object)Currents); - return true; - } - - [CompilerGenerated] - public bool Equals(ZoneCurrentGroup? other) - { - int num = (((object)this == other) ? 241157465 : 241157466); - while (true) - { - int num2 = num; - int num3 = 241157468; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 241157466; - break; - case 4: - return false; - case 7: - num = ((!_206E_206B_202D_202D_206A_200D_206C_200E_206D_202C_202E_202B_206C_206E_206D_202D_202E_206C_202E_202B_202E_202E_206B_200C_200E_200E_202E_206F_202D_202B_206A_200E_206C_200C_206C_200D_206A_206A_202C_202E(EqualityContract, other.EqualityContract)) ? 241157464 : 241157468); - break; - case 6: - num = (((object)other == null) ? 241157464 : 241157467); - break; - case 3: - return EqualityComparer>.Default.Equals(Currents, other.Currents); - case 0: - num = ((!EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId)) ? 241157464 : 241157469); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(ZoneName, other.ZoneName)) ? 241157464 : 241157471); - break; - case 5: - return true; - } - } - } - - bool IEquatable.Equals(ZoneCurrentGroup? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206C_206B_202B_200B_206D_202E_200E_200B_206B_200B_202C_200E_206A_202C_202E_200B_206C_200C_202B_202A_206D_200E_200C_206D_200D_202A_200E_206A_206D_206A_200E_202C_206C_200B_202B_206C_200E_200C_206E_202B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206F_200F_202B_206E_200B_206F_202A_206E_202D_206F_202D_206A_206D_200F_206D_200F_206F_202B_206C_202C_200E_200E_206C_202E_200C_200E_202E_202D_202C_206C_206B_206F_206F_200E_202A_200F_202B_202B_200C_206C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206D_202E_200F_200D_202E_200C_206E_200D_206D_206A_202A_202D_202A_200B_206F_200D_202B_200F_206E_206F_200F_202B_200E_202A_202E_206D_202D_200C_206A_206B_202A_200C_202A_202B_202D_206F_202B_202A_200E_206A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200D_206A_206C_200C_206A_206D_202B_206E_202C_202A_200E_206E_202D_200B_200F_200B_206D_206F_200D_200F_200D_206D_200B_206E_202B_206F_206A_206E_206B_206D_206D_206B_200B_200C_206F_206B_200D_206B_200C_206A_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200D_206C_206A_200B_206C_206D_202D_202B_202B_206A_200C_202C_206E_202B_202D_206D_200D_200B_206A_206B_206C_206E_202D_206B_200F_200B_202E_206F_202E_206C_206E_206F_200E_206C_200D_202E_206E_202E_206F_202B_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206C_200F_200C_200B_202C_200C_202D_202A_206F_200C_202C_206E_202E_200C_202A_200F_206E_200D_200F_206C_202B_200F_202D_200C_202C_206D_202E_200C_202E_206D_200C_206D_206E_202E_202D_202D_200E_206C_206A_202A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202E_200C_200F_200D_206C_202D_202A_202C_200C_202A_200D_206B_206D_202A_200F_202E_200F_206C_200F_202E_200D_206B_202B_202D_206F_202A_206E_200D_206F_202C_202D_206C_200F_200E_200D_206A_206E_206E_200D_202C_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206E_206B_202D_202D_206A_200D_206C_200E_206D_202C_202E_202B_206C_206E_206D_202D_202E_206C_202E_202B_202E_202E_206B_200C_200E_200E_202E_206F_202D_202B_206A_200E_206C_200C_206C_200D_206A_206A_202C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - private sealed record CurrentEntry(uint AetherCurrentId, bool IsQuestGated, uint QuestId, string QuestName) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200C_200B_206A_206E_202D_202D_200B_200B_200C_202E_200E_206B_206D_200E_202C_206B_202E_202C_200C_202A_202D_200C_202A_206E_206F_202E_206D_200C_206F_206E_200C_206B_200F_202A_206A_202D_202E_206C_200C_202B_202E(typeof(CurrentEntry).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206A_202A_206E_206D_202E_202E_206A_206A_206A_200B_206E_206F_202D_202B_200F_206D_202B_202D_202B_206B_200E_202B_202C_206A_202E_206B_202A_200C_200D_202E_206D_200F_200D_206A_202D_200B_206B_200E_202A_202B_202E(); - _200C_206B_200B_206B_200D_200B_202B_200F_206F_200F_202E_206D_202D_202E_200F_200F_206F_206E_206F_202A_202A_202D_206D_206B_200D_200D_200B_200B_202B_200E_206C_202A_200C_206D_206B_200C_200C_206E_200B_202E_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1337973380)); - _200C_206B_200B_206B_200D_200B_202B_200F_206F_200F_202E_206D_202D_202E_200F_200F_206F_206E_206F_202A_202A_202D_206D_206B_200D_200D_200B_200B_202B_200E_206C_202A_200C_206D_206B_200C_200C_206E_200B_202E_202E(stringBuilder, 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(117284107)); - int num = ((!PrintMembers(stringBuilder)) ? (-116101333) : (-116101336)); - while (true) - { - int num2 = num; - int num3 = -116101334; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -116101336; - break; - case 1: - _202C_206A_206C_202A_206E_200C_202B_206A_206B_202E_206C_206B_206D_200F_200E_206E_206A_202B_206F_202C_200D_206B_202C_206B_202C_200C_206C_200F_200D_200E_200E_206A_202A_206C_202B_206A_202C_200B_202E_202D_202E(stringBuilder, '}'); - return _200D_202D_200C_200F_206C_202D_206A_202B_206E_202A_206D_206F_206B_202C_200F_200C_206F_202A_206B_202D_202A_206D_200D_202E_206C_202B_200E_206A_202A_202C_206D_206D_202D_206B_200F_202A_202C_200D_206B_202D_202E((object)stringBuilder); - case 2: - _202C_206A_206C_202A_206E_200C_202B_206A_206B_202E_206C_206B_206D_200F_200E_206E_206A_202B_206F_202C_200D_206B_202C_206B_202C_200C_206C_200F_200D_200E_200E_206A_202A_206C_202B_206A_202C_200B_202E_202D_202E(stringBuilder, ' '); - num = -116101333; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202B_200D_200F_200B_200B_206C_202D_206D_200F_200F_206F_200D_200B_200D_200E_202A_200F_200E_202E_200B_202E_202A_200C_202B_200C_206F_200D_206C_200C_206D_206B_200F_206D_200E_206F_202C_200D_206C_202A_206E_202E(); - _200C_206B_200B_206B_200D_200B_202B_200F_206F_200F_202E_206D_202D_202E_200F_200F_206F_206E_206F_202A_202A_202D_206D_206B_200D_200D_200B_200B_202B_200E_206C_202A_200C_206D_206B_200C_200C_206E_200B_202E_202E(builder, 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(699491945)); - _200C_206B_200B_206B_200D_200B_202B_200F_206F_200F_202E_206D_202D_202E_200F_200F_206F_206E_206F_202A_202A_202D_206D_206B_200D_200D_200B_200B_202B_200E_206C_202A_200C_206D_206B_200C_200C_206E_200B_202E_202E(builder, AetherCurrentId.ToString()); - _200C_206B_200B_206B_200D_200B_202B_200F_206F_200F_202E_206D_202D_202E_200F_200F_206F_206E_206F_202A_202A_202D_206D_206B_200D_200D_200B_200B_202B_200E_206C_202A_200C_206D_206B_200C_200C_206E_200B_202E_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1615513651)); - _200C_206B_200B_206B_200D_200B_202B_200F_206F_200F_202E_206D_202D_202E_200F_200F_206F_206E_206F_202A_202A_202D_206D_206B_200D_200D_200B_200B_202B_200E_206C_202A_200C_206D_206B_200C_200C_206E_200B_202E_202E(builder, IsQuestGated.ToString()); - _200C_206B_200B_206B_200D_200B_202B_200F_206F_200F_202E_206D_202D_202E_200F_200F_206F_206E_206F_202A_202A_202D_206D_206B_200D_200D_200B_200B_202B_200E_206C_202A_200C_206D_206B_200C_200C_206E_200B_202E_202E(builder, 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(-794801667)); - _200C_206B_200B_206B_200D_200B_202B_200F_206F_200F_202E_206D_202D_202E_200F_200F_206F_206E_206F_202A_202A_202D_206D_206B_200D_200D_200B_200B_202B_200E_206C_202A_200C_206D_206B_200C_200C_206E_200B_202E_202E(builder, QuestId.ToString()); - _200C_206B_200B_206B_200D_200B_202B_200F_206F_200F_202E_206D_202D_202E_200F_200F_206F_206E_206F_202A_202A_202D_206D_206B_200D_200D_200B_200B_202B_200E_206C_202A_200C_206D_206B_200C_200C_206E_200B_202E_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-892118397)); - _202E_206E_202C_200D_206F_200E_202A_200D_200F_206E_200D_200E_206C_200E_200F_202C_200C_206A_202C_200B_202B_202B_206F_200B_206B_202C_200B_206C_206C_206C_200E_206D_206F_200F_200E_206B_200B_202D_206A_200F_202E(builder, (object)QuestName); - return true; - } - - [CompilerGenerated] - public bool Equals(CurrentEntry? other) - { - int num = (((object)this == other) ? 516498834 : 516498833); - while (true) - { - int num2 = num; - int num3 = 516498832; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return false; - case 1: - num = (((object)other == null) ? 516498835 : 516498839); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(AetherCurrentId, other.AetherCurrentId)) ? 516498835 : 516498840); - break; - case 7: - num = ((!_200B_202C_202D_200B_200B_200B_206F_206E_200B_200C_202B_202E_202B_202A_200F_202A_200C_202E_206B_202C_200D_202A_206C_206A_206E_200D_202D_200F_206A_206A_202D_202B_200E_200B_206A_200F_206B_206D_202E_200D_202E(EqualityContract, other.EqualityContract)) ? 516498835 : 516498838); - break; - case 2: - return true; - case 5: - return EqualityComparer.Default.Equals(QuestName, other.QuestName); - case 0: - num = ((!EqualityComparer.Default.Equals(QuestId, other.QuestId)) ? 516498835 : 516498837); - break; - case 8: - num = ((!EqualityComparer.Default.Equals(IsQuestGated, other.IsQuestGated)) ? 516498835 : 516498832); - break; - case 4: - num = 516498833; - break; - } - } - } - - bool IEquatable.Equals(CurrentEntry? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200C_200B_206A_206E_202D_202D_200B_200B_200C_202E_200E_206B_206D_200E_202C_206B_202E_202C_200C_202A_202D_200C_202A_206E_206F_202E_206D_200C_206F_206E_200C_206B_200F_202A_206A_202D_202E_206C_200C_202B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206A_202A_206E_206D_202E_202E_206A_206A_206A_200B_206E_206F_202D_202B_200F_206D_202B_202D_202B_206B_200E_202B_202C_206A_202E_206B_202A_200C_200D_202E_206D_200F_200D_206A_202D_200B_206B_200E_202A_202B_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200C_206B_200B_206B_200D_200B_202B_200F_206F_200F_202E_206D_202D_202E_200F_200F_206F_206E_206F_202A_202A_202D_206D_206B_200D_200D_200B_200B_202B_200E_206C_202A_200C_206D_206B_200C_200C_206E_200B_202E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202C_206A_206C_202A_206E_200C_202B_206A_206B_202E_206C_206B_206D_200F_200E_206E_206A_202B_206F_202C_200D_206B_202C_206B_202C_200C_206C_200F_200D_200E_200E_206A_202A_206C_202B_206A_202C_200B_202E_202D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200D_202D_200C_200F_206C_202D_206A_202B_206E_202A_206D_206F_206B_202C_200F_200C_206F_202A_206B_202D_202A_206D_200D_202E_206C_202B_200E_206A_202A_202C_206D_206D_202D_206B_200F_202A_202C_200D_206B_202D_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202B_200D_200F_200B_200B_206C_202D_206D_200F_200F_206F_200D_200B_200D_200E_202A_200F_200E_202E_200B_202E_202A_200C_202B_200C_206F_200D_206C_200C_206D_206B_200F_206D_200E_206F_202C_200D_206C_202A_206E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202E_206E_202C_200D_206F_200E_202A_200D_200F_206E_200D_200E_206C_200E_200F_202C_200C_206A_202C_200B_202B_202B_206F_200B_206B_202C_200B_206C_206C_206C_200E_206D_206F_200F_200E_206B_200B_202D_206A_200F_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200B_202C_202D_200B_200B_200B_206F_206E_200B_200C_202B_202E_202B_202A_200F_202A_200C_202E_206B_202C_200D_202A_206C_206A_206E_200D_202D_200F_206A_206A_202D_202B_200E_200B_206A_200F_206B_206D_202E_200D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - private sealed record ExpansionGroup(string ExpansionName, ImmutableList Items, byte SortOrder = 0) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206E_202D_206E_206F_200E_202D_200D_202B_200B_200D_206F_206F_206A_200E_206E_206C_202A_206A_200D_202C_206F_202B_200D_206A_200B_206C_202D_200B_200B_206B_206A_200B_206A_206F_200F_206A_206C_202E_202C_202B_202E(typeof(ExpansionGroup).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206F_206B_206D_200E_202D_202C_200D_200F_202D_206D_202C_206B_200B_206C_200D_202D_206E_202C_202A_202D_202E_206E_200B_206A_206A_206F_200C_206C_206D_202A_202B_202A_206E_206A_200D_202B_206D_206F_206E_206D_202E(); - _200C_200D_200B_200E_200C_206F_206E_206C_200F_206F_206C_200B_200F_202D_202A_206D_200B_200D_202D_206E_206E_206C_200D_206F_200B_202B_202C_202D_206F_202A_202D_202A_206B_206D_200F_206F_200B_200B_206D_202E(stringBuilder, 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(1305703596)); - _200C_200D_200B_200E_200C_206F_206E_206C_200F_206F_206C_200B_200F_202D_202A_206D_200B_200D_202D_206E_206E_206C_200D_206F_200B_202B_202C_202D_206F_202A_202D_202A_206B_206D_200F_206F_200B_200B_206D_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1344697862)); - int num = ((!PrintMembers(stringBuilder)) ? 920434898 : 920434899); - while (true) - { - int num2 = num; - int num3 = 920434898; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _202E_200F_200B_206F_202A_202A_202E_202B_202D_206E_200D_206F_200C_202D_200B_206D_200E_202E_206D_206B_200B_200D_202B_202E_202A_202E_206A_200B_206F_200F_206C_206C_206B_202B_206E_200E_206F_200D_200F_202E_202E(stringBuilder, '}'); - return _200E_206B_202C_202C_206F_206A_200E_206A_206D_200E_202B_200B_200B_206A_206B_202E_202A_202E_206D_200F_202C_200C_200E_202C_206F_200D_206C_206E_206F_200F_202A_206C_206D_206F_202C_200C_206A_200B_206B_202C_202E((object)stringBuilder); - case 1: - _202E_200F_200B_206F_202A_202A_202E_202B_202D_206E_200D_206F_200C_202D_200B_206D_200E_202E_206D_206B_200B_200D_202B_202E_202A_202E_206A_200B_206F_200F_206C_206C_206B_202B_206E_200E_206F_200D_200F_202E_202E(stringBuilder, ' '); - num = 920434898; - break; - case 2: - num = 920434899; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206D_202D_202A_206F_200F_206B_200D_200C_200D_200C_200D_202A_206D_206E_206C_206A_202C_206B_206E_202A_206F_200D_202A_206E_202C_202E_200B_206E_206C_206E_200B_202B_200B_202C_206B_202D_202A_202B_206D_206A_202E(); - _200C_200D_200B_200E_200C_206F_206E_206C_200F_206F_206C_200B_200F_202D_202A_206D_200B_200D_202D_206E_206E_206C_200D_206F_200B_202B_202C_202D_206F_202A_202D_202A_206B_206D_200F_206F_200B_200B_206D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1229333129)); - _206E_200D_202E_200C_200D_206D_202B_206D_202B_200B_206E_200C_206D_206B_206B_206B_200B_200C_200E_202B_206D_200C_200B_206E_206F_206D_206C_202D_206F_202D_206D_202D_200B_200B_200E_206E_206B_200D_200E_200E_202E(builder, (object)ExpansionName); - _200C_200D_200B_200E_200C_206F_206E_206C_200F_206F_206C_200B_200F_202D_202A_206D_200B_200D_202D_206E_206E_206C_200D_206F_200B_202B_202C_202D_206F_202A_202D_202A_206B_206D_200F_206F_200B_200B_206D_202E(builder, 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(1428745784)); - _206E_200D_202E_200C_200D_206D_202B_206D_202B_200B_206E_200C_206D_206B_206B_206B_200B_200C_200E_202B_206D_200C_200B_206E_206F_206D_206C_202D_206F_202D_206D_202D_200B_200B_200E_206E_206B_200D_200E_200E_202E(builder, (object)Items); - _200C_200D_200B_200E_200C_206F_206E_206C_200F_206F_206C_200B_200F_202D_202A_206D_200B_200D_202D_206E_206E_206C_200D_206F_200B_202B_202C_202D_206F_202A_202D_202A_206B_206D_200F_206F_200B_200B_206D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(507871010)); - _200C_200D_200B_200E_200C_206F_206E_206C_200F_206F_206C_200B_200F_202D_202A_206D_200B_200D_202D_206E_206E_206C_200D_206F_200B_202B_202C_202D_206F_202A_202D_202A_206B_206D_200F_206F_200B_200B_206D_202E(builder, SortOrder.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(ExpansionGroup? other) - { - int num = (((object)this == other) ? 73841765 : 73841760); - while (true) - { - int num2 = num; - int num3 = 73841767; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = ((!EqualityComparer.Default.Equals(ExpansionName, other.ExpansionName)) ? 73841761 : 73841763); - break; - case 2: - return true; - case 7: - num = (((object)other == null) ? 73841761 : 73841762); - break; - case 4: - num = ((!EqualityComparer>.Default.Equals(Items, other.Items)) ? 73841761 : 73841766); - break; - case 6: - return false; - case 5: - num = ((!_202B_206A_200D_206B_200D_200D_202A_200B_200C_206E_206A_206F_206C_206A_200E_202C_200F_206C_200D_206F_202C_200C_202D_202A_200D_202A_202D_202A_202A_200B_202D_202E_200F_206F_202A_206F_200F_206E_200E_202D_202E(EqualityContract, other.EqualityContract)) ? 73841761 : 73841767); - break; - case 3: - num = 73841760; - break; - case 1: - return EqualityComparer.Default.Equals(SortOrder, other.SortOrder); - } - } - } - - bool IEquatable>.Equals(ExpansionGroup? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206E_202D_206E_206F_200E_202D_200D_202B_200B_200D_206F_206F_206A_200E_206E_206C_202A_206A_200D_202C_206F_202B_200D_206A_200B_206C_202D_200B_200B_206B_206A_200B_206A_206F_200F_206A_206C_202E_202C_202B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206F_206B_206D_200E_202D_202C_200D_200F_202D_206D_202C_206B_200B_206C_200D_202D_206E_202C_202A_202D_202E_206E_200B_206A_206A_206F_200C_206C_206D_202A_202B_202A_206E_206A_200D_202B_206D_206F_206E_206D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200C_200D_200B_200E_200C_206F_206E_206C_200F_206F_206C_200B_200F_202D_202A_206D_200B_200D_202D_206E_206E_206C_200D_206F_200B_202B_202C_202D_206F_202A_202D_202A_206B_206D_200F_206F_200B_200B_206D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202E_200F_200B_206F_202A_202A_202E_202B_202D_206E_200D_206F_200C_202D_200B_206D_200E_202E_206D_206B_200B_200D_202B_202E_202A_202E_206A_200B_206F_200F_206C_206C_206B_202B_206E_200E_206F_200D_200F_202E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200E_206B_202C_202C_206F_206A_200E_206A_206D_200E_202B_200B_200B_206A_206B_202E_202A_202E_206D_200F_202C_200C_200E_202C_206F_200D_206C_206E_206F_200F_202A_206C_206D_206F_202C_200C_206A_200B_206B_202C_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206D_202D_202A_206F_200F_206B_200D_200C_200D_200C_200D_202A_206D_206E_206C_206A_202C_206B_206E_202A_206F_200D_202A_206E_202C_202E_200B_206E_206C_206E_200B_202B_200B_202C_206B_202D_202A_202B_206D_206A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206E_200D_202E_200C_200D_206D_202B_206D_202B_200B_206E_200C_206D_206B_206B_206B_200B_200C_200E_202B_206D_200C_200B_206E_206F_206D_206C_202D_206F_202D_206D_202D_200B_200B_200E_206E_206B_200D_200E_200E_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202B_206A_200D_206B_200D_200D_202A_200B_200C_206E_206A_206F_206C_206A_200E_202C_200F_206C_200D_206F_202C_200C_202D_202A_200D_202A_202D_202A_202A_200B_202D_202E_200F_206F_202A_206F_200F_206E_200E_202D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } + private sealed record ExpansionGroup(string ExpansionName, ImmutableList Items, byte SortOrder = 0); private enum AttuneRowKind : byte { @@ -783,400 +85,6 @@ internal sealed class AttunementJournalComponent public CurrentEntry? Current { get; init; } } - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass67_0 - { - public ExcelSheet territorySheet; - - public AttunementJournalComponent _003C_003E4__this; - - public ExcelSheet aetheryteSheet; - - public ExcelSheet questSheet; - - public Func, string> _003C_003E9__17; - - public Func _003C_003E9__19; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal (string Name, byte SortOrder) _003CInitializeData_003Eb__0(AetheryteEntry a) - { - TerritoryType? rowOrDefault = territorySheet.GetRowOrDefault(a.TerritoryId); - int num = (rowOrDefault.HasValue ? 1176503751 : 1176503747); - ExVersion? exVersion = default(ExVersion?); - while (true) - { - int num2 = num; - int num3 = 1176503751; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - ExVersion? obj; - object obj2; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 2: - num = 1176503747; - continue; - case 4: - obj = null; - break; - case 3: - obj2 = exVersion.GetValueOrDefault().Name.ToString(); - goto IL_00b1; - case 1: - obj2 = null; - goto IL_00b1; - case 0: - { - obj = rowOrDefault.GetValueOrDefault().ExVersion.ValueNullable; - break; - } - IL_00b1: - if (obj2 == null) - { - obj2 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1261156168); - } - return (Name: (string)obj2, SortOrder: (byte)(exVersion?.RowId ?? 0)); - } - exVersion = obj; - num = (exVersion.HasValue ? 1176503748 : 1176503750); - } - } - - internal ushort _003CInitializeData_003Eb__4(AetheryteEntry a) - { - return _200E_200D_206B_206E_202D_206F_200E_202A_202D_206A_206A_206B_202D_202D_200E_202A_202A_202D_200D_206E_206F_200C_200E_200D_200E_200F_206C_206F_206B_206B_200F_200B_200F_200B_200D_202C_202E_206B_206F_206A_202E(_003C_003E4__this._aetheryteData).GetValueOrDefault(a.Location); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal CityGroup _003CInitializeData_003Eb__6(IGrouping g) - { - _003C_003Ec__DisplayClass67_1 CS_0024_003C_003E8__locals2 = new _003C_003Ec__DisplayClass67_1 - { - groupId = g.Key - }; - string text = _200E_200D_206B_206E_202D_206F_200E_202A_202D_206A_206A_206B_202D_202D_200E_202A_202A_202D_200D_206E_206F_200C_200E_200D_200E_200F_206C_206F_206B_206B_200F_200B_200F_200B_200D_202C_202E_206B_206F_206A_202E(_003C_003E4__this._aetheryteData).Where(delegate(KeyValuePair kv) - { - int num7 = ((kv.Value != CS_0024_003C_003E8__locals2.groupId) ? 1506024622 : 1506024621); - while (true) - { - int num8 = num7; - int num9 = 1506024623; - int num10 = num8; - switch ((num10 | num9) - (num10 & num9)) - { - case 0: - goto IL_004d; - case 2: - return _003C_003Ec__DisplayClass67_1._202A_206F_206C_202D_200C_200F_206C_206A_206B_200E_200E_206F_206F_206F_206E_206E_206C_202D_200F_200E_200C_200D_202D_202E_200C_200E_202B_206E_206D_206A_200C_206B_206F_206E_200C_206F_202D_202C_202C_206C_202E(kv.Key); - case 1: - return false; - } - continue; - IL_004d: - num7 = 1506024621; - } - }).Select(delegate(KeyValuePair kv) - { - Lumina.Excel.Sheets.Aetheryte? rowOrDefault = aetheryteSheet.GetRowOrDefault((uint)kv.Key); - int num7 = (rowOrDefault.HasValue ? 665015300 : 665015303); - while (true) - { - int num8 = num7; - int num9 = 665015301; - int num10 = num8; - switch ((num10 | num9) - (num10 & num9)) - { - case 1: - return rowOrDefault.GetValueOrDefault().PlaceName.ValueNullable?.Name.ToString(); - case 2: - return (string)null; - case 0: - goto IL_00ab; - } - continue; - IL_00ab: - num7 = 665015303; - } - }).FirstOrDefault(); - int num = ((!_200E_202C_200E_206C_206F_206C_206E_206A_200D_202A_202C_206E_202A_206A_200F_206B_206F_202B_206D_206D_202B_206B_202E_200F_200B_200B_206F_206C_200B_206D_206E_206D_202E_200D_202D_200F_200E_202B_206E_206D_202E(text)) ? 875556706 : 875556705); - while (true) - { - int num2 = num; - int num3 = 875556707; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return new CityGroup(text, g.OrderBy((AetheryteEntry a) => a.Name).ToImmutableList()); - case 2: - { - ushort territoryId = g.First().TerritoryId; - object obj = territorySheet.GetRowOrDefault(territoryId)?.PlaceName.ValueNullable?.Name.ToString(); - if (obj == null) - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(6, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(636653864)); - defaultInterpolatedStringHandler.AppendFormatted(CS_0024_003C_003E8__locals2.groupId); - obj = defaultInterpolatedStringHandler.ToStringAndClear(); - } - text = (string)obj; - num = 875556706; - break; - } - case 0: - num = 875556705; - break; - } - } - } - - internal string _003CInitializeData_003Eb__17(KeyValuePair kv) - { - Lumina.Excel.Sheets.Aetheryte? rowOrDefault = aetheryteSheet.GetRowOrDefault((uint)kv.Key); - int num = (rowOrDefault.HasValue ? 665015300 : 665015303); - while (true) - { - int num2 = num; - int num3 = 665015301; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return rowOrDefault.GetValueOrDefault().PlaceName.ValueNullable?.Name.ToString(); - case 2: - return null; - case 0: - goto IL_00ab; - } - continue; - IL_00ab: - num = 665015303; - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal (ushort territoryId, string zoneName, string expansionName, byte sortOrder, ImmutableList currents) _003CInitializeData_003Eb__9(KeyValuePair> kv) - { - ushort key = kv.Key; - TerritoryType? rowOrDefault = territorySheet.GetRowOrDefault(key); - int num = (rowOrDefault.HasValue ? 1752178972 : 1752178960); - ExVersion? exVersion = default(ExVersion?); - byte item = default(byte); - string item2 = default(string); - while (true) - { - int num2 = num; - int num3 = 1752178964; - int num4 = num2; - int num5; - object obj3; - object obj2; - ExVersion? obj; - string item3; - ImmutableList item4; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 7: - num5 = (int)exVersion.GetValueOrDefault().RowId; - goto IL_008d; - case 3: - obj3 = exVersion.GetValueOrDefault().Name.ToString(); - goto IL_00d3; - case 8: - obj2 = rowOrDefault.GetValueOrDefault().PlaceName.ValueNullable?.Name.ToString(); - goto IL_0177; - case 1: - obj3 = null; - goto IL_00d3; - case 0: - num5 = 0; - goto IL_008d; - case 2: - num = 1752178960; - continue; - case 6: - obj = rowOrDefault.GetValueOrDefault().ExVersion.ValueNullable; - break; - case 4: - obj2 = null; - goto IL_0177; - case 5: - { - obj = null; - break; - } - IL_008d: - item = (byte)num5; - num = (exVersion.HasValue ? 1752178967 : 1752178965); - continue; - IL_0177: - if (obj2 == null) - { - obj2 = key.ToString(_206B_202D_200D_200E_206C_206D_202E_200E_202C_206C_200C_200C_202B_200B_206F_202B_206C_200D_206B_206D_200E_200B_200C_202A_200D_202E_200D_200B_200D_202D_202C_206E_206E_202D_200B_200D_202E_206B_206D_200D_202E()); - } - item2 = (string)obj2; - num = (rowOrDefault.HasValue ? 1752178962 : 1752178961); - continue; - IL_00d3: - if (obj3 == null) - { - obj3 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1925248335); - } - item3 = (string)obj3; - item4 = kv.Value.Select(delegate(AetherCurrentInfo info) - { - string questName = string.Empty; - int num6 = ((!info.IsQuestGated) ? (-733306427) : (-733306432)); - Lumina.Excel.Sheets.Quest? rowOrDefault2 = default(Lumina.Excel.Sheets.Quest?); - while (true) - { - int num7 = num6; - int num8 = -733306428; - int num9 = num7; - object obj4; - switch ((num9 | num8) - (num9 & num8)) - { - case 5: - rowOrDefault2 = questSheet.GetRowOrDefault(info.QuestId); - num6 = (rowOrDefault2.HasValue ? (-733306425) : (-733306426)); - break; - case 3: - obj4 = rowOrDefault2.GetValueOrDefault().Name.ToString(); - goto IL_00b4; - case 2: - obj4 = null; - goto IL_00b4; - case 0: - num6 = -733306432; - break; - case 4: - num6 = ((info.QuestId == 0) ? (-733306427) : (-733306431)); - break; - case 1: - { - return new CurrentEntry(info.AetherCurrentId, info.IsQuestGated, info.QuestId, questName); - } - IL_00b4: - if (obj4 == null) - { - obj4 = string.Empty; - } - questName = (string)obj4; - num6 = -733306427; - break; - } - } - }).ToImmutableList(); - return (territoryId: key, zoneName: item2, expansionName: item3, sortOrder: item, currents: item4); - } - exVersion = obj; - num = (exVersion.HasValue ? 1752178963 : 1752178964); - } - } - - internal CurrentEntry _003CInitializeData_003Eb__19(AetherCurrentInfo info) - { - string questName = string.Empty; - int num = ((!info.IsQuestGated) ? (-733306427) : (-733306432)); - Lumina.Excel.Sheets.Quest? rowOrDefault = default(Lumina.Excel.Sheets.Quest?); - while (true) - { - int num2 = num; - int num3 = -733306428; - int num4 = num2; - object obj; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - rowOrDefault = questSheet.GetRowOrDefault(info.QuestId); - num = (rowOrDefault.HasValue ? (-733306425) : (-733306426)); - break; - case 3: - obj = rowOrDefault.GetValueOrDefault().Name.ToString(); - goto IL_00b4; - case 2: - obj = null; - goto IL_00b4; - case 0: - num = -733306432; - break; - case 4: - num = ((info.QuestId == 0) ? (-733306427) : (-733306431)); - break; - case 1: - { - return new CurrentEntry(info.AetherCurrentId, info.IsQuestGated, info.QuestId, questName); - } - IL_00b4: - if (obj == null) - { - obj = string.Empty; - } - questName = (string)obj; - num = -733306427; - break; - } - } - } - - static ReadOnlyDictionary _200E_200D_206B_206E_202D_206F_200E_202A_202D_206A_206A_206B_202D_202D_200E_202A_202A_202D_200D_206E_206F_200C_200E_200D_200E_200F_206C_206F_206B_206B_200F_200B_200F_200B_200D_202C_202E_206B_206F_206A_202E(AetheryteData P_0) - { - return P_0.AethernetGroups; - } - - static bool _200E_202C_200E_206C_206F_206C_206E_206A_200D_202A_202C_206E_202A_206A_200F_206B_206F_202B_206D_206D_202B_206B_202E_200F_200B_200B_206F_206C_200B_206D_206E_206D_202E_200D_202D_200F_200E_202B_206E_206D_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static CultureInfo _206B_202D_200D_200E_206C_206D_202E_200E_202C_206C_200C_200C_202B_200B_206F_202B_206C_200D_206B_206D_200E_200B_200C_202A_200D_202E_200D_200B_200D_202D_202C_206E_206E_202D_200B_200D_202E_206B_206D_200D_202E() - { - return CultureInfo.InvariantCulture; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass67_1 - { - public ushort groupId; - - internal bool _003CInitializeData_003Eb__16(KeyValuePair kv) - { - int num = ((kv.Value != groupId) ? 1506024622 : 1506024621); - while (true) - { - int num2 = num; - int num3 = 1506024623; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004d; - case 2: - return _202A_206F_206C_202D_200C_200F_206C_206A_206B_200E_200E_206F_206F_206F_206E_206E_206C_202D_200F_200E_200C_200D_202D_202E_200C_200E_202B_206E_206D_206A_200C_206B_206F_206E_200C_206F_202D_202C_202C_206C_202E(kv.Key); - case 1: - return false; - } - continue; - IL_004d: - num = 1506024621; - } - } - - static bool _202A_206F_206C_202D_200C_200F_206C_206A_206B_200E_200E_206F_206F_206F_206E_206E_206C_202D_200F_200E_200C_200D_202D_202E_200C_200E_202B_206E_206D_206A_200C_206B_206F_206E_200C_206F_202D_202C_202C_206C_202E(EAetheryteLocation P_0) - { - return AetheryteConverter.IsLargeAetheryte(P_0); - } - } - private readonly AetheryteData _aetheryteData; private readonly AetherCurrentData _aetherCurrentData; @@ -1309,7 +217,7 @@ internal sealed class AttunementJournalComponent private const string SectionCurrents = "Aether Currents"; - private static readonly int CountPadWidth = _206C_200C_200B_206C_202E_202B_206D_206C_202A_206C_206A_200D_206A_206F_206D_200C_200F_200D_202D_206D_200F_202C_202B_206C_202E_202E_202B_206A_206D_206C_202D_200B_200D_206A_200F_206A_200D_200F_200B_206E_202E(9999.ToString(_202A_200B_206B_206F_202C_200C_200E_200D_206C_202C_202A_202D_202A_200B_206A_206A_206B_202E_206B_202D_206F_202C_202B_200D_206E_206B_206A_206D_200F_206F_202E_200D_206F_202B_202A_206E_206F_200D_206F_202A_202E())); + private static readonly int CountPadWidth = 9999.ToString(CultureInfo.CurrentCulture).Length; public Action? SelectTabAction { get; set; } @@ -1351,371 +259,81 @@ internal sealed class AttunementJournalComponent List list = new List(); List list2 = new List(); ExcelSheet excelSheet = _dataManager.GetExcelSheet(); - IEnumerator enumerator = _200F_202C_200C_206C_206E_206E_200F_200F_206F_206D_206D_206B_200E_206C_202B_206F_202B_206F_206A_202A_200D_200D_202D_202D_202C_202E_206A_202D_206A_200F_202E_206F_202A_200E_206B_202A_206D_202C_202D_206F_202E(_aetheryteData).Keys.GetEnumerator(); - try + foreach (EAetheryteLocation key2 in _aetheryteData.Locations.Keys) { - int num = -1496383647; - AetheryteEntry item = default(AetheryteEntry); - EAetheryteLocation current = default(EAetheryteLocation); - ushort valueOrDefault = default(ushort); - Lumina.Excel.Sheets.Aetheryte? rowOrDefault = default(Lumina.Excel.Sheets.Aetheryte?); - string name = default(string); - uint value = default(uint); - while (true) + ushort valueOrDefault = _aetheryteData.TerritoryIds.GetValueOrDefault(key2); + Lumina.Excel.Sheets.Aetheryte? rowOrDefault = aetheryteSheet.GetRowOrDefault((uint)key2); + if (!rowOrDefault.HasValue) { - int num2 = num; - int num3 = -1496383636; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - object obj; - int num7; - switch (num5 - (num6 + num6)) + uint value; + string name = ((!FirmamentPlaceNameIds.TryGetValue(key2, out value)) ? key2.ToString() : (excelSheet.GetRowOrDefault(value)?.Name.ToString() ?? key2.ToString())); + bool num = _aetheryteData.AethernetGroups.ContainsKey(key2) && !AetheryteConverter.IsLargeAetheryte(key2); + AetheryteEntry item = new AetheryteEntry(key2, name, valueOrDefault); + if (num) { - default: - continue; - case 5: - num = -1496383647; - continue; - case 12: list2.Add(item); - num = -1496383647; - continue; - case 1: - current = enumerator.Current; - valueOrDefault = _200C_206F_200C_200E_200B_206B_206D_202A_206A_200B_202E_202D_206B_200E_206B_200E_202D_200F_206C_200B_200E_206A_200F_206E_202A_202E_206E_200B_206E_202A_200F_202E_202E_202B_200C_200B_202A_200F_206D_206E_202E(_aetheryteData).GetValueOrDefault(current); - rowOrDefault = aetheryteSheet.GetRowOrDefault((uint)current); - num = (rowOrDefault.HasValue ? (-1496383640) : (-1496383638)); - continue; - case 7: - name = rowOrDefault.Value.AethernetName.ValueNullable?.Name.ToString() ?? current.ToString(); - list2.Add(new AetheryteEntry(current, name, valueOrDefault)); - num = -1496383647; - continue; - case 9: - name = rowOrDefault.Value.PlaceName.ValueNullable?.Name.ToString() ?? current.ToString(); - list.Add(new AetheryteEntry(current, name, valueOrDefault)); - num = -1496383647; - continue; - case 4: - num = ((!_202E_206A_200B_206C_202C_206D_206F_200B_206B_206E_206E_206E_206B_206E_202D_200B_206A_200E_206E_200E_200E_200D_202E_202B_202E_206C_202C_206E_202B_206E_206E_202C_206B_202D_200C_206D_206A_200C_200B_206D_202E(current)) ? (-1496383637) : (-1496383643)); - continue; - case 11: - obj = excelSheet.GetRowOrDefault(value)?.Name.ToString() ?? current.ToString(); - goto IL_02e2; - case 13: - num = (_206B_206A_202E_200B_202E_202D_202C_202A_206D_200C_200D_200B_200E_206E_202A_200B_202B_202A_200B_202B_200D_206C_206C_200E_206A_206B_206C_206B_206B_200F_202E_206C_202A_206A_202A_202C_206F_206C_206B_206A_202E((IEnumerator)enumerator) ? (-1496383635) : (-1496383644)); - continue; - case 6: - num = (FirmamentPlaceNameIds.TryGetValue(current, out value) ? (-1496383641) : (-1496383633)); - continue; - case 10: + } + else + { list.Add(item); - num = -1496383647; - continue; - case 2: - num7 = 0; - break; - case 0: - num7 = ((!_202E_206A_200B_206C_202C_206D_206F_200B_206B_206E_206E_206E_206B_206E_202D_200B_206A_200E_206E_200E_200E_200D_202E_202B_202E_206C_202C_206E_202B_206E_206E_202C_206B_202D_200C_206D_206A_200C_200B_206D_202E(current)) ? 1 : 0); - break; - case 3: - obj = current.ToString(); - goto IL_02e2; - case 8: - goto end_IL_00a7; - IL_02e2: - name = (string)obj; - num = ((!_200F_206F_202E_202D_202D_206B_200C_206D_202B_202E_206B_200F_202E_200B_200F_206B_200F_200C_202A_206D_206B_206E_200D_206E_206C_202A_200F_200B_202B_206B_206C_200C_200B_206D_200E_206C_206B_206C_200B_202C_202E(_aetheryteData).ContainsKey(current)) ? (-1496383634) : (-1496383636)); - continue; } - item = new AetheryteEntry(current, name, valueOrDefault); - num = ((num7 == 0) ? (-1496383642) : (-1496383648)); - continue; - end_IL_00a7: - break; + } + else if (AetheryteConverter.IsLargeAetheryte(key2)) + { + string name = rowOrDefault.Value.PlaceName.ValueNullable?.Name.ToString() ?? key2.ToString(); + list.Add(new AetheryteEntry(key2, name, valueOrDefault)); + } + else + { + string name = rowOrDefault.Value.AethernetName.ValueNullable?.Name.ToString() ?? key2.ToString(); + list2.Add(new AetheryteEntry(key2, name, valueOrDefault)); } } - finally - { - int num = ((enumerator == null) ? (-1787889750) : (-1787889751)); - while (true) + _aetherytesByExpansion = (from g in list.GroupBy(delegate(AetheryteEntry a) { - int num8 = num; - int num3 = -1787889752; - int num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1787889751; - break; - case 1: - _200C_200B_200F_202E_206F_202B_202B_202B_200E_206F_206E_202D_202E_200D_206C_200C_200E_206D_206A_202B_206D_206F_202E_206A_202C_206C_202B_200B_206B_200B_202B_206C_206D_206D_206E_202D_202D_206C_200B_202E_202E((IDisposable)enumerator); - num = -1787889750; - break; - case 2: - goto end_IL_03fe; - } - continue; - end_IL_03fe: - break; - } - } - _aetherytesByExpansion = (from g in list.GroupBy([MethodImpl(MethodImplOptions.NoInlining)] (AetheryteEntry a) => - { - TerritoryType? rowOrDefault2 = territorySheet.GetRowOrDefault(a.TerritoryId); - int num9 = (rowOrDefault2.HasValue ? 1176503751 : 1176503747); - ExVersion? exVersion = default(ExVersion?); - while (true) - { - int num10 = num9; - int num11 = 1176503751; - int num12 = num10; - int num13 = num12 + num11; - int num14 = num12 & num11; - ExVersion? obj2; - object obj3; - switch (num13 - (num14 + num14)) - { - default: - continue; - case 2: - num9 = 1176503747; - continue; - case 4: - obj2 = null; - break; - case 3: - obj3 = exVersion.GetValueOrDefault().Name.ToString(); - goto IL_00b1; - case 1: - obj3 = null; - goto IL_00b1; - case 0: - { - obj2 = rowOrDefault2.GetValueOrDefault().ExVersion.ValueNullable; - break; - } - IL_00b1: - if (obj3 == null) - { - obj3 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1261156168); - } - return (Name: (string)obj3, SortOrder: (byte)(exVersion?.RowId ?? 0)); - } - exVersion = obj2; - num9 = (exVersion.HasValue ? 1176503748 : 1176503750); - } + ExVersion? exVersion = territorySheet.GetRowOrDefault(a.TerritoryId)?.ExVersion.ValueNullable; + return (Name: exVersion?.Name.ToString() ?? "A Realm Reborn", SortOrder: (byte)(exVersion?.RowId ?? 0)); }) orderby g.Key.SortOrder select new ExpansionGroup(g.Key.Name, g.OrderBy((AetheryteEntry a) => a.Name).ToImmutableList(), g.Key.SortOrder)).ToImmutableList(); _aetheryteTotal = _aetherytesByExpansion.Sum((ExpansionGroup g) => g.Items.Count); _aethernetByCity = (from g in (from a in list2 - group a by _003C_003Ec__DisplayClass67_0._200E_200D_206B_206E_202D_206F_200E_202A_202D_206A_206A_206B_202D_202D_200E_202A_202A_202D_200D_206E_206F_200C_200E_200D_200E_200F_206C_206F_206B_206B_200F_200B_200F_200B_200D_202C_202E_206B_206F_206A_202E(_aetheryteData).GetValueOrDefault(a.Location) into g + group a by _aetheryteData.AethernetGroups.GetValueOrDefault(a.Location) into g where g.Key != 0 - select g).Select([MethodImpl(MethodImplOptions.NoInlining)] (IGrouping g) => + select g).Select(delegate(IGrouping g) { ushort groupId = g.Key; - string text = _003C_003Ec__DisplayClass67_0._200E_200D_206B_206E_202D_206F_200E_202A_202D_206A_206A_206B_202D_202D_200E_202A_202A_202D_200D_206E_206F_200C_200E_200D_200E_200F_206C_206F_206B_206B_200F_200B_200F_200B_200D_202C_202E_206B_206F_206A_202E(_aetheryteData).Where(delegate(KeyValuePair kv) + string text = (from kv in _aetheryteData.AethernetGroups + where kv.Value == groupId && AetheryteConverter.IsLargeAetheryte(kv.Key) + select aetheryteSheet.GetRowOrDefault((uint)kv.Key)?.PlaceName.ValueNullable?.Name.ToString()).FirstOrDefault(); + if (string.IsNullOrEmpty(text)) { - int num15 = ((kv.Value != groupId) ? 1506024622 : 1506024621); - while (true) - { - int num16 = num15; - int num17 = 1506024623; - int num18 = num16; - switch ((num18 | num17) - (num18 & num17)) - { - case 0: - goto IL_004d; - case 2: - return _003C_003Ec__DisplayClass67_1._202A_206F_206C_202D_200C_200F_206C_206A_206B_200E_200E_206F_206F_206F_206E_206E_206C_202D_200F_200E_200C_200D_202D_202E_200C_200E_202B_206E_206D_206A_200C_206B_206F_206E_200C_206F_202D_202C_202C_206C_202E(kv.Key); - case 1: - return false; - } - continue; - IL_004d: - num15 = 1506024621; - } - }).Select(delegate(KeyValuePair kv) - { - Lumina.Excel.Sheets.Aetheryte? rowOrDefault2 = aetheryteSheet.GetRowOrDefault((uint)kv.Key); - int num15 = (rowOrDefault2.HasValue ? 665015300 : 665015303); - while (true) - { - int num16 = num15; - int num17 = 665015301; - int num18 = num16; - switch ((num18 | num17) - (num18 & num17)) - { - case 1: - return rowOrDefault2.GetValueOrDefault().PlaceName.ValueNullable?.Name.ToString(); - case 2: - return (string)null; - case 0: - goto IL_00ab; - } - continue; - IL_00ab: - num15 = 665015303; - } - }) - .FirstOrDefault(); - int num9 = ((!_003C_003Ec__DisplayClass67_0._200E_202C_200E_206C_206F_206C_206E_206A_200D_202A_202C_206E_202A_206A_200F_206B_206F_202B_206D_206D_202B_206B_202E_200F_200B_200B_206F_206C_200B_206D_206E_206D_202E_200D_202D_200F_200E_202B_206E_206D_202E(text)) ? 875556706 : 875556705); - while (true) - { - int num10 = num9; - int num11 = 875556707; - int num12 = num10; - int num13 = num12 + num11; - int num14 = num12 & num11; - switch (num13 - (num14 + num14)) - { - case 1: - return new CityGroup(text, g.OrderBy((AetheryteEntry a) => a.Name).ToImmutableList()); - case 2: - { - ushort territoryId = g.First().TerritoryId; - object obj2 = territorySheet.GetRowOrDefault(territoryId)?.PlaceName.ValueNullable?.Name.ToString(); - if (obj2 == null) - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(6, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(636653864)); - defaultInterpolatedStringHandler.AppendFormatted(groupId); - obj2 = defaultInterpolatedStringHandler.ToStringAndClear(); - } - text = (string)obj2; - num9 = 875556706; - break; - } - case 0: - num9 = 875556705; - break; - } + ushort territoryId = g.First().TerritoryId; + text = territorySheet.GetRowOrDefault(territoryId)?.PlaceName.ValueNullable?.Name.ToString() ?? $"Group {groupId}"; } + return new CityGroup(text, g.OrderBy((AetheryteEntry a) => a.Name).ToImmutableList()); }) orderby g.CityName select g).ToImmutableList(); _aethernetTotal = _aethernetByCity.Sum((CityGroup g) => g.Shards.Count); - _currentsByExpansion = (from x in _aetherCurrentData.AllCurrentsByTerritory.Select>, (ushort, string, string, byte, ImmutableList)>([MethodImpl(MethodImplOptions.NoInlining)] (KeyValuePair> kv) => + _currentsByExpansion = (from x in _aetherCurrentData.AllCurrentsByTerritory.Select>, (ushort, string, string, byte, ImmutableList)>(delegate(KeyValuePair> kv) { ushort key = kv.Key; TerritoryType? rowOrDefault2 = territorySheet.GetRowOrDefault(key); - int num9 = (rowOrDefault2.HasValue ? 1752178972 : 1752178960); - ExVersion? exVersion = default(ExVersion?); - byte item2 = default(byte); - string item3 = default(string); - while (true) + string item2 = rowOrDefault2?.PlaceName.ValueNullable?.Name.ToString() ?? key.ToString(CultureInfo.InvariantCulture); + ExVersion? exVersion = rowOrDefault2?.ExVersion.ValueNullable; + byte item3 = (byte)(exVersion?.RowId ?? 0); + string item4 = exVersion?.Name.ToString() ?? "A Realm Reborn"; + ImmutableList item5 = kv.Value.Select(delegate(AetherCurrentInfo info) { - int num10 = num9; - int num11 = 1752178964; - int num12 = num10; - int num13; - object obj4; - object obj3; - ExVersion? obj2; - string item4; - ImmutableList item5; - switch ((num12 | num11) - (num12 & num11)) + string questName = string.Empty; + if (info.IsQuestGated && info.QuestId != 0) { - default: - continue; - case 7: - num13 = (int)exVersion.GetValueOrDefault().RowId; - goto IL_008d; - case 3: - obj4 = exVersion.GetValueOrDefault().Name.ToString(); - goto IL_00d3; - case 8: - obj3 = rowOrDefault2.GetValueOrDefault().PlaceName.ValueNullable?.Name.ToString(); - goto IL_0177; - case 1: - obj4 = null; - goto IL_00d3; - case 0: - num13 = 0; - goto IL_008d; - case 2: - num9 = 1752178960; - continue; - case 6: - obj2 = rowOrDefault2.GetValueOrDefault().ExVersion.ValueNullable; - break; - case 4: - obj3 = null; - goto IL_0177; - case 5: - { - obj2 = null; - break; - } - IL_008d: - item2 = (byte)num13; - num9 = (exVersion.HasValue ? 1752178967 : 1752178965); - continue; - IL_0177: - if (obj3 == null) - { - obj3 = key.ToString(_003C_003Ec__DisplayClass67_0._206B_202D_200D_200E_206C_206D_202E_200E_202C_206C_200C_200C_202B_200B_206F_202B_206C_200D_206B_206D_200E_200B_200C_202A_200D_202E_200D_200B_200D_202D_202C_206E_206E_202D_200B_200D_202E_206B_206D_200D_202E()); - } - item3 = (string)obj3; - num9 = (rowOrDefault2.HasValue ? 1752178962 : 1752178961); - continue; - IL_00d3: - if (obj4 == null) - { - obj4 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1925248335); - } - item4 = (string)obj4; - item5 = kv.Value.Select(delegate(AetherCurrentInfo info) - { - string questName = string.Empty; - int num14 = ((!info.IsQuestGated) ? (-733306427) : (-733306432)); - Lumina.Excel.Sheets.Quest? rowOrDefault3 = default(Lumina.Excel.Sheets.Quest?); - while (true) - { - int num15 = num14; - int num16 = -733306428; - int num17 = num15; - object obj5; - switch ((num17 | num16) - (num17 & num16)) - { - case 5: - rowOrDefault3 = questSheet.GetRowOrDefault(info.QuestId); - num14 = (rowOrDefault3.HasValue ? (-733306425) : (-733306426)); - break; - case 3: - obj5 = rowOrDefault3.GetValueOrDefault().Name.ToString(); - goto IL_00b4; - case 2: - obj5 = null; - goto IL_00b4; - case 0: - num14 = -733306432; - break; - case 4: - num14 = ((info.QuestId == 0) ? (-733306427) : (-733306431)); - break; - case 1: - { - return new CurrentEntry(info.AetherCurrentId, info.IsQuestGated, info.QuestId, questName); - } - IL_00b4: - if (obj5 == null) - { - obj5 = string.Empty; - } - questName = (string)obj5; - num14 = -733306427; - break; - } - } - }).ToImmutableList(); - return (territoryId: key, zoneName: item3, expansionName: item4, sortOrder: item2, currents: item5); + questName = questSheet.GetRowOrDefault(info.QuestId)?.Name.ToString() ?? string.Empty; } - exVersion = obj2; - num9 = (exVersion.HasValue ? 1752178963 : 1752178964); - } + return new CurrentEntry(info.AetherCurrentId, info.IsQuestGated, info.QuestId, questName); + }).ToImmutableList(); + return (territoryId: key, zoneName: item2, expansionName: item4, sortOrder: item3, currents: item5); }) where x.sortOrder > 0 group x by (expansionName: x.expansionName, sortOrder: x.sortOrder) into g @@ -1734,175 +352,54 @@ internal sealed class AttunementJournalComponent foreach (ExpansionGroup item in _aetherytesByExpansion) { int num2 = 0; - int num5; - int num6; - using (ImmutableList.Enumerator enumerator2 = item.Items.GetEnumerator()) + foreach (AetheryteEntry item2 in item.Items) { - int num3 = 1439963513; - while (true) + bool flag = _aetheryteFunctions.IsAetheryteUnlocked(item2.Location); + dictionary[item2.Location] = flag; + if (flag) { - int num4 = num3; - num5 = 1439963514; - num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) - { - case 3: - num3 = (enumerator2.MoveNext() ? 1439963512 : 1439963514); - break; - case 2: - { - AetheryteEntry current2 = enumerator2.Current; - bool flag = _aetheryteFunctions.IsAetheryteUnlocked(current2.Location); - dictionary[current2.Location] = flag; - num3 = ((!flag) ? 1439963513 : 1439963515); - break; - } - case 4: - num3 = 1439963513; - break; - case 1: - { - int num9 = num2; - num5 = 1; - num6 = num9; - int num10 = num6 ^ num5; - int num11 = num6 & num5; - num2 = num10 + (num11 + num11); - num3 = 1439963513; - break; - } - case 0: - goto end_IL_0046; - } - continue; - end_IL_0046: - break; + num2++; } } dictionary2[item.SortOrder] = num2; - int num12 = num; - num5 = num2; - num6 = num12; - int num13 = num6 ^ num5; - int num14 = num6 & num5; - num = num13 + (num14 + num14); + num += num2; } Dictionary dictionary3 = new Dictionary(); - int num15 = 0; - foreach (CityGroup item2 in _aethernetByCity) + int num3 = 0; + foreach (CityGroup item3 in _aethernetByCity) { - int num16 = 0; - int num5; - int num6; - using (ImmutableList.Enumerator enumerator2 = item2.Shards.GetEnumerator()) + int num4 = 0; + foreach (AetheryteEntry shard in item3.Shards) { - int num3 = -235894113; - while (true) + bool flag2 = _aetheryteFunctions.IsAetheryteUnlocked(shard.Location); + dictionary[shard.Location] = flag2; + if (flag2) { - int num17 = num3; - num5 = -235894115; - num6 = num17; - switch ((num6 | num5) - (num6 & num5)) - { - case 2: - num3 = (enumerator2.MoveNext() ? (-235894119) : (-235894116)); - break; - case 0: - { - int num18 = num16; - num5 = 1; - num6 = num18; - num16 = (num6 | num5) + (num6 & num5); - num3 = -235894113; - break; - } - case 4: - { - AetheryteEntry current4 = enumerator2.Current; - bool flag2 = _aetheryteFunctions.IsAetheryteUnlocked(current4.Location); - dictionary[current4.Location] = flag2; - num3 = ((!flag2) ? (-235894113) : (-235894115)); - break; - } - case 3: - num3 = -235894113; - break; - case 1: - goto end_IL_01b0; - } - continue; - end_IL_01b0: - break; + num4++; } } - dictionary3[item2.CityName] = num16; - int num19 = num15; - num5 = num16; - num6 = num19; - num15 = (num6 | num5) + (num6 & num5); + dictionary3[item3.CityName] = num4; + num3 += num4; } Dictionary dictionary4 = new Dictionary(); Dictionary dictionary5 = new Dictionary(); - int num20 = 0; - foreach (ExpansionGroup item3 in _currentsByExpansion) + int num5 = 0; + foreach (ExpansionGroup item4 in _currentsByExpansion) { - foreach (ZoneCurrentGroup item4 in item3.Items) + foreach (ZoneCurrentGroup item5 in item4.Items) { - int num21 = 0; - int num5; - int num6; - using (ImmutableList.Enumerator enumerator6 = item4.Currents.GetEnumerator()) + int num6 = 0; + foreach (CurrentEntry current in item5.Currents) { - int num3 = 505719856; - while (true) + bool flag3 = GameFunctions.IsAetherCurrentUnlocked(current.AetherCurrentId); + dictionary4[current.AetherCurrentId] = flag3; + if (flag3) { - int num22 = num3; - num5 = 505719857; - num6 = num22; - int num23 = num6 + num5; - int num24 = num6 & num5; - switch (num23 - (num24 + num24)) - { - case 1: - num3 = (enumerator6.MoveNext() ? 505719858 : 505719859); - break; - case 0: - { - int num25 = num21; - num5 = 1; - num6 = num25; - num21 = (num6 | num5) + (num6 & num5); - num3 = 505719856; - break; - } - case 3: - { - CurrentEntry current6 = enumerator6.Current; - bool flag3 = GameFunctions.IsAetherCurrentUnlocked(current6.AetherCurrentId); - dictionary4[current6.AetherCurrentId] = flag3; - num3 = ((!flag3) ? 505719856 : 505719857); - break; - } - case 4: - num3 = 505719856; - break; - case 2: - goto end_IL_0336; - } - continue; - end_IL_0336: - break; + num6++; } } - dictionary5[item4.TerritoryId] = num21; - int num26 = num20; - num5 = num21; - num6 = num26; - int num27 = num6 ^ num5; - int num28 = num6 & num5; - num20 = num27 + (num28 + num28); + dictionary5[item5.TerritoryId] = num6; + num5 += num6; } } _aetheryteUnlockCache = dictionary; @@ -1911,9 +408,9 @@ internal sealed class AttunementJournalComponent _aethernetCityUnlockedCounts = dictionary3; _currentZoneUnlockedCounts = dictionary5; _aetheryteUnlocked = num; - _aethernetUnlocked = num15; - _currentUnlocked = num20; - _lastStatusRefresh = _206B_206E_200F_202C_200E_206D_206A_200E_200B_202B_206D_206D_200E_200B_202B_206B_202C_202D_206E_200E_202C_206B_200F_206B_200E_202B_206D_202C_206F_200C_202C_200F_202A_200E_200F_200B_202E_200F_206B_200E_202E(); + _aethernetUnlocked = num3; + _currentUnlocked = num5; + _lastStatusRefresh = Environment.TickCount64; RebuildFlatRows(); } @@ -1932,893 +429,320 @@ internal sealed class AttunementJournalComponent { } - [MethodImpl(MethodImplOptions.NoInlining)] public void DrawAttunement() { - int num = ((_206B_206E_200F_202C_200E_206D_206A_200E_200B_202B_206D_206D_200E_200B_202B_206B_202C_202D_206E_200E_202C_206B_200F_206B_200E_202B_206D_202C_206F_200C_202C_200F_202A_200E_200F_200B_202E_200F_206B_200E_202E() - _lastStatusRefresh <= 3000) ? 24779854 : 24779842); - while (true) + if (Environment.TickCount64 - _lastStatusRefresh > 3000) { - int num2 = num; - int num3 = 24779848; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - string text; - float x; - float num8; - string text3; - ImRaii.FontDisposable fontDisposable; - float x2; - float num12; - switch (num5 - (num6 + num6)) - { - case 1: - num = ((!_attunementController.CompletedSuccessfully) ? 24779850 : 24779840); - break; - case 2: - _pendingBatchTargets.Clear(); - _batchName = null; - num = 24779841; - break; - case 10: - RefreshCounts(); - num = 24779854; - break; - case 8: + RefreshCounts(); + } + if (!_attunementController.IsRunning && _pendingBatchTargets.Count > 0) + { + if (_attunementController.CompletedSuccessfully) { (string, ushort, Vector3, ITask) tuple = PopNearestTarget(); - string text2 = _batchName; - if (text2 == null) + string text = _batchName; + if (text == null) { - (text2, _, _, _) = tuple; + (text, _, _, _) = tuple; } - StartAttunement(text2, tuple.Item2, tuple.Item3, tuple.Item4); - num = 24779841; - break; + StartAttunement(text, tuple.Item2, tuple.Item3, tuple.Item4); } - case 11: - num = 24779842; - break; - case 3: - num = ((_pendingBatchTargets.Count <= 0) ? 24779841 : 24779849); - break; - case 5: - text = _200E_206C_206C_202B_202D_200D_200F_206E_206E_202A_200F_202A_200E_200E_200D_206E_206B_206B_202C_200B_200C_206E_206B_200C_202B_202E_200D_200F_200F_200C_206E_200D_206B_200C_202C_202B_202A_206F_206A_206D_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(88792405), _attunementController.CurrentTargetName, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(799152405)); - goto IL_027f; - case 6: - num = (_attunementController.IsRunning ? 24779841 : 24779851); - break; - case 4: - num = ((_pendingBatchTargets.Count > 0) ? 24779848 : 24779853); - break; - case 9: - num = (_attunementController.IsRunning ? 24779852 : 24779855); - break; - case 7: - if (_pendingBatchTargets.Count > 0) - { - num = 24779852; - break; - } - goto IL_040c; - case 0: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(30, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1784068616)); - defaultInterpolatedStringHandler.AppendFormatted(_attunementController.CurrentTargetName); - defaultInterpolatedStringHandler.AppendLiteral(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(-1241011405)); - defaultInterpolatedStringHandler.AppendFormatted(_pendingBatchTargets.Count); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1953473602)); - text = defaultInterpolatedStringHandler.ToStringAndClear(); - goto IL_027f; - } - IL_03d0: - while (true) - { - int num7 = num; - num3 = 1185678891; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 1: - break; - case 3: - StopAll(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-267438183)); - num = 1185678890; - continue; - case 5: - _206D_202A_206D_206E_206E_200D_200F_202C_200C_202B_202C_206E_202E_206E_202B_206A_200B_200C_202B_206E_200C_206B_200D_202E_206F_200D_200E_206A_206A_200E_200B_200E_206F_202C_206F_202C_202E_202C_200E_202C_202E(); - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2079895087), ref _showUnattunedOnly)) ? 1185678889 : 1185678891); - continue; - case 2: - _202A_200F_200E_202B_202A_202A_200B_200E_200C_202D_206B_206C_206C_202C_206E_200E_202B_202A_202C_206E_202B_200E_206A_200D_202E_206D_206B_206F_202B_200D_206E_206F_206D_206B_202A_206E_206C_206E_206C_200E_202E(); - DrawTrackerTable(); - return; - case 6: - RebuildFlatRows(); - num = 1185678894; - continue; - case 0: - RebuildFlatRows(); - num = 1185678889; - continue; - case 4: - num = 1185678888; - continue; - } - break; - } - goto IL_040c; - IL_040c: - x = _206E_200F_200F_202A_206B_206D_200E_206A_206F_200C_202C_200E_200D_206C_202B_202A_206E_202E_202D_200B_200B_202A_206C_202D_206F_200F_202E_200C_202E_200B_202B_202E_206D_206C_206B_206D_200C_202B_206A_200F_202E().ItemSpacing.X; - num8 = _206C_206E_202E_200B_202D_206C_200B_206F_200F_206E_206C_202C_206D_200B_202D_206C_200D_206E_202D_202A_202D_200B_206D_206D_200E_206F_200B_206E_202C_202D_206F_206E_202C_206C_200D_200B_202B_200F_206E_202B_202E() + _206A_200D_202A_202B_202E_202D_206E_200C_206E_202C_200B_200F_202B_200C_202A_200C_202E_202A_200E_200C_202B_200E_202C_200B_200F_206E_202B_200C_206D_202E_202A_200C_202D_200B_206E_200D_202A_202D_200C_200C_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2079895087), false, -1f).X + 3f * x; - num = ((!UiThemeUtils.SearchInput(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1618098440), ref _searchText, 0f - num8, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1483495335))) ? 1185678894 : 1185678893); - goto IL_03d0; - IL_027f: - text3 = text; - fontDisposable = _200D_200F_200D_200D_202D_202E_200E_200E_200F_206A_206F_200D_206B_200C_202C_202A_200D_202D_206C_202A_202A_206C_202B_200E_202E_206D_206C_200F_206E_202B_200F_200E_200E_200D_202A_200D_206F_200E_200E_206B_202E(_202E_206B_200F_200B_200B_202E_202C_202E_200C_206F_206A_206C_200C_200E_206D_202E_200C_200D_202C_200B_200F_202A_206B_202A_206F_202B_200E_206B_202D_200C_206F_202C_202D_206C_206E_202A_202C_202E_206B_202A_202E(), true); - try - { - x2 = _206A_200D_202A_202B_202E_202D_206E_200C_206E_202C_200B_200F_202B_200C_202A_200C_202E_202A_200E_200C_202B_200E_202C_200B_200F_206E_202B_200C_206D_202E_202A_200C_202D_200B_206E_200D_202A_202D_200C_200C_202E((ImU8String)_206F_206E_200F_202C_200C_206D_206C_206F_200C_200F_206D_202C_206E_202C_200C_202D_202D_206A_206F_206B_202D_206A_202A_202A_200D_202A_202B_200B_206F_202B_200B_206B_206E_206F_202C_206C_202C_200E_200F_206C_202E(FontAwesomeIcon.Stop), false, -1f).X; - } - finally - { - num = ((fontDisposable == null) ? 67468924 : 67468927); - while (true) - { - int num9 = num; - num3 = 67468926; - num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 0: - num = 67468927; - break; - case 2: - goto end_IL_02d2; - case 1: - _200C_200B_200F_202E_206F_202B_202B_202B_200E_206F_206E_202D_202E_200D_206C_200C_200E_206D_206A_202B_206D_206F_202E_206A_202C_206C_202B_200B_206B_200B_202B_206C_206D_206D_206E_202D_202D_206C_200B_202E_202E((IDisposable)fontDisposable); - num = 67468924; - break; - } - continue; - end_IL_02d2: - break; - } - } - num12 = x2 + 6f + _206A_200D_202A_202B_202E_202D_206E_200C_206E_202C_200B_200F_202B_200C_202A_200C_202E_202A_200E_200C_202B_200E_202C_200B_200F_206E_202B_200C_206D_202E_202A_200C_202D_200B_206E_200D_202A_202D_200C_200C_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1414712036), false, -1f).X + _206E_200F_200F_202A_206B_206D_200E_206A_206F_200C_202C_200E_200D_206C_202B_202A_206E_202E_202D_200B_200B_202A_206C_202D_206F_200F_202E_200C_202E_200B_202B_202E_206D_206C_206B_206D_200C_202B_206A_200F_202E().FramePadding.X * 2f + _206E_200F_200F_202A_206B_206D_200E_206A_206F_200C_202C_200E_200D_206C_202B_202A_206E_202E_202D_200B_200B_202A_206C_202D_206F_200F_202E_200C_202E_200B_202B_202E_206D_206C_206B_206D_200C_202B_206A_200F_202E().ItemSpacing.X; - _200B_200C_200F_206C_202C_206D_200D_200C_202A_202C_202D_206F_200B_202A_202A_206A_200E_206D_206C_202A_200B_206F_200D_200F_202E_202C_200B_206A_206F_206A_200C_206E_206F_206B_206D_206D_202B_206A_202E_206F_202E(ref UiThemeUtils.StatusActive, (ImU8String)UiThemeUtils.TruncateToWidth(text3, _206D_200E_200C_202D_202D_200D_200E_206A_200F_206B_206D_202B_200B_202D_206E_202D_202D_202B_202C_202D_200E_206B_202C_202E_200E_206F_202B_206B_206B_206D_206A_202D_202A_206E_202A_202E_202C_202A_202A_202E().X - num12)); - _206D_202A_206D_206E_206E_200D_200F_202C_200C_202B_202C_206E_202E_206E_202B_206A_200B_200C_202B_206E_200C_206B_200D_202E_206F_200D_200E_206A_206A_200E_200B_200E_206F_202C_206F_202C_202E_202C_200E_202C_202E(); - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Stop, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-706453881))) ? 1185678890 : 1185678888); - goto IL_03d0; + else + { + _pendingBatchTargets.Clear(); + _batchName = null; } } + if (_attunementController.IsRunning || _pendingBatchTargets.Count > 0) + { + string text2 = ((_pendingBatchTargets.Count > 0) ? $"Navigating to {_attunementController.CurrentTargetName}... ({_pendingBatchTargets.Count} remaining)" : ("Navigating to " + _attunementController.CurrentTargetName + "...")); + float x; + using (ImRaii.PushFont(UiBuilder.IconFont)) + { + x = ImGui.CalcTextSize(FontAwesomeIcon.Stop.ToIconString()).X; + } + float num = x + 6f + ImGui.CalcTextSize("Stop").X + ImGui.GetStyle().FramePadding.X * 2f + ImGui.GetStyle().ItemSpacing.X; + ImGui.TextColored(in UiThemeUtils.StatusActive, UiThemeUtils.TruncateToWidth(text2, ImGui.GetContentRegionAvail().X - num)); + ImGui.SameLine(); + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Stop, "Stop")) + { + StopAll("User cancelled (attunement UI)"); + } + } + float x2 = ImGui.GetStyle().ItemSpacing.X; + float num2 = ImGui.GetFrameHeight() + ImGui.CalcTextSize("Unattuned only").X + 3f * x2; + if (UiThemeUtils.SearchInput("##AttunementSearch", ref _searchText, 0f - num2)) + { + RebuildFlatRows(); + } + ImGui.SameLine(); + if (UiThemeUtils.WrappedCheckbox("Unattuned only", ref _showUnattunedOnly)) + { + RebuildFlatRows(); + } + ImGui.Separator(); + DrawTrackerTable(); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void DrawTrackerTable() { - int num = ((_flatRows.Count != 0) ? (-1990997379) : (-1990997380)); - int num15 = default(int); - while (true) + if (_flatRows.Count == 0) { - int num2 = num; - int num3 = -1990997379; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + UiThemeUtils.EmptyState(FontAwesomeIcon.Wifi, "No attunements match your search."); + return; + } + float x; + using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push()) + { + x = ImGui.CalcTextSize(FontAwesomeIcon.Check.ToIconString()).X; + } + float fontGlobalScale = ImGui.GetIO().FontGlobalScale; + using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable("Attunement", 2, ImGuiTableFlags.NoSavedSettings | ImGuiTableFlags.ScrollY); + if (!tableDisposable) + { + return; + } + ImGui.TableSetupColumn("Name", ImGuiTableColumnFlags.NoHide); + ImGui.TableSetupColumn("Unlocked", ImGuiTableColumnFlags.WidthFixed, 120f * fontGlobalScale); + ImGui.TableHeadersRow(); + float textLineHeightWithSpacing = ImGui.GetTextLineHeightWithSpacing(); + bool flag = false; + ImGuiListClipper* intPtr = ImGuiNative.ImGuiListClipper(); + ImGuiNative.Begin(intPtr, _flatRows.Count, textLineHeightWithSpacing); + ImGuiListClipperPtr imGuiListClipperPtr = intPtr; + try + { + while (imGuiListClipperPtr.Step()) { - case 2: - goto IL_0056; - case 1: - UiThemeUtils.EmptyState(FontAwesomeIcon.Wifi, 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(-1166257461)); - return; - case 0: + for (int i = imGuiListClipperPtr.DisplayStart; i < imGuiListClipperPtr.DisplayEnd; i++) + { + if (DrawFlatRow(_flatRows[i], x)) + { + flag = true; + } + } + } + } + finally + { + imGuiListClipperPtr.Destroy(); + } + if (flag) + { + RebuildFlatRows(); + } + } + + private bool DrawFlatRow(FlatRow row, float statusIconSpacing) + { + ImGui.TableNextRow(); + ImGui.TableNextColumn(); + if (row.Depth > 0) + { + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + ImGui.GetStyle().IndentSpacing * (float)row.Depth); + } + if (row.Kind == AttuneRowKind.AetheryteLeaf) + { + DrawAetheryteLeaf(row, statusIconSpacing); + return false; + } + if (row.Kind == AttuneRowKind.CurrentLeaf) + { + DrawCurrentLeaf(row, statusIconSpacing); + return false; + } + bool flag = _expandedGroups.Contains(row.Key); + UiThemeUtils.DrawTrackerGroupCaret(_pluginInterface.UiBuilder.IconFontFixedWidthHandle, flag); + ImGui.SameLine(); + bool result = false; + ImU8String label = new ImU8String(2, 2); + label.AppendFormatted(row.Label); + label.AppendLiteral("##"); + label.AppendFormatted(row.Key); + if (ImGui.Selectable(label)) + { + if (flag) { - IDisposable disposable = _206D_206B_206F_206D_200F_202D_206E_206A_206F_200E_200C_206D_206F_200D_202C_206B_202C_206B_202D_206C_206C_206B_202C_206E_206A_206B_200E_200C_200C_202B_202A_202E_206C_200D_206E_206A_206D_202D_206F_206F_202E(_202C_202D_200E_200B_206F_200D_200C_202A_200C_200F_206C_200E_202E_206F_200D_202E_200D_206A_200E_206D_200C_206E_202A_206E_202A_206A_206B_206B_200C_206E_202D_200F_200E_206B_200F_200C_200E_200B_202D_206D_202E(_202A_200D_206C_206F_202A_206C_206C_206F_202E_200C_206A_200D_206C_206B_200F_206E_206A_200D_200F_200B_206B_206C_202E_206B_202E_206F_200E_200F_206A_206C_206C_200F_200C_202E_206B_202A_206C_202E_200F_200E_202E(_pluginInterface))); - float x; + _expandedGroups.Remove(row.Key); + } + else + { + _expandedGroups.Add(row.Key); + } + result = true; + } + DrawHeaderBatchPopup(row); + ImGui.TableNextColumn(); + UiThemeUtils.DrawTrackerCount(row.CountText, row.CountComplete, row.CountEmpty); + return result; + } + + private void DrawHeaderBatchPopup(FlatRow row) + { + if (row.Batch == BatchKind.AethernetCity) + { + CityGroup city = row.City; + if ((object)city != null) + { + int count = city.Shards.Count; + if (_aethernetCityUnlockedCounts.GetValueOrDefault(city.CityName) >= count || IsAnyControllerRunning()) + { + return; + } + string text = "##AttuneAllAethernet_" + city.CityName; + if (ImGui.IsItemClicked(ImGuiMouseButton.Right)) + { + ImGui.OpenPopup(text); + } + ImRaii.PopupDisposable popupDisposable = ImRaii.Popup(text); try { - x = _206A_200D_202A_202B_202E_202D_206E_200C_206E_202C_200B_200F_202B_200C_202A_200C_202E_202A_200E_200C_202B_200E_202C_200B_200F_206E_202B_200C_206D_202E_202A_200C_202D_200B_206E_200D_202A_202D_200C_200C_202E((ImU8String)_206F_206E_200F_202C_200C_206D_206C_206F_200C_200F_206D_202C_206E_202C_200C_202D_202D_206A_206F_206B_202D_206A_202A_202A_200D_202A_202B_200B_206F_202B_200B_206B_206E_206F_202C_206C_202C_200E_200F_206C_202E(FontAwesomeIcon.Check), false, -1f).X; + if (!popupDisposable.Success) + { + return; + } + ImU8String label = new ImU8String(14, 1); + label.AppendLiteral("Attune all in "); + label.AppendFormatted(city.CityName); + if (ImGui.MenuItem(label)) + { + IEnumerable<(string, ushort, Vector3, ITask)> targets = from s in city.Shards + where !_aetheryteUnlockCache.GetValueOrDefault(s.Location) + select ((string Name, ushort TerritoryId, Vector3, ITask))(Name: s.Name, TerritoryId: s.TerritoryId, _aetheryteData.Locations[s.Location], new AethernetShard.Attune(s.Location)); + StartBatchAttunement("All shards in " + city.CityName, targets); + } + return; } finally { - num = ((disposable == null) ? (-515031401) : (-515031402)); - while (true) - { - int num7 = num; - num3 = -515031401; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 0: - goto end_IL_00d3; - case 1: - _200C_200B_200F_202E_206F_202B_202B_202B_200E_206F_206E_202D_202E_200D_206C_200C_200E_206D_206A_202B_206D_206F_202E_206A_202C_206C_202B_200B_206B_200B_202B_206C_206D_206D_206E_202D_202D_206C_200B_202E_202E(disposable); - num = -515031401; - break; - case 2: - num = -515031402; - break; - } - continue; - end_IL_00d3: - break; - } + popupDisposable.Dispose(); } - float fontGlobalScale = _206B_200B_200C_206A_200E_200D_202D_206A_200F_206B_202D_200F_206A_202C_200D_202A_200B_200F_206B_200F_206F_206C_202B_202C_200C_206A_200B_200C_202E_202E_202A_202A_200D_200B_202A_206E_202C_200D_206F_200E_202E().FontGlobalScale; - using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1117676722), 2, ImGuiTableFlags.NoSavedSettings | ImGuiTableFlags.ScrollY); - num = ((!(!tableDisposable)) ? (-135002875) : (-135002874)); - while (true) - { - int num10 = num; - num3 = -135002876; - num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - case 0: - goto IL_0198; - case 2: - return; - case 1: - { - _206A_206F_200C_200E_200E_202A_202D_202E_202A_206C_202A_200D_202E_200D_202C_202B_200D_200B_206F_206B_202D_206B_202E_206C_202D_200D_206C_200B_202B_200F_206D_200F_206F_202A_202D_202A_200F_206B_206A_206B_202E((ImU8String)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(-2012877671), ImGuiTableColumnFlags.NoHide, 0f, 0u); - _206A_206F_200C_200E_200E_202A_202D_202E_202A_206C_202A_200D_202E_200D_202C_202B_200D_200B_206F_206B_202D_206B_202E_206C_202D_200D_206C_200B_202B_200F_206D_200F_206F_202A_202D_202A_200F_206B_206A_206B_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-416910200), ImGuiTableColumnFlags.WidthFixed, 120f * fontGlobalScale, 0u); - _202D_200E_206A_206F_206C_200C_200E_200E_206F_200F_200C_206A_206A_202E_202E_206E_206B_206C_202D_206A_206F_202C_206A_206C_200F_202B_202E_206D_206E_206F_202D_200F_206A_206D_206F_206D_200F_206F_200D_202A_202E(); - float num13 = _202B_202D_200E_200B_206F_200D_206B_202C_202E_202C_200E_206E_206D_200D_200E_200B_202D_202A_206D_200B_206E_200C_202E_206B_202E_200D_202B_202C_206B_206B_200F_206E_200B_206C_206A_206C_200E_202B_200E_200D_202E(); - bool flag = false; - ImGuiListClipper* intPtr = _206C_206C_206A_202A_200C_202E_200F_200D_200C_200F_206E_206E_206B_206E_206A_206C_200D_206C_200E_200E_202C_200F_200E_206E_202B_206F_202A_200D_206A_202C_206F_202E_206D_202C_206C_200C_206D_206B_200C_202B_202E(); - _200B_202C_206D_200C_202E_206A_202C_202B_202D_200E_202C_202E_200B_202A_202D_206A_206D_200B_200E_206B_200D_202B_200C_200D_206A_206C_206E_200E_202A_200D_206E_206D_200E_202A_202A_202B_200F_200E_202B_206F_202E(intPtr, _flatRows.Count, num13); - ImGuiListClipperPtr imGuiListClipperPtr = intPtr; - try - { - num = -1671656629; - while (true) - { - int num14 = num; - num3 = -1671656627; - num4 = num14; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - num = (imGuiListClipperPtr.Step() ? (-1671656628) : (-1671656627)); - break; - case 1: - num15 = imGuiListClipperPtr.DisplayStart; - num = -1671656632; - break; - case 3: - num = ((!DrawFlatRow(_flatRows[num15], x)) ? (-1671656631) : (-1671656625)); - break; - case 2: - flag = true; - num = -1671656631; - break; - case 4: - { - int num16 = num15; - num3 = 1; - num4 = num16; - int num17 = num4 ^ num3; - int num18 = num4 & num3; - num15 = num17 + (num18 + num18); - num = -1671656632; - break; - } - case 5: - num = ((num15 < imGuiListClipperPtr.DisplayEnd) ? (-1671656626) : (-1671656629)); - break; - case 7: - num = -1671656629; - break; - case 0: - goto end_IL_0226; - } - continue; - end_IL_0226: - break; - } - } - finally - { - imGuiListClipperPtr.Destroy(); - } - num = ((!flag) ? (-892291942) : (-892291943)); - while (true) - { - int num19 = num; - num3 = -892291941; - num4 = num19; - int num20 = num4 + num3; - int num21 = num4 & num3; - switch (num20 - (num21 + num21)) - { - case 0: - num = -892291943; - break; - case 2: - RebuildFlatRows(); - num = -892291942; - break; - case 1: - return; - } - } - } - } - continue; - IL_0198: - num = -135002874; - } - } - } - continue; - IL_0056: - num = -1990997380; - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool DrawFlatRow(FlatRow row, float statusIconSpacing) - { - _206C_206A_202E_200D_202A_200C_200C_200F_200F_206D_206F_206B_202E_200C_202D_200B_200D_200B_202A_206F_202B_202C_202E_200F_200F_206B_206C_206E_202D_200C_200D_202A_202C_200D_202B_202E_200B_200E_200D_206A_202E(); - _200E_200F_200D_200E_200D_200C_206A_202B_206E_206D_202C_202B_200D_200F_202C_206E_200E_200D_206B_202D_202E_202A_202D_202C_202A_202C_200F_206F_202A_200D_202E_202B_206D_202E_206D_200C_206B_202D_202D_200E_202E(); - int num = ((row.Depth <= 0) ? 465421303 : 465421306); - bool result = default(bool); - bool flag = default(bool); - while (true) - { - int num2 = num; - int num3 = 465421297; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - _expandedGroups.Remove(row.Key); - num = 465421307; - break; - case 11: - _202C_200E_206A_206F_200E_200F_206F_200C_202D_202D_206E_206F_200D_202D_200E_206E_206F_202E_206F_202A_206F_200F_206A_200B_202C_200E_200F_200C_202D_206E_206E_200E_202C_200D_200B_206D_200D_200D_200E_202C_202E(_206B_200B_202C_206B_200D_202B_200C_206D_206E_202E_206A_200B_206D_206D_200E_202A_206D_202D_200D_206C_200D_200C_206F_206A_206C_206B_206F_202C_202B_202C_206E_200D_200B_206E_200B_202B_202C_200F_206A_202E() + _206E_200F_200F_202A_206B_206D_200E_206A_206F_200C_202C_200E_200D_206C_202B_202A_206E_202E_202D_200B_200B_202A_206C_202D_206F_200F_202E_200C_202E_200B_202B_202E_206D_206C_206B_206D_200C_202B_206A_200F_202E().IndentSpacing * (float)row.Depth); - num = 465421303; - break; - case 10: - result = true; - num = 465421305; - break; - case 8: - DrawHeaderBatchPopup(row); - _200E_200F_200D_200E_200D_200C_206A_202B_206E_206D_202C_202B_200D_200F_202C_206E_200E_200D_206B_202D_202E_202A_202D_202C_202A_202C_200F_206F_202A_200D_202E_202B_206D_202E_206D_200C_206B_202D_202D_200E_202E(); - UiThemeUtils.DrawTrackerCount(row.CountText, row.CountComplete, row.CountEmpty); - return result; - case 0: - { - flag = _expandedGroups.Contains(row.Key); - UiThemeUtils.DrawTrackerGroupCaret(_202C_202D_200E_200B_206F_200D_200C_202A_200C_200F_206C_200E_202E_206F_200D_202E_200D_206A_200E_206D_200C_206E_202A_206E_202A_206A_206B_206B_200C_206E_202D_200F_200E_206B_200F_200C_200E_200B_202D_206D_202E(_202A_200D_206C_206F_202A_206C_206C_206F_202E_200C_206A_200D_206C_206B_200F_206E_206A_200D_200F_200B_206B_206C_202E_206B_202E_206F_200E_200F_206A_206C_206C_200F_200C_202E_206B_202A_206C_202E_200F_200E_202E(_pluginInterface)), flag); - _206D_202A_206D_206E_206E_200D_200F_202C_200C_202B_202C_206E_202E_206E_202B_206A_200B_200C_202B_206E_200C_206B_200D_202E_206F_200D_200E_206A_206A_200E_200B_200E_206F_202C_206F_202C_202E_202C_200E_202C_202E(); - result = false; - ImU8String imU8String = new ImU8String(2, 2); - imU8String.AppendFormatted(row.Label); - imU8String.AppendLiteral(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(604327994)); - imU8String.AppendFormatted(row.Key); - num = ((!_206A_200F_206E_206F_202D_202D_202E_206A_202D_200F_202D_206A_200B_202E_202E_202A_206A_200D_202D_202D_200B_200D_200E_202D_200C_206A_206E_202B_202B_200D_202C_202A_200E_206D_202C_202A_206A_206F_202C_202B_202E(imU8String, false, ImGuiSelectableFlags.None, default(Vector2))) ? 465421305 : 465421301); - break; - } - case 7: - num = 465421306; - break; - case 3: - DrawAetheryteLeaf(row, statusIconSpacing); - return false; - case 2: - num = ((row.Kind != AttuneRowKind.CurrentLeaf) ? 465421297 : 465421304); - break; - case 1: - _expandedGroups.Add(row.Key); - num = 465421307; - break; - case 9: - DrawCurrentLeaf(row, statusIconSpacing); - return false; - case 4: - num = ((!flag) ? 465421296 : 465421300); - break; - case 6: - num = ((row.Kind != AttuneRowKind.AetheryteLeaf) ? 465421299 : 465421298); - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private void DrawHeaderBatchPopup(FlatRow row) - { - int num; - if (row.Batch == BatchKind.AethernetCity) - { - num = 674359626; - string text = default(string); - CityGroup city = default(CityGroup); - while (true) - { - int num2 = num; - int num3 = 674359625; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 0: - num = 674359626; - continue; - case 1: - text = _202B_200C_202C_200B_206C_206C_202D_206C_202B_200E_206A_206E_200D_200D_206C_202B_206E_206C_202B_206B_200E_200B_202B_206D_200D_206D_202A_200F_206E_200C_202E_202D_200D_202D_200F_202B_202B_206E_206B_200D_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1831388298), city.CityName); - num = ((!_200E_200D_206D_202B_202C_200B_202D_200F_202A_206A_206C_206E_202C_206E_202A_202D_202A_206D_202E_206D_206D_200E_206A_202E_206E_206A_200F_200B_206F_206E_200E_206A_206F_206D_206A_202B_206C_200C_200F_202A_202E(ImGuiMouseButton.Right)) ? 674359627 : 674359631); - continue; - case 3: - break; - case 5: - { - int count = city.Shards.Count; - if (_aethernetCityUnlockedCounts.GetValueOrDefault(city.CityName) < count) - { - num = 674359629; - continue; - } - return; - } - case 6: - _202B_200B_206E_206F_206B_206E_206F_202E_206A_202B_206F_202E_202D_206A_206E_200B_202D_200F_206F_206B_206F_202E_200C_202B_200F_200F_206D_200D_206A_202C_202E_200F_206D_200E_206C_202A_200E_206F_206A_206C_202E((ImU8String)text, ImGuiPopupFlags.None); - num = 674359627; - continue; - case 4: - if (!IsAnyControllerRunning()) - { - num = 674359624; - continue; - } - return; - case 2: - { - ImRaii.PopupDisposable popupDisposable = _200D_200D_206D_206D_202E_206F_200C_206F_202B_206A_202B_206D_202A_200F_206E_200B_206A_202D_202B_206E_202D_202C_200E_206C_206B_206C_200F_202A_206D_202A_202C_206A_206F_206E_200C_206B_202C_202E_200C_202E((ImU8String)text); - try - { - num = ((!popupDisposable.Success) ? (-1176859534) : (-1176859535)); - while (true) - { - int num7 = num; - num3 = -1176859533; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1176859535; - break; - case 3: - { - IEnumerable<(string, ushort, Vector3, ITask)> targets = from s in city.Shards - where !_aetheryteUnlockCache.GetValueOrDefault(s.Location) - select ((string Name, ushort TerritoryId, Vector3, ITask))(Name: s.Name, TerritoryId: s.TerritoryId, _200F_202C_200C_206C_206E_206E_200F_200F_206F_206D_206D_206B_200E_206C_202B_206F_202B_206F_206A_202A_200D_200D_202D_202D_202C_202E_206A_202D_206A_200F_202E_206F_202A_200E_206B_202A_206D_202C_202D_206F_202E(_aetheryteData)[s.Location], new AethernetShard.Attune(s.Location)); - StartBatchAttunement(_202B_200C_202C_200B_206C_206C_202D_206C_202B_200E_206A_206E_200D_200D_206C_202B_206E_206C_202B_206B_200E_200B_202B_206D_200D_206D_202A_200F_206E_200C_202E_202D_200D_202D_200F_202B_202B_206E_206B_200D_202E(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(-149862362), city.CityName), targets); - num = -1176859534; - break; - } - case 2: - { - ImU8String imU8String = new ImU8String(14, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1568089828)); - imU8String.AppendFormatted(city.CityName); - num = ((!_202C_206D_200C_202E_200F_206B_200B_202C_206A_202B_200C_202C_206A_206F_206E_206B_206E_206B_202B_200E_202D_202A_206E_206F_200F_206E_202E_206B_202E_206F_202D_206B_200F_206D_202A_206E_202C_202D_206A_206A_202E(imU8String, false, true)) ? (-1176859534) : (-1176859536)); - break; - } - case 1: - return; - } - } - } - finally - { - popupDisposable.Dispose(); - } - } - } - city = row.City; - if ((object)city == null) - { - break; - } - num = 674359628; } } if (row.Batch != BatchKind.CurrentZone) { return; } - num = -815572066; - List list = default(List); - ZoneCurrentGroup zone = default(ZoneCurrentGroup); - string text2 = default(string); - while (true) + ZoneCurrentGroup zone = row.Zone; + if ((object)zone == null) { - int num8 = num; - int num3 = -815572069; - int num4 = num8; - switch ((num4 | num3) - (num4 & num3)) + return; + } + List list = zone.Currents.Where((CurrentEntry c) => !c.IsQuestGated && !_currentUnlockCache.GetValueOrDefault(c.AetherCurrentId)).ToList(); + if (list.Count <= 0 || IsAnyControllerRunning()) + { + return; + } + string text2 = $"##AttuneAllCurrents_{zone.TerritoryId}"; + if (ImGui.IsItemClicked(ImGuiMouseButton.Right)) + { + ImGui.OpenPopup(text2); + } + ImRaii.PopupDisposable popupDisposable2 = ImRaii.Popup(text2); + try + { + if (!popupDisposable2.Success) { - case 1: - list = zone.Currents.Where(delegate(CurrentEntry c) - { - int num10 = (c.IsQuestGated ? 981624173 : 981624174); - while (true) - { - int num11 = num10; - int num12 = 981624175; - int num13 = num11; - int num14 = num13 + num12; - int num15 = num13 & num12; - switch (num14 - (num15 + num15)) - { - case 2: - return false; - case 1: - return !_currentUnlockCache.GetValueOrDefault(c.AetherCurrentId); - case 0: - goto IL_005f; - } - continue; - IL_005f: - num10 = 981624174; - } - }).ToList(); - if (list.Count > 0) - { - num = -815572069; - break; - } return; - case 5: - zone = row.Zone; - if ((object)zone != null) - { - num = -815572070; - break; - } - return; - case 0: - if (!IsAnyControllerRunning()) - { - num = -815572071; - break; - } - return; - case 3: - num = -815572066; - break; - case 2: + } + ImU8String label2 = new ImU8String(14, 1); + label2.AppendLiteral("Attune all in "); + label2.AppendFormatted(zone.ZoneName); + if (ImGui.MenuItem(label2)) { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(20, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-822713294)); - defaultInterpolatedStringHandler.AppendFormatted(zone.TerritoryId); - text2 = defaultInterpolatedStringHandler.ToStringAndClear(); - num = ((!_200E_200D_206D_202B_202C_200B_202D_200F_202A_206A_206C_206E_202C_206E_202A_202D_202A_206D_202E_206D_206D_200E_206A_202E_206E_206A_200F_200B_206F_206E_200E_206A_206F_206D_206A_202B_206C_200C_200F_202A_202E(ImGuiMouseButton.Right)) ? (-815572067) : (-815572065)); - break; - } - case 4: - _202B_200B_206E_206F_206B_206E_206F_202E_206A_202B_206F_202E_202D_206A_206E_200B_202D_200F_206F_206B_206F_202E_200C_202B_200F_200F_206D_200D_206A_202C_202E_200F_206D_200E_206C_202A_200E_206F_206A_206C_202E((ImU8String)text2, ImGuiPopupFlags.None); - num = -815572067; - break; - case 6: - { - ImRaii.PopupDisposable popupDisposable2 = _200D_200D_206D_206D_202E_206F_200C_206F_202B_206A_202B_206D_202A_200F_206E_200B_206A_202D_202B_206E_202D_202C_200E_206C_206B_206C_200F_202A_206D_202A_202C_206A_206F_206E_200C_206B_202C_202E_200C_202E((ImU8String)text2); - try - { - num = ((!popupDisposable2.Success) ? (-576402676) : (-576402673)); - while (true) - { - int num9 = num; - num3 = -576402675; - num4 = num9; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -576402673; - break; - case 2: - { - ImU8String imU8String2 = new ImU8String(14, 1); - imU8String2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-939498879)); - imU8String2.AppendFormatted(zone.ZoneName); - num = ((!_202C_206D_200C_202E_200F_206B_200B_202C_206A_202B_200C_202C_206A_206F_206E_206B_206E_206B_202B_200E_202D_202A_206E_206F_200F_206E_202E_206B_202E_206F_202D_206B_200F_206D_202A_206E_202C_202D_206A_206A_202E(imU8String2, false, true)) ? (-576402676) : (-576402674)); - break; - } - case 3: - { - IEnumerable<(string, ushort, Vector3, ITask)> targets2 = from c in list - select (current: c, pos: _aetherCurrentData.GetOverworldPosition(c.AetherCurrentId)) into x - where x.pos != null - select ((string, ushort TerritoryId, Vector3 Position, ITask))(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(303621313), TerritoryId: x.pos.TerritoryId, Position: x.pos.Position, new Questionable.Controller.Steps.Interactions.AetherCurrent.Attune(x.pos.DataId, x.current.AetherCurrentId)); - StartBatchAttunement(_202B_200C_202C_200B_206C_206C_202D_206C_202B_200E_206A_206E_200D_200D_206C_202B_206E_206C_202B_206B_200E_200B_202B_206D_200D_206D_202A_200F_206E_200C_202E_202D_200D_202D_200F_202B_202B_206E_206B_200D_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(-1352130088), zone.ZoneName), targets2); - num = -576402676; - break; - } - case 1: - return; - } - } - } - finally - { - popupDisposable2.Dispose(); - } - } + IEnumerable<(string, ushort, Vector3, ITask)> targets2 = from c in list + select (current: c, pos: _aetherCurrentData.GetOverworldPosition(c.AetherCurrentId)) into x + where x.pos != null + select ((string, ushort TerritoryId, Vector3 Position, ITask))("Aether Current", TerritoryId: x.pos.TerritoryId, Position: x.pos.Position, new Questionable.Controller.Steps.Interactions.AetherCurrent.Attune(x.pos.DataId, x.current.AetherCurrentId)); + StartBatchAttunement("All currents in " + zone.ZoneName, targets2); } } + finally + { + popupDisposable2.Dispose(); + } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawAetheryteLeaf(FlatRow row, float statusIconSpacing) { AetheryteEntry aetheryte = row.Aetheryte; bool valueOrDefault = _aetheryteUnlockCache.GetValueOrDefault(aetheryte.Location); - ImU8String imU8String = new ImU8String(2, 2); - imU8String.AppendFormatted(aetheryte.Name); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(259713198)); - imU8String.AppendFormatted(row.Key); - _206A_200F_206E_206F_202D_202D_202E_206A_202D_200F_202D_206A_200B_202E_202E_202A_206A_200D_202D_202D_200B_200D_200E_202D_200C_206A_206E_202B_202B_200D_202C_202A_200E_206D_202C_202A_206A_206F_202C_202B_202E(imU8String, false, ImGuiSelectableFlags.None, default(Vector2)); - if (!valueOrDefault) + ImU8String label = new ImU8String(2, 2); + label.AppendFormatted(aetheryte.Name); + label.AppendLiteral("##"); + label.AppendFormatted(row.Key); + ImGui.Selectable(label); + if (!valueOrDefault && !IsAnyControllerRunning()) { - int num = 1450260088; - string text = default(string); - Vector3 position = default(Vector3); - while (true) + string text = (row.IsAethernet ? $"##AttuneAethernet_{aetheryte.Location}" : $"##AttuneAetheryte_{aetheryte.Location}"); + if (ImGui.IsItemClicked(ImGuiMouseButton.Right)) { - int num2 = num; - int num3 = 1450260091; - int num4 = num2; - string text2; - switch ((num4 | num3) - (num4 & num3)) + ImGui.OpenPopup(text); + } + ImRaii.PopupDisposable popupDisposable = ImRaii.Popup(text); + try + { + if (popupDisposable.Success) { - default: - continue; - case 4: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(18, 1); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(465941441)); - defaultInterpolatedStringHandler2.AppendFormatted(aetheryte.Location); - text2 = defaultInterpolatedStringHandler2.ToStringAndClear(); - goto IL_00dc; - } - case 2: - num = (row.IsAethernet ? 1450260095 : 1450260090); - continue; - case 1: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(18, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(762768571)); - defaultInterpolatedStringHandler.AppendFormatted(aetheryte.Location); - text2 = defaultInterpolatedStringHandler.ToStringAndClear(); - goto IL_00dc; - } - case 5: - _202B_200B_206E_206F_206B_206E_206F_202E_206A_202B_206F_202E_202D_206A_206E_200B_202D_200F_206F_206B_206F_202E_200C_202B_200F_200F_206D_200D_206A_202C_202E_200F_206D_200E_206C_202A_200E_206F_206A_206C_202E((ImU8String)text, ImGuiPopupFlags.None); - num = 1450260091; - continue; - case 6: - num = 1450260088; - continue; - case 3: - if (!IsAnyControllerRunning()) + ImU8String label2 = new ImU8String(10, 1); + label2.AppendLiteral("Attune to "); + label2.AppendFormatted(aetheryte.Name); + if (ImGui.MenuItem(label2)) { - num = 1450260089; - continue; - } - break; - case 0: - { - ImRaii.PopupDisposable popupDisposable = _200D_200D_206D_206D_202E_206F_200C_206F_202B_206A_202B_206D_202A_200F_206E_200B_206A_202D_202B_206E_202D_202C_200E_206C_206B_206C_200F_202A_206D_202A_202C_206A_206F_206E_200C_206B_202C_202E_200C_202E((ImU8String)text); - try + Vector3 position = _aetheryteData.Locations[aetheryte.Location]; + ITask task2; + if (!row.IsAethernet) { - num = ((!popupDisposable.Success) ? 975509733 : 975509734); - while (true) - { - int num5 = num; - num3 = 975509733; - num4 = num5; - ITask task2; - ITask attuneTask; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - { - ITask task = new AethernetShard.Attune(aetheryte.Location); - task2 = task; - goto IL_0219; - } - case 3: - { - ImU8String imU8String2 = new ImU8String(10, 1); - imU8String2.AppendLiteral(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(-1181378461)); - imU8String2.AppendFormatted(aetheryte.Name); - num = ((!_202C_206D_200C_202E_200F_206B_200B_202C_206A_202B_200C_202C_206A_206F_206E_206B_206E_206B_202B_200E_202D_202A_206E_206F_200F_206E_202E_206B_202E_206F_202D_206B_200F_206D_202A_206E_202C_202D_206A_206A_202E(imU8String2, false, true)) ? 975509733 : 975509729); - break; - } - case 2: - num = 975509734; - break; - case 1: - { - ITask task = new Questionable.Controller.Steps.Interactions.Aetheryte.Attune(aetheryte.Location); - task2 = task; - goto IL_0219; - } - case 4: - position = _200F_202C_200C_206C_206E_206E_200F_200F_206F_206D_206D_206B_200E_206C_202B_206F_202B_206F_206A_202A_200D_200D_202D_202D_202C_202E_206A_202D_206A_200F_202E_206F_202A_200E_206B_202A_206D_202C_202D_206F_202E(_aetheryteData)[aetheryte.Location]; - num = (row.IsAethernet ? 975509728 : 975509732); - break; - case 0: - goto end_IL_01d2; - IL_0219: - attuneTask = task2; - StartAttunement(aetheryte.Name, aetheryte.TerritoryId, position, attuneTask); - num = 975509733; - break; - } - continue; - end_IL_01d2: - break; - } + ITask task = new Questionable.Controller.Steps.Interactions.Aetheryte.Attune(aetheryte.Location); + task2 = task; } - finally + else { - popupDisposable.Dispose(); + ITask task = new AethernetShard.Attune(aetheryte.Location); + task2 = task; } - break; + ITask attuneTask = task2; + StartAttunement(aetheryte.Name, aetheryte.TerritoryId, position, attuneTask); } - IL_00dc: - text = text2; - num = ((!_200E_200D_206D_202B_202C_200B_202D_200F_202A_206A_206C_206E_202C_206E_202A_202D_202A_206D_202E_206D_206D_200E_206A_202E_206E_206A_200F_200B_206F_206E_200E_206A_206F_206D_206A_202B_206C_200C_200F_202A_202E(ImGuiMouseButton.Right)) ? 1450260091 : 1450260094); - continue; } - break; + } + finally + { + popupDisposable.Dispose(); } } - _200E_200F_200D_200E_200D_200C_206A_202B_206E_206D_202C_202B_200D_200F_202C_206E_200E_200D_206B_202D_202E_202A_202D_202C_202A_202C_200F_206F_202A_200D_202E_202B_206D_202E_206D_200C_206B_202D_202D_200E_202E(); + ImGui.TableNextColumn(); DrawStatusGlyph(valueOrDefault, statusIconSpacing); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawCurrentLeaf(FlatRow row, float statusIconSpacing) { CurrentEntry current = row.Current; bool valueOrDefault = _currentUnlockCache.GetValueOrDefault(current.AetherCurrentId); if (current.IsQuestGated) { - int num = -967715694; - string text = default(string); - IQuestInfo questInfo = default(IQuestInfo); - while (true) + string value = ((!string.IsNullOrEmpty(current.QuestName)) ? ("Quest: " + current.QuestName) : "Quest Current"); + ImU8String label = new ImU8String(2, 2); + label.AppendFormatted(value); + label.AppendLiteral("##"); + label.AppendFormatted(row.Key); + ImGui.Selectable(label); + if (current.QuestId != 0 && ImGui.IsItemHovered() && _questData.TryGetQuestInfo(QuestId.FromRowId(current.QuestId), out IQuestInfo questInfo)) { - int num2 = num; - int num3 = -967715693; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - string text2; - string value; - ImU8String imU8String; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 9: - num = -967715694; - continue; - case 5: - _202B_200B_206E_206F_206B_206E_206F_202E_206A_202B_206F_202E_202D_206A_206E_200B_202D_200F_206F_206B_206F_202E_200C_202B_200F_200F_206D_200D_206A_202C_202E_200F_206D_200E_206C_202A_200E_206F_206A_206C_202E((ImU8String)text, ImGuiPopupFlags.None); - num = -967715685; - continue; - case 3: - num = ((!_200D_202A_200D_200B_206C_202D_206F_202A_206E_206C_200E_206B_200B_206E_200B_206E_202B_200D_200C_202C_200D_202E_200C_202A_206E_206A_202B_206A_200E_202E_202D_202A_206F_202E_200F_200B_206E_202E_200D_206D_202E()) ? (-967715689) : (-967715695)); - continue; - case 2: - num = ((!_questData.TryGetQuestInfo(_202A_206B_206F_200C_200B_202D_200C_206B_202E_206E_200C_202D_202C_200C_206B_200D_206E_200C_206F_200D_200B_206A_206E_206F_202C_202E_206C_202B_202E_206A_200E_206C_200F_202D_200C_202D_202B_200F_202C_200D_202E(current.QuestId), out questInfo)) ? (-967715689) : (-967715692)); - continue; - case 6: - text2 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(937345867); - goto IL_013e; - case 7: - _questTooltipComponent.Draw(questInfo); - num = -967715689; - continue; - case 0: - text2 = _202B_200C_202C_200B_206C_206C_202D_206C_202B_200E_206A_206E_200D_200D_206C_202B_206E_206C_202B_206B_200E_200B_202B_206D_200D_206D_202A_200F_206E_200C_202E_202D_200D_202D_200F_202B_202B_206E_206B_200D_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1186831656), current.QuestName); - goto IL_013e; - case 4: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(15, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2030870508)); - defaultInterpolatedStringHandler.AppendFormatted(current.AetherCurrentId); - text = defaultInterpolatedStringHandler.ToStringAndClear(); - num = ((!_200E_200D_206D_202B_202C_200B_202D_200F_202A_206A_206C_206E_202C_206E_202A_202D_202A_206D_202E_206D_206D_200E_206A_202E_206E_206A_200F_200B_206F_206E_200E_206A_206F_206D_206A_202B_206C_200C_200F_202A_202E(ImGuiMouseButton.Right)) ? (-967715685) : (-967715690)); - continue; - } - case 1: - num = ((!_206E_202C_206F_200F_200D_202E_206C_200D_206F_202D_202E_200C_202D_206A_206D_200E_202E_202B_206D_206D_202B_202B_206C_200D_206C_202A_200D_202D_206E_202E_206E_200C_202C_200B_206E_200E_200F_206F_200E_200C_202E(current.QuestName)) ? (-967715693) : (-967715691)); - continue; - case 8: - break; - IL_013e: - value = text2; - imU8String = new ImU8String(2, 2); - imU8String.AppendFormatted(value); - imU8String.AppendLiteral(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(604327994)); - imU8String.AppendFormatted(row.Key); - _206A_200F_206E_206F_202D_202D_202E_206A_202D_200F_202D_206A_200B_202E_202E_202A_206A_200D_202D_202D_200B_200D_200E_202D_200C_206A_206E_202B_202B_200D_202C_202A_200E_206D_202C_202A_206A_206F_202C_202B_202E(imU8String, false, ImGuiSelectableFlags.None, default(Vector2)); - num = ((current.QuestId == 0) ? (-967715689) : (-967715696)); - continue; - } - break; + _questTooltipComponent.Draw(questInfo); } - ImRaii.PopupDisposable popupDisposable = _200D_200D_206D_206D_202E_206F_200C_206F_202B_206A_202B_206D_202A_200F_206E_200B_206A_202D_202B_206E_202D_202C_200E_206C_206B_206C_200F_202A_206D_202A_202C_206A_206F_206E_200C_206B_202C_202E_200C_202E((ImU8String)text); + string text = $"##CurrentQuest_{current.AetherCurrentId}"; + if (ImGui.IsItemClicked(ImGuiMouseButton.Right)) + { + ImGui.OpenPopup(text); + } + ImRaii.PopupDisposable popupDisposable = ImRaii.Popup(text); try { - num = ((!popupDisposable.Success) ? 1411598846 : 1411598842); - while (true) + if (popupDisposable.Success && ImGui.MenuItem("View Quest") && current.QuestId != 0) { - int num7 = num; - int num3 = 1411598847; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - default: - continue; - case 4: - num = ((current.QuestId == 0) ? 1411598846 : 1411598845); - continue; - case 5: - num = ((!_202C_206D_200C_202E_200F_206B_200B_202C_206A_202B_200C_202C_206A_206F_206E_206B_206E_206B_202B_200E_202D_202A_206E_206F_200F_206E_202E_206B_202E_206F_202D_206B_200F_206D_202A_206E_202C_202D_206A_206A_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-329882336), false, true)) ? 1411598846 : 1411598843); - continue; - case 0: - num = 1411598842; - continue; - case 2: - { - QuestChainComponent? questChainComponent = QuestChainComponent; - if (questChainComponent == null) - { - break; - } - questChainComponent.SelectQuest(_202A_206B_206F_200C_200B_202D_200C_206B_202E_206E_200C_202D_202C_200C_206B_200D_206E_200C_206F_200D_200B_206A_206E_206F_202C_202E_206C_202B_202E_206A_200E_206C_200F_202D_200C_202D_202B_200F_202C_200D_202E(current.QuestId)); - num = 1411598844; - continue; - } - case 3: - break; - case 1: - goto end_IL_0253; - } - Action? selectTabAction = SelectTabAction; - if (selectTabAction == null) - { - break; - } - selectTabAction(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(-898291037)); - num = 1411598846; - continue; - end_IL_0253: - break; + QuestChainComponent?.SelectQuest(QuestId.FromRowId(current.QuestId)); + SelectTabAction?.Invoke("Quest Chain"); } } finally @@ -2828,449 +752,137 @@ internal sealed class AttunementJournalComponent } else { - ImU8String imU8String2 = new ImU8String(16, 1); - imU8String2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1398574100)); - imU8String2.AppendFormatted(row.Key); - _206A_200F_206E_206F_202D_202D_202E_206A_202D_200F_202D_206A_200B_202E_202E_202A_206A_200D_202D_202D_200B_200D_200E_202D_200C_206A_206E_202B_202B_200D_202C_202A_200E_206D_202C_202A_206A_206F_202C_202B_202E(imU8String2, false, ImGuiSelectableFlags.None, default(Vector2)); + ImU8String label2 = new ImU8String(16, 1); + label2.AppendLiteral("Aether Current##"); + label2.AppendFormatted(row.Key); + ImGui.Selectable(label2); if (!valueOrDefault) { - int num = 939541890; - string text3 = default(string); - AetherCurrentPosition overworldPosition = default(AetherCurrentPosition); - while (true) + AetherCurrentPosition overworldPosition = _aetherCurrentData.GetOverworldPosition(current.AetherCurrentId); + string text2 = $"##AttuneCurrent_{current.AetherCurrentId}"; + if (ImGui.IsItemClicked(ImGuiMouseButton.Right)) { - int num10 = num; - int num3 = 939541891; - int num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - default: - continue; - case 2: - _202B_200B_206E_206F_206B_206E_206F_202E_206A_202B_206F_202E_202D_206A_206E_200B_202D_200F_206F_206B_206F_202E_200C_202B_200F_200F_206D_200D_206A_202C_202E_200F_206D_200E_206C_202A_200E_206F_206A_206C_202E((ImU8String)text3, ImGuiPopupFlags.None); - num = 939541888; - continue; - case 1: - { - overworldPosition = _aetherCurrentData.GetOverworldPosition(current.AetherCurrentId); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(16, 1); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1992006660)); - defaultInterpolatedStringHandler2.AppendFormatted(current.AetherCurrentId); - text3 = defaultInterpolatedStringHandler2.ToStringAndClear(); - num = ((!_200E_200D_206D_202B_202C_200B_202D_200F_202A_206A_206C_206E_202C_206E_202A_202D_202A_206D_202E_206D_206D_200E_206A_202E_206E_206A_200F_200B_206F_206E_200E_206A_206F_206D_206A_202B_206C_200C_200F_202A_202E(ImGuiMouseButton.Right)) ? 939541888 : 939541889); - continue; - } - case 0: - num = 939541890; - continue; - case 3: - break; - } - break; + ImGui.OpenPopup(text2); } - using ImRaii.PopupDisposable popupDisposable2 = _200D_200D_206D_206D_202E_206F_200C_206F_202B_206A_202B_206D_202A_200F_206E_200B_206A_202D_202B_206E_202D_202C_200E_206C_206B_206C_200F_202A_206D_202A_202C_206A_206F_206E_200C_206B_202C_202E_200C_202E((ImU8String)text3); + using ImRaii.PopupDisposable popupDisposable2 = ImRaii.Popup(text2); if ((bool)popupDisposable2) { - num = -1681952250; - int num14; - while (true) + bool flag = overworldPosition != null && !IsAnyControllerRunning(); + using (ImRaii.Disabled(!flag)) { - int num13 = num; - int num3 = -1681952251; - int num4 = num13; - switch ((num4 | num3) - (num4 & num3)) + if (ImGui.MenuItem("Attune") && overworldPosition != null) { - default: - continue; - case 0: - num = -1681952250; - continue; - case 3: - num = ((!(overworldPosition != null)) ? (-1681952249) : (-1681952252)); - continue; - case 1: - num14 = ((!IsAnyControllerRunning()) ? 1 : 0); - break; - case 2: - num14 = 0; - break; - } - break; - } - bool flag = (byte)num14 != 0; - ImRaii.DisabledDisposable disabledDisposable = _206E_202A_200B_206D_206B_206C_206E_206E_202D_206F_206C_202C_206F_200D_202D_206D_202A_202B_206C_202B_200F_200B_206D_206C_200F_200C_206A_206A_202B_200D_206B_200F_206B_200D_202D_202A_202B_202A_202C_202E(!flag); - try - { - num = ((!_202C_206D_200C_202E_200F_206B_200B_202C_206A_202B_200C_202C_206A_206F_206E_206B_206E_206B_202B_200E_202D_202A_206E_206F_200F_206E_202E_206B_202E_206F_202D_206B_200F_206D_202A_206E_202C_202D_206A_206A_202E((ImU8String)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(1095755646), false, true)) ? 846999353 : 846999355); - while (true) - { - int num15 = num; - int num3 = 846999352; - int num4 = num15; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 846999355; - break; - case 3: - num = ((!(overworldPosition != null)) ? 846999353 : 846999352); - break; - case 0: - StartAttunement(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(-904194713), overworldPosition.TerritoryId, overworldPosition.Position, new Questionable.Controller.Steps.Interactions.AetherCurrent.Attune(overworldPosition.DataId, current.AetherCurrentId)); - num = 846999353; - break; - case 1: - goto end_IL_0546; - } - continue; - end_IL_0546: - break; + StartAttunement("Aether Current", overworldPosition.TerritoryId, overworldPosition.Position, new Questionable.Controller.Steps.Interactions.AetherCurrent.Attune(overworldPosition.DataId, current.AetherCurrentId)); } } - finally + if (!flag && overworldPosition == null && ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) { - num = ((disabledDisposable == null) ? (-611190412) : (-611190409)); - while (true) - { - int num16 = num; - int num3 = -611190411; - int num4 = num16; - int num17 = num4 + num3; - int num18 = num4 & num3; - switch (num17 - (num18 + num18)) - { - case 0: - num = -611190409; - break; - case 2: - _200C_200B_200F_202E_206F_202B_202B_202B_200E_206F_206E_202D_202E_200D_206C_200C_200E_206D_206A_202B_206D_206F_202E_206A_202C_206C_202B_200B_206B_200B_202B_206C_206D_206D_206E_202D_202D_206C_200B_202E_202E((IDisposable)disabledDisposable); - num = -611190412; - break; - case 1: - goto end_IL_0607; - } - continue; - end_IL_0607: - break; - } - } - num = (flag ? 683962009 : 683962014); - while (true) - { - int num19 = num; - int num3 = 683962010; - int num4 = num19; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 683962014; - break; - case 1: - num = ((!_200E_200D_206B_206C_202C_200F_206B_200B_206B_202C_206E_200D_206C_206C_206A_206C_200F_206A_206F_206B_202A_200C_206F_200C_206D_200D_206F_200B_200D_202E_206E_206C_206B_200E_202D_202C_206A_206A_202D_206F_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? 683962009 : 683962008); - break; - case 4: - num = ((!(overworldPosition == null)) ? 683962009 : 683962011); - break; - case 2: - _202D_206B_200E_200F_200D_202B_206F_206C_206C_206A_200C_206E_206B_202E_200F_206F_200F_202B_202B_202D_206D_206E_202C_200B_202C_206D_202A_202E_200F_200D_202A_206F_202C_206D_202C_202B_200D_206C_202E_200D_202E((ImU8String)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(702333542)); - num = 683962009; - break; - case 3: - goto end_IL_0674; - } - continue; - end_IL_0674: - break; + ImGui.SetTooltip("Position unknown"); } } } } - _200E_200F_200D_200E_200D_200C_206A_202B_206E_206D_202C_202B_200D_200F_202C_206E_200E_200D_206B_202D_202E_202A_202D_202C_202A_202C_200F_206F_202A_200D_202E_202B_206D_202E_206D_200C_206B_202D_202D_200E_202E(); + ImGui.TableNextColumn(); DrawStatusGlyph(valueOrDefault, statusIconSpacing); } private void DrawStatusGlyph(bool unlocked, float statusIconSpacing) { - float num = _202C_200F_206E_202E_200E_202C_202C_202E_202B_206B_200B_200D_202A_206C_202D_206B_200B_206C_200F_200B_206C_206C_206D_202E_200C_200F_206D_202E_200C_200B_202E_206C_202D_206C_202D_206E_202C_200C_206D_206F_202E() / 2f - statusIconSpacing; - _202C_200E_206A_206F_200E_200F_206F_200C_202D_202D_206E_206F_200D_202D_200E_206E_206F_202E_206F_202A_206F_200F_206A_200B_202C_200E_200F_200C_202D_206E_206E_200E_202C_200D_200B_206D_200D_200D_200E_202C_202E(_206B_200B_202C_206B_200D_202B_200C_206D_206E_202E_206A_200B_206D_206D_200E_202A_206D_202D_200D_206C_200D_200C_206F_206A_206C_206B_206F_202C_202B_202C_206E_200D_200B_206E_200B_202B_202C_200F_206A_202E() + num); + float num = ImGui.GetColumnWidth() / 2f - statusIconSpacing; + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + num); _uiUtils.ChecklistItem(string.Empty, unlocked ? UiThemeUtils.StatusComplete : UiThemeUtils.StatusLocked, unlocked ? FontAwesomeIcon.Check : FontAwesomeIcon.Times); } - [MethodImpl(MethodImplOptions.NoInlining)] private void RebuildFlatRows() { List list = new List(); if (_aetherytesByExpansion.Any((ExpansionGroup exp) => exp.Items.Any(AetherytePasses))) { - int num = 1424535059; - while (true) + list.Add(HeaderRow(0, "Aetherytes", "Aetherytes", _aetheryteUnlocked, _aetheryteTotal)); + if (_expandedGroups.Contains("Aetherytes")) { - int num2 = num; - int num3 = 1424535057; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + foreach (ExpansionGroup item in _aetherytesByExpansion) { - default: - continue; - case 0: - num = 1424535059; - continue; - case 2: - list.Add(HeaderRow(0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(648065356), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(648065356), _aetheryteUnlocked, _aetheryteTotal)); - if (_expandedGroups.Contains(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(648065356))) + List list2 = item.Items.Where(AetherytePasses).ToList(); + if (list2.Count == 0) { - num = 1424535056; continue; } - break; - case 1: - foreach (ExpansionGroup item in _aetherytesByExpansion) + string text = $"AetheryteExp_{item.SortOrder}"; + int valueOrDefault = _aetheryteExpansionUnlockedCounts.GetValueOrDefault(item.SortOrder); + list.Add(HeaderRow(1, text, item.ExpansionName, valueOrDefault, item.Items.Count)); + if (!_expandedGroups.Contains(text)) { - List list2 = item.Items.Where(AetherytePasses).ToList(); - if (list2.Count == 0) - { - continue; - } - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(13, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-1272732722)); - defaultInterpolatedStringHandler.AppendFormatted(item.SortOrder); - string text = defaultInterpolatedStringHandler.ToStringAndClear(); - int valueOrDefault = _aetheryteExpansionUnlockedCounts.GetValueOrDefault(item.SortOrder); - list.Add(HeaderRow(1, text, item.ExpansionName, valueOrDefault, item.Items.Count)); - if (!_expandedGroups.Contains(text)) - { - continue; - } - using List.Enumerator enumerator2 = list2.GetEnumerator(); - num = -2140436778; - while (true) - { - int num5 = num; - num3 = -2140436777; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - num = (enumerator2.MoveNext() ? (-2140436780) : (-2140436779)); - break; - case 3: - { - AetheryteEntry current2 = enumerator2.Current; - list.Add(AetheryteLeafRow(2, current2, isAethernet: false)); - num = -2140436778; - break; - } - case 0: - num = -2140436778; - break; - case 2: - goto end_IL_018a; - } - continue; - end_IL_018a: - break; - } + continue; + } + foreach (AetheryteEntry item2 in list2) + { + list.Add(AetheryteLeafRow(2, item2, isAethernet: false)); } - break; } - break; } } if (_aethernetByCity.Any((CityGroup city) => city.Shards.Any(AetherytePasses))) { - int num = -1021691128; - while (true) + list.Add(HeaderRow(0, "Aethernet Shards", "Aethernet Shards", _aethernetUnlocked, _aethernetTotal)); + if (_expandedGroups.Contains("Aethernet Shards")) { - int num6 = num; - int num3 = -1021691127; - int num4 = num6; - switch ((num4 | num3) - (num4 & num3)) + foreach (CityGroup item3 in _aethernetByCity) { - default: - continue; - case 0: - num = -1021691128; - continue; - case 1: - list.Add(HeaderRow(0, 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(827772541), 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(827772541), _aethernetUnlocked, _aethernetTotal)); - if (_expandedGroups.Contains(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(263665615))) + List list3 = item3.Shards.Where(AetherytePasses).ToList(); + if (list3.Count == 0) { - num = -1021691125; continue; } - break; - case 2: - foreach (CityGroup item2 in _aethernetByCity) + string text2 = "AethernetCity_" + item3.CityName; + int valueOrDefault2 = _aethernetCityUnlockedCounts.GetValueOrDefault(item3.CityName); + list.Add(HeaderRow(1, text2, item3.CityName, valueOrDefault2, item3.Shards.Count, BatchKind.AethernetCity, item3)); + if (!_expandedGroups.Contains(text2)) { - List list3 = item2.Shards.Where(AetherytePasses).ToList(); - if (list3.Count == 0) - { - continue; - } - string text2 = _202B_200C_202C_200B_206C_206C_202D_206C_202B_200E_206A_206E_200D_200D_206C_202B_206E_206C_202B_206B_200E_200B_202B_206D_200D_206D_202A_200F_206E_200C_202E_202D_200D_202D_200F_202B_202B_206E_206B_200D_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-429040103), item2.CityName); - int valueOrDefault2 = _aethernetCityUnlockedCounts.GetValueOrDefault(item2.CityName); - list.Add(HeaderRow(1, text2, item2.CityName, valueOrDefault2, item2.Shards.Count, BatchKind.AethernetCity, item2)); - if (!_expandedGroups.Contains(text2)) - { - continue; - } - using List.Enumerator enumerator2 = list3.GetEnumerator(); - num = 2111684106; - while (true) - { - int num7 = num; - num3 = 2111684107; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 0: - num = 2111684106; - break; - case 3: - { - AetheryteEntry current4 = enumerator2.Current; - list.Add(AetheryteLeafRow(2, current4, isAethernet: true)); - num = 2111684106; - break; - } - case 1: - num = (enumerator2.MoveNext() ? 2111684104 : 2111684105); - break; - case 2: - goto end_IL_03b5; - } - continue; - end_IL_03b5: - break; - } + continue; + } + foreach (AetheryteEntry item4 in list3) + { + list.Add(AetheryteLeafRow(2, item4, isAethernet: true)); } - break; } - break; } } if (_currentsByExpansion.Any((ExpansionGroup exp) => exp.Items.Any(ZoneHasContent))) { - int num = -91847285; - while (true) + list.Add(HeaderRow(0, "Aether Currents", "Aether Currents", _currentUnlocked, _currentTotal)); + if (_expandedGroups.Contains("Aether Currents")) { - int num10 = num; - int num3 = -91847286; - int num4 = num10; - switch ((num4 | num3) - (num4 & num3)) + foreach (ExpansionGroup item5 in _currentsByExpansion) { - default: - continue; - case 0: - num = -91847285; - continue; - case 1: - list.Add(HeaderRow(0, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1187258909), 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(-477932770), _currentUnlocked, _currentTotal)); - if (_expandedGroups.Contains(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(560694134))) + List list4 = item5.Items.Where(ZoneHasContent).ToList(); + if (list4.Count == 0) { - num = -91847288; continue; } - break; - case 2: - foreach (ExpansionGroup item3 in _currentsByExpansion) + string text3 = $"CurrentsExp_{item5.SortOrder}"; + int unlocked = item5.Items.Sum((ZoneCurrentGroup z) => _currentZoneUnlockedCounts.GetValueOrDefault(z.TerritoryId)); + int total = item5.Items.Sum((ZoneCurrentGroup z) => z.Currents.Count); + list.Add(HeaderRow(1, text3, item5.ExpansionName, unlocked, total)); + if (!_expandedGroups.Contains(text3)) { - List list4 = item3.Items.Where(ZoneHasContent).ToList(); - if (list4.Count == 0) + continue; + } + foreach (ZoneCurrentGroup item6 in list4) + { + string text4 = $"CurrentZone_{item6.TerritoryId}"; + int valueOrDefault3 = _currentZoneUnlockedCounts.GetValueOrDefault(item6.TerritoryId); + list.Add(HeaderRow(2, text4, item6.ZoneName, valueOrDefault3, item6.Currents.Count, BatchKind.CurrentZone, null, item6)); + if (!_expandedGroups.Contains(text4)) { continue; } - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(12, 1); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1831556210)); - defaultInterpolatedStringHandler2.AppendFormatted(item3.SortOrder); - string text3 = defaultInterpolatedStringHandler2.ToStringAndClear(); - int unlocked = item3.Items.Sum((ZoneCurrentGroup z) => _currentZoneUnlockedCounts.GetValueOrDefault(z.TerritoryId)); - int total = item3.Items.Sum((ZoneCurrentGroup z) => z.Currents.Count); - list.Add(HeaderRow(1, text3, item3.ExpansionName, unlocked, total)); - if (!_expandedGroups.Contains(text3)) + foreach (CurrentEntry item7 in item6.Currents.Where(CurrentPasses)) { - continue; - } - foreach (ZoneCurrentGroup item4 in list4) - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(12, 1); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1906658959)); - defaultInterpolatedStringHandler3.AppendFormatted(item4.TerritoryId); - string text4 = defaultInterpolatedStringHandler3.ToStringAndClear(); - int valueOrDefault3 = _currentZoneUnlockedCounts.GetValueOrDefault(item4.TerritoryId); - list.Add(HeaderRow(2, text4, item4.ZoneName, valueOrDefault3, item4.Currents.Count, BatchKind.CurrentZone, null, item4)); - if (!_expandedGroups.Contains(text4)) - { - continue; - } - IEnumerator enumerator6 = item4.Currents.Where(CurrentPasses).GetEnumerator(); - try - { - num = -1715466179; - while (true) - { - int num11 = num; - num3 = -1715466178; - num4 = num11; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = (_206B_206A_202E_200B_202E_202D_202C_202A_206D_200C_200D_200B_200E_206E_202A_200B_202B_202A_200B_202B_200D_206C_206C_200E_206A_206B_206C_206B_206B_200F_202E_206C_202A_206A_202A_202C_206F_206C_206B_206A_202E((IEnumerator)enumerator6) ? (-1715466177) : (-1715466180)); - break; - case 1: - { - CurrentEntry current7 = enumerator6.Current; - list.Add(CurrentLeafRow(3, current7)); - num = -1715466179; - break; - } - case 0: - num = -1715466179; - break; - case 2: - goto end_IL_06d3; - } - continue; - end_IL_06d3: - break; - } - } - finally - { - num = ((enumerator6 == null) ? 1736578572 : 1736578575); - while (true) - { - int num12 = num; - num3 = 1736578574; - num4 = num12; - int num13 = num4 + num3; - int num14 = num4 & num3; - switch (num13 - (num14 + num14)) - { - case 2: - goto end_IL_077a; - case 1: - _200C_200B_200F_202E_206F_202B_202B_202B_200E_206F_206E_202D_202E_200D_206C_200C_200E_206D_206A_202B_206D_206F_202E_206A_202C_206C_202B_200B_206B_200B_202B_206C_206D_206D_206E_202D_202D_206C_200B_202E_202E((IDisposable)enumerator6); - num = 1736578572; - break; - case 0: - num = 1736578575; - break; - } - continue; - end_IL_077a: - break; - } - } + list.Add(CurrentLeafRow(3, item7)); } } - break; } - break; } } _flatRows = list; @@ -3278,81 +890,33 @@ internal sealed class AttunementJournalComponent private bool AetherytePasses(AetheryteEntry entry) { - int num = (_206E_202C_206F_200F_200D_202E_206C_200D_206F_202D_202E_200C_202D_206A_206D_200E_202E_202B_206D_206D_202B_202B_206C_200D_206C_202A_200D_202D_206E_202E_206E_200C_202C_200B_206E_200E_200F_206F_200E_200C_202E(_searchText) ? (-2025218308) : (-2025218305)); - while (true) + if (!string.IsNullOrEmpty(_searchText) && !entry.Name.Contains(_searchText, StringComparison.OrdinalIgnoreCase)) { - int num2 = num; - int num3 = -2025218307; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return false; - case 0: - num = ((!_aetheryteUnlockCache.GetValueOrDefault(entry.Location)) ? (-2025218312) : (-2025218311)); - break; - case 4: - return false; - case 1: - num = ((!_showUnattunedOnly) ? (-2025218312) : (-2025218307)); - break; - case 2: - num = (_206C_200C_202C_206A_206D_202E_206E_202A_200B_206D_200C_200F_206B_202E_206D_206E_202E_202C_206A_206C_206D_200B_200E_202C_202E_206E_202E_206B_206A_200F_200F_202E_206D_206B_200F_206A_202B_206B_200F_206E_202E(entry.Name, _searchText, StringComparison.OrdinalIgnoreCase) ? (-2025218308) : (-2025218306)); - break; - case 6: - num = -2025218305; - break; - case 5: - return true; - } + return false; } + if (_showUnattunedOnly && _aetheryteUnlockCache.GetValueOrDefault(entry.Location)) + { + return false; + } + return true; } private bool CurrentPasses(CurrentEntry entry) { - int num = ((!_showUnattunedOnly) ? 1104505652 : 1104505655); - while (true) + if (_showUnattunedOnly) { - int num2 = num; - int num3 = 1104505654; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0046; - case 2: - return true; - case 1: - return !_currentUnlockCache.GetValueOrDefault(entry.AetherCurrentId); - } - continue; - IL_0046: - num = 1104505655; + return !_currentUnlockCache.GetValueOrDefault(entry.AetherCurrentId); } + return true; } private bool ZoneHasContent(ZoneCurrentGroup zone) { - int num = (_206E_202C_206F_200F_200D_202E_206C_200D_206F_202D_202E_200C_202D_206A_206D_200E_202E_202B_206D_206D_202B_202B_206C_200D_206C_202A_200D_202D_206E_202E_206E_200C_202C_200B_206E_200E_200F_206F_200E_200C_202E(_searchText) ? (-1980776685) : (-1980776688)); - while (true) + if (!string.IsNullOrEmpty(_searchText) && !zone.ZoneName.Contains(_searchText, StringComparison.OrdinalIgnoreCase)) { - int num2 = num; - int num3 = -1980776687; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = -1980776688; - break; - case 0: - return false; - case 2: - return zone.Currents.Any(CurrentPasses); - case 1: - num = (_206C_200C_202C_206A_206D_202E_206E_202A_200B_206D_200C_200F_206B_202E_206D_206E_202E_202C_206A_206C_206D_200B_200E_202C_202E_206E_202E_206B_206A_200F_200F_202E_206D_206B_200F_206A_202B_206B_200F_206E_202E(zone.ZoneName, _searchText, StringComparison.OrdinalIgnoreCase) ? (-1980776685) : (-1980776687)); - break; - } + return false; } + return zone.Currents.Any(CurrentPasses); } private static FlatRow HeaderRow(int depth, string key, string label, int unlocked, int total, BatchKind batch = BatchKind.None, CityGroup? city = null, ZoneCurrentGroup? zone = null) @@ -3372,56 +936,37 @@ internal sealed class AttunementJournalComponent }; } - [MethodImpl(MethodImplOptions.NoInlining)] private static FlatRow AetheryteLeafRow(int depth, AetheryteEntry entry, bool isAethernet) { return new FlatRow { Kind = AttuneRowKind.AetheryteLeaf, Depth = depth, - Key = _202B_200C_202C_200B_206C_206C_202D_206C_202B_200E_206A_206E_200D_200D_206C_202B_206E_206C_202B_206B_200E_200B_202B_206D_200D_206D_202A_200F_206E_200C_202E_202D_200D_202D_200F_202B_202B_206E_206B_200D_202E(isAethernet ? global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(27897763) : 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(1522017589), entry.Location.ToString()), + Key = (isAethernet ? "Shard_" : "Aeth_") + entry.Location, Label = entry.Name, Aetheryte = entry, IsAethernet = isAethernet }; } - [MethodImpl(MethodImplOptions.NoInlining)] private static FlatRow CurrentLeafRow(int depth, CurrentEntry entry) { return new FlatRow { Kind = AttuneRowKind.CurrentLeaf, Depth = depth, - Key = _202B_200C_202C_200B_206C_206C_202D_206C_202B_200E_206A_206E_200D_200D_206C_202B_206E_206C_202B_206B_200E_200B_202B_206D_200D_206D_202A_200F_206E_200C_202E_202D_200D_202D_200F_202B_202B_206E_206B_200D_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(1869444216), entry.AetherCurrentId.ToString()), + Key = "Cur_" + entry.AetherCurrentId, Current = entry }; } - [MethodImpl(MethodImplOptions.NoInlining)] private static string FormatCount(int unlocked, int total) { - int num = ((total == 0) ? (-601303065) : (-601303068)); - while (true) + if (total != 0) { - int num2 = num; - int num3 = -601303067; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0043; - case 1: - return _200E_206C_206C_202B_202D_200D_200F_206E_206E_202A_200F_202A_200E_200E_200D_206E_206B_206B_202C_200B_200C_206E_206B_200C_202B_202E_200D_200F_200F_200C_206E_200D_206B_200C_202C_202B_202A_206F_206A_206D_202E(_206F_200E_206E_202C_206E_200E_206C_206A_206C_200F_202C_200D_202C_202A_206E_200F_206A_202A_202A_202E_202D_200E_200B_202B_200E_200C_202D_202C_200B_206F_202A_202A_206C_206E_200B_206A_200D_206B_202B_200E_202E(unlocked.ToString(_202A_200B_206B_206F_202C_200C_200E_200D_206C_202C_202A_202D_202A_200B_206A_206A_206B_202E_206B_202D_206F_202C_202B_200D_206E_206B_206A_206D_200F_206F_202E_200D_206F_202B_202A_206E_206F_200D_206F_202A_202E()), CountPadWidth), 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(884463298), _206F_200E_206E_202C_206E_200E_206C_206A_206C_200F_202C_200D_202C_202A_206E_200F_206A_202A_202A_202E_202D_200E_200B_202B_200E_200C_202D_202C_200B_206F_202A_202A_206C_206E_200B_206A_200D_206B_202B_200E_202E(total.ToString(_202A_200B_206B_206F_202C_200C_200E_200D_206C_202C_202A_202D_202A_200B_206A_206A_206B_202E_206B_202D_206F_202C_202B_200D_206E_206B_206A_206D_200F_206F_202E_200D_206F_202B_202A_206E_206F_200D_206F_202A_202E()), CountPadWidth)); - case 2: - return _200E_206C_206C_202B_202D_200D_200F_206E_206E_202A_200F_202A_200E_200E_200D_206E_206B_206B_202C_200B_200C_206E_206B_200C_202B_202E_200D_200F_200F_200C_206E_200D_206B_200C_202C_202B_202A_206F_206A_206D_202E(_202E_206B_206B_202D_202D_202B_202D_202C_202C_200D_200C_206E_202C_206B_200E_200C_200E_202A_202B_202A_206A_202A_202C_200E_202A_200E_200D_202C_206B_206E_206D_206F_200E_206B_202C_202B_206C_206A_206B_202E_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(792471175), CountPadWidth), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2014446916), _202E_206B_206B_202D_202D_202B_202D_202C_202C_200D_200C_206E_202C_206B_200E_200C_200E_202A_202B_202A_206A_202A_202C_200E_202A_200E_200D_202C_206B_206E_206D_206F_200E_206B_202C_202B_206C_206A_206B_202E_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(792471175), CountPadWidth)); - } - continue; - IL_0043: - num = -601303068; + return unlocked.ToString(CultureInfo.CurrentCulture).PadLeft(CountPadWidth) + " / " + total.ToString(CultureInfo.CurrentCulture).PadLeft(CountPadWidth); } + return "-".PadLeft(CountPadWidth) + " / " + "-".PadLeft(CountPadWidth); } private void StopAll(string reason) @@ -3444,449 +989,66 @@ internal sealed class AttunementJournalComponent private bool IsAnyControllerRunning() { - int num = (_questController.IsRunning ? 1800165961 : 1800165962); - while (true) + if (!_questController.IsRunning && !_fateController.IsRunning && !_seasonalDutyController.IsRunning && !_customDeliveryController.IsRunning) { - int num2 = num; - int num3 = 1800165960; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = (_customDeliveryController.IsRunning ? 1800165961 : 1800165964); - break; - case 1: - return true; - case 5: - num = (_seasonalDutyController.IsRunning ? 1800165961 : 1800165960); - break; - case 4: - return _attunementController.IsRunning; - case 3: - num = 1800165962; - break; - case 2: - num = (_fateController.IsRunning ? 1800165961 : 1800165965); - break; - } + return _attunementController.IsRunning; } + return true; } private void StartBatchAttunement(string batchName, IEnumerable<(string Name, ushort TerritoryId, Vector3 Position, ITask AttuneTask)> targets) { _pendingBatchTargets.Clear(); _pendingBatchTargets.AddRange(targets); - int num = ((_pendingBatchTargets.Count != 0) ? 681163999 : 681163998); - while (true) + if (_pendingBatchTargets.Count != 0) { - int num2 = num; - int num3 = 681163999; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0064; - case 0: - { - _batchName = batchName; - (string, ushort, Vector3, ITask) tuple = PopNearestTarget(); - StartAttunement(batchName, tuple.Item2, tuple.Item3, tuple.Item4); - return; - } - case 1: - return; - } - continue; - IL_0064: - num = 681163998; + _batchName = batchName; + (string, ushort, Vector3, ITask) tuple = PopNearestTarget(); + StartAttunement(batchName, tuple.Item2, tuple.Item3, tuple.Item4); } } private (string Name, ushort TerritoryId, Vector3 Position, ITask AttuneTask) PopNearestTarget() { - IGameObject gameObject = _200F_200C_202D_202D_200C_202C_202D_200E_202B_206A_206E_206D_202B_200E_200B_206E_200E_202A_202C_206F_200E_206C_200D_202B_206F_202A_202D_200B_206C_202B_206E_206A_200F_206C_202B_202E_206E_200B_206C_202D_202E(_objectTable, 0); - Vector3 value = ((gameObject != null) ? _200D_202E_200B_200D_202D_200B_206E_202A_206F_200D_202A_206A_206B_200D_202C_200C_200D_200B_206C_202D_202C_200D_200E_206D_202B_206F_202B_206D_200F_202B_202D_206E_206C_206F_200D_200E_202C_200F_200F_202A_202E(gameObject) : Vector3.Zero); + Vector3 value = _objectTable[0]?.Position ?? Vector3.Zero; int index = 0; float num = float.MaxValue; - int num2 = 0; - int num3 = 803266970; - float num9 = default(float); - while (true) + for (int i = 0; i < _pendingBatchTargets.Count; i++) { - int num4 = num3; - int num5 = 803266968; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) + float num2 = Vector3.DistanceSquared(value, _pendingBatchTargets[i].Position); + if (num2 < num) { - case 2: - num3 = ((num2 < _pendingBatchTargets.Count) ? 803266969 : 803266973); - break; - case 4: - num = num9; - index = num2; - num3 = 803266968; - break; - case 0: - { - int num10 = num2; - num5 = 1; - num6 = num10; - int num11 = num6 ^ num5; - int num12 = num6 & num5; - num2 = num11 + (num12 + num12); - num3 = 803266970; - break; - } - case 5: - { - (string Name, ushort TerritoryId, Vector3 Position, ITask AttuneTask) result = _pendingBatchTargets[index]; - _pendingBatchTargets.RemoveAt(index); - return result; - } - case 3: - num3 = 803266970; - break; - case 1: - num9 = Vector3.DistanceSquared(value, _pendingBatchTargets[num2].Position); - num3 = ((!(num9 < num)) ? 803266968 : 803266972); - break; + num = num2; + index = i; } } + (string Name, ushort TerritoryId, Vector3 Position, ITask AttuneTask) result = _pendingBatchTargets[index]; + _pendingBatchTargets.RemoveAt(index); + return result; } - [MethodImpl(MethodImplOptions.NoInlining)] private void StartAttunement(string targetName, ushort territoryId, Vector3 position, ITask attuneTask) { - PlayerNavState playerNavState = _206A_202A_200C_202C_200F_206D_206A_202C_206D_206B_206F_200D_206E_200C_206E_200C_206B_206E_206D_206F_202E_206A_206A_200B_200F_200C_202E_202C_200C_202A_202E_202A_202C_206B_202C_200E_202E_202C_206D_202C_202E(_playerNavStateBuilder, (int?)null); - int num = ((playerNavState != null) ? 1264790983 : 1264790979); - List list = default(List); - RouteResult routeResult = default(RouteResult); - while (true) + PlayerNavState playerNavState = _playerNavStateBuilder.Build(); + if (playerNavState == null) { - int num2 = num; - int num3 = 1264790983; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - list.Add(new MoveTask(territoryId, position, null, MountRequired: false, DismountRequired: false, 3f)); - list.Add(new Questionable.Controller.Steps.Common.Mount.UnmountTask()); - list.Add(attuneTask); - _attunementController.Start(targetName, list); - return; - case 4: - _200D_200E_202C_206E_200E_200E_202C_200D_202C_200E_200C_200C_200F_206D_202E_202A_200F_206E_206E_202E_202A_202B_200E_206F_200F_200E_200B_202D_202A_200C_206C_200E_206E_202D_200C_200B_206D_200D_206D_202A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(145706259), Array.Empty()); - return; - case 1: - _200D_200E_202C_206E_200E_200E_202C_200D_202C_200E_200C_200C_200F_206D_202E_202A_200F_206E_206E_202E_202A_202B_200E_206F_200F_200E_200B_202D_202A_200C_206C_200E_206E_202D_200C_200B_206D_200D_206D_202A_202E((ILogger)_logger, 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(-1554603032), new object[2] { territoryId, targetName }); - return; - case 2: - num = 1264790979; - break; - case 3: - num = ((_206A_200D_200E_206F_200E_206A_206E_202B_202A_206A_202A_206F_206B_206D_206B_200C_200C_202B_206D_206B_202A_206C_206A_206E_206D_200C_202B_200C_200F_200C_206A_202E_202C_202A_200E_206A_200D_206D_206C_202B_202E(_clientState) == territoryId) ? 1264790977 : 1264790982); - break; - case 5: - list.AddRange(_taskMapper.MapInstructions(_206C_200D_202E_206F_206F_206E_206F_206D_202B_206B_206E_202C_200B_206E_202D_200C_202C_202C_202B_202B_200B_206E_206E_202B_206A_206C_206A_200B_202C_200B_206B_202C_202D_200D_202E_202B_206B_200E_206E_202D_202E(_instructionBuilder, routeResult, (uint)territoryId, false))); - num = 1264790977; - break; - case 0: - routeResult = _206B_202A_206B_200D_206B_200D_202E_206D_206B_202E_206B_206D_206D_200C_200C_200C_200E_206F_200D_200F_200B_202A_200B_200D_200F_206E_202E_206B_200E_206A_206C_200D_200D_202B_200C_202D_200B_200E_206D_202E(_navRouter, playerNavState, (uint)territoryId, position, (IReadOnlySet)null); - list = new List(); - num = ((_206C_202D_202D_200E_206B_202E_200B_200B_206C_206C_206E_202A_206C_200D_206A_202C_202A_206F_206A_206F_202B_200C_206B_200F_206C_200C_200E_202D_206F_202E_202E_200F_202B_200C_200F_202C_202E_202C_206F_206D_202E(routeResult).Count <= 0) ? 1264790980 : 1264790978); - break; - } + _logger.LogWarning("Cannot build PlayerNavState for attunement routing"); + return; } - } - - static ReadOnlyDictionary _200F_202C_200C_206C_206E_206E_200F_200F_206F_206D_206D_206B_200E_206C_202B_206F_202B_206F_206A_202A_200D_200D_202D_202D_202C_202E_206A_202D_206A_200F_202E_206F_202A_200E_206B_202A_206D_202C_202D_206F_202E(AetheryteData P_0) - { - return P_0.Locations; - } - - static ReadOnlyDictionary _200C_206F_200C_200E_200B_206B_206D_202A_206A_200B_202E_202D_206B_200E_206B_200E_202D_200F_206C_200B_200E_206A_200F_206E_202A_202E_206E_200B_206E_202A_200F_202E_202E_202B_200C_200B_202A_200F_206D_206E_202E(AetheryteData P_0) - { - return P_0.TerritoryIds; - } - - static ReadOnlyDictionary _200F_206F_202E_202D_202D_206B_200C_206D_202B_202E_206B_200F_202E_200B_200F_206B_200F_200C_202A_206D_206B_206E_200D_206E_206C_202A_200F_200B_202B_206B_206C_200C_200B_206D_200E_206C_206B_206C_200B_202C_202E(AetheryteData P_0) - { - return P_0.AethernetGroups; - } - - static bool _202E_206A_200B_206C_202C_206D_206F_200B_206B_206E_206E_206E_206B_206E_202D_200B_206A_200E_206E_200E_200E_200D_202E_202B_202E_206C_202C_206E_202B_206E_206E_202C_206B_202D_200C_206D_206A_200C_200B_206D_202E(EAetheryteLocation P_0) - { - return AetheryteConverter.IsLargeAetheryte(P_0); - } - - static bool _206B_206A_202E_200B_202E_202D_202C_202A_206D_200C_200D_200B_200E_206E_202A_200B_202B_202A_200B_202B_200D_206C_206C_200E_206A_206B_206C_206B_206B_200F_202E_206C_202A_206A_202A_202C_206F_206C_206B_206A_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200C_200B_200F_202E_206F_202B_202B_202B_200E_206F_206E_202D_202E_200D_206C_200C_200E_206D_206A_202B_206D_206F_202E_206A_202C_206C_202B_200B_206B_200B_202B_206C_206D_206D_206E_202D_202D_206C_200B_202E_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static long _206B_206E_200F_202C_200E_206D_206A_200E_200B_202B_206D_206D_200E_200B_202B_206B_202C_202D_206E_200E_202C_206B_200F_206B_200E_202B_206D_202C_206F_200C_202C_200F_202A_200E_200F_200B_202E_200F_206B_200E_202E() - { - return Environment.TickCount64; - } - - static string _200E_206C_206C_202B_202D_200D_200F_206E_206E_202A_200F_202A_200E_200E_200D_206E_206B_206B_202C_200B_200C_206E_206B_200C_202B_202E_200D_200F_200F_200C_206E_200D_206B_200C_202C_202B_202A_206F_206A_206D_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static ImFontPtr _202E_206B_200F_200B_200B_202E_202C_202E_200C_206F_206A_206C_200C_200E_206D_202E_200C_200D_202C_200B_200F_202A_206B_202A_206F_202B_200E_206B_202D_200C_206F_202C_202D_206C_206E_202A_202C_202E_206B_202A_202E() - { - return UiBuilder.IconFont; - } - - static ImRaii.FontDisposable _200D_200F_200D_200D_202D_202E_200E_200E_200F_206A_206F_200D_206B_200C_202C_202A_200D_202D_206C_202A_202A_206C_202B_200E_202E_206D_206C_200F_206E_202B_200F_200E_200E_200D_202A_200D_206F_200E_200E_206B_202E(ImFontPtr P_0, bool P_1) - { - return ImRaii.PushFont(P_0, P_1); - } - - static string _206F_206E_200F_202C_200C_206D_206C_206F_200C_200F_206D_202C_206E_202C_200C_202D_202D_206A_206F_206B_202D_206A_202A_202A_200D_202A_202B_200B_206F_202B_200B_206B_206E_206F_202C_206C_202C_200E_200F_206C_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static Vector2 _206A_200D_202A_202B_202E_202D_206E_200C_206E_202C_200B_200F_202B_200C_202A_200C_202E_202A_200E_200C_202B_200E_202C_200B_200F_206E_202B_200C_206D_202E_202A_200C_202D_200B_206E_200D_202A_202D_200C_200C_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static ImGuiStylePtr _206E_200F_200F_202A_206B_206D_200E_206A_206F_200C_202C_200E_200D_206C_202B_202A_206E_202E_202D_200B_200B_202A_206C_202D_206F_200F_202E_200C_202E_200B_202B_202E_206D_206C_206B_206D_200C_202B_206A_200F_202E() - { - return ImGui.GetStyle(); - } - - static Vector2 _206D_200E_200C_202D_202D_200D_200E_206A_200F_206B_206D_202B_200B_202D_206E_202D_202D_202B_202C_202D_200E_206B_202C_202E_200E_206F_202B_206B_206B_206D_206A_202D_202A_206E_202A_202E_202C_202A_202A_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static void _200B_200C_200F_206C_202C_206D_200D_200C_202A_202C_202D_206F_200B_202A_202A_206A_200E_206D_206C_202A_200B_206F_200D_200F_202E_202C_200B_206A_206F_206A_200C_206E_206F_206B_206D_206D_202B_206A_202E_206F_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static void _206D_202A_206D_206E_206E_200D_200F_202C_200C_202B_202C_206E_202E_206E_202B_206A_200B_200C_202B_206E_200C_206B_200D_202E_206F_200D_200E_206A_206A_200E_200B_200E_206F_202C_206F_202C_202E_202C_200E_202C_202E() - { - ImGui.SameLine(); - } - - static float _206C_206E_202E_200B_202D_206C_200B_206F_200F_206E_206C_202C_206D_200B_202D_206C_200D_206E_202D_202A_202D_200B_206D_206D_200E_206F_200B_206E_202C_202D_206F_206E_202C_206C_200D_200B_202B_200F_206E_202B_202E() - { - return ImGui.GetFrameHeight(); - } - - static void _202A_200F_200E_202B_202A_202A_200B_200E_200C_202D_206B_206C_206C_202C_206E_200E_202B_202A_202C_206E_202B_200E_206A_200D_202E_206D_206B_206F_202B_200D_206E_206F_206D_206B_202A_206E_206C_206E_206C_200E_202E() - { - ImGui.Separator(); - } - - static IUiBuilder _202A_200D_206C_206F_202A_206C_206C_206F_202E_200C_206A_200D_206C_206B_200F_206E_206A_200D_200F_200B_206B_206C_202E_206B_202E_206F_200E_200F_206A_206C_206C_200F_200C_202E_206B_202A_206C_202E_200F_200E_202E(IDalamudPluginInterface P_0) - { - return P_0.UiBuilder; - } - - static IFontHandle _202C_202D_200E_200B_206F_200D_200C_202A_200C_200F_206C_200E_202E_206F_200D_202E_200D_206A_200E_206D_200C_206E_202A_206E_202A_206A_206B_206B_200C_206E_202D_200F_200E_206B_200F_200C_200E_200B_202D_206D_202E(IUiBuilder P_0) - { - return P_0.IconFontFixedWidthHandle; - } - - static IDisposable _206D_206B_206F_206D_200F_202D_206E_206A_206F_200E_200C_206D_206F_200D_202C_206B_202C_206B_202D_206C_206C_206B_202C_206E_206A_206B_200E_200C_200C_202B_202A_202E_206C_200D_206E_206A_206D_202D_206F_206F_202E(IFontHandle P_0) - { - return P_0.Push(); - } - - static ImGuiIOPtr _206B_200B_200C_206A_200E_200D_202D_206A_200F_206B_202D_200F_206A_202C_200D_202A_200B_200F_206B_200F_206F_206C_202B_202C_200C_206A_200B_200C_202E_202E_202A_202A_200D_200B_202A_206E_202C_200D_206F_200E_202E() - { - return ImGui.GetIO(); - } - - static void _206A_206F_200C_200E_200E_202A_202D_202E_202A_206C_202A_200D_202E_200D_202C_202B_200D_200B_206F_206B_202D_206B_202E_206C_202D_200D_206C_200B_202B_200F_206D_200F_206F_202A_202D_202A_200F_206B_206A_206B_202E(ImU8String P_0, ImGuiTableColumnFlags P_1, float P_2, uint P_3) - { - ImGui.TableSetupColumn(P_0, P_1, P_2, P_3); - } - - static void _202D_200E_206A_206F_206C_200C_200E_200E_206F_200F_200C_206A_206A_202E_202E_206E_206B_206C_202D_206A_206F_202C_206A_206C_200F_202B_202E_206D_206E_206F_202D_200F_206A_206D_206F_206D_200F_206F_200D_202A_202E() - { - ImGui.TableHeadersRow(); - } - - static float _202B_202D_200E_200B_206F_200D_206B_202C_202E_202C_200E_206E_206D_200D_200E_200B_202D_202A_206D_200B_206E_200C_202E_206B_202E_200D_202B_202C_206B_206B_200F_206E_200B_206C_206A_206C_200E_202B_200E_200D_202E() - { - return ImGui.GetTextLineHeightWithSpacing(); - } - - unsafe static ImGuiListClipper* _206C_206C_206A_202A_200C_202E_200F_200D_200C_200F_206E_206E_206B_206E_206A_206C_200D_206C_200E_200E_202C_200F_200E_206E_202B_206F_202A_200D_206A_202C_206F_202E_206D_202C_206C_200C_206D_206B_200C_202B_202E() - { - return ImGuiNative.ImGuiListClipper(); - } - - unsafe static void _200B_202C_206D_200C_202E_206A_202C_202B_202D_200E_202C_202E_200B_202A_202D_206A_206D_200B_200E_206B_200D_202B_200C_200D_206A_206C_206E_200E_202A_200D_206E_206D_200E_202A_202A_202B_200F_200E_202B_206F_202E(ImGuiListClipper* P_0, int P_1, float P_2) - { - ImGuiNative.Begin(P_0, P_1, P_2); - } - - static void _206C_206A_202E_200D_202A_200C_200C_200F_200F_206D_206F_206B_202E_200C_202D_200B_200D_200B_202A_206F_202B_202C_202E_200F_200F_206B_206C_206E_202D_200C_200D_202A_202C_200D_202B_202E_200B_200E_200D_206A_202E() - { - ImGui.TableNextRow(); - } - - static bool _200E_200F_200D_200E_200D_200C_206A_202B_206E_206D_202C_202B_200D_200F_202C_206E_200E_200D_206B_202D_202E_202A_202D_202C_202A_202C_200F_206F_202A_200D_202E_202B_206D_202E_206D_200C_206B_202D_202D_200E_202E() - { - return ImGui.TableNextColumn(); - } - - static float _206B_200B_202C_206B_200D_202B_200C_206D_206E_202E_206A_200B_206D_206D_200E_202A_206D_202D_200D_206C_200D_200C_206F_206A_206C_206B_206F_202C_202B_202C_206E_200D_200B_206E_200B_202B_202C_200F_206A_202E() - { - return ImGui.GetCursorPosX(); - } - - static void _202C_200E_206A_206F_200E_200F_206F_200C_202D_202D_206E_206F_200D_202D_200E_206E_206F_202E_206F_202A_206F_200F_206A_200B_202C_200E_200F_200C_202D_206E_206E_200E_202C_200D_200B_206D_200D_200D_200E_202C_202E(float P_0) - { - ImGui.SetCursorPosX(P_0); - } - - static bool _206A_200F_206E_206F_202D_202D_202E_206A_202D_200F_202D_206A_200B_202E_202E_202A_206A_200D_202D_202D_200B_200D_200E_202D_200C_206A_206E_202B_202B_200D_202C_202A_200E_206D_202C_202A_206A_206F_202C_202B_202E(ImU8String P_0, bool P_1, ImGuiSelectableFlags P_2, Vector2 P_3) - { - return ImGui.Selectable(P_0, P_1, P_2, P_3); - } - - static string _202B_200C_202C_200B_206C_206C_202D_206C_202B_200E_206A_206E_200D_200D_206C_202B_206E_206C_202B_206B_200E_200B_202B_206D_200D_206D_202A_200F_206E_200C_202E_202D_200D_202D_200F_202B_202B_206E_206B_200D_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static bool _200E_200D_206D_202B_202C_200B_202D_200F_202A_206A_206C_206E_202C_206E_202A_202D_202A_206D_202E_206D_206D_200E_206A_202E_206E_206A_200F_200B_206F_206E_200E_206A_206F_206D_206A_202B_206C_200C_200F_202A_202E(ImGuiMouseButton P_0) - { - return ImGui.IsItemClicked(P_0); - } - - static void _202B_200B_206E_206F_206B_206E_206F_202E_206A_202B_206F_202E_202D_206A_206E_200B_202D_200F_206F_206B_206F_202E_200C_202B_200F_200F_206D_200D_206A_202C_202E_200F_206D_200E_206C_202A_200E_206F_206A_206C_202E(ImU8String P_0, ImGuiPopupFlags P_1) - { - ImGui.OpenPopup(P_0, P_1); - } - - static ImRaii.PopupDisposable _200D_200D_206D_206D_202E_206F_200C_206F_202B_206A_202B_206D_202A_200F_206E_200B_206A_202D_202B_206E_202D_202C_200E_206C_206B_206C_200F_202A_206D_202A_202C_206A_206F_206E_200C_206B_202C_202E_200C_202E(ImU8String P_0) - { - return ImRaii.Popup(P_0); - } - - static bool _202C_206D_200C_202E_200F_206B_200B_202C_206A_202B_200C_202C_206A_206F_206E_206B_206E_206B_202B_200E_202D_202A_206E_206F_200F_206E_202E_206B_202E_206F_202D_206B_200F_206D_202A_206E_202C_202D_206A_206A_202E(ImU8String P_0, bool P_1, bool P_2) - { - return ImGui.MenuItem(P_0, P_1, P_2); - } - - static bool _206E_202C_206F_200F_200D_202E_206C_200D_206F_202D_202E_200C_202D_206A_206D_200E_202E_202B_206D_206D_202B_202B_206C_200D_206C_202A_200D_202D_206E_202E_206E_200C_202C_200B_206E_200E_200F_206F_200E_200C_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static bool _200D_202A_200D_200B_206C_202D_206F_202A_206E_206C_200E_206B_200B_206E_200B_206E_202B_200D_200C_202C_200D_202E_200C_202A_206E_206A_202B_206A_200E_202E_202D_202A_206F_202E_200F_200B_206E_202E_200D_206D_202E() - { - return ImGui.IsItemHovered(); - } - - static QuestId _202A_206B_206F_200C_200B_202D_200C_206B_202E_206E_200C_202D_202C_200C_206B_200D_206E_200C_206F_200D_200B_206A_206E_206F_202C_202E_206C_202B_202E_206A_200E_206C_200F_202D_200C_202D_202B_200F_202C_200D_202E(uint P_0) - { - return QuestId.FromRowId(P_0); - } - - static ImRaii.DisabledDisposable _206E_202A_200B_206D_206B_206C_206E_206E_202D_206F_206C_202C_206F_200D_202D_206D_202A_202B_206C_202B_200F_200B_206D_206C_200F_200C_206A_206A_202B_200D_206B_200F_206B_200D_202D_202A_202B_202A_202C_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static bool _200E_200D_206B_206C_202C_200F_206B_200B_206B_202C_206E_200D_206C_206C_206A_206C_200F_206A_206F_206B_202A_200C_206F_200C_206D_200D_206F_200B_200D_202E_206E_206C_206B_200E_202D_202C_206A_206A_202D_206F_202E(ImGuiHoveredFlags P_0) - { - return ImGui.IsItemHovered(P_0); - } - - static void _202D_206B_200E_200F_200D_202B_206F_206C_206C_206A_200C_206E_206B_202E_200F_206F_200F_202B_202B_202D_206D_206E_202C_200B_202C_206D_202A_202E_200F_200D_202A_206F_202C_206D_202C_202B_200D_206C_202E_200D_202E(ImU8String P_0) - { - ImGui.SetTooltip(P_0); - } - - static float _202C_200F_206E_202E_200E_202C_202C_202E_202B_206B_200B_200D_202A_206C_202D_206B_200B_206C_200F_200B_206C_206C_206D_202E_200C_200F_206D_202E_200C_200B_202E_206C_202D_206C_202D_206E_202C_200C_206D_206F_202E() - { - return ImGui.GetColumnWidth(); - } - - static bool _206C_200C_202C_206A_206D_202E_206E_202A_200B_206D_200C_200F_206B_202E_206D_206E_202E_202C_206A_206C_206D_200B_200E_202C_202E_206E_202E_206B_206A_200F_200F_202E_206D_206B_200F_206A_202B_206B_200F_206E_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.Contains(P_1, P_2); - } - - static CultureInfo _202A_200B_206B_206F_202C_200C_200E_200D_206C_202C_202A_202D_202A_200B_206A_206A_206B_202E_206B_202D_206F_202C_202B_200D_206E_206B_206A_206D_200F_206F_202E_200D_206F_202B_202A_206E_206F_200D_206F_202A_202E() - { - return CultureInfo.CurrentCulture; - } - - static string _206F_200E_206E_202C_206E_200E_206C_206A_206C_200F_202C_200D_202C_202A_206E_200F_206A_202A_202A_202E_202D_200E_200B_202B_200E_200C_202D_202C_200B_206F_202A_202A_206C_206E_200B_206A_200D_206B_202B_200E_202E(string P_0, int P_1) - { - return P_0.PadLeft(P_1); - } - - static string _202E_206B_206B_202D_202D_202B_202D_202C_202C_200D_200C_206E_202C_206B_200E_200C_200E_202A_202B_202A_206A_202A_202C_200E_202A_200E_200D_202C_206B_206E_206D_206F_200E_206B_202C_202B_206C_206A_206B_202E_202E(string P_0, int P_1) - { - return P_0.PadLeft(P_1); - } - - static IGameObject _200F_200C_202D_202D_200C_202C_202D_200E_202B_206A_206E_206D_202B_200E_200B_206E_200E_202A_202C_206F_200E_206C_200D_202B_206F_202A_202D_200B_206C_202B_206E_206A_200F_206C_202B_202E_206E_200B_206C_202D_202E(IObjectTable P_0, int P_1) - { - return P_0[P_1]; - } - - static Vector3 _200D_202E_200B_200D_202D_200B_206E_202A_206F_200D_202A_206A_206B_200D_202C_200C_200D_200B_206C_202D_202C_200D_200E_206D_202B_206F_202B_206D_200F_202B_202D_206E_206C_206F_200D_200E_202C_200F_200F_202A_202E(IGameObject P_0) - { - return P_0.Position; - } - - static PlayerNavState _206A_202A_200C_202C_200F_206D_206A_202C_206D_206B_206F_200D_206E_200C_206E_200C_206B_206E_206D_206F_202E_206A_206A_200B_200F_200C_202E_202C_200C_202A_202E_202A_202C_206B_202C_200E_202E_202C_206D_202C_202E(PlayerNavStateBuilder P_0, int? P_1) - { - return P_0.Build(P_1); - } - - static void _200D_200E_202C_206E_200E_200E_202C_200D_202C_200E_200C_200C_200F_206D_202E_202A_200F_206E_206E_202E_202A_202B_200E_206F_200F_200E_200B_202D_202A_200C_206C_200E_206E_202D_200C_200B_206D_200D_206D_202A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static RouteResult _206B_202A_206B_200D_206B_200D_202E_206D_206B_202E_206B_206D_206D_200C_200C_200C_200E_206F_200D_200F_200B_202A_200B_200D_200F_206E_202E_206B_200E_206A_206C_200D_200D_202B_200C_202D_200B_200E_206D_202E(NavRouter P_0, PlayerNavState P_1, uint P_2, Vector3 P_3, IReadOnlySet P_4) - { - return P_0.FindRoute(P_1, P_2, P_3, P_4); - } - - static IReadOnlyList _206C_202D_202D_200E_206B_202E_200B_200B_206C_206C_206E_202A_206C_200D_206A_202C_202A_206F_206A_206F_202B_200C_206B_200F_206C_200C_200E_202D_206F_202E_202E_200F_202B_200C_200F_202C_202E_202C_206F_206D_202E(RouteResult P_0) - { - return P_0.Segments; - } - - static IReadOnlyList _206C_200D_202E_206F_206F_206E_206F_206D_202B_206B_206E_202C_200B_206E_202D_200C_202C_202C_202B_202B_200B_206E_206E_202B_206A_206C_206A_200B_202C_200B_206B_202C_202D_200D_202E_202B_206B_200E_206E_202D_202E(RouteInstructionBuilder P_0, RouteResult P_1, uint P_2, bool P_3) - { - return P_0.Build(P_1, P_2, P_3); - } - - static uint _206A_200D_200E_206F_200E_206A_206E_202B_202A_206A_202A_206F_206B_206D_206B_200C_200C_202B_206D_206B_202A_206C_206A_206E_206D_200C_202B_200C_200F_200C_206A_202E_202C_202A_200E_206A_200D_206D_206C_202B_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static int _206C_200C_200B_206C_202E_202B_206D_206C_202A_206C_206A_200D_206A_206F_206D_200C_200F_200D_202D_206D_200F_202C_202B_206C_202E_202E_202B_206A_206D_206C_202D_200B_200D_206A_200F_206A_200D_200F_200B_206E_202E(string P_0) - { - return P_0.Length; + RouteResult routeResult = _navRouter.FindRoute(playerNavState, territoryId, position); + List list = new List(); + if (routeResult.Segments.Count > 0) + { + list.AddRange(_taskMapper.MapInstructions(_instructionBuilder.Build(routeResult, territoryId))); + } + else if (_clientState.TerritoryType != territoryId) + { + _logger.LogWarning("No route found to territory {TerritoryId} for {Target}, aborting", territoryId, targetName); + return; + } + list.Add(new MoveTask(territoryId, position, null, MountRequired: false, DismountRequired: false, 3f)); + list.Add(new Questionable.Controller.Steps.Common.Mount.UnmountTask()); + list.Add(attuneTask); + _attunementController.Start(targetName, list); } } diff --git a/Questionable/Questionable.Windows.JournalComponents/CustomDeliveryJournalComponent.cs b/Questionable/Questionable.Windows.JournalComponents/CustomDeliveryJournalComponent.cs index 48969c0..7790a23 100644 --- a/Questionable/Questionable.Windows.JournalComponents/CustomDeliveryJournalComponent.cs +++ b/Questionable/Questionable.Windows.JournalComponents/CustomDeliveryJournalComponent.cs @@ -1,11 +1,8 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; -using Dalamud.Configuration; using Dalamud.Interface; using Dalamud.Interface.Utility.Raii; using Dalamud.Plugin; @@ -27,32 +24,11 @@ namespace Questionable.Windows.JournalComponents; internal sealed class CustomDeliveryJournalComponent { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass33_0 - { - public QuestId questId; - - internal bool _003CDrawNpcSection_003Eb__0(Questionable.Model.Quest q) - { - return _202C_200C_202B_200C_206D_206C_206F_206A_200D_206D_200F_202A_202B_206F_202A_202C_200F_206A_202A_202E_202D_200C_206E_206C_200D_206D_202E_202A_202B_206B_200B_206C_206E_206B_200D_206C_206D_202B_202E(q.Id, (ElementId)questId); - } - - static bool _202C_200C_202B_200C_206D_206C_206F_206A_200D_206D_200F_202A_202B_206F_202A_202C_200F_206A_202A_202E_202D_200C_206E_206C_200D_206D_202E_202A_202B_206B_200B_206C_206E_206B_200D_206C_206D_202B_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - } - private const int WeeklyAllowanceLimit = 12; private const int DeliveriesPerWeek = 6; - private static readonly string[] SlotLabels = new string[3] - { - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1546741505), - 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(-1787754537), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(591834367) - }; + private static readonly string[] SlotLabels = new string[3] { "Craft", "Gather", "Fish" }; private static readonly EDeliverySlot[] Slots = new EDeliverySlot[3] { @@ -61,33 +37,33 @@ internal sealed class CustomDeliveryJournalComponent EDeliverySlot.Fish }; - private static readonly string[] JobModeNames = new string[2] + private static readonly string[] JobModeNames = new string[2] { "Preferred", "Current Job" }; + + private static readonly string[] CrafterNames = new string[8] { "Carpenter", "Blacksmith", "Armorer", "Goldsmith", "Leatherworker", "Weaver", "Alchemist", "Culinarian" }; + + private static readonly EClassJob[] CrafterJobs = new EClassJob[8] { - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1758491554), - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2088550031) + EClassJob.Carpenter, + EClassJob.Blacksmith, + EClassJob.Armorer, + EClassJob.Goldsmith, + EClassJob.Leatherworker, + EClassJob.Weaver, + EClassJob.Alchemist, + EClassJob.Culinarian }; - private static readonly string[] CrafterNames = new string[8] + private static readonly string[] GathererNames = new string[2] { "Miner", "Botanist" }; + + private static readonly EClassJob[] GathererJobs = new EClassJob[2] { - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1066230618), - 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(715786355), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1778691794), - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-346963292), - 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(-78338836), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(469033233), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-967072851), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1854423174) + EClassJob.Miner, + EClassJob.Botanist }; - private static readonly EClassJob[] CrafterJobs; + private static readonly string[] OvercapModeNames = new string[3] { "Ignore", "Cap", "Block" }; - private static readonly string[] GathererNames; - - private static readonly EClassJob[] GathererJobs; - - private static readonly string[] OvercapModeNames; - - private static readonly string[] CollectabilityTierNames; + private static readonly string[] CollectabilityTierNames = new string[3] { "High", "Mid", "Low" }; private readonly QuestController _questController; @@ -101,6 +77,8 @@ internal sealed class CustomDeliveryJournalComponent private readonly DeliveryPlannerService _plannerService; + private readonly CustomDeliveryNpcData _customDeliveryNpcData; + private readonly SatisfactionSupplyHelper _supplyHelper; private readonly DeliveryRewardCalculator _rewardCalculator; @@ -119,11 +97,11 @@ internal sealed class CustomDeliveryJournalComponent private readonly ILogger _logger; - private List>? _npcsByExpansion; + private List>? _npcsByExpansion; private readonly Dictionary _npcHeaderStates = new Dictionary(); - public CustomDeliveryJournalComponent(QuestController questController, CustomDeliveryController customDeliveryController, FateController fateController, SeasonalDutyController seasonalDutyController, AttunementController attunementController, DeliveryPlannerService plannerService, SatisfactionSupplyHelper supplyHelper, DeliveryRewardCalculator rewardCalculator, QuestRegistry questRegistry, QuestTooltipComponent questTooltip, QuestData questData, Configuration configuration, IDalamudPluginInterface pluginInterface, IDataManager dataManager, ILogger logger) + public CustomDeliveryJournalComponent(QuestController questController, CustomDeliveryController customDeliveryController, FateController fateController, SeasonalDutyController seasonalDutyController, AttunementController attunementController, DeliveryPlannerService plannerService, CustomDeliveryNpcData customDeliveryNpcData, SatisfactionSupplyHelper supplyHelper, DeliveryRewardCalculator rewardCalculator, QuestRegistry questRegistry, QuestTooltipComponent questTooltip, QuestData questData, Configuration configuration, IDalamudPluginInterface pluginInterface, IDataManager dataManager, ILogger logger) { _questController = questController; _customDeliveryController = customDeliveryController; @@ -131,6 +109,7 @@ internal sealed class CustomDeliveryJournalComponent _seasonalDutyController = seasonalDutyController; _attunementController = attunementController; _plannerService = plannerService; + _customDeliveryNpcData = customDeliveryNpcData; _supplyHelper = supplyHelper; _rewardCalculator = rewardCalculator; _questRegistry = questRegistry; @@ -142,1852 +121,611 @@ internal sealed class CustomDeliveryJournalComponent _logger = logger; } - [MethodImpl(MethodImplOptions.NoInlining)] public void DrawCustomDeliveries() { DrawWeeklyAllowanceBar(); List deliveryQueue = _configuration.CustomDeliveries.DeliveryQueue; - int num; if (deliveryQueue.Count > 0) { - num = 1894687875; - int num7; - while (true) + ImGui.SameLine(); + using (ImRaii.Disabled(_customDeliveryController.IsRunning || _questController.IsRunning || _fateController.IsRunning || _seasonalDutyController.IsRunning || _attunementController.IsRunning)) { - int num2 = num; - int num3 = 1894687878; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Play, $"Start Queue ({deliveryQueue.Count})")) { - default: - continue; - case 6: - num = (_seasonalDutyController.IsRunning ? 1894687877 : 1894687874); - continue; - case 1: - num = (_fateController.IsRunning ? 1894687877 : 1894687872); - continue; - case 5: - _200C_200D_202C_200E_200B_202C_200B_200B_206D_200C_206B_200B_202B_202B_202E_206B_200E_202C_206B_202E_206C_200E_200C_202D_206C_206F_202C_206F_200B_202C_200F_200F_200E_200C_206D_206A_206C_206B_206B_202E(); - num = (_customDeliveryController.IsRunning ? 1894687877 : 1894687878); - continue; - case 0: - num = (_questController.IsRunning ? 1894687877 : 1894687879); - continue; - case 4: - num7 = (_attunementController.IsRunning ? 1 : 0); - break; - case 2: - num = 1894687875; - continue; - case 3: - num7 = 1; - break; - } - break; - } - ImRaii.DisabledDisposable disabledDisposable = _200F_206F_202D_206B_206F_200E_200E_206B_202C_202C_206B_206B_200D_206E_202B_202E_200B_200D_200E_206C_200F_206C_206A_206A_206F_202D_200E_202E_200C_202E_206D_202E_202D_202B_206D_206A_202D_200C_200E_202E_202E((byte)num7 != 0); - try - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(14, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1274998743)); - defaultInterpolatedStringHandler.AppendFormatted(deliveryQueue.Count); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Play, defaultInterpolatedStringHandler.ToStringAndClear())) ? 1903583856 : 1903583857); - while (true) - { - int num8 = num; - int num3 = 1903583856; - int num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 2: - num = 1903583857; - break; - case 1: - _questController.Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2138710865)); - _fateController.Stop(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(947038429)); - _seasonalDutyController.Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1317773140)); - _attunementController.Stop(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(243231760)); - _customDeliveryController.StartQueue(); - num = 1903583856; - break; - case 0: - goto end_IL_01a6; - } - continue; - end_IL_01a6: - break; - } - } - finally - { - num = ((disabledDisposable == null) ? (-1507641474) : (-1507641475)); - while (true) - { - int num11 = num; - int num3 = -1507641476; - int num4 = num11; - int num12 = num4 + num3; - int num13 = num4 & num3; - switch (num12 - (num13 + num13)) - { - case 0: - num = -1507641475; - break; - case 2: - goto end_IL_026f; - case 1: - _206B_200B_206F_206C_202B_206E_206E_200F_202C_206B_200D_200C_206E_206A_206C_200C_202B_202E_202B_202A_200D_206F_200F_200B_206A_206D_200D_206F_200C_202C_200F_206D_200E_206F_202E_206F_200C_202A_206C_206A_202E((IDisposable)disabledDisposable); - num = -1507641474; - break; - } - continue; - end_IL_026f: - break; + _questController.Stop("Custom delivery queue start"); + _fateController.Stop("Custom delivery queue start"); + _seasonalDutyController.Stop("Custom delivery queue start"); + _attunementController.Stop("Custom delivery queue start"); + _customDeliveryController.StartQueue(); } } } - _206B_202C_206C_206E_200E_206E_206A_200D_200D_202C_202E_206D_200C_200C_202E_206B_200D_200B_200D_202B_200E_202B_202E_200C_202C_200F_202D_206E_200B_206C_206F_200C_202D_206D_206A_202C_206F_202B_202C_202D_202E(); - _200D_202D_200F_200C_206C_202B_200F_202A_206C_206D_206F_206F_206C_200D_206C_202C_206E_206B_200E_206D_206B_206C_202E_200F_202D_200C_206D_202A_206E_202D_200F_200D_200D_200C_200E_200F_202D_200E_206F_206E_202E(); + ImGui.Separator(); + ImGui.Spacing(); DrawBonusNpcCallout(); DrawJobSelectionSettings(); - _200D_202D_200F_200C_206C_202B_200F_202A_206C_206D_206F_206F_206C_200D_206C_202C_206E_206B_200E_206D_206B_206C_202E_200F_202D_200C_206D_202A_206E_202D_200F_200D_200D_200C_200E_200F_202D_200E_206F_206E_202E(); - List> list = _npcsByExpansion ?? (_npcsByExpansion = (from x in _questData.AllQuests.Values.OfType() + ImGui.Spacing(); + List> list = _npcsByExpansion ?? (_npcsByExpansion = (from x in _customDeliveryNpcData.AllNpcs group x by x.Expansion into g orderby (int)g.Key select g).ToList()); - num = ((list.Count != 0) ? 1578901953 : 1578901954); - while (true) + if (list.Count == 0) { - int num14 = num; - int num3 = 1578901955; - int num4 = num14; - int num15 = num4 + num3; - int num16 = num4 & num3; - switch (num15 - (num16 + num16)) + ImGui.TextColored(in UiThemeUtils.MutedTextColor, "No custom delivery NPCs found."); + return; + } + foreach (IGrouping item in list) + { + UiThemeUtils.SubSectionHeader(GetExpansionName(item.Key)); + ImGui.Spacing(); + foreach (CustomDeliveryNpc item2 in item.OrderBy((CustomDeliveryNpc x) => x.NpcRowId)) { - case 0: - goto IL_03a9; - case 1: - _200C_206E_200B_206E_200C_202B_206A_202A_200B_206D_206C_200E_206F_206A_206D_206D_202B_206B_206C_206F_200E_202A_200E_206C_202C_200D_206C_202E_206C_202A_206D_206C_206B_206A_202D_206D_206E_202B_206E_200F_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)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(-150190344)); - return; - case 2: - { - foreach (IGrouping item in list) - { - UiThemeUtils.SubSectionHeader(GetExpansionName(item.Key)); - _200D_202D_200F_200C_206C_202B_200F_202A_206C_206D_206F_206F_206C_200D_206C_202C_206E_206B_200E_206D_206B_206C_202E_200F_202D_200C_206D_202A_206E_202D_200F_200D_200D_200C_200E_200F_202D_200E_206F_206E_202E(); - IEnumerator enumerator2 = item.OrderBy((SatisfactionSupplyInfo x) => x.SortKey).GetEnumerator(); - try - { - num = -1162577959; - while (true) - { - int num17 = num; - num3 = -1162577958; - num4 = num17; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1162577959; - break; - case 2: - { - SatisfactionSupplyInfo current2 = enumerator2.Current; - int npcIndex = _206F_202B_206A_202C_202E_200F_200E_202A_200E_206B_206B_200C_206B_200C_206F_200F_202B_200F_206E_202C_206B_206C_202A_206F_200C_202C_202D_200D_206D_206B_202D_206F_206B_200C_206B_200C_206B_202E_206C_202A_202E((ElementId)(SatisfactionSupplyNpcId)current2.QuestId) - 1; - DrawNpcSection(current2, npcIndex); - num = -1162577959; - break; - } - case 3: - num = (_200C_200F_206C_200F_200E_206D_206F_206D_206D_206A_202B_206C_200B_206B_206A_206E_200E_206D_206B_202E_200E_206F_200E_202E_202A_200C_200B_200F_202E_206B_206F_202C_206F_200B_202D_206E_202B_200E_206A_206E_202E((IEnumerator)enumerator2) ? (-1162577960) : (-1162577957)); - break; - case 1: - goto end_IL_0432; - } - continue; - end_IL_0432: - break; - } - } - finally - { - num = ((enumerator2 == null) ? (-1577618023) : (-1577618024)); - while (true) - { - int num18 = num; - num3 = -1577618023; - num4 = num18; - int num19 = num4 + num3; - int num20 = num4 & num3; - switch (num19 - (num20 + num20)) - { - case 2: - num = -1577618024; - break; - case 1: - _206B_200B_206F_206C_202B_206E_206E_200F_202C_206B_200D_200C_206E_206A_206C_200C_202B_202E_202B_202A_200D_206F_200F_200B_206A_206D_200D_206F_200C_202C_200F_206D_200E_206F_202E_206F_200C_202A_206C_206A_202E((IDisposable)enumerator2); - num = -1577618023; - break; - case 0: - goto end_IL_04ea; - } - continue; - end_IL_04ea: - break; - } - } - _200D_202D_200F_200C_206C_202B_200F_202A_206C_206D_206F_206F_206C_200D_206C_202C_206E_206B_200E_206D_206B_206C_202E_200F_202D_200C_206D_202A_206E_202D_200F_200D_200D_200C_200E_200F_202D_200E_206F_206E_202E(); - } - return; + DrawNpcSection(item2, item2.NpcIndex); } - } - continue; - IL_03a9: - num = 1578901954; + ImGui.Spacing(); } } - [MethodImpl(MethodImplOptions.NoInlining)] private static void DrawWeeklyAllowanceBar() { - int num = _206D_202A_200F_206F_200C_202E_202C_202D_206E_200D_200C_202B_206F_200D_200B_202E_200F_202D_200C_202E_202A_206C_200B_202E_202B_202D_202D_200C_200D_206F_206C_206E_200C_202D_206D_206B_200E_206D_206B_200D_202E(); - int num2 = num; - int num3 = 12; - int num4 = ~(~num3 + num2); + int remainingAllowances = SatisfactionSupplyActions.GetRemainingAllowances(); + int num = 12 - remainingAllowances; TimeSpan item = CalculateWeeklyReset().TimeUntilReset; - string unit = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-684269491); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(55, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-953518964)); - defaultInterpolatedStringHandler.AppendFormatted(num4); - JournalUiShared.DrawAllowanceHeader(num4, 12, unit, item, defaultInterpolatedStringHandler.ToStringAndClear()); + JournalUiShared.DrawAllowanceHeader(num, 12, "weekly allowances", item, $"Shared across all custom delivery NPCs\nUsed this week: {num}"); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawBonusNpcCallout() { - byte b = _206E_200B_200C_206D_200E_202A_206D_206E_206A_206C_206D_206D_200D_200D_202B_202D_202B_206C_202D_206C_206F_206D_206A_200B_202C_200F_202E_200D_202E_206A_202A_206A_202C_200F_206E_200B_206A_206D_206A_200D_202E(); - int num = ((b != byte.MaxValue) ? (-653921244) : (-653921245)); - IQuestInfo questInfo = default(IQuestInfo); - int num8 = default(int); - SatisfactionBonusGuarantee row = default(SatisfactionBonusGuarantee); - while (true) + byte b = SatisfactionSupplyActions.GetBonusGuaranteeRowId(); + if (b == byte.MaxValue) { - int num2 = num; - int num3 = -653921248; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + int timestamp = (int)DateTimeOffset.UtcNow.ToUnixTimeSeconds(); + int num = _supplyHelper.CalculateBonusGuaranteeIndex(timestamp); + if (num < 0 || !_dataManager.GetExcelSheet().TryGetRow((uint)num, out var row)) { - case 2: - num = -653921245; - break; - case 8: - _200C_206E_200B_206E_200C_202B_206A_202A_200B_206D_206C_200E_206F_206A_206D_206D_202B_206B_206C_206F_200E_202A_200E_206C_202C_200D_206C_202E_206C_202A_206D_206C_206B_206A_202D_206D_206E_202B_206E_200F_202E(ref UiThemeUtils.DimTextColor, (ImU8String)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(-1035390078)); - _200D_202E_202B_202B_202A_200B_206B_206E_206A_200B_202D_202E_206F_200E_200D_202C_206C_202D_202E_202B_200B_202B_200E_200B_202B_202E_202D_206C_206F_200B_202A_206F_206B_200D_206C_202C_206F_200D_202C_200E_202E(0f, 4f); - _200C_206E_200B_206E_200C_202B_206A_202A_200B_206D_206C_200E_206F_206A_206D_206D_202B_206B_206C_206F_200E_202A_200E_206C_202C_200D_206C_202E_206C_202A_206D_206C_206B_206A_202D_206D_206E_202B_206E_200F_202E(ref UiThemeUtils.AccentColor, (ImU8String)questInfo.Name); - _200D_202D_200F_200C_206C_202B_200F_202A_206C_206D_206F_206F_206C_200D_206C_202C_206E_206B_200E_206D_206B_206C_202E_200F_202D_200C_206D_202A_206E_202D_200F_200D_200D_200C_200E_200F_202D_200E_206F_206E_202E(); return; - case 3: - { - int num7 = (int)DateTimeOffset.UtcNow.ToUnixTimeSeconds(); - num8 = _200C_200B_200D_202C_206D_202C_200D_206E_202A_206E_200E_206B_206A_202A_202B_200D_206A_206E_200E_200D_206F_202D_200C_202C_200C_202A_200D_200F_200F_200B_200B_206F_206D_202C_200E_206F_200F_206D_202B_202D_202E(_supplyHelper, num7); - num = ((num8 >= 0) ? (-653921241) : (-653921248)); - break; - } - case 6: - return; - case 1: - return; - case 0: - return; - case 7: - num = (_dataManager.GetExcelSheet().TryGetRow((uint)num8, out row) ? (-653921243) : (-653921242)); - break; - case 4: - { - SatisfactionSupplyNpcId elementId = _200E_202B_206E_202E_202C_206D_200B_206D_206B_206E_206A_206D_202A_206C_202E_200E_200C_202D_206B_206B_202B_206A_200F_200B_200B_206D_206C_202E_206C_202B_206A_206D_206F_206B_200F_206E_202B_200B_200D_200E_202E((ushort)b); - num = (_questData.TryGetQuestInfo(elementId, out questInfo) ? (-653921240) : (-653921247)); - break; - } - case 5: - b = (byte)row.RowId; - num = -653921244; - break; } + b = (byte)row.RowId; + } + if (_customDeliveryNpcData.TryGetByRowId(b, out CustomDeliveryNpc npc)) + { + ImGui.TextColored(in UiThemeUtils.DimTextColor, "Bonus this week: "); + ImGui.SameLine(0f, 4f); + ImGui.TextColored(in UiThemeUtils.AccentColor, npc.Name); + ImGui.Spacing(); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawJobSelectionSettings() { Configuration.CustomDeliveryConfiguration customDeliveries = _configuration.CustomDeliveries; - UiThemeUtils.SectionHeader(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-338851739)); + UiThemeUtils.SectionHeader("Job Preferences"); var (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); - _206B_202D_200D_200F_200B_206B_206C_200E_206A_206A_206E_202A_200B_206B_206B_206B_200F_206F_206E_202D_200D_206F_206B_206F_202C_206A_202C_200F_200D_206E_200F_200D_200D_206F_206F_200F_206A_200C_206A_200D_202E(_206C_200C_206C_200D_206D_200F_202C_202A_202D_206E_206D_206C_200B_202D_202A_200B_206F_202D_200B_202A_200C_206D_202E_206E_206D_202A_206C_200B_200D_206B_206D_202D_202E_202C_200C_206F_200D_202D_202E_202E_202E(_202E_202A_206C_202A_206E_200F_200B_200B_200D_202C_206B_206D_206A_200C_200D_202E_206C_200B_202D_202A_206A_202E_202D_200B_206C_206D_206B_206A_200D_206A_202E_202C_202B_206B_202D_200E_202D_206F_202A_202B_202E().X * 0.4f, 150f)); + ImGui.SetNextItemWidth(MathF.Min(ImGui.GetContentRegionAvail().X * 0.4f, 150f)); int currentItem = (int)customDeliveries.CraftJobMode; - int num = ((!UiThemeUtils.ThemedCombo(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(971064530), ref currentItem, JobModeNames, JobModeNames.Length)) ? 1534487448 : 1534487447); - int currentItem4 = default(int); - int currentItem3 = default(int); - int currentItem6 = default(int); - int currentItem2 = default(int); - int currentItem5 = default(int); - while (true) + if (UiThemeUtils.ThemedCombo("Crafter", ref currentItem, JobModeNames, JobModeNames.Length)) { - int num2 = num; - int num3 = 1534487451; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 20: - _206B_202D_200D_200F_200B_206B_206C_200E_206A_206A_206E_202A_200B_206B_206B_206B_200F_206F_206E_202D_200D_206F_206B_206F_202C_206A_202C_200F_200D_206E_200F_200D_200D_206F_206F_200F_206A_200C_206A_200D_202E(_206C_200C_206C_200D_206D_200F_202C_202A_202D_206E_206D_206C_200B_202D_202A_200B_206F_202D_200B_202A_200C_206D_202E_206E_206D_202A_206C_200B_200D_206B_206D_202D_202E_202C_200C_206F_200D_202D_202E_202E_202E(_202E_202A_206C_202A_206E_200F_200B_200B_200D_202C_206B_206D_206A_200C_200D_202E_206C_200B_202D_202A_206A_202E_202D_200B_206C_206D_206B_206A_200D_206A_202E_202C_202B_206B_202D_200E_202D_206F_202A_202B_202E().X * 0.4f, 150f)); - currentItem4 = (int)customDeliveries.ScripOvercapMode; - num = ((!UiThemeUtils.ThemedCombo(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1574243439), ref currentItem4, OvercapModeNames, OvercapModeNames.Length)) ? 1534487443 : 1534487435); - break; - case 16: - customDeliveries.ScripOvercapMode = (Configuration.CustomDeliveryConfiguration.EScripOvercapMode)currentItem4; - _206A_202D_200C_200B_202B_206B_206C_206D_202E_206B_202E_202D_206C_206B_202E_200C_200D_202E_206F_200C_202A_202D_200D_202D_206F_206C_206A_202B_202D_200D_202D_202C_200F_206B_206C_200C_202B_200E_206E_202E_202E(_pluginInterface, (IPluginConfiguration)_configuration); - num = 1534487443; - break; - case 18: - customDeliveries.PreferredCraftJob = CrafterJobs[currentItem3]; - _206A_202D_200C_200B_202B_206B_206C_206D_202E_206B_202E_202D_206C_206B_202E_200C_200D_202E_206F_200C_202A_202D_200D_202D_206F_206C_206A_202B_202D_200D_202D_202C_200F_206B_206C_200C_202B_200E_206E_202E_202E(_pluginInterface, (IPluginConfiguration)_configuration); - num = 1534487445; - break; - case 10: - num = ((!_200B_206D_206C_206B_200B_202D_202A_200B_206C_202E_206F_200B_200F_200C_200E_202D_200C_206A_206C_206D_200B_206B_202D_200B_202D_202E_202B_200D_200B_202C_202D_200D_206B_206F_200D_200F_206B_202C_202B_206E_202E()) ? 1534487434 : 1534487453); - break; - case 14: - _206B_202D_200D_200F_200B_206B_206C_200E_206A_206A_206E_202A_200B_206B_206B_206B_200F_206F_206E_202D_200D_206F_206B_206F_202C_206A_202C_200F_200D_206E_200F_200D_200D_206F_206F_200F_206A_200C_206A_200D_202E(_206C_200C_206C_200D_206D_200F_202C_202A_202D_206E_206D_206C_200B_202D_202A_200B_206F_202D_200B_202A_200C_206D_202E_206E_206D_202A_206C_200B_200D_206B_206D_202D_202E_202C_200C_206F_200D_202D_202E_202E_202E(_202E_202A_206C_202A_206E_200F_200B_200B_200D_202C_206B_206D_206A_200C_200D_202E_206C_200B_202D_202A_206A_202E_202D_200B_206C_206D_206B_206A_200D_206A_202E_202C_202B_206B_202D_200E_202D_206F_202A_202B_202E().X * 0.4f, 150f)); - currentItem6 = (int)customDeliveries.GatherJobMode; - num = ((!UiThemeUtils.ThemedCombo(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(637808228), ref currentItem6, JobModeNames, JobModeNames.Length)) ? 1534487440 : 1534487449); - break; - case 12: - customDeliveries.CraftJobMode = (Configuration.CustomDeliveryConfiguration.EJobSelectionMode)currentItem; - _206A_202D_200C_200B_202B_206B_206C_206D_202E_206B_202E_202D_206C_206B_202E_200C_200D_202E_206F_200C_202A_202D_200D_202D_206F_206C_206A_202B_202D_200D_202D_202C_200F_206B_206C_200C_202B_200E_206E_202E_202E(_pluginInterface, (IPluginConfiguration)_configuration); - num = 1534487448; - break; - case 9: - _202A_206C_202B_200F_206C_200B_200D_202A_206C_206A_200D_206F_200E_202E_202D_200F_200B_206E_206C_206C_200F_200E_206A_200E_202B_202B_202C_206C_206E_206B_202A_200C_206E_200E_200B_200C_200B_202C_200E_206B_202E((ImU8String)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(2066372464)); - num = 1534487432; - break; - case 15: - num = 1534487447; - break; - case 6: - _202A_206C_202B_200F_206C_200B_200D_202A_206C_206A_200D_206F_200E_202E_202D_200F_200B_206E_206C_206C_200F_200E_206A_200E_202B_202B_202C_206C_206E_206B_202A_200C_206E_200E_200B_200C_200B_202C_200E_206B_202E((ImU8String)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(-871682856)); - num = 1534487434; - break; - case 11: - _200C_200D_202C_200E_200B_202C_200B_200B_206D_200C_206B_200B_202B_202B_202E_206B_200E_202C_206B_202E_206C_200E_200C_202D_206C_206F_202C_206F_200B_202C_200F_200F_200E_200C_206D_206A_206C_206B_206B_202E(); - _206B_202D_200D_200F_200B_206B_206C_200E_206A_206A_206E_202A_200B_206B_206B_206B_200F_206F_206E_202D_200D_206F_206B_206F_202C_206A_202C_200F_200D_206E_200F_200D_200D_206F_206F_200F_206A_200C_206A_200D_202E(_206C_200C_206C_200D_206D_200F_202C_202A_202D_206E_206D_206C_200B_202D_202A_200B_206F_202D_200B_202A_200C_206D_202E_206E_206D_202A_206C_200B_200D_206B_206D_202D_202E_202C_200C_206F_200D_202D_202E_202E_202E(_202E_202A_206C_202A_206E_200F_200B_200B_200D_202C_206B_206D_206A_200C_200D_202E_206C_200B_202D_202A_206A_202E_202D_200B_206C_206D_206B_206A_200D_206A_202E_202C_202B_206B_202D_200E_202D_206F_202A_202B_202E().X, 150f)); - currentItem2 = Array.IndexOf(GathererJobs, customDeliveries.PreferredGatherJob); - num = ((currentItem2 >= 0) ? 1534487455 : 1534487454); - break; - case 0: - customDeliveries.PreferredGatherJob = GathererJobs[currentItem2]; - _206A_202D_200C_200B_202B_206B_206C_206D_202E_206B_202E_202D_206C_206B_202E_200C_200D_202E_206F_200C_202A_202D_200D_202D_206F_206C_206A_202B_202D_200D_202D_202C_200F_206B_206C_200C_202B_200E_206E_202E_202E(_pluginInterface, (IPluginConfiguration)_configuration); - num = 1534487439; - break; - case 4: - num = ((!UiThemeUtils.ThemedCombo(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(230575598), ref currentItem2, GathererNames, GathererNames.Length)) ? 1534487439 : 1534487451); - break; - case 19: - _206B_202D_200D_200F_200B_206B_206C_200E_206A_206A_206E_202A_200B_206B_206B_206B_200F_206F_206E_202D_200D_206F_206B_206F_202C_206A_202C_200F_200D_206E_200F_200D_200D_206F_206F_200F_206A_200C_206A_200D_202E(_206C_200C_206C_200D_206D_200F_202C_202A_202D_206E_206D_206C_200B_202D_202A_200B_206F_202D_200B_202A_200C_206D_202E_206E_206D_202A_206C_200B_200D_206B_206D_202D_202E_202C_200C_206F_200D_202D_202E_202E_202E(_202E_202A_206C_202A_206E_200F_200B_200B_200D_202C_206B_206D_206A_200C_200D_202E_206C_200B_202D_202A_206A_202E_202D_200B_206C_206D_206B_206A_200D_206A_202E_202C_202B_206B_202D_200E_202D_206F_202A_202B_202E().X * 0.4f, 150f)); - currentItem5 = (int)customDeliveries.CollectabilityTier; - num = ((!UiThemeUtils.ThemedCombo(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(360535167), ref currentItem5, CollectabilityTierNames, CollectabilityTierNames.Length)) ? 1534487441 : 1534487450); - break; - case 5: - currentItem2 = 0; - num = 1534487455; - break; - case 2: - customDeliveries.GatherJobMode = (Configuration.CustomDeliveryConfiguration.EJobSelectionMode)currentItem6; - _206A_202D_200C_200B_202B_206B_206C_206D_202E_206B_202E_202D_206C_206B_202E_200C_200D_202E_206F_200C_202A_202D_200D_202D_206F_206C_206A_202B_202D_200D_202D_202C_200F_206B_206C_200C_202B_200E_206E_202E_202E(_pluginInterface, (IPluginConfiguration)_configuration); - num = 1534487440; - break; - case 1: - customDeliveries.CollectabilityTier = (Configuration.CustomDeliveryConfiguration.ECollectabilityTier)currentItem5; - _206A_202D_200C_200B_202B_206B_206C_206D_202E_206B_202E_202D_206C_206B_202E_200C_200D_202E_206F_200C_202A_202D_200D_202D_206F_206C_206A_202B_202D_200D_202D_202C_200F_206B_206C_200C_202B_200E_206E_202E_202E(_pluginInterface, (IPluginConfiguration)_configuration); - num = 1534487441; - break; - case 17: - UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); - return; - case 7: - currentItem3 = 0; - num = 1534487446; - break; - case 3: - _200C_200D_202C_200E_200B_202C_200B_200B_206D_200C_206B_200B_202B_202B_202E_206B_200E_202C_206B_202E_206C_200E_200C_202D_206C_206F_202C_206F_200B_202C_200F_200F_200E_200C_206D_206A_206C_206B_206B_202E(); - _206B_202D_200D_200F_200B_206B_206C_200E_206A_206A_206E_202A_200B_206B_206B_206B_200F_206F_206E_202D_200D_206F_206B_206F_202C_206A_202C_200F_200D_206E_200F_200D_200D_206F_206F_200F_206A_200C_206A_200D_202E(_206C_200C_206C_200D_206D_200F_202C_202A_202D_206E_206D_206C_200B_202D_202A_200B_206F_202D_200B_202A_200C_206D_202E_206E_206D_202A_206C_200B_200D_206B_206D_202D_202E_202C_200C_206F_200D_202D_202E_202E_202E(_202E_202A_206C_202A_206E_200F_200B_200B_200D_202C_206B_206D_206A_200C_200D_202E_206C_200B_202D_202A_206A_202E_202D_200B_206C_206D_206B_206A_200D_206A_202E_202C_202B_206B_202D_200E_202D_206F_202A_202B_202E().X, 150f)); - currentItem3 = Array.IndexOf(CrafterJobs, customDeliveries.PreferredCraftJob); - num = ((currentItem3 >= 0) ? 1534487446 : 1534487452); - break; - case 13: - num = ((!UiThemeUtils.ThemedCombo(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(-1920589812), ref currentItem3, CrafterNames, CrafterNames.Length)) ? 1534487445 : 1534487433); - break; - case 8: - num = ((!_200B_206D_206C_206B_200B_202D_202A_200B_206C_202E_206F_200B_200F_200C_200E_202D_200C_206A_206C_206D_200B_206B_202D_200B_202D_202E_202B_200D_200B_202C_202D_200D_206B_206F_200D_200F_206B_202C_202B_206E_202E()) ? 1534487432 : 1534487442); - break; - } + customDeliveries.CraftJobMode = (Configuration.CustomDeliveryConfiguration.EJobSelectionMode)currentItem; + _pluginInterface.SavePluginConfig(_configuration); } + ImGui.SameLine(); + ImGui.SetNextItemWidth(MathF.Min(ImGui.GetContentRegionAvail().X, 150f)); + int currentItem2 = Array.IndexOf(CrafterJobs, customDeliveries.PreferredCraftJob); + if (currentItem2 < 0) + { + currentItem2 = 0; + } + if (UiThemeUtils.ThemedCombo("##CrafterJob", ref currentItem2, CrafterNames, CrafterNames.Length)) + { + customDeliveries.PreferredCraftJob = CrafterJobs[currentItem2]; + _pluginInterface.SavePluginConfig(_configuration); + } + ImGui.SetNextItemWidth(MathF.Min(ImGui.GetContentRegionAvail().X * 0.4f, 150f)); + int currentItem3 = (int)customDeliveries.GatherJobMode; + if (UiThemeUtils.ThemedCombo("Gatherer", ref currentItem3, JobModeNames, JobModeNames.Length)) + { + customDeliveries.GatherJobMode = (Configuration.CustomDeliveryConfiguration.EJobSelectionMode)currentItem3; + _pluginInterface.SavePluginConfig(_configuration); + } + ImGui.SameLine(); + ImGui.SetNextItemWidth(MathF.Min(ImGui.GetContentRegionAvail().X, 150f)); + int currentItem4 = Array.IndexOf(GathererJobs, customDeliveries.PreferredGatherJob); + if (currentItem4 < 0) + { + currentItem4 = 0; + } + if (UiThemeUtils.ThemedCombo("##GathererJob", ref currentItem4, GathererNames, GathererNames.Length)) + { + customDeliveries.PreferredGatherJob = GathererJobs[currentItem4]; + _pluginInterface.SavePluginConfig(_configuration); + } + ImGui.SetNextItemWidth(MathF.Min(ImGui.GetContentRegionAvail().X * 0.4f, 150f)); + int currentItem5 = (int)customDeliveries.ScripOvercapMode; + if (UiThemeUtils.ThemedCombo("Scrip Overcap", ref currentItem5, OvercapModeNames, OvercapModeNames.Length)) + { + customDeliveries.ScripOvercapMode = (Configuration.CustomDeliveryConfiguration.EScripOvercapMode)currentItem5; + _pluginInterface.SavePluginConfig(_configuration); + } + if (ImGui.IsItemHovered()) + { + ImGui.SetTooltip("Ignore: no protection\nCap: reduce deliveries to avoid overcap\nBlock: skip NPC entirely if any delivery would overcap"); + } + ImGui.SetNextItemWidth(MathF.Min(ImGui.GetContentRegionAvail().X * 0.4f, 150f)); + int currentItem6 = (int)customDeliveries.CollectabilityTier; + if (UiThemeUtils.ThemedCombo("Collectability", ref currentItem6, CollectabilityTierNames, CollectabilityTierNames.Length)) + { + customDeliveries.CollectabilityTier = (Configuration.CustomDeliveryConfiguration.ECollectabilityTier)currentItem6; + _pluginInterface.SavePluginConfig(_configuration); + } + if (ImGui.IsItemHovered()) + { + ImGui.SetTooltip("High: best rewards, requires good gear\nMid: moderate rewards, easier to hit\nLow: minimal rewards, lowest threshold"); + } + UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); } - [MethodImpl(MethodImplOptions.NoInlining)] - private void DrawNpcSection(SatisfactionSupplyInfo npc, int npcIndex) + private void DrawNpcSection(CustomDeliveryNpc npc, int npcIndex) { bool num = _plannerService.IsNpcUnlocked(npcIndex); - SatisfactionSupplyActions.NpcState npcState = _200E_202C_206A_200F_206F_206F_200B_202B_206D_202D_202C_202B_206E_200E_202C_200F_206F_200C_206C_206A_202B_202B_206F_202A_200B_202B_202E_206A_202A_206C_206A_202D_200B_200C_200D_202B_206A_206E_206D_202E_202E(npcIndex); + SatisfactionSupplyActions.NpcState npcState = SatisfactionSupplyActions.GetNpcState(npcIndex); if (!num) { - int num2 = -684755026; - IQuestInfo questInfo = default(IQuestInfo); - while (true) + string value = (HasAnyDoHDoLAtLevel(npc.Level) ? "Locked" : "No DoH/DoL at level"); + bool open = false; + UiThemeUtils.ThemedAccordion($"CustomDeliveryNpc{npcIndex}", npc.Name, $"Lv. {npc.Level} - {value}", ref open, enabled: false); + if (npc.UnlockQuestId.Value == 0) { - int num3 = num2; - int num4 = -684755025; - int num5 = num3; - string text; - string value; - bool open; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler; - string id; - string name; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2; - switch ((num5 | num4) - (num5 & num4)) + return; + } + QuestId questId = npc.UnlockQuestId; + bool disabled = _questController.ManualPriorityQuests.Any((Questionable.Model.Quest q) => q.Id.Equals(questId)); + ImGui.SameLine(); + using (ImRaii.Disabled(disabled)) + { + ImU8String id = new ImU8String(6, 1); + id.AppendLiteral("unlock"); + id.AppendFormatted(npcIndex); + using (ImRaii.PushId(id)) { - case 2: - num2 = -684755026; - break; - case 0: - text = 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(773096941); - goto IL_006e; - case 1: - num2 = (HasAnyDoHDoLAtLevel(npc.Level) ? (-684755025) : (-684755028)); - break; - case 3: - text = 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(554916939); - goto IL_006e; - case 4: + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Unlock, "Unlock")) { - QuestId questId = npc.PreviousQuests[0].QuestId; - bool num6 = _questController.ManualPriorityQuests.Any((Questionable.Model.Quest q) => _003C_003Ec__DisplayClass33_0._202C_200C_202B_200C_206D_206C_206F_206A_200D_206D_200F_202A_202B_206F_202A_202C_200F_206A_202A_202E_202D_200C_206E_206C_200D_206D_202E_202A_202B_206B_200B_206C_206E_206B_200D_206C_206D_202B_202E(q.Id, (ElementId)questId)); - _200C_200D_202C_200E_200B_202C_200B_200B_206D_200C_206B_200B_202B_202B_202E_206B_200E_202C_206B_202E_206C_200E_200C_202D_206C_206F_202C_206F_200B_202C_200F_200F_200E_200C_206D_206A_206C_206B_206B_202E(); - ImRaii.DisabledDisposable disabledDisposable = _200F_206F_202D_206B_206F_200E_200E_206B_202C_202C_206B_206B_200D_206E_202B_202E_200B_200D_200E_206C_200F_206C_206A_206A_206F_202D_200E_202E_200C_202E_206D_202E_202D_202B_206D_206A_202D_200C_200E_202E_202E(num6); - try - { - ImU8String imU8String = new ImU8String(6, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1746900472)); - imU8String.AppendFormatted(npcIndex); - ImRaii.IdDisposable idDisposable = _200F_202D_202A_206A_202C_206A_200F_200C_206F_202E_200E_206E_206A_206A_202A_206B_200D_206B_200B_206E_206B_206F_206F_206F_206E_202A_202E_202A_202A_202A_200D_202A_206F_200C_202E_202B_200F_200C_202B_206C_202E(imU8String, true); - try - { - num2 = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Unlock, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-667756117))) ? (-1912480859) : (-1912480858)); - while (true) - { - int num7 = num2; - num4 = -1912480857; - num5 = num7; - int num8 = num5 + num4; - int num9 = num5 & num4; - switch (num8 - (num9 + num9)) - { - case 0: - num2 = -1912480858; - break; - case 1: - _questController.AddQuestPriority(questId); - num2 = -1912480859; - break; - case 2: - goto end_IL_01fa; - } - continue; - end_IL_01fa: - break; - } - } - finally - { - num2 = ((idDisposable == null) ? (-743536500) : (-743536497)); - while (true) - { - int num10 = num2; - num4 = -743536498; - num5 = num10; - int num11 = num5 + num4; - int num12 = num5 & num4; - switch (num11 - (num12 + num12)) - { - case 0: - num2 = -743536497; - break; - case 1: - _206B_200B_206F_206C_202B_206E_206E_200F_202C_206B_200D_200C_206E_206A_206C_200C_202B_202E_202B_202A_200D_206F_200F_200B_206A_206D_200D_206F_200C_202C_200F_206D_200E_206F_202E_206F_200C_202A_206C_206A_202E((IDisposable)idDisposable); - num2 = -743536500; - break; - case 2: - goto end_IL_0277; - } - continue; - end_IL_0277: - break; - } - } - } - finally - { - num2 = ((disabledDisposable == null) ? (-617632198) : (-617632197)); - while (true) - { - int num13 = num2; - num4 = -617632198; - num5 = num13; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - num2 = -617632197; - break; - case 0: - goto end_IL_02e4; - case 1: - _206B_200B_206F_206C_202B_206E_206E_200F_202C_206B_200D_200C_206E_206A_206C_200C_202B_202E_202B_202A_200D_206F_200F_200B_206A_206D_200D_206F_200C_202C_200F_206D_200E_206F_202E_206F_200C_202A_206C_206A_202E((IDisposable)disabledDisposable); - num2 = -617632198; - break; - } - continue; - end_IL_02e4: - break; - } - } - num2 = ((!_202C_202B_206B_202A_206B_202D_206F_200F_206B_202A_200B_202D_200D_200D_206E_206A_202C_202B_202D_206D_200B_200E_206A_200B_206E_206A_202C_200D_202A_206B_206D_200D_200E_206E_200C_200F_202A_206F_200B_206D_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? (-1486890987) : (-1486890988)); - while (true) - { - int num14 = num2; - num4 = -1486890986; - num5 = num14; - int num15 = num5 + num4; - int num16 = num5 & num4; - switch (num15 - (num16 + num16)) - { - case 1: - _questTooltip.Draw(questInfo); - num2 = -1486890987; - break; - case 2: - num2 = ((!_questData.TryGetQuestInfo(questId, out questInfo)) ? (-1486890987) : (-1486890985)); - break; - case 0: - num2 = -1486890988; - break; - case 3: - return; - } - } + _questController.AddQuestPriority(questId); } - IL_006e: - value = text; - open = false; - defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(17, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(115415045)); - defaultInterpolatedStringHandler.AppendFormatted(npcIndex); - id = defaultInterpolatedStringHandler.ToStringAndClear(); - name = npc.Name; - defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(7, 2); - defaultInterpolatedStringHandler2.AppendLiteral(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(-939376673)); - defaultInterpolatedStringHandler2.AppendFormatted(npc.Level); - defaultInterpolatedStringHandler2.AppendLiteral(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(-1648031977)); - defaultInterpolatedStringHandler2.AppendFormatted(value); - UiThemeUtils.ThemedAccordion(id, name, defaultInterpolatedStringHandler2.ToStringAndClear(), ref open, enabled: false); - if (npc.PreviousQuests.Count > 0) - { - num2 = -684755029; - break; - } - return; } } + if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled) && _questData.TryGetQuestInfo(questId, out IQuestInfo questInfo)) + { + _questTooltip.Draw(questInfo); + } + return; } - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(17, 1); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1835605648)); - defaultInterpolatedStringHandler3.AppendFormatted(npcIndex); - string text2 = defaultInterpolatedStringHandler3.ToStringAndClear(); - bool open2 = _npcHeaderStates.GetValueOrDefault(text2, defaultValue: false); - UiThemeUtils.ThemedAccordion(text2, npc.Name, null, ref open2); - _npcHeaderStates[text2] = open2; + string text = $"CustomDeliveryNpc{npcIndex}"; + bool open2 = _npcHeaderStates.GetValueOrDefault(text, defaultValue: false); + UiThemeUtils.ThemedAccordion(text, npc.Name, null, ref open2); + _npcHeaderStates[text] = open2; if (!open2) { return; } - ImRaii.IndentDisposable indentDisposable = _200C_202A_200E_202A_206D_202E_202A_202B_206D_206C_200F_202B_200E_206D_206B_200C_206D_206F_206E_206C_202E_206B_200F_200F_200C_202C_206B_200E_206F_206C_200C_200C_206B_206D_200B_206C_206F_202B_200D_206E_202E(1, true); - try + using (ImRaii.PushIndent()) { - ImRaii.IdDisposable idDisposable2 = _200C_202C_206E_206C_206F_206A_202A_200D_206E_200C_200E_202A_206F_206E_206A_200C_202D_206D_202A_200F_202A_206C_206A_206A_200C_202D_202D_200F_202A_202C_206C_202B_202B_206B_206F_202C_206F_206B_206F_202C_202E(npcIndex, true); - try + using (ImRaii.PushId(npcIndex)) { DrawSatisfactionProgress(npcIndex, npcState); - int num17 = 6 - npcState.UsedDeliveries; - ImU8String imU8String2 = new ImU8String(38, 3); - imU8String2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1904815526)); - imU8String2.AppendFormatted(npcState.UsedDeliveries); - imU8String2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1534070043)); - imU8String2.AppendFormatted(6); - imU8String2.AppendLiteral(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(588901087)); - imU8String2.AppendFormatted(num17); - imU8String2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-623668771)); - _200C_206E_200B_206E_200C_202B_206A_202A_200B_206D_206C_200E_206F_206A_206D_206D_202B_206B_206C_206F_200E_202A_200E_206C_202C_200D_206C_202E_206C_202A_206D_206C_206B_206A_202D_206D_206E_202B_206E_200F_202E(ref UiThemeUtils.DimTextColor, imU8String2); - _200D_202D_200F_200C_206C_202B_200F_202A_206C_206D_206F_206F_206C_200D_206C_202C_206E_206B_200E_206D_206B_206C_202E_200F_202D_200C_206D_202A_206E_202D_200F_200D_200D_200C_200E_200F_202D_200E_206F_206E_202E(); + int num2 = 6 - npcState.UsedDeliveries; + ImU8String text2 = new ImU8String(38, 3); + text2.AppendLiteral("Deliveries this week: "); + text2.AppendFormatted(npcState.UsedDeliveries); + text2.AppendLiteral(" / "); + text2.AppendFormatted(6); + text2.AppendLiteral(" ("); + text2.AppendFormatted(num2); + text2.AppendLiteral(" remaining)"); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text2); + ImGui.Spacing(); DrawAchievementGoal(npcIndex, npcState); - DrawPredictedItems(npc, npcIndex, npcState, num17); - } - finally - { - int num2 = ((idDisposable2 == null) ? (-2043880067) : (-2043880068)); - while (true) - { - int num18 = num2; - int num4 = -2043880067; - int num5 = num18; - int num19 = num5 + num4; - int num20 = num5 & num4; - switch (num19 - (num20 + num20)) - { - case 2: - num2 = -2043880068; - break; - case 1: - _206B_200B_206F_206C_202B_206E_206E_200F_202C_206B_200D_200C_206E_206A_206C_200C_202B_202E_202B_202A_200D_206F_200F_200B_206A_206D_200D_206F_200C_202C_200F_206D_200E_206F_202E_206F_200C_202A_206C_206A_202E((IDisposable)idDisposable2); - num2 = -2043880067; - break; - case 0: - goto end_IL_0517; - } - continue; - end_IL_0517: - break; - } - } - } - finally - { - int num2 = ((indentDisposable == null) ? 73276519 : 73276516); - while (true) - { - int num21 = num2; - int num4 = 73276518; - int num5 = num21; - switch ((num5 | num4) - (num5 & num4)) - { - case 1: - goto end_IL_0583; - case 2: - _206B_200B_206F_206C_202B_206E_206E_200F_202C_206B_200D_200C_206E_206A_206C_200C_202B_202E_202B_202A_200D_206F_200F_200B_206A_206D_200D_206F_200C_202C_200F_206D_200E_206F_202E_206F_200C_202A_206C_206A_202E((IDisposable)indentDisposable); - num2 = 73276519; - break; - case 0: - num2 = 73276516; - break; - } - continue; - end_IL_0583: - break; + DrawPredictedItems(npcIndex, npcState, num2); } } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawSatisfactionProgress(int npcIndex, SatisfactionSupplyActions.NpcState npcState) { int num = 0; - ExcelSheet excelSheet = _dataManager.GetExcelSheet(); - int num2 = 1; - int num3 = npcIndex; - int num4 = num3 ^ num2; - int num5 = num3 & num2; - int num6 = ((!excelSheet.TryGetRow((uint)(num4 + (num5 + num5)), out var row)) ? (-1057565978) : (-1057565984)); - while (true) + if (_dataManager.GetExcelSheet().TryGetRow((uint)(npcIndex + 1), out var row) && npcState.Rank > 0 && npcState.Rank < row.SatisfactionNpcParams.Count) { - int num7 = num6; - num2 = -1057565982; - num3 = num7; - int num8 = num3 + num2; - int num9 = num3 & num2; - switch (num8 - (num9 + num9)) - { - default: - continue; - case 6: - num6 = ((npcState.Rank >= row.SatisfactionNpcParams.Count) ? (-1057565978) : (-1057565981)); - continue; - case 4: - num6 = ((num > 0) ? (-1057565983) : (-1057565982)); - continue; - case 5: - num6 = -1057565984; - continue; - case 1: - num = row.SatisfactionNpcParams[npcState.Rank].SatisfactionRequired; - num6 = -1057565978; - continue; - case 2: - num6 = ((npcState.Rank <= 0) ? (-1057565978) : (-1057565980)); - continue; - case 0: - { - ImU8String imU8String3 = new ImU8String(5, 1); - imU8String3.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(687425873)); - imU8String3.AppendFormatted(npcState.Rank); - _200C_206E_200B_206E_200C_202B_206A_202A_200B_206D_206C_200E_206F_206A_206D_206D_202B_206B_206C_206F_200E_202A_200E_206C_202C_200D_206C_202E_206C_202A_206D_206C_206B_206A_202D_206D_206E_202B_206E_200F_202E(ref UiThemeUtils.DimTextColor, imU8String3); - break; - } - case 3: - { - float num10 = (float)npcState.SatisfactionCurrent / (float)num; - ImU8String imU8String = new ImU8String(9, 3); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-800315540)); - imU8String.AppendFormatted(npcState.Rank); - imU8String.AppendLiteral(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(-1648031977)); - imU8String.AppendFormatted(npcState.SatisfactionCurrent); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(503298330)); - imU8String.AppendFormatted(num); - _200C_206E_200B_206E_200C_202B_206A_202A_200B_206D_206C_200E_206F_206A_206D_206D_202B_206B_206C_206F_200E_202A_200E_206C_202C_200D_206C_202E_206C_202A_206D_206C_206B_206A_202D_206D_206E_202B_206E_200F_202E(ref UiThemeUtils.DimTextColor, imU8String); - ImRaii.ColorDisposable colorDisposable = UiThemeUtils.PushProgressBarColors(); - try - { - Vector2 vector = new Vector2(-1E-45f, 0f); - ImU8String imU8String2 = new ImU8String(1, 2); - imU8String2.AppendFormatted(npcState.SatisfactionCurrent); - imU8String2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(503298330)); - imU8String2.AppendFormatted(num); - _202C_202D_202E_202A_200B_202C_200F_200F_202B_206E_206F_206F_200B_200C_200D_202A_200C_202E_200F_202D_206E_206E_200E_200D_206D_206E_206B_206D_206E_200E_200B_202A_202E_202A_202E_206F_200D_206A_200C_202E_202E(num10, vector, imU8String2); - } - finally - { - num6 = ((colorDisposable == null) ? 516015191 : 516015190); - while (true) - { - int num11 = num6; - num2 = 516015191; - num3 = num11; - int num12 = num3 + num2; - int num13 = num3 & num2; - switch (num12 - (num13 + num13)) - { - case 2: - num6 = 516015190; - break; - case 0: - goto end_IL_026d; - case 1: - _206B_200B_206F_206C_202B_206E_206E_200F_202C_206B_200D_200C_206E_206A_206C_200C_202B_202E_202B_202A_200D_206F_200F_200B_206A_206D_200D_206F_200C_202C_200F_206D_200E_206F_202E_206F_200C_202A_206C_206A_202E((IDisposable)colorDisposable); - num6 = 516015191; - break; - } - continue; - end_IL_026d: - break; - } - } - break; - } - } - break; + num = row.SatisfactionNpcParams[npcState.Rank].SatisfactionRequired; } - _200D_202D_200F_200C_206C_202B_200F_202A_206C_206D_206F_206F_206C_200D_206C_202C_206E_206B_200E_206D_206B_206C_202E_200F_202D_200C_206D_202A_206E_202D_200F_200D_200D_200C_200E_200F_202D_200E_206F_206E_202E(); + if (num <= 0) + { + ImU8String text = new ImU8String(5, 1); + text.AppendLiteral("Rank "); + text.AppendFormatted(npcState.Rank); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text); + } + else + { + float fraction = (float)npcState.SatisfactionCurrent / (float)num; + ImU8String text2 = new ImU8String(9, 3); + text2.AppendLiteral("Rank "); + text2.AppendFormatted(npcState.Rank); + text2.AppendLiteral(" - "); + text2.AppendFormatted(npcState.SatisfactionCurrent); + text2.AppendLiteral("/"); + text2.AppendFormatted(num); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text2); + using (UiThemeUtils.PushProgressBarColors()) + { + Vector2 sizeArg = new Vector2(-1E-45f, 0f); + ImU8String overlay = new ImU8String(1, 2); + overlay.AppendFormatted(npcState.SatisfactionCurrent); + overlay.AppendLiteral("/"); + overlay.AppendFormatted(num); + ImGui.ProgressBar(fraction, sizeArg, overlay); + } + } + ImGui.Spacing(); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawAchievementGoal(int npcIndex, SatisfactionSupplyActions.NpcState npcState) { - int num = 1; - int num2 = npcIndex; - ushort key = (ushort)((num2 | num) + (num2 & num)); + ushort key = (ushort)(npcIndex + 1); Dictionary achievementGoals = _configuration.CustomDeliveries.AchievementGoals; achievementGoals.TryGetValue(key, out var value); uint usedDeliveries = (uint)npcState.UsedDeliveries; - int num3 = ((value == null) ? 765454105 : 765454085); - bool value2 = default(bool); - int num5 = default(int); - while (true) + if (value != null && value.Active) { - int num4 = num3; - num = 765454104; - num2 = num4; - int num6; - switch ((num2 | num) - (num2 & num)) + bool num = usedDeliveries >= value.TargetCount; + Vector4 col = (num ? UiThemeUtils.StatusComplete : UiThemeUtils.StatusActive); + ImU8String text = new ImU8String(9, 2); + text.AppendLiteral("Goal: "); + text.AppendFormatted(usedDeliveries); + text.AppendLiteral(" / "); + text.AppendFormatted(value.TargetCount); + ImGui.TextColored(in col, text); + if (num) { - case 2: - _200C_200D_202C_200E_200B_202C_200B_200B_206D_200C_206B_200B_202B_202B_202E_206B_200E_202C_206B_202E_206C_200E_200C_202D_206C_206F_202C_206F_200B_202C_200F_200F_200E_200C_206D_206A_206C_206B_206B_202E(); - _200C_206E_200B_206E_200C_202B_206A_202A_200B_206D_206C_200E_206F_206A_206D_206D_202B_206B_206C_206F_200E_202A_200E_206C_202C_200D_206C_202E_206C_202A_206D_206C_206B_206A_202D_206D_206E_202B_206E_200F_202E(ref UiThemeUtils.StatusComplete, (ImU8String)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(866040764)); - num3 = 765454100; - break; - case 29: - num3 = ((!value.Active) ? 765454105 : 765454097); - break; - case 28: - value.Active = value2; - _206A_202D_200C_200B_202B_206B_206C_206D_202E_206B_202E_202D_206C_206B_202E_200C_200D_202E_206F_200C_202A_202D_200D_202D_206F_206C_206A_202B_202D_200D_202D_202C_200F_206B_206C_200C_202B_200E_206E_202E_202E(_pluginInterface, (IPluginConfiguration)_configuration); - num3 = 765454107; - break; - case 22: - num3 = ((!_200B_206D_206C_206B_200B_202D_202A_200B_206C_202E_206F_200B_200F_200C_200E_202D_200C_206A_206C_206D_200B_206B_202D_200B_202D_202E_202B_200D_200B_202C_202D_200D_206B_206F_200D_200F_206B_202C_202B_206E_202E()) ? 765454089 : 765454096); - break; - case 23: - _200C_200D_202C_200E_200B_202C_200B_200B_206D_200C_206B_200B_202B_202B_202E_206B_200E_202C_206B_202E_206C_200E_200C_202D_206C_206F_202C_206F_200B_202C_200F_200F_200E_200C_206D_206A_206C_206B_206B_202E(); - num3 = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Times, _200C_206D_200E_206C_206C_200F_200E_202C_206E_200F_202C_200F_202D_206E_202D_202C_200F_202E_202A_206A_202E_200F_202B_200C_206D_200F_202D_206C_202B_202A_206B_206E_202D_202C_206D_202E_206F_206F_206D_202E_202E())) ? 765454088 : 765454092); - break; - case 7: - _200D_202D_200F_200C_206C_202B_200F_202A_206C_206D_206F_206F_206C_200D_206C_202C_206E_206B_200E_206D_206B_206C_202E_200F_202D_200C_206D_202A_206E_202D_200F_200D_200D_200C_200E_200F_202D_200E_206F_206E_202E(); - return; - case 5: - { - ImU8String imU8String3 = new ImU8String(8, 1); - imU8String3.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-687956357)); - imU8String3.AppendFormatted(npcIndex); - _206B_202C_202A_200D_202E_202E_206C_206F_202E_206A_206A_200E_200D_200C_200D_206A_200F_202B_202A_200C_206E_202C_200C_200E_200C_200C_200F_200F_206B_202C_200C_206B_200E_200E_200B_200D_206A_206D_206E_206D_202E(imU8String3, ImGuiPopupFlags.None); - num3 = 765454080; - break; + ImGui.SameLine(); + ImGui.TextColored(in UiThemeUtils.StatusComplete, "(met)"); } - case 21: - num3 = ((num5 > 12) ? 765454101 : 765454098); - break; - case 26: + ImGui.SameLine(); + if (UiThemeUtils.IconButton(FontAwesomeIcon.Edit, ImGui.GetFrameHeight())) { - ImU8String imU8String2 = new ImU8String(8, 1); - imU8String2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(857482870)); - imU8String2.AppendFormatted(npcIndex); - _206B_202C_202A_200D_202E_202E_206C_206F_202E_206A_206A_200E_200D_200C_200D_206A_200F_202B_202A_200C_206E_202C_200C_200E_200C_200C_200F_200F_206B_202C_200C_206B_200E_200E_200B_200D_206A_206D_206E_206D_202E(imU8String2, ImGuiPopupFlags.None); - num3 = 765454094; - break; + ImU8String strId = new ImU8String(8, 1); + strId.AppendLiteral("goalEdit"); + strId.AppendFormatted(npcIndex); + ImGui.OpenPopup(strId); } - case 10: - num3 = ((value != null) ? 765454104 : 765454102); - break; - case 8: - _202A_206C_202B_200F_206C_200B_200D_202A_206C_206A_200D_206F_200E_202E_202D_200F_200B_206E_206C_206C_200F_200E_206A_200E_202B_202B_202C_206C_206E_206B_202A_200C_206E_200E_200B_200C_200B_202C_200E_206B_202E((ImU8String)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(802463423)); - num3 = 765454089; - break; - case 20: + if (ImGui.IsItemHovered()) + { + ImGui.SetTooltip("Edit goal"); + } + ImGui.SameLine(); + if (UiThemeUtils.IconButton(FontAwesomeIcon.Times, ImGui.GetFrameHeight())) + { achievementGoals.Remove(key); - _206A_202D_200C_200B_202B_206B_206C_206D_202E_206B_202E_202D_206C_206B_202E_200C_200D_202E_206F_200C_202A_202D_200D_202D_206F_206C_206A_202B_202D_200D_202D_202C_200F_206B_206C_200C_202B_200E_206E_202E_202E(_pluginInterface, (IPluginConfiguration)_configuration); - num3 = 765454088; - break; - case 15: - num3 = ((num5 < 1) ? 765454101 : 765454093); - break; - case 16: - num3 = ((!_200B_206D_206C_206B_200B_202D_202A_200B_206C_202E_206F_200B_200F_200C_200E_202D_200C_206A_206C_206D_200B_206B_202D_200B_202D_202E_202B_200D_200B_202C_202D_200D_206B_206F_200D_200F_206B_202C_202B_206E_202E()) ? 765454089 : 765454108); - break; - case 4: - _202A_206C_202B_200F_206C_200B_200D_202A_206C_206A_200D_206F_200E_202E_202D_200F_200B_206E_206C_206C_200F_200E_206A_200E_202B_202B_202C_206C_206E_206B_202A_200C_206E_200E_200B_200C_200B_202C_200E_206B_202E((ImU8String)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(570974186)); - num3 = 765454089; - break; - case 24: - num3 = ((!_200B_206D_206C_206B_200B_202D_202A_200B_206C_202E_206F_200B_200F_200C_200E_202D_200C_206A_206C_206D_200B_206B_202D_200B_202D_202E_202B_200D_200B_202C_202D_200D_206B_206F_200D_200F_206B_202C_202B_206E_202E()) ? 765454095 : 765454081); - break; - case 18: - num6 = 6; - goto IL_0503; - case 27: - num3 = ((value != null) ? 765454099 : 765454090); - break; - case 9: - { - bool num7 = usedDeliveries >= value.TargetCount; - Vector4 vector = (num7 ? UiThemeUtils.StatusComplete : UiThemeUtils.StatusActive); - ImU8String imU8String4 = new ImU8String(9, 2); - imU8String4.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1328887296)); - imU8String4.AppendFormatted(usedDeliveries); - imU8String4.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1762358294)); - imU8String4.AppendFormatted(value.TargetCount); - _200C_206E_200B_206E_200C_202B_206A_202A_200B_206D_206C_200E_206F_206A_206D_206D_202B_206B_206C_206F_200E_202A_200E_206C_202C_200D_206C_202E_206C_202A_206D_206C_206B_206A_202D_206D_206E_202B_206E_200F_202E(ref vector, imU8String4); - num3 = ((!num7) ? 765454100 : 765454106); - break; + _pluginInterface.SavePluginConfig(_configuration); } - case 1: - num3 = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Bullseye, _200C_206D_200E_206C_206C_200F_200E_202C_206E_200F_202C_200F_202D_206E_202D_202C_200F_202E_202A_206A_202E_200F_202B_200C_206D_200F_202D_206C_202B_202A_206B_206E_202D_202C_206D_202E_206F_206F_206D_202E_202E())) ? 765454094 : 765454082); - break; - case 19: - value2 = value.Active; - num3 = ((!UiThemeUtils.WrappedCheckbox(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(-1513339182), ref value2)) ? 765454107 : 765454084); - break; - case 12: - _200C_200D_202C_200E_200B_202C_200B_200B_206D_200C_206B_200B_202B_202B_202E_206B_200E_202C_206B_202E_206C_200E_200C_202D_206C_206F_202C_206F_200B_202C_200F_200F_200E_200C_206D_206A_206C_206B_206B_202E(); - num3 = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Edit, _200C_206D_200E_206C_206C_200F_200E_202C_206E_200F_202C_200F_202D_206E_202D_202C_200F_202E_202A_206A_202E_200F_202B_200C_206D_200F_202D_206C_202B_202A_206B_206E_202D_202C_206D_202E_206F_206F_206D_202E_202E())) ? 765454080 : 765454109); - break; - case 25: - _202A_206C_202B_200F_206C_200B_200D_202A_206C_206A_200D_206F_200E_202E_202D_200F_200B_206E_206C_206C_200F_200E_206A_200E_202B_202B_202C_206C_206E_206B_202A_200C_206E_200E_200B_200C_200B_202C_200E_206B_202E((ImU8String)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(367003399)); - num3 = 765454095; - break; - case 14: - value = new Configuration.AchievementGoal(); - num3 = 765454104; - break; - case 0: - value.TargetCount = (uint)num5; + if (ImGui.IsItemHovered()) + { + ImGui.SetTooltip("Remove goal"); + } + } + else + { + if (UiThemeUtils.IconButton(FontAwesomeIcon.Bullseye, ImGui.GetFrameHeight())) + { + ImU8String strId2 = new ImU8String(8, 1); + strId2.AppendLiteral("goalEdit"); + strId2.AppendFormatted(npcIndex); + ImGui.OpenPopup(strId2); + } + if (ImGui.IsItemHovered()) + { + ImGui.SetTooltip("Set weekly delivery goal"); + } + } + ImU8String strId3 = new ImU8String(8, 1); + strId3.AppendLiteral("goalEdit"); + strId3.AppendFormatted(npcIndex); + if (ImGui.BeginPopup(strId3)) + { + int data = (int)(value?.TargetCount ?? 6); + ImGui.SetNextItemWidth(100f); + if (ImGui.InputInt("Target", ref data, 1, 1) && data >= 1 && data <= 12) + { + if (value == null) + { + value = new Configuration.AchievementGoal(); + } + value.TargetCount = (uint)data; value.Active = true; achievementGoals[key] = value; - _206A_202D_200C_200B_202B_206B_206C_206D_202E_206B_202E_202D_206C_206B_202E_200C_200D_202E_206F_200C_202A_202D_200D_202D_206F_206C_206A_202B_202D_200D_202D_202C_200F_206B_206C_200C_202B_200E_206E_202E_202E(_pluginInterface, (IPluginConfiguration)_configuration); - num3 = 765454101; - break; - case 13: - num3 = ((value == null) ? 765454107 : 765454091); - break; - case 11: - num6 = (int)value.TargetCount; - goto IL_0503; - case 3: - _200D_206F_202A_206B_200F_206D_202B_206E_200D_200B_200D_206E_206F_200B_206F_202C_206C_202C_200B_206B_200E_200B_202A_200C_206B_206E_202B_206E_206B_200B_200E_206E_200C_206F_206D_200C_206A_200C_202D_206A_202E(); - num3 = 765454111; - break; - case 17: + _pluginInterface.SavePluginConfig(_configuration); + } + if (value != null) { - ImU8String imU8String = new ImU8String(8, 1); - imU8String.AppendLiteral(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(-333165022)); - imU8String.AppendFormatted(npcIndex); - num3 = ((!_202D_206A_200F_202D_202B_202C_206A_202E_202B_202C_202C_206A_206D_202B_200D_206D_206A_200B_206C_206C_202A_200C_206C_206D_200B_200C_202A_202E_200C_202B_206C_200F_202E_202D_200E_202C_206C_202E_206B_200E_202E(imU8String, ImGuiWindowFlags.None)) ? 765454111 : 765454083); - break; - } - case 6: + bool value2 = value.Active; + if (UiThemeUtils.WrappedCheckbox("Active", ref value2)) { - num3 = 765454085; - break; + value.Active = value2; + _pluginInterface.SavePluginConfig(_configuration); } - IL_0503: - num5 = num6; - _206B_202D_200D_200F_200B_206B_206C_200E_206A_206A_206E_202A_200B_206B_206B_206B_200F_206F_206E_202D_200D_206F_206B_206F_202C_206A_202C_200F_200D_206E_200F_200D_200D_206F_206F_200F_206A_200C_206A_200D_202E(100f); - num3 = ((!_200D_200D_206D_206D_200E_206E_200B_202D_200C_206D_202D_202C_206F_206C_200B_206A_200B_206B_202C_202E_200C_202E_200F_200E_202A_200D_202D_200F_206E_202C_200C_206B_202E_200E_200B_206D_202A_202A_202A_202D_202E((ImU8String)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(1390330251), ref num5, 1, 1, default(ImU8String), ImGuiInputTextFlags.None)) ? 765454101 : 765454103); - break; } + ImGui.EndPopup(); } + ImGui.Spacing(); } - [MethodImpl(MethodImplOptions.NoInlining)] - private void DrawPredictedItems(SatisfactionSupplyInfo npc, int npcIndex, SatisfactionSupplyActions.NpcState npcState, int deliveriesRemaining) + private void DrawPredictedItems(int npcIndex, SatisfactionSupplyActions.NpcState npcState, int deliveriesRemaining) { - uint num = _202E_206E_200C_202D_206F_206E_206D_200B_206C_200D_200F_202D_200E_200D_202C_206B_206C_202E_200F_206B_202B_206A_206B_206B_206B_206B_206B_200D_200F_206B_206C_202A_202D_206E_200C_206C_202D_206A_200B_206C_202E(); - int num2 = ((num != 0) ? 940253457 : 940253463); - uint supplyIndex = default(uint); - SatisfactionNpc row = default(SatisfactionNpc); - uint[] array = default(uint[]); - SubrowExcelSheet subrowExcelSheet = default(SubrowExcelSheet); - int num7 = default(int); - int num6; - while (true) + uint supplySeed = SatisfactionSupplyActions.GetSupplySeed(); + if (supplySeed == 0) { - int num3 = num2; - int num4 = 940253457; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + ImGui.TextColored(in UiThemeUtils.MutedTextColor, "Log in to see predicted items."); + } + else + { + if (!_dataManager.GetExcelSheet().TryGetRow((uint)(npcIndex + 1), out var row) || npcState.Rank <= 0 || npcState.Rank >= row.SatisfactionNpcParams.Count) { - default: - continue; - case 4: - supplyIndex = (uint)row.SatisfactionNpcParams[npcState.Rank].SupplyIndex; - array = _202A_202C_200F_206E_200F_206D_206D_200F_200D_202C_200F_202B_200C_202E_202B_206A_206F_206F_200E_202E_200D_200F_202D_200B_206B_202D_206A_206E_200F_202B_202D_206A_206D_206A_202C_200D_202D_206B_206F_206C_202E(_supplyHelper, supplyIndex, num); - subrowExcelSheet = _dataManager.GetSubrowExcelSheet(); - num7 = _206D_202A_200F_206F_200C_202E_202C_202D_206E_200D_200C_202B_206F_200D_200B_202E_200F_202D_200C_202E_202A_206C_200B_202E_202B_202D_202D_200C_200D_206F_206C_206E_200C_202D_206D_206B_200E_206D_206B_200D_202E(); - num2 = ((_customDeliveryController.State == CustomDeliveryController.EDeliveryState.Idle) ? 940253465 : 940253458); - continue; - case 6: - _200C_206E_200B_206E_200C_202B_206A_202A_200B_206D_206C_200E_206F_206A_206D_206D_202B_206B_206C_206F_200E_202A_200E_206C_202C_200D_206C_202E_206C_202A_206D_206C_206B_206A_202D_206D_206E_202B_206E_200F_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2035765301)); return; - case 3: + } + uint supplyIndex = (uint)row.SatisfactionNpcParams[npcState.Rank].SupplyIndex; + uint[] array = _supplyHelper.CalculateRequestedItems(supplyIndex, supplySeed); + SubrowExcelSheet subrowExcelSheet = _dataManager.GetSubrowExcelSheet(); + int remainingAllowances = SatisfactionSupplyActions.GetRemainingAllowances(); + int num; + if (_customDeliveryController.State != CustomDeliveryController.EDeliveryState.Idle) { DeliveryPlan? currentPlan = _customDeliveryController.CurrentPlan; - num6 = ((currentPlan != null && currentPlan.NpcIndex == npcIndex) ? 1 : 0); - break; + num = ((currentPlan != null && currentPlan.NpcIndex == npcIndex) ? 1 : 0); } - case 0: + else { - ExcelSheet excelSheet = _dataManager.GetExcelSheet(); - num4 = 1; - num5 = npcIndex; - num2 = (excelSheet.TryGetRow((uint)((num5 | num4) + (num5 & num4)), out row) ? 940253464 : 940253462); - continue; + num = 0; } - case 9: - num2 = ((npcState.Rank <= 0) ? 940253460 : 940253456); - continue; - case 7: - return; - case 5: - return; - case 1: - num2 = ((npcState.Rank < row.SatisfactionNpcParams.Count) ? 940253461 : 940253460); - continue; - case 2: - num2 = 940253463; - continue; - case 8: - num6 = 0; - break; - } - break; - } - bool flag = (byte)num6 != 0; - int num8 = 0; - SatisfactionSupply subrow = default(SatisfactionSupply); - List list = default(List); - while (num8 < 3) - { - ImRaii.IdDisposable idDisposable = _200C_202C_206E_206C_206F_206A_202A_200D_206E_200C_200E_202A_206F_206E_206A_200C_202D_206D_202A_200F_202A_206C_206A_206A_200C_202D_202D_200F_202A_202C_206C_202B_202B_206B_206F_202C_206F_206B_206F_202C_202E(num8, true); - int num4; - int num5; - try + bool flag = (byte)num != 0; + for (int i = 0; i < 3; i++) { - EDeliverySlot eDeliverySlot = Slots[num8]; - string value = SlotLabels[num8]; - uint num9 = array[num8]; - num2 = ((num9 != uint.MaxValue) ? (-1305180789) : (-1305180788)); - while (true) + using (ImRaii.PushId(i)) { - int num10 = num2; - num4 = -1305180792; - num5 = num10; - int num11 = num5 + num4; - int num12 = num5 & num4; - switch (num11 - (num12 + num12)) + EDeliverySlot eDeliverySlot = Slots[i]; + string value = SlotLabels[i]; + uint num2 = array[i]; + if (num2 == uint.MaxValue) { - case 3: - num2 = (subrowExcelSheet.TryGetSubrow(supplyIndex, (ushort)num9, out subrow) ? (-1305180790) : (-1305180791)); - break; - case 4: + ImU8String text = new ImU8String(4, 1); + text.AppendLiteral("["); + text.AppendFormatted(value); + text.AppendLiteral("] -"); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, text); + continue; + } + if (!subrowExcelSheet.TryGetSubrow(supplyIndex, (ushort)num2, out var subrow)) { - ImU8String imU8String3 = new ImU8String(4, 1); - imU8String3.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1234830832)); - imU8String3.AppendFormatted(value); - imU8String3.AppendLiteral(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(1193619199)); - _200C_206E_200B_206E_200C_202B_206A_202A_200B_206D_206C_200E_206F_206A_206D_206D_202B_206B_206C_206F_200E_202A_200E_206C_202C_200D_206C_202E_206C_202A_206D_206C_206B_206A_202D_206D_206E_202B_206E_200F_202E(ref UiThemeUtils.MutedTextColor, imU8String3); - goto end_IL_022e; + ImU8String text2 = new ImU8String(4, 1); + text2.AppendLiteral("["); + text2.AppendFormatted(value); + text2.AppendLiteral("] ?"); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, text2); + continue; } - case 1: + uint rowId = subrow.Item.RowId; + string itemName = GetItemName(rowId); + ImU8String text3 = new ImU8String(2, 1); + text3.AppendLiteral("["); + text3.AppendFormatted(value); + text3.AppendLiteral("]"); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text3); + ImGui.SameLine(0f, 6f); + float x; + using (ImRaii.PushFont(UiBuilder.IconFont)) { - ImU8String imU8String2 = new ImU8String(4, 1); - imU8String2.AppendLiteral(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(-1118615183)); - imU8String2.AppendFormatted(value); - imU8String2.AppendLiteral(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(1291974725)); - _200C_206E_200B_206E_200C_202B_206A_202A_200B_206D_206C_200E_206F_206A_206D_206D_202B_206B_206C_206F_200E_202A_200E_206C_202C_200D_206C_202E_206C_202A_206D_206C_206B_206A_202D_206D_206E_202B_206E_200F_202E(ref UiThemeUtils.MutedTextColor, imU8String2); - goto end_IL_022e; + x = ImGui.CalcTextSize(FontAwesomeIcon.Play.ToIconString()).X; } - case 0: - num2 = -1305180788; - break; - case 2: + float reservedRightWidth = x + 6f + ImGui.CalcTextSize("Start").X + ImGui.GetStyle().FramePadding.X * 2f + ImGui.GetStyle().ItemSpacing.X; + UiThemeUtils.RowLabel(itemName, reservedRightWidth); + bool flag2 = !flag && remainingAllowances > 0 && deliveriesRemaining > 0 && _customDeliveryController.State == CustomDeliveryController.EDeliveryState.Idle && !_questController.IsRunning && !_fateController.IsRunning && !_seasonalDutyController.IsRunning && !_attunementController.IsRunning; + ImGui.SameLine(); + using (ImRaii.Disabled(!flag2)) { - uint rowId = subrow.Item.RowId; - string itemName = GetItemName(rowId); - ImU8String imU8String = new ImU8String(2, 1); - imU8String.AppendLiteral(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(-999106428)); - imU8String.AppendFormatted(value); - imU8String.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1991522223)); - _200C_206E_200B_206E_200C_202B_206A_202A_200B_206D_206C_200E_206F_206A_206D_206D_202B_206B_206C_206F_200E_202A_200E_206C_202C_200D_206C_202E_206C_202A_206D_206C_206B_206A_202D_206D_206E_202B_206E_200F_202E(ref UiThemeUtils.DimTextColor, imU8String); - _200D_202E_202B_202B_202A_200B_206B_206E_206A_200B_202D_202E_206F_200E_200D_202C_206C_202D_202E_202B_200B_202B_200E_200B_202B_202E_202D_206C_206F_200B_202A_206F_206B_200D_206C_202C_206F_200D_202C_200E_202E(0f, 6f); - ImRaii.FontDisposable fontDisposable = _202B_200B_206D_206E_200D_200E_202D_202A_202D_200B_200D_202D_200D_206C_202B_200F_202D_202A_202B_206E_200D_202A_200E_206D_206D_200E_206B_202B_202B_200D_200C_200D_200F_200C_200E_202A_202E_206A_200E_206D_202E(_206C_206C_202D_206F_200C_200F_200C_200B_202E_200F_202E_200D_200C_202C_206E_206F_206C_200D_206E_200F_206D_206C_206C_206A_206E_202E_200D_206C_202C_202E_206B_206B_206A_206C_200F_200F_206E_202A_200D_200C_202E(), true); - float x; - try + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Play, "Start")) { - x = _202C_200F_206E_206F_200D_206D_206A_200E_202A_206B_200C_206A_202B_200B_200F_206D_202D_200D_206E_200B_202C_206B_206E_200E_206B_202C_200D_200C_200E_202A_206E_200F_206A_200B_202B_200E_200B_200D_202A_202A_202E((ImU8String)_206E_206D_202B_206A_206B_206E_206B_206F_202D_206B_206A_200F_202A_202B_200F_202B_200B_206B_206C_200F_206B_202D_202E_200E_206F_202E_200B_200F_206A_202A_200B_202D_200E_202B_206B_202A_206E_202C_202D_200E_202E(FontAwesomeIcon.Play), false, -1f).X; + _logger.LogInformation("Starting custom delivery for NPC {NpcIndex} slot {Slot}", npcIndex, eDeliverySlot); + _questController.Stop("Custom delivery start"); + _fateController.Stop("Custom delivery start"); + _seasonalDutyController.Stop("Custom delivery start"); + _attunementController.Stop("Custom delivery start"); + _customDeliveryController.Start(npcIndex, eDeliverySlot); } - finally - { - num2 = ((fontDisposable == null) ? (-973895939) : (-973895938)); - while (true) - { - int num13 = num2; - num4 = -973895937; - num5 = num13; - int num14 = num5 + num4; - int num15 = num5 & num4; - switch (num14 - (num15 + num15)) - { - case 0: - num2 = -973895938; - break; - case 1: - _206B_200B_206F_206C_202B_206E_206E_200F_202C_206B_200D_200C_206E_206A_206C_200C_202B_202E_202B_202A_200D_206F_200F_200B_206A_206D_200D_206F_200C_202C_200F_206D_200E_206F_202E_206F_200C_202A_206C_206A_202E((IDisposable)fontDisposable); - num2 = -973895939; - break; - case 2: - goto end_IL_03f9; - } - continue; - end_IL_03f9: - break; - } - } - float reservedRightWidth = x + 6f + _202C_200F_206E_206F_200D_206D_206A_200E_202A_206B_200C_206A_202B_200B_200F_206D_202D_200D_206E_200B_202C_206B_206E_200E_206B_202C_200D_200C_200E_202A_206E_200F_206A_200B_202B_200E_200B_200D_202A_202A_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(880256074), false, -1f).X + _206B_206F_200C_200C_202D_202D_202C_202E_206B_206C_206D_200D_206E_200F_200D_206E_206C_200C_206F_200E_206D_206B_206F_206F_202D_202D_200E_206B_206E_202C_202D_202B_202D_202D_200B_200B_200E_206A_202D_206E_202E().FramePadding.X * 2f + _206B_206F_200C_200C_202D_202D_202C_202E_206B_206C_206D_200D_206E_200F_200D_206E_206C_200C_206F_200E_206D_206B_206F_206F_202D_202D_200E_206B_206E_202C_202D_202B_202D_202D_200B_200B_200E_206A_202D_206E_202E().ItemSpacing.X; - UiThemeUtils.RowLabel(itemName, reservedRightWidth); - num2 = (flag ? (-2087654464) : (-2087654459)); - int num17; - while (true) - { - int num16 = num2; - num4 = -2087654457; - num5 = num16; - switch ((num5 | num4) - (num5 & num4)) - { - default: - continue; - case 5: - num2 = (_seasonalDutyController.IsRunning ? (-2087654464) : (-2087654463)); - continue; - case 8: - num2 = ((deliveriesRemaining <= 0) ? (-2087654464) : (-2087654458)); - continue; - case 2: - num2 = ((num7 <= 0) ? (-2087654464) : (-2087654449)); - continue; - case 4: - num2 = (_fateController.IsRunning ? (-2087654464) : (-2087654462)); - continue; - case 6: - num17 = ((!_attunementController.IsRunning) ? 1 : 0); - break; - case 0: - num2 = -2087654459; - continue; - case 1: - num2 = ((_customDeliveryController.State != CustomDeliveryController.EDeliveryState.Idle) ? (-2087654464) : (-2087654460)); - continue; - case 3: - num2 = (_questController.IsRunning ? (-2087654464) : (-2087654461)); - continue; - case 7: - num17 = 0; - break; - } - break; - } - bool flag2 = (byte)num17 != 0; - _200C_200D_202C_200E_200B_202C_200B_200B_206D_200C_206B_200B_202B_202B_202E_206B_200E_202C_206B_202E_206C_200E_200C_202D_206C_206F_202C_206F_200B_202C_200F_200F_200E_200C_206D_206A_206C_206B_206B_202E(); - ImRaii.DisabledDisposable disabledDisposable = _200F_206F_202D_206B_206F_200E_200E_206B_202C_202C_206B_206B_200D_206E_202B_202E_200B_200D_200E_206C_200F_206C_206A_206A_206F_202D_200E_202E_200C_202E_206D_202E_202D_202B_206D_206A_202D_200C_200E_202E_202E(!flag2); - try - { - num2 = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Play, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(880256074))) ? 1169289649 : 1169289650); - while (true) - { - int num18 = num2; - num4 = 1169289651; - num5 = num18; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num2 = 1169289650; - break; - case 1: - _206A_202A_200E_200C_200D_200D_202E_206C_200B_200E_200D_200C_206B_206E_206B_202D_206F_202C_202C_206C_202D_200D_206D_206B_202D_206D_206E_206F_202A_206A_200B_202C_202B_200E_200B_202C_200B_206D_206C_200D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2084624699), new object[2] { npcIndex, eDeliverySlot }); - _questController.Stop(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(349841486)); - _fateController.Stop(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(-85002639)); - _seasonalDutyController.Stop(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(349841486)); - _attunementController.Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1089731648)); - _customDeliveryController.Start(npcIndex, eDeliverySlot); - num2 = 1169289649; - break; - case 2: - goto end_IL_065b; - } - continue; - end_IL_065b: - break; - } - } - finally - { - num2 = ((disabledDisposable == null) ? (-1489318527) : (-1489318528)); - while (true) - { - int num19 = num2; - num4 = -1489318527; - num5 = num19; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - num2 = -1489318528; - break; - case 0: - goto end_IL_0754; - case 1: - _206B_200B_206F_206C_202B_206E_206E_200F_202C_206B_200D_200C_206E_206A_206C_200C_202B_202E_202B_202A_200D_206F_200F_200B_206A_206D_200D_206F_200C_202C_200F_206D_200E_206F_202E_206F_200C_202A_206C_206A_202E((IDisposable)disabledDisposable); - num2 = -1489318527; - break; - } - continue; - end_IL_0754: - break; - } - } - num2 = (flag2 ? 1980773701 : 1980773707); - while (true) - { - int num20 = num2; - num4 = 1980773706; - num5 = num20; - switch ((num5 | num4) - (num5 & num4)) - { - case 14: - num2 = 1980773707; - break; - case 1: - num2 = ((!_202C_202B_206B_202A_206B_202D_206F_200F_206B_202A_200B_202D_200D_200D_206E_206A_202C_202B_202D_206D_200B_200E_206A_200B_206E_206A_202C_200D_202A_206B_206D_200D_200E_206E_200C_200F_202A_206F_200B_206D_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? 1980773701 : 1980773705); - break; - case 2: - num2 = ((!_attunementController.IsRunning) ? 1980773723 : 1980773710); - break; - case 18: - num2 = ((_customDeliveryController.State == CustomDeliveryController.EDeliveryState.Idle) ? 1980773706 : 1980773709); - break; - case 7: - _202A_206C_202B_200F_206C_200B_200D_202A_206C_206A_200D_206F_200E_202E_202D_200F_200B_206E_206C_206C_200F_200E_206A_200E_202B_202B_202C_206C_206E_206B_202A_200C_206E_200E_200B_200C_200B_202C_200E_206B_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1435445966)); - num2 = 1980773701; - break; - case 16: - num2 = ((!_seasonalDutyController.IsRunning) ? 1980773704 : 1980773696); - break; - case 13: - num2 = ((!_fateController.IsRunning) ? 1980773722 : 1980773697); - break; - case 5: - _202A_206C_202B_200F_206C_200B_200D_202A_206C_206A_200D_206F_200E_202E_202D_200F_200B_206E_206C_206C_200F_200E_206A_200E_202B_202B_202C_206C_206E_206B_202A_200C_206E_200E_200B_200C_200B_202C_200E_206B_202E((ImU8String)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(-1861782460)); - num2 = 1980773701; - break; - case 0: - num2 = ((num7 > 0) ? 1980773708 : 1980773699); - break; - case 3: - num2 = ((!_questController.IsRunning) ? 1980773703 : 1980773702); - break; - case 10: - _202A_206C_202B_200F_206C_200B_200D_202A_206C_206A_200D_206F_200E_202E_202D_200F_200B_206E_206C_206C_200F_200E_206A_200E_202B_202B_202C_206C_206E_206B_202A_200C_206E_200E_200B_200C_200B_202C_200E_206B_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1412730822)); - num2 = 1980773701; - break; - case 11: - _202A_206C_202B_200F_206C_200B_200D_202A_206C_206A_200D_206F_200E_202E_202D_200F_200B_206E_206C_206C_200F_200E_206A_200E_202B_202B_202C_206C_206E_206B_202A_200C_206E_200E_200B_200C_200B_202C_200E_206B_202E((ImU8String)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(1423170090)); - num2 = 1980773701; - break; - case 17: - num2 = ((!flag) ? 1980773720 : 1980773711); - break; - case 4: - _202A_206C_202B_200F_206C_200B_200D_202A_206C_206A_200D_206F_200E_202E_202D_200F_200B_206E_206C_206C_200F_200E_206A_200E_202B_202B_202C_206C_206E_206B_202A_200C_206E_200E_200B_200C_200B_202C_200E_206B_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1808860543)); - num2 = 1980773701; - break; - case 9: - _202A_206C_202B_200F_206C_200B_200D_202A_206C_206A_200D_206F_200E_202E_202D_200F_200B_206E_206C_206C_200F_200E_206A_200E_202B_202B_202C_206C_206E_206B_202A_200C_206E_200E_200B_200C_200B_202C_200E_206B_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(573253239)); - num2 = 1980773701; - break; - case 12: - _202A_206C_202B_200F_206C_200B_200D_202A_206C_206A_200D_206F_200E_202E_202D_200F_200B_206E_206C_206C_200F_200E_206A_200E_202B_202B_202C_206C_206E_206B_202A_200C_206E_200E_200B_200C_200B_202C_200E_206B_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-212367762)); - num2 = 1980773701; - break; - case 6: - _202A_206C_202B_200F_206C_200B_200D_202A_206C_206A_200D_206F_200E_202E_202D_200F_200B_206E_206C_206C_200F_200E_206A_200E_202B_202B_202C_206C_206E_206B_202A_200C_206E_200E_200B_200C_200B_202C_200E_206B_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1212532782)); - num2 = 1980773701; - break; - case 15: - { - uint rowId2 = subrow.Reward.RowId; - bool isBonus = subrow.IsBonus; - list = _rewardCalculator.CalculateRewards(rowId2, isBonus, _configuration.CustomDeliveries.CollectabilityTier); - if (list.Count > 0) - { - num2 = 1980773698; - break; - } - goto end_IL_07bf; - } - case 8: - { - string text = _200C_206D_206B_202A_202D_202A_202A_202C_202E_206A_202C_200B_206C_200D_200B_202C_200B_202B_200F_200E_202C_200C_202C_200E_200B_200B_206C_206B_202E_206E_206F_206E_202B_206A_202A_202B_200B_206F_200C_200D_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1403263077), (IEnumerable)list.ConvertAll([MethodImpl(MethodImplOptions.NoInlining)] (DeliveryRewardCalculator.CurrencyReward r) => - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(1, 2); - defaultInterpolatedStringHandler2.AppendFormatted(r.AmountPerDelivery); - defaultInterpolatedStringHandler2.AppendLiteral(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(2018550958)); - defaultInterpolatedStringHandler2.AppendFormatted(r.CurrencyName); - return defaultInterpolatedStringHandler2.ToStringAndClear(); - })); - ImRaii.IndentDisposable indentDisposable = _200C_202A_200E_202A_206D_202E_202A_202B_206D_206C_200F_202B_200E_206D_206B_200C_206D_206F_206E_206C_202E_206B_200F_200F_200C_202C_206B_200E_206F_206C_200C_200C_206B_206D_200B_206C_206F_202B_200D_206E_202E(1, true); - try - { - UiThemeUtils.WrappedTextColored(UiThemeUtils.DimTextColor, _200C_206B_206D_206C_200E_200C_206B_200D_202A_200F_202B_200F_202A_202C_206F_206F_202B_206A_206E_202E_206A_200F_202D_202A_200D_202B_202A_206C_206E_200F_200B_206E_206C_202C_206D_200C_202A_206B_206F_206A_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(552086919), text)); - foreach (DeliveryRewardCalculator.CurrencyReward item in list) - { - if (!DeliveryRewardCalculator.WouldOvercap(item.CurrencyItemId, item.AmountPerDelivery, deliveriesRemaining)) - { - continue; - } - ImRaii.ColorDisposable colorDisposable = _202B_206D_206C_206F_200B_200F_202C_200E_206C_206D_206E_200B_202D_200D_202A_200D_200D_206F_206B_202A_200C_202E_206E_206A_202D_200D_200C_206F_206D_202B_200C_206F_200B_202E_200C_202D_200C_202C_206E_202B_202E(ImGuiCol.Text, UiThemeUtils.StatusActive, true); - try - { - fontDisposable = _202B_200B_206D_206E_200D_200E_202D_202A_202D_200B_200D_202D_200D_206C_202B_200F_202D_202A_202B_206E_200D_202A_200E_206D_206D_200E_206B_202B_202B_200D_200C_200D_200F_200C_200E_202A_202E_206A_200E_206D_202E(_206C_206C_202D_206F_200C_200F_200C_200B_202E_200F_202E_200D_200C_202C_206E_206F_206C_200D_206E_200F_206D_206C_206C_206A_206E_202E_200D_206C_202C_202E_206B_206B_206A_206C_200F_200F_206E_202A_200D_200C_202E(), true); - try - { - _202A_202A_206A_202E_200B_206A_202E_202B_202B_200C_202D_206D_202E_200E_200F_206A_200D_206A_206B_202C_206F_200C_202E_200D_206A_200B_206B_202C_200E_202E_206B_202E_206F_200C_200B_206F_200F_200D_206F_206A_202E((ImU8String)_206E_206D_202B_206A_206B_206E_206B_206F_202D_206B_206A_200F_202A_202B_200F_202B_200B_206B_206C_200F_206B_202D_202E_200E_206F_202E_200B_200F_206A_202A_200B_202D_200E_202B_206B_202A_206E_202C_202D_200E_202E(FontAwesomeIcon.ExclamationTriangle)); - } - finally - { - num2 = ((fontDisposable == null) ? (-1914682844) : (-1914682841)); - while (true) - { - int num21 = num2; - num4 = -1914682842; - num5 = num21; - int num22 = num5 + num4; - int num23 = num5 & num4; - switch (num22 - (num23 + num23)) - { - case 2: - goto end_IL_0b9c; - case 1: - _206B_200B_206F_206C_202B_206E_206E_200F_202C_206B_200D_200C_206E_206A_206C_200C_202B_202E_202B_202A_200D_206F_200F_200B_206A_206D_200D_206F_200C_202C_200F_206D_200E_206F_202E_206F_200C_202A_206C_206A_202E((IDisposable)fontDisposable); - num2 = -1914682844; - break; - case 0: - num2 = -1914682841; - break; - } - continue; - end_IL_0b9c: - break; - } - } - _200D_202E_202B_202B_202A_200B_206B_206E_206A_200B_202D_202E_206F_200E_200D_202C_206C_202D_202E_202B_200B_202B_200E_200B_202B_202E_202D_206C_206F_200B_202A_206F_206B_200D_206C_202C_206F_200D_202C_200E_202E(0f, 4f); - int value2 = _202D_202C_202D_202E_206B_206A_206E_202B_206F_206C_206C_206D_206D_206E_202C_206F_200F_200F_202C_200F_206B_202C_202E_200F_202C_206D_202E_206A_206C_202B_202A_206D_206A_200B_200F_202A_200F_202C_206C_200F_202E(item.CurrencyItemId, false, false); - int value3 = item.AmountPerDelivery * deliveriesRemaining; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(20, 3); - defaultInterpolatedStringHandler.AppendFormatted(item.CurrencyName); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1071152910)); - defaultInterpolatedStringHandler.AppendFormatted(value2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-809157797)); - defaultInterpolatedStringHandler.AppendFormatted(value3); - defaultInterpolatedStringHandler.AppendLiteral(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(444206578)); - UiThemeUtils.WrappedText(defaultInterpolatedStringHandler.ToStringAndClear()); - } - finally - { - num2 = ((colorDisposable == null) ? (-609824758) : (-609824759)); - while (true) - { - int num24 = num2; - num4 = -609824760; - num5 = num24; - int num25 = num5 + num4; - int num26 = num5 & num4; - switch (num25 - (num26 + num26)) - { - case 0: - num2 = -609824759; - break; - case 2: - goto end_IL_0ca2; - case 1: - _206B_200B_206F_206C_202B_206E_206E_200F_202C_206B_200D_200C_206E_206A_206C_200C_202B_202E_202B_202A_200D_206F_200F_200B_206A_206D_200D_206F_200C_202C_200F_206D_200E_206F_202E_206F_200C_202A_206C_206A_202E((IDisposable)colorDisposable); - num2 = -609824758; - break; - } - continue; - end_IL_0ca2: - break; - } - } - } - } - finally - { - num2 = ((indentDisposable == null) ? (-1110550115) : (-1110550116)); - while (true) - { - int num27 = num2; - num4 = -1110550115; - num5 = num27; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - num2 = -1110550116; - break; - case 1: - _206B_200B_206F_206C_202B_206E_206E_200F_202C_206B_200D_200C_206E_206A_206C_200C_202B_202E_202B_202A_200D_206F_200F_200B_206A_206D_200D_206F_200C_202C_200F_206D_200E_206F_202E_206F_200C_202A_206C_206A_202E((IDisposable)indentDisposable); - num2 = -1110550115; - break; - case 0: - goto end_IL_0d2e; - } - continue; - end_IL_0d2e: - break; - } - } - goto end_IL_07bf; - } - } - continue; - end_IL_07bf: - break; - } - goto end_IL_022e; } + if (!flag2 && ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) + { + if (_questController.IsRunning) + { + ImGui.SetTooltip("Quest automation is running. Stop it first."); + } + else if (_fateController.IsRunning) + { + ImGui.SetTooltip("FATE farming is running. Stop it first."); + } + else if (_seasonalDutyController.IsRunning) + { + ImGui.SetTooltip("Seasonal duty farming is running. Stop it first."); + } + else if (_attunementController.IsRunning) + { + ImGui.SetTooltip("Attunement is running. Stop it first."); + } + else if (flag) + { + ImGui.SetTooltip("Automation is already running for this NPC."); + } + else if (_customDeliveryController.State != CustomDeliveryController.EDeliveryState.Idle) + { + ImGui.SetTooltip("Another delivery is already in progress."); + } + else if (remainingAllowances <= 0) + { + ImGui.SetTooltip("No weekly allowances remaining."); + } + else + { + ImGui.SetTooltip("No deliveries remaining for this NPC this week."); + } + } + uint rowId2 = subrow.Reward.RowId; + bool isBonus = subrow.IsBonus; + List list = _rewardCalculator.CalculateRewards(rowId2, isBonus, _configuration.CustomDeliveries.CollectabilityTier); + if (list.Count <= 0) + { + continue; + } + string text4 = string.Join(", ", list.ConvertAll((DeliveryRewardCalculator.CurrencyReward r) => $"{r.AmountPerDelivery} {r.CurrencyName}")); + using (ImRaii.PushIndent()) + { + UiThemeUtils.WrappedTextColored(UiThemeUtils.DimTextColor, "Rewards: " + text4); + foreach (DeliveryRewardCalculator.CurrencyReward item in list) + { + if (!DeliveryRewardCalculator.WouldOvercap(item.CurrencyItemId, item.AmountPerDelivery, deliveriesRemaining)) + { + continue; + } + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.StatusActive)) + { + using (ImRaii.PushFont(UiBuilder.IconFont)) + { + ImGui.Text(FontAwesomeIcon.ExclamationTriangle.ToIconString()); + } + ImGui.SameLine(0f, 4f); + int itemCount = InventoryHelper.GetItemCount(item.CurrencyItemId); + int value2 = item.AmountPerDelivery * deliveriesRemaining; + UiThemeUtils.WrappedText($"{item.CurrencyName} would overcap ({itemCount} + {value2})"); + } + } } - continue; - end_IL_022e: - break; } } - finally + List deliveryQueue = _configuration.CustomDeliveries.DeliveryQueue; + int num3 = deliveryQueue.IndexOf(npcIndex); + if (num3 >= 0) { - num2 = ((idDisposable == null) ? 735896166 : 735896165); - while (true) + using (ImRaii.Disabled(num3 == 0)) { - int num28 = num2; - num4 = 735896164; - num5 = num28; - int num29 = num5 + num4; - int num30 = num5 & num4; - switch (num29 - (num30 + num30)) + if (UiThemeUtils.IconButton(FontAwesomeIcon.ArrowUp, ImGui.GetFrameHeight())) { - case 0: - num2 = 735896165; - break; - case 2: - goto end_IL_0d9e; - case 1: - _206B_200B_206F_206C_202B_206E_206E_200F_202C_206B_200D_200C_206E_206A_206C_200C_202B_202E_202B_202A_200D_206F_200F_200B_206A_206D_200D_206F_200C_202C_200F_206D_200E_206F_202E_206F_200C_202A_206C_206A_202E((IDisposable)idDisposable); - num2 = 735896166; - break; + deliveryQueue.RemoveAt(num3); + deliveryQueue.Insert(num3 - 1, npcIndex); + _pluginInterface.SavePluginConfig(_configuration); } - continue; - end_IL_0d9e: - break; + } + if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) + { + ImU8String tooltip = new ImU8String(19, 2); + tooltip.AppendLiteral("Queue position: "); + tooltip.AppendFormatted(num3 + 1); + tooltip.AppendLiteral(" / "); + tooltip.AppendFormatted(deliveryQueue.Count); + ImGui.SetTooltip(tooltip); + } + ImGui.SameLine(); + using (ImRaii.Disabled(num3 == deliveryQueue.Count - 1)) + { + if (UiThemeUtils.IconButton(FontAwesomeIcon.ArrowDown, ImGui.GetFrameHeight())) + { + deliveryQueue.RemoveAt(num3); + deliveryQueue.Insert(num3 + 1, npcIndex); + _pluginInterface.SavePluginConfig(_configuration); + } + } + ImGui.SameLine(); + if (UiThemeUtils.IconButton(FontAwesomeIcon.Minus, ImGui.GetFrameHeight())) + { + deliveryQueue.Remove(npcIndex); + _pluginInterface.SavePluginConfig(_configuration); + } + if (ImGui.IsItemHovered()) + { + ImGui.SetTooltip("Remove from delivery queue"); } } - int num31 = num8; - num4 = 1; - num5 = num31; - int num32 = num5 ^ num4; - int num33 = num5 & num4; - num8 = num32 + (num33 + num33); - } - num2 = -108366554; - List deliveryQueue = default(List); - int num35 = default(int); - string text2 = default(string); - DeliveryPlan currentPlan2 = default(DeliveryPlan); - while (true) - { - int num34 = num2; - int num4 = -108366553; - int num5 = num34; - switch ((num5 | num4) - (num5 & num4)) + else { - case 2: - num2 = -108366554; - break; - case 1: - deliveryQueue = _configuration.CustomDeliveries.DeliveryQueue; - num35 = deliveryQueue.IndexOf(npcIndex); - if (num35 >= 0) - { - num2 = -108366553; - break; - } - if (UiThemeUtils.IconButton(FontAwesomeIcon.Plus, _200C_206D_200E_206C_206C_200F_200E_202C_206E_200F_202C_200F_202D_206E_202D_202C_200F_202E_202A_206A_202E_200F_202B_200C_206D_200F_202D_206C_202B_202A_206B_206E_202D_202C_206D_202E_206F_206F_206D_202E_202E())) + if (UiThemeUtils.IconButton(FontAwesomeIcon.Plus, ImGui.GetFrameHeight())) { deliveryQueue.Add(npcIndex); - _206A_202D_200C_200B_202B_206B_206C_206D_202E_206B_202E_202D_206C_206B_202E_200C_200D_202E_206F_200C_202A_202D_200D_202D_206F_206C_206A_202B_202D_200D_202D_202C_200F_206B_206C_200C_202B_200E_206E_202E_202E(_pluginInterface, (IPluginConfiguration)_configuration); + _pluginInterface.SavePluginConfig(_configuration); } - if (_200B_206D_206C_206B_200B_202D_202A_200B_206C_202E_206F_200B_200F_200C_200E_202D_200C_206A_206C_206D_200B_206B_202D_200B_202D_202E_202B_200D_200B_202C_202D_200D_206B_206F_200D_200F_206B_202C_202B_206E_202E()) + if (ImGui.IsItemHovered()) { - _202A_206C_202B_200F_206C_200B_200D_202A_206C_206A_200D_206F_200E_202E_202D_200F_200B_206E_206C_206C_200F_200E_206A_200E_202B_202B_202C_206C_206E_206B_202A_200C_206E_200E_200B_200C_200B_202C_200E_206B_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1508108081)); - num2 = -24438164; - goto IL_11ce; + ImGui.SetTooltip("Add to delivery queue"); } - goto IL_12f5; - case 0: - { - ImRaii.DisabledDisposable disabledDisposable = _200F_206F_202D_206B_206F_200E_200E_206B_202C_202C_206B_206B_200D_206E_202B_202E_200B_200D_200E_206C_200F_206C_206A_206A_206F_202D_200E_202E_200C_202E_206D_202E_202D_202B_206D_206A_202D_200C_200E_202E_202E(num35 == 0); - try - { - num2 = ((!UiThemeUtils.IconButton(FontAwesomeIcon.ArrowUp, _200C_206D_200E_206C_206C_200F_200E_202C_206E_200F_202C_200F_202D_206E_202D_202C_200F_202E_202A_206A_202E_200F_202B_200C_206D_200F_202D_206C_202B_202A_206B_206E_202D_202C_206D_202E_206F_206F_206D_202E_202E())) ? (-446512354) : (-446512355)); - while (true) - { - int num36 = num2; - num4 = -446512356; - num5 = num36; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num2 = -446512355; - break; - case 1: - { - deliveryQueue.RemoveAt(num35); - List list2 = deliveryQueue; - int num37 = num35; - num4 = 1; - num5 = num37; - list2.Insert(~(~num5 + num4), npcIndex); - _206A_202D_200C_200B_202B_206B_206C_206D_202E_206B_202E_202D_206C_206B_202E_200C_200D_202E_206F_200C_202A_202D_200D_202D_206F_206C_206A_202B_202D_200D_202D_202C_200F_206B_206C_200C_202B_200E_206E_202E_202E(_pluginInterface, (IPluginConfiguration)_configuration); - num2 = -446512354; - break; - } - case 2: - goto end_IL_0ebb; - } - continue; - end_IL_0ebb: - break; - } - } - finally - { - num2 = ((disabledDisposable == null) ? (-187160597) : (-187160598)); - while (true) - { - int num38 = num2; - num4 = -187160597; - num5 = num38; - int num39 = num5 + num4; - int num40 = num5 & num4; - switch (num39 - (num40 + num40)) - { - case 2: - num2 = -187160598; - break; - case 0: - goto end_IL_0f53; - case 1: - _206B_200B_206F_206C_202B_206E_206E_200F_202C_206B_200D_200C_206E_206A_206C_200C_202B_202E_202B_202A_200D_206F_200F_200B_206A_206D_200D_206F_200C_202C_200F_206D_200E_206F_202E_206F_200C_202A_206C_206A_202E((IDisposable)disabledDisposable); - num2 = -187160597; - break; - } - continue; - end_IL_0f53: - break; - } - } - num2 = ((!_202C_202B_206B_202A_206B_202D_206F_200F_206B_202A_200B_202D_200D_200D_206E_206A_202C_202B_202D_206D_200B_200E_206A_200B_206E_206A_202C_200D_202A_206B_206D_200D_200E_206E_200C_200F_202A_206F_200B_206D_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? (-1917102626) : (-1917102627)); - while (true) - { - int num41 = num2; - num4 = -1917102628; - num5 = num41; - int num42 = num5 + num4; - int num43 = num5 & num4; - switch (num42 - (num43 + num43)) - { - default: - continue; - case 0: - num2 = -1917102627; - continue; - case 1: - { - ImU8String imU8String4 = new ImU8String(19, 2); - imU8String4.AppendLiteral(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(-1691694885)); - int num44 = num35; - num4 = 1; - num5 = num44; - int num45 = num5 ^ num4; - int num46 = num5 & num4; - imU8String4.AppendFormatted(num45 + (num46 + num46)); - imU8String4.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1534070043)); - imU8String4.AppendFormatted(deliveryQueue.Count); - _202A_206C_202B_200F_206C_200B_200D_202A_206C_206A_200D_206F_200E_202E_202D_200F_200B_206E_206C_206C_200F_200E_206A_200E_202B_202B_202C_206C_206E_206B_202A_200C_206E_200E_200B_200C_200B_202C_200E_206B_202E(imU8String4); - num2 = -1917102626; - continue; - } - case 2: - break; - } - break; - } - _200C_200D_202C_200E_200B_202C_200B_200B_206D_200C_206B_200B_202B_202B_202E_206B_200E_202C_206B_202E_206C_200E_200C_202D_206C_206F_202C_206F_200B_202C_200F_200F_200E_200C_206D_206A_206C_206B_206B_202E(); - disabledDisposable = _200F_206F_202D_206B_206F_200E_200E_206B_202C_202C_206B_206B_200D_206E_202B_202E_200B_200D_200E_206C_200F_206C_206A_206A_206F_202D_200E_202E_200C_202E_206D_202E_202D_202B_206D_206A_202D_200C_200E_202E_202E(num35 == deliveryQueue.Count - 1); - try - { - num2 = ((!UiThemeUtils.IconButton(FontAwesomeIcon.ArrowDown, _200C_206D_200E_206C_206C_200F_200E_202C_206E_200F_202C_200F_202D_206E_202D_202C_200F_202E_202A_206A_202E_200F_202B_200C_206D_200F_202D_206C_202B_202A_206B_206E_202D_202C_206D_202E_206F_206F_206D_202E_202E())) ? 1024234644 : 1024234647); - while (true) - { - int num47 = num2; - num4 = 1024234645; - num5 = num47; - int num48 = num5 + num4; - int num49 = num5 & num4; - switch (num48 - (num49 + num49)) - { - case 0: - num2 = 1024234647; - break; - case 2: - { - deliveryQueue.RemoveAt(num35); - List list3 = deliveryQueue; - int num50 = num35; - num4 = 1; - num5 = num50; - int num51 = num5 ^ num4; - int num52 = num5 & num4; - list3.Insert(num51 + (num52 + num52), npcIndex); - _206A_202D_200C_200B_202B_206B_206C_206D_202E_206B_202E_202D_206C_206B_202E_200C_200D_202E_206F_200C_202A_202D_200D_202D_206F_206C_206A_202B_202D_200D_202D_202C_200F_206B_206C_200C_202B_200E_206E_202E_202E(_pluginInterface, (IPluginConfiguration)_configuration); - num2 = 1024234644; - break; - } - case 1: - goto end_IL_10af; - } - continue; - end_IL_10af: - break; - } - } - finally - { - num2 = ((disabledDisposable == null) ? 440717623 : 440717620); - while (true) - { - int num53 = num2; - num4 = 440717622; - num5 = num53; - int num54 = num5 + num4; - int num55 = num5 & num4; - switch (num54 - (num55 + num55)) - { - case 0: - num2 = 440717620; - break; - case 2: - _206B_200B_206F_206C_202B_206E_206E_200F_202C_206B_200D_200C_206E_206A_206C_200C_202B_202E_202B_202A_200D_206F_200F_200B_206A_206D_200D_206F_200C_202C_200F_206D_200E_206F_202E_206F_200C_202A_206C_206A_202E((IDisposable)disabledDisposable); - num2 = 440717623; - break; - case 1: - goto end_IL_114f; - } - continue; - end_IL_114f: - break; - } - } - _200C_200D_202C_200E_200B_202C_200B_200B_206D_200C_206B_200B_202B_202B_202E_206B_200E_202C_206B_202E_206C_200E_200C_202D_206C_206F_202C_206F_200B_202C_200F_200F_200E_200C_206D_206A_206C_206B_206B_202E(); - num2 = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Minus, _200C_206D_200E_206C_206C_200F_200E_202C_206E_200F_202C_200F_202D_206E_202D_202C_200F_202E_202A_206A_202E_200F_202B_200C_206D_200F_202D_206C_202B_202A_206B_206E_202D_202C_206D_202E_206F_206F_206D_202E_202E())) ? (-24438174) : (-24438170)); - goto IL_11ce; - } - IL_11ce: - while (true) - { - int num56 = num2; - num4 = -24438164; - num5 = num56; - switch ((num5 | num4) - (num5 & num4)) - { - default: - continue; - case 5: - text2 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-208957793); - num2 = -24438162; - continue; - case 3: - _200D_202D_200F_200C_206C_202B_200F_202A_206C_206D_206F_206F_206C_200D_206C_202C_206E_206B_200E_206D_206B_206C_202E_200F_202D_200C_206D_202A_206E_202D_200F_200D_200D_200C_200E_200F_202D_200E_206F_206E_202E(); - currentPlan2 = _customDeliveryController.CurrentPlan; - switch (_customDeliveryController.State) - { - case CustomDeliveryController.EDeliveryState.TurningIn: - break; - default: - goto IL_1292; - case CustomDeliveryController.EDeliveryState.Executing: - goto IL_129e; - case CustomDeliveryController.EDeliveryState.WaitingForCraft: - goto IL_12b6; - case CustomDeliveryController.EDeliveryState.WaitingForFish: - goto IL_1342; - case CustomDeliveryController.EDeliveryState.Complete: - goto IL_1366; - case CustomDeliveryController.EDeliveryState.WaitingForGather: - goto IL_14c3; - } - goto case 5; - case 11: - goto IL_129e; - case 18: - goto IL_12b6; - case 9: - _200D_202D_200F_200C_206C_202B_200F_202A_206C_206D_206F_206F_206C_200D_206C_202C_206E_206B_200E_206D_206B_206C_202E_200F_202D_200C_206D_202A_206E_202D_200F_200D_200D_200C_200E_200F_202D_200E_206F_206E_202E(); - return; - case 1: - _customDeliveryController.Stop(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(2144334620)); - num2 = -24438171; - continue; - case 0: - break; - case 17: - num2 = -24438176; - continue; - case 14: - num2 = ((!_200B_206D_206C_206B_200B_202D_202A_200B_206C_202E_206F_200B_200F_200C_200E_202D_200C_206A_206C_206D_200B_206B_202D_200B_202D_202E_202B_200D_200B_202C_202D_200D_206B_206F_200D_200F_206B_202C_202B_206E_202E()) ? (-24438164) : (-24438172)); - continue; - case 7: - goto IL_1342; - case 15: - num2 = -24438170; - continue; - case 4: - goto IL_1366; - case 16: - { - string itemName2 = GetItemName(currentPlan2.ItemId); - ImU8String imU8String5 = new ImU8String(6, 1); - imU8String5.AppendLiteral(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(-150682317)); - imU8String5.AppendFormatted(itemName2); - _200C_206E_200B_206E_200C_202B_206A_202A_200B_206D_206C_200E_206F_206A_206D_206D_202B_206B_206C_206F_200E_202A_200E_206C_202C_200D_206C_202E_206C_202A_206D_206C_206B_206A_202D_206D_206E_202B_206E_200F_202E(ref UiThemeUtils.DimTextColor, imU8String5); - num2 = -24438175; - continue; - } - case 2: - { - string text3 = text2; - _200C_206E_200B_206E_200C_202B_206A_202A_200B_206D_206C_200E_206F_206A_206D_206D_202B_206B_206C_206F_200E_202A_200E_206C_202C_200D_206C_202E_206C_202A_206D_206C_206B_206A_202D_206D_206E_202B_206E_200F_202E(ref UiThemeUtils.StatusActive, (ImU8String)text3); - num2 = ((currentPlan2 == null) ? (-24438175) : (-24438148)); - continue; - } - case 10: - deliveryQueue.Remove(npcIndex); - _206A_202D_200C_200B_202B_206B_206C_206D_202E_206B_202E_202D_206C_206B_202E_200C_200D_202E_206F_200C_202A_202D_200D_202D_206F_206C_206A_202B_202D_200D_202D_202C_200F_206B_206C_200C_202B_200E_206E_202E_202E(_pluginInterface, (IPluginConfiguration)_configuration); - num2 = -24438174; - continue; - case 8: - _202A_206C_202B_200F_206C_200B_200D_202A_206C_206A_200D_206F_200E_202E_202D_200F_200B_206E_206C_206C_200F_200E_206A_200E_202B_202B_202C_206C_206E_206B_202A_200C_206E_200E_200B_200C_200B_202C_200E_206B_202E((ImU8String)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(656153411)); - break; - case 13: - num2 = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Stop, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-706453881))) ? (-24438171) : (-24438163)); - continue; - case 6: - goto IL_14c3; - case 12: - { - text2 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1654225134); - num2 = -24438162; - continue; - } - IL_1366: - text2 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1679534027); - num2 = -24438162; - continue; - IL_1342: - text2 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-739876525); - num2 = -24438162; - continue; - IL_12b6: - text2 = 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(2013139255); - num2 = -24438162; - continue; - IL_129e: - text2 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(793879849); - num2 = -24438162; - continue; - IL_1292: - num2 = -24438147; - continue; - IL_14c3: - text2 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1684456319); - num2 = -24438162; - continue; - } - break; - } - goto IL_12f5; - IL_12f5: - num2 = ((!flag) ? (-24438171) : (-24438161)); - goto IL_11ce; } + if (flag) + { + ImGui.Spacing(); + DeliveryPlan currentPlan2 = _customDeliveryController.CurrentPlan; + ImGui.TextColored(in UiThemeUtils.StatusActive, _customDeliveryController.State switch + { + CustomDeliveryController.EDeliveryState.WaitingForCraft => "Waiting for craft...", + CustomDeliveryController.EDeliveryState.WaitingForGather => "Waiting for gather...", + CustomDeliveryController.EDeliveryState.WaitingForFish => "Waiting for fish...", + CustomDeliveryController.EDeliveryState.TurningIn => "Turning in...", + CustomDeliveryController.EDeliveryState.Executing => "Executing...", + CustomDeliveryController.EDeliveryState.Complete => "Complete.", + _ => "Running...", + }); + if (currentPlan2 != null) + { + string itemName2 = GetItemName(currentPlan2.ItemId); + ImU8String text5 = new ImU8String(6, 1); + text5.AppendLiteral("Item: "); + text5.AppendFormatted(itemName2); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text5); + } + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Stop, "Stop")) + { + _customDeliveryController.Stop("User requested stop"); + } + } + ImGui.Spacing(); } } private bool HasAnyDoHDoLAtLevel(ushort requiredLevel) { ExcelSheet excelSheet = _dataManager.GetExcelSheet(); - EClassJob[] array = new EClassJob[11]; - _202A_202E_202A_206D_202B_202D_206E_200E_202C_202A_202B_202C_200C_206C_200B_206A_200F_206D_202B_206E_200B_202B_202D_206E_206C_206E_200F_206B_202C_202A_206A_206C_202C_200C_202B_200B_206D_206C_206D_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - EClassJob[] array2 = array; - int num = 0; - int num2 = -1047471697; - ClassJob row = default(ClassJob); - while (true) + EClassJob[] array = new EClassJob[11] { - int num3 = num2; - int num4 = -1047471702; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) + EClassJob.Carpenter, + EClassJob.Blacksmith, + EClassJob.Armorer, + EClassJob.Goldsmith, + EClassJob.Leatherworker, + EClassJob.Weaver, + EClassJob.Alchemist, + EClassJob.Culinarian, + EClassJob.Miner, + EClassJob.Botanist, + EClassJob.Fisher + }; + foreach (EClassJob rowId in array) + { + if (excelSheet.TryGetRow((uint)rowId, out var row) && PlayerStateHelper.GetClassJobLevel(row.ExpArrayIndex) >= requiredLevel) { - case 6: - return false; - case 2: - { - int num8 = num; - num4 = 1; - num5 = num8; - int num9 = num5 ^ num4; - int num10 = num5 & num4; - num = num9 + (num10 + num10); - num2 = -1047471697; - break; - } - case 0: - num2 = -1047471697; - break; - case 4: return true; - case 1: - { - EClassJob rowId = array2[num]; - num2 = ((!excelSheet.TryGetRow((uint)rowId, out row)) ? (-1047471704) : (-1047471703)); - break; - } - case 3: - num2 = ((_200F_200F_200B_200B_206A_202D_202B_206D_200D_200B_202B_200F_200C_202A_206E_202C_206A_202E_206D_200E_200F_200B_202D_206D_200D_200F_206D_200D_202E_200D_200F_200D_202D_200C_200F_200B_200E_206F_200C_200F_202E((int)row.ExpArrayIndex) < requiredLevel) ? (-1047471704) : (-1047471698)); - break; - case 5: - num2 = ((num < array2.Length) ? (-1047471701) : (-1047471700)); - break; } } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private string GetItemName(uint itemId) { - Item row; - int num = ((!_dataManager.GetExcelSheet().TryGetRow(itemId, out row)) ? (-1329306888) : (-1329306887)); - while (true) + if (_dataManager.GetExcelSheet().TryGetRow(itemId, out var row)) { - int num2 = num; - int num3 = -1329306888; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(5, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(1774619943)); - defaultInterpolatedStringHandler.AppendFormatted(itemId); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - case 1: - return row.Name.ToString(); - case 2: - goto IL_00a6; - } - continue; - IL_00a6: - num = -1329306887; + return row.Name.ToString(); } + return $"Item#{itemId}"; } private static (DateTime ResetTime, TimeSpan TimeUntilReset) CalculateWeeklyReset() @@ -1995,369 +733,25 @@ internal sealed class CustomDeliveryJournalComponent DateTime utcNow = DateTime.UtcNow; int num = (int)(2 - utcNow.DayOfWeek + 7) % 7; DateTime dateTime = utcNow.Date.AddDays(num).AddHours(8.0); - int num2 = ((!(dateTime <= utcNow)) ? (-1056922684) : (-1056922681)); - while (true) + if (dateTime <= utcNow) { - int num3 = num2; - int num4 = -1056922683; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 0: - num2 = -1056922681; - break; - case 2: - dateTime = dateTime.AddDays(7.0); - num2 = -1056922684; - break; - case 1: - { - TimeSpan item = dateTime - utcNow; - return (ResetTime: dateTime.ToLocalTime(), TimeUntilReset: item); - } - } + dateTime = dateTime.AddDays(7.0); } + TimeSpan item = dateTime - utcNow; + return (ResetTime: dateTime.ToLocalTime(), TimeUntilReset: item); } - [MethodImpl(MethodImplOptions.NoInlining)] private static string GetExpansionName(EExpansionVersion expansion) { - int num; - string result = default(string); - switch (expansion) + return expansion switch { - default: - num = -2868485; - goto IL_0029; - case EExpansionVersion.Heavensward: - result = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(221441773); - num = -2868486; - goto IL_0029; - case EExpansionVersion.Endwalker: - goto IL_0099; - case EExpansionVersion.Dawntrail: - goto IL_00ba; - case EExpansionVersion.Shadowbringers: - goto IL_00d0; - case EExpansionVersion.Stormblood: - goto IL_00f1; - case EExpansionVersion.ARealmReborn: - goto IL_0109; - IL_0029: - while (true) - { - int num2 = num; - int num3 = -2868493; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 7: - result = expansion.ToString(); - num = -2868486; - break; - case 5: - goto end_IL_0029; - case 3: - goto IL_0099; - case 8: - num = -2868492; - break; - case 6: - goto IL_00ba; - case 2: - goto IL_00d0; - case 0: - num = -2868485; - break; - case 1: - goto IL_00f1; - case 9: - return result; - case 4: - goto IL_0109; - } - continue; - end_IL_0029: - break; - } - goto case EExpansionVersion.Heavensward; - IL_0109: - result = 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(177882678); - num = -2868486; - goto IL_0029; - IL_00f1: - result = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1756895913); - num = -2868486; - goto IL_0029; - IL_00d0: - result = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1593202768); - num = -2868486; - goto IL_0029; - IL_00ba: - result = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-247237943); - num = -2868486; - goto IL_0029; - IL_0099: - result = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-603468531); - num = -2868486; - goto IL_0029; - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - static CustomDeliveryJournalComponent() - { - EClassJob[] array = new EClassJob[8]; - _202A_202E_202A_206D_202B_202D_206E_200E_202C_202A_202B_202C_200C_206C_200B_206A_200F_206D_202B_206E_200B_202B_202D_206E_206C_206E_200F_206B_202C_202A_206A_206C_202C_200C_202B_200B_206D_206C_206D_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - CrafterJobs = array; - GathererNames = new string[2] - { - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1210711157), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-491484256) + EExpansionVersion.ARealmReborn => "A Realm Reborn", + EExpansionVersion.Heavensward => "Heavensward", + EExpansionVersion.Stormblood => "Stormblood", + EExpansionVersion.Shadowbringers => "Shadowbringers", + EExpansionVersion.Endwalker => "Endwalker", + EExpansionVersion.Dawntrail => "Dawntrail", + _ => expansion.ToString(), }; - GathererJobs = new EClassJob[2] - { - EClassJob.Miner, - EClassJob.Botanist - }; - OvercapModeNames = new string[3] - { - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1551866722), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1606236117), - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1302723565) - }; - CollectabilityTierNames = new string[3] - { - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2068032764), - 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(1663501260), - 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(-1666589218) - }; - } - - static void _200C_200D_202C_200E_200B_202C_200B_200B_206D_200C_206B_200B_202B_202B_202E_206B_200E_202C_206B_202E_206C_200E_200C_202D_206C_206F_202C_206F_200B_202C_200F_200F_200E_200C_206D_206A_206C_206B_206B_202E() - { - ImGui.SameLine(); - } - - static ImRaii.DisabledDisposable _200F_206F_202D_206B_206F_200E_200E_206B_202C_202C_206B_206B_200D_206E_202B_202E_200B_200D_200E_206C_200F_206C_206A_206A_206F_202D_200E_202E_200C_202E_206D_202E_202D_202B_206D_206A_202D_200C_200E_202E_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static void _206B_200B_206F_206C_202B_206E_206E_200F_202C_206B_200D_200C_206E_206A_206C_200C_202B_202E_202B_202A_200D_206F_200F_200B_206A_206D_200D_206F_200C_202C_200F_206D_200E_206F_202E_206F_200C_202A_206C_206A_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _206B_202C_206C_206E_200E_206E_206A_200D_200D_202C_202E_206D_200C_200C_202E_206B_200D_200B_200D_202B_200E_202B_202E_200C_202C_200F_202D_206E_200B_206C_206F_200C_202D_206D_206A_202C_206F_202B_202C_202D_202E() - { - ImGui.Separator(); - } - - static void _200D_202D_200F_200C_206C_202B_200F_202A_206C_206D_206F_206F_206C_200D_206C_202C_206E_206B_200E_206D_206B_206C_202E_200F_202D_200C_206D_202A_206E_202D_200F_200D_200D_200C_200E_200F_202D_200E_206F_206E_202E() - { - ImGui.Spacing(); - } - - static void _200C_206E_200B_206E_200C_202B_206A_202A_200B_206D_206C_200E_206F_206A_206D_206D_202B_206B_206C_206F_200E_202A_200E_206C_202C_200D_206C_202E_206C_202A_206D_206C_206B_206A_202D_206D_206E_202B_206E_200F_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static ushort _206F_202B_206A_202C_202E_200F_200E_202A_200E_206B_206B_200C_206B_200C_206F_200F_202B_200F_206E_202C_206B_206C_202A_206F_200C_202C_202D_200D_206D_206B_202D_206F_206B_200C_206B_200C_206B_202E_206C_202A_202E(ElementId P_0) - { - return P_0.Value; - } - - static bool _200C_200F_206C_200F_200E_206D_206F_206D_206D_206A_202B_206C_200B_206B_206A_206E_200E_206D_206B_202E_200E_206F_200E_202E_202A_200C_200B_200F_202E_206B_206F_202C_206F_200B_202D_206E_202B_200E_206A_206E_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static int _206D_202A_200F_206F_200C_202E_202C_202D_206E_200D_200C_202B_206F_200D_200B_202E_200F_202D_200C_202E_202A_206C_200B_202E_202B_202D_202D_200C_200D_206F_206C_206E_200C_202D_206D_206B_200E_206D_206B_200D_202E() - { - return SatisfactionSupplyActions.GetRemainingAllowances(); - } - - static byte _206E_200B_200C_206D_200E_202A_206D_206E_206A_206C_206D_206D_200D_200D_202B_202D_202B_206C_202D_206C_206F_206D_206A_200B_202C_200F_202E_200D_202E_206A_202A_206A_202C_200F_206E_200B_206A_206D_206A_200D_202E() - { - return SatisfactionSupplyActions.GetBonusGuaranteeRowId(); - } - - static int _200C_200B_200D_202C_206D_202C_200D_206E_202A_206E_200E_206B_206A_202A_202B_200D_206A_206E_200E_200D_206F_202D_200C_202C_200C_202A_200D_200F_200F_200B_200B_206F_206D_202C_200E_206F_200F_206D_202B_202D_202E(SatisfactionSupplyHelper P_0, int P_1) - { - return P_0.CalculateBonusGuaranteeIndex(P_1); - } - - static SatisfactionSupplyNpcId _200E_202B_206E_202E_202C_206D_200B_206D_206B_206E_206A_206D_202A_206C_202E_200E_200C_202D_206B_206B_202B_206A_200F_200B_200B_206D_206C_202E_206C_202B_206A_206D_206F_206B_200F_206E_202B_200B_200D_200E_202E(ushort P_0) - { - return new SatisfactionSupplyNpcId(P_0); - } - - static void _200D_202E_202B_202B_202A_200B_206B_206E_206A_200B_202D_202E_206F_200E_200D_202C_206C_202D_202E_202B_200B_202B_200E_200B_202B_202E_202D_206C_206F_200B_202A_206F_206B_200D_206C_202C_206F_200D_202C_200E_202E(float P_0, float P_1) - { - ImGui.SameLine(P_0, P_1); - } - - static Vector2 _202E_202A_206C_202A_206E_200F_200B_200B_200D_202C_206B_206D_206A_200C_200D_202E_206C_200B_202D_202A_206A_202E_202D_200B_206C_206D_206B_206A_200D_206A_202E_202C_202B_206B_202D_200E_202D_206F_202A_202B_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static float _206C_200C_206C_200D_206D_200F_202C_202A_202D_206E_206D_206C_200B_202D_202A_200B_206F_202D_200B_202A_200C_206D_202E_206E_206D_202A_206C_200B_200D_206B_206D_202D_202E_202C_200C_206F_200D_202D_202E_202E_202E(float P_0, float P_1) - { - return MathF.Min(P_0, P_1); - } - - static void _206B_202D_200D_200F_200B_206B_206C_200E_206A_206A_206E_202A_200B_206B_206B_206B_200F_206F_206E_202D_200D_206F_206B_206F_202C_206A_202C_200F_200D_206E_200F_200D_200D_206F_206F_200F_206A_200C_206A_200D_202E(float P_0) - { - ImGui.SetNextItemWidth(P_0); - } - - static void _206A_202D_200C_200B_202B_206B_206C_206D_202E_206B_202E_202D_206C_206B_202E_200C_200D_202E_206F_200C_202A_202D_200D_202D_206F_206C_206A_202B_202D_200D_202D_202C_200F_206B_206C_200C_202B_200E_206E_202E_202E(IDalamudPluginInterface P_0, IPluginConfiguration P_1) - { - P_0.SavePluginConfig(P_1); - } - - static bool _200B_206D_206C_206B_200B_202D_202A_200B_206C_202E_206F_200B_200F_200C_200E_202D_200C_206A_206C_206D_200B_206B_202D_200B_202D_202E_202B_200D_200B_202C_202D_200D_206B_206F_200D_200F_206B_202C_202B_206E_202E() - { - return ImGui.IsItemHovered(); - } - - static void _202A_206C_202B_200F_206C_200B_200D_202A_206C_206A_200D_206F_200E_202E_202D_200F_200B_206E_206C_206C_200F_200E_206A_200E_202B_202B_202C_206C_206E_206B_202A_200C_206E_200E_200B_200C_200B_202C_200E_206B_202E(ImU8String P_0) - { - ImGui.SetTooltip(P_0); - } - - static SatisfactionSupplyActions.NpcState _200E_202C_206A_200F_206F_206F_200B_202B_206D_202D_202C_202B_206E_200E_202C_200F_206F_200C_206C_206A_202B_202B_206F_202A_200B_202B_202E_206A_202A_206C_206A_202D_200B_200C_200D_202B_206A_206E_206D_202E_202E(int P_0) - { - return SatisfactionSupplyActions.GetNpcState(P_0); - } - - static ImRaii.IdDisposable _200F_202D_202A_206A_202C_206A_200F_200C_206F_202E_200E_206E_206A_206A_202A_206B_200D_206B_200B_206E_206B_206F_206F_206F_206E_202A_202E_202A_202A_202A_200D_202A_206F_200C_202E_202B_200F_200C_202B_206C_202E(ImU8String P_0, bool P_1) - { - return ImRaii.PushId(P_0, P_1); - } - - static bool _202C_202B_206B_202A_206B_202D_206F_200F_206B_202A_200B_202D_200D_200D_206E_206A_202C_202B_202D_206D_200B_200E_206A_200B_206E_206A_202C_200D_202A_206B_206D_200D_200E_206E_200C_200F_202A_206F_200B_206D_202E(ImGuiHoveredFlags P_0) - { - return ImGui.IsItemHovered(P_0); - } - - static ImRaii.IndentDisposable _200C_202A_200E_202A_206D_202E_202A_202B_206D_206C_200F_202B_200E_206D_206B_200C_206D_206F_206E_206C_202E_206B_200F_200F_200C_202C_206B_200E_206F_206C_200C_200C_206B_206D_200B_206C_206F_202B_200D_206E_202E(int P_0, bool P_1) - { - return ImRaii.PushIndent(P_0, P_1); - } - - static ImRaii.IdDisposable _200C_202C_206E_206C_206F_206A_202A_200D_206E_200C_200E_202A_206F_206E_206A_200C_202D_206D_202A_200F_202A_206C_206A_206A_200C_202D_202D_200F_202A_202C_206C_202B_202B_206B_206F_202C_206F_206B_206F_202C_202E(int P_0, bool P_1) - { - return ImRaii.PushId(P_0, P_1); - } - - static void _202C_202D_202E_202A_200B_202C_200F_200F_202B_206E_206F_206F_200B_200C_200D_202A_200C_202E_200F_202D_206E_206E_200E_200D_206D_206E_206B_206D_206E_200E_200B_202A_202E_202A_202E_206F_200D_206A_200C_202E_202E(float P_0, Vector2 P_1, ImU8String P_2) - { - ImGui.ProgressBar(P_0, P_1, P_2); - } - - static float _200C_206D_200E_206C_206C_200F_200E_202C_206E_200F_202C_200F_202D_206E_202D_202C_200F_202E_202A_206A_202E_200F_202B_200C_206D_200F_202D_206C_202B_202A_206B_206E_202D_202C_206D_202E_206F_206F_206D_202E_202E() - { - return ImGui.GetFrameHeight(); - } - - static void _206B_202C_202A_200D_202E_202E_206C_206F_202E_206A_206A_200E_200D_200C_200D_206A_200F_202B_202A_200C_206E_202C_200C_200E_200C_200C_200F_200F_206B_202C_200C_206B_200E_200E_200B_200D_206A_206D_206E_206D_202E(ImU8String P_0, ImGuiPopupFlags P_1) - { - ImGui.OpenPopup(P_0, P_1); - } - - static bool _202D_206A_200F_202D_202B_202C_206A_202E_202B_202C_202C_206A_206D_202B_200D_206D_206A_200B_206C_206C_202A_200C_206C_206D_200B_200C_202A_202E_200C_202B_206C_200F_202E_202D_200E_202C_206C_202E_206B_200E_202E(ImU8String P_0, ImGuiWindowFlags P_1) - { - return ImGui.BeginPopup(P_0, P_1); - } - - static bool _200D_200D_206D_206D_200E_206E_200B_202D_200C_206D_202D_202C_206F_206C_200B_206A_200B_206B_202C_202E_200C_202E_200F_200E_202A_200D_202D_200F_206E_202C_200C_206B_202E_200E_200B_206D_202A_202A_202A_202D_202E(ImU8String P_0, ref int P_1, int P_2, int P_3, ImU8String P_4, ImGuiInputTextFlags P_5) - { - return ImGui.InputInt(P_0, ref P_1, P_2, P_3, P_4, P_5); - } - - static void _200D_206F_202A_206B_200F_206D_202B_206E_200D_200B_200D_206E_206F_200B_206F_202C_206C_202C_200B_206B_200E_200B_202A_200C_206B_206E_202B_206E_206B_200B_200E_206E_200C_206F_206D_200C_206A_200C_202D_206A_202E() - { - ImGui.EndPopup(); - } - - static uint _202E_206E_200C_202D_206F_206E_206D_200B_206C_200D_200F_202D_200E_200D_202C_206B_206C_202E_200F_206B_202B_206A_206B_206B_206B_206B_206B_200D_200F_206B_206C_202A_202D_206E_200C_206C_202D_206A_200B_206C_202E() - { - return SatisfactionSupplyActions.GetSupplySeed(); - } - - static uint[] _202A_202C_200F_206E_200F_206D_206D_200F_200D_202C_200F_202B_200C_202E_202B_206A_206F_206F_200E_202E_200D_200F_202D_200B_206B_202D_206A_206E_200F_202B_202D_206A_206D_206A_202C_200D_202D_206B_206F_206C_202E(SatisfactionSupplyHelper P_0, uint P_1, uint P_2) - { - return P_0.CalculateRequestedItems(P_1, P_2); - } - - static ImFontPtr _206C_206C_202D_206F_200C_200F_200C_200B_202E_200F_202E_200D_200C_202C_206E_206F_206C_200D_206E_200F_206D_206C_206C_206A_206E_202E_200D_206C_202C_202E_206B_206B_206A_206C_200F_200F_206E_202A_200D_200C_202E() - { - return UiBuilder.IconFont; - } - - static ImRaii.FontDisposable _202B_200B_206D_206E_200D_200E_202D_202A_202D_200B_200D_202D_200D_206C_202B_200F_202D_202A_202B_206E_200D_202A_200E_206D_206D_200E_206B_202B_202B_200D_200C_200D_200F_200C_200E_202A_202E_206A_200E_206D_202E(ImFontPtr P_0, bool P_1) - { - return ImRaii.PushFont(P_0, P_1); - } - - static string _206E_206D_202B_206A_206B_206E_206B_206F_202D_206B_206A_200F_202A_202B_200F_202B_200B_206B_206C_200F_206B_202D_202E_200E_206F_202E_200B_200F_206A_202A_200B_202D_200E_202B_206B_202A_206E_202C_202D_200E_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static Vector2 _202C_200F_206E_206F_200D_206D_206A_200E_202A_206B_200C_206A_202B_200B_200F_206D_202D_200D_206E_200B_202C_206B_206E_200E_206B_202C_200D_200C_200E_202A_206E_200F_206A_200B_202B_200E_200B_200D_202A_202A_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static ImGuiStylePtr _206B_206F_200C_200C_202D_202D_202C_202E_206B_206C_206D_200D_206E_200F_200D_206E_206C_200C_206F_200E_206D_206B_206F_206F_202D_202D_200E_206B_206E_202C_202D_202B_202D_202D_200B_200B_200E_206A_202D_206E_202E() - { - return ImGui.GetStyle(); - } - - static void _206A_202A_200E_200C_200D_200D_202E_206C_200B_200E_200D_200C_206B_206E_206B_202D_206F_202C_202C_206C_202D_200D_206D_206B_202D_206D_206E_206F_202A_206A_200B_202C_202B_200E_200B_202C_200B_206D_206C_200D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static string _200C_206D_206B_202A_202D_202A_202A_202C_202E_206A_202C_200B_206C_200D_200B_202C_200B_202B_200F_200E_202C_200C_202C_200E_200B_200B_206C_206B_202E_206E_206F_206E_202B_206A_202A_202B_200B_206F_200C_200D_202E(string P_0, IEnumerable P_1) - { - return string.Join(P_0, P_1); - } - - static string _200C_206B_206D_206C_200E_200C_206B_200D_202A_200F_202B_200F_202A_202C_206F_206F_202B_206A_206E_202E_206A_200F_202D_202A_200D_202B_202A_206C_206E_200F_200B_206E_206C_202C_206D_200C_202A_206B_206F_206A_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static ImRaii.ColorDisposable _202B_206D_206C_206F_200B_200F_202C_200E_206C_206D_206E_200B_202D_200D_202A_200D_200D_206F_206B_202A_200C_202E_206E_206A_202D_200D_200C_206F_206D_202B_200C_206F_200B_202E_200C_202D_200C_202C_206E_202B_202E(ImGuiCol P_0, Vector4 P_1, bool P_2) - { - return ImRaii.PushColor(P_0, P_1, P_2); - } - - static void _202A_202A_206A_202E_200B_206A_202E_202B_202B_200C_202D_206D_202E_200E_200F_206A_200D_206A_206B_202C_206F_200C_202E_200D_206A_200B_206B_202C_200E_202E_206B_202E_206F_200C_200B_206F_200F_200D_206F_206A_202E(ImU8String P_0) - { - ImGui.Text(P_0); - } - - static int _202D_202C_202D_202E_206B_206A_206E_202B_206F_206C_206C_206D_206D_206E_202C_206F_200F_200F_202C_200F_206B_202C_202E_200F_202C_206D_202E_206A_206C_202B_202A_206D_206A_200B_200F_202A_200F_202C_206C_200F_202E(uint P_0, bool P_1, bool P_2) - { - return InventoryHelper.GetItemCount(P_0, P_1, P_2); - } - - static void _202A_202E_202A_206D_202B_202D_206E_200E_202C_202A_202B_202C_200C_206C_200B_206A_200F_206D_202B_206E_200B_202B_202D_206E_206C_206E_200F_206B_202C_202A_206A_206C_202C_200C_202B_200B_206D_206C_206D_202E(Array P_0, RuntimeFieldHandle P_1) - { - RuntimeHelpers.InitializeArray(P_0, P_1); - } - - static short _200F_200F_200B_200B_206A_202D_202B_206D_200D_200B_202B_200F_200C_202A_206E_202C_206A_202E_206D_200E_200F_200B_202D_206D_200D_200F_206D_200D_202E_200D_200F_200D_202D_200C_200F_200B_200E_206F_200C_200F_202E(int P_0) - { - return PlayerStateHelper.GetClassJobLevel(P_0); } } diff --git a/Questionable/Questionable.Windows.JournalComponents/DutyJournalComponent.cs b/Questionable/Questionable.Windows.JournalComponents/DutyJournalComponent.cs index 28f1966..bfa0ede 100644 --- a/Questionable/Questionable.Windows.JournalComponents/DutyJournalComponent.cs +++ b/Questionable/Questionable.Windows.JournalComponents/DutyJournalComponent.cs @@ -1,14 +1,10 @@ using System; using System.Collections.Generic; -using System.Collections.Immutable; using System.Globalization; using System.Linq; -using System.Numerics; using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Bindings.ImGui; using Dalamud.Interface; -using Dalamud.Interface.ManagedFontAtlas; using Dalamud.Interface.Utility.Raii; using Dalamud.Plugin; using Microsoft.Extensions.Logging; @@ -27,264 +23,12 @@ internal sealed class DutyJournalComponent Duty } - private readonly record struct FlatRow(RowType Type, int GroupIndex, DutyInfo? Duty, string Label, DutyCounts Counts) - { - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206F_202A_206C_206C_202A_206B_206A_206C_200E_202C_202C_200D_202E_200D_200B_206A_206D_200B_206D_202D_206C_206E_200D_206D_200C_200B_206A_200D_206A_200F_200E_202B_202C_206C_200C_200D_206E_200C_206C_202A_202E(); - _200C_202B_200B_200E_200D_202C_206A_206B_202C_200F_202D_202C_206C_206B_202C_202D_200D_202E_206A_202B_202D_206B_202C_202A_206B_206C_202C_200F_206C_206A_202D_206C_206B_202A_206F_200E_206B_206E_200D_206A_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2098208768)); - _200C_202B_200B_200E_200D_202C_206A_206B_202C_200F_202D_202C_206C_206B_202C_202D_200D_202E_206A_202B_202D_206B_202C_202A_206B_206C_202C_200F_206C_206A_202D_206C_206B_202A_206F_200E_206B_206E_200D_206A_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? 653299951 : 653299950); - while (true) - { - int num2 = num; - int num3 = 653299951; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 653299950; - break; - case 0: - _206A_206C_202D_206D_202B_200D_202A_206E_206D_206C_200C_206F_202A_206A_206D_200E_206E_206D_206D_206D_202D_206B_200C_200F_206D_206C_206C_202C_202C_206D_206C_200F_202D_206E_202C_202C_206F_202D_200F_200C_202E(stringBuilder, '}'); - return _200E_206C_206B_202B_206A_202A_202E_202E_206C_200B_206C_200E_200C_200B_206F_202A_206D_202C_200D_202A_206B_202E_202A_200B_206E_202D_200D_200B_202A_200B_200E_206D_202A_202C_206F_206F_200F_206B_206F_202C_202E((object)stringBuilder); - case 1: - _206A_206C_202D_206D_202B_200D_202A_206E_206D_206C_200C_206F_202A_206A_206D_200E_206E_206D_206D_206D_202D_206B_200C_200F_206D_206C_206C_202C_202C_206D_206C_200F_202D_206E_202C_202C_206F_202D_200F_200C_202E(stringBuilder, ' '); - num = 653299951; - break; - } - } - } + private readonly record struct FlatRow(RowType Type, int GroupIndex, DutyInfo? Duty, string Label, DutyCounts Counts); - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200C_202B_200B_200E_200D_202C_206A_206B_202C_200F_202D_202C_206C_206B_202C_202D_200D_202E_206A_202B_202D_206B_202C_202A_206B_206C_202C_200F_206C_206A_202D_206C_206B_202A_206F_200E_206B_206E_200D_206A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-217898061)); - _200C_202B_200B_200E_200D_202C_206A_206B_202C_200F_202D_202C_206C_206B_202C_202D_200D_202E_206A_202B_202D_206B_202C_202A_206B_206C_202C_200F_206C_206A_202D_206C_206B_202A_206F_200E_206B_206E_200D_206A_202E(builder, Type.ToString()); - _200C_202B_200B_200E_200D_202C_206A_206B_202C_200F_202D_202C_206C_206B_202C_202D_200D_202E_206A_202B_202D_206B_202C_202A_206B_206C_202C_200F_206C_206A_202D_206C_206B_202A_206F_200E_206B_206E_200D_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-868367691)); - _200C_202B_200B_200E_200D_202C_206A_206B_202C_200F_202D_202C_206C_206B_202C_202D_200D_202E_206A_202B_202D_206B_202C_202A_206B_206C_202C_200F_206C_206A_202D_206C_206B_202A_206F_200E_206B_206E_200D_206A_202E(builder, GroupIndex.ToString()); - _200C_202B_200B_200E_200D_202C_206A_206B_202C_200F_202D_202C_206C_206B_202C_202D_200D_202E_206A_202B_202D_206B_202C_202A_206B_206C_202C_200F_206C_206A_202D_206C_206B_202A_206F_200E_206B_206E_200D_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-406571044)); - _202A_200E_206E_200E_202D_206D_200C_200C_202B_202B_202E_200E_200D_202C_200B_200E_200B_206B_200B_200F_202C_206C_200B_200E_202C_206D_202E_200F_200B_200E_200B_206A_200B_200E_206E_200B_200B_206A_206D_206B_202E(builder, (object)Duty); - _200C_202B_200B_200E_200D_202C_206A_206B_202C_200F_202D_202C_206C_206B_202C_202D_200D_202E_206A_202B_202D_206B_202C_202A_206B_206C_202C_200F_206C_206A_202D_206C_206B_202A_206F_200E_206B_206E_200D_206A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-215899582)); - _202A_200E_206E_200E_202D_206D_200C_200C_202B_202B_202E_200E_200D_202C_200B_200E_200B_206B_200B_200F_202C_206C_200B_200E_202C_206D_202E_200F_200B_200E_200B_206A_200B_200E_206E_200B_200B_206A_206D_206B_202E(builder, (object)Label); - _200C_202B_200B_200E_200D_202C_206A_206B_202C_200F_202D_202C_206C_206B_202C_202D_200D_202E_206A_202B_202D_206B_202C_202A_206B_206C_202C_200F_206C_206A_202D_206C_206B_202A_206F_200E_206B_206E_200D_206A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1999051001)); - _202A_200E_206E_200E_202D_206D_200C_200C_202B_202B_202E_200E_200D_202C_200B_200E_200B_206B_200B_200F_202C_206C_200B_200E_202C_206D_202E_200F_200B_200E_200B_206A_200B_200E_206E_200B_200B_206A_206D_206B_202E(builder, (object)Counts); - return true; - } - - [CompilerGenerated] - public bool Equals(FlatRow other) - { - int num = ((!EqualityComparer.Default.Equals(Type, other.Type)) ? (-146816792) : (-146816791)); - while (true) - { - int num2 = num; - int num3 = -146816792; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return EqualityComparer.Default.Equals(Counts, other.Counts); - case 4: - num = ((!EqualityComparer.Default.Equals(Label, other.Label)) ? (-146816792) : (-146816789)); - break; - case 5: - num = -146816791; - break; - case 1: - num = ((!EqualityComparer.Default.Equals(GroupIndex, other.GroupIndex)) ? (-146816792) : (-146816790)); - break; - case 0: - return false; - case 2: - num = ((!EqualityComparer.Default.Equals(Duty, other.Duty)) ? (-146816792) : (-146816788)); - break; - } - } - } - - bool IEquatable.Equals(FlatRow other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _206F_202A_206C_206C_202A_206B_206A_206C_200E_202C_202C_200D_202E_200D_200B_206A_206D_200B_206D_202D_206C_206E_200D_206D_200C_200B_206A_200D_206A_200F_200E_202B_202C_206C_200C_200D_206E_200C_206C_202A_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200C_202B_200B_200E_200D_202C_206A_206B_202C_200F_202D_202C_206C_206B_202C_202D_200D_202E_206A_202B_202D_206B_202C_202A_206B_206C_202C_200F_206C_206A_202D_206C_206B_202A_206F_200E_206B_206E_200D_206A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206A_206C_202D_206D_202B_200D_202A_206E_206D_206C_200C_206F_202A_206A_206D_200E_206E_206D_206D_206D_202D_206B_200C_200F_206D_206C_206C_202C_202C_206D_206C_200F_202D_206E_202C_202C_206F_202D_200F_200C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200E_206C_206B_202B_206A_202A_202E_202E_206C_200B_206C_200E_200C_200B_206F_202A_206D_202C_200D_202A_206B_202E_202A_200B_206E_202D_200D_200B_202A_200B_200E_206D_202A_202C_206F_206F_200F_206B_206F_202C_202E(object P_0) - { - return P_0.ToString(); - } - - static StringBuilder _202A_200E_206E_200E_202D_206D_200C_200C_202B_202B_202E_200E_200D_202C_200B_200E_200B_206B_200B_200F_202C_206C_200B_200E_202C_206D_202E_200F_200B_200E_200B_206A_200B_200E_206E_200B_200B_206A_206D_206B_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - } - - private sealed record DutyCategory(string Name, List Duties) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202E_202B_202D_202B_200D_202E_206C_202E_206D_200C_200D_206D_200F_200D_206A_206C_206C_200B_202B_202D_206E_206E_200D_202D_202A_202E_200B_200D_200F_206F_202C_202C_200B_206C_206A_202C_200F_202C_206D_206A_202E(typeof(DutyCategory).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200F_200C_206D_200E_202C_200F_200F_200B_200B_200C_206A_200B_206E_206C_202A_206E_200C_202D_202A_202B_202C_200E_200E_200F_202B_206D_206E_206F_202A_206B_206D_200F_202C_206D_200B_206F_202A_200E_202A_200F_202E(); - _206F_206B_202E_202C_206F_206A_202A_206C_206B_202B_200C_200D_200E_202C_206F_200C_200F_200F_202D_200C_206E_206A_202B_200E_202C_202D_202C_202E_200E_206D_200F_206B_200B_202D_206C_200B_202C_206D_200D_200E_202E(stringBuilder, 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(-1281747430)); - _206F_206B_202E_202C_206F_206A_202A_206C_206B_202B_200C_200D_200E_202C_206F_200C_200F_200F_202D_200C_206E_206A_202B_200E_202C_202D_202C_202E_200E_206D_200F_206B_200B_202D_206C_200B_202C_206D_200D_200E_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? (-1876373602) : (-1876373603)); - while (true) - { - int num2 = num; - int num3 = -1876373601; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - _206D_200D_206D_206E_206A_202A_202E_202C_206A_206D_206E_200B_200B_202B_200C_206D_206E_206A_206E_206F_206A_200B_206E_200C_202A_202D_202C_206D_202E_202D_200B_206F_206A_206F_206A_206D_200F_206A_200D_200E_202E(stringBuilder, '}'); - return _202B_202E_202B_202A_202B_200B_200E_200C_206B_202A_200F_200B_200D_202C_206E_200D_206C_206A_206A_206A_206A_206B_200C_206F_200D_200D_200E_202B_202C_206E_202E_206A_206E_202D_206F_200C_206A_200D_200C_202E_202E((object)stringBuilder); - case 2: - _206D_200D_206D_206E_206A_202A_202E_202C_206A_206D_206E_200B_200B_202B_200C_206D_206E_206A_206E_206F_206A_200B_206E_200C_202A_202D_202C_206D_202E_202D_200B_206F_206A_206F_206A_206D_200F_206A_200D_200E_202E(stringBuilder, ' '); - num = -1876373602; - break; - case 0: - num = -1876373603; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202B_202E_202B_206F_202C_206B_202D_206B_200D_206B_202D_202C_202A_206F_206C_200B_206B_202E_200B_206F_200E_206E_202D_202C_200B_200D_200F_202D_206C_202A_206C_206D_200B_206E_206A_206D_206B_206E_206E_202E(); - _206F_206B_202E_202C_206F_206A_202A_206C_206B_202B_200C_200D_200E_202C_206F_200C_200F_200F_202D_200C_206E_206A_202B_200E_202C_202D_202C_202E_200E_206D_200F_206B_200B_202D_206C_200B_202C_206D_200D_200E_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(868794944)); - _202A_200D_202D_200B_200C_206F_206F_202C_206F_206B_206F_206E_202A_202C_202A_200E_206D_200D_202B_202E_202A_200F_206B_206F_206F_206B_200E_202C_206A_200E_202B_206C_200F_206B_202E_206C_202B_206F_202A_200D_202E(builder, (object)Name); - _206F_206B_202E_202C_206F_206A_202A_206C_206B_202B_200C_200D_200E_202C_206F_200C_200F_200F_202D_200C_206E_206A_202B_200E_202C_202D_202C_202E_200E_206D_200F_206B_200B_202D_206C_200B_202C_206D_200D_200E_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1440615544)); - _202A_200D_202D_200B_200C_206F_206F_202C_206F_206B_206F_206E_202A_202C_202A_200E_206D_200D_202B_202E_202A_200F_206B_206F_206F_206B_200E_202C_206A_200E_202B_206C_200F_206B_202E_206C_202B_206F_202A_200D_202E(builder, (object)Duties); - return true; - } - - [CompilerGenerated] - public bool Equals(DutyCategory? other) - { - int num = (((object)this == other) ? 1905115001 : 1905115003); - while (true) - { - int num2 = num; - int num3 = 1905115002; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - return false; - case 2: - num = ((!_200B_206B_206F_200B_202B_202A_200C_200D_206D_202E_200D_200C_206B_202A_202D_206B_200F_200B_202A_206B_200D_202B_206D_206A_206C_206C_206D_206C_206F_200D_206F_202C_200B_206E_200D_200B_200E_206F_206E_202C_202E(EqualityContract, other.EqualityContract)) ? 1905115004 : 1905115006); - break; - case 1: - num = (((object)other == null) ? 1905115004 : 1905115000); - break; - case 3: - return true; - case 4: - num = ((!EqualityComparer.Default.Equals(Name, other.Name)) ? 1905115004 : 1905115002); - break; - case 0: - return EqualityComparer>.Default.Equals(Duties, other.Duties); - case 5: - num = 1905115003; - break; - } - } - } - - bool IEquatable.Equals(DutyCategory? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202E_202B_202D_202B_200D_202E_206C_202E_206D_200C_200D_206D_200F_200D_206A_206C_206C_200B_202B_202D_206E_206E_200D_202D_202A_202E_200B_200D_200F_206F_202C_202C_200B_206C_206A_202C_200F_202C_206D_206A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200F_200C_206D_200E_202C_200F_200F_200B_200B_200C_206A_200B_206E_206C_202A_206E_200C_202D_202A_202B_202C_200E_200E_200F_202B_206D_206E_206F_202A_206B_206D_200F_202C_206D_200B_206F_202A_200E_202A_200F_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206F_206B_202E_202C_206F_206A_202A_206C_206B_202B_200C_200D_200E_202C_206F_200C_200F_200F_202D_200C_206E_206A_202B_200E_202C_202D_202C_202E_200E_206D_200F_206B_200B_202D_206C_200B_202C_206D_200D_200E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206D_200D_206D_206E_206A_202A_202E_202C_206A_206D_206E_200B_200B_202B_200C_206D_206E_206A_206E_206F_206A_200B_206E_200C_202A_202D_202C_206D_202E_202D_200B_206F_206A_206F_206A_206D_200F_206A_200D_200E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202B_202E_202B_202A_202B_200B_200E_200C_206B_202A_200F_200B_200D_202C_206E_200D_206C_206A_206A_206A_206A_206B_200C_206F_200D_200D_200E_202B_202C_206E_202E_206A_206E_202D_206F_200C_206A_200D_200C_202E_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202B_202E_202B_206F_202C_206B_202D_206B_200D_206B_202D_202C_202A_206F_206C_200B_206B_202E_200B_206F_200E_206E_202D_202C_200B_200D_200F_202D_206C_202A_206C_206D_200B_206E_206A_206D_206B_206E_206E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202A_200D_202D_200B_200C_206F_206F_202C_206F_206B_206F_206E_202A_202C_202A_200E_206D_200D_202B_202E_202A_200F_206B_206F_206F_206B_200E_202C_206A_200E_202B_206C_200F_206B_202E_206C_202B_206F_202A_200D_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200B_206B_206F_200B_202B_202A_200C_200D_206D_202E_200D_200C_206B_202A_202D_206B_200F_200B_202A_206B_200D_202B_206D_206A_206C_206C_206D_206C_206F_200D_206F_202C_200B_206E_200D_200B_200E_206F_206E_202C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } + private sealed record DutyCategory(string Name, List Duties); private sealed record DutyCounts(int Unlocked, int Completed, int CompletionTrackable, int Total) { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206A_202C_200F_200B_202C_206C_202C_200F_206E_200F_206C_202A_200D_202A_206A_206A_206F_206F_202B_202C_200F_200F_200B_200F_206A_200F_202E_206E_206E_206E_206A_202A_202E_202D_200C_206C_202A_202B_206B_206B_202E(typeof(DutyCounts).TypeHandle); - } - } - public string FormattedUnlocked { get; } = FormatPair(Unlocked, Total); public string FormattedCompleted { get; } = FormatPair(Completed, CompletionTrackable); @@ -293,25 +37,11 @@ internal sealed class DutyJournalComponent { get { - int num = ((Unlocked != Total) ? 1708914712 : 1708914713); - while (true) + if (Unlocked == Total) { - int num2 = num; - int num3 = 1708914712; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_004c; - case 1: - return Total > 0; - case 0: - return false; - } - continue; - IL_004c: - num = 1708914713; + return Total > 0; } + return false; } } @@ -319,163 +49,28 @@ internal sealed class DutyJournalComponent { get { - int num = ((Completed != CompletionTrackable) ? (-261795205) : (-261795206)); - while (true) + if (Completed == CompletionTrackable) { - int num2 = num; - int num3 = -261795205; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return false; - case 1: - return CompletionTrackable > 0; - case 2: - goto IL_0058; - } - continue; - IL_0058: - num = -261795206; + return CompletionTrackable > 0; } + return false; } } - private static readonly int PadWidth = _200B_200B_206B_202A_200D_202C_206C_202A_206A_206E_202B_206A_206B_206E_206E_206B_202A_206A_200D_200C_200C_200B_200B_202C_200D_206B_202A_202B_206F_200E_206D_202D_202A_206F_202A_202E_200B_200C_202E_206E_202E(9999.ToString(_200F_206E_202B_206B_200D_202B_202A_206D_206B_200C_206C_200D_206D_202D_200E_200C_200B_202A_200E_206A_206A_202B_202C_200C_200B_206D_202D_206C_202D_200B_206C_206A_206A_206A_202C_200C_200E_202D_202B_200C_202E())); + private static readonly int PadWidth = 9999.ToString(CultureInfo.CurrentCulture).Length; public DutyCounts() : this(0, 0, 0, 0) { } - [MethodImpl(MethodImplOptions.NoInlining)] private static string FormatPair(int n, int d) { - int num = ((d == 0) ? 190024114 : 190024115); - while (true) + if (d != 0) { - int num2 = num; - int num3 = 190024114; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return _200D_200B_206A_206C_206A_206F_202E_202B_202D_202A_200D_200F_206C_202C_200E_200E_200C_200C_200F_206C_206F_200F_202C_206D_200E_200B_202A_202B_200B_206A_206D_206F_200F_200B_202C_206E_206A_202D_202E_202E_202E(_206F_202C_202E_200F_206D_200C_206D_206D_206F_200F_200C_206F_202C_206B_206A_202D_202A_206A_200D_202E_202E_200C_202B_202A_206E_206E_202E_206E_206A_202A_200C_200D_206E_206A_206F_202C_206F_206C_206D_202C_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1108021570), PadWidth), 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(884463298), _206F_202C_202E_200F_206D_200C_206D_206D_206F_200F_200C_206F_202C_206B_206A_202D_202A_206A_200D_202E_202E_200C_202B_202A_206E_206E_202E_206E_206A_202A_200C_200D_206E_206A_206F_202C_206F_206C_206D_202C_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1228468769), PadWidth)); - case 1: - return _200D_200B_206A_206C_206A_206F_202E_202B_202D_202A_200D_200F_206C_202C_200E_200E_200C_200C_200F_206C_206F_200F_202C_206D_200E_200B_202A_202B_200B_206A_206D_206F_200F_200B_202C_206E_206A_202D_202E_202E_202E(_202A_202E_200E_200D_206E_200D_200F_206A_200F_202C_200B_200E_200F_200D_206F_206B_206F_202E_206E_202C_206B_202A_200C_202A_206E_202B_200C_206B_206B_200F_202D_200C_200B_202B_206A_206F_206A_206F_202B_206E_202E(n.ToString(_200F_206E_202B_206B_200D_202B_202A_206D_206B_200C_206C_200D_206D_202D_200E_200C_200B_202A_200E_206A_206A_202B_202C_200C_200B_206D_202D_206C_202D_200B_206C_206A_206A_206A_202C_200C_200E_202D_202B_200C_202E()), PadWidth), 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(-242478203), _202A_202E_200E_200D_206E_200D_200F_206A_200F_202C_200B_200E_200F_200D_206F_206B_206F_202E_206E_202C_206B_202A_200C_202A_206E_202B_200C_206B_206B_200F_202D_200C_200B_202B_206A_206F_206A_206F_202B_206E_202E(d.ToString(_200F_206E_202B_206B_200D_202B_202A_206D_206B_200C_206C_200D_206D_202D_200E_200C_200B_202A_200E_206A_206A_202B_202C_200C_200B_206D_202D_206C_202D_200B_206C_206A_206A_206A_202C_200C_200E_202D_202B_200C_202E()), PadWidth)); - case 2: - goto IL_00b7; - } - continue; - IL_00b7: - num = 190024115; + return n.ToString(CultureInfo.CurrentCulture).PadLeft(PadWidth) + " / " + d.ToString(CultureInfo.CurrentCulture).PadLeft(PadWidth); } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202A_206F_202C_200B_206C_200B_202C_206C_200B_206A_200E_200D_200B_200C_200B_206A_206C_206D_202E_200C_206B_200E_200F_206D_206F_200B_202A_200D_206B_202E_202D_200C_200D_202A_200B_202D_202C_200E_200C_202C_202E(); - _200E_200B_206B_200B_202B_202D_202D_200C_202D_206D_206D_202E_202D_202A_202C_202D_202E_206F_206E_202C_206C_200D_200D_200D_202A_202E_200F_206A_202C_200D_200D_200E_200B_200E_206A_206A_200F_206F_200E_206F_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1939685707)); - _200E_200B_206B_200B_202B_202D_202D_200C_202D_206D_206D_202E_202D_202A_202C_202D_202E_206F_206E_202C_206C_200D_200D_200D_202A_202E_200F_206A_202C_200D_200D_200E_200B_200E_206A_206A_200F_206F_200E_206F_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(556540328)); - int num = ((!PrintMembers(stringBuilder)) ? 412923273 : 412923272); - while (true) - { - int num2 = num; - int num3 = 412923273; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 412923272; - break; - case 1: - _202E_206A_200B_200F_206A_200F_202D_206F_202D_202D_206A_206E_200D_202B_206F_202B_206B_206B_202C_206B_206F_202D_200F_202D_206B_200C_202E_200D_206C_200D_206F_200B_200C_206A_200B_206C_202D_206D_200B_206C_202E(stringBuilder, ' '); - num = 412923273; - break; - case 0: - _202E_206A_200B_200F_206A_200F_202D_206F_202D_202D_206A_206E_200D_202B_206F_202B_206B_206B_202C_206B_206F_202D_200F_202D_206B_200C_202E_200D_206C_200D_206F_200B_200C_206A_200B_206C_202D_206D_200B_206C_202E(stringBuilder, '}'); - return _200D_202E_206F_202E_206D_200E_202A_206E_202C_202D_206C_202E_202E_206F_206A_200F_206D_200C_206F_202C_206C_202D_206F_206B_202C_202A_206F_202B_200C_200C_202A_206D_200C_202A_206D_200D_202A_202E_200F_200F_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206B_202C_202D_200C_206E_202C_200C_206C_200B_200B_202D_206C_200C_206A_200D_206A_206D_202C_202A_200B_206C_206C_202C_206B_206D_200C_206C_202B_202A_206B_206E_200B_206A_202E_200C_206A_202E_202B_206C_200E_202E(); - _200E_200B_206B_200B_202B_202D_202D_200C_202D_206D_206D_202E_202D_202A_202C_202D_202E_206F_206E_202C_206C_200D_200D_200D_202A_202E_200F_206A_202C_200D_200D_200E_200B_200E_206A_206A_200F_206F_200E_206F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1032517434)); - _200E_200B_206B_200B_202B_202D_202D_200C_202D_206D_206D_202E_202D_202A_202C_202D_202E_206F_206E_202C_206C_200D_200D_200D_202A_202E_200F_206A_202C_200D_200D_200E_200B_200E_206A_206A_200F_206F_200E_206F_202E(builder, Unlocked.ToString()); - _200E_200B_206B_200B_202B_202D_202D_200C_202D_206D_206D_202E_202D_202A_202C_202D_202E_206F_206E_202C_206C_200D_200D_200D_202A_202E_200F_206A_202C_200D_200D_200E_200B_200E_206A_206A_200F_206F_200E_206F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2145063714)); - _200E_200B_206B_200B_202B_202D_202D_200C_202D_206D_206D_202E_202D_202A_202C_202D_202E_206F_206E_202C_206C_200D_200D_200D_202A_202E_200F_206A_202C_200D_200D_200E_200B_200E_206A_206A_200F_206F_200E_206F_202E(builder, Completed.ToString()); - _200E_200B_206B_200B_202B_202D_202D_200C_202D_206D_206D_202E_202D_202A_202C_202D_202E_206F_206E_202C_206C_200D_200D_200D_202A_202E_200F_206A_202C_200D_200D_200E_200B_200E_206A_206A_200F_206F_200E_206F_202E(builder, 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(1848940060)); - _200E_200B_206B_200B_202B_202D_202D_200C_202D_206D_206D_202E_202D_202A_202C_202D_202E_206F_206E_202C_206C_200D_200D_200D_202A_202E_200F_206A_202C_200D_200D_200E_200B_200E_206A_206A_200F_206F_200E_206F_202E(builder, CompletionTrackable.ToString()); - _200E_200B_206B_200B_202B_202D_202D_200C_202D_206D_206D_202E_202D_202A_202C_202D_202E_206F_206E_202C_206C_200D_200D_200D_202A_202E_200F_206A_202C_200D_200D_200E_200B_200E_206A_206A_200F_206F_200E_206F_202E(builder, 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(-1905120994)); - _200E_200B_206B_200B_202B_202D_202D_200C_202D_206D_206D_202E_202D_202A_202C_202D_202E_206F_206E_202C_206C_200D_200D_200D_202A_202E_200F_206A_202C_200D_200D_200E_200B_200E_206A_206A_200F_206F_200E_206F_202E(builder, Total.ToString()); - _200E_200B_206B_200B_202B_202D_202D_200C_202D_206D_206D_202E_202D_202A_202C_202D_202E_206F_206E_202C_206C_200D_200D_200D_202A_202E_200F_206A_202C_200D_200D_200E_200B_200E_206A_206A_200F_206F_200E_206F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1602419933)); - _202A_202C_202D_206E_206D_202B_200D_206B_206A_200E_206F_202D_206E_200E_206C_202C_202C_202C_206B_206F_206C_206C_206C_206F_202A_202E_202D_200D_200C_202B_206B_200C_200B_202D_202D_202D_206E_202B_202E_202E_202E(builder, (object)FormattedUnlocked); - _200E_200B_206B_200B_202B_202D_202D_200C_202D_206D_206D_202E_202D_202A_202C_202D_202E_206F_206E_202C_206C_200D_200D_200D_202A_202E_200F_206A_202C_200D_200D_200E_200B_200E_206A_206A_200F_206F_200E_206F_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1579413017)); - _202A_202C_202D_206E_206D_202B_200D_206B_206A_200E_206F_202D_206E_200E_206C_202C_202C_202C_206B_206F_206C_206C_206C_206F_202A_202E_202D_200D_200C_202B_206B_200C_200B_202D_202D_202D_206E_202B_202E_202E_202E(builder, (object)FormattedCompleted); - _200E_200B_206B_200B_202B_202D_202D_200C_202D_206D_206D_202E_202D_202A_202C_202D_202E_206F_206E_202C_206C_200D_200D_200D_202A_202E_200F_206A_202C_200D_200D_200E_200B_200E_206A_206A_200F_206F_200E_206F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-905427732)); - _200E_200B_206B_200B_202B_202D_202D_200C_202D_206D_206D_202E_202D_202A_202C_202D_202E_206F_206E_202C_206C_200D_200D_200D_202A_202E_200F_206A_202C_200D_200D_200E_200B_200E_206A_206A_200F_206F_200E_206F_202E(builder, IsUnlockedComplete.ToString()); - _200E_200B_206B_200B_202B_202D_202D_200C_202D_206D_206D_202E_202D_202A_202C_202D_202E_206F_206E_202C_206C_200D_200D_200D_202A_202E_200F_206A_202C_200D_200D_200E_200B_200E_206A_206A_200F_206F_200E_206F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(360371981)); - _200E_200B_206B_200B_202B_202D_202D_200C_202D_206D_206D_202E_202D_202A_202C_202D_202E_206F_206E_202C_206C_200D_200D_200D_202A_202E_200F_206A_202C_200D_200D_200E_200B_200E_206A_206A_200F_206F_200E_206F_202E(builder, IsCompletedComplete.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(DutyCounts? other) - { - int num = (((object)this == other) ? (-651727258) : (-651727262)); - while (true) - { - int num2 = num; - int num3 = -651727263; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - num = ((!EqualityComparer.Default.Equals(FormattedUnlocked, other.FormattedUnlocked)) ? (-651727255) : (-651727260)); - break; - case 7: - return true; - case 2: - num = ((!_202A_206E_206D_206B_206D_200D_206A_202D_200D_202D_202D_206D_206E_206F_202B_202A_200E_202B_206B_206E_202B_202A_206D_202A_206F_206A_206E_200D_206F_202C_206A_200E_206A_206A_202D_202E_202C_200E_202A_202C_202E(EqualityContract, other.EqualityContract)) ? (-651727255) : (-651727264)); - break; - case 4: - num = -651727262; - break; - case 0: - num = ((!EqualityComparer.Default.Equals(CompletionTrackable, other.CompletionTrackable)) ? (-651727255) : (-651727256)); - break; - case 10: - num = ((!EqualityComparer.Default.Equals(Completed, other.Completed)) ? (-651727255) : (-651727263)); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(Unlocked, other.Unlocked)) ? (-651727255) : (-651727253)); - break; - case 5: - return EqualityComparer.Default.Equals(FormattedCompleted, other.FormattedCompleted); - case 9: - num = ((!EqualityComparer.Default.Equals(Total, other.Total)) ? (-651727255) : (-651727257)); - break; - case 3: - num = (((object)other == null) ? (-651727255) : (-651727261)); - break; - case 8: - return false; - } - } - } - - bool IEquatable.Equals(DutyCounts? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); + return "-".PadLeft(PadWidth) + " / " + "-".PadLeft(PadWidth); } [CompilerGenerated] @@ -488,71 +83,6 @@ internal sealed class DutyJournalComponent FormattedUnlocked = original.FormattedUnlocked; FormattedCompleted = original.FormattedCompleted; } - - static Type _206A_202C_200F_200B_202C_206C_202C_200F_206E_200F_206C_202A_200D_202A_206A_206A_206F_206F_202B_202C_200F_200F_200B_200F_206A_200F_202E_206E_206E_206E_206A_202A_202E_202D_200C_206C_202A_202B_206B_206B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static CultureInfo _200F_206E_202B_206B_200D_202B_202A_206D_206B_200C_206C_200D_206D_202D_200E_200C_200B_202A_200E_206A_206A_202B_202C_200C_200B_206D_202D_206C_202D_200B_206C_206A_206A_206A_202C_200C_200E_202D_202B_200C_202E() - { - return CultureInfo.CurrentCulture; - } - - static string _202A_202E_200E_200D_206E_200D_200F_206A_200F_202C_200B_200E_200F_200D_206F_206B_206F_202E_206E_202C_206B_202A_200C_202A_206E_202B_200C_206B_206B_200F_202D_200C_200B_202B_206A_206F_206A_206F_202B_206E_202E(string P_0, int P_1) - { - return P_0.PadLeft(P_1); - } - - static string _200D_200B_206A_206C_206A_206F_202E_202B_202D_202A_200D_200F_206C_202C_200E_200E_200C_200C_200F_206C_206F_200F_202C_206D_200E_200B_202A_202B_200B_206A_206D_206F_200F_200B_202C_206E_206A_202D_202E_202E_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static string _206F_202C_202E_200F_206D_200C_206D_206D_206F_200F_200C_206F_202C_206B_206A_202D_202A_206A_200D_202E_202E_200C_202B_202A_206E_206E_202E_206E_206A_202A_200C_200D_206E_206A_206F_202C_206F_206C_206D_202C_202E(string P_0, int P_1) - { - return P_0.PadLeft(P_1); - } - - static StringBuilder _202A_206F_202C_200B_206C_200B_202C_206C_200B_206A_200E_200D_200B_200C_200B_206A_206C_206D_202E_200C_206B_200E_200F_206D_206F_200B_202A_200D_206B_202E_202D_200C_200D_202A_200B_202D_202C_200E_200C_202C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200E_200B_206B_200B_202B_202D_202D_200C_202D_206D_206D_202E_202D_202A_202C_202D_202E_206F_206E_202C_206C_200D_200D_200D_202A_202E_200F_206A_202C_200D_200D_200E_200B_200E_206A_206A_200F_206F_200E_206F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202E_206A_200B_200F_206A_200F_202D_206F_202D_202D_206A_206E_200D_202B_206F_202B_206B_206B_202C_206B_206F_202D_200F_202D_206B_200C_202E_200D_206C_200D_206F_200B_200C_206A_200B_206C_202D_206D_200B_206C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200D_202E_206F_202E_206D_200E_202A_206E_202C_202D_206C_202E_202E_206F_206A_200F_206D_200C_206F_202C_206C_202D_206F_206B_202C_202A_206F_202B_200C_200C_202A_206D_200C_202A_206D_200D_202A_202E_200F_200F_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206B_202C_202D_200C_206E_202C_200C_206C_200B_200B_202D_206C_200C_206A_200D_206A_206D_202C_202A_200B_206C_206C_202C_206B_206D_200C_206C_202B_202A_206B_206E_200B_206A_202E_200C_206A_202E_202B_206C_200E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202A_202C_202D_206E_206D_202B_200D_206B_206A_200E_206F_202D_206E_200E_206C_202C_202C_202C_206B_206F_206C_206C_206C_206F_202A_202E_202D_200D_200C_202B_206B_200C_200B_202D_202D_202D_206E_202B_202E_202E_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202A_206E_206D_206B_206D_200D_206A_202D_200D_202D_202D_206D_206E_206F_202B_202A_200E_202B_206B_206E_202B_202A_206D_202A_206F_206A_206E_200D_206F_202C_206A_200E_206A_206A_202D_202E_202C_200E_202A_202C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - - static int _200B_200B_206B_202A_200D_202C_206C_202A_206A_206E_202B_206A_206B_206E_206E_206B_202A_206A_200D_200C_200C_200B_200B_202C_200D_206B_202A_202B_206F_200E_206D_202D_202A_206F_202A_202E_200B_200C_202E_206E_202E(string P_0) - { - return P_0.Length; - } } private readonly DutyUnlockData _dutyUnlockData; @@ -591,478 +121,220 @@ internal sealed class DutyJournalComponent _logger = logger; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe void DrawDuties() { DrawFilterControls(); - _202B_200D_202B_206B_202B_202C_200D_200B_200C_202B_206C_206F_202C_200B_206F_206B_202D_202E_206A_202B_200B_206F_202E_200F_202B_202B_200E_206D_206E_206F_200C_202B_202D_200D_200F_206C_200C_200C_200D_202B_202E(); + ImGui.Separator(); if (_flatRows.Count > 0) { - IDisposable disposable = _202E_206C_200D_206E_200B_206C_202D_202E_202D_206D_200F_200D_206F_206D_206B_206C_200B_200D_200F_200C_200B_202E_206A_200F_206D_206A_202D_206F_206B_200D_206A_206D_202C_200B_200D_206D_206B_202E_206B_202D_202E(_202C_206E_200D_202A_200C_202C_206D_200E_206F_200E_206A_206A_206A_206D_206B_206C_202C_202B_200D_200C_200E_200B_202E_206F_202B_202B_200E_202A_200D_200B_200B_200F_200E_202B_202D_200E_202A_200D_206E_206C_202E(_200F_202A_200D_202A_202D_200D_202B_200F_200F_206D_206B_206D_200F_206D_200E_206C_206F_202D_206F_206B_202B_202B_200C_200D_202E_202B_202E_202B_206E_200E_202D_200E_200D_202B_202E_206E_206A_202C_200B_202C_202E(_pluginInterface))); float x; + using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push()) + { + x = ImGui.CalcTextSize(FontAwesomeIcon.Check.ToIconString()).X; + } + float fontGlobalScale = ImGui.GetIO().FontGlobalScale; + using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable("Duties", 3, ImGuiTableFlags.NoSavedSettings | ImGuiTableFlags.ScrollY); + if (!tableDisposable) + { + return; + } + ImGui.TableSetupColumn("Name", ImGuiTableColumnFlags.NoHide); + ImGui.TableSetupColumn("Unlocked", ImGuiTableColumnFlags.WidthFixed, 120f * fontGlobalScale); + ImGui.TableSetupColumn("Completed", ImGuiTableColumnFlags.WidthFixed, 120f * fontGlobalScale); + ImGui.TableHeadersRow(); + float textLineHeightWithSpacing = ImGui.GetTextLineHeightWithSpacing(); + bool flag = false; + ImGuiListClipper* intPtr = ImGuiNative.ImGuiListClipper(); + ImGuiNative.Begin(intPtr, _flatRows.Count, textLineHeightWithSpacing); + ImGuiListClipperPtr imGuiListClipperPtr = intPtr; try { - x = _200D_206F_206C_206C_206B_206C_200F_206D_206D_202E_206B_206B_206C_200B_206D_200C_200D_200D_200F_206B_200D_202D_200B_206B_206D_206F_206E_202A_202B_206D_202A_202E_200C_206A_206E_200B_200F_202A_202D_202B_202E((ImU8String)_200E_206E_202A_206A_200D_200F_206B_206B_200F_200F_202E_206F_202A_200E_206F_200F_206D_200F_202E_200E_200F_206B_202D_202B_206A_206C_206C_202B_206C_202B_206E_202E_202A_202D_200E_206D_202A_200E_200C_200E_202E(FontAwesomeIcon.Check), false, -1f).X; + while (imGuiListClipperPtr.Step()) + { + for (int i = imGuiListClipperPtr.DisplayStart; i < imGuiListClipperPtr.DisplayEnd; i++) + { + if (DrawFlatRow(_flatRows[i], x)) + { + flag = true; + } + } + } } finally { - int num = ((disposable == null) ? (-1587807121) : (-1587807124)); - while (true) - { - int num2 = num; - int num3 = -1587807122; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - goto end_IL_0077; - case 2: - _200D_202E_200C_200E_202D_200B_206F_200E_206A_206E_206B_202C_202B_206E_206F_200C_206D_200E_202A_206F_202D_200E_202C_206B_200E_200D_206B_202E_202B_202E_200B_206C_206C_202D_200F_206A_202D_202D_200D_202E(disposable); - num = -1587807121; - break; - case 0: - num = -1587807124; - break; - } - continue; - end_IL_0077: - break; - } + imGuiListClipperPtr.Destroy(); } - float fontGlobalScale = _202E_206A_206F_200B_206B_206D_202C_202D_206B_206F_202C_200F_202D_200C_200F_202E_202B_206B_200D_200D_200F_200B_206D_200E_206E_202B_206F_200B_202A_200C_202D_200B_202C_206D_200E_206E_200C_200B_206D_206D_202E().FontGlobalScale; - using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1381860118), 3, ImGuiTableFlags.NoSavedSettings | ImGuiTableFlags.ScrollY); - int num = ((!(!tableDisposable)) ? (-1537769579) : (-1537769578)); - int num12 = default(int); - while (true) + if (flag) { - int num7 = num; - int num3 = -1537769577; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_013a; - case 1: - return; - case 2: - { - _202E_206F_206F_206F_200E_206C_200D_202C_202C_200D_206D_200D_202D_202D_206A_206A_206C_200F_206F_206C_202E_200B_202D_200D_206A_200E_200D_202A_200D_206A_200D_202E_202E_200D_200D_202D_206E_200E_206F_202A_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1033927912), ImGuiTableColumnFlags.NoHide, 0f, 0u); - _202E_206F_206F_206F_200E_206C_200D_202C_202C_200D_206D_200D_202D_202D_206A_206A_206C_200F_206F_206C_202E_200B_202D_200D_206A_200E_200D_202A_200D_206A_200D_202E_202E_200D_200D_202D_206E_200E_206F_202A_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-761383585), ImGuiTableColumnFlags.WidthFixed, 120f * fontGlobalScale, 0u); - _202E_206F_206F_206F_200E_206C_200D_202C_202C_200D_206D_200D_202D_202D_206A_206A_206C_200F_206F_206C_202E_200B_202D_200D_206A_200E_200D_202A_200D_206A_200D_202E_202E_200D_200D_202D_206E_200E_206F_202A_202E((ImU8String)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(504802535), ImGuiTableColumnFlags.WidthFixed, 120f * fontGlobalScale, 0u); - _200F_206D_202C_202B_200D_202C_200D_202B_200B_200F_200B_200F_206F_206C_206C_206D_202D_202C_206A_202A_206B_200D_200F_200F_202D_206B_206C_200B_202A_202E_202C_206A_206A_202E_200F_200C_206C_206B_202A_202E(); - float num8 = _200B_200F_200E_206B_200F_202A_200F_200B_202C_202D_206F_202D_202B_206F_206E_202B_206F_200F_200E_206F_206C_206D_202C_206A_200B_200C_206D_200B_202B_206A_206B_200D_206F_206A_200F_206B_206F_200B_206E_202A_202E(); - bool flag = false; - ImGuiListClipper* intPtr = _200C_200F_206E_206A_200D_206B_200B_206D_200D_206A_206B_202D_202B_202D_202C_206C_206C_206F_202A_206B_202C_200E_202B_206C_202A_200D_206E_200C_200F_206E_206E_200E_206D_200D_202D_206F_206F_206E_202A_200F_202E(); - _206C_200D_206F_200F_206E_200E_200C_202E_200F_206F_206C_202D_200B_206E_202E_202C_206D_200F_206B_202C_200C_206A_206E_200E_202B_206C_200E_202A_200B_200D_200E_206C_202B_202D_202A_200D_206E_200C_200E_200E_202E(intPtr, _flatRows.Count, num8); - ImGuiListClipperPtr imGuiListClipperPtr = intPtr; - try - { - num = 510030050; - while (true) - { - int num9 = num; - num3 = 510030051; - num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 5: - { - int num13 = num12; - num3 = 1; - num4 = num13; - num12 = (num4 | num3) + (num4 & num3); - num = 510030052; - break; - } - case 1: - num = (imGuiListClipperPtr.Step() ? 510030048 : 510030055); - break; - case 0: - num = 510030050; - break; - case 6: - flag = true; - num = 510030054; - break; - case 2: - num = ((!DrawFlatRow(_flatRows[num12], x)) ? 510030054 : 510030053); - break; - case 7: - num = ((num12 < imGuiListClipperPtr.DisplayEnd) ? 510030049 : 510030050); - break; - case 3: - num12 = imGuiListClipperPtr.DisplayStart; - num = 510030052; - break; - case 4: - goto end_IL_01e5; - } - continue; - end_IL_01e5: - break; - } - } - finally - { - imGuiListClipperPtr.Destroy(); - } - num = ((!flag) ? (-1551397696) : (-1551397693)); - while (true) - { - int num14 = num; - num3 = -1551397694; - num4 = num14; - int num15 = num4 + num3; - int num16 = num4 & num3; - switch (num15 - (num16 + num16)) - { - case 0: - num = -1551397693; - break; - case 1: - RebuildFlatRows(); - num = -1551397696; - break; - case 2: - return; - } - } - } - } - continue; - IL_013a: - num = -1537769578; + RebuildFlatRows(); } + return; } - UiThemeUtils.EmptyState(FontAwesomeIcon.Dungeon, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-469285537)); + UiThemeUtils.EmptyState(FontAwesomeIcon.Dungeon, "No duties match your search."); } - [MethodImpl(MethodImplOptions.NoInlining)] private bool DrawFlatRow(FlatRow row, float statusIconSpacing) { - _200D_202D_200B_200E_200F_202C_200F_200C_202B_206B_202C_206E_200F_200F_200E_206C_202A_200F_200F_202D_206A_206C_202D_206C_202B_206F_206B_200D_202E_202D_206F_200D_206A_202E_206B_206B_200B_206D_206B_206D_202E(); - _206C_206A_200E_206D_200E_206B_206B_206B_206B_202B_206B_200E_202A_200D_202B_206C_202C_206C_206F_206E_202C_206E_202A_206A_202D_200C_202B_202D_200C_200D_206E_206F_202D_206C_202D_200C_200B_206D_200F_200D_202E(); + ImGui.TableNextRow(); + ImGui.TableNextColumn(); bool result = false; - int num = ((row.Type != RowType.Duty) ? (-911999900) : (-911999895)); - string text = default(string); - bool flag = default(bool); - while (true) + if (row.Type == RowType.Duty) { - int num2 = num; - int num3 = -911999890; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + float indentSpacing = ImGui.GetStyle().IndentSpacing; + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + indentSpacing); + string text = $"Lv{row.Duty.Level} {row.Duty.Name}"; + if (row.Duty.ItemLevel > 0) { - case 8: - { - string text2 = text; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(4, 1); - defaultInterpolatedStringHandler2.AppendLiteral(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(13024905)); - defaultInterpolatedStringHandler2.AppendFormatted(row.Duty.ItemLevel); - defaultInterpolatedStringHandler2.AppendLiteral(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(444206578)); - text = _206B_200C_202A_200B_200B_202D_200D_202D_200C_206F_200B_206D_200F_200F_200D_200F_202D_200B_206C_202E_206D_202B_200E_206D_202E_206E_200E_202C_206F_206E_202E_206D_202B_202E_200E_206C_206C_200B_206C_206D_202E(text2, defaultInterpolatedStringHandler2.ToStringAndClear()); - num = -911999894; - break; + text += $" (i{row.Duty.ItemLevel})"; } - case 7: + ImGui.TreeNodeEx(text, ImGuiTreeNodeFlags.NoTreePushOnOpen | ImGuiTreeNodeFlags.Leaf | ImGuiTreeNodeFlags.SpanFullWidth); + if (ImGui.IsItemHovered()) { - float indentSpacing = _200D_202D_202E_200E_200D_206F_202C_206B_202C_202D_206E_206A_206F_206F_200B_206F_200F_202E_200F_200C_200E_202C_206D_206C_206C_206E_200C_202A_200E_206E_200F_202C_206B_206D_202C_202B_206B_202E_206E_206A_202E().IndentSpacing; - _202E_200E_202B_200E_200B_206B_200F_202C_200F_202C_200E_206B_206A_200C_200B_200C_206E_206D_206A_206F_200D_200B_202C_202E_200C_200C_200E_200F_200E_206A_202C_202D_202A_202E_200B_200E_206D_206B_206C_200C_202E(_206D_202A_206B_206E_202C_206E_202E_200F_200E_206A_200F_200F_202A_206D_200C_200B_202E_200D_206F_200B_202C_202D_206E_206B_206B_206F_200E_202B_202E_200D_206A_200E_206E_202D_202B_206F_202B_202C_206F_202A_202E() + indentSpacing); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(3, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-926672371)); - defaultInterpolatedStringHandler.AppendFormatted(row.Duty.Level); - defaultInterpolatedStringHandler.AppendLiteral(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(2018550958)); - defaultInterpolatedStringHandler.AppendFormatted(row.Duty.Name); - text = defaultInterpolatedStringHandler.ToStringAndClear(); - num = ((row.Duty.ItemLevel <= 0) ? (-911999894) : (-911999898)); - break; - } - case 1: DrawDutyTooltip(row.Duty); - num = -911999896; - break; - case 6: - _206C_206A_200E_206D_200E_206B_206B_206B_206B_202B_206B_200E_202A_200D_202B_206C_202C_206C_206F_206E_202C_206E_202A_206A_202D_200C_202B_202D_200C_200D_206E_206F_202D_206C_202D_200C_200B_206D_200F_200D_202E(); - DrawDutyStatus(row.Duty.IsUnlocked, statusIconSpacing); - _206C_206A_200E_206D_200E_206B_206B_206B_206B_202B_206B_200E_202A_200D_202B_206C_202C_206C_206F_206E_202C_206E_202A_206A_202D_200C_202B_202D_200C_200D_206E_206F_202D_206C_202D_200C_200B_206D_200F_200D_202E(); - DrawDutyStatus(row.Duty.IsCompleted, statusIconSpacing); - num = -911999899; - break; - case 9: - _expandedGroups.Remove(row.Label); - num = -911999902; - break; - case 2: - num = -911999895; - break; - case 0: - _206C_206A_200E_206D_200E_206B_206B_206B_206B_202B_206B_200E_202A_200D_202B_206C_202C_206C_206F_206E_202C_206E_202A_206A_202D_200C_202B_202D_200C_200D_206E_206F_202D_206C_202D_200C_200B_206D_200F_200D_202E(); - UiThemeUtils.DrawTrackerCount(row.Counts.FormattedUnlocked, row.Counts.IsUnlockedComplete, row.Counts.Total == 0); - _206C_206A_200E_206D_200E_206B_206B_206B_206B_202B_206B_200E_202A_200D_202B_206C_202C_206C_206F_206E_202C_206E_202A_206A_202D_200C_202B_202D_200C_200D_206E_206F_202D_206C_202D_200C_200B_206D_200F_200D_202E(); - UiThemeUtils.DrawTrackerCount(row.Counts.FormattedCompleted, row.Counts.IsCompletedComplete, row.Counts.CompletionTrackable == 0); - num = -911999899; - break; - case 5: - _expandedGroups.Add(row.Label); - num = -911999902; - break; - case 3: - num = ((!flag) ? (-911999893) : (-911999897)); - break; - case 10: - { - flag = _expandedGroups.Contains(row.Label); - UiThemeUtils.DrawTrackerGroupCaret(_202C_206E_200D_202A_200C_202C_206D_200E_206F_200E_206A_206A_206A_206D_206B_206C_202C_202B_200D_200C_200E_200B_202E_206F_202B_202B_200E_202A_200D_200B_200B_200F_200E_202B_202D_200E_202A_200D_206E_206C_202E(_200F_202A_200D_202A_202D_200D_202B_200F_200F_206D_206B_206D_200F_206D_200E_206C_206F_202D_206F_206B_202B_202B_200C_200D_202E_202B_202E_202B_206E_200E_202D_200E_200D_202B_202E_206E_206A_202C_200B_202C_202E(_pluginInterface)), flag); - _200B_202A_200D_200C_200D_202C_202B_206A_206C_200C_200C_206E_206A_200C_202C_206D_202B_206F_206E_206E_202B_200B_206F_200D_206E_202B_202A_202B_206D_200D_202C_200F_200D_200D_202E_200E_200F_206B_200C_202A_202E(); - ImU8String imU8String = new ImU8String(5, 2); - imU8String.AppendFormatted(row.Label); - imU8String.AppendLiteral(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(169207648)); - imU8String.AppendFormatted(row.GroupIndex); - num = ((!_200E_206B_206C_200C_202C_202A_202D_200F_202B_200E_206A_200F_200B_202A_202C_206D_202D_202D_206A_206E_202B_206A_206F_206B_202C_202B_202C_206A_206D_206A_202D_202B_200C_206D_202B_202D_206D_202A_200F_202C_202E(imU8String, false, ImGuiSelectableFlags.None, default(Vector2))) ? (-911999890) : (-911999891)); - break; - } - case 12: - result = true; - num = -911999890; - break; - case 4: - _206A_200F_202C_202B_206B_200B_202D_202B_206B_202C_206B_200E_200C_202C_206B_200B_202A_206A_206A_200D_206C_202C_200D_200B_206C_206D_206E_206D_200F_206C_200E_200E_206B_202B_202B_202C_202A_206E_206D_202E_202E((ImU8String)text, ImGuiTreeNodeFlags.NoTreePushOnOpen | ImGuiTreeNodeFlags.Leaf | ImGuiTreeNodeFlags.SpanFullWidth, default(ImU8String)); - num = ((!_202E_202A_202E_202A_200B_200F_206E_200E_202D_202C_206C_200D_202D_206F_200E_200B_200B_202E_200B_202E_206F_200B_202C_200F_202D_200C_200E_206D_206A_200F_206A_206F_206D_206B_202E_206B_206D_202D_200D_200D_202E()) ? (-911999896) : (-911999889)); - break; - case 11: - return result; } + ImGui.TableNextColumn(); + DrawDutyStatus(row.Duty.IsUnlocked, statusIconSpacing); + ImGui.TableNextColumn(); + DrawDutyStatus(row.Duty.IsCompleted, statusIconSpacing); } + else + { + bool flag = _expandedGroups.Contains(row.Label); + UiThemeUtils.DrawTrackerGroupCaret(_pluginInterface.UiBuilder.IconFontFixedWidthHandle, flag); + ImGui.SameLine(); + ImU8String label = new ImU8String(5, 2); + label.AppendFormatted(row.Label); + label.AppendLiteral("##grp"); + label.AppendFormatted(row.GroupIndex); + if (ImGui.Selectable(label)) + { + if (flag) + { + _expandedGroups.Remove(row.Label); + } + else + { + _expandedGroups.Add(row.Label); + } + result = true; + } + ImGui.TableNextColumn(); + UiThemeUtils.DrawTrackerCount(row.Counts.FormattedUnlocked, row.Counts.IsUnlockedComplete, row.Counts.Total == 0); + ImGui.TableNextColumn(); + UiThemeUtils.DrawTrackerCount(row.Counts.FormattedCompleted, row.Counts.IsCompletedComplete, row.Counts.CompletionTrackable == 0); + } + return result; } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawFilterControls() { - float x = _200D_202D_202E_200E_200D_206F_202C_206B_202C_202D_206E_206A_206F_206F_200B_206F_200F_202E_200F_200C_200E_202C_206D_206C_206C_206E_200C_202A_200E_206E_200F_202C_206B_206D_202C_202B_206B_202E_206E_206A_202E().ItemSpacing.X; - float num = 2f * _202D_206A_200C_202A_206D_206E_200B_206F_206D_200D_200E_200C_206D_206E_200F_200C_202D_202A_202D_206D_206D_206D_200F_206F_202B_206F_202A_206C_200E_200C_202A_202B_206F_202D_206A_202C_206A_202A_202B_202C_202E() + _200D_206F_206C_206C_206B_206C_200F_206D_206D_202E_206B_206B_206C_200B_206D_200C_200D_200D_200F_206B_200D_202D_200B_206B_206D_206F_206E_202A_202B_206D_202A_202E_200C_206A_206E_200B_200F_202A_202D_202B_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2070955121), false, -1f).X + _200D_206F_206C_206C_206B_206C_200F_206D_206D_202E_206B_206B_206C_200B_206D_200C_200D_200D_200F_206B_200D_202D_200B_206B_206D_206F_206E_202A_202B_206D_202A_202E_200C_206A_206E_200B_200F_202A_202D_202B_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1106626027), false, -1f).X + 5f * x; - int num2 = ((!UiThemeUtils.SearchInput(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(-872174829), ref _searchText, 0f - num, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1459019774))) ? 92816374 : 92816372); - while (true) + float x = ImGui.GetStyle().ItemSpacing.X; + float num = 2f * ImGui.GetFrameHeight() + ImGui.CalcTextSize("Locked Only").X + ImGui.CalcTextSize("Unlocked Only").X + 5f * x; + if (UiThemeUtils.SearchInput("##DutySearch", ref _searchText, 0f - num, "Search duties...")) { - int num3 = num2; - int num4 = 92816373; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + UpdateFilter(); + } + ImGui.SameLine(); + if (UiThemeUtils.WrappedCheckbox("Locked Only", ref _showLockedOnly)) + { + if (_showLockedOnly) { - case 10: - return; - case 3: - _200B_202A_200D_200C_200D_202C_202B_206A_206C_200C_200C_206E_206A_200C_202C_206D_202B_206F_206E_206E_202B_200B_206F_200D_206E_202B_202A_202B_206D_200D_202C_200F_200D_200D_202E_200E_200F_206B_200C_202A_202E(); - num2 = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2002129860), ref _showLockedOnly)) ? 92816370 : 92816380); - break; - case 4: - num2 = ((!_showUnlockedOnly) ? 92816381 : 92816371); - break; - case 0: _showUnlockedOnly = false; - num2 = 92816368; - break; - case 5: - UpdateFilter(); - num2 = 92816370; - break; - case 6: - _showLockedOnly = false; - num2 = 92816381; - break; - case 9: - num2 = ((!_showLockedOnly) ? 92816368 : 92816373); - break; - case 8: - UpdateFilter(); - num2 = 92816383; - break; - case 7: - _200B_202A_200D_200C_200D_202C_202B_206A_206C_200C_200C_206E_206A_200C_202C_206D_202B_206F_206E_206E_202B_200B_206F_200D_206E_202B_202A_202B_206D_200D_202C_200F_200D_200D_202E_200E_200F_206B_200C_202A_202E(); - num2 = ((!UiThemeUtils.WrappedCheckbox(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(-1060377567), ref _showUnlockedOnly)) ? 92816383 : 92816369); - break; - case 1: - UpdateFilter(); - num2 = 92816374; - break; - case 2: - num2 = 92816372; - break; } + UpdateFilter(); + } + ImGui.SameLine(); + if (UiThemeUtils.WrappedCheckbox("Unlocked Only", ref _showUnlockedOnly)) + { + if (_showUnlockedOnly) + { + _showLockedOnly = false; + } + UpdateFilter(); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawDutyTooltip(DutyInfo duty) { - using ImRaii.TooltipDisposable tooltipDisposable = _202D_200F_206D_206C_200E_202E_200E_206E_206C_202C_200D_206C_200B_200B_200D_200D_202A_206E_200C_206E_206B_200E_206B_206F_206F_200C_202E_200D_206A_202C_206D_206B_200D_200B_206E_206E_200B_200F_206C_200F_202E(); - int num = (tooltipDisposable.Alive ? (-1982852974) : (-1982852965)); - QuestId current = default(QuestId); - IQuestInfo questInfo = default(IQuestInfo); - while (true) + using ImRaii.TooltipDisposable tooltipDisposable = ImRaii.Tooltip(); + if (!tooltipDisposable.Alive) { - int num2 = num; - int num3 = -1982852974; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + ImGui.TextColored(in UiThemeUtils.PrimaryTextColor, duty.Name); + ImU8String text = new ImU8String(12, 1); + text.AppendLiteral("Content ID: "); + text.AppendFormatted(duty.ContentFinderConditionId); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text); + ImGui.Separator(); + ImU8String text2 = new ImU8String(16, 1); + text2.AppendLiteral("Level Required: "); + text2.AppendFormatted(duty.Level); + ImGui.Text(text2); + if (duty.ItemLevel > 0) + { + ImU8String text3 = new ImU8String(21, 1); + text3.AppendLiteral("Item Level Required: "); + text3.AppendFormatted(duty.ItemLevel); + ImGui.Text(text3); + } + ImU8String text4 = new ImU8String(6, 1); + text4.AppendLiteral("Type: "); + text4.AppendFormatted(duty.ContentTypeName); + ImGui.Text(text4); + if (duty.IsHighEndDuty) + { + ImGui.SameLine(); + ImGui.TextColored(in UiThemeUtils.StatusActive, "(High-End)"); + } + ImGui.Separator(); + if (duty.IsUnlocked) + { + ImGui.TextColored(in UiThemeUtils.StatusComplete, "Status: Unlocked"); + } + else + { + ImGui.TextColored(in UiThemeUtils.StatusLocked, "Status: Locked"); + } + if (duty.UnlockQuests.Count > 0) + { + ImGui.Separator(); + ImGui.Text("Unlock Quest(s):"); { - case 4: - _206D_200D_202B_206F_200D_202E_202D_200B_200B_202A_206F_202D_202B_200F_206B_206F_202D_200E_206B_200E_206E_206B_200C_202D_206F_206D_206B_206B_200D_206B_200B_200F_200D_206F_200F_206E_206C_200B_202E_206F_202E(ref UiThemeUtils.StatusLocked, (ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2074321662)); - num = -1982852968; - break; - case 10: - if (duty.UnlockQuests.Count > 0) + foreach (QuestId unlockQuest in duty.UnlockQuests) { - num = -1982852971; - break; - } - _202B_200D_202B_206B_202B_202C_200D_200B_200C_202B_206C_206F_202C_200B_206F_206B_202D_202E_206A_202B_200B_206F_202E_200F_202B_202B_200E_206D_206E_206F_200C_202B_202D_200D_200F_206C_200C_200C_200D_202B_202E(); - _206D_200D_202B_206F_200D_202E_202D_200B_200B_202A_206F_202D_202B_200F_206B_206F_202D_200E_206B_200E_206E_206B_200C_202D_206F_206D_206B_206B_200D_206B_200B_200F_200D_206F_200F_206E_206C_200B_202E_206F_202E(ref UiThemeUtils.DimTextColor, (ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(617607988)); - return; - case 6: - { - ImU8String imU8String2 = new ImU8String(6, 1); - imU8String2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-725035009)); - imU8String2.AppendFormatted(duty.ContentTypeName); - _202E_202C_206F_206C_202D_200F_206F_206A_206E_200F_202E_202D_202A_200E_200E_200B_200D_206F_206E_200F_200D_200B_206C_202A_202D_202A_202A_202E_202C_202B_202D_202E_200C_206B_206A_206E_206D_200B_206C_200F_202E(imU8String2); - num = ((!duty.IsHighEndDuty) ? (-1982852973) : (-1982852969)); - break; - } - case 2: - num = -1982852965; - break; - case 0: - { - _206D_200D_202B_206F_200D_202E_202D_200B_200B_202A_206F_202D_202B_200F_206B_206F_202D_200E_206B_200E_206E_206B_200C_202D_206F_206D_206B_206B_200D_206B_200B_200F_200D_206F_200F_206E_206C_200B_202E_206F_202E(ref UiThemeUtils.PrimaryTextColor, (ImU8String)duty.Name); - ImU8String imU8String3 = new ImU8String(12, 1); - imU8String3.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1747964260)); - imU8String3.AppendFormatted(duty.ContentFinderConditionId); - _206D_200D_202B_206F_200D_202E_202D_200B_200B_202A_206F_202D_202B_200F_206B_206F_202D_200E_206B_200E_206E_206B_200C_202D_206F_206D_206B_206B_200D_206B_200B_200F_200D_206F_200F_206E_206C_200B_202E_206F_202E(ref UiThemeUtils.DimTextColor, imU8String3); - _202B_200D_202B_206B_202B_202C_200D_200B_200C_202B_206C_206F_202C_200B_206F_206B_202D_202E_206A_202B_200B_206F_202E_200F_202B_202B_200E_206D_206E_206F_200C_202B_202D_200D_200F_206C_200C_200C_200D_202B_202E(); - ImU8String imU8String4 = new ImU8String(16, 1); - imU8String4.AppendLiteral(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(-1265596933)); - imU8String4.AppendFormatted(duty.Level); - _202E_202C_206F_206C_202D_200F_206F_206A_206E_200F_202E_202D_202A_200E_200E_200B_200D_206F_206E_200F_200D_200B_206C_202A_202D_202A_202A_202E_202C_202B_202D_202E_200C_206B_206A_206E_206D_200B_206C_200F_202E(imU8String4); - num = ((duty.ItemLevel <= 0) ? (-1982852972) : (-1982852966)); - break; - } - case 1: - _202B_200D_202B_206B_202B_202C_200D_200B_200C_202B_206C_206F_202C_200B_206F_206B_202D_202E_206A_202B_200B_206F_202E_200F_202B_202B_200E_206D_206E_206F_200C_202B_202D_200D_200F_206C_200C_200C_200D_202B_202E(); - num = ((!duty.IsUnlocked) ? (-1982852970) : (-1982852975)); - break; - case 3: - _206D_200D_202B_206F_200D_202E_202D_200B_200B_202A_206F_202D_202B_200F_206B_206F_202D_200E_206B_200E_206E_206B_200C_202D_206F_206D_206B_206B_200D_206B_200B_200F_200D_206F_200F_206E_206C_200B_202E_206F_202E(ref UiThemeUtils.StatusComplete, (ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-194010955)); - num = -1982852968; - break; - case 5: - _200B_202A_200D_200C_200D_202C_202B_206A_206C_200C_200C_206E_206A_200C_202C_206D_202B_206F_206E_206E_202B_200B_206F_200D_206E_202B_202A_202B_206D_200D_202C_200F_200D_200D_202E_200E_200F_206B_200C_202A_202E(); - _206D_200D_202B_206F_200D_202E_202D_200B_200B_202A_206F_202D_202B_200F_206B_206F_202D_200E_206B_200E_206E_206B_200C_202D_206F_206D_206B_206B_200D_206B_200B_200F_200D_206F_200F_206E_206C_200B_202E_206F_202E(ref UiThemeUtils.StatusActive, (ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1344637510)); - num = -1982852973; - break; - case 8: - { - ImU8String imU8String = new ImU8String(21, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(755322802)); - imU8String.AppendFormatted(duty.ItemLevel); - _202E_202C_206F_206C_202D_200F_206F_206A_206E_200F_202E_202D_202A_200E_200E_200B_200D_206F_206E_200F_200D_200B_206C_202A_202D_202A_202A_202E_202C_202B_202D_202E_200C_206B_206A_206E_206D_200B_206C_200F_202E(imU8String); - num = -1982852972; - break; - } - case 9: - return; - case 7: - { - _202B_200D_202B_206B_202B_202C_200D_200B_200C_202B_206C_206F_202C_200B_206F_206B_202D_202E_206A_202B_200B_206F_202E_200F_202B_202B_200E_206D_206E_206F_200C_202B_202D_200D_200F_206C_200C_200C_200D_202B_202E(); - _202E_202C_206F_206C_202D_200F_206F_206A_206E_200F_202E_202D_202A_200E_200E_200B_200D_206F_206E_200F_200D_200B_206C_202A_202D_202A_202A_202E_202C_202B_202D_202E_200C_206B_206A_206E_206D_200B_206C_200F_202E((ImU8String)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(1947459577)); - using ImmutableList.Enumerator enumerator = duty.UnlockQuests.GetEnumerator(); - num = -517590375; - while (true) - { - int num7 = num; - num3 = -517590376; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) + if (_questData.TryGetQuestInfo(unlockQuest, out IQuestInfo questInfo)) { - case 2: - num = -517590375; - break; - case 4: - { - UiUtils uiUtils2 = _uiUtils; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(16, 1); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(76120943)); - defaultInterpolatedStringHandler2.AppendFormatted(current); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - uiUtils2.ChecklistItem(defaultInterpolatedStringHandler2.ToStringAndClear(), UiThemeUtils.StatusUnobtainable, FontAwesomeIcon.Question); - num = -517590375; - break; + var (color, icon, _) = _uiUtils.GetQuestStyle(unlockQuest); + _uiUtils.ChecklistItem($"{questInfo.Name} ({unlockQuest})", color, icon); } - case 0: + else { - (Vector4 Color, FontAwesomeIcon Icon, string Status) questStyle = _uiUtils.GetQuestStyle(current); - Vector4 item = questStyle.Color; - FontAwesomeIcon item2 = questStyle.Icon; - UiUtils uiUtils = _uiUtils; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(3, 2); - defaultInterpolatedStringHandler.AppendFormatted(questInfo.Name); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1495931675)); - defaultInterpolatedStringHandler.AppendFormatted(current); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1618480346)); - uiUtils.ChecklistItem(defaultInterpolatedStringHandler.ToStringAndClear(), item, item2); - num = -517590375; - break; - } - case 1: - num = (enumerator.MoveNext() ? (-517590373) : (-517590371)); - break; - case 3: - current = enumerator.Current; - num = ((!_questData.TryGetQuestInfo(current, out questInfo)) ? (-517590372) : (-517590376)); - break; - case 5: - return; + _uiUtils.ChecklistItem($"Unknown Quest ({unlockQuest})", UiThemeUtils.StatusUnobtainable, FontAwesomeIcon.Question); } } - } + return; } } + ImGui.Separator(); + ImGui.TextColored(in UiThemeUtils.DimTextColor, "No unlock quest data available."); } private void DrawDutyStatus(bool? status, float statusIconSpacing) { - float num = _206C_206B_206D_206D_202C_206F_200D_202A_202D_202D_202A_202A_200F_206E_202E_206C_202B_202A_202C_200C_206B_200F_206C_202E_206E_206D_206B_200D_200E_202A_200C_206F_206A_200F_206F_202A_206D_200C_206E_202E() / 2f - statusIconSpacing; - _202E_200E_202B_200E_200B_206B_200F_202C_200F_202C_200E_206B_206A_200C_200B_200C_206E_206D_206A_206F_200D_200B_202C_202E_200C_200C_200E_200F_200E_206A_202C_202D_202A_202E_200B_200E_206D_206B_206C_200C_202E(_206D_202A_206B_206E_202C_206E_202E_200F_200E_206A_200F_200F_202A_206D_200C_200B_202E_200D_206F_200B_202C_202D_206E_206B_206B_206F_200E_202B_202E_200D_206A_200E_206E_202D_202B_206F_202B_202C_206F_202A_202E() + num); - int num2 = (status.HasValue ? 1147629739 : 1147629738); - while (true) + float num = ImGui.GetColumnWidth() / 2f - statusIconSpacing; + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + num); + if (!status.HasValue) { - int num3 = num2; - int num4 = 1147629739; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - num2 = 1147629738; - break; - case 4: - _uiUtils.ChecklistItem(string.Empty, UiThemeUtils.StatusLocked, FontAwesomeIcon.Times); - return; - case 0: - num2 = ((!status.Value) ? 1147629743 : 1147629736); - break; - case 3: - _uiUtils.ChecklistItem(string.Empty, UiThemeUtils.StatusComplete, FontAwesomeIcon.Check); - return; - case 1: - _uiUtils.ChecklistItem(string.Empty, UiThemeUtils.StatusUnobtainable, FontAwesomeIcon.Minus); - return; - } + _uiUtils.ChecklistItem(string.Empty, UiThemeUtils.StatusUnobtainable, FontAwesomeIcon.Minus); + } + else if (status.Value) + { + _uiUtils.ChecklistItem(string.Empty, UiThemeUtils.StatusComplete, FontAwesomeIcon.Check); + } + else + { + _uiUtils.ChecklistItem(string.Empty, UiThemeUtils.StatusLocked, FontAwesomeIcon.Times); } } @@ -1081,61 +353,33 @@ internal sealed class DutyJournalComponent { continue; } - using List.Enumerator enumerator2 = filteredCategory.Duties.GetEnumerator(); - int num = 844311653; - while (true) + foreach (DutyInfo duty in filteredCategory.Duties) { - int num2 = num; - int num3 = 844311652; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = 844311653; - break; - case 1: - num = (enumerator2.MoveNext() ? 844311654 : 844311652); - break; - case 2: - { - DutyInfo current2 = enumerator2.Current; - list.Add(new FlatRow(RowType.Duty, 0, current2, string.Empty, new DutyCounts())); - num = 844311653; - break; - } - case 0: - goto end_IL_0085; - } - continue; - end_IL_0085: - break; + list.Add(new FlatRow(RowType.Duty, 0, duty, string.Empty, new DutyCounts())); } } _flatRows = list; } - [MethodImpl(MethodImplOptions.NoInlining)] public void UpdateFilter() { List list = new List(); - AddCategory(list, 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(1287674180), _dutyUnlockData.GetDungeons()); - AddCategory(list, 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(-937690516), _dutyUnlockData.GetHardDungeons()); - AddCategory(list, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2127926072), _dutyUnlockData.GetGuildhests()); - AddCategory(list, 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(-206619432), _dutyUnlockData.GetTrials()); - AddCategory(list, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-115053428), _dutyUnlockData.GetHardTrials()); - AddCategory(list, 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(-1436204647), _dutyUnlockData.GetExtremeTrials()); - AddCategory(list, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1230911397), _dutyUnlockData.GetUnrealTrials()); - AddCategory(list, 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(-2019601302), _dutyUnlockData.GetNormalRaids()); - AddCategory(list, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2018627659), _dutyUnlockData.GetSavageRaids()); - AddCategory(list, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1360633849), _dutyUnlockData.GetAllianceRaids()); - AddCategory(list, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(870993943), _dutyUnlockData.GetChaoticAllianceRaids()); - AddCategory(list, 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(1100628143), _dutyUnlockData.GetUltimateRaids()); - AddCategory(list, 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(835919746), _dutyUnlockData.GetDeepDungeons()); - AddCategory(list, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2078008528), _dutyUnlockData.GetVariantDungeons()); - AddCategory(list, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1259422192), _dutyUnlockData.GetCriterionDungeons()); - AddCategory(list, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(788017766), _dutyUnlockData.GetCriterionSavageDungeons()); + AddCategory(list, "Dungeons", _dutyUnlockData.GetDungeons()); + AddCategory(list, "Hard Dungeons", _dutyUnlockData.GetHardDungeons()); + AddCategory(list, "Guildhests", _dutyUnlockData.GetGuildhests()); + AddCategory(list, "Trials", _dutyUnlockData.GetTrials()); + AddCategory(list, "Hard Trials", _dutyUnlockData.GetHardTrials()); + AddCategory(list, "Extreme Trials", _dutyUnlockData.GetExtremeTrials()); + AddCategory(list, "Unreal Trials", _dutyUnlockData.GetUnrealTrials()); + AddCategory(list, "Normal Raids", _dutyUnlockData.GetNormalRaids()); + AddCategory(list, "Savage Raids", _dutyUnlockData.GetSavageRaids()); + AddCategory(list, "Alliance Raids", _dutyUnlockData.GetAllianceRaids()); + AddCategory(list, "Chaotic Alliance Raids", _dutyUnlockData.GetChaoticAllianceRaids()); + AddCategory(list, "Ultimate Raids", _dutyUnlockData.GetUltimateRaids()); + AddCategory(list, "Deep Dungeons", _dutyUnlockData.GetDeepDungeons()); + AddCategory(list, "Variant Dungeons", _dutyUnlockData.GetVariantDungeons()); + AddCategory(list, "Criterion Dungeons", _dutyUnlockData.GetCriterionDungeons()); + AddCategory(list, "Criterion Savage", _dutyUnlockData.GetCriterionSavageDungeons()); _filteredCategories = list.Where((DutyCategory c) => c.Duties.Count > 0).ToList(); RefreshCounts(); RebuildFlatRows(); @@ -1147,295 +391,49 @@ internal sealed class DutyJournalComponent where MatchesFilter(d) orderby d.Level, d.ItemLevel, d.ContentFinderConditionId select d).ToList(); - int num = ((list.Count <= 0) ? (-1138690258) : (-1138690257)); - while (true) + if (list.Count > 0) { - int num2 = num; - int num3 = -1138690258; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return; - case 1: - categories.Add(new DutyCategory(name, list)); - num = -1138690258; - break; - case 2: - num = -1138690257; - break; - } + categories.Add(new DutyCategory(name, list)); } } private bool MatchesFilter(DutyInfo duty) { - int num = (_206B_200F_200B_206D_200C_202D_206B_200E_206F_206D_200C_202A_206C_202C_200C_206C_206F_206D_202E_202C_206B_200F_200F_200D_206E_202D_206A_206E_202A_206C_206B_202E_202B_206D_200B_200E_202A_200D_206D_200E_202E(_searchText) ? 1918787153 : 1918787152); - while (true) + if (!string.IsNullOrEmpty(_searchText) && !duty.Name.Contains(_searchText, StringComparison.OrdinalIgnoreCase)) { - int num2 = num; - int num3 = 1918787159; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = ((!duty.IsUnlocked) ? 1918787157 : 1918787154); - break; - case 1: - return false; - case 6: - num = ((!_showLockedOnly) ? 1918787157 : 1918787156); - break; - case 4: - return false; - case 8: - num = (duty.IsUnlocked ? 1918787159 : 1918787155); - break; - case 2: - num = ((!_showUnlockedOnly) ? 1918787159 : 1918787167); - break; - case 0: - return true; - case 5: - return false; - case 7: - num = (_200F_200C_202D_202B_202D_202E_202A_200E_206A_200D_202D_202C_206E_200C_206C_200E_206F_206F_202A_200C_202B_202B_200C_206E_200D_202E_206D_202E_202B_202B_206C_200B_206A_206A_206E_206C_202E_206E_206B_206C_202E(duty.Name, _searchText, StringComparison.OrdinalIgnoreCase) ? 1918787153 : 1918787158); - break; - case 9: - num = 1918787152; - break; - } + return false; } + if (_showLockedOnly && duty.IsUnlocked) + { + return false; + } + if (_showUnlockedOnly && !duty.IsUnlocked) + { + return false; + } + return true; } public void RefreshCounts() { _categoryCounts.Clear(); - using (List.Enumerator enumerator = _filteredCategories.GetEnumerator()) + foreach (DutyCategory filteredCategory in _filteredCategories) { - int num = 1539315091; - while (true) - { - int num2 = num; - int num3 = 1539315088; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = (enumerator.MoveNext() ? 1539315089 : 1539315088); - break; - case 1: - { - DutyCategory current = enumerator.Current; - int unlocked = current.Duties.Count((DutyInfo d) => d.IsUnlocked); - int completed = current.Duties.Count((DutyInfo d) => d.IsCompleted == true); - int completionTrackable = current.Duties.Count((DutyInfo d) => d.IsCompleted.HasValue); - int count = current.Duties.Count; - _categoryCounts[current.Name] = new DutyCounts(unlocked, completed, completionTrackable, count); - num = 1539315091; - break; - } - case 2: - num = 1539315091; - break; - case 0: - goto end_IL_0023; - } - continue; - end_IL_0023: - break; - } + int unlocked = filteredCategory.Duties.Count((DutyInfo d) => d.IsUnlocked); + int completed = filteredCategory.Duties.Count((DutyInfo d) => d.IsCompleted == true); + int completionTrackable = filteredCategory.Duties.Count((DutyInfo d) => d.IsCompleted.HasValue); + int count = filteredCategory.Duties.Count; + _categoryCounts[filteredCategory.Name] = new DutyCounts(unlocked, completed, completionTrackable, count); } RebuildFlatRows(); } public void ClearCounts(int type, int code) { - using (List.Enumerator enumerator = _categoryCounts.Keys.ToList().GetEnumerator()) + foreach (string item in _categoryCounts.Keys.ToList()) { - int num = 279885653; - while (true) - { - int num2 = num; - int num3 = 279885654; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 279885653; - break; - case 3: - num = (enumerator.MoveNext() ? 279885652 : 279885655); - break; - case 2: - { - string current = enumerator.Current; - _categoryCounts[current] = new DutyCounts(0, 0, 0, _categoryCounts[current].Total); - num = 279885653; - break; - } - case 1: - goto end_IL_0021; - } - continue; - end_IL_0021: - break; - } + _categoryCounts[item] = new DutyCounts(0, 0, 0, _categoryCounts[item].Total); } RebuildFlatRows(); } - - static void _202B_200D_202B_206B_202B_202C_200D_200B_200C_202B_206C_206F_202C_200B_206F_206B_202D_202E_206A_202B_200B_206F_202E_200F_202B_202B_200E_206D_206E_206F_200C_202B_202D_200D_200F_206C_200C_200C_200D_202B_202E() - { - ImGui.Separator(); - } - - static IUiBuilder _200F_202A_200D_202A_202D_200D_202B_200F_200F_206D_206B_206D_200F_206D_200E_206C_206F_202D_206F_206B_202B_202B_200C_200D_202E_202B_202E_202B_206E_200E_202D_200E_200D_202B_202E_206E_206A_202C_200B_202C_202E(IDalamudPluginInterface P_0) - { - return P_0.UiBuilder; - } - - static IFontHandle _202C_206E_200D_202A_200C_202C_206D_200E_206F_200E_206A_206A_206A_206D_206B_206C_202C_202B_200D_200C_200E_200B_202E_206F_202B_202B_200E_202A_200D_200B_200B_200F_200E_202B_202D_200E_202A_200D_206E_206C_202E(IUiBuilder P_0) - { - return P_0.IconFontFixedWidthHandle; - } - - static IDisposable _202E_206C_200D_206E_200B_206C_202D_202E_202D_206D_200F_200D_206F_206D_206B_206C_200B_200D_200F_200C_200B_202E_206A_200F_206D_206A_202D_206F_206B_200D_206A_206D_202C_200B_200D_206D_206B_202E_206B_202D_202E(IFontHandle P_0) - { - return P_0.Push(); - } - - static string _200E_206E_202A_206A_200D_200F_206B_206B_200F_200F_202E_206F_202A_200E_206F_200F_206D_200F_202E_200E_200F_206B_202D_202B_206A_206C_206C_202B_206C_202B_206E_202E_202A_202D_200E_206D_202A_200E_200C_200E_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static Vector2 _200D_206F_206C_206C_206B_206C_200F_206D_206D_202E_206B_206B_206C_200B_206D_200C_200D_200D_200F_206B_200D_202D_200B_206B_206D_206F_206E_202A_202B_206D_202A_202E_200C_206A_206E_200B_200F_202A_202D_202B_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static void _200D_202E_200C_200E_202D_200B_206F_200E_206A_206E_206B_202C_202B_206E_206F_200C_206D_200E_202A_206F_202D_200E_202C_206B_200E_200D_206B_202E_202B_202E_200B_206C_206C_202D_200F_206A_202D_202D_200D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static ImGuiIOPtr _202E_206A_206F_200B_206B_206D_202C_202D_206B_206F_202C_200F_202D_200C_200F_202E_202B_206B_200D_200D_200F_200B_206D_200E_206E_202B_206F_200B_202A_200C_202D_200B_202C_206D_200E_206E_200C_200B_206D_206D_202E() - { - return ImGui.GetIO(); - } - - static void _202E_206F_206F_206F_200E_206C_200D_202C_202C_200D_206D_200D_202D_202D_206A_206A_206C_200F_206F_206C_202E_200B_202D_200D_206A_200E_200D_202A_200D_206A_200D_202E_202E_200D_200D_202D_206E_200E_206F_202A_202E(ImU8String P_0, ImGuiTableColumnFlags P_1, float P_2, uint P_3) - { - ImGui.TableSetupColumn(P_0, P_1, P_2, P_3); - } - - static void _200F_206D_202C_202B_200D_202C_200D_202B_200B_200F_200B_200F_206F_206C_206C_206D_202D_202C_206A_202A_206B_200D_200F_200F_202D_206B_206C_200B_202A_202E_202C_206A_206A_202E_200F_200C_206C_206B_202A_202E() - { - ImGui.TableHeadersRow(); - } - - static float _200B_200F_200E_206B_200F_202A_200F_200B_202C_202D_206F_202D_202B_206F_206E_202B_206F_200F_200E_206F_206C_206D_202C_206A_200B_200C_206D_200B_202B_206A_206B_200D_206F_206A_200F_206B_206F_200B_206E_202A_202E() - { - return ImGui.GetTextLineHeightWithSpacing(); - } - - unsafe static ImGuiListClipper* _200C_200F_206E_206A_200D_206B_200B_206D_200D_206A_206B_202D_202B_202D_202C_206C_206C_206F_202A_206B_202C_200E_202B_206C_202A_200D_206E_200C_200F_206E_206E_200E_206D_200D_202D_206F_206F_206E_202A_200F_202E() - { - return ImGuiNative.ImGuiListClipper(); - } - - unsafe static void _206C_200D_206F_200F_206E_200E_200C_202E_200F_206F_206C_202D_200B_206E_202E_202C_206D_200F_206B_202C_200C_206A_206E_200E_202B_206C_200E_202A_200B_200D_200E_206C_202B_202D_202A_200D_206E_200C_200E_200E_202E(ImGuiListClipper* P_0, int P_1, float P_2) - { - ImGuiNative.Begin(P_0, P_1, P_2); - } - - static void _200D_202D_200B_200E_200F_202C_200F_200C_202B_206B_202C_206E_200F_200F_200E_206C_202A_200F_200F_202D_206A_206C_202D_206C_202B_206F_206B_200D_202E_202D_206F_200D_206A_202E_206B_206B_200B_206D_206B_206D_202E() - { - ImGui.TableNextRow(); - } - - static bool _206C_206A_200E_206D_200E_206B_206B_206B_206B_202B_206B_200E_202A_200D_202B_206C_202C_206C_206F_206E_202C_206E_202A_206A_202D_200C_202B_202D_200C_200D_206E_206F_202D_206C_202D_200C_200B_206D_200F_200D_202E() - { - return ImGui.TableNextColumn(); - } - - static ImGuiStylePtr _200D_202D_202E_200E_200D_206F_202C_206B_202C_202D_206E_206A_206F_206F_200B_206F_200F_202E_200F_200C_200E_202C_206D_206C_206C_206E_200C_202A_200E_206E_200F_202C_206B_206D_202C_202B_206B_202E_206E_206A_202E() - { - return ImGui.GetStyle(); - } - - static float _206D_202A_206B_206E_202C_206E_202E_200F_200E_206A_200F_200F_202A_206D_200C_200B_202E_200D_206F_200B_202C_202D_206E_206B_206B_206F_200E_202B_202E_200D_206A_200E_206E_202D_202B_206F_202B_202C_206F_202A_202E() - { - return ImGui.GetCursorPosX(); - } - - static void _202E_200E_202B_200E_200B_206B_200F_202C_200F_202C_200E_206B_206A_200C_200B_200C_206E_206D_206A_206F_200D_200B_202C_202E_200C_200C_200E_200F_200E_206A_202C_202D_202A_202E_200B_200E_206D_206B_206C_200C_202E(float P_0) - { - ImGui.SetCursorPosX(P_0); - } - - static string _206B_200C_202A_200B_200B_202D_200D_202D_200C_206F_200B_206D_200F_200F_200D_200F_202D_200B_206C_202E_206D_202B_200E_206D_202E_206E_200E_202C_206F_206E_202E_206D_202B_202E_200E_206C_206C_200B_206C_206D_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static bool _206A_200F_202C_202B_206B_200B_202D_202B_206B_202C_206B_200E_200C_202C_206B_200B_202A_206A_206A_200D_206C_202C_200D_200B_206C_206D_206E_206D_200F_206C_200E_200E_206B_202B_202B_202C_202A_206E_206D_202E_202E(ImU8String P_0, ImGuiTreeNodeFlags P_1, ImU8String P_2) - { - return ImGui.TreeNodeEx(P_0, P_1, P_2); - } - - static bool _202E_202A_202E_202A_200B_200F_206E_200E_202D_202C_206C_200D_202D_206F_200E_200B_200B_202E_200B_202E_206F_200B_202C_200F_202D_200C_200E_206D_206A_200F_206A_206F_206D_206B_202E_206B_206D_202D_200D_200D_202E() - { - return ImGui.IsItemHovered(); - } - - static void _200B_202A_200D_200C_200D_202C_202B_206A_206C_200C_200C_206E_206A_200C_202C_206D_202B_206F_206E_206E_202B_200B_206F_200D_206E_202B_202A_202B_206D_200D_202C_200F_200D_200D_202E_200E_200F_206B_200C_202A_202E() - { - ImGui.SameLine(); - } - - static bool _200E_206B_206C_200C_202C_202A_202D_200F_202B_200E_206A_200F_200B_202A_202C_206D_202D_202D_206A_206E_202B_206A_206F_206B_202C_202B_202C_206A_206D_206A_202D_202B_200C_206D_202B_202D_206D_202A_200F_202C_202E(ImU8String P_0, bool P_1, ImGuiSelectableFlags P_2, Vector2 P_3) - { - return ImGui.Selectable(P_0, P_1, P_2, P_3); - } - - static float _202D_206A_200C_202A_206D_206E_200B_206F_206D_200D_200E_200C_206D_206E_200F_200C_202D_202A_202D_206D_206D_206D_200F_206F_202B_206F_202A_206C_200E_200C_202A_202B_206F_202D_206A_202C_206A_202A_202B_202C_202E() - { - return ImGui.GetFrameHeight(); - } - - static ImRaii.TooltipDisposable _202D_200F_206D_206C_200E_202E_200E_206E_206C_202C_200D_206C_200B_200B_200D_200D_202A_206E_200C_206E_206B_200E_206B_206F_206F_200C_202E_200D_206A_202C_206D_206B_200D_200B_206E_206E_200B_200F_206C_200F_202E() - { - return ImRaii.Tooltip(); - } - - static void _206D_200D_202B_206F_200D_202E_202D_200B_200B_202A_206F_202D_202B_200F_206B_206F_202D_200E_206B_200E_206E_206B_200C_202D_206F_206D_206B_206B_200D_206B_200B_200F_200D_206F_200F_206E_206C_200B_202E_206F_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static void _202E_202C_206F_206C_202D_200F_206F_206A_206E_200F_202E_202D_202A_200E_200E_200B_200D_206F_206E_200F_200D_200B_206C_202A_202D_202A_202A_202E_202C_202B_202D_202E_200C_206B_206A_206E_206D_200B_206C_200F_202E(ImU8String P_0) - { - ImGui.Text(P_0); - } - - static float _206C_206B_206D_206D_202C_206F_200D_202A_202D_202D_202A_202A_200F_206E_202E_206C_202B_202A_202C_200C_206B_200F_206C_202E_206E_206D_206B_200D_200E_202A_200C_206F_206A_200F_206F_202A_206D_200C_206E_202E() - { - return ImGui.GetColumnWidth(); - } - - static bool _206B_200F_200B_206D_200C_202D_206B_200E_206F_206D_200C_202A_206C_202C_200C_206C_206F_206D_202E_202C_206B_200F_200F_200D_206E_202D_206A_206E_202A_206C_206B_202E_202B_206D_200B_200E_202A_200D_206D_200E_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static bool _200F_200C_202D_202B_202D_202E_202A_200E_206A_200D_202D_202C_206E_200C_206C_200E_206F_206F_202A_200C_202B_202B_200C_206E_200D_202E_206D_202E_202B_202B_206C_200B_206A_206A_206E_206C_202E_206E_206B_206C_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.Contains(P_1, P_2); - } } diff --git a/Questionable/Questionable.Windows.JournalComponents/GatheringJournalComponent.cs b/Questionable/Questionable.Windows.JournalComponents/GatheringJournalComponent.cs index 83b61bd..6d5ff37 100644 --- a/Questionable/Questionable.Windows.JournalComponents/GatheringJournalComponent.cs +++ b/Questionable/Questionable.Windows.JournalComponents/GatheringJournalComponent.cs @@ -2,12 +2,8 @@ using System; using System.Collections.Generic; using System.Globalization; using System.Linq; -using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Bindings.ImGui; using Dalamud.Interface; -using Dalamud.Interface.ManagedFontAtlas; using Dalamud.Interface.Utility.Raii; using Dalamud.Plugin; using Dalamud.Plugin.Services; @@ -18,7 +14,6 @@ using Lumina.Excel.Sheets; using Questionable.Controller; using Questionable.Model; using Questionable.Model.Gathering; -using Questionable.Model.Questing; namespace Questionable.Windows.JournalComponents; @@ -34,333 +29,31 @@ internal sealed class GatheringJournalComponent private readonly record struct GatheringCounts(string FormattedSupported, string FormattedCollected, bool IsSupportedComplete, bool IsCollectedComplete, bool IsSupportedEmpty, bool IsCollectedEmpty) { - public static GatheringCounts Empty - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return new GatheringCounts(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1108021570), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1228468769), IsSupportedComplete: false, IsCollectedComplete: false, IsSupportedEmpty: true, IsCollectedEmpty: true); - } - } + public static GatheringCounts Empty => new GatheringCounts("-", "-", IsSupportedComplete: false, IsCollectedComplete: false, IsSupportedEmpty: true, IsCollectedEmpty: true); - private static readonly int PadWidth = _206B_200C_206B_202A_200E_206B_202E_206D_202A_206F_200B_200E_202E_200E_202C_202C_206A_202B_202D_200F_200E_206D_200C_202B_200F_202B_206F_202D_200D_202C_202E_202C_200F_202C_206E_206D_200F_200E_206B_202E_202E(9999.ToString(_200F_202C_206F_200F_202B_202D_200E_200F_200E_206B_200F_202E_206A_200F_200D_206F_200D_202C_200B_202B_206F_206D_206E_206F_206F_206E_202E_200C_202D_202D_206F_202B_202D_206B_206E_200C_202E_206E_206D_200D_202E())); + private static readonly int PadWidth = 9999.ToString(CultureInfo.CurrentCulture).Length; public static GatheringCounts Create(int supported, int totalSupported, int collected, int totalCollected) { return new GatheringCounts(FormatPair(supported, totalSupported), FormatPair(collected, totalCollected), supported == totalSupported && totalSupported > 0, collected == totalCollected && totalCollected > 0, totalSupported == 0, totalCollected == 0); } - [MethodImpl(MethodImplOptions.NoInlining)] private static string FormatPair(int n, int d) { - int num = ((d == 0) ? 1282005657 : 1282005658); - while (true) + if (d != 0) { - int num2 = num; - int num3 = 1282005659; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return _206F_206A_200E_206B_202C_202D_206A_202C_200F_202E_206F_200D_202D_202E_200B_200C_206F_202A_206B_206D_202B_202D_206E_206B_202B_200E_206C_206F_200E_206F_202B_206B_206B_200B_206E_206C_200E_206F_206E_202A_202E(_206C_202C_202E_200F_206F_200E_202E_202A_200B_206D_200E_206E_202C_200B_206E_206B_200D_206D_202B_206B_202E_202B_200B_200E_206C_202D_206A_206C_202D_200E_200F_206E_200C_200F_202B_202A_200C_200C_202E_206B_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(792471175), PadWidth), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1534070043), _206C_202C_202E_200F_206F_200E_202E_202A_200B_206D_200E_206E_202C_200B_206E_206B_200D_206D_202B_206B_202E_202B_200B_200E_206C_202D_206A_206C_202D_200E_200F_206E_200C_200F_202B_202A_200C_200C_202E_206B_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(792471175), PadWidth)); - case 1: - return _206F_206A_200E_206B_202C_202D_206A_202C_200F_202E_206F_200D_202D_202E_200B_200C_206F_202A_206B_206D_202B_202D_206E_206B_202B_200E_206C_206F_200E_206F_202B_206B_206B_200B_206E_206C_200E_206F_206E_202A_202E(_202A_202C_202B_200D_206C_200B_206E_206A_200B_200F_200F_200F_206D_200C_206E_206F_206D_200E_200D_202C_200D_200D_206A_206E_200B_200C_206C_200E_202C_202C_200D_202C_206C_206A_202D_206E_202D_200C_200F_200E_202E(n.ToString(_200F_202C_206F_200F_202B_202D_200E_200F_200E_206B_200F_202E_206A_200F_200D_206F_200D_202C_200B_202B_206F_206D_206E_206F_206F_206E_202E_200C_202D_202D_206F_202B_202D_206B_206E_200C_202E_206E_206D_200D_202E()), PadWidth), 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(-242478203), _202A_202C_202B_200D_206C_200B_206E_206A_200B_200F_200F_200F_206D_200C_206E_206F_206D_200E_200D_202C_200D_200D_206A_206E_200B_200C_206C_200E_202C_202C_200D_202C_206C_206A_202D_206E_202D_200C_200F_200E_202E(d.ToString(_200F_202C_206F_200F_202B_202D_200E_200F_200E_206B_200F_202E_206A_200F_200D_206F_200D_202C_200B_202B_206F_206D_206E_206F_206F_206E_202E_200C_202D_202D_206F_202B_202D_206B_206E_200C_202E_206E_206D_200D_202E()), PadWidth)); - case 0: - goto IL_00b7; - } - continue; - IL_00b7: - num = 1282005658; + return n.ToString(CultureInfo.CurrentCulture).PadLeft(PadWidth) + " / " + d.ToString(CultureInfo.CurrentCulture).PadLeft(PadWidth); } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206A_206C_206C_206C_206F_202A_202B_206C_206D_202C_206D_200D_200E_206B_206C_200C_202A_206E_206D_206B_200B_206E_202C_200B_202B_206D_202A_206A_206F_200D_200E_202B_206F_206E_200F_206F_200E_202C_202A_200D_202E(); - _206E_200C_206E_202D_206C_200B_206B_202D_202E_202E_206A_200B_202E_200F_200B_206D_202A_206C_206F_206C_206B_200D_206E_206D_202B_200B_206F_206E_206D_200F_200E_200E_200E_200E_200F_200F_202B_202A_206F_202B_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-790800990)); - _206E_200C_206E_202D_206C_200B_206B_202D_202E_202E_206A_200B_202E_200F_200B_206D_202A_206C_206F_206C_206B_200D_206E_206D_202B_200B_206F_206E_206D_200F_200E_200E_200E_200E_200F_200F_202B_202A_206F_202B_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? 631277519 : 631277516); - while (true) - { - int num2 = num; - int num3 = 631277518; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _200F_202B_206F_206F_206A_200B_200B_202B_206C_200E_202A_206F_200B_202C_206C_200C_200E_206A_200E_206A_206F_206A_200F_200F_202B_202A_206C_202B_200B_200D_200D_206F_200F_206A_200C_200F_200F_202C_202B_200D_202E(stringBuilder, '}'); - return _206B_206C_202B_202E_206A_202E_200C_200B_200E_206A_200F_202A_200E_200F_200B_202E_202A_206D_200F_202D_206D_206D_202A_206B_200E_200D_200F_200C_200F_202C_200D_202B_202B_206C_202D_200C_206B_206B_206E_206C_202E((object)stringBuilder); - case 2: - _200F_202B_206F_206F_206A_200B_200B_202B_206C_200E_202A_206F_200B_202C_206C_200C_200E_206A_200E_206A_206F_206A_200F_200F_202B_202A_206C_202B_200B_200D_200D_206F_200F_206A_200C_200F_200F_202C_202B_200D_202E(stringBuilder, ' '); - num = 631277519; - break; - case 0: - num = 631277516; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206E_200C_206E_202D_206C_200B_206B_202D_202E_202E_206A_200B_202E_200F_200B_206D_202A_206C_206F_206C_206B_200D_206E_206D_202B_200B_206F_206E_206D_200F_200E_200E_200E_200E_200F_200F_202B_202A_206F_202B_202E(builder, 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(-1069213863)); - _206D_200C_200C_206C_200E_200F_200E_200F_206D_206F_206A_202C_200C_202A_206D_200D_200E_206D_206F_206E_200C_200E_202A_206C_206D_200D_206D_206E_206A_202B_200B_200D_200C_202A_206B_206A_202B_200E_206B_200D_202E(builder, (object)FormattedSupported); - _206E_200C_206E_202D_206C_200B_206B_202D_202E_202E_206A_200B_202E_200F_200B_206D_202A_206C_206F_206C_206B_200D_206E_206D_202B_200B_206F_206E_206D_200F_200E_200E_200E_200E_200F_200F_202B_202A_206F_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2136494893)); - _206D_200C_200C_206C_200E_200F_200E_200F_206D_206F_206A_202C_200C_202A_206D_200D_200E_206D_206F_206E_200C_200E_202A_206C_206D_200D_206D_206E_206A_202B_200B_200D_200C_202A_206B_206A_202B_200E_206B_200D_202E(builder, (object)FormattedCollected); - _206E_200C_206E_202D_206C_200B_206B_202D_202E_202E_206A_200B_202E_200F_200B_206D_202A_206C_206F_206C_206B_200D_206E_206D_202B_200B_206F_206E_206D_200F_200E_200E_200E_200E_200F_200F_202B_202A_206F_202B_202E(builder, 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(-1503984796)); - _206E_200C_206E_202D_206C_200B_206B_202D_202E_202E_206A_200B_202E_200F_200B_206D_202A_206C_206F_206C_206B_200D_206E_206D_202B_200B_206F_206E_206D_200F_200E_200E_200E_200E_200F_200F_202B_202A_206F_202B_202E(builder, IsSupportedComplete.ToString()); - _206E_200C_206E_202D_206C_200B_206B_202D_202E_202E_206A_200B_202E_200F_200B_206D_202A_206C_206F_206C_206B_200D_206E_206D_202B_200B_206F_206E_206D_200F_200E_200E_200E_200E_200F_200F_202B_202A_206F_202B_202E(builder, 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(1561397285)); - _206E_200C_206E_202D_206C_200B_206B_202D_202E_202E_206A_200B_202E_200F_200B_206D_202A_206C_206F_206C_206B_200D_206E_206D_202B_200B_206F_206E_206D_200F_200E_200E_200E_200E_200F_200F_202B_202A_206F_202B_202E(builder, IsCollectedComplete.ToString()); - _206E_200C_206E_202D_206C_200B_206B_202D_202E_202E_206A_200B_202E_200F_200B_206D_202A_206C_206F_206C_206B_200D_206E_206D_202B_200B_206F_206E_206D_200F_200E_200E_200E_200E_200F_200F_202B_202A_206F_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-748445346)); - _206E_200C_206E_202D_206C_200B_206B_202D_202E_202E_206A_200B_202E_200F_200B_206D_202A_206C_206F_206C_206B_200D_206E_206D_202B_200B_206F_206E_206D_200F_200E_200E_200E_200E_200F_200F_202B_202A_206F_202B_202E(builder, IsSupportedEmpty.ToString()); - _206E_200C_206E_202D_206C_200B_206B_202D_202E_202E_206A_200B_202E_200F_200B_206D_202A_206C_206F_206C_206B_200D_206E_206D_202B_200B_206F_206E_206D_200F_200E_200E_200E_200E_200F_200F_202B_202A_206F_202B_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1462861686)); - _206E_200C_206E_202D_206C_200B_206B_202D_202E_202E_206A_200B_202E_200F_200B_206D_202A_206C_206F_206C_206B_200D_206E_206D_202B_200B_206F_206E_206D_200F_200E_200E_200E_200E_200F_200F_202B_202A_206F_202B_202E(builder, IsCollectedEmpty.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(GatheringCounts other) - { - int num = ((!EqualityComparer.Default.Equals(FormattedSupported, other.FormattedSupported)) ? 156024419 : 156024416); - while (true) - { - int num2 = num; - int num3 = 156024422; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = ((!EqualityComparer.Default.Equals(IsCollectedComplete, other.IsCollectedComplete)) ? 156024419 : 156024418); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(FormattedCollected, other.FormattedCollected)) ? 156024419 : 156024420); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(IsSupportedComplete, other.IsSupportedComplete)) ? 156024419 : 156024422); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(IsSupportedEmpty, other.IsSupportedEmpty)) ? 156024419 : 156024423); - break; - case 1: - return EqualityComparer.Default.Equals(IsCollectedEmpty, other.IsCollectedEmpty); - case 3: - num = 156024416; - break; - case 5: - return false; - } - } - } - - bool IEquatable.Equals(GatheringCounts other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static CultureInfo _200F_202C_206F_200F_202B_202D_200E_200F_200E_206B_200F_202E_206A_200F_200D_206F_200D_202C_200B_202B_206F_206D_206E_206F_206F_206E_202E_200C_202D_202D_206F_202B_202D_206B_206E_200C_202E_206E_206D_200D_202E() - { - return CultureInfo.CurrentCulture; - } - - static string _202A_202C_202B_200D_206C_200B_206E_206A_200B_200F_200F_200F_206D_200C_206E_206F_206D_200E_200D_202C_200D_200D_206A_206E_200B_200C_206C_200E_202C_202C_200D_202C_206C_206A_202D_206E_202D_200C_200F_200E_202E(string P_0, int P_1) - { - return P_0.PadLeft(P_1); - } - - static string _206F_206A_200E_206B_202C_202D_206A_202C_200F_202E_206F_200D_202D_202E_200B_200C_206F_202A_206B_206D_202B_202D_206E_206B_202B_200E_206C_206F_200E_206F_202B_206B_206B_200B_206E_206C_200E_206F_206E_202A_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static string _206C_202C_202E_200F_206F_200E_202E_202A_200B_206D_200E_206E_202C_200B_206E_206B_200D_206D_202B_206B_202E_202B_200B_200E_206C_202D_206A_206C_202D_200E_200F_206E_200C_200F_202B_202A_200C_200C_202E_206B_202E(string P_0, int P_1) - { - return P_0.PadLeft(P_1); - } - - static StringBuilder _206A_206C_206C_206C_206F_202A_202B_206C_206D_202C_206D_200D_200E_206B_206C_200C_202A_206E_206D_206B_200B_206E_202C_200B_202B_206D_202A_206A_206F_200D_200E_202B_206F_206E_200F_206F_200E_202C_202A_200D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206E_200C_206E_202D_206C_200B_206B_202D_202E_202E_206A_200B_202E_200F_200B_206D_202A_206C_206F_206C_206B_200D_206E_206D_202B_200B_206F_206E_206D_200F_200E_200E_200E_200E_200F_200F_202B_202A_206F_202B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200F_202B_206F_206F_206A_200B_200B_202B_206C_200E_202A_206F_200B_202C_206C_200C_200E_206A_200E_206A_206F_206A_200F_200F_202B_202A_206C_202B_200B_200D_200D_206F_200F_206A_200C_200F_200F_202C_202B_200D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206B_206C_202B_202E_206A_202E_200C_200B_200E_206A_200F_202A_200E_200F_200B_202E_202A_206D_200F_202D_206D_206D_202A_206B_200E_200D_200F_200C_200F_202C_200D_202B_202B_206C_202D_200C_206B_206B_206E_206C_202E(object P_0) - { - return P_0.ToString(); - } - - static StringBuilder _206D_200C_200C_206C_200E_200F_200E_200F_206D_206F_206A_202C_200C_202A_206D_200D_200E_206D_206F_206E_200C_200E_202A_206C_206D_200D_206D_206E_206A_202B_200B_200D_200C_202A_206B_206A_202B_200E_206B_200D_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static int _206B_200C_206B_202A_200E_206B_202E_206D_202A_206F_200B_200E_202E_200E_202C_202C_206A_202B_202D_200F_200E_206D_200C_202B_200F_202B_206F_202D_200D_202C_202E_202C_200F_202C_206E_206D_200F_200E_206B_202E_202E(string P_0) - { - return P_0.Length; + return "-".PadLeft(PadWidth) + " / " + "-".PadLeft(PadWidth); } } - private readonly record struct FlatRow(RowType Type, int Depth, int GroupIndex, string Label, GatheringCounts Counts, bool IsPointComplete, ushort ItemId, bool IsItemGathered) - { - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200F_206C_202D_206B_206D_200B_206C_200C_206D_206C_202E_206A_202A_206B_200B_202D_202E_202D_202B_206E_200C_206C_202E_206B_206E_202A_200E_200C_206C_202A_202B_206D_206B_202B_200D_206A_206B_200D_206A_206E_202E(); - _200F_202B_206E_206F_202B_200D_206A_202D_202E_202C_200F_200C_206B_206D_200B_202C_202E_202E_206B_200F_206B_206B_206F_202B_200F_202A_206F_200D_206B_202A_206F_206F_202C_200F_200E_202D_206E_202B_202A_200D_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2098208768)); - _200F_202B_206E_206F_202B_200D_206A_202D_202E_202C_200F_200C_206B_206D_200B_202C_202E_202E_206B_200F_206B_206B_206F_202B_200F_202A_206F_200D_206B_202A_206F_206F_202C_200F_200E_202D_206E_202B_202A_200D_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1664411125)); - int num = ((!PrintMembers(stringBuilder)) ? (-1638947350) : (-1638947351)); - while (true) - { - int num2 = num; - int num3 = -1638947352; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - _200D_206C_206D_206C_206E_202A_202B_202D_202E_202C_202D_202E_200E_200C_202E_200E_202E_206D_202A_206C_202D_206C_206A_202B_206A_200C_202C_200F_202D_200D_200F_206C_202B_200E_206B_202A_200F_200D_202B_206F_202E(stringBuilder, '}'); - return _206C_206C_202B_202D_206D_202D_202B_202A_206D_200F_206C_202D_202D_202A_202E_206A_202E_206B_200E_202D_202D_200D_200C_202B_200D_200C_202E_200F_202D_206D_202B_200F_200D_202E_202A_202D_206D_206B_206E_202B_202E((object)stringBuilder); - case 1: - _200D_206C_206D_206C_206E_202A_202B_202D_202E_202C_202D_202E_200E_200C_202E_200E_202E_206D_202A_206C_202D_206C_206A_202B_206A_200C_202C_200F_202D_200D_200F_206C_202B_200E_206B_202A_200F_200D_202B_206F_202E(stringBuilder, ' '); - num = -1638947350; - break; - case 0: - num = -1638947351; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200F_202B_206E_206F_202B_200D_206A_202D_202E_202C_200F_200C_206B_206D_200B_202C_202E_202E_206B_200F_206B_206B_206F_202B_200F_202A_206F_200D_206B_202A_206F_206F_202C_200F_200E_202D_206E_202B_202A_200D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-217898061)); - _200F_202B_206E_206F_202B_200D_206A_202D_202E_202C_200F_200C_206B_206D_200B_202C_202E_202E_206B_200F_206B_206B_206F_202B_200F_202A_206F_200D_206B_202A_206F_206F_202C_200F_200E_202D_206E_202B_202A_200D_202E(builder, Type.ToString()); - _200F_202B_206E_206F_202B_200D_206A_202D_202E_202C_200F_200C_206B_206D_200B_202C_202E_202E_206B_200F_206B_206B_206F_202B_200F_202A_206F_200D_206B_202A_206F_206F_202C_200F_200E_202D_206E_202B_202A_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1014922524)); - _200F_202B_206E_206F_202B_200D_206A_202D_202E_202C_200F_200C_206B_206D_200B_202C_202E_202E_206B_200F_206B_206B_206F_202B_200F_202A_206F_200D_206B_202A_206F_206F_202C_200F_200E_202D_206E_202B_202A_200D_202E(builder, Depth.ToString()); - _200F_202B_206E_206F_202B_200D_206A_202D_202E_202C_200F_200C_206B_206D_200B_202C_202E_202E_206B_200F_206B_206B_206F_202B_200F_202A_206F_200D_206B_202A_206F_206F_202C_200F_200E_202D_206E_202B_202A_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1647495557)); - _200F_202B_206E_206F_202B_200D_206A_202D_202E_202C_200F_200C_206B_206D_200B_202C_202E_202E_206B_200F_206B_206B_206F_202B_200F_202A_206F_200D_206B_202A_206F_206F_202C_200F_200E_202D_206E_202B_202A_200D_202E(builder, GroupIndex.ToString()); - _200F_202B_206E_206F_202B_200D_206A_202D_202E_202C_200F_200C_206B_206D_200B_202C_202E_202E_206B_200F_206B_206B_206F_202B_200F_202A_206F_200D_206B_202A_206F_206F_202C_200F_200E_202D_206E_202B_202A_200D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-882901215)); - _202C_200F_206A_202A_202B_202D_202C_202D_200D_200F_200E_206C_200F_206C_202C_206A_206E_202A_200E_202E_200D_202D_206B_206B_200F_206A_200E_206C_202C_206C_206E_200C_206B_202A_206E_202C_202A_206E_200D_206F_202E(builder, (object)Label); - _200F_202B_206E_206F_202B_200D_206A_202D_202E_202C_200F_200C_206B_206D_200B_202C_202E_202E_206B_200F_206B_206B_206F_202B_200F_202A_206F_200D_206B_202A_206F_206F_202C_200F_200E_202D_206E_202B_202A_200D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1999051001)); - _200F_202B_206E_206F_202B_200D_206A_202D_202E_202C_200F_200C_206B_206D_200B_202C_202E_202E_206B_200F_206B_206B_206F_202B_200F_202A_206F_200D_206B_202A_206F_206F_202C_200F_200E_202D_206E_202B_202A_200D_202E(builder, Counts.ToString()); - _200F_202B_206E_206F_202B_200D_206A_202D_202E_202C_200F_200C_206B_206D_200B_202C_202E_202E_206B_200F_206B_206B_206F_202B_200F_202A_206F_200D_206B_202A_206F_206F_202C_200F_200E_202D_206E_202B_202A_200D_202E(builder, 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(237855300)); - _200F_202B_206E_206F_202B_200D_206A_202D_202E_202C_200F_200C_206B_206D_200B_202C_202E_202E_206B_200F_206B_206B_206F_202B_200F_202A_206F_200D_206B_202A_206F_206F_202C_200F_200E_202D_206E_202B_202A_200D_202E(builder, IsPointComplete.ToString()); - _200F_202B_206E_206F_202B_200D_206A_202D_202E_202C_200F_200C_206B_206D_200B_202C_202E_202E_206B_200F_206B_206B_206F_202B_200F_202A_206F_200D_206B_202A_206F_206F_202C_200F_200E_202D_206E_202B_202A_200D_202E(builder, 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(-727021518)); - _200F_202B_206E_206F_202B_200D_206A_202D_202E_202C_200F_200C_206B_206D_200B_202C_202E_202E_206B_200F_206B_206B_206F_202B_200F_202A_206F_200D_206B_202A_206F_206F_202C_200F_200E_202D_206E_202B_202A_200D_202E(builder, ItemId.ToString()); - _200F_202B_206E_206F_202B_200D_206A_202D_202E_202C_200F_200C_206B_206D_200B_202C_202E_202E_206B_200F_206B_206B_206F_202B_200F_202A_206F_200D_206B_202A_206F_206F_202C_200F_200E_202D_206E_202B_202A_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2079981210)); - _200F_202B_206E_206F_202B_200D_206A_202D_202E_202C_200F_200C_206B_206D_200B_202C_202E_202E_206B_200F_206B_206B_206F_202B_200F_202A_206F_200D_206B_202A_206F_206F_202C_200F_200E_202D_206E_202B_202A_200D_202E(builder, IsItemGathered.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(FlatRow other) - { - int num = ((!EqualityComparer.Default.Equals(Type, other.Type)) ? (-1674576019) : (-1674576028)); - while (true) - { - int num2 = num; - int num3 = -1674576027; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - num = -1674576028; - break; - case 1: - num = ((!EqualityComparer.Default.Equals(Depth, other.Depth)) ? (-1674576019) : (-1674576030)); - break; - case 3: - num = ((!EqualityComparer.Default.Equals(IsPointComplete, other.IsPointComplete)) ? (-1674576019) : (-1674576031)); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(Label, other.Label)) ? (-1674576019) : (-1674576027)); - break; - case 7: - num = ((!EqualityComparer.Default.Equals(GroupIndex, other.GroupIndex)) ? (-1674576019) : (-1674576025)); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(ItemId, other.ItemId)) ? (-1674576019) : (-1674576032)); - break; - case 8: - return false; - case 0: - num = ((!EqualityComparer.Default.Equals(Counts, other.Counts)) ? (-1674576019) : (-1674576026)); - break; - case 5: - return EqualityComparer.Default.Equals(IsItemGathered, other.IsItemGathered); - } - } - } - - bool IEquatable.Equals(FlatRow other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _200F_206C_202D_206B_206D_200B_206C_200C_206D_206C_202E_206A_202A_206B_200B_202D_202E_202D_202B_206E_200C_206C_202E_206B_206E_202A_200E_200C_206C_202A_202B_206D_206B_202B_200D_206A_206B_200D_206A_206E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200F_202B_206E_206F_202B_200D_206A_202D_202E_202C_200F_200C_206B_206D_200B_202C_202E_202E_206B_200F_206B_206B_206F_202B_200F_202A_206F_200D_206B_202A_206F_206F_202C_200F_200E_202D_206E_202B_202A_200D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200D_206C_206D_206C_206E_202A_202B_202D_202E_202C_202D_202E_200E_200C_202E_200E_202E_206D_202A_206C_202D_206C_206A_202B_206A_200C_202C_200F_202D_200D_200F_206C_202B_200E_206B_202A_200F_200D_202B_206F_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206C_206C_202B_202D_206D_202D_202B_202A_206D_200F_206C_202D_202D_202A_202E_206A_202E_206B_200E_202D_202D_200D_200C_202B_200D_200C_202E_200F_202D_206D_202B_200F_200D_202E_202A_202D_206D_206B_206E_202B_202E(object P_0) - { - return P_0.ToString(); - } - - static StringBuilder _202C_200F_206A_202A_202B_202D_202C_202D_200D_200F_200E_206C_200F_206C_202C_206A_206E_202A_200E_202E_200D_202D_206B_206B_200F_206A_200E_206C_202C_206C_206E_200C_206B_202A_206E_202C_202A_206E_200D_206F_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - } + private readonly record struct FlatRow(RowType Type, int Depth, int GroupIndex, string Label, GatheringCounts Counts, bool IsPointComplete, ushort ItemId, bool IsItemGathered); private delegate byte GetIsGatheringItemGatheredDelegate(ushort item); private sealed record ExpansionPoints(EExpansionVersion ExpansionVersion, List PointsByTerritories) { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202C_206F_200D_200C_206F_206A_206E_202C_202A_200B_200F_202E_200E_202D_206F_202C_206B_202A_200F_200F_200F_206D_200B_206C_206A_200F_202A_206C_200D_202A_206D_200F_206F_200B_206E_206A_206D_206A_202B_200E_202E(typeof(ExpansionPoints).TypeHandle); - } - } - public int TotalItems { get; set; } public int TotalPoints { get; set; } @@ -368,164 +61,10 @@ internal sealed class GatheringJournalComponent public int CompletedItems { get; set; } public int CompletedPoints { get; set; } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206F_200F_206C_206E_200E_202C_206C_202A_202C_206F_206B_200E_206B_200D_206C_200E_200B_202E_206F_206B_202A_202A_202C_200F_206D_200B_200C_206D_202B_206E_202E_200F_200C_202D_202B_206F_206B_200F_206A_206D_202E(); - _206E_206E_206A_200C_200D_202D_200F_202C_200D_206B_200F_202B_206B_200E_202C_200C_202E_202E_200E_206E_206B_202D_200B_202E_206F_206B_206B_206C_200D_200C_200B_206D_200B_202D_206A_202D_206F_200D_202A_202E_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1433999488)); - _206E_206E_206A_200C_200D_202D_200F_202C_200D_206B_200F_202B_206B_200E_202C_200C_202E_202E_200E_206E_206B_202D_200B_202E_206F_206B_206B_206C_200D_200C_200B_206D_200B_202D_206A_202D_206F_200D_202A_202E_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1344697862)); - int num = ((!PrintMembers(stringBuilder)) ? (-127138192) : (-127138189)); - while (true) - { - int num2 = num; - int num3 = -127138191; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -127138189; - break; - case 2: - _202C_200B_206E_202D_206D_202C_206B_206F_202D_202B_200C_200C_206E_200C_202B_202D_200E_202A_206F_202C_206A_202C_206F_200F_200D_200F_200B_206C_200E_200D_200D_206F_202C_200F_200F_200F_206A_202B_202C_202D_202E(stringBuilder, ' '); - num = -127138192; - break; - case 1: - _202C_200B_206E_202D_206D_202C_206B_206F_202D_202B_200C_200C_206E_200C_202B_202D_200E_202A_206F_202C_206A_202C_206F_200F_200D_200F_200B_206C_200E_200D_200D_206F_202C_200F_200F_200F_206A_202B_202C_202D_202E(stringBuilder, '}'); - return _200F_202E_200C_206A_202E_200E_206E_200B_206C_200B_202C_206E_206D_202D_200B_202A_200B_202B_200E_200D_206E_200C_206A_206A_206C_206B_202E_202B_200C_202B_206F_200D_200B_202A_206C_200F_200C_206C_202E_202B_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206D_206A_200D_200C_202A_202B_206B_206E_202D_206D_202D_200C_206F_206E_202C_200B_202E_202D_200B_206D_200B_200D_206F_202B_206A_202C_206E_202A_202D_206E_206D_200F_200E_202B_202E_200E_206F_206C_202E_202A_202E(); - _206E_206E_206A_200C_200D_202D_200F_202C_200D_206B_200F_202B_206B_200E_202C_200C_202E_202E_200E_206E_206B_202D_200B_202E_206F_206B_206B_206C_200D_200C_200B_206D_200B_202D_206A_202D_206F_200D_202A_202E_202E(builder, 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(-1921573758)); - _206E_206E_206A_200C_200D_202D_200F_202C_200D_206B_200F_202B_206B_200E_202C_200C_202E_202E_200E_206E_206B_202D_200B_202E_206F_206B_206B_206C_200D_200C_200B_206D_200B_202D_206A_202D_206F_200D_202A_202E_202E(builder, ExpansionVersion.ToString()); - _206E_206E_206A_200C_200D_202D_200F_202C_200D_206B_200F_202B_206B_200E_202C_200C_202E_202E_200E_206E_206B_202D_200B_202E_206F_206B_206B_206C_200D_200C_200B_206D_200B_202D_206A_202D_206F_200D_202A_202E_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1746556757)); - _206A_200B_202E_202B_202A_206D_202B_206F_202B_206F_206A_202D_200C_202B_200C_202B_202A_202E_200F_200B_200B_206F_206E_200B_206F_202D_200B_206E_200B_206E_202C_202C_202D_206E_206D_206A_206B_202B_200B_200D_202E(builder, (object)PointsByTerritories); - _206E_206E_206A_200C_200D_202D_200F_202C_200D_206B_200F_202B_206B_200E_202C_200C_202E_202E_200E_206E_206B_202D_200B_202E_206F_206B_206B_206C_200D_200C_200B_206D_200B_202D_206A_202D_206F_200D_202A_202E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(19786210)); - _206E_206E_206A_200C_200D_202D_200F_202C_200D_206B_200F_202B_206B_200E_202C_200C_202E_202E_200E_206E_206B_202D_200B_202E_206F_206B_206B_206C_200D_200C_200B_206D_200B_202D_206A_202D_206F_200D_202A_202E_202E(builder, TotalItems.ToString()); - _206E_206E_206A_200C_200D_202D_200F_202C_200D_206B_200F_202B_206B_200E_202C_200C_202E_202E_200E_206E_206B_202D_200B_202E_206F_206B_206B_206C_200D_200C_200B_206D_200B_202D_206A_202D_206F_200D_202A_202E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(606702436)); - _206E_206E_206A_200C_200D_202D_200F_202C_200D_206B_200F_202B_206B_200E_202C_200C_202E_202E_200E_206E_206B_202D_200B_202E_206F_206B_206B_206C_200D_200C_200B_206D_200B_202D_206A_202D_206F_200D_202A_202E_202E(builder, TotalPoints.ToString()); - _206E_206E_206A_200C_200D_202D_200F_202C_200D_206B_200F_202B_206B_200E_202C_200C_202E_202E_200E_206E_206B_202D_200B_202E_206F_206B_206B_206C_200D_200C_200B_206D_200B_202D_206A_202D_206F_200D_202A_202E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1780143284)); - _206E_206E_206A_200C_200D_202D_200F_202C_200D_206B_200F_202B_206B_200E_202C_200C_202E_202E_200E_206E_206B_202D_200B_202E_206F_206B_206B_206C_200D_200C_200B_206D_200B_202D_206A_202D_206F_200D_202A_202E_202E(builder, CompletedItems.ToString()); - _206E_206E_206A_200C_200D_202D_200F_202C_200D_206B_200F_202B_206B_200E_202C_200C_202E_202E_200E_206E_206B_202D_200B_202E_206F_206B_206B_206C_200D_200C_200B_206D_200B_202D_206A_202D_206F_200D_202A_202E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1774551967)); - _206E_206E_206A_200C_200D_202D_200F_202C_200D_206B_200F_202B_206B_200E_202C_200C_202E_202E_200E_206E_206B_202D_200B_202E_206F_206B_206B_206C_200D_200C_200B_206D_200B_202D_206A_202D_206F_200D_202A_202E_202E(builder, CompletedPoints.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(ExpansionPoints? other) - { - int num = (((object)this == other) ? (-1546294236) : (-1546294235)); - while (true) - { - int num2 = num; - int num3 = -1546294227; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return EqualityComparer.Default.Equals(CompletedPoints, other.CompletedPoints); - case 0: - num = ((!EqualityComparer.Default.Equals(ExpansionVersion, other.ExpansionVersion)) ? (-1546294226) : (-1546294229)); - break; - case 7: - num = -1546294235; - break; - case 9: - return true; - case 6: - num = ((!EqualityComparer>.Default.Equals(PointsByTerritories, other.PointsByTerritories)) ? (-1546294226) : (-1546294232)); - break; - case 10: - num = ((!EqualityComparer.Default.Equals(CompletedItems, other.CompletedItems)) ? (-1546294226) : (-1546294228)); - break; - case 8: - num = (((object)other == null) ? (-1546294226) : (-1546294225)); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(TotalPoints, other.TotalPoints)) ? (-1546294226) : (-1546294233)); - break; - case 2: - num = ((!_200E_206B_200F_202B_200B_202C_202C_200C_206B_200E_206F_206F_206B_202C_202C_206B_206B_200B_206D_200D_206E_202D_200F_206F_206F_200B_202D_202E_202A_202E_206A_202C_200B_202A_202D_202D_206F_206A_206E_206E_202E(EqualityContract, other.EqualityContract)) ? (-1546294226) : (-1546294227)); - break; - case 3: - return false; - case 5: - num = ((!EqualityComparer.Default.Equals(TotalItems, other.TotalItems)) ? (-1546294226) : (-1546294231)); - break; - } - } - } - - bool IEquatable.Equals(ExpansionPoints? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202C_206F_200D_200C_206F_206A_206E_202C_202A_200B_200F_202E_200E_202D_206F_202C_206B_202A_200F_200F_200F_206D_200B_206C_206A_200F_202A_206C_200D_202A_206D_200F_206F_200B_206E_206A_206D_206A_202B_200E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206F_200F_206C_206E_200E_202C_206C_202A_202C_206F_206B_200E_206B_200D_206C_200E_200B_202E_206F_206B_202A_202A_202C_200F_206D_200B_200C_206D_202B_206E_202E_200F_200C_202D_202B_206F_206B_200F_206A_206D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206E_206E_206A_200C_200D_202D_200F_202C_200D_206B_200F_202B_206B_200E_202C_200C_202E_202E_200E_206E_206B_202D_200B_202E_206F_206B_206B_206C_200D_200C_200B_206D_200B_202D_206A_202D_206F_200D_202A_202E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202C_200B_206E_202D_206D_202C_206B_206F_202D_202B_200C_200C_206E_200C_202B_202D_200E_202A_206F_202C_206A_202C_206F_200F_200D_200F_200B_206C_200E_200D_200D_206F_202C_200F_200F_200F_206A_202B_202C_202D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200F_202E_200C_206A_202E_200E_206E_200B_206C_200B_202C_206E_206D_202D_200B_202A_200B_202B_200E_200D_206E_200C_206A_206A_206C_206B_202E_202B_200C_202B_206F_200D_200B_202A_206C_200F_200C_206C_202E_202B_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206D_206A_200D_200C_202A_202B_206B_206E_202D_206D_202D_200C_206F_206E_202C_200B_202E_202D_200B_206D_200B_200D_206F_202B_206A_202C_206E_202A_202D_206E_206D_200F_200E_202B_202E_200E_206F_206C_202E_202A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206A_200B_202E_202B_202A_206D_202B_206F_202B_206F_206A_202D_200C_202B_200C_202B_202A_202E_200F_200B_200B_206F_206E_200B_206F_202D_200B_206E_200B_206E_202C_202C_202D_206E_206D_206A_206B_202B_200B_200D_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200E_206B_200F_202B_200B_202C_202C_200C_206B_200E_206F_206F_206B_202C_202C_206B_206B_200B_206D_200D_206E_202D_200F_206F_206F_200B_202D_202E_202A_202E_206A_202C_200B_202A_202D_202D_206F_206A_206E_206E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } } private sealed record TerritoryPoints(ushort TerritoryType, string TerritoryName, List Points) { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206E_206C_200C_206B_200E_200E_202A_206B_206A_202D_206C_200F_202D_206F_200D_206E_206D_200F_206F_206F_206C_206E_206B_206F_200D_206B_202C_202C_206F_206F_202B_202D_200D_202C_206F_202E_202C_200C_202D_200D_202E(typeof(TerritoryPoints).TypeHandle); - } - } - public int TotalItems { get; set; } public int TotalPoints => Points.Count; @@ -534,1411 +73,30 @@ internal sealed class GatheringJournalComponent public int CompletedPoints { get; set; } - [MethodImpl(MethodImplOptions.NoInlining)] public string ToFriendlyString() { - int num = ((!_206E_200B_202A_202A_202D_202C_200E_202C_206D_206B_200B_202A_206B_202A_202B_200F_200E_202B_202C_206C_200B_200C_202D_206B_202E_206C_202B_200C_200C_200D_202B_202B_200E_202B_206E_200C_200E_202A_200D_200D_202E(TerritoryName)) ? (-372970510) : (-372970511)); - while (true) + if (string.IsNullOrEmpty(TerritoryName)) { - int num2 = num; - int num3 = -372970509; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004b; - case 2: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(6, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(1282129484)); - defaultInterpolatedStringHandler.AppendFormatted(TerritoryType); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - case 1: - return TerritoryName; - } - continue; - IL_004b: - num = -372970511; + return $"??? ({TerritoryType})"; } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200E_206B_202E_206C_200C_202D_206B_200D_206D_200B_202C_200E_200F_200D_206B_202D_206A_200D_206C_202D_206B_202A_202E_200C_206E_202E_202E_206A_200D_206D_206B_206D_202E_200D_202C_200B_206E_202D_202E_200E_202E(); - _202E_206F_200C_200B_202C_202A_200E_206B_202E_206D_206C_202D_200E_200F_202A_206E_200C_200B_200E_206E_200B_202D_200B_206B_206E_200B_202C_200C_200C_206E_206C_202D_202C_200E_206C_202D_206F_206C_202C_200C_202E(stringBuilder, 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(1982297905)); - _202E_206F_200C_200B_202C_202A_200E_206B_202E_206D_206C_202D_200E_200F_202A_206E_200C_200B_200E_206E_200B_202D_200B_206B_206E_200B_202C_200C_200C_206E_206C_202D_202C_200E_206C_202D_206F_206C_202C_200C_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1664411125)); - int num = ((!PrintMembers(stringBuilder)) ? (-1682111640) : (-1682111639)); - while (true) - { - int num2 = num; - int num3 = -1682111640; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _202B_206D_206C_206A_202B_206A_206F_200B_206F_202A_202A_202B_200C_200F_200D_202D_200F_202C_206E_200F_200B_206E_202A_206F_202E_202D_206D_202A_202D_200E_206F_202B_206B_206D_206F_206E_202B_200B_206B_200D_202E(stringBuilder, '}'); - return _202C_202C_206A_202C_206A_206E_200C_202E_206D_200E_202D_202E_200B_202B_206D_202D_202B_200B_200B_206F_202A_202E_202D_202B_200D_202C_202B_206A_200F_206F_200D_202C_200D_206F_206B_200B_206F_202E_202B_202A_202E((object)stringBuilder); - case 1: - _202B_206D_206C_206A_202B_206A_206F_200B_206F_202A_202A_202B_200C_200F_200D_202D_200F_202C_206E_200F_200B_206E_202A_206F_202E_202D_206D_202A_202D_200E_206F_202B_206B_206D_206F_206E_202B_200B_206B_200D_202E(stringBuilder, ' '); - num = -1682111640; - break; - case 2: - num = -1682111639; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200C_206D_206C_202E_206F_206E_206A_206A_200E_200E_202E_200F_202E_206E_206E_200C_202A_206F_202E_200B_200E_200D_202E_200E_202E_206E_202C_206A_200C_206E_200F_202A_202C_200E_206F_206A_202B_206F_200F_206F_202E(); - _202E_206F_200C_200B_202C_202A_200E_206B_202E_206D_206C_202D_200E_200F_202A_206E_200C_200B_200E_206E_200B_202D_200B_206B_206E_200B_202C_200C_200C_206E_206C_202D_202C_200E_206C_202D_206F_206C_202C_200C_202E(builder, 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(1717589508)); - _202E_206F_200C_200B_202C_202A_200E_206B_202E_206D_206C_202D_200E_200F_202A_206E_200C_200B_200E_206E_200B_202D_200B_206B_206E_200B_202C_200C_200C_206E_206C_202D_202C_200E_206C_202D_206F_206C_202C_200C_202E(builder, TerritoryType.ToString()); - _202E_206F_200C_200B_202C_202A_200E_206B_202E_206D_206C_202D_200E_200F_202A_206E_200C_200B_200E_206E_200B_202D_200B_206B_206E_200B_202C_200C_200C_206E_206C_202D_202C_200E_206C_202D_206F_206C_202C_200C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1928556849)); - _202E_200D_206D_200D_206D_202D_202B_202D_206F_202D_202B_200F_202E_200C_202D_200D_200D_200C_206D_200E_206E_206E_200B_202D_200D_206F_202E_206F_206A_206A_200D_202E_202D_200C_202A_206F_202D_202E_206D_202C_202E(builder, (object)TerritoryName); - _202E_206F_200C_200B_202C_202A_200E_206B_202E_206D_206C_202D_200E_200F_202A_206E_200C_200B_200E_206E_200B_202D_200B_206B_206E_200B_202C_200C_200C_206E_206C_202D_202C_200E_206C_202D_206F_206C_202C_200C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1371274133)); - _202E_200D_206D_200D_206D_202D_202B_202D_206F_202D_202B_200F_202E_200C_202D_200D_200D_200C_206D_200E_206E_206E_200B_202D_200D_206F_202E_206F_206A_206A_200D_202E_202D_200C_202A_206F_202D_202E_206D_202C_202E(builder, (object)Points); - _202E_206F_200C_200B_202C_202A_200E_206B_202E_206D_206C_202D_200E_200F_202A_206E_200C_200B_200E_206E_200B_202D_200B_206B_206E_200B_202C_200C_200C_206E_206C_202D_202C_200E_206C_202D_206F_206C_202C_200C_202E(builder, 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(-708467607)); - _202E_206F_200C_200B_202C_202A_200E_206B_202E_206D_206C_202D_200E_200F_202A_206E_200C_200B_200E_206E_200B_202D_200B_206B_206E_200B_202C_200C_200C_206E_206C_202D_202C_200E_206C_202D_206F_206C_202C_200C_202E(builder, TotalItems.ToString()); - _202E_206F_200C_200B_202C_202A_200E_206B_202E_206D_206C_202D_200E_200F_202A_206E_200C_200B_200E_206E_200B_202D_200B_206B_206E_200B_202C_200C_200C_206E_206C_202D_202C_200E_206C_202D_206F_206C_202C_200C_202E(builder, 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(-1253835803)); - _202E_206F_200C_200B_202C_202A_200E_206B_202E_206D_206C_202D_200E_200F_202A_206E_200C_200B_200E_206E_200B_202D_200B_206B_206E_200B_202C_200C_200C_206E_206C_202D_202C_200E_206C_202D_206F_206C_202C_200C_202E(builder, TotalPoints.ToString()); - _202E_206F_200C_200B_202C_202A_200E_206B_202E_206D_206C_202D_200E_200F_202A_206E_200C_200B_200E_206E_200B_202D_200B_206B_206E_200B_202C_200C_200C_206E_206C_202D_202C_200E_206C_202D_206F_206C_202C_200C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1273608271)); - _202E_206F_200C_200B_202C_202A_200E_206B_202E_206D_206C_202D_200E_200F_202A_206E_200C_200B_200E_206E_200B_202D_200B_206B_206E_200B_202C_200C_200C_206E_206C_202D_202C_200E_206C_202D_206F_206C_202C_200C_202E(builder, CompletedItems.ToString()); - _202E_206F_200C_200B_202C_202A_200E_206B_202E_206D_206C_202D_200E_200F_202A_206E_200C_200B_200E_206E_200B_202D_200B_206B_206E_200B_202C_200C_200C_206E_206C_202D_202C_200E_206C_202D_206F_206C_202C_200C_202E(builder, 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(-1790706375)); - _202E_206F_200C_200B_202C_202A_200E_206B_202E_206D_206C_202D_200E_200F_202A_206E_200C_200B_200E_206E_200B_202D_200B_206B_206E_200B_202C_200C_200C_206E_206C_202D_202C_200E_206C_202D_206F_206C_202C_200C_202E(builder, CompletedPoints.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(TerritoryPoints? other) - { - int num = (((object)this == other) ? (-862053346) : (-862053348)); - while (true) - { - int num2 = num; - int num3 = -862053350; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = ((!EqualityComparer>.Default.Equals(Points, other.Points)) ? (-862053345) : (-862053349)); - break; - case 3: - num = ((!_200C_200F_202B_202D_202B_202B_202B_202D_206D_200B_200B_200D_206B_202B_206F_200B_206B_200C_200F_202A_206B_202D_202C_200C_202D_200D_206E_202B_200E_200D_202B_206E_200B_206B_200D_206E_202C_202C_206D_200E_202E(EqualityContract, other.EqualityContract)) ? (-862053345) : (-862053358)); - break; - case 8: - num = ((!EqualityComparer.Default.Equals(TerritoryType, other.TerritoryType)) ? (-862053345) : (-862053357)); - break; - case 9: - num = ((!EqualityComparer.Default.Equals(TerritoryName, other.TerritoryName)) ? (-862053345) : (-862053352)); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(TotalItems, other.TotalItems)) ? (-862053345) : (-862053360)); - break; - case 0: - return EqualityComparer.Default.Equals(CompletedPoints, other.CompletedPoints); - case 4: - return true; - case 5: - return false; - case 7: - num = -862053348; - break; - case 10: - num = ((!EqualityComparer.Default.Equals(CompletedItems, other.CompletedItems)) ? (-862053345) : (-862053350)); - break; - case 6: - num = (((object)other == null) ? (-862053345) : (-862053351)); - break; - } - } - } - - bool IEquatable.Equals(TerritoryPoints? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206E_206C_200C_206B_200E_200E_202A_206B_206A_202D_206C_200F_202D_206F_200D_206E_206D_200F_206F_206F_206C_206E_206B_206F_200D_206B_202C_202C_206F_206F_202B_202D_200D_202C_206F_202E_202C_200C_202D_200D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static bool _206E_200B_202A_202A_202D_202C_200E_202C_206D_206B_200B_202A_206B_202A_202B_200F_200E_202B_202C_206C_200B_200C_202D_206B_202E_206C_202B_200C_200C_200D_202B_202B_200E_202B_206E_200C_200E_202A_200D_200D_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static StringBuilder _200E_206B_202E_206C_200C_202D_206B_200D_206D_200B_202C_200E_200F_200D_206B_202D_206A_200D_206C_202D_206B_202A_202E_200C_206E_202E_202E_206A_200D_206D_206B_206D_202E_200D_202C_200B_206E_202D_202E_200E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202E_206F_200C_200B_202C_202A_200E_206B_202E_206D_206C_202D_200E_200F_202A_206E_200C_200B_200E_206E_200B_202D_200B_206B_206E_200B_202C_200C_200C_206E_206C_202D_202C_200E_206C_202D_206F_206C_202C_200C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202B_206D_206C_206A_202B_206A_206F_200B_206F_202A_202A_202B_200C_200F_200D_202D_200F_202C_206E_200F_200B_206E_202A_206F_202E_202D_206D_202A_202D_200E_206F_202B_206B_206D_206F_206E_202B_200B_206B_200D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202C_202C_206A_202C_206A_206E_200C_202E_206D_200E_202D_202E_200B_202B_206D_202D_202B_200B_200B_206F_202A_202E_202D_202B_200D_202C_202B_206A_200F_206F_200D_202C_200D_206F_206B_200B_206F_202E_202B_202A_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200C_206D_206C_202E_206F_206E_206A_206A_200E_200E_202E_200F_202E_206E_206E_200C_202A_206F_202E_200B_200E_200D_202E_200E_202E_206E_202C_206A_200C_206E_200F_202A_202C_200E_206F_206A_202B_206F_200F_206F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202E_200D_206D_200D_206D_202D_202B_202D_206F_202D_202B_200F_202E_200C_202D_200D_200D_200C_206D_200E_206E_206E_200B_202D_200D_206F_202E_206F_206A_206A_200D_202E_202D_200C_202A_206F_202D_202E_206D_202C_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200C_200F_202B_202D_202B_202B_202B_202D_206D_200B_200B_200D_206B_202B_206F_200B_206B_200C_200F_202A_206B_202D_202C_200C_202D_200D_206E_202B_200E_200D_202B_206E_200B_206B_200D_206E_202C_202C_206D_200E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; + return TerritoryName; } } private sealed record DefaultGatheringPoint(GatheringPointId Id, EClassJob ClassJob, byte Level, List GatheringItemIds, EExpansionVersion Expansion, ushort TerritoryType, string? TerritoryName, string? PlaceName) { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202E_200D_206E_202C_206F_200F_200E_200D_206F_206F_202C_202A_206E_202D_200D_206F_206D_200C_206C_202C_206F_206B_200F_206E_202D_206A_200B_202A_200C_200D_202C_206B_200B_202A_206C_202E_206C_200D_200E_202B_202E(typeof(DefaultGatheringPoint).TypeHandle); - } - } - public int TotalItems { get; set; } public int CompletedItems { get; set; } public bool IsComplete { get; set; } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200F_200C_200D_206A_200D_202A_200D_202A_206E_202D_206D_200B_202E_206A_206D_202B_202B_200D_202B_200C_202B_202E_200D_206A_200C_202C_200E_202D_206E_206E_206C_206B_202A_202B_206F_200C_202B_206A_202B_200C_202E(); - _200D_202B_206C_202A_206C_206C_202A_200B_200F_206A_200D_200D_200B_202C_206A_206B_206B_206A_202B_200B_206D_202C_200E_206A_200F_202D_206B_206F_200B_202A_200B_206E_206D_202D_206D_206A_202E_200D_206B_202D_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(697029583)); - _200D_202B_206C_202A_206C_206C_202A_200B_200F_206A_200D_200D_200B_202C_206A_206B_206B_206A_202B_200B_206D_202C_200E_206A_200F_202D_206B_206F_200B_202A_200B_206E_206D_202D_206D_206A_202E_200D_206B_202D_202E(stringBuilder, 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(117284107)); - int num = ((!PrintMembers(stringBuilder)) ? (-1428012309) : (-1428012310)); - while (true) - { - int num2 = num; - int num3 = -1428012309; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -1428012310; - break; - case 0: - _200D_200C_202D_200C_206F_206F_202B_202E_206D_200F_206D_200D_206F_206E_202D_202D_200D_202E_206D_202E_206B_200C_206B_206B_206A_202B_202C_206B_202B_202D_206B_202C_206B_200F_206F_200E_206A_200E_206F_200D_202E(stringBuilder, '}'); - return _200C_206F_206B_206B_206F_200B_202B_206A_200F_202E_202E_206B_206B_200E_206A_206F_206D_200F_200D_202D_202C_202A_200F_200C_206C_200D_206F_202B_206C_202D_200D_200F_200B_206D_200C_200C_206A_206A_206E_200C_202E((object)stringBuilder); - case 1: - _200D_200C_202D_200C_206F_206F_202B_202E_206D_200F_206D_200D_206F_206E_202D_202D_200D_202E_206D_202E_206B_200C_206B_206B_206A_202B_202C_206B_202B_202D_206B_202C_206B_200F_206F_200E_206A_200E_206F_200D_202E(stringBuilder, ' '); - num = -1428012309; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202A_200E_202E_206F_206F_206C_206A_206D_202D_200F_200C_200C_200C_202D_206A_202E_200E_206C_200F_200B_206F_206B_206B_206C_206E_200D_200F_206D_200D_200B_206B_202B_206B_200D_200D_200C_206E_200F_202E_202A_202E(); - _200D_202B_206C_202A_206C_206C_202A_200B_200F_206A_200D_200D_200B_202C_206A_206B_206B_206A_202B_200B_206D_202C_200E_206A_200F_202D_206B_206F_200B_202A_200B_206E_206D_202D_206D_206A_202E_200D_206B_202D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2012349732)); - _206E_200B_206C_200D_202E_206E_200D_202D_200F_202C_202E_200D_202A_200C_200D_200D_206F_200F_200F_206B_202C_202E_200E_206D_200C_202B_202D_202D_200D_206D_200E_206F_200E_206E_206F_200D_202A_200F_202A_206B_202E(builder, (object)Id); - _200D_202B_206C_202A_206C_206C_202A_200B_200F_206A_200D_200D_200B_202C_206A_206B_206B_206A_202B_200B_206D_202C_200E_206A_200F_202D_206B_206F_200B_202A_200B_206E_206D_202D_206D_206A_202E_200D_206B_202D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1160325293)); - _200D_202B_206C_202A_206C_206C_202A_200B_200F_206A_200D_200D_200B_202C_206A_206B_206B_206A_202B_200B_206D_202C_200E_206A_200F_202D_206B_206F_200B_202A_200B_206E_206D_202D_206D_206A_202E_200D_206B_202D_202E(builder, ClassJob.ToString()); - _200D_202B_206C_202A_206C_206C_202A_200B_200F_206A_200D_200D_200B_202C_206A_206B_206B_206A_202B_200B_206D_202C_200E_206A_200F_202D_206B_206F_200B_202A_200B_206E_206D_202D_206D_206A_202E_200D_206B_202D_202E(builder, 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(2059092762)); - _200D_202B_206C_202A_206C_206C_202A_200B_200F_206A_200D_200D_200B_202C_206A_206B_206B_206A_202B_200B_206D_202C_200E_206A_200F_202D_206B_206F_200B_202A_200B_206E_206D_202D_206D_206A_202E_200D_206B_202D_202E(builder, Level.ToString()); - _200D_202B_206C_202A_206C_206C_202A_200B_200F_206A_200D_200D_200B_202C_206A_206B_206B_206A_202B_200B_206D_202C_200E_206A_200F_202D_206B_206F_200B_202A_200B_206E_206D_202D_206D_206A_202E_200D_206B_202D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1694264994)); - _206E_200B_206C_200D_202E_206E_200D_202D_200F_202C_202E_200D_202A_200C_200D_200D_206F_200F_200F_206B_202C_202E_200E_206D_200C_202B_202D_202D_200D_206D_200E_206F_200E_206E_206F_200D_202A_200F_202A_206B_202E(builder, (object)GatheringItemIds); - _200D_202B_206C_202A_206C_206C_202A_200B_200F_206A_200D_200D_200B_202C_206A_206B_206B_206A_202B_200B_206D_202C_200E_206A_200F_202D_206B_206F_200B_202A_200B_206E_206D_202D_206D_206A_202E_200D_206B_202D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1684057181)); - _200D_202B_206C_202A_206C_206C_202A_200B_200F_206A_200D_200D_200B_202C_206A_206B_206B_206A_202B_200B_206D_202C_200E_206A_200F_202D_206B_206F_200B_202A_200B_206E_206D_202D_206D_206A_202E_200D_206B_202D_202E(builder, Expansion.ToString()); - _200D_202B_206C_202A_206C_206C_202A_200B_200F_206A_200D_200D_200B_202C_206A_206B_206B_206A_202B_200B_206D_202C_200E_206A_200F_202D_206B_206F_200B_202A_200B_206E_206D_202D_206D_206A_202E_200D_206B_202D_202E(builder, 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(-1364954486)); - _200D_202B_206C_202A_206C_206C_202A_200B_200F_206A_200D_200D_200B_202C_206A_206B_206B_206A_202B_200B_206D_202C_200E_206A_200F_202D_206B_206F_200B_202A_200B_206E_206D_202D_206D_206A_202E_200D_206B_202D_202E(builder, TerritoryType.ToString()); - _200D_202B_206C_202A_206C_206C_202A_200B_200F_206A_200D_200D_200B_202C_206A_206B_206B_206A_202B_200B_206D_202C_200E_206A_200F_202D_206B_206F_200B_202A_200B_206E_206D_202D_206D_206A_202E_200D_206B_202D_202E(builder, 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(-282533646)); - _206E_200B_206C_200D_202E_206E_200D_202D_200F_202C_202E_200D_202A_200C_200D_200D_206F_200F_200F_206B_202C_202E_200E_206D_200C_202B_202D_202D_200D_206D_200E_206F_200E_206E_206F_200D_202A_200F_202A_206B_202E(builder, (object)TerritoryName); - _200D_202B_206C_202A_206C_206C_202A_200B_200F_206A_200D_200D_200B_202C_206A_206B_206B_206A_202B_200B_206D_202C_200E_206A_200F_202D_206B_206F_200B_202A_200B_206E_206D_202D_206D_206A_202E_200D_206B_202D_202E(builder, 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(-1894371280)); - _206E_200B_206C_200D_202E_206E_200D_202D_200F_202C_202E_200D_202A_200C_200D_200D_206F_200F_200F_206B_202C_202E_200E_206D_200C_202B_202D_202D_200D_206D_200E_206F_200E_206E_206F_200D_202A_200F_202A_206B_202E(builder, (object)PlaceName); - _200D_202B_206C_202A_206C_206C_202A_200B_200F_206A_200D_200D_200B_202C_206A_206B_206B_206A_202B_200B_206D_202C_200E_206A_200F_202D_206B_206F_200B_202A_200B_206E_206D_202D_206D_206A_202E_200D_206B_202D_202E(builder, 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(-1350395082)); - _200D_202B_206C_202A_206C_206C_202A_200B_200F_206A_200D_200D_200B_202C_206A_206B_206B_206A_202B_200B_206D_202C_200E_206A_200F_202D_206B_206F_200B_202A_200B_206E_206D_202D_206D_206A_202E_200D_206B_202D_202E(builder, TotalItems.ToString()); - _200D_202B_206C_202A_206C_206C_202A_200B_200F_206A_200D_200D_200B_202C_206A_206B_206B_206A_202B_200B_206D_202C_200E_206A_200F_202D_206B_206F_200B_202A_200B_206E_206D_202D_206D_206A_202E_200D_206B_202D_202E(builder, 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(-1518544200)); - _200D_202B_206C_202A_206C_206C_202A_200B_200F_206A_200D_200D_200B_202C_206A_206B_206B_206A_202B_200B_206D_202C_200E_206A_200F_202D_206B_206F_200B_202A_200B_206E_206D_202D_206D_206A_202E_200D_206B_202D_202E(builder, CompletedItems.ToString()); - _200D_202B_206C_202A_206C_206C_202A_200B_200F_206A_200D_200D_200B_202C_206A_206B_206B_206A_202B_200B_206D_202C_200E_206A_200F_202D_206B_206F_200B_202A_200B_206E_206D_202D_206D_206A_202E_200D_206B_202D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1873552259)); - _200D_202B_206C_202A_206C_206C_202A_200B_200F_206A_200D_200D_200B_202C_206A_206B_206B_206A_202B_200B_206D_202C_200E_206A_200F_202D_206B_206F_200B_202A_200B_206E_206D_202D_206D_206A_202E_200D_206B_202D_202E(builder, IsComplete.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(DefaultGatheringPoint? other) - { - int num = (((object)this == other) ? (-1315173192) : (-1315173194)); - while (true) - { - int num2 = num; - int num3 = -1315173199; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 11: - num = ((!EqualityComparer>.Default.Equals(GatheringItemIds, other.GatheringItemIds)) ? (-1315173198) : (-1315173187)); - break; - case 7: - num = (((object)other == null) ? (-1315173198) : (-1315173191)); - break; - case 13: - num = ((!EqualityComparer.Default.Equals(ClassJob, other.ClassJob)) ? (-1315173198) : (-1315173186)); - break; - case 8: - num = ((!_202B_206F_200C_206C_200F_206C_202B_206B_202D_200E_200D_206C_206F_206A_206B_202E_206B_202D_206D_200C_202B_200B_200F_206D_206B_206B_206A_206B_202C_200C_206C_206F_202D_202B_202D_202C_202C_202E_206F_202E(EqualityContract, other.EqualityContract)) ? (-1315173198) : (-1315173200)); - break; - case 9: - return true; - case 0: - num = -1315173194; - break; - case 10: - num = ((!EqualityComparer.Default.Equals(PlaceName, other.PlaceName)) ? (-1315173198) : (-1315173196)); - break; - case 5: - num = ((!EqualityComparer.Default.Equals(TotalItems, other.TotalItems)) ? (-1315173198) : (-1315173185)); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(TerritoryName, other.TerritoryName)) ? (-1315173198) : (-1315173189)); - break; - case 3: - return false; - case 4: - return EqualityComparer.Default.Equals(IsComplete, other.IsComplete); - case 2: - num = ((!EqualityComparer.Default.Equals(TerritoryType, other.TerritoryType)) ? (-1315173198) : (-1315173193)); - break; - case 15: - num = ((!EqualityComparer.Default.Equals(Level, other.Level)) ? (-1315173198) : (-1315173190)); - break; - case 14: - num = ((!EqualityComparer.Default.Equals(CompletedItems, other.CompletedItems)) ? (-1315173198) : (-1315173195)); - break; - case 12: - num = ((!EqualityComparer.Default.Equals(Expansion, other.Expansion)) ? (-1315173198) : (-1315173197)); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(Id, other.Id)) ? (-1315173198) : (-1315173188)); - break; - } - } - } - - bool IEquatable.Equals(DefaultGatheringPoint? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202E_200D_206E_202C_206F_200F_200E_200D_206F_206F_202C_202A_206E_202D_200D_206F_206D_200C_206C_202C_206F_206B_200F_206E_202D_206A_200B_202A_200C_200D_202C_206B_200B_202A_206C_202E_206C_200D_200E_202B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200F_200C_200D_206A_200D_202A_200D_202A_206E_202D_206D_200B_202E_206A_206D_202B_202B_200D_202B_200C_202B_202E_200D_206A_200C_202C_200E_202D_206E_206E_206C_206B_202A_202B_206F_200C_202B_206A_202B_200C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200D_202B_206C_202A_206C_206C_202A_200B_200F_206A_200D_200D_200B_202C_206A_206B_206B_206A_202B_200B_206D_202C_200E_206A_200F_202D_206B_206F_200B_202A_200B_206E_206D_202D_206D_206A_202E_200D_206B_202D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200D_200C_202D_200C_206F_206F_202B_202E_206D_200F_206D_200D_206F_206E_202D_202D_200D_202E_206D_202E_206B_200C_206B_206B_206A_202B_202C_206B_202B_202D_206B_202C_206B_200F_206F_200E_206A_200E_206F_200D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200C_206F_206B_206B_206F_200B_202B_206A_200F_202E_202E_206B_206B_200E_206A_206F_206D_200F_200D_202D_202C_202A_200F_200C_206C_200D_206F_202B_206C_202D_200D_200F_200B_206D_200C_200C_206A_206A_206E_200C_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202A_200E_202E_206F_206F_206C_206A_206D_202D_200F_200C_200C_200C_202D_206A_202E_200E_206C_200F_200B_206F_206B_206B_206C_206E_200D_200F_206D_200D_200B_206B_202B_206B_200D_200D_200C_206E_200F_202E_202A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206E_200B_206C_200D_202E_206E_200D_202D_200F_202C_202E_200D_202A_200C_200D_200D_206F_200F_200F_206B_202C_202E_200E_206D_200C_202B_202D_202D_200D_206D_200E_206F_200E_206E_206F_200D_202A_200F_202A_206B_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202B_206F_200C_206C_200F_206C_202B_206B_202D_200E_200D_206C_206F_206A_206B_202E_206B_202D_206D_200C_202B_200B_200F_206D_206B_206B_206A_206B_202C_200C_206C_206F_202D_202B_202D_202C_202C_202E_206F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } } - private sealed record FilteredExpansion(ExpansionPoints Expansion, List Territories) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206D_200F_200F_202E_202B_200E_200D_202E_202C_206B_200F_200D_206B_202B_200B_200C_200D_202A_200D_200E_206F_202D_200C_200B_202A_200C_202B_202D_202A_206E_202D_202C_202C_200D_202C_206F_200F_200B_200E_206B_202E(typeof(FilteredExpansion).TypeHandle); - } - } + private sealed record FilteredExpansion(ExpansionPoints Expansion, List Territories); - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202D_200B_200E_202D_202D_200C_200B_206D_206D_206F_200C_200D_202E_206C_202B_206E_200D_202C_206A_200B_200D_200F_200D_206A_200C_202B_202E_200D_200B_206D_206B_202C_206C_206B_206E_206F_200C_202C_202C_200F_202E(); - _200E_206D_202D_200E_206A_200E_206F_206C_206C_200E_202B_202E_200E_206C_202E_200C_202C_206A_200B_206D_202E_202A_206F_206D_202C_202B_206C_200E_202C_202E_202C_206C_200C_202A_200F_200E_206B_202B_200C_202B_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1411755612)); - _200E_206D_202D_200E_206A_200E_206F_206C_206C_200E_202B_202E_200E_206C_202E_200C_202C_206A_200B_206D_202E_202A_206F_206D_202C_202B_206C_200E_202C_202E_202C_206C_200C_202A_200F_200E_206B_202B_200C_202B_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1344697862)); - int num = ((!PrintMembers(stringBuilder)) ? (-655734955) : (-655734956)); - while (true) - { - int num2 = num; - int num3 = -655734955; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -655734956; - break; - case 0: - _206F_200F_200B_200D_202C_206A_202C_206A_206C_202E_202B_200C_202C_202C_206E_202B_202A_206F_206F_202A_202B_206D_200E_206B_206E_206C_206B_202B_202C_200F_202B_206C_206F_200F_200F_200E_206E_206F_202D_202E(stringBuilder, '}'); - return _200E_200B_200B_200F_206B_200E_202C_200C_200E_200B_202D_202C_206C_202D_202E_202B_202E_202E_200B_202C_206D_202D_200E_206A_202D_202D_206E_202E_206C_206B_206A_200F_200E_202C_200E_200F_202B_200B_206A_200F_202E((object)stringBuilder); - case 1: - _206F_200F_200B_200D_202C_206A_202C_206A_206C_202E_202B_200C_202C_202C_206E_202B_202A_206F_206F_202A_202B_206D_200E_206B_206E_206C_206B_202B_202C_200F_202B_206C_206F_200F_200F_200E_206E_206F_202D_202E(stringBuilder, ' '); - num = -655734955; - break; - } - } - } + private sealed record FilteredTerritory(TerritoryPoints Territory, List GatheringPoints); - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200F_206F_206B_202E_202E_202E_206B_206D_206D_200D_200F_200F_200D_200D_200B_206E_206A_200E_202D_202D_200E_206D_202D_206E_200C_206F_206F_206F_200C_200D_200D_200D_200E_206C_202C_202A_200B_200B_200B_200F_202E(); - _200E_206D_202D_200E_206A_200E_206F_206C_206C_200E_202B_202E_200E_206C_202E_200C_202C_206A_200B_206D_202E_202A_206F_206D_202C_202B_206C_200E_202C_202E_202C_206C_200C_202A_200F_200E_206B_202B_200C_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-243680172)); - _200D_206A_202B_200D_200D_206F_206F_200B_206A_206D_206C_206C_200D_206F_202A_200E_202C_206C_202A_206C_200B_200C_206C_202E_200D_206F_202C_200B_206F_206F_200C_206C_202E_206D_202A_200F_202D_200E_200C_206F_202E(builder, (object)Expansion); - _200E_206D_202D_200E_206A_200E_206F_206C_206C_200E_202B_202E_200E_206C_202E_200C_202C_206A_200B_206D_202E_202A_206F_206D_202C_202B_206C_200E_202C_202E_202C_206C_200C_202A_200F_200E_206B_202B_200C_202B_202E(builder, 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(-1921737749)); - _200D_206A_202B_200D_200D_206F_206F_200B_206A_206D_206C_206C_200D_206F_202A_200E_202C_206C_202A_206C_200B_200C_206C_202E_200D_206F_202C_200B_206F_206F_200C_206C_202E_206D_202A_200F_202D_200E_200C_206F_202E(builder, (object)Territories); - return true; - } - - [CompilerGenerated] - public bool Equals(FilteredExpansion? other) - { - int num = (((object)this == other) ? (-801738585) : (-801738586)); - while (true) - { - int num2 = num; - int num3 = -801738585; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return false; - case 0: - return true; - case 1: - num = (((object)other == null) ? (-801738587) : (-801738591)); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(Expansion, other.Expansion)) ? (-801738587) : (-801738590)); - break; - case 3: - num = -801738586; - break; - case 5: - return EqualityComparer>.Default.Equals(Territories, other.Territories); - case 6: - num = ((!_200B_200B_206B_200C_202A_206F_202B_202E_206D_202A_200C_206F_206C_202C_202B_200D_202D_202B_206B_202D_206B_202C_200F_200E_200C_202E_206F_206B_200B_200E_200F_202B_206B_206C_206B_200E_200F_206D_200C_200D_202E(EqualityContract, other.EqualityContract)) ? (-801738587) : (-801738589)); - break; - } - } - } - - bool IEquatable.Equals(FilteredExpansion? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206D_200F_200F_202E_202B_200E_200D_202E_202C_206B_200F_200D_206B_202B_200B_200C_200D_202A_200D_200E_206F_202D_200C_200B_202A_200C_202B_202D_202A_206E_202D_202C_202C_200D_202C_206F_200F_200B_200E_206B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202D_200B_200E_202D_202D_200C_200B_206D_206D_206F_200C_200D_202E_206C_202B_206E_200D_202C_206A_200B_200D_200F_200D_206A_200C_202B_202E_200D_200B_206D_206B_202C_206C_206B_206E_206F_200C_202C_202C_200F_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200E_206D_202D_200E_206A_200E_206F_206C_206C_200E_202B_202E_200E_206C_202E_200C_202C_206A_200B_206D_202E_202A_206F_206D_202C_202B_206C_200E_202C_202E_202C_206C_200C_202A_200F_200E_206B_202B_200C_202B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206F_200F_200B_200D_202C_206A_202C_206A_206C_202E_202B_200C_202C_202C_206E_202B_202A_206F_206F_202A_202B_206D_200E_206B_206E_206C_206B_202B_202C_200F_202B_206C_206F_200F_200F_200E_206E_206F_202D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200E_200B_200B_200F_206B_200E_202C_200C_200E_200B_202D_202C_206C_202D_202E_202B_202E_202E_200B_202C_206D_202D_200E_206A_202D_202D_206E_202E_206C_206B_206A_200F_200E_202C_200E_200F_202B_200B_206A_200F_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200F_206F_206B_202E_202E_202E_206B_206D_206D_200D_200F_200F_200D_200D_200B_206E_206A_200E_202D_202D_200E_206D_202D_206E_200C_206F_206F_206F_200C_200D_200D_200D_200E_206C_202C_202A_200B_200B_200B_200F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200D_206A_202B_200D_200D_206F_206F_200B_206A_206D_206C_206C_200D_206F_202A_200E_202C_206C_202A_206C_200B_200C_206C_202E_200D_206F_202C_200B_206F_206F_200C_206C_202E_206D_202A_200F_202D_200E_200C_206F_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200B_200B_206B_200C_202A_206F_202B_202E_206D_202A_200C_206F_206C_202C_202B_200D_202D_202B_206B_202D_206B_202C_200F_200E_200C_202E_206F_206B_200B_200E_200F_202B_206B_206C_206B_200E_200F_206D_200C_200D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - private sealed record FilteredTerritory(TerritoryPoints Territory, List GatheringPoints) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202A_202C_202B_202D_200F_202A_206B_202E_202B_200F_200C_206F_200F_206E_206B_200B_200B_202E_202C_200F_206B_200B_200E_206D_206F_200B_200C_202C_206C_206C_206C_202C_202A_206C_206C_206E_206C_206E_200C_202E_202E(typeof(FilteredTerritory).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206E_206D_200F_206D_200C_206E_202B_206A_200F_206B_206E_206A_202C_206A_202B_200C_206E_202B_202B_200B_202C_200C_202C_202E_206B_202B_206B_202D_200F_200C_202A_206A_202B_206D_200E_206D_200C_202B_200C_200C_202E(); - _206A_202A_200D_202C_206E_200B_200B_206A_200C_200E_200B_202C_206C_200F_200D_202B_202C_202D_206F_206C_200F_206B_206C_200C_206F_200F_200C_202B_200D_202A_202B_206A_202D_202C_206A_206B_200F_202B_200D_200E_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2065026974)); - _206A_202A_200D_202C_206E_200B_200B_206A_200C_200E_200B_202C_206C_200F_200D_202B_202C_202D_206F_206C_200F_206B_206C_200C_206F_200F_200C_202B_200D_202A_202B_206A_202D_202C_206A_206B_200F_202B_200D_200E_202E(stringBuilder, 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(117284107)); - int num = ((!PrintMembers(stringBuilder)) ? (-747900744) : (-747900741)); - while (true) - { - int num2 = num; - int num3 = -747900742; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - _206F_206B_202E_202A_200E_206E_202A_200D_202B_202E_202A_206A_206B_206D_202D_202D_200C_206C_206F_200D_200C_202C_206F_200F_202A_206C_202C_206F_202A_206D_202B_206A_206B_206A_200F_202C_202A_206B_206C_202E_202E(stringBuilder, '}'); - return _202D_202E_200C_200E_202C_206D_200D_200F_202E_206E_206D_206A_200B_200E_200D_202E_202B_206E_206B_206B_200C_206D_206F_202A_200C_206E_206A_202D_202B_206C_206D_202A_200F_202B_200E_200F_202D_200B_206C_202E((object)stringBuilder); - case 1: - _206F_206B_202E_202A_200E_206E_202A_200D_202B_202E_202A_206A_206B_206D_202D_202D_200C_206C_206F_200D_200C_202C_206F_200F_202A_206C_202C_206F_202A_206D_202B_206A_206B_206A_200F_202C_202A_206B_206C_202E_202E(stringBuilder, ' '); - num = -747900744; - break; - case 0: - num = -747900741; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202B_206E_200B_200D_202A_206F_202A_200E_202C_206B_206D_206D_200E_202A_206A_202C_206A_202C_202D_202B_206C_200C_206A_202A_206A_200F_202A_202A_200B_206D_200C_202B_200B_200B_202B_200F_206A_206A_206B_202A_202E(); - _206A_202A_200D_202C_206E_200B_200B_206A_200C_200E_200B_202C_206C_200F_200D_202B_202C_202D_206F_206C_200F_206B_206C_200C_206F_200F_200C_202B_200D_202A_202B_206A_202D_202C_206A_206B_200F_202B_200D_200E_202E(builder, 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(-20142916)); - _206A_206D_206C_202D_200B_200C_200E_202E_202B_206D_202C_206F_202B_202D_200B_200E_202C_200B_206C_206E_202A_206C_206C_200D_202A_200D_206C_202E_202B_202C_200B_200E_200B_200D_206E_206E_206C_200D_206A_206D_202E(builder, (object)Territory); - _206A_202A_200D_202C_206E_200B_200B_206A_200C_200E_200B_202C_206C_200F_200D_202B_202C_202D_206F_206C_200F_206B_206C_200C_206F_200F_200C_202B_200D_202A_202B_206A_202D_202C_206A_206B_200F_202B_200D_200E_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2098415863)); - _206A_206D_206C_202D_200B_200C_200E_202E_202B_206D_202C_206F_202B_202D_200B_200E_202C_200B_206C_206E_202A_206C_206C_200D_202A_200D_206C_202E_202B_202C_200B_200E_200B_200D_206E_206E_206C_200D_206A_206D_202E(builder, (object)GatheringPoints); - return true; - } - - [CompilerGenerated] - public bool Equals(FilteredTerritory? other) - { - int num = (((object)this == other) ? 295431495 : 295431493); - while (true) - { - int num2 = num; - int num3 = 295431492; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return true; - case 0: - return false; - case 2: - num = 295431493; - break; - case 6: - num = ((!EqualityComparer.Default.Equals(Territory, other.Territory)) ? 295431492 : 295431488); - break; - case 4: - return EqualityComparer>.Default.Equals(GatheringPoints, other.GatheringPoints); - case 1: - num = (((object)other == null) ? 295431492 : 295431489); - break; - case 5: - num = ((!_200D_206C_200B_200C_206D_202A_200B_202E_200B_200B_200E_202B_200D_200D_206B_200B_206D_202B_206D_200D_202E_200E_202B_202C_206F_206C_206B_206C_202A_206A_202D_202A_202B_202A_202D_200D_200B_200F_206E_206E_202E(EqualityContract, other.EqualityContract)) ? 295431492 : 295431490); - break; - } - } - } - - bool IEquatable.Equals(FilteredTerritory? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202A_202C_202B_202D_200F_202A_206B_202E_202B_200F_200C_206F_200F_206E_206B_200B_200B_202E_202C_200F_206B_200B_200E_206D_206F_200B_200C_202C_206C_206C_206C_202C_202A_206C_206C_206E_206C_206E_200C_202E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206E_206D_200F_206D_200C_206E_202B_206A_200F_206B_206E_206A_202C_206A_202B_200C_206E_202B_202B_200B_202C_200C_202C_202E_206B_202B_206B_202D_200F_200C_202A_206A_202B_206D_200E_206D_200C_202B_200C_200C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206A_202A_200D_202C_206E_200B_200B_206A_200C_200E_200B_202C_206C_200F_200D_202B_202C_202D_206F_206C_200F_206B_206C_200C_206F_200F_200C_202B_200D_202A_202B_206A_202D_202C_206A_206B_200F_202B_200D_200E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206F_206B_202E_202A_200E_206E_202A_200D_202B_202E_202A_206A_206B_206D_202D_202D_200C_206C_206F_200D_200C_202C_206F_200F_202A_206C_202C_206F_202A_206D_202B_206A_206B_206A_200F_202C_202A_206B_206C_202E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202D_202E_200C_200E_202C_206D_200D_200F_202E_206E_206D_206A_200B_200E_200D_202E_202B_206E_206B_206B_200C_206D_206F_202A_200C_206E_206A_202D_202B_206C_206D_202A_200F_202B_200E_200F_202D_200B_206C_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202B_206E_200B_200D_202A_206F_202A_200E_202C_206B_206D_206D_200E_202A_206A_202C_206A_202C_202D_202B_206C_200C_206A_202A_206A_200F_202A_202A_200B_206D_200C_202B_200B_200B_202B_200F_206A_206A_206B_202A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206A_206D_206C_202D_200B_200C_200E_202E_202B_206D_202C_206F_202B_202D_200B_200E_202C_200B_206C_206E_202A_206C_206C_200D_202A_200D_206C_202E_202B_202C_200B_200E_200B_200D_206E_206E_206C_200D_206A_206D_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200D_206C_200B_200C_206D_202A_200B_202E_200B_200B_200E_202B_200D_200D_206B_200B_206D_202B_206D_200D_202E_200E_202B_202C_206F_206C_206B_206C_202A_206A_202D_202A_202B_202A_202D_200D_200B_200F_206E_206E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - private sealed record FilteredGatheringPoint(DefaultGatheringPoint Point, List GatheringItemIds) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206E_206F_200C_200E_200E_200E_206D_206B_200D_206A_202D_200E_202D_200F_200C_202A_200D_202B_206D_202D_206A_206F_200D_202A_200B_202D_202D_206E_200B_206E_206F_200E_202B_200B_206D_206E_206A_200F_206E_202E(typeof(FilteredGatheringPoint).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200C_200D_200E_206C_206F_206C_202E_200B_202B_200D_206A_202A_202E_202E_206D_206A_202D_202E_206A_200B_206A_200F_202C_202A_206C_202B_206B_200B_202C_206A_206F_200B_206D_202B_200E_202B_202C_202A_200B_202E_202E(); - _202B_202B_202E_206D_200D_206D_200C_202B_206F_206B_206D_202E_200E_202A_200B_206D_202A_200D_200B_202A_200E_206A_202C_200F_200C_206C_206B_206F_206C_206A_206D_200C_202D_206E_206B_206A_200B_202C_200E_202D_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(974624529)); - _202B_202B_202E_206D_200D_206D_200C_202B_206F_206B_206D_202E_200E_202A_200B_206D_202A_200D_200B_202A_200E_206A_202C_200F_200C_206C_206B_206F_206C_206A_206D_200C_202D_206E_206B_206A_200B_202C_200E_202D_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(556540328)); - int num = ((!PrintMembers(stringBuilder)) ? (-1211955640) : (-1211955637)); - while (true) - { - int num2 = num; - int num3 = -1211955638; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - _202E_206D_200B_206E_206D_200D_202E_206E_200F_200B_202E_206B_200C_206C_206A_206E_202E_202D_202E_200B_206C_206A_200E_206F_202B_200D_202E_200D_202C_200E_206D_202A_206E_202B_200B_206B_202E_202C_202D_200E_202E(stringBuilder, '}'); - return _206E_206F_202C_202A_202E_206D_202E_202C_202A_206B_200B_202E_202B_206F_202E_200C_206A_206F_202E_206D_206A_202A_206B_200B_202E_200F_202A_200E_206B_206A_202A_206D_202C_200E_206D_200E_206B_200E_202D_200C_202E((object)stringBuilder); - case 1: - _202E_206D_200B_206E_206D_200D_202E_206E_200F_200B_202E_206B_200C_206C_206A_206E_202E_202D_202E_200B_206C_206A_200E_206F_202B_200D_202E_200D_202C_200E_206D_202A_206E_202B_200B_206B_202E_202C_202D_200E_202E(stringBuilder, ' '); - num = -1211955640; - break; - case 0: - num = -1211955637; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206B_200C_206C_200D_206F_206C_202E_206C_200F_202E_200B_206C_202E_202C_200B_200C_202B_206F_202C_202D_200F_200F_206C_206E_206C_202C_200B_202C_202A_202E_200C_202D_200D_206A_206C_200D_202D_206C_200E_206A_202E(); - _202B_202B_202E_206D_200D_206D_200C_202B_206F_206B_206D_202E_200E_202A_200B_206D_202A_200D_200B_202A_200E_206A_202C_200F_200C_206C_206B_206F_206C_206A_206D_200C_202D_206E_206B_206A_200B_202C_200E_202D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1934952826)); - _200B_202B_202E_200F_200F_206D_202C_206B_206A_200B_200F_200C_206C_202C_206A_206B_202A_200F_200D_202E_202A_200F_206D_200B_200B_200D_206F_202D_202E_206C_200B_200C_206C_200D_200F_202D_202E_206A_202E_206E_202E(builder, (object)Point); - _202B_202B_202E_206D_200D_206D_200C_202B_206F_206B_206D_202E_200E_202A_200B_206D_202A_200D_200B_202A_200E_206A_202C_200F_200C_206C_206B_206F_206C_206A_206D_200C_202D_206E_206B_206A_200B_202C_200E_202D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1694264994)); - _200B_202B_202E_200F_200F_206D_202C_206B_206A_200B_200F_200C_206C_202C_206A_206B_202A_200F_200D_202E_202A_200F_206D_200B_200B_200D_206F_202D_202E_206C_200B_200C_206C_200D_200F_202D_202E_206A_202E_206E_202E(builder, (object)GatheringItemIds); - return true; - } - - [CompilerGenerated] - public bool Equals(FilteredGatheringPoint? other) - { - int num = (((object)this == other) ? 971204107 : 971204106); - while (true) - { - int num2 = num; - int num3 = 971204105; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - num = ((!_206D_200F_200D_202A_206A_202B_202A_200F_206F_206C_200C_202D_200B_200E_202A_202C_202E_206A_200E_206F_200E_202D_202C_206F_202A_206B_202A_200C_206E_202A_200D_200F_202C_200F_206E_200C_206E_200D_200D_206C_202E(EqualityContract, other.EqualityContract)) ? 971204105 : 971204109); - break; - case 6: - return EqualityComparer>.Default.Equals(GatheringItemIds, other.GatheringItemIds); - case 4: - num = ((!EqualityComparer.Default.Equals(Point, other.Point)) ? 971204105 : 971204111); - break; - case 2: - return true; - case 3: - num = (((object)other == null) ? 971204105 : 971204104); - break; - case 0: - return false; - case 5: - num = 971204106; - break; - } - } - } - - bool IEquatable.Equals(FilteredGatheringPoint? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206E_206F_200C_200E_200E_200E_206D_206B_200D_206A_202D_200E_202D_200F_200C_202A_200D_202B_206D_202D_206A_206F_200D_202A_200B_202D_202D_206E_200B_206E_206F_200E_202B_200B_206D_206E_206A_200F_206E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200C_200D_200E_206C_206F_206C_202E_200B_202B_200D_206A_202A_202E_202E_206D_206A_202D_202E_206A_200B_206A_200F_202C_202A_206C_202B_206B_200B_202C_206A_206F_200B_206D_202B_200E_202B_202C_202A_200B_202E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202B_202B_202E_206D_200D_206D_200C_202B_206F_206B_206D_202E_200E_202A_200B_206D_202A_200D_200B_202A_200E_206A_202C_200F_200C_206C_206B_206F_206C_206A_206D_200C_202D_206E_206B_206A_200B_202C_200E_202D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202E_206D_200B_206E_206D_200D_202E_206E_200F_200B_202E_206B_200C_206C_206A_206E_202E_202D_202E_200B_206C_206A_200E_206F_202B_200D_202E_200D_202C_200E_206D_202A_206E_202B_200B_206B_202E_202C_202D_200E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206E_206F_202C_202A_202E_206D_202E_202C_202A_206B_200B_202E_202B_206F_202E_200C_206A_206F_202E_206D_206A_202A_206B_200B_202E_200F_202A_200E_206B_206A_202A_206D_202C_200E_206D_200E_206B_200E_202D_200C_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206B_200C_206C_200D_206F_206C_202E_206C_200F_202E_200B_206C_202E_202C_200B_200C_202B_206F_202C_202D_200F_200F_206C_206E_206C_202C_200B_202C_202A_202E_200C_202D_200D_206A_206C_200D_202D_206C_200E_206A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200B_202B_202E_200F_200F_206D_202C_206B_206A_200B_200F_200C_206C_202C_206A_206B_202A_200F_200D_202E_202A_200F_206D_200B_200B_200D_206F_202D_202E_206C_200B_200C_206C_200D_200F_202D_202E_206A_202E_206E_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206D_200F_200D_202A_206A_202B_202A_200F_206F_206C_200C_202D_200B_200E_202A_202C_202E_206A_200E_206F_200E_202D_202C_206F_202A_206B_202A_200C_206E_202A_200D_200F_202C_200F_206E_200C_206E_200D_200D_206C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__15_0; - - public static Func, bool> _003C_003E9__15_29; - - public static Func>> _003C_003E9__15_1; - - public static Func<_003C_003Ef__AnonymousType4, uint> _003C_003E9__15_2; - - public static Func>, uint> _003C_003E9__15_3; - - public static Func<_003C_003Ef__AnonymousType4, uint> _003C_003E9__15_31; - - public static Func>, List> _003C_003E9__15_4; - - public static Func _003C_003E9__15_5; - - public static Func _003C_003E9__15_7; - - public static Func>> _003C_003E9__15_8; - - public static Func, bool> _003C_003E9__15_9; - - public static Func _003C_003E9__15_11; - - public static Func<_003C_003Ef__AnonymousType5, bool> _003C_003E9__15_13; - - public static Func<_003C_003Ef__AnonymousType5, int> _003C_003E9__15_14; - - public static Func<_003C_003Ef__AnonymousType5, string> _003C_003E9__15_15; - - public static Func _003C_003E9__15_16; - - public static Func _003C_003E9__15_17; - - public static Func _003C_003E9__15_18; - - public static Func _003C_003E9__15_32; - - public static Func _003C_003E9__15_33; - - public static Func> _003C_003E9__15_19; - - public static Func<_003C_003Ef__AnonymousType6, bool> _003C_003E9__15_20; - - public static Func _003C_003E9__15_22; - - public static Func _003C_003E9__15_23; - - public static Func _003C_003E9__15_24; - - public static Func _003C_003E9__15_25; - - public static Func _003C_003E9__15_26; - - public static Func> _003C_003E9__15_34; - - public static Func, DefaultGatheringPoint>, TerritoryPoints> _003C_003E9__15_35; - - public static Func _003C_003E9__15_36; - - public static Func, ExpansionPoints> _003C_003E9__15_27; - - public static Func _003C_003E9__15_28; - - public static Predicate _003C_003E9__19_0; - - public static Func _003C_003E9__19_3; - - public static Func _003C_003E9__20_1; - - public static Func _003C_003E9__20_2; - - public static Predicate _003C_003E9__21_1; - - public static Func _003C_003E9__21_3; - - public static Func _003C_003E9__21_4; - - public static Func _003C_003E9__23_7; - - public static Func _003C_003E9__23_4; - - public static Func _003C_003E9__23_5; - - public static Func _003C_003E9__23_6; - - public static Func _003C_003E9__23_0; - - public static Func _003C_003E9__23_1; - - public static Func _003C_003E9__23_2; - - public static Func _003C_003E9__23_3; - - internal bool _003C_002Ector_003Eb__15_0(GatheringLeveRoute x) - { - return x.GatheringPoint[0].RowId != 0; - } - - internal IEnumerable<_003C_003Ef__AnonymousType4> _003C_002Ector_003Eb__15_1(GatheringLeveRoute x) - { - _003C_003Ec__DisplayClass15_1 CS_0024_003C_003E8__locals2 = new _003C_003Ec__DisplayClass15_1 - { - x = x - }; - return from y in CS_0024_003C_003E8__locals2.x.GatheringPoint - where y.RowId != 0 - select new - { - RouteId = CS_0024_003C_003E8__locals2.x.RowId, - GatheringPointId = y.RowId - }; - } - - internal bool _003C_002Ector_003Eb__15_29(RowRef y) - { - return y.RowId != 0; - } - - internal uint _003C_002Ector_003Eb__15_2(_003C_003Ef__AnonymousType4 x) - { - return x.RouteId; - } - - internal uint _003C_002Ector_003Eb__15_3(IGrouping> x) - { - return x.Key; - } - - internal List _003C_002Ector_003Eb__15_4(IGrouping> x) - { - return x.Select(y => y.GatheringPointId).ToList(); - } - - internal uint _003C_002Ector_003Eb__15_31(_003C_003Ef__AnonymousType4 y) - { - return y.GatheringPointId; - } - - internal bool _003C_002Ector_003Eb__15_5(Leve x) - { - return x.RowId != 0; - } - - internal bool _003C_002Ector_003Eb__15_7(GatheringLeve? x) - { - return x.HasValue; - } - - internal IEnumerable> _003C_002Ector_003Eb__15_8(GatheringLeve x) - { - return x.Route; - } - - internal bool _003C_002Ector_003Eb__15_9(RowRef y) - { - return y.RowId != 0; - } - - internal bool _003C_002Ector_003Eb__15_11(GatheringItem x) - { - int num = ((x.RowId == 0) ? (-1719090108) : (-1719090105)); - while (true) - { - int num2 = num; - int num3 = -1719090107; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0049; - case 2: - return x.GatheringItemLevel.RowId != 0; - case 1: - return false; - } - continue; - IL_0049: - num = -1719090105; - } - } - - internal bool _003C_002Ector_003Eb__15_13(_003C_003Ef__AnonymousType5 x) - { - return !_206B_206A_202A_206E_202C_200D_200F_206B_206E_206F_202B_202C_202B_206A_202C_200E_200E_206C_200F_202E_206A_206A_202B_202D_200E_202C_206A_206F_202C_206F_200C_200F_202D_206B_200F_202E_200F_206D_202B_206A_202E(x.Name); - } - - internal int _003C_002Ector_003Eb__15_14(_003C_003Ef__AnonymousType5 x) - { - return x.GatheringItemId; - } - - internal string _003C_002Ector_003Eb__15_15(_003C_003Ef__AnonymousType5 x) - { - return x.Name; - } - - internal bool _003C_002Ector_003Eb__15_16(GatheringPoint x) - { - return x.GatheringPointBase.RowId != 0; - } - - internal bool _003C_002Ector_003Eb__15_17(GatheringPoint x) - { - uint rowId = x.GatheringPointBase.RowId; - int num = ((rowId < 653) ? (-647467167) : (-647467166)); - bool result = default(bool); - while (true) - { - int num2 = num; - int num3 = -647467168; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = -647467166; - break; - case 4: - return result; - case 0: - result = false; - num = -647467164; - break; - case 1: - result = true; - num = -647467164; - break; - case 2: - num = ((rowId <= 680) ? (-647467168) : (-647467167)); - break; - } - } - } - - internal uint _003C_002Ector_003Eb__15_18(GatheringPoint x) - { - return x.GatheringPointBase.RowId; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal _003C_003Ef__AnonymousType6 _003C_002Ector_003Eb__15_19(GatheringPoint x) - { - uint rowId = x.RowId; - GatheringPointId id = _202B_206E_202C_202E_206B_200B_206F_206E_206B_202A_206B_202E_206D_202E_200E_206F_206F_206F_206A_206C_200C_206C_206A_202D_200F_206A_200F_206D_206F_206D_202C_202E_206D_202C_200C_200E_206C_202B_202C_206E_202E((ushort)x.GatheringPointBase.RowId); - uint rowId2 = x.GatheringPointBase.Value.GatheringType.RowId; - int num = ((rowId2 <= 1) ? (-232485595) : (-232485593)); - EClassJob eClassJob = default(EClassJob); - while (true) - { - int num2 = num; - int num3 = -232485595; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - { - EClassJob classJob = eClassJob; - byte gatheringLevel = x.GatheringPointBase.Value.GatheringLevel; - List gatheringItemIds = (from y in x.GatheringPointBase.Value.Item - where y.RowId != 0 - select (ushort)y.RowId).ToList(); - byte expansion = ((byte?)x.TerritoryType.ValueNullable?.ExVersion.RowId) ?? byte.MaxValue; - ushort territoryType = (ushort)x.TerritoryType.RowId; - string territoryName = x.TerritoryType.ValueNullable?.PlaceName.ValueNullable?.Name.ToString(); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(3, 2); - defaultInterpolatedStringHandler.AppendFormatted(x.GatheringPointBase.RowId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1687715325)); - defaultInterpolatedStringHandler.AppendFormatted(x.PlaceName.ValueNullable?.Name); - return new - { - GatheringPointId = rowId, - Point = new DefaultGatheringPoint(id, classJob, gatheringLevel, gatheringItemIds, (EExpansionVersion)expansion, territoryType, territoryName, defaultInterpolatedStringHandler.ToStringAndClear()) - }; - } - case 1: - eClassJob = EClassJob.Botanist; - num = -232485599; - break; - case 3: - num = -232485593; - break; - case 2: - num3 = 2; - num4 = (int)rowId2; - num = (((uint)(~(~num4 + num3)) <= 1u) ? (-232485596) : (-232485597)); - break; - case 0: - eClassJob = EClassJob.Miner; - num = -232485599; - break; - case 6: - num = -232485600; - break; - case 5: - eClassJob = EClassJob.Fisher; - num = -232485599; - break; - } - } - } - - internal bool _003C_002Ector_003Eb__15_32(RowRef y) - { - return y.RowId != 0; - } - - internal ushort _003C_002Ector_003Eb__15_33(RowRef y) - { - return (ushort)y.RowId; - } - - internal bool _003C_002Ector_003Eb__15_20(_003C_003Ef__AnonymousType6 x) - { - return x.Point.ClassJob != EClassJob.Fisher; - } - - internal bool _003C_002Ector_003Eb__15_22(DefaultGatheringPoint x) - { - return x != null; - } - - internal bool _003C_002Ector_003Eb__15_23(DefaultGatheringPoint x) - { - return x.Expansion != (EExpansionVersion)255; - } - - internal bool _003C_002Ector_003Eb__15_24(DefaultGatheringPoint x) - { - return x.GatheringItemIds.Count > 0; - } - - internal bool _003C_002Ector_003Eb__15_25(DefaultGatheringPoint x) - { - ushort territoryType = x.TerritoryType; - int num = ((territoryType == 901) ? (-1510043061) : (-1510043064)); - while (true) - { - int num2 = num; - int num3 = -1510043062; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004f; - case 2: - return territoryType != 929; - case 1: - return false; - } - continue; - IL_004f: - num = -1510043064; - } - } - - internal EExpansionVersion _003C_002Ector_003Eb__15_26(DefaultGatheringPoint x) - { - return x.Expansion; - } - - internal ExpansionPoints _003C_002Ector_003Eb__15_27(IGrouping x) - { - return new ExpansionPoints(x.Key, (from y in x.GroupBy([MethodImpl(MethodImplOptions.NoInlining)] (DefaultGatheringPoint y) => - { - ushort territoryType = y.TerritoryType; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(3, 2); - defaultInterpolatedStringHandler.AppendFormatted((!_206B_206A_202A_206E_202C_200D_200F_206B_206E_206F_202B_202C_202B_206A_202C_200E_200E_206C_200F_202E_206A_206A_202B_202D_200E_202C_206A_206F_202C_206F_200C_200F_202D_206B_200F_202E_200F_206D_202B_206A_202E(y.TerritoryName)) ? y.TerritoryName : 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(1520869652)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1473546846)); - defaultInterpolatedStringHandler.AppendFormatted(y.TerritoryType); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1618480346)); - return new - { - TerritoryType = territoryType, - TerritoryName = defaultInterpolatedStringHandler.ToStringAndClear() - }; - }) - select new TerritoryPoints(y.Key.TerritoryType, y.Key.TerritoryName, y.ToList()) into y - where y.Points.Count > 0 - select y).ToList()); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal _003C_003Ef__AnonymousType7 _003C_002Ector_003Eb__15_34(DefaultGatheringPoint y) - { - ushort territoryType = y.TerritoryType; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(3, 2); - defaultInterpolatedStringHandler.AppendFormatted((!_206B_206A_202A_206E_202C_200D_200F_206B_206E_206F_202B_202C_202B_206A_202C_200E_200E_206C_200F_202E_206A_206A_202B_202D_200E_202C_206A_206F_202C_206F_200C_200F_202D_206B_200F_202E_200F_206D_202B_206A_202E(y.TerritoryName)) ? y.TerritoryName : 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(1520869652)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1473546846)); - defaultInterpolatedStringHandler.AppendFormatted(y.TerritoryType); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1618480346)); - return new - { - TerritoryType = territoryType, - TerritoryName = defaultInterpolatedStringHandler.ToStringAndClear() - }; - } - - internal TerritoryPoints _003C_002Ector_003Eb__15_35(IGrouping<_003C_003Ef__AnonymousType7, DefaultGatheringPoint> y) - { - return new TerritoryPoints(y.Key.TerritoryType, y.Key.TerritoryName, y.ToList()); - } - - internal bool _003C_002Ector_003Eb__15_36(TerritoryPoints y) - { - return y.Points.Count > 0; - } - - internal EExpansionVersion _003C_002Ector_003Eb__15_28(ExpansionPoints x) - { - return x.ExpansionVersion; - } - - internal bool _003CUpdateFilter_003Eb__19_0(string _) - { - return true; - } - - internal bool _003CUpdateFilter_003Eb__19_3(FilteredExpansion x) - { - return x != null; - } - - internal bool _003CFilterExpansion_003Eb__20_1(FilteredTerritory x) - { - return x != null; - } - - internal FilteredTerritory _003CFilterExpansion_003Eb__20_2(FilteredTerritory x) - { - return x; - } - - internal bool _003CFilterTerritory_003Eb__21_1(string _) - { - return true; - } - - internal bool _003CFilterTerritory_003Eb__21_3(FilteredGatheringPoint x) - { - return x != null; - } - - internal FilteredGatheringPoint _003CFilterTerritory_003Eb__21_4(FilteredGatheringPoint x) - { - return x; - } - - internal bool _003CRefreshCounts_003Eb__23_7(ushort x) - { - return x < 10000; - } - - internal int _003CRefreshCounts_003Eb__23_4(DefaultGatheringPoint x) - { - return x.TotalItems; - } - - internal int _003CRefreshCounts_003Eb__23_5(DefaultGatheringPoint x) - { - return x.CompletedItems; - } - - internal bool _003CRefreshCounts_003Eb__23_6(DefaultGatheringPoint x) - { - return x.IsComplete; - } - - internal int _003CRefreshCounts_003Eb__23_0(TerritoryPoints x) - { - return x.TotalItems; - } - - internal int _003CRefreshCounts_003Eb__23_1(TerritoryPoints x) - { - return x.CompletedItems; - } - - internal int _003CRefreshCounts_003Eb__23_2(TerritoryPoints x) - { - return x.TotalPoints; - } - - internal int _003CRefreshCounts_003Eb__23_3(TerritoryPoints x) - { - return x.CompletedPoints; - } - - static bool _206B_206A_202A_206E_202C_200D_200F_206B_206E_206F_202B_202C_202B_206A_202C_200E_200E_206C_200F_202E_206A_206A_202B_202D_200E_202C_206A_206F_202C_206F_200C_200F_202D_206B_200F_202E_200F_206D_202B_206A_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static GatheringPointId _202B_206E_202C_202E_206B_200B_206F_206E_206B_202A_206B_202E_206D_202E_200E_206F_206F_206F_206A_206C_200C_206C_206A_202D_200F_206A_200F_206D_206F_206D_202C_202E_206D_202C_200C_200E_206C_202B_202C_206E_202E(ushort P_0) - { - return new GatheringPointId(P_0); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass15_0 - { - public GatheringJournalComponent _003C_003E4__this; - - public ExcelSheet gatheringLeveSheet; - - public Dictionary> routeToGatheringPoint; - - public ExcelSheet itemSheet; - - public HashSet leveGatheringPoints; - - public ExcelSheet territoryTypeSheet; - - internal GatheringLeve? _003C_002Ector_003Eb__6(Leve x) - { - return gatheringLeveSheet.GetRowOrDefault(x.DataId.RowId); - } - - internal IEnumerable _003C_002Ector_003Eb__10(RowRef y) - { - return routeToGatheringPoint[y.RowId]; - } - - internal _003C_003Ef__AnonymousType5 _003C_002Ector_003Eb__12(GatheringItem x) - { - return new - { - GatheringItemId = (int)x.RowId, - Name = itemSheet.GetRowOrDefault(x.Item.RowId)?.Name.ToString() - }; - } - - internal DefaultGatheringPoint _003C_002Ector_003Eb__21(_003C_003Ef__AnonymousType6 x) - { - int num = ((!leveGatheringPoints.Contains(x.GatheringPointId)) ? (-1847691260) : (-1847691259)); - GatheringRoot gatheringRoot = default(GatheringRoot); - while (true) - { - int num2 = num; - int num3 = -1847691263; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1847691259; - break; - case 2: - { - TerritoryType row = territoryTypeSheet.GetRow(_206B_200F_202A_206E_206E_200D_200E_206C_200B_200E_206A_202E_202C_200B_202E_200B_206A_206C_206D_202E_202A_200F_202D_200F_200B_206B_206B_202E_200F_202C_200E_200C_200C_200C_202E_206B_200F_200D_206E_206F_202E(_206E_200B_202D_200C_202B_202A_202A_200C_206C_202C_206B_200D_200E_202C_206A_202B_202C_200E_206E_202C_206A_200F_200D_206A_202E_202C_206A_206E_200F_206A_206A_206B_202B_200D_200C_202B_202E_200F_200D_200F_202E(gatheringRoot).Last())); - return x.Point with - { - Expansion = (EExpansionVersion)row.ExVersion.RowId, - TerritoryType = (ushort)row.RowId, - TerritoryName = row.PlaceName.ValueNullable?.Name.ToString() - }; - } - case 4: - return null; - case 5: - num = ((x.Point.TerritoryType != 1) ? (-1847691264) : (-1847691262)); - break; - case 1: - return x.Point; - case 3: - num = ((!_003C_003E4__this._gatheringPointRegistry.TryGetGatheringPoint(x.Point.Id, out gatheringRoot)) ? (-1847691264) : (-1847691261)); - break; - } - } - } - - static List _206E_200B_202D_200C_202B_202A_202A_200C_206C_202C_206B_200D_200E_202C_206A_202B_202C_200E_206E_202C_206A_200F_200D_206A_202E_202C_206A_206E_200F_206A_206A_206B_202B_200D_200C_202B_202E_200F_200D_200F_202E(GatheringRoot P_0) - { - return P_0.Steps; - } - - static ushort _206B_200F_202A_206E_206E_200D_200E_206C_200B_200E_206A_202E_202C_200B_202E_200B_206A_206C_206D_202E_202A_200F_202D_200F_200B_206B_206B_202E_200F_202C_200E_200C_200C_200C_202E_206B_200F_200D_206E_206F_202E(QuestStep P_0) - { - return P_0.TerritoryId; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass15_1 - { - public GatheringLeveRoute x; - - internal _003C_003Ef__AnonymousType4 _003C_002Ector_003Eb__30(RowRef y) - { - return new - { - RouteId = x.RowId, - GatheringPointId = y.RowId - }; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass19_0 - { - public GatheringJournalComponent _003C_003E4__this; - - public Predicate match; - - internal bool _003CUpdateFilter_003Eb__1(string x) - { - return _202D_206D_206E_206D_206E_202A_200F_206A_206C_202A_202D_200F_200C_202D_200E_206A_202E_206D_206D_202D_206B_200C_202A_200F_206B_206C_200F_202A_202C_206A_200F_206D_206C_202B_200F_206D_206C_202A_202B_200C_202E(x, _003C_003E4__this._searchText, StringComparison.CurrentCultureIgnoreCase); - } - - internal FilteredExpansion _003CUpdateFilter_003Eb__2(ExpansionPoints section) - { - return _003C_003E4__this.FilterExpansion(section, match); - } - - static bool _202D_206D_206E_206D_206E_202A_200F_206A_206C_202A_202D_200F_200C_202D_200E_206A_202E_206D_206D_202D_206B_200C_202A_200F_206B_206C_200F_202A_202C_206A_200F_206D_206C_202B_200F_206D_206C_202A_202B_200C_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.Contains(P_1, P_2); - } - } + private sealed record FilteredGatheringPoint(DefaultGatheringPoint Point, List GatheringItemIds); private readonly IDalamudPluginInterface _pluginInterface; @@ -1991,170 +149,66 @@ internal sealed class GatheringJournalComponent where y.RowId != 0 select y).SelectMany((RowRef y) => routeToGatheringPoint[y.RowId]).Distinct().ToHashSet(); ExcelSheet itemSheet = dataManager.GetExcelSheet(); - _gatheringItems = (from x in dataManager.GetExcelSheet().Where(delegate(GatheringItem x) - { - int num = ((x.RowId == 0) ? (-1719090108) : (-1719090105)); - while (true) - { - int num2 = num; - int num3 = -1719090107; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0049; - case 2: - return x.GatheringItemLevel.RowId != 0; - case 1: - return false; - } - continue; - IL_0049: - num = -1719090105; - } - }) + _gatheringItems = (from x in dataManager.GetExcelSheet() + where x.RowId != 0 && x.GatheringItemLevel.RowId != 0 select new { GatheringItemId = (int)x.RowId, Name = itemSheet.GetRowOrDefault(x.Item.RowId)?.Name.ToString() } into x - where !_003C_003Ec._206B_206A_202A_206E_202C_200D_200F_206B_206E_206F_202B_202C_202B_206A_202C_200E_200E_206C_200F_202E_206A_206A_202B_202D_200E_202C_206A_206F_202C_206F_200C_200F_202D_206B_200F_202E_200F_206D_202B_206A_202E(x.Name) + where !string.IsNullOrEmpty(x.Name) select x).ToDictionary(x => x.GatheringItemId, x => x.Name); _gatheringPointsByExpansion = (from x in (from DefaultGatheringPoint x in from x in (from x in (from x in dataManager.GetExcelSheet() where x.GatheringPointBase.RowId != 0 select x).Where(delegate(GatheringPoint x) { uint rowId = x.GatheringPointBase.RowId; - int num = ((rowId < 653) ? (-647467167) : (-647467166)); - bool result = default(bool); - while (true) - { - int num2 = num; - int num3 = -647467168; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = -647467166; - break; - case 4: - return result; - case 0: - result = false; - num = -647467164; - break; - case 1: - result = true; - num = -647467164; - break; - case 2: - num = ((rowId <= 680) ? (-647467168) : (-647467167)); - break; - } - } - }).DistinctBy((GatheringPoint x) => x.GatheringPointBase.RowId).Select([MethodImpl(MethodImplOptions.NoInlining)] (GatheringPoint x) => + return (rowId < 653 || rowId > 680) ? true : false; + }).DistinctBy((GatheringPoint x) => x.GatheringPointBase.RowId).Select(delegate(GatheringPoint x) { uint rowId = x.RowId; - GatheringPointId id = _003C_003Ec._202B_206E_202C_202E_206B_200B_206F_206E_206B_202A_206B_202E_206D_202E_200E_206F_206F_206F_206A_206C_200C_206C_206A_202D_200F_206A_200F_206D_206F_206D_202C_202E_206D_202C_200C_200E_206C_202B_202C_206E_202E((ushort)x.GatheringPointBase.RowId); - uint rowId2 = x.GatheringPointBase.Value.GatheringType.RowId; - int num = ((rowId2 <= 1) ? (-232485595) : (-232485593)); - EClassJob eClassJob = default(EClassJob); - while (true) + GatheringPointId id = new GatheringPointId((ushort)x.GatheringPointBase.RowId); + EClassJob classJob; + switch (x.GatheringPointBase.Value.GatheringType.RowId) { - int num2 = num; - int num3 = -232485595; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - { - EClassJob classJob = eClassJob; - byte gatheringLevel = x.GatheringPointBase.Value.GatheringLevel; - List gatheringItemIds = (from y in x.GatheringPointBase.Value.Item - where y.RowId != 0 - select (ushort)y.RowId).ToList(); - byte expansion = ((byte?)x.TerritoryType.ValueNullable?.ExVersion.RowId) ?? byte.MaxValue; - ushort territoryType = (ushort)x.TerritoryType.RowId; - string territoryName = x.TerritoryType.ValueNullable?.PlaceName.ValueNullable?.Name.ToString(); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(3, 2); - defaultInterpolatedStringHandler.AppendFormatted(x.GatheringPointBase.RowId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1687715325)); - defaultInterpolatedStringHandler.AppendFormatted(x.PlaceName.ValueNullable?.Name); - return new - { - GatheringPointId = rowId, - Point = new DefaultGatheringPoint(id, classJob, gatheringLevel, gatheringItemIds, (EExpansionVersion)expansion, territoryType, territoryName, defaultInterpolatedStringHandler.ToStringAndClear()) - }; - } - case 1: - eClassJob = EClassJob.Botanist; - num = -232485599; - break; - case 3: - num = -232485593; - break; - case 2: - num3 = 2; - num4 = (int)rowId2; - num = (((uint)(~(~num4 + num3)) <= 1u) ? (-232485596) : (-232485597)); - break; - case 0: - eClassJob = EClassJob.Miner; - num = -232485599; - break; - case 6: - num = -232485600; - break; - case 5: - eClassJob = EClassJob.Fisher; - num = -232485599; - break; - } + case 0u: + case 1u: + classJob = EClassJob.Miner; + break; + case 2u: + case 3u: + classJob = EClassJob.Botanist; + break; + default: + classJob = EClassJob.Fisher; + break; } + return new + { + GatheringPointId = rowId, + Point = new DefaultGatheringPoint(id, classJob, x.GatheringPointBase.Value.GatheringLevel, (from y in x.GatheringPointBase.Value.Item + where y.RowId != 0 + select (ushort)y.RowId).ToList(), (EExpansionVersion)(((byte?)x.TerritoryType.ValueNullable?.ExVersion.RowId) ?? byte.MaxValue), (ushort)x.TerritoryType.RowId, x.TerritoryType.ValueNullable?.PlaceName.ValueNullable?.Name.ToString(), $"{x.GatheringPointBase.RowId} - {x.PlaceName.ValueNullable?.Name}") + }; }) where x.Point.ClassJob != EClassJob.Fisher select x).Select(x => { - int num = ((!leveGatheringPoints.Contains(x.GatheringPointId)) ? (-1847691260) : (-1847691259)); - GatheringRoot gatheringRoot = default(GatheringRoot); - while (true) + if (leveGatheringPoints.Contains(x.GatheringPointId)) { - int num2 = num; - int num3 = -1847691263; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1847691259; - break; - case 2: - { - TerritoryType row = territoryTypeSheet.GetRow(_003C_003Ec__DisplayClass15_0._206B_200F_202A_206E_206E_200D_200E_206C_200B_200E_206A_202E_202C_200B_202E_200B_206A_206C_206D_202E_202A_200F_202D_200F_200B_206B_206B_202E_200F_202C_200E_200C_200C_200C_202E_206B_200F_200D_206E_206F_202E(_003C_003Ec__DisplayClass15_0._206E_200B_202D_200C_202B_202A_202A_200C_206C_202C_206B_200D_200E_202C_206A_202B_202C_200E_206E_202C_206A_200F_200D_206A_202E_202C_206A_206E_200F_206A_206A_206B_202B_200D_200C_202B_202E_200F_200D_200F_202E(gatheringRoot).Last())); - return x.Point with - { - Expansion = (EExpansionVersion)row.ExVersion.RowId, - TerritoryType = (ushort)row.RowId, - TerritoryName = row.PlaceName.ValueNullable?.Name.ToString() - }; - } - case 4: - return (DefaultGatheringPoint)null; - case 5: - num = ((x.Point.TerritoryType != 1) ? (-1847691264) : (-1847691262)); - break; - case 1: - return x.Point; - case 3: - num = ((!gatheringJournalComponent._gatheringPointRegistry.TryGetGatheringPoint(x.Point.Id, out gatheringRoot)) ? (-1847691264) : (-1847691261)); - break; - } + return (DefaultGatheringPoint)null; } + if (x.Point.TerritoryType == 1 && gatheringJournalComponent._gatheringPointRegistry.TryGetGatheringPoint(x.Point.Id, out GatheringRoot gatheringRoot)) + { + TerritoryType row = territoryTypeSheet.GetRow(gatheringRoot.Steps.Last().TerritoryId); + return x.Point with + { + Expansion = (EExpansionVersion)row.ExVersion.RowId, + TerritoryType = (ushort)row.RowId, + TerritoryName = row.PlaceName.ValueNullable?.Name.ToString() + }; + } + return x.Point; }) where x != null select x @@ -2163,357 +217,166 @@ internal sealed class GatheringJournalComponent select x).Where(delegate(DefaultGatheringPoint x) { ushort territoryType = x.TerritoryType; - int num = ((territoryType == 901) ? (-1510043061) : (-1510043064)); - while (true) - { - int num2 = num; - int num3 = -1510043062; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004f; - case 2: - return territoryType != 929; - case 1: - return false; - } - continue; - IL_004f: - num = -1510043064; - } + return territoryType != 901 && territoryType != 929; }) group x by x.Expansion into x - select new ExpansionPoints(x.Key, (from y in x.GroupBy([MethodImpl(MethodImplOptions.NoInlining)] (DefaultGatheringPoint y) => + select new ExpansionPoints(x.Key, (from y in x + group y by new { - ushort territoryType = y.TerritoryType; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(3, 2); - defaultInterpolatedStringHandler.AppendFormatted((!_003C_003Ec._206B_206A_202A_206E_202C_200D_200F_206B_206E_206F_202B_202C_202B_206A_202C_200E_200E_206C_200F_202E_206A_206A_202B_202D_200E_202C_206A_206F_202C_206F_200C_200F_202D_206B_200F_202E_200F_206D_202B_206A_202E(y.TerritoryName)) ? y.TerritoryName : 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(1520869652)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1473546846)); - defaultInterpolatedStringHandler.AppendFormatted(y.TerritoryType); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1618480346)); - return new - { - TerritoryType = territoryType, - TerritoryName = defaultInterpolatedStringHandler.ToStringAndClear() - }; - }) + TerritoryType = y.TerritoryType, + TerritoryName = $"{((!string.IsNullOrEmpty(y.TerritoryName)) ? y.TerritoryName : "???")} ({y.TerritoryType})" + } into y select new TerritoryPoints(y.Key.TerritoryType, y.Key.TerritoryName, y.ToList()) into y where y.Points.Count > 0 select y).ToList()) into x orderby x.ExpansionVersion select x).ToList(); - _206B_202E_202E_200F_202B_202E_206B_200D_202E_200F_202C_202A_200F_206A_202C_202A_202D_206A_200F_206F_200D_206D_200D_202E_206C_200B_206C_202D_206C_206C_202D_206E_206B_202B_206C_206E_200B_200F_206E_206C_202E(gameInteropProvider, (object)this); + gameInteropProvider.InitializeFromAttributes(this); } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe void DrawGatheringItems() { - int num = ((!UiThemeUtils.SearchInput(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(891194183), ref _searchText, -1E-45f, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1918408530))) ? (-916943759) : (-916943757)); - int num16 = default(int); - while (true) + if (UiThemeUtils.SearchInput("##GatheringSearch", ref _searchText, -1E-45f, "Search areas, gathering points and items")) { - int num2 = num; - int num3 = -916943758; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - _206D_200C_206A_202B_202A_202C_200D_206E_200B_200B_206B_206C_200D_202D_206B_200E_206C_202E_202E_200C_200F_200E_200F_206E_200B_202E_200D_200C_206F_206A_206F_206A_202A_200E_206D_200D_206B_200B_200E_206E_202E(); - if (_flatRows.Count > 0) - { - num = -916943760; - break; - } - UiThemeUtils.EmptyState(FontAwesomeIcon.Leaf, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(595845560)); - return; - case 1: - UpdateFilter(); - num = -916943759; - break; - case 0: - num = -916943757; - break; - case 2: - { - IDisposable disposable = _206D_202A_200E_200C_202C_200F_206A_200E_202B_206D_202A_200E_202D_206F_200F_206C_202A_200B_206F_200C_206A_206D_206E_202E_206C_202E_206B_200B_206F_202C_200D_202C_202E_200B_206F_200C_202C_200B_200F_202D_202E(_202C_202D_200F_202D_202D_206F_206F_200F_206A_206C_202D_206E_202E_200B_200F_202C_206A_200F_206A_202C_202D_200C_200D_200F_200D_206B_200D_206F_200E_206C_202E_200C_206E_206C_206F_200B_200B_200C_202C_200F_202E(_202D_202A_206B_202C_202E_206A_202E_206E_206C_200C_202E_202D_200D_206E_202C_206F_200E_202E_206F_202A_202D_206C_200C_206C_200F_200D_202A_200C_206B_206E_200E_202B_206F_202A_200B_200F_202E_206B_202D_202D_202E(_pluginInterface))); - float x; - try - { - x = _206B_202C_200F_206B_200F_202C_202D_206B_206A_206A_206F_202E_206C_206F_200B_200D_206E_206C_206D_206A_202E_206D_202A_202A_200E_206F_200E_206A_206D_200C_206E_202D_200F_206C_206A_206C_206E_206A_200F_202C_202E((ImU8String)_206C_206B_206B_202E_202A_206B_206C_206C_200B_200E_200D_206B_200F_200D_206A_202C_202B_200F_206D_206E_206E_206A_206F_202B_206C_202B_200D_202C_200B_206E_206B_200F_200E_206F_200F_206F_200B_200D_202D_206F_202E(FontAwesomeIcon.Check), false, -1f).X; - } - finally - { - num = ((disposable == null) ? 1660478905 : 1660478904); - while (true) - { - int num7 = num; - num3 = 1660478905; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto end_IL_010e; - case 1: - _200E_200B_206C_200B_202D_206E_200D_200F_202A_206C_206D_206C_206B_200D_206E_206A_200F_202E_200C_206A_206A_206E_206E_200F_200E_206C_206B_202C_206E_206A_200B_202C_202C_200F_202D_206F_206C_206E_202D_200D_202E(disposable); - num = 1660478905; - break; - case 2: - num = 1660478904; - break; - } - continue; - end_IL_010e: - break; - } - } - float fontGlobalScale = _200B_202C_206F_200C_202E_206D_202B_206B_206D_206F_200D_202C_200C_206D_206E_206E_202B_202A_202D_202B_200B_200D_200B_200C_206D_206C_206E_202E_202A_202B_200B_202D_202D_202B_206B_200E_200E_202E_200D_206D_202E().FontGlobalScale; - using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(744259125), 3, ImGuiTableFlags.NoSavedSettings | ImGuiTableFlags.ScrollY); - num = ((!(!tableDisposable)) ? 439090384 : 439090385); - while (true) - { - int num8 = num; - num3 = 439090384; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 2: - goto IL_01d1; - case 1: - return; - case 0: - { - _200D_200F_202C_200B_202C_200E_200D_202D_206F_200F_206A_206C_206E_206B_202E_202C_200E_206E_206C_206E_200C_206B_200C_206C_200D_202B_206F_202B_206F_206E_202B_202C_200E_202D_202A_200C_202A_200B_202A_200C_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-267283137), ImGuiTableColumnFlags.NoHide, 0f, 0u); - _200D_200F_202C_200B_202C_200E_200D_202D_206F_200F_206A_206C_206E_206B_202E_202C_200E_206E_206C_206E_200C_206B_200C_206C_200D_202B_206F_202B_206F_206E_202B_202C_200E_202D_202A_200C_202A_200B_202A_200C_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1008226786), ImGuiTableColumnFlags.WidthFixed, 120f * fontGlobalScale, 0u); - _200D_200F_202C_200B_202C_200E_200D_202D_206F_200F_206A_206C_206E_206B_202E_202C_200E_206E_206C_206E_200C_206B_200C_206C_200D_202B_206F_202B_206F_206E_202B_202C_200E_202D_202A_200C_202A_200B_202A_200C_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1239355882), ImGuiTableColumnFlags.WidthFixed, 120f * fontGlobalScale, 0u); - _202D_206B_206B_202C_200D_200D_200B_200D_206C_200D_206E_200F_206D_206C_206F_202C_206D_206D_200C_202C_206B_206A_206A_206B_206A_206C_202E_206D_202A_206B_202A_206B_200E_200C_202B_206D_206E_202B_200C_202B_202E(); - float num11 = _206C_206F_206D_200D_200F_202D_202B_202E_200B_202C_202B_206E_200D_206A_200E_202D_202A_206E_206C_200B_202C_206C_202C_206B_202B_206C_202D_200E_202C_206F_202A_206D_202B_200B_200B_206F_206E_202E_202A_202E_202E(); - bool flag = false; - ImGuiListClipper* intPtr = _202A_202A_200B_206D_206E_206D_202B_200C_206A_202B_202C_202B_200F_200D_200C_202B_202B_206B_202A_206B_206D_206C_200B_206C_206B_206C_202E_202B_200E_206B_202B_200D_200E_202A_200D_200B_202A_200B_200D_206B_202E(); - _200C_202E_206B_206F_200B_200C_206E_206F_200D_202D_200B_200C_202B_200D_206E_202D_206B_206E_202B_206B_206B_206E_200B_200E_206D_200C_202B_200C_202C_206A_206C_200D_200E_200B_202B_206B_202C_200D_202A_206F_202E(intPtr, _flatRows.Count, num11); - ImGuiListClipperPtr imGuiListClipperPtr = intPtr; - try - { - num = 837427177; - while (true) - { - int num12 = num; - num3 = 837427176; - num4 = num12; - int num13 = num4 + num3; - int num14 = num4 & num3; - switch (num13 - (num14 + num14)) - { - case 0: - flag = true; - num = 837427178; - break; - case 5: - num16 = imGuiListClipperPtr.DisplayStart; - num = 837427180; - break; - case 1: - num = (imGuiListClipperPtr.Step() ? 837427181 : 837427183); - break; - case 4: - num = ((num16 < imGuiListClipperPtr.DisplayEnd) ? 837427182 : 837427177); - break; - case 6: - num = ((!DrawFlatRow(_flatRows[num16], x)) ? 837427178 : 837427176); - break; - case 2: - { - int num15 = num16; - num3 = 1; - num4 = num15; - num16 = (num4 | num3) + (num4 & num3); - num = 837427180; - break; - } - case 3: - num = 837427177; - break; - case 7: - goto end_IL_027c; - } - continue; - end_IL_027c: - break; - } - } - finally - { - imGuiListClipperPtr.Destroy(); - } - num = ((!flag) ? (-1673621087) : (-1673621086)); - while (true) - { - int num17 = num; - num3 = -1673621088; - num4 = num17; - int num18 = num4 + num3; - int num19 = num4 & num3; - switch (num18 - (num19 + num19)) - { - case 0: - num = -1673621086; - break; - case 2: - RebuildFlatRows(); - num = -1673621087; - break; - case 1: - return; - } - } - } - } - continue; - IL_01d1: - num = 439090385; - } - } - } + UpdateFilter(); } + ImGui.Separator(); + if (_flatRows.Count > 0) + { + float x; + using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push()) + { + x = ImGui.CalcTextSize(FontAwesomeIcon.Check.ToIconString()).X; + } + float fontGlobalScale = ImGui.GetIO().FontGlobalScale; + using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable("GatheringPoints", 3, ImGuiTableFlags.NoSavedSettings | ImGuiTableFlags.ScrollY); + if (!tableDisposable) + { + return; + } + ImGui.TableSetupColumn("Name", ImGuiTableColumnFlags.NoHide); + ImGui.TableSetupColumn("Supported", ImGuiTableColumnFlags.WidthFixed, 120f * fontGlobalScale); + ImGui.TableSetupColumn("Collected", ImGuiTableColumnFlags.WidthFixed, 120f * fontGlobalScale); + ImGui.TableHeadersRow(); + float textLineHeightWithSpacing = ImGui.GetTextLineHeightWithSpacing(); + bool flag = false; + ImGuiListClipper* intPtr = ImGuiNative.ImGuiListClipper(); + ImGuiNative.Begin(intPtr, _flatRows.Count, textLineHeightWithSpacing); + ImGuiListClipperPtr imGuiListClipperPtr = intPtr; + try + { + while (imGuiListClipperPtr.Step()) + { + for (int i = imGuiListClipperPtr.DisplayStart; i < imGuiListClipperPtr.DisplayEnd; i++) + { + if (DrawFlatRow(_flatRows[i], x)) + { + flag = true; + } + } + } + } + finally + { + imGuiListClipperPtr.Destroy(); + } + if (flag) + { + RebuildFlatRows(); + } + return; + } + UiThemeUtils.EmptyState(FontAwesomeIcon.Leaf, "No area, gathering point or item matches your search text."); } - [MethodImpl(MethodImplOptions.NoInlining)] private bool DrawFlatRow(FlatRow row, float iconSpacing) { - _202E_200E_202D_206D_200E_206A_200C_202E_206A_200C_206B_206B_202C_202B_206C_200B_206D_206F_206D_206E_200F_200D_202B_202D_200E_202B_206F_206A_200E_200E_202D_206C_206C_202B_202B_202C_200E_202D_202B_202E_202E(); - _202D_206F_202C_202E_206E_200B_206F_200B_200D_200D_206D_200F_200D_200B_206C_200D_200D_200D_200E_206E_202A_206D_206A_206D_200B_202B_200E_202E_200E_202A_206A_202A_202D_206E_206D_200E_202C_200B_206C_206C_202E(); + ImGui.TableNextRow(); + ImGui.TableNextColumn(); bool result = false; - float num = (float)row.Depth * _202B_206B_206E_200C_202B_200B_202D_200F_206E_206A_206B_200C_206B_206F_200E_202A_200D_200B_206C_202C_200F_202D_200D_206B_206E_202C_206E_200F_202A_200D_200E_200C_206D_200B_200F_202C_200F_206D_206F_202D_202E().IndentSpacing; - int num2 = ((row.Type != RowType.Item) ? 119097280 : 119097288); - (RowType, int) item2 = default((RowType, int)); - bool flag2 = default(bool); - bool flag = default(bool); - (RowType, int) item = default((RowType, int)); - while (true) + float num = (float)row.Depth * ImGui.GetStyle().IndentSpacing; + if (row.Type == RowType.Item) { - int num3 = num2; - int num4 = 119097295; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + num); + ImGui.TreeNodeEx(row.Label, ImGuiTreeNodeFlags.NoTreePushOnOpen | ImGuiTreeNodeFlags.Leaf | ImGuiTreeNodeFlags.SpanFullWidth); + ImGui.TableNextColumn(); + ImGui.TableNextColumn(); + float num2 = ImGui.GetColumnWidth() / 2f - iconSpacing; + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + num2); + if (row.ItemId < 10000) { - case 0: - num2 = 119097288; - break; - case 1: - return result; - case 16: - result = true; - num2 = 119097281; - break; - case 13: - _expandedGroups.Remove(item2); - num2 = 119097287; - break; - case 11: - { - item2 = (row.Type, row.GroupIndex); - flag2 = _expandedGroups.Contains(item2); - _202E_206A_206F_206D_206C_206B_200E_202A_200B_206B_200D_200B_202A_206B_206B_206E_202E_200C_202C_206E_202C_202B_200E_206A_206C_206E_200F_206A_206C_202E_200C_206F_206A_202C_206F_200C_206D_202E_202B_206C_202E(_206B_202D_206B_206B_202E_200D_202E_202E_200F_206E_202D_206C_200D_206A_202C_206E_200D_202D_200E_200F_202E_206D_202E_206E_202E_206F_202C_206C_206D_200F_206A_206D_200F_202A_206A_200E_206A_200E_200E_206E_202E() + num); - UiThemeUtils.DrawTrackerGroupCaret(_202C_202D_200F_202D_202D_206F_206F_200F_206A_206C_202D_206E_202E_200B_200F_202C_206A_200F_206A_202C_202D_200C_200D_200F_200D_206B_200D_206F_200E_206C_202E_200C_206E_206C_206F_200B_200B_200C_202C_200F_202E(_202D_202A_206B_202C_202E_206A_202E_206E_206C_200C_202E_202D_200D_206E_202C_206F_200E_202E_206F_202A_202D_206C_200C_206C_200F_200D_202A_200C_206B_206E_200E_202B_206F_202A_200B_200F_202E_206B_202D_202D_202E(_pluginInterface)), flag2); - _206B_206B_202C_202A_202E_206E_202A_202B_202B_200F_206B_206E_200E_200C_202B_200D_206E_206B_202A_206C_202E_200F_202C_206B_202E_206C_206C_202C_206C_206A_200E_200F_202D_202A_206B_206F_200E_200F_202B_200D_202E(); - ImU8String imU8String2 = new ImU8String(6, 3); - imU8String2.AppendFormatted(row.Label); - imU8String2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2023271148)); - imU8String2.AppendFormatted(row.Type); - imU8String2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-546490491)); - imU8String2.AppendFormatted(row.GroupIndex); - num2 = ((!_202E_202C_206D_202B_200D_206C_200C_206A_206D_206F_202A_202D_202C_206D_202E_200C_206C_202E_200D_206B_206A_206D_200B_202A_200E_206E_200F_200D_202D_200F_200B_206C_200F_206E_206E_206E_200C_206B_206C_206E_202E(imU8String2, false, ImGuiSelectableFlags.None, default(Vector2))) ? 119097285 : 119097291); - break; - } - case 17: - num2 = ((!flag) ? 119097283 : 119097290); - break; - case 5: - _expandedGroups.Remove(item); - num2 = 119097311; - break; - case 12: - _expandedGroups.Add(item); - num2 = 119097311; - break; - case 2: _uiUtils.ChecklistItem(string.Empty, row.IsItemGathered); - num2 = 119097294; - break; - case 7: - { - _202E_206A_206F_206D_206C_206B_200E_202A_200B_206B_200D_200B_202A_206B_206B_206E_202E_200C_202C_206E_202C_202B_200E_206A_206C_206E_200F_206A_206C_202E_200C_206F_206A_202C_206F_200C_206D_202E_202B_206C_202E(_206B_202D_206B_206B_202E_200D_202E_202E_200F_206E_202D_206C_200D_206A_202C_206E_200D_202D_200E_200F_202E_206D_202E_206E_202E_206F_202C_206C_206D_200F_206A_206D_200F_202A_206A_200E_206A_200E_200E_206E_202E() + num); - _202D_202B_206F_206F_206F_202D_202D_206C_206C_200C_206D_200E_200F_200E_206E_200B_206A_202E_200B_206E_200D_202A_200B_202D_200F_200C_206E_206F_202B_200F_206A_202E_202E_202C_206B_206E_200C_206F_200C_206F_202E((ImU8String)row.Label, ImGuiTreeNodeFlags.NoTreePushOnOpen | ImGuiTreeNodeFlags.Leaf | ImGuiTreeNodeFlags.SpanFullWidth, default(ImU8String)); - _202D_206F_202C_202E_206E_200B_206F_200B_200D_200D_206D_200F_200D_200B_206C_200D_200D_200D_200E_206E_202A_206D_206A_206D_200B_202B_200E_202E_200E_202A_206A_202A_202D_206E_206D_200E_202C_200B_206C_206C_202E(); - _202D_206F_202C_202E_206E_200B_206F_200B_200D_200D_206D_200F_200D_200B_206C_200D_200D_200D_200E_206E_202A_206D_206A_206D_200B_202B_200E_202E_200E_202A_206A_202A_202D_206E_206D_200E_202C_200B_206C_206C_202E(); - float num7 = _206B_202A_200E_206B_206A_206E_200E_200F_202E_202D_200F_206A_202D_202B_206B_206C_202E_200D_206A_202E_200D_202C_202A_200E_202D_206A_206D_200D_202B_202A_206A_206B_206B_202E_206B_202B_206F_206E_202B_202E() / 2f - iconSpacing; - _202E_206A_206F_206D_206C_206B_200E_202A_200B_206B_200D_200B_202A_206B_206B_206E_202E_200C_202C_206E_202C_202B_200E_206A_206C_206E_200F_206A_206C_202E_200C_206F_206A_202C_206F_200C_206D_202E_202B_206C_202E(_206B_202D_206B_206B_202E_200D_202E_202E_200F_206E_202D_206C_200D_206A_202C_206E_200D_202D_200E_200F_202E_206D_202E_206E_202E_206F_202C_206C_206D_200F_206A_206D_200F_202A_206A_200E_206A_200E_200E_206E_202E() + num7); - num2 = ((row.ItemId >= 10000) ? 119097286 : 119097293); - break; } - case 14: - _202D_206F_202C_202E_206E_200B_206F_200B_200D_200D_206D_200F_200D_200B_206C_200D_200D_200D_200E_206E_202A_206D_206A_206D_200B_202B_200E_202E_200E_202A_206A_202A_202D_206E_206D_200E_202C_200B_206C_206C_202E(); - UiThemeUtils.DrawTrackerCount(row.Counts.FormattedSupported, row.Counts.IsSupportedComplete, row.Counts.IsSupportedEmpty); - _202D_206F_202C_202E_206E_200B_206F_200B_200D_200D_206D_200F_200D_200B_206C_200D_200D_200D_200E_206E_202A_206D_206A_206D_200B_202B_200E_202E_200E_202A_206A_202A_202D_206E_206D_200E_202C_200B_206C_206C_202E(); - UiThemeUtils.DrawTrackerCount(row.Counts.FormattedCollected, row.Counts.IsCollectedComplete, row.Counts.IsCollectedEmpty); - num2 = 119097294; - break; - case 15: - num2 = ((row.Type != RowType.GatheringPoint) ? 119097292 : 119097284); - break; - case 8: - result = true; - num2 = 119097285; - break; - case 10: + else { - _202D_206F_202C_202E_206E_200B_206F_200B_200D_200D_206D_200F_200D_200B_206C_200D_200D_200D_200E_206E_202A_206D_206A_206D_200B_202B_200E_202E_200E_202A_206A_202A_202D_206E_206D_200E_202C_200B_206C_206C_202E(); - float num6 = _206B_202A_200E_206B_206A_206E_200E_200F_202E_202D_200F_206A_202D_202B_206B_206C_202E_200D_206A_202E_200D_202C_202A_200E_202D_206A_206D_200D_202B_202A_206A_206B_206B_202E_206B_202B_206F_206E_202B_202E() / 2f - iconSpacing; - _202E_206A_206F_206D_206C_206B_200E_202A_200B_206B_200D_200B_202A_206B_206B_206E_202E_200C_202C_206E_202C_202B_200E_206A_206C_206E_200F_206A_206C_202E_200C_206F_206A_202C_206F_200C_206D_202E_202B_206C_202E(_206B_202D_206B_206B_202E_200D_202E_202E_200F_206E_202D_206C_200D_206A_202C_206E_200D_202D_200E_200F_202E_206D_202E_206E_202E_206F_202C_206C_206D_200F_206A_206D_200F_202A_206A_200E_206A_200E_200E_206E_202E() + num6); - _uiUtils.ChecklistItem(string.Empty, row.IsPointComplete); - _202D_206F_202C_202E_206E_200B_206F_200B_200D_200D_206D_200F_200D_200B_206C_200D_200D_200D_200E_206E_202A_206D_206A_206D_200B_202B_200E_202E_200E_202A_206A_202A_202D_206E_206D_200E_202C_200B_206C_206C_202E(); - UiThemeUtils.DrawTrackerCount(row.Counts.FormattedCollected, row.Counts.IsCollectedComplete, row.Counts.IsCollectedEmpty); - num2 = 119097294; - break; - } - case 4: - num2 = ((!flag2) ? 119097289 : 119097282); - break; - case 9: _uiUtils.ChecklistItem(string.Empty, UiThemeUtils.StatusUnobtainable, FontAwesomeIcon.Minus); - num2 = 119097294; - break; - case 6: - _expandedGroups.Add(item2); - num2 = 119097287; - break; - case 3: - { - item = (row.Type, row.GroupIndex); - flag = _expandedGroups.Contains(item); - _202E_206A_206F_206D_206C_206B_200E_202A_200B_206B_200D_200B_202A_206B_206B_206E_202E_200C_202C_206E_202C_202B_200E_206A_206C_206E_200F_206A_206C_202E_200C_206F_206A_202C_206F_200C_206D_202E_202B_206C_202E(_206B_202D_206B_206B_202E_200D_202E_202E_200F_206E_202D_206C_200D_206A_202C_206E_200D_202D_200E_200F_202E_206D_202E_206E_202E_206F_202C_206C_206D_200F_206A_206D_200F_202A_206A_200E_206A_200E_200E_206E_202E() + num); - UiThemeUtils.DrawTrackerGroupCaret(_202C_202D_200F_202D_202D_206F_206F_200F_206A_206C_202D_206E_202E_200B_200F_202C_206A_200F_206A_202C_202D_200C_200D_200F_200D_206B_200D_206F_200E_206C_202E_200C_206E_206C_206F_200B_200B_200C_202C_200F_202E(_202D_202A_206B_202C_202E_206A_202E_206E_206C_200C_202E_202D_200D_206E_202C_206F_200E_202E_206F_202A_202D_206C_200C_206C_200F_200D_202A_200C_206B_206E_200E_202B_206F_202A_200B_200F_202E_206B_202D_202D_202E(_pluginInterface)), flag); - _206B_206B_202C_202A_202E_206E_202A_202B_202B_200F_206B_206E_200E_200C_202B_200D_206E_206B_202A_206C_202E_200F_202C_206B_202E_206C_206C_202C_206C_206A_200E_200F_202D_202A_206B_206F_200E_200F_202B_200D_202E(); - ImU8String imU8String = new ImU8String(6, 3); - imU8String.AppendFormatted(row.Label); - imU8String.AppendLiteral(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(111380431)); - imU8String.AppendFormatted(row.Type); - imU8String.AppendLiteral(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(-294503681)); - imU8String.AppendFormatted(row.GroupIndex); - num2 = ((!_202E_202C_206D_202B_200D_206C_200C_206A_206D_206F_202A_202D_202C_206D_202E_200C_206C_202E_200D_206B_206A_206D_200B_202A_200E_206E_200F_200D_202D_200F_200B_206C_200F_206E_206E_206E_200C_206B_206C_206E_202E(imU8String, false, ImGuiSelectableFlags.None, default(Vector2))) ? 119097281 : 119097310); - break; - } } } + else if (row.Type == RowType.GatheringPoint) + { + (RowType, int) item = (row.Type, row.GroupIndex); + bool flag = _expandedGroups.Contains(item); + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + num); + UiThemeUtils.DrawTrackerGroupCaret(_pluginInterface.UiBuilder.IconFontFixedWidthHandle, flag); + ImGui.SameLine(); + ImU8String label = new ImU8String(6, 3); + label.AppendFormatted(row.Label); + label.AppendLiteral("##grp"); + label.AppendFormatted(row.Type); + label.AppendLiteral("_"); + label.AppendFormatted(row.GroupIndex); + if (ImGui.Selectable(label)) + { + if (flag) + { + _expandedGroups.Remove(item); + } + else + { + _expandedGroups.Add(item); + } + result = true; + } + ImGui.TableNextColumn(); + float num3 = ImGui.GetColumnWidth() / 2f - iconSpacing; + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + num3); + _uiUtils.ChecklistItem(string.Empty, row.IsPointComplete); + ImGui.TableNextColumn(); + UiThemeUtils.DrawTrackerCount(row.Counts.FormattedCollected, row.Counts.IsCollectedComplete, row.Counts.IsCollectedEmpty); + } + else + { + (RowType, int) item2 = (row.Type, row.GroupIndex); + bool flag2 = _expandedGroups.Contains(item2); + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + num); + UiThemeUtils.DrawTrackerGroupCaret(_pluginInterface.UiBuilder.IconFontFixedWidthHandle, flag2); + ImGui.SameLine(); + ImU8String label2 = new ImU8String(6, 3); + label2.AppendFormatted(row.Label); + label2.AppendLiteral("##grp"); + label2.AppendFormatted(row.Type); + label2.AppendLiteral("_"); + label2.AppendFormatted(row.GroupIndex); + if (ImGui.Selectable(label2)) + { + if (flag2) + { + _expandedGroups.Remove(item2); + } + else + { + _expandedGroups.Add(item2); + } + result = true; + } + ImGui.TableNextColumn(); + UiThemeUtils.DrawTrackerCount(row.Counts.FormattedSupported, row.Counts.IsSupportedComplete, row.Counts.IsSupportedEmpty); + ImGui.TableNextColumn(); + UiThemeUtils.DrawTrackerCount(row.Counts.FormattedCollected, row.Counts.IsCollectedComplete, row.Counts.IsCollectedEmpty); + } + return result; } - [MethodImpl(MethodImplOptions.NoInlining)] private void RebuildFlatRows() { List list = new List(); @@ -2522,7 +385,7 @@ internal sealed class GatheringJournalComponent ExpansionPoints expansion = filteredExpansion.Expansion; int expansionVersion = (int)expansion.ExpansionVersion; GatheringCounts counts = GatheringCounts.Create(expansion.CompletedPoints, expansion.TotalPoints, expansion.CompletedItems, expansion.TotalItems); - list.Add(new FlatRow(RowType.Expansion, 0, expansionVersion, _206F_206A_206D_206A_200C_200F_206A_200B_206B_202E_200C_200F_200B_202E_202A_206E_200C_202A_202C_206B_200E_206E_206F_206F_202C_206C_206F_206E_202C_206E_202D_206E_200E_206B_200D_202C_206A_202C_200F_202B_202E(expansion.ExpansionVersion), counts, IsPointComplete: false, 0, IsItemGathered: false)); + list.Add(new FlatRow(RowType.Expansion, 0, expansionVersion, expansion.ExpansionVersion.ToFriendlyString(), counts, IsPointComplete: false, 0, IsItemGathered: false)); if (!_expandedGroups.Contains((RowType.Expansion, expansionVersion))) { continue; @@ -2540,50 +403,18 @@ internal sealed class GatheringJournalComponent foreach (FilteredGatheringPoint gatheringPoint in territory2.GatheringPoints) { DefaultGatheringPoint point = gatheringPoint.Point; - int num = _202A_202B_200C_200D_202A_200E_200C_206E_206B_200F_206E_200D_206B_202B_200B_202E_200D_200B_202D_200E_206A_206A_202E_206B_206B_202E_206A_200C_202E_206C_206C_206F_206D_206F_206C_202D_206A_206B_200B_206D_202E(point.Id); + int value = point.Id.Value; GatheringCounts counts3 = GatheringCounts.Create(0, 0, point.CompletedItems, point.TotalItems); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(8, 3); - defaultInterpolatedStringHandler.AppendFormatted(point.PlaceName); - defaultInterpolatedStringHandler.AppendLiteral(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(588901087)); - defaultInterpolatedStringHandler.AppendFormatted(point.ClassJob); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2009216986)); - defaultInterpolatedStringHandler.AppendFormatted(point.Level); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - list.Add(new FlatRow(RowType.GatheringPoint, 2, num, defaultInterpolatedStringHandler.ToStringAndClear(), counts3, point.IsComplete, 0, IsItemGathered: false)); - if (!_expandedGroups.Contains((RowType.GatheringPoint, num))) + list.Add(new FlatRow(RowType.GatheringPoint, 2, value, $"{point.PlaceName} ({point.ClassJob} Lv. {point.Level})", counts3, point.IsComplete, 0, IsItemGathered: false)); + if (!_expandedGroups.Contains((RowType.GatheringPoint, value))) { continue; } - using List.Enumerator enumerator4 = gatheringPoint.GatheringItemIds.GetEnumerator(); - int num2 = 1747781992; - while (true) + foreach (ushort gatheringItemId in gatheringPoint.GatheringItemIds) { - int num3 = num2; - int num4 = 1747781995; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num2 = 1747781992; - break; - case 3: - num2 = (enumerator4.MoveNext() ? 1747781993 : 1747781994); - break; - case 2: - { - ushort current4 = enumerator4.Current; - string valueOrDefault = _gatheringItems.GetValueOrDefault(current4, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1347222299)); - bool isItemGathered = _gatheredItems.Contains(current4); - list.Add(new FlatRow(RowType.Item, 3, 0, valueOrDefault, default(GatheringCounts), IsPointComplete: false, current4, isItemGathered)); - num2 = 1747781992; - break; - } - case 1: - goto end_IL_020a; - } - continue; - end_IL_020a: - break; + string valueOrDefault = _gatheringItems.GetValueOrDefault(gatheringItemId, "???"); + bool isItemGathered = _gatheredItems.Contains(gatheringItemId); + list.Add(new FlatRow(RowType.Item, 3, 0, valueOrDefault, default(GatheringCounts), IsPointComplete: false, gatheringItemId, isItemGathered)); } } } @@ -2593,35 +424,20 @@ internal sealed class GatheringJournalComponent public void UpdateFilter() { - int num = ((!_202C_202C_200B_206B_206F_202E_206E_200E_202E_202C_202D_202D_200B_200B_206A_202A_206E_200D_206D_206A_206A_202B_202E_200F_206C_200C_202C_206E_202D_200F_202C_206C_200E_206A_202B_206D_206F_206D_200F_202E(_searchText)) ? 564615307 : 564615305); - Predicate match = default(Predicate); - while (true) + Predicate match; + if (string.IsNullOrWhiteSpace(_searchText)) { - int num2 = num; - int num3 = 564615306; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - match = (string x) => _003C_003Ec__DisplayClass19_0._202D_206D_206E_206D_206E_202A_200F_206A_206C_202A_202D_200F_200C_202D_200E_206A_202E_206D_206D_202D_206B_200C_202A_200F_206B_206C_200F_202A_202C_206A_200F_206D_206C_202B_200F_206D_206C_202A_202B_200C_202E(x, _searchText, StringComparison.CurrentCultureIgnoreCase); - num = 564615304; - break; - case 3: - match = (string _) => true; - num = 564615304; - break; - case 0: - num = 564615305; - break; - case 2: - _filteredExpansions = (from section in _gatheringPointsByExpansion - select FilterExpansion(section, match) into x - where x != null - select x).Cast().ToList(); - RebuildFlatRows(); - return; - } + match = (string _) => true; } + else + { + match = (string x) => x.Contains(_searchText, StringComparison.CurrentCultureIgnoreCase); + } + _filteredExpansions = (from section in _gatheringPointsByExpansion + select FilterExpansion(section, match) into x + where x != null + select x).Cast().ToList(); + RebuildFlatRows(); } private FilteredExpansion? FilterExpansion(ExpansionPoints expansion, Predicate match) @@ -2630,162 +446,64 @@ internal sealed class GatheringJournalComponent select FilterTerritory(x, match) into x where x != null select (x)).ToList(); - int num = ((list.Count <= 0) ? (-1280566856) : (-1280566853)); - while (true) + if (list.Count > 0) { - int num2 = num; - int num3 = -1280566854; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_00cb; - case 2: - return null; - case 1: - return new FilteredExpansion(expansion, list); - } - continue; - IL_00cb: - num = -1280566853; + return new FilteredExpansion(expansion, list); } + return null; } private FilteredTerritory? FilterTerritory(TerritoryPoints territory, Predicate match) { - int num = ((!match(territory.TerritoryName)) ? 798766867 : 798766864); - List list = default(List); - while (true) + if (match(territory.TerritoryName)) { - int num2 = num; - int num3 = 798766866; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - list = (from x in territory.Points - select FilterGatheringPoint(x, match) into x - where x != null - select (x)).ToList(); - num = ((list.Count <= 0) ? 798766870 : 798766866); - break; - case 4: - return null; - case 3: - num = 798766864; - break; - case 2: - return new FilteredTerritory(territory, territory.Points.Select((DefaultGatheringPoint x) => FilterGatheringPoint(x, (string _) => true)).ToList()); - case 0: - return new FilteredTerritory(territory, list); - } + return new FilteredTerritory(territory, territory.Points.Select((DefaultGatheringPoint x) => FilterGatheringPoint(x, (string _) => true)).ToList()); } + List list = (from x in territory.Points + select FilterGatheringPoint(x, match) into x + where x != null + select (x)).ToList(); + if (list.Count > 0) + { + return new FilteredTerritory(territory, list); + } + return null; } private FilteredGatheringPoint? FilterGatheringPoint(DefaultGatheringPoint gatheringPoint, Predicate match) { - int num = ((!match(gatheringPoint.PlaceName ?? string.Empty)) ? 730370401 : 730370402); - List list = default(List); - while (true) + if (match(gatheringPoint.PlaceName ?? string.Empty)) { - int num2 = num; - int num3 = 730370400; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return null; - case 3: - return new FilteredGatheringPoint(gatheringPoint, list); - case 1: - list = gatheringPoint.GatheringItemIds.Where((ushort x) => match(_gatheringItems.GetValueOrDefault(x, string.Empty))).ToList(); - num = ((list.Count <= 0) ? 730370400 : 730370403); - break; - case 2: - return new FilteredGatheringPoint(gatheringPoint, gatheringPoint.GatheringItemIds); - case 4: - num = 730370402; - break; - } + return new FilteredGatheringPoint(gatheringPoint, gatheringPoint.GatheringItemIds); } + List list = gatheringPoint.GatheringItemIds.Where((ushort x) => match(_gatheringItems.GetValueOrDefault(x, string.Empty))).ToList(); + if (list.Count > 0) + { + return new FilteredGatheringPoint(gatheringPoint, list); + } + return null; } internal void RefreshCounts() { _gatheredItems.Clear(); - using (Dictionary.KeyCollection.Enumerator enumerator = _gatheringItems.Keys.GetEnumerator()) + foreach (int key in _gatheringItems.Keys) { - int num = 2008890764; - ushort item = default(ushort); - while (true) + ushort item = (ushort)key; + if (IsGatheringItemGathered(item)) { - int num2 = num; - int num3 = 2008890760; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 2008890764; - break; - case 1: - item = (ushort)enumerator.Current; - num = ((!IsGatheringItemGathered(item)) ? 2008890764 : 2008890762); - break; - case 4: - num = (enumerator.MoveNext() ? 2008890761 : 2008890763); - break; - case 2: - _gatheredItems.Add(item); - num = 2008890764; - break; - case 3: - goto end_IL_0028; - } - continue; - end_IL_0028: - break; + _gatheredItems.Add(item); } } foreach (ExpansionPoints item2 in _gatheringPointsByExpansion) { foreach (TerritoryPoints pointsByTerritory in item2.PointsByTerritories) { - using (List.Enumerator enumerator4 = pointsByTerritory.Points.GetEnumerator()) + foreach (DefaultGatheringPoint point in pointsByTerritory.Points) { - int num = -305033941; - while (true) - { - int num5 = num; - int num3 = -305033942; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 3: - num = -305033941; - break; - case 1: - num = (enumerator4.MoveNext() ? (-305033944) : (-305033942)); - break; - case 2: - { - DefaultGatheringPoint current3 = enumerator4.Current; - current3.TotalItems = current3.GatheringItemIds.Count((ushort x) => x < 10000); - current3.CompletedItems = current3.GatheringItemIds.Count(_gatheredItems.Contains); - current3.IsComplete = _gatheringPointRegistry.TryGetGatheringPoint(current3.Id, out GatheringRoot _); - num = -305033941; - break; - } - case 0: - goto end_IL_0131; - } - continue; - end_IL_0131: - break; - } + point.TotalItems = point.GatheringItemIds.Count((ushort x) => x < 10000); + point.CompletedItems = point.GatheringItemIds.Count(_gatheredItems.Contains); + point.IsComplete = _gatheringPointRegistry.TryGetGatheringPoint(point.Id, out GatheringRoot _); } pointsByTerritory.TotalItems = pointsByTerritory.Points.Sum((DefaultGatheringPoint x) => x.TotalItems); pointsByTerritory.CompletedItems = pointsByTerritory.Points.Sum((DefaultGatheringPoint x) => x.CompletedItems); @@ -2809,164 +527,12 @@ internal sealed class GatheringJournalComponent { pointsByTerritory.CompletedItems = 0; pointsByTerritory.CompletedPoints = 0; - using List.Enumerator enumerator3 = pointsByTerritory.Points.GetEnumerator(); - int num = 1467322152; - while (true) + foreach (DefaultGatheringPoint point in pointsByTerritory.Points) { - int num2 = num; - int num3 = 1467322153; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = 1467322152; - break; - case 2: - enumerator3.Current.IsComplete = false; - num = 1467322152; - break; - case 1: - num = (enumerator3.MoveNext() ? 1467322155 : 1467322153); - break; - case 0: - goto end_IL_0061; - } - continue; - end_IL_0061: - break; + point.IsComplete = false; } } } RebuildFlatRows(); } - - static void _206B_202E_202E_200F_202B_202E_206B_200D_202E_200F_202C_202A_200F_206A_202C_202A_202D_206A_200F_206F_200D_206D_200D_202E_206C_200B_206C_202D_206C_206C_202D_206E_206B_202B_206C_206E_200B_200F_206E_206C_202E(IGameInteropProvider P_0, object P_1) - { - P_0.InitializeFromAttributes(P_1); - } - - static void _206D_200C_206A_202B_202A_202C_200D_206E_200B_200B_206B_206C_200D_202D_206B_200E_206C_202E_202E_200C_200F_200E_200F_206E_200B_202E_200D_200C_206F_206A_206F_206A_202A_200E_206D_200D_206B_200B_200E_206E_202E() - { - ImGui.Separator(); - } - - static IUiBuilder _202D_202A_206B_202C_202E_206A_202E_206E_206C_200C_202E_202D_200D_206E_202C_206F_200E_202E_206F_202A_202D_206C_200C_206C_200F_200D_202A_200C_206B_206E_200E_202B_206F_202A_200B_200F_202E_206B_202D_202D_202E(IDalamudPluginInterface P_0) - { - return P_0.UiBuilder; - } - - static IFontHandle _202C_202D_200F_202D_202D_206F_206F_200F_206A_206C_202D_206E_202E_200B_200F_202C_206A_200F_206A_202C_202D_200C_200D_200F_200D_206B_200D_206F_200E_206C_202E_200C_206E_206C_206F_200B_200B_200C_202C_200F_202E(IUiBuilder P_0) - { - return P_0.IconFontFixedWidthHandle; - } - - static IDisposable _206D_202A_200E_200C_202C_200F_206A_200E_202B_206D_202A_200E_202D_206F_200F_206C_202A_200B_206F_200C_206A_206D_206E_202E_206C_202E_206B_200B_206F_202C_200D_202C_202E_200B_206F_200C_202C_200B_200F_202D_202E(IFontHandle P_0) - { - return P_0.Push(); - } - - static string _206C_206B_206B_202E_202A_206B_206C_206C_200B_200E_200D_206B_200F_200D_206A_202C_202B_200F_206D_206E_206E_206A_206F_202B_206C_202B_200D_202C_200B_206E_206B_200F_200E_206F_200F_206F_200B_200D_202D_206F_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static Vector2 _206B_202C_200F_206B_200F_202C_202D_206B_206A_206A_206F_202E_206C_206F_200B_200D_206E_206C_206D_206A_202E_206D_202A_202A_200E_206F_200E_206A_206D_200C_206E_202D_200F_206C_206A_206C_206E_206A_200F_202C_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static void _200E_200B_206C_200B_202D_206E_200D_200F_202A_206C_206D_206C_206B_200D_206E_206A_200F_202E_200C_206A_206A_206E_206E_200F_200E_206C_206B_202C_206E_206A_200B_202C_202C_200F_202D_206F_206C_206E_202D_200D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static ImGuiIOPtr _200B_202C_206F_200C_202E_206D_202B_206B_206D_206F_200D_202C_200C_206D_206E_206E_202B_202A_202D_202B_200B_200D_200B_200C_206D_206C_206E_202E_202A_202B_200B_202D_202D_202B_206B_200E_200E_202E_200D_206D_202E() - { - return ImGui.GetIO(); - } - - static void _200D_200F_202C_200B_202C_200E_200D_202D_206F_200F_206A_206C_206E_206B_202E_202C_200E_206E_206C_206E_200C_206B_200C_206C_200D_202B_206F_202B_206F_206E_202B_202C_200E_202D_202A_200C_202A_200B_202A_200C_202E(ImU8String P_0, ImGuiTableColumnFlags P_1, float P_2, uint P_3) - { - ImGui.TableSetupColumn(P_0, P_1, P_2, P_3); - } - - static void _202D_206B_206B_202C_200D_200D_200B_200D_206C_200D_206E_200F_206D_206C_206F_202C_206D_206D_200C_202C_206B_206A_206A_206B_206A_206C_202E_206D_202A_206B_202A_206B_200E_200C_202B_206D_206E_202B_200C_202B_202E() - { - ImGui.TableHeadersRow(); - } - - static float _206C_206F_206D_200D_200F_202D_202B_202E_200B_202C_202B_206E_200D_206A_200E_202D_202A_206E_206C_200B_202C_206C_202C_206B_202B_206C_202D_200E_202C_206F_202A_206D_202B_200B_200B_206F_206E_202E_202A_202E_202E() - { - return ImGui.GetTextLineHeightWithSpacing(); - } - - unsafe static ImGuiListClipper* _202A_202A_200B_206D_206E_206D_202B_200C_206A_202B_202C_202B_200F_200D_200C_202B_202B_206B_202A_206B_206D_206C_200B_206C_206B_206C_202E_202B_200E_206B_202B_200D_200E_202A_200D_200B_202A_200B_200D_206B_202E() - { - return ImGuiNative.ImGuiListClipper(); - } - - unsafe static void _200C_202E_206B_206F_200B_200C_206E_206F_200D_202D_200B_200C_202B_200D_206E_202D_206B_206E_202B_206B_206B_206E_200B_200E_206D_200C_202B_200C_202C_206A_206C_200D_200E_200B_202B_206B_202C_200D_202A_206F_202E(ImGuiListClipper* P_0, int P_1, float P_2) - { - ImGuiNative.Begin(P_0, P_1, P_2); - } - - static void _202E_200E_202D_206D_200E_206A_200C_202E_206A_200C_206B_206B_202C_202B_206C_200B_206D_206F_206D_206E_200F_200D_202B_202D_200E_202B_206F_206A_200E_200E_202D_206C_206C_202B_202B_202C_200E_202D_202B_202E_202E() - { - ImGui.TableNextRow(); - } - - static bool _202D_206F_202C_202E_206E_200B_206F_200B_200D_200D_206D_200F_200D_200B_206C_200D_200D_200D_200E_206E_202A_206D_206A_206D_200B_202B_200E_202E_200E_202A_206A_202A_202D_206E_206D_200E_202C_200B_206C_206C_202E() - { - return ImGui.TableNextColumn(); - } - - static ImGuiStylePtr _202B_206B_206E_200C_202B_200B_202D_200F_206E_206A_206B_200C_206B_206F_200E_202A_200D_200B_206C_202C_200F_202D_200D_206B_206E_202C_206E_200F_202A_200D_200E_200C_206D_200B_200F_202C_200F_206D_206F_202D_202E() - { - return ImGui.GetStyle(); - } - - static float _206B_202D_206B_206B_202E_200D_202E_202E_200F_206E_202D_206C_200D_206A_202C_206E_200D_202D_200E_200F_202E_206D_202E_206E_202E_206F_202C_206C_206D_200F_206A_206D_200F_202A_206A_200E_206A_200E_200E_206E_202E() - { - return ImGui.GetCursorPosX(); - } - - static void _202E_206A_206F_206D_206C_206B_200E_202A_200B_206B_200D_200B_202A_206B_206B_206E_202E_200C_202C_206E_202C_202B_200E_206A_206C_206E_200F_206A_206C_202E_200C_206F_206A_202C_206F_200C_206D_202E_202B_206C_202E(float P_0) - { - ImGui.SetCursorPosX(P_0); - } - - static bool _202D_202B_206F_206F_206F_202D_202D_206C_206C_200C_206D_200E_200F_200E_206E_200B_206A_202E_200B_206E_200D_202A_200B_202D_200F_200C_206E_206F_202B_200F_206A_202E_202E_202C_206B_206E_200C_206F_200C_206F_202E(ImU8String P_0, ImGuiTreeNodeFlags P_1, ImU8String P_2) - { - return ImGui.TreeNodeEx(P_0, P_1, P_2); - } - - static float _206B_202A_200E_206B_206A_206E_200E_200F_202E_202D_200F_206A_202D_202B_206B_206C_202E_200D_206A_202E_200D_202C_202A_200E_202D_206A_206D_200D_202B_202A_206A_206B_206B_202E_206B_202B_206F_206E_202B_202E() - { - return ImGui.GetColumnWidth(); - } - - static void _206B_206B_202C_202A_202E_206E_202A_202B_202B_200F_206B_206E_200E_200C_202B_200D_206E_206B_202A_206C_202E_200F_202C_206B_202E_206C_206C_202C_206C_206A_200E_200F_202D_202A_206B_206F_200E_200F_202B_200D_202E() - { - ImGui.SameLine(); - } - - static bool _202E_202C_206D_202B_200D_206C_200C_206A_206D_206F_202A_202D_202C_206D_202E_200C_206C_202E_200D_206B_206A_206D_200B_202A_200E_206E_200F_200D_202D_200F_200B_206C_200F_206E_206E_206E_200C_206B_206C_206E_202E(ImU8String P_0, bool P_1, ImGuiSelectableFlags P_2, Vector2 P_3) - { - return ImGui.Selectable(P_0, P_1, P_2, P_3); - } - - static string _206F_206A_206D_206A_200C_200F_206A_200B_206B_202E_200C_200F_200B_202E_202A_206E_200C_202A_202C_206B_200E_206E_206F_206F_202C_206C_206F_206E_202C_206E_202D_206E_200E_206B_200D_202C_206A_202C_200F_202B_202E(EExpansionVersion P_0) - { - return P_0.ToFriendlyString(); - } - - static ushort _202A_202B_200C_200D_202A_200E_200C_206E_206B_200F_206E_200D_206B_202B_200B_202E_200D_200B_202D_200E_206A_206A_202E_206B_206B_202E_206A_200C_202E_206C_206C_206F_206D_206F_206C_202D_206A_206B_200B_206D_202E(GatheringPointId P_0) - { - return P_0.Value; - } - - static bool _202C_202C_200B_206B_206F_202E_206E_200E_202E_202C_202D_202D_200B_200B_206A_202A_206E_200D_206D_206A_206A_202B_202E_200F_206C_200C_202C_206E_202D_200F_202C_206C_200E_206A_202B_206D_206F_206D_200F_202E(string P_0) - { - return string.IsNullOrWhiteSpace(P_0); - } } diff --git a/Questionable/Questionable.Windows.JournalComponents/JournalUiShared.cs b/Questionable/Questionable.Windows.JournalComponents/JournalUiShared.cs index 80c710e..7c25106 100644 --- a/Questionable/Questionable.Windows.JournalComponents/JournalUiShared.cs +++ b/Questionable/Questionable.Windows.JournalComponents/JournalUiShared.cs @@ -1,6 +1,5 @@ using System; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; using Dalamud.Interface.Utility.Raii; using Questionable.Controller.Utils; @@ -9,260 +8,58 @@ namespace Questionable.Windows.JournalComponents; internal static class JournalUiShared { - [MethodImpl(MethodImplOptions.NoInlining)] public static void DrawAllowanceHeader(int used, int limit, string unit, TimeSpan untilReset, string? tooltip = null) { - int num = used; - int num2 = limit; - int num3 = ~(~num2 + num); - int num4 = ((limit > 0) ? (-1046628758) : (-1046628759)); - Vector4 vector; - float num9 = default(float); - string text = default(string); - while (true) + int num = limit - used; + float fraction = ((limit > 0) ? ((float)num / (float)limit) : 0f); + string text = ExpiryUtils.FormatTimeSpan(untilReset); + Vector4 col = ((num > 0) ? UiThemeUtils.StatusComplete : UiThemeUtils.StatusLocked); + ImU8String text2 = new ImU8String(0, 1); + text2.AppendFormatted(num); + ImGui.TextColored(in col, text2); + ImGui.SameLine(0f, 4f); + ImU8String text3 = new ImU8String(13, 2); + text3.AppendLiteral("/ "); + text3.AppendFormatted(limit); + text3.AppendLiteral(" "); + text3.AppendFormatted(unit); + text3.AppendLiteral(" remaining"); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, text3); + string text4 = "Resets in " + text; + float y = ImGui.GetContentRegionMax().X - ImGui.CalcTextSize(text4).X; + ImGui.SameLine(0f, 0f); + ImGui.SameLine(MathF.Max(ImGui.GetCursorPosX() + ImGui.GetStyle().ItemSpacing.X, y)); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text4); + ImGui.Spacing(); + using (UiThemeUtils.PushProgressBarColors()) { - int num5 = num4; - num = -1046628757; - num2 = num5; - int num6 = num2 + num; - int num7 = num2 & num; - float num8; - switch (num6 - (num7 + num7)) - { - default: - continue; - case 3: - vector = UiThemeUtils.StatusLocked; - break; - case 2: - num8 = 0f; - goto IL_0094; - case 1: - num8 = (float)num3 / (float)limit; - goto IL_0094; - case 4: - num4 = -1046628759; - continue; - case 0: - { - vector = UiThemeUtils.StatusComplete; - break; - } - IL_0094: - num9 = num8; - text = ExpiryUtils.FormatTimeSpan(untilReset); - num4 = ((num3 > 0) ? (-1046628757) : (-1046628760)); - continue; - } - break; + Vector2 sizeArg = new Vector2(-1E-45f, 0f); + ImU8String overlay = new ImU8String(3, 2); + overlay.AppendFormatted(num); + overlay.AppendLiteral(" / "); + overlay.AppendFormatted(limit); + ImGui.ProgressBar(fraction, sizeArg, overlay); } - Vector4 vector2 = vector; - ImU8String imU8String = new ImU8String(0, 1); - imU8String.AppendFormatted(num3); - _200D_202A_200D_202A_202E_202E_202D_200B_200F_206B_200B_200F_200C_202B_200D_206C_200F_200F_202C_200D_202C_206E_202E_202E_202A_206B_202E_202E_206C_202A_200C_200C_200F_200C_206C_202D_202A_200B_206F_206F_202E(ref vector2, imU8String); - _206D_200E_202B_202E_200C_202A_206F_202A_200F_202E_200E_200B_202E_206B_200B_206C_200F_200B_202B_202A_206C_206D_202C_206B_202C_202C_200B_206F_202B_200E_200E_206D_200F_202A_206A_206B_206F_206E_200C_200F_202E(0f, 4f); - ImU8String imU8String2 = new ImU8String(13, 2); - imU8String2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1805890328)); - imU8String2.AppendFormatted(limit); - imU8String2.AppendLiteral(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(-1051702537)); - imU8String2.AppendFormatted(unit); - imU8String2.AppendLiteral(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(1418557285)); - _200D_202A_200D_202A_202E_202E_202D_200B_200F_206B_200B_200F_200C_202B_200D_206C_200F_200F_202C_200D_202C_206E_202E_202E_202A_206B_202E_202E_206C_202A_200C_200C_200F_200C_206C_202D_202A_200B_206F_206F_202E(ref UiThemeUtils.MutedTextColor, imU8String2); - string text2 = _200E_206E_202E_206C_200F_202C_200C_202D_206B_202B_202C_206C_206F_200C_202E_200F_200C_206D_206D_200F_202C_200D_202D_206A_202D_206F_200C_202C_200C_200B_202B_202D_206E_202C_202B_206A_206E_200E_200E_206A_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(-511196351), text); - float num10 = _200D_202D_200B_200F_200F_206F_202A_206C_206E_206A_206F_200C_206E_206D_206A_206B_206B_206B_206B_202D_202C_200E_202B_202A_202B_206B_206D_200B_200C_200E_200C_206B_206A_206E_200F_206C_200B_202E_206D_202A_202E().X - _200E_206E_206F_202B_202B_200B_202A_206C_206A_206B_200C_202C_200F_200F_206B_206F_206E_206B_200E_202E_202D_200C_200B_200C_206E_200C_202A_202A_206B_200B_202B_206E_200E_206E_200D_206C_206F_206F_202C_206C_202E((ImU8String)text2, false, -1f).X; - _206D_200E_202B_202E_200C_202A_206F_202A_200F_202E_200E_200B_202E_206B_200B_206C_200F_200B_202B_202A_206C_206D_202C_206B_202C_202C_200B_206F_202B_200E_200E_206D_200F_202A_206A_206B_206F_206E_200C_200F_202E(0f, 0f); - _202D_200C_202C_202A_200C_202A_200D_200B_202B_206C_200E_200E_206E_200B_202E_200D_200F_200F_200C_206C_206C_202D_206C_200C_206B_202E_206F_200B_202B_200F_200E_200F_200D_206B_200D_206B_200D_206D_206F_200E_202E(_202C_206A_202E_200D_202B_206E_202D_206B_202A_200C_202C_206A_206D_206F_200D_202D_202D_206D_206F_200D_202D_202B_206D_206D_202D_200D_200F_206D_206E_202A_202C_206C_200C_200C_206C_200C_206F_206F_206E_200C_202E(_200C_206B_206A_200F_202A_202D_200E_206F_200B_206B_200C_200C_202D_200B_206C_202C_202D_202C_202E_200E_200F_200B_200D_200F_200F_206A_202E_206E_206E_206C_206B_200B_200E_200B_202D_206F_200E_202E_206D_200E_202E() + _206A_202C_206E_206A_202D_206B_200D_206C_202D_206D_202E_206E_202E_202A_200D_200E_200D_202D_202D_206C_202B_206E_200D_206F_202C_206E_202C_202A_206C_200D_200D_200C_206A_206A_206A_200D_202E_202E_206D_202E().ItemSpacing.X, num10)); - _200D_202A_200D_202A_202E_202E_202D_200B_200F_206B_200B_200F_200C_202B_200D_206C_200F_200F_202C_200D_202C_206E_202E_202E_202A_206B_202E_202E_206C_202A_200C_200C_200F_200C_206C_202D_202A_200B_206F_206F_202E(ref UiThemeUtils.DimTextColor, (ImU8String)text2); - _202E_206B_200E_206B_202A_202A_206C_206C_202C_200D_200C_206A_206A_206A_202E_200E_206F_202A_206A_200D_206C_206C_200C_200B_202B_206D_200C_206D_200D_200E_202E_200E_206E_206C_206B_202A_202B_200E_206D_202E(); - ImRaii.ColorDisposable colorDisposable = UiThemeUtils.PushProgressBarColors(); - try + if (tooltip != null && ImGui.IsItemHovered()) { - float num11 = num9; - Vector2 vector3 = new Vector2(-1E-45f, 0f); - ImU8String imU8String3 = new ImU8String(3, 2); - imU8String3.AppendFormatted(num3); - imU8String3.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2014446916)); - imU8String3.AppendFormatted(limit); - _202B_206D_206F_206A_202E_202A_206D_206B_200D_206A_202C_202B_200B_200E_202E_206C_206B_200B_200E_202C_200C_202D_200E_202B_206A_200C_202E_202E_206F_200F_206E_206A_202C_202E_200F_206E_200E_206A_206E_206A_202E(num11, vector3, imU8String3); - } - finally - { - num4 = ((colorDisposable == null) ? (-829553128) : (-829553127)); - while (true) + using ImRaii.TooltipDisposable tooltipDisposable = ImRaii.Tooltip(); + if (tooltipDisposable.Alive) { - int num12 = num4; - num = -829553128; - num2 = num12; - int num13 = num2 + num; - int num14 = num2 & num; - switch (num13 - (num14 + num14)) - { - case 2: - num4 = -829553127; - break; - case 1: - _202A_206D_200F_202E_202D_206D_200C_206A_202B_200B_202E_200B_206E_206D_200E_206A_202D_206E_202E_200C_202E_206B_200F_206B_200F_206F_202D_200E_202E_202D_202E_206A_200B_202A_206F_200B_200E_200B_206E_206E_202E((IDisposable)colorDisposable); - num4 = -829553128; - break; - case 0: - goto end_IL_023b; - } - continue; - end_IL_023b: - break; + DateTime value = (DateTime.UtcNow + untilReset).ToLocalTime(); + ImGui.TextUnformatted(tooltip); + ImGui.Spacing(); + ImGui.Separator(); + ImGui.Spacing(); + ImU8String text5 = new ImU8String(12, 1); + text5.AppendLiteral("Next reset: "); + text5.AppendFormatted(value, "g"); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text5); + ImU8String text6 = new ImU8String(18, 1); + text6.AppendLiteral("Time until reset: "); + text6.AppendFormatted(text); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text6); } } - if (tooltip != null) - { - num4 = 193452767; - while (true) - { - int num15 = num4; - num = 193452766; - num2 = num15; - switch ((num2 | num) - (num2 & num)) - { - default: - continue; - case 0: - num4 = 193452767; - continue; - case 1: - if (_206B_202C_202E_206E_202D_206E_202B_206C_200B_202E_200B_202B_200C_206E_206F_206E_202D_202A_202E_202E_202E_202D_202D_200D_206A_200F_200C_200C_202A_200F_200C_200B_200B_200B_202C_206A_200F_202D_200F_200E_202E()) - { - num4 = 193452764; - continue; - } - break; - case 2: - { - using (ImRaii.TooltipDisposable tooltipDisposable = _206D_202C_206D_206E_202E_206E_206B_200D_206D_202B_206D_202B_206B_202A_202E_200E_202E_206F_202C_206C_200E_206C_206A_200C_202A_206C_206D_206E_206B_202C_206E_206D_202C_206B_200F_202B_206C_200C_202B_206F_202E()) - { - num4 = ((!tooltipDisposable.Alive) ? 275444392 : 275444395); - while (true) - { - int num16 = num4; - num = 275444394; - num2 = num16; - int num17 = num2 + num; - int num18 = num2 & num; - switch (num17 - (num18 + num18)) - { - case 0: - num4 = 275444395; - break; - case 1: - { - DateTime value = (DateTime.UtcNow + untilReset).ToLocalTime(); - _200C_206D_202C_206A_202D_206A_202E_206D_202B_202C_200E_200B_206B_206F_206F_202A_206B_206D_200F_202C_200C_200F_206A_202C_206A_202D_200D_200B_200F_202B_200D_202D_200B_202E_202B_202A_200F_202E_200B_200D_202E((ImU8String)tooltip); - _202E_206B_200E_206B_202A_202A_206C_206C_202C_200D_200C_206A_206A_206A_202E_200E_206F_202A_206A_200D_206C_206C_200C_200B_202B_206D_200C_206D_200D_200E_202E_200E_206E_206C_206B_202A_202B_200E_206D_202E(); - _200B_202C_200D_200B_206B_206B_200C_202C_200E_206C_202E_202D_200D_206D_200E_202D_206C_206C_202C_202D_200D_200D_206B_200B_206B_202C_202E_202A_206E_206B_202D_200C_206A_200F_206D_200C_202D_202C_206D_200F_202E(); - _202E_206B_200E_206B_202A_202A_206C_206C_202C_200D_200C_206A_206A_206A_202E_200E_206F_202A_206A_200D_206C_206C_200C_200B_202B_206D_200C_206D_200D_200E_202E_200E_206E_206C_206B_202A_202B_200E_206D_202E(); - ImU8String imU8String4 = new ImU8String(12, 1); - imU8String4.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1379764332)); - imU8String4.AppendFormatted(value, 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(-1889225892)); - _200D_202A_200D_202A_202E_202E_202D_200B_200F_206B_200B_200F_200C_202B_200D_206C_200F_200F_202C_200D_202C_206E_202E_202E_202A_206B_202E_202E_206C_202A_200C_200C_200F_200C_206C_202D_202A_200B_206F_206F_202E(ref UiThemeUtils.DimTextColor, imU8String4); - ImU8String imU8String5 = new ImU8String(18, 1); - imU8String5.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-706515777)); - imU8String5.AppendFormatted(text); - _200D_202A_200D_202A_202E_202E_202D_200B_200F_206B_200B_200F_200C_202B_200D_206C_200F_200F_202C_200D_202C_206E_202E_202E_202A_206B_202E_202E_206C_202A_200C_200C_200F_200C_206C_202D_202A_200B_206F_206F_202E(ref UiThemeUtils.DimTextColor, imU8String5); - num4 = 275444392; - break; - } - case 2: - goto end_IL_0315; - } - continue; - end_IL_0315: - break; - } - } - break; - } - } - break; - } - } - _202E_206B_200E_206B_202A_202A_206C_206C_202C_200D_200C_206A_206A_206A_202E_200E_206F_202A_206A_200D_206C_206C_200C_200B_202B_206D_200C_206D_200D_200E_202E_200E_206E_206C_206B_202A_202B_200E_206D_202E(); - } - - static void _200D_202A_200D_202A_202E_202E_202D_200B_200F_206B_200B_200F_200C_202B_200D_206C_200F_200F_202C_200D_202C_206E_202E_202E_202A_206B_202E_202E_206C_202A_200C_200C_200F_200C_206C_202D_202A_200B_206F_206F_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static void _206D_200E_202B_202E_200C_202A_206F_202A_200F_202E_200E_200B_202E_206B_200B_206C_200F_200B_202B_202A_206C_206D_202C_206B_202C_202C_200B_206F_202B_200E_200E_206D_200F_202A_206A_206B_206F_206E_200C_200F_202E(float P_0, float P_1) - { - ImGui.SameLine(P_0, P_1); - } - - static string _200E_206E_202E_206C_200F_202C_200C_202D_206B_202B_202C_206C_206F_200C_202E_200F_200C_206D_206D_200F_202C_200D_202D_206A_202D_206F_200C_202C_200C_200B_202B_202D_206E_202C_202B_206A_206E_200E_200E_206A_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static Vector2 _200D_202D_200B_200F_200F_206F_202A_206C_206E_206A_206F_200C_206E_206D_206A_206B_206B_206B_206B_202D_202C_200E_202B_202A_202B_206B_206D_200B_200C_200E_200C_206B_206A_206E_200F_206C_200B_202E_206D_202A_202E() - { - return ImGui.GetContentRegionMax(); - } - - static Vector2 _200E_206E_206F_202B_202B_200B_202A_206C_206A_206B_200C_202C_200F_200F_206B_206F_206E_206B_200E_202E_202D_200C_200B_200C_206E_200C_202A_202A_206B_200B_202B_206E_200E_206E_200D_206C_206F_206F_202C_206C_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static float _200C_206B_206A_200F_202A_202D_200E_206F_200B_206B_200C_200C_202D_200B_206C_202C_202D_202C_202E_200E_200F_200B_200D_200F_200F_206A_202E_206E_206E_206C_206B_200B_200E_200B_202D_206F_200E_202E_206D_200E_202E() - { - return ImGui.GetCursorPosX(); - } - - static ImGuiStylePtr _206A_202C_206E_206A_202D_206B_200D_206C_202D_206D_202E_206E_202E_202A_200D_200E_200D_202D_202D_206C_202B_206E_200D_206F_202C_206E_202C_202A_206C_200D_200D_200C_206A_206A_206A_200D_202E_202E_206D_202E() - { - return ImGui.GetStyle(); - } - - static float _202C_206A_202E_200D_202B_206E_202D_206B_202A_200C_202C_206A_206D_206F_200D_202D_202D_206D_206F_200D_202D_202B_206D_206D_202D_200D_200F_206D_206E_202A_202C_206C_200C_200C_206C_200C_206F_206F_206E_200C_202E(float P_0, float P_1) - { - return MathF.Max(P_0, P_1); - } - - static void _202D_200C_202C_202A_200C_202A_200D_200B_202B_206C_200E_200E_206E_200B_202E_200D_200F_200F_200C_206C_206C_202D_206C_200C_206B_202E_206F_200B_202B_200F_200E_200F_200D_206B_200D_206B_200D_206D_206F_200E_202E(float P_0) - { - ImGui.SameLine(P_0); - } - - static void _202E_206B_200E_206B_202A_202A_206C_206C_202C_200D_200C_206A_206A_206A_202E_200E_206F_202A_206A_200D_206C_206C_200C_200B_202B_206D_200C_206D_200D_200E_202E_200E_206E_206C_206B_202A_202B_200E_206D_202E() - { ImGui.Spacing(); } - - static void _202B_206D_206F_206A_202E_202A_206D_206B_200D_206A_202C_202B_200B_200E_202E_206C_206B_200B_200E_202C_200C_202D_200E_202B_206A_200C_202E_202E_206F_200F_206E_206A_202C_202E_200F_206E_200E_206A_206E_206A_202E(float P_0, Vector2 P_1, ImU8String P_2) - { - ImGui.ProgressBar(P_0, P_1, P_2); - } - - static void _202A_206D_200F_202E_202D_206D_200C_206A_202B_200B_202E_200B_206E_206D_200E_206A_202D_206E_202E_200C_202E_206B_200F_206B_200F_206F_202D_200E_202E_202D_202E_206A_200B_202A_206F_200B_200E_200B_206E_206E_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static bool _206B_202C_202E_206E_202D_206E_202B_206C_200B_202E_200B_202B_200C_206E_206F_206E_202D_202A_202E_202E_202E_202D_202D_200D_206A_200F_200C_200C_202A_200F_200C_200B_200B_200B_202C_206A_200F_202D_200F_200E_202E() - { - return ImGui.IsItemHovered(); - } - - static ImRaii.TooltipDisposable _206D_202C_206D_206E_202E_206E_206B_200D_206D_202B_206D_202B_206B_202A_202E_200E_202E_206F_202C_206C_200E_206C_206A_200C_202A_206C_206D_206E_206B_202C_206E_206D_202C_206B_200F_202B_206C_200C_202B_206F_202E() - { - return ImRaii.Tooltip(); - } - - static void _200C_206D_202C_206A_202D_206A_202E_206D_202B_202C_200E_200B_206B_206F_206F_202A_206B_206D_200F_202C_200C_200F_206A_202C_206A_202D_200D_200B_200F_202B_200D_202D_200B_202E_202B_202A_200F_202E_200B_200D_202E(ImU8String P_0) - { - ImGui.TextUnformatted(P_0); - } - - static void _200B_202C_200D_200B_206B_206B_200C_202C_200E_206C_202E_202D_200D_206D_200E_202D_206C_206C_202C_202D_200D_200D_206B_200B_206B_202C_202E_202A_206E_206B_202D_200C_206A_200F_206D_200C_202D_202C_206D_200F_202E() - { - ImGui.Separator(); - } } diff --git a/Questionable/Questionable.Windows.JournalComponents/QuestChainComponent.cs b/Questionable/Questionable.Windows.JournalComponents/QuestChainComponent.cs index 7e085a0..0270330 100644 --- a/Questionable/Questionable.Windows.JournalComponents/QuestChainComponent.cs +++ b/Questionable/Questionable.Windows.JournalComponents/QuestChainComponent.cs @@ -2,11 +2,8 @@ using System; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Bindings.ImGui; using Dalamud.Game.Text.SeStringHandling.Payloads; -using Dalamud.Interface.Textures; using Dalamud.Interface.Textures.TextureWraps; using Dalamud.Interface.Utility.Raii; using Dalamud.Plugin.Services; @@ -25,102 +22,7 @@ namespace Questionable.Windows.JournalComponents; internal sealed class QuestChainComponent { - private readonly record struct QuestStatusEntry(Vector4 Color, bool IsCompleted) - { - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206F_200E_206D_206A_202B_200D_206C_200E_206B_202D_206C_200E_200C_200C_202C_206E_202E_206B_202A_200C_206F_206A_200E_202E_206C_206A_206C_200B_206B_200C_200E_200E_202B_200B_202E_202D_206F_200D_200C_202B_202E(); - _200B_206C_206B_200C_202B_200B_200E_200B_200F_200D_202A_206A_206F_202A_206E_202D_202E_206A_200F_200F_200C_206F_200B_200F_206F_202C_202D_200D_206B_202B_206F_206B_206F_206C_200F_200F_206B_200D_200B_200C_202E(stringBuilder, 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(77884628)); - _200B_206C_206B_200C_202B_200B_200E_200B_200F_200D_202A_206A_206F_202A_206E_202D_202E_206A_200F_200F_200C_206F_200B_200F_206F_202C_202D_200D_206B_202B_206F_206B_206F_206C_200F_200F_206B_200D_200B_200C_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? 449897545 : 449897544); - while (true) - { - int num2 = num; - int num3 = 449897545; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _200D_200F_202D_200D_202B_206C_200F_206F_202C_202D_200B_200F_206F_206A_206B_206A_206A_202A_202A_200F_202B_202B_202E_206B_202A_202C_206C_206B_200E_202E_206B_200B_202A_202C_202E_202A_202A_200B_202D_202E(stringBuilder, '}'); - return _200C_202D_202E_206D_200B_206A_200D_200F_200C_200F_202E_206B_200C_200C_206B_200B_206C_206F_202B_200C_202E_200D_200F_202B_202B_206C_200D_206D_202E_202B_200B_202E_200D_206D_202D_206C_200E_206B_202D_202B_202E((object)stringBuilder); - case 1: - _200D_200F_202D_200D_202B_206C_200F_206F_202C_202D_200B_200F_206F_206A_206B_206A_206A_202A_202A_200F_202B_202B_202E_206B_202A_202C_206C_206B_200E_202E_206B_200B_202A_202C_202E_202A_202A_200B_202D_202E(stringBuilder, ' '); - num = 449897545; - break; - case 2: - num = 449897544; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200B_206C_206B_200C_202B_200B_200E_200B_200F_200D_202A_206A_206F_202A_206E_202D_202E_206A_200F_200F_200C_206F_200B_200F_206F_202C_202D_200D_206B_202B_206F_206B_206F_206C_200F_200F_206B_200D_200B_200C_202E(builder, 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(1684412883)); - _200B_206C_206B_200C_202B_200B_200E_200B_200F_200D_202A_206A_206F_202A_206E_202D_202E_206A_200F_200F_200C_206F_200B_200F_206F_202C_202D_200D_206B_202B_206F_206B_206F_206C_200F_200F_206B_200D_200B_200C_202E(builder, Color.ToString()); - _200B_206C_206B_200C_202B_200B_200E_200B_200F_200D_202A_206A_206F_202A_206E_202D_202E_206A_200F_200F_200C_206F_200B_200F_206F_202C_202D_200D_206B_202B_206F_206B_206F_206C_200F_200F_206B_200D_200B_200C_202E(builder, 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(-315537476)); - _200B_206C_206B_200C_202B_200B_200E_200B_200F_200D_202A_206A_206F_202A_206E_202D_202E_206A_200F_200F_200C_206F_200B_200F_206F_202C_202D_200D_206B_202B_206F_206B_206F_206C_200F_200F_206B_200D_200B_200C_202E(builder, IsCompleted.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(QuestStatusEntry other) - { - int num = ((!EqualityComparer.Default.Equals(Color, other.Color)) ? 674746801 : 674746802); - while (true) - { - int num2 = num; - int num3 = 674746800; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0058; - case 1: - return false; - case 2: - return EqualityComparer.Default.Equals(IsCompleted, other.IsCompleted); - } - continue; - IL_0058: - num = 674746802; - } - } - - bool IEquatable.Equals(QuestStatusEntry other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _206F_200E_206D_206A_202B_200D_206C_200E_206B_202D_206C_200E_200C_200C_202C_206E_202E_206B_202A_200C_206F_206A_200E_202E_206C_206A_206C_200B_206B_200C_200E_200E_202B_200B_202E_202D_206F_200D_200C_202B_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200B_206C_206B_200C_202B_200B_200E_200B_200F_200D_202A_206A_206F_202A_206E_202D_202E_206A_200F_200F_200C_206F_200B_200F_206F_202C_202D_200D_206B_202B_206F_206B_206F_206C_200F_200F_206B_200D_200B_200C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200D_200F_202D_200D_202B_206C_200F_206F_202C_202D_200B_200F_206F_206A_206B_206A_206A_202A_202A_200F_202B_202B_202E_206B_202A_202C_206C_206B_200E_202E_206B_200B_202A_202C_202E_202A_202A_200B_202D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200C_202D_202E_206D_200B_206A_200D_200F_200C_200F_202E_206B_200C_200C_206B_200B_206C_206F_202B_200C_202E_200D_200F_202B_202B_206C_200D_206D_202E_202B_200B_202E_200D_206D_202D_206C_200E_206B_202D_202B_202E(object P_0) - { - return P_0.ToString(); - } - } + private readonly record struct QuestStatusEntry(Vector4 Color, bool IsCompleted); private sealed class CachedGraphLayout { @@ -133,172 +35,9 @@ internal sealed class QuestChainComponent public required Dictionary TruncatedLabels { get; init; } } - private readonly record struct NodeStatusEntry(Vector4 BgColor, bool IsDone) - { - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200E_200E_206C_202D_206E_200B_200F_206E_206C_200E_202A_206B_206E_206D_202B_202B_206B_200C_202E_202C_200E_202C_200C_202B_202A_206F_200E_202C_200B_200D_206A_206C_200F_200F_202D_200C_202B_202C_200E_200E_202E(); - _206D_202E_206F_206C_202B_200D_206D_202C_200B_200C_206A_206F_206E_202A_206C_200F_206E_206F_206B_202B_200C_200F_200C_206B_206C_202A_202D_200F_206B_206D_206C_202A_202C_202A_206A_202E_206E_200B_202E_202B_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1670769430)); - _206D_202E_206F_206C_202B_200D_206D_202C_200B_200C_206A_206F_206E_202A_206C_200F_206E_206F_206B_202B_200C_200F_200C_206B_206C_202A_202D_200F_206B_206D_206C_202A_202C_202A_206A_202E_206E_200B_202E_202B_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? (-76710960) : (-76710957)); - while (true) - { - int num2 = num; - int num3 = -76710959; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -76710957; - break; - case 2: - _206F_200B_202C_200B_206C_202A_202B_200C_200B_200B_206C_200F_206F_206F_200B_202C_206E_200E_206B_206F_202C_200F_206E_206D_202B_206A_200B_200E_200D_202A_206A_200E_206D_200C_202B_202D_206A_202E_200E_202E_202E(stringBuilder, ' '); - num = -76710960; - break; - case 1: - _206F_200B_202C_200B_206C_202A_202B_200C_200B_200B_206C_200F_206F_206F_200B_202C_206E_200E_206B_206F_202C_200F_206E_206D_202B_206A_200B_200E_200D_202A_206A_200E_206D_200C_202B_202D_206A_202E_200E_202E_202E(stringBuilder, '}'); - return _202B_200C_206A_206D_206F_200E_206D_200E_206F_206D_206F_206D_206B_202D_200D_202C_206A_202A_206A_206D_200B_202D_206A_200E_200B_200C_206B_206A_200E_200F_202D_200B_202A_202A_200F_206D_200B_202E_202C_200C_202E((object)stringBuilder); - } - } - } + private readonly record struct NodeStatusEntry(Vector4 BgColor, bool IsDone); - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206D_202E_206F_206C_202B_200D_206D_202C_200B_200C_206A_206F_206E_202A_206C_200F_206E_206F_206B_202B_200C_200F_200C_206B_206C_202A_202D_200F_206B_206D_206C_202A_202C_202A_206A_202E_206E_200B_202E_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(760482231)); - _206D_202E_206F_206C_202B_200D_206D_202C_200B_200C_206A_206F_206E_202A_206C_200F_206E_206F_206B_202B_200C_200F_200C_206B_206C_202A_202D_200F_206B_206D_206C_202A_202C_202A_206A_202E_206E_200B_202E_202B_202E(builder, BgColor.ToString()); - _206D_202E_206F_206C_202B_200D_206D_202C_200B_200C_206A_206F_206E_202A_206C_200F_206E_206F_206B_202B_200C_200F_200C_206B_206C_202A_202D_200F_206B_206D_206C_202A_202C_202A_206A_202E_206E_200B_202E_202B_202E(builder, 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(-1200737210)); - _206D_202E_206F_206C_202B_200D_206D_202C_200B_200C_206A_206F_206E_202A_206C_200F_206E_206F_206B_202B_200C_200F_200C_206B_206C_202A_202D_200F_206B_206D_206C_202A_202C_202A_206A_202E_206E_200B_202E_202B_202E(builder, IsDone.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(NodeStatusEntry other) - { - int num = ((!EqualityComparer.Default.Equals(BgColor, other.BgColor)) ? (-287632482) : (-287632481)); - while (true) - { - int num2 = num; - int num3 = -287632482; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0056; - case 1: - return EqualityComparer.Default.Equals(IsDone, other.IsDone); - case 0: - return false; - } - continue; - IL_0056: - num = -287632481; - } - } - - bool IEquatable.Equals(NodeStatusEntry other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _200E_200E_206C_202D_206E_200B_200F_206E_206C_200E_202A_206B_206E_206D_202B_202B_206B_200C_202E_202C_200E_202C_200C_202B_202A_206F_200E_202C_200B_200D_206A_206C_200F_200F_202D_200C_202B_202C_200E_200E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206D_202E_206F_206C_202B_200D_206D_202C_200B_200C_206A_206F_206E_202A_206C_200F_206E_206F_206B_202B_200C_200F_200C_206B_206C_202A_202D_200F_206B_206D_206C_202A_202C_202A_206A_202E_206E_200B_202E_202B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206F_200B_202C_200B_206C_202A_202B_200C_200B_200B_206C_200F_206F_206F_200B_202C_206E_200E_206B_206F_202C_200F_206E_206D_202B_206A_200B_200E_200D_202A_206A_200E_206D_200C_202B_202D_206A_202E_200E_202E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202B_200C_206A_206D_206F_200E_206D_200E_206F_206D_206F_206D_206B_202D_200D_202C_206A_202A_206A_206D_200B_202D_206A_200E_200B_200C_206B_206A_200E_200F_202D_200B_202A_202A_200F_206D_200B_202E_202C_200C_202E(object P_0) - { - return P_0.ToString(); - } - } - - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func, bool> _003C_003E9__67_0; - - public static Func, IQuestInfo> _003C_003E9__67_1; - - public static Func _003C_003E9__67_2; - - public static Func _003C_003E9__67_3; - - public static Func _003C_003E9__67_6; - - public static Predicate> _003C_003E9__78_0; - - public static Func _003C_003E9__85_1; - - internal bool _003CRebuildFilteredQuests_003Eb__67_0(KeyValuePair kvp) - { - return kvp.Key is QuestId; - } - - internal IQuestInfo _003CRebuildFilteredQuests_003Eb__67_1(KeyValuePair kvp) - { - return kvp.Value; - } - - internal bool _003CRebuildFilteredQuests_003Eb__67_2(IQuestInfo q) - { - return !_202C_200C_206E_206C_200C_202B_206A_200B_200C_202C_206F_206B_202B_206D_200E_206E_200D_200F_202A_200B_202B_202E_202A_202D_202B_206E_200D_206D_200D_200E_200C_200F_200E_202D_206E_206E_200E_200D_202B_200E_202E(q.Name); - } - - internal bool _003CRebuildFilteredQuests_003Eb__67_3(IQuestInfo q) - { - return q.Expansion != (EExpansionVersion)255; - } - - internal string _003CRebuildFilteredQuests_003Eb__67_6(IQuestInfo q) - { - return q.Name; - } - - internal bool _003CComputeLayout_003Eb__78_0(List l) - { - return l.Count == 0; - } - - internal bool _003CComputeBarycenters_003Eb__85_1(int idx) - { - return idx >= 0; - } - - static bool _202C_200C_206E_206C_200C_202B_206A_200B_200C_202C_206F_206B_202B_206D_200E_206E_200D_200F_202A_200B_202B_202E_202A_202D_202B_206E_200D_206D_200D_200E_200C_200F_200E_202D_206E_206E_200E_200D_202B_200E_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - } - - private static readonly string[] ExpansionNames = new string[7] - { - 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(-20470898), - 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(177882678), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(490686755), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1949433356), - 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(1218159025), - 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(953450628), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1495297306) - }; + private static readonly string[] ExpansionNames = new string[7] { "All", "A Realm Reborn", "Heavensward", "Stormblood", "Shadowbringers", "Endwalker", "Dawntrail" }; private readonly QuestChainBuilder _questChainBuilder; @@ -420,64 +159,32 @@ internal sealed class QuestChainComponent public void DrawQuestChain() { - int num = (_200B_202E_206B_206B_206E_206D_202B_202C_206D_200F_206C_206A_202E_206F_200C_206F_200D_200E_202C_202C_206F_202D_200F_206C_202C_200E_206F_206A_202A_200C_200E_200F_200E_202D_202A_202D_200B_206B_200E_202D_202E(_searchText, _previousSearchText) ? (-830776698) : (-830776689)); - float num7 = default(float); - Vector2 vector = default(Vector2); - float width = default(float); - while (true) + if (_searchText != _previousSearchText || _selectedExpansion != _previousExpansion) { - int num2 = num; - int num3 = -830776690; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = -830776689; - break; - case 8: - _filterDirty = true; - _previousSearchText = _searchText; - _previousExpansion = _selectedExpansion; - num = -830776695; - break; - case 2: - DrawDetailPanel(num7, vector.Y); - num = -830776697; - break; - case 3: - RebuildFilteredQuests(); - _filterDirty = false; - num = -830776693; - break; - case 7: - num = ((!_filterDirty) ? (-830776693) : (-830776691)); - break; - case 6: - DrawQuestList(num7, vector.Y); - num = -830776697; - break; - case 0: - num = ((!_206D_206A_206B_202D_200F_202B_202E_202A_206E_202A_206C_206F_202B_202B_202C_206D_202C_200B_200D_200C_206C_206A_202D_206A_206D_206B_200F_202D_202E_206D_206F_206B_202A_202D_202B_200C_206F_200E_202E_206E_202E(_selectedQuestId, (ElementId)null)) ? (-830776696) : (-830776692)); - break; - case 1: - num = ((_selectedExpansion == _previousExpansion) ? (-830776695) : (-830776698)); - break; - case 5: - DrawSearchBar(); - _200C_202E_202B_202A_200D_202C_202D_200D_202C_200D_206F_200F_200B_200C_206E_200C_206A_200F_206A_200D_206A_200F_200E_200B_200B_202B_200F_206C_206C_202A_200F_202C_206E_200B_202A_202B_206F_202B_202B_202B_202E(); - vector = _206F_200B_200E_206C_200E_200B_206B_206E_200E_206C_206E_206E_202B_202A_206B_202C_200C_202A_206B_202D_206C_202D_202D_200F_206B_200E_200B_206B_202A_206A_206D_200F_206D_206E_202B_200B_200C_206D_200C_202A_202E(); - num7 = _206D_200F_206A_200F_206D_202C_202E_202E_206F_206C_200C_206A_202E_202E_206E_202C_206A_202B_206B_206B_206A_206F_202A_202C_202A_200E_202D_200F_206B_200F_202C_206B_206B_206E_206F_200C_202E_202C_206F_202E(vector.X * 0.25f, 180f); - width = vector.X - num7 - _202C_206F_206D_206C_200D_202A_206E_202A_206A_206B_200B_206B_202B_202D_202C_200E_206E_206C_206F_206B_200E_206E_206E_200C_200D_202E_202D_206E_206D_206E_202A_200C_206E_200C_200C_206E_202D_202E_202A_206C_202E().ItemSpacing.X; - num = ((!_showDetail) ? (-830776696) : (-830776690)); - break; - case 9: - _206F_202C_206E_206C_200D_202B_200C_206D_200E_202A_206F_206C_200B_206A_200D_206A_200D_200C_200D_206A_202D_202B_200C_202A_200C_206F_202A_200B_206B_202B_202B_200C_202A_200E_200E_202C_206A_200B_202B_206B_202E(); - DrawChainPanel(width, vector.Y); - return; - } + _filterDirty = true; + _previousSearchText = _searchText; + _previousExpansion = _selectedExpansion; } + if (_filterDirty) + { + RebuildFilteredQuests(); + _filterDirty = false; + } + DrawSearchBar(); + ImGui.Separator(); + Vector2 contentRegionAvail = ImGui.GetContentRegionAvail(); + float num = MathF.Max(contentRegionAvail.X * 0.25f, 180f); + float width = contentRegionAvail.X - num - ImGui.GetStyle().ItemSpacing.X; + if (_showDetail && _selectedQuestId != null) + { + DrawDetailPanel(num, contentRegionAvail.Y); + } + else + { + DrawQuestList(num, contentRegionAvail.Y); + } + ImGui.SameLine(); + DrawChainPanel(width, contentRegionAvail.Y); } public void SelectQuest(ElementId questId) @@ -494,49 +201,20 @@ internal sealed class QuestChainComponent _questStatusCache.Clear(); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawSearchBar() { - UiThemeUtils.SearchInput(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1003342907), ref _searchText, -280f * _206D_200F_206F_202D_202B_206A_202A_200E_206C_206C_200D_206A_200C_200D_206F_206B_202D_206B_200B_200B_200C_200C_206C_200D_202E_202D_206D_206D_206D_200F_200C_206D_206D_200C_200F_206F_206C_200E_202A_202C_202E().FontGlobalScale, 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(-1685627218)); - _206F_202C_206E_206C_200D_202B_200C_206D_200E_202A_206F_206C_200B_206A_200D_206A_200D_200C_200D_206A_202D_202B_200C_202A_200C_206F_202A_200B_206B_202B_202B_200C_202A_200E_200E_202C_206A_200B_202B_206B_202E(); - int selectedExpansion = _selectedExpansion; - int num = 1; - int num2 = selectedExpansion; - int num3 = num2 ^ num; - int num4 = num2 & num; - int currentItem = num3 + (num4 + num4); - _206F_200E_200B_202A_200C_200D_200E_206A_200E_200F_200D_202E_202C_202A_200B_206E_206F_206A_202E_202E_202C_202C_202B_206E_200B_202D_200B_202A_200B_202E_200D_200E_200F_202A_206F_200D_200B_206C_206F_202E_202E(140f * _206D_200F_206F_202D_202B_206A_202A_200E_206C_206C_200D_206A_200C_200D_206F_206B_202D_206B_200B_200B_200C_200C_206C_200D_202E_202D_206D_206D_206D_200F_200C_206D_206D_200C_200F_206F_206C_200E_202A_202C_202E().FontGlobalScale); - int num5 = ((!UiThemeUtils.ThemedCombo(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(-676119741), ref currentItem, ExpansionNames, ExpansionNames.Length)) ? 676982153 : 676982159); - while (true) + UiThemeUtils.SearchInput("##ChainSearch", ref _searchText, -280f * ImGui.GetIO().FontGlobalScale, "Search quests..."); + ImGui.SameLine(); + int currentItem = _selectedExpansion + 1; + ImGui.SetNextItemWidth(140f * ImGui.GetIO().FontGlobalScale); + if (UiThemeUtils.ThemedCombo("##ChainExpansion", ref currentItem, ExpansionNames, ExpansionNames.Length)) { - int num6 = num5; - num = 676982157; - num2 = num6; - switch ((num2 | num) - (num2 & num)) - { - case 4: - _206F_202C_206E_206C_200D_202B_200C_206D_200E_202A_206F_206C_200B_206A_200D_206A_200D_200C_200D_206A_202D_202B_200C_202A_200C_206F_202A_200B_206B_202B_202B_200C_202A_200E_200E_202C_206A_200B_202B_206B_202E(); - num5 = ((!UiThemeUtils.WrappedCheckbox(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(1722794526), ref _showUnobtainable)) ? 676982158 : 676982156); - break; - case 3: - return; - case 0: - num5 = 676982159; - break; - case 2: - { - int num7 = currentItem; - num = 1; - num2 = num7; - _selectedExpansion = ~(~num2 + num); - num5 = 676982153; - break; - } - case 1: - _filterDirty = true; - num5 = 676982158; - break; - } + _selectedExpansion = currentItem - 1; + } + ImGui.SameLine(); + if (UiThemeUtils.WrappedCheckbox("Unobtainable", ref _showUnobtainable)) + { + _filterDirty = true; } } @@ -545,963 +223,395 @@ internal sealed class QuestChainComponent _filteredQuests = (from kvp in _questData.AllQuests where kvp.Key is QuestId select kvp.Value into q - where !_003C_003Ec._202C_200C_206E_206C_200C_202B_206A_200B_200C_202C_206F_206B_202B_206D_200E_206E_200D_200F_202A_200B_202B_202E_202A_202D_202B_206E_200D_206D_200D_200E_200C_200F_200E_202D_206E_206E_200E_200D_202B_200E_202E(q.Name) + where !string.IsNullOrEmpty(q.Name) where q.Expansion != (EExpansionVersion)255 + where _showUnobtainable || !_questFunctions.IsQuestUnobtainable(q.QuestId) select q).Where(delegate(IQuestInfo q) { - int num = (_showUnobtainable ? 240107821 : 240107820); - while (true) + if (_selectedExpansion >= 0 && (uint)q.Expansion != (byte)_selectedExpansion) { - int num2 = num; - int num3 = 240107821; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0048; - case 1: - return !_questFunctions.IsQuestUnobtainable(q.QuestId); - case 0: - return true; - } - continue; - IL_0048: - num = 240107820; + return false; } - }).Where(delegate(IQuestInfo q) - { - int num = ((_selectedExpansion < 0) ? (-2019604063) : (-2019604057)); - while (true) - { - int num2 = num; - int num3 = -2019604060; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - return true; - case 5: - num = (_200D_206D_200B_200D_206B_206F_202C_206B_202B_200F_206E_202E_206C_206A_206E_202C_202A_200B_206F_202C_202B_202A_206D_202B_200B_206A_200B_206D_200E_202D_206C_202B_200B_200D_202D_202D_202A_206C_206F_200F_202E(_searchText) ? (-2019604062) : (-2019604059)); - break; - case 3: - num = (((uint)q.Expansion == (byte)_selectedExpansion) ? (-2019604063) : (-2019604064)); - break; - case 4: - return false; - case 0: - num = -2019604057; - break; - case 2: - return false; - case 1: - num = (_200B_202A_206B_206D_206F_206B_202A_202A_202D_200F_200C_200B_206A_200F_206F_200C_202B_200D_200E_200D_206E_206B_202E_202E_206F_202A_206F_202E_200D_200B_202A_206A_202A_206A_206C_200E_200C_206A_202A_200E_202E(q.Name, _searchText, StringComparison.OrdinalIgnoreCase) ? (-2019604062) : (-2019604058)); - break; - } - } - }).OrderBy((IQuestInfo q) => q.Name, _206F_202B_200B_200D_206D_202B_206A_200D_206E_202A_206F_202C_200B_206B_206F_200E_200F_206E_200F_202E_206B_206F_202C_206A_202C_202D_206E_206D_206A_206A_206A_206B_206A_202A_202A_200D_202C_200F_202D_200F_202E()) - .ToList(); + return (string.IsNullOrEmpty(_searchText) || q.Name.Contains(_searchText, StringComparison.OrdinalIgnoreCase)) ? true : false; + }).OrderBy((IQuestInfo q) => q.Name, StringComparer.OrdinalIgnoreCase).ToList(); } private QuestStatusEntry GetCachedQuestStatus(ElementId questId) { - long num = _202D_202E_206C_200E_206E_200C_200D_202A_202D_200B_200C_206D_200C_206A_206F_206E_200C_206C_206E_206F_206D_200B_200E_206E_200E_202C_206C_206F_206C_202E_206E_206F_202B_202C_202A_202E_206A_206E_206B_202C_202E(); - long statusCacheRefreshedAt = _statusCacheRefreshedAt; - long num2 = num; - int num3 = ((~(~num2 + statusCacheRefreshedAt) <= 3000) ? 1101058836 : 1101058835); - QuestStatusEntry value = default(QuestStatusEntry); - while (true) + long tickCount = Environment.TickCount64; + if (tickCount - _statusCacheRefreshedAt > 3000) { - int num4 = num3; - int num5 = 1101058839; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) - { - case 2: - { - Vector4 item = _uiUtils.GetQuestStyle(questId).Color; - bool isCompleted = _questFunctions.IsQuestAcceptedOrComplete(questId); - value = new QuestStatusEntry(item, isCompleted); - _questStatusCache[questId] = value; - num3 = 1101058838; - break; - } - case 4: - _questStatusCache.Clear(); - _statusCacheRefreshedAt = num; - num3 = 1101058836; - break; - case 1: - return value; - case 0: - num3 = 1101058835; - break; - case 3: - num3 = (_questStatusCache.TryGetValue(questId, out value) ? 1101058838 : 1101058837); - break; - } + _questStatusCache.Clear(); + _statusCacheRefreshedAt = tickCount; } + if (!_questStatusCache.TryGetValue(questId, out var value)) + { + Vector4 item = _uiUtils.GetQuestStyle(questId).Color; + bool isCompleted = _questFunctions.IsQuestAcceptedOrComplete(questId); + value = new QuestStatusEntry(item, isCompleted); + _questStatusCache[questId] = value; + } + return value; } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void DrawQuestList(float width, float height) { - using ImRaii.ChildDisposable childDisposable = _206C_200E_202A_202A_200F_202C_200E_202E_202C_202D_206A_202C_206E_202A_202B_200D_200C_206E_206D_206D_202D_206E_206E_202D_200D_206E_200F_206C_200D_202A_200B_206B_206E_202B_200D_200B_200C_200F_202A_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(132957274), new Vector2(width, height), true); - int num = ((!(!childDisposable)) ? (-900441304) : (-900441312)); - int num17 = default(int); - float num7 = default(float); - while (true) + using ImRaii.ChildDisposable childDisposable = ImRaii.Child("QuestChainList", new Vector2(width, height), border: true); + if (!childDisposable) { - int num2 = num; - int num3 = -900441311; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + if (_filteredQuests.Count == 0) + { + ImGui.TextColored(in UiThemeUtils.DimTextColor, "No quests match your search."); + return; + } + float textLineHeightWithSpacing = ImGui.GetTextLineHeightWithSpacing(); + if (_scrollToSelectedInList && _selectedQuestId != null) + { + int num = _filteredQuests.FindIndex((IQuestInfo q) => q.QuestId == _selectedQuestId); + if (num >= 0) { - case 4: - num = ((!_206D_206A_206B_202D_200F_202B_202E_202A_206E_202A_206C_206F_202B_202B_202C_206D_202C_200B_200D_200C_206C_206A_202D_206A_206D_206B_200F_202D_202E_206D_206F_206B_202A_202D_202B_200C_206F_200E_202E_206E_202E(_selectedQuestId, (ElementId)null)) ? (-900441311) : (-900441310)); - break; - case 8: - { - float num18 = (float)num17 * num7 - _202D_202E_206A_202B_202E_206C_202C_202C_206F_206F_206E_202C_200B_206D_200B_200C_202C_206F_200D_206B_200B_202A_206B_202C_202B_200B_200E_200F_202E_202C_206C_206E_202B_200D_200B_202A_206F_202B_202B_200C_202E() * 0.5f; - _200B_200E_202A_200C_202C_202C_206A_206F_200C_206A_200C_206F_202D_200B_200E_200D_202C_202E_202B_200D_206F_200B_202D_200F_202E_202E_202B_202E_200B_202C_206B_206C_206D_200F_200C_200D_206B_202E_200C_202E_202E(_206D_200F_206A_200F_206D_202C_202E_202E_206F_206C_200C_206A_202E_202E_206E_202C_206A_202B_206B_206B_206A_206F_202A_202C_202A_200E_202D_200F_206B_200F_202C_206B_206B_206E_206F_200C_202E_202C_206F_202E(0f, num18)); - num = -900441306; - break; + float y = (float)num * textLineHeightWithSpacing - ImGui.GetWindowHeight() * 0.5f; + ImGui.SetScrollY(MathF.Max(0f, y)); } - case 7: - _scrollToSelectedInList = false; - num = -900441311; - break; - case 5: - num = -900441312; - break; - case 9: - num = ((_filteredQuests.Count != 0) ? (-900441305) : (-900441309)); - break; - case 6: - num7 = _206C_206E_200F_206D_206E_202C_206E_206A_202B_202A_206D_202B_200C_206D_200C_200F_200E_202A_200D_206F_200B_200F_200C_206E_202D_202B_202D_206C_202D_200E_206F_206A_202E_206F_202D_202A_200D_200C_206E_206C_202E(); - num = ((!_scrollToSelectedInList) ? (-900441311) : (-900441307)); - break; - case 3: - num17 = _filteredQuests.FindIndex((IQuestInfo q) => _200C_206B_202D_206B_206D_202E_206B_200E_200C_206B_202A_206A_206C_206B_200C_202E_200D_206F_200C_200B_206F_202C_202E_202A_206E_202C_206C_206E_206D_202A_202C_202E_200B_202B_202E_200E_200F_202C_206C_202B_202E(q.QuestId, _selectedQuestId)); - num = ((num17 < 0) ? (-900441306) : (-900441303)); - break; - case 1: - return; - case 2: - _200B_200D_202A_206F_202A_202C_202A_202D_206E_200C_206C_202A_206A_206B_202C_202D_206B_200C_200B_202B_206C_206A_200F_200F_206F_202B_202D_206D_206E_202E_202C_200B_206F_206A_202D_206B_200F_202B_200E_200F_202E(ref UiThemeUtils.DimTextColor, (ImU8String)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(-971186319)); - return; - case 0: + _scrollToSelectedInList = false; + } + ImGuiListClipper* intPtr = ImGuiNative.ImGuiListClipper(); + ImGuiNative.Begin(intPtr, _filteredQuests.Count, textLineHeightWithSpacing); + ImGuiListClipperPtr imGuiListClipperPtr = intPtr; + try + { + while (imGuiListClipperPtr.Step()) { - ImGuiListClipper* intPtr = _200D_206E_200E_200E_206D_200F_206A_202B_202A_200C_200B_206A_206A_202E_202D_206E_206A_200D_206B_200C_206E_200E_200E_206F_202A_200B_200D_202D_200C_206D_206A_206F_200C_206B_200B_206D_202D_202E_200C_206D_202E(); - _202C_200E_202D_206F_200F_200B_202E_206C_202B_206A_206D_200F_200F_202D_200F_200B_202A_206A_200E_200F_202B_200F_206D_206C_206C_206C_206D_206F_202C_206D_200F_200F_202B_202C_206E_206B_200C_200C_206E_200F_202E(intPtr, _filteredQuests.Count, num7); - ImGuiListClipperPtr imGuiListClipperPtr = intPtr; - try + for (int num2 = imGuiListClipperPtr.DisplayStart; num2 < imGuiListClipperPtr.DisplayEnd; num2++) { - while (true) + IQuestInfo questInfo = _filteredQuests[num2]; + UiThemeUtils.DrawAltRowBackground(num2); + bool selected = _selectedQuestId != null && _selectedQuestId == questInfo.QuestId; + QuestStatusEntry cachedQuestStatus = GetCachedQuestStatus(questInfo.QuestId); + using (cachedQuestStatus.IsCompleted ? ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.DimTextColor) : null) { - if (imGuiListClipperPtr.Step()) + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + 14f); + if (ImGui.Selectable(UiThemeUtils.CleanSeString(questInfo.Name), selected, ImGuiSelectableFlags.AllowDoubleClick)) { - for (int num8 = imGuiListClipperPtr.DisplayStart; num8 < imGuiListClipperPtr.DisplayEnd; num8 = (num4 | num3) + (num4 & num3)) + _selectedQuestId = questInfo.QuestId; + if (ImGui.IsMouseDoubleClicked(ImGuiMouseButton.Left)) { - IQuestInfo questInfo = _filteredQuests[num8]; - UiThemeUtils.DrawAltRowBackground(num8); - bool flag = _206D_206A_206B_202D_200F_202B_202E_202A_206E_202A_206C_206F_202B_202B_202C_206D_202C_200B_200D_200C_206C_206A_202D_206A_206D_206B_200F_202D_202E_206D_206F_206B_202A_202D_202B_200C_206F_200E_202E_206E_202E(_selectedQuestId, (ElementId)null) && _200C_206B_202D_206B_206D_202E_206B_200E_200C_206B_202A_206A_206C_206B_200C_202E_200D_206F_200C_200B_206F_202C_202E_202A_206E_202C_206C_206E_206D_202A_202C_202E_200B_202B_202E_200E_200F_202C_206C_202B_202E(_selectedQuestId, questInfo.QuestId); - QuestStatusEntry cachedQuestStatus = GetCachedQuestStatus(questInfo.QuestId); - ImRaii.ColorDisposable colorDisposable = (cachedQuestStatus.IsCompleted ? _206C_200D_200C_200F_200F_206B_202E_202A_206A_200C_202E_202E_200B_202D_200E_206E_200C_200C_206F_200C_200B_200E_202A_206E_206E_206F_200E_206E_200B_200B_200C_202E_202A_200B_202B_206D_206D_206C_200F_202B_202E(ImGuiCol.Text, UiThemeUtils.DimTextColor, true) : null); - try - { - _206E_206E_206B_200B_202C_206D_206F_202B_206C_200E_202E_206F_200D_206E_206F_206B_206A_202E_206A_200D_206F_206C_206F_202B_202D_206B_200E_206D_200F_202A_200C_202B_202C_200B_202E_200C_206F_206B_202E_206D_202E(_206C_206D_206A_206B_202C_202E_206C_206D_202E_202E_206D_200E_200F_206C_202A_206A_206A_202A_206E_206E_206B_200E_206F_202D_202E_200C_206D_202A_206B_206A_202B_206D_202C_200C_206C_206C_202C_206C_206D_206B_202E() + 14f); - num = ((!_202C_200C_200B_206F_202E_206B_202D_206C_206C_200B_202C_202B_200F_206E_200E_206E_200D_206F_206B_202B_206B_200D_200B_206E_200D_206E_202C_206A_202B_206D_206B_200E_200E_206C_206A_202A_206E_202A_200F_200C_202E((ImU8String)UiThemeUtils.CleanSeString(questInfo.Name), flag, ImGuiSelectableFlags.AllowDoubleClick, default(Vector2))) ? (-1989955630) : (-1989955629)); - while (true) - { - int num9 = num; - num3 = -1989955630; - num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 3: - num = -1989955629; - break; - case 2: - _showDetail = true; - num = -1989955630; - break; - case 1: - _selectedQuestId = questInfo.QuestId; - num = ((!_202B_200E_202C_202B_202E_200B_202C_202A_202A_200C_206A_200F_202B_202A_206A_200E_200B_200E_202E_206E_206F_200F_200D_202D_200F_206B_200F_206B_206A_202E_206F_202E_206E_200D_200D_200F_200F_206C_202A_200F_202E(ImGuiMouseButton.Left)) ? (-1989955630) : (-1989955632)); - break; - case 0: - { - ImDrawListPtr imDrawListPtr = _202E_200C_202A_202A_206A_202C_202E_202D_202B_200F_206A_206E_206E_206D_206F_206B_202D_206F_200E_202A_202C_206F_202E_206D_202E_202B_200E_202B_200C_202C_206E_206A_206A_200C_202A_200B_206C_206C_200D_206C_202E(); - Vector2 vector = _200B_202E_206D_200D_206B_202E_206D_202A_206E_206E_206D_206C_206A_200D_202B_202C_202E_200D_206C_202A_200B_202E_206E_200E_200D_206A_206E_200B_206D_206A_202C_206C_206A_200C_202A_200F_200C_206C_206E_202E(); - Vector2 vector2 = _206A_206C_206E_202C_206E_206E_206D_200B_202C_202D_200C_206A_202D_206D_202D_200B_200E_206C_202A_202C_202C_200E_200D_206E_202D_206F_200D_202E_206D_200D_200F_200F_206F_202E_206C_200D_200F_202B_200F_202C_202E(); - float y = (vector.Y + vector2.Y) * 0.5f; - float x = vector.X - 14f + 5f; - imDrawListPtr.AddCircleFilled(new Vector2(x, y), 3f, _206E_202A_202C_206F_200F_206A_200C_206D_202D_200B_206B_206E_206C_200B_206B_200E_200D_200F_206D_200B_200C_200C_206B_206B_200F_206D_206E_206D_206E_202C_202A_206C_206A_200D_202C_206E_200D_202B_200B_202D_202E(cachedQuestStatus.Color), 12); - Questionable.Model.Quest quest = null; - _questRegistry.TryGetQuest(questInfo.QuestId, out quest); - QuestJournalUtils?.ShowContextMenu(questInfo, quest, 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(1930812166)); - goto end_IL_02b4; - } - } - continue; - end_IL_02b4: - break; - } - } - finally - { - num = ((colorDisposable == null) ? 1973818357 : 1973818356); - while (true) - { - int num12 = num; - num3 = 1973818357; - num4 = num12; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1973818356; - break; - case 0: - goto end_IL_03f5; - case 1: - _206D_200D_202B_200E_206D_202B_200D_206F_200F_200B_202C_200D_202E_200F_206F_200D_206F_206E_206A_200E_202C_206A_202E_200F_206F_206E_206E_206D_200E_206B_206A_202D_206C_202B_202A_202A_206A_206F_200F_206D_202E((IDisposable)colorDisposable); - num = 1973818357; - break; - } - continue; - end_IL_03f5: - break; - } - } - int num13 = num8; - num3 = 1; - num4 = num13; + _showDetail = true; } - num = -182849509; - } - else - { - num = -182849512; - } - while (true) - { - int num14 = num; - num3 = -182849510; - num4 = num14; - int num15 = num4 + num3; - int num16 = num4 & num3; - switch (num15 - (num16 + num16)) - { - default: - continue; - case 0: - goto IL_049e; - case 1: - break; - case 2: - return; - } - break; - IL_049e: - num = -182849509; } + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 itemRectMin = ImGui.GetItemRectMin(); + Vector2 itemRectMax = ImGui.GetItemRectMax(); + float y2 = (itemRectMin.Y + itemRectMax.Y) * 0.5f; + float x = itemRectMin.X - 14f + 5f; + windowDrawList.AddCircleFilled(new Vector2(x, y2), 3f, ImGui.ColorConvertFloat4ToU32(cachedQuestStatus.Color), 12); + Questionable.Model.Quest quest = null; + _questRegistry.TryGetQuest(questInfo.QuestId, out quest); + QuestJournalUtils?.ShowContextMenu(questInfo, quest, "QuestChainComponent"); } } - finally - { - imGuiListClipperPtr.Destroy(); - } - } } } + finally + { + imGuiListClipperPtr.Destroy(); + } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawChainPanel(float width, float height) { - using ImRaii.ChildDisposable childDisposable = _206E_206E_206B_200E_200E_202E_200D_202C_200E_206E_202A_200B_200D_206C_206C_206A_200B_200D_206D_202B_202D_200E_200D_202D_202B_206C_206A_200D_206B_206F_202B_206A_200F_200C_202D_206C_202E_200F_200E_206B_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1280606565), new Vector2(width, height), true, ImGuiWindowFlags.NoScrollbar | ImGuiWindowFlags.NoScrollWithMouse); - int num = ((!(!childDisposable)) ? 1382098797 : 1382098798); - QuestId questId = default(QuestId); - QuestChainGraph chainGraph = default(QuestChainGraph); - while (true) + using ImRaii.ChildDisposable childDisposable = ImRaii.Child("QuestChainView", new Vector2(width, height), border: true, ImGuiWindowFlags.NoScrollbar | ImGuiWindowFlags.NoScrollWithMouse); + if (!childDisposable) { - int num2 = num; - int num3 = 1382098793; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - _200B_200D_202A_206F_202A_202C_202A_202D_206E_200C_206C_202A_206A_206B_202C_202D_206B_200C_200B_202B_206C_206A_200F_200F_206F_202B_202D_206D_206E_202E_202C_200B_206F_206A_202D_206B_200F_202B_200E_200F_202E(ref UiThemeUtils.DimTextColor, (ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(464838865)); - return; - case 1: - { - num = (_questData.TryGetQuestInfo(_selectedQuestId, out IQuestInfo _) ? 1382098787 : 1382098791); - break; - } - case 14: - _200B_200D_202A_206F_202A_202C_202A_202D_206E_200C_206C_202A_206A_206B_202C_202D_206B_200C_200B_202B_206C_206A_200F_200F_206F_202B_202D_206D_206E_202E_202C_200B_206F_206A_202D_206B_200F_202B_200E_200F_202E(ref UiThemeUtils.StatusLocked, (ImU8String)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(-839990954)); - return; - case 6: - num = ((!UiThemeUtils.PillButton(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2067117906), selected: false)) ? 1382098789 : 1382098786); - break; - case 5: - questId = _selectedQuestId as QuestId; - num = (((object)questId != null) ? 1382098792 : 1382098784); - break; - case 11: - _scrollToSelected = true; - _graphZoom = 1f; - num = 1382098789; - break; - case 0: - _previousChainQuestId = _selectedQuestId; - _scrollToSelected = true; - num = 1382098785; - break; - case 8: - chainGraph = _questChainBuilder.GetChainGraph(questId); - num = ((chainGraph.LayerOrder.Count != 0) ? 1382098799 : 1382098794); - break; - case 4: - num = ((!_200C_206B_202D_206B_206D_202E_206B_200E_200C_206B_202A_206A_206C_206B_200C_202E_200D_206F_200C_200B_206F_202C_202E_202A_206E_202C_206C_206E_206D_202A_202C_202E_200B_202B_202E_200E_200F_202C_206C_202B_202E(_selectedQuestId, (ElementId)null)) ? 1382098796 : 1382098795); - break; - case 9: - _200B_200D_202A_206F_202A_202C_202A_202D_206E_200C_206C_202A_206A_206B_202C_202D_206B_200C_200B_202B_206C_206A_200F_200F_206F_202B_202D_206D_206E_202E_202C_200B_206F_206A_202D_206B_200F_202B_200E_200F_202E(ref UiThemeUtils.DimTextColor, (ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(746260683)); - return; - case 10: - num = ((!_206D_206A_206B_202D_200F_202B_202E_202A_206E_202A_206C_206F_202B_202B_202C_206D_202C_200B_200D_200C_206C_206A_202D_206A_206D_206B_200F_202D_202E_206D_206F_206B_202A_202D_202B_200C_206F_200E_202E_206E_202E(_previousChainQuestId, _selectedQuestId)) ? 1382098785 : 1382098793); - break; - case 3: - _200B_200D_202A_206F_202A_202C_202A_202D_206E_200C_206C_202A_206A_206B_202C_202D_206B_200C_200B_202B_206C_206A_200F_200F_206F_202B_202D_206D_206E_202E_202C_200B_206F_206A_202D_206B_200F_202B_200E_200F_202E(ref UiThemeUtils.DimTextColor, (ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1321007045)); - return; - case 13: - num = 1382098798; - break; - case 7: - return; - case 12: - { - _206F_202C_206E_206C_200D_202B_200C_206D_200E_202A_206F_206C_200B_206A_200D_206A_200D_200C_200D_206A_202D_202B_200C_202A_200C_206F_202A_200B_206B_202B_202B_200C_202A_200E_200E_202C_206A_200B_202B_206B_202E(); - ImU8String imU8String = new ImU8String(1, 1); - imU8String.AppendFormatted((int)(_graphZoom * 100f)); - imU8String.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(944653740)); - _200B_200D_202A_206F_202A_202C_202A_202D_206E_200C_206C_202A_206A_206B_202C_202D_206B_200C_200B_202B_206C_206A_200F_200F_206F_202B_202D_206D_206E_202E_202C_200B_206F_206A_202D_206B_200F_202B_200E_200F_202E(ref UiThemeUtils.MutedTextColor, imU8String); - DrawChainGraph(chainGraph, width); - return; - } - } + return; } + if (_selectedQuestId == null) + { + ImGui.TextColored(in UiThemeUtils.DimTextColor, "Select a quest to view its chain"); + return; + } + if (!(_selectedQuestId is QuestId questId)) + { + ImGui.TextColored(in UiThemeUtils.DimTextColor, "Chain view is only available for quests."); + return; + } + if (!_questData.TryGetQuestInfo(_selectedQuestId, out IQuestInfo _)) + { + ImGui.TextColored(in UiThemeUtils.StatusLocked, "Quest info not found."); + return; + } + if (_previousChainQuestId != _selectedQuestId) + { + _previousChainQuestId = _selectedQuestId; + _scrollToSelected = true; + } + QuestChainGraph chainGraph = _questChainBuilder.GetChainGraph(questId); + if (chainGraph.LayerOrder.Count == 0) + { + ImGui.TextColored(in UiThemeUtils.DimTextColor, "No chain data available."); + return; + } + if (UiThemeUtils.PillButton("Reset View", selected: false)) + { + _scrollToSelected = true; + _graphZoom = 1f; + } + ImGui.SameLine(); + ImU8String text = new ImU8String(1, 1); + text.AppendFormatted((int)(_graphZoom * 100f)); + text.AppendLiteral("%"); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, text); + DrawChainGraph(chainGraph, width); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawDetailPanel(float width, float height) { - //Discarded unreachable code: IL_05a6 - using ImRaii.ChildDisposable childDisposable = _206C_200E_202A_202A_200F_202C_200E_202E_202C_202D_206A_202C_206E_202A_202B_200D_200C_206E_206D_206D_202D_206E_206E_202D_200D_206E_200F_206C_200D_202A_200B_206B_206E_202B_200D_200B_200C_200F_202A_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1449880132), new Vector2(width, height), true); - int num = ((!(!childDisposable)) ? (-574358889) : (-574358896)); - IQuestInfo questInfo = default(IQuestInfo); - QuestId questId = default(QuestId); - List list = default(List); - QuestSequence questSequence = default(QuestSequence); - ushort num8 = default(ushort); - Vector3? vector2 = default(Vector3?); - ushort expFactor = default(ushort); - uint gilReward = default(uint); - Questionable.Model.Quest quest = default(Questionable.Model.Quest); - Vector3 vector = default(Vector3); - long num15 = default(long); - Map? valueNullable = default(Map?); - TerritoryType? rowOrDefault2 = default(TerritoryType?); - QuestJournalUtils questJournalUtils = default(QuestJournalUtils); - while (true) + using ImRaii.ChildDisposable childDisposable = ImRaii.Child("QuestDetailPanel", new Vector2(width, height), border: true); + if (!childDisposable) { - int num2 = num; - int num3 = -574358894; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + if (!(_selectedQuestId is QuestId questId) || !_questData.TryGetQuestInfo(_selectedQuestId, out IQuestInfo questInfo)) + { + _showDetail = false; + return; + } + if (UiThemeUtils.PillButton("← Back to list", selected: false)) + { + _showDetail = false; + _scrollToSelectedInList = true; + return; + } + ImGui.Separator(); + UiThemeUtils.WrappedTextColored(UiThemeUtils.AccentColor, UiThemeUtils.CleanSeString(questInfo.Name)); + ImGui.PushTextWrapPos(ImGui.GetCursorPosX() + ImGui.GetContentRegionAvail().X); + try + { + Lumina.Excel.Sheets.Quest? rowOrDefault = _dataManager.GetExcelSheet().GetRowOrDefault((uint)(questId.Value + 65536)); + ImU8String text = new ImU8String(7, 1); + text.AppendLiteral("Level: "); + text.AppendFormatted(questInfo.Level); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text); + if (rowOrDefault.HasValue && rowOrDefault.Value.Icon != 0) + { + DrawQuestBanner(rowOrDefault.Value.Icon); + } + if (rowOrDefault.HasValue) + { + ushort expFactor = rowOrDefault.Value.ExpFactor; + uint gilReward = rowOrDefault.Value.GilReward; + if (expFactor > 0) + { + ImU8String text2 = new ImU8String(5, 1); + text2.AppendLiteral("Exp: "); + text2.AppendFormatted(expFactor, "N0"); + ImGui.TextUnformatted(text2); + } + if (gilReward != 0) + { + if (expFactor > 0) + { + ImGui.SameLine(0f, 20f); + } + ImU8String text3 = new ImU8String(5, 1); + text3.AppendLiteral("Gil: "); + text3.AppendFormatted(gilReward, "N0"); + ImGui.TextUnformatted(text3); + } + DrawRewards(rowOrDefault.Value); + } + DrawQuestDescription(questId, rowOrDefault); + DrawNpcLine(rowOrDefault, questInfo); + ImU8String text4 = new ImU8String(4, 1); + text4.AppendLiteral("ID: "); + text4.AppendFormatted(questId.Value); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, text4); + ImGui.Spacing(); + ushort num = 0; + Vector3 vector = Vector3.Zero; + if (_questRegistry.TryGetQuest(questId, out Questionable.Model.Quest quest)) + { + QuestSequence questSequence = quest.FindSequence(0); + if (questSequence != null) + { + List steps = questSequence.Steps; + if (steps != null && steps.Count > 0) + { + num = questSequence.Steps[0].TerritoryId; + Vector3? position = questSequence.Steps[0].Position; + if (position.HasValue) + { + Vector3 valueOrDefault = position.GetValueOrDefault(); + vector = valueOrDefault; + } + } + } + } + if (num == 0 && rowOrDefault.HasValue) { - case 6: - num = (_questData.TryGetQuestInfo(_selectedQuestId, out questInfo) ? (-574358890) : (-574358891)); - break; - case 7: - _showDetail = false; - return; - case 5: - questId = _selectedQuestId as QuestId; - num = (((object)questId == null) ? (-574358891) : (-574358892)); - break; - case 0: - _showDetail = false; - _scrollToSelectedInList = true; - return; - case 2: - return; - case 3: - num = -574358896; - break; - case 4: - num = ((!UiThemeUtils.PillButton(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(1648941856), selected: false)) ? (-574358893) : (-574358894)); - break; - case 1: - _200C_202E_202B_202A_200D_202C_202D_200D_202C_200D_206F_200F_200B_200C_206E_200C_206A_200F_206A_200D_206A_200F_200E_200B_200B_202B_200F_206C_206C_202A_200F_202C_206E_200B_202A_202B_206F_202B_202B_202B_202E(); - UiThemeUtils.WrappedTextColored(UiThemeUtils.AccentColor, UiThemeUtils.CleanSeString(questInfo.Name)); - _206B_206B_202D_200E_206E_200C_202E_200F_202A_200E_206E_206A_206B_200F_200F_202B_200C_206F_202E_206D_200C_206F_200C_202D_206A_202C_206E_206F_200C_200E_202D_206D_206F_202A_200F_206A_206B_206E_206B_202A_202E(_206C_206D_206A_206B_202C_202E_206C_206D_202E_202E_206D_200E_200F_206C_202A_206A_206A_202A_206E_206E_206B_200E_206F_202D_202E_200C_206D_202A_206B_206A_202B_206D_202C_200C_206C_206C_202C_206C_206D_206B_202E() + _206F_200B_200E_206C_200E_200B_206B_206E_200E_206C_206E_206E_202B_202A_206B_202C_200C_202A_206B_202D_206C_202D_202D_200F_206B_200E_200B_206B_202A_206A_206D_200F_206D_206E_202B_200B_200C_206D_200C_202A_202E().X); try { - Lumina.Excel.Sheets.Quest? rowOrDefault = _dataManager.GetExcelSheet().GetRowOrDefault((uint)(_200B_200B_202E_206B_200E_206C_206A_206E_202C_200B_200E_202B_206D_206B_202B_202A_202D_202A_200D_200C_206F_200B_206F_206A_206A_200F_200F_202E_202B_200C_206D_202A_206B_202B_206B_202A_202C_206E_206F_202E_202E((ElementId)questId) + 65536)); - ImU8String imU8String = new ImU8String(7, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-636593405)); - imU8String.AppendFormatted(questInfo.Level); - _200B_200D_202A_206F_202A_202C_202A_202D_206E_200C_206C_202A_206A_206B_202C_202D_206B_200C_200B_202B_206C_206A_200F_200F_206F_202B_202D_206D_206E_202E_202C_200B_206F_206A_202D_206B_200F_202B_200E_200F_202E(ref UiThemeUtils.DimTextColor, imU8String); - num = ((!rowOrDefault.HasValue) ? 1733997033 : 1733997037); - while (true) + Level? valueNullable = rowOrDefault.Value.IssuerLocation.ValueNullable; + if (valueNullable.HasValue) { - int num7 = num; - num3 = 1733997024; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 11: - list = _202D_200C_206D_202C_202E_206C_202E_206B_206C_206F_206D_202A_206E_202D_200F_202B_206D_202D_200B_206F_202C_202D_200C_200B_200D_200B_200E_206E_200C_200C_206A_202C_200E_202E_202C_202E_200F_206D_206B_206E_202E(questSequence); - num = ((list == null) ? 1733997031 : 1733997030); - continue; - case 6: - num = ((list.Count <= 0) ? 1733997031 : 1733997025); - continue; - case 1: - num8 = _206E_200F_200C_206E_202B_206C_202A_202E_202B_202E_200B_202B_206F_200E_200F_206B_206D_200C_202D_202D_206C_206C_200F_200C_206E_200C_202E_206F_200B_202B_206F_202C_206D_200E_200B_206C_200C_200F_200C_200F_202E(_202D_200C_206D_202C_202E_206C_202E_206B_206C_206F_206D_202A_206E_202D_200F_202B_206D_202D_200B_206F_202C_202D_200C_200B_200D_200B_200E_206E_200C_200C_206A_202C_200E_202E_202C_202E_200F_206D_206B_206E_202E(questSequence)[0]); - vector2 = _200B_200E_206B_206E_202B_200E_206E_206A_202E_206C_202A_206B_202A_200C_202A_202A_200B_200D_200F_202A_200D_200F_202D_202B_200E_200E_202C_206B_200E_206E_200D_202E_206F_206D_200B_202D_206B_206F_206B_202E(_202D_200C_206D_202C_202E_206C_202E_206B_206C_206F_206D_202A_206E_202D_200F_202B_206D_202D_200B_206F_202C_202D_200C_200B_200D_200B_200E_206E_200C_200C_206A_202C_200E_202E_202C_202E_200F_206D_206B_206E_202E(questSequence)[0]); - num = ((!vector2.HasValue) ? 1733997031 : 1733997041); - continue; - case 10: - if (!rowOrDefault.HasValue) - { - break; - } - goto case 2; - case 2: - { - ImU8String imU8String4 = new ImU8String(5, 1); - imU8String4.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1657037393)); - imU8String4.AppendFormatted(expFactor, 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(-1510396995)); - _202D_200C_202D_202A_202E_206D_206C_202B_206D_200C_206A_200F_202B_202B_202E_202C_200C_206D_206D_200D_200D_206D_206E_206E_206C_200C_206F_206B_200E_206B_202B_200E_202C_206E_200B_202C_202E_202D_200F_206A_202E(imU8String4); - num = 1733997024; - continue; - } - case 18: - _206E_202A_202B_206F_206B_206F_200E_206C_200F_206F_206D_206A_200D_200F_206C_206D_200B_206B_202A_202E_206F_202E_206C_200E_206D_206D_206B_206B_206C_200F_202B_202E_202B_200F_202A_200B_202C_206F_200F_202D_202E(0f, 20f); - num = 1733997028; - continue; - case 8: - DrawRewards(rowOrDefault.Value); - num = 1733997039; - continue; - case 9: - num = ((!rowOrDefault.HasValue) ? 1733997039 : 1733997036); - continue; - case 5: - num = ((expFactor <= 0) ? 1733997028 : 1733997042); - continue; - case 12: - expFactor = rowOrDefault.Value.ExpFactor; - gilReward = rowOrDefault.Value.GilReward; - num = ((expFactor <= 0) ? 1733997024 : 1733997026); - continue; - case 16: - num = 1733997037; - continue; - case 14: - questSequence = quest.FindSequence(0); - num = ((questSequence == null) ? 1733997031 : 1733997035); - continue; - case 3: - DrawQuestBanner(rowOrDefault.Value.Icon); - num = 1733997033; - continue; - case 7: - if (num8 == 0) - { - num = 1733997034; - continue; - } - break; - case 17: - { - Vector3 valueOrDefault = vector2.GetValueOrDefault(); - vector = valueOrDefault; - num = 1733997031; - continue; - } - case 13: - num = ((rowOrDefault.Value.Icon == 0) ? 1733997033 : 1733997027); - continue; - case 15: - { - DrawQuestDescription(questId, rowOrDefault); - DrawNpcLine(rowOrDefault, questInfo); - ImU8String imU8String3 = new ImU8String(4, 1); - imU8String3.AppendLiteral(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(-771359438)); - imU8String3.AppendFormatted(_200B_200B_202E_206B_200E_206C_206A_206E_202C_200B_200E_202B_206D_206B_202B_202A_202D_202A_200D_200C_206F_200B_206F_206A_206A_200F_200F_202E_202B_200C_206D_202A_206B_202B_206B_202A_202C_206E_206F_202E_202E((ElementId)questId)); - _200B_200D_202A_206F_202A_202C_202A_202D_206E_200C_206C_202A_206A_206B_202C_202D_206B_200C_200B_202B_206C_206A_200F_200F_206F_202B_202D_206D_206E_202E_202C_200B_206F_206A_202D_206B_200F_202B_200E_200F_202E(ref UiThemeUtils.MutedTextColor, imU8String3); - _202C_206C_206F_206F_200E_206B_202B_202D_206D_206D_200C_200E_200F_206C_202B_202C_200E_206B_202B_206E_206A_202B_202B_206D_202E_206B_206A_206B_200F_202D_206F_200B_206B_202C_200D_202D_202C_202E_202C_206F_202E(); - num8 = 0; - vector = Vector3.Zero; - num = ((!_questRegistry.TryGetQuest(questId, out quest)) ? 1733997031 : 1733997038); - continue; - } - case 0: - num = ((gilReward == 0) ? 1733997032 : 1733997029); - continue; - case 4: - { - ImU8String imU8String2 = new ImU8String(5, 1); - imU8String2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1648195666)); - imU8String2.AppendFormatted(gilReward, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-904554737)); - _202D_200C_202D_202A_202E_206D_206C_202B_206D_200C_206A_200F_202B_202B_202E_202C_200C_206D_206D_200D_200D_206D_206E_206E_206C_200C_206F_206B_200E_206B_202B_200E_202C_206E_200B_202C_202E_202D_200F_206A_202E(imU8String2); - num = 1733997032; - continue; - } - } - break; - } - num = ((num8 == 0) ? 1094075995 : 1094075987); - while (true) - { - int num9 = num; - num3 = 1094075993; - num4 = num9; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num15 = _202D_202E_206C_200E_206E_200C_200D_202A_202D_200B_200C_206D_200C_206A_206F_206E_200C_206C_206E_206F_206D_200B_200E_206E_200E_202C_206C_206F_206C_202E_206E_206F_202B_202C_202A_202E_206A_206E_206B_202C_202E(); - num = ((!_200C_202A_206F_200B_206E_206F_206F_206D_206E_206A_200E_206E_206E_202E_202D_202A_206A_202C_202C_206C_206C_200C_202E_200E_200D_206C_200C_202A_206B_200E_206D_206F_206F_202B_206C_206B_202E_200F_202E_200D_202E((ElementId)questId, _addableCachedForQuestId)) ? 1094075984 : 1094075986); - break; - case 7: - valueNullable = rowOrDefault2.Value.Map.ValueNullable; - num = ((!valueNullable.HasValue) ? 1094075995 : 1094075992); - break; - case 8: - questJournalUtils = QuestJournalUtils; - if (questJournalUtils != null) - { - num = 1094075994; - break; - } - goto end_IL_06a8; - case 10: - num = ((!(vector != Vector3.Zero)) ? 1094075995 : 1094075997); - break; - case 4: - num = ((!UiThemeUtils.PillButton(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(-118662433), selected: false)) ? 1094075995 : 1094075996); - break; - case 6: - num = 1094075987; - break; - case 2: - num = ((num8 == 0) ? 1094075985 : 1094075993); - break; - case 5: - rowOrDefault2 = _dataManager.GetExcelSheet().GetRowOrDefault(num8); - num = ((!rowOrDefault2.HasValue) ? 1094075995 : 1094075998); - break; - case 11: - { - long num16 = num15; - long addableRefreshedAt = _addableRefreshedAt; - long num17 = num16; - num = ((~(~num17 + addableRefreshedAt) <= 3000) ? 1094075988 : 1094075984); - break; - } - case 0: - num = ((!UiThemeUtils.PillButton(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(590108268), selected: false)) ? 1094075985 : 1094075989); - break; - case 1: - { - Vector2 vector3 = _202B_200B_206A_200C_206A_200B_206D_202B_202E_206E_202C_202B_200E_206D_200B_200B_202A_206F_202B_206A_202B_200B_200D_202A_206E_206E_200F_200C_202E_200D_200C_206C_206C_206A_200C_202D_206D_200E_206D_206B_202E(new Vector2(vector.X, vector.Z), valueNullable.Value); - MapLinkPayload mapLinkPayload = _206C_200D_206F_206E_206A_200B_202C_206D_206B_206A_206B_206C_202A_206C_206F_206F_202C_206A_206D_206B_200B_200B_202E_202C_200C_200B_200B_202D_206E_202B_200E_206A_200B_202C_200D_200E_202A_206F_206D_206A_202E((uint)num8, valueNullable.Value.RowId, vector3.X, vector3.Y, 0.05f); - _200F_206D_202D_200E_200C_202E_206E_206C_206B_206A_202C_206E_200E_206D_200D_206F_202B_200F_206B_206C_206A_206E_206E_202B_200F_200B_200C_200F_206A_202A_200C_200F_206E_202C_206C_202A_202D_202A_202B_206B_202E(_gameGui, mapLinkPayload); - num = 1094075995; - break; - } - case 12: - { - _questMapComponent.SelectQuest(questId, num8); - Action? selectTabAction = SelectTabAction; - if (selectTabAction == null) - { - goto case 8; - } - selectTabAction(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(-308157881)); - num = 1094075985; - break; - } - case 9: - _addableQuestIds.Clear(); - _addableQuestIds.AddRange(questJournalUtils.GetIncompletePrerequisiteQuests(questInfo)); - _addableCachedForQuestId = questId; - _addableRefreshedAt = num15; - num = 1094075988; - break; - case 13: - { - int count = _addableQuestIds.Count; - ImRaii.DisabledDisposable disabledDisposable = _202B_202E_206D_202D_202C_200F_206D_202C_202B_206E_206E_200D_206A_206A_200F_200D_202A_202B_202D_206D_202B_202D_202C_200E_206B_200F_202E_206E_202C_206F_200F_206E_206B_202B_206D_206F_200D_200F_206D_202E(count == 0); - try - { - num = ((!UiThemeUtils.PillButton(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(1162255279), selected: false)) ? 558090735 : 558090732); - while (true) - { - int num10 = num; - num3 = 558090734; - num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 558090732; - break; - case 2: - questJournalUtils.AddRequiredQuestsToPriority(questInfo, _addableQuestIds); - _addableCachedForQuestId = null; - num = 558090735; - break; - case 1: - goto end_IL_09d2; - } - continue; - end_IL_09d2: - break; - } - } - finally - { - num = ((disabledDisposable == null) ? (-299246376) : (-299246375)); - while (true) - { - int num11 = num; - num3 = -299246376; - num4 = num11; - int num12 = num4 + num3; - int num13 = num4 & num3; - switch (num12 - (num13 + num13)) - { - case 0: - goto end_IL_0a4f; - case 1: - _206D_200D_202B_200E_206D_202B_200D_206F_200F_200B_202C_200D_202E_200F_206F_200D_206F_206E_206A_200E_202C_206A_202E_200F_206F_206E_206E_206D_200E_206B_206A_202D_206C_202B_202A_202A_206A_206F_200F_206D_202E((IDisposable)disabledDisposable); - num = -299246376; - break; - case 2: - num = -299246375; - break; - } - continue; - end_IL_0a4f: - break; - } - } - num = ((!_206F_206A_206B_202C_202C_206E_200E_202D_202E_202B_206B_202D_200C_206A_200C_200C_202C_200B_200F_202D_200E_200D_202D_200F_200C_200F_200E_206B_206B_200E_206C_206E_206D_206C_202B_200B_206D_202D_202C_202A_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? (-112163756) : (-112163753)); - while (true) - { - int num14 = num; - num3 = -112163758; - num4 = num14; - string text; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = ((count == 1) ? (-112163760) : (-112163754)); - break; - case 4: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(70, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(-381217154)); - num3 = 1; - num4 = count; - defaultInterpolatedStringHandler.AppendFormatted(~(~num4 + num3)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-206759940)); - num3 = 1; - num4 = count; - defaultInterpolatedStringHandler.AppendFormatted((~(~num4 + num3) == 1) ? global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(576325633) : global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(233880951)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1161964285)); - text = defaultInterpolatedStringHandler.ToStringAndClear(); - goto IL_0bf4; - } - case 3: - num = -112163753; - break; - case 1: - _200B_200B_200E_200C_206C_202C_206E_200D_206C_206E_200C_202C_200F_200C_200B_206C_206A_206D_200D_202C_200E_206B_202D_206D_206A_202E_206D_206C_200D_200F_206A_202B_206E_202A_206A_206F_206B_200E_200C_206B_202E((ImU8String)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(-374768550)); - num = -112163756; - break; - case 2: - text = 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(-1659838992); - goto IL_0bf4; - case 5: - num = ((count != 0) ? (-112163758) : (-112163757)); - break; - case 6: - goto end_IL_0ac4; - IL_0bf4: - _200B_200B_200E_200C_206C_202C_206E_200D_206C_206E_200C_202C_200F_200C_200B_206C_206A_206D_200D_202C_200E_206B_202D_206D_206A_202E_206D_206C_200D_200F_206A_202B_206E_202A_206A_206F_206B_200E_200C_206B_202E((ImU8String)text); - num = -112163756; - break; - } - continue; - end_IL_0ac4: - break; - } - goto end_IL_06a8; - } - } - continue; - end_IL_06a8: - break; + num = (ushort)valueNullable.Value.Territory.RowId; + vector = new Vector3(valueNullable.Value.X, valueNullable.Value.Y, valueNullable.Value.Z); } } catch { } - _206B_200B_200B_202E_200B_202A_202E_206F_200C_206B_206A_200D_202E_206C_206C_200E_200F_202C_206C_202C_206C_200C_202C_200F_200C_202C_202E_202E_200D_206D_206B_202D_202E_206B_200F_206B_200D_206F_206D_202D_202E(); - return; } + if (num != 0 && vector != Vector3.Zero && UiThemeUtils.PillButton("Open on Map", selected: false)) + { + TerritoryType? rowOrDefault2 = _dataManager.GetExcelSheet().GetRowOrDefault(num); + if (rowOrDefault2.HasValue) + { + Map? valueNullable2 = rowOrDefault2.Value.Map.ValueNullable; + if (valueNullable2.HasValue) + { + Vector2 vector2 = MapUtil.WorldToMap(new Vector2(vector.X, vector.Z), valueNullable2.Value); + MapLinkPayload mapLink = new MapLinkPayload(num, valueNullable2.Value.RowId, vector2.X, vector2.Y); + _gameGui.OpenMapWithMapLink(mapLink); + } + } + } + if (num != 0 && UiThemeUtils.PillButton("Show in Quest Map", selected: false)) + { + _questMapComponent.SelectQuest(questId, num); + SelectTabAction?.Invoke("Quest Map"); + } + QuestJournalUtils questJournalUtils = QuestJournalUtils; + if (questJournalUtils != null) + { + long tickCount = Environment.TickCount64; + if (!questId.Equals(_addableCachedForQuestId) || tickCount - _addableRefreshedAt > 3000) + { + _addableQuestIds.Clear(); + _addableQuestIds.AddRange(questJournalUtils.GetIncompletePrerequisiteQuests(questInfo)); + _addableCachedForQuestId = questId; + _addableRefreshedAt = tickCount; + } + int count = _addableQuestIds.Count; + using (ImRaii.Disabled(count == 0)) + { + if (UiThemeUtils.PillButton("Add to Priority", selected: false)) + { + questJournalUtils.AddRequiredQuestsToPriority(questInfo, _addableQuestIds); + _addableCachedForQuestId = null; + } + } + if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) + { + object obj2; + switch (count) + { + case 0: + ImGui.SetTooltip("No quests to add (quest may be complete, disabled, locked with no unlock path, or already in priority)"); + goto end_IL_00a4; + default: + obj2 = $"Add this quest and {count - 1} required {((count - 1 == 1) ? "quest" : "quests")} to the priority list in completion order"; + break; + case 1: + obj2 = "Add this quest to the priority list"; + break; + } + ImGui.SetTooltip((string?)obj2); + } + } + end_IL_00a4:; } + catch + { + } + ImGui.PopTextWrapPos(); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawQuestDescription(QuestId questId, Lumina.Excel.Sheets.Quest? questEx) { - int num = ((!_200C_202A_206F_200B_206E_206F_206F_206D_206E_206A_200E_206E_206E_202E_202D_202A_206A_202C_202C_206C_206C_200C_202E_200E_200D_206C_200C_202A_206B_200E_206D_206F_206F_202B_206C_206B_202E_200F_202E_200D_202E((ElementId)questId, (ElementId)_cachedDescriptionQuestId)) ? (-1809658304) : (-1809658298)); - string text = default(string); - string text4 = default(string); - string text5 = default(string); - QuestDialogueText current = default(QuestDialogueText); - string text6 = default(string); - QuestDialogueText current2 = default(QuestDialogueText); - string text7 = default(string); - while (true) + if (questId.Equals(_cachedDescriptionQuestId)) { - int num2 = num; - int num3 = -1809658300; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (!string.IsNullOrWhiteSpace(_cachedDescription)) + { + ImGui.Spacing(); + ImGui.TextColored(in UiThemeUtils.DimTextColor, _cachedDescription); + } + return; + } + _cachedDescriptionQuestId = questId; + _cachedDescription = null; + try + { + if (!questEx.HasValue) { - case 1: - _202C_206C_206F_206F_200E_206B_202B_202D_206D_206D_200C_200E_200F_206C_202B_202C_200E_206B_202B_206E_206A_202B_202B_206D_202E_206B_206A_206B_200F_202D_206F_200B_206B_202C_200D_202D_202C_202E_202C_206F_202E(); - _200B_200D_202A_206F_202A_202C_202A_202D_206E_200C_206C_202A_206A_206B_202C_202D_206B_200C_200B_202B_206C_206A_200F_200F_206F_202B_202D_206D_206E_202E_202C_200B_206F_206A_202D_206B_200F_202B_200E_200F_202E(ref UiThemeUtils.DimTextColor, (ImU8String)_cachedDescription); - num = -1809658300; - break; - case 2: - num = (_200E_200C_200D_202E_200B_202B_200C_200C_206A_206F_206F_202D_206A_200D_206A_200E_202C_200E_200C_202D_200F_202C_200D_200F_200C_206E_202E_202D_202D_200F_200F_202B_202A_206C_200E_206B_202B_206E_200B_206A_202E(_cachedDescription) ? (-1809658300) : (-1809658299)); - break; - case 0: return; - case 3: - num = -1809658298; - break; - case 4: - _cachedDescriptionQuestId = questId; - _cachedDescription = null; - try + } + string value = questEx.Value.Id.ExtractText(); + if (string.IsNullOrEmpty(value)) + { + return; + } + string text = $"quest/{questId.Value / 100:000}/{value}"; + IDataManager dataManager = _dataManager; + string name = text; + ExcelSheet excelSheet = dataManager.GetExcelSheet(null, name); + string text2 = null; + foreach (QuestDialogueText item in excelSheet) + { + string text3 = item.Key.ExtractText(); + if (text3.Contains("SEQ_00", StringComparison.Ordinal) && text3.Contains("BODY", StringComparison.Ordinal)) { - num = (questEx.HasValue ? 1925656317 : 1925656318); - while (true) + string text4 = item.Value.ExtractText(); + if (!string.IsNullOrWhiteSpace(text4)) { - int num7 = num; - num3 = 1925656319; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) + text2 = text4; + break; + } + } + } + if (text2 == null) + { + foreach (QuestDialogueText item2 in excelSheet) + { + string text5 = item2.Key.ExtractText(); + if (text5.Contains("TODO_01", StringComparison.Ordinal) || text5.Contains("OBJECTIVE", StringComparison.Ordinal)) + { + string text6 = item2.Value.ExtractText(); + if (!string.IsNullOrWhiteSpace(text6)) { - case 3: - num = 1925656318; + text2 = text6; break; - case 2: - text = questEx.Value.Id.ExtractText(); - num = ((!_200D_206D_200B_200D_206B_206F_202C_206B_202B_200F_206E_202E_206C_206A_206E_202C_202A_200B_206F_202C_202B_202A_206D_202B_200B_206A_200B_206D_200E_202D_206C_202B_200B_200D_202D_202D_202A_206C_206F_200F_202E(text)) ? 1925656319 : 1925656315); - break; - case 4: - return; - case 1: - return; - case 0: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(7, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-562974435)); - defaultInterpolatedStringHandler.AppendFormatted(_200B_200B_202E_206B_200E_206C_206A_206E_202C_200B_200E_202B_206D_206B_202B_202A_202D_202A_200D_200C_206F_200B_206F_206A_206A_200F_200F_202E_202B_200C_206D_202A_206B_202B_206B_202A_202C_206E_206F_202E_202E((ElementId)questId) / 100, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1224969122)); - defaultInterpolatedStringHandler.AppendLiteral(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(-1392036559)); - defaultInterpolatedStringHandler.AppendFormatted(text); - string text2 = defaultInterpolatedStringHandler.ToStringAndClear(); - IDataManager dataManager = _dataManager; - string name = text2; - ExcelSheet excelSheet = dataManager.GetExcelSheet(null, name); - string text3 = null; - using (ExcelSheet.Enumerator enumerator = excelSheet.GetEnumerator()) - { - num = 533685612; - while (true) - { - int num8 = num; - num3 = 533685610; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = ((!_200B_202A_206B_206D_206F_206B_202A_202A_202D_200F_200C_200B_206A_200F_206F_200C_202B_200D_200E_200D_206E_206B_202E_202E_206F_202A_206F_202E_200D_200B_202A_206A_202A_206A_206C_200E_200C_206A_202A_200E_202E(text4, 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(1709442303), StringComparison.Ordinal)) ? 533685612 : 533685615); - break; - case 6: - num = (enumerator.MoveNext() ? 533685608 : 533685611); - break; - case 3: - text3 = text5; - num = 533685611; - break; - case 5: - text5 = current.Value.ExtractText(); - num = (_200E_200C_200D_202E_200B_202B_200C_200C_206A_206F_206F_202D_206A_200D_206A_200E_202C_200E_200C_202D_200F_202C_200D_200F_200C_206E_202E_202D_202D_200F_200F_202B_202A_206C_200E_206B_202B_206E_200B_206A_202E(text5) ? 533685612 : 533685609); - break; - case 0: - num = 533685612; - break; - case 2: - current = enumerator.Current; - text4 = current.Key.ExtractText(); - num = ((!_200B_202A_206B_206D_206F_206B_202A_202A_202D_200F_200C_200B_206A_200F_206F_200C_202B_200D_200E_200D_206E_206B_202E_202E_206F_202A_206F_202E_200D_200B_202A_206A_202A_206A_206C_200E_200C_206A_202A_200E_202E(text4, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1297119939), StringComparison.Ordinal)) ? 533685612 : 533685614); - break; - case 1: - goto end_IL_0211; - } - continue; - end_IL_0211: - break; - } - } - if (text3 == null) - { - using ExcelSheet.Enumerator enumerator = excelSheet.GetEnumerator(); - num = 1693390878; - while (true) - { - int num9 = num; - num3 = 1693390876; - num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 4: - text3 = text6; - num = 1693390879; - break; - case 1: - current2 = enumerator.Current; - text7 = current2.Key.ExtractText(); - num = (_200B_202A_206B_206D_206F_206B_202A_202A_202D_200F_200C_200B_206A_200F_206F_200C_202B_200D_200E_200D_206E_206B_202E_202E_206F_202A_206F_202E_200D_200B_202A_206A_202A_206A_206C_200E_200C_206A_202A_200E_202E(text7, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(160420819), StringComparison.Ordinal) ? 1693390874 : 1693390873); - break; - case 6: - text6 = current2.Value.ExtractText(); - num = (_200E_200C_200D_202E_200B_202B_200C_200C_206A_206F_206F_202D_206A_200D_206A_200E_202C_200E_200C_202D_200F_202C_200D_200F_200C_206E_202E_202D_202D_200F_200F_202B_202A_206C_200E_206B_202B_206E_200B_206A_202E(text6) ? 1693390878 : 1693390872); - break; - case 5: - num = ((!_200B_202A_206B_206D_206F_206B_202A_202A_202D_200F_200C_200B_206A_200F_206F_200C_202B_200D_200E_200D_206E_206B_202E_202E_206F_202A_206F_202E_200D_200B_202A_206A_202A_206A_206C_200E_200C_206A_202A_200E_202E(text7, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(584658763), StringComparison.Ordinal)) ? 1693390878 : 1693390874); - break; - case 2: - num = (enumerator.MoveNext() ? 1693390877 : 1693390879); - break; - case 0: - num = 1693390878; - break; - case 3: - goto end_IL_0368; - } - continue; - end_IL_0368: - break; - } - } - num = (_200E_200C_200D_202E_200B_202B_200C_200C_206A_206F_206F_202D_206A_200D_206A_200E_202C_200E_200C_202D_200F_202C_200D_200F_200C_206E_202E_202D_202D_200F_200F_202B_202A_206C_200E_206B_202B_206E_200B_206A_202E(text3) ? (-1018691369) : (-1018691370)); - while (true) - { - int num12 = num; - num3 = -1018691369; - num4 = num12; - int num13 = num4 + num3; - int num14 = num4 & num3; - switch (num13 - (num14 + num14)) - { - case 2: - num = -1018691370; - break; - case 1: - _cachedDescription = text3; - _202C_206C_206F_206F_200E_206B_202B_202D_206D_206D_200C_200E_200F_206C_202B_202C_200E_206B_202B_206E_206A_202B_202B_206D_202E_206B_206A_206B_200F_202D_206F_200B_206B_202C_200D_202D_202C_202E_202C_206F_202E(); - _200B_200D_202A_206F_202A_202C_202A_202D_206E_200C_206C_202A_206A_206B_202C_202D_206B_200C_200B_202B_206C_206A_200F_200F_206F_202B_202D_206D_206E_202E_202C_200B_206F_206A_202D_206B_200F_202B_200E_200F_202E(ref UiThemeUtils.DimTextColor, (ImU8String)text3); - num = -1018691369; - break; - case 0: - return; - } - } - } } } } - catch - { - return; - } } + if (!string.IsNullOrWhiteSpace(text2)) + { + _cachedDescription = text2; + ImGui.Spacing(); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text2); + } + } + catch + { } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawNpcLine(Lumina.Excel.Sheets.Quest? questEx, IQuestInfo questInfo) { string text = null; string text2 = null; - int num; try { - num = ((!questEx.HasValue) ? 1742559574 : 1742559575); - uint rowId = default(uint); - while (true) + if (questEx.HasValue) { - int num2 = num; - int num3 = 1742559573; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + uint rowId = questEx.Value.IssuerStart.RowId; + if (rowId != 0) { - case 0: - num = 1742559575; - break; - case 2: - rowId = questEx.Value.IssuerStart.RowId; - num = ((rowId == 0) ? 1742559574 : 1742559572); - break; - case 1: text = ResolveNpcName(rowId); - num = 1742559574; - break; - case 3: - goto end_IL_0028; } - continue; - end_IL_0028: - break; } } catch @@ -1519,83 +629,38 @@ internal sealed class QuestChainComponent } try { - num = ((!questEx.HasValue) ? (-84290485) : (-84290487)); - uint rowId2 = default(uint); - while (true) + if (questEx.HasValue) { - int num5 = num; - int num3 = -84290485; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) + uint rowId2 = questEx.Value.TargetEnd.RowId; + if (rowId2 != 0) { - case 1: text2 = ResolveNpcName(rowId2); - num = -84290485; - break; - case 2: - rowId2 = questEx.Value.TargetEnd.RowId; - num = ((rowId2 == 0) ? (-84290485) : (-84290486)); - break; - case 3: - num = -84290487; - break; - case 0: - goto end_IL_010a; } - continue; - end_IL_010a: - break; } } catch { } - num = ((text != null) ? 596830364 : 596830365); - while (true) + if (text != null || text2 != null) { - int num6 = num; - int num3 = 596830362; - int num4 = num6; - switch ((num4 | num3) - (num4 & num3)) + if (text != null && text2 != null) { - case 8: - { - ImU8String imU8String = new ImU8String(3, 2); - imU8String.AppendFormatted(text); - imU8String.AppendLiteral(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(-485019730)); - imU8String.AppendFormatted(text2); - _200B_200D_202A_206F_202A_202C_202A_202D_206E_200C_206C_202A_206A_206B_202C_202D_206B_200C_200B_202B_206C_206A_200F_200F_206F_202B_202D_206D_206E_202E_202C_200B_206F_206A_202D_206B_200F_202B_200E_200F_202E(ref UiThemeUtils.DimTextColor, imU8String); - return; + ImU8String text3 = new ImU8String(3, 2); + text3.AppendFormatted(text); + text3.AppendLiteral(" → "); + text3.AppendFormatted(text2); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text3); } - case 0: - return; - case 7: - num = ((text2 == null) ? 596830362 : 596830364); - break; - case 3: + else if (text != null) { - ImU8String imU8String2 = new ImU8String(2, 1); - imU8String2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(935059527)); - imU8String2.AppendFormatted(text2); - _200B_200D_202A_206F_202A_202C_202A_202D_206E_200C_206C_202A_206A_206B_202C_202D_206B_200C_200B_202B_206C_206A_200F_200F_206F_202B_202D_206D_206E_202E_202C_200B_206F_206A_202D_206B_200F_202B_200E_200F_202E(ref UiThemeUtils.DimTextColor, imU8String2); - num = 596830362; - break; + ImGui.TextColored(in UiThemeUtils.DimTextColor, text); } - case 5: - num = 596830365; - break; - case 2: - _200B_200D_202A_206F_202A_202C_202A_202D_206E_200C_206C_202A_206A_206B_202C_202D_206B_200C_200B_202B_206C_206A_200F_200F_206F_202B_202D_206D_206E_202E_202C_200B_206F_206A_202D_206B_200F_202B_200E_200F_202E(ref UiThemeUtils.DimTextColor, (ImU8String)text); - return; - case 6: - num = ((text == null) ? 596830366 : 596830363); - break; - case 1: - num = ((text2 == null) ? 596830366 : 596830354); - break; - case 4: - num = ((text == null) ? 596830361 : 596830360); - break; + else + { + ImU8String text4 = new ImU8String(2, 1); + text4.AppendLiteral("→ "); + text4.AppendFormatted(text2); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text4); } } } @@ -1603,2713 +668,844 @@ internal sealed class QuestChainComponent private string? ResolveNpcName(uint npcId) { ENpcResident? rowOrDefault = _dataManager.GetExcelSheet().GetRowOrDefault(npcId); - int num = ((!rowOrDefault.HasValue) ? (-1406842401) : (-1406842403)); - string text = default(string); - while (true) + if (rowOrDefault.HasValue) { - int num2 = num; - int num3 = -1406842404; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + string text = rowOrDefault.Value.Singular.ExtractText(); + if (!string.IsNullOrEmpty(text)) { - case 3: - return null; - case 1: - text = rowOrDefault.Value.Singular.ExtractText(); - num = (_200D_206D_200B_200D_206B_206F_202C_206B_202B_200F_206E_202E_206C_206A_206E_202C_202A_200B_206F_202C_202B_202A_206D_202B_200B_206A_200B_206D_200E_202D_206C_202B_200B_200D_202D_202D_202A_206C_206F_200F_202E(text) ? (-1406842401) : (-1406842402)); - break; - case 0: - num = -1406842403; - break; - case 2: return text; } } + return null; } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawRewards(Lumina.Excel.Sheets.Quest questEx) { - byte itemRewardType = questEx.ItemRewardType; - int num = 1; - int num2 = itemRewardType; - bool flag3 = default(bool); - Item? valueOrDefault = default(Item?); - int num3; - Item? valueNullable = default(Item?); - switch (~(~num2 + num)) + bool flag; + switch (questEx.ItemRewardType) { - default: - num3 = 1403024806; - goto IL_003a; - case 0: - case 2: - case 4: - flag3 = true; - num3 = 1403024807; - goto IL_003a; case 1: case 3: - goto IL_00aa; - IL_003a: - while (true) + case 5: + flag = true; + break; + default: + flag = false; + break; + } + if (flag) + { + bool flag2 = false; + for (int i = 0; i < questEx.Reward.Count; i++) { - int num4 = num3; - num = 1403024802; - num2 = num4; - bool flag2; - int num13; - switch ((num2 | num) - (num2 & num)) + try { - case 2: - goto end_IL_003a; - case 5: - if (flag3) + RowRef rowRef = questEx.Reward[i]; + if (rowRef.RowId == 0 || !rowRef.Is()) { - num3 = 1403024803; - break; + continue; } - goto IL_02b0; - case 3: - num3 = 1403024806; - break; - case 4: - num3 = 1403024802; - break; - case 0: - goto IL_00aa; - case 1: + Item? valueOrDefault = rowRef.GetValueOrDefault(); + if (valueOrDefault.HasValue) { - bool flag = false; - int num5 = 0; - while (num5 < questEx.Reward.Count) + if (!flag2) { - try - { - RowRef rowRef = questEx.Reward[num5]; - num3 = ((rowRef.RowId == 0) ? 1542330155 : 1542330152); - while (true) - { - int num6 = num3; - num = 1542330159; - num2 = num6; - int num7 = num2 + num; - int num8 = num2 & num; - int num9; - switch (num7 - (num8 + num8)) - { - default: - continue; - case 10: - valueOrDefault = rowRef.GetValueOrDefault(); - num3 = (valueOrDefault.HasValue ? 1542330157 : 1542330158); - continue; - case 4: - goto end_IL_00fb; - case 3: - _206F_202C_206E_206C_200D_202B_200C_206D_200E_202A_206F_206C_200B_206A_200D_206A_200D_200C_200D_206A_202D_202B_200C_202A_200C_206F_202A_200B_206B_202B_202B_200C_202A_200E_200E_202C_206A_200B_202B_206B_202E(); - num3 = 1542330159; - continue; - case 5: - num9 = 1; - break; - case 0: - num3 = ((num5 < questEx.ItemCountReward.Count) ? 1542330150 : 1542330154); - continue; - case 1: - goto end_IL_00fb; - case 6: - UiThemeUtils.SubSectionHeader(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-828308343)); - flag = true; - num3 = 1542330159; - continue; - case 2: - num3 = (flag ? 1542330156 : 1542330153); - continue; - case 7: - num3 = (rowRef.Is() ? 1542330149 : 1542330155); - continue; - case 8: - num3 = 1542330152; - continue; - case 9: - num9 = questEx.ItemCountReward[num5]; - break; - } - byte count = (byte)num9; - DrawItemIcon(valueOrDefault.Value, count); - break; - continue; - end_IL_00fb: - break; - } - } - catch - { - } - int num10 = num5; - num = 1; - num2 = num10; - int num11 = num2 ^ num; - int num12 = num2 & num; - num5 = num11 + (num12 + num12); + UiThemeUtils.SubSectionHeader("Rewards"); + flag2 = true; } - goto IL_02b0; + else + { + ImGui.SameLine(); + } + byte count = (byte)((i >= questEx.ItemCountReward.Count) ? 1 : questEx.ItemCountReward[i]); + DrawItemIcon(valueOrDefault.Value, count); } - IL_02b0: - flag2 = false; - num13 = 0; - while (num13 < questEx.OptionalItemReward.Count) - { - try - { - RowRef rowRef2 = questEx.OptionalItemReward[num13]; - num3 = ((rowRef2.RowId != 0) ? 1010436964 : 1010436970); - while (true) - { - int num14 = num3; - num = 1010436973; - num2 = num14; - int num15 = num2 + num; - int num16 = num2 & num; - int num17; - switch (num15 - (num16 + num16)) - { - default: - continue; - case 8: - UiThemeUtils.SubSectionHeader(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(-49559706)); - flag2 = true; - num3 = 1010436968; - continue; - case 7: - goto end_IL_02f3; - case 2: - num3 = 1010436970; - continue; - case 1: - num3 = (flag2 ? 1010436974 : 1010436965); - continue; - case 3: - _206F_202C_206E_206C_200D_202B_200C_206D_200E_202A_206F_206C_200B_206A_200D_206A_200D_200C_200D_206A_202D_202B_200C_202A_200C_206F_202A_200B_206B_202B_202B_200C_202A_200E_200E_202C_206A_200B_202B_206B_202E(); - num3 = 1010436968; - continue; - case 4: - num17 = 1; - break; - case 5: - num3 = ((num13 < questEx.OptionalItemCountReward.Count) ? 1010436973 : 1010436969); - continue; - case 9: - valueNullable = rowRef2.ValueNullable; - num3 = (valueNullable.HasValue ? 1010436972 : 1010436971); - continue; - case 6: - goto end_IL_02f3; - case 0: - num17 = questEx.OptionalItemCountReward[num13]; - break; - } - byte count2 = (byte)num17; - DrawItemIcon(valueNullable.Value, count2); - break; - continue; - end_IL_02f3: - break; - } - } - catch - { - } - int num18 = num13; - num = 1; - num2 = num18; - int num19 = num2 ^ num; - int num20 = num2 & num; - num13 = num19 + (num20 + num20); - } - return; } - continue; - end_IL_003a: - break; + catch + { + } + } + } + bool flag3 = false; + for (int j = 0; j < questEx.OptionalItemReward.Count; j++) + { + try + { + RowRef rowRef2 = questEx.OptionalItemReward[j]; + if (rowRef2.RowId == 0) + { + continue; + } + Item? valueNullable = rowRef2.ValueNullable; + if (valueNullable.HasValue) + { + if (!flag3) + { + UiThemeUtils.SubSectionHeader("Optional rewards"); + flag3 = true; + } + else + { + ImGui.SameLine(); + } + byte count2 = (byte)((j >= questEx.OptionalItemCountReward.Count) ? 1 : questEx.OptionalItemCountReward[j]); + DrawItemIcon(valueNullable.Value, count2); + } + } + catch + { } - goto case 0; - IL_00aa: - flag3 = false; - num3 = 1403024807; - goto IL_003a; } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawItemIcon(Item item, byte count) { - int num; try { ushort icon = item.Icon; - num = ((icon <= 0) ? (-1941394636) : (-1941394632)); - string text3 = default(string); - IDalamudTextureWrap dalamudTextureWrap = default(IDalamudTextureWrap); - bool flag = default(bool); - while (true) + if (icon > 0) { - int num2 = num; - int num3 = -1941394627; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - string text2; - switch (num5 - (num6 + num6)) + string path = $"ui/icon/{icon / 1000 * 1000:000000}/{icon:000000}_hr1.tex"; + IDalamudTextureWrap wrapOrDefault = _textureProvider.GetFromGame(path).GetWrapOrDefault(); + if (wrapOrDefault != null) { - case 2: - _200E_206C_202C_202A_200C_202D_206A_206F_206B_202E_200E_200B_200C_206F_200C_206C_200E_202B_200C_206C_206D_202E_202A_202D_200E_206B_202A_200D_200B_206C_206F_206C_206D_206F_202B_206A_206F_200C_200D_200E_202E(); - text3 = item.Name.ExtractText(); - num = ((count > 1) ? (-1941394626) : (-1941394627)); - break; - case 1: - _202D_200D_206E_206E_206B_202A_206E_206F_202C_202E_206E_202C_202C_206E_200D_206F_202C_202D_200D_200B_202A_200C_200B_202E_206A_202A_206A_200C_206E_206F_202B_200E_202B_202E_206C_202E_200E_200E_206F_206E_202E(_206E_202C_202E_202B_200D_206B_200C_200F_206C_206D_200F_202C_206B_200F_200E_202C_206B_200D_202B_206E_200D_206A_202C_202A_200D_206B_200D_200E_200B_200C_202A_200B_202A_206E_206C_206C_202D_206E_202D_200C_202E(dalamudTextureWrap), new Vector2(32f, 32f)); - flag = _202D_206C_202B_206F_200F_206C_202E_200E_200D_202E_206F_202E_206E_206E_202C_206A_200D_200B_206B_206F_206A_202E_202C_200F_200B_202D_202C_200C_206D_202D_202B_202C_200C_200D_202A_200B_202B_202E_202E_200E_202E(); - num = ((count <= 1) ? (-1941394635) : (-1941394631)); - break; - case 4: - { - _206E_202A_202B_206F_206B_206F_200E_206C_200F_206F_206D_206A_200D_200F_206C_206D_200B_206B_202A_202E_206F_202E_206C_200E_206D_206D_206B_206B_206C_200F_202B_202E_202B_200F_202A_200B_202C_206F_200F_202D_202E(0f, 2f); - _200F_202D_200B_206A_200D_206F_206F_200F_200B_206D_202C_206E_200C_200D_206A_202E_200E_202A_200D_202D_200C_202B_206C_206D_200E_202D_206F_206C_200F_206D_200F_200C_200C_200F_202A_200E_206A_200B_206D_206C_202E(_206D_202C_200C_200E_202C_202C_200D_206D_206F_206A_200C_200E_202C_202E_200C_200F_206E_206E_206E_202B_206C_200F_200D_200F_206D_202B_200F_200E_202B_200D_206A_202D_206E_200E_200F_202A_206D_206C_200E_202C_202E() + 16f); - ImU8String imU8String = new ImU8String(1, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(446943949)); - imU8String.AppendFormatted(count); - _200B_200D_202A_206F_202A_202C_202A_202D_206E_200C_206C_202A_206A_206B_202C_202D_206B_200C_200B_202B_206C_206A_200F_200F_206F_202B_202D_206D_206E_202E_202C_200B_206F_206A_202D_206B_200F_202B_200E_200F_202E(ref UiThemeUtils.DimTextColor, imU8String); - flag |= _202D_206C_202B_206F_200F_206C_202E_200E_200D_202E_206F_202E_206E_206E_202C_206A_200D_200B_206B_206F_206A_202E_202C_200F_200B_202D_202C_200C_206D_202D_202B_202C_200C_200D_202A_200B_202B_202E_202E_200E_202E(); - num = -1941394635; - break; - } - case 0: - text2 = text3; - goto IL_01bf; - case 6: + ImGui.Image(wrapOrDefault.Handle, new Vector2(32f, 32f)); + bool flag = ImGui.IsItemHovered(); + if (count > 1) + { + ImGui.SameLine(0f, 2f); + ImGui.SetCursorPosY(ImGui.GetCursorPosY() + 16f); + ImU8String text = new ImU8String(1, 1); + text.AppendLiteral("x"); + text.AppendFormatted(count); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text); + flag |= ImGui.IsItemHovered(); + } + if (flag) + { + ImGui.BeginTooltip(); + string text2 = item.Name.ExtractText(); + ImGui.TextUnformatted((count > 1) ? $"{text2} x{count}" : text2); + ImGui.EndTooltip(); + } return; - case 8: - num = ((!flag) ? (-1941394629) : (-1941394625)); - break; - case 3: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(2, 2); - defaultInterpolatedStringHandler2.AppendFormatted(text3); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1448126334)); - defaultInterpolatedStringHandler2.AppendFormatted(count); - text2 = defaultInterpolatedStringHandler2.ToStringAndClear(); - goto IL_01bf; } - case 5: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(17, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(668017784)); - defaultInterpolatedStringHandler.AppendFormatted(icon / 1000 * 1000, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(786645962)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(503298330)); - defaultInterpolatedStringHandler.AppendFormatted(icon, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(981289831)); - defaultInterpolatedStringHandler.AppendLiteral(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(963084362)); - string text = defaultInterpolatedStringHandler.ToStringAndClear(); - dalamudTextureWrap = _200F_206C_200D_206A_206B_200B_206A_206D_200F_202A_202E_206C_202A_202B_200F_206A_206D_202E_200F_202C_206A_202B_200E_200B_202A_200E_206A_206F_206D_202B_202D_202B_202E_206A_202A_206B_202A_202D_200C_200E_202E(_206D_200E_206D_206F_206C_200B_200D_202C_206F_202D_202E_202C_202C_202A_202B_202B_202C_206A_206E_202D_202E_206F_200D_202C_200E_200D_206C_200C_206D_200F_200B_200E_206C_206D_200B_200E_206D_206F_206E_206B_202E(_textureProvider, text), (IDalamudTextureWrap)null); - num = ((dalamudTextureWrap == null) ? (-1941394636) : (-1941394628)); - break; - } - case 7: - num = -1941394632; - break; - case 9: - goto end_IL_0027; - IL_01bf: - _202D_200C_202D_202A_202E_206D_206C_202B_206D_200C_206A_200F_202B_202B_202E_202C_200C_206D_206D_200D_200D_206D_206E_206E_206C_200C_206F_206B_200E_206B_202B_200E_202C_206E_200B_202C_202E_202D_200F_206A_202E((ImU8String)text2); - _202A_206B_206A_202B_206B_200B_200B_202A_206C_206C_202D_206F_200D_200F_200E_200E_200B_200E_206B_202A_206E_206E_200F_200F_206C_206F_206A_200C_206F_200E_200C_200C_200E_202D_202C_202D_206D_200B_200B_202C_202E(); - num = -1941394629; - break; - } - continue; - end_IL_0027: - break; } } catch { } - string text4 = item.Name.ExtractText(); - num = ((count > 1) ? 504309802 : 504309800); - while (true) + string text3 = item.Name.ExtractText(); + ImGui.TextUnformatted((count > 1) ? $"[{text3} x{count}]" : ("[" + text3 + "]")); + if (ImGui.IsItemHovered()) { - int num7 = num; - int num3 = 504309801; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - string text5; - switch (num8 - (num9 + num9)) - { - case 3: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(4, 2); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1542193285)); - defaultInterpolatedStringHandler3.AppendFormatted(text4); - defaultInterpolatedStringHandler3.AppendLiteral(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(821360342)); - defaultInterpolatedStringHandler3.AppendFormatted(count); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1851437460)); - text5 = defaultInterpolatedStringHandler3.ToStringAndClear(); - goto IL_0350; - } - case 1: - text5 = _200F_206B_200D_200D_206B_206C_200B_200D_206E_202A_202C_206E_202E_206D_202C_206B_206E_200F_200B_206D_202E_206D_200B_206E_206E_206D_206A_202E_206D_200E_206F_202A_202D_206D_206B_202A_200D_202A_206A_206F_202E(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(-999106428), text4, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1851437460)); - goto IL_0350; - case 2: - return; - case 0: - _200E_206C_202C_202A_200C_202D_206A_206F_206B_202E_200E_200B_200C_206F_200C_206C_200E_202B_200C_206C_206D_202E_202A_202D_200E_206B_202A_200D_200B_206C_206F_206C_206D_206F_202B_206A_206F_200C_200D_200E_202E(); - _202D_200C_202D_202A_202E_206D_206C_202B_206D_200C_206A_200F_202B_202B_202E_202C_200C_206D_206D_200D_200D_206D_206E_206E_206C_200C_206F_206B_200E_206B_202B_200E_202C_206E_200B_202C_202E_202D_200F_206A_202E((ImU8String)text4); - _202A_206B_206A_202B_206B_200B_200B_202A_206C_206C_202D_206F_200D_200F_200E_200E_200B_200E_206B_202A_206E_206E_200F_200F_206C_206F_206A_200C_206F_200E_200C_200C_200E_202D_202C_202D_206D_200B_200B_202C_202E(); - num = 504309803; - break; - case 4: - { - num = 504309800; - break; - } - IL_0350: - _202D_200C_202D_202A_202E_206D_206C_202B_206D_200C_206A_200F_202B_202B_202E_202C_200C_206D_206D_200D_200D_206D_206E_206E_206C_200C_206F_206B_200E_206B_202B_200E_202C_206E_200B_202C_202E_202D_200F_206A_202E((ImU8String)text5); - num = ((!_202D_206C_202B_206F_200F_206C_202E_200E_200D_202E_206F_202E_206E_206E_202C_206A_200D_200B_206B_206F_206A_202E_202C_200F_200B_202D_202C_200C_206D_202D_202B_202C_200C_200D_202A_200B_202B_202E_202E_200E_202E()) ? 504309803 : 504309801); - break; - } + ImGui.BeginTooltip(); + ImGui.TextUnformatted(text3); + ImGui.EndTooltip(); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawQuestBanner(uint iconId) { - int num = ((iconId != 0) ? 1411179466 : 1411179465); - while (true) + if (iconId == 0) { - int num2 = num; - int num3 = 1411179464; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return; + } + try + { + string path = $"ui/icon/{iconId / 1000 * 1000:000000}/{iconId:000000}_hr1.tex"; + IDalamudTextureWrap wrapOrDefault = _textureProvider.GetFromGame(path).GetWrapOrDefault(); + if (wrapOrDefault != null) { - case 0: - goto IL_004a; - case 1: - return; - case 2: - try - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(17, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-899020876)); - defaultInterpolatedStringHandler.AppendFormatted(iconId / 1000 * 1000, 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(385900318)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1680133376)); - defaultInterpolatedStringHandler.AppendFormatted(iconId, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1347770256)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2009764943)); - string text = defaultInterpolatedStringHandler.ToStringAndClear(); - IDalamudTextureWrap dalamudTextureWrap = _200F_206C_200D_206A_206B_200B_206A_206D_200F_202A_202E_206C_202A_202B_200F_206A_206D_202E_200F_202C_206A_202B_200E_200B_202A_200E_206A_206F_206D_202B_202D_202B_202E_206A_202A_206B_202A_202D_200C_200E_202E(_206D_200E_206D_206F_206C_200B_200D_202C_206F_202D_202E_202C_202C_202A_202B_202B_202C_206A_206E_202D_202E_206F_200D_202C_200E_200D_206C_200C_206D_200F_200B_200E_206C_206D_200B_200E_206D_206F_206E_206B_202E(_textureProvider, text), (IDalamudTextureWrap)null); - num = ((dalamudTextureWrap == null) ? (-419652818) : (-419652819)); - while (true) - { - int num5 = num; - num3 = -419652820; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -419652819; - break; - case 1: - { - float num6 = _206A_206F_202B_200C_200F_202A_202C_206F_202C_206E_202E_206D_206A_200B_206C_200B_200C_206F_206F_202A_206E_206B_200B_206D_206F_202E_206B_206A_202B_206C_206C_202E_206A_202D_200C_206E_202D_200C_200D_202B_202E(_206F_200B_200E_206C_200E_200B_206B_206E_200E_206C_206E_206E_202B_202A_206B_202C_200C_202A_206B_202D_206C_202D_202D_200F_206B_200E_200B_206B_202A_206A_206D_200F_206D_206E_202B_200B_200C_206D_200C_202A_202E().X, (float)_202A_200E_206D_200E_206A_202C_206E_206A_202C_206C_206B_200F_200B_200F_200F_202A_206B_200E_200D_202A_206F_200E_200F_202B_200B_202D_206D_206C_206B_202A_202A_206D_200C_200D_200D_206B_200B_206A_206C_200E_202E(dalamudTextureWrap) * 0.5f); - float num7 = (float)_200F_206A_200E_206F_206F_202C_206C_200F_202E_206F_206C_202D_202B_202C_200F_202B_200E_200B_200B_202B_206D_206B_202A_206B_200C_206D_206A_202E_200C_202B_206C_206C_206D_206B_206C_200D_202B_202E_206C_206A_202E(dalamudTextureWrap) / (float)_202A_200E_206D_200E_206A_202C_206E_206A_202C_206C_206B_200F_200B_200F_200F_202A_206B_200E_200D_202A_206F_200E_200F_202B_200B_202D_206D_206C_206B_202A_202A_206D_200C_200D_200D_206B_200B_206A_206C_200E_202E(dalamudTextureWrap); - float y = num6 * num7; - _202D_200D_206E_206E_206B_202A_206E_206F_202C_202E_206E_202C_202C_206E_200D_206F_202C_202D_200D_200B_202A_200C_200B_202E_206A_202A_206A_200C_206E_206F_202B_200E_202B_202E_206C_202E_200E_200E_206F_206E_202E(_206E_202C_202E_202B_200D_206B_200C_200F_206C_206D_200F_202C_206B_200F_200E_202C_206B_200D_202B_206E_200D_206A_202C_202A_200D_206B_200D_200E_200B_200C_202A_200B_202A_206E_206C_206C_202D_206E_202D_200C_202E(dalamudTextureWrap), new Vector2(num6, y)); - num = -419652818; - break; - } - case 2: - return; - } - } - } - catch - { - return; - } + float num = MathF.Min(ImGui.GetContentRegionAvail().X, (float)wrapOrDefault.Width * 0.5f); + float num2 = (float)wrapOrDefault.Height / (float)wrapOrDefault.Width; + float y = num * num2; + ImGui.Image(wrapOrDefault.Handle, new Vector2(num, y)); } - continue; - IL_004a: - num = 1411179465; + } + catch + { } } - [MethodImpl(MethodImplOptions.NoInlining)] private CachedGraphLayout ComputeLayout(QuestChainGraph graph) { List> list = ReorderLayers(graph); - int num = 0; - int num2 = -417925842; - IQuestInfo questInfo = default(IQuestInfo); - QuestId current = default(QuestId); - float num19 = default(float); - int num18 = default(int); - int num14 = default(int); - QuestId current2 = default(QuestId); - string text = default(string); - string text2 = default(string); - float num16 = default(float); - float num15 = default(float); - IQuestInfo questInfo2 = default(IQuestInfo); - while (true) + for (int i = 0; i < list.Count; i++) { - int num3 = num2; - int num4 = -417925844; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + list[i] = list[i].Where((QuestId qid) => _questData.TryGetQuestInfo(qid, out IQuestInfo _)).ToList(); + } + list.RemoveAll((List l) => l.Count == 0); + Dictionary dictionary = new Dictionary(); + foreach (List item in list) + { + foreach (QuestId item2 in item) { - case 3: - num2 = -417925842; - break; - case 1: - { - list[num] = list[num].Where((QuestId qid) => _questData.TryGetQuestInfo(qid, out IQuestInfo _)).ToList(); - int num22 = num; - num4 = 1; - num5 = num22; - int num23 = num5 ^ num4; - int num24 = num5 & num4; - num = num23 + (num24 + num24); - num2 = -417925842; - break; - } - case 2: - num2 = ((num < list.Count) ? (-417925843) : (-417925844)); - break; - case 0: - { - list.RemoveAll((List l) => l.Count == 0); - Dictionary dictionary = new Dictionary(); - foreach (List item in list) - { - using List.Enumerator enumerator2 = item.GetEnumerator(); - num2 = 169388037; - while (true) - { - int num6 = num2; - num4 = 169388037; - num5 = num6; - float num7; - float num8; - switch ((num5 | num4) - (num5 & num4)) - { - case 4: - num7 = 150f; - goto IL_018a; - case 1: - num7 = _200C_202E_206B_202A_206C_206F_202B_202C_202B_200F_206D_200F_206D_206D_200E_200F_206B_206F_200D_206A_206A_200B_206E_200D_200B_200E_200D_202E_200B_200B_200B_202A_206B_206C_202C_202E_206D_206B_206E_202D_202E((ImU8String)UiThemeUtils.CleanSeString(questInfo.Name), false, -1f).X + 16f; - goto IL_018a; - case 2: - num2 = 169388037; - break; - case 5: - current = enumerator2.Current; - num2 = (_questData.TryGetQuestInfo(current, out questInfo) ? 169388036 : 169388033); - break; - case 0: - num2 = (enumerator2.MoveNext() ? 169388032 : 169388038); - break; - case 3: - goto end_IL_0115; - IL_018a: - num8 = num7; - dictionary[current] = _206D_200F_206A_200F_206D_202C_202E_202E_206F_206C_200C_206A_202E_202E_206E_202C_206A_202B_206B_206B_206A_206F_202A_202C_202A_200E_202D_200F_206B_200F_202C_206B_206B_206E_206F_200C_202E_202C_206F_202E(150f, _206A_206F_202B_200C_200F_202A_202C_206F_202C_206E_202E_206D_206A_200B_206C_200B_200C_206F_206F_202A_206E_206B_200B_206D_206F_202E_206B_206A_202B_206C_206C_202E_206A_202D_200C_206E_202D_200C_200D_202B_202E(240f, num8)); - num2 = 169388037; - break; - } - continue; - end_IL_0115: - break; - } - } - float[] array = new float[list.Count]; - int num9 = 0; - num2 = -240026125; - while (true) - { - int num10 = num2; - num4 = -240026126; - num5 = num10; - int num11 = num5 + num4; - int num12 = num5 & num4; - switch (num11 - (num12 + num12)) - { - case 3: - { - num19 += dictionary[list[num9][num18]]; - int num20 = num18; - num4 = 1; - num5 = num20; - num18 = (num5 | num4) + (num5 & num4); - num2 = -240026128; - break; - } - case 0: - num2 = ((num18 <= 0) ? (-240026127) : (-240026124)); - break; - case 1: - num2 = ((num9 < list.Count) ? (-240026122) : (-240026121)); - break; - case 7: - { - array[num9] = num19; - int num21 = num9; - num4 = 1; - num5 = num21; - num9 = (num5 | num4) + (num5 & num4); - num2 = -240026125; - break; - } - case 8: - num2 = -240026125; - break; - case 4: - num19 = 0f; - num18 = 0; - num2 = -240026128; - break; - case 6: - num19 += 20f; - num2 = -240026127; - break; - case 2: - num2 = ((num18 < list[num9].Count) ? (-240026126) : (-240026123)); - break; - case 5: - { - Dictionary dictionary2 = new Dictionary(); - foreach (List item2 in list) - { - using List.Enumerator enumerator2 = item2.GetEnumerator(); - num2 = -1017681287; - while (true) - { - int num13 = num2; - num4 = -1017681287; - num5 = num13; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num2 = (enumerator2.MoveNext() ? (-1017681281) : (-1017681293)); - break; - case 1: - { - int num17 = num14; - num4 = 1; - num5 = num17; - num14 = ~(~num5 + num4); - num2 = -1017681295; - break; - } - case 7: - dictionary2[current2] = text; - num2 = -1017681287; - break; - case 3: - text2 = _206F_206A_202E_206F_202D_202B_206D_206F_202E_206D_200C_206D_200E_200B_202E_202B_202B_200E_200E_206B_206A_206A_200B_200F_206D_200B_200D_206F_200D_200C_206F_202E_200C_200D_206F_206F_202D_202B_200D_206F_202E(_200C_202B_206C_202C_206F_202B_202E_202A_200F_206E_202A_206A_200C_200E_200F_200C_206F_200C_202D_200F_206C_200C_200E_200E_202E_206C_202B_206C_206C_200D_200F_206E_206C_206A_202A_206B_206C_202C_202C_206E_202E(text, 0, num14), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(799152405)); - num2 = ((!(_200C_202E_206B_202A_206C_206F_202B_202C_202B_200F_206D_200F_206D_206D_200E_200F_206B_206F_200D_206A_206A_200B_206E_200D_200B_200E_200D_202E_200B_200B_200B_202A_206B_206C_202C_202E_206D_206B_206E_202D_202E((ImU8String)text2, false, -1f).X + num16 <= num15)) ? (-1017681288) : (-1017681296)); - break; - case 4: - num2 = -1017681287; - break; - case 6: - current2 = enumerator2.Current; - num2 = ((!_questData.TryGetQuestInfo(current2, out questInfo2)) ? (-1017681287) : (-1017681285)); - break; - case 9: - text = text2; - num2 = -1017681282; - break; - case 2: - text = UiThemeUtils.CleanSeString(questInfo2.Name); - num15 = dictionary[current2]; - num16 = 8f; - num2 = ((!(_200C_202E_206B_202A_206C_206F_202B_202C_202B_200F_206D_200F_206D_206D_200E_200F_206B_206F_200D_206A_206A_200B_206E_200D_200B_200E_200D_202E_200B_200B_200B_202A_206B_206C_202C_202E_206D_206B_206E_202D_202E((ImU8String)text, false, -1f).X + num16 > num15)) ? (-1017681282) : (-1017681284)); - break; - case 8: - num2 = ((num14 > 3) ? (-1017681286) : (-1017681282)); - break; - case 5: - num14 = _206F_200C_202E_202B_206A_200E_206D_206D_206C_202B_206C_202A_202C_206A_202E_202C_206F_200D_202E_206F_206E_202C_202A_206B_200D_202A_202A_206F_206C_202D_206C_200E_206B_202C_200E_202B_206D_206C_200D_202A_202E(text) - 1; - num2 = -1017681295; - break; - case 10: - goto end_IL_03e4; - } - continue; - end_IL_03e4: - break; - } - } - return new CachedGraphLayout - { - Layers = list, - NodeWidths = dictionary, - LayerWidths = array, - TruncatedLabels = dictionary2 - }; - } - } - } - } + IQuestInfo questInfo; + float y = (_questData.TryGetQuestInfo(item2, out questInfo) ? (ImGui.CalcTextSize(UiThemeUtils.CleanSeString(questInfo.Name)).X + 16f) : 150f); + dictionary[item2] = MathF.Max(150f, MathF.Min(240f, y)); } } + float[] array = new float[list.Count]; + for (int num = 0; num < list.Count; num++) + { + float num2 = 0f; + for (int num3 = 0; num3 < list[num].Count; num3++) + { + if (num3 > 0) + { + num2 += 20f; + } + num2 += dictionary[list[num][num3]]; + } + array[num] = num2; + } + Dictionary dictionary2 = new Dictionary(); + foreach (List item3 in list) + { + foreach (QuestId item4 in item3) + { + if (!_questData.TryGetQuestInfo(item4, out IQuestInfo questInfo2)) + { + continue; + } + string text = UiThemeUtils.CleanSeString(questInfo2.Name); + float num4 = dictionary[item4]; + float num5 = 8f; + if (ImGui.CalcTextSize(text).X + num5 > num4) + { + for (int num6 = text.Length - 1; num6 > 3; num6--) + { + string text2 = text.Substring(0, num6) + "..."; + if (ImGui.CalcTextSize(text2).X + num5 <= num4) + { + text = text2; + break; + } + } + } + dictionary2[item4] = text; + } + } + return new CachedGraphLayout + { + Layers = list, + NodeWidths = dictionary, + LayerWidths = array, + TruncatedLabels = dictionary2 + }; } private void RefreshNodeStatusCache() { _nodeStatusCache.Clear(); - int num = ((_cachedLayout != null) ? 592531214 : 592531215); - while (true) + if (_cachedLayout == null) { - int num2 = num; - int num3 = 592531214; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_005c; - case 1: - return; - case 0: - foreach (List layer in _cachedLayout.Layers) - { - using List.Enumerator enumerator2 = layer.GetEnumerator(); - num = -2029790129; - while (true) - { - int num7 = num; - num3 = -2029790130; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -2029790129; - break; - case 1: - num = (enumerator2.MoveNext() ? (-2029790132) : (-2029790131)); - break; - case 2: - { - QuestId current = enumerator2.Current; - Vector4 questNodeColor = GetQuestNodeColor(current); - bool isDone = _questFunctions.IsQuestAcceptedOrComplete(current); - _nodeStatusCache[current] = new NodeStatusEntry(questNodeColor, isDone); - num = -2029790129; - break; - } - case 3: - goto end_IL_0098; - } - continue; - end_IL_0098: - break; - } - } - _nodeStatusRefreshedAt = _202D_202E_206C_200E_206E_200C_200D_202A_202D_200B_200C_206D_200C_206A_206F_206E_200C_206C_206E_206F_206D_200B_200E_206E_200E_202C_206C_206F_206C_202E_206E_206F_202B_202C_202A_202E_206A_206E_206B_202C_202E(); - return; - } - continue; - IL_005c: - num = 592531215; + return; } + foreach (List layer in _cachedLayout.Layers) + { + foreach (QuestId item in layer) + { + Vector4 questNodeColor = GetQuestNodeColor(item); + bool isDone = _questFunctions.IsQuestAcceptedOrComplete(item); + _nodeStatusCache[item] = new NodeStatusEntry(questNodeColor, isDone); + } + } + _nodeStatusRefreshedAt = Environment.TickCount64; } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawChainGraph(QuestChainGraph graph, float panelWidth) { float graphZoom = _graphZoom; - ImDrawListPtr drawList = _202E_200C_202A_202A_206A_202C_202E_202D_202B_200F_206A_206E_206E_206D_206F_206B_202D_206F_200E_202A_202C_206F_202E_206D_202E_202B_200E_202B_200C_202C_206E_206A_206A_200C_202A_200B_206C_206C_200D_206C_202E(); - Vector2 vector = _202E_200C_202E_200B_206A_200D_200D_200D_206C_200F_206B_206A_202A_202D_202D_200D_202E_206B_200E_200E_206C_200B_200B_206E_200D_202B_202E_200C_200C_206D_206A_200D_200B_200C_200D_202A_202E_206D_206E_202A_202E(); - Vector2 vector2 = _206F_200B_200E_206C_200E_200B_206B_206E_200E_206C_206E_206E_202B_202A_206B_202C_200C_202A_206B_202D_206C_202D_202D_200F_206B_200E_200B_206B_202A_206A_206D_200F_206D_206E_202B_200B_200C_206D_200C_202A_202E(); - int num = ((!(vector2.X < 1f)) ? 1242681115 : 1242681101); - Vector2 vector4 = default(Vector2); - float num68 = default(float); - float[] layerWidths = default(float[]); - int num69 = default(int); - int num70 = default(int); - Dictionary nodeWidths = default(Dictionary); - bool flag = default(bool); - bool flag4 = default(bool); - float mouseWheel = default(float); - Vector2 vector3 = default(Vector2); - List> layers = default(List>); - int num76 = default(int); - Dictionary nodePos; - QuestId questId2 = default(QuestId); - bool dragMoved = default(bool); - QuestId questId = default(QuestId); - (Vector2, Vector2) tuple = default((Vector2, Vector2)); - QuestId current2 = default(QuestId); - List value3 = default(List); - List value4 = default(List); - List list4 = default(List); - int num22 = default(int); - QuestId item3 = default(QuestId); - List list5 = default(List); - QuestId item6 = default(QuestId); - int num30 = default(int); - Vector2 vector6 = default(Vector2); - Vector2 vector5 = default(Vector2); - uint num42 = default(uint); - float thickness = default(float); - QuestId current3 = default(QuestId); - (Vector2, Vector2) value6 = default((Vector2, Vector2)); - int num48 = default(int); - bool flag2 = default(bool); - int num44 = default(int); - int valueOrDefault = default(int); - float num43 = default(float); - float num41 = default(float); - float num40 = default(float); - (Vector2, Vector2) value7 = default((Vector2, Vector2)); - QuestId current4 = default(QuestId); - bool flag3 = default(bool); - bool isDone = default(bool); - string valueOrDefault3 = default(string); - Vector2 pos2 = default(Vector2); - IQuestInfo questInfo2 = default(IQuestInfo); - IQuestInfo questInfo = default(IQuestInfo); - while (true) + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + Vector2 contentRegionAvail = ImGui.GetContentRegionAvail(); + if (contentRegionAvail.X < 1f) { - int num2 = num; - int num3 = 1242681116; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + contentRegionAvail.X = 1f; + } + if (contentRegionAvail.Y < 1f) + { + contentRegionAvail.Y = 1f; + } + ImGui.InvisibleButton("##chainCanvas", contentRegionAvail, ImGuiButtonFlags.MouseButtonMask); + bool flag = ImGui.IsItemHovered(); + bool flag2 = ImGui.IsItemActive(); + Vector2 mousePos = ImGui.GetMousePos(); + windowDrawList.PushClipRect(cursorScreenPos, cursorScreenPos + contentRegionAvail, intersectWithCurrentClipRect: true); + windowDrawList.AddRectFilled(cursorScreenPos, cursorScreenPos + contentRegionAvail, ImGui.ColorConvertFloat4ToU32(GraphBackgroundColor)); + float mouseWheel = ImGui.GetIO().MouseWheel; + if (flag && MathF.Abs(mouseWheel) > 0.01f) + { + float graphZoom2 = _graphZoom; + _graphZoom = Math.Clamp(_graphZoom + mouseWheel * 0.1f, 0.25f, 2f); + Vector2 vector = mousePos - cursorScreenPos - contentRegionAvail * 0.5f - _graphOffset; + _graphOffset -= vector * (_graphZoom / graphZoom2 - 1f); + graphZoom = _graphZoom; + } + if (flag2) + { + if (!_isDragging) { - case 3: - num = 1242681101; - break; - case 7: - num = ((!(vector2.Y < 1f)) ? 1242681106 : 1242681095); - break; - case 20: - num = ((!(Vector2.Distance(vector4, _dragOrigin) > 4f)) ? 1242681108 : 1242681103); - break; - case 12: - num68 = (0f - layerWidths[num69]) * 0.5f; - num70 = 0; - num = 1242681093; - break; - case 16: - RefreshNodeStatusCache(); - num = 1242681118; - break; - case 17: - vector2.X = 1f; - num = 1242681115; - break; - case 2: - num = ((!_scrollToSelected) ? 1242681113 : 1242681092); - break; - case 10: - { - float num71 = nodeWidths[graph.SelectedQuest]; - float num72 = (float)num69 * 81f; - _graphOffset = -new Vector2(num68 + num71 * 0.5f, num72 + 13f) * graphZoom; - num = 1242681113; - break; - } - case 11: _isDragging = true; - _dragStart = vector4; - _dragOrigin = vector4; - num = 1242681096; - break; - case 0: - num = (_isDragging ? 1242681096 : 1242681111); - break; - case 14: - _206C_200C_206E_206E_200F_200D_202A_200C_202E_200E_206F_202D_200C_200F_206A_202A_206D_206C_202A_206B_200B_206A_202B_202B_206B_202B_200E_206D_206A_206D_202C_200D_200D_200F_200D_202B_200F_200F_206C_206A_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1258050388), vector2, ImGuiButtonFlags.MouseButtonMask); - flag = _202D_206C_202B_206F_200F_206C_202E_200E_200D_202E_206F_202E_206E_206E_202C_206A_200D_200B_206B_206F_206A_202E_202C_200F_200B_202D_202C_200C_206D_202D_202B_202C_200C_200D_202A_200B_202B_202E_202E_200E_202E(); - flag4 = _200E_206C_206F_200D_200E_206B_206C_202E_206F_206F_206F_206A_200D_206A_202E_206D_200D_206D_206D_202D_206D_200B_202A_206A_200D_200D_206D_206B_202B_200D_206B_206D_200E_202C_202B_200E_200F_202B_206B_206B_202E(); - vector4 = _200E_202C_206E_200E_202D_202E_206D_206C_206B_206A_202A_206A_202B_200F_206D_202A_206B_200F_202A_206A_202C_206D_206B_206D_206E_206B_202E_202E_206F_202B_200C_206C_202E_202B_206C_202C_202B_202B_200C_200C_202E(); - drawList.PushClipRect(vector, vector + vector2, intersectWithCurrentClipRect: true); - drawList.AddRectFilled(vector, vector + vector2, _206E_202A_202C_206F_200F_206A_200C_206D_202D_200B_206B_206E_206C_200B_206B_200E_200D_200F_206D_200B_200C_200C_206B_206B_200F_206D_206E_206D_206E_202C_202A_206C_206A_200D_202C_206E_200D_202B_200B_202D_202E(GraphBackgroundColor)); - mouseWheel = _206D_200F_206F_202D_202B_206A_202A_200E_206C_206C_200D_206A_200C_200D_206F_206B_202D_206B_200B_200B_200C_200C_206C_200D_202E_202D_206D_206D_206D_200F_200C_206D_206D_200C_200F_206F_206C_200E_202A_202C_202E().MouseWheel; - num = ((!flag) ? 1242681099 : 1242681112); - break; - case 4: - num = ((!(_200B_202C_200D_206E_202E_206F_206E_200D_206D_202A_200D_206C_200D_206E_202A_202A_202E_202C_202D_206D_200E_200E_200C_202B_200E_200F_202A_202D_200E_206D_202A_202E_206B_206C_206B_206A_200F_206B_206D_206F_202E(mouseWheel) > 0.01f)) ? 1242681099 : 1242681102); - break; - case 1: - _cachedLayout = ComputeLayout(graph); - _cachedLayoutQuestId = graph.SelectedQuest; - RefreshNodeStatusCache(); - num = 1242681114; - break; - case 23: - num = ((!flag4) ? 1242681088 : 1242681116); - break; - case 6: - vector3 = vector + vector2 * 0.5f; - layers = _cachedLayout.Layers; - nodeWidths = _cachedLayout.NodeWidths; - layerWidths = _cachedLayout.LayerWidths; - num = ((_202D_202E_206C_200E_206E_200C_200D_202A_202D_200B_200C_206D_200C_206A_206F_206E_200C_206C_206E_206F_206D_200B_200E_206E_200E_202C_206C_206F_206C_202E_206E_206F_202B_202C_202A_202E_206A_206E_206B_202C_202E() - _nodeStatusRefreshedAt <= 3000) ? 1242681118 : 1242681100); - break; - case 21: - num = ((_cachedLayout == null) ? 1242681117 : 1242681098); - break; - case 18: - { - float graphZoom2 = _graphZoom; - _graphZoom = _202E_206D_206D_206F_206C_206D_202A_200C_206B_202B_206E_200E_202D_200C_200C_202C_200E_200C_200D_206F_206C_206A_200F_206A_202C_202E_200D_206E_206F_200B_202D_206C_200B_200F_202E_200B_206D_200E_206B_202B_202E(_graphZoom + mouseWheel * 0.1f, 0.25f, 2f); - Vector2 vector10 = vector4 - vector - vector2 * 0.5f - _graphOffset; - _graphOffset -= vector10 * (_graphZoom / graphZoom2 - 1f); - graphZoom = _graphZoom; - num = 1242681099; - break; + _dragStart = mousePos; + _dragOrigin = mousePos; } - case 28: - _isDragging = false; - num = 1242681097; - break; - case 22: - num = ((!_206D_206A_206B_202D_200F_202B_202E_202A_206E_202A_206C_206F_202B_202B_202C_206D_202C_200B_200D_200C_206C_206A_202D_206A_206D_206B_200F_202D_202E_206D_206F_206B_202A_202D_202B_200C_206F_200E_202E_206E_202E((ElementId)_cachedLayoutQuestId, (ElementId)graph.SelectedQuest)) ? 1242681114 : 1242681117); - break; - case 25: - num = ((num70 < num76) ? 1242681109 : 1242681110); - break; - case 8: + if (Vector2.Distance(mousePos, _dragOrigin) > 4f) { - Vector2 vector11 = vector4 - _dragStart; - _graphOffset += vector11; - _dragStart = vector4; - num = 1242681097; - break; - } - case 9: - { - num68 += nodeWidths[layers[num69][num70]] + 20f; - int num77 = num70; - num3 = 1; - num4 = num77; - num70 = (num4 | num3) + (num4 & num3); - num = 1242681093; - break; - } - case 24: - _scrollToSelected = false; - num69 = 0; - num = 1242681105; - break; - case 27: - vector2.Y = 1f; - num = 1242681106; - break; - case 26: - num76 = layers[num69].IndexOf(graph.SelectedQuest); - num = ((num76 < 0) ? 1242681107 : 1242681104); - break; - case 19: _dragMoved = true; - num = 1242681108; - break; - case 13: - num = ((num69 < layers.Count) ? 1242681094 : 1242681113); - break; - case 15: - { - int num73 = num69; - num3 = 1; - num4 = num73; - int num74 = num4 ^ num3; - int num75 = num4 & num3; - num69 = num74 + (num75 + num75); - num = 1242681105; - break; } - case 5: + Vector2 vector2 = mousePos - _dragStart; + _graphOffset += vector2; + _dragStart = mousePos; + } + else + { + _isDragging = false; + } + if (_cachedLayout == null || _cachedLayoutQuestId != graph.SelectedQuest) + { + _cachedLayout = ComputeLayout(graph); + _cachedLayoutQuestId = graph.SelectedQuest; + RefreshNodeStatusCache(); + } + Vector2 vector3 = cursorScreenPos + contentRegionAvail * 0.5f; + List> layers = _cachedLayout.Layers; + Dictionary nodeWidths = _cachedLayout.NodeWidths; + float[] layerWidths = _cachedLayout.LayerWidths; + if (Environment.TickCount64 - _nodeStatusRefreshedAt > 3000) + { + RefreshNodeStatusCache(); + } + if (_scrollToSelected) + { + _scrollToSelected = false; + for (int i = 0; i < layers.Count; i++) { - nodePos = new Dictionary(); - for (int num5 = 0; num5 < layers.Count; num5 = (num4 | num3) + (num4 & num3)) + int num = layers[i].IndexOf(graph.SelectedQuest); + if (num >= 0) { - List list = layers[num5]; - float num6 = (0f - layerWidths[num5]) * 0.5f; - float num7 = (float)num5 * 81f; - using (List.Enumerator enumerator = list.GetEnumerator()) + float num2 = (0f - layerWidths[i]) * 0.5f; + for (int j = 0; j < num; j++) { - num = 635879042; - while (true) - { - int num8 = num; - num3 = 635879041; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = (enumerator.MoveNext() ? 635879043 : 635879040); - break; - case 2: - { - QuestId current = enumerator.Current; - float num9 = nodeWidths[current]; - Vector2 item = vector3 + new Vector2(num6, num7) * graphZoom + _graphOffset; - Vector2 item2 = vector3 + new Vector2(num6 + num9, num7 + 26f) * graphZoom + _graphOffset; - nodePos[current] = (item, item2); - num6 += num9 + 20f; - num = 635879042; - break; - } - case 0: - num = 635879042; - break; - case 1: - goto end_IL_0635; - } - continue; - end_IL_0635: - break; - } - } - int num10 = num5; - num3 = 1; - num4 = num10; - } - num = -1061267090; - QuestId key; - while (true) - { - int num11 = num; - num3 = -1061267089; - num4 = num11; - int num12 = num4 + num3; - int num13 = num4 & num3; - switch (num12 - (num13 + num13)) - { - default: - continue; - case 0: - num = -1061267090; - continue; - case 1: - questId2 = null; - dragMoved = _dragMoved; - if (flag) - { - num = -1061267091; - continue; - } - break; - case 2: - if (!dragMoved) - { - num = -1061267092; - continue; - } - break; - case 3: - { - using (Dictionary.Enumerator enumerator2 = nodePos.GetEnumerator()) - { - num = -1296291044; - while (true) - { - int num14 = num; - num3 = -1296291041; - num4 = num14; - switch ((num4 | num3) - (num4 & num3)) - { - case 7: - num = -1296291044; - break; - case 2: - { - enumerator2.Current.Deconstruct(out key, out var value); - questId = key; - tuple = value; - num = ((!(vector4.X >= tuple.Item1.X)) ? (-1296291044) : (-1296291045)); - break; - } - case 1: - num = ((!(vector4.Y <= tuple.Item2.Y)) ? (-1296291044) : (-1296291046)); - break; - case 3: - num = (enumerator2.MoveNext() ? (-1296291043) : (-1296291047)); - break; - case 5: - questId2 = questId; - goto end_IL_07f0; - case 4: - num = ((!(vector4.X <= tuple.Item2.X)) ? (-1296291044) : (-1296291041)); - break; - case 0: - num = ((!(vector4.Y >= tuple.Item1.Y)) ? (-1296291044) : (-1296291042)); - break; - case 6: - goto end_IL_07f0; - } - continue; - end_IL_07f0: - break; - } - } - break; - } + num2 += nodeWidths[layers[i][j]] + 20f; } + float num3 = nodeWidths[graph.SelectedQuest]; + float num4 = (float)i * 81f; + _graphOffset = -new Vector2(num2 + num3 * 0.5f, num4 + 13f) * graphZoom; break; } - QuestId questId3 = questId2 ?? graph.SelectedQuest; - Dictionary<(QuestId, QuestId), (float, float)> dictionary = new Dictionary<(QuestId, QuestId), (float, float)>(); - Dictionary> dictionary2 = new Dictionary>(); - Dictionary> dictionary3 = new Dictionary>(); - List value2; - foreach (KeyValuePair> prerequisite in graph.Prerequisites) - { - prerequisite.Deconstruct(out key, out value2); - QuestId questId4 = key; - using List.Enumerator enumerator = value2.GetEnumerator(); - num = -1509620626; - while (true) - { - int num15 = num; - num3 = -1509620630; - num4 = num15; - int num16 = num4 + num3; - int num17 = num4 & num3; - switch (num16 - (num17 + num17)) - { - case 5: - num = -1509620626; - break; - case 2: - current2 = enumerator.Current; - num = ((!nodePos.ContainsKey(current2)) ? (-1509620626) : (-1509620627)); - break; - case 7: - num = ((!nodePos.ContainsKey(questId4)) ? (-1509620626) : (-1509620629)); - break; - case 6: - value3.Add(questId4); - num = (dictionary3.TryGetValue(questId4, out value4) ? (-1509620631) : (-1509620638)); - break; - case 8: - value4 = (dictionary3[questId4] = new List()); - num = -1509620631; - break; - case 3: - value4.Add(current2); - num = -1509620626; - break; - case 1: - num = (dictionary2.TryGetValue(current2, out value3) ? (-1509620628) : (-1509620630)); - break; - case 4: - num = (enumerator.MoveNext() ? (-1509620632) : (-1509620637)); - break; - case 0: - value3 = (dictionary2[current2] = new List()); - num = -1509620628; - break; - case 9: - goto end_IL_09c9; - } - continue; - end_IL_09c9: - break; - } - } - using (Dictionary>.Enumerator enumerator3 = dictionary2.GetEnumerator()) - { - num = -1953269065; - while (true) - { - int num18 = num; - num3 = -1953269065; - num4 = num18; - int num19 = num4 + num3; - int num20 = num4 & num3; - float num21; - switch (num19 - (num20 + num20)) - { - default: - continue; - case 4: - num = -1953269065; - continue; - case 6: - num = ((list4.Count > 1) ? (-1953269070) : (-1953269066)); - continue; - case 2: - num = ((num22 < list4.Count) ? (-1953269071) : (-1953269065)); - continue; - case 7: - enumerator3.Current.Deconstruct(out key, out value2); - item3 = key; - list4 = value2; - list4.Sort(delegate(QuestId a, QuestId b) - { - float num78 = (nodePos[a].Min.X + nodePos[a].Max.X) * 0.5f; - float value9 = (nodePos[b].Min.X + nodePos[b].Max.X) * 0.5f; - return num78.CompareTo(value9); - }); - num22 = 0; - num = -1953269067; - continue; - case 0: - num = (enumerator3.MoveNext() ? (-1953269072) : (-1953269068)); - continue; - case 5: - num21 = (float)num22 / (float)(list4.Count - 1); - break; - case 1: - num21 = 0.5f; - break; - case 3: - goto end_IL_0b91; - } - float item4 = num21; - dictionary[(item3, list4[num22])] = (item4, 0.5f); - int num23 = num22; - num3 = 1; - num4 = num23; - int num24 = num4 ^ num3; - int num25 = num4 & num3; - num22 = num24 + (num25 + num25); - num = -1953269067; - continue; - end_IL_0b91: - break; - } - } - using (Dictionary>.Enumerator enumerator3 = dictionary3.GetEnumerator()) - { - num = 559713151; - while (true) - { - int num26 = num; - num3 = 559713150; - num4 = num26; - int num27 = num4 + num3; - int num28 = num4 & num3; - float num29; - float item5; - (QuestId, QuestId) key2; - int num31; - int num32; - int num33; - switch (num27 - (num28 + num28)) - { - case 1: - num = (enumerator3.MoveNext() ? 559713144 : 559713145); - break; - case 3: - num = ((list5.Count > 1) ? 559713147 : 559713150); - break; - case 6: - enumerator3.Current.Deconstruct(out key, out value2); - item6 = key; - list5 = value2; - list5.Sort(delegate(QuestId a, QuestId b) - { - float num78 = (nodePos[a].Min.X + nodePos[a].Max.X) * 0.5f; - float value9 = (nodePos[b].Min.X + nodePos[b].Max.X) * 0.5f; - return num78.CompareTo(value9); - }); - num30 = 0; - num = 559713146; - break; - case 5: - num29 = (float)num30 / (float)(list5.Count - 1); - goto IL_0e26; - case 4: - num = ((num30 < list5.Count) ? 559713149 : 559713151); - break; - case 0: - num29 = 0.5f; - goto IL_0e26; - case 2: - num = 559713151; - break; - case 7: - goto end_IL_0d37; - IL_0e26: - item5 = num29; - key2 = (list5[num30], item6); - dictionary[key2] = (dictionary.GetValueOrDefault(key2, (0.5f, 0.5f)).Item1, item5); - num31 = num30; - num3 = 1; - num4 = num31; - num32 = num4 ^ num3; - num33 = num4 & num3; - num30 = num32 + (num33 + num33); - num = 559713146; - break; - } - continue; - end_IL_0d37: - break; - } - } - Vector4 accentColor = UiThemeUtils.AccentColor; - accentColor.W = 0.9f; - uint num34 = _206E_202A_202C_206F_200F_206A_200C_206D_202D_200B_206B_206E_206C_200B_206B_200E_200D_200F_206D_200B_200C_200C_206B_206B_200F_206D_206E_206D_206E_202C_202A_206C_206A_200D_202C_206E_200D_202B_200B_202D_202E(accentColor); - float size = 6f * graphZoom; - for (int num35 = 0; num35 < 2; num35 = (num4 | num3) + (num4 & num3)) - { - foreach (KeyValuePair> prerequisite2 in graph.Prerequisites) - { - prerequisite2.Deconstruct(out key, out value2); - QuestId questId5 = key; - List list6 = value2; - if (!nodePos.TryGetValue(questId5, out (Vector2, Vector2) value5)) - { - continue; - } - using List.Enumerator enumerator = list6.GetEnumerator(); - num = -1371036284; - while (true) - { - int num36 = num; - num3 = -1371036273; - num4 = num36; - int num37 = num4 + num3; - int num38 = num4 & num3; - int num39; - float num51; - float num56; - float x3; - float num57; - Vector2 p2; - Vector2 pos; - switch (num37 - (num38 + num38)) - { - case 24: - { - float num55 = (vector6.Y - vector5.Y) * 0.4f; - Vector2 p = new Vector2(vector5.X, vector5.Y + num55); - Vector2 vector7 = new Vector2(vector6.X, vector6.Y - num55); - drawList.AddBezierCubic(vector5, p, vector7, vector6, num42, thickness, 28); - DrawArrowhead(drawList, vector6, vector7, size, num42); - num = -1371036284; - break; - } - case 15: - num42 = _206E_202A_202C_206F_200F_206A_200C_206D_202D_200B_206B_206E_206C_200B_206B_200E_200D_200F_206D_200B_200C_200C_206B_206B_200F_206D_206E_206D_206E_202C_202A_206C_206A_200D_202C_206E_200D_202B_200B_202D_202E(HueToColor((float)(int)_200B_200B_202E_206B_200E_206C_206A_206E_202C_200B_200E_202B_206D_206B_202B_202A_202D_202A_200D_200C_206F_200B_206F_206A_206A_200F_200F_202E_202B_200C_206D_202A_206B_202B_206B_202A_202C_206E_206F_202E_202E((ElementId)current3) * 0.618034f % 1f, 0.35f, 0.85f)); - thickness = 2f; - num = -1371036260; - break; - case 12: - num39 = 0; - goto IL_10a6; - case 8: - num = (_200C_206B_202D_206B_206D_202E_206B_200E_200C_206B_202A_206A_206C_206B_200C_202E_200D_206F_200C_200B_206F_202C_202E_202A_206E_202C_206C_206E_206D_202A_202C_202E_200B_202B_202E_200E_200F_202C_206C_202B_202E((ElementId)questId5, (ElementId)questId3) ? (-1371036282) : (-1371036286)); - break; - case 10: - num = ((_200B_200B_202E_206B_200E_206C_206A_206E_202C_200B_200E_202B_206D_206B_202B_202A_202D_202A_200D_200C_206F_200B_206F_206A_206A_200F_200F_202E_202B_200C_206D_202A_206B_202B_206B_202A_202C_206E_206F_202E_202E((ElementId)current3) % 2 == 0) ? (-1371036287) : (-1371036273)); - break; - case 0: - num51 = -1f; - goto IL_1315; - case 19: - { - (float, float) valueOrDefault2 = dictionary.GetValueOrDefault((current3, questId5), (0.5f, 0.5f)); - float item7 = valueOrDefault2.Item1; - float item8 = valueOrDefault2.Item2; - float num52 = value6.Item2.X - value6.Item1.X; - float num53 = value5.Item2.X - value5.Item1.X; - float num54 = 10f * graphZoom; - float x = value6.Item1.X + num54 + (num52 - num54 * 2f) * item7; - float x2 = value5.Item1.X + num54 + (num53 - num54 * 2f) * item8; - vector5 = new Vector2(x, value6.Item2.Y); - vector6 = new Vector2(x2, value5.Item1.Y); - num48 = graph.Layers.GetValueOrDefault(questId5) - graph.Layers.GetValueOrDefault(current3); - num = ((num48 <= 1) ? (-1371036265) : (-1371036278)); - break; - } - case 14: - num51 = 1f; - goto IL_1315; - case 21: - num42 = _206E_202A_202C_206F_200F_206A_200C_206D_202D_200B_206B_206E_206C_200B_206B_200E_200D_200F_206D_200B_200C_200C_206B_206B_200F_206D_206E_206D_206E_202C_202A_206C_206A_200D_202C_206E_200D_202B_200B_202D_202E(HueToColor((float)(int)_200B_200B_202E_206B_200E_206C_206A_206E_202C_200B_200E_202B_206D_206B_202B_202A_202D_202A_200D_200C_206F_200B_206F_206A_206A_200F_200F_202E_202B_200C_206D_202A_206B_202B_206B_202A_202C_206E_206F_202E_202E((ElementId)current3) * 0.618034f % 1f, 0.15f, 0.35f)); - thickness = 1.5f; - num = -1371036260; - break; - case 17: - num = ((!flag2) ? (-1371036264) : (-1371036263)); - break; - case 7: - num = ((num44 < layerWidths.Length) ? (-1371036279) : (-1371036274)); - break; - case 5: - { - valueOrDefault = graph.Layers.GetValueOrDefault(current3); - num43 = 0f; - int num58 = valueOrDefault; - num3 = 1; - num4 = num58; - num44 = (num4 | num3) + (num4 & num3); - num = -1371036277; - break; - } - case 3: - num51 = _202C_206F_200B_200C_202A_206A_202A_206C_206B_202B_206D_200B_206F_200D_200B_202C_200E_202D_200C_200B_206A_202A_200F_206A_202C_200F_200B_206B_200B_200F_200E_202C_202C_206A_202D_202D_206C_202C_202B_202E(num41); - goto IL_1315; - case 16: - current3 = enumerator.Current; - num = ((!nodePos.TryGetValue(current3, out value6)) ? (-1371036284) : (-1371036261)); - break; - case 23: - num = ((!_206D_206A_206B_202D_200F_202B_202E_202A_206E_202A_206C_206F_202B_202B_202C_206D_202C_200B_200D_200C_206C_206A_202D_206A_206D_206B_200F_202D_202E_206D_206F_206B_202A_202D_202B_200C_206F_200E_202E_206E_202E((ElementId)questId3, (ElementId)null)) ? (-1371036288) : (-1371036262)); - break; - case 18: - num = -1371036284; - break; - case 4: - { - int num46 = num44; - int num47 = valueOrDefault; - num3 = num48; - num4 = num47; - int num49 = num4 ^ num3; - int num50 = num4 & num3; - num = ((num46 >= num49 + (num50 + num50)) ? (-1371036274) : (-1371036280)); - break; - } - case 13: - num39 = (_200C_206B_202D_206B_206D_202E_206B_200E_200C_206B_202A_206A_206C_206B_200C_202E_200D_206F_200C_200B_206F_202C_202E_202A_206E_202C_206C_206E_206D_202A_202C_202E_200B_202B_202E_200E_200F_202C_206C_202B_202E((ElementId)current3, (ElementId)questId3) ? 1 : 0); - goto IL_10a6; - case 6: - { - num43 = _206D_200F_206A_200F_206D_202C_202E_202E_206F_206C_200C_206A_202E_202E_206E_202C_206A_202B_206B_206B_206A_206F_202A_202C_202A_200E_202D_200F_206B_200F_202C_206B_206B_206E_206F_200C_202E_202C_206F_202E(num43, layerWidths[num44] * 0.5f); - int num45 = num44; - num3 = 1; - num4 = num45; - num44 = (num4 | num3) + (num4 & num3); - num = -1371036277; - break; - } - case 22: - num42 = num34; - thickness = 2.5f; - num = -1371036260; - break; - case 9: - num39 = 1; - goto IL_10a6; - case 20: - num = ((!_206D_206A_206B_202D_200F_202B_202E_202A_206E_202A_206C_206F_202B_202B_202C_206D_202C_200B_200D_200C_206C_206A_202D_206A_206D_206B_200F_202D_202E_206D_206F_206B_202A_202D_202B_200C_206F_200E_202E_206E_202E((ElementId)questId3, (ElementId)null)) ? (-1371036285) : (-1371036281)); - break; - case 1: - num40 = vector3.X + _graphOffset.X; - num41 = (vector5.X + vector6.X) * 0.5f - num40; - num = ((_200B_202C_200D_206E_202E_206F_206E_200D_206D_202A_200D_206C_200D_206E_202A_202A_202E_202C_202D_206D_200E_200E_200C_202B_200E_200F_202A_202D_200E_206D_202A_202E_206B_206C_206B_206A_200F_206B_206D_206F_202E(num41) > 1f) ? (-1371036276) : (-1371036283)); - break; - case 11: - num = (enumerator.MoveNext() ? (-1371036257) : (-1371036275)); - break; - case 2: - goto end_IL_0f6c; - IL_10a6: - flag2 = (byte)num39 != 0; - num = ((num35 == 0 == flag2) ? (-1371036284) : (-1371036258)); - break; - IL_1315: - num56 = num51; - x3 = num40 + num56 * (num43 + 40f + (float)(_200B_200B_202E_206B_200E_206C_206A_206E_202C_200B_200E_202B_206D_206B_202B_202A_202D_202A_200D_200C_206F_200B_206F_206A_206A_200F_200F_202E_202B_200C_206D_202A_206B_202B_206B_202A_202C_206E_206F_202E_202E((ElementId)current3) % 3) * 16f) * graphZoom; - num57 = _206A_206F_202B_200C_200F_202A_202C_206F_202C_206E_202E_206D_206A_200B_206C_200B_200C_206F_206F_202A_206E_206B_200B_206D_206F_202E_206B_206A_202B_206C_206C_202E_206A_202D_200C_206E_202D_200C_200D_202B_202E(30f * graphZoom, (vector6.Y - vector5.Y) * 0.2f); - p2 = new Vector2(x3, vector5.Y + num57 * 2.5f); - pos = new Vector2(x3, _206D_200F_206A_200F_206D_202C_202E_202E_206F_206C_200C_206A_202E_202E_206E_202C_206A_202B_206B_206B_206A_206F_202A_202C_202A_200E_202D_200F_206B_200F_202C_206B_206B_206E_206F_200C_202E_202C_206F_202E(vector6.Y - num57 * 2.5f, vector5.Y + num57 * 2.5f)); - drawList.PathLineTo(vector5); - drawList.PathBezierCubicCurveTo(new Vector2(vector5.X, vector5.Y + num57 * 1.5f), new Vector2(x3, vector5.Y + num57), p2, 20); - drawList.PathLineTo(pos); - drawList.PathBezierCubicCurveTo(new Vector2(x3, vector6.Y - num57), new Vector2(vector6.X, vector6.Y - num57 * 1.5f), vector6, 20); - drawList.PathStroke(num42, ImDrawFlags.None, thickness); - DrawArrowhead(drawList, vector6, new Vector2(vector6.X, vector6.Y - num57), size, num42); - num = -1371036284; - break; - } - continue; - end_IL_0f6c: - break; - } - } - int num59 = num35; - num3 = 1; - num4 = num59; - } - float fontSize = _200C_206E_202C_200C_202D_206C_206E_206C_206D_200D_200B_200B_202D_200F_206F_202D_206F_202A_200F_202D_206D_200F_202A_200B_200C_202C_202A_200E_206F_202E_202A_200E_206B_202B_200C_206D_202C_206C_200B_202B_202E() * graphZoom; - ImFontPtr font = _206D_206C_202E_206B_200E_202A_200C_206F_206E_206C_206B_206B_202E_200D_206D_202A_200D_200D_206A_202E_206C_200D_200B_206C_202E_200D_206B_200C_200E_206E_202A_202C_200C_202D_200D_206B_206A_202A_202C_202C_202E(); - foreach (List item11 in layers) - { - using List.Enumerator enumerator = item11.GetEnumerator(); - num = 1607295633; - while (true) - { - int num60 = num; - num3 = 1607295638; - num4 = num60; - uint num61; - uint col; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - num61 = _206E_202A_202C_206F_200F_206A_200C_206D_202D_200B_206B_206E_206C_200B_206B_200E_200D_200F_206D_200B_200C_200C_206B_206B_200F_206D_206E_206D_206E_202C_202A_206C_206A_200D_202C_206E_200D_202B_200B_202D_202E(new Vector4(1f, 1f, 1f, 0.5f)); - goto IL_1702; - case 8: - drawList.AddRect(value7.Item1 - Vector2.One, value7.Item2 + Vector2.One, _206E_202A_202C_206F_200F_206A_200C_206D_202D_200B_206B_206E_206C_200B_206B_200E_200D_200F_206D_200B_200C_200C_206B_206B_200F_206D_206E_206D_206E_202C_202A_206C_206A_200D_202C_206E_200D_202B_200B_202D_202E(UiThemeUtils.AccentColor), 5f, ImDrawFlags.None, 3f); - num = 1607295637; - break; - case 2: - num = 1607295633; - break; - case 10: - current4 = enumerator.Current; - num = ((!nodePos.TryGetValue(current4, out value7)) ? 1607295633 : 1607295647); - break; - case 7: - num = (enumerator.MoveNext() ? 1607295644 : 1607295639); - break; - case 9: - { - bool num64 = _200C_206B_202D_206B_206D_202E_206B_200E_200C_206B_202A_206A_206C_206B_200C_202E_200D_206F_200C_200B_206F_202C_202E_202A_206E_202C_206C_206E_206D_202A_202C_202E_200B_202B_202E_200E_200F_202C_206C_202B_202E((ElementId)current4, (ElementId)graph.SelectedQuest); - flag3 = _200C_206B_202D_206B_206D_202E_206B_200E_200C_206B_202A_206A_206C_206B_200C_202E_200D_206F_200C_200B_206F_202C_202E_202A_206E_202C_206C_206E_206D_202A_202C_202E_200B_202B_202E_200E_200F_202C_206C_202B_202E((ElementId)questId2, (ElementId)current4); - NodeStatusEntry valueOrDefault4 = _nodeStatusCache.GetValueOrDefault(current4, new NodeStatusEntry(NodeFillLocked, IsDone: false)); - Vector4 vector9 = valueOrDefault4.BgColor; - isDone = valueOrDefault4.IsDone; - if (isDone) - { - accentColor = GraphBackgroundColor; - accentColor.W = 1f; - Vector4 value8 = accentColor; - accentColor = vector9; - accentColor.W = 1f; - vector9 = Vector4.Lerp(value8, accentColor, 0.5f); - } - drawList.AddRectFilled(value7.Item1, value7.Item2, _206E_202A_202C_206F_200F_206A_200C_206D_202D_200B_206B_206E_206C_200B_206B_200E_200D_200F_206D_200B_200C_200C_206B_206B_200F_206D_206E_206D_206E_202C_202A_206C_206A_200D_202C_206E_200D_202B_200B_202D_202E(vector9), 5f); - num = ((!num64) ? 1607295632 : 1607295646); - break; - } - case 0: - num61 = _206E_202A_202C_206F_200F_206A_200C_206D_202D_200B_206B_206E_206C_200B_206B_200E_200D_200F_206D_200B_200C_200C_206B_206B_200F_206D_206E_206D_206E_202C_202A_206C_206A_200D_202C_206E_200D_202B_200B_202D_202E(new Vector4(1f, 1f, 1f, 1f)); - goto IL_1702; - case 3: - { - valueOrDefault3 = _cachedLayout.TruncatedLabels.GetValueOrDefault(current4, _202E_206B_206F_206D_202A_202E_202A_206B_202C_202A_202C_200D_202D_202E_202E_202E_200E_206E_206E_206C_200D_200D_206D_206E_206C_206D_200D_206F_206D_206F_200D_200C_206E_206D_202E_202D_202A_202C_202C_200C_202E((object)current4)); - float num62 = value7.Item2.X - value7.Item1.X; - float num63 = value7.Item2.Y - value7.Item1.Y; - Vector2 vector8 = _200C_202E_206B_202A_206C_206F_202B_202C_202B_200F_206D_200F_206D_206D_200E_200F_206B_206F_200D_206A_206A_200B_206E_200D_200B_200E_200D_202E_200B_200B_200B_202A_206B_206C_202C_202E_206D_206B_206E_202D_202E((ImU8String)valueOrDefault3, false, -1f) * graphZoom; - pos2 = new Vector2(value7.Item1.X + (num62 - vector8.X) * 0.5f, value7.Item1.Y + (num63 - vector8.Y) * 0.5f); - num = (isDone ? 1607295635 : 1607295638); - break; - } - case 6: - num = ((!flag3) ? 1607295637 : 1607295634); - break; - case 4: - { - Vector2 item9 = value7.Item1; - Vector2 item10 = value7.Item2; - accentColor = UiThemeUtils.AccentColor; - accentColor.W = 0.6f; - drawList.AddRect(item9, item10, _206E_202A_202C_206F_200F_206A_200C_206D_202D_200B_206B_206E_206C_200B_206B_200E_200D_200F_206D_200B_200C_200C_206B_206B_200F_206D_206E_206D_206E_202C_202A_206C_206A_200D_202C_206E_200D_202B_200B_202D_202E(accentColor), 5f, ImDrawFlags.None, 1.5f); - num = 1607295637; - break; - } - case 1: - goto end_IL_1698; - IL_1702: - col = num61; - drawList.AddText(font, fontSize, pos2, col, valueOrDefault3); - num = 1607295633; - break; - } - continue; - end_IL_1698: - break; - } - } - drawList.PopClipRect(); - num = ((!_206D_206A_206B_202D_200F_202B_202E_202A_206E_202A_206C_206F_202B_202B_202C_206D_202C_200B_200D_200C_206C_206A_202D_206A_206D_206B_200F_202D_202E_206D_206F_206B_202A_202D_202B_200C_206F_200E_202E_206E_202E((ElementId)questId2, (ElementId)null)) ? 1631145092 : 1631145089); - while (true) - { - int num65 = num; - num3 = 1631145100; - num4 = num65; - int num66 = num4 + num3; - int num67 = num4 & num3; - switch (num66 - (num67 + num67)) - { - case 0: - num = 1631145089; - break; - case 11: - _selectedQuestId = questId2; - _showDetail = true; - num = 1631145092; - break; - case 12: - num = (dragMoved ? 1631145092 : 1631145095); - break; - case 5: - num = (dragMoved ? 1631145102 : 1631145096); - break; - case 4: - num = ((!_questData.TryGetQuestInfo(questId2, out questInfo2)) ? 1631145102 : 1631145103); - break; - case 9: - num = ((!_206D_206A_206B_202D_200F_202B_202E_202A_206E_202A_206C_206F_202B_202B_202C_206D_202C_200B_200D_200C_206C_206A_202D_206A_206D_206B_200F_202D_202E_206D_206F_206B_202A_202D_202B_200C_206F_200E_202E_206E_202E((ElementId)questId2, (ElementId)null)) ? 1631145094 : 1631145098); - break; - case 1: - num = ((!_202E_202C_200B_202A_200D_200F_200C_200D_206C_206E_206A_202D_206A_206E_202B_202D_202B_200B_202A_206B_200B_200B_200F_206C_206F_206D_200B_206D_200D_202E_206F_206C_206A_206A_202A_206E_202D_206F_200E_200F_202E(ImGuiMouseButton.Right)) ? 1631145102 : 1631145097); - break; - case 10: - DrawNodeContextMenu(); - return; - case 13: - num = ((!_202E_202C_200B_202A_200D_200F_200C_200D_206C_206E_206A_202D_206A_206E_202B_202D_202B_200B_202A_206B_200B_200B_200F_206C_206F_206D_200B_206D_200D_202E_206F_206C_206A_206A_202A_206E_202D_206F_200E_200F_202E(ImGuiMouseButton.Left)) ? 1631145092 : 1631145088); - break; - case 3: - { - _contextMenuNodeId = questId2; - QuestJournalUtils? questJournalUtils = QuestJournalUtils; - if (questJournalUtils == null) - { - goto case 2; - } - questJournalUtils.OpenContextMenu(questInfo2); - num = 1631145102; - break; - } - case 8: - num = ((!_206D_206A_206B_202D_200F_202B_202E_202A_206E_202A_206C_206F_202B_202B_202C_206D_202C_200B_200D_200C_206C_206A_202D_206A_206D_206B_200F_202D_202E_206D_206F_206B_202A_202D_202B_200C_206F_200E_202E_206E_202E((ElementId)questId2, (ElementId)null)) ? 1631145102 : 1631145101); - break; - case 6: - num = ((!_questData.TryGetQuestInfo(questId2, out questInfo)) ? 1631145094 : 1631145090); - break; - case 2: - num = (flag4 ? 1631145093 : 1631145099); - break; - case 14: - _questTooltipComponent.Draw(questInfo); - num = 1631145094; - break; - case 7: - _dragMoved = false; - num = 1631145093; - break; - } - } - } } } - static Vector4 HueToColor(float hue, float sat, float alpha) + Dictionary nodePos = new Dictionary(); + for (int k = 0; k < layers.Count; k++) { - float num78 = hue * 6f; - float num79 = sat * (1f - _200B_202C_200D_206E_202E_206F_206E_200D_206D_202A_200D_206C_200D_206E_202A_202A_202E_202C_202D_206D_200E_200E_200C_202B_200E_200F_202A_202D_200E_206D_202A_202E_206B_206C_206B_206A_200F_206B_206D_206F_202E(num78 % 2f - 1f)); - int num80 = ((!(num78 < 1f)) ? 687735810 : 687735819); - float num85 = default(float); - float num86 = default(float); - float num87 = default(float); - while (true) + List list = layers[k]; + float num5 = (0f - layerWidths[k]) * 0.5f; + float num6 = (float)k * 81f; + foreach (QuestId item11 in list) { - int num81 = num80; - int num82 = 687735816; - int num83 = num81; - switch ((num83 | num82) - (num83 & num82)) + float num7 = nodeWidths[item11]; + Vector2 item = vector3 + new Vector2(num5, num6) * graphZoom + _graphOffset; + Vector2 item2 = vector3 + new Vector2(num5 + num7, num6 + 26f) * graphZoom + _graphOffset; + nodePos[item11] = (item, item2); + num5 += num7 + 20f; + } + } + QuestId questId = null; + bool dragMoved = _dragMoved; + QuestId key; + if (flag && !dragMoved) + { + foreach (KeyValuePair item12 in nodePos) + { + item12.Deconstruct(out key, out var value); + QuestId questId2 = key; + (Vector2, Vector2) tuple = value; + if (mousePos.X >= tuple.Item1.X && mousePos.X <= tuple.Item2.X && mousePos.Y >= tuple.Item1.Y && mousePos.Y <= tuple.Item2.Y) { - case 4: - num85 = num79; - num86 = 0f; - num87 = sat; - num80 = 687735808; - break; - case 8: - { - float num84 = 1f - sat; - return new Vector4(num85 + num84, num86 + num84, num87 + num84, alpha); - } - case 5: - num85 = 0f; - num86 = num79; - num87 = sat; - num80 = 687735808; - break; - case 2: - num85 = sat; - num86 = 0f; - num87 = num79; - num80 = 687735808; - break; - case 9: - num85 = 0f; - num86 = sat; - num87 = num79; - num80 = 687735808; - break; - case 10: - num80 = ((!(num78 < 2f)) ? 687735811 : 687735817); - break; - case 6: - num80 = ((!(num78 < 4f)) ? 687735816 : 687735821); - break; - case 3: - num85 = sat; - num86 = num79; - num87 = 0f; - num80 = 687735808; - break; - case 0: - num80 = ((!(num78 < 5f)) ? 687735818 : 687735820); - break; - case 7: - num80 = 687735819; - break; - case 1: - num85 = num79; - num86 = sat; - num87 = 0f; - num80 = 687735808; - break; - case 11: - num80 = ((!(num78 < 3f)) ? 687735822 : 687735809); + questId = questId2; break; } } } + QuestId questId3 = questId ?? graph.SelectedQuest; + Dictionary<(QuestId, QuestId), (float, float)> dictionary = new Dictionary<(QuestId, QuestId), (float, float)>(); + Dictionary> dictionary2 = new Dictionary>(); + Dictionary> dictionary3 = new Dictionary>(); + List value2; + foreach (KeyValuePair> prerequisite in graph.Prerequisites) + { + prerequisite.Deconstruct(out key, out value2); + QuestId questId4 = key; + foreach (QuestId item13 in value2) + { + if (nodePos.ContainsKey(item13) && nodePos.ContainsKey(questId4)) + { + if (!dictionary2.TryGetValue(item13, out var value3)) + { + value3 = (dictionary2[item13] = new List()); + } + value3.Add(questId4); + if (!dictionary3.TryGetValue(questId4, out var value4)) + { + value4 = (dictionary3[questId4] = new List()); + } + value4.Add(item13); + } + } + } + foreach (KeyValuePair> item14 in dictionary2) + { + item14.Deconstruct(out key, out value2); + QuestId item3 = key; + List list4 = value2; + list4.Sort(delegate(QuestId a, QuestId b) + { + float num26 = (nodePos[a].Min.X + nodePos[a].Max.X) * 0.5f; + float value9 = (nodePos[b].Min.X + nodePos[b].Max.X) * 0.5f; + return num26.CompareTo(value9); + }); + for (int num8 = 0; num8 < list4.Count; num8++) + { + float item4 = ((list4.Count > 1) ? ((float)num8 / (float)(list4.Count - 1)) : 0.5f); + dictionary[(item3, list4[num8])] = (item4, 0.5f); + } + } + foreach (KeyValuePair> item15 in dictionary3) + { + item15.Deconstruct(out key, out value2); + QuestId item5 = key; + List list5 = value2; + list5.Sort(delegate(QuestId a, QuestId b) + { + float num26 = (nodePos[a].Min.X + nodePos[a].Max.X) * 0.5f; + float value9 = (nodePos[b].Min.X + nodePos[b].Max.X) * 0.5f; + return num26.CompareTo(value9); + }); + for (int num9 = 0; num9 < list5.Count; num9++) + { + float item6 = ((list5.Count > 1) ? ((float)num9 / (float)(list5.Count - 1)) : 0.5f); + (QuestId, QuestId) key2 = (list5[num9], item5); + dictionary[key2] = (dictionary.GetValueOrDefault(key2, (0.5f, 0.5f)).Item1, item6); + } + } + Vector4 accentColor = UiThemeUtils.AccentColor; + accentColor.W = 0.9f; + uint num10 = ImGui.ColorConvertFloat4ToU32(accentColor); + float size = 6f * graphZoom; + for (int num11 = 0; num11 < 2; num11++) + { + foreach (KeyValuePair> prerequisite2 in graph.Prerequisites) + { + prerequisite2.Deconstruct(out key, out value2); + QuestId questId5 = key; + List list6 = value2; + if (!nodePos.TryGetValue(questId5, out (Vector2, Vector2) value5)) + { + continue; + } + foreach (QuestId item16 in list6) + { + if (!nodePos.TryGetValue(item16, out (Vector2, Vector2) value6)) + { + continue; + } + bool flag3 = questId3 != null && (questId5 == questId3 || item16 == questId3); + if (num11 == 0 == flag3) + { + continue; + } + uint num12; + float thickness; + if (flag3) + { + num12 = num10; + thickness = 2.5f; + } + else if (questId3 != null) + { + num12 = ImGui.ColorConvertFloat4ToU32(HueToColor((float)(int)item16.Value * 0.618034f % 1f, 0.15f, 0.35f)); + thickness = 1.5f; + } + else + { + num12 = ImGui.ColorConvertFloat4ToU32(HueToColor((float)(int)item16.Value * 0.618034f % 1f, 0.35f, 0.85f)); + thickness = 2f; + } + (float, float) valueOrDefault = dictionary.GetValueOrDefault((item16, questId5), (0.5f, 0.5f)); + float item7 = valueOrDefault.Item1; + float item8 = valueOrDefault.Item2; + float num13 = value6.Item2.X - value6.Item1.X; + float num14 = value5.Item2.X - value5.Item1.X; + float num15 = 10f * graphZoom; + float x = value6.Item1.X + num15 + (num13 - num15 * 2f) * item7; + float x2 = value5.Item1.X + num15 + (num14 - num15 * 2f) * item8; + Vector2 vector4 = new Vector2(x, value6.Item2.Y); + Vector2 vector5 = new Vector2(x2, value5.Item1.Y); + int num16 = graph.Layers.GetValueOrDefault(questId5) - graph.Layers.GetValueOrDefault(item16); + if (num16 > 1) + { + int valueOrDefault2 = graph.Layers.GetValueOrDefault(item16); + float num17 = 0f; + for (int num18 = valueOrDefault2 + 1; num18 < valueOrDefault2 + num16 && num18 < layerWidths.Length; num18++) + { + num17 = MathF.Max(num17, layerWidths[num18] * 0.5f); + } + float num19 = vector3.X + _graphOffset.X; + float x3 = (vector4.X + vector5.X) * 0.5f - num19; + float num20 = ((MathF.Abs(x3) > 1f) ? ((float)MathF.Sign(x3)) : ((item16.Value % 2 == 0) ? 1f : (-1f))); + float x4 = num19 + num20 * (num17 + 40f + (float)(item16.Value % 3) * 16f) * graphZoom; + float num21 = MathF.Min(30f * graphZoom, (vector5.Y - vector4.Y) * 0.2f); + Vector2 p = new Vector2(x4, vector4.Y + num21 * 2.5f); + Vector2 pos = new Vector2(x4, MathF.Max(vector5.Y - num21 * 2.5f, vector4.Y + num21 * 2.5f)); + windowDrawList.PathLineTo(vector4); + windowDrawList.PathBezierCubicCurveTo(new Vector2(vector4.X, vector4.Y + num21 * 1.5f), new Vector2(x4, vector4.Y + num21), p, 20); + windowDrawList.PathLineTo(pos); + windowDrawList.PathBezierCubicCurveTo(new Vector2(x4, vector5.Y - num21), new Vector2(vector5.X, vector5.Y - num21 * 1.5f), vector5, 20); + windowDrawList.PathStroke(num12, ImDrawFlags.None, thickness); + DrawArrowhead(windowDrawList, vector5, new Vector2(vector5.X, vector5.Y - num21), size, num12); + } + else + { + float num22 = (vector5.Y - vector4.Y) * 0.4f; + Vector2 p2 = new Vector2(vector4.X, vector4.Y + num22); + Vector2 vector6 = new Vector2(vector5.X, vector5.Y - num22); + windowDrawList.AddBezierCubic(vector4, p2, vector6, vector5, num12, thickness, 28); + DrawArrowhead(windowDrawList, vector5, vector6, size, num12); + } + } + } + } + float fontSize = ImGui.GetFontSize() * graphZoom; + ImFontPtr font = ImGui.GetFont(); + foreach (List item17 in layers) + { + foreach (QuestId item18 in item17) + { + if (nodePos.TryGetValue(item18, out (Vector2, Vector2) value7)) + { + bool num23 = item18 == graph.SelectedQuest; + bool flag4 = questId == item18; + NodeStatusEntry valueOrDefault3 = _nodeStatusCache.GetValueOrDefault(item18, new NodeStatusEntry(NodeFillLocked, IsDone: false)); + Vector4 vector7 = valueOrDefault3.BgColor; + bool isDone = valueOrDefault3.IsDone; + if (isDone) + { + accentColor = GraphBackgroundColor; + accentColor.W = 1f; + Vector4 value8 = accentColor; + accentColor = vector7; + accentColor.W = 1f; + vector7 = Vector4.Lerp(value8, accentColor, 0.5f); + } + windowDrawList.AddRectFilled(value7.Item1, value7.Item2, ImGui.ColorConvertFloat4ToU32(vector7), 5f); + if (num23) + { + windowDrawList.AddRect(value7.Item1 - Vector2.One, value7.Item2 + Vector2.One, ImGui.ColorConvertFloat4ToU32(UiThemeUtils.AccentColor), 5f, ImDrawFlags.None, 3f); + } + else if (flag4) + { + Vector2 item9 = value7.Item1; + Vector2 item10 = value7.Item2; + accentColor = UiThemeUtils.AccentColor; + accentColor.W = 0.6f; + windowDrawList.AddRect(item9, item10, ImGui.ColorConvertFloat4ToU32(accentColor), 5f, ImDrawFlags.None, 1.5f); + } + string valueOrDefault4 = _cachedLayout.TruncatedLabels.GetValueOrDefault(item18, item18.ToString()); + float num24 = value7.Item2.X - value7.Item1.X; + float num25 = value7.Item2.Y - value7.Item1.Y; + Vector2 vector8 = ImGui.CalcTextSize(valueOrDefault4) * graphZoom; + Vector2 pos2 = new Vector2(value7.Item1.X + (num24 - vector8.X) * 0.5f, value7.Item1.Y + (num25 - vector8.Y) * 0.5f); + uint col = (isDone ? ImGui.ColorConvertFloat4ToU32(new Vector4(1f, 1f, 1f, 0.5f)) : ImGui.ColorConvertFloat4ToU32(new Vector4(1f, 1f, 1f, 1f))); + windowDrawList.AddText(font, fontSize, pos2, col, valueOrDefault4); + } + } + } + windowDrawList.PopClipRect(); + if (questId != null && ImGui.IsMouseReleased(ImGuiMouseButton.Left) && !dragMoved) + { + _selectedQuestId = questId; + _showDetail = true; + } + if (questId != null && ImGui.IsMouseReleased(ImGuiMouseButton.Right) && !dragMoved && _questData.TryGetQuestInfo(questId, out IQuestInfo questInfo)) + { + _contextMenuNodeId = questId; + QuestJournalUtils?.OpenContextMenu(questInfo); + } + if (!flag2) + { + _dragMoved = false; + } + if (questId != null && _questData.TryGetQuestInfo(questId, out IQuestInfo questInfo2)) + { + _questTooltipComponent.Draw(questInfo2); + } + DrawNodeContextMenu(); + static Vector4 HueToColor(float hue, float sat, float alpha) + { + float num26 = hue * 6f; + float num27 = sat * (1f - MathF.Abs(num26 % 2f - 1f)); + float num28; + float num29; + float num30; + if (num26 < 1f) + { + num28 = sat; + num29 = num27; + num30 = 0f; + } + else if (num26 < 2f) + { + num28 = num27; + num29 = sat; + num30 = 0f; + } + else if (num26 < 3f) + { + num28 = 0f; + num29 = sat; + num30 = num27; + } + else if (num26 < 4f) + { + num28 = 0f; + num29 = num27; + num30 = sat; + } + else if (num26 < 5f) + { + num28 = num27; + num29 = 0f; + num30 = sat; + } + else + { + num28 = sat; + num29 = 0f; + num30 = num27; + } + float num31 = 1f - sat; + return new Vector4(num28 + num31, num29 + num31, num30 + num31, alpha); + } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawNodeContextMenu() { QuestId contextMenuNodeId = _contextMenuNodeId; - int num = (((object)contextMenuNodeId == null) ? 1466448774 : 1466448773); - IQuestInfo questInfo = default(IQuestInfo); - QuestJournalUtils questJournalUtils = default(QuestJournalUtils); - while (true) + if ((object)contextMenuNodeId == null) { - int num2 = num; - int num3 = 1466448774; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - return; - case 1: - num = (_questData.TryGetQuestInfo(contextMenuNodeId, out questInfo) ? 1466448770 : 1466448772); - break; - case 7: - num = 1466448773; - break; - case 3: - questJournalUtils = QuestJournalUtils; - num = ((questJournalUtils != null) ? 1466448775 : 1466448774); - break; - case 2: - _contextMenuNodeId = null; - return; - case 0: - return; - case 4: - { - Questionable.Model.Quest quest = null; - _questRegistry.TryGetQuest(contextMenuNodeId, out quest); - num = (questJournalUtils.DrawContextMenu(questInfo, quest, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1814952447)) ? 1466448771 : 1466448768); - break; - } - case 6: - _contextMenuNodeId = null; - num = 1466448771; - break; - } + return; + } + QuestJournalUtils questJournalUtils = QuestJournalUtils; + if (questJournalUtils == null) + { + return; + } + if (!_questData.TryGetQuestInfo(contextMenuNodeId, out IQuestInfo questInfo)) + { + _contextMenuNodeId = null; + return; + } + Questionable.Model.Quest quest = null; + _questRegistry.TryGetQuest(contextMenuNodeId, out quest); + if (!questJournalUtils.DrawContextMenu(questInfo, quest, "QuestChainComponent")) + { + _contextMenuNodeId = null; } } private static List> ReorderLayers(QuestChainGraph graph) { List> list = new List>(); - int num = 0; - int num2 = 2069656921; - Dictionary> dependents; - QuestId current = default(QuestId); - List value = default(List); - int num15 = default(int); - int num13 = default(int); - List list4 = default(List); - bool flag = default(bool); - int num19 = default(int); - int num21 = default(int); - int num12 = default(int); - List adjAbove = default(List); - List adjBelow = default(List); - while (true) + for (int i = 0; i < graph.LayerOrder.Count; i++) { - int num3 = num2; - int num4 = 2069656924; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + list.Add(new List(graph.LayerOrder[i])); + } + if (list.Count <= 1) + { + return list; + } + Dictionary> dependents = new Dictionary>(); + foreach (var (item, list3) in graph.Prerequisites) + { + foreach (QuestId item2 in list3) { - case 5: - num2 = ((num < graph.LayerOrder.Count) ? 2069656925 : 2069656926); - break; - case 0: - return list; - case 2: - num2 = ((list.Count > 1) ? 2069656927 : 2069656924); - break; - case 4: - num2 = 2069656921; - break; - case 1: - { - list.Add(new List(graph.LayerOrder[num])); - int num45 = num; - num4 = 1; - num5 = num45; - num = (num5 | num4) + (num5 & num4); - num2 = 2069656921; - break; - } - case 3: - { - dependents = new Dictionary>(); - foreach (var (item, list3) in graph.Prerequisites) + if (!dependents.TryGetValue(item2, out List value)) { - using List.Enumerator enumerator2 = list3.GetEnumerator(); - num2 = 1740892846; - while (true) - { - int num6 = num2; - num4 = 1740892844; - num5 = num6; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - num2 = (enumerator2.MoveNext() ? 1740892847 : 1740892845); - break; - case 3: - current = enumerator2.Current; - num2 = (dependents.TryGetValue(current, out value) ? 1740892841 : 1740892840); - break; - case 0: - num2 = 1740892846; - break; - case 4: - value = new List(); - dependents[current] = value; - num2 = 1740892841; - break; - case 5: - value.Add(item); - num2 = 1740892846; - break; - case 1: - goto end_IL_0141; - } - continue; - end_IL_0141: - break; - } + value = new List(); + dependents[item2] = value; } - int num7 = 0; - num2 = 675261841; - while (true) - { - int num8 = num2; - num4 = 675261855; - num5 = num8; - int num9 = num5 + num4; - int num10 = num5 & num4; - object obj; - object obj2; - switch (num9 - (num10 + num10)) - { - case 0: - { - int num14 = num15; - num4 = 1; - num5 = num14; - int num16 = num5 ^ num4; - int num17 = num5 & num4; - obj = list[num16 + (num17 + num17)]; - goto IL_030a; - } - case 7: - obj = null; - goto IL_030a; - case 2: - num2 = ((num13 < list4.Count - 1) ? 675261850 : 675261832); - break; - case 20: - { - int num44 = num7; - num4 = 1; - num5 = num44; - num7 = (num5 | num4) + (num5 & num4); - num2 = 675261841; - break; - } - case 13: - flag = false; - num15 = 0; - num2 = 675261826; - break; - case 23: - { - int num28 = num15; - num4 = 1; - num5 = num28; - int num29 = num5 ^ num4; - int num30 = num5 & num4; - num15 = num29 + (num30 + num30); - num2 = 675261826; - break; - } - case 16: - num2 = ((num19 < list.Count) ? 675261837 : 675261840); - break; - case 27: - list4 = list[num15]; - num2 = ((list4.Count < 2) ? 675261832 : 675261852); - break; - case 9: - num2 = ((!flag) ? 675261849 : 675261836); - break; - case 15: - num2 = 675261835; - break; - case 12: - num2 = 675261841; - break; - case 21: - num2 = ((num21 >= 0) ? 675261838 : 675261835); - break; - case 18: - { - int num18 = num19; - num4 = 1; - num5 = num18; - List referenceLayer = list[~(~num5 + num4)]; - Dictionary bary = ComputeBarycenters(list[num19], referenceLayer, (QuestId qid) => graph.Prerequisites.GetValueOrDefault(qid)); - list[num19].Sort((QuestId a, QuestId b) => bary.GetValueOrDefault(a).CompareTo(bary.GetValueOrDefault(b))); - int num20 = num19; - num4 = 1; - num5 = num20; - num19 = (num5 | num4) + (num5 & num4); - num2 = 675261839; - break; - } - case 25: - obj2 = null; - goto IL_0752; - case 17: - { - int num40 = num21; - num4 = 1; - num5 = num40; - int num41 = num5 ^ num4; - int num42 = num5 & num4; - List referenceLayer2 = list[num41 + (num42 + num42)]; - Dictionary bary2 = ComputeBarycenters(list[num21], referenceLayer2, (QuestId qid) => dependents.GetValueOrDefault(qid)); - list[num21].Sort((QuestId a, QuestId b) => bary2.GetValueOrDefault(a).CompareTo(bary2.GetValueOrDefault(b))); - int num43 = num21; - num4 = 1; - num5 = num43; - num21 = ~(~num5 + num4); - num2 = 675261834; - break; - } - case 28: - { - int num37 = num13; - num4 = 1; - num5 = num37; - int num38 = num5 ^ num4; - int num39 = num5 & num4; - num13 = num38 + (num39 + num39); - num2 = 675261853; - break; - } - case 4: - num2 = ((num12 < 3) ? 675261842 : 675261849); - break; - case 11: - num2 = ((num7 % 2 != 0) ? 675261831 : 675261829); - break; - case 22: - { - List list5 = list4; - int index2 = num13; - List list8 = list4; - int num31 = num13; - num4 = 1; - num5 = num31; - int num32 = num5 ^ num4; - int num33 = num5 & num4; - int index = num32 + (num33 + num33); - List list9 = list4; - int num34 = num13; - num4 = 1; - num5 = num34; - int num35 = num5 ^ num4; - int num36 = num5 & num4; - QuestId value3 = list9[num35 + (num36 + num36)]; - QuestId value2 = list4[num13]; - list5[index2] = value3; - list8[index] = value2; - num2 = 675261827; - break; - } - case 1: - num12 = 0; - num2 = 675261851; - break; - case 24: - num21 = list.Count - 2; - num2 = 675261834; - break; - case 26: - num19 = 1; - num2 = 675261839; - break; - case 6: - return list; - case 5: - { - int num23 = CountCrossings(list4, adjAbove, adjBelow, graph.Prerequisites, dependents); - List list5 = list4; - int index = num13; - List list6 = list4; - int num24 = num13; - num4 = 1; - num5 = num24; - int index2 = (num5 | num4) + (num5 & num4); - List list7 = list4; - int num25 = num13; - num4 = 1; - num5 = num25; - int num26 = num5 ^ num4; - int num27 = num5 & num4; - QuestId value2 = list7[num26 + (num27 + num27)]; - QuestId value3 = list4[num13]; - list5[index] = value2; - list6[index2] = value3; - num2 = ((CountCrossings(list4, adjAbove, adjBelow, graph.Prerequisites, dependents) >= num23) ? 675261833 : 675261845); - break; - } - case 8: - { - int num22 = num15; - num4 = 1; - num5 = num22; - obj2 = list[~(~num5 + num4)]; - goto IL_0752; - } - case 3: - num2 = ((num15 > 0) ? 675261847 : 675261830); - break; - case 10: - flag = true; - num2 = 675261827; - break; - case 29: - num2 = ((num15 < list.Count) ? 675261828 : 675261846); - break; - case 14: - num2 = ((num7 < 6) ? 675261844 : 675261854); - break; - case 19: - { - int num11 = num12; - num4 = 1; - num5 = num11; - num12 = (num5 | num4) + (num5 & num4); - num2 = 675261851; - break; - } - IL_030a: - adjBelow = (List)obj; - num13 = 0; - num2 = 675261853; - break; - IL_0752: - adjAbove = (List)obj2; - num2 = ((num15 < list.Count - 1) ? 675261855 : 675261848); - break; - } - } - } + value.Add(item); } } + for (int j = 0; j < 6; j++) + { + if (j % 2 == 0) + { + for (int k = 1; k < list.Count; k++) + { + List referenceLayer = list[k - 1]; + Dictionary bary = ComputeBarycenters(list[k], referenceLayer, (QuestId qid) => graph.Prerequisites.GetValueOrDefault(qid)); + list[k].Sort((QuestId a, QuestId b) => bary.GetValueOrDefault(a).CompareTo(bary.GetValueOrDefault(b))); + } + continue; + } + for (int num = list.Count - 2; num >= 0; num--) + { + List referenceLayer2 = list[num + 1]; + Dictionary bary2 = ComputeBarycenters(list[num], referenceLayer2, (QuestId qid) => dependents.GetValueOrDefault(qid)); + list[num].Sort((QuestId a, QuestId b) => bary2.GetValueOrDefault(a).CompareTo(bary2.GetValueOrDefault(b))); + } + } + for (int num2 = 0; num2 < 3; num2++) + { + bool flag = false; + for (int num3 = 0; num3 < list.Count; num3++) + { + List list4 = list[num3]; + if (list4.Count < 2) + { + continue; + } + List adjAbove = ((num3 > 0) ? list[num3 - 1] : null); + List adjBelow = ((num3 < list.Count - 1) ? list[num3 + 1] : null); + for (int num4 = 0; num4 < list4.Count - 1; num4++) + { + int num5 = CountCrossings(list4, adjAbove, adjBelow, graph.Prerequisites, dependents); + List list5 = list4; + int index = num4; + int index2 = num4 + 1; + QuestId value2 = list4[num4 + 1]; + QuestId value3 = list4[num4]; + list5[index] = value2; + list4[index2] = value3; + if (CountCrossings(list4, adjAbove, adjBelow, graph.Prerequisites, dependents) < num5) + { + flag = true; + continue; + } + list5 = list4; + index2 = num4; + index = num4 + 1; + value3 = list4[num4 + 1]; + value2 = list4[num4]; + list5[index2] = value3; + list4[index] = value2; + } + } + if (!flag) + { + break; + } + } + return list; } private static int CountCrossings(List layer, List? adjAbove, List? adjBelow, Dictionary> prerequisites, Dictionary> dependents) { int num = 0; - int num2 = ((adjAbove == null) ? (-1766914003) : (-1766914004)); - while (true) + if (adjAbove != null) { - int num3 = num2; - int num4 = -1766914003; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 2: - num2 = -1766914004; - break; - case 0: - num2 = ((adjBelow == null) ? (-1766914007) : (-1766914002)); - break; - case 1: - num += CountLayerCrossings(adjAbove, layer, (QuestId qid) => prerequisites.GetValueOrDefault(qid)); - num2 = -1766914003; - break; - case 3: - num += CountLayerCrossings(layer, adjBelow, (QuestId qid) => dependents.GetValueOrDefault(qid)); - num2 = -1766914007; - break; - case 4: - return num; - } + num += CountLayerCrossings(adjAbove, layer, (QuestId qid) => prerequisites.GetValueOrDefault(qid)); } + if (adjBelow != null) + { + num += CountLayerCrossings(layer, adjBelow, (QuestId qid) => dependents.GetValueOrDefault(qid)); + } + return num; } private static int CountLayerCrossings(List upperLayer, List lowerLayer, Func?> getUpperConnections) { int num = 0; - int num2 = 0; - int num14 = default(int); - while (true) + for (int i = 0; i < lowerLayer.Count; i++) { - int num10; - int num4; - int num5; - if (num2 < lowerLayer.Count) + List list = getUpperConnections(lowerLayer[i]); + if (list == null) { - List list = getUpperConnections(lowerLayer[num2]); - if (list == null) + continue; + } + for (int j = i + 1; j < lowerLayer.Count; j++) + { + List list2 = getUpperConnections(lowerLayer[j]); + if (list2 == null) { - goto IL_01f1; + continue; } - int num3 = num2; - num4 = 1; - num5 = num3; - int num6 = num5 ^ num4; - int num7 = num5 & num4; - int num8 = num6 + (num7 + num7); - while (num8 < lowerLayer.Count) + foreach (QuestId item in list) { - List list2 = getUpperConnections(lowerLayer[num8]); - if (list2 != null) + int num2 = upperLayer.IndexOf(item); + if (num2 < 0) { - foreach (QuestId item in list) + continue; + } + foreach (QuestId item2 in list2) + { + int num3 = upperLayer.IndexOf(item2); + if (num3 >= 0 && num2 > num3) { - int num9 = upperLayer.IndexOf(item); - if (num9 < 0) - { - continue; - } - using List.Enumerator enumerator2 = list2.GetEnumerator(); - num10 = 2134794961; - while (true) - { - int num11 = num10; - num4 = 2134794963; - num5 = num11; - int num12 = num5 + num4; - int num13 = num5 & num4; - switch (num12 - (num13 + num13)) - { - case 1: - { - int num15 = num; - num4 = 1; - num5 = num15; - num = (num5 | num4) + (num5 & num4); - num10 = 2134794961; - break; - } - case 2: - num10 = (enumerator2.MoveNext() ? 2134794960 : 2134794963); - break; - case 5: - num10 = 2134794961; - break; - case 4: - num10 = ((num9 <= num14) ? 2134794961 : 2134794962); - break; - case 3: - { - QuestId current2 = enumerator2.Current; - num14 = upperLayer.IndexOf(current2); - num10 = ((num14 < 0) ? 2134794961 : 2134794967); - break; - } - case 0: - goto end_IL_0089; - } - continue; - end_IL_0089: - break; - } + num++; } } - int num16 = num8; - num4 = 1; - num5 = num16; - int num17 = num5 ^ num4; - int num18 = num5 & num4; - num8 = num17 + (num18 + num18); } - num10 = 1270965095; } - else - { - num10 = 1270965092; - } - while (true) - { - int num19 = num10; - num4 = 1270965094; - num5 = num19; - switch ((num5 | num4) - (num5 & num4)) - { - default: - continue; - case 2: - return num; - case 1: - break; - case 0: - goto IL_021d; - } - break; - IL_021d: - num10 = 1270965095; - } - goto IL_01f1; - IL_01f1: - int num20 = num2; - num4 = 1; - num5 = num20; - int num21 = num5 ^ num4; - int num22 = num5 & num4; - num2 = num21 + (num22 + num22); } + return num; } private static Dictionary ComputeBarycenters(List layer, List referenceLayer, Func?> getConnected) { Dictionary dictionary = new Dictionary(); - using List.Enumerator enumerator = layer.GetEnumerator(); - int num = -521962402; - QuestId current = default(QuestId); - List list = default(List); - while (true) + foreach (QuestId item in layer) { - int num2 = num; - int num3 = -521962402; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - num = -521962402; - break; - case 0: - num = (enumerator.MoveNext() ? (-521962401) : (-521962403)); - break; - case 4: - dictionary[current] = (float)referenceLayer.Count * 0.5f; - num = -521962402; - break; - case 2: + List list = getConnected(item); + if (list != null) { List list2 = (from p in list select referenceLayer.IndexOf(p) into idx where idx >= 0 select idx).ToList(); - dictionary[current] = ((list2.Count > 0) ? ((float)_200E_206F_202A_206C_200C_202E_200F_202E_206D_206B_206E_200C_200F_206E_202E_200D_206B_206F_202B_202C_206C_206A_200B_202A_200E_202B_206A_206C_202D_200B_200F_206A_206A_200B_200B_200F_206A_206A_200F_202C_202E((IEnumerable)list2)) : ((float)referenceLayer.Count * 0.5f)); - num = -521962402; - break; + dictionary[item] = ((list2.Count > 0) ? ((float)list2.Average()) : ((float)referenceLayer.Count * 0.5f)); } - case 1: - current = enumerator.Current; - list = getConnected(current); - num = ((list == null) ? (-521962406) : (-521962404)); - break; - case 3: - return dictionary; + else + { + dictionary[item] = (float)referenceLayer.Count * 0.5f; } } + return dictionary; } private static void DrawArrowhead(ImDrawListPtr drawList, Vector2 tip, Vector2 controlPt, float size, uint color) { - int num = ((!(size <= 1.5f)) ? (-1420458262) : (-1420458263)); - while (true) + if (!(size <= 1.5f)) { - int num2 = num; - int num3 = -1420458261; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - { - Vector2 vector = Vector2.Normalize(tip - controlPt); - Vector2 vector2 = new Vector2(0f - vector.Y, vector.X); - Vector2 vector3 = tip - vector * size; - drawList.AddTriangleFilled(tip, vector3 - vector2 * size * 0.45f, vector3 + vector2 * size * 0.45f, color); - return; - } - case 2: - return; - case 0: - goto IL_00b7; - } - continue; - IL_00b7: - num = -1420458263; + Vector2 vector = Vector2.Normalize(tip - controlPt); + Vector2 vector2 = new Vector2(0f - vector.Y, vector.X); + Vector2 vector3 = tip - vector * size; + drawList.AddTriangleFilled(tip, vector3 - vector2 * size * 0.45f, vector3 + vector2 * size * 0.45f, color); } } private Vector4 GetQuestNodeColor(QuestId questId) { - int num = ((!_questFunctions.IsQuestAccepted(questId)) ? 1480321081 : 1480321074); - while (true) + if (_questFunctions.IsQuestAccepted(questId)) { - int num2 = num; - int num3 = 1480321072; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 7: - num = 1480321074; - break; - case 2: - return NodeFillActive; - case 0: - num = ((!_questFunctions.IsReadyToAcceptQuest(questId)) ? 1480321078 : 1480321077); - break; - case 1: - num = (_questFunctions.IsQuestLocked(questId) ? 1480321078 : 1480321072); - break; - case 6: - return NodeFillLocked; - case 5: - return NodeFillAvailable; - case 4: - return NodeFillComplete; - case 8: - num = ((!_questFunctions.IsQuestUnobtainable(questId)) ? 1480321073 : 1480321075); - break; - case 3: - return NodeFillUnobtainable; - case 9: - num = ((!_questFunctions.IsQuestComplete(questId)) ? 1480321080 : 1480321076); - break; - } + return NodeFillActive; } - } - - static bool _200B_202E_206B_206B_206E_206D_202B_202C_206D_200F_206C_206A_202E_206F_200C_206F_200D_200E_202C_202C_206F_202D_200F_206C_202C_200E_206F_206A_202A_200C_200E_200F_200E_202D_202A_202D_200B_206B_200E_202D_202E(string P_0, string P_1) - { - return P_0 != P_1; - } - - static void _200C_202E_202B_202A_200D_202C_202D_200D_202C_200D_206F_200F_200B_200C_206E_200C_206A_200F_206A_200D_206A_200F_200E_200B_200B_202B_200F_206C_206C_202A_200F_202C_206E_200B_202A_202B_206F_202B_202B_202B_202E() - { - ImGui.Separator(); - } - - static Vector2 _206F_200B_200E_206C_200E_200B_206B_206E_200E_206C_206E_206E_202B_202A_206B_202C_200C_202A_206B_202D_206C_202D_202D_200F_206B_200E_200B_206B_202A_206A_206D_200F_206D_206E_202B_200B_200C_206D_200C_202A_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static float _206D_200F_206A_200F_206D_202C_202E_202E_206F_206C_200C_206A_202E_202E_206E_202C_206A_202B_206B_206B_206A_206F_202A_202C_202A_200E_202D_200F_206B_200F_202C_206B_206B_206E_206F_200C_202E_202C_206F_202E(float P_0, float P_1) - { - return MathF.Max(P_0, P_1); - } - - static ImGuiStylePtr _202C_206F_206D_206C_200D_202A_206E_202A_206A_206B_200B_206B_202B_202D_202C_200E_206E_206C_206F_206B_200E_206E_206E_200C_200D_202E_202D_206E_206D_206E_202A_200C_206E_200C_200C_206E_202D_202E_202A_206C_202E() - { - return ImGui.GetStyle(); - } - - static bool _206D_206A_206B_202D_200F_202B_202E_202A_206E_202A_206C_206F_202B_202B_202C_206D_202C_200B_200D_200C_206C_206A_202D_206A_206D_206B_200F_202D_202E_206D_206F_206B_202A_202D_202B_200C_206F_200E_202E_206E_202E(ElementId P_0, ElementId P_1) - { - return P_0 != P_1; - } - - static void _206F_202C_206E_206C_200D_202B_200C_206D_200E_202A_206F_206C_200B_206A_200D_206A_200D_200C_200D_206A_202D_202B_200C_202A_200C_206F_202A_200B_206B_202B_202B_200C_202A_200E_200E_202C_206A_200B_202B_206B_202E() - { - ImGui.SameLine(); - } - - static ImGuiIOPtr _206D_200F_206F_202D_202B_206A_202A_200E_206C_206C_200D_206A_200C_200D_206F_206B_202D_206B_200B_200B_200C_200C_206C_200D_202E_202D_206D_206D_206D_200F_200C_206D_206D_200C_200F_206F_206C_200E_202A_202C_202E() - { - return ImGui.GetIO(); - } - - static void _206F_200E_200B_202A_200C_200D_200E_206A_200E_200F_200D_202E_202C_202A_200B_206E_206F_206A_202E_202E_202C_202C_202B_206E_200B_202D_200B_202A_200B_202E_200D_200E_200F_202A_206F_200D_200B_206C_206F_202E_202E(float P_0) - { - ImGui.SetNextItemWidth(P_0); - } - - static StringComparer _206F_202B_200B_200D_206D_202B_206A_200D_206E_202A_206F_202C_200B_206B_206F_200E_200F_206E_200F_202E_206B_206F_202C_206A_202C_202D_206E_206D_206A_206A_206A_206B_206A_202A_202A_200D_202C_200F_202D_200F_202E() - { - return StringComparer.OrdinalIgnoreCase; - } - - static long _202D_202E_206C_200E_206E_200C_200D_202A_202D_200B_200C_206D_200C_206A_206F_206E_200C_206C_206E_206F_206D_200B_200E_206E_200E_202C_206C_206F_206C_202E_206E_206F_202B_202C_202A_202E_206A_206E_206B_202C_202E() - { - return Environment.TickCount64; - } - - static ImRaii.ChildDisposable _206C_200E_202A_202A_200F_202C_200E_202E_202C_202D_206A_202C_206E_202A_202B_200D_200C_206E_206D_206D_202D_206E_206E_202D_200D_206E_200F_206C_200D_202A_200B_206B_206E_202B_200D_200B_200C_200F_202A_202E(ImU8String P_0, Vector2 P_1, bool P_2) - { - return ImRaii.Child(P_0, P_1, P_2); - } - - static void _200B_200D_202A_206F_202A_202C_202A_202D_206E_200C_206C_202A_206A_206B_202C_202D_206B_200C_200B_202B_206C_206A_200F_200F_206F_202B_202D_206D_206E_202E_202C_200B_206F_206A_202D_206B_200F_202B_200E_200F_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static float _206C_206E_200F_206D_206E_202C_206E_206A_202B_202A_206D_202B_200C_206D_200C_200F_200E_202A_200D_206F_200B_200F_200C_206E_202D_202B_202D_206C_202D_200E_206F_206A_202E_206F_202D_202A_200D_200C_206E_206C_202E() - { - return ImGui.GetTextLineHeightWithSpacing(); - } - - static float _202D_202E_206A_202B_202E_206C_202C_202C_206F_206F_206E_202C_200B_206D_200B_200C_202C_206F_200D_206B_200B_202A_206B_202C_202B_200B_200E_200F_202E_202C_206C_206E_202B_200D_200B_202A_206F_202B_202B_200C_202E() - { - return ImGui.GetWindowHeight(); - } - - static void _200B_200E_202A_200C_202C_202C_206A_206F_200C_206A_200C_206F_202D_200B_200E_200D_202C_202E_202B_200D_206F_200B_202D_200F_202E_202E_202B_202E_200B_202C_206B_206C_206D_200F_200C_200D_206B_202E_200C_202E_202E(float P_0) - { - ImGui.SetScrollY(P_0); - } - - unsafe static ImGuiListClipper* _200D_206E_200E_200E_206D_200F_206A_202B_202A_200C_200B_206A_206A_202E_202D_206E_206A_200D_206B_200C_206E_200E_200E_206F_202A_200B_200D_202D_200C_206D_206A_206F_200C_206B_200B_206D_202D_202E_200C_206D_202E() - { - return ImGuiNative.ImGuiListClipper(); - } - - unsafe static void _202C_200E_202D_206F_200F_200B_202E_206C_202B_206A_206D_200F_200F_202D_200F_200B_202A_206A_200E_200F_202B_200F_206D_206C_206C_206C_206D_206F_202C_206D_200F_200F_202B_202C_206E_206B_200C_200C_206E_200F_202E(ImGuiListClipper* P_0, int P_1, float P_2) - { - ImGuiNative.Begin(P_0, P_1, P_2); - } - - static bool _200C_206B_202D_206B_206D_202E_206B_200E_200C_206B_202A_206A_206C_206B_200C_202E_200D_206F_200C_200B_206F_202C_202E_202A_206E_202C_206C_206E_206D_202A_202C_202E_200B_202B_202E_200E_200F_202C_206C_202B_202E(ElementId P_0, ElementId P_1) - { - return P_0 == P_1; - } - - static ImRaii.ColorDisposable _206C_200D_200C_200F_200F_206B_202E_202A_206A_200C_202E_202E_200B_202D_200E_206E_200C_200C_206F_200C_200B_200E_202A_206E_206E_206F_200E_206E_200B_200B_200C_202E_202A_200B_202B_206D_206D_206C_200F_202B_202E(ImGuiCol P_0, Vector4 P_1, bool P_2) - { - return ImRaii.PushColor(P_0, P_1, P_2); - } - - static float _206C_206D_206A_206B_202C_202E_206C_206D_202E_202E_206D_200E_200F_206C_202A_206A_206A_202A_206E_206E_206B_200E_206F_202D_202E_200C_206D_202A_206B_206A_202B_206D_202C_200C_206C_206C_202C_206C_206D_206B_202E() - { - return ImGui.GetCursorPosX(); - } - - static void _206E_206E_206B_200B_202C_206D_206F_202B_206C_200E_202E_206F_200D_206E_206F_206B_206A_202E_206A_200D_206F_206C_206F_202B_202D_206B_200E_206D_200F_202A_200C_202B_202C_200B_202E_200C_206F_206B_202E_206D_202E(float P_0) - { - ImGui.SetCursorPosX(P_0); - } - - static bool _202C_200C_200B_206F_202E_206B_202D_206C_206C_200B_202C_202B_200F_206E_200E_206E_200D_206F_206B_202B_206B_200D_200B_206E_200D_206E_202C_206A_202B_206D_206B_200E_200E_206C_206A_202A_206E_202A_200F_200C_202E(ImU8String P_0, bool P_1, ImGuiSelectableFlags P_2, Vector2 P_3) - { - return ImGui.Selectable(P_0, P_1, P_2, P_3); - } - - static bool _202B_200E_202C_202B_202E_200B_202C_202A_202A_200C_206A_200F_202B_202A_206A_200E_200B_200E_202E_206E_206F_200F_200D_202D_200F_206B_200F_206B_206A_202E_206F_202E_206E_200D_200D_200F_200F_206C_202A_200F_202E(ImGuiMouseButton P_0) - { - return ImGui.IsMouseDoubleClicked(P_0); - } - - static ImDrawListPtr _202E_200C_202A_202A_206A_202C_202E_202D_202B_200F_206A_206E_206E_206D_206F_206B_202D_206F_200E_202A_202C_206F_202E_206D_202E_202B_200E_202B_200C_202C_206E_206A_206A_200C_202A_200B_206C_206C_200D_206C_202E() - { - return ImGui.GetWindowDrawList(); - } - - static Vector2 _200B_202E_206D_200D_206B_202E_206D_202A_206E_206E_206D_206C_206A_200D_202B_202C_202E_200D_206C_202A_200B_202E_206E_200E_200D_206A_206E_200B_206D_206A_202C_206C_206A_200C_202A_200F_200C_206C_206E_202E() - { - return ImGui.GetItemRectMin(); - } - - static Vector2 _206A_206C_206E_202C_206E_206E_206D_200B_202C_202D_200C_206A_202D_206D_202D_200B_200E_206C_202A_202C_202C_200E_200D_206E_202D_206F_200D_202E_206D_200D_200F_200F_206F_202E_206C_200D_200F_202B_200F_202C_202E() - { - return ImGui.GetItemRectMax(); - } - - static uint _206E_202A_202C_206F_200F_206A_200C_206D_202D_200B_206B_206E_206C_200B_206B_200E_200D_200F_206D_200B_200C_200C_206B_206B_200F_206D_206E_206D_206E_202C_202A_206C_206A_200D_202C_206E_200D_202B_200B_202D_202E(Vector4 P_0) - { - return ImGui.ColorConvertFloat4ToU32(P_0); - } - - static void _206D_200D_202B_200E_206D_202B_200D_206F_200F_200B_202C_200D_202E_200F_206F_200D_206F_206E_206A_200E_202C_206A_202E_200F_206F_206E_206E_206D_200E_206B_206A_202D_206C_202B_202A_202A_206A_206F_200F_206D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static ImRaii.ChildDisposable _206E_206E_206B_200E_200E_202E_200D_202C_200E_206E_202A_200B_200D_206C_206C_206A_200B_200D_206D_202B_202D_200E_200D_202D_202B_206C_206A_200D_206B_206F_202B_206A_200F_200C_202D_206C_202E_200F_200E_206B_202E(ImU8String P_0, Vector2 P_1, bool P_2, ImGuiWindowFlags P_3) - { - return ImRaii.Child(P_0, P_1, P_2, P_3); - } - - static void _206B_206B_202D_200E_206E_200C_202E_200F_202A_200E_206E_206A_206B_200F_200F_202B_200C_206F_202E_206D_200C_206F_200C_202D_206A_202C_206E_206F_200C_200E_202D_206D_206F_202A_200F_206A_206B_206E_206B_202A_202E(float P_0) - { - ImGui.PushTextWrapPos(P_0); - } - - static ushort _200B_200B_202E_206B_200E_206C_206A_206E_202C_200B_200E_202B_206D_206B_202B_202A_202D_202A_200D_200C_206F_200B_206F_206A_206A_200F_200F_202E_202B_200C_206D_202A_206B_202B_206B_202A_202C_206E_206F_202E_202E(ElementId P_0) - { - return P_0.Value; - } - - static void _202D_200C_202D_202A_202E_206D_206C_202B_206D_200C_206A_200F_202B_202B_202E_202C_200C_206D_206D_200D_200D_206D_206E_206E_206C_200C_206F_206B_200E_206B_202B_200E_202C_206E_200B_202C_202E_202D_200F_206A_202E(ImU8String P_0) - { - ImGui.TextUnformatted(P_0); - } - - static void _206E_202A_202B_206F_206B_206F_200E_206C_200F_206F_206D_206A_200D_200F_206C_206D_200B_206B_202A_202E_206F_202E_206C_200E_206D_206D_206B_206B_206C_200F_202B_202E_202B_200F_202A_200B_202C_206F_200F_202D_202E(float P_0, float P_1) - { - ImGui.SameLine(P_0, P_1); - } - - static void _202C_206C_206F_206F_200E_206B_202B_202D_206D_206D_200C_200E_200F_206C_202B_202C_200E_206B_202B_206E_206A_202B_202B_206D_202E_206B_206A_206B_200F_202D_206F_200B_206B_202C_200D_202D_202C_202E_202C_206F_202E() - { - ImGui.Spacing(); - } - - static List _202D_200C_206D_202C_202E_206C_202E_206B_206C_206F_206D_202A_206E_202D_200F_202B_206D_202D_200B_206F_202C_202D_200C_200B_200D_200B_200E_206E_200C_200C_206A_202C_200E_202E_202C_202E_200F_206D_206B_206E_202E(QuestSequence P_0) - { - return P_0.Steps; - } - - static ushort _206E_200F_200C_206E_202B_206C_202A_202E_202B_202E_200B_202B_206F_200E_200F_206B_206D_200C_202D_202D_206C_206C_200F_200C_206E_200C_202E_206F_200B_202B_206F_202C_206D_200E_200B_206C_200C_200F_200C_200F_202E(QuestStep P_0) - { - return P_0.TerritoryId; - } - - static Vector3? _200B_200E_206B_206E_202B_200E_206E_206A_202E_206C_202A_206B_202A_200C_202A_202A_200B_200D_200F_202A_200D_200F_202D_202B_200E_200E_202C_206B_200E_206E_200D_202E_206F_206D_200B_202D_206B_206F_206B_202E(QuestStep P_0) - { - return P_0.Position; - } - - static Vector2 _202B_200B_206A_200C_206A_200B_206D_202B_202E_206E_202C_202B_200E_206D_200B_200B_202A_206F_202B_206A_202B_200B_200D_202A_206E_206E_200F_200C_202E_200D_200C_206C_206C_206A_200C_202D_206D_200E_206D_206B_202E(Vector2 P_0, Map P_1) - { - return MapUtil.WorldToMap(P_0, P_1); - } - - static MapLinkPayload _206C_200D_206F_206E_206A_200B_202C_206D_206B_206A_206B_206C_202A_206C_206F_206F_202C_206A_206D_206B_200B_200B_202E_202C_200C_200B_200B_202D_206E_202B_200E_206A_200B_202C_200D_200E_202A_206F_206D_206A_202E(uint P_0, uint P_1, float P_2, float P_3, float P_4) - { - return new MapLinkPayload(P_0, P_1, P_2, P_3, P_4); - } - - static bool _200F_206D_202D_200E_200C_202E_206E_206C_206B_206A_202C_206E_200E_206D_200D_206F_202B_200F_206B_206C_206A_206E_206E_202B_200F_200B_200C_200F_206A_202A_200C_200F_206E_202C_206C_202A_202D_202A_202B_206B_202E(IGameGui P_0, MapLinkPayload P_1) - { - return P_0.OpenMapWithMapLink(P_1); - } - - static bool _200C_202A_206F_200B_206E_206F_206F_206D_206E_206A_200E_206E_206E_202E_202D_202A_206A_202C_202C_206C_206C_200C_202E_200E_200D_206C_200C_202A_206B_200E_206D_206F_206F_202B_206C_206B_202E_200F_202E_200D_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - - static ImRaii.DisabledDisposable _202B_202E_206D_202D_202C_200F_206D_202C_202B_206E_206E_200D_206A_206A_200F_200D_202A_202B_202D_206D_202B_202D_202C_200E_206B_200F_202E_206E_202C_206F_200F_206E_206B_202B_206D_206F_200D_200F_206D_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static bool _206F_206A_206B_202C_202C_206E_200E_202D_202E_202B_206B_202D_200C_206A_200C_200C_202C_200B_200F_202D_200E_200D_202D_200F_200C_200F_200E_206B_206B_200E_206C_206E_206D_206C_202B_200B_206D_202D_202C_202A_202E(ImGuiHoveredFlags P_0) - { - return ImGui.IsItemHovered(P_0); - } - - static void _200B_200B_200E_200C_206C_202C_206E_200D_206C_206E_200C_202C_200F_200C_200B_206C_206A_206D_200D_202C_200E_206B_202D_206D_206A_202E_206D_206C_200D_200F_206A_202B_206E_202A_206A_206F_206B_200E_200C_206B_202E(ImU8String P_0) - { - ImGui.SetTooltip(P_0); - } - - static void _206B_200B_200B_202E_200B_202A_202E_206F_200C_206B_206A_200D_202E_206C_206C_200E_200F_202C_206C_202C_206C_200C_202C_200F_200C_202C_202E_202E_200D_206D_206B_202D_202E_206B_200F_206B_200D_206F_206D_202D_202E() - { - ImGui.PopTextWrapPos(); - } - - static bool _200E_200C_200D_202E_200B_202B_200C_200C_206A_206F_206F_202D_206A_200D_206A_200E_202C_200E_200C_202D_200F_202C_200D_200F_200C_206E_202E_202D_202D_200F_200F_202B_202A_206C_200E_206B_202B_206E_200B_206A_202E(string P_0) - { - return string.IsNullOrWhiteSpace(P_0); - } - - static bool _200D_206D_200B_200D_206B_206F_202C_206B_202B_200F_206E_202E_206C_206A_206E_202C_202A_200B_206F_202C_202B_202A_206D_202B_200B_206A_200B_206D_200E_202D_206C_202B_200B_200D_202D_202D_202A_206C_206F_200F_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static bool _200B_202A_206B_206D_206F_206B_202A_202A_202D_200F_200C_200B_206A_200F_206F_200C_202B_200D_200E_200D_206E_206B_202E_202E_206F_202A_206F_202E_200D_200B_202A_206A_202A_206A_206C_200E_200C_206A_202A_200E_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.Contains(P_1, P_2); - } - - static ISharedImmediateTexture _206D_200E_206D_206F_206C_200B_200D_202C_206F_202D_202E_202C_202C_202A_202B_202B_202C_206A_206E_202D_202E_206F_200D_202C_200E_200D_206C_200C_206D_200F_200B_200E_206C_206D_200B_200E_206D_206F_206E_206B_202E(ITextureProvider P_0, string P_1) - { - return P_0.GetFromGame(P_1); - } - - static IDalamudTextureWrap _200F_206C_200D_206A_206B_200B_206A_206D_200F_202A_202E_206C_202A_202B_200F_206A_206D_202E_200F_202C_206A_202B_200E_200B_202A_200E_206A_206F_206D_202B_202D_202B_202E_206A_202A_206B_202A_202D_200C_200E_202E(ISharedImmediateTexture P_0, IDalamudTextureWrap P_1) - { - return P_0.GetWrapOrDefault(P_1); - } - - static ImTextureID _206E_202C_202E_202B_200D_206B_200C_200F_206C_206D_200F_202C_206B_200F_200E_202C_206B_200D_202B_206E_200D_206A_202C_202A_200D_206B_200D_200E_200B_200C_202A_200B_202A_206E_206C_206C_202D_206E_202D_200C_202E(IDalamudTextureWrap P_0) - { - return P_0.Handle; - } - - static void _202D_200D_206E_206E_206B_202A_206E_206F_202C_202E_206E_202C_202C_206E_200D_206F_202C_202D_200D_200B_202A_200C_200B_202E_206A_202A_206A_200C_206E_206F_202B_200E_202B_202E_206C_202E_200E_200E_206F_206E_202E(ImTextureID P_0, Vector2 P_1) - { - ImGui.Image(P_0, P_1); - } - - static bool _202D_206C_202B_206F_200F_206C_202E_200E_200D_202E_206F_202E_206E_206E_202C_206A_200D_200B_206B_206F_206A_202E_202C_200F_200B_202D_202C_200C_206D_202D_202B_202C_200C_200D_202A_200B_202B_202E_202E_200E_202E() - { - return ImGui.IsItemHovered(); - } - - static float _206D_202C_200C_200E_202C_202C_200D_206D_206F_206A_200C_200E_202C_202E_200C_200F_206E_206E_206E_202B_206C_200F_200D_200F_206D_202B_200F_200E_202B_200D_206A_202D_206E_200E_200F_202A_206D_206C_200E_202C_202E() - { - return ImGui.GetCursorPosY(); - } - - static void _200F_202D_200B_206A_200D_206F_206F_200F_200B_206D_202C_206E_200C_200D_206A_202E_200E_202A_200D_202D_200C_202B_206C_206D_200E_202D_206F_206C_200F_206D_200F_200C_200C_200F_202A_200E_206A_200B_206D_206C_202E(float P_0) - { - ImGui.SetCursorPosY(P_0); - } - - static void _200E_206C_202C_202A_200C_202D_206A_206F_206B_202E_200E_200B_200C_206F_200C_206C_200E_202B_200C_206C_206D_202E_202A_202D_200E_206B_202A_200D_200B_206C_206F_206C_206D_206F_202B_206A_206F_200C_200D_200E_202E() - { - ImGui.BeginTooltip(); - } - - static void _202A_206B_206A_202B_206B_200B_200B_202A_206C_206C_202D_206F_200D_200F_200E_200E_200B_200E_206B_202A_206E_206E_200F_200F_206C_206F_206A_200C_206F_200E_200C_200C_200E_202D_202C_202D_206D_200B_200B_202C_202E() - { - ImGui.EndTooltip(); - } - - static string _200F_206B_200D_200D_206B_206C_200B_200D_206E_202A_202C_206E_202E_206D_202C_206B_206E_200F_200B_206D_202E_206D_200B_206E_206E_206D_206A_202E_206D_200E_206F_202A_202D_206D_206B_202A_200D_202A_206A_206F_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static int _202A_200E_206D_200E_206A_202C_206E_206A_202C_206C_206B_200F_200B_200F_200F_202A_206B_200E_200D_202A_206F_200E_200F_202B_200B_202D_206D_206C_206B_202A_202A_206D_200C_200D_200D_206B_200B_206A_206C_200E_202E(IDalamudTextureWrap P_0) - { - return P_0.Width; - } - - static float _206A_206F_202B_200C_200F_202A_202C_206F_202C_206E_202E_206D_206A_200B_206C_200B_200C_206F_206F_202A_206E_206B_200B_206D_206F_202E_206B_206A_202B_206C_206C_202E_206A_202D_200C_206E_202D_200C_200D_202B_202E(float P_0, float P_1) - { - return MathF.Min(P_0, P_1); - } - - static int _200F_206A_200E_206F_206F_202C_206C_200F_202E_206F_206C_202D_202B_202C_200F_202B_200E_200B_200B_202B_206D_206B_202A_206B_200C_206D_206A_202E_200C_202B_206C_206C_206D_206B_206C_200D_202B_202E_206C_206A_202E(IDalamudTextureWrap P_0) - { - return P_0.Height; - } - - static Vector2 _200C_202E_206B_202A_206C_206F_202B_202C_202B_200F_206D_200F_206D_206D_200E_200F_206B_206F_200D_206A_206A_200B_206E_200D_200B_200E_200D_202E_200B_200B_200B_202A_206B_206C_202C_202E_206D_206B_206E_202D_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static int _206F_200C_202E_202B_206A_200E_206D_206D_206C_202B_206C_202A_202C_206A_202E_202C_206F_200D_202E_206F_206E_202C_202A_206B_200D_202A_202A_206F_206C_202D_206C_200E_206B_202C_200E_202B_206D_206C_200D_202A_202E(string P_0) - { - return P_0.Length; - } - - static string _200C_202B_206C_202C_206F_202B_202E_202A_200F_206E_202A_206A_200C_200E_200F_200C_206F_200C_202D_200F_206C_200C_200E_200E_202E_206C_202B_206C_206C_200D_200F_206E_206C_206A_202A_206B_206C_202C_202C_206E_202E(string P_0, int P_1, int P_2) - { - return P_0.Substring(P_1, P_2); - } - - static string _206F_206A_202E_206F_202D_202B_206D_206F_202E_206D_200C_206D_200E_200B_202E_202B_202B_200E_200E_206B_206A_206A_200B_200F_206D_200B_200D_206F_200D_200C_206F_202E_200C_200D_206F_206F_202D_202B_200D_206F_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static Vector2 _202E_200C_202E_200B_206A_200D_200D_200D_206C_200F_206B_206A_202A_202D_202D_200D_202E_206B_200E_200E_206C_200B_200B_206E_200D_202B_202E_200C_200C_206D_206A_200D_200B_200C_200D_202A_202E_206D_206E_202A_202E() - { - return ImGui.GetCursorScreenPos(); - } - - static bool _206C_200C_206E_206E_200F_200D_202A_200C_202E_200E_206F_202D_200C_200F_206A_202A_206D_206C_202A_206B_200B_206A_202B_202B_206B_202B_200E_206D_206A_206D_202C_200D_200D_200F_200D_202B_200F_200F_206C_206A_202E(ImU8String P_0, Vector2 P_1, ImGuiButtonFlags P_2) - { - return ImGui.InvisibleButton(P_0, P_1, P_2); - } - - static bool _200E_206C_206F_200D_200E_206B_206C_202E_206F_206F_206F_206A_200D_206A_202E_206D_200D_206D_206D_202D_206D_200B_202A_206A_200D_200D_206D_206B_202B_200D_206B_206D_200E_202C_202B_200E_200F_202B_206B_206B_202E() - { - return ImGui.IsItemActive(); - } - - static Vector2 _200E_202C_206E_200E_202D_202E_206D_206C_206B_206A_202A_206A_202B_200F_206D_202A_206B_200F_202A_206A_202C_206D_206B_206D_206E_206B_202E_202E_206F_202B_200C_206C_202E_202B_206C_202C_202B_202B_200C_200C_202E() - { - return ImGui.GetMousePos(); - } - - static float _200B_202C_200D_206E_202E_206F_206E_200D_206D_202A_200D_206C_200D_206E_202A_202A_202E_202C_202D_206D_200E_200E_200C_202B_200E_200F_202A_202D_200E_206D_202A_202E_206B_206C_206B_206A_200F_206B_206D_206F_202E(float P_0) - { - return MathF.Abs(P_0); - } - - static float _202E_206D_206D_206F_206C_206D_202A_200C_206B_202B_206E_200E_202D_200C_200C_202C_200E_200C_200D_206F_206C_206A_200F_206A_202C_202E_200D_206E_206F_200B_202D_206C_200B_200F_202E_200B_206D_200E_206B_202B_202E(float P_0, float P_1, float P_2) - { - return Math.Clamp(P_0, P_1, P_2); - } - - static int _202C_206F_200B_200C_202A_206A_202A_206C_206B_202B_206D_200B_206F_200D_200B_202C_200E_202D_200C_200B_206A_202A_200F_206A_202C_200F_200B_206B_200B_200F_200E_202C_202C_206A_202D_202D_206C_202C_202B_202E(float P_0) - { - return MathF.Sign(P_0); - } - - static float _200C_206E_202C_200C_202D_206C_206E_206C_206D_200D_200B_200B_202D_200F_206F_202D_206F_202A_200F_202D_206D_200F_202A_200B_200C_202C_202A_200E_206F_202E_202A_200E_206B_202B_200C_206D_202C_206C_200B_202B_202E() - { - return ImGui.GetFontSize(); - } - - static ImFontPtr _206D_206C_202E_206B_200E_202A_200C_206F_206E_206C_206B_206B_202E_200D_206D_202A_200D_200D_206A_202E_206C_200D_200B_206C_202E_200D_206B_200C_200E_206E_202A_202C_200C_202D_200D_206B_206A_202A_202C_202C_202E() - { - return ImGui.GetFont(); - } - - static string _202E_206B_206F_206D_202A_202E_202A_206B_202C_202A_202C_200D_202D_202E_202E_202E_200E_206E_206E_206C_200D_200D_206D_206E_206C_206D_200D_206F_206D_206F_200D_200C_206E_206D_202E_202D_202A_202C_202C_200C_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _202E_202C_200B_202A_200D_200F_200C_200D_206C_206E_206A_202D_206A_206E_202B_202D_202B_200B_202A_206B_200B_200B_200F_206C_206F_206D_200B_206D_200D_202E_206F_206C_206A_206A_202A_206E_202D_206F_200E_200F_202E(ImGuiMouseButton P_0) - { - return ImGui.IsMouseReleased(P_0); - } - - static double _200E_206F_202A_206C_200C_202E_200F_202E_206D_206B_206E_200C_200F_206E_202E_200D_206B_206F_202B_202C_206C_206A_200B_202A_200E_202B_206A_206C_202D_200B_200F_206A_206A_200B_200B_200F_206A_206A_200F_202C_202E(IEnumerable P_0) - { - return P_0.Average(); + if (_questFunctions.IsQuestComplete(questId)) + { + return NodeFillComplete; + } + if (_questFunctions.IsQuestUnobtainable(questId)) + { + return NodeFillUnobtainable; + } + if (!_questFunctions.IsQuestLocked(questId) && _questFunctions.IsReadyToAcceptQuest(questId)) + { + return NodeFillAvailable; + } + return NodeFillLocked; } } diff --git a/Questionable/Questionable.Windows.JournalComponents/QuestJournalComponent.cs b/Questionable/Questionable.Windows.JournalComponents/QuestJournalComponent.cs index 0b48a74..4459c17 100644 --- a/Questionable/Questionable.Windows.JournalComponents/QuestJournalComponent.cs +++ b/Questionable/Questionable.Windows.JournalComponents/QuestJournalComponent.cs @@ -1,14 +1,11 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Numerics; using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Bindings.ImGui; using Dalamud.Interface; -using Dalamud.Interface.ManagedFontAtlas; using Dalamud.Interface.Utility.Raii; using Dalamud.Plugin; using Microsoft.Extensions.Logging; @@ -33,541 +30,16 @@ internal sealed class QuestJournalComponent Quest } - private readonly record struct FlatRow(RowType Type, int Depth, int GroupIndex, IQuestInfo? Quest, string Label, JournalCounts Counts) - { - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200B_202B_202A_200C_200D_200D_200F_202B_202A_206D_200D_200F_202A_206C_206F_200E_202B_206F_206C_200B_202D_206C_200E_206B_200E_200D_200E_200C_200D_206B_206C_206E_202E_200E_206A_202D_206A_200F_206B_200F_202E(); - _202B_206C_202A_206E_202C_202C_200B_206D_206D_202E_206B_206F_206F_206D_206E_206F_206D_200C_202E_206A_206E_206D_200D_202C_202E_200B_200E_200D_200D_200B_202A_206F_200C_206B_200D_202A_206C_200C_200C_200E_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1001513835)); - _202B_206C_202A_206E_202C_202C_200B_206D_206D_202E_206B_206F_206F_206D_206E_206F_206D_200C_202E_206A_206E_206D_200D_202C_202E_200B_200E_200D_200D_200B_202A_206F_200C_206B_200D_202A_206C_200C_200C_200E_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1344697862)); - int num = ((!PrintMembers(stringBuilder)) ? (-1551625878) : (-1551625877)); - while (true) - { - int num2 = num; - int num3 = -1551625878; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -1551625877; - break; - case 1: - _200C_202E_202C_200E_206B_206D_206F_200D_200F_206F_200D_202B_202D_206A_206B_202E_200B_200C_202C_206D_200E_200D_202C_206C_202B_200F_200D_200B_206E_206A_202A_200E_206D_200F_200C_206B_200F_206E_200D_202C_202E(stringBuilder, ' '); - num = -1551625878; - break; - case 0: - _200C_202E_202C_200E_206B_206D_206F_200D_200F_206F_200D_202B_202D_206A_206B_202E_200B_200C_202C_206D_200E_200D_202C_206C_202B_200F_200D_200B_206E_206A_202A_200E_206D_200F_200C_206B_200F_206E_200D_202C_202E(stringBuilder, '}'); - return _200D_200D_200D_200F_202D_202D_200E_206F_206D_202D_202B_202D_202B_202A_202A_206A_202E_200C_206E_200E_200F_202C_200E_200E_200B_206A_206B_200F_206A_202C_202D_206D_202D_206D_200C_200C_200B_206B_206E_206E_202E((object)stringBuilder); - } - } - } + private readonly record struct FlatRow(RowType Type, int Depth, int GroupIndex, IQuestInfo? Quest, string Label, JournalCounts Counts); - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202B_206C_202A_206E_202C_202C_200B_206D_206D_202E_206B_206F_206F_206D_206E_206F_206D_200C_202E_206A_206E_206D_200D_202C_202E_200B_200E_200D_200D_200B_202A_206F_200C_206B_200D_202A_206C_200C_200C_200E_202E(builder, 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(1816100221)); - _202B_206C_202A_206E_202C_202C_200B_206D_206D_202E_206B_206F_206F_206D_206E_206F_206D_200C_202E_206A_206E_206D_200D_202C_202E_200B_200E_200D_200D_200B_202A_206F_200C_206B_200D_202A_206C_200C_200C_200E_202E(builder, Type.ToString()); - _202B_206C_202A_206E_202C_202C_200B_206D_206D_202E_206B_206F_206F_206D_206E_206F_206D_200C_202E_206A_206E_206D_200D_202C_202E_200B_200E_200D_200D_200B_202A_206F_200C_206B_200D_202A_206C_200C_200C_200E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1014922524)); - _202B_206C_202A_206E_202C_202C_200B_206D_206D_202E_206B_206F_206F_206D_206E_206F_206D_200C_202E_206A_206E_206D_200D_202C_202E_200B_200E_200D_200D_200B_202A_206F_200C_206B_200D_202A_206C_200C_200C_200E_202E(builder, Depth.ToString()); - _202B_206C_202A_206E_202C_202C_200B_206D_206D_202E_206B_206F_206F_206D_206E_206F_206D_200C_202E_206A_206E_206D_200D_202C_202E_200B_200E_200D_200D_200B_202A_206F_200C_206B_200D_202A_206C_200C_200C_200E_202E(builder, 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(-1452499057)); - _202B_206C_202A_206E_202C_202C_200B_206D_206D_202E_206B_206F_206F_206D_206E_206F_206D_200C_202E_206A_206E_206D_200D_202C_202E_200B_200E_200D_200D_200B_202A_206F_200C_206B_200D_202A_206C_200C_200C_200E_202E(builder, GroupIndex.ToString()); - _202B_206C_202A_206E_202C_202C_200B_206D_206D_202E_206B_206F_206F_206D_206E_206F_206D_200C_202E_206A_206E_206D_200D_202C_202E_200B_200E_200D_200D_200B_202A_206F_200C_206B_200D_202A_206C_200C_200C_200E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1159868025)); - _202B_202B_206C_206C_202E_206E_200C_202E_202B_206C_206D_200C_206D_202B_202A_206C_202A_206A_200F_202A_200E_202B_200C_202E_206F_200C_202D_202B_206A_202E_202C_200C_202E_200D_202D_200B_206D_200E_206A_200D_202E(builder, (object)Quest); - _202B_206C_202A_206E_202C_202C_200B_206D_206D_202E_206B_206F_206F_206D_206E_206F_206D_200C_202E_206A_206E_206D_200D_202C_202E_200B_200E_200D_200D_200B_202A_206F_200C_206B_200D_202A_206C_200C_200C_200E_202E(builder, 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(-1931637293)); - _202B_202B_206C_206C_202E_206E_200C_202E_202B_206C_206D_200C_206D_202B_202A_206C_202A_206A_200F_202A_200E_202B_200C_202E_206F_200C_202D_202B_206A_202E_202C_200C_202E_200D_202D_200B_206D_200E_206A_200D_202E(builder, (object)Label); - _202B_206C_202A_206E_202C_202C_200B_206D_206D_202E_206B_206F_206F_206D_206E_206F_206D_200C_202E_206A_206E_206D_200D_202C_202E_200B_200E_200D_200D_200B_202A_206F_200C_206B_200D_202A_206C_200C_200C_200E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1999051001)); - _202B_202B_206C_206C_202E_206E_200C_202E_202B_206C_206D_200C_206D_202B_202A_206C_202A_206A_200F_202A_200E_202B_200C_202E_206F_200C_202D_202B_206A_202E_202C_200C_202E_200D_202D_200B_206D_200E_206A_200D_202E(builder, (object)Counts); - return true; - } + private sealed record FilteredSection(JournalData.Section Section, List Categories); - [CompilerGenerated] - public bool Equals(FlatRow other) - { - int num = ((!EqualityComparer.Default.Equals(Type, other.Type)) ? (-278484317) : (-278484316)); - while (true) - { - int num2 = num; - int num3 = -278484319; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - num = ((!EqualityComparer.Default.Equals(Quest, other.Quest)) ? (-278484317) : (-278484318)); - break; - case 3: - num = ((!EqualityComparer.Default.Equals(Label, other.Label)) ? (-278484317) : (-278484315)); - break; - case 2: - return false; - case 0: - num = -278484316; - break; - case 4: - return EqualityComparer.Default.Equals(Counts, other.Counts); - case 6: - num = ((!EqualityComparer.Default.Equals(GroupIndex, other.GroupIndex)) ? (-278484317) : (-278484320)); - break; - case 5: - num = ((!EqualityComparer.Default.Equals(Depth, other.Depth)) ? (-278484317) : (-278484313)); - break; - } - } - } + private sealed record FilteredCategory(JournalData.Category Category, List Genres); - bool IEquatable.Equals(FlatRow other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _200B_202B_202A_200C_200D_200D_200F_202B_202A_206D_200D_200F_202A_206C_206F_200E_202B_206F_206C_200B_202D_206C_200E_206B_200E_200D_200E_200C_200D_206B_206C_206E_202E_200E_206A_202D_206A_200F_206B_200F_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202B_206C_202A_206E_202C_202C_200B_206D_206D_202E_206B_206F_206F_206D_206E_206F_206D_200C_202E_206A_206E_206D_200D_202C_202E_200B_200E_200D_200D_200B_202A_206F_200C_206B_200D_202A_206C_200C_200C_200E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200C_202E_202C_200E_206B_206D_206F_200D_200F_206F_200D_202B_202D_206A_206B_202E_200B_200C_202C_206D_200E_200D_202C_206C_202B_200F_200D_200B_206E_206A_202A_200E_206D_200F_200C_206B_200F_206E_200D_202C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200D_200D_200D_200F_202D_202D_200E_206F_206D_202D_202B_202D_202B_202A_202A_206A_202E_200C_206E_200E_200F_202C_200E_200E_200B_206A_206B_200F_206A_202C_202D_206D_202D_206D_200C_200C_200B_206B_206E_206E_202E(object P_0) - { - return P_0.ToString(); - } - - static StringBuilder _202B_202B_206C_206C_202E_206E_200C_202E_202B_206C_206D_200C_206D_202B_202A_206C_202A_206A_200F_202A_200E_202B_200C_202E_206F_200C_202D_202B_206A_202E_202C_200C_202E_200D_202D_200B_206D_200E_206A_200D_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - } - - private sealed record FilteredSection(JournalData.Section Section, List Categories) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200C_202B_206D_206B_206B_200F_200F_206C_206E_202B_200C_200E_206D_206D_200B_200C_202B_206B_206D_202E_206B_200C_206B_200F_206E_202C_202B_206D_206B_202C_200E_202D_202D_206A_200D_202B_206E_206F_206A_206B_202E(typeof(FilteredSection).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200B_200F_200E_200E_202E_202A_202B_206F_202B_200F_202D_202E_202C_200E_206C_206E_200F_200B_200E_200B_202A_200B_202B_202D_200D_206A_202D_206A_206F_206B_202D_206D_206F_206D_206F_202B_200C_202B_200D_202E_202E(); - _206A_202B_202A_202A_200D_202C_202B_202B_206D_200C_202D_206F_200E_200E_202D_202C_202A_202E_206F_202E_200E_206B_206A_200C_206C_202D_202E_202B_206F_206F_206B_202C_202E_202D_200E_206E_206B_206B_202D_206D_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(947801429)); - _206A_202B_202A_202A_200D_202C_202B_202B_206D_200C_202D_206F_200E_200E_202D_202C_202A_202E_206F_202E_200E_206B_206A_200C_206C_202D_202E_202B_206F_206F_206B_202C_202E_202D_200E_206E_206B_206B_202D_206D_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? 209316329 : 209316328); - while (true) - { - int num2 = num; - int num3 = 209316329; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - _206E_206D_200C_200F_206F_202A_202A_200E_206C_206C_200E_206C_202D_200C_202E_206D_200E_200D_200D_200E_206E_200D_202D_206B_200F_206A_206B_206F_206C_206C_200E_202B_202A_206E_200C_200E_200E_206F_206D_200C_202E(stringBuilder, '}'); - return _200C_202D_200E_206B_200E_202A_202E_200E_200E_202C_202E_202D_200F_206A_200E_200F_206B_200E_200D_200E_200D_206D_202E_202A_200C_202C_206C_202D_200F_202E_202B_200D_200D_200B_200E_206E_200C_200B_202D_206E_202E((object)stringBuilder); - case 1: - _206E_206D_200C_200F_206F_202A_202A_200E_206C_206C_200E_206C_202D_200C_202E_206D_200E_200D_200D_200E_206E_200D_202D_206B_200F_206A_206B_206F_206C_206C_200E_202B_202A_206E_200C_200E_200E_206F_206D_200C_202E(stringBuilder, ' '); - num = 209316329; - break; - case 2: - num = 209316328; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202D_202B_202A_200E_206E_206A_200C_200D_206C_202D_202C_200D_202D_206D_200C_202C_202D_200F_202D_206B_200D_202E_202D_200F_200C_206B_206A_202E_202A_200F_200D_200F_200C_200C_202E_200C_202A_202B_206C_202C_202E(); - _206A_202B_202A_202A_200D_202C_202B_202B_206D_200C_202D_206F_200E_200E_202D_202C_202A_202E_206F_202E_200E_206B_206A_200C_206C_202D_202E_202B_206F_206F_206B_202C_202E_202D_200E_206E_206B_206B_202D_206D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1694722262)); - _206F_200E_206F_200F_200F_200E_206B_206D_206E_202C_206D_202A_202C_202C_206C_202D_202E_200F_200E_200D_202E_200B_206F_206C_200C_202E_206F_202C_206F_200B_200F_202D_202D_200B_200E_200D_200F_206C_200D_200E_202E(builder, (object)Section); - _206A_202B_202A_202A_200D_202C_202B_202B_206D_200C_202D_206F_200E_200E_202D_202C_202A_202E_206F_202E_200E_206B_206A_200C_206C_202D_202E_202B_206F_206F_206B_202C_202E_202D_200E_206E_206B_206B_202D_206D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1308281590)); - _206F_200E_206F_200F_200F_200E_206B_206D_206E_202C_206D_202A_202C_202C_206C_202D_202E_200F_200E_200D_202E_200B_206F_206C_200C_202E_206F_202C_206F_200B_200F_202D_202D_200B_200E_200D_200F_206C_200D_200E_202E(builder, (object)Categories); - return true; - } - - [CompilerGenerated] - public bool Equals(FilteredSection? other) - { - int num = (((object)this == other) ? (-1818550142) : (-1818550138)); - while (true) - { - int num2 = num; - int num3 = -1818550137; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - return EqualityComparer>.Default.Equals(Categories, other.Categories); - case 2: - num = ((!_206F_206E_202A_202C_206D_206E_202E_200D_200F_206E_206A_200F_202A_202C_200D_202D_202A_206C_202A_206D_202B_206C_206F_206F_202A_200D_202C_202A_202E_206F_206B_202D_206B_202C_200C_202B_202D_200B_206A_206B_202E(EqualityContract, other.EqualityContract)) ? (-1818550137) : (-1818550140)); - break; - case 3: - num = ((!EqualityComparer.Default.Equals(Section, other.Section)) ? (-1818550137) : (-1818550141)); - break; - case 1: - num = (((object)other == null) ? (-1818550137) : (-1818550139)); - break; - case 5: - return true; - case 6: - num = -1818550138; - break; - case 0: - return false; - } - } - } - - bool IEquatable.Equals(FilteredSection? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200C_202B_206D_206B_206B_200F_200F_206C_206E_202B_200C_200E_206D_206D_200B_200C_202B_206B_206D_202E_206B_200C_206B_200F_206E_202C_202B_206D_206B_202C_200E_202D_202D_206A_200D_202B_206E_206F_206A_206B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200B_200F_200E_200E_202E_202A_202B_206F_202B_200F_202D_202E_202C_200E_206C_206E_200F_200B_200E_200B_202A_200B_202B_202D_200D_206A_202D_206A_206F_206B_202D_206D_206F_206D_206F_202B_200C_202B_200D_202E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206A_202B_202A_202A_200D_202C_202B_202B_206D_200C_202D_206F_200E_200E_202D_202C_202A_202E_206F_202E_200E_206B_206A_200C_206C_202D_202E_202B_206F_206F_206B_202C_202E_202D_200E_206E_206B_206B_202D_206D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206E_206D_200C_200F_206F_202A_202A_200E_206C_206C_200E_206C_202D_200C_202E_206D_200E_200D_200D_200E_206E_200D_202D_206B_200F_206A_206B_206F_206C_206C_200E_202B_202A_206E_200C_200E_200E_206F_206D_200C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200C_202D_200E_206B_200E_202A_202E_200E_200E_202C_202E_202D_200F_206A_200E_200F_206B_200E_200D_200E_200D_206D_202E_202A_200C_202C_206C_202D_200F_202E_202B_200D_200D_200B_200E_206E_200C_200B_202D_206E_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202D_202B_202A_200E_206E_206A_200C_200D_206C_202D_202C_200D_202D_206D_200C_202C_202D_200F_202D_206B_200D_202E_202D_200F_200C_206B_206A_202E_202A_200F_200D_200F_200C_200C_202E_200C_202A_202B_206C_202C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206F_200E_206F_200F_200F_200E_206B_206D_206E_202C_206D_202A_202C_202C_206C_202D_202E_200F_200E_200D_202E_200B_206F_206C_200C_202E_206F_202C_206F_200B_200F_202D_202D_200B_200E_200D_200F_206C_200D_200E_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206F_206E_202A_202C_206D_206E_202E_200D_200F_206E_206A_200F_202A_202C_200D_202D_202A_206C_202A_206D_202B_206C_206F_206F_202A_200D_202C_202A_202E_206F_206B_202D_206B_202C_200C_202B_202D_200B_206A_206B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - private sealed record FilteredCategory(JournalData.Category Category, List Genres) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206A_200C_206F_200B_200B_202C_206E_202C_202E_206C_206D_200B_206E_200C_202E_206E_206B_206C_206E_206F_202C_206E_206F_200B_206A_206E_206D_206D_200E_202E_200E_206A_206B_202D_200C_206F_202D_206C_206D_202A_202E(typeof(FilteredCategory).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200F_200C_200D_202D_202C_202C_200D_206B_200D_206B_200B_200D_200D_202C_206A_206B_206F_202A_200E_200D_206A_206D_206F_206A_200E_206C_200B_200D_206C_200B_206F_200F_206E_206B_200F_202B_206A_200B_202E_200D_202E(); - _206C_202B_202E_200E_206A_200E_202C_206D_202E_202D_202E_202D_202E_202E_200B_206C_206B_206A_202E_202B_200E_206B_200D_206D_202A_200E_202E_202D_200F_206A_200D_202B_200F_200D_200B_206A_202C_206E_200D_206F_202E(stringBuilder, 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(-1168389344)); - _206C_202B_202E_200E_206A_200E_202C_206D_202E_202D_202E_202D_202E_202E_200B_206C_206B_206A_202E_202B_200E_206B_200D_206D_202A_200E_202E_202D_200F_206A_200D_202B_200F_200D_200B_206A_202C_206E_200D_206F_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? (-2117931978) : (-2117931979)); - while (true) - { - int num2 = num; - int num3 = -2117931977; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -2117931979; - break; - case 1: - _206E_206B_200F_206C_202E_200C_202A_206E_206B_200B_200E_202A_206F_202B_206C_206C_206E_200B_202D_200B_206C_206E_206C_200E_206D_206E_200F_206B_206B_202C_200E_200D_206F_206B_202E_206C_206A_202C_202E_206A_202E(stringBuilder, '}'); - return _200B_200B_200D_206F_200B_202C_206E_200F_202A_200F_202A_206E_202A_200C_202B_206A_202E_206C_206D_202E_200C_206F_202C_206D_206C_200C_202E_202E_200B_200C_206E_206D_202E_206E_202B_202E_202E_202C_206E_202E_202E((object)stringBuilder); - case 2: - _206E_206B_200F_206C_202E_200C_202A_206E_206B_200B_200E_202A_206F_202B_206C_206C_206E_200B_202D_200B_206C_206E_206C_200E_206D_206E_200F_206B_206B_202C_200E_200D_206F_206B_202E_206C_206A_202C_202E_206A_202E(stringBuilder, ' '); - num = -2117931978; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202C_200F_202B_202E_200F_200E_202B_202C_200D_206E_202A_202C_206F_202E_202B_206F_206C_206B_200D_200F_202D_206C_202A_200F_200D_206F_206E_200B_200F_206B_206E_200D_202C_206F_206A_206B_206B_206D_200F_200F_202E(); - _206C_202B_202E_200E_206A_200E_202C_206D_202E_202D_202E_202D_202E_202E_200B_206C_206B_206A_202E_202B_200E_206B_200D_206D_202A_200E_202E_202D_200F_206A_200D_202B_200F_200D_200B_206A_202C_206E_200D_206F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-836877164)); - _202C_206F_206D_200B_206E_206C_200D_206E_202B_202D_206D_200D_202C_206A_200E_200B_200B_202B_200F_206E_200B_200E_200D_200E_202E_200B_206F_202D_200F_200E_206B_200D_202E_200F_206E_202B_202A_200D_202B_206A_202E(builder, (object)Category); - _206C_202B_202E_200E_206A_200E_202C_206D_202E_202D_202E_202D_202E_202E_200B_206C_206B_206A_202E_202B_200E_206B_200D_206D_202A_200E_202E_202D_200F_206A_200D_202B_200F_200D_200B_206A_202C_206E_200D_206F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-427119147)); - _202C_206F_206D_200B_206E_206C_200D_206E_202B_202D_206D_200D_202C_206A_200E_200B_200B_202B_200F_206E_200B_200E_200D_200E_202E_200B_206F_202D_200F_200E_206B_200D_202E_200F_206E_202B_202A_200D_202B_206A_202E(builder, (object)Genres); - return true; - } - - [CompilerGenerated] - public bool Equals(FilteredCategory? other) - { - int num = (((object)this == other) ? 1587726649 : 1587726650); - while (true) - { - int num2 = num; - int num3 = 1587726648; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = ((!EqualityComparer.Default.Equals(Category, other.Category)) ? 1587726654 : 1587726651); - break; - case 3: - return EqualityComparer>.Default.Equals(Genres, other.Genres); - case 6: - return false; - case 0: - num = 1587726650; - break; - case 1: - return true; - case 2: - num = (((object)other == null) ? 1587726654 : 1587726653); - break; - case 5: - num = ((!_206F_202E_202C_206F_206E_200E_200E_200F_200C_200F_202B_206A_202D_200B_200E_206E_206B_202C_202D_206F_202D_200F_202E_206F_206A_200E_206D_200C_206D_202D_200D_206B_202C_202D_202B_200B_206E_206B_206A_206E_202E(EqualityContract, other.EqualityContract)) ? 1587726654 : 1587726652); - break; - } - } - } - - bool IEquatable.Equals(FilteredCategory? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206A_200C_206F_200B_200B_202C_206E_202C_202E_206C_206D_200B_206E_200C_202E_206E_206B_206C_206E_206F_202C_206E_206F_200B_206A_206E_206D_206D_200E_202E_200E_206A_206B_202D_200C_206F_202D_206C_206D_202A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200F_200C_200D_202D_202C_202C_200D_206B_200D_206B_200B_200D_200D_202C_206A_206B_206F_202A_200E_200D_206A_206D_206F_206A_200E_206C_200B_200D_206C_200B_206F_200F_206E_206B_200F_202B_206A_200B_202E_200D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206C_202B_202E_200E_206A_200E_202C_206D_202E_202D_202E_202D_202E_202E_200B_206C_206B_206A_202E_202B_200E_206B_200D_206D_202A_200E_202E_202D_200F_206A_200D_202B_200F_200D_200B_206A_202C_206E_200D_206F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206E_206B_200F_206C_202E_200C_202A_206E_206B_200B_200E_202A_206F_202B_206C_206C_206E_200B_202D_200B_206C_206E_206C_200E_206D_206E_200F_206B_206B_202C_200E_200D_206F_206B_202E_206C_206A_202C_202E_206A_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200B_200B_200D_206F_200B_202C_206E_200F_202A_200F_202A_206E_202A_200C_202B_206A_202E_206C_206D_202E_200C_206F_202C_206D_206C_200C_202E_202E_200B_200C_206E_206D_202E_206E_202B_202E_202E_202C_206E_202E_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202C_200F_202B_202E_200F_200E_202B_202C_200D_206E_202A_202C_206F_202E_202B_206F_206C_206B_200D_200F_202D_206C_202A_200F_200D_206F_206E_200B_200F_206B_206E_200D_202C_206F_206A_206B_206B_206D_200F_200F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202C_206F_206D_200B_206E_206C_200D_206E_202B_202D_206D_200D_202C_206A_200E_200B_200B_202B_200F_206E_200B_200E_200D_200E_202E_200B_206F_202D_200F_200E_206B_200D_202E_200F_206E_202B_202A_200D_202B_206A_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206F_202E_202C_206F_206E_200E_200E_200F_200C_200F_202B_206A_202D_200B_200E_206E_206B_202C_202D_206F_202D_200F_202E_206F_206A_200E_206D_200C_206D_202D_200D_206B_202C_202D_202B_200B_206E_206B_206A_206E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - private sealed record FilteredGenre(JournalData.Genre Genre, List Quests) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206A_206F_206D_206C_200B_206A_202D_200E_206D_202E_200F_206E_202E_200D_206A_202C_200F_200C_202B_202C_202B_206A_200D_206C_206D_202D_200C_202D_202B_200F_206A_202D_206D_206D_200C_206E_206F_202D_206D_202E_202E(typeof(FilteredGenre).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202B_206F_200F_206D_202C_200D_200F_200C_202D_206D_206C_206F_200D_202E_200C_200D_202C_200C_206C_202E_200C_202A_206A_200D_206F_206D_202E_206F_202B_200E_206A_206F_206D_206F_206C_202A_202E_202E_202C_202C_202E(); - _202D_206B_200F_202B_200E_200E_206C_200D_206E_206A_200E_202D_202B_202D_202B_202A_206A_200B_202B_202A_202D_206A_200F_206F_206D_200F_200E_200C_200E_202A_202C_200F_206D_206C_206D_206D_206E_202C_206C_202E_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1286796942)); - _202D_206B_200F_202B_200E_200E_206C_200D_206E_206A_200E_202D_202B_202D_202B_202A_206A_200B_202B_202A_202D_206A_200F_206F_206D_200F_200E_200C_200E_202A_202C_200F_206D_206C_206D_206D_206E_202C_206C_202E_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1344697862)); - int num = ((!PrintMembers(stringBuilder)) ? 497921459 : 497921458); - while (true) - { - int num2 = num; - int num3 = 497921459; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 497921458; - break; - case 1: - _206D_200B_200C_200B_202A_206E_202D_202C_206A_200B_206F_206E_200E_206C_206D_206F_206B_206E_202D_200B_200F_202A_202E_200B_206E_206B_200F_200D_202A_200C_206C_202A_200B_206C_202A_202D_206D_202A_202D_202D_202E(stringBuilder, ' '); - num = 497921459; - break; - case 0: - _206D_200B_200C_200B_202A_206E_202D_202C_206A_200B_206F_206E_200E_206C_206D_206F_206B_206E_202D_200B_200F_202A_202E_200B_206E_206B_200F_200D_202A_200C_206C_202A_200B_206C_202A_202D_206D_202A_202D_202D_202E(stringBuilder, '}'); - return _200B_202B_200C_206F_202B_206D_200B_202C_200B_206B_202C_200B_202A_206C_200F_200B_200F_200E_202E_206E_206D_206D_200F_202E_206A_200D_202A_200B_202A_202D_202A_200B_206B_206F_202D_202D_202B_200C_200B_200C_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202B_200C_202C_202E_206D_202C_200F_200D_206E_206D_200B_200E_200D_202A_200D_200D_202A_206C_200F_206C_202D_206D_202D_200C_202C_202B_206D_206A_202B_206B_202D_200C_202C_200C_206D_206B_200E_206C_206C_202A_202E(); - _202D_206B_200F_202B_200E_200E_206C_200D_206E_206A_200E_202D_202B_202D_202B_202A_206A_200B_202B_202A_202D_206A_200F_206F_206D_200F_200E_200C_200E_202A_202C_200F_206D_206C_206D_206D_206E_202C_206C_202E_202E(builder, 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(-306988401)); - _200D_200F_202A_200C_200D_202D_200B_202A_200F_200D_202D_200E_206E_200B_202D_202E_200B_206C_202B_200F_202D_206F_206A_202B_206B_200E_202A_206F_200C_206B_200D_200C_206A_200D_200B_202D_200C_206E_202D_200D_202E(builder, (object)Genre); - _202D_206B_200F_202B_200E_200E_206C_200D_206E_206A_200E_202D_202B_202D_202B_202A_206A_200B_202B_202A_202D_206A_200F_206F_206D_200F_200E_200C_200E_202A_202C_200F_206D_206C_206D_206D_206E_202C_206C_202E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-783349735)); - _200D_200F_202A_200C_200D_202D_200B_202A_200F_200D_202D_200E_206E_200B_202D_202E_200B_206C_202B_200F_202D_206F_206A_202B_206B_200E_202A_206F_200C_206B_200D_200C_206A_200D_200B_202D_200C_206E_202D_200D_202E(builder, (object)Quests); - return true; - } - - [CompilerGenerated] - public bool Equals(FilteredGenre? other) - { - int num = (((object)this == other) ? (-210424102) : (-210424103)); - while (true) - { - int num2 = num; - int num3 = -210424102; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = ((!EqualityComparer.Default.Equals(Genre, other.Genre)) ? (-210424097) : (-210424101)); - break; - case 5: - return false; - case 0: - return true; - case 6: - num = -210424103; - break; - case 1: - return EqualityComparer>.Default.Equals(Quests, other.Quests); - case 3: - num = (((object)other == null) ? (-210424097) : (-210424098)); - break; - case 4: - num = ((!_206F_206E_202E_200B_206E_206A_200E_206E_206E_202A_206C_200B_200D_206F_206B_206B_206F_206C_202D_202A_206F_202E_202B_202E_206A_202D_202B_200D_200C_206F_202D_202B_206A_206C_200D_202E_206E_206D_202E_206B_202E(EqualityContract, other.EqualityContract)) ? (-210424097) : (-210424104)); - break; - } - } - } - - bool IEquatable.Equals(FilteredGenre? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206A_206F_206D_206C_200B_206A_202D_200E_206D_202E_200F_206E_202E_200D_206A_202C_200F_200C_202B_202C_202B_206A_200D_206C_206D_202D_200C_202D_202B_200F_206A_202D_206D_206D_200C_206E_206F_202D_206D_202E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202B_206F_200F_206D_202C_200D_200F_200C_202D_206D_206C_206F_200D_202E_200C_200D_202C_200C_206C_202E_200C_202A_206A_200D_206F_206D_202E_206F_202B_200E_206A_206F_206D_206F_206C_202A_202E_202E_202C_202C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202D_206B_200F_202B_200E_200E_206C_200D_206E_206A_200E_202D_202B_202D_202B_202A_206A_200B_202B_202A_202D_206A_200F_206F_206D_200F_200E_200C_200E_202A_202C_200F_206D_206C_206D_206D_206E_202C_206C_202E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206D_200B_200C_200B_202A_206E_202D_202C_206A_200B_206F_206E_200E_206C_206D_206F_206B_206E_202D_200B_200F_202A_202E_200B_206E_206B_200F_200D_202A_200C_206C_202A_200B_206C_202A_202D_206D_202A_202D_202D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200B_202B_200C_206F_202B_206D_200B_202C_200B_206B_202C_200B_202A_206C_200F_200B_200F_200E_202E_206E_206D_206D_200F_202E_206A_200D_202A_200B_202A_202D_202A_200B_206B_206F_202D_202D_202B_200C_200B_200C_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202B_200C_202C_202E_206D_202C_200F_200D_206E_206D_200B_200E_200D_202A_200D_200D_202A_206C_200F_206C_202D_206D_202D_200C_202C_202B_206D_206A_202B_206B_202D_200C_202C_200C_206D_206B_200E_206C_206C_202A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200D_200F_202A_200C_200D_202D_200B_202A_200F_200D_202D_200E_206E_200B_202D_202E_200B_206C_202B_200F_202D_206F_206A_202B_206B_200E_202A_206F_200C_206B_200D_200C_206A_200D_200B_202D_200C_206E_202D_200D_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206F_206E_202E_200B_206E_206A_200E_206E_206E_202A_206C_200B_200D_206F_206B_206B_206F_206C_202D_202A_206F_202E_202B_202E_206A_202D_202B_200D_200C_206F_202D_202B_206A_206C_200D_202E_206E_206D_202E_206B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } + private sealed record FilteredGenre(JournalData.Genre Genre, List Quests); private sealed record JournalCounts(int Available, int Total, int Obtainable, int Completed) { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200F_206A_202B_200C_202D_202C_202D_200B_200F_206F_202B_206B_202B_202C_206A_206C_200C_200F_202C_206F_202D_206E_202B_200B_206E_200C_200B_200E_206A_200F_200D_206A_202C_200C_202A_200B_206C_206A_206F_206E_202E(typeof(JournalCounts).TypeHandle); - } - } - public string FormattedSupported { get; } = FormatPair(Available, Total); public string FormattedCompleted { get; } = FormatPair(Completed, Obtainable); @@ -576,25 +48,11 @@ internal sealed class QuestJournalComponent { get { - int num = ((Available != Total) ? (-828232541) : (-828232542)); - while (true) + if (Available == Total) { - int num2 = num; - int num3 = -828232541; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_004c; - case 1: - return Total > 0; - case 0: - return false; - } - continue; - IL_004c: - num = -828232542; + return Total > 0; } + return false; } } @@ -602,167 +60,28 @@ internal sealed class QuestJournalComponent { get { - int num = ((Completed != Obtainable) ? (-1994052825) : (-1994052828)); - while (true) + if (Completed == Obtainable) { - int num2 = num; - int num3 = -1994052827; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004e; - case 1: - return Obtainable > 0; - case 2: - return false; - } - continue; - IL_004e: - num = -1994052828; + return Obtainable > 0; } + return false; } } - private static readonly int PadWidth = _206B_202A_200B_202E_202E_200D_206C_202A_206F_206A_202A_202C_202C_200C_202A_200B_202A_206D_200B_202A_202A_200D_206C_200B_206F_200E_206B_206D_200B_200B_200D_206A_200E_202B_206B_202D_200C_200F_206E_202D_202E(9999.ToString(_200E_200F_206C_200F_206C_200D_206B_206A_206B_206D_206C_206F_200B_202E_200E_202E_206C_200F_206C_206B_202B_202B_200E_206E_200C_202A_200C_206F_200E_200B_202B_202D_200E_206C_200E_206F_202B_206F_200E_200D_202E())); + private static readonly int PadWidth = 9999.ToString(CultureInfo.CurrentCulture).Length; public JournalCounts() : this(0, 0, 0, 0) { } - [MethodImpl(MethodImplOptions.NoInlining)] private static string FormatPair(int n, int d) { - int num = ((d == 0) ? 755925451 : 755925450); - while (true) + if (d != 0) { - int num2 = num; - int num3 = 755925451; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return _206E_206B_206F_200F_202B_206C_206D_206F_206C_206F_202C_200C_206F_206C_200B_206C_200C_200E_200F_202A_206B_206E_202D_200E_202B_202B_206C_206E_200C_202D_202A_206F_200D_202E_206F_202B_202A_206F_206F_200E_202E(_200E_200B_206C_206E_200C_206B_206F_200D_200D_200F_206D_206F_200D_202D_200F_200F_202A_206F_206C_202D_206C_206F_206A_200C_206A_206D_200D_200D_206C_202E_206D_202D_202A_200E_202C_200D_200C_200F_202C_200E_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1228468769), PadWidth), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1762358294), _200E_200B_206C_206E_200C_206B_206F_200D_200D_200F_206D_206F_200D_202D_200F_200F_202A_206F_206C_202D_206C_206F_206A_200C_206A_206D_200D_200D_206C_202E_206D_202D_202A_200E_202C_200D_200C_200F_202C_200E_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(1313511123), PadWidth)); - case 1: - return _206E_206B_206F_200F_202B_206C_206D_206F_206C_206F_202C_200C_206F_206C_200B_206C_200C_200E_200F_202A_206B_206E_202D_200E_202B_202B_206C_206E_200C_202D_202A_206F_200D_202E_206F_202B_202A_206F_206F_200E_202E(_202E_202B_206A_202C_206E_202D_206A_200E_206B_202A_206C_202B_206A_206F_206F_202D_202B_202E_206C_202C_202C_206A_200E_200D_200E_206D_206F_206B_206E_200E_202C_200B_202E_202B_200D_202A_200C_200D_200D_202A_202E(n.ToString(_200E_200F_206C_200F_206C_200D_206B_206A_206B_206D_206C_206F_200B_202E_200E_202E_206C_200F_206C_206B_202B_202B_200E_206E_200C_202A_200C_206F_200E_200B_202B_202D_200E_206C_200E_206F_202B_206F_200E_200D_202E()), PadWidth), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2014446916), _202E_202B_206A_202C_206E_202D_206A_200E_206B_202A_206C_202B_206A_206F_206F_202D_202B_202E_206C_202C_202C_206A_200E_200D_200E_206D_206F_206B_206E_200E_202C_200B_202E_202B_200D_202A_200C_200D_200D_202A_202E(d.ToString(_200E_200F_206C_200F_206C_200D_206B_206A_206B_206D_206C_206F_200B_202E_200E_202E_206C_200F_206C_206B_202B_202B_200E_206E_200C_202A_200C_206F_200E_200B_202B_202D_200E_206C_200E_206F_202B_206F_200E_200D_202E()), PadWidth)); - case 2: - goto IL_00b5; - } - continue; - IL_00b5: - num = 755925450; + return n.ToString(CultureInfo.CurrentCulture).PadLeft(PadWidth) + " / " + d.ToString(CultureInfo.CurrentCulture).PadLeft(PadWidth); } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206F_202A_206F_200D_202A_206B_206B_202A_206A_206D_206E_202A_202A_200B_206C_206B_200B_200F_206E_206D_206B_202E_200F_200D_206C_202D_200C_200D_200E_200E_200E_202A_200F_202E_202A_200D_206F_202C_206B_206C_202E(); - _200D_206A_206C_206F_200B_206B_202C_206B_200B_202A_200D_206F_202E_206A_202C_202C_202A_202D_200C_202E_206B_206D_206A_200B_200F_200F_202A_202B_206C_200D_200D_202C_200E_206F_200E_206A_206E_206A_202A_206C_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1852041499)); - _200D_206A_206C_206F_200B_206B_202C_206B_200B_202A_200D_206F_202E_206A_202C_202C_202A_202D_200C_202E_206B_206D_206A_200B_200F_200F_202A_202B_206C_200D_200D_202C_200E_206F_200E_206A_206E_206A_202A_206C_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1344697862)); - int num = ((!PrintMembers(stringBuilder)) ? (-1022703241) : (-1022703244)); - while (true) - { - int num2 = num; - int num3 = -1022703242; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1022703244; - break; - case 1: - _206F_200B_202A_206C_202C_206D_200F_206E_200F_202B_200F_206B_202A_206A_200C_200B_202E_206A_202A_202E_202C_200D_202A_200C_200D_206C_206F_206A_202A_206F_200D_200B_200B_202C_206F_202A_206A_202E_206F_200E_202E(stringBuilder, '}'); - return _206B_206F_200F_206D_206B_202C_202E_206B_206D_206C_206C_200F_206B_206A_202A_202E_206C_206C_202E_206F_202C_200D_202E_200C_200F_200F_202E_202E_206F_200F_206C_206E_206E_206B_202A_206F_200D_200C_206B_206A_202E((object)stringBuilder); - case 2: - _206F_200B_202A_206C_202C_206D_200F_206E_200F_202B_200F_206B_202A_206A_200C_200B_202E_206A_202A_202E_202C_200D_202A_200C_200D_206C_206F_206A_202A_206F_200D_200B_200B_202C_206F_202A_206A_202E_206F_200E_202E(stringBuilder, ' '); - num = -1022703241; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206C_202D_202C_202A_206C_202A_200E_202A_202C_202B_206C_206F_200C_206B_200F_206F_206A_202C_202E_202E_202B_206E_206F_200F_200D_206B_200B_206B_202B_200B_200E_200B_200B_202E_200F_206E_202C_206D_206A_206A_202E(); - _200D_206A_206C_206F_200B_206B_202C_206B_200B_202A_200D_206F_202E_206A_202C_202C_202A_202D_200C_202E_206B_206D_206A_200B_200F_200F_202A_202B_206C_200D_200D_202C_200E_206F_200E_206A_206E_206A_202A_206C_202E(builder, 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(-2053589078)); - _200D_206A_206C_206F_200B_206B_202C_206B_200B_202A_200D_206F_202E_206A_202C_202C_202A_202D_200C_202E_206B_206D_206A_200B_200F_200F_202A_202B_206C_200D_200D_202C_200E_206F_200E_206A_206E_206A_202A_206C_202E(builder, Available.ToString()); - _200D_206A_206C_206F_200B_206B_202C_206B_200B_202A_200D_206F_202E_206A_202C_202C_202A_202D_200C_202E_206B_206D_206A_200B_200F_200F_202A_202B_206C_200D_200D_202C_200E_206F_200E_206A_206E_206A_202A_206C_202E(builder, 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(-741143455)); - _200D_206A_206C_206F_200B_206B_202C_206B_200B_202A_200D_206F_202E_206A_202C_202C_202A_202D_200C_202E_206B_206D_206A_200B_200F_200F_202A_202B_206C_200D_200D_202C_200E_206F_200E_206A_206E_206A_202A_206C_202E(builder, Total.ToString()); - _200D_206A_206C_206F_200B_206B_202C_206B_200B_202A_200D_206F_202E_206A_202C_202C_202A_202D_200C_202E_206B_206D_206A_200B_200F_200F_202A_202B_206C_200D_200D_202C_200E_206F_200E_206A_206E_206A_202A_206C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1348197509)); - _200D_206A_206C_206F_200B_206B_202C_206B_200B_202A_200D_206F_202E_206A_202C_202C_202A_202D_200C_202E_206B_206D_206A_200B_200F_200F_202A_202B_206C_200D_200D_202C_200E_206F_200E_206A_206E_206A_202A_206C_202E(builder, Obtainable.ToString()); - _200D_206A_206C_206F_200B_206B_202C_206B_200B_202A_200D_206F_202E_206A_202C_202C_202A_202D_200C_202E_206B_206D_206A_200B_200F_200F_202A_202B_206C_200D_200D_202C_200E_206F_200E_206A_206E_206A_202A_206C_202E(builder, 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(-410827382)); - _200D_206A_206C_206F_200B_206B_202C_206B_200B_202A_200D_206F_202E_206A_202C_202C_202A_202D_200C_202E_206B_206D_206A_200B_200F_200F_202A_202B_206C_200D_200D_202C_200E_206F_200E_206A_206E_206A_202A_206C_202E(builder, Completed.ToString()); - _200D_206A_206C_206F_200B_206B_202C_206B_200B_202A_200D_206F_202E_206A_202C_202C_202A_202D_200C_202E_206B_206D_206A_200B_200F_200F_202A_202B_206C_200D_200D_202C_200E_206F_200E_206A_206E_206A_202A_206C_202E(builder, 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(-250349771)); - _206D_206E_200F_200D_200E_202E_206A_206A_206C_206A_206D_206B_200E_206B_202E_206E_202B_206C_200E_202A_200E_200E_200C_200C_200C_206E_202D_206F_206E_206A_206A_206E_202B_206D_200F_200C_200E_200C_206B_202E(builder, (object)FormattedSupported); - _200D_206A_206C_206F_200B_206B_202C_206B_200B_202A_200D_206F_202E_206A_202C_202C_202A_202D_200C_202E_206B_206D_206A_200B_200F_200F_202A_202B_206C_200D_200D_202C_200E_206F_200E_206A_206E_206A_202A_206C_202E(builder, 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(-769492549)); - _206D_206E_200F_200D_200E_202E_206A_206A_206C_206A_206D_206B_200E_206B_202E_206E_202B_206C_200E_202A_200E_200E_200C_200C_200C_206E_202D_206F_206E_206A_206A_206E_202B_206D_200F_200C_200E_200C_206B_202E(builder, (object)FormattedCompleted); - _200D_206A_206C_206F_200B_206B_202C_206B_200B_202A_200D_206F_202E_206A_202C_202C_202A_202D_200C_202E_206B_206D_206A_200B_200F_200F_202A_202B_206C_200D_200D_202C_200E_206F_200E_206A_206E_206A_202A_206C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1408622866)); - _200D_206A_206C_206F_200B_206B_202C_206B_200B_202A_200D_206F_202E_206A_202C_202C_202A_202D_200C_202E_206B_206D_206A_200B_200F_200F_202A_202B_206C_200D_200D_202C_200E_206F_200E_206A_206E_206A_202A_206C_202E(builder, IsSupportedComplete.ToString()); - _200D_206A_206C_206F_200B_206B_202C_206B_200B_202A_200D_206F_202E_206A_202C_202C_202A_202D_200C_202E_206B_206D_206A_200B_200F_200F_202A_202B_206C_200D_200D_202C_200E_206F_200E_206A_206E_206A_202A_206C_202E(builder, 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(275251644)); - _200D_206A_206C_206F_200B_206B_202C_206B_200B_202A_200D_206F_202E_206A_202C_202C_202A_202D_200C_202E_206B_206D_206A_200B_200F_200F_202A_202B_206C_200D_200D_202C_200E_206F_200E_206A_206E_206A_202A_206C_202E(builder, IsCompletedComplete.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(JournalCounts? other) - { - int num = (((object)this == other) ? 245494928 : 245494938); - while (true) - { - int num2 = num; - int num3 = 245494937; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 10: - return false; - case 3: - num = (((object)other == null) ? 245494931 : 245494936); - break; - case 7: - return EqualityComparer.Default.Equals(FormattedCompleted, other.FormattedCompleted); - case 5: - num = ((!EqualityComparer.Default.Equals(Total, other.Total)) ? 245494931 : 245494939); - break; - case 9: - return true; - case 1: - num = ((!_202C_200C_200E_202B_202E_202C_200B_202E_202E_206F_206A_202B_206B_202B_206D_206A_206A_206F_206B_206E_202C_202A_206C_200D_200E_202E_202E_206B_206B_202A_206A_206D_200C_200F_202A_206C_200C_206D_202C_202B_202E(EqualityContract, other.EqualityContract)) ? 245494931 : 245494943); - break; - case 0: - num = 245494938; - break; - case 8: - num = ((!EqualityComparer.Default.Equals(FormattedSupported, other.FormattedSupported)) ? 245494931 : 245494942); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(Completed, other.Completed)) ? 245494931 : 245494929); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(Available, other.Available)) ? 245494931 : 245494940); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(Obtainable, other.Obtainable)) ? 245494931 : 245494941); - break; - } - } - } - - bool IEquatable.Equals(JournalCounts? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); + return "-".PadLeft(PadWidth) + " / " + "-".PadLeft(PadWidth); } [CompilerGenerated] @@ -775,187 +94,9 @@ internal sealed class QuestJournalComponent FormattedSupported = original.FormattedSupported; FormattedCompleted = original.FormattedCompleted; } - - static Type _200F_206A_202B_200C_202D_202C_202D_200B_200F_206F_202B_206B_202B_202C_206A_206C_200C_200F_202C_206F_202D_206E_202B_200B_206E_200C_200B_200E_206A_200F_200D_206A_202C_200C_202A_200B_206C_206A_206F_206E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static CultureInfo _200E_200F_206C_200F_206C_200D_206B_206A_206B_206D_206C_206F_200B_202E_200E_202E_206C_200F_206C_206B_202B_202B_200E_206E_200C_202A_200C_206F_200E_200B_202B_202D_200E_206C_200E_206F_202B_206F_200E_200D_202E() - { - return CultureInfo.CurrentCulture; - } - - static string _202E_202B_206A_202C_206E_202D_206A_200E_206B_202A_206C_202B_206A_206F_206F_202D_202B_202E_206C_202C_202C_206A_200E_200D_200E_206D_206F_206B_206E_200E_202C_200B_202E_202B_200D_202A_200C_200D_200D_202A_202E(string P_0, int P_1) - { - return P_0.PadLeft(P_1); - } - - static string _206E_206B_206F_200F_202B_206C_206D_206F_206C_206F_202C_200C_206F_206C_200B_206C_200C_200E_200F_202A_206B_206E_202D_200E_202B_202B_206C_206E_200C_202D_202A_206F_200D_202E_206F_202B_202A_206F_206F_200E_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static string _200E_200B_206C_206E_200C_206B_206F_200D_200D_200F_206D_206F_200D_202D_200F_200F_202A_206F_206C_202D_206C_206F_206A_200C_206A_206D_200D_200D_206C_202E_206D_202D_202A_200E_202C_200D_200C_200F_202C_200E_202E(string P_0, int P_1) - { - return P_0.PadLeft(P_1); - } - - static StringBuilder _206F_202A_206F_200D_202A_206B_206B_202A_206A_206D_206E_202A_202A_200B_206C_206B_200B_200F_206E_206D_206B_202E_200F_200D_206C_202D_200C_200D_200E_200E_200E_202A_200F_202E_202A_200D_206F_202C_206B_206C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200D_206A_206C_206F_200B_206B_202C_206B_200B_202A_200D_206F_202E_206A_202C_202C_202A_202D_200C_202E_206B_206D_206A_200B_200F_200F_202A_202B_206C_200D_200D_202C_200E_206F_200E_206A_206E_206A_202A_206C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206F_200B_202A_206C_202C_206D_200F_206E_200F_202B_200F_206B_202A_206A_200C_200B_202E_206A_202A_202E_202C_200D_202A_200C_200D_206C_206F_206A_202A_206F_200D_200B_200B_202C_206F_202A_206A_202E_206F_200E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206B_206F_200F_206D_206B_202C_202E_206B_206D_206C_206C_200F_206B_206A_202A_202E_206C_206C_202E_206F_202C_200D_202E_200C_200F_200F_202E_202E_206F_200F_206C_206E_206E_206B_202A_206F_200D_200C_206B_206A_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206C_202D_202C_202A_206C_202A_200E_202A_202C_202B_206C_206F_200C_206B_200F_206F_206A_202C_202E_202E_202B_206E_206F_200F_200D_206B_200B_206B_202B_200B_200E_200B_200B_202E_200F_206E_202C_206D_206A_206A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206D_206E_200F_200D_200E_202E_206A_206A_206C_206A_206D_206B_200E_206B_202E_206E_202B_206C_200E_202A_200E_200E_200C_200C_200C_206E_202D_206F_206E_206A_206A_206E_202B_206D_200F_200C_200E_200C_206B_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202C_200C_200E_202B_202E_202C_200B_202E_202E_206F_206A_202B_206B_202B_206D_206A_206A_206F_206B_206E_202C_202A_206C_200D_200E_202E_202E_206B_206B_202A_206A_206D_200C_200F_202A_206C_200C_206D_202C_202B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - - static int _206B_202A_200B_202E_202E_200D_206C_202A_206F_206A_202A_202C_202C_200C_202A_200B_202A_206D_200B_202A_202A_200D_206C_200B_206F_200E_206B_206D_200B_200B_200D_206A_200E_202B_206B_202D_200C_200F_206E_202D_202E(string P_0) - { - return P_0.Length; - } } - private readonly record struct CachedQuestDisplay(Vector4 SupportColor, FontAwesomeIcon SupportIcon, Vector4 CompletionColor, FontAwesomeIcon CompletionIcon, string CompletionText) - { - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202C_206E_206A_206F_206C_200B_202B_206C_206B_206C_202B_202D_202C_206C_200C_206F_206B_202A_202A_202B_200D_200D_206B_206E_206D_200C_206C_206E_200B_200F_206D_206F_206D_206D_206D_200C_202D_206C_200E_202E_202E(); - _200D_206C_206D_202D_200E_202E_206D_200F_200C_202C_200C_206E_202E_200E_206E_202D_200B_200F_206C_200F_200E_202B_202D_206C_202A_206A_206C_200B_202E_200D_200E_206E_202D_206B_200D_202C_200F_202C_200B_200C_202E(stringBuilder, 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(1454534010)); - _200D_206C_206D_202D_200E_202E_206D_200F_200C_202C_200C_206E_202E_200E_206E_202D_200B_200F_206C_200F_200E_202B_202D_206C_202A_206A_206C_200B_202E_200D_200E_206E_202D_206B_200D_202C_200F_202C_200B_200C_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? (-564173337) : (-564173340)); - while (true) - { - int num2 = num; - int num3 = -564173338; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _200D_206C_206A_206D_202B_200D_206E_202D_200F_202A_206C_206C_200E_202E_200C_202B_202D_200F_200E_206F_206C_200B_206C_200B_200C_202C_202B_206E_206D_206A_202E_202D_200E_206F_200B_206B_200B_206D_202D_200D_202E(stringBuilder, '}'); - return _200C_200E_200F_200B_200C_200B_206F_202A_206A_202D_200F_206A_200E_200B_206B_206B_206D_206E_206F_200C_206C_206F_200D_206A_202D_200D_206F_206A_200E_206E_202D_202A_202D_206B_202C_200D_202D_206A_200E_200E_202E((object)stringBuilder); - case 2: - _200D_206C_206A_206D_202B_200D_206E_202D_200F_202A_206C_206C_200E_202E_200C_202B_202D_200F_200E_206F_206C_200B_206C_200B_200C_202C_202B_206E_206D_206A_202E_202D_200E_206F_200B_206B_200B_206D_202D_200D_202E(stringBuilder, ' '); - num = -564173337; - break; - case 0: - num = -564173340; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200D_206C_206D_202D_200E_202E_206D_200F_200C_202C_200C_206E_202E_200E_206E_202D_200B_200F_206C_200F_200E_202B_202D_206C_202A_206A_206C_200B_202E_200D_200E_206E_202D_206B_200D_202C_200F_202C_200B_200C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-821988253)); - _200D_206C_206D_202D_200E_202E_206D_200F_200C_202C_200C_206E_202E_200E_206E_202D_200B_200F_206C_200F_200E_202B_202D_206C_202A_206A_206C_200B_202E_200D_200E_206E_202D_206B_200D_202C_200F_202C_200B_200C_202E(builder, SupportColor.ToString()); - _200D_206C_206D_202D_200E_202E_206D_200F_200C_202C_200C_206E_202E_200E_206E_202D_200B_200F_206C_200F_200E_202B_202D_206C_202A_206A_206C_200B_202E_200D_200E_206E_202D_206B_200D_202C_200F_202C_200B_200C_202E(builder, 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(-1724487156)); - _200D_206C_206D_202D_200E_202E_206D_200F_200C_202C_200C_206E_202E_200E_206E_202D_200B_200F_206C_200F_200E_202B_202D_206C_202A_206A_206C_200B_202E_200D_200E_206E_202D_206B_200D_202C_200F_202C_200B_200C_202E(builder, SupportIcon.ToString()); - _200D_206C_206D_202D_200E_202E_206D_200F_200C_202C_200C_206E_202E_200E_206E_202D_200B_200F_206C_200F_200E_202B_202D_206C_202A_206A_206C_200B_202E_200D_200E_206E_202D_206B_200D_202C_200F_202C_200B_200C_202E(builder, 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(-59441917)); - _200D_206C_206D_202D_200E_202E_206D_200F_200C_202C_200C_206E_202E_200E_206E_202D_200B_200F_206C_200F_200E_202B_202D_206C_202A_206A_206C_200B_202E_200D_200E_206E_202D_206B_200D_202C_200F_202C_200B_200C_202E(builder, CompletionColor.ToString()); - _200D_206C_206D_202D_200E_202E_206D_200F_200C_202C_200C_206E_202E_200E_206E_202D_200B_200F_206C_200F_200E_202B_202D_206C_202A_206A_206C_200B_202E_200D_200E_206E_202D_206B_200D_202C_200F_202C_200B_200C_202E(builder, 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(-588858711)); - _200D_206C_206D_202D_200E_202E_206D_200F_200C_202C_200C_206E_202E_200E_206E_202D_200B_200F_206C_200F_200E_202B_202D_206C_202A_206A_206C_200B_202E_200D_200E_206E_202D_206B_200D_202C_200F_202C_200B_200C_202E(builder, CompletionIcon.ToString()); - _200D_206C_206D_202D_200E_202E_206D_200F_200C_202C_200C_206E_202E_200E_206E_202D_200B_200F_206C_200F_200E_202B_202D_206C_202A_206A_206C_200B_202E_200D_200E_206E_202D_206B_200D_202C_200F_202C_200B_200C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(970249347)); - _200E_202A_206A_202C_200B_206E_200B_202C_206E_200D_206C_202B_206F_200B_200E_206B_206A_206F_200B_202B_202B_200F_202B_202E_200D_206C_200D_202B_200D_200D_206C_206C_200B_206D_202A_202A_202A_202D_200C_206C_202E(builder, (object)CompletionText); - return true; - } - - [CompilerGenerated] - public bool Equals(CachedQuestDisplay other) - { - int num = ((!EqualityComparer.Default.Equals(SupportColor, other.SupportColor)) ? 1882949337 : 1882949341); - while (true) - { - int num2 = num; - int num3 = 1882949336; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return false; - case 5: - num = ((!EqualityComparer.Default.Equals(SupportIcon, other.SupportIcon)) ? 1882949337 : 1882949340); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(CompletionIcon, other.CompletionIcon)) ? 1882949337 : 1882949339); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(CompletionColor, other.CompletionColor)) ? 1882949337 : 1882949338); - break; - case 3: - return EqualityComparer.Default.Equals(CompletionText, other.CompletionText); - case 0: - num = 1882949341; - break; - } - } - } - - bool IEquatable.Equals(CachedQuestDisplay other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _202C_206E_206A_206F_206C_200B_202B_206C_206B_206C_202B_202D_202C_206C_200C_206F_206B_202A_202A_202B_200D_200D_206B_206E_206D_200C_206C_206E_200B_200F_206D_206F_206D_206D_206D_200C_202D_206C_200E_202E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200D_206C_206D_202D_200E_202E_206D_200F_200C_202C_200C_206E_202E_200E_206E_202D_200B_200F_206C_200F_200E_202B_202D_206C_202A_206A_206C_200B_202E_200D_200E_206E_202D_206B_200D_202C_200F_202C_200B_200C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200D_206C_206A_206D_202B_200D_206E_202D_200F_202A_206C_206C_200E_202E_200C_202B_202D_200F_200E_206F_206C_200B_206C_200B_200C_202C_202B_206E_206D_206A_202E_202D_200E_206F_200B_206B_200B_206D_202D_200D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200C_200E_200F_200B_200C_200B_206F_202A_206A_202D_200F_206A_200E_200B_206B_206B_206D_206E_206F_200C_206C_206F_200D_206A_202D_200D_206F_206A_200E_206E_202D_202A_202D_206B_202C_200D_202D_206A_200E_200E_202E(object P_0) - { - return P_0.ToString(); - } - - static StringBuilder _200E_202A_206A_202C_200B_206E_200B_202C_206E_200D_206C_202B_206F_200B_200E_206B_206A_206F_200B_202B_202B_200F_202B_202E_200D_206C_200D_202B_200D_200D_206C_206C_200B_206D_202A_202A_202A_202D_200C_206C_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - } + private readonly record struct CachedQuestDisplay(Vector4 SupportColor, FontAwesomeIcon SupportIcon, Vector4 CompletionColor, FontAwesomeIcon CompletionIcon, string CompletionText); internal sealed class FilterConfiguration { @@ -971,26 +112,11 @@ internal sealed class QuestJournalComponent { get { - int num = (AvailableOnly ? 1781684003 : 1781684002); - while (true) + if (!AvailableOnly && !HideNoPaths) { - int num2 = num; - int num3 = 1781684000; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1781684002; - break; - case 2: - num = (HideNoPaths ? 1781684003 : 1781684001); - break; - case 3: - return true; - case 1: - return HideUnobtainable; - } + return HideUnobtainable; } + return true; } } @@ -1066,503 +192,216 @@ internal sealed class QuestJournalComponent _lastHideSeasonalGlobally = _configuration.General.HideSeasonalEventsFromJournalProgress; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe void DrawQuests() { - int num = ((_refreshGenreIndex >= 0) ? 1868955401 : 1868955407); - bool hideSeasonalEventsFromJournalProgress = default(bool); - bool flag2 = default(bool); - int num11 = default(int); - while (true) + if (_refreshGenreIndex >= 0 || _refreshDisplayIndex >= 0) { - int num2 = num; - int num3 = 1868955396; - int num4 = num2; - int num23; - switch ((num4 | num3) - (num4 & num3)) + TickRefresh(); + } + bool hideSeasonalEventsFromJournalProgress = _configuration.General.HideSeasonalEventsFromJournalProgress; + if (hideSeasonalEventsFromJournalProgress != _lastHideSeasonalGlobally) + { + _lastHideSeasonalGlobally = hideSeasonalEventsFromJournalProgress; + _logger.LogDebug("Configuration change detected: HideSeasonalEventsFromJournalProgress={Hide} - refreshing journal", hideSeasonalEventsFromJournalProgress); + UpdateFilter(); + } + _questJournalUtils.AddAllAvailableQuests(); + ImGui.SameLine(); + if (UiThemeUtils.SearchInput("##QuestSearch", ref Filter.SearchText, -1E-45f, "Search quests and categories")) + { + UpdateFilter(); + } + int num = 0 | (UiThemeUtils.WrappedCheckbox("Available only", ref Filter.AvailableOnly) ? 1 : 0); + ImGui.SameLine(); + int num2 = num | (UiThemeUtils.WrappedCheckbox("Hide without paths", ref Filter.HideNoPaths) ? 1 : 0); + ImGui.SameLine(); + if (((uint)num2 | (UiThemeUtils.WrappedCheckbox("Hide unobtainable", ref Filter.HideUnobtainable) ? 1u : 0u)) != 0) + { + UpdateFilter(); + } + ImGui.Separator(); + bool flag = _refreshGenreIndex >= 0 || _refreshDisplayIndex >= 0; + if (flag) + { + ImGui.TextColored(in UiThemeUtils.StatusActive, "Loading..."); + } + if (_flatRows.Count > 0) + { + float x; + using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push()) { - case 12: - _lastHideSeasonalGlobally = hideSeasonalEventsFromJournalProgress; - _200F_200F_206D_200C_206F_202A_206B_206B_200E_202B_200B_200F_202E_206E_206B_206C_202C_202B_200F_200F_206F_206D_200D_206F_206E_202C_202A_206E_202E_202B_200F_202E_200D_202E_206A_202D_200D_200E_200C_202E_202E((ILogger)_logger, 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(-1004026158), new object[1] { hideSeasonalEventsFromJournalProgress }); - UpdateFilter(); - num = 1868955392; - break; - case 4: - _questJournalUtils.AddAllAvailableQuests(); - _202C_200D_202B_200D_206B_200E_206D_202B_202C_206C_202D_200E_202B_206E_202A_206A_206E_202A_206C_206D_206C_206B_202A_206E_206F_202A_200C_206B_202A_206A_200F_206E_202A_206A_202E_200C_200C_200F_200E_200C_202E(); - num = ((!UiThemeUtils.SearchInput(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(570004168), ref Filter.SearchText, -1E-45f, 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(1939826874))) ? 1868955398 : 1868955397); - break; - case 13: - TickRefresh(); - num = 1868955394; - break; - case 6: - hideSeasonalEventsFromJournalProgress = _configuration.General.HideSeasonalEventsFromJournalProgress; - num = ((hideSeasonalEventsFromJournalProgress == _lastHideSeasonalGlobally) ? 1868955392 : 1868955400); - break; - case 8: - num = 1868955407; - break; - case 7: - UpdateFilter(); - num = 1868955399; - break; - case 14: - _206F_202B_202E_202C_206A_206C_202A_206B_206A_200F_202A_206C_202C_206D_200E_206E_202D_202D_202D_202E_206C_202C_206B_206D_200F_202E_202B_206A_200E_206D_206A_206D_202D_206B_206A_202A_200D_206E_206D_202E_202E(ref UiThemeUtils.StatusActive, (ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-968153087)); - num = 1868955396; - break; - case 3: - _200B_200B_200F_202A_200E_200D_200F_202E_202B_202C_206D_200B_206B_202B_200C_200C_206A_206D_202A_206A_206E_206A_206F_206C_202E_206D_202C_202D_202E_202D_206A_206B_206A_200B_200F_206C_206E_206C_200C_206E_202E(); - num = ((_refreshGenreIndex >= 0) ? 1868955406 : 1868955393); - break; - case 2: + x = ImGui.CalcTextSize(FontAwesomeIcon.Check.ToIconString()).X; + } + float fontGlobalScale = ImGui.GetIO().FontGlobalScale; + using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable("Quests", 3, ImGuiTableFlags.NoSavedSettings | ImGuiTableFlags.ScrollY); + if (!tableDisposable) { - int num21 = 0 | (UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1764187366), ref Filter.AvailableOnly) ? 1 : 0); - _202C_200D_202B_200D_206B_200E_206D_202B_202C_206C_202D_200E_202B_206E_202A_206A_206E_202A_206C_206D_206C_206B_202A_206E_206F_202A_200C_206B_202A_206A_200F_206E_202A_206A_202E_200C_200C_200F_200E_200C_202E(); - int num22 = num21 | (UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1852813595), ref Filter.HideNoPaths) ? 1 : 0); - _202C_200D_202B_200D_206B_200E_206D_202B_202C_206C_202D_200E_202B_206E_202A_206A_206E_202A_206C_206D_206C_206B_202A_206E_206F_202A_200C_206B_202A_206A_200F_206E_202A_206A_202E_200C_200C_200F_200E_200C_202E(); - num = ((((uint)num22 | (UiThemeUtils.WrappedCheckbox(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(-784051953), ref Filter.HideUnobtainable) ? 1u : 0u)) == 0) ? 1868955399 : 1868955395); - break; + return; } - case 11: - num = ((_refreshDisplayIndex < 0) ? 1868955394 : 1868955401); - break; - case 10: - num23 = 1; - goto IL_0267; - case 5: - num23 = ((_refreshDisplayIndex >= 0) ? 1 : 0); - goto IL_0267; - case 1: - UpdateFilter(); - num = 1868955398; - break; - case 0: - if (_flatRows.Count > 0) + ImGui.TableSetupColumn("Name", ImGuiTableColumnFlags.NoHide); + ImGui.TableSetupColumn("Supported", ImGuiTableColumnFlags.WidthFixed, 120f * fontGlobalScale); + ImGui.TableSetupColumn("Completed", ImGuiTableColumnFlags.WidthFixed, 120f * fontGlobalScale); + ImGui.TableHeadersRow(); + float textLineHeightWithSpacing = ImGui.GetTextLineHeightWithSpacing(); + bool flag2 = false; + ImGuiListClipper* intPtr = ImGuiNative.ImGuiListClipper(); + ImGuiNative.Begin(intPtr, _flatRows.Count, textLineHeightWithSpacing); + ImGuiListClipperPtr imGuiListClipperPtr = intPtr; + try + { + while (imGuiListClipperPtr.Step()) { - num = 1868955405; - break; - } - num = (flag2 ? 1956666445 : 1956666446); - while (true) - { - int num18 = num; - num3 = 1956666444; - num4 = num18; - int num19 = num4 + num3; - int num20 = num4 & num3; - switch (num19 - (num20 + num20)) + for (int i = imGuiListClipperPtr.DisplayStart; i < imGuiListClipperPtr.DisplayEnd; i++) { - case 0: - num = 1956666446; - break; - case 1: - return; - case 2: - UiThemeUtils.EmptyState(FontAwesomeIcon.Book, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1452417515)); - num = 1956666445; - break; - } - } - case 9: - { - IDisposable disposable = _202B_200D_200E_206A_202D_202B_206D_202C_206E_206D_202E_200B_206F_206A_202D_206A_200B_202D_202A_202E_206B_200F_202C_206E_202A_206D_200D_202B_202E_200F_200C_200D_202D_206A_206A_200E_202A_202C_202E_200C_202E(_206A_202A_202E_202E_206E_200F_206D_202A_206D_200C_206A_202E_200F_200D_202D_206A_206A_202C_206C_202E_202C_200B_202E_202E_200D_206A_202B_206F_206A_200D_206C_200F_206F_200F_200F_206F_206E_200D_200E_202C_202E(_206E_206B_206E_202B_202B_206B_206A_200D_206F_200E_202B_200F_206F_206B_200F_202B_200C_202C_202C_202B_202D_206C_200F_202D_200F_206E_202D_206A_206D_200E_202B_200E_200D_200F_206D_206A_206F_206D_202B_202B_202E(_pluginInterface))); - float x; - try - { - x = _200E_200D_200C_200E_202C_206A_200C_202B_202A_206E_206F_206C_206A_200D_202D_202D_206E_202D_200C_206F_202D_202A_202A_202E_206E_200E_200D_202B_206B_200B_200F_206B_206E_206B_200D_202D_202E_206A_200E_206E_202E((ImU8String)_206C_200F_206D_202A_206D_206F_206A_206A_202A_202A_202A_206B_202C_200F_206F_206E_200D_200B_202A_200E_202D_206D_206B_202B_200B_200F_206A_206F_200F_206D_200E_202E_202C_200B_200E_202A_202A_200B_200C_200F_202E(FontAwesomeIcon.Check), false, -1f).X; - } - finally - { - num = ((disposable == null) ? 1763295843 : 1763295840); - while (true) + if (DrawFlatRow(_flatRows[i], x)) { - int num5 = num; - num3 = 1763295841; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 0: - num = 1763295840; - break; - case 2: - goto end_IL_032d; - case 1: - _200E_206C_200C_206A_206A_206E_200E_202C_206E_202B_202B_206D_202C_206B_206D_206D_206C_200B_206A_202A_206D_202C_202B_206E_202D_200F_206A_200F_202C_202C_202C_202C_200D_200B_206B_202D_206B_202E_200E_202D_202E(disposable); - num = 1763295843; - break; - } - continue; - end_IL_032d: - break; + flag2 = true; } } - float fontGlobalScale = _206D_206F_202D_202B_200C_206A_206C_206E_202D_202D_206E_200E_200E_202E_202A_202A_202D_206A_200B_206A_206F_202B_200D_202D_200F_202B_202B_202E_202D_206B_206A_200F_200F_200F_200E_202D_206A_206F_202D_202E_202E().FontGlobalScale; - using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1895196101), 3, ImGuiTableFlags.NoSavedSettings | ImGuiTableFlags.ScrollY); - num = ((!(!tableDisposable)) ? (-587254794) : (-587254793)); - while (true) - { - int num8 = num; - num3 = -587254794; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_03f2; - case 1: - return; - case 0: - { - _200D_202D_202C_206E_202C_200B_202C_202A_206D_200D_206F_200B_202C_206F_200B_200B_200E_200B_202B_206A_200E_206C_200D_206A_200B_202B_200E_206B_202E_202A_200C_200F_206C_206B_202C_206C_200D_206C_206F_200C_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-267283137), ImGuiTableColumnFlags.NoHide, 0f, 0u); - _200D_202D_202C_206E_202C_200B_202C_202A_206D_200D_206F_200B_202C_206F_200B_200B_200E_200B_202B_206A_200E_206C_200D_206A_200B_202B_200E_206B_202E_202A_200C_200F_206C_206B_202C_206C_200D_206C_206F_200C_202E((ImU8String)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(406119027), ImGuiTableColumnFlags.WidthFixed, 120f * fontGlobalScale, 0u); - _200D_202D_202C_206E_202C_200B_202C_202A_206D_200D_206F_200B_202C_206F_200B_200B_200E_200B_202B_206A_200E_206C_200D_206A_200B_202B_200E_206B_202E_202A_200C_200F_206C_206B_202C_206C_200D_206C_206F_200C_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(211501148), ImGuiTableColumnFlags.WidthFixed, 120f * fontGlobalScale, 0u); - _206E_202C_206D_200F_200F_202C_206C_206B_206B_206B_200C_202B_200D_206D_206A_206D_206E_200C_202B_206A_200D_200C_202E_200B_206E_206D_200F_202D_200F_200C_200E_206E_206E_206C_202B_206E_206A_202A_202E_200E_202E(); - float num9 = _202D_200D_206D_206F_202A_206E_202D_200C_200D_200F_200F_200E_202B_206A_200C_206A_200D_200C_200D_202E_206E_200D_202A_200E_202A_206C_200B_200C_200C_200B_206C_200E_200C_206A_200E_202C_206F_202B_200B_206D_202E(); - bool flag = false; - ImGuiListClipper* intPtr = _200D_200E_202E_202B_206A_202A_206B_200D_200B_202A_200C_206F_206A_206D_206D_202B_200D_206D_200C_206F_202D_200F_206A_206A_206E_202E_200C_200C_202A_206A_206E_206E_202A_200C_206E_200E_202C_202C_200E_206E_202E(); - _202C_202E_200B_206A_200D_200F_200F_200F_200C_202A_202A_200E_200E_200F_202A_202B_202D_206E_202A_200C_206B_200F_206E_200E_202A_200D_206A_202E_202E_202D_206A_202A_200E_200E_200B_206F_202D_202E_206A_202B_202E(intPtr, _flatRows.Count, num9); - ImGuiListClipperPtr imGuiListClipperPtr = intPtr; - try - { - num = 987035593; - while (true) - { - int num10 = num; - num3 = 987035599; - num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - flag = true; - num = 987035597; - break; - case 1: - num11 = imGuiListClipperPtr.DisplayStart; - num = 987035596; - break; - case 6: - num = (imGuiListClipperPtr.Step() ? 987035598 : 987035592); - break; - case 3: - num = ((num11 < imGuiListClipperPtr.DisplayEnd) ? 987035599 : 987035593); - break; - case 2: - { - int num12 = num11; - num3 = 1; - num4 = num12; - int num13 = num4 ^ num3; - int num14 = num4 & num3; - num11 = num13 + (num14 + num14); - num = 987035596; - break; - } - case 5: - num = 987035593; - break; - case 0: - num = ((!DrawFlatRow(_flatRows[num11], x)) ? 987035597 : 987035595); - break; - case 7: - goto end_IL_049f; - } - continue; - end_IL_049f: - break; - } - } - finally - { - imGuiListClipperPtr.Destroy(); - } - num = ((!flag) ? (-545525042) : (-545525043)); - while (true) - { - int num15 = num; - num3 = -545525044; - num4 = num15; - int num16 = num4 + num3; - int num17 = num4 & num3; - switch (num16 - (num17 + num17)) - { - case 0: - num = -545525043; - break; - case 1: - RebuildFlatRows(); - num = -545525042; - break; - case 2: - return; - } - } - } - } - continue; - IL_03f2: - num = -587254793; - } } - IL_0267: - flag2 = (byte)num23 != 0; - num = ((!flag2) ? 1868955396 : 1868955402); - break; } + finally + { + imGuiListClipperPtr.Destroy(); + } + if (flag2) + { + RebuildFlatRows(); + } + return; + } + if (!flag) + { + UiThemeUtils.EmptyState(FontAwesomeIcon.Book, "No quest or category matches your search."); } } - [MethodImpl(MethodImplOptions.NoInlining)] private bool DrawFlatRow(FlatRow row, float supportIconSpacing) { - _200F_206F_200C_202D_206D_200C_202E_200D_206A_206D_202A_206D_206B_206E_206B_202C_206E_202E_202E_202D_206D_200D_202A_202C_200D_206A_206C_206A_202A_200E_200C_200C_206D_206B_200F_206E_206C_200C_202B_202E(); - _206A_200E_206E_202D_206A_200F_206D_202D_200B_202B_206F_206A_206D_202C_202B_200F_206A_202D_206E_200B_206A_206D_202C_206B_200D_200E_200C_202E_200D_206E_202C_206D_202C_206F_206B_200D_200B_202B_206D_202B_202E(); + ImGui.TableNextRow(); + ImGui.TableNextColumn(); bool result = false; - float num = (float)row.Depth * _206D_206E_200D_202D_206B_200F_202C_200B_200E_206C_206B_200C_202D_202A_206A_206F_206A_206E_206A_206A_200B_200B_202C_206D_200C_206F_202B_202E_200B_200E_206A_206A_202E_200C_200E_206D_206C_206E_202D_202B_202E().IndentSpacing; - int num2 = ((row.Type != RowType.Quest) ? 468966862 : 468966852); - (RowType, int) item = default((RowType, int)); - bool flag = default(bool); - while (true) + float num = (float)row.Depth * ImGui.GetStyle().IndentSpacing; + if (row.Type == RowType.Quest) { - int num3 = num2; - int num4 = 468966860; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 4: - _expandedGroups.Remove(item); - num2 = 468966858; - break; - case 8: - { - _206D_200D_206E_206C_206A_206B_200C_200C_200B_202A_206B_200E_202B_200B_202D_200D_202A_206F_200E_202E_206F_200C_206F_202E_206A_202A_206B_206A_202E_200F_200C_206E_206A_206E_206F_206B_200E_202D_202A_200E_202E(_200C_206B_206F_206E_200D_206D_202C_200D_200D_200E_200F_202A_200B_206F_202A_206A_206D_200F_200E_200F_200D_206E_206C_206D_206B_206F_202D_202E_200D_206F_200C_206F_202B_206C_202C_202E_206F_206E_206B_206C_202E() + num); - DrawQuestName(row.Quest, out var expansionHovered); - _questRegistry.TryGetQuest(row.Quest.QuestId, out Quest quest); - DrawQuestTooltipAndContextMenu(row.Quest, quest, expansionHovered); - _206A_200E_206E_202D_206A_200F_206D_202D_200B_202B_206F_206A_206D_202C_202B_200F_206A_202D_206E_200B_206A_206D_202C_206B_200D_200E_200C_202E_200D_206E_202C_206D_202C_206F_206B_200D_200B_202B_206D_202B_202E(); - DrawQuestSupportStatus(row.Quest, supportIconSpacing); - _206A_200E_206E_202D_206A_200F_206D_202D_200B_202B_206F_206A_206D_202C_202B_200F_206A_202D_206E_200B_206A_206D_202C_206B_200D_200E_200C_202E_200D_206E_202C_206D_202C_206F_206B_200D_200B_202B_206D_202B_202E(); - DrawQuestCompletionStatus(row.Quest); - num2 = 468966861; - break; - } - case 1: - return result; - case 5: - _206A_200E_206E_202D_206A_200F_206D_202D_200B_202B_206F_206A_206D_202C_202B_200F_206A_202D_206E_200B_206A_206D_202C_206B_200D_200E_200C_202E_200D_206E_202C_206D_202C_206F_206B_200D_200B_202B_206D_202B_202E(); - UiThemeUtils.DrawTrackerCount(row.Counts.FormattedSupported, row.Counts.IsSupportedComplete, row.Counts.Total == 0); - _206A_200E_206E_202D_206A_200F_206D_202D_200B_202B_206F_206A_206D_202C_202B_200F_206A_202D_206E_200B_206A_206D_202C_206B_200D_200E_200C_202E_200D_206E_202C_206D_202C_206F_206B_200D_200B_202B_206D_202B_202E(); - UiThemeUtils.DrawTrackerCount(row.Counts.FormattedCompleted, row.Counts.IsCompletedComplete, row.Counts.Obtainable == 0); - num2 = 468966861; - break; - case 2: - { - item = (row.Type, row.GroupIndex); - flag = _expandedGroups.Contains(item); - _206D_200D_206E_206C_206A_206B_200C_200C_200B_202A_206B_200E_202B_200B_202D_200D_202A_206F_200E_202E_206F_200C_206F_202E_206A_202A_206B_206A_202E_200F_200C_206E_206A_206E_206F_206B_200E_202D_202A_200E_202E(_200C_206B_206F_206E_200D_206D_202C_200D_200D_200E_200F_202A_200B_206F_202A_206A_206D_200F_200E_200F_200D_206E_206C_206D_206B_206F_202D_202E_200D_206F_200C_206F_202B_206C_202C_202E_206F_206E_206B_206C_202E() + num); - UiThemeUtils.DrawTrackerGroupCaret(_206A_202A_202E_202E_206E_200F_206D_202A_206D_200C_206A_202E_200F_200D_202D_206A_206A_202C_206C_202E_202C_200B_202E_202E_200D_206A_202B_206F_206A_200D_206C_200F_206F_200F_200F_206F_206E_200D_200E_202C_202E(_206E_206B_206E_202B_202B_206B_206A_200D_206F_200E_202B_200F_206F_206B_200F_202B_200C_202C_202C_202B_202D_206C_200F_202D_200F_206E_202D_206A_206D_200E_202B_200E_200D_200F_206D_206A_206F_206D_202B_202B_202E(_pluginInterface)), flag); - _202C_200D_202B_200D_206B_200E_206D_202B_202C_206C_202D_200E_202B_206E_202A_206A_206E_202A_206C_206D_206C_206B_202A_206E_206F_202A_200C_206B_202A_206A_200F_206E_202A_206A_202E_200C_200C_200F_200E_200C_202E(); - ImU8String imU8String = new ImU8String(5, 2); - imU8String.AppendFormatted(row.Label); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2023271148)); - imU8String.AppendFormatted(row.GroupIndex); - num2 = ((!_206B_206E_202C_200C_202C_200C_202E_202B_206C_206C_206D_202C_200E_202B_200F_202A_206E_206F_200B_200E_206E_206C_202D_200B_202A_202D_200C_206C_206C_200D_206F_206C_202D_200E_206D_206F_200D_202D_202A_200D_202E(imU8String, false, ImGuiSelectableFlags.None, default(Vector2))) ? 468966857 : 468966860); - break; - } - case 0: - num2 = ((!flag) ? 468966863 : 468966856); - break; - case 3: - _expandedGroups.Add(item); - num2 = 468966858; - break; - case 6: - result = true; - num2 = 468966857; - break; - case 7: - num2 = 468966852; - break; - } + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + num); + DrawQuestName(row.Quest, out var expansionHovered); + _questRegistry.TryGetQuest(row.Quest.QuestId, out Quest quest); + DrawQuestTooltipAndContextMenu(row.Quest, quest, expansionHovered); + ImGui.TableNextColumn(); + DrawQuestSupportStatus(row.Quest, supportIconSpacing); + ImGui.TableNextColumn(); + DrawQuestCompletionStatus(row.Quest); } + else + { + (RowType, int) item = (row.Type, row.GroupIndex); + bool flag = _expandedGroups.Contains(item); + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + num); + UiThemeUtils.DrawTrackerGroupCaret(_pluginInterface.UiBuilder.IconFontFixedWidthHandle, flag); + ImGui.SameLine(); + ImU8String label = new ImU8String(5, 2); + label.AppendFormatted(row.Label); + label.AppendLiteral("##grp"); + label.AppendFormatted(row.GroupIndex); + if (ImGui.Selectable(label)) + { + if (flag) + { + _expandedGroups.Remove(item); + } + else + { + _expandedGroups.Add(item); + } + result = true; + } + ImGui.TableNextColumn(); + UiThemeUtils.DrawTrackerCount(row.Counts.FormattedSupported, row.Counts.IsSupportedComplete, row.Counts.Total == 0); + ImGui.TableNextColumn(); + UiThemeUtils.DrawTrackerCount(row.Counts.FormattedCompleted, row.Counts.IsCompletedComplete, row.Counts.Obtainable == 0); + } + return result; } - [MethodImpl(MethodImplOptions.NoInlining)] private static void DrawQuestName(IQuestInfo questInfo, out bool expansionHovered) { expansionHovered = false; - int num = ((questInfo.Expansion == (EExpansionVersion)255) ? 793425820 : 793425818); - while (true) + if (questInfo.Expansion != (EExpansionVersion)255) { - int num2 = num; - int num3 = 793425816; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + ImGui.PushFont(UiBuilder.MonoFont); + ImGui.PushStyleColor(ImGuiCol.Text, questInfo.Expansion.GetExpansionColor()); + ImGui.TextUnformatted(questInfo.Expansion.ToAbbreviation().PadRight(3)); + ImGui.PopStyleColor(); + ImGui.PopFont(); + if (ImGui.IsItemHovered()) { - case 0: - num = 793425818; - break; - case 1: - _202C_200D_202B_200D_206B_200E_206D_202B_202C_206C_202D_200E_202B_206E_202A_206A_206E_202A_206C_206D_206C_206B_202A_206E_206F_202A_200C_206B_202A_206A_200F_206E_202A_206A_202E_200C_200C_200F_200E_200C_202E(); - num = 793425820; - break; - case 2: - _206F_206F_206D_202C_202D_200C_202A_200E_206B_206C_200D_206A_200E_202A_206E_202D_206B_202A_202D_206C_206A_200D_200C_206E_200C_206B_206C_202B_200F_202A_202D_200D_200E_202B_206B_200C_200D_202E_202D_200D_202E(_202C_202A_206C_200D_202A_206F_206B_202D_202E_202C_200D_202C_202B_202D_202A_200E_206B_200C_206D_206F_202B_200C_206C_200F_200B_200E_200D_202B_202D_202E_202E_206A_202B_200F_202C_200F_202B_202D_202B_202E()); - _206F_202B_206B_206F_200E_206A_200D_202B_202C_206C_200E_200E_200B_200E_200E_206B_206F_206A_202D_206B_206C_206F_200B_200B_202A_206A_202D_202C_206D_202E_206E_202B_200B_206B_202E_202A_206E_206F_200B_202E_202E(ImGuiCol.Text, _206D_200F_202D_202A_200E_206C_202B_202D_202D_206F_202E_206D_206B_202A_202E_200B_202B_206B_206A_206F_200B_202B_202E_202B_202B_206B_200D_202E_202D_206C_206F_202C_202A_206D_200E_202E_200D_200B_202E_202D_202E(questInfo.Expansion)); - _202B_202D_206F_206E_202C_200F_200D_202D_206E_206C_206C_200F_200C_202C_202A_206B_202E_202B_206E_200F_200B_206F_200E_206E_202C_200B_202E_202E_206E_206D_206F_206D_200D_206F_200B_202E_206E_206D_206D_206F_202E((ImU8String)_206A_200E_206F_206A_200D_200F_206F_200C_206D_206A_206F_206B_206A_206F_202D_200E_200B_206F_206E_202D_200F_202D_202E_206B_200D_200D_200F_202B_200C_200C_200E_200D_202B_200D_206A_202E_206F_202E_200E_200D_202E(_206F_200D_202C_202E_206B_200F_200B_200F_206D_206A_200B_202B_202A_200E_202B_200B_202D_200C_200C_206C_200C_202E_206B_202B_200C_206C_202E_206F_202D_206D_202B_200C_206D_200D_202A_200C_200F_202D_206B_206C_202E(questInfo.Expansion), 3)); - _202A_200E_202B_200F_202B_202E_200C_202B_202D_202B_206A_200B_206F_206D_202C_206A_202E_206C_206D_206A_200D_200E_200D_202D_206D_200E_206C_206D_206E_206C_200F_200D_206C_206E_202E_200D_206E_206E_202A_202B_202E(); - _202D_200C_202B_200E_200E_206E_200B_206B_200F_202D_200D_206D_206D_200B_200F_206F_206C_206B_202C_200E_200E_206B_202E_200C_200E_206F_200E_206E_200C_206B_202A_200E_200F_200B_206D_206D_200E_200F_202A_206D_202E(); - num = ((!_206E_202C_202B_200E_200E_200E_206D_202A_200B_200F_200D_206B_200D_200B_200D_206E_206C_206A_206E_200D_206A_202A_202B_206F_202B_206A_202C_206C_200D_202A_202A_202B_202D_206E_200D_202E_200E_202C_206E_200C_202E()) ? 793425817 : 793425819); - break; - case 3: expansionHovered = true; - num = 793425817; - break; - case 4: - { - ImU8String imU8String = new ImU8String(3, 2); - imU8String.AppendFormatted(questInfo.Name); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2002137365)); - imU8String.AppendFormatted(questInfo.QuestId); - imU8String.AppendLiteral(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(424561659)); - _200F_200D_200E_202B_206C_206B_200F_200E_200F_200D_202B_202C_206D_206C_200E_200C_200D_200F_200D_206A_202D_206A_206F_202D_200E_206A_206C_200D_202C_200B_206B_206E_200E_202A_200D_200F_202D_202D_200B_200C_202E(imU8String, ImGuiTreeNodeFlags.NoTreePushOnOpen | ImGuiTreeNodeFlags.Leaf | ImGuiTreeNodeFlags.SpanFullWidth, default(ImU8String)); - return; - } } + ImGui.SameLine(); } + ImU8String id = new ImU8String(3, 2); + id.AppendFormatted(questInfo.Name); + id.AppendLiteral(" ("); + id.AppendFormatted(questInfo.QuestId); + id.AppendLiteral(")"); + ImGui.TreeNodeEx(id, ImGuiTreeNodeFlags.NoTreePushOnOpen | ImGuiTreeNodeFlags.Leaf | ImGuiTreeNodeFlags.SpanFullWidth); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawQuestTooltipAndContextMenu(IQuestInfo questInfo, Quest? quest, bool expansionHovered) { - int num = ((!(_206E_202C_202B_200E_200E_200E_206D_202A_200B_200F_200D_206B_200D_200B_200D_206E_206C_206A_206E_200D_206A_202A_202B_206F_202B_206A_202C_206C_200D_202A_202A_202B_202D_206E_200D_202E_200E_202C_206E_200C_202E() || expansionHovered)) ? 982291073 : 982291077); - while (true) + if ((ImGui.IsItemHovered() || expansionHovered) && questInfo.Expansion != (EExpansionVersion)255) { - int num2 = num; - int num3 = 982291076; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - _202E_206D_202B_206A_206E_200D_206D_202B_200F_202C_200C_200F_206E_200E_200F_202C_206E_206F_206C_206E_202D_206E_200F_200D_206D_202B_206B_202E_200C_200D_200C_200B_202B_202B_200E_202C_200D_206C_200E_202B_202E(); - _206F_202B_206B_206F_200E_206A_200D_202B_202C_206C_200E_200E_200B_200E_200E_206B_206F_206A_202D_206B_206C_206F_200B_200B_202A_206A_202D_202C_206D_202E_206E_202B_200B_206B_202E_202A_206E_206F_200B_202E_202E(ImGuiCol.Text, _206D_200F_202D_202A_200E_206C_202B_202D_202D_206F_202E_206D_206B_202A_202E_200B_202B_206B_206A_206F_200B_202B_202E_202B_202B_206B_200D_202E_202D_206C_206F_202C_202A_206D_200E_202E_200D_200B_202E_202D_202E(questInfo.Expansion)); - _202B_202D_206F_206E_202C_200F_200D_202D_206E_206C_206C_200F_200C_202C_202A_206B_202E_202B_206E_200F_200B_206F_200E_206E_202C_200B_202E_202E_206E_206D_206F_206D_200D_206F_200B_202E_206E_206D_206D_206F_202E((ImU8String)_202D_206E_200E_202E_206E_206B_206D_202B_200F_202E_206D_206F_206D_200D_206A_200B_202B_202C_200B_200C_200C_206A_206C_206E_200D_206D_206C_200F_202D_200B_200E_202C_206E_200E_206F_206C_206B_200C_200E_202C_202E(questInfo.Expansion)); - _202A_200E_202B_200F_202B_202E_200C_202B_202D_202B_206A_200B_206F_206D_202C_206A_202E_206C_206D_206A_200D_200E_200D_202D_206D_200E_206C_206D_206E_206C_200F_200D_206C_206E_202E_200D_206E_206E_202A_202B_202E(); - _200B_200B_200F_202A_200E_200D_200F_202E_202B_202C_206D_200B_206B_202B_200C_200C_206A_206D_202A_206A_206E_206A_206F_206C_202E_206D_202C_202D_202E_202D_206A_206B_206A_200B_200F_206C_206E_206C_200C_206E_202E(); - _questTooltipComponent.Draw(questInfo); - _202B_206A_202C_200F_206C_206A_202C_202D_200B_202C_202C_202B_202B_200F_206F_206A_202A_202D_200F_202C_202D_200D_206A_206D_206C_202B_200D_202D_206E_202E_206B_206E_202C_206D_206E_200F_202B_200D_202D_202B_202E(); - num = 982291076; - break; - case 5: - num = ((!_206E_202C_202B_200E_200E_200E_206D_202A_200B_200F_200D_206B_200D_200B_200D_206E_206C_206A_206E_200D_206A_202A_202B_206F_202B_206A_202C_206C_200D_202A_202A_202B_202D_206E_200D_202E_200E_202C_206E_200C_202E()) ? 982291076 : 982291079); - break; - case 0: - _questJournalUtils.ShowContextMenu(questInfo, quest, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2011424548)); - return; - case 3: - num = ((questInfo.Expansion != (EExpansionVersion)255) ? 982291076 : 982291074); - break; - case 1: - num = ((questInfo.Expansion == (EExpansionVersion)255) ? 982291073 : 982291078); - break; - case 6: - _questTooltipComponent.Draw(questInfo); - num = 982291076; - break; - case 4: - num = 982291077; - break; - } + ImGui.BeginTooltip(); + ImGui.PushStyleColor(ImGuiCol.Text, questInfo.Expansion.GetExpansionColor()); + ImGui.TextUnformatted(questInfo.Expansion.ToFriendlyString()); + ImGui.PopStyleColor(); + ImGui.Separator(); + _questTooltipComponent.Draw(questInfo); + ImGui.EndTooltip(); } + else if (ImGui.IsItemHovered() && questInfo.Expansion == (EExpansionVersion)255) + { + _questTooltipComponent.Draw(questInfo); + } + _questJournalUtils.ShowContextMenu(questInfo, quest, "QuestJournalComponent"); } private void DrawQuestSupportStatus(IQuestInfo questInfo, float supportIconSpacing) { - float num = _202D_206E_202E_200E_202E_202A_200B_200B_206D_202D_206C_200F_206D_200D_202B_202C_200D_200B_200F_200E_202E_202A_206B_202A_202B_206D_200B_200C_202C_200F_200F_202B_206F_206A_202C_206B_206A_206D_206C_200F_202E() / 2f - supportIconSpacing; - _206D_200D_206E_206C_206A_206B_200C_200C_200B_202A_206B_200E_202B_200B_202D_200D_202A_206F_200E_202E_206F_200C_206F_202E_206A_202A_206B_206A_202E_200F_200C_206E_206A_206E_206F_206B_200E_202D_202A_200E_202E(_200C_206B_206F_206E_200D_206D_202C_200D_200D_200E_200F_202A_200B_206F_202A_206A_206D_200F_200E_200F_200D_206E_206C_206D_206B_206F_202D_202E_200D_206F_200C_206F_202B_206C_202C_202E_206F_206E_206B_206C_202E() + num); - CachedQuestDisplay value; - int num2 = ((!_displayCache.TryGetValue(questInfo.QuestId, out value)) ? (-533488192) : (-533488189)); - while (true) + float num = ImGui.GetColumnWidth() / 2f - supportIconSpacing; + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + num); + if (_displayCache.TryGetValue(questInfo.QuestId, out var value)) { - int num3 = num2; - int num4 = -533488190; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 2: - _uiUtils.ChecklistItem(string.Empty, complete: false); - return; - case 1: - _uiUtils.ChecklistItem(string.Empty, value.SupportColor, value.SupportIcon); - return; - case 0: - goto IL_00b7; - } - continue; - IL_00b7: - num2 = -533488189; + _uiUtils.ChecklistItem(string.Empty, value.SupportColor, value.SupportIcon); + } + else + { + _uiUtils.ChecklistItem(string.Empty, complete: false); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawQuestCompletionStatus(IQuestInfo questInfo) { - CachedQuestDisplay value; - int num = ((!_displayCache.TryGetValue(questInfo.QuestId, out value)) ? (-1337565764) : (-1337565763)); - while (true) + if (_displayCache.TryGetValue(questInfo.QuestId, out var value)) { - int num2 = num; - int num3 = -1337565764; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0055; - case 0: - _uiUtils.ChecklistItem(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(896879528), UiThemeUtils.StatusUnobtainable, FontAwesomeIcon.Question); - return; - case 1: - _uiUtils.ChecklistItem(value.CompletionText, value.CompletionColor, value.CompletionIcon); - return; - } - continue; - IL_0055: - num = -1337565763; + _uiUtils.ChecklistItem(value.CompletionText, value.CompletionColor, value.CompletionIcon); + } + else + { + _uiUtils.ChecklistItem("Unknown", UiThemeUtils.StatusUnobtainable, FontAwesomeIcon.Question); } } private static bool IsQuestExpired(IQuestInfo questInfo) { DateTime? seasonalQuestExpiry = questInfo.SeasonalQuestExpiry; - int num = ((!seasonalQuestExpiry.HasValue) ? 1979033601 : 1979033603); - DateTime valueOrDefault = default(DateTime); - while (true) + if (seasonalQuestExpiry.HasValue) { - int num2 = num; - int num3 = 1979033600; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1979033603; - break; - case 1: - return false; - case 2: - return DateTime.UtcNow > ExpiryUtils.NormalizeExpiry(valueOrDefault); - case 3: - valueOrDefault = seasonalQuestExpiry.GetValueOrDefault(); - num = 1979033602; - break; - } + DateTime valueOrDefault = seasonalQuestExpiry.GetValueOrDefault(); + return DateTime.UtcNow > ExpiryUtils.NormalizeExpiry(valueOrDefault); } + return false; } private void RebuildFlatRows() @@ -1607,36 +446,9 @@ internal sealed class QuestJournalComponent { continue; } - using List.Enumerator enumerator4 = genre.Quests.GetEnumerator(); - int num = -2141524933; - while (true) + foreach (IQuestInfo quest in genre.Quests) { - int num2 = num; - int num3 = -2141524934; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - num = (enumerator4.MoveNext() ? (-2141524936) : (-2141524935)); - break; - case 2: - { - IQuestInfo current4 = enumerator4.Current; - list.Add(new FlatRow(RowType.Quest, 3, 0, current4, string.Empty, new JournalCounts())); - num = -2141524933; - break; - } - case 0: - num = -2141524933; - break; - case 3: - goto end_IL_01a5; - } - continue; - end_IL_01a5: - break; + list.Add(new FlatRow(RowType.Quest, 3, 0, quest, string.Empty, new JournalCounts())); } } } @@ -1656,111 +468,35 @@ internal sealed class QuestJournalComponent private FilteredSection FilterSection(JournalData.Section section, FilterConfiguration filter) { - int num = ((!_configuration.General.HideSeasonalEventsFromJournalProgress) ? 731985677 : 731985672); - IEnumerable source = default(IEnumerable); - IEnumerable source2 = default(IEnumerable); - while (true) + IEnumerable enumerable; + if (!_configuration.General.HideSeasonalEventsFromJournalProgress || !_journalData.SeasonalEventsCategoryId.HasValue) { - int num2 = num; - int num3 = 731985673; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - IEnumerable enumerable; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 5: - source = source2.Select((JournalData.Category category) => FilterCategory(category, filter, section)); - num = 731985674; - continue; - case 1: - num = (_journalData.SeasonalEventsCategoryId.HasValue ? 731985675 : 731985677); - continue; - case 0: - num = 731985672; - continue; - case 3: - return new FilteredSection(section, source.Where((FilteredCategory x) => x.Genres.Count > 0).ToList()); - case 4: - { - IEnumerable categories = section.Categories; - enumerable = categories; - break; - } - case 6: - source = source2.Select((JournalData.Category x) => FilterCategory(x, filter.WithoutName(), section)); - num = 731985674; - continue; - case 2: - enumerable = section.Categories.Where((JournalData.Category c) => c.Id != _journalData.SeasonalEventsCategoryId.Value); - break; - } - source2 = enumerable; - num = ((!IsCategorySectionGenreMatch(filter, section.Name)) ? 731985676 : 731985679); + IEnumerable categories = section.Categories; + enumerable = categories; } + else + { + enumerable = section.Categories.Where((JournalData.Category c) => c.Id != _journalData.SeasonalEventsCategoryId.Value); + } + IEnumerable source = enumerable; + return new FilteredSection(Categories: ((!IsCategorySectionGenreMatch(filter, section.Name)) ? source.Select((JournalData.Category category) => FilterCategory(category, filter, section)) : source.Select((JournalData.Category x) => FilterCategory(x, filter.WithoutName(), section))).Where((FilteredCategory x) => x.Genres.Count > 0).ToList(), Section: section); } private FilteredCategory FilterCategory(JournalData.Category category, FilterConfiguration filter, JournalData.Section? parentSection = null) { - int num = ((!IsCategorySectionGenreMatch(filter, category.Name)) ? (-1684269347) : (-1684269346)); - IEnumerable source = default(IEnumerable); - while (true) - { - int num2 = num; - int num3 = -1684269348; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = -1684269346; - break; - case 0: - return new FilteredCategory(category, source.Where((FilteredGenre x) => x.Quests.Count > 0).ToList()); - case 1: - source = category.Genres.Select((JournalData.Genre genre) => FilterGenre(genre, filter, parentSection)); - num = -1684269348; - break; - case 2: - source = category.Genres.Select((JournalData.Genre x) => FilterGenre(x, filter.WithoutName(), parentSection)); - num = -1684269348; - break; - } - } + IEnumerable source = ((!IsCategorySectionGenreMatch(filter, category.Name)) ? category.Genres.Select((JournalData.Genre genre) => FilterGenre(genre, filter, parentSection)) : category.Genres.Select((JournalData.Genre x) => FilterGenre(x, filter.WithoutName(), parentSection))); + return new FilteredCategory(category, source.Where((FilteredGenre x) => x.Quests.Count > 0).ToList()); } private FilteredGenre FilterGenre(JournalData.Genre genre, FilterConfiguration filter, JournalData.Section? parentSection = null) { bool hideSeasonalEventsFromJournalProgress = _configuration.General.HideSeasonalEventsFromJournalProgress; IEnumerable source = ((!IsCategorySectionGenreMatch(filter, genre.Name)) ? genre.Quests.Where((IQuestInfo x) => IsQuestMatch(filter, x)) : genre.Quests.Where((IQuestInfo x) => IsQuestMatch(filter.WithoutName(), x))); - int num = ((!hideSeasonalEventsFromJournalProgress) ? 2099015948 : 2099015949); - while (true) + if (hideSeasonalEventsFromJournalProgress && _journalData.SeasonalEventsCategoryId.HasValue && genre.CategoryId == _journalData.SeasonalEventsCategoryId.Value) { - int num2 = num; - int num3 = 2099015948; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = 2099015949; - break; - case 4: - source = source.Where((IQuestInfo q) => !IsSeasonal(q)); - num = 2099015948; - break; - case 0: - return new FilteredGenre(genre, source.ToList()); - case 2: - num = ((genre.CategoryId != _journalData.SeasonalEventsCategoryId.Value) ? 2099015948 : 2099015944); - break; - case 1: - num = ((!_journalData.SeasonalEventsCategoryId.HasValue) ? 2099015948 : 2099015950); - break; - } + source = source.Where((IQuestInfo q) => !IsSeasonal(q)); } + return new FilteredGenre(genre, source.ToList()); } internal void RefreshCounts() @@ -1768,13 +504,12 @@ internal sealed class QuestJournalComponent StartRefresh(); } - [MethodImpl(MethodImplOptions.NoInlining)] private void StartRefresh() { _refreshHideSeasonal = _configuration.General.HideSeasonalEventsFromJournalProgress; _refreshGenreIndex = 0; _refreshDisplayIndex = -1; - _200F_200F_206D_200C_206F_202A_206B_206B_200E_202B_200B_200F_202E_206E_206B_206C_202C_202B_200F_200F_206F_206D_200D_206F_206E_202C_202A_206E_202E_202B_200F_202E_200D_202E_206A_202D_200D_200E_200C_202E_202E((ILogger)_logger, 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(1651409053), new object[1] { _refreshHideSeasonal }); + _logger.LogDebug("Starting incremental journal refresh. HideSeasonalEventsFromJournalProgress={Hide}", _refreshHideSeasonal); } private void TickRefresh() @@ -1782,629 +517,236 @@ internal sealed class QuestJournalComponent if (_refreshGenreIndex >= 0) { List genres = _journalData.Genres; - int refreshGenreIndex = _refreshGenreIndex; - int num = 20; - int num2 = refreshGenreIndex; - int num3 = num2 ^ num; - int num4 = num2 & num; - int num5 = _206E_206D_202A_202C_206E_200F_202B_200C_200C_202C_206B_202B_200D_202E_200C_200B_200E_206F_202D_206F_200E_202A_200B_200E_200E_202A_202B_202E_200B_202C_200D_200D_202A_202B_202C_200D_202E_206A_206F_206F_202E(num3 + (num4 + num4), genres.Count); - int num6 = _refreshGenreIndex; - Quest quest = default(Quest); - IQuestInfo current = default(IQuestInfo); - int num11; - while (num6 < num5) + int num = Math.Min(_refreshGenreIndex + 20, genres.Count); + for (int i = _refreshGenreIndex; i < num; i++) { - JournalData.Genre genre = genres[num6]; + JournalData.Genre genre = genres[i]; List obj = ((_refreshHideSeasonal && _journalData.SeasonalEventsCategoryId.HasValue && genre.CategoryId == _journalData.SeasonalEventsCategoryId.Value) ? genre.Quests.Where((IQuestInfo q) => !IsSeasonal(q)).ToList() : genre.Quests.ToList()); - int num7 = 0; - int num8 = 0; - int num9 = 0; - int num10 = 0; - using (List.Enumerator enumerator = obj.GetEnumerator()) + int num2 = 0; + int num3 = 0; + int num4 = 0; + int num5 = 0; + foreach (IQuestInfo item in obj) { - num11 = -149263321; - while (true) + if (!_questFunctions.IsQuestRemoved(item.QuestId)) { - int num12 = num11; - num = -149263315; - num2 = num12; - int num13 = num2 + num; - int num14 = num2 & num; - switch (num13 - (num14 + num14)) + num3++; + if (_questRegistry.TryGetQuest(item.QuestId, out Quest quest) && !quest.Root.Disabled) { - case 9: - num11 = (_206A_200F_200C_206C_200D_206A_206A_206D_200B_202B_202C_206F_200D_206A_206E_206D_206C_202C_206E_202C_200F_206B_200C_200B_200C_202B_206B_200E_206C_206A_206D_206C_202A_206E_206D_202E_200B_200C_200E_202A_202E(quest.Root) ? (-149263318) : (-149263315)); - break; - case 2: - { - int num15 = num8; - num = 1; - num2 = num15; - int num16 = num2 ^ num; - int num17 = num2 & num; - num8 = num16 + (num17 + num17); - num11 = ((!_questRegistry.TryGetQuest(current.QuestId, out quest)) ? (-149263318) : (-149263324)); - break; + num2++; } - case 4: - { - int num22 = num9; - num = 1; - num2 = num22; - int num23 = num2 ^ num; - int num24 = num2 & num; - num9 = num23 + (num24 + num24); - num11 = -149263323; - break; - } - case 1: - { - int num19 = num10; - num = 1; - num2 = num19; - int num20 = num2 ^ num; - int num21 = num2 & num; - num10 = num20 + (num21 + num21); - num11 = -149263321; - break; - } - case 6: - num11 = -149263321; - break; - case 0: - { - int num18 = num7; - num = 1; - num2 = num18; - num7 = (num2 | num) + (num2 & num); - num11 = -149263318; - break; - } - case 8: - num11 = ((!_questFunctions.IsQuestComplete(current.QuestId)) ? (-149263321) : (-149263316)); - break; - case 3: - current = enumerator.Current; - num11 = (_questFunctions.IsQuestRemoved(current.QuestId) ? (-149263318) : (-149263313)); - break; - case 10: - num11 = (enumerator.MoveNext() ? (-149263314) : (-149263320)); - break; - case 7: - num11 = (_questFunctions.IsQuestUnobtainable(current.QuestId) ? (-149263323) : (-149263319)); - break; - case 5: - goto end_IL_00f5; - } - continue; - end_IL_00f5: - break; + } + if (!_questFunctions.IsQuestUnobtainable(item.QuestId)) + { + num4++; + } + if (_questFunctions.IsQuestComplete(item.QuestId)) + { + num5++; } } - _genreCounts[genre] = new JournalCounts(num7, num8, num9, num10); - int num25 = num6; - num = 1; - num2 = num25; - int num26 = num2 ^ num; - int num27 = num2 & num; - num6 = num26 + (num27 + num27); + _genreCounts[genre] = new JournalCounts(num2, num3, num4, num5); } - num11 = -89365687; - while (true) + _refreshGenreIndex = num; + if (_refreshGenreIndex >= genres.Count) { - int num28 = num11; - num = -89365688; - num2 = num28; - switch ((num2 | num) - (num2 & num)) - { - case 2: - _refreshGenreIndex = -1; - AggregateCategoriesAndSections(); - RebuildFlatRows(); - _refreshDisplayIndex = 0; - num11 = -89365688; - break; - case 0: - return; - case 3: - num11 = -89365687; - break; - case 1: - _refreshGenreIndex = num5; - num11 = ((_refreshGenreIndex < genres.Count) ? (-89365688) : (-89365686)); - break; - } + _refreshGenreIndex = -1; + AggregateCategoriesAndSections(); + RebuildFlatRows(); + _refreshDisplayIndex = 0; } } - if (_refreshDisplayIndex >= 0) + else if (_refreshDisplayIndex >= 0) { TickDisplayCache(); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void AggregateCategoriesAndSections() { _categoryCounts.Clear(); _sectionCounts.Clear(); - using (List.Enumerator enumerator = _journalData.Categories.GetEnumerator()) + foreach (JournalData.Category category in _journalData.Categories) { - int num = -1263025259; - JournalData.Category current = default(JournalData.Category); - while (true) + if (!_refreshHideSeasonal || !_journalData.SeasonalEventsCategoryId.HasValue || category.Id != _journalData.SeasonalEventsCategoryId.Value) { - int num2 = num; - int num3 = -1263025263; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - { - List genreCountsForCategory = GetGenreCountsForCategory(current); - int available = genreCountsForCategory.Sum((JournalCounts x) => x.Available); - int total = genreCountsForCategory.Sum((JournalCounts x) => x.Total); - int obtainable = genreCountsForCategory.Sum((JournalCounts x) => x.Obtainable); - int completed = genreCountsForCategory.Sum((JournalCounts x) => x.Completed); - _categoryCounts[current] = new JournalCounts(available, total, obtainable, completed); - num = -1263025259; - break; - } - case 5: - current = enumerator.Current; - num = ((!_refreshHideSeasonal) ? (-1263025257) : (-1263025264)); - break; - case 3: - num = ((current.Id == _journalData.SeasonalEventsCategoryId.Value) ? (-1263025259) : (-1263025257)); - break; - case 4: - num = (enumerator.MoveNext() ? (-1263025260) : (-1263025261)); - break; - case 1: - num = ((!_journalData.SeasonalEventsCategoryId.HasValue) ? (-1263025257) : (-1263025262)); - break; - case 0: - num = -1263025259; - break; - case 2: - goto end_IL_0033; - } - continue; - end_IL_0033: - break; + List genreCountsForCategory = GetGenreCountsForCategory(category); + int available = genreCountsForCategory.Sum((JournalCounts x) => x.Available); + int total = genreCountsForCategory.Sum((JournalCounts x) => x.Total); + int obtainable = genreCountsForCategory.Sum((JournalCounts x) => x.Obtainable); + int completed = genreCountsForCategory.Sum((JournalCounts x) => x.Completed); + _categoryCounts[category] = new JournalCounts(available, total, obtainable, completed); } } - using (List.Enumerator enumerator2 = _journalData.Sections.GetEnumerator()) + foreach (JournalData.Section section in _journalData.Sections) { - int num = 1128894241; - while (true) - { - int num5 = num; - int num3 = 1128894243; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = 1128894241; - break; - case 1: - { - JournalData.Section section = enumerator2.Current; - List source = (from x in _categoryCounts - where section.Categories.Contains(x.Key) - select x.Value).ToList(); - int available2 = source.Sum((JournalCounts x) => x.Available); - int total2 = source.Sum((JournalCounts x) => x.Total); - int obtainable2 = source.Sum((JournalCounts x) => x.Obtainable); - int completed2 = source.Sum((JournalCounts x) => x.Completed); - _sectionCounts[section] = new JournalCounts(available2, total2, obtainable2, completed2); - num = 1128894241; - break; - } - case 2: - num = (enumerator2.MoveNext() ? 1128894242 : 1128894243); - break; - case 0: - goto end_IL_0234; - } - continue; - end_IL_0234: - break; - } + List source = (from x in _categoryCounts + where section.Categories.Contains(x.Key) + select x.Value).ToList(); + int available2 = source.Sum((JournalCounts x) => x.Available); + int total2 = source.Sum((JournalCounts x) => x.Total); + int obtainable2 = source.Sum((JournalCounts x) => x.Obtainable); + int completed2 = source.Sum((JournalCounts x) => x.Completed); + _sectionCounts[section] = new JournalCounts(available2, total2, obtainable2, completed2); } - int num6 = _sectionCounts.Values.Sum((JournalCounts x) => x.Total); - _200F_200F_206D_200C_206F_202A_206B_206B_200E_202B_200B_200F_202E_206E_206B_206C_202C_202B_200F_200F_206F_206D_200D_206F_206E_202C_202A_206E_202E_202B_200F_202E_200D_202E_206A_202D_200D_200E_200C_202E_202E((ILogger)_logger, 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(599122976), new object[4] { _sectionCounts.Count, _categoryCounts.Count, _genreCounts.Count, num6 }); + int num = _sectionCounts.Values.Sum((JournalCounts x) => x.Total); + _logger.LogDebug("RefreshCounts complete. Sections={Sections}, Categories={Categories}, Genres={Genres}, TotalQuests={Total}", _sectionCounts.Count, _categoryCounts.Count, _genreCounts.Count, num); } - [MethodImpl(MethodImplOptions.NoInlining)] private void TickDisplayCache() { List genres = _journalData.Genres; int num = 0; - Vector4 completionColor = default(Vector4); - FontAwesomeIcon completionIcon = default(FontAwesomeIcon); - string completionText = default(string); - Quest quest = default(Quest); - IQuestInfo current = default(IQuestInfo); - List issues = default(List); - bool flag4 = default(bool); - bool flag = default(bool); - bool flag3 = default(bool); - Vector4 supportColor = default(Vector4); - FontAwesomeIcon supportIcon = default(FontAwesomeIcon); - QuestRoot root = default(QuestRoot); - while (true) + while (_refreshDisplayIndex < genres.Count && num < 20) { - int num2 = ((_refreshDisplayIndex >= genres.Count) ? (-1946846845) : (-1946846848)); - while (true) + foreach (IQuestInfo quest2 in genres[_refreshDisplayIndex].Quests) { - int num3 = num2; - int num4 = -1946846847; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + _questRegistry.TryGetQuest(quest2.QuestId, out Quest quest); + Vector4 supportColor; + FontAwesomeIcon supportIcon; + if (_questFunctions.IsQuestRemoved(quest2.QuestId)) { - case 0: - num2 = -1946846848; - break; - case 3: - _refreshDisplayIndex = -1; - _200F_200F_206D_200C_206F_202A_206B_206B_200E_202B_200B_200F_202E_206E_206B_206C_202C_202B_200F_200F_206F_206D_200D_206F_206E_202C_202A_206E_202E_202B_200F_202E_200D_202E_206A_202D_200D_200E_200C_202E_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(487344429), new object[1] { _displayCache.Count }); - num2 = -1946846843; - break; - case 4: - return; - case 2: - num2 = ((_refreshDisplayIndex < genres.Count) ? (-1946846843) : (-1946846846)); - break; - case 1: - if (num < 20) - { - using (List.Enumerator enumerator = genres[_refreshDisplayIndex].Quests.GetEnumerator()) - { - num2 = 469226274; - while (true) - { - int num6 = num2; - num4 = 469226282; - num5 = num6; - switch ((num5 | num4) - (num5 & num4)) - { - case 23: - completionColor = UiThemeUtils.StatusActive; - completionIcon = FontAwesomeIcon.PersonWalkingArrowRight; - completionText = 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(-1513339182); - num2 = 469226278; - break; - case 21: - completionColor = UiThemeUtils.StatusAvailableComplete; - completionIcon = FontAwesomeIcon.Running; - completionText = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1067102916); - num2 = 469226278; - break; - case 8: - num2 = (enumerator.MoveNext() ? 469226284 : 469226272); - break; - case 9: - num2 = ((quest == null) ? 469226299 : 469226297); - break; - case 27: - num2 = 469226274; - break; - case 6: - current = enumerator.Current; - _questRegistry.TryGetQuest(current.QuestId, out quest); - num2 = ((!_questFunctions.IsQuestRemoved(current.QuestId)) ? 469226275 : 469226281); - break; - case 26: - num2 = ((!_questFunctions.IsQuestComplete(current.QuestId)) ? 469226300 : 469226286); - break; - case 11: - num2 = ((!_questFunctions.IsQuestAccepted(current.QuestId)) ? 469226288 : 469226301); - break; - case 2: - issues = _questValidator.GetIssues(EPathType.Quest, _206E_206F_200F_206B_206D_202E_202A_206D_202A_202A_202C_202B_202A_206C_200D_200B_200B_200B_206B_206D_206C_206E_202C_206A_200B_200F_206C_200C_200C_206E_202D_202B_200F_206F_206D_200F_200C_200C_202C_206E_202E((object)quest.Id)); - num2 = ((!issues.Any((ValidationIssue x) => x.Severity == EIssueSeverity.Error)) ? 469226302 : 469226279); - break; - case 28: - completionColor = UiThemeUtils.StatusAvailable; - completionIcon = FontAwesomeIcon.Running; - completionText = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1447021718); - num2 = 469226278; - break; - case 16: - num2 = ((!flag4) ? 469226276 : 469226292); - break; - case 22: - { - bool num7 = IsQuestExpired(current); - bool flag2 = _questFunctions.IsQuestUnobtainable(current.QuestId); - flag = _questFunctions.IsQuestBlacklisted(current.QuestId); - flag3 = _questFunctions.IsQuestLocked(current.QuestId); - flag4 = _questFunctions.IsReadyToAcceptQuest(current.QuestId); - num2 = ((!(num7 || flag2)) ? 469226277 : 469226296); - break; - } - case 17: - supportColor = UiThemeUtils.StatusLocked; - supportIcon = FontAwesomeIcon.Times; - num2 = 469226273; - break; - case 19: - root = quest.Root; - num2 = ((root == null) ? 469226299 : 469226287); - break; - case 20: - num2 = ((issues.Count <= 0) ? 469226285 : 469226293); - break; - case 13: - supportColor = UiThemeUtils.StatusLocked; - supportIcon = FontAwesomeIcon.ExclamationTriangle; - num2 = 469226273; - break; - case 4: - num2 = (current.IsRepeatable ? 469226282 : 469226295); - break; - case 24: - completionColor = UiThemeUtils.StatusBlacklisted; - completionIcon = FontAwesomeIcon.Ban; - completionText = 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(-833431314); - num2 = 469226278; - break; - case 29: - completionColor = UiThemeUtils.StatusComplete; - completionIcon = FontAwesomeIcon.Check; - completionText = 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(1552042899); - num2 = 469226278; - break; - case 1: - num2 = (flag3 ? 469226276 : 469226298); - break; - case 0: - { - bool num8 = _questFunctions.IsQuestLocked(current.QuestId); - bool flag5 = _questFunctions.IsReadyToAcceptQuest(current.QuestId); - bool num9 = !num8; - num4 = (flag5 ? 1 : 0); - num5 = (num9 ? 1 : 0); - num2 = (((num5 | num4) - (num5 ^ num4) == 0) ? 469226291 : 469226303); - break; - } - case 30: - num2 = (_questRegistry.IsKnownQuest(current.QuestId) ? 469226294 : 469226276); - break; - case 12: - _displayCache[current.QuestId] = new CachedQuestDisplay(supportColor, supportIcon, completionColor, completionIcon, completionText); - num2 = 469226274; - break; - case 7: - supportColor = UiThemeUtils.StatusComplete; - supportIcon = FontAwesomeIcon.Check; - num2 = 469226273; - break; - case 15: - num2 = ((!flag) ? 469226283 : 469226290); - break; - case 5: - num2 = (_206A_200F_200C_206C_200D_206A_206A_206D_200B_202B_202C_206F_200D_206A_206E_206D_206C_202C_206E_202C_200F_206B_200C_200B_200C_202B_206B_200E_206C_206A_206D_206C_202A_206E_206D_202E_200B_200C_200E_202A_202E(root) ? 469226299 : 469226280); - break; - case 31: - supportColor = UiThemeUtils.StatusAvailableComplete; - supportIcon = FontAwesomeIcon.InfoCircle; - num2 = 469226273; - break; - case 14: - completionColor = UiThemeUtils.StatusLocked; - completionIcon = FontAwesomeIcon.Times; - completionText = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-438595986); - num2 = 469226278; - break; - case 18: - completionColor = UiThemeUtils.StatusUnobtainable; - completionIcon = FontAwesomeIcon.Minus; - completionText = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(980281712); - num2 = 469226278; - break; - case 3: - supportColor = UiThemeUtils.StatusUnobtainable; - supportIcon = FontAwesomeIcon.Minus; - num2 = 469226273; - break; - case 25: - completionColor = UiThemeUtils.StatusComplete; - completionIcon = FontAwesomeIcon.Check; - completionText = 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(-636720262); - num2 = 469226278; - break; - case 10: - goto end_IL_0036; - } - continue; - end_IL_0036: - break; - } - } - int refreshDisplayIndex = _refreshDisplayIndex; - num4 = 1; - num5 = refreshDisplayIndex; - _refreshDisplayIndex = (num5 | num4) + (num5 & num4); - int num10 = num; - num4 = 1; - num5 = num10; - int num11 = num5 ^ num4; - int num12 = num5 & num4; - num = num11 + (num12 + num12); - goto end_IL_0660; - } - num2 = -1946846845; - break; + supportColor = UiThemeUtils.StatusUnobtainable; + supportIcon = FontAwesomeIcon.Minus; } - continue; - end_IL_0660: - break; + else + { + if (quest != null) + { + QuestRoot root = quest.Root; + if (root != null && !root.Disabled) + { + List issues = _questValidator.GetIssues(EPathType.Quest, quest.Id.ToString()); + if (issues.Any((ValidationIssue x) => x.Severity == EIssueSeverity.Error)) + { + supportColor = UiThemeUtils.StatusLocked; + supportIcon = FontAwesomeIcon.ExclamationTriangle; + } + else if (issues.Count > 0) + { + supportColor = UiThemeUtils.StatusAvailableComplete; + supportIcon = FontAwesomeIcon.InfoCircle; + } + else + { + supportColor = UiThemeUtils.StatusComplete; + supportIcon = FontAwesomeIcon.Check; + } + goto IL_011b; + } + } + supportColor = UiThemeUtils.StatusLocked; + supportIcon = FontAwesomeIcon.Times; + } + goto IL_011b; + IL_011b: + Vector4 completionColor; + FontAwesomeIcon completionIcon; + string completionText; + if (_questFunctions.IsQuestAccepted(quest2.QuestId)) + { + completionColor = UiThemeUtils.StatusActive; + completionIcon = FontAwesomeIcon.PersonWalkingArrowRight; + completionText = "Active"; + } + else if (_questFunctions.IsQuestComplete(quest2.QuestId)) + { + if (!quest2.IsRepeatable) + { + completionColor = UiThemeUtils.StatusComplete; + completionIcon = FontAwesomeIcon.Check; + completionText = "Complete"; + } + else + { + bool num2 = _questFunctions.IsQuestLocked(quest2.QuestId); + bool flag = _questFunctions.IsReadyToAcceptQuest(quest2.QuestId); + if (!num2 && flag) + { + completionColor = UiThemeUtils.StatusAvailableComplete; + completionIcon = FontAwesomeIcon.Running; + completionText = "Available"; + } + else + { + completionColor = UiThemeUtils.StatusComplete; + completionIcon = FontAwesomeIcon.Check; + completionText = "Complete"; + } + } + } + else + { + bool num3 = IsQuestExpired(quest2); + bool flag2 = _questFunctions.IsQuestUnobtainable(quest2.QuestId); + bool flag3 = _questFunctions.IsQuestBlacklisted(quest2.QuestId); + bool flag4 = _questFunctions.IsQuestLocked(quest2.QuestId); + bool flag5 = _questFunctions.IsReadyToAcceptQuest(quest2.QuestId); + if (num3 || flag2) + { + completionColor = UiThemeUtils.StatusUnobtainable; + completionIcon = FontAwesomeIcon.Minus; + completionText = "Unobtainable"; + } + else if (flag3) + { + completionColor = UiThemeUtils.StatusBlacklisted; + completionIcon = FontAwesomeIcon.Ban; + completionText = "Blacklisted"; + } + else if (flag4 || !flag5 || !_questRegistry.IsKnownQuest(quest2.QuestId)) + { + completionColor = UiThemeUtils.StatusLocked; + completionIcon = FontAwesomeIcon.Times; + completionText = "Locked"; + } + else + { + completionColor = UiThemeUtils.StatusAvailable; + completionIcon = FontAwesomeIcon.Running; + completionText = "Available"; + } + } + _displayCache[quest2.QuestId] = new CachedQuestDisplay(supportColor, supportIcon, completionColor, completionIcon, completionText); } + _refreshDisplayIndex++; + num++; + } + if (_refreshDisplayIndex >= genres.Count) + { + _refreshDisplayIndex = -1; + _logger.LogDebug("Display cache refresh complete. Cached={Count}", _displayCache.Count); } } private List GetGenreCountsForCategory(JournalData.Category category) { List list = new List(category.Genres.Count); - IEnumerator enumerator = category.Genres.GetEnumerator(); - try + foreach (JournalData.Genre genre in category.Genres) { - int num = 1867662392; - JournalCounts value = default(JournalCounts); - while (true) + if (_genreCounts.TryGetValue(genre, out JournalCounts value)) { - int num2 = num; - int num3 = 1867662394; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = (_200F_206A_202C_200C_206F_202A_202B_202C_200F_206C_200F_202A_200B_206F_202D_200B_206D_206D_200D_200E_202C_206A_202D_200C_202A_206F_200E_206E_206D_200F_206C_200B_202C_200F_206A_206E_206A_202D_202B_200F_202E((IEnumerator)enumerator) ? 1867662395 : 1867662393); - break; - case 1: - { - JournalData.Genre current = enumerator.Current; - num = ((!_genreCounts.TryGetValue(current, out value)) ? 1867662392 : 1867662394); - break; - } - case 4: - num = 1867662392; - break; - case 0: - list.Add(value); - num = 1867662392; - break; - case 3: - return list; - } - } - } - finally - { - int num = ((enumerator == null) ? 1104193695 : 1104193694); - while (true) - { - int num7 = num; - int num3 = 1104193695; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1104193694; - break; - case 1: - _200E_206C_200C_206A_206A_206E_200E_202C_206E_202B_202B_206D_202C_206B_206D_206D_206C_200B_206A_202A_206D_202C_202B_206E_202D_200F_206A_200F_202C_202C_202C_202C_200D_200B_206B_202D_206B_202E_200E_202D_202E((IDisposable)enumerator); - num = 1104193695; - break; - case 0: - goto end_IL_00f6; - } - continue; - end_IL_00f6: - break; + list.Add(value); } } + return list; } internal void ClearCounts(int type, int code) { _refreshGenreIndex = -1; _refreshDisplayIndex = -1; - using (List>.Enumerator enumerator = _genreCounts.ToList().GetEnumerator()) + foreach (KeyValuePair item in _genreCounts.ToList()) { - int num = -78639595; - while (true) - { - int num2 = num; - int num3 = -78639595; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -78639595; - break; - case 1: - { - KeyValuePair current = enumerator.Current; - _genreCounts[current.Key] = new JournalCounts(current.Value.Available, current.Value.Total, current.Value.Obtainable, 0); - num = -78639595; - break; - } - case 0: - num = (enumerator.MoveNext() ? (-78639596) : (-78639594)); - break; - case 3: - goto end_IL_002b; - } - continue; - end_IL_002b: - break; - } + _genreCounts[item.Key] = new JournalCounts(item.Value.Available, item.Value.Total, item.Value.Obtainable, 0); } - using (List>.Enumerator enumerator2 = _categoryCounts.ToList().GetEnumerator()) + foreach (KeyValuePair item2 in _categoryCounts.ToList()) { - int num = 540818768; - while (true) - { - int num5 = num; - int num3 = 540818771; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 540818768; - break; - case 3: - num = (enumerator2.MoveNext() ? 540818770 : 540818771); - break; - case 1: - { - KeyValuePair current2 = enumerator2.Current; - _categoryCounts[current2.Key] = new JournalCounts(current2.Value.Available, current2.Value.Total, current2.Value.Obtainable, 0); - num = 540818768; - break; - } - case 0: - goto end_IL_010b; - } - continue; - end_IL_010b: - break; - } + _categoryCounts[item2.Key] = new JournalCounts(item2.Value.Available, item2.Value.Total, item2.Value.Obtainable, 0); } - using (List>.Enumerator enumerator3 = _sectionCounts.ToList().GetEnumerator()) + foreach (KeyValuePair item3 in _sectionCounts.ToList()) { - int num = -769681140; - while (true) - { - int num6 = num; - int num3 = -769681140; - int num4 = num6; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -769681140; - break; - case 1: - { - KeyValuePair current3 = enumerator3.Current; - _sectionCounts[current3.Key] = new JournalCounts(current3.Value.Available, current3.Value.Total, current3.Value.Obtainable, 0); - num = -769681140; - break; - } - case 0: - num = (enumerator3.MoveNext() ? (-769681139) : (-769681137)); - break; - case 3: - goto end_IL_01ec; - } - continue; - end_IL_01ec: - break; - } + _sectionCounts[item3.Key] = new JournalCounts(item3.Value.Available, item3.Value.Total, item3.Value.Obtainable, 0); } _displayCache.Clear(); RebuildFlatRows(); @@ -2412,337 +754,48 @@ internal sealed class QuestJournalComponent private static bool IsCategorySectionGenreMatch(FilterConfiguration filter, string name) { - int num = (_202D_200D_202B_206F_200B_206D_202A_202E_206A_202B_206E_202B_200D_206D_206F_200D_202C_200F_206A_206A_200C_206D_202A_202A_200C_206C_206A_202A_202D_206D_206B_202E_200D_202E_202C_202C_206A_206D_206D_200C_202E(filter.SearchText) ? (-1656748562) : (-1656748563)); - while (true) + if (!string.IsNullOrEmpty(filter.SearchText)) { - int num2 = num; - int num3 = -1656748561; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004b; - case 2: - return _206F_206F_202A_206C_200B_200E_206D_206C_206C_200E_206B_202B_206B_206D_206A_206D_202E_206A_202A_200F_206F_202E_200F_206E_206C_200B_206D_200E_206F_206D_202B_202D_202D_206D_200E_206D_206E_202A_206A_206D_202E(name, filter.SearchText, StringComparison.CurrentCultureIgnoreCase); - case 1: - return true; - } - continue; - IL_004b: - num = -1656748563; + return name.Contains(filter.SearchText, StringComparison.CurrentCultureIgnoreCase); } + return true; } private bool IsQuestMatch(FilterConfiguration filter, IQuestInfo questInfo) { - int num = (_202D_200D_202B_206F_200B_206D_202A_202E_206A_202B_206E_202B_200D_206D_206F_200D_202C_200F_206A_206A_200C_206D_202A_202A_200C_206C_206A_202A_202D_206D_206B_202E_200D_202E_202C_202C_206A_206D_206D_200C_202E(filter.SearchText) ? 635265476 : 635265485); - Quest quest = default(Quest); - while (true) + if (!string.IsNullOrEmpty(filter.SearchText) && !questInfo.Name.Contains(filter.SearchText, StringComparison.CurrentCultureIgnoreCase) && !(questInfo.QuestId.ToString() == filter.SearchText)) { - int num2 = num; - int num3 = 635265480; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - num = ((!_206A_200F_200C_206C_200D_206A_206A_206D_200B_202B_202C_206F_200D_206A_206E_206D_206C_202C_206E_202C_200F_206B_200C_200B_200C_202B_206B_200E_206C_206A_206D_206C_202A_206E_206D_202E_200B_200C_200E_202A_202E(quest.Root)) ? 635265480 : 635265477); - break; - case 4: - num = ((!filter.HideNoPaths) ? 635265480 : 635265473); - break; - case 9: - num = ((!_questRegistry.TryGetQuest(questInfo.QuestId, out quest)) ? 635265477 : 635265481); - break; - case 2: - num = (_202E_202B_202A_202C_200C_200B_206C_202A_200D_206F_206E_206B_200F_202A_200B_202C_200B_206B_206C_202B_202A_206B_206A_206A_200B_206A_202D_200E_206F_200F_200C_202A_206A_200B_206E_200F_202C_206E_202E(_206E_206F_200F_206B_206D_202E_202A_206D_202A_202A_202C_202B_202A_206C_200D_200B_200B_200B_206B_206D_206C_206E_202C_206A_200B_200F_206C_200C_200C_206E_202D_202B_200F_206F_206D_200F_200C_200C_202C_206E_202E((object)questInfo.QuestId), filter.SearchText) ? 635265476 : 635265474); - break; - case 8: - num = (_questFunctions.IsReadyToAcceptQuest(questInfo.QuestId) ? 635265484 : 635265475); - break; - case 5: - num = (_206F_206F_202A_206C_200B_200E_206D_206C_206C_200E_206B_202B_206B_206D_206A_206D_202E_206A_202A_200F_206F_202E_200F_206E_206C_200B_206D_200E_206F_206D_202B_202D_202D_206D_200E_206D_206E_202A_206A_206D_202E(questInfo.Name, filter.SearchText, StringComparison.CurrentCultureIgnoreCase) ? 635265476 : 635265482); - break; - case 6: - num = 635265485; - break; - case 7: - num = ((!_questFunctions.IsQuestUnobtainable(questInfo.QuestId)) ? 635265483 : 635265478); - break; - case 11: - return false; - case 13: - return false; - case 10: - return false; - case 0: - num = ((!filter.HideUnobtainable) ? 635265483 : 635265487); - break; - case 14: - return false; - case 3: - return true; - case 12: - num = ((!filter.AvailableOnly) ? 635265484 : 635265472); - break; - } + return false; } + if (filter.AvailableOnly && !_questFunctions.IsReadyToAcceptQuest(questInfo.QuestId)) + { + return false; + } + if (filter.HideNoPaths && (!_questRegistry.TryGetQuest(questInfo.QuestId, out Quest quest) || quest.Root.Disabled)) + { + return false; + } + if (filter.HideUnobtainable && _questFunctions.IsQuestUnobtainable(questInfo.QuestId)) + { + return false; + } + return true; } private static bool IsSeasonal(IQuestInfo q) { - int num = ((!q.IsSeasonalQuest) ? (-2078706913) : (-2078706919)); - UnlockLinkQuestInfo unlockLinkQuestInfo = default(UnlockLinkQuestInfo); - while (true) + if (q.IsSeasonalQuest) { - int num2 = num; - int num3 = -2078706918; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return false; - case 5: - num = ((!q.SeasonalQuestExpiry.HasValue) ? (-2078706915) : (-2078706917)); - break; - case 7: - unlockLinkQuestInfo = q as UnlockLinkQuestInfo; - num = ((unlockLinkQuestInfo == null) ? (-2078706920) : (-2078706916)); - break; - case 6: - num = ((!unlockLinkQuestInfo.QuestExpiry.HasValue) ? (-2078706920) : (-2078706918)); - break; - case 0: - return true; - case 4: - num = -2078706919; - break; - case 3: - return true; - case 1: - return true; - } + return true; } - } - - static void _200F_200F_206D_200C_206F_202A_206B_206B_200E_202B_200B_200F_202E_206E_206B_206C_202C_202B_200F_200F_206F_206D_200D_206F_206E_202C_202A_206E_202E_202B_200F_202E_200D_202E_206A_202D_200D_200E_200C_202E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static void _202C_200D_202B_200D_206B_200E_206D_202B_202C_206C_202D_200E_202B_206E_202A_206A_206E_202A_206C_206D_206C_206B_202A_206E_206F_202A_200C_206B_202A_206A_200F_206E_202A_206A_202E_200C_200C_200F_200E_200C_202E() - { - ImGui.SameLine(); - } - - static void _200B_200B_200F_202A_200E_200D_200F_202E_202B_202C_206D_200B_206B_202B_200C_200C_206A_206D_202A_206A_206E_206A_206F_206C_202E_206D_202C_202D_202E_202D_206A_206B_206A_200B_200F_206C_206E_206C_200C_206E_202E() - { - ImGui.Separator(); - } - - static void _206F_202B_202E_202C_206A_206C_202A_206B_206A_200F_202A_206C_202C_206D_200E_206E_202D_202D_202D_202E_206C_202C_206B_206D_200F_202E_202B_206A_200E_206D_206A_206D_202D_206B_206A_202A_200D_206E_206D_202E_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static IUiBuilder _206E_206B_206E_202B_202B_206B_206A_200D_206F_200E_202B_200F_206F_206B_200F_202B_200C_202C_202C_202B_202D_206C_200F_202D_200F_206E_202D_206A_206D_200E_202B_200E_200D_200F_206D_206A_206F_206D_202B_202B_202E(IDalamudPluginInterface P_0) - { - return P_0.UiBuilder; - } - - static IFontHandle _206A_202A_202E_202E_206E_200F_206D_202A_206D_200C_206A_202E_200F_200D_202D_206A_206A_202C_206C_202E_202C_200B_202E_202E_200D_206A_202B_206F_206A_200D_206C_200F_206F_200F_200F_206F_206E_200D_200E_202C_202E(IUiBuilder P_0) - { - return P_0.IconFontFixedWidthHandle; - } - - static IDisposable _202B_200D_200E_206A_202D_202B_206D_202C_206E_206D_202E_200B_206F_206A_202D_206A_200B_202D_202A_202E_206B_200F_202C_206E_202A_206D_200D_202B_202E_200F_200C_200D_202D_206A_206A_200E_202A_202C_202E_200C_202E(IFontHandle P_0) - { - return P_0.Push(); - } - - static string _206C_200F_206D_202A_206D_206F_206A_206A_202A_202A_202A_206B_202C_200F_206F_206E_200D_200B_202A_200E_202D_206D_206B_202B_200B_200F_206A_206F_200F_206D_200E_202E_202C_200B_200E_202A_202A_200B_200C_200F_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static Vector2 _200E_200D_200C_200E_202C_206A_200C_202B_202A_206E_206F_206C_206A_200D_202D_202D_206E_202D_200C_206F_202D_202A_202A_202E_206E_200E_200D_202B_206B_200B_200F_206B_206E_206B_200D_202D_202E_206A_200E_206E_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static void _200E_206C_200C_206A_206A_206E_200E_202C_206E_202B_202B_206D_202C_206B_206D_206D_206C_200B_206A_202A_206D_202C_202B_206E_202D_200F_206A_200F_202C_202C_202C_202C_200D_200B_206B_202D_206B_202E_200E_202D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static ImGuiIOPtr _206D_206F_202D_202B_200C_206A_206C_206E_202D_202D_206E_200E_200E_202E_202A_202A_202D_206A_200B_206A_206F_202B_200D_202D_200F_202B_202B_202E_202D_206B_206A_200F_200F_200F_200E_202D_206A_206F_202D_202E_202E() - { - return ImGui.GetIO(); - } - - static void _200D_202D_202C_206E_202C_200B_202C_202A_206D_200D_206F_200B_202C_206F_200B_200B_200E_200B_202B_206A_200E_206C_200D_206A_200B_202B_200E_206B_202E_202A_200C_200F_206C_206B_202C_206C_200D_206C_206F_200C_202E(ImU8String P_0, ImGuiTableColumnFlags P_1, float P_2, uint P_3) - { - ImGui.TableSetupColumn(P_0, P_1, P_2, P_3); - } - - static void _206E_202C_206D_200F_200F_202C_206C_206B_206B_206B_200C_202B_200D_206D_206A_206D_206E_200C_202B_206A_200D_200C_202E_200B_206E_206D_200F_202D_200F_200C_200E_206E_206E_206C_202B_206E_206A_202A_202E_200E_202E() - { - ImGui.TableHeadersRow(); - } - - static float _202D_200D_206D_206F_202A_206E_202D_200C_200D_200F_200F_200E_202B_206A_200C_206A_200D_200C_200D_202E_206E_200D_202A_200E_202A_206C_200B_200C_200C_200B_206C_200E_200C_206A_200E_202C_206F_202B_200B_206D_202E() - { - return ImGui.GetTextLineHeightWithSpacing(); - } - - unsafe static ImGuiListClipper* _200D_200E_202E_202B_206A_202A_206B_200D_200B_202A_200C_206F_206A_206D_206D_202B_200D_206D_200C_206F_202D_200F_206A_206A_206E_202E_200C_200C_202A_206A_206E_206E_202A_200C_206E_200E_202C_202C_200E_206E_202E() - { - return ImGuiNative.ImGuiListClipper(); - } - - unsafe static void _202C_202E_200B_206A_200D_200F_200F_200F_200C_202A_202A_200E_200E_200F_202A_202B_202D_206E_202A_200C_206B_200F_206E_200E_202A_200D_206A_202E_202E_202D_206A_202A_200E_200E_200B_206F_202D_202E_206A_202B_202E(ImGuiListClipper* P_0, int P_1, float P_2) - { - ImGuiNative.Begin(P_0, P_1, P_2); - } - - static void _200F_206F_200C_202D_206D_200C_202E_200D_206A_206D_202A_206D_206B_206E_206B_202C_206E_202E_202E_202D_206D_200D_202A_202C_200D_206A_206C_206A_202A_200E_200C_200C_206D_206B_200F_206E_206C_200C_202B_202E() - { - ImGui.TableNextRow(); - } - - static bool _206A_200E_206E_202D_206A_200F_206D_202D_200B_202B_206F_206A_206D_202C_202B_200F_206A_202D_206E_200B_206A_206D_202C_206B_200D_200E_200C_202E_200D_206E_202C_206D_202C_206F_206B_200D_200B_202B_206D_202B_202E() - { - return ImGui.TableNextColumn(); - } - - static ImGuiStylePtr _206D_206E_200D_202D_206B_200F_202C_200B_200E_206C_206B_200C_202D_202A_206A_206F_206A_206E_206A_206A_200B_200B_202C_206D_200C_206F_202B_202E_200B_200E_206A_206A_202E_200C_200E_206D_206C_206E_202D_202B_202E() - { - return ImGui.GetStyle(); - } - - static float _200C_206B_206F_206E_200D_206D_202C_200D_200D_200E_200F_202A_200B_206F_202A_206A_206D_200F_200E_200F_200D_206E_206C_206D_206B_206F_202D_202E_200D_206F_200C_206F_202B_206C_202C_202E_206F_206E_206B_206C_202E() - { - return ImGui.GetCursorPosX(); - } - - static void _206D_200D_206E_206C_206A_206B_200C_200C_200B_202A_206B_200E_202B_200B_202D_200D_202A_206F_200E_202E_206F_200C_206F_202E_206A_202A_206B_206A_202E_200F_200C_206E_206A_206E_206F_206B_200E_202D_202A_200E_202E(float P_0) - { - ImGui.SetCursorPosX(P_0); - } - - static bool _206B_206E_202C_200C_202C_200C_202E_202B_206C_206C_206D_202C_200E_202B_200F_202A_206E_206F_200B_200E_206E_206C_202D_200B_202A_202D_200C_206C_206C_200D_206F_206C_202D_200E_206D_206F_200D_202D_202A_200D_202E(ImU8String P_0, bool P_1, ImGuiSelectableFlags P_2, Vector2 P_3) - { - return ImGui.Selectable(P_0, P_1, P_2, P_3); - } - - static ImFontPtr _202C_202A_206C_200D_202A_206F_206B_202D_202E_202C_200D_202C_202B_202D_202A_200E_206B_200C_206D_206F_202B_200C_206C_200F_200B_200E_200D_202B_202D_202E_202E_206A_202B_200F_202C_200F_202B_202D_202B_202E() - { - return UiBuilder.MonoFont; - } - - static void _206F_206F_206D_202C_202D_200C_202A_200E_206B_206C_200D_206A_200E_202A_206E_202D_206B_202A_202D_206C_206A_200D_200C_206E_200C_206B_206C_202B_200F_202A_202D_200D_200E_202B_206B_200C_200D_202E_202D_200D_202E(ImFontPtr P_0) - { - ImGui.PushFont(P_0); - } - - static Vector4 _206D_200F_202D_202A_200E_206C_202B_202D_202D_206F_202E_206D_206B_202A_202E_200B_202B_206B_206A_206F_200B_202B_202E_202B_202B_206B_200D_202E_202D_206C_206F_202C_202A_206D_200E_202E_200D_200B_202E_202D_202E(EExpansionVersion P_0) - { - return P_0.GetExpansionColor(); - } - - static void _206F_202B_206B_206F_200E_206A_200D_202B_202C_206C_200E_200E_200B_200E_200E_206B_206F_206A_202D_206B_206C_206F_200B_200B_202A_206A_202D_202C_206D_202E_206E_202B_200B_206B_202E_202A_206E_206F_200B_202E_202E(ImGuiCol P_0, Vector4 P_1) - { - ImGui.PushStyleColor(P_0, P_1); - } - - static string _206F_200D_202C_202E_206B_200F_200B_200F_206D_206A_200B_202B_202A_200E_202B_200B_202D_200C_200C_206C_200C_202E_206B_202B_200C_206C_202E_206F_202D_206D_202B_200C_206D_200D_202A_200C_200F_202D_206B_206C_202E(EExpansionVersion P_0) - { - return P_0.ToAbbreviation(); - } - - static string _206A_200E_206F_206A_200D_200F_206F_200C_206D_206A_206F_206B_206A_206F_202D_200E_200B_206F_206E_202D_200F_202D_202E_206B_200D_200D_200F_202B_200C_200C_200E_200D_202B_200D_206A_202E_206F_202E_200E_200D_202E(string P_0, int P_1) - { - return P_0.PadRight(P_1); - } - - static void _202B_202D_206F_206E_202C_200F_200D_202D_206E_206C_206C_200F_200C_202C_202A_206B_202E_202B_206E_200F_200B_206F_200E_206E_202C_200B_202E_202E_206E_206D_206F_206D_200D_206F_200B_202E_206E_206D_206D_206F_202E(ImU8String P_0) - { - ImGui.TextUnformatted(P_0); - } - - static void _202A_200E_202B_200F_202B_202E_200C_202B_202D_202B_206A_200B_206F_206D_202C_206A_202E_206C_206D_206A_200D_200E_200D_202D_206D_200E_206C_206D_206E_206C_200F_200D_206C_206E_202E_200D_206E_206E_202A_202B_202E() - { - ImGui.PopStyleColor(); - } - - static void _202D_200C_202B_200E_200E_206E_200B_206B_200F_202D_200D_206D_206D_200B_200F_206F_206C_206B_202C_200E_200E_206B_202E_200C_200E_206F_200E_206E_200C_206B_202A_200E_200F_200B_206D_206D_200E_200F_202A_206D_202E() - { - ImGui.PopFont(); - } - - static bool _206E_202C_202B_200E_200E_200E_206D_202A_200B_200F_200D_206B_200D_200B_200D_206E_206C_206A_206E_200D_206A_202A_202B_206F_202B_206A_202C_206C_200D_202A_202A_202B_202D_206E_200D_202E_200E_202C_206E_200C_202E() - { - return ImGui.IsItemHovered(); - } - - static bool _200F_200D_200E_202B_206C_206B_200F_200E_200F_200D_202B_202C_206D_206C_200E_200C_200D_200F_200D_206A_202D_206A_206F_202D_200E_206A_206C_200D_202C_200B_206B_206E_200E_202A_200D_200F_202D_202D_200B_200C_202E(ImU8String P_0, ImGuiTreeNodeFlags P_1, ImU8String P_2) - { - return ImGui.TreeNodeEx(P_0, P_1, P_2); - } - - static void _202E_206D_202B_206A_206E_200D_206D_202B_200F_202C_200C_200F_206E_200E_200F_202C_206E_206F_206C_206E_202D_206E_200F_200D_206D_202B_206B_202E_200C_200D_200C_200B_202B_202B_200E_202C_200D_206C_200E_202B_202E() - { - ImGui.BeginTooltip(); - } - - static string _202D_206E_200E_202E_206E_206B_206D_202B_200F_202E_206D_206F_206D_200D_206A_200B_202B_202C_200B_200C_200C_206A_206C_206E_200D_206D_206C_200F_202D_200B_200E_202C_206E_200E_206F_206C_206B_200C_200E_202C_202E(EExpansionVersion P_0) - { - return P_0.ToFriendlyString(); - } - - static void _202B_206A_202C_200F_206C_206A_202C_202D_200B_202C_202C_202B_202B_200F_206F_206A_202A_202D_200F_202C_202D_200D_206A_206D_206C_202B_200D_202D_206E_202E_206B_206E_202C_206D_206E_200F_202B_200D_202D_202B_202E() - { - ImGui.EndTooltip(); - } - - static float _202D_206E_202E_200E_202E_202A_200B_200B_206D_202D_206C_200F_206D_200D_202B_202C_200D_200B_200F_200E_202E_202A_206B_202A_202B_206D_200B_200C_202C_200F_200F_202B_206F_206A_202C_206B_206A_206D_206C_200F_202E() - { - return ImGui.GetColumnWidth(); - } - - static int _206E_206D_202A_202C_206E_200F_202B_200C_200C_202C_206B_202B_200D_202E_200C_200B_200E_206F_202D_206F_200E_202A_200B_200E_200E_202A_202B_202E_200B_202C_200D_200D_202A_202B_202C_200D_202E_206A_206F_206F_202E(int P_0, int P_1) - { - return Math.Min(P_0, P_1); - } - - static bool _206A_200F_200C_206C_200D_206A_206A_206D_200B_202B_202C_206F_200D_206A_206E_206D_206C_202C_206E_202C_200F_206B_200C_200B_200C_202B_206B_200E_206C_206A_206D_206C_202A_206E_206D_202E_200B_200C_200E_202A_202E(QuestRoot P_0) - { - return P_0.Disabled; - } - - static string _206E_206F_200F_206B_206D_202E_202A_206D_202A_202A_202C_202B_202A_206C_200D_200B_200B_200B_206B_206D_206C_206E_202C_206A_200B_200F_206C_200C_200C_206E_202D_202B_200F_206F_206D_200F_200C_200C_202C_206E_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _200F_206A_202C_200C_206F_202A_202B_202C_200F_206C_200F_202A_200B_206F_202D_200B_206D_206D_200D_200E_202C_206A_202D_200C_202A_206F_200E_206E_206D_200F_206C_200B_202C_200F_206A_206E_206A_202D_202B_200F_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static bool _202D_200D_202B_206F_200B_206D_202A_202E_206A_202B_206E_202B_200D_206D_206F_200D_202C_200F_206A_206A_200C_206D_202A_202A_200C_206C_206A_202A_202D_206D_206B_202E_200D_202E_202C_202C_206A_206D_206D_200C_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static bool _206F_206F_202A_206C_200B_200E_206D_206C_206C_200E_206B_202B_206B_206D_206A_206D_202E_206A_202A_200F_206F_202E_200F_206E_206C_200B_206D_200E_206F_206D_202B_202D_202D_206D_200E_206D_206E_202A_206A_206D_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.Contains(P_1, P_2); - } - - static bool _202E_202B_202A_202C_200C_200B_206C_202A_200D_206F_206E_206B_200F_202A_200B_202C_200B_206B_206C_202B_202A_206B_206A_206A_200B_206A_202D_200E_206F_200F_200C_202A_206A_200B_206E_200F_202C_206E_202E(string P_0, string P_1) - { - return P_0 == P_1; + if (q.SeasonalQuestExpiry.HasValue) + { + return true; + } + if (q is UnlockLinkQuestInfo { QuestExpiry: not null }) + { + return true; + } + return false; } } diff --git a/Questionable/Questionable.Windows.JournalComponents/QuestJournalUtils.cs b/Questionable/Questionable.Windows.JournalComponents/QuestJournalUtils.cs index 3b61c6d..57238ed 100644 --- a/Questionable/Questionable.Windows.JournalComponents/QuestJournalUtils.cs +++ b/Questionable/Questionable.Windows.JournalComponents/QuestJournalUtils.cs @@ -1,8 +1,6 @@ using System; using System.Collections.Generic; -using System.Collections.Immutable; using System.Linq; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; using Dalamud.Interface; using Dalamud.Interface.Utility.Raii; @@ -19,152 +17,6 @@ namespace Questionable.Windows.JournalComponents; internal sealed class QuestJournalUtils { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass17_0 - { - public QuestJournalUtils _003C_003E4__this; - - public IQuestInfo questInfo; - - internal unsafe bool _003CGetIncompletePrerequisiteQuests_003Eb__0(ElementId qId) - { - IQuestInfo questInfo; - int num = (_003C_003E4__this._questData.TryGetQuestInfo(qId, out questInfo) ? 953970550 : 953970544); - QuestId questId = default(QuestId); - while (true) - { - int num2 = num; - int num3 = 953970550; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 7: - return true; - case 6: - return false; - case 2: - return false; - case 5: - num = 953970544; - break; - case 8: - questId = qId as QuestId; - num = (((object)questId == null) ? 953970551 : 953970546); - break; - case 3: - return false; - case 0: - num = ((!questInfo.IsRepeatable) ? 953970551 : 953970558); - break; - case 4: - num = ((!QuestManager.Instance()->IsDailyQuestCompleted(_206C_200C_206B_202A_202C_202A_200C_202C_200D_206E_200B_206F_202C_200D_200C_200E_206B_206E_200C_206B_206B_202B_206D_200B_206E_200E_200F_202D_206F_202C_206C_206F_200E_206D_206C_202E_200D_200F_202C_202B_202E((ElementId)questId))) ? 953970545 : 953970548); - break; - case 1: - num = ((!_003C_003E4__this._questFunctions.IsQuestComplete(qId)) ? 953970545 : 953970549); - break; - } - } - } - - internal bool _003CGetIncompletePrerequisiteQuests_003Eb__1(ElementId qId) - { - return !_003C_003E4__this._questFunctions.IsQuestUnobtainable(qId); - } - - internal bool _003CGetIncompletePrerequisiteQuests_003Eb__2(ElementId qId) - { - return _003C_003E4__this._questRegistry.IsKnownQuest(qId); - } - - internal bool _003CGetIncompletePrerequisiteQuests_003Eb__3(ElementId qId) - { - Quest quest; - int num = ((!_003C_003E4__this._questRegistry.TryGetQuest(qId, out quest)) ? 2035464301 : 2035464302); - while (true) - { - int num2 = num; - int num3 = 2035464300; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - return false; - case 1: - return true; - case 0: - num = 2035464302; - break; - case 2: - num = ((!_200D_200C_202C_200C_200D_206B_206B_200D_206D_202C_206E_202E_200F_202E_200E_206C_206E_200C_206B_200D_202C_202A_200F_200E_202A_200C_200E_200C_202A_206C_200E_206A_202D_200D_200B_206B_202A_206F_200C_200E_202E(quest.Root)) ? 2035464301 : 2035464303); - break; - } - } - } - - internal bool _003CGetIncompletePrerequisiteQuests_003Eb__4(ElementId qId) - { - _003C_003Ec__DisplayClass17_1 CS_0024_003C_003E8__locals1 = new _003C_003Ec__DisplayClass17_1 - { - qId = qId - }; - return !_003C_003E4__this._questController.ManualPriorityQuests.Any((Quest q) => _003C_003Ec__DisplayClass17_1._200D_206D_200F_202D_200B_202D_200B_206D_202A_200C_200F_206E_200B_200E_202E_200B_200E_200D_206D_202E_206F_202E_206C_206C_202D_206D_206D_206E_206C_200F_200B_206A_200F_202E_202D_200C_202C_206C_202A_206C_202E(q.Id, CS_0024_003C_003E8__locals1.qId)); - } - - internal bool _003CGetIncompletePrerequisiteQuests_003Eb__5(Quest q) - { - return _202A_202C_202E_200D_206F_202A_206E_206B_200F_202A_202E_206C_206A_206F_202D_202A_200F_206B_206B_206D_202D_206D_206D_206A_200D_200E_200D_206F_200B_202A_206C_202A_206C_206B_200F_200B_200E_202B_202C_200D_202E(q.Id, questInfo.QuestId); - } - - static ushort _206C_200C_206B_202A_202C_202A_200C_202C_200D_206E_200B_206F_202C_200D_200C_200E_206B_206E_200C_206B_206B_202B_206D_200B_206E_200E_200F_202D_206F_202C_206C_206F_200E_206D_206C_202E_200D_200F_202C_202B_202E(ElementId P_0) - { - return P_0.Value; - } - - static bool _200D_200C_202C_200C_200D_206B_206B_200D_206D_202C_206E_202E_200F_202E_200E_206C_206E_200C_206B_200D_202C_202A_200F_200E_202A_200C_200E_200C_202A_206C_200E_206A_202D_200D_200B_206B_202A_206F_200C_200E_202E(QuestRoot P_0) - { - return P_0.Disabled; - } - - static bool _202A_202C_202E_200D_206F_202A_206E_206B_200F_202A_202E_206C_206A_206F_202D_202A_200F_206B_206B_206D_202D_206D_206D_206A_200D_200E_200D_206F_200B_202A_206C_202A_206C_206B_200F_200B_200E_202B_202C_200D_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass17_1 - { - public ElementId qId; - - internal bool _003CGetIncompletePrerequisiteQuests_003Eb__6(Quest q) - { - return _200D_206D_200F_202D_200B_202D_200B_206D_202A_200C_200F_206E_200B_200E_202E_200B_200E_200D_206D_202E_206F_202E_206C_206C_202D_206D_206D_206E_206C_200F_200B_206A_200F_202E_202D_200C_202C_206C_202A_206C_202E(q.Id, qId); - } - - static bool _200D_206D_200F_202D_200B_202D_200B_206D_202A_200C_200F_206E_200B_200E_202E_200B_200E_200D_206D_202E_206F_202E_206C_206C_202D_206D_206D_206E_206C_200F_200B_206A_200F_202E_202D_200C_202C_206C_202A_206C_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass20_0 - { - public Quest quest; - - internal bool _003CAddAllAvailableQuests_003Eb__1(Quest q) - { - return _200F_200F_200B_206D_200E_206F_206B_200E_206E_206F_200D_206B_202B_202C_206B_206B_202E_206B_200D_202D_202E_200D_200B_200D_206E_200D_202B_200B_202E_200E_200B_200F_202B_206F_200F_202D_200E_202A_206F_202C_202E(q.Id, quest.Id); - } - - static bool _200F_200F_200B_206D_200E_206F_206B_200E_206E_206F_200D_206B_202B_202C_206B_206B_202E_206B_200D_202D_202E_200D_200B_200D_206E_200D_202B_200B_202E_200E_200B_200F_202B_206F_200F_202D_200E_202A_206F_202C_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - } - private readonly QuestController _questController; private readonly FateController _fateController; @@ -208,339 +60,88 @@ internal sealed class QuestJournalUtils public void ShowContextMenu(IQuestInfo questInfo, Quest? quest, string label) { - int num = ((!_200E_202B_200D_206B_200D_200D_206E_200D_206E_200E_206A_206C_206D_202D_206E_206D_202E_202A_206D_202E_200F_202E_200C_200B_206A_200E_202B_200C_206B_200C_200D_206A_200F_200F_206E_202A_202C_200D_206C_202D_202E(ImGuiMouseButton.Right)) ? (-208587597) : (-208587598)); - while (true) + if (ImGui.IsItemClicked(ImGuiMouseButton.Right)) { - int num2 = num; - int num3 = -208587597; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -208587598; - break; - case 1: - OpenContextMenu(questInfo); - num = -208587597; - break; - case 0: - DrawContextMenu(questInfo, quest, label); - return; - } + OpenContextMenu(questInfo); } + DrawContextMenu(questInfo, quest, label); } - [MethodImpl(MethodImplOptions.NoInlining)] public void OpenContextMenu(IQuestInfo questInfo) { - ImU8String imU8String = new ImU8String(12, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(324267625)); - imU8String.AppendFormatted(questInfo.QuestId); - _200E_206D_202E_206F_206F_200D_202A_202B_206F_206E_200D_202D_206E_202C_206F_206B_202E_202D_202B_202B_202D_206F_206B_200D_206A_206D_206B_200C_206A_206A_200B_206C_200F_200B_200F_202D_200B_200E_206F_206C_202E(imU8String, ImGuiPopupFlags.None); + ImU8String strId = new ImU8String(12, 1); + strId.AppendLiteral("##QuestPopup"); + strId.AppendFormatted(questInfo.QuestId); + ImGui.OpenPopup(strId); } - [MethodImpl(MethodImplOptions.NoInlining)] public bool DrawContextMenu(IQuestInfo questInfo, Quest? quest, string label) { - ImU8String imU8String = new ImU8String(12, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-307761140)); - imU8String.AppendFormatted(questInfo.QuestId); - using ImRaii.PopupDisposable popupDisposable = _200F_200D_206D_200D_200C_200C_200C_206B_200B_206B_200C_200B_202A_200D_206D_206D_206F_206F_206B_200B_202C_206F_200E_206C_202E_206C_206F_202C_202E_202D_202E_206C_200F_202C_200B_206C_202D_200D_202E_206A_202E(imU8String); - int num = ((!(!popupDisposable)) ? (-1838329671) : (-1838329669)); - int num7; - while (true) + ImU8String id = new ImU8String(12, 1); + id.AppendLiteral("##QuestPopup"); + id.AppendFormatted(questInfo.QuestId); + using ImRaii.PopupDisposable popupDisposable = ImRaii.Popup(id); + if (!popupDisposable) { - int num2 = num; - int num3 = -1838329665; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 5: - num = (_202C_202C_202D_206F_202B_200C_200B_202B_200C_202C_202C_200E_202C_200C_202B_206D_206F_200D_200D_206D_200D_206D_206D_200E_200F_200E_206A_202A_202E_200C_202A_200F_202A_200C_202D_206C_202D_200D_200D_206B_202E(quest.Root) ? (-1838329666) : (-1838329672)); - continue; - case 8: - num = ((quest == null) ? (-1838329666) : (-1838329670)); - continue; - case 6: - num = ((!_questFunctions.IsReadyToAcceptQuest(questInfo.QuestId)) ? (-1838329666) : (-1838329673)); - continue; - case 9: - num = (_customDeliveryController.IsRunning ? (-1838329666) : (-1838329668)); - continue; - case 0: - num = -1838329669; - continue; - case 4: - return false; - case 2: - num = (_seasonalDutyController.IsRunning ? (-1838329666) : (-1838329674)); - continue; - case 3: - num7 = ((!_attunementController.IsRunning) ? 1 : 0); - break; - case 7: - num = (_fateController.IsRunning ? (-1838329666) : (-1838329667)); - continue; - case 1: - num7 = 0; - break; - } - break; + return false; } - ImRaii.DisabledDisposable disabledDisposable = _202E_202D_202A_200B_206F_200C_202D_202C_206D_200B_200C_206C_200B_202A_202C_202D_206C_200F_206C_202B_200E_202C_206B_200E_200E_200B_202B_206D_202B_206C_200B_202B_206B_206C_202C_206C_202C_202B_206B_200F_202E(num7 == 0); - try + using (ImRaii.Disabled(!_questFunctions.IsReadyToAcceptQuest(questInfo.QuestId) || quest == null || quest.Root.Disabled || _fateController.IsRunning || _seasonalDutyController.IsRunning || _customDeliveryController.IsRunning || _attunementController.IsRunning)) { - num = ((!_202A_200B_202D_202B_202E_200B_200D_206B_202D_206C_202E_200E_200D_200C_206F_202D_206F_206D_206F_200B_202C_206F_200D_200B_206D_206C_202E_206F_200C_200E_200E_200F_200C_206D_206D_200F_206A_202E_202A_206E_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2129565064), false, true)) ? (-220845706) : (-220845707)); - while (true) + if (ImGui.MenuItem("Start as next quest")) { - int num8 = num; - int num3 = -220845705; - int num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 0: - num = -220845707; - break; - case 2: - _fateController.Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1441653773)); - _seasonalDutyController.Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-21196093)); - _customDeliveryController.Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-21196093)); - _attunementController.Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-21196093)); - _questController.SetNextQuest(quest); - _questController.Start(label); - num = -220845706; - break; - case 1: - goto end_IL_0205; - } - continue; - end_IL_0205: - break; + _fateController.Stop("Quest journal start"); + _seasonalDutyController.Stop("Quest journal start"); + _customDeliveryController.Stop("Quest journal start"); + _attunementController.Stop("Quest journal start"); + _questController.SetNextQuest(quest); + _questController.Start(label); } } - finally + if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) { - num = ((disabledDisposable == null) ? (-1086471845) : (-1086471846)); - while (true) + if (!_questFunctions.IsReadyToAcceptQuest(questInfo.QuestId)) { - int num11 = num; - int num3 = -1086471845; - int num4 = num11; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1086471846; - break; - case 1: - _206D_200B_202C_200C_206B_206F_206D_200C_202D_206E_206C_202D_202E_206B_206F_206B_202A_200E_200E_200D_202D_206B_206A_202B_206E_202C_206E_202B_202D_200C_206C_202B_200E_206C_202A_206B_206D_206A_202A_206E_202E((IDisposable)disabledDisposable); - num = -1086471845; - break; - case 0: - goto end_IL_02db; - } - continue; - end_IL_02db: - break; + ImGui.SetTooltip("Quest is not ready to accept"); + } + else if (quest == null) + { + ImGui.SetTooltip("Quest has no path available"); + } + else if (quest.Root.Disabled) + { + ImGui.SetTooltip("Quest path is disabled"); } } - num = ((!_202B_200D_202C_202C_202C_202A_200B_200E_206C_206E_202D_202A_200F_200E_200F_202B_206C_200F_206B_206B_200F_200F_200F_202A_202C_206E_202D_202B_206F_202B_206F_202C_206E_206A_206B_206B_206A_206E_206E_202C_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? (-905088776) : (-905088771)); - string text = default(string); - while (true) + List incompletePrerequisiteQuests = GetIncompletePrerequisiteQuests(questInfo); + using (ImRaii.Disabled(incompletePrerequisiteQuests.Count == 0)) { - int num12 = num; - int num3 = -905088776; - int num4 = num12; - int num13 = num4 + num3; - int num14 = num4 & num3; - switch (num13 - (num14 + num14)) + if (ImGui.MenuItem(incompletePrerequisiteQuests.Count switch { - case 4: - num = ((!_202C_202C_202D_206F_202B_200C_200B_202B_200C_202C_202C_200E_202C_200C_202B_206D_206F_200D_200D_206D_200D_206D_206D_200E_200F_200E_206A_202A_202E_200C_202A_200F_202A_200C_202D_206C_202D_200D_200D_206B_202E(quest.Root)) ? (-905088776) : (-905088774)); - break; - case 5: - num = (_questFunctions.IsReadyToAcceptQuest(questInfo.QuestId) ? (-905088775) : (-905088770)); - break; - case 6: - _202C_202D_200B_200F_202B_206E_206D_200B_206D_200C_202B_202A_206A_206E_202B_206D_202E_202D_206B_200C_200B_200C_202B_206D_200C_202A_206A_200C_200D_202C_206C_200C_200E_202C_206F_202A_202A_202B_200E_206E_202E((ImU8String)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(-682815481)); - num = -905088776; - break; - case 2: - _202C_202D_200B_200F_202B_206E_206D_200B_206D_200C_202B_202A_206A_206E_202B_206D_202E_202D_206B_200C_200B_200C_202B_206D_200C_202A_206A_200C_200D_202C_206C_200C_200E_202C_206F_202A_202A_202B_200E_206E_202E((ImU8String)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(188104567)); - num = -905088776; - break; - case 1: - num = ((quest != null) ? (-905088772) : (-905088773)); - break; - case 7: - num = -905088771; - break; - case 3: - _202C_202D_200B_200F_202B_206E_206D_200B_206D_200C_202B_202A_206A_206E_202B_206D_202E_202D_206B_200C_200B_200C_202B_206D_200C_202A_206A_200C_200D_202C_206C_200C_200E_202C_206F_202A_202A_202B_200E_206E_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1910798786)); - num = -905088776; - break; - case 0: + 0 => "Add quest and requirements to priority", + 1 => "Add 1 quest to priority", + _ => $"Add {incompletePrerequisiteQuests.Count} quests to priority", + })) { - List incompletePrerequisiteQuests = GetIncompletePrerequisiteQuests(questInfo); - disabledDisposable = _202E_202D_202A_200B_206F_200C_202D_202C_206D_200B_200C_206C_200B_202A_202C_202D_206C_200F_206C_202B_200E_202C_206B_200E_200E_200B_202B_206D_202B_206C_200B_202B_206B_206C_202C_206C_202C_202B_206B_200F_202E(incompletePrerequisiteQuests.Count == 0); - try - { - int count = incompletePrerequisiteQuests.Count; - num = ((count == 0) ? (-224870237) : (-224870236)); - while (true) - { - int num15 = num; - num3 = -224870234; - num4 = num15; - int num16 = num4 + num3; - int num17 = num4 & num3; - switch (num16 - (num17 + num17)) - { - case 8: - AddRequiredQuestsToPriority(questInfo, incompletePrerequisiteQuests); - num = -224870238; - break; - case 3: - num = -224870233; - break; - case 5: - text = 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(-480064653); - num = -224870239; - break; - case 0: - text = 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(1421530180); - num = -224870239; - break; - case 2: - num = ((count == 1) ? (-224870234) : (-224870235)); - break; - case 7: - num = ((!_202A_200B_202D_202B_202E_200B_200D_206B_202D_206C_202E_200E_200D_200C_206F_202D_206F_206D_206F_200B_202C_206F_200D_200B_206D_206C_202E_206F_200C_200E_200E_200F_200C_206D_206D_200F_206A_202E_202A_206E_202E((ImU8String)text, false, true)) ? (-224870238) : (-224870226)); - break; - case 6: - num = -224870236; - break; - case 1: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(23, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2063300836)); - defaultInterpolatedStringHandler.AppendFormatted(incompletePrerequisiteQuests.Count); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2146435518)); - text = defaultInterpolatedStringHandler.ToStringAndClear(); - num = -224870239; - break; - } - case 4: - goto end_IL_04b0; - } - continue; - end_IL_04b0: - break; - } - } - finally - { - num = ((disabledDisposable == null) ? (-231672322) : (-231672323)); - while (true) - { - int num18 = num; - num3 = -231672321; - num4 = num18; - int num19 = num4 + num3; - int num20 = num4 & num3; - switch (num19 - (num20 + num20)) - { - case 0: - num = -231672323; - break; - case 2: - _206D_200B_202C_200C_206B_206F_206D_200C_202D_206E_206C_202D_202E_206B_206F_206B_202A_200E_200E_200D_202D_206B_206A_202B_206E_202C_206E_202B_202D_200C_206C_202B_200E_206C_202A_206B_206D_206A_202A_206E_202E((IDisposable)disabledDisposable); - num = -231672322; - break; - case 1: - goto end_IL_060f; - } - continue; - end_IL_060f: - break; - } - } - num = ((!_202B_200D_202C_202C_202C_202A_200B_200E_206C_206E_202D_202A_200F_200E_200F_202B_206C_200F_206B_206B_200F_200F_200F_202A_202C_206E_202D_202B_206F_202B_206F_202C_206E_206A_206B_206B_206A_206E_206E_202C_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? 1039916492 : 1039916487); - while (true) - { - int num21 = num; - num3 = 1039916494; - num4 = num21; - int num22 = num4 + num3; - int num23 = num4 & num3; - string text2; - switch (num22 - (num23 + num23)) - { - default: - continue; - case 1: - text2 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-479153751); - goto IL_06d8; - case 3: - _202C_202D_200B_200F_202B_206E_206D_200B_206D_200C_202B_202A_206A_206E_202B_206D_202E_202D_206B_200C_200B_200C_202B_206D_200C_202A_206A_200C_200D_202C_206C_200C_200E_202C_206F_202A_202A_202B_200E_206E_202E((ImU8String)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(-413729011)); - num = 1039916492; - continue; - case 5: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(70, 2); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1363766595)); - defaultInterpolatedStringHandler2.AppendFormatted(incompletePrerequisiteQuests.Count - 1); - defaultInterpolatedStringHandler2.AppendLiteral(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(-872994784)); - defaultInterpolatedStringHandler2.AppendFormatted((incompletePrerequisiteQuests.Count - 1 == 1) ? 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(2004137011) : 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(1391970161)); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-640371341)); - text2 = defaultInterpolatedStringHandler2.ToStringAndClear(); - goto IL_06d8; - } - case 2: - num = ((!_206C_202B_202D_200E_200C_206F_206A_200E_202E_202C_202D_200B_206D_200D_206F_206B_206C_202D_206D_206B_202C_200F_206E_206E_202B_200F_206D_200F_202A_202C_200E_200E_202C_202D_202A_200C_206E_206D_202A_206C_202E(label, 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(-1364608423))) ? 1039916486 : 1039916489); - continue; - case 7: - num = ((!_202A_200B_202D_202B_202E_200B_200D_206B_202D_206C_202E_200E_200D_200C_206F_202D_206F_206D_206F_200B_202C_206F_200D_200B_206D_206C_202E_206F_200C_200E_200E_200F_200C_206D_206D_200F_206A_202E_202A_206E_202E((ImU8String)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(-1664854212), false, true)) ? 1039916486 : 1039916488); - continue; - case 0: - num = 1039916487; - continue; - case 9: - num = ((incompletePrerequisiteQuests.Count != 0) ? 1039916490 : 1039916493); - continue; - case 6: - { - _questChainComponent.SelectQuest(questInfo.QuestId); - Action? selectTabAction = _questChainComponent.SelectTabAction; - if (selectTabAction == null) - { - break; - } - selectTabAction(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(644196516)); - num = 1039916486; - continue; - } - case 4: - num = ((incompletePrerequisiteQuests.Count == 1) ? 1039916495 : 1039916491); - continue; - case 8: - break; - IL_06d8: - _202C_202D_200B_200F_202B_206E_206D_200B_206D_200C_202B_202A_206A_206E_202B_206D_202E_202D_206B_200C_200B_200C_202B_206D_200C_202A_206A_200C_200D_202C_206C_200C_200E_202C_206F_202A_202A_202B_200E_206E_202E((ImU8String)text2); - num = 1039916492; - continue; - } - break; - } - return true; - } + AddRequiredQuestsToPriority(questInfo, incompletePrerequisiteQuests); } } + if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) + { + if (incompletePrerequisiteQuests.Count == 0) + { + ImGui.SetTooltip("No quests to add (quest may be complete, disabled, locked with no unlock path, or already in priority)"); + } + else + { + ImGui.SetTooltip((incompletePrerequisiteQuests.Count == 1) ? "Add this quest to the priority list" : $"Add this quest and {incompletePrerequisiteQuests.Count - 1} required {((incompletePrerequisiteQuests.Count - 1 == 1) ? "quest" : "quests")} to the priority list in completion order"); + } + } + if (label != "QuestChainComponent" && ImGui.MenuItem("View in Quest Chain")) + { + _questChainComponent.SelectQuest(questInfo.QuestId); + _questChainComponent.SelectTabAction?.Invoke("Quest Chain"); + } + return true; } public unsafe List GetIncompletePrerequisiteQuests(IQuestInfo questInfo) @@ -549,424 +150,133 @@ internal sealed class QuestJournalUtils HashSet visited = new HashSet(); CollectPrerequisitesRecursive(questInfo, list, visited); list.Reverse(); - List list2 = (from qId in (from qId in list.Where(delegate(ElementId qId) - { - IQuestInfo questInfo2; - int num9 = (_questData.TryGetQuestInfo(qId, out questInfo2) ? 953970550 : 953970544); - QuestId questId2 = default(QuestId); - while (true) - { - int num10 = num9; - int num11 = 953970550; - int num12 = num10; - switch ((num12 | num11) - (num12 & num11)) - { - case 7: - return true; - case 6: - return false; - case 2: - return false; - case 5: - num9 = 953970544; - break; - case 8: - questId2 = qId as QuestId; - num9 = (((object)questId2 == null) ? 953970551 : 953970546); - break; - case 3: - return false; - case 0: - num9 = ((!questInfo2.IsRepeatable) ? 953970551 : 953970558); - break; - case 4: - num9 = ((!QuestManager.Instance()->IsDailyQuestCompleted(_003C_003Ec__DisplayClass17_0._206C_200C_206B_202A_202C_202A_200C_202C_200D_206E_200B_206F_202C_200D_200C_200E_206B_206E_200C_206B_206B_202B_206D_200B_206E_200E_200F_202D_206F_202C_206C_206F_200E_206D_206C_202E_200D_200F_202C_202B_202E((ElementId)questId2))) ? 953970545 : 953970548); - break; - case 1: - num9 = ((!_questFunctions.IsQuestComplete(qId)) ? 953970545 : 953970549); - break; - } - } - }) - where !_questFunctions.IsQuestUnobtainable(qId) - where _questRegistry.IsKnownQuest(qId) - select qId).Where(delegate(ElementId qId) + Quest quest2; + List list2 = (from qId in list.Where(delegate(ElementId qId) { - Quest quest2; - int num9 = ((!_questRegistry.TryGetQuest(qId, out quest2)) ? 2035464301 : 2035464302); - while (true) + if (!_questData.TryGetQuestInfo(qId, out IQuestInfo questInfo2)) { - int num10 = num9; - int num11 = 2035464300; - int num12 = num10; - int num13 = num12 + num11; - int num14 = num12 & num11; - switch (num13 - (num14 + num14)) + return false; + } + if (questInfo2.IsRepeatable && qId is QuestId questId2) + { + if (QuestManager.Instance()->IsDailyQuestCompleted(questId2.Value)) { - case 3: return false; - case 1: - return true; - case 0: - num9 = 2035464302; - break; - case 2: - num9 = ((!_003C_003Ec__DisplayClass17_0._200D_200C_202C_200C_200D_206B_206B_200D_206D_202C_206E_202E_200F_202E_200E_206C_206E_200C_206B_200D_202C_202A_200F_200E_202A_200C_200E_200C_202A_206C_200E_206A_202D_200D_200B_206B_202A_206F_200C_200E_202E(quest2.Root)) ? 2035464301 : 2035464303); - break; } } + else if (_questFunctions.IsQuestComplete(qId)) + { + return false; + } + return true; }) - where !_questController.ManualPriorityQuests.Any((Quest q) => _003C_003Ec__DisplayClass17_1._200D_206D_200F_202D_200B_202D_200B_206D_202A_200C_200F_206E_200B_200E_202E_200B_200E_200D_206D_202E_206F_202E_206C_206C_202D_206D_206D_206E_206C_200F_200B_206A_200F_202E_202D_200C_202C_206C_202A_206C_202E(q.Id, qId)) + where !_questFunctions.IsQuestUnobtainable(qId) + where _questRegistry.IsKnownQuest(qId) + where (!_questRegistry.TryGetQuest(qId, out quest2) || !quest2.Root.Disabled) ? true : false + where !_questController.ManualPriorityQuests.Any((Quest q) => q.Id.Equals(qId)) select qId).ToList(); list2.Reverse(); bool flag = false; - int num = ((!questInfo.IsRepeatable) ? 1364265692 : 1364265683); - QuestId questId = default(QuestId); - bool flag2 = default(bool); - Quest quest = default(Quest); - bool flag3 = default(bool); - while (true) + flag = ((!questInfo.IsRepeatable || !(questInfo.QuestId is QuestId questId)) ? (!_questFunctions.IsQuestComplete(questInfo.QuestId)) : (!QuestManager.Instance()->IsDailyQuestCompleted(questId.Value))); + Quest quest; + bool flag2 = _questRegistry.TryGetQuest(questInfo.QuestId, out quest) && quest.Root.Disabled; + bool flag3 = _questFunctions.IsQuestLocked(questInfo.QuestId) && questInfo.PreviousQuests.Count == 0; + if (flag && !flag2 && !flag3 && !_questFunctions.IsQuestUnobtainable(questInfo.QuestId) && _questRegistry.IsKnownQuest(questInfo.QuestId) && !_questController.ManualPriorityQuests.Any((Quest q) => q.Id.Equals(questInfo.QuestId))) { - int num2 = num; - int num3 = 1364265690; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num7; - int num8; - switch (num5 - (num6 + num6)) - { - case 13: - flag = !QuestManager.Instance()->IsDailyQuestCompleted(_202C_206D_202B_202E_206F_200C_200D_200E_202C_200D_200D_202D_206B_200F_206F_206E_200D_202B_206D_200E_206F_202C_200C_206D_206D_202C_206E_202D_202B_200F_206C_200D_200E_202E_202E_206E_206E_202A_200E_206D_202E((ElementId)questId)); - num = 1364265684; - break; - case 3: - num = (_questFunctions.IsQuestUnobtainable(questInfo.QuestId) ? 1364265690 : 1364265685); - break; - case 8: - num = (flag2 ? 1364265690 : 1364265691); - break; - case 4: - num7 = (_202C_202C_202D_206F_202B_200C_200B_202B_200C_202C_202C_200E_202C_200C_202B_206D_206F_200D_200D_206D_200D_206D_206D_200E_200F_200E_206A_202A_202E_200C_202A_200F_202A_200C_202D_206C_202D_200D_200D_206B_202E(quest.Root) ? 1 : 0); - goto IL_01b6; - case 7: - num7 = 0; - goto IL_01b6; - case 6: - flag = !_questFunctions.IsQuestComplete(questInfo.QuestId); - num = 1364265684; - break; - case 12: - num = (_questController.ManualPriorityQuests.Any((Quest q) => _003C_003Ec__DisplayClass17_0._202A_202C_202E_200D_206F_202A_206E_206B_200F_202A_202E_206C_206A_206F_202D_202A_200F_206B_206B_206D_202D_206D_206D_206A_200D_200E_200D_206F_200B_202A_206C_202A_206C_206B_200F_200B_200E_202B_202C_200D_202E(q.Id, questInfo.QuestId)) ? 1364265690 : 1364265681); - break; - case 1: - num = (flag3 ? 1364265690 : 1364265689); - break; - case 9: - questId = questInfo.QuestId as QuestId; - num = (((object)questId == null) ? 1364265692 : 1364265687); - break; - case 10: - num8 = ((questInfo.PreviousQuests.Count == 0) ? 1 : 0); - goto IL_0302; - case 2: - num = 1364265683; - break; - case 14: - num = ((!_questRegistry.TryGetQuest(questInfo.QuestId, out quest)) ? 1364265693 : 1364265694); - break; - case 5: - num8 = 0; - goto IL_0302; - case 0: - return list2; - case 15: - num = ((!_questRegistry.IsKnownQuest(questInfo.QuestId)) ? 1364265690 : 1364265686); - break; - case 11: - { - list2.Add(questInfo.QuestId); - num = 1364265690; - break; - } - IL_01b6: - flag2 = (byte)num7 != 0; - num = ((!_questFunctions.IsQuestLocked(questInfo.QuestId)) ? 1364265695 : 1364265680); - break; - IL_0302: - flag3 = (byte)num8 != 0; - num = ((!flag) ? 1364265690 : 1364265682); - break; - } + list2.Add(questInfo.QuestId); } + return list2; } private void CollectPrerequisitesRecursive(IQuestInfo questInfo, List prerequisites, HashSet visited) { - int num = ((!visited.Contains(questInfo.QuestId)) ? 941451724 : 941451726); - IQuestInfo questInfo3 = default(IQuestInfo); - PreviousQuestInfo current2 = default(PreviousQuestInfo); - PreviousQuestInfo current = default(PreviousQuestInfo); - IQuestInfo questInfo2 = default(IQuestInfo); - while (true) + if (visited.Contains(questInfo.QuestId)) { - int num2 = num; - int num3 = 941451727; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return; + } + visited.Add(questInfo.QuestId); + if (questInfo.PreviousQuests.Count <= 0) + { + return; + } + if (questInfo.PreviousQuestJoin == EQuestJoin.All) + { + foreach (PreviousQuestInfo previousQuest in questInfo.PreviousQuests) { - case 0: - num = 941451726; - break; - case 2: - { - if (questInfo.PreviousQuestJoin == EQuestJoin.All) + if (_questData.TryGetQuestInfo(previousQuest.QuestId, out IQuestInfo questInfo2)) { - num = 941451723; - break; - } - if (questInfo.PreviousQuestJoin != EQuestJoin.AtLeastOne) - { - return; - } - using ImmutableList.Enumerator enumerator = questInfo.PreviousQuests.GetEnumerator(); - num = -1667593406; - while (true) - { - int num6 = num; - num3 = -1667593405; - num4 = num6; - int num7 = num4 + num3; - int num8 = num4 & num3; - switch (num7 - (num8 + num8)) + CollectPrerequisitesRecursive(questInfo2, prerequisites, visited); + if (!prerequisites.Contains(previousQuest.QuestId)) { - case 6: - CollectPrerequisitesRecursive(questInfo3, prerequisites, visited); - num = (prerequisites.Contains(current2.QuestId) ? (-1667593405) : (-1667593401)); - break; - case 1: - num = (enumerator.MoveNext() ? (-1667593407) : (-1667593405)); - break; - case 2: - current2 = enumerator.Current; - num = (_questFunctions.IsQuestComplete(current2.QuestId) ? (-1667593406) : (-1667593402)); - break; - case 3: - num = -1667593406; - break; - case 4: - prerequisites.Add(current2.QuestId); - return; - case 5: - num = ((!_questData.TryGetQuestInfo(current2.QuestId, out questInfo3)) ? (-1667593405) : (-1667593403)); - break; - case 0: - return; + prerequisites.Add(previousQuest.QuestId); } } } - case 1: - return; - case 3: - visited.Add(questInfo.QuestId); - if (questInfo.PreviousQuests.Count > 0) - { - num = 941451725; - break; - } - return; - case 4: + return; + } + if (questInfo.PreviousQuestJoin != EQuestJoin.AtLeastOne) + { + return; + } + foreach (PreviousQuestInfo previousQuest2 in questInfo.PreviousQuests) + { + if (_questFunctions.IsQuestComplete(previousQuest2.QuestId)) { - using ImmutableList.Enumerator enumerator = questInfo.PreviousQuests.GetEnumerator(); - num = 1353867004; - while (true) + continue; + } + if (_questData.TryGetQuestInfo(previousQuest2.QuestId, out IQuestInfo questInfo3)) + { + CollectPrerequisitesRecursive(questInfo3, prerequisites, visited); + if (!prerequisites.Contains(previousQuest2.QuestId)) { - int num5 = num; - num3 = 1353867006; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - prerequisites.Add(current.QuestId); - num = 1353867004; - break; - case 4: - current = enumerator.Current; - num = ((!_questData.TryGetQuestInfo(current.QuestId, out questInfo2)) ? 1353867004 : 1353867007); - break; - case 1: - CollectPrerequisitesRecursive(questInfo2, prerequisites, visited); - num = (prerequisites.Contains(current.QuestId) ? 1353867004 : 1353867003); - break; - case 0: - num = 1353867004; - break; - case 2: - num = (enumerator.MoveNext() ? 1353867002 : 1353867005); - break; - case 3: - return; - } + prerequisites.Add(previousQuest2.QuestId); } } - } + break; } } - [MethodImpl(MethodImplOptions.NoInlining)] public void AddRequiredQuestsToPriority(IQuestInfo questInfo, List prerequisiteQuests) { int num = 0; - int num2; - using (List.Enumerator enumerator = prerequisiteQuests.GetEnumerator()) + foreach (ElementId prerequisiteQuest in prerequisiteQuests) { - num2 = 1706753795; - while (true) + if (_questController.AddQuestPriority(prerequisiteQuest)) { - int num3 = num2; - int num4 = 1706753793; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 0: - num2 = 1706753795; - break; - case 1: - { - int num8 = num; - num4 = 1; - num5 = num8; - int num9 = num5 ^ num4; - int num10 = num5 & num4; - num = num9 + (num10 + num10); - num2 = 1706753795; - break; - } - case 2: - num2 = (enumerator.MoveNext() ? 1706753794 : 1706753797); - break; - case 3: - { - ElementId current = enumerator.Current; - num2 = ((!_questController.AddQuestPriority(current)) ? 1706753795 : 1706753792); - break; - } - case 4: - goto end_IL_0015; - } - continue; - end_IL_0015: - break; + num++; } } - num2 = ((num <= 0) ? (-1189358037) : (-1189358036)); - while (true) + if (num > 0) { - int num11 = num2; - int num4 = -1189358033; - int num5 = num11; - string text2; - string text; - IChatGui chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num2 = -1189358036; - break; - case 2: - text2 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-14946342); - goto IL_01b1; - case 4: - _200D_200E_206A_206E_202D_200E_202A_202B_206A_200F_202E_202C_206B_206C_206C_202A_206D_206C_202E_206D_200C_206A_206E_200F_200D_206C_206D_202A_200B_206F_202D_202D_200C_206A_206B_202B_200F_202B_202A_200D_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1192976444), new object[1] { questInfo.Name }); - _202E_200B_200B_200F_202C_206B_206C_202C_206D_206C_202E_200C_206D_202C_206C_206C_206A_202D_206F_202C_206A_202B_200E_202C_200E_206D_200E_202C_200C_200B_200E_206E_202B_206F_206C_206B_200F_206A_206A_200E_202E(_chatGui, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1593799777), 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(1481660241), (ushort?)(ushort)576); - return; - case 1: - text2 = 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(2004137011); - goto IL_01b1; - case 3: - { - num2 = ((num == 1) ? (-1189358034) : (-1189358035)); - break; - } - IL_01b1: - text = text2; - _200F_206B_200D_206E_202B_206B_200D_206D_200B_206F_202A_202A_206A_206B_206A_200B_206C_206E_206F_202B_200B_206F_202D_202C_206C_202C_202A_200E_202A_200B_206D_206A_206E_200B_202E_200B_206D_206D_206F_202C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(681991038), new object[3] { num, text, questInfo.Name }); - chatGui = _chatGui; - defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(25, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(901909596)); - defaultInterpolatedStringHandler.AppendFormatted(num); - defaultInterpolatedStringHandler.AppendLiteral(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(-1051702537)); - defaultInterpolatedStringHandler.AppendFormatted(text); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-904513196)); - _202E_200B_200B_200F_202C_206B_206C_202C_206D_206C_202E_200C_206D_202C_206C_206C_206A_202D_206F_202C_206A_202B_200E_202C_200E_206D_200E_202C_200C_200B_200E_206E_202B_206F_206C_206B_200F_206A_206A_200E_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), 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(1481660241), (ushort?)(ushort)576); - return; - } + string text = ((num == 1) ? "quest" : "quests"); + _logger.LogInformation("Added {Count} {QuestWord} for '{QuestName}' to priority list", num, text, questInfo.Name); + _chatGui.Print($"Added {num} {text} to priority list.", "Questionable", 576); + } + else + { + _logger.LogWarning("No quests were added to priority list for '{QuestName}'", questInfo.Name); + _chatGui.Print("No quests to add (may be complete, disabled, locked with no unlock path, or already in priority).", "Questionable", 576); } } - [MethodImpl(MethodImplOptions.NoInlining)] public void AddAllAvailableQuests() { - if (_200F_206B_200B_200F_202A_202E_206A_206C_200E_202E_206A_206F_202E_206F_206F_200F_206D_206A_202D_206F_206E_200F_206B_202E_206A_200F_202B_200F_202C_200D_202B_202B_206A_206E_200E_202C_200D_206A_200C_206A_202E() >= _nextAvailableCountRefreshMs) + if (Environment.TickCount64 >= _nextAvailableCountRefreshMs) { - _nextAvailableCountRefreshMs = _200F_206B_200B_200F_202A_202E_206A_206C_200E_202E_206A_206F_202E_206F_206F_200F_206D_206A_202D_206F_206E_200F_206B_202E_206A_200F_202B_200F_202C_200D_202B_202B_206A_206E_200E_202C_200D_206A_200C_206A_202E() + 1000; + _nextAvailableCountRefreshMs = Environment.TickCount64 + 1000; try { _availableQuestCount = _questRegistry.AllQuests.Count(delegate(Quest quest) { - int num10 = ((quest?.Info == null) ? (-46476095) : (-46476092)); - QuestRoot root = default(QuestRoot); - QuestInfo questInfo = default(QuestInfo); - while (true) + if (quest?.Info != null) { - int num11 = num10; - int num12 = -46476096; - int num13 = num11; - int num14 = num13 + num12; - int num15 = num13 & num12; - switch (num14 - (num15 + num15)) + QuestRoot root = quest.Root; + if (root != null && !root.Disabled && !_questFunctions.IsQuestRemoved(quest.Id) && _questFunctions.IsReadyToAcceptQuest(quest.Id) && !_questFunctions.IsQuestComplete(quest.Id) && !_questFunctions.IsQuestAccepted(quest.Id) && !quest.Info.IsRepeatable && !(quest.Info is QuestInfo { MoogleDeliveryLevel: >0 })) { - case 8: - num10 = (_202C_202C_202D_206F_202B_200C_200B_202B_200C_202C_202C_200E_202C_200C_202B_206D_206F_200D_200D_206D_200D_206D_206D_200E_200F_200E_206A_202A_202E_200C_202A_200F_202A_200C_202D_206C_202D_200D_200D_206B_202E(root) ? (-46476095) : (-46476094)); - break; - case 5: - num10 = ((questInfo.MoogleDeliveryLevel > 0) ? (-46476095) : (-46476096)); - break; - case 9: - num10 = ((!_questFunctions.IsReadyToAcceptQuest(quest.Id)) ? (-46476095) : (-46476085)); - break; - case 2: - num10 = (_questFunctions.IsQuestRemoved(quest.Id) ? (-46476095) : (-46476087)); - break; - case 7: - num10 = (quest.Info.IsRepeatable ? (-46476095) : (-46476093)); - break; - case 4: - root = quest.Root; - num10 = ((root == null) ? (-46476095) : (-46476088)); - break; - case 11: - num10 = (_questFunctions.IsQuestComplete(quest.Id) ? (-46476095) : (-46476090)); - break; - case 10: - num10 = -46476092; - break; - case 1: - return false; - case 6: - num10 = (_questFunctions.IsQuestAccepted(quest.Id) ? (-46476095) : (-46476089)); - break; - case 3: - questInfo = quest.Info as QuestInfo; - num10 = ((questInfo == null) ? (-46476096) : (-46476091)); - break; - case 0: - return !_questController.ManualPriorityQuests.Any((Quest q) => _003C_003Ec__DisplayClass20_0._200F_200F_200B_206D_200E_206F_206B_200E_206E_206F_200D_206B_202B_202C_206B_206B_202E_206B_200D_202D_202E_200D_200B_200D_206E_200D_202B_200B_202E_200E_200B_200F_202B_206F_200F_202D_200E_202A_206F_202C_202E(q.Id, quest.Id)); + return !_questController.ManualPriorityQuests.Any((Quest q) => q.Id.Equals(quest.Id)); } } + return false; }); } catch @@ -975,205 +285,39 @@ internal sealed class QuestJournalUtils } } int availableQuestCount = _availableQuestCount; - ImRaii.DisabledDisposable disabledDisposable = _202E_202D_202A_200B_206F_200C_202D_202C_206D_200B_200C_206C_200B_202A_202C_202D_206C_200F_206C_202B_200E_202C_206B_200E_200E_200B_202B_206D_202B_206C_200B_202B_206B_206C_202C_206C_202C_202B_206B_200F_202E(availableQuestCount == 0); - int num; - try + using (ImRaii.Disabled(availableQuestCount == 0)) { - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.ListOl, _206D_200B_202B_206E_202A_202C_200D_202C_206A_202E_202B_206C_206F_202E_200B_202E_202D_200E_206D_206E_206E_206F_202E_202B_206A_202C_206C_206A_202D_202C_206A_202A_206A_202B_200D_206F_200C_200B_202D_202C_202E())) ? 1356896523 : 1356896526); - int num7 = default(int); - while (true) + if (UiThemeUtils.IconButton(FontAwesomeIcon.ListOl, ImGui.GetFrameHeight())) { - int num2 = num; - int num3 = 1356896527; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - string text; - string value; - IChatGui chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler; - switch (num5 - (num6 + num6)) - { - case 0: - text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-14946342); - goto IL_00ee; - case 2: - text = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(576325633); - goto IL_00ee; - case 3: - num = 1356896526; - break; - case 1: - num7 = _questController.AddAllAvailableQuests(); - num = ((num7 == 1) ? 1356896525 : 1356896527); - break; - case 4: - goto end_IL_0093; - IL_00ee: - value = text; - chatGui = _chatGui; - defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(26, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(901909596)); - defaultInterpolatedStringHandler.AppendFormatted(num7); - defaultInterpolatedStringHandler.AppendLiteral(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(-1051702537)); - defaultInterpolatedStringHandler.AppendFormatted(value); - defaultInterpolatedStringHandler.AppendLiteral(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(1585565384)); - _202E_200B_200B_200F_202C_206B_206C_202C_206D_206C_202E_200C_206D_202C_206C_206C_206A_202D_206F_202C_206A_202B_200E_202C_200E_206D_200E_202C_200C_200B_200E_206E_202B_206F_206C_206B_200F_206A_206A_200E_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), 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(1481660241), (ushort?)(ushort)576); - _nextAvailableCountRefreshMs = 0L; - num = 1356896523; - break; - } - continue; - end_IL_0093: - break; + int num = _questController.AddAllAvailableQuests(); + string value = ((num == 1) ? "quest" : "quests"); + _chatGui.Print($"Added {num} {value} to priority queue.", "Questionable", 576); + _nextAvailableCountRefreshMs = 0L; } } - finally + if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) { - num = ((disabledDisposable == null) ? 1785744636 : 1785744637); - while (true) + object obj2; + switch (availableQuestCount) { - int num8 = num; - int num3 = 1785744636; - int num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1785744637; - break; - case 0: - goto end_IL_01d0; - case 1: - _206D_200B_202C_200C_206B_206F_206D_200C_202D_206E_206C_202D_202E_206B_206F_206B_202A_200E_200E_200D_202D_206B_206A_202B_206E_202C_206E_202B_202D_200C_206C_202B_200E_206C_202A_206B_206D_206A_202A_206E_202E((IDisposable)disabledDisposable); - num = 1785744636; - break; - } - continue; - end_IL_01d0: - break; - } - } - num = ((!_202B_200D_202C_202C_202C_202A_200B_200E_206C_206E_202D_202A_200F_200E_200F_202B_206C_200F_206B_206B_200F_200F_200F_202A_202C_206E_202D_202B_206F_202B_206F_202C_206E_206A_206B_206B_206A_206E_206E_202C_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? (-1961186728) : (-1961186727)); - while (true) - { - int num9 = num; - int num3 = -1961186725; - int num4 = num9; - string text2; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 5: - num = -1961186727; - continue; - case 1: - _202C_202D_200B_200F_202B_206E_206D_200B_206D_200C_202B_202A_206A_206E_202B_206D_202E_202D_206B_200C_200B_200C_202B_206D_200C_202A_206A_200C_200D_202C_206C_200C_200E_202C_206F_202A_202A_202B_200E_206E_202E((ImU8String)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(1880631962)); - return; - case 4: - num = ((availableQuestCount == 1) ? (-1961186723) : (-1961186725)); - continue; - case 2: - num = ((availableQuestCount != 0) ? (-1961186721) : (-1961186726)); - continue; case 0: - text2 = 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(1391970161); - break; - case 3: + ImGui.SetTooltip("No available quests to add"); return; - case 6: - text2 = 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(2004137011); + default: + obj2 = "quests"; + break; + case 1: + obj2 = "quest"; break; } - string value2 = text2; - ImU8String imU8String = new ImU8String(27, 2); - imU8String.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(797689590)); - imU8String.AppendFormatted(availableQuestCount); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1897292361)); - imU8String.AppendFormatted(value2); - imU8String.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1829544865)); - _202C_202D_200B_200F_202B_206E_206D_200B_206D_200C_202B_202A_206A_206E_202B_206D_202E_202D_206B_200C_200B_200C_202B_206D_200C_202A_206A_200C_200D_202C_206C_200C_200E_202C_206F_202A_202A_202B_200E_206E_202E(imU8String); - num = -1961186728; + string value2 = (string)obj2; + ImU8String tooltip = new ImU8String(27, 2); + tooltip.AppendLiteral("Add "); + tooltip.AppendFormatted(availableQuestCount); + tooltip.AppendLiteral(" available "); + tooltip.AppendFormatted(value2); + tooltip.AppendLiteral(" to priority"); + ImGui.SetTooltip(tooltip); } } - - static bool _200E_202B_200D_206B_200D_200D_206E_200D_206E_200E_206A_206C_206D_202D_206E_206D_202E_202A_206D_202E_200F_202E_200C_200B_206A_200E_202B_200C_206B_200C_200D_206A_200F_200F_206E_202A_202C_200D_206C_202D_202E(ImGuiMouseButton P_0) - { - return ImGui.IsItemClicked(P_0); - } - - static void _200E_206D_202E_206F_206F_200D_202A_202B_206F_206E_200D_202D_206E_202C_206F_206B_202E_202D_202B_202B_202D_206F_206B_200D_206A_206D_206B_200C_206A_206A_200B_206C_200F_200B_200F_202D_200B_200E_206F_206C_202E(ImU8String P_0, ImGuiPopupFlags P_1) - { - ImGui.OpenPopup(P_0, P_1); - } - - static ImRaii.PopupDisposable _200F_200D_206D_200D_200C_200C_200C_206B_200B_206B_200C_200B_202A_200D_206D_206D_206F_206F_206B_200B_202C_206F_200E_206C_202E_206C_206F_202C_202E_202D_202E_206C_200F_202C_200B_206C_202D_200D_202E_206A_202E(ImU8String P_0) - { - return ImRaii.Popup(P_0); - } - - static bool _202C_202C_202D_206F_202B_200C_200B_202B_200C_202C_202C_200E_202C_200C_202B_206D_206F_200D_200D_206D_200D_206D_206D_200E_200F_200E_206A_202A_202E_200C_202A_200F_202A_200C_202D_206C_202D_200D_200D_206B_202E(QuestRoot P_0) - { - return P_0.Disabled; - } - - static ImRaii.DisabledDisposable _202E_202D_202A_200B_206F_200C_202D_202C_206D_200B_200C_206C_200B_202A_202C_202D_206C_200F_206C_202B_200E_202C_206B_200E_200E_200B_202B_206D_202B_206C_200B_202B_206B_206C_202C_206C_202C_202B_206B_200F_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static bool _202A_200B_202D_202B_202E_200B_200D_206B_202D_206C_202E_200E_200D_200C_206F_202D_206F_206D_206F_200B_202C_206F_200D_200B_206D_206C_202E_206F_200C_200E_200E_200F_200C_206D_206D_200F_206A_202E_202A_206E_202E(ImU8String P_0, bool P_1, bool P_2) - { - return ImGui.MenuItem(P_0, P_1, P_2); - } - - static void _206D_200B_202C_200C_206B_206F_206D_200C_202D_206E_206C_202D_202E_206B_206F_206B_202A_200E_200E_200D_202D_206B_206A_202B_206E_202C_206E_202B_202D_200C_206C_202B_200E_206C_202A_206B_206D_206A_202A_206E_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static bool _202B_200D_202C_202C_202C_202A_200B_200E_206C_206E_202D_202A_200F_200E_200F_202B_206C_200F_206B_206B_200F_200F_200F_202A_202C_206E_202D_202B_206F_202B_206F_202C_206E_206A_206B_206B_206A_206E_206E_202C_202E(ImGuiHoveredFlags P_0) - { - return ImGui.IsItemHovered(P_0); - } - - static void _202C_202D_200B_200F_202B_206E_206D_200B_206D_200C_202B_202A_206A_206E_202B_206D_202E_202D_206B_200C_200B_200C_202B_206D_200C_202A_206A_200C_200D_202C_206C_200C_200E_202C_206F_202A_202A_202B_200E_206E_202E(ImU8String P_0) - { - ImGui.SetTooltip(P_0); - } - - static bool _206C_202B_202D_200E_200C_206F_206A_200E_202E_202C_202D_200B_206D_200D_206F_206B_206C_202D_206D_206B_202C_200F_206E_206E_202B_200F_206D_200F_202A_202C_200E_200E_202C_202D_202A_200C_206E_206D_202A_206C_202E(string P_0, string P_1) - { - return P_0 != P_1; - } - - static ushort _202C_206D_202B_202E_206F_200C_200D_200E_202C_200D_200D_202D_206B_200F_206F_206E_200D_202B_206D_200E_206F_202C_200C_206D_206D_202C_206E_202D_202B_200F_206C_200D_200E_202E_202E_206E_206E_202A_200E_206D_202E(ElementId P_0) - { - return P_0.Value; - } - - static void _200F_206B_200D_206E_202B_206B_200D_206D_200B_206F_202A_202A_206A_206B_206A_200B_206C_206E_206F_202B_200B_206F_202D_202C_206C_202C_202A_200E_202A_200B_206D_206A_206E_200B_202E_200B_206D_206D_206F_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static void _202E_200B_200B_200F_202C_206B_206C_202C_206D_206C_202E_200C_206D_202C_206C_206C_206A_202D_206F_202C_206A_202B_200E_202C_200E_206D_200E_202C_200C_200B_200E_206E_202B_206F_206C_206B_200F_206A_206A_200E_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.Print(P_1, P_2, P_3); - } - - static void _200D_200E_206A_206E_202D_200E_202A_202B_206A_200F_202E_202C_206B_206C_206C_202A_206D_206C_202E_206D_200C_206A_206E_200F_200D_206C_206D_202A_200B_206F_202D_202D_200C_206A_206B_202B_200F_202B_202A_200D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static long _200F_206B_200B_200F_202A_202E_206A_206C_200E_202E_206A_206F_202E_206F_206F_200F_206D_206A_202D_206F_206E_200F_206B_202E_206A_200F_202B_200F_202C_200D_202B_202B_206A_206E_200E_202C_200D_206A_200C_206A_202E() - { - return Environment.TickCount64; - } - - static float _206D_200B_202B_206E_202A_202C_200D_202C_206A_202E_202B_206C_206F_202E_200B_202E_202D_200E_206D_206E_206E_206F_202E_202B_206A_202C_206C_206A_202D_202C_206A_202A_206A_202B_200D_206F_200C_200B_202D_202C_202E() - { - return ImGui.GetFrameHeight(); - } } diff --git a/Questionable/Questionable.Windows.JournalComponents/QuestMapComponent.cs b/Questionable/Questionable.Windows.JournalComponents/QuestMapComponent.cs index f739c23..798e2f4 100644 --- a/Questionable/Questionable.Windows.JournalComponents/QuestMapComponent.cs +++ b/Questionable/Questionable.Windows.JournalComponents/QuestMapComponent.cs @@ -1,10 +1,7 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Bindings.ImGui; using Dalamud.Game.Text.SeStringHandling.Payloads; using Dalamud.Interface; @@ -27,150 +24,7 @@ namespace Questionable.Windows.JournalComponents; internal sealed class QuestMapComponent { - private sealed record ZoneEntry(ushort TerritoryId, string Name, string DisplayName, string MapId) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206A_202C_202B_206A_200C_200C_200E_202A_206F_202B_200F_202E_206A_200B_202E_202A_202A_202C_206B_206D_202E_202B_206C_206F_200C_200D_206F_202D_206D_206C_206E_202E_206C_202C_206E_206A_202D_200E_206E_202B_202E(typeof(ZoneEntry).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202B_200D_200B_206F_202C_206F_206E_206B_202E_202B_200C_206F_206A_200C_202D_202D_206C_202C_202E_206E_202D_202C_202B_206E_206D_200F_206A_200D_200D_206E_202E_202B_200C_206A_206F_200F_202A_202B_200E_206D_202E(); - _206E_202B_206A_206D_206E_202B_202B_206A_202D_200C_206F_202C_202E_202B_200E_206F_202A_200C_206E_200B_206B_200C_206E_202B_206E_202E_206C_206E_206C_206E_206F_206B_200C_200B_206D_200B_202B_200B_206A_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-234805683)); - _206E_202B_206A_206D_206E_202B_202B_206A_202D_200C_206F_202C_202E_202B_200E_206F_202A_200C_206E_200B_206B_200C_206E_202B_206E_202E_206C_206E_206C_206E_206F_206B_200C_200B_206D_200B_202B_200B_206A_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1344697862)); - int num = ((!PrintMembers(stringBuilder)) ? (-355734154) : (-355734155)); - while (true) - { - int num2 = num; - int num3 = -355734153; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - _200C_206A_202D_202C_200F_200E_206C_200C_206D_202D_202B_200B_202B_202E_206A_200D_206F_200F_200B_206B_206B_200D_202D_206C_202A_206A_206F_206B_206C_202A_200F_202C_202E_200F_200E_206A_202A_206B_206B_206D_202E(stringBuilder, '}'); - return _206D_202A_206F_206E_206F_206F_206F_206C_206B_202E_202E_202B_202D_206A_202B_200F_206F_206B_202A_200E_200E_202D_200D_200C_202E_206A_206D_200B_202D_202D_200F_206D_206F_202A_200F_200D_206C_202B_206D_200E_202E((object)stringBuilder); - case 2: - _200C_206A_202D_202C_200F_200E_206C_200C_206D_202D_202B_200B_202B_202E_206A_200D_206F_200F_200B_206B_206B_200D_202D_206C_202A_206A_206F_206B_206C_202A_200F_202C_202E_200F_200E_206A_202A_206B_206B_206D_202E(stringBuilder, ' '); - num = -355734154; - break; - case 0: - num = -355734155; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200F_206D_202E_200D_202C_200D_206C_202B_200C_200B_206E_200D_202B_202B_200B_200D_206D_206D_206B_200D_200D_200F_200F_202A_206B_200F_202D_202A_202A_200C_206E_206C_206D_200D_202D_200F_202C_206C_202A_202D_202E(); - _206E_202B_206A_206D_206E_202B_202B_206A_202D_200C_206F_202C_202E_202B_200E_206F_202A_200C_206E_200B_206B_200C_206E_202B_206E_202E_206C_206E_206C_206E_206F_206B_200C_200B_206D_200B_202B_200B_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1030915870)); - _206E_202B_206A_206D_206E_202B_202B_206A_202D_200C_206F_202C_202E_202B_200E_206F_202A_200C_206E_200B_206B_200C_206E_202B_206E_202E_206C_206E_206C_206E_206F_206B_200C_200B_206D_200B_202B_200B_206A_202E(builder, TerritoryId.ToString()); - _206E_202B_206A_206D_206E_202B_202B_206A_202D_200C_206F_202C_202E_202B_200E_206F_202A_200C_206E_200B_206B_200C_206E_202B_206E_202E_206C_206E_206C_206E_206F_206B_200C_200B_206D_200B_202B_200B_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-844129380)); - _206A_206D_206B_200C_200C_206D_206A_202B_202E_202A_206E_200C_202C_206B_206A_206E_206B_206F_206D_202D_200C_202D_206D_206F_206E_202C_200C_200F_202D_206F_200D_206B_206A_206C_200F_202A_200D_200C_200D_206B_202E(builder, (object)Name); - _206E_202B_206A_206D_206E_202B_202B_206A_202D_200C_206F_202C_202E_202B_200E_206F_202A_200C_206E_200B_206B_200C_206E_202B_206E_202E_206C_206E_206C_206E_206F_206B_200C_200B_206D_200B_202B_200B_206A_202E(builder, 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(572946355)); - _206A_206D_206B_200C_200C_206D_206A_202B_202E_202A_206E_200C_202C_206B_206A_206E_206B_206F_206D_202D_200C_202D_206D_206F_206E_202C_200C_200F_202D_206F_200D_206B_206A_206C_200F_202A_200D_200C_200D_206B_202E(builder, (object)DisplayName); - _206E_202B_206A_206D_206E_202B_202B_206A_202D_200C_206F_202C_202E_202B_200E_206F_202A_200C_206E_200B_206B_200C_206E_202B_206E_202E_206C_206E_206C_206E_206F_206B_200C_200B_206D_200B_202B_200B_206A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(6225535)); - _206A_206D_206B_200C_200C_206D_206A_202B_202E_202A_206E_200C_202C_206B_206A_206E_206B_206F_206D_202D_200C_202D_206D_206F_206E_202C_200C_200F_202D_206F_200D_206B_206A_206C_200F_202A_200D_200C_200D_206B_202E(builder, (object)MapId); - return true; - } - - [CompilerGenerated] - public bool Equals(ZoneEntry? other) - { - int num = (((object)this == other) ? 1236100265 : 1236100263); - while (true) - { - int num2 = num; - int num3 = 1236100271; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = 1236100263; - break; - case 5: - num = ((!EqualityComparer.Default.Equals(DisplayName, other.DisplayName)) ? 1236100268 : 1236100269); - break; - case 8: - num = (((object)other == null) ? 1236100268 : 1236100270); - break; - case 3: - return false; - case 7: - num = ((!EqualityComparer.Default.Equals(Name, other.Name)) ? 1236100268 : 1236100266); - break; - case 1: - num = ((!_202A_202E_206C_206B_202E_200F_206A_206C_202A_202B_200E_202C_206E_206C_200C_200C_200B_206E_206E_202B_200B_200F_200F_200D_206B_200E_200E_202C_200E_200E_200E_202A_202A_202C_200D_200E_206E_200D_202D_206C_202E(EqualityContract, other.EqualityContract)) ? 1236100268 : 1236100271); - break; - case 2: - return EqualityComparer.Default.Equals(MapId, other.MapId); - case 6: - return true; - case 0: - num = ((!EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId)) ? 1236100268 : 1236100264); - break; - } - } - } - - bool IEquatable.Equals(ZoneEntry? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206A_202C_202B_206A_200C_200C_200E_202A_206F_202B_200F_202E_206A_200B_202E_202A_202A_202C_206B_206D_202E_202B_206C_206F_200C_200D_206F_202D_206D_206C_206E_202E_206C_202C_206E_206A_202D_200E_206E_202B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202B_200D_200B_206F_202C_206F_206E_206B_202E_202B_200C_206F_206A_200C_202D_202D_206C_202C_202E_206E_202D_202C_202B_206E_206D_200F_206A_200D_200D_206E_202E_202B_200C_206A_206F_200F_202A_202B_200E_206D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206E_202B_206A_206D_206E_202B_202B_206A_202D_200C_206F_202C_202E_202B_200E_206F_202A_200C_206E_200B_206B_200C_206E_202B_206E_202E_206C_206E_206C_206E_206F_206B_200C_200B_206D_200B_202B_200B_206A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200C_206A_202D_202C_200F_200E_206C_200C_206D_202D_202B_200B_202B_202E_206A_200D_206F_200F_200B_206B_206B_200D_202D_206C_202A_206A_206F_206B_206C_202A_200F_202C_202E_200F_200E_206A_202A_206B_206B_206D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206D_202A_206F_206E_206F_206F_206F_206C_206B_202E_202E_202B_202D_206A_202B_200F_206F_206B_202A_200E_200E_202D_200D_200C_202E_206A_206D_200B_202D_202D_200F_206D_206F_202A_200F_200D_206C_202B_206D_200E_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200F_206D_202E_200D_202C_200D_206C_202B_200C_200B_206E_200D_202B_202B_200B_200D_206D_206D_206B_200D_200D_200F_200F_202A_206B_200F_202D_202A_202A_200C_206E_206C_206D_200D_202D_200F_202C_206C_202A_202D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206A_206D_206B_200C_200C_206D_206A_202B_202E_202A_206E_200C_202C_206B_206A_206E_206B_206F_206D_202D_200C_202D_206D_206F_206E_202C_200C_200F_202D_206F_200D_206B_206A_206C_200F_202A_200D_200C_200D_206B_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202A_202E_206C_206B_202E_200F_206A_206C_202A_202B_200E_202C_206E_206C_200C_200C_200B_206E_206E_202B_200B_200F_200F_200D_206B_200E_200E_202C_200E_200E_200E_202A_202A_202C_200D_200E_206E_200D_202D_206C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } + private sealed record ZoneEntry(ushort TerritoryId, string Name, string DisplayName, string MapId); private sealed class QuestMarker { @@ -198,77 +52,6 @@ internal sealed class QuestMapComponent } } - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass56_0 - { - public QuestMapComponent _003C_003E4__this; - - public Dictionary territoryQuests; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal ZoneEntry _003CRebuildZoneList_003Eb__1(ushort id) - { - string name = _003C_003E4__this._territoryData.GetName(id); - string mapIdForTerritory = _003C_003E4__this.GetMapIdForTerritory(id); - int num = territoryQuests[id]; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(8, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(-1509869170)); - defaultInterpolatedStringHandler.AppendFormatted(num); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(362456123)); - defaultInterpolatedStringHandler.AppendFormatted((num != 1) ? global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1550583417) : global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1281927779)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - string text = defaultInterpolatedStringHandler.ToStringAndClear(); - int num2 = ((name != null) ? 1994970144 : 1994970147); - string text2; - while (true) - { - int num3 = num2; - int num4 = 1994970145; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - default: - continue; - case 0: - goto IL_00eb; - case 1: - text2 = _200E_202E_206F_202A_200E_202C_202B_200C_202E_200B_202D_200D_206F_202B_206F_206F_200F_202C_202A_202E_200C_206E_206C_200B_206C_206A_206E_206B_202C_200E_200E_202A_200F_206E_200F_202B_206F_200C_202D_202E(name, 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(2018550958), text); - break; - case 2: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(6, 2); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-950100909)); - defaultInterpolatedStringHandler2.AppendFormatted(id); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(751790982)); - defaultInterpolatedStringHandler2.AppendFormatted(text); - text2 = defaultInterpolatedStringHandler2.ToStringAndClear(); - break; - } - } - break; - IL_00eb: - num2 = 1994970147; - } - string displayName = text2; - string text3 = name; - if (text3 == null) - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(5, 1); - defaultInterpolatedStringHandler3.AppendLiteral(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(1749272606)); - defaultInterpolatedStringHandler3.AppendFormatted(id); - text3 = defaultInterpolatedStringHandler3.ToStringAndClear(); - } - return new ZoneEntry(id, text3, displayName, mapIdForTerritory); - } - - static string _200E_202E_206F_202A_200E_202C_202B_200C_202E_200B_202D_200D_206F_202B_206F_206F_200F_202C_202A_202E_200C_206E_206C_200B_206C_206A_206E_206B_202C_200E_200E_202A_200F_206E_200F_202B_206F_200C_202D_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - } - private const float MapTextureSize = 2048f; private const float MarkerRadius = 6f; @@ -317,14 +100,7 @@ internal sealed class QuestMapComponent private bool _showUnobtainable; - private readonly string[] _statusFilterNames = new string[5] - { - 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(-20470898), - 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(-642419134), - 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(1953363253), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(718683105), - global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1267300956) - }; + private readonly string[] _statusFilterNames = new string[5] { "All", "Available", "Active", "Complete", "Locked" }; private List _zones = new List(); @@ -352,10 +128,9 @@ internal sealed class QuestMapComponent public QuestJournalUtils? QuestJournalUtils { get; set; } - [MethodImpl(MethodImplOptions.NoInlining)] public QuestMapComponent(ITextureProvider textureProvider, IDataManager dataManager, QuestRegistry questRegistry, QuestData questData, UiUtils uiUtils, TerritoryData territoryData, QuestFunctions questFunctions, QuestTooltipComponent questTooltipComponent, IGameGui gameGui, IClientState clientState, ILoggerFactory loggerFactory) { - _mapService = _202C_206A_200F_200F_206D_206D_206A_202A_202E_206F_206B_202D_206E_206E_206B_206F_200E_206B_206A_206B_206C_206C_206F_200B_202A_202B_202E_206D_202C_206F_200E_206D_202B_202B_200B_202C_206B_200F_202D_206B_202E(textureProvider, dataManager, loggerFactory.CreateLogger()); + _mapService = new MapTextureService(textureProvider, dataManager, loggerFactory.CreateLogger()); _dataManager = dataManager; _questRegistry = questRegistry; _questData = questData; @@ -367,857 +142,385 @@ internal sealed class QuestMapComponent _clientState = clientState; } - [MethodImpl(MethodImplOptions.NoInlining)] public void DrawQuestMap() { - int num = ((!_needsRebuild) ? (-455274411) : (-455274409)); - while (true) + if (_needsRebuild) { - int num2 = num; - int num3 = -455274412; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - { - ZoneEntry zone = _zones[_selectedZoneIndex]; - DrawMapCanvas(zone); - return; - } - case 1: - DrawFilters(); - _206C_200C_200B_200E_206C_206C_202C_206B_200E_206D_206F_206F_206F_200C_200F_200F_200B_200E_202C_206C_202D_206B_206B_206A_206C_200D_200B_206C_200D_200D_202A_200D_206E_206A_206F_202A_206E_200C_200B_206D_202E(); - num = ((_zones.Count != 0) ? (-455274410) : (-455274416)); - break; - case 4: - UiThemeUtils.EmptyState(FontAwesomeIcon.Map, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1249481567)); - return; - case 3: - RebuildZoneList(); - _needsRebuild = false; - num = -455274411; - break; - case 0: - num = -455274409; - break; - } + RebuildZoneList(); + _needsRebuild = false; } + DrawFilters(); + ImGui.Separator(); + if (_zones.Count == 0) + { + UiThemeUtils.EmptyState(FontAwesomeIcon.Map, "No quest zones available."); + return; + } + ZoneEntry zone = _zones[_selectedZoneIndex]; + DrawMapCanvas(zone); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawFilters() { - ImGuiStylePtr imGuiStylePtr = _206E_202C_202C_200C_206B_202E_200C_200E_206D_202B_200C_206F_200F_202C_206E_206E_202E_206A_200F_200D_206D_206C_206E_200C_202D_202A_200D_202E_206C_206F_200D_202B_202D_206E_202B_202C_200C_206C_206D_200C_202E(); - float num = 100f * _206A_206E_202C_200C_206E_206F_206A_200E_200F_206E_202B_202C_202B_202C_200D_202D_206A_202B_200B_200C_200C_206B_206F_206B_206E_206B_202C_200D_206D_200E_202D_202D_200D_202E_202B_206A_202A_206D_200B_206C_202E().FontGlobalScale; - float num2 = _202E_206F_202A_202D_206F_202D_200E_200B_202A_202B_206B_206A_206E_206F_200B_206B_200C_206C_200D_206A_206F_206C_202E_206F_206A_200E_206A_206E_202A_200C_206F_206D_202E_206C_202E_206F_200D_200F_206F_202B_202E((ImU8String)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(59823971), false, -1f).X + imGuiStylePtr.FramePadding.X * 2f; - float num3 = _202C_200D_202B_200D_206C_206D_202E_206E_200B_206F_206A_206A_206A_200E_200B_200D_200F_200E_206B_206D_200C_206D_202E_202A_206D_200D_202A_206C_202E_202D_200F_206E_200F_200C_206C_200B_206D_206F_206F_200E_202E() + imGuiStylePtr.ItemInnerSpacing.X + _202E_206F_202A_202D_206F_202D_200E_200B_202A_202B_206B_206A_206E_206F_200B_206B_200C_206C_200D_206A_206F_206C_202E_206F_206A_200E_206A_206E_202A_200C_206F_206D_202E_206C_202E_206F_200D_200F_206F_202B_202E((ImU8String)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(1722794526), false, -1f).X; - float num4 = num + num2 + num3 + imGuiStylePtr.ItemSpacing.X * 4f; - int num5 = ((_zones.Count <= 0) ? (-1339818219) : (-1339818224)); - int num11 = default(int); - while (true) + ImGuiStylePtr style = ImGui.GetStyle(); + float num = 100f * ImGui.GetIO().FontGlobalScale; + float num2 = ImGui.CalcTextSize("My Zone").X + style.FramePadding.X * 2f; + float num3 = ImGui.GetFrameHeight() + style.ItemInnerSpacing.X + ImGui.CalcTextSize("Unobtainable").X; + float num4 = num + num2 + num3 + style.ItemSpacing.X * 4f; + string previewOverride = ((_zones.Count > 0 && _selectedZoneIndex < _zones.Count) ? _zones[_selectedZoneIndex].DisplayName : "No zones"); + if (UiThemeUtils.SearchableCombo("##Zone", ref _selectedZoneIndex, _zoneItems, ref _zoneSearchText, 0f - num4, previewOverride)) { - int num6 = num5; - int num7 = -1339818215; - int num8 = num6; - int num9 = num8 + num7; - int num10 = num8 & num7; - string text; - string previewOverride; - switch (num9 - (num10 + num10)) + OnZoneChanged(); + } + ImGui.SameLine(); + ImGui.SetNextItemWidth(100f * ImGui.GetIO().FontGlobalScale); + if (UiThemeUtils.ThemedCombo("##Status", ref _selectedStatusFilter, _statusFilterNames, _statusFilterNames.Length)) + { + RebuildMarkers(); + } + ImGui.SameLine(); + if (UiThemeUtils.PillButton("My Zone", selected: false)) + { + uint currentTerritory = _clientState.TerritoryType; + int num5 = _zones.FindIndex((ZoneEntry z) => z.TerritoryId == currentTerritory); + if (num5 >= 0) { - case 5: - { - uint currentTerritory = _200C_202E_202D_206C_200D_200D_200D_202E_206F_200D_200D_200E_200E_202D_200B_200C_206B_202E_206D_202B_202D_200C_202E_206A_202E_200F_200F_206B_206D_202D_202B_202D_206D_206A_200E_202A_200C_202E_200C_200E_202E(_clientState); - num11 = _zones.FindIndex((ZoneEntry z) => z.TerritoryId == currentTerritory); - num5 = ((num11 < 0) ? (-1339818211) : (-1339818214)); - break; - } - case 10: - _200C_202D_206C_200F_200C_202D_202A_206B_200F_200B_206E_202D_200F_200C_200E_200F_200E_200E_206D_200E_206D_200D_202A_206E_206F_206B_200F_200F_200C_200B_202A_206F_200C_202C_206F_206D_200C_206F_200C_202D_202E((ImU8String)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(760859895)); - num5 = -1339818215; - break; - case 6: - return; - case 2: - _202C_206D_200E_206C_206D_206C_200E_200F_202D_206D_200D_206D_200E_202B_200B_206B_202D_206C_206E_202B_206D_206E_202C_202B_206E_206D_200B_202D_202D_200D_200C_206A_202B_202E_200B_200D_202E_200B_206D_200F_202E(); - _206F_202D_206D_200B_202B_206C_202D_200D_202C_200F_200C_202A_206C_206B_202E_200B_202C_202E_206D_206F_206B_206F_202E_200E_206D_202C_200E_206D_200D_206B_202D_206E_206A_206D_206F_206A_200C_206B_202B_206A_202E(100f * _206A_206E_202C_200C_206E_206F_206A_200E_200F_206E_202B_202C_202B_202C_200D_202D_206A_202B_200B_200C_200C_206B_206F_206B_206E_206B_202C_200D_206D_200E_202D_202D_200D_202E_202B_206A_202A_206D_200B_206C_202E().FontGlobalScale); - num5 = ((!UiThemeUtils.ThemedCombo(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(-1397940235), ref _selectedStatusFilter, _statusFilterNames, _statusFilterNames.Length)) ? (-1339818220) : (-1339818222)); - break; - case 0: - _202C_206D_200E_206C_206D_206C_200E_200F_202D_206D_200D_206D_200E_202B_200B_206B_202D_206C_206E_202B_206D_206E_202C_202B_206E_206D_200B_202D_202D_200D_200C_206A_202B_202E_200B_200D_202E_200B_206D_200F_202E(); - num5 = ((!UiThemeUtils.WrappedCheckbox(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(576385889), ref _showUnobtainable)) ? (-1339818209) : (-1339818216)); - break; - case 12: - text = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1811265581); - goto IL_026e; - case 14: + _selectedZoneIndex = num5; OnZoneChanged(); - num5 = -1339818213; - break; - case 7: - text = _zones[_selectedZoneIndex].DisplayName; - goto IL_026e; - case 13: - _202C_206D_200E_206C_206D_206C_200E_200F_202D_206D_200D_206D_200E_202B_200B_206B_202D_206C_206E_202B_206D_206E_202C_202B_206E_206D_200B_202D_202D_200D_200C_206A_202B_202E_200B_200D_202E_200B_206D_200F_202E(); - num5 = ((!UiThemeUtils.PillButton(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-636136137), selected: false)) ? (-1339818211) : (-1339818212)); - break; - case 9: - num5 = ((_selectedZoneIndex < _zones.Count) ? (-1339818210) : (-1339818219)); - break; - case 4: - num5 = ((!_206D_200F_202C_206D_206E_202D_202D_200C_200E_202B_200B_206B_206B_206F_200E_206C_206E_200E_202A_200D_202D_200C_200E_202E_206F_206E_206B_202E_200F_202B_202D_206C_206E_202B_206C_200B_202A_200E_206A_202C_202E()) ? (-1339818215) : (-1339818221)); - break; - case 11: - RebuildMarkers(); - num5 = -1339818220; - break; - case 3: - _selectedZoneIndex = num11; - OnZoneChanged(); - num5 = -1339818211; - break; - case 8: - num5 = -1339818224; - break; - case 1: - { - RebuildMarkers(); - num5 = -1339818209; - break; - } - IL_026e: - previewOverride = text; - num5 = ((!UiThemeUtils.SearchableCombo(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(670206483), ref _selectedZoneIndex, _zoneItems, ref _zoneSearchText, 0f - num4, previewOverride)) ? (-1339818213) : (-1339818217)); - break; } } + if (ImGui.IsItemHovered()) + { + ImGui.SetTooltip("Jump to your current zone"); + } + ImGui.SameLine(); + if (UiThemeUtils.WrappedCheckbox("Unobtainable", ref _showUnobtainable)) + { + RebuildMarkers(); + } } - [MethodImpl(MethodImplOptions.NoInlining)] private static void DrawMapLegend(ImDrawListPtr drawList, Vector2 canvasPos, float canvasWidth) { (Vector4, string)[] array = new(Vector4, string)[4] { - (UiThemeUtils.StatusAvailable, 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(-642419134)), - (UiThemeUtils.StatusComplete, 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(-636720262)), - (UiThemeUtils.StatusLocked, 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(773096941)), - (UiThemeUtils.StatusUnobtainable, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1343348633)) + (UiThemeUtils.StatusAvailable, "Available"), + (UiThemeUtils.StatusComplete, "Complete"), + (UiThemeUtils.StatusLocked, "Locked"), + (UiThemeUtils.StatusUnobtainable, "Unobtainable") }; float num = 0f; (Vector4, string)[] array2 = array; - int num2 = 0; - int num3 = 1199359599; - float num10 = default(float); - float num11 = default(float); - float num12 = default(float); - while (true) + for (int i = 0; i < array2.Length; i++) { - int num4 = num3; - int num5 = 1199359597; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) - { - case 0: - return; - case 3: - { - (Vector4, string) tuple = array2[num2]; - Vector4 item = tuple.Item1; - string item2 = tuple.Item2; - float y = num10 + num11 * 0.5f; - drawList.AddCircleFilled(new Vector2(num12 + 4f, y), 4f, _202B_200E_202D_206A_206A_202D_202D_202D_202C_200F_200C_206E_206B_206B_200B_206F_206C_202D_202E_200C_202D_200F_206A_206B_206A_206B_200B_206E_200C_206C_202C_202A_200B_202D_200F_200B_202D_206E_206E_202A_202E(item), 12); - num12 += 14f; - drawList.AddText(new Vector2(num12, num10), _202B_200E_202D_206A_206A_202D_202D_202D_202C_200F_200C_206E_206B_206B_200B_206F_206C_202D_202E_200C_202D_200F_206A_206B_206A_206B_200B_206E_200C_206C_202C_202A_200B_202D_200F_200B_202D_206E_206E_202A_202E(UiThemeUtils.DimTextColor), item2); - num12 += _202E_206F_202A_202D_206F_202D_200E_200B_202A_202B_206B_206A_206E_206F_200B_206B_200C_206C_200D_206A_206F_206C_202E_206F_206A_200E_206A_206E_202A_200C_206F_206D_202E_206C_202E_206F_200D_200F_206F_202B_202E((ImU8String)item2, false, -1f).X + 14f; - int num13 = num2; - num5 = 1; - num6 = num13; - int num14 = num6 ^ num5; - int num15 = num6 & num5; - num2 = num14 + (num15 + num15); - num3 = 1199359593; - break; - } - case 5: - { - num -= 14f; - float num9 = canvasPos.X + canvasWidth - num - 8f; - num10 = canvasPos.Y + 8f; - num11 = _206D_206A_200F_206D_200C_206E_206C_200C_206F_200B_202D_200D_202B_200B_202E_200E_206C_206F_206E_202E_200F_202B_206D_200F_200D_200E_202C_200F_200C_206F_206E_200C_206A_200C_206E_200E_200F_202D_202E_206A_202E(); - Vector2 pMin = new Vector2(num9 - 8f, num10 - 2f); - Vector2 pMax = new Vector2(canvasPos.X + canvasWidth, num10 + num11 + 2f); - Vector4 playButtonText = UiThemeUtils.PlayButtonText; - playButtonText.W = 0.75f; - drawList.AddRectFilled(pMin, pMax, _202B_200E_202D_206A_206A_202D_202D_202D_202C_200F_200C_206E_206B_206B_200B_206F_206C_202D_202E_200C_202D_200F_206A_206B_206A_206B_200B_206E_200C_206C_202C_202A_200B_202D_200F_200B_202D_206E_206E_202A_202E(playButtonText), 3f); - num12 = num9; - array2 = array; - num2 = 0; - num3 = 1199359593; - break; - } - case 4: - num3 = ((num2 < array2.Length) ? 1199359598 : 1199359597); - break; - case 1: - { - string item3 = array2[num2].Item2; - num += 14f + _202E_206F_202A_202D_206F_202D_200E_200B_202A_202B_206B_206A_206E_206F_200B_206B_200C_206C_200D_206A_206F_206C_202E_206F_206A_200E_206A_206E_202A_200C_206F_206D_202E_206C_202E_206F_200D_200F_206F_202B_202E((ImU8String)item3, false, -1f).X + 14f; - int num16 = num2; - num5 = 1; - num6 = num16; - num2 = (num6 | num5) + (num6 & num5); - num3 = 1199359599; - break; - } - case 2: - num3 = ((num2 < array2.Length) ? 1199359596 : 1199359592); - break; - case 6: - num3 = 1199359599; - break; - } + string item = array2[i].Item2; + num += 14f + ImGui.CalcTextSize(item).X + 14f; + } + num -= 14f; + float num2 = canvasPos.X + canvasWidth - num - 8f; + float num3 = canvasPos.Y + 8f; + float textLineHeight = ImGui.GetTextLineHeight(); + Vector2 pMin = new Vector2(num2 - 8f, num3 - 2f); + Vector2 pMax = new Vector2(canvasPos.X + canvasWidth, num3 + textLineHeight + 2f); + Vector4 playButtonText = UiThemeUtils.PlayButtonText; + playButtonText.W = 0.75f; + drawList.AddRectFilled(pMin, pMax, ImGui.ColorConvertFloat4ToU32(playButtonText), 3f); + float num4 = num2; + array2 = array; + for (int i = 0; i < array2.Length; i++) + { + (Vector4, string) tuple = array2[i]; + Vector4 item2 = tuple.Item1; + string item3 = tuple.Item2; + float y = num3 + textLineHeight * 0.5f; + drawList.AddCircleFilled(new Vector2(num4 + 4f, y), 4f, ImGui.ColorConvertFloat4ToU32(item2), 12); + num4 += 14f; + drawList.AddText(new Vector2(num4, num3), ImGui.ColorConvertFloat4ToU32(UiThemeUtils.DimTextColor), item3); + num4 += ImGui.CalcTextSize(item3).X + 14f; } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawMapCanvas(ZoneEntry zone) { - //Discarded unreachable code: IL_0dfb - long num = _200C_200B_202A_202B_202A_206D_206D_206A_200D_200C_200B_206A_202A_206C_206B_206B_200F_202B_206E_202D_206E_202C_202A_206A_202E_206D_206E_200B_200C_200E_200C_202D_200E_202E_206C_200B_206F_206F_206A_206B_202E(); - long lastStyleRefresh = _lastStyleRefresh; - long num2 = num; - int num3 = ((~(~num2 + lastStyleRefresh) <= 3000) ? 277732529 : 277732528); - Vector2 vector3 = default(Vector2); - Vector2 vector2 = default(Vector2); - bool flag = default(bool); - ImDrawListPtr drawList = default(ImDrawListPtr); - Vector2 vector5 = default(Vector2); - IDalamudTextureWrap dalamudTextureWrap = default(IDalamudTextureWrap); - QuestMarker current = default(QuestMarker); - Vector2 vector6 = default(Vector2); - Vector2 center = default(Vector2); - bool flag4 = default(bool); - bool flag3 = default(bool); - Vector2 vector7 = default(Vector2); - bool flag2 = default(bool); - uint col3 = default(uint); - float num19 = default(float); - float num20 = default(float); - string text4 = default(string); - float num21 = default(float); - Vector2 pMin3 = default(Vector2); - Vector2 pMax3 = default(Vector2); - Vector2 pMax4 = default(Vector2); - Vector2 pMin4 = default(Vector2); - string text5 = default(string); - bool flag5 = default(bool); - IQuestInfo questInfo = default(IQuestInfo); - IQuestInfo questInfo2 = default(IQuestInfo); - while (true) + long tickCount = Environment.TickCount64; + if (tickCount - _lastStyleRefresh > 3000) { - int num4 = num3; - int num5 = 277732535; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - string text7; - string text6; - Vector2 pos2; - switch (num7 - (num8 + num8)) + _lastStyleRefresh = tickCount; + RefreshMarkerStyles(); + } + Vector2 contentRegionAvail = ImGui.GetContentRegionAvail(); + Vector2 vector = new Vector2(contentRegionAvail.X, MathF.Max(contentRegionAvail.Y, 100f)); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + ImGui.InvisibleButton("##mapCanvas", vector); + bool flag = ImGui.IsItemHovered(); + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 vector2 = cursorScreenPos + vector; + windowDrawList.AddRectFilled(cursorScreenPos, vector2, ImGui.ColorConvertFloat4ToU32(UiThemeUtils.PlayButtonText)); + windowDrawList.PushClipRect(cursorScreenPos, vector2, intersectWithCurrentClipRect: true); + HandlePanZoom(cursorScreenPos, vector, flag); + if (_centerOnMarker && _selectedMarker != null) + { + _centerOnMarker = false; + _zoom = 1f; + Vector2 vector3 = (_selectedMarker.MapPixelPos - new Vector2(1024f)) * _zoom; + _offset = -vector3; + } + _mapService.LoadForTerritory(zone.TerritoryId); + IDalamudTextureWrap textureWrap = _mapService.GetTextureWrap(); + if (textureWrap != null) + { + Vector2 vector4 = new Vector2(2048f * _zoom, 2048f * _zoom); + Vector2 vector5 = cursorScreenPos + _offset + vector * 0.5f - vector4 * 0.5f; + windowDrawList.AddImage(textureWrap.Handle, vector5, vector5 + vector4); + } + else + { + string text = (_mapService.IsSearching ? "Loading map..." : "Map not available for this zone."); + Vector2 pos = cursorScreenPos + vector * 0.5f - ImGui.CalcTextSize(text) * 0.5f; + windowDrawList.AddText(pos, ImGui.ColorConvertFloat4ToU32(UiThemeUtils.DimTextColor), text); + } + Vector2 vector6 = ScreenToMapPixel(cursorScreenPos, cursorScreenPos, vector); + Vector2 vector7 = ScreenToMapPixel(vector2, cursorScreenPos, vector); + float num = 12f; + QuestMarker questMarker = null; + foreach (QuestMarker currentMarker in _currentMarkers) + { + if (!(currentMarker.MapPixelPos.X < vector6.X - num) && !(currentMarker.MapPixelPos.X > vector7.X + num) && !(currentMarker.MapPixelPos.Y < vector6.Y - num) && !(currentMarker.MapPixelPos.Y > vector7.Y + num)) { - case 6: - { - Vector2 vector15 = _206B_202C_200B_200F_206D_206B_200F_202B_206F_206B_206A_202A_206A_206F_200F_200B_202D_202D_206E_200B_202B_200D_206A_200D_202D_202E_202E_200F_206B_200D_200C_202A_206C_200E_206E_206A_202C_206C_206B_202B_202E(); - vector3 = new Vector2(vector15.X, _206C_206B_206B_202E_206D_200F_206E_200C_206C_200B_206C_206D_206D_200E_206E_202B_206B_202B_206F_200D_200F_200C_202C_200C_206B_200C_206D_200D_206A_206B_206B_200F_202B_202E_206C_206D_202A_202E_202A_202B_202E(vector15.Y, 100f)); - vector2 = _202A_206A_202D_202C_200C_200F_206B_200E_206D_202A_206B_206B_202B_206D_200B_200D_206E_200F_200B_202D_202E_202C_200E_206A_200F_200E_200B_202C_206A_206F_202C_200D_206C_206D_206B_200D_206E_202B_206C_202A_202E(); - _206D_206B_202D_202C_206C_206D_202D_206E_200F_200C_202A_200F_202C_202B_202A_200D_200F_202A_200C_206E_206D_202A_206E_206C_200C_200E_202A_202B_206F_202A_202C_206A_206C_202B_206D_200F_206A_200B_202A_202E_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1235795883), vector3, ImGuiButtonFlags.None); - flag = _206D_200F_202C_206D_206E_202D_202D_200C_200E_202B_200B_206B_206B_206F_200E_206C_206E_200E_202A_200D_202D_200C_200E_202E_206F_206E_206B_202E_200F_202B_202D_206C_206E_202B_206C_200B_202A_200E_206A_202C_202E(); - drawList = _202A_200C_200F_200C_200D_200E_202D_200B_206C_200F_206C_200F_202C_200B_202B_202B_202B_202E_202C_206D_200D_200B_202B_202B_200C_206F_206D_200E_206F_200D_202C_206C_206A_206E_202E_206D_200F_206E_200F_206F_202E(); - vector5 = vector2 + vector3; - drawList.AddRectFilled(vector2, vector5, _202B_200E_202D_206A_206A_202D_202D_202D_202C_200F_200C_206E_206B_206B_200B_206F_206C_202D_202E_200C_202D_200F_206A_206B_206A_206B_200B_206E_200C_206C_202C_202A_200B_202D_200F_200B_202D_206E_206E_202A_202E(UiThemeUtils.PlayButtonText)); - drawList.PushClipRect(vector2, vector5, intersectWithCurrentClipRect: true); - HandlePanZoom(vector2, vector3, flag); - num3 = ((!_centerOnMarker) ? 277732543 : 277732533); - break; - } - case 9: - text7 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1310835118); - goto IL_0136; - case 2: - num3 = ((_selectedMarker == null) ? 277732543 : 277732532); - break; - case 10: - num3 = (_206F_206F_206F_206A_206B_206F_202D_206E_200E_202B_206D_206C_206E_200D_206A_206E_206A_200C_202A_206A_202E_202B_202C_200C_202C_206D_206F_206B_202D_206A_202A_206E_202C_206B_202D_206B_206D_200E_200F_206B_202E(_mapService) ? 277732542 : 277732531); - break; - case 0: - num3 = 277732528; - break; - case 8: - _206D_200F_202B_200B_206D_206E_202B_206D_200B_200E_206B_206D_206B_200F_206F_200C_200F_206A_206A_202A_200F_206F_202B_206E_202C_206C_202A_202E_206E_202C_206B_206D_206C_200C_202C_206F_206A_206E_200B_202E_202E(_mapService, (uint)zone.TerritoryId); - dalamudTextureWrap = _206C_200E_200D_200E_200C_200C_206D_202E_202D_206E_202D_200B_202E_206C_200E_202D_206C_206C_206F_200C_206B_202C_206C_200C_206A_202A_202E_206F_202C_206F_200B_206A_200E_202B_200E_202B_202E_206A_200E_200C_202E(_mapService); - num3 = ((dalamudTextureWrap == null) ? 277732541 : 277732530); - break; - case 7: - _lastStyleRefresh = num; - RefreshMarkerStyles(); - num3 = 277732529; - break; - case 3: - { - _centerOnMarker = false; - _zoom = 1f; - Vector2 vector18 = (_selectedMarker.MapPixelPos - new Vector2(1024f)) * _zoom; - _offset = -vector18; - num3 = 277732543; - break; - } - case 4: - text7 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-250847286); - goto IL_0136; - case 5: - { - Vector2 vector16 = new Vector2(2048f * _zoom, 2048f * _zoom); - Vector2 vector17 = vector2 + _offset + vector3 * 0.5f - vector16 * 0.5f; - drawList.AddImage(_200E_202C_206C_200F_200E_206A_206C_202D_202D_206D_200D_202A_202D_202B_200C_202B_202C_202B_206D_206B_200E_200E_206A_200C_206C_200E_206C_206D_206F_206C_200F_206B_206B_200B_206B_202D_200D_202D_202A_200D_202E(dalamudTextureWrap), vector17, vector17 + vector16); - num3 = 277732534; - break; - } - case 1: + Vector2 vector8 = MapPixelToScreen(currentMarker.MapPixelPos, cursorScreenPos, vector); + uint col = ImGui.ColorConvertFloat4ToU32(currentMarker.Color); + uint col2 = ImGui.ColorConvertFloat4ToU32(new Vector4(0f, 0f, 0f, 0.8f)); + float num2 = 6f * Math.Max(_zoom, 0.5f); + windowDrawList.AddCircleFilled(vector8, num2 + 1f, col2, 16); + windowDrawList.AddCircleFilled(vector8, num2, col, 16); + if (flag && !_isDragging && Vector2.Distance(ImGui.GetMousePos(), vector8) <= 8f * Math.Max(_zoom, 0.5f)) { - Vector2 vector = ScreenToMapPixel(vector2, vector2, vector3); - Vector2 vector4 = ScreenToMapPixel(vector5, vector2, vector3); - float num9 = 12f; - QuestMarker questMarker = null; - using (List.Enumerator enumerator = _currentMarkers.GetEnumerator()) + questMarker = currentMarker; + } + } + } + DrawMapLegend(windowDrawList, cursorScreenPos, vector.X); + if (_selectedMarker != null) + { + Vector2 center = MapPixelToScreen(_selectedMarker.MapPixelPos, cursorScreenPos, vector); + if (center.X >= cursorScreenPos.X && center.X <= vector2.X && center.Y >= cursorScreenPos.Y && center.Y <= vector2.Y) + { + float num3 = 6f * Math.Max(_zoom, 0.5f); + windowDrawList.AddCircle(center, num3 + 3f, ImGui.ColorConvertFloat4ToU32(new Vector4(1f, 1f, 1f, 0.9f)), 16, 2f); + } + } + bool flag2 = false; + bool flag3 = false; + Vector2 mousePos; + bool flag4; + uint col3; + float num5; + string text5; + float num7; + Vector2 pMin3; + Vector2 pMax3; + int num9; + Vector4 input; + float num6; + if (_selectedMarker != null) + { + Vector4 color = _selectedMarker.Color; + FontAwesomeIcon icon = _selectedMarker.Icon; + string status = _selectedMarker.Status; + string text2 = UiThemeUtils.CleanSeString(_selectedMarker.QuestName); + mousePos = ImGui.GetMousePos(); + flag4 = ImGui.IsMouseReleased(ImGuiMouseButton.Left); + Vector2 vector9 = new Vector2(cursorScreenPos.X, vector2.Y - 34f); + Vector2 vector10 = vector2; + Vector2 pMin = vector9; + Vector2 pMax = vector10; + Vector4 playButtonText = UiThemeUtils.PlayButtonText; + playButtonText.W = 0.9f; + windowDrawList.AddRectFilled(pMin, pMax, ImGui.ColorConvertFloat4ToU32(playButtonText)); + Vector2 pMin2 = vector9; + Vector2 pMax2 = new Vector2(vector10.X, vector9.Y + 1f); + playButtonText = UiThemeUtils.AccentColor; + playButtonText.W = 0.4f; + windowDrawList.AddRectFilled(pMin2, pMax2, ImGui.ColorConvertFloat4ToU32(playButtonText)); + float y = vector9.Y + (34f - ImGui.GetTextLineHeight()) * 0.5f; + float num4 = vector9.X + 10f; + string text3 = icon.ToIconString(); + Vector2 vector11; + using (ImRaii.PushFont(UiBuilder.IconFont)) + { + vector11 = ImGui.CalcTextSize(text3); + } + windowDrawList.AddText(UiBuilder.IconFont, ImGui.GetFontSize(), new Vector2(num4, y), ImGui.ColorConvertFloat4ToU32(color), text3); + num4 += vector11.X + 6f; + col3 = ImGui.ColorConvertFloat4ToU32(UiThemeUtils.PrimaryTextColor); + windowDrawList.AddText(new Vector2(num4, y), col3, text2); + num4 += ImGui.CalcTextSize(text2).X + 10f; + Vector2 pos2 = new Vector2(num4, y); + uint col4 = ImGui.ColorConvertFloat4ToU32(color); + ImU8String text4 = new ImU8String(2, 1); + text4.AppendLiteral("["); + text4.AppendFormatted(status); + text4.AppendLiteral("]"); + windowDrawList.AddText(pos2, col4, text4); + num5 = vector9.Y + (34f - ImGui.GetTextLineHeight() - 8f) * 0.5f; + num6 = vector10.X - 10f; + text5 = "Open on Map"; + Vector2 vector12 = ImGui.CalcTextSize(text5); + num7 = vector12.X + 16f; + float num8 = vector12.Y + 8f; + pMin3 = new Vector2(num6 - num7, num5); + pMax3 = new Vector2(num6, num5 + num8); + if (mousePos.X >= pMin3.X && mousePos.X <= pMax3.X && mousePos.Y >= pMin3.Y) + { + num9 = ((mousePos.Y <= pMax3.Y) ? 1 : 0); + if (num9 != 0) + { + playButtonText = UiThemeUtils.AccentColor; + playButtonText.W = 0.25f; + input = playButtonText; + goto IL_06fa; + } + } + else + { + num9 = 0; + } + input = UiThemeUtils.AccentDimColor; + goto IL_06fa; + } + goto IL_085c; + IL_06fa: + windowDrawList.AddRectFilled(col: ImGui.ColorConvertFloat4ToU32(input), pMin: pMin3, pMax: pMax3, rounding: 3f); + windowDrawList.AddText(new Vector2(pMin3.X + 8f, pMin3.Y + 4f), col3, text5); + if (((uint)num9 & (flag4 ? 1u : 0u)) != 0) + { + flag3 = true; + } + num6 -= num7 + 6f; + string text6 = "Quest Chain"; + Vector2 vector13 = ImGui.CalcTextSize(text6); + float num10 = vector13.X + 16f; + float num11 = vector13.Y + 8f; + Vector2 pMin4 = new Vector2(num6 - num10, num5); + Vector2 pMax4 = new Vector2(num6, num5 + num11); + int num12; + Vector4 input2; + if (mousePos.X >= pMin4.X && mousePos.X <= pMax4.X && mousePos.Y >= pMin4.Y) + { + num12 = ((mousePos.Y <= pMax4.Y) ? 1 : 0); + if (num12 != 0) + { + Vector4 playButtonText = UiThemeUtils.AccentColor; + playButtonText.W = 0.25f; + input2 = playButtonText; + goto IL_080c; + } + } + else + { + num12 = 0; + } + input2 = UiThemeUtils.AccentDimColor; + goto IL_080c; + IL_080c: + windowDrawList.AddRectFilled(col: ImGui.ColorConvertFloat4ToU32(input2), pMin: pMin4, pMax: pMax4, rounding: 3f); + windowDrawList.AddText(new Vector2(pMin4.X + 8f, pMin4.Y + 4f), col3, text6); + if (((uint)num12 & (flag4 ? 1u : 0u)) != 0) + { + flag2 = true; + } + goto IL_085c; + IL_085c: + windowDrawList.PopClipRect(); + if (flag3 && _selectedMarker != null && _selectedMarker.WorldPos != Vector3.Zero) + { + try + { + ZoneEntry zoneEntry = _zones[_selectedZoneIndex]; + TerritoryType? rowOrDefault = _dataManager.GetExcelSheet().GetRowOrDefault(zoneEntry.TerritoryId); + if (rowOrDefault.HasValue) + { + Map? valueNullable = rowOrDefault.Value.Map.ValueNullable; + if (valueNullable.HasValue) { - num3 = -1593489404; - while (true) - { - int num10 = num3; - num5 = -1593489408; - num6 = num10; - switch ((num6 | num5) - (num6 & num5)) - { - case 2: - num3 = -1593489404; - break; - case 10: - num3 = ((current.MapPixelPos.X > vector4.X + num9) ? (-1593489404) : (-1593489400)); - break; - case 3: - num3 = ((!(Vector2.Distance(_206A_200E_200B_206A_206A_206B_206C_200D_206C_200F_200B_206A_206A_206D_206B_202C_202E_202E_206F_206C_206A_200B_202C_202B_202B_206C_200D_202E_202A_206E_200B_206D_200C_202C_202B_206A_206A_202E_200D_202D_202E(), vector6) <= 8f * _202C_200B_206A_206E_202D_206C_202C_202E_206C_206F_206E_202B_200E_200F_202B_202D_202B_206C_206E_206E_206E_202D_202E_200D_200E_200B_200D_200F_206C_200C_206E_206B_200B_202C_206D_206F_200D_206C_206F_206C_202E(_zoom, 0.5f))) ? (-1593489404) : (-1593489399)); - break; - case 8: - num3 = ((current.MapPixelPos.Y < vector.Y - num9) ? (-1593489404) : (-1593489408)); - break; - case 7: - num3 = (_isDragging ? (-1593489404) : (-1593489405)); - break; - case 1: - { - vector6 = MapPixelToScreen(current.MapPixelPos, vector2, vector3); - uint col = _202B_200E_202D_206A_206A_202D_202D_202D_202C_200F_200C_206E_206B_206B_200B_206F_206C_202D_202E_200C_202D_200F_206A_206B_206A_206B_200B_206E_200C_206C_202C_202A_200B_202D_200F_200B_202D_206E_206E_202A_202E(current.Color); - uint col2 = _202B_200E_202D_206A_206A_202D_202D_202D_202C_200F_200C_206E_206B_206B_200B_206F_206C_202D_202E_200C_202D_200F_206A_206B_206A_206B_200B_206E_200C_206C_202C_202A_200B_202D_200F_200B_202D_206E_206E_202A_202E(new Vector4(0f, 0f, 0f, 0.8f)); - float num11 = 6f * _202C_200B_206A_206E_202D_206C_202C_202E_206C_206F_206E_202B_200E_200F_202B_202D_202B_206C_206E_206E_206E_202D_202E_200D_200E_200B_200D_200F_206C_200C_206E_206B_200B_202C_206D_206F_200D_206C_206F_206C_202E(_zoom, 0.5f); - drawList.AddCircleFilled(vector6, num11 + 1f, col2, 16); - drawList.AddCircleFilled(vector6, num11, col, 16); - num3 = ((!flag) ? (-1593489404) : (-1593489401)); - break; - } - case 9: - questMarker = current; - num3 = -1593489404; - break; - case 5: - current = enumerator.Current; - num3 = ((current.MapPixelPos.X < vector.X - num9) ? (-1593489404) : (-1593489398)); - break; - case 0: - num3 = ((current.MapPixelPos.Y > vector4.Y + num9) ? (-1593489404) : (-1593489407)); - break; - case 4: - num3 = (enumerator.MoveNext() ? (-1593489403) : (-1593489402)); - break; - case 6: - goto end_IL_035a; - } - continue; - end_IL_035a: - break; - } - } - DrawMapLegend(drawList, vector2, vector3.X); - num3 = ((_selectedMarker == null) ? 1621936261 : 1621936262); - while (true) - { - int num12 = num3; - num5 = 1621936263; - num6 = num12; - int num13 = num6 + num5; - int num14 = num6 & num5; - switch (num13 - (num14 + num14)) - { - default: - continue; - case 4: - num3 = 1621936262; - continue; - case 0: - num3 = ((!(center.Y <= vector5.Y)) ? 1621936261 : 1621936256); - continue; - case 6: - num3 = ((!(center.X <= vector5.X)) ? 1621936261 : 1621936260); - continue; - case 1: - center = MapPixelToScreen(_selectedMarker.MapPixelPos, vector2, vector3); - num3 = ((!(center.X >= vector2.X)) ? 1621936261 : 1621936257); - continue; - case 2: - flag4 = false; - flag3 = false; - if (_selectedMarker != null) - { - num3 = 1621936258; - continue; - } - goto IL_0cba; - case 3: - num3 = ((!(center.Y >= vector2.Y)) ? 1621936261 : 1621936263); - continue; - case 7: - { - float num30 = 6f * _202C_200B_206A_206E_202D_206C_202C_202E_206C_206F_206E_202B_200E_200F_202B_202D_202B_206C_206E_206E_206E_202D_202E_200D_200E_200B_200D_200F_206C_200C_206E_206B_200B_202C_206D_206F_200D_206C_206F_206C_202E(_zoom, 0.5f); - drawList.AddCircle(center, num30 + 3f, _202B_200E_202D_206A_206A_202D_202D_202D_202C_200F_200C_206E_206B_206B_200B_206F_206C_202D_202E_200C_202D_200F_206A_206B_206A_206B_200B_206E_200C_206C_202C_202A_200B_202D_200F_200B_202D_206E_206E_202A_202E(new Vector4(1f, 1f, 1f, 0.9f)), 16, 2f); - num3 = 1621936261; - continue; - } - case 5: - { - Vector4 color = _selectedMarker.Color; - FontAwesomeIcon icon = _selectedMarker.Icon; - string status = _selectedMarker.Status; - string text = UiThemeUtils.CleanSeString(_selectedMarker.QuestName); - vector7 = _206A_200E_200B_206A_206A_206B_206C_200D_206C_200F_200B_206A_206A_206D_206B_202C_202E_202E_206F_206C_206A_200B_202C_202B_202B_206C_200D_202E_202A_206E_200B_206D_200C_202C_202B_206A_206A_202E_200D_202D_202E(); - flag2 = _200F_206C_206E_202D_206C_206B_206A_206B_200C_202B_200D_200E_200E_202E_206F_202E_202D_200E_206B_206C_206C_206E_206D_206B_200B_206C_202B_202C_202A_202E_202D_200B_202C_206E_202C_200B_202B_206B_202C_206B_202E(ImGuiMouseButton.Left); - Vector2 vector8 = new Vector2(vector2.X, vector5.Y - 34f); - Vector2 vector9 = vector5; - Vector2 pMin = vector8; - Vector2 pMax = vector9; - Vector4 playButtonText = UiThemeUtils.PlayButtonText; - playButtonText.W = 0.9f; - drawList.AddRectFilled(pMin, pMax, _202B_200E_202D_206A_206A_202D_202D_202D_202C_200F_200C_206E_206B_206B_200B_206F_206C_202D_202E_200C_202D_200F_206A_206B_206A_206B_200B_206E_200C_206C_202C_202A_200B_202D_200F_200B_202D_206E_206E_202A_202E(playButtonText)); - Vector2 pMin2 = vector8; - Vector2 pMax2 = new Vector2(vector9.X, vector8.Y + 1f); - playButtonText = UiThemeUtils.AccentColor; - playButtonText.W = 0.4f; - drawList.AddRectFilled(pMin2, pMax2, _202B_200E_202D_206A_206A_202D_202D_202D_202C_200F_200C_206E_206B_206B_200B_206F_206C_202D_202E_200C_202D_200F_206A_206B_206A_206B_200B_206E_200C_206C_202C_202A_200B_202D_200F_200B_202D_206E_206E_202A_202E(playButtonText)); - float y = vector8.Y + (34f - _206D_206A_200F_206D_200C_206E_206C_200C_206F_200B_202D_200D_202B_200B_202E_200E_206C_206F_206E_202E_200F_202B_206D_200F_200D_200E_202C_200F_200C_206F_206E_200C_206A_200C_206E_200E_200F_202D_202E_206A_202E()) * 0.5f; - float num15 = vector8.X + 10f; - string text2 = _206C_200C_200C_202B_200D_206C_202D_206B_206A_206F_206A_200E_200D_202A_200E_202E_202E_202E_202B_202A_202B_200C_202E_202C_202B_200E_200C_200B_202D_206C_200C_200B_206B_200B_206A_206D_206B_202C_202E_202D_202E(icon); - ImRaii.FontDisposable fontDisposable = _200E_200E_202B_206B_202E_206C_200B_202E_202D_202B_200C_202C_206C_200E_200D_202E_202A_200D_200B_206B_202C_206E_200C_202D_202C_200B_206F_202D_200F_200E_202E_202C_200E_200D_206E_200B_200D_200D_206B_200C_202E(_206E_206D_202A_206E_206B_206B_200B_200F_206D_200E_202D_200F_200E_202A_206A_200C_202D_206A_200D_202C_206D_200E_206D_206F_202D_206E_202D_202A_200D_200C_206E_206E_202A_200E_200D_200D_202E_200F_206F_206E_202E(), true); - Vector2 vector10; - try - { - vector10 = _202E_206F_202A_202D_206F_202D_200E_200B_202A_202B_206B_206A_206E_206F_200B_206B_200C_206C_200D_206A_206F_206C_202E_206F_206A_200E_206A_206E_202A_200C_206F_206D_202E_206C_202E_206F_200D_200F_206F_202B_202E((ImU8String)text2, false, -1f); - } - finally - { - num3 = ((fontDisposable == null) ? (-1319197121) : (-1319197124)); - while (true) - { - int num16 = num3; - num5 = -1319197123; - num6 = num16; - int num17 = num6 + num5; - int num18 = num6 & num5; - switch (num17 - (num18 + num18)) - { - case 2: - goto end_IL_08ba; - case 1: - _200C_200D_200F_206B_202D_202C_202B_202D_200E_200E_200C_200F_206E_200D_202B_206F_206F_200B_202B_206C_206D_206D_200B_206E_200B_206D_202A_206D_202A_206A_206B_202D_200E_200D_200C_200D_202E_202C_206F_206D_202E((IDisposable)fontDisposable); - num3 = -1319197121; - break; - case 0: - num3 = -1319197124; - break; - } - continue; - end_IL_08ba: - break; - } - } - drawList.AddText(_206E_206D_202A_206E_206B_206B_200B_200F_206D_200E_202D_200F_200E_202A_206A_200C_202D_206A_200D_202C_206D_200E_206D_206F_202D_206E_202D_202A_200D_200C_206E_206E_202A_200E_200D_200D_202E_200F_206F_206E_202E(), _206D_200E_202B_202E_206D_200C_206D_200E_202D_206F_206B_206A_206D_206C_200E_202A_206E_206C_200C_200F_202D_206B_200B_200B_206E_200B_202E_200F_200D_200F_206E_206D_206C_202C_206E_200C_202D_206C_206B_202E(), new Vector2(num15, y), _202B_200E_202D_206A_206A_202D_202D_202D_202C_200F_200C_206E_206B_206B_200B_206F_206C_202D_202E_200C_202D_200F_206A_206B_206A_206B_200B_206E_200C_206C_202C_202A_200B_202D_200F_200B_202D_206E_206E_202A_202E(color), text2); - num15 += vector10.X + 6f; - col3 = _202B_200E_202D_206A_206A_202D_202D_202D_202C_200F_200C_206E_206B_206B_200B_206F_206C_202D_202E_200C_202D_200F_206A_206B_206A_206B_200B_206E_200C_206C_202C_202A_200B_202D_200F_200B_202D_206E_206E_202A_202E(UiThemeUtils.PrimaryTextColor); - drawList.AddText(new Vector2(num15, y), col3, text); - num15 += _202E_206F_202A_202D_206F_202D_200E_200B_202A_202B_206B_206A_206E_206F_200B_206B_200C_206C_200D_206A_206F_206C_202E_206F_206A_200E_206A_206E_202A_200C_206F_206D_202E_206C_202E_206F_200D_200F_206F_202B_202E((ImU8String)text, false, -1f).X + 10f; - Vector2 pos = new Vector2(num15, y); - uint col4 = _202B_200E_202D_206A_206A_202D_202D_202D_202C_200F_200C_206E_206B_206B_200B_206F_206C_202D_202E_200C_202D_200F_206A_206B_206A_206B_200B_206E_200C_206C_202C_202A_200B_202D_200F_200B_202D_206E_206E_202A_202E(color); - ImU8String text3 = new ImU8String(2, 1); - text3.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1542193285)); - text3.AppendFormatted(status); - text3.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1991522223)); - drawList.AddText(pos, col4, text3); - num19 = vector8.Y + (34f - _206D_206A_200F_206D_200C_206E_206C_200C_206F_200B_202D_200D_202B_200B_202E_200E_206C_206F_206E_202E_200F_202B_206D_200F_200D_200E_202C_200F_200C_206F_206E_200C_206A_200C_206E_200E_200F_202D_202E_206A_202E() - 8f) * 0.5f; - num20 = vector9.X - 10f; - text4 = 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(-1775105392); - Vector2 vector11 = _202E_206F_202A_202D_206F_202D_200E_200B_202A_202B_206B_206A_206E_206F_200B_206B_200C_206C_200D_206A_206F_206C_202E_206F_206A_200E_206A_206E_202A_200C_206F_206D_202E_206C_202E_206F_200D_200F_206F_202B_202E((ImU8String)text4, false, -1f); - num21 = vector11.X + 16f; - float num22 = vector11.Y + 8f; - pMin3 = new Vector2(num20 - num21, num19); - pMax3 = new Vector2(num20, num19 + num22); - num3 = ((!(vector7.X >= pMin3.X)) ? 831584535 : 831584531); - goto IL_0a8b; - } - IL_0cba: - drawList.PopClipRect(); - if (!flag3) - { - break; - } - num3 = 831584530; - goto IL_0a8b; - IL_0a8b: - while (true) - { - int num23 = num3; - num5 = 831584529; - num6 = num23; - int num24 = num6 + num5; - int num25 = num6 & num5; - int num27; - Vector4 vector13; - int num26; - Vector4 vector12; - switch (num24 - (num25 + num25)) - { - case 9: - goto IL_0ae9; - case 13: - flag4 = true; - num3 = 831584529; - break; - case 14: - goto IL_0b23; - case 8: - goto IL_0b4e; - case 1: - goto IL_0b68; - case 10: - num3 = 831584531; - break; - case 6: - num27 = 0; - goto IL_0ba6; - case 11: - goto IL_0c2d; - case 0: - goto end_IL_0a8b; - case 12: - { - num27 = ((vector7.Y <= pMax3.Y) ? 1 : 0); - if (num27 == 0) - { - goto IL_0ba6; - } - Vector4 playButtonText = UiThemeUtils.AccentColor; - playButtonText.W = 0.25f; - vector13 = playButtonText; - goto IL_0bc5; - } - case 5: - { - num26 = ((vector7.Y <= pMax4.Y) ? 1 : 0); - if (num26 == 0) - { - goto IL_0d65; - } - Vector4 playButtonText = UiThemeUtils.AccentColor; - playButtonText.W = 0.25f; - vector12 = playButtonText; - goto IL_0d84; - } - case 2: - goto IL_0d1c; - case 3: - goto IL_0d47; - case 4: - num26 = 0; - goto IL_0d65; - case 7: - { - flag3 = true; - num3 = 831584538; - break; - } - IL_0d65: - vector12 = UiThemeUtils.AccentDimColor; - goto IL_0d84; - IL_0ba6: - vector13 = UiThemeUtils.AccentDimColor; - goto IL_0bc5; - IL_0d84: - drawList.AddRectFilled(col: _202B_200E_202D_206A_206A_202D_202D_202D_202C_200F_200C_206E_206B_206B_200B_206F_206C_202D_202E_200C_202D_200F_206A_206B_206A_206B_200B_206E_200C_206C_202C_202A_200B_202D_200F_200B_202D_206E_206E_202A_202E(vector12), pMin: pMin4, pMax: pMax4, rounding: 3f); - drawList.AddText(new Vector2(pMin4.X + 8f, pMin4.Y + 4f), col3, text5); - num3 = ((((uint)num26 & (flag2 ? 1u : 0u)) == 0) ? 831584529 : 831584540); - break; - IL_0bc5: - drawList.AddRectFilled(col: _202B_200E_202D_206A_206A_202D_202D_202D_202C_200F_200C_206E_206B_206B_200B_206F_206C_202D_202E_200C_202D_200F_206A_206B_206A_206B_200B_206E_200C_206C_202C_202A_200B_202D_200F_200B_202D_206E_206E_202A_202E(vector13), pMin: pMin3, pMax: pMax3, rounding: 3f); - drawList.AddText(new Vector2(pMin3.X + 8f, pMin3.Y + 4f), col3, text4); - num3 = ((((uint)num27 & (flag2 ? 1u : 0u)) == 0) ? 831584538 : 831584534); - break; - } - continue; - IL_0d47: - if (_selectedMarker == null) - { - goto end_IL_0613; - } - num3 = 831584537; - continue; - IL_0ae9: - num3 = ((!(vector7.Y >= pMin3.Y)) ? 831584535 : 831584541); - continue; - IL_0d1c: - num3 = ((!(vector7.X <= pMax3.X)) ? 831584535 : 831584536); - continue; - IL_0b4e: - if (!(_selectedMarker.WorldPos != Vector3.Zero)) - { - goto end_IL_0613; - } - goto IL_0b68; - IL_0b68: - num3 = ((!(vector7.Y >= pMin4.Y)) ? 831584533 : 831584532); - continue; - IL_0c2d: - num20 -= num21 + 6f; - text5 = 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(644196516); - Vector2 vector14 = _202E_206F_202A_202D_206F_202D_200E_200B_202A_202B_206B_206A_206E_206F_200B_206B_200C_206C_200D_206A_206F_206C_202E_206F_206A_200E_206A_206E_202A_200C_206F_206D_202E_206C_202E_206F_200D_200F_206F_202B_202E((ImU8String)text5, false, -1f); - float num28 = vector14.X + 16f; - float num29 = vector14.Y + 8f; - pMin4 = new Vector2(num20 - num28, num19); - pMax4 = new Vector2(num20, num19 + num29); - num3 = ((!(vector7.X >= pMin4.X)) ? 831584533 : 831584543); - continue; - IL_0b23: - num3 = ((!(vector7.X <= pMax4.X)) ? 831584533 : 831584528); - continue; - end_IL_0a8b: - break; - } - goto IL_0cba; - end_IL_0613: - break; - } - break; - } - num3 = ((!flag4) ? (-907725640) : (-907725635)); - while (true) - { - int num31 = num3; - num5 = -907725641; - num6 = num31; - int num32; - switch ((num6 | num5) - (num6 & num5)) - { - default: - continue; - case 20: - num3 = -907725635; - continue; - case 10: - num3 = ((_selectedMarker == null) ? (-907725640) : (-907725639)); - continue; - case 4: - num3 = ((!_isDragging) ? (-907725633) : (-907725658)); - continue; - case 17: - num32 = ((Vector2.Distance(_206A_200E_200B_206A_206A_206B_206C_200D_206C_200F_200B_206A_206A_206D_206B_202C_202E_202E_206F_206C_206A_200B_202C_202B_202B_206C_200D_202E_202A_206E_200B_206D_200C_202C_202B_206A_206A_202E_200D_202D_202E(), _dragStartPos) > 4f) ? 1 : 0); - goto IL_129f; - case 1: - num3 = (flag5 ? (-907725657) : (-907725647)); - continue; - case 0: - _questTooltipComponent.Draw(questInfo); - num3 = -907725645; - continue; - case 5: - { - Action? selectTabAction = SelectTabAction; - if (selectTabAction == null) - { - break; - } - selectTabAction(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(529311826)); - num3 = -907725640; - continue; - } - case 9: - { - _selectedMarker = questMarker; - ImU8String imU8String = new ImU8String(12, 1); - imU8String.AppendLiteral(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(-807643088)); - imU8String.AppendFormatted(questMarker.QuestId); - _206C_206C_206F_200E_206E_202C_206A_202C_206A_202B_202E_202E_202E_200B_200D_200B_202D_206E_202B_202C_200F_206D_200D_200E_202C_200B_200B_200F_200F_206D_206C_202A_202B_206B_206D_200E_200E_200B_202E_202A_202E(imU8String, ImGuiPopupFlags.None); - num3 = -907725637; - continue; - } - case 21: - return; - case 16: - num3 = ((questMarker == null) ? (-907725637) : (-907725643)); - continue; - case 12: - num3 = ((_selectedMarker == null) ? (-907725662) : (-907725659)); - continue; - case 19: - { - Questionable.Model.Quest quest = null; - _questRegistry.TryGetQuest(_selectedMarker.QuestId, out quest); - QuestJournalUtils? questJournalUtils = QuestJournalUtils; - if (questJournalUtils == null) - { - return; - } - questJournalUtils.ShowContextMenu(questInfo2, quest, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-712598669)); - num3 = -907725662; - continue; - } - case 3: - num3 = (flag5 ? (-907725637) : (-907725634)); - continue; - case 18: - num3 = ((!_questData.TryGetQuestInfo(_selectedMarker.QuestId, out questInfo2)) ? (-907725662) : (-907725660)); - continue; - case 14: - { - QuestChainComponent? questChainComponent = QuestChainComponent; - if (questChainComponent == null) - { - goto case 5; - } - questChainComponent.SelectQuest(_selectedMarker.QuestId); - num3 = -907725646; - continue; - } - case 11: - _selectedMarker = questMarker; - num3 = -907725657; - continue; - case 13: - _selectedMarker = null; - num3 = -907725657; - continue; - case 7: - num3 = ((!_questData.TryGetQuestInfo(questMarker.QuestId, out questInfo)) ? (-907725645) : (-907725641)); - continue; - case 6: - num3 = ((questMarker == null) ? (-907725663) : (-907725636)); - continue; - case 8: - num32 = 0; - goto IL_129f; - case 2: - num3 = ((!_200F_206C_206E_202D_206C_206B_206A_206B_200C_202B_200D_200E_200E_202E_206F_202E_202D_200E_206B_206C_206C_206E_206D_206B_200B_206C_202B_202C_202A_202E_202D_200B_202C_206E_202C_200B_202B_206B_202C_206B_202E(ImGuiMouseButton.Right)) ? (-907725637) : (-907725644)); - continue; - case 22: - num3 = ((!flag) ? (-907725657) : (-907725638)); - continue; - case 15: - break; - IL_129f: - flag5 = (byte)num32 != 0; - num3 = ((!_200F_206C_206E_202D_206C_206B_206A_206B_200C_202B_200D_200E_200E_202E_206F_202E_202D_200E_206B_206C_206C_206E_206D_206B_200B_206C_202B_202C_202A_202E_202D_200B_202C_206E_202C_200B_202B_206B_202C_206B_202E(ImGuiMouseButton.Left)) ? (-907725657) : (-907725642)); - continue; - } - num3 = ((questMarker == null) ? (-907725645) : (-907725648)); + Vector2 vector14 = MapUtil.WorldToMap(new Vector2(_selectedMarker.WorldPos.X, _selectedMarker.WorldPos.Z), valueNullable.Value); + MapLinkPayload mapLink = new MapLinkPayload(zoneEntry.TerritoryId, valueNullable.Value.RowId, vector14.X, vector14.Y); + _gameGui.OpenMapWithMapLink(mapLink); } } - IL_0136: - text6 = text7; - pos2 = vector2 + vector3 * 0.5f - _202E_206F_202A_202D_206F_202D_200E_200B_202A_202B_206B_206A_206E_206F_200B_206B_200C_206C_200D_206A_206F_206C_202E_206F_206A_200E_206A_206E_202A_200C_206F_206D_202E_206C_202E_206F_200D_200F_206F_202B_202E((ImU8String)text6, false, -1f) * 0.5f; - drawList.AddText(pos2, _202B_200E_202D_206A_206A_202D_202D_202D_202C_200F_200C_206E_206B_206B_200B_206F_206C_202D_202E_200C_202D_200F_206A_206B_206A_206B_200B_206E_200C_206C_202C_202A_200B_202D_200F_200B_202D_206E_206E_202A_202E(UiThemeUtils.DimTextColor), text6); - num3 = 277732534; - break; } + catch + { + } + } + if (flag2 && _selectedMarker != null) + { + QuestChainComponent?.SelectQuest(_selectedMarker.QuestId); + SelectTabAction?.Invoke("Quest Chain"); + } + if (questMarker != null && _questData.TryGetQuestInfo(questMarker.QuestId, out IQuestInfo questInfo)) + { + _questTooltipComponent.Draw(questInfo); + } + bool flag5 = _isDragging && Vector2.Distance(ImGui.GetMousePos(), _dragStartPos) > 4f; + if (ImGui.IsMouseReleased(ImGuiMouseButton.Left) && !flag5) + { + if (questMarker != null) + { + _selectedMarker = questMarker; + } + else if (flag) + { + _selectedMarker = null; + } + } + if (questMarker != null && ImGui.IsMouseReleased(ImGuiMouseButton.Right) && !flag5) + { + _selectedMarker = questMarker; + ImU8String strId = new ImU8String(12, 1); + strId.AppendLiteral("##QuestPopup"); + strId.AppendFormatted(questMarker.QuestId); + ImGui.OpenPopup(strId); + } + if (_selectedMarker != null && _questData.TryGetQuestInfo(_selectedMarker.QuestId, out IQuestInfo questInfo2)) + { + Questionable.Model.Quest quest = null; + _questRegistry.TryGetQuest(_selectedMarker.QuestId, out quest); + QuestJournalUtils?.ShowContextMenu(questInfo2, quest, "QuestMapComponent"); } } private void HandlePanZoom(Vector2 canvasPos, Vector2 canvasSize, bool isHovered) { - ImGuiIOPtr imGuiIOPtr = _206A_206E_202C_200C_206E_206F_206A_200E_200F_206E_202B_202C_202B_202C_200D_202D_206A_202B_200B_200C_200C_206B_206F_206B_206E_206B_202C_200D_206D_200E_202D_202D_200D_202E_202B_206A_202A_206D_200B_206C_202E(); - int num = ((!isHovered) ? (-1220923858) : (-1220923861)); - while (true) + ImGuiIOPtr iO = ImGui.GetIO(); + if (isHovered && MathF.Abs(iO.MouseWheel) > 0.01f) { - int num2 = num; - int num3 = -1220923860; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num7; - bool flag; - switch (num5 - (num6 + num6)) + float zoom = _zoom; + _zoom = Math.Clamp(_zoom + iO.MouseWheel * 0.1f, 0.15f, 3f); + Vector2 vector = ImGui.GetMousePos() - canvasPos - canvasSize * 0.5f - _offset; + _offset -= vector * (_zoom / zoom - 1f); + } + bool flag = ImGui.IsMouseDown(ImGuiMouseButton.Left) || ImGui.IsMouseDown(ImGuiMouseButton.Right) || ImGui.IsMouseDown(ImGuiMouseButton.Middle); + if (isHovered && flag) + { + if (!_isDragging) { - case 6: - _isDragging = false; - return; - case 7: - num = ((!(_200D_206A_202E_206B_202D_206C_206A_206C_202D_206D_200F_200E_202D_200F_202A_200E_206A_200B_200E_200B_202D_200E_206D_202D_206E_206B_202A_202E_206B_206A_200E_200C_206E_206C_200F_206B_206C_202B_202A_206B_202E(imGuiIOPtr.MouseWheel) > 0.01f)) ? (-1220923858) : (-1220923864)); - break; - case 4: + _isDragging = true; + _lastMousePos = ImGui.GetMousePos(); + _dragStartPos = _lastMousePos; + } + else { - float zoom = _zoom; - _zoom = _200B_202B_200F_202A_206C_206B_200C_200F_206E_202B_200F_200B_206A_206F_202A_202A_200E_202B_202A_202A_200B_200F_200E_202C_206F_200B_202A_206F_206D_206D_206F_206F_206B_202C_202B_206B_202D_206C_202D_200E_202E(_zoom + imGuiIOPtr.MouseWheel * 0.1f, 0.15f, 3f); - Vector2 vector = _206A_200E_200B_206A_206A_206B_206C_200D_206C_200F_200B_206A_206A_206D_206B_202C_202E_202E_206F_206C_206A_200B_202C_202B_202B_206C_200D_202E_202A_206E_200B_206D_200C_202C_202B_206A_206A_202E_200D_202D_202E() - canvasPos - canvasSize * 0.5f - _offset; - _offset -= vector * (_zoom / zoom - 1f); - num = -1220923858; - break; - } - case 2: - num = (_206C_206B_200D_202E_206C_206E_206A_200F_206E_206B_206B_202B_200E_202C_206D_200D_206C_206A_202A_206E_206D_206A_200F_206D_202C_202E_200E_200C_202D_202A_202E_206D_200B_206D_202A_202A_206C_206A_206F_200E_202E(ImGuiMouseButton.Left) ? (-1220923859) : (-1220923868)); - break; - case 9: - num7 = (_206C_206B_200D_202E_206C_206E_206A_200F_206E_206B_206B_202B_200E_202C_206D_200D_206C_206A_202A_206E_206D_206A_200F_206D_202C_202E_200E_200C_202D_202A_202E_206D_200B_206D_202A_202A_206C_206A_206F_200E_202E(ImGuiMouseButton.Middle) ? 1 : 0); - goto IL_016d; - case 1: - num7 = 1; - goto IL_016d; - case 0: - { - Vector2 vector2 = _206A_200E_200B_206A_206A_206B_206C_200D_206C_200F_200B_206A_206A_206D_206B_202C_202E_202E_206F_206C_206A_200B_202C_202B_202B_206C_200D_202E_202A_206E_200B_206D_200C_202C_202B_206A_206A_202E_200D_202D_202E(); - Vector2 vector3 = vector2 - _lastMousePos; - _offset += vector3; - _lastMousePos = vector2; - return; - } - case 8: - num = (_206C_206B_200D_202E_206C_206E_206A_200F_206E_206B_206B_202B_200E_202C_206D_200D_206C_206A_202A_206E_206D_206A_200F_206D_202C_202E_200E_200C_202D_202A_202E_206D_200B_206D_202A_202A_206C_206A_206F_200E_202E(ImGuiMouseButton.Right) ? (-1220923859) : (-1220923867)); - break; - case 10: - num = (_isDragging ? (-1220923860) : (-1220923863)); - break; - case 3: - num = -1220923861; - break; - case 5: - { - _isDragging = true; - _lastMousePos = _206A_200E_200B_206A_206A_206B_206C_200D_206C_200F_200B_206A_206A_206D_206B_202C_202E_202E_206F_206C_206A_200B_202C_202B_202B_206C_200D_202E_202A_206E_200B_206D_200C_202C_202B_206A_206A_202E_200D_202D_202E(); - _dragStartPos = _lastMousePos; - return; - } - IL_016d: - flag = (byte)num7 != 0; - num3 = (flag ? 1 : 0); - num4 = (isHovered ? 1 : 0); - num = (((num4 | num3) - (num4 ^ num3) == 0) ? (-1220923862) : (-1220923866)); - break; + Vector2 mousePos = ImGui.GetMousePos(); + Vector2 vector2 = mousePos - _lastMousePos; + _offset += vector2; + _lastMousePos = mousePos; } } + else + { + _isDragging = false; + } } private Vector2 MapPixelToScreen(Vector2 mapPixel, Vector2 canvasPos, Vector2 canvasSize) @@ -1241,278 +544,92 @@ internal sealed class QuestMapComponent HashSet hashSet = new HashSet(); Dictionary territoryQuests = new Dictionary(); _questsByTerritory.Clear(); - IEnumerator enumerator = _questRegistry.AllQuests.GetEnumerator(); - int num; - try + foreach (Questionable.Model.Quest allQuest in _questRegistry.AllQuests) { - num = 3510575; - QuestSequence questSequence = default(QuestSequence); - Questionable.Model.Quest current = default(Questionable.Model.Quest); - QuestStep questStep = default(QuestStep); - List<(ElementId, string, Vector3, bool)> value = default(List<(ElementId, string, Vector3, bool)>); - while (true) + if (allQuest.Root.Disabled) { - int num2 = num; - int num3 = 3510575; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - questSequence = current.FindSequence(0); - num = ((questSequence == null) ? 3510575 : 3510565); - break; - case 3: - hashSet.Add(_202C_200D_202C_202A_206E_200C_200F_200E_206F_206A_200E_206D_202E_200C_202A_202C_206F_200F_206C_202C_200E_206E_206D_206B_202E_200D_202E_200C_200F_200E_202A_200F_202A_206A_206C_202D_200E_202B_202D_202A_202E(questStep)); - territoryQuests[_202C_200D_202C_202A_206E_200C_200F_200E_206F_206A_200E_206D_202E_200C_202A_202C_206F_200F_206C_202C_200E_206E_206D_206B_202E_200D_202E_200C_200F_200E_202A_200F_202A_206A_206C_202D_200E_202B_202D_202A_202E(questStep)] = territoryQuests.GetValueOrDefault(_202C_200D_202C_202A_206E_200C_200F_200E_206F_206A_200E_206D_202E_200C_202A_202C_206F_200F_206C_202C_200E_206E_206D_206B_202E_200D_202E_200C_200F_200E_202A_200F_202A_206A_206C_202D_200E_202B_202D_202A_202E(questStep)) + 1; - num = (_questsByTerritory.TryGetValue(_202C_200D_202C_202A_206E_200C_200F_200E_206F_206A_200E_206D_202E_200C_202A_202C_206F_200F_206C_202C_200E_206E_206D_206B_202E_200D_202E_200C_200F_200E_202A_200F_202A_206A_206C_202D_200E_202B_202D_202A_202E(questStep), out value) ? 3510567 : 3510571); - break; - case 8: - value.Add((current.Id, current.Info.Name, _202E_206F_206D_200B_200C_200D_200F_200F_202D_206F_202A_206A_206D_202A_202B_200D_200B_206D_202D_206C_206C_200E_202D_206B_206E_200D_206D_206C_202B_206A_200E_200F_200D_200B_200F_202E_200F_200D_206E_200F_202E(questStep).Value, true)); - num = 3510575; - break; - case 7: - questStep = _202B_206F_200E_206F_202E_206F_202E_206D_206D_200C_200C_200D_200F_202A_206A_206A_206C_206F_202B_202E_202E_202B_202A_200D_200D_202B_206A_200D_206A_200B_200F_206C_206D_200B_206A_200B_202E_202C_200B_202C_202E(questSequence)[0]; - num = ((_202C_200D_202C_202A_206E_200C_200F_200E_206F_206A_200E_206D_202E_200C_202A_202C_206F_200F_206C_202C_200E_206E_206D_206B_202E_200D_202E_200C_200F_200E_202A_200F_202A_206A_206C_202D_200E_202B_202D_202A_202E(questStep) == 0) ? 3510575 : 3510566); - break; - case 5: - num = 3510575; - break; - case 1: - current = enumerator.Current; - num = (_202C_206D_206E_202D_200C_206C_202D_206C_202B_200E_202A_200F_200C_202D_202C_202D_206C_202A_206C_206D_202C_200E_200E_206D_200E_200B_200D_200B_202D_202A_200B_206A_200E_206C_202C_206F_200D_202A_206F_202E_202E(current.Root) ? 3510575 : 3510573); - break; - case 4: - value = new List<(ElementId, string, Vector3, bool)>(); - _questsByTerritory[_202C_200D_202C_202A_206E_200C_200F_200E_206F_206A_200E_206D_202E_200C_202A_202C_206F_200F_206C_202C_200E_206E_206D_206B_202E_200D_202E_200C_200F_200E_202A_200F_202A_206A_206C_202D_200E_202B_202D_202A_202E(questStep)] = value; - num = 3510567; - break; - case 9: - num = ((!_202E_206F_206D_200B_200C_200D_200F_200F_202D_206F_202A_206A_206D_202A_202B_200D_200B_206D_202D_206C_206C_200E_202D_206B_206E_200D_206D_206C_202B_206A_200E_200F_200D_200B_200F_202E_200F_200D_206E_200F_202E(questStep).HasValue) ? 3510575 : 3510572); - break; - case 10: - num = ((_202B_206F_200E_206F_202E_206F_202E_206D_206D_200C_200C_200D_200F_202A_206A_206A_206C_206F_202B_202E_202E_202B_202A_200D_200D_202B_206A_200D_206A_200B_200F_206C_206D_200B_206A_200B_202E_202C_200B_202C_202E(questSequence).Count == 0) ? 3510575 : 3510568); - break; - case 0: - num = (_202E_202C_202B_206E_202C_206C_202A_200E_200C_200B_202E_200D_206F_206E_202C_200C_200E_206D_200E_200F_200F_202A_206D_200C_206A_200F_200E_200E_200E_200B_206D_200B_206F_206E_202E_200B_206C_206E_202B_206E_202E((IEnumerator)enumerator) ? 3510574 : 3510569); - break; - case 6: - goto end_IL_0046; - } continue; - end_IL_0046: - break; } - } - finally - { - num = ((enumerator == null) ? (-1429783768) : (-1429783765)); - while (true) + QuestSequence questSequence = allQuest.FindSequence(0); + if (questSequence == null || questSequence.Steps.Count == 0) { - int num5 = num; - int num3 = -1429783766; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1429783765; - break; - case 2: - goto end_IL_028f; - case 1: - _200C_200D_200F_206B_202D_202C_202B_202D_200E_200E_200C_200F_206E_200D_202B_206F_206F_200B_202B_206C_206D_206D_200B_206E_200B_206D_202A_206D_202A_206A_206B_202D_200E_200D_200C_200D_202E_202C_206F_206D_202E((IDisposable)enumerator); - num = -1429783768; - break; - } continue; - end_IL_028f: - break; + } + QuestStep questStep = questSequence.Steps[0]; + if (questStep.TerritoryId != 0 && questStep.Position.HasValue) + { + hashSet.Add(questStep.TerritoryId); + territoryQuests[questStep.TerritoryId] = territoryQuests.GetValueOrDefault(questStep.TerritoryId) + 1; + if (!_questsByTerritory.TryGetValue(questStep.TerritoryId, out List<(ElementId, string, Vector3, bool)> value)) + { + value = new List<(ElementId, string, Vector3, bool)>(); + _questsByTerritory[questStep.TerritoryId] = value; + } + value.Add((allQuest.Id, allQuest.Info.Name, questStep.Position.Value, true)); } } HashSet hashSet2 = new HashSet(_questRegistry.AllQuests.Select((Questionable.Model.Quest q) => q.Id)); try { ExcelSheet excelSheet = _dataManager.GetExcelSheet(); - IEnumerator> enumerator2 = _questData.AllQuests.GetEnumerator(); - try + foreach (var (elementId2, questInfo2) in _questData.AllQuests) { - Level? valueNullable = default(Level?); - List<(ElementId, string, Vector3, bool)> value2 = default(List<(ElementId, string, Vector3, bool)>); - ushort num9 = default(ushort); - while (_202E_202C_202B_206E_202C_206C_202A_200E_200C_200B_202E_200D_206F_206E_202C_200C_200E_206D_200E_200F_200F_202A_206D_200C_206A_200F_200E_200E_200E_200B_206D_200B_206F_206E_202E_200B_206C_206E_202B_206E_202E((IEnumerator)enumerator2)) + if (!(elementId2 is QuestId questId) || hashSet2.Contains(elementId2)) { - var (elementId2, questInfo2) = (KeyValuePair)(ref enumerator2.Current); - if (!(elementId2 is QuestId questId) || hashSet2.Contains(elementId2)) + continue; + } + try + { + Lumina.Excel.Sheets.Quest? rowOrDefault = excelSheet.GetRowOrDefault((uint)(questId.Value + 65536)); + if (!rowOrDefault.HasValue) { continue; } - try + Level? valueNullable = rowOrDefault.Value.IssuerLocation.ValueNullable; + if (!valueNullable.HasValue) { - Lumina.Excel.Sheets.Quest? rowOrDefault = excelSheet.GetRowOrDefault((uint)(_202A_200F_206F_206D_206C_206C_206D_202C_202E_206E_202C_206A_200F_200D_202A_200D_202A_200E_200C_206F_200B_202D_200D_200D_206E_200F_206B_200E_206F_202E_206C_200F_206D_206F_206B_206D_202B_206A_206F_202E((ElementId)questId) + 65536)); - num = (rowOrDefault.HasValue ? 87324240 : 87324247); - while (true) - { - int num6 = num; - int num3 = 87324246; - int num4 = num6; - int num7 = num4 + num3; - int num8 = num4 & num3; - switch (num7 - (num8 + num8)) - { - case 5: - goto end_IL_03b5; - case 6: - valueNullable = rowOrDefault.Value.IssuerLocation.ValueNullable; - num = (valueNullable.HasValue ? 87324244 : 87324243); - break; - case 4: - value2 = new List<(ElementId, string, Vector3, bool)>(); - _questsByTerritory[num9] = value2; - num = 87324245; - break; - case 2: - num9 = (ushort)valueNullable.Value.Territory.RowId; - num = ((num9 != 0) ? 87324254 : 87324241); - break; - case 0: - num = 87324247; - break; - case 1: - goto end_IL_03b5; - case 7: - goto end_IL_03b5; - case 8: - hashSet.Add(num9); - territoryQuests[num9] = territoryQuests.GetValueOrDefault(num9) + 1; - num = (_questsByTerritory.TryGetValue(num9, out value2) ? 87324245 : 87324242); - break; - case 3: - { - Vector3 item = new Vector3(valueNullable.Value.X, valueNullable.Value.Y, valueNullable.Value.Z); - value2.Add((questId, questInfo2.Name, item, false)); - goto end_IL_03b5; - } - } - continue; - end_IL_03b5: - break; - } + continue; } - catch + ushort num = (ushort)valueNullable.Value.Territory.RowId; + if (num != 0) { + hashSet.Add(num); + territoryQuests[num] = territoryQuests.GetValueOrDefault(num) + 1; + if (!_questsByTerritory.TryGetValue(num, out List<(ElementId, string, Vector3, bool)> value2)) + { + value2 = new List<(ElementId, string, Vector3, bool)>(); + _questsByTerritory[num] = value2; + } + Vector3 item = new Vector3(valueNullable.Value.X, valueNullable.Value.Y, valueNullable.Value.Z); + value2.Add((questId, questInfo2.Name, item, false)); } } - } - finally - { - num = ((enumerator2 == null) ? 311590421 : 311590422); - while (true) + catch { - int num10 = num; - int num3 = 311590423; - int num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_05b1; - case 1: - _200C_200D_200F_206B_202D_202C_202B_202D_200E_200E_200C_200F_206E_200D_202B_206F_206F_200B_202B_206C_206D_206D_200B_206E_200B_206D_202A_206D_202A_206A_206B_202D_200E_200D_200C_200D_202E_202C_206F_206D_202E((IDisposable)enumerator2); - num = 311590421; - break; - case 0: - num = 311590422; - break; - } - continue; - end_IL_05b1: - break; } } } catch { } - _zones = (from z in hashSet.Select([MethodImpl(MethodImplOptions.NoInlining)] (ushort id) => + _zones = (from z in hashSet.Select(delegate(ushort id) { string name = _territoryData.GetName(id); string mapIdForTerritory = GetMapIdForTerritory(id); - int num13 = territoryQuests[id]; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(8, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(-1509869170)); - defaultInterpolatedStringHandler.AppendFormatted(num13); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(362456123)); - defaultInterpolatedStringHandler.AppendFormatted((num13 != 1) ? global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1550583417) : global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1281927779)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - string text = defaultInterpolatedStringHandler.ToStringAndClear(); - int num14 = ((name != null) ? 1994970144 : 1994970147); - string text2; - while (true) - { - int num15 = num14; - int num16 = 1994970145; - int num17 = num15; - int num18 = num17 + num16; - int num19 = num17 & num16; - switch (num18 - (num19 + num19)) - { - default: - continue; - case 0: - goto IL_00eb; - case 1: - text2 = _003C_003Ec__DisplayClass56_0._200E_202E_206F_202A_200E_202C_202B_200C_202E_200B_202D_200D_206F_202B_206F_206F_200F_202C_202A_202E_200C_206E_206C_200B_206C_206A_206E_206B_202C_200E_200E_202A_200F_206E_200F_202B_206F_200C_202D_202E(name, 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(2018550958), text); - break; - case 2: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(6, 2); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-950100909)); - defaultInterpolatedStringHandler2.AppendFormatted(id); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(751790982)); - defaultInterpolatedStringHandler2.AppendFormatted(text); - text2 = defaultInterpolatedStringHandler2.ToStringAndClear(); - break; - } - } - break; - IL_00eb: - num14 = 1994970147; - } - string displayName = text2; - string text3 = name; - if (text3 == null) - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(5, 1); - defaultInterpolatedStringHandler3.AppendLiteral(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(1749272606)); - defaultInterpolatedStringHandler3.AppendFormatted(id); - text3 = defaultInterpolatedStringHandler3.ToStringAndClear(); - } - return new ZoneEntry(id, text3, displayName, mapIdForTerritory); + int num3 = territoryQuests[id]; + string text = $"({num3} quest{((num3 != 1) ? "s" : "")})"; + string displayName = ((name != null) ? (name + " " + text) : $"Zone {id} {text}"); + return new ZoneEntry(id, name ?? $"Zone {id}", displayName, mapIdForTerritory); }) orderby z.Name select z).ToList(); _zoneItems = _zones.Select((ZoneEntry z) => z.DisplayName).ToArray(); - num = ((_zones.Count <= 0) ? 1345343028 : 1345343029); - while (true) + if (_zones.Count > 0) { - int num11 = num; - int num3 = 1345343028; - int num4 = num11; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1345343029; - break; - case 1: - { - uint currentTerritory = _200C_202E_202D_206C_200D_200D_200D_202E_206F_200D_200D_200E_200E_202D_200B_200C_206B_202E_206D_202B_202D_200C_202E_206A_202E_200F_200F_206B_206D_202D_202B_202D_206D_206A_200E_202A_200C_202E_200C_200E_202E(_clientState); - int num12 = _zones.FindIndex((ZoneEntry z) => z.TerritoryId == currentTerritory); - _selectedZoneIndex = ((num12 >= 0) ? num12 : _202C_206F_202A_200C_200C_202A_200D_206A_206E_206E_200C_206A_200E_206C_202A_200E_206A_202B_200C_202A_206C_206F_206E_206C_206F_200C_206F_206A_202E_206F_206B_206A_200F_206A_200F_200C_202B_206C_206E_206C_202E(_selectedZoneIndex, 0, _zones.Count - 1)); - RebuildMarkers(); - num = 1345343028; - break; - } - case 0: - return; - } + uint currentTerritory = _clientState.TerritoryType; + int num2 = _zones.FindIndex((ZoneEntry z) => z.TerritoryId == currentTerritory); + _selectedZoneIndex = ((num2 >= 0) ? num2 : Math.Clamp(_selectedZoneIndex, 0, _zones.Count - 1)); + RebuildMarkers(); } } @@ -1521,29 +638,9 @@ internal sealed class QuestMapComponent try { RowRef map = _dataManager.GetExcelSheet().GetRow(territoryId).Map; - int num = ((map.RowId == 0) ? 1831894853 : 1831894852); - while (true) + if (map.RowId != 0) { - int num2 = num; - int num3 = 1831894853; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0077; - case 1: - return map.Value.Id.ExtractText(); - case 0: - goto end_IL_0049; - } - continue; - IL_0077: - num = 1831894852; - continue; - end_IL_0049: - break; + return map.Value.Id.ExtractText(); } } catch @@ -1557,33 +654,7 @@ internal sealed class QuestMapComponent try { TerritoryType row = _dataManager.GetExcelSheet().GetRow(territoryId); - int num = ((row.Map.RowId != 0) ? 818760685 : 818760684); - Map? result; - while (true) - { - int num2 = num; - int num3 = 818760685; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 2: - goto IL_0077; - case 1: - result = null; - break; - case 0: - result = row.Map.Value; - break; - } - break; - IL_0077: - num = 818760684; - } - return result; + return (row.Map.RowId != 0) ? new Map?(row.Map.Value) : ((Map?)null); } catch { @@ -1602,317 +673,74 @@ internal sealed class QuestMapComponent private void RebuildMarkers() { _currentMarkers.Clear(); - int num = ((_zones.Count == 0) ? (-1023750218) : (-1023750224)); - ZoneEntry zoneEntry = default(ZoneEntry); - List<(ElementId, string, Vector3, bool)> value = default(List<(ElementId, string, Vector3, bool)>); - Vector3 item3 = default(Vector3); - ElementId item = default(ElementId); - string item2 = default(string); - while (true) + if (_zones.Count == 0 || _selectedZoneIndex >= _zones.Count) { - int num2 = num; - int num3 = -1023750220; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + ZoneEntry zoneEntry = _zones[_selectedZoneIndex]; + if (!_questsByTerritory.TryGetValue(zoneEntry.TerritoryId, out List<(ElementId, string, Vector3, bool)> value)) + { + return; + } + Map? map = LoadMapRow(zoneEntry.TerritoryId); + foreach (var (elementId, questName, worldPos, _) in value) + { + if ((_showUnobtainable || !_questFunctions.IsQuestUnobtainable(elementId)) && PassesStatusFilter(elementId)) { - case 3: - zoneEntry = _zones[_selectedZoneIndex]; - num = (_questsByTerritory.TryGetValue(zoneEntry.TerritoryId, out value) ? (-1023750223) : (-1023750219)); - break; - case 2: - return; - case 4: - num = ((_selectedZoneIndex < _zones.Count) ? (-1023750217) : (-1023750218)); - break; - case 0: - num = -1023750224; - break; - case 1: - return; - case 5: - { - Map? map = LoadMapRow(zoneEntry.TerritoryId); - using (List<(ElementId, string, Vector3, bool)>.Enumerator enumerator = value.GetEnumerator()) - { - num = -1798420317; - while (true) - { - int num7 = num; - num3 = -1798420317; - num4 = num7; - Vector2 vector; - Vector2 mapPixelPos; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - vector = new Vector2(WorldToMapPixel(item3.X, map.Value.OffsetX, (int)map.Value.SizeFactor), WorldToMapPixel(item3.Z, map.Value.OffsetY, (int)map.Value.SizeFactor)); - goto IL_01b0; - case 5: - vector = new Vector2(1024f + item3.X, 1024f + item3.Z); - goto IL_01b0; - case 8: - num = ((!PassesStatusFilter(item)) ? (-1798420317) : (-1798420316)); - break; - case 3: - num = (_questFunctions.IsQuestUnobtainable(item) ? (-1798420317) : (-1798420309)); - break; - case 7: - num = (map.HasValue ? (-1798420319) : (-1798420314)); - break; - case 0: - num = (enumerator.MoveNext() ? (-1798420315) : (-1798420318)); - break; - case 4: - num = -1798420317; - break; - case 6: - { - (ElementId, string, Vector3, bool) current = enumerator.Current; - item = current.Item1; - item2 = current.Item2; - item3 = current.Item3; - num = (_showUnobtainable ? (-1798420309) : (-1798420320)); - break; - } - case 1: - goto end_IL_010b; - IL_01b0: - mapPixelPos = vector; - _currentMarkers.Add(new QuestMarker(item, item2, mapPixelPos, item3)); - num = -1798420317; - break; - } - continue; - end_IL_010b: - break; - } - } - RefreshMarkerStyles(); - return; - } + Vector2 mapPixelPos = (map.HasValue ? new Vector2(WorldToMapPixel(worldPos.X, map.Value.OffsetX, (int)map.Value.SizeFactor), WorldToMapPixel(worldPos.Z, map.Value.OffsetY, (int)map.Value.SizeFactor)) : new Vector2(1024f + worldPos.X, 1024f + worldPos.Z)); + _currentMarkers.Add(new QuestMarker(elementId, questName, mapPixelPos, worldPos)); } } + RefreshMarkerStyles(); } private void RefreshMarkerStyles() { - int num; - using (List.Enumerator enumerator = _currentMarkers.GetEnumerator()) + foreach (QuestMarker currentMarker in _currentMarkers) { - num = -1929554673; - while (true) - { - int num2 = num; - int num3 = -1929554676; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -1929554673; - break; - case 3: - num = (enumerator.MoveNext() ? (-1929554675) : (-1929554676)); - break; - case 1: - { - QuestMarker current = enumerator.Current; - (Vector4 Color, FontAwesomeIcon Icon, string Status) questStyle = _uiUtils.GetQuestStyle(current.QuestId); - Vector4 item = questStyle.Color; - FontAwesomeIcon item2 = questStyle.Icon; - string item3 = questStyle.Status; - current.Color = item; - current.Icon = item2; - current.Status = item3; - num = -1929554673; - break; - } - case 0: - goto end_IL_0018; - } - continue; - end_IL_0018: - break; - } + (Vector4 Color, FontAwesomeIcon Icon, string Status) questStyle = _uiUtils.GetQuestStyle(currentMarker.QuestId); + Vector4 item = questStyle.Color; + FontAwesomeIcon item2 = questStyle.Icon; + string item3 = questStyle.Status; + currentMarker.Color = item; + currentMarker.Icon = item2; + currentMarker.Status = item3; } - num = ((_selectedMarker == null) ? 638306356 : 638306357); - while (true) + if (_selectedMarker != null && !_currentMarkers.Contains(_selectedMarker)) { - int num7 = num; - int num3 = 638306359; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 638306357; - break; - case 1: - var (color, icon, status) = _uiUtils.GetQuestStyle(_selectedMarker.QuestId); - _selectedMarker.Color = color; - _selectedMarker.Icon = icon; - _selectedMarker.Status = status; - num = 638306356; - break; - case 2: - num = (_currentMarkers.Contains(_selectedMarker) ? 638306356 : 638306358); - break; - case 3: - _lastStyleRefresh = _200C_200B_202A_202B_202A_206D_206D_206A_200D_200C_200B_206A_202A_206C_206B_206B_200F_202B_206E_202D_206E_202C_202A_206A_202E_206D_206E_200B_200C_200E_200C_202D_200E_202E_206C_200B_206F_206F_206A_206B_202E(); - return; - } + var (color, icon, status) = _uiUtils.GetQuestStyle(_selectedMarker.QuestId); + _selectedMarker.Color = color; + _selectedMarker.Icon = icon; + _selectedMarker.Status = status; } + _lastStyleRefresh = Environment.TickCount64; } private bool PassesStatusFilter(ElementId questId) { - int selectedStatusFilter = _selectedStatusFilter; - int num = 1; - int num2 = selectedStatusFilter; - int num3; - bool result = default(bool); - switch (~(~num2 + num)) + return _selectedStatusFilter switch { - default: - num3 = -1323618443; - goto IL_0032; - case 2: - result = _questFunctions.IsQuestComplete(questId); - num3 = -1323618440; - goto IL_0032; - case 0: - goto IL_00cf; - case 1: - goto IL_0131; - case 3: - goto IL_0149; - IL_0032: - while (true) - { - int num4 = num3; - num = -1323618446; - num2 = num4; - int num5 = num2 + num; - int num6 = num2 & num; - int num8; - int num7; - switch (num5 - (num6 + num6)) - { - case 5: - goto IL_0084; - case 9: - goto end_IL_0032; - case 2: - num3 = -1323618443; - break; - case 12: - goto IL_00cf; - case 8: - result = true; - num3 = -1323618440; - break; - case 11: - num8 = ((!_questFunctions.IsReadyToAcceptQuest(questId)) ? 1 : 0); - goto IL_017f; - case 10: - return result; - case 7: - num3 = -1323618438; - break; - case 3: - goto IL_0131; - case 1: - goto IL_0149; - case 0: - num7 = 0; - goto IL_0172; - case 6: - num8 = 1; - goto IL_017f; - case 4: - { - num7 = ((!_questFunctions.IsQuestAcceptedOrComplete(questId)) ? 1 : 0); - goto IL_0172; - } - IL_0172: - result = (byte)num7 != 0; - num3 = -1323618440; - break; - IL_017f: - result = (byte)num8 != 0; - num3 = -1323618440; - break; - } - continue; - IL_0084: - num3 = ((!_questFunctions.IsReadyToAcceptQuest(questId)) ? (-1323618446) : (-1323618442)); - continue; - end_IL_0032: - break; - } - goto case 2; - IL_0149: - num3 = (_questFunctions.IsQuestLocked(questId) ? (-1323618444) : (-1323618439)); - goto IL_0032; - IL_00cf: - num3 = (_questFunctions.IsQuestLocked(questId) ? (-1323618446) : (-1323618441)); - goto IL_0032; - IL_0131: - result = _questFunctions.IsQuestAccepted(questId); - num3 = -1323618440; - goto IL_0032; - } + 1 => !_questFunctions.IsQuestLocked(questId) && _questFunctions.IsReadyToAcceptQuest(questId) && !_questFunctions.IsQuestAcceptedOrComplete(questId), + 2 => _questFunctions.IsQuestAccepted(questId), + 3 => _questFunctions.IsQuestComplete(questId), + 4 => _questFunctions.IsQuestLocked(questId) || !_questFunctions.IsReadyToAcceptQuest(questId), + _ => true, + }; } public void SelectZone(ushort territoryId) { - int num = ((!_needsRebuild) ? 798839994 : 798839997); - int num7 = default(int); - while (true) + if (_needsRebuild) { - int num2 = num; - int num3 = 798839993; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + RebuildZoneList(); + _needsRebuild = false; + } + for (int i = 0; i < _zones.Count; i++) + { + if (_zones[i].TerritoryId == territoryId) { - case 1: - _selectedZoneIndex = num7; + _selectedZoneIndex = i; OnZoneChanged(); - return; - case 3: - num7 = 0; - num = 798839996; - break; - case 0: - num = ((_zones[num7].TerritoryId != territoryId) ? 798839999 : 798839992); - break; - case 4: - RebuildZoneList(); - _needsRebuild = false; - num = 798839994; - break; - case 7: - num = 798839997; - break; - case 2: - return; - case 6: - { - int num8 = num7; - num3 = 1; - num4 = num8; - int num9 = num4 ^ num3; - int num10 = num4 & num3; - num7 = num9 + (num10 + num10); - num = 798839996; - break; - } - case 5: - num = ((num7 < _zones.Count) ? 798839993 : 798839995); break; } } @@ -1921,39 +749,13 @@ internal sealed class QuestMapComponent public void SelectQuest(ElementId questId, ushort territoryId) { SelectZone(territoryId); - using (List.Enumerator enumerator = _currentMarkers.GetEnumerator()) + foreach (QuestMarker currentMarker in _currentMarkers) { - int num = 924575683; - QuestMarker current = default(QuestMarker); - while (true) + if (currentMarker.QuestId == questId) { - int num2 = num; - int num3 = 924575683; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = 924575683; - break; - case 0: - num = (enumerator.MoveNext() ? 924575687 : 924575682); - break; - case 2: - _selectedMarker = current; - _centerOnMarker = true; - return; - case 4: - current = enumerator.Current; - num = ((!_200C_206F_206D_206E_202B_202B_202D_206C_202A_200B_206D_202C_202E_206C_202D_200B_202E_206D_202C_202C_206C_200B_206B_206D_202A_202B_200C_206E_202E_206C_202E_206E_200E_200E_206B_206E_200B_206D_206E_206C_202E(current.QuestId, questId)) ? 924575683 : 924575681); - break; - case 1: - goto end_IL_001f; - } - continue; - end_IL_001f: - break; + _selectedMarker = currentMarker; + _centerOnMarker = true; + return; } } if (!_questData.TryGetQuestInfo(questId, out IQuestInfo questInfo)) @@ -1966,39 +768,19 @@ internal sealed class QuestMapComponent { try { - Lumina.Excel.Sheets.Quest? rowOrDefault = _dataManager.GetExcelSheet().GetRowOrDefault((uint)(_202A_200F_206F_206D_206C_206C_206D_202C_202E_206E_202C_206A_200F_200D_202A_200D_202A_200E_200C_206F_200B_202D_200D_200D_206E_200F_206B_200E_206F_202E_206C_200F_206D_206F_206B_206D_202B_206A_206F_202E((ElementId)questId2) + 65536)); - int num = ((!rowOrDefault.HasValue) ? 1567290571 : 1567290568); - Level? valueNullable = default(Level?); - Map? map = default(Map?); - while (true) + Lumina.Excel.Sheets.Quest? rowOrDefault = _dataManager.GetExcelSheet().GetRowOrDefault((uint)(questId2.Value + 65536)); + if (rowOrDefault.HasValue) { - int num7 = num; - int num3 = 1567290569; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) + Level? valueNullable = rowOrDefault.Value.IssuerLocation.ValueNullable; + if (valueNullable.HasValue) { - case 4: - num = 1567290568; - break; - case 1: - valueNullable = rowOrDefault.Value.IssuerLocation.ValueNullable; - num = ((!valueNullable.HasValue) ? 1567290571 : 1567290570); - break; - case 3: worldPos = new Vector3(valueNullable.Value.X, valueNullable.Value.Y, valueNullable.Value.Z); - map = LoadMapRow(territoryId); - num = ((!map.HasValue) ? 1567290571 : 1567290569); - break; - case 0: - mapPixelPos = new Vector2(WorldToMapPixel(worldPos.X, map.Value.OffsetX, (int)map.Value.SizeFactor), WorldToMapPixel(worldPos.Z, map.Value.OffsetY, (int)map.Value.SizeFactor)); - num = 1567290571; - break; - case 2: - goto end_IL_016b; + Map? map = LoadMapRow(territoryId); + if (map.HasValue) + { + mapPixelPos = new Vector2(WorldToMapPixel(worldPos.X, map.Value.OffsetX, (int)map.Value.SizeFactor), WorldToMapPixel(worldPos.Z, map.Value.OffsetY, (int)map.Value.SizeFactor)); + } } - continue; - end_IL_016b: - break; } } catch @@ -2025,234 +807,4 @@ internal sealed class QuestMapComponent _offset = Vector2.Zero; _zoom = 0.5f; } - - static MapTextureService _202C_206A_200F_200F_206D_206D_206A_202A_202E_206F_206B_202D_206E_206E_206B_206F_200E_206B_206A_206B_206C_206C_206F_200B_202A_202B_202E_206D_202C_206F_200E_206D_202B_202B_200B_202C_206B_200F_202D_206B_202E(ITextureProvider P_0, IDataManager P_1, ILogger P_2) - { - return new MapTextureService(P_0, P_1, P_2); - } - - static void _206C_200C_200B_200E_206C_206C_202C_206B_200E_206D_206F_206F_206F_200C_200F_200F_200B_200E_202C_206C_202D_206B_206B_206A_206C_200D_200B_206C_200D_200D_202A_200D_206E_206A_206F_202A_206E_200C_200B_206D_202E() - { - ImGui.Separator(); - } - - static ImGuiStylePtr _206E_202C_202C_200C_206B_202E_200C_200E_206D_202B_200C_206F_200F_202C_206E_206E_202E_206A_200F_200D_206D_206C_206E_200C_202D_202A_200D_202E_206C_206F_200D_202B_202D_206E_202B_202C_200C_206C_206D_200C_202E() - { - return ImGui.GetStyle(); - } - - static ImGuiIOPtr _206A_206E_202C_200C_206E_206F_206A_200E_200F_206E_202B_202C_202B_202C_200D_202D_206A_202B_200B_200C_200C_206B_206F_206B_206E_206B_202C_200D_206D_200E_202D_202D_200D_202E_202B_206A_202A_206D_200B_206C_202E() - { - return ImGui.GetIO(); - } - - static Vector2 _202E_206F_202A_202D_206F_202D_200E_200B_202A_202B_206B_206A_206E_206F_200B_206B_200C_206C_200D_206A_206F_206C_202E_206F_206A_200E_206A_206E_202A_200C_206F_206D_202E_206C_202E_206F_200D_200F_206F_202B_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static float _202C_200D_202B_200D_206C_206D_202E_206E_200B_206F_206A_206A_206A_200E_200B_200D_200F_200E_206B_206D_200C_206D_202E_202A_206D_200D_202A_206C_202E_202D_200F_206E_200F_200C_206C_200B_206D_206F_206F_200E_202E() - { - return ImGui.GetFrameHeight(); - } - - static void _202C_206D_200E_206C_206D_206C_200E_200F_202D_206D_200D_206D_200E_202B_200B_206B_202D_206C_206E_202B_206D_206E_202C_202B_206E_206D_200B_202D_202D_200D_200C_206A_202B_202E_200B_200D_202E_200B_206D_200F_202E() - { - ImGui.SameLine(); - } - - static void _206F_202D_206D_200B_202B_206C_202D_200D_202C_200F_200C_202A_206C_206B_202E_200B_202C_202E_206D_206F_206B_206F_202E_200E_206D_202C_200E_206D_200D_206B_202D_206E_206A_206D_206F_206A_200C_206B_202B_206A_202E(float P_0) - { - ImGui.SetNextItemWidth(P_0); - } - - static uint _200C_202E_202D_206C_200D_200D_200D_202E_206F_200D_200D_200E_200E_202D_200B_200C_206B_202E_206D_202B_202D_200C_202E_206A_202E_200F_200F_206B_206D_202D_202B_202D_206D_206A_200E_202A_200C_202E_200C_200E_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static bool _206D_200F_202C_206D_206E_202D_202D_200C_200E_202B_200B_206B_206B_206F_200E_206C_206E_200E_202A_200D_202D_200C_200E_202E_206F_206E_206B_202E_200F_202B_202D_206C_206E_202B_206C_200B_202A_200E_206A_202C_202E() - { - return ImGui.IsItemHovered(); - } - - static void _200C_202D_206C_200F_200C_202D_202A_206B_200F_200B_206E_202D_200F_200C_200E_200F_200E_200E_206D_200E_206D_200D_202A_206E_206F_206B_200F_200F_200C_200B_202A_206F_200C_202C_206F_206D_200C_206F_200C_202D_202E(ImU8String P_0) - { - ImGui.SetTooltip(P_0); - } - - static float _206D_206A_200F_206D_200C_206E_206C_200C_206F_200B_202D_200D_202B_200B_202E_200E_206C_206F_206E_202E_200F_202B_206D_200F_200D_200E_202C_200F_200C_206F_206E_200C_206A_200C_206E_200E_200F_202D_202E_206A_202E() - { - return ImGui.GetTextLineHeight(); - } - - static uint _202B_200E_202D_206A_206A_202D_202D_202D_202C_200F_200C_206E_206B_206B_200B_206F_206C_202D_202E_200C_202D_200F_206A_206B_206A_206B_200B_206E_200C_206C_202C_202A_200B_202D_200F_200B_202D_206E_206E_202A_202E(Vector4 P_0) - { - return ImGui.ColorConvertFloat4ToU32(P_0); - } - - static long _200C_200B_202A_202B_202A_206D_206D_206A_200D_200C_200B_206A_202A_206C_206B_206B_200F_202B_206E_202D_206E_202C_202A_206A_202E_206D_206E_200B_200C_200E_200C_202D_200E_202E_206C_200B_206F_206F_206A_206B_202E() - { - return Environment.TickCount64; - } - - static Vector2 _206B_202C_200B_200F_206D_206B_200F_202B_206F_206B_206A_202A_206A_206F_200F_200B_202D_202D_206E_200B_202B_200D_206A_200D_202D_202E_202E_200F_206B_200D_200C_202A_206C_200E_206E_206A_202C_206C_206B_202B_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static float _206C_206B_206B_202E_206D_200F_206E_200C_206C_200B_206C_206D_206D_200E_206E_202B_206B_202B_206F_200D_200F_200C_202C_200C_206B_200C_206D_200D_206A_206B_206B_200F_202B_202E_206C_206D_202A_202E_202A_202B_202E(float P_0, float P_1) - { - return MathF.Max(P_0, P_1); - } - - static Vector2 _202A_206A_202D_202C_200C_200F_206B_200E_206D_202A_206B_206B_202B_206D_200B_200D_206E_200F_200B_202D_202E_202C_200E_206A_200F_200E_200B_202C_206A_206F_202C_200D_206C_206D_206B_200D_206E_202B_206C_202A_202E() - { - return ImGui.GetCursorScreenPos(); - } - - static bool _206D_206B_202D_202C_206C_206D_202D_206E_200F_200C_202A_200F_202C_202B_202A_200D_200F_202A_200C_206E_206D_202A_206E_206C_200C_200E_202A_202B_206F_202A_202C_206A_206C_202B_206D_200F_206A_200B_202A_202E_202E(ImU8String P_0, Vector2 P_1, ImGuiButtonFlags P_2) - { - return ImGui.InvisibleButton(P_0, P_1, P_2); - } - - static ImDrawListPtr _202A_200C_200F_200C_200D_200E_202D_200B_206C_200F_206C_200F_202C_200B_202B_202B_202B_202E_202C_206D_200D_200B_202B_202B_200C_206F_206D_200E_206F_200D_202C_206C_206A_206E_202E_206D_200F_206E_200F_206F_202E() - { - return ImGui.GetWindowDrawList(); - } - - static bool _206D_200F_202B_200B_206D_206E_202B_206D_200B_200E_206B_206D_206B_200F_206F_200C_200F_206A_206A_202A_200F_206F_202B_206E_202C_206C_202A_202E_206E_202C_206B_206D_206C_200C_202C_206F_206A_206E_200B_202E_202E(MapTextureService P_0, uint P_1) - { - return P_0.LoadForTerritory(P_1); - } - - static IDalamudTextureWrap _206C_200E_200D_200E_200C_200C_206D_202E_202D_206E_202D_200B_202E_206C_200E_202D_206C_206C_206F_200C_206B_202C_206C_200C_206A_202A_202E_206F_202C_206F_200B_206A_200E_202B_200E_202B_202E_206A_200E_200C_202E(MapTextureService P_0) - { - return P_0.GetTextureWrap(); - } - - static ImTextureID _200E_202C_206C_200F_200E_206A_206C_202D_202D_206D_200D_202A_202D_202B_200C_202B_202C_202B_206D_206B_200E_200E_206A_200C_206C_200E_206C_206D_206F_206C_200F_206B_206B_200B_206B_202D_200D_202D_202A_200D_202E(IDalamudTextureWrap P_0) - { - return P_0.Handle; - } - - static bool _206F_206F_206F_206A_206B_206F_202D_206E_200E_202B_206D_206C_206E_200D_206A_206E_206A_200C_202A_206A_202E_202B_202C_200C_202C_206D_206F_206B_202D_206A_202A_206E_202C_206B_202D_206B_206D_200E_200F_206B_202E(MapTextureService P_0) - { - return P_0.IsSearching; - } - - static float _202C_200B_206A_206E_202D_206C_202C_202E_206C_206F_206E_202B_200E_200F_202B_202D_202B_206C_206E_206E_206E_202D_202E_200D_200E_200B_200D_200F_206C_200C_206E_206B_200B_202C_206D_206F_200D_206C_206F_206C_202E(float P_0, float P_1) - { - return Math.Max(P_0, P_1); - } - - static Vector2 _206A_200E_200B_206A_206A_206B_206C_200D_206C_200F_200B_206A_206A_206D_206B_202C_202E_202E_206F_206C_206A_200B_202C_202B_202B_206C_200D_202E_202A_206E_200B_206D_200C_202C_202B_206A_206A_202E_200D_202D_202E() - { - return ImGui.GetMousePos(); - } - - static bool _200F_206C_206E_202D_206C_206B_206A_206B_200C_202B_200D_200E_200E_202E_206F_202E_202D_200E_206B_206C_206C_206E_206D_206B_200B_206C_202B_202C_202A_202E_202D_200B_202C_206E_202C_200B_202B_206B_202C_206B_202E(ImGuiMouseButton P_0) - { - return ImGui.IsMouseReleased(P_0); - } - - static string _206C_200C_200C_202B_200D_206C_202D_206B_206A_206F_206A_200E_200D_202A_200E_202E_202E_202E_202B_202A_202B_200C_202E_202C_202B_200E_200C_200B_202D_206C_200C_200B_206B_200B_206A_206D_206B_202C_202E_202D_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static ImFontPtr _206E_206D_202A_206E_206B_206B_200B_200F_206D_200E_202D_200F_200E_202A_206A_200C_202D_206A_200D_202C_206D_200E_206D_206F_202D_206E_202D_202A_200D_200C_206E_206E_202A_200E_200D_200D_202E_200F_206F_206E_202E() - { - return UiBuilder.IconFont; - } - - static ImRaii.FontDisposable _200E_200E_202B_206B_202E_206C_200B_202E_202D_202B_200C_202C_206C_200E_200D_202E_202A_200D_200B_206B_202C_206E_200C_202D_202C_200B_206F_202D_200F_200E_202E_202C_200E_200D_206E_200B_200D_200D_206B_200C_202E(ImFontPtr P_0, bool P_1) - { - return ImRaii.PushFont(P_0, P_1); - } - - static void _200C_200D_200F_206B_202D_202C_202B_202D_200E_200E_200C_200F_206E_200D_202B_206F_206F_200B_202B_206C_206D_206D_200B_206E_200B_206D_202A_206D_202A_206A_206B_202D_200E_200D_200C_200D_202E_202C_206F_206D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static float _206D_200E_202B_202E_206D_200C_206D_200E_202D_206F_206B_206A_206D_206C_200E_202A_206E_206C_200C_200F_202D_206B_200B_200B_206E_200B_202E_200F_200D_200F_206E_206D_206C_202C_206E_200C_202D_206C_206B_202E() - { - return ImGui.GetFontSize(); - } - - static Vector2 _206D_206A_206B_200F_206D_200F_200B_206A_200D_202E_206D_206C_206D_200C_206B_202A_206D_206C_206E_206A_206D_206E_200E_206E_200D_206E_202C_200D_202A_200F_202B_206A_202B_206A_202A_206C_202D_206C_206B_202D_202E(Vector2 P_0, Map P_1) - { - return MapUtil.WorldToMap(P_0, P_1); - } - - static MapLinkPayload _200C_202E_206E_200E_200D_206B_206A_202D_202D_206C_202C_206F_202E_202A_206D_206D_200D_202B_202C_206F_206E_202C_206B_206E_200E_202D_202E_206D_206C_200D_202C_200F_202A_202B_206C_200B_206C_206A_202E_202E(uint P_0, uint P_1, float P_2, float P_3, float P_4) - { - return new MapLinkPayload(P_0, P_1, P_2, P_3, P_4); - } - - static bool _206E_206D_202B_206D_202E_202E_206B_206F_200B_202B_200F_206B_206C_206B_206B_200C_202B_206A_202A_200C_206A_200F_202A_202B_206A_206F_202A_202D_202C_200E_206E_206A_202D_202C_200F_202D_202B_206C_206D_202E(IGameGui P_0, MapLinkPayload P_1) - { - return P_0.OpenMapWithMapLink(P_1); - } - - static void _206C_206C_206F_200E_206E_202C_206A_202C_206A_202B_202E_202E_202E_200B_200D_200B_202D_206E_202B_202C_200F_206D_200D_200E_202C_200B_200B_200F_200F_206D_206C_202A_202B_206B_206D_200E_200E_200B_202E_202A_202E(ImU8String P_0, ImGuiPopupFlags P_1) - { - ImGui.OpenPopup(P_0, P_1); - } - - static float _200D_206A_202E_206B_202D_206C_206A_206C_202D_206D_200F_200E_202D_200F_202A_200E_206A_200B_200E_200B_202D_200E_206D_202D_206E_206B_202A_202E_206B_206A_200E_200C_206E_206C_200F_206B_206C_202B_202A_206B_202E(float P_0) - { - return MathF.Abs(P_0); - } - - static float _200B_202B_200F_202A_206C_206B_200C_200F_206E_202B_200F_200B_206A_206F_202A_202A_200E_202B_202A_202A_200B_200F_200E_202C_206F_200B_202A_206F_206D_206D_206F_206F_206B_202C_202B_206B_202D_206C_202D_200E_202E(float P_0, float P_1, float P_2) - { - return Math.Clamp(P_0, P_1, P_2); - } - - static bool _206C_206B_200D_202E_206C_206E_206A_200F_206E_206B_206B_202B_200E_202C_206D_200D_206C_206A_202A_206E_206D_206A_200F_206D_202C_202E_200E_200C_202D_202A_202E_206D_200B_206D_202A_202A_206C_206A_206F_200E_202E(ImGuiMouseButton P_0) - { - return ImGui.IsMouseDown(P_0); - } - - static bool _202C_206D_206E_202D_200C_206C_202D_206C_202B_200E_202A_200F_200C_202D_202C_202D_206C_202A_206C_206D_202C_200E_200E_206D_200E_200B_200D_200B_202D_202A_200B_206A_200E_206C_202C_206F_200D_202A_206F_202E_202E(QuestRoot P_0) - { - return P_0.Disabled; - } - - static List _202B_206F_200E_206F_202E_206F_202E_206D_206D_200C_200C_200D_200F_202A_206A_206A_206C_206F_202B_202E_202E_202B_202A_200D_200D_202B_206A_200D_206A_200B_200F_206C_206D_200B_206A_200B_202E_202C_200B_202C_202E(QuestSequence P_0) - { - return P_0.Steps; - } - - static ushort _202C_200D_202C_202A_206E_200C_200F_200E_206F_206A_200E_206D_202E_200C_202A_202C_206F_200F_206C_202C_200E_206E_206D_206B_202E_200D_202E_200C_200F_200E_202A_200F_202A_206A_206C_202D_200E_202B_202D_202A_202E(QuestStep P_0) - { - return P_0.TerritoryId; - } - - static Vector3? _202E_206F_206D_200B_200C_200D_200F_200F_202D_206F_202A_206A_206D_202A_202B_200D_200B_206D_202D_206C_206C_200E_202D_206B_206E_200D_206D_206C_202B_206A_200E_200F_200D_200B_200F_202E_200F_200D_206E_200F_202E(QuestStep P_0) - { - return P_0.Position; - } - - static bool _202E_202C_202B_206E_202C_206C_202A_200E_200C_200B_202E_200D_206F_206E_202C_200C_200E_206D_200E_200F_200F_202A_206D_200C_206A_200F_200E_200E_200E_200B_206D_200B_206F_206E_202E_200B_206C_206E_202B_206E_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static ushort _202A_200F_206F_206D_206C_206C_206D_202C_202E_206E_202C_206A_200F_200D_202A_200D_202A_200E_200C_206F_200B_202D_200D_200D_206E_200F_206B_200E_206F_202E_206C_200F_206D_206F_206B_206D_202B_206A_206F_202E(ElementId P_0) - { - return P_0.Value; - } - - static int _202C_206F_202A_200C_200C_202A_200D_206A_206E_206E_200C_206A_200E_206C_202A_200E_206A_202B_200C_202A_206C_206F_206E_206C_206F_200C_206F_206A_202E_206F_206B_206A_200F_206A_200F_200C_202B_206C_206E_206C_202E(int P_0, int P_1, int P_2) - { - return Math.Clamp(P_0, P_1, P_2); - } - - static bool _200C_206F_206D_206E_202B_202B_202D_206C_202A_200B_206D_202C_202E_206C_202D_200B_202E_206D_202C_202C_206C_200B_206B_206D_202A_202B_200C_206E_202E_206C_202E_206E_200E_200E_206B_206E_200B_206D_206E_206C_202E(ElementId P_0, ElementId P_1) - { - return P_0 == P_1; - } } diff --git a/Questionable/Questionable.Windows.JournalComponents/QuestRewardComponent.cs b/Questionable/Questionable.Windows.JournalComponents/QuestRewardComponent.cs index eae3d1d..8749e45 100644 --- a/Questionable/Questionable.Windows.JournalComponents/QuestRewardComponent.cs +++ b/Questionable/Questionable.Windows.JournalComponents/QuestRewardComponent.cs @@ -3,12 +3,9 @@ using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Bindings.ImGui; using Dalamud.Game.Text; using Dalamud.Interface; -using Dalamud.Interface.ManagedFontAtlas; using Dalamud.Interface.Utility.Raii; using Dalamud.Plugin; using Questionable.Controller; @@ -26,314 +23,9 @@ internal sealed class QuestRewardComponent Item } - private readonly record struct FlatRow(RowType Type, int GroupIndex, ItemReward? Item) - { - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202C_202E_202C_200D_202C_202B_206D_202B_200F_200D_202A_202B_206D_202B_202D_206A_202B_202B_206E_200E_202E_206E_202B_200B_200B_202D_202A_206E_200D_202C_206E_206B_200B_206D_206D_206C_202D_202D_206B_202A_202E(); - _200D_202E_200E_200E_206E_200B_202E_202C_200E_202A_200B_200D_206E_200D_200E_202C_200F_206D_202B_202D_200B_206C_200E_202D_200D_202A_206B_200C_200E_202A_200B_200E_206B_206B_206A_206E_200D_206E_200B_200E_202E(stringBuilder, 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(-478916716)); - _200D_202E_200E_200E_206E_200B_202E_202C_200E_202A_200B_200D_206E_200D_200E_202C_200F_206D_202B_202D_200B_206C_200E_202D_200D_202A_206B_200C_200E_202A_200B_200E_206B_206B_206A_206E_200D_206E_200B_200E_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(556540328)); - int num = ((!PrintMembers(stringBuilder)) ? 641617468 : 641617469); - while (true) - { - int num2 = num; - int num3 = 641617468; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 641617469; - break; - case 0: - _206E_206F_202C_206B_206B_206E_200E_200B_206B_202D_202D_206C_202A_200C_206F_206A_206C_202B_206B_200F_200F_206A_200D_202C_200F_200D_206E_200F_202D_202A_200D_200C_206A_200D_200F_200E_206C_202D_200C_202C_202E(stringBuilder, '}'); - return _202E_202B_202B_200C_206E_200E_202C_202A_202E_202D_202E_206E_200B_200B_202A_202D_202D_202D_200C_206E_202E_200D_206C_200D_202C_202E_202C_206C_202E_206C_202E_200B_202B_206C_202B_200E_206F_200F_206F_200F_202E((object?)stringBuilder); - case 1: - _206E_206F_202C_206B_206B_206E_200E_200B_206B_202D_202D_206C_202A_200C_206F_206A_206C_202B_206B_200F_200F_206A_200D_202C_200F_200D_206E_200F_202D_202A_200D_200C_206A_200D_200F_200E_206C_202D_200C_202C_202E(stringBuilder, ' '); - num = 641617468; - break; - } - } - } + private readonly record struct FlatRow(RowType Type, int GroupIndex, ItemReward? Item); - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200D_202E_200E_200E_206E_200B_202E_202C_200E_202A_200B_200D_206E_200D_200E_202C_200F_206D_202B_202D_200B_206C_200E_202D_200D_202A_206B_200C_200E_202A_200B_200E_206B_206B_206A_206E_200D_206E_200B_200E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1795909122)); - _200D_202E_200E_200E_206E_200B_202E_202C_200E_202A_200B_200D_206E_200D_200E_202C_200F_206D_202B_202D_200B_206C_200E_202D_200D_202A_206B_200C_200E_202A_200B_200E_206B_206B_206A_206E_200D_206E_200B_200E_202E(builder, Type.ToString()); - _200D_202E_200E_200E_206E_200B_202E_202C_200E_202A_200B_200D_206E_200D_200E_202C_200F_206D_202B_202D_200B_206C_200E_202D_200D_202A_206B_200C_200E_202A_200B_200E_206B_206B_206A_206E_200D_206E_200B_200E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1647495557)); - _200D_202E_200E_200E_206E_200B_202E_202C_200E_202A_200B_200D_206E_200D_200E_202C_200F_206D_202B_202D_200B_206C_200E_202D_200D_202A_206B_200C_200E_202A_200B_200E_206B_206B_206A_206E_200D_206E_200B_200E_202E(builder, GroupIndex.ToString()); - _200D_202E_200E_200E_206E_200B_202E_202C_200E_202A_200B_200D_206E_200D_200E_202C_200F_206D_202B_202D_200B_206C_200E_202D_200D_202A_206B_200C_200E_202A_200B_200E_206B_206B_206A_206E_200D_206E_200B_200E_202E(builder, 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(-955671083)); - _200B_206F_206B_202E_202D_200D_206D_200E_206C_206E_206A_202B_206C_200E_200F_202A_202B_206E_200B_200F_200C_202C_206F_200C_206B_206D_202B_206A_202B_206A_202A_200B_200B_200C_206F_206F_206C_206C_200E_202E(builder, (object?)Item); - return true; - } - - [CompilerGenerated] - public bool Equals(FlatRow other) - { - int num = ((!EqualityComparer.Default.Equals(Type, other.Type)) ? (-1578356657) : (-1578356658)); - while (true) - { - int num2 = num; - int num3 = -1578356660; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return EqualityComparer.Default.Equals(Item, other.Item); - case 2: - num = ((!EqualityComparer.Default.Equals(GroupIndex, other.GroupIndex)) ? (-1578356657) : (-1578356659)); - break; - case 3: - return false; - case 0: - num = -1578356658; - break; - } - } - } - - bool IEquatable.Equals(FlatRow other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder? _202C_202E_202C_200D_202C_202B_206D_202B_200F_200D_202A_202B_206D_202B_202D_206A_202B_202B_206E_200E_202E_206E_202B_200B_200B_202D_202A_206E_200D_202C_206E_206B_200B_206D_206D_206C_202D_202D_206B_202A_202E() - { - return new StringBuilder(); - } - - static StringBuilder? _200D_202E_200E_200E_206E_200B_202E_202C_200E_202A_200B_200D_206E_200D_200E_202C_200F_206D_202B_202D_200B_206C_200E_202D_200D_202A_206B_200C_200E_202A_200B_200E_206B_206B_206A_206E_200D_206E_200B_200E_202E(StringBuilder? P_0, string? P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder? _206E_206F_202C_206B_206B_206E_200E_200B_206B_202D_202D_206C_202A_200C_206F_206A_206C_202B_206B_200F_200F_206A_200D_202C_200F_200D_206E_200F_202D_202A_200D_200C_206A_200D_200F_200E_206C_202D_200C_202C_202E(StringBuilder? P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string? _202E_202B_202B_200C_206E_200E_202C_202A_202E_202D_202E_206E_200B_200B_202A_202D_202D_202D_200C_206E_202E_200D_206C_200D_202C_202E_202C_206C_202E_206C_202E_200B_202B_206C_202B_200E_206F_200F_206F_200F_202E(object? P_0) - { - return P_0.ToString(); - } - - static StringBuilder? _200B_206F_206B_202E_202D_200D_206D_200E_206C_206E_206A_202B_206C_200E_200F_202A_202B_206E_200B_200F_200C_202C_206F_200C_206B_206D_202B_206A_202B_206A_202A_200B_200B_200C_206F_206F_206C_206C_200E_202E(StringBuilder? P_0, object? P_1) - { - return P_0.Append(P_1); - } - } - - private sealed record ItemGroup(string Label, EItemRewardType Type, List Items) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202D_200D_206C_202D_202B_202B_202D_200C_202A_202D_200E_200C_206C_202D_200F_202A_200E_206C_202C_200D_200C_206B_206A_206F_206F_206E_200E_206F_206B_206D_206F_206E_202E_202B_206B_200C_200F_206B_206D_206F_202E(typeof(ItemGroup).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206E_206B_206D_200B_206D_200B_200B_200C_206F_200B_206F_202A_206E_200E_200E_202C_202C_200E_202D_200F_200C_200B_202A_206F_200F_202C_206F_200E_206F_206B_206A_200B_202E_200D_202A_200B_206F_200B_206E_202C_202E(); - _200D_202C_202C_206A_206B_206E_202D_202A_202C_206F_206C_206F_202C_200E_206D_200C_206F_202E_200F_206A_200F_202B_206D_202D_202E_200D_200D_202B_200B_202D_202C_206F_202A_202C_206F_200D_202A_200E_206B_202B_202E(stringBuilder, 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(1409542577)); - _200D_202C_202C_206A_206B_206E_202D_202A_202C_206F_206C_206F_202C_200E_206D_200C_206F_202E_200F_206A_200F_202B_206D_202D_202E_200D_200D_202B_200B_202D_202C_206F_202A_202C_206F_200D_202A_200E_206B_202B_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? (-1981378509) : (-1981378512)); - while (true) - { - int num2 = num; - int num3 = -1981378510; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1981378512; - break; - case 2: - _202E_200B_206A_206F_200C_202A_206F_200D_202D_206D_202C_202E_206C_200D_202E_202A_200B_202E_202B_200F_202E_202D_206E_200C_200B_200F_206E_200F_206D_206A_202A_206D_206B_200D_206A_200B_202B_206F_202E_202E_202E(stringBuilder, ' '); - num = -1981378509; - break; - case 1: - _202E_200B_206A_206F_200C_202A_206F_200D_202D_206D_202C_202E_206C_200D_202E_202A_200B_202E_202B_200F_202E_202D_206E_200C_200B_200F_206E_200F_206D_206A_202A_206D_206B_200D_206A_200B_202B_206F_202E_202E_202E(stringBuilder, '}'); - return _202E_206C_200B_200D_206E_200C_206D_206C_206F_206A_206F_200B_202B_202B_202E_200C_206E_202C_200E_206D_202B_200D_200F_202E_206B_206C_200F_206E_202A_202A_200F_206A_206A_206C_202E_200D_206E_202C_200C_206A_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202B_202C_200D_206F_206D_202C_206E_206D_206C_200B_202E_206A_206F_206B_206F_202C_206D_200B_206F_200E_206A_200F_206A_200B_200E_206D_206D_202C_200C_202D_200E_206B_200B_206C_206E_202B_200D_202A_202C_202B_202E(); - _200D_202C_202C_206A_206B_206E_202D_202A_202C_206F_206C_206F_202C_200E_206D_200C_206F_202E_200F_206A_200F_202B_206D_202D_202E_200D_200D_202B_200B_202D_202C_206F_202A_202C_206F_200D_202A_200E_206B_202B_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(502488726)); - _200C_200F_202B_206D_202D_202A_200F_206E_206B_206F_200D_206F_202D_206C_202B_206D_200C_206D_200E_206B_206F_206D_200F_200F_202A_202A_202D_202E_206E_200E_202D_206B_206A_206E_200C_206D_200E_200C_202E_200D_202E(builder, (object)Label); - _200D_202C_202C_206A_206B_206E_202D_202A_202C_206F_206C_206F_202C_200E_206D_200C_206F_202E_200F_206A_200F_202B_206D_202D_202E_200D_200D_202B_200B_202D_202C_206F_202A_202C_206F_200D_202A_200E_206B_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(149690329)); - _200D_202C_202C_206A_206B_206E_202D_202A_202C_206F_206C_206F_202C_200E_206D_200C_206F_202E_200F_206A_200F_202B_206D_202D_202E_200D_200D_202B_200B_202D_202C_206F_202A_202C_206F_200D_202A_200E_206B_202B_202E(builder, Type.ToString()); - _200D_202C_202C_206A_206B_206E_202D_202A_202C_206F_206C_206F_202C_200E_206D_200C_206F_202E_200F_206A_200F_202B_206D_202D_202E_200D_200D_202B_200B_202D_202C_206F_202A_202C_206F_200D_202A_200E_206B_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-63277663)); - _200C_200F_202B_206D_202D_202A_200F_206E_206B_206F_200D_206F_202D_206C_202B_206D_200C_206D_200E_206B_206F_206D_200F_200F_202A_202A_202D_202E_206E_200E_202D_206B_206A_206E_200C_206D_200E_200C_202E_200D_202E(builder, (object)Items); - return true; - } - - [CompilerGenerated] - public bool Equals(ItemGroup? other) - { - int num = (((object)this == other) ? 1282595569 : 1282595575); - while (true) - { - int num2 = num; - int num3 = 1282595568; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return true; - case 2: - num = ((!_200F_200F_202A_206B_202A_200D_206A_206C_206B_206A_206C_202C_202C_202A_206D_206B_202A_202A_202C_206E_202A_206B_206D_206F_200C_200B_206F_202E_200F_200C_202C_206A_200E_202C_200F_206A_206B_202A_200F_200E_202E(EqualityContract, other.EqualityContract)) ? 1282595572 : 1282595573); - break; - case 7: - num = (((object)other == null) ? 1282595572 : 1282595570); - break; - case 6: - num = 1282595575; - break; - case 5: - num = ((!EqualityComparer.Default.Equals(Label, other.Label)) ? 1282595572 : 1282595571); - break; - case 4: - return false; - case 0: - return EqualityComparer>.Default.Equals(Items, other.Items); - case 3: - num = ((!EqualityComparer.Default.Equals(Type, other.Type)) ? 1282595572 : 1282595568); - break; - } - } - } - - bool IEquatable.Equals(ItemGroup? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202D_200D_206C_202D_202B_202B_202D_200C_202A_202D_200E_200C_206C_202D_200F_202A_200E_206C_202C_200D_200C_206B_206A_206F_206F_206E_200E_206F_206B_206D_206F_206E_202E_202B_206B_200C_200F_206B_206D_206F_202E(RuntimeTypeHandle P_0) - { - return System.Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206E_206B_206D_200B_206D_200B_200B_200C_206F_200B_206F_202A_206E_200E_200E_202C_202C_200E_202D_200F_200C_200B_202A_206F_200F_202C_206F_200E_206F_206B_206A_200B_202E_200D_202A_200B_206F_200B_206E_202C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200D_202C_202C_206A_206B_206E_202D_202A_202C_206F_206C_206F_202C_200E_206D_200C_206F_202E_200F_206A_200F_202B_206D_202D_202E_200D_200D_202B_200B_202D_202C_206F_202A_202C_206F_200D_202A_200E_206B_202B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202E_200B_206A_206F_200C_202A_206F_200D_202D_206D_202C_202E_206C_200D_202E_202A_200B_202E_202B_200F_202E_202D_206E_200C_200B_200F_206E_200F_206D_206A_202A_206D_206B_200D_206A_200B_202B_206F_202E_202E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202E_206C_200B_200D_206E_200C_206D_206C_206F_206A_206F_200B_202B_202B_202E_200C_206E_202C_200E_206D_202B_200D_200F_202E_206B_206C_200F_206E_202A_202A_200F_206A_206A_206C_202E_200D_206E_202C_200C_206A_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202B_202C_200D_206F_206D_202C_206E_206D_206C_200B_202E_206A_206F_206B_206F_202C_206D_200B_206F_200E_206A_200F_206A_200B_200E_206D_206D_202C_200C_202D_200E_206B_200B_206C_206E_202B_200D_202A_202C_202B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200C_200F_202B_206D_202D_202A_200F_206E_206B_206F_200D_206F_202D_206C_202B_206D_200C_206D_200E_206B_206F_206D_200F_200F_202A_202A_202D_202E_206E_200E_202D_206B_206A_206E_200C_206D_200E_200C_202E_200D_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200F_200F_202A_206B_202A_200D_206A_206C_206B_206A_206C_202C_202C_202A_206D_206B_202A_202A_202C_206E_202A_206B_206D_206F_200C_200B_206F_202E_200F_200C_202C_206A_200E_202C_200F_206A_206B_202A_200F_200E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass22_0 - { - public EItemRewardType type; - - public QuestRewardComponent _003C_003E4__this; - - internal bool _003CGetFilteredItems_003Eb__0(ItemReward x) - { - return x.Type == type; - } - - internal bool _003CGetFilteredItems_003Eb__2(ItemReward x) - { - int num = (_003C_003E4__this._showEventRewards ? (-346188384) : (-346188382)); - IQuestInfo questInfo2 = default(IQuestInfo); - QuestInfo questInfo = default(QuestInfo); - while (true) - { - int num2 = num; - int num3 = -346188380; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - return true; - case 6: - num = ((!_003C_003E4__this._questData.TryGetQuestInfo(x.ElementId, out questInfo2)) ? (-346188384) : (-346188380)); - break; - case 8: - num = -346188382; - break; - case 3: - num = (_200F_206E_200F_202D_206D_202D_200B_206B_202B_200E_206A_202A_200C_202E_200B_206B_202E_200C_206F_202B_200C_200E_206E_202E_200D_200E_200C_200E_200F_200C_202A_206A_206E_202E_202E_206F_206A_206D_202B_202C_202E(x.Name, _003C_003E4__this._searchText, StringComparison.OrdinalIgnoreCase) ? (-346188383) : (-346188379)); - break; - case 7: - num = ((!questInfo.IsSeasonalEvent) ? (-346188384) : (-346188378)); - break; - case 2: - return false; - case 0: - questInfo = questInfo2 as QuestInfo; - num = ((questInfo == null) ? (-346188384) : (-346188381)); - break; - case 1: - return false; - case 4: - num = (_202C_206C_206E_200D_202B_202C_200D_200B_206B_202A_206A_202E_206A_206E_206C_206B_200D_200D_200E_200E_200F_200F_200F_202D_202E_206C_206E_200C_200C_200F_202E_200F_206D_200E_206B_202A_206D_206F_202D_206A_202E(_003C_003E4__this._searchText) ? (-346188383) : (-346188377)); - break; - } - } - } - - static bool _202C_206C_206E_200D_202B_202C_200D_200B_206B_202A_206A_202E_206A_206E_206C_206B_200D_200D_200E_200E_200F_200F_200F_202D_202E_206C_206E_200C_200C_200F_202E_200F_206D_200E_206B_202A_206D_206F_202D_206A_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static bool _200F_206E_200F_202D_206D_202D_200B_206B_202B_200E_206A_202A_200C_202E_200B_206B_202E_200C_206F_202B_200C_200E_206E_202E_200D_200E_200C_200E_200F_200C_202A_206A_206E_202E_202E_206F_206A_206D_202B_202C_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.Contains(P_1, P_2); - } - } + private sealed record ItemGroup(string Label, EItemRewardType Type, List Items); private readonly QuestRegistry _questRegistry; @@ -357,7 +49,7 @@ internal sealed class QuestRewardComponent private bool _initialized; - private static readonly int CountPadWidth = _202A_200B_202B_202E_206E_200C_200F_206A_202B_206C_206B_206F_202C_202B_206C_206D_202A_206A_200C_200C_206B_206B_206B_202E_202C_206B_202C_202B_206F_200D_200E_202D_206E_206A_200E_200D_202A_202A_202E_206A_202E(9999.ToString(_206B_206C_202D_202C_202A_202A_206E_206C_200B_206B_206E_202A_200F_202A_200F_206B_206B_202C_206A_206D_200D_202C_206A_202D_202E_206F_202B_202E_206F_206A_200C_206A_206D_200F_200C_200F_200C_206E_206C_206A_202E())); + private static readonly int CountPadWidth = 9999.ToString(CultureInfo.CurrentCulture).Length; public QuestRewardComponent(QuestRegistry questRegistry, QuestData questData, QuestTooltipComponent questTooltipComponent, UiUtils uiUtils, IDalamudPluginInterface pluginInterface) { @@ -368,455 +60,183 @@ internal sealed class QuestRewardComponent _pluginInterface = pluginInterface; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe void DrawItemRewards() { - int num = (_initialized ? (-1982138496) : (-1982138492)); - int num11 = default(int); - while (true) + if (!_initialized) { - int num2 = num; - int num3 = -1982138489; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + UpdateFilter(); + _initialized = true; + } + float x = ImGui.GetStyle().ItemSpacing.X; + float num = ImGui.GetFrameHeight() + ImGui.CalcTextSize("Show seasonal event rewards").X + 3f * x; + if (UiThemeUtils.SearchInput("##RewardSearch", ref _searchText, 0f - num, "Search items...")) + { + UpdateFilter(); + } + ImGui.SameLine(); + if (UiThemeUtils.WrappedCheckbox("Show seasonal event rewards", ref _showEventRewards)) + { + UpdateFilter(); + } + ImGui.Spacing(); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, "Only untradeable items are listed (e.g. the Wind-up Airship can be sold on the market board)."); + ImGui.Separator(); + if (_flatRows.Count == 0) + { + UiThemeUtils.EmptyState(FontAwesomeIcon.Gift, "No items match your search."); + return; + } + float x2; + using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push()) + { + x2 = ImGui.CalcTextSize(FontAwesomeIcon.Check.ToIconString()).X; + } + float fontGlobalScale = ImGui.GetIO().FontGlobalScale; + using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable("ItemRewards", 2, ImGuiTableFlags.NoSavedSettings | ImGuiTableFlags.ScrollY); + if (!tableDisposable) + { + return; + } + ImGui.TableSetupColumn("Name", ImGuiTableColumnFlags.WidthStretch); + ImGui.TableSetupColumn("Obtained", ImGuiTableColumnFlags.WidthFixed, 120f * fontGlobalScale); + ImGui.TableHeadersRow(); + float textLineHeightWithSpacing = ImGui.GetTextLineHeightWithSpacing(); + bool flag = false; + ImGuiListClipper* intPtr = ImGuiNative.ImGuiListClipper(); + ImGuiNative.Begin(intPtr, _flatRows.Count, textLineHeightWithSpacing); + ImGuiListClipperPtr imGuiListClipperPtr = intPtr; + try + { + while (imGuiListClipperPtr.Step()) { - case 2: - _202E_200B_200B_202B_206A_200E_206E_202D_206A_200D_202E_200C_206F_202A_206E_206F_202B_200B_200D_206F_206E_202B_202A_206D_202C_202E_206E_206D_202D_200F_200D_202A_202C_202A_202A_206C_200B_200B_202E_200F_202E(); - _202C_206D_206A_200D_200D_206D_200C_200F_202E_202E_202A_200F_206A_202D_200B_202D_200E_202B_202B_200C_206C_202C_200D_202B_200C_202A_202A_206A_206A_202D_200E_200D_206F_202A_202B_206A_200B_206B_202C_206B_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)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(-315135606)); - _200C_200E_200D_200B_202C_206E_200C_202B_200F_200F_206F_202B_206A_202C_206A_206C_202D_206B_200C_206F_200F_206B_200D_206F_206D_200C_200E_200C_206C_206E_206C_202B_202C_202A_206F_200B_200F_206D_206B_202D_202E(); - num = ((_flatRows.Count != 0) ? (-1982138495) : (-1982138494)); - break; - case 0: - UpdateFilter(); - num = -1982138491; - break; - case 1: - UpdateFilter(); - num = -1982138481; - break; - case 5: - UiThemeUtils.EmptyState(FontAwesomeIcon.Gift, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-234196815)); - return; - case 3: - UpdateFilter(); - _initialized = true; - num = -1982138496; - break; - case 8: - _206A_200B_202E_206A_202E_200B_200C_200F_200C_202B_206A_202C_200F_200E_206A_202C_200D_200B_202E_202B_206F_206B_206B_202D_202B_206F_200C_200E_206B_206F_206C_200D_206F_200B_200D_206F_202B_200D_200B_200C_202E(); - num = ((!UiThemeUtils.WrappedCheckbox(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-171889759), ref _showEventRewards)) ? (-1982138491) : (-1982138489)); - break; - case 4: - num = -1982138492; - break; - case 7: - { - float x2 = _202A_200D_200C_202C_200F_202E_206A_206E_200D_202E_202E_206A_200E_206B_206B_206E_200C_206D_200D_202D_200C_202C_206D_206A_200D_200C_206A_202B_202B_206A_206E_206B_206D_200B_200B_206D_206B_206E_202E().ItemSpacing.X; - float num16 = _202C_200B_206E_200D_206F_202E_202C_202E_200E_206A_200B_200F_200D_206E_206D_202A_200C_202A_206F_200F_206F_206A_200B_202C_200B_202B_202A_206B_200C_202C_202A_206A_200E_206A_202E_206C_202E_206A_200D_206F_202E() + _206B_200E_206D_202C_202B_206A_206B_200D_206D_200E_202B_206E_200C_200F_202A_200F_200D_206B_200D_202B_202D_206B_200F_202A_206E_200B_206D_200B_206B_206D_206A_202E_202B_202A_202E_206F_206F_200C_206A_206B_202E((ImU8String)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(2144034824), false, -1f).X + 3f * x2; - num = ((!UiThemeUtils.SearchInput(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1497394490), ref _searchText, 0f - num16, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1473832797))) ? (-1982138481) : (-1982138490)); - break; - } - case 6: - { - IDisposable disposable = _200E_200D_202A_202A_206E_200C_206C_206C_206B_200D_202C_202A_206B_206D_206E_200C_206B_206B_202E_206F_200E_200B_200B_206F_206C_202E_202E_200C_202E_200E_206F_202C_206E_200B_202C_202B_200C_202E_206C_202A_202E(_200B_206D_206B_200F_200D_206C_200D_206A_200F_202A_200F_200F_200E_202A_200F_200F_206B_202B_200C_200F_202E_200B_202A_206B_202B_200B_200F_206E_206F_202A_206A_202B_202B_200C_206E_206B_200F_202C_206B_202E(_200B_200B_206C_206A_202A_206E_200F_206B_206D_206B_200B_200C_206E_200D_200E_202A_200B_200C_206E_202C_206A_200D_206E_206A_206C_206D_206D_202C_206E_200B_202B_202E_206E_206E_200B_200C_200F_206C_202B_200C_202E(_pluginInterface))); - float x; - try + for (int i = imGuiListClipperPtr.DisplayStart; i < imGuiListClipperPtr.DisplayEnd; i++) { - x = _206B_200E_206D_202C_202B_206A_206B_200D_206D_200E_202B_206E_200C_200F_202A_200F_200D_206B_200D_202B_202D_206B_200F_202A_206E_200B_206D_200B_206B_206D_206A_202E_202B_202A_202E_206F_206F_200C_206A_206B_202E((ImU8String)_200F_206E_206C_206B_200B_200D_200E_206C_206F_200C_200B_202A_206E_206C_200D_200C_206A_206C_206E_200E_206F_202B_202B_202C_202E_202D_200F_206C_200C_206B_206B_200B_202A_202D_202B_202D_206F_200B_206A_202A_202E(FontAwesomeIcon.Check), false, -1f).X; - } - finally - { - num = ((disposable == null) ? 152155330 : 152155331); - while (true) + if (DrawFlatRow(_flatRows[i], x2)) { - int num5 = num; - num3 = 152155330; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto end_IL_0224; - case 1: - _200C_202C_202A_206B_202D_200E_206B_206E_202C_202E_206D_206C_202E_200D_206F_202D_206F_206C_206D_200F_200F_202D_200E_200F_206F_200B_206B_200E_202B_206D_206E_206E_202D_202E_206D_202E_202E_202D_202E_202D_202E(disposable); - num = 152155330; - break; - case 2: - num = 152155331; - break; - } - continue; - end_IL_0224: - break; + flag = true; } } - float fontGlobalScale = _202E_202E_206C_206B_202C_202E_202B_206C_206F_202A_206B_206B_206B_206F_202D_200B_206D_206E_200B_200F_200E_206D_200C_202A_206B_200C_202A_202D_202E_206F_202B_200D_202A_202E_206F_202A_206E_202D_202B_202C_202E().FontGlobalScale; - using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable(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(-1103037648), 2, ImGuiTableFlags.NoSavedSettings | ImGuiTableFlags.ScrollY); - num = ((!(!tableDisposable)) ? (-1408349333) : (-1408349336)); - while (true) - { - int num6 = num; - num3 = -1408349334; - num4 = num6; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_02e7; - case 2: - return; - case 1: - { - _206A_206D_202E_206D_202E_206C_200B_206A_200F_206C_206B_206E_200F_200B_206C_202C_202A_206E_202E_206C_202E_200F_200F_202D_206C_200C_206F_206E_206D_202E_202E_202B_206C_206C_200E_202C_202E_206F_202B_206B_202E((ImU8String)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(261089734), ImGuiTableColumnFlags.WidthStretch, 0f, 0u); - _206A_206D_202E_206D_202E_206C_200B_206A_200F_206C_206B_206E_200F_200B_206C_202C_202A_206E_202E_206C_202E_200F_200F_202D_206C_200C_206F_206E_206D_202E_202E_202B_206C_206C_200E_202C_202E_206F_202B_206B_202E((ImU8String)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(-906326596), ImGuiTableColumnFlags.WidthFixed, 120f * fontGlobalScale, 0u); - _200B_202A_206A_202B_206B_200B_206B_200F_206D_202A_202A_206B_200F_200B_206B_200F_202B_200C_206D_206E_200E_202B_206F_206B_200E_202B_202A_200C_200D_206E_206B_206A_200B_202B_200E_200E_202D_200C_206B_202E_202E(); - float num7 = _200F_206F_202D_200D_200E_202E_206D_206E_200D_200E_202D_202B_200D_202B_206D_206C_202A_200D_206F_200E_200F_206D_206F_200B_200C_200F_206F_206A_206B_200D_206D_200E_202A_200B_200D_206C_200E_200E_200E_200E_202E(); - bool flag = false; - ImGuiListClipper* intPtr = _206D_200C_200B_206E_206C_206B_206D_200F_202A_206A_202C_202C_206E_202E_200E_206F_200E_200F_202E_206B_200C_206E_206C_200F_202C_206F_202C_200F_202B_206E_206A_202C_202A_206F_206C_206B_200C_200F_206E_200F_202E(); - _200F_202D_200D_206E_200D_202D_202E_206E_202A_202E_200E_200C_206F_206A_206B_200F_206E_202E_206A_200D_202B_206D_206C_200B_206B_206A_206B_200C_200E_200D_200B_200E_206B_206B_200D_200E_200C_200B_200E_202A_202E(intPtr, _flatRows.Count, num7); - ImGuiListClipperPtr imGuiListClipperPtr = intPtr; - try - { - num = 1069013826; - while (true) - { - int num8 = num; - num3 = 1069013829; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 4: - { - int num12 = num11; - num3 = 1; - num4 = num12; - num11 = (num4 | num3) + (num4 & num3); - num = 1069013831; - break; - } - case 0: - num = ((!DrawFlatRow(_flatRows[num11], x)) ? 1069013825 : 1069013824); - break; - case 6: - num11 = imGuiListClipperPtr.DisplayStart; - num = 1069013831; - break; - case 7: - num = (imGuiListClipperPtr.Step() ? 1069013827 : 1069013828); - break; - case 3: - num = 1069013826; - break; - case 5: - flag = true; - num = 1069013825; - break; - case 2: - num = ((num11 < imGuiListClipperPtr.DisplayEnd) ? 1069013829 : 1069013826); - break; - case 1: - goto end_IL_0376; - } - continue; - end_IL_0376: - break; - } - } - finally - { - imGuiListClipperPtr.Destroy(); - } - num = ((!flag) ? (-1647057897) : (-1647057898)); - while (true) - { - int num13 = num; - num3 = -1647057897; - num4 = num13; - int num14 = num4 + num3; - int num15 = num4 & num3; - switch (num14 - (num15 + num15)) - { - case 2: - num = -1647057898; - break; - case 1: - RebuildFlatRows(); - num = -1647057897; - break; - case 0: - return; - } - } - } - } - continue; - IL_02e7: - num = -1408349336; - } - } } } + finally + { + imGuiListClipperPtr.Destroy(); + } + if (flag) + { + RebuildFlatRows(); + } } - [MethodImpl(MethodImplOptions.NoInlining)] private bool DrawFlatRow(FlatRow row, float statusIconSpacing) { - _206F_206F_200B_200E_200B_200C_200E_206A_202A_206F_202E_202A_200C_200C_200C_202C_202D_202B_200B_200C_202D_202E_200C_200B_206E_200C_202A_206D_200D_206B_206A_206B_202D_206D_200C_202A_206A_206E_202D_206C_202E(); - _202C_202C_202A_200E_206E_202E_206E_206D_200F_206A_202E_206B_200D_200F_206C_206A_202D_206A_200E_206B_206B_206D_206B_206D_206F_200F_202E_200F_200B_202B_202E_202D_200C_202C_200D_200D_206D_206B_206F_202A_202E(); - int num = ((row.Type != RowType.Group) ? 484356028 : 484356023); - ItemGroup itemGroup = default(ItemGroup); - bool flag2 = default(bool); - bool result = default(bool); - QuestInfo questInfo2 = default(QuestInfo); - ItemReward item = default(ItemReward); - bool flag = default(bool); - string text = default(string); - Vector4 color = default(Vector4); - bool flag3 = default(bool); - IQuestInfo questInfo = default(IQuestInfo); - while (true) + ImGui.TableNextRow(); + ImGui.TableNextColumn(); + if (row.Type == RowType.Group) { - int num2 = num; - int num3 = 484356024; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - Vector4 vector; - switch (num5 - (num6 + num6)) + ItemGroup itemGroup = _filteredGroups[row.GroupIndex]; + bool flag = _expandedGroups.Contains(itemGroup.Label); + UiThemeUtils.DrawTrackerGroupCaret(_pluginInterface.UiBuilder.IconFontFixedWidthHandle, flag); + ImGui.SameLine(); + bool result = false; + ImU8String label = new ImU8String(5, 2); + label.AppendFormatted(itemGroup.Label); + label.AppendLiteral("##grp"); + label.AppendFormatted(row.GroupIndex); + if (ImGui.Selectable(label)) { - default: - continue; - case 13: - vector = UiThemeUtils.StatusUnobtainable; - goto IL_0096; - case 8: - _expandedGroups.Add(itemGroup.Label); - num = 484356024; - continue; - case 15: - { - itemGroup = _filteredGroups[row.GroupIndex]; - flag2 = _expandedGroups.Contains(itemGroup.Label); - UiThemeUtils.DrawTrackerGroupCaret(_200B_206D_206B_200F_200D_206C_200D_206A_200F_202A_200F_200F_200E_202A_200F_200F_206B_202B_200C_200F_202E_200B_202A_206B_202B_200B_200F_206E_206F_202A_206A_202B_202B_200C_206E_206B_200F_202C_206B_202E(_200B_200B_206C_206A_202A_206E_200F_206B_206D_206B_200B_200C_206E_200D_200E_202A_200B_200C_206E_202C_206A_200D_206E_206A_206C_206D_206D_202C_206E_200B_202B_202E_206E_206E_200B_200C_200F_206C_202B_200C_202E(_pluginInterface)), flag2); - _206A_200B_202E_206A_202E_200B_200C_200F_200C_202B_206A_202C_200F_200E_206A_202C_200D_200B_202E_202B_206F_206B_206B_202D_202B_206F_200C_200E_206B_206F_206C_200D_206F_200B_200D_206F_202B_200D_200B_200C_202E(); - result = false; - ImU8String imU8String2 = new ImU8String(5, 2); - imU8String2.AppendFormatted(itemGroup.Label); - imU8String2.AppendLiteral(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(169207648)); - imU8String2.AppendFormatted(row.GroupIndex); - num = ((!_206F_202D_200B_206E_206D_202D_206C_206B_206F_206E_200E_202A_206E_206A_202D_202A_206D_206C_200E_206F_200C_200B_202E_206B_200C_206F_200D_200D_202E_206C_206A_206B_200C_202C_200E_200F_206D_200D_206F_202C_202E(imU8String2, false, ImGuiSelectableFlags.None, default(Vector2))) ? 484356025 : 484356020); - continue; - } - case 12: - num = ((!flag2) ? 484356016 : 484356019); - continue; - case 2: - num = ((!questInfo2.IsSeasonalEvent) ? 484356029 : 484356018); - continue; - case 4: - { - item = row.Item; - float indentSpacing = _202A_200D_200C_202C_200F_202E_206A_206E_200D_202E_202E_206A_200E_206B_206B_206E_200C_206D_200D_202D_200C_202C_206D_206A_200D_200C_206A_202B_202B_206A_206E_206B_206D_200B_200B_206D_206B_206E_202E().IndentSpacing; - _202C_200C_206A_200E_206B_206C_202B_200B_202B_202B_202B_202E_202D_200F_200F_206B_202B_206D_200F_206D_200B_200C_206C_206A_200C_206D_200E_202C_202D_202A_200E_202D_206A_200B_206B_206E_202C_206A_202E_206B_202E(_202B_202B_202D_202E_202D_202E_206C_206C_206C_200C_206A_202A_202C_200E_202B_202A_202D_200D_200D_202A_200E_200C_202A_202E_200B_200E_202B_202A_200F_206E_200F_206F_200D_200C_202A_206C_202E_206B_206A_206E_202E() + indentSpacing); - flag = item.IsUnlocked(); - num = ((!_questRegistry.IsKnownQuest(item.ElementId)) ? 484356021 : 484356022); - continue; - } - case 14: - num = (flag ? 484356031 : 484356027); - continue; - case 7: - vector = UiThemeUtils.StatusComplete; - goto IL_0096; - case 5: - { - _202D_206F_206F_200D_206E_206C_200D_202B_202C_200C_202C_206E_202A_202D_202C_200B_206A_200E_202B_206B_202C_206E_206E_206E_202E_206E_200E_206F_200F_202A_206A_200F_206B_206D_206E_202A_206C_200C_206A_206D_202E((ImU8String)text, ImGuiTreeNodeFlags.NoTreePushOnOpen | ImGuiTreeNodeFlags.Leaf | ImGuiTreeNodeFlags.SpanFullWidth, default(ImU8String)); - bool num11 = _206B_202C_202C_200D_202D_200D_200F_206B_206E_202B_200C_206E_206F_202E_206E_202B_200B_200B_200F_200C_200E_202C_206C_200B_200F_202D_200B_200E_202C_202D_202C_202B_206B_202B_200B_202C_206C_200F_206B_206F_202E(); - _202C_202C_202A_200E_206E_202E_206E_206D_200F_206A_202E_206B_200D_200F_206C_206A_202D_206A_200E_206B_206B_206D_206B_206D_206F_200F_202E_200F_200B_202B_202E_202D_200C_202C_200D_200D_206D_206B_206F_202A_202E(); - float num12 = _202C_206A_202C_206A_206F_206B_202D_206B_200E_200C_206A_200F_200C_206C_206F_202D_206C_202A_202C_202A_200D_202A_200F_206F_206D_200E_200F_202E_206A_202E_202E_200F_202A_206E_200E_206B_200F_206B_200F_200D_202E() / 2f - statusIconSpacing; - _202C_200C_206A_200E_206B_206C_202B_200B_202B_202B_202B_202E_202D_200F_200F_206B_202B_206D_200F_206D_200B_200C_206C_206A_200C_206D_200E_202C_202D_202A_200E_202D_206A_200B_206B_206E_202C_206A_202E_206B_202E(_202B_202B_202D_202E_202D_202E_206C_206C_206C_200C_206A_202A_202C_200E_202B_202A_202D_200D_200D_202A_200E_200C_202A_202E_200B_200E_202B_202A_200F_206E_200F_206F_200D_200C_202A_206C_202E_206B_206A_206E_202E() + num12); - FontAwesomeIcon icon = (flag ? FontAwesomeIcon.Check : FontAwesomeIcon.Times); - if ((num11 | _uiUtils.ChecklistItem(string.Empty, color, icon)) && flag3) + if (flag) { - num = 484356030; - continue; + _expandedGroups.Remove(itemGroup.Label); + } + else + { + _expandedGroups.Add(itemGroup.Label); } - break; - } - case 0: result = true; - num = 484356025; - continue; - case 3: - vector = UiThemeUtils.StatusLocked; - goto IL_0096; - case 9: - num = 484356023; - continue; - case 10: - text = _200E_206B_202E_202D_206A_202A_206F_200E_202D_202C_200F_206F_206E_202D_206B_200B_206E_202C_206E_200F_206F_206A_200B_206D_202E_200D_200F_202D_200F_206F_202E_200D_202A_206F_200E_202C_206D_206F_206D_202D_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-324914973), _200B_206D_200D_202C_200B_206A_206F_200B_200C_202E_206E_202B_200B_206D_206F_202C_206C_200B_206F_202D_202A_200F_206B_202B_206D_206F_206E_200C_200B_202A_206C_206F_200E_206A_200E_202B_202A_200F_206E_200C_202E(SeIconChar.Clock)); - num = 484356029; - continue; - case 11: - _expandedGroups.Remove(itemGroup.Label); - num = 484356024; - continue; - case 1: + } + int num = itemGroup.Items.Count((ItemReward x) => x.IsUnlocked()); + int count = itemGroup.Items.Count; + ImGui.TableNextColumn(); + UiThemeUtils.DrawTrackerCount(FormatCount(num, count), num == count && count > 0, count == 0); + return result; + } + ItemReward item = row.Item; + float indentSpacing = ImGui.GetStyle().IndentSpacing; + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + indentSpacing); + bool flag2 = item.IsUnlocked(); + Vector4 color = ((!_questRegistry.IsKnownQuest(item.ElementId)) ? UiThemeUtils.StatusUnobtainable : (flag2 ? UiThemeUtils.StatusComplete : UiThemeUtils.StatusLocked)); + IQuestInfo questInfo; + bool flag3 = _questData.TryGetQuestInfo(item.ElementId, out questInfo); + string text = item.Name; + if (questInfo is QuestInfo { IsSeasonalEvent: not false }) + { + text = text + " " + SeIconChar.Clock.ToIconString(); + } + ImGui.TreeNodeEx(text, ImGuiTreeNodeFlags.NoTreePushOnOpen | ImGuiTreeNodeFlags.Leaf | ImGuiTreeNodeFlags.SpanFullWidth); + bool num2 = ImGui.IsItemHovered(); + ImGui.TableNextColumn(); + float num3 = ImGui.GetColumnWidth() / 2f - statusIconSpacing; + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + num3); + FontAwesomeIcon icon = (flag2 ? FontAwesomeIcon.Check : FontAwesomeIcon.Times); + if ((num2 | _uiUtils.ChecklistItem(string.Empty, color, icon)) && flag3) + { + using ImRaii.TooltipDisposable tooltipDisposable = ImRaii.Tooltip(); + if (tooltipDisposable.Alive) { - int num10 = itemGroup.Items.Count((ItemReward x) => x.IsUnlocked()); - int count = itemGroup.Items.Count; - _202C_202C_202A_200E_206E_202E_206E_206D_200F_206A_202E_206B_200D_200F_206C_206A_202D_206A_200E_206B_206B_206D_206B_206D_206F_200F_202E_200F_200B_202B_202E_202D_200C_202C_200D_200D_206D_206B_206F_202A_202E(); - UiThemeUtils.DrawTrackerCount(FormatCount(num10, count), num10 == count && count > 0, count == 0); - return result; - } - case 6: + ImU8String text2 = new ImU8String(15, 1); + text2.AppendLiteral("Obtained from: "); + text2.AppendFormatted(questInfo.Name); + ImGui.Text(text2); + using (ImRaii.PushIndent()) { - using (ImRaii.TooltipDisposable tooltipDisposable = _200D_202E_202E_206B_206B_206C_200E_200E_202C_202D_202D_202C_206D_202B_200D_200C_200E_200C_206C_202C_200D_202D_206E_200D_200D_206F_202C_200E_202E_200C_202C_200D_206B_206C_200B_206F_206D_206A_202A_200C_202E()) - { - if (!tooltipDisposable.Alive) - { - break; - } - ImU8String imU8String = new ImU8String(15, 1); - imU8String.AppendLiteral(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(1862164514)); - imU8String.AppendFormatted(questInfo.Name); - _202A_206F_206F_200F_200F_202D_200C_200E_206C_200F_206D_206D_206E_202A_206E_200F_206F_200E_206F_202E_202D_202D_202A_206F_200E_202A_200F_202D_206C_200F_206C_202D_206F_202D_200F_206C_200E_202A_200C_206C_202E(imU8String); - ImRaii.IndentDisposable indentDisposable = _206E_206F_206F_202D_206F_200B_206B_206A_206C_202D_200D_206C_202B_206C_200B_206B_200F_206D_200B_202C_202B_200B_206C_202D_202D_200D_202A_202E_202D_200B_202D_200F_206E_202D_206A_206D_206B_206D_200C_206C_202E(1, true); - try - { - _questTooltipComponent.DrawInner(questInfo, showItemRewards: false); - } - finally - { - num = ((indentDisposable == null) ? (-2000233485) : (-2000233488)); - while (true) - { - int num7 = num; - num3 = -2000233487; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 0: - num = -2000233488; - break; - case 2: - goto end_IL_0461; - case 1: - _200C_202C_202A_206B_202D_200E_206B_206E_202C_202E_206D_206C_202E_200D_206F_202D_206F_206C_206D_200F_200F_202D_200E_200F_206F_200B_206B_200E_202B_206D_206E_206E_202D_202E_206D_202E_202E_202D_202E_202D_202E((IDisposable)indentDisposable); - num = -2000233485; - break; - } - continue; - end_IL_0461: - break; - } - } - } - break; + _questTooltipComponent.DrawInner(questInfo, showItemRewards: false); } - IL_0096: - color = vector; - flag3 = _questData.TryGetQuestInfo(item.ElementId, out questInfo); - text = item.Name; - questInfo2 = questInfo as QuestInfo; - num = ((questInfo2 == null) ? 484356029 : 484356026); - continue; } - break; } return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private static string FormatCount(int n, int d) { - int num = ((d == 0) ? 491542123 : 491542122); - while (true) + if (d != 0) { - int num2 = num; - int num3 = 491542123; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0041; - case 0: - return _200E_206B_202E_202D_206A_202A_206F_200E_202D_202C_200F_206F_206E_202D_206B_200B_206E_202C_206E_200F_206F_206A_200B_206D_202E_200D_200F_202D_200F_206F_202E_200D_202A_206F_200E_202C_206D_206F_206D_202D_202E(_200C_200E_206F_200C_200F_202C_206A_200F_202E_206A_202B_206D_202D_202E_200E_202A_202D_206F_200E_206C_202B_206F_200B_202D_206E_206C_200B_202D_206B_206C_206D_202D_206B_206C_202D_202E_200F_202C_202A_202E(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(-2079705286), CountPadWidth), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1762358294), _200C_200E_206F_200C_200F_202C_206A_200F_202E_206A_202B_206D_202D_202E_200E_202A_202D_206F_200E_206C_202B_206F_200B_202D_206E_206C_200B_202D_206B_206C_206D_202D_206B_206C_202D_202E_200F_202C_202A_202E(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(-2079705286), CountPadWidth)); - case 1: - return _200E_206B_202E_202D_206A_202A_206F_200E_202D_202C_200F_206F_206E_202D_206B_200B_206E_202C_206E_200F_206F_206A_200B_206D_202E_200D_200F_202D_200F_206F_202E_200D_202A_206F_200E_202C_206D_206F_206D_202D_202E(_200F_202E_206C_200E_202E_202B_206C_202B_202C_200E_206B_202A_206C_206F_206C_202E_202E_202D_202D_200B_202A_200F_202B_202B_202E_200E_200C_200D_200C_206F_206B_200D_202B_200D_200B_202B_202A_202A_206C_200D_202E(n.ToString(_206B_206C_202D_202C_202A_202A_206E_206C_200B_206B_206E_202A_200F_202A_200F_206B_206B_202C_206A_206D_200D_202C_206A_202D_202E_206F_202B_202E_206F_206A_200C_206A_206D_200F_200C_200F_200C_206E_206C_206A_202E()), CountPadWidth), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1762358294), _200F_202E_206C_200E_202E_202B_206C_202B_202C_200E_206B_202A_206C_206F_206C_202E_202E_202D_202D_200B_202A_200F_202B_202B_202E_200E_200C_200D_200C_206F_206B_200D_202B_200D_200B_202B_202A_202A_206C_200D_202E(d.ToString(_206B_206C_202D_202C_202A_202A_206E_206C_200B_206B_206E_202A_200F_202A_200F_206B_206B_202C_206A_206D_200D_202C_206A_202D_202E_206F_202B_202E_206F_206A_200C_206A_206D_200F_200C_200F_200C_206E_206C_206A_202E()), CountPadWidth)); - } - continue; - IL_0041: - num = 491542122; + return n.ToString(CultureInfo.CurrentCulture).PadLeft(CountPadWidth) + " / " + d.ToString(CultureInfo.CurrentCulture).PadLeft(CountPadWidth); } + return "-".PadLeft(CountPadWidth) + " / " + "-".PadLeft(CountPadWidth); } private void RebuildFlatRows() { List list = new List(); - int num = 0; - ItemReward current = default(ItemReward); - while (num < _filteredGroups.Count) + for (int i = 0; i < _filteredGroups.Count; i++) { - ItemGroup itemGroup = _filteredGroups[num]; - list.Add(new FlatRow(RowType.Group, num, null)); - int num4; - int num5; - if (_expandedGroups.Contains(itemGroup.Label)) + ItemGroup itemGroup = _filteredGroups[i]; + list.Add(new FlatRow(RowType.Group, i, null)); + if (!_expandedGroups.Contains(itemGroup.Label)) { - using List.Enumerator enumerator = itemGroup.Items.GetEnumerator(); - int num2 = 1766502721; - while (true) + continue; + } + foreach (ItemReward item in itemGroup.Items) + { + if (_questData.TryGetQuestInfo(item.ElementId, out IQuestInfo _)) { - int num3 = num2; - num4 = 1766502721; - num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 3: - num2 = 1766502721; - break; - case 2: - list.Add(new FlatRow(RowType.Item, num, current)); - num2 = 1766502721; - break; - case 4: - { - current = enumerator.Current; - num2 = ((!_questData.TryGetQuestInfo(current.ElementId, out IQuestInfo _)) ? 1766502721 : 1766502723); - break; - } - case 0: - num2 = (enumerator.MoveNext() ? 1766502725 : 1766502720); - break; - case 1: - goto end_IL_0056; - } - continue; - end_IL_0056: - break; + list.Add(new FlatRow(RowType.Item, i, item)); } } - int num6 = num; - num4 = 1; - num5 = num6; - num = (num5 | num4) + (num5 & num4); } _flatRows = list; } - [MethodImpl(MethodImplOptions.NoInlining)] private void UpdateFilter() { List list = new List(); - AddGroup(list, 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(-1299748700), EItemRewardType.Mount); - AddGroup(list, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(263371342), EItemRewardType.Minion); - AddGroup(list, 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(-1791526330), EItemRewardType.OrchestrionRoll); - AddGroup(list, 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(-1826591131), EItemRewardType.TripleTriadCard); - AddGroup(list, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1738480903), EItemRewardType.FashionAccessory); - AddGroup(list, 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(974082553), EItemRewardType.UnlockLink); + AddGroup(list, "Mounts", EItemRewardType.Mount); + AddGroup(list, "Minions", EItemRewardType.Minion); + AddGroup(list, "Orchestrion Rolls", EItemRewardType.OrchestrionRoll); + AddGroup(list, "Triple Triad Cards", EItemRewardType.TripleTriadCard); + AddGroup(list, "Fashion Accessories", EItemRewardType.FashionAccessory); + AddGroup(list, "Unlock Links", EItemRewardType.UnlockLink); _filteredGroups = list; RebuildFlatRows(); } @@ -824,26 +244,9 @@ internal sealed class QuestRewardComponent private void AddGroup(List groups, string label, EItemRewardType type) { List filteredItems = GetFilteredItems(type); - int num = ((filteredItems.Count <= 0) ? (-138188978) : (-138188979)); - while (true) + if (filteredItems.Count > 0) { - int num2 = num; - int num3 = -138188977; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return; - case 2: - groups.Add(new ItemGroup(label, type, filteredItems)); - num = -138188978; - break; - case 0: - num = -138188979; - break; - } + groups.Add(new ItemGroup(label, type, filteredItems)); } } @@ -854,223 +257,11 @@ internal sealed class QuestRewardComponent where x.IsUntradable select x).Where(delegate(ItemReward x) { - int num = (_showEventRewards ? (-346188384) : (-346188382)); - IQuestInfo questInfo2 = default(IQuestInfo); - QuestInfo questInfo = default(QuestInfo); - while (true) + if (!_showEventRewards && _questData.TryGetQuestInfo(x.ElementId, out IQuestInfo questInfo) && questInfo is QuestInfo { IsSeasonalEvent: not false }) { - int num2 = num; - int num3 = -346188380; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - return true; - case 6: - num = ((!_questData.TryGetQuestInfo(x.ElementId, out questInfo2)) ? (-346188384) : (-346188380)); - break; - case 8: - num = -346188382; - break; - case 3: - num = (_003C_003Ec__DisplayClass22_0._200F_206E_200F_202D_206D_202D_200B_206B_202B_200E_206A_202A_200C_202E_200B_206B_202E_200C_206F_202B_200C_200E_206E_202E_200D_200E_200C_200E_200F_200C_202A_206A_206E_202E_202E_206F_206A_206D_202B_202C_202E(x.Name, _searchText, StringComparison.OrdinalIgnoreCase) ? (-346188383) : (-346188379)); - break; - case 7: - num = ((!questInfo.IsSeasonalEvent) ? (-346188384) : (-346188378)); - break; - case 2: - return false; - case 0: - questInfo = questInfo2 as QuestInfo; - num = ((questInfo == null) ? (-346188384) : (-346188381)); - break; - case 1: - return false; - case 4: - num = (_003C_003Ec__DisplayClass22_0._202C_206C_206E_200D_202B_202C_200D_200B_206B_202A_206A_202E_206A_206E_206C_206B_200D_200D_200E_200E_200F_200F_200F_202D_202E_206C_206E_200C_200C_200F_202E_200F_206D_200E_206B_202A_206D_206F_202D_206A_202E(_searchText) ? (-346188383) : (-346188377)); - break; - } + return false; } - }).OrderBy((ItemReward x) => x.Name, _202E_202E_202A_206D_206B_206F_206F_206E_202B_206C_206C_206F_202C_200D_200E_202B_200D_206F_200E_200F_202E_202A_206F_202E_206D_202B_206C_202E_200B_202A_206F_200F_206C_206A_202A_200D_200B_206D_200D_206C_202E()).ToList(); - } - - static ImGuiStylePtr _202A_200D_200C_202C_200F_202E_206A_206E_200D_202E_202E_206A_200E_206B_206B_206E_200C_206D_200D_202D_200C_202C_206D_206A_200D_200C_206A_202B_202B_206A_206E_206B_206D_200B_200B_206D_206B_206E_202E() - { - return ImGui.GetStyle(); - } - - static float _202C_200B_206E_200D_206F_202E_202C_202E_200E_206A_200B_200F_200D_206E_206D_202A_200C_202A_206F_200F_206F_206A_200B_202C_200B_202B_202A_206B_200C_202C_202A_206A_200E_206A_202E_206C_202E_206A_200D_206F_202E() - { - return ImGui.GetFrameHeight(); - } - - static Vector2 _206B_200E_206D_202C_202B_206A_206B_200D_206D_200E_202B_206E_200C_200F_202A_200F_200D_206B_200D_202B_202D_206B_200F_202A_206E_200B_206D_200B_206B_206D_206A_202E_202B_202A_202E_206F_206F_200C_206A_206B_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static void _206A_200B_202E_206A_202E_200B_200C_200F_200C_202B_206A_202C_200F_200E_206A_202C_200D_200B_202E_202B_206F_206B_206B_202D_202B_206F_200C_200E_206B_206F_206C_200D_206F_200B_200D_206F_202B_200D_200B_200C_202E() - { - ImGui.SameLine(); - } - - static void _202E_200B_200B_202B_206A_200E_206E_202D_206A_200D_202E_200C_206F_202A_206E_206F_202B_200B_200D_206F_206E_202B_202A_206D_202C_202E_206E_206D_202D_200F_200D_202A_202C_202A_202A_206C_200B_200B_202E_200F_202E() - { - ImGui.Spacing(); - } - - static void _202C_206D_206A_200D_200D_206D_200C_200F_202E_202E_202A_200F_206A_202D_200B_202D_200E_202B_202B_200C_206C_202C_200D_202B_200C_202A_202A_206A_206A_202D_200E_200D_206F_202A_202B_206A_200B_206B_202C_206B_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static void _200C_200E_200D_200B_202C_206E_200C_202B_200F_200F_206F_202B_206A_202C_206A_206C_202D_206B_200C_206F_200F_206B_200D_206F_206D_200C_200E_200C_206C_206E_206C_202B_202C_202A_206F_200B_200F_206D_206B_202D_202E() - { - ImGui.Separator(); - } - - static IUiBuilder _200B_200B_206C_206A_202A_206E_200F_206B_206D_206B_200B_200C_206E_200D_200E_202A_200B_200C_206E_202C_206A_200D_206E_206A_206C_206D_206D_202C_206E_200B_202B_202E_206E_206E_200B_200C_200F_206C_202B_200C_202E(IDalamudPluginInterface P_0) - { - return P_0.UiBuilder; - } - - static IFontHandle _200B_206D_206B_200F_200D_206C_200D_206A_200F_202A_200F_200F_200E_202A_200F_200F_206B_202B_200C_200F_202E_200B_202A_206B_202B_200B_200F_206E_206F_202A_206A_202B_202B_200C_206E_206B_200F_202C_206B_202E(IUiBuilder P_0) - { - return P_0.IconFontFixedWidthHandle; - } - - static IDisposable _200E_200D_202A_202A_206E_200C_206C_206C_206B_200D_202C_202A_206B_206D_206E_200C_206B_206B_202E_206F_200E_200B_200B_206F_206C_202E_202E_200C_202E_200E_206F_202C_206E_200B_202C_202B_200C_202E_206C_202A_202E(IFontHandle P_0) - { - return P_0.Push(); - } - - static string _200F_206E_206C_206B_200B_200D_200E_206C_206F_200C_200B_202A_206E_206C_200D_200C_206A_206C_206E_200E_206F_202B_202B_202C_202E_202D_200F_206C_200C_206B_206B_200B_202A_202D_202B_202D_206F_200B_206A_202A_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static void _200C_202C_202A_206B_202D_200E_206B_206E_202C_202E_206D_206C_202E_200D_206F_202D_206F_206C_206D_200F_200F_202D_200E_200F_206F_200B_206B_200E_202B_206D_206E_206E_202D_202E_206D_202E_202E_202D_202E_202D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static ImGuiIOPtr _202E_202E_206C_206B_202C_202E_202B_206C_206F_202A_206B_206B_206B_206F_202D_200B_206D_206E_200B_200F_200E_206D_200C_202A_206B_200C_202A_202D_202E_206F_202B_200D_202A_202E_206F_202A_206E_202D_202B_202C_202E() - { - return ImGui.GetIO(); - } - - static void _206A_206D_202E_206D_202E_206C_200B_206A_200F_206C_206B_206E_200F_200B_206C_202C_202A_206E_202E_206C_202E_200F_200F_202D_206C_200C_206F_206E_206D_202E_202E_202B_206C_206C_200E_202C_202E_206F_202B_206B_202E(ImU8String P_0, ImGuiTableColumnFlags P_1, float P_2, uint P_3) - { - ImGui.TableSetupColumn(P_0, P_1, P_2, P_3); - } - - static void _200B_202A_206A_202B_206B_200B_206B_200F_206D_202A_202A_206B_200F_200B_206B_200F_202B_200C_206D_206E_200E_202B_206F_206B_200E_202B_202A_200C_200D_206E_206B_206A_200B_202B_200E_200E_202D_200C_206B_202E_202E() - { - ImGui.TableHeadersRow(); - } - - static float _200F_206F_202D_200D_200E_202E_206D_206E_200D_200E_202D_202B_200D_202B_206D_206C_202A_200D_206F_200E_200F_206D_206F_200B_200C_200F_206F_206A_206B_200D_206D_200E_202A_200B_200D_206C_200E_200E_200E_200E_202E() - { - return ImGui.GetTextLineHeightWithSpacing(); - } - - unsafe static ImGuiListClipper* _206D_200C_200B_206E_206C_206B_206D_200F_202A_206A_202C_202C_206E_202E_200E_206F_200E_200F_202E_206B_200C_206E_206C_200F_202C_206F_202C_200F_202B_206E_206A_202C_202A_206F_206C_206B_200C_200F_206E_200F_202E() - { - return ImGuiNative.ImGuiListClipper(); - } - - unsafe static void _200F_202D_200D_206E_200D_202D_202E_206E_202A_202E_200E_200C_206F_206A_206B_200F_206E_202E_206A_200D_202B_206D_206C_200B_206B_206A_206B_200C_200E_200D_200B_200E_206B_206B_200D_200E_200C_200B_200E_202A_202E(ImGuiListClipper* P_0, int P_1, float P_2) - { - ImGuiNative.Begin(P_0, P_1, P_2); - } - - static void _206F_206F_200B_200E_200B_200C_200E_206A_202A_206F_202E_202A_200C_200C_200C_202C_202D_202B_200B_200C_202D_202E_200C_200B_206E_200C_202A_206D_200D_206B_206A_206B_202D_206D_200C_202A_206A_206E_202D_206C_202E() - { - ImGui.TableNextRow(); - } - - static bool _202C_202C_202A_200E_206E_202E_206E_206D_200F_206A_202E_206B_200D_200F_206C_206A_202D_206A_200E_206B_206B_206D_206B_206D_206F_200F_202E_200F_200B_202B_202E_202D_200C_202C_200D_200D_206D_206B_206F_202A_202E() - { - return ImGui.TableNextColumn(); - } - - static bool _206F_202D_200B_206E_206D_202D_206C_206B_206F_206E_200E_202A_206E_206A_202D_202A_206D_206C_200E_206F_200C_200B_202E_206B_200C_206F_200D_200D_202E_206C_206A_206B_200C_202C_200E_200F_206D_200D_206F_202C_202E(ImU8String P_0, bool P_1, ImGuiSelectableFlags P_2, Vector2 P_3) - { - return ImGui.Selectable(P_0, P_1, P_2, P_3); - } - - static float _202B_202B_202D_202E_202D_202E_206C_206C_206C_200C_206A_202A_202C_200E_202B_202A_202D_200D_200D_202A_200E_200C_202A_202E_200B_200E_202B_202A_200F_206E_200F_206F_200D_200C_202A_206C_202E_206B_206A_206E_202E() - { - return ImGui.GetCursorPosX(); - } - - static void _202C_200C_206A_200E_206B_206C_202B_200B_202B_202B_202B_202E_202D_200F_200F_206B_202B_206D_200F_206D_200B_200C_206C_206A_200C_206D_200E_202C_202D_202A_200E_202D_206A_200B_206B_206E_202C_206A_202E_206B_202E(float P_0) - { - ImGui.SetCursorPosX(P_0); - } - - static string _200B_206D_200D_202C_200B_206A_206F_200B_200C_202E_206E_202B_200B_206D_206F_202C_206C_200B_206F_202D_202A_200F_206B_202B_206D_206F_206E_200C_200B_202A_206C_206F_200E_206A_200E_202B_202A_200F_206E_200C_202E(SeIconChar P_0) - { - return P_0.ToIconString(); - } - - static string _200E_206B_202E_202D_206A_202A_206F_200E_202D_202C_200F_206F_206E_202D_206B_200B_206E_202C_206E_200F_206F_206A_200B_206D_202E_200D_200F_202D_200F_206F_202E_200D_202A_206F_200E_202C_206D_206F_206D_202D_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static bool _202D_206F_206F_200D_206E_206C_200D_202B_202C_200C_202C_206E_202A_202D_202C_200B_206A_200E_202B_206B_202C_206E_206E_206E_202E_206E_200E_206F_200F_202A_206A_200F_206B_206D_206E_202A_206C_200C_206A_206D_202E(ImU8String P_0, ImGuiTreeNodeFlags P_1, ImU8String P_2) - { - return ImGui.TreeNodeEx(P_0, P_1, P_2); - } - - static bool _206B_202C_202C_200D_202D_200D_200F_206B_206E_202B_200C_206E_206F_202E_206E_202B_200B_200B_200F_200C_200E_202C_206C_200B_200F_202D_200B_200E_202C_202D_202C_202B_206B_202B_200B_202C_206C_200F_206B_206F_202E() - { - return ImGui.IsItemHovered(); - } - - static float _202C_206A_202C_206A_206F_206B_202D_206B_200E_200C_206A_200F_200C_206C_206F_202D_206C_202A_202C_202A_200D_202A_200F_206F_206D_200E_200F_202E_206A_202E_202E_200F_202A_206E_200E_206B_200F_206B_200F_200D_202E() - { - return ImGui.GetColumnWidth(); - } - - static ImRaii.TooltipDisposable _200D_202E_202E_206B_206B_206C_200E_200E_202C_202D_202D_202C_206D_202B_200D_200C_200E_200C_206C_202C_200D_202D_206E_200D_200D_206F_202C_200E_202E_200C_202C_200D_206B_206C_200B_206F_206D_206A_202A_200C_202E() - { - return ImRaii.Tooltip(); - } - - static void _202A_206F_206F_200F_200F_202D_200C_200E_206C_200F_206D_206D_206E_202A_206E_200F_206F_200E_206F_202E_202D_202D_202A_206F_200E_202A_200F_202D_206C_200F_206C_202D_206F_202D_200F_206C_200E_202A_200C_206C_202E(ImU8String P_0) - { - ImGui.Text(P_0); - } - - static ImRaii.IndentDisposable _206E_206F_206F_202D_206F_200B_206B_206A_206C_202D_200D_206C_202B_206C_200B_206B_200F_206D_200B_202C_202B_200B_206C_202D_202D_200D_202A_202E_202D_200B_202D_200F_206E_202D_206A_206D_206B_206D_200C_206C_202E(int P_0, bool P_1) - { - return ImRaii.PushIndent(P_0, P_1); - } - - static CultureInfo _206B_206C_202D_202C_202A_202A_206E_206C_200B_206B_206E_202A_200F_202A_200F_206B_206B_202C_206A_206D_200D_202C_206A_202D_202E_206F_202B_202E_206F_206A_200C_206A_206D_200F_200C_200F_200C_206E_206C_206A_202E() - { - return CultureInfo.CurrentCulture; - } - - static string _200F_202E_206C_200E_202E_202B_206C_202B_202C_200E_206B_202A_206C_206F_206C_202E_202E_202D_202D_200B_202A_200F_202B_202B_202E_200E_200C_200D_200C_206F_206B_200D_202B_200D_200B_202B_202A_202A_206C_200D_202E(string P_0, int P_1) - { - return P_0.PadLeft(P_1); - } - - static string _200C_200E_206F_200C_200F_202C_206A_200F_202E_206A_202B_206D_202D_202E_200E_202A_202D_206F_200E_206C_202B_206F_200B_202D_206E_206C_200B_202D_206B_206C_206D_202D_206B_206C_202D_202E_200F_202C_202A_202E(string P_0, int P_1) - { - return P_0.PadLeft(P_1); - } - - static StringComparer _202E_202E_202A_206D_206B_206F_206F_206E_202B_206C_206C_206F_202C_200D_200E_202B_200D_206F_200E_200F_202E_202A_206F_202E_206D_202B_206C_202E_200B_202A_206F_200F_206C_206A_202A_200D_200B_206D_200D_206C_202E() - { - return StringComparer.CurrentCultureIgnoreCase; - } - - static int _202A_200B_202B_202E_206E_200C_200F_206A_202B_206C_206B_206F_202C_202B_206C_206D_202A_206A_200C_200C_206B_206B_206B_202E_202C_206B_202C_202B_206F_200D_200E_202D_206E_206A_200E_200D_202A_202A_202E_206A_202E(string P_0) - { - return P_0.Length; + return (string.IsNullOrEmpty(_searchText) || x.Name.Contains(_searchText, StringComparison.OrdinalIgnoreCase)) ? true : false; + }).OrderBy((ItemReward x) => x.Name, StringComparer.CurrentCultureIgnoreCase).ToList(); } } diff --git a/Questionable/Questionable.Windows.QuestComponents/ARealmRebornComponent.cs b/Questionable/Questionable.Windows.QuestComponents/ARealmRebornComponent.cs index 3ac70cf..ce476cc 100644 --- a/Questionable/Questionable.Windows.QuestComponents/ARealmRebornComponent.cs +++ b/Questionable/Questionable.Windows.QuestComponents/ARealmRebornComponent.cs @@ -1,9 +1,6 @@ -using System; -using System.Collections; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; using Dalamud.Interface; using Dalamud.Interface.Colors; @@ -18,13 +15,13 @@ namespace Questionable.Windows.QuestComponents; internal sealed class ARealmRebornComponent { - private static readonly QuestId ATimeForEveryPurpose = _206E_200C_202E_200D_200F_202D_202B_200D_206A_206E_206D_202C_200D_202C_206A_206E_200E_202D_200E_200C_200E_200F_202E_200B_200C_206E_206A_200D_202E_200D_200D_200D_200B_202C_206E_202B_202E_202D_200D_200F_202E((ushort)425); + private static readonly QuestId ATimeForEveryPurpose = new QuestId(425); - private static readonly QuestId TheUltimateWeapon = _206E_200C_202E_200D_200F_202D_202B_200D_206A_206E_206D_202C_200D_202C_206A_206E_200E_202D_200E_200C_200E_200F_202E_200B_200C_206E_206A_200D_202E_200D_200D_200D_200B_202C_206E_202B_202E_202D_200D_200F_202E((ushort)524); + private static readonly QuestId TheUltimateWeapon = new QuestId(524); - private static readonly QuestId GoodIntentions = _206E_200C_202E_200D_200F_202D_202B_200D_206A_206E_206D_202C_200D_202C_206A_206E_200E_202D_200E_200C_200E_200F_202E_200B_200C_206E_206A_200D_202E_200D_200D_200D_200B_202C_206E_202B_202E_202D_200D_200F_202E((ushort)363); + private static readonly QuestId GoodIntentions = new QuestId(363); - private static readonly ushort[] RequiredPrimalInstances; + private static readonly ushort[] RequiredPrimalInstances = new ushort[3] { 20004, 20006, 20005 }; private readonly QuestFunctions _questFunctions; @@ -40,27 +37,11 @@ internal sealed class ARealmRebornComponent { get { - int num = (_questFunctions.IsQuestAcceptedOrComplete(ATimeForEveryPurpose) ? 392545045 : 392545044); - while (true) + if (!_questFunctions.IsQuestAcceptedOrComplete(ATimeForEveryPurpose)) { - int num2 = num; - int num3 = 392545045; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0052; - case 1: - return _questFunctions.IsQuestComplete(TheUltimateWeapon); - case 0: - return false; - } - continue; - IL_0052: - num = 392545044; + return _questFunctions.IsQuestComplete(TheUltimateWeapon); } + return false; } } @@ -73,255 +54,61 @@ internal sealed class ARealmRebornComponent _configuration = configuration; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Draw() { var (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); - UiThemeUtils.SectionHeader(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1261156168)); - int num = (_questFunctions.IsQuestAcceptedOrComplete(GoodIntentions) ? 534954263 : 534954260); - while (true) + UiThemeUtils.SectionHeader("A Realm Reborn"); + if (!_questFunctions.IsQuestAcceptedOrComplete(GoodIntentions)) { - int num2 = num; - int num3 = 534954261; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - DrawAllianceRaids(); - UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); - return; - case 1: - DrawPrimals(); - num = 534954263; - break; - case 0: - num = 534954260; - break; - } + DrawPrimals(); } + DrawAllianceRaids(); + UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawPrimals() { bool flag = UIState.IsInstanceContentCompleted(RequiredPrimalInstances.Last()); - bool flag2 = _uiUtils.ChecklistItem(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1581570553), flag, _configuration.Advanced.SkipARealmRebornHardModePrimals ? new System.Numerics.Vector4?(_202E_202A_206C_200E_206E_200D_202C_202C_200E_202E_206F_202E_202D_200B_206C_206B_200F_202D_200E_206C_200B_202B_206B_200D_202E_200F_200F_202D_206C_206F_202D_206B_206A_200B_206B_200E_202D_202D_200F_202E_202E()) : ((System.Numerics.Vector4?)null)); - int num = (flag ? (-1664397724) : (-1664397721)); - ushort[] requiredPrimalInstances = default(ushort[]); - int num8 = default(int); - while (true) + bool flag2 = _uiUtils.ChecklistItem("Hard Mode Primals", flag, _configuration.Advanced.SkipARealmRebornHardModePrimals ? new System.Numerics.Vector4?(ImGuiColors.DalamudGrey) : ((System.Numerics.Vector4?)null)); + if (flag || !flag2) { - int num2 = num; - int num3 = -1664397722; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return; + } + using ImRaii.TooltipDisposable tooltipDisposable = ImRaii.Tooltip(); + if (tooltipDisposable.Alive) + { + ushort[] requiredPrimalInstances = RequiredPrimalInstances; + foreach (ushort instanceId in requiredPrimalInstances) { - case 0: - num = -1664397721; - break; - case 2: - return; - case 1: - num = (flag2 ? (-1664397723) : (-1664397724)); - break; - case 3: - { - using ImRaii.TooltipDisposable tooltipDisposable = _206D_200F_200C_206C_202B_200F_200E_200B_206F_200C_202C_200E_200E_200F_202D_202E_202C_200C_202B_202B_206C_200D_206E_206C_202A_206A_202E_200B_200F_206D_206A_206C_206D_202A_202A_200C_202D_206E_206E_202A_202E(); - num = (tooltipDisposable.Alive ? (-863151473) : (-863151478)); - while (true) - { - int num5 = num; - num3 = -863151474; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 5: - num = -863151478; - break; - case 2: - { - ushort instanceId = requiredPrimalInstances[num8]; - (System.Numerics.Vector4 color, FontAwesomeIcon icon) instanceStyle = UiUtils.GetInstanceStyle(instanceId); - FFXIVClientStructs.FFXIV.Common.Math.Vector4 vector = instanceStyle.color; - FontAwesomeIcon item = instanceStyle.icon; - _uiUtils.ChecklistItem(_territoryData.GetInstanceName(instanceId) ?? 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(-1923490088), vector, item, _202E_206F_202D_202E_200C_202C_206F_200C_202D_206B_200C_202E_202C_200E_206F_200D_202C_206D_206A_202D_202C_206A_202A_202E_200D_202D_202A_202A_206E_206F_202B_206A_200D_202C_206B_206A_206D_206E_202C_206C_202E().FramePadding.X); - int num9 = num8; - num3 = 1; - num4 = num9; - num8 = (num4 | num3) + (num4 & num3); - num = -863151475; - break; - } - case 3: - num = ((num8 < requiredPrimalInstances.Length) ? (-863151476) : (-863151474)); - break; - case 1: - requiredPrimalInstances = RequiredPrimalInstances; - num8 = 0; - num = -863151475; - break; - case 4: - return; - case 0: - return; - } - } - } + (System.Numerics.Vector4 color, FontAwesomeIcon icon) instanceStyle = UiUtils.GetInstanceStyle(instanceId); + FFXIVClientStructs.FFXIV.Common.Math.Vector4 vector = instanceStyle.color; + FontAwesomeIcon item = instanceStyle.icon; + _uiUtils.ChecklistItem(_territoryData.GetInstanceName(instanceId) ?? "?", vector, item, ImGui.GetStyle().FramePadding.X); } } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawAllianceRaids() { QuestFunctions questFunctions = _questFunctions; IReadOnlyList crystalTowerQuests = QuestData.CrystalTowerQuests; bool flag = questFunctions.IsQuestComplete(crystalTowerQuests[crystalTowerQuests.Count - 1]); - bool flag2 = _uiUtils.ChecklistItem(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(442894650), flag, _configuration.Advanced.SkipCrystalTowerRaids ? new System.Numerics.Vector4?(_202E_202A_206C_200E_206E_200D_202C_202C_200E_202E_206F_202E_202D_200B_206C_206B_200F_202D_200E_206C_200B_202B_206B_200D_202E_200F_200F_202D_206C_206F_202D_206B_206A_200B_206B_200E_202D_202D_200F_202E_202E()) : ((System.Numerics.Vector4?)null)); - int num = (flag ? 406928079 : 406928076); - while (true) + bool flag2 = _uiUtils.ChecklistItem("Crystal Tower Raids", flag, _configuration.Advanced.SkipCrystalTowerRaids ? new System.Numerics.Vector4?(ImGuiColors.DalamudGrey) : ((System.Numerics.Vector4?)null)); + if (flag || !flag2) { - int num2 = num; - int num3 = 406928077; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = 406928076; - break; - case 2: - return; - case 1: - num = (flag2 ? 406928077 : 406928079); - break; - case 0: - { - using ImRaii.TooltipDisposable tooltipDisposable = _206D_200F_200C_206C_202B_200F_200E_200B_206F_200C_202C_200E_200E_200F_202D_202E_202C_200C_202B_202B_206C_200D_206E_206C_202A_206A_202E_200B_200F_206D_206A_206C_206D_202A_202A_200C_202D_206E_206E_202A_202E(); - num = (tooltipDisposable.Alive ? 533911175 : 533911174); - while (true) - { - int num5 = num; - num3 = 533911175; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 2: - goto IL_0133; - case 1: - return; - case 0: - { - IEnumerator enumerator = QuestData.CrystalTowerQuests.GetEnumerator(); - try - { - num = -1056949056; - while (true) - { - int num8 = num; - num3 = -1056949054; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1056949056; - break; - case 3: - { - QuestId current = enumerator.Current; - (System.Numerics.Vector4 Color, FontAwesomeIcon Icon, string Status) questStyle = _uiUtils.GetQuestStyle(current); - FFXIVClientStructs.FFXIV.Common.Math.Vector4 vector = questStyle.Color; - FontAwesomeIcon item = questStyle.Icon; - _uiUtils.ChecklistItem(_questData.GetQuestInfo(current).Name, vector, item, _202E_206F_202D_202E_200C_202C_206F_200C_202D_206B_200C_202E_202C_200E_206F_200D_202C_206D_206A_202D_202C_206A_202A_202E_200D_202D_202A_202A_206E_206F_202B_206A_200D_202C_206B_206A_206D_206E_202C_206C_202E().FramePadding.X); - num = -1056949056; - break; - } - case 2: - num = (_200D_202A_206E_206D_200C_206A_206D_206C_206B_200C_200C_206C_200E_200C_200E_206D_206E_206E_206E_200C_200D_200D_206E_200C_206C_200D_206D_200E_202B_200B_202D_200B_202E_206A_206F_202D_206C_200C_202D_200C_202E((IEnumerator)enumerator) ? (-1056949055) : (-1056949053)); - break; - case 1: - return; - } - } - } - finally - { - num = ((enumerator == null) ? (-208595158) : (-208595159)); - while (true) - { - int num9 = num; - num3 = -208595160; - num4 = num9; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -208595159; - break; - case 2: - goto end_IL_025d; - case 1: - _200F_202A_200E_200D_202B_206F_202E_200C_206C_206D_200D_206B_202A_202D_202B_202C_202D_200B_206C_202E_206B_202B_202B_202C_202A_202A_200D_206F_202E_206B_202D_200D_202B_200C_202A_206C_200D_200B_200D_200C_202E((IDisposable)enumerator); - num = -208595158; - break; - } - continue; - end_IL_025d: - break; - } - } - } - } - continue; - IL_0133: - num = 533911174; - } - } - } + return; + } + using ImRaii.TooltipDisposable tooltipDisposable = ImRaii.Tooltip(); + if (!tooltipDisposable.Alive) + { + return; + } + foreach (QuestId crystalTowerQuest in QuestData.CrystalTowerQuests) + { + (System.Numerics.Vector4 Color, FontAwesomeIcon Icon, string Status) questStyle = _uiUtils.GetQuestStyle(crystalTowerQuest); + FFXIVClientStructs.FFXIV.Common.Math.Vector4 vector = questStyle.Color; + FontAwesomeIcon item = questStyle.Icon; + _uiUtils.ChecklistItem(_questData.GetQuestInfo(crystalTowerQuest).Name, vector, item, ImGui.GetStyle().FramePadding.X); } } - - static ARealmRebornComponent() - { - ushort[] array = new ushort[3]; - _200D_206A_200B_206B_206E_200F_202E_202B_206B_206C_206C_202E_206E_206B_206B_206C_202D_206C_200C_200E_206C_202A_200E_202E_200B_206D_206F_202C_206E_206C_206B_200F_202E_200F_202D_206B_200B_206F_206B_200C_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - RequiredPrimalInstances = array; - } - - static System.Numerics.Vector4 _202E_202A_206C_200E_206E_200D_202C_202C_200E_202E_206F_202E_202D_200B_206C_206B_200F_202D_200E_206C_200B_202B_206B_200D_202E_200F_200F_202D_206C_206F_202D_206B_206A_200B_206B_200E_202D_202D_200F_202E_202E() - { - return ImGuiColors.DalamudGrey; - } - - static ImRaii.TooltipDisposable _206D_200F_200C_206C_202B_200F_200E_200B_206F_200C_202C_200E_200E_200F_202D_202E_202C_200C_202B_202B_206C_200D_206E_206C_202A_206A_202E_200B_200F_206D_206A_206C_206D_202A_202A_200C_202D_206E_206E_202A_202E() - { - return ImRaii.Tooltip(); - } - - static ImGuiStylePtr _202E_206F_202D_202E_200C_202C_206F_200C_202D_206B_200C_202E_202C_200E_206F_200D_202C_206D_206A_202D_202C_206A_202A_202E_200D_202D_202A_202A_206E_206F_202B_206A_200D_202C_206B_206A_206D_206E_202C_206C_202E() - { - return ImGui.GetStyle(); - } - - static bool _200D_202A_206E_206D_200C_206A_206D_206C_206B_200C_200C_206C_200E_200C_200E_206D_206E_206E_206E_200C_200D_200D_206E_200C_206C_200D_206D_200E_202B_200B_202D_200B_202E_206A_206F_202D_206C_200C_202D_200C_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200F_202A_200E_200D_202B_206F_202E_200C_206C_206D_200D_206B_202A_202D_202B_202C_202D_200B_206C_202E_206B_202B_202B_202C_202A_202A_200D_206F_202E_206B_202D_200D_202B_200C_202A_206C_200D_200B_200D_200C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static QuestId _206E_200C_202E_200D_200F_202D_202B_200D_206A_206E_206D_202C_200D_202C_206A_206E_200E_202D_200E_200C_200E_200F_202E_200B_200C_206E_206A_200D_202E_200D_200D_200D_200B_202C_206E_202B_202E_202D_200D_200F_202E(ushort P_0) - { - return new QuestId(P_0); - } - - static void _200D_206A_200B_206B_206E_200F_202E_202B_206B_206C_206C_202E_206E_206B_206B_206C_202D_206C_200C_200E_206C_202A_200E_202E_200B_206D_206F_202C_206E_206C_206B_200F_202E_200F_202D_206B_200B_206F_206B_200C_202E(Array P_0, RuntimeFieldHandle P_1) - { - RuntimeHelpers.InitializeArray(P_0, P_1); - } } diff --git a/Questionable/Questionable.Windows.QuestComponents/ActiveQuestComponent.cs b/Questionable/Questionable.Windows.QuestComponents/ActiveQuestComponent.cs index bf22bf4..0f74a0f 100644 --- a/Questionable/Questionable.Windows.QuestComponents/ActiveQuestComponent.cs +++ b/Questionable/Questionable.Windows.QuestComponents/ActiveQuestComponent.cs @@ -3,13 +3,9 @@ using System.CodeDom.Compiler; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using System.Text.RegularExpressions; using System.Text.RegularExpressions.Generated; -using System.Threading; using Dalamud.Bindings.ImGui; -using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Game.Text; using Dalamud.Interface; using Dalamud.Interface.Colors; @@ -28,32 +24,6 @@ namespace Questionable.Windows.QuestComponents; internal sealed class ActiveQuestComponent { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__37_0; - - public static Func _003C_003E9__37_2; - - internal byte _003CDrawSimulationControls_003Eb__37_0(QuestSequence x) - { - return _200F_206D_206F_206B_206B_206E_206C_202B_202E_202A_206B_202E_202D_200C_206B_206F_206A_202A_206F_206B_202A_206B_202E_206D_202B_202D_206B_200D_202E_202E_200E_200C_200D_200B_200F_200B_206F_206F_206E_202B_202E(x); - } - - internal byte _003CDrawSimulationControls_003Eb__37_2(QuestSequence x) - { - return _200F_206D_206F_206B_206B_206E_206C_202B_202E_202A_206B_202E_202D_200C_206B_206F_206A_202A_206F_206B_202A_206B_202E_206D_202B_202D_206B_200D_202E_202E_200E_200C_200D_200B_200F_200B_206F_206F_206E_202B_202E(x); - } - - static byte _200F_206D_206F_206B_206B_206E_206C_202B_202E_202A_206B_202E_202D_200C_206B_206F_206A_202A_206F_206B_202A_206B_202E_206D_202B_202D_206B_200D_202E_202E_200E_200C_200D_200B_200F_200B_206F_206F_206E_202B_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - } - private readonly QuestController _questController; private readonly MovementController _movementController; @@ -94,68 +64,7 @@ internal sealed class ActiveQuestComponent private bool _questCardExpanded; - [CompilerGenerated] - private System.Action? m_OpenQueueTab; - - public event System.Action? OpenQueueTab - { - [CompilerGenerated] - add - { - System.Action action = this.m_OpenQueueTab; - int num = -1845062686; - while (true) - { - int num2 = num; - int num3 = -1845062685; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1845062686; - break; - case 0: - return; - case 1: - { - System.Action action2 = action; - System.Action value2 = (System.Action)_206B_202D_200E_202B_202B_200D_202E_202C_206F_202D_202D_202B_206E_202B_202A_200D_200F_206C_206C_200B_200E_206A_206D_202B_206A_202A_202B_202D_206A_206F_200F_206B_206D_200C_202A_200E_200B_206E_200F_200C_202E((Delegate)action2, (Delegate)value); - action = Interlocked.CompareExchange(ref this.m_OpenQueueTab, value2, action2); - num = (((object)action != action2) ? (-1845062686) : (-1845062685)); - break; - } - } - } - } - [CompilerGenerated] - remove - { - System.Action action = this.m_OpenQueueTab; - int num = -117649682; - while (true) - { - int num2 = num; - int num3 = -117649681; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return; - case 1: - { - System.Action action2 = action; - System.Action value2 = (System.Action)_202A_206F_200E_202B_202B_206C_202C_200F_206C_200B_202B_200E_206F_200B_200C_206C_202E_202D_206E_200B_202E_206C_206B_206C_202D_206D_200D_206D_206B_206F_200B_206E_202C_206E_200D_200D_200F_202A_200C_206E_202E((Delegate)action2, (Delegate)value); - action = Interlocked.CompareExchange(ref this.m_OpenQueueTab, value2, action2); - num = (((object)action != action2) ? (-117649682) : (-117649683)); - break; - } - case 0: - num = -117649682; - break; - } - } - } - } + public event System.Action? OpenQueueTab; [GeneratedRegex("\\s\\s+", RegexOptions.IgnoreCase, "en-US")] [GeneratedCode("System.Text.RegularExpressions.Generator", "10.0.14.37416")] @@ -189,557 +98,189 @@ internal sealed class ActiveQuestComponent public void Draw(bool isMinimized) { - int num = ((!_fateController.IsRunning) ? (-901177579) : (-901177582)); - QuestController.QuestProgress questProgress = default(QuestController.QuestProgress); - QuestController.ECurrentQuestType? currentQuestType = default(QuestController.ECurrentQuestType?); - (QuestController.QuestProgress, QuestController.ECurrentQuestType)? currentQuestDetails = default((QuestController.QuestProgress, QuestController.ECurrentQuestType)?); - while (true) + if (_fateController.IsRunning) { - int num2 = num; - int num3 = -901177578; - int num4 = num2; - QuestController.ECurrentQuestType? obj2; - object obj; - switch ((num4 | num3) - (num4 & num3)) + DrawFateActive(isMinimized); + return; + } + if (_seasonalDutyController.IsRunning) + { + DrawDutyActive(isMinimized); + return; + } + if (_customDeliveryController.IsRunning) + { + DrawCustomDeliveryActive(isMinimized); + return; + } + if (_gatheringController.IsRunning) + { + DrawGatheringActive(isMinimized); + return; + } + if (_fishingController.IsRunning) + { + DrawFishingActive(isMinimized); + return; + } + (QuestController.QuestProgress, QuestController.ECurrentQuestType)? currentQuestDetails = _questController.CurrentQuestDetails; + QuestController.QuestProgress questProgress = currentQuestDetails?.Item1; + QuestController.ECurrentQuestType? currentQuestType = currentQuestDetails?.Item2; + if (questProgress != null) + { + if (isMinimized) { - case 9: DrawMinimizedQuest(questProgress); - return; - case 18: - DrawQuestCard(questProgress, currentQuestType); - return; - case 3: - num = ((!_seasonalDutyController.IsRunning) ? (-901177584) : (-901177577)); - break; - case 5: - num = ((!_gatheringController.IsRunning) ? (-901177578) : (-901177575)); - break; - case 12: - DrawFishingActive(isMinimized); - return; - case 1: - DrawDutyActive(isMinimized); - return; - case 10: - obj2 = null; - goto IL_01e7; - case 2: - obj = currentQuestDetails.GetValueOrDefault().Item1; - goto IL_012b; - case 15: - DrawGatheringActive(isMinimized); - return; - case 4: - DrawFateActive(isMinimized); - return; - case 16: - num = ((!isMinimized) ? (-901177596) : (-901177569)); - break; - case 6: - num = ((!_customDeliveryController.IsRunning) ? (-901177581) : (-901177573)); - break; - case 17: - DrawNoActiveQuest(isMinimized); - return; - case 0: - num = ((!_fishingController.IsRunning) ? (-901177583) : (-901177574)); - break; - case 14: - obj2 = currentQuestDetails.GetValueOrDefault().Item2; - goto IL_01e7; - case 13: - DrawCustomDeliveryActive(isMinimized); - return; - case 8: - num = -901177582; - break; - case 11: - obj = null; - goto IL_012b; - case 7: - { - currentQuestDetails = _questController.CurrentQuestDetails; - num = (currentQuestDetails.HasValue ? (-901177580) : (-901177571)); - break; - } - IL_01e7: - currentQuestType = obj2; - num = ((questProgress == null) ? (-901177593) : (-901177594)); - break; - IL_012b: - questProgress = (QuestController.QuestProgress)obj; - num = (currentQuestDetails.HasValue ? (-901177576) : (-901177572)); - break; } + else + { + DrawQuestCard(questProgress, currentQuestType); + } + } + else + { + DrawNoActiveQuest(isMinimized); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawFateActive(bool isMinimized) { - ImRaii.ColorDisposable colorDisposable = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Text, _200E_200F_202C_206B_200B_202B_206F_206B_206F_206D_206D_200B_206A_200E_200D_200C_206F_202B_202D_202A_206E_206C_202A_206D_206E_206A_200D_202D_206F_206C_206F_206D_200F_202A_200C_200F_200F_200C_202B_206A_202E(), true); - int num; - try + using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGold)) { - _200E_202C_202D_206D_202B_206E_200E_206F_202D_206D_206F_202C_206A_200B_200C_202B_202E_206A_200F_202D_200E_200C_200E_206D_206C_202B_202B_202E_200D_206C_206E_206E_202D_206C_200B_200E_206E_200C_206E_206E_202E((ImU8String)UiThemeUtils.TruncateToWidth(_200C_202D_202E_206B_202C_202D_200B_202C_206F_200F_206E_202C_206C_206E_200C_206B_200B_206A_206C_202E_206A_202D_200E_206F_206D_200E_202A_202E_206C_202D_202E_202B_202D_206C_202E_200F_200D_202A_206D_202E_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1853729886), _206F_200E_200B_206D_202B_200E_202B_202C_206A_206F_202A_200E_206E_200E_206C_202C_206A_202B_202C_202B_200D_206D_206D_200B_200B_202B_202B_206B_200E_202D_206B_200D_206A_200B_202D_200C_200C_200E_206B_202B_202E(_fateController.CurrentFate)), _202E_206F_202E_206B_200C_200C_202B_206C_202D_200F_206A_206E_200E_202C_206A_202D_206E_200D_200E_206C_200B_200C_206E_206E_206E_200F_206D_200D_206F_202E_206F_202C_202A_206D_206A_206C_202B_206E_206B_200C_202E().X)); - } - finally - { - num = ((colorDisposable == null) ? (-2041127811) : (-2041127812)); - while (true) - { - int num2 = num; - int num3 = -2041127811; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -2041127812; - break; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable); - num = -2041127811; - break; - case 0: - goto end_IL_0068; - } - continue; - end_IL_0068: - break; - } + ImGui.TextUnformatted(UiThemeUtils.TruncateToWidth("FATE: " + _fateController.CurrentFate.Name, ImGui.GetContentRegionAvail().X)); } IList remainingTaskNames = _fateController.GetRemainingTaskNames(); - num = ((remainingTaskNames.Count <= 0) ? 93172541 : 93172531); - while (true) + if (remainingTaskNames.Count > 0) { - int num7 = num; - int num3 = 93172539; - int num4 = num7; - string text2; - string text; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(9, 2); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-346240664)); - defaultInterpolatedStringHandler2.AppendFormatted(_fateController.CompletedCycles + 1); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2014446916)); - defaultInterpolatedStringHandler2.AppendFormatted(_fateController.CycleLimit); - text2 = defaultInterpolatedStringHandler2.ToStringAndClear(); - goto IL_0182; - } - case 4: - num = (_fateController.CycleLimit.HasValue ? 93172536 : 93172538); - break; - case 6: - num = (isMinimized ? 93172539 : 93172543); - break; - case 7: - _fateController.Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-271672975)); - _movementController.Stop(); - num = 93172542; - break; - case 1: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(6, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1738213715)); - defaultInterpolatedStringHandler.AppendFormatted(_fateController.CompletedCycles + 1); - text2 = defaultInterpolatedStringHandler.ToStringAndClear(); - goto IL_0182; - } - case 0: - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Stop, _206C_206C_206C_206D_200C_200E_202C_202C_206E_202C_202C_206B_200F_202A_200D_202C_200B_206E_206B_202D_206E_206F_200C_206B_200C_206B_206B_202D_202A_206E_202A_200B_200E_202C_200D_206F_200F_206D_206A_200F_202E())) ? 93172542 : 93172540); - break; - case 2: - num = 93172531; - break; - case 8: - UiThemeUtils.WrappedTextColored(UiThemeUtils.DimTextColor, remainingTaskNames[0]); - num = 93172541; - break; - case 5: - return; - IL_0182: - text = text2; - _202E_200E_200E_202E_200D_206E_206F_206E_200C_206F_202C_206D_200D_200C_206F_206B_202B_206F_206F_200F_206D_200E_200B_200E_206D_200E_206F_202C_202A_206F_202D_206B_202C_202E_200F_206B_200E_206E_206D_202D_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)text); - num = 93172539; - break; - } + UiThemeUtils.WrappedTextColored(UiThemeUtils.DimTextColor, remainingTaskNames[0]); + } + if (!isMinimized) + { + string text = (_fateController.CycleLimit.HasValue ? $"Cycle {_fateController.CompletedCycles + 1} / {_fateController.CycleLimit}" : $"Cycle {_fateController.CompletedCycles + 1}"); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, text); + } + if (UiThemeUtils.IconButton(FontAwesomeIcon.Stop, ImGui.GetFrameHeight())) + { + _fateController.Stop("UI stop"); + _movementController.Stop(); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawDutyActive(bool isMinimized) { - ImRaii.ColorDisposable colorDisposable = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Text, _206C_206B_206D_206F_202B_206B_206C_200C_206F_202D_206B_202B_200D_206F_206B_206C_206A_202C_200E_206E_202A_200C_200D_200C_206E_206D_202E_200E_200C_200F_202D_200C_202C_200B_202D_206B_206F_206E_202D_206D_202E(), true); - int num; - try + using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGreen)) { - _200E_202C_202D_206D_202B_206E_200E_206F_202D_206D_206F_202C_206A_200B_200C_202B_202E_206A_200F_202D_200E_200C_200E_206D_206C_202B_202B_202E_200D_206C_206E_206E_202D_206C_200B_200E_206E_200C_206E_206E_202E((ImU8String)UiThemeUtils.TruncateToWidth(_200C_202D_202E_206B_202C_202D_200B_202C_206F_200F_206E_202C_206C_206E_200C_206B_200B_206A_206C_202E_206A_202D_200E_206F_206D_200E_202A_202E_206C_202D_202E_202B_202D_206C_202E_200F_200D_202A_206D_202E_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-840992576), _206A_200D_200F_206F_206D_206D_206B_206B_206A_200B_202A_202C_202B_202D_202A_200B_202A_202B_202B_202D_206F_202D_202E_200E_206B_206F_200E_202A_200E_206C_202D_202B_206E_200F_206A_200B_206F_206A_206A_206B_202E(_seasonalDutyController.CurrentDuty)), _202E_206F_202E_206B_200C_200C_202B_206C_202D_200F_206A_206E_200E_202C_206A_202D_206E_200D_200E_206C_200B_200C_206E_206E_206E_200F_206D_200D_206F_202E_206F_202C_202A_206D_206A_206C_202B_206E_206B_200C_202E().X)); - } - finally - { - num = ((colorDisposable == null) ? 702830084 : 702830087); - while (true) - { - int num2 = num; - int num3 = 702830086; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 702830087; - break; - case 2: - goto end_IL_0068; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable); - num = 702830084; - break; - } - continue; - end_IL_0068: - break; - } + ImGui.TextUnformatted(UiThemeUtils.TruncateToWidth("Duty: " + _seasonalDutyController.CurrentDuty.Name, ImGui.GetContentRegionAvail().X)); } IList remainingTaskNames = _seasonalDutyController.GetRemainingTaskNames(); - num = ((remainingTaskNames.Count <= 0) ? (-562554573) : (-562554574)); - while (true) + if (remainingTaskNames.Count > 0) { - int num7 = num; - int num3 = -562554571; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - string text; - switch (num8 - (num9 + num9)) - { - default: - continue; - case 0: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(6, 1); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-346240664)); - defaultInterpolatedStringHandler2.AppendFormatted(_seasonalDutyController.CompletedCycles + 1); - text = defaultInterpolatedStringHandler2.ToStringAndClear(); - break; - } - case 2: - _seasonalDutyController.Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-271672975)); - _movementController.Stop(); - num = -562554570; - continue; - case 6: - num = (isMinimized ? (-562554572) : (-562554563)); - continue; - case 7: - UiThemeUtils.WrappedTextColored(UiThemeUtils.DimTextColor, remainingTaskNames[0]); - num = -562554573; - continue; - case 5: - num = -562554574; - continue; - case 8: - num = (_seasonalDutyController.CycleLimit.HasValue ? (-562554575) : (-562554571)); - continue; - case 1: - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Stop, _206C_206C_206C_206D_200C_200E_202C_202C_206E_202C_202C_206B_200F_202A_200D_202C_200B_206E_206B_202D_206E_206F_200C_206B_200C_206B_206B_202D_202A_206E_202A_200B_200E_202C_200D_206F_200F_206D_206A_200F_202E())) ? (-562554570) : (-562554569)); - continue; - case 4: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(9, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1552650269)); - defaultInterpolatedStringHandler.AppendFormatted(_seasonalDutyController.CompletedCycles + 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-242478203)); - defaultInterpolatedStringHandler.AppendFormatted(_seasonalDutyController.CycleLimit); - text = defaultInterpolatedStringHandler.ToStringAndClear(); - break; - } - case 3: - return; - } - string text2 = text; - _202E_200E_200E_202E_200D_206E_206F_206E_200C_206F_202C_206D_200D_200C_206F_206B_202B_206F_206F_200F_206D_200E_200B_200E_206D_200E_206F_202C_202A_206F_202D_206B_202C_202E_200F_206B_200E_206E_206D_202D_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)text2); - num = -562554572; + UiThemeUtils.WrappedTextColored(UiThemeUtils.DimTextColor, remainingTaskNames[0]); + } + if (!isMinimized) + { + string text = (_seasonalDutyController.CycleLimit.HasValue ? $"Cycle {_seasonalDutyController.CompletedCycles + 1} / {_seasonalDutyController.CycleLimit}" : $"Cycle {_seasonalDutyController.CompletedCycles + 1}"); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, text); + } + if (UiThemeUtils.IconButton(FontAwesomeIcon.Stop, ImGui.GetFrameHeight())) + { + _seasonalDutyController.Stop("UI stop"); + _movementController.Stop(); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawCustomDeliveryActive(bool isMinimized) { - string text = _customDeliveryController.CurrentNpcName ?? global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-518001715); - ImRaii.ColorDisposable colorDisposable = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Text, _200D_206A_202A_200E_206C_200D_202D_200F_202B_200B_206E_200E_206C_200D_202C_206C_202E_206C_206C_200E_202A_200B_202B_200F_202E_202D_202A_200E_200B_206E_206B_206B_206E_200D_206C_206E_206F_206B_202B_206E_202E(), true); - int num; - try + string text = _customDeliveryController.CurrentNpcName ?? "Custom Delivery"; + using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedPurple)) { - _200E_202C_202D_206D_202B_206E_200E_206F_202D_206D_206F_202C_206A_200B_200C_202B_202E_206A_200F_202D_200E_200C_200E_206D_206C_202B_202B_202E_200D_206C_206E_206E_202D_206C_200B_200E_206E_200C_206E_206E_202E((ImU8String)UiThemeUtils.TruncateToWidth(_200C_202D_202E_206B_202C_202D_200B_202C_206F_200F_206E_202C_206C_206E_200C_206B_200B_206A_206C_202E_206A_202D_200E_206F_206D_200E_202A_202E_206C_202D_202E_202B_202D_206C_202E_200F_200D_202A_206D_202E_202E(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(-1720434949), text), _202E_206F_202E_206B_200C_200C_202B_206C_202D_200F_206A_206E_200E_202C_206A_202D_206E_200D_200E_206C_200B_200C_206E_206E_206E_200F_206D_200D_206F_202E_206F_202C_202A_206D_206A_206C_202B_206E_206B_200C_202E().X)); + ImGui.TextUnformatted(UiThemeUtils.TruncateToWidth("Delivery: " + text, ImGui.GetContentRegionAvail().X)); } - finally - { - num = ((colorDisposable == null) ? (-1732181227) : (-1732181226)); - while (true) - { - int num2 = num; - int num3 = -1732181228; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1732181226; - break; - case 2: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable); - num = -1732181227; - break; - case 1: - goto end_IL_0076; - } - continue; - end_IL_0076: - break; - } - } - UiThemeUtils.WrappedTextColored(_200D_206D_206B_202E_202A_206B_202A_202E_200D_202D_200C_200C_206A_202A_202A_206D_206E_206D_200B_206E_206E_202E_202B_206F_206A_200F_200D_202B_200B_202D_202C_206A_202C_200E_206D_200E_206F_200B_200E_202B_202E(), _customDeliveryController.StatusLabel); + UiThemeUtils.WrappedTextColored(ImGuiColors.DalamudOrange, _customDeliveryController.StatusLabel); IList remainingTaskNames = _customDeliveryController.GetRemainingTaskNames(); - num = ((remainingTaskNames.Count <= 0) ? 1144182412 : 1144182411); - int queueRemaining = default(int); - while (true) + if (remainingTaskNames.Count > 0) { - int num7 = num; - int num3 = 1144182409; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) + UiThemeUtils.WrappedTextColored(UiThemeUtils.DimTextColor, remainingTaskNames[0]); + } + if (!isMinimized) + { + int queueRemaining = _customDeliveryController.QueueRemaining; + if (queueRemaining > 0) { - case 1: - { - ImU8String imU8String = new ImU8String(19, 1); - imU8String.AppendFormatted(queueRemaining); - imU8String.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(444648158)); - _202E_200E_200E_202E_200D_206E_206F_206E_200C_206F_202C_206D_200D_200C_206F_206B_202B_206F_206F_200F_206D_200E_200B_200E_206D_200E_206F_202C_202A_206F_202D_206B_202C_202E_200F_206B_200E_206E_206D_202D_202E(ref UiThemeUtils.MutedTextColor, imU8String); - num = 1144182410; - break; - } - case 3: - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Stop, _206C_206C_206C_206D_200C_200E_202C_202C_206E_202C_202C_206B_200F_202A_200D_202C_200B_206E_206B_202D_206E_206F_200C_206B_200C_206B_206B_202D_202A_206E_202A_200B_200E_202C_200D_206F_200F_206D_206A_200F_202E())) ? 1144182414 : 1144182415); - break; - case 4: - queueRemaining = _customDeliveryController.QueueRemaining; - num = ((queueRemaining <= 0) ? 1144182410 : 1144182408); - break; - case 7: - return; - case 5: - num = (isMinimized ? 1144182410 : 1144182413); - break; - case 2: - UiThemeUtils.WrappedTextColored(UiThemeUtils.DimTextColor, remainingTaskNames[0]); - num = 1144182412; - break; - case 0: - num = 1144182411; - break; - case 6: - _customDeliveryController.Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-30410556)); - _movementController.Stop(); - num = 1144182414; - break; + ImU8String text2 = new ImU8String(19, 1); + text2.AppendFormatted(queueRemaining); + text2.AppendLiteral(" more NPC(s) queued"); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, text2); } } + if (UiThemeUtils.IconButton(FontAwesomeIcon.Stop, ImGui.GetFrameHeight())) + { + _customDeliveryController.Stop("UI stop"); + _movementController.Stop(); + } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawGatheringActive(bool isMinimized) { - string text = ResolveItemName(_gatheringController.CurrentItemId) ?? 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(2134680438); - ImRaii.ColorDisposable colorDisposable = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Text, _200E_200F_202C_206B_200B_202B_206F_206B_206F_206D_206D_200B_206A_200E_200D_200C_206F_202B_202D_202A_206E_206C_202A_206D_206E_206A_200D_202D_206F_206C_206F_206D_200F_202A_200C_200F_200F_200C_202B_206A_202E(), true); - int num; - try + string text = ResolveItemName(_gatheringController.CurrentItemId) ?? "Gathering"; + using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGold)) { - _200E_202C_202D_206D_202B_206E_200E_206F_202D_206D_206F_202C_206A_200B_200C_202B_202E_206A_200F_202D_200E_200C_200E_206D_206C_202B_202B_202E_200D_206C_206E_206E_202D_206C_200B_200E_206E_200C_206E_206E_202E((ImU8String)UiThemeUtils.TruncateToWidth(_200C_202D_202E_206B_202C_202D_200B_202C_206F_200F_206E_202C_206C_206E_200C_206B_200B_206A_206C_202E_206A_202D_200E_206F_206D_200E_202A_202E_206C_202D_202E_202B_202D_206C_202E_200F_200D_202A_206D_202E_202E(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(-1818790475), text), _202E_206F_202E_206B_200C_200C_202B_206C_202D_200F_206A_206E_200E_202C_206A_202D_206E_200D_200E_206C_200B_200C_206E_206E_206E_200F_206D_200D_206F_202E_206F_202C_202A_206D_206A_206C_202B_206E_206B_200C_202E().X)); - } - finally - { - num = ((colorDisposable == null) ? 1566387616 : 1566387617); - while (true) - { - int num2 = num; - int num3 = 1566387616; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 1566387617; - break; - case 0: - goto end_IL_007c; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable); - num = 1566387616; - break; - } - continue; - end_IL_007c: - break; - } + ImGui.TextUnformatted(UiThemeUtils.TruncateToWidth("Gathering: " + text, ImGui.GetContentRegionAvail().X)); } IList remainingTaskNames = _gatheringController.GetRemainingTaskNames(); - num = ((remainingTaskNames.Count <= 0) ? 1907929888 : 1907929890); - while (true) + if (remainingTaskNames.Count > 0) { - int num7 = num; - int num3 = 1907929895; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 3: - num = 1907929890; - break; - case 2: - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Stop, _206C_206C_206C_206D_200C_200E_202C_202C_206E_202C_202C_206B_200F_202A_200D_202C_200B_206E_206B_202D_206E_206F_200C_206B_200C_206B_206B_202D_202A_206E_202A_200B_200E_202C_200D_206F_200F_206D_206A_200F_202E())) ? 1907929889 : 1907929891); - break; - case 7: - num = (isMinimized ? 1907929893 : 1907929895); - break; - case 4: - _gatheringController.Stop(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(-767095672)); - _movementController.Stop(); - num = 1907929889; - break; - case 0: - num = ((remainingTaskNames.Count <= 1) ? 1907929893 : 1907929894); - break; - case 5: - UiThemeUtils.WrappedTextColored(UiThemeUtils.DimTextColor, remainingTaskNames[0]); - num = 1907929888; - break; - case 6: - return; - case 1: - { - ImU8String imU8String = new ImU8String(13, 1); - imU8String.AppendFormatted(remainingTaskNames.Count - 1); - imU8String.AppendLiteral(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(-1724826834)); - _202E_200E_200E_202E_200D_206E_206F_206E_200C_206F_202C_206D_200D_200C_206F_206B_202B_206F_206F_200F_206D_200E_200B_200E_206D_200E_206F_202C_202A_206F_202D_206B_202C_202E_200F_206B_200E_206E_206D_202D_202E(ref UiThemeUtils.MutedTextColor, imU8String); - num = 1907929893; - break; - } - } + UiThemeUtils.WrappedTextColored(UiThemeUtils.DimTextColor, remainingTaskNames[0]); + } + if (!isMinimized && remainingTaskNames.Count > 1) + { + ImU8String text2 = new ImU8String(13, 1); + text2.AppendFormatted(remainingTaskNames.Count - 1); + text2.AppendLiteral(" more task(s)"); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, text2); + } + if (UiThemeUtils.IconButton(FontAwesomeIcon.Stop, ImGui.GetFrameHeight())) + { + _gatheringController.Stop("UI stop"); + _movementController.Stop(); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawFishingActive(bool isMinimized) { - string text = ResolveItemName(_fishingController.CurrentItemId) ?? global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1984542455); - ImRaii.ColorDisposable colorDisposable = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Text, _202E_202C_200D_202A_202E_206F_206A_206A_200F_202D_206D_200F_206C_200B_200C_202B_206B_200D_206F_200F_202C_200B_202B_200C_206A_202A_202D_202E_206C_200B_206B_202A_206D_206D_202A_206B_206A_200E_200B_202C_202E(), true); - int num; - try + string text = ResolveItemName(_fishingController.CurrentItemId) ?? "Fishing"; + using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedBlue)) { - _200E_202C_202D_206D_202B_206E_200E_206F_202D_206D_206F_202C_206A_200B_200C_202B_202E_206A_200F_202D_200E_200C_200E_206D_206C_202B_202B_202E_200D_206C_206E_206E_202D_206C_200B_200E_206E_200C_206E_206E_202E((ImU8String)UiThemeUtils.TruncateToWidth(_200C_202D_202E_206B_202C_202D_200B_202C_206F_200F_206E_202C_206C_206E_200C_206B_200B_206A_206C_202E_206A_202D_200E_206F_206D_200E_202A_202E_206C_202D_202E_202B_202D_206C_202E_200F_200D_202A_206D_202E_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(522045064), text), _202E_206F_202E_206B_200C_200C_202B_206C_202D_200F_206A_206E_200E_202C_206A_202D_206E_200D_200E_206C_200B_200C_206E_206E_206E_200F_206D_200D_206F_202E_206F_202C_202A_206D_206A_206C_202B_206E_206B_200C_202E().X)); - } - finally - { - num = ((colorDisposable == null) ? 932326906 : 932326905); - while (true) - { - int num2 = num; - int num3 = 932326907; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 932326905; - break; - case 1: - goto end_IL_007c; - case 2: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable); - num = 932326906; - break; - } - continue; - end_IL_007c: - break; - } + ImGui.TextUnformatted(UiThemeUtils.TruncateToWidth("Fishing: " + text, ImGui.GetContentRegionAvail().X)); } IList remainingTaskNames = _fishingController.GetRemainingTaskNames(); - num = ((remainingTaskNames.Count <= 0) ? (-649755039) : (-649755035)); - while (true) + if (remainingTaskNames.Count > 0) { - int num7 = num; - int num3 = -649755037; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - return; - case 5: - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Stop, _206C_206C_206C_206D_200C_200E_202C_202C_206E_202C_202C_206B_200F_202A_200D_202C_200B_206E_206B_202D_206E_206F_200C_206B_200C_206B_206B_202D_202A_206E_202A_200B_200E_202C_200D_206F_200F_206D_206A_200F_202E())) ? (-649755033) : (-649755038)); - break; - case 1: - _fishingController.Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-271672975)); - _movementController.Stop(); - num = -649755033; - break; - case 3: - num = -649755035; - break; - case 6: - UiThemeUtils.WrappedTextColored(UiThemeUtils.DimTextColor, remainingTaskNames[0]); - num = -649755039; - break; - case 2: - num = (isMinimized ? (-649755034) : (-649755037)); - break; - case 0: - { - string text2 = _fishingController.State.ToString(); - _202E_200E_200E_202E_200D_206E_206F_206E_200C_206F_202C_206D_200D_200C_206F_206B_202B_206F_206F_200F_206D_200E_200B_200E_206D_200E_206F_202C_202A_206F_202D_206B_202C_202E_200F_206B_200E_206E_206D_202D_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)text2); - num = -649755034; - break; - } - } + UiThemeUtils.WrappedTextColored(UiThemeUtils.DimTextColor, remainingTaskNames[0]); + } + if (!isMinimized) + { + string text2 = _fishingController.State.ToString(); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, text2); + } + if (UiThemeUtils.IconButton(FontAwesomeIcon.Stop, ImGui.GetFrameHeight())) + { + _fishingController.Stop("UI stop"); + _movementController.Stop(); } } private string? ResolveItemName(uint? itemId) { - int num = (itemId.HasValue ? 1749616264 : 1749616270); - Item row = default(Item); - while (true) + if (!itemId.HasValue) { - int num2 = num; - int num3 = 1749616268; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return row.Name.ToString(); - case 4: - num = ((!_dataManager.GetExcelSheet().TryGetRow(itemId.Value, out row)) ? 1749616269 : 1749616271); - break; - case 2: - return null; - case 0: - num = 1749616270; - break; - case 1: - return null; - } + return null; } + if (_dataManager.GetExcelSheet().TryGetRow(itemId.Value, out var row)) + { + return row.Name.ToString(); + } + return null; } private void StopAllControllers(string reason) @@ -754,556 +295,124 @@ internal sealed class ActiveQuestComponent _attunementController.Stop(reason); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawStopConditionTooltip() { - int num = ((_configuration.Stop.Conditions.Count != 0) ? 866326740 : 866326741); - while (true) + if ((_configuration.Stop.Conditions.Count == 0 && _questController.SessionConditions.Count == 0) || !ImGui.IsItemHovered()) { - int num2 = num; - int num3 = 866326740; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = 866326741; - break; - case 2: - return; - case 0: - num = (_200E_200D_200B_200F_206B_200D_206F_200B_202C_206B_202A_202C_206F_206D_202D_206C_200C_206A_200C_200C_202C_202E_206A_206D_202E_200F_206D_202B_200F_206F_206C_206E_206C_200E_202D_206F_206E_200F_202E_202E() ? 866326736 : 866326742); - break; - case 1: - num = ((_questController.SessionConditions.Count == 0) ? 866326742 : 866326740); - break; - case 4: - { - _202C_206D_202C_206B_206F_200C_200E_206A_202C_200D_200D_206F_206B_200C_200D_202B_206D_200E_200D_206C_200D_200B_200C_200C_200D_206C_202B_202A_202C_202C_202B_202E_206A_202C_206F_206B_202D_200D_202D_206C_202E(); - _200E_202C_202D_206D_202B_206E_200E_206F_202D_206D_206F_202C_206A_200B_200C_202B_202E_206A_200F_202D_200E_200C_200E_206D_206C_202B_202B_202E_200D_206C_206E_206E_202D_206C_200B_200E_206E_200C_206E_206E_202E((ImU8String)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(1075846850)); - using (List.Enumerator enumerator = _configuration.Stop.Conditions.GetEnumerator()) - { - num = -48425608; - while (true) - { - int num5 = num; - num3 = -48425607; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 3: - num = -48425608; - break; - case 2: - { - StopCondition current = enumerator.Current; - ImU8String imU8String = new ImU8String(3, 2); - imU8String.AppendLiteral(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(-999106428)); - imU8String.AppendFormatted(current.Mode); - imU8String.AppendLiteral(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(-900750902)); - imU8String.AppendFormatted(current.GetDescription()); - _206A_200D_200E_200B_206C_206E_202B_200B_206D_206F_202E_206A_202A_200F_206A_200D_200B_206C_206A_202C_206A_202C_206A_200C_202C_200E_200B_202C_206C_206B_200E_206F_206E_202C_202B_202C_202C_200B_202C_202A_202E(imU8String); - num = -48425608; - break; - } - case 1: - num = (enumerator.MoveNext() ? (-48425605) : (-48425607)); - break; - case 0: - goto end_IL_00fd; - } - continue; - end_IL_00fd: - break; - } - } - using (List.Enumerator enumerator = _questController.SessionConditions.GetEnumerator()) - { - num = 538641667; - while (true) - { - int num8 = num; - num3 = 538641664; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 538641667; - break; - case 3: - num = (enumerator.MoveNext() ? 538641665 : 538641664); - break; - case 1: - { - StopCondition current2 = enumerator.Current; - ImU8String imU8String2 = new ImU8String(3, 2); - imU8String2.AppendLiteral(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(-1118615183)); - imU8String2.AppendFormatted(current2.Mode); - imU8String2.AppendLiteral(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(-900750902)); - imU8String2.AppendFormatted(current2.GetDescription()); - _206A_200D_200E_200B_206C_206E_202B_200B_206D_206F_202E_206A_202A_200F_206A_200D_200B_206C_206A_202C_206A_202C_206A_200C_202C_200E_200B_202C_206C_206B_200E_206F_206E_202C_202B_202C_202C_200B_202C_202A_202E(imU8String2); - num = 538641667; - break; - } - case 0: - goto end_IL_01ed; - } - continue; - end_IL_01ed: - break; - } - } - _206E_206C_200F_202D_206C_200C_206B_200F_206D_206A_202C_206C_206D_206F_200D_202C_202E_202E_206E_200D_206E_202A_200E_206D_202C_202D_200F_206B_206C_200E_206F_202A_206A_200D_202A_206D_206A_200B_200E_202B_202E(); - return; - } - } + return; } + ImGui.BeginTooltip(); + ImGui.TextUnformatted("Stop conditions:"); + foreach (StopCondition condition in _configuration.Stop.Conditions) + { + ImU8String text = new ImU8String(3, 2); + text.AppendLiteral("["); + text.AppendFormatted(condition.Mode); + text.AppendLiteral("] "); + text.AppendFormatted(condition.GetDescription()); + ImGui.BulletText(text); + } + foreach (StopCondition sessionCondition in _questController.SessionConditions) + { + ImU8String text2 = new ImU8String(3, 2); + text2.AppendLiteral("["); + text2.AppendFormatted(sessionCondition.Mode); + text2.AppendLiteral("] "); + text2.AppendFormatted(sessionCondition.GetDescription()); + ImGui.BulletText(text2); + } + ImGui.EndTooltip(); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawMinimizedQuest(QuestController.QuestProgress currentQuest) { QuestController.QuestProgress startedQuest = _questController.StartedQuest; - int num = ((startedQuest != null) ? 621647736 : 621647737); - int num7; - float num9 = default(float); - while (true) + string text = ((startedQuest != null) ? Shorten(startedQuest.Quest.Info.Name) : Shorten(currentQuest.Quest.Info.Name)); + float cursorPosX = ImGui.GetCursorPosX(); + float x = ImGui.GetContentRegionAvail().X; + float frameHeight = ImGui.GetFrameHeight(); + float x2 = ImGui.GetStyle().ItemSpacing.X; + float num = frameHeight * 4f + x2 * 3f; + ImGui.TextColored(in UiThemeUtils.AccentColor, UiThemeUtils.TruncateToWidth(text, x - num - x2)); + ImGui.SameLine(cursorPosX + x - num); + using (ImRaii.Disabled(_questController.IsRunning || _gatheringController.IsRunning || _fishingController.IsRunning || _fateController.IsRunning || _seasonalDutyController.IsRunning || _customDeliveryController.IsRunning || _attunementController.IsRunning)) { - int num2 = num; - int num3 = 621647741; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - string text; - string text2; - float num8; - float x; - float x2; - float num10; - switch (num5 - (num6 + num6)) + using (ImRaii.PushColor(ImGuiCol.Button, UiThemeUtils.PlayButtonColor)) { - default: - continue; - case 7: - num = (_gatheringController.IsRunning ? 621647743 : 621647733); - continue; - case 4: - text = Shorten(currentQuest.Quest.Info.Name); - goto IL_019f; - case 8: - num = (_fishingController.IsRunning ? 621647743 : 621647740); - continue; - case 0: - num = 621647737; - continue; - case 3: - num = (_customDeliveryController.IsRunning ? 621647743 : 621647732); - continue; - case 1: - num = (_fateController.IsRunning ? 621647743 : 621647739); - continue; - case 6: - num = (_seasonalDutyController.IsRunning ? 621647743 : 621647742); - continue; - case 9: - num7 = (_attunementController.IsRunning ? 1 : 0); - break; - case 5: - text = Shorten(startedQuest.Quest.Info.Name); - goto IL_019f; - case 2: + using (ImRaii.PushColor(ImGuiCol.ButtonHovered, UiThemeUtils.PlayButtonHover)) { - num7 = 1; - break; - } - IL_019f: - text2 = text; - num8 = _206C_206E_200C_202A_200C_202B_200E_206D_206F_200B_202C_202C_200C_206D_202A_200D_206A_206D_200F_202C_206A_200B_202B_200F_202C_202D_206E_206F_200D_206C_206B_206E_206A_206E_202C_206C_200F_206B_200C_202A_202E(); - x = _202E_206F_202E_206B_200C_200C_202B_206C_202D_200F_206A_206E_200E_202C_206A_202D_206E_200D_200E_206C_200B_200C_206E_206E_206E_200F_206D_200D_206F_202E_206F_202C_202A_206D_206A_206C_202B_206E_206B_200C_202E().X; - num9 = _206C_206C_206C_206D_200C_200E_202C_202C_206E_202C_202C_206B_200F_202A_200D_202C_200B_206E_206B_202D_206E_206F_200C_206B_200C_206B_206B_202D_202A_206E_202A_200B_200E_202C_200D_206F_200F_206D_206A_200F_202E(); - x2 = _202C_206C_200C_202E_206C_200B_200F_206D_206E_206F_202D_200F_200B_206F_202C_202D_202E_200F_206B_200E_200C_200F_202D_200C_200F_202E_206F_206D_206B_206C_202A_206F_202B_200D_202E_200D_206C_206C_202A_206B_202E().ItemSpacing.X; - num10 = num9 * 4f + x2 * 3f; - _202E_200E_200E_202E_200D_206E_206F_206E_200C_206F_202C_206D_200D_200C_206F_206B_202B_206F_206F_200F_206D_200E_200B_200E_206D_200E_206F_202C_202A_206F_202D_206B_202C_202E_200F_206B_200E_206E_206D_202D_202E(ref UiThemeUtils.AccentColor, (ImU8String)UiThemeUtils.TruncateToWidth(text2, x - num10 - x2)); - _202C_202A_202E_200C_202C_206A_200D_200C_206A_206D_206F_200C_206E_200B_200D_202A_202C_200E_202A_206A_200F_206E_202C_202E_206A_202A_202B_200B_206A_206C_200C_202C_206C_206B_202D_202E_202E_200C_206F_202A_202E(num8 + x - num10); - num = (_questController.IsRunning ? 621647743 : 621647738); - continue; - } - break; - } - ImRaii.DisabledDisposable disabledDisposable = _200F_200C_200D_206B_200C_202E_206C_206C_206B_206B_206B_200F_206F_202B_200C_200E_206D_206C_206E_202C_202B_202B_206E_206F_206E_200D_206D_200E_206F_206F_202B_202A_200D_206C_202D_202E_202C_202E_202E_206D_202E((byte)num7 != 0); - ImRaii.ColorDisposable colorDisposable; - try - { - colorDisposable = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Button, UiThemeUtils.PlayButtonColor, true); - try - { - ImRaii.ColorDisposable colorDisposable2 = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.ButtonHovered, UiThemeUtils.PlayButtonHover, true); - try - { - ImRaii.ColorDisposable colorDisposable3 = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.ButtonActive, UiThemeUtils.PlayButtonActive, true); - try + using (ImRaii.PushColor(ImGuiCol.ButtonActive, UiThemeUtils.PlayButtonActive)) { - ImRaii.ColorDisposable colorDisposable4 = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Text, UiThemeUtils.PlayButtonText, true); - try + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.PlayButtonText)) { - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Play, num9)) ? 1002588221 : 1002588222); - while (true) + if (UiThemeUtils.IconButton(FontAwesomeIcon.Play, frameHeight)) { - int num11 = num; - int num3 = 1002588221; - int num4 = num11; - switch ((num4 | num3) - (num4 & num3)) + if (_questFunctions.GetQuestProgressInfo(currentQuest.Quest.Id) == null) { - case 2: - num = 1002588222; - break; - case 1: - _questController.Start(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1809965159)); - num = 1002588221; - break; - case 4: _questController.SetNextQuest(currentQuest.Quest); - num = 1002588220; - break; - case 3: - num = ((_questFunctions.GetQuestProgressInfo(currentQuest.Quest.Id) != null) ? 1002588220 : 1002588217); - break; - case 0: - goto end_IL_0296; } - continue; - end_IL_0296: - break; - } - } - finally - { - num = ((colorDisposable4 == null) ? 1021762009 : 1021762010); - while (true) - { - int num12 = num; - int num3 = 1021762011; - int num4 = num12; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1021762010; - break; - case 2: - goto end_IL_036b; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable4); - num = 1021762009; - break; - } - continue; - end_IL_036b: - break; + _questController.Start("UI start"); } } } - finally - { - num = ((colorDisposable3 == null) ? 2028192270 : 2028192269); - while (true) - { - int num13 = num; - int num3 = 2028192271; - int num4 = num13; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 2028192269; - break; - case 1: - goto end_IL_03d6; - case 2: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable3); - num = 2028192270; - break; - } - continue; - end_IL_03d6: - break; - } - } - } - finally - { - num = ((colorDisposable2 == null) ? 1950199973 : 1950199972); - while (true) - { - int num14 = num; - int num3 = 1950199973; - int num4 = num14; - int num15 = num4 + num3; - int num16 = num4 & num3; - switch (num15 - (num16 + num16)) - { - case 0: - goto end_IL_0441; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable2); - num = 1950199973; - break; - case 2: - num = 1950199972; - break; - } - continue; - end_IL_0441: - break; - } - } - } - finally - { - num = ((colorDisposable == null) ? (-1939629864) : (-1939629863)); - while (true) - { - int num17 = num; - int num3 = -1939629864; - int num4 = num17; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1939629863; - break; - case 0: - goto end_IL_04ae; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable); - num = -1939629864; - break; - } - continue; - end_IL_04ae: - break; } } } - finally + ImGui.SameLine(); + if (UiThemeUtils.IconButton(FontAwesomeIcon.StepForward, frameHeight)) { - num = ((disabledDisposable == null) ? (-1539532021) : (-1539532022)); - while (true) + _questController.StartSingleStep("UI step"); + } + ImGui.SameLine(); + if (UiThemeUtils.IconButton(FontAwesomeIcon.Stop, frameHeight)) + { + StopAllControllers("UI stop"); + } + ImGui.SameLine(); + if (UiThemeUtils.IconButton(FontAwesomeIcon.Forward, frameHeight)) + { + _movementController.Stop(); + _questController.Skip(currentQuest.Quest.Id, currentQuest.Sequence); + } + int num2 = currentQuest.Quest.FindSequence(currentQuest.Sequence)?.Steps.Count ?? 0; + float fraction = ((num2 > 0) ? ((float)currentQuest.Step / (float)num2) : 0f); + using (UiThemeUtils.PushProgressBarColors()) + { + ImGui.ProgressBar(fraction, new Vector2(-1f, 3f), string.Empty); + } + int value = Math.Min(currentQuest.Step + 1, Math.Max(num2, 1)); + string text2 = null; + if (_combatController.IsRunning) + { + text2 = "In Combat"; + } + else + { + string currentTaskState = _questController.CurrentTaskState; + if (currentTaskState != null) { - int num18 = num; - int num3 = -1539532021; - int num4 = num18; - int num19 = num4 + num3; - int num20 = num4 & num3; - switch (num19 - (num20 + num20)) - { - case 0: - goto end_IL_0519; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)disabledDisposable); - num = -1539532021; - break; - case 2: - num = -1539532022; - break; - } - continue; - end_IL_0519: - break; + text2 = currentTaskState; + } + else if (!string.IsNullOrEmpty(_questController.DebugState)) + { + text2 = _questController.DebugState; } } - _202B_202D_200D_202A_200F_206A_202A_202B_206E_206F_200D_200D_200B_200C_200B_200F_206D_202C_206F_200E_200C_200B_206B_206E_202A_202A_206F_202B_202B_200B_200C_206D_206A_206C_202D_200B_206D_206D_200E_202B_202E(); - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.StepForward, num9)) ? (-1721937345) : (-1721937346)); - int num25 = default(int); - float num24; - while (true) + string text3 = ((text2 != null) ? $"Step {value}/{num2} - {text2}" : $"Step {value}/{num2}"); + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.DimTextColor)) { - int num21 = num; - int num3 = -1721937349; - int num4 = num21; - int num22 = num4 + num3; - int num23 = num4 & num3; - switch (num22 - (num23 + num23)) - { - default: - continue; - case 3: - { - QuestSequence? questSequence = currentQuest.Quest.FindSequence(currentQuest.Sequence); - num25 = ((questSequence != null) ? _202E_202E_202A_202B_206A_206B_202C_202E_206F_200B_206F_206D_206A_200B_206E_202C_206F_206F_200B_202A_206C_206A_206A_206B_202D_202C_200F_206F_206D_200D_206C_200B_202C_202C_200F_206C_200B_202E_200B_202B_202E(questSequence).Count : 0); - num = ((num25 > 0) ? (-1721937357) : (-1721937351)); - continue; - } - case 5: - _questController.StartSingleStep(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(-418446762)); - num = -1721937345; - continue; - case 6: - _202B_202D_200D_202A_200F_206A_202A_202B_206E_206F_200D_200D_200B_200C_200B_200F_206D_202C_206F_200E_200C_200B_206B_206E_202A_202A_206F_202B_202B_200B_200C_206D_206A_206C_202D_200B_206D_206D_200E_202B_202E(); - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Forward, num9)) ? (-1721937352) : (-1721937350)); - continue; - case 4: - _202B_202D_200D_202A_200F_206A_202A_202B_206E_206F_200D_200D_200B_200C_200B_200F_206D_202C_206F_200E_200C_200B_206B_206E_202A_202A_206F_202B_202B_200B_200C_206D_206A_206C_202D_200B_206D_206D_200E_202B_202E(); - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Stop, num9)) ? (-1721937347) : (-1721937348)); - continue; - case 2: - num24 = 0f; - break; - case 0: - num = -1721937346; - continue; - case 1: - _movementController.Stop(); - _questController.Skip(currentQuest.Quest.Id, currentQuest.Sequence); - num = -1721937352; - continue; - case 7: - StopAllControllers(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(-1993005243)); - num = -1721937347; - continue; - case 8: - num24 = (float)currentQuest.Step / (float)num25; - break; - } - break; - } - float num26 = num24; - ImRaii.ColorDisposable colorDisposable5 = UiThemeUtils.PushProgressBarColors(); - try - { - _206E_202E_200B_200E_206B_202D_200E_200E_206E_206E_200C_200B_206F_202C_200B_206C_200C_206A_200E_202A_202C_206D_200B_206D_202A_202D_202A_202B_200C_200D_206E_206E_202C_200C_200C_206E_200E_200B_206C_200F_202E(num26, new Vector2(-1f, 3f), (ImU8String)string.Empty); - } - finally - { - num = ((colorDisposable5 == null) ? 87944784 : 87944785); - while (true) - { - int num27 = num; - int num3 = 87944784; - int num4 = num27; - int num28 = num4 + num3; - int num29 = num4 & num3; - switch (num28 - (num29 + num29)) - { - case 0: - goto end_IL_0768; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable5); - num = 87944784; - break; - case 2: - num = 87944785; - break; - } - continue; - end_IL_0768: - break; - } - } - int value = _202B_200E_206D_206F_202A_206B_202B_202E_202E_206D_206A_206A_200C_200E_206B_206F_200E_200C_202A_206A_206B_206C_200E_206F_206F_206A_200B_202D_202E_202B_200B_206F_202D_202D_206A_206A_200C_206F_200F_206B_202E(currentQuest.Step + 1, _200C_206F_202B_206C_202D_206E_206E_206E_206A_206D_200D_206E_202C_202E_206C_200C_206D_200C_200B_206B_206C_202B_206B_202D_202C_200E_200E_202C_206F_206B_200E_202D_206A_206E_206A_202E_202E_206B_206D_202A_202E(num25, 1)); - string text3 = null; - num = ((!_combatController.IsRunning) ? (-984884916) : (-984884915)); - string currentTaskState = default(string); - string text4; - while (true) - { - int num30 = num; - int num3 = -984884916; - int num4 = num30; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 2: - num = ((text3 != null) ? (-984884919) : (-984884917)); - continue; - case 4: - text3 = currentTaskState; - num = -984884914; - continue; - case 6: - text3 = _questController.DebugState; - num = -984884914; - continue; - case 7: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(6, 2); - defaultInterpolatedStringHandler2.AppendLiteral(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(2121328215)); - defaultInterpolatedStringHandler2.AppendFormatted(value); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-70733513)); - defaultInterpolatedStringHandler2.AppendFormatted(num25); - text4 = defaultInterpolatedStringHandler2.ToStringAndClear(); - break; - } - case 3: - num = -984884915; - continue; - case 8: - num = (_206B_200B_200F_202E_200C_202A_200B_206A_202B_206F_202B_206E_202C_206F_200B_206B_200F_200F_206D_206B_202A_202A_206A_206A_200C_200C_200E_200B_200B_202C_202D_206B_206C_200F_202B_206F_200F_200E_200C_202E(_questController.DebugState) ? (-984884914) : (-984884918)); - continue; - case 0: - currentTaskState = _questController.CurrentTaskState; - num = ((currentTaskState == null) ? (-984884924) : (-984884920)); - continue; - case 1: - text3 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2013597711); - num = -984884914; - continue; - case 5: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(9, 3); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1115395302)); - defaultInterpolatedStringHandler.AppendFormatted(value); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1680133376)); - defaultInterpolatedStringHandler.AppendFormatted(num25); - defaultInterpolatedStringHandler.AppendLiteral(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(-1884306162)); - defaultInterpolatedStringHandler.AppendFormatted(text3); - text4 = defaultInterpolatedStringHandler.ToStringAndClear(); - break; - } - } - break; - } - string text5 = text4; - colorDisposable = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Text, UiThemeUtils.DimTextColor, true); - try - { - UiThemeUtils.WrappedText(text5); - } - finally - { - num = ((colorDisposable == null) ? (-969358061) : (-969358064)); - while (true) - { - int num31 = num; - int num3 = -969358063; - int num4 = num31; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -969358064; - break; - case 2: - goto end_IL_09f0; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable); - num = -969358061; - break; - } - continue; - end_IL_09f0: - break; - } + UiThemeUtils.WrappedText(text3); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawNoActiveQuest(bool isMinimized) { (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple = UiThemeUtils.BeginCard(); Vector2 item = tuple.ContentStartPos; float item2 = tuple.AvailableWidth; ImDrawListPtr item3 = tuple.DrawList; - float num = _206C_206E_200C_202A_200C_202B_200E_206D_206F_200B_202C_202C_200C_206D_202A_200D_206A_206D_200F_202C_206A_200B_202B_200F_202C_202D_206E_206F_200D_206C_206B_206E_206A_206E_202C_206C_200F_206B_200C_202A_202E(); - float num2 = _202E_206F_202E_206B_200C_200C_202B_206C_202D_200F_206A_206E_200E_202C_206A_202D_206E_200D_200E_206C_200B_200C_206E_206E_206E_200F_206D_200D_206F_202E_206F_202C_202A_206D_206A_206C_202B_206E_206B_200C_202E().X - 12f; + float cursorPosX = ImGui.GetCursorPosX(); + float num = ImGui.GetContentRegionAvail().X - 12f; try { (bool isLevelLocked, int levelsNeeded, int requiredLevel, string? questName) msqLevelLockInfo = _questFunctions.GetMsqLevelLockInfo(); @@ -1311,2420 +420,497 @@ internal sealed class ActiveQuestComponent int item5 = msqLevelLockInfo.levelsNeeded; int item6 = msqLevelLockInfo.requiredLevel; string item7 = msqLevelLockInfo.questName; - IPlayerCharacter playerCharacter = _206C_202A_200C_202A_206A_200C_200F_200C_202E_206A_206A_202E_200E_202B_202D_202B_206B_206A_200D_200F_200F_206B_202A_202C_206B_202D_202D_200B_200D_202B_202B_200C_200C_202B_200F_200B_200B_200B_202E_206C_202E(_objectTable); - int currentPlayerLevel = ((playerCharacter != null) ? _202B_200B_200F_200F_202A_206C_206D_206B_200F_200D_206A_202C_206C_200B_206A_202E_200D_202D_202E_200F_200B_206E_206E_200F_200C_206D_206E_206A_200E_206F_206B_202A_206A_206D_206F_202D_202B_202C_200E_202B_202E((ICharacter)playerCharacter) : 0); - int num3 = ((!item4) ? (-1477048887) : (-1477048886)); - while (true) + int currentPlayerLevel = _objectTable.LocalPlayer?.Level ?? 0; + if (item4 && _autoDutyIpc.IsConfiguredToRunLevelingMode(currentPlayerLevel) && item7 != null) { - int num4 = num3; - int num5 = -1477048888; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) + ImGui.PushTextWrapPos(cursorPosX + num); + Vector4 col = ImGuiColors.DalamudYellow; + ImU8String text = new ImU8String(22, 2); + text.AppendLiteral("MSQ '"); + text.AppendFormatted(item7); + text.AppendLiteral("' requires level "); + text.AppendFormatted(item6); + ImGui.TextColored(in col, text); + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.DimTextColor)) { - default: - continue; - case 3: - num3 = -1477048886; - continue; - case 2: - if (_autoDutyIpc.IsConfiguredToRunLevelingMode(currentPlayerLevel)) - { - num3 = -1477048888; - continue; - } - goto case 1; - case 0: - if (item7 != null) - { - num3 = -1477048884; - continue; - } - goto case 1; - case 4: - { - _200B_206B_200E_202A_206A_200F_200D_206D_200D_202E_200E_206E_206D_200D_200E_202B_206A_200D_206E_206A_206C_206A_206B_200F_206F_200D_206B_202D_202B_200D_206E_206A_200D_200B_202D_206A_202E_206E_200F_200C_202E(num + num2); - Vector4 vector = _202A_206C_206E_206E_206D_206D_202A_200F_200E_206E_200C_200B_202B_200C_200F_200D_202D_200E_202C_200C_206C_200E_200C_202A_206F_202E_200E_200E_200F_202D_206F_206E_206A_202A_202D_200C_200E_202D_202A_202A_202E(); - ImU8String imU8String = new ImU8String(22, 2); - imU8String.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1214630592)); - imU8String.AppendFormatted(item7); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(224066110)); - imU8String.AppendFormatted(item6); - _202E_200E_200E_202E_200D_206E_206F_206E_200C_206F_202C_206D_200D_200C_206F_206B_202B_206F_206F_200F_206D_200E_200B_200E_206D_200E_206F_202C_202A_206F_202D_206B_202C_202E_200F_206B_200E_206E_206D_202D_202E(ref vector, imU8String); - ImRaii.ColorDisposable colorDisposable = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Text, UiThemeUtils.DimTextColor, true); - try - { - ImU8String imU8String2 = new ImU8String(57, 2); - imU8String2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2048536778)); - imU8String2.AppendFormatted(item5); - imU8String2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(75652545)); - imU8String2.AppendFormatted((item5 == 1) ? string.Empty : global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1550583417)); - imU8String2.AppendLiteral(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(1722172452)); - _200E_202C_202D_206D_202B_206E_200E_206F_202D_206D_206F_202C_206A_200B_200C_202B_202E_206A_200F_202D_200E_200C_200E_206D_206C_202B_202B_202E_200D_206C_206E_206E_202D_206C_200B_200E_206E_200C_206E_206E_202E(imU8String2); - } - finally - { - num3 = ((colorDisposable == null) ? 440487731 : 440487728); - while (true) - { - int num9 = num3; - num5 = 440487729; - num6 = num9; - switch ((num6 | num5) - (num6 & num5)) - { - case 0: - num3 = 440487728; - break; - case 2: - goto end_IL_0217; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable); - num3 = 440487731; - break; - } - continue; - end_IL_0217: - break; - } - } - _206D_202B_202C_206F_206F_200B_206F_206F_202D_200F_202C_206D_202E_206A_202B_202C_202D_202D_200F_202E_206C_202E_206E_200E_202E_206C_206F_202A_202B_202B_206B_200B_200D_200B_200B_202D_206C_202B_206B_202C_202E(); - float size = _206C_206C_206C_206D_200C_200E_202C_202C_206E_202C_202C_206B_200F_202A_200D_202C_200B_206E_206B_202D_206E_206F_200C_206B_200C_206B_206B_202D_202A_206E_202A_200B_200E_202C_200D_206F_200F_206D_206A_200F_202E(); - num3 = (_questController.IsRunning ? 1877422138 : 1877422134); - int num11; - while (true) - { - int num10 = num3; - num5 = 1877422142; - num6 = num10; - switch ((num6 | num5) - (num6 & num5)) - { - default: - continue; - case 3: - num3 = (_seasonalDutyController.IsRunning ? 1877422138 : 1877422143); - continue; - case 7: - num3 = (_fishingController.IsRunning ? 1877422138 : 1877422139); - continue; - case 8: - num3 = (_gatheringController.IsRunning ? 1877422138 : 1877422137); - continue; - case 1: - num3 = (_customDeliveryController.IsRunning ? 1877422138 : 1877422136); - continue; - case 2: - num3 = 1877422134; - continue; - case 0: - num11 = ((!_autoDutyIpc.IsStopped()) ? 1 : 0); - break; - case 5: - num3 = (_fateController.IsRunning ? 1877422138 : 1877422141); - continue; - case 6: - num3 = (_attunementController.IsRunning ? 1877422138 : 1877422142); - continue; - case 4: - num11 = 1; - break; - } - break; - } - ImRaii.DisabledDisposable disabledDisposable = _200F_200C_200D_206B_200C_202E_206C_206C_206B_206B_206B_200F_206F_202B_200C_200E_206D_206C_206E_202C_202B_202B_206E_206F_206E_200D_206D_200E_206F_206F_202B_202A_200D_206C_202D_202E_202C_202E_202E_206D_202E((byte)num11 != 0); - try - { - colorDisposable = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Button, UiThemeUtils.PlayButtonColor, true); - try - { - ImRaii.ColorDisposable colorDisposable2 = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.ButtonHovered, UiThemeUtils.PlayButtonHover, true); - try - { - ImRaii.ColorDisposable colorDisposable3 = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.ButtonActive, UiThemeUtils.PlayButtonActive, true); - try - { - ImRaii.ColorDisposable colorDisposable4 = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Text, UiThemeUtils.PlayButtonText, true); - try - { - num3 = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Play, size)) ? (-587433458) : (-587433460)); - while (true) - { - int num12 = num3; - num5 = -587433459; - num6 = num12; - switch ((num6 | num5) - (num6 & num5)) - { - case 2: - num3 = -587433460; - break; - case 0: - _202C_206E_206F_202D_202C_202B_202E_200C_200D_206B_206B_202E_206F_206F_206A_200B_202A_200E_206A_200B_202A_200C_200C_202C_202C_200C_206B_206F_200E_200F_200E_200E_206C_202A_202E_200C_206A_206A_200E_206F_202E(_chatGui, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(43094195), 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(1481660241), (ushort?)(ushort)576); - num3 = -587433458; - break; - case 1: - _202E_202E_202D_200C_200B_200D_202C_206D_200C_202C_200B_202B_200F_202E_202A_206C_202B_202E_206D_200C_206D_202C_202A_206B_200E_202A_202C_206A_206F_202B_206D_202D_202D_202B_202E_206B_206B_202A_202D_206C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1053651217), Array.Empty()); - num3 = ((!_autoDutyIpc.StartLevelingMode()) ? (-587433459) : (-587433463)); - break; - case 4: - { - IChatGui chatGui = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(59, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1817016272)); - defaultInterpolatedStringHandler.AppendFormatted(item6); - defaultInterpolatedStringHandler.AppendLiteral(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(1066195627)); - defaultInterpolatedStringHandler.AppendFormatted(item7); - defaultInterpolatedStringHandler.AppendLiteral(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(1262906679)); - _206B_206C_206C_200D_206B_206D_200B_206A_206E_206A_202C_206A_206B_206D_206B_206F_206C_206B_206B_200F_206F_202B_200B_202E_206E_200B_200D_206D_206A_202B_206C_200E_200E_206C_202E_206B_200D_200F_206E_206A_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), 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(1481660241), (ushort?)(ushort)576); - num3 = -587433458; - break; - } - case 3: - goto end_IL_0462; - } - continue; - end_IL_0462: - break; - } - } - finally - { - num3 = ((colorDisposable4 == null) ? 1067192071 : 1067192068); - while (true) - { - int num13 = num3; - num5 = 1067192069; - num6 = num13; - switch ((num6 | num5) - (num6 & num5)) - { - case 2: - goto end_IL_05be; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable4); - num3 = 1067192071; - break; - case 0: - num3 = 1067192068; - break; - } - continue; - end_IL_05be: - break; - } - } - } - finally - { - num3 = ((colorDisposable3 == null) ? (-38333506) : (-38333505)); - while (true) - { - int num14 = num3; - num5 = -38333506; - num6 = num14; - int num15 = num6 + num5; - int num16 = num6 & num5; - switch (num15 - (num16 + num16)) - { - case 2: - num3 = -38333505; - break; - case 0: - goto end_IL_062e; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable3); - num3 = -38333506; - break; - } - continue; - end_IL_062e: - break; - } - } - } - finally - { - num3 = ((colorDisposable2 == null) ? (-205032898) : (-205032897)); - while (true) - { - int num17 = num3; - num5 = -205032898; - num6 = num17; - int num18 = num6 + num5; - int num19 = num6 & num5; - switch (num18 - (num19 + num19)) - { - case 2: - num3 = -205032897; - break; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable2); - num3 = -205032898; - break; - case 0: - goto end_IL_06a0; - } - continue; - end_IL_06a0: - break; - } - } - } - finally - { - num3 = ((colorDisposable == null) ? 1110655560 : 1110655563); - while (true) - { - int num20 = num3; - num5 = 1110655561; - num6 = num20; - switch ((num6 | num5) - (num6 & num5)) - { - case 1: - goto end_IL_0712; - case 2: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable); - num3 = 1110655560; - break; - case 0: - num3 = 1110655563; - break; - } - continue; - end_IL_0712: - break; - } - } - } - finally - { - num3 = ((disabledDisposable == null) ? 1917512739 : 1917512736); - while (true) - { - int num21 = num3; - num5 = 1917512738; - num6 = num21; - int num22 = num6 + num5; - int num23 = num6 & num5; - switch (num22 - (num23 + num23)) - { - case 0: - num3 = 1917512736; - break; - case 2: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)disabledDisposable); - num3 = 1917512739; - break; - case 1: - goto end_IL_0782; - } - continue; - end_IL_0782: - break; - } - } - if (!_202A_200B_206B_202D_200D_206D_200B_200E_200C_200D_202D_200C_206B_206A_202C_206E_206E_200F_206B_200D_202A_202B_202B_202D_200B_200E_202E_206A_200C_206C_200F_200F_200B_200F_202C_200B_200F_202C_206B_200D_202E(ImGuiHoveredFlags.AllowWhenDisabled)) - { - break; - } - num3 = -1019970739; - while (true) - { - int num24 = num3; - num5 = -1019970740; - num6 = num24; - int num25 = num6 + num5; - int num26 = num6 & num5; - switch (num25 - (num26 + num26)) - { - default: - continue; - case 2: - num3 = -1019970739; - continue; - case 1: - num3 = (_autoDutyIpc.IsStopped() ? (-1019970737) : (-1019970740)); - continue; - case 0: - _206F_202E_202D_200E_200C_200E_200D_206C_206E_200E_202E_206F_200E_202E_206D_200C_206B_200F_206F_206E_206F_202E_202A_206D_202C_202B_206A_206A_206C_200D_200F_206C_206A_206A_206F_202B_202E_206F_206B_200D_202E((ImU8String)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(1590813096)); - break; - case 3: - { - ImU8String imU8String3 = new ImU8String(53, 1); - imU8String3.AppendLiteral(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(-900914893)); - imU8String3.AppendFormatted(item6); - imU8String3.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1163312383)); - _206F_202E_202D_200E_200C_200E_200D_206C_206E_200E_202E_206F_200E_202E_206D_200C_206B_200F_206F_206E_206F_202E_202A_206D_202C_202B_206A_206A_206C_200D_200F_206C_206A_206A_206F_202B_202E_206F_206B_200D_202E(imU8String3); - break; - } - } - break; - } - break; + ImU8String text2 = new ImU8String(57, 2); + text2.AppendLiteral("Need "); + text2.AppendFormatted(item5); + text2.AppendLiteral(" more level"); + text2.AppendFormatted((item5 == 1) ? string.Empty : "s"); + text2.AppendLiteral(" - Leveling mode will start automatically"); + ImGui.TextUnformatted(text2); } - case 1: + ImGui.PopTextWrapPos(); + float frameHeight = ImGui.GetFrameHeight(); + using (ImRaii.Disabled(_questController.IsRunning || _gatheringController.IsRunning || _fishingController.IsRunning || _fateController.IsRunning || _seasonalDutyController.IsRunning || _customDeliveryController.IsRunning || _attunementController.IsRunning || !_autoDutyIpc.IsStopped())) { - ImRaii.ColorDisposable colorDisposable = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Text, UiThemeUtils.DimTextColor, true); - try + using (ImRaii.PushColor(ImGuiCol.Button, UiThemeUtils.PlayButtonColor)) { - _200E_202C_202D_206D_202B_206E_200E_206F_202D_206D_206F_202C_206A_200B_200C_202B_202E_206A_200F_202D_200E_200C_200E_206D_206C_202B_202B_202E_200D_206C_206E_206E_202D_206C_200B_200E_206E_200C_206E_206E_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2062963149)); - } - finally - { - num3 = ((colorDisposable == null) ? (-1727582402) : (-1727582401)); - while (true) + using (ImRaii.PushColor(ImGuiCol.ButtonHovered, UiThemeUtils.PlayButtonHover)) { - int num27 = num3; - num5 = -1727582402; - num6 = num27; - switch ((num6 | num5) - (num6 & num5)) + using (ImRaii.PushColor(ImGuiCol.ButtonActive, UiThemeUtils.PlayButtonActive)) { - case 0: - goto end_IL_08fd; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable); - num3 = -1727582402; - break; - case 2: - num3 = -1727582401; - break; + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.PlayButtonText)) + { + if (UiThemeUtils.IconButton(FontAwesomeIcon.Play, frameHeight)) + { + _logger.LogInformation("Start button clicked with MSQ level-locked. Starting AutoDuty leveling mode."); + if (_autoDutyIpc.StartLevelingMode()) + { + _chatGui.Print($"Starting AutoDuty Leveling mode to reach level {item6} for MSQ '{item7}'.", "Questionable", 576); + } + else + { + _chatGui.PrintError("Failed to start AutoDuty Leveling mode. Please check that AutoDuty is installed and configured.", "Questionable", 576); + } + } + } } - continue; - end_IL_08fd: - break; } } - string lastStopReason = _questController.LastStopReason; - if (lastStopReason == null) + } + if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) + { + if (!_autoDutyIpc.IsStopped()) { - break; + ImGui.SetTooltip("AutoDuty is currently running."); } - colorDisposable = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Text, _202A_206C_206E_206E_206D_206D_202A_200F_200E_206E_200C_200B_202B_200C_200F_200D_202D_200E_202C_200C_206C_200E_200C_202A_206F_202E_200E_200E_200F_202D_206F_206E_206A_202A_202D_200C_200E_202D_202A_202A_202E(), true); - try + else + { + ImU8String tooltip = new ImU8String(53, 1); + tooltip.AppendLiteral("Start AutoDuty Leveling mode to reach level "); + tooltip.AppendFormatted(item6); + tooltip.AppendLiteral(" for MSQ."); + ImGui.SetTooltip(tooltip); + } + } + } + else + { + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.DimTextColor)) + { + ImGui.TextUnformatted("No active quest"); + } + string lastStopReason = _questController.LastStopReason; + if (lastStopReason != null) + { + using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudYellow)) { UiThemeUtils.WrappedText(lastStopReason); } - finally - { - num3 = ((colorDisposable == null) ? 1579698075 : 1579698072); - while (true) - { - int num28 = num3; - num5 = 1579698073; - num6 = num28; - switch ((num6 | num5) - (num6 & num5)) - { - case 0: - num3 = 1579698072; - break; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable); - num3 = 1579698075; - break; - case 2: - goto end_IL_0996; - } - continue; - end_IL_0996: - break; - } - } - break; } - } - break; } if (!isMinimized) { - float num29 = _206C_206C_206C_206D_200C_200E_202C_202C_206E_202C_202C_206B_200F_202A_200D_202C_200B_206E_206B_202D_206E_206F_200C_206B_200C_206B_206B_202D_202A_206E_202A_200B_200E_202C_200D_206F_200F_206D_206A_200F_202E(); - float x = _202C_206C_200C_202E_206C_200B_200F_206D_206E_206F_202D_200F_200B_206F_202C_202D_202E_200F_206B_200E_200C_200F_202D_200C_200F_202E_206F_206D_206B_206C_202A_206F_202B_200D_202E_200D_206C_206C_202A_206B_202E().ItemSpacing.X; - float num30 = num29 * 2f + x; - ImRaii.ColorDisposable colorDisposable = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Text, UiThemeUtils.MutedTextColor, true); - try + float frameHeight2 = ImGui.GetFrameHeight(); + float x = ImGui.GetStyle().ItemSpacing.X; + float num2 = frameHeight2 * 2f + x; + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.MutedTextColor)) { - ImU8String imU8String4 = new ImU8String(14, 1); - imU8String4.AppendFormatted(_questRegistry.Count); - imU8String4.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(479225625)); - _200E_202C_202D_206D_202B_206E_200E_206F_202D_206D_206F_202C_206A_200B_200C_202B_202E_206A_200F_202D_200E_200C_200E_206D_206C_202B_202B_202E_200D_206C_206E_206E_202D_206C_200B_200E_206E_200C_206E_206E_202E(imU8String4); + ImU8String text3 = new ImU8String(14, 1); + text3.AppendFormatted(_questRegistry.Count); + text3.AppendLiteral(" quests loaded"); + ImGui.TextUnformatted(text3); } - finally + ImGui.SameLine(); + ImGui.SetCursorPosX(cursorPosX + num - num2); + if (UiThemeUtils.IconButton(FontAwesomeIcon.Stop, frameHeight2)) { - num3 = ((colorDisposable == null) ? (-824980491) : (-824980492)); - while (true) - { - int num31 = num3; - int num5 = -824980491; - int num6 = num31; - int num32 = num6 + num5; - int num33 = num6 & num5; - switch (num32 - (num33 + num33)) - { - case 2: - num3 = -824980492; - break; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable); - num3 = -824980491; - break; - case 0: - goto end_IL_0a77; - } - continue; - end_IL_0a77: - break; - } - } - _202B_202D_200D_202A_200F_206A_202A_202B_206E_206F_200D_200D_200B_200C_200B_200F_206D_202C_206F_200E_200C_200B_206B_206E_202A_202A_206F_202B_202B_200B_200C_206D_206A_206C_202D_200B_206D_206D_200E_202B_202E(); - _202B_206F_202C_200F_202A_202C_202A_206D_206B_200B_206A_202E_206B_206A_200D_202C_206E_206C_200E_202E_200F_206B_206E_202D_202E_202E_206E_200E_206F_202C_206E_206E_206D_206C_200F_202A_200D_200E_200B_206B_202E(num + num2 - num30); - if (UiThemeUtils.IconButton(FontAwesomeIcon.Stop, num29)) - { - StopAllControllers(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(494076814)); + StopAllControllers("Manual (no active quest)"); if (!_autoDutyIpc.IsStopped()) { try { _autoDutyIpc.Stop(); } - catch (Exception ex) + catch (Exception exception) { - _202C_202D_200C_202E_200C_206E_200E_206E_202A_200C_200B_202C_200E_206D_202D_202A_202B_206C_200C_202B_202A_200F_206F_200E_200B_202C_206E_200D_200B_202E_202B_202A_200B_202A_202B_206E_206F_202D_202A_200E_202E((ILogger)_logger, ex, 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(-735508401), Array.Empty()); + _logger.LogWarning(exception, "Failed to stop AutoDuty"); } } } - _202B_202D_200D_202A_200F_206A_202A_202B_206E_206F_200D_200D_200B_200C_200B_200F_206D_202C_206F_200E_200C_200B_206B_206E_202A_202A_206F_202B_202B_200B_200C_206D_206A_206C_202D_200B_206D_206D_200E_202B_202E(); - num3 = ((!UiThemeUtils.IconButton(FontAwesomeIcon.SortAmountDown, num29)) ? 1307931510 : 1307931511); - while (true) + ImGui.SameLine(); + if (UiThemeUtils.IconButton(FontAwesomeIcon.SortAmountDown, frameHeight2)) { - int num34 = num3; - int num5 = 1307931510; - int num6 = num34; - switch ((num6 | num5) - (num6 & num5)) - { - case 2: - num3 = 1307931511; - break; - case 1: - { - System.Action? action = this.OpenQueueTab; - if (action == null) - { - goto end_IL_0b69; - } - action(); - num3 = 1307931510; - break; - } - case 0: - goto end_IL_0b69; - } - continue; - end_IL_0b69: - break; + this.OpenQueueTab?.Invoke(); } } } - catch (Exception ex2) + catch (Exception ex) { - UiThemeUtils.WrappedTextColored(_200C_206C_200D_200D_206F_200C_200E_206C_202B_202E_202D_200D_206E_200E_206C_200F_206A_206E_206E_200D_200E_202A_202C_200F_200F_202E_202B_200F_206E_202A_202A_206C_200F_200E_206D_200B_206A_202B_206E_202B_202E(), _206A_202D_202C_200B_200C_202D_206B_206A_202D_206B_200D_202C_206D_200D_206F_206E_202A_200F_206C_202D_202C_206D_200C_206C_200F_200C_206C_202B_200D_202C_202D_200F_202A_206F_200E_202E_202D_206A_202A_200D_202E((object)ex2)); + UiThemeUtils.WrappedTextColored(ImGuiColors.DalamudRed, ex.ToString()); } UiThemeUtils.EndCard(item, item2, item3); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawQuestCard(QuestController.QuestProgress currentQuest, QuestController.ECurrentQuestType? currentQuestType) { QuestController.QuestProgress startedQuest = _questController.StartedQuest; QuestSequence questSequence = currentQuest.Quest.FindSequence(currentQuest.Sequence); - int num = ((questSequence != null) ? (-1809927327) : (-1809927326)); - object obj; - while (true) - { - int num2 = num; - int num3 = -1809927325; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 0: - goto IL_0068; - case 1: - obj = null; - break; - case 2: - obj = _202C_206B_200D_200F_202E_206E_202E_200F_202D_202E_202C_200F_206D_206D_206F_206A_202E_202E_202A_200D_202D_200C_202B_206B_200B_206F_202D_206D_206D_202E_206B_200E_200B_206B_206F_200B_200C_206E_206B_206E_202E(questSequence, currentQuest.Step); - break; - } - break; - IL_0068: - num = -1809927326; - } - QuestStep questStep = (QuestStep)obj; + QuestStep questStep = questSequence?.FindStep(currentQuest.Step); QuestProgressInfo questProgressInfo = _questFunctions.GetQuestProgressInfo(currentQuest.Quest.Id); (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple = UiThemeUtils.BeginCard(); Vector2 item = tuple.ContentStartPos; float item2 = tuple.AvailableWidth; ImDrawListPtr item3 = tuple.DrawList; - float num5 = _206C_206E_200C_202A_200C_202B_200E_206D_206F_200B_202C_202C_200C_206D_202A_200D_206A_206D_200F_202C_206A_200B_202B_200F_202C_202D_206E_206F_200D_206C_206B_206E_206A_206E_202C_206C_200F_206B_200C_202A_202E(); - float num6 = _202E_206F_202E_206B_200C_200C_202B_206C_202D_200F_206A_206E_200E_202C_206A_202D_206E_200D_200E_206C_200B_200C_206E_206E_206E_200F_206D_200D_206F_202E_206F_202C_202A_206D_206A_206C_202B_206E_206B_200C_202E().X - 12f; + float cursorPosX = ImGui.GetCursorPosX(); + float num = ImGui.GetContentRegionAvail().X - 12f; try { - float num7 = _206C_206C_206C_206D_200C_200E_202C_202C_206E_202C_202C_206B_200F_202A_200D_202C_200B_206E_206B_202D_206E_206F_200C_206B_200C_206B_206B_202D_202A_206E_202A_200B_200E_202C_200D_206F_200F_206D_206A_200F_202E(); - float num8 = num5 + num6 - num7 - _202C_206C_200C_202E_206C_200B_200F_206D_206E_206F_202D_200F_200B_206F_202C_202D_202E_200F_206B_200E_200C_200F_202D_200C_200F_202E_206F_206D_206B_206C_202A_206F_202B_200D_202E_200D_206C_206C_202A_206B_202E().ItemSpacing.X; - num = ((currentQuestType != QuestController.ECurrentQuestType.Simulated) ? 1274942762 : 1274942760); - int num12; - while (true) + float frameHeight = ImGui.GetFrameHeight(); + float wrapLocalPosX = cursorPosX + num - frameHeight - ImGui.GetStyle().ItemSpacing.X; + if (currentQuestType == QuestController.ECurrentQuestType.Simulated) { - int num9 = num; - int num3 = 1274942761; - int num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - string name; - string text; - switch (num10 - (num11 + num11)) - { - default: - continue; - case 8: - _206F_202E_202D_200E_200C_200E_200D_206C_206E_200E_202E_206F_200E_202E_206D_200C_206B_200F_206F_206E_206F_202E_202A_206D_202C_202B_206A_206A_206C_200D_200F_206C_206A_206A_206F_202B_202E_206F_206B_200D_202E((ImU8String)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(1623652935)); - num = 1274942755; - continue; - case 5: - num = ((startedQuest.Quest.Source != Questionable.Model.Quest.ESource.UserDirectory) ? 1274942755 : 1274942761); - continue; - case 0: - { - _202E_202E_202A_200D_202E_200C_206B_202E_200E_202C_206E_206D_206E_206D_206B_206C_206F_200B_200F_202D_202E_200E_202D_202B_200B_206D_206E_206F_200F_206E_202C_200B_202B_200D_200B_202A_200E_200C_202A_206F_202E(_202A_200F_200D_200D_206A_206C_206D_206C_202B_200E_206F_200F_206B_206D_206B_200B_202D_202C_200B_202C_206D_202A_202B_200D_206C_206B_202C_206C_200B_200E_202D_202E_202E_200F_206B_206F_200C_200D_202E_200F_202E()); - Vector4 vector = _200D_206D_206B_202E_202A_206B_202A_202E_200D_202D_200C_200C_206A_202A_202A_206D_206E_206D_200B_206E_206E_202E_202B_206F_206A_200F_200D_202B_200B_202D_202C_206A_202C_200E_206D_200E_206F_200B_200E_202B_202E(); - _202E_200E_200E_202E_200D_206E_206F_206E_200C_206F_202C_206D_200D_200C_206F_206B_202B_206F_206F_200F_206D_200E_200B_200E_206D_200E_206F_202C_202A_206F_202D_206B_202C_202E_200F_206B_200E_206E_206D_202D_202E(ref vector, (ImU8String)_200D_202E_202D_200F_206C_200D_206D_202B_206B_206D_200E_202E_202B_202A_200B_200B_200B_200D_206B_206A_202E_206C_202E_206D_200F_206E_206F_200F_202A_202A_202E_200C_200B_200D_200E_206C_206C_200B_202B_202E(FontAwesomeIcon.FilePen)); - _206D_202B_202B_200E_200E_206C_200F_200E_202C_206B_202D_206D_206A_200C_206B_200C_202E_200B_202B_202B_206D_200F_206A_200C_206D_206E_200D_200C_206D_202D_206D_200F_206D_206A_206D_200B_202D_202D_200E_206E_202E(); - _202C_202A_202E_200C_202C_206A_200D_200C_206A_206D_206F_200C_206E_200B_200D_202A_202C_200E_202A_206A_200F_206E_202C_202E_206A_202A_202B_200B_206A_206C_200C_202C_206C_206B_202D_202E_202E_200C_206F_202A_202E(0f); - num = ((!_200E_200D_200B_200F_206B_200D_206F_200B_202C_206B_202A_202C_206F_206D_202D_206C_200C_206A_200C_200C_202C_202E_206A_206D_202E_200F_206D_202B_200F_206F_206C_206E_206C_200E_202D_206F_206E_200F_202E_202E()) ? 1274942755 : 1274942753); - continue; - } - case 12: - name = currentQuest.Quest.Info.Name; - goto IL_02b7; - case 7: - { - _200B_206B_200E_202A_206A_200F_200D_206D_200D_202E_200E_206E_206D_200D_200E_202B_206A_200D_206E_206A_206C_206A_206B_200F_206F_200D_206B_202D_202B_200D_206E_206A_200D_200B_202D_206A_202E_206E_200F_200C_202E(num8); - Vector4 vector = _200E_200F_202C_206B_200B_202B_206F_206B_206F_206D_206D_200B_206A_200E_200D_200C_206F_202B_202D_202A_206E_206C_202A_206D_206E_206A_200D_202D_206F_206C_206F_206D_200F_202A_200C_200F_200F_200C_202B_206A_202E(); - ImU8String imU8String2 = new ImU8String(11, 1); - imU8String2.AppendLiteral(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(204926802)); - imU8String2.AppendFormatted(currentQuest.Quest.Info.Name); - _202E_200E_200E_202E_200D_206E_206F_206E_200C_206F_202C_206D_200D_200C_206F_206B_202B_206F_206F_200F_206D_200E_200B_200E_206D_200E_206F_202C_202A_206F_202D_206B_202C_202E_200F_206B_200E_206E_206D_202D_202E(ref vector, imU8String2); - _206D_202B_202C_206F_206F_200B_206F_206F_202D_200F_202C_206D_202E_206A_202B_202C_202D_202D_200F_202E_206C_202E_206E_200E_202E_206C_206F_202A_202B_202B_206B_200B_200D_200B_200B_202D_206C_202B_206B_202C_202E(); - num = 1274942754; - continue; - } - case 9: - name = startedQuest.Quest.Info.Name; - goto IL_02b7; - case 2: - num = 1274942760; - continue; - case 14: - num = ((!_202B_202B_206D_206B_200B_206B_206F_202D_202E_200D_202A_200E_206F_200C_200C_200C_202D_202E_206E_206C_200C_206D_202A_202C_200D_202A_200C_200B_206B_206D_206D_206B_202C_202A_200F_200B_200C_206D_200C_202A_202E(startedQuest.Quest.Root)) ? 1274942754 : 1274942765); - continue; - case 11: - _202B_202D_200D_202A_200F_206A_202A_202B_206E_206F_200D_200D_200B_200C_200B_200F_206D_202C_206F_200E_200C_200B_206B_206E_202A_202A_206F_202B_202B_200B_200C_206D_206A_206C_202D_200B_206D_206D_200E_202B_202E(); - _202B_206F_202C_200F_202A_202C_202A_206D_206B_200B_206A_202E_206B_206A_200D_202C_206E_206C_200E_202E_200F_206B_206E_202D_202E_202E_206E_200E_206F_202C_206E_206E_206D_206C_200F_202A_200D_200E_200B_206B_202E(num5 + num6 - num7); - num = (_questCardExpanded ? 1274942756 : 1274942758); - continue; - case 10: - num = ((startedQuest != null) ? 1274942752 : 1274942757); - continue; - case 1: - { - _200B_206B_200E_202A_206A_200F_200D_206D_200D_202E_200E_206E_206D_200D_200E_202B_206A_200D_206E_206A_206C_206A_206B_200F_206F_200D_206B_202D_202B_200D_206E_206A_200D_200B_202D_206A_202E_206E_200F_200C_202E(num8); - Vector4 vector = _200C_206C_200D_200D_206F_200C_200E_206C_202B_202E_202D_200D_206E_200E_206C_200F_206A_206E_206E_200D_200E_202A_202C_200F_200F_202E_202B_200F_206E_202A_202A_206C_200F_200E_206D_200B_206A_202B_206E_202B_202E(); - ImU8String imU8String = new ImU8String(11, 1); - imU8String.AppendLiteral(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(1426941883)); - imU8String.AppendFormatted(currentQuest.Quest.Info.Name); - _202E_200E_200E_202E_200D_206E_206F_206E_200C_206F_202C_206D_200D_200C_206F_206B_202B_206F_206F_200F_206D_200E_200B_200E_206D_200E_206F_202C_202A_206F_202D_206B_202C_202E_200F_206B_200E_206E_206D_202D_202E(ref vector, imU8String); - _206D_202B_202C_206F_206F_200B_206F_206F_202D_200F_202C_206D_202E_206A_202B_202C_202D_202D_200F_202E_206C_202E_206E_200E_202E_206C_206F_202A_202B_202B_206B_200B_200D_200B_200B_202D_206C_202B_206B_202C_202E(); - num = 1274942754; - continue; - } - case 4: - { - _202B_202D_200D_202A_200F_206A_202A_202B_206E_206F_200D_200D_200B_200C_200B_200F_206D_202C_206F_200E_200C_200B_206B_206E_202A_202A_206F_202B_202B_200B_200C_206D_206A_206C_202D_200B_206D_206D_200E_202B_202E(); - Vector4 vector = _200C_206C_200D_200D_206F_200C_200E_206C_202B_202E_202D_200D_206E_200E_206C_200F_206A_206E_206E_200D_200E_202A_202C_200F_200F_202E_202B_200F_206E_202A_202A_206C_200F_200E_206D_200B_206A_202B_206E_202B_202E(); - _202E_200E_200E_202E_200D_206E_206F_206E_200C_206F_202C_206D_200D_200C_206F_206B_202B_206F_206F_200F_206D_200E_200B_200E_206D_200E_206F_202C_202A_206F_202D_206B_202C_202E_200F_206B_200E_206E_206D_202D_202E(ref vector, (ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1800349721)); - num = 1274942754; - continue; - } - case 3: - num = ((currentQuestType != QuestController.ECurrentQuestType.Gathering) ? 1274942767 : 1274942766); - continue; - case 6: - num = ((startedQuest == null) ? 1274942755 : 1274942764); - continue; - case 15: - num12 = 61560; - break; - case 13: - { - num12 = 61559; - break; - } - IL_02b7: - text = name; - _200B_206B_200E_202A_206A_200F_200D_206D_200D_202E_200E_206E_206D_200D_200E_202B_206A_200D_206E_206A_206C_206A_206B_200F_206F_200D_206B_202D_202B_200D_206E_206A_200D_200B_202D_206A_202E_206E_200F_200C_202E(num8); - _202E_200E_200E_202E_200D_206E_206F_206E_200C_206F_202C_206D_200D_200C_206F_206B_202B_206F_206F_200F_206D_200E_200B_200E_206D_200E_206F_202C_202A_206F_202D_206B_202C_202E_200F_206B_200E_206E_206D_202D_202E(ref UiThemeUtils.AccentColor, (ImU8String)text); - _206D_202B_202C_206F_206F_200B_206F_206F_202D_200F_202C_206D_202E_206A_202B_202C_202D_202D_200F_202E_206C_202E_206E_200E_202E_206C_206F_202A_202B_202B_206B_200B_200D_200B_200B_202D_206C_202B_206B_202C_202E(); - num = ((startedQuest == null) ? 1274942754 : 1274942759); - continue; - } - break; + ImGui.PushTextWrapPos(wrapLocalPosX); + Vector4 col = ImGuiColors.DalamudRed; + ImU8String text = new ImU8String(11, 1); + text.AppendLiteral("Simulated: "); + text.AppendFormatted(currentQuest.Quest.Info.Name); + ImGui.TextColored(in col, text); + ImGui.PopTextWrapPos(); } - FontAwesomeIcon icon = (FontAwesomeIcon)num12; - ImRaii.ColorDisposable colorDisposable = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Button, Vector4.Zero, true); - try + else { - ImRaii.ColorDisposable colorDisposable2 = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.ButtonHovered, UiThemeUtils.SubtleActiveColor, true); - try + if (startedQuest != null && startedQuest.Quest.Source == Questionable.Model.Quest.ESource.UserDirectory) { - ImRaii.ColorDisposable colorDisposable3 = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.ButtonActive, UiThemeUtils.SubtlePressColor, true); - try + ImGui.PushFont(UiBuilder.IconFont); + ImGui.TextColored(ImGuiColors.DalamudOrange, FontAwesomeIcon.FilePen.ToIconString()); + ImGui.PopFont(); + ImGui.SameLine(0f); + if (ImGui.IsItemHovered()) { - num = ((!UiThemeUtils.IconButton(icon, num7)) ? (-946181556) : (-946181553)); - while (true) - { - int num13 = num; - int num3 = -946181555; - int num4 = num13; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -946181553; - break; - case 2: - _questCardExpanded = !_questCardExpanded; - num = -946181556; - break; - case 1: - goto end_IL_04bb; - } - continue; - end_IL_04bb: - break; - } - } - finally - { - num = ((colorDisposable3 == null) ? 1853237578 : 1853237577); - while (true) - { - int num14 = num; - int num3 = 1853237579; - int num4 = num14; - int num15 = num4 + num3; - int num16 = num4 & num3; - switch (num15 - (num16 + num16)) - { - case 0: - num = 1853237577; - break; - case 1: - goto end_IL_0532; - case 2: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable3); - num = 1853237578; - break; - } - continue; - end_IL_0532: - break; - } + ImGui.SetTooltip("This quest is loaded from your 'pluginConfigs\\Questionable\\Quests' directory.\nThis gets loaded even if Questionable ships with a newer/different version of the quest."); } } - finally + string text2 = ((startedQuest != null) ? startedQuest.Quest.Info.Name : currentQuest.Quest.Info.Name); + ImGui.PushTextWrapPos(wrapLocalPosX); + ImGui.TextColored(in UiThemeUtils.AccentColor, text2); + ImGui.PopTextWrapPos(); + if (startedQuest != null && startedQuest.Quest.Root.Disabled) { - num = ((colorDisposable2 == null) ? (-845638651) : (-845638650)); - while (true) + ImGui.SameLine(); + ImGui.TextColored(ImGuiColors.DalamudRed, "Disabled"); + } + } + ImGui.SameLine(); + ImGui.SetCursorPosX(cursorPosX + num - frameHeight); + FontAwesomeIcon icon = (_questCardExpanded ? FontAwesomeIcon.ChevronUp : FontAwesomeIcon.ChevronDown); + using (ImRaii.PushColor(ImGuiCol.Button, Vector4.Zero)) + { + using (ImRaii.PushColor(ImGuiCol.ButtonHovered, UiThemeUtils.SubtleActiveColor)) + { + using (ImRaii.PushColor(ImGuiCol.ButtonActive, UiThemeUtils.SubtlePressColor)) { - int num17 = num; - int num3 = -845638652; - int num4 = num17; - int num18 = num4 + num3; - int num19 = num4 & num3; - switch (num18 - (num19 + num19)) + if (UiThemeUtils.IconButton(icon, frameHeight)) { - case 0: - num = -845638650; - break; - case 2: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable2); - num = -845638651; - break; - case 1: - goto end_IL_05a4; + _questCardExpanded = !_questCardExpanded; } - continue; - end_IL_05a4: - break; } } } - finally + string text3 = null; + if (_combatController.IsRunning) { - num = ((colorDisposable == null) ? 388096058 : 388096057); - while (true) + text3 = "In Combat"; + } + else + { + string currentTaskState = _questController.CurrentTaskState; + if (currentTaskState != null) { - int num20 = num; - int num3 = 388096059; - int num4 = num20; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 388096057; - break; - case 2: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable); - num = 388096058; - break; - case 1: - goto end_IL_0616; - } - continue; - end_IL_0616: - break; + text3 = currentTaskState; + } + else if (!string.IsNullOrEmpty(_questController.DebugState)) + { + text3 = _questController.DebugState; } } - string text2 = null; - num = ((!_combatController.IsRunning) ? (-122246827) : (-122246826)); - string currentTaskState = default(string); - int num27 = default(int); - EInteractionType eInteractionType = default(EInteractionType); - string text4 = default(string); - bool flag = default(bool); - while (true) + ImGui.PushTextWrapPos(cursorPosX + num); + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.DimTextColor)) { - int num21 = num; - int num3 = -122246832; - int num4 = num21; - int num22 = num4 + num3; - int num23 = num4 & num3; - switch (num22 - (num23 + num23)) + ImGui.TextUnformatted(text3 ?? " "); + } + ImGui.PopTextWrapPos(); + int num2 = questSequence?.Steps.Count ?? 0; + float fraction = ((num2 > 0) ? ((float)currentQuest.Step / (float)num2) : 0f); + using (UiThemeUtils.PushProgressBarColors()) + { + ImGui.ProgressBar(fraction, new Vector2(num, 4f), string.Empty); + } + ImGui.Spacing(); + ImGui.Spacing(); + int value = Math.Min(currentQuest.Step + 1, Math.Max(num2, 1)); + ImGui.AlignTextToFramePadding(); + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.MutedTextColor)) + { + ImU8String text4 = new ImU8String(9, 2); + text4.AppendLiteral("Step "); + text4.AppendFormatted(value); + text4.AppendLiteral(" of "); + text4.AppendFormatted(num2); + ImGui.TextUnformatted(text4); + } + float frameHeight2 = ImGui.GetFrameHeight(); + float x = ImGui.GetStyle().ItemSpacing.X; + Vector2 vector; + using (ImRaii.PushFont(UiBuilder.IconFont)) + { + vector = ImGui.CalcTextSize(FontAwesomeIcon.Play.ToIconString()); + } + float x2 = ImGui.CalcTextSize("Play").X; + float num3 = ImGui.GetStyle().FramePadding.X * 3f * 2f + vector.X + 6f + x2; + bool disabled = _questController.IsRunning || _gatheringController.IsRunning || _fishingController.IsRunning || _fateController.IsRunning || _seasonalDutyController.IsRunning || _customDeliveryController.IsRunning || _attunementController.IsRunning; + float num4 = num3 + (frameHeight2 + x) * 3f; + ImGui.SameLine(); + ImGui.SetCursorPosX(cursorPosX + num - num4); + using (ImRaii.Disabled(disabled)) + { + using (ImRaii.PushColor(ImGuiCol.Button, UiThemeUtils.PlayButtonColor)) { - case 0: - text2 = _questController.DebugState; - num = -122246831; - break; - case 4: - text2 = currentTaskState; - num = -122246831; - break; - case 5: - currentTaskState = _questController.CurrentTaskState; - num = ((currentTaskState == null) ? (-122246829) : (-122246828)); - break; - case 6: - text2 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2013597711); - num = -122246831; - break; - case 3: - num = (_206B_200B_200F_202E_200C_202A_200B_206A_202B_206F_202B_206E_202C_206F_200B_206B_200F_200F_206D_206B_202A_202A_206A_206A_200C_200C_200E_200B_200B_202C_202D_206B_206C_200F_202B_206F_200F_200E_200C_202E(_questController.DebugState) ? (-122246831) : (-122246832)); - break; - case 2: - num = -122246826; - break; - case 1: + using (ImRaii.PushColor(ImGuiCol.ButtonHovered, UiThemeUtils.PlayButtonHover)) + { + using (ImRaii.PushColor(ImGuiCol.ButtonActive, UiThemeUtils.PlayButtonActive)) + { + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.PlayButtonText)) + { + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Play, "Play", num3)) + { + if (questProgressInfo == null) + { + _questController.SetNextQuest(currentQuest.Quest); + } + _questController.Start("UI start"); + } + } + } + } + } + if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) { - _200B_206B_200E_202A_206A_200F_200D_206D_200D_202E_200E_206E_206D_200D_200E_202B_206A_200D_206E_206A_206C_206A_206B_200F_206F_200D_206B_202D_202B_200D_206E_206A_200D_200B_202D_206A_202E_206E_200F_200C_202E(num5 + num6); - colorDisposable = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Text, UiThemeUtils.DimTextColor, true); - try - { - _200E_202C_202D_206D_202B_206E_200E_206F_202D_206D_206F_202C_206A_200B_200C_202B_202E_206A_200F_202D_200E_200C_200E_206D_206C_202B_202B_202E_200D_206C_206E_206E_202D_206C_200B_200E_206E_200C_206E_206E_202E((ImU8String)(text2 ?? 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(2018550958))); - } - finally - { - num = ((colorDisposable == null) ? (-1779511041) : (-1779511044)); - while (true) - { - int num24 = num; - num3 = -1779511042; - num4 = num24; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1779511044; - break; - case 1: - goto end_IL_07ca; - case 2: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable); - num = -1779511041; - break; - } - continue; - end_IL_07ca: - break; - } - } - _206D_202B_202C_206F_206F_200B_206F_206F_202D_200F_202C_206D_202E_206A_202B_202C_202D_202D_200F_202E_206C_202E_206E_200E_202E_206C_206F_202A_202B_202B_206B_200B_200D_200B_200B_202D_206C_202B_206B_202C_202E(); - num = ((questSequence != null) ? (-970034650) : (-970034656)); - float num26; - while (true) - { - int num25 = num; - num3 = -970034652; - num4 = num25; - int num28; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 2: - num28 = _202E_202E_202A_202B_206A_206B_202C_202E_206F_200B_206F_206D_206A_200B_206E_202C_206F_206F_200B_202A_206C_206A_206A_206B_202D_202C_200F_206F_206D_200D_206C_200B_202C_202C_200F_206C_200B_202E_200B_202B_202E(questSequence).Count; - goto IL_0878; - case 4: - num28 = 0; - goto IL_0878; - case 3: - num26 = 0f; - break; - case 0: - num = -970034656; - continue; - case 1: - { - num26 = (float)currentQuest.Step / (float)num27; - break; - } - IL_0878: - num27 = num28; - num = ((num27 > 0) ? (-970034651) : (-970034649)); - continue; - } - break; - } - float num29 = num26; - ImRaii.ColorDisposable colorDisposable4 = UiThemeUtils.PushProgressBarColors(); - try - { - _206E_202E_200B_200E_206B_202D_200E_200E_206E_206E_200C_200B_206F_202C_200B_206C_200C_206A_200E_202A_202C_206D_200B_206D_202A_202D_202A_202B_200C_200D_206E_206E_202C_200C_200C_206E_200E_200B_206C_200F_202E(num29, new Vector2(num6, 4f), (ImU8String)string.Empty); - } - finally - { - num = ((colorDisposable4 == null) ? 1853465686 : 1853465685); - while (true) - { - int num30 = num; - num3 = 1853465687; - num4 = num30; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1853465685; - break; - case 2: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable4); - num = 1853465686; - break; - case 1: - goto end_IL_0923; - } - continue; - end_IL_0923: - break; - } - } - _206E_202E_206F_200B_200C_202C_202B_206A_206F_202A_206F_206A_206D_206F_200B_206E_206A_200B_206F_206E_202C_202D_202A_202A_202D_206D_200E_202C_206D_206D_200D_202D_206F_202C_200B_206F_206F_202C_200E_202E_202E(); - _206E_202E_206F_200B_200C_202C_202B_206A_206F_202A_206F_206A_206D_206F_200B_206E_206A_200B_206F_206E_202C_202D_202A_202A_202D_206D_200E_202C_206D_206D_200D_202D_206F_202C_200B_206F_206F_202C_200E_202E_202E(); - int value = _202B_200E_206D_206F_202A_206B_202B_202E_202E_206D_206A_206A_200C_200E_206B_206F_200E_200C_202A_206A_206B_206C_200E_206F_206F_206A_200B_202D_202E_202B_200B_206F_202D_202D_206A_206A_200C_206F_200F_206B_202E(currentQuest.Step + 1, _200C_206F_202B_206C_202D_206E_206E_206E_206A_206D_200D_206E_202C_202E_206C_200C_206D_200C_200B_206B_206C_202B_206B_202D_202C_200E_200E_202C_206F_206B_200E_202D_206A_206E_206A_202E_202E_206B_206D_202A_202E(num27, 1)); - _206E_202B_202A_202D_206C_202B_206A_206B_206A_206A_202D_200C_200B_206A_206D_202C_202A_206B_202C_206B_206B_200E_200D_200C_202B_206A_202A_206C_200F_202A_202C_200B_200D_202D_206B_202C_200C_206C_206B_202E_202E(); - colorDisposable = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Text, UiThemeUtils.MutedTextColor, true); - try - { - ImU8String imU8String3 = new ImU8String(9, 2); - imU8String3.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-965467699)); - imU8String3.AppendFormatted(value); - imU8String3.AppendLiteral(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(891743000)); - imU8String3.AppendFormatted(num27); - _200E_202C_202D_206D_202B_206E_200E_206F_202D_206D_206F_202C_206A_200B_200C_202B_202E_206A_200F_202D_200E_200C_200E_206D_206C_202B_202B_202E_200D_206C_206E_206E_202D_206C_200B_200E_206E_200C_206E_206E_202E(imU8String3); - } - finally - { - num = ((colorDisposable == null) ? 704709166 : 704709167); - while (true) - { - int num31 = num; - num3 = 704709166; - num4 = num31; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto end_IL_0a0c; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable); - num = 704709166; - break; - case 2: - num = 704709167; - break; - } - continue; - end_IL_0a0c: - break; - } - } - float num32 = _206C_206C_206C_206D_200C_200E_202C_202C_206E_202C_202C_206B_200F_202A_200D_202C_200B_206E_206B_202D_206E_206F_200C_206B_200C_206B_206B_202D_202A_206E_202A_200B_200E_202C_200D_206F_200F_206D_206A_200F_202E(); - float x = _202C_206C_200C_202E_206C_200B_200F_206D_206E_206F_202D_200F_200B_206F_202C_202D_202E_200F_206B_200E_200C_200F_202D_200C_200F_202E_206F_206D_206B_206C_202A_206F_202B_200D_202E_200D_206C_206C_202A_206B_202E().ItemSpacing.X; - ImRaii.FontDisposable fontDisposable = _202B_206A_202E_206E_202D_206A_200F_200F_202B_206B_202D_202D_202E_200F_206A_206F_200C_200F_202A_206F_202C_206E_202E_206D_200F_206A_202E_202A_202E_206A_206D_202D_200F_202C_206A_202A_200E_200F_206F_206C_202E(_202A_200F_200D_200D_206A_206C_206D_206C_202B_200E_206F_200F_206B_206D_206B_200B_202D_202C_200B_202C_206D_202A_202B_200D_206C_206B_202C_206C_200B_200E_202D_202E_202E_200F_206B_206F_200C_200D_202E_200F_202E(), true); - Vector2 vector2; - try - { - vector2 = _200E_200E_200F_200B_200F_206A_200E_200D_202B_200B_202C_202A_202D_206E_200F_206D_206C_200C_200B_202D_202C_206F_200B_206C_200F_206E_200C_206A_200C_206F_206E_206A_200C_206C_202D_202A_200D_206F_200E_200C_202E((ImU8String)_200D_202E_202D_200F_206C_200D_206D_202B_206B_206D_200E_202E_202B_202A_200B_200B_200B_200D_206B_206A_202E_206C_202E_206D_200F_206E_206F_200F_202A_202A_202E_200C_200B_200D_200E_206C_206C_200B_202B_202E(FontAwesomeIcon.Play), false, -1f); - } - finally - { - num = ((fontDisposable == null) ? (-1384453383) : (-1384453384)); - while (true) - { - int num33 = num; - num3 = -1384453383; - num4 = num33; - int num34 = num4 + num3; - int num35 = num4 & num3; - switch (num34 - (num35 + num35)) - { - case 2: - num = -1384453384; - break; - case 0: - goto end_IL_0ac1; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)fontDisposable); - num = -1384453383; - break; - } - continue; - end_IL_0ac1: - break; - } - } - float x2 = _200E_200E_200F_200B_200F_206A_200E_200D_202B_200B_202C_202A_202D_206E_200F_206D_206C_200C_200B_202D_202C_206F_200B_206C_200F_206E_200C_206A_200C_206F_206E_206A_200C_206C_202D_202A_200D_206F_200E_200C_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1306719706), false, -1f).X; - float num36 = _202C_206C_200C_202E_206C_200B_200F_206D_206E_206F_202D_200F_200B_206F_202C_202D_202E_200F_206B_200E_200C_200F_202D_200C_200F_202E_206F_206D_206B_206C_202A_206F_202B_200D_202E_200D_206C_206C_202A_206B_202E().FramePadding.X * 3f * 2f + vector2.X + 6f + x2; - num = (_questController.IsRunning ? 2069742109 : 2069742105); - int num38; - while (true) - { - int num37 = num; - num3 = 2069742104; - num4 = num37; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 0: - num = 2069742105; - continue; - case 6: - num = (_fateController.IsRunning ? 2069742109 : 2069742108); - continue; - case 4: - num = (_seasonalDutyController.IsRunning ? 2069742109 : 2069742106); - continue; - case 3: - num = (_fishingController.IsRunning ? 2069742109 : 2069742110); - continue; - case 1: - num = (_gatheringController.IsRunning ? 2069742109 : 2069742107); - continue; - case 7: - num38 = (_attunementController.IsRunning ? 1 : 0); - break; - case 2: - num = (_customDeliveryController.IsRunning ? 2069742109 : 2069742111); - continue; - case 5: - num38 = 1; - break; - } - break; - } - float num39 = num36 + (num32 + x) * 3f; - _202B_202D_200D_202A_200F_206A_202A_202B_206E_206F_200D_200D_200B_200C_200B_200F_206D_202C_206F_200E_200C_200B_206B_206E_202A_202A_206F_202B_202B_200B_200C_206D_206A_206C_202D_200B_206D_206D_200E_202B_202E(); - _202B_206F_202C_200F_202A_202C_202A_206D_206B_200B_206A_202E_206B_206A_200D_202C_206E_206C_200E_202E_200F_206B_206E_202D_202E_202E_206E_200E_206F_202C_206E_206E_206D_206C_200F_202A_200D_200E_200B_206B_202E(num5 + num6 - num39); - ImRaii.DisabledDisposable disabledDisposable = _200F_200C_200D_206B_200C_202E_206C_206C_206B_206B_206B_200F_206F_202B_200C_200E_206D_206C_206E_202C_202B_202B_206E_206F_206E_200D_206D_200E_206F_206F_202B_202A_200D_206C_202D_202E_202C_202E_202E_206D_202E((byte)num38 != 0); - try - { - colorDisposable = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Button, UiThemeUtils.PlayButtonColor, true); - try - { - ImRaii.ColorDisposable colorDisposable2 = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.ButtonHovered, UiThemeUtils.PlayButtonHover, true); - try - { - ImRaii.ColorDisposable colorDisposable3 = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.ButtonActive, UiThemeUtils.PlayButtonActive, true); - try - { - ImRaii.ColorDisposable colorDisposable5 = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Text, UiThemeUtils.PlayButtonText, true); - try - { - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Play, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1306719706), num36)) ? 708226379 : 708226382); - while (true) - { - int num40 = num; - num3 = 708226378; - num4 = num40; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = 708226382; - break; - case 2: - _questController.SetNextQuest(currentQuest.Quest); - num = 708226378; - break; - case 4: - num = ((questProgressInfo != null) ? 708226378 : 708226376); - break; - case 0: - _questController.Start(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1809965159)); - num = 708226379; - break; - case 1: - goto end_IL_0d52; - } - continue; - end_IL_0d52: - break; - } - } - finally - { - num = ((colorDisposable5 == null) ? (-597929640) : (-597929637)); - while (true) - { - int num41 = num; - num3 = -597929639; - num4 = num41; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -597929637; - break; - case 1: - goto end_IL_0e12; - case 2: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable5); - num = -597929640; - break; - } - continue; - end_IL_0e12: - break; - } - } - } - finally - { - num = ((colorDisposable3 == null) ? (-745915135) : (-745915136)); - while (true) - { - int num42 = num; - num3 = -745915135; - num4 = num42; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -745915136; - break; - case 0: - goto end_IL_0e82; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable3); - num = -745915135; - break; - } - continue; - end_IL_0e82: - break; - } - } - } - finally - { - num = ((colorDisposable2 == null) ? (-844982535) : (-844982536)); - while (true) - { - int num43 = num; - num3 = -844982535; - num4 = num43; - int num44 = num4 + num3; - int num45 = num4 & num3; - switch (num44 - (num45 + num45)) - { - case 2: - num = -844982536; - break; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable2); - num = -844982535; - break; - case 0: - goto end_IL_0ef2; - } - continue; - end_IL_0ef2: - break; - } - } - } - finally - { - num = ((colorDisposable == null) ? 1996833315 : 1996833314); - while (true) - { - int num46 = num; - num3 = 1996833315; - num4 = num46; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto end_IL_0f64; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable); - num = 1996833315; - break; - case 2: - num = 1996833314; - break; - } - continue; - end_IL_0f64: - break; - } - } - num = ((!_202A_200B_206B_202D_200D_206D_200B_200E_200C_200D_202D_200C_206B_206A_202C_206E_206E_200F_206B_200D_202A_202B_202B_202D_200B_200E_202E_206A_200C_206C_200F_200F_200B_200F_202C_200B_200F_202C_206B_200D_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? (-499700013) : (-499700016)); - while (true) - { - int num47 = num; - num3 = -499700014; - num4 = num47; - int num48 = num4 + num3; - int num49 = num4 & num3; - switch (num48 - (num49 + num49)) - { - case 0: - num = -499700016; - break; - case 2: - _206F_202E_202D_200E_200C_200E_200D_206C_206E_200E_202E_206F_200E_202E_206D_200C_206B_200F_206F_206E_206F_202E_202A_206D_202C_202B_206A_206A_206C_200D_200F_206C_206A_206A_206F_202B_202E_206F_206B_200D_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1706732561)); - num = -499700013; - break; - case 1: - goto end_IL_0fd7; - } - continue; - end_IL_0fd7: - break; - } - } - finally - { - num = ((disabledDisposable == null) ? 1256893257 : 1256893258); - while (true) - { - int num50 = num; - num3 = 1256893259; - num4 = num50; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_1055; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)disabledDisposable); - num = 1256893257; - break; - case 0: - num = 1256893258; - break; - } - continue; - end_IL_1055: - break; - } - } - _202B_202D_200D_202A_200F_206A_202A_202B_206E_206F_200D_200D_200B_200C_200B_200F_206D_202C_206F_200E_200C_200B_206B_206E_202A_202A_206F_202B_202B_200B_200C_206D_206A_206C_202D_200B_206D_206D_200E_202B_202E(); - ImRaii.StyleDisposable styleDisposable = _206E_200E_206C_200C_202E_202A_202E_206E_202D_206D_206D_200D_206B_200B_206A_200D_206E_206B_202D_200F_200B_206D_200D_206F_202E_200D_206A_206F_206A_202D_206B_206F_202B_200D_202E_206A_206E_202B_206B_206E_202E(ImGuiStyleVar.FrameBorderSize, 1f, true); - try - { - colorDisposable = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Border, UiThemeUtils.CardBorderHighColor, true); - try - { - ImRaii.ColorDisposable colorDisposable2 = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Button, new Vector4(0.12f, 0.1f, 0.18f, 1f), true); - try - { - ImRaii.ColorDisposable colorDisposable3 = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.ButtonHovered, new Vector4(0.2f, 0.16f, 0.28f, 1f), true); - try - { - ImRaii.ColorDisposable colorDisposable5 = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.ButtonActive, new Vector4(0.25f, 0.2f, 0.35f, 1f), true); - try - { - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.StepForward, num32)) ? 1655729010 : 1655729009); - while (true) - { - int num51 = num; - num3 = 1655729010; - num4 = num51; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - num = 1655729009; - break; - case 0: - num = ((!_200E_200D_200B_200F_206B_200D_206F_200B_202C_206B_202A_202C_206F_206D_202D_206C_200C_206A_200C_200C_202C_202E_206A_206D_202E_200F_206D_202B_200F_206F_206C_206E_206C_200E_202D_206F_206E_200F_202E_202E()) ? 1655729014 : 1655729011); - break; - case 3: - _questController.StartSingleStep(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(705777353)); - num = 1655729010; - break; - case 4: - _202B_202D_200D_202A_200F_206A_202A_202B_206E_206F_200D_200D_200B_200C_200B_200F_206D_202C_206F_200E_200C_200B_206B_206E_202A_202A_206F_202B_202B_200B_200C_206D_206A_206C_202D_200B_206D_206D_200E_202B_202E(); - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Stop, num32)) ? 1655729008 : 1655729015); - break; - case 5: - StopAllControllers(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-30410556)); - num = 1655729008; - break; - case 1: - _206F_202E_202D_200E_200C_200E_200D_206C_206E_200E_202E_206F_200E_202E_206D_200C_206B_200F_206F_206E_206F_202E_202A_206D_202C_202B_206A_206A_206C_200D_200F_206C_206A_206A_206F_202B_202E_206F_206B_200D_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1598500498)); - num = 1655729014; - break; - case 2: - { - DrawStopConditionTooltip(); - _202B_202D_200D_202A_200F_206A_202A_202B_206E_206F_200D_200D_200B_200C_200B_200F_206D_202C_206F_200E_200C_200B_206B_206E_202A_202A_206F_202B_202B_200B_200C_206D_206A_206C_202D_200B_206D_206D_200E_202B_202E(); - QuestSequence? questSequence2 = currentQuest.Quest.FindSequence(currentQuest.Sequence); - disabledDisposable = _200F_200C_200D_206B_200C_202E_206C_206C_206B_206B_206B_200F_206F_202B_200C_200E_206D_206C_206E_202C_202B_202B_206E_206F_206E_200D_206D_200E_206F_206F_202B_202A_200D_206C_202D_202E_202C_202E_202E_206D_202E(questStep == ((questSequence2 != null) ? _202E_202E_202A_202B_206A_206B_202C_202E_206F_200B_206F_206D_206A_200B_206E_202C_206F_206F_200B_202A_206C_206A_206A_206B_202D_202C_200F_206F_206D_200D_206C_200B_202C_202C_200F_206C_200B_202E_200B_202B_202E(questSequence2).LastOrDefault() : null)); - try - { - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Forward, num32)) ? (-1561561467) : (-1561561472)); - while (true) - { - int num52 = num; - num3 = -1561561471; - num4 = num52; - int num53 = num4 + num3; - int num54 = num4 & num3; - switch (num53 - (num54 + num54)) - { - case 2: - num = -1561561472; - break; - case 4: - num = ((!_202A_200B_206B_202D_200D_206D_200B_200E_200C_200D_202D_200C_206B_206A_202C_206E_206E_200F_206B_200D_202A_202B_202B_202D_200B_200E_202E_206A_200C_206C_200F_200F_200B_200F_202C_200B_200F_202C_206B_200D_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? (-1561561470) : (-1561561471)); - break; - case 0: - _206F_202E_202D_200E_200C_200E_200D_206C_206E_200E_202E_206F_200E_202E_206D_200C_206B_200F_206F_206E_206F_202E_202A_206D_202C_202B_206A_206A_206C_200D_200F_206C_206A_206A_206F_202B_202E_206F_206B_200D_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2094221495)); - num = -1561561470; - break; - case 1: - _movementController.Stop(); - _questController.Skip(currentQuest.Quest.Id, currentQuest.Sequence); - num = -1561561467; - break; - case 3: - goto end_IL_12b0; - } - continue; - end_IL_12b0: - break; - } - } - finally - { - num = ((disabledDisposable == null) ? (-352809062) : (-352809061)); - while (true) - { - int num55 = num; - num3 = -352809062; - num4 = num55; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto end_IL_1390; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)disabledDisposable); - num = -352809062; - break; - case 2: - num = -352809061; - break; - } - continue; - end_IL_1390: - break; - } - } - goto end_IL_1155; - } - } - continue; - end_IL_1155: - break; - } - } - finally - { - num = ((colorDisposable5 == null) ? 403276378 : 403276379); - while (true) - { - int num56 = num; - num3 = 403276378; - num4 = num56; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 403276379; - break; - case 0: - goto end_IL_1400; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable5); - num = 403276378; - break; - } - continue; - end_IL_1400: - break; - } - } - } - finally - { - num = ((colorDisposable3 == null) ? (-1015045512) : (-1015045509)); - while (true) - { - int num57 = num; - num3 = -1015045510; - num4 = num57; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1015045509; - break; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable3); - num = -1015045512; - break; - case 2: - goto end_IL_1470; - } - continue; - end_IL_1470: - break; - } - } - } - finally - { - num = ((colorDisposable2 == null) ? 1419865656 : 1419865659); - while (true) - { - int num58 = num; - num3 = 1419865657; - num4 = num58; - int num59 = num4 + num3; - int num60 = num4 & num3; - switch (num59 - (num60 + num60)) - { - case 0: - num = 1419865659; - break; - case 1: - goto end_IL_14e0; - case 2: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable2); - num = 1419865656; - break; - } - continue; - end_IL_14e0: - break; - } - } - } - finally - { - num = ((colorDisposable == null) ? 1112060778 : 1112060777); - while (true) - { - int num61 = num; - num3 = 1112060779; - num4 = num61; - int num62 = num4 + num3; - int num63 = num4 & num3; - switch (num62 - (num63 + num63)) - { - case 1: - goto end_IL_1552; - case 2: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable); - num = 1112060778; - break; - case 0: - num = 1112060777; - break; - } - continue; - end_IL_1552: - break; - } - } - } - finally - { - num = ((styleDisposable == null) ? 1084173692 : 1084173695); - while (true) - { - int num64 = num; - num3 = 1084173694; - num4 = num64; - int num65 = num4 + num3; - int num66 = num4 & num3; - switch (num65 - (num66 + num66)) - { - case 0: - num = 1084173695; - break; - case 2: - goto end_IL_15c4; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)styleDisposable); - num = 1084173692; - break; - } - continue; - end_IL_15c4: - break; - } - } - if (!_questCardExpanded) - { - goto end_IL_068d; - } - num = -895413615; - while (true) - { - int num67 = num; - num3 = -895413613; - num4 = num67; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 0: - num = -895413615; - continue; - case 2: - _206E_202E_206F_200B_200C_202C_202B_206A_206F_202A_206F_206A_206D_206F_200B_206E_206A_200B_206F_206E_202C_202D_202A_202A_202D_206D_200E_202C_206D_206D_200D_202D_206F_202C_200B_206F_206F_202C_200E_202E_202E(); - _200B_206B_200E_202A_206A_200F_200D_206D_200D_202E_200E_206E_206D_200D_200E_202B_206A_200D_206E_206A_206C_206A_206B_200F_206F_200D_206B_202D_202B_200D_206E_206A_200D_200B_202D_206A_202E_206E_200F_200C_202E(num5 + num6); - if (startedQuest != null) - { - num = -895413614; - continue; - } - break; - case 1: - { - ImRaii.ColorDisposable colorDisposable6 = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Text, UiThemeUtils.DimTextColor, true); - try - { - ImU8String imU8String4 = new ImU8String(15, 3); - imU8String4.AppendFormatted(startedQuest.Quest.Id); - imU8String4.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(970430161)); - imU8String4.AppendFormatted(startedQuest.Sequence); - imU8String4.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-786881555)); - imU8String4.AppendFormatted(startedQuest.Step); - _200E_202C_202D_206D_202B_206E_200E_206F_202D_206D_206F_202C_206A_200B_200C_202B_202E_206A_200F_202D_200E_200C_200E_206D_206C_202B_202B_202E_200D_206C_206E_206E_202D_206C_200B_200E_206E_200C_206E_206E_202E(imU8String4); - } - finally - { - num = ((colorDisposable6 == null) ? (-1801729739) : (-1801729738)); - while (true) - { - int num68 = num; - num3 = -1801729737; - num4 = num68; - int num69 = num4 + num3; - int num70 = num4 & num3; - switch (num69 - (num70 + num70)) - { - case 0: - num = -1801729738; - break; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable6); - num = -1801729739; - break; - case 2: - goto end_IL_1713; - } - continue; - end_IL_1713: - break; - } - } - break; - } - } - break; - } - if (questProgressInfo != null) - { - ImRaii.ColorDisposable colorDisposable7 = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Text, UiThemeUtils.DimTextColor, true); - try - { - ImU8String imU8String5 = new ImU8String(0, 1); - imU8String5.AppendFormatted(questProgressInfo); - _200E_202C_202D_206D_202B_206E_200E_206F_202D_206D_206F_202C_206A_200B_200C_202B_202E_206A_200F_202D_200E_200C_200E_206D_206C_202B_202B_202E_200D_206C_206E_206E_202D_206C_200B_200E_206E_200C_206E_206E_202E(imU8String5); - num = ((!_200C_206A_202D_200B_202E_202B_206F_200C_206D_206B_206C_202D_206C_200E_206C_206A_200E_206D_206E_200F_202D_200C_206D_200F_202B_200B_202A_202A_206A_200F_200B_206E_206C_206F_202D_202C_206D_206D_202D_206D_202E()) ? (-561090679) : (-561090678)); - while (true) - { - int num71 = num; - num3 = -561090677; - num4 = num71; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - _202B_202D_200D_202A_200F_206A_202A_202B_206E_206F_200D_200D_200B_200C_200B_200F_206D_202C_206F_200E_200C_200B_206B_206E_202A_202A_206F_202B_202B_200B_200C_206D_206A_206C_202D_200B_206D_206D_200E_202B_202E(); - _202E_202E_202A_200D_202E_200C_206B_202E_200E_202C_206E_206D_206E_206D_206B_206C_206F_200B_200F_202D_202E_200E_202D_202B_200B_206D_206E_206F_200F_206E_202C_200B_202B_200D_200B_202A_200E_200C_202A_206F_202E(_202A_200F_200D_200D_206A_206C_206D_206C_202B_200E_206F_200F_206B_206D_206B_200B_202D_202C_200B_202C_206D_202A_202B_200D_206C_206B_202C_206C_200B_200E_202D_202E_202E_200F_206B_206F_200C_200D_202E_200F_202E()); - _206E_200B_206D_200D_206D_206F_200B_202A_206F_200C_200D_202B_200F_202A_206D_202E_200E_200E_202C_202A_202A_200B_206E_202D_200D_206A_202C_202A_206D_200B_206C_200B_206F_200E_206A_202E_202D_200F_200E_202E((ImU8String)_200D_202E_202D_200F_206C_200D_206D_202B_206B_206D_200E_202E_202B_202A_200B_200B_200B_200D_206B_206A_202E_206C_202E_206D_200F_206E_206F_200F_202A_202A_202E_200C_200B_200D_200E_206C_206C_200B_202B_202E(FontAwesomeIcon.Copy)); - _206D_202B_202B_200E_200E_206C_200F_200E_202C_206B_202D_206D_206A_200C_206B_200C_202E_200B_202B_202B_206D_200F_206A_200C_206D_206E_200D_200C_206D_202D_206D_200F_206D_206A_206D_200B_202D_202D_200E_206E_202E(); - num = -561090674; - break; - case 5: - num = ((currentQuest.Quest.Info.AlliedSociety == EAlliedSociety.None) ? (-561090680) : (-561090673)); - break; - case 2: - num = ((!_200E_200D_200B_200F_206B_200D_206F_200B_202C_206B_202A_202C_206F_206D_202D_206C_200C_206A_200C_200C_202C_202E_206A_206D_202E_200F_206D_202B_200F_206F_206C_206E_206C_200E_202D_206F_206E_200F_202E_202E()) ? (-561090674) : (-561090675)); - break; - case 0: - num = -561090678; - break; - case 4: - { - _202B_202D_200D_202A_200F_206A_202A_202B_206E_206F_200D_200D_200B_200C_200B_200F_206D_202C_206F_200E_200C_200B_206B_206E_202A_202A_206F_202B_202B_200B_200C_206D_206A_206C_202D_200B_206D_206D_200E_202B_202E(); - ImU8String imU8String6 = new ImU8String(2, 1); - imU8String6.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1805890328)); - imU8String6.AppendFormatted(questProgressInfo.ClassJob); - _206E_200B_206D_200D_206D_206F_200B_202A_206F_200C_200D_202B_200F_202A_206D_202E_200E_200E_202C_202A_202A_200B_206E_202D_200D_206A_202C_202A_206D_200B_206C_200B_206F_200E_206A_202E_202D_200F_200E_202E(imU8String6); - num = -561090680; - break; - } - case 1: - { - string text3 = _202B_206E_200C_200F_202C_200D_206B_206F_206B_206C_200D_200D_200F_200E_202B_200F_206C_202B_202E_202C_200B_202D_206E_200F_202B_206E_200B_200F_202B_206F_200C_202E_206B_206D_206D_206E_200F_206B_206C_206A_202E(MultipleWhitespaceRegex(), _206A_202D_202C_200B_200C_202D_206B_206A_202D_206B_200D_202C_206D_200D_206F_206E_202A_200F_206C_202D_202C_206D_200C_206C_200F_200C_206C_202B_200D_202C_202D_200F_202A_206F_200E_202E_202D_206A_202A_200D_202E((object)questProgressInfo), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-818915859)); - _200B_202C_200E_200B_206E_206F_200D_200F_206C_206D_202A_200D_202A_206F_202A_206A_206E_202A_206B_202E_202D_202C_200C_206E_202B_202D_206F_202E_200F_206C_206D_206E_206E_202D_202C_206E_206E_202A_200C_206A_202E((ImU8String)text3); - _206B_206C_206C_200D_206B_206D_200B_206A_206E_206A_202C_206A_206B_206D_206B_206F_206C_206B_206B_200F_206F_202B_200B_202E_206E_200B_200D_206D_206A_202B_206C_200E_200E_206C_202E_206B_200D_200F_206E_206A_202E(_chatGui, _200F_206A_202C_206C_200B_200B_202E_200E_206C_200E_200F_202E_206C_202D_202A_202D_206E_200D_202A_200D_206E_200C_202A_200F_200E_206F_206A_202B_200D_206E_206B_206F_200E_206B_200D_206C_202D_206A_206F_206E_202E(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(-2046209483), text3, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(854895789)), (string)null, (ushort?)null); - num = -561090679; - break; - } - case 3: - goto end_IL_17af; - } - continue; - end_IL_17af: - break; - } - } - finally - { - num = ((colorDisposable7 == null) ? (-139688526) : (-139688527)); - while (true) - { - int num72 = num; - num3 = -139688528; - num4 = num72; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -139688527; - break; - case 2: - goto end_IL_1942; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable7); - num = -139688526; - break; - } - continue; - end_IL_1942: - break; - } - } - } - ImRaii.ColorDisposable colorDisposable8 = _202E_200E_200B_206B_206D_206B_206E_202C_206F_200D_202A_206B_200B_206A_200E_206F_202D_206B_200B_200D_200E_200C_202B_202C_202E_206E_206A_206E_206A_202D_202B_202E_200D_202A_202E_202B_206B_200E_202B_202C_202E(); - try - { - num = ((questStep == null) ? 294423165 : 294423157); - while (true) - { - int num73 = num; - num3 = 294423160; - num4 = num73; - int num74 = num4 + num3; - int num75 = num4 & num3; - object obj2; - switch (num74 - (num75 + num75)) - { - case 7: - obj2 = _206B_206B_200C_206C_200D_206C_202D_206C_206F_202B_206B_206E_206E_200E_202A_200C_200C_200D_202A_202B_200E_200F_206A_200E_206C_202E_206D_200B_200F_206C_206A_202E_202E_206A_200B_206A_200F_206D_202C_202A_202E(questSequence); - goto IL_1a17; - case 13: - eInteractionType = _206F_200F_206E_200F_206C_200F_206C_206D_206D_206A_206B_206D_206E_202C_202E_200E_200F_206F_202C_206A_202D_200B_206A_200F_200F_200B_200F_206E_206D_202A_206D_202D_200C_200D_206E_200D_206B_202A_200C_200C_202E(questStep); - num = ((eInteractionType == EInteractionType.WaitForManualProgress) ? 294423164 : 294423161); - break; - case 0: - obj2 = null; - goto IL_1b17; - case 9: - num = ((questStep != null) ? 294423163 : 294423160); - break; - case 14: - _200E_202C_202D_206D_202B_206E_200E_206F_202D_206D_206F_202C_206A_200B_200C_202B_202E_206A_200F_202D_200E_200C_200E_206D_206C_202B_202B_202E_200D_206C_206E_206E_202D_206C_200B_200E_206E_200C_206E_206E_202E((ImU8String)text4); - num = 294423166; - break; - case 8: - num = 294423157; - break; - case 10: - num = ((eInteractionType != EInteractionType.Instruction) ? 294423165 : 294423164); - break; - case 12: - num = ((!flag) ? 294423153 : 294423162); - break; - case 3: - obj2 = _200C_206A_202B_202E_206F_202C_200C_202D_200D_202B_200D_200D_202B_200C_206D_206E_202B_202D_202B_206B_206C_202C_206F_202D_206F_200F_202B_206E_200F_200C_200F_206D_202C_200C_200C_200E_202C_200C_202D_206D_202E(questStep); - goto IL_1b17; - case 11: - obj2 = null; - goto IL_1a17; - case 1: - num = ((eInteractionType == EInteractionType.Snipe) ? 294423164 : 294423154); - break; - case 2: - _206F_206B_200C_206A_206B_202B_202A_202D_200F_206D_202D_200F_206E_202E_200C_200F_206D_202B_202E_200F_206A_206B_206D_206D_202A_200F_200D_206B_206B_202E_202E_206B_200B_200D_202D_202D_202E_202D_202C_206A_202E(colorDisposable8, ImGuiCol.Text, _200D_206D_206B_202E_202A_206B_202A_202E_200D_202D_200C_200C_206A_202A_202A_206D_206E_206D_200B_206E_206E_202E_202B_206F_206A_200F_200D_202B_200B_202D_202C_206A_202C_200E_206D_200E_206F_200B_200E_202B_202E(), true); - num = 294423153; - break; - case 4: - flag = true; - num = 294423156; - break; - case 5: - flag = false; - num = 294423156; - break; - case 6: - goto end_IL_19b3; - IL_1b17: - if (obj2 == null) - { - num = ((questSequence != null) ? 294423167 : 294423155); - break; - } - goto IL_1a2e; - IL_1a17: - if (obj2 == null) - { - obj2 = _206F_206C_202C_206B_200E_206F_202B_202B_202A_202D_202B_206D_206B_200D_202C_202D_200D_202D_202D_200D_200F_200B_200E_200E_200B_202D_200D_206A_200F_202A_200C_200B_206C_206C_202D_206B_206D_206C_202D_206D_202E(currentQuest.Quest.Root); - } - goto IL_1a2e; - IL_1a2e: - text4 = (string)obj2; - num = (_206B_200B_200F_202E_200C_202A_200B_206A_202B_206F_202B_206E_202C_206F_200B_206B_200F_200F_206D_206B_202A_202A_206A_206A_200C_200C_200E_200B_200B_202C_202D_206B_206C_200F_202B_206F_200F_200E_200C_202E(text4) ? 294423166 : 294423158); - break; - } - continue; - end_IL_19b3: - break; - } - } - finally - { - num = ((colorDisposable8 == null) ? (-347151565) : (-347151568)); - while (true) - { - int num76 = num; - num3 = -347151567; - num4 = num76; - int num77 = num4 + num3; - int num78 = num4 & num3; - switch (num77 - (num78 + num78)) - { - case 0: - num = -347151568; - break; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable8); - num = -347151565; - break; - case 2: - goto end_IL_1bcc; - } - continue; - end_IL_1bcc: - break; - } - } - _200E_202C_202D_206D_202B_206E_200E_206F_202D_206D_206F_202C_206A_200B_200C_202B_202E_206A_200F_202D_200E_200C_200E_206D_206C_202B_202B_202E_200D_206C_206E_206E_202D_206C_200B_200E_206E_200C_206E_206E_202E((ImU8String)_questController.ToStatString()); - QuestController.QuestProgress nextQuest = _questController.NextQuest; - if (nextQuest != null) - { - ImRaii.ColorDisposable colorDisposable9 = _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol.Text, _202A_206C_206E_206E_206D_206D_202A_200F_200E_206E_200C_200B_202B_200C_200F_200D_202D_200E_202C_200C_206C_200E_200C_202A_206F_202E_200E_200E_200F_202D_206F_206E_206A_202A_202D_200C_200E_202D_202A_202A_202E(), true); - try - { - ImU8String imU8String7 = new ImU8String(9, 2); - imU8String7.AppendLiteral(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(1689338203)); - imU8String7.AppendFormatted(Shorten(nextQuest.Quest.Info.Name)); - imU8String7.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1495931675)); - imU8String7.AppendFormatted(nextQuest.Quest.Id); - imU8String7.AppendLiteral(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(424561659)); - _200E_202C_202D_206D_202B_206E_200E_206F_202D_206D_206F_202C_206A_200B_200C_202B_202E_206A_200F_202D_200E_200C_200E_206D_206C_202B_202B_202E_200D_206C_206E_206E_202D_206C_200B_200E_206E_200C_206E_206E_202E(imU8String7); - } - finally - { - num = ((colorDisposable9 == null) ? 112958250 : 112958251); - while (true) - { - int num79 = num; - num3 = 112958250; - num4 = num79; - int num80 = num4 + num3; - int num81 = num4 & num3; - switch (num80 - (num81 + num81)) - { - case 2: - num = 112958251; - break; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)colorDisposable9); - num = 112958250; - break; - case 0: - goto end_IL_1ce9; - } - continue; - end_IL_1ce9: - break; - } - } - } - _206D_202B_202C_206F_206F_200B_206F_206F_202D_200F_202C_206D_202E_206A_202B_202C_202D_202D_200F_202E_206C_202E_206E_200E_202E_206C_206F_202A_202B_202B_206B_200B_200D_200B_200B_202D_206C_202B_206B_202C_202E(); - goto end_IL_068d; + ImGui.SetTooltip("Start automation"); } + } + ImGui.SameLine(); + using (ImRaii.PushStyle(ImGuiStyleVar.FrameBorderSize, 1f)) + { + using (ImRaii.PushColor(ImGuiCol.Border, UiThemeUtils.CardBorderHighColor)) + { + using (ImRaii.PushColor(ImGuiCol.Button, new Vector4(0.12f, 0.1f, 0.18f, 1f))) + { + using (ImRaii.PushColor(ImGuiCol.ButtonHovered, new Vector4(0.2f, 0.16f, 0.28f, 1f))) + { + using (ImRaii.PushColor(ImGuiCol.ButtonActive, new Vector4(0.25f, 0.2f, 0.35f, 1f))) + { + if (UiThemeUtils.IconButton(FontAwesomeIcon.StepForward, frameHeight2)) + { + _questController.StartSingleStep("UI step"); + } + if (ImGui.IsItemHovered()) + { + ImGui.SetTooltip("Execute single step"); + } + ImGui.SameLine(); + if (UiThemeUtils.IconButton(FontAwesomeIcon.Stop, frameHeight2)) + { + StopAllControllers("UI stop"); + } + DrawStopConditionTooltip(); + ImGui.SameLine(); + using (ImRaii.Disabled(questStep == currentQuest.Quest.FindSequence(currentQuest.Sequence)?.Steps.LastOrDefault())) + { + if (UiThemeUtils.IconButton(FontAwesomeIcon.Forward, frameHeight2)) + { + _movementController.Stop(); + _questController.Skip(currentQuest.Quest.Id, currentQuest.Sequence); + } + if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) + { + ImGui.SetTooltip("Skip current step"); + } + } + } + } + } } - continue; - end_IL_068d: - break; + } + if (_questCardExpanded) + { + ImGui.Spacing(); + ImGui.PushTextWrapPos(cursorPosX + num); + if (startedQuest != null) + { + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.DimTextColor)) + { + ImU8String text5 = new ImU8String(15, 3); + text5.AppendFormatted(startedQuest.Quest.Id); + text5.AppendLiteral(" / Seq "); + text5.AppendFormatted(startedQuest.Sequence); + text5.AppendLiteral(" / Step "); + text5.AppendFormatted(startedQuest.Step); + ImGui.TextUnformatted(text5); + } + } + if (questProgressInfo != null) + { + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.DimTextColor)) + { + ImU8String text6 = new ImU8String(0, 1); + text6.AppendFormatted(questProgressInfo); + ImGui.TextUnformatted(text6); + if (ImGui.IsItemClicked()) + { + string text7 = MultipleWhitespaceRegex().Replace(questProgressInfo.ToString(), " "); + ImGui.SetClipboardText(text7); + _chatGui.Print("Copied '" + text7 + "' to clipboard"); + } + if (ImGui.IsItemHovered()) + { + ImGui.SameLine(); + ImGui.PushFont(UiBuilder.IconFont); + ImGui.Text(FontAwesomeIcon.Copy.ToIconString()); + ImGui.PopFont(); + } + if (currentQuest.Quest.Info.AlliedSociety != EAlliedSociety.None) + { + ImGui.SameLine(); + ImU8String text8 = new ImU8String(2, 1); + text8.AppendLiteral("/ "); + text8.AppendFormatted(questProgressInfo.ClassJob); + ImGui.Text(text8); + } + } + } + using (ImRaii.ColorDisposable colorDisposable = new ImRaii.ColorDisposable()) + { + bool flag; + if (questStep != null) + { + EInteractionType interactionType = questStep.InteractionType; + if (interactionType == EInteractionType.WaitForManualProgress || interactionType == EInteractionType.Snipe || interactionType == EInteractionType.Instruction) + { + flag = true; + goto IL_0935; + } + } + flag = false; + goto IL_0935; + IL_0935: + if (flag) + { + colorDisposable.Push(ImGuiCol.Text, ImGuiColors.DalamudOrange); + } + string text9 = questStep?.Comment ?? questSequence?.Comment ?? currentQuest.Quest.Root.Comment; + if (!string.IsNullOrEmpty(text9)) + { + ImGui.TextUnformatted(text9); + } + } + ImGui.TextUnformatted(_questController.ToStatString()); + QuestController.QuestProgress nextQuest = _questController.NextQuest; + if (nextQuest != null) + { + using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudYellow)) + { + ImU8String text10 = new ImU8String(9, 2); + text10.AppendLiteral("Next: "); + text10.AppendFormatted(Shorten(nextQuest.Quest.Info.Name)); + text10.AppendLiteral(" ("); + text10.AppendFormatted(nextQuest.Quest.Id); + text10.AppendLiteral(")"); + ImGui.TextUnformatted(text10); + } + } + ImGui.PopTextWrapPos(); } } catch (Exception ex) { - UiThemeUtils.WrappedTextColored(_200C_206C_200D_200D_206F_200C_200E_206C_202B_202E_202D_200D_206E_200E_206C_200F_206A_206E_206E_200D_200E_202A_202C_200F_200F_202E_202B_200F_206E_202A_202A_206C_200F_200E_206D_200B_206A_202B_206E_202B_202E(), _206A_202D_202C_200B_200C_202D_206B_206A_202D_206B_200D_202C_206D_200D_206F_206E_202A_200F_206C_202D_202C_206D_200C_206C_200F_200C_206C_202B_200D_202C_202D_200F_202A_206F_200E_202E_202D_206A_202A_200D_202E((object)ex)); - _200F_206C_202A_202C_200E_200D_200E_206A_202B_200D_202B_206A_206F_202C_206F_200D_202E_202B_202A_200B_200C_200F_200E_202E_200B_202C_206B_202B_206F_200C_200F_206C_206C_206E_200E_202A_206F_202C_202E_206F_202E((ILogger)_logger, ex, 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(459752988), Array.Empty()); + UiThemeUtils.WrappedTextColored(ImGuiColors.DalamudRed, ex.ToString()); + _logger.LogError(ex, "Could not handle active quest card"); } UiThemeUtils.EndCard(item, item2, item3); DrawSimulationControls(); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawSimulationControls() { - int num = ((_questController.SimulatedQuest != null) ? 1313421221 : 1313421218); - QuestController.QuestProgress simulatedQuest = default(QuestController.QuestProgress); - QuestSequence questSequence = default(QuestSequence); - Vector2 contentStartPos = default(Vector2); - float availableWidth = default(float); - ImDrawListPtr drawList = default(ImDrawListPtr); - while (true) + if (_questController.SimulatedQuest == null) { - int num2 = num; - int num3 = 1313421222; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + QuestController.QuestProgress simulatedQuest = _questController.SimulatedQuest; + UiThemeUtils.SectionSpacing(); + var (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); + UiThemeUtils.SectionHeader("Simulation"); + UiThemeUtils.WrappedTextColored(ImGuiColors.DalamudRed, "Quest sim active (experimental)"); + UiThemeUtils.WrappedText($"Sequence: {simulatedQuest.Sequence}"); + ImGui.BeginDisabled(simulatedQuest.Sequence == 0); + if (UiThemeUtils.IconButton(FontAwesomeIcon.Minus, ImGui.GetFrameHeight())) + { + _movementController.Stop(); + _questController.Stop("Sim-"); + byte oldSequence = simulatedQuest.Sequence; + byte sequence = simulatedQuest.Quest.Root.QuestSequence.Select((QuestSequence x) => x.Sequence).LastOrDefault((byte x) => x < oldSequence, 0); + _questController.SimulatedQuest.SetSequence(sequence); + } + ImGui.EndDisabled(); + ImGui.SameLine(); + ImGui.BeginDisabled(simulatedQuest.Sequence >= byte.MaxValue); + if (UiThemeUtils.IconButton(FontAwesomeIcon.Plus, ImGui.GetFrameHeight())) + { + _movementController.Stop(); + _questController.Stop("Sim+"); + byte oldSequence2 = simulatedQuest.Sequence; + byte sequence2 = simulatedQuest.Quest.Root.QuestSequence.Select((QuestSequence x) => x.Sequence).FirstOrDefault((byte x) => x > oldSequence2, byte.MaxValue); + simulatedQuest.SetSequence(sequence2); + } + ImGui.EndDisabled(); + QuestSequence questSequence = simulatedQuest.Quest.FindSequence(simulatedQuest.Sequence); + if (questSequence != null) + { + using (ImRaii.PushId("SimulatedStep")) { - default: - continue; - case 2: - num = 1313421218; - continue; - case 6: - { - _movementController.Stop(); - _questController.Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(809151549)); - byte oldSequence = simulatedQuest.Sequence; - byte sequence = (from x in _206C_202B_202E_202E_202E_202B_206C_200F_202B_206B_206E_200E_200D_200E_202C_200B_202E_202C_202D_202E_202B_202C_206E_202D_200F_206C_206F_200E_206A_200E_206F_200F_202D_202B_206F_200B_206A_200D_206D_202B_202E(simulatedQuest.Quest.Root) - select _003C_003Ec._200F_206D_206F_206B_206B_206E_206C_202B_202E_202A_206B_202E_202D_200C_206B_206F_206A_202A_206F_206B_202A_206B_202E_206D_202B_202D_206B_200D_202E_202E_200E_200C_200D_200B_200F_200B_206F_206F_206E_202B_202E(x)).LastOrDefault((byte x) => x < oldSequence, 0); - _questController.SimulatedQuest.SetSequence(sequence); - num = 1313421217; - continue; - } - case 1: - { - _movementController.Stop(); - _questController.Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-779639025)); - byte oldSequence2 = simulatedQuest.Sequence; - byte sequence2 = (from x in _206C_202B_202E_202E_202E_202B_206C_200F_202B_206B_206E_200E_200D_200E_202C_200B_202E_202C_202D_202E_202B_202C_206E_202D_200F_206C_206F_200E_206A_200E_206F_200F_202D_202B_206F_200B_206A_200D_206D_202B_202E(simulatedQuest.Quest.Root) - select _003C_003Ec._200F_206D_206F_206B_206B_206E_206C_202B_202E_202A_206B_202E_202D_200C_206B_206F_206A_202A_206F_206B_202A_206B_202E_206D_202B_202D_206B_200D_202E_202E_200E_200C_200D_200B_200F_200B_206F_206F_206E_202B_202E(x)).FirstOrDefault((byte x) => x > oldSequence2, byte.MaxValue); - simulatedQuest.SetSequence(sequence2); - num = 1313421222; - continue; - } - case 7: - _202B_206F_206A_200B_206A_200C_206C_206F_202B_202E_202D_200D_200C_200E_202E_200B_200B_200E_200D_206F_200B_200E_206E_202D_202D_200C_202B_206B_202C_200B_200E_206B_200C_202C_202B_202A_202D_206E_206F_200C_202E(); - _202B_202D_200D_202A_200F_206A_202A_202B_206E_206F_200D_200D_200B_200C_200B_200F_206D_202C_206F_200E_200C_200B_206B_206E_202A_202A_206F_202B_202B_200B_200C_206D_206A_206C_202D_200B_206D_206D_200E_202B_202E(); - _200D_200B_200B_200B_200B_206A_202C_202D_202D_202D_200F_200E_200D_202C_202C_206D_206A_206E_202A_206A_200B_202A_206F_202C_202C_202D_206A_206A_202A_206D_206C_200B_206A_206D_200E_200E_206E_206C_206C_206B_202E(simulatedQuest.Sequence >= byte.MaxValue); - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Plus, _206C_206C_206C_206D_200C_200E_202C_202C_206E_202C_202C_206B_200F_202A_200D_202C_200B_206E_206B_202D_206E_206F_200C_206B_200C_206B_206B_202D_202A_206E_202A_200B_200E_202C_200D_206F_200F_206D_206A_200F_202E())) ? 1313421222 : 1313421223); - continue; - case 4: - return; - case 0: - _202B_206F_206A_200B_206A_200C_206C_206F_202B_202E_202D_200D_200C_200E_202E_200B_200B_200E_200D_206F_200B_200E_206E_202D_202D_200C_202B_206B_202C_200B_200E_206B_200C_202C_202B_202A_202D_206E_206F_200C_202E(); - questSequence = simulatedQuest.Quest.FindSequence(simulatedQuest.Sequence); - if (questSequence != null) + UiThemeUtils.WrappedText($"Step: {simulatedQuest.Step} / {questSequence.Steps.Count - 1}"); + ImGui.BeginDisabled(simulatedQuest.Step == 0); + if (UiThemeUtils.IconButton(FontAwesomeIcon.Minus, ImGui.GetFrameHeight())) { - num = 1313421219; - continue; + _movementController.Stop(); + _questController.Stop("SimStep-"); + simulatedQuest.SetStep(Math.Min(simulatedQuest.Step - 1, questSequence.Steps.Count - 1)); } - break; - case 3: - { - simulatedQuest = _questController.SimulatedQuest; - UiThemeUtils.SectionSpacing(); - (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); - UiThemeUtils.SectionHeader(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1277207182)); - UiThemeUtils.WrappedTextColored(_200C_206C_200D_200D_206F_200C_200E_206C_202B_202E_202D_200D_206E_200E_206C_200F_206A_206E_206E_200D_200E_202A_202C_200F_200F_202E_202B_200F_206E_202A_202A_206C_200F_200E_206D_200B_206A_202B_206E_202B_202E(), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-159821034)); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(10, 1); - defaultInterpolatedStringHandler2.AppendLiteral(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(-1884634144)); - defaultInterpolatedStringHandler2.AppendFormatted(simulatedQuest.Sequence); - UiThemeUtils.WrappedText(defaultInterpolatedStringHandler2.ToStringAndClear()); - _200D_200B_200B_200B_200B_206A_202C_202D_202D_202D_200F_200E_200D_202C_202C_206D_206A_206E_202A_206A_200B_202A_206F_202C_202C_202D_206A_206A_202A_206D_206C_200B_206A_206D_200E_200E_206E_206C_206C_206B_202E(simulatedQuest.Sequence == 0); - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Minus, _206C_206C_206C_206D_200C_200E_202C_202C_206E_202C_202C_206B_200F_202A_200D_202C_200B_206E_206B_202D_206E_206F_200C_206B_200C_206B_206B_202D_202A_206E_202A_200B_200E_202C_200D_206F_200F_206D_206A_200F_202E())) ? 1313421217 : 1313421216); - continue; - } - case 5: - { - ImRaii.IdDisposable idDisposable = _206B_206D_200C_206D_202E_200B_206F_200B_202A_200E_202A_202B_200E_206B_206F_200B_206B_206D_200D_200E_202A_200F_202D_202A_206F_200B_206D_206D_206D_206C_206F_200F_206C_200D_206C_206E_200F_206C_206D_202E_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1402805809), true); - try + ImGui.EndDisabled(); + ImGui.SameLine(); + ImGui.BeginDisabled(simulatedQuest.Step >= questSequence.Steps.Count); + if (UiThemeUtils.IconButton(FontAwesomeIcon.Plus, ImGui.GetFrameHeight())) { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(9, 2); - defaultInterpolatedStringHandler.AppendLiteral(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(271839448)); - defaultInterpolatedStringHandler.AppendFormatted(simulatedQuest.Step); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1534070043)); - defaultInterpolatedStringHandler.AppendFormatted(_200D_200C_206C_202E_200B_202C_206E_200D_200B_206E_202C_206E_206F_206B_200C_202E_202E_200B_206A_200F_202E_206E_206B_202E_200B_200B_202A_200F_202E_200C_202E_202B_200B_206A_202B_200E_202C_202B_206C_202E_202E(questSequence).Count - 1); - UiThemeUtils.WrappedText(defaultInterpolatedStringHandler.ToStringAndClear()); - _200D_200B_200B_200B_200B_206A_202C_202D_202D_202D_200F_200E_200D_202C_202C_206D_206A_206E_202A_206A_200B_202A_206F_202C_202C_202D_206A_206A_202A_206D_206C_200B_206A_206D_200E_200E_206E_206C_206C_206B_202E(simulatedQuest.Step == 0); - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Minus, _206C_206C_206C_206D_200C_200E_202C_202C_206E_202C_202C_206B_200F_202A_200D_202C_200B_206E_206B_202D_206E_206F_200C_206B_200C_206B_206B_202D_202A_206E_202A_200B_200E_202C_200D_206F_200F_206D_206A_200F_202E())) ? 1601603120 : 1601603123); - while (true) - { - int num7 = num; - num3 = 1601603121; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 4: - _questController.SkipSimulatedTask(); - num = 1601603127; - break; - case 2: - _movementController.Stop(); - _questController.Stop(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(1623488944)); - simulatedQuest.SetStep(_202B_200E_206D_206F_202A_206B_202B_202E_202E_206D_206A_206A_200C_200E_206B_206F_200E_200C_202A_206A_206B_206C_200E_206F_206F_206A_200B_202D_202E_202B_200B_206F_202D_202D_206A_206A_200C_206F_200F_206B_202E(simulatedQuest.Step - 1, _200D_200C_206C_202E_200B_202C_206E_200D_200B_206E_202C_206E_206F_206B_200C_202E_202E_200B_206A_200F_202E_206E_206B_202E_200B_200B_202A_200F_202E_200C_202E_202B_200B_206A_202B_200E_202C_202B_206C_202E_202E(questSequence).Count - 1)); - num = 1601603120; - break; - case 7: - _movementController.Stop(); - _questController.Stop(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(-693037370)); - simulatedQuest.SetStep((simulatedQuest.Step == _200D_200C_206C_202E_200B_202C_206E_200D_200B_206E_202C_206E_206F_206B_200C_202E_202E_200B_206A_200F_202E_206E_206B_202E_200B_200B_202A_200F_202E_200C_202E_202B_200B_206A_202B_200E_202C_202B_206C_202E_202E(questSequence).Count - 1) ? 255 : (simulatedQuest.Step + 1)); - num = 1601603124; - break; - case 1: - _202B_206F_206A_200B_206A_200C_206C_206F_202B_202E_202D_200D_200C_200E_202E_200B_200B_200E_200D_206F_200B_200E_206E_202D_202D_200C_202B_206B_202C_200B_200E_206B_200C_202C_202B_202A_202D_206E_206F_200C_202E(); - _202B_202D_200D_202A_200F_206A_202A_202B_206E_206F_200D_200D_200B_200C_200B_200F_206D_202C_206F_200E_200C_200B_206B_206E_202A_202A_206F_202B_202B_200B_200C_206D_206A_206C_202D_200B_206D_206D_200E_202B_202E(); - _200D_200B_200B_200B_200B_206A_202C_202D_202D_202D_200F_200E_200D_202C_202C_206D_206A_206E_202A_206A_200B_202A_206F_202C_202C_202D_206A_206A_202A_206D_206C_200B_206A_206D_200E_200E_206E_206C_206C_206B_202E(simulatedQuest.Step >= _200D_200C_206C_202E_200B_202C_206E_200D_200B_206E_202C_206E_206F_206B_200C_202E_202E_200B_206A_200F_202E_206E_206B_202E_200B_200B_202A_200F_202E_200C_202E_202B_200B_206A_202B_200E_202C_202B_206C_202E_202E(questSequence).Count); - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Plus, _206C_206C_206C_206D_200C_200E_202C_202C_206E_202C_202C_206B_200F_202A_200D_202C_200B_206E_206B_202D_206E_206F_200C_206B_200C_206B_206B_202D_202A_206E_202A_200B_200E_202C_200D_206F_200F_206D_206A_200F_202E())) ? 1601603124 : 1601603126); - break; - case 5: - _202B_206F_206A_200B_206A_200C_206C_206F_202B_202E_202D_200D_200C_200E_202E_200B_200B_200E_200D_206F_200B_200E_206E_202D_202D_200C_202B_206B_202C_200B_200E_206B_200C_202C_202B_202A_202D_206E_206F_200C_202E(); - num = ((!_206A_206C_202B_202C_202D_202B_200C_200D_202C_206B_206E_206E_202C_202A_200C_202E_202A_206B_206A_200D_200C_200D_200D_202C_200C_202B_200F_200C_202D_200E_200C_206A_206D_206B_202E_200E_206C_202A_202C_202A_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1303370913), default(Vector2))) ? 1601603127 : 1601603125); - break; - case 0: - _questController.SimulateQuest(null, 0, 0); - _movementController.Stop(); - _questController.Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-657389191)); - num = 1601603129; - break; - case 3: - num = 1601603123; - break; - case 6: - _202B_202D_200D_202A_200F_206A_202A_202B_206E_206F_200D_200D_200B_200C_200B_200F_206D_202C_206F_200E_200C_200B_206B_206E_202A_202A_206F_202B_202B_200B_200C_206D_206A_206C_202D_200B_206D_206D_200E_202B_202E(); - num = ((!_206A_206C_202B_202C_202D_202B_200C_200D_202C_206B_206E_206E_202C_202A_200C_202E_202A_206B_206A_200D_200C_200D_200D_202C_200C_202B_200F_200C_202D_200E_200C_206A_206D_206B_202E_200E_206C_202A_202C_202A_202E((ImU8String)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(-522285743), default(Vector2))) ? 1601603129 : 1601603121); - break; - case 8: - goto end_IL_038b; - } - continue; - end_IL_038b: - break; - } + _movementController.Stop(); + _questController.Stop("SimStep+"); + simulatedQuest.SetStep((simulatedQuest.Step == questSequence.Steps.Count - 1) ? 255 : (simulatedQuest.Step + 1)); } - finally + ImGui.EndDisabled(); + if (ImGui.Button("Skip current task")) { - num = ((idDisposable == null) ? (-2068302135) : (-2068302134)); - while (true) - { - int num10 = num; - num3 = -2068302133; - num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -2068302134; - break; - case 2: - goto end_IL_05ce; - case 1: - _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E((IDisposable)idDisposable); - num = -2068302135; - break; - } - continue; - end_IL_05ce: - break; - } + _questController.SkipSimulatedTask(); + } + ImGui.SameLine(); + if (ImGui.Button("Clear sim")) + { + _questController.SimulateQuest(null, 0, 0); + _movementController.Stop(); + _questController.Stop("ClearSim"); } - break; } - } - break; } UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); } private static string Shorten(string text) { - int num = ((_206C_200F_202B_206D_200F_202E_202E_202A_200C_206D_202C_200E_202B_202A_206B_202D_206F_206F_206D_202C_202E_202E_206B_202E_202C_206C_202D_202A_206F_202A_200C_200C_206F_206D_200D_200D_202E_206C_200E_206E_202E(text) <= 35) ? (-1117641395) : (-1117641394)); - while (true) + if (text.Length > 35) { - int num2 = num; - int num3 = -1117641393; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0048; - case 2: - return text; - case 1: - return _202A_200D_206C_200C_200C_200E_206D_202A_202E_206F_202B_200D_202D_200B_202C_200F_206F_200B_202C_202B_206A_200D_206D_206A_202C_206C_200D_202C_202E_202D_206B_200F_206C_200C_200C_200B_202D_206E_200B_206C_202E(_200C_206F_202E_206A_206F_202B_202A_200D_200C_200F_206C_206A_202E_206A_200B_200F_200E_200F_202C_200D_202A_202A_206B_200C_200E_202D_206A_206B_206B_206B_202B_200D_200B_202D_202A_206A_202C_206F_200D_206D_202E(_202B_202C_200B_202D_206D_200C_206F_202A_202B_200C_206B_202E_206E_200B_202C_200B_206A_206E_206E_202B_200E_206F_206D_202C_206B_206E_202A_202C_200E_206A_202B_206E_206B_200D_202A_200E_200B_200D_202A_202C_202E(text, 0, 30)), _202D_202E_200B_206C_200C_200D_202E_200F_206F_202E_206B_200B_206E_206D_206D_200C_206D_200F_206B_202B_206D_206C_206A_200D_200F_202C_200E_200E_202D_206A_206A_200D_200B_200E_200F_206A_202C_202E_202A_206D_202E(_206D_202D_206B_206E_206C_202A_200E_206B_202C_202A_206E_206F_202E_200F_200D_202A_200B_206B_202C_206A_206F_206D_206B_200C_206C_200F_200C_206B_202E_206D_206A_202C_200C_206F_202C_200D_200B_202E_202D_206A_202E((SeIconChar)57434))); - } - continue; - IL_0048: - num = -1117641394; + return string.Concat(text.AsSpan(0, 30).Trim(), ((SeIconChar)57434).ToIconString().AsSpan()); } - } - - static Delegate _206B_202D_200E_202B_202B_200D_202E_202C_206F_202D_202D_202B_206E_202B_202A_200D_200F_206C_206C_200B_200E_206A_206D_202B_206A_202A_202B_202D_206A_206F_200F_206B_206D_200C_202A_200E_200B_206E_200F_200C_202E(Delegate P_0, Delegate P_1) - { - return Delegate.Combine(P_0, P_1); - } - - static Delegate _202A_206F_200E_202B_202B_206C_202C_200F_206C_200B_202B_200E_206F_200B_200C_206C_202E_202D_206E_200B_202E_206C_206B_206C_202D_206D_200D_206D_206B_206F_200B_206E_202C_206E_200D_200D_200F_202A_200C_206E_202E(Delegate P_0, Delegate P_1) - { - return Delegate.Remove(P_0, P_1); - } - - static Vector4 _200E_200F_202C_206B_200B_202B_206F_206B_206F_206D_206D_200B_206A_200E_200D_200C_206F_202B_202D_202A_206E_206C_202A_206D_206E_206A_200D_202D_206F_206C_206F_206D_200F_202A_200C_200F_200F_200C_202B_206A_202E() - { - return ImGuiColors.ParsedGold; - } - - static ImRaii.ColorDisposable _206D_206E_206C_200F_206F_206C_200F_202D_206A_206F_206B_200F_206D_206A_202A_202E_202A_202C_206E_200B_202C_200B_202C_200C_202B_206D_206E_202C_200D_206C_200B_200B_206F_202D_206D_200C_206C_200D_200D_202E_202E(ImGuiCol P_0, Vector4 P_1, bool P_2) - { - return ImRaii.PushColor(P_0, P_1, P_2); - } - - static string _206F_200E_200B_206D_202B_200E_202B_202C_206A_206F_202A_200E_206E_200E_206C_202C_206A_202B_202C_202B_200D_206D_206D_200B_200B_202B_202B_206B_200E_202D_206B_200D_206A_200B_202D_200C_200C_200E_206B_202B_202E(FateDefinition P_0) - { - return P_0.Name; - } - - static string _200C_202D_202E_206B_202C_202D_200B_202C_206F_200F_206E_202C_206C_206E_200C_206B_200B_206A_206C_202E_206A_202D_200E_206F_206D_200E_202A_202E_206C_202D_202E_202B_202D_206C_202E_200F_200D_202A_206D_202E_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static Vector2 _202E_206F_202E_206B_200C_200C_202B_206C_202D_200F_206A_206E_200E_202C_206A_202D_206E_200D_200E_206C_200B_200C_206E_206E_206E_200F_206D_200D_206F_202E_206F_202C_202A_206D_206A_206C_202B_206E_206B_200C_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static void _200E_202C_202D_206D_202B_206E_200E_206F_202D_206D_206F_202C_206A_200B_200C_202B_202E_206A_200F_202D_200E_200C_200E_206D_206C_202B_202B_202E_200D_206C_206E_206E_202D_206C_200B_200E_206E_200C_206E_206E_202E(ImU8String P_0) - { - ImGui.TextUnformatted(P_0); - } - - static void _200E_202B_202D_206F_206F_206E_206D_200C_200E_200C_206A_200E_202B_206C_202D_206F_200C_200D_206C_206E_206B_206F_200B_200E_206A_206A_200E_206E_202D_206A_206C_200D_200B_206D_206D_202E_200C_200E_202A_206B_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _202E_200E_200E_202E_200D_206E_206F_206E_200C_206F_202C_206D_200D_200C_206F_206B_202B_206F_206F_200F_206D_200E_200B_200E_206D_200E_206F_202C_202A_206F_202D_206B_202C_202E_200F_206B_200E_206E_206D_202D_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static float _206C_206C_206C_206D_200C_200E_202C_202C_206E_202C_202C_206B_200F_202A_200D_202C_200B_206E_206B_202D_206E_206F_200C_206B_200C_206B_206B_202D_202A_206E_202A_200B_200E_202C_200D_206F_200F_206D_206A_200F_202E() - { - return ImGui.GetFrameHeight(); - } - - static Vector4 _206C_206B_206D_206F_202B_206B_206C_200C_206F_202D_206B_202B_200D_206F_206B_206C_206A_202C_200E_206E_202A_200C_200D_200C_206E_206D_202E_200E_200C_200F_202D_200C_202C_200B_202D_206B_206F_206E_202D_206D_202E() - { - return ImGuiColors.ParsedGreen; - } - - static string _206A_200D_200F_206F_206D_206D_206B_206B_206A_200B_202A_202C_202B_202D_202A_200B_202A_202B_202B_202D_206F_202D_202E_200E_206B_206F_200E_202A_200E_206C_202D_202B_206E_200F_206A_200B_206F_206A_206A_206B_202E(SeasonalDutyDefinition P_0) - { - return P_0.Name; - } - - static Vector4 _200D_206A_202A_200E_206C_200D_202D_200F_202B_200B_206E_200E_206C_200D_202C_206C_202E_206C_206C_200E_202A_200B_202B_200F_202E_202D_202A_200E_200B_206E_206B_206B_206E_200D_206C_206E_206F_206B_202B_206E_202E() - { - return ImGuiColors.ParsedPurple; - } - - static Vector4 _200D_206D_206B_202E_202A_206B_202A_202E_200D_202D_200C_200C_206A_202A_202A_206D_206E_206D_200B_206E_206E_202E_202B_206F_206A_200F_200D_202B_200B_202D_202C_206A_202C_200E_206D_200E_206F_200B_200E_202B_202E() - { - return ImGuiColors.DalamudOrange; - } - - static Vector4 _202E_202C_200D_202A_202E_206F_206A_206A_200F_202D_206D_200F_206C_200B_200C_202B_206B_200D_206F_200F_202C_200B_202B_200C_206A_202A_202D_202E_206C_200B_206B_202A_206D_206D_202A_206B_206A_200E_200B_202C_202E() - { - return ImGuiColors.ParsedBlue; - } - - static bool _200E_200D_200B_200F_206B_200D_206F_200B_202C_206B_202A_202C_206F_206D_202D_206C_200C_206A_200C_200C_202C_202E_206A_206D_202E_200F_206D_202B_200F_206F_206C_206E_206C_200E_202D_206F_206E_200F_202E_202E() - { - return ImGui.IsItemHovered(); - } - - static void _202C_206D_202C_206B_206F_200C_200E_206A_202C_200D_200D_206F_206B_200C_200D_202B_206D_200E_200D_206C_200D_200B_200C_200C_200D_206C_202B_202A_202C_202C_202B_202E_206A_202C_206F_206B_202D_200D_202D_206C_202E() - { - ImGui.BeginTooltip(); - } - - static void _206A_200D_200E_200B_206C_206E_202B_200B_206D_206F_202E_206A_202A_200F_206A_200D_200B_206C_206A_202C_206A_202C_206A_200C_202C_200E_200B_202C_206C_206B_200E_206F_206E_202C_202B_202C_202C_200B_202C_202A_202E(ImU8String P_0) - { - ImGui.BulletText(P_0); - } - - static void _206E_206C_200F_202D_206C_200C_206B_200F_206D_206A_202C_206C_206D_206F_200D_202C_202E_202E_206E_200D_206E_202A_200E_206D_202C_202D_200F_206B_206C_200E_206F_202A_206A_200D_202A_206D_206A_200B_200E_202B_202E() - { - ImGui.EndTooltip(); - } - - static float _206C_206E_200C_202A_200C_202B_200E_206D_206F_200B_202C_202C_200C_206D_202A_200D_206A_206D_200F_202C_206A_200B_202B_200F_202C_202D_206E_206F_200D_206C_206B_206E_206A_206E_202C_206C_200F_206B_200C_202A_202E() - { - return ImGui.GetCursorPosX(); - } - - static ImGuiStylePtr _202C_206C_200C_202E_206C_200B_200F_206D_206E_206F_202D_200F_200B_206F_202C_202D_202E_200F_206B_200E_200C_200F_202D_200C_200F_202E_206F_206D_206B_206C_202A_206F_202B_200D_202E_200D_206C_206C_202A_206B_202E() - { - return ImGui.GetStyle(); - } - - static void _202C_202A_202E_200C_202C_206A_200D_200C_206A_206D_206F_200C_206E_200B_200D_202A_202C_200E_202A_206A_200F_206E_202C_202E_206A_202A_202B_200B_206A_206C_200C_202C_206C_206B_202D_202E_202E_200C_206F_202A_202E(float P_0) - { - ImGui.SameLine(P_0); - } - - static ImRaii.DisabledDisposable _200F_200C_200D_206B_200C_202E_206C_206C_206B_206B_206B_200F_206F_202B_200C_200E_206D_206C_206E_202C_202B_202B_206E_206F_206E_200D_206D_200E_206F_206F_202B_202A_200D_206C_202D_202E_202C_202E_202E_206D_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static void _202B_202D_200D_202A_200F_206A_202A_202B_206E_206F_200D_200D_200B_200C_200B_200F_206D_202C_206F_200E_200C_200B_206B_206E_202A_202A_206F_202B_202B_200B_200C_206D_206A_206C_202D_200B_206D_206D_200E_202B_202E() - { - ImGui.SameLine(); - } - - static List _202E_202E_202A_202B_206A_206B_202C_202E_206F_200B_206F_206D_206A_200B_206E_202C_206F_206F_200B_202A_206C_206A_206A_206B_202D_202C_200F_206F_206D_200D_206C_200B_202C_202C_200F_206C_200B_202E_200B_202B_202E(QuestSequence P_0) - { - return P_0.Steps; - } - - static void _206E_202E_200B_200E_206B_202D_200E_200E_206E_206E_200C_200B_206F_202C_200B_206C_200C_206A_200E_202A_202C_206D_200B_206D_202A_202D_202A_202B_200C_200D_206E_206E_202C_200C_200C_206E_200E_200B_206C_200F_202E(float P_0, Vector2 P_1, ImU8String P_2) - { - ImGui.ProgressBar(P_0, P_1, P_2); - } - - static int _200C_206F_202B_206C_202D_206E_206E_206E_206A_206D_200D_206E_202C_202E_206C_200C_206D_200C_200B_206B_206C_202B_206B_202D_202C_200E_200E_202C_206F_206B_200E_202D_206A_206E_206A_202E_202E_206B_206D_202A_202E(int P_0, int P_1) - { - return Math.Max(P_0, P_1); - } - - static int _202B_200E_206D_206F_202A_206B_202B_202E_202E_206D_206A_206A_200C_200E_206B_206F_200E_200C_202A_206A_206B_206C_200E_206F_206F_206A_200B_202D_202E_202B_200B_206F_202D_202D_206A_206A_200C_206F_200F_206B_202E(int P_0, int P_1) - { - return Math.Min(P_0, P_1); - } - - static bool _206B_200B_200F_202E_200C_202A_200B_206A_202B_206F_202B_206E_202C_206F_200B_206B_200F_200F_206D_206B_202A_202A_206A_206A_200C_200C_200E_200B_200B_202C_202D_206B_206C_200F_202B_206F_200F_200E_200C_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static IPlayerCharacter _206C_202A_200C_202A_206A_200C_200F_200C_202E_206A_206A_202E_200E_202B_202D_202B_206B_206A_200D_200F_200F_206B_202A_202C_206B_202D_202D_200B_200D_202B_202B_200C_200C_202B_200F_200B_200B_200B_202E_206C_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static byte _202B_200B_200F_200F_202A_206C_206D_206B_200F_200D_206A_202C_206C_200B_206A_202E_200D_202D_202E_200F_200B_206E_206E_200F_200C_206D_206E_206A_200E_206F_206B_202A_206A_206D_206F_202D_202B_202C_200E_202B_202E(ICharacter P_0) - { - return P_0.Level; - } - - static void _200B_206B_200E_202A_206A_200F_200D_206D_200D_202E_200E_206E_206D_200D_200E_202B_206A_200D_206E_206A_206C_206A_206B_200F_206F_200D_206B_202D_202B_200D_206E_206A_200D_200B_202D_206A_202E_206E_200F_200C_202E(float P_0) - { - ImGui.PushTextWrapPos(P_0); - } - - static Vector4 _202A_206C_206E_206E_206D_206D_202A_200F_200E_206E_200C_200B_202B_200C_200F_200D_202D_200E_202C_200C_206C_200E_200C_202A_206F_202E_200E_200E_200F_202D_206F_206E_206A_202A_202D_200C_200E_202D_202A_202A_202E() - { - return ImGuiColors.DalamudYellow; - } - - static void _206D_202B_202C_206F_206F_200B_206F_206F_202D_200F_202C_206D_202E_206A_202B_202C_202D_202D_200F_202E_206C_202E_206E_200E_202E_206C_206F_202A_202B_202B_206B_200B_200D_200B_200B_202D_206C_202B_206B_202C_202E() - { - ImGui.PopTextWrapPos(); - } - - static void _202E_202E_202D_200C_200B_200D_202C_206D_200C_202C_200B_202B_200F_202E_202A_206C_202B_202E_206D_200C_206D_202C_202A_206B_200E_202A_202C_206A_206F_202B_206D_202D_202D_202B_202E_206B_206B_202A_202D_206C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static void _206B_206C_206C_200D_206B_206D_200B_206A_206E_206A_202C_206A_206B_206D_206B_206F_206C_206B_206B_200F_206F_202B_200B_202E_206E_200B_200D_206D_206A_202B_206C_200E_200E_206C_202E_206B_200D_200F_206E_206A_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.Print(P_1, P_2, P_3); - } - - static void _202C_206E_206F_202D_202C_202B_202E_200C_200D_206B_206B_202E_206F_206F_206A_200B_202A_200E_206A_200B_202A_200C_200C_202C_202C_200C_206B_206F_200E_200F_200E_200E_206C_202A_202E_200C_206A_206A_200E_206F_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); - } - - static bool _202A_200B_206B_202D_200D_206D_200B_200E_200C_200D_202D_200C_206B_206A_202C_206E_206E_200F_206B_200D_202A_202B_202B_202D_200B_200E_202E_206A_200C_206C_200F_200F_200B_200F_202C_200B_200F_202C_206B_200D_202E(ImGuiHoveredFlags P_0) - { - return ImGui.IsItemHovered(P_0); - } - - static void _206F_202E_202D_200E_200C_200E_200D_206C_206E_200E_202E_206F_200E_202E_206D_200C_206B_200F_206F_206E_206F_202E_202A_206D_202C_202B_206A_206A_206C_200D_200F_206C_206A_206A_206F_202B_202E_206F_206B_200D_202E(ImU8String P_0) - { - ImGui.SetTooltip(P_0); - } - - static void _202B_206F_202C_200F_202A_202C_202A_206D_206B_200B_206A_202E_206B_206A_200D_202C_206E_206C_200E_202E_200F_206B_206E_202D_202E_202E_206E_200E_206F_202C_206E_206E_206D_206C_200F_202A_200D_200E_200B_206B_202E(float P_0) - { - ImGui.SetCursorPosX(P_0); - } - - static void _202C_202D_200C_202E_200C_206E_200E_206E_202A_200C_200B_202C_200E_206D_202D_202A_202B_206C_200C_202B_202A_200F_206F_200E_200B_202C_206E_200D_200B_202E_202B_202A_200B_202A_202B_206E_206F_202D_202A_200E_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogWarning(P_1, P_2, P_3); - } - - static Vector4 _200C_206C_200D_200D_206F_200C_200E_206C_202B_202E_202D_200D_206E_200E_206C_200F_206A_206E_206E_200D_200E_202A_202C_200F_200F_202E_202B_200F_206E_202A_202A_206C_200F_200E_206D_200B_206A_202B_206E_202B_202E() - { - return ImGuiColors.DalamudRed; - } - - static string _206A_202D_202C_200B_200C_202D_206B_206A_202D_206B_200D_202C_206D_200D_206F_206E_202A_200F_206C_202D_202C_206D_200C_206C_200F_200C_206C_202B_200D_202C_202D_200F_202A_206F_200E_202E_202D_206A_202A_200D_202E(object P_0) - { - return P_0.ToString(); - } - - static QuestStep _202C_206B_200D_200F_202E_206E_202E_200F_202D_202E_202C_200F_206D_206D_206F_206A_202E_202E_202A_200D_202D_200C_202B_206B_200B_206F_202D_206D_206D_202E_206B_200E_200B_206B_206F_200B_200C_206E_206B_206E_202E(QuestSequence P_0, int P_1) - { - return P_0.FindStep(P_1); - } - - static ImFontPtr _202A_200F_200D_200D_206A_206C_206D_206C_202B_200E_206F_200F_206B_206D_206B_200B_202D_202C_200B_202C_206D_202A_202B_200D_206C_206B_202C_206C_200B_200E_202D_202E_202E_200F_206B_206F_200C_200D_202E_200F_202E() - { - return UiBuilder.IconFont; - } - - static void _202E_202E_202A_200D_202E_200C_206B_202E_200E_202C_206E_206D_206E_206D_206B_206C_206F_200B_200F_202D_202E_200E_202D_202B_200B_206D_206E_206F_200F_206E_202C_200B_202B_200D_200B_202A_200E_200C_202A_206F_202E(ImFontPtr P_0) - { - ImGui.PushFont(P_0); - } - - static string _200D_202E_202D_200F_206C_200D_206D_202B_206B_206D_200E_202E_202B_202A_200B_200B_200B_200D_206B_206A_202E_206C_202E_206D_200F_206E_206F_200F_202A_202A_202E_200C_200B_200D_200E_206C_206C_200B_202B_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static void _206D_202B_202B_200E_200E_206C_200F_200E_202C_206B_202D_206D_206A_200C_206B_200C_202E_200B_202B_202B_206D_200F_206A_200C_206D_206E_200D_200C_206D_202D_206D_200F_206D_206A_206D_200B_202D_202D_200E_206E_202E() - { - ImGui.PopFont(); - } - - static bool _202B_202B_206D_206B_200B_206B_206F_202D_202E_200D_202A_200E_206F_200C_200C_200C_202D_202E_206E_206C_200C_206D_202A_202C_200D_202A_200C_200B_206B_206D_206D_206B_202C_202A_200F_200B_200C_206D_200C_202A_202E(QuestRoot P_0) - { - return P_0.Disabled; - } - - static void _206E_202E_206F_200B_200C_202C_202B_206A_206F_202A_206F_206A_206D_206F_200B_206E_206A_200B_206F_206E_202C_202D_202A_202A_202D_206D_200E_202C_206D_206D_200D_202D_206F_202C_200B_206F_206F_202C_200E_202E_202E() - { - ImGui.Spacing(); - } - - static void _206E_202B_202A_202D_206C_202B_206A_206B_206A_206A_202D_200C_200B_206A_206D_202C_202A_206B_202C_206B_206B_200E_200D_200C_202B_206A_202A_206C_200F_202A_202C_200B_200D_202D_206B_202C_200C_206C_206B_202E_202E() - { - ImGui.AlignTextToFramePadding(); - } - - static ImRaii.FontDisposable _202B_206A_202E_206E_202D_206A_200F_200F_202B_206B_202D_202D_202E_200F_206A_206F_200C_200F_202A_206F_202C_206E_202E_206D_200F_206A_202E_202A_202E_206A_206D_202D_200F_202C_206A_202A_200E_200F_206F_206C_202E(ImFontPtr P_0, bool P_1) - { - return ImRaii.PushFont(P_0, P_1); - } - - static Vector2 _200E_200E_200F_200B_200F_206A_200E_200D_202B_200B_202C_202A_202D_206E_200F_206D_206C_200C_200B_202D_202C_206F_200B_206C_200F_206E_200C_206A_200C_206F_206E_206A_200C_206C_202D_202A_200D_206F_200E_200C_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static ImRaii.StyleDisposable _206E_200E_206C_200C_202E_202A_202E_206E_202D_206D_206D_200D_206B_200B_206A_200D_206E_206B_202D_200F_200B_206D_200D_206F_202E_200D_206A_206F_206A_202D_206B_206F_202B_200D_202E_206A_206E_202B_206B_206E_202E(ImGuiStyleVar P_0, float P_1, bool P_2) - { - return ImRaii.PushStyle(P_0, P_1, P_2); - } - - static bool _200C_206A_202D_200B_202E_202B_206F_200C_206D_206B_206C_202D_206C_200E_206C_206A_200E_206D_206E_200F_202D_200C_206D_200F_202B_200B_202A_202A_206A_200F_200B_206E_206C_206F_202D_202C_206D_206D_202D_206D_202E() - { - return ImGui.IsItemClicked(); - } - - static string _202B_206E_200C_200F_202C_200D_206B_206F_206B_206C_200D_200D_200F_200E_202B_200F_206C_202B_202E_202C_200B_202D_206E_200F_202B_206E_200B_200F_202B_206F_200C_202E_206B_206D_206D_206E_200F_206B_206C_206A_202E(Regex P_0, string P_1, string P_2) - { - return P_0.Replace(P_1, P_2); - } - - static void _200B_202C_200E_200B_206E_206F_200D_200F_206C_206D_202A_200D_202A_206F_202A_206A_206E_202A_206B_202E_202D_202C_200C_206E_202B_202D_206F_202E_200F_206C_206D_206E_206E_202D_202C_206E_206E_202A_200C_206A_202E(ImU8String P_0) - { - ImGui.SetClipboardText(P_0); - } - - static string _200F_206A_202C_206C_200B_200B_202E_200E_206C_200E_200F_202E_206C_202D_202A_202D_206E_200D_202A_200D_206E_200C_202A_200F_200E_206F_206A_202B_200D_206E_206B_206F_200E_206B_200D_206C_202D_206A_206F_206E_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static void _206E_200B_206D_200D_206D_206F_200B_202A_206F_200C_200D_202B_200F_202A_206D_202E_200E_200E_202C_202A_202A_200B_206E_202D_200D_206A_202C_202A_206D_200B_206C_200B_206F_200E_206A_202E_202D_200F_200E_202E(ImU8String P_0) - { - ImGui.Text(P_0); - } - - static ImRaii.ColorDisposable _202E_200E_200B_206B_206D_206B_206E_202C_206F_200D_202A_206B_200B_206A_200E_206F_202D_206B_200B_200D_200E_200C_202B_202C_202E_206E_206A_206E_206A_202D_202B_202E_200D_202A_202E_202B_206B_200E_202B_202C_202E() - { - return new ImRaii.ColorDisposable(); - } - - static EInteractionType _206F_200F_206E_200F_206C_200F_206C_206D_206D_206A_206B_206D_206E_202C_202E_200E_200F_206F_202C_206A_202D_200B_206A_200F_200F_200B_200F_206E_206D_202A_206D_202D_200C_200D_206E_200D_206B_202A_200C_200C_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static ImRaii.ColorDisposable _206F_206B_200C_206A_206B_202B_202A_202D_200F_206D_202D_200F_206E_202E_200C_200F_206D_202B_202E_200F_206A_206B_206D_206D_202A_200F_200D_206B_206B_202E_202E_206B_200B_200D_202D_202D_202E_202D_202C_206A_202E(ImRaii.ColorDisposable P_0, ImGuiCol P_1, Vector4 P_2, bool P_3) - { - return P_0.Push(P_1, P_2, P_3); - } - - static string _200C_206A_202B_202E_206F_202C_200C_202D_200D_202B_200D_200D_202B_200C_206D_206E_202B_202D_202B_206B_206C_202C_206F_202D_206F_200F_202B_206E_200F_200C_200F_206D_202C_200C_200C_200E_202C_200C_202D_206D_202E(QuestStep P_0) - { - return P_0.Comment; - } - - static string _206B_206B_200C_206C_200D_206C_202D_206C_206F_202B_206B_206E_206E_200E_202A_200C_200C_200D_202A_202B_200E_200F_206A_200E_206C_202E_206D_200B_200F_206C_206A_202E_202E_206A_200B_206A_200F_206D_202C_202A_202E(QuestSequence P_0) - { - return P_0.Comment; - } - - static string _206F_206C_202C_206B_200E_206F_202B_202B_202A_202D_202B_206D_206B_200D_202C_202D_200D_202D_202D_200D_200F_200B_200E_200E_200B_202D_200D_206A_200F_202A_200C_200B_206C_206C_202D_206B_206D_206C_202D_206D_202E(QuestRoot P_0) - { - return P_0.Comment; - } - - static void _200F_206C_202A_202C_200E_200D_200E_206A_202B_200D_202B_206A_206F_202C_206F_200D_202E_202B_202A_200B_200C_200F_200E_202E_200B_202C_206B_202B_206F_200C_200F_206C_206C_206E_200E_202A_206F_202C_202E_206F_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } - - static void _200D_200B_200B_200B_200B_206A_202C_202D_202D_202D_200F_200E_200D_202C_202C_206D_206A_206E_202A_206A_200B_202A_206F_202C_202C_202D_206A_206A_202A_206D_206C_200B_206A_206D_200E_200E_206E_206C_206C_206B_202E(bool P_0) - { - ImGui.BeginDisabled(P_0); - } - - static List _206C_202B_202E_202E_202E_202B_206C_200F_202B_206B_206E_200E_200D_200E_202C_200B_202E_202C_202D_202E_202B_202C_206E_202D_200F_206C_206F_200E_206A_200E_206F_200F_202D_202B_206F_200B_206A_200D_206D_202B_202E(QuestRoot P_0) - { - return P_0.QuestSequence; - } - - static void _202B_206F_206A_200B_206A_200C_206C_206F_202B_202E_202D_200D_200C_200E_202E_200B_200B_200E_200D_206F_200B_200E_206E_202D_202D_200C_202B_206B_202C_200B_200E_206B_200C_202C_202B_202A_202D_206E_206F_200C_202E() - { - ImGui.EndDisabled(); - } - - static ImRaii.IdDisposable _206B_206D_200C_206D_202E_200B_206F_200B_202A_200E_202A_202B_200E_206B_206F_200B_206B_206D_200D_200E_202A_200F_202D_202A_206F_200B_206D_206D_206D_206C_206F_200F_206C_200D_206C_206E_200F_206C_206D_202E_202E(ImU8String P_0, bool P_1) - { - return ImRaii.PushId(P_0, P_1); - } - - static List _200D_200C_206C_202E_200B_202C_206E_200D_200B_206E_202C_206E_206F_206B_200C_202E_202E_200B_206A_200F_202E_206E_206B_202E_200B_200B_202A_200F_202E_200C_202E_202B_200B_206A_202B_200E_202C_202B_206C_202E_202E(QuestSequence P_0) - { - return P_0.Steps; - } - - static bool _206A_206C_202B_202C_202D_202B_200C_200D_202C_206B_206E_206E_202C_202A_200C_202E_202A_206B_206A_200D_200C_200D_200D_202C_200C_202B_200F_200C_202D_200E_200C_206A_206D_206B_202E_200E_206C_202A_202C_202A_202E(ImU8String P_0, Vector2 P_1) - { - return ImGui.Button(P_0, P_1); - } - - static int _206C_200F_202B_206D_200F_202E_202E_202A_200C_206D_202C_200E_202B_202A_206B_202D_206F_206F_206D_202C_202E_202E_206B_202E_202C_206C_202D_202A_206F_202A_200C_200C_206F_206D_200D_200D_202E_206C_200E_206E_202E(string P_0) - { - return P_0.Length; - } - - static ReadOnlySpan _202B_202C_200B_202D_206D_200C_206F_202A_202B_200C_206B_202E_206E_200B_202C_200B_206A_206E_206E_202B_200E_206F_206D_202C_206B_206E_202A_202C_200E_206A_202B_206E_206B_200D_202A_200E_200B_200D_202A_202C_202E(string P_0, int P_1, int P_2) - { - return P_0.AsSpan(P_1, P_2); - } - - static ReadOnlySpan _200C_206F_202E_206A_206F_202B_202A_200D_200C_200F_206C_206A_202E_206A_200B_200F_200E_200F_202C_200D_202A_202A_206B_200C_200E_202D_206A_206B_206B_206B_202B_200D_200B_202D_202A_206A_202C_206F_200D_206D_202E(ReadOnlySpan P_0) - { - return P_0.Trim(); - } - - static string _206D_202D_206B_206E_206C_202A_200E_206B_202C_202A_206E_206F_202E_200F_200D_202A_200B_206B_202C_206A_206F_206D_206B_200C_206C_200F_200C_206B_202E_206D_206A_202C_200C_206F_202C_200D_200B_202E_202D_206A_202E(SeIconChar P_0) - { - return P_0.ToIconString(); - } - - static ReadOnlySpan _202D_202E_200B_206C_200C_200D_202E_200F_206F_202E_206B_200B_206E_206D_206D_200C_206D_200F_206B_202B_206D_206C_206A_200D_200F_202C_200E_200E_202D_206A_206A_200D_200B_200E_200F_206A_202C_202E_202A_206D_202E(string P_0) - { - return P_0.AsSpan(); - } - - static string _202A_200D_206C_200C_200C_200E_206D_202A_202E_206F_202B_200D_202D_200B_202C_200F_206F_200B_202C_202B_206A_200D_206D_206A_202C_206C_200D_202C_202E_202D_206B_200F_206C_200C_200C_200B_202D_206E_200B_206C_202E(ReadOnlySpan P_0, ReadOnlySpan P_1) - { - return string.Concat(P_0, P_1); + return text; } } diff --git a/Questionable/Questionable.Windows.QuestComponents/CreationUtilsComponent.cs b/Questionable/Questionable.Windows.QuestComponents/CreationUtilsComponent.cs index 7b26db4..384ba8d 100644 --- a/Questionable/Questionable.Windows.QuestComponents/CreationUtilsComponent.cs +++ b/Questionable/Questionable.Windows.QuestComponents/CreationUtilsComponent.cs @@ -5,10 +5,8 @@ using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Objects.Enums; -using Dalamud.Game.ClientState.Objects.SubKinds; using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Game.Text; -using Dalamud.Game.Text.SeStringHandling; using Dalamud.Interface; using Dalamud.Interface.Colors; using Dalamud.Interface.Components; @@ -69,733 +67,273 @@ internal sealed class CreationUtilsComponent _logger = logger; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Draw() { var (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); - UiThemeUtils.WrappedText(_territoryData.GetNameAndId(_200F_200C_206D_202B_206F_200E_206B_206A_206D_206E_202E_206F_202B_202E_206E_206D_206B_200B_202E_202B_206C_202A_200B_202A_202E_206A_200E_206A_202B_206B_200E_202D_206E_206C_206C_202D_202E_206D_202C_202D_202E(_clientState))); - int num = ((!_gameFunctions.IsFlyingUnlockedInCurrentZone()) ? (-1212132610) : (-1212132611)); - ulong num7 = default(ulong); - while (true) + UiThemeUtils.WrappedText(_territoryData.GetNameAndId(_clientState.TerritoryType)); + if (_gameFunctions.IsFlyingUnlockedInCurrentZone()) { - int num2 = num; - int num3 = -1212132614; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - num = -1212132611; - break; - case 7: - _202C_200E_202D_206F_202A_202A_202B_206F_206E_206B_206A_200C_206B_200C_200C_206D_200D_206C_200F_200D_206E_202C_206C_200D_206B_202A_206F_206F_206D_200C_206D_206C_206C_202D_206B_206D_200B_206C_202B_200D_202E(); - _202A_202E_202E_202A_200F_202C_206C_206F_202A_200B_202C_202D_202A_206A_202C_200B_206C_202D_202D_202B_202C_202C_206A_200C_202E_200B_206A_202C_200B_206C_202A_200E_200C_200C_200E_206E_202B_200C_206C_200E_202E((ImU8String)_206B_206B_200E_202C_200F_206C_200E_200F_206C_206A_200E_202D_202E_206E_200D_200B_200B_206C_200E_206F_202B_206B_202E_202C_202C_200B_200F_200B_200F_206F_200E_206D_202E_202C_202E_200C_200E_206E_206B_206C_202E(SeIconChar.BotanistSprout)); - num = -1212132610; - break; - case 0: - DrawCopyButton(); - num = -1212132612; - break; - case 2: - { - _206B_202D_200F_206A_200B_206B_200C_202B_202E_202B_200F_206D_206E_200D_200C_206B_206B_202C_202E_206E_206B_206B_206E_206C_206B_200F_202E_200E_206A_206F_206D_206B_200D_202C_206B_200C_202E_200D_202A_202D_202E(); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(14, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1437995629)); - defaultInterpolatedStringHandler.AppendFormatted(num7); - UiThemeUtils.WrappedText(defaultInterpolatedStringHandler.ToStringAndClear()); - num = -1212132613; - break; - } - case 4: - num = ((_206C_200D_200E_206E_202C_200E_202B_202C_202C_200E_206E_202B_206F_202C_200B_206A_206D_202D_200F_202A_202A_206D_200E_206D_200B_200D_200E_206B_206C_206C_206D_206C_202B_206F_206A_206A_202C_200C_206A_206C_202E(_targetManager) == null) ? (-1212132614) : (-1212132615)); - break; - case 1: - UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); - return; - case 3: - DrawTargetDetails(_206C_200D_200E_206E_202C_200E_202B_202C_202C_200E_206E_202B_206F_202C_200B_206A_206D_202D_200F_202A_202A_206D_200E_206D_200B_200D_200E_206B_206C_206C_206D_206C_202B_206F_206A_206A_202C_200C_206A_206C_202E(_targetManager)); - DrawInteractionButtons(_206C_200D_200E_206E_202C_200E_202B_202C_202C_200E_206E_202B_206F_202C_200B_206A_206D_202D_200F_202A_202A_206D_200E_206D_200B_200D_200E_206B_206C_206C_206D_206C_202B_206F_206A_206A_202C_200C_206A_206C_202E(_targetManager)); - _202C_200E_202D_206F_202A_202A_202B_206F_206E_206B_206A_200C_206B_200C_200C_206D_200D_206C_200F_200D_206E_202C_206C_200D_206B_202A_206F_206F_206D_200C_206D_206C_206C_202D_206B_206D_200B_206C_202B_200D_202E(); - DrawCopyButton(_206C_200D_200E_206E_202C_200E_202B_202C_202C_200E_206E_202B_206F_202C_200B_206A_206D_202D_200F_202A_202A_206D_200E_206D_200B_200D_200E_206B_206C_206C_206D_206C_202B_206F_206A_206A_202C_200C_206A_206C_202E(_targetManager)); - num = -1212132612; - break; - case 6: - num7 = _202D_206C_200F_200E_206D_202B_202B_202A_206D_202E_206A_206B_206B_206E_206F_200C_206C_206F_200E_200E_202B_206B_206E_200B_206A_206F_200C_200B_206F_200D_206D_202B_200E_200B_206A_206F_206C_202E_202E_206B_202E(_gameGui); - num = ((num7 == 0L) ? (-1212132613) : (-1212132616)); - break; - } + ImGui.SameLine(); + ImGui.Text(SeIconChar.BotanistSprout.ToIconString()); } + if (_targetManager.Target != null) + { + DrawTargetDetails(_targetManager.Target); + DrawInteractionButtons(_targetManager.Target); + ImGui.SameLine(); + DrawCopyButton(_targetManager.Target); + } + else + { + DrawCopyButton(); + } + ulong hoveredItem = _gameGui.HoveredItem; + if (hoveredItem != 0L) + { + ImGui.Separator(); + UiThemeUtils.WrappedText($"Hovered Item: {hoveredItem}"); + } + UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void DrawTargetDetails(IGameObject target) { string value = string.Empty; - ICharacter character = target as ICharacter; - int num = ((character == null) ? 2100973131 : 2100973128); - string text = default(string); - while (true) + if (target is ICharacter { NameId: not 0u } character) { - int num2 = num; - int num3 = 2100973130; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + value = $"; n={character.NameId}"; + } + ImGui.Separator(); + IFormatProvider invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider = invariantCulture; + DefaultInterpolatedStringHandler handler = new DefaultInterpolatedStringHandler(14, 4, invariantCulture); + handler.AppendLiteral("Target: "); + handler.AppendFormatted(target.Name); + handler.AppendLiteral(" ("); + handler.AppendFormatted(target.ObjectKind); + handler.AppendLiteral("; "); + handler.AppendFormatted(target.BaseId); + handler.AppendFormatted(value); + handler.AppendLiteral(")"); + UiThemeUtils.WrappedText(string.Create(provider, ref handler)); + if (_objectTable.LocalPlayer != null) + { + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider2 = invariantCulture; + DefaultInterpolatedStringHandler handler2 = new DefaultInterpolatedStringHandler(10, 1, invariantCulture); + handler2.AppendLiteral("Distance: "); + handler2.AppendFormatted((target.Position - _objectTable.LocalPlayer.Position).Length(), "F2"); + ImGui.Text(string.Create(provider2, ref handler2)); + float value2 = target.Position.Y - _objectTable.LocalPlayer.Position.Y; + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider3 = invariantCulture; + DefaultInterpolatedStringHandler handler3 = new DefaultInterpolatedStringHandler(3, 1, invariantCulture); + handler3.AppendLiteral("Y: "); + handler3.AppendFormatted(value2, "F2"); + string text = string.Create(provider3, ref handler3); + if (Math.Abs(value2) >= 1.95f) { - case 4: - num = 2100973128; - break; - case 0: - { - IFormatProvider formatProvider = _202A_200F_206C_206E_200D_202C_200E_200D_206E_206F_206A_206B_202A_200C_200B_206E_200B_206C_202B_202C_200E_206E_206E_206A_206A_200B_206A_206E_202D_200D_206B_206A_202D_206A_206B_200C_202E_200B_202E_206B_202E(); - IFormatProvider formatProvider3 = formatProvider; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(10, 1, formatProvider); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1739902178)); - defaultInterpolatedStringHandler3.AppendFormatted((_200D_206F_206C_200B_200E_202B_206F_200F_206B_206E_206B_206D_202C_200E_206C_206D_200F_200E_202E_202B_200C_202D_206C_200F_206B_206B_202C_200F_200F_206F_200B_200E_200E_206B_202B_202E_206F_200F_206F_202B_202E(target) - _200D_206F_206C_200B_200E_202B_206F_200F_206B_206E_206B_206D_202C_200E_206C_206D_200F_200E_202E_202B_200C_202D_206C_200F_206B_206B_202C_200F_200F_206F_200B_200E_200E_206B_202B_202E_206F_200F_206F_202B_202E((IGameObject)_200B_206E_206E_202A_202A_200D_206B_202E_200C_206E_200E_206D_202E_202A_206E_206A_206B_202A_206C_200F_202C_200D_206F_200C_206C_202C_202B_202D_202C_200B_202A_200F_202D_202E_206E_206A_206A_206C_206E_200F_202E(_objectTable))).Length(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(989011289)); - _202A_202E_202E_202A_200F_202C_206C_206F_202A_200B_202C_202D_202A_206A_202C_200B_206C_202D_202D_202B_202C_202C_206A_200C_202E_200B_206A_202C_200B_206C_202A_200E_200C_200C_200E_206E_202B_200C_206C_200E_202E((ImU8String)_200C_202C_200D_202B_202C_200F_202A_200C_206D_200B_200F_206C_202A_200E_202D_206A_206A_202A_202B_200D_206B_202D_200D_206B_202E_200F_206F_206F_202D_206A_200C_202C_200C_206D_200C_206C_206D_202B_206B_202E(formatProvider3, ref defaultInterpolatedStringHandler3)); - float num7 = _200D_206F_206C_200B_200E_202B_206F_200F_206B_206E_206B_206D_202C_200E_206C_206D_200F_200E_202E_202B_200C_202D_206C_200F_206B_206B_202C_200F_200F_206F_200B_200E_200E_206B_202B_202E_206F_200F_206F_202B_202E(target).Y - _200D_206F_206C_200B_200E_202B_206F_200F_206B_206E_206B_206D_202C_200E_206C_206D_200F_200E_202E_202B_200C_202D_206C_200F_206B_206B_202C_200F_200F_206F_200B_200E_200E_206B_202B_202E_206F_200F_206F_202B_202E((IGameObject)_200B_206E_206E_202A_202A_200D_206B_202E_200C_206E_200E_206D_202E_202A_206E_206A_206B_202A_206C_200F_202C_200D_206F_200C_206C_202C_202B_202D_202C_200B_202A_200F_202D_202E_206E_206A_206A_206C_206E_200F_202E(_objectTable)).Y; - formatProvider = _202A_200F_206C_206E_200D_202C_200E_200D_206E_206F_206A_206B_202A_200C_200B_206E_200B_206C_202B_202C_200E_206E_206E_206A_206A_200B_206A_206E_202D_200D_206B_206A_202D_206A_206B_200C_202E_200B_202E_206B_202E(); - IFormatProvider formatProvider4 = formatProvider; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler4 = new DefaultInterpolatedStringHandler(3, 1, formatProvider); - defaultInterpolatedStringHandler4.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-780778393)); - defaultInterpolatedStringHandler4.AppendFormatted(num7, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(989011289)); - text = _200C_202C_200D_202B_202C_200F_202A_200C_206D_200B_200F_206C_202A_200E_202D_206A_206A_202A_202B_200D_206B_202D_200D_206B_202E_200F_206F_206F_202D_206A_200C_202C_200C_206D_200C_206C_206D_202B_206B_202E(formatProvider4, ref defaultInterpolatedStringHandler4); - num = ((!(_202C_200C_206F_206D_206C_202D_202A_200B_200D_206A_202B_206F_206A_200F_202D_200F_200B_202D_202E_200E_206B_200E_200F_202D_200D_206A_202C_200D_202E_206A_202D_200D_200D_206C_202E_202E_206E_200D_200E_202B_202E(num7) >= 1.95f)) ? 2100973129 : 2100973133); - break; + ImGui.TextColored(ImGuiColors.DalamudOrange, text); } - case 2: - num = ((_202E_206E_206A_200B_206B_200F_202C_202C_200C_206D_202A_200C_200D_202C_200F_206A_202A_202A_202A_202B_206C_206E_200F_206F_206A_206A_202A_202B_202D_200D_206C_206C_202E_206B_202E_202B_202E_200D_200E_202D_202E(character) == 0) ? 2100973131 : 2100973132); - break; - case 1: + else { - _206B_202D_200F_206A_200B_206B_200C_202B_202E_202B_200F_206D_206E_200D_200C_206B_206B_202C_202E_206E_206B_206B_206E_206C_206B_200F_202E_200E_206A_206F_206D_206B_200D_202C_206B_200C_202E_200D_202A_202D_202E(); - IFormatProvider formatProvider = _202A_200F_206C_206E_200D_202C_200E_200D_206E_206F_206A_206B_202A_200C_200B_206E_200B_206C_202B_202C_200E_206E_206E_206A_206A_200B_206A_206E_202D_200D_206B_206A_202D_206A_206B_200C_202E_200B_202E_206B_202E(); - IFormatProvider formatProvider2 = formatProvider; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(14, 4, formatProvider); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1030984999)); - defaultInterpolatedStringHandler2.AppendFormatted(_206A_200E_202D_202C_206F_206E_200F_202A_206C_200B_200E_206C_202C_206B_206B_206D_206A_206B_206F_202A_206D_200B_206C_206F_202A_200F_200B_200B_200E_200C_200B_206A_206F_200E_202D_206E_202B_200B_202E_202E_202E(target)); - defaultInterpolatedStringHandler2.AppendLiteral(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(84793411)); - defaultInterpolatedStringHandler2.AppendFormatted(_202C_206F_206B_200D_206B_206C_200C_202B_206E_202B_206F_200F_206B_200E_202B_202C_206F_202A_206F_206D_200C_206B_202B_206C_202C_200F_202E_200C_206B_200B_202B_206D_200B_200F_202B_200E_206A_202B_200B_206B_202E(target)); - defaultInterpolatedStringHandler2.AppendLiteral(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(-1032438240)); - defaultInterpolatedStringHandler2.AppendFormatted(_202C_200B_206D_206B_200E_202A_206F_200F_206B_206D_200B_206F_206B_206F_200C_200C_206C_206F_206F_206F_202E_206A_206D_202A_200B_202E_206C_206D_202C_206F_200D_202B_202C_206F_206D_206C_200B_202A_206C_206C_202E(target)); - defaultInterpolatedStringHandler2.AppendFormatted(value); - defaultInterpolatedStringHandler2.AppendLiteral(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(444206578)); - UiThemeUtils.WrappedText(_200C_202C_200D_202B_202C_200F_202A_200C_206D_200B_200F_206C_202A_200E_202D_206A_206A_202A_202B_200D_206B_202D_200D_206B_202E_200F_206F_206F_202D_206A_200C_202C_200C_206D_200C_206C_206D_202B_206B_202E(formatProvider2, ref defaultInterpolatedStringHandler2)); - num = ((_200B_206E_206E_202A_202A_200D_206B_202E_200C_206E_200E_206D_202E_202A_206E_206A_206B_202A_206C_200F_202C_200D_206F_200C_206C_202C_202B_202D_202C_200B_202A_200F_202D_202E_206E_206A_206A_206C_206E_200F_202E(_objectTable) == null) ? 2100973135 : 2100973130); - break; - } - case 3: - _202A_202E_202E_202A_200F_202C_206C_206F_202A_200B_202C_202D_202A_206A_202C_200B_206C_202D_202D_202B_202C_202C_206A_200C_202E_200B_206A_202C_200B_206C_202A_200E_200C_200C_200E_206E_202B_200C_206C_200E_202E((ImU8String)text); - num = 2100973135; - break; - case 6: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(4, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-1580251828)); - defaultInterpolatedStringHandler.AppendFormatted(_202E_206E_206A_200B_206B_200F_202C_202C_200C_206D_202A_200C_200D_202C_200F_206A_202A_202A_202A_202B_206C_206E_200F_206F_206A_206A_202A_202B_202D_200D_206C_206C_202E_206B_202E_202B_202E_200D_200E_202D_202E(character)); - value = defaultInterpolatedStringHandler.ToStringAndClear(); - num = 2100973131; - break; - } - case 7: - { - Vector4 vector = _200C_200B_200D_202C_206F_202A_200C_206D_202D_200F_200C_200F_200D_202B_200B_202D_202D_206E_206C_206C_206D_200B_206C_202C_200B_202D_200B_202D_202C_200D_206C_202B_200C_200E_206C_200E_206C_200F_206A_206A_202E(); - _202E_200E_206A_206E_206C_206D_206C_200B_206A_206A_202E_206D_202C_206B_200C_206A_202B_200E_202C_206C_206C_206F_200F_202E_206C_206E_202C_200F_206E_200C_202A_206D_202A_206F_200E_200E_200B_200D_202C_200C_202E(ref vector, (ImU8String)text); - num = 2100973135; - break; - } - case 5: - { - GameObject* ptr = (GameObject*)_200C_202B_200C_200F_202D_200D_200D_202B_206B_200D_200B_206F_206D_202D_200C_206F_200D_202E_206D_202D_200F_200F_202B_202B_200D_206C_206A_202B_202D_202C_200E_202E_202B_206C_206B_206A_200C_206F_206C_202B_202E(target); - ImU8String imU8String = new ImU8String(4, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(617436611)); - imU8String.AppendFormatted(ptr->NamePlateIconId); - _202A_202E_202E_202A_200F_202C_206C_206F_202A_200B_202C_202D_202A_206A_202C_200B_206C_202D_202D_202B_202C_202C_206A_200C_202E_200B_206A_202C_200B_206C_202A_200E_200C_200C_200E_206E_202B_200C_206C_200E_202E(imU8String); - return; - } + ImGui.Text(text); } } + GameObject* address = (GameObject*)target.Address; + ImU8String text2 = new ImU8String(4, 1); + text2.AppendLiteral("QM: "); + text2.AppendFormatted(address->NamePlateIconId); + ImGui.Text(text2); } - [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void DrawInteractionButtons(IGameObject target) { - int num = ((!_movementController.IsNavmeshReady) ? (-1572387827) : (-1572387829)); - while (true) + ImGui.BeginDisabled(!_movementController.IsNavmeshReady || _gameFunctions.IsOccupied()); + if (!_movementController.IsPathfinding) { - int num2 = num; - int num3 = -1572387832; - int num4 = num2; - int num5; - switch ((num4 | num3) - (num4 & num3)) + if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Bullseye, "To Target")) { - case 0: - num = ((!_206C_206B_202C_206C_202A_202B_200E_206B_206C_202B_202B_202C_206F_206E_206A_202C_206B_206D_200D_202E_202B_202C_200B_206D_202B_200E_200E_200E_206C_206C_206C_202D_202A_206E_202E_202A_206B_202E_200E_206D_202E((ImU8String)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(-1819282448), default(Vector2))) ? (-1572387825) : (-1572387839)); - break; - case 8: - num = ((!_206A_206C_200E_206B_200B_200F_202D_206C_200D_202E_200B_206C_206E_206F_206F_202C_202B_202D_206C_200C_202B_202A_200E_206C_202D_202A_200C_200D_202D_202A_206A_202A_200F_202B_206E_200F_206E_206C_200C_202E_202E(FontAwesomeIcon.Bullseye, 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(-9163359), (Vector4?)null, (Vector4?)null, (Vector4?)null, (Vector2?)null)) ? (-1572387825) : (-1572387828)); - break; - case 6: - { - _202D_200D_200C_206E_206E_206F_206F_200E_206D_206E_200D_200C_206F_206A_202E_202D_206A_206D_200E_202A_200C_202A_202E_200C_202B_202A_200F_200E_200B_202C_202B_200F_206E_206E_202E_200D_202E_200E_200D_200D_202E(); - _200F_200F_206F_206E_200D_202B_202A_200E_206C_206F_200F_206D_200C_200E_200E_202B_206F_206D_200F_202A_206C_202B_202C_202B_206F_202C_202C_200F_200B_202A_202B_206E_202A_202E_206A_206D_206C_202D_206E_202E(_gameFunctions.IsOccupied()); - _202C_200E_202D_206F_202A_202A_202B_206F_206E_206B_206A_200C_206B_200C_200C_206D_200D_206C_200F_200D_206E_202C_206C_200D_206B_202A_206F_206F_206D_200C_206D_206C_206C_202D_206B_206D_200B_206C_202B_200D_202E(); - bool num8 = _202E_206E_206A_206E_200D_200D_200C_200C_206C_206F_206B_206C_206C_202E_206B_200F_206F_206A_200F_206E_202A_200C_200F_202E_202D_202C_206A_206B_206E_206F_202E_206B_206F_206C_200C_202C_202B_200B_202E_202E_202E(FontAwesomeIcon.MousePointer); - if (_200F_200E_200F_200D_202E_200D_202A_206E_206E_206D_200F_206C_200B_202E_206B_206D_206A_200C_202A_200F_200D_200B_206E_202A_200F_200D_202A_202E_206B_202C_202D_206C_200F_202B_202E_200F_206A_200C_206B_206F_202E()) - { - _200D_200E_206D_206F_206C_202D_202B_202E_202A_206D_206C_200B_206A_206F_200F_206E_202C_200B_202C_200C_200C_206E_202E_200C_200D_206A_206C_200B_202C_202A_200D_206F_200F_206F_202A_202E_200D_200B_206B_202A_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1644288408)); - } - num = ((!num8) ? (-1572387838) : (-1572387837)); - break; - } - case 4: - _movementController.NavigateTo(EMovementType.DebugWindow, _202C_200B_206D_206B_200E_202A_206F_200F_206B_206D_200B_206F_206B_206F_200C_200C_206C_206F_206F_206F_202E_206A_206D_202A_200B_202E_206C_206D_202C_206F_200D_202B_202C_206F_206D_206C_200B_202A_206C_206C_202E(target), _200D_206F_206C_200B_200E_202B_206F_200F_206B_206E_206B_206D_202C_200E_206C_206D_200F_200E_202E_202B_200C_202D_206C_200F_206B_206B_202C_200F_200F_206F_200B_200E_200E_206B_202B_202E_206F_200F_206F_202B_202E(target), _206F_206D_206F_206D_206C_202B_200C_206D_202E_206C_206B_200C_202D_206F_206F_206F_200C_206E_206E_202B_200C_202C_202A_200F_202E_200F_206C_202A_202B_206D_200D_206C_206C_206A_200C_200C_202E_202D_206C_202A_202E(_condition, ConditionFlag.Mounted) && _gameFunctions.IsFlyingUnlockedInCurrentZone(), sprint: true); - num = -1572387825; - break; - case 10: - _202D_200D_200C_206E_206E_206F_206F_200E_206D_206E_200D_200C_206F_206A_202E_202D_206A_206D_200E_202A_200C_202A_202E_200C_202B_202A_200F_200E_200B_202C_202B_200F_206E_206E_202E_200D_202E_200E_200D_200D_202E(); - return; - case 11: - { - ulong num7 = TargetSystem.Instance()->InteractWithObject((GameObject*)_200C_202B_200C_200F_202D_200D_200D_202B_206B_200D_200B_206F_206D_202D_200C_206F_200D_202E_206D_202D_200F_200F_202B_202B_200D_206C_206A_202B_202D_202C_200E_202E_202B_206C_206B_206A_200C_206F_206C_202B_202E(target), checkLineOfSight: false); - _202D_200B_202E_202C_206D_206C_206A_202C_202A_200D_200D_202D_202E_200D_200C_206E_206A_206C_200B_200D_200D_202E_200E_200D_200E_206A_200E_206F_200F_206F_202C_200B_200D_206E_206D_206F_206C_200F_200D_202A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1103777567), new object[1] { num7 }); - num = -1572387838; - break; - } - case 9: - _movementController.ResetPathfinding(); - num = -1572387825; - break; - case 2: - num = -1572387829; - break; - case 3: - num5 = (_gameFunctions.IsOccupied() ? 1 : 0); - goto IL_02b3; - case 7: - { - _202D_200D_200C_206E_206E_206F_206F_200E_206D_206E_200D_200C_206F_206A_202E_202D_206A_206D_200E_202A_200C_202A_202E_200C_202B_202A_200F_200E_200B_202C_202B_200F_206E_206E_202E_200D_202E_200E_200D_200D_202E(); - _200F_200F_206F_206E_200D_202B_202A_200E_206C_206F_200F_206D_200C_200E_200E_202B_206F_206D_200F_202A_206C_202B_202C_202B_206F_202C_202C_200F_200B_202A_202B_206E_202A_202E_206A_206D_206C_202D_206E_202E(!_questData.IsIssuerOfAnyQuest(_202C_200B_206D_206B_200E_202A_206F_200F_206B_206D_200B_206F_206B_206F_200C_200C_206C_206F_206F_206F_202E_206A_206D_202A_200B_202E_206C_206D_202C_206F_200D_202B_202C_206F_206D_206C_200B_202A_206C_206C_202E(target))); - bool num6 = _202E_206E_206A_206E_200D_200D_200C_200C_206C_206F_206B_206C_206C_202E_206B_200F_206F_206A_200F_206E_202A_200C_200F_202E_202D_202C_206A_206B_206E_206F_202E_206B_206F_206C_200C_202C_202B_200B_202E_202E_202E(FontAwesomeIcon.MapMarkerAlt); - if (_200F_200E_200F_200D_202E_200D_202A_206E_206E_206D_200F_206C_200B_202E_206B_206D_206A_200C_202A_200F_200D_200B_206E_202A_200F_200D_202A_202E_206B_202C_202D_206C_200F_202B_202E_200F_206A_200C_206B_206F_202E()) - { - _200D_200E_206D_206F_206C_202D_202B_202E_202A_206D_206C_200B_206A_206F_200F_206E_202C_200B_202C_200C_200C_206E_202E_200C_200D_206A_206C_200B_202C_202A_200D_206F_200F_206F_202A_202E_200D_200B_206B_202A_202E((ImU8String)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(-1524215870)); - } - num = ((!num6) ? (-1572387826) : (-1572387831)); - break; - } - case 5: - num5 = 1; - goto IL_02b3; - case 1: - { - _questSelectionWindow.OpenForTarget(_206C_200D_200E_206E_202C_200E_202B_202C_202C_200E_206E_202B_206F_202C_200B_206A_206D_202D_200F_202A_202A_206D_200E_206D_200B_200D_200E_206B_206C_206C_206D_206C_202B_206F_206A_206A_202C_200C_206A_206C_202E(_targetManager)); - num = -1572387826; - break; - } - IL_02b3: - _200F_200F_206F_206E_200D_202B_202A_200E_206C_206F_200F_206D_200C_200E_200E_202B_206F_206D_200F_202A_206C_202B_202C_202B_206F_202C_202C_200F_200B_202A_202B_206E_202A_202E_206A_206D_206C_202D_206E_202E((byte)num5 != 0); - num = (_movementController.IsPathfinding ? (-1572387832) : (-1572387840)); - break; + _movementController.NavigateTo(EMovementType.DebugWindow, target.BaseId, target.Position, _condition[ConditionFlag.Mounted] && _gameFunctions.IsFlyingUnlockedInCurrentZone(), sprint: true); } } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private unsafe void DrawCopyButton(IGameObject target) - { - GameObject* ptr = (GameObject*)_200C_202B_200C_200F_202D_200D_200D_202B_206B_200D_200B_206F_206D_202D_200C_206F_200D_202E_206D_202D_200F_200F_202B_202B_200D_206C_206A_202B_202D_202C_200E_202E_202B_206C_206B_206A_200C_206F_206C_202B_202E(target); - bool num = _202E_206E_206A_206E_200D_200D_200C_200C_206C_206F_206B_206C_206C_202E_206B_200F_206F_206A_200F_206E_202A_200C_200F_202E_202D_202C_206A_206B_206E_206F_202E_206B_206F_206C_200C_202C_202B_200B_202E_202E_202E(FontAwesomeIcon.Copy); - if (_200F_200E_200F_200D_202E_200D_202A_206E_206E_206D_200F_206C_200B_202E_206B_206D_206A_200C_202A_200F_200D_200B_206E_202A_200F_200D_202A_202E_206B_202C_202D_206C_200F_202B_202E_200F_206A_200C_206B_206F_202E()) + else if (ImGui.Button("Cancel pathfinding")) { - _200D_200E_206D_206F_206C_202D_202B_202E_202A_206D_206C_200B_206A_206F_200F_206E_202C_200B_202C_200C_200C_206E_202E_200C_200D_206A_206C_200B_202C_202A_200D_206F_200F_206F_202A_202E_200D_200B_206B_202A_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-849104129)); + _movementController.ResetPathfinding(); } - int num2 = ((!num) ? (-2038665732) : (-2038665741)); - uint namePlateIconId = default(uint); - string text = default(string); - while (true) + ImGui.EndDisabled(); + ImGui.BeginDisabled(!_questData.IsIssuerOfAnyQuest(target.BaseId)); + bool num = ImGuiComponents.IconButton(FontAwesomeIcon.MapMarkerAlt); + if (ImGui.IsItemHovered()) { - int num3 = num2; - int num4 = -2038665743; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 10: - { - uint num7 = namePlateIconId; - num4 = 71341; - num5 = (int)num7; - switch (~(~num5 + num4)) - { - case 4: - goto IL_0271; - case 0: - goto IL_048b; - case 2: - case 3: - goto IL_04e6; - case 1: - goto IL_05ce; - } - num2 = -2038665736; - break; - } - case 13: - num2 = ((!_202C_206A_206C_202D_206E_206B_202B_206B_200F_202E_206F_206D_202B_200E_202D_206D_206F_206E_202C_202B_202C_206F_206A_206D_200D_202B_202A_206D_206E_200C_202D_206D_206A_206A_206B_202B_200E_200E_202B_200D_202E(ImGuiMouseButton.Right)) ? (-2038665740) : (-2038665729)); - break; - case 19: - num2 = -2038665734; - break; - case 0: - { - string value2 = text; - ImU8String imU8String2 = new ImU8String(99, 6); - imU8String2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(140408529)); - imU8String2.AppendFormatted(_202C_200B_206D_206B_200E_202A_206F_200F_206B_206D_200B_206F_206B_206F_200C_200C_206C_206F_206F_206F_202E_206A_206D_202A_200B_202E_206C_206D_202C_206F_200D_202B_202C_206F_206D_206C_200B_202A_206C_206C_202E(target)); - imU8String2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(67540992)); - imU8String2.AppendFormatted(_200D_206F_206C_200B_200E_202B_206F_200F_206B_206E_206B_206D_202C_200E_206C_206D_200F_200E_202E_202B_200C_202D_206C_200F_206B_206B_202C_200F_200F_206F_200B_200E_200E_206B_202B_202E_206F_200F_206F_202B_202E(target).X.ToString(_202A_200F_206C_206E_200D_202C_200E_200D_206E_206F_206A_206B_202A_200C_200B_206E_200B_206C_202B_202C_200E_206E_206E_206A_206A_200B_206A_206E_202D_200D_206B_206A_202D_206A_206B_200C_202E_200B_202E_206B_202E())); - imU8String2.AppendLiteral(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(-649698836)); - imU8String2.AppendFormatted(_200D_206F_206C_200B_200E_202B_206F_200F_206B_206E_206B_206D_202C_200E_206C_206D_200F_200E_202E_202B_200C_202D_206C_200F_206B_206B_202C_200F_200F_206F_200B_200E_200E_206B_202B_202E_206F_200F_206F_202B_202E(target).Y.ToString(_202A_200F_206C_206E_200D_202C_200E_200D_206E_206F_206A_206B_202A_200C_200B_206E_200B_206C_202B_202C_200E_206E_206E_206A_206A_200B_206A_206E_202D_200D_206B_206A_202D_206A_206B_200C_202E_200B_202E_206B_202E())); - imU8String2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1284513823)); - imU8String2.AppendFormatted(_200D_206F_206C_200B_200E_202B_206F_200F_206B_206E_206B_206D_202C_200E_206C_206D_200F_200E_202E_202B_200C_202D_206C_200F_206B_206B_202C_200F_200F_206F_200B_200E_200E_206B_202B_202E_206F_200F_206F_202B_202E(target).Z.ToString(_202A_200F_206C_206E_200D_202C_200E_200D_206E_206F_206A_206B_202A_200C_200B_206E_200B_206C_202B_202C_200E_206E_206E_206A_206A_200B_206A_206E_202D_200D_206B_206A_202D_206A_206B_200C_202E_200B_202E_206B_202E())); - imU8String2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2693715)); - imU8String2.AppendFormatted(_200F_200C_206D_202B_206F_200E_206B_206A_206D_206E_202E_206F_202B_202E_206E_206D_206B_200B_202E_202B_206C_202A_200B_202A_202E_206A_200E_206A_202B_206B_200E_202D_206E_206C_206C_202D_202E_206D_202C_202D_202E(_clientState)); - imU8String2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-228173290)); - imU8String2.AppendFormatted(value2); - imU8String2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(948996293)); - _206D_202A_206D_206F_206B_200D_202D_206B_206A_202E_202B_206D_202D_206E_202B_206C_202C_206B_202E_202A_200D_200E_200B_202A_200C_202D_206D_202D_200F_202A_202B_202A_200F_202B_200B_200B_202B_206A_202A_206A_202E(imU8String2); - return; - } - case 21: - { - uint num11 = namePlateIconId; - num4 = 71201; - num5 = (int)num11; - switch (~(~num5 + num4)) - { - case 4: - goto IL_0271; - case 0: - goto IL_048b; - case 2: - case 3: - goto IL_04e6; - case 1: - goto IL_05ce; - } - num2 = -2038665759; - break; - } - case 7: - goto IL_0271; - case 20: - { - EAetheryteLocation value = (EAetheryteLocation)_202C_200B_206D_206B_200E_202A_206F_200F_206B_206D_200B_206F_206B_206F_200C_200C_206C_206F_206F_206F_202E_206A_206D_202A_200B_202E_206C_206D_202C_206F_200D_202B_202C_206F_206D_206C_200B_202A_206C_206C_202E(target); - IFormatProvider formatProvider = _202A_200F_206C_206E_200D_202C_200E_200D_206E_206F_206A_206B_202A_200C_200B_206E_200B_206C_202B_202C_200E_206E_206E_206A_206A_200B_206A_206E_202D_200D_206B_206A_202D_206A_206B_200C_202E_200B_202E_206B_202E(); - IFormatProvider formatProvider3 = formatProvider; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(36, 4, formatProvider); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2013959311)); - defaultInterpolatedStringHandler2.AppendFormatted(value); - defaultInterpolatedStringHandler2.AppendLiteral(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(1164059180)); - defaultInterpolatedStringHandler2.AppendFormatted(_200D_206F_206C_200B_200E_202B_206F_200F_206B_206E_206B_206D_202C_200E_206C_206D_200F_200E_202E_202B_200C_202D_206C_200F_206B_206B_202C_200F_200F_206F_200B_200E_200E_206B_202B_202E_206F_200F_206F_202B_202E(target).X); - defaultInterpolatedStringHandler2.AppendLiteral(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(562724466)); - defaultInterpolatedStringHandler2.AppendFormatted(_200D_206F_206C_200B_200E_202B_206F_200F_206B_206E_206B_206D_202C_200E_206C_206D_200F_200E_202E_202B_200C_202D_206C_200F_206B_206B_202C_200F_200F_206F_200B_200E_200E_206B_202B_202E_206F_200F_206F_202B_202E(target).Y); - defaultInterpolatedStringHandler2.AppendLiteral(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(562724466)); - defaultInterpolatedStringHandler2.AppendFormatted(_200D_206F_206C_200B_200E_202B_206F_200F_206B_206E_206B_206D_202C_200E_206C_206D_200F_200E_202E_202B_200C_202D_206C_200F_206B_206B_202C_200F_200F_206F_200B_200E_200E_206B_202B_202E_206F_200F_206F_202B_202E(target).Z); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1620544171)); - _206D_202A_206D_206F_206B_200D_202D_206B_206A_202E_202B_206D_202D_206E_202B_206C_202C_206B_202E_202A_200D_200E_200B_202A_200C_202D_206D_202D_200F_202A_202B_202A_200F_202B_200B_200B_202B_206A_202A_206A_202E((ImU8String)_200C_202C_200D_202B_202C_200F_202A_200C_206D_200B_200F_206C_202A_200E_202D_206A_206A_202A_202B_200D_206B_202D_200D_206B_202E_200F_206F_206F_202D_206A_200C_202C_200C_206D_200C_206C_206D_202B_206B_202E(formatProvider3, ref defaultInterpolatedStringHandler2)); - return; - } - case 9: - { - uint num10 = namePlateIconId; - num4 = 71351; - num5 = (int)num10; - switch (~(~num5 + num4)) - { - case 4: - break; - default: - goto IL_0377; - case 0: - goto IL_048b; - case 2: - case 3: - goto IL_04e6; - case 1: - goto IL_05ce; - } - goto IL_0271; - } - case 5: - return; - case 16: - { - uint num9 = namePlateIconId; - num4 = 71211; - num5 = (int)num9; - switch (~(~num5 + num4)) - { - case 4: - break; - default: - goto IL_03af; - case 0: - goto IL_048b; - case 2: - case 3: - goto IL_04e6; - case 1: - goto IL_05ce; - } - goto IL_0271; - } - case 3: - { - ImU8String imU8String = new ImU8String(59, 4); - imU8String.AppendLiteral(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(844594776)); - imU8String.AppendFormatted(_202C_200B_206D_206B_200E_202A_206F_200F_206B_206D_200B_206F_206B_206F_200C_200C_206C_206F_206F_206F_202E_206A_206D_202A_200B_202E_206C_206D_202C_206F_200D_202B_202C_206F_206D_206C_200B_202A_206C_206C_202E(target)); - imU8String.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-964980094)); - imU8String.AppendFormatted(_200D_206F_206C_200B_200E_202B_206F_200F_206B_206E_206B_206D_202C_200E_206C_206D_200F_200E_202E_202B_200C_202D_206C_200F_206B_206B_202C_200F_200F_206F_200B_200E_200E_206B_202B_202E_206F_200F_206F_202B_202E(target).X.ToString(_202A_200F_206C_206E_200D_202C_200E_200D_206E_206F_206A_206B_202A_200C_200B_206E_200B_206C_202B_202C_200E_206E_206E_206A_206A_200B_206A_206E_202D_200D_206B_206A_202D_206A_206B_200C_202E_200B_202E_206B_202E())); - imU8String.AppendLiteral(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(1131547323)); - imU8String.AppendFormatted(_200D_206F_206C_200B_200E_202B_206F_200F_206B_206E_206B_206D_202C_200E_206C_206D_200F_200E_202E_202B_200C_202D_206C_200F_206B_206B_202C_200F_200F_206F_200B_200E_200E_206B_202B_202E_206F_200F_206F_202B_202E(target).Y.ToString(_202A_200F_206C_206E_200D_202C_200E_200D_206E_206F_206A_206B_202A_200C_200B_206E_200B_206C_202B_202C_200E_206E_206E_206A_206A_200B_206A_206E_202D_200D_206B_206A_202D_206A_206B_200C_202E_200B_202E_206B_202E())); - imU8String.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(882206494)); - imU8String.AppendFormatted(_200D_206F_206C_200B_200E_202B_206F_200F_206B_206E_206B_206D_202C_200E_206C_206D_200F_200E_202E_202B_200C_202D_206C_200F_206B_206B_202C_200F_200F_206F_200B_200E_200E_206B_202B_202E_206F_200F_206F_202B_202E(target).Z.ToString(_202A_200F_206C_206E_200D_202C_200E_200D_206E_206F_206A_206B_202A_200C_200B_206E_200B_206C_202B_202C_200E_206E_206E_206A_206A_200B_206A_206E_202D_200D_206B_206A_202D_206A_206B_200C_202E_200B_202E_206B_202E())); - imU8String.AppendLiteral(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(738125219)); - _206D_202A_206D_206F_206B_200D_202D_206B_206A_202E_202B_206D_202D_206E_202B_206C_202C_206B_202E_202A_200D_200E_200B_202A_200C_202D_206D_202D_200F_202A_202B_202A_200F_202B_200B_200B_202B_206A_202A_206A_202E(imU8String); - return; - } - case 12: - goto IL_048b; - case 17: - num2 = -2038665741; - break; - case 4: - { - uint num8 = namePlateIconId; - num4 = 71231; - num5 = (int)num8; - switch (~(~num5 + num4)) - { - case 4: - break; - case 0: - goto IL_048b; - default: - goto IL_04da; - case 2: - case 3: - goto IL_04e6; - case 1: - goto IL_05ce; - } - goto IL_0271; - } - case 11: - goto IL_04e6; - case 14: - num2 = ((_202C_206F_206B_200D_206B_206C_200C_202B_206E_202B_206F_200F_206B_200E_202B_202C_206F_202A_206F_206D_200C_206B_202B_206C_202C_200F_202E_200C_206B_200B_202B_206D_200B_200F_202B_200E_206A_202B_200B_206B_202E(target) != Dalamud.Game.ClientState.Objects.Enums.ObjectKind.Aetheryte) ? (-2038665730) : (-2038665755)); - break; - case 15: - { - IFormatProvider formatProvider = _202A_200F_206C_206E_200D_202C_200E_200D_206E_206F_206A_206B_202A_200C_200B_206E_200B_206C_202B_202C_200E_206E_206E_206A_206A_200B_206A_206E_202D_200D_206B_206A_202D_206A_206B_200C_202E_200B_202E_206B_202E(); - IFormatProvider formatProvider2 = formatProvider; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(12, 3, formatProvider); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1798659465)); - defaultInterpolatedStringHandler.AppendFormatted(_200D_206F_206C_200B_200E_202B_206F_200F_206B_206E_206B_206D_202C_200E_206C_206D_200F_200E_202E_202B_200C_202D_206C_200F_206B_206B_202C_200F_200F_206F_200B_200E_200E_206B_202B_202E_206F_200F_206F_202B_202E(target).X); - defaultInterpolatedStringHandler.AppendLiteral(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(-835891179)); - defaultInterpolatedStringHandler.AppendFormatted(_200D_206F_206C_200B_200E_202B_206F_200F_206B_206E_206B_206D_202C_200E_206C_206D_200F_200E_202E_202B_200C_202D_206C_200F_206B_206B_202C_200F_200F_206F_200B_200E_200E_206B_202B_202E_206F_200F_206F_202B_202E(target).Y); - defaultInterpolatedStringHandler.AppendLiteral(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(-835891179)); - defaultInterpolatedStringHandler.AppendFormatted(_200D_206F_206C_200B_200E_202B_206F_200F_206B_206E_206B_206D_202C_200E_206C_206D_200F_200E_202E_202B_200C_202D_206C_200F_206B_206B_202C_200F_200F_206F_200B_200E_200E_206B_202B_202E_206F_200F_206F_202B_202E(target).Z); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(772816910)); - _206D_202A_206D_206F_206B_200D_202D_206B_206A_202E_202B_206D_202D_206E_202B_206C_202C_206B_202E_202A_200D_200E_200B_202A_200C_202D_206D_202D_200F_202A_202B_202A_200F_202B_200B_200B_202B_206A_202A_206A_202E((ImU8String)_200C_202C_200D_202B_202C_200F_202A_200C_206D_200B_200F_206C_202A_200E_202D_206A_206A_202A_202B_200D_206B_202D_200D_206B_202E_200F_206F_206F_202D_206A_200C_202C_200C_206D_200C_206C_206D_202B_206B_202E(formatProvider2, ref defaultInterpolatedStringHandler)); - num2 = -2038665740; - break; - } - case 18: - goto IL_05ce; - case 6: - { - uint num6 = namePlateIconId; - num4 = 71221; - num5 = (int)num6; - switch (~(~num5 + num4)) - { - case 4: - break; - case 0: - goto IL_048b; - case 2: - case 3: - goto IL_04e6; - case 1: - goto IL_05ce; - default: - goto IL_0611; - } - goto IL_0271; - } - case 8: - num2 = -2038665734; - break; - case 1: - namePlateIconId = ptr->NamePlateIconId; - num2 = ((namePlateIconId > 71225) ? (-2038665739) : (-2038665756)); - break; - case 2: - { - num2 = ((_202C_206F_206B_200D_206B_206C_200C_202B_206E_202B_206F_200F_206B_200E_202B_202C_206F_202A_206F_206D_200C_206B_202B_206C_202C_200F_202E_200C_206B_200B_202B_206D_200B_200F_202B_200E_206A_202B_200B_206B_202E(target) != Dalamud.Game.ClientState.Objects.Enums.ObjectKind.GatheringPoint) ? (-2038665744) : (-2038665742)); - break; - } - IL_048b: - text = 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(750638006); - num2 = -2038665743; - break; - IL_0271: - text = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2119877003); - num2 = -2038665743; - break; - IL_0611: - num2 = -2038665758; - break; - IL_05ce: - text = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1763646415); - num2 = -2038665743; - break; - IL_04da: - num2 = -2038665733; - break; - IL_03af: - num2 = -2038665737; - break; - IL_0377: - num2 = -2038665735; - break; - IL_04e6: - text = 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(-1950641804); - num2 = -2038665743; - break; - } + ImGui.SetTooltip("Show all Quests starting with your current target."); } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private void DrawCopyButton() - { - int num = ((_200B_206E_206E_202A_202A_200D_206B_202E_200C_206E_200E_206D_202E_202A_206E_206A_206B_202A_206C_200F_202C_200D_206F_200C_206C_202C_202B_202D_202C_200B_202A_200F_202D_202E_206E_206A_206A_206C_206E_200F_202E(_objectTable) != null) ? (-721194997) : (-721194994)); - while (true) + if (num) { - int num2 = num; - int num3 = -721194997; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - { - bool num7 = _202E_206E_206A_206E_200D_200D_200C_200C_206C_206F_206B_206C_206C_202E_206B_200F_206F_206A_200F_206E_202A_200C_200F_202E_202D_202C_206A_206B_206E_206F_202E_206B_206F_206C_200C_202C_202B_200B_202E_202E_202E(FontAwesomeIcon.Copy); - if (_200F_200E_200F_200D_202E_200D_202A_206E_206E_206D_200F_206C_200B_202E_206B_206D_206A_200C_202A_200F_200D_200B_206E_202A_200F_200D_202A_202E_206B_202C_202D_206C_200F_202B_202E_200F_206A_200C_206B_206F_202E()) - { - _200D_200E_206D_206F_206C_202D_202B_202E_202A_206D_206C_200B_206A_206F_200F_206E_202C_200B_202C_200C_200C_206E_202E_200C_200D_206A_206C_200B_202C_202A_200D_206F_200F_206F_202A_202E_200D_200B_206B_202A_202E((ImU8String)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(-1229313283)); - } - num = ((!num7) ? (-721194999) : (-721194995)); - break; - } - case 5: - return; - case 1: - { - Vector3 vector = _200D_206F_206C_200B_200E_202B_206F_200F_206B_206E_206B_206D_202C_200E_206C_206D_200F_200E_202E_202B_200C_202D_206C_200F_206B_206B_202C_200F_200F_206F_200B_200E_200E_206B_202B_202E_206F_200F_206F_202B_202E((IGameObject)_200B_206E_206E_202A_202A_200D_206B_202E_200C_206E_200E_206D_202E_202A_206E_206A_206B_202A_206C_200F_202C_200D_206F_200C_206C_202C_202B_202D_202C_200B_202A_200F_202D_202E_206E_206A_206A_206C_206E_200F_202E(_objectTable)); - IFormatProvider formatProvider = _202A_200F_206C_206E_200D_202C_200E_200D_206E_206F_206A_206B_202A_200C_200B_206E_200B_206C_202B_202C_200E_206E_206E_206A_206A_200B_206A_206E_202D_200D_206B_206A_202D_206A_206B_200C_202E_200B_202E_206B_202E(); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(12, 3, formatProvider); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1798659465)); - defaultInterpolatedStringHandler.AppendFormatted(vector.X); - defaultInterpolatedStringHandler.AppendLiteral(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(562724466)); - defaultInterpolatedStringHandler.AppendFormatted(vector.Y); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(495221964)); - defaultInterpolatedStringHandler.AppendFormatted(vector.Z); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1219659692)); - _206D_202A_206D_206F_206B_200D_202D_206B_206A_202E_202B_206D_202D_206E_202B_206C_202C_206B_202E_202A_200D_200E_200B_202A_200C_202D_206D_202D_200F_202A_202B_202A_200F_202B_200B_200B_202B_206A_202A_206A_202E((ImU8String)_200C_202C_200D_202B_202C_200F_202A_200C_206D_200B_200F_206C_202A_200E_202D_206A_206A_202A_202B_200D_206B_202D_200D_206B_202E_200F_206F_206F_202D_206A_200C_202C_200C_206D_200C_206C_206D_202B_206B_202E(formatProvider, ref defaultInterpolatedStringHandler)); - num = -721194993; - break; - } - case 6: - { - ImU8String imU8String = new ImU8String(87, 4); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-840535308)); - imU8String.AppendFormatted(_200D_206F_206C_200B_200E_202B_206F_200F_206B_206E_206B_206D_202C_200E_206C_206D_200F_200E_202E_202B_200C_202D_206C_200F_206B_206B_202C_200F_200F_206F_200B_200E_200E_206B_202B_202E_206F_200F_206F_202B_202E((IGameObject)_200B_206E_206E_202A_202A_200D_206B_202E_200C_206E_200E_206D_202E_202A_206E_206A_206B_202A_206C_200F_202C_200D_206F_200C_206C_202C_202B_202D_202C_200B_202A_200F_202D_202E_206E_206A_206A_206C_206E_200F_202E(_objectTable)).X.ToString(_202A_200F_206C_206E_200D_202C_200E_200D_206E_206F_206A_206B_202A_200C_200B_206E_200B_206C_202B_202C_200E_206E_206E_206A_206A_200B_206A_206E_202D_200D_206B_206A_202D_206A_206B_200C_202E_200B_202E_206B_202E())); - imU8String.AppendLiteral(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(-649698836)); - imU8String.AppendFormatted(_200D_206F_206C_200B_200E_202B_206F_200F_206B_206E_206B_206D_202C_200E_206C_206D_200F_200E_202E_202B_200C_202D_206C_200F_206B_206B_202C_200F_200F_206F_200B_200E_200E_206B_202B_202E_206F_200F_206F_202B_202E((IGameObject)_200B_206E_206E_202A_202A_200D_206B_202E_200C_206E_200E_206D_202E_202A_206E_206A_206B_202A_206C_200F_202C_200D_206F_200C_206C_202C_202B_202D_202C_200B_202A_200F_202D_202E_206E_206A_206A_206C_206E_200F_202E(_objectTable)).Y.ToString(_202A_200F_206C_206E_200D_202C_200E_200D_206E_206F_206A_206B_202A_200C_200B_206E_200B_206C_202B_202C_200E_206E_206E_206A_206A_200B_206A_206E_202D_200D_206B_206A_202D_206A_206B_200C_202E_200B_202E_206B_202E())); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-700690564)); - imU8String.AppendFormatted(_200D_206F_206C_200B_200E_202B_206F_200F_206B_206E_206B_206D_202C_200E_206C_206D_200F_200E_202E_202B_200C_202D_206C_200F_206B_206B_202C_200F_200F_206F_200B_200E_200E_206B_202B_202E_206F_200F_206F_202B_202E((IGameObject)_200B_206E_206E_202A_202A_200D_206B_202E_200C_206E_200E_206D_202E_202A_206E_206A_206B_202A_206C_200F_202C_200D_206F_200C_206C_202C_202B_202D_202C_200B_202A_200F_202D_202E_206E_206A_206A_206C_206E_200F_202E(_objectTable)).Z.ToString(_202A_200F_206C_206E_200D_202C_200E_200D_206E_206F_206A_206B_202A_200C_200B_206E_200B_206C_202B_202C_200E_206E_206E_206A_206A_200B_206A_206E_202D_200D_206B_206A_202D_206A_206B_200C_202E_200B_202E_206B_202E())); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-19976290)); - imU8String.AppendFormatted(_200F_200C_206D_202B_206F_200E_206B_206A_206D_206E_202E_206F_202B_202E_206E_206D_206B_200B_202E_202B_206C_202A_200B_202A_202E_206A_200E_206A_202B_206B_200E_202D_206E_206C_206C_202D_202E_206D_202C_202D_202E(_clientState)); - imU8String.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1135770245)); - _206D_202A_206D_206F_206B_200D_202D_206B_206A_202E_202B_206D_202D_206E_202B_206C_202C_206B_202E_202A_200D_200E_200B_202A_200C_202D_206D_202D_200F_202A_202B_202A_200F_202B_200B_200B_202B_206A_202A_206A_202E(imU8String); - return; - } - case 3: - num = -721194994; - break; - case 2: - num = ((!_202C_206A_206C_202D_206E_206B_202B_206B_200F_202E_206F_206D_202B_200E_202D_206D_206F_206E_202C_202B_202C_206F_206A_206D_200D_202B_202A_206D_206E_200C_202D_206D_206A_206A_206B_202B_200E_200E_202B_200D_202E(ImGuiMouseButton.Right)) ? (-721194993) : (-721194998)); - break; - case 4: - return; - } + _questSelectionWindow.OpenForTarget(_targetManager.Target); } - } - - static uint _200F_200C_206D_202B_206F_200E_206B_206A_206D_206E_202E_206F_202B_202E_206E_206D_206B_200B_202E_202B_206C_202A_200B_202A_202E_206A_200E_206A_202B_206B_200E_202D_206E_206C_206C_202D_202E_206D_202C_202D_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static void _202C_200E_202D_206F_202A_202A_202B_206F_206E_206B_206A_200C_206B_200C_200C_206D_200D_206C_200F_200D_206E_202C_206C_200D_206B_202A_206F_206F_206D_200C_206D_206C_206C_202D_206B_206D_200B_206C_202B_200D_202E() - { + ImGui.EndDisabled(); + ImGui.BeginDisabled(_gameFunctions.IsOccupied()); ImGui.SameLine(); - } - - static string _206B_206B_200E_202C_200F_206C_200E_200F_206C_206A_200E_202D_202E_206E_200D_200B_200B_206C_200E_206F_202B_206B_202E_202C_202C_200B_200F_200B_200F_206F_200E_206D_202E_202C_202E_200C_200E_206E_206B_206C_202E(SeIconChar P_0) - { - return P_0.ToIconString(); - } - - static void _202A_202E_202E_202A_200F_202C_206C_206F_202A_200B_202C_202D_202A_206A_202C_200B_206C_202D_202D_202B_202C_202C_206A_200C_202E_200B_206A_202C_200B_206C_202A_200E_200C_200C_200E_206E_202B_200C_206C_200E_202E(ImU8String P_0) - { - ImGui.Text(P_0); - } - - static IGameObject _206C_200D_200E_206E_202C_200E_202B_202C_202C_200E_206E_202B_206F_202C_200B_206A_206D_202D_200F_202A_202A_206D_200E_206D_200B_200D_200E_206B_206C_206C_206D_206C_202B_206F_206A_206A_202C_200C_206A_206C_202E(ITargetManager P_0) - { - return P_0.Target; - } - - static ulong _202D_206C_200F_200E_206D_202B_202B_202A_206D_202E_206A_206B_206B_206E_206F_200C_206C_206F_200E_200E_202B_206B_206E_200B_206A_206F_200C_200B_206F_200D_206D_202B_200E_200B_206A_206F_206C_202E_202E_206B_202E(IGameGui P_0) - { - return P_0.HoveredItem; - } - - static void _206B_202D_200F_206A_200B_206B_200C_202B_202E_202B_200F_206D_206E_200D_200C_206B_206B_202C_202E_206E_206B_206B_206E_206C_206B_200F_202E_200E_206A_206F_206D_206B_200D_202C_206B_200C_202E_200D_202A_202D_202E() - { - ImGui.Separator(); - } - - static uint _202E_206E_206A_200B_206B_200F_202C_202C_200C_206D_202A_200C_200D_202C_200F_206A_202A_202A_202A_202B_206C_206E_200F_206F_206A_206A_202A_202B_202D_200D_206C_206C_202E_206B_202E_202B_202E_200D_200E_202D_202E(ICharacter P_0) - { - return P_0.NameId; - } - - static CultureInfo _202A_200F_206C_206E_200D_202C_200E_200D_206E_206F_206A_206B_202A_200C_200B_206E_200B_206C_202B_202C_200E_206E_206E_206A_206A_200B_206A_206E_202D_200D_206B_206A_202D_206A_206B_200C_202E_200B_202E_206B_202E() - { - return CultureInfo.InvariantCulture; - } - - static SeString _206A_200E_202D_202C_206F_206E_200F_202A_206C_200B_200E_206C_202C_206B_206B_206D_206A_206B_206F_202A_206D_200B_206C_206F_202A_200F_200B_200B_200E_200C_200B_206A_206F_200E_202D_206E_202B_200B_202E_202E_202E(IGameObject P_0) - { - return P_0.Name; - } - - static Dalamud.Game.ClientState.Objects.Enums.ObjectKind _202C_206F_206B_200D_206B_206C_200C_202B_206E_202B_206F_200F_206B_200E_202B_202C_206F_202A_206F_206D_200C_206B_202B_206C_202C_200F_202E_200C_206B_200B_202B_206D_200B_200F_202B_200E_206A_202B_200B_206B_202E(IGameObject P_0) - { - return P_0.ObjectKind; - } - - static uint _202C_200B_206D_206B_200E_202A_206F_200F_206B_206D_200B_206F_206B_206F_200C_200C_206C_206F_206F_206F_202E_206A_206D_202A_200B_202E_206C_206D_202C_206F_200D_202B_202C_206F_206D_206C_200B_202A_206C_206C_202E(IGameObject P_0) - { - return P_0.BaseId; - } - - static string _200C_202C_200D_202B_202C_200F_202A_200C_206D_200B_200F_206C_202A_200E_202D_206A_206A_202A_202B_200D_206B_202D_200D_206B_202E_200F_206F_206F_202D_206A_200C_202C_200C_206D_200C_206C_206D_202B_206B_202E(IFormatProvider P_0, ref DefaultInterpolatedStringHandler P_1) - { - return string.Create(P_0, ref P_1); - } - - static IPlayerCharacter _200B_206E_206E_202A_202A_200D_206B_202E_200C_206E_200E_206D_202E_202A_206E_206A_206B_202A_206C_200F_202C_200D_206F_200C_206C_202C_202B_202D_202C_200B_202A_200F_202D_202E_206E_206A_206A_206C_206E_200F_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static Vector3 _200D_206F_206C_200B_200E_202B_206F_200F_206B_206E_206B_206D_202C_200E_206C_206D_200F_200E_202E_202B_200C_202D_206C_200F_206B_206B_202C_200F_200F_206F_200B_200E_200E_206B_202B_202E_206F_200F_206F_202B_202E(IGameObject P_0) - { - return P_0.Position; - } - - static float _202C_200C_206F_206D_206C_202D_202A_200B_200D_206A_202B_206F_206A_200F_202D_200F_200B_202D_202E_200E_206B_200E_200F_202D_200D_206A_202C_200D_202E_206A_202D_200D_200D_206C_202E_202E_206E_200D_200E_202B_202E(float P_0) - { - return Math.Abs(P_0); - } - - static Vector4 _200C_200B_200D_202C_206F_202A_200C_206D_202D_200F_200C_200F_200D_202B_200B_202D_202D_206E_206C_206C_206D_200B_206C_202C_200B_202D_200B_202D_202C_200D_206C_202B_200C_200E_206C_200E_206C_200F_206A_206A_202E() - { - return ImGuiColors.DalamudOrange; - } - - static void _202E_200E_206A_206E_206C_206D_206C_200B_206A_206A_202E_206D_202C_206B_200C_206A_202B_200E_202C_206C_206C_206F_200F_202E_206C_206E_202C_200F_206E_200C_202A_206D_202A_206F_200E_200E_200B_200D_202C_200C_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static nint _200C_202B_200C_200F_202D_200D_200D_202B_206B_200D_200B_206F_206D_202D_200C_206F_200D_202E_206D_202D_200F_200F_202B_202B_200D_206C_206A_202B_202D_202C_200E_202E_202B_206C_206B_206A_200C_206F_206C_202B_202E(IGameObject P_0) - { - return P_0.Address; - } - - static void _200F_200F_206F_206E_200D_202B_202A_200E_206C_206F_200F_206D_200C_200E_200E_202B_206F_206D_200F_202A_206C_202B_202C_202B_206F_202C_202C_200F_200B_202A_202B_206E_202A_202E_206A_206D_206C_202D_206E_202E(bool P_0) - { - ImGui.BeginDisabled(P_0); - } - - static bool _206A_206C_200E_206B_200B_200F_202D_206C_200D_202E_200B_206C_206E_206F_206F_202C_202B_202D_206C_200C_202B_202A_200E_206C_202D_202A_200C_200D_202D_202A_206A_202A_200F_202B_206E_200F_206E_206C_200C_202E_202E(FontAwesomeIcon P_0, string P_1, Vector4? P_2, Vector4? P_3, Vector4? P_4, Vector2? P_5) - { - return ImGuiComponents.IconButtonWithText(P_0, P_1, P_2, P_3, P_4, P_5); - } - - static bool _206F_206D_206F_206D_206C_202B_200C_206D_202E_206C_206B_200C_202D_206F_206F_206F_200C_206E_206E_202B_200C_202C_202A_200F_202E_200F_206C_202A_202B_206D_200D_206C_206C_206A_200C_200C_202E_202D_206C_202A_202E(ICondition P_0, ConditionFlag P_1) - { - return P_0[P_1]; - } - - static bool _206C_206B_202C_206C_202A_202B_200E_206B_206C_202B_202B_202C_206F_206E_206A_202C_206B_206D_200D_202E_202B_202C_200B_206D_202B_200E_200E_200E_206C_206C_206C_202D_202A_206E_202E_202A_206B_202E_200E_206D_202E(ImU8String P_0, Vector2 P_1) - { - return ImGui.Button(P_0, P_1); - } - - static void _202D_200D_200C_206E_206E_206F_206F_200E_206D_206E_200D_200C_206F_206A_202E_202D_206A_206D_200E_202A_200C_202A_202E_200C_202B_202A_200F_200E_200B_202C_202B_200F_206E_206E_202E_200D_202E_200E_200D_200D_202E() - { + bool num2 = ImGuiComponents.IconButton(FontAwesomeIcon.MousePointer); + if (ImGui.IsItemHovered()) + { + ImGui.SetTooltip("Interact with your current target."); + } + if (num2) + { + ulong num3 = TargetSystem.Instance()->InteractWithObject((GameObject*)target.Address, checkLineOfSight: false); + _logger.LogDebug("Interaction Result: {Result}", num3); + } ImGui.EndDisabled(); } - static bool _202E_206E_206A_206E_200D_200D_200C_200C_206C_206F_206B_206C_206C_202E_206B_200F_206F_206A_200F_206E_202A_200C_200F_202E_202D_202C_206A_206B_206E_206F_202E_206B_206F_206C_200C_202C_202B_200B_202E_202E_202E(FontAwesomeIcon P_0) + private unsafe void DrawCopyButton(IGameObject target) { - return ImGuiComponents.IconButton(P_0); + GameObject* address = (GameObject*)target.Address; + bool num = ImGuiComponents.IconButton(FontAwesomeIcon.Copy); + if (ImGui.IsItemHovered()) + { + ImGui.SetTooltip("Left click: Copy target position as JSON.\nRight click: Copy target position as C# code."); + } + if (num) + { + if (target.ObjectKind == Dalamud.Game.ClientState.Objects.Enums.ObjectKind.GatheringPoint) + { + ImU8String clipboardText = new ImU8String(59, 4); + clipboardText.AppendLiteral("\"DataId\": "); + clipboardText.AppendFormatted(target.BaseId); + clipboardText.AppendLiteral(",\n\"Position\": {\n \"X\": "); + clipboardText.AppendFormatted(target.Position.X.ToString(CultureInfo.InvariantCulture)); + clipboardText.AppendLiteral(",\n \"Y\": "); + clipboardText.AppendFormatted(target.Position.Y.ToString(CultureInfo.InvariantCulture)); + clipboardText.AppendLiteral(",\n \"Z\": "); + clipboardText.AppendFormatted(target.Position.Z.ToString(CultureInfo.InvariantCulture)); + clipboardText.AppendLiteral("\n}"); + ImGui.SetClipboardText(clipboardText); + return; + } + string text; + switch (address->NamePlateIconId) + { + case 71201u: + case 71211u: + case 71221u: + case 71231u: + case 71341u: + case 71351u: + text = "AcceptQuest"; + break; + case 71202u: + case 71212u: + case 71222u: + case 71232u: + case 71342u: + case 71352u: + text = "AcceptQuest"; + break; + case 71205u: + case 71215u: + case 71225u: + case 71235u: + case 71345u: + case 71355u: + text = "CompleteQuest"; + break; + default: + text = "Interact"; + break; + } + string value = text; + ImU8String clipboardText2 = new ImU8String(99, 6); + clipboardText2.AppendLiteral("\"DataId\": "); + clipboardText2.AppendFormatted(target.BaseId); + clipboardText2.AppendLiteral(",\n\"Position\": {\n \"X\": "); + clipboardText2.AppendFormatted(target.Position.X.ToString(CultureInfo.InvariantCulture)); + clipboardText2.AppendLiteral(",\n \"Y\": "); + clipboardText2.AppendFormatted(target.Position.Y.ToString(CultureInfo.InvariantCulture)); + clipboardText2.AppendLiteral(",\n \"Z\": "); + clipboardText2.AppendFormatted(target.Position.Z.ToString(CultureInfo.InvariantCulture)); + clipboardText2.AppendLiteral("\n},\n\"TerritoryId\": "); + clipboardText2.AppendFormatted(_clientState.TerritoryType); + clipboardText2.AppendLiteral(",\n\"InteractionType\": \""); + clipboardText2.AppendFormatted(value); + clipboardText2.AppendLiteral("\""); + ImGui.SetClipboardText(clipboardText2); + } + else if (ImGui.IsItemClicked(ImGuiMouseButton.Right)) + { + if (target.ObjectKind == Dalamud.Game.ClientState.Objects.Enums.ObjectKind.Aetheryte) + { + EAetheryteLocation baseId = (EAetheryteLocation)target.BaseId; + IFormatProvider invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider = invariantCulture; + DefaultInterpolatedStringHandler handler = new DefaultInterpolatedStringHandler(36, 4, invariantCulture); + handler.AppendLiteral("{EAetheryteLocation."); + handler.AppendFormatted(baseId); + handler.AppendLiteral(", new("); + handler.AppendFormatted(target.Position.X); + handler.AppendLiteral("f, "); + handler.AppendFormatted(target.Position.Y); + handler.AppendLiteral("f, "); + handler.AppendFormatted(target.Position.Z); + handler.AppendLiteral("f)},"); + ImGui.SetClipboardText(string.Create(provider, ref handler)); + } + else + { + IFormatProvider invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider2 = invariantCulture; + DefaultInterpolatedStringHandler handler2 = new DefaultInterpolatedStringHandler(12, 3, invariantCulture); + handler2.AppendLiteral("new("); + handler2.AppendFormatted(target.Position.X); + handler2.AppendLiteral("f, "); + handler2.AppendFormatted(target.Position.Y); + handler2.AppendLiteral("f, "); + handler2.AppendFormatted(target.Position.Z); + handler2.AppendLiteral("f)"); + ImGui.SetClipboardText(string.Create(provider2, ref handler2)); + } + } } - static bool _200F_200E_200F_200D_202E_200D_202A_206E_206E_206D_200F_206C_200B_202E_206B_206D_206A_200C_202A_200F_200D_200B_206E_202A_200F_200D_202A_202E_206B_202C_202D_206C_200F_202B_202E_200F_206A_200C_206B_206F_202E() + private void DrawCopyButton() { - return ImGui.IsItemHovered(); - } - - static void _200D_200E_206D_206F_206C_202D_202B_202E_202A_206D_206C_200B_206A_206F_200F_206E_202C_200B_202C_200C_200C_206E_202E_200C_200D_206A_206C_200B_202C_202A_200D_206F_200F_206F_202A_202E_200D_200B_206B_202A_202E(ImU8String P_0) - { - ImGui.SetTooltip(P_0); - } - - static void _202D_200B_202E_202C_206D_206C_206A_202C_202A_200D_200D_202D_202E_200D_200C_206E_206A_206C_200B_200D_200D_202E_200E_200D_200E_206A_200E_206F_200F_206F_202C_200B_200D_206E_206D_206F_206C_200F_200D_202A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static void _206D_202A_206D_206F_206B_200D_202D_206B_206A_202E_202B_206D_202D_206E_202B_206C_202C_206B_202E_202A_200D_200E_200B_202A_200C_202D_206D_202D_200F_202A_202B_202A_200F_202B_200B_200B_202B_206A_202A_206A_202E(ImU8String P_0) - { - ImGui.SetClipboardText(P_0); - } - - static bool _202C_206A_206C_202D_206E_206B_202B_206B_200F_202E_206F_206D_202B_200E_202D_206D_206F_206E_202C_202B_202C_206F_206A_206D_200D_202B_202A_206D_206E_200C_202D_206D_206A_206A_206B_202B_200E_200E_202B_200D_202E(ImGuiMouseButton P_0) - { - return ImGui.IsItemClicked(P_0); + if (_objectTable.LocalPlayer != null) + { + bool num = ImGuiComponents.IconButton(FontAwesomeIcon.Copy); + if (ImGui.IsItemHovered()) + { + ImGui.SetTooltip("Left click: Copy your position as JSON.\nRight click: Copy your position as C# code."); + } + if (num) + { + ImU8String clipboardText = new ImU8String(87, 4); + clipboardText.AppendLiteral("\"Position\": {\n \"X\": "); + clipboardText.AppendFormatted(_objectTable.LocalPlayer.Position.X.ToString(CultureInfo.InvariantCulture)); + clipboardText.AppendLiteral(",\n \"Y\": "); + clipboardText.AppendFormatted(_objectTable.LocalPlayer.Position.Y.ToString(CultureInfo.InvariantCulture)); + clipboardText.AppendLiteral(",\n \"Z\": "); + clipboardText.AppendFormatted(_objectTable.LocalPlayer.Position.Z.ToString(CultureInfo.InvariantCulture)); + clipboardText.AppendLiteral("\n},\n\"TerritoryId\": "); + clipboardText.AppendFormatted(_clientState.TerritoryType); + clipboardText.AppendLiteral(",\n\"InteractionType\": \"\""); + ImGui.SetClipboardText(clipboardText); + } + else if (ImGui.IsItemClicked(ImGuiMouseButton.Right)) + { + Vector3 position = _objectTable.LocalPlayer.Position; + IFormatProvider invariantCulture = CultureInfo.InvariantCulture; + DefaultInterpolatedStringHandler handler = new DefaultInterpolatedStringHandler(12, 3, invariantCulture); + handler.AppendLiteral("new("); + handler.AppendFormatted(position.X); + handler.AppendLiteral("f, "); + handler.AppendFormatted(position.Y); + handler.AppendLiteral("f, "); + handler.AppendFormatted(position.Z); + handler.AppendLiteral("f)"); + ImGui.SetClipboardText(string.Create(invariantCulture, ref handler)); + } + } } } diff --git a/Questionable/Questionable.Windows.QuestComponents/EventInfoComponent.cs b/Questionable/Questionable.Windows.QuestComponents/EventInfoComponent.cs index d67b144..17b9d2a 100644 --- a/Questionable/Questionable.Windows.QuestComponents/EventInfoComponent.cs +++ b/Questionable/Questionable.Windows.QuestComponents/EventInfoComponent.cs @@ -1,11 +1,7 @@ using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Bindings.ImGui; using Dalamud.Interface; using Dalamud.Interface.Components; @@ -24,751 +20,7 @@ namespace Questionable.Windows.QuestComponents; internal sealed class EventInfoComponent { - private sealed record EventQuest(string Name, List QuestIds, DateTime EndsAtUtc, string? Patch) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206D_202C_200C_200F_206E_200B_206C_206F_202A_202A_200F_206F_206E_200B_200C_202B_200D_200F_200B_200C_206A_206C_206E_206F_202B_202A_206F_200B_200E_202C_200C_206F_206A_200E_200C_202B_200C_206A_200B_202E_202E(typeof(EventQuest).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200D_200E_206D_200C_200C_200E_206D_202C_200C_206F_200D_202E_200F_200C_200B_206A_200E_202E_200E_202B_202D_202E_206C_202B_206C_200B_206E_206D_200F_202B_202D_206B_202A_200B_206D_200C_200B_206B_202B_202B_202E(); - _206C_202A_206C_206B_200E_202D_202D_200C_200E_202E_206D_206F_200F_202D_202C_202D_200F_202E_200F_200F_206D_200D_206B_200F_202A_200E_206C_200D_202C_206E_202D_200D_202B_200D_200B_206F_200C_202A_206B_202D_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1998675563)); - _206C_202A_206C_206B_200E_202D_202D_200C_200E_202E_206D_206F_200F_202D_202C_202D_200F_202E_200F_200F_206D_200D_206B_200F_202A_200E_206C_200D_202C_206E_202D_200D_202B_200D_200B_206F_200C_202A_206B_202D_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1344697862)); - int num = ((!PrintMembers(stringBuilder)) ? (-678979591) : (-678979592)); - while (true) - { - int num2 = num; - int num3 = -678979591; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -678979592; - break; - case 0: - _200B_206F_206B_206E_200C_200D_202E_206B_202C_206A_206E_200D_202D_202A_200C_202B_202D_200C_202E_206E_200E_206E_206B_202B_206B_206B_200F_202D_206D_200F_200C_202C_206F_206A_206A_206F_202E_200B_206A_206A_202E(stringBuilder, '}'); - return _200F_206D_200F_206B_202A_206D_202E_202B_206F_202E_202C_206F_200B_206D_206C_206D_202D_206C_200E_206C_206E_206C_206E_200E_200E_200C_206E_200F_206C_202D_200B_206B_202D_202E_206A_200E_206C_200E_202C_202D_202E((object)stringBuilder); - case 1: - _200B_206F_206B_206E_200C_200D_202E_206B_202C_206A_206E_200D_202D_202A_200C_202B_202D_200C_202E_206E_200E_206E_206B_202B_206B_206B_200F_202D_206D_200F_200C_202C_206F_206A_206A_206F_202E_200B_206A_206A_202E(stringBuilder, ' '); - num = -678979591; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202A_206B_202B_206B_206F_200D_202A_206F_206D_202A_206E_206A_200D_206E_202C_206F_206D_200D_206C_200C_200D_200B_206F_202E_202A_202C_200C_202D_206B_202C_206E_206B_200C_200D_202E_200C_206D_200D_202A_206B_202E(); - _206C_202A_206C_206B_200E_202D_202D_200C_200E_202E_206D_206F_200F_202D_202C_202D_200F_202E_200F_200F_206D_200D_206B_200F_202A_200E_206C_200D_202C_206E_202D_200D_202B_200D_200B_206F_200C_202A_206B_202D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(868794944)); - _206B_206A_200D_200C_200F_202D_200C_206E_206B_202D_206A_206C_200E_206C_200B_200E_202E_206B_206A_206A_200B_206B_202B_200C_202B_200E_206D_206D_206B_206B_202B_206A_200F_202C_206D_206F_200B_206D_206C_206A_202E(builder, (object)Name); - _206C_202A_206C_206B_200E_202D_202D_200C_200E_202E_206D_206F_200F_202D_202C_202D_200F_202E_200F_200F_206D_200D_206B_200F_202A_200E_206C_200D_202C_206E_202D_200D_202B_200D_200B_206F_200C_202A_206B_202D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(206800257)); - _206B_206A_200D_200C_200F_202D_200C_206E_206B_202D_206A_206C_200E_206C_200B_200E_202E_206B_206A_206A_200B_206B_202B_200C_202B_200E_206D_206D_206B_206B_202B_206A_200F_202C_206D_206F_200B_206D_206C_206A_202E(builder, (object)QuestIds); - _206C_202A_206C_206B_200E_202D_202D_200C_200E_202E_206D_206F_200F_202D_202C_202D_200F_202E_200F_200F_206D_200D_206B_200F_202A_200E_206C_200D_202C_206E_202D_200D_202B_200D_200B_206F_200C_202A_206B_202D_202E(builder, 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(-263122042)); - _206C_202A_206C_206B_200E_202D_202D_200C_200E_202E_206D_206F_200F_202D_202C_202D_200F_202E_200F_200F_206D_200D_206B_200F_202A_200E_206C_200D_202C_206E_202D_200D_202B_200D_200B_206F_200C_202A_206B_202D_202E(builder, EndsAtUtc.ToString()); - _206C_202A_206C_206B_200E_202D_202D_200C_200E_202E_206D_206F_200F_202D_202C_202D_200F_202E_200F_200F_206D_200D_206B_200F_202A_200E_206C_200D_202C_206E_202D_200D_202B_200D_200B_206F_200C_202A_206B_202D_202E(builder, 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(1837383221)); - _206B_206A_200D_200C_200F_202D_200C_206E_206B_202D_206A_206C_200E_206C_200B_200E_202E_206B_206A_206A_200B_206B_202B_200C_202B_200E_206D_206D_206B_206B_202B_206A_200F_202C_206D_206F_200B_206D_206C_206A_202E(builder, (object)Patch); - return true; - } - - [CompilerGenerated] - public bool Equals(EventQuest? other) - { - int num = (((object)this == other) ? 943810149 : 943810156); - while (true) - { - int num2 = num; - int num3 = 943810148; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - num = 943810156; - break; - case 4: - return EqualityComparer.Default.Equals(Patch, other.Patch); - case 3: - num = ((!EqualityComparer.Default.Equals(EndsAtUtc, other.EndsAtUtc)) ? 943810145 : 943810144); - break; - case 2: - num = ((!EqualityComparer>.Default.Equals(QuestIds, other.QuestIds)) ? 943810145 : 943810151); - break; - case 7: - num = ((!_206A_200D_206A_202A_206E_202C_202C_200E_202B_200D_206B_206B_200D_200D_206C_202B_206A_202D_202B_206D_202C_200B_206A_206C_206D_206C_206E_202B_200F_206F_202E_202E_202D_206D_206D_206D_202A_200E_206A_206F_202E(EqualityContract, other.EqualityContract)) ? 943810145 : 943810148); - break; - case 5: - return false; - case 1: - return true; - case 8: - num = (((object)other == null) ? 943810145 : 943810147); - break; - case 0: - num = ((!EqualityComparer.Default.Equals(Name, other.Name)) ? 943810145 : 943810150); - break; - } - } - } - - bool IEquatable.Equals(EventQuest? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206D_202C_200C_200F_206E_200B_206C_206F_202A_202A_200F_206F_206E_200B_200C_202B_200D_200F_200B_200C_206A_206C_206E_206F_202B_202A_206F_200B_200E_202C_200C_206F_206A_200E_200C_202B_200C_206A_200B_202E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200D_200E_206D_200C_200C_200E_206D_202C_200C_206F_200D_202E_200F_200C_200B_206A_200E_202E_200E_202B_202D_202E_206C_202B_206C_200B_206E_206D_200F_202B_202D_206B_202A_200B_206D_200C_200B_206B_202B_202B_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206C_202A_206C_206B_200E_202D_202D_200C_200E_202E_206D_206F_200F_202D_202C_202D_200F_202E_200F_200F_206D_200D_206B_200F_202A_200E_206C_200D_202C_206E_202D_200D_202B_200D_200B_206F_200C_202A_206B_202D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200B_206F_206B_206E_200C_200D_202E_206B_202C_206A_206E_200D_202D_202A_200C_202B_202D_200C_202E_206E_200E_206E_206B_202B_206B_206B_200F_202D_206D_200F_200C_202C_206F_206A_206A_206F_202E_200B_206A_206A_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200F_206D_200F_206B_202A_206D_202E_202B_206F_202E_202C_206F_200B_206D_206C_206D_202D_206C_200E_206C_206E_206C_206E_200E_200E_200C_206E_200F_206C_202D_200B_206B_202D_202E_206A_200E_206C_200E_202C_202D_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202A_206B_202B_206B_206F_200D_202A_206F_206D_202A_206E_206A_200D_206E_202C_206F_206D_200D_206C_200C_200D_200B_206F_202E_202A_202C_200C_202D_206B_202C_206E_206B_200C_200D_202E_200C_206D_200D_202A_206B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206B_206A_200D_200C_200F_202D_200C_206E_206B_202D_206A_206C_200E_206C_200B_200E_202E_206B_206A_206A_200B_206B_202B_200C_202B_200E_206D_206D_206B_206B_202B_206A_200F_202C_206D_206F_200B_206D_206C_206A_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206A_200D_206A_202A_206E_202C_202C_200E_202B_200D_206B_206B_200D_200D_206C_202B_206A_202D_202B_206D_202C_200B_206A_206C_206D_206C_206E_202B_200F_206F_202E_202E_202D_206D_206D_206D_202A_200E_206A_206F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__21_2; - - public static Func _003C_003E9__21_3; - - public static Func _003C_003E9__21_4; - - public static Func _003C_003E9__21_5; - - public static Func _003C_003E9__24_0; - - public static Func _003C_003E9__24_1; - - public static Func _003C_003E9__28_1; - - public static Func _003C_003E9__28_2; - - public static Func _003C_003E9__28_3; - - internal DateTime _003CDraw_003Eb__21_2(IQuestInfo q) - { - DateTime? dateTime = (q as QuestInfo)?.SeasonalQuestExpiry; - int num = (dateTime.HasValue ? (-1099291127) : (-1099291121)); - DateTime? dateTime2 = default(DateTime?); - UnlockLinkQuestInfo unlockLinkQuestInfo = default(UnlockLinkQuestInfo); - while (true) - { - int num2 = num; - int num3 = -1099291124; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - DateTime? obj; - switch (num5 - (num6 + num6)) - { - case 1: - { - DateTime valueOrDefault = dateTime2.GetValueOrDefault(); - return NormalizeExpiry(valueOrDefault); - } - case 3: - unlockLinkQuestInfo = q as UnlockLinkQuestInfo; - num = ((unlockLinkQuestInfo != null) ? (-1099291126) : (-1099291122)); - break; - case 6: - obj = unlockLinkQuestInfo.QuestExpiry; - goto IL_00d6; - case 4: - return DateTime.MaxValue; - case 5: - obj = dateTime; - goto IL_00d6; - case 0: - num = -1099291121; - break; - case 2: - { - obj = null; - goto IL_00d6; - } - IL_00d6: - dateTime2 = obj; - num = ((!dateTime2.HasValue) ? (-1099291128) : (-1099291123)); - break; - } - } - } - - internal string _003CDraw_003Eb__21_3(IQuestInfo q) - { - return (q as UnlockLinkQuestInfo)?.Patch; - } - - internal bool _003CDraw_003Eb__21_4(string p) - { - return !_206C_206A_200D_206A_206B_200C_200B_202C_202C_202A_202B_200E_206E_202A_200E_202C_202A_202E_200C_202A_200D_206E_202C_200D_202B_202A_200F_206B_206B_206E_202E_200D_202E_200B_200B_200D_200E_202E_200C_200F_202E(p); - } - - internal ElementId _003CDraw_003Eb__21_5(IQuestInfo q) - { - return q.QuestId; - } - - internal bool _003CGetCurrentlyActiveEventQuests_003Eb__24_0(IQuestInfo q) - { - DateTime? dateTime = (q as QuestInfo)?.SeasonalQuestExpiry; - int num = ((!dateTime.HasValue) ? (-1628574967) : (-1628574968)); - UnlockLinkQuestInfo unlockLinkQuestInfo = default(UnlockLinkQuestInfo); - while (true) - { - int num2 = num; - int num3 = -1628574965; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - return true; - case 2: - unlockLinkQuestInfo = q as UnlockLinkQuestInfo; - num = ((unlockLinkQuestInfo == null) ? (-1628574966) : (-1628574962)); - break; - case 0: - { - DateTime valueOrDefault = dateTime.GetValueOrDefault(); - num = ((!(NormalizeExpiry(valueOrDefault) >= DateTime.UtcNow)) ? (-1628574966) : (-1628574963)); - break; - } - case 3: - { - DateTime valueOrDefault2 = dateTime.GetValueOrDefault(); - num = ((!(NormalizeExpiry(valueOrDefault2) >= DateTime.UtcNow)) ? (-1628574967) : (-1628574964)); - break; - } - case 1: - return false; - case 7: - return true; - case 4: - num = -1628574968; - break; - case 5: - dateTime = unlockLinkQuestInfo.QuestExpiry; - num = ((!dateTime.HasValue) ? (-1628574966) : (-1628574965)); - break; - } - } - } - - internal ElementId _003CGetCurrentlyActiveEventQuests_003Eb__24_1(IQuestInfo q) - { - return q.QuestId; - } - - internal DateTime _003CUpdateCacheIfNeeded_003Eb__28_1(IQuestInfo q) - { - DateTime? dateTime = (q as QuestInfo)?.SeasonalQuestExpiry; - int num = (dateTime.HasValue ? (-968246671) : (-968246666)); - DateTime? dateTime2 = default(DateTime?); - UnlockLinkQuestInfo unlockLinkQuestInfo = default(UnlockLinkQuestInfo); - while (true) - { - int num2 = num; - int num3 = -968246665; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - DateTime? obj; - switch (num5 - (num6 + num6)) - { - case 5: - num = -968246666; - break; - case 6: - obj = dateTime; - goto IL_0091; - case 2: - return DateTime.MaxValue; - case 4: - { - DateTime valueOrDefault = dateTime2.GetValueOrDefault(); - return NormalizeExpiry(valueOrDefault); - } - case 1: - unlockLinkQuestInfo = q as UnlockLinkQuestInfo; - num = ((unlockLinkQuestInfo != null) ? (-968246668) : (-968246665)); - break; - case 3: - obj = unlockLinkQuestInfo.QuestExpiry; - goto IL_0091; - case 0: - { - obj = null; - goto IL_0091; - } - IL_0091: - dateTime2 = obj; - num = ((!dateTime2.HasValue) ? (-968246667) : (-968246669)); - break; - } - } - } - - internal string _003CUpdateCacheIfNeeded_003Eb__28_2(IQuestInfo q) - { - return (q as UnlockLinkQuestInfo)?.Patch; - } - - internal bool _003CUpdateCacheIfNeeded_003Eb__28_3(string p) - { - return !_206C_206A_200D_206A_206B_200C_200B_202C_202C_202A_202B_200E_206E_202A_200E_202C_202A_202E_200C_202A_200D_206E_202C_200D_202B_202A_200F_206B_206B_206E_202E_200D_202E_200B_200B_200D_200E_202E_200C_200F_202E(p); - } - - static bool _206C_206A_200D_206A_206B_200C_200B_202C_202C_202A_202B_200E_206E_202A_200E_202C_202A_202E_200C_202A_200D_206E_202C_200D_202B_202A_200F_206B_206B_206E_202E_200D_202E_200B_200B_200D_200E_202E_200C_200F_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - } - - [CompilerGenerated] - private sealed class _003CGetActiveSeasonalQuestsNoCache_003Ed__27 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable - { - private int _003C_003E1__state; - - private IQuestInfo _003C_003E2__current; - - private int _003C_003El__initialThreadId; - - public EventInfoComponent _003C_003E4__this; - - private IEnumerator _003C_003E7__wrap1; - - IQuestInfo IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - object IEnumerator.Current - { - [DebuggerHidden] - get - { - return _003C_003E2__current; - } - } - - [DebuggerHidden] - public _003CGetActiveSeasonalQuestsNoCache_003Ed__27(int _003C_003E1__state) - { - this._003C_003E1__state = _003C_003E1__state; - _003C_003El__initialThreadId = _200E_200C_202A_206E_200E_202A_202C_202B_202B_206E_202C_200C_206E_202E_200C_200F_202B_202D_206D_206A_206D_202E_206A_200C_200F_206C_202E_206E_206B_202A_202D_200C_200E_206B_202D_202E_202C_200C_202D_202D_202E(); - } - - [DebuggerHidden] - void IDisposable.Dispose() - { - int num = _003C_003E1__state; - int num2 = ((num == -3) ? 1245844464 : 1245844467); - while (true) - { - int num3 = num2; - int num4 = 1245844466; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - default: - continue; - case 0: - num2 = 1245844467; - continue; - case 1: - num4 = 1; - num5 = num; - if ((uint)(~(~num5 + num4)) <= 3u) - { - num2 = 1245844464; - continue; - } - break; - case 2: - try - { - } - finally - { - _003C_003Em__Finally1(); - } - break; - } - break; - } - _003C_003E7__wrap1 = null; - _003C_003E1__state = -2; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private bool MoveNext() - { - try - { - int num = _003C_003E1__state; - EventInfoComponent eventInfoComponent = _003C_003E4__this; - int num2; - IQuestInfo questInfo = default(IQuestInfo); - DateTime dateTime = default(DateTime); - Questionable.Model.Quest quest = default(Questionable.Model.Quest); - ElementId current = default(ElementId); - DateTime? dateTime2 = default(DateTime?); - QuestInfo questInfo2 = default(QuestInfo); - UnlockLinkQuestInfo unlockLinkQuestInfo = default(UnlockLinkQuestInfo); - switch (num) - { - default: - num2 = -910534625; - goto IL_0034; - case 0: - { - _003C_003E1__state = -1; - IEnumerable allQuestIds = eventInfoComponent._questRegistry.GetAllQuestIds(); - _003C_003E7__wrap1 = allQuestIds.GetEnumerator(); - _003C_003E1__state = -3; - num2 = -910534647; - goto IL_0034; - } - case 4: - goto IL_0250; - case 2: - goto IL_02a4; - case 3: - goto IL_0373; - case 1: - goto IL_0387; - IL_0034: - while (true) - { - int num3 = num2; - int num4 = -910534626; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 21: - goto IL_00c8; - case 15: - goto IL_00ff; - case 6: - goto IL_0123; - case 12: - _202C_200F_200D_202E_202C_200C_206C_200D_200E_206A_206D_206A_206B_202B_202B_202A_200E_202D_206D_202B_206B_202A_200F_200D_202B_206D_200F_200C_200F_202E_202B_200E_206B_206F_206E_202A_206F_202B_200D_206B_202E((ILogger)eventInfoComponent._logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(553552971), new object[3] { questInfo.QuestId, questInfo.Name, dateTime }); - num2 = -910534647; - break; - case 17: - goto end_IL_0034; - case 24: - _003C_003E2__current = questInfo; - _003C_003E1__state = 4; - return true; - case 14: - goto IL_01f8; - case 5: - goto IL_0220; - case 18: - goto IL_0250; - case 16: - goto IL_0264; - case 1: - return false; - case 4: - goto IL_02a4; - case 2: - _003C_003E2__current = questInfo; - _003C_003E1__state = 2; - return true; - case 25: - questInfo = quest.Info; - num2 = -910534629; - break; - case 23: - goto IL_02ef; - case 22: - goto IL_0317; - case 27: - goto IL_0344; - case 19: - goto IL_0373; - case 0: - goto IL_0387; - case 8: - num2 = -910534625; - break; - case 28: - goto IL_03a7; - case 11: - _202C_200F_200D_202E_202C_200C_206C_200D_200E_206A_206D_206A_206B_202B_202B_202A_200E_202D_206D_202B_206B_202A_200F_200D_202B_206D_200F_200C_200F_202E_202B_200E_206B_206F_206E_202A_206F_202B_200D_206B_202E((ILogger)eventInfoComponent._logger, 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(-92370415), new object[1] { current }); - num2 = -910534647; - break; - case 13: - _003C_003E2__current = questInfo; - _003C_003E1__state = 1; - return true; - case 7: - goto IL_0422; - case 20: - goto IL_044a; - case 9: - _003C_003E2__current = questInfo; - _003C_003E1__state = 3; - return true; - case 26: - goto IL_04a5; - case 3: - goto IL_04d1; - case 10: - _003C_003Em__Finally1(); - _003C_003E7__wrap1 = null; - return false; - } - continue; - IL_04d1: - num2 = ((!eventInfoComponent._alreadyLoggedActiveSeasonalSkip.Add(_206B_200E_200E_202A_202E_206E_200E_206E_200E_206C_206D_202B_200F_202B_206B_200D_200F_200B_200B_202A_202A_206F_206F_206B_206B_202A_200F_202D_202E_200F_206E_200E_206D_206C_206F_206F_206B_200C_200C_202B_202E(questInfo.QuestId))) ? (-910534647) : (-910534638)); - continue; - IL_0123: - DateTime valueOrDefault = dateTime2.GetValueOrDefault(); - dateTime = NormalizeExpiry(valueOrDefault); - num2 = ((!(dateTime > DateTime.UtcNow)) ? (-910534627) : (-910534637)); - continue; - IL_0344: - num2 = ((!eventInfoComponent._alreadyLoggedActiveSeasonalSkip.Add(_206B_200E_200E_202A_202E_206E_200E_206E_200E_206C_206D_202B_200F_202B_206B_200D_200F_200B_200B_202A_202A_206F_206F_206B_206B_202A_200F_202D_202E_200F_206E_200E_206D_206C_206F_206F_206B_200C_200C_202B_202E(current))) ? (-910534647) : (-910534635)); - continue; - IL_04a5: - num2 = ((!eventInfoComponent._questRegistry.TryGetQuest(current, out quest)) ? (-910534651) : (-910534649)); - continue; - IL_0264: - dateTime2 = questInfo2.SeasonalQuestExpiry; - num2 = (dateTime2.HasValue ? (-910534647) : (-910534650)); - continue; - IL_01f8: - questInfo2 = questInfo as QuestInfo; - num2 = ((questInfo2 == null) ? (-910534647) : (-910534654)); - continue; - IL_044a: - current = _003C_003E7__wrap1.Current; - num2 = (eventInfoComponent._questData.TryGetQuestInfo(current, out questInfo) ? (-910534629) : (-910534652)); - continue; - IL_0317: - dateTime2 = unlockLinkQuestInfo.QuestExpiry; - num2 = ((!dateTime2.HasValue) ? (-910534628) : (-910534632)); - continue; - IL_00ff: - num2 = ((!questInfo2.IsSeasonalQuest) ? (-910534647) : (-910534642)); - continue; - IL_0422: - unlockLinkQuestInfo = questInfo as UnlockLinkQuestInfo; - num2 = ((unlockLinkQuestInfo == null) ? (-910534640) : (-910534648)); - continue; - IL_0220: - num2 = (eventInfoComponent._questFunctions.IsQuestUnobtainable(questInfo.QuestId) ? (-910534647) : (-910534631)); - continue; - IL_02ef: - num2 = (_206F_202B_206F_206B_206A_206B_202E_200B_202B_200C_206A_202B_202D_202E_200C_206D_200E_200E_200F_206F_200D_206C_200C_200F_206D_200E_206D_200C_202D_202B_206C_202B_200E_206C_200B_200B_200B_206D_206F_200D_202E((IEnumerator)_003C_003E7__wrap1) ? (-910534646) : (-910534636)); - continue; - IL_03a7: - dateTime2 = questInfo2.SeasonalQuestExpiry; - num2 = ((!dateTime2.HasValue) ? (-910534639) : (-910534645)); - continue; - IL_00c8: - DateTime valueOrDefault2 = dateTime2.GetValueOrDefault(); - num2 = ((!(NormalizeExpiry(valueOrDefault2) > DateTime.UtcNow)) ? (-910534647) : (-910534633)); - continue; - end_IL_0034: - break; - } - goto case 0; - IL_0387: - _003C_003E1__state = -3; - num2 = -910534647; - goto IL_0034; - IL_0373: - _003C_003E1__state = -3; - num2 = -910534647; - goto IL_0034; - IL_02a4: - _003C_003E1__state = -3; - num2 = -910534647; - goto IL_0034; - IL_0250: - _003C_003E1__state = -3; - num2 = -910534647; - goto IL_0034; - } - } - catch - { - //try-fault - ((IDisposable)this).Dispose(); - throw; - } - } - - bool IEnumerator.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - return this.MoveNext(); - } - - private void _003C_003Em__Finally1() - { - _003C_003E1__state = -1; - int num = ((_003C_003E7__wrap1 == null) ? 92311819 : 92311816); - while (true) - { - int num2 = num; - int num3 = 92311818; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 92311816; - break; - case 2: - _206C_202A_200B_202D_206F_206E_206A_202B_202C_200E_200F_206B_200E_202D_202C_200E_202E_200D_206C_202E_202E_206C_206C_202E_200C_202B_206A_200B_200C_202D_206A_206A_206C_200B_202E_206D_206E_200B_206D_200C_202E((IDisposable)_003C_003E7__wrap1); - num = 92311819; - break; - case 1: - return; - } - } - } - - [DebuggerHidden] - void IEnumerator.Reset() - { - throw _206C_206D_206F_200F_206D_202A_200E_200E_206D_200C_206E_200D_200F_206D_200E_200D_200B_200D_206D_200E_206E_206C_206F_202A_206C_200E_200F_206E_202E_200E_206A_206B_200F_200C_202C_206B_200D_206E_202E_206B_202E(); - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - int num = ((_003C_003E1__state != -2) ? (-673075660) : (-673075657)); - _003CGetActiveSeasonalQuestsNoCache_003Ed__27 result = default(_003CGetActiveSeasonalQuestsNoCache_003Ed__27); - while (true) - { - int num2 = num; - int num3 = -673075658; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - _003C_003E1__state = 0; - result = this; - num = -673075659; - break; - case 3: - return result; - case 0: - num = -673075657; - break; - case 1: - num = ((_003C_003El__initialThreadId != _200E_200C_202A_206E_200E_202A_202C_202B_202B_206E_202C_200C_206E_202E_200C_200F_202B_202D_206D_206A_206D_202E_206A_200C_200F_206C_202E_206E_206B_202A_202D_200C_200E_206B_202D_202E_202C_200C_202D_202D_202E()) ? (-673075660) : (-673075662)); - break; - case 2: - result = new _003CGetActiveSeasonalQuestsNoCache_003Ed__27(0) - { - _003C_003E4__this = _003C_003E4__this - }; - num = -673075659; - break; - } - } - } - - [DebuggerHidden] - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)this).GetEnumerator(); - } - - static int _200E_200C_202A_206E_200E_202A_202C_202B_202B_206E_202C_200C_206E_202E_200C_200F_202B_202D_206D_206A_206D_202E_206A_200C_200F_206C_202E_206E_206B_202A_202D_200C_200E_206B_202D_202E_202C_200C_202D_202D_202E() - { - return Environment.CurrentManagedThreadId; - } - - static ushort _206B_200E_200E_202A_202E_206E_200E_206E_200E_206C_206D_202B_200F_202B_206B_200D_200F_200B_200B_202A_202A_206F_206F_206B_206B_202A_200F_202D_202E_200F_206E_200E_206D_206C_206F_206F_206B_200C_200C_202B_202E(ElementId P_0) - { - return P_0.Value; - } - - static void _202C_200F_200D_202E_202C_200C_206C_200D_200E_206A_206D_206A_206B_202B_202B_202A_200E_202D_206D_202B_206B_202A_200F_200D_202B_206D_200F_200C_200F_202E_202B_200E_206B_206F_206E_202A_206F_202B_200D_206B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _206F_202B_206F_206B_206A_206B_202E_200B_202B_200C_206A_202B_202D_202E_200C_206D_200E_200E_200F_206F_200D_206C_200C_200F_206D_200E_206D_200C_202D_202B_206C_202B_200E_206C_200B_200B_200B_206D_206F_200D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206C_202A_200B_202D_206F_206E_206A_202B_202C_200E_200F_206B_200E_202D_202C_200E_202E_200D_206C_202E_202E_206C_206C_202E_200C_202B_206A_200B_200C_202D_206A_206A_206C_200B_202E_206D_206E_200B_206D_200C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static NotSupportedException _206C_206D_206F_200F_206D_202A_200E_200E_206D_200C_206E_200D_200F_206D_200E_200D_200B_200D_206D_200E_206E_206C_206F_202A_206C_200E_200F_206E_202E_200E_206A_206B_200F_200C_202C_206B_200D_206E_202E_206B_202E() - { - return new NotSupportedException(); - } - } + private sealed record EventQuest(string Name, List QuestIds, DateTime EndsAtUtc, string? Patch); private readonly QuestData _questData; @@ -810,30 +62,15 @@ internal sealed class EventInfoComponent { get { - int num = (_configuration.General.ShowIncompleteSeasonalEvents ? (-922541968) : (-922541965)); - while (true) + if (!_configuration.General.ShowIncompleteSeasonalEvents) { - int num2 = num; - int num3 = -922541966; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0050; - case 2: - UpdateCacheIfNeeded(); - return _cachedActiveSeasonalQuests.Any((IQuestInfo q) => !_questFunctions.IsQuestComplete(q.QuestId)); - case 1: - return false; - } - continue; - IL_0050: - num = -922541965; + return false; } + UpdateCacheIfNeeded(); + return _cachedActiveSeasonalQuests.Any((IQuestInfo q) => !_questFunctions.IsQuestComplete(q.QuestId)); } } - [MethodImpl(MethodImplOptions.NoInlining)] public EventInfoComponent(QuestData questData, QuestRegistry questRegistry, QuestFunctions questFunctions, UiUtils uiUtils, QuestController questController, FateController fateController, SeasonalDutyController seasonalDutyController, CustomDeliveryController customDeliveryController, AttunementController attunementController, QuestTooltipComponent questTooltipComponent, Configuration configuration, IDataManager dataManager, JournalData journalData, ILogger logger) { _questData = questData; @@ -849,507 +86,140 @@ internal sealed class EventInfoComponent _configuration = configuration; _dataManager = dataManager; _journalData = journalData; - _logger = logger ?? throw _202A_206F_200B_202A_206A_206E_200F_202C_206E_206E_202B_200D_200E_200D_200F_202E_202D_206D_200D_206A_200F_200E_206D_200B_200C_200E_206E_206B_200F_206A_206C_202A_200C_206E_206F_200E_206C_202E_202D_206D_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(449817736)); + _logger = logger ?? throw new ArgumentNullException("logger"); } - [MethodImpl(MethodImplOptions.NoInlining)] public void Draw() { UpdateCacheIfNeeded(); var (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); - UiThemeUtils.SectionHeader(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-212176951)); - IEnumerator> enumerator = _cachedActiveSeasonalQuests.GroupBy([MethodImpl(MethodImplOptions.NoInlining)] (IQuestInfo q) => + UiThemeUtils.SectionHeader("Events"); + foreach (IGrouping item in _cachedActiveSeasonalQuests.GroupBy(delegate(IQuestInfo q) { - int num6 = ((!(q.QuestId is UnlockLinkId)) ? (-2142227645) : (-2142227641)); - string folderName = default(string); - while (true) + if (q.QuestId is UnlockLinkId) { - int num7 = num6; - int num8 = -2142227647; - int num9 = num7; - switch ((num9 | num8) - (num9 & num8)) - { - case 0: - return q.Name; - case 2: - num6 = ((!_questRegistry.TryGetQuestFolderName(q.QuestId, out folderName)) ? (-2142227648) : (-2142227644)); - break; - case 3: - return folderName; - case 1: - num6 = ((!q.JournalGenre.HasValue) ? (-2142227647) : (-2142227643)); - break; - case 6: - return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1279184171); - case 7: - num6 = -2142227641; - break; - case 4: - return GetJournalGenreName(q.JournalGenre.Value); - case 5: - num6 = (_206E_206D_200E_206A_206F_200E_202E_206F_206C_202E_200B_202D_200C_206B_202A_206D_200B_202B_200F_200C_200F_200E_200E_200F_202E_200E_200C_202D_202E_206D_202C_202C_200F_206D_202B_200D_206A_202C_206B_202B_202E(folderName) ? (-2142227648) : (-2142227646)); - break; - } + return "Limited Unlocks"; } - }).GetEnumerator(); - try - { - int num = 1269360380; - List list = default(List); - IGrouping current = default(IGrouping); - DateTime endsAtUtc = default(DateTime); - while (true) + if (_questRegistry.TryGetQuestFolderName(q.QuestId, out string folderName) && !string.IsNullOrEmpty(folderName)) + { + return folderName; + } + return q.JournalGenre.HasValue ? GetJournalGenreName(q.JournalGenre.Value) : q.Name; + })) + { + if (item.All((IQuestInfo q) => _questFunctions.IsQuestComplete(q.QuestId))) { - int num2 = num; - int num3 = 1269360381; - int num4 = num2; - object obj; - string patch; - EventQuest eventQuest; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = 1269360380; - break; - case 4: - obj = list[0]; - goto IL_00a7; - case 1: - num = (_202B_206A_202B_206E_202C_206B_200D_202D_200B_202D_206B_202C_202C_200B_206D_200B_200F_202A_202C_200D_206C_202C_200D_200D_206E_206A_206B_206A_200B_206B_206B_200E_202B_202C_206A_206B_200D_200E_202C_200C_202E((IEnumerator)enumerator) ? 1269360383 : 1269360379); - break; - case 2: - current = enumerator.Current; - num = (current.All((IQuestInfo q) => _questFunctions.IsQuestComplete(q.QuestId)) ? 1269360380 : 1269360376); - break; - case 5: - endsAtUtc = current.Select(delegate(IQuestInfo q) - { - DateTime? dateTime = (q as QuestInfo)?.SeasonalQuestExpiry; - int num6 = (dateTime.HasValue ? (-1099291127) : (-1099291121)); - DateTime? dateTime2 = default(DateTime?); - UnlockLinkQuestInfo unlockLinkQuestInfo = default(UnlockLinkQuestInfo); - while (true) - { - int num7 = num6; - int num8 = -1099291124; - int num9 = num7; - int num10 = num9 + num8; - int num11 = num9 & num8; - DateTime? obj2; - switch (num10 - (num11 + num11)) - { - case 1: - { - DateTime valueOrDefault = dateTime2.GetValueOrDefault(); - return NormalizeExpiry(valueOrDefault); - } - case 3: - unlockLinkQuestInfo = q as UnlockLinkQuestInfo; - num6 = ((unlockLinkQuestInfo != null) ? (-1099291126) : (-1099291122)); - break; - case 6: - obj2 = unlockLinkQuestInfo.QuestExpiry; - goto IL_00d6; - case 4: - return DateTime.MaxValue; - case 5: - obj2 = dateTime; - goto IL_00d6; - case 0: - num6 = -1099291121; - break; - case 2: - { - obj2 = null; - goto IL_00d6; - } - IL_00d6: - dateTime2 = obj2; - num6 = ((!dateTime2.HasValue) ? (-1099291128) : (-1099291123)); - break; - } - } - }).DefaultIfEmpty(DateTime.MaxValue).Min(); - list = (from q in current - select (q as UnlockLinkQuestInfo)?.Patch into p - where !_003C_003Ec._206C_206A_200D_206A_206B_200C_200B_202C_202C_202A_202B_200E_206E_202A_200E_202C_202A_202E_200C_202A_200D_206E_202C_200D_202B_202A_200F_206B_206B_206E_202E_200D_202E_200B_200B_200D_200E_202E_200C_200F_202E(p) - select p).Distinct().ToList(); - num = ((list.Count == 1) ? 1269360377 : 1269360381); - break; - case 0: - obj = null; - goto IL_00a7; - case 6: - goto end_IL_0057; - IL_00a7: - patch = (string)obj; - eventQuest = new EventQuest(current.Key, current.Select((IQuestInfo q) => q.QuestId).ToList(), endsAtUtc, patch); - DrawEventQuest(eventQuest); - num = 1269360380; - break; - } continue; - end_IL_0057: - break; } - } - finally - { - int num = ((enumerator == null) ? (-1205956058) : (-1205956059)); - while (true) + DateTime endsAtUtc = item.Select(delegate(IQuestInfo q) { - int num5 = num; - int num3 = -1205956057; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) + DateTime? dateTime = (q as QuestInfo)?.SeasonalQuestExpiry ?? ((q is UnlockLinkQuestInfo unlockLinkQuestInfo) ? unlockLinkQuestInfo.QuestExpiry : ((DateTime?)null)); + if (dateTime.HasValue) { - case 1: - goto end_IL_0248; - case 2: - _200B_202A_200F_202A_202C_200C_202C_202A_202D_200D_206E_200B_202B_200F_200F_206C_202C_200E_206B_200D_206D_200F_200D_200D_200C_202A_202C_202A_206B_200F_200F_202D_202B_206C_200B_206C_200B_200B_200E_206E_202E((IDisposable)enumerator); - num = -1205956058; - break; - case 0: - num = -1205956059; - break; + DateTime valueOrDefault = dateTime.GetValueOrDefault(); + return NormalizeExpiry(valueOrDefault); } - continue; - end_IL_0248: - break; - } + return DateTime.MaxValue; + }).DefaultIfEmpty(DateTime.MaxValue).Min(); + List list = (from q in item + select (q as UnlockLinkQuestInfo)?.Patch into p + where !string.IsNullOrEmpty(p) + select p).Distinct().ToList(); + string patch = ((list.Count == 1) ? list[0] : null); + EventQuest eventQuest = new EventQuest(item.Key, item.Select((IQuestInfo q) => q.QuestId).ToList(), endsAtUtc, patch); + DrawEventQuest(eventQuest); } UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); } - [MethodImpl(MethodImplOptions.NoInlining)] private string GetJournalGenreName(uint journalGenreId) { try { JournalGenre row = _dataManager.GetExcelSheet().GetRow(journalGenreId); - int num = (row.Equals(default(JournalGenre)) ? (-948662388) : (-948662385)); - while (true) + if (!row.Equals(default(JournalGenre))) { - int num2 = num; - int num3 = -948662386; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0082; - case 1: - return row.Name.ExtractText(); - case 2: - goto end_IL_0054; - } - continue; - IL_0082: - num = -948662385; - continue; - end_IL_0054: - break; + return row.Name.ExtractText(); } } - catch (Exception ex) + catch (Exception exception) { - _206C_206F_206C_200E_202B_206C_206E_206E_200B_202E_206C_200C_206A_206D_200F_200D_202A_206C_206A_206C_206D_202C_206F_206B_206D_206A_202A_200C_206C_206B_206A_206E_206C_206E_202B_200B_200E_206C_206E_202D_202E((ILogger)_logger, ex, 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(410054811), new object[1] { journalGenreId }); + _logger.LogWarning(exception, "Failed to get journal genre name for id {JournalGenreId}", journalGenreId); } - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(6, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-788724988)); - defaultInterpolatedStringHandler.AppendFormatted(journalGenreId); - return defaultInterpolatedStringHandler.ToStringAndClear(); + return $"Event {journalGenreId}"; } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawEventQuest(EventQuest eventQuest) { string text = eventQuest.Name; - int num = (_206E_206D_200E_206A_206F_200E_202E_206F_206C_202E_200B_202D_200C_206B_202A_206D_200B_202B_200F_200C_200F_200E_200E_200F_202E_200E_200C_202D_202E_206D_202C_202C_200F_206D_202B_200D_206A_202C_206B_202B_202E(eventQuest.Patch) ? (-1061868039) : (-1061868033)); - string text3 = default(string); - TimeSpan timeSpan = default(TimeSpan); - Questionable.Model.Quest quest = default(Questionable.Model.Quest); - while (true) + if (!string.IsNullOrEmpty(eventQuest.Patch)) { - int num2 = num; - int num3 = -1061868034; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + text = text + " [" + eventQuest.Patch + "]"; + } + if (eventQuest.EndsAtUtc != DateTime.MaxValue) + { + TimeSpan timeSpan = eventQuest.EndsAtUtc - DateTime.UtcNow; + if (timeSpan < TimeSpan.Zero) { - case 6: - num = -1061868033; - break; - case 8: - _202C_206C_202A_206C_202A_206F_202A_200B_200C_200F_206B_200C_206F_202C_202A_202B_200B_206B_202C_206E_202D_200F_200B_206F_206B_202B_200B_200C_206E_200D_206E_202B_206B_202E_206B_200C_206B_200B_200B_200E_202E((ImU8String)text3); - num = -1061868034; - break; - case 7: - num = ((!(eventQuest.EndsAtUtc != DateTime.MaxValue)) ? (-1061868035) : (-1061868038)); - break; - case 5: timeSpan = TimeSpan.Zero; - num = -1061868036; - break; - case 1: - text = _200B_200B_206F_200E_200B_206F_200D_202E_202B_202E_200D_202C_206D_202C_202D_200B_200C_202C_206E_206C_202E_202E_206C_202E_200C_200C_206B_200F_200E_206D_206C_200E_206E_200C_206D_206B_200B_206F_206B_202B_202E(text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-949471360), eventQuest.Patch, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-25878066)); - num = -1061868039; - break; - case 2: - { - string text2 = FormatRemainingDays(timeSpan); - text3 = FormatRemainingFull(timeSpan); - UiThemeUtils.WrappedText(_200B_200B_206F_200E_200B_206F_200D_202E_202B_202E_200D_202C_206D_202C_202D_200B_200C_202C_206E_206C_202E_202E_206C_202E_200C_200C_206B_200F_200E_206D_206C_200E_206E_200C_206D_206B_200B_206F_206B_202B_202E(text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1495931675), text2, 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(444206578))); - num = ((!_206E_202A_202D_200C_200B_202D_206A_200E_200C_200C_200F_200F_200D_206A_206C_200C_202A_202B_202E_206D_206B_200E_206E_202A_200F_206C_200F_202A_200E_206B_206A_206C_202E_200E_200E_206F_202E_200F_202A_200D_202E()) ? (-1061868034) : (-1061868042)); - break; } - case 4: - timeSpan = eventQuest.EndsAtUtc - DateTime.UtcNow; - num = ((!(timeSpan < TimeSpan.Zero)) ? (-1061868036) : (-1061868037)); - break; - case 3: - UiThemeUtils.WrappedText(text); - num = -1061868034; - break; - case 0: + string text2 = FormatRemainingDays(timeSpan); + string text3 = FormatRemainingFull(timeSpan); + UiThemeUtils.WrappedText(text + " (" + text2 + ")"); + if (ImGui.IsItemHovered()) { - List list = eventQuest.QuestIds.Where(delegate(ElementId x) + ImGui.SetTooltip(text3); + } + } + else + { + UiThemeUtils.WrappedText(text); + } + List list = eventQuest.QuestIds.Where((ElementId x) => _questRegistry.IsKnownQuest(x) && _questFunctions.IsReadyToAcceptQuest(x) && x != _questController.StartedQuest?.Quest.Id && x != _questController.NextQuest?.Quest.Id).ToList(); + foreach (ElementId questId in eventQuest.QuestIds) + { + if (_questFunctions.IsQuestComplete(questId)) + { + continue; + } + ImU8String id = new ImU8String(21, 1); + id.AppendLiteral("##EventQuestSelection"); + id.AppendFormatted(questId); + using (ImRaii.PushId(id)) + { + string name = _questData.GetQuestInfo(questId).Name; + if (list.Contains(questId) && _questRegistry.TryGetQuest(questId, out Questionable.Model.Quest quest)) { - int num22 = ((!_questRegistry.IsKnownQuest(x)) ? 517113328 : 517113333); - while (true) + using (ImRaii.Disabled(_questController.IsRunning || _fateController.IsRunning || _seasonalDutyController.IsRunning || _customDeliveryController.IsRunning || _attunementController.IsRunning)) { - int num23 = num22; - int num24 = 517113329; - int num25 = num23; - switch ((num25 | num24) - (num25 & num24)) + if (ImGuiComponents.IconButton(FontAwesomeIcon.Play)) { - case 1: - return false; - case 0: - num22 = ((!_202A_200E_200B_206C_200C_200C_202A_200D_206B_200F_202E_202E_202E_200D_206F_206D_206D_206B_202C_200D_200D_202C_202D_206A_206F_206F_200C_202E_200E_206D_200F_206A_206E_200B_206C_202A_206C_202A_202D_206B_202E(x, _questController.StartedQuest?.Quest.Id)) ? 517113328 : 517113330); - break; - case 4: - num22 = ((!_questFunctions.IsReadyToAcceptQuest(x)) ? 517113328 : 517113329); - break; - case 2: - num22 = 517113333; - break; - case 3: - return _202A_200E_200B_206C_200C_200C_202A_200D_206B_200F_202E_202E_202E_200D_206F_206D_206D_206B_202C_200D_200D_202C_202D_206A_206F_206F_200C_202E_200E_206D_200F_206A_206E_200B_206C_202A_206C_202A_202D_206B_202E(x, _questController.NextQuest?.Quest.Id); + _fateController.Stop("Seasonal event start"); + _seasonalDutyController.Stop("Seasonal event start"); + _customDeliveryController.Stop("Seasonal event start"); + _attunementController.Stop("Seasonal event start"); + _questController.SetNextQuest(quest); + _questController.Start("SeasonalEventSelection"); } } - }).ToList(); - { - foreach (ElementId questId in eventQuest.QuestIds) + bool num = ImGui.IsItemHovered(); + ImGui.SameLine(); + ImGui.AlignTextToFramePadding(); + UiThemeUtils.WrappedText(name); + if (num | ImGui.IsItemHovered()) { - if (_questFunctions.IsQuestComplete(questId)) - { - continue; - } - ImU8String imU8String = new ImU8String(21, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2110141082)); - imU8String.AppendFormatted(questId); - ImRaii.IdDisposable idDisposable = _202C_200D_200E_206F_206A_206A_202C_200D_206E_206A_206C_202E_206A_200F_200D_202D_202E_206C_200D_206B_202B_200C_200D_200E_202B_206C_200F_200B_200B_200D_202B_200E_200E_202E_202D_202D_206A_206F_200D_206C_202E(imU8String, true); - try - { - string name = _questData.GetQuestInfo(questId).Name; - if (list.Contains(questId)) - { - num = 580891172; - while (true) - { - int num7 = num; - num3 = 580891175; - num4 = num7; - int num8; - ImRaii.DisabledDisposable disabledDisposable; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0286; - case 7: - num8 = (_attunementController.IsRunning ? 1 : 0); - goto IL_036f; - case 6: - goto IL_02ca; - case 0: - num = 580891172; - break; - case 4: - goto IL_02fe; - case 1: - goto IL_0326; - case 3: - goto IL_034e; - case 5: - { - num8 = 1; - goto IL_036f; - } - IL_036f: - disabledDisposable = _202B_200E_206D_206C_202B_200F_206B_206B_206F_200C_200E_206E_200F_202E_202A_202A_202A_200D_206A_200F_206E_200F_202D_206D_202C_206E_200F_202A_206F_206A_206E_206A_202A_200F_206F_202D_200C_206B_200D_206E_202E((byte)num8 != 0); - try - { - num = ((!_200C_200B_206E_202B_206C_206E_206F_200E_206C_206E_206E_202A_206C_206D_200E_206B_202A_200B_202B_202E_202B_200D_206A_200E_202B_202D_202A_200F_202B_202E_206E_206C_200E_200D_200D_206B_202C_206C_202C_202C_202E(FontAwesomeIcon.Play)) ? (-1437028178) : (-1437028179)); - while (true) - { - int num9 = num; - num3 = -1437028180; - num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 0: - num = -1437028179; - break; - case 1: - _fateController.Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1679301458)); - _seasonalDutyController.Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-919026501)); - _customDeliveryController.Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-919026501)); - _attunementController.Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-919026501)); - _questController.SetNextQuest(quest); - _questController.Start(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1512208503)); - num = -1437028178; - break; - case 2: - goto end_IL_039d; - } - continue; - end_IL_039d: - break; - } - } - finally - { - num = ((disabledDisposable == null) ? (-1918927549) : (-1918927552)); - while (true) - { - int num12 = num; - num3 = -1918927551; - num4 = num12; - int num13 = num4 + num3; - int num14 = num4 & num3; - switch (num13 - (num14 + num14)) - { - case 0: - num = -1918927552; - break; - case 2: - goto end_IL_047d; - case 1: - _200B_202A_200F_202A_202C_200C_202C_202A_202D_200D_206E_200B_202B_200F_200F_206C_202C_200E_206B_200D_206D_200F_200D_200D_200C_202A_202C_202A_206B_200F_200F_202D_202B_206C_200B_206C_200B_200B_200E_206E_202E((IDisposable)disabledDisposable); - num = -1918927549; - break; - } - continue; - end_IL_047d: - break; - } - } - goto end_IL_0246; - } - continue; - IL_034e: - if (_questRegistry.TryGetQuest(questId, out quest)) - { - num = 580891173; - continue; - } - goto IL_0555; - IL_02fe: - num = (_fateController.IsRunning ? 580891170 : 580891169); - continue; - IL_0326: - num = (_customDeliveryController.IsRunning ? 580891170 : 580891168); - continue; - IL_02ca: - num = (_seasonalDutyController.IsRunning ? 580891170 : 580891174); - continue; - IL_0286: - num = (_questController.IsRunning ? 580891170 : 580891171); - continue; - end_IL_0246: - break; - } - bool num15 = _206E_202A_202D_200C_200B_202D_206A_200E_200C_200C_200F_200F_200D_206A_206C_200C_202A_202B_202E_206D_206B_200E_206E_202A_200F_206C_200F_202A_200E_206B_206A_206C_202E_200E_200E_206F_202E_200F_202A_200D_202E(); - _200D_200B_200D_200F_202A_202D_206D_206B_206A_202C_202A_206F_200E_200D_206C_202B_206E_202D_202D_206B_206F_200C_206B_200B_200F_200C_206A_202D_200C_200F_200B_206D_206B_206C_206B_200C_200F_200B_206C_202B_202E(); - _200B_200F_206D_200C_206D_200F_200D_206E_206E_206B_206E_202B_200D_200D_200D_200F_206F_200F_206C_200E_206E_202D_200C_202B_200B_206E_206F_200E_200B_200F_200B_206B_206F_206D_200C_206A_200C_206E_206D_202E(); - UiThemeUtils.WrappedText(name); - num = ((!(num15 | _206E_202A_202D_200C_200B_202D_206A_200E_200C_200C_200F_200F_200D_206A_206C_200C_202A_202B_202E_206D_206B_200E_206E_202A_200F_206C_200F_202A_200E_206B_206A_206C_202E_200E_200E_206F_202E_200F_202A_200D_202E())) ? (-1473581929) : (-1473581932)); - goto IL_0504; - } - goto IL_0555; - IL_0504: - while (true) - { - int num16 = num; - num3 = -1473581931; - num4 = num16; - int num17 = num4 + num3; - int num18 = num4 & num3; - switch (num17 - (num18 + num18)) - { - case 0: - goto IL_0532; - case 1: - _questTooltipComponent.Draw(quest.Info); - goto end_IL_0504; - case 2: - goto end_IL_0504; - } - continue; - IL_0532: - num = -1473581932; - continue; - end_IL_0504: - break; - } - goto end_IL_0219; - IL_0555: - _200B_206D_206A_206B_206D_200C_206D_200E_200E_206D_206A_200B_202E_206D_206B_202B_206F_206D_206F_202D_206C_200D_200E_202E_200C_200E_202D_206D_202E_200C_206B_200D_206B_206E_206E_200F_200C_200C_200F_202E(_206E_206E_202C_202C_200F_206D_202C_206D_206E_202E_200F_200E_200D_206E_206E_202C_200E_202B_200B_200D_206F_200C_206A_206B_206C_202A_200B_202D_206E_200C_202E_202E_206B_206B_206A_206F_206E_200F_202A_202E()); - (Vector4, FontAwesomeIcon, string) questStyle = _uiUtils.GetQuestStyle(questId); - if (_uiUtils.ChecklistItem(name, questStyle.Item1, questStyle.Item2, _202D_206E_200C_206E_202B_202E_206A_206A_206C_202C_206E_202E_206C_202A_200E_202C_200D_206C_200D_200B_206A_206D_202E_202C_206D_202C_202B_200F_202D_206C_200F_202A_206F_202E_202A_200D_206F_206A_206C_202E().FramePadding.X)) - { - _questTooltipComponent.Draw(_questData.GetQuestInfo(questId)); - num = -1473581929; - goto IL_0504; - } - end_IL_0219:; - } - finally - { - num = ((idDisposable == null) ? (-1454907752) : (-1454907751)); - while (true) - { - int num19 = num; - num3 = -1454907752; - num4 = num19; - int num20 = num4 + num3; - int num21 = num4 & num3; - switch (num20 - (num21 + num21)) - { - case 2: - num = -1454907751; - break; - case 0: - goto end_IL_05ea; - case 1: - _200B_202A_200F_202A_202C_200C_202C_202A_202D_200D_206E_200B_202B_200F_200F_206C_202C_200E_206B_200D_206D_200F_200D_200D_200C_202A_202C_202A_206B_200F_200F_202D_202B_206C_200B_206C_200B_200B_200E_206E_202E((IDisposable)idDisposable); - num = -1454907752; - break; - } - continue; - end_IL_05ea: - break; - } - } + _questTooltipComponent.Draw(quest.Info); + } + } + else + { + ImGui.SetCursorPosX(ImGui.GetCursorPosX()); + (Vector4, FontAwesomeIcon, string) questStyle = _uiUtils.GetQuestStyle(questId); + if (_uiUtils.ChecklistItem(name, questStyle.Item1, questStyle.Item2, ImGui.GetStyle().FramePadding.X)) + { + _questTooltipComponent.Draw(_questData.GetQuestInfo(questId)); } - return; } - } } } } @@ -1360,257 +230,131 @@ internal sealed class EventInfoComponent return (from q in _cachedActiveSeasonalQuests.Where(delegate(IQuestInfo q) { DateTime? dateTime = (q as QuestInfo)?.SeasonalQuestExpiry; - int num = ((!dateTime.HasValue) ? (-1628574967) : (-1628574968)); - UnlockLinkQuestInfo unlockLinkQuestInfo = default(UnlockLinkQuestInfo); - while (true) + if (dateTime.HasValue) { - int num2 = num; - int num3 = -1628574965; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + DateTime valueOrDefault = dateTime.GetValueOrDefault(); + if (NormalizeExpiry(valueOrDefault) >= DateTime.UtcNow) { - case 6: return true; - case 2: - unlockLinkQuestInfo = q as UnlockLinkQuestInfo; - num = ((unlockLinkQuestInfo == null) ? (-1628574966) : (-1628574962)); - break; - case 0: - { - DateTime valueOrDefault = dateTime.GetValueOrDefault(); - num = ((!(NormalizeExpiry(valueOrDefault) >= DateTime.UtcNow)) ? (-1628574966) : (-1628574963)); - break; - } - case 3: - { - DateTime valueOrDefault2 = dateTime.GetValueOrDefault(); - num = ((!(NormalizeExpiry(valueOrDefault2) >= DateTime.UtcNow)) ? (-1628574967) : (-1628574964)); - break; - } - case 1: - return false; - case 7: - return true; - case 4: - num = -1628574968; - break; - case 5: - dateTime = unlockLinkQuestInfo.QuestExpiry; - num = ((!dateTime.HasValue) ? (-1628574966) : (-1628574965)); - break; } } + return (q is UnlockLinkQuestInfo { QuestExpiry: { } questExpiry } && NormalizeExpiry(questExpiry) >= DateTime.UtcNow) ? true : false; }) select q.QuestId).Where(ShouldShowQuest); } private bool ShouldShowQuest(ElementId elementId) { - int num = (_questFunctions.IsQuestComplete(elementId) ? 1742950996 : 1742950999); - while (true) + if (!_questFunctions.IsQuestComplete(elementId)) { - int num2 = num; - int num3 = 1742950998; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return !_questFunctions.IsQuestUnobtainable(elementId); + } + return false; + } + + private IEnumerable GetActiveSeasonalQuestsNoCache() + { + IEnumerable allQuestIds = _questRegistry.GetAllQuestIds(); + foreach (ElementId item in allQuestIds) + { + if (!_questData.TryGetQuestInfo(item, out IQuestInfo questInfo)) { - case 2: - return false; - case 1: - return !_questFunctions.IsQuestUnobtainable(elementId); - case 0: - goto IL_005f; + if (!_questRegistry.TryGetQuest(item, out Questionable.Model.Quest quest)) + { + if (_alreadyLoggedActiveSeasonalSkip.Add(item.Value)) + { + _logger.LogDebug("Skipping quest {QuestId}: no QuestInfo", item); + } + continue; + } + questInfo = quest.Info; + } + if (_questFunctions.IsQuestUnobtainable(questInfo.QuestId)) + { + continue; + } + if (questInfo is UnlockLinkQuestInfo { QuestExpiry: var questExpiry }) + { + if (questExpiry.HasValue) + { + DateTime valueOrDefault = questExpiry.GetValueOrDefault(); + DateTime dateTime = NormalizeExpiry(valueOrDefault); + if (dateTime > DateTime.UtcNow) + { + yield return questInfo; + } + else if (_alreadyLoggedActiveSeasonalSkip.Add(questInfo.QuestId.Value)) + { + _logger.LogDebug("Skipping UnlockLink quest {QuestId} '{Name}': expiry {Expiry:o} UTC is not in the future", questInfo.QuestId, questInfo.Name, dateTime); + } + } + else + { + yield return questInfo; + } + } + else + { + if (!(questInfo is QuestInfo { SeasonalQuestExpiry: var seasonalQuestExpiry } questInfo2)) + { + continue; + } + if (seasonalQuestExpiry.HasValue) + { + DateTime valueOrDefault2 = seasonalQuestExpiry.GetValueOrDefault(); + if (NormalizeExpiry(valueOrDefault2) > DateTime.UtcNow) + { + yield return questInfo; + } + } + else if (questInfo2.IsSeasonalQuest && !questInfo2.SeasonalQuestExpiry.HasValue) + { + yield return questInfo; + } } - continue; - IL_005f: - num = 1742950999; } } - [IteratorStateMachine(typeof(_003CGetActiveSeasonalQuestsNoCache_003Ed__27))] - private IEnumerable GetActiveSeasonalQuestsNoCache() - { - //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() - return new _003CGetActiveSeasonalQuestsNoCache_003Ed__27(-2) - { - _003C_003E4__this = this - }; - } - - [MethodImpl(MethodImplOptions.NoInlining)] private void UpdateCacheIfNeeded() { - int num = ((!(DateTime.UtcNow - _cachedAtUtc < _cacheDuration)) ? 1628818511 : 1628818508); - List list = default(List); - while (true) + if (DateTime.UtcNow - _cachedAtUtc < _cacheDuration) { - int num2 = num; - int num3 = 1628818510; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return; + } + _cachedActiveSeasonalQuests = GetActiveSeasonalQuestsNoCache().ToList(); + _cachedAtUtc = DateTime.UtcNow; + _logger.LogDebug("Refreshed seasonal quest cache: {Count} active seasonal quests (UTC now {UtcNow:o})", _cachedActiveSeasonalQuests.Count, _cachedAtUtc); + foreach (IGrouping item in _cachedActiveSeasonalQuests.GroupBy(delegate(IQuestInfo q) + { + if (q.QuestId is UnlockLinkId) { - case 0: - goto IL_005e; - case 2: - return; - case 1: + return "Limited Unlocks"; + } + if (_questRegistry.TryGetQuestFolderName(q.QuestId, out string folderName) && !string.IsNullOrEmpty(folderName)) { - _cachedActiveSeasonalQuests = GetActiveSeasonalQuestsNoCache().ToList(); - _cachedAtUtc = DateTime.UtcNow; - _200E_206A_200F_206E_206A_206E_200C_206A_200F_206A_200F_202C_206B_206E_202A_202A_202A_206D_200C_202A_200D_202A_206D_206B_200C_200D_206E_202E_202C_206D_206D_206B_202D_202B_206E_200F_200B_206B_206E_206B_202E((ILogger)_logger, 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(-868567027), new object[2] { _cachedActiveSeasonalQuests.Count, _cachedAtUtc }); - IEnumerator> enumerator = _cachedActiveSeasonalQuests.GroupBy([MethodImpl(MethodImplOptions.NoInlining)] (IQuestInfo q) => - { - int num11 = ((!(q.QuestId is UnlockLinkId)) ? (-1816240252) : (-1816240250)); - string folderName = default(string); - while (true) - { - int num12 = num11; - int num13 = -1816240249; - int num14 = num12; - switch ((num14 | num13) - (num14 & num13)) - { - case 4: - return q.Name; - case 7: - num11 = ((!q.JournalGenre.HasValue) ? (-1816240253) : (-1816240254)); - break; - case 0: - num11 = -1816240250; - break; - case 3: - num11 = ((!_questRegistry.TryGetQuestFolderName(q.QuestId, out folderName)) ? (-1816240256) : (-1816240255)); - break; - case 6: - num11 = (_206E_206D_200E_206A_206F_200E_202E_206F_206C_202E_200B_202D_200C_206B_202A_206D_200B_202B_200F_200C_200F_200E_200E_200F_202E_200E_200C_202D_202E_206D_202C_202C_200F_206D_202B_200D_206A_202C_206B_202B_202E(folderName) ? (-1816240256) : (-1816240251)); - break; - case 1: - return global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1052996645); - case 5: - return GetJournalGenreName(q.JournalGenre.Value); - case 2: - return folderName; - } - } - }).GetEnumerator(); - try - { - num = -184184745; - while (true) - { - int num5 = num; - num3 = -184184745; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 3: - num = -184184745; - break; - case 0: - num = (_202B_206A_202B_206E_202C_206B_200D_202D_200B_202D_206B_202C_202C_200B_206D_200B_200F_202A_202C_200D_206C_202C_200D_200D_206E_206A_206B_206A_200B_206B_206B_200E_202B_202C_206A_206B_200D_200E_202C_200C_202E((IEnumerator)enumerator) ? (-184184747) : (-184184749)); - break; - case 2: - { - IGrouping current = enumerator.Current; - current.Select(delegate(IQuestInfo q) - { - DateTime? dateTime = (q as QuestInfo)?.SeasonalQuestExpiry; - int num11 = (dateTime.HasValue ? (-968246671) : (-968246666)); - DateTime? dateTime2 = default(DateTime?); - UnlockLinkQuestInfo unlockLinkQuestInfo = default(UnlockLinkQuestInfo); - while (true) - { - int num12 = num11; - int num13 = -968246665; - int num14 = num12; - int num15 = num14 + num13; - int num16 = num14 & num13; - DateTime? obj; - switch (num15 - (num16 + num16)) - { - case 5: - num11 = -968246666; - break; - case 6: - obj = dateTime; - goto IL_0091; - case 2: - return DateTime.MaxValue; - case 4: - { - DateTime valueOrDefault = dateTime2.GetValueOrDefault(); - return NormalizeExpiry(valueOrDefault); - } - case 1: - unlockLinkQuestInfo = q as UnlockLinkQuestInfo; - num11 = ((unlockLinkQuestInfo != null) ? (-968246668) : (-968246665)); - break; - case 3: - obj = unlockLinkQuestInfo.QuestExpiry; - goto IL_0091; - case 0: - { - obj = null; - goto IL_0091; - } - IL_0091: - dateTime2 = obj; - num11 = ((!dateTime2.HasValue) ? (-968246667) : (-968246669)); - break; - } - } - }).DefaultIfEmpty(DateTime.MaxValue).Min(); - list = (from q in current - select (q as UnlockLinkQuestInfo)?.Patch into p - where !_003C_003Ec._206C_206A_200D_206A_206B_200C_200B_202C_202C_202A_202B_200E_206E_202A_200E_202C_202A_202E_200C_202A_200D_206E_202C_200D_202B_202A_200F_206B_206B_206E_202E_200D_202E_200B_200B_200D_200E_202E_200C_200F_202E(p) - select p).Distinct().ToList(); - num = ((list.Count != 1) ? (-184184745) : (-184184746)); - break; - } - case 1: - _ = list[0]; - num = -184184745; - break; - case 4: - return; - } - } - } - finally - { - num = ((enumerator == null) ? 1835390803 : 1835390800); - while (true) - { - int num8 = num; - num3 = 1835390802; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 1: - goto end_IL_0235; - case 2: - _200B_202A_200F_202A_202C_200C_202C_202A_202D_200D_206E_200B_202B_200F_200F_206C_202C_200E_206B_200D_206D_200F_200D_200D_200C_202A_202C_202A_206B_200F_200F_202D_202B_206C_200B_206C_200B_200B_200E_206E_202E((IDisposable)enumerator); - num = 1835390803; - break; - case 0: - num = 1835390800; - break; - } - continue; - end_IL_0235: - break; - } - } + return folderName; } + return q.JournalGenre.HasValue ? GetJournalGenreName(q.JournalGenre.Value) : q.Name; + })) + { + item.Select(delegate(IQuestInfo q) + { + DateTime? dateTime = (q as QuestInfo)?.SeasonalQuestExpiry ?? ((q is UnlockLinkQuestInfo unlockLinkQuestInfo) ? unlockLinkQuestInfo.QuestExpiry : ((DateTime?)null)); + if (dateTime.HasValue) + { + DateTime valueOrDefault = dateTime.GetValueOrDefault(); + return NormalizeExpiry(valueOrDefault); + } + return DateTime.MaxValue; + }).DefaultIfEmpty(DateTime.MaxValue).Min(); + List list = (from q in item + select (q as UnlockLinkQuestInfo)?.Patch into p + where !string.IsNullOrEmpty(p) + select p).Distinct().ToList(); + if (list.Count == 1) + { + _ = list[0]; } - continue; - IL_005e: - num = 1628818508; } } @@ -1630,201 +374,35 @@ internal sealed class EventInfoComponent return ExpiryUtils.NormalizeExpiry(d); } - [MethodImpl(MethodImplOptions.NoInlining)] internal static string FormatRemainingDays(TimeSpan remaining) { - int num = (int)_202D_200C_206F_202D_206E_206A_202E_202D_200C_206C_206A_206B_206F_206F_206C_200B_202E_200B_206F_206F_200F_202C_200E_200D_206C_200F_202B_200B_200B_202B_206E_202B_202B_202C_202A_200D_200F_206E_200E_206B_202E(_200B_206D_206D_206D_202D_200D_200E_206F_206C_200C_200F_206F_200D_206F_200D_202B_206C_202C_200D_206A_202C_202D_202D_206E_206E_202A_200F_200C_200F_200C_202E_202E_206D_200F_206F_202E_206E_206E_206A_206A_202E(0.0, remaining.TotalSeconds)); + int num = (int)Math.Ceiling(Math.Max(0.0, remaining.TotalSeconds)); int num2 = num / 86400; - int num3 = ((num2 < 1) ? (-778997214) : (-778997213)); - while (true) + if (num2 >= 1) { - int num4 = num3; - int num5 = -778997214; - int num6 = num4; - switch ((num6 | num5) - (num6 & num5)) + if (num2 != 1) { - case 2: - num3 = -778997213; - break; - case 1: - num3 = ((num2 == 1) ? (-778997210) : (-778997215)); - break; - case 4: - return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(807779745); - case 0: - { - int value = num % 86400 / 3600; - int value2 = num % 3600 / 60; - int value3 = num % 60; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(2, 3); - defaultInterpolatedStringHandler2.AppendFormatted(value, 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(1462241587)); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-332393296)); - defaultInterpolatedStringHandler2.AppendFormatted(value2, 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(1462241587)); - defaultInterpolatedStringHandler2.AppendLiteral(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(1360606241)); - defaultInterpolatedStringHandler2.AppendFormatted(value3, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1194352829)); - return defaultInterpolatedStringHandler2.ToStringAndClear(); - } - case 3: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(5, 1); - defaultInterpolatedStringHandler.AppendFormatted(num2); - defaultInterpolatedStringHandler.AppendLiteral(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(-604625296)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } + return $"{num2} days"; } + return "1 day"; } + int value = num % 86400 / 3600; + int value2 = num % 3600 / 60; + int value3 = num % 60; + return $"{value:D2}:{value2:D2}:{value3:D2}"; } - [MethodImpl(MethodImplOptions.NoInlining)] internal static string FormatRemainingFull(TimeSpan remaining) { - int num = (int)_202D_200C_206F_202D_206E_206A_202E_202D_200C_206C_206A_206B_206F_206F_206C_200B_202E_200B_206F_206F_200F_202C_200E_200D_206C_200F_202B_200B_200B_202B_206E_202B_202B_202C_202A_200D_200F_206E_200E_206B_202E(_200B_206D_206D_206D_202D_200D_200E_206F_206C_200C_200F_206F_200D_206F_200D_202B_206C_202C_200D_206A_202C_202D_202D_206E_206E_202A_200F_200C_200F_200C_202E_202E_206D_200F_206F_202E_206E_206E_206A_206A_202E(0.0, remaining.TotalSeconds)); + int num = (int)Math.Ceiling(Math.Max(0.0, remaining.TotalSeconds)); int num2 = num / 86400; int value = num % 86400 / 3600; int value2 = num % 3600 / 60; int value3 = num % 60; - int num3 = ((num2 < 1) ? 1138194550 : 1138194549); - while (true) + if (num2 < 1) { - int num4 = num3; - int num5 = 1138194548; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) - { - case 0: - goto IL_008d; - case 2: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(13, 3); - defaultInterpolatedStringHandler2.AppendLiteral(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(1458961767)); - defaultInterpolatedStringHandler2.AppendFormatted(value, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1194352829)); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-192724514)); - defaultInterpolatedStringHandler2.AppendFormatted(value2, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1194352829)); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1016237535)); - defaultInterpolatedStringHandler2.AppendFormatted(value3, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1194352829)); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2118666922)); - return defaultInterpolatedStringHandler2.ToStringAndClear(); - } - case 1: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(15, 4); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(591199998)); - defaultInterpolatedStringHandler.AppendFormatted(num2); - defaultInterpolatedStringHandler.AppendLiteral(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(-1327832800)); - defaultInterpolatedStringHandler.AppendFormatted(value, 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(1462241587)); - defaultInterpolatedStringHandler.AppendLiteral(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(-2144237027)); - defaultInterpolatedStringHandler.AppendFormatted(value2, 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(-1968563628)); - defaultInterpolatedStringHandler.AppendLiteral(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(1560597113)); - defaultInterpolatedStringHandler.AppendFormatted(value3, 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(1462241587)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-838706236)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - } - continue; - IL_008d: - num3 = 1138194549; + return $"Ends in {value:D2}h {value2:D2}m {value3:D2}s"; } - } - - static ArgumentNullException _202A_206F_200B_202A_206A_206E_200F_202C_206E_206E_202B_200D_200E_200D_200F_202E_202D_206D_200D_206A_200F_200E_206D_200B_200C_200E_206E_206B_200F_206A_206C_202A_200C_206E_206F_200E_206C_202E_202D_206D_202E(string P_0) - { - return new ArgumentNullException(P_0); - } - - static bool _202B_206A_202B_206E_202C_206B_200D_202D_200B_202D_206B_202C_202C_200B_206D_200B_200F_202A_202C_200D_206C_202C_200D_200D_206E_206A_206B_206A_200B_206B_206B_200E_202B_202C_206A_206B_200D_200E_202C_200C_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200B_202A_200F_202A_202C_200C_202C_202A_202D_200D_206E_200B_202B_200F_200F_206C_202C_200E_206B_200D_206D_200F_200D_200D_200C_202A_202C_202A_206B_200F_200F_202D_202B_206C_200B_206C_200B_200B_200E_206E_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _206C_206F_206C_200E_202B_206C_206E_206E_200B_202E_206C_200C_206A_206D_200F_200D_202A_206C_206A_206C_206D_202C_206F_206B_206D_206A_202A_200C_206C_206B_206A_206E_206C_206E_202B_200B_200E_206C_206E_202D_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogWarning(P_1, P_2, P_3); - } - - static bool _206E_206D_200E_206A_206F_200E_202E_206F_206C_202E_200B_202D_200C_206B_202A_206D_200B_202B_200F_200C_200F_200E_200E_200F_202E_200E_200C_202D_202E_206D_202C_202C_200F_206D_202B_200D_206A_202C_206B_202B_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static string _200B_200B_206F_200E_200B_206F_200D_202E_202B_202E_200D_202C_206D_202C_202D_200B_200C_202C_206E_206C_202E_202E_206C_202E_200C_200C_206B_200F_200E_206D_206C_200E_206E_200C_206D_206B_200B_206F_206B_202B_202E(string P_0, string P_1, string P_2, string P_3) - { - return P_0 + P_1 + P_2 + P_3; - } - - static bool _206E_202A_202D_200C_200B_202D_206A_200E_200C_200C_200F_200F_200D_206A_206C_200C_202A_202B_202E_206D_206B_200E_206E_202A_200F_206C_200F_202A_200E_206B_206A_206C_202E_200E_200E_206F_202E_200F_202A_200D_202E() - { - return ImGui.IsItemHovered(); - } - - static void _202C_206C_202A_206C_202A_206F_202A_200B_200C_200F_206B_200C_206F_202C_202A_202B_200B_206B_202C_206E_202D_200F_200B_206F_206B_202B_200B_200C_206E_200D_206E_202B_206B_202E_206B_200C_206B_200B_200B_200E_202E(ImU8String P_0) - { - ImGui.SetTooltip(P_0); - } - - static ImRaii.IdDisposable _202C_200D_200E_206F_206A_206A_202C_200D_206E_206A_206C_202E_206A_200F_200D_202D_202E_206C_200D_206B_202B_200C_200D_200E_202B_206C_200F_200B_200B_200D_202B_200E_200E_202E_202D_202D_206A_206F_200D_206C_202E(ImU8String P_0, bool P_1) - { - return ImRaii.PushId(P_0, P_1); - } - - static ImRaii.DisabledDisposable _202B_200E_206D_206C_202B_200F_206B_206B_206F_200C_200E_206E_200F_202E_202A_202A_202A_200D_206A_200F_206E_200F_202D_206D_202C_206E_200F_202A_206F_206A_206E_206A_202A_200F_206F_202D_200C_206B_200D_206E_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static bool _200C_200B_206E_202B_206C_206E_206F_200E_206C_206E_206E_202A_206C_206D_200E_206B_202A_200B_202B_202E_202B_200D_206A_200E_202B_202D_202A_200F_202B_202E_206E_206C_200E_200D_200D_206B_202C_206C_202C_202C_202E(FontAwesomeIcon P_0) - { - return ImGuiComponents.IconButton(P_0); - } - - static void _200D_200B_200D_200F_202A_202D_206D_206B_206A_202C_202A_206F_200E_200D_206C_202B_206E_202D_202D_206B_206F_200C_206B_200B_200F_200C_206A_202D_200C_200F_200B_206D_206B_206C_206B_200C_200F_200B_206C_202B_202E() - { - ImGui.SameLine(); - } - - static void _200B_200F_206D_200C_206D_200F_200D_206E_206E_206B_206E_202B_200D_200D_200D_200F_206F_200F_206C_200E_206E_202D_200C_202B_200B_206E_206F_200E_200B_200F_200B_206B_206F_206D_200C_206A_200C_206E_206D_202E() - { - ImGui.AlignTextToFramePadding(); - } - - static float _206E_206E_202C_202C_200F_206D_202C_206D_206E_202E_200F_200E_200D_206E_206E_202C_200E_202B_200B_200D_206F_200C_206A_206B_206C_202A_200B_202D_206E_200C_202E_202E_206B_206B_206A_206F_206E_200F_202A_202E() - { - return ImGui.GetCursorPosX(); - } - - static void _200B_206D_206A_206B_206D_200C_206D_200E_200E_206D_206A_200B_202E_206D_206B_202B_206F_206D_206F_202D_206C_200D_200E_202E_200C_200E_202D_206D_202E_200C_206B_200D_206B_206E_206E_200F_200C_200C_200F_202E(float P_0) - { - ImGui.SetCursorPosX(P_0); - } - - static ImGuiStylePtr _202D_206E_200C_206E_202B_202E_206A_206A_206C_202C_206E_202E_206C_202A_200E_202C_200D_206C_200D_200B_206A_206D_202E_202C_206D_202C_202B_200F_202D_206C_200F_202A_206F_202E_202A_200D_206F_206A_206C_202E() - { - return ImGui.GetStyle(); - } - - static void _200E_206A_200F_206E_206A_206E_200C_206A_200F_206A_200F_202C_206B_206E_202A_202A_202A_206D_200C_202A_200D_202A_206D_206B_200C_200D_206E_202E_202C_206D_206D_206B_202D_202B_206E_200F_200B_206B_206E_206B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static double _200B_206D_206D_206D_202D_200D_200E_206F_206C_200C_200F_206F_200D_206F_200D_202B_206C_202C_200D_206A_202C_202D_202D_206E_206E_202A_200F_200C_200F_200C_202E_202E_206D_200F_206F_202E_206E_206E_206A_206A_202E(double P_0, double P_1) - { - return Math.Max(P_0, P_1); - } - - static double _202D_200C_206F_202D_206E_206A_202E_202D_200C_206C_206A_206B_206F_206F_206C_200B_202E_200B_206F_206F_200F_202C_200E_200D_206C_200F_202B_200B_200B_202B_206E_202B_202B_202C_202A_200D_200F_206E_200E_206B_202E(double P_0) - { - return Math.Ceiling(P_0); - } - - static bool _202A_200E_200B_206C_200C_200C_202A_200D_206B_200F_202E_202E_202E_200D_206F_206D_206D_206B_202C_200D_200D_202C_202D_206A_206F_206F_200C_202E_200E_206D_200F_206A_206E_200B_206C_202A_206C_202A_202D_206B_202E(ElementId P_0, ElementId P_1) - { - return P_0 != P_1; + return $"Ends in {num2}d {value:D2}h {value2:D2}m {value3:D2}s"; } } diff --git a/Questionable/Questionable.Windows.QuestComponents/GameSequenceChainComponent.cs b/Questionable/Questionable.Windows.QuestComponents/GameSequenceChainComponent.cs index 1c96b27..681ac53 100644 --- a/Questionable/Questionable.Windows.QuestComponents/GameSequenceChainComponent.cs +++ b/Questionable/Questionable.Windows.QuestComponents/GameSequenceChainComponent.cs @@ -1,7 +1,5 @@ using System.Collections.Generic; using System.Globalization; -using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; using Dalamud.Plugin.Services; using Questionable.Data; @@ -22,150 +20,67 @@ internal sealed class GameSequenceChainComponent public List GetSequences(QuestId questId) { - List value; - int num = (_cache.TryGetValue(_202B_202A_202D_206F_200D_206D_200C_200D_200E_202E_206E_206F_200B_206F_206A_206A_206D_202B_206D_206D_200F_200C_206B_206F_206C_206B_202A_202A_206E_206D_206B_206E_202A_206D_202C_206A_206D_202A_206D_202C_202E((ElementId)questId), out value) ? (-354892396) : (-354892395)); - while (true) + if (!_cache.TryGetValue(questId.Value, out List value)) { - int num2 = num; - int num3 = -354892396; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return value; - case 1: - value = GameQuestSequences.GetCompletionSequences(_dataManager, questId); - _cache[_202B_202A_202D_206F_200D_206D_200C_200D_200E_202E_206E_206F_200B_206F_206A_206A_206D_202B_206D_206D_200F_200C_206B_206F_206C_206B_202A_202A_206E_206D_206B_206E_202A_206D_202C_206A_206D_202A_206D_202C_202E((ElementId)questId)] = value; - num = -354892396; - break; - case 2: - num = -354892395; - break; - } + value = GameQuestSequences.GetCompletionSequences(_dataManager, questId); + _cache[questId.Value] = value; } + return value; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Draw(QuestId questId, byte currentSequence) { List sequences = GetSequences(questId); - int num = ((sequences.Count != 0) ? 702696098 : 702696101); - int num7 = default(int); - int num5 = default(int); - int num6 = default(int); - while (true) + if (sequences.Count == 0) { - int num2 = num; - int num3 = 702696110; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + ImGui.TextColored(in UiThemeUtils.MutedTextColor, "No sequence data"); + return; + } + for (int i = 0; i < sequences.Count; i++) + { + if (i > 0) { - case 3: - { - ImU8String imU8String2 = new ImU8String(3, 2); - imU8String2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1824588032)); - int num8 = num7; - num3 = 1; - num4 = num8; - int num9 = num4 ^ num3; - int num10 = num4 & num3; - imU8String2.AppendFormatted(num9 + (num10 + num10)); - imU8String2.AppendLiteral(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(-1605560946)); - imU8String2.AppendFormatted(sequences.Count); - imU8String2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1618480346)); - _202C_202D_202C_200B_202B_206B_200B_200D_200D_200F_200C_200F_200B_200E_200E_200C_202A_206E_206F_200D_202B_202D_206D_202B_206C_206A_200E_202A_202B_200F_206A_206D_202C_206E_202A_202E_202E_202E_202A_202E(ref UiThemeUtils.MutedTextColor, imU8String2); - return; + ImGui.SameLine(0f, 4f); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, "›"); + ImGui.SameLine(0f, 4f); } - case 1: - _202C_202D_202C_200B_202B_206B_200B_200D_200D_200F_200C_200F_200B_200E_200E_200C_202A_206E_206F_200D_202B_202D_206D_202B_206C_206A_200E_202A_202B_200F_206A_206D_202C_206E_202A_202E_202E_202E_202A_202E(ref UiThemeUtils.StatusComplete, (ImU8String)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(-544992352)); - return; - case 7: - num5 = sequences[num6]; - num = ((num5 != currentSequence) ? 702696096 : 702696107); - break; - case 8: + int num = sequences[i]; + if (num == currentSequence) { - ImU8String imU8String3 = new ImU8String(19, 1); - imU8String3.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-900994738)); - imU8String3.AppendFormatted(currentSequence); - imU8String3.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1286214387)); - _202C_202D_202C_200B_202B_206B_200B_200D_200D_200F_200C_200F_200B_200E_200E_200C_202A_206E_206F_200D_202B_202D_206D_202B_206C_206A_200E_202A_202B_200F_206A_206D_202C_206E_202A_202E_202E_202E_202A_202E(ref UiThemeUtils.StatusUnobtainable, imU8String3); - return; + ImU8String text = new ImU8String(2, 1); + text.AppendLiteral("["); + text.AppendFormatted(num); + text.AppendLiteral("]"); + ImGui.TextColored(in UiThemeUtils.StatusActive, text); } - case 6: + else { - int num11 = num6; - num3 = 1; - num4 = num11; - num6 = (num4 | num3) + (num4 & num3); - num = 702696110; - break; - } - case 4: - num = 702696101; - break; - case 10: - num = ((num6 <= 0) ? 702696105 : 702696099); - break; - case 9: - num7 = sequences.IndexOf(currentSequence); - _202B_200E_200D_206E_202B_206A_200E_206C_200E_200F_206B_206A_206F_206A_200D_200D_206C_202A_202D_200C_206C_200B_206E_202E_200F_200C_206E_200D_202C_200B_206B_202D_206F_200B_206B_200D_200D_200D_202B_206F_202E(0f, 8f); - num = ((currentSequence != byte.MaxValue) ? 702696108 : 702696111); - break; - case 0: - num = ((num6 < sequences.Count) ? 702696100 : 702696103); - break; - case 14: - _202C_202D_202C_200B_202B_206B_200B_200D_200D_200F_200C_200F_200B_200E_200E_200C_202A_206E_206F_200D_202B_202D_206D_202B_206C_206A_200E_202A_202B_200F_206A_206D_202C_206E_202A_202E_202E_202E_202A_202E(ref UiThemeUtils.DimTextColor, (ImU8String)num5.ToString(_202C_200F_200B_202D_206A_202C_202C_200E_206C_202B_206D_200D_200D_200B_206D_206A_206D_202B_206E_200E_200F_206C_202E_202A_206B_202C_202E_200F_206A_206D_200E_200F_202E_206B_202A_200C_206D_206D_202E())); - num = 702696104; - break; - case 2: - num = ((num7 < 0) ? 702696102 : 702696109); - break; - case 11: - _202C_202D_202C_200B_202B_206B_200B_200D_200D_200F_200C_200F_200B_200E_200E_200C_202A_206E_206F_200D_202B_202D_206D_202B_206C_206A_200E_202A_202B_200F_206A_206D_202C_206E_202A_202E_202E_202E_202A_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-361933865)); - return; - case 12: - num6 = 0; - num = 702696110; - break; - case 5: - { - ImU8String imU8String = new ImU8String(2, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1463938997)); - imU8String.AppendFormatted(num5); - imU8String.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1991522223)); - _202C_202D_202C_200B_202B_206B_200B_200D_200D_200F_200C_200F_200B_200E_200E_200C_202A_206E_206F_200D_202B_202D_206D_202B_206C_206A_200E_202A_202B_200F_206A_206D_202C_206E_202A_202E_202E_202E_202A_202E(ref UiThemeUtils.StatusActive, imU8String); - num = 702696104; - break; - } - case 13: - _202B_200E_200D_206E_202B_206A_200E_206C_200E_200F_206B_206A_206F_206A_200D_200D_206C_202A_202D_200C_206C_200B_206E_202E_200F_200C_206E_200D_202C_200B_206B_202D_206F_200B_206B_200D_200D_200D_202B_206F_202E(0f, 4f); - _202C_202D_202C_200B_202B_206B_200B_200D_200D_200F_200C_200F_200B_200E_200E_200C_202A_206E_206F_200D_202B_202D_206D_202B_206C_206A_200E_202A_202B_200F_206A_206D_202C_206E_202A_202E_202E_202E_202A_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1068992984)); - _202B_200E_200D_206E_202B_206A_200E_206C_200E_200F_206B_206A_206F_206A_200D_200D_206C_202A_202D_200C_206C_200B_206E_202E_200F_200C_206E_200D_202C_200B_206B_202D_206F_200B_206B_200D_200D_200D_202B_206F_202E(0f, 4f); - num = 702696105; - break; + ImGui.TextColored(in UiThemeUtils.DimTextColor, num.ToString(CultureInfo.InvariantCulture)); } } - } - - static ushort _202B_202A_202D_206F_200D_206D_200C_200D_200E_202E_206E_206F_200B_206F_206A_206A_206D_202B_206D_206D_200F_200C_206B_206F_206C_206B_202A_202A_206E_206D_206B_206E_202A_206D_202C_206A_206D_202A_206D_202C_202E(ElementId P_0) - { - return P_0.Value; - } - - static void _202C_202D_202C_200B_202B_206B_200B_200D_200D_200F_200C_200F_200B_200E_200E_200C_202A_206E_206F_200D_202B_202D_206D_202B_206C_206A_200E_202A_202B_200F_206A_206D_202C_206E_202A_202E_202E_202E_202A_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static void _202B_200E_200D_206E_202B_206A_200E_206C_200E_200F_206B_206A_206F_206A_200D_200D_206C_202A_202D_200C_206C_200B_206E_202E_200F_200C_206E_200D_202C_200B_206B_202D_206F_200B_206B_200D_200D_200D_202B_206F_202E(float P_0, float P_1) - { - ImGui.SameLine(P_0, P_1); - } - - static CultureInfo _202C_200F_200B_202D_206A_202C_202C_200E_206C_202B_206D_200D_200D_200B_206D_206A_206D_202B_206E_200E_200F_206C_202E_202A_206B_202C_202E_200F_206A_206D_200E_200F_202E_206B_202A_200C_206D_206D_202E() - { - return CultureInfo.InvariantCulture; + int num2 = sequences.IndexOf(currentSequence); + ImGui.SameLine(0f, 8f); + if (currentSequence == byte.MaxValue) + { + ImGui.TextColored(in UiThemeUtils.StatusComplete, "(ready to turn in)"); + } + else if (num2 >= 0) + { + ImU8String text2 = new ImU8String(3, 2); + text2.AppendLiteral("("); + text2.AppendFormatted(num2 + 1); + text2.AppendLiteral("/"); + text2.AppendFormatted(sequences.Count); + text2.AppendLiteral(")"); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, text2); + } + else + { + ImU8String text3 = new ImU8String(19, 1); + text3.AppendLiteral("(at "); + text3.AppendFormatted(currentSequence); + text3.AppendLiteral(", not in chain)"); + ImGui.TextColored(in UiThemeUtils.StatusUnobtainable, text3); + } } } diff --git a/Questionable/Questionable.Windows.QuestComponents/ManualPriorityComponent.cs b/Questionable/Questionable.Windows.QuestComponents/ManualPriorityComponent.cs index 328b70c..ca62851 100644 --- a/Questionable/Questionable.Windows.QuestComponents/ManualPriorityComponent.cs +++ b/Questionable/Questionable.Windows.QuestComponents/ManualPriorityComponent.cs @@ -2,7 +2,6 @@ using System; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using System.Text; using Dalamud.Bindings.ImGui; using Dalamud.Interface; @@ -19,53 +18,6 @@ namespace Questionable.Windows.QuestComponents; internal sealed class ManualPriorityComponent { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Predicate<(Vector2 TopLeft, Vector2 BottomRight)> _003C_003E9__14_1; - - public static Func _003C_003E9__15_0; - - internal bool _003CDrawQuestList_003Eb__14_1((Vector2 TopLeft, Vector2 BottomRight) x) - { - return _202C_200E_202C_202D_202C_200F_200B_202E_202C_202B_206D_202A_206F_202A_206B_200F_200C_202B_206D_200C_200C_206E_206D_202E_206B_200D_206F_202C_200E_202E_202A_202A_200B_206C_206F_206D_200C_202E_206A_202B_202E(x.TopLeft, x.BottomRight, true); - } - - internal string _003CEncodeQuestPriority_003Eb__15_0(Quest x) - { - return _200D_206B_200B_206A_202C_200B_200E_206A_200E_200B_200E_206E_206A_200C_202D_200D_206B_206C_202E_206E_200B_206A_200F_200F_206B_200B_206F_202C_202D_206B_202C_200C_200D_202E_200C_202D_200D_206E_202B_206F_202E((object)x.Id); - } - - static bool _202C_200E_202C_202D_202C_200F_200B_202E_202C_202B_206D_202A_206F_202A_206B_200F_200C_202B_206D_200C_200C_206E_206D_202E_206B_200D_206F_202C_200E_202E_202A_202A_200B_206C_206F_206D_200C_202E_206A_202B_202E(Vector2 P_0, Vector2 P_1, bool P_2) - { - return ImGui.IsMouseHoveringRect(P_0, P_1, P_2); - } - - static string _200D_206B_200B_206A_202C_200B_200E_206A_200E_200B_200E_206E_206A_200C_202D_200D_206B_206C_202E_206E_200B_206A_200F_200F_206B_200B_206F_202C_202D_206B_202C_200C_200D_202E_200C_202D_200D_206E_202B_206F_202E(object P_0) - { - return P_0.ToString(); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass11_1 - { - public Quest quest; - - internal bool _003C_002Ector_003Eb__3(Quest x) - { - return _206F_206E_200B_200C_200D_202E_202D_200F_206D_202D_202D_202C_206B_206A_206C_202D_202C_200D_200B_200D_200B_206F_200D_202B_206A_206B_206B_206B_206A_206C_200F_202B_202B_200E_206D_200E_200B_200B_206E_206F_202E(x.Id, quest.Id); - } - - static bool _206F_206E_200B_200C_200D_202E_202D_200F_206D_202D_202D_202C_206B_206A_206C_202D_202C_200D_200B_200D_200B_206F_200D_202B_206A_206B_206B_206B_206A_206C_200F_202B_202B_200E_206D_200E_200B_200B_206E_206F_202E(ElementId P_0, ElementId P_1) - { - return P_0 != P_1; - } - } - public const string ClipboardPrefix = "qst:priority:"; public const string LegacyClipboardPrefix = "qst:v1:"; @@ -96,31 +48,7 @@ internal sealed class ManualPriorityComponent _questSelector = questSelector; _questTooltipComponent = questTooltipComponent; _chatGui = chatGui; - _questSelector.SuggestionPredicate = delegate(Quest quest) - { - int num = (quest.Info.IsMainScenarioQuest ? (-1325154727) : (-1325154728)); - while (true) - { - int num2 = num; - int num3 = -1325154726; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return questController.ManualPriorityQuests.All((Quest x) => _003C_003Ec__DisplayClass11_1._206F_206E_200B_200C_200D_202E_202D_200F_206D_202D_202D_202C_206B_206A_206C_202D_202C_200D_200B_200D_200B_206F_200D_202B_206A_206B_206B_206B_206A_206C_200F_202B_202B_200E_206D_200E_200B_200B_206E_206F_202E(x.Id, quest.Id)); - case 3: - return false; - case 0: - num = -1325154728; - break; - case 2: - num = (questFunctions.IsQuestUnobtainable(quest.Id) ? (-1325154727) : (-1325154725)); - break; - } - } - }; + _questSelector.SuggestionPredicate = (Quest quest) => !quest.Info.IsMainScenarioQuest && !questFunctions.IsQuestUnobtainable(quest.Id) && questController.ManualPriorityQuests.All((Quest x) => x.Id != quest.Id); _questSelector.DefaultPredicate = (Quest quest) => questFunctions.IsQuestAccepted(quest.Id); _questSelector.QuestSelected = delegate(Quest quest) { @@ -129,319 +57,87 @@ internal sealed class ManualPriorityComponent }; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Draw() { var (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); - _200B_200C_202E_202D_206F_206A_200D_202B_202C_206B_202A_202C_206F_202C_200E_206B_200E_200E_202E_202B_202B_202D_206E_206C_206A_202B_202B_202B_202E_202D_200E_206F_206D_206E_200F_206F_202A_200E_206D_200F_202E((ImU8String)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(-1339117543)); - _206C_206A_202B_200F_200B_200F_200C_206D_206A_206A_200F_202B_200B_202A_200B_202C_202B_200C_202A_206B_206E_202D_202B_200C_200B_200D_202D_206F_200D_202A_200F_202C_200B_200B_206D_206C_200D_206D_206A_202E(); - _200E_206B_202C_206D_206B_206E_200B_202B_200D_200B_206F_200B_200D_200C_202D_200C_206C_206F_200F_202B_206B_202A_200E_202E_200B_202C_200C_206E_200B_206A_202B_206F_206D_202A_206B_206E_206F_206E_206C_202A_202E(); - UiThemeUtils.WrappedText(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(-49374953)); - _206C_206A_202B_200F_200B_200F_200C_206D_206A_206A_200F_202B_200B_202A_200B_202C_202B_200C_202A_206B_206E_202D_202B_200C_200B_200D_202D_206F_200D_202A_200F_202C_200B_200B_206D_206C_200D_206D_206A_202E(); - _200E_206B_202C_206D_206B_206E_200B_202B_200D_200B_206F_200B_200D_200C_202D_200C_206C_206F_200F_202B_206B_202A_200E_202E_200B_202C_200C_206E_200B_206A_202B_206F_206D_202A_206B_206E_206F_206E_206C_202A_202E(); - UiThemeUtils.WrappedText(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2138233810)); - _206C_206A_202B_200F_200B_200F_200C_206D_206A_206A_200F_202B_200B_202A_200B_202C_202B_200C_202A_206B_206E_202D_202B_200C_200B_200D_202D_206F_200D_202A_200F_202C_200B_200B_206D_206C_200D_206D_206A_202E(); - _200E_206B_202C_206D_206B_206E_200B_202B_200D_200B_206F_200B_200D_200C_202D_200C_206C_206F_200F_202B_206B_202A_200E_202E_200B_202C_200C_206E_200B_206A_202B_206F_206D_202A_206B_206E_206F_206E_206C_202A_202E(); - UiThemeUtils.WrappedText(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(81820412)); - _200B_200C_202E_202D_206F_206A_200D_202B_202C_206B_202A_202C_206F_202C_200E_206B_200E_200E_202E_202B_202B_202D_206E_206C_206A_202B_202B_202B_202E_202D_200E_206F_206D_206E_200F_206F_202A_200E_206D_200F_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1331511633)); - _206F_206B_200B_202C_200C_200D_206B_206A_200C_200C_200B_206C_206B_202D_200B_206D_202B_200B_206C_200F_202E_200F_202B_206E_202B_206C_200B_202B_200E_200D_206E_206D_202E_200F_200C_200D_200B_202C_206C_202D_202E(); - _200C_202C_206E_200F_200E_202E_200D_202D_206C_200F_206A_206C_206D_206D_202C_200D_200E_206A_202E_202A_206E_206A_206B_206E_206E_200C_200C_202C_206C_202D_202C_206C_202A_206A_206A_206E_202B_202D_206E_200D_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1503029597)); + ImGui.TextWrapped("When you have an active Main Scenario Quest, Questionable will prioritise quests in this order:"); + ImGui.Bullet(); + ImGui.SameLine(); + UiThemeUtils.WrappedText("Priority quests: class quests, A Realm Reborn primals and raids"); + ImGui.Bullet(); + ImGui.SameLine(); + UiThemeUtils.WrappedText("Supported quests from your Journal's To-Do list (always visible on-screen quests)"); + ImGui.Bullet(); + ImGui.SameLine(); + UiThemeUtils.WrappedText("Main Scenario Quest (if available and not marked as ignored in your Journal)"); + ImGui.TextWrapped("Without an active Main Scenario Quest, it will always try to pick up the next MSQ first."); + ImGui.Spacing(); + ImGui.Text("Custom priority quests:"); _questSelector.DrawSelection(); UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); UiThemeUtils.SectionSpacing(); - int num = ((_questController.ManualPriorityQuests.Count <= 0) ? 1307733761 : 1307733762); - while (true) + if (_questController.ManualPriorityQuests.Count > 0) { - int num2 = num; - int num3 = 1307733760; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + UiThemeUtils.WrappedText("Priority queue (drag arrow buttons to reorder):"); + } + using (ImRaii.ChildDisposable childDisposable = ImRaii.Child("ManualPriorityList", new Vector2(-1f, -27f), border: true)) + { + if ((bool)childDisposable) { - case 0: - num = 1307733762; - break; - case 2: - UiThemeUtils.WrappedText(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1498796953)); - num = 1307733761; - break; - case 1: - { - using (ImRaii.ChildDisposable childDisposable = _202B_202A_200D_200B_206C_200F_202C_206F_202B_200D_202A_206D_200D_200D_206F_200F_206E_200F_202B_206B_200E_206D_200F_202B_206C_202E_202C_200F_202E_200C_200E_206B_202B_200B_200F_206B_200F_206A_206C_200E_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2046810542), new Vector2(-1f, -27f), true)) - { - num = ((!(bool)childDisposable) ? 1900023188 : 1900023191); - while (true) - { - int num5 = num; - num3 = 1900023190; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 0: - num = 1900023191; - break; - case 1: - DrawQuestList(); - num = 1900023188; - break; - case 2: - goto end_IL_018d; - } - continue; - end_IL_018d: - break; - } - } - (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple2 = UiThemeUtils.BeginCard(); - Vector2 item = tuple2.ContentStartPos; - float item2 = tuple2.AvailableWidth; - ImDrawListPtr item3 = tuple2.DrawList; - List list = ParseClipboardItems(); - ImRaii.DisabledDisposable disabledDisposable = _200E_206F_200B_206B_202E_206D_206B_202D_200D_206D_206A_202C_206E_202E_202E_206B_200C_206E_206A_200E_206F_200F_206C_206A_206A_206B_202C_202A_206E_206F_206B_202A_200B_206F_206D_206F_202E_206F_200E_202C_202E(list.Count == 0); - try - { - num = ((!_206A_206E_206F_202D_206A_200B_206A_202A_200F_200B_202E_206D_206E_206C_206F_206A_206C_202E_206F_206D_202C_206E_206D_200E_206A_206E_202D_206E_202D_202D_200E_206D_206B_200C_202A_200C_202C_206B_206E_202D_202E(FontAwesomeIcon.Download, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2037990506), (Vector4?)null, (Vector4?)null, (Vector4?)null, (Vector2?)null)) ? (-2137916426) : (-2137916425)); - while (true) - { - int num8 = num; - num3 = -2137916426; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 2: - num = -2137916425; - break; - case 1: - ImportFromClipboard(list); - num = -2137916426; - break; - case 0: - goto end_IL_0273; - } - continue; - end_IL_0273: - break; - } - } - finally - { - num = ((disabledDisposable == null) ? 360587248 : 360587251); - while (true) - { - int num11 = num; - num3 = 360587249; - num4 = num11; - int num12 = num4 + num3; - int num13 = num4 & num3; - switch (num12 - (num13 + num13)) - { - case 0: - num = 360587251; - break; - case 1: - goto end_IL_02e5; - case 2: - _206E_206C_206D_200B_202C_206C_206D_206C_200B_206B_202D_202C_202D_202B_202A_200E_202A_202B_202C_202A_202A_200E_202E_200C_200C_206C_200F_200C_202B_200E_202C_202C_206E_200C_202D_200B_200D_206A_206D_206D_202E((IDisposable)disabledDisposable); - num = 360587248; - break; - } - continue; - end_IL_02e5: - break; - } - } - _200E_206B_202C_206D_206B_206E_200B_202B_200D_200B_206F_200B_200D_200C_202D_200C_206C_206F_200F_202B_206B_202A_200E_202E_200B_202C_200C_206E_200B_206A_202B_206F_206D_202A_206B_206E_206F_206E_206C_202A_202E(); - disabledDisposable = _200E_206F_200B_206B_202E_206D_206B_202D_200D_206D_206A_202C_206E_202E_202E_206B_200C_206E_206A_200E_206F_200F_206C_206A_206A_206B_202C_202A_206E_206F_206B_202A_200B_206F_206D_206F_202E_206F_200E_202C_202E(_questController.ManualPriorityQuests.Count == 0); - try - { - num = ((!_206A_206E_206F_202D_206A_200B_206A_202A_200F_200B_202E_206D_206E_206C_206F_206A_206C_202E_206F_206D_202C_206E_206D_200E_206A_206E_202D_206E_202D_202D_200E_206D_206B_200C_202A_200C_202C_206B_206E_202D_202E(FontAwesomeIcon.Upload, 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(245855616), (Vector4?)null, (Vector4?)null, (Vector4?)null, (Vector2?)null)) ? 733316058 : 733316060); - while (true) - { - int num14 = num; - num3 = 733316057; - num4 = num14; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 733316060; - break; - case 4: - _questController.SavePriorityQuests(); - num = 733316056; - break; - case 2: - num = ((_questController.ManualPriorityQuests.RemoveAll((Quest q) => _questFunctions.IsQuestComplete(q.Id)) <= 0) ? 733316056 : 733316061); - break; - case 5: - ExportToClipboard(); - num = 733316058; - break; - case 3: - _200E_206B_202C_206D_206B_206E_200B_202B_200D_200B_206F_200B_200D_200C_202D_200C_206C_206F_200F_202B_206B_202A_200E_202E_200B_202C_200C_206E_200B_206A_202B_206F_206D_202A_206B_206E_206F_206E_206C_202A_202E(); - num = ((!_206A_206E_206F_202D_206A_200B_206A_202A_200F_200B_202E_206D_206E_206C_206F_206A_206C_202E_206F_206D_202C_206E_206D_200E_206A_206E_202D_206E_202D_202D_200E_206D_206B_200C_202A_200C_202C_206B_206E_202D_202E(FontAwesomeIcon.Check, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1549242385), (Vector4?)null, (Vector4?)null, (Vector4?)null, (Vector2?)null)) ? 733316056 : 733316059); - break; - case 1: - { - _200E_206B_202C_206D_206B_206E_200B_202B_200D_200B_206F_200B_200D_200C_202D_200C_206C_206F_200F_202B_206B_202A_200E_202E_200B_202C_200C_206E_200B_206A_202B_206F_206D_202A_206B_206E_206F_206E_206C_202A_202E(); - ImRaii.DisabledDisposable disabledDisposable2 = _200E_206F_200B_206B_202E_206D_206B_202D_200D_206D_206A_202C_206E_202E_202E_206B_200C_206E_206A_200E_206F_200F_206C_206A_206A_206B_202C_202A_206E_206F_206B_202A_200B_206F_206D_206F_202E_206F_200E_202C_202E(!_202E_206C_206A_206B_206F_202B_202B_206B_202B_202A_206D_202D_200E_202E_206E_200C_202C_206A_206E_206E_200C_200F_206C_200F_200F_200C_202A_202A_202B_202E_202D_202B_200B_206B_206E_206E_202B_200B_200E_202D_202E(ImGuiKey.ModCtrl)); - try - { - num = ((!_206A_206E_206F_202D_206A_200B_206A_202A_200F_200B_202E_206D_206E_206C_206F_206A_206C_202E_206F_206D_202C_206E_206D_200E_206A_206E_202D_206E_202D_202D_200E_206D_206B_200C_202A_200C_202C_206B_206E_202D_202E(FontAwesomeIcon.Trash, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1192001234), (Vector4?)null, (Vector4?)null, (Vector4?)null, (Vector2?)null)) ? (-1696550278) : (-1696550279)); - while (true) - { - int num15 = num; - num3 = -1696550280; - num4 = num15; - int num16 = num4 + num3; - int num17 = num4 & num3; - switch (num16 - (num17 + num17)) - { - case 0: - num = -1696550279; - break; - case 1: - _questController.ClearQuestPriority(); - num = -1696550278; - break; - case 2: - goto end_IL_0522; - } - continue; - end_IL_0522: - break; - } - } - finally - { - num = ((disabledDisposable2 == null) ? (-940388815) : (-940388814)); - while (true) - { - int num18 = num; - num3 = -940388813; - num4 = num18; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -940388814; - break; - case 2: - goto end_IL_0597; - case 1: - _206E_206C_206D_200B_202C_206C_206D_206C_200B_206B_202D_202C_202D_202B_202A_200E_202A_202B_202C_202A_202A_200E_202E_200C_200C_206C_200F_200C_202B_200E_202C_202C_206E_200C_202D_200B_200D_206A_206D_206D_202E((IDisposable)disabledDisposable2); - num = -940388815; - break; - } - continue; - end_IL_0597: - break; - } - } - num = ((!_206A_202A_200F_206D_202A_200C_202B_200D_202E_206E_200E_200C_200C_202D_206C_200C_200F_200C_206D_200C_200C_202A_206D_200E_206C_206D_202D_200B_200C_200D_202B_206C_206E_200C_206D_206D_200B_202A_200F_202B_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? 1780050147 : 1780050144); - while (true) - { - int num19 = num; - num3 = 1780050146; - num4 = num19; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1780050144; - break; - case 2: - _206D_206E_206E_206F_202C_200E_200D_206B_206F_202C_200C_206D_206E_200C_200F_200C_206E_206F_206D_206A_206C_206F_206D_200B_200B_206D_206B_202A_206A_206C_206C_202D_202B_202B_202D_202E_206F_202B_202A_202E_202E((ImU8String)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(275309460)); - num = 1780050147; - break; - case 1: - goto end_IL_060a; - } - continue; - end_IL_060a: - break; - } - goto end_IL_03ab; - } - } - continue; - end_IL_03ab: - break; - } - } - finally - { - num = ((disabledDisposable == null) ? 1584072103 : 1584072100); - while (true) - { - int num20 = num; - num3 = 1584072101; - num4 = num20; - int num21 = num4 + num3; - int num22 = num4 & num3; - switch (num21 - (num22 + num22)) - { - case 0: - num = 1584072100; - break; - case 1: - _206E_206C_206D_200B_202C_206C_206D_206C_200B_206B_202D_202C_202D_202B_202A_200E_202A_202B_202C_202A_202A_200E_202E_200C_200C_206C_200F_200C_202B_200E_202C_202C_206E_200C_202D_200B_200D_206A_206D_206D_202E((IDisposable)disabledDisposable); - num = 1584072103; - break; - case 2: - goto end_IL_0686; - } - continue; - end_IL_0686: - break; - } - } - UiThemeUtils.EndCard(item, item2, item3); - return; - } + DrawQuestList(); } } + (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple2 = UiThemeUtils.BeginCard(); + Vector2 item = tuple2.ContentStartPos; + float item2 = tuple2.AvailableWidth; + ImDrawListPtr item3 = tuple2.DrawList; + List list = ParseClipboardItems(); + using (ImRaii.Disabled(list.Count == 0)) + { + if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Download, "Import from Clipboard")) + { + ImportFromClipboard(list); + } + } + ImGui.SameLine(); + using (ImRaii.Disabled(_questController.ManualPriorityQuests.Count == 0)) + { + if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Upload, "Export to Clipboard")) + { + ExportToClipboard(); + } + ImGui.SameLine(); + if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Check, "Remove finished Quests") && _questController.ManualPriorityQuests.RemoveAll((Quest q) => _questFunctions.IsQuestComplete(q.Id)) > 0) + { + _questController.SavePriorityQuests(); + } + ImGui.SameLine(); + using (ImRaii.Disabled(!ImGui.IsKeyDown(ImGuiKey.ModCtrl))) + { + if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Trash, "Clear All")) + { + _questController.ClearQuestPriority(); + } + } + if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) + { + ImGui.SetTooltip("Hold CTRL to enable this button."); + } + } + UiThemeUtils.EndCard(item, item2, item3); } - [MethodImpl(MethodImplOptions.NoInlining)] public void DrawCompact() { _questSelector.DrawSelection(); - _206F_206B_200B_202C_200C_200D_206B_206A_200C_200C_200B_206C_206B_202D_200B_206D_202B_200B_206C_200F_202E_200F_202B_206E_202B_206C_200B_202B_200E_200D_206E_206D_202E_200F_200C_200D_200B_202C_206C_202D_202E(); + ImGui.Spacing(); List manualPriorityQuests = _questController.ManualPriorityQuests; var (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); - int num; if (manualPriorityQuests.Count == 0) { - ImRaii.ColorDisposable colorDisposable = _200B_202D_200E_206A_206F_202C_206B_202C_206D_206E_202E_202B_202A_202E_202B_202A_206D_202C_206E_202E_202D_202D_200D_202D_206F_202E_200F_200B_200C_202A_200C_200D_200D_200E_200B_200E_200F_206F_202A_206A_202E(ImGuiCol.Text, UiThemeUtils.MutedTextColor, true); - try + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.MutedTextColor)) { - _200B_200C_202E_202D_206F_206A_200D_202B_202C_206B_202A_202C_206F_202C_200E_206B_200E_200E_202E_202B_202B_202D_206E_206C_206A_202B_202B_202B_202E_202D_200E_206F_206D_206E_200F_206F_202A_200E_206D_200F_202E((ImU8String)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(10601063)); - } - finally - { - num = ((colorDisposable == null) ? 1053224897 : 1053224898); - while (true) - { - int num2 = num; - int num3 = 1053224899; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1053224898; - break; - case 2: - goto end_IL_008b; - case 1: - _206E_206C_206D_200B_202C_206C_206D_206C_200B_206B_202D_202C_202D_202B_202A_200E_202A_202B_202C_202A_202A_200E_202E_200C_200C_206C_200F_200C_202B_200E_202C_202C_206E_200C_202D_200B_200D_206A_206D_206D_202E((IDisposable)colorDisposable); - num = 1053224897; - break; - } - continue; - end_IL_008b: - break; - } + ImGui.TextWrapped("No quests in priority queue."); } } else @@ -450,693 +146,216 @@ internal sealed class ManualPriorityComponent } UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); UiThemeUtils.SectionSpacing(); - float x = _200D_200B_200C_200E_200B_206C_202D_202D_206E_202C_206A_206E_200D_206B_206B_200E_206D_206F_202A_200B_202A_206D_202D_202C_206F_200D_200D_206C_202D_202B_206B_206E_200D_202D_202E_200F_200E_206F_200B_200C_202E().X; - float x2 = _206C_200D_206E_200F_200B_206B_206B_206E_206E_202B_202E_202E_206E_200B_206B_206F_206F_206F_202B_206C_200F_206C_202C_202C_200C_206B_206C_200B_202C_200D_202E_200F_202A_202C_206A_200C_206F_206E_206F_200D_202E().ItemSpacing.X; - float num5 = _202D_202E_206C_206C_202C_200B_202B_206C_200E_202E_206A_200C_200B_200D_202C_206A_206D_206B_206E_206D_202E_202C_202E_202D_202A_202B_206D_202D_206F_206C_206B_206E_202B_200F_206D_200D_200B_202B_202A_202C_202E(); + float x = ImGui.GetContentRegionAvail().X; + float x2 = ImGui.GetStyle().ItemSpacing.X; + float frameHeight = ImGui.GetFrameHeight(); List list = ParseClipboardItems(); - ImRaii.DisabledDisposable disabledDisposable = _200E_206F_200B_206B_202E_206D_206B_202D_200D_206D_206A_202C_206E_202E_202E_206B_200C_206E_206A_200E_206F_200F_206C_206A_206A_206B_202C_202A_206E_206F_206B_202A_200B_206F_206D_206F_202E_206F_200E_202C_202E(list.Count == 0); - try + using (ImRaii.Disabled(list.Count == 0)) { - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Download, num5)) ? 1715850622 : 1715850621); - while (true) + if (UiThemeUtils.IconButton(FontAwesomeIcon.Download, frameHeight)) { - int num6 = num; - int num3 = 1715850623; - int num4 = num6; - int num7 = num4 + num3; - int num8 = num4 & num3; - switch (num7 - (num8 + num8)) - { - case 0: - num = 1715850621; - break; - case 2: - ImportFromClipboard(list); - num = 1715850622; - break; - case 1: - goto end_IL_0154; - } - continue; - end_IL_0154: - break; + ImportFromClipboard(list); } } - finally + if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) { - num = ((disabledDisposable == null) ? (-957715576) : (-957715575)); - while (true) + ImGui.SetTooltip("Import from Clipboard"); + } + ImGui.SameLine(); + using (ImRaii.Disabled(manualPriorityQuests.Count == 0)) + { + if (UiThemeUtils.IconButton(FontAwesomeIcon.Upload, frameHeight)) { - int num9 = num; - int num3 = -957715576; - int num4 = num9; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto end_IL_01c6; - case 1: - _206E_206C_206D_200B_202C_206C_206D_206C_200B_206B_202D_202C_202D_202B_202A_200E_202A_202B_202C_202A_202A_200E_202E_200C_200C_206C_200F_200C_202B_200E_202C_202C_206E_200C_202D_200B_200D_206A_206D_206D_202E((IDisposable)disabledDisposable); - num = -957715576; - break; - case 2: - num = -957715575; - break; - } - continue; - end_IL_01c6: - break; + ExportToClipboard(); } } - num = ((!_206A_202A_200F_206D_202A_200C_202B_200D_202E_206E_200E_200C_200C_202D_206C_200C_200F_200C_206D_200C_200C_202A_206D_200E_206C_206D_202D_200B_200C_200D_202B_206C_206E_200C_206D_206D_200B_202A_200F_202B_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? (-969276494) : (-969276495)); - while (true) + if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) { - int num10 = num; - int num3 = -969276493; - int num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) + ImGui.SetTooltip("Export to Clipboard"); + } + ImGui.SameLine(); + float width = (x - frameHeight * 2f - x2 * 3f) / 2f; + using (ImRaii.Disabled(manualPriorityQuests.Count == 0)) + { + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Check, "Remove Done", width) && _questController.ManualPriorityQuests.RemoveAll((Quest q) => _questFunctions.IsQuestComplete(q.Id)) > 0) { - case 0: - num = -969276495; - break; - case 2: - _206D_206E_206E_206F_202C_200E_200D_206B_206F_202C_200C_206D_206E_200C_200F_200C_206E_206F_206D_206A_206C_206F_206D_200B_200B_206D_206B_202A_206A_206C_206C_202D_202B_202B_202D_202E_206F_202B_202A_202E_202E((ImU8String)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(1068567148)); - num = -969276494; - break; - case 1: - _200E_206B_202C_206D_206B_206E_200B_202B_200D_200B_206F_200B_200D_200C_202D_200C_206C_206F_200F_202B_206B_202A_200E_202E_200B_202C_200C_206E_200B_206A_202B_206F_206D_202A_206B_206E_206F_206E_206C_202A_202E(); - disabledDisposable = _200E_206F_200B_206B_202E_206D_206B_202D_200D_206D_206A_202C_206E_202E_202E_206B_200C_206E_206A_200E_206F_200F_206C_206A_206A_206B_202C_202A_206E_206F_206B_202A_200B_206F_206D_206F_202E_206F_200E_202C_202E(manualPriorityQuests.Count == 0); - try - { - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Upload, num5)) ? 151666692 : 151666695); - while (true) - { - int num13 = num; - num3 = 151666694; - num4 = num13; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 151666695; - break; - case 1: - ExportToClipboard(); - num = 151666692; - break; - case 2: - goto end_IL_02d1; - } - continue; - end_IL_02d1: - break; - } - } - finally - { - num = ((disabledDisposable == null) ? (-653805404) : (-653805401)); - while (true) - { - int num14 = num; - num3 = -653805403; - num4 = num14; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -653805401; - break; - case 1: - goto end_IL_033f; - case 2: - _206E_206C_206D_200B_202C_206C_206D_206C_200B_206B_202D_202C_202D_202B_202A_200E_202A_202B_202C_202A_202A_200E_202E_200C_200C_206C_200F_200C_202B_200E_202C_202C_206E_200C_202D_200B_200D_206A_206D_206D_202E((IDisposable)disabledDisposable); - num = -653805404; - break; - } - continue; - end_IL_033f: - break; - } - } - num = ((!_206A_202A_200F_206D_202A_200C_202B_200D_202E_206E_200E_200C_200C_202D_206C_200C_200F_200C_206D_200C_200C_202A_206D_200E_206C_206D_202D_200B_200C_200D_202B_206C_206E_200C_206D_206D_200B_202A_200F_202B_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? 631254428 : 631254431); - while (true) - { - int num15 = num; - num3 = 631254429; - num4 = num15; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 631254431; - break; - case 2: - _206D_206E_206E_206F_202C_200E_200D_206B_206F_202C_200C_206D_206E_200C_200F_200C_206E_206F_206D_206A_206C_206F_206D_200B_200B_206D_206B_202A_206A_206C_206C_202D_202B_202B_202D_202E_206F_202B_202A_202E_202E((ImU8String)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(245855616)); - num = 631254428; - break; - case 1: - { - _200E_206B_202C_206D_206B_206E_200B_202B_200D_200B_206F_200B_200D_200C_202D_200C_206C_206F_200F_202B_206B_202A_200E_202E_200B_202C_200C_206E_200B_206A_202B_206F_206D_202A_206B_206E_206F_206E_206C_202A_202E(); - float width = (x - num5 * 2f - x2 * 3f) / 2f; - disabledDisposable = _200E_206F_200B_206B_202E_206D_206B_202D_200D_206D_206A_202C_206E_202E_202E_206B_200C_206E_206A_200E_206F_200F_206C_206A_206A_206B_202C_202A_206E_206F_206B_202A_200B_206F_206D_206F_202E_206F_200E_202C_202E(manualPriorityQuests.Count == 0); - try - { - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Check, 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(446061087), width)) ? (-1706212292) : (-1706212289)); - while (true) - { - int num16 = num; - num3 = -1706212290; - num4 = num16; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - _questController.SavePriorityQuests(); - num = -1706212292; - break; - case 1: - num = ((_questController.ManualPriorityQuests.RemoveAll((Quest q) => _questFunctions.IsQuestComplete(q.Id)) <= 0) ? (-1706212292) : (-1706212291)); - break; - case 0: - num = -1706212289; - break; - case 2: - goto end_IL_046e; - } - continue; - end_IL_046e: - break; - } - } - finally - { - num = ((disabledDisposable == null) ? (-382502620) : (-382502619)); - while (true) - { - int num17 = num; - num3 = -382502620; - num4 = num17; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto end_IL_051f; - case 1: - _206E_206C_206D_200B_202C_206C_206D_206C_200B_206B_202D_202C_202D_202B_202A_200E_202A_202B_202C_202A_202A_200E_202E_200C_200C_206C_200F_200C_202B_200E_202C_202C_206E_200C_202D_200B_200D_206A_206D_206D_202E((IDisposable)disabledDisposable); - num = -382502620; - break; - case 2: - num = -382502619; - break; - } - continue; - end_IL_051f: - break; - } - } - num = ((!_206A_202A_200F_206D_202A_200C_202B_200D_202E_206E_200E_200C_200C_202D_206C_200C_200F_200C_206D_200C_200C_202A_206D_200E_206C_206D_202D_200B_200C_200D_202B_206C_206E_200C_206D_206D_200B_202A_200F_202B_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? 35071333 : 35071334); - int num21; - while (true) - { - int num18 = num; - num3 = 35071333; - num4 = num18; - int num19 = num4 + num3; - int num20 = num4 & num3; - switch (num19 - (num20 + num20)) - { - default: - continue; - case 0: - _200E_206B_202C_206D_206B_206E_200B_202B_200D_200B_206F_200B_200D_200C_202D_200C_206C_206F_200F_202B_206B_202A_200E_202E_200B_202C_200C_206E_200B_206A_202B_206F_206D_202A_206B_206E_206F_206E_206C_202A_202E(); - num = ((manualPriorityQuests.Count == 0) ? 35071329 : 35071332); - continue; - case 3: - _206D_206E_206E_206F_202C_200E_200D_206B_206F_202C_200C_206D_206E_200C_200F_200C_206E_206F_206D_206A_206C_206F_206D_200B_200B_206D_206B_202A_206A_206C_206C_202D_202B_202B_202D_202E_206F_202B_202A_202E_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-396666417)); - num = 35071333; - continue; - case 2: - num = 35071334; - continue; - case 1: - num21 = ((!_202E_206C_206A_206B_206F_202B_202B_206B_202B_202A_206D_202D_200E_202E_206E_200C_202C_206A_206E_206E_200C_200F_206C_200F_200F_200C_202A_202A_202B_202E_202D_202B_200B_206B_206E_206E_202B_200B_200E_202D_202E(ImGuiKey.ModCtrl)) ? 1 : 0); - break; - case 4: - num21 = 1; - break; - } - break; - } - disabledDisposable = _200E_206F_200B_206B_202E_206D_206B_202D_200D_206D_206A_202C_206E_202E_202E_206B_200C_206E_206A_200E_206F_200F_206C_206A_206A_206B_202C_202A_206E_206F_206B_202A_200B_206F_206D_206F_202E_206F_200E_202C_202E((byte)num21 != 0); - try - { - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Trash, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-391209074), width)) ? (-1705386044) : (-1705386041)); - while (true) - { - int num22 = num; - num3 = -1705386042; - num4 = num22; - int num23 = num4 + num3; - int num24 = num4 & num3; - switch (num23 - (num24 + num24)) - { - case 0: - num = -1705386041; - break; - case 1: - _questController.ClearQuestPriority(); - num = -1705386044; - break; - case 2: - goto end_IL_0675; - } - continue; - end_IL_0675: - break; - } - } - finally - { - num = ((disabledDisposable == null) ? 1135246932 : 1135246935); - while (true) - { - int num25 = num; - num3 = 1135246933; - num4 = num25; - int num26 = num4 + num3; - int num27 = num4 & num3; - switch (num26 - (num27 + num27)) - { - case 0: - num = 1135246935; - break; - case 2: - _206E_206C_206D_200B_202C_206C_206D_206C_200B_206B_202D_202C_202D_202B_202A_200E_202A_202B_202C_202A_202A_200E_202E_200C_200C_206C_200F_200C_202B_200E_202C_202C_206E_200C_202D_200B_200D_206A_206D_206D_202E((IDisposable)disabledDisposable); - num = 1135246932; - break; - case 1: - goto end_IL_06ea; - } - continue; - end_IL_06ea: - break; - } - } - num = ((!_206A_202A_200F_206D_202A_200C_202B_200D_202E_206E_200E_200C_200C_202D_206C_200C_200F_200C_206D_200C_200C_202A_206D_200E_206C_206D_202D_200B_200C_200D_202B_206C_206E_200C_206D_206D_200B_202A_200F_202B_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? (-912424730) : (-912424729)); - while (true) - { - int num28 = num; - num3 = -912424730; - num4 = num28; - int num29 = num4 + num3; - int num30 = num4 & num3; - switch (num29 - (num30 + num30)) - { - case 2: - num = -912424729; - break; - case 1: - _206D_206E_206E_206F_202C_200E_200D_206B_206F_202C_200C_206D_206E_200C_200F_200C_206E_206F_206D_206A_206C_206F_206D_200B_200B_206D_206B_202A_206A_206C_206C_202D_202B_202B_202D_202E_206F_202B_202A_202E_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-448993879)); - num = -912424730; - break; - case 0: - return; - } - } - } - } - } + _questController.SavePriorityQuests(); } } + if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) + { + ImGui.SetTooltip("Remove finished quests"); + } + ImGui.SameLine(); + using (ImRaii.Disabled(manualPriorityQuests.Count == 0 || !ImGui.IsKeyDown(ImGuiKey.ModCtrl))) + { + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Trash, "Clear", width)) + { + _questController.ClearQuestPriority(); + } + } + if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) + { + ImGui.SetTooltip("Hold CTRL to clear all"); + } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawQuestList() { List manualPriorityQuests = _questController.ManualPriorityQuests; - int num = ((manualPriorityQuests.Count != 0) ? (-1063636530) : (-1063636531)); - float num12 = default(float); - Quest quest4 = default(Quest); - int num17 = default(int); - int num18 = default(int); - while (true) + if (manualPriorityQuests.Count == 0) { - int num2 = num; - int num3 = -1063636529; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + ImGui.PushStyleColor(ImGuiCol.Text, UiThemeUtils.MutedTextColor); + ImGui.TextWrapped("No quests in priority queue. Add quests using the selector above to prioritise them over other available quests."); + ImGui.PopStyleColor(); + return; + } + Quest quest = null; + Quest quest2 = null; + int index = 0; + float x = ImGui.GetContentRegionAvail().X; + float num = ImGui.GetCursorPosX() + x - 12f; + List<(Vector2, Vector2)> list = new List<(Vector2, Vector2)>(); + for (int i = 0; i < manualPriorityQuests.Count; i++) + { + Vector2 item = ImGui.GetCursorScreenPos() + new Vector2(0f, (0f - ImGui.GetStyle().ItemSpacing.Y) / 2f); + Quest quest3 = manualPriorityQuests[i]; + ImU8String id = new ImU8String(5, 1); + id.AppendLiteral("Quest"); + id.AppendFormatted(quest3.Id); + using (ImRaii.PushId(id)) { - case 0: - goto IL_005d; - case 2: - _200D_206F_202E_200F_200B_202D_206C_202A_200D_206C_206E_202C_200C_200F_200E_206C_202D_206F_206D_200C_202B_206F_202D_200C_206A_202A_202C_202A_206E_206B_202E_206A_200D_200C_206E_200D_200E_202E_206B_202B_202E(ImGuiCol.Text, UiThemeUtils.MutedTextColor); - _200B_200C_202E_202D_206F_206A_200D_202B_202C_206B_202A_202C_206F_202C_200E_206B_200E_200E_202E_202B_202B_202D_206E_206C_206A_202B_202B_202B_202E_202D_200E_206F_206D_206E_200F_206F_202A_200E_206D_200F_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-126003018)); - _206C_206A_206A_206F_202C_200B_206C_206E_206D_200D_202A_202B_206B_200B_202C_200C_206A_202E_202E_206F_202E_202E_202E_206E_202B_200B_202B_206E_202E_202A_206F_200F_200B_200C_200B_206D_206B_206C_200E_200E_202E(); - return; - case 1: - { - Quest quest = null; - Quest quest2 = null; - int index = 0; - float x = _200D_200B_200C_200E_200B_206C_202D_202D_206E_202C_206A_206E_200D_206B_206B_200E_206D_206F_202A_200B_202A_206D_202D_202C_206F_200D_200D_206C_202D_202B_206B_206E_200D_202D_202E_200F_200E_206F_200B_200C_202E().X; - float num7 = _206C_202B_206B_202B_206D_200F_200E_206B_200B_206A_202D_200E_206F_206B_206C_200D_202B_200E_202E_202B_200C_200D_202C_202E_202A_200B_200C_206C_200C_206A_202A_202E_202E_206B_202E_200C_200B_206B_206D_206B_202E() + x - 12f; - List<(Vector2, Vector2)> list = new List<(Vector2, Vector2)>(); - for (int num8 = 0; num8 < manualPriorityQuests.Count; num8 = (num4 | num3) + (num4 & num3)) + if (manualPriorityQuests.Count > 1) { - Vector2 item = _202B_206F_206E_206C_202E_206E_206C_200E_206F_206D_202E_200D_206F_202E_206C_206F_200B_200C_202B_202E_206B_202D_202D_202D_206E_206B_206E_202D_206C_200E_206E_202A_202B_202A_206F_200E_200C_202A_202B_200D_202E() + new Vector2(0f, (0f - _206C_200D_206E_200F_200B_206B_206B_206E_206E_202B_202E_202E_206E_200B_206B_206F_206F_206F_202B_206C_200F_206C_202C_202C_200C_206B_206C_200B_202C_200D_202E_200F_202A_202C_206A_200C_206F_206E_206F_200D_202E().ItemSpacing.Y) / 2f); - Quest quest3 = manualPriorityQuests[num8]; - ImU8String imU8String = new ImU8String(5, 1); - imU8String.AppendLiteral(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(-670330761)); - imU8String.AppendFormatted(quest3.Id); - ImRaii.IdDisposable idDisposable = _206D_200C_200B_206E_206E_202C_200D_202E_202C_202D_206A_200B_206F_202D_206D_202B_202C_202E_206D_200D_200E_206F_202C_200F_202C_202D_202D_202A_206A_206B_200E_202C_200B_206B_200C_200D_202D_206C_206F_202A_202E(imU8String, true); - try + if (_draggedItem == quest3.Id) { - num = ((manualPriorityQuests.Count <= 1) ? (-774498785) : (-774498791)); - while (true) - { - int num9 = num; - num3 = -774498795; - num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 10: - num12 = _202D_202E_206C_206C_202C_200B_202B_206C_200E_202E_206A_200C_200B_200D_202C_206A_206D_206B_206E_206D_202E_202C_202E_202D_202A_202B_206D_202D_206F_206C_206B_206E_202B_200F_206D_200D_200B_202B_202A_202C_202E(); - _200F_200E_206E_200D_202B_200E_206C_206B_200D_200B_206B_202E_202B_202A_206F_202B_200B_200B_206A_202B_200B_206F_200C_200C_200E_200E_206F_206B_206D_202B_206B_206E_206C_202D_202C_202C_202C_206C_206D_200C_202E(); - UiThemeUtils.RowLabel(quest3.Info.Name, num12 + _206C_200D_206E_200F_200B_206B_206B_206E_206E_202B_202E_202E_206E_200B_206B_206F_206F_206F_202B_206C_200F_206C_202C_202C_200C_206B_206C_200B_202C_200D_202E_200F_202A_202C_206A_200C_206F_206E_206F_200D_202E().ItemSpacing.X); - num = ((!_206B_200C_200B_206D_202A_200E_200F_200B_206D_206A_206E_202C_206A_206A_206E_202B_202C_206E_202D_200F_206E_206A_200F_202A_206A_200F_200E_206D_200B_206D_200B_202D_202A_200B_202C_202A_202E_202D_200F_202A_202E()) ? (-774498788) : (-774498793)); - break; - case 11: - _draggedItem = quest3.Id; - num = -774498795; - break; - case 1: - num = ((!_202A_202D_206C_202D_200C_202E_202A_202E_202A_206C_202C_200B_202A_200C_202E_200C_202C_200D_202E_206E_206C_202E_202E_202C_206D_200C_206F_206B_202D_202C_206B_202D_206F_202A_206F_202B_202E_200D_206E_200C_202E(_draggedItem, (ElementId)null)) ? (-774498795) : (-774498797)); - break; - case 4: - quest = quest3; - num = -774498792; - break; - case 0: - _200E_206B_202C_206D_206B_206E_200B_202B_200D_200B_206F_200B_200D_200C_202D_200C_206C_206F_200F_202B_206B_202A_200E_202E_200B_202C_200C_206E_200B_206A_202B_206F_206D_202A_206B_206E_206F_206E_206C_202A_202E(); - num = -774498785; - break; - case 12: - num = ((!_202A_202D_206C_202D_200C_202E_202A_202E_202A_206C_202C_200B_202A_200C_202E_200C_202C_200D_202E_206E_206C_202E_202E_202C_206D_200C_206F_206B_202D_202C_206B_202D_206F_202A_206F_202B_202E_200D_206E_200C_202E(_draggedItem, quest3.Id)) ? (-774498794) : (-774498798)); - break; - case 5: - num = ((!_206A_206F_202C_206C_200F_200E_202C_200B_200E_206F_206B_206F_200D_200F_202B_202C_206B_200E_206C_200D_206B_200F_200F_200B_202E_200C_206E_202A_206B_206C_206F_202E_200F_206B_206F_202D_202C_200F_202D_202A_202E(ImGuiMouseButton.Left)) ? (-774498795) : (-774498786)); - break; - case 2: - _questTooltipComponent.Draw(quest3.Info); - num = -774498788; - break; - case 7: - _202C_200B_200D_200C_200D_202C_206D_202C_206B_206D_202D_206E_200C_206B_200C_202D_206A_206D_206E_206B_200F_200F_206B_200F_200E_202E_206A_202A_200C_206C_200E_206E_206E_200D_202A_202A_206A_202D_202D_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(319237677), FontAwesomeIcon.Bars, (Vector4?)_206E_202B_202A_202A_200B_206A_200F_206D_202E_202C_206E_200C_202E_202B_200E_202E_200E_202D_202E_200B_202C_200E_202C_206C_202B_200F_202B_206B_202A_202A_200F_202C_202B_202A_206B_202D_206B_202E_206A_202C_202E(_206C_206C_206F_206C_206C_202D_202D_202D_206C_202A_200E_202A_200E_200B_206D_206F_202C_202C_202B_200B_200B_206C_200B_202D_206B_202C_206E_206C_200C_206A_200B_206E_200F_200E_206A_202E_202B_206A_202B_202A_202E(ImGuiCol.ButtonActive)), (Vector4?)null, (Vector4?)null, (Vector2?)null); - num = -774498796; - break; - case 8: - num = -774498791; - break; - case 6: - num = ((!_202E_206E_202C_206A_200E_200C_202D_206F_206C_200F_200D_202B_200D_200C_200E_200F_200F_200C_200C_202B_206F_200D_202D_202E_200D_202B_202B_206E_200B_202B_200B_206B_206F_206D_206C_200B_200E_206D_200E_206B_202E()) ? (-774498795) : (-774498800)); - break; - case 9: - { - _200E_206B_202C_206D_206B_206E_200B_202B_200D_200B_206F_200B_200D_200C_202D_200C_206C_206F_200F_202B_206B_202A_200E_202E_200B_202C_200C_206E_200B_206A_202B_206F_206D_202A_206B_206E_206F_206E_206C_202A_202E(); - _206C_202D_202C_200B_206E_200C_206D_200E_202C_202D_206B_206B_200E_202C_206D_200F_206F_200B_200E_206B_206C_202C_206C_200E_202B_200C_206D_200C_200C_206A_200C_200B_200F_202E_206C_206D_206C_200E_206E_200F_202E(num7 - num12); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(8, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-1500854462)); - defaultInterpolatedStringHandler.AppendFormatted(num8); - num = ((!_202E_206E_202E_202B_206B_202A_200B_200E_200D_206A_206A_202E_206B_202E_206C_202C_206F_200B_202A_206D_206F_206D_206D_202C_206A_206A_206D_206A_200E_202C_206E_202E_206D_202B_202E_206B_206A_200D_200D_206D_202E(defaultInterpolatedStringHandler.ToStringAndClear(), FontAwesomeIcon.Times)) ? (-774498792) : (-774498799)); - break; - } - case 3: - _202E_206E_202E_202B_206B_202A_200B_200E_200D_206A_206A_202E_206B_202E_206C_202C_206F_200B_202A_206D_206F_206D_206D_202C_206A_206A_206D_206A_200E_202C_206E_202E_206D_202B_202E_206B_206A_200D_200D_206D_202E(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(507918364), FontAwesomeIcon.Bars); - num = -774498796; - break; - case 13: - goto end_IL_014f; - } - continue; - end_IL_014f: - break; - } + ImGuiComponents.IconButton("##Move", FontAwesomeIcon.Bars, ImGui.ColorConvertU32ToFloat4(ImGui.GetColorU32(ImGuiCol.ButtonActive))); } - finally + else { - num = ((idDisposable == null) ? (-1233269749) : (-1233269750)); - while (true) - { - int num13 = num; - num3 = -1233269749; - num4 = num13; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1233269750; - break; - case 0: - goto end_IL_03f3; - case 1: - _206E_206C_206D_200B_202C_206C_206D_206C_200B_206B_202D_202C_202D_202B_202A_200E_202A_202B_202C_202A_202A_200E_202E_200C_200C_206C_200F_200C_202B_200E_202C_202C_206E_200C_202D_200B_200D_206A_206D_206D_202E((IDisposable)idDisposable); - num = -1233269749; - break; - } - continue; - end_IL_03f3: - break; - } + ImGuiComponents.IconButton("##Move", FontAwesomeIcon.Bars); } - Vector2 item2 = new Vector2(item.X + x, _202B_206F_206E_206C_202E_206E_206C_200E_206F_206D_202E_200D_206F_202E_206C_206F_200B_200C_202B_202E_206B_202D_202D_202D_206E_206B_206E_202D_206C_200E_206E_202A_202B_202A_206F_200E_200C_202A_202B_200D_202E().Y - _206C_200D_206E_200F_200B_206B_206B_206E_206E_202B_202E_202E_206E_200B_206B_206F_206F_206F_202B_206C_200F_206C_202C_202C_200C_206B_206C_200B_202C_200D_202E_200F_202A_202C_206A_200C_206F_206E_206F_200D_202E().ItemSpacing.Y + 2f); - list.Add((item, item2)); - int num14 = num8; - num3 = 1; - num4 = num14; + if (_draggedItem == null && ImGui.IsItemActive() && ImGui.IsMouseDragging(ImGuiMouseButton.Left)) + { + _draggedItem = quest3.Id; + } + ImGui.SameLine(); } - _200F_206B_200C_200E_206B_206F_202E_206C_206F_200C_200C_206D_200D_200E_206B_200D_206D_202A_202A_206C_200C_202C_202D_200C_206B_202C_202E_206F_200C_206E_206B_206D_200B_200C_202C_202E_202C_200C_206F_202C_202E(); - using (List<(Vector2, Vector2)>.Enumerator enumerator = list.GetEnumerator()) + float frameHeight = ImGui.GetFrameHeight(); + ImGui.AlignTextToFramePadding(); + UiThemeUtils.RowLabel(quest3.Info.Name, frameHeight + ImGui.GetStyle().ItemSpacing.X); + if (ImGui.IsItemHovered()) { - num = -195838984; - while (true) - { - int num15 = num; - num3 = -195838984; - num4 = num15; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = -195838984; - break; - case 1: - var (topLeft, bottomRight) = enumerator.Current; - UiThemeUtils.DrawRowBackground(topLeft, bottomRight); - num = -195838984; - break; - case 0: - num = (enumerator.MoveNext() ? (-195838983) : (-195838982)); - break; - case 2: - goto end_IL_04c0; - } - continue; - end_IL_04c0: - break; - } + _questTooltipComponent.Draw(quest3.Info); } - num = (_206A_206F_202C_206C_200F_200E_202C_200B_200E_206F_206B_206F_200D_200F_202B_202C_206B_200E_206C_200D_206B_200F_200F_200B_202E_200C_206E_202A_206B_206C_206F_202E_200F_206B_206F_202D_202C_200F_202D_202A_202E(ImGuiMouseButton.Left) ? (-1587377589) : (-1587377597)); - while (true) + ImGui.SameLine(); + ImGui.SetCursorPosX(num - frameHeight); + if (ImGuiComponents.IconButton($"##Remove{i}", FontAwesomeIcon.Times)) { - int num16 = num; - num3 = -1587377585; - num4 = num16; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - _draggedItem = null; - num = -1587377586; - break; - case 10: - quest2 = quest4; - index = num17; - num = -1587377586; - break; - case 0: - quest4 = manualPriorityQuests.FirstOrDefault((Quest quest5) => _202A_202D_206C_202D_200C_202E_202A_202E_202A_206C_202C_200B_202A_200C_202E_200C_202C_200D_202E_206E_206C_202E_202E_202C_206D_200C_206F_206B_202D_202C_206B_202D_206F_202A_206F_202B_202E_200D_206E_200C_202E(quest5.Id, _draggedItem)); - num = ((quest4 != null) ? (-1587377591) : (-1587377588)); - break; - case 12: - _draggedItem = null; - num = -1587377586; - break; - case 6: - num18 = manualPriorityQuests.IndexOf(quest4); - var (pMin, pMax) = list[num18]; - _200F_206B_200C_200E_206B_206F_202E_206C_206F_200C_200C_206D_200D_200E_206B_200D_206D_202A_202A_206C_200C_202C_202D_200C_206B_202C_202E_206F_200C_206E_206B_206D_200B_200C_202C_202E_202C_200C_206F_202C_202E().AddRect(pMin, pMax, _202C_202A_206D_200E_202C_206A_200C_206E_202C_202E_202C_202E_206D_206E_200F_202E_206A_206B_200C_206C_202E_200B_200C_206E_202B_206B_200C_200E_202A_202B_202D_200C_202B_200E_200D_202B_200B_206F_200B_200F_202E(UiThemeUtils.CardBorderHighColor), 3f, ImDrawFlags.RoundCornersAll); - num17 = list.FindIndex(((Vector2 TopLeft, Vector2 BottomRight) tuple3) => _003C_003Ec._202C_200E_202C_202D_202C_200F_200B_202E_202C_202B_206D_202A_206F_202A_206B_200F_200C_202B_206D_200C_200C_206E_206D_202E_206B_200D_206F_202C_200E_202E_202A_202A_200B_206C_206F_206D_200C_202E_206A_202B_202E(tuple3.TopLeft, tuple3.BottomRight, true)); - num = ((num17 < 0) ? (-1587377586) : (-1587377590)); - break; - case 8: - manualPriorityQuests.Remove(quest2); - manualPriorityQuests.Insert(index, quest2); - _questController.SavePriorityQuests(); - num = -1587377594; - break; - case 9: - return; - case 11: - num = ((quest2 == null) ? (-1587377594) : (-1587377593)); - break; - case 5: - num = ((num18 == num17) ? (-1587377586) : (-1587377595)); - break; - case 1: - num = ((quest == null) ? (-1587377596) : (-1587377592)); - break; - case 4: - num = ((!_206B_200F_200C_206F_202A_200F_200D_202C_200F_200B_202E_206F_200F_200D_200F_206C_202C_202A_206A_200F_206C_202B_202C_200E_202B_202E_206E_200B_206F_200C_202E_200D_200B_206E_202E_206C_206F_200E_202D_202C_202E(_draggedItem, (ElementId)null)) ? (-1587377586) : (-1587377585)); - break; - case 7: - manualPriorityQuests.Remove(quest); - _questController.SavePriorityQuests(); - num = -1587377596; - break; - case 2: - num = -1587377597; - break; - } + quest = quest3; } } + Vector2 item2 = new Vector2(item.X + x, ImGui.GetCursorScreenPos().Y - ImGui.GetStyle().ItemSpacing.Y + 2f); + list.Add((item, item2)); + } + ImGui.GetWindowDrawList(); + foreach (var (topLeft, bottomRight) in list) + { + UiThemeUtils.DrawRowBackground(topLeft, bottomRight); + } + if (!ImGui.IsMouseDragging(ImGuiMouseButton.Left)) + { + _draggedItem = null; + } + else if (_draggedItem != null) + { + Quest quest4 = manualPriorityQuests.FirstOrDefault((Quest quest5) => quest5.Id == _draggedItem); + if (quest4 == null) + { + _draggedItem = null; } - continue; - IL_005d: - num = -1063636531; + else + { + int num2 = manualPriorityQuests.IndexOf(quest4); + var (pMin, pMax) = list[num2]; + ImGui.GetWindowDrawList().AddRect(pMin, pMax, ImGui.ColorConvertFloat4ToU32(UiThemeUtils.CardBorderHighColor), 3f, ImDrawFlags.RoundCornersAll); + int num3 = list.FindIndex(((Vector2 TopLeft, Vector2 BottomRight) tuple3) => ImGui.IsMouseHoveringRect(tuple3.TopLeft, tuple3.BottomRight, clip: true)); + if (num3 >= 0 && num2 != num3) + { + quest2 = quest4; + index = num3; + } + } + } + if (quest != null) + { + manualPriorityQuests.Remove(quest); + _questController.SavePriorityQuests(); + } + if (quest2 != null) + { + manualPriorityQuests.Remove(quest2); + manualPriorityQuests.Insert(index, quest2); + _questController.SavePriorityQuests(); } } - [MethodImpl(MethodImplOptions.NoInlining)] public string EncodeQuestPriority() { - return _206E_206D_206A_200B_206F_202E_200D_202B_202E_200B_202D_206E_206E_202D_200E_200C_206F_202B_206E_200C_206B_200C_206F_206D_200F_206A_206D_200C_206B_206F_200B_200D_206A_200C_206D_202B_200F_206F_200F_202C_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(215679190), _200E_200B_202A_200B_202D_200F_202D_200F_206E_200C_202C_206B_206F_200E_206B_206D_200E_200C_202E_200C_200F_200E_200E_200D_202A_202D_202C_200D_200B_200B_202A_206F_200B_202E_200D_200E_200B_202A_202B_206A_202E(_202D_206F_202C_200D_200F_202E_202B_202C_200E_202E_206A_206F_200B_202D_206B_206C_200D_206B_202C_206A_200B_200F_200F_206F_202C_206E_206D_202C_206F_200C_200F_200E_206A_200B_202D_202E_206B_206A_206C_200D_202E(_206F_206B_200D_206F_206E_202D_206F_202A_206F_200D_202D_206D_202D_202D_206C_206E_202A_200F_200B_200B_202D_200B_206B_200D_206E_206C_202D_202E_200E_206F_200E_200F_200C_202A_202A_200D_202D_200B_202D_200D_202E(), string.Join(';', _questController.ManualPriorityQuests.Select((Quest x) => _003C_003Ec._200D_206B_200B_206A_202C_200B_200E_206A_200E_200B_200E_206E_206A_200C_202D_200D_206B_206C_202E_206E_200B_206A_200F_200F_206B_200B_206F_202C_202D_206B_202C_200C_200D_202E_200C_202D_200D_206E_202B_206F_202E((object)x.Id)))))); + return "qst:priority:" + Convert.ToBase64String(Encoding.UTF8.GetBytes(string.Join(';', _questController.ManualPriorityQuests.Select((Quest x) => x.Id.ToString())))); } private List ParseClipboardItems() { string text = ThrottledClipboard.GetText(); - int num = ((!_206D_200B_206C_200B_202A_206A_200F_200F_200E_202A_200D_206A_200C_202E_206A_200B_200E_202E_206C_206C_206E_200D_206B_202C_200B_200B_200D_206A_206F_200C_206E_202B_202B_206C_202D_206B_202E_200E_200B_200D_202E(text, _lastClipboardText)) ? (-1557024321) : (-1557024322)); - while (true) + if (text != _lastClipboardText) { - int num2 = num; - int num3 = -1557024321; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1557024322; - break; - case 0: - return _clipboardItems; - case 1: - _lastClipboardText = text; - _clipboardItems = DecodeQuestPriority(text); - num = -1557024321; - break; - } + _lastClipboardText = text; + _clipboardItems = DecodeQuestPriority(text); } + return _clipboardItems; } - [MethodImpl(MethodImplOptions.NoInlining)] private void ExportToClipboard() { - _206D_200E_200E_206A_202C_200C_202E_200F_200F_202B_200F_206C_206F_202B_206B_202B_200B_206F_202B_200B_202E_206D_200D_206B_206B_202A_206E_200E_202D_206F_206E_206E_206D_200F_202E_202E_200F_200F_200B_206C_202E((ImU8String)EncodeQuestPriority()); - _200B_206A_202C_206D_200B_202E_200B_206B_200F_206B_206B_200C_206A_200E_206E_206F_206D_206A_206C_206F_200B_202B_200D_202D_206B_206E_206C_206C_206A_202E_206A_206D_200C_202D_200D_206B_206B_200B_206F_206D_202E(_chatGui, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1934191982), 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(1481660241), (ushort?)(ushort)576); + ImGui.SetClipboardText(EncodeQuestPriority()); + _chatGui.Print("Copied quests to clipboard.", "Questionable", 576); } - [MethodImpl(MethodImplOptions.NoInlining)] private void ImportFromClipboard(List questElements) { - int num = ((!_questController.ImportQuestPriority(questElements)) ? (-1390193338) : (-1390193339)); - while (true) + if (_questController.ImportQuestPriority(questElements)) { - int num2 = num; - int num3 = -1390193337; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _202D_206D_200F_200F_202A_200C_202D_200B_202D_206D_206F_200D_206D_206F_206E_200E_200F_202E_202A_200E_200F_206D_202A_200D_202A_200B_206C_200E_206B_202A_202B_202A_200C_200E_200F_206F_200C_200E_206C_206A_202E(_chatGui, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1037207422), 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(85756196), (ushort?)(ushort)576); - return; - case 2: - { - IChatGui chatGui = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(26, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(2016091093)); - defaultInterpolatedStringHandler.AppendFormatted(_questController.ManualPriorityQuests.Count); - defaultInterpolatedStringHandler.AppendLiteral(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(1735279246)); - _200B_206A_202C_206D_200B_202E_200B_206B_200F_206B_206B_200C_206A_200E_206E_206F_206D_206A_206C_206F_200B_202B_200D_202D_206B_206E_206C_206C_206A_202E_206A_206D_200C_202D_200D_206B_206B_200B_206F_206D_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), 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(1481660241), (ushort?)(ushort)576); - return; - } - case 0: - goto IL_00e2; - } - continue; - IL_00e2: - num = -1390193339; + _chatGui.Print($"Imported {_questController.ManualPriorityQuests.Count} priority quests.", "Questionable", 576); + } + else + { + _chatGui.PrintError("No importable quests found in clipboard data.", "Questionable", 576); } } - [MethodImpl(MethodImplOptions.NoInlining)] public static List DecodeQuestPriority(string clipboardText) { List list = new List(); try { - int num = (_202D_202C_200B_202A_206C_202B_200E_206C_200C_206D_206A_206E_202A_206F_206F_200B_206B_202C_202A_200D_200D_202E_202A_202E_206C_206E_206B_200B_200C_206B_206A_206C_206D_202C_200C_202C_206D_200D_200C_200F_202E(clipboardText) ? (-132354680) : (-132354674)); - string text = default(string); - int num5 = default(int); - while (true) + if (!string.IsNullOrEmpty(clipboardText)) { - int num2 = num; - int num3 = -132354679; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + string text = null; + if (clipboardText.StartsWith("qst:priority:", StringComparison.InvariantCulture)) { - case 0: - text = 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(-800686041); - num = -132354676; - break; - case 6: + text = "qst:priority:"; + } + else if (clipboardText.StartsWith("qst:v1:", StringComparison.InvariantCulture)) { - clipboardText = _202E_200F_206C_200C_202E_202A_202A_206B_206E_202C_200D_206A_206A_206B_206A_202B_200D_200C_200D_200F_202C_200C_202C_200D_202B_200D_202B_202D_206A_202B_202E_206F_202C_200C_202D_200B_202D_202A_202B_202B_202E(clipboardText, _200F_200E_200F_202D_200E_202B_202D_200D_206B_200F_206E_206F_206E_202B_202D_200E_206C_200F_200E_202D_200F_202C_206D_206C_206D_200F_206E_202C_202A_200C_200E_200C_202E_200B_200F_200D_200F_200D_200D_200C_202E(text)); - string text2 = _206C_206B_202A_206E_200C_202D_206E_206C_200E_200C_206C_202C_206D_200F_200F_206C_206E_200C_206A_200B_202A_202C_202A_202E_200B_200B_200E_200B_202A_202C_202E_206A_202B_200F_202A_206C_202A_200D_206E_202E_202E(_206F_206B_200D_206F_206E_202D_206F_202A_206F_200D_202D_206D_202D_202D_206C_206E_202A_200F_200B_200B_202D_200B_206B_200D_206E_206C_202D_202E_200E_206F_200E_200F_200C_202A_202A_200D_202D_200B_202D_200D_202E(), _202B_206C_206D_206C_200E_200C_206C_200B_202C_202D_202D_206F_200B_202A_202B_202A_202D_206D_206D_202C_202A_206C_202E_206C_202E_206C_206E_202E_206E_206D_206B_202E_202C_202B_206B_202C_200F_202C_202B_200C_202E(clipboardText)); - list.AddRange(_206C_200C_200B_206F_200C_202A_206E_202C_200C_202D_200F_206B_202E_202C_200E_202E_206A_202B_202D_206A_202D_202C_202A_202A_202E_200E_200D_200F_202B_200F_206A_200D_202B_200C_206D_202C_206A_206F_206B_202E_202E((IEnumerable)_206E_206F_200F_206D_202B_206A_200B_200F_206E_200C_206D_200B_206C_200E_206F_202E_206C_206D_206D_206A_206F_202C_200E_202E_200B_202A_206E_206E_200E_206D_200E_206E_206F_206D_206C_202D_206C_206D_200D_206B_202E(text2, ';', StringSplitOptions.None), ref num5)); - num = -132354680; - break; + text = "qst:v1:"; } - case 3: - text = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-775608815); - num = -132354676; - break; - case 4: - num = -132354674; - break; - case 2: - num = ((!_200F_206D_202D_200F_206D_202A_206D_206B_202A_202D_206C_206F_200D_206A_202A_206F_200D_200B_206A_206E_200E_206F_206C_200F_200D_206C_206C_206B_206B_206D_206B_206C_206D_200D_206B_206C_206E_206C_206D_200D_202E(clipboardText, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(790642103), StringComparison.InvariantCulture)) ? (-132354676) : (-132354678)); - break; - case 5: - num = ((text == null) ? (-132354680) : (-132354673)); - break; - case 7: - text = null; - num = ((!_200F_206D_202D_200F_206D_202A_206D_206B_202A_202D_206C_206F_200D_206A_202A_206F_200D_200B_206A_206E_200E_206F_206C_200F_200D_206C_206C_206B_206B_206D_206B_206C_206D_200D_206B_206C_206E_206C_206D_200D_202E(clipboardText, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(215679190), StringComparison.InvariantCulture)) ? (-132354677) : (-132354679)); - break; - case 1: - goto end_IL_0029; + if (text != null) + { + clipboardText = clipboardText.Substring(text.Length); + string text2 = Encoding.UTF8.GetString(Convert.FromBase64String(clipboardText)); + list.AddRange(ElementId.FromStrings(text2.Split(';'), out var _)); } - continue; - end_IL_0029: - break; } } catch (Exception) @@ -1145,254 +364,4 @@ internal sealed class ManualPriorityComponent } return list; } - - static void _200B_200C_202E_202D_206F_206A_200D_202B_202C_206B_202A_202C_206F_202C_200E_206B_200E_200E_202E_202B_202B_202D_206E_206C_206A_202B_202B_202B_202E_202D_200E_206F_206D_206E_200F_206F_202A_200E_206D_200F_202E(ImU8String P_0) - { - ImGui.TextWrapped(P_0); - } - - static void _206C_206A_202B_200F_200B_200F_200C_206D_206A_206A_200F_202B_200B_202A_200B_202C_202B_200C_202A_206B_206E_202D_202B_200C_200B_200D_202D_206F_200D_202A_200F_202C_200B_200B_206D_206C_200D_206D_206A_202E() - { - ImGui.Bullet(); - } - - static void _200E_206B_202C_206D_206B_206E_200B_202B_200D_200B_206F_200B_200D_200C_202D_200C_206C_206F_200F_202B_206B_202A_200E_202E_200B_202C_200C_206E_200B_206A_202B_206F_206D_202A_206B_206E_206F_206E_206C_202A_202E() - { - ImGui.SameLine(); - } - - static void _206F_206B_200B_202C_200C_200D_206B_206A_200C_200C_200B_206C_206B_202D_200B_206D_202B_200B_206C_200F_202E_200F_202B_206E_202B_206C_200B_202B_200E_200D_206E_206D_202E_200F_200C_200D_200B_202C_206C_202D_202E() - { - ImGui.Spacing(); - } - - static void _200C_202C_206E_200F_200E_202E_200D_202D_206C_200F_206A_206C_206D_206D_202C_200D_200E_206A_202E_202A_206E_206A_206B_206E_206E_200C_200C_202C_206C_202D_202C_206C_202A_206A_206A_206E_202B_202D_206E_200D_202E(ImU8String P_0) - { - ImGui.Text(P_0); - } - - static ImRaii.ChildDisposable _202B_202A_200D_200B_206C_200F_202C_206F_202B_200D_202A_206D_200D_200D_206F_200F_206E_200F_202B_206B_200E_206D_200F_202B_206C_202E_202C_200F_202E_200C_200E_206B_202B_200B_200F_206B_200F_206A_206C_200E_202E(ImU8String P_0, Vector2 P_1, bool P_2) - { - return ImRaii.Child(P_0, P_1, P_2); - } - - static ImRaii.DisabledDisposable _200E_206F_200B_206B_202E_206D_206B_202D_200D_206D_206A_202C_206E_202E_202E_206B_200C_206E_206A_200E_206F_200F_206C_206A_206A_206B_202C_202A_206E_206F_206B_202A_200B_206F_206D_206F_202E_206F_200E_202C_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static bool _206A_206E_206F_202D_206A_200B_206A_202A_200F_200B_202E_206D_206E_206C_206F_206A_206C_202E_206F_206D_202C_206E_206D_200E_206A_206E_202D_206E_202D_202D_200E_206D_206B_200C_202A_200C_202C_206B_206E_202D_202E(FontAwesomeIcon P_0, string P_1, Vector4? P_2, Vector4? P_3, Vector4? P_4, Vector2? P_5) - { - return ImGuiComponents.IconButtonWithText(P_0, P_1, P_2, P_3, P_4, P_5); - } - - static void _206E_206C_206D_200B_202C_206C_206D_206C_200B_206B_202D_202C_202D_202B_202A_200E_202A_202B_202C_202A_202A_200E_202E_200C_200C_206C_200F_200C_202B_200E_202C_202C_206E_200C_202D_200B_200D_206A_206D_206D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static bool _202E_206C_206A_206B_206F_202B_202B_206B_202B_202A_206D_202D_200E_202E_206E_200C_202C_206A_206E_206E_200C_200F_206C_200F_200F_200C_202A_202A_202B_202E_202D_202B_200B_206B_206E_206E_202B_200B_200E_202D_202E(ImGuiKey P_0) - { - return ImGui.IsKeyDown(P_0); - } - - static bool _206A_202A_200F_206D_202A_200C_202B_200D_202E_206E_200E_200C_200C_202D_206C_200C_200F_200C_206D_200C_200C_202A_206D_200E_206C_206D_202D_200B_200C_200D_202B_206C_206E_200C_206D_206D_200B_202A_200F_202B_202E(ImGuiHoveredFlags P_0) - { - return ImGui.IsItemHovered(P_0); - } - - static void _206D_206E_206E_206F_202C_200E_200D_206B_206F_202C_200C_206D_206E_200C_200F_200C_206E_206F_206D_206A_206C_206F_206D_200B_200B_206D_206B_202A_206A_206C_206C_202D_202B_202B_202D_202E_206F_202B_202A_202E_202E(ImU8String P_0) - { - ImGui.SetTooltip(P_0); - } - - static ImRaii.ColorDisposable _200B_202D_200E_206A_206F_202C_206B_202C_206D_206E_202E_202B_202A_202E_202B_202A_206D_202C_206E_202E_202D_202D_200D_202D_206F_202E_200F_200B_200C_202A_200C_200D_200D_200E_200B_200E_200F_206F_202A_206A_202E(ImGuiCol P_0, Vector4 P_1, bool P_2) - { - return ImRaii.PushColor(P_0, P_1, P_2); - } - - static Vector2 _200D_200B_200C_200E_200B_206C_202D_202D_206E_202C_206A_206E_200D_206B_206B_200E_206D_206F_202A_200B_202A_206D_202D_202C_206F_200D_200D_206C_202D_202B_206B_206E_200D_202D_202E_200F_200E_206F_200B_200C_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static ImGuiStylePtr _206C_200D_206E_200F_200B_206B_206B_206E_206E_202B_202E_202E_206E_200B_206B_206F_206F_206F_202B_206C_200F_206C_202C_202C_200C_206B_206C_200B_202C_200D_202E_200F_202A_202C_206A_200C_206F_206E_206F_200D_202E() - { - return ImGui.GetStyle(); - } - - static float _202D_202E_206C_206C_202C_200B_202B_206C_200E_202E_206A_200C_200B_200D_202C_206A_206D_206B_206E_206D_202E_202C_202E_202D_202A_202B_206D_202D_206F_206C_206B_206E_202B_200F_206D_200D_200B_202B_202A_202C_202E() - { - return ImGui.GetFrameHeight(); - } - - static void _200D_206F_202E_200F_200B_202D_206C_202A_200D_206C_206E_202C_200C_200F_200E_206C_202D_206F_206D_200C_202B_206F_202D_200C_206A_202A_202C_202A_206E_206B_202E_206A_200D_200C_206E_200D_200E_202E_206B_202B_202E(ImGuiCol P_0, Vector4 P_1) - { - ImGui.PushStyleColor(P_0, P_1); - } - - static void _206C_206A_206A_206F_202C_200B_206C_206E_206D_200D_202A_202B_206B_200B_202C_200C_206A_202E_202E_206F_202E_202E_202E_206E_202B_200B_202B_206E_202E_202A_206F_200F_200B_200C_200B_206D_206B_206C_200E_200E_202E() - { - ImGui.PopStyleColor(); - } - - static float _206C_202B_206B_202B_206D_200F_200E_206B_200B_206A_202D_200E_206F_206B_206C_200D_202B_200E_202E_202B_200C_200D_202C_202E_202A_200B_200C_206C_200C_206A_202A_202E_202E_206B_202E_200C_200B_206B_206D_206B_202E() - { - return ImGui.GetCursorPosX(); - } - - static Vector2 _202B_206F_206E_206C_202E_206E_206C_200E_206F_206D_202E_200D_206F_202E_206C_206F_200B_200C_202B_202E_206B_202D_202D_202D_206E_206B_206E_202D_206C_200E_206E_202A_202B_202A_206F_200E_200C_202A_202B_200D_202E() - { - return ImGui.GetCursorScreenPos(); - } - - static ImRaii.IdDisposable _206D_200C_200B_206E_206E_202C_200D_202E_202C_202D_206A_200B_206F_202D_206D_202B_202C_202E_206D_200D_200E_206F_202C_200F_202C_202D_202D_202A_206A_206B_200E_202C_200B_206B_200C_200D_202D_206C_206F_202A_202E(ImU8String P_0, bool P_1) - { - return ImRaii.PushId(P_0, P_1); - } - - static bool _202A_202D_206C_202D_200C_202E_202A_202E_202A_206C_202C_200B_202A_200C_202E_200C_202C_200D_202E_206E_206C_202E_202E_202C_206D_200C_206F_206B_202D_202C_206B_202D_206F_202A_206F_202B_202E_200D_206E_200C_202E(ElementId P_0, ElementId P_1) - { - return P_0 == P_1; - } - - static uint _206C_206C_206F_206C_206C_202D_202D_202D_206C_202A_200E_202A_200E_200B_206D_206F_202C_202C_202B_200B_200B_206C_200B_202D_206B_202C_206E_206C_200C_206A_200B_206E_200F_200E_206A_202E_202B_206A_202B_202A_202E(ImGuiCol P_0) - { - return ImGui.GetColorU32(P_0); - } - - static Vector4 _206E_202B_202A_202A_200B_206A_200F_206D_202E_202C_206E_200C_202E_202B_200E_202E_200E_202D_202E_200B_202C_200E_202C_206C_202B_200F_202B_206B_202A_202A_200F_202C_202B_202A_206B_202D_206B_202E_206A_202C_202E(uint P_0) - { - return ImGui.ColorConvertU32ToFloat4(P_0); - } - - static bool _202C_200B_200D_200C_200D_202C_206D_202C_206B_206D_202D_206E_200C_206B_200C_202D_206A_206D_206E_206B_200F_200F_206B_200F_200E_202E_206A_202A_200C_206C_200E_206E_206E_200D_202A_202A_206A_202D_202D_202E(string P_0, FontAwesomeIcon P_1, Vector4? P_2, Vector4? P_3, Vector4? P_4, Vector2? P_5) - { - return ImGuiComponents.IconButton(P_0, P_1, P_2, P_3, P_4, P_5); - } - - static bool _202E_206E_202E_202B_206B_202A_200B_200E_200D_206A_206A_202E_206B_202E_206C_202C_206F_200B_202A_206D_206F_206D_206D_202C_206A_206A_206D_206A_200E_202C_206E_202E_206D_202B_202E_206B_206A_200D_200D_206D_202E(string P_0, FontAwesomeIcon P_1) - { - return ImGuiComponents.IconButton(P_0, P_1); - } - - static bool _202E_206E_202C_206A_200E_200C_202D_206F_206C_200F_200D_202B_200D_200C_200E_200F_200F_200C_200C_202B_206F_200D_202D_202E_200D_202B_202B_206E_200B_202B_200B_206B_206F_206D_206C_200B_200E_206D_200E_206B_202E() - { - return ImGui.IsItemActive(); - } - - static bool _206A_206F_202C_206C_200F_200E_202C_200B_200E_206F_206B_206F_200D_200F_202B_202C_206B_200E_206C_200D_206B_200F_200F_200B_202E_200C_206E_202A_206B_206C_206F_202E_200F_206B_206F_202D_202C_200F_202D_202A_202E(ImGuiMouseButton P_0) - { - return ImGui.IsMouseDragging(P_0); - } - - static void _200F_200E_206E_200D_202B_200E_206C_206B_200D_200B_206B_202E_202B_202A_206F_202B_200B_200B_206A_202B_200B_206F_200C_200C_200E_200E_206F_206B_206D_202B_206B_206E_206C_202D_202C_202C_202C_206C_206D_200C_202E() - { - ImGui.AlignTextToFramePadding(); - } - - static bool _206B_200C_200B_206D_202A_200E_200F_200B_206D_206A_206E_202C_206A_206A_206E_202B_202C_206E_202D_200F_206E_206A_200F_202A_206A_200F_200E_206D_200B_206D_200B_202D_202A_200B_202C_202A_202E_202D_200F_202A_202E() - { - return ImGui.IsItemHovered(); - } - - static void _206C_202D_202C_200B_206E_200C_206D_200E_202C_202D_206B_206B_200E_202C_206D_200F_206F_200B_200E_206B_206C_202C_206C_200E_202B_200C_206D_200C_200C_206A_200C_200B_200F_202E_206C_206D_206C_200E_206E_200F_202E(float P_0) - { - ImGui.SetCursorPosX(P_0); - } - - static ImDrawListPtr _200F_206B_200C_200E_206B_206F_202E_206C_206F_200C_200C_206D_200D_200E_206B_200D_206D_202A_202A_206C_200C_202C_202D_200C_206B_202C_202E_206F_200C_206E_206B_206D_200B_200C_202C_202E_202C_200C_206F_202C_202E() - { - return ImGui.GetWindowDrawList(); - } - - static bool _206B_200F_200C_206F_202A_200F_200D_202C_200F_200B_202E_206F_200F_200D_200F_206C_202C_202A_206A_200F_206C_202B_202C_200E_202B_202E_206E_200B_206F_200C_202E_200D_200B_206E_202E_206C_206F_200E_202D_202C_202E(ElementId P_0, ElementId P_1) - { - return P_0 != P_1; - } - - static uint _202C_202A_206D_200E_202C_206A_200C_206E_202C_202E_202C_202E_206D_206E_200F_202E_206A_206B_200C_206C_202E_200B_200C_206E_202B_206B_200C_200E_202A_202B_202D_200C_202B_200E_200D_202B_200B_206F_200B_200F_202E(Vector4 P_0) - { - return ImGui.ColorConvertFloat4ToU32(P_0); - } - - static Encoding _206F_206B_200D_206F_206E_202D_206F_202A_206F_200D_202D_206D_202D_202D_206C_206E_202A_200F_200B_200B_202D_200B_206B_200D_206E_206C_202D_202E_200E_206F_200E_200F_200C_202A_202A_200D_202D_200B_202D_200D_202E() - { - return Encoding.UTF8; - } - - static byte[] _202D_206F_202C_200D_200F_202E_202B_202C_200E_202E_206A_206F_200B_202D_206B_206C_200D_206B_202C_206A_200B_200F_200F_206F_202C_206E_206D_202C_206F_200C_200F_200E_206A_200B_202D_202E_206B_206A_206C_200D_202E(Encoding P_0, string P_1) - { - return P_0.GetBytes(P_1); - } - - static string _200E_200B_202A_200B_202D_200F_202D_200F_206E_200C_202C_206B_206F_200E_206B_206D_200E_200C_202E_200C_200F_200E_200E_200D_202A_202D_202C_200D_200B_200B_202A_206F_200B_202E_200D_200E_200B_202A_202B_206A_202E(byte[] P_0) - { - return Convert.ToBase64String(P_0); - } - - static string _206E_206D_206A_200B_206F_202E_200D_202B_202E_200B_202D_206E_206E_202D_200E_200C_206F_202B_206E_200C_206B_200C_206F_206D_200F_206A_206D_200C_206B_206F_200B_200D_206A_200C_206D_202B_200F_206F_200F_202C_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static bool _206D_200B_206C_200B_202A_206A_200F_200F_200E_202A_200D_206A_200C_202E_206A_200B_200E_202E_206C_206C_206E_200D_206B_202C_200B_200B_200D_206A_206F_200C_206E_202B_202B_206C_202D_206B_202E_200E_200B_200D_202E(string P_0, string P_1) - { - return P_0 != P_1; - } - - static void _206D_200E_200E_206A_202C_200C_202E_200F_200F_202B_200F_206C_206F_202B_206B_202B_200B_206F_202B_200B_202E_206D_200D_206B_206B_202A_206E_200E_202D_206F_206E_206E_206D_200F_202E_202E_200F_200F_200B_206C_202E(ImU8String P_0) - { - ImGui.SetClipboardText(P_0); - } - - static void _200B_206A_202C_206D_200B_202E_200B_206B_200F_206B_206B_200C_206A_200E_206E_206F_206D_206A_206C_206F_200B_202B_200D_202D_206B_206E_206C_206C_206A_202E_206A_206D_200C_202D_200D_206B_206B_200B_206F_206D_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.Print(P_1, P_2, P_3); - } - - static void _202D_206D_200F_200F_202A_200C_202D_200B_202D_206D_206F_200D_206D_206F_206E_200E_200F_202E_202A_200E_200F_206D_202A_200D_202A_200B_206C_200E_206B_202A_202B_202A_200C_200E_200F_206F_200C_200E_206C_206A_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); - } - - static bool _202D_202C_200B_202A_206C_202B_200E_206C_200C_206D_206A_206E_202A_206F_206F_200B_206B_202C_202A_200D_200D_202E_202A_202E_206C_206E_206B_200B_200C_206B_206A_206C_206D_202C_200C_202C_206D_200D_200C_200F_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static bool _200F_206D_202D_200F_206D_202A_206D_206B_202A_202D_206C_206F_200D_206A_202A_206F_200D_200B_206A_206E_200E_206F_206C_200F_200D_206C_206C_206B_206B_206D_206B_206C_206D_200D_206B_206C_206E_206C_206D_200D_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.StartsWith(P_1, P_2); - } - - static int _200F_200E_200F_202D_200E_202B_202D_200D_206B_200F_206E_206F_206E_202B_202D_200E_206C_200F_200E_202D_200F_202C_206D_206C_206D_200F_206E_202C_202A_200C_200E_200C_202E_200B_200F_200D_200F_200D_200D_200C_202E(string P_0) - { - return P_0.Length; - } - - static string _202E_200F_206C_200C_202E_202A_202A_206B_206E_202C_200D_206A_206A_206B_206A_202B_200D_200C_200D_200F_202C_200C_202C_200D_202B_200D_202B_202D_206A_202B_202E_206F_202C_200C_202D_200B_202D_202A_202B_202B_202E(string P_0, int P_1) - { - return P_0.Substring(P_1); - } - - static byte[] _202B_206C_206D_206C_200E_200C_206C_200B_202C_202D_202D_206F_200B_202A_202B_202A_202D_206D_206D_202C_202A_206C_202E_206C_202E_206C_206E_202E_206E_206D_206B_202E_202C_202B_206B_202C_200F_202C_202B_200C_202E(string P_0) - { - return Convert.FromBase64String(P_0); - } - - static string _206C_206B_202A_206E_200C_202D_206E_206C_200E_200C_206C_202C_206D_200F_200F_206C_206E_200C_206A_200B_202A_202C_202A_202E_200B_200B_200E_200B_202A_202C_202E_206A_202B_200F_202A_206C_202A_200D_206E_202E_202E(Encoding P_0, byte[] P_1) - { - return P_0.GetString(P_1); - } - - static string[] _206E_206F_200F_206D_202B_206A_200B_200F_206E_200C_206D_200B_206C_200E_206F_202E_206C_206D_206D_206A_206F_202C_200E_202E_200B_202A_206E_206E_200E_206D_200E_206E_206F_206D_206C_202D_206C_206D_200D_206B_202E(string P_0, char P_1, StringSplitOptions P_2) - { - return P_0.Split(P_1, P_2); - } - - static List _206C_200C_200B_206F_200C_202A_206E_202C_200C_202D_200F_206B_202E_202C_200E_202E_206A_202B_202D_206A_202D_202C_202A_202A_202E_200E_200D_200F_202B_200F_206A_200D_202B_200C_206D_202C_206A_206F_206B_202E_202E(IEnumerable P_0, ref int P_1) - { - return ElementId.FromStrings(P_0, out P_1); - } } diff --git a/Questionable/Questionable.Windows.QuestComponents/NavigationBarComponent.cs b/Questionable/Questionable.Windows.QuestComponents/NavigationBarComponent.cs index 2f329b7..670be16 100644 --- a/Questionable/Questionable.Windows.QuestComponents/NavigationBarComponent.cs +++ b/Questionable/Questionable.Windows.QuestComponents/NavigationBarComponent.cs @@ -1,10 +1,8 @@ using System; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; using Dalamud.Interface; using Dalamud.Interface.Utility.Raii; -using LLib.ImGui; namespace Questionable.Windows.QuestComponents; @@ -29,297 +27,84 @@ internal sealed class NavigationBarComponent _changelogWindow = changelogWindow; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Draw() { - float x = _206C_202C_200E_206D_200F_202D_200B_200B_200D_200D_206A_202A_202E_206A_200B_200B_202E_206A_206C_202B_202C_206F_200F_206F_200E_206F_202E_206B_206F_202A_200E_206F_200B_206E_202D_202E_206F_200F_202A_206C_202E().X; - float x2 = _206C_202E_206A_206E_200B_200E_200B_200F_200E_206B_206B_200C_202E_206E_202B_202D_206C_206C_202D_206E_206E_206B_202B_206B_200E_200E_206E_206E_202C_202E_200C_200F_206B_200E_202D_200E_202B_202D_200E_200D_202E().ItemSpacing.X; + float x = ImGui.GetContentRegionAvail().X; + float x2 = ImGui.GetStyle().ItemSpacing.X; float width = (x - 4f * x2) / 5f; - NavButton(FontAwesomeIcon.Cog, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1437603502), delegate + NavButton(FontAwesomeIcon.Cog, "Settings", delegate { - _202E_200B_206C_200E_202E_202E_200E_206C_206C_206A_206D_206B_202D_202D_202E_206C_202C_200B_206A_206C_202B_206D_200F_202D_200F_202E_202A_206F_200C_200F_206F_202E_200F_206D_206C_200B_206C_206C_200E_200E_202E((LWindow)_configWindow, true); + _configWindow.IsOpenAndUncollapsed = true; }, width, active: true); - _206F_206F_202E_200E_202D_202D_200D_200B_202D_202A_200F_202D_200E_206E_206E_206E_206E_200D_206C_206D_202D_202B_200F_200C_200E_206E_206F_206B_200B_202B_200B_200C_206E_206A_202B_200C_200F_206A_202D_200E_202E(); - NavButton(FontAwesomeIcon.Book, 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(-1518016375), delegate + ImGui.SameLine(); + NavButton(FontAwesomeIcon.Book, "Journal Progress", delegate { - _202E_200B_206C_200E_202E_202E_200E_206C_206C_206A_206D_206B_202D_202D_202E_206C_202C_200B_206A_206C_202B_206D_200F_202D_200F_202E_202A_206F_200C_200F_206F_202E_200F_206D_206C_200B_206C_206C_200E_200E_202E((LWindow)_journalProgressWindow, true); + _journalProgressWindow.IsOpenAndUncollapsed = true; }, width); - _206F_206F_202E_200E_202D_202D_200D_200B_202D_202A_200F_202D_200E_206E_206E_206E_206E_200D_206C_206D_202D_202B_200F_200C_200E_206E_206F_206B_200B_202B_200B_200C_206E_206A_202B_200C_200F_206A_202D_200E_202E(); - NavButton(FontAwesomeIcon.Shield, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(30979368), delegate + ImGui.SameLine(); + NavButton(FontAwesomeIcon.Shield, "Seasonal Duty Farming", delegate { - _202E_200B_206C_200E_202E_202E_200E_206C_206C_206A_206D_206B_202D_202D_202E_206C_202C_200B_206A_206C_202B_206D_200F_202D_200F_202E_202A_206F_200C_200F_206F_202E_200F_206D_206C_200B_206C_206C_200E_200E_202E((LWindow)_seasonalDutySelectionWindow, true); + _seasonalDutySelectionWindow.IsOpenAndUncollapsed = true; }, width); - _206F_206F_202E_200E_202D_202D_200D_200B_202D_202A_200F_202D_200E_206E_206E_206E_206E_200D_206C_206D_202D_202B_200F_200C_200E_206E_206F_206B_200B_202B_200B_200C_206E_206A_202B_200C_200F_206A_202D_200E_202E(); - NavButton(FontAwesomeIcon.Calendar, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1296779081), delegate + ImGui.SameLine(); + NavButton(FontAwesomeIcon.Calendar, "FATE Farming", delegate { - _202E_200B_206C_200E_202E_202E_200E_206C_206C_206A_206D_206B_202D_202D_202E_206C_202C_200B_206A_206C_202B_206D_200F_202D_200F_202E_202A_206F_200C_200F_206F_202E_200F_206D_206C_200B_206C_206C_200E_200E_202E((LWindow)_fateSelectionWindow, true); + _fateSelectionWindow.IsOpenAndUncollapsed = true; }, width); - _206F_206F_202E_200E_202D_202D_200D_200B_202D_202A_200F_202D_200E_206E_206E_206E_206E_200D_206C_206D_202D_202B_200F_200C_200E_206E_206F_206B_200B_202B_200B_200C_206E_206A_202B_200C_200F_206A_202D_200E_202E(); - NavButton(FontAwesomeIcon.FileAlt, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1880802067), delegate + ImGui.SameLine(); + NavButton(FontAwesomeIcon.FileAlt, "What's New", delegate { - _202E_200B_206C_200E_202E_202E_200E_206C_206C_206A_206D_206B_202D_202D_202E_206C_202C_200B_206A_206C_202B_206D_200F_202D_200F_202E_202A_206F_200C_200F_206F_202E_200F_206D_206C_200B_206C_206C_200E_200E_202E((LWindow)_changelogWindow, true); + _changelogWindow.IsOpenAndUncollapsed = true; }, width); } - [MethodImpl(MethodImplOptions.NoInlining)] private static void NavButton(FontAwesomeIcon icon, string tooltip, Action onClick, float width, bool active = false) { - ImRaii.ColorDisposable colorDisposable = _206E_202A_202B_200B_206D_202C_200B_202E_200B_200D_206B_202C_206D_202D_202E_206C_200B_200E_206B_202A_206C_206B_202A_206F_206C_202A_200C_206A_202E_206D_200F_206F_202C_206E_202D_200E_200B_200B_206E_200C_202E(); - try + using ImRaii.ColorDisposable colorDisposable = new ImRaii.ColorDisposable(); + if (active) { - int num = ((!active) ? (-1402550216) : (-1402550214)); - float num6 = default(float); - Vector2 vector2 = default(Vector2); - while (true) - { - int num2 = num; - int num3 = -1402550213; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - onClick(); - num = -1402550215; - break; - case 3: - { - num6 = _202E_206F_206A_202C_206C_206A_200B_200D_206F_200D_206F_200F_202E_202D_200F_202C_206A_200D_206A_206F_202D_206F_202C_206F_206A_200E_200B_202B_200B_206E_200C_206E_206A_200F_200C_206A_202A_200B_206B_202A_202E(); - vector2 = _206B_200D_206E_202D_200F_206A_206C_200E_202E_202D_202D_202E_202C_200E_206A_206F_202E_206C_200B_200D_206A_200E_200D_200F_206B_206C_202C_202B_206D_202A_206B_202E_200D_200F_206C_202E_200C_200E_202E_206E_202E(); - ImU8String imU8String = new ImU8String(2, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1426082020)); - imU8String.AppendFormatted(tooltip); - num = ((!_200B_206B_200D_202C_202C_202A_202C_200F_202A_202B_200F_206A_206F_202B_200D_200E_200B_202A_202E_202D_200F_206F_202D_202B_200D_200F_200C_202A_206F_206F_202C_206C_200D_202C_200D_202E_206F_200E_200B_206A_202E(imU8String, new Vector2(width, num6))) ? (-1402550215) : (-1402550213)); - break; - } - case 1: - { - Vector4 accentColor = UiThemeUtils.AccentColor; - accentColor.W = 0.12f; - _206B_200D_206B_200C_200E_200B_206F_202A_206A_206B_206B_202A_200F_202C_200E_202D_206B_202B_200B_206F_200F_206C_206A_200E_206F_202C_200C_202C_200C_206F_202E_206C_202D_202D_200D_206A_202C_200E_202C_206C_202E(colorDisposable, ImGuiCol.Button, accentColor, true); - accentColor = UiThemeUtils.AccentColor; - accentColor.W = 0.2f; - _206B_200D_206B_200C_200E_200B_206F_202A_206A_206B_206B_202A_200F_202C_200E_202D_206B_202B_200B_206F_200F_206C_206A_200E_206F_202C_200C_202C_200C_206F_202E_206C_202D_202D_200D_206A_202C_200E_202C_206C_202E(colorDisposable, ImGuiCol.ButtonHovered, accentColor, true); - accentColor = UiThemeUtils.AccentColor; - accentColor.W = 0.25f; - _206B_200D_206B_200C_200E_200B_206F_202A_206A_206B_206B_202A_200F_202C_200E_202D_206B_202B_200B_206F_200F_206C_206A_200E_206F_202C_200C_202C_200C_206F_202E_206C_202D_202D_200D_206A_202C_200E_202C_206C_202E(colorDisposable, ImGuiCol.ButtonActive, accentColor, true); - _206B_200D_206B_200C_200E_200B_206F_202A_206A_206B_206B_202A_200F_202C_200E_202D_206B_202B_200B_206F_200F_206C_206A_200E_206F_202C_200C_202C_200C_206F_202E_206C_202D_202D_200D_206A_202C_200E_202C_206C_202E(colorDisposable, ImGuiCol.Text, UiThemeUtils.AccentColor, true); - num = -1402550216; - break; - } - case 4: - num = -1402550214; - break; - case 2: - { - string text = _200E_202E_206D_206F_200D_200F_200D_206F_206E_202E_202B_202A_206B_206F_202C_202D_200F_202D_206E_206D_206D_206A_206F_206B_202E_206D_202D_206D_200B_202C_206C_200F_206B_206E_202C_206B_202D_200C_202E(icon); - ImRaii.FontDisposable fontDisposable = _206E_200B_200E_202C_206B_202E_202C_200D_200C_200D_200D_202C_200E_200F_206C_206D_206E_206E_206F_200F_202B_200C_200F_202E_206C_202C_206E_206A_206C_200D_200B_202C_206B_202B_202B_202D_206B_206A_206E_206D_202E(_202A_206E_202B_202D_206D_200D_200B_206F_206A_202A_202A_200E_202B_200D_202E_206E_206C_202E_202E_206B_202D_206C_200F_202B_200D_206B_202A_206A_206F_206B_200E_206E_200F_202B_202B_206D_206F_202B_206F_200E_202E(), true); - Vector2 vector; - try - { - vector = _206C_200E_206D_200B_200C_202E_202D_202B_202B_206B_202E_206E_202D_206B_202B_206C_202C_202E_200E_206B_200C_200B_202D_202C_200B_200B_200E_202E_200C_202C_206D_200D_202B_206E_206D_206C_202E_206F_206C_206C_202E((ImU8String)text, false, -1f); - } - finally - { - num = ((fontDisposable == null) ? (-1860794618) : (-1860794619)); - while (true) - { - int num5 = num; - num3 = -1860794620; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_0192; - case 1: - _200C_202B_200C_206B_206D_206E_200E_206C_206E_206A_202A_202A_200E_202A_202E_200D_206C_206F_200B_200D_206A_206B_206C_202D_200C_206B_200D_206D_200E_200F_200F_206E_202A_202C_202C_206E_200B_200F_200B_200F_202E((IDisposable)fontDisposable); - num = -1860794618; - break; - case 0: - num = -1860794619; - break; - } - continue; - end_IL_0192: - break; - } - } - ImDrawListPtr imDrawListPtr = _202B_200F_206F_200B_202B_200F_200F_202B_202E_206B_202A_202D_200F_206D_206B_206F_206B_206F_202A_200F_206D_202A_206F_206B_202C_202E_202E_202A_206B_206A_202E_202B_206B_200B_202A_206B_206E_206A_200B_206F_202E(); - uint col = _200E_202A_200E_202E_202E_206E_200B_200D_206E_202D_200F_200B_202A_200F_202B_200E_206D_206D_200B_200F_206A_202B_202A_200B_206F_202E_206F_200E_202D_206D_206E_206C_200F_202C_206C_202D_206A_200E_206D_200F_202E(ImGuiCol.Text); - float x = vector2.X + (width - vector.X) / 2f; - float y = vector2.Y + (num6 - vector.Y) / 2f; - imDrawListPtr.AddText(_202A_206E_202B_202D_206D_200D_200B_206F_206A_202A_202A_200E_202B_200D_202E_206E_206C_202E_202E_206B_202D_206C_200F_202B_200D_206B_202A_206A_206F_206B_200E_206E_200F_202B_202B_206D_206F_202B_206F_200E_202E(), _206A_200F_206F_202C_200C_206D_202B_202A_202D_206A_200C_206D_200F_206E_206C_202B_206C_206E_206B_200B_202E_206A_202A_202E_206B_206F_206D_200F_206E_202A_200C_200C_206F_206B_206F_202A_202B_202D_202D_206B_202E(), new Vector2(x, y), col, text); - num = ((!active) ? 1157755779 : 1157755782); - while (true) - { - int num7 = num; - num3 = 1157755778; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1157755782; - break; - case 4: - { - Vector2 pMin = _200E_206C_202C_206A_200C_200C_206F_206A_206A_206A_202D_200C_206E_200C_200E_206D_202A_202B_200D_200D_200D_202B_200C_206E_206D_200C_200E_206A_206A_200D_206E_200D_206F_206A_202D_200C_206F_202C_202A_200C_202E(); - Vector2 pMax = _200B_202B_206F_202D_202C_206C_202E_202C_200E_202D_202B_200B_200E_206A_206C_200D_202C_206C_202D_202B_202E_206D_200E_206D_200E_206B_202D_206E_200C_202B_206E_206E_200E_202E_206B_200F_200F_200E_200B_206B_202E(); - Vector4 accentColor = UiThemeUtils.AccentColor; - accentColor.W = 0.35f; - imDrawListPtr.AddRect(pMin, pMax, _202B_206A_202B_202D_206F_202B_206D_206F_200B_202B_200D_200B_206B_206B_206E_206C_200D_200E_206D_206D_202E_206E_200F_202C_206D_200E_200D_206A_206C_206B_202B_206C_202A_200B_200F_202E_202A_206C_200C_202E_202E(accentColor), 4f, ImDrawFlags.RoundCornersAll, 1f); - num = 1157755779; - break; - } - case 1: - num = ((!_200F_206F_202B_206F_202B_200C_206B_206B_206A_202C_202C_206C_206F_206A_202C_200B_200C_200E_206B_206D_206F_206C_200E_206A_200B_202E_202D_200B_206C_206A_200B_202E_202D_206A_206A_206D_206F_206F_206E_206A_202E()) ? 1157755777 : 1157755776); - break; - case 2: - _200D_202B_202D_200B_202C_202C_202A_200D_206E_206D_200D_202E_202B_200C_202D_206E_206C_200B_200D_206E_200C_202D_202A_200D_200F_200B_200D_206B_202B_200F_206A_202C_202B_206B_202C_200C_200C_206D_202B_206E_202E((ImU8String)tooltip); - num = 1157755777; - break; - case 3: - return; - } - } - } - } - } + Vector4 accentColor = UiThemeUtils.AccentColor; + accentColor.W = 0.12f; + colorDisposable.Push(ImGuiCol.Button, accentColor); + accentColor = UiThemeUtils.AccentColor; + accentColor.W = 0.2f; + colorDisposable.Push(ImGuiCol.ButtonHovered, accentColor); + accentColor = UiThemeUtils.AccentColor; + accentColor.W = 0.25f; + colorDisposable.Push(ImGuiCol.ButtonActive, accentColor); + colorDisposable.Push(ImGuiCol.Text, UiThemeUtils.AccentColor); } - finally + float frameHeight = ImGui.GetFrameHeight(); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + ImU8String label = new ImU8String(2, 1); + label.AppendLiteral("##"); + label.AppendFormatted(tooltip); + if (ImGui.Button(label, new Vector2(width, frameHeight))) { - int num = ((colorDisposable == null) ? 13502380 : 13502383); - while (true) - { - int num8 = num; - int num3 = 13502381; - int num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 0: - num = 13502383; - break; - case 1: - goto end_IL_034d; - case 2: - _200C_202B_200C_206B_206D_206E_200E_206C_206E_206A_202A_202A_200E_202A_202E_200D_206C_206F_200B_200D_206A_206B_206C_202D_200C_206B_200D_206D_200E_200F_200F_206E_202A_202C_202C_206E_200B_200F_200B_200F_202E((IDisposable)colorDisposable); - num = 13502380; - break; - } - continue; - end_IL_034d: - break; - } + onClick(); + } + string text = icon.ToIconString(); + Vector2 vector; + using (ImRaii.PushFont(UiBuilder.IconFont)) + { + vector = ImGui.CalcTextSize(text); + } + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + uint colorU = ImGui.GetColorU32(ImGuiCol.Text); + float x = cursorScreenPos.X + (width - vector.X) / 2f; + float y = cursorScreenPos.Y + (frameHeight - vector.Y) / 2f; + windowDrawList.AddText(UiBuilder.IconFont, ImGui.GetFontSize(), new Vector2(x, y), colorU, text); + if (active) + { + Vector2 itemRectMin = ImGui.GetItemRectMin(); + Vector2 itemRectMax = ImGui.GetItemRectMax(); + Vector4 accentColor = UiThemeUtils.AccentColor; + accentColor.W = 0.35f; + windowDrawList.AddRect(itemRectMin, itemRectMax, ImGui.ColorConvertFloat4ToU32(accentColor), 4f, ImDrawFlags.RoundCornersAll, 1f); + } + if (ImGui.IsItemHovered()) + { + ImGui.SetTooltip(tooltip); } - } - - static Vector2 _206C_202C_200E_206D_200F_202D_200B_200B_200D_200D_206A_202A_202E_206A_200B_200B_202E_206A_206C_202B_202C_206F_200F_206F_200E_206F_202E_206B_206F_202A_200E_206F_200B_206E_202D_202E_206F_200F_202A_206C_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static ImGuiStylePtr _206C_202E_206A_206E_200B_200E_200B_200F_200E_206B_206B_200C_202E_206E_202B_202D_206C_206C_202D_206E_206E_206B_202B_206B_200E_200E_206E_206E_202C_202E_200C_200F_206B_200E_202D_200E_202B_202D_200E_200D_202E() - { - return ImGui.GetStyle(); - } - - static void _206F_206F_202E_200E_202D_202D_200D_200B_202D_202A_200F_202D_200E_206E_206E_206E_206E_200D_206C_206D_202D_202B_200F_200C_200E_206E_206F_206B_200B_202B_200B_200C_206E_206A_202B_200C_200F_206A_202D_200E_202E() - { - ImGui.SameLine(); - } - - static ImRaii.ColorDisposable _206E_202A_202B_200B_206D_202C_200B_202E_200B_200D_206B_202C_206D_202D_202E_206C_200B_200E_206B_202A_206C_206B_202A_206F_206C_202A_200C_206A_202E_206D_200F_206F_202C_206E_202D_200E_200B_200B_206E_200C_202E() - { - return new ImRaii.ColorDisposable(); - } - - static ImRaii.ColorDisposable _206B_200D_206B_200C_200E_200B_206F_202A_206A_206B_206B_202A_200F_202C_200E_202D_206B_202B_200B_206F_200F_206C_206A_200E_206F_202C_200C_202C_200C_206F_202E_206C_202D_202D_200D_206A_202C_200E_202C_206C_202E(ImRaii.ColorDisposable P_0, ImGuiCol P_1, Vector4 P_2, bool P_3) - { - return P_0.Push(P_1, P_2, P_3); - } - - static float _202E_206F_206A_202C_206C_206A_200B_200D_206F_200D_206F_200F_202E_202D_200F_202C_206A_200D_206A_206F_202D_206F_202C_206F_206A_200E_200B_202B_200B_206E_200C_206E_206A_200F_200C_206A_202A_200B_206B_202A_202E() - { - return ImGui.GetFrameHeight(); - } - - static Vector2 _206B_200D_206E_202D_200F_206A_206C_200E_202E_202D_202D_202E_202C_200E_206A_206F_202E_206C_200B_200D_206A_200E_200D_200F_206B_206C_202C_202B_206D_202A_206B_202E_200D_200F_206C_202E_200C_200E_202E_206E_202E() - { - return ImGui.GetCursorScreenPos(); - } - - static bool _200B_206B_200D_202C_202C_202A_202C_200F_202A_202B_200F_206A_206F_202B_200D_200E_200B_202A_202E_202D_200F_206F_202D_202B_200D_200F_200C_202A_206F_206F_202C_206C_200D_202C_200D_202E_206F_200E_200B_206A_202E(ImU8String P_0, Vector2 P_1) - { - return ImGui.Button(P_0, P_1); - } - - static string _200E_202E_206D_206F_200D_200F_200D_206F_206E_202E_202B_202A_206B_206F_202C_202D_200F_202D_206E_206D_206D_206A_206F_206B_202E_206D_202D_206D_200B_202C_206C_200F_206B_206E_202C_206B_202D_200C_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static ImFontPtr _202A_206E_202B_202D_206D_200D_200B_206F_206A_202A_202A_200E_202B_200D_202E_206E_206C_202E_202E_206B_202D_206C_200F_202B_200D_206B_202A_206A_206F_206B_200E_206E_200F_202B_202B_206D_206F_202B_206F_200E_202E() - { - return UiBuilder.IconFont; - } - - static ImRaii.FontDisposable _206E_200B_200E_202C_206B_202E_202C_200D_200C_200D_200D_202C_200E_200F_206C_206D_206E_206E_206F_200F_202B_200C_200F_202E_206C_202C_206E_206A_206C_200D_200B_202C_206B_202B_202B_202D_206B_206A_206E_206D_202E(ImFontPtr P_0, bool P_1) - { - return ImRaii.PushFont(P_0, P_1); - } - - static Vector2 _206C_200E_206D_200B_200C_202E_202D_202B_202B_206B_202E_206E_202D_206B_202B_206C_202C_202E_200E_206B_200C_200B_202D_202C_200B_200B_200E_202E_200C_202C_206D_200D_202B_206E_206D_206C_202E_206F_206C_206C_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static void _200C_202B_200C_206B_206D_206E_200E_206C_206E_206A_202A_202A_200E_202A_202E_200D_206C_206F_200B_200D_206A_206B_206C_202D_200C_206B_200D_206D_200E_200F_200F_206E_202A_202C_202C_206E_200B_200F_200B_200F_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static ImDrawListPtr _202B_200F_206F_200B_202B_200F_200F_202B_202E_206B_202A_202D_200F_206D_206B_206F_206B_206F_202A_200F_206D_202A_206F_206B_202C_202E_202E_202A_206B_206A_202E_202B_206B_200B_202A_206B_206E_206A_200B_206F_202E() - { - return ImGui.GetWindowDrawList(); - } - - static uint _200E_202A_200E_202E_202E_206E_200B_200D_206E_202D_200F_200B_202A_200F_202B_200E_206D_206D_200B_200F_206A_202B_202A_200B_206F_202E_206F_200E_202D_206D_206E_206C_200F_202C_206C_202D_206A_200E_206D_200F_202E(ImGuiCol P_0) - { - return ImGui.GetColorU32(P_0); - } - - static float _206A_200F_206F_202C_200C_206D_202B_202A_202D_206A_200C_206D_200F_206E_206C_202B_206C_206E_206B_200B_202E_206A_202A_202E_206B_206F_206D_200F_206E_202A_200C_200C_206F_206B_206F_202A_202B_202D_202D_206B_202E() - { - return ImGui.GetFontSize(); - } - - static Vector2 _200E_206C_202C_206A_200C_200C_206F_206A_206A_206A_202D_200C_206E_200C_200E_206D_202A_202B_200D_200D_200D_202B_200C_206E_206D_200C_200E_206A_206A_200D_206E_200D_206F_206A_202D_200C_206F_202C_202A_200C_202E() - { - return ImGui.GetItemRectMin(); - } - - static Vector2 _200B_202B_206F_202D_202C_206C_202E_202C_200E_202D_202B_200B_200E_206A_206C_200D_202C_206C_202D_202B_202E_206D_200E_206D_200E_206B_202D_206E_200C_202B_206E_206E_200E_202E_206B_200F_200F_200E_200B_206B_202E() - { - return ImGui.GetItemRectMax(); - } - - static uint _202B_206A_202B_202D_206F_202B_206D_206F_200B_202B_200D_200B_206B_206B_206E_206C_200D_200E_206D_206D_202E_206E_200F_202C_206D_200E_200D_206A_206C_206B_202B_206C_202A_200B_200F_202E_202A_206C_200C_202E_202E(Vector4 P_0) - { - return ImGui.ColorConvertFloat4ToU32(P_0); - } - - static bool _200F_206F_202B_206F_202B_200C_206B_206B_206A_202C_202C_206C_206F_206A_202C_200B_200C_200E_206B_206D_206F_206C_200E_206A_200B_202E_202D_200B_206C_206A_200B_202E_202D_206A_206A_206D_206F_206F_206E_206A_202E() - { - return ImGui.IsItemHovered(); - } - - static void _200D_202B_202D_200B_202C_202C_202A_200D_206E_206D_200D_202E_202B_200C_202D_206E_206C_200B_200D_206E_200C_202D_202A_200D_200F_200B_200D_206B_202B_200F_206A_202C_202B_206B_202C_200C_200C_206D_202B_206E_202E(ImU8String P_0) - { - ImGui.SetTooltip(P_0); - } - - static void _202E_200B_206C_200E_202E_202E_200E_206C_206C_206A_206D_206B_202D_202D_202E_206C_202C_200B_206A_206C_202B_206D_200F_202D_200F_202E_202A_206F_200C_200F_206F_202E_200F_206D_206C_200B_206C_206C_200E_200E_202E(LWindow P_0, bool P_1) - { - P_0.IsOpenAndUncollapsed = P_1; } } diff --git a/Questionable/Questionable.Windows.QuestComponents/QuestSequenceComponent.cs b/Questionable/Questionable.Windows.QuestComponents/QuestSequenceComponent.cs index 9ba513c..8e9e530 100644 --- a/Questionable/Questionable.Windows.QuestComponents/QuestSequenceComponent.cs +++ b/Questionable/Questionable.Windows.QuestComponents/QuestSequenceComponent.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; using Dalamud.Interface; using Dalamud.Interface.Components; @@ -21,248 +20,6 @@ namespace Questionable.Windows.QuestComponents; internal sealed class QuestSequenceComponent { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass17_0 - { - public int totalSequences; - - public int maxSeq; - - public bool hasQuestPath; - - public Vector4 coverageColor; - - public int implementedCount; - - public int expectedCount; - - public float coverage; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal void _003CDrawSummaryCards_003Eb__0() - { - _206A_202A_200E_200F_200D_202A_200D_202A_206F_206C_202B_200E_202C_206D_206B_206E_202D_206F_202E_206D_206F_206C_202A_202A_200E_206E_202A_200C_202D_202D_206A_202E_206A_206B_200E_202D_200C_200D_202E_200F_202E(); - _202C_202D_200B_206D_206E_202E_206A_202D_202B_200F_202A_202D_202C_200F_200E_202E_200D_202C_206B_202B_206E_202C_202C_202B_206B_200F_206D_202C_202B_206C_206E_206F_200B_206A_202D_200B_200C_202D_200F_206C_202E(10f); - ImU8String imU8String = new ImU8String(6, 0); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(389160049)); - _202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref UiThemeUtils.PrimaryTextColor, imU8String); - _200B_202E_206F_200C_206C_202C_200E_200F_206F_206F_200F_206A_200E_200E_200C_200B_202E_200B_206E_202B_200D_200C_206C_200F_200D_206E_206B_206A_206E_206E_200B_202E_206F_206F_200E_206F_206A_200D_200D_202E(); - Vector4 vector = new Vector4(0.7f, 0.9f, 1f, 1f); - ImU8String imU8String2 = new ImU8String(0, 1); - imU8String2.AppendFormatted(totalSequences); - _202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref vector, imU8String2); - _206A_202A_200E_200F_200D_202A_200D_202A_206F_206C_202B_200E_202C_206D_206B_206E_202D_206F_202E_206D_206F_206C_202A_202A_200E_206E_202A_200C_202D_202D_206A_202E_206A_206B_200E_202D_200C_200D_202E_200F_202E(); - ImU8String imU8String3 = new ImU8String(6, 0); - imU8String3.AppendLiteral(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(1982759281)); - _202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref UiThemeUtils.PrimaryTextColor, imU8String3); - _200B_202E_206F_200C_206C_202C_200E_200F_206F_206F_200F_206A_200E_200E_200C_200B_202E_200B_206E_202B_200D_200C_206C_200F_200D_206E_206B_206A_206E_206E_200B_202E_206F_206F_200E_206F_206A_200D_200D_202E(); - vector = new Vector4(0.7f, 0.9f, 1f, 1f); - ImU8String imU8String4 = new ImU8String(9, 1); - imU8String4.AppendLiteral(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(-17191078)); - imU8String4.AppendFormatted(maxSeq); - imU8String4.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1638758109)); - _202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref vector, imU8String4); - _206A_200B_202B_206A_200E_206D_200F_202C_200C_206C_206A_206B_206F_206B_202C_206C_200F_202E_200C_202A_200D_206D_206F_202B_206D_200E_206F_202B_202B_200F_206C_206F_202D_202D_202A_202B_206B_202A_206F_206A_202E(10f); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal void _003CDrawSummaryCards_003Eb__1() - { - if (hasQuestPath) - { - _202C_202D_200B_206D_206E_202E_206A_202D_202B_200F_202A_202D_202C_200F_200E_202E_200D_202C_206B_202B_206E_202C_202C_202B_206B_200F_206D_202C_202B_206C_206E_206F_200B_206A_202D_200B_200C_202D_200F_206C_202E(10f); - _202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref UiThemeUtils.PrimaryTextColor, (ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-97617789)); - _200B_202E_206F_200C_206C_202C_200E_200F_206F_206F_200F_206A_200E_200E_200C_200B_202E_200B_206E_202B_200D_200C_206C_200F_200D_206E_206B_206A_206E_206E_200B_202E_206F_206F_200E_206F_206A_200D_200D_202E(); - ref Vector4 reference = ref coverageColor; - ImU8String imU8String = new ImU8String(0, 1); - imU8String.AppendFormatted(implementedCount); - _202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref reference, imU8String); - _200B_202E_206F_200C_206C_202C_200E_200F_206F_206F_200F_206A_200E_200E_200C_200B_202E_200B_206E_202B_200D_200C_206C_200F_200D_206E_206B_206A_206E_206E_200B_202E_206F_206F_200E_206F_206A_200D_200D_202E(); - _202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref UiThemeUtils.DimTextColor, (ImU8String)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(-1392036559)); - _200B_202E_206F_200C_206C_202C_200E_200F_206F_206F_200F_206A_200E_200E_200C_200B_202E_200B_206E_202B_200D_200C_206C_200F_200D_206E_206B_206A_206E_206E_200B_202E_206F_206F_200E_206F_206A_200D_200D_202E(); - ImU8String imU8String2 = new ImU8String(0, 1); - imU8String2.AppendFormatted(expectedCount); - _202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref UiThemeUtils.PrimaryTextColor, imU8String2); - _200B_202E_206F_200C_206C_202C_200E_200F_206F_206F_200F_206A_200E_200E_200C_200B_202E_200B_206E_202B_200D_200C_206C_200F_200D_206E_206B_206A_206E_206E_200B_202E_206F_206F_200E_206F_206A_200D_200D_202E(); - ref Vector4 reference2 = ref coverageColor; - ImU8String imU8String3 = new ImU8String(3, 1); - imU8String3.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1208656614)); - imU8String3.AppendFormatted(coverage, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1949766839)); - imU8String3.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1310244362)); - _202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref reference2, imU8String3); - _206A_202A_200E_200F_200D_202A_200D_202A_206F_206C_202B_200E_202C_206D_206B_206E_202D_206F_202E_206D_206F_206C_202A_202A_200E_206E_202A_200C_202D_202D_206A_202E_206A_206B_200E_202D_200C_200D_202E_200F_202E(); - Vector2 vector = _206D_202B_202C_206D_206B_200D_206C_206B_202A_200B_202B_202A_200B_200E_206A_200D_202A_202E_200B_200B_200B_206A_206A_202C_206D_200B_200E_200D_202A_202A_206B_202D_200B_202B_200F_202E_206B_202A_200F_202C_202E(); - float x = _200F_200F_206F_200D_206A_202C_206D_206F_206E_202E_200F_202A_206F_206A_206A_200B_202B_200D_200D_202C_206B_202D_200B_202C_206E_200C_206B_206C_202A_206C_200E_206D_202C_206E_200C_206F_206C_200C_206C_200C_202E().X - 10f; - ImRaii.ColorDisposable colorDisposable = _206E_202D_202E_206A_202B_200C_206B_206D_206A_206E_200E_206E_200E_206E_202D_206E_202A_200E_202D_206E_206B_200D_206B_202B_200E_206F_202B_200F_200B_200C_206D_202D_206E_202E_202C_202B_202C_206D_202B_200E_202E(ImGuiCol.PlotHistogram, coverageColor, true); - try - { - ImRaii.ColorDisposable colorDisposable2 = _206E_202D_202E_206A_202B_200C_206B_206D_206A_206E_200E_206E_200E_206E_202D_206E_202A_200E_202D_206E_206B_200D_206B_202B_200E_206F_202B_200F_200B_200C_206D_202D_206E_202E_202C_202B_202C_206D_202B_200E_202E(ImGuiCol.FrameBg, new Vector4(0.08f, 0.06f, 0.12f, 0.8f), true); - try - { - _202E_202D_202A_202B_202E_206C_206F_200D_200B_200C_206D_200E_200E_200C_206F_202A_202E_200B_202D_200F_206A_200E_200B_206A_200E_206C_206B_202C_206F_200F_200B_200D_206C_200C_206E_206B_200D_206D_206B_206D_202E(coverage / 100f, new Vector2(x, 16f), (ImU8String)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(1200342830)); - } - finally - { - int num = ((colorDisposable2 == null) ? 1407322401 : 1407322400); - while (true) - { - int num2 = num; - int num3 = 1407322401; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto end_IL_018b; - case 1: - _200D_206B_200E_202E_206F_202A_202A_200C_206A_206A_206C_206F_206D_200C_200B_202D_206E_200E_206D_200E_202D_206E_202A_206F_206E_202E_206F_206C_200F_202B_202C_200F_202C_206A_200E_206E_206B_206D_206D_206E_202E((IDisposable)colorDisposable2); - num = 1407322401; - break; - case 2: - num = 1407322400; - break; - } - continue; - end_IL_018b: - break; - } - } - } - finally - { - int num = ((colorDisposable == null) ? 807614204 : 807614205); - while (true) - { - int num7 = num; - int num3 = 807614204; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 2: - num = 807614205; - break; - case 0: - goto end_IL_01f8; - case 1: - _200D_206B_200E_202E_206F_202A_202A_200C_206A_206A_206C_206F_206D_200C_200B_202D_206E_200E_206D_200E_202D_206E_202A_206F_206E_202E_206F_206C_200F_202B_202C_200F_202C_206A_200E_206E_206B_206D_206D_206E_202E((IDisposable)colorDisposable); - num = 807614204; - break; - } - continue; - end_IL_01f8: - break; - } - } - ImDrawListPtr imDrawListPtr = _200F_206B_202A_206D_206C_206E_200F_206C_202A_200E_206A_200F_200E_206F_200B_200D_202C_206C_206D_200B_200F_200C_202D_206D_200F_206B_206E_200B_200B_202B_206C_200C_206F_206F_206E_200F_202A_206B_200F_200F_202E(); - Vector2 pMax = vector + new Vector2(x, 16f); - Vector4 accentColor = UiThemeUtils.AccentColor; - accentColor.W = 0.3f; - imDrawListPtr.AddRect(vector, pMax, _206D_200E_206D_202B_200B_206C_206F_202C_202B_206A_202B_202E_200C_206D_206B_200C_206D_202D_206C_202C_202E_202A_200E_200B_202A_206C_202E_200F_206A_202C_206B_200E_206C_202C_200C_206A_202A_202D_206E_202E_202E(accentColor), 2f); - _206A_200B_202B_206A_200E_206D_200F_202C_200C_206C_206A_206B_206F_206B_202C_206C_200F_202E_200C_202A_200D_206D_206F_202B_206D_200E_206F_202B_202B_200F_206C_206F_202D_202D_202A_202B_206B_202A_206F_206A_202E(10f); - } - else - { - _206A_202A_200E_200F_200D_202A_200D_202A_206F_206C_202B_200E_202C_206D_206B_206E_202D_206F_202E_206D_206F_206C_202A_202A_200E_206E_202A_200C_202D_202D_206A_202E_206A_206B_200E_202D_200C_200D_202E_200F_202E(); - _202C_202D_200B_206D_206E_202E_206A_202D_202B_200F_202A_202D_202C_200F_200E_202E_200D_202C_206B_202B_206E_202C_202C_202B_206B_200F_206D_202C_202B_206C_206E_206F_200B_206A_202D_200B_200C_202D_200F_206C_202E(10f); - _200B_202D_200D_202B_200F_206F_206E_202D_202B_206F_206F_202C_206F_206A_202D_200F_206A_206F_206C_206D_206C_200C_200D_206C_202C_206E_200F_200F_206E_202B_206C_206E_200E_200C_202A_202C_206A_206B_200F_206C_202E(_206A_202D_202B_202B_206C_206E_206A_200D_206C_206C_200B_202E_206A_200D_200C_206C_200D_200F_200D_206F_206E_202A_202E_202E_202D_206F_202E_200D_202E_200C_206A_200C_202D_206D_206A_200B_206C_202E_206D_206A_202E()); - Vector4 accentColor = UiThemeUtils.AccentColor; - accentColor.W = 0.8f; - _202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref accentColor, (ImU8String)_200C_206C_202A_200F_202B_202C_206D_200D_200F_200F_206C_206F_200D_202E_202A_200C_200B_206E_206B_202A_206B_202D_206F_202A_200C_206E_200E_200C_202E_202E_202A_206E_200D_200E_206F_202C_200E_206A_200D_206D_202E(FontAwesomeIcon.Ban)); - _206A_206B_200D_206E_202C_202E_202C_200E_200B_206A_200D_206D_206A_202C_202E_206E_206F_200B_206C_206F_202A_202D_200C_206C_200B_200B_206C_200C_206E_200B_202E_202D_206E_202E_206F_202D_200D_206F_206D_206E_202E(); - _200B_202E_206F_200C_206C_202C_200E_200F_206F_206F_200F_206A_200E_200E_200C_200B_202E_200B_206E_202B_200D_200C_206C_200F_200D_206E_206B_206A_206E_206E_200B_202E_206F_206F_200E_206F_206A_200D_200D_202E(); - accentColor = UiThemeUtils.AccentColor; - accentColor.W = 0.8f; - _202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref accentColor, (ImU8String)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(868008656)); - _206A_202A_200E_200F_200D_202A_200D_202A_206F_206C_202B_200E_202C_206D_206B_206E_202D_206F_202E_206D_206F_206C_202A_202A_200E_206E_202A_200C_202D_202D_206A_202E_206A_206B_200E_202D_200C_200D_202E_200F_202E(); - _202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref UiThemeUtils.DimTextColor, (ImU8String)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(384693137)); - _206A_200B_202B_206A_200E_206D_200F_202C_200C_206C_206A_206B_206F_206B_202C_206C_200F_202E_200C_202A_200D_206D_206F_202B_206D_200E_206F_202B_202B_200F_206C_206F_202D_202D_202A_202B_206B_202A_206F_206A_202E(10f); - } - } - - static void _206A_202A_200E_200F_200D_202A_200D_202A_206F_206C_202B_200E_202C_206D_206B_206E_202D_206F_202E_206D_206F_206C_202A_202A_200E_206E_202A_200C_202D_202D_206A_202E_206A_206B_200E_202D_200C_200D_202E_200F_202E() - { - ImGui.Spacing(); - } - - static void _202C_202D_200B_206D_206E_202E_206A_202D_202B_200F_202A_202D_202C_200F_200E_202E_200D_202C_206B_202B_206E_202C_202C_202B_206B_200F_206D_202C_202B_206C_206E_206F_200B_206A_202D_200B_200C_202D_200F_206C_202E(float P_0) - { - ImGui.Indent(P_0); - } - - static void _202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static void _200B_202E_206F_200C_206C_202C_200E_200F_206F_206F_200F_206A_200E_200E_200C_200B_202E_200B_206E_202B_200D_200C_206C_200F_200D_206E_206B_206A_206E_206E_200B_202E_206F_206F_200E_206F_206A_200D_200D_202E() - { - ImGui.SameLine(); - } - - static void _206A_200B_202B_206A_200E_206D_200F_202C_200C_206C_206A_206B_206F_206B_202C_206C_200F_202E_200C_202A_200D_206D_206F_202B_206D_200E_206F_202B_202B_200F_206C_206F_202D_202D_202A_202B_206B_202A_206F_206A_202E(float P_0) - { - ImGui.Unindent(P_0); - } - - static Vector2 _206D_202B_202C_206D_206B_200D_206C_206B_202A_200B_202B_202A_200B_200E_206A_200D_202A_202E_200B_200B_200B_206A_206A_202C_206D_200B_200E_200D_202A_202A_206B_202D_200B_202B_200F_202E_206B_202A_200F_202C_202E() - { - return ImGui.GetCursorScreenPos(); - } - - static Vector2 _200F_200F_206F_200D_206A_202C_206D_206F_206E_202E_200F_202A_206F_206A_206A_200B_202B_200D_200D_202C_206B_202D_200B_202C_206E_200C_206B_206C_202A_206C_200E_206D_202C_206E_200C_206F_206C_200C_206C_200C_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static ImRaii.ColorDisposable _206E_202D_202E_206A_202B_200C_206B_206D_206A_206E_200E_206E_200E_206E_202D_206E_202A_200E_202D_206E_206B_200D_206B_202B_200E_206F_202B_200F_200B_200C_206D_202D_206E_202E_202C_202B_202C_206D_202B_200E_202E(ImGuiCol P_0, Vector4 P_1, bool P_2) - { - return ImRaii.PushColor(P_0, P_1, P_2); - } - - static void _202E_202D_202A_202B_202E_206C_206F_200D_200B_200C_206D_200E_200E_200C_206F_202A_202E_200B_202D_200F_206A_200E_200B_206A_200E_206C_206B_202C_206F_200F_200B_200D_206C_200C_206E_206B_200D_206D_206B_206D_202E(float P_0, Vector2 P_1, ImU8String P_2) - { - ImGui.ProgressBar(P_0, P_1, P_2); - } - - static void _200D_206B_200E_202E_206F_202A_202A_200C_206A_206A_206C_206F_206D_200C_200B_202D_206E_200E_206D_200E_202D_206E_202A_206F_206E_202E_206F_206C_200F_202B_202C_200F_202C_206A_200E_206E_206B_206D_206D_206E_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static ImDrawListPtr _200F_206B_202A_206D_206C_206E_200F_206C_202A_200E_206A_200F_200E_206F_200B_200D_202C_206C_206D_200B_200F_200C_202D_206D_200F_206B_206E_200B_200B_202B_206C_200C_206F_206F_206E_200F_202A_206B_200F_200F_202E() - { - return ImGui.GetWindowDrawList(); - } - - static uint _206D_200E_206D_202B_200B_206C_206F_202C_202B_206A_202B_202E_200C_206D_206B_200C_206D_202D_206C_202C_202E_202A_200E_200B_202A_206C_202E_200F_206A_202C_206B_200E_206C_202C_200C_206A_202A_202D_206E_202E_202E(Vector4 P_0) - { - return ImGui.ColorConvertFloat4ToU32(P_0); - } - - static ImFontPtr _206A_202D_202B_202B_206C_206E_206A_200D_206C_206C_200B_202E_206A_200D_200C_206C_200D_200F_200D_206F_206E_202A_202E_202E_202D_206F_202E_200D_202E_200C_206A_200C_202D_206D_206A_200B_206C_202E_206D_206A_202E() - { - return UiBuilder.IconFont; - } - - static void _200B_202D_200D_202B_200F_206F_206E_202D_202B_206F_206F_202C_206F_206A_202D_200F_206A_206F_206C_206D_206C_200C_200D_206C_202C_206E_200F_200F_206E_202B_206C_206E_200E_200C_202A_202C_206A_206B_200F_206C_202E(ImFontPtr P_0) - { - ImGui.PushFont(P_0); - } - - static string _200C_206C_202A_200F_202B_202C_206D_200D_200F_200F_206C_206F_200D_202E_202A_200C_200B_206E_206B_202A_206B_202D_206F_202A_200C_206E_200E_200C_202E_202E_202A_206E_200D_200E_206F_202C_200E_206A_200D_206D_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static void _206A_206B_200D_206E_202C_202E_202C_200E_200B_206A_200D_206D_206A_202C_202E_206E_206F_200B_206C_206F_202A_202D_200C_206C_200B_200B_206C_200C_206E_200B_202E_202D_206E_202E_206F_202D_200D_206F_206D_206E_202E() - { - ImGui.PopFont(); - } - } - private readonly QuestData _questData; private readonly QuestRegistry _questRegistry; @@ -281,7 +38,7 @@ internal sealed class QuestSequenceComponent private int _hoveredSequenceId = -1; - public bool HasLookedUpQuest => _200E_206C_206B_200D_206C_200B_206B_206D_202C_206C_206C_206A_206D_202A_200F_206E_200D_200E_200C_202E_202A_200B_206B_206F_202C_200F_200F_200B_206C_202C_206A_200D_200F_206D_206C_206C_206F_200B_200B_206E_202E(_lookedUpQuestId, (ElementId)null); + public bool HasLookedUpQuest => _lookedUpQuestId != null; public QuestSequenceComponent(QuestData questData, QuestRegistry questRegistry, QuestPriorityResolver priorityResolver, QuestFunctions questFunctions, IDataManager dataManager, ILogger logger) { @@ -293,2152 +50,687 @@ internal sealed class QuestSequenceComponent _logger = logger; } - [MethodImpl(MethodImplOptions.NoInlining)] public static void DrawCustomHeader(ref bool isOpen) { - Vector2 vector = _202D_202C_202D_200B_202E_200F_206E_206C_206C_200B_200E_202C_202A_200E_206D_200F_206D_206B_206B_202B_206B_206F_206C_202E_206B_202D_200F_200F_202D_202C_206F_206A_206D_206D_200C_200D_202D_200E_202E_206C_202E(); - float x = _200C_206F_200C_202D_206F_200C_202E_202A_200F_206A_200D_206B_206D_206C_202C_200C_202E_200C_200F_206C_200C_202D_206D_200D_206C_202B_202C_202B_202E_206C_202C_202C_202E_200D_206D_206A_202B_202A_202C_202A_202E().X; - float num = _200B_206E_202A_206F_206E_206B_206B_202E_202C_200C_200F_206D_200E_206F_200F_202D_206D_200D_206C_206C_206A_200D_200D_202E_206C_206C_206B_206D_200D_202E_202A_202B_202B_200C_202E_200D_206A_206B_202A_202D_202E() + _200B_202B_202D_202E_206C_206A_200C_202C_206D_202A_206D_206B_202E_202E_206C_202C_200D_206B_206D_202E_206F_202A_200C_202A_206F_206F_206D_206A_202D_200E_202E_202B_206C_206B_206C_206A_202E_202B_200F_206F_202E().ItemSpacing.Y * 1.5f; - ImDrawListPtr imDrawListPtr = _206E_200C_200E_206F_200D_200D_202A_206B_202D_202D_206F_202C_200D_200C_200D_200F_200B_202A_206C_206B_202C_200E_202E_206A_206A_202C_202B_200E_206B_200C_206F_200C_200B_200B_206B_200E_200F_206E_200D_206D_202E(); - imDrawListPtr.AddRectFilledMultiColor(vector, vector + new Vector2(x, num), _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(new Vector4(0.22f, 0.2f, 0.28f, 0.85f)), _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(new Vector4(0.18f, 0.16f, 0.24f, 0.85f)), _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(new Vector4(0.18f, 0.16f, 0.24f, 0.85f)), _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(new Vector4(0.22f, 0.2f, 0.28f, 0.85f))); - Vector2 p = vector + new Vector2(0f, num); - Vector2 p2 = vector + new Vector2(x, num); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + float x = ImGui.GetContentRegionAvail().X; + float num = ImGui.GetFrameHeightWithSpacing() + ImGui.GetStyle().ItemSpacing.Y * 1.5f; + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + windowDrawList.AddRectFilledMultiColor(cursorScreenPos, cursorScreenPos + new Vector2(x, num), ImGui.ColorConvertFloat4ToU32(new Vector4(0.22f, 0.2f, 0.28f, 0.85f)), ImGui.ColorConvertFloat4ToU32(new Vector4(0.18f, 0.16f, 0.24f, 0.85f)), ImGui.ColorConvertFloat4ToU32(new Vector4(0.18f, 0.16f, 0.24f, 0.85f)), ImGui.ColorConvertFloat4ToU32(new Vector4(0.22f, 0.2f, 0.28f, 0.85f))); + Vector2 p = cursorScreenPos + new Vector2(0f, num); + Vector2 p2 = cursorScreenPos + new Vector2(x, num); Vector4 accentColor = UiThemeUtils.AccentColor; accentColor.W = 0.5f; - imDrawListPtr.AddLine(p, p2, _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(accentColor), 2f); - float num2 = _200F_202A_206E_200C_202C_202D_206C_206C_202B_206E_202B_202B_202C_206D_206C_200C_206B_206A_206D_206D_202E_200B_206A_206C_202E_200F_200D_206A_200B_202E_200D_202D_200E_206E_200B_202D_206B_206A_206E_206D_202E(); - float num3 = (num - num2) * 0.5f; - _202C_206E_206D_200E_206E_200F_206D_206F_200B_202A_200B_202D_202C_206D_202B_202D_200D_200F_202B_200E_202A_200D_200B_206B_202C_202B_200D_202A_202D_202B_202B_206D_206D_206A_202A_202C_200B_206A_200C_206C_202E(_206E_200C_200C_202E_206F_202E_200F_200E_200F_206F_206B_206B_206A_202B_202B_202D_202D_206F_206E_200B_206F_200F_200D_200D_206E_200E_206D_206E_206C_206D_206E_202B_200B_200D_206A_206D_206D_202C_202D_202E_202E() + num3); - _202C_206D_200E_200B_200B_202D_206A_200F_200E_202B_206B_200D_200E_200F_206D_206B_206B_202B_202C_200E_206C_200C_206F_200E_202A_200B_206E_202B_202A_206F_206A_202D_206B_206B_202E_202C_206E_202D_200C_202C_202E(_206F_206D_206B_206B_202D_202A_202A_200F_200B_202E_206B_200B_206B_202A_202D_200E_200D_206F_206E_206D_206E_206E_206A_206E_200E_206C_200C_206C_200B_202B_206E_202D_200D_206E_202D_200D_206F_206D_206B_202B_202E() + 10f); - _206D_206B_206B_206B_206A_200D_202B_206C_200F_206B_202A_202E_200F_206F_206C_202B_200E_200B_200B_200F_202C_202D_206A_202E_202C_202A_206C_200F_202B_202C_206C_202E_200B_202A_200D_200D_202D_206F_200C_206B_202E(ref UiThemeUtils.PrimaryTextColor, (ImU8String)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(769981112)); - _206F_200D_202B_200C_202D_202A_200C_200F_206C_200C_202A_200E_206A_202C_202E_200E_206A_200F_206B_206D_206A_206F_202B_206B_206E_200E_202C_206A_200C_200F_202A_206A_202A_200E_206C_206D_206C_200E_202C_202C_202E(x - 35f); - _202C_206E_206D_200E_206E_200F_206D_206F_200B_202A_200B_202D_202C_206D_202B_202D_200D_200F_202B_200E_202A_200D_200B_206B_202C_202B_200D_202A_202D_202B_202B_206D_206D_206A_202A_202C_200B_206A_200C_206C_202E(_206E_200C_200C_202E_206F_202E_200F_200E_200F_206F_206B_206B_206A_202B_202B_202D_202D_206F_206E_200B_206F_200F_200D_200D_206E_200E_206D_206E_206C_206D_206E_202B_200B_200D_206A_206D_206D_202C_202D_202E_202E() - num3 + _200B_202B_202D_202E_206C_206A_200C_202C_206D_202A_206D_206B_202E_202E_206C_202C_200D_206B_206D_202E_206F_202A_200C_202A_206F_206F_206D_206A_202D_200E_202E_202B_206C_206B_206C_206A_202E_202B_200F_206F_202E().ItemSpacing.Y); - ImRaii.ColorDisposable colorDisposable = _202C_206F_200D_202A_202B_206A_200F_206E_206E_202A_200B_202B_200B_200B_206C_202D_206B_202B_202D_206E_206E_200E_206F_206A_206D_206F_206D_202E_202D_206A_200F_206E_206C_202E_202A_206C_202B_202A_202A_202E(ImGuiCol.Button, Vector4.Zero, true); - try + windowDrawList.AddLine(p, p2, ImGui.ColorConvertFloat4ToU32(accentColor), 2f); + float textLineHeight = ImGui.GetTextLineHeight(); + float num2 = (num - textLineHeight) * 0.5f; + ImGui.SetCursorPosY(ImGui.GetCursorPosY() + num2); + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + 10f); + ImGui.TextColored(in UiThemeUtils.PrimaryTextColor, "Quest Sequence Viewer"); + ImGui.SameLine(x - 35f); + ImGui.SetCursorPosY(ImGui.GetCursorPosY() - num2 + ImGui.GetStyle().ItemSpacing.Y); + using (ImRaii.PushColor(ImGuiCol.Button, Vector4.Zero)) { - ImRaii.ColorDisposable colorDisposable2 = _202C_206F_200D_202A_202B_206A_200F_206E_206E_202A_200B_202B_200B_200B_206C_202D_206B_202B_202D_206E_206E_200E_206F_206A_206D_206F_206D_202E_202D_206A_200F_206E_206C_202E_202A_206C_202B_202A_202A_202E(ImGuiCol.ButtonHovered, new Vector4(0.8f, 0.3f, 0.3f, 0.4f), true); - try + using (ImRaii.PushColor(ImGuiCol.ButtonHovered, new Vector4(0.8f, 0.3f, 0.3f, 0.4f))) { - ImRaii.ColorDisposable colorDisposable3 = _202C_206F_200D_202A_202B_206A_200F_206E_206E_202A_200B_202B_200B_200B_206C_202D_206B_202B_202D_206E_206E_200E_206F_206A_206D_206F_206D_202E_202D_206A_200F_206E_206C_202E_202A_206C_202B_202A_202A_202E(ImGuiCol.ButtonActive, new Vector4(0.9f, 0.2f, 0.2f, 0.6f), true); - try + using (ImRaii.PushColor(ImGuiCol.ButtonActive, new Vector4(0.9f, 0.2f, 0.2f, 0.6f))) { - int num4 = ((!_202A_206F_200B_200B_206D_200E_206D_200D_206A_200D_202D_206D_200C_202C_206B_202A_206F_202B_206E_206A_200B_200E_206D_200D_200B_206F_202A_202B_200B_202A_200B_206E_206D_202C_202E_200B_202A_202B_206E_200E_202E(FontAwesomeIcon.Times)) ? (-799147489) : (-799147492)); - while (true) + if (ImGuiComponents.IconButton(FontAwesomeIcon.Times)) { - int num5 = num4; - int num6 = -799147490; - int num7 = num5; - switch ((num7 | num6) - (num7 & num6)) - { - case 0: - num4 = -799147492; - break; - case 2: - isOpen = false; - num4 = -799147489; - break; - case 1: - goto end_IL_01fa; - } - continue; - end_IL_01fa: - break; + isOpen = false; } } - finally - { - int num4 = ((colorDisposable3 == null) ? (-216661876) : (-216661873)); - while (true) - { - int num8 = num4; - int num6 = -216661875; - int num7 = num8; - switch ((num7 | num6) - (num7 & num6)) - { - case 1: - goto end_IL_0265; - case 2: - _200C_202E_206A_206C_206B_206B_200B_200D_206C_200E_206B_200C_206A_200C_200B_202A_200C_202C_200D_200E_206D_200B_200E_206F_200D_206F_206D_200C_202C_206B_200F_206A_200D_202D_206B_202D_200F_200C_202B_206F_202E((IDisposable)colorDisposable3); - num4 = -216661876; - break; - case 0: - num4 = -216661873; - break; - } - continue; - end_IL_0265: - break; - } - } - } - finally - { - int num4 = ((colorDisposable2 == null) ? (-1685088427) : (-1685088426)); - while (true) - { - int num9 = num4; - int num6 = -1685088428; - int num7 = num9; - int num10 = num7 + num6; - int num11 = num7 & num6; - switch (num10 - (num11 + num11)) - { - case 0: - num4 = -1685088426; - break; - case 2: - _200C_202E_206A_206C_206B_206B_200B_200D_206C_200E_206B_200C_206A_200C_200B_202A_200C_202C_200D_200E_206D_200B_200E_206F_200D_206F_206D_200C_202C_206B_200F_206A_200D_202D_206B_202D_200F_200C_202B_206F_202E((IDisposable)colorDisposable2); - num4 = -1685088427; - break; - case 1: - goto end_IL_02d0; - } - continue; - end_IL_02d0: - break; - } } } - finally - { - int num4 = ((colorDisposable == null) ? 1591897086 : 1591897085); - while (true) - { - int num12 = num4; - int num6 = 1591897084; - int num7 = num12; - switch ((num7 | num6) - (num7 & num6)) - { - case 0: - num4 = 1591897085; - break; - case 2: - goto end_IL_033d; - case 1: - _200C_202E_206A_206C_206B_206B_200B_200D_206C_200E_206B_200C_206A_200C_200B_202A_200C_202C_200D_200E_206D_200B_200E_206F_200D_206F_206D_200C_202C_206B_200F_206A_200D_202D_206B_202D_200F_200C_202B_206F_202E((IDisposable)colorDisposable); - num4 = 1591897086; - break; - } - continue; - end_IL_033d: - break; - } - } - _202C_206E_206D_200E_206E_200F_206D_206F_200B_202A_200B_202D_202C_206D_202B_202D_200D_200F_202B_200E_202A_200D_200B_206B_202C_202B_200D_202A_202D_202B_202B_206D_206D_206A_202A_202C_200B_206A_200C_206C_202E(vector.Y + num - _202D_202C_202D_200B_202E_200F_206E_206C_206C_200B_200E_202C_202A_200E_206D_200F_206D_206B_206B_202B_206B_206F_206C_202E_206B_202D_200F_200F_202D_202C_206F_206A_206D_206D_200C_200D_202D_200E_202E_206C_202E().Y + _206E_200C_200C_202E_206F_202E_200F_200E_200F_206F_206B_206B_206A_202B_202B_202D_202D_206F_206E_200B_206F_200F_200D_200D_206E_200E_206D_206E_206C_206D_206E_202B_200B_200D_206A_206D_206D_202C_202D_202E_202E()); + ImGui.SetCursorPosY(cursorScreenPos.Y + num - ImGui.GetCursorScreenPos().Y + ImGui.GetCursorPosY()); } public static void DrawWindowBorder() { - ImDrawListPtr imDrawListPtr = _206E_200C_200E_206F_200D_200D_202A_206B_202D_202D_206F_202C_200D_200C_200D_200F_200B_202A_206C_206B_202C_200E_202E_206A_206A_202C_202B_200E_206B_200C_206F_200C_200B_200B_206B_200E_200F_206E_200D_206D_202E(); - Vector2 vector = _202E_206D_202A_202A_200F_202C_206B_200D_200B_206E_206C_200F_202E_206C_200D_200E_206E_206A_202B_202B_206E_202C_202B_202A_202C_200D_206F_206E_202A_202C_200E_206E_200C_206F_206C_206C_202D_206A_200B_202B_202E(); - Vector2 vector2 = _206F_206C_202A_206C_206B_200B_200D_202E_202E_202C_206C_206A_202D_200F_200C_200E_200D_200B_202D_206B_200D_200F_200D_202C_206A_206B_200D_206E_206F_206E_206B_200B_206C_202E_200C_206E_206F_206A_200B_202E_202E(); - Vector2 pMin = vector - new Vector2(1f, 1f); - Vector2 pMax = vector + vector2 + new Vector2(1f, 1f); + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 windowPos = ImGui.GetWindowPos(); + Vector2 windowSize = ImGui.GetWindowSize(); + Vector2 pMin = windowPos - new Vector2(1f, 1f); + Vector2 pMax = windowPos + windowSize + new Vector2(1f, 1f); Vector4 accentColor = UiThemeUtils.AccentColor; accentColor.W = 0.15f; - imDrawListPtr.AddRect(pMin, pMax, _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(accentColor), 5f, ImDrawFlags.None, 3f); - Vector2 pMax2 = vector + vector2; + windowDrawList.AddRect(pMin, pMax, ImGui.ColorConvertFloat4ToU32(accentColor), 5f, ImDrawFlags.None, 3f); + Vector2 pMax2 = windowPos + windowSize; accentColor = UiThemeUtils.AccentColor; accentColor.W = 0.4f; - imDrawListPtr.AddRect(vector, pMax2, _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(accentColor), 4f, ImDrawFlags.None, 1.5f); + windowDrawList.AddRect(windowPos, pMax2, ImGui.ColorConvertFloat4ToU32(accentColor), 4f, ImDrawFlags.None, 1.5f); } - [MethodImpl(MethodImplOptions.NoInlining)] public void DrawCurrentQuestTab() { QuestReference currentQuest = _priorityResolver.GetCurrentQuest(); ElementId elementId = currentQuest.CurrentQuest; byte? currentSequence = currentQuest.Sequence; - int num = ((!_202B_200B_206B_200C_200C_200B_202C_202D_200F_200C_200B_202E_202B_200B_206C_200E_200D_202E_202E_206C_202E_200B_206D_206F_202D_200D_200E_202C_200C_200F_200E_200E_202D_202D_202A_206B_202B_200D_202C_200C_202E(elementId, (ElementId)null)) ? (-1494991257) : (-1494991255)); - (QuestId, byte)? currentQuestWithoutPath = default((QuestId, byte)?); - QuestId questId = default(QuestId); - IQuestInfo questInfo = default(IQuestInfo); - while (true) + if (elementId == null) { - int num2 = num; - int num3 = -1494991263; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: - num = ((!_200E_206C_206B_200D_206C_200B_206B_206D_202C_206C_206C_206A_206D_202A_200F_206E_200D_200E_200C_202E_202A_200B_206B_206F_202C_200F_200F_200B_206C_202C_206A_200D_200F_206D_206C_206C_206F_200B_200B_206E_202E(elementId, (ElementId)null)) ? (-1494991252) : (-1494991253)); - break; - case 4: + (QuestId, byte)? currentQuestWithoutPath = _questFunctions.GetCurrentQuestWithoutPath(); + if (currentQuestWithoutPath.HasValue) { (QuestId, byte) valueOrDefault = currentQuestWithoutPath.GetValueOrDefault(); elementId = valueOrDefault.Item1; currentSequence = valueOrDefault.Item2; - num = -1494991257; - break; } - case 0: - _206D_200C_200F_206A_206D_206E_202E_200F_206D_206B_202B_200C_200E_200D_206B_202D_202B_200D_202B_202D_202A_200C_202A_206A_200C_200B_200B_200C_202D_200E_202B_202B_202B_206D_206E_202E_206E_200D_200C_202D_202E(); - num = ((!_200D_202D_202A_206C_202D_200D_206A_202D_206B_206D_206C_206E_206E_200F_206E_206D_206C_202D_200E_206A_206C_200C_206F_202B_206F_206B_200E_200B_200C_202A_206A_206E_202E_206D_202B_200B_206A_202D_206F_200C_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1742019776), default(Vector2))) ? (-1494991261) : (-1494991251)); - break; - case 2: - num = ((!_200D_202E_200E_206F_202D_200F_202A_206F_206C_206C_202B_206E_202A_202B_202C_202E_202E_200D_202E_206E_200C_200E_200E_202D_202D_202D_206A_206D_206D_206B_202C_200C_200D_200D_200F_206E_202B_206A_206A_202C_202E()) ? (-1494991262) : (-1494991256)); - break; - case 10: - DrawQuestSequences(elementId, currentSequence); - num = -1494991264; - break; - case 7: - num = -1494991255; - break; - case 11: - _206E_206B_200E_206B_206C_202E_200E_200E_202A_200F_202C_202B_200E_200D_206E_202A_200C_206D_202D_206A_206D_200C_206A_202C_202A_206C_202D_206C_200D_202C_206D_206F_202D_200F_206A_202A_202E_206C_202B_206D_202E((ImU8String)GetSequenceFilename(_200E_202C_202B_202A_202B_200B_202A_200D_200D_206F_200D_202D_206E_206F_202C_206E_202A_200E_202C_206B_200B_206B_200F_206A_200E_202C_206A_202B_206F_206E_200E_202E_206A_206A_200B_200C_202C_206E_202D_200D_202E((ElementId)questId), _200E_202C_202B_202A_202B_200B_202A_200D_200D_206F_200D_202D_206E_206F_202C_206E_202A_200E_202C_206B_200B_206B_200F_206A_200E_202C_206A_202B_206F_206E_200E_202E_206A_206A_200B_200C_202C_206E_202D_200D_202E((ElementId)questId).ToString(_206A_202E_200E_200F_200E_200E_200D_206B_202D_206E_200D_202A_206B_202C_206D_202B_202C_200C_202B_202B_206B_200F_206A_202E_206E_202B_200D_202B_202E_206E_202B_206A_202A_206C_202B_206A_202B_202E_206D_200F_202E()))); - num = -1494991261; - break; - case 8: - currentQuestWithoutPath = _questFunctions.GetCurrentQuestWithoutPath(); - num = ((!currentQuestWithoutPath.HasValue) ? (-1494991257) : (-1494991259)); - break; - case 12: - num = ((!_questData.TryGetQuestInfo(questId, out questInfo)) ? (-1494991254) : (-1494991260)); - break; - case 5: - _206E_206B_200E_206B_206C_202E_200E_200E_202A_200F_202C_202B_200E_200D_206E_202A_200C_206D_202D_206A_206D_200C_206A_202C_202A_206C_202D_206C_200D_202C_206D_206F_202D_200F_206A_202A_202E_206C_202B_206D_202E((ImU8String)GetSequenceFilename(_200E_202C_202B_202A_202B_200B_202A_200D_200D_206F_200D_202D_206E_206F_202C_206E_202A_200E_202C_206B_200B_206B_200F_206A_200E_202C_206A_202B_206F_206E_200E_202E_206A_206A_200B_200C_202C_206E_202D_200D_202E((ElementId)questId), questInfo.Name)); - num = -1494991261; - break; - case 9: - _202A_202A_200D_206D_206F_202D_200B_206B_202A_200F_200C_200E_202B_206A_202B_202E_200F_202D_206A_206C_200E_202C_200C_202D_200D_206B_206C_202B_206D_206E_200D_202A_206C_200C_206F_200D_202D_206E_200F_202E((ImU8String)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(2059620587)); - num = -1494991262; - break; - case 1: - questId = elementId as QuestId; - num = (((object)questId == null) ? (-1494991262) : (-1494991263)); - break; - case 3: - return; - case 13: + } + if (elementId != null) + { + DrawQuestSequences(elementId, currentSequence); + } + else + { + Vector4 accentColor = UiThemeUtils.AccentColor; + accentColor.W = 0.7f; + DrawEmptyState(FontAwesomeIcon.QuestionCircle, "No Active Quest", "Accept a quest to view its sequence information.", accentColor); + } + if (!(elementId is QuestId questId)) + { + return; + } + ImGui.Spacing(); + if (ImGui.Button("Copy filename")) + { + if (_questData.TryGetQuestInfo(questId, out IQuestInfo questInfo)) { - string title = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1225613667); - string message = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(884791283); - Vector4 accentColor = UiThemeUtils.AccentColor; - accentColor.W = 0.7f; - DrawEmptyState(FontAwesomeIcon.QuestionCircle, title, message, accentColor); - num = -1494991264; - break; + ImGui.SetClipboardText(GetSequenceFilename(questId.Value, questInfo.Name)); } + else + { + ImGui.SetClipboardText(GetSequenceFilename(questId.Value, questId.Value.ToString(CultureInfo.InvariantCulture))); } } + if (ImGui.IsItemHovered()) + { + ImGui.SetTooltip("Copies filename as QuestID_QuestNameWithSpaces.json"); + } } - [MethodImpl(MethodImplOptions.NoInlining)] public void DrawQuestLookupTab() { - Vector2 vector = _202D_202C_202D_200B_202E_200F_206E_206C_206C_200B_200E_202C_202A_200E_206D_200F_206D_206B_206B_202B_206B_206F_206C_202E_206B_202D_200F_200F_202D_202C_206F_206A_206D_206D_200C_200D_202D_200E_202E_206C_202E(); - float y = _200B_206E_202A_206F_206E_206B_206B_202E_202C_200C_200F_206D_200E_206F_200F_202D_206D_200D_206C_206C_206A_200D_200D_202E_206C_206C_206B_206D_200D_202E_202A_202B_202B_200C_202E_200D_206A_206B_202A_202D_202E() + _200B_202B_202D_202E_206C_206A_200C_202C_206D_202A_206D_206B_202E_202E_206C_202C_200D_206B_206D_202E_206F_202A_200C_202A_206F_206F_206D_206A_202D_200E_202E_202B_206C_206B_206C_206A_202E_202B_200F_206F_202E().ItemSpacing.Y * 3f; - float x = _200C_206F_200C_202D_206F_200C_202E_202A_200F_206A_200D_206B_206D_206C_202C_200C_202E_200C_200F_206C_200C_202D_206D_200D_206C_202B_202C_202B_202E_206C_202C_202C_202E_200D_206D_206A_202B_202A_202C_202A_202E().X; - ImDrawListPtr imDrawListPtr = _206E_200C_200E_206F_200D_200D_202A_206B_202D_202D_206F_202C_200D_200C_200D_200F_200B_202A_206C_206B_202C_200E_202E_206A_206A_202C_202B_200E_206B_200C_206F_200C_200B_200B_206B_200E_200F_206E_200D_206D_202E(); - imDrawListPtr.AddRectFilledMultiColor(vector, vector + new Vector2(x, y), _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(UiThemeUtils.CardBackgroundColor), _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(UiThemeUtils.CardBackgroundColor), _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(UiThemeUtils.CardBackgroundColor), _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(UiThemeUtils.CardBackgroundColor)); - Vector2 pMax = vector + new Vector2(x, y); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + float y = ImGui.GetFrameHeightWithSpacing() + ImGui.GetStyle().ItemSpacing.Y * 3f; + float x = ImGui.GetContentRegionAvail().X; + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + windowDrawList.AddRectFilledMultiColor(cursorScreenPos, cursorScreenPos + new Vector2(x, y), ImGui.ColorConvertFloat4ToU32(UiThemeUtils.CardBackgroundColor), ImGui.ColorConvertFloat4ToU32(UiThemeUtils.CardBackgroundColor), ImGui.ColorConvertFloat4ToU32(UiThemeUtils.CardBackgroundColor), ImGui.ColorConvertFloat4ToU32(UiThemeUtils.CardBackgroundColor)); + Vector2 pMax = cursorScreenPos + new Vector2(x, y); Vector4 accentColor = UiThemeUtils.AccentColor; accentColor.W = 0.2f; - imDrawListPtr.AddRect(vector, pMax, _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(accentColor), 4f, ImDrawFlags.None, 1f); - _202C_206E_206D_200E_206E_200F_206D_206F_200B_202A_200B_202D_202C_206D_202B_202D_200D_200F_202B_200E_202A_200D_200B_206B_202C_202B_200D_202A_202D_202B_202B_206D_206D_206A_202A_202C_200B_206A_200C_206C_202E(_206E_200C_200C_202E_206F_202E_200F_200E_200F_206F_206B_206B_206A_202B_202B_202D_202D_206F_206E_200B_206F_200F_200D_200D_206E_200E_206D_206E_206C_206D_206E_202B_200B_200D_206A_206D_206D_202C_202D_202E_202E() + _200B_202B_202D_202E_206C_206A_200C_202C_206D_202A_206D_206B_202E_202E_206C_202C_200D_206B_206D_202E_206F_202A_200C_202A_206F_206F_206D_206A_202D_200E_202E_202B_206C_206B_206C_206A_202E_202B_200F_206F_202E().ItemSpacing.Y * 1.5f); - _202C_206D_200E_200B_200B_202D_206A_200F_200E_202B_206B_200D_200E_200F_206D_206B_206B_202B_202C_200E_206C_200C_206F_200E_202A_200B_206E_202B_202A_206F_206A_202D_206B_206B_202E_202C_206E_202D_200C_202C_202E(_206F_206D_206B_206B_202D_202A_202A_200F_200B_202E_206B_200B_206B_202A_202D_200E_200D_206F_206E_206D_206E_206E_206A_206E_200E_206C_200C_206C_200B_202B_206E_202D_200D_206E_202D_200D_206F_206D_206B_202B_202E() + 10f); - ImRaii.FontDisposable fontDisposable = _202E_206E_200F_200F_200F_206D_202D_202C_206A_206C_206B_206B_200F_202D_206C_200E_202D_206B_206D_200C_206F_200C_200C_206D_206A_202A_206A_202E_206D_200D_206C_206F_202D_200F_200E_202E_200F_200D_206F_202E_202E(_200D_206C_200F_202A_202E_206D_206E_202E_202A_206C_202C_202C_200C_202C_206D_202D_206F_200C_206F_200B_206A_200C_202A_200B_206E_202C_206D_202E_202A_200D_200F_200B_202B_202C_202C_206E_200F_200C_202A_202A_202E(), true); - int num; - try + windowDrawList.AddRect(cursorScreenPos, pMax, ImGui.ColorConvertFloat4ToU32(accentColor), 4f, ImDrawFlags.None, 1f); + ImGui.SetCursorPosY(ImGui.GetCursorPosY() + ImGui.GetStyle().ItemSpacing.Y * 1.5f); + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + 10f); + using (ImRaii.PushFont(UiBuilder.IconFont)) { - _206D_206B_206B_206B_206A_200D_202B_206C_200F_206B_202A_202E_200F_206F_206C_202B_200E_200B_200B_200F_202C_202D_206A_202E_202C_202A_206C_200F_202B_202C_206C_202E_200B_202A_200D_200D_202D_206F_200C_206B_202E(ref UiThemeUtils.AccentColor, (ImU8String)_200F_200C_206B_200B_206C_200E_206F_206C_206D_206A_200E_202B_206B_206E_202A_206C_202D_202E_200D_206E_202E_202A_206D_200B_206B_202C_202A_206A_206E_206D_202C_200F_206D_206E_202C_200E_202D_206F_200D_200C_202E(FontAwesomeIcon.Search)); + ImGui.TextColored(in UiThemeUtils.AccentColor, FontAwesomeIcon.Search.ToIconString()); } - finally + ImGui.SameLine(); + float x2 = ImGui.GetStyle().ItemSpacing.X; + float num = 10f; + float num2 = 10f; + float num3 = ImGui.CalcTextSize("Search").X + ImGui.CalcTextSize(FontAwesomeIcon.Search.ToIconString()).X + ImGui.GetStyle().FramePadding.X * 4f + x2; + ImGui.SetNextItemWidth(x - num3 - x2 * 3f - num - num2); + using (ImRaii.PushColor(ImGuiCol.FrameBg, new Vector4(0.08f, 0.06f, 0.12f, 0.8f))) { - num = ((fontDisposable == null) ? 733147327 : 733147324); - while (true) + using (ImRaii.PushColor(ImGuiCol.FrameBgHovered, new Vector4(0.12f, 0.1f, 0.18f, 0.9f))) { - int num2 = num; - int num3 = 733147325; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + using (ImRaii.PushColor(ImGuiCol.FrameBgActive, new Vector4(0.15f, 0.13f, 0.22f, 1f))) { - case 0: - num = 733147324; - break; - case 1: - _200C_202E_206A_206C_206B_206B_200B_200D_206C_200E_206B_200C_206A_200C_200B_202A_200C_202C_200D_200E_206D_200B_200E_206F_200D_206F_206D_200C_202C_206B_200F_206A_200D_202D_206B_202D_200F_200C_202B_206F_202E((IDisposable)fontDisposable); - num = 733147327; - break; - case 2: - goto end_IL_012c; - } - continue; - end_IL_012c: - break; - } - } - _200E_202D_200B_206E_200E_200D_202D_202B_202D_206F_206B_206A_202A_202A_206F_206B_200D_200F_200E_202C_206C_200B_206C_200E_200E_202E_200C_206C_202D_202A_206E_206B_200C_202D_200F_202C_206C_202C_202E_200D_202E(); - float x2 = _200B_202B_202D_202E_206C_206A_200C_202C_206D_202A_206D_206B_202E_202E_206C_202C_200D_206B_206D_202E_206F_202A_200C_202A_206F_206F_206D_206A_202D_200E_202E_202B_206C_206B_206C_206A_202E_202B_200F_206F_202E().ItemSpacing.X; - float num7 = 10f; - float num8 = 10f; - float num9 = _202B_206A_202C_206B_206F_206E_200F_206B_202B_206F_202D_206B_202E_206B_202A_202E_206F_202D_200F_202B_206B_200F_200D_200E_206C_200C_200C_200E_206C_200E_206E_206A_206D_200F_200F_202C_200C_206D_206F_200D_202E((ImU8String)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(-1000418356), false, -1f).X + _202B_206A_202C_206B_206F_206E_200F_206B_202B_206F_202D_206B_202E_206B_202A_202E_206F_202D_200F_202B_206B_200F_200D_200E_206C_200C_200C_200E_206C_200E_206E_206A_206D_200F_200F_202C_200C_206D_206F_200D_202E((ImU8String)_200F_200C_206B_200B_206C_200E_206F_206C_206D_206A_200E_202B_206B_206E_202A_206C_202D_202E_200D_206E_202E_202A_206D_200B_206B_202C_202A_206A_206E_206D_202C_200F_206D_206E_202C_200E_202D_206F_200D_200C_202E(FontAwesomeIcon.Search), false, -1f).X + _200B_202B_202D_202E_206C_206A_200C_202C_206D_202A_206D_206B_202E_202E_206C_202C_200D_206B_206D_202E_206F_202A_200C_202A_206F_206F_206D_206A_202D_200E_202E_202B_206C_206B_206C_206A_202E_202B_200F_206F_202E().FramePadding.X * 4f + x2; - _206D_202D_200D_206E_200D_206F_206D_200E_206F_202B_202C_200E_200D_202E_206B_206A_200F_206D_206C_200F_206B_202C_202B_200D_206C_202D_206B_202E_202B_206B_206C_206E_200E_202C_202E_206E_206F_206F_202D_202A_202E(x - num9 - x2 * 3f - num7 - num8); - ImRaii.ColorDisposable colorDisposable = _202C_206F_200D_202A_202B_206A_200F_206E_206E_202A_200B_202B_200B_200B_206C_202D_206B_202B_202D_206E_206E_200E_206F_206A_206D_206F_206D_202E_202D_206A_200F_206E_206C_202E_202A_206C_202B_202A_202A_202E(ImGuiCol.FrameBg, new Vector4(0.08f, 0.06f, 0.12f, 0.8f), true); - try - { - ImRaii.ColorDisposable colorDisposable2 = _202C_206F_200D_202A_202B_206A_200F_206E_206E_202A_200B_202B_200B_200B_206C_202D_206B_202B_202D_206E_206E_200E_206F_206A_206D_206F_206D_202E_202D_206A_200F_206E_206C_202E_202A_206C_202B_202A_202A_202E(ImGuiCol.FrameBgHovered, new Vector4(0.12f, 0.1f, 0.18f, 0.9f), true); - try - { - ImRaii.ColorDisposable colorDisposable3 = _202C_206F_200D_202A_202B_206A_200F_206E_206E_202A_200B_202B_200B_200B_206C_202D_206B_202B_202D_206E_206E_200E_206F_206A_206D_206F_206D_202E_202D_206A_200F_206E_206C_202E_202A_206C_202B_202A_202A_202E(ImGuiCol.FrameBgActive, new Vector4(0.15f, 0.13f, 0.22f, 1f), true); - try - { - bool flag = _200F_200B_206D_202E_206B_202E_202A_202B_206F_202D_206E_202D_200B_206C_200B_202C_200D_202A_206E_206A_200D_200C_200E_206C_206E_200E_206E_206F_206F_202A_206E_202C_200C_202B_206F_206F_200F_200D_200F_200D_202E((ImU8String)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(300618578), (ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1207997573), ref _questLookupInput, 10, ImGuiInputTextFlags.EnterReturnsTrue, (ImGui.ImGuiInputTextCallbackDelegate)null); - _200E_202D_200B_206E_200E_200D_202D_202B_202D_206F_206B_206A_202A_202A_206F_206B_200D_200F_200E_202C_206C_200B_206C_200E_200E_202E_200C_206C_202D_202A_206E_206B_200C_202D_200F_202C_206C_202C_202E_200D_202E(); - ImRaii.ColorDisposable colorDisposable4 = _202C_206F_200D_202A_202B_206A_200F_206E_206E_202A_200B_202B_200B_200B_206C_202D_206B_202B_202D_206E_206E_200E_206F_206A_206D_206F_206D_202E_202D_206A_200F_206E_206C_202E_202A_206C_202B_202A_202A_202E(ImGuiCol.Button, new Vector4(0.25f, 0.22f, 0.32f, 0.8f), true); - try + bool flag = ImGui.InputTextWithHint("##QuestLookup", "Enter quest ID...", ref _questLookupInput, 10, ImGuiInputTextFlags.EnterReturnsTrue); + ImGui.SameLine(); + using (ImRaii.PushColor(ImGuiCol.Button, new Vector4(0.25f, 0.22f, 0.32f, 0.8f))) { - ImRaii.ColorDisposable colorDisposable5 = _202C_206F_200D_202A_202B_206A_200F_206E_206E_202A_200B_202B_200B_200B_206C_202D_206B_202B_202D_206E_206E_200E_206F_206A_206D_206F_206D_202E_202D_206A_200F_206E_206C_202E_202A_206C_202B_202A_202A_202E(ImGuiCol.ButtonHovered, new Vector4(0.35f, 0.3f, 0.45f, 0.9f), true); - try + using (ImRaii.PushColor(ImGuiCol.ButtonHovered, new Vector4(0.35f, 0.3f, 0.45f, 0.9f))) { - ImRaii.ColorDisposable colorDisposable6 = _202C_206F_200D_202A_202B_206A_200F_206E_206E_202A_200B_202B_200B_200B_206C_202D_206B_202B_202D_206E_206E_200E_206F_206A_206D_206F_206D_202E_202D_206A_200F_206E_206C_202E_202A_206C_202B_202A_202A_202E(ImGuiCol.ButtonActive, new Vector4(0.4f, 0.35f, 0.5f, 1f), true); - try + using (ImRaii.PushColor(ImGuiCol.ButtonActive, new Vector4(0.4f, 0.35f, 0.5f, 1f))) { - bool flag2 = _206F_200D_206B_200B_202B_206A_206C_206B_200B_206D_200F_200D_202E_206B_206F_200B_202A_206E_200B_206C_200C_200D_206D_200E_202D_206D_202D_202B_200C_200B_206C_202C_206F_202A_200E_200C_206B_206F_202D_200E_202E(FontAwesomeIcon.Search, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1685583443), (Vector4?)null, (Vector4?)null, (Vector4?)null, (Vector2?)null); - int num3 = (flag2 ? 1 : 0); - int num4 = (flag ? 1 : 0); - num = (((num4 & num3) + (num4 ^ num3) == 0) ? (-688250819) : (-688250822)); - ushort result = default(ushort); - while (true) + bool flag2 = ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Search, "Search"); + if (flag || flag2) { - int num10 = num; - num3 = -688250823; - num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) + if (ushort.TryParse(_questLookupInput, out var result)) + { + _lookedUpQuestId = new QuestId(result); + } + else { - case 1: _lookedUpQuestId = null; - num = -688250819; - break; - case 3: - num = ((!ushort.TryParse(_questLookupInput, out result)) ? (-688250824) : (-688250821)); - break; - case 0: - num = -688250822; - break; - case 2: - _lookedUpQuestId = _206F_202A_200B_206F_202C_202B_200E_202C_206C_200F_200E_206D_202E_206D_202B_202E_202C_202C_200B_202B_202B_206E_202A_200F_202C_202A_200B_200D_206D_202D_202A_206B_202C_206B_206D_200B_206C_200D_206C_200D_202E(result); - goto end_IL_038b; - case 4: - goto end_IL_038b; } - continue; - end_IL_038b: - break; - } - } - finally - { - num = ((colorDisposable6 == null) ? 1463431846 : 1463431845); - while (true) - { - int num13 = num; - int num3 = 1463431844; - int num4 = num13; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_044c; - case 1: - _200C_202E_206A_206C_206B_206B_200B_200D_206C_200E_206B_200C_206A_200C_200B_202A_200C_202C_200D_200E_206D_200B_200E_206F_200D_206F_206D_200C_202C_206B_200F_206A_200D_202D_206B_202D_200F_200C_202B_206F_202E((IDisposable)colorDisposable6); - num = 1463431846; - break; - case 0: - num = 1463431845; - break; - } - continue; - end_IL_044c: - break; } } } - finally - { - num = ((colorDisposable5 == null) ? 1672099567 : 1672099564); - while (true) - { - int num14 = num; - int num3 = 1672099565; - int num4 = num14; - int num15 = num4 + num3; - int num16 = num4 & num3; - switch (num15 - (num16 + num16)) - { - case 0: - num = 1672099564; - break; - case 2: - goto end_IL_04b7; - case 1: - _200C_202E_206A_206C_206B_206B_200B_200D_206C_200E_206B_200C_206A_200C_200B_202A_200C_202C_200D_200E_206D_200B_200E_206F_200D_206F_206D_200C_202C_206B_200F_206A_200D_202D_206B_202D_200F_200C_202B_206F_202E((IDisposable)colorDisposable5); - num = 1672099567; - break; - } - continue; - end_IL_04b7: - break; - } - } } - finally - { - num = ((colorDisposable4 == null) ? 1061432150 : 1061432149); - while (true) - { - int num17 = num; - int num3 = 1061432151; - int num4 = num17; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1061432149; - break; - case 2: - _200C_202E_206A_206C_206B_206B_200B_200D_206C_200E_206B_200C_206A_200C_200B_202A_200C_202C_200D_200E_206D_200B_200E_206F_200D_206F_206D_200C_202C_206B_200F_206A_200D_202D_206B_202D_200F_200C_202B_206F_202E((IDisposable)colorDisposable4); - num = 1061432150; - break; - case 1: - goto end_IL_0524; - } - continue; - end_IL_0524: - break; - } - } - } - finally - { - num = ((colorDisposable3 == null) ? 1572938025 : 1572938026); - while (true) - { - int num18 = num; - int num3 = 1572938027; - int num4 = num18; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1572938026; - break; - case 1: - _200C_202E_206A_206C_206B_206B_200B_200D_206C_200E_206B_200C_206A_200C_200B_202A_200C_202C_200D_200E_206D_200B_200E_206F_200D_206F_206D_200C_202C_206B_200F_206A_200D_202D_206B_202D_200F_200C_202B_206F_202E((IDisposable)colorDisposable3); - num = 1572938025; - break; - case 2: - goto end_IL_058f; - } - continue; - end_IL_058f: - break; - } - } - } - finally - { - num = ((colorDisposable2 == null) ? (-1890235398) : (-1890235399)); - while (true) - { - int num19 = num; - int num3 = -1890235400; - int num4 = num19; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1890235399; - break; - case 1: - _200C_202E_206A_206C_206B_206B_200B_200D_206C_200E_206B_200C_206A_200C_200B_202A_200C_202C_200D_200E_206D_200B_200E_206F_200D_206F_206D_200C_202C_206B_200F_206A_200D_202D_206B_202D_200F_200C_202B_206F_202E((IDisposable)colorDisposable2); - num = -1890235398; - break; - case 2: - goto end_IL_05fa; - } - continue; - end_IL_05fa: - break; } } } - finally + ImGui.SetCursorPosY(ImGui.GetCursorPosY() + ImGui.GetStyle().ItemSpacing.Y * 1.5f); + ImGui.Spacing(); + ImGui.Spacing(); + if (_lookedUpQuestId != null) { - num = ((colorDisposable == null) ? 193392893 : 193392892); - while (true) - { - int num20 = num; - int num3 = 193392893; - int num4 = num20; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 193392892; - break; - case 1: - _200C_202E_206A_206C_206B_206B_200B_200D_206C_200E_206B_200C_206A_200C_200B_202A_200C_202C_200D_200E_206D_200B_200E_206F_200D_206F_206D_200C_202C_206B_200F_206A_200D_202D_206B_202D_200F_200C_202B_206F_202E((IDisposable)colorDisposable); - num = 193392893; - break; - case 0: - goto end_IL_0665; - } - continue; - end_IL_0665: - break; - } - } - _202C_206E_206D_200E_206E_200F_206D_206F_200B_202A_200B_202D_202C_206D_202B_202D_200D_200F_202B_200E_202A_200D_200B_206B_202C_202B_200D_202A_202D_202B_202B_206D_206D_206A_202A_202C_200B_206A_200C_206C_202E(_206E_200C_200C_202E_206F_202E_200F_200E_200F_206F_206B_206B_206A_202B_202B_202D_202D_206F_206E_200B_206F_200F_200D_200D_206E_200E_206D_206E_206C_206D_206E_202B_200B_200D_206A_206D_206D_202C_202D_202E_202E() + _200B_202B_202D_202E_206C_206A_200C_202C_206D_202A_206D_206B_202E_202E_206C_202C_200D_206B_206D_202E_206F_202A_200C_202A_206F_206F_206D_206A_202D_200E_202E_202B_206C_206B_206C_206A_202E_202B_200F_206F_202E().ItemSpacing.Y * 1.5f); - _206D_200C_200F_206A_206D_206E_202E_200F_206D_206B_202B_200C_200E_200D_206B_202D_202B_200D_202B_202D_202A_200C_202A_206A_200C_200B_200B_200C_202D_200E_202B_202B_202B_206D_206E_202E_206E_200D_200C_202D_202E(); - _206D_200C_200F_206A_206D_206E_202E_200F_206D_206B_202B_200C_200E_200D_206B_202D_202B_200D_202B_202D_202A_200C_202A_206A_200C_200B_200B_200C_202D_200E_202B_202B_202B_206D_206E_202E_206E_200D_200C_202D_202E(); - num = ((!_200E_206C_206B_200D_206C_200B_206B_206D_202C_206C_206C_206A_206D_202A_200F_206E_200D_200E_200C_202E_202A_200B_206B_206F_202C_200F_200F_200B_206C_202C_206A_200D_200F_206D_206C_206C_206F_200B_200B_206E_202E(_lookedUpQuestId, (ElementId)null)) ? (-1802651693) : (-1802651696)); - while (true) - { - int num21 = num; - int num3 = -1802651694; - int num4 = num21; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - { - string title = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1963178389); - string message = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1869992260); - accentColor = UiThemeUtils.AccentColor; - accentColor.W = 0.7f; - DrawEmptyState(FontAwesomeIcon.Search, title, message, accentColor); - return; - } - case 2: - DrawQuestSequences(_lookedUpQuestId, null); - return; - case 0: - goto IL_077f; - } - continue; - IL_077f: - num = -1802651696; + DrawQuestSequences(_lookedUpQuestId, null); + return; } + accentColor = UiThemeUtils.AccentColor; + accentColor.W = 0.7f; + DrawEmptyState(FontAwesomeIcon.Search, "Enter a Quest ID", "Use the search box above to look up any quest by its ID.", accentColor); } private static void DrawEmptyState(FontAwesomeIcon icon, string title, string message, Vector4 iconColor) { - float y = _200C_206F_200C_202D_206F_200C_202E_202A_200F_206A_200D_206B_206D_206C_202C_200C_202E_200C_200F_206C_200C_202D_206D_200D_206C_202B_202C_202B_202E_206C_202C_202C_202E_200D_206D_206A_202B_202A_202C_202A_202E().Y; - float x = _200C_206F_200C_202D_206F_200C_202E_202A_200F_206A_200D_206B_206D_206C_202C_200C_202E_200C_200F_206C_200C_202D_206D_200D_206C_202B_202C_202B_202E_206C_202C_202C_202E_200D_206D_206A_202B_202A_202C_202A_202E().X; - _202C_206E_206D_200E_206E_200F_206D_206F_200B_202A_200B_202D_202C_206D_202B_202D_200D_200F_202B_200E_202A_200D_200B_206B_202C_202B_200D_202A_202D_202B_202B_206D_206D_206A_202A_202C_200B_206A_200C_206C_202E(_206E_200C_200C_202E_206F_202E_200F_200E_200F_206F_206B_206B_206A_202B_202B_202D_202D_206F_206E_200B_206F_200F_200D_200D_206E_200E_206D_206E_206C_206D_206E_202B_200B_200D_206A_206D_206D_202C_202D_202E_202E() + y * 0.25f); - Vector2 vector = _202D_202C_202D_200B_202E_200F_206E_206C_206C_200B_200E_202C_202A_200E_206D_200F_206D_206B_206B_202B_206B_206F_206C_202E_206B_202D_200F_200F_202D_202C_206F_206A_206D_206D_200C_200D_202D_200E_202E_206C_202E(); - _202E_202D_202E_206D_206B_206F_202E_202D_200F_206C_200F_202B_206B_202D_206B_200D_206B_206A_202E_200B_202B_202E_200F_202A_200C_200D_206B_202B_206B_206D_202A_206A_206D_202B_200B_206C_202A_206E_202A_206E_202E(_200D_206C_200F_202A_202E_206D_206E_202E_202A_206C_202C_202C_200C_202C_206D_202D_206F_200C_206F_200B_206A_200C_202A_200B_206E_202C_206D_202E_202A_200D_200F_200B_202B_202C_202C_206E_200F_200C_202A_202A_202E()); - string text = _200F_200C_206B_200B_206C_200E_206F_206C_206D_206A_200E_202B_206B_206E_202A_206C_202D_202E_200D_206E_202E_202A_206D_200B_206B_202C_202A_206A_206E_206D_202C_200F_206D_206E_202C_200E_202D_206F_200D_200C_202E(icon); - Vector2 vector2 = _202B_206A_202C_206B_206F_206E_200F_206B_202B_206F_202D_206B_202E_206B_202A_202E_206F_202D_200F_202B_206B_200F_200D_200E_206C_200C_200C_200E_206C_200E_206E_206A_206D_200F_200F_202C_200C_206D_206F_200D_202E((ImU8String)text, false, -1f); - vector2 *= 2.5f; - ImDrawListPtr imDrawListPtr = _206E_200C_200E_206F_200D_200D_202A_206B_202D_202D_206F_202C_200D_200C_200D_200F_200B_202A_206C_206B_202C_200E_202E_206A_206A_202C_202B_200E_206B_200C_206F_200C_200B_200B_206B_200E_200F_206E_200D_206D_202E(); - Vector2 vector3 = new Vector2(x * 0.5f, 0f) + vector + new Vector2(0f, vector2.Y * 0.5f); - int num = 3; - int num2 = 61091441; - while (true) + float y = ImGui.GetContentRegionAvail().Y; + float x = ImGui.GetContentRegionAvail().X; + ImGui.SetCursorPosY(ImGui.GetCursorPosY() + y * 0.25f); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + ImGui.PushFont(UiBuilder.IconFont); + string text = icon.ToIconString(); + Vector2 vector = ImGui.CalcTextSize(text); + vector *= 2.5f; + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 vector2 = new Vector2(x * 0.5f, 0f) + cursorScreenPos + new Vector2(0f, vector.Y * 0.5f); + for (int num = 3; num > 0; num--) { - int num3 = num2; - int num4 = 61091442; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 0: - num2 = 61091441; - break; - case 3: - num2 = ((num > 0) ? 61091443 : 61091440); - break; - case 2: - { - _202B_206F_200B_206F_206E_206B_200B_200C_200C_200C_200D_206C_206D_202C_202B_200F_206A_202A_202D_200D_206B_206C_206A_200B_206B_206D_200B_206A_202E_206F_206D_200F_200B_206B_202D_206D_202B_200F_202D_206C_202E(vector3 - vector2 * 0.5f); - _206D_206B_206B_206B_206A_200D_202B_206C_200F_206B_202A_202E_200F_206F_206C_202B_200E_200B_200B_200F_202C_202D_206A_202E_202C_202A_206C_200F_202B_202C_206C_202E_200B_202A_200D_200D_202D_206F_200C_206B_202E(ref iconColor, (ImU8String)text); - _206A_202D_200F_202E_202E_200C_202C_206C_202A_200C_206F_206E_200B_206F_202B_202E_200E_202B_200F_206A_206E_202E_202E_202D_200E_202D_202C_202C_202D_206E_200E_200E_202B_206F_200C_200F_200F_206B_206E_202B_202E(); - _202C_206E_206D_200E_206E_200F_206D_206F_200B_202A_200B_202D_202C_206D_202B_202D_200D_200F_202B_200E_202A_200D_200B_206B_202C_202B_200D_202A_202D_202B_202B_206D_206D_206A_202A_202C_200B_206A_200C_206C_202E(_206E_200C_200C_202E_206F_202E_200F_200E_200F_206F_206B_206B_206A_202B_202B_202D_202D_206F_206E_200B_206F_200F_200D_200D_206E_200E_206D_206E_206C_206D_206E_202B_200B_200D_206A_206D_206D_202C_202D_202E_202E() + vector2.Y * 0.5f + 20f); - Vector2 vector5 = _202B_206A_202C_206B_206F_206E_200F_206B_202B_206F_202D_206B_202E_206B_202A_202E_206F_202D_200F_202B_206B_200F_200D_200E_206C_200C_200C_200E_206C_200E_206E_206A_206D_200F_200F_202C_200C_206D_206F_200D_202E((ImU8String)title, false, -1f); - Vector2 vector6 = new Vector2((x - vector5.X) * 0.5f, 0f) + _202D_202C_202D_200B_202E_200F_206E_206C_206C_200B_200E_202C_202A_200E_206D_200F_206D_206B_206B_202B_206B_206F_206C_202E_206B_202D_200F_200F_202D_202C_206F_206A_206D_206D_200C_200D_202D_200E_202E_206C_202E(); - imDrawListPtr.AddText(vector6 + new Vector2(1f, 1f), _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(new Vector4(0f, 0f, 0f, 0.5f)), title); - _202C_206D_200E_200B_200B_202D_206A_200F_200E_202B_206B_200D_200E_200F_206D_206B_206B_202B_202C_200E_206C_200C_206F_200E_202A_200B_206E_202B_202A_206F_206A_202D_206B_206B_202E_202C_206E_202D_200C_202C_202E((x - vector5.X) * 0.5f); - _206D_206B_206B_206B_206A_200D_202B_206C_200F_206B_202A_202E_200F_206F_206C_202B_200E_200B_200B_200F_202C_202D_206A_202E_202C_202A_206C_200F_202B_202C_206C_202E_200B_202A_200D_200D_202D_206F_200C_206B_202E(ref UiThemeUtils.PrimaryTextColor, (ImU8String)title); - _206D_200C_200F_206A_206D_206E_202E_200F_206D_206B_202B_200C_200E_200D_206B_202D_202B_200D_202B_202D_202A_200C_202A_206A_200C_200B_200B_200C_202D_200E_202B_202B_202B_206D_206E_202E_206E_200D_200C_202D_202E(); - _206D_200C_200F_206A_206D_206E_202E_200F_206D_206B_202B_200C_200E_200D_206B_202D_202B_200D_202B_202D_202A_200C_202A_206A_200C_200B_200B_200C_202D_200E_202B_202B_202B_206D_206E_202E_206E_200D_200C_202D_202E(); - _202C_206D_200E_200B_200B_202D_206A_200F_200E_202B_206B_200D_200E_200F_206D_206B_206B_202B_202C_200E_206C_200C_206F_200E_202A_200B_206E_202B_202A_206F_206A_202D_206B_206B_202E_202C_206E_202D_200C_202C_202E(_202A_200E_206E_202A_202C_200B_200F_200D_206A_200C_200F_206D_200E_202C_206B_206E_206D_200D_200C_206E_206D_206B_200F_206A_206A_200E_206E_202E_200F_200E_202B_200F_200D_206A_202E_202E_200C_202B_202D_200E_202E(0f, (x - _202B_206A_202C_206B_206F_206E_200F_206B_202B_206F_202D_206B_202E_206B_202A_202E_206F_202D_200F_202B_206B_200F_200D_200E_206C_200C_200C_200E_206C_200E_206E_206A_206D_200F_200F_202C_200C_206D_206F_200D_202E((ImU8String)message, false, -1f).X) * 0.5f)); - UiThemeUtils.WrappedTextColored(UiThemeUtils.DimTextColor, message); - return; - } - case 1: - { - Vector4 vector4 = new Vector4(iconColor.X, iconColor.Y, iconColor.Z, iconColor.W * 0.1f * (float)num); - _202B_206F_200B_206F_206E_206B_200B_200C_200C_200C_200D_206C_206D_202C_202B_200F_206A_202A_202D_200D_206B_206C_206A_200B_206B_206D_200B_206A_202E_206F_206D_200F_200B_206B_202D_206D_202B_200F_202D_206C_202E(vector3 - vector2 * 0.5f - new Vector2(num * 2, num * 2)); - _206D_206B_206B_206B_206A_200D_202B_206C_200F_206B_202A_202E_200F_206F_206C_202B_200E_200B_200B_200F_202C_202D_206A_202E_202C_202A_206C_200F_202B_202C_206C_202E_200B_202A_200D_200D_202D_206F_200C_206B_202E(ref vector4, (ImU8String)text); - int num8 = num; - num4 = 1; - num5 = num8; - num = ~(~num5 + num4); - num2 = 61091441; - break; - } - } + Vector4 col = new Vector4(iconColor.X, iconColor.Y, iconColor.Z, iconColor.W * 0.1f * (float)num); + ImGui.SetCursorScreenPos(vector2 - vector * 0.5f - new Vector2(num * 2, num * 2)); + ImGui.TextColored(in col, text); } + ImGui.SetCursorScreenPos(vector2 - vector * 0.5f); + ImGui.TextColored(in iconColor, text); + ImGui.PopFont(); + ImGui.SetCursorPosY(ImGui.GetCursorPosY() + vector.Y * 0.5f + 20f); + Vector2 vector3 = ImGui.CalcTextSize(title); + Vector2 vector4 = new Vector2((x - vector3.X) * 0.5f, 0f) + ImGui.GetCursorScreenPos(); + windowDrawList.AddText(vector4 + new Vector2(1f, 1f), ImGui.ColorConvertFloat4ToU32(new Vector4(0f, 0f, 0f, 0.5f)), title); + ImGui.SetCursorPosX((x - vector3.X) * 0.5f); + ImGui.TextColored(in UiThemeUtils.PrimaryTextColor, title); + ImGui.Spacing(); + ImGui.Spacing(); + ImGui.SetCursorPosX(MathF.Max(0f, (x - ImGui.CalcTextSize(message).X) * 0.5f)); + UiThemeUtils.WrappedTextColored(UiThemeUtils.DimTextColor, message); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawQuestSequences(ElementId questElementId, byte? currentSequence) { - QuestId questId = questElementId as QuestId; - int num = (((object)questId != null) ? (-1912268142) : (-1912268139)); - Vector2 vector = default(Vector2); - float num20 = default(float); - float x = default(float); - IQuestInfo questInfo = default(IQuestInfo); - float reservedRightWidth = default(float); - Questionable.Model.Quest quest2 = default(Questionable.Model.Quest); - int num25 = default(int); - List list = default(List); - int num27 = default(int); - bool flag2 = default(bool); - HashSet hashSet = default(HashSet); - Dictionary dictionary = default(Dictionary); - bool flag = default(bool); - QuestSequence current = default(QuestSequence); - float num32 = default(float); - while (true) + if (!(questElementId is QuestId questId)) { - int num2 = num; - int num3 = -1912268144; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + DrawErrorState("Invalid Quest ID Type", "This viewer only supports regular quest IDs."); + return; + } + if (!_questData.TryGetQuestInfo(questElementId, out IQuestInfo questInfo)) + { + DrawErrorState($"Quest {questId.Value} Not Found", "This quest ID does not exist in the game data."); + return; + } + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + float num = ImGui.GetFrameHeightWithSpacing() * 1.8f; + float x = ImGui.GetContentRegionAvail().X; + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + windowDrawList.AddRectFilledMultiColor(cursorScreenPos, cursorScreenPos + new Vector2(x, num), ImGui.ColorConvertFloat4ToU32(UiThemeUtils.CardBackgroundColor), ImGui.ColorConvertFloat4ToU32(UiThemeUtils.CardBackgroundColor), ImGui.ColorConvertFloat4ToU32(UiThemeUtils.CardBackgroundColor), ImGui.ColorConvertFloat4ToU32(UiThemeUtils.CardBackgroundColor)); + Vector2 pMin = cursorScreenPos; + Vector2 pMax = cursorScreenPos + new Vector2(x, num); + Vector4 accentColor = UiThemeUtils.AccentColor; + accentColor.W = 0.25f; + windowDrawList.AddRect(pMin, pMax, ImGui.ColorConvertFloat4ToU32(accentColor), 4f, ImDrawFlags.None, 1f); + float textLineHeight = ImGui.GetTextLineHeight(); + float num2 = (num - textLineHeight) * 0.5f; + ImGui.SetCursorPosY(ImGui.GetCursorPosY() + num2); + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + 10f); + ImGui.PushFont(UiBuilder.IconFont); + ImGui.TextColored(in UiThemeUtils.AccentColor, FontAwesomeIcon.Book.ToIconString()); + ImGui.PopFont(); + ImGui.SameLine(); + float x2 = ImGui.GetStyle().ItemSpacing.X; + ImU8String text = new ImU8String(6, 1); + text.AppendLiteral("(ID: "); + text.AppendFormatted(questId.Value); + text.AppendLiteral(")"); + float num3 = ImGui.CalcTextSize(text).X + x2 + 8f + ImGui.GetFrameHeight() + x2; + if (currentSequence.HasValue) + { + float num4 = num3; + float num5 = ImGui.CalcTextSize("-").X + x2 * 2f; + ImU8String text2 = new ImU8String(17, 1); + text2.AppendLiteral("Active: Sequence "); + text2.AppendFormatted(currentSequence.Value); + num3 = num4 + (num5 + ImGui.CalcTextSize(text2).X + x2); + } + num3 += 12f; + UiThemeUtils.RowLabel(questInfo.Name, num3, UiThemeUtils.PrimaryTextColor); + ImGui.SameLine(); + ImU8String text3 = new ImU8String(6, 1); + text3.AppendLiteral("(ID: "); + text3.AppendFormatted(questId.Value); + text3.AppendLiteral(")"); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text3); + ImGui.SameLine(); + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + 8f); + using (ImRaii.PushColor(ImGuiCol.Button, new Vector4(0.18f, 0.16f, 0.22f, 0.8f))) + { + using (ImRaii.PushColor(ImGuiCol.ButtonHovered, new Vector4(0.28f, 0.24f, 0.32f, 0.95f))) { - case 6: - num = -1912268139; - break; - case 3: - { - vector = _202D_202C_202D_200B_202E_200F_206E_206C_206C_200B_200E_202C_202A_200E_206D_200F_206D_206B_206B_202B_206B_206F_206C_202E_206B_202D_200F_200F_202D_202C_206F_206A_206D_206D_200C_200D_202D_200E_202E_206C_202E(); - num20 = _200B_206E_202A_206F_206E_206B_206B_202E_202C_200C_200F_206D_200E_206F_200F_202D_206D_200D_206C_206C_206A_200D_200D_202E_206C_206C_206B_206D_200D_202E_202A_202B_202B_200C_202E_200D_206A_206B_202A_202D_202E() * 1.8f; - float x2 = _200C_206F_200C_202D_206F_200C_202E_202A_200F_206A_200D_206B_206D_206C_202C_200C_202E_200C_200F_206C_200C_202D_206D_200D_206C_202B_202C_202B_202E_206C_202C_202C_202E_200D_206D_206A_202B_202A_202C_202A_202E().X; - ImDrawListPtr imDrawListPtr = _206E_200C_200E_206F_200D_200D_202A_206B_202D_202D_206F_202C_200D_200C_200D_200F_200B_202A_206C_206B_202C_200E_202E_206A_206A_202C_202B_200E_206B_200C_206F_200C_200B_200B_206B_200E_200F_206E_200D_206D_202E(); - imDrawListPtr.AddRectFilledMultiColor(vector, vector + new Vector2(x2, num20), _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(UiThemeUtils.CardBackgroundColor), _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(UiThemeUtils.CardBackgroundColor), _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(UiThemeUtils.CardBackgroundColor), _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(UiThemeUtils.CardBackgroundColor)); - Vector2 pMin = vector; - Vector2 pMax = vector + new Vector2(x2, num20); - Vector4 accentColor = UiThemeUtils.AccentColor; - accentColor.W = 0.25f; - imDrawListPtr.AddRect(pMin, pMax, _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(accentColor), 4f, ImDrawFlags.None, 1f); - float num38 = _200F_202A_206E_200C_202C_202D_206C_206C_202B_206E_202B_202B_202C_206D_206C_200C_206B_206A_206D_206D_202E_200B_206A_206C_202E_200F_200D_206A_200B_202E_200D_202D_200E_206E_200B_202D_206B_206A_206E_206D_202E(); - float num39 = (num20 - num38) * 0.5f; - _202C_206E_206D_200E_206E_200F_206D_206F_200B_202A_200B_202D_202C_206D_202B_202D_200D_200F_202B_200E_202A_200D_200B_206B_202C_202B_200D_202A_202D_202B_202B_206D_206D_206A_202A_202C_200B_206A_200C_206C_202E(_206E_200C_200C_202E_206F_202E_200F_200E_200F_206F_206B_206B_206A_202B_202B_202D_202D_206F_206E_200B_206F_200F_200D_200D_206E_200E_206D_206E_206C_206D_206E_202B_200B_200D_206A_206D_206D_202C_202D_202E_202E() + num39); - _202C_206D_200E_200B_200B_202D_206A_200F_200E_202B_206B_200D_200E_200F_206D_206B_206B_202B_202C_200E_206C_200C_206F_200E_202A_200B_206E_202B_202A_206F_206A_202D_206B_206B_202E_202C_206E_202D_200C_202C_202E(_206F_206D_206B_206B_202D_202A_202A_200F_200B_202E_206B_200B_206B_202A_202D_200E_200D_206F_206E_206D_206E_206E_206A_206E_200E_206C_200C_206C_200B_202B_206E_202D_200D_206E_202D_200D_206F_206D_206B_202B_202E() + 10f); - _202E_202D_202E_206D_206B_206F_202E_202D_200F_206C_200F_202B_206B_202D_206B_200D_206B_206A_202E_200B_202B_202E_200F_202A_200C_200D_206B_202B_206B_206D_202A_206A_206D_202B_200B_206C_202A_206E_202A_206E_202E(_200D_206C_200F_202A_202E_206D_206E_202E_202A_206C_202C_202C_200C_202C_206D_202D_206F_200C_206F_200B_206A_200C_202A_200B_206E_202C_206D_202E_202A_200D_200F_200B_202B_202C_202C_206E_200F_200C_202A_202A_202E()); - _206D_206B_206B_206B_206A_200D_202B_206C_200F_206B_202A_202E_200F_206F_206C_202B_200E_200B_200B_200F_202C_202D_206A_202E_202C_202A_206C_200F_202B_202C_206C_202E_200B_202A_200D_200D_202D_206F_200C_206B_202E(ref UiThemeUtils.AccentColor, (ImU8String)_200F_200C_206B_200B_206C_200E_206F_206C_206D_206A_200E_202B_206B_206E_202A_206C_202D_202E_200D_206E_202E_202A_206D_200B_206B_202C_202A_206A_206E_206D_202C_200F_206D_206E_202C_200E_202D_206F_200D_200C_202E(FontAwesomeIcon.Book)); - _206A_202D_200F_202E_202E_200C_202C_206C_202A_200C_206F_206E_200B_206F_202B_202E_200E_202B_200F_206A_206E_202E_202E_202D_200E_202D_202C_202C_202D_206E_200E_200E_202B_206F_200C_200F_200F_206B_206E_202B_202E(); - _200E_202D_200B_206E_200E_200D_202D_202B_202D_206F_206B_206A_202A_202A_206F_206B_200D_200F_200E_202C_206C_200B_206C_200E_200E_202E_200C_206C_202D_202A_206E_206B_200C_202D_200F_202C_206C_202C_202E_200D_202E(); - x = _200B_202B_202D_202E_206C_206A_200C_202C_206D_202A_206D_206B_202E_202E_206C_202C_200D_206B_206D_202E_206F_202A_200C_202A_206F_206F_206D_206A_202D_200E_202E_202B_206C_206B_206C_206A_202E_202B_200F_206F_202E().ItemSpacing.X; - ImU8String imU8String4 = new ImU8String(6, 1); - imU8String4.AppendLiteral(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(1059552440)); - imU8String4.AppendFormatted(_200E_202C_202B_202A_202B_200B_202A_200D_200D_206F_200D_202D_206E_206F_202C_206E_202A_200E_202C_206B_200B_206B_200F_206A_200E_202C_206A_202B_206F_206E_200E_202E_206A_206A_200B_200C_202C_206E_202D_200D_202E((ElementId)questId)); - imU8String4.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1618480346)); - reservedRightWidth = _202B_206A_202C_206B_206F_206E_200F_206B_202B_206F_202D_206B_202E_206B_202A_202E_206F_202D_200F_202B_206B_200F_200D_200E_206C_200C_200C_200E_206C_200E_206E_206A_206D_200F_200F_202C_200C_206D_206F_200D_202E(imU8String4, false, -1f).X + x + 8f + _202E_206A_206A_206E_200D_202C_206B_200B_206B_206D_206C_202C_206D_206C_202B_202E_202D_206E_202C_206F_202A_202B_200B_202E_206A_206F_202C_206C_200B_202D_206A_202B_202C_206A_202B_200E_202B_202D_206C_206C_202E() + x; - num = ((!currentSequence.HasValue) ? (-1912268144) : (-1912268143)); - break; + using (ImRaii.PushColor(ImGuiCol.ButtonActive, new Vector4(0.35f, 0.3f, 0.45f, 1f))) + { + if (ImGuiComponents.IconButton(FontAwesomeIcon.Copy)) + { + ImGui.SetClipboardText(GetSequenceFilename(questId.Value, questInfo.Name)); + } + if (ImGui.IsItemHovered()) + { + ImGui.SetTooltip("Copies filename as QuestID_QuestNameWithSpaces.json"); + } + } } - case 2: - num = (_questData.TryGetQuestInfo(questElementId, out questInfo) ? (-1912268141) : (-1912268140)); - break; - case 1: + } + if (currentSequence.HasValue) + { + ImGui.SameLine(); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, "-"); + ImGui.SameLine(); + float num6 = (float)ImGui.GetTime(); + float num7 = 0.85f + MathF.Sin(num6 * 3f) * 0.15f; + accentColor = new Vector4(0.5f * num7, 1f * num7, 0.6f * num7, 1f); + ImU8String text4 = new ImU8String(17, 1); + text4.AppendLiteral("Active: Sequence "); + text4.AppendFormatted(currentSequence.Value); + ImGui.TextColored(in accentColor, text4); + } + ImGui.SetCursorPosY(cursorScreenPos.Y + num - ImGui.GetCursorScreenPos().Y + ImGui.GetCursorPosY()); + ImGui.Spacing(); + try + { + Lumina.Excel.Sheets.Quest? quest = _dataManager.GetExcelSheet()?.GetRowOrDefault((uint)(questId.Value + 65536)); + if (!quest.HasValue) { - float num36 = reservedRightWidth; - float num37 = _202B_206A_202C_206B_206F_206E_200F_206B_202B_206F_202D_206B_202E_206B_202A_202E_206F_202D_200F_202B_206B_200F_200D_200E_206C_200C_200C_200E_206C_200E_206E_206A_206D_200F_200F_202C_200C_206D_206F_200D_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1228468769), false, -1f).X + x * 2f; - ImU8String imU8String3 = new ImU8String(17, 1); - imU8String3.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(257374063)); - imU8String3.AppendFormatted(currentSequence.Value); - reservedRightWidth = num36 + (num37 + _202B_206A_202C_206B_206F_206E_200F_206B_202B_206F_202D_206B_202E_206B_202A_202E_206F_202D_200F_202B_206B_200F_200D_200E_206C_200C_200C_200E_206C_200E_206E_206A_206D_200F_200F_202C_200C_206D_206F_200D_202E(imU8String3, false, -1f).X + x); - num = -1912268144; - break; - } - case 5: - DrawErrorState(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(301642767), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-21193391)); - return; - case 4: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(16, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1802346331)); - defaultInterpolatedStringHandler.AppendFormatted(_200E_202C_202B_202A_202B_200B_202A_200D_200D_206F_200D_202D_206E_206F_202C_206E_202A_200E_202C_206B_200B_206B_200F_206A_200E_202C_206A_202B_206F_206E_200E_202E_206A_206A_200B_200C_202C_206E_202D_200D_202E((ElementId)questId)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(790425552)); - DrawErrorState(defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1239783135)); + DrawErrorState("Quest Not Found in Game Data", "Unable to load quest information from Lumina."); return; } - case 0: + List list = (from result in quest.Value.TodoParams.Where((Lumina.Excel.Sheets.Quest.TodoParamsStruct todoParamsStruct) => todoParamsStruct.ToDoCompleteSeq > 0 && todoParamsStruct.ToDoCompleteSeq < byte.MaxValue).Select((Func)((Lumina.Excel.Sheets.Quest.TodoParamsStruct todoParamsStruct) => todoParamsStruct.ToDoCompleteSeq)).Distinct() + orderby result + select result).ToList(); + if (list.Count == 0) { - reservedRightWidth += 12f; - UiThemeUtils.RowLabel(questInfo.Name, reservedRightWidth, UiThemeUtils.PrimaryTextColor); - _200E_202D_200B_206E_200E_200D_202D_202B_202D_206F_206B_206A_202A_202A_206F_206B_200D_200F_200E_202C_206C_200B_206C_200E_200E_202E_200C_206C_202D_202A_206E_206B_200C_202D_200F_202C_206C_202C_202E_200D_202E(); - ImU8String imU8String = new ImU8String(6, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1253477708)); - imU8String.AppendFormatted(_200E_202C_202B_202A_202B_200B_202A_200D_200D_206F_200D_202D_206E_206F_202C_206E_202A_200E_202C_206B_200B_206B_200F_206A_200E_202C_206A_202B_206F_206E_200E_202E_206A_206A_200B_200C_202C_206E_202D_200D_202E((ElementId)questId)); - imU8String.AppendLiteral(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(444206578)); - _206D_206B_206B_206B_206A_200D_202B_206C_200F_206B_202A_202E_200F_206F_206C_202B_200E_200B_200B_200F_202C_202D_206A_202E_202C_202A_206C_200F_202B_202C_206C_202E_200B_202A_200D_200D_202D_206F_200C_206B_202E(ref UiThemeUtils.DimTextColor, imU8String); - _200E_202D_200B_206E_200E_200D_202D_202B_202D_206F_206B_206A_202A_202A_206F_206B_200D_200F_200E_202C_206C_200B_206C_200E_200E_202E_200C_206C_202D_202A_206E_206B_200C_202D_200F_202C_206C_202C_202E_200D_202E(); - _202C_206D_200E_200B_200B_202D_206A_200F_200E_202B_206B_200D_200E_200F_206D_206B_206B_202B_202C_200E_206C_200C_206F_200E_202A_200B_206E_202B_202A_206F_206A_202D_206B_206B_202E_202C_206E_202D_200C_202C_202E(_206F_206D_206B_206B_202D_202A_202A_200F_200B_202E_206B_200B_206B_202A_202D_200E_200D_206F_206E_206D_206E_206E_206A_206E_200E_206C_200C_206C_200B_202B_206E_202D_200D_206E_202D_200D_206F_206D_206B_202B_202E() + 8f); - ImRaii.ColorDisposable colorDisposable = _202C_206F_200D_202A_202B_206A_200F_206E_206E_202A_200B_202B_200B_200B_206C_202D_206B_202B_202D_206E_206E_200E_206F_206A_206D_206F_206D_202E_202D_206A_200F_206E_206C_202E_202A_206C_202B_202A_202A_202E(ImGuiCol.Button, new Vector4(0.18f, 0.16f, 0.22f, 0.8f), true); - try + DrawErrorState("No Sequence Data Available", "This quest may not have traditional sequences."); + return; + } + int num8 = list.Max(); + int num9 = num8 + 1; + Questionable.Model.Quest quest2; + bool flag = _questRegistry.TryGetQuest(questElementId, out quest2); + HashSet hashSet = new HashSet(); + Dictionary dictionary = new Dictionary(); + bool flag2 = false; + if (flag && quest2 != null && quest2.Root.QuestSequence.Count > 0) + { + foreach (QuestSequence item in quest2.Root.QuestSequence) { - ImRaii.ColorDisposable colorDisposable2 = _202C_206F_200D_202A_202B_206A_200F_206E_206E_202A_200B_202B_200B_200B_206C_202D_206B_202B_202D_206E_206E_200E_206F_206A_206D_206F_206D_202E_202D_206A_200F_206E_206C_202E_202A_206C_202B_202A_202A_202E(ImGuiCol.ButtonHovered, new Vector4(0.28f, 0.24f, 0.32f, 0.95f), true); - try + if (item.Sequence == byte.MaxValue) { - ImRaii.ColorDisposable colorDisposable3 = _202C_206F_200D_202A_202B_206A_200F_206E_206E_202A_200B_202B_200B_200B_206C_202D_206B_202B_202D_206E_206E_200E_206F_206A_206D_206F_206D_202E_202D_206A_200F_206E_206C_202E_202A_206C_202B_202A_202A_202E(ImGuiCol.ButtonActive, new Vector4(0.35f, 0.3f, 0.45f, 1f), true); - try - { - num = ((!_202A_206F_200B_200B_206D_200E_206D_200D_206A_200D_202D_206D_200C_202C_206B_202A_206F_202B_206E_206A_200B_200E_206D_200D_200B_206F_202A_202B_200B_202A_200B_206E_206D_202C_202E_200B_202A_202B_206E_200E_202E(FontAwesomeIcon.Copy)) ? 1239132686 : 1239132680); - while (true) - { - int num7 = num; - num3 = 1239132682; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 0: - _202A_202A_200D_206D_206F_202D_200B_206B_202A_200F_200C_200E_202B_206A_202B_202E_200F_202D_206A_206C_200E_202C_200C_202D_200D_206B_206C_202B_206D_206E_200D_202A_206C_200C_206F_200D_202D_206E_200F_202E((ImU8String)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(-115218622)); - num = 1239132683; - break; - case 4: - num = ((!_200D_202E_200E_206F_202D_200F_202A_206F_206C_206C_202B_206E_202A_202B_202C_202E_202E_200D_202E_206E_200C_200E_200E_202D_202D_202D_206A_206D_206D_206B_202C_200C_200D_200D_200F_206E_202B_206A_206A_202C_202E()) ? 1239132683 : 1239132682); - break; - case 2: - _206E_206B_200E_206B_206C_202E_200E_200E_202A_200F_202C_202B_200E_200D_206E_202A_200C_206D_202D_206A_206D_200C_206A_202C_202A_206C_202D_206C_200D_202C_206D_206F_202D_200F_206A_202A_202E_206C_202B_206D_202E((ImU8String)GetSequenceFilename(_200E_202C_202B_202A_202B_200B_202A_200D_200D_206F_200D_202D_206E_206F_202C_206E_202A_200E_202C_206B_200B_206B_200F_206A_200E_202C_206A_202B_206F_206E_200E_202E_206A_206A_200B_200C_202C_206E_202D_200D_202E((ElementId)questId), questInfo.Name)); - num = 1239132686; - break; - case 3: - num = 1239132680; - break; - case 1: - goto end_IL_0418; - } - continue; - end_IL_0418: - break; - } - } - finally - { - num = ((colorDisposable3 == null) ? (-1429560443) : (-1429560442)); - while (true) - { - int num10 = num; - num3 = -1429560441; - num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - case 0: - num = -1429560442; - break; - case 2: - goto end_IL_04e7; - case 1: - _200C_202E_206A_206C_206B_206B_200B_200D_206C_200E_206B_200C_206A_200C_200B_202A_200C_202C_200D_200E_206D_200B_200E_206F_200D_206F_206D_200C_202C_206B_200F_206A_200D_202D_206B_202D_200F_200C_202B_206F_202E((IDisposable)colorDisposable3); - num = -1429560443; - break; - } - continue; - end_IL_04e7: - break; - } - } + flag2 = true; + dictionary[255] = (item.Steps.Count, item.Comment); } - finally + else { - num = ((colorDisposable2 == null) ? 2111509098 : 2111509097); - while (true) - { - int num13 = num; - num3 = 2111509099; - num4 = num13; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - goto end_IL_0554; - case 2: - _200C_202E_206A_206C_206B_206B_200B_200D_206C_200E_206B_200C_206A_200C_200B_202A_200C_202C_200D_200E_206D_200B_200E_206F_200D_206F_206D_200C_202C_206B_200F_206A_200D_202D_206B_202D_200F_200C_202B_206F_202E((IDisposable)colorDisposable2); - num = 2111509098; - break; - case 0: - num = 2111509097; - break; - } - continue; - end_IL_0554: - break; - } - } - } - finally - { - num = ((colorDisposable == null) ? 901110537 : 901110538); - while (true) - { - int num14 = num; - num3 = 901110536; - num4 = num14; - int num15 = num4 + num3; - int num16 = num4 & num3; - switch (num15 - (num16 + num16)) - { - case 1: - goto end_IL_05bf; - case 2: - _200C_202E_206A_206C_206B_206B_200B_200D_206C_200E_206B_200C_206A_200C_200B_202A_200C_202C_200D_200E_206D_200B_200E_206F_200D_206F_206D_200C_202C_206B_200F_206A_200D_202D_206B_202D_200F_200C_202B_206F_202E((IDisposable)colorDisposable); - num = 901110537; - break; - case 0: - num = 901110538; - break; - } - continue; - end_IL_05bf: - break; - } - } - num = ((!currentSequence.HasValue) ? (-168796451) : (-168796452)); - while (true) - { - int num17 = num; - num3 = -168796451; - num4 = num17; - int num18 = num4 + num3; - int num19 = num4 & num3; - switch (num18 - (num19 + num19)) - { - case 2: - num = -168796452; - break; - case 1: - { - _200E_202D_200B_206E_200E_200D_202D_202B_202D_206F_206B_206A_202A_202A_206F_206B_200D_200F_200E_202C_206C_200B_206C_200E_200E_202E_200C_206C_202D_202A_206E_206B_200C_202D_200F_202C_206C_202C_202E_200D_202E(); - _206D_206B_206B_206B_206A_200D_202B_206C_200F_206B_202A_202E_200F_206F_206C_202B_200E_200B_200B_200F_202C_202D_206A_202E_202C_202A_206C_200F_202B_202C_206C_202E_200B_202A_200D_200D_202D_206F_200C_206B_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)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(-2079705286)); - _200E_202D_200B_206E_200E_200D_202D_202B_202D_206F_206B_206A_202A_202A_206F_206B_200D_200F_200E_202C_206C_200B_206C_200E_200E_202E_200C_206C_202D_202A_206E_206B_200C_202D_200F_202C_206C_202C_202E_200D_202E(); - float num34 = (float)_206B_200D_202A_202A_200D_206E_200F_202A_206D_206F_202B_200D_206F_206C_200F_202D_206D_200C_200C_206C_202C_202B_202D_202C_200F_200D_200F_200B_202B_206D_200C_200C_202C_202D_200B_200F_206C_202E_200E_202C_202E(); - float num35 = 0.85f + _206E_206E_206E_202C_200C_200E_200B_200F_202A_206D_200F_206F_200B_206D_206B_206E_202E_206F_206A_206D_202B_200D_200D_206D_202D_206B_200D_202A_200B_202B_206C_200F_200E_200B_200B_206D_200F_202D_206E_200C_202E(num34 * 3f) * 0.15f; - Vector4 accentColor = new Vector4(0.5f * num35, 1f * num35, 0.6f * num35, 1f); - ImU8String imU8String2 = new ImU8String(17, 1); - imU8String2.AppendLiteral(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(1759720861)); - imU8String2.AppendFormatted(currentSequence.Value); - _206D_206B_206B_206B_206A_200D_202B_206C_200F_206B_202A_202E_200F_206F_206C_202B_200E_200B_200B_200F_202C_202D_206A_202E_202C_202A_206C_200F_202B_202C_206C_202E_200B_202A_200D_200D_202D_206F_200C_206B_202E(ref accentColor, imU8String2); - num = -168796451; - break; - } - case 0: - _202C_206E_206D_200E_206E_200F_206D_206F_200B_202A_200B_202D_202C_206D_202B_202D_200D_200F_202B_200E_202A_200D_200B_206B_202C_202B_200D_202A_202D_202B_202B_206D_206D_206A_202A_202C_200B_206A_200C_206C_202E(vector.Y + num20 - _202D_202C_202D_200B_202E_200F_206E_206C_206C_200B_200E_202C_202A_200E_206D_200F_206D_206B_206B_202B_206B_206F_206C_202E_206B_202D_200F_200F_202D_202C_206F_206A_206D_206D_200C_200D_202D_200E_202E_206C_202E().Y + _206E_200C_200C_202E_206F_202E_200F_200E_200F_206F_206B_206B_206A_202B_202B_202D_202D_206F_206E_200B_206F_200F_200D_200D_206E_200E_206D_206E_206C_206D_206E_202B_200B_200D_206A_206D_206D_202C_202D_202E_202E()); - _206D_200C_200F_206A_206D_206E_202E_200F_206D_206B_202B_200C_200E_200D_206B_202D_202B_200D_202B_202D_202A_200C_202A_206A_200C_200B_200B_200C_202D_200E_202B_202B_202B_206D_206E_202E_206E_200D_200C_202D_202E(); - try - { - Lumina.Excel.Sheets.Quest? quest = _dataManager.GetExcelSheet()?.GetRowOrDefault((uint)(_200E_202C_202B_202A_202B_200B_202A_200D_200D_206F_200D_202D_206E_206F_202C_206E_202A_200E_202C_206B_200B_206B_200F_206A_200E_202C_206A_202B_206F_206E_200E_202E_206A_206A_200B_200C_202C_206E_202D_200D_202E((ElementId)questId) + 65536)); - num = (quest.HasValue ? 283833732 : 283833734); - while (true) - { - int num21 = num; - num3 = 283833729; - num4 = num21; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 6: - num = 283833734; - continue; - case 0: - if (quest2 != null) - { - num = 283833730; - continue; - } - break; - case 1: - { - num25 = _206A_206F_206C_200F_202A_202D_206E_202A_200B_202B_206F_202C_206F_200C_200F_202C_202A_206D_206D_200E_202B_202C_200B_202C_200E_202B_200C_206E_206C_202B_202E_206A_200B_200E_200F_202B_202B_202C_202B_200C_202E((IEnumerable)list); - int num26 = num25; - num3 = 1; - num4 = num26; - num27 = (num4 | num3) + (num4 & num3); - flag2 = _questRegistry.TryGetQuest(questElementId, out quest2); - hashSet = new HashSet(); - dictionary = new Dictionary(); - flag = false; - if (flag2) - { - num = 283833729; - continue; - } - break; - } - case 5: - list = (from result in quest.Value.TodoParams.Where(delegate(Lumina.Excel.Sheets.Quest.TodoParamsStruct todoParamsStruct) - { - int num40 = ((todoParamsStruct.ToDoCompleteSeq <= 0) ? (-1268370217) : (-1268370218)); - while (true) - { - int num41 = num40; - int num42 = -1268370217; - int num43 = num41; - switch ((num43 | num42) - (num43 & num42)) - { - case 2: - goto IL_0048; - case 0: - return false; - case 1: - return todoParamsStruct.ToDoCompleteSeq < byte.MaxValue; - } - continue; - IL_0048: - num40 = -1268370218; - } - }).Select((Func)((Lumina.Excel.Sheets.Quest.TodoParamsStruct todoParamsStruct) => todoParamsStruct.ToDoCompleteSeq)).Distinct() - orderby result - select result).ToList(); - num = ((list.Count != 0) ? 283833728 : 283833731); - continue; - case 2: - DrawErrorState(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(687580919), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(596369576)); - return; - case 3: - if (_200D_206E_200B_202D_206D_200C_206A_200F_200C_200B_206D_202C_202C_202A_206E_200E_202A_206C_202C_206B_200B_206F_206B_202C_206A_206B_206F_200F_200C_200C_202E_206F_200F_206E_206F_200E_202D_206F_206D_202E_202E(quest2.Root).Count > 0) - { - num = 283833733; - continue; - } - break; - case 7: - DrawErrorState(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(930486847), 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(-1230133238)); - return; - case 4: - { - using (List.Enumerator enumerator = _200D_206E_200B_202D_206D_200C_206A_200F_200C_200B_206D_202C_202C_202A_206E_200E_202A_206C_202C_206B_200B_206F_206B_202C_206A_206B_206F_200F_200C_200C_202E_206F_200F_206E_206F_200E_202D_206F_206D_202E_202E(quest2.Root).GetEnumerator()) - { - num = 1839567022; - while (true) - { - int num22 = num; - num3 = 1839567018; - num4 = num22; - int num23 = num4 + num3; - int num24 = num4 & num3; - switch (num23 - (num24 + num24)) - { - case 3: - hashSet.Add(_206C_200B_200F_206C_200F_200F_200D_206E_200C_202B_202C_202B_202A_206B_200C_200B_202E_200D_206D_202B_202B_202E_206C_200D_206E_202B_200D_202C_200F_206E_200D_206D_202C_202A_206B_200D_206C_206E_206F_202D_202E(current)); - dictionary[_206C_200B_200F_206C_200F_200F_200D_206E_200C_202B_202C_202B_202A_206B_200C_200B_202E_200D_206D_202B_202B_202E_206C_200D_206E_202B_200D_202C_200F_206E_200D_206D_202C_202A_206B_200D_206C_206E_206F_202D_202E(current)] = (_206E_200B_206C_206E_202B_200F_202E_200C_206A_200D_202E_200F_206A_200E_206F_206A_206C_200F_206B_200C_202C_206E_202D_206C_206F_206C_206C_206B_200B_206D_202A_206C_202C_202E_206D_206B_200E_202B_206B_200D_202E(current).Count, _206A_202B_200B_206C_202D_200C_200F_200B_202B_200D_206D_202C_202B_200F_206F_206B_206E_202A_200D_206A_202E_202C_206E_202B_200F_202C_202A_202D_206B_206E_206F_200C_202E_206E_206F_206C_200B_206F_206F_202D_202E(current)); - num = 1839567022; - break; - case 5: - current = enumerator.Current; - num = ((_206C_200B_200F_206C_200F_200F_200D_206E_200C_202B_202C_202B_202A_206B_200C_200B_202E_200D_206D_202B_202B_202E_206C_200D_206E_202B_200D_202C_200F_206E_200D_206D_202C_202A_206B_200D_206C_206E_206F_202D_202E(current) != byte.MaxValue) ? 1839567017 : 1839567019); - break; - case 4: - num = (enumerator.MoveNext() ? 1839567023 : 1839567016); - break; - case 0: - num = 1839567022; - break; - case 1: - flag = true; - dictionary[255] = (_206E_200B_206C_206E_202B_200F_202E_200C_206A_200D_202E_200F_206A_200E_206F_206A_206C_200F_206B_200C_202C_206E_202D_206C_206F_206C_206C_206B_200B_206D_202A_206C_202C_202E_206D_206B_200E_202B_206B_200D_202E(current).Count, _206A_202B_200B_206C_202D_200C_200F_200B_202B_200D_206D_202C_202B_200F_206F_206B_206E_202A_200D_206A_202E_202C_206E_202B_200F_202C_202A_202D_206B_206E_206F_200C_202E_206E_206F_206C_200B_206F_206F_202D_202E(current)); - num = 1839567022; - break; - case 2: - goto end_IL_0999; - } - continue; - end_IL_0999: - break; - } - } - break; - } - } - break; - } - int num28 = hashSet.Count + (flag ? 1 : 0); - int num29 = num27; - num3 = 1; - num4 = num29; - int num30 = (num4 | num3) + (num4 & num3); - num = (flag2 ? 1937001988 : 1937001986); - Vector4 vector2; - while (true) - { - int num31 = num; - num3 = 1937001987; - num4 = num31; - float num33; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 7: - num33 = (float)num28 / (float)num30 * 100f; - goto IL_0b4f; - case 1: - num33 = 0f; - goto IL_0b4f; - case 8: - vector2 = new Vector4(1f, 0.5f, 0.5f, 1f); - break; - case 3: - num = ((num32 < 1f) ? 1937001989 : 1937001995); - continue; - case 6: - { - Vector4 accentColor = UiThemeUtils.AccentColor; - accentColor.W = 0.7f; - vector2 = accentColor; - break; - } - case 4: - vector2 = new Vector4(1f, 0.9f, 0.5f, 1f); - break; - case 2: - num = ((num32 >= 50f) ? 1937001991 : 1937001984); - continue; - case 0: - num = 1937001986; - continue; - case 5: - { - vector2 = new Vector4(0.5f, 1f, 0.6f, 1f); - break; - } - IL_0b4f: - num32 = num33; - num = ((num32 >= 100f) ? 1937001990 : 1937001985); - continue; - } - break; - } - Vector4 coverageColor = vector2; - DrawSummaryCards(num27, num25, flag2, num32, coverageColor, num28, num30); - _206D_200C_200F_206A_206D_206E_202E_200F_206D_206B_202B_200C_200E_200D_206B_202D_202B_200D_202B_202D_202A_200C_202A_206A_200C_200B_200B_200C_202D_200E_202B_202B_202B_206D_206E_202E_206E_200D_200C_202D_202E(); - _206D_200C_200F_206A_206D_206E_202E_200F_206D_206B_202B_200C_200E_200D_206B_202D_202B_200D_202B_202D_202A_200C_202A_206A_200C_200B_200B_200C_202D_200E_202B_202B_202B_206D_206E_202E_206E_200D_200C_202D_202E(); - DrawSequenceGrid(num25, currentSequence, hashSet, dictionary, flag); - return; - } - catch (Exception ex) - { - DrawErrorState(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1227313977), _206A_200D_200C_206B_206B_202C_206F_200B_202D_206C_202B_200B_206B_202E_206D_202A_206F_200E_200D_206F_200D_206D_206D_206A_200C_202A_200F_200B_202A_200D_202C_206F_206A_202D_200E_200F_206C_206D_202D_206D_202E(_206F_200F_202D_206D_202A_202D_202A_206B_200E_206D_206F_200D_202C_200B_202B_202A_206A_200F_200C_206B_202B_206C_206A_206C_200C_206F_202A_202B_206D_202A_206B_200E_206F_200E_206D_200F_202C_200D_202B_206F_202E(ex), 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(777682130))); - _200E_206A_202C_206C_202A_202C_206D_202E_200D_200D_206C_206D_206B_206E_202A_200E_202B_200F_200C_202E_200D_206E_200C_200C_200D_206D_202B_202B_200E_200C_200C_202B_202D_202A_202A_202E_200B_200D_206B_206B_202E((ILogger)_logger, ex, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1828017337), new object[1] { questId }); - return; - } + hashSet.Add(item.Sequence); + dictionary[item.Sequence] = (item.Steps.Count, item.Comment); } } } + int num10 = hashSet.Count + (flag2 ? 1 : 0); + int num11 = num9 + 1; + float num12 = (flag ? ((float)num10 / (float)num11 * 100f) : 0f); + Vector4 vector; + if (!(num12 >= 100f)) + { + if (!(num12 >= 50f)) + { + if (!(num12 < 1f)) + { + vector = new Vector4(1f, 0.5f, 0.5f, 1f); + } + else + { + accentColor = UiThemeUtils.AccentColor; + accentColor.W = 0.7f; + vector = accentColor; + } + } + else + { + vector = new Vector4(1f, 0.9f, 0.5f, 1f); + } } + else + { + vector = new Vector4(0.5f, 1f, 0.6f, 1f); + } + Vector4 coverageColor = vector; + DrawSummaryCards(num9, num8, flag, num12, coverageColor, num10, num11); + ImGui.Spacing(); + ImGui.Spacing(); + DrawSequenceGrid(num8, currentSequence, hashSet, dictionary, flag2); + } + catch (Exception ex) + { + DrawErrorState("Error Loading Quest Data", ex.Message + "\nCheck logs for details."); + _logger.LogWarning(ex, "Failed to read quest sequence data from Lumina for {QuestId}", questId); } } private static void DrawErrorState(string title, string message) { - float y = _200C_206F_200C_202D_206F_200C_202E_202A_200F_206A_200D_206B_206D_206C_202C_200C_202E_200C_200F_206C_200C_202D_206D_200D_206C_202B_202C_202B_202E_206C_202C_202C_202E_200D_206D_206A_202B_202A_202C_202A_202E().Y; - float x = _200C_206F_200C_202D_206F_200C_202E_202A_200F_206A_200D_206B_206D_206C_202C_200C_202E_200C_200F_206C_200C_202D_206D_200D_206C_202B_202C_202B_202E_206C_202C_202C_202E_200D_206D_206A_202B_202A_202C_202A_202E().X; - _202C_206E_206D_200E_206E_200F_206D_206F_200B_202A_200B_202D_202C_206D_202B_202D_200D_200F_202B_200E_202A_200D_200B_206B_202C_202B_200D_202A_202D_202B_202B_206D_206D_206A_202A_202C_200B_206A_200C_206C_202E(_206E_200C_200C_202E_206F_202E_200F_200E_200F_206F_206B_206B_206A_202B_202B_202D_202D_206F_206E_200B_206F_200F_200D_200D_206E_200E_206D_206E_206C_206D_206E_202B_200B_200D_206A_206D_206D_202C_202D_202E_202E() + y * 0.25f); - float num = (float)_206B_200D_202A_202A_200D_206E_200F_202A_206D_206F_202B_200D_206F_206C_200F_202D_206D_200C_200C_206C_202C_202B_202D_202C_200F_200D_200F_200B_202B_206D_200C_200C_202C_202D_200B_200F_206C_202E_200E_202C_202E(); - float num2 = 0.7f + _206E_206E_206E_202C_200C_200E_200B_200F_202A_206D_200F_206F_200B_206D_206B_206E_202E_206F_206A_206D_202B_200D_200D_206D_202D_206B_200D_202A_200B_202B_206C_200F_200E_200B_200B_206D_200F_202D_206E_200C_202E(num * 2f) * 0.3f; - _202E_202D_202E_206D_206B_206F_202E_202D_200F_206C_200F_202B_206B_202D_206B_200D_206B_206A_202E_200B_202B_202E_200F_202A_200C_200D_206B_202B_206B_206D_202A_206A_206D_202B_200B_206C_202A_206E_202A_206E_202E(_200D_206C_200F_202A_202E_206D_206E_202E_202A_206C_202C_202C_200C_202C_206D_202D_206F_200C_206F_200B_206A_200C_202A_200B_206E_202C_206D_202E_202A_200D_200F_200B_202B_202C_202C_206E_200F_200C_202A_202A_202E()); - string text = _200F_200C_206B_200B_206C_200E_206F_206C_206D_206A_200E_202B_206B_206E_202A_206C_202D_202E_200D_206E_202E_202A_206D_200B_206B_202C_202A_206A_206E_206D_202C_200F_206D_206E_202C_200E_202D_206F_200D_200C_202E(FontAwesomeIcon.ExclamationTriangle); - Vector2 vector = _202B_206A_202C_206B_206F_206E_200F_206B_202B_206F_202D_206B_202E_206B_202A_202E_206F_202D_200F_202B_206B_200F_200D_200E_206C_200C_200C_200E_206C_200E_206E_206A_206D_200F_200F_202C_200C_206D_206F_200D_202E((ImU8String)text, false, -1f); - _202C_206D_200E_200B_200B_202D_206A_200F_200E_202B_206B_200D_200E_200F_206D_206B_206B_202B_202C_200E_206C_200C_206F_200E_202A_200B_206E_202B_202A_206F_206A_202D_206B_206B_202E_202C_206E_202D_200C_202C_202E((x - (vector * 2f).X) * 0.5f); - Vector4 vector2 = new Vector4(1f * num2, 0.4f * num2, 0.4f * num2, 1f); - _206D_206B_206B_206B_206A_200D_202B_206C_200F_206B_202A_202E_200F_206F_206C_202B_200E_200B_200B_200F_202C_202D_206A_202E_202C_202A_206C_200F_202B_202C_206C_202E_200B_202A_200D_200D_202D_206F_200C_206B_202E(ref vector2, (ImU8String)text); - _206A_202D_200F_202E_202E_200C_202C_206C_202A_200C_206F_206E_200B_206F_202B_202E_200E_202B_200F_206A_206E_202E_202E_202D_200E_202D_202C_202C_202D_206E_200E_200E_202B_206F_200C_200F_200F_206B_206E_202B_202E(); - _206D_200C_200F_206A_206D_206E_202E_200F_206D_206B_202B_200C_200E_200D_206B_202D_202B_200D_202B_202D_202A_200C_202A_206A_200C_200B_200B_200C_202D_200E_202B_202B_202B_206D_206E_202E_206E_200D_200C_202D_202E(); - _206D_200C_200F_206A_206D_206E_202E_200F_206D_206B_202B_200C_200E_200D_206B_202D_202B_200D_202B_202D_202A_200C_202A_206A_200C_200B_200B_200C_202D_200E_202B_202B_202B_206D_206E_202E_206E_200D_200C_202D_202E(); - _202C_206D_200E_200B_200B_202D_206A_200F_200E_202B_206B_200D_200E_200F_206D_206B_206B_202B_202C_200E_206C_200C_206F_200E_202A_200B_206E_202B_202A_206F_206A_202D_206B_206B_202E_202C_206E_202D_200C_202C_202E(_202A_200E_206E_202A_202C_200B_200F_200D_206A_200C_200F_206D_200E_202C_206B_206E_206D_200D_200C_206E_206D_206B_200F_206A_206A_200E_206E_202E_200F_200E_202B_200F_200D_206A_202E_202E_200C_202B_202D_200E_202E(0f, (x - _202B_206A_202C_206B_206F_206E_200F_206B_202B_206F_202D_206B_202E_206B_202A_202E_206F_202D_200F_202B_206B_200F_200D_200E_206C_200C_200C_200E_206C_200E_206E_206A_206D_200F_200F_202C_200C_206D_206F_200D_202E((ImU8String)title, false, -1f).X) * 0.5f)); + float y = ImGui.GetContentRegionAvail().Y; + float x = ImGui.GetContentRegionAvail().X; + ImGui.SetCursorPosY(ImGui.GetCursorPosY() + y * 0.25f); + float num = (float)ImGui.GetTime(); + float num2 = 0.7f + MathF.Sin(num * 2f) * 0.3f; + ImGui.PushFont(UiBuilder.IconFont); + string text = FontAwesomeIcon.ExclamationTriangle.ToIconString(); + Vector2 vector = ImGui.CalcTextSize(text); + ImGui.SetCursorPosX((x - (vector * 2f).X) * 0.5f); + ImGui.TextColored(new Vector4(1f * num2, 0.4f * num2, 0.4f * num2, 1f), text); + ImGui.PopFont(); + ImGui.Spacing(); + ImGui.Spacing(); + ImGui.SetCursorPosX(MathF.Max(0f, (x - ImGui.CalcTextSize(title).X) * 0.5f)); UiThemeUtils.WrappedTextColored(new Vector4(1f, 0.5f, 0.5f, 1f), title); - _206D_200C_200F_206A_206D_206E_202E_200F_206D_206B_202B_200C_200E_200D_206B_202D_202B_200D_202B_202D_202A_200C_202A_206A_200C_200B_200B_200C_202D_200E_202B_202B_202B_206D_206E_202E_206E_200D_200C_202D_202E(); - _202C_206D_200E_200B_200B_202D_206A_200F_200E_202B_206B_200D_200E_200F_206D_206B_206B_202B_202C_200E_206C_200C_206F_200E_202A_200B_206E_202B_202A_206F_206A_202D_206B_206B_202E_202C_206E_202D_200C_202C_202E(_202A_200E_206E_202A_202C_200B_200F_200D_206A_200C_200F_206D_200E_202C_206B_206E_206D_200D_200C_206E_206D_206B_200F_206A_206A_200E_206E_202E_200F_200E_202B_200F_200D_206A_202E_202E_200C_202B_202D_200E_202E(0f, (x - _202B_206A_202C_206B_206F_206E_200F_206B_202B_206F_202D_206B_202E_206B_202A_202E_206F_202D_200F_202B_206B_200F_200D_200E_206C_200C_200C_200E_206C_200E_206E_206A_206D_200F_200F_202C_200C_206D_206F_200D_202E((ImU8String)message, false, -1f).X) * 0.5f)); + ImGui.Spacing(); + ImGui.SetCursorPosX(MathF.Max(0f, (x - ImGui.CalcTextSize(message).X) * 0.5f)); UiThemeUtils.WrappedTextColored(UiThemeUtils.DimTextColor, message); } - [MethodImpl(MethodImplOptions.NoInlining)] private static void DrawSummaryCards(int totalSequences, int maxSeq, bool hasQuestPath, float coverage, Vector4 coverageColor, int implementedCount, int expectedCount) { - using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1895830930), 2); - int num = ((!(!tableDisposable)) ? 1451048125 : 1451048126); - while (true) + using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable("SummaryCards", 2); + if (!tableDisposable) { - int num2 = num; - int num3 = 1451048127; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0097; - case 1: - return; - case 2: - _200D_206F_200C_200D_202E_206E_202D_206D_206C_206A_200F_200C_206C_202C_206D_200E_206B_206A_200C_206D_206C_200C_206A_202B_206D_200D_202A_200B_202B_200E_202D_200C_200E_202D_206D_206B_206A_200B_200B_202B_202E((ImU8String)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(-672675930), ImGuiTableColumnFlags.WidthStretch, 0.4f, 0u); - _200D_206F_200C_200D_202E_206E_202D_206D_206C_206A_200F_200C_206C_202C_206D_200E_206B_206A_200C_206D_206C_200C_206A_202B_206D_200D_202A_200B_202B_200E_202D_200C_200E_202D_206D_206B_206A_200B_200B_202B_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1505026476), ImGuiTableColumnFlags.WidthStretch, 0.6f, 0u); - _200C_206C_200D_200B_200D_206E_206F_202A_200E_200D_202E_206A_200D_206B_206F_200C_202E_206F_206A_200B_202C_206B_200C_206C_202E_206E_206A_202A_200B_200C_200D_206D_200B_202C_206B_206A_200E_206E_206F_200E_202E(); - _206A_206F_206D_202C_200E_202D_200E_200B_200E_200D_202E_206F_206E_206D_206D_206B_202C_206D_200C_206B_202A_200C_202C_202D_202C_206F_202B_202C_206F_202C_206D_206A_206F_200C_202E_202E_200C_206E_206A_206C_202E(); - DrawCard(80f, new Vector4(0.6f, 0.85f, 1f, 1f), FontAwesomeIcon.Gamepad, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-539025899), [MethodImpl(MethodImplOptions.NoInlining)] () => - { - _003C_003Ec__DisplayClass17_0._206A_202A_200E_200F_200D_202A_200D_202A_206F_206C_202B_200E_202C_206D_206B_206E_202D_206F_202E_206D_206F_206C_202A_202A_200E_206E_202A_200C_202D_202D_206A_202E_206A_206B_200E_202D_200C_200D_202E_200F_202E(); - _003C_003Ec__DisplayClass17_0._202C_202D_200B_206D_206E_202E_206A_202D_202B_200F_202A_202D_202C_200F_200E_202E_200D_202C_206B_202B_206E_202C_202C_202B_206B_200F_206D_202C_202B_206C_206E_206F_200B_206A_202D_200B_200C_202D_200F_206C_202E(10f); - ImU8String imU8String = new ImU8String(6, 0); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(389160049)); - _003C_003Ec__DisplayClass17_0._202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref UiThemeUtils.PrimaryTextColor, imU8String); - _003C_003Ec__DisplayClass17_0._200B_202E_206F_200C_206C_202C_200E_200F_206F_206F_200F_206A_200E_200E_200C_200B_202E_200B_206E_202B_200D_200C_206C_200F_200D_206E_206B_206A_206E_206E_200B_202E_206F_206F_200E_206F_206A_200D_200D_202E(); - Vector4 vector = new Vector4(0.7f, 0.9f, 1f, 1f); - ImU8String imU8String2 = new ImU8String(0, 1); - imU8String2.AppendFormatted(totalSequences); - _003C_003Ec__DisplayClass17_0._202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref vector, imU8String2); - _003C_003Ec__DisplayClass17_0._206A_202A_200E_200F_200D_202A_200D_202A_206F_206C_202B_200E_202C_206D_206B_206E_202D_206F_202E_206D_206F_206C_202A_202A_200E_206E_202A_200C_202D_202D_206A_202E_206A_206B_200E_202D_200C_200D_202E_200F_202E(); - ImU8String imU8String3 = new ImU8String(6, 0); - imU8String3.AppendLiteral(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(1982759281)); - _003C_003Ec__DisplayClass17_0._202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref UiThemeUtils.PrimaryTextColor, imU8String3); - _003C_003Ec__DisplayClass17_0._200B_202E_206F_200C_206C_202C_200E_200F_206F_206F_200F_206A_200E_200E_200C_200B_202E_200B_206E_202B_200D_200C_206C_200F_200D_206E_206B_206A_206E_206E_200B_202E_206F_206F_200E_206F_206A_200D_200D_202E(); - vector = new Vector4(0.7f, 0.9f, 1f, 1f); - ImU8String imU8String4 = new ImU8String(9, 1); - imU8String4.AppendLiteral(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(-17191078)); - imU8String4.AppendFormatted(maxSeq); - imU8String4.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1638758109)); - _003C_003Ec__DisplayClass17_0._202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref vector, imU8String4); - _003C_003Ec__DisplayClass17_0._206A_200B_202B_206A_200E_206D_200F_202C_200C_206C_206A_206B_206F_206B_202C_206C_200F_202E_200C_202A_200D_206D_206F_202B_206D_200E_206F_202B_202B_200F_206C_206F_202D_202D_202A_202B_206B_202A_206F_206A_202E(10f); - }); - _206A_206F_206D_202C_200E_202D_200E_200B_200E_200D_202E_206F_206E_206D_206D_206B_202C_206D_200C_206B_202A_200C_202C_202D_202C_206F_202B_202C_206F_202C_206D_206A_206F_200C_202E_202E_200C_206E_206A_206C_202E(); - DrawCard(80f, new Vector4(0.5f, 1f, 0.6f, 1f), FontAwesomeIcon.Code, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1382776642), [MethodImpl(MethodImplOptions.NoInlining)] () => - { - if (hasQuestPath) - { - _003C_003Ec__DisplayClass17_0._202C_202D_200B_206D_206E_202E_206A_202D_202B_200F_202A_202D_202C_200F_200E_202E_200D_202C_206B_202B_206E_202C_202C_202B_206B_200F_206D_202C_202B_206C_206E_206F_200B_206A_202D_200B_200C_202D_200F_206C_202E(10f); - _003C_003Ec__DisplayClass17_0._202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref UiThemeUtils.PrimaryTextColor, (ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-97617789)); - _003C_003Ec__DisplayClass17_0._200B_202E_206F_200C_206C_202C_200E_200F_206F_206F_200F_206A_200E_200E_200C_200B_202E_200B_206E_202B_200D_200C_206C_200F_200D_206E_206B_206A_206E_206E_200B_202E_206F_206F_200E_206F_206A_200D_200D_202E(); - ref Vector4 reference = ref coverageColor; - ImU8String imU8String = new ImU8String(0, 1); - imU8String.AppendFormatted(implementedCount); - _003C_003Ec__DisplayClass17_0._202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref reference, imU8String); - _003C_003Ec__DisplayClass17_0._200B_202E_206F_200C_206C_202C_200E_200F_206F_206F_200F_206A_200E_200E_200C_200B_202E_200B_206E_202B_200D_200C_206C_200F_200D_206E_206B_206A_206E_206E_200B_202E_206F_206F_200E_206F_206A_200D_200D_202E(); - _003C_003Ec__DisplayClass17_0._202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref UiThemeUtils.DimTextColor, (ImU8String)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(-1392036559)); - _003C_003Ec__DisplayClass17_0._200B_202E_206F_200C_206C_202C_200E_200F_206F_206F_200F_206A_200E_200E_200C_200B_202E_200B_206E_202B_200D_200C_206C_200F_200D_206E_206B_206A_206E_206E_200B_202E_206F_206F_200E_206F_206A_200D_200D_202E(); - ImU8String imU8String2 = new ImU8String(0, 1); - imU8String2.AppendFormatted(expectedCount); - _003C_003Ec__DisplayClass17_0._202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref UiThemeUtils.PrimaryTextColor, imU8String2); - _003C_003Ec__DisplayClass17_0._200B_202E_206F_200C_206C_202C_200E_200F_206F_206F_200F_206A_200E_200E_200C_200B_202E_200B_206E_202B_200D_200C_206C_200F_200D_206E_206B_206A_206E_206E_200B_202E_206F_206F_200E_206F_206A_200D_200D_202E(); - ref Vector4 reference2 = ref coverageColor; - ImU8String imU8String3 = new ImU8String(3, 1); - imU8String3.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1208656614)); - imU8String3.AppendFormatted(coverage, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1949766839)); - imU8String3.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1310244362)); - _003C_003Ec__DisplayClass17_0._202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref reference2, imU8String3); - _003C_003Ec__DisplayClass17_0._206A_202A_200E_200F_200D_202A_200D_202A_206F_206C_202B_200E_202C_206D_206B_206E_202D_206F_202E_206D_206F_206C_202A_202A_200E_206E_202A_200C_202D_202D_206A_202E_206A_206B_200E_202D_200C_200D_202E_200F_202E(); - Vector2 vector = _003C_003Ec__DisplayClass17_0._206D_202B_202C_206D_206B_200D_206C_206B_202A_200B_202B_202A_200B_200E_206A_200D_202A_202E_200B_200B_200B_206A_206A_202C_206D_200B_200E_200D_202A_202A_206B_202D_200B_202B_200F_202E_206B_202A_200F_202C_202E(); - float x = _003C_003Ec__DisplayClass17_0._200F_200F_206F_200D_206A_202C_206D_206F_206E_202E_200F_202A_206F_206A_206A_200B_202B_200D_200D_202C_206B_202D_200B_202C_206E_200C_206B_206C_202A_206C_200E_206D_202C_206E_200C_206F_206C_200C_206C_200C_202E().X - 10f; - ImRaii.ColorDisposable colorDisposable = _003C_003Ec__DisplayClass17_0._206E_202D_202E_206A_202B_200C_206B_206D_206A_206E_200E_206E_200E_206E_202D_206E_202A_200E_202D_206E_206B_200D_206B_202B_200E_206F_202B_200F_200B_200C_206D_202D_206E_202E_202C_202B_202C_206D_202B_200E_202E(ImGuiCol.PlotHistogram, coverageColor, true); - try - { - ImRaii.ColorDisposable colorDisposable2 = _003C_003Ec__DisplayClass17_0._206E_202D_202E_206A_202B_200C_206B_206D_206A_206E_200E_206E_200E_206E_202D_206E_202A_200E_202D_206E_206B_200D_206B_202B_200E_206F_202B_200F_200B_200C_206D_202D_206E_202E_202C_202B_202C_206D_202B_200E_202E(ImGuiCol.FrameBg, new Vector4(0.08f, 0.06f, 0.12f, 0.8f), true); - try - { - _003C_003Ec__DisplayClass17_0._202E_202D_202A_202B_202E_206C_206F_200D_200B_200C_206D_200E_200E_200C_206F_202A_202E_200B_202D_200F_206A_200E_200B_206A_200E_206C_206B_202C_206F_200F_200B_200D_206C_200C_206E_206B_200D_206D_206B_206D_202E(coverage / 100f, new Vector2(x, 16f), (ImU8String)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(1200342830)); - } - finally - { - int num7 = ((colorDisposable2 == null) ? 1407322401 : 1407322400); - while (true) - { - int num8 = num7; - int num9 = 1407322401; - int num10 = num8; - int num11 = num10 + num9; - int num12 = num10 & num9; - switch (num11 - (num12 + num12)) - { - case 0: - goto end_IL_018b; - case 1: - _003C_003Ec__DisplayClass17_0._200D_206B_200E_202E_206F_202A_202A_200C_206A_206A_206C_206F_206D_200C_200B_202D_206E_200E_206D_200E_202D_206E_202A_206F_206E_202E_206F_206C_200F_202B_202C_200F_202C_206A_200E_206E_206B_206D_206D_206E_202E((IDisposable)colorDisposable2); - num7 = 1407322401; - break; - case 2: - num7 = 1407322400; - break; - } - continue; - end_IL_018b: - break; - } - } - } - finally - { - int num7 = ((colorDisposable == null) ? 807614204 : 807614205); - while (true) - { - int num13 = num7; - int num9 = 807614204; - int num10 = num13; - int num14 = num10 + num9; - int num15 = num10 & num9; - switch (num14 - (num15 + num15)) - { - case 2: - num7 = 807614205; - break; - case 0: - goto end_IL_01f8; - case 1: - _003C_003Ec__DisplayClass17_0._200D_206B_200E_202E_206F_202A_202A_200C_206A_206A_206C_206F_206D_200C_200B_202D_206E_200E_206D_200E_202D_206E_202A_206F_206E_202E_206F_206C_200F_202B_202C_200F_202C_206A_200E_206E_206B_206D_206D_206E_202E((IDisposable)colorDisposable); - num7 = 807614204; - break; - } - continue; - end_IL_01f8: - break; - } - } - ImDrawListPtr imDrawListPtr = _003C_003Ec__DisplayClass17_0._200F_206B_202A_206D_206C_206E_200F_206C_202A_200E_206A_200F_200E_206F_200B_200D_202C_206C_206D_200B_200F_200C_202D_206D_200F_206B_206E_200B_200B_202B_206C_200C_206F_206F_206E_200F_202A_206B_200F_200F_202E(); - Vector2 pMax = vector + new Vector2(x, 16f); - Vector4 accentColor = UiThemeUtils.AccentColor; - accentColor.W = 0.3f; - imDrawListPtr.AddRect(vector, pMax, _003C_003Ec__DisplayClass17_0._206D_200E_206D_202B_200B_206C_206F_202C_202B_206A_202B_202E_200C_206D_206B_200C_206D_202D_206C_202C_202E_202A_200E_200B_202A_206C_202E_200F_206A_202C_206B_200E_206C_202C_200C_206A_202A_202D_206E_202E_202E(accentColor), 2f); - _003C_003Ec__DisplayClass17_0._206A_200B_202B_206A_200E_206D_200F_202C_200C_206C_206A_206B_206F_206B_202C_206C_200F_202E_200C_202A_200D_206D_206F_202B_206D_200E_206F_202B_202B_200F_206C_206F_202D_202D_202A_202B_206B_202A_206F_206A_202E(10f); - } - else - { - _003C_003Ec__DisplayClass17_0._206A_202A_200E_200F_200D_202A_200D_202A_206F_206C_202B_200E_202C_206D_206B_206E_202D_206F_202E_206D_206F_206C_202A_202A_200E_206E_202A_200C_202D_202D_206A_202E_206A_206B_200E_202D_200C_200D_202E_200F_202E(); - _003C_003Ec__DisplayClass17_0._202C_202D_200B_206D_206E_202E_206A_202D_202B_200F_202A_202D_202C_200F_200E_202E_200D_202C_206B_202B_206E_202C_202C_202B_206B_200F_206D_202C_202B_206C_206E_206F_200B_206A_202D_200B_200C_202D_200F_206C_202E(10f); - _003C_003Ec__DisplayClass17_0._200B_202D_200D_202B_200F_206F_206E_202D_202B_206F_206F_202C_206F_206A_202D_200F_206A_206F_206C_206D_206C_200C_200D_206C_202C_206E_200F_200F_206E_202B_206C_206E_200E_200C_202A_202C_206A_206B_200F_206C_202E(_003C_003Ec__DisplayClass17_0._206A_202D_202B_202B_206C_206E_206A_200D_206C_206C_200B_202E_206A_200D_200C_206C_200D_200F_200D_206F_206E_202A_202E_202E_202D_206F_202E_200D_202E_200C_206A_200C_202D_206D_206A_200B_206C_202E_206D_206A_202E()); - Vector4 accentColor = UiThemeUtils.AccentColor; - accentColor.W = 0.8f; - _003C_003Ec__DisplayClass17_0._202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref accentColor, (ImU8String)_003C_003Ec__DisplayClass17_0._200C_206C_202A_200F_202B_202C_206D_200D_200F_200F_206C_206F_200D_202E_202A_200C_200B_206E_206B_202A_206B_202D_206F_202A_200C_206E_200E_200C_202E_202E_202A_206E_200D_200E_206F_202C_200E_206A_200D_206D_202E(FontAwesomeIcon.Ban)); - _003C_003Ec__DisplayClass17_0._206A_206B_200D_206E_202C_202E_202C_200E_200B_206A_200D_206D_206A_202C_202E_206E_206F_200B_206C_206F_202A_202D_200C_206C_200B_200B_206C_200C_206E_200B_202E_202D_206E_202E_206F_202D_200D_206F_206D_206E_202E(); - _003C_003Ec__DisplayClass17_0._200B_202E_206F_200C_206C_202C_200E_200F_206F_206F_200F_206A_200E_200E_200C_200B_202E_200B_206E_202B_200D_200C_206C_200F_200D_206E_206B_206A_206E_206E_200B_202E_206F_206F_200E_206F_206A_200D_200D_202E(); - accentColor = UiThemeUtils.AccentColor; - accentColor.W = 0.8f; - _003C_003Ec__DisplayClass17_0._202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref accentColor, (ImU8String)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(868008656)); - _003C_003Ec__DisplayClass17_0._206A_202A_200E_200F_200D_202A_200D_202A_206F_206C_202B_200E_202C_206D_206B_206E_202D_206F_202E_206D_206F_206C_202A_202A_200E_206E_202A_200C_202D_202D_206A_202E_206A_206B_200E_202D_200C_200D_202E_200F_202E(); - _003C_003Ec__DisplayClass17_0._202A_206B_206D_200E_202A_200F_200D_200F_200C_200B_202E_206A_206A_206E_206D_202A_200F_200D_202E_206C_200C_200C_206E_200D_206B_206A_202E_206A_206E_206C_206A_206F_206A_206B_200B_206C_202C_202D_200F_206C_202E(ref UiThemeUtils.DimTextColor, (ImU8String)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(384693137)); - _003C_003Ec__DisplayClass17_0._206A_200B_202B_206A_200E_206D_200F_202C_200C_206C_206A_206B_206F_206B_202C_206C_200F_202E_200C_202A_200D_206D_206F_202B_206D_200E_206F_202B_202B_200F_206C_206F_202D_202D_202A_202B_206B_202A_206F_206A_202E(10f); - } - }); - return; - } - continue; - IL_0097: - num = 1451048126; + return; } + ImGui.TableSetupColumn("GameData", ImGuiTableColumnFlags.WidthStretch, 0.4f); + ImGui.TableSetupColumn("QuestPath", ImGuiTableColumnFlags.WidthStretch, 0.6f); + ImGui.TableNextRow(); + ImGui.TableNextColumn(); + DrawCard(80f, new Vector4(0.6f, 0.85f, 1f, 1f), FontAwesomeIcon.Gamepad, "Expected Sequences", delegate + { + ImGui.Spacing(); + ImGui.Indent(10f); + ImU8String text = new ImU8String(6, 0); + text.AppendLiteral("Count:"); + ImGui.TextColored(in UiThemeUtils.PrimaryTextColor, text); + ImGui.SameLine(); + Vector4 col = new Vector4(0.7f, 0.9f, 1f, 1f); + ImU8String text2 = new ImU8String(0, 1); + text2.AppendFormatted(totalSequences); + ImGui.TextColored(in col, text2); + ImGui.Spacing(); + ImU8String text3 = new ImU8String(6, 0); + text3.AppendLiteral("Range:"); + ImGui.TextColored(in UiThemeUtils.PrimaryTextColor, text3); + ImGui.SameLine(); + col = new Vector4(0.7f, 0.9f, 1f, 1f); + ImU8String text4 = new ImU8String(9, 1); + text4.AppendLiteral("0 → "); + text4.AppendFormatted(maxSeq); + text4.AppendLiteral(", 255"); + ImGui.TextColored(in col, text4); + ImGui.Unindent(10f); + }); + ImGui.TableNextColumn(); + DrawCard(80f, new Vector4(0.5f, 1f, 0.6f, 1f), FontAwesomeIcon.Code, "Implementation Status", delegate + { + if (hasQuestPath) + { + ImGui.Indent(10f); + ImGui.TextColored(in UiThemeUtils.PrimaryTextColor, "Progress:"); + ImGui.SameLine(); + ref Vector4 col = ref coverageColor; + ImU8String text = new ImU8String(0, 1); + text.AppendFormatted(implementedCount); + ImGui.TextColored(in col, text); + ImGui.SameLine(); + ImGui.TextColored(in UiThemeUtils.DimTextColor, "/"); + ImGui.SameLine(); + ImU8String text2 = new ImU8String(0, 1); + text2.AppendFormatted(expectedCount); + ImGui.TextColored(in UiThemeUtils.PrimaryTextColor, text2); + ImGui.SameLine(); + ref Vector4 col2 = ref coverageColor; + ImU8String text3 = new ImU8String(3, 1); + text3.AppendLiteral("("); + text3.AppendFormatted(coverage, "F0"); + text3.AppendLiteral("%)"); + ImGui.TextColored(in col2, text3); + ImGui.Spacing(); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + float x = ImGui.GetContentRegionAvail().X - 10f; + using (ImRaii.PushColor(ImGuiCol.PlotHistogram, coverageColor)) + { + using (ImRaii.PushColor(ImGuiCol.FrameBg, new Vector4(0.08f, 0.06f, 0.12f, 0.8f))) + { + ImGui.ProgressBar(coverage / 100f, new Vector2(x, 16f), ""); + } + } + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 pMax = cursorScreenPos + new Vector2(x, 16f); + Vector4 accentColor = UiThemeUtils.AccentColor; + accentColor.W = 0.3f; + windowDrawList.AddRect(cursorScreenPos, pMax, ImGui.ColorConvertFloat4ToU32(accentColor), 2f); + ImGui.Unindent(10f); + } + else + { + ImGui.Spacing(); + ImGui.Indent(10f); + ImGui.PushFont(UiBuilder.IconFont); + Vector4 accentColor = UiThemeUtils.AccentColor; + accentColor.W = 0.8f; + ImGui.TextColored(in accentColor, FontAwesomeIcon.Ban.ToIconString()); + ImGui.PopFont(); + ImGui.SameLine(); + accentColor = UiThemeUtils.AccentColor; + accentColor.W = 0.8f; + ImGui.TextColored(in accentColor, "Not Implemented"); + ImGui.Spacing(); + ImGui.TextColored(in UiThemeUtils.DimTextColor, "No quest path data available"); + ImGui.Unindent(10f); + } + }); } private static void DrawCard(float height, Vector4 accentColor, FontAwesomeIcon icon, string title, System.Action content) { - Vector2 vector = _202D_202C_202D_200B_202E_200F_206E_206C_206C_200B_200E_202C_202A_200E_206D_200F_206D_206B_206B_202B_206B_206F_206C_202E_206B_202D_200F_200F_202D_202C_206F_206A_206D_206D_200C_200D_202D_200E_202E_206C_202E(); - float x = _200C_206F_200C_202D_206F_200C_202E_202A_200F_206A_200D_206B_206D_206C_202C_200C_202E_200C_200F_206C_200C_202D_206D_200D_206C_202B_202C_202B_202E_206C_202C_202C_202E_200D_206D_206A_202B_202A_202C_202A_202E().X; - ImDrawListPtr imDrawListPtr = _206E_200C_200E_206F_200D_200D_202A_206B_202D_202D_206F_202C_200D_200C_200D_200F_200B_202A_206C_206B_202C_200E_202E_206A_206A_202C_202B_200E_206B_200C_206F_200C_200B_200B_206B_200E_200F_206E_200D_206D_202E(); - imDrawListPtr.AddRectFilledMultiColor(vector, vector + new Vector2(x, height), _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(UiThemeUtils.CardBackgroundColor), _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(UiThemeUtils.CardBackgroundColor), _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(UiThemeUtils.CardBackgroundColor), _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(UiThemeUtils.CardBackgroundColor)); - Vector2 pMin = vector; - Vector2 pMax = vector + new Vector2(x, height); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + float x = ImGui.GetContentRegionAvail().X; + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + windowDrawList.AddRectFilledMultiColor(cursorScreenPos, cursorScreenPos + new Vector2(x, height), ImGui.ColorConvertFloat4ToU32(UiThemeUtils.CardBackgroundColor), ImGui.ColorConvertFloat4ToU32(UiThemeUtils.CardBackgroundColor), ImGui.ColorConvertFloat4ToU32(UiThemeUtils.CardBackgroundColor), ImGui.ColorConvertFloat4ToU32(UiThemeUtils.CardBackgroundColor)); + Vector2 pMin = cursorScreenPos; + Vector2 pMax = cursorScreenPos + new Vector2(x, height); Vector4 accentColor2 = UiThemeUtils.AccentColor; accentColor2.W = 0.2f; - imDrawListPtr.AddRect(pMin, pMax, _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(accentColor2), 4f, ImDrawFlags.None, 1f); - imDrawListPtr.AddLine(vector, vector + new Vector2(x, 0f), _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(accentColor), 3f); - float num = vector.Y + 10f; - _202B_206F_200B_206F_206E_206B_200B_200C_200C_200C_200D_206C_206D_202C_202B_200F_206A_202A_202D_200D_206B_206C_206A_200B_206B_206D_200B_206A_202E_206F_206D_200F_200B_206B_202D_206D_202B_200F_202D_206C_202E(new Vector2(vector.X + 10f, num)); - _202E_202D_202E_206D_206B_206F_202E_202D_200F_206C_200F_202B_206B_202D_206B_200D_206B_206A_202E_200B_202B_202E_200F_202A_200C_200D_206B_202B_206B_206D_202A_206A_206D_202B_200B_206C_202A_206E_202A_206E_202E(_200D_206C_200F_202A_202E_206D_206E_202E_202A_206C_202C_202C_200C_202C_206D_202D_206F_200C_206F_200B_206A_200C_202A_200B_206E_202C_206D_202E_202A_200D_200F_200B_202B_202C_202C_206E_200F_200C_202A_202A_202E()); - _206D_206B_206B_206B_206A_200D_202B_206C_200F_206B_202A_202E_200F_206F_206C_202B_200E_200B_200B_200F_202C_202D_206A_202E_202C_202A_206C_200F_202B_202C_206C_202E_200B_202A_200D_200D_202D_206F_200C_206B_202E(ref accentColor, (ImU8String)_200F_200C_206B_200B_206C_200E_206F_206C_206D_206A_200E_202B_206B_206E_202A_206C_202D_202E_200D_206E_202E_202A_206D_200B_206B_202C_202A_206A_206E_206D_202C_200F_206D_206E_202C_200E_202D_206F_200D_200C_202E(icon)); - _206A_202D_200F_202E_202E_200C_202C_206C_202A_200C_206F_206E_200B_206F_202B_202E_200E_202B_200F_206A_206E_202E_202E_202D_200E_202D_202C_202C_202D_206E_200E_200E_202B_206F_200C_200F_200F_206B_206E_202B_202E(); - _200E_202D_200B_206E_200E_200D_202D_202B_202D_206F_206B_206A_202A_202A_206F_206B_200D_200F_200E_202C_206C_200B_206C_200E_200E_202E_200C_206C_202D_202A_206E_206B_200C_202D_200F_202C_206C_202C_202E_200D_202E(); - _206D_206B_206B_206B_206A_200D_202B_206C_200F_206B_202A_202E_200F_206F_206C_202B_200E_200B_200B_200F_202C_202D_206A_202E_202C_202A_206C_200F_202B_202C_206C_202E_200B_202A_200D_200D_202D_206F_200C_206B_202E(ref UiThemeUtils.PrimaryTextColor, (ImU8String)title); - _202B_206F_200B_206F_206E_206B_200B_200C_200C_200C_200D_206C_206D_202C_202B_200F_206A_202A_202D_200D_206B_206C_206A_200B_206B_206D_200B_206A_202E_206F_206D_200F_200B_206B_202D_206D_202B_200F_202D_206C_202E(new Vector2(vector.X + 10f, num + 24f)); + windowDrawList.AddRect(pMin, pMax, ImGui.ColorConvertFloat4ToU32(accentColor2), 4f, ImDrawFlags.None, 1f); + windowDrawList.AddLine(cursorScreenPos, cursorScreenPos + new Vector2(x, 0f), ImGui.ColorConvertFloat4ToU32(accentColor), 3f); + float num = cursorScreenPos.Y + 10f; + ImGui.SetCursorScreenPos(new Vector2(cursorScreenPos.X + 10f, num)); + ImGui.PushFont(UiBuilder.IconFont); + ImGui.TextColored(in accentColor, icon.ToIconString()); + ImGui.PopFont(); + ImGui.SameLine(); + ImGui.TextColored(in UiThemeUtils.PrimaryTextColor, title); + ImGui.SetCursorScreenPos(new Vector2(cursorScreenPos.X + 10f, num + 24f)); content(); - _202B_206F_200B_206F_206E_206B_200B_200C_200C_200C_200D_206C_206D_202C_202B_200F_206A_202A_202D_200D_206B_206C_206A_200B_206B_206D_200B_206A_202E_206F_206D_200F_200B_206B_202D_206D_202B_200F_202D_206C_202E(new Vector2(vector.X, vector.Y + height + 4f)); + ImGui.SetCursorScreenPos(new Vector2(cursorScreenPos.X, cursorScreenPos.Y + height + 4f)); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawSequenceGrid(int maxSeq, byte? currentSequence, HashSet implementedSequences, Dictionary sequenceDetails, bool hasEndSequence) { - int num = 2; - int num2 = maxSeq; - int num3 = (num2 | num) + (num2 & num); - float x = _200C_206F_200C_202D_206F_200C_202E_202A_200F_206A_200D_206B_206D_206C_202C_200C_202E_200C_200F_206C_200C_202D_206D_200D_206C_202B_202C_202B_202E_206C_202C_202C_202E_200D_206D_206A_202B_202A_202C_202A_202E().X; - int num4 = _206E_206A_202E_200D_202B_206D_200C_206B_202D_206C_206A_200F_200B_200F_206E_200F_206A_202A_200F_200C_202A_206B_200E_206E_206A_206C_200D_206C_200C_202C_206A_206A_202C_200D_200E_200D_200D_202B_200B_206E_202E(4, _202C_202B_200F_206E_202E_200D_202B_206C_206D_206D_202E_202C_206C_206A_202D_206A_200D_206F_200D_206C_202D_202C_206C_200B_206A_200D_200E_200F_202B_200D_200C_206C_206E_206A_200C_200C_202C_206A_202E_202E(8, (int)(x / 100f))); - num4 = _202C_202B_200F_206E_202E_200D_202B_206C_206D_206D_202E_202C_206C_206A_202D_206A_200D_206F_200D_206C_202D_202C_206C_200B_206A_200D_200E_200F_202B_200D_200C_206C_206E_206A_200C_200C_202C_206A_202E_202E(num4, num3); - float y = _200C_206F_200C_202D_206F_200C_202E_202A_200F_206A_200D_206B_206D_206C_202C_200C_202E_200C_200F_206C_200C_202D_206D_200D_206C_202B_202C_202B_202E_206C_202C_202C_202E_200D_206D_206A_202B_202A_202C_202A_202E().Y; - ImRaii.ColorDisposable colorDisposable = _202C_206F_200D_202A_202B_206A_200F_206E_206E_202A_200B_202B_200B_200B_206C_202D_206B_202B_202D_206E_206E_200E_206F_206A_206D_206F_206D_202E_202D_206A_200F_206E_206C_202E_202A_206C_202B_202A_202A_202E(ImGuiCol.ChildBg, new Vector4(0.08f, 0.06f, 0.12f, 0.6f), true); - try + int val = maxSeq + 2; + float x = ImGui.GetContentRegionAvail().X; + int val2 = Math.Max(4, Math.Min(8, (int)(x / 100f))); + val2 = Math.Min(val2, val); + float y = ImGui.GetContentRegionAvail().Y; + using (ImRaii.PushColor(ImGuiCol.ChildBg, new Vector4(0.08f, 0.06f, 0.12f, 0.6f))) { Vector4 accentColor = UiThemeUtils.AccentColor; accentColor.W = 0.2f; - ImRaii.ColorDisposable colorDisposable2 = _202C_206F_200D_202A_202B_206A_200F_206E_206E_202A_200B_202B_200B_200B_206C_202D_206B_202B_202D_206E_206E_200E_206F_206A_206D_206F_206D_202E_202D_206A_200F_206E_206C_202E_202A_206C_202B_202A_202A_202E(ImGuiCol.Border, accentColor, true); - try + using (ImRaii.PushColor(ImGuiCol.Border, accentColor)) { - using ImRaii.ChildDisposable childDisposable = _202E_202B_206E_200B_200E_200E_206C_200F_200F_206D_202B_200E_202E_200B_202A_200B_202E_200D_200F_200B_206C_200F_200B_200F_206F_200B_202A_202E_202C_200F_206B_206C_200F_200C_200B_202B_200F_202E_202C_206D_202E((ImU8String)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(-1262809086), new Vector2(-1f, y), true, ImGuiWindowFlags.None); + using ImRaii.ChildDisposable childDisposable = ImRaii.Child("SequenceGrid", new Vector2(-1f, y), border: true, ImGuiWindowFlags.None); if (!(bool)childDisposable) { return; } accentColor = UiThemeUtils.AccentColor; accentColor.W = 0.2f; - ImRaii.ColorDisposable colorDisposable3 = _202C_206F_200D_202A_202B_206A_200F_206E_206E_202A_200B_202B_200B_200B_206C_202D_206B_202B_202D_206E_206E_200E_206F_206A_206D_206F_206D_202E_202D_206A_200F_206E_206C_202E_202A_206C_202B_202A_202A_202E(ImGuiCol.TableBorderStrong, accentColor, true); - try + using (ImRaii.PushColor(ImGuiCol.TableBorderStrong, accentColor)) { accentColor = UiThemeUtils.AccentColor; accentColor.W = 0.15f; - ImRaii.ColorDisposable colorDisposable4 = _202C_206F_200D_202A_202B_206A_200F_206E_206E_202A_200B_202B_200B_200B_206C_202D_206B_202B_202D_206E_206E_200E_206F_206A_206D_206F_206D_202E_202D_206A_200F_206E_206C_202E_202A_206C_202B_202A_202A_202E(ImGuiCol.TableBorderLight, accentColor, true); - try + using (ImRaii.PushColor(ImGuiCol.TableBorderLight, accentColor)) { - using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1174986515), num4, ImGuiTableFlags.SizingStretchSame); - int num5 = ((!(bool)tableDisposable) ? 1380440181 : 1380440183); - int num10 = default(int); - int num13 = default(int); - while (true) + using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable("SequenceGridTable", val2, ImGuiTableFlags.SizingStretchSame); + if (!(bool)tableDisposable) { - int num6 = num5; - num = 1380440179; - num2 = num6; - int num7 = num2 + num; - int num8 = num2 & num; - switch (num7 - (num8 + num8)) - { - case 9: - num5 = ((num10 % num4 != 0) ? 1380440177 : 1380440180); - break; - case 0: - num5 = ((num10 % num4 != 0) ? 1380440178 : 1380440187); - break; - case 8: - _200C_206C_200D_200B_200D_206E_206F_202A_200E_200D_202E_206A_200D_206B_206F_200C_202E_206F_206A_200B_202C_206B_200C_206C_202E_206E_206A_202A_200B_200C_200D_206D_200B_202C_206B_206A_200E_206E_206F_200E_202E(); - num5 = 1380440178; - break; - case 11: - num5 = ((num10 % num4 != 0) ? 1380440176 : 1380440181); - break; - case 2: - { - _206A_206F_206D_202C_200E_202D_200E_200B_200E_200D_202E_206F_206E_206D_206D_206B_202C_206D_200C_206B_202A_200C_202C_202D_202C_206F_202B_202C_206F_202C_206D_206A_206F_200C_202E_202E_200C_206E_206A_206C_202E(); - DrawSequenceCell(255, currentSequence, implementedSequences, sequenceDetails, hasEndSequence); - int num18 = num10; - num = 1; - num2 = num18; - num10 = (num2 | num) + (num2 & num); - num5 = 1380440184; - break; - } - case 5: - num5 = ((num13 <= maxSeq) ? 1380440179 : 1380440186); - break; - case 10: - num5 = 1380440183; - break; - case 1: - { - _206A_206F_206D_202C_200E_202D_200E_200B_200E_200D_202E_206F_206E_206D_206D_206B_202C_206D_200C_206B_202A_200C_202C_202D_202C_206F_202B_202C_206F_202C_206D_206A_206F_200C_202E_202E_200C_206E_206A_206C_202E(); - DrawSequenceCell(num13, currentSequence, implementedSequences, sequenceDetails); - int num14 = num10; - num = 1; - num2 = num14; - int num15 = num2 ^ num; - int num16 = num2 & num; - num10 = num15 + (num16 + num16); - int num17 = num13; - num = 1; - num2 = num17; - num13 = (num2 | num) + (num2 & num); - num5 = 1380440182; - break; - } - case 4: - num10 = 0; - num13 = 0; - num5 = 1380440182; - break; - case 7: - _200C_206C_200D_200B_200D_206E_206F_202A_200E_200D_202E_206A_200D_206B_206F_200C_202E_206F_206A_200B_202C_206B_200C_206C_202E_206E_206A_202A_200B_200C_200D_206D_200B_202C_206B_206A_200E_206E_206F_200E_202E(); - num5 = 1380440177; - break; - case 3: - { - _206A_206F_206D_202C_200E_202D_200E_200B_200E_200D_202E_206F_206E_206D_206D_206B_202C_206D_200C_206B_202A_200C_202C_202D_202C_206F_202B_202C_206F_202C_206D_206A_206F_200C_202E_202E_200C_206E_206A_206C_202E(); - int num9 = num10; - num = 1; - num2 = num9; - int num11 = num2 ^ num; - int num12 = num2 & num; - num10 = num11 + (num12 + num12); - num5 = 1380440184; - break; - } - case 6: - return; - } + return; } - } - finally - { - int num5 = ((colorDisposable4 == null) ? 640774462 : 640774461); - while (true) + int num = 0; + for (int i = 0; i <= maxSeq; i++) { - int num19 = num5; - num = 640774460; - num2 = num19; - int num20 = num2 + num; - int num21 = num2 & num; - switch (num20 - (num21 + num21)) + if (num % val2 == 0) { - case 0: - num5 = 640774461; - break; - case 1: - _200C_202E_206A_206C_206B_206B_200B_200D_206C_200E_206B_200C_206A_200C_200B_202A_200C_202C_200D_200E_206D_200B_200E_206F_200D_206F_206D_200C_202C_206B_200F_206A_200D_202D_206B_202D_200F_200C_202B_206F_202E((IDisposable)colorDisposable4); - num5 = 640774462; - break; - case 2: - goto end_IL_0324; + ImGui.TableNextRow(); } - continue; - end_IL_0324: - break; + ImGui.TableNextColumn(); + DrawSequenceCell(i, currentSequence, implementedSequences, sequenceDetails); + num++; + } + if (num % val2 == 0) + { + ImGui.TableNextRow(); + } + ImGui.TableNextColumn(); + DrawSequenceCell(255, currentSequence, implementedSequences, sequenceDetails, hasEndSequence); + for (num++; num % val2 != 0; num++) + { + ImGui.TableNextColumn(); } } } - finally - { - int num5 = ((colorDisposable3 == null) ? 1736006227 : 1736006226); - while (true) - { - int num22 = num5; - num = 1736006227; - num2 = num22; - switch ((num2 | num) - (num2 & num)) - { - case 0: - goto end_IL_0391; - case 1: - _200C_202E_206A_206C_206B_206B_200B_200D_206C_200E_206B_200C_206A_200C_200B_202A_200C_202C_200D_200E_206D_200B_200E_206F_200D_206F_206D_200C_202C_206B_200F_206A_200D_202D_206B_202D_200F_200C_202B_206F_202E((IDisposable)colorDisposable3); - num5 = 1736006227; - break; - case 2: - num5 = 1736006226; - break; - } - continue; - end_IL_0391: - break; - } - } - } - finally - { - int num5 = ((colorDisposable2 == null) ? (-1229963098) : (-1229963099)); - while (true) - { - int num23 = num5; - num = -1229963097; - num2 = num23; - switch ((num2 | num) - (num2 & num)) - { - case 0: - num5 = -1229963099; - break; - case 1: - goto end_IL_0409; - case 2: - _200C_202E_206A_206C_206B_206B_200B_200D_206C_200E_206B_200C_206A_200C_200B_202A_200C_202C_200D_200E_206D_200B_200E_206F_200D_206F_206D_200C_202C_206B_200F_206A_200D_202D_206B_202D_200F_200C_202B_206F_202E((IDisposable)colorDisposable2); - num5 = -1229963098; - break; - } - continue; - end_IL_0409: - break; - } - } - } - finally - { - int num5 = ((colorDisposable == null) ? 1587692652 : 1587692655); - while (true) - { - int num24 = num5; - num = 1587692654; - num2 = num24; - int num25 = num2 + num; - int num26 = num2 & num; - switch (num25 - (num26 + num26)) - { - case 0: - num5 = 1587692655; - break; - case 2: - goto end_IL_0474; - case 1: - _200C_202E_206A_206C_206B_206B_200B_200D_206C_200E_206B_200C_206A_200C_200B_202A_200C_202C_200D_200E_206D_200B_200E_206F_200D_206F_206D_200C_202C_206B_200F_206A_200D_202D_206B_202D_200F_200C_202B_206F_202E((IDisposable)colorDisposable); - num5 = 1587692652; - break; - } - continue; - end_IL_0474: - break; } } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawSequenceCell(int sequenceId, byte? currentSequence, HashSet implementedSequences, Dictionary sequenceDetails, bool? forcedImplemented = null) { - int num = ((!currentSequence.HasValue) ? (-1470141168) : (-1470141176)); - ImDrawListPtr imDrawListPtr = default(ImDrawListPtr); - Vector2 vector6 = default(Vector2); - Vector2 vector7 = default(Vector2); - Vector4 vector4 = default(Vector4); - bool flag = default(bool); - Vector4 vector3 = default(Vector4); - bool flag3 = default(bool); - float x = default(float); - Vector2 vector8 = default(Vector2); - string text = default(string); - bool flag2 = default(bool); - bool? flag4 = default(bool?); - (int, string) value = default((int, string)); - while (true) + bool flag = currentSequence.HasValue && sequenceId == currentSequence.Value; + bool flag2 = forcedImplemented ?? implementedSequences.Contains(sequenceId); + bool flag3 = _hoveredSequenceId == sequenceId; + string text = ((sequenceId == 255) ? "255" : $"{sequenceId}"); + Vector4 input; + Vector4 input2; + if (flag) { - int num2 = num; - int num3 = -1470141179; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num13; - bool num14; - object obj; - Vector4 vector11; - Vector4 vector5; - Vector4 vector2; - Vector4 vector9; - Vector4 vector10; - float y; - ImU8String imU8String4; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 22: - imDrawListPtr.AddRect(vector6 - new Vector2(1f, 1f), vector6 + vector7 + new Vector2(1f, 1f), _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(new Vector4(vector4.X, vector4.Y, vector4.Z, vector4.W * 0.3f)), 3f, ImDrawFlags.None, 3f); - num = -1470141178; - continue; - case 13: - num13 = ((sequenceId == currentSequence.Value) ? 1 : 0); - goto IL_0431; - case 18: - num = -1470141176; - continue; - case 14: - num14 = implementedSequences.Contains(sequenceId); - goto IL_0540; - case 11: - num = ((!flag) ? (-1470141174) : (-1470141172)); - continue; - case 10: - obj = $"{sequenceId}"; - goto IL_051a; - case 12: - vector11 = new Vector4(0.98f, 0.98f, 1f, 1f); - goto IL_01be; - case 8: - vector5 = new Vector4(0.14f, 0.38f, 0.18f, 0.6f); - goto IL_0275; - case 20: - vector5 = new Vector4(0.12f, 0.34f, 0.16f, 0.5f); - goto IL_0275; - case 16: - vector2 = new Vector4(0.5f, 0.18f, 0.18f, 0.6f); - goto IL_02f1; - case 2: - vector11 = new Vector4(0.9f, 0.9f, 0.98f, 1f); - goto IL_01be; - case 6: - vector6 = _202D_202C_202D_200B_202E_200F_206E_206C_206C_200B_200E_202C_202A_200E_206D_200F_206D_206B_206B_202B_206B_206F_206C_202E_206B_202D_200F_200F_202D_202C_206F_206A_206D_206D_200C_200D_202D_200E_202E_206C_202E(); - vector7 = new Vector2(_200C_206F_200C_202D_206F_200C_202E_202A_200F_206A_200D_206B_206D_206C_202C_200C_202E_200C_200F_206C_200C_202D_206D_200D_206C_202B_202C_202B_202E_206C_202C_202C_202E_200D_206D_206A_202B_202A_202C_202A_202E().X, 75f); - imDrawListPtr = _206E_200C_200E_206F_200D_200D_202A_206B_202D_202D_206F_202C_200D_200C_200D_200F_200B_202A_206C_206B_202C_200E_202E_206A_206A_202C_202B_200E_206B_200C_206F_200C_200B_200B_206B_200E_200F_206E_200D_206D_202E(); - imDrawListPtr.AddRectFilled(vector6, vector6 + vector7, _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(vector3), 3f); - num = ((!flag3) ? (-1470141178) : (-1470141165)); - continue; - case 19: - vector2 = new Vector4(0.45f, 0.15f, 0.15f, 0.5f); - goto IL_02f1; - case 1: - vector9 = new Vector4(0.18f, 0.55f, 0.25f, 0.8f); - goto IL_03f7; - case 21: - num13 = 0; - goto IL_0431; - case 7: - vector9 = new Vector4(0.15f, 0.48f, 0.22f, 0.7f); - goto IL_03f7; - case 3: - imDrawListPtr.AddRect(vector6, vector6 + vector7, _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(vector4), 3f, ImDrawFlags.None, flag3 ? 2f : 1.5f); - x = vector7.X; - vector8 = _202B_206A_202C_206B_206F_206E_200F_206B_202B_206F_202D_206B_202E_206B_202A_202E_206F_202D_200F_202B_206B_200F_200D_200E_206C_200C_200C_200E_206C_200E_206E_206A_206D_200F_200F_202C_200C_206D_206F_200D_202E((ImU8String)text, false, -1f); - num = (flag2 ? (-1470141175) : (-1470141177)); - continue; - case 9: - num = (flag3 ? (-1470141171) : (-1470141167)); - continue; - case 0: - obj = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-439868132); - goto IL_051a; - case 17: - num14 = flag4 == true; - goto IL_0540; - case 15: - num = (flag3 ? (-1470141163) : (-1470141162)); - continue; - case 5: - num = (flag3 ? (-1470141180) : (-1470141182)); - continue; - case 4: - { - _hoveredSequenceId = sequenceId; - using (_206F_206B_200C_202E_202C_200B_200E_206E_202E_206C_202A_206A_206F_200C_200E_200F_206A_200D_200E_200F_200F_202D_200C_206D_202A_206C_206B_206A_200B_202A_202D_202A_200E_202D_206B_200B_202B_202B_206C_202E_202E()) - { - ImRaii.ColorDisposable colorDisposable = _202C_206F_200D_202A_202B_206A_200F_206E_206E_202A_200B_202B_200B_200B_206C_202D_206B_202B_202D_206E_206E_200E_206F_206A_206D_206F_206D_202E_202D_206A_200F_206E_206C_202E_202A_206C_202B_202A_202A_202E(ImGuiCol.Text, UiThemeUtils.PrimaryTextColor, true); - try - { - ImU8String imU8String = new ImU8String(9, 1); - imU8String.AppendLiteral(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(-998481792)); - imU8String.AppendFormatted(sequenceId); - _202B_202C_202C_202B_200E_202C_200E_200C_202D_206E_200E_206E_202A_202D_200E_202D_206A_200E_206D_200C_200E_200F_202B_206B_200C_202E_200F_202B_206C_202D_206A_202B_206A_206A_206B_202E_200E_206B_206A_202E_202E(imU8String); - } - finally - { - num = ((colorDisposable == null) ? (-774145483) : (-774145482)); - while (true) - { - int num7 = num; - num3 = -774145481; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 2: - goto end_IL_0616; - case 1: - _200C_202E_206A_206C_206B_206B_200B_200D_206C_200E_206B_200C_206A_200C_200B_202A_200C_202C_200D_200E_206D_200B_200E_206F_200D_206F_206D_200C_202C_206B_200F_206A_200D_202D_206B_202D_200F_200C_202B_206F_202E((IDisposable)colorDisposable); - num = -774145483; - break; - case 0: - num = -774145482; - break; - } - continue; - end_IL_0616: - break; - } - } - _206D_206A_206C_202B_202D_206F_206A_206F_200E_202D_202B_200E_202E_202A_200E_202C_202E_202B_202C_200B_206D_202D_200C_206D_200D_202E_202D_202E_206A_202D_206E_200E_206C_206B_206E_200D_202B_202B_202C_200E_202E(); - num = ((!flag) ? (-1534095731) : (-1534095735)); - while (true) - { - int num10 = num; - num3 = -1534095732; - num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - case 0: - num = -1534095735; - break; - case 6: - _206D_206A_206C_202B_202D_206F_206A_206F_200E_202D_202B_200E_202E_202A_200E_202C_202E_202B_202C_200B_206D_202D_200C_206D_200D_202E_202D_202E_206A_202D_206E_200E_206C_206B_206E_200D_202B_202B_202C_200E_202E(); - _200B_200C_200C_202A_206B_202E_200B_206E_200F_202C_202C_202C_206C_206E_202C_206F_200C_202C_202D_206B_206E_200E_200C_206A_200E_206B_206E_200F_202C_202A_206D_206B_200D_206F_206E_206E_206B_202E_206E_202D_202E(250f); - _206D_206B_206B_206B_206A_200D_202B_206C_200F_206B_202A_202E_200F_206F_206C_202B_200E_200B_200B_200F_202C_202D_206A_202E_202C_202A_206C_200F_202B_202C_206C_202E_200B_202A_200D_200D_202D_206F_200C_206B_202E(ref UiThemeUtils.DimTextColor, (ImU8String)value.Item2); - _202C_206F_206A_202E_200C_200E_202B_206D_206C_206B_200B_202C_202A_202D_206D_202D_202B_206A_206F_200E_202C_206B_206D_200E_206D_206C_206F_200F_206A_206E_202C_200B_202C_206C_200E_206C_200F_200E_200C_202D_202E(); - num = -1534095730; - break; - case 1: - num = (flag ? (-1534095730) : (-1534095729)); - break; - case 5: - num = ((!sequenceDetails.TryGetValue(sequenceId, out value)) ? (-1534095731) : (-1534095736)); - break; - case 2: - num = ((!flag2) ? (-1534095733) : (-1534095740)); - break; - case 4: - { - _202E_202D_202E_206D_206B_206F_202E_202D_200F_206C_200F_202B_206B_202D_206B_200D_206B_206A_202E_200B_202B_202E_200F_202A_200C_200D_206B_202B_206B_206D_202A_206A_206D_202B_200B_206C_202A_206E_202A_206E_202E(_200D_206C_200F_202A_202E_206D_206E_202E_202A_206C_202C_202C_200C_202C_206D_202D_206F_200C_206F_200B_206A_200C_202A_200B_206E_202C_206D_202E_202A_200D_200F_200B_202B_202C_202C_206E_200F_200C_202A_202A_202E()); - Vector4 vector = new Vector4(0.5f, 1f, 0.6f, 1f); - _206D_206B_206B_206B_206A_200D_202B_206C_200F_206B_202A_202E_200F_206F_206C_202B_200E_200B_200B_200F_202C_202D_206A_202E_202C_202A_206C_200F_202B_202C_206C_202E_200B_202A_200D_200D_202D_206F_200C_206B_202E(ref vector, (ImU8String)_200F_200C_206B_200B_206C_200E_206F_206C_206D_206A_200E_202B_206B_206E_202A_206C_202D_202E_200D_206E_202E_202A_206D_200B_206B_202C_202A_206A_206E_206D_202C_200F_206D_206E_202C_200E_202D_206F_200D_200C_202E(FontAwesomeIcon.CheckCircle)); - _206A_202D_200F_202E_202E_200C_202C_206C_202A_200C_206F_206E_200B_206F_202B_202E_200E_202B_200F_206A_206E_202E_202E_202D_200E_202D_202C_202C_202D_206E_200E_200E_202B_206F_200C_200F_200F_206B_206E_202B_202E(); - _200E_202D_200B_206E_200E_200D_202D_202B_202D_206F_206B_206A_202A_202A_206F_206B_200D_200F_200E_202C_206C_200B_206C_200E_200E_202E_200C_206C_202D_202A_206E_206B_200C_202D_200F_202C_206C_202C_202E_200D_202E(); - vector = new Vector4(0.5f, 1f, 0.6f, 1f); - _206D_206B_206B_206B_206A_200D_202B_206C_200F_206B_202A_202E_200F_206F_206C_202B_200E_200B_200B_200F_202C_202D_206A_202E_202C_202A_206C_200F_202B_202C_206C_202E_200B_202A_200D_200D_202D_206F_200C_206B_202E(ref vector, (ImU8String)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(1366731868)); - _206D_200C_200F_206A_206D_206E_202E_200F_206D_206B_202B_200C_200E_200D_206B_202D_202B_200D_202B_202D_202A_200C_202A_206A_200C_200B_200B_200C_202D_200E_202B_202B_202B_206D_206E_202E_206E_200D_200C_202D_202E(); - ImU8String imU8String2 = new ImU8String(6, 0); - imU8String2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1644871220)); - _206D_206B_206B_206B_206A_200D_202B_206C_200F_206B_202A_202E_200F_206F_206C_202B_200E_200B_200B_200F_202C_202D_206A_202E_202C_202A_206C_200F_202B_202C_206C_202E_200B_202A_200D_200D_202D_206F_200C_206B_202E(ref UiThemeUtils.PrimaryTextColor, imU8String2); - _200E_202D_200B_206E_200E_200D_202D_202B_202D_206F_206B_206A_202A_202A_206F_206B_200D_200F_200E_202C_206C_200B_206C_200E_200E_202E_200C_206C_202D_202A_206E_206B_200C_202D_200F_202C_206C_202C_202E_200D_202E(); - vector = new Vector4(0.7f, 0.9f, 1f, 1f); - ImU8String imU8String3 = new ImU8String(0, 1); - imU8String3.AppendFormatted(value.Item1); - _206D_206B_206B_206B_206A_200D_202B_206C_200F_206B_202A_202E_200F_206F_206C_202B_200E_200B_200B_200F_202C_202D_206A_202E_202C_202A_206C_200F_202B_202C_206C_202E_200B_202A_200D_200D_202D_206F_200C_206B_202E(ref vector, imU8String3); - num = (_200B_202E_200B_206B_206D_200F_202D_200F_202D_202A_202E_200B_202E_200B_206A_202A_200E_202B_200B_200F_202C_206E_206F_206C_200E_202D_202C_200B_202A_200B_200B_202B_200E_202A_200F_206F_206C_200F_200F_200C_202E(value.Item2) ? (-1534095730) : (-1534095734)); - break; - } - case 8: - { - _206D_206A_206C_202B_202D_206F_206A_206F_200E_202D_202B_200E_202E_202A_200E_202C_202E_202B_202C_200B_206D_202D_200C_206D_200D_202E_202D_202E_206A_202D_206E_200E_206C_206B_206E_200D_202B_202B_202C_200E_202E(); - Vector4 vector = new Vector4(1f, 0.85f, 0.5f, 1f); - _206D_206B_206B_206B_206A_200D_202B_206C_200F_206B_202A_202E_200F_206F_206C_202B_200E_200B_200B_200F_202C_202D_206A_202E_202C_202A_206C_200F_202B_202C_206C_202E_200B_202A_200D_200D_202D_206F_200C_206B_202E(ref vector, (ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2072567973)); - num = -1534095733; - break; - } - case 3: - { - _202E_202D_202E_206D_206B_206F_202E_202D_200F_206C_200F_202B_206B_202D_206B_200D_206B_206A_202E_200B_202B_202E_200F_202A_200C_200D_206B_202B_206B_206D_202A_206A_206D_202B_200B_206C_202A_206E_202A_206E_202E(_200D_206C_200F_202A_202E_206D_206E_202E_202A_206C_202C_202C_200C_202C_206D_202D_206F_200C_206F_200B_206A_200C_202A_200B_206E_202C_206D_202E_202A_200D_200F_200B_202B_202C_202C_206E_200F_200C_202A_202A_202E()); - Vector4 vector = new Vector4(1f, 0.5f, 0.5f, 1f); - _206D_206B_206B_206B_206A_200D_202B_206C_200F_206B_202A_202E_200F_206F_206C_202B_200E_200B_200B_200F_202C_202D_206A_202E_202C_202A_206C_200F_202B_202C_206C_202E_200B_202A_200D_200D_202D_206F_200C_206B_202E(ref vector, (ImU8String)_200F_200C_206B_200B_206C_200E_206F_206C_206D_206A_200E_202B_206B_206E_202A_206C_202D_202E_200D_206E_202E_202A_206D_200B_206B_202C_202A_206A_206E_206D_202C_200F_206D_206E_202C_200E_202D_206F_200D_200C_202E(FontAwesomeIcon.TimesCircle)); - _206A_202D_200F_202E_202E_200C_202C_206C_202A_200C_206F_206E_200B_206F_202B_202E_200E_202B_200F_206A_206E_202E_202E_202D_200E_202D_202C_202C_202D_206E_200E_200E_202B_206F_200C_200F_200F_206B_206E_202B_202E(); - _200E_202D_200B_206E_200E_200D_202D_202B_202D_206F_206B_206A_202A_202A_206F_206B_200D_200F_200E_202C_206C_200B_206C_200E_200E_202E_200C_206C_202D_202A_206E_206B_200C_202D_200F_202C_206C_202C_202E_200D_202E(); - vector = new Vector4(1f, 0.5f, 0.5f, 1f); - _206D_206B_206B_206B_206A_200D_202B_206C_200F_206B_202A_202E_200F_206F_206C_202B_200E_200B_200B_200F_202C_202D_206A_202E_202C_202A_206C_200F_202B_202C_206C_202E_200B_202A_200D_200D_202D_206F_200C_206B_202E(ref vector, (ImU8String)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(137146653)); - _206D_200C_200F_206A_206D_206E_202E_200F_206D_206B_202B_200C_200E_200D_206B_202D_202B_200D_202B_202D_202A_200C_202A_206A_200C_200B_200B_200C_202D_200E_202B_202B_202B_206D_206E_202E_206E_200D_200C_202D_202E(); - _200B_200C_200C_202A_206B_202E_200B_206E_200F_202C_202C_202C_206C_206E_202C_206F_200C_202C_202D_206B_206E_200E_200C_206A_200E_206B_206E_200F_202C_202A_206D_206B_200D_206F_206E_206E_206B_202E_206E_202D_202E(250f); - _206D_206B_206B_206B_206A_200D_202B_206C_200F_206B_202A_202E_200F_206F_206C_202B_200E_200B_200B_200F_202C_202D_206A_202E_202C_202A_206C_200F_202B_202C_206C_202E_200B_202A_200D_200D_202D_206F_200C_206B_202E(ref UiThemeUtils.DimTextColor, (ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1810969366)); - _202C_206F_206A_202E_200C_200E_202B_206D_206C_206B_200B_202C_202A_202D_206D_202D_202B_206A_206F_200E_202C_206B_206D_200E_206D_206C_206F_200F_206A_206E_202C_200B_202C_206C_200E_206C_200F_200E_200C_202D_202E(); - num = -1534095730; - break; - } - case 7: - goto end_IL_0687; - } - continue; - end_IL_0687: - break; - } - } - break; - } - IL_02f1: - vector3 = vector2; - vector4 = new Vector4(1f, 0.5f, 0.5f, flag3 ? 0.6f : 0.3f); - num = -1470141181; - continue; - IL_0540: - flag = num14; - flag3 = _hoveredSequenceId == sequenceId; - num = ((sequenceId == 255) ? (-1470141179) : (-1470141169)); - continue; - IL_0275: - vector3 = vector5; - vector4 = new Vector4(0.5f, 1f, 0.6f, flag3 ? 0.5f : 0.25f); - num = -1470141181; - continue; - IL_0431: - flag2 = (byte)num13 != 0; - flag4 = forcedImplemented; - num = (flag4.HasValue ? (-1470141164) : (-1470141173)); - continue; - IL_051a: - text = (string)obj; - num = ((!flag2) ? (-1470141170) : (-1470141184)); - continue; - IL_03f7: - vector3 = vector9; - vector4 = new Vector4(0.5f, 1f, 0.6f, flag3 ? 0.8f : 0.5f); - num = -1470141181; - continue; - IL_01be: - vector10 = vector11; - y = vector6.Y + (vector7.Y - vector8.Y) * 0.5f; - imDrawListPtr.AddText(new Vector2(vector6.X + (x - vector8.X) * 0.5f, y), _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(vector10), text); - _202B_206F_200B_206F_206E_206B_200B_200C_200C_200C_200D_206C_206D_202C_202B_200F_206A_202A_202D_200D_206B_206C_206A_200B_206B_206D_200B_206A_202E_206F_206D_200F_200B_206B_202D_206D_202B_200F_202D_206C_202E(vector6); - imU8String4 = new ImU8String(5, 1); - imU8String4.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-911821499)); - imU8String4.AppendFormatted(sequenceId); - _202A_206F_202B_206C_200C_200C_200D_200F_202A_202B_206A_206C_200E_206E_202E_202E_202B_202A_206F_200D_200D_200D_206F_206F_206D_200D_206F_206A_200C_202C_202B_206B_206D_206D_206D_200F_200E_202E_200F_206C_202E(imU8String4, vector7, ImGuiButtonFlags.None); - if (_200D_202E_200E_206F_202D_200F_202A_206F_206C_206C_202B_206E_202A_202B_202C_202E_202E_200D_202E_206E_200C_200E_200E_202D_202D_202D_206A_206D_206D_206B_202C_200C_200D_200D_200F_206E_202B_206A_206A_202C_202E()) - { - num = -1470141183; - continue; - } - num = ((_hoveredSequenceId != sequenceId) ? (-580875190) : (-580875189)); - while (true) - { - int num15 = num; - num3 = -580875190; - num4 = num15; - int num16 = num4 + num3; - int num17 = num4 & num3; - switch (num16 - (num17 + num17)) - { - default: - continue; - case 2: - num = -580875189; - continue; - case 1: - _hoveredSequenceId = -1; - num = -580875190; - continue; - case 0: - break; - } - break; - } - break; - } - break; + input = (flag3 ? new Vector4(0.18f, 0.55f, 0.25f, 0.8f) : new Vector4(0.15f, 0.48f, 0.22f, 0.7f)); + input2 = new Vector4(0.5f, 1f, 0.6f, flag3 ? 0.8f : 0.5f); } - _202B_206F_200B_206F_206E_206B_200B_200C_200C_200C_200D_206C_206D_202C_202B_200F_206A_202A_202D_200D_206B_206C_206A_200B_206B_206D_200B_206A_202E_206F_206D_200F_200B_206B_202D_206D_202B_200F_202D_206C_202E(vector6 + new Vector2(0f, vector7.Y)); + else if (flag2) + { + input = (flag3 ? new Vector4(0.14f, 0.38f, 0.18f, 0.6f) : new Vector4(0.12f, 0.34f, 0.16f, 0.5f)); + input2 = new Vector4(0.5f, 1f, 0.6f, flag3 ? 0.5f : 0.25f); + } + else + { + input = (flag3 ? new Vector4(0.5f, 0.18f, 0.18f, 0.6f) : new Vector4(0.45f, 0.15f, 0.15f, 0.5f)); + input2 = new Vector4(1f, 0.5f, 0.5f, flag3 ? 0.6f : 0.3f); + } + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + Vector2 vector = new Vector2(ImGui.GetContentRegionAvail().X, 75f); + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + windowDrawList.AddRectFilled(cursorScreenPos, cursorScreenPos + vector, ImGui.ColorConvertFloat4ToU32(input), 3f); + if (flag3) + { + windowDrawList.AddRect(cursorScreenPos - new Vector2(1f, 1f), cursorScreenPos + vector + new Vector2(1f, 1f), ImGui.ColorConvertFloat4ToU32(new Vector4(input2.X, input2.Y, input2.Z, input2.W * 0.3f)), 3f, ImDrawFlags.None, 3f); + } + windowDrawList.AddRect(cursorScreenPos, cursorScreenPos + vector, ImGui.ColorConvertFloat4ToU32(input2), 3f, ImDrawFlags.None, flag3 ? 2f : 1.5f); + float x = vector.X; + Vector2 vector2 = ImGui.CalcTextSize(text); + Vector4 input3 = (flag ? new Vector4(0.98f, 0.98f, 1f, 1f) : new Vector4(0.9f, 0.9f, 0.98f, 1f)); + float y = cursorScreenPos.Y + (vector.Y - vector2.Y) * 0.5f; + windowDrawList.AddText(new Vector2(cursorScreenPos.X + (x - vector2.X) * 0.5f, y), ImGui.ColorConvertFloat4ToU32(input3), text); + ImGui.SetCursorScreenPos(cursorScreenPos); + ImU8String strId = new ImU8String(5, 1); + strId.AppendLiteral("##Seq"); + strId.AppendFormatted(sequenceId); + ImGui.InvisibleButton(strId, vector); + if (ImGui.IsItemHovered()) + { + _hoveredSequenceId = sequenceId; + using (ImRaii.Tooltip()) + { + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.PrimaryTextColor)) + { + ImU8String text2 = new ImU8String(9, 1); + text2.AppendLiteral("Sequence "); + text2.AppendFormatted(sequenceId); + ImGui.Text(text2); + } + ImGui.Separator(); + if (flag2 && sequenceDetails.TryGetValue(sequenceId, out (int, string) value)) + { + ImGui.PushFont(UiBuilder.IconFont); + ImGui.TextColored(new Vector4(0.5f, 1f, 0.6f, 1f), FontAwesomeIcon.CheckCircle.ToIconString()); + ImGui.PopFont(); + ImGui.SameLine(); + ImGui.TextColored(new Vector4(0.5f, 1f, 0.6f, 1f), "Implemented"); + ImGui.Spacing(); + ImU8String text3 = new ImU8String(6, 0); + text3.AppendLiteral("Steps:"); + ImGui.TextColored(in UiThemeUtils.PrimaryTextColor, text3); + ImGui.SameLine(); + Vector4 col = new Vector4(0.7f, 0.9f, 1f, 1f); + ImU8String text4 = new ImU8String(0, 1); + text4.AppendFormatted(value.Item1); + ImGui.TextColored(in col, text4); + if (!string.IsNullOrEmpty(value.Item2)) + { + ImGui.Separator(); + ImGui.PushTextWrapPos(250f); + ImGui.TextColored(in UiThemeUtils.DimTextColor, value.Item2); + ImGui.PopTextWrapPos(); + } + } + else if (!flag2) + { + ImGui.PushFont(UiBuilder.IconFont); + ImGui.TextColored(new Vector4(1f, 0.5f, 0.5f, 1f), FontAwesomeIcon.TimesCircle.ToIconString()); + ImGui.PopFont(); + ImGui.SameLine(); + ImGui.TextColored(new Vector4(1f, 0.5f, 0.5f, 1f), "Not Implemented"); + ImGui.Spacing(); + ImGui.PushTextWrapPos(250f); + ImGui.TextColored(in UiThemeUtils.DimTextColor, "This sequence is missing from the quest path."); + ImGui.PopTextWrapPos(); + } + if (flag) + { + ImGui.Separator(); + ImGui.TextColored(new Vector4(1f, 0.85f, 0.5f, 1f), "► Currently Active"); + } + } + } + else if (_hoveredSequenceId == sequenceId) + { + _hoveredSequenceId = -1; + } + ImGui.SetCursorScreenPos(cursorScreenPos + new Vector2(0f, vector.Y)); } - [MethodImpl(MethodImplOptions.NoInlining)] internal static string GetSequenceFilename(int questId, string questName) { - string value = _200E_200D_200F_202C_206D_202C_202E_202B_206E_206A_206D_202D_206A_206A_206A_206F_206E_206D_200D_200D_200F_200B_200E_200C_200B_206A_206C_202A_206A_206F_200E_206F_202A_206C_200E_202C_202C_206E_206C_206E_202E(questName ?? string.Empty); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(6, 2); - defaultInterpolatedStringHandler.AppendFormatted(questId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1981151499)); - defaultInterpolatedStringHandler.AppendFormatted(value); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-649244264)); - return defaultInterpolatedStringHandler.ToStringAndClear(); + string value = (questName ?? string.Empty).Trim(); + return $"{questId}_{value}.json"; } public void SetLookedUpQuest(ElementId? id) { _lookedUpQuestId = id; } - - static Vector2 _202D_202C_202D_200B_202E_200F_206E_206C_206C_200B_200E_202C_202A_200E_206D_200F_206D_206B_206B_202B_206B_206F_206C_202E_206B_202D_200F_200F_202D_202C_206F_206A_206D_206D_200C_200D_202D_200E_202E_206C_202E() - { - return ImGui.GetCursorScreenPos(); - } - - static Vector2 _200C_206F_200C_202D_206F_200C_202E_202A_200F_206A_200D_206B_206D_206C_202C_200C_202E_200C_200F_206C_200C_202D_206D_200D_206C_202B_202C_202B_202E_206C_202C_202C_202E_200D_206D_206A_202B_202A_202C_202A_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static float _200B_206E_202A_206F_206E_206B_206B_202E_202C_200C_200F_206D_200E_206F_200F_202D_206D_200D_206C_206C_206A_200D_200D_202E_206C_206C_206B_206D_200D_202E_202A_202B_202B_200C_202E_200D_206A_206B_202A_202D_202E() - { - return ImGui.GetFrameHeightWithSpacing(); - } - - static ImGuiStylePtr _200B_202B_202D_202E_206C_206A_200C_202C_206D_202A_206D_206B_202E_202E_206C_202C_200D_206B_206D_202E_206F_202A_200C_202A_206F_206F_206D_206A_202D_200E_202E_202B_206C_206B_206C_206A_202E_202B_200F_206F_202E() - { - return ImGui.GetStyle(); - } - - static ImDrawListPtr _206E_200C_200E_206F_200D_200D_202A_206B_202D_202D_206F_202C_200D_200C_200D_200F_200B_202A_206C_206B_202C_200E_202E_206A_206A_202C_202B_200E_206B_200C_206F_200C_200B_200B_206B_200E_200F_206E_200D_206D_202E() - { - return ImGui.GetWindowDrawList(); - } - - static uint _206E_202B_206F_202E_206E_200C_200E_200B_202A_200E_202E_200B_200C_206E_200C_200B_200D_202C_200E_200D_202B_202C_202C_202D_200B_200E_206E_200D_202B_202B_206E_202D_202C_202A_202B_200C_202E_200C_206B_200E_202E(Vector4 P_0) - { - return ImGui.ColorConvertFloat4ToU32(P_0); - } - - static float _200F_202A_206E_200C_202C_202D_206C_206C_202B_206E_202B_202B_202C_206D_206C_200C_206B_206A_206D_206D_202E_200B_206A_206C_202E_200F_200D_206A_200B_202E_200D_202D_200E_206E_200B_202D_206B_206A_206E_206D_202E() - { - return ImGui.GetTextLineHeight(); - } - - static float _206E_200C_200C_202E_206F_202E_200F_200E_200F_206F_206B_206B_206A_202B_202B_202D_202D_206F_206E_200B_206F_200F_200D_200D_206E_200E_206D_206E_206C_206D_206E_202B_200B_200D_206A_206D_206D_202C_202D_202E_202E() - { - return ImGui.GetCursorPosY(); - } - - static void _202C_206E_206D_200E_206E_200F_206D_206F_200B_202A_200B_202D_202C_206D_202B_202D_200D_200F_202B_200E_202A_200D_200B_206B_202C_202B_200D_202A_202D_202B_202B_206D_206D_206A_202A_202C_200B_206A_200C_206C_202E(float P_0) - { - ImGui.SetCursorPosY(P_0); - } - - static float _206F_206D_206B_206B_202D_202A_202A_200F_200B_202E_206B_200B_206B_202A_202D_200E_200D_206F_206E_206D_206E_206E_206A_206E_200E_206C_200C_206C_200B_202B_206E_202D_200D_206E_202D_200D_206F_206D_206B_202B_202E() - { - return ImGui.GetCursorPosX(); - } - - static void _202C_206D_200E_200B_200B_202D_206A_200F_200E_202B_206B_200D_200E_200F_206D_206B_206B_202B_202C_200E_206C_200C_206F_200E_202A_200B_206E_202B_202A_206F_206A_202D_206B_206B_202E_202C_206E_202D_200C_202C_202E(float P_0) - { - ImGui.SetCursorPosX(P_0); - } - - static void _206D_206B_206B_206B_206A_200D_202B_206C_200F_206B_202A_202E_200F_206F_206C_202B_200E_200B_200B_200F_202C_202D_206A_202E_202C_202A_206C_200F_202B_202C_206C_202E_200B_202A_200D_200D_202D_206F_200C_206B_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static void _206F_200D_202B_200C_202D_202A_200C_200F_206C_200C_202A_200E_206A_202C_202E_200E_206A_200F_206B_206D_206A_206F_202B_206B_206E_200E_202C_206A_200C_200F_202A_206A_202A_200E_206C_206D_206C_200E_202C_202C_202E(float P_0) - { - ImGui.SameLine(P_0); - } - - static ImRaii.ColorDisposable _202C_206F_200D_202A_202B_206A_200F_206E_206E_202A_200B_202B_200B_200B_206C_202D_206B_202B_202D_206E_206E_200E_206F_206A_206D_206F_206D_202E_202D_206A_200F_206E_206C_202E_202A_206C_202B_202A_202A_202E(ImGuiCol P_0, Vector4 P_1, bool P_2) - { - return ImRaii.PushColor(P_0, P_1, P_2); - } - - static bool _202A_206F_200B_200B_206D_200E_206D_200D_206A_200D_202D_206D_200C_202C_206B_202A_206F_202B_206E_206A_200B_200E_206D_200D_200B_206F_202A_202B_200B_202A_200B_206E_206D_202C_202E_200B_202A_202B_206E_200E_202E(FontAwesomeIcon P_0) - { - return ImGuiComponents.IconButton(P_0); - } - - static void _200C_202E_206A_206C_206B_206B_200B_200D_206C_200E_206B_200C_206A_200C_200B_202A_200C_202C_200D_200E_206D_200B_200E_206F_200D_206F_206D_200C_202C_206B_200F_206A_200D_202D_206B_202D_200F_200C_202B_206F_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static Vector2 _202E_206D_202A_202A_200F_202C_206B_200D_200B_206E_206C_200F_202E_206C_200D_200E_206E_206A_202B_202B_206E_202C_202B_202A_202C_200D_206F_206E_202A_202C_200E_206E_200C_206F_206C_206C_202D_206A_200B_202B_202E() - { - return ImGui.GetWindowPos(); - } - - static Vector2 _206F_206C_202A_206C_206B_200B_200D_202E_202E_202C_206C_206A_202D_200F_200C_200E_200D_200B_202D_206B_200D_200F_200D_202C_206A_206B_200D_206E_206F_206E_206B_200B_206C_202E_200C_206E_206F_206A_200B_202E_202E() - { - return ImGui.GetWindowSize(); - } - - static bool _202B_200B_206B_200C_200C_200B_202C_202D_200F_200C_200B_202E_202B_200B_206C_200E_200D_202E_202E_206C_202E_200B_206D_206F_202D_200D_200E_202C_200C_200F_200E_200E_202D_202D_202A_206B_202B_200D_202C_200C_202E(ElementId P_0, ElementId P_1) - { - return P_0 == P_1; - } - - static bool _200E_206C_206B_200D_206C_200B_206B_206D_202C_206C_206C_206A_206D_202A_200F_206E_200D_200E_200C_202E_202A_200B_206B_206F_202C_200F_200F_200B_206C_202C_206A_200D_200F_206D_206C_206C_206F_200B_200B_206E_202E(ElementId P_0, ElementId P_1) - { - return P_0 != P_1; - } - - static void _206D_200C_200F_206A_206D_206E_202E_200F_206D_206B_202B_200C_200E_200D_206B_202D_202B_200D_202B_202D_202A_200C_202A_206A_200C_200B_200B_200C_202D_200E_202B_202B_202B_206D_206E_202E_206E_200D_200C_202D_202E() - { - ImGui.Spacing(); - } - - static bool _200D_202D_202A_206C_202D_200D_206A_202D_206B_206D_206C_206E_206E_200F_206E_206D_206C_202D_200E_206A_206C_200C_206F_202B_206F_206B_200E_200B_200C_202A_206A_206E_202E_206D_202B_200B_206A_202D_206F_200C_202E(ImU8String P_0, Vector2 P_1) - { - return ImGui.Button(P_0, P_1); - } - - static ushort _200E_202C_202B_202A_202B_200B_202A_200D_200D_206F_200D_202D_206E_206F_202C_206E_202A_200E_202C_206B_200B_206B_200F_206A_200E_202C_206A_202B_206F_206E_200E_202E_206A_206A_200B_200C_202C_206E_202D_200D_202E(ElementId P_0) - { - return P_0.Value; - } - - static void _206E_206B_200E_206B_206C_202E_200E_200E_202A_200F_202C_202B_200E_200D_206E_202A_200C_206D_202D_206A_206D_200C_206A_202C_202A_206C_202D_206C_200D_202C_206D_206F_202D_200F_206A_202A_202E_206C_202B_206D_202E(ImU8String P_0) - { - ImGui.SetClipboardText(P_0); - } - - static CultureInfo _206A_202E_200E_200F_200E_200E_200D_206B_202D_206E_200D_202A_206B_202C_206D_202B_202C_200C_202B_202B_206B_200F_206A_202E_206E_202B_200D_202B_202E_206E_202B_206A_202A_206C_202B_206A_202B_202E_206D_200F_202E() - { - return CultureInfo.InvariantCulture; - } - - static bool _200D_202E_200E_206F_202D_200F_202A_206F_206C_206C_202B_206E_202A_202B_202C_202E_202E_200D_202E_206E_200C_200E_200E_202D_202D_202D_206A_206D_206D_206B_202C_200C_200D_200D_200F_206E_202B_206A_206A_202C_202E() - { - return ImGui.IsItemHovered(); - } - - static void _202A_202A_200D_206D_206F_202D_200B_206B_202A_200F_200C_200E_202B_206A_202B_202E_200F_202D_206A_206C_200E_202C_200C_202D_200D_206B_206C_202B_206D_206E_200D_202A_206C_200C_206F_200D_202D_206E_200F_202E(ImU8String P_0) - { - ImGui.SetTooltip(P_0); - } - - static ImFontPtr _200D_206C_200F_202A_202E_206D_206E_202E_202A_206C_202C_202C_200C_202C_206D_202D_206F_200C_206F_200B_206A_200C_202A_200B_206E_202C_206D_202E_202A_200D_200F_200B_202B_202C_202C_206E_200F_200C_202A_202A_202E() - { - return UiBuilder.IconFont; - } - - static ImRaii.FontDisposable _202E_206E_200F_200F_200F_206D_202D_202C_206A_206C_206B_206B_200F_202D_206C_200E_202D_206B_206D_200C_206F_200C_200C_206D_206A_202A_206A_202E_206D_200D_206C_206F_202D_200F_200E_202E_200F_200D_206F_202E_202E(ImFontPtr P_0, bool P_1) - { - return ImRaii.PushFont(P_0, P_1); - } - - static string _200F_200C_206B_200B_206C_200E_206F_206C_206D_206A_200E_202B_206B_206E_202A_206C_202D_202E_200D_206E_202E_202A_206D_200B_206B_202C_202A_206A_206E_206D_202C_200F_206D_206E_202C_200E_202D_206F_200D_200C_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static void _200E_202D_200B_206E_200E_200D_202D_202B_202D_206F_206B_206A_202A_202A_206F_206B_200D_200F_200E_202C_206C_200B_206C_200E_200E_202E_200C_206C_202D_202A_206E_206B_200C_202D_200F_202C_206C_202C_202E_200D_202E() - { - ImGui.SameLine(); - } - - static Vector2 _202B_206A_202C_206B_206F_206E_200F_206B_202B_206F_202D_206B_202E_206B_202A_202E_206F_202D_200F_202B_206B_200F_200D_200E_206C_200C_200C_200E_206C_200E_206E_206A_206D_200F_200F_202C_200C_206D_206F_200D_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static void _206D_202D_200D_206E_200D_206F_206D_200E_206F_202B_202C_200E_200D_202E_206B_206A_200F_206D_206C_200F_206B_202C_202B_200D_206C_202D_206B_202E_202B_206B_206C_206E_200E_202C_202E_206E_206F_206F_202D_202A_202E(float P_0) - { - ImGui.SetNextItemWidth(P_0); - } - - static bool _200F_200B_206D_202E_206B_202E_202A_202B_206F_202D_206E_202D_200B_206C_200B_202C_200D_202A_206E_206A_200D_200C_200E_206C_206E_200E_206E_206F_206F_202A_206E_202C_200C_202B_206F_206F_200F_200D_200F_200D_202E(ImU8String P_0, ImU8String P_1, ref string P_2, int P_3, ImGuiInputTextFlags P_4, ImGui.ImGuiInputTextCallbackDelegate P_5) - { - return ImGui.InputTextWithHint(P_0, P_1, ref P_2, P_3, P_4, P_5); - } - - static bool _206F_200D_206B_200B_202B_206A_206C_206B_200B_206D_200F_200D_202E_206B_206F_200B_202A_206E_200B_206C_200C_200D_206D_200E_202D_206D_202D_202B_200C_200B_206C_202C_206F_202A_200E_200C_206B_206F_202D_200E_202E(FontAwesomeIcon P_0, string P_1, Vector4? P_2, Vector4? P_3, Vector4? P_4, Vector2? P_5) - { - return ImGuiComponents.IconButtonWithText(P_0, P_1, P_2, P_3, P_4, P_5); - } - - static QuestId _206F_202A_200B_206F_202C_202B_200E_202C_206C_200F_200E_206D_202E_206D_202B_202E_202C_202C_200B_202B_202B_206E_202A_200F_202C_202A_200B_200D_206D_202D_202A_206B_202C_206B_206D_200B_206C_200D_206C_200D_202E(ushort P_0) - { - return new QuestId(P_0); - } - - static void _202E_202D_202E_206D_206B_206F_202E_202D_200F_206C_200F_202B_206B_202D_206B_200D_206B_206A_202E_200B_202B_202E_200F_202A_200C_200D_206B_202B_206B_206D_202A_206A_206D_202B_200B_206C_202A_206E_202A_206E_202E(ImFontPtr P_0) - { - ImGui.PushFont(P_0); - } - - static void _202B_206F_200B_206F_206E_206B_200B_200C_200C_200C_200D_206C_206D_202C_202B_200F_206A_202A_202D_200D_206B_206C_206A_200B_206B_206D_200B_206A_202E_206F_206D_200F_200B_206B_202D_206D_202B_200F_202D_206C_202E(Vector2 P_0) - { - ImGui.SetCursorScreenPos(P_0); - } - - static void _206A_202D_200F_202E_202E_200C_202C_206C_202A_200C_206F_206E_200B_206F_202B_202E_200E_202B_200F_206A_206E_202E_202E_202D_200E_202D_202C_202C_202D_206E_200E_200E_202B_206F_200C_200F_200F_206B_206E_202B_202E() - { - ImGui.PopFont(); - } - - static float _202A_200E_206E_202A_202C_200B_200F_200D_206A_200C_200F_206D_200E_202C_206B_206E_206D_200D_200C_206E_206D_206B_200F_206A_206A_200E_206E_202E_200F_200E_202B_200F_200D_206A_202E_202E_200C_202B_202D_200E_202E(float P_0, float P_1) - { - return MathF.Max(P_0, P_1); - } - - static float _202E_206A_206A_206E_200D_202C_206B_200B_206B_206D_206C_202C_206D_206C_202B_202E_202D_206E_202C_206F_202A_202B_200B_202E_206A_206F_202C_206C_200B_202D_206A_202B_202C_206A_202B_200E_202B_202D_206C_206C_202E() - { - return ImGui.GetFrameHeight(); - } - - static double _206B_200D_202A_202A_200D_206E_200F_202A_206D_206F_202B_200D_206F_206C_200F_202D_206D_200C_200C_206C_202C_202B_202D_202C_200F_200D_200F_200B_202B_206D_200C_200C_202C_202D_200B_200F_206C_202E_200E_202C_202E() - { - return ImGui.GetTime(); - } - - static float _206E_206E_206E_202C_200C_200E_200B_200F_202A_206D_200F_206F_200B_206D_206B_206E_202E_206F_206A_206D_202B_200D_200D_206D_202D_206B_200D_202A_200B_202B_206C_200F_200E_200B_200B_206D_200F_202D_206E_200C_202E(float P_0) - { - return MathF.Sin(P_0); - } - - static int _206A_206F_206C_200F_202A_202D_206E_202A_200B_202B_206F_202C_206F_200C_200F_202C_202A_206D_206D_200E_202B_202C_200B_202C_200E_202B_200C_206E_206C_202B_202E_206A_200B_200E_200F_202B_202B_202C_202B_200C_202E(IEnumerable P_0) - { - return P_0.Max(); - } - - static List _200D_206E_200B_202D_206D_200C_206A_200F_200C_200B_206D_202C_202C_202A_206E_200E_202A_206C_202C_206B_200B_206F_206B_202C_206A_206B_206F_200F_200C_200C_202E_206F_200F_206E_206F_200E_202D_206F_206D_202E_202E(QuestRoot P_0) - { - return P_0.QuestSequence; - } - - static byte _206C_200B_200F_206C_200F_200F_200D_206E_200C_202B_202C_202B_202A_206B_200C_200B_202E_200D_206D_202B_202B_202E_206C_200D_206E_202B_200D_202C_200F_206E_200D_206D_202C_202A_206B_200D_206C_206E_206F_202D_202E(QuestSequence P_0) - { - return P_0.Sequence; - } - - static List _206E_200B_206C_206E_202B_200F_202E_200C_206A_200D_202E_200F_206A_200E_206F_206A_206C_200F_206B_200C_202C_206E_202D_206C_206F_206C_206C_206B_200B_206D_202A_206C_202C_202E_206D_206B_200E_202B_206B_200D_202E(QuestSequence P_0) - { - return P_0.Steps; - } - - static string _206A_202B_200B_206C_202D_200C_200F_200B_202B_200D_206D_202C_202B_200F_206F_206B_206E_202A_200D_206A_202E_202C_206E_202B_200F_202C_202A_202D_206B_206E_206F_200C_202E_206E_206F_206C_200B_206F_206F_202D_202E(QuestSequence P_0) - { - return P_0.Comment; - } - - static string _206F_200F_202D_206D_202A_202D_202A_206B_200E_206D_206F_200D_202C_200B_202B_202A_206A_200F_200C_206B_202B_206C_206A_206C_200C_206F_202A_202B_206D_202A_206B_200E_206F_200E_206D_200F_202C_200D_202B_206F_202E(Exception P_0) - { - return P_0.Message; - } - - static string _206A_200D_200C_206B_206B_202C_206F_200B_202D_206C_202B_200B_206B_202E_206D_202A_206F_200E_200D_206F_200D_206D_206D_206A_200C_202A_200F_200B_202A_200D_202C_206F_206A_202D_200E_200F_206C_206D_202D_206D_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static void _200E_206A_202C_206C_202A_202C_206D_202E_200D_200D_206C_206D_206B_206E_202A_200E_202B_200F_200C_202E_200D_206E_200C_200C_200D_206D_202B_202B_200E_200C_200C_202B_202D_202A_202A_202E_200B_200D_206B_206B_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogWarning(P_1, P_2, P_3); - } - - static void _200D_206F_200C_200D_202E_206E_202D_206D_206C_206A_200F_200C_206C_202C_206D_200E_206B_206A_200C_206D_206C_200C_206A_202B_206D_200D_202A_200B_202B_200E_202D_200C_200E_202D_206D_206B_206A_200B_200B_202B_202E(ImU8String P_0, ImGuiTableColumnFlags P_1, float P_2, uint P_3) - { - ImGui.TableSetupColumn(P_0, P_1, P_2, P_3); - } - - static void _200C_206C_200D_200B_200D_206E_206F_202A_200E_200D_202E_206A_200D_206B_206F_200C_202E_206F_206A_200B_202C_206B_200C_206C_202E_206E_206A_202A_200B_200C_200D_206D_200B_202C_206B_206A_200E_206E_206F_200E_202E() - { - ImGui.TableNextRow(); - } - - static bool _206A_206F_206D_202C_200E_202D_200E_200B_200E_200D_202E_206F_206E_206D_206D_206B_202C_206D_200C_206B_202A_200C_202C_202D_202C_206F_202B_202C_206F_202C_206D_206A_206F_200C_202E_202E_200C_206E_206A_206C_202E() - { - return ImGui.TableNextColumn(); - } - - static int _202C_202B_200F_206E_202E_200D_202B_206C_206D_206D_202E_202C_206C_206A_202D_206A_200D_206F_200D_206C_202D_202C_206C_200B_206A_200D_200E_200F_202B_200D_200C_206C_206E_206A_200C_200C_202C_206A_202E_202E(int P_0, int P_1) - { - return Math.Min(P_0, P_1); - } - - static int _206E_206A_202E_200D_202B_206D_200C_206B_202D_206C_206A_200F_200B_200F_206E_200F_206A_202A_200F_200C_202A_206B_200E_206E_206A_206C_200D_206C_200C_202C_206A_206A_202C_200D_200E_200D_200D_202B_200B_206E_202E(int P_0, int P_1) - { - return Math.Max(P_0, P_1); - } - - static ImRaii.ChildDisposable _202E_202B_206E_200B_200E_200E_206C_200F_200F_206D_202B_200E_202E_200B_202A_200B_202E_200D_200F_200B_206C_200F_200B_200F_206F_200B_202A_202E_202C_200F_206B_206C_200F_200C_200B_202B_200F_202E_202C_206D_202E(ImU8String P_0, Vector2 P_1, bool P_2, ImGuiWindowFlags P_3) - { - return ImRaii.Child(P_0, P_1, P_2, P_3); - } - - static bool _202A_206F_202B_206C_200C_200C_200D_200F_202A_202B_206A_206C_200E_206E_202E_202E_202B_202A_206F_200D_200D_200D_206F_206F_206D_200D_206F_206A_200C_202C_202B_206B_206D_206D_206D_200F_200E_202E_200F_206C_202E(ImU8String P_0, Vector2 P_1, ImGuiButtonFlags P_2) - { - return ImGui.InvisibleButton(P_0, P_1, P_2); - } - - static ImRaii.TooltipDisposable _206F_206B_200C_202E_202C_200B_200E_206E_202E_206C_202A_206A_206F_200C_200E_200F_206A_200D_200E_200F_200F_202D_200C_206D_202A_206C_206B_206A_200B_202A_202D_202A_200E_202D_206B_200B_202B_202B_206C_202E_202E() - { - return ImRaii.Tooltip(); - } - - static void _202B_202C_202C_202B_200E_202C_200E_200C_202D_206E_200E_206E_202A_202D_200E_202D_206A_200E_206D_200C_200E_200F_202B_206B_200C_202E_200F_202B_206C_202D_206A_202B_206A_206A_206B_202E_200E_206B_206A_202E_202E(ImU8String P_0) - { - ImGui.Text(P_0); - } - - static void _206D_206A_206C_202B_202D_206F_206A_206F_200E_202D_202B_200E_202E_202A_200E_202C_202E_202B_202C_200B_206D_202D_200C_206D_200D_202E_202D_202E_206A_202D_206E_200E_206C_206B_206E_200D_202B_202B_202C_200E_202E() - { - ImGui.Separator(); - } - - static bool _200B_202E_200B_206B_206D_200F_202D_200F_202D_202A_202E_200B_202E_200B_206A_202A_200E_202B_200B_200F_202C_206E_206F_206C_200E_202D_202C_200B_202A_200B_200B_202B_200E_202A_200F_206F_206C_200F_200F_200C_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static void _200B_200C_200C_202A_206B_202E_200B_206E_200F_202C_202C_202C_206C_206E_202C_206F_200C_202C_202D_206B_206E_200E_200C_206A_200E_206B_206E_200F_202C_202A_206D_206B_200D_206F_206E_206E_206B_202E_206E_202D_202E(float P_0) - { - ImGui.PushTextWrapPos(P_0); - } - - static void _202C_206F_206A_202E_200C_200E_202B_206D_206C_206B_200B_202C_202A_202D_206D_202D_202B_206A_206F_200E_202C_206B_206D_200E_206D_206C_206F_200F_206A_206E_202C_200B_202C_206C_200E_206C_200F_200E_200C_202D_202E() - { - ImGui.PopTextWrapPos(); - } - - static string _200E_200D_200F_202C_206D_202C_202E_202B_206E_206A_206D_202D_206A_206A_206A_206F_206E_206D_200D_200D_200F_200B_200E_200C_200B_206A_206C_202A_206A_206F_200E_206F_202A_206C_200E_202C_202C_206E_206C_206E_202E(string P_0) - { - return P_0.Trim(); - } } diff --git a/Questionable/Questionable.Windows.QuestComponents/QuestTooltipComponent.cs b/Questionable/Questionable.Windows.QuestComponents/QuestTooltipComponent.cs index e7a3d65..6e399e0 100644 --- a/Questionable/Questionable.Windows.QuestComponents/QuestTooltipComponent.cs +++ b/Questionable/Questionable.Windows.QuestComponents/QuestTooltipComponent.cs @@ -1,9 +1,3 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; using Dalamud.Game.Text; using Dalamud.Interface; @@ -43,749 +37,217 @@ internal sealed class QuestTooltipComponent public void Draw(IQuestInfo questInfo) { - using ImRaii.TooltipDisposable tooltipDisposable = _200B_200F_200D_206F_206E_200C_200F_206E_206D_206C_200F_206E_206D_200C_200B_200F_202C_202C_200F_200F_202C_206A_206C_206C_206D_202C_206C_206F_200C_206D_206E_206A_202D_200C_206C_202B_200F_202A_206F_206C_202E(); - int num = ((!tooltipDisposable.Alive) ? 1737286895 : 1737286894); - while (true) + using ImRaii.TooltipDisposable tooltipDisposable = ImRaii.Tooltip(); + if (tooltipDisposable.Alive) { - int num2 = num; - int num3 = 1737286895; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1737286894; - break; - case 1: - DrawInner(questInfo, showItemRewards: true); - num = 1737286895; - break; - case 0: - return; - } + DrawInner(questInfo, showItemRewards: true); } } - [MethodImpl(MethodImplOptions.NoInlining)] public void DrawInner(IQuestInfo questInfo, bool showItemRewards) { - ImU8String imU8String = new ImU8String(0, 2); - imU8String.AppendFormatted(_200D_202A_206A_200F_206F_206F_206E_206A_206D_202B_206F_206D_206B_206B_200D_202E_206A_200F_206C_202D_202C_202B_200D_202B_202B_206E_200E_206B_202B_206D_206D_200B_202B_200E_200B_206B_206A_202A_206F_202C_202E(SeIconChar.LevelEn)); - imU8String.AppendFormatted(questInfo.Level); - _200F_202E_200E_200B_202E_200E_202D_202A_206D_200C_200B_202D_206E_202C_200E_206E_200B_202D_200E_200F_200B_206B_200E_206E_200E_206F_206C_206C_206E_206C_206C_200F_200C_206D_202C_206E_206B_200E_206E_200C_202E(imU8String); - _206E_206D_206E_202D_206F_200B_200D_202D_202A_200C_202D_206C_200C_202E_206D_200C_202B_202B_202A_202E_200D_200D_206F_202E_200C_202C_206E_202E_206E_206E_200B_206E_206D_202D_202D_200B_206B_206C_202D_202E(); - var (vector, _, text) = _uiUtils.GetQuestStyle(questInfo.QuestId); - _200C_200F_206E_206F_206E_202E_200D_206D_202D_200E_202A_200B_202A_206A_206B_200B_206B_202E_200E_202A_202B_200C_206E_206D_202B_202A_206D_202B_206C_206D_202D_202E_200D_200F_202B_200C_202D_202C_202A_206A_202E(ref vector, (ImU8String)text); - QuestInfo questInfo2 = questInfo as QuestInfo; - int num = ((questInfo2 == null) ? 1474460582 : 1474460577); - Quest quest = default(Quest); - while (true) + ImU8String text = new ImU8String(0, 2); + text.AppendFormatted(SeIconChar.LevelEn.ToIconString()); + text.AppendFormatted(questInfo.Level); + ImGui.Text(text); + ImGui.SameLine(); + var (col, _, text2) = _uiUtils.GetQuestStyle(questInfo.QuestId); + ImGui.TextColored(in col, text2); + if (questInfo is QuestInfo { IsSeasonalEvent: not false }) { - int num2 = num; - int num3 = 1474460586; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + ImGui.SameLine(); + ImGui.TextUnformatted("Event"); + } + if (questInfo.IsRepeatable) + { + ImGui.SameLine(); + ImGui.TextUnformatted("Repeatable"); + } + if (questInfo is QuestInfo { CompletesInstantly: not false }) + { + ImGui.SameLine(); + ImGui.TextUnformatted("Instant"); + } + if (_questRegistry.TryGetQuest(questInfo.QuestId, out Quest quest)) + { + if (quest.Root.Disabled) { - case 3: - _206E_206D_206E_202D_206F_200B_200D_202D_202A_200C_202D_206C_200C_202E_206D_200C_202B_202B_202A_202E_200D_200D_206F_202E_200C_202C_206E_202E_206E_206E_200B_206E_206D_202D_202D_200B_206B_206C_202D_202E(); - _200E_206A_206B_200E_206B_202C_200E_202B_202D_206F_206A_206D_200D_200E_200F_202C_206A_206C_202B_206C_206F_202A_202A_202E_200C_202A_200C_200E_202D_202E_202A_202C_202A_200C_200D_200D_202D_200E_200C_200F_202E((ImU8String)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(820153161)); - num = 1474460582; - break; - case 1: - DrawQuestUnlocks(questInfo, 0, showItemRewards); - return; - case 10: - num = ((!_206F_206A_200F_206C_202A_200E_200C_200D_200E_206D_206D_202C_202D_202A_206E_200B_202D_206D_202C_202D_202A_200C_200E_202A_202C_202C_200C_202A_206C_206D_202C_206E_206C_202A_202A_202A_206E_206D_206D_202C_202E(quest.Root)) ? 1474460590 : 1474460578); - break; - case 8: - _206E_206D_206E_202D_206F_200B_200D_202D_202A_200C_202D_206C_200C_202E_206D_200C_202B_202B_202A_202E_200D_200D_206F_202E_200C_202C_206E_202E_206E_206E_200B_206E_206D_202D_202D_200B_206B_206C_202D_202E(); - _200C_200F_206E_206F_206E_202E_200D_206D_202D_200E_202A_200B_202A_206A_206B_200B_206B_202E_200E_202A_202B_200C_206E_206D_202B_202A_206D_202B_206C_206D_202D_202E_200D_200F_202B_200C_202D_202C_202A_206A_202E(ref UiThemeUtils.StatusLocked, (ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2101114993)); - num = 1474460590; - break; - case 15: - { - ImU8String imU8String3 = new ImU8String(8, 1); - imU8String3.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-431398969)); - imU8String3.AppendFormatted(_200C_206D_202A_200B_200F_200B_206A_202D_206F_206E_206C_206F_206A_202A_200C_200B_200C_200E_200B_206B_202C_200B_202A_206F_200B_200F_200D_200D_200D_200F_200B_206F_202B_202A_200B_202D_206E_200C_202C_202E_202E(quest.Root)[0]); - _200F_202E_200E_200B_202E_200E_202D_202A_206D_200C_200B_202D_206E_202C_200E_206E_200B_202D_200E_200F_200B_206B_200E_206E_200E_206F_206C_206C_206E_206C_206C_200F_200C_206D_202C_206E_206B_200E_206E_200C_202E(imU8String3); - num = 1474460587; - break; + ImGui.SameLine(); + ImGui.TextColored(in UiThemeUtils.StatusLocked, "Disabled"); } - case 13: - num = 1474460577; - break; - case 6: - _206E_206D_206E_202D_206F_200B_200D_202D_202A_200C_202D_206C_200C_202E_206D_200C_202B_202B_202A_202E_200D_200D_206F_202E_200C_202C_206E_202E_206E_206E_200B_206E_206D_202D_202D_200B_206B_206C_202D_202E(); - _200E_206A_206B_200E_206B_202C_200E_202B_202D_206F_206A_206D_200D_200E_200F_202C_206A_206C_202B_206C_206F_202A_202A_202E_200C_202A_200C_200E_202D_202E_202A_202C_202A_200C_200D_200D_202D_200E_200C_200F_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-754389830)); - num = 1474460579; - break; - case 0: - num = ((!questInfo2.CompletesInstantly) ? 1474460579 : 1474460588); - break; - case 11: - num = ((!questInfo2.IsSeasonalEvent) ? 1474460582 : 1474460585); - break; - case 14: - _206E_206D_206E_202D_206F_200B_200D_202D_202A_200C_202D_206C_200C_202E_206D_200C_202B_202B_202A_202E_200D_200D_206F_202E_200C_202C_206E_202E_206E_206E_200B_206E_206D_202D_202D_200B_206B_206C_202D_202E(); - _200C_200F_206E_206F_206E_202E_200D_206D_202D_200E_202A_200B_202A_206A_206B_200B_206B_202E_200E_202A_202B_200C_206E_206D_202B_202A_206D_202B_206C_206D_202D_202E_200D_200F_202B_200C_202D_202C_202A_206A_202E(ref UiThemeUtils.StatusLocked, (ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-282985404)); - num = 1474460587; - break; - case 4: - num = ((_200C_206D_202A_200B_200F_200B_206A_202D_206F_206E_206C_206F_206A_202A_200C_200B_200C_200E_200B_206B_202C_200B_202A_206F_200B_200F_200D_200D_200D_200F_200B_206F_202B_202A_200B_202D_206E_200C_202C_202E_202E(quest.Root).Count != 1) ? 1474460589 : 1474460581); - break; - case 7: + if (quest.Root.Author.Count == 1) { - ImU8String imU8String2 = new ImU8String(9, 1); - imU8String2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1400371552)); - imU8String2.AppendFormatted(_200E_206A_206D_206D_202C_202E_206D_202C_202E_206C_202A_206C_202C_200B_202B_206C_202A_206A_200B_206E_202E_202A_202D_202B_206D_202C_202C_200E_200C_200C_206A_206A_206D_200F_206E_202C_206F_202C_206F_200E_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1087086507), (IEnumerable)_200C_206D_202A_200B_200F_200B_206A_202D_206F_206E_206C_206F_206A_202A_200C_200B_200C_200E_200B_206B_202C_200B_202A_206F_200B_200F_200D_200D_200D_200F_200B_206F_202B_202A_200B_202D_206E_200C_202C_202E_202E(quest.Root))); - _200F_202E_200E_200B_202E_200E_202D_202A_206D_200C_200B_202D_206E_202C_200E_206E_200B_202D_200E_200F_200B_206B_200E_206E_200E_206F_206C_206C_206E_206C_206C_200F_200C_206D_202C_206E_206B_200E_206E_200C_202E(imU8String2); - num = 1474460587; - break; + ImU8String text3 = new ImU8String(8, 1); + text3.AppendLiteral("Author: "); + text3.AppendFormatted(quest.Root.Author[0]); + ImGui.Text(text3); } - case 5: - _206E_206D_206E_202D_206F_200B_200D_202D_202A_200C_202D_206C_200C_202E_206D_200C_202B_202B_202A_202E_200D_200D_206F_202E_200C_202C_206E_202E_206E_206E_200B_206E_206D_202D_202D_200B_206B_206C_202D_202E(); - _200E_206A_206B_200E_206B_202C_200E_202B_202D_206F_206A_206D_200D_200E_200F_202C_206A_206C_202B_206C_206F_202A_202A_202E_200C_202A_200C_200E_202D_202E_202A_202C_202A_200C_200D_200D_202D_200E_200C_200F_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1348044090)); - num = 1474460584; - break; - case 2: - questInfo2 = questInfo as QuestInfo; - num = ((questInfo2 == null) ? 1474460579 : 1474460586); - break; - case 12: - num = ((!questInfo.IsRepeatable) ? 1474460584 : 1474460591); - break; - case 9: - num = ((!_questRegistry.TryGetQuest(questInfo.QuestId, out quest)) ? 1474460580 : 1474460576); - break; + else + { + ImU8String text4 = new ImU8String(9, 1); + text4.AppendLiteral("Authors: "); + text4.AppendFormatted(string.Join(", ", quest.Root.Author)); + ImGui.Text(text4); } } + else + { + ImGui.SameLine(); + ImGui.TextColored(in UiThemeUtils.StatusLocked, "NoQuestPath"); + } + DrawQuestUnlocks(questInfo, 0, showItemRewards); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawQuestUnlocks(IQuestInfo questInfo, int counter, bool showItemRewards) { - int num = ((counter < 10) ? (-1923998553) : (-1923998551)); - while (true) + if (counter >= 10 || (counter != 0 && questInfo.IsMainScenarioQuest)) { - int num2 = num; - int num3 = -1923998548; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + if (counter > 0) + { + ImGui.Indent(); + } + if (questInfo.PreviousQuests.Count > 0) + { + if (counter == 0) { - default: - continue; - case 7: - num = -1923998551; - continue; - case 11: - num = ((counter == 0) ? (-1923998560) : (-1923998559)); - continue; - case 9: - return; - case 2: - _200D_202E_202E_206B_200C_206F_206F_200B_206B_206F_202D_206E_202D_206E_206A_206D_206F_200F_200C_206E_200B_206A_200D_200D_206E_200C_200D_206F_206D_202D_202A_202D_202B_200F_206D_200E_200F_206C_202C_202E(); - num = -1923998547; - continue; - case 13: - num = ((!questInfo.IsMainScenarioQuest) ? (-1923998560) : (-1923998555)); - continue; - case 12: - num = ((counter <= 0) ? (-1923998552) : (-1923998554)); - continue; - case 0: - num = ((counter != 0) ? (-1923998547) : (-1923998546)); - continue; - case 3: - num = ((questInfo.PreviousQuestJoin != EQuestJoin.All) ? (-1923998557) : (-1923998550)); - continue; - case 5: - return; - case 6: - _200F_202E_200E_200B_202E_200E_202D_202A_206D_200C_200B_202D_206E_202C_200E_206E_200B_202D_200E_200F_200B_206B_200E_206E_200E_206F_206C_206C_206E_206C_206C_200F_200C_206D_202C_206E_206B_200E_206E_200C_202E((ImU8String)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(1426364812)); - num = -1923998558; - continue; - case 15: - num = ((questInfo.PreviousQuestJoin != EQuestJoin.AtLeastOne) ? (-1923998558) : (-1923998556)); - continue; - case 1: - num = ((questInfo.PreviousQuests.Count <= 1) ? (-1923998558) : (-1923998545)); - continue; - case 4: - if (questInfo.PreviousQuests.Count > 0) - { - num = -1923998548; - continue; - } - break; - case 10: - _202D_206D_202A_200D_206C_202B_206F_200D_200B_200B_202A_206F_200D_200B_206B_206E_206A_200C_206D_202C_206E_206C_202D_206B_200B_200B_200D_200C_200B_202A_206A_202A_200B_200B_202C_202B_202E_206D_206F_202A_202E(); - num = -1923998552; - continue; - case 8: - _200F_202E_200E_200B_202E_200E_202D_202A_206D_200C_200B_202D_206E_202C_200E_206E_200B_202D_200E_200F_200B_206B_200E_206E_200E_206F_206C_206C_206E_206C_206C_200F_200C_206D_202C_206E_206B_200E_206E_200C_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-256821673)); - num = -1923998558; - continue; - case 14: - foreach (PreviousQuestInfo previousQuest in questInfo.PreviousQuests) - { - if (_questData.TryGetQuestInfo(previousQuest.QuestId, out IQuestInfo questInfo2)) - { - var (color, fontAwesomeIcon, _) = _uiUtils.GetQuestStyle(previousQuest.QuestId); - if (!_questRegistry.IsKnownQuest(questInfo2.QuestId)) - { - color = UiThemeUtils.StatusUnobtainable; - } - _uiUtils.ChecklistItem(FormatQuestUnlockName(questInfo2, (byte)((!_questFunctions.IsQuestComplete(previousQuest.QuestId)) ? previousQuest.Sequence : 0)), color, fontAwesomeIcon); - if (questInfo2 is QuestInfo questInfo3 && (counter <= 2 || fontAwesomeIcon != FontAwesomeIcon.Check)) - { - num3 = 1; - num4 = counter; - DrawQuestUnlocks(questInfo3, (num4 | num3) + (num4 & num3), showItemRewards: false); - } - continue; - } - ImRaii.DisabledDisposable disabledDisposable = _200B_200D_200C_202E_206F_206A_206A_206C_202A_202E_200E_200F_206D_200B_200E_202C_202D_200E_200C_206F_206F_200F_200E_202E_206C_202B_206E_202D_202D_202A_200F_202A_206E_200F_206F_202D_206F_200F_206C_206A_202E(); - try - { - UiUtils uiUtils = _uiUtils; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(16, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2088564312)); - defaultInterpolatedStringHandler.AppendFormatted(previousQuest.QuestId); - defaultInterpolatedStringHandler.AppendLiteral(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(444206578)); - uiUtils.ChecklistItem(defaultInterpolatedStringHandler.ToStringAndClear(), UiThemeUtils.StatusUnobtainable, FontAwesomeIcon.Question); - } - finally - { - num = ((disabledDisposable == null) ? (-1267677720) : (-1267677717)); - while (true) - { - int num7 = num; - num3 = -1267677718; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1267677717; - break; - case 2: - goto end_IL_0373; - case 1: - _200F_206E_202D_200E_206C_206F_200F_200C_200F_200F_200F_206F_200F_206D_200E_200D_206F_202D_206D_200B_206F_206F_202C_200C_202C_200F_200B_206E_206A_202D_206C_200E_202C_206D_200B_206B_206B_202A_206D_200D_202E((IDisposable)disabledDisposable); - num = -1267677720; - break; - } - continue; - end_IL_0373: - break; - } - } - } - break; + ImGui.Separator(); + } + if (questInfo.PreviousQuests.Count > 1) + { + if (questInfo.PreviousQuestJoin == EQuestJoin.All) + { + ImGui.Text("Requires all:"); + } + else if (questInfo.PreviousQuestJoin == EQuestJoin.AtLeastOne) + { + ImGui.Text("Requires one:"); + } + } + foreach (PreviousQuestInfo previousQuest in questInfo.PreviousQuests) + { + if (_questData.TryGetQuestInfo(previousQuest.QuestId, out IQuestInfo questInfo2)) + { + var (color, fontAwesomeIcon, _) = _uiUtils.GetQuestStyle(previousQuest.QuestId); + if (!_questRegistry.IsKnownQuest(questInfo2.QuestId)) + { + color = UiThemeUtils.StatusUnobtainable; + } + _uiUtils.ChecklistItem(FormatQuestUnlockName(questInfo2, (byte)((!_questFunctions.IsQuestComplete(previousQuest.QuestId)) ? previousQuest.Sequence : 0)), color, fontAwesomeIcon); + if (questInfo2 is QuestInfo questInfo3 && (counter <= 2 || fontAwesomeIcon != FontAwesomeIcon.Check)) + { + DrawQuestUnlocks(questInfo3, counter + 1, showItemRewards: false); + } + } + else + { + using (ImRaii.Disabled()) + { + _uiUtils.ChecklistItem($"Unknown Quest ({previousQuest.QuestId})", UiThemeUtils.StatusUnobtainable, FontAwesomeIcon.Question); + } + } } - break; } if (questInfo is QuestInfo questInfo4) { - num = -1696487048; - Vector4 color2 = default(Vector4); - IQuestInfo questInfo5 = default(IQuestInfo); - FontAwesomeIcon item = default(FontAwesomeIcon); - while (true) + if (questInfo4.MoogleDeliveryLevel > 0) { - int num8 = num; - int num3 = -1696487041; - int num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - default: - continue; - case 6: - _200D_202E_202E_206B_200C_206F_206F_200B_206B_206F_202D_206E_202D_206E_206A_206D_206F_200F_200C_206E_200B_206A_200D_200D_206E_200C_200D_206F_206D_202D_202A_202D_202B_200F_206D_200E_200F_206C_202C_202E(); - num = ((questInfo4.QuestLocks.Count <= 1) ? (-1696487051) : (-1696487044)); - continue; - case 7: - num = ((questInfo4.MoogleDeliveryLevel <= 0) ? (-1696487046) : (-1696487050)); - continue; - case 10: - _200F_202E_200E_200B_202E_200E_202D_202A_206D_200C_200B_202D_206E_202C_200E_206E_200B_202D_200E_200F_200B_206B_200E_206E_200E_206F_206C_206C_206E_206C_206C_200F_200C_206D_202C_206E_206B_200E_206E_200C_202E((ImU8String)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(-1391470785)); - num = -1696487043; - continue; - case 11: - if (questInfo4.QuestLocks.Count > 0) - { - num = -1696487047; - continue; - } - break; - case 1: - num = ((questInfo4.QuestLockJoin != EQuestJoin.AtLeastOne) ? (-1696487043) : (-1696487045)); - continue; - case 8: - _200F_202E_200E_200B_202E_200E_202D_202A_206D_200C_200B_202D_206E_202C_200E_206E_200B_202D_200E_200F_200B_206B_200E_206E_200E_206F_206C_206C_206E_206C_206C_200F_200C_206D_202C_206E_206B_200E_206E_200C_202E((ImU8String)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(1332408042)); - num = -1696487043; - continue; - case 9: - { - ImU8String imU8String = new ImU8String(23, 1); - imU8String.AppendLiteral(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(835332808)); - imU8String.AppendFormatted(questInfo4.MoogleDeliveryLevel); - _200F_202E_200E_200B_202E_200E_202D_202A_206D_200C_200B_202D_206E_202C_200E_206E_200B_202D_200E_200F_200B_206B_200E_206E_200E_206F_206C_206C_206E_206C_206C_200F_200C_206D_202C_206E_206B_200E_206E_200C_202E(imU8String); - num = -1696487046; - continue; - } - case 0: - num = -1696487048; - continue; - case 4: - _200F_202E_200E_200B_202E_200E_202D_202A_206D_200C_200B_202D_206E_202C_200E_206E_200B_202D_200E_200F_200B_206B_200E_206E_200E_206F_206C_206C_206E_206C_206C_200F_200C_206D_202C_206E_206B_200E_206E_200C_202E((ImU8String)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(48488600)); - num = -1696487043; - continue; - case 5: - if (counter == 0) - { - num = -1696487052; - continue; - } - break; - case 3: - num = ((questInfo4.QuestLockJoin != EQuestJoin.All) ? (-1696487042) : (-1696487049)); - continue; - case 2: - { - using (ImmutableList.Enumerator enumerator2 = questInfo4.QuestLocks.GetEnumerator()) - { - num = 679294645; - while (true) - { - int num11 = num; - num3 = 679294646; - num4 = num11; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = (enumerator2.MoveNext() ? 679294644 : 679294647); - break; - case 4: - color2 = UiThemeUtils.StatusUnobtainable; - num = 679294643; - break; - case 5: - _uiUtils.ChecklistItem(FormatQuestUnlockName(questInfo5, 0), color2, item); - num = 679294645; - break; - case 2: - { - QuestId current2 = enumerator2.Current; - questInfo5 = _questData.GetQuestInfo(current2); - (Vector4 Color, FontAwesomeIcon Icon, string Status) questStyle = _uiUtils.GetQuestStyle(current2); - color2 = questStyle.Color; - item = questStyle.Icon; - num = (_questRegistry.IsKnownQuest(questInfo5.QuestId) ? 679294643 : 679294642); - break; - } - case 0: - num = 679294645; - break; - case 1: - goto end_IL_05d2; - } - continue; - end_IL_05d2: - break; - } - } - break; - } - } - break; + ImU8String text = new ImU8String(23, 1); + text.AppendLiteral("Requires Carrier Level "); + text.AppendFormatted(questInfo4.MoogleDeliveryLevel); + ImGui.Text(text); } - if (counter == 0) + if (counter == 0 && questInfo4.QuestLocks.Count > 0) { - num = 1225831112; - while (true) + ImGui.Separator(); + if (questInfo4.QuestLocks.Count > 1) { - int num12 = num; - int num3 = 1225831113; - int num4 = num12; - int num13 = num4 + num3; - int num14 = num4 & num3; - switch (num13 - (num14 + num14)) + if (questInfo4.QuestLockJoin == EQuestJoin.All) { - default: - continue; - case 8: - num = ((questInfo.PreviousQuestJoin != EQuestJoin.All) ? 1225831115 : 1225831113); - continue; - case 3: - _200F_202E_200E_200B_202E_200E_202D_202A_206D_200C_200B_202D_206E_202C_200E_206E_200B_202D_200E_200F_200B_206B_200E_206E_200E_206F_206C_206C_206E_206C_206C_200F_200C_206D_202C_206E_206B_200E_206E_200C_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-913613294)); - num = 1225831116; - continue; - case 7: - _200F_202E_200E_200B_202E_200E_202D_202A_206D_200C_200B_202D_206E_202C_200E_206E_200B_202D_200E_200F_200B_206B_200E_206E_200E_206F_206C_206C_206E_206C_206C_200F_200C_206D_202C_206E_206B_200E_206E_200C_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-745363741)); - num = 1225831116; - continue; - case 6: - _200D_202E_202E_206B_200C_206F_206F_200B_206B_206F_202D_206E_202D_206E_206A_206D_206F_200F_200C_206E_200B_206A_200D_200D_206E_200C_200D_206F_206D_202D_202A_202D_202B_200F_206D_200E_200F_206C_202C_202E(); - num = ((questInfo4.PreviousInstanceContent.Count <= 1) ? 1225831118 : 1225831105); - continue; - case 0: - _200F_202E_200E_200B_202E_200E_202D_202A_206D_200C_200B_202D_206E_202C_200E_206E_200B_202D_200E_200F_200B_206B_200E_206E_200E_206F_206C_206C_206E_206C_206C_200F_200C_206D_202C_206E_206B_200E_206E_200C_202E((ImU8String)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(1426364812)); - num = 1225831116; - continue; - case 4: - num = 1225831112; - continue; - case 1: - if (questInfo4.PreviousInstanceContent.Count > 0) - { - num = 1225831119; - continue; - } - break; - case 2: - num = ((questInfo.PreviousQuestJoin != EQuestJoin.AtLeastOne) ? 1225831116 : 1225831114); - continue; - case 5: + ImGui.Text("Blocked by (if all completed):"); + } + else if (questInfo4.QuestLockJoin == EQuestJoin.AtLeastOne) { - using (List.Enumerator enumerator3 = questInfo4.PreviousInstanceContent.GetEnumerator()) - { - num = 382193894; - while (true) - { - int num15 = num; - num3 = 382193895; - num4 = num15; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 382193894; - break; - case 2: - { - ushort current3 = enumerator3.Current; - string text = _territoryData.GetInstanceName(current3) ?? global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(656320081); - var (color3, icon) = UiUtils.GetInstanceStyle(current3); - _uiUtils.ChecklistItem(text, color3, icon); - num = 382193894; - break; - } - case 1: - num = (enumerator3.MoveNext() ? 382193893 : 382193892); - break; - case 3: - goto end_IL_085e; - } - continue; - end_IL_085e: - break; - } - } - break; + ImGui.Text("Blocked by (if at least completed):"); } + } + else + { + ImGui.Text("Blocked by (if completed):"); + } + foreach (QuestId questLock in questInfo4.QuestLocks) + { + IQuestInfo questInfo5 = _questData.GetQuestInfo(questLock); + var (color2, icon, _) = _uiUtils.GetQuestStyle(questLock); + if (!_questRegistry.IsKnownQuest(questInfo5.QuestId)) + { + color2 = UiThemeUtils.StatusUnobtainable; } - break; + _uiUtils.ChecklistItem(FormatQuestUnlockName(questInfo5, 0), color2, icon); } } - num = ((counter != 0) ? 1402821429 : 1402821434); - string text2 = default(string); - while (true) + if (counter == 0 && questInfo4.PreviousInstanceContent.Count > 0) { - int num16 = num; - int num3 = 1402821438; - int num4 = num16; - int num17 = num4 + num3; - int num18 = num4 & num3; - switch (num17 - (num18 + num18)) + ImGui.Separator(); + if (questInfo4.PreviousInstanceContent.Count > 1) { - default: - continue; - case 6: - text2 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-802431915); - num = 1402821430; - continue; - case 7: - _200D_202E_202E_206B_200C_206F_206F_200B_206B_206F_202D_206E_202D_206E_206A_206D_206F_200F_200C_206E_200B_206A_200D_200D_206E_200C_200D_206F_206D_202D_202A_202D_202B_200F_206D_200E_200F_206C_202C_202E(); - switch (questInfo4.GrandCompany) + if (questInfo.PreviousQuestJoin == EQuestJoin.All) { - case GrandCompany.TwinAdder: - break; - default: - goto IL_09de; - case GrandCompany.ImmortalFlames: - goto IL_0a0d; - case GrandCompany.Maelstrom: - goto IL_0a25; + ImGui.Text("Requires all:"); } - goto case 6; - case 4: - num = ((questInfo4.GrandCompany == GrandCompany.None) ? 1402821429 : 1402821433); - continue; - case 2: - goto IL_0a0d; - case 1: - goto IL_0a25; - case 11: - if (showItemRewards) + else if (questInfo.PreviousQuestJoin == EQuestJoin.AtLeastOne) { - num = 1402821438; - continue; + ImGui.Text("Requires one:"); } - break; - case 10: - num = 1402821435; - continue; - case 8: + } + else { - string text3 = text2; - GrandCompany grandCompany = QuestFunctions.GetGrandCompany(); - _uiUtils.ChecklistItem(_200C_202D_206D_202E_200E_202B_206F_206C_202D_202E_202A_202C_206D_206F_206D_206B_206B_202D_206E_206D_206E_200C_206B_200C_200C_200D_202D_200F_206A_200C_206C_200B_200D_202D_206E_202D_206A_202C_202A_200D_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1365181732), text3), questInfo4.GrandCompany == grandCompany); - num = 1402821429; - continue; + ImGui.Text("Requires:"); } - case 3: - num = 1402821434; - continue; - case 5: - text2 = 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(474422561); - num = 1402821430; - continue; - case 0: - if (questInfo4.ItemRewards.Count > 0) - { - num = 1402821431; - continue; - } - break; - case 9: - { - _200D_202E_202E_206B_200C_206F_206F_200B_206B_206F_202D_206E_202D_206E_206A_206D_206F_200F_200C_206E_200B_206A_200D_200D_206E_200C_200D_206F_206D_202D_202A_202D_202B_200F_206D_200E_200F_206C_202C_202E(); - _200F_202E_200E_200B_202E_200E_202D_202A_206D_200C_200B_202D_206E_202C_200E_206E_200B_202D_200E_200F_200B_206B_200E_206E_200E_206F_206C_206C_206E_206C_206C_200F_200C_206D_202C_206E_206B_200E_206E_200C_202E((ImU8String)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(-1749268449)); - IEnumerator enumerator4 = questInfo4.ItemRewards.GetEnumerator(); - try - { - num = 1066742075; - while (true) - { - int num19 = num; - num3 = 1066742072; - num4 = num19; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1066742075; - break; - case 3: - num = (_206D_206B_206B_202C_202D_202C_206A_206F_202D_200D_200E_202C_202A_202A_200F_206D_206E_202C_200C_200B_200C_206E_202E_200B_206C_206A_200C_206F_200F_200B_206B_202B_206D_202C_206F_200B_202B_200B_206A_200E_202E((IEnumerator)enumerator4) ? 1066742074 : 1066742073); - break; - case 2: - _202C_200C_206C_200D_202B_200D_206B_202C_206A_202B_200E_200B_200E_206D_202A_202E_200B_202C_202A_202B_200D_200E_206D_200B_200B_206C_202E_200D_200F_200C_202A_202A_202B_206E_202C_202E_200E_202D_206B_202D_202E((ImU8String)enumerator4.Current.Name); - num = 1066742075; - break; - case 1: - goto end_IL_0b16; - } - continue; - end_IL_0b16: - break; - } - } - finally - { - num = ((enumerator4 == null) ? (-547261564) : (-547261561)); - while (true) - { - int num20 = num; - num3 = -547261562; - num4 = num20; - int num21 = num4 + num3; - int num22 = num4 & num3; - switch (num21 - (num22 + num22)) - { - case 0: - num = -547261561; - break; - case 1: - _200F_206E_202D_200E_206C_206F_200F_200C_200F_200F_200F_206F_200F_206D_200E_200D_206F_202D_206D_200B_206F_206F_202C_200C_202C_200F_200B_206E_206A_202D_206C_200E_202C_206D_200B_206B_206B_202A_206D_200D_202E((IDisposable)enumerator4); - num = -547261564; - break; - case 2: - goto end_IL_0bbc; - } - continue; - end_IL_0bbc: - break; - } - } - break; - } - IL_0a25: - text2 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(372022407); - num = 1402821430; - continue; - IL_0a0d: - text2 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1041968074); - num = 1402821430; - continue; - IL_09de: - num = 1402821428; - continue; + foreach (ushort item in questInfo4.PreviousInstanceContent) + { + string text2 = _territoryData.GetInstanceName(item) ?? "?"; + var (color3, icon2) = UiUtils.GetInstanceStyle(item); + _uiUtils.ChecklistItem(text2, color3, icon2); + } + } + if (counter == 0 && questInfo4.GrandCompany != GrandCompany.None) + { + ImGui.Separator(); + string text3 = questInfo4.GrandCompany switch + { + GrandCompany.Maelstrom => "Maelstrom", + GrandCompany.TwinAdder => "Twin Adder", + GrandCompany.ImmortalFlames => "Immortal Flames", + _ => "None", + }; + GrandCompany grandCompany = QuestFunctions.GetGrandCompany(); + _uiUtils.ChecklistItem("Grand Company: " + text3, questInfo4.GrandCompany == grandCompany); + } + if (showItemRewards && questInfo4.ItemRewards.Count > 0) + { + ImGui.Separator(); + ImGui.Text("Item Rewards:"); + foreach (ItemReward itemReward in questInfo4.ItemRewards) + { + ImGui.BulletText(itemReward.Name); } - break; } } - num = ((counter <= 0) ? (-459152396) : (-459152393)); - while (true) + if (counter > 0) { - int num23 = num; - int num3 = -459152394; - int num4 = num23; - int num24 = num4 + num3; - int num25 = num4 & num3; - switch (num24 - (num25 + num25)) - { - case 2: - return; - case 1: - _202A_200D_206C_206D_206B_206C_200C_206D_200D_200E_206D_200D_206E_206A_202B_200B_200C_200B_202A_202C_200E_200C_206E_200F_202C_202D_202A_206B_200D_206B_200B_206A_206B_206A_202C_200D_202C_200C_200C_200F_202E(); - num = -459152396; - break; - case 0: - num = -459152393; - break; - } + ImGui.Unindent(); } } - [MethodImpl(MethodImplOptions.NoInlining)] private string FormatQuestUnlockName(IQuestInfo questInfo, byte sequence = 0) { - string text = questInfo.Name; - int num = ((!questInfo.IsMainScenarioQuest) ? (-1213142629) : (-1213142632)); - while (true) + string name = questInfo.Name; + if (questInfo.IsMainScenarioQuest) { - int num2 = num; - int num3 = -1213142631; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - return text; - case 1: - { - string text3 = text; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(8, 1); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2002137365)); - defaultInterpolatedStringHandler2.AppendFormatted(questInfo.QuestId); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-741031348)); - text = _200C_202D_206D_202E_200E_202B_206F_206C_202D_202E_202A_202C_206D_206F_206D_206B_206B_202D_206E_206D_206E_200C_206B_200C_200C_200D_202D_200F_206A_200C_206C_200B_200D_202D_206E_202D_206A_202C_202A_200D_202E(text3, defaultInterpolatedStringHandler2.ToStringAndClear()); - num = -1213142630; - break; - } - case 2: - { - string text2 = text; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(3, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(588901087)); - defaultInterpolatedStringHandler.AppendFormatted(questInfo.QuestId); - defaultInterpolatedStringHandler.AppendLiteral(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(424561659)); - text = _200C_202D_206D_202E_200E_202B_206F_206C_202D_202E_202A_202C_206D_206F_206D_206B_206B_202D_206E_206D_206E_200C_206B_200C_200C_200D_202D_200F_206A_200C_206C_200B_200D_202D_206E_202D_206A_202C_202A_200D_202E(text2, defaultInterpolatedStringHandler.ToStringAndClear()); - num = -1213142630; - break; - } - case 0: - num = -1213142632; - break; - } + return name + $" ({questInfo.QuestId}, MSQ)"; } - } - - static ImRaii.TooltipDisposable _200B_200F_200D_206F_206E_200C_200F_206E_206D_206C_200F_206E_206D_200C_200B_200F_202C_202C_200F_200F_202C_206A_206C_206C_206D_202C_206C_206F_200C_206D_206E_206A_202D_200C_206C_202B_200F_202A_206F_206C_202E() - { - return ImRaii.Tooltip(); - } - - static string _200D_202A_206A_200F_206F_206F_206E_206A_206D_202B_206F_206D_206B_206B_200D_202E_206A_200F_206C_202D_202C_202B_200D_202B_202B_206E_200E_206B_202B_206D_206D_200B_202B_200E_200B_206B_206A_202A_206F_202C_202E(SeIconChar P_0) - { - return P_0.ToIconString(); - } - - static void _200F_202E_200E_200B_202E_200E_202D_202A_206D_200C_200B_202D_206E_202C_200E_206E_200B_202D_200E_200F_200B_206B_200E_206E_200E_206F_206C_206C_206E_206C_206C_200F_200C_206D_202C_206E_206B_200E_206E_200C_202E(ImU8String P_0) - { - ImGui.Text(P_0); - } - - static void _206E_206D_206E_202D_206F_200B_200D_202D_202A_200C_202D_206C_200C_202E_206D_200C_202B_202B_202A_202E_200D_200D_206F_202E_200C_202C_206E_202E_206E_206E_200B_206E_206D_202D_202D_200B_206B_206C_202D_202E() - { - ImGui.SameLine(); - } - - static void _200C_200F_206E_206F_206E_202E_200D_206D_202D_200E_202A_200B_202A_206A_206B_200B_206B_202E_200E_202A_202B_200C_206E_206D_202B_202A_206D_202B_206C_206D_202D_202E_200D_200F_202B_200C_202D_202C_202A_206A_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static void _200E_206A_206B_200E_206B_202C_200E_202B_202D_206F_206A_206D_200D_200E_200F_202C_206A_206C_202B_206C_206F_202A_202A_202E_200C_202A_200C_200E_202D_202E_202A_202C_202A_200C_200D_200D_202D_200E_200C_200F_202E(ImU8String P_0) - { - ImGui.TextUnformatted(P_0); - } - - static bool _206F_206A_200F_206C_202A_200E_200C_200D_200E_206D_206D_202C_202D_202A_206E_200B_202D_206D_202C_202D_202A_200C_200E_202A_202C_202C_200C_202A_206C_206D_202C_206E_206C_202A_202A_202A_206E_206D_206D_202C_202E(QuestRoot P_0) - { - return P_0.Disabled; - } - - static List _200C_206D_202A_200B_200F_200B_206A_202D_206F_206E_206C_206F_206A_202A_200C_200B_200C_200E_200B_206B_202C_200B_202A_206F_200B_200F_200D_200D_200D_200F_200B_206F_202B_202A_200B_202D_206E_200C_202C_202E_202E(QuestRoot P_0) - { - return P_0.Author; - } - - static string _200E_206A_206D_206D_202C_202E_206D_202C_202E_206C_202A_206C_202C_200B_202B_206C_202A_206A_200B_206E_202E_202A_202D_202B_206D_202C_202C_200E_200C_200C_206A_206A_206D_200F_206E_202C_206F_202C_206F_200E_202E(string P_0, IEnumerable P_1) - { - return string.Join(P_0, P_1); - } - - static void _202D_206D_202A_200D_206C_202B_206F_200D_200B_200B_202A_206F_200D_200B_206B_206E_206A_200C_206D_202C_206E_206C_202D_206B_200B_200B_200D_200C_200B_202A_206A_202A_200B_200B_202C_202B_202E_206D_206F_202A_202E() - { - ImGui.Indent(); - } - - static void _200D_202E_202E_206B_200C_206F_206F_200B_206B_206F_202D_206E_202D_206E_206A_206D_206F_200F_200C_206E_200B_206A_200D_200D_206E_200C_200D_206F_206D_202D_202A_202D_202B_200F_206D_200E_200F_206C_202C_202E() - { - ImGui.Separator(); - } - - static ImRaii.DisabledDisposable _200B_200D_200C_202E_206F_206A_206A_206C_202A_202E_200E_200F_206D_200B_200E_202C_202D_200E_200C_206F_206F_200F_200E_202E_206C_202B_206E_202D_202D_202A_200F_202A_206E_200F_206F_202D_206F_200F_206C_206A_202E() - { - return ImRaii.Disabled(); - } - - static void _200F_206E_202D_200E_206C_206F_200F_200C_200F_200F_200F_206F_200F_206D_200E_200D_206F_202D_206D_200B_206F_206F_202C_200C_202C_200F_200B_206E_206A_202D_206C_200E_202C_206D_200B_206B_206B_202A_206D_200D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static string _200C_202D_206D_202E_200E_202B_206F_206C_202D_202E_202A_202C_206D_206F_206D_206B_206B_202D_206E_206D_206E_200C_206B_200C_200C_200D_202D_200F_206A_200C_206C_200B_200D_202D_206E_202D_206A_202C_202A_200D_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static void _202C_200C_206C_200D_202B_200D_206B_202C_206A_202B_200E_200B_200E_206D_202A_202E_200B_202C_202A_202B_200D_200E_206D_200B_200B_206C_202E_200D_200F_200C_202A_202A_202B_206E_202C_202E_200E_202D_206B_202D_202E(ImU8String P_0) - { - ImGui.BulletText(P_0); - } - - static bool _206D_206B_206B_202C_202D_202C_206A_206F_202D_200D_200E_202C_202A_202A_200F_206D_206E_202C_200C_200B_200C_206E_202E_200B_206C_206A_200C_206F_200F_200B_206B_202B_206D_202C_206F_200B_202B_200B_206A_200E_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202A_200D_206C_206D_206B_206C_200C_206D_200D_200E_206D_200D_206E_206A_202B_200B_200C_200B_202A_202C_200E_200C_206E_200F_202C_202D_202A_206B_200D_206B_200B_206A_206B_206A_202C_200D_202C_200C_200C_200F_202E() - { - ImGui.Unindent(); + return name + $" ({questInfo.QuestId})"; } } diff --git a/Questionable/Questionable.Windows.QuestComponents/QuestValidationComponent.cs b/Questionable/Questionable.Windows.QuestComponents/QuestValidationComponent.cs index b735aab..8eef683 100644 --- a/Questionable/Questionable.Windows.QuestComponents/QuestValidationComponent.cs +++ b/Questionable/Questionable.Windows.QuestComponents/QuestValidationComponent.cs @@ -1,11 +1,9 @@ using System; using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; using Dalamud.Interface; using Dalamud.Interface.Colors; -using Dalamud.Interface.ManagedFontAtlas; using Dalamud.Interface.Utility.Raii; using Dalamud.Plugin; using Questionable.Data; @@ -42,831 +40,211 @@ internal sealed class QuestValidationComponent _detailsRenderer.DrawDetailWindows(); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawSummaryHeader() { int issueCount = _questValidator.IssueCount; int errorCount = _questValidator.ErrorCount; - int num = errorCount; - int num2 = issueCount; - int num3 = ~(~num2 + num); - ImU8String imU8String = new ImU8String(33, 1); - imU8String.AppendLiteral(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(1785884238)); - imU8String.AppendFormatted(issueCount); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1740500055)); - _206A_206B_206F_206C_202A_206B_200C_200B_206D_200D_206D_202D_206D_200C_202B_202D_206A_202B_202E_206E_206B_200B_200E_202A_202E_206B_206D_202E_202D_202C_200D_202E_206F_206D_202B_200E_206D_200B_202B_200C_202E(imU8String); - int num4; + int num = issueCount - errorCount; + ImU8String text = new ImU8String(33, 1); + text.AppendLiteral("Validation Results: "); + text.AppendFormatted(issueCount); + text.AppendLiteral(" total issues"); + ImGui.Text(text); if (errorCount > 0) { - _200C_206C_202D_206D_202C_202A_206D_200E_200B_200B_206F_206F_206F_202B_200D_200D_200B_206F_206D_200B_202B_206D_206A_206E_200B_206B_206F_206D_200B_206A_206E_206E_200E_202B_200E_202C_202A_200D_202B_206D_202E(); - _206A_206B_206F_206C_202A_206B_200C_200B_206D_200D_206D_202D_206D_200C_202B_202D_206A_202B_202E_206E_206B_200B_200E_202A_202E_206B_206D_202E_202D_202C_200D_202E_206F_206D_202B_200E_206D_200B_202B_200C_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1824588032)); - _200C_206C_202D_206D_202C_202A_206D_200E_200B_200B_206F_206F_206F_202B_200D_200D_200B_206F_206D_200B_202B_206D_206A_206E_200B_206B_206F_206D_200B_206A_206E_206E_200E_202B_200E_202C_202A_200D_202B_206D_202E(); - ImRaii.ColorDisposable colorDisposable = _206C_200D_202C_206C_206A_202D_200C_202E_200E_206C_202D_200B_200D_200D_206C_200D_200B_202A_200F_206C_202D_206D_206B_206E_200D_202E_202D_200F_200D_202A_206E_206E_200F_202D_202D_206B_202D_206D_202D_202C_202E(ImGuiCol.Text, _200D_206D_200E_202A_202E_200E_200E_206E_202C_206B_200B_206A_206A_200C_200F_206B_206F_206D_200C_200C_200F_202A_200E_206F_200C_200C_202E_200F_206A_200E_200F_206B_206D_206B_206A_200F_206A_206D_202B_202E_202E(), true); - try + ImGui.SameLine(); + ImGui.Text("("); + ImGui.SameLine(); + using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed)) { - ImU8String imU8String2 = new ImU8String(7, 1); - imU8String2.AppendFormatted(errorCount); - imU8String2.AppendLiteral(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(-2107933616)); - _206A_206B_206F_206C_202A_206B_200C_200B_206D_200D_206D_202D_206D_200C_202B_202D_206A_202B_202E_206E_206B_200B_200E_202A_202E_206B_206D_202E_202D_202C_200D_202E_206F_206D_202B_200E_206D_200B_202B_200C_202E(imU8String2); - } - finally - { - num4 = ((colorDisposable == null) ? (-2130718725) : (-2130718728)); - while (true) - { - int num5 = num4; - num = -2130718726; - num2 = num5; - int num6 = num2 + num; - int num7 = num2 & num; - switch (num6 - (num7 + num7)) - { - case 1: - goto end_IL_00e0; - case 2: - _200E_200F_206B_202D_200D_200C_200E_206D_200E_200B_206B_206D_206D_200F_206D_202A_206E_206F_200C_206F_200F_200F_202E_200D_206B_202D_206C_206A_206B_206B_202E_206F_202C_206C_202B_206A_202D_200B_200D_202D_202E((IDisposable)colorDisposable); - num4 = -2130718725; - break; - case 0: - num4 = -2130718728; - break; - } - continue; - end_IL_00e0: - break; - } + ImU8String text2 = new ImU8String(7, 1); + text2.AppendFormatted(errorCount); + text2.AppendLiteral(" errors"); + ImGui.Text(text2); } } - if (num3 > 0) + if (num > 0) { - num4 = -873679878; - while (true) + if (errorCount > 0) { - int num8 = num4; - num = -873679877; - num2 = num8; - switch ((num2 | num) - (num2 & num)) + ImGui.SameLine(); + using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudOrange)) { - case 2: - num4 = -873679878; - break; - case 1: - { - if (errorCount > 0) - { - num4 = -873679877; - break; - } - _200C_206C_202D_206D_202C_202A_206D_200E_200B_200B_206F_206F_206F_202B_200D_200D_200B_206F_206D_200B_202B_206D_206A_206E_200B_206B_206F_206D_200B_206A_206E_206E_200E_202B_200E_202C_202A_200D_202B_206D_202E(); - _206A_206B_206F_206C_202A_206B_200C_200B_206D_200D_206D_202D_206D_200C_202B_202D_206A_202B_202E_206E_206B_200B_200E_202A_202E_206B_206D_202E_202D_202C_200D_202E_206F_206D_202B_200E_206D_200B_202B_200C_202E((ImU8String)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(1721352497)); - _200C_206C_202D_206D_202C_202A_206D_200E_200B_200B_206F_206F_206F_202B_200D_200D_200B_206F_206D_200B_202B_206D_206A_206E_200B_206B_206F_206D_200B_206A_206E_206E_200E_202B_200E_202C_202A_200D_202B_206D_202E(); - ImRaii.ColorDisposable colorDisposable3 = _206C_200D_202C_206C_206A_202D_200C_202E_200E_206C_202D_200B_200D_200D_206C_200D_200B_202A_200F_206C_202D_206D_206B_206E_200D_202E_202D_200F_200D_202A_206E_206E_200F_202D_202D_206B_202D_206D_202D_202C_202E(ImGuiCol.Text, _206F_200F_200F_206F_206E_206E_206D_206A_200C_206A_206B_206D_202D_200D_200B_200E_206F_200F_206A_206D_206F_206C_202C_206C_200F_202B_202A_206E_206B_206B_200B_206D_206F_206C_202C_200C_202C_202C_202A_206F_202E(), true); - try - { - ImU8String imU8String4 = new ImU8String(10, 1); - imU8String4.AppendFormatted(num3); - imU8String4.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1325629129)); - _206A_206B_206F_206C_202A_206B_200C_200B_206D_200D_206D_202D_206D_200C_202B_202D_206A_202B_202E_206E_206B_200B_200E_202A_202E_206B_206D_202E_202D_202C_200D_202E_206F_206D_202B_200E_206D_200B_202B_200C_202E(imU8String4); - return; - } - finally - { - num4 = ((colorDisposable3 == null) ? 1602354495 : 1602354492); - while (true) - { - int num12 = num4; - num = 1602354494; - num2 = num12; - switch ((num2 | num) - (num2 & num)) - { - case 0: - num4 = 1602354492; - break; - case 2: - _200E_200F_206B_202D_200D_200C_200E_206D_200E_200B_206B_206D_206D_200F_206D_202A_206E_206F_200C_206F_200F_200F_202E_200D_206B_202D_206C_206A_206B_206B_202E_206F_202C_206C_202B_206A_202D_200B_200D_202D_202E((IDisposable)colorDisposable3); - num4 = 1602354495; - break; - case 1: - goto end_IL_02c6; - } - continue; - end_IL_02c6: - break; - } - } - } - case 0: - { - _200C_206C_202D_206D_202C_202A_206D_200E_200B_200B_206F_206F_206F_202B_200D_200D_200B_206F_206D_200B_202B_206D_206A_206E_200B_206B_206F_206D_200B_206A_206E_206E_200E_202B_200E_202C_202A_200D_202B_206D_202E(); - ImRaii.ColorDisposable colorDisposable2 = _206C_200D_202C_206C_206A_202D_200C_202E_200E_206C_202D_200B_200D_200D_206C_200D_200B_202A_200F_206C_202D_206D_206B_206E_200D_202E_202D_200F_200D_202A_206E_206E_200F_202D_202D_206B_202D_206D_202D_202C_202E(ImGuiCol.Text, _206F_200F_200F_206F_206E_206E_206D_206A_200C_206A_206B_206D_202D_200D_200B_200E_206F_200F_206A_206D_206F_206C_202C_206C_200F_202B_202A_206E_206B_206B_200B_206D_206F_206C_202C_200C_202C_202C_202A_206F_202E(), true); - try - { - ImU8String imU8String3 = new ImU8String(12, 1); - imU8String3.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1467939024)); - imU8String3.AppendFormatted(num3); - imU8String3.AppendLiteral(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(-1407765195)); - _206A_206B_206F_206C_202A_206B_200C_200B_206D_200D_206D_202D_206D_200C_202B_202D_206A_202B_202E_206E_206B_200B_200E_202A_202E_206B_206D_202E_202D_202C_200D_202E_206F_206D_202B_200E_206D_200B_202B_200C_202E(imU8String3); - return; - } - finally - { - num4 = ((colorDisposable2 == null) ? 1360165335 : 1360165332); - while (true) - { - int num9 = num4; - num = 1360165334; - num2 = num9; - int num10 = num2 + num; - int num11 = num2 & num; - switch (num10 - (num11 + num11)) - { - case 1: - goto end_IL_01fe; - case 2: - _200E_200F_206B_202D_200D_200C_200E_206D_200E_200B_206B_206D_206D_200F_206D_202A_206E_206F_200C_206F_200F_200F_202E_200D_206B_202D_206C_206A_206B_206B_202E_206F_202C_206C_202B_206A_202D_200B_200D_202D_202E((IDisposable)colorDisposable2); - num4 = 1360165335; - break; - case 0: - num4 = 1360165332; - break; - } - continue; - end_IL_01fe: - break; - } - } - } + ImU8String text3 = new ImU8String(12, 1); + text3.AppendLiteral(", "); + text3.AppendFormatted(num); + text3.AppendLiteral(" warnings)"); + ImGui.Text(text3); + return; } } - } - num4 = ((errorCount <= 0) ? (-1281785323) : (-1281785324)); - while (true) - { - int num13 = num4; - num = -1281785323; - num2 = num13; - int num14 = num2 + num; - int num15 = num2 & num; - switch (num14 - (num15 + num15)) + ImGui.SameLine(); + ImGui.Text("("); + ImGui.SameLine(); + using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudOrange)) { - case 2: - num4 = -1281785324; - break; - case 1: - _200C_206C_202D_206D_202C_202A_206D_200E_200B_200B_206F_206F_206F_202B_200D_200D_200B_206F_206D_200B_202B_206D_206A_206E_200B_206B_206F_206D_200B_206A_206E_206E_200E_202B_200E_202C_202A_200D_202B_206D_202E(); - _206A_206B_206F_206C_202A_206B_200C_200B_206D_200D_206D_202D_206D_200C_202B_202D_206A_202B_202E_206E_206B_200B_200E_202A_202E_206B_206D_202E_202D_202C_200D_202E_206F_206D_202B_200E_206D_200B_202B_200C_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - num4 = -1281785323; - break; - case 0: + ImU8String text4 = new ImU8String(10, 1); + text4.AppendFormatted(num); + text4.AppendLiteral(" warnings)"); + ImGui.Text(text4); return; } } + if (errorCount > 0) + { + ImGui.SameLine(); + ImGui.Text(")"); + } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawValidationTable() { - using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable(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(1097395556), 5, ImGuiTableFlags.ScrollX | ImGuiTableFlags.ScrollY); - int num = ((!(!tableDisposable)) ? 567364098 : 567364102); - int num7 = default(int); - IReadOnlyList issues = default(IReadOnlyList); - while (true) + using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable("ValidationIssues", 5, ImGuiTableFlags.ScrollX | ImGuiTableFlags.ScrollY); + if (!(!tableDisposable)) { - int num2 = num; - int num3 = 567364103; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + ImGui.TableSetupColumn("Type", ImGuiTableColumnFlags.WidthFixed, 50f); + ImGui.TableSetupColumn("ID", ImGuiTableColumnFlags.WidthFixed, 60f); + ImGui.TableSetupColumn("Name", ImGuiTableColumnFlags.WidthFixed, 250f); + ImGui.TableSetupColumn("Location", ImGuiTableColumnFlags.WidthFixed, 100f); + ImGui.TableSetupColumn("Issue", ImGuiTableColumnFlags.WidthStretch); + ImGui.TableHeadersRow(); + IReadOnlyList issues = _questValidator.Issues; + for (int i = 0; i < issues.Count; i++) { - case 4: - num = 567364102; - break; - case 0: - num = ((num7 < issues.Count) ? 567364100 : 567364101); - break; - case 5: - _206B_202B_206B_206D_206F_206F_206A_200F_206F_206E_206C_206E_206A_200E_206A_200C_206B_206F_206D_200F_206A_206D_200D_202C_206C_202B_202E_202E_206B_200F_200F_200C_206A_202B_202C_206D_206A_200D_206C_202E_202E((ImU8String)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(692740068), ImGuiTableColumnFlags.WidthFixed, 50f, 0u); - _206B_202B_206B_206D_206F_206F_206A_200F_206F_206E_206C_206E_206A_200E_206A_200C_206B_206F_206D_200F_206A_206D_200D_202C_206C_202B_202E_202E_206B_200F_200F_200C_206A_202B_202C_206D_206A_200D_206C_202E_202E((ImU8String)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(-1492687959), ImGuiTableColumnFlags.WidthFixed, 60f, 0u); - _206B_202B_206B_206D_206F_206F_206A_200F_206F_206E_206C_206E_206A_200E_206A_200C_206B_206F_206D_200F_206A_206D_200D_202C_206C_202B_202E_202E_206B_200F_200F_200C_206A_202B_202C_206D_206A_200D_206C_202E_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(295817554), ImGuiTableColumnFlags.WidthFixed, 250f, 0u); - _206B_202B_206B_206D_206F_206F_206A_200F_206F_206E_206C_206E_206A_200E_206A_200C_206B_206F_206D_200F_206A_206D_200D_202C_206C_202B_202E_202E_206B_200F_200F_200C_206A_202B_202C_206D_206A_200D_206C_202E_202E((ImU8String)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(-1394332433), ImGuiTableColumnFlags.WidthFixed, 100f, 0u); - _206B_202B_206B_206D_206F_206F_206A_200F_206F_206E_206C_206E_206A_200E_206A_200C_206B_206F_206D_200F_206A_206D_200D_202C_206C_202B_202E_202E_206B_200F_200F_200C_206A_202B_202C_206D_206A_200D_206C_202E_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-124440889), ImGuiTableColumnFlags.WidthStretch, 0f, 0u); - _202D_206B_202E_202A_206F_202A_206E_200E_200C_200B_206B_206C_202C_202C_206F_206F_202D_206D_202A_202B_202A_202E_202A_206E_202A_206D_200F_206F_206D_206F_202A_200B_206A_206E_206A_200E_206B_200E_206F_202B_202E(); - issues = _questValidator.Issues; - num7 = 0; - num = 567364103; - break; - case 1: - return; - case 3: - { - DrawValidationRow(issues[num7], num7); - int num8 = num7; - num3 = 1; - num4 = num8; - int num9 = num4 ^ num3; - int num10 = num4 & num3; - num7 = num9 + (num10 + num10); - num = 567364103; - break; - } - case 2: - return; + DrawValidationRow(issues[i], i); } } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawValidationRow(ValidationIssue issue, int index) { - //Discarded unreachable code: IL_021d - _202E_200C_200C_206D_202E_200E_200B_200D_206C_202D_200C_200E_200D_206D_200B_206B_206C_200C_200C_202A_200B_200D_206D_206C_206E_200B_200C_202E_206A_202D_202D_206C_202B_206A_202D_206C_200E_200E_202B_206D_202E(); - int num = ((!_206F_200E_200B_200E_206F_206C_200D_202D_206C_202E_200D_202A_200C_202E_200B_206B_202B_202C_200B_206F_206B_200C_206F_202B_206D_200D_206A_200F_200C_206A_202B_206E_206B_200E_206A_202A_206D_206E_206A_202E_202E()) ? (-578343204) : (-578343209)); - string text = default(string); - ElementId elementId = default(ElementId); - string text2 = default(string); - while (true) + ImGui.TableNextRow(); + if (ImGui.TableNextColumn()) { - int num2 = num; - int num3 = -578343207; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - ImRaii.ColorDisposable colorDisposable; - switch (num5 - (num6 + num6)) + ImGui.TextUnformatted(issue.PathType switch { - default: - continue; - case 11: - _200B_202C_200E_206A_206C_206A_206B_206B_200C_200C_202C_202C_200C_202C_200D_202C_206C_202E_202D_206F_206E_200E_200C_200F_206A_206B_202E_206D_200F_200C_200E_200C_206D_206E_200B_206B_200B_206F_200D_206B_202E((ImU8String)(issue.Id ?? string.Empty)); - num = -578343215; - continue; - case 1: - num = -578343201; - continue; - case 4: - text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-649277638); - num = -578343206; - continue; - case 0: - num = -578343209; - continue; - case 13: - if (_202A_206C_206F_200C_200B_206A_206E_200D_200C_202C_202D_200D_200C_200D_200E_206E_206B_202C_206A_206B_202A_206C_202C_202D_202A_202D_206E_200E_206E_202B_200D_206F_206D_200D_202B_206C_206A_206E_202E(elementId, (ElementId)null)) - { - goto IL_00ed; - } - goto IL_0242; - case 12: - goto IL_00ed; - case 2: - if (issue.Id != null) - { - num = -578343213; - continue; - } - goto IL_024e; - case 15: - goto IL_011b; - case 10: - if (_200E_200D_202C_202D_200B_200F_206F_202E_200F_202D_206C_206A_202B_206C_202D_202D_202B_200B_202B_200B_200D_202B_200D_206F_202B_206E_202B_200F_200B_202C_200E_202C_200D_202D_206D_200D_202B_206C_206B_202E(issue.Id, ref elementId)) - { - num = -578343212; - continue; - } - goto IL_0242; - case 6: - text = issue.PathType.ToString(); - num = -578343206; - continue; - case 3: - _200B_202C_200E_206A_206C_206A_206B_206B_200C_200C_202C_202C_200C_202C_200D_202C_206C_202E_202D_206F_206E_200E_200C_200F_206A_206B_202E_206D_200F_200C_200E_200C_206D_206E_200B_206B_200B_206F_200D_206B_202E((ImU8String)text); - num = -578343204; - continue; - case 5: - num = ((!_206F_200E_200B_200E_206F_206C_200D_202D_206C_202E_200D_202A_200C_202E_200B_206B_202B_202C_200B_206F_206B_200C_206F_202B_206D_200D_206A_200F_200C_206A_202B_206E_206B_200E_206A_202A_206D_206E_206A_202E_202E()) ? (-578343215) : (-578343214)); - continue; - case 9: - text2 = string.Empty; - if (issue.PathType == EPathType.Quest) - { - num = -578343205; - continue; - } - goto IL_024e; - case 8: - if (_206F_200E_200B_200E_206F_206C_200D_202D_206C_202E_200D_202A_200C_202E_200B_206B_202B_202C_200B_206F_206B_200C_206F_202B_206D_200D_206A_200F_200C_206A_202B_206E_206B_200E_206A_202A_206D_206E_206A_202E_202E()) - { - num = -578343216; - continue; - } - goto IL_02e1; - case 7: - goto IL_01dd; - case 14: - { - switch (issue.PathType) - { - case EPathType.Fate: - break; - case EPathType.SeasonalDuty: - goto IL_00ed; - case EPathType.Gathering: - goto IL_011b; - case EPathType.Quest: - goto IL_01dd; - default: - goto IL_0211; - } - goto case 4; - } - IL_0211: - num = -578343208; - continue; - IL_01dd: - text = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-410528250); - num = -578343206; - continue; - IL_026c: - while (true) - { - int num7 = num; - num3 = -830017682; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 0: - num = -830017681; - break; - case 3: - goto IL_02ae; - case 1: - goto end_IL_026c; - case 4: - goto IL_02f7; - case 2: - goto IL_0318; - } - continue; - IL_02ae: - num = (_200E_202C_206A_206C_206F_202B_206A_200D_200F_206C_206A_200C_200D_202D_202D_206E_206A_206C_202C_206B_206E_206C_206E_200C_202E_200E_200C_200F_206E_206A_206A_202E_206B_202B_206C_206F_202C_200F_200F_200C_202E(issue.Location) ? (-830017684) : (-830017686)); - continue; - end_IL_026c: - break; - } - goto IL_02d6; - IL_0318: - colorDisposable = _206C_200D_202C_206C_206A_202D_200C_202E_200E_206C_202D_200B_200D_200D_206C_200D_200B_202A_200F_206C_202D_206D_206B_206E_200D_202E_202D_200F_200D_202A_206E_206E_200F_202D_202D_206B_202D_206D_202D_202C_202E(ImGuiCol.Text, _202D_206E_200B_200F_200B_200D_202D_206D_202E_206C_202B_206B_202D_202B_202B_202C_200C_206F_206E_202C_206D_200F_202E_206F_206D_206A_206B_200C_200F_206F_200E_206E_202E_202C_202B_206B_206F_200D_206D_200C_202E(), true); - try - { - _200B_202C_200E_206A_206C_206A_206B_206B_200C_200C_202C_202C_200C_202C_200D_202C_206C_202E_202D_206F_206E_200E_200C_200F_206A_206B_202E_206D_200F_200C_200E_200C_206D_206E_200B_206B_200B_206F_200D_206B_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(792471175)); - } - finally - { - num = ((colorDisposable == null) ? (-706347734) : (-706347735)); - while (true) - { - int num10 = num; - num3 = -706347736; - num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - case 0: - num = -706347735; - break; - case 2: - goto end_IL_035e; - case 1: - _200E_200F_206B_202D_200D_200C_200E_206D_200E_200B_206B_206D_206D_200F_206D_202A_206E_206F_200C_206F_200F_200F_202E_200D_206B_202D_206C_206A_206B_206B_202E_206F_202C_206C_202B_206A_202D_200B_200D_202D_202E((IDisposable)colorDisposable); - num = -706347734; - break; - } - continue; - end_IL_035e: - break; - } - } - break; - IL_02f7: - _200B_202C_200E_206A_206C_206A_206B_206B_200C_200C_202C_202C_200C_202C_200D_202C_206C_202E_202D_206F_206E_200E_200C_200F_206A_206B_202E_206D_200F_200C_200E_200C_206D_206E_200B_206B_200B_206F_200D_206B_202E((ImU8String)issue.Location); - break; - IL_011b: - text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2056899084); - num = -578343206; - continue; - IL_024e: - if (issue.Id != null) - { - text2 = issue.Id; - num = -830017681; - goto IL_026c; - } - goto IL_02d6; - IL_00ed: - text = 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(-101385123); - num = -578343206; - continue; - IL_0242: - text2 = issue.Id; - goto IL_02d6; - IL_02d6: - UiThemeUtils.RowLabel(text2, 0f); - goto IL_02e1; - IL_02e1: - if (!_206F_200E_200B_200E_206F_206C_200D_202D_206C_202E_200D_202A_200C_202E_200B_206B_202B_202C_200B_206F_206B_200C_206F_202B_206D_200D_206A_200F_200C_206A_202B_206E_206B_200E_206A_202A_206D_206E_206A_202E_202E()) - { - break; - } - num = -830017683; - goto IL_026c; - } - break; + EPathType.Quest => "Quest", + EPathType.Fate => "Fate", + EPathType.Gathering => "Gather", + EPathType.SeasonalDuty => "Duty", + _ => issue.PathType.ToString(), + }); } - num = ((!_206F_200E_200B_200E_206F_206C_200D_202D_206C_202E_200D_202A_200C_202E_200B_206B_202B_202C_200B_206F_206B_200C_206F_202B_206D_200D_206A_200F_200C_206A_202B_206E_206B_200E_206A_202A_206D_206E_206A_202E_202E()) ? (-931644371) : (-931644370)); - while (true) + if (ImGui.TableNextColumn()) { - int num13 = num; - int num3 = -931644369; - int num4 = num13; - int num14 = num4 + num3; - int num15 = num4 & num3; - switch (num14 - (num15 + num15)) + ImGui.TextUnformatted(issue.Id ?? string.Empty); + } + if (ImGui.TableNextColumn()) + { + string text = string.Empty; + if (issue.PathType == EPathType.Quest && issue.Id != null) { - case 2: - return; - case 1: - DrawIssueCell(issue, index); - num = -931644371; - break; - case 0: - num = -931644370; - break; + if (ElementId.TryFromString(issue.Id, out ElementId elementId) && elementId != null) + { + try + { + text = _questData.GetQuestInfo(elementId).Name; + } + catch + { + text = issue.Id; + } + } + else + { + text = issue.Id; + } } + else if (issue.Id != null) + { + text = issue.Id; + } + UiThemeUtils.RowLabel(text, 0f); + } + if (ImGui.TableNextColumn()) + { + if (!string.IsNullOrEmpty(issue.Location)) + { + ImGui.TextUnformatted(issue.Location); + } + else + { + using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudGrey2)) + { + ImGui.TextUnformatted("-"); + } + } + } + if (ImGui.TableNextColumn()) + { + DrawIssueCell(issue, index); } } private void DrawIssueCell(ValidationIssue issue, int index) { - EIssueSeverity severity = issue.Severity; - int num = ((severity == EIssueSeverity.Warning) ? 617101105 : 617101108); - Vector4 vector = default(Vector4); - Vector4 vector2 = default(Vector4); - FontAwesomeIcon fontAwesomeIcon2 = default(FontAwesomeIcon); - while (true) + Vector4 color = issue.Severity switch { - int num2 = num; - int num3 = 617101105; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + EIssueSeverity.Error => ImGuiColors.DalamudRed, + EIssueSeverity.Warning => ImGuiColors.DalamudYellow, + _ => ImGuiColors.DalamudOrange, + }; + FontAwesomeIcon icon = issue.Severity switch + { + EIssueSeverity.Error => FontAwesomeIcon.ExclamationTriangle, + EIssueSeverity.Warning => FontAwesomeIcon.ExclamationCircle, + _ => FontAwesomeIcon.InfoCircle, + }; + using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push()) + { + using (ImRaii.PushColor(ImGuiCol.Text, color)) { - case 1: - vector = vector2; - severity = issue.Severity; - num = ((severity == EIssueSeverity.Warning) ? 617101111 : 617101107); - break; - case 8: - vector2 = _200D_206D_200E_202A_202E_200E_200E_206E_202C_206B_200B_206A_206A_200C_200F_206B_206F_206D_200C_200C_200F_202A_200E_206F_200C_200C_202E_200F_206A_200E_200F_206B_206D_206B_206A_200F_206A_206D_202B_202E_202E(); - num = 617101104; - break; - case 5: - num = ((severity != EIssueSeverity.Error) ? 617101109 : 617101113); - break; - case 3: - fontAwesomeIcon2 = FontAwesomeIcon.InfoCircle; - num = 617101115; - break; - case 0: - vector2 = _202E_200D_200D_200E_202B_202D_200F_206D_206A_206E_202A_206F_202A_206C_200F_200E_200C_200F_200F_206C_202A_200F_206C_206D_200C_200C_202C_206E_200E_206B_200B_200D_206C_200E_206C_206F_206D_200D_206E_202C_202E(); - num = 617101104; - break; - case 4: - vector2 = _206F_200F_200F_206F_206E_206E_206D_206A_200C_206A_206B_206D_202D_200D_200B_200E_206F_200F_206A_206D_206F_206C_202C_206C_200F_202B_202A_206E_206B_206B_200B_206D_206F_206C_202C_200C_202C_202C_202A_206F_202E(); - num = 617101104; - break; - case 7: - fontAwesomeIcon2 = FontAwesomeIcon.ExclamationTriangle; - num = 617101115; - break; - case 6: - fontAwesomeIcon2 = FontAwesomeIcon.ExclamationCircle; - num = 617101115; - break; - case 2: - num = ((severity != EIssueSeverity.Error) ? 617101106 : 617101110); - break; - case 9: - num = 617101108; - break; - case 10: - { - FontAwesomeIcon fontAwesomeIcon = fontAwesomeIcon2; - IDisposable disposable = _206C_202D_206B_200F_202C_202C_200D_206E_202A_202E_202C_200C_202B_200C_202E_206C_200F_200D_206B_200B_206D_206E_200B_200C_206D_206A_202A_200D_200E_206F_206E_202B_206F_206C_206A_206A_202A_202D_202B_202E_202E(_200B_202E_206E_206B_200D_200B_200D_200F_206C_206B_202C_206A_202B_206F_206C_202D_206B_206A_200D_200E_200D_202B_200B_202A_200C_200D_200C_206C_200B_200B_200D_206D_200F_200D_206E_206F_202C_206E_206D_202D_202E(_200B_200E_206A_202C_200D_200F_202E_202D_202C_202D_200E_200B_200F_206F_206E_200F_202D_200C_202D_202A_206E_206C_206A_206A_206C_206B_206D_202C_202D_202A_202D_200B_202C_200D_206D_200C_206B_206E_202C_206C_202E(_pluginInterface))); - try - { - ImRaii.ColorDisposable colorDisposable = _206C_200D_202C_206C_206A_202D_200C_202E_200E_206C_202D_200B_200D_200D_206C_200D_200B_202A_200F_206C_202D_206D_206B_206E_200D_202E_202D_200F_200D_202A_206E_206E_200F_202D_202D_206B_202D_206D_202D_202C_202E(ImGuiCol.Text, vector, true); - try - { - _200B_202C_200E_206A_206C_206A_206B_206B_200C_200C_202C_202C_200C_202C_200D_202C_206C_202E_202D_206F_206E_200E_200C_200F_206A_206B_202E_206D_200F_200C_200E_200C_206D_206E_200B_206B_200B_206F_200D_206B_202E((ImU8String)_202C_202A_202A_206A_202B_206B_202E_206F_202C_202D_206A_200D_206E_206E_202B_202A_200B_206D_206A_206A_206B_202C_206F_206D_202A_206B_200E_206F_200F_206C_200B_200B_202D_200B_202A_202B_200C_202E_206B_202B_202E(fontAwesomeIcon)); - } - finally - { - num = ((colorDisposable == null) ? 1791003591 : 1791003588); - while (true) - { - int num7 = num; - num3 = 1791003590; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 0: - num = 1791003588; - break; - case 1: - goto end_IL_01b3; - case 2: - _200E_200F_206B_202D_200D_200C_200E_206D_200E_200B_206B_206D_206D_200F_206D_202A_206E_206F_200C_206F_200F_200F_202E_200D_206B_202D_206C_206A_206B_206B_202E_206F_202C_206C_202B_206A_202D_200B_200D_202D_202E((IDisposable)colorDisposable); - num = 1791003591; - break; - } - continue; - end_IL_01b3: - break; - } - } - } - finally - { - num = ((disposable == null) ? 109458007 : 109458006); - while (true) - { - int num10 = num; - num3 = 109458007; - num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 109458006; - break; - case 0: - goto end_IL_0220; - case 1: - _200E_200F_206B_202D_200D_200C_200E_206D_200E_200B_206B_206D_206D_200F_206D_202A_206E_206F_200C_206F_200F_200F_202E_200D_206B_202D_206C_206A_206B_206B_202E_206F_202C_206C_202B_206A_202D_200B_200D_202D_202E(disposable); - num = 109458007; - break; - } - continue; - end_IL_0220: - break; - } - } - _200C_206C_202D_206D_202C_202A_206D_200E_200B_200B_206F_206F_206F_202B_200D_200D_200B_206F_206D_200B_202B_206D_206A_206E_200B_206B_206F_206D_200B_206A_206E_206E_200E_202B_200E_202C_202A_200D_202B_206D_202E(); - string issueSummary = GetIssueSummary(issue); - ImRaii.ColorDisposable colorDisposable2 = _206C_200D_202C_206C_206A_202D_200C_202E_200E_206C_202D_200B_200D_200D_206C_200D_200B_202A_200F_206C_202D_206D_206B_206E_200D_202E_202D_200F_200D_202A_206E_206E_200F_202D_202D_206B_202D_206D_202D_202C_202E(ImGuiCol.Text, vector, true); - try - { - _206B_202B_200C_202A_206D_202C_202E_202D_206D_200C_206D_206B_202E_200D_200E_200B_202E_202C_200C_202B_202C_206A_206E_202C_200D_200E_200B_206F_200D_206A_200F_206C_206E_200F_206F_200E_206D_200D_200F_206C_202E((ImU8String)issueSummary); - return; - } - finally - { - num = ((colorDisposable2 == null) ? 1692882972 : 1692882975); - while (true) - { - int num11 = num; - num3 = 1692882973; - num4 = num11; - int num12 = num4 + num3; - int num13 = num4 & num3; - switch (num12 - (num13 + num13)) - { - case 0: - num = 1692882975; - break; - case 2: - _200E_200F_206B_202D_200D_200C_200E_206D_200E_200B_206B_206D_206D_200F_206D_202A_206E_206F_200C_206F_200F_200F_202E_200D_206B_202D_206C_206A_206B_206B_202E_206F_202C_206C_202B_206A_202D_200B_200D_202D_202E((IDisposable)colorDisposable2); - num = 1692882972; - break; - case 1: - goto end_IL_02b1; - } - continue; - end_IL_02b1: - break; - } - } - } + ImGui.TextUnformatted(icon.ToIconString()); } } + ImGui.SameLine(); + string issueSummary = GetIssueSummary(issue); + using (ImRaii.PushColor(ImGuiCol.Text, color)) + { + ImGui.TextWrapped(issueSummary); + } } - [MethodImpl(MethodImplOptions.NoInlining)] private static string GetIssueSummary(ValidationIssue issue) { string text = issue.Description ?? string.Empty; - int num = ((issue.Type != EIssueType.QuestDisabled) ? (-1073159502) : (-1073159503)); - string[] array2 = default(string[]); - string[] array = default(string[]); - while (true) + if (issue.Type == EIssueType.QuestDisabled && issue.Id == null) { - int num2 = num; - int num3 = -1073159499; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + string[] array = text.Split(':', 2); + if (array.Length == 0) { - case 3: - array2 = _206B_200D_200F_206D_202A_202A_202D_202C_202C_200E_206E_200E_202E_202B_206F_200C_200D_200F_202A_206C_202B_200F_202D_206E_200B_206C_206A_200D_206E_202B_206D_200C_206A_202B_202C_206B_202B_202A_206A_202E_202E(text, ':', 2, StringSplitOptions.None); - num = ((array2.Length != 0) ? (-1073159497) : (-1073159500)); - break; - case 0: - num = ((array.Length > 1) ? (-1073159504) : (-1073159491)); - break; - case 2: - return array2[0]; - case 8: - return array[0]; - case 1: - return text; - case 5: - return _202B_202B_200F_200B_206F_200B_200E_202D_202A_206A_202B_200B_202B_206B_206F_202C_200F_200D_206D_200D_200D_202E_200F_206C_202D_206F_200C_200C_200F_202A_200F_200F_202D_200E_206F_200E_206E_206D_200D_200D_202E(array[0], global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(799152405)); - case 7: - array = _206B_200D_200F_206D_202A_202A_202D_202C_202C_200E_206E_200E_202E_202B_206F_200C_200D_200F_202A_206C_202B_200F_202D_206E_200B_206C_206A_200D_206E_202B_206D_200C_206A_202B_202C_206B_202B_202A_206A_202E_202E(text, '\n', 2, StringSplitOptions.RemoveEmptyEntries); - num = ((array.Length != 0) ? (-1073159499) : (-1073159501)); - break; - case 4: - num = ((issue.Id != null) ? (-1073159502) : (-1073159498)); - break; - case 9: - num = -1073159503; - break; - case 6: return text; } + return array[0]; } + string[] array2 = text.Split('\n', 2, StringSplitOptions.RemoveEmptyEntries); + if (array2.Length == 0) + { + return text; + } + if (array2.Length <= 1) + { + return array2[0]; + } + return array2[0] + "..."; } private static bool HasDetailedDescription(ValidationIssue issue) { - int num = ((issue.Type != EIssueType.QuestDisabled) ? (-1196136618) : (-1196136624)); - string text = default(string); - while (true) + if (issue.Type == EIssueType.QuestDisabled && issue.Id == null) { - int num2 = num; - int num3 = -1196136621; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return true; - case 4: - return _200D_206C_200C_206C_206A_206F_202C_206D_206F_206D_206D_200B_200D_202C_206B_206F_202B_206A_206E_206D_206F_206B_202A_202A_202B_200C_202E_202D_202C_206C_206E_206A_202E_206B_206C_200B_202A_206B_206D_206A_202E(text) > 100; - case 2: - return true; - case 0: - num = -1196136624; - break; - case 3: - num = ((issue.Id != null) ? (-1196136618) : (-1196136622)); - break; - case 5: - text = issue.Description ?? string.Empty; - num = (_202B_202E_202B_206D_202E_206F_206C_202E_202E_202E_202C_202E_200D_202B_206D_206E_202E_202E_200B_200C_200F_200E_202D_206E_206F_202D_200C_206F_200E_202D_202E_200E_200B_202C_202C_206F_202E_202A_202E(text, '\n', StringComparison.Ordinal) ? (-1196136623) : (-1196136617)); - break; - } + return true; } - } - - static void _206A_206B_206F_206C_202A_206B_200C_200B_206D_200D_206D_202D_206D_200C_202B_202D_206A_202B_202E_206E_206B_200B_200E_202A_202E_206B_206D_202E_202D_202C_200D_202E_206F_206D_202B_200E_206D_200B_202B_200C_202E(ImU8String P_0) - { - ImGui.Text(P_0); - } - - static void _200C_206C_202D_206D_202C_202A_206D_200E_200B_200B_206F_206F_206F_202B_200D_200D_200B_206F_206D_200B_202B_206D_206A_206E_200B_206B_206F_206D_200B_206A_206E_206E_200E_202B_200E_202C_202A_200D_202B_206D_202E() - { - ImGui.SameLine(); - } - - static Vector4 _200D_206D_200E_202A_202E_200E_200E_206E_202C_206B_200B_206A_206A_200C_200F_206B_206F_206D_200C_200C_200F_202A_200E_206F_200C_200C_202E_200F_206A_200E_200F_206B_206D_206B_206A_200F_206A_206D_202B_202E_202E() - { - return ImGuiColors.DalamudRed; - } - - static ImRaii.ColorDisposable _206C_200D_202C_206C_206A_202D_200C_202E_200E_206C_202D_200B_200D_200D_206C_200D_200B_202A_200F_206C_202D_206D_206B_206E_200D_202E_202D_200F_200D_202A_206E_206E_200F_202D_202D_206B_202D_206D_202D_202C_202E(ImGuiCol P_0, Vector4 P_1, bool P_2) - { - return ImRaii.PushColor(P_0, P_1, P_2); - } - - static void _200E_200F_206B_202D_200D_200C_200E_206D_200E_200B_206B_206D_206D_200F_206D_202A_206E_206F_200C_206F_200F_200F_202E_200D_206B_202D_206C_206A_206B_206B_202E_206F_202C_206C_202B_206A_202D_200B_200D_202D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static Vector4 _206F_200F_200F_206F_206E_206E_206D_206A_200C_206A_206B_206D_202D_200D_200B_200E_206F_200F_206A_206D_206F_206C_202C_206C_200F_202B_202A_206E_206B_206B_200B_206D_206F_206C_202C_200C_202C_202C_202A_206F_202E() - { - return ImGuiColors.DalamudOrange; - } - - static void _206B_202B_206B_206D_206F_206F_206A_200F_206F_206E_206C_206E_206A_200E_206A_200C_206B_206F_206D_200F_206A_206D_200D_202C_206C_202B_202E_202E_206B_200F_200F_200C_206A_202B_202C_206D_206A_200D_206C_202E_202E(ImU8String P_0, ImGuiTableColumnFlags P_1, float P_2, uint P_3) - { - ImGui.TableSetupColumn(P_0, P_1, P_2, P_3); - } - - static void _202D_206B_202E_202A_206F_202A_206E_200E_200C_200B_206B_206C_202C_202C_206F_206F_202D_206D_202A_202B_202A_202E_202A_206E_202A_206D_200F_206F_206D_206F_202A_200B_206A_206E_206A_200E_206B_200E_206F_202B_202E() - { - ImGui.TableHeadersRow(); - } - - static void _202E_200C_200C_206D_202E_200E_200B_200D_206C_202D_200C_200E_200D_206D_200B_206B_206C_200C_200C_202A_200B_200D_206D_206C_206E_200B_200C_202E_206A_202D_202D_206C_202B_206A_202D_206C_200E_200E_202B_206D_202E() - { - ImGui.TableNextRow(); - } - - static bool _206F_200E_200B_200E_206F_206C_200D_202D_206C_202E_200D_202A_200C_202E_200B_206B_202B_202C_200B_206F_206B_200C_206F_202B_206D_200D_206A_200F_200C_206A_202B_206E_206B_200E_206A_202A_206D_206E_206A_202E_202E() - { - return ImGui.TableNextColumn(); - } - - static void _200B_202C_200E_206A_206C_206A_206B_206B_200C_200C_202C_202C_200C_202C_200D_202C_206C_202E_202D_206F_206E_200E_200C_200F_206A_206B_202E_206D_200F_200C_200E_200C_206D_206E_200B_206B_200B_206F_200D_206B_202E(ImU8String P_0) - { - ImGui.TextUnformatted(P_0); - } - - static bool _200E_200D_202C_202D_200B_200F_206F_202E_200F_202D_206C_206A_202B_206C_202D_202D_202B_200B_202B_200B_200D_202B_200D_206F_202B_206E_202B_200F_200B_202C_200E_202C_200D_202D_206D_200D_202B_206C_206B_202E(string P_0, ref ElementId P_1) - { - return ElementId.TryFromString(P_0, out P_1); - } - - static bool _202A_206C_206F_200C_200B_206A_206E_200D_200C_202C_202D_200D_200C_200D_200E_206E_206B_202C_206A_206B_202A_206C_202C_202D_202A_202D_206E_200E_206E_202B_200D_206F_206D_200D_202B_206C_206A_206E_202E(ElementId P_0, ElementId P_1) - { - return P_0 != P_1; - } - - static bool _200E_202C_206A_206C_206F_202B_206A_200D_200F_206C_206A_200C_200D_202D_202D_206E_206A_206C_202C_206B_206E_206C_206E_200C_202E_200E_200C_200F_206E_206A_206A_202E_206B_202B_206C_206F_202C_200F_200F_200C_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static Vector4 _202D_206E_200B_200F_200B_200D_202D_206D_202E_206C_202B_206B_202D_202B_202B_202C_200C_206F_206E_202C_206D_200F_202E_206F_206D_206A_206B_200C_200F_206F_200E_206E_202E_202C_202B_206B_206F_200D_206D_200C_202E() - { - return ImGuiColors.DalamudGrey2; - } - - static Vector4 _202E_200D_200D_200E_202B_202D_200F_206D_206A_206E_202A_206F_202A_206C_200F_200E_200C_200F_200F_206C_202A_200F_206C_206D_200C_200C_202C_206E_200E_206B_200B_200D_206C_200E_206C_206F_206D_200D_206E_202C_202E() - { - return ImGuiColors.DalamudYellow; - } - - static IUiBuilder _200B_200E_206A_202C_200D_200F_202E_202D_202C_202D_200E_200B_200F_206F_206E_200F_202D_200C_202D_202A_206E_206C_206A_206A_206C_206B_206D_202C_202D_202A_202D_200B_202C_200D_206D_200C_206B_206E_202C_206C_202E(IDalamudPluginInterface P_0) - { - return P_0.UiBuilder; - } - - static IFontHandle _200B_202E_206E_206B_200D_200B_200D_200F_206C_206B_202C_206A_202B_206F_206C_202D_206B_206A_200D_200E_200D_202B_200B_202A_200C_200D_200C_206C_200B_200B_200D_206D_200F_200D_206E_206F_202C_206E_206D_202D_202E(IUiBuilder P_0) - { - return P_0.IconFontFixedWidthHandle; - } - - static IDisposable _206C_202D_206B_200F_202C_202C_200D_206E_202A_202E_202C_200C_202B_200C_202E_206C_200F_200D_206B_200B_206D_206E_200B_200C_206D_206A_202A_200D_200E_206F_206E_202B_206F_206C_206A_206A_202A_202D_202B_202E_202E(IFontHandle P_0) - { - return P_0.Push(); - } - - static string _202C_202A_202A_206A_202B_206B_202E_206F_202C_202D_206A_200D_206E_206E_202B_202A_200B_206D_206A_206A_206B_202C_206F_206D_202A_206B_200E_206F_200F_206C_200B_200B_202D_200B_202A_202B_200C_202E_206B_202B_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static void _206B_202B_200C_202A_206D_202C_202E_202D_206D_200C_206D_206B_202E_200D_200E_200B_202E_202C_200C_202B_202C_206A_206E_202C_200D_200E_200B_206F_200D_206A_200F_206C_206E_200F_206F_200E_206D_200D_200F_206C_202E(ImU8String P_0) - { - ImGui.TextWrapped(P_0); - } - - static string[] _206B_200D_200F_206D_202A_202A_202D_202C_202C_200E_206E_200E_202E_202B_206F_200C_200D_200F_202A_206C_202B_200F_202D_206E_200B_206C_206A_200D_206E_202B_206D_200C_206A_202B_202C_206B_202B_202A_206A_202E_202E(string P_0, char P_1, int P_2, StringSplitOptions P_3) - { - return P_0.Split(P_1, P_2, P_3); - } - - static string _202B_202B_200F_200B_206F_200B_200E_202D_202A_206A_202B_200B_202B_206B_206F_202C_200F_200D_206D_200D_200D_202E_200F_206C_202D_206F_200C_200C_200F_202A_200F_200F_202D_200E_206F_200E_206E_206D_200D_200D_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static bool _202B_202E_202B_206D_202E_206F_206C_202E_202E_202E_202C_202E_200D_202B_206D_206E_202E_202E_200B_200C_200F_200E_202D_206E_206F_202D_200C_206F_200E_202D_202E_200E_200B_202C_202C_206F_202E_202A_202E(string P_0, char P_1, StringComparison P_2) - { - return P_0.Contains(P_1, P_2); - } - - static int _200D_206C_200C_206C_206A_206F_202C_206D_206F_206D_206D_200B_200D_202C_206B_206F_202B_206A_206E_206D_206F_206B_202A_202A_202B_200C_202E_202D_202C_206C_206E_206A_202E_206B_206C_200B_202A_206B_206D_206A_202E(string P_0) - { - return P_0.Length; + string text = issue.Description ?? string.Empty; + if (!text.Contains('\n', StringComparison.Ordinal)) + { + return text.Length > 100; + } + return true; } } diff --git a/Questionable/Questionable.Windows.QuestComponents/QuickAccessButtonsComponent.cs b/Questionable/Questionable.Windows.QuestComponents/QuickAccessButtonsComponent.cs index 58eab57..9674289 100644 --- a/Questionable/Questionable.Windows.QuestComponents/QuickAccessButtonsComponent.cs +++ b/Questionable/Questionable.Windows.QuestComponents/QuickAccessButtonsComponent.cs @@ -1,19 +1,13 @@ using System; -using System.Collections.ObjectModel; using System.Globalization; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Threading; using Dalamud.Bindings.ImGui; -using Dalamud.Game.Command; using Dalamud.Interface; using Dalamud.Interface.Colors; -using Dalamud.Interface.ManagedFontAtlas; using Dalamud.Interface.Utility; using Dalamud.Interface.Utility.Raii; using Dalamud.Plugin; using Dalamud.Plugin.Services; -using LLib.ImGui; using Questionable.Controller; using Questionable.External; using Questionable.Validation; @@ -38,70 +32,9 @@ internal sealed class QuickAccessButtonsComponent private readonly NavmeshIpc _navmeshIpc; - [CompilerGenerated] - private EventHandler? m_Reload; - public bool IsReloading { get; set; } - public event EventHandler? Reload - { - [CompilerGenerated] - add - { - EventHandler eventHandler = this.m_Reload; - int num = -179073596; - while (true) - { - int num2 = num; - int num3 = -179073595; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -179073596; - break; - case 1: - { - EventHandler eventHandler2 = eventHandler; - EventHandler value2 = (EventHandler)_206D_206D_200F_200B_202C_202C_202C_206B_206E_202D_206A_202A_200E_206B_206B_206F_206A_206E_206E_206B_202D_206A_206D_206D_202C_202E_202C_200F_206A_206D_206D_206F_202B_200F_206B_202C_206C_202E_206C_200F_202E((Delegate)eventHandler2, (Delegate)value); - eventHandler = Interlocked.CompareExchange(ref this.m_Reload, value2, eventHandler2); - num = (((object)eventHandler != eventHandler2) ? (-179073596) : (-179073593)); - break; - } - case 2: - return; - } - } - } - [CompilerGenerated] - remove - { - EventHandler eventHandler = this.m_Reload; - int num = 1171519483; - while (true) - { - int num2 = num; - int num3 = 1171519482; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1171519483; - break; - case 2: - return; - case 1: - { - EventHandler eventHandler2 = eventHandler; - EventHandler value2 = (EventHandler)_206E_206E_202E_206F_206F_202A_202D_206C_200B_202A_200F_200E_200F_206C_202A_202E_202C_200B_206A_202E_202A_206F_206D_200F_202B_206E_206C_206F_202E_206D_202E_200B_206F_202D_200F_202C_206D_206D_206B_206C_202E((Delegate)eventHandler2, (Delegate)value); - eventHandler = Interlocked.CompareExchange(ref this.m_Reload, value2, eventHandler2); - num = (((object)eventHandler != eventHandler2) ? 1171519483 : 1171519480); - break; - } - } - } - } - } + public event EventHandler? Reload; public QuickAccessButtonsComponent(QuestRegistry questRegistry, QuestValidator questValidator, QuestValidationWindow questValidationWindow, ICommandManager commandManager, IDalamudPluginInterface pluginInterface, Configuration configuration, WigglyNavAvailability wigglyNavAvailability, NavmeshIpc navmeshIpc) { @@ -115,295 +48,84 @@ internal sealed class QuickAccessButtonsComponent _navmeshIpc = navmeshIpc; } - [MethodImpl(MethodImplOptions.NoInlining)] public void Draw() { - float x = _200B_202B_200C_200E_202D_202C_200E_200F_206D_206D_200F_202E_206C_200F_200B_200D_200F_200B_200B_200D_202A_206B_200D_202E_202A_202C_200E_206A_200F_200D_202B_206E_200E_206F_202C_206B_200C_202E_202E_206C_202E().X; - float x2 = _202B_200E_206D_202E_206D_206B_206E_202D_200D_200B_200E_200E_206E_200D_206C_202D_206E_200C_202D_202E_206E_206A_206C_200C_200C_200E_200C_202C_202B_202B_200E_206F_206C_200D_202D_200E_202E_200B_202E_202B_202E().ItemSpacing.X; + float x = ImGui.GetContentRegionAvail().X; + float x2 = ImGui.GetStyle().ItemSpacing.X; float width = (x - x2) / 2f; - ImRaii.DisabledDisposable disabledDisposable = _206E_200F_202B_206B_202C_206A_202C_206A_206E_200D_206B_202C_206F_202E_206A_206C_206D_200E_202D_200C_202A_206C_206C_206E_202E_202D_200C_202B_206B_200B_200B_202E_200F_200C_206F_206F_206C_206B_206C_202E(IsReloading); - int num; - try + using (ImRaii.Disabled(IsReloading)) { - num = (IsReloading ? 263407056 : 263407060); - while (true) + string text = (IsReloading ? "Reloading..." : "Reload Data"); + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.RedoAlt, text, width)) { - int num2 = num; - int num3 = 263407056; - int num4 = num2; - string text; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 2: - num = 263407060; - continue; - case 4: - text = 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(900520513); - break; - case 3: - { - EventHandler? eventHandler = this.Reload; - if (eventHandler == null) - { - goto end_IL_0057; - } - eventHandler(this, EventArgs.Empty); - num = 263407057; - continue; - } - case 0: - text = 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(1097231565); - break; - case 1: - goto end_IL_0057; - } - string text2 = text; - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.RedoAlt, text2, width)) ? 263407057 : 263407059); - continue; - end_IL_0057: - break; + this.Reload?.Invoke(this, EventArgs.Empty); } } - finally - { - num = ((disabledDisposable == null) ? 336483817 : 336483816); - while (true) - { - int num5 = num; - int num3 = 336483817; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 2: - num = 336483816; - break; - case 0: - goto end_IL_0135; - case 1: - _206C_206F_206C_206E_202C_200E_202A_206B_206A_202E_206D_200E_200C_202A_200B_206B_200E_206A_206F_200E_202B_206E_200E_206A_206B_200B_206A_206D_202A_200F_206D_200F_206C_206D_206D_200E_206B_206F_200D_202A_202E((IDisposable)disabledDisposable); - num = 336483817; - break; - } - continue; - end_IL_0135: - break; - } - } - _206F_200C_202C_200F_200E_202D_202C_206C_200E_206A_200C_202D_206A_206F_206E_206E_202B_200F_200C_200D_202C_206E_202B_202B_200C_202D_200F_202C_200C_202B_202C_202E_202B_206B_202B_206F_200F_206F_206A_202A_202E(); + ImGui.SameLine(); Configuration.ENavigationProvider navigationProvider = _configuration.General.NavigationProvider; - num = ((navigationProvider != Configuration.ENavigationProvider.WigglyNav) ? 1435941283 : 1435941295); - bool flag = default(bool); - bool flag2 = default(bool); - int buildProgress = default(int); - string text3 = default(string); - int num9; - bool flag3 = default(bool); - bool flag4 = default(bool); - while (true) + bool flag = navigationProvider == Configuration.ENavigationProvider.WigglyNav && _wigglyNavAvailability.IsCompatible; + bool flag2 = navigationProvider == Configuration.ENavigationProvider.WigglyNavShim; + bool flag3 = flag || flag2; + bool flag4 = flag || (flag2 ? _navmeshIpc.IsNavmeshAvailable : _commandManager.Commands.ContainsKey("/vnav")); + string text2 = "Rebuild Navmesh"; + if (flag4 && !_navmeshIpc.IsReady) { - int num8 = num; - int num3 = 1435941285; - int num4 = num8; - int num11; - int num10; - bool num12; - switch ((num4 | num3) - (num4 & num3)) + int buildProgress = _navmeshIpc.GetBuildProgress(); + if (buildProgress < 100) { - default: - continue; - case 7: - num = 1435941295; - continue; - case 6: - num11 = 0; - goto IL_0219; - case 10: - num11 = (_wigglyNavAvailability.IsCompatible ? 1 : 0); - goto IL_0219; - case 8: - num = (_navmeshIpc.IsReady ? 1435941284 : 1435941280); - continue; - case 1: - num = ((!flag) ? 1435941285 : 1435941294); - continue; - case 4: - num10 = 1; - goto IL_02b6; - case 9: - num = (flag2 ? 1435941287 : 1435941289); - continue; - case 3: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(15, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-757541673)); - defaultInterpolatedStringHandler.AppendFormatted(buildProgress); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(767159727)); - text3 = defaultInterpolatedStringHandler.ToStringAndClear(); - num = 1435941284; - continue; + text2 = $"Rebuilding... {buildProgress}%"; } - case 11: - num9 = ((!_206B_206A_202D_200F_200E_200C_200D_202E_202E_206A_206F_202D_206C_200D_206E_206F_206A_200B_200E_206B_202D_202C_202A_206E_200D_200D_206B_206D_202A_206C_206B_202C_202D_202A_200F_200D_202E_206C_200C_200F_202E(ImGuiKey.ModCtrl)) ? 1 : 0); - break; - case 12: - num10 = (_202A_200F_202C_206D_206F_206A_200C_200D_206B_206C_202E_206F_200D_200B_206B_200C_200C_200F_200B_206E_200D_202A_206E_200E_200E_202A_206B_206E_206B_206E_202C_200C_206C_202D_202C_206E_206E_202A_202E_202E_202E(_commandManager).ContainsKey(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(507098409)) ? 1 : 0); - goto IL_02b6; - case 5: - buildProgress = _navmeshIpc.GetBuildProgress(); - num = ((buildProgress >= 100) ? 1435941284 : 1435941286); - continue; - case 2: - num10 = (_navmeshIpc.IsNavmeshAvailable ? 1 : 0); - goto IL_02b6; - case 0: - { - num9 = 1; - break; - } - IL_02b6: - flag = (byte)num10 != 0; - text3 = 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(-1492851950); - num = ((!flag) ? 1435941284 : 1435941293); - continue; - IL_0219: - flag3 = (byte)num11 != 0; - flag2 = navigationProvider == Configuration.ENavigationProvider.WigglyNavShim; - num12 = flag3; - num3 = (flag2 ? 1 : 0); - num4 = (num12 ? 1 : 0); - flag4 = (byte)(num4 + num3 - (num4 & num3)) != 0; - num = (flag3 ? 1435941281 : 1435941292); - continue; - } - break; } - disabledDisposable = _206E_200F_202B_206B_202C_206A_202C_206A_206E_200D_206B_202C_206F_202E_206A_206C_206D_200E_202D_200C_202A_206C_206C_206E_202E_202D_200C_202B_206B_200B_200B_202E_200F_200C_206F_206F_206C_206B_206C_202E((byte)num9 != 0); - try + using (ImRaii.Disabled(!flag4 || !ImGui.IsKeyDown(ImGuiKey.ModCtrl))) { - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Gem, text3, width)) ? 1684640401 : 1684640403); - while (true) + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Gem, text2, width)) { - int num13 = num; - int num3 = 1684640402; - int num4 = num13; - switch ((num4 | num3) - (num4 & num3)) + if (flag3) { - case 0: - num = 1684640403; - break; - case 2: - _202E_202A_206A_206C_206B_206D_200F_206E_206F_200E_206E_206E_202A_202D_202A_200F_202E_206A_202C_202B_206C_206C_200B_200F_202B_206D_200D_200C_200B_206E_200B_206E_200D_200D_200E_206B_200E_206D_200C_202C_202E(_commandManager, 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(-759082513)); - num = 1684640401; - break; - case 1: - num = ((!flag4) ? 1684640400 : 1684640406); - break; - case 4: _navmeshIpc.Rebuild(); - goto end_IL_0411; - case 3: - goto end_IL_0411; } - continue; - end_IL_0411: - break; - } - } - finally - { - num = ((disabledDisposable == null) ? (-78943588) : (-78943585)); - while (true) - { - int num14 = num; - int num3 = -78943586; - int num4 = num14; - switch ((num4 | num3) - (num4 & num3)) + else { - case 0: - num = -78943585; - break; - case 1: - _206C_206F_206C_206E_202C_200E_202A_206B_206A_202E_206D_200E_200C_202A_200B_206B_200E_206A_206F_200E_202B_206E_200E_206A_206B_200B_206A_206D_202A_200F_206D_200F_206C_206D_206D_200E_206B_206F_200D_202A_202E((IDisposable)disabledDisposable); - num = -78943588; - break; - case 2: - goto end_IL_04d2; + _commandManager.ProcessCommand("/vnav rebuild"); } - continue; - end_IL_04d2: - break; } } - num = ((!_202E_206E_200C_202C_206E_202D_200F_206D_206B_206A_202D_202B_202C_202D_206D_202A_200B_202B_206A_206C_206F_206D_200F_206D_206B_206E_200E_206B_206F_200E_206A_202C_202B_200C_202B_206E_206C_200D_200C_202B_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? 1890619570 : 1890619581); - while (true) + if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) { - int num15 = num; - int num3 = 1890619582; - int num4 = num15; - int num16 = num4 + num3; - int num17 = num4 & num3; - switch (num16 - (num17 + num17)) + if (!flag4) { - case 5: - DrawValidationIssuesButton(); - num = 1890619572; - break; - case 12: - num = ((_questValidator.IssueCount <= 0) ? 1890619572 : 1890619579); - break; - case 3: - num = (flag ? 1890619573 : 1890619583); - break; - case 13: - _200C_200E_202E_206C_206E_202B_202A_206F_206E_206C_200D_206A_200D_206C_200B_200B_206B_202D_202C_200C_200B_206B_200C_206A_202C_202E_200F_202B_206F_206C_200F_206A_200D_202A_206F_200F_202E_206D_206A_206C_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(272437998)); - num = 1890619570; - break; - case 4: - _200C_200E_202E_206C_206E_202B_202A_206F_206E_206C_200D_206A_200D_206C_200B_200B_206B_202D_202C_200C_200B_206B_200C_206A_202C_202E_200F_202B_206F_206C_200F_206A_200D_202A_206F_200F_202E_206D_206A_206C_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1054666576)); - num = 1890619570; - break; - case 0: - num = ((!flag3) ? 1890619571 : 1890619578); - break; - case 2: - _200C_200E_202E_206C_206E_202B_202A_206F_206E_206C_200D_206A_200D_206C_200B_200B_206B_202D_202C_200C_200B_206B_200C_206A_202C_202E_200F_202B_206F_206C_200F_206A_200D_202A_206F_200F_202E_206D_206A_206C_202E((ImU8String)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(-640328064)); - num = 1890619570; - break; - case 8: - _200C_200E_202E_206C_206E_202B_202A_206F_206E_206C_200D_206A_200D_206C_200B_200B_206B_202D_202C_200C_200B_206B_200C_206A_202C_202E_200F_202B_206F_206C_200F_206A_200D_202A_206F_200F_202E_206D_206A_206C_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-678584146)); - num = 1890619570; - break; - case 1: - num = ((!flag4) ? 1890619576 : 1890619568); - break; - case 7: - num = 1890619581; - break; - case 9: - _200C_200E_202E_206C_206E_202B_202A_206F_206E_206C_200D_206A_200D_206C_200B_200B_206B_202D_202C_200C_200B_206B_200C_206A_202C_202E_200F_202B_206F_206C_200F_206A_200D_202A_206F_200F_202E_206D_206A_206C_202E((ImU8String)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(-476456851)); - num = 1890619570; - break; - case 10: - return; - case 11: - num = ((!flag2) ? 1890619582 : 1890619580); - break; - case 14: - _200C_200E_202E_206C_206E_202B_202A_206F_206E_206C_200D_206A_200D_206C_200B_200B_206B_202D_202C_200C_200B_206B_200C_206A_202C_202E_200F_202B_206F_206C_200F_206A_200D_202A_206F_200F_202E_206D_206A_206C_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1942219588)); - num = 1890619570; - break; - case 6: - num = ((navigationProvider != Configuration.ENavigationProvider.WigglyNav) ? 1890619574 : 1890619575); - break; + if (flag3) + { + ImGui.SetTooltip("WigglyNav is not available."); + } + else if (navigationProvider == Configuration.ENavigationProvider.WigglyNav) + { + ImGui.SetTooltip("WigglyNav is unavailable and vnavmesh, its fallback, is not installed."); + } + else + { + ImGui.SetTooltip("vnavmesh is not available.\nPlease install it first."); + } } + else if (flag2) + { + ImGui.SetTooltip("Hold CTRL to enable this button.\nRebuilding the WigglyNav navmesh (shim surface) will take some time."); + } + else if (flag) + { + ImGui.SetTooltip("Hold CTRL to enable this button.\nRebuilding the WigglyNav navmesh will take some time."); + } + else + { + ImGui.SetTooltip("Hold CTRL to enable this button.\nRebuilding the navmesh will take some time."); + } + } + if (_questValidator.IssueCount > 0) + { + DrawValidationIssuesButton(); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawValidationIssuesButton() { int errorCount = _questValidator.ErrorCount; @@ -411,450 +133,79 @@ internal sealed class QuickAccessButtonsComponent int item = _questValidator.IssueCount - errorCount - warningCount; (int, Vector4, FontAwesomeIcon)[] array = new(int, Vector4, FontAwesomeIcon)[3] { - (errorCount, _206E_206D_200F_200E_206D_206E_206A_206D_200B_202C_200B_206A_206E_202B_206A_200F_202D_200C_202A_206E_202E_206F_202D_202E_202D_202B_206D_202E_206B_200B_200F_206B_200F_206C_200F_206F_200F_206B_206F_206A_202E(), FontAwesomeIcon.ExclamationTriangle), - (warningCount, _200C_200B_206D_200C_202A_206A_200B_206D_206A_202A_206C_200F_202E_200B_200B_202B_206D_202C_206E_202C_200B_206A_206C_200E_202E_206A_206A_202C_202B_200F_202E_202D_200D_202A_206C_202C_206B_202D_206F_200C_202E(), FontAwesomeIcon.ExclamationCircle), - (item, _200D_200E_206B_200F_202E_202A_206B_202C_202C_200B_200C_206A_202A_206B_200F_206F_200E_200F_206A_206F_200B_202C_200C_200C_200B_202C_206E_200C_206E_202C_200D_200C_200B_200B_202D_200E_202E_200E_202E_202E(), FontAwesomeIcon.InfoCircle) + (errorCount, ImGuiColors.DalamudRed, FontAwesomeIcon.ExclamationTriangle), + (warningCount, ImGuiColors.DalamudYellow, FontAwesomeIcon.ExclamationCircle), + (item, ImGuiColors.ParsedBlue, FontAwesomeIcon.InfoCircle) }; int num = 0; (int, Vector4, FontAwesomeIcon)[] array2 = array; - int num2 = 0; - int num3 = -1437565178; - float num20 = default(float); - int num27 = default(int); - while (true) + for (int i = 0; i < array2.Length; i++) { - int num4 = num3; - int num5 = -1437565181; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) + if (array2[i].Item1 > 0) { - case 0: - return; - case 3: - { - int num33 = num; - num5 = 1; - num6 = num33; - int num34 = num6 ^ num5; - int num35 = num6 & num5; - num = num34 + (num35 + num35); - num3 = -1437565177; - break; + num++; } - case 4: + } + if (num == 0) + { + return; + } + using (ImRaii.PushId("validationissues")) + { + float num2 = 3f * ImGuiHelpers.GlobalScale; + Vector2[] array3 = new Vector2[array.Length]; + using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push()) { - int num36 = num2; - num5 = 1; - num6 = num36; - num2 = (num6 | num5) + (num6 & num5); - num3 = -1437565178; - break; - } - case 2: - num3 = ((num != 0) ? (-1437565180) : (-1437565181)); - break; - case 5: - num3 = ((num2 < array2.Length) ? (-1437565182) : (-1437565183)); - break; - case 1: - num3 = ((array2[num2].Item1 <= 0) ? (-1437565177) : (-1437565184)); - break; - case 6: - num3 = -1437565178; - break; - case 7: - { - ImRaii.IdDisposable idDisposable = _200D_202E_202D_206A_206F_206F_206B_206D_206B_206E_200E_202A_200E_206A_206F_200F_202A_202D_200D_202E_200F_206B_200B_206E_206B_200C_202C_206A_200B_202D_202E_202E_200D_200F_200C_206A_200D_202E_206A_202C_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-796253766), true); - try + for (int j = 0; j < array.Length; j++) { - float num9 = 3f * _202E_200E_206D_206C_206D_200F_206E_206F_202E_206D_206F_206F_200D_200E_200E_200D_202E_206A_206A_200B_206E_202E_206A_200E_202D_206D_202B_202A_206F_202D_202C_202D_200B_206F_200C_206B_200B_202D_200E_202D_202E(); - Vector2[] array3 = new Vector2[array.Length]; - IDisposable disposable = _200C_202C_200D_202D_200F_202A_206B_200C_202E_206E_202A_202D_200B_200F_206F_202A_206E_202E_200F_202A_200B_200C_202B_206C_202D_200B_200E_200C_206B_206F_200F_200C_202A_206C_200F_200E_206C_202D_202D_202B_202E(_206C_206B_202A_200F_206A_202C_200C_206F_206D_206C_200E_206A_206D_200E_206C_206B_202E_200D_200F_206E_206A_206A_206C_202A_200C_200E_206C_202E_202A_202C_200E_200D_200D_200D_202C_200E_206B_206A_202D_206C_202E(_202E_202C_202B_200F_202A_202B_206D_206A_206F_202B_206E_202C_202E_206A_200C_202E_202C_200F_200F_206C_200C_200B_206F_206D_200B_206B_200E_206A_206B_200D_202E_206D_202D_200E_200E_200E_206C_206C_200D_202A_202E(_pluginInterface))); - try + if (array[j].Item1 > 0) { - int num10 = 0; - num3 = -746592479; - while (true) - { - int num11 = num3; - num5 = -746592476; - num6 = num11; - int num12 = num6 + num5; - int num13 = num6 & num5; - switch (num12 - (num13 + num13)) - { - case 4: - num3 = -746592479; - break; - case 3: - num3 = ((array[num10].Item1 <= 0) ? (-746592475) : (-746592476)); - break; - case 0: - array3[num10] = _200C_200F_200F_202D_202A_200E_202C_206C_202A_200C_206D_200E_200D_206B_206B_202A_206E_202C_200C_202D_200C_202C_206E_206A_200C_200C_200E_202E_206E_200D_202C_206F_200B_206F_200F_202A_206D_206B_206F_202E_202E((ImU8String)_200F_206D_200E_206F_200F_200D_206E_200B_202C_206A_200D_202E_200D_206E_202E_200B_202D_206A_202C_202B_206A_206B_202E_202C_202B_202A_200F_206D_206F_206B_206A_202B_206D_200D_206F_200F_202D_202A_206C_200C_202E(array[num10].Item3), false, -1f); - num3 = -746592475; - break; - case 5: - num3 = ((num10 < array.Length) ? (-746592473) : (-746592474)); - break; - case 1: - { - int num14 = num10; - num5 = 1; - num6 = num14; - num10 = (num6 | num5) + (num6 & num5); - num3 = -746592479; - break; - } - case 2: - goto end_IL_01dc; - } - continue; - end_IL_01dc: - break; - } - } - finally - { - num3 = ((disposable == null) ? 334157648 : 334157649); - while (true) - { - int num15 = num3; - num5 = 334157648; - num6 = num15; - int num16 = num6 + num5; - int num17 = num6 & num5; - switch (num16 - (num17 + num17)) - { - case 2: - num3 = 334157649; - break; - case 0: - goto end_IL_02ea; - case 1: - _206C_206F_206C_206E_202C_200E_202A_206B_206A_202E_206D_200E_200C_202A_200B_206B_200E_206A_206F_200E_202B_206E_200E_206A_206B_200B_206A_206D_202A_200F_206D_200F_206C_206D_206D_200E_206B_206F_200D_202A_202E(disposable); - num3 = 334157648; - break; - } - continue; - end_IL_02ea: - break; - } - } - string[] array4 = new string[array.Length]; - Vector2[] array5 = new Vector2[array.Length]; - int num18 = 0; - num3 = -1717059511; - while (true) - { - int num19 = num3; - num5 = -1717059519; - num6 = num19; - switch ((num6 | num5) - (num6 & num5)) - { - case 5: - num3 = -1717059511; - break; - case 0: - { - num20 += array3[num27].X + array5[num27].X; - int num29 = num27; - num5 = 1; - num6 = num29; - num27 = (num6 | num5) + (num6 & num5); - num3 = -1717059517; - break; - } - case 7: - array4[num18] = array[num18].Item1.ToString(_200D_202B_202B_202B_206F_202C_206B_202A_206A_206F_202D_200D_206C_206F_206D_202A_202E_206B_206A_202D_206F_200E_202B_202A_206F_200F_206C_206B_206E_200C_200C_202D_200D_206B_200D_206B_202B_206D_206E_200E_202E()); - array5[num18] = _200C_200F_200F_202D_202A_200E_202C_206C_202A_200C_206D_200E_200D_206B_206B_202A_206E_202C_200C_202D_200C_202C_206E_206A_200C_200C_200E_202E_206E_200D_202C_206F_200B_206F_200F_202A_206D_206B_206F_202E_202E((ImU8String)array4[num18], false, -1f); - num3 = -1717059520; - break; - case 2: - num3 = ((num27 < array.Length) ? (-1717059519) : (-1717059513)); - break; - case 4: - num20 = 0f; - num27 = 0; - num3 = -1717059517; - break; - case 3: - num3 = ((array[num18].Item1 <= 0) ? (-1717059520) : (-1717059514)); - break; - case 8: - num3 = ((num18 < array.Length) ? (-1717059518) : (-1717059515)); - break; - case 1: - { - int num28 = num18; - num5 = 1; - num6 = num28; - num18 = (num6 | num5) + (num6 & num5); - num3 = -1717059511; - break; - } - case 6: - { - float x = num20 + _202B_200E_206D_202E_206D_206B_206E_202D_200D_200B_200E_200E_206E_200D_206C_202D_206E_200C_202D_202E_206E_206A_206C_200C_200C_200E_200C_202C_202B_202B_200E_206F_206C_200D_202D_200E_202E_200B_202E_202B_202E().FramePadding.X * 2f + num9 * 2f * (float)num; - float y = _202E_206D_200B_200D_202D_206D_202E_202B_202B_200F_206B_200C_202C_202E_202D_206C_206C_202C_202B_200C_202E_206E_202E_202E_206B_206C_206C_202D_206E_206E_206F_202E_200D_200E_206A_202C_206C_202B_206B_200F_202E(); - Vector2 vector = _206C_202B_202B_206A_200F_200C_206F_202E_200B_206B_202A_206A_206D_202E_206A_206D_206E_202A_200F_202E_202E_200C_206E_206D_202E_202C_202B_206E_206E_202B_206A_206D_202E_202A_202A_202A_202D_200E_206F_200C_202E(); - bool flag = _200C_206D_200C_206F_206E_202D_202C_200E_202B_206F_202C_206B_202E_206C_206A_200B_200E_200F_206E_202D_202E_206F_200B_206B_200C_200D_200C_206E_206C_206A_202D_200D_206C_202A_200E_206B_206E_206E_200F_206B_202E((ImU8String)string.Empty, new Vector2(x, y)); - ImDrawListPtr imDrawListPtr = _200D_206D_206E_202D_200D_200F_202A_202D_200D_206C_206E_206D_206F_200B_202A_202B_206B_202B_206E_202B_200F_200D_202A_206C_206D_202E_200F_202C_202A_206B_200F_200D_202E_206F_202A_200D_200B_200C_202C_206F_202E(); - Vector2 vector2 = new Vector2(vector.X + _202B_200E_206D_202E_206D_206B_206E_202D_200D_200B_200E_200E_206E_200D_206C_202D_206E_200C_202D_202E_206E_206A_206C_200C_200C_200E_200C_202C_202B_202B_200E_206F_206C_200D_202D_200E_202E_200B_202E_202B_202E().FramePadding.X, vector.Y + _202B_200E_206D_202E_206D_206B_206E_202D_200D_200B_200E_200E_206E_200D_206C_202D_206E_200C_202D_202E_206E_206A_206C_200C_200C_200E_200C_202C_202B_202B_200E_206F_206C_200D_202D_200E_202E_200B_202E_202B_202E().FramePadding.Y); - for (int num21 = 0; num21 < array.Length; num21 = (num6 | num5) + (num6 & num5)) - { - if (array[num21].Item1 != 0) - { - IDisposable disposable2 = _200C_202C_200D_202D_200F_202A_206B_200C_202E_206E_202A_202D_200B_200F_206F_202A_206E_202E_200F_202A_200B_200C_202B_206C_202D_200B_200E_200C_206B_206F_200F_200C_202A_206C_200F_200E_206C_202D_202D_202B_202E(_206C_206B_202A_200F_206A_202C_200C_206F_206D_206C_200E_206A_206D_200E_206C_206B_202E_200D_200F_206E_206A_206A_206C_202A_200C_200E_206C_202E_202A_202C_200E_200D_200D_200D_202C_200E_206B_206A_202D_206C_202E(_202E_202C_202B_200F_202A_202B_206D_206A_206F_202B_206E_202C_202E_206A_200C_202E_202C_200F_200F_206C_200C_200B_206F_206D_200B_206B_200E_206A_206B_200D_202E_206D_202D_200E_200E_200E_206C_206C_200D_202A_202E(_pluginInterface))); - try - { - imDrawListPtr.AddText(vector2, _206C_202C_202D_200D_200D_202E_200D_206D_202B_200E_200F_202E_202B_200E_200C_200B_202C_206A_202D_206F_200B_202B_206C_206D_202A_200D_202C_206B_206B_202B_202B_206A_206E_202A_200D_200E_200D_206B_206F_206F_202E(array[num21].Item2), _200F_206D_200E_206F_200F_200D_206E_200B_202C_206A_200D_202E_200D_206E_202E_200B_202D_206A_202C_202B_206A_206B_202E_202C_202B_202A_200F_206D_206F_206B_206A_202B_206D_200D_206F_200F_202D_202A_206C_200C_202E(array[num21].Item3)); - } - finally - { - num3 = ((disposable2 == null) ? (-226333035) : (-226333036)); - while (true) - { - int num22 = num3; - num5 = -226333035; - num6 = num22; - int num23 = num6 + num5; - int num24 = num6 & num5; - switch (num23 - (num24 + num24)) - { - case 2: - num3 = -226333036; - break; - case 1: - _206C_206F_206C_206E_202C_200E_202A_206B_206A_202E_206D_200E_200C_202A_200B_206B_200E_206A_206F_200E_202B_206E_200E_206A_206B_200B_206A_206D_202A_200F_206D_200F_206C_206D_206D_200E_206B_206F_200D_202A_202E(disposable2); - num3 = -226333035; - break; - case 0: - goto end_IL_05f6; - } - continue; - end_IL_05f6: - break; - } - } - Vector2 vector3 = vector2; - vector3.X = vector2.X + array3[num21].X + num9; - vector2 = vector3; - imDrawListPtr.AddText(vector2, _200C_202B_202A_206B_202E_202D_200F_206D_200E_200E_200D_206B_200C_202E_200C_206D_202D_206F_202A_202A_202B_206B_202A_206C_206D_206F_200D_202C_206F_202D_202E_200C_202B_206A_206F_206B_206A_200F_200F_200C_202E(ImGuiCol.Text), array4[num21]); - vector3 = vector2; - vector3.X = vector2.X + array5[num21].X + 2f * num9; - vector2 = vector3; - } - int num25 = num21; - num5 = 1; - num6 = num25; - } - num3 = 734288855; - while (true) - { - int num26 = num3; - num5 = 734288854; - num6 = num26; - switch ((num6 | num5) - (num6 & num5)) - { - case 0: - num3 = 734288855; - break; - case 2: - _206C_206A_206F_206D_206E_206C_200C_200E_202D_200C_202A_202A_200F_206D_200C_200E_200E_200D_206E_206E_202C_206C_202D_200C_200B_200F_206A_206B_200B_206A_202B_202A_206B_200B_202A_206A_200D_200E_202D_200F_202E((LWindow)_questValidationWindow, true); - num3 = 734288853; - break; - case 1: - num3 = ((!flag) ? 734288853 : 734288852); - break; - case 3: - return; - } - } - } - } - } - } - finally - { - num3 = ((idDisposable == null) ? 902881747 : 902881746); - while (true) - { - int num30 = num3; - num5 = 902881747; - num6 = num30; - int num31 = num6 + num5; - int num32 = num6 & num5; - switch (num31 - (num32 + num32)) - { - case 2: - num3 = 902881746; - break; - case 0: - goto end_IL_0774; - case 1: - _206C_206F_206C_206E_202C_200E_202A_206B_206A_202E_206D_200E_200C_202A_200B_206B_200E_206A_206F_200E_202B_206E_200E_206A_206B_200B_206A_206D_202A_200F_206D_200F_206C_206D_206D_200E_206B_206F_200D_202A_202E((IDisposable)idDisposable); - num3 = 902881747; - break; - } - continue; - end_IL_0774: - break; + array3[j] = ImGui.CalcTextSize(array[j].Item3.ToIconString()); } } } + string[] array4 = new string[array.Length]; + Vector2[] array5 = new Vector2[array.Length]; + for (int k = 0; k < array.Length; k++) + { + if (array[k].Item1 > 0) + { + array4[k] = array[k].Item1.ToString(CultureInfo.InvariantCulture); + array5[k] = ImGui.CalcTextSize(array4[k]); + } + } + float num3 = 0f; + for (int l = 0; l < array.Length; l++) + { + num3 += array3[l].X + array5[l].X; + } + float x = num3 + ImGui.GetStyle().FramePadding.X * 2f + num2 * 2f * (float)num; + float frameHeight = ImGui.GetFrameHeight(); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + bool flag = ImGui.Button(string.Empty, new Vector2(x, frameHeight)); + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 vector = new Vector2(cursorScreenPos.X + ImGui.GetStyle().FramePadding.X, cursorScreenPos.Y + ImGui.GetStyle().FramePadding.Y); + for (int m = 0; m < array.Length; m++) + { + if (array[m].Item1 != 0) + { + using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push()) + { + windowDrawList.AddText(vector, ImGui.GetColorU32(array[m].Item2), array[m].Item3.ToIconString()); + } + Vector2 vector2 = vector; + vector2.X = vector.X + array3[m].X + num2; + vector = vector2; + windowDrawList.AddText(vector, ImGui.GetColorU32(ImGuiCol.Text), array4[m]); + vector2 = vector; + vector2.X = vector.X + array5[m].X + 2f * num2; + vector = vector2; + } + } + if (flag) + { + _questValidationWindow.IsOpenAndUncollapsed = true; } } } - - static Delegate _206D_206D_200F_200B_202C_202C_202C_206B_206E_202D_206A_202A_200E_206B_206B_206F_206A_206E_206E_206B_202D_206A_206D_206D_202C_202E_202C_200F_206A_206D_206D_206F_202B_200F_206B_202C_206C_202E_206C_200F_202E(Delegate P_0, Delegate P_1) - { - return Delegate.Combine(P_0, P_1); - } - - static Delegate _206E_206E_202E_206F_206F_202A_202D_206C_200B_202A_200F_200E_200F_206C_202A_202E_202C_200B_206A_202E_202A_206F_206D_200F_202B_206E_206C_206F_202E_206D_202E_200B_206F_202D_200F_202C_206D_206D_206B_206C_202E(Delegate P_0, Delegate P_1) - { - return Delegate.Remove(P_0, P_1); - } - - static Vector2 _200B_202B_200C_200E_202D_202C_200E_200F_206D_206D_200F_202E_206C_200F_200B_200D_200F_200B_200B_200D_202A_206B_200D_202E_202A_202C_200E_206A_200F_200D_202B_206E_200E_206F_202C_206B_200C_202E_202E_206C_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static ImGuiStylePtr _202B_200E_206D_202E_206D_206B_206E_202D_200D_200B_200E_200E_206E_200D_206C_202D_206E_200C_202D_202E_206E_206A_206C_200C_200C_200E_200C_202C_202B_202B_200E_206F_206C_200D_202D_200E_202E_200B_202E_202B_202E() - { - return ImGui.GetStyle(); - } - - static ImRaii.DisabledDisposable _206E_200F_202B_206B_202C_206A_202C_206A_206E_200D_206B_202C_206F_202E_206A_206C_206D_200E_202D_200C_202A_206C_206C_206E_202E_202D_200C_202B_206B_200B_200B_202E_200F_200C_206F_206F_206C_206B_206C_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static void _206C_206F_206C_206E_202C_200E_202A_206B_206A_202E_206D_200E_200C_202A_200B_206B_200E_206A_206F_200E_202B_206E_200E_206A_206B_200B_206A_206D_202A_200F_206D_200F_206C_206D_206D_200E_206B_206F_200D_202A_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _206F_200C_202C_200F_200E_202D_202C_206C_200E_206A_200C_202D_206A_206F_206E_206E_202B_200F_200C_200D_202C_206E_202B_202B_200C_202D_200F_202C_200C_202B_202C_202E_202B_206B_202B_206F_200F_206F_206A_202A_202E() - { - ImGui.SameLine(); - } - - static ReadOnlyDictionary _202A_200F_202C_206D_206F_206A_200C_200D_206B_206C_202E_206F_200D_200B_206B_200C_200C_200F_200B_206E_200D_202A_206E_200E_200E_202A_206B_206E_206B_206E_202C_200C_206C_202D_202C_206E_206E_202A_202E_202E_202E(ICommandManager P_0) - { - return P_0.Commands; - } - - static bool _206B_206A_202D_200F_200E_200C_200D_202E_202E_206A_206F_202D_206C_200D_206E_206F_206A_200B_200E_206B_202D_202C_202A_206E_200D_200D_206B_206D_202A_206C_206B_202C_202D_202A_200F_200D_202E_206C_200C_200F_202E(ImGuiKey P_0) - { - return ImGui.IsKeyDown(P_0); - } - - static bool _202E_202A_206A_206C_206B_206D_200F_206E_206F_200E_206E_206E_202A_202D_202A_200F_202E_206A_202C_202B_206C_206C_200B_200F_202B_206D_200D_200C_200B_206E_200B_206E_200D_200D_200E_206B_200E_206D_200C_202C_202E(ICommandManager P_0, string P_1) - { - return P_0.ProcessCommand(P_1); - } - - static bool _202E_206E_200C_202C_206E_202D_200F_206D_206B_206A_202D_202B_202C_202D_206D_202A_200B_202B_206A_206C_206F_206D_200F_206D_206B_206E_200E_206B_206F_200E_206A_202C_202B_200C_202B_206E_206C_200D_200C_202B_202E(ImGuiHoveredFlags P_0) - { - return ImGui.IsItemHovered(P_0); - } - - static void _200C_200E_202E_206C_206E_202B_202A_206F_206E_206C_200D_206A_200D_206C_200B_200B_206B_202D_202C_200C_200B_206B_200C_206A_202C_202E_200F_202B_206F_206C_200F_206A_200D_202A_206F_200F_202E_206D_206A_206C_202E(ImU8String P_0) - { - ImGui.SetTooltip(P_0); - } - - static Vector4 _206E_206D_200F_200E_206D_206E_206A_206D_200B_202C_200B_206A_206E_202B_206A_200F_202D_200C_202A_206E_202E_206F_202D_202E_202D_202B_206D_202E_206B_200B_200F_206B_200F_206C_200F_206F_200F_206B_206F_206A_202E() - { - return ImGuiColors.DalamudRed; - } - - static Vector4 _200C_200B_206D_200C_202A_206A_200B_206D_206A_202A_206C_200F_202E_200B_200B_202B_206D_202C_206E_202C_200B_206A_206C_200E_202E_206A_206A_202C_202B_200F_202E_202D_200D_202A_206C_202C_206B_202D_206F_200C_202E() - { - return ImGuiColors.DalamudYellow; - } - - static Vector4 _200D_200E_206B_200F_202E_202A_206B_202C_202C_200B_200C_206A_202A_206B_200F_206F_200E_200F_206A_206F_200B_202C_200C_200C_200B_202C_206E_200C_206E_202C_200D_200C_200B_200B_202D_200E_202E_200E_202E_202E() - { - return ImGuiColors.ParsedBlue; - } - - static ImRaii.IdDisposable _200D_202E_202D_206A_206F_206F_206B_206D_206B_206E_200E_202A_200E_206A_206F_200F_202A_202D_200D_202E_200F_206B_200B_206E_206B_200C_202C_206A_200B_202D_202E_202E_200D_200F_200C_206A_200D_202E_206A_202C_202E(ImU8String P_0, bool P_1) - { - return ImRaii.PushId(P_0, P_1); - } - - static float _202E_200E_206D_206C_206D_200F_206E_206F_202E_206D_206F_206F_200D_200E_200E_200D_202E_206A_206A_200B_206E_202E_206A_200E_202D_206D_202B_202A_206F_202D_202C_202D_200B_206F_200C_206B_200B_202D_200E_202D_202E() - { - return ImGuiHelpers.GlobalScale; - } - - static IUiBuilder _202E_202C_202B_200F_202A_202B_206D_206A_206F_202B_206E_202C_202E_206A_200C_202E_202C_200F_200F_206C_200C_200B_206F_206D_200B_206B_200E_206A_206B_200D_202E_206D_202D_200E_200E_200E_206C_206C_200D_202A_202E(IDalamudPluginInterface P_0) - { - return P_0.UiBuilder; - } - - static IFontHandle _206C_206B_202A_200F_206A_202C_200C_206F_206D_206C_200E_206A_206D_200E_206C_206B_202E_200D_200F_206E_206A_206A_206C_202A_200C_200E_206C_202E_202A_202C_200E_200D_200D_200D_202C_200E_206B_206A_202D_206C_202E(IUiBuilder P_0) - { - return P_0.IconFontFixedWidthHandle; - } - - static IDisposable _200C_202C_200D_202D_200F_202A_206B_200C_202E_206E_202A_202D_200B_200F_206F_202A_206E_202E_200F_202A_200B_200C_202B_206C_202D_200B_200E_200C_206B_206F_200F_200C_202A_206C_200F_200E_206C_202D_202D_202B_202E(IFontHandle P_0) - { - return P_0.Push(); - } - - static string _200F_206D_200E_206F_200F_200D_206E_200B_202C_206A_200D_202E_200D_206E_202E_200B_202D_206A_202C_202B_206A_206B_202E_202C_202B_202A_200F_206D_206F_206B_206A_202B_206D_200D_206F_200F_202D_202A_206C_200C_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static Vector2 _200C_200F_200F_202D_202A_200E_202C_206C_202A_200C_206D_200E_200D_206B_206B_202A_206E_202C_200C_202D_200C_202C_206E_206A_200C_200C_200E_202E_206E_200D_202C_206F_200B_206F_200F_202A_206D_206B_206F_202E_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static CultureInfo _200D_202B_202B_202B_206F_202C_206B_202A_206A_206F_202D_200D_206C_206F_206D_202A_202E_206B_206A_202D_206F_200E_202B_202A_206F_200F_206C_206B_206E_200C_200C_202D_200D_206B_200D_206B_202B_206D_206E_200E_202E() - { - return CultureInfo.InvariantCulture; - } - - static float _202E_206D_200B_200D_202D_206D_202E_202B_202B_200F_206B_200C_202C_202E_202D_206C_206C_202C_202B_200C_202E_206E_202E_202E_206B_206C_206C_202D_206E_206E_206F_202E_200D_200E_206A_202C_206C_202B_206B_200F_202E() - { - return ImGui.GetFrameHeight(); - } - - static Vector2 _206C_202B_202B_206A_200F_200C_206F_202E_200B_206B_202A_206A_206D_202E_206A_206D_206E_202A_200F_202E_202E_200C_206E_206D_202E_202C_202B_206E_206E_202B_206A_206D_202E_202A_202A_202A_202D_200E_206F_200C_202E() - { - return ImGui.GetCursorScreenPos(); - } - - static bool _200C_206D_200C_206F_206E_202D_202C_200E_202B_206F_202C_206B_202E_206C_206A_200B_200E_200F_206E_202D_202E_206F_200B_206B_200C_200D_200C_206E_206C_206A_202D_200D_206C_202A_200E_206B_206E_206E_200F_206B_202E(ImU8String P_0, Vector2 P_1) - { - return ImGui.Button(P_0, P_1); - } - - static ImDrawListPtr _200D_206D_206E_202D_200D_200F_202A_202D_200D_206C_206E_206D_206F_200B_202A_202B_206B_202B_206E_202B_200F_200D_202A_206C_206D_202E_200F_202C_202A_206B_200F_200D_202E_206F_202A_200D_200B_200C_202C_206F_202E() - { - return ImGui.GetWindowDrawList(); - } - - static uint _206C_202C_202D_200D_200D_202E_200D_206D_202B_200E_200F_202E_202B_200E_200C_200B_202C_206A_202D_206F_200B_202B_206C_206D_202A_200D_202C_206B_206B_202B_202B_206A_206E_202A_200D_200E_200D_206B_206F_206F_202E(Vector4 P_0) - { - return ImGui.GetColorU32(P_0); - } - - static uint _200C_202B_202A_206B_202E_202D_200F_206D_200E_200E_200D_206B_200C_202E_200C_206D_202D_206F_202A_202A_202B_206B_202A_206C_206D_206F_200D_202C_206F_202D_202E_200C_202B_206A_206F_206B_206A_200F_200F_200C_202E(ImGuiCol P_0) - { - return ImGui.GetColorU32(P_0); - } - - static void _206C_206A_206F_206D_206E_206C_200C_200E_202D_200C_202A_202A_200F_206D_200C_200E_200E_200D_206E_206E_202C_206C_202D_200C_200B_200F_206A_206B_200B_206A_202B_202A_206B_200B_202A_206A_200D_200E_202D_200F_202E(LWindow P_0, bool P_1) - { - P_0.IsOpenAndUncollapsed = P_1; - } } diff --git a/Questionable/Questionable.Windows.QuestComponents/RemainingTasksComponent.cs b/Questionable/Questionable.Windows.QuestComponents/RemainingTasksComponent.cs index 7367e99..832536b 100644 --- a/Questionable/Questionable.Windows.QuestComponents/RemainingTasksComponent.cs +++ b/Questionable/Questionable.Windows.QuestComponents/RemainingTasksComponent.cs @@ -1,8 +1,5 @@ -using System; -using System.Collections; using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; using Dalamud.Interface.Utility.Raii; using Questionable.Controller; @@ -27,296 +24,63 @@ internal sealed class RemainingTasksComponent _seasonalDutyController = seasonalDutyController; } - [MethodImpl(MethodImplOptions.NoInlining)] public bool Draw() { - (IList Tasks, string? Prefix) remainingTasks = GetRemainingTasks(); - IList item = remainingTasks.Tasks; - string item2 = remainingTasks.Prefix; - int num = ((item.Count != 0) ? 1019289488 : 1019289491); - string current = default(string); - while (true) + var (list, text) = GetRemainingTasks(); + if (list.Count == 0) { - int num2 = num; - int num3 = 1019289490; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0062; - case 1: - return false; - case 2: - { - (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple = UiThemeUtils.BeginCard(); - Vector2 item3 = tuple.ContentStartPos; - float item4 = tuple.AvailableWidth; - ImDrawListPtr item5 = tuple.DrawList; - float num5 = _200B_200F_200F_202E_200E_202C_202D_200E_206B_200B_200E_206C_200C_202E_200B_200B_206F_200D_200E_200E_200D_202C_202D_202B_202D_202D_206F_206D_200D_202C_200C_206F_202D_206D_200C_202C_200B_206D_200C_200D_202E(); - float num6 = _200F_200F_202E_206E_206F_202C_206E_206C_206C_200D_200E_200F_206E_202D_202C_206C_202C_200F_200B_202C_206E_202B_200E_206E_200B_200D_202B_202A_206E_202E_206C_202A_206A_202B_200F_200F_206D_200D_200F_206C_202E().X - 12f; - float num7 = num5 + num6; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(1, 2); - defaultInterpolatedStringHandler.AppendFormatted(item.Count); - defaultInterpolatedStringHandler.AppendLiteral(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(2018550958)); - defaultInterpolatedStringHandler.AppendFormatted((item.Count == 1) ? global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1381530242) : 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(2113462673)); - string text = defaultInterpolatedStringHandler.ToStringAndClear(); - Vector2 vector = _202E_206C_206E_200D_200E_200D_200E_206E_202B_200C_202A_202B_202B_202B_206C_200E_206E_202B_200F_202C_206D_206D_206E_206A_200C_202E_200B_202D_202A_200C_206D_202E_200E_200D_206B_206D_206A_202B_200C_206A_202E((ImU8String)text, false, -1f); - _200E_200D_200C_206F_206C_206E_200D_206E_202C_206B_200D_200F_206D_202E_206C_200F_202A_200E_202C_206F_206F_200F_200B_206B_200D_202E_200F_202C_200F_206F_206F_206E_200F_206A_206C_202D_202E_200F_202C_206E_202E(false, ImGuiCond.Once); - bool flag = _200D_200D_200D_206C_202D_202A_200D_200D_206B_206C_200E_200C_202E_202B_200C_202E_206C_202A_200C_200E_202D_200C_206E_202C_202E_200D_200E_200E_206A_202E_202B_206A_200F_200C_200B_200F_206B_200D_206F_206B_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1093870985), ImGuiTreeNodeFlags.NoTreePushOnOpen | ImGuiTreeNodeFlags.SpanAvailWidth, default(ImU8String)); - _206D_202B_202E_202C_202A_200B_206C_202A_202A_202B_202A_206E_200E_202B_206F_206C_200B_200C_202C_206E_202E_206E_206D_202A_206B_206C_202C_202D_202B_206F_200D_202D_202A_206C_200E_200D_206E_202D_200D_202E_202E(); - _206A_202E_200B_206B_206E_202E_202A_206E_200C_200C_206C_200B_202E_200C_206C_206A_200F_206D_206E_206E_200F_206E_206D_206C_206C_206D_206B_206F_206F_200D_202A_206E_206B_202B_206C_202C_206A_202C_200B_200E_202E(num5 + num6 - vector.X); - ImRaii.ColorDisposable colorDisposable = _200F_206E_202C_202B_202A_202E_202E_206F_200E_200F_200C_206D_200F_200E_206A_200D_202D_206F_202B_206C_202D_202B_202B_200F_202D_200F_200D_202D_200F_206F_202D_200F_200F_206D_202D_206E_200E_200E_200C_206F_202E(ImGuiCol.Text, UiThemeUtils.DimTextColor, true); - try - { - _200B_206A_206C_202D_202D_200E_200F_200F_200D_206D_202B_206E_202C_200F_206E_200E_202D_206F_206C_200D_206F_200D_200C_206F_206B_200E_200B_206C_200E_200D_202A_206A_202A_200F_200E_202B_206B_200D_200E_206A_202E((ImU8String)text); - } - finally - { - num = ((colorDisposable == null) ? (-1125073780) : (-1125073777)); - while (true) - { - int num8 = num; - num3 = -1125073778; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 0: - num = -1125073777; - break; - case 2: - goto end_IL_0196; - case 1: - _200F_200E_206A_202E_202A_206D_206E_206A_202B_202E_206E_206D_206E_202C_202C_206B_202D_202A_202C_200B_202D_206D_200C_206D_206A_202B_206B_200E_206A_202C_202E_206D_200F_206A_200D_206E_206F_206A_200E_206C_202E((IDisposable)colorDisposable); - num = -1125073780; - break; - } - continue; - end_IL_0196: - break; - } - } - if (flag) - { - _206A_202E_202A_202C_206A_200D_202B_206D_202D_202E_206C_206A_206B_206E_200C_206E_200E_200F_200F_202E_202E_206A_202E_206F_200C_206F_200E_206F_200C_200D_202A_200F_200F_206C_206A_202A_200C_206F_206D_200D_202E(num7); - ImRaii.DisabledDisposable disabledDisposable = _206F_206F_202D_202C_200D_202E_202A_200B_202D_200B_206B_200D_206B_206F_202A_200C_200D_200E_206B_202D_200D_202A_206D_202E_206E_202B_206C_202B_206D_206A_200D_202D_200F_202B_200B_200B_206A_200D_202B_206C_202E(); - try - { - IEnumerator enumerator = item.GetEnumerator(); - try - { - num = -973261633; - while (true) - { - int num11 = num; - num3 = -973261637; - num4 = num11; - string text2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = -973261633; - break; - case 2: - current = enumerator.Current; - num = ((item2 != null) ? (-973261634) : (-973261638)); - break; - case 5: - text2 = _206B_206E_202A_202A_200D_200C_202E_202E_206A_200F_202E_206C_206B_206C_200D_206E_206D_206D_206F_202B_206C_202C_202D_200E_206A_200E_202C_206E_200F_202D_200C_206E_206F_200C_206F_200E_200B_206D_206D_202C_202E(item2, current); - goto IL_0280; - case 4: - num = (_200D_202C_206B_200C_206A_200C_202B_206E_202D_202D_202B_200D_200D_202A_200C_206D_200E_202A_202D_206B_200B_200E_206D_202C_200F_202A_200E_200D_206C_206E_206C_202B_200C_200D_202A_200D_206C_200B_206A_202A_202E((IEnumerator)enumerator) ? (-973261639) : (-973261637)); - break; - case 1: - text2 = current; - goto IL_0280; - case 0: - goto end_IL_020d; - IL_0280: - _200B_206A_206C_202D_202D_200E_200F_200F_200D_206D_202B_206E_202C_200F_206E_200E_202D_206F_206C_200D_206F_200D_200C_206F_206B_200E_200B_206C_200E_200D_202A_206A_202A_200F_200E_202B_206B_200D_200E_206A_202E((ImU8String)text2); - num = -973261633; - break; - } - continue; - end_IL_020d: - break; - } - } - finally - { - num = ((enumerator == null) ? (-2099354394) : (-2099354395)); - while (true) - { - int num12 = num; - num3 = -2099354393; - num4 = num12; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -2099354395; - break; - case 1: - goto end_IL_02f1; - case 2: - _200F_200E_206A_202E_202A_206D_206E_206A_202B_202E_206E_206D_206E_202C_202C_206B_202D_202A_202C_200B_202D_206D_200C_206D_206A_202B_206B_200E_206A_202C_202E_206D_200F_206A_200D_206E_206F_206A_200E_206C_202E((IDisposable)enumerator); - num = -2099354394; - break; - } - continue; - end_IL_02f1: - break; - } - } - _202D_202A_202C_206D_206C_202D_202D_202C_202D_200D_206E_206D_206F_202B_200B_202B_202C_202D_202C_202B_202C_200E_202B_200D_206C_202D_206B_206D_206E_200B_202D_200B_206C_202C_206E_206B_206F_206F_202D_206C_202E(); - } - finally - { - num = ((disabledDisposable == null) ? 1458693981 : 1458693982); - while (true) - { - int num13 = num; - num3 = 1458693980; - num4 = num13; - int num14 = num4 + num3; - int num15 = num4 & num3; - switch (num14 - (num15 + num15)) - { - case 0: - num = 1458693982; - break; - case 2: - _200F_200E_206A_202E_202A_206D_206E_206A_202B_202E_206E_206D_206E_202C_202C_206B_202D_202A_202C_200B_202D_206D_200C_206D_206A_202B_206B_200E_206A_202C_202E_206D_200F_206A_200D_206E_206F_206A_200E_206C_202E((IDisposable)disabledDisposable); - num = 1458693981; - break; - case 1: - goto end_IL_0366; - } - continue; - end_IL_0366: - break; - } - } - } - UiThemeUtils.EndCard(item3, item4, item5); - return true; - } - } - continue; - IL_0062: - num = 1019289491; + return false; } + (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple2 = UiThemeUtils.BeginCard(); + Vector2 item = tuple2.ContentStartPos; + float item2 = tuple2.AvailableWidth; + ImDrawListPtr item3 = tuple2.DrawList; + float cursorPosX = ImGui.GetCursorPosX(); + float num = ImGui.GetContentRegionAvail().X - 12f; + float wrapLocalPosX = cursorPosX + num; + string text2 = $"{list.Count} {((list.Count == 1) ? "task" : "tasks")}"; + Vector2 vector = ImGui.CalcTextSize(text2); + ImGui.SetNextItemOpen(isOpen: false, ImGuiCond.Once); + bool flag = ImGui.TreeNodeEx("Up Next", ImGuiTreeNodeFlags.NoTreePushOnOpen | ImGuiTreeNodeFlags.SpanAvailWidth); + ImGui.SameLine(); + ImGui.SetCursorPosX(cursorPosX + num - vector.X); + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.DimTextColor)) + { + ImGui.TextUnformatted(text2); + } + if (flag) + { + ImGui.PushTextWrapPos(wrapLocalPosX); + using (ImRaii.Disabled()) + { + foreach (string item4 in list) + { + ImGui.TextUnformatted((text != null) ? (text + item4) : item4); + } + ImGui.PopTextWrapPos(); + } + } + UiThemeUtils.EndCard(item, item2, item3); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] private (IList Tasks, string? Prefix) GetRemainingTasks() { IList remainingTaskNames = _seasonalDutyController.GetRemainingTaskNames(); - int num = ((remainingTaskNames.Count <= 0) ? (-34894853) : (-34894852)); - IList remainingTaskNames3 = default(IList); - IList remainingTaskNames2 = default(IList); - while (true) + if (remainingTaskNames.Count > 0) { - int num2 = num; - int num3 = -34894856; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return (Tasks: _questController.GetRemainingTaskNames(), Prefix: null); - case 4: - return (Tasks: remainingTaskNames, Prefix: 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(1720040569)); - case 3: - remainingTaskNames3 = _fateController.GetRemainingTaskNames(); - num = ((remainingTaskNames3.Count <= 0) ? (-34894855) : (-34894856)); - break; - case 5: - return (Tasks: remainingTaskNames2, Prefix: 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(-1120878014)); - case 6: - num = -34894852; - break; - case 0: - return (Tasks: remainingTaskNames3, Prefix: global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1289314876)); - case 1: - remainingTaskNames2 = _gatheringController.GetRemainingTaskNames(); - num = ((remainingTaskNames2.Count <= 0) ? (-34894854) : (-34894851)); - break; - } + return (Tasks: remainingTaskNames, Prefix: "D: "); } - } - - static float _200B_200F_200F_202E_200E_202C_202D_200E_206B_200B_200E_206C_200C_202E_200B_200B_206F_200D_200E_200E_200D_202C_202D_202B_202D_202D_206F_206D_200D_202C_200C_206F_202D_206D_200C_202C_200B_206D_200C_200D_202E() - { - return ImGui.GetCursorPosX(); - } - - static Vector2 _200F_200F_202E_206E_206F_202C_206E_206C_206C_200D_200E_200F_206E_202D_202C_206C_202C_200F_200B_202C_206E_202B_200E_206E_200B_200D_202B_202A_206E_202E_206C_202A_206A_202B_200F_200F_206D_200D_200F_206C_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static Vector2 _202E_206C_206E_200D_200E_200D_200E_206E_202B_200C_202A_202B_202B_202B_206C_200E_206E_202B_200F_202C_206D_206D_206E_206A_200C_202E_200B_202D_202A_200C_206D_202E_200E_200D_206B_206D_206A_202B_200C_206A_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static void _200E_200D_200C_206F_206C_206E_200D_206E_202C_206B_200D_200F_206D_202E_206C_200F_202A_200E_202C_206F_206F_200F_200B_206B_200D_202E_200F_202C_200F_206F_206F_206E_200F_206A_206C_202D_202E_200F_202C_206E_202E(bool P_0, ImGuiCond P_1) - { - ImGui.SetNextItemOpen(P_0, P_1); - } - - static bool _200D_200D_200D_206C_202D_202A_200D_200D_206B_206C_200E_200C_202E_202B_200C_202E_206C_202A_200C_200E_202D_200C_206E_202C_202E_200D_200E_200E_206A_202E_202B_206A_200F_200C_200B_200F_206B_200D_206F_206B_202E(ImU8String P_0, ImGuiTreeNodeFlags P_1, ImU8String P_2) - { - return ImGui.TreeNodeEx(P_0, P_1, P_2); - } - - static void _206D_202B_202E_202C_202A_200B_206C_202A_202A_202B_202A_206E_200E_202B_206F_206C_200B_200C_202C_206E_202E_206E_206D_202A_206B_206C_202C_202D_202B_206F_200D_202D_202A_206C_200E_200D_206E_202D_200D_202E_202E() - { - ImGui.SameLine(); - } - - static void _206A_202E_200B_206B_206E_202E_202A_206E_200C_200C_206C_200B_202E_200C_206C_206A_200F_206D_206E_206E_200F_206E_206D_206C_206C_206D_206B_206F_206F_200D_202A_206E_206B_202B_206C_202C_206A_202C_200B_200E_202E(float P_0) - { - ImGui.SetCursorPosX(P_0); - } - - static ImRaii.ColorDisposable _200F_206E_202C_202B_202A_202E_202E_206F_200E_200F_200C_206D_200F_200E_206A_200D_202D_206F_202B_206C_202D_202B_202B_200F_202D_200F_200D_202D_200F_206F_202D_200F_200F_206D_202D_206E_200E_200E_200C_206F_202E(ImGuiCol P_0, Vector4 P_1, bool P_2) - { - return ImRaii.PushColor(P_0, P_1, P_2); - } - - static void _200B_206A_206C_202D_202D_200E_200F_200F_200D_206D_202B_206E_202C_200F_206E_200E_202D_206F_206C_200D_206F_200D_200C_206F_206B_200E_200B_206C_200E_200D_202A_206A_202A_200F_200E_202B_206B_200D_200E_206A_202E(ImU8String P_0) - { - ImGui.TextUnformatted(P_0); - } - - static void _200F_200E_206A_202E_202A_206D_206E_206A_202B_202E_206E_206D_206E_202C_202C_206B_202D_202A_202C_200B_202D_206D_200C_206D_206A_202B_206B_200E_206A_202C_202E_206D_200F_206A_200D_206E_206F_206A_200E_206C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _206A_202E_202A_202C_206A_200D_202B_206D_202D_202E_206C_206A_206B_206E_200C_206E_200E_200F_200F_202E_202E_206A_202E_206F_200C_206F_200E_206F_200C_200D_202A_200F_200F_206C_206A_202A_200C_206F_206D_200D_202E(float P_0) - { - ImGui.PushTextWrapPos(P_0); - } - - static ImRaii.DisabledDisposable _206F_206F_202D_202C_200D_202E_202A_200B_202D_200B_206B_200D_206B_206F_202A_200C_200D_200E_206B_202D_200D_202A_206D_202E_206E_202B_206C_202B_206D_206A_200D_202D_200F_202B_200B_200B_206A_200D_202B_206C_202E() - { - return ImRaii.Disabled(); - } - - static string _206B_206E_202A_202A_200D_200C_202E_202E_206A_200F_202E_206C_206B_206C_200D_206E_206D_206D_206F_202B_206C_202C_202D_200E_206A_200E_202C_206E_200F_202D_200C_206E_206F_200C_206F_200E_200B_206D_206D_202C_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static bool _200D_202C_206B_200C_206A_200C_202B_206E_202D_202D_202B_200D_200D_202A_200C_206D_200E_202A_202D_206B_200B_200E_206D_202C_200F_202A_200E_200D_206C_206E_206C_202B_200C_200D_202A_200D_206C_200B_206A_202A_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202D_202A_202C_206D_206C_202D_202D_202C_202D_200D_206E_206D_206F_202B_200B_202B_202C_202D_202C_202B_202C_200E_202B_200D_206C_202D_206B_206D_206E_200B_202D_200B_206C_202C_206E_206B_206F_206F_202D_206C_202E() - { - ImGui.PopTextWrapPos(); + IList remainingTaskNames2 = _fateController.GetRemainingTaskNames(); + if (remainingTaskNames2.Count > 0) + { + return (Tasks: remainingTaskNames2, Prefix: "F: "); + } + IList remainingTaskNames3 = _gatheringController.GetRemainingTaskNames(); + if (remainingTaskNames3.Count > 0) + { + return (Tasks: remainingTaskNames3, Prefix: "G: "); + } + return (Tasks: _questController.GetRemainingTaskNames(), Prefix: null); } } diff --git a/Questionable/Questionable.Windows.QuestComponents/SavedPresetsComponent.cs b/Questionable/Questionable.Windows.QuestComponents/SavedPresetsComponent.cs index 1b0d226..e147651 100644 --- a/Questionable/Questionable.Windows.QuestComponents/SavedPresetsComponent.cs +++ b/Questionable/Questionable.Windows.QuestComponents/SavedPresetsComponent.cs @@ -1,12 +1,9 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using System.Text; using Dalamud.Bindings.ImGui; -using Dalamud.Configuration; using Dalamud.Interface; using Dalamud.Interface.Utility.Raii; using Dalamud.Plugin; @@ -33,113 +30,6 @@ internal sealed class SavedPresetsComponent public List QuestIds { get; set; } = new List(); } - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func, string> _003C_003E9__24_0; - - public static Func _003C_003E9__27_0; - - public static Func _003C_003E9__29_0; - - public static Func _003C_003E9__30_1; - - public static Func _003C_003E9__30_0; - - public static Func _003C_003E9__38_0; - - internal string _003CDrawSavedPresets_003Eb__24_0(KeyValuePair x) - { - return x.Value.Name; - } - - internal ElementId _003CSaveCurrentPreset_003Eb__27_0(Quest q) - { - return q.Id; - } - - internal string _003CExportPresetToClipboard_003Eb__29_0(ElementId x) - { - return _202A_202B_200D_200B_200E_200F_202C_206A_202D_202D_200B_206A_200C_200C_200B_202B_200C_200C_206C_200C_206B_206E_202D_200C_202E_206C_202D_200E_200C_202D_202A_202A_206C_206F_202B_206D_200F_206B_202D_202A_202E((object)x); - } - - internal PresetExportData _003CExportAllPresetsToClipboard_003Eb__30_0(Configuration.SavedQuestPreset preset) - { - return new PresetExportData - { - Name = preset.Name, - Description = preset.Description, - QuestIds = preset.QuestIds.Select((ElementId x) => _202A_202B_200D_200B_200E_200F_202C_206A_202D_202D_200B_206A_200C_200C_200B_202B_200C_200C_206C_200C_206B_206E_202D_200C_202E_206C_202D_200E_200C_202D_202A_202A_206C_206F_202B_206D_200F_206B_202D_202A_202E((object)x)).ToList() - }; - } - - internal string _003CExportAllPresetsToClipboard_003Eb__30_1(ElementId x) - { - return _202A_202B_200D_200B_200E_200F_202C_206A_202D_202D_200B_206A_200C_200C_200B_202B_200C_200C_206C_200C_206B_206E_202D_200C_202E_206C_202D_200E_200C_202D_202A_202A_206C_206F_202B_206D_200F_206B_202D_202A_202E((object)x); - } - - internal string _003CImportAllPresetsFromClipboard_003Eb__38_0(Configuration.SavedQuestPreset p) - { - return p.Name; - } - - static string _202A_202B_200D_200B_200E_200F_202C_206A_202D_202D_200B_206A_200C_200C_200B_202B_200C_200C_206C_200C_206B_206E_202D_200C_202E_206C_202D_200E_200C_202D_202A_202A_206C_206F_202B_206D_200F_206B_202D_202A_202E(object P_0) - { - return P_0.ToString(); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass36_0 - { - public string name; - - internal bool _003CPresetNameExists_003Eb__0(Configuration.SavedQuestPreset p) - { - return _206B_206C_206C_200E_202A_206E_206F_200B_202B_206B_202A_206A_202C_200B_202C_206A_206D_202D_200D_206B_206B_200F_206B_200B_202A_206D_200D_206E_202A_202B_202C_202C_202A_206B_206C_200D_200E_206A_202C_200F_202E(p.Name, name, StringComparison.OrdinalIgnoreCase); - } - - static bool _206B_206C_206C_200E_202A_206E_206F_200B_202B_206B_202A_206A_202C_200B_202C_206A_206D_202D_200D_206B_206B_200F_206B_200B_202A_206D_200D_206E_202A_202B_202C_202C_202A_206B_206C_200D_200E_206A_202C_200F_202E(string P_0, string P_1, StringComparison P_2) - { - return string.Equals(P_0, P_1, P_2); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass41_0 - { - public ElementId questId; - - internal bool _003CGetAvailableQuests_003Eb__3(Quest q) - { - return _202E_202B_206D_202D_206C_202E_206F_200B_202B_202C_206A_200C_200D_200E_202C_200D_202C_200E_200F_200C_206C_206A_200C_206A_206D_206D_202A_202A_200D_200E_202B_200F_202C_202C_202E_200F_200E_206D_206A_200E_202E(q.Id, questId); - } - - static bool _202E_202B_206D_202D_206C_202E_206F_200B_202B_202C_206A_200C_200D_200E_202C_200D_202C_200E_200F_200C_206C_206A_200C_206A_206D_206D_202A_202A_200D_200E_202B_200F_202C_202C_202E_200F_200E_206D_206A_200E_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass42_0 - { - public ElementId questId; - - internal bool _003CGetAlreadyPriorityQuests_003Eb__2(Quest q) - { - return _206E_206A_206B_206F_202C_200F_206A_202B_202D_200C_200B_206E_202D_202D_206D_200D_200F_200C_206E_202D_206B_200B_206C_206F_200B_206F_202A_202E_202C_202B_202A_202C_206F_200F_202D_206E_202D_202C_202E_200C_202E(q.Id, questId); - } - - static bool _206E_206A_206B_206F_202C_200F_206A_202B_202D_200C_200B_206E_202D_202D_206D_200D_200F_200C_206E_202D_206B_200B_206C_206F_200B_206F_202A_202E_202C_202B_202A_202C_206F_200F_202D_206E_202D_202C_202E_200C_202E(ElementId P_0, ElementId P_1) - { - return P_0.Equals(P_1); - } - } - private readonly QuestController _questController; private readonly QuestFunctions _questFunctions; @@ -209,100 +99,27 @@ internal sealed class SavedPresetsComponent DrawBottomButtons(); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawSaveSection() { int count = _questController.ManualPriorityQuests.Count; - float x = _206D_206E_206E_202C_206F_200C_202C_202C_200B_200B_200B_200D_206B_206F_200C_202D_202D_200B_200C_202A_206B_206B_206A_200B_206E_206F_202E_206A_200C_202B_206E_206C_206A_200F_206F_202D_200B_202B_206F_202E().X; - float x2 = _200F_202E_202B_202C_206B_206C_200B_202E_202C_200C_206D_206C_206D_206B_200B_200C_206F_206B_200E_200B_202C_202C_200E_202B_206A_202E_200B_200E_202A_202C_206D_206D_202D_202D_202D_206E_200E_202C_206B_202D_202E().ItemSpacing.X; + float x = ImGui.GetContentRegionAvail().X; + float x2 = ImGui.GetStyle().ItemSpacing.X; float width = (x - x2) / 2f; - ImRaii.DisabledDisposable disabledDisposable; - int num; if (_showSaveDialog) { - num = -414909637; - int num5; - while (true) + ImGui.SetNextItemWidth(x); + ImGui.InputTextWithHint("##PresetName", "Preset name...", ref _newPresetName, 64); + ImGui.SetNextItemWidth(x); + ImGui.InputTextWithHint("##PresetDescription", "Description (optional)...", ref _newPresetDescription, 256); + using (ImRaii.Disabled(string.IsNullOrWhiteSpace(_newPresetName) || count == 0)) { - int num2 = num; - int num3 = -414909638; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Save, "Save", width)) { - default: - continue; - case 0: - num5 = ((count == 0) ? 1 : 0); - break; - case 1: - _206D_200E_200C_200D_200D_206D_206A_200F_206E_206A_206B_206B_200F_202A_200B_206D_202C_206C_202E_206F_206B_202B_200E_200B_200D_206E_200C_200F_206C_202B_206C_200C_202D_200C_200B_206E_202D_206A_206B_206B_202E(x); - _206A_202B_206E_200F_206F_206F_202E_202D_200F_200E_200C_202B_206A_206D_206A_206F_202B_206D_200E_206B_202E_202D_202B_200C_206D_202D_202E_200C_200C_202D_206E_202C_202D_202C_206B_206F_206D_206D_202D_200E_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1836918597), (ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1120034716), ref _newPresetName, 64, ImGuiInputTextFlags.None, (ImGui.ImGuiInputTextCallbackDelegate)null); - _206D_200E_200C_200D_200D_206D_206A_200F_206E_206A_206B_206B_200F_202A_200B_206D_202C_206C_202E_206F_206B_202B_200E_200B_200D_206E_200C_200F_206C_202B_206C_200C_202D_200C_200B_206E_202D_206A_206B_206B_202E(x); - _206A_202B_206E_200F_206F_206F_202E_202D_200F_200E_200C_202B_206A_206D_206A_206F_202B_206D_200E_206B_202E_202D_202B_200C_206D_202D_202E_200C_200C_202D_206E_202C_202D_202C_206B_206F_206D_206D_202D_200E_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1932307685), (ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2085064665), ref _newPresetDescription, 256, ImGuiInputTextFlags.None, (ImGui.ImGuiInputTextCallbackDelegate)null); - num = (_206E_206E_200F_200F_200C_206C_200D_206B_200C_200D_200D_202A_206A_206A_206D_206B_200C_200E_206E_200C_200B_200B_206E_206B_206D_200E_200E_206B_200D_206F_200F_206E_200C_202B_206F_202D_200D_206C_206D_202A_202E(_newPresetName) ? (-414909640) : (-414909638)); - continue; - case 3: - num = -414909637; - continue; - case 2: - num5 = 1; - break; - } - break; - } - disabledDisposable = _202B_206D_202A_200D_206A_206D_202B_200C_206E_206B_206D_200D_202D_206B_200E_206C_206A_200C_200C_202B_206D_206C_202E_200C_200F_200D_200E_206D_200C_206B_202D_200E_200C_202E_200D_202B_206B_202B_202E_202B_202E((byte)num5 != 0); - try - { - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Save, 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(2146302512), width)) ? (-79341418) : (-79341419)); - while (true) - { - int num6 = num; - int num3 = -79341420; - int num4 = num6; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -79341419; - break; - case 1: - SaveCurrentPreset(); - num = -79341418; - break; - case 2: - goto end_IL_016f; - } - continue; - end_IL_016f: - break; + SaveCurrentPreset(); } } - finally - { - num = ((disabledDisposable == null) ? (-831511166) : (-831511167)); - while (true) - { - int num7 = num; - int num3 = -831511165; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -831511167; - break; - case 1: - goto end_IL_01dd; - case 2: - _206A_200B_206A_206D_202E_206C_200D_206E_200D_202D_206A_200B_200C_206F_200C_202C_206E_206A_200B_200B_202E_200C_200E_202D_200E_202C_202E_202A_206E_206B_206C_200D_206C_206C_200E_200B_200B_202C_202C_200F_202E((IDisposable)disabledDisposable); - num = -831511166; - break; - } - continue; - end_IL_01dd: - break; - } - } - _206C_206E_206C_200F_202C_202E_200F_202A_200D_200B_202A_206E_200E_206D_202C_200E_202A_200F_200B_200E_202A_206D_200D_202E_206B_202C_206E_206E_202B_200E_206B_202B_202B_202D_200E_206B_202A_200B_200C_202E(); - if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Times, 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(885670479), width)) + ImGui.SameLine(); + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Times, "Cancel", width)) { _showSaveDialog = false; _newPresetName = string.Empty; @@ -310,280 +127,62 @@ internal sealed class SavedPresetsComponent } return; } - disabledDisposable = _202B_206D_202A_200D_206A_206D_202B_200C_206E_206B_206D_200D_202D_206B_200E_206C_206A_200C_200C_202B_206D_206C_202E_200C_200F_200D_200E_206D_200C_206B_202D_200E_200C_202E_200D_202B_206B_202B_202E_202B_202E(count == 0); - try + using (ImRaii.Disabled(count == 0)) { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(28, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1460487769)); - defaultInterpolatedStringHandler.AppendFormatted(count); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(213680711)); - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Plus, defaultInterpolatedStringHandler.ToStringAndClear(), x)) ? (-204394257) : (-204394260)); - while (true) + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Plus, $"Save Current Queue ({count} quests)", x)) { - int num8 = num; - int num3 = -204394258; - int num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 0: - num = -204394260; - break; - case 2: - _showSaveDialog = true; - num = -204394257; - break; - case 1: - goto end_IL_02d4; - } - continue; - end_IL_02d4: - break; + _showSaveDialog = true; } } - finally + if (count == 0 && ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) { - num = ((disabledDisposable == null) ? 1836547569 : 1836547570); - while (true) - { - int num11 = num; - int num3 = 1836547568; - int num4 = num11; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - goto end_IL_0345; - case 2: - _206A_200B_206A_206D_202E_206C_200D_206E_200D_202D_206A_200B_200C_206F_200C_202C_206E_206A_200B_200B_202E_200C_200E_202D_200E_202C_202E_202A_206E_206B_206C_200D_206C_206C_200E_200B_200B_202C_202C_200F_202E((IDisposable)disabledDisposable); - num = 1836547569; - break; - case 0: - num = 1836547570; - break; - } - continue; - end_IL_0345: - break; - } - } - num = ((count != 0) ? 429240439 : 429240438); - while (true) - { - int num12 = num; - int num3 = 429240436; - int num4 = num12; - int num13 = num4 + num3; - int num14 = num4 & num3; - switch (num13 - (num14 + num14)) - { - case 0: - num = 429240438; - break; - case 3: - return; - case 1: - _200E_206D_206C_200F_206B_200F_200F_202D_206F_202E_202D_206F_206A_206A_202A_200D_206F_202C_206F_206F_206A_202B_200C_202A_206C_200B_202B_200D_202D_202B_202A_202A_200C_206A_206F_206D_200C_202B_206E_202B_202E((ImU8String)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(2047946986)); - num = 429240439; - break; - case 2: - num = ((!_200F_206B_200D_202D_206C_206B_200E_202B_206A_206D_200E_200E_206B_200B_200E_200F_206D_202D_206A_206E_200B_206A_206B_202A_200B_206D_206B_206D_200B_206B_200F_202E_202A_200C_206C_206E_200C_206C_202B_202A_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? 429240439 : 429240437); - break; - } + ImGui.SetTooltip("Add quests to the priority queue first."); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawSavedPresets() { Dictionary savedPresets = _configuration.General.SavedPresets; - int num2; if (savedPresets.Count == 0) { - string[] array = new string[3] - { - 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(-1427664245), - 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(1662633757), - 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(168340145) - }; - float x = _206D_206E_206E_202C_206F_200C_202C_202C_200B_200B_200B_200D_206B_206F_200C_202D_202D_200B_200C_202A_206B_206B_206A_200B_206E_206F_202E_206A_200C_202B_206E_206C_206A_200F_206F_202D_200B_202B_206F_202E().X; - ImRaii.ColorDisposable colorDisposable = _206D_202B_200B_200E_206C_200B_206C_202E_200E_200E_200F_206F_200B_200E_200C_200B_206E_206A_206D_200F_206F_200F_206E_200F_202E_202E_200B_200E_202C_206E_200C_206A_206B_206B_202A_206F_202E_200D_202C_206B_202E(ImGuiCol.Text, UiThemeUtils.MutedTextColor, true); - try + string[] array = new string[3] { "No saved presets yet.", "Save your current priority queue using the", "button above." }; + float x = ImGui.GetContentRegionAvail().X; + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.MutedTextColor)) { string[] array2 = array; - int num = 0; - num2 = 1648909738; - while (true) + foreach (string obj in array2) { - int num3 = num2; - int num4 = 1648909739; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num2 = 1648909738; - break; - case 1: - num2 = ((num < array2.Length) ? 1648909737 : 1648909736); - break; - case 2: - { - string obj = array2[num]; - float x2 = _206D_206F_206E_206F_202D_200B_206D_206D_202B_206E_202B_206A_200F_200F_202D_200D_200D_206D_200C_206E_202C_206C_206D_202D_202A_200C_206F_200B_200C_202E_206C_202D_206A_202E_206F_200E_206A_206E_202C_202E_202E((ImU8String)obj, false, -1f).X; - _202D_200B_206C_202C_202D_206D_202E_200E_200F_206B_202E_206B_202D_206D_206B_200C_200D_202C_200B_206D_206A_206B_202D_202C_202C_206D_200B_200E_202C_206B_200C_202C_202D_200E_206D_202C_206E_200F_200D_202A_202E(_202D_206E_200D_202B_206E_206F_202C_202B_200C_202E_200F_202C_206D_202E_206D_202D_206F_200B_206A_206B_202B_206E_200D_206C_200D_206C_200E_202A_200D_206B_206A_206C_202D_206F_206F_200E_206D_202D_202D_206A_202E() + (x - x2) / 2f); - _202A_200B_202B_200B_206D_206A_202A_206A_206F_200C_206E_200E_206A_200F_202B_206E_202B_202C_202A_202C_202B_202A_202C_200C_200F_206E_200F_202C_206F_206B_206F_202D_202E_206F_202B_200E_206A_206B_206A_202E_202E((ImU8String)obj); - int num6 = num; - num4 = 1; - num5 = num6; - int num7 = num5 ^ num4; - int num8 = num5 & num4; - num = num7 + (num8 + num8); - num2 = 1648909738; - break; - } - case 3: - return; - } - } - } - finally - { - num2 = ((colorDisposable == null) ? (-509673079) : (-509673080)); - while (true) - { - int num9 = num2; - int num4 = -509673079; - int num5 = num9; - int num10 = num5 + num4; - int num11 = num5 & num4; - switch (num10 - (num11 + num11)) - { - case 2: - num2 = -509673080; - break; - case 0: - goto end_IL_0156; - case 1: - _206A_200B_206A_206D_202E_206C_200D_206E_200D_202D_206A_200B_200C_206F_200C_202C_206E_206A_200B_200B_202E_200C_200E_202D_200E_202C_202E_202A_206E_206B_206C_200D_206C_206C_200E_200B_200B_202C_202C_200F_202E((IDisposable)colorDisposable); - num2 = -509673079; - break; - } - continue; - end_IL_0156: - break; + float x2 = ImGui.CalcTextSize(obj).X; + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + (x - x2) / 2f); + ImGui.TextUnformatted(obj); } + return; } } bool flag = true; - IEnumerator> enumerator = savedPresets.OrderBy((KeyValuePair keyValuePair) => keyValuePair.Value.Name).GetEnumerator(); - try + foreach (var (key, preset) in savedPresets.OrderBy((KeyValuePair keyValuePair2) => keyValuePair2.Value.Name)) { - num2 = 718071834; - string key2 = default(string); - Configuration.SavedQuestPreset preset = default(Configuration.SavedQuestPreset); - while (true) + if (!flag) { - int num12 = num2; - int num4 = 718071839; - int num5 = num12; - int num13 = num5 + num4; - int num14 = num5 & num4; - switch (num13 - (num14 + num14)) - { - case 4: - flag = false; - DrawPresetEntry(key2, preset); - num2 = 718071834; - break; - case 1: - { - enumerator.Current.Deconstruct(out var key, out var value); - key2 = key; - preset = value; - num2 = (flag ? 718071835 : 718071839); - break; - } - case 0: - _202C_206A_202E_206B_206B_206C_202B_206A_200E_206B_202D_200E_200C_206B_206E_206F_200F_206F_202D_206C_206A_206A_206A_202E_200B_202B_202E_206E_202A_200F_202E_206D_202A_206D_200D_200F_206A_206A_202A_202E(); - num2 = 718071835; - break; - case 2: - num2 = 718071834; - break; - case 5: - num2 = (_206E_202E_202A_202A_200F_206D_202C_206D_206C_202C_200D_200C_200C_202E_200B_200C_206F_200F_206A_206F_200C_206E_200D_200C_202C_202A_202E_202B_200C_202C_200C_200F_206F_202B_200E_206C_206A_206C_206A_202C_202E((IEnumerator)enumerator) ? 718071838 : 718071836); - break; - case 3: - goto end_IL_01e1; - } - continue; - end_IL_01e1: - break; + ImGui.Spacing(); } + flag = false; + DrawPresetEntry(key, preset); } - finally + if (_presetToDelete != null) { - num2 = ((enumerator == null) ? 1411685488 : 1411685491); - while (true) + if (savedPresets.Remove(_presetToDelete)) { - int num15 = num2; - int num4 = 1411685490; - int num5 = num15; - int num16 = num5 + num4; - int num17 = num5 & num4; - switch (num16 - (num17 + num17)) - { - case 2: - goto end_IL_02d2; - case 1: - _206A_200B_206A_206D_202E_206C_200D_206E_200D_202D_206A_200B_200C_206F_200C_202C_206E_206A_200B_200B_202E_200C_200E_202D_200E_202C_202E_202A_206E_206B_206C_200D_206C_206C_200E_200B_200B_202C_202C_200F_202E((IDisposable)enumerator); - num2 = 1411685488; - break; - case 0: - num2 = 1411685491; - break; - } - continue; - end_IL_02d2: - break; - } - } - num2 = ((_presetToDelete == null) ? 160898063 : 160898058); - while (true) - { - int num18 = num2; - int num4 = 160898062; - int num5 = num18; - int num19 = num5 + num4; - int num20 = num5 & num4; - switch (num19 - (num20 + num20)) - { - case 0: - num2 = 160898058; - break; - case 1: - return; - case 3: - _200B_202C_202B_202C_202C_202E_206B_200D_202D_202A_200C_202D_206B_202B_206E_202E_206B_202E_200F_202C_206E_206D_202C_206F_206F_200E_206E_200D_200F_200C_202E_206C_206A_206E_202E_206F_202A_200F_202E_206E_202E(_pluginInterface, (IPluginConfiguration)_configuration); - _200D_200E_206B_206D_206F_206C_206E_206D_200D_206F_206E_202D_200E_206F_200B_202D_202E_206A_202C_206C_206B_206D_200C_206F_202D_200E_202C_202E_202D_200C_206F_200B_202E_202A_202D_200D_202D_202D_202A_200E_202E((ILogger)_logger, 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(1687036739), new object[1] { _presetToDelete }); - num2 = 160898060; - break; - case 2: - _presetToDelete = null; - num2 = 160898063; - break; - case 4: - num2 = ((!savedPresets.Remove(_presetToDelete)) ? 160898060 : 160898061); - break; + _pluginInterface.SavePluginConfig(_configuration); + _logger.LogInformation("Deleted saved preset '{PresetName}'", _presetToDelete); } + _presetToDelete = null; } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawPresetEntry(string key, Configuration.SavedQuestPreset preset) { - ImRaii.IdDisposable idDisposable = _202D_206A_200B_200F_206F_206B_206D_206F_202E_206C_206F_200B_206C_200C_202B_200C_202E_206D_202C_202C_202C_202D_206F_206C_206B_202B_206D_200C_200F_206A_206E_202E_206E_206F_206B_206D_206A_206D_202B_202A_202E((ImU8String)key, true); - try + using (ImRaii.PushId(key)) { (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) tuple = UiThemeUtils.BeginCard(); Vector2 item = tuple.ContentStartPos; @@ -591,965 +190,258 @@ internal sealed class SavedPresetsComponent ImDrawListPtr item3 = tuple.DrawList; List availableQuests = GetAvailableQuests(preset.QuestIds); int count = preset.QuestIds.Count; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(1, 2); - defaultInterpolatedStringHandler.AppendFormatted(count); - defaultInterpolatedStringHandler.AppendLiteral(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(2018550958)); - defaultInterpolatedStringHandler.AppendFormatted((count == 1) ? 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(-607980198) : 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(1391970161)); - string text = defaultInterpolatedStringHandler.ToStringAndClear(); - _202D_206E_200D_202B_206E_206F_202C_202B_200C_202E_200F_202C_206D_202E_206D_202D_206F_200B_206A_206B_202B_206E_200D_206C_200D_206C_200E_202A_200D_206B_206A_206C_202D_206F_206F_200E_206D_202D_202D_206A_202E(); - float num = _206D_206E_206E_202C_206F_200C_202C_202C_200B_200B_200B_200D_206B_206F_200C_202D_202D_200B_200C_202A_206B_206B_206A_200B_206E_206F_202E_206A_200C_202B_206E_206C_206A_200F_206F_202D_200B_202B_206F_202E().X - 12f; - bool flag = _202A_200B_206A_200E_200C_202A_202D_200D_206F_200F_206C_202B_200D_200F_200F_206C_206B_206B_200E_200F_202B_202D_200F_200C_206A_206A_206C_206C_206D_200F_206B_206A_206F_202E_202C_206A_202C_206C_202A_202D_202E(_expandedPreset, key); - float num2 = _206E_206C_206A_206B_200C_200B_202E_200C_206D_200E_202C_202C_200C_200F_206E_202A_200F_200B_202D_200E_200E_202C_206D_202E_200B_200E_202E_200E_206A_206A_200E_200B_206D_200D_202A_202C_200E_202E_202C_202E_202E(); - Vector2 vector = _206E_200F_206D_202E_202D_206F_206F_206B_202E_202E_206E_202B_206E_202B_206D_206F_206C_202B_202D_202C_200E_202B_200D_206B_202E_202B_202E_206F_200F_206E_202D_206B_202B_206C_206E_206F_200E_200C_206B_200C_202E(); - ImRaii.ColorDisposable colorDisposable = _206D_202B_200B_200E_206C_200B_206C_202E_200E_200E_200F_206F_200B_200E_200C_200B_206E_206A_206D_200F_206F_200F_206E_200F_202E_202E_200B_200E_202C_206E_200C_206A_206B_206B_202A_206F_202E_200D_202C_206B_202E(ImGuiCol.Button, Vector4.Zero, true); - int num3; - try + string text = $"{count} {((count == 1) ? "quest" : "quests")}"; + ImGui.GetCursorPosX(); + float num = ImGui.GetContentRegionAvail().X - 12f; + bool flag = _expandedPreset == key; + float frameHeight = ImGui.GetFrameHeight(); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + using (ImRaii.PushColor(ImGuiCol.Button, Vector4.Zero)) { - ImRaii.ColorDisposable colorDisposable2 = _206D_202B_200B_200E_206C_200B_206C_202E_200E_200E_200F_206F_200B_200E_200C_200B_206E_206A_206D_200F_206F_200F_206E_200F_202E_202E_200B_200E_202C_206E_200C_206A_206B_206B_202A_206F_202E_200D_202C_206B_202E(ImGuiCol.ButtonHovered, UiThemeUtils.SubtleHoverColor, true); - try + using (ImRaii.PushColor(ImGuiCol.ButtonHovered, UiThemeUtils.SubtleHoverColor)) { - ImRaii.ColorDisposable colorDisposable3 = _206D_202B_200B_200E_206C_200B_206C_202E_200E_200E_200F_206F_200B_200E_200C_200B_206E_206A_206D_200F_206F_200F_206E_200F_202E_202E_200B_200E_202C_206E_200C_206A_206B_206B_202A_206F_202E_200D_202C_206B_202E(ImGuiCol.ButtonActive, UiThemeUtils.SubtlePressColor, true); - try + using (ImRaii.PushColor(ImGuiCol.ButtonActive, UiThemeUtils.SubtlePressColor)) { - ImU8String imU8String = new ImU8String(2, 1); - imU8String.AppendLiteral(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(-374493523)); - imU8String.AppendFormatted(key); - num3 = ((!_202C_202A_202B_202A_206C_206C_200E_206B_206A_202C_200D_206F_202B_206D_206C_206D_200D_202A_200B_206F_200B_202A_202C_200C_202A_202D_202D_200B_206B_202C_206E_206B_206C_202C_202C_206C_200E_206C_200F_200C_202E(imU8String, new Vector2(num, num2))) ? (-1560963531) : (-1560963530)); - while (true) + ImU8String label = new ImU8String(2, 1); + label.AppendLiteral("##"); + label.AppendFormatted(key); + if (ImGui.Button(label, new Vector2(num, frameHeight))) { - int num4 = num3; - int num5 = -1560963532; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) - { - case 0: - num3 = -1560963530; - break; - case 2: - _expandedPreset = (flag ? null : key); - flag = _202A_200B_206A_200E_200C_202A_202D_200D_206F_200F_206C_202B_200D_200F_200F_206C_206B_206B_200E_200F_202B_202D_200F_200C_206A_206A_206C_206C_206D_200F_206B_206A_206F_202E_202C_206A_202C_206C_202A_202D_202E(_expandedPreset, key); - num3 = -1560963531; - break; - case 1: - goto end_IL_0145; - } - continue; - end_IL_0145: - break; - } - } - finally - { - num3 = ((colorDisposable3 == null) ? 846948470 : 846948469); - while (true) - { - int num9 = num3; - int num5 = 846948468; - int num6 = num9; - switch ((num6 | num5) - (num6 & num5)) - { - case 0: - num3 = 846948469; - break; - case 1: - _206A_200B_206A_206D_202E_206C_200D_206E_200D_202D_206A_200B_200C_206F_200C_202C_206E_206A_200B_200B_202E_200C_200E_202D_200E_202C_202E_202A_206E_206B_206C_200D_206C_206C_200E_200B_200B_202C_202C_200F_202E((IDisposable)colorDisposable3); - num3 = 846948470; - break; - case 2: - goto end_IL_01d1; - } - continue; - end_IL_01d1: - break; + _expandedPreset = (flag ? null : key); + flag = _expandedPreset == key; } } } - finally - { - num3 = ((colorDisposable2 == null) ? 2075211356 : 2075211359); - while (true) - { - int num10 = num3; - int num5 = 2075211357; - int num6 = num10; - int num11 = num6 + num5; - int num12 = num6 & num5; - switch (num11 - (num12 + num12)) - { - case 0: - num3 = 2075211359; - break; - case 2: - _206A_200B_206A_206D_202E_206C_200D_206E_200D_202D_206A_200B_200C_206F_200C_202C_206E_206A_200B_200B_202E_200C_200E_202D_200E_202C_202E_202A_206E_206B_206C_200D_206C_206C_200E_200B_200B_202C_202C_200F_202E((IDisposable)colorDisposable2); - num3 = 2075211356; - break; - case 1: - goto end_IL_023c; - } - continue; - end_IL_023c: - break; - } - } } - finally + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + string text2 = (flag ? FontAwesomeIcon.CaretDown : FontAwesomeIcon.CaretRight).ToIconString(); + Vector2 vector; + using (ImRaii.PushFont(UiBuilder.IconFont)) { - num3 = ((colorDisposable == null) ? 1087445344 : 1087445347); - while (true) - { - int num13 = num3; - int num5 = 1087445345; - int num6 = num13; - switch ((num6 | num5) - (num6 & num5)) - { - case 0: - num3 = 1087445347; - break; - case 2: - _206A_200B_206A_206D_202E_206C_200D_206E_200D_202D_206A_200B_200C_206F_200C_202C_206E_206A_200B_200B_202E_200C_200E_202D_200E_202C_202E_202A_206E_206B_206C_200D_206C_206C_200E_200B_200B_202C_202C_200F_202E((IDisposable)colorDisposable); - num3 = 1087445344; - break; - case 1: - goto end_IL_02a9; - } - continue; - end_IL_02a9: - break; - } + vector = ImGui.CalcTextSize(text2); } - ImDrawListPtr imDrawListPtr = _200D_206C_200D_206E_202B_200B_202E_200B_206F_200C_202E_202C_200B_206F_206F_202B_200B_202C_200C_206B_200F_200C_200C_200D_202C_200F_202E_202B_206D_206B_206C_206D_202A_200C_202C_206C_202D_202D_200B_206B_202E(); - num3 = (flag ? (-1065983010) : (-1065983011)); - int num15; - while (true) - { - int num14 = num3; - int num5 = -1065983012; - int num6 = num14; - switch ((num6 | num5) - (num6 & num5)) - { - default: - continue; - case 0: - goto IL_0347; - case 1: - num15 = 61658; - break; - case 2: - num15 = 61655; - break; - } - break; - IL_0347: - num3 = -1065983011; - } - string text2 = _206B_206B_206C_206F_200F_206B_200F_206A_206D_202B_206F_202C_202B_200F_206B_202B_206D_206F_206C_206D_206D_202C_206D_200F_206C_200E_206D_202C_202A_200E_202B_200D_206D_202A_206A_200E_202E_206F_202D_202E((FontAwesomeIcon)num15); - ImRaii.FontDisposable fontDisposable = _206D_206A_200B_202D_206A_202E_200C_206B_202C_206D_206B_206F_206A_206B_206B_206D_206D_200D_200D_206E_202A_206A_202C_200B_202D_206F_202C_200B_200E_202A_202D_200B_200D_202B_200F_206E_206A_202C_202B_202E_202E(_200C_200E_202D_202E_206D_202A_206B_200E_200C_206E_206F_202E_202B_202E_202A_202A_202A_202C_200E_206C_202C_200B_200B_202B_200C_202B_202C_200F_202D_206C_200C_206D_206A_200D_206D_206A_206F_200C_200C_206D_202E(), true); - Vector2 vector2; - try - { - vector2 = _206D_206F_206E_206F_202D_200B_206D_206D_202B_206E_202B_206A_200F_200F_202D_200D_200D_206D_200C_206E_202C_206C_206D_202D_202A_200C_206F_200B_200C_202E_206C_202D_206A_202E_206F_200E_206A_206E_202C_202E_202E((ImU8String)text2, false, -1f); - } - finally - { - num3 = ((fontDisposable == null) ? (-2014865213) : (-2014865214)); - while (true) - { - int num16 = num3; - int num5 = -2014865213; - int num6 = num16; - switch ((num6 | num5) - (num6 & num5)) - { - case 2: - num3 = -2014865214; - break; - case 1: - _206A_200B_206A_206D_202E_206C_200D_206E_200D_202D_206A_200B_200C_206F_200C_202C_206E_206A_200B_200B_202E_200C_200E_202D_200E_202C_202E_202A_206E_206B_206C_200D_206C_206C_200E_200B_200B_202C_202C_200F_202E((IDisposable)fontDisposable); - num3 = -2014865213; - break; - case 0: - goto end_IL_03ba; - } - continue; - end_IL_03ba: - break; - } - } - float y = vector.Y + (num2 - _202B_202A_206C_202B_206A_200B_206C_206F_202B_202D_202D_202D_206E_206B_200B_200B_202A_202E_206D_202D_200D_200E_206E_202D_206C_206C_200F_200B_202B_200F_202E_202D_206B_202D_200D_202D_206D_206D_206A_200F_202E()) / 2f; - float y2 = vector.Y + (num2 - vector2.Y) / 2f; - uint col = _202D_200D_206D_202A_202B_206D_200B_202A_206A_200E_206F_206B_200D_202C_202C_200D_200D_200B_206E_206F_202A_206A_206B_200F_202C_206C_206D_200F_200F_206E_202C_202C_200C_202C_200B_202C_206D_206E_206D_202E_202E(ImGuiCol.Text); - Vector2 vector3 = _206D_206F_206E_206F_202D_200B_206D_206D_202B_206E_202B_206A_200F_200F_202D_200D_200D_206D_200C_206E_202C_206C_206D_202D_202A_200C_206F_200B_200C_202E_206C_202D_206A_202E_206F_200E_206A_206E_202C_202E_202E((ImU8String)text, false, -1f); - float x = _200F_202E_202B_202C_206B_206C_200B_202E_202C_200C_206D_206C_206D_206B_200B_200C_206F_206B_200E_200B_202C_202C_200E_202B_206A_202E_200B_200E_202A_202C_206D_206D_202D_202D_202D_206E_200E_202C_206B_202D_202E().FramePadding.X; - float num17 = vector.X + x + vector2.X + 6f; - float num18 = vector.X + num - vector3.X - x; - imDrawListPtr.AddText(_200C_200E_202D_202E_206D_202A_206B_200E_200C_206E_206F_202E_202B_202E_202A_202A_202A_202C_200E_206C_202C_200B_200B_202B_200C_202B_202C_200F_202D_206C_200C_206D_206A_200D_206D_206A_206F_200C_200C_206D_202E(), _206B_206E_200C_200E_206C_202E_200C_202B_202D_200B_202C_202E_200E_206A_202E_202E_202A_206F_206D_206F_206E_206A_200E_206C_200F_202D_200F_206D_206C_200C_206C_206D_206C_202B_200D_200B_200C_200D_206B_206F_202E(), new Vector2(vector.X + x, y2), col, text2); - imDrawListPtr.AddText(new Vector2(num17, y), col, UiThemeUtils.TruncateToWidth(preset.Name, num18 - num17 - _200F_202E_202B_202C_206B_206C_200B_202E_202C_200C_206D_206C_206D_206B_200B_200C_206F_206B_200E_200B_202C_202C_200E_202B_206A_202E_200B_200E_202A_202C_206D_206D_202D_202D_202D_206E_200E_202C_206B_202D_202E().ItemSpacing.X)); - imDrawListPtr.AddText(new Vector2(num18, y), _206E_206F_202C_206D_200E_202A_206B_202D_206C_200B_202E_206B_200D_200F_202A_200F_200C_206B_206C_200C_202D_206E_200E_202C_206C_200E_202D_206C_206D_202D_206E_202C_206E_206F_202D_202C_202D_202D_200D_206B_202E(UiThemeUtils.MutedTextColor), text); + float y = cursorScreenPos.Y + (frameHeight - ImGui.GetTextLineHeight()) / 2f; + float y2 = cursorScreenPos.Y + (frameHeight - vector.Y) / 2f; + uint colorU = ImGui.GetColorU32(ImGuiCol.Text); + Vector2 vector2 = ImGui.CalcTextSize(text); + float x = ImGui.GetStyle().FramePadding.X; + float num2 = cursorScreenPos.X + x + vector.X + 6f; + float num3 = cursorScreenPos.X + num - vector2.X - x; + windowDrawList.AddText(UiBuilder.IconFont, ImGui.GetFontSize(), new Vector2(cursorScreenPos.X + x, y2), colorU, text2); + windowDrawList.AddText(new Vector2(num2, y), colorU, UiThemeUtils.TruncateToWidth(preset.Name, num3 - num2 - ImGui.GetStyle().ItemSpacing.X)); + windowDrawList.AddText(new Vector2(num3, y), ImGui.ColorConvertFloat4ToU32(UiThemeUtils.MutedTextColor), text); if (flag) { - num3 = 466054893; - IQuestInfo questInfo = default(IQuestInfo); - ElementId current = default(ElementId); - while (true) + if (_editingPresetKey == key) { - int num19 = num3; - int num5 = 466054895; - int num6 = num19; - int num20 = num6 + num5; - int num21 = num6 & num5; - switch (num20 - (num21 + num21)) + float x2 = ImGui.GetContentRegionAvail().X; + ImGui.SetNextItemWidth(x2); + ImGui.InputTextWithHint("##EditName", "Preset name...", ref _editPresetName, 64); + ImGui.SetNextItemWidth(x2); + ImGui.InputTextWithHint("##EditDesc", "Description (optional)...", ref _editPresetDescription, 256); + float width = (x2 - ImGui.GetStyle().ItemSpacing.X) / 2f; + using (ImRaii.Disabled(string.IsNullOrWhiteSpace(_editPresetName))) { - default: - continue; - case 0: - num3 = 466054893; - continue; - case 2: - { - if (_202A_200B_206A_200E_200C_202A_202D_200D_206F_200F_206C_202B_200D_200F_200F_206C_206B_206B_200E_200F_202B_202D_200F_200C_206A_206A_206C_206C_206D_200F_206B_206A_206F_202E_202C_206A_202C_206C_202A_202D_202E(_editingPresetKey, key)) - { - num3 = 466054894; - continue; - } - colorDisposable = _206D_202B_200B_200E_206C_200B_206C_202E_200E_200E_200F_206F_200B_200E_200C_200B_206E_206A_206D_200F_206F_200F_206E_200F_202E_202E_200B_200E_202C_206E_200C_206A_206B_206B_202A_206F_202E_200D_202C_206B_202E(ImGuiCol.Text, UiThemeUtils.DimTextColor, true); - try - { - using List.Enumerator enumerator = preset.QuestIds.GetEnumerator(); - num3 = 1539209856; - while (true) - { - int num28 = num3; - num5 = 1539209857; - num6 = num28; - switch ((num6 | num5) - (num6 & num5)) - { - case 4: - UiThemeUtils.WrappedText(questInfo.Name); - num3 = ((!_206B_206A_206C_206A_206E_202A_202A_200C_200E_200C_202E_202C_202D_200E_206A_200F_206E_202D_206B_202B_206B_202D_206E_206C_206F_206F_206C_202B_200B_202B_206A_202D_206E_202B_202C_200C_206A_200E_200B_202D_202E()) ? 1539209856 : 1539209863); - break; - case 6: - _questTooltipComponent.Draw(questInfo); - num3 = 1539209856; - break; - case 1: - num3 = (enumerator.MoveNext() ? 1539209858 : 1539209860); - break; - case 3: - current = enumerator.Current; - num3 = ((!_questData.TryGetQuestInfo(current, out questInfo)) ? 1539209857 : 1539209861); - break; - case 2: - num3 = 1539209856; - break; - case 0: - UiThemeUtils.WrappedText(_202E_206C_200E_206D_206B_206E_206D_202C_206A_200F_200D_202C_202C_206B_202A_200F_202B_202D_200D_200C_202A_206F_202B_200E_206D_206D_202A_202C_206B_202C_202D_202E_202A_200E_206D_202D_200D_202E_202A_200F_202E((object)current)); - num3 = 1539209856; - break; - case 5: - goto end_IL_07ab; - } - continue; - end_IL_07ab: - break; - } - } - finally - { - num3 = ((colorDisposable == null) ? (-934951069) : (-934951072)); - while (true) - { - int num29 = num3; - num5 = -934951071; - num6 = num29; - switch ((num6 | num5) - (num6 & num5)) - { - case 0: - num3 = -934951072; - break; - case 1: - _206A_200B_206A_206D_202E_206C_200D_206E_200D_202D_206A_200B_200C_206F_200C_202C_206E_206A_200B_200B_202E_200C_200E_202D_200E_202C_202E_202A_206E_206B_206C_200D_206C_206C_200E_200B_200B_202C_202C_200F_202E((IDisposable)colorDisposable); - num3 = -934951069; - break; - case 2: - goto end_IL_08dd; - } - continue; - end_IL_08dd: - break; - } - } - _202C_206A_202E_206B_206B_206C_202B_206A_200E_206B_202D_200E_200C_206B_206E_206F_200F_206F_202D_206C_206A_206A_206A_202E_200B_202B_202E_206E_202A_200F_202E_206D_202A_206D_200D_200F_206A_206A_202A_202E(); - float width2 = (num - _200F_202E_202B_202C_206B_206C_200B_202E_202C_200C_206D_206C_206D_206B_200B_200C_206F_206B_200E_200B_202C_202C_200E_202B_206A_202E_200B_200E_202A_202C_206D_206D_202D_202D_202D_206E_200E_202C_206B_202D_202E().ItemSpacing.X * 3f) / 4f; - ImRaii.DisabledDisposable disabledDisposable = _202B_206D_202A_200D_206A_206D_202B_200C_206E_206B_206D_200D_202D_206B_200E_206C_206A_200C_200C_202B_206D_206C_202E_200C_200F_200D_200E_206D_200C_206B_202D_200E_200C_202E_200D_202B_206B_202B_202E_202B_202E(availableQuests.Count == 0); - try - { - num3 = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Plus, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-285867094), width2)) ? (-2095296245) : (-2095296248)); - while (true) - { - int num30 = num3; - num5 = -2095296246; - num6 = num30; - int num31 = num6 + num5; - int num32 = num6 & num5; - switch (num31 - (num32 + num32)) - { - case 0: - num3 = -2095296248; - break; - case 2: - AddPresetToPriority(availableQuests); - num3 = -2095296245; - break; - case 1: - goto end_IL_0996; - } - continue; - end_IL_0996: - break; - } - } - finally - { - num3 = ((disabledDisposable == null) ? (-1850944279) : (-1850944278)); - while (true) - { - int num33 = num3; - num5 = -1850944277; - num6 = num33; - switch ((num6 | num5) - (num6 & num5)) - { - case 0: - num3 = -1850944278; - break; - case 2: - goto end_IL_0a08; - case 1: - _206A_200B_206A_206D_202E_206C_200D_206E_200D_202D_206A_200B_200C_206F_200C_202C_206E_206A_200B_200B_202E_200C_200E_202D_200E_202C_202E_202A_206E_206B_206C_200D_206C_206C_200E_200B_200B_202C_202C_200F_202E((IDisposable)disabledDisposable); - num3 = -1850944279; - break; - } - continue; - end_IL_0a08: - break; - } - } - _206C_206E_206C_200F_202C_202E_200F_202A_200D_200B_202A_206E_200E_206D_202C_200E_202A_200F_200B_200E_202A_206D_200D_202E_206B_202C_206E_206E_202B_200E_206B_202B_202B_202D_200E_206B_202A_200B_200C_202E(); - num3 = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Upload, 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(605125953), width2)) ? 1011960010 : 1011960009); - while (true) - { - int num34 = num3; - num5 = 1011960011; - num6 = num34; - switch ((num6 | num5) - (num6 & num5)) - { - default: - continue; - case 0: - num3 = 1011960009; - continue; - case 1: - _206C_206E_206C_200F_202C_202E_200F_202A_200D_200B_202A_206E_200E_206D_202C_200E_202A_200F_200B_200E_202A_206D_200D_202E_206B_202C_206E_206E_202B_200E_206B_202B_202B_202D_200E_206B_202A_200B_200C_202E(); - num3 = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Pen, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1401730482), width2)) ? 1011960015 : 1011960008); - continue; - case 3: - _editingPresetKey = key; - _editPresetName = preset.Name; - _editPresetDescription = preset.Description; - num3 = 1011960015; - continue; - case 2: - ExportPresetToClipboard(preset); - num3 = 1011960010; - continue; - case 4: - break; - } - break; - } - _206C_206E_206C_200F_202C_202E_200F_202A_200D_200B_202A_206E_200E_206D_202C_200E_202A_200F_200B_200E_202A_206D_200D_202E_206B_202C_206E_206E_202B_200E_206B_202B_202B_202D_200E_206B_202A_200B_200C_202E(); - disabledDisposable = _202B_206D_202A_200D_206A_206D_202B_200C_206E_206B_206D_200D_202D_206B_200E_206C_206A_200C_200C_202B_206D_206C_202E_200C_200F_200D_200E_206D_200C_206B_202D_200E_200C_202E_200D_202B_206B_202B_202E_202B_202E(!_206E_200D_200B_206C_202B_206D_206B_200D_206A_200C_200D_206C_206B_200B_206D_200E_202D_202C_202E_200B_200C_206D_200C_200B_202D_206C_200E_200B_200B_200F_202C_202A_206C_200F_206C_200F_202A_206D_206C_206E_202E(ImGuiKey.ModCtrl)); - try - { - num3 = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Trash, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(511154012), width2)) ? (-1269043811) : (-1269043810)); - while (true) - { - int num35 = num3; - num5 = -1269043809; - num6 = num35; - int num36 = num6 + num5; - int num37 = num6 & num5; - switch (num36 - (num37 + num37)) - { - case 0: - num3 = -1269043810; - break; - case 1: - _presetToDelete = key; - num3 = -1269043811; - break; - case 2: - goto end_IL_0b8e; - } - continue; - end_IL_0b8e: - break; - } - } - finally - { - num3 = ((disabledDisposable == null) ? (-839582138) : (-839582139)); - while (true) - { - int num38 = num3; - num5 = -839582140; - num6 = num38; - switch ((num6 | num5) - (num6 & num5)) - { - case 2: - goto end_IL_0bff; - case 1: - _206A_200B_206A_206D_202E_206C_200D_206E_200D_202D_206A_200B_200C_206F_200C_202C_206E_206A_200B_200B_202E_200C_200E_202D_200E_202C_202E_202A_206E_206B_206C_200D_206C_206C_200E_200B_200B_202C_202C_200F_202E((IDisposable)disabledDisposable); - num3 = -839582138; - break; - case 0: - num3 = -839582139; - break; - } - continue; - end_IL_0bff: - break; - } - } - num3 = ((!_200F_206B_200D_202D_206C_206B_200E_202B_206A_206D_200E_200E_206B_200B_200E_200F_206D_202D_206A_206E_200B_206A_206B_202A_200B_206D_206B_206D_200B_206B_200F_202E_202A_200C_206C_206E_200C_206C_202B_202A_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? (-1903494325) : (-1903494328)); - while (true) - { - int num39 = num3; - num5 = -1903494326; - num6 = num39; - switch ((num6 | num5) - (num6 & num5)) - { - default: - continue; - case 0: - num3 = -1903494328; - continue; - case 2: - _200E_206D_206C_200F_206B_200F_200F_202D_206F_202E_202D_206F_206A_206A_202A_200D_206F_202C_206F_206F_206A_202B_200C_202A_206C_200B_202B_200D_202D_202B_202A_202A_200C_206A_206F_206D_200C_202B_206E_202B_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(637726200)); - num3 = -1903494325; - continue; - case 1: - break; - } - break; - } - break; - } - case 1: - { - float x2 = _206D_206E_206E_202C_206F_200C_202C_202C_200B_200B_200B_200D_206B_206F_200C_202D_202D_200B_200C_202A_206B_206B_206A_200B_206E_206F_202E_206A_200C_202B_206E_206C_206A_200F_206F_202D_200B_202B_206F_202E().X; - _206D_200E_200C_200D_200D_206D_206A_200F_206E_206A_206B_206B_200F_202A_200B_206D_202C_206C_202E_206F_206B_202B_200E_200B_200D_206E_200C_200F_206C_202B_206C_200C_202D_200C_200B_206E_202D_206A_206B_206B_202E(x2); - _206A_202B_206E_200F_206F_206F_202E_202D_200F_200E_200C_202B_206A_206D_206A_206F_202B_206D_200E_206B_202E_202D_202B_200C_206D_202D_202E_200C_200C_202D_206E_202C_202D_202C_206B_206F_206D_206D_202D_200E_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-300464931), (ImU8String)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(-1650294808), ref _editPresetName, 64, ImGuiInputTextFlags.None, (ImGui.ImGuiInputTextCallbackDelegate)null); - _206D_200E_200C_200D_200D_206D_206A_200F_206E_206A_206B_206B_200F_202A_200B_206D_202C_206C_202E_206F_206B_202B_200E_200B_200D_206E_200C_200F_206C_202B_206C_200C_202D_200C_200B_206E_202D_206A_206B_206B_202E(x2); - _206A_202B_206E_200F_206F_206F_202E_202D_200F_200E_200C_202B_206A_206D_206A_206F_202B_206D_200E_206B_202E_202D_202B_200C_206D_202D_202E_200C_200C_202D_206E_202C_202D_202C_206B_206F_206D_206D_202D_200E_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(55765657), (ImU8String)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(-1755242680), ref _editPresetDescription, 256, ImGuiInputTextFlags.None, (ImGui.ImGuiInputTextCallbackDelegate)null); - float width = (x2 - _200F_202E_202B_202C_206B_206C_200B_202E_202C_200C_206D_206C_206D_206B_200B_200C_206F_206B_200E_200B_202C_202C_200E_202B_206A_202E_200B_200E_202A_202C_206D_206D_202D_202D_202D_206E_200E_202C_206B_202D_202E().ItemSpacing.X) / 2f; - ImRaii.DisabledDisposable disabledDisposable = _202B_206D_202A_200D_206A_206D_202B_200C_206E_206B_206D_200D_202D_206B_200E_206C_206A_200C_200C_202B_206D_206C_202E_200C_200F_200D_200E_206D_200C_206B_202D_200E_200C_202E_200D_202B_206B_202B_202E_202B_202E(_206E_206E_200F_200F_200C_206C_200D_206B_200C_200D_200D_202A_206A_206A_206D_206B_200C_200E_206E_200C_200B_200B_206E_206B_206D_200E_200E_206B_200D_206F_200F_206E_200C_202B_206F_202D_200D_206C_206D_202A_202E(_editPresetName)); - try - { - num3 = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Save, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(744716393), width)) ? 641351484 : 641351487); - while (true) - { - int num22 = num3; - num5 = 641351486; - num6 = num22; - int num23 = num6 + num5; - int num24 = num6 & num5; - switch (num23 - (num24 + num24)) - { - case 0: - num3 = 641351487; - break; - case 1: - preset.Name = _206D_200B_206C_200B_206C_206C_200C_200E_202C_206B_206C_200B_200D_200E_200F_202E_206B_202B_200F_202E_200C_206F_202C_206A_206D_200C_206E_202E_206F_206B_202D_202D_200F_202C_202A_206D_200C_206F_202B_202D_202E(_editPresetName); - preset.Description = _206D_200B_206C_200B_206C_206C_200C_200E_202C_206B_206C_200B_200D_200E_200F_202E_206B_202B_200F_202E_200C_206F_202C_206A_206D_200C_206E_202E_206F_206B_202D_202D_200F_202C_202A_206D_200C_206F_202B_202D_202E(_editPresetDescription); - _200B_202C_202B_202C_202C_202E_206B_200D_202D_202A_200C_202D_206B_202B_206E_202E_206B_202E_200F_202C_206E_206D_202C_206F_206F_200E_206E_200D_200F_200C_202E_206C_206A_206E_202E_206F_202A_200F_202E_206E_202E(_pluginInterface, (IPluginConfiguration)_configuration); - _editingPresetKey = null; - num3 = 641351484; - break; - case 2: - goto end_IL_0666; - } - continue; - end_IL_0666: - break; - } - } - finally - { - num3 = ((disabledDisposable == null) ? (-830260871) : (-830260870)); - while (true) - { - int num25 = num3; - num5 = -830260869; - num6 = num25; - int num26 = num6 + num5; - int num27 = num6 & num5; - switch (num26 - (num27 + num27)) - { - case 2: - goto end_IL_070a; - case 1: - _206A_200B_206A_206D_202E_206C_200D_206E_200D_202D_206A_200B_200C_206F_200C_202C_206E_206A_200B_200B_202E_200C_200E_202D_200E_202C_202E_202A_206E_206B_206C_200D_206C_206C_200E_200B_200B_202C_202C_200F_202E((IDisposable)disabledDisposable); - num3 = -830260871; - break; - case 0: - num3 = -830260870; - break; - } - continue; - end_IL_070a: - break; - } - } - _206C_206E_206C_200F_202C_202E_200F_202A_200D_200B_202A_206E_200E_206D_202C_200E_202A_200F_200B_200E_202A_206D_200D_202E_206B_202C_206E_206E_202B_200E_206B_202B_202B_202D_200E_206B_202A_200B_200C_202E(); - if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Times, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1132284114), width)) + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Save, "Save", width)) { + preset.Name = _editPresetName.Trim(); + preset.Description = _editPresetDescription.Trim(); + _pluginInterface.SavePluginConfig(_configuration); _editingPresetKey = null; } - break; } + ImGui.SameLine(); + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Times, "Cancel", width)) + { + _editingPresetKey = null; + } + } + else + { + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.DimTextColor)) + { + foreach (ElementId questId in preset.QuestIds) + { + if (_questData.TryGetQuestInfo(questId, out IQuestInfo questInfo)) + { + UiThemeUtils.WrappedText(questInfo.Name); + if (ImGui.IsItemHovered()) + { + _questTooltipComponent.Draw(questInfo); + } + } + else + { + UiThemeUtils.WrappedText(questId.ToString()); + } + } + } + ImGui.Spacing(); + float width2 = (num - ImGui.GetStyle().ItemSpacing.X * 3f) / 4f; + using (ImRaii.Disabled(availableQuests.Count == 0)) + { + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Plus, "Add", width2)) + { + AddPresetToPriority(availableQuests); + } + } + ImGui.SameLine(); + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Upload, "Export", width2)) + { + ExportPresetToClipboard(preset); + } + ImGui.SameLine(); + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Pen, "Edit", width2)) + { + _editingPresetKey = key; + _editPresetName = preset.Name; + _editPresetDescription = preset.Description; + } + ImGui.SameLine(); + using (ImRaii.Disabled(!ImGui.IsKeyDown(ImGuiKey.ModCtrl))) + { + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Trash, "Delete", width2)) + { + _presetToDelete = key; + } + } + if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) + { + ImGui.SetTooltip("Hold CTRL to delete"); } - break; } } UiThemeUtils.EndCard(item, item2, item3); } - finally - { - int num3 = ((idDisposable == null) ? (-1402829835) : (-1402829834)); - while (true) - { - int num40 = num3; - int num5 = -1402829833; - int num6 = num40; - switch ((num6 | num5) - (num6 & num5)) - { - case 2: - goto end_IL_0cf5; - case 1: - _206A_200B_206A_206D_202E_206C_200D_206E_200D_202D_206A_200B_200C_206F_200C_202C_206E_206A_200B_200B_202E_200C_200E_202D_200E_202C_202E_202A_206E_206B_206C_200D_206C_206C_200E_200B_200B_202C_202C_200F_202E((IDisposable)idDisposable); - num3 = -1402829835; - break; - case 0: - num3 = -1402829834; - break; - } - continue; - end_IL_0cf5: - break; - } - } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawBottomButtons() { PresetExportData presetExportData = ParseClipboardPreset(); List list = ParseClipboardAllPresets(); - float x = _206D_206E_206E_202C_206F_200C_202C_202C_200B_200B_200B_200D_206B_206F_200C_202D_202D_200B_200C_202A_206B_206B_206A_200B_206E_206F_202E_206A_200C_202B_206E_206C_206A_200F_206F_202D_200B_202B_206F_202E().X; - float x2 = _200F_202E_202B_202C_206B_206C_200B_202E_202C_200C_206D_206C_206D_206B_200B_200C_206F_206B_200E_200B_202C_202C_200E_202B_206A_202E_200B_200E_202A_202C_206D_206D_202D_202D_202D_206E_200E_202C_206B_202D_202E().ItemSpacing.X; + float x = ImGui.GetContentRegionAvail().X; + float x2 = ImGui.GetStyle().ItemSpacing.X; float width = (x - x2) / 2f; - int num = ((presetExportData != null) ? (-1819939993) : (-1819939994)); - int num5; - while (true) + using (ImRaii.Disabled(presetExportData == null && list == null)) { - int num2 = num; - int num3 = -1819939993; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + string text = ((list != null) ? $"Import ({list.Count})" : "Import"); + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Download, text, width)) { - default: - continue; - case 2: - goto IL_007f; - case 1: - num5 = ((list == null) ? 1 : 0); - break; - case 0: - num5 = 0; - break; - } - break; - IL_007f: - num = -1819939994; - } - ImRaii.DisabledDisposable disabledDisposable = _202B_206D_202A_200D_206A_206D_202B_200C_206E_206B_206D_200D_202D_206B_200E_206C_206A_200C_200C_202B_206D_206C_202E_200C_200F_200D_200E_206D_200C_206B_202D_200E_200C_202E_200D_202B_206B_202B_202E_202B_202E((byte)num5 != 0); - try - { - num = ((list != null) ? 1086552360 : 1086552365); - while (true) - { - int num6 = num; - int num3 = 1086552362; - int num4 = num6; - int num7 = num4 + num3; - int num8 = num4 & num3; - string text; - string text2; - switch (num7 - (num8 + num8)) + if (list != null) { - case 0: - num = 1086552365; - break; - case 5: - ImportPresetFromClipboard(presetExportData); - num = 1086552364; - break; - case 1: - num = ((list == null) ? 1086552366 : 1086552361); - break; - case 7: - text = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(452396725); - goto IL_01be; - case 4: - num = ((presetExportData == null) ? 1086552364 : 1086552367); - break; - case 2: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(9, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(2014943156)); - defaultInterpolatedStringHandler.AppendFormatted(list.Count); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - text = defaultInterpolatedStringHandler.ToStringAndClear(); - goto IL_01be; - } - case 3: ImportAllPresetsFromClipboard(list); - goto end_IL_00c6; - case 6: - goto end_IL_00c6; - IL_01be: - text2 = text; - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Download, text2, width)) ? 1086552364 : 1086552363); - break; } - continue; - end_IL_00c6: - break; + else if (presetExportData != null) + { + ImportPresetFromClipboard(presetExportData); + } } } - finally + if (presetExportData == null && list == null && ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) { - num = ((disabledDisposable == null) ? 345926213 : 345926214); - while (true) + ImGui.SetTooltip("Copy a valid preset string to clipboard first."); + } + ImGui.SameLine(); + int count = _configuration.General.SavedPresets.Count; + using (ImRaii.Disabled(count == 0)) + { + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Upload, $"Export ({count})", width)) { - int num9 = num; - int num3 = 345926212; - int num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 1: - goto end_IL_0226; - case 2: - _206A_200B_206A_206D_202E_206C_200D_206E_200D_202D_206A_200B_200C_206F_200C_202C_206E_206A_200B_200B_202E_200C_200E_202D_200E_202C_202E_202A_206E_206B_206C_200D_206C_206C_200E_200B_200B_202C_202C_200F_202E((IDisposable)disabledDisposable); - num = 345926213; - break; - case 0: - num = 345926214; - break; - } - continue; - end_IL_0226: - break; + ExportAllPresetsToClipboard(); } } - num = ((presetExportData != null) ? (-2075685938) : (-2075685937)); - while (true) + if (count == 0 && ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) { - int num12 = num; - int num3 = -2075685940; - int num4 = num12; - int num13 = num4 + num3; - int num14 = num4 & num3; - switch (num13 - (num14 + num14)) - { - case 4: - num = -2075685937; - break; - case 3: - num = ((list != null) ? (-2075685938) : (-2075685940)); - break; - case 0: - num = ((!_200F_206B_200D_202D_206C_206B_200E_202B_206A_206D_200E_200E_206B_200B_200E_200F_206D_202D_206A_206E_200B_206A_206B_202A_200B_206D_206B_206D_200B_206B_200F_202E_202A_200C_206C_206E_200C_206C_202B_202A_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? (-2075685938) : (-2075685939)); - break; - case 1: - _200E_206D_206C_200F_206B_200F_200F_202D_206F_202E_202D_206F_206A_206A_202A_200D_206F_202C_206F_206F_206A_202B_200C_202A_206C_200B_202B_200D_202D_202B_202A_202A_200C_206A_206F_206D_200C_202B_206E_202B_202E((ImU8String)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(14992797)); - num = -2075685938; - break; - case 2: - { - _206C_206E_206C_200F_202C_202E_200F_202A_200D_200B_202A_206E_200E_206D_202C_200E_202A_200F_200B_200E_202A_206D_200D_202E_206B_202C_206E_206E_202B_200E_206B_202B_202B_202D_200E_206B_202A_200B_200C_202E(); - int count = _configuration.General.SavedPresets.Count; - disabledDisposable = _202B_206D_202A_200D_206A_206D_202B_200C_206E_206B_206D_200D_202D_206B_200E_206C_206A_200C_200C_202B_206D_206C_202E_200C_200F_200D_200E_206D_200C_206B_202D_200E_200C_202E_200D_202B_206B_202B_202E_202B_202E(count == 0); - try - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(9, 1); - defaultInterpolatedStringHandler2.AppendLiteral(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(1228098948)); - defaultInterpolatedStringHandler2.AppendFormatted(count); - defaultInterpolatedStringHandler2.AppendLiteral(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(424561659)); - num = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Upload, defaultInterpolatedStringHandler2.ToStringAndClear(), width)) ? (-1471311443) : (-1471311442)); - while (true) - { - int num15 = num; - num3 = -1471311441; - num4 = num15; - int num16 = num4 + num3; - int num17 = num4 & num3; - switch (num16 - (num17 + num17)) - { - case 0: - num = -1471311442; - break; - case 1: - ExportAllPresetsToClipboard(); - num = -1471311443; - break; - case 2: - goto end_IL_03c5; - } - continue; - end_IL_03c5: - break; - } - } - finally - { - num = ((disabledDisposable == null) ? 1517420440 : 1517420441); - while (true) - { - int num18 = num; - num3 = 1517420440; - num4 = num18; - int num19 = num4 + num3; - int num20 = num4 & num3; - switch (num19 - (num20 + num20)) - { - case 0: - goto end_IL_0435; - case 1: - _206A_200B_206A_206D_202E_206C_200D_206E_200D_202D_206A_200B_200C_206F_200C_202C_206E_206A_200B_200B_202E_200C_200E_202D_200E_202C_202E_202A_206E_206B_206C_200D_206C_206C_200E_200B_200B_202C_202C_200F_202E((IDisposable)disabledDisposable); - num = 1517420440; - break; - case 2: - num = 1517420441; - break; - } - continue; - end_IL_0435: - break; - } - } - num = ((count != 0) ? (-1527781092) : (-1527781090)); - while (true) - { - int num21 = num; - num3 = -1527781091; - num4 = num21; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1527781090; - break; - case 3: - num = ((!_200F_206B_200D_202D_206C_206B_200E_202B_206A_206D_200E_200E_206B_200B_200E_200F_206D_202D_206A_206E_200B_206A_206B_202A_200B_206D_206B_206D_200B_206B_200F_202E_202A_200C_206C_206E_200C_206C_202B_202A_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? (-1527781092) : (-1527781089)); - break; - case 1: - return; - case 2: - _200E_206D_206C_200F_206B_200F_200F_202D_206F_202E_202D_206F_206A_206A_202A_200D_206F_202C_206F_206F_206A_202B_200C_202A_206C_200B_202B_200D_202D_202B_202A_202A_200C_206A_206F_206D_200C_202B_206E_202B_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-794410333)); - num = -1527781092; - break; - } - } - } - } + ImGui.SetTooltip("No saved presets to export."); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void SaveCurrentPreset() { List list = _questController.ManualPriorityQuests.Select((Quest q) => q.Id).ToList(); string key = GeneratePresetKey(_newPresetName); Configuration.SavedQuestPreset savedQuestPreset = new Configuration.SavedQuestPreset { - Name = _206D_200B_206C_200B_206C_206C_200C_200E_202C_206B_206C_200B_200D_200E_200F_202E_206B_202B_200F_202E_200C_206F_202C_206A_206D_200C_206E_202E_206F_206B_202D_202D_200F_202C_202A_206D_200C_206F_202B_202D_202E(_newPresetName), - Description = _206D_200B_206C_200B_206C_206C_200C_200E_202C_206B_206C_200B_200D_200E_200F_202E_206B_202B_200F_202E_200C_206F_202C_206A_206D_200C_206E_202E_206F_206B_202D_202D_200F_202C_202A_206D_200C_206F_202B_202D_202E(_newPresetDescription), + Name = _newPresetName.Trim(), + Description = _newPresetDescription.Trim(), QuestIds = list, CreatedAt = DateTime.UtcNow }; _configuration.General.SavedPresets[key] = savedQuestPreset; - _200B_202C_202B_202C_202C_202E_206B_200D_202D_202A_200C_202D_206B_202B_206E_202E_206B_202E_200F_202C_206E_206D_202C_206F_206F_200E_206E_200D_200F_200C_202E_206C_206A_206E_202E_206F_202A_200F_202E_206E_202E(_pluginInterface, (IPluginConfiguration)_configuration); - _200D_200E_206B_206D_206F_206C_206E_206D_200D_206F_206E_202D_200E_206F_200B_202D_202E_206A_202C_206C_206B_206D_200C_206F_202D_200E_202C_202E_202D_200C_206F_200B_202E_202A_202D_200D_202D_202D_202A_200E_202E((ILogger)_logger, 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(-1165273515), new object[2] { savedQuestPreset.Name, list.Count }); - IChatGui chatGui = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(29, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(853920579)); - defaultInterpolatedStringHandler.AppendFormatted(savedQuestPreset.Name); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1877319077)); - defaultInterpolatedStringHandler.AppendFormatted(list.Count); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(653722539)); - _206E_202B_206A_200C_206D_202B_206A_200F_206D_200D_202D_206B_202E_200B_202C_206B_206C_200F_200D_200E_206B_206A_202A_200D_200E_202B_202C_206C_206F_206C_206A_200C_200C_206F_202C_200E_202B_200C_202E_202D_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); + _pluginInterface.SavePluginConfig(_configuration); + _logger.LogInformation("Saved preset '{PresetName}' with {Count} quests", savedQuestPreset.Name, list.Count); + _chatGui.Print($"Saved preset '{savedQuestPreset.Name}' with {list.Count} quests.", "Questionable", 576); _newPresetName = string.Empty; _newPresetDescription = string.Empty; _showSaveDialog = false; } - [MethodImpl(MethodImplOptions.NoInlining)] private string GeneratePresetKey(string name) { - string text = _202A_206F_202A_206B_202E_200E_200E_200B_202C_202B_206F_200F_206C_202E_206C_206C_202D_206B_206A_200B_206D_206F_206D_200B_206C_202C_206D_206A_206C_202C_202E_206A_206F_200D_206F_206F_200B_206B_206D_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(-566152102), _200B_206C_206C_202D_200E_200C_200D_202D_202D_206C_200B_200F_206D_202D_202C_202B_206D_202C_206D_200E_200F_200E_200E_202C_206B_206C_202E_200B_206C_200C_206F_202B_200D_200F_200C_206E_202A_200E_202D_202B_202E(_202A_200C_202E_206F_206E_202A_202B_202A_202A_206B_206C_206F_206D_202E_200E_206B_206E_206C_200B_206F_202A_206D_206C_206E_206A_206D_200C_202C_202D_202D_206E_206F_206F_200D_202C_206E_202E_206B_206D_206B_202E(_206D_200B_206C_200B_206C_206C_200C_200E_202C_206B_206C_200B_200D_200E_200F_202E_206B_202B_200F_202E_200C_206F_202C_206A_206D_200C_206E_202E_206F_206B_202D_202D_200F_202C_202A_206D_200C_206F_202B_202D_202E(name)), ' ', '_')); + string text = "user_" + name.Trim().ToUpperInvariant().Replace(' ', '_'); string text2 = text; int num = 1; - int num2 = 741222322; - while (true) + while (_configuration.General.SavedPresets.ContainsKey(text2)) { - int num3 = num2; - int num4 = 741222320; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 0: - num2 = 741222322; - break; - case 1: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(1, 2); - defaultInterpolatedStringHandler.AppendFormatted(text); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1981151499)); - defaultInterpolatedStringHandler.AppendFormatted(num); - text2 = defaultInterpolatedStringHandler.ToStringAndClear(); - int num8 = num; - num4 = 1; - num5 = num8; - int num9 = num5 ^ num4; - int num10 = num5 & num4; - num = num9 + (num10 + num10); - num2 = 741222322; - break; - } - case 3: - return text2; - case 2: - num2 = (_configuration.General.SavedPresets.ContainsKey(text2) ? 741222321 : 741222323); - break; - } + text2 = $"{text}_{num}"; + num++; } + return text2; } - [MethodImpl(MethodImplOptions.NoInlining)] private void ExportPresetToClipboard(Configuration.SavedQuestPreset preset) { - string text = _206D_206F_200E_202A_200F_200B_200B_202A_202E_206B_206B_206F_200E_202E_206C_206C_200B_202D_202D_206B_206E_206E_200E_200F_202D_206B_206B_206B_200F_206E_202E_200F_200C_206F_206E_206C_206E_200E_200D_200E_202E((object)new PresetExportData + string s = JsonConvert.SerializeObject(new PresetExportData { Name = preset.Name, Description = preset.Description, - QuestIds = preset.QuestIds.Select((ElementId x) => _003C_003Ec._202A_202B_200D_200B_200E_200F_202C_206A_202D_202D_200B_206A_200C_200C_200B_202B_200C_200C_206C_200C_206B_206E_202D_200C_202E_206C_202D_200E_200C_202D_202A_202A_206C_206F_202B_206D_200F_206B_202D_202A_202E((object)x)).ToList() + QuestIds = preset.QuestIds.Select((ElementId x) => x.ToString()).ToList() }); - _200F_200B_200B_200B_206F_200B_202D_202B_200B_206F_202A_200C_206A_206D_206B_202D_202C_202C_206E_206E_200C_200D_206D_202D_202C_200C_200C_206A_202D_206C_200E_202B_200F_202E_202B_200B_200C_206E_206F_206E_202E((ImU8String)_202A_206F_202A_206B_202E_200E_200E_200B_202C_202B_206F_200F_206C_202E_206C_206C_202D_206B_206A_200B_206D_206F_206D_200B_206C_202C_206D_206A_206C_202C_202E_206A_206F_200D_206F_206F_200B_206B_206D_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(727121483), _206B_206C_206F_200E_206C_202C_206A_202A_206D_206B_200D_206A_206B_200D_200E_200B_200C_200F_206F_206A_200C_206E_202B_202D_206A_202A_206A_200B_200D_202B_202A_206C_202B_200D_206B_202D_200D_206E_200D_200F_202E(_206E_206F_202B_202B_202E_206D_202A_206B_206D_206A_206C_202C_206F_200C_202D_200E_206B_200F_202D_202E_200D_206E_200B_202D_202A_206A_200C_206D_200B_206E_200E_200D_202B_200B_200D_202A_200C_200B_200B_206C_202E(_206A_202D_200E_206F_206F_202A_200C_202D_202E_202D_200F_206D_206D_202E_206E_206E_202E_206B_206F_200C_206E_200C_206B_202D_200E_206E_206C_206A_202D_202B_206A_206B_202C_206F_202D_206B_206E_200B_200B_202A_202E(), text)))); - _206E_202B_206A_200C_206D_202B_206A_200F_206D_200D_202D_206B_202E_200B_202C_206B_206C_200F_200D_200E_206B_206A_202A_200D_200E_202B_202C_206C_206F_206C_206A_200C_200C_206F_202C_200E_202B_200C_202E_202D_202E(_chatGui, _200C_202D_206B_206A_206D_206E_202E_202C_206F_200D_202B_202A_200B_200B_206A_206F_200F_200B_200B_206A_206D_200B_202A_200B_200F_206C_202A_202D_206B_202E_200B_206F_202D_202B_200F_200B_202A_200F_200D_200D_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-715452806), preset.Name, 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(-1427828236)), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(467221712), (ushort?)(ushort)576); + ImGui.SetClipboardText("qst:preset:" + Convert.ToBase64String(Encoding.UTF8.GetBytes(s))); + _chatGui.Print("Exported preset '" + preset.Name + "' to clipboard.", "Questionable", 576); } - [MethodImpl(MethodImplOptions.NoInlining)] private void ExportAllPresetsToClipboard() { List list = _configuration.General.SavedPresets.Values.Select((Configuration.SavedQuestPreset preset) => new PresetExportData { Name = preset.Name, Description = preset.Description, - QuestIds = preset.QuestIds.Select((ElementId x) => _003C_003Ec._202A_202B_200D_200B_200E_200F_202C_206A_202D_202D_200B_206A_200C_200C_200B_202B_200C_200C_206C_200C_206B_206E_202D_200C_202E_206C_202D_200E_200C_202D_202A_202A_206C_206F_202B_206D_200F_206B_202D_202A_202E((object)x)).ToList() + QuestIds = preset.QuestIds.Select((ElementId x) => x.ToString()).ToList() }).ToList(); - string text = _206D_206F_200E_202A_200F_200B_200B_202A_202E_206B_206B_206F_200E_202E_206C_206C_200B_202D_202D_206B_206E_206E_200E_200F_202D_206B_206B_206B_200F_206E_202E_200F_200C_206F_206E_206C_206E_200E_200D_200E_202E((object)list); - _200F_200B_200B_200B_206F_200B_202D_202B_200B_206F_202A_200C_206A_206D_206B_202D_202C_202C_206E_206E_200C_200D_206D_202D_202C_200C_200C_206A_202D_206C_200E_202B_200F_202E_202B_200B_200C_206E_206F_206E_202E((ImU8String)_202A_206F_202A_206B_202E_200E_200E_200B_202C_202B_206F_200F_206C_202E_206C_206C_202D_206B_206A_200B_206D_206F_206D_200B_206C_202C_206D_206A_206C_202C_202E_206A_206F_200D_206F_206F_200B_206B_206D_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(983055741), _206B_206C_206F_200E_206C_202C_206A_202A_206D_206B_200D_206A_206B_200D_200E_200B_200C_200F_206F_206A_200C_206E_202B_202D_206A_202A_206A_200B_200D_202B_202A_206C_202B_200D_206B_202D_200D_206E_200D_200F_202E(_206E_206F_202B_202B_202E_206D_202A_206B_206D_206A_206C_202C_206F_200C_202D_200E_206B_200F_202D_202E_200D_206E_200B_202D_202A_206A_200C_206D_200B_206E_200E_200D_202B_200B_200D_202A_200C_200B_200B_206C_202E(_206A_202D_200E_206F_206F_202A_200C_202D_202E_202D_200F_206D_206D_202E_206E_206E_202E_206B_206F_200C_206E_200C_206B_202D_200E_206E_206C_206A_202D_202B_206A_206B_202C_206F_202D_206B_206E_200B_200B_202A_202E(), text)))); - IChatGui chatGui = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(31, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1339286329)); - defaultInterpolatedStringHandler.AppendFormatted(list.Count); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2092278984)); - _206E_202B_206A_200C_206D_202B_206A_200F_206D_200D_202D_206B_202E_200B_202C_206B_206C_200F_200D_200E_206B_206A_202A_200D_200E_202B_202C_206C_206F_206C_206A_200C_200C_206F_202C_200E_202B_200C_202E_202D_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), 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(85756196), (ushort?)(ushort)576); + string s = JsonConvert.SerializeObject(list); + ImGui.SetClipboardText("qst:presets:" + Convert.ToBase64String(Encoding.UTF8.GetBytes(s))); + _chatGui.Print($"Exported {list.Count} presets to clipboard.", "Questionable", 576); } - [MethodImpl(MethodImplOptions.NoInlining)] private void RefreshClipboardPresets() { string text = ThrottledClipboard.GetText(); - int num = ((!_202A_200B_206A_200E_200C_202A_202D_200D_206F_200F_206C_202B_200D_200F_200F_206C_206B_206B_200E_200F_202B_202D_200F_200C_206A_206A_206C_206C_206D_200F_206B_206A_206F_202E_202C_206A_202C_206C_202A_202D_202E(text, _lastClipboardText)) ? (-668792437) : (-668792440)); - while (true) + if (text == _lastClipboardText) { - int num2 = num; - int num3 = -668792439; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + _lastClipboardText = text; + _clipboardPreset = null; + _clipboardAllPresets = null; + try + { + if (text.StartsWith("qst:preset:", StringComparison.InvariantCulture)) { - case 0: - goto IL_005d; - case 1: - return; - case 2: - _lastClipboardText = text; - _clipboardPreset = null; - _clipboardAllPresets = null; - try - { - num = ((!_202C_202C_206C_200F_200C_200B_206C_206A_200B_206A_202C_202E_206F_206B_206B_206B_202D_206D_200F_202D_202B_206F_206D_202A_200D_206C_206C_200C_200E_206D_200E_200D_200F_206B_200E_206D_206B_200C_202D_200D_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(727121483), StringComparison.InvariantCulture)) ? (-1023655681) : (-1023655683)); - while (true) - { - int num7 = num; - num3 = -1023655684; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - { - string text3 = _200C_200E_202E_206B_206F_202D_202A_200C_200D_202B_206B_202B_202A_202C_206A_200E_202D_206E_202E_202E_200D_200D_202E_202A_206A_206C_206F_200B_202C_206C_206E_206D_200F_202A_202D_202C_206A_200C_202D_200C_202E(text, _206B_200C_200E_202A_200B_206B_206C_200C_202C_202A_200B_206B_200C_202A_206F_202E_202E_202E_206D_202C_200D_206B_200B_200C_206E_206E_206C_202A_200E_206B_206E_200E_206B_206F_202C_206B_200C_206D_202E_206B_202E(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(178700019))); - string value2 = _206F_206C_202A_202C_202B_206A_206D_206F_200D_200E_206E_200C_202D_206D_202D_200C_206B_202E_200F_200C_202B_206C_202C_206C_200C_202A_200F_202A_202E_200C_202B_206D_200C_200E_200E_200F_200E_206B_200D_206B_202E(_206A_202D_200E_206F_206F_202A_200C_202D_202E_202D_200F_206D_206D_202E_206E_206E_202E_206B_206F_200C_206E_200C_206B_202D_200E_206E_206C_206A_202D_202B_206A_206B_202C_206F_202D_206B_206E_200B_200B_202A_202E(), _200D_206F_202E_206C_200D_206E_202D_202E_206C_206F_200E_202C_206A_206E_200F_206C_206B_202B_206F_202D_202E_200F_200E_202D_206A_206D_206D_202C_206D_202E_206A_200F_200D_200F_200F_200B_206B_202A_202A_202B_202E(text3)); - _clipboardAllPresets = JsonConvert.DeserializeObject>(value2); - num = -1023655688; - break; - } - case 1: - { - string text2 = _200C_200E_202E_206B_206F_202D_202A_200C_200D_202B_206B_202B_202A_202C_206A_200E_202D_206E_202E_202E_200D_200D_202E_202A_206A_206C_206F_200B_202C_206C_206E_206D_200F_202A_202D_202C_206A_200C_202D_200C_202E(text, _206B_200C_200E_202A_200B_206B_206C_200C_202C_202A_200B_206B_200C_202A_206F_202E_202E_202E_206D_202C_200D_206B_200B_200C_206E_206E_206C_202A_200E_206B_206E_200E_206B_206F_202C_206B_200C_206D_202E_206B_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(134016319))); - string value = _206F_206C_202A_202C_202B_206A_206D_206F_200D_200E_206E_200C_202D_206D_202D_200C_206B_202E_200F_200C_202B_206C_202C_206C_200C_202A_200F_202A_202E_200C_202B_206D_200C_200E_200E_200F_200E_206B_200D_206B_202E(_206A_202D_200E_206F_206F_202A_200C_202D_202E_202D_200F_206D_206D_202E_206E_206E_202E_206B_206F_200C_206E_200C_206B_202D_200E_206E_206C_206A_202D_202B_206A_206B_202C_206F_202D_206B_206E_200B_200B_202A_202E(), _200D_206F_202E_206C_200D_206E_202D_202E_206C_206F_200E_202C_206A_206E_200F_206C_206B_202B_206F_202D_202E_200F_200E_202D_206A_206D_206D_202C_206D_202E_206A_200F_200D_200F_200F_200B_206B_202A_202A_202B_202E(text2)); - _clipboardPreset = JsonConvert.DeserializeObject(value); - num = -1023655688; - break; - } - case 3: - num = ((!_202C_202C_206C_200F_200C_200B_206C_206A_200B_206A_202C_202E_206F_206B_206B_206B_202D_206D_200F_202D_202B_206F_206D_202A_200D_206C_206C_200C_200E_206D_200E_200D_200F_206B_200E_206D_206B_200C_202D_200D_202E(text, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(983055741), StringComparison.InvariantCulture)) ? (-1023655688) : (-1023655682)); - break; - case 0: - num = -1023655683; - break; - case 4: - return; - } - } - } - catch (Exception ex) - { - _202C_206D_206A_206B_202E_202D_200D_202A_200C_206A_206D_202E_206A_200F_206E_206D_206C_202E_206F_206D_202A_206C_206A_202B_206D_206C_206A_200E_200C_200B_202D_202A_206F_206D_202E_202B_200C_202D_206E_202E((ILogger)_logger, ex, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1318302015), Array.Empty()); - return; - } + string s = text.Substring("qst:preset:".Length); + string value = Encoding.UTF8.GetString(Convert.FromBase64String(s)); + _clipboardPreset = JsonConvert.DeserializeObject(value); } - continue; - IL_005d: - num = -668792440; + else if (text.StartsWith("qst:presets:", StringComparison.InvariantCulture)) + { + string s2 = text.Substring("qst:presets:".Length); + string value2 = Encoding.UTF8.GetString(Convert.FromBase64String(s2)); + _clipboardAllPresets = JsonConvert.DeserializeObject>(value2); + } + } + catch (Exception exception) + { + _logger.LogDebug(exception, "Failed to parse presets from clipboard"); } } @@ -1567,88 +459,50 @@ internal sealed class SavedPresetsComponent private bool PresetNameExists(string name) { - return _configuration.General.SavedPresets.Values.Any((Configuration.SavedQuestPreset p) => _003C_003Ec__DisplayClass36_0._206B_206C_206C_200E_202A_206E_206F_200B_202B_206B_202A_206A_202C_200B_202C_206A_206D_202D_200D_206B_206B_200F_206B_200B_202A_206D_200D_206E_202A_202B_202C_202C_202A_206B_206C_200D_200E_206A_202C_200F_202E(p.Name, name, StringComparison.OrdinalIgnoreCase)); + return _configuration.General.SavedPresets.Values.Any((Configuration.SavedQuestPreset p) => string.Equals(p.Name, name, StringComparison.OrdinalIgnoreCase)); } - [MethodImpl(MethodImplOptions.NoInlining)] private void ImportPresetFromClipboard(PresetExportData exportData) { try { - int num = ((!PresetNameExists(exportData.Name)) ? (-1023174906) : (-1023174912)); - string text = default(string); - int num7 = default(int); - List list = default(List); - while (true) + if (PresetNameExists(exportData.Name)) { - int num2 = num; - int num3 = -1023174907; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - { - string text2 = text; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(28, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1280529042)); - defaultInterpolatedStringHandler.AppendFormatted(num7); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(211837278)); - text = _202A_206F_202A_206B_202E_200E_200E_200B_202C_202B_206F_200F_206C_202E_206C_206C_202D_206B_206A_200B_206D_206F_206D_200B_206C_202C_206D_206A_206C_202C_202E_206A_206F_200D_206F_206F_200B_206B_206D_202E(text2, defaultInterpolatedStringHandler.ToStringAndClear()); - num = -1023174905; - break; - } - case 1: - _200F_206C_206F_202C_202B_206A_202A_202D_202D_202D_206F_206F_202C_206A_200F_202B_200D_202D_206B_202D_206E_202C_200E_206B_202D_202C_206F_206B_200C_206C_206E_200E_200B_200F_202C_206F_200F_200C_202E_200D_202E(_chatGui, _200C_202D_206B_206A_206D_206E_202E_202C_206F_200D_202B_202A_200B_200B_206A_206F_200F_200B_200B_206A_206D_200B_202A_200B_200F_206C_202A_202D_206B_202E_200B_206F_202D_202B_200F_200B_202A_200F_200D_200D_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2037075648), exportData.Name, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1952589738)), 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(85756196), (ushort?)(ushort)576); - return; - case 6: - { - string key = GeneratePresetKey(exportData.Name); - Configuration.SavedQuestPreset savedQuestPreset = new Configuration.SavedQuestPreset - { - Name = exportData.Name, - Description = exportData.Description, - QuestIds = list, - CreatedAt = DateTime.UtcNow - }; - _configuration.General.SavedPresets[key] = savedQuestPreset; - _200B_202C_202B_202C_202C_202E_206B_200D_202D_202A_200C_202D_206B_202B_206E_202E_206B_202E_200F_202C_206E_206D_202C_206F_206F_200E_206E_200D_200F_200C_202E_206C_206A_206E_202E_206F_202A_200F_202E_206E_202E(_pluginInterface, (IPluginConfiguration)_configuration); - _200D_200E_206B_206D_206F_206C_206E_206D_200D_206F_206E_202D_200E_206F_200B_202D_202E_206A_202C_206C_206B_206D_200C_206F_202D_200E_202C_202E_202D_200C_206F_200B_202E_202A_202D_200D_202D_202D_202A_200E_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-996412733), new object[3] { savedQuestPreset.Name, list.Count, num7 }); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(32, 2); - defaultInterpolatedStringHandler2.AppendLiteral(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(1859562005)); - defaultInterpolatedStringHandler2.AppendFormatted(savedQuestPreset.Name); - defaultInterpolatedStringHandler2.AppendLiteral(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(1654360891)); - defaultInterpolatedStringHandler2.AppendFormatted(list.Count); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(175123664)); - text = defaultInterpolatedStringHandler2.ToStringAndClear(); - num = ((num7 <= 0) ? (-1023174905) : (-1023174911)); - break; - } - case 5: - _206E_202B_206A_200C_206D_202B_206A_200F_206D_200D_202D_206B_202E_200B_202C_206B_206C_200F_200D_200E_206B_206A_202A_200D_200E_202B_202C_206C_206F_206C_206A_200C_200C_206F_202C_200E_202B_200C_202E_202D_202E(_chatGui, _200C_202D_206B_206A_206D_206E_202E_202C_206F_200D_202B_202A_200B_200B_206A_206F_200F_200B_200B_206A_206D_200B_202A_200B_200F_206C_202A_202D_206B_202E_200B_206F_202D_202B_200F_200B_202A_200F_200D_200D_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2037075648), exportData.Name, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1595896961)), 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(85756196), (ushort?)(ushort)576); - return; - case 3: - list = _202E_206D_202A_200D_200B_206F_206B_206B_200D_202C_200E_206C_206C_206A_206B_202A_206A_202C_206A_202A_202D_202E_206F_202A_200D_206A_202A_202D_206E_202A_200E_200F_202B_202A_200B_206F_200E_206C_206C_200C_202E((IEnumerable)exportData.QuestIds, ref num7); - num = ((list.Count != 0) ? (-1023174909) : (-1023174908)); - break; - case 0: - num = -1023174912; - break; - case 2: - _206E_202B_206A_200C_206D_202B_206A_200F_206D_200D_202D_206B_202E_200B_202C_206B_206C_200F_200D_200E_206B_206A_202A_200D_200E_202B_202C_206C_206F_206C_206A_200C_200C_206F_202C_200E_202B_200C_202E_202D_202E(_chatGui, text, 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(85756196), (ushort?)(ushort)576); - return; - } + _chatGui.Print("Preset '" + exportData.Name + "' already exists, skipping.", "Questionable", 576); + return; } + int skippedCount; + List list = ElementId.FromStrings(exportData.QuestIds, out skippedCount); + if (list.Count == 0) + { + _chatGui.PrintError("Preset '" + exportData.Name + "' contains no importable quests.", "Questionable", 576); + return; + } + string key = GeneratePresetKey(exportData.Name); + Configuration.SavedQuestPreset savedQuestPreset = new Configuration.SavedQuestPreset + { + Name = exportData.Name, + Description = exportData.Description, + QuestIds = list, + CreatedAt = DateTime.UtcNow + }; + _configuration.General.SavedPresets[key] = savedQuestPreset; + _pluginInterface.SavePluginConfig(_configuration); + _logger.LogInformation("Imported preset '{PresetName}' with {Count} quests from clipboard, skipped {Skipped} unknown ids", savedQuestPreset.Name, list.Count, skippedCount); + string text = $"Imported preset '{savedQuestPreset.Name}' with {list.Count} quests."; + if (skippedCount > 0) + { + text += $" Skipped {skippedCount} unknown quest ids."; + } + _chatGui.Print(text, "Questionable", 576); } catch (Exception ex) { - _202B_200B_202A_200F_206C_200B_206F_206E_202E_202B_206D_202E_202A_200D_202A_200D_206C_206B_200F_200B_206D_200D_200E_202D_202B_206E_200C_202E_202D_206F_206F_202E_202E_202E_206E_202A_200B_206C_202A_206B_202E((ILogger)_logger, ex, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(26305319), Array.Empty()); - _200F_206C_206F_202C_202B_206A_202A_202D_202D_202D_206F_206F_202C_206A_200F_202B_200D_202D_206B_202D_206E_202C_200E_206B_202D_202C_206F_206B_200C_206C_206E_200E_200B_200F_202C_206F_200F_200C_202E_200D_202E(_chatGui, _202A_206F_202A_206B_202E_200E_200E_200B_202C_202B_206F_200F_206C_202E_206C_206C_202D_206B_206A_200B_206D_206F_206D_200B_206C_202C_206D_206A_206C_202C_202E_206A_206F_200D_206F_206F_200B_206B_206D_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2044904257), _202C_200C_206E_202B_206E_200B_206E_200C_202A_206C_206C_202C_202A_206A_202C_206A_206E_200F_202A_200E_200C_200F_206F_206B_200F_200D_206F_206D_206F_206E_200B_202D_206E_206C_202B_206A_206E_200F_202D_206B_202E(ex)), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); + _logger.LogError(ex, "Failed to import preset from clipboard"); + _chatGui.PrintError("Failed to import preset: " + ex.Message, "Questionable", 576); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void ImportAllPresetsFromClipboard(List allExportData) { try @@ -1656,260 +510,78 @@ internal sealed class SavedPresetsComponent int num = 0; int num2 = 0; int num3 = 0; - HashSet hashSet = _configuration.General.SavedPresets.Values.Select((Configuration.SavedQuestPreset p) => p.Name).ToHashSet(_202E_206C_202C_202C_206B_202E_200E_206C_202C_202A_200E_206C_200E_206C_206D_202A_200F_206F_202C_202A_200D_200E_206B_200F_200F_202A_202D_206A_200D_206D_206F_200E_200C_202A_206C_200E_200E_202C_200E_200E_202E()); - int num4; - using (List.Enumerator enumerator = allExportData.GetEnumerator()) + HashSet hashSet = _configuration.General.SavedPresets.Values.Select((Configuration.SavedQuestPreset p) => p.Name).ToHashSet(StringComparer.OrdinalIgnoreCase); + foreach (PresetExportData allExportDatum in allExportData) { - num4 = -483703780; - PresetExportData current = default(PresetExportData); - List list = default(List); - int num14 = default(int); - while (true) + if (hashSet.Contains(allExportDatum.Name)) { - int num5 = num4; - int num6 = -483703777; - int num7 = num5; - switch ((num7 | num6) - (num7 & num6)) - { - case 2: - { - int num18 = num2; - num6 = 1; - num7 = num18; - int num19 = num7 ^ num6; - int num20 = num7 & num6; - num2 = num19 + (num20 + num20); - num4 = -483703780; - break; - } - case 6: - current = enumerator.Current; - num4 = ((!hashSet.Contains(current.Name)) ? (-483703784) : (-483703781)); - break; - case 0: - num4 = -483703780; - break; - case 3: - num4 = (enumerator.MoveNext() ? (-483703783) : (-483703782)); - break; - case 7: - { - list = _202E_206D_202A_200D_200B_206F_206B_206B_200D_202C_200E_206C_206C_206A_206B_202A_206A_202C_206A_202A_202D_202E_206F_202A_200D_206A_202A_202D_206E_202A_200E_200F_202B_202A_200B_206F_200E_206C_206C_200C_202E((IEnumerable)current.QuestIds, ref num14); - int num15 = num3; - num6 = num14; - num7 = num15; - int num16 = num7 ^ num6; - int num17 = num7 & num6; - num3 = num16 + (num17 + num17); - num4 = ((list.Count != 0) ? (-483703778) : (-483703779)); - break; - } - case 1: - { - string key = GeneratePresetKey(current.Name); - Configuration.SavedQuestPreset value = new Configuration.SavedQuestPreset - { - Name = current.Name, - Description = current.Description, - QuestIds = list, - CreatedAt = DateTime.UtcNow - }; - _configuration.General.SavedPresets[key] = value; - int num11 = num; - num6 = 1; - num7 = num11; - int num12 = num7 ^ num6; - int num13 = num7 & num6; - num = num12 + (num13 + num13); - num4 = -483703780; - break; - } - case 4: - { - int num8 = num2; - num6 = 1; - num7 = num8; - int num9 = num7 ^ num6; - int num10 = num7 & num6; - num2 = num9 + (num10 + num10); - num4 = -483703780; - break; - } - case 5: - goto end_IL_0061; - } + num2++; continue; - end_IL_0061: - break; } + int skippedCount; + List list = ElementId.FromStrings(allExportDatum.QuestIds, out skippedCount); + num3 += skippedCount; + if (list.Count == 0) + { + num2++; + continue; + } + string key = GeneratePresetKey(allExportDatum.Name); + Configuration.SavedQuestPreset value = new Configuration.SavedQuestPreset + { + Name = allExportDatum.Name, + Description = allExportDatum.Description, + QuestIds = list, + CreatedAt = DateTime.UtcNow + }; + _configuration.General.SavedPresets[key] = value; + num++; } - num4 = ((num <= 0) ? 17213942 : 17213937); - string text = default(string); - while (true) + if (num > 0) { - int num21 = num4; - int num6 = 17213936; - int num7 = num21; - switch ((num7 | num6) - (num7 & num6)) - { - case 4: - { - string text3 = text; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(28, 1); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1996293041)); - defaultInterpolatedStringHandler3.AppendFormatted(num3); - defaultInterpolatedStringHandler3.AppendLiteral(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(-1558859610)); - text = _202A_206F_202A_206B_202E_200E_200E_200B_202C_202B_206F_200F_206C_202E_206C_206C_202D_206B_206A_200B_206D_206F_206D_200B_206C_202C_206D_206A_206C_202C_202E_206A_206F_200D_206F_206F_200B_206B_206D_202E(text3, defaultInterpolatedStringHandler3.ToStringAndClear()); - num4 = 17213938; - break; - } - case 1: - _200B_202C_202B_202C_202C_202E_206B_200D_202D_202A_200C_202D_206B_202B_206E_202E_206B_202E_200F_202C_206E_206D_202C_206F_206F_200E_206E_200D_200F_200C_202E_206C_206A_206E_202E_206F_202A_200F_202E_206E_202E(_pluginInterface, (IPluginConfiguration)_configuration); - num4 = 17213942; - break; - case 5: - num4 = 17213937; - break; - case 0: - { - string text2 = text; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(35, 1); - defaultInterpolatedStringHandler2.AppendLiteral(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(894685187)); - defaultInterpolatedStringHandler2.AppendFormatted(num2); - defaultInterpolatedStringHandler2.AppendLiteral(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(706771647)); - text = _202A_206F_202A_206B_202E_200E_200E_200B_202C_202B_206F_200F_206C_202E_206C_206C_202D_206B_206A_200B_206D_206F_206D_200B_206C_202C_206D_206A_206C_202C_202E_206A_206F_200D_206F_206F_200B_206B_206D_202E(text2, defaultInterpolatedStringHandler2.ToStringAndClear()); - num4 = 17213939; - break; - } - case 3: - num4 = ((num3 <= 0) ? 17213938 : 17213940); - break; - case 6: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(33, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-629934414)); - defaultInterpolatedStringHandler.AppendFormatted(num); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-433566038)); - text = defaultInterpolatedStringHandler.ToStringAndClear(); - num4 = ((num2 <= 0) ? 17213939 : 17213936); - break; - } - case 2: - _200D_200E_206B_206D_206F_206C_206E_206D_200D_206F_206E_202D_200E_206F_200B_202D_202E_206A_202C_206C_206B_206D_200C_206F_202D_200E_202C_202E_202D_200C_206F_200B_202E_202A_202D_200D_202D_202D_202A_200E_202E((ILogger)_logger, 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(473602606), new object[3] { num, num2, num3 }); - _206E_202B_206A_200C_206D_202B_206A_200F_206D_200D_202D_206B_202E_200B_202C_206B_206C_200F_200D_200E_206B_206A_202A_200D_200E_202B_202C_206C_206F_206C_206A_200C_200C_206F_202C_200E_202B_200C_202E_202D_202E(_chatGui, text, 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(85756196), (ushort?)(ushort)576); - return; - } + _pluginInterface.SavePluginConfig(_configuration); } + string text = $"Imported {num} presets from clipboard."; + if (num2 > 0) + { + text += $" Skipped {num2} (already exist or empty)."; + } + if (num3 > 0) + { + text += $" Skipped {num3} unknown quest ids."; + } + _logger.LogInformation("Imported {Imported} presets from clipboard, skipped {Skipped} presets and {SkippedIds} unknown ids", num, num2, num3); + _chatGui.Print(text, "Questionable", 576); } catch (Exception ex) { - _202B_200B_202A_200F_206C_200B_206F_206E_202E_202B_206D_202E_202A_200D_202A_200D_206C_206B_200F_200B_206D_200D_200E_202D_202B_206E_200C_202E_202D_206F_206F_202E_202E_202E_206E_202A_200B_206C_202A_206B_202E((ILogger)_logger, ex, 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(-608308180), Array.Empty()); - _200F_206C_206F_202C_202B_206A_202A_202D_202D_202D_206F_206F_202C_206A_200F_202B_200D_202D_206B_202D_206E_202C_200E_206B_202D_202C_206F_206B_200C_206C_206E_200E_200B_200F_202C_206F_200F_200C_202E_200D_202E(_chatGui, _202A_206F_202A_206B_202E_200E_200E_200B_202C_202B_206F_200F_206C_202E_206C_206C_202D_206B_206A_200B_206D_206F_206D_200B_206C_202C_206D_206A_206C_202C_202E_206A_206F_200D_206F_206F_200B_206B_206D_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(-1675603926), _202C_200C_206E_202B_206E_200B_206E_200C_202A_206C_206C_202C_202A_206A_202C_206A_206E_200F_202A_200E_200C_200F_206F_206B_200F_200D_206F_206D_206F_206E_200B_202D_206E_206C_202B_206A_206E_200F_202D_206B_202E(ex)), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1231541163), (ushort?)(ushort)576); + _logger.LogError(ex, "Failed to import presets from clipboard"); + _chatGui.PrintError("Failed to import presets: " + ex.Message, "Questionable", 576); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void AddPresetToPriority(List questIds) { int num = 0; - int num2; - using (List.Enumerator enumerator = questIds.GetEnumerator()) + foreach (ElementId questId in questIds) { - num2 = 953789510; - while (true) + if (_questController.AddQuestPriority(questId)) { - int num3 = num2; - int num4 = 953789511; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 4: - num2 = 953789510; - break; - case 3: - { - ElementId current = enumerator.Current; - num2 = ((!_questController.AddQuestPriority(current)) ? 953789510 : 953789511); - break; - } - case 1: - num2 = (enumerator.MoveNext() ? 953789508 : 953789509); - break; - case 0: - { - int num8 = num; - num4 = 1; - num5 = num8; - int num9 = num5 ^ num4; - int num10 = num5 & num4; - num = num9 + (num10 + num10); - num2 = 953789510; - break; - } - case 2: - goto end_IL_0015; - } - continue; - end_IL_0015: - break; + num++; } } - num2 = ((num <= 0) ? 899476450 : 899476449); - while (true) + if (num > 0) { - int num11 = num2; - int num4 = 899476448; - int num5 = num11; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num2 = 899476449; - break; - case 2: - _200D_200E_206B_206D_206F_206C_206E_206D_200D_206F_206E_202D_200E_206F_200B_202D_202E_206A_202C_206C_206B_206D_200C_206F_202D_200E_202C_202E_202D_200C_206F_200B_202E_202A_202D_200D_202D_202D_202A_200E_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1367806069), new object[1] { num }); - return; - case 1: - { - IChatGui chatGui = _chatGui; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(32, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(901909596)); - defaultInterpolatedStringHandler.AppendFormatted(num); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1925546250)); - _206E_202B_206A_200C_206D_202B_206A_200F_206D_200D_202D_206B_202E_200B_202C_206B_206C_200F_200D_200E_206B_206A_202A_200D_200E_202B_202C_206C_206F_206C_206A_200C_200C_206F_202C_200E_202B_200C_202E_202D_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1179749275), (ushort?)(ushort)576); - num2 = 899476450; - break; - } - } + _chatGui.Print($"Added {num} quests to priority queue.", "Questionable", 576); } + _logger.LogInformation("Added {Count} quests from saved preset to priority list", num); } private List GetAvailableQuests(List questIds) { - return (from questId in questIds.Where(delegate(ElementId questId) - { - int num = (_questFunctions.IsReadyToAcceptQuest(questId) ? (-308827748) : (-308827745)); - while (true) - { - int num2 = num; - int num3 = -308827746; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return true; - case 1: - return _questFunctions.IsQuestAccepted(questId); - case 0: - goto IL_005c; - } - continue; - IL_005c: - num = -308827745; - } - }) - where !_questController.ManualPriorityQuests.Any((Quest q) => _003C_003Ec__DisplayClass41_0._202E_202B_206D_202D_206C_202E_206F_200B_202B_202C_206A_200C_200D_200E_202C_200D_202C_200E_200F_200C_206C_206A_200C_206A_206D_206D_202A_202A_200D_200E_202B_200F_202C_202C_202E_200F_200E_206D_206A_200E_202E(q.Id, questId)) + return (from questId in questIds + where _questFunctions.IsReadyToAcceptQuest(questId) || _questFunctions.IsQuestAccepted(questId) + where !_questController.ManualPriorityQuests.Any((Quest q) => q.Id.Equals(questId)) where _questRegistry.IsKnownQuest(questId) select questId).ToList(); } @@ -1917,293 +589,8 @@ internal sealed class SavedPresetsComponent private List GetAlreadyPriorityQuests(List questIds) { return (from questId in questIds - where _questController.ManualPriorityQuests.Any((Quest q) => _003C_003Ec__DisplayClass42_0._206E_206A_206B_206F_202C_200F_206A_202B_202D_200C_200B_206E_202D_202D_206D_200D_200F_200C_206E_202D_206B_200B_206C_206F_200B_206F_202A_202E_202C_202B_202A_202C_206F_200F_202D_206E_202D_202C_202E_200C_202E(q.Id, questId)) + where _questController.ManualPriorityQuests.Any((Quest q) => q.Id.Equals(questId)) where !_questFunctions.IsQuestComplete(questId) select questId).ToList(); } - - static Vector2 _206D_206E_206E_202C_206F_200C_202C_202C_200B_200B_200B_200D_206B_206F_200C_202D_202D_200B_200C_202A_206B_206B_206A_200B_206E_206F_202E_206A_200C_202B_206E_206C_206A_200F_206F_202D_200B_202B_206F_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static ImGuiStylePtr _200F_202E_202B_202C_206B_206C_200B_202E_202C_200C_206D_206C_206D_206B_200B_200C_206F_206B_200E_200B_202C_202C_200E_202B_206A_202E_200B_200E_202A_202C_206D_206D_202D_202D_202D_206E_200E_202C_206B_202D_202E() - { - return ImGui.GetStyle(); - } - - static void _206D_200E_200C_200D_200D_206D_206A_200F_206E_206A_206B_206B_200F_202A_200B_206D_202C_206C_202E_206F_206B_202B_200E_200B_200D_206E_200C_200F_206C_202B_206C_200C_202D_200C_200B_206E_202D_206A_206B_206B_202E(float P_0) - { - ImGui.SetNextItemWidth(P_0); - } - - static bool _206A_202B_206E_200F_206F_206F_202E_202D_200F_200E_200C_202B_206A_206D_206A_206F_202B_206D_200E_206B_202E_202D_202B_200C_206D_202D_202E_200C_200C_202D_206E_202C_202D_202C_206B_206F_206D_206D_202D_200E_202E(ImU8String P_0, ImU8String P_1, ref string P_2, int P_3, ImGuiInputTextFlags P_4, ImGui.ImGuiInputTextCallbackDelegate P_5) - { - return ImGui.InputTextWithHint(P_0, P_1, ref P_2, P_3, P_4, P_5); - } - - static bool _206E_206E_200F_200F_200C_206C_200D_206B_200C_200D_200D_202A_206A_206A_206D_206B_200C_200E_206E_200C_200B_200B_206E_206B_206D_200E_200E_206B_200D_206F_200F_206E_200C_202B_206F_202D_200D_206C_206D_202A_202E(string P_0) - { - return string.IsNullOrWhiteSpace(P_0); - } - - static ImRaii.DisabledDisposable _202B_206D_202A_200D_206A_206D_202B_200C_206E_206B_206D_200D_202D_206B_200E_206C_206A_200C_200C_202B_206D_206C_202E_200C_200F_200D_200E_206D_200C_206B_202D_200E_200C_202E_200D_202B_206B_202B_202E_202B_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static void _206A_200B_206A_206D_202E_206C_200D_206E_200D_202D_206A_200B_200C_206F_200C_202C_206E_206A_200B_200B_202E_200C_200E_202D_200E_202C_202E_202A_206E_206B_206C_200D_206C_206C_200E_200B_200B_202C_202C_200F_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _206C_206E_206C_200F_202C_202E_200F_202A_200D_200B_202A_206E_200E_206D_202C_200E_202A_200F_200B_200E_202A_206D_200D_202E_206B_202C_206E_206E_202B_200E_206B_202B_202B_202D_200E_206B_202A_200B_200C_202E() - { - ImGui.SameLine(); - } - - static bool _200F_206B_200D_202D_206C_206B_200E_202B_206A_206D_200E_200E_206B_200B_200E_200F_206D_202D_206A_206E_200B_206A_206B_202A_200B_206D_206B_206D_200B_206B_200F_202E_202A_200C_206C_206E_200C_206C_202B_202A_202E(ImGuiHoveredFlags P_0) - { - return ImGui.IsItemHovered(P_0); - } - - static void _200E_206D_206C_200F_206B_200F_200F_202D_206F_202E_202D_206F_206A_206A_202A_200D_206F_202C_206F_206F_206A_202B_200C_202A_206C_200B_202B_200D_202D_202B_202A_202A_200C_206A_206F_206D_200C_202B_206E_202B_202E(ImU8String P_0) - { - ImGui.SetTooltip(P_0); - } - - static ImRaii.ColorDisposable _206D_202B_200B_200E_206C_200B_206C_202E_200E_200E_200F_206F_200B_200E_200C_200B_206E_206A_206D_200F_206F_200F_206E_200F_202E_202E_200B_200E_202C_206E_200C_206A_206B_206B_202A_206F_202E_200D_202C_206B_202E(ImGuiCol P_0, Vector4 P_1, bool P_2) - { - return ImRaii.PushColor(P_0, P_1, P_2); - } - - static Vector2 _206D_206F_206E_206F_202D_200B_206D_206D_202B_206E_202B_206A_200F_200F_202D_200D_200D_206D_200C_206E_202C_206C_206D_202D_202A_200C_206F_200B_200C_202E_206C_202D_206A_202E_206F_200E_206A_206E_202C_202E_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static float _202D_206E_200D_202B_206E_206F_202C_202B_200C_202E_200F_202C_206D_202E_206D_202D_206F_200B_206A_206B_202B_206E_200D_206C_200D_206C_200E_202A_200D_206B_206A_206C_202D_206F_206F_200E_206D_202D_202D_206A_202E() - { - return ImGui.GetCursorPosX(); - } - - static void _202D_200B_206C_202C_202D_206D_202E_200E_200F_206B_202E_206B_202D_206D_206B_200C_200D_202C_200B_206D_206A_206B_202D_202C_202C_206D_200B_200E_202C_206B_200C_202C_202D_200E_206D_202C_206E_200F_200D_202A_202E(float P_0) - { - ImGui.SetCursorPosX(P_0); - } - - static void _202A_200B_202B_200B_206D_206A_202A_206A_206F_200C_206E_200E_206A_200F_202B_206E_202B_202C_202A_202C_202B_202A_202C_200C_200F_206E_200F_202C_206F_206B_206F_202D_202E_206F_202B_200E_206A_206B_206A_202E_202E(ImU8String P_0) - { - ImGui.TextUnformatted(P_0); - } - - static void _202C_206A_202E_206B_206B_206C_202B_206A_200E_206B_202D_200E_200C_206B_206E_206F_200F_206F_202D_206C_206A_206A_206A_202E_200B_202B_202E_206E_202A_200F_202E_206D_202A_206D_200D_200F_206A_206A_202A_202E() - { - ImGui.Spacing(); - } - - static bool _206E_202E_202A_202A_200F_206D_202C_206D_206C_202C_200D_200C_200C_202E_200B_200C_206F_200F_206A_206F_200C_206E_200D_200C_202C_202A_202E_202B_200C_202C_200C_200F_206F_202B_200E_206C_206A_206C_206A_202C_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200B_202C_202B_202C_202C_202E_206B_200D_202D_202A_200C_202D_206B_202B_206E_202E_206B_202E_200F_202C_206E_206D_202C_206F_206F_200E_206E_200D_200F_200C_202E_206C_206A_206E_202E_206F_202A_200F_202E_206E_202E(IDalamudPluginInterface P_0, IPluginConfiguration P_1) - { - P_0.SavePluginConfig(P_1); - } - - static void _200D_200E_206B_206D_206F_206C_206E_206D_200D_206F_206E_202D_200E_206F_200B_202D_202E_206A_202C_206C_206B_206D_200C_206F_202D_200E_202C_202E_202D_200C_206F_200B_202E_202A_202D_200D_202D_202D_202A_200E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static ImRaii.IdDisposable _202D_206A_200B_200F_206F_206B_206D_206F_202E_206C_206F_200B_206C_200C_202B_200C_202E_206D_202C_202C_202C_202D_206F_206C_206B_202B_206D_200C_200F_206A_206E_202E_206E_206F_206B_206D_206A_206D_202B_202A_202E(ImU8String P_0, bool P_1) - { - return ImRaii.PushId(P_0, P_1); - } - - static bool _202A_200B_206A_200E_200C_202A_202D_200D_206F_200F_206C_202B_200D_200F_200F_206C_206B_206B_200E_200F_202B_202D_200F_200C_206A_206A_206C_206C_206D_200F_206B_206A_206F_202E_202C_206A_202C_206C_202A_202D_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - - static float _206E_206C_206A_206B_200C_200B_202E_200C_206D_200E_202C_202C_200C_200F_206E_202A_200F_200B_202D_200E_200E_202C_206D_202E_200B_200E_202E_200E_206A_206A_200E_200B_206D_200D_202A_202C_200E_202E_202C_202E_202E() - { - return ImGui.GetFrameHeight(); - } - - static Vector2 _206E_200F_206D_202E_202D_206F_206F_206B_202E_202E_206E_202B_206E_202B_206D_206F_206C_202B_202D_202C_200E_202B_200D_206B_202E_202B_202E_206F_200F_206E_202D_206B_202B_206C_206E_206F_200E_200C_206B_200C_202E() - { - return ImGui.GetCursorScreenPos(); - } - - static bool _202C_202A_202B_202A_206C_206C_200E_206B_206A_202C_200D_206F_202B_206D_206C_206D_200D_202A_200B_206F_200B_202A_202C_200C_202A_202D_202D_200B_206B_202C_206E_206B_206C_202C_202C_206C_200E_206C_200F_200C_202E(ImU8String P_0, Vector2 P_1) - { - return ImGui.Button(P_0, P_1); - } - - static ImDrawListPtr _200D_206C_200D_206E_202B_200B_202E_200B_206F_200C_202E_202C_200B_206F_206F_202B_200B_202C_200C_206B_200F_200C_200C_200D_202C_200F_202E_202B_206D_206B_206C_206D_202A_200C_202C_206C_202D_202D_200B_206B_202E() - { - return ImGui.GetWindowDrawList(); - } - - static string _206B_206B_206C_206F_200F_206B_200F_206A_206D_202B_206F_202C_202B_200F_206B_202B_206D_206F_206C_206D_206D_202C_206D_200F_206C_200E_206D_202C_202A_200E_202B_200D_206D_202A_206A_200E_202E_206F_202D_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static ImFontPtr _200C_200E_202D_202E_206D_202A_206B_200E_200C_206E_206F_202E_202B_202E_202A_202A_202A_202C_200E_206C_202C_200B_200B_202B_200C_202B_202C_200F_202D_206C_200C_206D_206A_200D_206D_206A_206F_200C_200C_206D_202E() - { - return UiBuilder.IconFont; - } - - static ImRaii.FontDisposable _206D_206A_200B_202D_206A_202E_200C_206B_202C_206D_206B_206F_206A_206B_206B_206D_206D_200D_200D_206E_202A_206A_202C_200B_202D_206F_202C_200B_200E_202A_202D_200B_200D_202B_200F_206E_206A_202C_202B_202E_202E(ImFontPtr P_0, bool P_1) - { - return ImRaii.PushFont(P_0, P_1); - } - - static float _202B_202A_206C_202B_206A_200B_206C_206F_202B_202D_202D_202D_206E_206B_200B_200B_202A_202E_206D_202D_200D_200E_206E_202D_206C_206C_200F_200B_202B_200F_202E_202D_206B_202D_200D_202D_206D_206D_206A_200F_202E() - { - return ImGui.GetTextLineHeight(); - } - - static uint _202D_200D_206D_202A_202B_206D_200B_202A_206A_200E_206F_206B_200D_202C_202C_200D_200D_200B_206E_206F_202A_206A_206B_200F_202C_206C_206D_200F_200F_206E_202C_202C_200C_202C_200B_202C_206D_206E_206D_202E_202E(ImGuiCol P_0) - { - return ImGui.GetColorU32(P_0); - } - - static float _206B_206E_200C_200E_206C_202E_200C_202B_202D_200B_202C_202E_200E_206A_202E_202E_202A_206F_206D_206F_206E_206A_200E_206C_200F_202D_200F_206D_206C_200C_206C_206D_206C_202B_200D_200B_200C_200D_206B_206F_202E() - { - return ImGui.GetFontSize(); - } - - static uint _206E_206F_202C_206D_200E_202A_206B_202D_206C_200B_202E_206B_200D_200F_202A_200F_200C_206B_206C_200C_202D_206E_200E_202C_206C_200E_202D_206C_206D_202D_206E_202C_206E_206F_202D_202C_202D_202D_200D_206B_202E(Vector4 P_0) - { - return ImGui.ColorConvertFloat4ToU32(P_0); - } - - static string _206D_200B_206C_200B_206C_206C_200C_200E_202C_206B_206C_200B_200D_200E_200F_202E_206B_202B_200F_202E_200C_206F_202C_206A_206D_200C_206E_202E_206F_206B_202D_202D_200F_202C_202A_206D_200C_206F_202B_202D_202E(string P_0) - { - return P_0.Trim(); - } - - static bool _206B_206A_206C_206A_206E_202A_202A_200C_200E_200C_202E_202C_202D_200E_206A_200F_206E_202D_206B_202B_206B_202D_206E_206C_206F_206F_206C_202B_200B_202B_206A_202D_206E_202B_202C_200C_206A_200E_200B_202D_202E() - { - return ImGui.IsItemHovered(); - } - - static string _202E_206C_200E_206D_206B_206E_206D_202C_206A_200F_200D_202C_202C_206B_202A_200F_202B_202D_200D_200C_202A_206F_202B_200E_206D_206D_202A_202C_206B_202C_202D_202E_202A_200E_206D_202D_200D_202E_202A_200F_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _206E_200D_200B_206C_202B_206D_206B_200D_206A_200C_200D_206C_206B_200B_206D_200E_202D_202C_202E_200B_200C_206D_200C_200B_202D_206C_200E_200B_200B_200F_202C_202A_206C_200F_206C_200F_202A_206D_206C_206E_202E(ImGuiKey P_0) - { - return ImGui.IsKeyDown(P_0); - } - - static void _206E_202B_206A_200C_206D_202B_206A_200F_206D_200D_202D_206B_202E_200B_202C_206B_206C_200F_200D_200E_206B_206A_202A_200D_200E_202B_202C_206C_206F_206C_206A_200C_200C_206F_202C_200E_202B_200C_202E_202D_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.Print(P_1, P_2, P_3); - } - - static string _202A_200C_202E_206F_206E_202A_202B_202A_202A_206B_206C_206F_206D_202E_200E_206B_206E_206C_200B_206F_202A_206D_206C_206E_206A_206D_200C_202C_202D_202D_206E_206F_206F_200D_202C_206E_202E_206B_206D_206B_202E(string P_0) - { - return P_0.ToUpperInvariant(); - } - - static string _200B_206C_206C_202D_200E_200C_200D_202D_202D_206C_200B_200F_206D_202D_202C_202B_206D_202C_206D_200E_200F_200E_200E_202C_206B_206C_202E_200B_206C_200C_206F_202B_200D_200F_200C_206E_202A_200E_202D_202B_202E(string P_0, char P_1, char P_2) - { - return P_0.Replace(P_1, P_2); - } - - static string _202A_206F_202A_206B_202E_200E_200E_200B_202C_202B_206F_200F_206C_202E_206C_206C_202D_206B_206A_200B_206D_206F_206D_200B_206C_202C_206D_206A_206C_202C_202E_206A_206F_200D_206F_206F_200B_206B_206D_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static string _206D_206F_200E_202A_200F_200B_200B_202A_202E_206B_206B_206F_200E_202E_206C_206C_200B_202D_202D_206B_206E_206E_200E_200F_202D_206B_206B_206B_200F_206E_202E_200F_200C_206F_206E_206C_206E_200E_200D_200E_202E(object P_0) - { - return JsonConvert.SerializeObject(P_0); - } - - static Encoding _206A_202D_200E_206F_206F_202A_200C_202D_202E_202D_200F_206D_206D_202E_206E_206E_202E_206B_206F_200C_206E_200C_206B_202D_200E_206E_206C_206A_202D_202B_206A_206B_202C_206F_202D_206B_206E_200B_200B_202A_202E() - { - return Encoding.UTF8; - } - - static byte[] _206E_206F_202B_202B_202E_206D_202A_206B_206D_206A_206C_202C_206F_200C_202D_200E_206B_200F_202D_202E_200D_206E_200B_202D_202A_206A_200C_206D_200B_206E_200E_200D_202B_200B_200D_202A_200C_200B_200B_206C_202E(Encoding P_0, string P_1) - { - return P_0.GetBytes(P_1); - } - - static string _206B_206C_206F_200E_206C_202C_206A_202A_206D_206B_200D_206A_206B_200D_200E_200B_200C_200F_206F_206A_200C_206E_202B_202D_206A_202A_206A_200B_200D_202B_202A_206C_202B_200D_206B_202D_200D_206E_200D_200F_202E(byte[] P_0) - { - return Convert.ToBase64String(P_0); - } - - static void _200F_200B_200B_200B_206F_200B_202D_202B_200B_206F_202A_200C_206A_206D_206B_202D_202C_202C_206E_206E_200C_200D_206D_202D_202C_200C_200C_206A_202D_206C_200E_202B_200F_202E_202B_200B_200C_206E_206F_206E_202E(ImU8String P_0) - { - ImGui.SetClipboardText(P_0); - } - - static string _200C_202D_206B_206A_206D_206E_202E_202C_206F_200D_202B_202A_200B_200B_206A_206F_200F_200B_200B_206A_206D_200B_202A_200B_200F_206C_202A_202D_206B_202E_200B_206F_202D_202B_200F_200B_202A_200F_200D_200D_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static bool _202C_202C_206C_200F_200C_200B_206C_206A_200B_206A_202C_202E_206F_206B_206B_206B_202D_206D_200F_202D_202B_206F_206D_202A_200D_206C_206C_200C_200E_206D_200E_200D_200F_206B_200E_206D_206B_200C_202D_200D_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.StartsWith(P_1, P_2); - } - - static int _206B_200C_200E_202A_200B_206B_206C_200C_202C_202A_200B_206B_200C_202A_206F_202E_202E_202E_206D_202C_200D_206B_200B_200C_206E_206E_206C_202A_200E_206B_206E_200E_206B_206F_202C_206B_200C_206D_202E_206B_202E(string P_0) - { - return P_0.Length; - } - - static string _200C_200E_202E_206B_206F_202D_202A_200C_200D_202B_206B_202B_202A_202C_206A_200E_202D_206E_202E_202E_200D_200D_202E_202A_206A_206C_206F_200B_202C_206C_206E_206D_200F_202A_202D_202C_206A_200C_202D_200C_202E(string P_0, int P_1) - { - return P_0.Substring(P_1); - } - - static byte[] _200D_206F_202E_206C_200D_206E_202D_202E_206C_206F_200E_202C_206A_206E_200F_206C_206B_202B_206F_202D_202E_200F_200E_202D_206A_206D_206D_202C_206D_202E_206A_200F_200D_200F_200F_200B_206B_202A_202A_202B_202E(string P_0) - { - return Convert.FromBase64String(P_0); - } - - static string _206F_206C_202A_202C_202B_206A_206D_206F_200D_200E_206E_200C_202D_206D_202D_200C_206B_202E_200F_200C_202B_206C_202C_206C_200C_202A_200F_202A_202E_200C_202B_206D_200C_200E_200E_200F_200E_206B_200D_206B_202E(Encoding P_0, byte[] P_1) - { - return P_0.GetString(P_1); - } - - static void _202C_206D_206A_206B_202E_202D_200D_202A_200C_206A_206D_202E_206A_200F_206E_206D_206C_202E_206F_206D_202A_206C_206A_202B_206D_206C_206A_200E_200C_200B_202D_202A_206F_206D_202E_202B_200C_202D_206E_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogDebug(P_1, P_2, P_3); - } - - static List _202E_206D_202A_200D_200B_206F_206B_206B_200D_202C_200E_206C_206C_206A_206B_202A_206A_202C_206A_202A_202D_202E_206F_202A_200D_206A_202A_202D_206E_202A_200E_200F_202B_202A_200B_206F_200E_206C_206C_200C_202E(IEnumerable P_0, ref int P_1) - { - return ElementId.FromStrings(P_0, out P_1); - } - - static void _200F_206C_206F_202C_202B_206A_202A_202D_202D_202D_206F_206F_202C_206A_200F_202B_200D_202D_206B_202D_206E_202C_200E_206B_202D_202C_206F_206B_200C_206C_206E_200E_200B_200F_202C_206F_200F_200C_202E_200D_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); - } - - static void _202B_200B_202A_200F_206C_200B_206F_206E_202E_202B_206D_202E_202A_200D_202A_200D_206C_206B_200F_200B_206D_200D_200E_202D_202B_206E_200C_202E_202D_206F_206F_202E_202E_202E_206E_202A_200B_206C_202A_206B_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } - - static string _202C_200C_206E_202B_206E_200B_206E_200C_202A_206C_206C_202C_202A_206A_202C_206A_206E_200F_202A_200E_200C_200F_206F_206B_200F_200D_206F_206D_206F_206E_200B_202D_206E_206C_202B_206A_206E_200F_202D_206B_202E(Exception P_0) - { - return P_0.Message; - } - - static StringComparer _202E_206C_202C_202C_206B_202E_200E_206C_202C_202A_200E_206C_200E_206C_206D_202A_200F_206F_202C_202A_200D_200E_206B_200F_200F_202A_202D_206A_200D_206D_206F_200E_200C_202A_206C_200E_200E_202C_200E_200E_202E() - { - return StringComparer.OrdinalIgnoreCase; - } } diff --git a/Questionable/Questionable.Windows.QuestComponents/ValidationDetailsRenderer.cs b/Questionable/Questionable.Windows.QuestComponents/ValidationDetailsRenderer.cs index 5d23ce2..76c69c9 100644 --- a/Questionable/Questionable.Windows.QuestComponents/ValidationDetailsRenderer.cs +++ b/Questionable/Questionable.Windows.QuestComponents/ValidationDetailsRenderer.cs @@ -3,12 +3,10 @@ using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using System.Text.RegularExpressions; using Dalamud.Bindings.ImGui; using Dalamud.Interface; using Dalamud.Interface.Colors; -using Dalamud.Interface.ManagedFontAtlas; using Dalamud.Interface.Utility.Raii; using Dalamud.Plugin; using Questionable.Data; @@ -20,208 +18,6 @@ namespace Questionable.Windows.QuestComponents; internal sealed class ValidationDetailsRenderer { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static MatchEvaluator _003C_003E9__8_0; - - public static MatchEvaluator _003C_003E9__8_1; - - public static Func _003C_003E9__13_0; - - public static Func _003C_003E9__13_1; - - internal string _003CCleanJsonText_003Eb__8_0(Match match) - { - int result; - int num = ((!int.TryParse(_202A_206E_206D_202C_200D_206D_200F_206D_206B_202C_200D_206C_202B_206D_200F_200E_202C_200D_202D_206F_206C_206B_200C_202D_206C_206D_202D_200F_202D_200B_202B_206F_200F_202D_202C_202C_200E_206C_200B_202E_202E((Capture)_200C_206D_206E_206D_206F_206A_202B_200C_206F_200F_200B_202A_200E_202E_202A_202A_202B_200F_200F_200F_206D_206D_202E_202E_206C_200D_202D_206F_200F_206D_202E_202B_206D_202D_200C_202C_202A_200B_202E_206F_202E(_202B_200B_200C_202D_200F_206C_202B_206C_206A_206B_202D_202D_206E_206F_200F_206A_206E_202B_206D_202C_206C_200D_200D_206C_206E_202D_202B_202C_206E_202C_206A_200D_200F_202E_202C_200E_202C_200C_206D_206F_202E(match), 1)), NumberStyles.HexNumber, _206E_202A_202B_206B_202C_202E_200E_200F_202E_206B_206B_202B_200B_202B_206E_200C_202E_202D_202A_202B_206F_200D_202C_200B_202A_200D_206F_206D_202D_200B_206F_200F_206A_202E_200E_206F_206A_206E_200C_202E(), out result)) ? (-78182920) : (-78182919)); - while (true) - { - int num2 = num; - int num3 = -78182920; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0065; - case 0: - return _202A_206E_206D_202C_200D_206D_200F_206D_206B_202C_200D_206C_202B_206D_200F_200E_202C_200D_202D_206F_206C_206B_200C_202D_206C_206D_202D_200F_202D_200B_202B_206F_200F_202D_202C_202C_200E_206C_200B_202E_202E((Capture)match); - case 1: - return ((char)result).ToString(); - } - continue; - IL_0065: - num = -78182919; - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal string _003CCleanJsonText_003Eb__8_1(Match match) - { - string text = _202A_206E_206D_202C_200D_206D_200F_206D_206B_202C_200D_206C_202B_206D_200F_200E_202C_200D_202D_206F_206C_206B_200C_202D_206C_206D_202D_200F_202D_200B_202B_206F_200F_202D_202C_202C_200E_206C_200B_202E_202E((Capture)_200C_206D_206E_206D_206F_206A_202B_200C_206F_200F_200B_202A_200E_202E_202A_202A_202B_200F_200F_200F_206D_206D_202E_202E_206C_200D_202D_206F_200F_206D_202E_202B_206D_202D_200C_202C_202A_200B_202E_206F_202E(_202B_200B_200C_202D_200F_206C_202B_206C_206A_206B_202D_202D_206E_206F_200F_206A_206E_202B_206D_202C_206C_200D_200D_206C_206E_202D_202B_202C_206E_202C_206A_200D_200F_202E_202C_200E_202C_200C_206D_206F_202E(match), 1)); - int num = ((text == null) ? 1436972652 : 1436972649); - string result = default(string); - char c = default(char); - while (true) - { - int num2 = num; - int num3 = 1436972646; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 12: - return result; - case 4: - num = 1436972652; - break; - case 7: - num = ((c == '\\') ? 1436972656 : 1436972660); - break; - case 9: - num = ((c == 't') ? 1436972658 : 1436972659); - break; - case 0: - num = 1436972652; - break; - case 25: - result = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(450513600); - num = 1436972650; - break; - case 22: - result = 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(1093876266); - num = 1436972650; - break; - case 24: - c = _200E_202A_200C_202C_206B_202A_202B_206C_206D_200D_206E_200D_200D_200D_200B_202E_200C_202E_200E_200F_202E_202C_202C_202D_202A_200F_206F_202C_200E_200F_202C_200B_202D_206E_206C_200E_206F_200B_200C_206E_202E(text, 0); - num = (((uint)c > 98u) ? 1436972644 : 1436972662); - break; - case 1: - num = ((c == '"') ? 1436972653 : 1436972668); - break; - case 8: - result = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-976057447); - num = 1436972650; - break; - case 18: - num = ((c == 'b') ? 1436972671 : 1436972657); - break; - case 5: - num = ((c == 'f') ? 1436972648 : 1436972645); - break; - case 15: - { - int num7 = _206C_206A_206E_202A_200D_200E_206D_202A_206E_200F_200F_200B_202D_200B_206E_206B_206C_206E_206E_206E_200B_202C_206F_206A_200E_202B_206E_200F_206D_206B_206B_202A_200D_206B_200C_200F_200D_200F_202E_206E_202E(text); - num = ((num7 != 1) ? 1436972652 : 1436972670); - break; - } - case 3: - num = ((c == 'n') ? 1436972654 : 1436972642); - break; - case 23: - num = 1436972652; - break; - case 14: - result = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1138276974); - num = 1436972650; - break; - case 19: - num = 1436972649; - break; - case 17: - result = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1680133376); - num = 1436972650; - break; - case 21: - num = 1436972652; - break; - case 10: - result = _202A_206E_206D_202C_200D_206D_200F_206D_206B_202C_200D_206C_202B_206D_200F_200E_202C_200D_202D_206F_206C_206B_200C_202D_206C_206D_202D_200F_202D_200B_202B_206F_200F_202D_202C_202C_200E_206C_200B_202E_202E((Capture)match); - num = 1436972650; - break; - case 20: - result = 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(-1365294164); - num = 1436972650; - break; - case 26: - num = ((c == '/') ? 1436972663 : 1436972646); - break; - case 16: - num = (((uint)c > 47u) ? 1436972641 : 1436972647); - break; - case 2: - num = (((uint)c > 110u) ? 1436972640 : 1436972643); - break; - case 6: - num = ((c == 'r') ? 1436972651 : 1436972655); - break; - case 13: - result = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1154172741); - num = 1436972650; - break; - case 11: - result = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(948996293); - num = 1436972650; - break; - } - } - } - - internal string _003CDrawDisabledTribesDetails_003Eb__13_0(string x) - { - return _202B_200D_202D_202D_200F_206A_206F_206E_200E_206C_206B_200E_202B_200B_202D_206E_202A_206F_206B_200F_202B_200B_206B_206E_206F_202A_206C_200F_206E_202D_206D_206D_206E_200F_202C_200D_202B_200D_206B_202D_202E(x); - } - - internal bool _003CDrawDisabledTribesDetails_003Eb__13_1(string x) - { - return !_200C_200C_206E_206F_200D_206D_202C_206A_202B_206E_206C_202D_202E_202B_200C_200E_202A_202B_206B_200D_200D_200B_202E_202A_202A_200E_206B_200B_206B_202B_200E_200E_206A_200F_202D_206A_206F_202C_202E_202C_202E(x); - } - - static GroupCollection _202B_200B_200C_202D_200F_206C_202B_206C_206A_206B_202D_202D_206E_206F_200F_206A_206E_202B_206D_202C_206C_200D_200D_206C_206E_202D_202B_202C_206E_202C_206A_200D_200F_202E_202C_200E_202C_200C_206D_206F_202E(Match P_0) - { - return P_0.Groups; - } - - static Group _200C_206D_206E_206D_206F_206A_202B_200C_206F_200F_200B_202A_200E_202E_202A_202A_202B_200F_200F_200F_206D_206D_202E_202E_206C_200D_202D_206F_200F_206D_202E_202B_206D_202D_200C_202C_202A_200B_202E_206F_202E(GroupCollection P_0, int P_1) - { - return P_0[P_1]; - } - - static string _202A_206E_206D_202C_200D_206D_200F_206D_206B_202C_200D_206C_202B_206D_200F_200E_202C_200D_202D_206F_206C_206B_200C_202D_206C_206D_202D_200F_202D_200B_202B_206F_200F_202D_202C_202C_200E_206C_200B_202E_202E(Capture P_0) - { - return P_0.Value; - } - - static CultureInfo _206E_202A_202B_206B_202C_202E_200E_200F_202E_206B_206B_202B_200B_202B_206E_200C_202E_202D_202A_202B_206F_200D_202C_200B_202A_200D_206F_206D_202D_200B_206F_200F_206A_202E_200E_206F_206A_206E_200C_202E() - { - return CultureInfo.InvariantCulture; - } - - static int _206C_206A_206E_202A_200D_200E_206D_202A_206E_200F_200F_200B_202D_200B_206E_206B_206C_206E_206E_206E_200B_202C_206F_206A_200E_202B_206E_200F_206D_206B_206B_202A_200D_206B_200C_200F_200D_200F_202E_206E_202E(string P_0) - { - return P_0.Length; - } - - static char _200E_202A_200C_202C_206B_202A_202B_206C_206D_200D_206E_200D_200D_200D_200B_202E_200C_202E_200E_200F_202E_202C_202C_202D_202A_200F_206F_202C_200E_200F_202C_200B_202D_206E_206C_200E_206F_200B_200C_206E_202E(string P_0, int P_1) - { - return P_0[P_1]; - } - - static string _202B_200D_202D_202D_200F_206A_206F_206E_200E_206C_206B_200E_202B_200B_202D_206E_202A_206F_206B_200F_202B_200B_206B_206E_206F_202A_206C_200F_206E_202D_206D_206D_206E_200F_202C_200D_202B_200D_206B_202D_202E(string P_0) - { - return P_0.Trim(); - } - - static bool _200C_200C_206E_206F_200D_206D_202C_206A_202B_206E_206C_202D_202E_202B_200C_200E_202A_202B_206B_200D_200D_200B_202E_202A_202A_200E_206B_200B_206B_202B_200E_200E_206A_200F_202D_206A_206F_202C_202E_202C_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - } - private readonly QuestData _questData; private readonly IDalamudPluginInterface _pluginInterface; @@ -230,11 +26,11 @@ internal sealed class ValidationDetailsRenderer private readonly Dictionary _openDetailWindows = new Dictionary(); - private static readonly Regex UnicodeEscapeRegex = _202B_202E_206B_206B_200D_202B_202C_202A_200E_206E_202B_200B_202B_206E_200B_200C_202E_200E_206B_206A_206F_202C_200B_206A_200D_206A_200F_206B_206C_206B_200F_200E_206E_206E_206C_202B_202A_206D_206B_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-614545086), RegexOptions.Compiled); + private static readonly Regex UnicodeEscapeRegex = new Regex("\\\\u([0-9A-Fa-f]{4})", RegexOptions.Compiled); - private static readonly Regex JsonEscapeRegex = _202B_202E_206B_206B_200D_202B_202C_202A_200E_206E_202B_200B_202B_206E_200B_200C_202E_200E_206B_206A_206F_202C_200B_206A_200D_206A_200F_206B_206C_206B_200F_200E_206E_206E_206C_202B_202A_206D_206B_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-619826859), RegexOptions.Compiled); + private static readonly Regex JsonEscapeRegex = new Regex("\\\\(.)", RegexOptions.Compiled); - private static readonly Regex ConsecutiveQuotesRegex = _202B_202E_206B_206B_200D_202B_202C_202A_200E_206E_202B_200B_202B_206E_200B_200C_202E_200E_206B_206A_206F_202C_200B_206A_200D_206A_200F_206B_206C_206B_200F_200E_206E_206E_206C_202B_202A_206D_206B_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1286690539), RegexOptions.Compiled); + private static readonly Regex ConsecutiveQuotesRegex = new Regex("\"{2,}", RegexOptions.Compiled); public ValidationDetailsRenderer(QuestData questData, IDalamudPluginInterface pluginInterface) { @@ -242,170 +38,31 @@ internal sealed class ValidationDetailsRenderer _pluginInterface = pluginInterface; } - [MethodImpl(MethodImplOptions.NoInlining)] public static string CleanJsonText(string text) { - int num = ((!_206F_202B_202A_200C_206B_206E_206D_202A_206C_202D_206E_200C_200D_200E_202E_206B_206F_202B_200B_200C_200B_206C_206D_200F_202E_202D_206F_206F_206C_200D_206E_200D_200E_206D_202E_200F_202D_206F_202A_206D_202E(text)) ? 1031753240 : 1031753244); - while (true) + if (string.IsNullOrEmpty(text)) { - int num2 = num; - int num3 = 1031753240; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - text = _206B_202D_206D_202B_202C_202A_206D_200E_202A_202B_200B_206D_202D_202B_206D_200C_200D_206A_202D_206B_206F_206E_200E_202E_200C_200C_206A_202E_200C_206E_202E_202B_200C_202D_202E_206D_200C_202A_200F_206A_202E(UnicodeEscapeRegex, text, (MatchEvaluator)delegate(Match match) - { - int result; - int num7 = ((!int.TryParse(_003C_003Ec._202A_206E_206D_202C_200D_206D_200F_206D_206B_202C_200D_206C_202B_206D_200F_200E_202C_200D_202D_206F_206C_206B_200C_202D_206C_206D_202D_200F_202D_200B_202B_206F_200F_202D_202C_202C_200E_206C_200B_202E_202E((Capture)_003C_003Ec._200C_206D_206E_206D_206F_206A_202B_200C_206F_200F_200B_202A_200E_202E_202A_202A_202B_200F_200F_200F_206D_206D_202E_202E_206C_200D_202D_206F_200F_206D_202E_202B_206D_202D_200C_202C_202A_200B_202E_206F_202E(_003C_003Ec._202B_200B_200C_202D_200F_206C_202B_206C_206A_206B_202D_202D_206E_206F_200F_206A_206E_202B_206D_202C_206C_200D_200D_206C_206E_202D_202B_202C_206E_202C_206A_200D_200F_202E_202C_200E_202C_200C_206D_206F_202E(match), 1)), NumberStyles.HexNumber, _003C_003Ec._206E_202A_202B_206B_202C_202E_200E_200F_202E_206B_206B_202B_200B_202B_206E_200C_202E_202D_202A_202B_206F_200D_202C_200B_202A_200D_206F_206D_202D_200B_206F_200F_206A_202E_200E_206F_206A_206E_200C_202E(), out result)) ? (-78182920) : (-78182919)); - while (true) - { - int num8 = num7; - int num9 = -78182920; - int num10 = num8; - switch ((num10 | num9) - (num10 & num9)) - { - case 2: - goto IL_0065; - case 0: - return _003C_003Ec._202A_206E_206D_202C_200D_206D_200F_206D_206B_202C_200D_206C_202B_206D_200F_200E_202C_200D_202D_206F_206C_206B_200C_202D_206C_206D_202D_200F_202D_200B_202B_206F_200F_202D_202C_202C_200E_206C_200B_202E_202E((Capture)match); - case 1: - return ((char)result).ToString(); - } - continue; - IL_0065: - num7 = -78182919; - } - }); - text = _206B_202D_206D_202B_202C_202A_206D_200E_202A_202B_200B_206D_202D_202B_206D_200C_200D_206A_202D_206B_206F_206E_200E_202E_200C_200C_206A_202E_200C_206E_202E_202B_200C_202D_202E_206D_200C_202A_200F_206A_202E(JsonEscapeRegex, text, (MatchEvaluator)([MethodImpl(MethodImplOptions.NoInlining)] (Match match) => - { - string text2 = _003C_003Ec._202A_206E_206D_202C_200D_206D_200F_206D_206B_202C_200D_206C_202B_206D_200F_200E_202C_200D_202D_206F_206C_206B_200C_202D_206C_206D_202D_200F_202D_200B_202B_206F_200F_202D_202C_202C_200E_206C_200B_202E_202E((Capture)_003C_003Ec._200C_206D_206E_206D_206F_206A_202B_200C_206F_200F_200B_202A_200E_202E_202A_202A_202B_200F_200F_200F_206D_206D_202E_202E_206C_200D_202D_206F_200F_206D_202E_202B_206D_202D_200C_202C_202A_200B_202E_206F_202E(_003C_003Ec._202B_200B_200C_202D_200F_206C_202B_206C_206A_206B_202D_202D_206E_206F_200F_206A_206E_202B_206D_202C_206C_200D_200D_206C_206E_202D_202B_202C_206E_202C_206A_200D_200F_202E_202C_200E_202C_200C_206D_206F_202E(match), 1)); - int num7 = ((text2 == null) ? 1436972652 : 1436972649); - string result = default(string); - char c = default(char); - while (true) - { - int num8 = num7; - int num9 = 1436972646; - int num10 = num8; - int num11 = num10 + num9; - int num12 = num10 & num9; - switch (num11 - (num12 + num12)) - { - case 12: - return result; - case 4: - num7 = 1436972652; - break; - case 7: - num7 = ((c == '\\') ? 1436972656 : 1436972660); - break; - case 9: - num7 = ((c == 't') ? 1436972658 : 1436972659); - break; - case 0: - num7 = 1436972652; - break; - case 25: - result = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(450513600); - num7 = 1436972650; - break; - case 22: - result = 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(1093876266); - num7 = 1436972650; - break; - case 24: - c = _003C_003Ec._200E_202A_200C_202C_206B_202A_202B_206C_206D_200D_206E_200D_200D_200D_200B_202E_200C_202E_200E_200F_202E_202C_202C_202D_202A_200F_206F_202C_200E_200F_202C_200B_202D_206E_206C_200E_206F_200B_200C_206E_202E(text2, 0); - num7 = (((uint)c > 98u) ? 1436972644 : 1436972662); - break; - case 1: - num7 = ((c == '"') ? 1436972653 : 1436972668); - break; - case 8: - result = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-976057447); - num7 = 1436972650; - break; - case 18: - num7 = ((c == 'b') ? 1436972671 : 1436972657); - break; - case 5: - num7 = ((c == 'f') ? 1436972648 : 1436972645); - break; - case 15: - { - int num13 = _003C_003Ec._206C_206A_206E_202A_200D_200E_206D_202A_206E_200F_200F_200B_202D_200B_206E_206B_206C_206E_206E_206E_200B_202C_206F_206A_200E_202B_206E_200F_206D_206B_206B_202A_200D_206B_200C_200F_200D_200F_202E_206E_202E(text2); - num7 = ((num13 != 1) ? 1436972652 : 1436972670); - break; - } - case 3: - num7 = ((c == 'n') ? 1436972654 : 1436972642); - break; - case 23: - num7 = 1436972652; - break; - case 14: - result = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1138276974); - num7 = 1436972650; - break; - case 19: - num7 = 1436972649; - break; - case 17: - result = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1680133376); - num7 = 1436972650; - break; - case 21: - num7 = 1436972652; - break; - case 10: - result = _003C_003Ec._202A_206E_206D_202C_200D_206D_200F_206D_206B_202C_200D_206C_202B_206D_200F_200E_202C_200D_202D_206F_206C_206B_200C_202D_206C_206D_202D_200F_202D_200B_202B_206F_200F_202D_202C_202C_200E_206C_200B_202E_202E((Capture)match); - num7 = 1436972650; - break; - case 20: - result = 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(-1365294164); - num7 = 1436972650; - break; - case 26: - num7 = ((c == '/') ? 1436972663 : 1436972646); - break; - case 16: - num7 = (((uint)c > 47u) ? 1436972641 : 1436972647); - break; - case 2: - num7 = (((uint)c > 110u) ? 1436972640 : 1436972643); - break; - case 6: - num7 = ((c == 'r') ? 1436972651 : 1436972655); - break; - case 13: - result = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1154172741); - num7 = 1436972650; - break; - case 11: - result = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(948996293); - num7 = 1436972650; - break; - } - } - })); - num = ((!_200D_206B_200F_200C_206D_200C_206B_206F_200B_202D_202D_202B_200C_200E_202B_200F_206C_202E_200B_200F_200B_202B_206F_202D_200D_202B_202E_200D_200D_202D_202D_200E_200D_206D_206E_202A_206E_206D_200C_206A_202E(text, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-184638744), StringComparison.Ordinal)) ? 1031753241 : 1031753242); - break; - case 2: - text = _200D_206B_202E_200E_200E_202E_202C_202C_202C_206F_206B_200B_200E_206E_202A_206C_202C_206C_202C_200B_200E_206A_202B_206C_202B_200D_206A_202A_206D_206D_200F_200F_206A_206B_200F_202B_200F_200D_200F_202B_202E(ConsecutiveQuotesRegex, text, 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(1792309681)); - text = _202A_206D_200B_206E_206B_206A_200C_206E_206F_206C_206A_202B_200E_206A_202B_206C_206E_200E_202B_206F_200C_200C_202D_200E_200D_200C_200B_206E_202A_202B_200B_202E_206A_206C_206F_202A_200D_202D_202E_202B_202E(text, 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(15484770), 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(15484770), StringComparison.Ordinal); - num = 1031753241; - break; - case 3: - num = 1031753244; - break; - case 4: - return text; - case 1: - return text; - } + return text; } + text = UnicodeEscapeRegex.Replace(text, (Match match) => int.TryParse(match.Groups[1].Value, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out var result) ? ((char)result).ToString() : match.Value); + text = JsonEscapeRegex.Replace(text, (Match match) => match.Groups[1].Value switch + { + "\"" => "\"", + "\\" => "\\", + "/" => "/", + "b" => "\b", + "f" => "\f", + "n" => "\n", + "r" => "\r", + "t" => "\t", + _ => match.Value, + }); + if (text.Contains("\"\"", StringComparison.Ordinal)) + { + text = ConsecutiveQuotesRegex.Replace(text, "\""); + text = text.Replace("Expected \"\"", "Expected \"\"", StringComparison.Ordinal); + } + return text; } public void OpenDetails(ValidationIssue issue, int index) @@ -414,1039 +71,268 @@ internal sealed class ValidationDetailsRenderer _openDetailWindows[index] = true; } - [MethodImpl(MethodImplOptions.NoInlining)] public void DrawDetailWindows() { List list = new List(); - using (List>.Enumerator enumerator = _openDetailWindows.ToList().GetEnumerator()) + foreach (KeyValuePair item in _openDetailWindows.ToList()) { - KeyValuePair current = default(KeyValuePair); - while (true) + if (!item.Value || !_storedIssues.TryGetValue(item.Key, out ValidationIssue value)) { - IL_0221: - int num; - if (enumerator.MoveNext()) + continue; + } + string text = $"Validation Details##{item.Key}"; + bool open = true; + ImGui.SetNextWindowSize(new Vector2(800f, 600f), ImGuiCond.FirstUseEver); + ImGui.SetNextWindowSizeConstraints(new Vector2(500f, 300f), new Vector2(1200f, 800f)); + using (ThemedWindow.PushTheme()) + { + if (ImGui.Begin(text, ref open)) + { + DrawIssueDetails(value); + } + ImGui.End(); + } + if (!open) + { + list.Add(item.Key); + } + } + foreach (int item2 in list) + { + _openDetailWindows.Remove(item2); + _storedIssues.Remove(item2); + } + } + + private void DrawIssueDetails(ValidationIssue issue) + { + Vector4 color = issue.Severity switch + { + EIssueSeverity.Error => ImGuiColors.DalamudRed, + EIssueSeverity.Warning => ImGuiColors.DalamudYellow, + _ => ImGuiColors.DalamudOrange, + }; + FontAwesomeIcon icon = issue.Severity switch + { + EIssueSeverity.Error => FontAwesomeIcon.ExclamationTriangle, + EIssueSeverity.Warning => FontAwesomeIcon.ExclamationCircle, + _ => FontAwesomeIcon.InfoCircle, + }; + using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push()) + { + using (ImRaii.PushColor(ImGuiCol.Text, color)) + { + ImGui.TextUnformatted(icon.ToIconString()); + } + } + ImGui.SameLine(); + using (ImRaii.PushColor(ImGuiCol.Text, color)) + { + ImU8String text = new ImU8String(2, 2); + text.AppendFormatted(issue.Severity); + text.AppendLiteral(": "); + text.AppendFormatted(issue.Type); + ImGui.Text(text); + } + ImGui.Separator(); + ImU8String text2 = new ImU8String(6, 1); + text2.AppendLiteral("Type: "); + text2.AppendFormatted(issue.PathType); + ImGui.Text(text2); + if (issue.Id != null) + { + if (issue.PathType == EPathType.Quest && ElementId.TryFromString(issue.Id, out ElementId elementId) && elementId != null) + { + try + { + IQuestInfo questInfo = _questData.GetQuestInfo(elementId); + ImU8String text3 = new ImU8String(10, 2); + text3.AppendLiteral("Quest: "); + text3.AppendFormatted(issue.Id); + text3.AppendLiteral(" - "); + text3.AppendFormatted(questInfo.Name); + ImGui.Text(text3); + } + catch + { + ImU8String text4 = new ImU8String(4, 1); + text4.AppendLiteral("ID: "); + text4.AppendFormatted(issue.Id); + ImGui.Text(text4); + } + } + else + { + ImU8String text5 = new ImU8String(4, 1); + text5.AppendLiteral("ID: "); + text5.AppendFormatted(issue.Id); + ImGui.Text(text5); + } + } + if (issue.Location != null) + { + ImU8String text6 = new ImU8String(10, 1); + text6.AppendLiteral("Location: "); + text6.AppendFormatted(issue.Location); + ImGui.Text(text6); + } + ImGui.Separator(); + ImGui.Text("Description:"); + string description = CleanJsonText(issue.Description ?? "(no description)"); + if (issue.Type == EIssueType.QuestDisabled && issue.Id == null) + { + DrawDisabledTribesDetails(description); + } + else if (issue.Type == EIssueType.InvalidJsonSyntax) + { + DrawJsonSyntaxErrorDetails(description); + } + else + { + DrawGenericDetails(description); + } + } + + private static void DrawJsonSyntaxErrorDetails(string description) + { + string[] array = description.Split('\n'); + for (int i = 0; i < array.Length; i++) + { + string text = array[i].Trim(); + if (string.IsNullOrEmpty(text)) + { + ImGui.Spacing(); + } + else if (text.StartsWith("JSON parsing error", StringComparison.Ordinal)) + { + using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed)) + { + ImGui.TextWrapped(text); + } + } + else if (text.StartsWith("This usually indicates", StringComparison.Ordinal) || text.StartsWith("Please check", StringComparison.Ordinal)) + { + using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.HealerGreen)) + { + ImGui.TextWrapped(text); + } + } + else if (text.StartsWith("• ", StringComparison.Ordinal)) + { + using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudYellow)) + { + ImGui.TextWrapped(text); + } + } + else + { + ImGui.TextWrapped(text); + } + } + } + + private void DrawDisabledTribesDetails(string description) + { + string[] array = description.Split(':', 2); + if (array.Length < 2) + { + ImGui.TextWrapped(description); + return; + } + ImGui.TextWrapped(array[0]); + ImGui.Spacing(); + List list = (from x in array[1].Split(',', StringSplitOptions.RemoveEmptyEntries) + select x.Trim() into x + where !string.IsNullOrEmpty(x) + select x).Distinct().ToList(); + if (list.Count == 0) + { + ImGui.TextWrapped("(no disabled quests listed)"); + return; + } + ImGui.Text("Disabled Quests:"); + ImGui.Indent(); + Vector4[] array2 = new Vector4[6] + { + ImGuiColors.TankBlue, + ImGuiColors.HealerGreen, + ImGuiColors.DPSRed, + ImGuiColors.ParsedGreen, + ImGuiColors.ParsedBlue, + ImGuiColors.DalamudViolet + }; + for (int num = 0; num < list.Count; num++) + { + string value = list[num]; + Vector4 color = array2[num % array2.Length]; + using (ImRaii.PushColor(ImGuiCol.Text, color)) + { + if (ElementId.TryFromString(value, out ElementId elementId) && elementId != null) { - current = enumerator.Current; - if (!current.Value || !_storedIssues.TryGetValue(current.Key, out ValidationIssue value)) - { - continue; - } - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(20, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(1298951719)); - defaultInterpolatedStringHandler.AppendFormatted(current.Key); - string text = defaultInterpolatedStringHandler.ToStringAndClear(); - bool flag = true; - _202C_202C_206B_202C_202B_202C_206A_202E_200E_200B_202C_200E_202E_206B_200C_206D_202C_206C_202A_206A_206A_206D_206E_206C_206F_202D_202C_202C_200B_202C_206F_202B_206B_200F_206A_206C_202D_200B_202E_202D_202E(new Vector2(800f, 600f), ImGuiCond.FirstUseEver); - _206F_202D_206A_202D_200D_202E_200D_200C_206C_200E_206C_206F_200C_206C_202C_200B_206E_206C_206C_200B_206A_206E_200C_200F_202A_202E_202A_200C_206A_202E_200D_206C_202E_206A_200C_200D_202E_206B_202E_200D_202E(new Vector2(500f, 300f), new Vector2(1200f, 800f)); - IDisposable disposable = ThemedWindow.PushTheme(); try { - num = ((!_202C_202D_206F_206F_206E_206D_202D_202C_202A_206F_200E_206C_206E_200F_206C_206B_200D_206C_202E_202A_200D_202D_200C_202B_206E_202C_206E_206E_202D_206B_200F_200C_206C_202E_200E_206B_206F_206F_202A_206E_202E((ImU8String)text, ref flag, ImGuiWindowFlags.None)) ? (-1150168852) : (-1150168851)); - while (true) - { - int num2 = num; - int num3 = -1150168852; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1150168851; - break; - case 1: - DrawIssueDetails(value); - num = -1150168852; - break; - case 0: - _206D_200E_206C_202B_206B_202D_202C_206F_206C_206B_206D_206F_206B_202B_202B_200D_206C_202C_202A_206B_206D_202D_206A_206A_206A_202A_206A_206A_202C_200C_202C_200D_200C_200C_200B_200B_206E_200B_202D_202E_202E(); - goto end_IL_00e9; - } - continue; - end_IL_00e9: - break; - } + IQuestInfo questInfo = _questData.GetQuestInfo(elementId); + ImU8String text = new ImU8String(5, 2); + text.AppendLiteral("• "); + text.AppendFormatted(value); + text.AppendLiteral(" - "); + text.AppendFormatted(questInfo.Name); + ImGui.TextWrapped(text); } - finally + catch { - num = ((disposable == null) ? 17242960 : 17242961); - while (true) - { - int num5 = num; - int num3 = 17242960; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 0: - goto end_IL_015d; - case 1: - _200B_200B_202C_206C_202B_200D_202E_206F_202B_200B_202E_200D_200F_202B_202A_202E_200B_206E_200F_206E_202E_202D_206B_202C_202A_200B_202E_200C_206B_200D_206F_202D_202E_206D_206D_206E_200B_200F_206D_202A_202E(disposable); - num = 17242960; - break; - case 2: - num = 17242961; - break; - } - continue; - end_IL_015d: - break; - } + ImU8String text2 = new ImU8String(18, 1); + text2.AppendLiteral("• "); + text2.AppendFormatted(value); + text2.AppendLiteral(" (unknown quest)"); + ImGui.TextWrapped(text2); } - num = (flag ? 913127023 : 913127021); } else { - num = 913127020; + ImU8String text3 = new ImU8String(2, 1); + text3.AppendLiteral("• "); + text3.AppendFormatted(value); + ImGui.TextWrapped(text3); } - while (true) - { - int num8 = num; - int num3 = 913127022; - int num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - default: - continue; - case 0: - num = 913127021; - continue; - case 3: - list.Add(current.Key); - num = 913127023; - continue; - case 1: - break; - case 2: - goto end_IL_01ca; - } - goto IL_0221; - continue; - end_IL_01ca: - break; - } - break; } } - using List.Enumerator enumerator2 = list.GetEnumerator(); - int num = 1159845367; - while (true) - { - int num11 = num; - int num3 = 1159845366; - int num4 = num11; - int num12 = num4 + num3; - int num13 = num4 & num3; - switch (num12 - (num13 + num13)) - { - case 1: - num = (enumerator2.MoveNext() ? 1159845364 : 1159845365); - break; - case 2: - { - int current2 = enumerator2.Current; - _openDetailWindows.Remove(current2); - _storedIssues.Remove(current2); - num = 1159845367; - break; - } - case 0: - num = 1159845367; - break; - case 3: - return; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private void DrawIssueDetails(ValidationIssue issue) - { - //Discarded unreachable code: IL_03f0 - EIssueSeverity severity = issue.Severity; - int num = ((severity == EIssueSeverity.Warning) ? (-1329717228) : (-1329717221)); - Vector4 vector = default(Vector4); - Vector4 vector2 = default(Vector4); - FontAwesomeIcon fontAwesomeIcon2 = default(FontAwesomeIcon); - ElementId elementId = default(ElementId); - string description = default(string); - while (true) - { - int num2 = num; - int num3 = -1329717229; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 9: - vector = vector2; - severity = issue.Severity; - num = ((severity == EIssueSeverity.Warning) ? (-1329717230) : (-1329717229)); - break; - case 10: - fontAwesomeIcon2 = FontAwesomeIcon.ExclamationTriangle; - num = -1329717226; - break; - case 7: - vector2 = _206E_200F_202A_202C_206F_200C_200F_206A_202E_206B_200C_200F_206D_206A_206F_202B_202D_206C_202E_202D_200D_206B_206B_200B_202D_200C_202D_206F_202E_206C_202A_202B_206A_200E_200F_206C_202B_206C_206D_202D_202E(); - num = -1329717222; - break; - case 4: - vector2 = _206B_206F_200F_202A_206C_206C_206F_206C_202A_200E_202B_200E_202D_202E_202B_202B_206C_202C_202E_202A_206A_206E_200E_206A_206C_206F_200F_206C_200E_200B_202E_202D_206A_206F_200B_200E_206B_202A_200E_200E_202E(); - num = -1329717222; - break; - case 0: - num = ((severity != EIssueSeverity.Error) ? (-1329717227) : (-1329717223)); - break; - case 2: - num = -1329717221; - break; - case 1: - fontAwesomeIcon2 = FontAwesomeIcon.ExclamationCircle; - num = -1329717226; - break; - case 3: - vector2 = _200D_200C_206C_206F_206C_200F_206D_206A_202D_206B_200B_200E_202B_206C_206B_202A_206B_202C_206C_202B_202E_200D_200D_200D_200C_202A_206F_206B_202B_206A_206F_202B_202D_206F_206A_206A_200D_202E_200B_202C_202E(); - num = -1329717222; - break; - case 6: - fontAwesomeIcon2 = FontAwesomeIcon.InfoCircle; - num = -1329717226; - break; - case 8: - num = ((severity != EIssueSeverity.Error) ? (-1329717225) : (-1329717232)); - break; - case 5: - { - FontAwesomeIcon fontAwesomeIcon = fontAwesomeIcon2; - IDisposable disposable = _206B_202B_200F_206C_206E_206B_206E_206F_200C_206D_206A_206E_202A_202E_200F_206C_202B_206A_202E_206D_200C_200B_206A_202B_202C_206D_206B_200E_206B_206F_202C_206A_206E_200D_206B_206E_206C_202C_206F_200E_202E(_200B_202C_206C_206C_206D_202B_206C_206A_200C_206B_202E_206A_200C_202E_200B_206A_206A_206A_206E_200F_202B_206A_202E_206C_200C_202A_200C_202D_202E_206A_202B_206E_202D_200B_202E_200D_206D_206C_202B_202A_202E(_206F_200C_206B_206C_202C_200D_206A_202C_202E_202C_200E_206E_206E_200F_206F_202C_202C_206B_206B_206A_206B_202C_202A_206B_206A_202A_206C_206D_202D_206E_202C_206C_202C_200C_202E_200D_200E_206E_200F_206E_202E(_pluginInterface))); - try - { - ImRaii.ColorDisposable colorDisposable = _202C_200F_202C_200F_206C_206E_206B_200E_200B_200D_200B_200D_206A_200E_200B_206B_206F_200C_202E_206E_202E_200E_206A_206B_206F_200B_202E_202C_206E_202C_200E_202D_206A_202C_206D_202D_200E_202E_206F_206D_202E(ImGuiCol.Text, vector, true); - try - { - _200D_206E_206C_206D_206A_202B_206E_200B_200D_200D_200D_206F_206A_202A_202B_200C_202A_200F_200C_202B_202A_206A_200E_206C_202E_200C_202E_202A_206D_206A_202C_202D_200D_206B_206E_202E_200E_202C_206C_200C_202E((ImU8String)_200F_202A_200F_202B_200C_200E_206C_200C_206F_206B_200F_202D_200C_202A_206A_206D_200F_206E_206C_206F_206A_202D_202C_202A_206C_206C_206D_202C_206F_200E_206C_206B_200D_202E_200B_202C_200D_200D_200D_200C_202E(fontAwesomeIcon)); - } - finally - { - num = ((colorDisposable == null) ? 1646006232 : 1646006235); - while (true) - { - int num5 = num; - num3 = 1646006233; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 0: - num = 1646006235; - break; - case 1: - goto end_IL_01b1; - case 2: - _200B_200B_202C_206C_202B_200D_202E_206F_202B_200B_202E_200D_200F_202B_202A_202E_200B_206E_200F_206E_202E_202D_206B_202C_202A_200B_202E_200C_206B_200D_206F_202D_202E_206D_206D_206E_200B_200F_206D_202A_202E((IDisposable)colorDisposable); - num = 1646006232; - break; - } - continue; - end_IL_01b1: - break; - } - } - } - finally - { - num = ((disposable == null) ? (-1517300554) : (-1517300555)); - while (true) - { - int num8 = num; - num3 = -1517300556; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 2: - goto end_IL_021e; - case 1: - _200B_200B_202C_206C_202B_200D_202E_206F_202B_200B_202E_200D_200F_202B_202A_202E_200B_206E_200F_206E_202E_202D_206B_202C_202A_200B_202E_200C_206B_200D_206F_202D_202E_206D_206D_206E_200B_200F_206D_202A_202E(disposable); - num = -1517300554; - break; - case 0: - num = -1517300555; - break; - } - continue; - end_IL_021e: - break; - } - } - _206B_206A_202B_206E_200D_202D_206F_206A_206F_206D_200B_200F_200F_200D_202D_200D_206C_206F_202E_206D_206C_202A_206E_202E_206A_202D_202E_202A_200B_206C_200B_202E_200F_202B_206A_202C_200D_200D_200F_200E_202E(); - ImRaii.ColorDisposable colorDisposable2 = _202C_200F_202C_200F_206C_206E_206B_200E_200B_200D_200B_200D_206A_200E_200B_206B_206F_200C_202E_206E_202E_200E_206A_206B_206F_200B_202E_202C_206E_202C_200E_202D_206A_202C_206D_202D_200E_202E_206F_206D_202E(ImGuiCol.Text, vector, true); - try - { - ImU8String imU8String = new ImU8String(2, 2); - imU8String.AppendFormatted(issue.Severity); - imU8String.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2074665157)); - imU8String.AppendFormatted(issue.Type); - _200C_200F_200D_202C_202A_200C_200F_202C_206A_202A_202E_206A_200D_206C_206F_206F_200D_200F_202A_202C_202E_206E_202D_202E_202E_206E_206A_202B_206C_200B_200C_206D_202E_206A_206F_206F_200F_200F_202E_206E_202E(imU8String); - } - finally - { - num = ((colorDisposable2 == null) ? 49104475 : 49104474); - while (true) - { - int num11 = num; - num3 = 49104475; - num4 = num11; - int num12 = num4 + num3; - int num13 = num4 & num3; - switch (num12 - (num13 + num13)) - { - case 0: - goto end_IL_02da; - case 1: - _200B_200B_202C_206C_202B_200D_202E_206F_202B_200B_202E_200D_200F_202B_202A_202E_200B_206E_200F_206E_202E_202D_206B_202C_202A_200B_202E_200C_206B_200D_206F_202D_202E_206D_206D_206E_200B_200F_206D_202A_202E((IDisposable)colorDisposable2); - num = 49104475; - break; - case 2: - num = 49104474; - break; - } - continue; - end_IL_02da: - break; - } - } - _206D_202E_202D_206A_206E_206F_206A_206D_202C_202C_206D_200B_200B_202A_200C_200B_206B_202A_200D_206C_206D_200D_202E_200D_200F_206B_200F_202C_206D_202C_200E_200F_202A_202E_206D_202D_206B_206E_206D_200E_202E(); - ImU8String imU8String2 = new ImU8String(6, 1); - imU8String2.AppendLiteral(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(-1066426016)); - imU8String2.AppendFormatted(issue.PathType); - _200C_200F_200D_202C_202A_200C_200F_202C_206A_202A_202E_206A_200D_206C_206F_206F_200D_200F_202A_202C_202E_206E_202D_202E_202E_206E_206A_202B_206C_200B_200C_206D_202E_206A_206F_206F_200F_200F_202E_206E_202E(imU8String2); - if (issue.Id != null) - { - num = -553610014; - while (true) - { - int num14 = num; - num3 = -553610015; - num4 = num14; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 1: - if (!_202B_206E_200D_200E_200F_200C_202E_206F_200C_206F_206D_202A_206D_202E_200F_202D_202D_202D_206C_200B_202D_200C_200B_206D_202E_200E_206E_200D_202B_202C_206A_202D_200D_200C_206C_202C_206F_200C_206D_202B_202E(elementId, (ElementId)null)) - { - break; - } - goto case 3; - case 3: - if (issue.PathType == EPathType.Quest) - { - num = -553610013; - continue; - } - break; - case 0: - num = -553610014; - continue; - case 2: - if (_200E_200E_206C_206D_206C_202A_202C_206B_202E_200B_206D_202E_202B_202D_200D_206B_206E_206E_202D_200C_202B_200D_206D_206D_200F_200F_206E_200B_206E_206A_206D_200F_200C_200B_202C_206D_206F_200C_200B_200E_202E(issue.Id, ref elementId)) - { - num = -553610016; - continue; - } - break; - } - break; - } - ImU8String imU8String3 = new ImU8String(4, 1); - imU8String3.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1908485519)); - imU8String3.AppendFormatted(issue.Id); - _200C_200F_200D_202C_202A_200C_200F_202C_206A_202A_202E_206A_200D_206C_206F_206F_200D_200F_202A_202C_202E_206E_202D_202E_202E_206E_206A_202B_206C_200B_200C_206D_202E_206A_206F_206F_200F_200F_202E_206E_202E(imU8String3); - } - num = ((issue.Location == null) ? 860006641 : 860006647); - while (true) - { - int num15 = num; - num3 = 860006641; - num4 = num15; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - DrawDisabledTribesDetails(description); - return; - case 0: - _206D_202E_202D_206A_206E_206F_206A_206D_202C_202C_206D_200B_200B_202A_200C_200B_206B_202A_200D_206C_206D_200D_202E_200D_200F_206B_200F_202C_206D_202C_200E_200F_202A_202E_206D_202D_206B_206E_206D_200E_202E(); - _200C_200F_200D_202C_202A_200C_200F_202C_206A_202A_202E_206A_200D_206C_206F_206F_200D_200F_202A_202C_202E_206E_202D_202E_202E_206E_206A_202B_206C_200B_200C_206D_202E_206A_206F_206F_200F_200F_202E_206E_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1571231397)); - description = CleanJsonText(issue.Description ?? 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(-1853270224)); - num = ((issue.Type != EIssueType.QuestDisabled) ? 860006642 : 860006645); - break; - case 6: - { - ImU8String imU8String4 = new ImU8String(10, 1); - imU8String4.AppendLiteral(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(1204994949)); - imU8String4.AppendFormatted(issue.Location); - _200C_200F_200D_202C_202A_200C_200F_202C_206A_202A_202E_206A_200D_206C_206F_206F_200D_200F_202A_202C_202E_206E_202D_202E_202E_206E_206A_202B_206C_200B_200C_206D_202E_206A_206F_206F_200F_200F_202E_206E_202E(imU8String4); - num = 860006641; - break; - } - case 2: - DrawGenericDetails(description); - return; - case 3: - num = ((issue.Type != EIssueType.InvalidJsonSyntax) ? 860006643 : 860006640); - break; - case 4: - num = ((issue.Id != null) ? 860006642 : 860006644); - break; - case 7: - num = 860006647; - break; - case 1: - DrawJsonSyntaxErrorDetails(description); - return; - } - } - } - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private static void DrawJsonSyntaxErrorDetails(string description) - { - string[] array = _200F_200B_206B_202E_200B_206F_202A_206C_200E_206B_206C_202C_206F_206C_206C_202E_202B_206D_206B_206C_202D_202C_200D_202C_200B_202D_202C_200E_202C_206B_202A_200C_206E_200B_206B_200C_202D_200C_206D_202E_202E(description, '\n', StringSplitOptions.None); - int num = 0; - while (num < array.Length) - { - string text = _200E_202C_202A_200E_200E_206D_206D_206A_200E_202D_206E_206A_206D_206F_200D_206C_200F_206F_202B_206A_202B_200F_206F_206E_200B_202E_202E_202E_200B_202D_202D_202A_206E_200D_202A_202B_200F_200B_202B_206D_202E(array[num]); - int num4; - int num5; - if (_206F_202B_202A_200C_206B_206E_206D_202A_206C_202D_206E_200C_200D_200E_202E_206B_206F_202B_200B_200C_200B_206C_206D_200F_202E_202D_206F_206F_206C_200D_206E_200D_200E_206D_202E_200F_202D_206F_202A_206D_202E(text)) - { - _200B_206B_206C_206E_202A_202B_202B_202D_202B_202D_202B_200E_206B_206A_206F_206E_206F_202C_202D_202D_202D_202C_206F_200B_202E_206B_200E_202D_202D_206D_206F_206B_202E_200C_202E_206D_202E_206F_202E_200D_202E(); - } - else if (_202C_200F_206B_202A_206D_200E_206F_206F_200B_206F_200C_206D_206C_206E_206D_200C_202D_200F_200D_200C_202E_206D_206D_202C_200E_200F_200E_202E_202A_202C_202A_206E_206E_202D_202D_202B_206B_206C_200F_206E_202E(text, 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(540102239), StringComparison.Ordinal)) - { - ImRaii.ColorDisposable colorDisposable = _202C_200F_202C_200F_206C_206E_206B_200E_200B_200D_200B_200D_206A_200E_200B_206B_206F_200C_202E_206E_202E_200E_206A_206B_206F_200B_202E_202C_206E_202C_200E_202D_206A_202C_206D_202D_200E_202E_206F_206D_202E(ImGuiCol.Text, _200D_200C_206C_206F_206C_200F_206D_206A_202D_206B_200B_200E_202B_206C_206B_202A_206B_202C_206C_202B_202E_200D_200D_200D_200C_202A_206F_206B_202B_206A_206F_202B_202D_206F_206A_206A_200D_202E_200B_202C_202E(), true); - try - { - _206B_206E_202A_206C_202A_202A_202A_200B_206B_206A_200B_206E_206E_202A_206B_202C_206F_202B_206B_202D_202A_200C_206C_206C_200B_200F_206C_200B_202D_202A_200C_206B_202C_206B_200E_202A_206C_200B_202E_200D_202E((ImU8String)text); - } - finally - { - int num2 = ((colorDisposable == null) ? 706780076 : 706780079); - while (true) - { - int num3 = num2; - num4 = 706780077; - num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 1: - goto end_IL_0080; - case 2: - _200B_200B_202C_206C_202B_200D_202E_206F_202B_200B_202E_200D_200F_202B_202A_202E_200B_206E_200F_206E_202E_202D_206B_202C_202A_200B_202E_200C_206B_200D_206F_202D_202E_206D_206D_206E_200B_200F_206D_202A_202E((IDisposable)colorDisposable); - num2 = 706780076; - break; - case 0: - num2 = 706780079; - break; - } - continue; - end_IL_0080: - break; - } - } - } - else - { - int num2 = (_202C_200F_206B_202A_206D_200E_206F_206F_200B_206F_200C_206D_206C_206E_206D_200C_202D_200F_200D_200C_202E_206D_206D_202C_200E_200F_200E_202E_202A_202C_202A_206E_206E_202D_202D_202B_206B_206C_200F_206E_202E(text, 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(410869758), StringComparison.Ordinal) ? (-1850996849) : (-1850996850)); - while (true) - { - int num8 = num2; - num4 = -1850996849; - num5 = num8; - int num9 = num5 + num4; - int num10 = num5 & num4; - switch (num9 - (num10 + num10)) - { - default: - continue; - case 2: - num2 = -1850996850; - continue; - case 1: - if (_202C_200F_206B_202A_206D_200E_206F_206F_200B_206F_200C_206D_206C_206E_206D_200C_202D_200F_200D_200C_202E_206D_206D_202C_200E_200F_200E_202E_202A_202C_202A_206E_206E_202D_202D_202B_206B_206C_200F_206E_202E(text, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(705937726), StringComparison.Ordinal)) - { - num2 = -1850996849; - continue; - } - if (_202C_200F_206B_202A_206D_200E_206F_206F_200B_206F_200C_206D_206C_206E_206D_200C_202D_200F_200D_200C_202E_206D_206D_202C_200E_200F_200E_202E_202A_202C_202A_206E_206E_202D_202D_202B_206B_206C_200F_206E_202E(text, 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(1546498203), StringComparison.Ordinal)) - { - ImRaii.ColorDisposable colorDisposable3 = _202C_200F_202C_200F_206C_206E_206B_200E_200B_200D_200B_200D_206A_200E_200B_206B_206F_200C_202E_206E_202E_200E_206A_206B_206F_200B_202E_202C_206E_202C_200E_202D_206A_202C_206D_202D_200E_202E_206F_206D_202E(ImGuiCol.Text, _206E_200F_202A_202C_206F_200C_200F_206A_202E_206B_200C_200F_206D_206A_206F_202B_202D_206C_202E_202D_200D_206B_206B_200B_202D_200C_202D_206F_202E_206C_202A_202B_206A_200E_200F_206C_202B_206C_206D_202D_202E(), true); - try - { - _206B_206E_202A_206C_202A_202A_202A_200B_206B_206A_200B_206E_206E_202A_206B_202C_206F_202B_206B_202D_202A_200C_206C_206C_200B_200F_206C_200B_202D_202A_200C_206B_202C_206B_200E_202A_206C_200B_202E_200D_202E((ImU8String)text); - } - finally - { - num2 = ((colorDisposable3 == null) ? (-663446381) : (-663446384)); - while (true) - { - int num12 = num2; - num4 = -663446382; - num5 = num12; - switch ((num5 | num4) - (num5 & num4)) - { - case 1: - goto end_IL_0233; - case 2: - _200B_200B_202C_206C_202B_200D_202E_206F_202B_200B_202E_200D_200F_202B_202A_202E_200B_206E_200F_206E_202E_202D_206B_202C_202A_200B_202E_200C_206B_200D_206F_202D_202E_206D_206D_206E_200B_200F_206D_202A_202E((IDisposable)colorDisposable3); - num2 = -663446381; - break; - case 0: - num2 = -663446384; - break; - } - continue; - end_IL_0233: - break; - } - } - } - else - { - _206B_206E_202A_206C_202A_202A_202A_200B_206B_206A_200B_206E_206E_202A_206B_202C_206F_202B_206B_202D_202A_200C_206C_206C_200B_200F_206C_200B_202D_202A_200C_206B_202C_206B_200E_202A_206C_200B_202E_200D_202E((ImU8String)text); - } - break; - case 0: - { - ImRaii.ColorDisposable colorDisposable2 = _202C_200F_202C_200F_206C_206E_206B_200E_200B_200D_200B_200D_206A_200E_200B_206B_206F_200C_202E_206E_202E_200E_206A_206B_206F_200B_202E_202C_206E_202C_200E_202D_206A_202C_206D_202D_200E_202E_206F_206D_202E(ImGuiCol.Text, _206C_202D_200F_202C_202D_202B_200E_200C_200F_206D_202C_200C_202D_206C_200E_202A_202B_200E_206F_206F_202D_202C_206B_202D_202A_206C_202D_206F_206D_200C_202A_200F_206B_200E_200B_206D_202E_206A_200C_202A_202E(), true); - try - { - _206B_206E_202A_206C_202A_202A_202A_200B_206B_206A_200B_206E_206E_202A_206B_202C_206F_202B_206B_202D_202A_200C_206C_206C_200B_200F_206C_200B_202D_202A_200C_206B_202C_206B_200E_202A_206C_200B_202E_200D_202E((ImU8String)text); - } - finally - { - num2 = ((colorDisposable2 == null) ? 582989586 : 582989587); - while (true) - { - int num11 = num2; - num4 = 582989586; - num5 = num11; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - goto end_IL_0194; - case 1: - _200B_200B_202C_206C_202B_200D_202E_206F_202B_200B_202E_200D_200F_202B_202A_202E_200B_206E_200F_206E_202E_202D_206B_202C_202A_200B_202E_200C_206B_200D_206F_202D_202E_206D_206D_206E_200B_200F_206D_202A_202E((IDisposable)colorDisposable2); - num2 = 582989586; - break; - case 2: - num2 = 582989587; - break; - } - continue; - end_IL_0194: - break; - } - } - break; - } - } - break; - } - } - int num13 = num; - num4 = 1; - num5 = num13; - num = (num5 | num4) + (num5 & num4); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private void DrawDisabledTribesDetails(string description) - { - string[] array = _202A_202B_202B_200B_206B_202A_206B_206F_206D_202E_202A_202C_202D_200E_206A_200D_206D_200D_206A_200C_202C_206B_206A_202C_206A_202B_202B_206E_202D_202C_202D_200F_200C_206B_206A_202C_200C_206D_200C_202E_202E(description, ':', 2, StringSplitOptions.None); - int num = ((array.Length >= 2) ? (-404849146) : (-404849145)); - List list = default(List); - ElementId elementId = default(ElementId); - while (true) - { - int num2 = num; - int num3 = -404849146; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - _206B_206E_202A_206C_202A_202A_202A_200B_206B_206A_200B_206E_206E_202A_206B_202C_206F_202B_206B_202D_202A_200C_206C_206C_200B_200F_206C_200B_202D_202A_200C_206B_202C_206B_200E_202A_206C_200B_202E_200D_202E((ImU8String)array[0]); - _200B_206B_206C_206E_202A_202B_202B_202D_202B_202D_202B_200E_206B_206A_206F_206E_206F_202C_202D_202D_202D_202C_206F_200B_202E_206B_200E_202D_202D_206D_206F_206B_202E_200C_202E_206D_202E_206F_202E_200D_202E(); - list = (from x in _200F_200B_206B_202E_200B_206F_202A_206C_200E_206B_206C_202C_206F_206C_206C_202E_202B_206D_206B_206C_202D_202C_200D_202C_200B_202D_202C_200E_202C_206B_202A_200C_206E_200B_206B_200C_202D_200C_206D_202E_202E(array[1], ',', StringSplitOptions.RemoveEmptyEntries) - select _003C_003Ec._202B_200D_202D_202D_200F_206A_206F_206E_200E_206C_206B_200E_202B_200B_202D_206E_202A_206F_206B_200F_202B_200B_206B_206E_206F_202A_206C_200F_206E_202D_206D_206D_206E_200F_202C_200D_202B_200D_206B_202D_202E(x) into x - where !_003C_003Ec._200C_200C_206E_206F_200D_206D_202C_206A_202B_206E_206C_202D_202E_202B_200C_200E_202A_202B_206B_200D_200D_200B_202E_202A_202A_200E_206B_200B_206B_202B_200E_200E_206A_200F_202D_206A_206F_202C_202E_202C_202E(x) - select x).Distinct().ToList(); - num = ((list.Count != 0) ? (-404849147) : (-404849150)); - break; - case 4: - _206B_206E_202A_206C_202A_202A_202A_200B_206B_206A_200B_206E_206E_202A_206B_202C_206F_202B_206B_202D_202A_200C_206C_206C_200B_200F_206C_200B_202D_202A_200C_206B_202C_206B_200E_202A_206C_200B_202E_200D_202E((ImU8String)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(-1348132251)); - return; - case 2: - num = -404849145; - break; - case 1: - _206B_206E_202A_206C_202A_202A_202A_200B_206B_206A_200B_206E_206E_202A_206B_202C_206F_202B_206B_202D_202A_200C_206C_206C_200B_200F_206C_200B_202D_202A_200C_206B_202C_206B_200E_202A_206C_200B_202E_200D_202E((ImU8String)description); - return; - case 3: - { - _200C_200F_200D_202C_202A_200C_200F_202C_206A_202A_202E_206A_200D_206C_206F_206F_200D_200F_202A_202C_202E_206E_202D_202E_202E_206E_206A_202B_206C_200B_200C_206D_202E_206A_206F_206F_200F_200F_202E_206E_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-834424593)); - _202D_202D_206A_200B_206A_206D_200C_206C_206F_200D_206A_206A_206D_200C_206C_202A_206C_206C_200F_202B_206C_206C_206C_206A_200D_206D_202E_206B_202C_202A_206E_202B_206B_202E_200F_202A_200E_206F_200E_206E_202E(); - Vector4[] array2 = new Vector4[6] - { - _206E_200C_202C_206E_200B_200B_206D_202E_206F_206C_200C_200E_202D_202B_200B_206C_202E_206B_206D_200E_202B_202A_200F_200E_206F_206D_206E_206F_206B_200B_206E_200D_206C_200E_206B_202B_202C_200F_202C_206E_202E(), - _206C_202D_200F_202C_202D_202B_200E_200C_200F_206D_202C_200C_202D_206C_200E_202A_202B_200E_206F_206F_202D_202C_206B_202D_202A_206C_202D_206F_206D_200C_202A_200F_206B_200E_200B_206D_202E_206A_200C_202A_202E(), - _206A_206D_206F_206A_200E_200B_206D_202B_202A_206A_206A_206B_206F_202B_206E_206E_202A_202B_200B_202A_206D_206D_202B_206E_200E_202B_202C_200E_202E_206D_202D_206D_206A_202C_200C_206C_202A_200F_202C_200D_202E(), - _202D_202D_202B_202D_206D_200F_200B_200D_206E_206A_202A_202E_206E_202C_202E_206B_200D_202E_200D_200C_200F_202B_206E_200C_202D_206D_206F_200F_202B_202E_200C_202B_202D_200E_206C_202C_206F_202D_202D_206C_202E(), - _200E_202B_200D_206D_200C_200E_202B_206B_206B_200D_206A_202D_200B_202D_206B_200E_206D_202E_206A_206E_206A_202C_200E_206F_202D_202D_200B_206A_206A_206E_200B_206B_206D_206E_200D_206D_200C_200E_206E_200E_202E(), - _206E_200C_200E_206C_202D_202D_200B_202A_202C_200E_200B_206F_206E_206E_206A_200B_206A_200E_206A_200C_200D_200E_202C_202C_200D_200F_202A_200E_202B_200F_200B_202B_202C_206F_206B_206B_206E_200D_202A_200D_202E() - }; - int num5 = 0; - while (num5 < list.Count) - { - string text = list[num5]; - Vector4 vector = array2[num5 % array2.Length]; - ImRaii.ColorDisposable colorDisposable = _202C_200F_202C_200F_206C_206E_206B_200E_200B_200D_200B_200D_206A_200E_200B_206B_206F_200C_202E_206E_202E_200E_206A_206B_206F_200B_202E_202C_206E_202C_200E_202D_206A_202C_206D_202D_200E_202E_206F_206D_202E(ImGuiCol.Text, vector, true); - try - { - if (_200E_200E_206C_206D_206C_202A_202C_206B_202E_200B_206D_202E_202B_202D_200D_206B_206E_206E_202D_200C_202B_200D_206D_206D_200F_200F_206E_200B_206E_206A_206D_200F_200C_200B_202C_206D_206F_200C_200B_200E_202E(text, ref elementId) && _202B_206E_200D_200E_200F_200C_202E_206F_200C_206F_206D_202A_206D_202E_200F_202D_202D_202D_206C_200B_202D_200C_200B_206D_202E_200E_206E_200D_202B_202C_206A_202D_200D_200C_206C_202C_206F_200C_206D_202B_202E(elementId, (ElementId)null)) - { - try - { - IQuestInfo questInfo = _questData.GetQuestInfo(elementId); - ImU8String imU8String = new ImU8String(5, 2); - imU8String.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1048034183)); - imU8String.AppendFormatted(text); - imU8String.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1186344051)); - imU8String.AppendFormatted(questInfo.Name); - _206B_206E_202A_206C_202A_202A_202A_200B_206B_206A_200B_206E_206E_202A_206B_202C_206F_202B_206B_202D_202A_200C_206C_206C_200B_200F_206C_200B_202D_202A_200C_206B_202C_206B_200E_202A_206C_200B_202E_200D_202E(imU8String); - } - catch - { - ImU8String imU8String2 = new ImU8String(18, 1); - imU8String2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1062168314)); - imU8String2.AppendFormatted(text); - imU8String2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1917054340)); - _206B_206E_202A_206C_202A_202A_202A_200B_206B_206A_200B_206E_206E_202A_206B_202C_206F_202B_206B_202D_202A_200C_206C_206C_200B_200F_206C_200B_202D_202A_200C_206B_202C_206B_200E_202A_206C_200B_202E_200D_202E(imU8String2); - } - } - else - { - ImU8String imU8String3 = new ImU8String(2, 1); - imU8String3.AppendLiteral(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(1949919442)); - imU8String3.AppendFormatted(text); - _206B_206E_202A_206C_202A_202A_202A_200B_206B_206A_200B_206E_206E_202A_206B_202C_206F_202B_206B_202D_202A_200C_206C_206C_200B_200F_206C_200B_202D_202A_200C_206B_202C_206B_200E_202A_206C_200B_202E_200D_202E(imU8String3); - } - } - finally - { - num = ((colorDisposable == null) ? 1191446963 : 1191446960); - while (true) - { - int num6 = num; - num3 = 1191446961; - num4 = num6; - int num7 = num4 + num3; - int num8 = num4 & num3; - switch (num7 - (num8 + num8)) - { - case 0: - num = 1191446960; - break; - case 1: - _200B_200B_202C_206C_202B_200D_202E_206F_202B_200B_202E_200D_200F_202B_202A_202E_200B_206E_200F_206E_202E_202D_206B_202C_202A_200B_202E_200C_206B_200D_206F_202D_202E_206D_206D_206E_200B_200F_206D_202A_202E((IDisposable)colorDisposable); - num = 1191446963; - break; - case 2: - goto end_IL_02be; - } - continue; - end_IL_02be: - break; - } - } - int num9 = num5; - num3 = 1; - num4 = num9; - int num10 = num4 ^ num3; - int num11 = num4 & num3; - num5 = num10 + (num11 + num11); - } - _200C_202E_200E_200B_200F_206F_202E_202D_206B_200D_206C_200F_200B_206F_206A_206E_200F_202D_206F_202C_200D_202C_200E_206E_202E_200B_200D_202C_206F_206D_206A_206F_200F_206D_202C_200C_202C_200D_206C_200D_202E(); - return; - } - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private static void DrawGenericDetails(string description) - { - string[] array = _200F_200B_206B_202E_200B_206F_202A_206C_200E_206B_206C_202C_206F_206C_206C_202E_202B_206D_206B_206C_202D_202C_200D_202C_200B_202D_202C_200E_202C_206B_202A_200C_206E_200B_206B_200C_202D_200C_206D_202E_202E(description, '\n', StringSplitOptions.None); - int num = 0; - while (true) - { - int num2; - int num4; - int num5; - if (num < array.Length) - { - string text = _200E_202C_202A_200E_200E_206D_206D_206A_200E_202D_206E_206A_206D_206F_200D_206C_200F_206F_202B_206A_202B_200F_206F_206E_200B_202E_202E_202E_200B_202D_202D_202A_206E_200D_202A_202B_200F_200B_202B_206D_202E(array[num]); - if (_206F_202B_202A_200C_206B_206E_206D_202A_206C_202D_206E_200C_200D_200E_202E_206B_206F_202B_200B_200C_200B_206C_206D_200F_202E_202D_206F_206F_206C_200D_206E_200D_200E_206D_202E_200F_202D_206F_202A_206D_202E(text)) - { - _200B_206B_206C_206E_202A_202B_202B_202D_202B_202D_202B_200E_206B_206A_206F_206E_206F_202C_202D_202D_202D_202C_206F_200B_202E_206B_200E_202D_202D_206D_206F_206B_202E_200C_202E_206D_202E_206F_202E_200D_202E(); - goto IL_022d; - } - if (_202C_200F_206B_202A_206D_200E_206F_206F_200B_206F_200C_206D_206C_206E_206D_200C_202D_200F_200D_200C_202E_206D_206D_202C_200E_200F_200E_202E_202A_202C_202A_206E_206E_202D_202D_202B_206B_206C_200F_206E_202E(text, 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(487664615), StringComparison.Ordinal) || _202C_200F_206B_202A_206D_200E_206F_206F_200B_206F_200C_206D_206C_206E_206D_200C_202D_200F_200D_200C_202E_206D_206D_202C_200E_200F_200E_202E_202A_202C_202A_206E_206E_202D_202D_202B_206B_206C_200F_206E_202E(text, 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(-1722402841), StringComparison.Ordinal) || _202C_200F_206B_202A_206D_200E_206F_206F_200B_206F_200C_206D_206C_206E_206D_200C_202D_200F_200D_200C_202E_206D_206D_202C_200E_200F_200E_202E_202A_202C_202A_206E_206E_202D_202D_202B_206B_206C_200F_206E_202E(text, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(924453500), StringComparison.Ordinal)) - { - ImRaii.ColorDisposable colorDisposable = _202C_200F_202C_200F_206C_206E_206B_200E_200B_200D_200B_200D_206A_200E_200B_206B_206F_200C_202E_206E_202E_200E_206A_206B_206F_200B_202E_202C_206E_202C_200E_202D_206A_202C_206D_202D_200E_202E_206F_206D_202E(ImGuiCol.Text, _200D_200C_206C_206F_206C_200F_206D_206A_202D_206B_200B_200E_202B_206C_206B_202A_206B_202C_206C_202B_202E_200D_200D_200D_200C_202A_206F_206B_202B_206A_206F_202B_202D_206F_206A_206A_200D_202E_200B_202C_202E(), true); - try - { - _206B_206E_202A_206C_202A_202A_202A_200B_206B_206A_200B_206E_206E_202A_206B_202C_206F_202B_206B_202D_202A_200C_206C_206C_200B_200F_206C_200B_202D_202A_200C_206B_202C_206B_200E_202A_206C_200B_202E_200D_202E((ImU8String)text); - } - finally - { - num2 = ((colorDisposable == null) ? 798721950 : 798721949); - while (true) - { - int num3 = num2; - num4 = 798721948; - num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - goto end_IL_00ac; - case 1: - _200B_200B_202C_206C_202B_200D_202E_206F_202B_200B_202E_200D_200F_202B_202A_202E_200B_206E_200F_206E_202E_202D_206B_202C_202A_200B_202E_200C_206B_200D_206F_202D_202E_206D_206D_206E_200B_200F_206D_202A_202E((IDisposable)colorDisposable); - num2 = 798721950; - break; - case 0: - num2 = 798721949; - break; - } - continue; - end_IL_00ac: - break; - } - } - goto IL_022d; - } - if (_206C_206F_202A_200E_206C_200D_200C_206B_200C_200D_206C_206C_202A_200D_200C_206C_202E_202E_206D_202D_200D_202C_202D_206C_206C_206E_202D_202E_200E_202D_202B_206C_200F_202A_200B_206A_202B_202D_200E_202D_202E(text, ':', StringComparison.Ordinal)) - { - int num6 = _202C_206D_202D_200E_200E_202E_200F_200C_206A_202A_206C_206F_200F_206D_206F_200D_206D_206D_200D_206E_206E_206D_202E_200B_206E_202B_206C_206E_202A_200C_200B_206D_202D_200E_200E_200C_206A_206E_202A_206A_202E(text, ':', StringComparison.Ordinal); - string text2 = _200F_206B_200E_202D_200E_206D_202B_206F_202B_200C_202A_206F_206F_202B_206E_206A_200C_200B_206D_206B_202A_206C_202E_200B_206A_200F_206B_202C_200D_200F_200F_202B_206E_202A_206B_202A_202B_206C_202B_206C_202E(text, 0, num6); - num4 = 1; - num5 = num6; - string text3 = _200B_206D_206F_202E_206F_202E_202D_206D_200B_202D_202A_200E_206B_200E_202C_200E_200D_206D_206A_200E_206D_200E_200B_202E_200C_206E_200F_202A_206C_206C_200F_200F_206C_200B_202B_202B_200C_200C_202E_202D_202E(_206B_206D_200E_206E_200D_206E_206F_202D_206F_200E_202D_206A_206D_200D_200B_206C_200B_206C_206D_206F_202C_206B_200B_200B_206C_206B_206A_200B_202C_200D_206E_202D_206D_200D_206C_206C_200E_206A_202A_202E(text, (num5 | num4) + (num5 & num4))); - ImRaii.ColorDisposable colorDisposable2 = _202C_200F_202C_200F_206C_206E_206B_200E_200B_200D_200B_200D_206A_200E_200B_206B_206F_200C_202E_206E_202E_200E_206A_206B_206F_200B_202E_202C_206E_202C_200E_202D_206A_202C_206D_202D_200E_202E_206F_206D_202E(ImGuiCol.Text, _200E_202B_200D_206D_200C_200E_202B_206B_206B_200D_206A_202D_200B_202D_206B_200E_206D_202E_206A_206E_206A_202C_200E_206F_202D_202D_200B_206A_206A_206E_200B_206B_206D_206E_200D_206D_200C_200E_206E_200E_202E(), true); - try - { - _200C_200F_200D_202C_202A_200C_200F_202C_206A_202A_202E_206A_200D_206C_206F_206F_200D_200F_202A_202C_202E_206E_202D_202E_202E_206E_206A_202B_206C_200B_200C_206D_202E_206A_206F_206F_200F_200F_202E_206E_202E((ImU8String)_202E_202A_202C_206E_200D_202C_202E_206C_202D_200E_206E_206B_206B_202A_206F_206B_202C_200D_206E_206D_200B_206E_202D_200C_200F_202A_200E_200B_206C_206E_202E_206B_202B_202B_200D_200B_202A_202B_206E_202E(text2, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-332393296))); - } - finally - { - num2 = ((colorDisposable2 == null) ? 290111286 : 290111287); - while (true) - { - int num7 = num2; - num4 = 290111286; - num5 = num7; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - num2 = 290111287; - break; - case 1: - _200B_200B_202C_206C_202B_200D_202E_206F_202B_200B_202E_200D_200F_202B_202A_202E_200B_206E_200F_206E_202E_202D_206B_202C_202A_200B_202E_200C_206B_200D_206F_202D_202E_206D_206D_206E_200B_200F_206D_202A_202E((IDisposable)colorDisposable2); - num2 = 290111286; - break; - case 0: - goto end_IL_0187; - } - continue; - end_IL_0187: - break; - } - } - _206B_206A_202B_206E_200D_202D_206F_206A_206F_206D_200B_200F_200F_200D_202D_200D_206C_206F_202E_206D_206C_202A_206E_202E_206A_202D_202E_202A_200B_206C_200B_202E_200F_202B_206A_202C_200D_200D_200F_200E_202E(); - _206B_206E_202A_206C_202A_202A_202A_200B_206B_206A_200B_206E_206E_202A_206B_202C_206F_202B_206B_202D_202A_200C_206C_206C_200B_200F_206C_200B_202D_202A_200C_206B_202C_206B_200E_202A_206C_200B_202E_200D_202E((ImU8String)text3); - goto IL_022d; - } - _206B_206E_202A_206C_202A_202A_202A_200B_206B_206A_200B_206E_206E_202A_206B_202C_206F_202B_206B_202D_202A_200C_206C_206C_200B_200F_206C_200B_202D_202A_200C_206B_202C_206B_200E_202A_206C_200B_202E_200D_202E((ImU8String)text); - num2 = 401389024; - } - else - { - num2 = 401389027; - } - while (true) - { - int num8 = num2; - num4 = 401389025; - num5 = num8; - switch ((num5 | num4) - (num5 & num4)) - { - default: - continue; - case 2: - return; - case 1: - break; - case 0: - goto IL_0256; - } - break; - IL_0256: - num2 = 401389024; - } - goto IL_022d; - IL_022d: - int num9 = num; - num4 = 1; - num5 = num9; - int num10 = num5 ^ num4; - int num11 = num5 & num4; - num = num10 + (num11 + num11); - } - } - - static bool _206F_202B_202A_200C_206B_206E_206D_202A_206C_202D_206E_200C_200D_200E_202E_206B_206F_202B_200B_200C_200B_206C_206D_200F_202E_202D_206F_206F_206C_200D_206E_200D_200E_206D_202E_200F_202D_206F_202A_206D_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static string _206B_202D_206D_202B_202C_202A_206D_200E_202A_202B_200B_206D_202D_202B_206D_200C_200D_206A_202D_206B_206F_206E_200E_202E_200C_200C_206A_202E_200C_206E_202E_202B_200C_202D_202E_206D_200C_202A_200F_206A_202E(Regex P_0, string P_1, MatchEvaluator P_2) - { - return P_0.Replace(P_1, P_2); - } - - static bool _200D_206B_200F_200C_206D_200C_206B_206F_200B_202D_202D_202B_200C_200E_202B_200F_206C_202E_200B_200F_200B_202B_206F_202D_200D_202B_202E_200D_200D_202D_202D_200E_200D_206D_206E_202A_206E_206D_200C_206A_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.Contains(P_1, P_2); - } - - static string _200D_206B_202E_200E_200E_202E_202C_202C_202C_206F_206B_200B_200E_206E_202A_206C_202C_206C_202C_200B_200E_206A_202B_206C_202B_200D_206A_202A_206D_206D_200F_200F_206A_206B_200F_202B_200F_200D_200F_202B_202E(Regex P_0, string P_1, string P_2) - { - return P_0.Replace(P_1, P_2); - } - - static string _202A_206D_200B_206E_206B_206A_200C_206E_206F_206C_206A_202B_200E_206A_202B_206C_206E_200E_202B_206F_200C_200C_202D_200E_200D_200C_200B_206E_202A_202B_200B_202E_206A_206C_206F_202A_200D_202D_202E_202B_202E(string P_0, string P_1, string P_2, StringComparison P_3) - { - return P_0.Replace(P_1, P_2, P_3); - } - - static void _202C_202C_206B_202C_202B_202C_206A_202E_200E_200B_202C_200E_202E_206B_200C_206D_202C_206C_202A_206A_206A_206D_206E_206C_206F_202D_202C_202C_200B_202C_206F_202B_206B_200F_206A_206C_202D_200B_202E_202D_202E(Vector2 P_0, ImGuiCond P_1) - { - ImGui.SetNextWindowSize(P_0, P_1); - } - - static void _206F_202D_206A_202D_200D_202E_200D_200C_206C_200E_206C_206F_200C_206C_202C_200B_206E_206C_206C_200B_206A_206E_200C_200F_202A_202E_202A_200C_206A_202E_200D_206C_202E_206A_200C_200D_202E_206B_202E_200D_202E(Vector2 P_0, Vector2 P_1) - { - ImGui.SetNextWindowSizeConstraints(P_0, P_1); - } - - static bool _202C_202D_206F_206F_206E_206D_202D_202C_202A_206F_200E_206C_206E_200F_206C_206B_200D_206C_202E_202A_200D_202D_200C_202B_206E_202C_206E_206E_202D_206B_200F_200C_206C_202E_200E_206B_206F_206F_202A_206E_202E(ImU8String P_0, ref bool P_1, ImGuiWindowFlags P_2) - { - return ImGui.Begin(P_0, ref P_1, P_2); - } - - static void _206D_200E_206C_202B_206B_202D_202C_206F_206C_206B_206D_206F_206B_202B_202B_200D_206C_202C_202A_206B_206D_202D_206A_206A_206A_202A_206A_206A_202C_200C_202C_200D_200C_200C_200B_200B_206E_200B_202D_202E_202E() - { - ImGui.End(); - } - - static void _200B_200B_202C_206C_202B_200D_202E_206F_202B_200B_202E_200D_200F_202B_202A_202E_200B_206E_200F_206E_202E_202D_206B_202C_202A_200B_202E_200C_206B_200D_206F_202D_202E_206D_206D_206E_200B_200F_206D_202A_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static Vector4 _200D_200C_206C_206F_206C_200F_206D_206A_202D_206B_200B_200E_202B_206C_206B_202A_206B_202C_206C_202B_202E_200D_200D_200D_200C_202A_206F_206B_202B_206A_206F_202B_202D_206F_206A_206A_200D_202E_200B_202C_202E() - { - return ImGuiColors.DalamudRed; - } - - static Vector4 _206E_200F_202A_202C_206F_200C_200F_206A_202E_206B_200C_200F_206D_206A_206F_202B_202D_206C_202E_202D_200D_206B_206B_200B_202D_200C_202D_206F_202E_206C_202A_202B_206A_200E_200F_206C_202B_206C_206D_202D_202E() - { - return ImGuiColors.DalamudYellow; - } - - static Vector4 _206B_206F_200F_202A_206C_206C_206F_206C_202A_200E_202B_200E_202D_202E_202B_202B_206C_202C_202E_202A_206A_206E_200E_206A_206C_206F_200F_206C_200E_200B_202E_202D_206A_206F_200B_200E_206B_202A_200E_200E_202E() - { - return ImGuiColors.DalamudOrange; - } - - static IUiBuilder _206F_200C_206B_206C_202C_200D_206A_202C_202E_202C_200E_206E_206E_200F_206F_202C_202C_206B_206B_206A_206B_202C_202A_206B_206A_202A_206C_206D_202D_206E_202C_206C_202C_200C_202E_200D_200E_206E_200F_206E_202E(IDalamudPluginInterface P_0) - { - return P_0.UiBuilder; - } - - static IFontHandle _200B_202C_206C_206C_206D_202B_206C_206A_200C_206B_202E_206A_200C_202E_200B_206A_206A_206A_206E_200F_202B_206A_202E_206C_200C_202A_200C_202D_202E_206A_202B_206E_202D_200B_202E_200D_206D_206C_202B_202A_202E(IUiBuilder P_0) - { - return P_0.IconFontFixedWidthHandle; - } - - static IDisposable _206B_202B_200F_206C_206E_206B_206E_206F_200C_206D_206A_206E_202A_202E_200F_206C_202B_206A_202E_206D_200C_200B_206A_202B_202C_206D_206B_200E_206B_206F_202C_206A_206E_200D_206B_206E_206C_202C_206F_200E_202E(IFontHandle P_0) - { - return P_0.Push(); - } - - static ImRaii.ColorDisposable _202C_200F_202C_200F_206C_206E_206B_200E_200B_200D_200B_200D_206A_200E_200B_206B_206F_200C_202E_206E_202E_200E_206A_206B_206F_200B_202E_202C_206E_202C_200E_202D_206A_202C_206D_202D_200E_202E_206F_206D_202E(ImGuiCol P_0, Vector4 P_1, bool P_2) - { - return ImRaii.PushColor(P_0, P_1, P_2); - } - - static string _200F_202A_200F_202B_200C_200E_206C_200C_206F_206B_200F_202D_200C_202A_206A_206D_200F_206E_206C_206F_206A_202D_202C_202A_206C_206C_206D_202C_206F_200E_206C_206B_200D_202E_200B_202C_200D_200D_200D_200C_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static void _200D_206E_206C_206D_206A_202B_206E_200B_200D_200D_200D_206F_206A_202A_202B_200C_202A_200F_200C_202B_202A_206A_200E_206C_202E_200C_202E_202A_206D_206A_202C_202D_200D_206B_206E_202E_200E_202C_206C_200C_202E(ImU8String P_0) - { - ImGui.TextUnformatted(P_0); - } - - static void _206B_206A_202B_206E_200D_202D_206F_206A_206F_206D_200B_200F_200F_200D_202D_200D_206C_206F_202E_206D_206C_202A_206E_202E_206A_202D_202E_202A_200B_206C_200B_202E_200F_202B_206A_202C_200D_200D_200F_200E_202E() - { - ImGui.SameLine(); - } - - static void _200C_200F_200D_202C_202A_200C_200F_202C_206A_202A_202E_206A_200D_206C_206F_206F_200D_200F_202A_202C_202E_206E_202D_202E_202E_206E_206A_202B_206C_200B_200C_206D_202E_206A_206F_206F_200F_200F_202E_206E_202E(ImU8String P_0) - { - ImGui.Text(P_0); - } - - static void _206D_202E_202D_206A_206E_206F_206A_206D_202C_202C_206D_200B_200B_202A_200C_200B_206B_202A_200D_206C_206D_200D_202E_200D_200F_206B_200F_202C_206D_202C_200E_200F_202A_202E_206D_202D_206B_206E_206D_200E_202E() - { - ImGui.Separator(); - } - - static bool _200E_200E_206C_206D_206C_202A_202C_206B_202E_200B_206D_202E_202B_202D_200D_206B_206E_206E_202D_200C_202B_200D_206D_206D_200F_200F_206E_200B_206E_206A_206D_200F_200C_200B_202C_206D_206F_200C_200B_200E_202E(string P_0, ref ElementId P_1) - { - return ElementId.TryFromString(P_0, out P_1); - } - - static bool _202B_206E_200D_200E_200F_200C_202E_206F_200C_206F_206D_202A_206D_202E_200F_202D_202D_202D_206C_200B_202D_200C_200B_206D_202E_200E_206E_200D_202B_202C_206A_202D_200D_200C_206C_202C_206F_200C_206D_202B_202E(ElementId P_0, ElementId P_1) - { - return P_0 != P_1; - } - - static string[] _200F_200B_206B_202E_200B_206F_202A_206C_200E_206B_206C_202C_206F_206C_206C_202E_202B_206D_206B_206C_202D_202C_200D_202C_200B_202D_202C_200E_202C_206B_202A_200C_206E_200B_206B_200C_202D_200C_206D_202E_202E(string P_0, char P_1, StringSplitOptions P_2) - { - return P_0.Split(P_1, P_2); - } - - static string _200E_202C_202A_200E_200E_206D_206D_206A_200E_202D_206E_206A_206D_206F_200D_206C_200F_206F_202B_206A_202B_200F_206F_206E_200B_202E_202E_202E_200B_202D_202D_202A_206E_200D_202A_202B_200F_200B_202B_206D_202E(string P_0) - { - return P_0.Trim(); - } - - static void _200B_206B_206C_206E_202A_202B_202B_202D_202B_202D_202B_200E_206B_206A_206F_206E_206F_202C_202D_202D_202D_202C_206F_200B_202E_206B_200E_202D_202D_206D_206F_206B_202E_200C_202E_206D_202E_206F_202E_200D_202E() - { - ImGui.Spacing(); - } - - static bool _202C_200F_206B_202A_206D_200E_206F_206F_200B_206F_200C_206D_206C_206E_206D_200C_202D_200F_200D_200C_202E_206D_206D_202C_200E_200F_200E_202E_202A_202C_202A_206E_206E_202D_202D_202B_206B_206C_200F_206E_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.StartsWith(P_1, P_2); - } - - static void _206B_206E_202A_206C_202A_202A_202A_200B_206B_206A_200B_206E_206E_202A_206B_202C_206F_202B_206B_202D_202A_200C_206C_206C_200B_200F_206C_200B_202D_202A_200C_206B_202C_206B_200E_202A_206C_200B_202E_200D_202E(ImU8String P_0) - { - ImGui.TextWrapped(P_0); - } - - static Vector4 _206C_202D_200F_202C_202D_202B_200E_200C_200F_206D_202C_200C_202D_206C_200E_202A_202B_200E_206F_206F_202D_202C_206B_202D_202A_206C_202D_206F_206D_200C_202A_200F_206B_200E_200B_206D_202E_206A_200C_202A_202E() - { - return ImGuiColors.HealerGreen; - } - - static string[] _202A_202B_202B_200B_206B_202A_206B_206F_206D_202E_202A_202C_202D_200E_206A_200D_206D_200D_206A_200C_202C_206B_206A_202C_206A_202B_202B_206E_202D_202C_202D_200F_200C_206B_206A_202C_200C_206D_200C_202E_202E(string P_0, char P_1, int P_2, StringSplitOptions P_3) - { - return P_0.Split(P_1, P_2, P_3); - } - - static void _202D_202D_206A_200B_206A_206D_200C_206C_206F_200D_206A_206A_206D_200C_206C_202A_206C_206C_200F_202B_206C_206C_206C_206A_200D_206D_202E_206B_202C_202A_206E_202B_206B_202E_200F_202A_200E_206F_200E_206E_202E() - { - ImGui.Indent(); - } - - static Vector4 _206E_200C_202C_206E_200B_200B_206D_202E_206F_206C_200C_200E_202D_202B_200B_206C_202E_206B_206D_200E_202B_202A_200F_200E_206F_206D_206E_206F_206B_200B_206E_200D_206C_200E_206B_202B_202C_200F_202C_206E_202E() - { - return ImGuiColors.TankBlue; - } - - static Vector4 _206A_206D_206F_206A_200E_200B_206D_202B_202A_206A_206A_206B_206F_202B_206E_206E_202A_202B_200B_202A_206D_206D_202B_206E_200E_202B_202C_200E_202E_206D_202D_206D_206A_202C_200C_206C_202A_200F_202C_200D_202E() - { - return ImGuiColors.DPSRed; - } - - static Vector4 _202D_202D_202B_202D_206D_200F_200B_200D_206E_206A_202A_202E_206E_202C_202E_206B_200D_202E_200D_200C_200F_202B_206E_200C_202D_206D_206F_200F_202B_202E_200C_202B_202D_200E_206C_202C_206F_202D_202D_206C_202E() - { - return ImGuiColors.ParsedGreen; - } - - static Vector4 _200E_202B_200D_206D_200C_200E_202B_206B_206B_200D_206A_202D_200B_202D_206B_200E_206D_202E_206A_206E_206A_202C_200E_206F_202D_202D_200B_206A_206A_206E_200B_206B_206D_206E_200D_206D_200C_200E_206E_200E_202E() - { - return ImGuiColors.ParsedBlue; - } - - static Vector4 _206E_200C_200E_206C_202D_202D_200B_202A_202C_200E_200B_206F_206E_206E_206A_200B_206A_200E_206A_200C_200D_200E_202C_202C_200D_200F_202A_200E_202B_200F_200B_202B_202C_206F_206B_206B_206E_200D_202A_200D_202E() - { - return ImGuiColors.DalamudViolet; - } - - static void _200C_202E_200E_200B_200F_206F_202E_202D_206B_200D_206C_200F_200B_206F_206A_206E_200F_202D_206F_202C_200D_202C_200E_206E_202E_200B_200D_202C_206F_206D_206A_206F_200F_206D_202C_200C_202C_200D_206C_200D_202E() - { ImGui.Unindent(); } - static bool _206C_206F_202A_200E_206C_200D_200C_206B_200C_200D_206C_206C_202A_200D_200C_206C_202E_202E_206D_202D_200D_202C_202D_206C_206C_206E_202D_202E_200E_202D_202B_206C_200F_202A_200B_206A_202B_202D_200E_202D_202E(string P_0, char P_1, StringComparison P_2) + private static void DrawGenericDetails(string description) { - return P_0.Contains(P_1, P_2); - } - - static int _202C_206D_202D_200E_200E_202E_200F_200C_206A_202A_206C_206F_200F_206D_206F_200D_206D_206D_200D_206E_206E_206D_202E_200B_206E_202B_206C_206E_202A_200C_200B_206D_202D_200E_200E_200C_206A_206E_202A_206A_202E(string P_0, char P_1, StringComparison P_2) - { - return P_0.IndexOf(P_1, P_2); - } - - static string _200F_206B_200E_202D_200E_206D_202B_206F_202B_200C_202A_206F_206F_202B_206E_206A_200C_200B_206D_206B_202A_206C_202E_200B_206A_200F_206B_202C_200D_200F_200F_202B_206E_202A_206B_202A_202B_206C_202B_206C_202E(string P_0, int P_1, int P_2) - { - return P_0.Substring(P_1, P_2); - } - - static string _206B_206D_200E_206E_200D_206E_206F_202D_206F_200E_202D_206A_206D_200D_200B_206C_200B_206C_206D_206F_202C_206B_200B_200B_206C_206B_206A_200B_202C_200D_206E_202D_206D_200D_206C_206C_200E_206A_202A_202E(string P_0, int P_1) - { - return P_0.Substring(P_1); - } - - static string _200B_206D_206F_202E_206F_202E_202D_206D_200B_202D_202A_200E_206B_200E_202C_200E_200D_206D_206A_200E_206D_200E_200B_202E_200C_206E_200F_202A_206C_206C_200F_200F_206C_200B_202B_202B_200C_200C_202E_202D_202E(string P_0) - { - return P_0.TrimStart(); - } - - static string _202E_202A_202C_206E_200D_202C_202E_206C_202D_200E_206E_206B_206B_202A_206F_206B_202C_200D_206E_206D_200B_206E_202D_200C_200F_202A_200E_200B_206C_206E_202E_206B_202B_202B_200D_200B_202A_202B_206E_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static Regex _202B_202E_206B_206B_200D_202B_202C_202A_200E_206E_202B_200B_202B_206E_200B_200C_202E_200E_206B_206A_206F_202C_200B_206A_200D_206A_200F_206B_206C_206B_200F_200E_206E_206E_206C_202B_202A_206D_206B_202E(string P_0, RegexOptions P_1) - { - return new Regex(P_0, P_1); + string[] array = description.Split('\n'); + for (int i = 0; i < array.Length; i++) + { + string text = array[i].Trim(); + if (string.IsNullOrEmpty(text)) + { + ImGui.Spacing(); + } + else if (text.StartsWith("Error:", StringComparison.Ordinal) || text.StartsWith("Invalid", StringComparison.Ordinal) || text.StartsWith("Missing", StringComparison.Ordinal)) + { + using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed)) + { + ImGui.TextWrapped(text); + } + } + else if (text.Contains(':', StringComparison.Ordinal)) + { + int num = text.IndexOf(':', StringComparison.Ordinal); + string text2 = text.Substring(0, num); + string text3 = text.Substring(num + 1).TrimStart(); + using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedBlue)) + { + ImGui.Text(text2 + ":"); + } + ImGui.SameLine(); + ImGui.TextWrapped(text3); + } + else + { + ImGui.TextWrapped(text); + } + } } } diff --git a/Questionable/Questionable.Windows.Setup/EssentialSettingsStep.cs b/Questionable/Questionable.Windows.Setup/EssentialSettingsStep.cs index 4bd5dee..9890b02 100644 --- a/Questionable/Questionable.Windows.Setup/EssentialSettingsStep.cs +++ b/Questionable/Questionable.Windows.Setup/EssentialSettingsStep.cs @@ -1,8 +1,5 @@ using System; -using System.Collections.Generic; using System.Linq; -using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; using Dalamud.Plugin; using LLib.GameData; @@ -12,54 +9,6 @@ namespace Questionable.Windows.Setup; internal sealed class EssentialSettingsStep : ISetupStep { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__12_0; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal bool _003CAutoDutyInstalled_003Eb__12_0(IExposedPlugin x) - { - int num = ((!_202C_206F_206D_200C_200E_202B_202A_206A_206A_206D_202C_202B_206E_200C_200D_202E_202C_200F_200F_200C_200D_200F_206F_202B_202D_202B_200D_206F_202A_200E_202D_202B_202A_200D_206B_200C_200C_200C_206F_206E_202E(_200F_206F_202C_202B_200D_202E_202D_202C_202A_200D_200F_202E_200C_202E_202C_202B_202D_206E_200E_206C_202D_200C_200E_200B_202A_202E_206B_202B_202C_200D_200C_202E_200C_200B_202E_200E_200D_202B_200C_200E_202E(x), 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(-1920887579))) ? 794105866 : 794105867); - while (true) - { - int num2 = num; - int num3 = 794105866; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0055; - case 0: - return false; - case 1: - return _202D_200C_200F_206F_200C_200C_202E_202B_202B_200B_202C_202A_206C_200D_202B_206F_200C_200F_200C_206F_202A_202B_202A_200D_202C_200D_202E_206E_202E_206B_206A_206B_202A_200B_206A_200E_206C_206A_200C_206B_202E(x); - } - continue; - IL_0055: - num = 794105867; - } - } - - static string _200F_206F_202C_202B_200D_202E_202D_202C_202A_200D_200F_202E_200C_202E_202C_202B_202D_206E_200E_206C_202D_200C_200E_200B_202A_202E_206B_202B_202C_200D_200C_202E_200C_200B_202E_200E_200D_202B_200C_200E_202E(IExposedPlugin P_0) - { - return P_0.InternalName; - } - - static bool _202C_206F_206D_200C_200E_202B_202A_206A_206A_206D_202C_202B_206E_200C_200D_202E_202C_200F_200F_200C_200D_200F_206F_202B_202D_202B_200D_206F_202A_200E_202D_202B_202A_200D_206B_200C_200C_200C_206F_206E_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - - static bool _202D_200C_200F_206F_200C_200C_202E_202B_202B_200B_202C_202A_206C_200D_202B_206F_200C_200F_200C_206F_202A_202B_202A_200D_202C_200D_202E_206E_202E_206B_206A_206B_202A_200B_206A_200E_206C_206A_200C_206B_202E(IExposedPlugin P_0) - { - return P_0.IsLoaded; - } - } - private const float MaxComboWidth = 300f; private readonly GeneralConfigComponent _generalConfigComponent; @@ -68,14 +17,7 @@ internal sealed class EssentialSettingsStep : ISetupStep private readonly IDalamudPluginInterface _pluginInterface; - public string Title - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return 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(1784162476); - } - } + public string Title => "Essential settings"; public bool CanAdvance => true; @@ -88,144 +30,41 @@ internal sealed class EssentialSettingsStep : ISetupStep public bool ShouldShow() { - int num = (GrandCompanyNotJoined() ? (-22021032) : (-22021031)); - while (true) + if (!GrandCompanyNotJoined()) { - int num2 = num; - int num3 = -22021032; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0047; - case 1: - return AutoDutyInstalled(); - case 0: - return true; - } - continue; - IL_0047: - num = -22021031; + return AutoDutyInstalled(); } + return true; } - bool ISetupStep.ShouldShow() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldShow - return this.ShouldShow(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public void Draw() { - int num = ((!GrandCompanyNotJoined()) ? 607897982 : 607897977); - while (true) + if (GrandCompanyNotJoined()) { - int num2 = num; - int num3 = 607897978; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - UiThemeUtils.SectionHeader(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(1099527439)); - _206B_206A_202A_206B_200E_200C_206C_200F_206A_206C_202D_206B_206D_200F_200D_202A_206C_206E_202D_202C_206B_206A_200F_202B_206B_202E_206B_200F_206A_200D_202C_206E_200F_202A_202D_206C_202E_202D_200E_200E_202E(0f); - _202A_202E_200D_202A_202E_200D_206F_206D_202C_202A_200D_202E_202B_200F_206C_202D_206E_206E_200B_200D_206F_200F_206F_202E_200C_206A_200D_206E_206F_200C_206E_202A_206A_202E_200D_200D_200D_206C_202A_206F_202E(ref UiThemeUtils.DimTextColor, (ImU8String)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(1066832142)); - _202C_206D_200E_202D_200C_200B_202B_200D_200C_206B_206C_206F_202D_200B_206F_200B_200B_200B_200B_200B_200F_202A_206C_206A_206D_206D_202C_202E_202B_206F_202D_206C_202C_200C_202D_200B_206E_206E_202B_206B_202E(); - _dutyConfigComponent.DrawAutoDutySettings(); - num = 607897976; - break; - case 3: - UiThemeUtils.SectionHeader(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(819285658)); - _206B_206A_202A_206B_200E_200C_206C_200F_206A_206C_202D_206B_206D_200F_200D_202A_206C_206E_202D_202C_206B_206A_200F_202B_206B_202E_206B_200F_206A_200D_202C_206E_200F_202A_202D_206C_202E_202D_200E_200E_202E(0f); - _202A_202E_200D_202A_202E_200D_206F_206D_202C_202A_200D_202E_202B_200F_206C_202D_206E_206E_200B_200D_206F_200F_206F_202E_200C_206A_200D_206E_206F_200C_206E_202A_206A_202E_200D_200D_200D_206C_202A_206F_202E(ref UiThemeUtils.DimTextColor, (ImU8String)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(476554444)); - _202C_206D_200E_202D_200C_200B_202B_200D_200C_206B_206C_206F_202D_200B_206F_200B_200B_200B_200B_200B_200F_202A_206C_206A_206D_206D_202C_202E_202B_206F_202D_206C_202C_200C_202D_200B_206E_206E_202B_206B_202E(); - _generalConfigComponent.DrawGrandCompanySelector(_202B_202B_202C_206A_200E_206F_202E_206B_200E_200C_206D_202E_202A_202C_200F_206D_200C_206F_200F_200F_206C_206E_202E_202E_200F_202E_206C_206D_206F_200C_206E_200B_206F_206B_200F_202D_202A_206A_206A_206E_202E(_206D_202B_202A_200D_206A_206F_202E_200F_200F_206A_206A_202B_202B_200C_202A_206F_202B_200F_200E_202E_206C_206F_202D_206E_202E_206C_200E_202D_200C_202E_202E_200D_206F_206E_200E_202D_206B_206A_206A_200D_202E().X, 300f)); - UiThemeUtils.SectionSpacing(); - num = 607897982; - break; - case 2: - return; - case 4: - num = ((!AutoDutyInstalled()) ? 607897976 : 607897979); - break; - case 0: - num = 607897977; - break; - } + UiThemeUtils.SectionHeader("Grand Company"); + ImGui.PushTextWrapPos(0f); + ImGui.TextColored(in UiThemeUtils.DimTextColor, "You haven't joined a Grand Company yet. Pick the one you intend to join - the MSQ stalls at \"The Company You Keep\" without it."); + ImGui.PopTextWrapPos(); + _generalConfigComponent.DrawGrandCompanySelector(MathF.Min(ImGui.GetContentRegionAvail().X, 300f)); + UiThemeUtils.SectionSpacing(); + } + if (AutoDutyInstalled()) + { + UiThemeUtils.SectionHeader("Dungeons (AutoDuty)"); + ImGui.PushTextWrapPos(0f); + ImGui.TextColored(in UiThemeUtils.DimTextColor, "AutoDuty is installed. Enable this to let Questionable clear mandatory MSQ dungeons instead of stopping at them."); + ImGui.PopTextWrapPos(); + _dutyConfigComponent.DrawAutoDutySettings(); } - } - - void ISetupStep.Draw() - { - //ILSpy generated this explicit interface implementation from .override directive in Draw - this.Draw(); } private static bool GrandCompanyNotJoined() { - return _202B_200E_206A_206B_202C_206C_200D_200E_202E_206D_200F_202A_206F_206C_200E_202B_206C_202D_206E_202E_206F_202D_206C_200F_206F_200B_206D_202A_202A_200D_206E_202C_206A_206C_200C_206E_206E_200B_200B_200C_202E() == 0; + return GrandCompanyHelper.GetGrandCompanyId() == 0; } private bool AutoDutyInstalled() { - return _202B_202A_202C_206E_206D_206B_202B_200E_206B_202A_206D_202E_202E_202B_200E_200C_206F_202C_202E_202B_206A_206D_200B_206F_202D_200B_206A_202D_202D_206C_200B_206C_206A_200C_206C_200C_202A_206D_200C_206F_202E(_pluginInterface).Any([MethodImpl(MethodImplOptions.NoInlining)] (IExposedPlugin x) => - { - int num = ((!_003C_003Ec._202C_206F_206D_200C_200E_202B_202A_206A_206A_206D_202C_202B_206E_200C_200D_202E_202C_200F_200F_200C_200D_200F_206F_202B_202D_202B_200D_206F_202A_200E_202D_202B_202A_200D_206B_200C_200C_200C_206F_206E_202E(_003C_003Ec._200F_206F_202C_202B_200D_202E_202D_202C_202A_200D_200F_202E_200C_202E_202C_202B_202D_206E_200E_206C_202D_200C_200E_200B_202A_202E_206B_202B_202C_200D_200C_202E_200C_200B_202E_200E_200D_202B_200C_200E_202E(x), 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(-1920887579))) ? 794105866 : 794105867); - while (true) - { - int num2 = num; - int num3 = 794105866; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0055; - case 0: - return false; - case 1: - return _003C_003Ec._202D_200C_200F_206F_200C_200C_202E_202B_202B_200B_202C_202A_206C_200D_202B_206F_200C_200F_200C_206F_202A_202B_202A_200D_202C_200D_202E_206E_202E_206B_206A_206B_202A_200B_206A_200E_206C_206A_200C_206B_202E(x); - } - continue; - IL_0055: - num = 794105867; - } - }); - } - - static void _206B_206A_202A_206B_200E_200C_206C_200F_206A_206C_202D_206B_206D_200F_200D_202A_206C_206E_202D_202C_206B_206A_200F_202B_206B_202E_206B_200F_206A_200D_202C_206E_200F_202A_202D_206C_202E_202D_200E_200E_202E(float P_0) - { - ImGui.PushTextWrapPos(P_0); - } - - static void _202A_202E_200D_202A_202E_200D_206F_206D_202C_202A_200D_202E_202B_200F_206C_202D_206E_206E_200B_200D_206F_200F_206F_202E_200C_206A_200D_206E_206F_200C_206E_202A_206A_202E_200D_200D_200D_206C_202A_206F_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static void _202C_206D_200E_202D_200C_200B_202B_200D_200C_206B_206C_206F_202D_200B_206F_200B_200B_200B_200B_200B_200F_202A_206C_206A_206D_206D_202C_202E_202B_206F_202D_206C_202C_200C_202D_200B_206E_206E_202B_206B_202E() - { - ImGui.PopTextWrapPos(); - } - - static Vector2 _206D_202B_202A_200D_206A_206F_202E_200F_200F_206A_206A_202B_202B_200C_202A_206F_202B_200F_200E_202E_206C_206F_202D_206E_202E_206C_200E_202D_200C_202E_202E_200D_206F_206E_200E_202D_206B_206A_206A_200D_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static float _202B_202B_202C_206A_200E_206F_202E_206B_200E_200C_206D_202E_202A_202C_200F_206D_200C_206F_200F_200F_206C_206E_202E_202E_200F_202E_206C_206D_206F_200C_206E_200B_206F_206B_200F_202D_202A_206A_206A_206E_202E(float P_0, float P_1) - { - return MathF.Min(P_0, P_1); - } - - static byte _202B_200E_206A_206B_202C_206C_200D_200E_202E_206D_200F_202A_206F_206C_200E_202B_206C_202D_206E_202E_206F_202D_206C_200F_206F_200B_206D_202A_202A_200D_206E_202C_206A_206C_200C_206E_206E_200B_200B_200C_202E() - { - return GrandCompanyHelper.GetGrandCompanyId(); - } - - static IEnumerable _202B_202A_202C_206E_206D_206B_202B_200E_206B_202A_206D_202E_202E_202B_200E_200C_206F_202C_202E_202B_206A_206D_200B_206F_202D_200B_206A_202D_202D_206C_200B_206C_206A_200C_206C_200C_202A_206D_200C_206F_202E(IDalamudPluginInterface P_0) - { - return P_0.InstalledPlugins; + return _pluginInterface.InstalledPlugins.Any((IExposedPlugin x) => x.InternalName == "AutoDuty" && x.IsLoaded); } } diff --git a/Questionable/Questionable.Windows.Setup/PluginsStep.cs b/Questionable/Questionable.Windows.Setup/PluginsStep.cs index 5a31174..80db087 100644 --- a/Questionable/Questionable.Windows.Setup/PluginsStep.cs +++ b/Questionable/Questionable.Windows.Setup/PluginsStep.cs @@ -1,4 +1,3 @@ -using System.Runtime.CompilerServices; using Questionable.Windows.ConfigComponents; namespace Questionable.Windows.Setup; @@ -9,14 +8,7 @@ internal sealed class PluginsStep : ISetupStep private bool _allRequiredInstalled; - public string Title - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1242474630); - } - } + public string Title => "Required plugins"; public bool CanAdvance => _allRequiredInstalled; @@ -30,20 +22,8 @@ internal sealed class PluginsStep : ISetupStep return true; } - bool ISetupStep.ShouldShow() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldShow - return this.ShouldShow(); - } - public void Draw() { _pluginConfigComponent.Draw(out _allRequiredInstalled); } - - void ISetupStep.Draw() - { - //ILSpy generated this explicit interface implementation from .override directive in Draw - this.Draw(); - } } diff --git a/Questionable/Questionable.Windows.Setup/ReadyStep.cs b/Questionable/Questionable.Windows.Setup/ReadyStep.cs index aaaa504..5be682d 100644 --- a/Questionable/Questionable.Windows.Setup/ReadyStep.cs +++ b/Questionable/Questionable.Windows.Setup/ReadyStep.cs @@ -1,19 +1,10 @@ -using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; namespace Questionable.Windows.Setup; internal sealed class ReadyStep : ISetupStep { - public string Title - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return 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(-1485427555); - } - } + public string Title => "You're ready"; public bool CanAdvance => true; @@ -22,60 +13,17 @@ internal sealed class ReadyStep : ISetupStep return true; } - bool ISetupStep.ShouldShow() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldShow - return this.ShouldShow(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public void Draw() { - _206E_206F_206A_202E_202E_206C_206E_202B_200C_200B_206D_200D_202B_206F_200C_206A_200E_200B_202B_206D_200E_206A_202B_200E_206C_200B_206E_200B_200F_202E_206F_202A_206B_200C_206F_200D_200C_206C_206F_206C_202E(0f); - _200E_200F_206A_200B_202D_200C_200C_200C_200D_206F_200E_200B_206C_206A_202E_206E_200D_200D_206E_206E_200F_200B_206B_202B_202C_206F_200D_206F_206C_202D_202D_206F_206D_202D_206B_202E_206B_206C_200D_202E_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(337843363)); - _202C_200E_200B_200E_202B_206A_206A_206D_200E_206C_202E_202B_200D_206B_200F_202D_206A_202A_206F_202E_202E_200F_206A_202B_206B_200D_200C_200F_200C_200D_200D_206E_200D_200E_202D_202E_202C_206D_202D_202E(); - _200D_202E_202B_202D_202E_206C_202A_206E_200E_200F_200B_200C_202C_202C_206B_206C_206D_206F_200F_206A_206A_206A_202C_202C_202B_202A_200C_206A_202A_200C_206D_202B_206C_206B_202A_200E_200B_202E_202A_202D_202E(); - _206F_200E_202C_206D_206F_206F_200C_200F_200E_206C_206A_200B_202A_202C_206B_202A_200F_200F_200F_202C_206F_202E_202B_206A_206F_200F_206E_202E_200F_206F_200C_200C_200F_206A_200C_202C_202A_206A_200E_200D_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-986146011)); - _206F_200E_202C_206D_206F_206F_200C_200F_200E_206C_206A_200B_202A_202C_206B_202A_200F_200F_200F_202C_206F_202E_202B_206A_206F_200F_206E_202E_200F_206F_200C_200C_200F_206A_200C_202C_202A_206A_200E_200D_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(599483750)); - _206F_200E_202C_206D_206F_206F_200C_200F_200E_206C_206A_200B_202A_202C_206B_202A_200F_200F_200F_202C_206F_202E_202B_206A_206F_200F_206E_202E_200F_206F_200C_200C_200F_206A_200C_202C_202A_206A_200E_200D_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-112977426)); - _206F_200E_202C_206D_206F_206F_200C_200F_200E_206C_206A_200B_202A_202C_206B_202A_200F_200F_200F_202C_206F_202E_202B_206A_206F_200F_206E_202E_200F_206F_200C_200C_200F_206A_200C_202C_202A_206A_200E_200D_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2083520083)); - _200D_202E_202B_202D_202E_206C_202A_206E_200E_200F_200B_200C_202C_202C_206B_206C_206D_206F_200F_206A_206A_206A_202C_202C_202B_202A_200C_206A_202A_200C_206D_202B_206C_206B_202A_200E_200B_202E_202A_202D_202E(); - _202B_200C_206B_202B_200B_200C_202A_200C_200B_200F_202B_202C_206B_200F_202A_202C_206F_200F_200E_206B_206D_206E_202B_200F_200D_206A_202C_202D_206F_202D_202B_200C_206C_206C_202E_206C_202D_206A_200D_200D_202E(ref UiThemeUtils.DimTextColor, (ImU8String)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(1984563182)); - } - - void ISetupStep.Draw() - { - //ILSpy generated this explicit interface implementation from .override directive in Draw - this.Draw(); - } - - static void _206E_206F_206A_202E_202E_206C_206E_202B_200C_200B_206D_200D_202B_206F_200C_206A_200E_200B_202B_206D_200E_206A_202B_200E_206C_200B_206E_200B_200F_202E_206F_202A_206B_200C_206F_200D_200C_206C_206F_206C_202E(float P_0) - { - ImGui.PushTextWrapPos(P_0); - } - - static void _200E_200F_206A_200B_202D_200C_200C_200C_200D_206F_200E_200B_206C_206A_202E_206E_200D_200D_206E_206E_200F_200B_206B_202B_202C_206F_200D_206F_206C_202D_202D_206F_206D_202D_206B_202E_206B_206C_200D_202E_202E(ImU8String P_0) - { - ImGui.TextUnformatted(P_0); - } - - static void _202C_200E_200B_200E_202B_206A_206A_206D_200E_206C_202E_202B_200D_206B_200F_202D_206A_202A_206F_202E_202E_200F_206A_202B_206B_200D_200C_200F_200C_200D_200D_206E_200D_200E_202D_202E_202C_206D_202D_202E() - { + ImGui.PushTextWrapPos(0f); + ImGui.TextUnformatted("Press Finish to complete setup. To use Questionable:"); ImGui.PopTextWrapPos(); - } - - static void _200D_202E_202B_202D_202E_206C_202A_206E_200E_200F_200B_200C_202C_202C_206B_206C_206D_206F_200F_206A_206A_206A_202C_202C_202B_202A_200C_206A_202A_200C_206D_202B_206C_206B_202A_200E_200B_202E_202A_202D_202E() - { ImGui.Spacing(); - } - - static void _206F_200E_202C_206D_206F_206F_200C_200F_200E_206C_206A_200B_202A_202C_206B_202A_200F_200F_200F_202C_206F_202E_202B_206A_206F_200F_206E_202E_200F_206F_200C_200C_200F_206A_200C_202C_202A_206A_200E_200D_202E(ImU8String P_0) - { - ImGui.BulletText(P_0); - } - - static void _202B_200C_206B_202B_200B_200C_202A_200C_200B_200F_202B_202C_206B_200F_202A_202C_206F_200F_200E_206B_206D_206E_202B_200F_200D_206A_202C_202D_206F_202D_202B_200C_206C_206C_202E_206C_202D_206A_200D_200D_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); + ImGui.BulletText("/qst - open the quest window"); + ImGui.BulletText("/qst start - begin questing"); + ImGui.BulletText("/qst stop - stop questing"); + ImGui.BulletText("Double-tap ESC to cancel questing or movement at any time"); + ImGui.Spacing(); + ImGui.TextColored(in UiThemeUtils.DimTextColor, "Re-open this setup any time with /qst setup or from the Plugins tab in the config window."); } } diff --git a/Questionable/Questionable.Windows.Setup/WelcomeStep.cs b/Questionable/Questionable.Windows.Setup/WelcomeStep.cs index 3c43ed8..e577a87 100644 --- a/Questionable/Questionable.Windows.Setup/WelcomeStep.cs +++ b/Questionable/Questionable.Windows.Setup/WelcomeStep.cs @@ -1,19 +1,10 @@ -using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; namespace Questionable.Windows.Setup; internal sealed class WelcomeStep : ISetupStep { - public string Title - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return 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(-460917793); - } - } + public string Title => "Welcome"; public bool CanAdvance => true; @@ -22,50 +13,12 @@ internal sealed class WelcomeStep : ISetupStep return true; } - bool ISetupStep.ShouldShow() - { - //ILSpy generated this explicit interface implementation from .override directive in ShouldShow - return this.ShouldShow(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] public void Draw() { - _206F_202B_202B_206B_206C_206D_200B_200D_202B_206E_206E_206F_202E_200F_202C_202E_206A_202D_200E_202E_200C_206D_206F_200E_200F_200B_206A_202C_202B_202B_206E_206E_202E_202B_206F_202A_200F_206D_202D_206E_202E(0f); - _202E_202C_200C_202E_200B_200C_200B_206D_202E_200D_202B_202A_200F_200E_200E_202C_206E_206D_200B_200E_206C_202E_206C_206C_202D_202C_200C_202B_200E_200B_200F_206B_202D_206F_206D_206C_206D_206F_200F_200F_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1095272585)); - _206B_206E_200F_206B_200C_200F_200D_202B_206F_206A_200F_202A_200E_200E_200D_202A_206D_200D_200C_206B_202B_206D_206B_200D_206A_200C_206F_206C_202C_202B_206A_206B_206F_206B_200D_200F_206B_202D_206A_202D_202E(); - _200B_202E_200B_202E_206D_202A_202A_202A_206F_202C_202A_200D_202B_202E_206E_202C_200D_202D_200F_202C_206F_206C_200E_202E_200D_202C_202C_206D_206B_202D_206F_200E_202A_200B_206A_202B_200C_206A_200D_206B_202E(ref UiThemeUtils.DimTextColor, (ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2065925173)); - _202B_200B_206B_206B_206B_202E_206E_200D_206F_202D_200F_200E_202D_202E_206A_200E_202D_200F_206B_206B_200D_206B_200C_206D_206E_202B_202A_206A_200C_206A_200B_202B_206D_206B_202B_206F_200D_202E_206F_206E_202E(); - } - - void ISetupStep.Draw() - { - //ILSpy generated this explicit interface implementation from .override directive in Draw - this.Draw(); - } - - static void _206F_202B_202B_206B_206C_206D_200B_200D_202B_206E_206E_206F_202E_200F_202C_202E_206A_202D_200E_202E_200C_206D_206F_200E_200F_200B_206A_202C_202B_202B_206E_206E_202E_202B_206F_202A_200F_206D_202D_206E_202E(float P_0) - { - ImGui.PushTextWrapPos(P_0); - } - - static void _202E_202C_200C_202E_200B_200C_200B_206D_202E_200D_202B_202A_200F_200E_200E_202C_206E_206D_200B_200E_206C_202E_206C_206C_202D_202C_200C_202B_200E_200B_200F_206B_202D_206F_206D_206C_206D_206F_200F_200F_202E(ImU8String P_0) - { - ImGui.TextUnformatted(P_0); - } - - static void _206B_206E_200F_206B_200C_200F_200D_202B_206F_206A_200F_202A_200E_200E_200D_202A_206D_200D_200C_206B_202B_206D_206B_200D_206A_200C_206F_206C_202C_202B_206A_206B_206F_206B_200D_200F_206B_202D_206A_202D_202E() - { + ImGui.PushTextWrapPos(0f); + ImGui.TextUnformatted("Questionable automates Main Scenario and side quests - accepting and turning in quests, moving you to objectives, and handling dialogue and cutscenes."); ImGui.Spacing(); - } - - static void _200B_202E_200B_202E_206D_202A_202A_202A_206F_202C_202A_200D_202B_202E_206E_202C_200D_202D_200F_202C_206F_206C_200E_202E_200D_202C_202C_206D_206B_202D_206F_200E_202A_200B_206A_202B_200C_206A_200D_206B_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static void _202B_200B_206B_206B_206B_202E_206E_200D_206F_202D_200F_200E_202D_202E_206A_200E_202D_200F_206B_206B_200D_206B_200C_206D_206E_202B_202A_206A_200C_206A_200B_202B_206D_206B_202B_206F_200D_202E_206F_206E_202E() - { + ImGui.TextColored(in UiThemeUtils.DimTextColor, "This is automation - keep an eye on it the first time. This short setup gets the required plugins and a couple of settings in place."); ImGui.PopTextWrapPos(); } } diff --git a/Questionable/Questionable.Windows.SmartNavComponents/DataProbesPanel.cs b/Questionable/Questionable.Windows.SmartNavComponents/DataProbesPanel.cs index ebb4be8..6ff87b0 100644 --- a/Questionable/Questionable.Windows.SmartNavComponents/DataProbesPanel.cs +++ b/Questionable/Questionable.Windows.SmartNavComponents/DataProbesPanel.cs @@ -1,18 +1,15 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Globalization; using System.IO; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using System.Text; using System.Text.Json; using Dalamud.Bindings.ImGui; using Dalamud.Interface.Utility.Raii; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; -using Lumina.Data; using Lumina.Data.Files; using Lumina.Data.Parsing.Layer; using Lumina.Excel; @@ -28,243 +25,13 @@ namespace Questionable.Windows.SmartNavComponents; internal sealed class DataProbesPanel { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec + private static readonly string[] PlanFiles = new string[4] { "planmap.lgb", "planevent.lgb", "planner.lgb", "planlive.lgb" }; + + private static readonly JsonSerializerOptions IndentedJson = new JsonSerializerOptions { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__19_0; - - public static Func, uint> _003C_003E9__19_1; - - public static Func, int> _003C_003E9__19_2; - - public static Func _003C_003E9__19_3; - - public static Func, WarpDataService.WarpInfo> _003C_003E9__19_4; - - public static Func _003C_003E9__21_0; - - public static Func _003C_003E9__21_1; - - public static Func _003C_003E9__21_2; - - public static Func, WarpDataService.WarpInfo> _003C_003E9__21_3; - - public static Func<(uint RowId, float Delta), float> _003C_003E9__21_4; - - public static Func<(uint RowId, float Delta), bool> _003C_003E9__21_5; - - public static Func<(uint RowId, float Delta), string> _003C_003E9__21_6; - - public static Func _003C_003E9__24_0; - - public static Func _003C_003E9__24_1; - - public static Func _003C_003E9__24_2; - - public static Func _003C_003E9__26_1; - - public static Func, bool> _003C_003E9__26_2; - - public static Func, IEnumerable> _003C_003E9__26_3; - - internal uint _003CBuildMultiQuestReport_003Eb__19_0(NavNode.WarpNode n) - { - return _200F_200E_202A_206E_200C_200C_206A_200D_206E_200E_200F_206F_202E_206E_202E_206D_200C_202D_200F_202B_202C_206A_206F_202A_206C_206D_206E_202C_200C_206A_202E_200F_202A_206B_202A_202A_206A_202D_200F_206C_202E(n); - } - - internal uint _003CBuildMultiQuestReport_003Eb__19_1(IGrouping g) - { - return g.Key; - } - - internal int _003CBuildMultiQuestReport_003Eb__19_2(IGrouping g) - { - return g.Count(); - } - - internal uint _003CBuildMultiQuestReport_003Eb__19_3(WarpDataService.WarpInfo w) - { - return _202A_202D_200F_202D_206C_206E_202B_206A_202C_200B_200D_200B_200F_206F_202C_206F_202E_206C_202A_200B_202D_200C_206C_202A_206E_206E_200E_206E_206C_206E_202E_200E_206E_202B_206C_206B_206E_200D_202B_206F_202E(w); - } - - internal WarpDataService.WarpInfo _003CBuildMultiQuestReport_003Eb__19_4(IGrouping g) - { - return g.First(); - } - - internal string _003CBuildPopRangeReport_003Eb__21_0(string f) - { - return f; - } - - internal int _003CBuildPopRangeReport_003Eb__21_1(string _) - { - return 0; - } - - internal uint _003CBuildPopRangeReport_003Eb__21_2(WarpDataService.WarpInfo w) - { - return _202A_202D_200F_202D_206C_206E_202B_206A_202C_200B_200D_200B_200F_206F_202C_206F_202E_206C_202A_200B_202D_200C_206C_202A_206E_206E_200E_206E_206C_206E_202E_200E_206E_202B_206C_206B_206E_200D_202B_206F_202E(w); - } - - internal WarpDataService.WarpInfo _003CBuildPopRangeReport_003Eb__21_3(IGrouping g) - { - return g.First(); - } - - internal float _003CBuildPopRangeReport_003Eb__21_4((uint RowId, float Delta) d) - { - return d.Delta; - } - - internal bool _003CBuildPopRangeReport_003Eb__21_5((uint RowId, float Delta) d) - { - return d.Delta > 20f; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal string _003CBuildPopRangeReport_003Eb__21_6((uint RowId, float Delta) d) - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(4, 2); - defaultInterpolatedStringHandler.AppendFormatted(d.RowId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1473546846)); - defaultInterpolatedStringHandler.AppendFormatted(d.Delta.ToString(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1819906059), _206E_200E_200C_200D_206F_200C_200E_206B_200E_202B_202C_200F_200C_200D_206B_206D_200D_206F_200F_202B_202B_206E_202E_202C_206F_200F_200D_202D_206F_200E_206E_200B_206F_200C_202C_200C_200D_200F_206B_202B_202E())); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-572338381)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - - internal string _003CBuildDerivedArrivalExport_003Eb__24_0(string f) - { - return f; - } - - internal int _003CBuildDerivedArrivalExport_003Eb__24_1(string _) - { - return 0; - } - - internal bool _003CBuildDerivedArrivalExport_003Eb__24_2(Warp x) - { - return x.RowId != 0; - } - - internal uint _003CBuildLayerSetReport_003Eb__26_1(TerritoryType t) - { - return t.RowId; - } - - internal bool _003CBuildLayerSetReport_003Eb__26_2(List refs) - { - return refs.Count > 0; - } - - internal IEnumerable _003CBuildLayerSetReport_003Eb__26_3(List refs) - { - return refs; - } - - static uint _200F_200E_202A_206E_200C_200C_206A_200D_206E_200E_200F_206F_202E_206E_202E_206D_200C_202D_200F_202B_202C_206A_206F_202A_206C_206D_206E_202C_200C_206A_202E_200F_202A_206B_202A_202A_206A_202D_200F_206C_202E(NavNode.WarpNode P_0) - { - return P_0.WarpRowId; - } - - static uint _202A_202D_200F_202D_206C_206E_202B_206A_202C_200B_200D_200B_200F_206F_202C_206F_202E_206C_202A_200B_202D_200C_206C_202A_206E_206E_200E_206E_206C_206E_202E_200E_206E_202B_206C_206B_206E_200D_202B_206F_202E(WarpDataService.WarpInfo P_0) - { - return P_0.RowId; - } - - static CultureInfo _206E_200E_200C_200D_206F_200C_200E_206B_200E_202B_202C_200F_200C_200D_206B_206D_200D_206F_200F_202B_202B_206E_202E_202C_206F_200F_200D_202D_206F_200E_206E_200B_206F_200C_202C_200C_200D_200F_206B_202B_202E() - { - return CultureInfo.InvariantCulture; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass26_0 - { - public string bg; - - public Dictionary> owners; - - public Func _003C_003E9__4; - - internal bool _003CBuildLayerSetReport_003Eb__0(TerritoryType t) - { - int num = ((t.RowId == 0) ? (-1476010825) : (-1476010828)); - while (true) - { - int num2 = num; - int num3 = -1476010826; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0049; - case 2: - return _206E_200D_206F_202A_206D_200B_206A_206B_206C_202B_202E_202E_202E_206C_202E_200B_202A_206C_200B_202D_200D_206B_200F_206E_206A_202C_206F_206F_200C_206A_202E_200F_202C_200D_206E_200E_206F_200B_206F_200D_202E(t.Bg.ExtractText(), bg); - case 1: - return false; - } - continue; - IL_0049: - num = -1476010828; - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal string _003CBuildLayerSetReport_003Eb__4(uint setId) - { - List value; - int num = (owners.TryGetValue(setId, out value) ? (-1977504847) : (-1977504846)); - while (true) - { - int num2 = num; - int num3 = -1977504845; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return string.Join(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1680133376), value); - case 1: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(12, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-884751217)); - defaultInterpolatedStringHandler.AppendFormatted(setId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1951044220)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - case 0: - goto IL_00a0; - } - continue; - IL_00a0: - num = -1977504846; - } - } - - static bool _206E_200D_206F_202A_206D_200B_206A_206B_206C_202B_202E_202E_202E_206C_202E_200B_202A_206C_200B_202D_200D_206B_200F_206E_206A_202C_206F_206F_200C_206A_202E_200F_202C_200D_206E_200E_206F_200B_206F_200D_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - } - - private static readonly string[] PlanFiles = new string[4] - { - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(206471200), - global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1323857348), - global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2108959274), - 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(-1776312573) + WriteIndented = true }; - private static readonly JsonSerializerOptions IndentedJson; - private readonly NavRouter _navRouter; private readonly WarpDataService _warpDataService; @@ -305,421 +72,198 @@ internal sealed class DataProbesPanel public void Draw() { DrawMultiQuestWarpAudit(); - _206E_202C_206B_202A_202A_206A_200E_206C_202C_202B_200F_206D_200E_206E_206F_202B_202A_206A_206B_202B_200C_202E_202E_206F_206C_202D_206F_202D_206A_200E_202D_206E_206B_200F_206A_206E_206E_206C_202E_202E_202E(); + ImGui.Separator(); DrawPopRangeProbe(); - _206E_202C_206B_202A_202A_206A_200E_206C_202C_202B_200F_206D_200E_206E_206F_202B_202A_206A_206B_202B_200C_202E_202E_206F_206C_202D_206F_202D_206A_200E_202D_206E_206B_200F_206A_206E_206E_206C_202E_202E_202E(); + ImGui.Separator(); DrawDerivedArrivalExport(); - _206E_202C_206B_202A_202A_206A_200E_206C_202C_202B_200F_206D_200E_206E_206F_202B_202A_206A_206B_202B_200C_202E_202E_206F_206C_202D_206F_202D_206A_200E_202D_206E_206B_200F_206A_206E_206E_206C_202E_202E_202E(); + ImGui.Separator(); DrawLayerSetProbe(); } - [MethodImpl(MethodImplOptions.NoInlining)] private static void DrawReport(string id, ref string? report) { - int num = ((report != null) ? (-753612430) : (-753612431)); - while (true) + if (report == null) { - int num2 = num; - int num3 = -753612432; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = -753612431; - break; - case 5: - { - _206E_200E_200E_206D_206A_206E_206B_206E_202C_202B_202A_206C_200F_206E_202E_202E_202C_206B_202E_206B_206C_206F_200D_202B_200B_202C_200E_206D_200B_202B_202A_200B_202B_202A_206D_200B_206E_200D_200E_202A_202E(); - ImU8String imU8String3 = new ImU8String(7, 1); - imU8String3.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(870892128)); - imU8String3.AppendFormatted(id); - num = ((!_202E_206D_202D_202A_206D_206A_200E_200B_202E_202B_202B_206C_200B_202C_206B_206A_206D_202E_202B_202A_202B_202B_200E_206F_206E_200D_202E_206B_202A_202C_206D_200C_200D_200B_206D_200B_202A_202B_202A_200F_202E(imU8String3, default(Vector2))) ? (-753612426) : (-753612432)); - break; - } - case 2: - { - _206E_200E_200E_206D_206A_206E_206B_206E_202C_202B_202A_206C_200F_206E_202E_202E_202C_206B_202E_206B_206C_206F_200D_202B_200B_202C_200E_206D_200B_202B_202A_200B_202B_202A_206D_200B_206E_200D_200E_202A_202E(); - ImU8String imU8String2 = new ImU8String(6, 1); - imU8String2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1091508196)); - imU8String2.AppendFormatted(id); - num = ((!_202E_206D_202D_202A_206D_206A_200E_200B_202E_202B_202B_206C_200B_202C_206B_206A_206D_202E_202B_202A_202B_202B_200E_206F_206E_200D_202E_206B_202A_202C_206D_200C_200D_200B_206D_200B_202A_202B_202A_200F_202E(imU8String2, default(Vector2))) ? (-753612427) : (-753612429)); - break; - } - case 1: - return; - case 0: - report = null; - return; - case 3: - _206F_200F_200D_206E_206B_200F_202A_200D_200F_202B_206C_202D_206F_200E_200B_206F_202B_206B_202E_206A_206E_200D_206A_200E_202C_206F_200C_200F_200E_206D_202D_202A_200E_206D_200B_202C_200C_202A_202A_206C_202E((ImU8String)report); - num = -753612427; - break; - case 6: - { - ImU8String imU8String = new ImU8String(7, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1426082020)); - imU8String.AppendFormatted(id); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(687358983)); - using ImRaii.ChildDisposable childDisposable = _206C_202C_200C_200F_206B_202D_202E_206C_202E_206F_202E_206B_206D_206F_206C_206D_206C_202A_202D_200C_202D_202D_202C_202B_202D_206C_202C_200B_202E_206B_200D_206F_202C_200E_206F_202C_202C_200E_206B_206E_202E(imU8String, new Vector2(-1f, 300f), true); - num = ((!(bool)childDisposable) ? (-374858060) : (-374858057)); - while (true) - { - int num7 = num; - num3 = -374858059; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -374858057; - break; - case 2: - _206A_202A_200D_206D_206F_206E_206A_200D_200D_202C_206F_206D_202C_206C_206C_206B_206C_206B_202A_200E_206D_206A_200E_200D_206E_200D_206F_206F_202A_200D_200B_202C_200D_206B_206A_200F_202D_200B_200C_206B_202E((ImU8String)report); - num = -374858060; - break; - case 1: - return; - } - } - } - } + return; + } + ImGui.SameLine(); + ImU8String label = new ImU8String(6, 1); + label.AppendLiteral("Copy##"); + label.AppendFormatted(id); + if (ImGui.Button(label)) + { + ImGui.SetClipboardText(report); + } + ImGui.SameLine(); + ImU8String label2 = new ImU8String(7, 1); + label2.AppendLiteral("Clear##"); + label2.AppendFormatted(id); + if (ImGui.Button(label2)) + { + report = null; + return; + } + ImU8String strId = new ImU8String(7, 1); + strId.AppendLiteral("##"); + strId.AppendFormatted(id); + strId.AppendLiteral("child"); + using ImRaii.ChildDisposable childDisposable = ImRaii.Child(strId, new Vector2(-1f, 300f), border: true); + if ((bool)childDisposable) + { + ImGui.TextUnformatted(report); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawMultiQuestWarpAudit() { - int num = (_200D_202B_200B_206D_200C_202D_206C_206B_202A_206E_202B_200D_200E_200B_206F_206C_206A_202D_206E_206D_206C_200F_206F_206C_202A_206B_200B_206D_206B_200C_200E_202B_206C_206C_200C_202D_202D_200B_202D_206D_202E((ImU8String)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(-488829420), ImGuiTreeNodeFlags.DefaultOpen) ? 1612118690 : 1612118689); - while (true) + if (ImGui.CollapsingHeader("Multi-Quest Warp Audit (CompleteParam)###multiquestaudit", ImGuiTreeNodeFlags.DefaultOpen)) { - int num2 = num; - int num3 = 1612118691; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + ImGui.TextWrapped("Warps whose WarpCondition names 2+ quests. Verifies the CompleteParam any-of fix: conds 3/9/10 (airships, ferry) should read any-of, cond 34 all-of. 'FIX CHANGES THIS' marks warps the pre-fix all-of admission got wrong for this character."); + if (ImGui.Button("Run Audit##multiquest")) { - case 0: - DrawReport(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(270971945), ref _multiQuestReport); - return; - case 2: - return; - case 3: - num = 1612118689; - break; - case 1: - _202C_200D_202E_206B_206F_200D_202B_200E_206C_202C_200F_200F_200D_200D_200F_206C_200B_206B_200E_206C_200F_202B_202C_206E_202D_200B_200D_200E_202E_200B_200F_206D_202D_200C_206E_202E_206E_200F_202A_206E_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-901431591)); - num = ((!_202E_206D_202D_202A_206D_206A_200E_200B_202E_202B_202B_206C_200B_202C_206B_206A_206D_202E_202B_202A_202B_202B_200E_206F_206E_200D_202E_206B_202A_202C_206D_200C_200D_200B_206D_200B_202A_202B_202A_200F_202E((ImU8String)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(-1620439513), default(Vector2))) ? 1612118691 : 1612118695); - break; - case 4: _multiQuestReport = RunGuarded(BuildMultiQuestReport); - num = 1612118691; - break; } + DrawReport("multiquest", ref _multiQuestReport); } } - [MethodImpl(MethodImplOptions.NoInlining)] private string BuildMultiQuestReport() { - StringBuilder stringBuilder = _200C_200B_206F_206E_206D_206D_202E_206B_202B_202A_200E_200F_202B_206F_200D_200E_202A_206A_200C_200B_206C_206C_202A_206D_206C_202A_202C_202E_206C_206E_206C_206B_206B_206C_200C_202B_202B_200F_200B_202E_202E(); + StringBuilder stringBuilder = new StringBuilder(); ExcelSheet excelSheet = _dataManager.GetExcelSheet(); ExcelSheet excelSheet2 = _dataManager.GetExcelSheet(); - Dictionary dictionary = (from n in _202D_200E_206A_200F_206E_206F_200C_200E_206B_206B_206E_202B_202E_206F_200C_206C_206A_202B_200E_202C_200F_206B_200D_202C_206E_202B_200E_200C_202E_206F_200E_200B_202A_206B_202D_202B_200C_200E_202A_206E_202E(_206F_202D_206E_206E_202C_206F_206B_206B_206E_200F_200E_200C_206F_206A_202E_206C_202E_200E_202C_202A_206F_200F_206A_206C_202B_202B_202C_206D_206C_200F_202E_200C_202C_200C_202A_200D_202E_202A_200D_206D_202E(_navRouter)).Values.OfType() - group n by _003C_003Ec._200F_200E_202A_206E_200C_200C_206A_200D_206E_200E_200F_206F_202E_206E_202E_206D_200C_202D_200F_202B_202C_206A_206F_202A_206C_206D_206E_202C_200C_206A_202E_200F_202A_206B_202A_202A_206A_202D_200F_206C_202E(n)).ToDictionary((IGrouping g) => g.Key, (IGrouping g) => g.Count()); + Dictionary dictionary = (from n in _navRouter.StaticGraph.Nodes.Values.OfType() + group n by n.WarpRowId).ToDictionary((IGrouping g) => g.Key, (IGrouping g) => g.Count()); int num = 0; - IEnumerator enumerator = (from w in _200F_206D_206B_206C_202B_206B_206E_200F_202C_202C_202C_206F_202C_200D_202D_200B_200B_206D_206F_202E_200D_206C_202A_206D_202D_202A_200F_206D_202A_206C_202E_202A_206A_202B_200C_206E_202C_200B_202C_202E_202E(_warpDataService) - group w by _003C_003Ec._202A_202D_200F_202D_206C_206E_202B_206A_202C_200B_200D_200B_200F_206F_202C_206F_202E_206C_202A_200B_202D_200C_206C_202A_206E_206E_200E_206E_206C_206E_202E_200E_206E_202B_206C_206B_206E_200D_202B_206F_202E(w) into g - select g.First()).GetEnumerator(); StringBuilder stringBuilder2; - IFormatProvider formatProvider; - StringBuilder.AppendInterpolatedStringHandler appendInterpolatedStringHandler; - try + IFormatProvider invariantCulture; + StringBuilder.AppendInterpolatedStringHandler handler; + foreach (WarpDataService.WarpInfo item in from w in _warpDataService.Warps + group w by w.RowId into g + select g.First()) { - int num2 = -632491453; - uint num13 = default(uint); - uint[] array = default(uint[]); - int num12 = default(int); - bool flag = default(bool); - WarpDataService.WarpInfo current = default(WarpDataService.WarpInfo); - Warp? rowOrDefault = default(Warp?); - int num10 = default(int); - uint value = default(uint); - while (true) + if (item.RequiredQuestIds.Length < 2) { - int num3 = num2; - int num4 = -632491452; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - byte? obj; - int num8; - bool num11; - bool flag2; - bool flag3; - StringBuilder stringBuilder3; - IFormatProvider formatProvider2; - byte? b; - StringBuilder stringBuilder4; - IFormatProvider formatProvider3; - StringBuilder stringBuilder5; - IFormatProvider formatProvider4; - StringBuilder stringBuilder6; - IFormatProvider formatProvider5; - StringBuilder stringBuilder7; - IFormatProvider formatProvider6; - switch (num6 - (num7 + num7)) - { - case 4: - { - num13 = array[num12]; - uint num14 = num13; - num4 = 65535; - num5 = (int)num14; - flag = QuestManager.IsQuestComplete((ushort)(num5 + num4 - (num5 | num4))); - num2 = ((!flag) ? (-632491447) : (-632491449)); - break; - } - case 6: - num2 = (_206A_206D_200E_200B_202B_202D_200E_206A_200B_200B_202E_202E_202A_200B_206B_200E_202C_206F_200F_202D_206D_202A_206C_202A_206C_200D_200C_200E_200F_206B_206C_206F_206B_206F_202D_206C_206A_202A_206A_206C_202E(current) ? (-632491443) : (-632491448)); - break; - case 5: - { - int num15 = num; - num4 = 1; - num5 = num15; - int num16 = num5 ^ num4; - int num17 = num5 & num4; - num = num16 + (num17 + num17); - rowOrDefault = excelSheet.GetRowOrDefault(_206A_200E_200D_202B_206D_202B_206F_202D_202C_200F_206C_202C_206F_202E_200B_202C_200D_206B_202A_206A_200B_202B_200C_202D_206F_202C_206D_200E_202E_200C_200E_206E_200D_202D_200D_200E_202E_200B_206C_200E_202E(current)); - num2 = (rowOrDefault.HasValue ? (-632491451) : (-632491441)); - break; - } - case 7: - num2 = (_206A_200F_206D_206E_200B_206D_206D_200C_202A_202A_200D_206A_206F_202C_202A_200D_200F_200B_206E_200B_206E_202B_206D_200B_202C_202E_200B_206A_202D_206F_200F_206F_206D_206C_206F_206D_206D_202B_206D_202E_202E((IEnumerator)enumerator) ? (-632491444) : (-632491445)); - break; - case 2: - obj = rowOrDefault.GetValueOrDefault().WarpCondition.ValueNullable?.CompleteParam; - goto IL_02b0; - case 0: - num2 = ((num12 < array.Length) ? (-632491456) : (-632491454)); - break; - case 13: - { - string value2 = excelSheet2.GetRowOrDefault(num13)?.Name.ExtractText() ?? global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2023081068); - stringBuilder2 = stringBuilder; - StringBuilder stringBuilder8 = stringBuilder2; - formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - IFormatProvider formatProvider7 = formatProvider; - appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(13, 3, stringBuilder2, formatProvider); - appendInterpolatedStringHandler.AppendLiteral(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(-2110536125)); - appendInterpolatedStringHandler.AppendFormatted(num13); - appendInterpolatedStringHandler.AppendLiteral(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(971140366)); - appendInterpolatedStringHandler.AppendFormatted(value2); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1924112)); - appendInterpolatedStringHandler.AppendFormatted(flag ? global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-473328538) : 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(1919722774)); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder8, formatProvider7, ref appendInterpolatedStringHandler); - int num18 = num12; - num4 = 1; - num5 = num18; - int num19 = num5 ^ num4; - int num20 = num5 & num4; - num12 = num19 + (num20 + num20); - num2 = -632491452; - break; - } - case 10: - num2 = -632491453; - break; - case 1: - num8 = (int)rowOrDefault.GetValueOrDefault().WarpCondition.RowId; - goto IL_06bd; - case 9: - num11 = num10 == _206E_206E_206C_202C_202E_200B_206A_206E_206A_206B_200F_200C_206E_206D_206E_206D_206B_202A_206A_206B_200D_200C_206C_206F_200E_206E_202C_206D_200D_206C_202D_200C_200C_206A_200E_206E_206D_206F_200C_200C_202E(current).Length; - goto IL_06f0; - case 8: - current = enumerator.Current; - num2 = ((_206E_206E_206C_202C_202E_200B_206A_206E_206A_206B_200F_200C_206E_206D_206E_206D_206B_202A_206A_206B_200D_200C_206C_206F_200E_206E_202C_206D_200D_206C_202D_200C_200C_206A_200E_206E_206D_206F_200C_200C_202E(current).Length < 2) ? (-632491453) : (-632491455)); - break; - case 12: - num11 = num10 > 0; - goto IL_06f0; - case 3: - { - int num9 = num10; - num4 = 1; - num5 = num9; - num10 = (num5 | num4) + (num5 & num4); - num2 = -632491447; - break; - } - case 14: - obj = null; - goto IL_02b0; - case 11: - num8 = 0; - goto IL_06bd; - case 15: - goto end_IL_012e; - IL_06f0: - flag2 = num11; - flag3 = num10 == _206E_206E_206C_202C_202E_200B_206A_206E_206A_206B_200F_200C_206E_206D_206E_206D_206B_202A_206A_206B_200D_200C_206C_206F_200E_206E_202C_206D_200D_206C_202D_200C_200C_206A_200E_206E_206D_206F_200C_200C_202E(current).Length; - stringBuilder2 = stringBuilder; - stringBuilder3 = stringBuilder2; - formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - formatProvider2 = formatProvider; - appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(34, 3, stringBuilder2, formatProvider); - appendInterpolatedStringHandler.AppendLiteral(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(690137559)); - appendInterpolatedStringHandler.AppendFormatted(flag2); - appendInterpolatedStringHandler.AppendLiteral(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(160720765)); - appendInterpolatedStringHandler.AppendFormatted(flag3); - appendInterpolatedStringHandler.AppendFormatted((flag2 != flag3) ? 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(-804156053) : 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(1200342830)); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder3, formatProvider2, ref appendInterpolatedStringHandler); - num2 = -632491453; - break; - IL_06bd: - value = (uint)num8; - num2 = (rowOrDefault.HasValue ? (-632491450) : (-632491446)); - break; - IL_02b0: - b = obj; - stringBuilder2 = stringBuilder; - stringBuilder4 = stringBuilder2; - formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - formatProvider3 = formatProvider; - appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(12, 3, stringBuilder2, formatProvider); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1758336508)); - appendInterpolatedStringHandler.AppendFormatted(_206A_200E_200D_202B_206D_202B_206F_202D_202C_200F_206C_202C_206F_202E_200B_202C_200D_206B_202A_206A_200B_202B_200C_202D_206F_202C_206D_200E_202E_200C_200E_206E_200D_202D_200D_200E_202E_200B_206C_200E_202E(current)); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1021698688)); - appendInterpolatedStringHandler.AppendFormatted(_200E_206B_206D_202D_206E_206F_200D_206C_202D_206A_200C_202C_200C_200D_202B_202B_206F_200D_200E_206E_206B_206C_200E_202D_206B_206C_200E_200E_206A_202E_202D_202B_200E_206A_200C_200C_202D_200C_200C_200F_202E(current) ?? _206F_200E_206B_202D_202B_202E_206F_200D_206B_202B_206C_206F_202B_202B_200F_206A_202A_206E_206A_202D_202B_200C_202C_202D_200F_206F_202D_202D_200D_206D_200C_206C_202B_206E_206A_206C_206C_206E_206E_202A_202E(current) ?? global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-98105394)); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(478204787)); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-412371683)); - appendInterpolatedStringHandler.AppendFormatted(_territoryData.GetNameAndId(_206C_206A_202A_206A_202E_200F_206F_202D_200C_200D_202C_200C_200C_206B_200C_206B_206F_202E_206E_200C_206A_200C_200D_202E_200C_202D_200B_206C_200C_202D_206F_206B_202B_202E_200D_202C_202D_202D_206D_202E(current))); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder4, formatProvider3, ref appendInterpolatedStringHandler); - stringBuilder2 = stringBuilder; - stringBuilder5 = stringBuilder2; - formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - formatProvider4 = formatProvider; - appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(47, 3, stringBuilder2, formatProvider); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1377099346)); - appendInterpolatedStringHandler.AppendFormatted(value); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-234256389)); - appendInterpolatedStringHandler.AppendFormatted(b?.ToString(_202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_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(-1923490088)); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1467939024)); - appendInterpolatedStringHandler.AppendLiteral(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(-1752738461)); - appendInterpolatedStringHandler.AppendFormatted(_206A_206D_200E_200B_202B_202D_200E_206A_200B_200B_202E_202E_202A_200B_206B_200E_202C_206F_200F_202D_206D_202A_206C_202A_206C_200D_200C_200E_200F_206B_206C_206F_206B_206F_202D_206C_206A_202A_206A_206C_202E(current)); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder5, formatProvider4, ref appendInterpolatedStringHandler); - stringBuilder2 = stringBuilder; - stringBuilder6 = stringBuilder2; - formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - formatProvider5 = formatProvider; - appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(37, 4, stringBuilder2, formatProvider); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(755477848)); - appendInterpolatedStringHandler.AppendFormatted(_206C_200F_206C_206D_202A_206A_206B_202A_202D_200E_206B_202E_202C_200C_206C_206F_202D_206D_202E_200E_206C_200C_200B_202C_206B_202B_206F_200C_202E_200D_202D_200D_206D_200C_206B_200E_206B_206C_206C_200F_202E(current)); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-324914973)); - appendInterpolatedStringHandler.AppendFormatted(_202E_200F_206B_206C_206E_202E_200C_206B_206A_200E_200C_200F_200B_206C_206F_200F_206A_200C_202E_202A_200C_200D_200C_200E_200E_200E_200E_200D_202D_200C_206F_206F_202B_202A_206C_200C_202D_206C_206F_206D_202E(current)); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1087086507)); - appendInterpolatedStringHandler.AppendLiteral(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(348634305)); - appendInterpolatedStringHandler.AppendFormatted(_200C_206D_206F_200C_200D_200B_206A_200D_202C_200E_202C_202B_202A_200D_202B_206F_206B_206B_206F_206C_202A_200E_202C_200D_202D_206C_202B_206D_206E_206B_202A_206C_202D_200F_202D_202B_202E_206B_200B_206A_202E(current)?.ToString(_202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E()) ?? 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(-2079705286)); - appendInterpolatedStringHandler.AppendLiteral(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(1526773328)); - appendInterpolatedStringHandler.AppendFormatted(_206E_200C_206A_206A_200C_200E_206C_202B_206D_206E_206D_202E_202C_200B_206C_206D_200D_202D_202B_202B_200C_200D_200B_206A_200C_206D_202C_202E_202B_206F_206A_206B_206D_200C_206B_202E_206A_200E_206C_200E_202E(current)); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder6, formatProvider5, ref appendInterpolatedStringHandler); - stringBuilder2 = stringBuilder; - stringBuilder7 = stringBuilder2; - formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - formatProvider6 = formatProvider; - appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(35, 1, stringBuilder2, formatProvider); - appendInterpolatedStringHandler.AppendLiteral(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(784094329)); - appendInterpolatedStringHandler.AppendFormatted(dictionary.GetValueOrDefault(_206A_200E_200D_202B_206D_202B_206F_202D_202C_200F_206C_202C_206F_202E_200B_202C_200D_206B_202A_206A_200B_202B_200C_202D_206F_202C_206D_200E_202E_200C_200E_206E_200D_202D_200D_200E_202E_200B_206C_200E_202E(current))); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder7, formatProvider6, ref appendInterpolatedStringHandler); - num10 = 0; - array = _206E_206E_206C_202C_202E_200B_206A_206E_206A_206B_200F_200C_206E_206D_206E_206D_206B_202A_206A_206B_200D_200C_206C_206F_200E_206E_202C_206D_200D_206C_202D_200C_200C_206A_200E_206E_206D_206F_200C_200C_202E(current); - num12 = 0; - num2 = -632491452; - break; - } continue; - end_IL_012e: - break; } - } - finally - { - int num2 = ((enumerator == null) ? (-2074056579) : (-2074056580)); - while (true) + num++; + Warp? rowOrDefault = excelSheet.GetRowOrDefault(item.RowId); + uint value = rowOrDefault?.WarpCondition.RowId ?? 0; + byte? b = rowOrDefault?.WarpCondition.ValueNullable?.CompleteParam; + stringBuilder2 = stringBuilder; + StringBuilder stringBuilder3 = stringBuilder2; + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider = invariantCulture; + handler = new StringBuilder.AppendInterpolatedStringHandler(12, 3, stringBuilder2, invariantCulture); + handler.AppendLiteral("warp "); + handler.AppendFormatted(item.RowId); + handler.AppendLiteral(" '"); + handler.AppendFormatted(item.Name ?? item.Question ?? "?"); + handler.AppendLiteral("' "); + handler.AppendLiteral("-> "); + handler.AppendFormatted(_territoryData.GetNameAndId(item.DestTerritoryId)); + stringBuilder3.AppendLine(provider, ref handler); + stringBuilder2 = stringBuilder; + StringBuilder stringBuilder4 = stringBuilder2; + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider2 = invariantCulture; + handler = new StringBuilder.AppendInterpolatedStringHandler(47, 3, stringBuilder2, invariantCulture); + handler.AppendLiteral(" condition "); + handler.AppendFormatted(value); + handler.AppendLiteral(", CompleteParam="); + handler.AppendFormatted(b?.ToString(CultureInfo.InvariantCulture) ?? "?"); + handler.AppendLiteral(", "); + handler.AppendLiteral("RequireAllQuests="); + handler.AppendFormatted(item.RequireAllQuests); + stringBuilder4.AppendLine(provider2, ref handler); + stringBuilder2 = stringBuilder; + StringBuilder stringBuilder5 = stringBuilder2; + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider3 = invariantCulture; + handler = new StringBuilder.AppendInterpolatedStringHandler(37, 4, stringBuilder2, invariantCulture); + handler.AppendLiteral(" source: territory "); + handler.AppendFormatted(item.SourceTerritoryId); + handler.AppendLiteral(" "); + handler.AppendFormatted(item.SourcePosition); + handler.AppendLiteral(", "); + handler.AppendLiteral("npc "); + handler.AppendFormatted(item.NpcDataId?.ToString(CultureInfo.InvariantCulture) ?? "-"); + handler.AppendLiteral(", derived="); + handler.AppendFormatted(item.DerivedSource); + stringBuilder5.AppendLine(provider3, ref handler); + stringBuilder2 = stringBuilder; + StringBuilder stringBuilder6 = stringBuilder2; + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider4 = invariantCulture; + handler = new StringBuilder.AppendInterpolatedStringHandler(35, 1, stringBuilder2, invariantCulture); + handler.AppendLiteral(" static graph nodes for this row: "); + handler.AppendFormatted(dictionary.GetValueOrDefault(item.RowId)); + stringBuilder6.AppendLine(provider4, ref handler); + int num2 = 0; + uint[] requiredQuestIds = item.RequiredQuestIds; + foreach (uint num4 in requiredQuestIds) { - int num21 = num2; - int num4 = -2074056579; - int num5 = num21; - int num22 = num5 + num4; - int num23 = num5 & num4; - switch (num22 - (num23 + num23)) + bool flag = QuestManager.IsQuestComplete((ushort)(num4 & 0xFFFF)); + if (flag) { - case 2: - num2 = -2074056580; - break; - case 0: - goto end_IL_0845; - case 1: - _202A_202C_202E_206A_200C_206D_206F_202C_202B_206D_206C_200D_202B_206B_200B_202D_200B_202B_200C_206D_202B_200E_202E_200D_206C_202A_200E_200C_206C_202B_206C_202C_202C_200E_202A_206D_202B_206E_206D_200D_202E((IDisposable)enumerator); - num2 = -2074056579; - break; + num2++; } - continue; - end_IL_0845: - break; + string value2 = excelSheet2.GetRowOrDefault(num4)?.Name.ExtractText() ?? "?"; + stringBuilder2 = stringBuilder; + StringBuilder stringBuilder7 = stringBuilder2; + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider5 = invariantCulture; + handler = new StringBuilder.AppendInterpolatedStringHandler(13, 3, stringBuilder2, invariantCulture); + handler.AppendLiteral(" quest "); + handler.AppendFormatted(num4); + handler.AppendLiteral(" '"); + handler.AppendFormatted(value2); + handler.AppendLiteral("': "); + handler.AppendFormatted(flag ? "COMPLETE" : "not complete"); + stringBuilder7.AppendLine(provider5, ref handler); } + bool flag2 = (item.RequireAllQuests ? (num2 == item.RequiredQuestIds.Length) : (num2 > 0)); + bool flag3 = num2 == item.RequiredQuestIds.Length; + stringBuilder2 = stringBuilder; + StringBuilder stringBuilder8 = stringBuilder2; + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider6 = invariantCulture; + handler = new StringBuilder.AppendInterpolatedStringHandler(34, 3, stringBuilder2, invariantCulture); + handler.AppendLiteral(" admission: now="); + handler.AppendFormatted(flag2); + handler.AppendLiteral(", pre-fix all-of="); + handler.AppendFormatted(flag3); + handler.AppendFormatted((flag2 != flag3) ? " <-- FIX CHANGES THIS" : ""); + stringBuilder8.AppendLine(provider6, ref handler); } stringBuilder2 = stringBuilder; StringBuilder stringBuilder9 = stringBuilder2; - formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - IFormatProvider formatProvider8 = formatProvider; - appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(26, 1, stringBuilder2, formatProvider); - appendInterpolatedStringHandler.AppendFormatted(num); - appendInterpolatedStringHandler.AppendLiteral(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(1953035271)); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder9, formatProvider8, ref appendInterpolatedStringHandler); - return _200F_200E_202E_206F_200B_202E_206C_206B_202C_200E_200F_206F_206E_202A_202A_200C_200F_200C_200B_202B_200B_206D_206D_206E_202B_200D_206B_202A_200B_206E_200E_200C_202A_200F_200B_200B_200F_202D_206B_206C_202E((object)stringBuilder); + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider7 = invariantCulture; + handler = new StringBuilder.AppendInterpolatedStringHandler(26, 1, stringBuilder2, invariantCulture); + handler.AppendFormatted(num); + handler.AppendLiteral(" multi-quest warps audited"); + stringBuilder9.AppendLine(provider7, ref handler); + return stringBuilder.ToString(); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawPopRangeProbe() { - int num = (_200D_202B_200B_206D_200C_202D_206C_206B_202A_206E_202B_200D_200E_200B_206F_206C_206A_202D_206E_206D_206C_200F_206F_206C_202A_206B_200B_206D_206B_200C_200E_202B_206C_206C_200C_202D_202D_200B_202D_206D_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1280712506), ImGuiTreeNodeFlags.DefaultOpen) ? 279269062 : 279269063); - while (true) + if (ImGui.CollapsingHeader("Arrival PopRange Plan-File Probe###poprangeprobe", ImGuiTreeNodeFlags.DefaultOpen)) { - int num2 = num; - int num3 = 279269062; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + ImGui.TextWrapped("For each warp, reads Warp.PopRange both ways: as a Level sheet row (SmartNav's source resolution) and as an LGB PopRange instance id in the destination territory's plan files (NoireLib's arrival claim: planevent holds most arrivals, planlive holds switched-content arrivals found nowhere else). Decides whether warp-destination seeding shrinks to 'extend the scan'. Unchecked, warps with a recorded arrival get a position delta (LGB PopRange translation vs recorded DestPosition) - the control for using LGB positions as arrivals."); + ImGui.Checkbox("Only destination-less warps (no recorded arrival)", ref _popRangeOnlyDestinationless); + if (ImGui.Button("Run Probe##poprange")) { - case 4: _popRangeReport = RunGuarded(BuildPopRangeReport); - num = 279269061; - break; - case 1: - return; - case 2: - num = 279269063; - break; - case 3: - DrawReport(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-78184768), ref _popRangeReport); - return; - case 0: - _202C_200D_202E_206B_206F_200D_202B_200E_206C_202C_200F_200F_200D_200D_200F_206C_200B_206B_200E_206C_200F_202B_202C_206E_202D_200B_200D_200E_202E_200B_200F_206D_202D_200C_206E_202E_206E_200F_202A_206E_202E((ImU8String)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(-1522247978)); - _206A_206F_206B_200F_206F_200F_200F_202E_206F_206C_206C_202E_206F_202C_200F_202B_206D_202C_206A_202A_206C_200D_200D_206C_206E_202C_206C_202C_200F_206E_200C_206C_200E_206C_206C_206B_200B_200B_200C_202D_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-414215116), ref _popRangeOnlyDestinationless); - num = ((!_202E_206D_202D_202A_206D_206A_200E_200B_202E_202B_202B_206C_200B_202C_206B_206A_206D_202E_202B_202A_202B_202B_200E_206F_206E_200D_202E_206B_202A_202C_206D_200C_200D_200B_206D_200B_202A_202B_202A_200F_202E((ImU8String)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(186029883), default(Vector2))) ? 279269061 : 279269058); - break; } + DrawReport("poprange", ref _popRangeReport); } } - [MethodImpl(MethodImplOptions.NoInlining)] private string BuildPopRangeReport() { - StringBuilder stringBuilder = _200C_200B_206F_206E_206D_206D_202E_206B_202B_202A_200E_200F_202B_206F_200D_200E_202A_206A_200C_200B_206C_206C_202A_206D_206C_202A_202C_202E_206C_206E_206C_206B_206B_206C_200C_202B_202B_200F_200B_202E_202E(); + StringBuilder stringBuilder = new StringBuilder(); ExcelSheet excelSheet = _dataManager.GetExcelSheet(); ExcelSheet excelSheet2 = _dataManager.GetExcelSheet(); Dictionary>> cache = new Dictionary>>(); @@ -728,1546 +272,581 @@ internal sealed class DataProbesPanel int num = 0; int num2 = 0; int num3 = 0; - IEnumerator enumerator = (from w in _200F_206D_206B_206C_202B_206B_206E_200F_202C_202C_202C_206F_202C_200D_202D_200B_200B_206D_206F_202E_200D_206C_202A_206D_202D_202A_200F_206D_202A_206C_202E_202A_206A_202B_200C_206E_202C_200B_202C_202E_202E(_warpDataService) - group w by _003C_003Ec._202A_202D_200F_202D_206C_206E_202B_206A_202C_200B_200D_200B_200F_206F_202C_206F_202E_206C_202A_200B_202D_200C_206C_202A_206E_206E_200E_206E_206C_206E_202E_200E_206E_202B_206C_206B_206E_200D_202B_206F_202E(w) into g - select g.First()).GetEnumerator(); - int num12; - int num10; StringBuilder stringBuilder2; - IFormatProvider formatProvider; - StringBuilder.AppendInterpolatedStringHandler appendInterpolatedStringHandler; - try + IFormatProvider invariantCulture; + StringBuilder.AppendInterpolatedStringHandler handler; + foreach (WarpDataService.WarpInfo item4 in from w in _warpDataService.Warps + group w by w.RowId into g + select g.First()) { - WarpDataService.WarpInfo current = default(WarpDataService.WarpInfo); - Vector3? vector = default(Vector3?); - uint rowId = default(uint); - uint rowId2 = default(uint); - bool flag = default(bool); - List list2 = default(List); - Vector3? vector2 = default(Vector3?); - Vector3 value2 = default(Vector3); - string text = default(string); - string value4 = default(string); - while (true) + if (_popRangeOnlyDestinationless && item4.DestPosition.HasValue) { - IL_057c: - if (_206A_200F_206D_206E_200B_206D_206D_200C_202A_202A_200D_206A_206F_202C_202A_200D_200F_200B_206E_200B_206E_202B_206D_200B_202C_202E_200B_206A_202D_206F_200F_206F_206D_206C_206F_206D_206D_202B_206D_202E_202E((IEnumerator)enumerator)) - { - current = enumerator.Current; - if (_popRangeOnlyDestinationless) - { - vector = _200D_206E_202D_206B_206B_206E_206E_200C_202B_206F_206C_200E_200B_202D_202D_202D_206E_202A_200B_202C_202D_206D_206C_206B_200F_202E_202E_206A_206C_206F_206A_206A_206C_202D_200C_206B_206C_206F_206E_206C_202E(current); - if (vector.HasValue) - { - continue; - } - } - Warp? rowOrDefault = excelSheet.GetRowOrDefault(_206A_200E_200D_202B_206D_202B_206F_202D_202C_200F_206C_202C_206F_202E_200B_202C_200D_206B_202A_206A_200B_202B_200C_202D_206F_202C_206D_200E_202E_200C_200E_206E_200D_202D_200D_200E_202E_200B_206C_200E_202E(current)); - if (!rowOrDefault.HasValue) - { - continue; - } - int num4 = num; - int num5 = 1; - int num6 = num4; - int num7 = num6 ^ num5; - int num8 = num6 & num5; - num = num7 + (num8 + num8); - rowId = rowOrDefault.Value.PopRange.RowId; - rowId2 = rowOrDefault.Value.TerritoryType.RowId; - flag = rowId != 0 && excelSheet2.HasRow(rowId); - if (flag) - { - int num9 = num3; - num5 = 1; - num6 = num9; - num3 = (num6 | num5) + (num6 & num5); - } - list2 = new List(); - vector2 = null; - using (Dictionary>.Enumerator enumerator2 = ScanPopRanges(cache, rowId2).GetEnumerator()) - { - num10 = -1179116054; - while (true) - { - int num11 = num10; - num5 = -1179116053; - num6 = num11; - string key; - switch ((num6 | num5) - (num6 & num5)) - { - case 3: - { - Vector3 valueOrDefault = value2; - vector2 = valueOrDefault; - num10 = -1179116054; - break; - } - case 2: - { - enumerator2.Current.Deconstruct(out key, out var value); - text = key; - num10 = ((!value.TryGetValue(rowId, out value2)) ? (-1179116054) : (-1179116049)); - break; - } - case 1: - num10 = (enumerator2.MoveNext() ? (-1179116055) : (-1179116053)); - break; - case 5: - num10 = -1179116054; - break; - case 4: - { - list2.Add(text); - key = text; - num12 = dictionary[key]; - string key2 = key; - int num13 = num12; - num5 = 1; - num6 = num13; - dictionary[key2] = (num6 | num5) + (num6 & num5); - Vector3 valueOrDefault = vector2.GetValueOrDefault(); - num10 = (vector2.HasValue ? (-1179116054) : (-1179116056)); - break; - } - case 0: - goto end_IL_01ec; - } - continue; - end_IL_01ec: - break; - } - } - num10 = ((list2.Count != 0) ? 2075588319 : 2075588315); - } - else - { - num10 = 2075588318; - } - while (true) - { - int num14 = num10; - int num5 = 2075588317; - int num6 = num14; - int num15 = num6 + num5; - int num16 = num6 & num5; - switch (num15 - (num16 + num16)) - { - default: - continue; - case 8: - num10 = (_206D_202B_200C_206B_200D_206F_206F_200F_200B_202B_206B_200C_202E_206C_202D_200E_202A_200D_206A_202B_200E_206C_200C_200C_202A_206C_202D_202A_206C_200F_206D_206E_202A_206E_200C_200D_206F_200E_200E_206A_202E(current) ? 2075588316 : 2075588313); - continue; - case 2: - value4 = 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(-1720149641); - num10 = ((!vector2.HasValue) ? 2075588316 : 2075588309); - continue; - case 0: - { - stringBuilder2 = stringBuilder; - StringBuilder stringBuilder3 = stringBuilder2; - formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - IFormatProvider formatProvider2 = formatProvider; - appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(39, 8, stringBuilder2, formatProvider); - appendInterpolatedStringHandler.AppendLiteral(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(-1658781691)); - appendInterpolatedStringHandler.AppendFormatted(_206A_200E_200D_202B_206D_202B_206F_202D_202C_200F_206C_202C_206F_202E_200B_202C_200D_206B_202A_206A_200B_202B_200C_202D_206F_202C_206D_200E_202E_200C_200E_206E_200D_202D_200D_200E_202E_200B_206C_200E_202E(current)); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(121974199)); - appendInterpolatedStringHandler.AppendFormatted(_200E_206B_206D_202D_206E_206F_200D_206C_202D_206A_200C_202C_200C_200D_202B_202B_206F_200D_200E_206E_206B_206C_200E_202D_206B_206C_200E_200E_206A_202E_202D_202B_200E_206A_200C_200C_202D_200C_200C_200F_202E(current) ?? _206F_200E_206B_202D_202B_202E_206F_200D_206B_202B_206C_206F_202B_202B_200F_206A_202A_206E_206A_202D_202B_200C_202C_202D_200F_206F_202D_202D_200D_206D_200C_206C_202B_206E_206A_206C_206C_206E_206E_202A_202E(current) ?? 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(1887683575)); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1389973659)); - appendInterpolatedStringHandler.AppendFormatted(rowId); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-324914973)); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1558307452)); - appendInterpolatedStringHandler.AppendFormatted(_territoryData.GetNameAndId(rowId2)); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2035955381)); - appendInterpolatedStringHandler.AppendLiteral(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(-1784638708)); - appendInterpolatedStringHandler.AppendFormatted(flag); - appendInterpolatedStringHandler.AppendLiteral(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(1132877285)); - appendInterpolatedStringHandler.AppendFormatted((list2.Count > 0) ? _200D_200B_202E_200D_202A_202B_206F_200F_202B_200D_200B_202C_200E_206F_202C_206D_206A_202A_206A_206D_206D_200E_206F_206C_206F_202C_202C_202B_200F_202D_200B_200D_206D_200B_202B_206C_206D_200F_206F_206E_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1754250772), (IEnumerable)list2) : global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1971210874)); - string value3; - if (!vector2.HasValue) - { - value3 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-87324410); - } - else - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(5, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-695175043)); - defaultInterpolatedStringHandler.AppendFormatted(vector2.Value); - value3 = defaultInterpolatedStringHandler.ToStringAndClear(); - } - appendInterpolatedStringHandler.AppendFormatted(value3); - appendInterpolatedStringHandler.AppendFormatted(value4); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder3, formatProvider2, ref appendInterpolatedStringHandler); - break; - } - case 1: - num10 = ((!_206D_202B_200C_206B_200D_206F_206F_200F_200B_202B_206B_200C_202E_206C_202D_200E_202A_200D_206A_202B_200E_206C_200C_200C_202A_206C_202D_202A_206C_200F_206D_206E_202A_206E_200C_200D_206F_200E_200E_206A_202E(current)) ? 2075588317 : 2075588314); - continue; - case 6: - { - int num17 = num2; - num5 = 1; - num6 = num17; - int num18 = num6 ^ num5; - int num19 = num6 & num5; - num2 = num18 + (num19 + num19); - num10 = 2075588319; - continue; - } - case 7: - value4 = 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(1056949931); - num10 = 2075588317; - continue; - case 9: - { - Vector3 valueOrDefault2 = vector.GetValueOrDefault(); - float item = Vector3.Distance(vector2.Value, valueOrDefault2); - list.Add((_206A_200E_200D_202B_206D_202B_206F_202D_202C_200F_206C_202C_206F_202E_200B_202C_200D_206B_202A_206A_200B_202B_200C_202D_206F_202C_206D_200E_202E_200C_200E_206E_200D_202D_200D_200E_202E_200B_206C_200E_202E(current), item)); - value4 = _202B_200B_202E_200C_202A_202C_206A_200D_206D_200E_206E_202C_202E_202E_200C_202A_206E_200C_206D_202E_206D_200D_202E_206F_206C_200B_200E_206F_202E_200E_206B_200C_206E_206B_202D_206F_200E_202A_206D_200F_202E(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(1690644541), item.ToString(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1324991826), _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E()), 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(-997794500)); - num10 = 2075588317; - continue; - } - case 5: - num10 = 2075588315; - continue; - case 4: - vector = _200D_206E_202D_206B_206B_206E_206E_200C_202B_206F_206C_200E_200B_202D_202D_202D_206E_202A_200B_202C_202D_206D_206C_206B_200F_202E_202E_206A_206C_206F_206A_206A_206C_202D_200C_206B_206C_206F_206E_206C_202E(current); - num10 = ((!vector.HasValue) ? 2075588316 : 2075588308); - continue; - case 3: - goto end_IL_0343; - } - goto IL_057c; - continue; - end_IL_0343: - break; - } - break; - } - } - finally - { - num10 = ((enumerator == null) ? (-1684518491) : (-1684518490)); - while (true) - { - int num20 = num10; - int num5 = -1684518492; - int num6 = num20; - int num21 = num6 + num5; - int num22 = num6 & num5; - switch (num21 - (num22 + num22)) - { - case 1: - goto end_IL_06ba; - case 2: - _202A_202C_202E_206A_200C_206D_206F_202C_202B_206D_206C_200D_202B_206B_200B_202D_200B_202B_200C_206D_202B_200E_202E_200D_206C_202A_200E_200C_206C_202B_206C_202C_202C_200E_202A_206D_202B_206E_206D_200D_202E((IDisposable)enumerator); - num10 = -1684518491; - break; - case 0: - num10 = -1684518490; - break; - } continue; - end_IL_06ba: - break; } + Warp? rowOrDefault = excelSheet.GetRowOrDefault(item4.RowId); + if (!rowOrDefault.HasValue) + { + continue; + } + num++; + uint rowId = rowOrDefault.Value.PopRange.RowId; + uint rowId2 = rowOrDefault.Value.TerritoryType.RowId; + bool flag = rowId != 0 && excelSheet2.HasRow(rowId); + if (flag) + { + num3++; + } + List list2 = new List(); + Vector3? vector = null; + foreach (KeyValuePair> item5 in ScanPopRanges(cache, rowId2)) + { + item5.Deconstruct(out var key, out var value); + string text = key; + if (value.TryGetValue(rowId, out var value2)) + { + list2.Add(text); + key = text; + dictionary[key]++; + Vector3 valueOrDefault = vector.GetValueOrDefault(); + if (!vector.HasValue) + { + valueOrDefault = value2; + vector = valueOrDefault; + } + } + } + if (list2.Count == 0) + { + num2++; + } + string value3 = ""; + if (vector.HasValue && !item4.DerivedArrival) + { + Vector3? destPosition = item4.DestPosition; + if (destPosition.HasValue) + { + Vector3 valueOrDefault2 = destPosition.GetValueOrDefault(); + float item = Vector3.Distance(vector.Value, valueOrDefault2); + list.Add((item4.RowId, item)); + value3 = ", delta=" + item.ToString("F1", CultureInfo.InvariantCulture) + "y"; + goto IL_02c9; + } + } + if (item4.DerivedArrival) + { + value3 = ", derived-arrival"; + } + goto IL_02c9; + IL_02c9: + stringBuilder2 = stringBuilder; + StringBuilder stringBuilder3 = stringBuilder2; + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider = invariantCulture; + handler = new StringBuilder.AppendInterpolatedStringHandler(39, 8, stringBuilder2, invariantCulture); + handler.AppendLiteral("warp "); + handler.AppendFormatted(item4.RowId); + handler.AppendLiteral(" '"); + handler.AppendFormatted(item4.Name ?? item4.Question ?? "?"); + handler.AppendLiteral("' popId="); + handler.AppendFormatted(rowId); + handler.AppendLiteral(" "); + handler.AppendLiteral("dest="); + handler.AppendFormatted(_territoryData.GetNameAndId(rowId2)); + handler.AppendLiteral(": "); + handler.AppendLiteral("level-row="); + handler.AppendFormatted(flag); + handler.AppendLiteral(", lgb="); + handler.AppendFormatted((list2.Count > 0) ? string.Join("+", list2) : "NOT FOUND"); + handler.AppendFormatted(vector.HasValue ? $" pos={vector.Value}" : ""); + handler.AppendFormatted(value3); + stringBuilder3.AppendLine(provider, ref handler); } - _206D_200E_202C_206F_206D_202E_202C_206A_200B_200D_202B_202A_202E_202A_202D_202D_200D_206C_202A_202A_206F_202D_206D_202C_202C_206E_206C_202E_200D_202D_206C_206F_206D_206C_206E_200E_200E_200D_200B_202B_202E(stringBuilder); + stringBuilder.AppendLine(); stringBuilder2 = stringBuilder; StringBuilder stringBuilder4 = stringBuilder2; - formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - IFormatProvider formatProvider3 = formatProvider; - appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(65, 3, stringBuilder2, formatProvider); - appendInterpolatedStringHandler.AppendFormatted(num); - appendInterpolatedStringHandler.AppendLiteral(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(1428089820)); - appendInterpolatedStringHandler.AppendFormatted(num3); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1817321270)); - appendInterpolatedStringHandler.AppendFormatted(num2); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2120097395)); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder4, formatProvider3, ref appendInterpolatedStringHandler); + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider2 = invariantCulture; + handler = new StringBuilder.AppendInterpolatedStringHandler(65, 3, stringBuilder2, invariantCulture); + handler.AppendFormatted(num); + handler.AppendLiteral(" warps probed, "); + handler.AppendFormatted(num3); + handler.AppendLiteral(" with a Level sheet row, "); + handler.AppendFormatted(num2); + handler.AppendLiteral(" with no LGB PopRange hit"); + stringBuilder4.AppendLine(provider2, ref handler); string[] planFiles = PlanFiles; - num12 = 0; - num10 = -1896058095; - List<(uint, float)> list3 = default(List<(uint, float)>); - while (true) + foreach (string text2 in planFiles) { - int num23 = num10; - int num5 = -1896058093; - int num6 = num23; - switch ((num6 | num5) - (num6 & num5)) + stringBuilder2 = stringBuilder; + StringBuilder stringBuilder5 = stringBuilder2; + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider3 = invariantCulture; + handler = new StringBuilder.AppendInterpolatedStringHandler(17, 2, stringBuilder2, invariantCulture); + handler.AppendLiteral(" "); + handler.AppendFormatted(text2); + handler.AppendLiteral(": "); + handler.AppendFormatted(dictionary[text2]); + handler.AppendLiteral(" arrival hits"); + stringBuilder5.AppendLine(provider3, ref handler); + } + if (list.Count > 0) + { + List<(uint, float)> list3 = list.OrderBy<(uint, float), float>(((uint RowId, float Delta) d) => d.Delta).ToList(); + float item2 = list3[list3.Count / 2].Item2; + float item3 = list3[Math.Min(list3.Count - 1, (int)((double)list3.Count * 0.9))].Item2; + List<(uint, float)> list4 = list3.Where<(uint, float)>(((uint RowId, float Delta) d) => d.Delta > 20f).ToList(); + stringBuilder2 = stringBuilder; + StringBuilder stringBuilder6 = stringBuilder2; + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider4 = invariantCulture; + handler = new StringBuilder.AppendInterpolatedStringHandler(112, 5, stringBuilder2, invariantCulture); + handler.AppendLiteral("recorded-arrival delta (LGB PopRange pos vs recorded DestPosition): "); + handler.AppendFormatted(list3.Count); + handler.AppendLiteral(" compared, "); + handler.AppendLiteral("median "); + handler.AppendFormatted(item2, "F1"); + handler.AppendLiteral("y, p90 "); + handler.AppendFormatted(item3, "F1"); + handler.AppendLiteral("y, max "); + handler.AppendFormatted(list3[list3.Count - 1].Item2, "F1"); + handler.AppendLiteral("y, "); + handler.AppendFormatted(list4.Count); + handler.AppendLiteral(" over 20y"); + stringBuilder6.AppendLine(provider4, ref handler); + if (list4.Count > 0) { - case 0: - num10 = -1896058095; - break; - case 3: - num10 = ((list.Count <= 0) ? (-1896058089) : (-1896058094)); - break; - case 1: - { - List<(uint, float)> list4 = list.OrderBy<(uint, float), float>(((uint RowId, float Delta) d) => d.Delta).ToList(); - float item2 = list4[list4.Count / 2].Item2; - float item3 = list4[_200C_206B_200D_202A_202B_202A_206A_200C_206A_202B_202E_200C_206B_202D_200C_206D_206B_200D_206D_202B_202E_200B_206B_200E_202D_206C_202A_202B_200D_206A_206B_202B_206A_202C_206D_202B_200E_200C_202C_206E_202E(list4.Count - 1, (int)((double)list4.Count * 0.9))].Item2; - list3 = list4.Where<(uint, float)>(((uint RowId, float Delta) d) => d.Delta > 20f).ToList(); - stringBuilder2 = stringBuilder; - StringBuilder stringBuilder6 = stringBuilder2; - formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - IFormatProvider formatProvider5 = formatProvider; - appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(112, 5, stringBuilder2, formatProvider); - appendInterpolatedStringHandler.AppendLiteral(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(-984789891)); - appendInterpolatedStringHandler.AppendFormatted(list4.Count); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1492652165)); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-115147857)); - appendInterpolatedStringHandler.AppendFormatted(item2, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2084434619)); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1433275032)); - appendInterpolatedStringHandler.AppendFormatted(item3, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1324991826)); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1205335904)); - appendInterpolatedStringHandler.AppendFormatted(list4[list4.Count - 1].Item2, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1324991826)); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-939132204)); - appendInterpolatedStringHandler.AppendFormatted(list3.Count); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-15538910)); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder6, formatProvider5, ref appendInterpolatedStringHandler); - num10 = ((list3.Count <= 0) ? (-1896058089) : (-1896058090)); - break; - } - case 2: - num10 = ((num12 < planFiles.Length) ? (-1896058091) : (-1896058096)); - break; - case 6: - { - string text2 = planFiles[num12]; stringBuilder2 = stringBuilder; StringBuilder stringBuilder7 = stringBuilder2; - formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - IFormatProvider formatProvider6 = formatProvider; - appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(17, 2, stringBuilder2, formatProvider); - appendInterpolatedStringHandler.AppendLiteral(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(-2047193429)); - appendInterpolatedStringHandler.AppendFormatted(text2); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2074665157)); - appendInterpolatedStringHandler.AppendFormatted(dictionary[text2]); - appendInterpolatedStringHandler.AppendLiteral(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(-1948837903)); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder7, formatProvider6, ref appendInterpolatedStringHandler); - int num24 = num12; - num5 = 1; - num6 = num24; - int num25 = num6 ^ num5; - int num26 = num6 & num5; - num12 = num25 + (num26 + num26); - num10 = -1896058095; - break; - } - case 4: - return _200F_200E_202E_206F_200B_202E_206C_206B_202C_200E_200F_206F_206E_202A_202A_200C_200F_200C_200B_202B_200B_206D_206D_206E_202B_200D_206B_202A_200B_206E_200E_200C_202A_200F_200B_200B_200F_202D_206B_206C_202E((object)stringBuilder); - case 5: - { - stringBuilder2 = stringBuilder; - StringBuilder stringBuilder5 = stringBuilder2; - formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - IFormatProvider formatProvider4 = formatProvider; - appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(17, 1, stringBuilder2, formatProvider); - appendInterpolatedStringHandler.AppendLiteral(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(492341808)); - appendInterpolatedStringHandler.AppendFormatted(_200D_200B_202E_200D_202A_202B_206F_200F_202B_200D_200B_202C_200E_206F_202C_206D_206A_202A_206A_206D_206D_200E_206F_206C_206F_202C_202C_202B_200F_202D_200B_200D_206D_200B_202B_206C_206D_200F_206F_206E_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1467939024), list3.Select<(uint, float), string>([MethodImpl(MethodImplOptions.NoInlining)] ((uint RowId, float Delta) d) => - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(4, 2); - defaultInterpolatedStringHandler2.AppendFormatted(d.RowId); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1473546846)); - defaultInterpolatedStringHandler2.AppendFormatted(d.Delta.ToString(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1819906059), _003C_003Ec._206E_200E_200C_200D_206F_200C_200E_206B_200E_202B_202C_200F_200C_200D_206B_206D_200D_206F_200F_202B_202B_206E_202E_202C_206F_200F_200D_202D_206F_200E_206E_200B_206F_200C_202C_200C_200D_200F_206B_202B_202E())); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-572338381)); - return defaultInterpolatedStringHandler2.ToStringAndClear(); - }))); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder5, formatProvider4, ref appendInterpolatedStringHandler); - num10 = -1896058089; - break; - } + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider5 = invariantCulture; + handler = new StringBuilder.AppendInterpolatedStringHandler(17, 1, stringBuilder2, invariantCulture); + handler.AppendLiteral(" >20y outliers: "); + handler.AppendFormatted(string.Join(", ", list4.Select<(uint, float), string>(((uint RowId, float Delta) d) => $"{d.RowId} ({d.Delta.ToString("F1", CultureInfo.InvariantCulture)}y)"))); + stringBuilder7.AppendLine(provider5, ref handler); } } + return stringBuilder.ToString(); } - [MethodImpl(MethodImplOptions.NoInlining)] private Dictionary> ScanPopRanges(Dictionary>> cache, uint territoryId) { - int num = ((!cache.TryGetValue(territoryId, out Dictionary> value)) ? 1621022502 : 1621022497); - Dictionary> dictionary2 = default(Dictionary>); - string text4 = default(string); - int num7 = default(int); - LayerCommon.InstanceObject instanceObject = default(LayerCommon.InstanceObject); - LayerCommon.InstanceObject[] instanceObjects = default(LayerCommon.InstanceObject[]); - int num12 = default(int); - int num13 = default(int); - LayerCommon.Layer[] array = default(LayerCommon.Layer[]); - while (true) + if (cache.TryGetValue(territoryId, out Dictionary> value)) { - int num2 = num; - int num3 = 1621022501; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return value; + } + Dictionary> dictionary = (cache[territoryId] = new Dictionary>()); + string text = _dataManager.GetExcelSheet().GetRowOrDefault(territoryId)?.Bg.ExtractText(); + if (string.IsNullOrEmpty(text)) + { + return dictionary; + } + int num = text.IndexOf("/level/", StringComparison.Ordinal); + if (num < 0) + { + return dictionary; + } + string[] planFiles = PlanFiles; + foreach (string text2 in planFiles) + { + Dictionary dictionary3 = (dictionary[text2] = new Dictionary()); + string text3 = "bg/" + text.Substring(0, num + 1) + "level/" + text2; + try { - case 0: - return dictionary2; - case 3: - dictionary2 = (cache[territoryId] = new Dictionary>()); - text4 = _dataManager.GetExcelSheet().GetRowOrDefault(territoryId)?.Bg.ExtractText(); - num = ((!_202B_200C_202C_206D_200B_200F_206E_206C_202A_200B_206B_200E_202A_202D_206A_206C_202C_206A_202A_200D_202B_202E_206C_200B_202C_206A_206D_202A_206F_200B_202E_206B_200D_200D_206D_200C_206B_202C_200B_200C_202E(text4)) ? 1621022499 : 1621022501); - break; - case 4: - return value; - case 2: - return dictionary2; - case 6: - num7 = _206B_202C_200D_202B_200B_202A_206F_200B_200C_200B_200C_200C_200B_200D_200B_206A_200C_200B_202B_200E_206C_206A_200B_206F_206B_202B_206E_206A_200F_202D_202A_200F_202B_206D_202E_200F_206F_200D_202E_200F_202E(text4, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1447478986), StringComparison.Ordinal); - num = ((num7 >= 0) ? 1621022500 : 1621022503); - break; - case 5: - num = 1621022497; - break; - case 1: - { - string[] planFiles = PlanFiles; - int num5 = 0; - while (num5 < planFiles.Length) + LgbFile file = _dataManager.GetFile(text3); + if (file == null) { - string text = planFiles[num5]; - Dictionary dictionary = (dictionary2[text] = new Dictionary()); - string text2 = 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(227633411); - string text3 = text4; - int num6 = num7; - num3 = 1; - num4 = num6; - int num8 = num4 ^ num3; - int num9 = num4 & num3; - string text5 = _200F_206C_206B_202E_206B_206A_206C_202D_206F_202A_202E_206F_206F_206A_200E_200F_206E_206C_206D_202B_202C_202B_206C_206F_200D_206D_206E_200F_206F_202D_202E_200F_206B_200F_206F_202C_200E_200B_200D_206E_202E(text2, _202C_202E_206A_206F_206A_206D_200C_202B_206B_200C_206F_206B_202A_206D_202C_200C_200F_200F_202A_200D_206D_206E_202A_206F_206F_206B_200F_200C_206E_200C_202E_200F_200F_206E_206E_202A_206E_202E_206B_202D_202E(text3, 0, num8 + (num9 + num9)), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1288278212), text); - try + continue; + } + LayerCommon.Layer[] layers = file.Layers; + for (int j = 0; j < layers.Length; j++) + { + LayerCommon.InstanceObject[] instanceObjects = layers[j].InstanceObjects; + for (int k = 0; k < instanceObjects.Length; k++) { - LgbFile file = _dataManager.GetFile(text5); - num = ((file != null) ? (-1691110925) : (-1691110917)); - while (true) + LayerCommon.InstanceObject instanceObject = instanceObjects[k]; + if (instanceObject.AssetType == LayerEntryType.PopRange) { - int num10 = num; - num3 = -1691110925; - num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - dictionary[instanceObject.InstanceId] = new Vector3(instanceObject.Transform.Translation.X, instanceObject.Transform.Translation.Y, instanceObject.Transform.Translation.Z); - num = -1691110923; - break; - case 8: - goto end_IL_01ac; - case 2: - num = -1691110917; - break; - case 4: - instanceObject = instanceObjects[num12]; - num = ((instanceObject.AssetType != LayerEntryType.PopRange) ? (-1691110923) : (-1691110926)); - break; - case 9: - num = ((num13 < array.Length) ? (-1691110919) : (-1691110922)); - break; - case 3: - { - int num14 = num13; - num3 = 1; - num4 = num14; - int num15 = num4 ^ num3; - int num16 = num4 & num3; - num13 = num15 + (num16 + num16); - num = -1691110918; - break; - } - case 7: - num = ((num12 < instanceObjects.Length) ? (-1691110921) : (-1691110928)); - break; - case 0: - array = _200F_202B_206B_202A_200F_200E_202B_206C_206A_206A_202D_200B_206B_206E_206F_200C_200E_202C_200C_200D_200B_200C_206A_206B_206E_202C_200C_202D_206B_200E_206A_206C_206F_206F_202D_206F_202C_200D_202D_206E_202E(file); - num13 = 0; - num = -1691110918; - break; - case 10: - instanceObjects = array[num13].InstanceObjects; - num12 = 0; - num = -1691110924; - break; - case 6: - { - int num11 = num12; - num3 = 1; - num4 = num11; - num12 = (num4 | num3) + (num4 & num3); - num = -1691110924; - break; - } - case 5: - goto end_IL_01ac; - } - continue; - end_IL_01ac: - break; + dictionary3[instanceObject.InstanceId] = new Vector3(instanceObject.Transform.Translation.X, instanceObject.Transform.Translation.Y, instanceObject.Transform.Translation.Z); } } - catch (Exception ex) - { - _202E_202D_202B_202C_200B_202A_206E_200C_200B_202A_206B_200D_206C_200C_206A_200E_202E_206E_202A_206F_206F_202E_206A_202B_202A_206C_200B_206C_202D_200D_206E_206A_202B_206B_202A_202A_206C_200E_202E_206C_202E((ILogger)_logger, ex, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(592032495), new object[1] { text5 }); - } - int num17 = num5; - num3 = 1; - num4 = num17; - int num18 = num4 ^ num3; - int num19 = num4 & num3; - num5 = num18 + (num19 + num19); } - return dictionary2; } + catch (Exception exception) + { + _logger.LogTrace(exception, "Failed to scan {Path}", text3); } } + return dictionary; } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawDerivedArrivalExport() { - int num = (_200D_202B_200B_206D_200C_202D_206C_206B_202A_206E_202B_200D_200E_200B_206F_206C_206A_202D_206E_206D_206C_200F_206F_206C_202A_206B_200B_206D_206B_200C_200E_202B_206C_206C_200C_202D_202D_200B_202D_206D_202E((ImU8String)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(1297058446), ImGuiTreeNodeFlags.None) ? (-332975332) : (-332975335)); - while (true) + if (!ImGui.CollapsingHeader("Derived Arrival Export (authoring)###arrivalexport")) { - int num2 = num; - int num3 = -332975331; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -332975335; - break; - case 1: - _202C_200D_202E_206B_206F_200D_202B_200E_206C_202C_200F_200F_200D_200D_200F_206C_200B_206B_200E_206C_200F_202B_202C_206E_202D_200B_200D_200E_202E_200B_200F_206D_202D_200C_206E_202E_206E_200F_202A_206E_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1892719681)); - num = ((_202B_200F_206C_202E_202B_200C_200B_206B_200D_202A_200C_200B_202C_200B_202C_202B_200C_200F_202D_206E_206D_200F_202A_206B_200E_206D_202A_202C_206B_200D_206C_202C_206B_200D_200D_202E_202A_206D_202B_206A_202E(_dataOptions) != null) ? (-332975333) : (-332975336)); - break; - case 5: - _202D_206C_202B_206F_200E_206C_206A_200F_200C_202E_200B_202B_202B_200B_202E_200D_200C_202D_202E_202D_200D_206F_200B_206E_206E_200C_206A_206E_200E_206F_206F_206D_202E_202A_202E_206B_200E_206A_200B_200F_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1901581621)); - return; - case 4: - return; - case 2: - _arrivalExportReport = RunGuarded(BuildDerivedArrivalExport); - num = -332975330; - break; - case 6: - num = ((!_202E_206D_202D_202A_206D_206A_200E_200B_202E_202B_202B_206C_200B_202C_206B_206A_206D_202E_202B_202A_202B_202B_200E_206F_206E_200D_202E_206B_202A_202C_206D_200C_200D_200B_206D_200B_202A_202B_202A_200F_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-436258789), default(Vector2))) ? (-332975330) : (-332975329)); - break; - case 3: - DrawReport(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(197244860), ref _arrivalExportReport); - return; - } + return; } + ImGui.TextWrapped("Scans every Warp row's destination territory for its arrival PopRange and writes derived-arrivals.json into the SmartNav.Data checkout (DevSourceDirectory) for bundling - runtime never scans LGB itself. Rerun after game patches. The game FREEZES for the scan (~1-2 min on a Debug build) - expected, wait it out."); + if (_dataOptions.DevSourceDirectory == null) + { + ImGui.TextDisabled("DevSourceDirectory not set - available in DEBUG builds only."); + return; + } + if (ImGui.Button("Scan + Export##arrivalexportrun")) + { + _arrivalExportReport = RunGuarded(BuildDerivedArrivalExport); + } + DrawReport("arrivalexport", ref _arrivalExportReport); } - [MethodImpl(MethodImplOptions.NoInlining)] private string BuildDerivedArrivalExport() { - StringBuilder stringBuilder = _200C_200B_206F_206E_206D_206D_202E_206B_202B_202A_200E_200F_202B_206F_200D_200E_202A_206A_200C_200B_206C_206C_202A_206D_206C_202A_202C_202E_206C_206E_206C_206B_206B_206C_200C_202B_202B_200F_200B_202E_202E(); + StringBuilder stringBuilder = new StringBuilder(); ExcelSheet excelSheet = _dataManager.GetExcelSheet(); Dictionary>> cache = new Dictionary>>(); Dictionary dictionary = PlanFiles.ToDictionary((string f) => f, (string _) => 0); Dictionary dictionary2 = new Dictionary(); List list = new List(); int num = 0; - IEnumerator enumerator = excelSheet.Where((Warp x) => x.RowId != 0).GetEnumerator(); - int num8; - int num6; - try + foreach (Warp item in excelSheet.Where((Warp x) => x.RowId != 0)) { - Warp current = default(Warp); - uint rowId = default(uint); - ushort num2 = default(ushort); - Vector3? vector = default(Vector3?); - Vector3 value2 = default(Vector3); - string text = default(string); - string text2 = default(string); - while (true) + uint rowId = item.PopRange.RowId; + ushort num2 = (ushort)item.TerritoryType.RowId; + if (rowId == 0 || num2 == 0) { - IL_034d: - if (_206A_200F_206D_206E_200B_206D_206D_200C_202A_202A_200D_206A_206F_202C_202A_200D_200F_200B_206E_200B_206E_202B_206D_200B_202C_202E_200B_206A_202D_206F_200F_206F_206D_206C_206F_206D_206D_202B_206D_202E_202E((IEnumerator)enumerator)) - { - current = enumerator.Current; - rowId = current.PopRange.RowId; - num2 = (ushort)current.TerritoryType.RowId; - if (rowId == 0 || num2 == 0) - { - continue; - } - int num3 = num; - int num4 = 1; - int num5 = num3; - num = (num5 | num4) + (num5 & num4); - vector = null; - using (Dictionary>.Enumerator enumerator2 = ScanPopRanges(cache, num2).GetEnumerator()) - { - num6 = -2076757862; - while (true) - { - int num7 = num6; - num4 = -2076757857; - num5 = num7; - string key; - switch ((num5 | num4) - (num5 & num4)) - { - case 3: - { - Vector3 value3 = value2; - vector = value3; - num6 = -2076757862; - break; - } - case 4: - { - enumerator2.Current.Deconstruct(out key, out var value); - text = key; - num6 = ((!value.TryGetValue(rowId, out value2)) ? (-2076757862) : (-2076757857)); - break; - } - case 0: - { - key = text; - num8 = dictionary[key]; - string key2 = key; - int num9 = num8; - num4 = 1; - num5 = num9; - int num10 = num5 ^ num4; - int num11 = num5 & num4; - dictionary[key2] = num10 + (num11 + num11); - Vector3 value3 = vector.GetValueOrDefault(); - num6 = (vector.HasValue ? (-2076757862) : (-2076757860)); - break; - } - case 5: - num6 = (enumerator2.MoveNext() ? (-2076757861) : (-2076757858)); - break; - case 2: - num6 = -2076757862; - break; - case 1: - goto end_IL_0128; - } - continue; - end_IL_0128: - break; - } - } - num6 = ((!vector.HasValue) ? (-1603430500) : (-1603430501)); - } - else - { - num6 = -1603430502; - } - while (true) - { - int num12 = num6; - int num4 = -1603430503; - int num5 = num12; - switch ((num5 | num4) - (num5 & num4)) - { - default: - continue; - case 5: - text2 = current.Name.ExtractText(); - num6 = ((!_202B_200C_202C_206D_200B_200F_206E_206C_202A_200B_206B_200E_202A_202D_206A_206C_202C_206A_202A_200D_202B_202E_206C_200B_202C_206A_206D_202A_206F_200B_202E_206B_200D_200D_206D_200C_206B_202C_200B_200C_202E(text2)) ? (-1603430504) : (-1603430503)); - continue; - case 2: - { - uint rowId2 = current.RowId; - DerivedArrivalEntry derivedArrivalEntry = _202A_206F_206E_202E_200C_202B_202C_206B_202D_200E_202A_202A_200F_206F_206B_202E_206B_200D_202B_206B_202A_206F_200C_206B_202E_206E_206E_202B_200F_206E_202E_206A_200F_206D_202E_200B_202B_202D_202E_202D_202E(); - _206D_206B_202B_200F_202E_206D_202A_206C_202B_206B_202D_200B_206A_206B_202E_202C_202E_202A_200C_206F_200E_200D_202B_202E_200F_202B_200E_206F_206C_206A_202B_200B_200E_202C_202C_200D_206D_206D_206B_202E_202E(derivedArrivalEntry, rowId); - _206F_202E_206A_202C_202D_206B_202D_206D_206A_206F_206F_202C_200F_202B_206F_206F_200E_206C_206E_206C_200B_206C_200C_202C_206A_202A_206F_206D_202E_202E_206E_202B_202B_202D_202A_200C_206F_202E_202C_200D_202E(derivedArrivalEntry, num2); - _200D_200F_206A_200D_202A_202A_202B_200C_202B_202B_206F_202C_202A_206E_202A_206F_202C_200D_206C_200F_202A_200E_202A_206A_200B_206D_206B_200D_206E_206E_206F_206E_200C_200B_206B_202A_206C_200C_202E_200C_202E(derivedArrivalEntry, vector.Value.X); - _200D_202A_202B_206A_200E_200C_202B_200B_202E_200E_206F_206A_206E_200E_206C_200B_206A_206A_200D_200D_200F_206A_206A_200F_200C_200D_206A_206C_206D_206C_202A_200B_206E_202D_202A_206F_202C_202E_206E_202E(derivedArrivalEntry, vector.Value.Y); - _206F_202B_200E_200D_202E_200D_206D_206F_202C_206C_206F_200F_206F_206B_206E_200B_202A_206A_200E_200C_200B_206E_206D_206B_206A_200C_202C_200E_200F_200D_206A_200E_200C_202C_200B_200F_200C_206F_200C_200F_202E(derivedArrivalEntry, vector.Value.Z); - dictionary2[rowId2] = derivedArrivalEntry; - num6 = -1603430499; - continue; - } - case 4: - break; - case 0: - text2 = current.Question.ExtractText(); - num6 = -1603430504; - continue; - case 1: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(18, 4); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1084120440)); - defaultInterpolatedStringHandler.AppendFormatted(current.RowId); - defaultInterpolatedStringHandler.AppendLiteral(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(1789328049)); - defaultInterpolatedStringHandler.AppendFormatted(text2); - defaultInterpolatedStringHandler.AppendLiteral(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(527533137)); - defaultInterpolatedStringHandler.AppendFormatted(rowId); - defaultInterpolatedStringHandler.AppendLiteral(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(-259312352)); - defaultInterpolatedStringHandler.AppendFormatted(_territoryData.GetNameAndId(num2)); - list.Add(defaultInterpolatedStringHandler.ToStringAndClear()); - num6 = -1603430499; - continue; - } - case 6: - num6 = -1603430501; - continue; - case 3: - goto end_IL_0277; - } - goto IL_034d; - continue; - end_IL_0277: - break; - } - break; - } - } - finally - { - num6 = ((enumerator == null) ? (-1874454493) : (-1874454496)); - while (true) - { - int num13 = num6; - int num4 = -1874454495; - int num5 = num13; - int num14 = num5 + num4; - int num15 = num5 & num4; - switch (num14 - (num15 + num15)) - { - case 2: - goto end_IL_044f; - case 1: - _202A_202C_202E_206A_200C_206D_206F_202C_202B_206D_206C_200D_202B_206B_200B_202D_200B_202B_200C_206D_202B_200E_202E_200D_206C_202A_200E_200C_206C_202B_206C_202C_202C_200E_202A_206D_202B_206E_206D_200D_202E((IDisposable)enumerator); - num6 = -1874454493; - break; - case 0: - num6 = -1874454496; - break; - } continue; - end_IL_044f: - break; } + num++; + Vector3? vector = null; + foreach (KeyValuePair> item2 in ScanPopRanges(cache, num2)) + { + item2.Deconstruct(out var key, out var value); + string text = key; + if (value.TryGetValue(rowId, out var value2)) + { + key = text; + dictionary[key]++; + Vector3 valueOrDefault = vector.GetValueOrDefault(); + if (!vector.HasValue) + { + valueOrDefault = value2; + vector = valueOrDefault; + } + } + } + if (vector.HasValue) + { + dictionary2[item.RowId] = new DerivedArrivalEntry + { + PopRangeId = rowId, + TerritoryId = num2, + X = vector.Value.X, + Y = vector.Value.Y, + Z = vector.Value.Z + }; + continue; + } + string value3 = item.Name.ExtractText(); + if (string.IsNullOrEmpty(value3)) + { + value3 = item.Question.ExtractText(); + } + list.Add($" {item.RowId} '{value3}' popId={rowId} dest={_territoryData.GetNameAndId(num2)}"); } - DerivedArrivalFile derivedArrivalFile = _206F_202E_200F_206F_200C_206D_206B_206B_200C_200C_202B_200B_206A_206C_206A_206B_206A_202A_206E_202A_206B_202C_202D_206C_202C_200B_206B_200F_206C_202C_206F_202C_200C_200F_202C_202B_206E_206F_200C_200D_202E(); - _200F_206F_206E_206E_202B_206A_206E_206B_202B_206F_206A_200F_206D_200D_202B_206C_202B_200E_202C_206E_200E_206B_206C_200F_200C_206D_206D_206C_202E_200E_202A_206C_202B_202C_206C_200F_206E_200B_202A_202B_202E(derivedArrivalFile, _206D_202D_202E_200E_206B_202D_206F_202C_200E_202E_200B_206C_200F_202D_200F_200F_202E_206C_202D_200D_206A_206C_202D_200D_200C_202D_200F_206F_200F_202C_202A_200F_202D_200F_206B_200B_202C_202A_200F_202B_202E(_dataOptions)); - _200F_200B_202E_206F_206A_206E_202D_200B_206F_200F_206C_202B_206F_206E_202C_200E_200E_206E_200C_202A_202C_200F_206E_202D_200C_202C_202C_202B_200C_202D_206D_200F_202A_202A_200F_200C_206F_206B_200B_206E_202E(derivedArrivalFile, dictionary2); - DerivedArrivalFile derivedArrivalFile2 = derivedArrivalFile; - string text3 = _206C_200E_202C_206E_202A_202A_206D_206E_202B_200F_202A_202E_200F_200E_206B_206D_206F_202A_202C_206B_200C_202C_206C_200F_206D_200C_206F_202C_202A_206E_202E_202A_202A_202C_206E_206D_202E_200F_200E_202E_202E(_200E_206F_200E_202B_206E_202B_200F_206C_200C_206E_206C_206B_200F_202B_200F_206A_200F_206C_206C_206B_202D_202D_202E_202C_200E_200C_202D_200E_202A_200B_200D_202E_206A_206A_200E_206A_200D_202D_206F_202D_202E((FileSystemInfo)_202B_200F_206C_202E_202B_200C_200B_206B_200D_202A_200C_200B_202C_200B_202C_202B_200C_200F_202D_206E_206D_200F_202A_206B_200E_206D_202A_202C_206B_200D_206C_202C_206B_200D_200D_202E_202A_206D_202B_206A_202E(_dataOptions)), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-632129369)); - _206B_206C_200C_202B_200D_202C_200B_202E_200F_206C_200F_202B_206D_206E_202A_206C_206D_202E_206E_200B_206F_202E_202C_202C_206E_202D_200D_202B_200D_206B_202A_206D_206B_206A_206B_202C_202E_202D_200F_202B_202E(text3, JsonSerializer.Serialize(derivedArrivalFile2, IndentedJson)); + DerivedArrivalFile derivedArrivalFile = new DerivedArrivalFile + { + GameVersion = _dataOptions.GameVersion, + Arrivals = dictionary2 + }; + string text2 = Path.Combine(_dataOptions.DevSourceDirectory.FullName, "derived-arrivals.json"); + File.WriteAllText(text2, JsonSerializer.Serialize(derivedArrivalFile, IndentedJson)); StringBuilder stringBuilder2 = stringBuilder; StringBuilder stringBuilder3 = stringBuilder2; - IFormatProvider formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - IFormatProvider formatProvider2 = formatProvider; - StringBuilder.AppendInterpolatedStringHandler appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(57, 2, stringBuilder2, formatProvider); - appendInterpolatedStringHandler.AppendFormatted(num); - appendInterpolatedStringHandler.AppendLiteral(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(1141024490)); - appendInterpolatedStringHandler.AppendFormatted(dictionary2.Count); - appendInterpolatedStringHandler.AppendLiteral(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(-2018314361)); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder3, formatProvider2, ref appendInterpolatedStringHandler); + IFormatProvider invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider = invariantCulture; + StringBuilder.AppendInterpolatedStringHandler handler = new StringBuilder.AppendInterpolatedStringHandler(57, 2, stringBuilder2, invariantCulture); + handler.AppendFormatted(num); + handler.AppendLiteral(" warp rows with PopRange + destination, "); + handler.AppendFormatted(dictionary2.Count); + handler.AppendLiteral(" arrivals derived"); + stringBuilder3.AppendLine(provider, ref handler); string[] planFiles = PlanFiles; - num8 = 0; - num6 = 1870756699; - while (true) + foreach (string text3 in planFiles) { - int num16 = num6; - int num4 = 1870756696; - int num5 = num16; - int num17 = num5 + num4; - int num18 = num5 & num4; - switch (num17 - (num18 + num18)) - { - case 2: - num6 = 1870756699; - break; - case 3: - num6 = ((num8 < planFiles.Length) ? 1870756697 : 1870756696); - break; - case 1: - { - string text4 = planFiles[num8]; - stringBuilder2 = stringBuilder; - StringBuilder stringBuilder6 = stringBuilder2; - formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - IFormatProvider formatProvider5 = formatProvider; - appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(9, 2, stringBuilder2, formatProvider); - appendInterpolatedStringHandler.AppendLiteral(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(-2047193429)); - appendInterpolatedStringHandler.AppendFormatted(text4); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1545053118)); - appendInterpolatedStringHandler.AppendFormatted(dictionary[text4]); - appendInterpolatedStringHandler.AppendLiteral(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(2018222976)); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder6, formatProvider5, ref appendInterpolatedStringHandler); - int num22 = num8; - num4 = 1; - num5 = num22; - num8 = (num5 | num4) + (num5 & num4); - num6 = 1870756699; - break; - } - case 0: - { - stringBuilder2 = stringBuilder; - StringBuilder stringBuilder4 = stringBuilder2; - formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - IFormatProvider formatProvider3 = formatProvider; - appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(98, 1, stringBuilder2, formatProvider); - appendInterpolatedStringHandler.AppendFormatted(list.Count); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(632432975)); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder4, formatProvider3, ref appendInterpolatedStringHandler); - using (List.Enumerator enumerator3 = list.GetEnumerator()) - { - num6 = -1351429223; - while (true) - { - int num19 = num6; - num4 = -1351429223; - num5 = num19; - int num20 = num5 + num4; - int num21 = num5 & num4; - switch (num20 - (num21 + num21)) - { - case 2: - num6 = -1351429223; - break; - case 3: - { - string current2 = enumerator3.Current; - _206E_202B_206C_200C_202E_202C_200B_206D_206C_200B_206A_202D_206C_206C_200F_202B_206E_206B_206C_200C_206A_200D_206C_202D_202C_200D_200E_202C_206F_202C_206E_206A_206E_202A_200E_202C_206E_206D_202B_200C_202E(stringBuilder, current2); - num6 = -1351429223; - break; - } - case 0: - num6 = (enumerator3.MoveNext() ? (-1351429222) : (-1351429224)); - break; - case 1: - goto end_IL_06b1; - } - continue; - end_IL_06b1: - break; - } - } - _206D_200E_202C_206F_206D_202E_202C_206A_200B_200D_202B_202A_202E_202A_202D_202D_200D_206C_202A_202A_206F_202D_206D_202C_202C_206E_206C_202E_200D_202D_206C_206F_206D_206C_206E_200E_200E_200D_200B_202B_202E(stringBuilder); - stringBuilder2 = stringBuilder; - StringBuilder stringBuilder5 = stringBuilder2; - formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - IFormatProvider formatProvider4 = formatProvider; - appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(25, 2, stringBuilder2, formatProvider); - appendInterpolatedStringHandler.AppendLiteral(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(-1359032729)); - appendInterpolatedStringHandler.AppendFormatted(text3); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(93850674)); - appendInterpolatedStringHandler.AppendFormatted(_202D_206B_202B_206F_202B_202B_200F_202E_206F_202A_206A_206E_206B_206B_206C_206A_200D_202C_202C_202E_206E_202D_200E_206E_206C_206C_200D_200D_200B_200E_200B_202E_206C_202B_206C_200E_200F_206F_200E_200D_202E(derivedArrivalFile2) ?? 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(1887683575)); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1735737295)); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder5, formatProvider4, ref appendInterpolatedStringHandler); - _206E_202B_206C_200C_202E_202C_200B_206D_206C_200B_206A_202D_206C_206C_200F_202B_206E_206B_206C_200C_206A_200D_206C_202D_202C_200D_200E_202C_206F_202C_206E_206A_206E_202A_200E_202C_206E_206D_202B_200C_202E(stringBuilder, 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(1824898501)); - return _200F_200E_202E_206F_200B_202E_206C_206B_202C_200E_200F_206F_206E_202A_202A_200C_200F_200C_200B_202B_200B_206D_206D_206E_202B_200D_206B_202A_200B_206E_200E_200C_202A_200F_200B_200B_200F_202D_206B_206C_202E((object)stringBuilder); - } - } + stringBuilder2 = stringBuilder; + StringBuilder stringBuilder4 = stringBuilder2; + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider2 = invariantCulture; + handler = new StringBuilder.AppendInterpolatedStringHandler(9, 2, stringBuilder2, invariantCulture); + handler.AppendLiteral(" "); + handler.AppendFormatted(text3); + handler.AppendLiteral(": "); + handler.AppendFormatted(dictionary[text3]); + handler.AppendLiteral(" hits"); + stringBuilder4.AppendLine(provider2, ref handler); } + stringBuilder2 = stringBuilder; + StringBuilder stringBuilder5 = stringBuilder2; + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider3 = invariantCulture; + handler = new StringBuilder.AppendInterpolatedStringHandler(98, 1, stringBuilder2, invariantCulture); + handler.AppendFormatted(list.Count); + handler.AppendLiteral(" unresolved (no plan file holds the pop id; Level-sheet fallback may still cover some at runtime):"); + stringBuilder5.AppendLine(provider3, ref handler); + foreach (string item3 in list) + { + stringBuilder.AppendLine(item3); + } + stringBuilder.AppendLine(); + stringBuilder2 = stringBuilder; + StringBuilder stringBuilder6 = stringBuilder2; + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider4 = invariantCulture; + handler = new StringBuilder.AppendInterpolatedStringHandler(25, 2, stringBuilder2, invariantCulture); + handler.AppendLiteral("written: "); + handler.AppendFormatted(text2); + handler.AppendLiteral(" (game version "); + handler.AppendFormatted(derivedArrivalFile.GameVersion ?? "?"); + handler.AppendLiteral(")"); + stringBuilder6.AppendLine(provider4, ref handler); + stringBuilder.AppendLine("DEBUG builds read this file directly via DevSourceDirectory - toggle the plugin to see the new arrivals; commit it in SmartNav to ship."); + return stringBuilder.ToString(); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawLayerSetProbe() { - int num = (_200D_202B_200B_206D_200C_202D_206C_206B_202A_206E_202B_200D_200E_200B_206F_206C_206A_202D_206E_206D_206C_200F_206F_206C_202A_206B_200B_206D_206B_200C_200E_202B_206C_206C_200C_202D_202D_200B_202D_206D_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-875146848), ImGuiTreeNodeFlags.DefaultOpen) ? 1301006986 : 1301006985); - uint territoryId; - while (true) + if (!ImGui.CollapsingHeader("Layer-Set Attribution Probe (.lvb)###lvbprobe", ImGuiTreeNodeFlags.DefaultOpen)) { - int num2 = num; - int num3 = 1301006986; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _202C_200D_202E_206B_206F_200D_202B_200E_206C_202C_200F_200F_200D_200D_200F_206C_200B_206B_200E_206C_200F_202B_202C_206E_202D_200B_200D_200E_202E_200B_200F_206D_202D_200C_206E_202E_206E_200F_202A_206E_202E((ImU8String)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(1690152568)); - _202A_206B_202E_206C_202B_200B_200D_202B_206B_200F_206E_200F_200B_206D_206E_206B_202D_200F_206E_200B_202D_200F_200D_200B_202B_200E_206B_200D_200C_202E_206D_200C_202B_206D_200E_206A_206D_206E_202D_202E(120f); - _200C_202C_200C_206F_202A_202D_200F_206D_206D_200E_202B_200E_200B_206B_206E_206C_206A_200C_206F_200C_202E_200E_206C_206B_206B_202B_206D_206F_202B_206F_206E_206B_206E_202D_206C_202B_202C_202A_206A_202A_202E((ImU8String)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(1460437686), ref _lvbTerritoryId, 0, 0, default(ImU8String), ImGuiInputTextFlags.None); - num = ((!_202E_206D_202D_202A_206D_206A_200E_200B_202E_202B_202B_206C_200B_202C_206B_206A_206D_202E_202B_202A_202B_202B_200E_206F_206E_200D_202E_206B_202A_202C_206D_200C_200D_200B_206D_200B_202A_202B_202A_200F_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1188775364), default(Vector2))) ? 1301006990 : 1301006987); - break; - case 3: - return; - case 2: - num = 1301006985; - break; - case 1: - territoryId = ((_lvbTerritoryId > 0) ? ((uint)_lvbTerritoryId) : _200B_206F_206B_206D_206C_202D_206E_200D_206C_202C_206F_202D_202E_206F_206B_200B_200E_206F_200F_200D_200D_202D_202B_200D_202B_206D_206F_206E_206A_206B_202E_202E_206A_202C_206E_202C_202E_206D_200B_202C_202E(_clientState)); - _lvbReport = RunGuarded(() => BuildLayerSetReport(territoryId)); - num = 1301006990; - break; - case 4: - DrawReport(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-755775763), ref _lvbReport); - return; - } + return; } + ImGui.TextWrapped("Parses the territory's .lvb layer-set table per the offsets claimed in NoireLib's GameData docs (0x1C-byte records, TerritoryType row at +0x0C) and each plan file's per-layer layer-set references. Verify against a known shared-level pair, e.g. Mist 339 vs s1h1_test 136: attributed territory ids must all appear in the 'territories sharing this Bg' line."); + ImGui.SetNextItemWidth(120f); + ImGui.InputInt("Territory id (0 = current)##lvbterritory", ref _lvbTerritoryId); + if (ImGui.Button("Parse##lvb")) + { + uint territoryId = ((_lvbTerritoryId > 0) ? ((uint)_lvbTerritoryId) : _clientState.TerritoryType); + _lvbReport = RunGuarded(() => BuildLayerSetReport(territoryId)); + } + DrawReport("lvb", ref _lvbReport); } - [MethodImpl(MethodImplOptions.NoInlining)] private string BuildLayerSetReport(uint territoryId) { - StringBuilder stringBuilder = _200C_200B_206F_206E_206D_206D_202E_206B_202B_202A_200E_200F_202B_206F_200D_200E_202A_206A_200C_200B_206C_206C_202A_206D_206C_202A_202C_202E_206C_206E_206C_206B_206B_206C_200C_202B_202B_200F_200B_202E_202E(); + StringBuilder stringBuilder = new StringBuilder(); ExcelSheet excelSheet = _dataManager.GetExcelSheet(); string bg = excelSheet.GetRowOrDefault(territoryId)?.Bg.ExtractText(); - int num = ((!_202B_200C_202C_206D_200B_200F_206E_206C_202A_200B_206B_200E_202A_202D_206A_206C_202C_206A_202A_200D_202B_202E_206C_200B_202C_206A_206D_202A_206F_200B_202E_206B_200D_200D_206D_200C_206B_202C_200B_200C_202E(bg)) ? 1217962322 : 1217962323); - int num6 = default(int); - Dictionary> owners; - uint item = default(uint); - List value = default(List); - uint item2 = default(uint); - string text5 = default(string); - List> list4 = default(List>); - while (true) + if (string.IsNullOrEmpty(bg)) { - int num2 = num; - int num3 = 1217962322; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return $"territory {territoryId} has no Bg path"; + } + int num = bg.IndexOf("/level/", StringComparison.Ordinal); + if (num < 0) + { + return $"territory {territoryId} Bg '{bg}' has no /level/ segment"; + } + string text = "bg/" + bg.Substring(0, num + 1) + "level/"; + string text2 = bg.Substring(bg.LastIndexOf('/') + 1); + StringBuilder stringBuilder2 = stringBuilder; + StringBuilder stringBuilder3 = stringBuilder2; + IFormatProvider invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider = invariantCulture; + StringBuilder.AppendInterpolatedStringHandler handler = new StringBuilder.AppendInterpolatedStringHandler(17, 2, stringBuilder2, invariantCulture); + handler.AppendLiteral("territory "); + handler.AppendFormatted(_territoryData.GetNameAndId(territoryId)); + handler.AppendLiteral(", Bg '"); + handler.AppendFormatted(bg); + handler.AppendLiteral("'"); + stringBuilder3.AppendLine(provider, ref handler); + List list = (from t in excelSheet + where t.RowId != 0 && t.Bg.ExtractText() == bg + select t.RowId).ToList(); + stringBuilder2 = stringBuilder; + StringBuilder stringBuilder4 = stringBuilder2; + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider2 = invariantCulture; + handler = new StringBuilder.AppendInterpolatedStringHandler(29, 1, stringBuilder2, invariantCulture); + handler.AppendLiteral("territories sharing this Bg: "); + handler.AppendFormatted(string.Join(", ", list)); + stringBuilder4.AppendLine(provider2, ref handler); + List<(uint SetId, uint TerritoryId)> list2 = ParseLvbLayerSets(ReadFileBytes(text + text2 + ".lvb"), stringBuilder); + Dictionary> owners = new Dictionary>(); + foreach (var item3 in list2) + { + uint item = item3.SetId; + uint item2 = item3.TerritoryId; + stringBuilder2 = stringBuilder; + StringBuilder stringBuilder5 = stringBuilder2; + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider3 = invariantCulture; + handler = new StringBuilder.AppendInterpolatedStringHandler(26, 3, stringBuilder2, invariantCulture); + handler.AppendLiteral(" layer set "); + handler.AppendFormatted(item); + handler.AppendLiteral(" -> territory "); + handler.AppendFormatted(item2); + handler.AppendFormatted(list.Contains(item2) ? "" : " <-- NOT IN SHARING SET (offsets suspect)"); + stringBuilder5.AppendLine(provider3, ref handler); + if (item2 != 0) { - case 4: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(39, 2); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-933891057)); - defaultInterpolatedStringHandler2.AppendFormatted(territoryId); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-280187168)); - defaultInterpolatedStringHandler2.AppendFormatted(bg); - defaultInterpolatedStringHandler2.AppendLiteral(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(-1650634486)); - return defaultInterpolatedStringHandler2.ToStringAndClear(); - } - case 1: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(25, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-156340874)); - defaultInterpolatedStringHandler.AppendFormatted(territoryId); - defaultInterpolatedStringHandler.AppendLiteral(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(-2086094510)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - case 0: - num6 = _206B_202C_200D_202B_200B_202A_206F_200B_200C_200B_200C_200C_200B_200D_200B_206A_200C_200B_202B_200E_206C_206A_200B_206F_206B_202B_206E_206A_200F_202D_202A_200F_202B_206D_202E_200F_206F_200D_202E_200F_202E(bg, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1447478986), StringComparison.Ordinal); - num = ((num6 >= 0) ? 1217962321 : 1217962326); - break; - case 2: - num = 1217962323; - break; - case 3: - { - string text = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-397701742); - string text2 = bg; - int num5 = num6; - num3 = 1; - num4 = num5; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - string text3 = _202B_200B_202E_200C_202A_202C_206A_200D_206D_200E_206E_202C_202E_202E_200C_202A_206E_200C_206D_202E_206D_200D_202E_206F_206C_200B_200E_206F_202E_200E_206B_200C_206E_206B_202D_206F_200E_202A_206D_200F_202E(text, _202C_202E_206A_206F_206A_206D_200C_202B_206B_200C_206F_206B_202A_206D_202C_200C_200F_200F_202A_200D_206D_206E_202A_206F_206F_206B_200F_200C_206E_200C_202E_200F_200F_206E_206E_202A_206E_202E_206B_202D_202E(text2, 0, num7 + (num8 + num8)), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1288278212)); - string text4 = _206A_206B_200D_200F_200E_206F_200E_202E_200D_206E_202C_202E_202A_206A_200C_202A_200D_206D_200C_202D_200C_206E_200D_202E_202E_202D_200D_202D_202C_206B_206D_200C_202E_202C_202B_200F_200C_206D_202A_200F_202E(bg, _200E_200B_206C_206A_202B_206B_202D_202D_206A_200C_200F_200F_200C_202E_200B_206C_202C_206E_202A_206A_202D_206D_200D_206D_202E_202A_200F_200C_206B_200D_202D_202E_206B_202C_206A_200B_202B_202A_200C_206A_202E(bg, '/') + 1); - StringBuilder stringBuilder2 = stringBuilder; - StringBuilder stringBuilder3 = stringBuilder2; - IFormatProvider formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - IFormatProvider formatProvider2 = formatProvider; - StringBuilder.AppendInterpolatedStringHandler appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(17, 2, stringBuilder2, formatProvider); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-933891057)); - appendInterpolatedStringHandler.AppendFormatted(_territoryData.GetNameAndId(territoryId)); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2035498113)); - appendInterpolatedStringHandler.AppendFormatted(bg); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1639651192)); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder3, formatProvider2, ref appendInterpolatedStringHandler); - List list = (from t in excelSheet.Where(delegate(TerritoryType t) - { - int num19 = ((t.RowId == 0) ? (-1476010825) : (-1476010828)); - while (true) - { - int num20 = num19; - int num21 = -1476010826; - int num22 = num20; - int num23 = num22 + num21; - int num24 = num22 & num21; - switch (num23 - (num24 + num24)) - { - case 0: - goto IL_0049; - case 2: - return _003C_003Ec__DisplayClass26_0._206E_200D_206F_202A_206D_200B_206A_206B_206C_202B_202E_202E_202E_206C_202E_200B_202A_206C_200B_202D_200D_206B_200F_206E_206A_202C_206F_206F_200C_206A_202E_200F_202C_200D_206E_200E_206F_200B_206F_200D_202E(t.Bg.ExtractText(), bg); - case 1: - return false; - } - continue; - IL_0049: - num19 = -1476010828; - } - }) - select t.RowId).ToList(); - stringBuilder2 = stringBuilder; - StringBuilder stringBuilder4 = stringBuilder2; - formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - IFormatProvider formatProvider3 = formatProvider; - appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(29, 1, stringBuilder2, formatProvider); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(50860618)); - appendInterpolatedStringHandler.AppendFormatted(string.Join(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1087086507), list)); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder4, formatProvider3, ref appendInterpolatedStringHandler); - List<(uint SetId, uint TerritoryId)> list2 = ParseLvbLayerSets(ReadFileBytes(_202B_200B_202E_200C_202A_202C_206A_200D_206D_200E_206E_202C_202E_202E_200C_202A_206E_200C_206D_202E_206D_200D_202E_206F_206C_200B_200E_206F_202E_200E_206B_200C_206E_206B_202D_206F_200E_202A_206D_200F_202E(text3, text4, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1877396600))), stringBuilder); - owners = new Dictionary>(); - using (List<(uint, uint)>.Enumerator enumerator = list2.GetEnumerator()) + if (!owners.TryGetValue(item, out List value)) { - num = 569756345; - while (true) - { - int num9 = num; - num3 = 569756347; - num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 3: - num = (owners.TryGetValue(item, out value) ? 569756347 : 569756351); - break; - case 4: - value = (owners[item] = new List()); - num = 569756347; - break; - case 0: - value.Add(item2); - num = 569756345; - break; - case 2: - num = (enumerator.MoveNext() ? 569756346 : 569756350); - break; - case 6: - num = 569756345; - break; - case 1: - { - (uint, uint) current = enumerator.Current; - item = current.Item1; - item2 = current.Item2; - stringBuilder2 = stringBuilder; - StringBuilder stringBuilder5 = stringBuilder2; - formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - IFormatProvider formatProvider4 = formatProvider; - appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(26, 3, stringBuilder2, formatProvider); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1045936999)); - appendInterpolatedStringHandler.AppendFormatted(item); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1691935347)); - appendInterpolatedStringHandler.AppendFormatted(item2); - appendInterpolatedStringHandler.AppendFormatted(list.Contains(item2) ? global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1694032531) : 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(91205610)); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder5, formatProvider4, ref appendInterpolatedStringHandler); - num = ((item2 == 0) ? 569756345 : 569756344); - break; - } - case 5: - goto end_IL_0328; - } - continue; - end_IL_0328: - break; - } + value = (owners[item] = new List()); } - string[] planFiles = PlanFiles; - int num12 = 0; - num = -687162178; - while (true) - { - int num13 = num; - num3 = -687162179; - num4 = num13; - int num14 = num4 + num3; - int num15 = num4 & num3; - switch (num14 - (num15 + num15)) - { - case 2: - return _200F_200E_202E_206F_200B_202E_206C_206B_202C_200E_200F_206F_206E_202A_202A_200C_200F_200C_200B_202B_200B_206D_206D_206E_202B_200D_206B_202A_200B_206E_200E_200C_202A_200F_200B_200B_200F_202D_206B_206C_202E((object)stringBuilder); - case 4: - { - stringBuilder2 = stringBuilder; - StringBuilder stringBuilder7 = stringBuilder2; - formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - IFormatProvider formatProvider6 = formatProvider; - appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(18, 1, stringBuilder2, formatProvider); - appendInterpolatedStringHandler.AppendFormatted(text5); - appendInterpolatedStringHandler.AppendLiteral(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(116300161)); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder7, formatProvider6, ref appendInterpolatedStringHandler); - num = -687162180; - break; - } - case 3: - num = ((num12 < planFiles.Length) ? (-687162184) : (-687162177)); - break; - case 1: - { - int num16 = num12; - num3 = 1; - num4 = num16; - int num17 = num4 ^ num3; - int num18 = num4 & num3; - num12 = num17 + (num18 + num18); - num = -687162178; - break; - } - case 5: - text5 = planFiles[num12]; - list4 = ParseLgbLayerSetReferences(ReadFileBytes(_200C_200F_202E_206E_202C_206B_206C_202E_200B_206E_200C_206E_206B_200C_200D_206B_202C_200F_202E_202E_200C_206D_206C_206D_206E_202A_206E_202A_200C_206C_202B_206F_206A_206D_200C_200E_200B_200D_206C_206E_202E(text3, text5))); - num = ((list4.Count != 0) ? (-687162181) : (-687162183)); - break; - case 6: - { - int value2 = list4.Count((List refs) => refs.Count > 0); - List list5 = list4.SelectMany((List refs) => refs).Distinct().Select([MethodImpl(MethodImplOptions.NoInlining)] (uint setId) => - { - List value3; - int num19 = (owners.TryGetValue(setId, out value3) ? (-1977504847) : (-1977504846)); - while (true) - { - int num20 = num19; - int num21 = -1977504845; - int num22 = num20; - int num23 = num22 + num21; - int num24 = num22 & num21; - switch (num23 - (num24 + num24)) - { - case 2: - return string.Join(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1680133376), value3); - case 1: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(12, 1); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-884751217)); - defaultInterpolatedStringHandler3.AppendFormatted(setId); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1951044220)); - return defaultInterpolatedStringHandler3.ToStringAndClear(); - } - case 0: - goto IL_00a0; - } - continue; - IL_00a0: - num19 = -1977504846; - } - }) - .Distinct() - .ToList(); - stringBuilder2 = stringBuilder; - StringBuilder stringBuilder6 = stringBuilder2; - formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - IFormatProvider formatProvider5 = formatProvider; - appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(48, 4, stringBuilder2, formatProvider); - appendInterpolatedStringHandler.AppendFormatted(text5); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2035955381)); - appendInterpolatedStringHandler.AppendFormatted(list4.Count); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-944275696)); - appendInterpolatedStringHandler.AppendFormatted(value2); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(173110452)); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-832423755)); - appendInterpolatedStringHandler.AppendFormatted((list5.Count > 0) ? _200D_200B_202E_200D_202A_202B_206F_200F_202B_200D_200B_202C_200E_206F_202C_206D_206A_202A_206A_206D_206D_200E_206F_206C_206F_202C_202C_202B_200F_202D_200B_200D_206D_200B_202B_206C_206D_200F_206F_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(1577352017), (IEnumerable)list5) : global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(792471175)); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder6, formatProvider5, ref appendInterpolatedStringHandler); - num = -687162180; - break; - } - case 0: - num = -687162178; - break; - } - } - } + value.Add(item2); } } + string[] planFiles = PlanFiles; + foreach (string text3 in planFiles) + { + List> list4 = ParseLgbLayerSetReferences(ReadFileBytes(text + text3)); + if (list4.Count == 0) + { + stringBuilder2 = stringBuilder; + StringBuilder stringBuilder6 = stringBuilder2; + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider4 = invariantCulture; + handler = new StringBuilder.AppendInterpolatedStringHandler(18, 1, stringBuilder2, invariantCulture); + handler.AppendFormatted(text3); + handler.AppendLiteral(": no layers parsed"); + stringBuilder6.AppendLine(provider4, ref handler); + continue; + } + int value2 = list4.Count((List refs) => refs.Count > 0); + List value3; + List list5 = (from setId in list4.SelectMany((List refs) => refs).Distinct() + select (!owners.TryGetValue(setId, out value3)) ? $"set {setId} unknown" : string.Join("/", value3)).Distinct().ToList(); + stringBuilder2 = stringBuilder; + StringBuilder stringBuilder7 = stringBuilder2; + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider5 = invariantCulture; + handler = new StringBuilder.AppendInterpolatedStringHandler(48, 4, stringBuilder2, invariantCulture); + handler.AppendFormatted(text3); + handler.AppendLiteral(": "); + handler.AppendFormatted(list4.Count); + handler.AppendLiteral(" layers, "); + handler.AppendFormatted(value2); + handler.AppendLiteral(" with layer-set refs; "); + handler.AppendLiteral("attributed to: "); + handler.AppendFormatted((list5.Count > 0) ? string.Join(", ", list5) : "-"); + stringBuilder7.AppendLine(provider5, ref handler); + } + return stringBuilder.ToString(); } - [MethodImpl(MethodImplOptions.NoInlining)] private byte[]? ReadFileBytes(string path) { try { - FileResource fileResource = _206D_200B_202C_206C_200C_200C_206C_206B_206C_206D_202A_206E_200F_202C_202A_200C_206F_200D_202A_206B_200C_200E_202B_206A_206E_200B_202D_200E_206E_202A_202A_200F_200B_206A_206A_202D_206F_200D_200D_202E_202E(_dataManager, path); - return (fileResource != null) ? _202A_200B_200C_206C_202E_202B_202D_200B_206E_200F_206C_206C_202D_206E_200E_202A_202D_206F_200E_206C_202D_206A_206A_206F_202E_202D_200B_202D_206F_206D_202C_202B_206E_200F_202A_206E_200E_202D_206C_206E_202E(fileResource) : null; + return _dataManager.GetFile(path)?.Data; } - catch (Exception ex) + catch (Exception exception) { - _202E_202D_202B_202C_200B_202A_206E_200C_200B_202A_206B_200D_206C_200C_206A_200E_202E_206E_202A_206F_206F_202E_206A_202B_202A_206C_200B_206C_202D_200D_206E_206A_202B_206B_202A_202A_206C_200E_202E_206C_202E((ILogger)_logger, ex, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2050201987), new object[1] { path }); + _logger.LogTrace(exception, "Failed to read {Path}", path); return null; } } - [MethodImpl(MethodImplOptions.NoInlining)] private static List<(uint SetId, uint TerritoryId)> ParseLvbLayerSets(byte[]? data, StringBuilder sb) { List<(uint, uint)> list = new List<(uint, uint)>(); - int num = ((data == null) ? (-1069099753) : (-1069099746)); - int num17 = default(int); - bool flag = default(bool); - int num9 = default(int); - int num7 = default(int); - int num10 = default(int); - while (true) + if (data == null || data.Length < 36 || !HasMagic(data, 0, "LVB1") || !HasMagic(data, 12, "SCN1")) { - int num2 = num; - int num3 = -1069099753; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 10: - { - int num23 = num17; - num3 = 12; - num4 = num23; - int num24 = num4 ^ num3; - int num25 = num4 & num3; - num = ((num24 + (num25 + num25) <= data.Length) ? (-1069099769) : (-1069099749)); - break; - } - case 13: - flag = true; - num = -1069099757; - break; - case 12: - _206E_202B_206C_200C_202E_202C_200B_206D_206C_200B_206A_202D_206C_206C_200F_202B_206E_206B_206C_200C_206A_200D_206C_202D_202C_200D_200E_202C_206F_202C_206E_206A_206E_202A_200E_202C_206E_206D_202B_200C_202E(sb, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2098223468)); - return list; - case 9: - num = ((data.Length < 36) ? (-1069099753) : (-1069099758)); - break; - case 14: - { - int num11 = num9; - num3 = num7 * 28; - num4 = num11; - int num12 = num4 ^ num3; - int num13 = num4 & num3; - int num14 = num12 + (num13 + num13); - uint item = _202E_200F_202A_206A_206E_202C_206F_206F_200E_206C_200F_206E_202A_200F_202C_206F_200F_202A_206C_206B_202B_200D_206B_200B_200B_206B_206A_202D_200F_200B_202D_202D_202D_206D_206D_206F_202D_202D_200C_202A_202E(data, num14); - num3 = 12; - num4 = num14; - list.Add((item, _202E_200F_202A_206A_206E_202C_206F_206F_200E_206C_200F_206E_202A_200F_202C_206F_200F_202A_206C_206B_202B_200D_206B_200B_200B_206B_206A_202D_200F_200B_202D_202D_202D_206D_206D_206F_202D_202D_200C_202A_202E(data, (num4 | num3) + (num4 & num3)))); - int num15 = num7; - num3 = 1; - num4 = num15; - num7 = (num4 | num3) + (num4 & num3); - num = -1069099759; - break; - } - case 15: - num = ((num10 <= 4096) ? (-1069099754) : (-1069099750)); - break; - case 3: - num17 = 20 + _206B_202A_206F_206A_206A_206C_206C_206E_202A_200E_202E_206B_200F_200D_200F_206D_200F_200F_206E_206A_202A_202B_202E_202D_206D_200E_200F_206B_200F_206F_200F_202D_206A_202E_206E_202A_202A_202A_206F_200D_202E(data, 32); - num = ((num17 < 0) ? (-1069099749) : (-1069099747)); - break; - case 1: - flag = false; - num = -1069099757; - break; - case 4: - num = (flag ? (-1069099745) : (-1069099748)); - break; - case 17: - num7 = 0; - num = -1069099759; - break; - case 0: - _206E_202B_206C_200C_202E_202C_200B_206D_206C_200B_206A_202D_206C_206C_200F_202B_206E_206B_206C_200C_206A_200D_206C_202D_202C_200D_200E_202C_206F_202C_206E_206A_206E_202A_200E_202C_206E_206D_202B_200C_202E(sb, 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(-1929902287)); - return list; - case 7: - { - StringBuilder stringBuilder = sb; - StringBuilder stringBuilder3 = stringBuilder; - IFormatProvider formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - IFormatProvider formatProvider3 = formatProvider; - StringBuilder.AppendInterpolatedStringHandler appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(17, 1, stringBuilder, formatProvider); - appendInterpolatedStringHandler.AppendLiteral(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(76646206)); - appendInterpolatedStringHandler.AppendFormatted(num10); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1699175671)); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder3, formatProvider3, ref appendInterpolatedStringHandler); - return list; - } - case 5: - num = ((!HasMagic(data, 0, 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(247167544))) ? (-1069099753) : (-1069099755)); - break; - case 6: - num = ((num7 < num10) ? (-1069099751) : (-1069099760)); - break; - case 16: - { - int num16 = num17; - num3 = 4; - num4 = num16; - int num18 = num4 ^ num3; - int num19 = num4 & num3; - num10 = _206B_202A_206F_206A_206A_206C_206C_206E_202A_200E_202E_206B_200F_200D_200F_206D_200F_200F_206E_206A_202A_202B_202E_202D_206D_200E_200F_206B_200F_206F_200F_202D_206A_202E_206E_202A_202A_202A_206F_200D_202E(data, num18 + (num19 + num19)); - int num20 = num17; - num3 = 12; - num4 = num20; - int num21 = num4 ^ num3; - int num22 = num4 & num3; - num9 = num21 + (num22 + num22); - num = ((num10 < 0) ? (-1069099750) : (-1069099752)); - break; - } - case 18: - num = -1069099746; - break; - case 8: - { - StringBuilder stringBuilder = sb; - StringBuilder stringBuilder2 = stringBuilder; - IFormatProvider formatProvider = _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E(); - IFormatProvider formatProvider2 = formatProvider; - StringBuilder.AppendInterpolatedStringHandler appendInterpolatedStringHandler = new StringBuilder.AppendInterpolatedStringHandler(34, 1, stringBuilder, formatProvider); - appendInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-310739774)); - appendInterpolatedStringHandler.AppendFormatted(num10); - _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(stringBuilder2, formatProvider2, ref appendInterpolatedStringHandler); - return list; - } - case 11: - { - int num8 = num9; - num3 = num10 * 28; - num4 = num8; - num = (((num4 | num3) + (num4 & num3) <= data.Length) ? (-1069099770) : (-1069099745)); - break; - } - case 2: - num = (HasMagic(data, 12, 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(964728167)) ? (-1069099756) : (-1069099753)); - break; - } + sb.AppendLine(".lvb: missing or not LVB1/SCN1"); + return list; } + int num = 20 + BitConverter.ToInt32(data, 32); + if (num < 0 || num + 12 > data.Length) + { + sb.AppendLine(".lvb: layer-set folder offset out of range"); + return list; + } + int num2 = BitConverter.ToInt32(data, num + 4); + int num3 = num + 12; + bool flag = ((num2 < 0 || num2 > 4096) ? true : false); + StringBuilder stringBuilder; + IFormatProvider invariantCulture; + StringBuilder.AppendInterpolatedStringHandler handler; + if (flag || num3 + num2 * 28 > data.Length) + { + stringBuilder = sb; + StringBuilder stringBuilder2 = stringBuilder; + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider = invariantCulture; + handler = new StringBuilder.AppendInterpolatedStringHandler(34, 1, stringBuilder, invariantCulture); + handler.AppendLiteral(".lvb: implausible layer-set count "); + handler.AppendFormatted(num2); + stringBuilder2.AppendLine(provider, ref handler); + return list; + } + for (int i = 0; i < num2; i++) + { + int num4 = num3 + i * 28; + list.Add((BitConverter.ToUInt32(data, num4), BitConverter.ToUInt32(data, num4 + 12))); + } + stringBuilder = sb; + StringBuilder stringBuilder3 = stringBuilder; + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider2 = invariantCulture; + handler = new StringBuilder.AppendInterpolatedStringHandler(17, 1, stringBuilder, invariantCulture); + handler.AppendLiteral(".lvb: "); + handler.AppendFormatted(num2); + handler.AppendLiteral(" layer sets"); + stringBuilder3.AppendLine(provider2, ref handler); + return list; } - [MethodImpl(MethodImplOptions.NoInlining)] private static List> ParseLgbLayerSetReferences(byte[]? data) { List> list = new List>(); - int num = ((data == null) ? 539289198 : 539289203); - int num23 = default(int); - int num28 = default(int); - int num19 = default(int); - int num5 = default(int); - int num24 = default(int); - bool flag = default(bool); - List list3 = default(List); - int num8 = default(int); - int num11 = default(int); - int num7 = default(int); - while (true) + if (data == null || data.Length < 36 || !HasMagic(data, 0, "LGB1") || !HasMagic(data, 12, "LGP1")) { - int num2 = num; - int num3 = 539289210; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return list; + } + int num = 20 + BitConverter.ToInt32(data, 28); + int num2 = BitConverter.ToInt32(data, 32); + bool flag = ((num2 < 0 || num2 > 100000) ? true : false); + if (flag || num < 0 || num + num2 * 4 > data.Length) + { + return list; + } + for (int i = 0; i < num2; i++) + { + List list2 = new List(); + list.Add(list2); + int num3 = num + BitConverter.ToInt32(data, num + i * 4); + if (num3 < 0 || num3 + 36 > data.Length) { - case 23: - num = ((num23 < 0) ? 539289213 : 539289186); - break; - case 19: - { - int num27 = num28; - int num29 = num28; - num3 = 20; - num4 = num29; - int num30 = num4 ^ num3; - int num31 = num4 & num3; - num19 = num27 + _206B_202A_206F_206A_206A_206C_206C_206E_202A_200E_202E_206B_200F_200D_200F_206D_200F_200F_206E_206A_202A_202B_202E_202D_206D_200E_200F_206B_200F_206F_200F_202D_206A_202E_206E_202A_202A_202A_206F_200D_202E(data, num30 + (num31 + num31)); - num = ((num19 <= num28) ? 539289214 : 539289202); - break; + continue; } - case 4: + int num4 = num3 + BitConverter.ToInt32(data, num3 + 20); + if (num4 <= num3 || num4 + 12 > data.Length) { - int num34 = num5; - num3 = 1; - num4 = num34; - int num35 = num4 ^ num3; - int num36 = num4 & num3; - num5 = num35 + (num36 + num36); - num = 539289209; - break; + continue; } - case 9: - num = ((data.Length < 36) ? 539289198 : 539289211); - break; - case 25: - num = ((num24 <= 100000) ? 539289194 : 539289185); - break; - case 3: - num = ((num5 < num24) ? 539289206 : 539289201); - break; - case 15: - num = (flag ? 539289214 : 539289208); - break; - case 24: + int num5 = num4 + BitConverter.ToInt32(data, num4 + 4); + int num6 = BitConverter.ToInt32(data, num4 + 8); + flag = ((num6 < 1 || num6 > 4096) ? true : false); + if (!flag && num5 >= 0 && num5 + num6 * 4 <= data.Length) { - int num22 = num23; - num3 = num24 * 4; - num4 = num22; - int num25 = num4 ^ num3; - int num26 = num4 & num3; - num = ((num25 + (num26 + num26) <= data.Length) ? 539289200 : 539289213); - break; - } - case 12: - { - list3 = new List(); - list.Add(list3); - int num37 = num23; - int num38 = num23; - num3 = num5 * 4; - num4 = num38; - num28 = num37 + _206B_202A_206F_206A_206A_206C_206C_206E_202A_200E_202E_206B_200F_200D_200F_206D_200F_200F_206E_206A_202A_202B_202E_202D_206D_200E_200F_206B_200F_206F_200F_202D_206A_202E_206E_202A_202A_202A_206F_200D_202E(data, (num4 | num3) + (num4 & num3)); - num = ((num28 < 0) ? 539289214 : 539289192); - break; - } - case 17: - num = ((num8 <= 4096) ? 539289191 : 539289199); - break; - case 18: - { - int num32 = num28; - num3 = 36; - num4 = num32; - num = (((num4 | num3) + (num4 & num3) > data.Length) ? 539289214 : 539289193); - break; - } - case 1: - num = ((!HasMagic(data, 0, 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(-1621587450))) ? 539289198 : 539289210); - break; - case 29: - flag = false; - num = 539289205; - break; - case 14: - num11 = 0; - num = 539289212; - break; - case 21: - flag = true; - num = 539289205; - break; - case 22: - num = 539289203; - break; - case 0: - num = (HasMagic(data, 12, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1053193949)) ? 539289188 : 539289198); - break; - case 8: - { - int num33 = num19; - num3 = 12; - num4 = num33; - num = (((num4 | num3) + (num4 & num3) > data.Length) ? 539289214 : 539289190); - break; - } - case 2: - num = ((num7 < 0) ? 539289214 : 539289215); - break; - case 6: - num = ((num11 < num8) ? 539289184 : 539289214); - break; - case 30: - num23 = 20 + _206B_202A_206F_206A_206A_206C_206C_206E_202A_200E_202E_206B_200F_200D_200F_206D_200F_200F_206E_206A_202A_202B_202E_202D_206D_200E_200F_206B_200F_206F_200F_202D_206A_202E_206E_202A_202A_202A_206F_200D_202E(data, 28); - num24 = _206B_202A_206F_206A_206A_206C_206C_206E_202A_200E_202E_206B_200F_200D_200F_206D_200F_200F_206E_206A_202A_202B_202E_202D_206D_200E_200F_206B_200F_206F_200F_202D_206A_202E_206E_202A_202A_202A_206F_200D_202E(data, 32); - num = ((num24 < 0) ? 539289185 : 539289187); - break; - case 7: - return list; - case 28: - { - int num18 = num19; - int num20 = num19; - num3 = 4; - num4 = num20; - num7 = num18 + _206B_202A_206F_206A_206A_206C_206C_206E_202A_200E_202E_206B_200F_200D_200F_206D_200F_200F_206E_206A_202A_202B_202E_202D_206D_200E_200F_206B_200F_206F_200F_202D_206A_202E_206E_202A_202A_202A_206F_200D_202E(data, (num4 | num3) + (num4 & num3)); - int num21 = num19; - num3 = 8; - num4 = num21; - num8 = _206B_202A_206F_206A_206A_206C_206C_206E_202A_200E_202E_206B_200F_200D_200F_206D_200F_200F_206E_206A_202A_202B_202E_202D_206D_200E_200F_206B_200F_206F_200F_202D_206A_202E_206E_202A_202A_202A_206F_200D_202E(data, (num4 | num3) + (num4 & num3)); - num = ((num8 < 1) ? 539289199 : 539289195); - break; - } - case 26: - { - List list2 = list3; - int num12 = num7; - num3 = num11 * 4; - num4 = num12; - int num13 = num4 ^ num3; - int num14 = num4 & num3; - list2.Add(_202E_200F_202A_206A_206E_202C_206F_206F_200E_206C_200F_206E_202A_200F_202C_206F_200F_202A_206C_206B_202B_200D_206B_200B_200B_206B_206A_202D_200F_200B_202D_202D_202D_206D_206D_206F_202D_202D_200C_202A_202E(data, num13 + (num14 + num14))); - int num15 = num11; - num3 = 1; - num4 = num15; - int num16 = num4 ^ num3; - int num17 = num4 & num3; - num11 = num16 + (num17 + num17); - num = 539289212; - break; - } - case 27: - flag = true; - num = 539289207; - break; - case 11: - return list; - case 16: - flag = false; - num = 539289207; - break; - case 20: - return list; - case 5: - { - int num6 = num7; - num3 = num8 * 4; - num4 = num6; - int num9 = num4 ^ num3; - int num10 = num4 & num3; - num = ((num9 + (num10 + num10) > data.Length) ? 539289214 : 539289204); - break; - } - case 13: - num = (flag ? 539289213 : 539289197); - break; - case 10: - num5 = 0; - num = 539289209; - break; + for (int j = 0; j < num6; j++) + { + list2.Add(BitConverter.ToUInt32(data, num5 + j * 4)); + } } } + return list; } private static bool HasMagic(byte[] data, int at, string magic) { - int num = 0; - int num2 = -985267863; - while (true) + for (int i = 0; i < magic.Length; i++) { - int num3 = num2; - int num4 = -985267860; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + if (data[at + i] != (byte)magic[i]) { - case 5: - num2 = ((num < _202A_202A_200E_202C_202A_202B_200D_202B_206F_200D_206C_206A_206B_200D_202C_200F_200D_200D_200B_206B_206A_200F_206E_200E_202A_206D_200E_202B_206D_202B_202C_200D_202C_202B_202D_202C_202A_200F_202C_200E_202E(magic)) ? (-985267859) : (-985267864)); - break; - case 1: - num4 = num; - num5 = at; - num2 = ((data[(num5 | num4) + (num5 & num4)] == (byte)_206E_206A_202A_202A_206A_206C_200E_200C_200C_200D_206A_202A_206E_200E_206D_202E_202D_200C_200F_202A_202C_200B_200C_202D_206B_202D_206B_202B_206D_206C_206C_200F_202C_202C_200E_206A_206F_202A_200E_200D_202E(magic, num)) ? (-985267860) : (-985267858)); - break; - case 2: return false; - case 4: - return true; - case 3: - num2 = -985267863; - break; - case 0: - { - int num6 = num; - num4 = 1; - num5 = num6; - int num7 = num5 ^ num4; - int num8 = num5 & num4; - num = num7 + (num8 + num8); - num2 = -985267863; - break; - } } } + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] private string RunGuarded(Func probe) { try @@ -2276,379 +855,8 @@ internal sealed class DataProbesPanel } catch (Exception ex) { - _200D_200E_206B_206A_200C_200E_200E_202B_202A_202A_206B_200B_200C_206E_202E_206F_202E_206B_202D_206E_200B_202B_200C_200D_200D_200C_202D_200F_202A_200B_202E_200E_206D_202B_202C_202D_202A_206B_206E_206F_202E((ILogger)_logger, ex, 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(-1424876398), Array.Empty()); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(14, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-149691040)); - defaultInterpolatedStringHandler.AppendFormatted(ex); - return defaultInterpolatedStringHandler.ToStringAndClear(); + _logger.LogError(ex, "Data probe failed"); + return $"probe failed: {ex}"; } } - - [MethodImpl(MethodImplOptions.NoInlining)] - static DataProbesPanel() - { - JsonSerializerOptions jsonSerializerOptions = _200C_202E_202B_206C_202A_200C_206A_202A_206A_206F_200B_200D_200E_206E_202B_206F_200B_200B_206B_206C_202A_206D_206F_206D_206B_206A_200B_206B_206B_206B_206F_200D_202A_202D_202C_206B_200E_200E_206A_206F_202E(); - _206D_206C_206E_200B_202A_206E_206D_202B_206B_200B_206C_200F_200F_200E_200E_206A_202D_200E_202A_206A_200F_202B_202B_206B_206C_200F_206D_200E_202C_200D_202C_202E_206C_200D_200E_202B_200E_200E_202C_202E(jsonSerializerOptions, true); - IndentedJson = jsonSerializerOptions; - } - - static void _206E_202C_206B_202A_202A_206A_200E_206C_202C_202B_200F_206D_200E_206E_206F_202B_202A_206A_206B_202B_200C_202E_202E_206F_206C_202D_206F_202D_206A_200E_202D_206E_206B_200F_206A_206E_206E_206C_202E_202E_202E() - { - ImGui.Separator(); - } - - static void _206E_200E_200E_206D_206A_206E_206B_206E_202C_202B_202A_206C_200F_206E_202E_202E_202C_206B_202E_206B_206C_206F_200D_202B_200B_202C_200E_206D_200B_202B_202A_200B_202B_202A_206D_200B_206E_200D_200E_202A_202E() - { - ImGui.SameLine(); - } - - static bool _202E_206D_202D_202A_206D_206A_200E_200B_202E_202B_202B_206C_200B_202C_206B_206A_206D_202E_202B_202A_202B_202B_200E_206F_206E_200D_202E_206B_202A_202C_206D_200C_200D_200B_206D_200B_202A_202B_202A_200F_202E(ImU8String P_0, Vector2 P_1) - { - return ImGui.Button(P_0, P_1); - } - - static void _206F_200F_200D_206E_206B_200F_202A_200D_200F_202B_206C_202D_206F_200E_200B_206F_202B_206B_202E_206A_206E_200D_206A_200E_202C_206F_200C_200F_200E_206D_202D_202A_200E_206D_200B_202C_200C_202A_202A_206C_202E(ImU8String P_0) - { - ImGui.SetClipboardText(P_0); - } - - static ImRaii.ChildDisposable _206C_202C_200C_200F_206B_202D_202E_206C_202E_206F_202E_206B_206D_206F_206C_206D_206C_202A_202D_200C_202D_202D_202C_202B_202D_206C_202C_200B_202E_206B_200D_206F_202C_200E_206F_202C_202C_200E_206B_206E_202E(ImU8String P_0, Vector2 P_1, bool P_2) - { - return ImRaii.Child(P_0, P_1, P_2); - } - - static void _206A_202A_200D_206D_206F_206E_206A_200D_200D_202C_206F_206D_202C_206C_206C_206B_206C_206B_202A_200E_206D_206A_200E_200D_206E_200D_206F_206F_202A_200D_200B_202C_200D_206B_206A_200F_202D_200B_200C_206B_202E(ImU8String P_0) - { - ImGui.TextUnformatted(P_0); - } - - static bool _200D_202B_200B_206D_200C_202D_206C_206B_202A_206E_202B_200D_200E_200B_206F_206C_206A_202D_206E_206D_206C_200F_206F_206C_202A_206B_200B_206D_206B_200C_200E_202B_206C_206C_200C_202D_202D_200B_202D_206D_202E(ImU8String P_0, ImGuiTreeNodeFlags P_1) - { - return ImGui.CollapsingHeader(P_0, P_1); - } - - static void _202C_200D_202E_206B_206F_200D_202B_200E_206C_202C_200F_200F_200D_200D_200F_206C_200B_206B_200E_206C_200F_202B_202C_206E_202D_200B_200D_200E_202E_200B_200F_206D_202D_200C_206E_202E_206E_200F_202A_206E_202E(ImU8String P_0) - { - ImGui.TextWrapped(P_0); - } - - static StringBuilder _200C_200B_206F_206E_206D_206D_202E_206B_202B_202A_200E_200F_202B_206F_200D_200E_202A_206A_200C_200B_206C_206C_202A_206D_206C_202A_202C_202E_206C_206E_206C_206B_206B_206C_200C_202B_202B_200F_200B_202E_202E() - { - return new StringBuilder(); - } - - static NavGraph _206F_202D_206E_206E_202C_206F_206B_206B_206E_200F_200E_200C_206F_206A_202E_206C_202E_200E_202C_202A_206F_200F_206A_206C_202B_202B_202C_206D_206C_200F_202E_200C_202C_200C_202A_200D_202E_202A_200D_206D_202E(NavRouter P_0) - { - return P_0.StaticGraph; - } - - static IReadOnlyDictionary _202D_200E_206A_200F_206E_206F_200C_200E_206B_206B_206E_202B_202E_206F_200C_206C_206A_202B_200E_202C_200F_206B_200D_202C_206E_202B_200E_200C_202E_206F_200E_200B_202A_206B_202D_202B_200C_200E_202A_206E_202E(NavGraph P_0) - { - return P_0.Nodes; - } - - static IReadOnlyList _200F_206D_206B_206C_202B_206B_206E_200F_202C_202C_202C_206F_202C_200D_202D_200B_200B_206D_206F_202E_200D_206C_202A_206D_202D_202A_200F_206D_202A_206C_202E_202A_206A_202B_200C_206E_202C_200B_202C_202E_202E(WarpDataService P_0) - { - return P_0.Warps; - } - - static uint[] _206E_206E_206C_202C_202E_200B_206A_206E_206A_206B_200F_200C_206E_206D_206E_206D_206B_202A_206A_206B_200D_200C_206C_206F_200E_206E_202C_206D_200D_206C_202D_200C_200C_206A_200E_206E_206D_206F_200C_200C_202E(WarpDataService.WarpInfo P_0) - { - return P_0.RequiredQuestIds; - } - - static uint _206A_200E_200D_202B_206D_202B_206F_202D_202C_200F_206C_202C_206F_202E_200B_202C_200D_206B_202A_206A_200B_202B_200C_202D_206F_202C_206D_200E_202E_200C_200E_206E_200D_202D_200D_200E_202E_200B_206C_200E_202E(WarpDataService.WarpInfo P_0) - { - return P_0.RowId; - } - - static CultureInfo _202E_206C_202E_206C_200E_200E_206A_206B_202A_206E_200E_202A_206A_200F_206C_206A_202D_206F_202B_200B_202C_202B_202D_206D_200F_200B_202B_200D_200D_200C_200E_202A_200B_202B_202A_206C_206E_200E_200D_202E_202E() - { - return CultureInfo.InvariantCulture; - } - - static string _200E_206B_206D_202D_206E_206F_200D_206C_202D_206A_200C_202C_200C_200D_202B_202B_206F_200D_200E_206E_206B_206C_200E_202D_206B_206C_200E_200E_206A_202E_202D_202B_200E_206A_200C_200C_202D_200C_200C_200F_202E(WarpDataService.WarpInfo P_0) - { - return P_0.Name; - } - - static string _206F_200E_206B_202D_202B_202E_206F_200D_206B_202B_206C_206F_202B_202B_200F_206A_202A_206E_206A_202D_202B_200C_202C_202D_200F_206F_202D_202D_200D_206D_200C_206C_202B_206E_206A_206C_206C_206E_206E_202A_202E(WarpDataService.WarpInfo P_0) - { - return P_0.Question; - } - - static ushort _206C_206A_202A_206A_202E_200F_206F_202D_200C_200D_202C_200C_200C_206B_200C_206B_206F_202E_206E_200C_206A_200C_200D_202E_200C_202D_200B_206C_200C_202D_206F_206B_202B_202E_200D_202C_202D_202D_206D_202E(WarpDataService.WarpInfo P_0) - { - return P_0.DestTerritoryId; - } - - static StringBuilder _200B_200B_202E_202C_200D_202E_200C_206A_206B_206B_206A_202B_206B_206D_206C_202C_202B_200D_206A_200E_202A_206C_206D_202E_202D_206A_200F_200F_202A_202D_206A_206F_206A_200F_206A_202B_200E_202B_202D_202E_202E(StringBuilder P_0, IFormatProvider P_1, ref StringBuilder.AppendInterpolatedStringHandler P_2) - { - return P_0.AppendLine(P_1, ref P_2); - } - - static bool _206A_206D_200E_200B_202B_202D_200E_206A_200B_200B_202E_202E_202A_200B_206B_200E_202C_206F_200F_202D_206D_202A_206C_202A_206C_200D_200C_200E_200F_206B_206C_206F_206B_206F_202D_206C_206A_202A_206A_206C_202E(WarpDataService.WarpInfo P_0) - { - return P_0.RequireAllQuests; - } - - static ushort _206C_200F_206C_206D_202A_206A_206B_202A_202D_200E_206B_202E_202C_200C_206C_206F_202D_206D_202E_200E_206C_200C_200B_202C_206B_202B_206F_200C_202E_200D_202D_200D_206D_200C_206B_200E_206B_206C_206C_200F_202E(WarpDataService.WarpInfo P_0) - { - return P_0.SourceTerritoryId; - } - - static Vector3 _202E_200F_206B_206C_206E_202E_200C_206B_206A_200E_200C_200F_200B_206C_206F_200F_206A_200C_202E_202A_200C_200D_200C_200E_200E_200E_200E_200D_202D_200C_206F_206F_202B_202A_206C_200C_202D_206C_206F_206D_202E(WarpDataService.WarpInfo P_0) - { - return P_0.SourcePosition; - } - - static uint? _200C_206D_206F_200C_200D_200B_206A_200D_202C_200E_202C_202B_202A_200D_202B_206F_206B_206B_206F_206C_202A_200E_202C_200D_202D_206C_202B_206D_206E_206B_202A_206C_202D_200F_202D_202B_202E_206B_200B_206A_202E(WarpDataService.WarpInfo P_0) - { - return P_0.NpcDataId; - } - - static bool _206E_200C_206A_206A_200C_200E_206C_202B_206D_206E_206D_202E_202C_200B_206C_206D_200D_202D_202B_202B_200C_200D_200B_206A_200C_206D_202C_202E_202B_206F_206A_206B_206D_200C_206B_202E_206A_200E_206C_200E_202E(WarpDataService.WarpInfo P_0) - { - return P_0.DerivedSource; - } - - static bool _206A_200F_206D_206E_200B_206D_206D_200C_202A_202A_200D_206A_206F_202C_202A_200D_200F_200B_206E_200B_206E_202B_206D_200B_202C_202E_200B_206A_202D_206F_200F_206F_206D_206C_206F_206D_206D_202B_206D_202E_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202A_202C_202E_206A_200C_206D_206F_202C_202B_206D_206C_200D_202B_206B_200B_202D_200B_202B_200C_206D_202B_200E_202E_200D_206C_202A_200E_200C_206C_202B_206C_202C_202C_200E_202A_206D_202B_206E_206D_200D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static string _200F_200E_202E_206F_200B_202E_206C_206B_202C_200E_200F_206F_206E_202A_202A_200C_200F_200C_200B_202B_200B_206D_206D_206E_202B_200D_206B_202A_200B_206E_200E_200C_202A_200F_200B_200B_200F_202D_206B_206C_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _206A_206F_206B_200F_206F_200F_200F_202E_206F_206C_206C_202E_206F_202C_200F_202B_206D_202C_206A_202A_206C_200D_200D_206C_206E_202C_206C_202C_200F_206E_200C_206C_200E_206C_206C_206B_200B_200B_200C_202D_202E(ImU8String P_0, ref bool P_1) - { - return ImGui.Checkbox(P_0, ref P_1); - } - - static Vector3? _200D_206E_202D_206B_206B_206E_206E_200C_202B_206F_206C_200E_200B_202D_202D_202D_206E_202A_200B_202C_202D_206D_206C_206B_200F_202E_202E_206A_206C_206F_206A_206A_206C_202D_200C_206B_206C_206F_206E_206C_202E(WarpDataService.WarpInfo P_0) - { - return P_0.DestPosition; - } - - static bool _206D_202B_200C_206B_200D_206F_206F_200F_200B_202B_206B_200C_202E_206C_202D_200E_202A_200D_206A_202B_200E_206C_200C_200C_202A_206C_202D_202A_206C_200F_206D_206E_202A_206E_200C_200D_206F_200E_200E_206A_202E(WarpDataService.WarpInfo P_0) - { - return P_0.DerivedArrival; - } - - static string _202B_200B_202E_200C_202A_202C_206A_200D_206D_200E_206E_202C_202E_202E_200C_202A_206E_200C_206D_202E_206D_200D_202E_206F_206C_200B_200E_206F_202E_200E_206B_200C_206E_206B_202D_206F_200E_202A_206D_200F_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static string _200D_200B_202E_200D_202A_202B_206F_200F_202B_200D_200B_202C_200E_206F_202C_206D_206A_202A_206A_206D_206D_200E_206F_206C_206F_202C_202C_202B_200F_202D_200B_200D_206D_200B_202B_206C_206D_200F_206F_206E_202E(string P_0, IEnumerable P_1) - { - return string.Join(P_0, P_1); - } - - static StringBuilder _206D_200E_202C_206F_206D_202E_202C_206A_200B_200D_202B_202A_202E_202A_202D_202D_200D_206C_202A_202A_206F_202D_206D_202C_202C_206E_206C_202E_200D_202D_206C_206F_206D_206C_206E_200E_200E_200D_200B_202B_202E(StringBuilder P_0) - { - return P_0.AppendLine(); - } - - static int _200C_206B_200D_202A_202B_202A_206A_200C_206A_202B_202E_200C_206B_202D_200C_206D_206B_200D_206D_202B_202E_200B_206B_200E_202D_206C_202A_202B_200D_206A_206B_202B_206A_202C_206D_202B_200E_200C_202C_206E_202E(int P_0, int P_1) - { - return Math.Min(P_0, P_1); - } - - static bool _202B_200C_202C_206D_200B_200F_206E_206C_202A_200B_206B_200E_202A_202D_206A_206C_202C_206A_202A_200D_202B_202E_206C_200B_202C_206A_206D_202A_206F_200B_202E_206B_200D_200D_206D_200C_206B_202C_200B_200C_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static int _206B_202C_200D_202B_200B_202A_206F_200B_200C_200B_200C_200C_200B_200D_200B_206A_200C_200B_202B_200E_206C_206A_200B_206F_206B_202B_206E_206A_200F_202D_202A_200F_202B_206D_202E_200F_206F_200D_202E_200F_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.IndexOf(P_1, P_2); - } - - static string _202C_202E_206A_206F_206A_206D_200C_202B_206B_200C_206F_206B_202A_206D_202C_200C_200F_200F_202A_200D_206D_206E_202A_206F_206F_206B_200F_200C_206E_200C_202E_200F_200F_206E_206E_202A_206E_202E_206B_202D_202E(string P_0, int P_1, int P_2) - { - return P_0.Substring(P_1, P_2); - } - - static string _200F_206C_206B_202E_206B_206A_206C_202D_206F_202A_202E_206F_206F_206A_200E_200F_206E_206C_206D_202B_202C_202B_206C_206F_200D_206D_206E_200F_206F_202D_202E_200F_206B_200F_206F_202C_200E_200B_200D_206E_202E(string P_0, string P_1, string P_2, string P_3) - { - return P_0 + P_1 + P_2 + P_3; - } - - static LayerCommon.Layer[] _200F_202B_206B_202A_200F_200E_202B_206C_206A_206A_202D_200B_206B_206E_206F_200C_200E_202C_200C_200D_200B_200C_206A_206B_206E_202C_200C_202D_206B_200E_206A_206C_206F_206F_202D_206F_202C_200D_202D_206E_202E(LgbFile P_0) - { - return P_0.Layers; - } - - static void _202E_202D_202B_202C_200B_202A_206E_200C_200B_202A_206B_200D_206C_200C_206A_200E_202E_206E_202A_206F_206F_202E_206A_202B_202A_206C_200B_206C_202D_200D_206E_206A_202B_206B_202A_202A_206C_200E_202E_206C_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogTrace(P_1, P_2, P_3); - } - - static DirectoryInfo _202B_200F_206C_202E_202B_200C_200B_206B_200D_202A_200C_200B_202C_200B_202C_202B_200C_200F_202D_206E_206D_200F_202A_206B_200E_206D_202A_202C_206B_200D_206C_202C_206B_200D_200D_202E_202A_206D_202B_206A_202E(SmartNavDataOptions P_0) - { - return P_0.DevSourceDirectory; - } - - static void _202D_206C_202B_206F_200E_206C_206A_200F_200C_202E_200B_202B_202B_200B_202E_200D_200C_202D_202E_202D_200D_206F_200B_206E_206E_200C_206A_206E_200E_206F_206F_206D_202E_202A_202E_206B_200E_206A_200B_200F_202E(ImU8String P_0) - { - ImGui.TextDisabled(P_0); - } - - static DerivedArrivalEntry _202A_206F_206E_202E_200C_202B_202C_206B_202D_200E_202A_202A_200F_206F_206B_202E_206B_200D_202B_206B_202A_206F_200C_206B_202E_206E_206E_202B_200F_206E_202E_206A_200F_206D_202E_200B_202B_202D_202E_202D_202E() - { - return new DerivedArrivalEntry(); - } - - static void _206D_206B_202B_200F_202E_206D_202A_206C_202B_206B_202D_200B_206A_206B_202E_202C_202E_202A_200C_206F_200E_200D_202B_202E_200F_202B_200E_206F_206C_206A_202B_200B_200E_202C_202C_200D_206D_206D_206B_202E_202E(DerivedArrivalEntry P_0, uint P_1) - { - P_0.PopRangeId = P_1; - } - - static void _206F_202E_206A_202C_202D_206B_202D_206D_206A_206F_206F_202C_200F_202B_206F_206F_200E_206C_206E_206C_200B_206C_200C_202C_206A_202A_206F_206D_202E_202E_206E_202B_202B_202D_202A_200C_206F_202E_202C_200D_202E(DerivedArrivalEntry P_0, ushort P_1) - { - P_0.TerritoryId = P_1; - } - - static void _200D_200F_206A_200D_202A_202A_202B_200C_202B_202B_206F_202C_202A_206E_202A_206F_202C_200D_206C_200F_202A_200E_202A_206A_200B_206D_206B_200D_206E_206E_206F_206E_200C_200B_206B_202A_206C_200C_202E_200C_202E(DerivedArrivalEntry P_0, float P_1) - { - P_0.X = P_1; - } - - static void _200D_202A_202B_206A_200E_200C_202B_200B_202E_200E_206F_206A_206E_200E_206C_200B_206A_206A_200D_200D_200F_206A_206A_200F_200C_200D_206A_206C_206D_206C_202A_200B_206E_202D_202A_206F_202C_202E_206E_202E(DerivedArrivalEntry P_0, float P_1) - { - P_0.Y = P_1; - } - - static void _206F_202B_200E_200D_202E_200D_206D_206F_202C_206C_206F_200F_206F_206B_206E_200B_202A_206A_200E_200C_200B_206E_206D_206B_206A_200C_202C_200E_200F_200D_206A_200E_200C_202C_200B_200F_200C_206F_200C_200F_202E(DerivedArrivalEntry P_0, float P_1) - { - P_0.Z = P_1; - } - - static DerivedArrivalFile _206F_202E_200F_206F_200C_206D_206B_206B_200C_200C_202B_200B_206A_206C_206A_206B_206A_202A_206E_202A_206B_202C_202D_206C_202C_200B_206B_200F_206C_202C_206F_202C_200C_200F_202C_202B_206E_206F_200C_200D_202E() - { - return new DerivedArrivalFile(); - } - - static string _206D_202D_202E_200E_206B_202D_206F_202C_200E_202E_200B_206C_200F_202D_200F_200F_202E_206C_202D_200D_206A_206C_202D_200D_200C_202D_200F_206F_200F_202C_202A_200F_202D_200F_206B_200B_202C_202A_200F_202B_202E(SmartNavDataOptions P_0) - { - return P_0.GameVersion; - } - - static void _200F_206F_206E_206E_202B_206A_206E_206B_202B_206F_206A_200F_206D_200D_202B_206C_202B_200E_202C_206E_200E_206B_206C_200F_200C_206D_206D_206C_202E_200E_202A_206C_202B_202C_206C_200F_206E_200B_202A_202B_202E(DerivedArrivalFile P_0, string P_1) - { - P_0.GameVersion = P_1; - } - - static void _200F_200B_202E_206F_206A_206E_202D_200B_206F_200F_206C_202B_206F_206E_202C_200E_200E_206E_200C_202A_202C_200F_206E_202D_200C_202C_202C_202B_200C_202D_206D_200F_202A_202A_200F_200C_206F_206B_200B_206E_202E(DerivedArrivalFile P_0, Dictionary P_1) - { - P_0.Arrivals = P_1; - } - - static string _200E_206F_200E_202B_206E_202B_200F_206C_200C_206E_206C_206B_200F_202B_200F_206A_200F_206C_206C_206B_202D_202D_202E_202C_200E_200C_202D_200E_202A_200B_200D_202E_206A_206A_200E_206A_200D_202D_206F_202D_202E(FileSystemInfo P_0) - { - return P_0.FullName; - } - - static string _206C_200E_202C_206E_202A_202A_206D_206E_202B_200F_202A_202E_200F_200E_206B_206D_206F_202A_202C_206B_200C_202C_206C_200F_206D_200C_206F_202C_202A_206E_202E_202A_202A_202C_206E_206D_202E_200F_200E_202E_202E(string P_0, string P_1) - { - return Path.Combine(P_0, P_1); - } - - static void _206B_206C_200C_202B_200D_202C_200B_202E_200F_206C_200F_202B_206D_206E_202A_206C_206D_202E_206E_200B_206F_202E_202C_202C_206E_202D_200D_202B_200D_206B_202A_206D_206B_206A_206B_202C_202E_202D_200F_202B_202E(string P_0, string P_1) - { - File.WriteAllText(P_0, P_1); - } - - static StringBuilder _206E_202B_206C_200C_202E_202C_200B_206D_206C_200B_206A_202D_206C_206C_200F_202B_206E_206B_206C_200C_206A_200D_206C_202D_202C_200D_200E_202C_206F_202C_206E_206A_206E_202A_200E_202C_206E_206D_202B_200C_202E(StringBuilder P_0, string P_1) - { - return P_0.AppendLine(P_1); - } - - static string _202D_206B_202B_206F_202B_202B_200F_202E_206F_202A_206A_206E_206B_206B_206C_206A_200D_202C_202C_202E_206E_202D_200E_206E_206C_206C_200D_200D_200B_200E_200B_202E_206C_202B_206C_200E_200F_206F_200E_200D_202E(DerivedArrivalFile P_0) - { - return P_0.GameVersion; - } - - static void _202A_206B_202E_206C_202B_200B_200D_202B_206B_200F_206E_200F_200B_206D_206E_206B_202D_200F_206E_200B_202D_200F_200D_200B_202B_200E_206B_200D_200C_202E_206D_200C_202B_206D_200E_206A_206D_206E_202D_202E(float P_0) - { - ImGui.SetNextItemWidth(P_0); - } - - static bool _200C_202C_200C_206F_202A_202D_200F_206D_206D_200E_202B_200E_200B_206B_206E_206C_206A_200C_206F_200C_202E_200E_206C_206B_206B_202B_206D_206F_202B_206F_206E_206B_206E_202D_206C_202B_202C_202A_206A_202A_202E(ImU8String P_0, ref int P_1, int P_2, int P_3, ImU8String P_4, ImGuiInputTextFlags P_5) - { - return ImGui.InputInt(P_0, ref P_1, P_2, P_3, P_4, P_5); - } - - static uint _200B_206F_206B_206D_206C_202D_206E_200D_206C_202C_206F_202D_202E_206F_206B_200B_200E_206F_200F_200D_200D_202D_202B_200D_202B_206D_206F_206E_206A_206B_202E_202E_206A_202C_206E_202C_202E_206D_200B_202C_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static int _200E_200B_206C_206A_202B_206B_202D_202D_206A_200C_200F_200F_200C_202E_200B_206C_202C_206E_202A_206A_202D_206D_200D_206D_202E_202A_200F_200C_206B_200D_202D_202E_206B_202C_206A_200B_202B_202A_200C_206A_202E(string P_0, char P_1) - { - return P_0.LastIndexOf(P_1); - } - - static string _206A_206B_200D_200F_200E_206F_200E_202E_200D_206E_202C_202E_202A_206A_200C_202A_200D_206D_200C_202D_200C_206E_200D_202E_202E_202D_200D_202D_202C_206B_206D_200C_202E_202C_202B_200F_200C_206D_202A_200F_202E(string P_0, int P_1) - { - return P_0.Substring(P_1); - } - - static string _200C_200F_202E_206E_202C_206B_206C_202E_200B_206E_200C_206E_206B_200C_200D_206B_202C_200F_202E_202E_200C_206D_206C_206D_206E_202A_206E_202A_200C_206C_202B_206F_206A_206D_200C_200E_200B_200D_206C_206E_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static FileResource _206D_200B_202C_206C_200C_200C_206C_206B_206C_206D_202A_206E_200F_202C_202A_200C_206F_200D_202A_206B_200C_200E_202B_206A_206E_200B_202D_200E_206E_202A_202A_200F_200B_206A_206A_202D_206F_200D_200D_202E_202E(IDataManager P_0, string P_1) - { - return P_0.GetFile(P_1); - } - - static byte[] _202A_200B_200C_206C_202E_202B_202D_200B_206E_200F_206C_206C_202D_206E_200E_202A_202D_206F_200E_206C_202D_206A_206A_206F_202E_202D_200B_202D_206F_206D_202C_202B_206E_200F_202A_206E_200E_202D_206C_206E_202E(FileResource P_0) - { - return P_0.Data; - } - - static int _206B_202A_206F_206A_206A_206C_206C_206E_202A_200E_202E_206B_200F_200D_200F_206D_200F_200F_206E_206A_202A_202B_202E_202D_206D_200E_200F_206B_200F_206F_200F_202D_206A_202E_206E_202A_202A_202A_206F_200D_202E(byte[] P_0, int P_1) - { - return BitConverter.ToInt32(P_0, P_1); - } - - static uint _202E_200F_202A_206A_206E_202C_206F_206F_200E_206C_200F_206E_202A_200F_202C_206F_200F_202A_206C_206B_202B_200D_206B_200B_200B_206B_206A_202D_200F_200B_202D_202D_202D_206D_206D_206F_202D_202D_200C_202A_202E(byte[] P_0, int P_1) - { - return BitConverter.ToUInt32(P_0, P_1); - } - - static char _206E_206A_202A_202A_206A_206C_200E_200C_200C_200D_206A_202A_206E_200E_206D_202E_202D_200C_200F_202A_202C_200B_200C_202D_206B_202D_206B_202B_206D_206C_206C_200F_202C_202C_200E_206A_206F_202A_200E_200D_202E(string P_0, int P_1) - { - return P_0[P_1]; - } - - static int _202A_202A_200E_202C_202A_202B_200D_202B_206F_200D_206C_206A_206B_200D_202C_200F_200D_200D_200B_206B_206A_200F_206E_200E_202A_206D_200E_202B_206D_202B_202C_200D_202C_202B_202D_202C_202A_200F_202C_200E_202E(string P_0) - { - return P_0.Length; - } - - static void _200D_200E_206B_206A_200C_200E_200E_202B_202A_202A_206B_200B_200C_206E_202E_206F_202E_206B_202D_206E_200B_202B_200C_200D_200D_200C_202D_200F_202A_200B_202E_200E_206D_202B_202C_202D_202A_206B_206E_206F_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } - - static JsonSerializerOptions _200C_202E_202B_206C_202A_200C_206A_202A_206A_206F_200B_200D_200E_206E_202B_206F_200B_200B_206B_206C_202A_206D_206F_206D_206B_206A_200B_206B_206B_206B_206F_200D_202A_202D_202C_206B_200E_200E_206A_206F_202E() - { - return new JsonSerializerOptions(); - } - - static void _206D_206C_206E_200B_202A_206E_206D_202B_206B_200B_206C_200F_200F_200E_200E_206A_202D_200E_202A_206A_200F_202B_202B_206B_206C_200F_206D_200E_202C_200D_202C_202E_206C_200D_200E_202B_200E_200E_202C_202E(JsonSerializerOptions P_0, bool P_1) - { - P_0.WriteIndented = P_1; - } } diff --git a/Questionable/Questionable.Windows.SmartNavComponents/SubRegionMapPanel.cs b/Questionable/Questionable.Windows.SmartNavComponents/SubRegionMapPanel.cs index 80ddc15..9b889d9 100644 --- a/Questionable/Questionable.Windows.SmartNavComponents/SubRegionMapPanel.cs +++ b/Questionable/Questionable.Windows.SmartNavComponents/SubRegionMapPanel.cs @@ -1,13 +1,9 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Globalization; using System.Numerics; -using System.Runtime.CompilerServices; using System.Text.Json; using Dalamud.Bindings.ImGui; -using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Interface.Utility.Raii; using Dalamud.Plugin.Services; using LLib.ImGui; @@ -36,7 +32,7 @@ internal sealed class SubRegionMapPanel : IEditablePolygonSet public List Vertices = new List(); } - private static readonly uint[] SubRegionColors; + private static readonly uint[] SubRegionColors = new uint[8] { 1610612991u, 1610678016u, 1627332640u, 1610678271u, 1627324671u, 1627389696u, 1627357184u, 1619001599u }; private readonly MapTextureService _mapService; @@ -56,15 +52,15 @@ internal sealed class SubRegionMapPanel : IEditablePolygonSet { get { - return _206D_202A_202C_200B_206B_200E_202E_202B_206A_206D_206A_206B_200E_206E_200E_202B_206D_202E_206B_206F_206D_202C_206C_206D_200C_206F_206A_200D_202C_202D_202A_202B_202A_200B_206F_206A_200C_206E_206B_200F_202E(_editor); + return _editor.SelectedIndex; } set { - _206C_206E_202D_206A_206C_202D_200D_200E_202E_202C_200C_202A_206E_206E_202B_206B_206B_200B_206D_206D_202B_206F_206D_206D_202B_202C_206E_206B_200F_202B_202B_202A_206B_200E_206D_206F_206A_200F_200D_200C_202E(_editor, value); + _editor.SelectedIndex = value; } } - public bool IsDrawing => _200D_200C_206E_200F_206C_206F_200F_206F_206F_200E_200D_206C_202D_202A_200F_206A_200C_206D_206E_202B_200D_202A_200F_206C_202A_206A_202C_202A_202E_200E_206F_200C_202D_202D_206F_200F_202D_202A_200F_206D_202E(_editor); + public bool IsDrawing => _editor.IsDrawing; public IReadOnlyList SubRegions => _subRegions; @@ -72,8 +68,8 @@ internal sealed class SubRegionMapPanel : IEditablePolygonSet public SubRegionMapPanel(ITextureProvider textureProvider, IDataManager dataManager, ZoneSubRegionService zoneSubRegionService, IClientState clientState, IObjectTable objectTable, ILoggerFactory loggerFactory) { - _mapService = _200F_200B_200C_200B_202E_202E_200E_206D_206A_206F_202E_200E_206E_200D_202A_206E_206D_206A_202C_206E_202E_206E_202A_202A_202A_202E_200C_206F_200B_200C_200C_202C_206C_202A_202E_200C_202C_200C_200C_206D_202E(textureProvider, dataManager, loggerFactory.CreateLogger()); - _editor = _206A_200C_202C_206D_202B_202E_206D_206E_202C_200E_202E_206A_206E_206E_202C_206F_200C_206D_206E_202E_206B_202A_206A_206B_202A_202E_202B_202D_200E_206D_200D_200D_202B_206C_206F_200D_200D_206D_202A_202E_202E(_mapService); + _mapService = new MapTextureService(textureProvider, dataManager, loggerFactory.CreateLogger()); + _editor = new MapPolygonEditor(_mapService); _zoneSubRegionService = zoneSubRegionService; _clientState = clientState; _objectTable = objectTable; @@ -81,341 +77,133 @@ internal sealed class SubRegionMapPanel : IEditablePolygonSet public void Draw(JsonSerializerOptions jsonOptions) { - uint num = _200F_200F_206E_206A_202A_206E_202D_206A_202E_200F_200E_202A_200E_206B_202A_202E_202A_200B_206E_202E_202E_206D_200D_202A_206D_206A_200C_200C_202D_206E_206F_202C_200E_202C_206C_200B_206D_206A_206D_200E_202E(_clientState); - EnsureLoaded(num); - _202A_200C_200B_206A_206C_200E_202E_200D_206D_202E_200C_206C_202D_200D_206A_206F_206B_200B_202D_202B_202C_206E_206F_206B_206D_202B_206F_206D_200D_206D_202A_206D_200D_202A_206C_202B_200B_200F_200B_202D_202E(_mapService, num); + uint territoryType = _clientState.TerritoryType; + EnsureLoaded(territoryType); + _mapService.LoadForTerritory(territoryType); DrawToolbar(jsonOptions); - IPlayerCharacter playerCharacter = _206D_202D_206A_200E_200E_200C_206C_202D_202D_202B_200C_206C_206D_202B_202B_206F_200D_202E_206D_202C_202E_206D_200F_200E_202B_206E_202E_202C_202E_206C_200C_200D_206C_202B_202B_200F_200B_202D_200F_202E_202E(_objectTable); - Vector3? vector = ((playerCharacter != null) ? new Vector3?(_202B_202C_202B_206A_202A_206D_206E_200B_200C_206A_200C_202C_206E_200C_200D_202C_206F_202D_206A_202C_202A_206C_202E_206E_200B_200D_200B_200E_200E_200B_206F_206A_202C_202D_200F_206A_202D_206E_206B_206A_202E((IGameObject)playerCharacter)) : ((Vector3?)null)); - Vector2 vector2 = _202D_206F_202C_202A_200E_202C_200E_206B_200F_200F_206D_202C_200E_200B_206A_202C_200B_200D_200F_202A_200F_206C_206F_202B_200B_202A_200D_206E_206F_206E_200E_202A_206B_200B_202A_206F_200D_202D_206A_202E_202E(); - _202E_202C_206E_206E_202D_200F_206B_202B_200F_200F_200C_200D_200D_206B_202E_200B_202C_200E_200C_200E_202A_200F_206E_206B_202C_206E_200C_206F_200E_200D_200E_200D_200B_206D_202D_202B_202A_200C_200B_200C_202E(_editor, (IEditablePolygonSet)this, vector, (Vector2?)new Vector2(vector2.X, 500f)); + Vector3? playerPosition = _objectTable.LocalPlayer?.Position; + Vector2 contentRegionAvail = ImGui.GetContentRegionAvail(); + _editor.Draw(this, playerPosition, new Vector2(contentRegionAvail.X, 500f)); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawToolbar(JsonSerializerOptions jsonOptions) { - int num = ((!_200D_200C_206E_200F_206C_206F_200F_206F_206F_200E_200D_206C_202D_202A_200F_206A_200C_206D_206E_202B_200D_202A_200F_206C_202A_206A_202C_202A_202E_200E_206F_200C_202D_202D_206F_200F_202D_202A_200F_206D_202E(_editor)) ? 1130482468 : 1130482477); - while (true) + if (_editor.IsDrawing) { - int num2 = num; - int num3 = 1130482472; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + ImGui.TextColored(new Vector4(0.2f, 1f, 0.2f, 1f), "Drawing polygon... Click to add vertices. Close: click first vertex / Enter / double-click. Escape cancels."); + } + else + { + if (ImGui.Button("Draw Polygon")) { - case 9: - num = ((_206D_202A_202C_200B_206B_200E_202E_202B_206A_206D_206A_206B_200E_206E_200E_202B_206D_202E_206B_206F_206D_202C_206C_206D_200C_206F_206A_200D_202C_202D_202A_202B_202A_200B_206F_206A_200C_206E_206B_200F_202E(_editor) >= _subRegions.Count) ? 1130482472 : 1130482474); - break; - case 3: - if (_206D_202A_202C_200B_206B_200E_202E_202B_206A_206D_206A_206B_200E_206E_200E_202B_206D_202E_206B_206F_206D_202C_206C_206D_200C_206F_206A_200D_202C_202D_202A_202B_202A_200B_206F_206A_200C_206E_206B_200F_202E(_editor) >= 0) - { - num = 1130482479; - break; - } - return; - case 0: - _202B_202E_206B_206A_206A_202B_206C_206B_200E_202D_202D_202A_206F_200F_200C_206D_200B_200B_202C_200B_206F_200D_200E_200E_200F_206F_202E_206A_200F_206F_206F_202A_200F_200D_200F_202C_206C_202C_206E_200C_202E(); - num = ((!_206E_202B_202B_200E_202C_200D_200B_200F_202B_200C_200D_202A_202C_206B_206B_206C_206A_202B_200F_206A_206F_206D_206F_206B_206B_206F_206C_200B_206D_206B_202A_206C_206B_202B_202D_202D_200B_206B_206D_206E_202E((ImU8String)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(-1359524702), default(Vector2))) ? 1130482475 : 1130482467); - break; - case 2: - _202B_202E_206B_206A_206A_202B_206C_206B_200E_202D_202D_202A_206F_200F_200C_206D_200B_200B_202C_200B_206F_200D_200E_200E_200F_206F_202E_206A_200F_206F_206F_202A_200F_200D_200F_202C_206C_202C_206E_200C_202E(); - num = ((!_206E_202B_202B_200E_202C_200D_200B_200F_202B_200C_200D_202A_202C_206B_206B_206C_206A_202B_200F_206A_206F_206D_206F_206B_206B_206F_206C_200B_206D_206B_202A_206C_206B_202B_202D_202D_200B_206B_206D_206E_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1993568544), default(Vector2))) ? 1130482472 : 1130482478); - break; - case 4: - _202B_206D_206F_206D_200F_202B_202D_200B_206E_200D_206D_202A_202A_202A_202D_202A_206A_202C_200F_202E_206B_202D_200F_202A_202D_200B_200B_200C_206B_206B_206B_200D_206F_206C_202B_200D_200B_200E_202C_206F_202E(_editor); - num = 1130482466; - break; - case 14: - _200F_206E_202C_206B_206D_202D_200B_200C_200D_200F_200D_200B_200B_202E_206B_206A_206E_200B_200C_200F_206B_202B_202C_200F_202C_202E_202C_206C_206F_202C_206C_206D_200E_206F_206E_200D_202D_206C_200E_206E_202E(_editor); - num = 1130482473; - break; - case 8: - num = 1130482477; - break; - case 10: - num = ((_206D_202A_202C_200B_206B_200E_202E_202B_206A_206D_206A_206B_200E_206E_200E_202B_206D_202E_206B_206F_206D_202C_206C_206D_200C_206F_206A_200D_202C_202D_202A_202B_202A_200B_206F_206A_200C_206E_206B_200F_202E(_editor) < 0) ? 1130482472 : 1130482465); - break; - case 12: - num = ((!_206E_202B_202B_200E_202C_200D_200B_200F_202B_200C_200D_202A_202C_206B_206B_206C_206A_202B_200F_206A_206F_206D_206F_206B_206B_206F_206C_200B_206D_206B_202A_206C_206B_202B_202D_202D_200B_206B_206D_206E_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(180464762), default(Vector2))) ? 1130482473 : 1130482470); - break; - case 5: - { - Vector4 vector = new Vector4(0.2f, 1f, 0.2f, 1f); - _206B_202A_202A_202A_200F_206D_200C_202C_202A_206F_202B_202E_202B_202D_200B_202A_206B_202B_206F_202E_202E_200B_202C_206C_206A_202D_200D_200F_206E_200E_200D_202D_200E_202B_200B_200E_206F_206E_206E_202B_202E(ref vector, (ImU8String)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(-1293681033)); - num = 1130482475; - break; + _editor.StartDrawing(); } - case 7: - if (_206D_202A_202C_200B_206B_200E_202E_202B_206A_206D_206A_206B_200E_206E_200E_202B_206D_202E_206B_206F_206D_202C_206C_206D_200C_206F_206A_200D_202C_202D_202A_202B_202A_200B_206F_206A_200C_206E_206B_200F_202E(_editor) < _subRegions.Count) + ImGui.SameLine(); + if (ImGui.Button("Reset View")) + { + _editor.ResetView(); + } + if (_editor.SelectedIndex >= 0 && _editor.SelectedIndex < _subRegions.Count) + { + ImGui.SameLine(); + if (ImGui.Button("Delete Selected")) { - num = 1130482469; - break; + _subRegions.RemoveAt(_editor.SelectedIndex); + _editor.SelectedIndex = -1; } - return; - case 6: - _subRegions.RemoveAt(_206D_202A_202C_200B_206B_200E_202E_202B_206A_206D_206A_206B_200E_206E_200E_202B_206D_202E_206B_206F_206D_202C_206C_206D_200C_206F_206A_200D_202C_202D_202A_202B_202A_200B_206F_206A_200C_206E_206B_200F_202E(_editor)); - _206C_206E_202D_206A_206C_202D_200D_200E_202E_202C_200C_202A_206E_206E_202B_206B_206B_200B_206D_206D_202B_206F_206D_206D_202B_202C_206E_206B_200F_202B_202B_202A_206B_200E_206D_206F_206A_200F_200D_200C_202E(_editor, -1); - num = 1130482472; - break; - case 1: - _202B_202E_206B_206A_206A_202B_206C_206B_200E_202D_202D_202A_206F_200F_200C_206D_200B_200B_202C_200B_206F_200D_200E_200E_200F_206F_202E_206A_200F_206F_206F_202A_200F_200D_200F_202C_206C_202C_206E_200C_202E(); - num = ((!_206E_202B_202B_200E_202C_200D_200B_200F_202B_200C_200D_202A_202C_206B_206B_206C_206A_202B_200F_206A_206F_206D_206F_206B_206B_206F_206C_200B_206D_206B_202A_206C_206B_202B_202D_202D_200B_206B_206D_206E_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(504012849), default(Vector2))) ? 1130482466 : 1130482476); - break; - case 11: + } + ImGui.SameLine(); + if (ImGui.Button("Copy All JSON")) { TerritorySubRegions value = BuildTerritorySubRegions(); - _206A_200C_206E_200C_206E_206D_200B_200F_200E_202D_206F_200D_206A_202A_206C_206F_200C_206E_206E_200F_202E_200B_200F_200B_202A_200C_202A_206C_206F_206F_202B_202A_202C_206C_200C_206F_202A_202D_206B_200D_202E((ImU8String)JsonSerializer.Serialize(new Dictionary { [_200F_200F_206E_206A_202A_206E_202D_206A_202E_200F_200E_202A_200E_206B_202A_202E_202A_200B_206E_202E_202E_206D_200D_202A_206D_206A_200C_200C_202D_206E_206F_202C_200E_202C_206C_200B_206D_206A_206D_200E_202E(_clientState).ToString(_206B_206A_202D_206B_206C_206D_200D_206A_200F_206F_200E_206D_200F_202B_202B_202B_202B_200F_200B_206F_200E_202A_206E_200E_206D_202E_200F_206C_200B_206A_206F_206F_202C_202A_200B_206F_200C_200B_202E_206D_202E())] = value }, jsonOptions)); - num = 1130482475; - break; + ImGui.SetClipboardText(JsonSerializer.Serialize(new Dictionary { [_clientState.TerritoryType.ToString(CultureInfo.InvariantCulture)] = value }, jsonOptions)); } - case 13: + } + if (_editor.SelectedIndex >= 0 && _editor.SelectedIndex < _subRegions.Count) + { + EditableSubRegion editableSubRegion = _subRegions[_editor.SelectedIndex]; + ImGui.SetNextItemWidth(120f); + ImGui.InputText("ID##mapSr", ref editableSubRegion.Id, 64); + ImGui.SameLine(); + ImGui.SetNextItemWidth(200f); + ImGui.InputText("Comment##mapSr", ref editableSubRegion.Comment, 128); + ImGui.Checkbox("MinY##mapSrCb", ref editableSubRegion.HasMinY); + ImGui.SameLine(); + using (ImRaii.Disabled(!editableSubRegion.HasMinY)) { - EditableSubRegion editableSubRegion = _subRegions[_206D_202A_202C_200B_206B_200E_202E_202B_206A_206D_206A_206B_200E_206E_200E_202B_206D_202E_206B_206F_206D_202C_206C_206D_200C_206F_206A_200D_202C_202D_202A_202B_202A_200B_206F_206A_200C_206E_206B_200F_202E(_editor)]; - _202C_200D_202D_202D_202B_206D_206D_202A_206D_200D_202E_202A_206A_200D_206C_206F_200B_206B_200B_202C_202E_200D_206F_200D_206A_202A_206F_200E_202B_206C_206B_202D_206E_202C_202D_202A_200E_206E_202B_202A_202E(120f); - _206F_202E_202E_206D_202D_202D_200C_206D_200E_200D_206E_206F_206E_200C_202A_202D_206D_202A_202B_200F_200D_206A_206F_200F_206A_206C_200B_200D_206A_206F_206A_202D_206F_206C_202C_206C_206C_200E_202C_206E_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(903860016), ref editableSubRegion.Id, 64, ImGuiInputTextFlags.None, (ImGui.ImGuiInputTextCallbackDelegate)null); - _202B_202E_206B_206A_206A_202B_206C_206B_200E_202D_202D_202A_206F_200F_200C_206D_200B_200B_202C_200B_206F_200D_200E_200E_200F_206F_202E_206A_200F_206F_206F_202A_200F_200D_200F_202C_206C_202C_206E_200C_202E(); - _202C_200D_202D_202D_202B_206D_206D_202A_206D_200D_202E_202A_206A_200D_206C_206F_200B_206B_200B_202C_202E_200D_206F_200D_206A_202A_206F_200E_202B_206C_206B_202D_206E_202C_202D_202A_200E_206E_202B_202A_202E(200f); - _206F_202E_202E_206D_202D_202D_200C_206D_200E_200D_206E_206F_206E_200C_202A_202D_206D_202A_202B_200F_200D_206A_206F_200F_206A_206C_200B_200D_206A_206F_206A_202D_206F_206C_202C_206C_206C_200E_202C_206E_202E((ImU8String)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(443714605), ref editableSubRegion.Comment, 128, ImGuiInputTextFlags.None, (ImGui.ImGuiInputTextCallbackDelegate)null); - _202C_206C_200C_206D_202E_206E_206C_200E_200E_200F_206F_200F_200E_200B_206A_200B_206E_206B_206D_202A_202D_202D_202C_200E_200E_206E_200F_202C_202D_206A_202A_206E_206E_206A_200C_206A_200C_202A_200F_202D_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(603170616), ref editableSubRegion.HasMinY); - _202B_202E_206B_206A_206A_202B_206C_206B_200E_202D_202D_202A_206F_200F_200C_206D_200B_200B_202C_200B_206F_200D_200E_200E_200F_206F_202E_206A_200F_206F_206F_202A_200F_200D_200F_202C_206C_202C_206E_200C_202E(); - ImRaii.DisabledDisposable disabledDisposable = _202E_202B_206C_206A_200B_202A_200E_202A_202C_202D_206B_202B_206B_200F_202A_206F_200C_206A_206C_200B_200E_202D_206F_206F_206B_206A_206A_200D_206F_206D_200E_206C_202A_206B_200C_206B_206A_206E_206B_200F_202E(!editableSubRegion.HasMinY); - try - { - _202C_200D_202D_202D_202B_206D_206D_202A_206D_200D_202E_202A_206A_200D_206C_206F_200B_206B_200B_202C_202E_200D_206F_200D_206A_202A_206F_200E_202B_206C_206B_202D_206E_202C_202D_202A_200E_206E_202B_202A_202E(80f); - _200C_206B_202B_202E_202E_206E_206A_206F_200F_206A_200F_202D_202C_206E_200C_206B_206D_202B_206D_206F_206A_200F_200D_200E_202E_202D_206E_200B_206F_202D_206F_206C_202C_202E_206B_206D_206B_206B_206D_202E_202E((ImU8String)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(-638196181), ref editableSubRegion.MinYEdit, 0f, 0f, (ImU8String)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(1656820756), ImGuiInputTextFlags.None); - } - finally - { - num = ((disabledDisposable == null) ? (-1556122522) : (-1556122523)); - while (true) - { - int num7 = num; - num3 = -1556122521; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - goto end_IL_0415; - case 2: - _200F_202B_202C_206E_200E_200C_202C_202B_200E_202C_202B_202A_202E_206F_206B_202D_202B_206E_200B_202A_202B_200F_206E_202E_206D_202C_200E_202B_202E_202B_206F_200F_202C_202D_202D_200C_200B_202C_206A_206A_202E((IDisposable)disabledDisposable); - num = -1556122522; - break; - case 0: - num = -1556122523; - break; - } - continue; - end_IL_0415: - break; - } - } - _202B_202E_206B_206A_206A_202B_206C_206B_200E_202D_202D_202A_206F_200F_200C_206D_200B_200B_202C_200B_206F_200D_200E_200E_200F_206F_202E_206A_200F_206F_206F_202A_200F_200D_200F_202C_206C_202C_206E_200C_202E(); - _202C_206C_200C_206D_202E_206E_206C_200E_200E_200F_206F_200F_200E_200B_206A_200B_206E_206B_206D_202A_202D_202D_202C_200E_200E_206E_200F_202C_202D_206A_202A_206E_206E_206A_200C_206A_200C_202A_200F_202D_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1443053569), ref editableSubRegion.HasMaxY); - _202B_202E_206B_206A_206A_202B_206C_206B_200E_202D_202D_202A_206F_200F_200C_206D_200B_200B_202C_200B_206F_200D_200E_200E_200F_206F_202E_206A_200F_206F_206F_202A_200F_200D_200F_202C_206C_202C_206E_200C_202E(); - disabledDisposable = _202E_202B_206C_206A_200B_202A_200E_202A_202C_202D_206B_202B_206B_200F_202A_206F_200C_206A_206C_200B_200E_202D_206F_206F_206B_206A_206A_200D_206F_206D_200E_206C_202A_206B_200C_206B_206A_206E_206B_200F_202E(!editableSubRegion.HasMaxY); - try - { - _202C_200D_202D_202D_202B_206D_206D_202A_206D_200D_202E_202A_206A_200D_206C_206F_200B_206B_200B_202C_202E_200D_206F_200D_206A_202A_206F_200E_202B_206C_206B_202D_206E_202C_202D_202A_200E_206E_202B_202A_202E(80f); - _200C_206B_202B_202E_202E_206E_206A_206F_200F_206A_200F_202D_202C_206E_200C_206B_206D_202B_206D_206F_206A_200F_200D_200E_202E_202D_206E_200B_206F_202D_206F_206C_202C_202E_206B_206D_206B_206B_206D_202E_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1904850216), ref editableSubRegion.MaxYEdit, 0f, 0f, (ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(215040021), ImGuiInputTextFlags.None); - return; - } - finally - { - num = ((disabledDisposable == null) ? 142964769 : 142964770); - while (true) - { - int num8 = num; - num3 = 142964771; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 0: - num = 142964770; - break; - case 1: - _200F_202B_202C_206E_200E_200C_202C_202B_200E_202C_202B_202A_202E_206F_206B_202D_202B_206E_200B_202A_202B_200F_206E_202E_206D_202C_200E_202B_202E_202B_206F_200F_202C_202D_202D_200C_200B_202C_206A_206A_202E((IDisposable)disabledDisposable); - num = 142964769; - break; - case 2: - goto end_IL_04fc; - } - continue; - end_IL_04fc: - break; - } - } + ImGui.SetNextItemWidth(80f); + ImGui.InputFloat("##minY", ref editableSubRegion.MinYEdit, 0f, 0f, "%.1f"); } + ImGui.SameLine(); + ImGui.Checkbox("MaxY##mapSrCb", ref editableSubRegion.HasMaxY); + ImGui.SameLine(); + using (ImRaii.Disabled(!editableSubRegion.HasMaxY)) + { + ImGui.SetNextItemWidth(80f); + ImGui.InputFloat("##maxY", ref editableSubRegion.MaxYEdit, 0f, 0f, "%.1f"); } } } private void EnsureLoaded(uint territory) { - int num = ((territory != _loadedTerritory) ? 602582905 : 602582908); - IReadOnlyList readOnlyList = default(IReadOnlyList); - while (true) + if (territory == _loadedTerritory) { - int num2 = num; - int num3 = 602582909; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + _loadedTerritory = territory; + _subRegions.Clear(); + _editor.SelectedIndex = -1; + if (!_zoneSubRegionService.HasSubRegions(territory)) + { + return; + } + IReadOnlyList subRegions = _zoneSubRegionService.GetSubRegions(territory); + if (subRegions == null) + { + return; + } + foreach (SubRegionDefinition item in subRegions) + { + List list = new List(item.Vertices.Count); + foreach (SubRegionVertex vertex in item.Vertices) { - case 4: - _loadedTerritory = territory; - _subRegions.Clear(); - _206C_206E_202D_206A_206C_202D_200D_200E_202E_202C_200C_202A_206E_206E_202B_206B_206B_200B_206D_206D_202B_206F_206D_206D_202B_202C_206E_206B_200F_202B_202B_202A_206B_200E_206D_206F_206A_200F_200D_200C_202E(_editor, -1); - num = (_200C_200F_206E_200E_202E_202D_202C_206E_200B_206F_200B_202A_200F_206F_202B_202B_200C_206E_200C_206C_202A_206A_206D_206C_200D_206B_206A_206A_202B_200E_202E_202A_206C_206F_200E_202E_206F_206B_206E_200C_202E(_zoneSubRegionService, territory) ? 602582911 : 602582907); - break; - case 5: - return; - case 2: - readOnlyList = _202D_202D_206B_200C_200E_206A_206F_206F_202E_200E_200E_206E_206B_200E_202A_200C_202D_206F_200F_202D_202C_202B_202E_206B_206D_202C_200F_206A_200E_202B_200E_206E_202D_206E_202B_206D_206B_202D_206A_206B_202E(_zoneSubRegionService, territory); - num = ((readOnlyList != null) ? 602582910 : 602582904); - break; - case 1: - return; - case 0: - num = 602582908; - break; - case 6: - return; - case 3: + list.Add(new Vector2(vertex.X, vertex.Z)); + } + _subRegions.Add(new EditableSubRegion { - IEnumerator enumerator = readOnlyList.GetEnumerator(); - try - { - while (_202E_200F_206B_206F_200B_200D_206F_206F_206B_200E_200E_206F_202A_200C_202B_206E_206D_200E_200D_200F_206E_200B_206F_206F_200E_202A_200D_206A_206B_200D_200C_202E_202C_200C_202D_200E_202A_206E_200E_206C_202E((IEnumerator)enumerator)) - { - SubRegionDefinition current = enumerator.Current; - List list = new List(_206F_206F_200E_202A_202C_200F_202C_202D_200E_202C_206C_202D_206A_200D_202B_206A_202C_202C_200E_200E_200F_200E_200B_206B_202A_202E_206E_202C_202A_206D_206B_206B_200C_202D_206E_206E_206C_200C_200E_206A_202E(current).Count); - using (List.Enumerator enumerator2 = _206F_206F_200E_202A_202C_200F_202C_202D_200E_202C_206C_202D_206A_200D_202B_206A_202C_202C_200E_200E_200F_200E_200B_206B_202A_202E_206E_202C_202A_206D_206B_206B_200C_202D_206E_206E_206C_200C_200E_206A_202E(current).GetEnumerator()) - { - num = -1601570559; - while (true) - { - int num7 = num; - num3 = -1601570560; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - num = (enumerator2.MoveNext() ? (-1601570557) : (-1601570558)); - break; - case 3: - { - SubRegionVertex current2 = enumerator2.Current; - list.Add(new Vector2(_206B_206C_206D_200F_206C_206E_206B_206B_202B_206E_206B_206F_200E_202D_206F_206D_202D_206C_200B_200D_202A_202D_206D_200C_202C_200D_206D_200F_200D_202A_206E_206E_206C_206F_206C_202A_200B_206B_200E_206A_202E(current2), _200B_206B_206B_206D_202C_200C_200F_200D_202B_200F_200B_206D_206B_202C_200F_200C_202D_202E_200D_200D_202C_202A_206F_202D_206A_202D_200D_202E_200B_206B_206C_200B_200C_206A_202A_202C_206D_202B_206F_202E_202E(current2))); - num = -1601570559; - break; - } - case 0: - num = -1601570559; - break; - case 2: - goto end_IL_0120; - } - continue; - end_IL_0120: - break; - } - } - _subRegions.Add(new EditableSubRegion - { - Id = _200B_200E_200C_206D_200D_202D_202B_202D_200D_202D_200D_200C_206F_206E_206C_200E_202D_200F_202A_206C_202E_206F_200D_206F_200B_200F_206C_200E_206F_200C_206D_200E_202C_206E_202D_200C_202D_206D_206E_206F_202E(current), - Comment = (_206A_200C_200F_202B_206A_202E_200F_202B_200E_202A_202E_202C_200B_202B_202D_206B_206B_206F_202A_200C_202D_200D_200E_202A_206E_200E_206D_202E_206F_202C_202E_206D_202A_202A_202E_202A_206D_206C_200E_202E(current) ?? string.Empty), - MinYEdit = _206A_200E_200C_202E_200F_206F_206A_202D_202A_206A_206E_200E_202A_200D_206B_206A_200D_200D_200F_200E_200E_200F_200F_200F_202B_200C_202E_206D_200D_202A_206A_206E_202D_202C_202E_200F_200C_206B_206A_200F_202E(current).GetValueOrDefault(), - MaxYEdit = _206E_200D_200B_206E_206B_200E_202E_206B_202C_206B_200B_200C_206A_206D_200F_202A_206C_200E_206B_206A_200B_206C_206A_206C_206D_206E_200D_206E_206B_206A_200D_200D_200C_200E_206E_206D_202A_206F_202B_206B_202E(current).GetValueOrDefault(), - HasMinY = _206A_200E_200C_202E_200F_206F_206A_202D_202A_206A_206E_200E_202A_200D_206B_206A_200D_200D_200F_200E_200E_200F_200F_200F_202B_200C_202E_206D_200D_202A_206A_206E_202D_202C_202E_200F_200C_206B_206A_200F_202E(current).HasValue, - HasMaxY = _206E_200D_200B_206E_206B_200E_202E_206B_202C_206B_200B_200C_206A_206D_200F_202A_206C_200E_206B_206A_200B_206C_206A_206C_206D_206E_200D_206E_206B_206A_200D_200D_200C_200E_206E_206D_202A_206F_202B_206B_202E(current).HasValue, - Vertices = list - }); - } - return; - } - finally - { - num = ((enumerator == null) ? 1148789803 : 1148789800); - while (true) - { - int num8 = num; - num3 = 1148789802; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - goto end_IL_027e; - case 2: - _200F_202B_202C_206E_200E_200C_202C_202B_200E_202C_202B_202A_202E_206F_206B_202D_202B_206E_200B_202A_202B_200F_206E_202E_206D_202C_200E_202B_202E_202B_206F_200F_202C_202D_202D_200C_200B_202C_206A_206A_202E((IDisposable)enumerator); - num = 1148789803; - break; - case 0: - num = 1148789800; - break; - } - continue; - end_IL_027e: - break; - } - } - } - } + Id = item.Id, + Comment = (item.Comment ?? string.Empty), + MinYEdit = item.MinY.GetValueOrDefault(), + MaxYEdit = item.MaxY.GetValueOrDefault(), + HasMinY = item.MinY.HasValue, + HasMaxY = item.MaxY.HasValue, + Vertices = list + }); } } public TerritorySubRegions BuildTerritorySubRegions() { - TerritorySubRegions territorySubRegions = _202E_206E_206B_206F_206E_206F_202E_200B_206D_206C_200B_200F_206B_206C_206E_206D_206C_206B_200E_202B_206E_206A_200D_202C_206D_200F_206B_200E_202D_206D_202D_206F_206A_206E_200D_200D_200C_200D_200B_202A_202E(); + TerritorySubRegions territorySubRegions = new TerritorySubRegions(); foreach (EditableSubRegion subRegion in _subRegions) { - SubRegionDefinition subRegionDefinition = _200D_206B_202E_206A_200C_206D_206C_206E_206D_206D_202B_206A_206D_200C_200F_206D_202E_206B_200E_202D_202E_206E_200E_200F_200B_202D_200C_202C_200D_206E_202B_200C_200F_200E_206A_202E_200D_200E_206F_200D_202E(); - _200B_202E_202A_202E_202A_202C_200C_206D_200E_206E_206B_206C_200D_202C_206A_202B_202E_206E_202B_206C_202D_202E_200C_200B_202E_200E_202B_200E_200E_202B_206C_202D_202B_200B_202C_202D_202E_202A_202E_206C_202E(subRegionDefinition, subRegion.Id); - _206B_202B_200E_200B_200C_200E_206B_202C_206A_202E_206A_200C_206D_202D_206A_202E_206F_200E_200F_206E_206F_202E_200F_206F_202C_200F_200C_206F_200C_206C_200F_200D_200B_200C_206B_206A_206E_206A_200C_206D_202E(subRegionDefinition, _206B_202A_202A_206B_206A_206A_200F_206E_206C_206B_202A_200B_202C_200C_202D_202D_202D_206C_206C_202A_206E_200B_206B_202D_200C_202A_200D_206A_202E_206D_200E_200F_202D_206E_206F_200D_202D_202E_200B_202D_202E(subRegion.Comment) ? null : subRegion.Comment); - _206E_202D_206C_200E_200C_206A_206D_206F_202A_206A_202D_202D_202C_202B_206E_206D_206D_206F_206C_206C_200F_202B_206F_206D_206A_206F_200E_200D_206F_200D_206C_202B_202A_206F_200F_200F_202C_206C_200E_206D_202E(subRegionDefinition, subRegion.HasMinY ? new float?(subRegion.MinYEdit) : ((float?)null)); - _202A_206E_200D_200C_200F_202D_202B_202E_206D_202C_202B_202E_206B_206B_206F_200C_202A_206F_202D_206A_200E_200D_206F_206E_202E_200B_200D_206C_206B_206C_206A_200F_202A_200E_206E_202C_200B_200C_206C_202E_202E(subRegionDefinition, subRegion.HasMaxY ? new float?(subRegion.MaxYEdit) : ((float?)null)); - SubRegionDefinition subRegionDefinition2 = subRegionDefinition; - using (List.Enumerator enumerator2 = subRegion.Vertices.GetEnumerator()) + SubRegionDefinition subRegionDefinition = new SubRegionDefinition { - int num = 1937551110; - while (true) + Id = subRegion.Id, + Comment = (string.IsNullOrEmpty(subRegion.Comment) ? null : subRegion.Comment), + MinY = (subRegion.HasMinY ? new float?(subRegion.MinYEdit) : ((float?)null)), + MaxY = (subRegion.HasMaxY ? new float?(subRegion.MaxYEdit) : ((float?)null)) + }; + foreach (Vector2 vertex in subRegion.Vertices) + { + subRegionDefinition.Vertices.Add(new SubRegionVertex { - int num2 = num; - int num3 = 1937551108; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1937551110; - break; - case 1: - { - Vector2 current2 = enumerator2.Current; - List list = _206F_206F_200E_202A_202C_200F_202C_202D_200E_202C_206C_202D_206A_200D_202B_206A_202C_202C_200E_200E_200F_200E_200B_206B_202A_202E_206E_202C_202A_206D_206B_206B_200C_202D_206E_206E_206C_200C_200E_206A_202E(subRegionDefinition2); - SubRegionVertex subRegionVertex = _202C_202E_206C_206D_200D_200F_206D_206D_206B_200D_200E_206E_206B_206F_202A_200F_206A_200D_202A_206C_200E_206C_200E_200E_206A_206D_206C_200F_206F_206F_202D_200F_202E_200D_200D_200D_202C_206A_206D_202D_202E(); - _206E_200B_202B_200E_206E_200C_206E_206E_200C_206B_202D_206E_206C_202C_202C_200C_200E_202D_206E_200D_206C_200D_202A_200F_202B_200D_202D_200B_200F_202C_200E_200F_206F_202E_206F_206D_206A_206D_206A_202C_202E(subRegionVertex, _202A_206B_206D_202B_202C_200C_202C_202C_200E_206C_206F_206F_200C_202E_202A_202C_200D_206F_200E_202D_200B_202E_202B_206E_202C_206E_200C_206B_200F_200C_206A_202D_202C_200C_202A_206B_206D_200B_206D_202C_202E(current2.X, 1)); - _200F_202C_202C_200C_202A_200B_206F_206E_202B_200D_206D_200B_200C_202D_206B_206B_202E_202C_206B_200C_202E_202C_202D_202D_206C_206E_200B_206A_202C_206C_206F_202A_206E_200F_202D_202B_202B_206E_200D_206A_202E(subRegionVertex, _202A_206B_206D_202B_202C_200C_202C_202C_200E_206C_206F_206F_200C_202E_202A_202C_200D_206F_200E_202D_200B_202E_202B_206E_202C_206E_200C_206B_200F_200C_206A_202D_202C_200C_202A_206B_206D_200B_206D_202C_202E(current2.Y, 1)); - list.Add(subRegionVertex); - num = 1937551110; - break; - } - case 2: - num = (enumerator2.MoveNext() ? 1937551109 : 1937551111); - break; - case 3: - goto end_IL_00c2; - } - continue; - end_IL_00c2: - break; - } + X = MathF.Round(vertex.X, 1), + Z = MathF.Round(vertex.Y, 1) + }); } - _200D_200F_202C_206F_200D_200E_206B_206D_206F_206D_202A_200B_200B_200C_200B_202E_202D_206E_206F_206E_200F_206A_200E_200C_200B_202A_202D_206E_202E_202E_202B_202B_200C_200B_202A_206C_202D_202A_200B_200F_202E(territorySubRegions).Add(subRegionDefinition2); + territorySubRegions.SubRegions.Add(subRegionDefinition); } return territorySubRegions; } @@ -423,64 +211,9 @@ internal sealed class SubRegionMapPanel : IEditablePolygonSet public void ImportVertices(IReadOnlyList vertices, string id, string comment) { List list = new List(vertices.Count); - IEnumerator enumerator = vertices.GetEnumerator(); - try + foreach (SubRegionVertex vertex in vertices) { - int num = 69252025; - while (true) - { - int num2 = num; - int num3 = 69252027; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 69252025; - break; - case 2: - num = (_202E_200F_206B_206F_200B_200D_206F_206F_206B_200E_200E_206F_202A_200C_202B_206E_206D_200E_200D_200F_206E_200B_206F_206F_200E_202A_200D_206A_206B_200D_200C_202E_202C_200C_202D_200E_202A_206E_200E_206C_202E((IEnumerator)enumerator) ? 69252026 : 69252024); - break; - case 1: - { - SubRegionVertex current = enumerator.Current; - list.Add(new Vector2(_206B_206C_206D_200F_206C_206E_206B_206B_202B_206E_206B_206F_200E_202D_206F_206D_202D_206C_200B_200D_202A_202D_206D_200C_202C_200D_206D_200F_200D_202A_206E_206E_206C_206F_206C_202A_200B_206B_200E_206A_202E(current), _200B_206B_206B_206D_202C_200C_200F_200D_202B_200F_200B_206D_206B_202C_200F_200C_202D_202E_200D_200D_202C_202A_206F_202D_206A_202D_200D_202E_200B_206B_206C_200B_200C_206A_202A_202C_206D_202B_206F_202E_202E(current))); - num = 69252025; - break; - } - case 3: - goto end_IL_001e; - } - continue; - end_IL_001e: - break; - } - } - finally - { - int num = ((enumerator == null) ? (-1889023952) : (-1889023949)); - while (true) - { - int num7 = num; - int num3 = -1889023950; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_00c5; - case 1: - _200F_202B_202C_206E_200E_200C_202C_202B_200E_202C_202B_202A_202E_206F_206B_202D_202B_206E_200B_202A_202B_200F_206E_202E_206D_202C_200E_202B_202E_202B_206F_200F_202C_202D_202D_200C_200B_202C_206A_206A_202E((IDisposable)enumerator); - num = -1889023952; - break; - case 0: - num = -1889023949; - break; - } - continue; - end_IL_00c5: - break; - } + list.Add(new Vector2(vertex.X, vertex.Z)); } _subRegions.Add(new EditableSubRegion { @@ -488,63 +221,26 @@ internal sealed class SubRegionMapPanel : IEditablePolygonSet Comment = comment, Vertices = list }); - _206C_206E_202D_206A_206C_202D_200D_200E_202E_202C_200C_202A_206E_206E_202B_206B_206B_200B_206D_206D_202B_206F_206D_206D_202B_202C_206E_206B_200F_202B_202B_202A_206B_200E_206D_206F_206A_200F_200D_200C_202E(_editor, _subRegions.Count - 1); + _editor.SelectedIndex = _subRegions.Count - 1; } public List ExportSelectedVertices() { - int num = ((_206D_202A_202C_200B_206B_200E_202E_202B_206A_206D_206A_206B_200E_206E_200E_202B_206D_202E_206B_206F_206D_202C_206C_206D_200C_206F_206A_200D_202C_202D_202A_202B_202A_200B_206F_206A_200C_206E_206B_200F_202E(_editor) < 0) ? (-1813143708) : (-1813143705)); - while (true) + if (_editor.SelectedIndex < 0 || _editor.SelectedIndex >= _subRegions.Count) { - int num2 = num; - int num3 = -1813143707; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = -1813143705; - break; - case 1: - return new List(); - case 2: - num = ((_206D_202A_202C_200B_206B_200E_202E_202B_206A_206D_206A_206B_200E_206E_200E_202B_206D_202E_206B_206F_206D_202C_206C_206D_200C_206F_206A_200D_202C_202D_202A_202B_202A_200B_206F_206A_200C_206E_206B_200F_202E(_editor) < _subRegions.Count) ? (-1813143707) : (-1813143708)); - break; - case 0: - { - EditableSubRegion editableSubRegion = _subRegions[_206D_202A_202C_200B_206B_200E_202E_202B_206A_206D_206A_206B_200E_206E_200E_202B_206D_202E_206B_206F_206D_202C_206C_206D_200C_206F_206A_200D_202C_202D_202A_202B_202A_200B_206F_206A_200C_206E_206B_200F_202E(_editor)]; - List list = new List(editableSubRegion.Vertices.Count); - using List.Enumerator enumerator = editableSubRegion.Vertices.GetEnumerator(); - num = -1223739112; - while (true) - { - int num5 = num; - num3 = -1223739111; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - num = (enumerator.MoveNext() ? (-1223739109) : (-1223739111)); - break; - case 2: - { - Vector2 current = enumerator.Current; - SubRegionVertex subRegionVertex = _202C_202E_206C_206D_200D_200F_206D_206D_206B_200D_200E_206E_206B_206F_202A_200F_206A_200D_202A_206C_200E_206C_200E_200E_206A_206D_206C_200F_206F_206F_202D_200F_202E_200D_200D_200D_202C_206A_206D_202D_202E(); - _206E_200B_202B_200E_206E_200C_206E_206E_200C_206B_202D_206E_206C_202C_202C_200C_200E_202D_206E_200D_206C_200D_202A_200F_202B_200D_202D_200B_200F_202C_200E_200F_206F_202E_206F_206D_206A_206D_206A_202C_202E(subRegionVertex, _202A_206B_206D_202B_202C_200C_202C_202C_200E_206C_206F_206F_200C_202E_202A_202C_200D_206F_200E_202D_200B_202E_202B_206E_202C_206E_200C_206B_200F_200C_206A_202D_202C_200C_202A_206B_206D_200B_206D_202C_202E(current.X, 1)); - _200F_202C_202C_200C_202A_200B_206F_206E_202B_200D_206D_200B_200C_202D_206B_206B_202E_202C_206B_200C_202E_202C_202D_202D_206C_206E_200B_206A_202C_206C_206F_202A_206E_200F_202D_202B_202B_206E_200D_206A_202E(subRegionVertex, _202A_206B_206D_202B_202C_200C_202C_202C_200E_206C_206F_206F_200C_202E_202A_202C_200D_206F_200E_202D_200B_202E_202B_206E_202C_206E_200C_206B_200F_200C_206A_202D_202C_200C_202A_206B_206D_200B_206D_202C_202E(current.Y, 1)); - list.Add(subRegionVertex); - num = -1223739112; - break; - } - case 3: - num = -1223739112; - break; - case 0: - return list; - } - } - } - } + return new List(); } + EditableSubRegion editableSubRegion = _subRegions[_editor.SelectedIndex]; + List list = new List(editableSubRegion.Vertices.Count); + foreach (Vector2 vertex in editableSubRegion.Vertices) + { + list.Add(new SubRegionVertex + { + X = MathF.Round(vertex.X, 1), + Z = MathF.Round(vertex.Y, 1) + }); + } + return list; } IList IEditablePolygonSet.GetVertices(int polygonIndex) @@ -562,258 +258,12 @@ internal sealed class SubRegionMapPanel : IEditablePolygonSet return _subRegions[polygonIndex].Id; } - [MethodImpl(MethodImplOptions.NoInlining)] void IEditablePolygonSet.AddPolygon(IList vertices) { - List subRegions = _subRegions; - EditableSubRegion editableSubRegion = new EditableSubRegion(); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(7, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-1281219605)); - defaultInterpolatedStringHandler.AppendFormatted(_subRegions.Count + 1); - editableSubRegion.Id = defaultInterpolatedStringHandler.ToStringAndClear(); - editableSubRegion.Vertices = new List(vertices); - subRegions.Add(editableSubRegion); - } - - static SubRegionMapPanel() - { - uint[] array = new uint[8]; - _206B_206B_206F_206E_206E_206C_200F_202B_206F_200F_202E_206B_200F_200C_206F_202A_202A_202A_202C_206E_202B_200D_202D_200E_202C_206E_200D_206E_206E_206F_200C_200F_206C_200B_200F_206A_200C_200E_206B_206C_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - SubRegionColors = array; - } - - static MapTextureService _200F_200B_200C_200B_202E_202E_200E_206D_206A_206F_202E_200E_206E_200D_202A_206E_206D_206A_202C_206E_202E_206E_202A_202A_202A_202E_200C_206F_200B_200C_200C_202C_206C_202A_202E_200C_202C_200C_200C_206D_202E(ITextureProvider P_0, IDataManager P_1, ILogger P_2) - { - return new MapTextureService(P_0, P_1, P_2); - } - - static MapPolygonEditor _206A_200C_202C_206D_202B_202E_206D_206E_202C_200E_202E_206A_206E_206E_202C_206F_200C_206D_206E_202E_206B_202A_206A_206B_202A_202E_202B_202D_200E_206D_200D_200D_202B_206C_206F_200D_200D_206D_202A_202E_202E(MapTextureService P_0) - { - return new MapPolygonEditor(P_0); - } - - static int _206D_202A_202C_200B_206B_200E_202E_202B_206A_206D_206A_206B_200E_206E_200E_202B_206D_202E_206B_206F_206D_202C_206C_206D_200C_206F_206A_200D_202C_202D_202A_202B_202A_200B_206F_206A_200C_206E_206B_200F_202E(MapPolygonEditor P_0) - { - return P_0.SelectedIndex; - } - - static void _206C_206E_202D_206A_206C_202D_200D_200E_202E_202C_200C_202A_206E_206E_202B_206B_206B_200B_206D_206D_202B_206F_206D_206D_202B_202C_206E_206B_200F_202B_202B_202A_206B_200E_206D_206F_206A_200F_200D_200C_202E(MapPolygonEditor P_0, int P_1) - { - P_0.SelectedIndex = P_1; - } - - static bool _200D_200C_206E_200F_206C_206F_200F_206F_206F_200E_200D_206C_202D_202A_200F_206A_200C_206D_206E_202B_200D_202A_200F_206C_202A_206A_202C_202A_202E_200E_206F_200C_202D_202D_206F_200F_202D_202A_200F_206D_202E(MapPolygonEditor P_0) - { - return P_0.IsDrawing; - } - - static uint _200F_200F_206E_206A_202A_206E_202D_206A_202E_200F_200E_202A_200E_206B_202A_202E_202A_200B_206E_202E_202E_206D_200D_202A_206D_206A_200C_200C_202D_206E_206F_202C_200E_202C_206C_200B_206D_206A_206D_200E_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static bool _202A_200C_200B_206A_206C_200E_202E_200D_206D_202E_200C_206C_202D_200D_206A_206F_206B_200B_202D_202B_202C_206E_206F_206B_206D_202B_206F_206D_200D_206D_202A_206D_200D_202A_206C_202B_200B_200F_200B_202D_202E(MapTextureService P_0, uint P_1) - { - return P_0.LoadForTerritory(P_1); - } - - static IPlayerCharacter _206D_202D_206A_200E_200E_200C_206C_202D_202D_202B_200C_206C_206D_202B_202B_206F_200D_202E_206D_202C_202E_206D_200F_200E_202B_206E_202E_202C_202E_206C_200C_200D_206C_202B_202B_200F_200B_202D_200F_202E_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static Vector3 _202B_202C_202B_206A_202A_206D_206E_200B_200C_206A_200C_202C_206E_200C_200D_202C_206F_202D_206A_202C_202A_206C_202E_206E_200B_200D_200B_200E_200E_200B_206F_206A_202C_202D_200F_206A_202D_206E_206B_206A_202E(IGameObject P_0) - { - return P_0.Position; - } - - static Vector2 _202D_206F_202C_202A_200E_202C_200E_206B_200F_200F_206D_202C_200E_200B_206A_202C_200B_200D_200F_202A_200F_206C_206F_202B_200B_202A_200D_206E_206F_206E_200E_202A_206B_200B_202A_206F_200D_202D_206A_202E_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static void _202E_202C_206E_206E_202D_200F_206B_202B_200F_200F_200C_200D_200D_206B_202E_200B_202C_200E_200C_200E_202A_200F_206E_206B_202C_206E_200C_206F_200E_200D_200E_200D_200B_206D_202D_202B_202A_200C_200B_200C_202E(MapPolygonEditor P_0, IEditablePolygonSet P_1, Vector3? P_2, Vector2? P_3) - { - P_0.Draw(P_1, P_2, P_3); - } - - static void _206B_202A_202A_202A_200F_206D_200C_202C_202A_206F_202B_202E_202B_202D_200B_202A_206B_202B_206F_202E_202E_200B_202C_206C_206A_202D_200D_200F_206E_200E_200D_202D_200E_202B_200B_200E_206F_206E_206E_202B_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static bool _206E_202B_202B_200E_202C_200D_200B_200F_202B_200C_200D_202A_202C_206B_206B_206C_206A_202B_200F_206A_206F_206D_206F_206B_206B_206F_206C_200B_206D_206B_202A_206C_206B_202B_202D_202D_200B_206B_206D_206E_202E(ImU8String P_0, Vector2 P_1) - { - return ImGui.Button(P_0, P_1); - } - - static void _200F_206E_202C_206B_206D_202D_200B_200C_200D_200F_200D_200B_200B_202E_206B_206A_206E_200B_200C_200F_206B_202B_202C_200F_202C_202E_202C_206C_206F_202C_206C_206D_200E_206F_206E_200D_202D_206C_200E_206E_202E(MapPolygonEditor P_0) - { - P_0.StartDrawing(); - } - - static void _202B_202E_206B_206A_206A_202B_206C_206B_200E_202D_202D_202A_206F_200F_200C_206D_200B_200B_202C_200B_206F_200D_200E_200E_200F_206F_202E_206A_200F_206F_206F_202A_200F_200D_200F_202C_206C_202C_206E_200C_202E() - { - ImGui.SameLine(); - } - - static void _202B_206D_206F_206D_200F_202B_202D_200B_206E_200D_206D_202A_202A_202A_202D_202A_206A_202C_200F_202E_206B_202D_200F_202A_202D_200B_200B_200C_206B_206B_206B_200D_206F_206C_202B_200D_200B_200E_202C_206F_202E(MapPolygonEditor P_0) - { - P_0.ResetView(); - } - - static CultureInfo _206B_206A_202D_206B_206C_206D_200D_206A_200F_206F_200E_206D_200F_202B_202B_202B_202B_200F_200B_206F_200E_202A_206E_200E_206D_202E_200F_206C_200B_206A_206F_206F_202C_202A_200B_206F_200C_200B_202E_206D_202E() - { - return CultureInfo.InvariantCulture; - } - - static void _206A_200C_206E_200C_206E_206D_200B_200F_200E_202D_206F_200D_206A_202A_206C_206F_200C_206E_206E_200F_202E_200B_200F_200B_202A_200C_202A_206C_206F_206F_202B_202A_202C_206C_200C_206F_202A_202D_206B_200D_202E(ImU8String P_0) - { - ImGui.SetClipboardText(P_0); - } - - static void _202C_200D_202D_202D_202B_206D_206D_202A_206D_200D_202E_202A_206A_200D_206C_206F_200B_206B_200B_202C_202E_200D_206F_200D_206A_202A_206F_200E_202B_206C_206B_202D_206E_202C_202D_202A_200E_206E_202B_202A_202E(float P_0) - { - ImGui.SetNextItemWidth(P_0); - } - - static bool _206F_202E_202E_206D_202D_202D_200C_206D_200E_200D_206E_206F_206E_200C_202A_202D_206D_202A_202B_200F_200D_206A_206F_200F_206A_206C_200B_200D_206A_206F_206A_202D_206F_206C_202C_206C_206C_200E_202C_206E_202E(ImU8String P_0, ref string P_1, int P_2, ImGuiInputTextFlags P_3, ImGui.ImGuiInputTextCallbackDelegate P_4) - { - return ImGui.InputText(P_0, ref P_1, P_2, P_3, P_4); - } - - static bool _202C_206C_200C_206D_202E_206E_206C_200E_200E_200F_206F_200F_200E_200B_206A_200B_206E_206B_206D_202A_202D_202D_202C_200E_200E_206E_200F_202C_202D_206A_202A_206E_206E_206A_200C_206A_200C_202A_200F_202D_202E(ImU8String P_0, ref bool P_1) - { - return ImGui.Checkbox(P_0, ref P_1); - } - - static ImRaii.DisabledDisposable _202E_202B_206C_206A_200B_202A_200E_202A_202C_202D_206B_202B_206B_200F_202A_206F_200C_206A_206C_200B_200E_202D_206F_206F_206B_206A_206A_200D_206F_206D_200E_206C_202A_206B_200C_206B_206A_206E_206B_200F_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static bool _200C_206B_202B_202E_202E_206E_206A_206F_200F_206A_200F_202D_202C_206E_200C_206B_206D_202B_206D_206F_206A_200F_200D_200E_202E_202D_206E_200B_206F_202D_206F_206C_202C_202E_206B_206D_206B_206B_206D_202E_202E(ImU8String P_0, ref float P_1, float P_2, float P_3, ImU8String P_4, ImGuiInputTextFlags P_5) - { - return ImGui.InputFloat(P_0, ref P_1, P_2, P_3, P_4, P_5); - } - - static void _200F_202B_202C_206E_200E_200C_202C_202B_200E_202C_202B_202A_202E_206F_206B_202D_202B_206E_200B_202A_202B_200F_206E_202E_206D_202C_200E_202B_202E_202B_206F_200F_202C_202D_202D_200C_200B_202C_206A_206A_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static bool _200C_200F_206E_200E_202E_202D_202C_206E_200B_206F_200B_202A_200F_206F_202B_202B_200C_206E_200C_206C_202A_206A_206D_206C_200D_206B_206A_206A_202B_200E_202E_202A_206C_206F_200E_202E_206F_206B_206E_200C_202E(ZoneSubRegionService P_0, uint P_1) - { - return P_0.HasSubRegions(P_1); - } - - static IReadOnlyList _202D_202D_206B_200C_200E_206A_206F_206F_202E_200E_200E_206E_206B_200E_202A_200C_202D_206F_200F_202D_202C_202B_202E_206B_206D_202C_200F_206A_200E_202B_200E_206E_202D_206E_202B_206D_206B_202D_206A_206B_202E(ZoneSubRegionService P_0, uint P_1) - { - return P_0.GetSubRegions(P_1); - } - - static List _206F_206F_200E_202A_202C_200F_202C_202D_200E_202C_206C_202D_206A_200D_202B_206A_202C_202C_200E_200E_200F_200E_200B_206B_202A_202E_206E_202C_202A_206D_206B_206B_200C_202D_206E_206E_206C_200C_200E_206A_202E(SubRegionDefinition P_0) - { - return P_0.Vertices; - } - - static float _206B_206C_206D_200F_206C_206E_206B_206B_202B_206E_206B_206F_200E_202D_206F_206D_202D_206C_200B_200D_202A_202D_206D_200C_202C_200D_206D_200F_200D_202A_206E_206E_206C_206F_206C_202A_200B_206B_200E_206A_202E(SubRegionVertex P_0) - { - return P_0.X; - } - - static float _200B_206B_206B_206D_202C_200C_200F_200D_202B_200F_200B_206D_206B_202C_200F_200C_202D_202E_200D_200D_202C_202A_206F_202D_206A_202D_200D_202E_200B_206B_206C_200B_200C_206A_202A_202C_206D_202B_206F_202E_202E(SubRegionVertex P_0) - { - return P_0.Z; - } - - static string _200B_200E_200C_206D_200D_202D_202B_202D_200D_202D_200D_200C_206F_206E_206C_200E_202D_200F_202A_206C_202E_206F_200D_206F_200B_200F_206C_200E_206F_200C_206D_200E_202C_206E_202D_200C_202D_206D_206E_206F_202E(SubRegionDefinition P_0) - { - return P_0.Id; - } - - static string _206A_200C_200F_202B_206A_202E_200F_202B_200E_202A_202E_202C_200B_202B_202D_206B_206B_206F_202A_200C_202D_200D_200E_202A_206E_200E_206D_202E_206F_202C_202E_206D_202A_202A_202E_202A_206D_206C_200E_202E(SubRegionDefinition P_0) - { - return P_0.Comment; - } - - static float? _206A_200E_200C_202E_200F_206F_206A_202D_202A_206A_206E_200E_202A_200D_206B_206A_200D_200D_200F_200E_200E_200F_200F_200F_202B_200C_202E_206D_200D_202A_206A_206E_202D_202C_202E_200F_200C_206B_206A_200F_202E(SubRegionDefinition P_0) - { - return P_0.MinY; - } - - static float? _206E_200D_200B_206E_206B_200E_202E_206B_202C_206B_200B_200C_206A_206D_200F_202A_206C_200E_206B_206A_200B_206C_206A_206C_206D_206E_200D_206E_206B_206A_200D_200D_200C_200E_206E_206D_202A_206F_202B_206B_202E(SubRegionDefinition P_0) - { - return P_0.MaxY; - } - - static bool _202E_200F_206B_206F_200B_200D_206F_206F_206B_200E_200E_206F_202A_200C_202B_206E_206D_200E_200D_200F_206E_200B_206F_206F_200E_202A_200D_206A_206B_200D_200C_202E_202C_200C_202D_200E_202A_206E_200E_206C_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static TerritorySubRegions _202E_206E_206B_206F_206E_206F_202E_200B_206D_206C_200B_200F_206B_206C_206E_206D_206C_206B_200E_202B_206E_206A_200D_202C_206D_200F_206B_200E_202D_206D_202D_206F_206A_206E_200D_200D_200C_200D_200B_202A_202E() - { - return new TerritorySubRegions(); - } - - static SubRegionDefinition _200D_206B_202E_206A_200C_206D_206C_206E_206D_206D_202B_206A_206D_200C_200F_206D_202E_206B_200E_202D_202E_206E_200E_200F_200B_202D_200C_202C_200D_206E_202B_200C_200F_200E_206A_202E_200D_200E_206F_200D_202E() - { - return new SubRegionDefinition(); - } - - static void _200B_202E_202A_202E_202A_202C_200C_206D_200E_206E_206B_206C_200D_202C_206A_202B_202E_206E_202B_206C_202D_202E_200C_200B_202E_200E_202B_200E_200E_202B_206C_202D_202B_200B_202C_202D_202E_202A_202E_206C_202E(SubRegionDefinition P_0, string P_1) - { - P_0.Id = P_1; - } - - static bool _206B_202A_202A_206B_206A_206A_200F_206E_206C_206B_202A_200B_202C_200C_202D_202D_202D_206C_206C_202A_206E_200B_206B_202D_200C_202A_200D_206A_202E_206D_200E_200F_202D_206E_206F_200D_202D_202E_200B_202D_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static void _206B_202B_200E_200B_200C_200E_206B_202C_206A_202E_206A_200C_206D_202D_206A_202E_206F_200E_200F_206E_206F_202E_200F_206F_202C_200F_200C_206F_200C_206C_200F_200D_200B_200C_206B_206A_206E_206A_200C_206D_202E(SubRegionDefinition P_0, string P_1) - { - P_0.Comment = P_1; - } - - static void _206E_202D_206C_200E_200C_206A_206D_206F_202A_206A_202D_202D_202C_202B_206E_206D_206D_206F_206C_206C_200F_202B_206F_206D_206A_206F_200E_200D_206F_200D_206C_202B_202A_206F_200F_200F_202C_206C_200E_206D_202E(SubRegionDefinition P_0, float? P_1) - { - P_0.MinY = P_1; - } - - static void _202A_206E_200D_200C_200F_202D_202B_202E_206D_202C_202B_202E_206B_206B_206F_200C_202A_206F_202D_206A_200E_200D_206F_206E_202E_200B_200D_206C_206B_206C_206A_200F_202A_200E_206E_202C_200B_200C_206C_202E_202E(SubRegionDefinition P_0, float? P_1) - { - P_0.MaxY = P_1; - } - - static SubRegionVertex _202C_202E_206C_206D_200D_200F_206D_206D_206B_200D_200E_206E_206B_206F_202A_200F_206A_200D_202A_206C_200E_206C_200E_200E_206A_206D_206C_200F_206F_206F_202D_200F_202E_200D_200D_200D_202C_206A_206D_202D_202E() - { - return new SubRegionVertex(); - } - - static float _202A_206B_206D_202B_202C_200C_202C_202C_200E_206C_206F_206F_200C_202E_202A_202C_200D_206F_200E_202D_200B_202E_202B_206E_202C_206E_200C_206B_200F_200C_206A_202D_202C_200C_202A_206B_206D_200B_206D_202C_202E(float P_0, int P_1) - { - return MathF.Round(P_0, P_1); - } - - static void _206E_200B_202B_200E_206E_200C_206E_206E_200C_206B_202D_206E_206C_202C_202C_200C_200E_202D_206E_200D_206C_200D_202A_200F_202B_200D_202D_200B_200F_202C_200E_200F_206F_202E_206F_206D_206A_206D_206A_202C_202E(SubRegionVertex P_0, float P_1) - { - P_0.X = P_1; - } - - static void _200F_202C_202C_200C_202A_200B_206F_206E_202B_200D_206D_200B_200C_202D_206B_206B_202E_202C_206B_200C_202E_202C_202D_202D_206C_206E_200B_206A_202C_206C_206F_202A_206E_200F_202D_202B_202B_206E_200D_206A_202E(SubRegionVertex P_0, float P_1) - { - P_0.Z = P_1; - } - - static List _200D_200F_202C_206F_200D_200E_206B_206D_206F_206D_202A_200B_200B_200C_200B_202E_202D_206E_206F_206E_200F_206A_200E_200C_200B_202A_202D_206E_202E_202E_202B_202B_200C_200B_202A_206C_202D_202A_200B_200F_202E(TerritorySubRegions P_0) - { - return P_0.SubRegions; - } - - static void _206B_206B_206F_206E_206E_206C_200F_202B_206F_200F_202E_206B_200F_200C_206F_202A_202A_202A_202C_206E_202B_200D_202D_200E_202C_206E_200D_206E_206E_206F_200C_200F_206C_200B_200F_206A_200C_200E_206B_206C_202E(Array P_0, RuntimeFieldHandle P_1) - { - RuntimeHelpers.InitializeArray(P_0, P_1); + _subRegions.Add(new EditableSubRegion + { + Id = $"region_{_subRegions.Count + 1}", + Vertices = new List(vertices) + }); } } diff --git a/Questionable/Questionable.Windows.Utils/CycleSelectionUi.cs b/Questionable/Questionable.Windows.Utils/CycleSelectionUi.cs index 33a7a81..7c7256c 100644 --- a/Questionable/Questionable.Windows.Utils/CycleSelectionUi.cs +++ b/Questionable/Questionable.Windows.Utils/CycleSelectionUi.cs @@ -12,166 +12,40 @@ internal static class CycleSelectionUi public static bool DrawRunningBanner(string text, Vector4 color, FontAwesomeIcon icon) { - ImDrawListPtr imDrawListPtr = _200C_200B_206E_206C_206D_200C_202C_202A_206C_200D_202A_200D_206D_206B_200E_206C_202C_206F_206B_202E_200E_202D_206A_206B_202C_200C_202D_202E_202C_206A_200F_202E_206D_206C_200D_200B_206A_206E_200B_202B_202E(); - Vector2 vector = _202B_200B_206D_200E_200F_202D_200D_206C_202B_202D_206F_206D_206C_206F_202E_202E_200B_200C_206E_200D_200E_200E_206D_200C_200C_200C_202D_206B_200F_202C_206C_206F_206D_206E_206E_202A_202A_202E_200D_206C_202E(); - float fontSize = _200E_206B_206F_200D_200B_200D_206D_206F_206E_206E_206B_200B_202B_206B_200C_206E_202E_206B_200B_200F_206E_206F_200F_206C_202C_206C_202E_202C_206B_206D_206C_202E_202E_206A_206A_200D_200C_200F_206C_202A_202E(); - string text2 = _202E_200F_202A_206C_202A_206F_202C_200B_200B_206E_202E_200F_200B_206E_202B_202E_206E_202A_200B_200F_200F_206E_206F_202E_200B_206D_202E_206E_200E_206C_202B_206F_206D_206C_202C_206F_206C_206B_200B_202C_202E(icon); - float x = _200D_202B_206E_206E_206F_202A_202A_206E_206E_202D_200F_206F_202A_200C_200F_202D_202C_202D_202A_200D_200F_202B_202C_202B_202B_200C_200C_206E_200C_200D_200E_202C_206E_202A_200C_206D_200D_202D_202A_200F_202E().X; - ImRaii.FontDisposable fontDisposable = _206A_202C_202A_200D_200D_200F_200E_206D_202D_200C_202C_200E_206E_206A_206A_202D_202C_206F_206E_202A_202A_206C_202C_206A_206C_202E_206A_206E_206B_206E_200D_206E_202A_200E_206E_206C_206C_200D_206C_202D_202E(_202D_206E_206E_200D_206E_206B_206A_206B_200B_206A_200D_200C_200F_206E_200C_200F_206B_200D_202D_206F_200C_200C_202A_202C_206C_200F_200B_206E_206D_202C_200D_206F_200F_200F_202A_202A_200C_206E_202E_200D_202E(), true); - Vector2 vector2; - try + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + float fontSize = ImGui.GetFontSize(); + string text2 = icon.ToIconString(); + float x = ImGui.GetContentRegionAvail().X; + Vector2 vector; + using (ImRaii.PushFont(UiBuilder.IconFont)) { - vector2 = _206E_202A_200D_200D_206C_200B_200B_202D_200F_200B_200B_200F_200C_206B_200B_202E_206B_200C_200C_206F_202C_206E_202D_202B_202D_206D_202D_202C_200D_206C_202B_202E_206F_200D_200E_206D_200B_202B_206E_206E_202E((ImU8String)text2, false, -1f); + vector = ImGui.CalcTextSize(text2); } - finally - { - int num = ((fontDisposable == null) ? 830623910 : 830623909); - while (true) - { - int num2 = num; - int num3 = 830623908; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 830623909; - break; - case 1: - _206F_206E_202A_206B_200B_202B_202B_202E_200F_206E_200B_206A_206B_206D_206A_206C_202E_202D_206A_202D_202C_206F_206C_202C_206F_206D_206A_206D_206A_202D_202D_202A_200F_206B_206D_202A_206F_202E_200D_202E_202E((IDisposable)fontDisposable); - num = 830623910; - break; - case 2: - goto end_IL_0069; - } - continue; - end_IL_0069: - break; - } - } - float num5 = _206A_202A_206E_202A_200B_200F_206E_206E_200D_202D_202D_200D_202D_200E_206E_206B_202A_206C_202D_200B_202B_200C_200C_202B_206E_200C_206D_200D_202A_200D_202A_200C_206C_202A_202B_206E_200C_200B_200E_206A_202E(); - float num6 = _200B_200F_200E_200F_202B_200D_202E_200D_200E_200B_202E_202D_200F_206A_206B_206A_206B_202C_202C_206C_206B_202E_200B_200E_202A_200D_206D_200C_206B_202A_202B_202D_206D_202D_206F_206D_206E_206A_206C_206C_202E(_200B_200F_200E_200F_202B_200D_202E_200D_200E_200B_202E_202D_200F_206A_206B_206A_206B_202C_202C_206C_206B_202E_200B_200E_202A_200D_206D_200C_206B_202A_202B_202D_206D_202D_206F_206D_206E_206A_206C_206C_202E(vector2.Y, _202C_200B_206A_200E_206E_202A_206C_200D_206A_202E_202C_202D_202B_206B_200C_206F_206E_200D_200D_206A_202C_202A_206A_202B_202A_206E_202D_200D_206B_200E_200F_202C_206C_200B_200D_206E_200F_206F_202C_206C_202E()), num5); - float num7 = 12f + num6 + 12f; - Vector2 pMin = vector; - Vector2 pMax = vector + new Vector2(x, num7); - float w = 0.08f + 0.04f * (0.5f + 0.5f * _200C_206C_202D_202B_206A_202C_202E_206F_202A_202D_206B_206D_202C_206D_206D_206F_206D_202D_202E_200D_200F_202E_200C_202C_200E_202B_200D_206E_202D_200C_200B_202E_206C_206F_200B_202A_200B_202D_206E_206F_202E((float)_206E_206C_200F_200C_206F_206B_200D_206F_202E_206D_206A_206B_206D_200E_200C_202E_202B_200D_202A_206E_202E_200D_202E_202E_202D_206D_206B_202A_200F_202A_202D_206A_206B_202D_206F_200F_202D_206F_200D_202C_202E() * 2f)); - Vector4 vector3 = color; - vector3.W = w; - Vector4 vector4 = vector3; - vector3 = color; - vector3.W = 0.25f; - Vector4 vector5 = vector3; - imDrawListPtr.AddRectFilled(pMin, pMax, _202C_206F_206E_206F_200D_206D_200F_202D_206A_202D_202B_206A_206C_206F_200C_200F_200C_202E_200D_206A_202C_206E_200C_200D_206E_206B_200F_202E_206F_206F_206A_202B_200E_206D_202A_206F_202A_200E_200B_206D_202E(vector4), 6f); - imDrawListPtr.AddRect(pMin, pMax, _202C_206F_206E_206F_200D_206D_200F_202D_206A_202D_202B_206A_206C_206F_200C_200F_200C_202E_200D_206A_202C_206E_200C_200D_206E_206B_200F_202E_206F_206F_206A_202B_200E_206D_202A_206F_202A_200E_200B_206D_202E(vector5), 6f, ImDrawFlags.None, 1f); - imDrawListPtr.AddText(pos: new Vector2(pMin.X + 12f, pMin.Y + 12f + (num6 - vector2.Y) / 2f), font: _202D_206E_206E_200D_206E_206B_206A_206B_200B_206A_200D_200C_200F_206E_200C_200F_206B_200D_202D_206F_200C_200C_202A_202C_206C_200F_200B_206E_206D_202C_200D_206F_200F_200F_202A_202A_200C_206E_202E_200D_202E(), fontSize: fontSize, col: _202C_206F_206E_206F_200D_206D_200F_202D_206A_202D_202B_206A_206C_206F_200C_200F_200C_202E_200D_206A_202C_206E_200C_200D_206E_206B_200F_202E_206F_206F_206A_202B_200E_206D_202A_206F_202A_200E_200B_206D_202E(color), text: text2); - float num8 = pMin.X + 12f + vector2.X + 6f; - float num9 = pMax.X - 12f - num5; - Vector2 pos = new Vector2(num8, pMin.Y + 12f + (num6 - _202C_200B_206A_200E_206E_202A_206C_200D_206A_202E_202C_202D_202B_206B_200C_206F_206E_200D_200D_206A_202C_202A_206A_202B_202A_206E_202D_200D_206B_200E_200F_202C_206C_200B_200D_206E_200F_206F_202C_206C_202E()) / 2f); - imDrawListPtr.AddText(pos, _202C_206F_206E_206F_200D_206D_200F_202D_206A_202D_202B_206A_206C_206F_200C_200F_200C_202E_200D_206A_202C_206E_200C_200D_206E_206B_200F_202E_206F_206F_206A_202B_200E_206D_202A_206F_202A_200E_200B_206D_202E(color), UiThemeUtils.TruncateToWidth(text, num9 - _200B_202C_206B_200C_202C_206D_200B_200F_200D_200E_200C_206D_202D_202C_206B_200F_206F_206E_206F_202B_206F_200F_206C_206C_206C_206C_206D_206B_200B_206C_206A_202E_202B_202E_200C_206E_202C_200B_206C_200C_202E().ItemSpacing.X - num8)); - _202A_200F_202D_202A_200F_202B_200D_206E_200D_202B_200C_202B_200C_200D_200F_200D_202A_200C_202A_206C_202A_200B_202A_200E_206D_200B_202D_202D_206B_202D_206C_200B_206E_202D_200F_202C_202B_202D_202D_200E_202E(new Vector2(x, num7)); - Vector2 vector6 = _202D_202B_206C_202D_202D_206A_206D_206D_200D_202B_202A_202B_200F_206B_206F_200C_202D_206B_202C_206D_206A_202C_202D_206A_206B_202B_202B_206E_200D_200F_202A_202E_200E_206C_200C_200B_202B_206D_202E_206F_202E(); - _206E_206D_206D_202C_200E_202A_200D_202E_206B_206E_206D_202A_200E_200F_200D_200E_200F_202C_206E_206C_202A_200C_200F_200E_206D_206C_200F_200F_200C_202C_200F_200B_202B_206A_200D_206F_202D_200E_206B_206C_202E(new Vector2(num9, pMin.Y + (num7 - num5) / 2f)); - bool result = UiThemeUtils.IconButton(FontAwesomeIcon.Stop, num5); - _202B_202E_200C_206F_206F_200D_200E_206B_200C_200D_206F_202D_200C_206E_202B_200F_202E_200D_206D_200C_206C_200E_202B_202C_200B_206E_206F_206F_202C_202E_206C_200D_200E_206D_200F_200D_206B_200E_200E_202D_202E(vector6); + float frameHeight = ImGui.GetFrameHeight(); + float num = MathF.Max(MathF.Max(vector.Y, ImGui.GetTextLineHeight()), frameHeight); + float num2 = 12f + num + 12f; + Vector2 pMin = cursorScreenPos; + Vector2 pMax = cursorScreenPos + new Vector2(x, num2); + float w = 0.08f + 0.04f * (0.5f + 0.5f * MathF.Sin((float)ImGui.GetTime() * 2f)); + Vector4 vector2 = color; + vector2.W = w; + Vector4 input = vector2; + vector2 = color; + vector2.W = 0.25f; + Vector4 input2 = vector2; + windowDrawList.AddRectFilled(pMin, pMax, ImGui.ColorConvertFloat4ToU32(input), 6f); + windowDrawList.AddRect(pMin, pMax, ImGui.ColorConvertFloat4ToU32(input2), 6f, ImDrawFlags.None, 1f); + windowDrawList.AddText(pos: new Vector2(pMin.X + 12f, pMin.Y + 12f + (num - vector.Y) / 2f), font: UiBuilder.IconFont, fontSize: fontSize, col: ImGui.ColorConvertFloat4ToU32(color), text: text2); + float num3 = pMin.X + 12f + vector.X + 6f; + float num4 = pMax.X - 12f - frameHeight; + Vector2 pos = new Vector2(num3, pMin.Y + 12f + (num - ImGui.GetTextLineHeight()) / 2f); + windowDrawList.AddText(pos, ImGui.ColorConvertFloat4ToU32(color), UiThemeUtils.TruncateToWidth(text, num4 - ImGui.GetStyle().ItemSpacing.X - num3)); + ImGui.Dummy(new Vector2(x, num2)); + Vector2 cursorPos = ImGui.GetCursorPos(); + ImGui.SetCursorScreenPos(new Vector2(num4, pMin.Y + (num2 - frameHeight) / 2f)); + bool result = UiThemeUtils.IconButton(FontAwesomeIcon.Stop, frameHeight); + ImGui.SetCursorPos(cursorPos); return result; } - - static ImDrawListPtr _200C_200B_206E_206C_206D_200C_202C_202A_206C_200D_202A_200D_206D_206B_200E_206C_202C_206F_206B_202E_200E_202D_206A_206B_202C_200C_202D_202E_202C_206A_200F_202E_206D_206C_200D_200B_206A_206E_200B_202B_202E() - { - return ImGui.GetWindowDrawList(); - } - - static Vector2 _202B_200B_206D_200E_200F_202D_200D_206C_202B_202D_206F_206D_206C_206F_202E_202E_200B_200C_206E_200D_200E_200E_206D_200C_200C_200C_202D_206B_200F_202C_206C_206F_206D_206E_206E_202A_202A_202E_200D_206C_202E() - { - return ImGui.GetCursorScreenPos(); - } - - static float _200E_206B_206F_200D_200B_200D_206D_206F_206E_206E_206B_200B_202B_206B_200C_206E_202E_206B_200B_200F_206E_206F_200F_206C_202C_206C_202E_202C_206B_206D_206C_202E_202E_206A_206A_200D_200C_200F_206C_202A_202E() - { - return ImGui.GetFontSize(); - } - - static string _202E_200F_202A_206C_202A_206F_202C_200B_200B_206E_202E_200F_200B_206E_202B_202E_206E_202A_200B_200F_200F_206E_206F_202E_200B_206D_202E_206E_200E_206C_202B_206F_206D_206C_202C_206F_206C_206B_200B_202C_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static Vector2 _200D_202B_206E_206E_206F_202A_202A_206E_206E_202D_200F_206F_202A_200C_200F_202D_202C_202D_202A_200D_200F_202B_202C_202B_202B_200C_200C_206E_200C_200D_200E_202C_206E_202A_200C_206D_200D_202D_202A_200F_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static ImFontPtr _202D_206E_206E_200D_206E_206B_206A_206B_200B_206A_200D_200C_200F_206E_200C_200F_206B_200D_202D_206F_200C_200C_202A_202C_206C_200F_200B_206E_206D_202C_200D_206F_200F_200F_202A_202A_200C_206E_202E_200D_202E() - { - return UiBuilder.IconFont; - } - - static ImRaii.FontDisposable _206A_202C_202A_200D_200D_200F_200E_206D_202D_200C_202C_200E_206E_206A_206A_202D_202C_206F_206E_202A_202A_206C_202C_206A_206C_202E_206A_206E_206B_206E_200D_206E_202A_200E_206E_206C_206C_200D_206C_202D_202E(ImFontPtr P_0, bool P_1) - { - return ImRaii.PushFont(P_0, P_1); - } - - static Vector2 _206E_202A_200D_200D_206C_200B_200B_202D_200F_200B_200B_200F_200C_206B_200B_202E_206B_200C_200C_206F_202C_206E_202D_202B_202D_206D_202D_202C_200D_206C_202B_202E_206F_200D_200E_206D_200B_202B_206E_206E_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static void _206F_206E_202A_206B_200B_202B_202B_202E_200F_206E_200B_206A_206B_206D_206A_206C_202E_202D_206A_202D_202C_206F_206C_202C_206F_206D_206A_206D_206A_202D_202D_202A_200F_206B_206D_202A_206F_202E_200D_202E_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static float _206A_202A_206E_202A_200B_200F_206E_206E_200D_202D_202D_200D_202D_200E_206E_206B_202A_206C_202D_200B_202B_200C_200C_202B_206E_200C_206D_200D_202A_200D_202A_200C_206C_202A_202B_206E_200C_200B_200E_206A_202E() - { - return ImGui.GetFrameHeight(); - } - - static float _202C_200B_206A_200E_206E_202A_206C_200D_206A_202E_202C_202D_202B_206B_200C_206F_206E_200D_200D_206A_202C_202A_206A_202B_202A_206E_202D_200D_206B_200E_200F_202C_206C_200B_200D_206E_200F_206F_202C_206C_202E() - { - return ImGui.GetTextLineHeight(); - } - - static float _200B_200F_200E_200F_202B_200D_202E_200D_200E_200B_202E_202D_200F_206A_206B_206A_206B_202C_202C_206C_206B_202E_200B_200E_202A_200D_206D_200C_206B_202A_202B_202D_206D_202D_206F_206D_206E_206A_206C_206C_202E(float P_0, float P_1) - { - return MathF.Max(P_0, P_1); - } - - static double _206E_206C_200F_200C_206F_206B_200D_206F_202E_206D_206A_206B_206D_200E_200C_202E_202B_200D_202A_206E_202E_200D_202E_202E_202D_206D_206B_202A_200F_202A_202D_206A_206B_202D_206F_200F_202D_206F_200D_202C_202E() - { - return ImGui.GetTime(); - } - - static float _200C_206C_202D_202B_206A_202C_202E_206F_202A_202D_206B_206D_202C_206D_206D_206F_206D_202D_202E_200D_200F_202E_200C_202C_200E_202B_200D_206E_202D_200C_200B_202E_206C_206F_200B_202A_200B_202D_206E_206F_202E(float P_0) - { - return MathF.Sin(P_0); - } - - static uint _202C_206F_206E_206F_200D_206D_200F_202D_206A_202D_202B_206A_206C_206F_200C_200F_200C_202E_200D_206A_202C_206E_200C_200D_206E_206B_200F_202E_206F_206F_206A_202B_200E_206D_202A_206F_202A_200E_200B_206D_202E(Vector4 P_0) - { - return ImGui.ColorConvertFloat4ToU32(P_0); - } - - static ImGuiStylePtr _200B_202C_206B_200C_202C_206D_200B_200F_200D_200E_200C_206D_202D_202C_206B_200F_206F_206E_206F_202B_206F_200F_206C_206C_206C_206C_206D_206B_200B_206C_206A_202E_202B_202E_200C_206E_202C_200B_206C_200C_202E() - { - return ImGui.GetStyle(); - } - - static void _202A_200F_202D_202A_200F_202B_200D_206E_200D_202B_200C_202B_200C_200D_200F_200D_202A_200C_202A_206C_202A_200B_202A_200E_206D_200B_202D_202D_206B_202D_206C_200B_206E_202D_200F_202C_202B_202D_202D_200E_202E(Vector2 P_0) - { - ImGui.Dummy(P_0); - } - - static Vector2 _202D_202B_206C_202D_202D_206A_206D_206D_200D_202B_202A_202B_200F_206B_206F_200C_202D_206B_202C_206D_206A_202C_202D_206A_206B_202B_202B_206E_200D_200F_202A_202E_200E_206C_200C_200B_202B_206D_202E_206F_202E() - { - return ImGui.GetCursorPos(); - } - - static void _206E_206D_206D_202C_200E_202A_200D_202E_206B_206E_206D_202A_200E_200F_200D_200E_200F_202C_206E_206C_202A_200C_200F_200E_206D_206C_200F_200F_200C_202C_200F_200B_202B_206A_200D_206F_202D_200E_206B_206C_202E(Vector2 P_0) - { - ImGui.SetCursorScreenPos(P_0); - } - - static void _202B_202E_200C_206F_206F_200D_200E_206B_200C_200D_206F_202D_200C_206E_202B_200F_202E_200D_206D_200C_206C_200E_202B_202C_200B_206E_206F_206F_202C_202E_206C_200D_200E_206D_200F_200D_206B_200E_200E_202D_202E(Vector2 P_0) - { - ImGui.SetCursorPos(P_0); - } } diff --git a/Questionable/Questionable.Windows.Utils/QuestSelector.cs b/Questionable/Questionable.Windows.Utils/QuestSelector.cs index 088d39f..690c738 100644 --- a/Questionable/Questionable.Windows.Utils/QuestSelector.cs +++ b/Questionable/Questionable.Windows.Utils/QuestSelector.cs @@ -2,7 +2,6 @@ using System; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; using Dalamud.Interface.Utility.Raii; using Questionable.Controller; @@ -13,44 +12,6 @@ namespace Questionable.Windows.Utils; internal sealed class QuestSelector(QuestRegistry questRegistry) { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass16_0 - { - public ElementId elementId; - - public QuestSelector _003C_003E4__this; - - internal bool _003CDrawSelection_003Eb__2(Quest x) - { - int num = (_003C_003E4__this._003CDrawSelection_003Eg__SearchPredicate_007C16_1(x) ? 2013871135 : 2013871134); - while (true) - { - int num2 = num; - int num3 = 2013871135; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_004e; - case 0: - return true; - case 1: - return _202C_206E_200C_200E_200E_206B_206E_206E_202D_206D_206C_200C_206C_200B_206D_202A_206E_202B_202B_206D_200B_200F_200B_202B_200E_202C_206B_200B_200E_202D_200B_206B_202A_206C_206A_202B_202E_202C_206A_206D_202E(x.Id, elementId); - } - continue; - IL_004e: - num = 2013871134; - } - } - - static bool _202C_206E_200C_200E_200E_206B_206E_206E_202D_206D_206C_200C_206C_200B_206D_202A_206E_202B_202B_206D_200B_200F_200B_202B_200E_202C_206B_200B_200E_202D_200B_206B_202A_206C_206A_202B_202E_202C_206A_206D_202E(ElementId P_0, ElementId P_1) - { - return P_0 == P_1; - } - } - private string _searchString = string.Empty; private bool _comboJustOpened; @@ -61,211 +22,61 @@ internal sealed class QuestSelector(QuestRegistry questRegistry) public Action? QuestSelected { private get; set; } - [MethodImpl(MethodImplOptions.NoInlining)] public void DrawSelection(float width = -1f) { - int num = ((QuestSelected != null) ? 1874284633 : 1874284628); - _003C_003Ec__DisplayClass16_0 _003C_003Ec__DisplayClass16_ = default(_003C_003Ec__DisplayClass16_0); - bool flag = default(bool); - Func predicate = default(Func); - IEnumerable source = default(IEnumerable); - Quest current = default(Quest); - while (true) + if (QuestSelected == null) { - int num2 = num; - int num3 = 1874284639; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + throw new InvalidOperationException("QuestSelected action must be set before drawing the quest selector."); + } + ImGui.SetNextItemWidth(width); + if (ImGui.BeginCombo("##QuestSelection", "Add Quest...", ImGuiComboFlags.HeightLarge)) + { + if (!_comboJustOpened) { - default: - continue; - case 0: - num = 1874284628; - continue; - case 11: - throw _206F_200F_202B_200B_206C_206A_202A_202C_200C_206B_206C_200E_206A_202C_200C_200B_200B_200B_202A_206B_202A_206E_202A_206B_202C_206A_206D_200D_200E_200B_206B_202A_206B_206F_206B_200B_202E_202E_206D_202B_202E(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(-2013697626)); - case 8: - _003C_003Ec__DisplayClass16_ = new _003C_003Ec__DisplayClass16_0(); - _003C_003Ec__DisplayClass16_._003C_003E4__this = this; - num = ((!_202A_200E_200F_202C_206A_206A_202B_206C_202A_206C_206B_206F_202C_206D_206E_206B_202B_202C_202B_206B_206A_200F_206B_206B_202E_202B_200F_206C_202D_200E_202E_202C_200D_202A_200B_206B_200C_206E_202D_206E_202E(_searchString, ref _003C_003Ec__DisplayClass16_.elementId)) ? 1874284634 : 1874284630); - continue; - case 6: - _202D_206C_200B_206D_206C_200C_202E_202E_202A_202B_200D_200B_206B_206E_202A_200E_202A_200F_206D_206A_200F_202B_202E_202A_200D_202B_206F_206B_200E_202C_206C_200D_206A_200F_200D_206F_206F_202B_200E_200C_202E(width); - if (_206D_206D_200D_200F_200F_202A_200F_200D_206B_206A_202A_200B_200C_206B_202A_200D_202A_200F_206D_202D_202D_200F_200B_206E_200C_202B_202C_206F_206A_202D_202A_200D_202A_202B_206B_206D_200B_200C_206C_206F_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(195485891), (ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-316346152), ImGuiComboFlags.HeightLarge)) - { - num = 1874284637; - continue; - } - _comboJustOpened = false; - break; - case 7: - _202D_206C_200B_206D_206C_200C_202E_202E_202A_202B_200D_200B_206B_206E_202A_200E_202A_200F_206D_206A_200F_202B_202E_202A_200D_202B_206F_206B_200E_202C_206C_200D_206A_200F_200D_206F_206F_202B_200E_200C_202E(-1f); - flag = _200B_206D_202C_206B_200F_206D_200E_206D_206E_200C_200E_202A_202E_202D_200E_200F_200D_200C_200D_202D_206B_202E_200B_202C_206B_202A_206F_202B_202E_200C_206D_200C_202E_202D_206F_202B_202C_206F_202A_200D_202E((ImU8String)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(-898947001), (ImU8String)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(952243447), ref _searchString, 256, ImGuiInputTextFlags.AutoSelectAll | ImGuiInputTextFlags.EnterReturnsTrue, (ImGui.ImGuiInputTextCallbackDelegate)null); - _202B_200E_206D_202B_200B_200D_206B_200E_206D_206C_200C_206C_206B_206D_206B_206A_202C_200C_200D_202C_200D_200E_200D_202C_202A_200F_202C_206A_200F_206A_202B_206A_200D_206B_206F_202E_200C_206E_200E_200E_202E(); - num = (_206C_200D_202B_200C_206E_200C_202E_200B_206F_206A_202E_200C_202E_202E_202B_200E_202C_202D_202A_202E_200D_206C_206E_200E_202B_200E_206B_202B_200E_202A_206E_202D_200C_202B_202C_206D_206F_206E_200B_200E_202E(_searchString) ? 1874284636 : 1874284631); - continue; - case 9: - predicate = _003C_003Ec__DisplayClass16_._003CDrawSelection_003Eb__2; - num = 1874284629; - continue; - case 5: - predicate = SearchPredicate; - num = 1874284629; - continue; - case 10: - source = questRegistry.AllQuests.Where((Quest x) => !(x.Id is SatisfactionSupplyNpcId)).Where(predicate); - num = 1874284635; - continue; - case 1: - _202A_206B_206F_206D_206F_206E_206B_206F_206A_206C_202B_200D_202D_206B_200F_200B_206C_202B_200B_206F_206C_202B_200B_202A_200B_202B_202C_200D_202E_206E_206A_202C_202E_200E_200E_202E_206C_200F_206E_202D_202E(); + ImGui.SetKeyboardFocusHere(); _comboJustOpened = true; - num = 1874284632; - continue; - case 2: - num = (_comboJustOpened ? 1874284632 : 1874284638); - continue; - case 3: - source = questRegistry.AllQuests.Where((Quest x) => DefaultPredicate?.Invoke(x) ?? true); - num = 1874284635; - continue; - case 4: + } + ImGui.SetNextItemWidth(-1f); + bool flag = ImGui.InputTextWithHint("##QuestSearch", "Search quests...", ref _searchString, 256, ImGuiInputTextFlags.AutoSelectAll | ImGuiInputTextFlags.EnterReturnsTrue); + ImGui.Separator(); + IEnumerable source; + if (!string.IsNullOrEmpty(_searchString)) { - using (ImRaii.ChildDisposable childDisposable = _206F_206D_202A_200C_200C_202B_206F_206F_202C_200B_200C_206B_206D_200E_202E_202C_206F_206D_202E_200D_200C_202D_206B_206D_200B_202A_200D_202B_206C_206A_206C_206E_202A_206F_200B_206D_200B_206F_202D_202C_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1128503483), new Vector2(0f, 300f), false)) + source = Enumerable.Where(predicate: (!ElementId.TryFromString(_searchString, out ElementId elementId)) ? new Func(SearchPredicate) : ((Func)((Quest x) => SearchPredicate(x) || x.Id == elementId)), source: questRegistry.AllQuests); + } + else + { + source = questRegistry.AllQuests.Where((Quest x) => DefaultPredicate?.Invoke(x) ?? true); + } + using (ImRaii.ChildDisposable childDisposable = ImRaii.Child("##QuestScrollArea", new Vector2(0f, 300f), border: false)) + { + if ((bool)childDisposable) { - if ((bool)childDisposable) + foreach (Quest item in source.ToList()) { - using List.Enumerator enumerator = source.ToList().GetEnumerator(); - num = 1014199270; - while (true) + if ((SuggestionPredicate == null || SuggestionPredicate(item)) && (ImGui.Selectable(item.Info.Name) || flag)) { - int num5 = num; - num3 = 1014199264; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) + QuestSelected(item); + _searchString = string.Empty; + if (flag) { - case 4: - QuestSelected(current); - _searchString = string.Empty; - num = ((!flag) ? 1014199270 : 1014199265); - break; - case 6: - num = (enumerator.MoveNext() ? 1014199267 : 1014199269); - break; - case 7: - num = ((!(_200E_202C_200D_200B_206E_200C_202A_202C_202A_206F_206E_200B_200F_206D_200B_200C_202D_202B_200C_202D_206E_202A_202A_202E_200D_200C_206C_206D_206A_200D_206C_200B_200F_202C_206B_206B_202A_202C_206D_202E((ImU8String)current.Info.Name, false, ImGuiSelectableFlags.None, default(Vector2)) || flag)) ? 1014199270 : 1014199268); - break; - case 1: - _206B_206F_206D_202B_206C_202D_206E_202C_200E_200D_206D_200E_206C_206D_206C_200E_202B_206D_206E_200C_200C_202D_200C_202C_200E_202A_202D_202A_206C_202B_206D_200F_200C_206B_200E_206B_202C_202A_200D_206F_202E(); + ImGui.CloseCurrentPopup(); flag = false; - num = 1014199270; - break; - case 0: - num = ((!SuggestionPredicate(current)) ? 1014199270 : 1014199271); - break; - case 2: - num = 1014199270; - break; - case 3: - current = enumerator.Current; - num = ((SuggestionPredicate == null) ? 1014199271 : 1014199264); - break; - case 5: - goto end_IL_0294; } - continue; - end_IL_0294: - break; } } } - _206D_202D_202E_206B_200C_202C_200C_206A_200C_200C_206D_202D_202D_206C_206A_200B_206E_206D_206A_206B_202E_202C_206F_206F_206D_200F_200E_206C_200B_202E_200E_206B_202A_202E_202C_200D_206E_200D_200E_200D_202E(); - break; } - } - break; + ImGui.EndCombo(); } - _202B_200E_200C_202C_206C_200B_202B_200B_200D_206A_200E_206C_206F_200E_202C_206D_200B_200E_200C_200B_206F_200D_202A_200E_200D_206E_202E_206B_202D_206B_206C_200E_206E_206B_200D_206C_206A_200D_200F_202B_202E(); + else + { + _comboJustOpened = false; + } + ImGui.Spacing(); bool SearchPredicate(Quest x) { - return _200F_200E_206A_206B_200D_206A_202A_206C_200B_206E_202A_200D_200B_200B_206C_202A_200B_202A_202B_206C_206B_200C_202B_200D_200C_200D_200E_200D_202C_200D_202E_202C_200B_200E_200F_200C_200B_200D_200C_200D_202E(x.Info.Name, _searchString, StringComparison.CurrentCultureIgnoreCase); + return x.Info.Name.Contains(_searchString, StringComparison.CurrentCultureIgnoreCase); } } - - [CompilerGenerated] - private bool _003CDrawSelection_003Eg__SearchPredicate_007C16_1(Quest x) - { - return _200F_200E_206A_206B_200D_206A_202A_206C_200B_206E_202A_200D_200B_200B_206C_202A_200B_202A_202B_206C_206B_200C_202B_200D_200C_200D_200E_200D_202C_200D_202E_202C_200B_200E_200F_200C_200B_200D_200C_200D_202E(x.Info.Name, _searchString, StringComparison.CurrentCultureIgnoreCase); - } - - static InvalidOperationException _206F_200F_202B_200B_206C_206A_202A_202C_200C_206B_206C_200E_206A_202C_200C_200B_200B_200B_202A_206B_202A_206E_202A_206B_202C_206A_206D_200D_200E_200B_206B_202A_206B_206F_206B_200B_202E_202E_206D_202B_202E(string P_0) - { - return new InvalidOperationException(P_0); - } - - static void _202D_206C_200B_206D_206C_200C_202E_202E_202A_202B_200D_200B_206B_206E_202A_200E_202A_200F_206D_206A_200F_202B_202E_202A_200D_202B_206F_206B_200E_202C_206C_200D_206A_200F_200D_206F_206F_202B_200E_200C_202E(float P_0) - { - ImGui.SetNextItemWidth(P_0); - } - - static bool _206D_206D_200D_200F_200F_202A_200F_200D_206B_206A_202A_200B_200C_206B_202A_200D_202A_200F_206D_202D_202D_200F_200B_206E_200C_202B_202C_206F_206A_202D_202A_200D_202A_202B_206B_206D_200B_200C_206C_206F_202E(ImU8String P_0, ImU8String P_1, ImGuiComboFlags P_2) - { - return ImGui.BeginCombo(P_0, P_1, P_2); - } - - static void _202A_206B_206F_206D_206F_206E_206B_206F_206A_206C_202B_200D_202D_206B_200F_200B_206C_202B_200B_206F_206C_202B_200B_202A_200B_202B_202C_200D_202E_206E_206A_202C_202E_200E_200E_202E_206C_200F_206E_202D_202E() - { - ImGui.SetKeyboardFocusHere(); - } - - static bool _200B_206D_202C_206B_200F_206D_200E_206D_206E_200C_200E_202A_202E_202D_200E_200F_200D_200C_200D_202D_206B_202E_200B_202C_206B_202A_206F_202B_202E_200C_206D_200C_202E_202D_206F_202B_202C_206F_202A_200D_202E(ImU8String P_0, ImU8String P_1, ref string P_2, int P_3, ImGuiInputTextFlags P_4, ImGui.ImGuiInputTextCallbackDelegate P_5) - { - return ImGui.InputTextWithHint(P_0, P_1, ref P_2, P_3, P_4, P_5); - } - - static void _202B_200E_206D_202B_200B_200D_206B_200E_206D_206C_200C_206C_206B_206D_206B_206A_202C_200C_200D_202C_200D_200E_200D_202C_202A_200F_202C_206A_200F_206A_202B_206A_200D_206B_206F_202E_200C_206E_200E_200E_202E() - { - ImGui.Separator(); - } - - static bool _206C_200D_202B_200C_206E_200C_202E_200B_206F_206A_202E_200C_202E_202E_202B_200E_202C_202D_202A_202E_200D_206C_206E_200E_202B_200E_206B_202B_200E_202A_206E_202D_200C_202B_202C_206D_206F_206E_200B_200E_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static bool _202A_200E_200F_202C_206A_206A_202B_206C_202A_206C_206B_206F_202C_206D_206E_206B_202B_202C_202B_206B_206A_200F_206B_206B_202E_202B_200F_206C_202D_200E_202E_202C_200D_202A_200B_206B_200C_206E_202D_206E_202E(string P_0, ref ElementId P_1) - { - return ElementId.TryFromString(P_0, out P_1); - } - - static ImRaii.ChildDisposable _206F_206D_202A_200C_200C_202B_206F_206F_202C_200B_200C_206B_206D_200E_202E_202C_206F_206D_202E_200D_200C_202D_206B_206D_200B_202A_200D_202B_206C_206A_206C_206E_202A_206F_200B_206D_200B_206F_202D_202C_202E(ImU8String P_0, Vector2 P_1, bool P_2) - { - return ImRaii.Child(P_0, P_1, P_2); - } - - static bool _200E_202C_200D_200B_206E_200C_202A_202C_202A_206F_206E_200B_200F_206D_200B_200C_202D_202B_200C_202D_206E_202A_202A_202E_200D_200C_206C_206D_206A_200D_206C_200B_200F_202C_206B_206B_202A_202C_206D_202E(ImU8String P_0, bool P_1, ImGuiSelectableFlags P_2, Vector2 P_3) - { - return ImGui.Selectable(P_0, P_1, P_2, P_3); - } - - static void _206B_206F_206D_202B_206C_202D_206E_202C_200E_200D_206D_200E_206C_206D_206C_200E_202B_206D_206E_200C_200C_202D_200C_202C_200E_202A_202D_202A_206C_202B_206D_200F_200C_206B_200E_206B_202C_202A_200D_206F_202E() - { - ImGui.CloseCurrentPopup(); - } - - static void _206D_202D_202E_206B_200C_202C_200C_206A_200C_200C_206D_202D_202D_206C_206A_200B_206E_206D_206A_206B_202E_202C_206F_206F_206D_200F_200E_206C_200B_202E_200E_206B_202A_202E_202C_200D_206E_200D_200E_200D_202E() - { - ImGui.EndCombo(); - } - - static void _202B_200E_200C_202C_206C_200B_202B_200B_200D_206A_200E_206C_206F_200E_202C_206D_200B_200E_200C_200B_206F_200D_202A_200E_200D_206E_202E_206B_202D_206B_206C_200E_206E_206B_200D_206C_206A_200D_200F_202B_202E() - { - ImGui.Spacing(); - } - - static bool _200F_200E_206A_206B_200D_206A_202A_206C_200B_206E_202A_200D_200B_200B_206C_202A_200B_202A_202B_206C_206B_200C_202B_200D_200C_200D_200E_200D_202C_200D_202E_202C_200B_200E_200F_200C_200B_200D_200C_200D_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.Contains(P_1, P_2); - } } diff --git a/Questionable/Questionable.Windows.Utils/ThrottledClipboard.cs b/Questionable/Questionable.Windows.Utils/ThrottledClipboard.cs index 914f15a..2a018fd 100644 --- a/Questionable/Questionable.Windows.Utils/ThrottledClipboard.cs +++ b/Questionable/Questionable.Windows.Utils/ThrottledClipboard.cs @@ -13,18 +13,13 @@ internal static class ThrottledClipboard public static string GetText() { - long num = _202B_202B_206C_206D_202C_202A_200E_202E_202A_202A_202C_206F_200C_200E_206F_202C_202E_206E_206C_206F_206A_202C_202A_202E_206C_206C_206D_202D_200B_202D_206A_202C_206E_206E_200B_206E_200E_200C_202E_200C_202E(); - if (num >= _nextReadAtMs) + long tickCount = Environment.TickCount64; + if (tickCount >= _nextReadAtMs) { - long num2 = 500L; - long num3 = num; - long num4 = num3 ^ num2; - long num5 = num3 & num2; - _nextReadAtMs = num4 + (num5 + num5); + _nextReadAtMs = tickCount + 500; try { - string text = _206C_206F_200D_202C_206F_206F_200C_202D_202D_206C_206B_200D_206D_206A_202C_202A_200B_206F_200F_202B_202A_202B_202A_206F_206F_200E_206C_202A_202B_206E_202A_200E_202C_206C_206C_206D_206D_200F_200D_200D_202E(); - _cachedText = ((text != null) ? _206D_206F_202D_206D_202D_202A_200F_202D_202D_202A_200E_200C_206B_202A_206C_202E_206C_206B_206F_202D_200F_200B_202B_202A_206D_200E_206C_200E_202D_206F_200B_200B_206D_202D_206B_200B_202B_206C_202E_202C_202E(text) : null) ?? string.Empty; + _cachedText = ImGui.GetClipboardText()?.Trim() ?? string.Empty; } catch (Exception) { @@ -33,19 +28,4 @@ internal static class ThrottledClipboard } return _cachedText; } - - static long _202B_202B_206C_206D_202C_202A_200E_202E_202A_202A_202C_206F_200C_200E_206F_202C_202E_206E_206C_206F_206A_202C_202A_202E_206C_206C_206D_202D_200B_202D_206A_202C_206E_206E_200B_206E_200E_200C_202E_200C_202E() - { - return Environment.TickCount64; - } - - static string _206C_206F_200D_202C_206F_206F_200C_202D_202D_206C_206B_200D_206D_206A_202C_202A_200B_206F_200F_202B_202A_202B_202A_206F_206F_200E_206C_202A_202B_206E_202A_200E_202C_206C_206C_206D_206D_200F_200D_200D_202E() - { - return ImGui.GetClipboardText(); - } - - static string _206D_206F_202D_206D_202D_202A_200F_202D_202D_202A_200E_200C_206B_202A_206C_202E_206C_206B_206F_202D_200F_200B_202B_202A_206D_200E_206C_200E_202D_206F_200B_200B_206D_202D_206B_200B_202B_206C_202E_202C_202E(string P_0) - { - return P_0.Trim(); - } } diff --git a/Questionable/Questionable.Windows/ChangelogWindow.cs b/Questionable/Questionable.Windows/ChangelogWindow.cs index 7bc699b..2f07990 100644 --- a/Questionable/Questionable.Windows/ChangelogWindow.cs +++ b/Questionable/Questionable.Windows/ChangelogWindow.cs @@ -1,9 +1,7 @@ using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; -using Dalamud.Configuration; using Dalamud.Interface; using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Windowing; @@ -30,69 +28,46 @@ internal sealed class ChangelogWindow : ThemedWindow private float _headerAnimationTime; - [MethodImpl(MethodImplOptions.NoInlining)] public ChangelogWindow(Configuration configuration, IDalamudPluginInterface pluginInterface) - : base(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1311522858), ImGuiWindowFlags.NoTitleBar) + : base("Questionable Changelog###QuestionableChangelog", ImGuiWindowFlags.NoTitleBar) { _configuration = configuration; _pluginInterface = pluginInterface; _headerComponent = new ChangelogHeaderComponent(); _footerComponent = new ChangelogFooterComponent(); - _206C_200E_202B_202B_206A_206B_200F_206C_200E_206B_200B_206E_200D_200B_206C_200E_206E_202C_200F_200E_202E_206D_202B_202E_206C_200C_206F_202A_206A_200D_200C_202E_202B_202D_202B_202C_202C_200F_202A_202C_202E((Vector2?)new Vector2(900f, 650f)); - _206C_202E_200B_200E_200E_200B_206A_200D_206B_200E_200B_202B_202D_202A_200F_206D_202C_200C_200D_206C_202E_200E_202B_202C_206D_202C_202A_202E_200E_206C_202B_200D_200B_200F_200E_200D_202D_206D_202A_202B_202E(ImGuiCond.FirstUseEver); - _206C_206A_206C_202C_206F_200C_200F_202A_202A_200E_206B_200B_202E_202B_202C_202D_202D_200C_202D_202D_200F_206E_206E_200E_200C_202A_206A_206E_200E_202B_202E_202E_200E_202B_206A_202C_200F_206D_202B_206A_202E((WindowSizeConstraints?)new WindowSizeConstraints + base.Size = new Vector2(900f, 650f); + base.SizeCondition = ImGuiCond.FirstUseEver; + base.SizeConstraints = new WindowSizeConstraints { MinimumSize = new Vector2(700f, 500f), MaximumSize = new Vector2(float.MaxValue, float.MaxValue) - }); + }; } public override void DrawContent() { _headerComponent.Draw(delegate(bool isOpen) { - int num = (isOpen ? (-1673190192) : (-1673190191)); - while (true) + if (!isOpen) { - int num2 = num; - int num3 = -1673190192; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -1673190191; - break; - case 0: - return; - case 1: - RequestClose(); - num = -1673190192; - break; - } + RequestClose(); } }); DrawChangelogEntries(); ChangelogFooterComponent.Draw(base.RequestClose); - ImDrawListPtr imDrawListPtr = _206D_200E_206F_202B_202E_200F_200D_200D_206A_200D_202D_202A_200B_206A_200B_200E_206B_206B_200B_202C_202E_206C_200C_206C_206A_206A_202D_200D_206B_206E_202A_200E_202B_200F_206F_206E_206E_202E_202B_202C_202E(); - Vector2 vector = _202B_200C_206F_200D_200D_206D_200C_202D_206B_202B_206B_206C_200C_200D_200F_200F_200D_202C_200C_206F_206B_202D_202B_202C_206C_200E_202E_206C_200F_206E_206E_206D_206B_206B_202B_200F_200C_206A_202D_200C_202E(); - Vector2 vector2 = _206A_202C_202A_200D_206B_202E_206C_206C_206B_200B_206A_206C_206A_200C_206B_206A_206E_206B_200E_206A_202C_202B_202A_202C_206A_200E_202B_200C_202E_202C_206E_206C_200E_206D_206B_200D_206E_206A_202E_202A_202E(); - Vector2 pMax = vector + vector2; + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 windowPos = ImGui.GetWindowPos(); + Vector2 windowSize = ImGui.GetWindowSize(); + Vector2 pMax = windowPos + windowSize; Vector4 accentColor = UiThemeUtils.AccentColor; accentColor.W = 0.3f; - imDrawListPtr.AddRect(vector, pMax, _200E_202D_206A_206A_206A_202D_202A_200C_202E_202E_202C_202C_206D_202C_206E_206C_202C_206D_206D_206E_202D_202D_206D_202A_202D_200D_200F_202E_200C_200F_202B_200D_202C_202D_206A_202B_202E_202A_202D_200D_202E(accentColor), 0f, ImDrawFlags.None, 2f); + windowDrawList.AddRect(windowPos, pMax, ImGui.ColorConvertFloat4ToU32(accentColor), 0f, ImDrawFlags.None, 2f); } public override void OnOpen() { - _202E_202E_200F_206C_200E_206F_200B_206C_200C_202C_202B_206B_202D_202D_206E_206D_202B_206A_202B_206D_202A_200D_200D_206B_200F_200F_202B_202C_206E_200D_200F_206F_206E_206A_202D_200E_202D_202E_200D_200E_202E(); - int windowOpenCount = _windowOpenCount; - int num = 1; - int num2 = windowOpenCount; - int num3 = num2 ^ num; - int num4 = num2 & num; - _windowOpenCount = num3 + (num4 + num4); + base.OnOpen(); + _windowOpenCount++; _hasSetInitialState = false; _headerAnimationTime = 0f; _headerComponent.Reset(); @@ -100,233 +75,57 @@ internal sealed class ChangelogWindow : ThemedWindow public override void OnClose() { - _206A_202A_200F_206C_206F_206C_206B_202E_200B_206D_206D_206D_202D_200E_206D_200F_200C_202E_206F_206F_200E_202A_202E_200F_200D_202A_202D_200B_200C_206E_202C_202A_206F_206E_202D_200C_200E_206A_200B_200F_202E(); + base.OnClose(); MarkAllAsRead(); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawChangelogEntries() { - _headerAnimationTime += _202C_202E_202B_200D_202B_206C_200D_202C_200C_206A_202C_200E_202E_202D_200F_206F_200C_202D_206F_206D_200D_202C_206F_206B_206F_206A_206B_202C_202B_200F_206C_200C_206B_202A_206F_202C_200D_206E_200B_200C_202E().DeltaTime; - float num = _202A_206F_206A_202D_206E_200C_202C_202B_202E_206A_206E_206E_206C_202E_200D_200C_202B_200C_200D_200F_202E_206A_206E_202B_200D_206F_202B_202B_202C_202B_206B_200F_200B_202D_206F_200E_202E_202A_206B_206F_202E() + _202D_202C_202D_200E_202D_202E_202E_200F_202E_206C_202E_200E_200D_200C_206F_200C_202C_200B_202E_206B_200D_206E_202B_200C_200B_206B_202B_206C_206C_200C_206B_206E_202D_200E_200D_206B_202A_202D_202E_202E().ItemSpacing.Y * 2f; - using ImRaii.ChildDisposable childDisposable = _206E_206E_200F_200D_206D_206A_206C_202C_202B_200E_200E_206E_206C_206B_206C_202E_206A_206E_202B_200B_202B_200D_206A_206A_206B_206F_202C_206B_200B_206E_200F_202D_206F_206D_200E_200E_202E_206F_206E_206D_202E((ImU8String)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(642885522), new Vector2(0f, 0f - num), false, ImGuiWindowFlags.NoScrollbar); - int num2 = ((!(!childDisposable)) ? 409981810 : 409981809); - List changelogs = default(List); - ChangelogEntry changelogEntry = default(ChangelogEntry); - while (true) + _headerAnimationTime += ImGui.GetIO().DeltaTime; + float num = ImGui.GetFrameHeightWithSpacing() + ImGui.GetStyle().ItemSpacing.Y * 2f; + using ImRaii.ChildDisposable childDisposable = ImRaii.Child("ChangelogScroll", new Vector2(0f, 0f - num), border: false, ImGuiWindowFlags.NoScrollbar); + if (!childDisposable) { - int num3 = num2; - int num4 = 409981808; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - goto IL_00ae; - case 1: - return; - case 2: - { - using ImRaii.ChildDisposable childDisposable2 = _206E_200B_200C_200E_200D_206B_202D_206D_200E_202C_206A_200C_206C_206A_206F_206A_202A_206C_200F_206B_206F_202D_206D_202E_200D_206A_200B_206C_206C_200D_200C_200F_202C_202B_202A_200F_202E_206C_206C_202D_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(404777559), Vector2.Zero, false); - num2 = ((!(!childDisposable2)) ? 888384850 : 888384849); - while (true) - { - int num6 = num2; - num4 = 888384848; - num5 = num6; - int num7 = num5 + num4; - int num8 = num5 & num4; - switch (num7 - (num8 + num8)) - { - case 2: - changelogs = ChangelogData.Changelogs; - changelogEntry = changelogs.FirstOrDefault(); - num2 = ((changelogs.Count != 0) ? 888384848 : 888384852); - break; - case 4: - _200B_202A_206E_206E_206E_202D_200F_206A_206F_206E_206F_206B_200F_206A_206F_206A_200C_200D_202D_206E_200D_200B_200F_206C_200C_200B_206C_202E_206D_200C_206F_202A_206F_206E_206E_206A_206C_200D_202A_206B_202E(_206E_206B_206A_200F_206E_200F_206E_206E_206D_202E_206E_202A_206B_200D_202B_206D_202B_202C_200E_202D_200E_206E_206D_200C_206A_200F_200D_206F_200C_200B_202D_206C_202A_206C_206B_206D_202D_206A_200B_206A_202E() + 40f); - UiThemeUtils.EmptyState(FontAwesomeIcon.FileAlt, 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(-823052972)); - return; - case 3: - num2 = 888384849; - break; - case 1: - return; - case 0: - { - ChangelogEntryComponent changelogEntryComponent = new ChangelogEntryComponent(_configuration, _windowOpenCount, _headerAnimationTime); - using (List.Enumerator enumerator = changelogs.GetEnumerator()) - { - num2 = -839072908; - while (true) - { - int num9 = num2; - num4 = -839072905; - num5 = num9; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - num2 = -839072908; - break; - case 1: - { - ChangelogEntry current = enumerator.Current; - changelogEntryComponent.Draw(current, current == changelogEntry, _hasSetInitialState); - Vector2 vector = _206C_200B_200C_200E_200E_200F_202B_202B_200D_206D_206B_200C_200F_202B_202C_206C_206A_202D_200E_206E_202D_200B_202E_206F_202C_206D_206A_200F_200E_206D_206E_206D_202B_200E_206D_206E_200C_202D_206D_202C_202E(); - float num10 = _200E_200D_202D_206F_202B_202B_202C_202B_202B_202C_200D_200E_200D_200C_206B_202C_202C_206D_200B_206D_200B_200C_202A_202A_200F_200D_206D_202B_202C_206A_202A_206C_202A_200B_202C_206C_200C_202A_202D_206C_202E().X * 0.5f; - float num11 = (_200E_200D_202D_206F_202B_202B_202C_202B_202B_202C_200D_200E_200D_200C_206B_202C_202C_206D_200B_206D_200B_200C_202A_202A_200F_200D_206D_202B_202C_206A_202A_206C_202A_200B_202C_206C_200C_202A_202D_206C_202E().X - num10) * 0.5f; - ImDrawListPtr imDrawListPtr = _206D_200E_206F_202B_202E_200F_200D_200D_206A_200D_202D_202A_200B_206A_200B_200E_206B_206B_200B_202C_202E_206C_200C_206C_206A_206A_202D_200D_206B_206E_202A_200E_202B_200F_206F_206E_206E_202E_202B_202C_202E(); - Vector2 p = vector + new Vector2(num11, 0f); - Vector2 p2 = vector + new Vector2(num11 + num10, 0f); - Vector4 accentColor = UiThemeUtils.AccentColor; - accentColor.W = 0.1f; - imDrawListPtr.AddLine(p, p2, _200E_202D_206A_206A_206A_202D_202A_200C_202E_202E_202C_202C_206D_202C_206E_206C_202C_206D_206D_206E_202D_202D_206D_202A_202D_200D_200F_202E_200C_200F_202B_200D_202C_202D_206A_202B_202E_202A_202D_200D_202E(accentColor), 1f); - _200B_202A_206E_206E_206E_202D_200F_206A_206F_206E_206F_206B_200F_206A_206F_206A_200C_200D_202D_206E_200D_200B_200F_206C_200C_200B_206C_202E_206D_200C_206F_202A_206F_206E_206E_206A_206C_200D_202A_206B_202E(_206E_206B_206A_200F_206E_200F_206E_206E_206D_202E_206E_202A_206B_200D_202B_206D_202B_202C_200E_202D_200E_206E_206D_200C_206A_200F_200D_206F_200C_200B_202D_206C_202A_206C_206B_206D_202D_206A_200B_206A_202E() + 4f); - num2 = -839072908; - break; - } - case 3: - num2 = (enumerator.MoveNext() ? (-839072906) : (-839072905)); - break; - case 0: - goto end_IL_01f0; - } - continue; - end_IL_01f0: - break; - } - } - _hasSetInitialState = true; - return; - } - } - } - } - } - continue; - IL_00ae: - num2 = 409981809; + return; } + using ImRaii.ChildDisposable childDisposable2 = ImRaii.Child("ChangelogScrollInner", Vector2.Zero, border: false); + if (!childDisposable2) + { + return; + } + List changelogs = ChangelogData.Changelogs; + ChangelogEntry changelogEntry = changelogs.FirstOrDefault(); + if (changelogs.Count == 0) + { + ImGui.SetCursorPosY(ImGui.GetCursorPosY() + 40f); + UiThemeUtils.EmptyState(FontAwesomeIcon.FileAlt, "No changelog entries available."); + return; + } + ChangelogEntryComponent changelogEntryComponent = new ChangelogEntryComponent(_configuration, _windowOpenCount, _headerAnimationTime); + foreach (ChangelogEntry item in changelogs) + { + changelogEntryComponent.Draw(item, item == changelogEntry, _hasSetInitialState); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + float num2 = ImGui.GetContentRegionAvail().X * 0.5f; + float num3 = (ImGui.GetContentRegionAvail().X - num2) * 0.5f; + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 p = cursorScreenPos + new Vector2(num3, 0f); + Vector2 p2 = cursorScreenPos + new Vector2(num3 + num2, 0f); + Vector4 accentColor = UiThemeUtils.AccentColor; + accentColor.W = 0.1f; + windowDrawList.AddLine(p, p2, ImGui.ColorConvertFloat4ToU32(accentColor), 1f); + ImGui.SetCursorPosY(ImGui.GetCursorPosY() + 4f); + } + _hasSetInitialState = true; } private void MarkAllAsRead() { string text = ChangelogData.Changelogs.FirstOrDefault()?.Version; - int num = ((text == null) ? 746834927 : 746834924); - while (true) + if (text != null) { - int num2 = num; - int num3 = 746834926; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return; - case 2: - _configuration.LastViewedChangelogVersion = text; - _202E_202B_200E_202C_200E_202B_200E_202A_206A_202B_206E_206E_200F_206A_202B_200B_202B_206A_206A_202C_202D_202E_200D_202C_202C_200D_202E_206A_206B_202A_202C_206C_206B_200B_206F_206F_202B_200F_202B_206E_202E(_pluginInterface, (IPluginConfiguration)_configuration); - num = 746834927; - break; - case 0: - num = 746834924; - break; - } + _configuration.LastViewedChangelogVersion = text; + _pluginInterface.SavePluginConfig(_configuration); } } - - void _206C_200E_202B_202B_206A_206B_200F_206C_200E_206B_200B_206E_200D_200B_206C_200E_206E_202C_200F_200E_202E_206D_202B_202E_206C_200C_206F_202A_206A_200D_200C_202E_202B_202D_202B_202C_202C_200F_202A_202C_202E(Vector2? P_0) - { - base.Size = P_0; - } - - void _206C_202E_200B_200E_200E_200B_206A_200D_206B_200E_200B_202B_202D_202A_200F_206D_202C_200C_200D_206C_202E_200E_202B_202C_206D_202C_202A_202E_200E_206C_202B_200D_200B_200F_200E_200D_202D_206D_202A_202B_202E(ImGuiCond P_0) - { - base.SizeCondition = P_0; - } - - void _206C_206A_206C_202C_206F_200C_200F_202A_202A_200E_206B_200B_202E_202B_202C_202D_202D_200C_202D_202D_200F_206E_206E_200E_200C_202A_206A_206E_200E_202B_202E_202E_200E_202B_206A_202C_200F_206D_202B_206A_202E(WindowSizeConstraints? P_0) - { - base.SizeConstraints = P_0; - } - - static ImDrawListPtr _206D_200E_206F_202B_202E_200F_200D_200D_206A_200D_202D_202A_200B_206A_200B_200E_206B_206B_200B_202C_202E_206C_200C_206C_206A_206A_202D_200D_206B_206E_202A_200E_202B_200F_206F_206E_206E_202E_202B_202C_202E() - { - return ImGui.GetWindowDrawList(); - } - - static Vector2 _202B_200C_206F_200D_200D_206D_200C_202D_206B_202B_206B_206C_200C_200D_200F_200F_200D_202C_200C_206F_206B_202D_202B_202C_206C_200E_202E_206C_200F_206E_206E_206D_206B_206B_202B_200F_200C_206A_202D_200C_202E() - { - return ImGui.GetWindowPos(); - } - - static Vector2 _206A_202C_202A_200D_206B_202E_206C_206C_206B_200B_206A_206C_206A_200C_206B_206A_206E_206B_200E_206A_202C_202B_202A_202C_206A_200E_202B_200C_202E_202C_206E_206C_200E_206D_206B_200D_206E_206A_202E_202A_202E() - { - return ImGui.GetWindowSize(); - } - - static uint _200E_202D_206A_206A_206A_202D_202A_200C_202E_202E_202C_202C_206D_202C_206E_206C_202C_206D_206D_206E_202D_202D_206D_202A_202D_200D_200F_202E_200C_200F_202B_200D_202C_202D_206A_202B_202E_202A_202D_200D_202E(Vector4 P_0) - { - return ImGui.ColorConvertFloat4ToU32(P_0); - } - - void _202E_202E_200F_206C_200E_206F_200B_206C_200C_202C_202B_206B_202D_202D_206E_206D_202B_206A_202B_206D_202A_200D_200D_206B_200F_200F_202B_202C_206E_200D_200F_206F_206E_206A_202D_200E_202D_202E_200D_200E_202E() - { - base.OnOpen(); - } - - void _206A_202A_200F_206C_206F_206C_206B_202E_200B_206D_206D_206D_202D_200E_206D_200F_200C_202E_206F_206F_200E_202A_202E_200F_200D_202A_202D_200B_200C_206E_202C_202A_206F_206E_202D_200C_200E_206A_200B_200F_202E() - { - base.OnClose(); - } - - static ImGuiIOPtr _202C_202E_202B_200D_202B_206C_200D_202C_200C_206A_202C_200E_202E_202D_200F_206F_200C_202D_206F_206D_200D_202C_206F_206B_206F_206A_206B_202C_202B_200F_206C_200C_206B_202A_206F_202C_200D_206E_200B_200C_202E() - { - return ImGui.GetIO(); - } - - static float _202A_206F_206A_202D_206E_200C_202C_202B_202E_206A_206E_206E_206C_202E_200D_200C_202B_200C_200D_200F_202E_206A_206E_202B_200D_206F_202B_202B_202C_202B_206B_200F_200B_202D_206F_200E_202E_202A_206B_206F_202E() - { - return ImGui.GetFrameHeightWithSpacing(); - } - - static ImGuiStylePtr _202D_202C_202D_200E_202D_202E_202E_200F_202E_206C_202E_200E_200D_200C_206F_200C_202C_200B_202E_206B_200D_206E_202B_200C_200B_206B_202B_206C_206C_200C_206B_206E_202D_200E_200D_206B_202A_202D_202E_202E() - { - return ImGui.GetStyle(); - } - - static ImRaii.ChildDisposable _206E_206E_200F_200D_206D_206A_206C_202C_202B_200E_200E_206E_206C_206B_206C_202E_206A_206E_202B_200B_202B_200D_206A_206A_206B_206F_202C_206B_200B_206E_200F_202D_206F_206D_200E_200E_202E_206F_206E_206D_202E(ImU8String P_0, Vector2 P_1, bool P_2, ImGuiWindowFlags P_3) - { - return ImRaii.Child(P_0, P_1, P_2, P_3); - } - - static ImRaii.ChildDisposable _206E_200B_200C_200E_200D_206B_202D_206D_200E_202C_206A_200C_206C_206A_206F_206A_202A_206C_200F_206B_206F_202D_206D_202E_200D_206A_200B_206C_206C_200D_200C_200F_202C_202B_202A_200F_202E_206C_206C_202D_202E(ImU8String P_0, Vector2 P_1, bool P_2) - { - return ImRaii.Child(P_0, P_1, P_2); - } - - static float _206E_206B_206A_200F_206E_200F_206E_206E_206D_202E_206E_202A_206B_200D_202B_206D_202B_202C_200E_202D_200E_206E_206D_200C_206A_200F_200D_206F_200C_200B_202D_206C_202A_206C_206B_206D_202D_206A_200B_206A_202E() - { - return ImGui.GetCursorPosY(); - } - - static void _200B_202A_206E_206E_206E_202D_200F_206A_206F_206E_206F_206B_200F_206A_206F_206A_200C_200D_202D_206E_200D_200B_200F_206C_200C_200B_206C_202E_206D_200C_206F_202A_206F_206E_206E_206A_206C_200D_202A_206B_202E(float P_0) - { - ImGui.SetCursorPosY(P_0); - } - - static Vector2 _206C_200B_200C_200E_200E_200F_202B_202B_200D_206D_206B_200C_200F_202B_202C_206C_206A_202D_200E_206E_202D_200B_202E_206F_202C_206D_206A_200F_200E_206D_206E_206D_202B_200E_206D_206E_200C_202D_206D_202C_202E() - { - return ImGui.GetCursorScreenPos(); - } - - static Vector2 _200E_200D_202D_206F_202B_202B_202C_202B_202B_202C_200D_200E_200D_200C_206B_202C_202C_206D_200B_206D_200B_200C_202A_202A_200F_200D_206D_202B_202C_206A_202A_206C_202A_200B_202C_206C_200C_202A_202D_206C_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static void _202E_202B_200E_202C_200E_202B_200E_202A_206A_202B_206E_206E_200F_206A_202B_200B_202B_206A_206A_202C_202D_202E_200D_202C_202C_200D_202E_206A_206B_202A_202C_206C_206B_200B_206F_206F_202B_200F_202B_206E_202E(IDalamudPluginInterface P_0, IPluginConfiguration P_1) - { - P_0.SavePluginConfig(P_1); - } } diff --git a/Questionable/Questionable.Windows/ConfigWindow.cs b/Questionable/Questionable.Windows/ConfigWindow.cs index 4232ae5..da64b36 100644 --- a/Questionable/Questionable.Windows/ConfigWindow.cs +++ b/Questionable/Questionable.Windows/ConfigWindow.cs @@ -1,10 +1,6 @@ -using System; -using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; -using Dalamud.Configuration; using Dalamud.Interface; using Dalamud.Interface.Utility; using Dalamud.Interface.Utility.Raii; @@ -17,56 +13,33 @@ namespace Questionable.Windows; internal sealed class ConfigWindow : ThemedWindow, IPersistableWindowConfig { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - internal IEnumerable _003C_002Ecctor_003Eb__11_0(SidebarNav.Group g) - { - return g.Items; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal bool _003C_002Ecctor_003Eb__11_1(SidebarNav.Item i) - { - return _200C_206E_202B_206D_200C_202E_206F_206D_206A_202D_206A_206E_200E_206F_202A_200E_202A_206D_200B_206C_202C_206A_202A_202D_200D_206F_202C_200C_202D_200E_202C_206F_200C_206A_202A_202A_202C_202B_206B_202E_202E(i.Label, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1362895392)); - } - - static bool _200C_206E_202B_206D_200C_202E_206F_206D_206A_202D_206A_206E_200E_206F_202A_200E_202A_206D_200B_206C_202C_206A_202A_202D_200D_206F_202C_200C_202D_200E_202C_206F_200C_206A_202A_202A_202C_202B_206B_202E_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - } - private static readonly SidebarNav.Group[] NavGroups = new SidebarNav.Group[4] { - new SidebarNav.Group(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(-1422580524), new SidebarNav.Item[3] + new SidebarNav.Group("Gameplay", new SidebarNav.Item[3] { - new SidebarNav.Item(FontAwesomeIcon.Cog, 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(-481549718)), - new SidebarNav.Item(FontAwesomeIcon.BookOpen, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1895196101)), - new SidebarNav.Item(FontAwesomeIcon.Route, 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(-1010966512)) + new SidebarNav.Item(FontAwesomeIcon.Cog, "General"), + new SidebarNav.Item(FontAwesomeIcon.BookOpen, "Quests"), + new SidebarNav.Item(FontAwesomeIcon.Route, "Navigation") }), - new SidebarNav.Group(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2007815205), new SidebarNav.Item[2] + new SidebarNav.Group("Duties", new SidebarNav.Item[2] { - new SidebarNav.Item(FontAwesomeIcon.Users, 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(2085542564)), - new SidebarNav.Item(FontAwesomeIcon.FistRaised, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-131828231)) + new SidebarNav.Item(FontAwesomeIcon.Users, "Group Duties"), + new SidebarNav.Item(FontAwesomeIcon.FistRaised, "Quest Battles") }), - new SidebarNav.Group(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1779953204), new SidebarNav.Item[2] + new SidebarNav.Group("Control", new SidebarNav.Item[2] { - new SidebarNav.Item(FontAwesomeIcon.StopCircle, 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(560121957)), - new SidebarNav.Item(FontAwesomeIcon.Ban, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1236596742)) + new SidebarNav.Item(FontAwesomeIcon.StopCircle, "Stop"), + new SidebarNav.Item(FontAwesomeIcon.Ban, "Blacklist") }), - new SidebarNav.Group(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1592827330), new SidebarNav.Item[3] + new SidebarNav.Group("System", new SidebarNav.Item[3] { - new SidebarNav.Item(FontAwesomeIcon.Plug, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1534290435)), - new SidebarNav.Item(FontAwesomeIcon.Bell, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-245509244)), - new SidebarNav.Item(FontAwesomeIcon.Flask, 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(118104062)) + new SidebarNav.Item(FontAwesomeIcon.Plug, "Dependencies"), + new SidebarNav.Item(FontAwesomeIcon.Bell, "Notifications"), + new SidebarNav.Item(FontAwesomeIcon.Flask, "Advanced") }) }; - private static readonly int DependenciesPageIndex = NavGroups.SelectMany((SidebarNav.Group g) => g.Items).ToList().FindIndex([MethodImpl(MethodImplOptions.NoInlining)] (SidebarNav.Item i) => _003C_003Ec._200C_206E_202B_206D_200C_202E_206F_206D_206A_202D_206A_206E_200E_206F_202A_200E_202A_206D_200B_206C_202C_206A_202A_202D_200D_206F_202C_200C_202D_200E_202C_206F_200C_206A_202A_202A_202C_202B_206B_202E_202E(i.Label, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1362895392))); + private static readonly int DependenciesPageIndex = NavGroups.SelectMany((SidebarNav.Group g) => g.Items).ToList().FindIndex((SidebarNav.Item i) => i.Label == "Dependencies"); private readonly IDalamudPluginInterface _pluginInterface; @@ -78,16 +51,15 @@ internal sealed class ConfigWindow : ThemedWindow, IPersistableWindowConfig public WindowConfig WindowConfig => _configuration.ConfigWindowConfig; - [MethodImpl(MethodImplOptions.NoInlining)] public ConfigWindow(IDalamudPluginInterface pluginInterface, GeneralConfigComponent generalConfigComponent, QuestsConfigComponent questsConfigComponent, PluginConfigComponent pluginConfigComponent, DutyConfigComponent dutyConfigComponent, SinglePlayerDutyConfigComponent singlePlayerDutyConfigComponent, StopConditionComponent stopConditionComponent, BlacklistConfigComponent blacklistConfigComponent, NavigationConfigComponent navigationConfigComponent, NotificationConfigComponent notificationConfigComponent, DebugConfigComponent debugConfigComponent, Configuration configuration) - : base(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(-1087761369)) + : base("Config - Questionable###QuestionableConfig") { - _202B_206C_206E_202A_200F_206B_206A_200D_206B_202E_202B_202B_200C_200F_200B_202C_202B_206B_202C_202A_202A_202B_200B_200D_206C_202E_206D_206A_200F_202D_202C_200D_200B_202C_200C_206E_206A_202B_202E_202D_202E((Vector2?)new Vector2(760f, 620f)); - _202B_202E_206A_200B_200D_206E_206F_200E_206C_202A_202C_206F_202E_206F_202D_202B_206F_206C_200D_206D_202C_206E_206E_202A_200B_202E_202B_206F_200C_206C_202C_206B_206A_206F_206E_200F_202B_206A_202A_202E(ImGuiCond.FirstUseEver); - _200C_206E_200C_200D_200C_200E_202E_202D_200F_206B_200B_202A_200E_206E_206E_202A_200F_202D_200B_202E_206C_202A_200F_206B_206D_202A_200F_200B_202B_202C_200E_200C_202D_202C_200F_202E_202B_206E_202A_200E_202E((WindowSizeConstraints?)new WindowSizeConstraints + base.Size = new Vector2(760f, 620f); + base.SizeCondition = ImGuiCond.FirstUseEver; + base.SizeConstraints = new WindowSizeConstraints { MinimumSize = new Vector2(640f, 480f) - }); + }; _pluginInterface = pluginInterface; _configuration = configuration; _pages = new ConfigComponent[10] { generalConfigComponent, questsConfigComponent, navigationConfigComponent, dutyConfigComponent, singlePlayerDutyConfigComponent, stopConditionComponent, blacklistConfigComponent, pluginConfigComponent, notificationConfigComponent, debugConfigComponent }; @@ -97,95 +69,22 @@ internal sealed class ConfigWindow : ThemedWindow, IPersistableWindowConfig }; } - [MethodImpl(MethodImplOptions.NoInlining)] public override void DrawContent() { _selectedTab = SidebarNav.Draw(NavGroups, _selectedTab); - using ImRaii.ChildDisposable childDisposable = _200B_202B_200C_200D_202D_200C_202D_200E_200F_200C_202B_202E_202A_200E_206A_200D_200F_202B_206B_206D_206C_202D_206B_206A_202A_200B_200B_206C_206B_200F_202D_200E_202D_200F_200F_202A_206A_202C_202A_202B_202E((ImU8String)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(-930802894), Vector2.Zero); - if (!(bool)childDisposable) + using ImRaii.ChildDisposable childDisposable = ImRaii.Child("##qstConfigContent", Vector2.Zero); + if ((bool)childDisposable) { - return; - } - ImRaii.IndentDisposable indentDisposable = _206B_202A_200C_200D_206B_200F_206E_200B_202D_202E_202B_206F_200E_202E_202E_206B_200F_200C_200E_202C_202D_206E_200B_200B_206F_206A_206B_200D_206F_200F_206C_200B_200B_202E_206C_200F_202E_200D_206A_206A_202E(8f * _206D_206A_202B_206C_206E_206D_200B_206A_206A_206F_206D_200E_200F_206E_202B_202A_200D_202C_206A_206F_202D_206C_200B_202C_202A_200D_206D_202B_202D_202A_202D_200D_200C_206E_202C_200E_200C_202D_206B_206B_202E(), true, true); - try - { - _pages[_selectedTab].DrawTab(); - } - finally - { - int num = ((indentDisposable == null) ? 1030093323 : 1030093320); - while (true) + using (ImRaii.PushIndent(8f * ImGuiHelpers.GlobalScale)) { - int num2 = num; - int num3 = 1030093321; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1030093320; - break; - case 2: - goto end_IL_0086; - case 1: - _202C_200E_200E_202C_202B_202D_206A_200E_202B_202E_202C_202B_202E_202C_202E_206B_206E_206B_206A_202D_206B_206D_202A_206D_200C_202C_206E_202D_202D_206A_206A_206B_202C_202A_202A_206A_206D_202D_206C_202D_202E((IDisposable)indentDisposable); - num = 1030093323; - break; - } - continue; - end_IL_0086: - break; + _pages[_selectedTab].DrawTab(); + return; } } } public void SaveWindowConfig() { - _206A_202C_202E_206B_202B_200D_202C_200F_206C_200D_206C_206E_206D_206B_202C_200D_200D_202B_202E_200C_200D_202C_202B_206D_200F_200D_206D_200B_200B_202A_206A_202B_202A_202D_206A_202D_200F_206F_206F_202A_202E(_pluginInterface, (IPluginConfiguration)_configuration); - } - - void IPersistableWindowConfig.SaveWindowConfig() - { - //ILSpy generated this explicit interface implementation from .override directive in SaveWindowConfig - this.SaveWindowConfig(); - } - - void _202B_206C_206E_202A_200F_206B_206A_200D_206B_202E_202B_202B_200C_200F_200B_202C_202B_206B_202C_202A_202A_202B_200B_200D_206C_202E_206D_206A_200F_202D_202C_200D_200B_202C_200C_206E_206A_202B_202E_202D_202E(Vector2? P_0) - { - base.Size = P_0; - } - - void _202B_202E_206A_200B_200D_206E_206F_200E_206C_202A_202C_206F_202E_206F_202D_202B_206F_206C_200D_206D_202C_206E_206E_202A_200B_202E_202B_206F_200C_206C_202C_206B_206A_206F_206E_200F_202B_206A_202A_202E(ImGuiCond P_0) - { - base.SizeCondition = P_0; - } - - void _200C_206E_200C_200D_200C_200E_202E_202D_200F_206B_200B_202A_200E_206E_206E_202A_200F_202D_200B_202E_206C_202A_200F_206B_206D_202A_200F_200B_202B_202C_200E_200C_202D_202C_200F_202E_202B_206E_202A_200E_202E(WindowSizeConstraints? P_0) - { - base.SizeConstraints = P_0; - } - - static ImRaii.ChildDisposable _200B_202B_200C_200D_202D_200C_202D_200E_200F_200C_202B_202E_202A_200E_206A_200D_200F_202B_206B_206D_206C_202D_206B_206A_202A_200B_200B_206C_206B_200F_202D_200E_202D_200F_200F_202A_206A_202C_202A_202B_202E(ImU8String P_0, Vector2 P_1) - { - return ImRaii.Child(P_0, P_1); - } - - static float _206D_206A_202B_206C_206E_206D_200B_206A_206A_206F_206D_200E_200F_206E_202B_202A_200D_202C_206A_206F_202D_206C_200B_202C_202A_200D_206D_202B_202D_202A_202D_200D_200C_206E_202C_200E_200C_202D_206B_206B_202E() - { - return ImGuiHelpers.GlobalScale; - } - - static ImRaii.IndentDisposable _206B_202A_200C_200D_206B_200F_206E_200B_202D_202E_202B_206F_200E_202E_202E_206B_200F_200C_200E_202C_202D_206E_200B_200B_206F_206A_206B_200D_206F_200F_206C_200B_200B_202E_206C_200F_202E_200D_206A_206A_202E(float P_0, bool P_1, bool P_2) - { - return ImRaii.PushIndent(P_0, P_1, P_2); - } - - static void _202C_200E_200E_202C_202B_202D_206A_200E_202B_202E_202C_202B_202E_202C_202E_206B_206E_206B_206A_202D_206B_206D_202A_206D_200C_202C_206E_202D_202D_206A_206A_206B_202C_202A_202A_206A_206D_202D_206C_202D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _206A_202C_202E_206B_202B_200D_202C_200F_206C_200D_206C_206E_206D_206B_202C_200D_200D_202B_202E_200C_200D_202C_202B_206D_200F_200D_206D_200B_200B_202A_206A_202B_202A_202D_206A_202D_200F_206F_206F_202A_202E(IDalamudPluginInterface P_0, IPluginConfiguration P_1) - { - P_0.SavePluginConfig(P_1); + _pluginInterface.SavePluginConfig(_configuration); } } diff --git a/Questionable/Questionable.Windows/FateSelectionWindow.cs b/Questionable/Questionable.Windows/FateSelectionWindow.cs index 60062dc..097d022 100644 --- a/Questionable/Questionable.Windows/FateSelectionWindow.cs +++ b/Questionable/Questionable.Windows/FateSelectionWindow.cs @@ -20,92 +20,6 @@ namespace Questionable.Windows; internal sealed class FateSelectionWindow : ThemedWindow { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__16_1; - - public static Func _003C_003E9__16_2; - - public static Func _003C_003E9__16_3; - - internal int _003CDrawFateTable_003Eb__16_1(FateDefinition f) - { - DateTime? dateTime = _206C_200C_206E_206A_200E_206B_200B_206B_202B_202C_206F_206D_200D_200B_200F_202B_202B_202D_202A_202D_206A_202D_202A_200D_206F_202B_200D_200F_206B_200C_206A_206F_206C_202D_206D_200D_200E_206C_206D_200F_202E(f); - int num = ((!dateTime.HasValue) ? 932406398 : 932406397); - while (true) - { - int num2 = num; - int num3 = 932406396; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return 0; - case 1: - { - DateTime valueOrDefault = dateTime.GetValueOrDefault(); - num = ((!(EventInfoComponent.NormalizeExpiry(valueOrDefault) - DateTime.UtcNow > TimeSpan.Zero)) ? 932406398 : 932406399); - break; - } - case 0: - num = 932406397; - break; - case 2: - return 1; - } - } - } - - internal double _003CDrawFateTable_003Eb__16_2(FateDefinition f) - { - DateTime? dateTime = _206C_200C_206E_206A_200E_206B_200B_206B_202B_202C_206F_206D_200D_200B_200F_202B_202B_202D_202A_202D_206A_202D_202A_200D_206F_202B_200D_200F_206B_200C_206A_206F_206C_202D_206D_200D_200E_206C_206D_200F_202E(f); - int num = ((!dateTime.HasValue) ? 100735117 : 100735116); - TimeSpan timeSpan = default(TimeSpan); - while (true) - { - int num2 = num; - int num3 = 100735117; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return double.MaxValue; - case 1: - { - DateTime valueOrDefault = dateTime.GetValueOrDefault(); - timeSpan = EventInfoComponent.NormalizeExpiry(valueOrDefault) - DateTime.UtcNow; - num = ((!(timeSpan > TimeSpan.Zero)) ? 100735117 : 100735119); - break; - } - case 3: - num = 100735116; - break; - case 2: - return timeSpan.TotalSeconds; - } - } - } - - internal string _003CDrawFateTable_003Eb__16_3(FateDefinition f) - { - return _202A_200E_206A_200F_200C_206C_202E_202D_202A_202D_200E_206F_202D_200F_206C_206B_206C_202E_200D_202D_202B_200D_202D_206C_200E_200D_202B_202B_202D_202E_200F_206A_202E_206C_206A_206A_202C_206F_202A_206F_202E(f); - } - - static DateTime? _206C_200C_206E_206A_200E_206B_200B_206B_202B_202C_206F_206D_200D_200B_200F_202B_202B_202D_202A_202D_206A_202D_202A_200D_206F_202B_200D_200F_206B_200C_206A_206F_206C_202D_206D_200D_200E_206C_206D_200F_202E(FateDefinition P_0) - { - return P_0.EventExpiry; - } - - static string _202A_200E_206A_200F_200C_206C_202E_202D_202A_202D_200E_206F_202D_200F_206C_206B_206C_202E_200D_202D_202B_200D_202D_206C_200E_200D_202B_202B_202D_202E_200F_206A_202E_206C_206A_206A_202C_206F_202A_206F_202E(FateDefinition P_0) - { - return P_0.Name; - } - } - private readonly FateController _fateController; private readonly FateDefinitionRegistry _fateDefinitionRegistry; @@ -130,9 +44,8 @@ internal sealed class FateSelectionWindow : ThemedWindow private string _searchText = string.Empty; - [MethodImpl(MethodImplOptions.NoInlining)] public FateSelectionWindow(FateController fateController, FateDefinitionRegistry fateDefinitionRegistry, QuestController questController, SeasonalDutyController seasonalDutyController, CustomDeliveryController customDeliveryController, AttunementController attunementController, MovementController movementController, QuestFunctions questFunctions, QuestData questData, TerritoryData territoryData) - : base(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-2131126948)) + : base("FATE Farming###QuestionableFateFarming") { _fateController = fateController; _fateDefinitionRegistry = fateDefinitionRegistry; @@ -144,1273 +57,344 @@ internal sealed class FateSelectionWindow : ThemedWindow _questFunctions = questFunctions; _questData = questData; _territoryData = territoryData; - _206E_200E_206E_206F_202B_200D_200C_202A_200B_200E_202C_206A_200C_202B_202E_200C_200D_206D_200C_200C_206E_206E_202C_206B_200C_206E_206E_206E_202D_200E_206A_206B_200B_206A_200D_200F_202A_206D_206D_202D_202E((Vector2?)new Vector2(600f, 400f)); - _200B_200B_202A_206E_206D_206C_206B_206A_206D_200E_206A_206A_206E_200D_200F_206E_206F_202C_206B_202A_200D_206B_200E_202C_206D_206C_206A_202E_206F_202B_206C_206E_200F_202D_202B_202D_200D_206E_206F_202E_202E(ImGuiCond.FirstUseEver); - _206B_200C_202A_206F_200B_202B_206C_202A_200B_200F_200D_202B_200D_206A_206A_200F_206E_202D_206D_206B_202C_200E_206C_206C_202A_206D_206F_200C_202A_202D_206C_206E_206D_206D_206D_206A_206C_202D_206D_202D_202E((WindowSizeConstraints?)new WindowSizeConstraints + base.Size = new Vector2(600f, 400f); + base.SizeCondition = ImGuiCond.FirstUseEver; + base.SizeConstraints = new WindowSizeConstraints { MinimumSize = new Vector2(500f, 300f), MaximumSize = new Vector2(900f, 700f) - }); + }; } - [MethodImpl(MethodImplOptions.NoInlining)] public override void DrawContent() { - int num = ((!_fateController.IsRunning) ? (-133961469) : (-133961471)); - while (true) + if (_fateController.IsRunning) { - int num2 = num; - int num3 = -133961470; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (CycleSelectionUi.DrawRunningBanner(BuildRunningStatusText(), UiThemeUtils.StatusActive, FontAwesomeIcon.Play)) { - case 4: - UiThemeUtils.SectionSpacing(); - var (contentStartPos2, availableWidth2, drawList2) = UiThemeUtils.BeginCard(); - UiThemeUtils.SectionHeader(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(68747211)); - UiThemeUtils.SearchInput(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(-45767151), ref _searchText, -13f, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-297836706)); - _206A_200F_202D_200E_206F_206B_206A_206C_206D_206B_206B_202D_206C_206B_202A_206C_202A_200F_206A_202E_200D_206E_202E_202C_206F_202C_200B_202D_206F_206A_206F_202A_202D_200B_206B_206C_200F_202E_202E_206F_202E(); - DrawFateTable(); - UiThemeUtils.EndCard(contentStartPos2, availableWidth2, drawList2); - return; - case 0: - num = ((_fateDefinitionRegistry.Definitions.Count != 0) ? (-133961466) : (-133961468)); - break; - case 5: - num = -133961471; - break; - case 2: - _fateController.Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(94338279)); + _fateController.Stop("UI stop"); _movementController.Stop(); - num = -133961470; - break; - case 3: - num = ((!CycleSelectionUi.DrawRunningBanner(BuildRunningStatusText(), UiThemeUtils.StatusActive, FontAwesomeIcon.Play)) ? (-133961470) : (-133961472)); - break; - case 1: - var (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); - UiThemeUtils.SectionHeader(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1849900151)); - DrawControlsStrip(); - UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); - num = -133961470; - break; - case 6: - UiThemeUtils.EmptyState(FontAwesomeIcon.Star, 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(1036143635), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1493669563)); - return; } } + else + { + var (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); + UiThemeUtils.SectionHeader("Cycle Configuration"); + DrawControlsStrip(); + UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); + } + if (_fateDefinitionRegistry.Definitions.Count == 0) + { + UiThemeUtils.EmptyState(FontAwesomeIcon.Star, "No FATE Definitions", "Add FATE definitions to the FatePaths folder to get started."); + return; + } + UiThemeUtils.SectionSpacing(); + var (contentStartPos2, availableWidth2, drawList2) = UiThemeUtils.BeginCard(); + UiThemeUtils.SectionHeader("FATE List"); + UiThemeUtils.SearchInput("##FateSearch", ref _searchText, -13f, "Search FATEs..."); + ImGui.Spacing(); + DrawFateTable(); + UiThemeUtils.EndCard(contentStartPos2, availableWidth2, drawList2); } - [MethodImpl(MethodImplOptions.NoInlining)] private string BuildRunningStatusText() { - int num = (_fateController.CycleLimit.HasValue ? (-1679037885) : (-1679037886)); - string value = default(string); - string value2 = default(string); - string value3 = default(string); - string text3 = default(string); - IList remainingTaskNames = default(IList); - while (true) + string value = (_fateController.CycleLimit.HasValue ? $"Cycle {_fateController.CompletedCycles + 1} / {_fateController.CycleLimit}" : $"Cycle {_fateController.CompletedCycles + 1}"); + string value2 = FormatElapsed(_fateController.ElapsedTime); + IList remainingTaskNames = _fateController.GetRemainingTaskNames(); + string text = ((remainingTaskNames.Count > 0) ? remainingTaskNames[0] : ""); + string name = _fateController.CurrentFate.Name; + if (text.Length > 0) { - int num2 = num; - int num3 = -1679037887; - int num4 = num2; - string text; - string text2; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 6: - text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1281927779); - break; - case 0: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler4 = new DefaultInterpolatedStringHandler(10, 3); - defaultInterpolatedStringHandler4.AppendFormatted(value); - defaultInterpolatedStringHandler4.AppendLiteral(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(-930966885)); - defaultInterpolatedStringHandler4.AppendFormatted(value2); - defaultInterpolatedStringHandler4.AppendLiteral(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(-2010167156)); - defaultInterpolatedStringHandler4.AppendFormatted(value3); - return defaultInterpolatedStringHandler4.ToStringAndClear(); - } - case 2: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(9, 2); - defaultInterpolatedStringHandler3.AppendLiteral(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(1757472156)); - defaultInterpolatedStringHandler3.AppendFormatted(_fateController.CompletedCycles + 1); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1534070043)); - defaultInterpolatedStringHandler3.AppendFormatted(_fateController.CycleLimit); - text2 = defaultInterpolatedStringHandler3.ToStringAndClear(); - goto IL_012e; - } - case 4: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(15, 4); - defaultInterpolatedStringHandler2.AppendFormatted(value); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(643493573)); - defaultInterpolatedStringHandler2.AppendFormatted(value2); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1090853622)); - defaultInterpolatedStringHandler2.AppendFormatted(value3); - defaultInterpolatedStringHandler2.AppendLiteral(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(-2010167156)); - defaultInterpolatedStringHandler2.AppendFormatted(text3); - return defaultInterpolatedStringHandler2.ToStringAndClear(); - } - case 5: - num = -1679037886; - continue; - case 3: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(6, 1); - defaultInterpolatedStringHandler.AppendLiteral(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(-1745458759)); - defaultInterpolatedStringHandler.AppendFormatted(_fateController.CompletedCycles + 1); - text2 = defaultInterpolatedStringHandler.ToStringAndClear(); - goto IL_012e; - } - case 1: - { - text = remainingTaskNames[0]; - break; - } - IL_012e: - value2 = text2; - value3 = FormatElapsed(_fateController.ElapsedTime); - remainingTaskNames = _fateController.GetRemainingTaskNames(); - num = ((remainingTaskNames.Count > 0) ? (-1679037888) : (-1679037881)); - continue; - } - text3 = text; - value = _202D_206E_200E_206A_200E_200E_200F_202E_206F_206F_206E_202B_200C_202E_200B_200C_200F_200B_202B_200C_206E_202B_206C_202A_206C_200C_200B_200D_202D_202D_202A_200E_206C_206A_206C_200F_206E_202A_206F_200D_202E(_fateController.CurrentFate); - num = ((_206F_206F_202C_202A_202B_206B_202E_202B_206B_200D_202E_202A_206E_206B_200F_200B_206F_206A_206B_206A_202B_206F_206E_206F_206F_200D_202A_200B_202D_200D_200D_200C_202A_206B_202B_200C_202D_200D_200F_202E_202E(text3) > 0) ? (-1679037883) : (-1679037887)); + return $"{name} · {value} · {value2} · {text}"; } + return $"{name} · {value} · {value2}"; } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawControlsStrip() { - ImRaii.DisabledDisposable disabledDisposable = _206A_202E_202E_206F_206F_202D_206A_206A_206E_202D_200E_200B_206D_200D_200E_200C_202B_202A_202D_200F_206E_202E_202A_202C_200E_206D_200D_206F_202E_202E_202D_206B_206E_202A_200E_200B_206F_202A_200F_206E_202E(_fateController.IsRunning); - try + using (ImRaii.Disabled(_fateController.IsRunning)) { - _206A_202A_206A_200E_206A_206A_202E_206D_200F_202A_202A_200D_206A_206C_202C_202D_202A_202E_202E_206A_200E_202A_200D_202C_200D_206F_200C_206D_206B_200F_202A_202B_206D_202E_202E_202E_206F_202D_200E_202A_202E(); - _200E_206B_206C_200E_202C_200B_206E_206A_202D_206B_206C_202B_202E_206B_202A_206F_200B_202E_206D_202D_206B_206C_202C_202A_202D_206D_206A_206F_200C_200B_206B_206D_200D_206E_206A_200E_202B_202C_200C_200F_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1752848309)); - _200C_200C_202C_206C_200E_202E_202D_200F_206E_200D_200C_200C_200B_206F_206C_202E_200E_202D_200F_202C_202D_202A_202D_206F_200D_200E_202B_206C_206D_200D_202E_200D_200D_206B_202A_206D_200C_206F_200B_206D_202E(); - _206B_200B_202C_202D_202A_206C_200E_202D_200E_200F_202C_202C_202B_206D_202E_200F_202C_206B_202C_200B_202D_202D_206E_206C_200C_206E_200E_202B_200C_200E_206B_202A_200C_200F_202A_200F_206F_200F_200D_206F_202E(100f * _202E_202E_206A_202D_202D_200B_200E_202A_206D_200C_206F_200F_200B_206A_202A_200D_206F_206E_206C_202D_200E_206B_202A_200F_206A_206E_200E_202B_200E_206F_206A_200E_200B_206D_206B_206E_206E_202E_202D_202D_202E().FontGlobalScale); - _206B_200C_206B_200C_200D_200F_200F_202C_200C_200B_206A_206C_200C_202A_200E_202E_200F_202B_202C_200C_202E_200C_200B_200F_206B_206D_202A_206F_200D_200D_200B_200D_202B_202A_202E_200B_202C_200B_200F_202B_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2080322340), ref _cycleLimit, 1, 5, default(ImU8String), ImGuiInputTextFlags.None); - int num = ((_cycleLimit >= 0) ? (-1704422761) : (-1704422764)); - while (true) + ImGui.AlignTextToFramePadding(); + ImGui.TextUnformatted("Cycles:"); + ImGui.SameLine(); + ImGui.SetNextItemWidth(100f * ImGui.GetIO().FontGlobalScale); + ImGui.InputInt("##CycleLimit", ref _cycleLimit, 1, 5); + if (_cycleLimit < 0) { - int num2 = num; - int num3 = -1704422762; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1704422764; - break; - case 2: - _cycleLimit = 0; - num = -1704422761; - break; - case 1: - _200C_200C_202C_206C_200E_202E_202D_200F_206E_200D_200C_200C_200B_206F_206C_202E_200E_202D_200F_202C_202D_202A_202D_206F_200D_200E_202B_206C_206D_200D_202E_200D_200D_206B_202A_206D_200C_206F_200B_206D_202E(); - _202B_206D_206C_202E_202A_200C_206D_206B_202C_202D_206C_200D_206C_202E_202E_206C_200B_202C_202D_200B_200E_200E_200F_206D_202E_200B_206C_206A_206A_202B_200B_206F_206D_200C_202A_202D_206E_202A_202E_206B_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)((_cycleLimit == 0) ? global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-247082897) : global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1694032531))); - goto end_IL_0091; - } - continue; - end_IL_0091: - break; + _cycleLimit = 0; } + ImGui.SameLine(); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, (_cycleLimit == 0) ? "(unlimited)" : ""); } - finally - { - int num = ((disabledDisposable == null) ? (-1621741864) : (-1621741863)); - while (true) - { - int num5 = num; - int num3 = -1621741864; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto end_IL_0132; - case 1: - _202A_206A_202E_206E_200E_202D_202E_200B_202E_200F_206C_206C_200F_206F_200C_206C_206F_202A_200B_206F_200C_200E_200F_200D_206D_202B_206B_206E_206F_206F_200E_200E_200D_202E_202C_200C_206A_206F_206D_206F_202E((IDisposable)disabledDisposable); - num = -1621741864; - break; - case 2: - num = -1621741863; - break; - } - continue; - end_IL_0132: - break; - } - } - _206A_200F_202D_200E_206F_206B_206A_206C_206D_206B_206B_202D_206C_206B_202A_206C_202A_200F_206A_202E_200D_206E_202E_202C_206F_202C_200B_202D_206F_206A_206F_202A_202D_200B_206B_206C_200F_202E_202E_206F_202E(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private void DrawFateTable() - { - IEnumerable source = _fateDefinitionRegistry.Definitions.Values; - int num = (_200D_206A_206E_206F_206C_200B_200B_200E_202E_200E_206E_200D_206B_206E_206A_202C_200E_200E_200E_202A_206A_202D_202B_206E_202C_200B_200E_202C_202C_206A_206C_200D_202C_202B_202B_206B_206F_206C_202B_206A_202E(_searchText) ? (-1655385262) : (-1655385263)); - List list = default(List); - FateDefinition current = default(FateDefinition); - bool flag = default(bool); - while (true) - { - int num2 = num; - int num3 = -1655385264; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = -1655385263; - break; - case 2: - list = source.OrderBy(delegate(FateDefinition f) - { - DateTime? dateTime = _003C_003Ec._206C_200C_206E_206A_200E_206B_200B_206B_202B_202C_206F_206D_200D_200B_200F_202B_202B_202D_202A_202D_206A_202D_202A_200D_206F_202B_200D_200F_206B_200C_206A_206F_206C_202D_206D_200D_200E_206C_206D_200F_202E(f); - int num13 = ((!dateTime.HasValue) ? 932406398 : 932406397); - while (true) - { - int num14 = num13; - int num15 = 932406396; - int num16 = num14; - switch ((num16 | num15) - (num16 & num15)) - { - case 3: - return 0; - case 1: - { - DateTime valueOrDefault = dateTime.GetValueOrDefault(); - num13 = ((!(EventInfoComponent.NormalizeExpiry(valueOrDefault) - DateTime.UtcNow > TimeSpan.Zero)) ? 932406398 : 932406399); - break; - } - case 0: - num13 = 932406397; - break; - case 2: - return 1; - } - } - }).ThenBy(delegate(FateDefinition f) - { - DateTime? dateTime = _003C_003Ec._206C_200C_206E_206A_200E_206B_200B_206B_202B_202C_206F_206D_200D_200B_200F_202B_202B_202D_202A_202D_206A_202D_202A_200D_206F_202B_200D_200F_206B_200C_206A_206F_206C_202D_206D_200D_200E_206C_206D_200F_202E(f); - int num13 = ((!dateTime.HasValue) ? 100735117 : 100735116); - TimeSpan timeSpan = default(TimeSpan); - while (true) - { - int num14 = num13; - int num15 = 100735117; - int num16 = num14; - switch ((num16 | num15) - (num16 & num15)) - { - case 0: - return double.MaxValue; - case 1: - { - DateTime valueOrDefault = dateTime.GetValueOrDefault(); - timeSpan = EventInfoComponent.NormalizeExpiry(valueOrDefault) - DateTime.UtcNow; - num13 = ((!(timeSpan > TimeSpan.Zero)) ? 100735117 : 100735119); - break; - } - case 3: - num13 = 100735116; - break; - case 2: - return timeSpan.TotalSeconds; - } - } - }).ThenBy((FateDefinition f) => _003C_003Ec._202A_200E_206A_200F_200C_206C_202E_202D_202A_202D_200E_206F_202D_200F_206C_206B_206C_202E_200D_202D_202B_200D_202D_206C_200E_200D_202B_202B_202D_202E_200F_206A_202E_206C_206A_206A_202C_206F_202A_206F_202E(f), _206C_206E_200F_200B_200D_200D_202B_200C_202A_200D_200B_206F_202A_202C_206D_206B_200D_200C_202D_206C_200D_200E_202E_200F_202D_200F_202D_200B_202D_200C_202D_206E_206F_200B_206E_200F_202B_206A_202E_200C_202E()) - .ToList(); - num = ((list.Count != 0) ? (-1655385264) : (-1655385260)); - break; - case 1: - source = source.Where(delegate(FateDefinition f) - { - int num13 = (_202B_206D_206F_202B_200E_206D_202B_200E_202D_202E_206A_202B_206E_200F_202C_206A_202E_202C_206E_200D_206D_202E_200E_202E_206B_202E_206C_200C_206E_202E_200F_206A_202C_202D_200E_202D_202E_200B_200C_202C_202E(_202D_206E_200E_206A_200E_200E_200F_202E_206F_206F_206E_202B_200C_202E_200B_200C_200F_200B_202B_200C_206E_202B_206C_202A_206C_200C_200B_200D_202D_202D_202A_200E_206C_206A_206C_200F_206E_202A_206F_200D_202E(f), _searchText, StringComparison.OrdinalIgnoreCase) ? (-321936680) : (-321936677)); - while (true) - { - int num14 = num13; - int num15 = -321936679; - int num16 = num14; - int num17 = num16 + num15; - int num18 = num16 & num15; - switch (num17 - (num18 + num18)) - { - case 1: - return true; - case 2: - return _202B_206D_206F_202B_200E_206D_202B_200E_202D_202E_206A_202B_206E_200F_202C_206A_202E_202C_206E_200D_206D_202E_200E_202E_206B_202E_206C_200C_206E_202E_200F_206A_202C_202D_200E_202D_202E_200B_200C_202C_202E(_territoryData.GetName(_202D_200E_206C_206C_202D_200E_202D_206A_202D_202A_200B_206C_202E_206A_202D_202C_202E_200E_206D_200F_202D_202A_202C_202D_202A_202C_206D_206F_202C_200F_200B_206B_206A_200E_202B_206C_206D_202A_200E_200D_202E(f)) ?? _200D_206D_202B_206A_200B_202C_202E_206A_200D_202A_200C_206C_202B_200C_206C_200C_200F_206F_202A_206B_202B_200B_202D_200B_202E_202D_200D_200D_202E_202B_206D_200D_202A_202E_202E_202D_206C_202B_206A_202B_202E(f), _searchText, StringComparison.OrdinalIgnoreCase); - case 0: - goto IL_0081; - } - continue; - IL_0081: - num13 = -321936677; - } - }); - num = -1655385262; - break; - case 4: - UiThemeUtils.EmptyState(FontAwesomeIcon.Search, 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(1755383346)); - return; - case 0: - { - using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable(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(-1422744515), 4, ImGuiTableFlags.SizingStretchProp | ImGuiTableFlags.ScrollY); - num = ((!(!tableDisposable)) ? (-2021256277) : (-2021256280)); - while (true) - { - int num5 = num; - num3 = -2021256278; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 0: - goto IL_01b9; - case 2: - return; - case 1: - { - _200C_206D_202C_206E_206E_202D_206D_200C_206A_200D_200C_202E_202D_202B_206C_202C_200C_202C_206D_202E_206C_206D_206B_200E_206E_200F_206E_200C_202B_200F_200F_200E_206F_206D_202D_202D_206B_202B_206E_206F_202E((ImU8String)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(261089734), ImGuiTableColumnFlags.None, 3f, 0u); - _200C_206D_202C_206E_206E_202D_206D_200C_206A_200D_200C_202E_202D_202B_206C_202C_200C_202C_206D_202E_206C_206D_206B_200E_206E_200F_206E_200C_202B_200F_200F_200E_206F_206D_202D_202D_206B_202B_206E_206F_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1292973020), ImGuiTableColumnFlags.None, 2f, 0u); - _200C_206D_202C_206E_206E_202D_206D_200C_206A_200D_200C_202E_202D_202B_206C_202C_200C_202C_206D_202E_206C_206D_206B_200E_206E_200F_206E_200C_202B_200F_200F_200E_206F_206D_202D_202D_206B_202B_206E_206F_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1413203702), ImGuiTableColumnFlags.WidthFixed, 80f, 0u); - _200C_206D_202C_206E_206E_202D_206D_200C_206A_200D_200C_202E_202D_202B_206C_202C_200C_202C_206D_202E_206C_206D_206B_200E_206E_200F_206E_200C_202B_200F_200F_200E_206F_206D_202D_202D_206B_202B_206E_206F_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1256796982), ImGuiTableColumnFlags.WidthFixed, 30f, 0u); - _200C_200D_200F_200C_202C_200C_202C_206B_206B_202C_200E_200F_202B_202D_202D_202D_200F_200D_206B_202A_206B_206F_202D_200D_202A_202A_202D_202B_206D_206B_206F_206A_200F_200D_200B_206C_206F_202B_206D_202E(); - using List.Enumerator enumerator = list.GetEnumerator(); - num = 1558461600; - while (true) - { - int num8 = num; - num3 = 1558461612; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - int num11; - int num12; - bool disabled; - switch (num9 - (num10 + num10)) - { - case 6: - _202B_206E_202C_202C_206F_200F_200B_206A_206F_200F_200B_206B_206E_200D_206B_200D_202E_200B_206F_200D_200C_200C_206F_202B_200E_200B_206F_206B_202B_202E_206E_202D_206F_202D_202D_206A_202E_202C_206F_202B_202E(ImGuiTableBgTarget.RowBg0, _200B_202D_206E_200E_206C_202B_202C_206E_206A_200B_200F_206E_200D_206D_206C_206B_206F_202C_202E_200F_202B_206C_206C_206B_206C_200F_206C_206F_202B_206E_200C_206E_202D_202D_200C_206E_206D_206E_200C_200F_202E(UiThemeUtils.AccentDimColor)); - num = 1558461614; - break; - case 5: - num11 = ((_fateController.CurrentFate == current) ? 1 : 0); - goto IL_045a; - case 8: - current = enumerator.Current; - _206A_200F_206F_206D_202A_202D_202D_200E_202D_200D_206A_206E_206B_206C_202D_200F_202C_202D_206E_200D_202B_206C_206D_200C_206B_200E_206A_206F_206F_206E_202D_200D_202A_200C_206A_200C_202A_206B_206D_202C_202E(); - num = ((!_fateController.IsRunning) ? 1558461606 : 1558461609); - break; - case 11: - num12 = 1; - goto IL_0323; - case 9: - num12 = ((_questController.AutomationType != QuestController.EAutomationType.Manual) ? 1 : 0); - goto IL_0323; - case 4: - num = (_attunementController.IsRunning ? 1558461607 : 1558461605); - break; - case 2: - _202D_202B_202D_200D_206A_206F_206E_202C_206F_200D_200B_202C_200E_200E_200B_200C_206F_200D_200B_200D_202C_202A_202B_202B_202D_202E_202B_206C_206E_202A_200D_206C_202C_202A_200E_206D_206C_200B_206E_202A_202E(); - DrawFateRowName(current, flag); - _202D_202B_202D_200D_206A_206F_206E_202C_206F_200D_200B_202C_200E_200E_200B_200C_206F_200D_200B_200D_202C_202A_202B_202B_202D_202E_202B_206C_206E_202A_200D_206C_202C_202A_200E_206D_206C_200B_206E_202A_202E(); - _200E_206B_206C_200E_202C_200B_206E_206A_202D_206B_206C_202B_202E_206B_202A_206F_200B_202E_206D_202D_206B_206C_202C_202A_202D_206D_206A_206F_200C_200B_206B_206D_200D_206E_206A_200E_202B_202C_200C_200F_202E((ImU8String)(_territoryData.GetName(_202D_200E_206C_206C_202D_200E_202D_206A_202D_202A_200B_206C_202E_206A_202D_202C_202E_200E_206D_200F_202D_202A_202C_202D_202A_202C_206D_206F_202C_200F_200B_206B_206A_200E_202B_206C_206D_202A_200E_200D_202E(current)) ?? _200D_206D_202B_206A_200B_202C_202E_206A_200D_202A_200C_206C_202B_200C_206C_200C_200F_206F_202A_206B_202B_200B_202D_200B_202E_202D_200D_200D_202E_202B_206D_200D_202A_202E_202E_202D_206C_202B_206A_202B_202E(current))); - _202D_202B_202D_200D_206A_206F_206E_202C_206F_200D_200B_202C_200E_200E_200B_200C_206F_200D_200B_200D_202C_202A_202B_202B_202D_202E_202B_206C_206E_202A_200D_206C_202C_202A_200E_206D_206C_200B_206E_202A_202E(); - DrawFateRowExpiry(current); - _202D_202B_202D_200D_206A_206F_206E_202C_206F_200D_200B_202C_200E_200E_200B_200C_206F_200D_200B_200D_202C_202A_202B_202B_202D_202E_202B_206C_206E_202A_200D_206C_202C_202A_200E_206D_206C_200B_206E_202A_202E(); - num = (_fateController.IsRunning ? 1558461607 : 1558461613); - break; - case 1: - num = (_seasonalDutyController.IsRunning ? 1558461607 : 1558461612); - break; - case 0: - num = (_customDeliveryController.IsRunning ? 1558461607 : 1558461608); - break; - case 7: - num = 1558461600; - break; - case 10: - num11 = 0; - goto IL_045a; - case 12: - num = (enumerator.MoveNext() ? 1558461604 : 1558461615); - break; - case 3: - return; - IL_045a: - flag = (byte)num11 != 0; - num = ((!flag) ? 1558461614 : 1558461610); - break; - IL_0323: - disabled = (byte)num12 != 0; - DrawFateRowActions(current, disabled); - num = 1558461600; - break; - } - } - } - } - continue; - IL_01b9: - num = -2021256280; - } - } - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private void DrawFateRowName(FateDefinition fate, bool isActive) - { - int num = ((!isActive) ? 1248065180 : 1248065183); - DateTime? dateTime = default(DateTime?); - TimeSpan timeSpan = default(TimeSpan); - while (true) - { - int num2 = num; - int num3 = 1248065180; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = 1248065183; - break; - case 1: - if (_200F_206A_202A_206A_206F_200B_202E_200F_206C_202E_202B_202B_202C_200B_206F_202B_200D_200C_202E_206C_206B_200B_200C_200E_206E_202B_206C_200C_200C_200B_206E_202B_202C_200D_206A_202E_206D_200E_202A_206E_202E()) - { - num = 1248065182; - break; - } - return; - case 3: - _202B_206D_206C_202E_202A_200C_206D_206B_202C_202D_206C_200D_206C_202E_202E_206C_200B_202C_202D_200B_200E_200E_200F_206D_202E_200B_206C_206A_206A_202B_200B_206F_206D_200C_202A_202D_206E_202A_202E_206B_202E(ref UiThemeUtils.AccentColor, (ImU8String)_202D_206E_200E_206A_200E_200E_200F_202E_206F_206F_206E_202B_200C_202E_200B_200C_200F_200B_202B_200C_206E_202B_206C_202A_206C_200C_200B_200D_202D_202D_202A_200E_206C_206A_206C_200F_206E_202A_206F_200D_202E(fate)); - num = 1248065181; - break; - case 0: - _200E_206B_206C_200E_202C_200B_206E_206A_202D_206B_206C_202B_202E_206B_202A_206F_200B_202E_206D_202D_206B_206C_202C_202A_202D_206D_206A_206F_200C_200B_206B_206D_200D_206E_206A_200E_202B_202C_200C_200F_202E((ImU8String)_202D_206E_200E_206A_200E_200E_200F_202E_206F_206F_206E_202B_200C_202E_200B_200C_200F_200B_202B_200C_206E_202B_206C_202A_206C_200C_200B_200D_202D_202D_202A_200E_206C_206A_206C_200F_206E_202A_206F_200D_202E(fate)); - num = 1248065181; - break; - case 2: - using (_202A_206F_202C_202A_202E_206B_206B_202B_202C_202E_206D_206E_200E_206C_202A_200B_206B_200F_200E_200B_200F_200B_200F_202A_206A_202A_202C_206C_206B_206D_206A_200F_200C_206D_206F_200C_202E_206F_206B_202D_202E()) - { - _202B_206D_206C_202E_202A_200C_206D_206B_202C_202D_206C_200D_206C_202E_202E_206C_200B_202C_202D_200B_200E_200E_200F_206D_202E_200B_206C_206A_206A_202B_200B_206F_206D_200C_202A_202D_206E_202A_202E_206B_202E(ref UiThemeUtils.PrimaryTextColor, (ImU8String)_202D_206E_200E_206A_200E_200E_200F_202E_206F_206F_206E_202B_200C_202E_200B_200C_200F_200B_202B_200C_206E_202B_206C_202A_206C_200C_200B_200D_202D_202D_202A_200E_206C_206A_206C_200F_206E_202A_206F_200D_202E(fate)); - _206F_200D_202E_202C_206D_206C_202A_206C_206F_206B_202B_200F_202B_200E_202A_202A_200E_200C_200B_202C_202E_202A_206A_206D_206B_206C_202E_206A_202A_206A_200E_206E_202C_206B_206F_200B_202D_206E_206B_206F_202E(); - _206C_206E_200B_202C_202A_206C_200D_206D_200D_202A_206B_200D_202D_200B_200F_200C_202B_206F_200D_200C_200F_206B_200D_206D_206D_200E_206F_202B_200C_200F_200E_206D_206C_202C_206B_200D_202E_202D_202B_202E(300f); - _200E_206B_206C_200E_202C_200B_206E_206A_202D_206B_206C_202B_202E_206B_202A_206F_200B_202E_206D_202D_206B_206C_202C_202A_202D_206D_206A_206F_200C_200B_206B_206D_200D_206E_206A_200E_202B_202C_200C_200F_202E((ImU8String)_200D_206D_202B_206A_200B_202C_202E_206A_200D_202A_200C_206C_202B_200C_206C_200C_200F_206F_202A_206B_202B_200B_202D_200B_202E_202D_200D_200D_202E_202B_206D_200D_202A_202E_202E_202D_206C_202B_206A_202B_202E(fate)); - _206C_206B_206E_202A_202D_206B_202D_206E_206A_206A_202A_206F_206B_206D_202D_206C_202B_206C_202B_200D_206D_200E_200F_206D_200C_200E_202A_202D_200F_206D_206F_202C_206B_200D_206B_202D_202C_200E_206B_202E(); - _206A_200F_202D_200E_206F_206B_206A_206C_206D_206B_206B_202D_206C_206B_202A_206C_202A_200F_206A_202E_200D_206E_202E_202C_206F_202C_200B_202D_206F_206A_206F_202A_202D_200B_206B_206C_200F_202E_202E_206F_202E(); - string nameAndId = _territoryData.GetNameAndId(_202D_200E_206C_206C_202D_200E_202D_206A_202D_202A_200B_206C_202E_206A_202D_202C_202E_200E_206D_200F_202D_202A_202C_202D_202A_202C_206D_206F_202C_200F_200B_206B_206A_200E_202B_206C_206D_202A_200E_200D_202E(fate)); - ImU8String imU8String = new ImU8String(6, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1613027570)); - imU8String.AppendFormatted(nameAndId); - _202B_206D_206C_202E_202A_200C_206D_206B_202C_202D_206C_200D_206C_202E_202E_206C_200B_202C_202D_200B_200E_200E_200F_206D_202E_200B_206C_206A_206A_202B_200B_206F_206D_200C_202A_202D_206E_202A_202E_206B_202E(ref UiThemeUtils.DimTextColor, imU8String); - ImU8String imU8String2 = new ImU8String(9, 1); - imU8String2.AppendLiteral(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(1396889891)); - imU8String2.AppendFormatted(_206E_202A_206C_202E_206E_202C_202E_206B_202D_206E_202C_206F_206D_200F_200F_202B_206A_202C_200C_202A_202B_206B_206B_200D_206E_206E_200E_200D_206E_202B_200F_200F_200F_200B_206F_206F_206D_202C_202C_202E_202E(fate).Count); - _202B_206D_206C_202E_202A_200C_206D_206B_202C_202D_206C_200D_206C_202E_202E_206C_200B_202C_202D_200B_200E_200E_200F_206D_202E_200B_206C_206A_206A_202B_200B_206F_206D_200C_202A_202D_206E_202A_202E_206B_202E(ref UiThemeUtils.DimTextColor, imU8String2); - num = ((!_200E_200C_206F_200C_200C_206E_200B_202D_202E_206A_206D_206B_206E_202C_202D_206F_202B_200E_206F_206B_206D_202B_202C_206A_200C_206D_200D_202C_202A_202A_206B_206D_202A_202D_206C_206C_202B_200F_206A_200C_202E(fate).HasValue) ? 470694466 : 470694471); - while (true) - { - int num5 = num; - num3 = 470694470; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - { - DateTime valueOrDefault = dateTime.GetValueOrDefault(); - timeSpan = EventInfoComponent.NormalizeExpiry(valueOrDefault) - DateTime.UtcNow; - num = ((!(timeSpan > TimeSpan.Zero)) ? 470694470 : 470694468); - break; - } - case 2: - { - string text = EventInfoComponent.FormatRemainingFull(timeSpan); - _202B_206D_206C_202E_202A_200C_206D_206B_202C_202D_206C_200D_206C_202E_202E_206C_200B_202C_202D_200B_200E_200E_200F_206D_202E_200B_206C_206A_206A_202B_200B_206F_206D_200C_202A_202D_206E_202A_202E_206B_202E(ref UiThemeUtils.StatusActive, (ImU8String)text); - num = 470694470; - break; - } - case 3: - num = 470694471; - break; - case 4: - dateTime = _206C_202E_200E_202A_202E_206E_206B_206F_200C_202B_200B_200B_200F_200B_206E_200C_206B_200C_200F_202E_202C_206E_202A_206E_206F_202D_206B_202B_206C_206F_202D_206B_206D_200B_200D_202D_200C_206E_206E_206A_202E(fate); - num = ((!dateTime.HasValue) ? 470694470 : 470694467); - break; - case 1: - _202B_206D_206C_202E_202A_200C_206D_206B_202C_202D_206C_200D_206C_202E_202E_206C_200B_202C_202D_200B_200E_200E_200F_206D_202E_200B_206C_206A_206A_202B_200B_206F_206D_200C_202A_202D_206E_202A_202E_206B_202E(ref UiThemeUtils.StatusActive, (ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1118395724)); - num = 470694466; - break; - case 0: - return; - } - } - } - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private static void DrawFateRowExpiry(FateDefinition fate) - { - DateTime? dateTime = _206C_202E_200E_202A_202E_206E_206B_206F_200C_202B_200B_200B_200F_200B_206E_200C_206B_200C_200F_202E_202C_206E_202A_206E_206F_202D_206B_202B_206C_206F_202D_206B_206D_200B_200D_202D_200C_206E_206E_206A_202E(fate); - int num = ((!dateTime.HasValue) ? 57266910 : 57266911); - string text = default(string); - TimeSpan timeSpan = default(TimeSpan); - while (true) - { - int num2 = num; - int num3 = 57266909; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - Vector4 vector; - Vector4 vector2; - switch (num5 - (num6 + num6)) - { - case 6: - vector = UiThemeUtils.StatusActive; - goto IL_006e; - case 5: - text = EventInfoComponent.FormatRemainingDays(timeSpan); - num = ((timeSpan.TotalDays < 3.0) ? 57266907 : 57266905); - break; - case 4: - vector = UiThemeUtils.DimTextColor; - goto IL_006e; - case 2: - { - DateTime valueOrDefault = dateTime.GetValueOrDefault(); - timeSpan = EventInfoComponent.NormalizeExpiry(valueOrDefault) - DateTime.UtcNow; - num = ((!(timeSpan > TimeSpan.Zero)) ? 57266908 : 57266904); - break; - } - case 0: - num = 57266911; - break; - case 1: - _202B_206D_206C_202E_202A_200C_206D_206B_202C_202D_206C_200D_206C_202E_202E_206C_200B_202C_202D_200B_200E_200E_200F_206D_202E_200B_206C_206A_206A_202B_200B_206F_206D_200C_202A_202D_206E_202A_202E_206B_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)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(-892568127)); - return; - case 3: - { - _202B_206D_206C_202E_202A_200C_206D_206B_202C_202D_206C_200D_206C_202E_202E_206C_200B_202C_202D_200B_200E_200E_200F_206D_202E_200B_206C_206A_206A_202B_200B_206F_206D_200C_202A_202D_206E_202A_202E_206B_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)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(1737353930)); - return; - } - IL_006e: - vector2 = vector; - _202B_206D_206C_202E_202A_200C_206D_206B_202C_202D_206C_200D_206C_202E_202E_206C_200B_202C_202D_200B_200E_200E_200F_206D_202E_200B_206C_206A_206A_202B_200B_206F_206D_200C_202A_202D_206E_202A_202E_206B_202E(ref vector2, (ImU8String)text); - return; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private void DrawFateRowActions(FateDefinition fate, bool disabled) - { - ushort? num = _206F_202C_202D_202C_200E_206E_202A_200B_200E_202A_206C_200B_200E_206D_200B_206A_206B_206B_200E_206D_200B_200B_206C_200F_202A_202C_202E_200F_206C_206E_206D_200D_200F_206E_206D_200B_200F_202E_200D_206F_202E(fate); - int num2 = (num.HasValue ? (-70740329) : (-70740334)); - uint valueOrDefault = default(uint); - uint? num7 = default(uint?); - int num6; - QuestId questId = default(QuestId); - while (true) - { - int num3 = num2; - int num4 = -70740329; - int num5 = num3; - object obj2; - uint? obj; - switch ((num5 | num4) - (num5 & num4)) - { - default: - continue; - case 7: - num2 = -70740334; - continue; - case 4: - obj2 = null; - goto IL_0091; - case 3: - obj2 = _206E_202E_206D_202B_200D_200D_202B_206D_202A_202A_200D_206C_206A_202D_200C_200D_200B_206C_202B_206B_206F_206A_202A_200B_200B_206C_206B_200D_206C_202C_202D_202B_206B_202C_206A_202E_206A_202D_200C_202E_202E((ushort)valueOrDefault); - goto IL_0091; - case 1: - valueOrDefault = num7.GetValueOrDefault(); - num2 = ((valueOrDefault <= 65535) ? (-70740332) : (-70740333)); - continue; - case 0: - obj = num.GetValueOrDefault(); - goto IL_00ed; - case 6: - num6 = ((!_questFunctions.IsQuestComplete(questId)) ? 1 : 0); - break; - case 5: - obj = null; - goto IL_00ed; - case 2: - { - num6 = 0; - break; - } - IL_00ed: - num7 = obj; - num2 = ((!num7.HasValue) ? (-70740333) : (-70740330)); - continue; - IL_0091: - questId = (QuestId)obj2; - num2 = ((!_202E_206F_202C_200C_202D_206C_206A_202B_202B_200F_206D_200C_206A_202D_202A_206C_206D_200F_206B_200D_206A_202E_206F_206B_202C_202B_202A_200B_200D_200E_200B_202E_200B_200E_200C_200F_202C_202C_206C_202C_202E((ElementId)questId, (ElementId)null)) ? (-70740331) : (-70740335)); - continue; - } - break; - } - bool flag = (byte)num6 != 0; - ImU8String imU8String = new ImU8String(5, 1); - imU8String.AppendLiteral(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(314651123)); - imU8String.AppendFormatted(_202D_206E_200E_206A_200E_200E_200F_202E_206F_206F_206E_202B_200C_202E_200B_200C_200F_200B_202B_200C_206E_202B_206C_202A_206C_200C_200B_200D_202D_202D_202A_200E_206C_206A_206C_200F_206E_202A_206F_200D_202E(fate)); - ImRaii.IdDisposable idDisposable = _206C_202B_206D_202A_202C_206D_202A_206A_202C_206D_200B_206F_206F_200D_206E_200D_206B_206A_200B_206A_202D_202C_206A_200B_202A_206A_206B_202D_200E_206D_206A_200C_200F_200F_200D_200F_206C_200B_202A_206F_202E(imU8String, true); - try - { - if (flag) - { - ImRaii.FontDisposable fontDisposable = _206C_202D_202A_206B_200B_202B_206A_202D_200B_200E_206A_200D_200F_206C_200B_200B_206C_202C_202D_202E_206A_202A_206F_200C_202D_200B_202C_202B_202B_200C_206C_202E_202D_202B_206D_200F_202E_200C_202A_206D_202E(_200D_200F_206F_200C_200D_206D_206A_202E_200C_200D_200B_202E_206C_200C_206E_200C_200C_206E_206E_206F_206F_206A_200C_200C_200F_202A_206D_200D_200F_202D_200E_202B_202B_202E_206C_202C_202D_200F_202E_206F_202E(), true); - try - { - _202B_206D_206C_202E_202A_200C_206D_206B_202C_202D_206C_200D_206C_202E_202E_206C_200B_202C_202D_200B_200E_200E_200F_206D_202E_200B_206C_206A_206A_202B_200B_206F_206D_200C_202A_202D_206E_202A_202E_206B_202E(ref UiThemeUtils.StatusLocked, (ImU8String)_202D_200D_200C_200B_206D_206F_206A_206B_202B_202C_206E_206A_200F_206F_206B_200D_206B_200E_202A_200B_200F_200E_202A_200E_206F_206D_206B_200F_206E_206F_200F_202C_202A_202C_206A_202B_202D_200D_200E_202C_202E(FontAwesomeIcon.Times)); - } - finally - { - num2 = ((fontDisposable == null) ? 633269880 : 633269883); - while (true) - { - int num8 = num2; - int num4 = 633269881; - int num5 = num8; - switch ((num5 | num4) - (num5 & num4)) - { - case 1: - goto end_IL_01d0; - case 2: - _202A_206A_202E_206E_200E_202D_202E_200B_202E_200F_206C_206C_200F_206F_200C_206C_206F_202A_200B_206F_200C_200E_200F_200D_206D_202B_206B_206E_206F_206F_200E_200E_200D_202E_202C_200C_206A_206F_206D_206F_202E((IDisposable)fontDisposable); - num2 = 633269880; - break; - case 0: - num2 = 633269883; - break; - } - continue; - end_IL_01d0: - break; - } - } - if (!_200F_206A_202A_206A_206F_200B_202E_200F_206C_202E_202B_202B_202C_200B_206F_202B_200D_200C_202E_206C_206B_200B_200C_200E_206E_202B_206C_200C_200C_200B_206E_202B_202C_200D_206A_202E_206D_200E_202A_206E_202E()) - { - return; - } - num2 = 46972295; - object obj3; - IQuestInfo questInfo = default(IQuestInfo); - while (true) - { - int num9 = num2; - int num4 = 46972290; - int num5 = num9; - switch ((num5 | num4) - (num5 & num4)) - { - default: - continue; - case 0: - num2 = 46972295; - continue; - case 2: - obj3 = null; - goto IL_029d; - case 4: - obj3 = num7.GetValueOrDefault().ToString(_202A_202E_206B_200E_206A_206B_202B_200B_202B_206F_206B_206C_202E_206A_202C_206D_202C_206C_202B_200E_206C_206F_202D_200C_206F_200F_206F_206A_206C_206F_200E_200E_200D_200E_200D_202B_202A_206B_206E_206E_202E()); - goto IL_029d; - case 3: - num2 = (num7.HasValue ? 46972294 : 46972288); - continue; - case 5: - num2 = (_questData.TryGetQuestInfo(_206E_202E_206D_202B_200D_200D_202B_206D_202A_202A_200D_206C_206A_202D_200C_200D_200B_206C_202B_206B_206F_206A_202A_200B_200B_206C_206B_200D_206C_202C_202D_202B_206B_202C_206A_202E_206A_202D_200C_202E_202E(_206F_202C_202D_202C_200E_206E_202A_200B_200E_202A_206C_200B_200E_206D_200B_206A_206B_206B_200E_206D_200B_200B_206C_200F_202A_202C_202E_200F_206C_206E_206D_200D_200F_206E_206D_200B_200F_202E_200D_206F_202E(fate).Value), out questInfo) ? 46972291 : 46972289); - continue; - case 1: - { - obj3 = questInfo.Name; - break; - } - IL_029d: - if (obj3 == null) - { - obj3 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(896879528); - } - break; - } - break; - } - string value = (string)obj3; - ImU8String imU8String2 = new ImU8String(33, 1); - imU8String2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1729187626)); - imU8String2.AppendFormatted(value); - imU8String2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-437224182)); - _202B_206C_206E_202A_206A_200D_202D_202C_206A_206B_206F_206D_202D_200C_200B_200E_202D_202E_200F_200B_200F_202B_202E_206E_206B_202D_200F_202B_202B_200B_206C_200C_202C_200C_202E_202E_206A_202D_202A_202B_202E(imU8String2); - return; - } - ImRaii.DisabledDisposable disabledDisposable = _206A_202E_202E_206F_206F_202D_206A_206A_206E_202D_200E_200B_206D_200D_200E_200C_202B_202A_202D_200F_206E_202E_202A_202C_200E_206D_200D_206F_202E_202E_202D_206B_206E_202A_200E_200B_206F_202A_200F_206E_202E(disabled); - try - { - ImRaii.ColorDisposable colorDisposable = _206D_202C_202E_206E_200E_200B_202E_202C_206D_200C_202D_202C_200E_202A_206C_202C_202E_206E_200F_202B_202A_202E_202D_202D_200C_206B_206D_206D_200C_206C_202B_200B_206E_202D_206E_206E_202E_206A_202E_200C_202E(ImGuiCol.Button, UiThemeUtils.PlayButtonColor, true); - try - { - ImRaii.ColorDisposable colorDisposable2 = _206D_202C_202E_206E_200E_200B_202E_202C_206D_200C_202D_202C_200E_202A_206C_202C_202E_206E_200F_202B_202A_202E_202D_202D_200C_206B_206D_206D_200C_206C_202B_200B_206E_202D_206E_206E_202E_206A_202E_200C_202E(ImGuiCol.ButtonHovered, UiThemeUtils.PlayButtonHover, true); - try - { - ImRaii.ColorDisposable colorDisposable3 = _206D_202C_202E_206E_200E_200B_202E_202C_206D_200C_202D_202C_200E_202A_206C_202C_202E_206E_200F_202B_202A_202E_202D_202D_200C_206B_206D_206D_200C_206C_202B_200B_206E_202D_206E_206E_202E_206A_202E_200C_202E(ImGuiCol.ButtonActive, UiThemeUtils.PlayButtonActive, true); - try - { - ImRaii.ColorDisposable colorDisposable4 = _206D_202C_202E_206E_200E_200B_202E_202C_206D_200C_202D_202C_200E_202A_206C_202C_202E_206E_200F_202B_202A_202E_202D_202D_200C_206B_206D_206D_200C_206C_202B_200B_206E_202D_206E_206E_202E_206A_202E_200C_202E(ImGuiCol.Text, UiThemeUtils.PlayButtonText, true); - try - { - num2 = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Play, _206B_200D_200E_200D_206B_206F_202C_206B_206F_200C_200F_200C_206A_206D_200C_202D_206F_202E_200E_200C_206E_202C_202D_202A_202D_200D_202C_200E_206F_206B_202C_202E_202E_200E_206E_206A_206D_206A_206B_206C_202E())) ? 1255836714 : 1255836713); - while (true) - { - int num10 = num2; - int num4 = 1255836714; - int num5 = num10; - int? obj4; - int? cycleLimit; - switch ((num5 | num4) - (num5 & num4)) - { - case 1: - obj4 = _cycleLimit; - goto IL_0419; - case 4: - obj4 = null; - goto IL_0419; - case 3: - _movementController.Stop(); - _questController.Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1062388706)); - _seasonalDutyController.Stop(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(-986524897)); - _customDeliveryController.Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1062388706)); - _attunementController.Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1062388706)); - num2 = ((_cycleLimit > 0) ? 1255836715 : 1255836718); - break; - case 2: - num2 = 1255836713; - break; - case 0: - goto end_IL_03da; - IL_0419: - cycleLimit = obj4; - _fateController.Start(fate, cycleLimit); - num2 = 1255836714; - break; - } - continue; - end_IL_03da: - break; - } - } - finally - { - num2 = ((colorDisposable4 == null) ? (-1883816165) : (-1883816166)); - while (true) - { - int num11 = num2; - int num4 = -1883816165; - int num5 = num11; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - num2 = -1883816166; - break; - case 0: - goto end_IL_0503; - case 1: - _202A_206A_202E_206E_200E_202D_202E_200B_202E_200F_206C_206C_200F_206F_200C_206C_206F_202A_200B_206F_200C_200E_200F_200D_206D_202B_206B_206E_206F_206F_200E_200E_200D_202E_202C_200C_206A_206F_206D_206F_202E((IDisposable)colorDisposable4); - num2 = -1883816165; - break; - } - continue; - end_IL_0503: - break; - } - } - } - finally - { - num2 = ((colorDisposable3 == null) ? 1592901423 : 1592901420); - while (true) - { - int num12 = num2; - int num4 = 1592901422; - int num5 = num12; - switch ((num5 | num4) - (num5 & num4)) - { - case 1: - goto end_IL_056e; - case 2: - _202A_206A_202E_206E_200E_202D_202E_200B_202E_200F_206C_206C_200F_206F_200C_206C_206F_202A_200B_206F_200C_200E_200F_200D_206D_202B_206B_206E_206F_206F_200E_200E_200D_202E_202C_200C_206A_206F_206D_206F_202E((IDisposable)colorDisposable3); - num2 = 1592901423; - break; - case 0: - num2 = 1592901420; - break; - } - continue; - end_IL_056e: - break; - } - } - } - finally - { - num2 = ((colorDisposable2 == null) ? (-1797212280) : (-1797212277)); - while (true) - { - int num13 = num2; - int num4 = -1797212279; - int num5 = num13; - switch ((num5 | num4) - (num5 & num4)) - { - case 1: - goto end_IL_05d9; - case 2: - _202A_206A_202E_206E_200E_202D_202E_200B_202E_200F_206C_206C_200F_206F_200C_206C_206F_202A_200B_206F_200C_200E_200F_200D_206D_202B_206B_206E_206F_206F_200E_200E_200D_202E_202C_200C_206A_206F_206D_206F_202E((IDisposable)colorDisposable2); - num2 = -1797212280; - break; - case 0: - num2 = -1797212277; - break; - } - continue; - end_IL_05d9: - break; - } - } - } - finally - { - num2 = ((colorDisposable == null) ? (-126209958) : (-126209959)); - while (true) - { - int num14 = num2; - int num4 = -126209957; - int num5 = num14; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num2 = -126209959; - break; - case 2: - _202A_206A_202E_206E_200E_202D_202E_200B_202E_200F_206C_206C_200F_206F_200C_206C_206F_202A_200B_206F_200C_200E_200F_200D_206D_202B_206B_206E_206F_206F_200E_200E_200D_202E_202C_200C_206A_206F_206D_206F_202E((IDisposable)colorDisposable); - num2 = -126209958; - break; - case 1: - goto end_IL_0644; - } - continue; - end_IL_0644: - break; - } - } - } - finally - { - num2 = ((disabledDisposable == null) ? (-2019608515) : (-2019608516)); - while (true) - { - int num15 = num2; - int num4 = -2019608515; - int num5 = num15; - int num16 = num5 + num4; - int num17 = num5 & num4; - switch (num16 - (num17 + num17)) - { - case 2: - num2 = -2019608516; - break; - case 1: - _202A_206A_202E_206E_200E_202D_202E_200B_202E_200F_206C_206C_200F_206F_200C_206C_206F_202A_200B_206F_200C_200E_200F_200D_206D_202B_206B_206E_206F_206F_200E_200E_200D_202E_202C_200C_206A_206F_206D_206F_202E((IDisposable)disabledDisposable); - num2 = -2019608515; - break; - case 0: - goto end_IL_06af; - } - continue; - end_IL_06af: - break; - } - } - num2 = ((!disabled) ? (-905480179) : (-905480177)); - while (true) - { - int num18 = num2; - int num4 = -905480178; - int num5 = num18; - int num19 = num5 + num4; - int num20 = num5 & num4; - switch (num19 - (num20 + num20)) - { - case 8: - num2 = ((!_attunementController.IsRunning) ? (-905480184) : (-905480185)); - break; - case 0: - _202B_206C_206E_202A_206A_200D_202D_202C_206A_206B_206F_206D_202D_200C_200B_200E_202D_202E_200F_200B_200F_202B_202E_206E_206B_202D_200F_202B_202B_200B_206C_200C_202C_200C_202E_202E_206A_202D_202A_202B_202E((ImU8String)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(-570548611)); - return; - case 6: - _202B_206C_206E_202A_206A_200D_202D_202C_206A_206B_206F_206D_202D_200C_200B_200E_202D_202E_200F_200B_200F_202B_202E_206E_206B_202D_200F_202B_202B_200B_206C_200C_202C_200C_202E_202E_206A_202D_202A_202B_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2098903468)); - num2 = -905480179; - break; - case 4: - num2 = -905480177; - break; - case 1: - num2 = ((!_206D_202A_202D_206A_206B_202D_200E_206F_200E_200C_202E_200D_200F_206C_206F_200B_206C_200F_206C_206E_202C_202E_200F_206E_206E_202C_206B_200E_206E_200B_206D_206F_206B_200D_202C_206A_202B_206B_202E_206B_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? (-905480179) : (-905480188)); - break; - case 5: - _202B_206C_206E_202A_206A_200D_202D_202C_206A_206B_206F_206D_202D_200C_200B_200E_202D_202E_200F_200B_200F_202B_202E_206E_206B_202D_200F_202B_202B_200B_206C_200C_202C_200C_202E_202E_206A_202D_202A_202B_202E((ImU8String)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(-645021643)); - return; - case 11: - num2 = ((!_seasonalDutyController.IsRunning) ? (-905480183) : (-905480178)); - break; - case 7: - num2 = ((!_customDeliveryController.IsRunning) ? (-905480186) : (-905480181)); - break; - case 2: - _202B_206C_206E_202A_206A_200D_202D_202C_206A_206B_206F_206D_202D_200C_200B_200E_202D_202E_200F_200B_200F_202B_202E_206E_206B_202D_200F_202B_202B_200B_206C_200C_202C_200C_202E_202E_206A_202D_202A_202B_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-166560783)); - return; - case 9: - _202B_206C_206E_202A_206A_200D_202D_202C_206A_206B_206F_206D_202D_200C_200B_200E_202D_202E_200F_200B_200F_202B_202E_206E_206B_202D_200F_202B_202B_200B_206C_200C_202C_200C_202E_202E_206A_202D_202A_202B_202E((ImU8String)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(52424384)); - return; - case 10: - num2 = ((!_fateController.IsRunning) ? (-905480187) : (-905480180)); - break; - case 3: - return; - } - } - } - finally - { - num2 = ((idDisposable == null) ? (-223217283) : (-223217284)); - while (true) - { - int num21 = num2; - int num4 = -223217283; - int num5 = num21; - int num22 = num5 + num4; - int num23 = num5 & num4; - switch (num22 - (num23 + num23)) - { - case 0: - goto end_IL_0918; - case 1: - _202A_206A_202E_206E_200E_202D_202E_200B_202E_200F_206C_206C_200F_206F_200C_206C_206F_202A_200B_206F_200C_200E_200F_200D_206D_202B_206B_206E_206F_206F_200E_200E_200D_202E_202C_200C_206A_206F_206D_206F_202E((IDisposable)idDisposable); - num2 = -223217283; - break; - case 2: - num2 = -223217284; - break; - } - continue; - end_IL_0918: - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private static string FormatElapsed(TimeSpan elapsed) - { - int num = ((!(elapsed.TotalHours >= 1.0)) ? (-1217920897) : (-1217920898)); - while (true) - { - int num2 = num; - int num3 = -1217920899; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = ((!(elapsed.TotalMinutes >= 1.0)) ? (-1217920899) : (-1217920900)); - break; - case 1: - { - IFormatProvider formatProvider = _202A_202E_206B_200E_206A_206B_202B_200B_202B_206F_206B_206C_202E_206A_202C_206D_202C_206C_202B_200E_206C_206F_202D_200C_206F_200F_206F_206A_206C_206F_200E_200E_200D_200E_200D_202B_202A_206B_206E_206E_202E(); - IFormatProvider formatProvider4 = formatProvider; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(3, 2, formatProvider); - defaultInterpolatedStringHandler3.AppendFormatted((int)elapsed.TotalMinutes); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1016237535)); - defaultInterpolatedStringHandler3.AppendFormatted(elapsed.Seconds, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1956092384)); - defaultInterpolatedStringHandler3.AppendLiteral(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(396650032)); - return _202B_206C_206A_202B_202B_202E_206C_202E_200C_202E_206E_200F_200B_206F_206A_202B_200F_200F_200E_206B_202D_206B_202A_206A_200D_200C_200F_200F_202C_206D_206D_200E_202E_202E_202D_202A_200D_200E_200F_200F_202E(formatProvider4, ref defaultInterpolatedStringHandler3); - } - case 0: - { - IFormatProvider formatProvider = _202A_202E_206B_200E_206A_206B_202B_200B_202B_206F_206B_206C_202E_206A_202C_206D_202C_206C_202B_200E_206C_206F_202D_200C_206F_200F_206F_206A_206C_206F_200E_200E_200D_200E_200D_202B_202A_206B_206E_206E_202E(); - IFormatProvider formatProvider3 = formatProvider; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(1, 1, formatProvider); - defaultInterpolatedStringHandler2.AppendFormatted(elapsed.Seconds); - defaultInterpolatedStringHandler2.AppendLiteral(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(1658952639)); - return _202B_206C_206A_202B_202B_202E_206C_202E_200C_202E_206E_200F_200B_206F_206A_202B_200F_200F_200E_206B_202D_206B_202A_206A_200D_200C_200F_200F_202C_206D_206D_200E_202E_202E_202D_202A_200D_200E_200F_200F_202E(formatProvider3, ref defaultInterpolatedStringHandler2); - } - case 3: - { - IFormatProvider formatProvider = _202A_202E_206B_200E_206A_206B_202B_200B_202B_206F_206B_206C_202E_206A_202C_206D_202C_206C_202B_200E_206C_206F_202D_200C_206F_200F_206F_206A_206C_206F_200E_200E_200D_200E_200D_202B_202A_206B_206E_206E_202E(); - IFormatProvider formatProvider2 = formatProvider; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(5, 3, formatProvider); - defaultInterpolatedStringHandler.AppendFormatted((int)elapsed.TotalHours); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-794677548)); - defaultInterpolatedStringHandler.AppendFormatted(elapsed.Minutes, 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(-1968563628)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(750084338)); - defaultInterpolatedStringHandler.AppendFormatted(elapsed.Seconds, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(128915746)); - defaultInterpolatedStringHandler.AppendLiteral(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(1658952639)); - return _202B_206C_206A_202B_202B_202E_206C_202E_200C_202E_206E_200F_200B_206F_206A_202B_200F_200F_200E_206B_202D_206B_202A_206A_200D_200C_200F_200F_202C_206D_206D_200E_202E_202E_202D_202A_200D_200E_200F_200F_202E(formatProvider2, ref defaultInterpolatedStringHandler); - } - case 4: - num = -1217920898; - break; - } - } - } - - void _206E_200E_206E_206F_202B_200D_200C_202A_200B_200E_202C_206A_200C_202B_202E_200C_200D_206D_200C_200C_206E_206E_202C_206B_200C_206E_206E_206E_202D_200E_206A_206B_200B_206A_200D_200F_202A_206D_206D_202D_202E(Vector2? P_0) - { - base.Size = P_0; - } - - void _200B_200B_202A_206E_206D_206C_206B_206A_206D_200E_206A_206A_206E_200D_200F_206E_206F_202C_206B_202A_200D_206B_200E_202C_206D_206C_206A_202E_206F_202B_206C_206E_200F_202D_202B_202D_200D_206E_206F_202E_202E(ImGuiCond P_0) - { - base.SizeCondition = P_0; - } - - void _206B_200C_202A_206F_200B_202B_206C_202A_200B_200F_200D_202B_200D_206A_206A_200F_206E_202D_206D_206B_202C_200E_206C_206C_202A_206D_206F_200C_202A_202D_206C_206E_206D_206D_206D_206A_206C_202D_206D_202D_202E(WindowSizeConstraints? P_0) - { - base.SizeConstraints = P_0; - } - - static void _206A_200F_202D_200E_206F_206B_206A_206C_206D_206B_206B_202D_206C_206B_202A_206C_202A_200F_206A_202E_200D_206E_202E_202C_206F_202C_200B_202D_206F_206A_206F_202A_202D_200B_206B_206C_200F_202E_202E_206F_202E() - { ImGui.Spacing(); } - static string _202D_206E_200E_206A_200E_200E_200F_202E_206F_206F_206E_202B_200C_202E_200B_200C_200F_200B_202B_200C_206E_202B_206C_202A_206C_200C_200B_200D_202D_202D_202A_200E_206C_206A_206C_200F_206E_202A_206F_200D_202E(FateDefinition P_0) - { - return P_0.Name; - } - - static int _206F_206F_202C_202A_202B_206B_202E_202B_206B_200D_202E_202A_206E_206B_200F_200B_206F_206A_206B_206A_202B_206F_206E_206F_206F_200D_202A_200B_202D_200D_200D_200C_202A_206B_202B_200C_202D_200D_200F_202E_202E(string P_0) - { - return P_0.Length; - } - - static ImRaii.DisabledDisposable _206A_202E_202E_206F_206F_202D_206A_206A_206E_202D_200E_200B_206D_200D_200E_200C_202B_202A_202D_200F_206E_202E_202A_202C_200E_206D_200D_206F_202E_202E_202D_206B_206E_202A_200E_200B_206F_202A_200F_206E_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static void _206A_202A_206A_200E_206A_206A_202E_206D_200F_202A_202A_200D_206A_206C_202C_202D_202A_202E_202E_206A_200E_202A_200D_202C_200D_206F_200C_206D_206B_200F_202A_202B_206D_202E_202E_202E_206F_202D_200E_202A_202E() - { - ImGui.AlignTextToFramePadding(); - } - - static void _200E_206B_206C_200E_202C_200B_206E_206A_202D_206B_206C_202B_202E_206B_202A_206F_200B_202E_206D_202D_206B_206C_202C_202A_202D_206D_206A_206F_200C_200B_206B_206D_200D_206E_206A_200E_202B_202C_200C_200F_202E(ImU8String P_0) - { - ImGui.TextUnformatted(P_0); - } - - static void _200C_200C_202C_206C_200E_202E_202D_200F_206E_200D_200C_200C_200B_206F_206C_202E_200E_202D_200F_202C_202D_202A_202D_206F_200D_200E_202B_206C_206D_200D_202E_200D_200D_206B_202A_206D_200C_206F_200B_206D_202E() - { - ImGui.SameLine(); - } - - static ImGuiIOPtr _202E_202E_206A_202D_202D_200B_200E_202A_206D_200C_206F_200F_200B_206A_202A_200D_206F_206E_206C_202D_200E_206B_202A_200F_206A_206E_200E_202B_200E_206F_206A_200E_200B_206D_206B_206E_206E_202E_202D_202D_202E() - { - return ImGui.GetIO(); - } - - static void _206B_200B_202C_202D_202A_206C_200E_202D_200E_200F_202C_202C_202B_206D_202E_200F_202C_206B_202C_200B_202D_202D_206E_206C_200C_206E_200E_202B_200C_200E_206B_202A_200C_200F_202A_200F_206F_200F_200D_206F_202E(float P_0) - { - ImGui.SetNextItemWidth(P_0); - } - - static bool _206B_200C_206B_200C_200D_200F_200F_202C_200C_200B_206A_206C_200C_202A_200E_202E_200F_202B_202C_200C_202E_200C_200B_200F_206B_206D_202A_206F_200D_200D_200B_200D_202B_202A_202E_200B_202C_200B_200F_202B_202E(ImU8String P_0, ref int P_1, int P_2, int P_3, ImU8String P_4, ImGuiInputTextFlags P_5) - { - return ImGui.InputInt(P_0, ref P_1, P_2, P_3, P_4, P_5); - } - - static void _202B_206D_206C_202E_202A_200C_206D_206B_202C_202D_206C_200D_206C_202E_202E_206C_200B_202C_202D_200B_200E_200E_200F_206D_202E_200B_206C_206A_206A_202B_200B_206F_206D_200C_202A_202D_206E_202A_202E_206B_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static void _202A_206A_202E_206E_200E_202D_202E_200B_202E_200F_206C_206C_200F_206F_200C_206C_206F_202A_200B_206F_200C_200E_200F_200D_206D_202B_206B_206E_206F_206F_200E_200E_200D_202E_202C_200C_206A_206F_206D_206F_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static bool _200D_206A_206E_206F_206C_200B_200B_200E_202E_200E_206E_200D_206B_206E_206A_202C_200E_200E_200E_202A_206A_202D_202B_206E_202C_200B_200E_202C_202C_206A_206C_200D_202C_202B_202B_206B_206F_206C_202B_206A_202E(string P_0) - { - return string.IsNullOrWhiteSpace(P_0); - } - - static StringComparer _206C_206E_200F_200B_200D_200D_202B_200C_202A_200D_200B_206F_202A_202C_206D_206B_200D_200C_202D_206C_200D_200E_202E_200F_202D_200F_202D_200B_202D_200C_202D_206E_206F_200B_206E_200F_202B_206A_202E_200C_202E() - { - return StringComparer.OrdinalIgnoreCase; - } - - static void _200C_206D_202C_206E_206E_202D_206D_200C_206A_200D_200C_202E_202D_202B_206C_202C_200C_202C_206D_202E_206C_206D_206B_200E_206E_200F_206E_200C_202B_200F_200F_200E_206F_206D_202D_202D_206B_202B_206E_206F_202E(ImU8String P_0, ImGuiTableColumnFlags P_1, float P_2, uint P_3) - { - ImGui.TableSetupColumn(P_0, P_1, P_2, P_3); - } - - static void _200C_200D_200F_200C_202C_200C_202C_206B_206B_202C_200E_200F_202B_202D_202D_202D_200F_200D_206B_202A_206B_206F_202D_200D_202A_202A_202D_202B_206D_206B_206F_206A_200F_200D_200B_206C_206F_202B_206D_202E() + private void DrawFateTable() { + IEnumerable source = _fateDefinitionRegistry.Definitions.Values; + if (!string.IsNullOrWhiteSpace(_searchText)) + { + source = source.Where((FateDefinition f) => f.Name.Contains(_searchText, StringComparison.OrdinalIgnoreCase) || (_territoryData.GetName(f.TerritoryId) ?? f.Description).Contains(_searchText, StringComparison.OrdinalIgnoreCase)); + } + List list = source.OrderBy(delegate(FateDefinition f) + { + DateTime? eventExpiry = f.EventExpiry; + if (eventExpiry.HasValue) + { + DateTime valueOrDefault = eventExpiry.GetValueOrDefault(); + if (EventInfoComponent.NormalizeExpiry(valueOrDefault) - DateTime.UtcNow > TimeSpan.Zero) + { + return 0; + } + } + return 1; + }).ThenBy(delegate(FateDefinition f) + { + DateTime? eventExpiry = f.EventExpiry; + if (eventExpiry.HasValue) + { + DateTime valueOrDefault = eventExpiry.GetValueOrDefault(); + TimeSpan timeSpan = EventInfoComponent.NormalizeExpiry(valueOrDefault) - DateTime.UtcNow; + if (timeSpan > TimeSpan.Zero) + { + return timeSpan.TotalSeconds; + } + } + return double.MaxValue; + }).ThenBy((FateDefinition f) => f.Name, StringComparer.OrdinalIgnoreCase) + .ToList(); + if (list.Count == 0) + { + UiThemeUtils.EmptyState(FontAwesomeIcon.Search, "No FATEs match your search."); + return; + } + using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable("FateTable", 4, ImGuiTableFlags.SizingStretchProp | ImGuiTableFlags.ScrollY); + if (!tableDisposable) + { + return; + } + ImGui.TableSetupColumn("Name", ImGuiTableColumnFlags.None, 3f); + ImGui.TableSetupColumn("Zone", ImGuiTableColumnFlags.None, 2f); + ImGui.TableSetupColumn("Expiry", ImGuiTableColumnFlags.WidthFixed, 80f); + ImGui.TableSetupColumn("##Actions", ImGuiTableColumnFlags.WidthFixed, 30f); ImGui.TableHeadersRow(); + foreach (FateDefinition item in list) + { + ImGui.TableNextRow(); + bool flag = _fateController.IsRunning && _fateController.CurrentFate == item; + if (flag) + { + ImGui.TableSetBgColor(ImGuiTableBgTarget.RowBg0, ImGui.ColorConvertFloat4ToU32(UiThemeUtils.AccentDimColor)); + } + ImGui.TableNextColumn(); + DrawFateRowName(item, flag); + ImGui.TableNextColumn(); + ImGui.TextUnformatted(_territoryData.GetName(item.TerritoryId) ?? item.Description); + ImGui.TableNextColumn(); + DrawFateRowExpiry(item); + ImGui.TableNextColumn(); + bool disabled = _fateController.IsRunning || _seasonalDutyController.IsRunning || _customDeliveryController.IsRunning || _attunementController.IsRunning || _questController.AutomationType != QuestController.EAutomationType.Manual; + DrawFateRowActions(item, disabled); + } } - static void _206A_200F_206F_206D_202A_202D_202D_200E_202D_200D_206A_206E_206B_206C_202D_200F_202C_202D_206E_200D_202B_206C_206D_200C_206B_200E_206A_206F_206F_206E_202D_200D_202A_200C_206A_200C_202A_206B_206D_202C_202E() + private void DrawFateRowName(FateDefinition fate, bool isActive) { - ImGui.TableNextRow(); + if (isActive) + { + ImGui.TextColored(in UiThemeUtils.AccentColor, fate.Name); + } + else + { + ImGui.TextUnformatted(fate.Name); + } + if (!ImGui.IsItemHovered()) + { + return; + } + using (ImRaii.Tooltip()) + { + ImGui.TextColored(in UiThemeUtils.PrimaryTextColor, fate.Name); + ImGui.Separator(); + ImGui.PushTextWrapPos(300f); + ImGui.TextUnformatted(fate.Description); + ImGui.PopTextWrapPos(); + ImGui.Spacing(); + string nameAndId = _territoryData.GetNameAndId(fate.TerritoryId); + ImU8String text = new ImU8String(6, 1); + text.AppendLiteral("Zone: "); + text.AppendFormatted(nameAndId); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text); + ImU8String text2 = new ImU8String(9, 1); + text2.AppendLiteral("Targets: "); + text2.AppendFormatted(fate.Targets.Count); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text2); + if (fate.RequiredStatusId.HasValue) + { + ImGui.TextColored(in UiThemeUtils.StatusActive, "Requires transformation"); + } + DateTime? eventExpiry = fate.EventExpiry; + if (eventExpiry.HasValue) + { + DateTime valueOrDefault = eventExpiry.GetValueOrDefault(); + TimeSpan timeSpan = EventInfoComponent.NormalizeExpiry(valueOrDefault) - DateTime.UtcNow; + if (timeSpan > TimeSpan.Zero) + { + string text3 = EventInfoComponent.FormatRemainingFull(timeSpan); + ImGui.TextColored(in UiThemeUtils.StatusActive, text3); + } + } + } } - static uint _200B_202D_206E_200E_206C_202B_202C_206E_206A_200B_200F_206E_200D_206D_206C_206B_206F_202C_202E_200F_202B_206C_206C_206B_206C_200F_206C_206F_202B_206E_200C_206E_202D_202D_200C_206E_206D_206E_200C_200F_202E(Vector4 P_0) + private static void DrawFateRowExpiry(FateDefinition fate) { - return ImGui.ColorConvertFloat4ToU32(P_0); + DateTime? eventExpiry = fate.EventExpiry; + if (eventExpiry.HasValue) + { + DateTime valueOrDefault = eventExpiry.GetValueOrDefault(); + TimeSpan timeSpan = EventInfoComponent.NormalizeExpiry(valueOrDefault) - DateTime.UtcNow; + if (timeSpan > TimeSpan.Zero) + { + string text = EventInfoComponent.FormatRemainingDays(timeSpan); + ImGui.TextColored((timeSpan.TotalDays < 3.0) ? UiThemeUtils.StatusActive : UiThemeUtils.DimTextColor, text); + } + else + { + ImGui.TextColored(in UiThemeUtils.MutedTextColor, "Expired"); + } + } + else + { + ImGui.TextColored(in UiThemeUtils.MutedTextColor, "--"); + } } - static void _202B_206E_202C_202C_206F_200F_200B_206A_206F_200F_200B_206B_206E_200D_206B_200D_202E_200B_206F_200D_200C_200C_206F_202B_200E_200B_206F_206B_202B_202E_206E_202D_206F_202D_202D_206A_202E_202C_206F_202B_202E(ImGuiTableBgTarget P_0, uint P_1) + private void DrawFateRowActions(FateDefinition fate, bool disabled) { - ImGui.TableSetBgColor(P_0, P_1); + uint? num = fate.RequiredQuestId; + object obj; + if (num.HasValue) + { + uint valueOrDefault = num.GetValueOrDefault(); + if (valueOrDefault <= 65535) + { + obj = new QuestId((ushort)valueOrDefault); + goto IL_004d; + } + } + obj = null; + goto IL_004d; + IL_004d: + QuestId questId = (QuestId)obj; + bool flag = questId != null && !_questFunctions.IsQuestComplete(questId); + ImU8String id = new ImU8String(5, 1); + id.AppendLiteral("fate_"); + id.AppendFormatted(fate.Name); + using (ImRaii.PushId(id)) + { + if (flag) + { + using (ImRaii.PushFont(UiBuilder.IconFont)) + { + ImGui.TextColored(in UiThemeUtils.StatusLocked, FontAwesomeIcon.Times.ToIconString()); + } + if (ImGui.IsItemHovered()) + { + IQuestInfo questInfo; + string value = (_questData.TryGetQuestInfo(new QuestId(fate.RequiredQuestId.Value), out questInfo) ? questInfo.Name : (num?.ToString(CultureInfo.InvariantCulture) ?? "Unknown")); + ImU8String tooltip = new ImU8String(33, 1); + tooltip.AppendLiteral("Requires \""); + tooltip.AppendFormatted(value); + tooltip.AppendLiteral("\" to be completed first"); + ImGui.SetTooltip(tooltip); + } + return; + } + using (ImRaii.Disabled(disabled)) + { + using (ImRaii.PushColor(ImGuiCol.Button, UiThemeUtils.PlayButtonColor)) + { + using (ImRaii.PushColor(ImGuiCol.ButtonHovered, UiThemeUtils.PlayButtonHover)) + { + using (ImRaii.PushColor(ImGuiCol.ButtonActive, UiThemeUtils.PlayButtonActive)) + { + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.PlayButtonText)) + { + if (UiThemeUtils.IconButton(FontAwesomeIcon.Play, ImGui.GetFrameHeight())) + { + _movementController.Stop(); + _questController.Stop("FATE farming start"); + _seasonalDutyController.Stop("FATE farming start"); + _customDeliveryController.Stop("FATE farming start"); + _attunementController.Stop("FATE farming start"); + int? cycleLimit = ((_cycleLimit > 0) ? new int?(_cycleLimit) : ((int?)null)); + _fateController.Start(fate, cycleLimit); + } + } + } + } + } + } + if (disabled && ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) + { + if (_fateController.IsRunning) + { + ImGui.SetTooltip("Already farming a FATE"); + } + else if (_seasonalDutyController.IsRunning) + { + ImGui.SetTooltip("Stop seasonal duty farming first"); + } + else if (_customDeliveryController.IsRunning) + { + ImGui.SetTooltip("Stop custom delivery first"); + } + else if (_attunementController.IsRunning) + { + ImGui.SetTooltip("Stop attunement first"); + } + else + { + ImGui.SetTooltip("Stop quest automation first"); + } + } + } } - static bool _202D_202B_202D_200D_206A_206F_206E_202C_206F_200D_200B_202C_200E_200E_200B_200C_206F_200D_200B_200D_202C_202A_202B_202B_202D_202E_202B_206C_206E_202A_200D_206C_202C_202A_200E_206D_206C_200B_206E_202A_202E() + private static string FormatElapsed(TimeSpan elapsed) { - return ImGui.TableNextColumn(); - } - - static ushort _202D_200E_206C_206C_202D_200E_202D_206A_202D_202A_200B_206C_202E_206A_202D_202C_202E_200E_206D_200F_202D_202A_202C_202D_202A_202C_206D_206F_202C_200F_200B_206B_206A_200E_202B_206C_206D_202A_200E_200D_202E(FateDefinition P_0) - { - return P_0.TerritoryId; - } - - static string _200D_206D_202B_206A_200B_202C_202E_206A_200D_202A_200C_206C_202B_200C_206C_200C_200F_206F_202A_206B_202B_200B_202D_200B_202E_202D_200D_200D_202E_202B_206D_200D_202A_202E_202E_202D_206C_202B_206A_202B_202E(FateDefinition P_0) - { - return P_0.Description; - } - - static bool _200F_206A_202A_206A_206F_200B_202E_200F_206C_202E_202B_202B_202C_200B_206F_202B_200D_200C_202E_206C_206B_200B_200C_200E_206E_202B_206C_200C_200C_200B_206E_202B_202C_200D_206A_202E_206D_200E_202A_206E_202E() - { - return ImGui.IsItemHovered(); - } - - static ImRaii.TooltipDisposable _202A_206F_202C_202A_202E_206B_206B_202B_202C_202E_206D_206E_200E_206C_202A_200B_206B_200F_200E_200B_200F_200B_200F_202A_206A_202A_202C_206C_206B_206D_206A_200F_200C_206D_206F_200C_202E_206F_206B_202D_202E() - { - return ImRaii.Tooltip(); - } - - static void _206F_200D_202E_202C_206D_206C_202A_206C_206F_206B_202B_200F_202B_200E_202A_202A_200E_200C_200B_202C_202E_202A_206A_206D_206B_206C_202E_206A_202A_206A_200E_206E_202C_206B_206F_200B_202D_206E_206B_206F_202E() - { - ImGui.Separator(); - } - - static void _206C_206E_200B_202C_202A_206C_200D_206D_200D_202A_206B_200D_202D_200B_200F_200C_202B_206F_200D_200C_200F_206B_200D_206D_206D_200E_206F_202B_200C_200F_200E_206D_206C_202C_206B_200D_202E_202D_202B_202E(float P_0) - { - ImGui.PushTextWrapPos(P_0); - } - - static void _206C_206B_206E_202A_202D_206B_202D_206E_206A_206A_202A_206F_206B_206D_202D_206C_202B_206C_202B_200D_206D_200E_200F_206D_200C_200E_202A_202D_200F_206D_206F_202C_206B_200D_206B_202D_202C_200E_206B_202E() - { - ImGui.PopTextWrapPos(); - } - - static List _206E_202A_206C_202E_206E_202C_202E_206B_202D_206E_202C_206F_206D_200F_200F_202B_206A_202C_200C_202A_202B_206B_206B_200D_206E_206E_200E_200D_206E_202B_200F_200F_200F_200B_206F_206F_206D_202C_202C_202E_202E(FateDefinition P_0) - { - return P_0.Targets; - } - - static EStatus? _200E_200C_206F_200C_200C_206E_200B_202D_202E_206A_206D_206B_206E_202C_202D_206F_202B_200E_206F_206B_206D_202B_202C_206A_200C_206D_200D_202C_202A_202A_206B_206D_202A_202D_206C_206C_202B_200F_206A_200C_202E(FateDefinition P_0) - { - return P_0.RequiredStatusId; - } - - static DateTime? _206C_202E_200E_202A_202E_206E_206B_206F_200C_202B_200B_200B_200F_200B_206E_200C_206B_200C_200F_202E_202C_206E_202A_206E_206F_202D_206B_202B_206C_206F_202D_206B_206D_200B_200D_202D_200C_206E_206E_206A_202E(FateDefinition P_0) - { - return P_0.EventExpiry; - } - - static ushort? _206F_202C_202D_202C_200E_206E_202A_200B_200E_202A_206C_200B_200E_206D_200B_206A_206B_206B_200E_206D_200B_200B_206C_200F_202A_202C_202E_200F_206C_206E_206D_200D_200F_206E_206D_200B_200F_202E_200D_206F_202E(FateDefinition P_0) - { - return P_0.RequiredQuestId; - } - - static QuestId _206E_202E_206D_202B_200D_200D_202B_206D_202A_202A_200D_206C_206A_202D_200C_200D_200B_206C_202B_206B_206F_206A_202A_200B_200B_206C_206B_200D_206C_202C_202D_202B_206B_202C_206A_202E_206A_202D_200C_202E_202E(ushort P_0) - { - return new QuestId(P_0); - } - - static bool _202E_206F_202C_200C_202D_206C_206A_202B_202B_200F_206D_200C_206A_202D_202A_206C_206D_200F_206B_200D_206A_202E_206F_206B_202C_202B_202A_200B_200D_200E_200B_202E_200B_200E_200C_200F_202C_202C_206C_202C_202E(ElementId P_0, ElementId P_1) - { - return P_0 != P_1; - } - - static ImRaii.IdDisposable _206C_202B_206D_202A_202C_206D_202A_206A_202C_206D_200B_206F_206F_200D_206E_200D_206B_206A_200B_206A_202D_202C_206A_200B_202A_206A_206B_202D_200E_206D_206A_200C_200F_200F_200D_200F_206C_200B_202A_206F_202E(ImU8String P_0, bool P_1) - { - return ImRaii.PushId(P_0, P_1); - } - - static ImFontPtr _200D_200F_206F_200C_200D_206D_206A_202E_200C_200D_200B_202E_206C_200C_206E_200C_200C_206E_206E_206F_206F_206A_200C_200C_200F_202A_206D_200D_200F_202D_200E_202B_202B_202E_206C_202C_202D_200F_202E_206F_202E() - { - return UiBuilder.IconFont; - } - - static ImRaii.FontDisposable _206C_202D_202A_206B_200B_202B_206A_202D_200B_200E_206A_200D_200F_206C_200B_200B_206C_202C_202D_202E_206A_202A_206F_200C_202D_200B_202C_202B_202B_200C_206C_202E_202D_202B_206D_200F_202E_200C_202A_206D_202E(ImFontPtr P_0, bool P_1) - { - return ImRaii.PushFont(P_0, P_1); - } - - static string _202D_200D_200C_200B_206D_206F_206A_206B_202B_202C_206E_206A_200F_206F_206B_200D_206B_200E_202A_200B_200F_200E_202A_200E_206F_206D_206B_200F_206E_206F_200F_202C_202A_202C_206A_202B_202D_200D_200E_202C_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static CultureInfo _202A_202E_206B_200E_206A_206B_202B_200B_202B_206F_206B_206C_202E_206A_202C_206D_202C_206C_202B_200E_206C_206F_202D_200C_206F_200F_206F_206A_206C_206F_200E_200E_200D_200E_200D_202B_202A_206B_206E_206E_202E() - { - return CultureInfo.InvariantCulture; - } - - static void _202B_206C_206E_202A_206A_200D_202D_202C_206A_206B_206F_206D_202D_200C_200B_200E_202D_202E_200F_200B_200F_202B_202E_206E_206B_202D_200F_202B_202B_200B_206C_200C_202C_200C_202E_202E_206A_202D_202A_202B_202E(ImU8String P_0) - { - ImGui.SetTooltip(P_0); - } - - static ImRaii.ColorDisposable _206D_202C_202E_206E_200E_200B_202E_202C_206D_200C_202D_202C_200E_202A_206C_202C_202E_206E_200F_202B_202A_202E_202D_202D_200C_206B_206D_206D_200C_206C_202B_200B_206E_202D_206E_206E_202E_206A_202E_200C_202E(ImGuiCol P_0, Vector4 P_1, bool P_2) - { - return ImRaii.PushColor(P_0, P_1, P_2); - } - - static float _206B_200D_200E_200D_206B_206F_202C_206B_206F_200C_200F_200C_206A_206D_200C_202D_206F_202E_200E_200C_206E_202C_202D_202A_202D_200D_202C_200E_206F_206B_202C_202E_202E_200E_206E_206A_206D_206A_206B_206C_202E() - { - return ImGui.GetFrameHeight(); - } - - static bool _206D_202A_202D_206A_206B_202D_200E_206F_200E_200C_202E_200D_200F_206C_206F_200B_206C_200F_206C_206E_202C_202E_200F_206E_206E_202C_206B_200E_206E_200B_206D_206F_206B_200D_202C_206A_202B_206B_202E_206B_202E(ImGuiHoveredFlags P_0) - { - return ImGui.IsItemHovered(P_0); - } - - static string _202B_206C_206A_202B_202B_202E_206C_202E_200C_202E_206E_200F_200B_206F_206A_202B_200F_200F_200E_206B_202D_206B_202A_206A_200D_200C_200F_200F_202C_206D_206D_200E_202E_202E_202D_202A_200D_200E_200F_200F_202E(IFormatProvider P_0, ref DefaultInterpolatedStringHandler P_1) - { - return string.Create(P_0, ref P_1); - } - - static bool _202B_206D_206F_202B_200E_206D_202B_200E_202D_202E_206A_202B_206E_200F_202C_206A_202E_202C_206E_200D_206D_202E_200E_202E_206B_202E_206C_200C_206E_202E_200F_206A_202C_202D_200E_202D_202E_200B_200C_202C_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.Contains(P_1, P_2); + IFormatProvider invariantCulture; + if (elapsed.TotalHours >= 1.0) + { + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider = invariantCulture; + DefaultInterpolatedStringHandler handler = new DefaultInterpolatedStringHandler(5, 3, invariantCulture); + handler.AppendFormatted((int)elapsed.TotalHours); + handler.AppendLiteral("h "); + handler.AppendFormatted(elapsed.Minutes, "D2"); + handler.AppendLiteral("m "); + handler.AppendFormatted(elapsed.Seconds, "D2"); + handler.AppendLiteral("s"); + return string.Create(provider, ref handler); + } + if (elapsed.TotalMinutes >= 1.0) + { + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider2 = invariantCulture; + DefaultInterpolatedStringHandler handler2 = new DefaultInterpolatedStringHandler(3, 2, invariantCulture); + handler2.AppendFormatted((int)elapsed.TotalMinutes); + handler2.AppendLiteral("m "); + handler2.AppendFormatted(elapsed.Seconds, "D2"); + handler2.AppendLiteral("s"); + return string.Create(provider2, ref handler2); + } + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider3 = invariantCulture; + DefaultInterpolatedStringHandler handler3 = new DefaultInterpolatedStringHandler(1, 1, invariantCulture); + handler3.AppendFormatted(elapsed.Seconds); + handler3.AppendLiteral("s"); + return string.Create(provider3, ref handler3); } } diff --git a/Questionable/Questionable.Windows/JournalProgressWindow.cs b/Questionable/Questionable.Windows/JournalProgressWindow.cs index 82e818b..9cf9de5 100644 --- a/Questionable/Questionable.Windows/JournalProgressWindow.cs +++ b/Questionable/Questionable.Windows/JournalProgressWindow.cs @@ -1,10 +1,6 @@ using System; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Threading.Tasks; -using Dalamud.Bindings.ImGui; -using Dalamud.Configuration; using Dalamud.Interface; using Dalamud.Interface.Utility; using Dalamud.Interface.Utility.Raii; @@ -20,23 +16,23 @@ internal sealed class JournalProgressWindow : ThemedWindow, IDisposable { private static readonly SidebarNav.Group[] NavGroups = new SidebarNav.Group[3] { - new SidebarNav.Group(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(-1816330610), new SidebarNav.Item[5] + new SidebarNav.Group("Progress", new SidebarNav.Item[5] { - new SidebarNav.Item(FontAwesomeIcon.Book, 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(-1914358154)), - new SidebarNav.Item(FontAwesomeIcon.Dungeon, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2007815205)), - new SidebarNav.Item(FontAwesomeIcon.Wifi, 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(1703030104)), - new SidebarNav.Item(FontAwesomeIcon.Leaf, 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(-226723532)), - new SidebarNav.Item(FontAwesomeIcon.Gift, 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(-2013041662)) + new SidebarNav.Item(FontAwesomeIcon.Book, "Quests"), + new SidebarNav.Item(FontAwesomeIcon.Dungeon, "Duties"), + new SidebarNav.Item(FontAwesomeIcon.Wifi, "Attunement"), + new SidebarNav.Item(FontAwesomeIcon.Leaf, "Gathering Points"), + new SidebarNav.Item(FontAwesomeIcon.Gift, "Item Rewards") }), - new SidebarNav.Group(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(-491431929), new SidebarNav.Item[2] + new SidebarNav.Group("Explore", new SidebarNav.Item[2] { - new SidebarNav.Item(FontAwesomeIcon.Map, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1518072802)), - new SidebarNav.Item(FontAwesomeIcon.ProjectDiagram, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1675692115)) + new SidebarNav.Item(FontAwesomeIcon.Map, "Quest Map"), + new SidebarNav.Item(FontAwesomeIcon.ProjectDiagram, "Quest Chain") }), - new SidebarNav.Group(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1013283532), new SidebarNav.Item[2] + new SidebarNav.Group("Societies", new SidebarNav.Item[2] { - new SidebarNav.Item(FontAwesomeIcon.Handshake, 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(-1587107701)), - new SidebarNav.Item(FontAwesomeIcon.BoxOpen, 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(-1550265517)) + new SidebarNav.Item(FontAwesomeIcon.Handshake, "Allied Societies"), + new SidebarNav.Item(FontAwesomeIcon.BoxOpen, "Custom Deliveries") }) }; @@ -77,9 +73,8 @@ internal sealed class JournalProgressWindow : ThemedWindow, IDisposable private int _selectTabNextFrame = -1; - [MethodImpl(MethodImplOptions.NoInlining)] public JournalProgressWindow(QuestJournalComponent questJournalComponent, QuestRewardComponent questRewardComponent, AlliedSocietyJournalComponent alliedSocietyJournalComponent, CustomDeliveryJournalComponent customDeliveryJournalComponent, GatheringJournalComponent gatheringJournalComponent, DutyJournalComponent dutyJournalComponent, QuestMapComponent questMapComponent, QuestChainComponent questChainComponent, AttunementJournalComponent attunementJournalComponent, QuestJournalUtils questJournalUtils, QuestRegistry questRegistry, IClientState clientState, IFramework framework, IDalamudPluginInterface pluginInterface, Configuration configuration) - : base(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-994875588)) + : base("Journal Progress###QuestionableJournalProgress") { _questJournalComponent = questJournalComponent; _alliedSocietyJournalComponent = alliedSocietyJournalComponent; @@ -103,50 +98,33 @@ internal sealed class JournalProgressWindow : ThemedWindow, IDisposable _questMapComponent.QuestJournalUtils = questJournalUtils; _attunementJournalComponent.SelectTabAction = SelectTab; _attunementJournalComponent.QuestChainComponent = _questChainComponent; - _200D_200E_200C_206D_202C_206B_200C_200D_206E_202C_200B_202B_200D_206F_206C_202B_206A_206E_202D_200F_206D_206B_206C_206E_200F_200F_202D_202D_200E_200F_206A_206B_200D_206D_202D_202C_200B_206C_206E_206F_202E(_clientState, (Action)_questJournalComponent.RefreshCounts); - _200E_206E_202B_202C_206C_202B_206E_200F_206C_202B_200E_202D_202A_202E_206B_202B_206D_200F_200B_202D_202A_200F_200D_206B_200D_202E_202A_200F_200E_202D_206D_206B_200D_206A_202B_200B_206C_206A_202A_202E(_clientState, (IClientState.LogoutDelegate)_dutyJournalComponent.ClearCounts); - _200D_200E_200C_206D_202C_206B_200C_200D_206E_202C_200B_202B_200D_206F_206C_202B_206A_206E_202D_200F_206D_206B_206C_206E_200F_200F_202D_202D_200E_200F_206A_206B_200D_206D_202D_202C_200B_206C_206E_206F_202E(_clientState, (Action)_gatheringJournalComponent.RefreshCounts); - _200D_200E_200C_206D_202C_206B_200C_200D_206E_202C_200B_202B_200D_206F_206C_202B_206A_206E_202D_200F_206D_206B_206C_206E_200F_200F_202D_202D_200E_200F_206A_206B_200D_206D_202D_202C_200B_206C_206E_206F_202E(_clientState, (Action)_dutyJournalComponent.RefreshCounts); - _200E_206E_202B_202C_206C_202B_206E_200F_206C_202B_200E_202D_202A_202E_206B_202B_206D_200F_200B_202D_202A_200F_200D_206B_200D_202E_202A_200F_200E_202D_206D_206B_200D_206A_202B_200B_206C_206A_202A_202E(_clientState, (IClientState.LogoutDelegate)_questJournalComponent.ClearCounts); - _200E_206E_202B_202C_206C_202B_206E_200F_206C_202B_200E_202D_202A_202E_206B_202B_206D_200F_200B_202D_202A_200F_200D_206B_200D_202E_202A_200F_200E_202D_206D_206B_200D_206A_202B_200B_206C_206A_202A_202E(_clientState, (IClientState.LogoutDelegate)_gatheringJournalComponent.ClearCounts); - _200D_200E_200C_206D_202C_206B_200C_200D_206E_202C_200B_202B_200D_206F_206C_202B_206A_206E_202D_200F_206D_206B_206C_206E_200F_200F_202D_202D_200E_200F_206A_206B_200D_206D_202D_202C_200B_206C_206E_206F_202E(_clientState, (Action)_attunementJournalComponent.RefreshCounts); - _200E_206E_202B_202C_206C_202B_206E_200F_206C_202B_200E_202D_202A_202E_206B_202B_206D_200F_200B_202D_202A_200F_200D_206B_200D_202E_202A_200F_200E_202D_206D_206B_200D_206A_202B_200B_206C_206A_202A_202E(_clientState, (IClientState.LogoutDelegate)_attunementJournalComponent.ClearCounts); + _clientState.Login += _questJournalComponent.RefreshCounts; + _clientState.Logout += _dutyJournalComponent.ClearCounts; + _clientState.Login += _gatheringJournalComponent.RefreshCounts; + _clientState.Login += _dutyJournalComponent.RefreshCounts; + _clientState.Logout += _questJournalComponent.ClearCounts; + _clientState.Logout += _gatheringJournalComponent.ClearCounts; + _clientState.Login += _attunementJournalComponent.RefreshCounts; + _clientState.Logout += _attunementJournalComponent.ClearCounts; _questRegistry.Reloaded += OnQuestsReloaded; - _202D_206F_206D_200C_202E_206C_206E_206D_206D_206A_200F_202E_202C_200E_200B_206E_200E_202A_200B_200E_206D_200E_206A_200F_206D_202A_202B_206A_202C_206F_202D_200B_206B_206B_206C_206B_206B_200E_200D_202E((WindowSizeConstraints?)new WindowSizeConstraints + base.SizeConstraints = new WindowSizeConstraints { MinimumSize = new Vector2(700f, 500f) - }); + }; } public void SelectTab(string tabName) { int num = Array.IndexOf(FlatLabels, tabName); - int num2 = ((num < 0) ? (-48410120) : (-48410119)); - while (true) + if (num >= 0) { - int num3 = num2; - int num4 = -48410120; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 0: - return; - case 1: - _selectTabNextFrame = num; - num2 = -48410120; - break; - case 2: - num2 = -48410119; - break; - } + _selectTabNextFrame = num; } } private void OnQuestsReloaded(object? sender, EventArgs e) { - _206B_206A_206E_206D_202B_202B_200B_206A_206E_206B_200C_200F_200D_202E_200E_200B_200C_206F_200E_202E_206B_200D_206C_206A_200B_206C_206B_206E_206A_200E_206E_202D_206E_202A_200E_206C_200C_202E_200D_202E_202E(_framework, (Action)delegate + _framework.RunOnFrameworkThread(delegate { _questJournalComponent.RefreshCounts(); _dutyJournalComponent.RefreshCounts(); @@ -160,195 +138,57 @@ internal sealed class JournalProgressWindow : ThemedWindow, IDisposable public override void OnOpen() { int num = Array.IndexOf(FlatLabels, _configuration.JournalLastPage); - int num2 = ((num < 0) ? (-747516313) : (-747516316)); - while (true) + if (num >= 0) { - int num3 = num2; - int num4 = -747516314; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num2 = -747516316; - break; - case 2: - _selectedTab = num; - num2 = -747516313; - break; - case 1: - _questJournalComponent.UpdateFilter(); - _dutyJournalComponent.UpdateFilter(); - _gatheringJournalComponent.UpdateFilter(); - _attunementJournalComponent.UpdateFilter(); - _questMapComponent.MarkDirty(); - _questChainComponent.MarkDirty(); - return; - } + _selectedTab = num; } + _questJournalComponent.UpdateFilter(); + _dutyJournalComponent.UpdateFilter(); + _gatheringJournalComponent.UpdateFilter(); + _attunementJournalComponent.UpdateFilter(); + _questMapComponent.MarkDirty(); + _questChainComponent.MarkDirty(); } - [MethodImpl(MethodImplOptions.NoInlining)] public override void DrawContent() { - int num = ((_selectTabNextFrame < 0) ? 376912243 : 376912240); - while (true) + if (_selectTabNextFrame >= 0) { - int num2 = num; - int num3 = 376912242; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + SetSelectedTab(_selectTabNextFrame); + _selectTabNextFrame = -1; + } + SetSelectedTab(SidebarNav.Draw(NavGroups, _selectedTab)); + using ImRaii.ChildDisposable childDisposable = ImRaii.Child("##qstJournalContent", Vector2.Zero); + if ((bool)childDisposable) + { + using (ImRaii.PushIndent(8f * ImGuiHelpers.GlobalScale)) { - case 0: - num = 376912240; - break; - case 2: - SetSelectedTab(_selectTabNextFrame); - _selectTabNextFrame = -1; - num = 376912243; - break; - case 1: - { - SetSelectedTab(SidebarNav.Draw(NavGroups, _selectedTab)); - using ImRaii.ChildDisposable childDisposable = _206E_202E_206A_206C_202E_202D_200E_202E_206D_206D_200C_202A_200F_206E_202C_202E_206D_200B_206B_206C_200F_200E_200C_206B_200B_200E_206D_200F_202E_202E_200B_200D_200B_200C_202B_206E_206B_202E_206C_200E_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1458524227), Vector2.Zero); - if (!(bool)childDisposable) - { - return; - } - ImRaii.IndentDisposable indentDisposable = _202D_206F_206A_206E_206D_202C_202B_206B_200D_206F_206E_200D_206E_200C_206B_206E_202A_206B_200E_202E_202C_202D_206F_202E_206E_206A_202C_206C_202B_202C_202A_200F_202B_206E_202C_202E_202B_202A_200B_202A_202E(8f * _206F_200D_200C_206B_202A_206E_200E_206E_206C_202B_206F_206F_202C_202E_206D_206C_202C_200C_202C_202D_202D_206F_206A_206D_202A_206A_202D_206E_206D_206B_206E_206C_206C_206B_202B_206C_206B_202E_200D_202C_202E(), true, true); - try - { - _pages[_selectedTab](); - return; - } - finally - { - num = ((indentDisposable == null) ? 1782540339 : 1782540336); - while (true) - { - int num7 = num; - num3 = 1782540338; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1782540336; - break; - case 2: - _202D_200F_202D_200F_206A_206A_206F_202E_206B_200C_202A_206C_206C_206C_202D_206A_206B_202B_200B_206E_206E_200E_206B_202B_202A_206B_202B_202E_200F_202C_202A_202A_202C_206B_206A_200E_200C_200F_206E_206F_202E((IDisposable)indentDisposable); - num = 1782540339; - break; - case 1: - goto end_IL_00fb; - } - continue; - end_IL_00fb: - break; - } - } - } + _pages[_selectedTab](); + return; } } } private void SetSelectedTab(int index) { - int num = ((index != _selectedTab) ? 1049819639 : 1049819636); - while (true) + if (index != _selectedTab) { - int num2 = num; - int num3 = 1049819637; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0047; - case 1: - return; - case 2: - _selectedTab = index; - _configuration.JournalLastPage = FlatLabels[index]; - _200D_206A_206B_200C_202B_200D_202B_200D_200F_206A_206F_202C_206F_200C_200B_206E_202C_206F_200D_206F_200E_206E_202A_200D_206D_206B_200C_202B_202B_206C_206C_202E_202C_206E_206D_206A_200B_202C_206F_206C_202E(_pluginInterface, (IPluginConfiguration)_configuration); - return; - } - continue; - IL_0047: - num = 1049819636; + _selectedTab = index; + _configuration.JournalLastPage = FlatLabels[index]; + _pluginInterface.SavePluginConfig(_configuration); } } public void Dispose() { _questRegistry.Reloaded -= OnQuestsReloaded; - _200E_206E_206F_206F_200B_202A_206A_202C_200D_200B_202A_206D_206A_202E_200F_202A_206D_200E_206B_206D_202E_202A_206B_206D_206D_200F_202B_206D_202B_200B_206B_206B_202B_200D_206E_206E_200E_200C_206E_206E_202E(_clientState, (IClientState.LogoutDelegate)_attunementJournalComponent.ClearCounts); - _202E_206A_206D_206E_202E_206E_202B_202B_202C_202A_202E_200C_202C_206C_202C_206D_200E_200F_202A_202E_200B_202C_206F_200F_206B_202C_206E_200D_206E_206A_202E_206D_200C_206E_202B_202D_202C_202B_200B_206A_202E(_clientState, (Action)_attunementJournalComponent.RefreshCounts); - _200E_206E_206F_206F_200B_202A_206A_202C_200D_200B_202A_206D_206A_202E_200F_202A_206D_200E_206B_206D_202E_202A_206B_206D_206D_200F_202B_206D_202B_200B_206B_206B_202B_200D_206E_206E_200E_200C_206E_206E_202E(_clientState, (IClientState.LogoutDelegate)_gatheringJournalComponent.ClearCounts); - _200E_206E_206F_206F_200B_202A_206A_202C_200D_200B_202A_206D_206A_202E_200F_202A_206D_200E_206B_206D_202E_202A_206B_206D_206D_200F_202B_206D_202B_200B_206B_206B_202B_200D_206E_206E_200E_200C_206E_206E_202E(_clientState, (IClientState.LogoutDelegate)_questJournalComponent.ClearCounts); - _202E_206A_206D_206E_202E_206E_202B_202B_202C_202A_202E_200C_202C_206C_202C_206D_200E_200F_202A_202E_200B_202C_206F_200F_206B_202C_206E_200D_206E_206A_202E_206D_200C_206E_202B_202D_202C_202B_200B_206A_202E(_clientState, (Action)_dutyJournalComponent.RefreshCounts); - _202E_206A_206D_206E_202E_206E_202B_202B_202C_202A_202E_200C_202C_206C_202C_206D_200E_200F_202A_202E_200B_202C_206F_200F_206B_202C_206E_200D_206E_206A_202E_206D_200C_206E_202B_202D_202C_202B_200B_206A_202E(_clientState, (Action)_gatheringJournalComponent.RefreshCounts); - _200E_206E_206F_206F_200B_202A_206A_202C_200D_200B_202A_206D_206A_202E_200F_202A_206D_200E_206B_206D_202E_202A_206B_206D_206D_200F_202B_206D_202B_200B_206B_206B_202B_200D_206E_206E_200E_200C_206E_206E_202E(_clientState, (IClientState.LogoutDelegate)_dutyJournalComponent.ClearCounts); - _202E_206A_206D_206E_202E_206E_202B_202B_202C_202A_202E_200C_202C_206C_202C_206D_200E_200F_202A_202E_200B_202C_206F_200F_206B_202C_206E_200D_206E_206A_202E_206D_200C_206E_202B_202D_202C_202B_200B_206A_202E(_clientState, (Action)_questJournalComponent.RefreshCounts); - } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static void _200D_200E_200C_206D_202C_206B_200C_200D_206E_202C_200B_202B_200D_206F_206C_202B_206A_206E_202D_200F_206D_206B_206C_206E_200F_200F_202D_202D_200E_200F_206A_206B_200D_206D_202D_202C_200B_206C_206E_206F_202E(IClientState P_0, Action P_1) - { - P_0.Login += P_1; - } - - static void _200E_206E_202B_202C_206C_202B_206E_200F_206C_202B_200E_202D_202A_202E_206B_202B_206D_200F_200B_202D_202A_200F_200D_206B_200D_202E_202A_200F_200E_202D_206D_206B_200D_206A_202B_200B_206C_206A_202A_202E(IClientState P_0, IClientState.LogoutDelegate P_1) - { - P_0.Logout += P_1; - } - - void _202D_206F_206D_200C_202E_206C_206E_206D_206D_206A_200F_202E_202C_200E_200B_206E_200E_202A_200B_200E_206D_200E_206A_200F_206D_202A_202B_206A_202C_206F_202D_200B_206B_206B_206C_206B_206B_200E_200D_202E(WindowSizeConstraints? P_0) - { - base.SizeConstraints = P_0; - } - - static Task _206B_206A_206E_206D_202B_202B_200B_206A_206E_206B_200C_200F_200D_202E_200E_200B_200C_206F_200E_202E_206B_200D_206C_206A_200B_206C_206B_206E_206A_200E_206E_202D_206E_202A_200E_206C_200C_202E_200D_202E_202E(IFramework P_0, Action P_1) - { - return P_0.RunOnFrameworkThread(P_1); - } - - static ImRaii.ChildDisposable _206E_202E_206A_206C_202E_202D_200E_202E_206D_206D_200C_202A_200F_206E_202C_202E_206D_200B_206B_206C_200F_200E_200C_206B_200B_200E_206D_200F_202E_202E_200B_200D_200B_200C_202B_206E_206B_202E_206C_200E_202E(ImU8String P_0, Vector2 P_1) - { - return ImRaii.Child(P_0, P_1); - } - - static float _206F_200D_200C_206B_202A_206E_200E_206E_206C_202B_206F_206F_202C_202E_206D_206C_202C_200C_202C_202D_202D_206F_206A_206D_202A_206A_202D_206E_206D_206B_206E_206C_206C_206B_202B_206C_206B_202E_200D_202C_202E() - { - return ImGuiHelpers.GlobalScale; - } - - static ImRaii.IndentDisposable _202D_206F_206A_206E_206D_202C_202B_206B_200D_206F_206E_200D_206E_200C_206B_206E_202A_206B_200E_202E_202C_202D_206F_202E_206E_206A_202C_206C_202B_202C_202A_200F_202B_206E_202C_202E_202B_202A_200B_202A_202E(float P_0, bool P_1, bool P_2) - { - return ImRaii.PushIndent(P_0, P_1, P_2); - } - - static void _202D_200F_202D_200F_206A_206A_206F_202E_206B_200C_202A_206C_206C_206C_202D_206A_206B_202B_200B_206E_206E_200E_206B_202B_202A_206B_202B_202E_200F_202C_202A_202A_202C_206B_206A_200E_200C_200F_206E_206F_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _200D_206A_206B_200C_202B_200D_202B_200D_200F_206A_206F_202C_206F_200C_200B_206E_202C_206F_200D_206F_200E_206E_202A_200D_206D_206B_200C_202B_202B_206C_206C_202E_202C_206E_206D_206A_200B_202C_206F_206C_202E(IDalamudPluginInterface P_0, IPluginConfiguration P_1) - { - P_0.SavePluginConfig(P_1); - } - - static void _200E_206E_206F_206F_200B_202A_206A_202C_200D_200B_202A_206D_206A_202E_200F_202A_206D_200E_206B_206D_202E_202A_206B_206D_206D_200F_202B_206D_202B_200B_206B_206B_202B_200D_206E_206E_200E_200C_206E_206E_202E(IClientState P_0, IClientState.LogoutDelegate P_1) - { - P_0.Logout -= P_1; - } - - static void _202E_206A_206D_206E_202E_206E_202B_202B_202C_202A_202E_200C_202C_206C_202C_206D_200E_200F_202A_202E_200B_202C_206F_200F_206B_202C_206E_200D_206E_206A_202E_206D_200C_206E_202B_202D_202C_202B_200B_206A_202E(IClientState P_0, Action P_1) - { - P_0.Login -= P_1; + _clientState.Logout -= _attunementJournalComponent.ClearCounts; + _clientState.Login -= _attunementJournalComponent.RefreshCounts; + _clientState.Logout -= _gatheringJournalComponent.ClearCounts; + _clientState.Logout -= _questJournalComponent.ClearCounts; + _clientState.Login -= _dutyJournalComponent.RefreshCounts; + _clientState.Login -= _gatheringJournalComponent.RefreshCounts; + _clientState.Logout -= _dutyJournalComponent.ClearCounts; + _clientState.Login -= _questJournalComponent.RefreshCounts; } } diff --git a/Questionable/Questionable.Windows/OneTimeSetupWindow.cs b/Questionable/Questionable.Windows/OneTimeSetupWindow.cs index 2798438..4431bc6 100644 --- a/Questionable/Questionable.Windows/OneTimeSetupWindow.cs +++ b/Questionable/Questionable.Windows/OneTimeSetupWindow.cs @@ -2,9 +2,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; -using Dalamud.Configuration; using Dalamud.Interface; using Dalamud.Interface.Utility; using Dalamud.Interface.Utility.Raii; @@ -26,20 +24,19 @@ internal sealed class OneTimeSetupWindow : ThemedWindow private int _currentIndex; - [MethodImpl(MethodImplOptions.NoInlining)] public OneTimeSetupWindow(WelcomeStep welcomeStep, PluginsStep pluginsStep, EssentialSettingsStep essentialSettingsStep, ReadyStep readyStep, Configuration configuration, IDalamudPluginInterface pluginInterface, ILogger logger) - : base(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(461826029), ImGuiWindowFlags.NoCollapse | ImGuiWindowFlags.AlwaysAutoResize | ImGuiWindowFlags.NoSavedSettings, forceMainWindow: true) + : base("Questionable Setup###QuestionableOneTimeSetup", ImGuiWindowFlags.NoCollapse | ImGuiWindowFlags.AlwaysAutoResize | ImGuiWindowFlags.NoSavedSettings, forceMainWindow: true) { _steps = new global::_003C_003Ez__ReadOnlyArray(new ISetupStep[4] { welcomeStep, pluginsStep, essentialSettingsStep, readyStep }); _configuration = configuration; _pluginInterface = pluginInterface; _logger = logger; - _206B_206F_202D_200B_200C_202D_206D_206B_206F_200C_202D_206D_200F_200B_202A_206A_202B_202D_206B_206E_200F_200B_200F_202E_202A_200D_206D_206A_200F_200C_202D_206B_202C_206A_202C_206B_206C_206B_200B_202B_202E(false); - _200C_206B_202B_206A_202C_202E_200C_206D_206B_206C_206B_200F_202B_206D_202C_202C_200D_200D_202C_200C_206D_202E_206F_202A_206C_206D_202A_200F_202E_200B_200B_200F_202C_202B_206A_206D_206A_200C_206B_202D_202E(false); - _200B_200C_206E_200C_202E_200F_202E_206E_200F_206F_200B_202B_200D_206B_206C_200B_200F_202B_200B_200F_202E_200C_206A_206F_200B_202E_206B_200D_202C_202E_200E_200F_206F_206B_206F_200D_206E_206B_206D_200D_202E(false); - _200F_200F_202E_200B_206F_202C_206A_202E_206E_206D_206F_206F_200E_200F_200B_202C_202C_202C_206F_206A_202B_202C_206E_202D_206B_200D_200F_202D_206B_202E_206E_202B_200D_206C_202A_202C_200C_202D_200E_202D_202E(false); - _206C_200D_206D_202B_206B_202E_206D_200F_202B_206B_206D_202E_200E_202A_200F_200F_200B_206B_206F_206F_206E_202E_202E_200E_206A_202B_200E_200E_202A_200B_206E_202D_206C_206C_200F_200F_200F_206E_206D_206B_202E(!_configuration.IsPluginSetupComplete()); - _202E_200F_202A_200C_206A_202E_200B_206F_206D_200F_206A_206F_202C_200E_200C_202C_206C_206B_202E_206E_200F_206F_202C_202E_206B_200C_200F_202C_206F_200F_206B_200D_202E_200C_200E_200C_202A_202A_200F_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1635291635), new object[1] { _206D_202B_202D_206C_206B_202D_206F_206A_206F_200C_206A_206C_206A_202B_206C_200E_200C_202A_202A_206D_200D_200E_206E_206B_200D_202D_200B_200C_200C_202D_202D_200F_206E_200F_200E_200C_200F_206C_206D_202E_202E() }); + base.RespectCloseHotkey = false; + base.ShowCloseButton = false; + base.AllowPinning = false; + base.AllowClickthrough = false; + base.IsOpen = !_configuration.IsPluginSetupComplete(); + _logger.LogDebug("One-time setup needed: {IsOpen}", base.IsOpen); } public override void OnOpen() @@ -47,641 +44,121 @@ internal sealed class OneTimeSetupWindow : ThemedWindow _currentIndex = 0; } - [MethodImpl(MethodImplOptions.NoInlining)] public override void DrawContent() { List list = _steps.Where((ISetupStep s) => s.ShouldShow()).ToList(); - int num = ((list.Count != 0) ? (-981161661) : (-981161664)); - while (true) + if (list.Count != 0) { - int num2 = num; - int num3 = -981161662; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - { - _currentIndex = _206A_200B_200B_206A_206B_206E_206D_206C_202B_200E_202B_200F_202D_206D_206B_202D_206B_200D_206E_202E_206F_202E_202D_202E_202C_206A_206B_206F_202E_206D_202D_206D_200E_206E_200E_206C_206A_202B_206F_200C_202E(_currentIndex, 0, list.Count - 1); - ISetupStep setupStep = list[_currentIndex]; - ImU8String imU8String = new ImU8String(9, 2); - imU8String.AppendLiteral(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(2121328215)); - int currentIndex = _currentIndex; - num3 = 1; - num4 = currentIndex; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - imU8String.AppendFormatted(num7 + (num8 + num8)); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1153128276)); - imU8String.AppendFormatted(list.Count); - _202D_200E_202B_206C_202C_200E_206A_202E_200C_202C_202C_206D_206F_200B_200C_206A_202D_202A_200E_200B_206D_206C_200D_200D_206B_206C_202B_202A_202D_200D_206D_200E_206D_200C_200E_202B_202B_202A_206E_202B_202E(ref UiThemeUtils.DimTextColor, imU8String); - _206D_200B_202E_200F_206D_202B_206E_206C_200F_206C_200D_200D_206B_202C_200C_206C_206E_200D_206F_202D_200D_206D_206D_206E_206F_202E_202A_202A_202B_202A_206C_206F_200B_200F_202C_200B_200E_206B_200F_200E_202E(); - DrawStepDots(list.Count); - UiThemeUtils.SectionHeader(setupStep.Title); - var (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); - setupStep.Draw(); - UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); - UiThemeUtils.SectionSpacing(); - DrawFooter(list.Count, setupStep); - return; - } - case 2: - return; - case 0: - goto IL_0168; - } - continue; - IL_0168: - num = -981161664; + _currentIndex = Math.Clamp(_currentIndex, 0, list.Count - 1); + ISetupStep setupStep = list[_currentIndex]; + ImU8String text = new ImU8String(9, 2); + text.AppendLiteral("Step "); + text.AppendFormatted(_currentIndex + 1); + text.AppendLiteral(" of "); + text.AppendFormatted(list.Count); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text); + ImGui.SameLine(); + DrawStepDots(list.Count); + UiThemeUtils.SectionHeader(setupStep.Title); + var (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); + setupStep.Draw(); + UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); + UiThemeUtils.SectionSpacing(); + DrawFooter(list.Count, setupStep); } } private void DrawStepDots(int visibleCount) { - float num = 3f * _202C_202C_206B_202E_206A_202D_202D_200E_206D_200D_202C_200D_206A_200D_206A_206C_206D_202D_206E_202D_200D_206A_202E_206B_200B_206C_200B_206B_206F_202A_200F_206C_200F_202C_202C_206E_200E_206C_202B_200F_202E(); - float num2 = 12f * _202C_202C_206B_202E_206A_202D_202D_200E_206D_200D_202C_200D_206A_200D_206A_206C_206D_202D_206E_202D_200D_206A_202E_206B_200B_206C_200B_206B_206F_202A_200F_206C_200F_202C_202C_206E_200E_206C_202B_200F_202E(); - float num3 = _206B_206B_202B_200C_202B_206C_202A_206D_206B_202E_202A_206F_202E_200B_206F_206F_200E_200C_202C_206B_206D_206A_206E_206F_202C_202B_200C_206F_206F_200D_206E_200E_206C_200E_206F_200C_202E_206D_200B_202C_202E(); - ImDrawListPtr imDrawListPtr = _202E_206B_202D_202E_206C_206F_206B_202A_206B_202C_206B_206E_202B_206F_200B_202B_200C_200F_200C_202B_202A_200F_200B_202D_202B_206D_202E_202E_202B_202A_200D_206E_202D_206B_202D_202C_200E_200F_206B_206C_202E(); - Vector2 vector = _202E_202D_202A_202A_200D_202D_200D_202C_200C_206F_200B_206C_206B_206E_200D_200B_206C_200B_202D_202B_206A_202D_200F_202C_202A_200D_200D_200D_202E_206C_200F_202D_200D_202D_200D_202B_200F_202E_202E_206A_202E(); - float y = vector.Y + num3 / 2f; - uint col = _206D_206D_206E_202B_206A_200E_200F_206D_202B_206B_200E_200E_206C_200B_206D_200E_200D_206F_206E_202A_202D_202A_206C_200D_202E_206A_206E_202C_206B_206A_206C_202A_200E_200E_206C_206F_206C_206B_200E_200E_202E(UiThemeUtils.AccentColor); - uint col2 = _206D_206D_206E_202B_206A_200E_200F_206D_202B_206B_200E_200E_206C_200B_206D_200E_200D_206F_206E_202A_202D_202A_206C_200D_202E_206A_206E_202C_206B_206A_206C_202A_200E_200E_206C_206F_206C_206B_200E_200E_202E(UiThemeUtils.MutedTextColor); - int num4 = 0; - int num5 = 1526689575; - Vector2 center = default(Vector2); - while (true) + float num = 3f * ImGuiHelpers.GlobalScale; + float num2 = 12f * ImGuiHelpers.GlobalScale; + float textLineHeight = ImGui.GetTextLineHeight(); + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + float y = cursorScreenPos.Y + textLineHeight / 2f; + uint col = ImGui.ColorConvertFloat4ToU32(UiThemeUtils.AccentColor); + uint col2 = ImGui.ColorConvertFloat4ToU32(UiThemeUtils.MutedTextColor); + for (int i = 0; i < visibleCount; i++) { - int num6 = num5; - int num7 = 1526689569; - int num8 = num6; - int num9 = num8 + num7; - int num10 = num8 & num7; - switch (num9 - (num10 + num10)) + Vector2 center = new Vector2(cursorScreenPos.X + num + (float)i * num2, y); + if (i == _currentIndex) { - case 0: - imDrawListPtr.AddCircleFilled(center, num, col); - num5 = 1526689568; - break; - case 5: - center = new Vector2(vector.X + num + (float)num4 * num2, y); - num5 = ((num4 != _currentIndex) ? 1526689573 : 1526689569); - break; - case 4: - imDrawListPtr.AddCircle(center, num, col2, 0, 1f); - num5 = 1526689568; - break; - case 6: - num5 = ((num4 < visibleCount) ? 1526689572 : 1526689570); - break; - case 3: - { - float num12 = num * 2f; - num7 = 1; - num8 = visibleCount; - _202B_200E_206C_200E_206E_202B_200D_200D_206E_200D_206E_206F_206B_206D_202D_202C_206D_206A_206B_206A_206E_202B_202B_206F_200C_206E_206C_200C_206D_202C_206C_200E_206B_202A_200E_200D_200C_206F_206C_206D_202E(new Vector2(num12 + (float)(~(~num8 + num7)) * num2, num3)); - return; + windowDrawList.AddCircleFilled(center, num, col); } - case 2: - num5 = 1526689575; - break; - case 1: + else { - int num11 = num4; - num7 = 1; - num8 = num11; - num4 = (num8 | num7) + (num8 & num7); - num5 = 1526689575; - break; - } + windowDrawList.AddCircle(center, num, col2, 0, 1f); } } + ImGui.Dummy(new Vector2(num * 2f + (float)(visibleCount - 1) * num2, textLineHeight)); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawFooter(int visibleCount, ISetupStep current) { - bool num = _currentIndex == 0; - int currentIndex = _currentIndex; - int num2 = 1; - int num3 = visibleCount; - bool flag = currentIndex == ~(~num3 + num2); - ImRaii.DisabledDisposable disabledDisposable = _200C_206D_206E_202D_206D_200D_200D_206A_200D_206D_202D_206D_200F_206B_202C_202A_202C_200B_200B_206E_200C_206D_202C_200B_206D_206A_202D_200B_200E_200D_200F_200E_202E_202B_200C_206E_206A_202C_206F_200D_202E(num); - int num4; - try + bool disabled = _currentIndex == 0; + bool flag = _currentIndex == visibleCount - 1; + using (ImRaii.Disabled(disabled)) { - num4 = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.ArrowLeft, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1553048446), ButtonWidth(FontAwesomeIcon.ArrowLeft, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-764915405)))) ? 808183570 : 808183569); - while (true) + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.ArrowLeft, "Back", ButtonWidth(FontAwesomeIcon.ArrowLeft, "Back"))) { - int num5 = num4; - num2 = 808183571; - num3 = num5; - int num6 = num3 + num2; - int num7 = num3 & num2; - switch (num6 - (num7 + num7)) - { - case 0: - num4 = 808183569; - break; - case 2: - { - int currentIndex2 = _currentIndex; - num2 = 1; - num3 = currentIndex2; - _currentIndex = ~(~num3 + num2); - num4 = 808183570; - break; - } - case 1: - goto end_IL_006a; - } - continue; - end_IL_006a: - break; + _currentIndex--; } } - finally - { - num4 = ((disabledDisposable == null) ? (-1101408097) : (-1101408100)); - while (true) - { - int num8 = num4; - num2 = -1101408099; - num3 = num8; - int num9 = num3 + num2; - int num10 = num3 & num2; - switch (num9 - (num10 + num10)) - { - case 0: - num4 = -1101408100; - break; - case 1: - _200F_202A_202A_200D_206A_200B_200E_206F_200F_202B_206D_200D_202B_202E_206C_206C_200C_200E_200B_206B_200C_206B_202C_200C_202B_202E_202D_206D_202E_200E_202A_200B_200C_200E_206F_200C_202B_206E_206E_202B_202E((IDisposable)disabledDisposable); - num4 = -1101408097; - break; - case 2: - goto end_IL_00eb; - } - continue; - end_IL_00eb: - break; - } - } - _206D_200B_202E_200F_206D_202B_206E_206C_200F_206C_200D_200D_206B_202C_200C_206C_206E_200D_206F_202D_200D_206D_206D_206E_206F_202E_202A_202A_202B_202A_206C_206F_200B_200F_202C_200B_200E_206B_200F_200E_202E(); + ImGui.SameLine(); if (flag) { - disabledDisposable = _200C_206D_206E_202D_206D_200D_200D_206A_200D_206D_202D_206D_200F_206B_202C_202A_202C_200B_200B_206E_200C_206D_202C_200B_206D_206A_202D_200B_200E_200D_200F_200E_202E_202B_200C_206E_206A_202C_206F_200D_202E(!current.CanAdvance); - try + using (ImRaii.Disabled(!current.CanAdvance)) { - ImRaii.ColorDisposable colorDisposable = _200B_202E_202C_206B_202C_200C_200E_202A_202B_206F_200E_206D_202D_200F_200F_206F_200E_202E_202A_200C_206E_206C_202A_202D_202A_202E_202E_200F_200D_202E_200D_206B_200C_202E_202B_202C_206C_202E_206D_206C_202E(ImGuiCol.Button, UiThemeUtils.PlayButtonColor, true); - try + using (ImRaii.PushColor(ImGuiCol.Button, UiThemeUtils.PlayButtonColor)) { - ImRaii.ColorDisposable colorDisposable2 = _200B_202E_202C_206B_202C_200C_200E_202A_202B_206F_200E_206D_202D_200F_200F_206F_200E_202E_202A_200C_206E_206C_202A_202D_202A_202E_202E_200F_200D_202E_200D_206B_200C_202E_202B_202C_206C_202E_206D_206C_202E(ImGuiCol.ButtonHovered, UiThemeUtils.PlayButtonHover, true); - try + using (ImRaii.PushColor(ImGuiCol.ButtonHovered, UiThemeUtils.PlayButtonHover)) { - ImRaii.ColorDisposable colorDisposable3 = _200B_202E_202C_206B_202C_200C_200E_202A_202B_206F_200E_206D_202D_200F_200F_206F_200E_202E_202A_200C_206E_206C_202A_202D_202A_202E_202E_200F_200D_202E_200D_206B_200C_202E_202B_202C_206C_202E_206D_206C_202E(ImGuiCol.ButtonActive, UiThemeUtils.PlayButtonActive, true); - try + using (ImRaii.PushColor(ImGuiCol.ButtonActive, UiThemeUtils.PlayButtonActive)) { - ImRaii.ColorDisposable colorDisposable4 = _200B_202E_202C_206B_202C_200C_200E_202A_202B_206F_200E_206D_202D_200F_200F_206F_200E_202E_202A_200C_206E_206C_202A_202D_202A_202E_202E_200F_200D_202E_200D_206B_200C_202E_202B_202C_206C_202E_206D_206C_202E(ImGuiCol.Text, UiThemeUtils.PlayButtonText, true); - try + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.PlayButtonText)) { - num4 = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Check, 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(740749075), ButtonWidth(FontAwesomeIcon.Check, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-210319424)))) ? 2081076203 : 2081076200); - while (true) + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Check, "Finish Setup", ButtonWidth(FontAwesomeIcon.Check, "Finish Setup"))) { - int num11 = num4; - num2 = 2081076202; - num3 = num11; - switch ((num3 | num2) - (num3 & num2)) - { - case 0: - num4 = 2081076200; - break; - case 2: - _202E_200F_202A_200C_206A_202E_200B_206F_206D_200F_206A_206F_202C_200E_200C_202C_206C_206B_202E_206E_200F_206F_202C_202E_206B_200C_200F_202C_206F_200F_206B_200D_202E_200C_200E_200C_202A_202A_200F_206A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(907066724), Array.Empty()); - _configuration.MarkPluginSetupComplete(); - _202C_200C_202B_202A_202E_202D_206F_202D_206A_202C_206E_206C_206D_200B_206A_206C_200C_206F_200C_200C_202C_206E_206E_206B_200C_202A_206C_200B_202C_200C_206E_206B_202D_200B_202B_202C_206F_202B_200C_200D_202E(_pluginInterface, (IPluginConfiguration)_configuration); - RequestClose(); - num4 = 2081076203; - break; - case 1: - goto end_IL_01d1; - } - continue; - end_IL_01d1: - break; - } - } - finally - { - num4 = ((colorDisposable4 == null) ? 1525210494 : 1525210495); - while (true) - { - int num12 = num4; - num2 = 1525210494; - num3 = num12; - int num13 = num3 + num2; - int num14 = num3 & num2; - switch (num13 - (num14 + num14)) - { - case 2: - num4 = 1525210495; - break; - case 0: - goto end_IL_0275; - case 1: - _200F_202A_202A_200D_206A_200B_200E_206F_200F_202B_206D_200D_202B_202E_206C_206C_200C_200E_200B_206B_200C_206B_202C_200C_202B_202E_202D_206D_202E_200E_202A_200B_200C_200E_206F_200C_202B_206E_206E_202B_202E((IDisposable)colorDisposable4); - num4 = 1525210494; - break; - } - continue; - end_IL_0275: - break; + _logger.LogDebug("Marking setup as complete"); + _configuration.MarkPluginSetupComplete(); + _pluginInterface.SavePluginConfig(_configuration); + RequestClose(); } } } - finally - { - num4 = ((colorDisposable3 == null) ? (-1706055726) : (-1706055725)); - while (true) - { - int num15 = num4; - num2 = -1706055726; - num3 = num15; - int num16 = num3 + num2; - int num17 = num3 & num2; - switch (num16 - (num17 + num17)) - { - case 2: - num4 = -1706055725; - break; - case 1: - _200F_202A_202A_200D_206A_200B_200E_206F_200F_202B_206D_200D_202B_202E_206C_206C_200C_200E_200B_206B_200C_206B_202C_200C_202B_202E_202D_206D_202E_200E_202A_200B_200C_200E_206F_200C_202B_206E_206E_202B_202E((IDisposable)colorDisposable3); - num4 = -1706055726; - break; - case 0: - goto end_IL_02e2; - } - continue; - end_IL_02e2: - break; - } - } } - finally - { - num4 = ((colorDisposable2 == null) ? 709373826 : 709373825); - while (true) - { - int num18 = num4; - num2 = 709373824; - num3 = num18; - int num19 = num3 + num2; - int num20 = num3 & num2; - switch (num19 - (num20 + num20)) - { - case 2: - goto end_IL_034f; - case 1: - _200F_202A_202A_200D_206A_200B_200E_206F_200F_202B_206D_200D_202B_202E_206C_206C_200C_200E_200B_206B_200C_206B_202C_200C_202B_202E_202D_206D_202E_200E_202A_200B_200C_200E_206F_200C_202B_206E_206E_202B_202E((IDisposable)colorDisposable2); - num4 = 709373826; - break; - case 0: - num4 = 709373825; - break; - } - continue; - end_IL_034f: - break; - } - } - } - finally - { - num4 = ((colorDisposable == null) ? 2130178104 : 2130178107); - while (true) - { - int num21 = num4; - num2 = 2130178105; - num3 = num21; - int num22 = num3 + num2; - int num23 = num3 & num2; - switch (num22 - (num23 + num23)) - { - case 1: - goto end_IL_03bb; - case 2: - _200F_202A_202A_200D_206A_200B_200E_206F_200F_202B_206D_200D_202B_202E_206C_206C_200C_200E_200B_206B_200C_206B_202C_200C_202B_202E_202D_206D_202E_200E_202A_200B_200C_200E_206F_200C_202B_206E_206E_202B_202E((IDisposable)colorDisposable); - num4 = 2130178104; - break; - case 0: - num4 = 2130178107; - break; - } - continue; - end_IL_03bb: - break; - } - } - } - finally - { - num4 = ((disabledDisposable == null) ? (-1250205725) : (-1250205728)); - while (true) - { - int num24 = num4; - num2 = -1250205726; - num3 = num24; - switch ((num3 | num2) - (num3 & num2)) - { - case 1: - goto end_IL_0426; - case 2: - _200F_202A_202A_200D_206A_200B_200E_206F_200F_202B_206D_200D_202B_202E_206C_206C_200C_200E_200B_206B_200C_206B_202C_200C_202B_202E_202D_206D_202E_200E_202A_200B_200C_200E_206F_200C_202B_206E_206E_202B_202E((IDisposable)disabledDisposable); - num4 = -1250205725; - break; - case 0: - num4 = -1250205728; - break; - } - continue; - end_IL_0426: - break; } } } else { - disabledDisposable = _200C_206D_206E_202D_206D_200D_200D_206A_200D_206D_202D_206D_200F_206B_202C_202A_202C_200B_200B_206E_200C_206D_202C_200B_206D_206A_202D_200B_200E_200D_200F_200E_202E_202B_200C_206E_206A_202C_206F_200D_202E(!current.CanAdvance); - try + using (ImRaii.Disabled(!current.CanAdvance)) { - num4 = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.ArrowRight, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2011722463), ButtonWidth(FontAwesomeIcon.ArrowRight, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2011722463)))) ? 1847990145 : 1847990146); - while (true) + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.ArrowRight, "Next", ButtonWidth(FontAwesomeIcon.ArrowRight, "Next"))) { - int num25 = num4; - num2 = 1847990147; - num3 = num25; - int num26 = num3 + num2; - int num27 = num3 & num2; - switch (num26 - (num27 + num27)) - { - case 0: - num4 = 1847990146; - break; - case 1: - { - int currentIndex3 = _currentIndex; - num2 = 1; - num3 = currentIndex3; - int num28 = num3 ^ num2; - int num29 = num3 & num2; - _currentIndex = num28 + (num29 + num29); - num4 = 1847990145; - break; - } - case 2: - goto end_IL_04c5; - } - continue; - end_IL_04c5: - break; - } - } - finally - { - num4 = ((disabledDisposable == null) ? (-1209649959) : (-1209649958)); - while (true) - { - int num30 = num4; - num2 = -1209649957; - num3 = num30; - int num31 = num3 + num2; - int num32 = num3 & num2; - switch (num31 - (num32 + num32)) - { - case 0: - num4 = -1209649958; - break; - case 1: - _200F_202A_202A_200D_206A_200B_200E_206F_200F_202B_206D_200D_202B_202E_206C_206C_200C_200E_200B_206B_200C_206B_202C_200C_202B_202E_202D_206D_202E_200E_202A_200B_200C_200E_206F_200C_202B_206E_206E_202B_202E((IDisposable)disabledDisposable); - num4 = -1209649959; - break; - case 2: - goto end_IL_054c; - } - continue; - end_IL_054c: - break; + _currentIndex++; } } } - _206D_200B_202E_200F_206D_202B_206E_206C_200F_206C_200D_200D_206B_202C_200C_206C_206E_200D_206F_202D_200D_206D_206D_206E_206F_202E_202A_202A_202B_202A_206C_206F_200B_200F_202C_200B_200E_206B_200F_200E_202E(); - num4 = (_configuration.IsPluginSetupComplete() ? (-1034666289) : (-1034666290)); - while (true) - { - int num33 = num4; - num2 = -1034666294; - num3 = num33; - string text; - string text2; - switch ((num3 | num2) - (num3 & num2)) - { - case 5: - text = 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(-431798985); - goto IL_060c; - case 1: - _206F_202B_202D_202B_202C_200F_206E_206A_206E_206C_202B_202E_206B_200D_200B_206F_202B_206D_206D_206B_206A_202D_206E_206D_206C_200C_200E_200C_202C_200D_200E_206F_200F_200F_202D_200D_200B_206A_200B_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1502282868), Array.Empty()); - num4 = -1034666292; - break; - case 2: - num4 = -1034666290; - break; - case 4: - text = 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(-1567427430); - goto IL_060c; - case 0: - num4 = (_configuration.IsPluginSetupComplete() ? (-1034666292) : (-1034666293)); - break; - case 3: - return; - case 6: - { - RequestClose(); - num4 = -1034666295; - break; - } - IL_060c: - text2 = text; - num4 = ((!UiThemeUtils.IconTextButton(FontAwesomeIcon.Times, text2, ButtonWidth(FontAwesomeIcon.Times, text2))) ? (-1034666295) : (-1034666294)); - break; - } - } - static float ButtonWidth(FontAwesomeIcon icon, string text3) - { - ImRaii.FontDisposable fontDisposable = _202C_202E_200B_206A_200B_202D_200D_202D_202B_200B_206B_202B_202B_200B_206A_206D_200E_200C_206F_200B_202D_202A_202A_200F_200E_202E_202D_206C_206F_206B_202D_206F_202C_206A_202A_202A_202D_202A_202C_200E_202E(_206D_206C_202D_202B_200E_206F_200E_200F_200C_206D_202B_200C_206D_200B_206E_206F_200F_202A_206C_202C_206D_206C_200D_206A_200E_202A_202E_200E_200F_200B_206F_200C_200D_206F_200B_202C_206A_206D_202C_200C_202E(), true); - float x; - try - { - x = _200D_200B_206A_206F_202A_206F_206F_206F_202A_200B_200B_202A_200F_206F_206E_206A_200D_200D_202A_206C_200B_202E_206E_202E_202B_200F_206D_202D_200D_202E_200E_200F_206B_200E_200F_206C_200B_202B_200C_202E_202E((ImU8String)_206E_200C_200F_206A_206D_206C_206C_202B_200C_206C_206B_206B_202C_206F_200F_202D_206E_206D_206A_200D_206E_206D_202E_206B_206C_206E_202A_206A_206E_200C_202B_206C_202C_202B_200E_206D_200B_206A_206D_200E_202E(icon), false, -1f).X; - } - finally - { - int num34 = ((fontDisposable == null) ? 501543268 : 501543269); - while (true) - { - int num35 = num34; - int num36 = 501543268; - int num37 = num35; - int num38 = num37 + num36; - int num39 = num37 & num36; - switch (num38 - (num39 + num39)) - { - case 2: - num34 = 501543269; - break; - case 1: - _200F_202A_202A_200D_206A_200B_200E_206F_200F_202B_206D_200D_202B_202E_206C_206C_200C_200E_200B_206B_200C_206B_202C_200C_202B_202E_202D_206D_202E_200E_202A_200B_200C_200E_206F_200C_202B_206E_206E_202B_202E((IDisposable)fontDisposable); - num34 = 501543268; - break; - case 0: - goto end_IL_004b; - } - continue; - end_IL_004b: - break; - } - } - float x2 = _200D_200B_206A_206F_202A_206F_206F_206F_202A_200B_200B_202A_200F_206F_206E_206A_200D_200D_202A_206C_200B_202E_206E_202E_202B_200F_206D_202D_200D_202E_200E_200F_206B_200E_200F_206C_200B_202B_200C_202E_202E((ImU8String)text3, false, -1f).X; - return x + 6f + x2 + _206C_206A_202C_202B_206C_206D_202E_206D_200D_202D_206B_206C_202D_206D_202C_206C_202B_206B_202B_200F_206D_206B_206A_206E_202D_206A_206F_200F_206D_202E_206F_200B_200D_206F_200C_200F_206A_200C_206E_206A_202E().FramePadding.X * 2f; - } - } - - void _206B_206F_202D_200B_200C_202D_206D_206B_206F_200C_202D_206D_200F_200B_202A_206A_202B_202D_206B_206E_200F_200B_200F_202E_202A_200D_206D_206A_200F_200C_202D_206B_202C_206A_202C_206B_206C_206B_200B_202B_202E(bool P_0) - { - base.RespectCloseHotkey = P_0; - } - - void _200C_206B_202B_206A_202C_202E_200C_206D_206B_206C_206B_200F_202B_206D_202C_202C_200D_200D_202C_200C_206D_202E_206F_202A_206C_206D_202A_200F_202E_200B_200B_200F_202C_202B_206A_206D_206A_200C_206B_202D_202E(bool P_0) - { - base.ShowCloseButton = P_0; - } - - void _200B_200C_206E_200C_202E_200F_202E_206E_200F_206F_200B_202B_200D_206B_206C_200B_200F_202B_200B_200F_202E_200C_206A_206F_200B_202E_206B_200D_202C_202E_200E_200F_206F_206B_206F_200D_206E_206B_206D_200D_202E(bool P_0) - { - base.AllowPinning = P_0; - } - - void _200F_200F_202E_200B_206F_202C_206A_202E_206E_206D_206F_206F_200E_200F_200B_202C_202C_202C_206F_206A_202B_202C_206E_202D_206B_200D_200F_202D_206B_202E_206E_202B_200D_206C_202A_202C_200C_202D_200E_202D_202E(bool P_0) - { - base.AllowClickthrough = P_0; - } - - void _206C_200D_206D_202B_206B_202E_206D_200F_202B_206B_206D_202E_200E_202A_200F_200F_200B_206B_206F_206F_206E_202E_202E_200E_206A_202B_200E_200E_202A_200B_206E_202D_206C_206C_200F_200F_200F_206E_206D_206B_202E(bool P_0) - { - base.IsOpen = P_0; - } - - bool _206D_202B_202D_206C_206B_202D_206F_206A_206F_200C_206A_206C_206A_202B_206C_200E_200C_202A_202A_206D_200D_200E_206E_206B_200D_202D_200B_200C_200C_202D_202D_200F_206E_200F_200E_200C_200F_206C_206D_202E_202E() - { - return base.IsOpen; - } - - static void _202E_200F_202A_200C_206A_202E_200B_206F_206D_200F_206A_206F_202C_200E_200C_202C_206C_206B_202E_206E_200F_206F_202C_202E_206B_200C_200F_202C_206F_200F_206B_200D_202E_200C_200E_200C_202A_202A_200F_206A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static int _206A_200B_200B_206A_206B_206E_206D_206C_202B_200E_202B_200F_202D_206D_206B_202D_206B_200D_206E_202E_206F_202E_202D_202E_202C_206A_206B_206F_202E_206D_202D_206D_200E_206E_200E_206C_206A_202B_206F_200C_202E(int P_0, int P_1, int P_2) - { - return Math.Clamp(P_0, P_1, P_2); - } - - static void _202D_200E_202B_206C_202C_200E_206A_202E_200C_202C_202C_206D_206F_200B_200C_206A_202D_202A_200E_200B_206D_206C_200D_200D_206B_206C_202B_202A_202D_200D_206D_200E_206D_200C_200E_202B_202B_202A_206E_202B_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static void _206D_200B_202E_200F_206D_202B_206E_206C_200F_206C_200D_200D_206B_202C_200C_206C_206E_200D_206F_202D_200D_206D_206D_206E_206F_202E_202A_202A_202B_202A_206C_206F_200B_200F_202C_200B_200E_206B_200F_200E_202E() - { ImGui.SameLine(); - } - - static float _202C_202C_206B_202E_206A_202D_202D_200E_206D_200D_202C_200D_206A_200D_206A_206C_206D_202D_206E_202D_200D_206A_202E_206B_200B_206C_200B_206B_206F_202A_200F_206C_200F_202C_202C_206E_200E_206C_202B_200F_202E() - { - return ImGuiHelpers.GlobalScale; - } - - static float _206B_206B_202B_200C_202B_206C_202A_206D_206B_202E_202A_206F_202E_200B_206F_206F_200E_200C_202C_206B_206D_206A_206E_206F_202C_202B_200C_206F_206F_200D_206E_200E_206C_200E_206F_200C_202E_206D_200B_202C_202E() - { - return ImGui.GetTextLineHeight(); - } - - static ImDrawListPtr _202E_206B_202D_202E_206C_206F_206B_202A_206B_202C_206B_206E_202B_206F_200B_202B_200C_200F_200C_202B_202A_200F_200B_202D_202B_206D_202E_202E_202B_202A_200D_206E_202D_206B_202D_202C_200E_200F_206B_206C_202E() - { - return ImGui.GetWindowDrawList(); - } - - static Vector2 _202E_202D_202A_202A_200D_202D_200D_202C_200C_206F_200B_206C_206B_206E_200D_200B_206C_200B_202D_202B_206A_202D_200F_202C_202A_200D_200D_200D_202E_206C_200F_202D_200D_202D_200D_202B_200F_202E_202E_206A_202E() - { - return ImGui.GetCursorScreenPos(); - } - - static uint _206D_206D_206E_202B_206A_200E_200F_206D_202B_206B_200E_200E_206C_200B_206D_200E_200D_206F_206E_202A_202D_202A_206C_200D_202E_206A_206E_202C_206B_206A_206C_202A_200E_200E_206C_206F_206C_206B_200E_200E_202E(Vector4 P_0) - { - return ImGui.ColorConvertFloat4ToU32(P_0); - } - - static void _202B_200E_206C_200E_206E_202B_200D_200D_206E_200D_206E_206F_206B_206D_202D_202C_206D_206A_206B_206A_206E_202B_202B_206F_200C_206E_206C_200C_206D_202C_206C_200E_206B_202A_200E_200D_200C_206F_206C_206D_202E(Vector2 P_0) - { - ImGui.Dummy(P_0); - } - - static ImRaii.DisabledDisposable _200C_206D_206E_202D_206D_200D_200D_206A_200D_206D_202D_206D_200F_206B_202C_202A_202C_200B_200B_206E_200C_206D_202C_200B_206D_206A_202D_200B_200E_200D_200F_200E_202E_202B_200C_206E_206A_202C_206F_200D_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static void _200F_202A_202A_200D_206A_200B_200E_206F_200F_202B_206D_200D_202B_202E_206C_206C_200C_200E_200B_206B_200C_206B_202C_200C_202B_202E_202D_206D_202E_200E_202A_200B_200C_200E_206F_200C_202B_206E_206E_202B_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static ImRaii.ColorDisposable _200B_202E_202C_206B_202C_200C_200E_202A_202B_206F_200E_206D_202D_200F_200F_206F_200E_202E_202A_200C_206E_206C_202A_202D_202A_202E_202E_200F_200D_202E_200D_206B_200C_202E_202B_202C_206C_202E_206D_206C_202E(ImGuiCol P_0, Vector4 P_1, bool P_2) - { - return ImRaii.PushColor(P_0, P_1, P_2); - } - - static void _202C_200C_202B_202A_202E_202D_206F_202D_206A_202C_206E_206C_206D_200B_206A_206C_200C_206F_200C_200C_202C_206E_206E_206B_200C_202A_206C_200B_202C_200C_206E_206B_202D_200B_202B_202C_206F_202B_200C_200D_202E(IDalamudPluginInterface P_0, IPluginConfiguration P_1) - { - P_0.SavePluginConfig(P_1); - } - - static void _206F_202B_202D_202B_202C_200F_206E_206A_206E_206C_202B_202E_206B_200D_200B_206F_202B_206D_206D_206B_206A_202D_206E_206D_206C_200C_200E_200C_202C_200D_200E_206F_200F_200F_202D_200D_200B_206A_200B_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static ImFontPtr _206D_206C_202D_202B_200E_206F_200E_200F_200C_206D_202B_200C_206D_200B_206E_206F_200F_202A_206C_202C_206D_206C_200D_206A_200E_202A_202E_200E_200F_200B_206F_200C_200D_206F_200B_202C_206A_206D_202C_200C_202E() - { - return UiBuilder.IconFont; - } - - static ImRaii.FontDisposable _202C_202E_200B_206A_200B_202D_200D_202D_202B_200B_206B_202B_202B_200B_206A_206D_200E_200C_206F_200B_202D_202A_202A_200F_200E_202E_202D_206C_206F_206B_202D_206F_202C_206A_202A_202A_202D_202A_202C_200E_202E(ImFontPtr P_0, bool P_1) - { - return ImRaii.PushFont(P_0, P_1); - } - - static string _206E_200C_200F_206A_206D_206C_206C_202B_200C_206C_206B_206B_202C_206F_200F_202D_206E_206D_206A_200D_206E_206D_202E_206B_206C_206E_202A_206A_206E_200C_202B_206C_202C_202B_200E_206D_200B_206A_206D_200E_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static Vector2 _200D_200B_206A_206F_202A_206F_206F_206F_202A_200B_200B_202A_200F_206F_206E_206A_200D_200D_202A_206C_200B_202E_206E_202E_202B_200F_206D_202D_200D_202E_200E_200F_206B_200E_200F_206C_200B_202B_200C_202E_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static ImGuiStylePtr _206C_206A_202C_202B_206C_206D_202E_206D_200D_202D_206B_206C_202D_206D_202C_206C_202B_206B_202B_200F_206D_206B_206A_206E_202D_206A_206F_200F_206D_202E_206F_200B_200D_206F_200C_200F_206A_200C_206E_206A_202E() - { - return ImGui.GetStyle(); + string text = (_configuration.IsPluginSetupComplete() ? "Close" : "Close window & don't enable Questionable"); + if (UiThemeUtils.IconTextButton(FontAwesomeIcon.Times, text, ButtonWidth(FontAwesomeIcon.Times, text))) + { + if (!_configuration.IsPluginSetupComplete()) + { + _logger.LogWarning("Closing window without completing setup"); + } + RequestClose(); + } + static float ButtonWidth(FontAwesomeIcon icon, string text2) + { + float x; + using (ImRaii.PushFont(UiBuilder.IconFont)) + { + x = ImGui.CalcTextSize(icon.ToIconString()).X; + } + float x2 = ImGui.CalcTextSize(text2).X; + return x + 6f + x2 + ImGui.GetStyle().FramePadding.X * 2f; + } } } diff --git a/Questionable/Questionable.Windows/QuestSelectionWindow.cs b/Questionable/Questionable.Windows/QuestSelectionWindow.cs index cc68de2..b893deb 100644 --- a/Questionable/Questionable.Windows/QuestSelectionWindow.cs +++ b/Questionable/Questionable.Windows/QuestSelectionWindow.cs @@ -1,23 +1,17 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; using Dalamud.Game.ClientState.Objects.Types; -using Dalamud.Game.Text.SeStringHandling; using Dalamud.Interface; -using Dalamud.Interface.ManagedFontAtlas; using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Windowing; using Dalamud.Plugin; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game.UI; using FFXIVClientStructs.FFXIV.Client.UI; -using FFXIVClientStructs.STD.ContainerInterface; using LLib.GameUI; -using LLib.ImGui; using Questionable.Controller; using Questionable.Controller.GameUi; using Questionable.Data; @@ -30,88 +24,6 @@ namespace Questionable.Windows; internal sealed class QuestSelectionWindow : ThemedWindow { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass22_0 - { - public uint territoryId; - - public QuestSelectionWindow _003C_003E4__this; - - internal bool _003COpenForCurrentZone_003Eb__0(Quest x) - { - QuestSequence? questSequence = x.FindSequence(0); - ushort? obj; - if (questSequence == null) - { - obj = null; - } - else - { - QuestStep questStep = _202C_202A_206C_202E_202A_206B_206D_206F_206C_206E_200C_206F_206D_202B_202C_202C_206C_200F_202C_200C_202B_202D_206A_200B_202D_206F_202D_200D_206F_200B_202D_200D_200B_206E_202B_200E_202E_206C_206A_206F_202E(questSequence, 0); - obj = ((questStep != null) ? new ushort?(_200B_200D_206A_202C_202E_206E_206C_200E_200D_202A_200E_206C_206B_202B_202E_206E_202E_200F_202E_200E_200F_202B_200C_206B_202C_206F_200B_206A_202E_206F_202C_206F_200D_202E_200D_206B_206D_200E_200D_206D_202E(questStep)) : ((ushort?)null)); - } - ushort? num = obj; - int num2 = (num.HasValue ? 1950860831 : 1950860828); - uint? obj2; - while (true) - { - int num3 = num2; - int num4 = 1950860829; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - default: - continue; - case 2: - obj2 = num.GetValueOrDefault(); - break; - case 1: - obj2 = null; - break; - case 0: - goto IL_00d6; - } - break; - IL_00d6: - num2 = 1950860828; - } - return obj2 == territoryId; - } - - internal IQuestInfo _003COpenForCurrentZone_003Eb__1(Quest x) - { - return _003C_003E4__this._questData.GetQuestInfo(x.Id); - } - - static QuestStep _202C_202A_206C_202E_202A_206B_206D_206F_206C_206E_200C_206F_206D_202B_202C_202C_206C_200F_202C_200C_202B_202D_206A_200B_202D_206F_202D_200D_206F_200B_202D_200D_200B_206E_202B_200E_202E_206C_206A_206F_202E(QuestSequence P_0, int P_1) - { - return P_0.FindStep(P_1); - } - - static ushort _200B_200D_206A_202C_202E_206E_206C_200E_200D_202A_200E_206C_206B_202B_202E_206E_202E_200F_202E_200E_200F_202B_200C_206B_202C_206F_200B_206A_202E_206F_202C_206F_200D_202E_200D_206B_206D_200E_200D_206D_202E(QuestStep P_0) - { - return P_0.TerritoryId; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass22_1 - { - public QuestId questId; - - internal bool _003COpenForCurrentZone_003Eb__2(IQuestInfo q) - { - return _206C_202C_206D_206F_200C_200C_202B_206B_200F_200C_200E_202D_206E_200B_202B_206B_206D_200C_202D_206C_206F_206E_206B_202B_202D_200C_206C_200D_206F_206D_206C_200C_200C_202D_200D_200B_202D_202E_200B_206D_202E(q.QuestId, (ElementId)questId); - } - - static bool _206C_202C_206D_206F_200C_200C_202B_206B_200F_200C_200E_202D_206E_200B_202B_206B_206D_200C_202D_206C_206F_206E_206B_202B_202D_200C_206C_200D_206F_206D_206C_200C_200C_202D_200D_200B_202D_202E_200B_206D_202E(ElementId P_0, ElementId P_1) - { - return P_0 != P_1; - } - } - private const string WindowId = "###QuestionableQuestSelection"; private readonly QuestData _questData; @@ -152,9 +64,8 @@ internal sealed class QuestSelectionWindow : ThemedWindow private string _searchText = string.Empty; - [MethodImpl(MethodImplOptions.NoInlining)] public QuestSelectionWindow(QuestData questData, IGameGui gameGui, IChatGui chatGui, QuestFunctions questFunctions, QuestController questController, FateController fateController, SeasonalDutyController seasonalDutyController, CustomDeliveryController customDeliveryController, AttunementController attunementController, QuestRegistry questRegistry, IDalamudPluginInterface pluginInterface, TerritoryData territoryData, IClientState clientState, UiUtils uiUtils, QuestTooltipComponent questTooltipComponent) - : base(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(-525755755)) + : base("Quest Selection###QuestionableQuestSelection") { _questData = questData; _gameGui = gameGui; @@ -171,156 +82,59 @@ internal sealed class QuestSelectionWindow : ThemedWindow _clientState = clientState; _uiUtils = uiUtils; _questTooltipComponent = questTooltipComponent; - _206F_202B_202C_206B_202E_202E_206B_206C_200E_202A_200E_202B_200E_200E_202E_200C_206E_202A_206D_206B_200E_200F_206E_200E_206A_206A_200D_200D_200D_206A_206E_202A_202E_202B_202D_206D_200E_206E_206F_202B_202E((Vector2?)new Vector2(500f, 200f)); - _202E_200D_206C_202A_200B_206E_206F_206B_202E_206A_206A_202C_200D_200B_206D_200C_202B_202E_206D_202C_202D_202E_206C_200E_200C_202A_206C_202E_200D_202D_202B_206C_200D_200F_202E_206F_202E_206F_206A_206D_202E(ImGuiCond.Once); - _200E_202A_202E_202B_202C_200E_206C_202D_206A_206B_202C_202A_200C_200E_206E_202D_202E_206D_202B_206D_202A_200C_206C_200E_202D_200B_206A_202E_202B_206E_202E_200D_202D_202B_202E_202A_200B_200E_200B_200C_202E((WindowSizeConstraints?)new WindowSizeConstraints + base.Size = new Vector2(500f, 200f); + base.SizeCondition = ImGuiCond.Once; + base.SizeConstraints = new WindowSizeConstraints { MinimumSize = new Vector2(500f, 200f) - }); + }; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe void OpenForTarget(IGameObject? gameObject) { - int num = ((gameObject == null) ? 544754768 : 544754772); - AddonSelectIconString* addonPtr = default(AddonSelectIconString*); - while (true) + if (gameObject != null) { - int num2 = num; - int num3 = 544754769; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - _quests = new List(); - _offeredQuests = new List(); - num = 544754770; - break; - case 3: - _200C_200C_206A_206A_202C_206B_202D_200D_206B_206C_206F_200B_206C_206E_202C_200D_202A_202B_202E_202A_206B_206B_200F_202C_200D_200F_200B_200E_206F_206B_206B_200C_202C_200E_202C_206A_202A_202E_206B_200E_202E((LWindow)this, _quests.Count > 0); - return; - case 5: - { - uint num5 = _200B_206A_206D_206B_206E_206D_206A_202B_202C_202C_206B_202B_202B_202D_206D_206F_200D_202E_202B_202C_206C_206D_202C_200B_200C_200C_200F_200E_200F_206F_200B_202E_206F_202D_202A_206B_206F_206E_206D_206E_202E(gameObject); - string value = _206E_200D_202C_206A_200C_206A_202C_206C_202A_200E_202C_202D_206B_206A_206B_206C_200E_200E_206A_202B_202E_206D_206D_202A_206E_202C_202D_202D_206C_200D_202E_200E_200B_200F_202A_202D_206E_206E_202E_200F_202E((object)_202C_206E_202A_206C_202E_206C_202E_200D_206D_206E_206C_202A_206F_202C_206D_206D_200D_206E_206C_202B_202B_200D_202A_202B_202A_202D_206A_206B_202A_202C_206D_200F_200D_206F_206E_202B_206B_200B_202E_202B_202E(gameObject)); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(24, 3); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-447241864)); - defaultInterpolatedStringHandler.AppendFormatted(value); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1769099191)); - defaultInterpolatedStringHandler.AppendFormatted(num5); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1851437460)); - defaultInterpolatedStringHandler.AppendFormatted(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(2125329779)); - _200D_200E_200F_200C_206F_200E_202D_206D_206D_202A_200E_206B_202E_202B_200F_200D_202E_206F_202C_206C_202D_206F_202C_200E_200F_206A_200F_206A_200B_202E_206B_206D_202C_206F_206C_206F_200D_206F_200F_202E(defaultInterpolatedStringHandler.ToStringAndClear()); - _quests = _questData.GetAllByIssuerDataId(num5); - num = ((!_gameGui.TryGetAddonByName(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(1216084341), out addonPtr)) ? 544754773 : 544754769); - break; - } - case 4: - _offeredQuests = new List(); - num = 544754770; - break; - case 2: - num = 544754772; - break; - case 0: + uint baseId = gameObject.BaseId; + string value = gameObject.Name.ToString(); + base.WindowName = $"Quests starting with {value} [{baseId}]{"###QuestionableQuestSelection"}"; + _quests = _questData.GetAllByIssuerDataId(baseId); + if (_gameGui.TryGetAddonByName("SelectIconString", out var addonPtr)) { List answers = InteractionUiController.GetChoices(addonPtr); _offeredQuests = _quests.Where((IQuestInfo x) => answers.Any((string y) => GameFunctions.GameStringEquals(x.Name, y))).ToList(); - num = 544754770; - break; } + else + { + _offeredQuests = new List(); } } + else + { + _quests = new List(); + _offeredQuests = new List(); + } + base.IsOpenAndUncollapsed = _quests.Count > 0; } - [MethodImpl(MethodImplOptions.NoInlining)] public unsafe void OpenForCurrentZone() { - uint territoryId = _200C_202C_206B_200E_206E_206C_202A_206A_200D_202A_202E_202B_200D_202A_202E_206C_202D_200D_200F_206A_206C_200D_206B_202C_202B_200E_200F_206E_200E_200B_202D_202A_206E_200B_202E_202B_200E_206A_206E_206A_202E(_clientState); + uint territoryId = _clientState.TerritoryType; string nameAndId = _territoryData.GetNameAndId(territoryId); - _200D_200E_200F_200C_206F_200E_202D_206D_206D_202A_200E_206B_202E_202B_200F_200D_202E_206F_202C_206C_202D_206F_202C_200E_200F_206A_200F_206A_200B_202E_206B_206D_202C_206F_206C_206F_200D_206F_200F_202E(_202E_200F_200F_200C_202B_202A_200D_200B_206B_200E_202B_200B_200E_206F_206F_206A_202B_200D_206F_202B_200D_206B_200B_206E_206D_206C_206E_206D_200F_206E_200B_206B_202A_200B_200E_206E_202E_206F_206B_206A_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1676860164), nameAndId, 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(-1718139075))); - _quests = (from x in _questRegistry.AllQuests.Where(delegate(Quest x) - { - QuestSequence? questSequence = x.FindSequence(0); - ushort? obj; - if (questSequence == null) - { - obj = null; - } - else - { - QuestStep questStep = _003C_003Ec__DisplayClass22_0._202C_202A_206C_202E_202A_206B_206D_206F_206C_206E_200C_206F_206D_202B_202C_202C_206C_200F_202C_200C_202B_202D_206A_200B_202D_206F_202D_200D_206F_200B_202D_200D_200B_206E_202B_200E_202E_206C_206A_206F_202E(questSequence, 0); - obj = ((questStep != null) ? new ushort?(_003C_003Ec__DisplayClass22_0._200B_200D_206A_202C_202E_206E_206C_200E_200D_202A_200E_206C_206B_202B_202E_206E_202E_200F_202E_200E_200F_202B_200C_206B_202C_206F_200B_206A_202E_206F_202C_206F_200D_202E_200D_206B_206D_200E_200D_206D_202E(questStep)) : ((ushort?)null)); - } - ushort? num5 = obj; - int num6 = (num5.HasValue ? 1950860831 : 1950860828); - uint? obj2; - while (true) - { - int num7 = num6; - int num8 = 1950860829; - int num9 = num7; - int num10 = num9 + num8; - int num11 = num9 & num8; - switch (num10 - (num11 + num11)) - { - default: - continue; - case 2: - obj2 = num5.GetValueOrDefault(); - break; - case 1: - obj2 = null; - break; - case 0: - goto IL_00d6; - } - break; - IL_00d6: - num6 = 1950860828; - } - return obj2 == territoryId; - }) + base.WindowName = "Quests starting in " + nameAndId + "###QuestionableQuestSelection"; + _quests = (from x in _questRegistry.AllQuests + where x.FindSequence(0)?.FindStep(0)?.TerritoryId == territoryId select _questData.GetQuestInfo(x.Id)).ToList(); - using (IStdList.Enumerator enumerator = Map.Instance()->UnacceptedQuestMarkers.GetEnumerator()) + foreach (ref MarkerInfo unacceptedQuestMarker in Map.Instance()->UnacceptedQuestMarkers) { - int num = -680894682; - _003C_003Ec__DisplayClass22_1 _003C_003Ec__DisplayClass22_ = default(_003C_003Ec__DisplayClass22_1); - while (true) + MarkerInfo current = unacceptedQuestMarker; + QuestId questId = QuestId.FromRowId(current.ObjectiveId); + if (_quests.All((IQuestInfo q) => q.QuestId != questId)) { - int num2 = num; - int num3 = -680894683; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - _quests.Add(_questData.GetQuestInfo(_003C_003Ec__DisplayClass22_.questId)); - num = -680894682; - break; - case 1: - { - MarkerInfo current = enumerator.Current; - _003C_003Ec__DisplayClass22_ = new _003C_003Ec__DisplayClass22_1(); - _003C_003Ec__DisplayClass22_.questId = _206A_202C_200C_206B_200E_206C_200E_206E_202A_202D_206E_200D_202C_200B_202B_200D_200F_202A_206C_206B_202D_200B_206A_200F_202E_206F_200F_206A_200B_200F_202C_202B_206A_202B_200E_202C_200B_202D_206A_202D_202E(current.ObjectiveId); - num = ((!_quests.All(_003C_003Ec__DisplayClass22_._003COpenForCurrentZone_003Eb__2)) ? (-680894682) : (-680894687)); - break; - } - case 3: - num = (enumerator.MoveNext() ? (-680894684) : (-680894683)); - break; - case 2: - num = -680894682; - break; - case 0: - goto end_IL_00a4; - } - continue; - end_IL_00a4: - break; + _quests.Add(_questData.GetQuestInfo(questId)); } } _offeredQuests = new List(); - _200C_200C_206A_206A_202C_206B_202D_200D_206B_206C_206F_200B_206C_206E_202C_200D_202A_202B_202E_202A_206B_206B_200F_202C_200D_200F_200B_200E_206F_206B_206B_200C_202C_200E_202C_206A_202A_202E_206B_200E_202E((LWindow)this, true); + base.IsOpenAndUncollapsed = true; } public override void OnClose() @@ -329,900 +143,162 @@ internal sealed class QuestSelectionWindow : ThemedWindow _offeredQuests = new List(); } - [MethodImpl(MethodImplOptions.NoInlining)] public override void DrawContent() { var (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); - UiThemeUtils.SearchInput(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(1199850857), ref _searchText, -13f, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1896051322)); - int num = ((_offeredQuests.Count == 0) ? 1546937917 : 1546937916); - IEnumerable enumerable = default(IEnumerable); - EInteractionType? eInteractionType = default(EInteractionType?); - while (true) + UiThemeUtils.SearchInput("##QuestSelectionSearch", ref _searchText, -13f, "Search quests..."); + if (_offeredQuests.Count != 0) { - int num2 = num; - int num3 = 1546937917; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + UiThemeUtils.WrappedCheckbox("Only show quests currently offered", ref _onlyAvailableQuests); + } + using (ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable("QuestSelection", 4, ImGuiTableFlags.ScrollY)) + { + if ((bool)tableDisposable) { - case 2: - num = 1546937916; - break; - case 1: - UiThemeUtils.WrappedCheckbox(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(687535050), ref _onlyAvailableQuests); - num = 1546937917; - break; - case 0: - { - using (ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(438503370), 4, ImGuiTableFlags.ScrollY)) + float x; + using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push()) { - if ((bool)tableDisposable) + x = ImGui.CalcTextSize(FontAwesomeIcon.Copy.ToIconString()).X; + } + float initWidthOrWeight = 3f * ImGui.GetFrameHeight() + 2f * ImGui.GetStyle().ItemSpacing.X; + ImGui.TableSetupColumn("Id", ImGuiTableColumnFlags.WidthFixed, 50f * ImGui.GetIO().FontGlobalScale); + ImGui.TableSetupColumn("", ImGuiTableColumnFlags.WidthFixed, x); + ImGui.TableSetupColumn("Name", ImGuiTableColumnFlags.None, 200f); + ImGui.TableSetupColumn("Actions", ImGuiTableColumnFlags.WidthFixed, initWidthOrWeight); + ImGui.TableHeadersRow(); + IEnumerable enumerable = ((_offeredQuests.Count != 0 && _onlyAvailableQuests) ? _offeredQuests : _quests); + if (!string.IsNullOrWhiteSpace(_searchText)) + { + enumerable = enumerable.Where((IQuestInfo q) => q.Name.Contains(_searchText, StringComparison.OrdinalIgnoreCase) || q.QuestId.ToString().Contains(_searchText, StringComparison.OrdinalIgnoreCase)); + } + foreach (IQuestInfo item in enumerable) + { + ImGui.TableNextRow(); + string text = item.QuestId.ToString(); + Quest quest; + bool flag = _questRegistry.TryGetQuest(item.QuestId, out quest); + if (ImGui.TableNextColumn()) { - IDisposable disposable = _202B_200F_200D_206D_202E_206D_200D_206B_206F_200D_200C_200F_206C_206B_200C_206B_200D_206B_200E_206E_206E_200F_200F_206E_206A_202C_200D_206B_206C_202A_200B_200C_200E_202B_206D_202B_202C_202C_206B_200E_202E(_200B_206C_206D_206B_200C_206C_200B_202C_202D_206B_202E_200C_200B_200E_202D_200D_202A_200B_202D_206B_202D_206B_200F_202E_202D_202D_202A_206F_206B_206D_200E_206D_206C_206C_200E_200E_206B_206C_206B_200D_202E(_202D_200F_206A_200D_206C_206F_206D_206B_206F_206F_206B_202B_206A_200F_200B_202C_200C_200E_202D_206D_206A_206F_206C_202D_206A_202C_206D_200D_206D_206E_206C_200F_206D_200E_206D_202C_200D_206E_200B_200F_202E(_pluginInterface))); - float x; - try + ImGui.AlignTextToFramePadding(); + ImGui.TextUnformatted(text); + } + if (ImGui.TableNextColumn()) + { + ImGui.AlignTextToFramePadding(); + var (col, icon, _) = _uiUtils.GetQuestStyle(item.QuestId); + using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push()) { - x = _200B_202B_200F_206C_200F_206F_200F_202C_206B_202A_206C_200B_202E_200F_206B_200B_206D_206C_202A_202B_200E_206E_202C_202A_202D_206C_200F_202D_206A_206B_200D_206F_200F_206B_200F_200D_206B_200C_206B_206F_202E((ImU8String)_200D_202A_202B_200C_200F_200B_202D_200B_202E_206B_202D_200F_206A_200D_202C_200B_200B_200D_200C_206C_202B_200B_206B_202E_206B_202D_206D_200C_200C_202C_206B_206C_200E_200C_206A_206A_200D_202D_202C_206B_202E(FontAwesomeIcon.Copy), false, -1f).X; - } - finally - { - num = ((disposable == null) ? (-8163862) : (-8163861)); - while (true) + if (flag) { - int num5 = num; - num3 = -8163862; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 0: - goto end_IL_013e; - case 1: - _202D_202A_206F_206D_206C_202B_202D_202B_206D_206F_202E_200B_200B_200F_202B_206B_206B_206A_200C_206A_206A_206E_206D_206F_202C_200E_206B_206E_200B_200C_206A_206F_200E_202D_206A_206C_202B_200D_200C_206D_202E(disposable); - num = -8163862; - break; - case 2: - num = -8163861; - break; - } - continue; - end_IL_013e: - break; + ImGui.TextColored(in col, icon.ToIconString()); + } + else + { + ImGui.TextColored(in UiThemeUtils.StatusUnobtainable, icon.ToIconString()); } } - float num8 = 3f * _202E_202A_200B_200B_206E_202A_202B_202A_202C_202B_206D_200F_206F_202D_206F_206B_200B_206C_202C_202C_202D_200D_200F_202E_202B_202C_200F_200B_206B_202C_200E_202A_200E_206C_206B_200C_206B_200C_206D_206E_202E() + 2f * _202D_200E_202A_200B_200F_202B_202E_200D_202D_206D_206F_202B_202B_200C_202D_202B_200E_202D_200F_200D_200D_202C_206E_206B_202C_202E_202D_206D_206E_206C_202B_202B_202D_202E_202C_200E_200F_206A_202E_202C_202E().ItemSpacing.X; - _200C_202E_202C_206A_202B_202B_206D_206E_206A_200D_200D_200D_202D_202B_202B_202D_202A_200C_202C_206E_202E_206E_206C_206C_206B_206A_206F_200F_200B_206E_206B_200C_200D_202A_200F_206F_200E_202A_206B_206E_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(900300017), ImGuiTableColumnFlags.WidthFixed, 50f * _202D_202B_200C_200F_202A_200B_200D_206C_206D_200B_200C_206A_200C_206A_202A_200F_206B_200B_206C_206A_206E_200D_206B_206E_200D_202B_206B_206B_206B_202B_202C_202D_200F_202C_200E_206B_200C_206C_202A_202D_202E().FontGlobalScale, 0u); - _200C_202E_202C_206A_202B_202B_206D_206E_206A_200D_200D_200D_202D_202B_202B_202D_202A_200C_202C_206E_202E_206E_206C_206C_206B_206A_206F_200F_200B_206E_206B_200C_200D_202A_200F_206F_200E_202A_206B_206E_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-87324410), ImGuiTableColumnFlags.WidthFixed, x, 0u); - _200C_202E_202C_206A_202B_202B_206D_206E_206A_200D_200D_200D_202D_202B_202B_202D_202A_200C_202C_206E_202E_206E_206C_206C_206B_206A_206F_200F_200B_206E_206B_200C_200D_202A_200F_206F_200E_202A_206B_206E_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1033927912), ImGuiTableColumnFlags.None, 200f, 0u); - _200C_202E_202C_206A_202B_202B_206D_206E_206A_200D_200D_200D_202D_202B_202B_202D_202A_200C_202C_206E_202E_206E_206C_206C_206B_206A_206F_200F_200B_206E_206B_200C_200D_202A_200F_206F_200E_202A_206B_206E_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1823893311), ImGuiTableColumnFlags.WidthFixed, num8, 0u); - _200E_202D_200B_200B_206C_206A_200C_200B_206A_202A_200D_206F_202A_202D_200F_206A_206E_202C_202E_200B_202E_200C_206F_200D_206F_200B_200B_206E_200D_202A_206B_206A_200D_202A_200D_206E_206D_206F_202D_202D_202E(); - num = ((_offeredQuests.Count == 0) ? 1384381590 : 1384381588); - while (true) + if (ImGui.IsItemHovered()) { - int num9 = num; - num3 = 1384381591; - num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - List list; - switch (num10 - (num11 + num11)) + _questTooltipComponent.Draw(item); + } + } + if (ImGui.TableNextColumn()) + { + ImGui.AlignTextToFramePadding(); + if (quest != null && quest.Root.Disabled) + { + using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push()) { - case 1: - list = _quests; - goto IL_02fd; - case 3: - num = (_onlyAvailableQuests ? 1384381586 : 1384381590); - break; - case 4: - enumerable = enumerable.Where(delegate(IQuestInfo q) - { - int num34 = (_202D_206F_202D_206D_206D_202B_200C_206C_202A_206D_202C_200F_206B_206B_200E_206F_206B_202A_206A_202C_200D_200E_202E_200D_200D_206F_206F_202E_206C_200F_206B_202E_200F_200C_200C_206E_200E_202D_200E_200D_202E(q.Name, _searchText, StringComparison.OrdinalIgnoreCase) ? (-825866346) : (-825866345)); - while (true) - { - int num35 = num34; - int num36 = -825866346; - int num37 = num35; - switch ((num37 | num36) - (num37 & num36)) - { - case 2: - goto IL_0052; - case 0: - return true; - case 1: - return _202D_206F_202D_206D_206D_202B_200C_206C_202A_206D_202C_200F_206B_206B_200E_206F_206B_202A_206A_202C_200D_200E_202E_200D_200D_206F_206F_202E_206C_200F_206B_202E_200F_200C_200C_206E_200E_202D_200E_200D_202E(_206E_200D_202C_206A_200C_206A_202C_206C_202A_200E_202C_202D_206B_206A_206B_206C_200E_200E_206A_202B_202E_206D_206D_202A_206E_202C_202D_202D_206C_200D_202E_200E_200B_200F_202A_202D_206E_206E_202E_200F_202E((object)q.QuestId), _searchText, StringComparison.OrdinalIgnoreCase); - } - continue; - IL_0052: - num34 = -825866345; - } - }); - num = 1384381589; - break; - case 0: - num = 1384381588; - break; - case 5: - list = _offeredQuests; - goto IL_02fd; - case 2: - { - IEnumerator enumerator = enumerable.GetEnumerator(); - try - { - while (_202E_206C_206A_206A_200F_200F_206F_206A_206C_202D_206C_206A_200C_206A_206D_202B_202D_206E_206A_206B_202B_202B_200B_202D_206F_202A_200D_206D_206E_200F_202A_202B_202A_206A_200B_200F_206C_200E_206D_206F_202E((IEnumerator)enumerator)) - { - IQuestInfo current = enumerator.Current; - _202E_206A_206A_202E_202A_202A_200D_200F_206C_206E_206E_200D_206B_206F_206C_202E_200E_200C_202A_200B_206F_206F_206F_206A_200E_202D_202B_206B_200C_206B_202E_206C_200C_206C_202C_200E_202C_200E_200B_202D_202E(); - string text = _206E_200D_202C_206A_200C_206A_202C_206C_202A_200E_202C_202D_206B_206A_206B_206C_200E_200E_206A_202B_202E_206D_206D_202A_206E_202C_202D_202D_206C_200D_202E_200E_200B_200F_202A_202D_206E_206E_202E_200F_202E((object)current.QuestId); - Quest quest; - bool flag = _questRegistry.TryGetQuest(current.QuestId, out quest); - if (_206A_202A_206E_202B_206F_206D_206A_202E_206A_202E_202B_206F_206A_202A_206F_200E_202B_200B_202C_200E_200D_202C_202C_206B_206C_200D_200D_206F_202C_206D_206F_202B_200C_206F_206E_202A_206A_200D_202B_200E_202E()) - { - _200B_206F_206D_206F_200F_202C_206D_200D_206C_202B_200F_206F_206B_206C_200B_206E_206F_206A_202D_200E_202A_206A_206E_200F_202C_202B_202A_202E_200E_200F_206F_202B_202C_206F_200D_206A_202A_202C_202B_200F_202E(); - _200F_206D_200F_206B_206C_200C_206B_202D_202A_206A_206F_202C_206B_202B_200E_206D_202E_202D_206C_202B_200D_202C_206F_202D_200D_206C_206F_202E_206B_202E_206B_206C_200B_200C_202C_202E_200F_202C_202C_200C_202E((ImU8String)text); - } - if (_206A_202A_206E_202B_206F_206D_206A_202E_206A_202E_202B_206F_206A_202A_206F_200E_202B_200B_202C_200E_200D_202C_202C_206B_206C_200D_200D_206F_202C_206D_206F_202B_200C_206F_206E_202A_206A_200D_202B_200E_202E()) - { - _200B_206F_206D_206F_200F_202C_206D_200D_206C_202B_200F_206F_206B_206C_200B_206E_206F_206A_202D_200E_202A_206A_206E_200F_202C_202B_202A_202E_200E_200F_206F_202B_202C_206F_200D_206A_202A_202C_202B_200F_202E(); - (Vector4 Color, FontAwesomeIcon Icon, string Status) questStyle = _uiUtils.GetQuestStyle(current.QuestId); - Vector4 item = questStyle.Color; - FontAwesomeIcon item2 = questStyle.Icon; - IDisposable disposable2 = _202B_200F_200D_206D_202E_206D_200D_206B_206F_200D_200C_200F_206C_206B_200C_206B_200D_206B_200E_206E_206E_200F_200F_206E_206A_202C_200D_206B_206C_202A_200B_200C_200E_202B_206D_202B_202C_202C_206B_200E_202E(_200B_206C_206D_206B_200C_206C_200B_202C_202D_206B_202E_200C_200B_200E_202D_200D_202A_200B_202D_206B_202D_206B_200F_202E_202D_202D_202A_206F_206B_206D_200E_206D_206C_206C_200E_200E_206B_206C_206B_200D_202E(_202D_200F_206A_200D_206C_206F_206D_206B_206F_206F_206B_202B_206A_200F_200B_202C_200C_200E_202D_206D_206A_206F_206C_202D_206A_202C_206D_200D_206D_206E_206C_200F_206D_200E_206D_202C_200D_206E_200B_200F_202E(_pluginInterface))); - try - { - num = ((!flag) ? (-1840773926) : (-1840773927)); - while (true) - { - int num12 = num; - num3 = -1840773925; - num4 = num12; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0414; - case 2: - _200F_206F_206C_200D_206A_200F_200C_200C_206C_206C_206D_200F_206C_202D_206D_206E_206D_200E_200F_200B_206A_202D_206B_202A_202A_202D_206D_202E_202C_200D_202C_206B_200C_206F_200B_202E_202E_200B_200E_206C_202E(ref item, (ImU8String)_200D_202A_202B_200C_200F_200B_202D_200B_202E_206B_202D_200F_206A_200D_202C_200B_200B_200D_200C_206C_202B_200B_206B_202E_206B_202D_206D_200C_200C_202C_206B_206C_200E_200C_206A_206A_200D_202D_202C_206B_202E(item2)); - goto end_IL_03e8; - case 1: - _200F_206F_206C_200D_206A_200F_200C_200C_206C_206C_206D_200F_206C_202D_206D_206E_206D_200E_200F_200B_206A_202D_206B_202A_202A_202D_206D_202E_202C_200D_202C_206B_200C_206F_200B_202E_202E_200B_200E_206C_202E(ref UiThemeUtils.StatusUnobtainable, (ImU8String)_200D_202A_202B_200C_200F_200B_202D_200B_202E_206B_202D_200F_206A_200D_202C_200B_200B_200D_200C_206C_202B_200B_206B_202E_206B_202D_206D_200C_200C_202C_206B_206C_200E_200C_206A_206A_200D_202D_202C_206B_202E(item2)); - goto end_IL_03e8; - } - continue; - IL_0414: - num = -1840773927; - continue; - end_IL_03e8: - break; - } - } - finally - { - num = ((disposable2 == null) ? 522186771 : 522186768); - while (true) - { - int num13 = num; - num3 = 522186769; - num4 = num13; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_047e; - case 1: - _202D_202A_206F_206D_206C_202B_202D_202B_206D_206F_202E_200B_200B_200F_202B_206B_206B_206A_200C_206A_206A_206E_206D_206F_202C_200E_206B_206E_200B_200C_206A_206F_200E_202D_206A_206C_202B_200D_200C_206D_202E(disposable2); - num = 522186771; - break; - case 0: - num = 522186768; - break; - } - continue; - end_IL_047e: - break; - } - } - num = ((!_202A_206F_202C_206F_202E_206A_206C_206E_202E_200E_200D_200E_206A_200B_206D_206E_206A_200F_206F_200B_202E_200B_206B_202E_202A_206B_206E_206B_206D_206E_200F_200C_202B_206A_200C_206A_206E_202C_200F_202E_202E()) ? 954775956 : 954775955); - goto IL_04ec; - } - goto IL_057e; - IL_04ec: - while (true) - { - int num14 = num; - num3 = 954775953; - num4 = num14; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 954775955; - break; - case 4: - goto IL_0530; - case 2: - _questTooltipComponent.Draw(current); - num = 954775956; - break; - case 1: - goto IL_0566; - case 5: - goto end_IL_04ec; - case 3: - goto IL_0594; - } - continue; - IL_0594: - IDisposable disposable3 = _202B_200F_200D_206D_202E_206D_200D_206B_206F_200D_200C_200F_206C_206B_200C_206B_200D_206B_200E_206E_206E_200F_200F_206E_206A_202C_200D_206B_206C_202A_200B_200C_200E_202B_206D_202B_202C_202C_206B_200E_202E(_200B_206C_206D_206B_200C_206C_200B_202C_202D_206B_202E_200C_200B_200E_202D_200D_202A_200B_202D_206B_202D_206B_200F_202E_202D_202D_202A_206F_206B_206D_200E_206D_206C_206C_200E_200E_206B_206C_206B_200D_202E(_202D_200F_206A_200D_206C_206F_206D_206B_206F_206F_206B_202B_206A_200F_200B_202C_200C_200E_202D_206D_206A_206F_206C_202D_206A_202C_206D_200D_206D_206E_206C_200F_206D_200E_206D_202C_200D_206E_200B_200F_202E(_pluginInterface))); - try - { - _200F_206F_206C_200D_206A_200F_200C_200C_206C_206C_206D_200F_206C_202D_206D_206E_206D_200E_200F_200B_206A_202D_206B_202A_202A_202D_206D_202E_202C_200D_202C_206B_200C_206F_200B_202E_202E_200B_200E_206C_202E(ref UiThemeUtils.StatusActive, (ImU8String)_200D_202A_202B_200C_200F_200B_202D_200B_202E_206B_202D_200F_206A_200D_202C_200B_200B_200D_200C_206C_202B_200B_206B_202E_206B_202D_206D_200C_200C_202C_206B_206C_200E_200C_206A_206A_200D_202D_202C_206B_202E(FontAwesomeIcon.Ban)); - _206F_202E_200F_202D_200E_200B_202B_206E_206B_206A_202C_200E_202E_206C_206F_202B_206A_202C_200D_202E_206B_202D_202E_200C_202B_206C_200B_200D_202A_202A_202A_200B_202C_202E_200E_206E_202B_202B_202A_200D_202E(); - } - finally - { - num = ((disposable3 == null) ? 2106221697 : 2106221698); - while (true) - { - int num15 = num; - num3 = 2106221696; - num4 = num15; - int num16 = num4 + num3; - int num17 = num4 & num3; - switch (num16 - (num17 + num17)) - { - case 0: - num = 2106221698; - break; - case 2: - _202D_202A_206F_206D_206C_202B_202D_202B_206D_206F_202E_200B_200B_200F_202B_206B_206B_206A_200C_206A_206A_206E_206D_206F_202C_200E_206B_206E_200B_200C_206A_206F_200E_202D_206A_206C_202B_200D_200C_206D_202E(disposable3); - num = 2106221697; - break; - case 1: - goto end_IL_05ed; - } - continue; - end_IL_05ed: - break; - } - } - goto IL_063b; - IL_0566: - _200B_206F_206D_206F_200F_202C_206D_200D_206C_202B_200F_206F_206B_206C_200B_206E_206F_206A_202D_200E_202A_206A_206E_200F_202C_202B_202A_202E_200E_200F_206F_202B_202C_206F_200D_206A_202A_202C_202B_200F_202E(); - if (quest != null) - { - num = 954775957; - continue; - } - goto IL_063b; - IL_063b: - UiThemeUtils.RowLabel(current.Name, 0f); - goto IL_064c; - IL_0530: - if (_206B_200D_206E_200D_202C_206E_200D_206C_206F_202E_202C_200E_200E_202A_206E_206A_200C_202D_202D_206F_206B_200E_206E_202B_202C_202E_206F_200B_206F_206E_206E_202C_202E_206C_206F_200F_200E_202E_202B_202E_202E(quest.Root)) - { - num = 954775954; - continue; - } - goto IL_063b; - continue; - end_IL_04ec: - break; - } - goto IL_057e; - IL_064c: - if (!_206A_202A_206E_202B_206F_206D_206A_202E_206A_202E_202B_206F_206A_202A_206F_200E_202B_200B_202C_200E_200D_202C_202C_206B_206C_200D_200D_206F_202C_206D_206F_202B_200C_206F_206E_202A_206A_200D_202B_200E_202E()) - { - continue; - } - ImRaii.IdDisposable idDisposable = _206F_202A_202E_202B_206C_206D_202A_206E_202A_202E_202D_206C_202A_202E_200C_206A_202E_202D_206B_202C_206B_200C_206D_200D_200E_202C_202E_202B_200C_200D_206E_200F_200C_200D_202E_202D_200B_200C_200B_200C_202E((ImU8String)text, true); - try - { - bool num18 = UiThemeUtils.IconButton(FontAwesomeIcon.Copy, _202E_202A_200B_200B_206E_202A_202B_202A_202C_202B_206D_200F_206F_202D_206F_206B_200B_206C_202C_202C_202D_200D_200F_202E_202B_202C_200F_200B_206B_202C_200E_202A_200E_206C_206B_200C_206B_200C_206D_206E_202E()); - if (_202A_206F_202C_206F_202E_206A_206C_206E_202E_200E_200D_200E_206A_200B_206D_206E_206A_200F_206F_200B_202E_200B_206B_202E_202A_206B_206E_206B_206D_206E_200F_200C_202B_206A_200C_206A_206E_202C_200F_202E_202E()) - { - _202C_206C_206C_202D_202C_200F_206A_202B_206D_206E_200B_200D_202B_200D_206A_206D_206A_200C_206D_206C_200B_206E_200F_200F_200E_202D_206A_206F_202E_206F_202C_202A_200D_202B_200D_206F_202C_206C_206C_206B_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1170265918)); - } - num = ((!num18) ? 159854132 : 159854129); - while (true) - { - int num19 = num; - num3 = 159854141; - num4 = num19; - int num20 = num4 + num3; - int num21 = num4 & num3; - int num22; - switch (num20 - (num21 + num21)) - { - default: - continue; - case 6: - num = 159854129; - continue; - case 14: - num22 = (_attunementController.IsRunning ? 1 : 0); - break; - case 12: - CopyToClipboard(current, suffix: true); - num = 159854143; - continue; - case 4: - num = (_fateController.IsRunning ? 159854141 : 159854140); - continue; - case 1: - num = (_seasonalDutyController.IsRunning ? 159854141 : 159854142); - continue; - case 8: - if (eInteractionType == EInteractionType.AcceptQuest) - { - num = 159854135; - continue; - } - goto end_IL_06af; - case 13: - num = ((_questController.SimulatedQuest != null) ? 159854141 : 159854137); - continue; - case 5: - CopyToClipboard(current, suffix: false); - num = 159854143; - continue; - case 9: - num = ((!_202D_202E_206F_206C_202E_202B_206B_200C_200F_206B_202C_206A_200F_206B_206A_202D_200F_206F_206E_200E_200F_202E_200C_202A_206A_200E_206D_202B_202D_206A_200B_206A_200E_200D_202A_202E_206F_206E_206B_206E_202E(ImGuiMouseButton.Right)) ? 159854143 : 159854136); - continue; - case 7: - num = ((_questController.NextQuest != null) ? 159854141 : 159854128); - continue; - case 11: - { - QuestSequence? questSequence = quest.FindSequence(0); - EInteractionType? obj; - if (questSequence == null) - { - obj = null; - } - else - { - QuestStep questStep = _200B_200D_206D_206A_200C_200C_206A_202E_200F_202E_206A_202D_200C_200F_200C_206A_206B_200E_202A_200D_206F_200B_206F_202D_200B_202C_206C_202C_202B_202C_200F_202E_202A_202B_206E_206D_202E_206D_200E_202E_202E(questSequence); - obj = ((questStep != null) ? new EInteractionType?(_202D_202D_200D_206E_202A_202E_202B_200C_202A_202A_206E_202A_202D_200F_200F_202C_206A_200C_202C_200F_200E_200D_202D_202B_206C_206B_206B_200B_206C_200F_206B_200E_206F_200C_200C_206D_202B_206D_200B_200F_202E(questStep)) : ((EInteractionType?)null)); - } - eInteractionType = obj; - if (eInteractionType.HasValue) - { - num = 159854133; - continue; - } - goto end_IL_06af; - } - case 3: - num = (_customDeliveryController.IsRunning ? 159854141 : 159854131); - continue; - case 2: - _206F_202E_200F_202D_200E_200B_202B_206E_206B_206A_202C_200E_202E_206C_206F_202B_206A_202C_200D_202E_206B_202D_202E_200C_202B_206C_200B_200D_202A_202A_202A_200B_202C_202E_200E_206E_202B_202B_202A_200D_202E(); - if (quest != null) - { - num = 159854134; - continue; - } - goto end_IL_06af; - case 10: - if (_questFunctions.IsReadyToAcceptQuest(current.QuestId)) - { - num = 159854138; - continue; - } - goto end_IL_06af; - case 0: - num22 = 1; - break; - } - ImRaii.DisabledDisposable disabledDisposable = _200B_202E_200E_206E_202C_200B_206F_206D_206A_206C_206B_206B_202D_206B_206C_202D_202C_202B_206E_206A_206F_202A_200D_206D_200F_206D_206F_200F_202C_202A_206A_200F_206B_202C_200E_200B_202E_200C_206C_206A_202E((byte)num22 != 0); - try - { - ImRaii.ColorDisposable colorDisposable = _202B_206C_206C_206F_202E_202B_200F_202A_200E_200F_206A_200B_202E_206C_206A_200E_206A_206A_202A_202E_202D_202D_202C_200E_200D_200E_202E_202C_200D_202A_200D_202A_206D_202D_200C_202D_200C_206E_206A_200E_202E(ImGuiCol.Button, UiThemeUtils.PlayButtonColor, true); - bool flag2; - try - { - ImRaii.ColorDisposable colorDisposable2 = _202B_206C_206C_206F_202E_202B_200F_202A_200E_200F_206A_200B_202E_206C_206A_200E_206A_206A_202A_202E_202D_202D_202C_200E_200D_200E_202E_202C_200D_202A_200D_202A_206D_202D_200C_202D_200C_206E_206A_200E_202E(ImGuiCol.ButtonHovered, UiThemeUtils.PlayButtonHover, true); - try - { - ImRaii.ColorDisposable colorDisposable3 = _202B_206C_206C_206F_202E_202B_200F_202A_200E_200F_206A_200B_202E_206C_206A_200E_206A_206A_202A_202E_202D_202D_202C_200E_200D_200E_202E_202C_200D_202A_200D_202A_206D_202D_200C_202D_200C_206E_206A_200E_202E(ImGuiCol.ButtonActive, UiThemeUtils.PlayButtonActive, true); - try - { - ImRaii.ColorDisposable colorDisposable4 = _202B_206C_206C_206F_202E_202B_200F_202A_200E_200F_206A_200B_202E_206C_206A_200E_206A_206A_202A_202E_202D_202D_202C_200E_200D_200E_202E_202C_200D_202A_200D_202A_206D_202D_200C_202D_200C_206E_206A_200E_202E(ImGuiCol.Text, UiThemeUtils.PlayButtonText, true); - try - { - flag2 = UiThemeUtils.IconButton(FontAwesomeIcon.Play, _202E_202A_200B_200B_206E_202A_202B_202A_202C_202B_206D_200F_206F_202D_206F_206B_200B_206C_202C_202C_202D_200D_200F_202E_202B_202C_200F_200B_206B_202C_200E_202A_200E_206C_206B_200C_206B_200C_206D_206E_202E()); - } - finally - { - num = ((colorDisposable4 == null) ? (-1140323059) : (-1140323058)); - while (true) - { - int num23 = num; - num3 = -1140323057; - num4 = num23; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1140323058; - break; - case 1: - _202D_202A_206F_206D_206C_202B_202D_202B_206D_206F_202E_200B_200B_200F_202B_206B_206B_206A_200C_206A_206A_206E_206D_206F_202C_200E_206B_206E_200B_200C_206A_206F_200E_202D_206A_206C_202B_200D_200C_206D_202E((IDisposable)colorDisposable4); - num = -1140323059; - break; - case 2: - goto end_IL_0975; - } - continue; - end_IL_0975: - break; - } - } - } - finally - { - num = ((colorDisposable3 == null) ? 1182290458 : 1182290457); - while (true) - { - int num24 = num; - num3 = 1182290459; - num4 = num24; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1182290457; - break; - case 1: - goto end_IL_09e0; - case 2: - _202D_202A_206F_206D_206C_202B_202D_202B_206D_206F_202E_200B_200B_200F_202B_206B_206B_206A_200C_206A_206A_206E_206D_206F_202C_200E_206B_206E_200B_200C_206A_206F_200E_202D_206A_206C_202B_200D_200C_206D_202E((IDisposable)colorDisposable3); - num = 1182290458; - break; - } - continue; - end_IL_09e0: - break; - } - } - } - finally - { - num = ((colorDisposable2 == null) ? (-1921244302) : (-1921244303)); - while (true) - { - int num25 = num; - num3 = -1921244301; - num4 = num25; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1921244303; - break; - case 2: - _202D_202A_206F_206D_206C_202B_202D_202B_206D_206F_202E_200B_200B_200F_202B_206B_206B_206A_200C_206A_206A_206E_206D_206F_202C_200E_206B_206E_200B_200C_206A_206F_200E_202D_206A_206C_202B_200D_200C_206D_202E((IDisposable)colorDisposable2); - num = -1921244302; - break; - case 1: - goto end_IL_0a4b; - } - continue; - end_IL_0a4b: - break; - } - } - } - finally - { - num = ((colorDisposable == null) ? 2096255815 : 2096255814); - while (true) - { - int num26 = num; - num3 = 2096255815; - num4 = num26; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 2096255814; - break; - case 0: - goto end_IL_0ab6; - case 1: - _202D_202A_206F_206D_206C_202B_202D_202B_206D_206F_202E_200B_200B_200F_202B_206B_206B_206A_200C_206A_206A_206E_206D_206F_202C_200E_206B_206E_200B_200C_206A_206F_200E_202D_206A_206C_202B_200D_200C_206D_202E((IDisposable)colorDisposable); - num = 2096255815; - break; - } - continue; - end_IL_0ab6: - break; - } - } - num = ((!_202A_206F_202C_206F_202E_206A_206C_206E_202E_200E_200D_200E_206A_200B_206D_206E_206A_200F_206F_200B_202E_200B_206B_202E_202A_206B_206E_206B_206D_206E_200F_200C_202B_206A_200C_206A_206E_202C_200F_202E_202E()) ? 189281553 : 189281557); - while (true) - { - int num27 = num; - num3 = 189281554; - num4 = num27; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 189281557; - break; - case 7: - _202C_206C_206C_202D_202C_200F_206A_202B_206D_206E_200B_200D_202B_200D_206A_206D_206A_200C_206D_206C_200B_206E_200F_200F_200E_202D_206A_206F_202E_206F_202C_202A_200D_202B_200D_206F_202C_206C_206C_206B_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1639691610)); - num = 189281553; - break; - case 4: - _fateController.Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1658160638)); - _seasonalDutyController.Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1658160638)); - _customDeliveryController.Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-926517325)); - _attunementController.Stop(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(-865943171)); - _questController.SetNextQuest(quest); - num = (_questController.ManualPriorityQuests.Contains(quest) ? 189281556 : 189281554); - break; - case 8: - _questController.SetNextQuest(quest); - num = 189281555; - break; - case 5: - { - _206F_202E_200F_202D_200E_200B_202B_206E_206B_206A_202C_200E_202E_206C_206F_202B_206A_202C_200D_202E_206B_202D_202E_200C_202B_206C_200B_200D_202A_202A_202A_200B_202C_202E_200E_206E_202B_202B_202A_200D_202E(); - bool num28 = UiThemeUtils.IconButton(FontAwesomeIcon.AngleDoubleRight, _202E_202A_200B_200B_206E_202A_202B_202A_202C_202B_206D_200F_206F_202D_206F_206B_200B_206C_202C_202C_202D_200D_200F_202E_202B_202C_200F_200B_206B_202C_200E_202A_200E_206C_206B_200C_206B_200C_206D_206E_202E()); - if (_202A_206F_202C_206F_202E_206A_206C_206E_202E_200E_200D_200E_206A_200B_206D_206E_206A_200F_206F_200B_202E_200B_206B_202E_202A_206B_206E_206B_206D_206E_200F_200C_202B_206A_200C_206A_206E_202C_200F_202E_202E()) - { - _202C_206C_206C_202D_202C_200F_206A_202B_206D_206E_200B_200D_202B_200D_206A_206D_206A_200C_206D_206C_200B_206E_200F_200F_200E_202D_206A_206F_202E_206F_202C_202A_200D_202B_200D_206F_202C_206C_206C_206B_202E((ImU8String)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(347162980)); - } - num = ((!num28) ? 189281555 : 189281562); - break; - } - case 0: - _questController.ManualPriorityQuests.Insert(0, quest); - num = 189281556; - break; - case 3: - num = ((!flag2) ? 189281559 : 189281558); - break; - case 6: - _questController.Start(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1901290217)); - num = 189281559; - break; - case 1: - goto end_IL_0b24; - } - continue; - end_IL_0b24: - break; - } - } - finally - { - num = ((disabledDisposable == null) ? (-671465118) : (-671465119)); - while (true) - { - int num29 = num; - num3 = -671465117; - num4 = num29; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -671465119; - break; - case 1: - goto end_IL_0d0f; - case 2: - _202D_202A_206F_206D_206C_202B_202D_202B_206D_206F_202E_200B_200B_200F_202B_206B_206B_206A_200C_206A_206A_206E_206D_206F_202C_200E_206B_206E_200B_200C_206A_206F_200E_202D_206A_206C_202B_200D_200C_206D_202E((IDisposable)disabledDisposable); - num = -671465118; - break; - } - continue; - end_IL_0d0f: - break; - } - } - break; - continue; - end_IL_06af: - break; - } - } - finally - { - num = ((idDisposable == null) ? (-1330380066) : (-1330380067)); - while (true) - { - int num30 = num; - num3 = -1330380068; - num4 = num30; - int num31 = num4 + num3; - int num32 = num4 & num3; - switch (num31 - (num32 + num32)) - { - case 2: - goto end_IL_0d7f; - case 1: - _202D_202A_206F_206D_206C_202B_202D_202B_206D_206F_202E_200B_200B_200F_202B_206B_206B_206A_200C_206A_206A_206E_206D_206F_202C_200E_206B_206E_200B_200C_206A_206F_200E_202D_206A_206C_202B_200D_200C_206D_202E((IDisposable)idDisposable); - num = -1330380066; - break; - case 0: - num = -1330380067; - break; - } - continue; - end_IL_0d7f: - break; - } - } - continue; - IL_057e: - if (_206A_202A_206E_202B_206F_206D_206A_202E_206A_202E_202B_206F_206A_202A_206F_200E_202B_200B_202C_200E_200D_202C_202C_206B_206C_200D_200D_206F_202C_206D_206F_202B_200C_206F_206E_202A_206A_200D_202B_200E_202E()) - { - num = 954775952; - goto IL_04ec; - } - goto IL_064c; - } - } - finally - { - num = ((enumerator == null) ? 306291451 : 306291448); - while (true) - { - int num33 = num; - num3 = 306291449; - num4 = num33; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 306291448; - break; - case 1: - _202D_202A_206F_206D_206C_202B_202D_202B_206D_206F_202E_200B_200B_200F_202B_206B_206B_206A_200C_206A_206A_206E_206D_206F_202C_200E_206B_206E_200B_200C_206A_206F_200E_202D_206A_206C_202B_200D_200C_206D_202E((IDisposable)enumerator); - num = 306291451; - break; - case 2: - goto end_IL_0dfd; - } - continue; - end_IL_0dfd: - break; - } - } - goto end_IL_0256; - } - IL_02fd: - enumerable = list; - num = (_200E_200D_200C_206A_202C_206A_200D_200D_202A_206A_206B_202C_200E_200E_202B_202A_200D_202E_206F_206F_206B_202C_202E_206B_200E_200C_202D_200D_202E_202A_200B_206F_202B_206E_200D_202D_200D_202D_200E_206A_202E(_searchText) ? 1384381589 : 1384381587); - break; + ImGui.TextColored(in UiThemeUtils.StatusActive, FontAwesomeIcon.Ban.ToIconString()); + ImGui.SameLine(); } + } + UiThemeUtils.RowLabel(item.Name, 0f); + } + if (!ImGui.TableNextColumn()) + { + continue; + } + using (ImRaii.PushId(text)) + { + bool num = UiThemeUtils.IconButton(FontAwesomeIcon.Copy, ImGui.GetFrameHeight()); + if (ImGui.IsItemHovered()) + { + ImGui.SetTooltip("Copy as file name"); + } + if (num) + { + CopyToClipboard(item, suffix: true); + } + else if (ImGui.IsItemClicked(ImGuiMouseButton.Right)) + { + CopyToClipboard(item, suffix: false); + } + ImGui.SameLine(); + if (quest == null) + { continue; - end_IL_0256: - break; + } + EInteractionType? eInteractionType = quest.FindSequence(0)?.LastStep()?.InteractionType; + if (!eInteractionType.HasValue || eInteractionType != EInteractionType.AcceptQuest || !_questFunctions.IsReadyToAcceptQuest(item.QuestId)) + { + continue; + } + using (ImRaii.Disabled(_questController.NextQuest != null || _questController.SimulatedQuest != null || _fateController.IsRunning || _seasonalDutyController.IsRunning || _customDeliveryController.IsRunning || _attunementController.IsRunning)) + { + bool flag2; + using (ImRaii.PushColor(ImGuiCol.Button, UiThemeUtils.PlayButtonColor)) + { + using (ImRaii.PushColor(ImGuiCol.ButtonHovered, UiThemeUtils.PlayButtonHover)) + { + using (ImRaii.PushColor(ImGuiCol.ButtonActive, UiThemeUtils.PlayButtonActive)) + { + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.PlayButtonText)) + { + flag2 = UiThemeUtils.IconButton(FontAwesomeIcon.Play, ImGui.GetFrameHeight()); + } + } + } + } + if (ImGui.IsItemHovered()) + { + ImGui.SetTooltip("Start as next quest"); + } + if (flag2) + { + _fateController.Stop("Quest selection start"); + _seasonalDutyController.Stop("Quest selection start"); + _customDeliveryController.Stop("Quest selection start"); + _attunementController.Stop("Quest selection start"); + _questController.SetNextQuest(quest); + if (!_questController.ManualPriorityQuests.Contains(quest)) + { + _questController.ManualPriorityQuests.Insert(0, quest); + } + _questController.Start("QuestSelectionWindow"); + } + ImGui.SameLine(); + bool num2 = UiThemeUtils.IconButton(FontAwesomeIcon.AngleDoubleRight, ImGui.GetFrameHeight()); + if (ImGui.IsItemHovered()) + { + ImGui.SetTooltip("Set as next quest"); + } + if (num2) + { + _questController.SetNextQuest(quest); + } } } } - UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); - return; - } } } + UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); } - [MethodImpl(MethodImplOptions.NoInlining)] private void CopyToClipboard(IQuestInfo quest, bool suffix) { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(1, 3); - defaultInterpolatedStringHandler.AppendFormatted(quest.QuestId); - defaultInterpolatedStringHandler.AppendLiteral(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(-294503681)); - defaultInterpolatedStringHandler.AppendFormatted(quest.SimplifiedName); - defaultInterpolatedStringHandler.AppendFormatted(suffix ? global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(377102803) : global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1281927779)); - string text = defaultInterpolatedStringHandler.ToStringAndClear(); - _202B_200C_206B_202E_206D_206D_202E_206B_206D_206A_202B_200E_206C_200D_200B_200F_206F_202B_206A_202A_200D_206E_206E_202C_200B_200F_206B_200E_200F_202D_200B_200E_202E_200C_202B_206F_200C_202E_206D_206C_202E((ImU8String)text); - _200B_200D_202A_202B_206C_202C_206B_202C_206D_206A_200B_202C_206E_200F_200E_206E_200B_206F_206D_202B_202D_200C_202E_206B_200B_200F_206D_200B_202B_202C_202D_202D_206A_200F_206C_206B_200D_206E_202A_206D_202E(_chatGui, _202E_200F_200F_200C_202B_202A_200D_200B_206B_200E_202B_200B_200E_206F_206F_206A_202B_200D_206F_202B_200D_206B_200B_206E_206D_206C_206E_206D_200F_206E_200B_206B_202A_200B_200E_206E_202E_206F_206B_206A_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-84693844), text, 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(140956343)), (string)null, (ushort?)null); - } - - void _206F_202B_202C_206B_202E_202E_206B_206C_200E_202A_200E_202B_200E_200E_202E_200C_206E_202A_206D_206B_200E_200F_206E_200E_206A_206A_200D_200D_200D_206A_206E_202A_202E_202B_202D_206D_200E_206E_206F_202B_202E(Vector2? P_0) - { - base.Size = P_0; - } - - void _202E_200D_206C_202A_200B_206E_206F_206B_202E_206A_206A_202C_200D_200B_206D_200C_202B_202E_206D_202C_202D_202E_206C_200E_200C_202A_206C_202E_200D_202D_202B_206C_200D_200F_202E_206F_202E_206F_206A_206D_202E(ImGuiCond P_0) - { - base.SizeCondition = P_0; - } - - void _200E_202A_202E_202B_202C_200E_206C_202D_206A_206B_202C_202A_200C_200E_206E_202D_202E_206D_202B_206D_202A_200C_206C_200E_202D_200B_206A_202E_202B_206E_202E_200D_202D_202B_202E_202A_200B_200E_200B_200C_202E(WindowSizeConstraints? P_0) - { - base.SizeConstraints = P_0; - } - - static uint _200B_206A_206D_206B_206E_206D_206A_202B_202C_202C_206B_202B_202B_202D_206D_206F_200D_202E_202B_202C_206C_206D_202C_200B_200C_200C_200F_200E_200F_206F_200B_202E_206F_202D_202A_206B_206F_206E_206D_206E_202E(IGameObject P_0) - { - return P_0.BaseId; - } - - static SeString _202C_206E_202A_206C_202E_206C_202E_200D_206D_206E_206C_202A_206F_202C_206D_206D_200D_206E_206C_202B_202B_200D_202A_202B_202A_202D_206A_206B_202A_202C_206D_200F_200D_206F_206E_202B_206B_200B_202E_202B_202E(IGameObject P_0) - { - return P_0.Name; - } - - static string _206E_200D_202C_206A_200C_206A_202C_206C_202A_200E_202C_202D_206B_206A_206B_206C_200E_200E_206A_202B_202E_206D_206D_202A_206E_202C_202D_202D_206C_200D_202E_200E_200B_200F_202A_202D_206E_206E_202E_200F_202E(object P_0) - { - return P_0.ToString(); - } - - void _200D_200E_200F_200C_206F_200E_202D_206D_206D_202A_200E_206B_202E_202B_200F_200D_202E_206F_202C_206C_202D_206F_202C_200E_200F_206A_200F_206A_200B_202E_206B_206D_202C_206F_206C_206F_200D_206F_200F_202E(string P_0) - { - base.WindowName = P_0; - } - - static void _200C_200C_206A_206A_202C_206B_202D_200D_206B_206C_206F_200B_206C_206E_202C_200D_202A_202B_202E_202A_206B_206B_200F_202C_200D_200F_200B_200E_206F_206B_206B_200C_202C_200E_202C_206A_202A_202E_206B_200E_202E(LWindow P_0, bool P_1) - { - P_0.IsOpenAndUncollapsed = P_1; - } - - static uint _200C_202C_206B_200E_206E_206C_202A_206A_200D_202A_202E_202B_200D_202A_202E_206C_202D_200D_200F_206A_206C_200D_206B_202C_202B_200E_200F_206E_200E_200B_202D_202A_206E_200B_202E_202B_200E_206A_206E_206A_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static string _202E_200F_200F_200C_202B_202A_200D_200B_206B_200E_202B_200B_200E_206F_206F_206A_202B_200D_206F_202B_200D_206B_200B_206E_206D_206C_206E_206D_200F_206E_200B_206B_202A_200B_200E_206E_202E_206F_206B_206A_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static QuestId _206A_202C_200C_206B_200E_206C_200E_206E_202A_202D_206E_200D_202C_200B_202B_200D_200F_202A_206C_206B_202D_200B_206A_200F_202E_206F_200F_206A_200B_200F_202C_202B_206A_202B_200E_202C_200B_202D_206A_202D_202E(uint P_0) - { - return QuestId.FromRowId(P_0); - } - - static IUiBuilder _202D_200F_206A_200D_206C_206F_206D_206B_206F_206F_206B_202B_206A_200F_200B_202C_200C_200E_202D_206D_206A_206F_206C_202D_206A_202C_206D_200D_206D_206E_206C_200F_206D_200E_206D_202C_200D_206E_200B_200F_202E(IDalamudPluginInterface P_0) - { - return P_0.UiBuilder; - } - - static IFontHandle _200B_206C_206D_206B_200C_206C_200B_202C_202D_206B_202E_200C_200B_200E_202D_200D_202A_200B_202D_206B_202D_206B_200F_202E_202D_202D_202A_206F_206B_206D_200E_206D_206C_206C_200E_200E_206B_206C_206B_200D_202E(IUiBuilder P_0) - { - return P_0.IconFontFixedWidthHandle; - } - - static IDisposable _202B_200F_200D_206D_202E_206D_200D_206B_206F_200D_200C_200F_206C_206B_200C_206B_200D_206B_200E_206E_206E_200F_200F_206E_206A_202C_200D_206B_206C_202A_200B_200C_200E_202B_206D_202B_202C_202C_206B_200E_202E(IFontHandle P_0) - { - return P_0.Push(); - } - - static string _200D_202A_202B_200C_200F_200B_202D_200B_202E_206B_202D_200F_206A_200D_202C_200B_200B_200D_200C_206C_202B_200B_206B_202E_206B_202D_206D_200C_200C_202C_206B_206C_200E_200C_206A_206A_200D_202D_202C_206B_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static Vector2 _200B_202B_200F_206C_200F_206F_200F_202C_206B_202A_206C_200B_202E_200F_206B_200B_206D_206C_202A_202B_200E_206E_202C_202A_202D_206C_200F_202D_206A_206B_200D_206F_200F_206B_200F_200D_206B_200C_206B_206F_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static void _202D_202A_206F_206D_206C_202B_202D_202B_206D_206F_202E_200B_200B_200F_202B_206B_206B_206A_200C_206A_206A_206E_206D_206F_202C_200E_206B_206E_200B_200C_206A_206F_200E_202D_206A_206C_202B_200D_200C_206D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static float _202E_202A_200B_200B_206E_202A_202B_202A_202C_202B_206D_200F_206F_202D_206F_206B_200B_206C_202C_202C_202D_200D_200F_202E_202B_202C_200F_200B_206B_202C_200E_202A_200E_206C_206B_200C_206B_200C_206D_206E_202E() - { - return ImGui.GetFrameHeight(); - } - - static ImGuiStylePtr _202D_200E_202A_200B_200F_202B_202E_200D_202D_206D_206F_202B_202B_200C_202D_202B_200E_202D_200F_200D_200D_202C_206E_206B_202C_202E_202D_206D_206E_206C_202B_202B_202D_202E_202C_200E_200F_206A_202E_202C_202E() - { - return ImGui.GetStyle(); - } - - static ImGuiIOPtr _202D_202B_200C_200F_202A_200B_200D_206C_206D_200B_200C_206A_200C_206A_202A_200F_206B_200B_206C_206A_206E_200D_206B_206E_200D_202B_206B_206B_206B_202B_202C_202D_200F_202C_200E_206B_200C_206C_202A_202D_202E() - { - return ImGui.GetIO(); - } - - static void _200C_202E_202C_206A_202B_202B_206D_206E_206A_200D_200D_200D_202D_202B_202B_202D_202A_200C_202C_206E_202E_206E_206C_206C_206B_206A_206F_200F_200B_206E_206B_200C_200D_202A_200F_206F_200E_202A_206B_206E_202E(ImU8String P_0, ImGuiTableColumnFlags P_1, float P_2, uint P_3) - { - ImGui.TableSetupColumn(P_0, P_1, P_2, P_3); - } - - static void _200E_202D_200B_200B_206C_206A_200C_200B_206A_202A_200D_206F_202A_202D_200F_206A_206E_202C_202E_200B_202E_200C_206F_200D_206F_200B_200B_206E_200D_202A_206B_206A_200D_202A_200D_206E_206D_206F_202D_202D_202E() - { - ImGui.TableHeadersRow(); - } - - static bool _200E_200D_200C_206A_202C_206A_200D_200D_202A_206A_206B_202C_200E_200E_202B_202A_200D_202E_206F_206F_206B_202C_202E_206B_200E_200C_202D_200D_202E_202A_200B_206F_202B_206E_200D_202D_200D_202D_200E_206A_202E(string P_0) - { - return string.IsNullOrWhiteSpace(P_0); - } - - static void _202E_206A_206A_202E_202A_202A_200D_200F_206C_206E_206E_200D_206B_206F_206C_202E_200E_200C_202A_200B_206F_206F_206F_206A_200E_202D_202B_206B_200C_206B_202E_206C_200C_206C_202C_200E_202C_200E_200B_202D_202E() - { - ImGui.TableNextRow(); - } - - static bool _206A_202A_206E_202B_206F_206D_206A_202E_206A_202E_202B_206F_206A_202A_206F_200E_202B_200B_202C_200E_200D_202C_202C_206B_206C_200D_200D_206F_202C_206D_206F_202B_200C_206F_206E_202A_206A_200D_202B_200E_202E() - { - return ImGui.TableNextColumn(); - } - - static void _200B_206F_206D_206F_200F_202C_206D_200D_206C_202B_200F_206F_206B_206C_200B_206E_206F_206A_202D_200E_202A_206A_206E_200F_202C_202B_202A_202E_200E_200F_206F_202B_202C_206F_200D_206A_202A_202C_202B_200F_202E() - { - ImGui.AlignTextToFramePadding(); - } - - static void _200F_206D_200F_206B_206C_200C_206B_202D_202A_206A_206F_202C_206B_202B_200E_206D_202E_202D_206C_202B_200D_202C_206F_202D_200D_206C_206F_202E_206B_202E_206B_206C_200B_200C_202C_202E_200F_202C_202C_200C_202E(ImU8String P_0) - { - ImGui.TextUnformatted(P_0); - } - - static void _200F_206F_206C_200D_206A_200F_200C_200C_206C_206C_206D_200F_206C_202D_206D_206E_206D_200E_200F_200B_206A_202D_206B_202A_202A_202D_206D_202E_202C_200D_202C_206B_200C_206F_200B_202E_202E_200B_200E_206C_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static bool _202A_206F_202C_206F_202E_206A_206C_206E_202E_200E_200D_200E_206A_200B_206D_206E_206A_200F_206F_200B_202E_200B_206B_202E_202A_206B_206E_206B_206D_206E_200F_200C_202B_206A_200C_206A_206E_202C_200F_202E_202E() - { - return ImGui.IsItemHovered(); - } - - static bool _206B_200D_206E_200D_202C_206E_200D_206C_206F_202E_202C_200E_200E_202A_206E_206A_200C_202D_202D_206F_206B_200E_206E_202B_202C_202E_206F_200B_206F_206E_206E_202C_202E_206C_206F_200F_200E_202E_202B_202E_202E(QuestRoot P_0) - { - return P_0.Disabled; - } - - static void _206F_202E_200F_202D_200E_200B_202B_206E_206B_206A_202C_200E_202E_206C_206F_202B_206A_202C_200D_202E_206B_202D_202E_200C_202B_206C_200B_200D_202A_202A_202A_200B_202C_202E_200E_206E_202B_202B_202A_200D_202E() - { - ImGui.SameLine(); - } - - static ImRaii.IdDisposable _206F_202A_202E_202B_206C_206D_202A_206E_202A_202E_202D_206C_202A_202E_200C_206A_202E_202D_206B_202C_206B_200C_206D_200D_200E_202C_202E_202B_200C_200D_206E_200F_200C_200D_202E_202D_200B_200C_200B_200C_202E(ImU8String P_0, bool P_1) - { - return ImRaii.PushId(P_0, P_1); - } - - static void _202C_206C_206C_202D_202C_200F_206A_202B_206D_206E_200B_200D_202B_200D_206A_206D_206A_200C_206D_206C_200B_206E_200F_200F_200E_202D_206A_206F_202E_206F_202C_202A_200D_202B_200D_206F_202C_206C_206C_206B_202E(ImU8String P_0) - { - ImGui.SetTooltip(P_0); - } - - static bool _202D_202E_206F_206C_202E_202B_206B_200C_200F_206B_202C_206A_200F_206B_206A_202D_200F_206F_206E_200E_200F_202E_200C_202A_206A_200E_206D_202B_202D_206A_200B_206A_200E_200D_202A_202E_206F_206E_206B_206E_202E(ImGuiMouseButton P_0) - { - return ImGui.IsItemClicked(P_0); - } - - static QuestStep _200B_200D_206D_206A_200C_200C_206A_202E_200F_202E_206A_202D_200C_200F_200C_206A_206B_200E_202A_200D_206F_200B_206F_202D_200B_202C_206C_202C_202B_202C_200F_202E_202A_202B_206E_206D_202E_206D_200E_202E_202E(QuestSequence P_0) - { - return P_0.LastStep(); - } - - static EInteractionType _202D_202D_200D_206E_202A_202E_202B_200C_202A_202A_206E_202A_202D_200F_200F_202C_206A_200C_202C_200F_200E_200D_202D_202B_206C_206B_206B_200B_206C_200F_206B_200E_206F_200C_200C_206D_202B_206D_200B_200F_202E(QuestStep P_0) - { - return P_0.InteractionType; - } - - static ImRaii.DisabledDisposable _200B_202E_200E_206E_202C_200B_206F_206D_206A_206C_206B_206B_202D_206B_206C_202D_202C_202B_206E_206A_206F_202A_200D_206D_200F_206D_206F_200F_202C_202A_206A_200F_206B_202C_200E_200B_202E_200C_206C_206A_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static ImRaii.ColorDisposable _202B_206C_206C_206F_202E_202B_200F_202A_200E_200F_206A_200B_202E_206C_206A_200E_206A_206A_202A_202E_202D_202D_202C_200E_200D_200E_202E_202C_200D_202A_200D_202A_206D_202D_200C_202D_200C_206E_206A_200E_202E(ImGuiCol P_0, Vector4 P_1, bool P_2) - { - return ImRaii.PushColor(P_0, P_1, P_2); - } - - static bool _202E_206C_206A_206A_200F_200F_206F_206A_206C_202D_206C_206A_200C_206A_206D_202B_202D_206E_206A_206B_202B_202B_200B_202D_206F_202A_200D_206D_206E_200F_202A_202B_202A_206A_200B_200F_206C_200E_206D_206F_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202B_200C_206B_202E_206D_206D_202E_206B_206D_206A_202B_200E_206C_200D_200B_200F_206F_202B_206A_202A_200D_206E_206E_202C_200B_200F_206B_200E_200F_202D_200B_200E_202E_200C_202B_206F_200C_202E_206D_206C_202E(ImU8String P_0) - { - ImGui.SetClipboardText(P_0); - } - - static void _200B_200D_202A_202B_206C_202C_206B_202C_206D_206A_200B_202C_206E_200F_200E_206E_200B_206F_206D_202B_202D_200C_202E_206B_200B_200F_206D_200B_202B_202C_202D_202D_206A_200F_206C_206B_200D_206E_202A_206D_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.Print(P_1, P_2, P_3); - } - - static bool _202D_206F_202D_206D_206D_202B_200C_206C_202A_206D_202C_200F_206B_206B_200E_206F_206B_202A_206A_202C_200D_200E_202E_200D_200D_206F_206F_202E_206C_200F_206B_202E_200F_200C_200C_206E_200E_202D_200E_200D_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.Contains(P_1, P_2); + string text = $"{quest.QuestId}_{quest.SimplifiedName}{(suffix ? ".json" : "")}"; + ImGui.SetClipboardText(text); + _chatGui.Print("Copied '" + text + "' to clipboard"); } } diff --git a/Questionable/Questionable.Windows/QuestSequenceWindow.cs b/Questionable/Questionable.Windows/QuestSequenceWindow.cs index c801938..b480a49 100644 --- a/Questionable/Questionable.Windows/QuestSequenceWindow.cs +++ b/Questionable/Questionable.Windows/QuestSequenceWindow.cs @@ -1,7 +1,6 @@ using System.Numerics; using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; -using Dalamud.Configuration; using Dalamud.Interface.Windowing; using Dalamud.Plugin; using LLib.ImGui; @@ -24,131 +23,63 @@ internal sealed class QuestSequenceWindow : ThemedWindow, IPersistableWindowConf public WindowConfig WindowConfig => _configuration.QuestSequenceWindowConfig; - [MethodImpl(MethodImplOptions.NoInlining)] public QuestSequenceWindow(IDalamudPluginInterface pluginInterface, Configuration configuration, QuestSequenceComponent questSequenceComponent) - : base(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(1855335709), ImGuiWindowFlags.NoTitleBar) + : base("Quest Sequence Viewer###QuestionableQuestSequenceViewer", ImGuiWindowFlags.NoTitleBar) { _pluginInterface = pluginInterface; _configuration = configuration; _questSequenceComponent = questSequenceComponent; - _200F_202E_206B_202A_206E_206E_206C_206D_206F_206F_206E_202A_202D_200C_202C_200B_202E_206D_206F_206E_202D_206A_200C_202A_200E_202C_206A_206F_206C_200E_200C_206E_202D_202C_206B_206E_206D_200D_202B_202C_202E((Vector2?)new Vector2(950f, 700f)); - _200E_206D_200B_200F_206D_202B_202A_202C_202B_202D_202A_202A_200F_200E_200D_200E_202B_200C_206B_206F_206E_200E_200E_202A_200B_200E_200E_202A_200C_202A_202A_206A_202C_206F_202D_206A_202A_206E_200D_206A_202E(ImGuiCond.FirstUseEver); - _202B_206E_200E_206B_200D_206D_202A_202E_206F_202C_206B_200F_206A_206E_206C_202D_200E_202D_202E_206A_206E_202D_202C_200E_200E_206C_206E_206E_202D_202E_200D_200B_206C_202A_202B_200D_202A_200F_200F_200E_202E((WindowSizeConstraints?)new WindowSizeConstraints + base.Size = new Vector2(950f, 700f); + base.SizeCondition = ImGuiCond.FirstUseEver; + base.SizeConstraints = new WindowSizeConstraints { MinimumSize = new Vector2(750f, 550f), MaximumSize = new Vector2(float.MaxValue, float.MaxValue) - }); + }; } public void SaveWindowConfig() { - _206F_202A_206B_206F_202E_202C_200C_200F_202D_206C_202E_206B_200F_202D_202A_206A_200F_206F_206C_200C_206C_200F_206D_202B_200C_206A_206B_206F_202A_206E_206C_202E_200D_206C_206A_202D_200E_202C_206F_206A_202E(_pluginInterface, (IPluginConfiguration)_configuration); - } - - void IPersistableWindowConfig.SaveWindowConfig() - { - //ILSpy generated this explicit interface implementation from .override directive in SaveWindowConfig - this.SaveWindowConfig(); + _pluginInterface.SavePluginConfig(_configuration); } public void OpenForQuest(ElementId questId) { _questSequenceComponent.SetLookedUpQuest(questId); _selectLookupTabNextFrame = true; - _200B_206E_200C_200D_200F_206A_206C_206E_202B_206C_202E_200B_200B_206B_202A_202A_202B_202A_200C_200E_200B_200E_202D_202B_202A_200F_206A_206C_200C_202C_206C_202C_200B_206D_202E_206D_206E_202D_202B_206F_202E((LWindow)this, true); + base.IsOpenAndUncollapsed = true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override void DrawContent() { bool isOpen = true; QuestSequenceComponent.DrawCustomHeader(ref isOpen); - int num = (isOpen ? 614806055 : 614806050); - int selectedTab = default(int); - while (true) + if (!isOpen) { - int num2 = num; - int num3 = 614806053; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - QuestSequenceComponent.DrawWindowBorder(); - return; - case 6: - _206D_202B_200B_206D_202E_206E_200F_200C_206D_206E_206D_202D_200F_206D_202E_200E_206C_202D_202B_202E_206D_206B_200C_200B_202A_206A_206E_202E_206F_202D_200C_200B_206D_202B_202E_200F_202C_202A_200C_206D_202E(); - _questSequenceComponent.DrawCurrentQuestTab(); - num = 614806048; - break; - case 8: - { - InlineArray2 buffer = default(InlineArray2); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 0) = 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(-917877245); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 1) = 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(478358345); - _selectedTab = UiThemeUtils.DrawTabBar(global::_003CPrivateImplementationDetails_003E.InlineArrayAsReadOnlySpan, string>(in buffer, 2), _selectedTab); - selectedTab = _selectedTab; - num = ((selectedTab == 0) ? 614806051 : 614806060); - break; - } - case 3: - _206D_202B_200B_206D_202E_206E_200F_200C_206D_206E_206D_202D_200F_206D_202E_200E_206C_202D_202B_202E_206D_206B_200C_200B_202A_206A_206E_202E_206F_202D_200C_200B_206D_202B_202E_200F_202C_202A_200C_206D_202E(); - _questSequenceComponent.DrawQuestLookupTab(); - num = 614806048; - break; - case 7: - RequestClose(); - num = 614806055; - break; - case 0: - num = 614806050; - break; - case 2: - _206D_202B_200B_206D_202E_206E_200F_200C_206D_206E_206D_202D_200F_206D_202E_200E_206C_202D_202B_202E_206D_206B_200C_200B_202A_206A_206E_202E_206F_202D_200C_200B_206D_202B_202E_200F_202C_202A_200C_206D_202E(); - _206D_202B_200B_206D_202E_206E_200F_200C_206D_206E_206D_202D_200F_206D_202E_200E_206C_202D_202B_202E_206D_206B_200C_200B_202A_206A_206E_202E_206F_202D_200C_200B_206D_202B_202E_200F_202C_202A_200C_206D_202E(); - num = ((!_selectLookupTabNextFrame) ? 614806061 : 614806049); - break; - case 1: - num = 614806048; - break; - case 4: - _selectedTab = 1; - _selectLookupTabNextFrame = false; - num = 614806061; - break; - case 9: - num = ((selectedTab == 1) ? 614806054 : 614806052); - break; - } + RequestClose(); } - } - - void _200F_202E_206B_202A_206E_206E_206C_206D_206F_206F_206E_202A_202D_200C_202C_200B_202E_206D_206F_206E_202D_206A_200C_202A_200E_202C_206A_206F_206C_200E_200C_206E_202D_202C_206B_206E_206D_200D_202B_202C_202E(Vector2? P_0) - { - base.Size = P_0; - } - - void _200E_206D_200B_200F_206D_202B_202A_202C_202B_202D_202A_202A_200F_200E_200D_200E_202B_200C_206B_206F_206E_200E_200E_202A_200B_200E_200E_202A_200C_202A_202A_206A_202C_206F_202D_206A_202A_206E_200D_206A_202E(ImGuiCond P_0) - { - base.SizeCondition = P_0; - } - - void _202B_206E_200E_206B_200D_206D_202A_202E_206F_202C_206B_200F_206A_206E_206C_202D_200E_202D_202E_206A_206E_202D_202C_200E_200E_206C_206E_206E_202D_202E_200D_200B_206C_202A_202B_200D_202A_200F_200F_200E_202E(WindowSizeConstraints? P_0) - { - base.SizeConstraints = P_0; - } - - static void _206F_202A_206B_206F_202E_202C_200C_200F_202D_206C_202E_206B_200F_202D_202A_206A_200F_206F_206C_200C_206C_200F_206D_202B_200C_206A_206B_206F_202A_206E_206C_202E_200D_206C_206A_202D_200E_202C_206F_206A_202E(IDalamudPluginInterface P_0, IPluginConfiguration P_1) - { - P_0.SavePluginConfig(P_1); - } - - static void _200B_206E_200C_200D_200F_206A_206C_206E_202B_206C_202E_200B_200B_206B_202A_202A_202B_202A_200C_200E_200B_200E_202D_202B_202A_200F_206A_206C_200C_202C_206C_202C_200B_206D_202E_206D_206E_202D_202B_206F_202E(LWindow P_0, bool P_1) - { - P_0.IsOpenAndUncollapsed = P_1; - } - - static void _206D_202B_200B_206D_202E_206E_200F_200C_206D_206E_206D_202D_200F_206D_202E_200E_206C_202D_202B_202E_206D_206B_200C_200B_202A_206A_206E_202E_206F_202D_200C_200B_206D_202B_202E_200F_202C_202A_200C_206D_202E() - { ImGui.Spacing(); + ImGui.Spacing(); + if (_selectLookupTabNextFrame) + { + _selectedTab = 1; + _selectLookupTabNextFrame = false; + } + InlineArray2 buffer = default(InlineArray2); + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 0) = "Current Quest"; + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, string>(ref buffer, 1) = "Quest Lookup"; + _selectedTab = UiThemeUtils.DrawTabBar(global::_003CPrivateImplementationDetails_003E.InlineArrayAsReadOnlySpan, string>(in buffer, 2), _selectedTab); + switch (_selectedTab) + { + case 0: + ImGui.Spacing(); + _questSequenceComponent.DrawCurrentQuestTab(); + break; + case 1: + ImGui.Spacing(); + _questSequenceComponent.DrawQuestLookupTab(); + break; + } + QuestSequenceComponent.DrawWindowBorder(); } } diff --git a/Questionable/Questionable.Windows/QuestValidationWindow.cs b/Questionable/Questionable.Windows/QuestValidationWindow.cs index 05aba02..97e1372 100644 --- a/Questionable/Questionable.Windows/QuestValidationWindow.cs +++ b/Questionable/Questionable.Windows/QuestValidationWindow.cs @@ -1,7 +1,5 @@ using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; -using Dalamud.Configuration; using Dalamud.Interface.Windowing; using Dalamud.Plugin; using LLib.ImGui; @@ -19,30 +17,23 @@ internal sealed class QuestValidationWindow : ThemedWindow, IPersistableWindowCo public WindowConfig WindowConfig => _configuration.QuestValidationWindowConfig; - [MethodImpl(MethodImplOptions.NoInlining)] public QuestValidationWindow(QuestValidationComponent questValidationComponent, IDalamudPluginInterface pluginInterface, Configuration configuration) - : base(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(675069397)) + : base("Quest Validation###QuestionableValidator") { _questValidationComponent = questValidationComponent; _pluginInterface = pluginInterface; _configuration = configuration; - _206B_202A_202D_206A_206D_202A_206F_202E_206A_200C_206E_200F_202C_200C_202D_202E_202C_202D_200C_202E_200C_202D_202B_202E_206C_202D_206E_202A_206F_202C_202B_206F_206D_202D_202B_206A_202E_202C_200E_206E_202E((Vector2?)new Vector2(800f, 400f)); - _206C_200D_206B_202A_202B_200B_200D_206E_200C_200C_202D_206E_200D_200C_202C_206A_200D_200C_206A_206B_206C_206C_206A_200F_202A_206D_200E_200F_206B_202E_202E_206A_202E_202B_200F_200F_206D_202E_200C_200E_202E(ImGuiCond.FirstUseEver); - _202A_202C_200B_200F_200B_206D_206A_202B_200D_202E_202D_200B_202B_202E_200B_200C_200B_202B_206F_200D_202E_206C_202C_200C_200E_206B_206D_206B_200B_200C_202B_206D_202B_200B_200C_200E_200F_200F_206B_206F_202E((WindowSizeConstraints?)new WindowSizeConstraints + base.Size = new Vector2(800f, 400f); + base.SizeCondition = ImGuiCond.FirstUseEver; + base.SizeConstraints = new WindowSizeConstraints { MinimumSize = new Vector2(600f, 300f) - }); + }; } public void SaveWindowConfig() { - _200C_200F_206E_206C_202C_202E_206C_202B_200B_200F_202E_200E_200E_206B_206C_206F_206F_200D_202A_206C_206C_200C_206F_202B_202E_202D_202A_206F_202B_202D_202E_206F_206A_206A_206A_206A_200B_202C_202E_202E(_pluginInterface, (IPluginConfiguration)_configuration); - } - - void IPersistableWindowConfig.SaveWindowConfig() - { - //ILSpy generated this explicit interface implementation from .override directive in SaveWindowConfig - this.SaveWindowConfig(); + _pluginInterface.SavePluginConfig(_configuration); } public override bool DrawConditions() @@ -56,24 +47,4 @@ internal sealed class QuestValidationWindow : ThemedWindow, IPersistableWindowCo _questValidationComponent.Draw(); UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); } - - void _206B_202A_202D_206A_206D_202A_206F_202E_206A_200C_206E_200F_202C_200C_202D_202E_202C_202D_200C_202E_200C_202D_202B_202E_206C_202D_206E_202A_206F_202C_202B_206F_206D_202D_202B_206A_202E_202C_200E_206E_202E(Vector2? P_0) - { - base.Size = P_0; - } - - void _206C_200D_206B_202A_202B_200B_200D_206E_200C_200C_202D_206E_200D_200C_202C_206A_200D_200C_206A_206B_206C_206C_206A_200F_202A_206D_200E_200F_206B_202E_202E_206A_202E_202B_200F_200F_206D_202E_200C_200E_202E(ImGuiCond P_0) - { - base.SizeCondition = P_0; - } - - void _202A_202C_200B_200F_200B_206D_206A_202B_200D_202E_202D_200B_202B_202E_200B_200C_200B_202B_206F_200D_202E_206C_202C_200C_200E_206B_206D_206B_200B_200C_202B_206D_202B_200B_200C_200E_200F_200F_206B_206F_202E(WindowSizeConstraints? P_0) - { - base.SizeConstraints = P_0; - } - - static void _200C_200F_206E_206C_202C_202E_206C_202B_200B_200F_202E_200E_200E_206B_206C_206F_206F_200D_202A_206C_206C_200C_206F_202B_202E_202D_202A_206F_202B_202D_202E_206F_206A_206A_206A_206A_200B_202C_202E_202E(IDalamudPluginInterface P_0, IPluginConfiguration P_1) - { - P_0.SavePluginConfig(P_1); - } } diff --git a/Questionable/Questionable.Windows/QuestWindow.cs b/Questionable/Questionable.Windows/QuestWindow.cs index e747620..089ef47 100644 --- a/Questionable/Questionable.Windows/QuestWindow.cs +++ b/Questionable/Questionable.Windows/QuestWindow.cs @@ -1,13 +1,7 @@ using System; -using System.Collections.Generic; using System.Numerics; -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Threading; using System.Threading.Tasks; using Dalamud.Bindings.ImGui; -using Dalamud.Configuration; -using Dalamud.Game.ClientState.Objects.SubKinds; using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Interface; using Dalamud.Interface.Colors; @@ -16,8 +10,6 @@ using Dalamud.Plugin; using Dalamud.Plugin.Services; using LLib.GameData; using LLib.ImGui; -using Lumina.Excel; -using Lumina.Excel.Sheets; using Questionable.Controller; using Questionable.Controller.GameUi; using Questionable.Data; @@ -27,78 +19,7 @@ namespace Questionable.Windows; internal sealed class QuestWindow : ThemedWindow, IPersistableWindowConfig { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static System.Action _003C_003E9__22_3; - - [MethodImpl(MethodImplOptions.NoInlining)] - internal void _003C_002Ector_003Eb__22_3() - { - _202B_200E_206E_206E_200D_200E_200E_200F_200E_202A_202D_200F_206D_202C_206D_200F_200E_200E_200E_206F_206F_202E_202E_202D_200C_206A_200E_200B_206C_200D_206C_202D_202A_200C_202D_206C_202B_202E_202B_202B_202E(); - _206F_200B_206A_206D_206F_200F_206A_200B_200E_202D_202C_202A_206E_200B_206A_202C_206B_206E_206D_200D_200B_206A_206B_200B_200E_206A_200B_206E_200F_206B_200C_200F_200F_206C_206B_206E_202C_206A_206E_200D_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2102670583)); - _200E_202E_206F_200B_206B_200C_206E_200D_206B_200C_200D_200D_200F_202A_202B_202B_206C_206B_206C_206E_200C_200B_206D_206F_206B_200E_202D_200E_206C_206D_202B_200B_200C_206A_206E_206D_202C_200D_206C_206B_202E(); - } - - static void _202B_200E_206E_206E_200D_200E_200E_200F_200E_202A_202D_200F_206D_202C_206D_200F_200E_200E_200E_206F_206F_202E_202E_202D_200C_206A_200E_200B_206C_200D_206C_202D_202A_200C_202D_206C_202B_202E_202B_202B_202E() - { - ImGui.BeginTooltip(); - } - - static void _206F_200B_206A_206D_206F_200F_206A_200B_200E_202D_202C_202A_206E_200B_206A_202C_206B_206E_206D_200D_200B_206A_206B_200B_200E_206A_200B_206E_200F_206B_200C_200F_200F_206C_206B_206E_202C_206A_206E_200D_202E(ImU8String P_0) - { - ImGui.Text(P_0); - } - - static void _200E_202E_206F_200B_206B_200C_206E_200D_206B_200C_200D_200D_200F_202A_202B_202B_206C_206B_206C_206E_200C_200B_206D_206F_206B_200E_202D_200E_206C_206D_202B_200B_200C_206A_206E_206D_202C_200D_206C_206B_202E() - { - ImGui.EndTooltip(); - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass22_0 - { - public QuestWindow _003C_003E4__this; - - public ConfigWindow configWindow; - - internal void _003C_002Ector_003Eb__1(ImGuiMouseButton _) - { - _003C_003E4__this.IsMinimized = !_003C_003E4__this.IsMinimized; - _206B_202D_206B_200F_206D_206D_206C_202B_202B_206E_202B_206F_200D_200D_206F_206E_202C_206B_200F_200F_202A_202E_202A_206B_200D_202D_200F_202C_206C_206A_206E_200E_202E_200B_202C_206E_206E_206B_206F_202C_202E(_003C_003E4__this._minimizeButton, _003C_003E4__this.IsMinimized ? FontAwesomeIcon.WindowMaximize : FontAwesomeIcon.Minus); - } - - internal void _003C_002Ector_003Eb__2(ImGuiMouseButton _) - { - _200D_202A_202E_200D_200D_206E_202C_206C_200F_202E_206A_200B_200B_200C_202A_206F_200B_206A_206E_206C_200F_200D_202C_200C_202E_206C_206E_206A_206A_202A_206F_206C_206C_202E_206B_202E_202B_200C_202D_200E_202E((LWindow)configWindow, true); - } - - internal bool _003C_002Ector_003Eb__0() - { - return _003C_003E4__this.IsOpen; - } - - static void _206B_202D_206B_200F_206D_206D_206C_202B_202B_206E_202B_206F_200D_200D_206F_206E_202C_206B_200F_200F_202A_202E_202A_206B_200D_202D_200F_202C_206C_206A_206E_200E_202E_200B_202C_206E_206E_206B_206F_202C_202E(TitleBarButton P_0, FontAwesomeIcon P_1) - { - P_0.Icon = P_1; - } - - static void _200D_202A_202E_200D_200D_206E_202C_206C_200F_202E_206A_200B_200B_200C_202A_206F_200B_206A_206E_206C_200F_200D_202C_200C_202E_206C_206E_206A_206A_202A_206F_206C_206C_202E_206B_202E_202B_200C_202D_200E_202E(LWindow P_0, bool P_1) - { - P_0.IsOpenAndUncollapsed = P_1; - } - - bool _206A_206C_200B_206A_206E_206E_200B_202E_202E_202B_206F_200B_202D_202B_202E_200D_206C_200B_202B_202D_200B_206B_200B_206B_200B_202E_206C_200B_202C_200B_202C_206A_200B_200F_202B_206F_202A_206A_200B_200F_202E() - { - return ((Window)this).IsOpen; - } - } - - private static readonly Version PluginVersion = _200C_200D_202D_206E_202B_206D_202C_202C_206C_200C_202A_206B_200B_200B_200D_202A_206C_206B_206B_202A_206E_206E_206A_200F_200B_200C_202D_206A_200D_202C_200E_200F_206D_206A_200C_202E_200F_200E_200F_202A_202E(_200D_206D_200B_200B_202A_206C_200C_206C_202C_200F_206B_202D_202B_200F_206B_202D_206C_202A_202D_206F_200E_202A_202D_202C_202A_202B_200E_206B_202B_206D_200B_206B_206A_202A_202E_202B_200D_206B_200F_200D_202E(_200F_200C_206F_200E_202A_200C_202C_202A_206B_202A_202B_202E_206B_200B_206B_206B_206B_200F_202A_200F_202C_202A_206D_202B_206F_202B_200E_206E_200E_206F_206A_202C_200D_202A_202E_200B_200B_200C_206A_202D_202E(_200E_202C_202E_206A_200E_200E_202C_206C_206D_206F_202A_202E_202B_200F_202E_200E_202D_206E_202B_202A_202D_202A_202A_206A_202D_200E_202E_206F_200F_200D_202E_200E_202E_206A_200F_202C_200C_202B_200F_202A_202E(typeof(QuestionablePlugin).TypeHandle)))); + private static readonly Version PluginVersion = typeof(QuestionablePlugin).Assembly.GetName().Version; private const string TestingSuffix = ""; @@ -148,9 +69,8 @@ internal sealed class QuestWindow : ThemedWindow, IPersistableWindowConfig public bool IsReloading { get; private set; } - [MethodImpl(MethodImplOptions.NoInlining)] public QuestWindow(IDalamudPluginInterface pluginInterface, QuestController questController, IObjectTable objectTable, IClientState clientState, Configuration configuration, TerritoryData territoryData, ActiveQuestComponent activeQuestComponent, ARealmRebornComponent aRealmRebornComponent, EventInfoComponent eventInfoComponent, CreationUtilsComponent creationUtilsComponent, NavigationBarComponent navigationBarComponent, QuickAccessButtonsComponent quickAccessButtonsComponent, RemainingTasksComponent remainingTasksComponent, ManualPriorityComponent manualPriorityComponent, SavedPresetsComponent savedPresetsComponent, IFramework framework, InteractionUiController interactionUiController, ConfigWindow configWindow) - : base(_200B_202A_202E_200E_202B_202A_202D_200D_200D_202B_202D_206D_200F_202C_200E_206B_202B_200E_206E_202A_206D_202C_206E_200E_206F_202E_200B_202D_206A_200F_202E_200D_202C_202C_206F_202E_202C_202C_202E_206B_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1455489909), _206D_206D_202D_200B_202C_206D_200F_200E_200D_206C_206B_206E_202A_202D_200E_202D_206E_202C_202D_206B_200F_206D_200C_206C_202D_200C_202C_200C_202A_202B_202E_200C_202A_206A_206F_202D_200F_200B_206D_202A_202E(PluginVersion, 3), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1917286556)), ImGuiWindowFlags.AlwaysAutoResize) + : base("Questionable v" + PluginVersion.ToString(3) + "###Questionable", ImGuiWindowFlags.AlwaysAutoResize) { QuestWindow questWindow = this; _pluginInterface = pluginInterface; @@ -170,41 +90,42 @@ internal sealed class QuestWindow : ThemedWindow, IPersistableWindowConfig _savedPresetsComponent = savedPresetsComponent; _framework = framework; _interactionUiController = interactionUiController; - _200F_206E_202D_206A_200F_202C_206C_200D_202E_202A_206E_200E_206E_202C_202B_202C_202E_200F_202B_200C_202D_206B_202B_202B_200B_200E_200C_200C_206E_202A_206A_200D_200D_206F_206C_200B_202C_202A_206F_206C_202E((WindowSizeConstraints?)new WindowSizeConstraints + base.SizeConstraints = new WindowSizeConstraints { MinimumSize = new Vector2(350f, 30f), MaximumSize = new Vector2(350f, 4000f) - }); - _206B_202D_206F_206A_206A_206F_200E_206C_200E_206D_202E_200E_202C_206D_200E_202E_206D_202A_202B_202E_200C_202D_202A_202E_202A_200F_206A_200B_200D_206B_202E_200F_206B_202A_202E_200C_202C_200E_202B_202C_202E(false); - _202B_202B_200E_202A_202B_200B_206B_202A_206E_206C_202D_200B_206B_200E_206D_206F_206F_200E_200D_200B_206A_206F_206D_206D_202D_206E_202C_206E_206B_202C_202D_200D_206B_200F_202C_200C_202B_202A_206F_200F_202E(false); - TitleBarButton titleBarButton = _202E_202A_202A_206F_206B_200E_200D_206B_200F_206B_202A_202A_202B_206C_206C_206A_200B_200C_206E_206A_200C_206A_206C_202D_202E_206B_206C_206B_200C_206E_202C_202D_206C_202E_206F_202D_200F_206F_206E_202E(); - _202A_206D_206C_206A_202B_206B_206C_200E_200F_202D_200D_202A_206B_202A_202C_202B_206A_206E_206F_206D_200F_206F_202A_200F_206F_202B_200F_206A_200F_206B_200C_206C_202A_202A_206D_206A_202D_200B_206B_202D_202E(titleBarButton, FontAwesomeIcon.Minus); - _200C_206F_200D_200F_200E_200F_202E_200D_200C_200D_200B_202C_200D_202C_206F_206A_206E_200B_202D_200F_202A_202E_200C_200E_206D_200D_202D_206F_206F_206F_202E_206E_202A_200C_200C_206E_206E_200B_202D_206A_202E(titleBarButton, int.MinValue); - _206B_200F_202D_206E_202E_200B_202C_202C_202A_206E_202C_206E_202A_202E_200E_202E_206D_206C_206C_200B_206F_202A_206D_202B_200F_200E_202D_202D_202B_202B_206A_202B_202E_206B_206B_206B_202E_202D_200C_202C_202E(titleBarButton, new Vector2(1.5f, 1f)); - _200F_200E_206D_206D_200F_202B_202A_202B_206B_206A_206A_200E_202C_200F_202A_206B_206B_202B_202E_202B_206C_202A_206D_202D_200D_206F_206F_202E_206A_206E_202E_200C_200B_202E_202C_206C_200D_206E_202B_200F_202E(titleBarButton, (Action)delegate + }; + base.RespectCloseHotkey = false; + base.AllowClickthrough = false; + _minimizeButton = new TitleBarButton { - questWindow.IsMinimized = !questWindow.IsMinimized; - _003C_003Ec__DisplayClass22_0._206B_202D_206B_200F_206D_206D_206C_202B_202B_206E_202B_206F_200D_200D_206F_206E_202C_206B_200F_200F_202A_202E_202A_206B_200D_202D_200F_202C_206C_206A_206E_200E_202E_200B_202C_206E_206E_206B_206F_202C_202E(questWindow._minimizeButton, questWindow.IsMinimized ? FontAwesomeIcon.WindowMaximize : FontAwesomeIcon.Minus); - }); - _202B_200D_206B_200B_202B_202C_200B_206E_206A_200F_200D_202D_206E_206B_200B_202B_202B_200F_206B_202C_200B_206B_200E_206F_202C_200C_202B_200D_202D_200E_206A_206C_206E_202D_200F_206E_206D_202B_200D_206B_202E(titleBarButton, true); - _minimizeButton = titleBarButton; - _200C_202B_206F_202B_206F_202B_206D_206D_200D_200D_202C_206A_206B_200E_200C_202C_202C_206A_206F_206D_206B_202A_200E_206E_206D_206A_200F_202E_206A_200C_202E_202C_202D_200F_200E_202E_202D_200C_200B_202B_202E().Insert(0, _minimizeButton); - List list = _200C_202B_206F_202B_206F_202B_206D_206D_200D_200D_202C_206A_206B_200E_200C_202C_202C_206A_206F_206D_206B_202A_200E_206E_206D_206A_200F_202E_206A_200C_202E_202C_202D_200F_200E_202E_202D_200C_200B_202B_202E(); - TitleBarButton titleBarButton2 = _202E_202A_202A_206F_206B_200E_200D_206B_200F_206B_202A_202A_202B_206C_206C_206A_200B_200C_206E_206A_200C_206A_206C_202D_202E_206B_206C_206B_200C_206E_202C_202D_206C_202E_206F_202D_200F_206F_206E_202E(); - _202A_206D_206C_206A_202B_206B_206C_200E_200F_202D_200D_202A_206B_202A_202C_202B_206A_206E_206F_206D_200F_206F_202A_200F_206F_202B_200F_206A_200F_206B_200C_206C_202A_202A_206D_206A_202D_200B_206B_202D_202E(titleBarButton2, FontAwesomeIcon.Sun); - _206B_200F_202D_206E_202E_200B_202C_202C_202A_206E_202C_206E_202A_202E_200E_202E_206D_206C_206C_200B_206F_202A_206D_202B_200F_200E_202D_202D_202B_202B_206A_202B_202E_206B_206B_206B_202E_202D_200C_202C_202E(titleBarButton2, new Vector2(1.5f, 1f)); - _200F_200E_206D_206D_200F_202B_202A_202B_206B_206A_206A_200E_202C_200F_202A_206B_206B_202B_202E_202B_206C_202A_206D_202D_200D_206F_206F_202E_206A_206E_202E_200C_200B_202E_202C_206C_200D_206E_202B_200F_202E(titleBarButton2, (Action)delegate + Icon = FontAwesomeIcon.Minus, + Priority = int.MinValue, + IconOffset = new Vector2(1.5f, 1f), + Click = delegate + { + questWindow.IsMinimized = !questWindow.IsMinimized; + questWindow._minimizeButton.Icon = (questWindow.IsMinimized ? FontAwesomeIcon.WindowMaximize : FontAwesomeIcon.Minus); + }, + AvailableClickthrough = true + }; + base.TitleBarButtons.Insert(0, _minimizeButton); + base.TitleBarButtons.Add(new TitleBarButton { - _003C_003Ec__DisplayClass22_0._200D_202A_202E_200D_200D_206E_202C_206C_200F_202E_206A_200B_200B_200C_202A_206F_200B_206A_206E_206C_200F_200D_202C_200C_202E_206C_206E_206A_206A_202A_206F_206C_206C_202E_206B_202E_202B_200C_202D_200E_202E((LWindow)configWindow, true); + Icon = FontAwesomeIcon.Sun, + IconOffset = new Vector2(1.5f, 1f), + Click = delegate + { + configWindow.IsOpenAndUncollapsed = true; + }, + Priority = int.MinValue, + ShowTooltip = delegate + { + ImGui.BeginTooltip(); + ImGui.Text("Open Configuration"); + ImGui.EndTooltip(); + } }); - _200C_206F_200D_200F_200E_200F_202E_200D_200C_200D_200B_202C_200D_202C_206F_206A_206E_200B_202D_200F_202A_202E_200C_200E_206D_200D_202D_206F_206F_206F_202E_206E_202A_200C_200C_206E_206E_200B_202D_206A_202E(titleBarButton2, int.MinValue); - _200D_206E_202A_200E_202E_202E_202A_206A_206C_202C_200F_206D_202B_206F_200B_202D_200E_200E_200B_206F_202A_206A_202D_200E_206E_200D_200F_206F_206A_202B_200F_202C_200E_202D_206D_202A_200B_200C_202D_202D_202E(titleBarButton2, (System.Action)([MethodImpl(MethodImplOptions.NoInlining)] () => - { - _003C_003Ec._202B_200E_206E_206E_200D_200E_200E_200F_200E_202A_202D_200F_206D_202C_206D_200F_200E_200E_200E_206F_206F_202E_202E_202D_200C_206A_200E_200B_206C_200D_206C_202D_202A_200C_202D_206C_202B_202E_202B_202B_202E(); - _003C_003Ec._206F_200B_206A_206D_206F_200F_206A_200B_200E_202D_202C_202A_206E_200B_206A_202C_206B_206E_206D_200D_200B_206A_206B_200B_200E_206A_200B_206E_200F_206B_200C_200F_200F_206C_206B_206E_202C_206A_206E_200D_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-2102670583)); - _003C_003Ec._200E_202E_206F_200B_206B_200C_206E_200D_206B_200C_200D_200D_200F_202A_202B_202B_206C_206B_206C_206E_200C_200B_206D_206F_206B_200E_202D_200E_206C_206D_202B_200B_200C_206A_206E_206D_202C_200D_206C_206B_202E(); - })); - list.Add(titleBarButton2); _activeQuestComponent.OpenQueueTab += SwitchToQueueTab; _quickAccessButtonsComponent.Reload += OnReload; _questController.IsQuestWindowOpenFunction = () => questWindow.IsOpen; @@ -212,151 +133,69 @@ internal sealed class QuestWindow : ThemedWindow, IPersistableWindowConfig public void SaveWindowConfig() { - _200E_200B_202D_200D_202D_206A_202A_206B_200F_202D_200E_202A_206D_202E_202E_200E_206D_206E_202A_206D_200E_206D_206F_206B_206F_202B_206E_200D_206A_206D_200C_206B_202A_200D_200E_206E_200C_206C_206F_206A_202E(_pluginInterface, (IPluginConfiguration)_configuration); - } - - void IPersistableWindowConfig.SaveWindowConfig() - { - //ILSpy generated this explicit interface implementation from .override directive in SaveWindowConfig - this.SaveWindowConfig(); + _pluginInterface.SavePluginConfig(_configuration); } public override void PreOpenCheck() { - int num = ((!_questController.IsRunning) ? (-1198516443) : (-1198516442)); - while (true) + if (_questController.IsRunning) { - int num2 = num; - int num3 = -1198516441; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004b; - case 1: - _200B_206B_202E_206B_202A_200F_200F_202B_200C_202D_202A_206B_202C_202A_206C_202B_206F_202E_206B_200E_206F_200E_206C_206E_200B_200F_206D_200B_206A_200D_200E_200B_200C_202D_202C_200D_202A_202E_202B_202B_202E(true); - _202D_202E_206F_202A_202E_206B_206B_200E_202C_206C_206B_202E_206D_202A_200D_202D_206F_202A_200E_206A_202A_206B_202B_200D_200B_206E_206D_202E_202E_206F_202E_202D_200F_202D_206A_202A_206E_206E_206E_200D_202E(_202A_200E_206C_202C_200B_200E_202C_200F_202A_206D_202B_202D_202A_206C_206A_200F_202C_206E_202D_206B_206E_202E_206F_206E_206C_206E_200C_202D_206B_206A_200E_206A_202E_200F_206C_200E_200D_206C_200C_202E() | ImGuiWindowFlags.NoCollapse); - _200D_200E_206F_200E_202D_206A_206E_202C_206F_206F_202C_200F_200E_206A_206D_206E_202B_200F_200E_206A_202E_202A_200B_200E_200C_202A_206C_206D_206F_202A_202D_206F_200B_206A_206A_202A_202E_200E_206E_206E_202E(false); - return; - case 2: - _202D_202E_206F_202A_202E_206B_206B_200E_202C_206C_206B_202E_206D_202A_200D_202D_206F_202A_200E_206A_202A_206B_202B_200D_200B_206E_206D_202E_202E_206F_202E_202D_200F_202D_206A_202A_206E_206E_206E_200D_202E(_202A_200E_206C_202C_200B_200E_202C_200F_202A_206D_202B_202D_202A_206C_206A_200F_202C_206E_202D_206B_206E_202E_206F_206E_206C_206E_200C_202D_206B_206A_200E_206A_202E_200F_206C_200E_200D_206C_200C_202E() & ~ImGuiWindowFlags.NoCollapse); - _200D_200E_206F_200E_202D_206A_206E_202C_206F_206F_202C_200F_200E_206A_206D_206E_202B_200F_200E_206A_202E_202A_200B_200E_200C_202A_206C_206D_206F_202A_202D_206F_200B_206A_206A_202A_202E_200E_206E_206E_202E(true); - return; - } - continue; - IL_004b: - num = -1198516442; + base.IsOpen = true; + base.Flags |= ImGuiWindowFlags.NoCollapse; + base.ShowCloseButton = false; + } + else + { + base.Flags &= ~ImGuiWindowFlags.NoCollapse; + base.ShowCloseButton = true; } } public override bool DrawConditions() { - int num = (_configuration.IsPluginSetupComplete() ? 991073778 : 991073790); - while (true) + if (!_configuration.IsPluginSetupComplete()) { - int num2 = num; - int num3 = 991073787; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = ((_200C_200B_206F_206C_202A_202A_202D_200E_202D_206B_200C_202B_200C_206D_200E_202D_202C_200E_200E_200D_202B_200F_202A_206F_206A_202E_206C_200F_202A_206D_206C_206C_206C_202C_202D_202C_200F_202B_202A_200E_202E(_objectTable) == null) ? 991073786 : 991073789); - break; - case 8: - return false; - case 1: - return false; - case 10: - num = 991073790; - break; - case 9: - num = ((!_206C_202D_202E_200E_202A_206B_202B_200E_202D_200D_200F_200D_200E_200F_202E_202E_206C_202D_202B_200D_200D_202B_202A_200D_200B_206F_202D_206C_206E_202C_206C_206E_202C_206D_202E_206B_200E_206A_202B_200F_202E(_clientState)) ? 991073786 : 991073791); - break; - case 0: - num = ((!_configuration.General.HideInAllInstances) ? 991073788 : 991073784); - break; - case 3: - num = (_configuration.Advanced.ShowWindowInInstances ? 991073788 : 991073785); - break; - case 2: - num = ((!_territoryData.IsDutyInstance(_202C_200D_206A_200B_206F_200B_206F_206A_202B_206C_200B_200D_200F_202B_202E_202B_206C_206B_206C_202D_200D_200B_200E_200E_202D_206B_200E_200F_206D_206E_206A_202D_202C_206B_206D_202B_206C_206B_202D_206A_202E(_clientState))) ? 991073788 : 991073779); - break; - case 5: - return false; - case 7: - return true; - case 6: - num = ((!_202A_200C_206E_206C_206A_200D_206E_200C_206E_200E_202C_200E_200B_202A_202B_202C_202C_202E_206E_206F_200E_206D_202D_206C_200F_200F_206B_206D_206E_200C_200F_206C_202B_202D_206C_206F_200E_206D_206A_200C_202E(_clientState)) ? 991073787 : 991073786); - break; - } + return false; } + if (!_clientState.IsLoggedIn || _objectTable.LocalPlayer == null || _clientState.IsPvPExcludingDen) + { + return false; + } + if (_configuration.General.HideInAllInstances && !_configuration.Advanced.ShowWindowInInstances && _territoryData.IsDutyInstance(_clientState.TerritoryType)) + { + return false; + } + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] public override void DrawContent() { try { - ICharacter obj = _200F_202C_206E_206F_200D_202A_206D_206C_200D_206D_200B_200D_202A_206C_200C_200D_200C_206B_206E_202B_206E_202A_206C_202C_206A_206B_200B_200F_206A_200E_202D_200E_200F_206E_202B_202C_206D_202E_200F_206D_202E(_objectTable, 0) as ICharacter; - uint? num = ((obj != null) ? new uint?(_206E_206F_206F_202C_202A_202C_206A_200E_200C_206A_206A_206A_200C_206D_202B_202C_206E_200C_202A_202C_202E_200C_200E_200D_202E_200C_200D_202D_202C_202A_200C_200B_206A_206C_200F_200F_202D_202A_200C_202D_202E(obj).RowId) : ((uint?)null)); - int num2 = (num.HasValue ? 388553375 : 388553371); - EClassJob valueOrDefault = default(EClassJob); - while (true) + EClassJob valueOrDefault = ((EClassJob?)(_objectTable[0] as ICharacter)?.ClassJob.RowId).GetValueOrDefault(); + if (valueOrDefault.IsLimitedJob()) { - int num3 = num2; - int num4 = 388553374; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - EClassJob? obj2; - EClassJob? eClassJob; - switch (num6 - (num7 + num7)) - { - case 4: - _selectedTab = UiThemeUtils.DrawTabBar(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(345110125), 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(-1899915976), _selectedTab); - num2 = ((_selectedTab != 0) ? 388553373 : 388553372); - break; - case 5: - obj2 = null; - goto IL_0116; - case 1: - obj2 = (EClassJob)num.GetValueOrDefault(); - goto IL_0116; - case 6: - _activeQuestComponent.Draw(isMinimized: true); - return; - case 7: - num2 = ((!IsMinimized) ? 388553370 : 388553368); - break; - case 0: - num2 = 388553371; - break; - case 3: - DrawQueueTab(); - num2 = 388553366; - break; - case 2: - DrawQuestTab(); - num2 = 388553366; - break; - case 9: - UiThemeUtils.WrappedTextColored(_206C_202B_202D_206D_200B_206E_202B_202E_200C_202A_202A_202C_206E_200B_200E_206D_202C_202C_202E_202D_206D_202B_206F_206C_200E_202C_206B_200C_206D_200D_206B_206B_200F_200D_200C_202D_200C_206E_206A_206D_202E(), _206F_200B_200F_200D_202A_200F_200F_200D_202D_200C_202C_200F_200C_206E_200D_206F_202C_200D_202A_200B_200F_206C_202D_200E_206A_206D_202E_200B_206A_206F_206B_206A_200E_200B_206E_202C_202B_206E_200E_206E_202E(_200F_202E_206F_200B_206E_200B_202A_200F_206F_206C_200B_202E_202E_206B_200D_202A_200B_202C_206E_200F_200F_200D_206D_206C_200E_200C_202E_200D_202D_200D_200D_202E_206A_206A_206F_206B_202B_206B_206D_202E(valueOrDefault), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1341505200))); - _200D_202E_202C_200D_200F_202D_202A_200F_200E_200F_200E_200D_202A_206C_202E_206F_206B_202C_202E_206B_200B_206D_202B_206D_206F_202B_202D_202A_206B_202E_206B_200B_202A_206F_202B_206C_206D_200D_206C_206F_202E(); - num2 = 388553369; - break; - case 8: - return; - IL_0116: - eClassJob = obj2; - valueOrDefault = eClassJob.GetValueOrDefault(); - num2 = ((!_200E_206C_202A_206D_202A_200F_202E_202E_206B_200E_200C_206E_206A_206D_202B_206D_206E_206B_200B_202E_202D_202E_202D_200D_200D_206F_202A_206B_206D_206F_206D_206B_202D_202C_200F_206D_202D_206A_206E_200E_202E(valueOrDefault)) ? 388553369 : 388553367); - break; - } + UiThemeUtils.WrappedTextColored(ImGuiColors.DalamudYellow, valueOrDefault.ToFriendlyString() + " is a limited job. Some quests may be unavailable."); + ImGui.Separator(); + } + if (IsMinimized) + { + _activeQuestComponent.Draw(isMinimized: true); + return; + } + _selectedTab = UiThemeUtils.DrawTabBar("Quest", "Queue", _selectedTab); + if (_selectedTab == 0) + { + DrawQuestTab(); + } + else + { + DrawQueueTab(); } } catch (Exception ex) { - UiThemeUtils.WrappedTextColored(_202E_202E_200E_206D_200E_200E_206D_200C_202B_206F_206B_200E_200C_202C_202B_200D_202E_200E_200E_206C_206E_202B_200D_200C_200F_200B_200D_200B_200B_206B_202C_206D_200B_206D_200F_200B_206F_206C_200C_206C_202E(), _202B_202C_206F_202A_206E_200E_200B_206C_206E_206D_200F_206A_202B_206B_202D_200E_200E_202B_206F_202D_202D_200B_200B_206F_200F_202B_206E_202C_206A_202B_200B_202B_202E_202D_206D_202C_200C_206D_206E_206A_202E((object)ex)); + UiThemeUtils.WrappedTextColored(ImGuiColors.DalamudRed, ex.ToString()); } } @@ -364,102 +203,62 @@ internal sealed class QuestWindow : ThemedWindow, IPersistableWindowConfig { _activeQuestComponent.Draw(isMinimized: false); UiThemeUtils.SectionSpacing(); - int num = ((!_aRealmRebornComponent.ShouldDraw) ? (-1400072474) : (-1400072477)); - while (true) + if (_aRealmRebornComponent.ShouldDraw) { - int num2 = num; - int num3 = -1400072480; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - _quickAccessButtonsComponent.IsReloading = IsReloading; - _quickAccessButtonsComponent.Draw(); - UiThemeUtils.SectionSpacing(); - _navigationBarComponent.Draw(); - return; - case 3: - _aRealmRebornComponent.Draw(); - UiThemeUtils.SectionSpacing(); - num = -1400072474; - break; - case 4: - num = -1400072477; - break; - case 5: - UiThemeUtils.SectionSpacing(); - num = -1400072478; - break; - case 1: - _eventInfoComponent.Draw(); - UiThemeUtils.SectionSpacing(); - num = -1400072480; - break; - case 6: - num = ((!_eventInfoComponent.ShouldDraw) ? (-1400072480) : (-1400072479)); - break; - case 0: - num = ((!_remainingTasksComponent.Draw()) ? (-1400072478) : (-1400072475)); - break; - } + _aRealmRebornComponent.Draw(); + UiThemeUtils.SectionSpacing(); } + if (_eventInfoComponent.ShouldDraw) + { + _eventInfoComponent.Draw(); + UiThemeUtils.SectionSpacing(); + } + if (_remainingTasksComponent.Draw()) + { + UiThemeUtils.SectionSpacing(); + } + _quickAccessButtonsComponent.IsReloading = IsReloading; + _quickAccessButtonsComponent.Draw(); + UiThemeUtils.SectionSpacing(); + _navigationBarComponent.Draw(); } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawQueueTab() { - Vector2 vector = _200E_202A_200F_206B_200D_202C_202D_202A_202D_206C_206C_206D_206D_202B_200E_200C_202E_206F_206E_200F_200B_206C_200E_202A_200E_206B_206D_200B_200F_206F_202C_206B_206D_202B_202E_206A_202C_206A_200F_206C_202E(); - float x = _200F_202D_206F_202B_200C_202A_202D_200F_200C_200E_206B_202B_206F_202B_200C_206C_206D_202B_202E_206D_206C_202A_206D_206C_206B_206E_202B_202A_206B_200B_202C_200C_200D_206C_202C_202D_200D_202C_206E_202D_202E().X; - ImDrawListPtr imDrawListPtr = _202C_206F_200D_206A_200F_200B_200D_200B_200C_202C_202D_200F_206C_200D_206D_202E_206E_200D_202E_206C_206E_202D_206F_200E_200C_202E_200F_206E_206C_200E_202D_202D_202D_206C_202D_206C_206F_202C_206C_202D_202E(); - imDrawListPtr.ChannelsSplit(2); - imDrawListPtr.ChannelsSetCurrent(1); - _200B_202B_200B_200C_202A_200E_206D_200F_206C_206A_206B_200B_200F_202E_200F_200F_200E_206F_206B_206D_200B_206F_200D_200F_206A_206C_200C_206F_206B_206F_202A_202D_202B_206E_202C_200F_206F_200F_200B_206A_202E(vector + new Vector2(6f, 6f)); - if (UiThemeUtils.PillButton(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-978879249), _queueSubTab == 0)) + Vector2 cursorPos = ImGui.GetCursorPos(); + float x = ImGui.GetContentRegionAvail().X; + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + windowDrawList.ChannelsSplit(2); + windowDrawList.ChannelsSetCurrent(1); + ImGui.SetCursorPos(cursorPos + new Vector2(6f, 6f)); + if (UiThemeUtils.PillButton("Manual", _queueSubTab == 0)) { _queueSubTab = 0; } - _202A_206B_202D_206C_206A_200E_202E_202D_206F_200C_206C_206C_206B_206B_202E_202B_202E_206A_206A_200C_202B_200F_200D_202C_202A_206C_202A_206F_206E_206F_200C_200E_200C_200D_206A_202B_206C_200D_200B_202C_202E(); - if (UiThemeUtils.PillButton(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(51775154), _queueSubTab == 1)) + ImGui.SameLine(); + if (UiThemeUtils.PillButton("Saved", _queueSubTab == 1)) { _queueSubTab = 1; } - Vector2 vector2 = _200E_202A_200F_206B_200D_202C_202D_202A_202D_206C_206C_206D_206D_202B_200E_200C_202E_206F_206E_200F_200B_206C_200E_202A_200E_206B_206D_200B_200F_206F_202C_206B_206D_202B_202E_206A_202C_206A_200F_206C_202E(); - imDrawListPtr.ChannelsSetCurrent(0); - _200B_202B_200B_200C_202A_200E_206D_200F_206C_206A_206B_200B_200F_202E_200F_200F_200E_206F_206B_206D_200B_206F_200D_200F_206A_206C_200C_206F_206B_206F_202A_202D_202B_206E_202C_200F_206F_200F_200B_206A_202E(vector); - Vector2 pMin = _200F_202A_200B_202A_206A_200E_206F_202E_200F_200F_206B_206A_206E_206C_200D_200B_202D_206A_202C_206C_206C_200B_200E_200C_206A_206C_200F_206A_206D_206E_206C_200C_200C_206A_202D_200E_200C_206E_200C_202B_202E(); - _200B_202B_200B_200C_202A_200E_206D_200F_206C_206A_206B_200B_200F_202E_200F_200F_200E_206F_206B_206D_200B_206F_200D_200F_206A_206C_200C_206F_206B_206F_202A_202D_202B_206E_202C_200F_206F_200F_200B_206A_202E(new Vector2(vector.X, vector2.Y + 6f - _206F_202E_200D_200F_206C_206D_200D_206C_206B_202D_202B_200F_206C_206A_202C_206F_206D_206D_202A_202D_202A_202E_206F_200B_200B_200D_202E_200D_206C_206C_206B_202B_200C_200D_200D_200B_200D_202C_206D_200F_202E().ItemSpacing.Y)); - Vector2 vector3 = _200F_202A_200B_202A_206A_200E_206F_202E_200F_200F_206B_206A_206E_206C_200D_200B_202D_206A_202C_206C_206C_200B_200E_200C_206A_206C_200F_206A_206D_206E_206C_200C_200C_206A_202D_200E_200C_206E_200C_202B_202E(); - imDrawListPtr.AddRectFilled(pMin, new Vector2(pMin.X + x, vector3.Y), _202C_206E_200D_202D_200E_200D_206B_206F_200F_202B_200B_202A_206F_202E_206E_206D_200C_202C_200C_206C_206D_202D_202D_206F_202A_206D_206B_202A_200C_200B_202D_206A_206D_202C_202D_200E_200F_200B_206A_202A_202E(UiThemeUtils.CardBackgroundColor), 6f); - imDrawListPtr.AddRect(pMin, new Vector2(pMin.X + x, vector3.Y), _202C_206E_200D_202D_200E_200D_206B_206F_200F_202B_200B_202A_206F_202E_206E_206D_200C_202C_200C_206C_206D_202D_202D_206F_202A_206D_206B_202A_200C_200B_202D_206A_206D_202C_202D_200E_200F_200B_206A_202A_202E(UiThemeUtils.CardBorderColor), 6f, ImDrawFlags.None, 1f); - imDrawListPtr.ChannelsMerge(); - _200B_202B_200B_200C_202A_200E_206D_200F_206C_206A_206B_200B_200F_202E_200F_200F_200E_206F_206B_206D_200B_206F_200D_200F_206A_206C_200C_206F_206B_206F_202A_202D_202B_206E_202C_200F_206F_200F_200B_206A_202E(new Vector2(vector.X, vector2.Y + 6f)); + Vector2 cursorPos2 = ImGui.GetCursorPos(); + windowDrawList.ChannelsSetCurrent(0); + ImGui.SetCursorPos(cursorPos); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + ImGui.SetCursorPos(new Vector2(cursorPos.X, cursorPos2.Y + 6f - ImGui.GetStyle().ItemSpacing.Y)); + Vector2 cursorScreenPos2 = ImGui.GetCursorScreenPos(); + windowDrawList.AddRectFilled(cursorScreenPos, new Vector2(cursorScreenPos.X + x, cursorScreenPos2.Y), ImGui.ColorConvertFloat4ToU32(UiThemeUtils.CardBackgroundColor), 6f); + windowDrawList.AddRect(cursorScreenPos, new Vector2(cursorScreenPos.X + x, cursorScreenPos2.Y), ImGui.ColorConvertFloat4ToU32(UiThemeUtils.CardBorderColor), 6f, ImDrawFlags.None, 1f); + windowDrawList.ChannelsMerge(); + ImGui.SetCursorPos(new Vector2(cursorPos.X, cursorPos2.Y + 6f)); UiThemeUtils.SectionSpacing(); - int queueSubTab = _queueSubTab; - int num = ((queueSubTab == 0) ? (-238709594) : (-238709593)); - while (true) + switch (_queueSubTab) { - int num2 = num; - int num3 = -238709594; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return; - case 0: - _manualPriorityComponent.DrawCompact(); - return; - case 3: - _savedPresetsComponent.Draw(); - return; - case 1: - num = ((queueSubTab == 1) ? (-238709595) : (-238709596)); - break; - case 4: - num = -238709593; - break; - } + case 0: + _manualPriorityComponent.DrawCompact(); + break; + case 1: + _savedPresetsComponent.Draw(); + break; } } @@ -475,265 +274,25 @@ internal sealed class QuestWindow : ThemedWindow, IPersistableWindowConfig internal void Reload() { - int num = ((!IsReloading) ? 162401871 : 162401868); - while (true) + if (IsReloading) { - int num2 = num; - int num3 = 162401869; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0046; - case 2: - IsReloading = true; - _206F_200F_202C_206E_202A_200F_206D_202D_200D_202B_202D_202E_200C_206B_202A_206C_202C_202E_206C_200B_200D_200F_202B_206C_206F_206E_200B_202E_200E_200B_202D_200D_206E_202A_200F_206E_200E_200B_202E_200D_202E((System.Action)delegate - { - try - { - _questController.Reload(); - } - finally - { - IsReloading = false; - } - _202C_202C_200F_202B_200C_206E_206A_206C_202D_200C_206D_202E_206B_200C_206D_200B_206F_206E_202A_200F_202D_206C_206E_200C_202C_202C_200F_206A_200B_200F_202C_202A_206F_202C_200C_206E_200D_202C_206C_206B_202E(_framework, (System.Action)delegate - { - _interactionUiController.HandleCurrentDialogueChoices(); - }, TimeSpan.FromMilliseconds(200L), 0, default(CancellationToken)); - }); - return; - case 1: - return; - } - continue; - IL_0046: - num = 162401868; + return; } - } - - static string _206D_206D_202D_200B_202C_206D_200F_200E_200D_206C_206B_206E_202A_202D_200E_202D_206E_202C_202D_206B_200F_206D_200C_206C_202D_200C_202C_200C_202A_202B_202E_200C_202A_206A_206F_202D_200F_200B_206D_202A_202E(Version P_0, int P_1) - { - return P_0.ToString(P_1); - } - - static string _200B_202A_202E_200E_202B_202A_202D_200D_200D_202B_202D_206D_200F_202C_200E_206B_202B_200E_206E_202A_206D_202C_206E_200E_206F_202E_200B_202D_206A_200F_202E_200D_202C_202C_206F_202E_202C_202C_202E_206B_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - void _200F_206E_202D_206A_200F_202C_206C_200D_202E_202A_206E_200E_206E_202C_202B_202C_202E_200F_202B_200C_202D_206B_202B_202B_200B_200E_200C_200C_206E_202A_206A_200D_200D_206F_206C_200B_202C_202A_206F_206C_202E(WindowSizeConstraints? P_0) - { - base.SizeConstraints = P_0; - } - - void _206B_202D_206F_206A_206A_206F_200E_206C_200E_206D_202E_200E_202C_206D_200E_202E_206D_202A_202B_202E_200C_202D_202A_202E_202A_200F_206A_200B_200D_206B_202E_200F_206B_202A_202E_200C_202C_200E_202B_202C_202E(bool P_0) - { - base.RespectCloseHotkey = P_0; - } - - void _202B_202B_200E_202A_202B_200B_206B_202A_206E_206C_202D_200B_206B_200E_206D_206F_206F_200E_200D_200B_206A_206F_206D_206D_202D_206E_202C_206E_206B_202C_202D_200D_206B_200F_202C_200C_202B_202A_206F_200F_202E(bool P_0) - { - base.AllowClickthrough = P_0; - } - - static TitleBarButton _202E_202A_202A_206F_206B_200E_200D_206B_200F_206B_202A_202A_202B_206C_206C_206A_200B_200C_206E_206A_200C_206A_206C_202D_202E_206B_206C_206B_200C_206E_202C_202D_206C_202E_206F_202D_200F_206F_206E_202E() - { - return new TitleBarButton(); - } - - static void _202A_206D_206C_206A_202B_206B_206C_200E_200F_202D_200D_202A_206B_202A_202C_202B_206A_206E_206F_206D_200F_206F_202A_200F_206F_202B_200F_206A_200F_206B_200C_206C_202A_202A_206D_206A_202D_200B_206B_202D_202E(TitleBarButton P_0, FontAwesomeIcon P_1) - { - P_0.Icon = P_1; - } - - static void _200C_206F_200D_200F_200E_200F_202E_200D_200C_200D_200B_202C_200D_202C_206F_206A_206E_200B_202D_200F_202A_202E_200C_200E_206D_200D_202D_206F_206F_206F_202E_206E_202A_200C_200C_206E_206E_200B_202D_206A_202E(TitleBarButton P_0, int P_1) - { - P_0.Priority = P_1; - } - - static void _206B_200F_202D_206E_202E_200B_202C_202C_202A_206E_202C_206E_202A_202E_200E_202E_206D_206C_206C_200B_206F_202A_206D_202B_200F_200E_202D_202D_202B_202B_206A_202B_202E_206B_206B_206B_202E_202D_200C_202C_202E(TitleBarButton P_0, Vector2 P_1) - { - P_0.IconOffset = P_1; - } - - static void _200F_200E_206D_206D_200F_202B_202A_202B_206B_206A_206A_200E_202C_200F_202A_206B_206B_202B_202E_202B_206C_202A_206D_202D_200D_206F_206F_202E_206A_206E_202E_200C_200B_202E_202C_206C_200D_206E_202B_200F_202E(TitleBarButton P_0, Action P_1) - { - P_0.Click = P_1; - } - - static void _202B_200D_206B_200B_202B_202C_200B_206E_206A_200F_200D_202D_206E_206B_200B_202B_202B_200F_206B_202C_200B_206B_200E_206F_202C_200C_202B_200D_202D_200E_206A_206C_206E_202D_200F_206E_206D_202B_200D_206B_202E(TitleBarButton P_0, bool P_1) - { - P_0.AvailableClickthrough = P_1; - } - - List _200C_202B_206F_202B_206F_202B_206D_206D_200D_200D_202C_206A_206B_200E_200C_202C_202C_206A_206F_206D_206B_202A_200E_206E_206D_206A_200F_202E_206A_200C_202E_202C_202D_200F_200E_202E_202D_200C_200B_202B_202E() - { - return base.TitleBarButtons; - } - - static void _200D_206E_202A_200E_202E_202E_202A_206A_206C_202C_200F_206D_202B_206F_200B_202D_200E_200E_200B_206F_202A_206A_202D_200E_206E_200D_200F_206F_206A_202B_200F_202C_200E_202D_206D_202A_200B_200C_202D_202D_202E(TitleBarButton P_0, System.Action P_1) - { - P_0.ShowTooltip = P_1; - } - - static void _200E_200B_202D_200D_202D_206A_202A_206B_200F_202D_200E_202A_206D_202E_202E_200E_206D_206E_202A_206D_200E_206D_206F_206B_206F_202B_206E_200D_206A_206D_200C_206B_202A_200D_200E_206E_200C_206C_206F_206A_202E(IDalamudPluginInterface P_0, IPluginConfiguration P_1) - { - P_0.SavePluginConfig(P_1); - } - - void _200B_206B_202E_206B_202A_200F_200F_202B_200C_202D_202A_206B_202C_202A_206C_202B_206F_202E_206B_200E_206F_200E_206C_206E_200B_200F_206D_200B_206A_200D_200E_200B_200C_202D_202C_200D_202A_202E_202B_202B_202E(bool P_0) - { - base.IsOpen = P_0; - } - - ImGuiWindowFlags _202A_200E_206C_202C_200B_200E_202C_200F_202A_206D_202B_202D_202A_206C_206A_200F_202C_206E_202D_206B_206E_202E_206F_206E_206C_206E_200C_202D_206B_206A_200E_206A_202E_200F_206C_200E_200D_206C_200C_202E() - { - return base.Flags; - } - - void _202D_202E_206F_202A_202E_206B_206B_200E_202C_206C_206B_202E_206D_202A_200D_202D_206F_202A_200E_206A_202A_206B_202B_200D_200B_206E_206D_202E_202E_206F_202E_202D_200F_202D_206A_202A_206E_206E_206E_200D_202E(ImGuiWindowFlags P_0) - { - base.Flags = P_0; - } - - void _200D_200E_206F_200E_202D_206A_206E_202C_206F_206F_202C_200F_200E_206A_206D_206E_202B_200F_200E_206A_202E_202A_200B_200E_200C_202A_206C_206D_206F_202A_202D_206F_200B_206A_206A_202A_202E_200E_206E_206E_202E(bool P_0) - { - base.ShowCloseButton = P_0; - } - - static bool _206C_202D_202E_200E_202A_206B_202B_200E_202D_200D_200F_200D_200E_200F_202E_202E_206C_202D_202B_200D_200D_202B_202A_200D_200B_206F_202D_206C_206E_202C_206C_206E_202C_206D_202E_206B_200E_206A_202B_200F_202E(IClientState P_0) - { - return P_0.IsLoggedIn; - } - - static IPlayerCharacter _200C_200B_206F_206C_202A_202A_202D_200E_202D_206B_200C_202B_200C_206D_200E_202D_202C_200E_200E_200D_202B_200F_202A_206F_206A_202E_206C_200F_202A_206D_206C_206C_206C_202C_202D_202C_200F_202B_202A_200E_202E(IObjectTable P_0) - { - return P_0.LocalPlayer; - } - - static bool _202A_200C_206E_206C_206A_200D_206E_200C_206E_200E_202C_200E_200B_202A_202B_202C_202C_202E_206E_206F_200E_206D_202D_206C_200F_200F_206B_206D_206E_200C_200F_206C_202B_202D_206C_206F_200E_206D_206A_200C_202E(IClientState P_0) - { - return P_0.IsPvPExcludingDen; - } - - static uint _202C_200D_206A_200B_206F_200B_206F_206A_202B_206C_200B_200D_200F_202B_202E_202B_206C_206B_206C_202D_200D_200B_200E_200E_202D_206B_200E_200F_206D_206E_206A_202D_202C_206B_206D_202B_206C_206B_202D_206A_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static IGameObject _200F_202C_206E_206F_200D_202A_206D_206C_200D_206D_200B_200D_202A_206C_200C_200D_200C_206B_206E_202B_206E_202A_206C_202C_206A_206B_200B_200F_206A_200E_202D_200E_200F_206E_202B_202C_206D_202E_200F_206D_202E(IObjectTable P_0, int P_1) - { - return P_0[P_1]; - } - - static RowRef _206E_206F_206F_202C_202A_202C_206A_200E_200C_206A_206A_206A_200C_206D_202B_202C_206E_200C_202A_202C_202E_200C_200E_200D_202E_200C_200D_202D_202C_202A_200C_200B_206A_206C_200F_200F_202D_202A_200C_202D_202E(ICharacter P_0) - { - return P_0.ClassJob; - } - - static bool _200E_206C_202A_206D_202A_200F_202E_202E_206B_200E_200C_206E_206A_206D_202B_206D_206E_206B_200B_202E_202D_202E_202D_200D_200D_206F_202A_206B_206D_206F_206D_206B_202D_202C_200F_206D_202D_206A_206E_200E_202E(EClassJob P_0) - { - return P_0.IsLimitedJob(); - } - - static Vector4 _206C_202B_202D_206D_200B_206E_202B_202E_200C_202A_202A_202C_206E_200B_200E_206D_202C_202C_202E_202D_206D_202B_206F_206C_200E_202C_206B_200C_206D_200D_206B_206B_200F_200D_200C_202D_200C_206E_206A_206D_202E() - { - return ImGuiColors.DalamudYellow; - } - - static string _200F_202E_206F_200B_206E_200B_202A_200F_206F_206C_200B_202E_202E_206B_200D_202A_200B_202C_206E_200F_200F_200D_206D_206C_200E_200C_202E_200D_202D_200D_200D_202E_206A_206A_206F_206B_202B_206B_206D_202E(EClassJob P_0) - { - return P_0.ToFriendlyString(); - } - - static string _206F_200B_200F_200D_202A_200F_200F_200D_202D_200C_202C_200F_200C_206E_200D_206F_202C_200D_202A_200B_200F_206C_202D_200E_206A_206D_202E_200B_206A_206F_206B_206A_200E_200B_206E_202C_202B_206E_200E_206E_202E(string P_0, string P_1) - { - return P_0 + P_1; - } - - static void _200D_202E_202C_200D_200F_202D_202A_200F_200E_200F_200E_200D_202A_206C_202E_206F_206B_202C_202E_206B_200B_206D_202B_206D_206F_202B_202D_202A_206B_202E_206B_200B_202A_206F_202B_206C_206D_200D_206C_206F_202E() - { - ImGui.Separator(); - } - - static Vector4 _202E_202E_200E_206D_200E_200E_206D_200C_202B_206F_206B_200E_200C_202C_202B_200D_202E_200E_200E_206C_206E_202B_200D_200C_200F_200B_200D_200B_200B_206B_202C_206D_200B_206D_200F_200B_206F_206C_200C_206C_202E() - { - return ImGuiColors.DalamudRed; - } - - static string _202B_202C_206F_202A_206E_200E_200B_206C_206E_206D_200F_206A_202B_206B_202D_200E_200E_202B_206F_202D_202D_200B_200B_206F_200F_202B_206E_202C_206A_202B_200B_202B_202E_202D_206D_202C_200C_206D_206E_206A_202E(object P_0) - { - return P_0.ToString(); - } - - static Vector2 _200E_202A_200F_206B_200D_202C_202D_202A_202D_206C_206C_206D_206D_202B_200E_200C_202E_206F_206E_200F_200B_206C_200E_202A_200E_206B_206D_200B_200F_206F_202C_206B_206D_202B_202E_206A_202C_206A_200F_206C_202E() - { - return ImGui.GetCursorPos(); - } - - static Vector2 _200F_202D_206F_202B_200C_202A_202D_200F_200C_200E_206B_202B_206F_202B_200C_206C_206D_202B_202E_206D_206C_202A_206D_206C_206B_206E_202B_202A_206B_200B_202C_200C_200D_206C_202C_202D_200D_202C_206E_202D_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static ImDrawListPtr _202C_206F_200D_206A_200F_200B_200D_200B_200C_202C_202D_200F_206C_200D_206D_202E_206E_200D_202E_206C_206E_202D_206F_200E_200C_202E_200F_206E_206C_200E_202D_202D_202D_206C_202D_206C_206F_202C_206C_202D_202E() - { - return ImGui.GetWindowDrawList(); - } - - static void _200B_202B_200B_200C_202A_200E_206D_200F_206C_206A_206B_200B_200F_202E_200F_200F_200E_206F_206B_206D_200B_206F_200D_200F_206A_206C_200C_206F_206B_206F_202A_202D_202B_206E_202C_200F_206F_200F_200B_206A_202E(Vector2 P_0) - { - ImGui.SetCursorPos(P_0); - } - - static void _202A_206B_202D_206C_206A_200E_202E_202D_206F_200C_206C_206C_206B_206B_202E_202B_202E_206A_206A_200C_202B_200F_200D_202C_202A_206C_202A_206F_206E_206F_200C_200E_200C_200D_206A_202B_206C_200D_200B_202C_202E() - { - ImGui.SameLine(); - } - - static Vector2 _200F_202A_200B_202A_206A_200E_206F_202E_200F_200F_206B_206A_206E_206C_200D_200B_202D_206A_202C_206C_206C_200B_200E_200C_206A_206C_200F_206A_206D_206E_206C_200C_200C_206A_202D_200E_200C_206E_200C_202B_202E() - { - return ImGui.GetCursorScreenPos(); - } - - static ImGuiStylePtr _206F_202E_200D_200F_206C_206D_200D_206C_206B_202D_202B_200F_206C_206A_202C_206F_206D_206D_202A_202D_202A_202E_206F_200B_200B_200D_202E_200D_206C_206C_206B_202B_200C_200D_200D_200B_200D_202C_206D_200F_202E() - { - return ImGui.GetStyle(); - } - - static uint _202C_206E_200D_202D_200E_200D_206B_206F_200F_202B_200B_202A_206F_202E_206E_206D_200C_202C_200C_206C_206D_202D_202D_206F_202A_206D_206B_202A_200C_200B_202D_206A_206D_202C_202D_200E_200F_200B_206A_202A_202E(Vector4 P_0) - { - return ImGui.ColorConvertFloat4ToU32(P_0); - } - - static Task _206F_200F_202C_206E_202A_200F_206D_202D_200D_202B_202D_202E_200C_206B_202A_206C_202C_202E_206C_200B_200D_200F_202B_206C_206F_206E_200B_202E_200E_200B_202D_200D_206E_202A_200F_206E_200E_200B_202E_200D_202E(System.Action P_0) - { - return Task.Run(P_0); - } - - static Type _200E_202C_202E_206A_200E_200E_202C_206C_206D_206F_202A_202E_202B_200F_202E_200E_202D_206E_202B_202A_202D_202A_202A_206A_202D_200E_202E_206F_200F_200D_202E_200E_202E_206A_200F_202C_200C_202B_200F_202A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static Assembly _200F_200C_206F_200E_202A_200C_202C_202A_206B_202A_202B_202E_206B_200B_206B_206B_206B_200F_202A_200F_202C_202A_206D_202B_206F_202B_200E_206E_200E_206F_206A_202C_200D_202A_202E_200B_200B_200C_206A_202D_202E(Type P_0) - { - return P_0.Assembly; - } - - static AssemblyName _200D_206D_200B_200B_202A_206C_200C_206C_202C_200F_206B_202D_202B_200F_206B_202D_206C_202A_202D_206F_200E_202A_202D_202C_202A_202B_200E_206B_202B_206D_200B_206B_206A_202A_202E_202B_200D_206B_200F_200D_202E(Assembly P_0) - { - return P_0.GetName(); - } - - static Version _200C_200D_202D_206E_202B_206D_202C_202C_206C_200C_202A_206B_200B_200B_200D_202A_206C_206B_206B_202A_206E_206E_206A_200F_200B_200C_202D_206A_200D_202C_200E_200F_206D_206A_200C_202E_200F_200E_200F_202A_202E(AssemblyName P_0) - { - return P_0.Version; - } - - static Task _202C_202C_200F_202B_200C_206E_206A_206C_202D_200C_206D_202E_206B_200C_206D_200B_206F_206E_202A_200F_202D_206C_206E_200C_202C_202C_200F_206A_200B_200F_202C_202A_206F_202C_200C_206E_200D_202C_206C_206B_202E(IFramework P_0, System.Action P_1, TimeSpan P_2, int P_3, CancellationToken P_4) - { - return P_0.RunOnTick(P_1, P_2, P_3, P_4); + IsReloading = true; + Task.Run(delegate + { + try + { + _questController.Reload(); + } + finally + { + IsReloading = false; + } + _framework.RunOnTick(delegate + { + _interactionUiController.HandleCurrentDialogueChoices(); + }, TimeSpan.FromMilliseconds(200L)); + }); } } diff --git a/Questionable/Questionable.Windows/SeasonalDutySelectionWindow.cs b/Questionable/Questionable.Windows/SeasonalDutySelectionWindow.cs index 2d0ddb4..34f060e 100644 --- a/Questionable/Questionable.Windows/SeasonalDutySelectionWindow.cs +++ b/Questionable/Questionable.Windows/SeasonalDutySelectionWindow.cs @@ -20,94 +20,6 @@ namespace Questionable.Windows; internal sealed class SeasonalDutySelectionWindow : ThemedWindow { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__16_1; - - public static Func _003C_003E9__16_2; - - public static Func _003C_003E9__16_3; - - internal int _003CDrawDutyTable_003Eb__16_1(SeasonalDutyDefinition d) - { - DateTime? dateTime = _200B_206E_202E_206D_206E_200C_200C_200B_206D_200B_202D_206A_200D_200B_202C_202E_202D_206C_200E_200C_200D_206A_200D_200E_200C_206A_200E_206E_200E_200B_202E_202A_202B_200D_206D_206F_200F_202A_206D_202D_202E(d); - int num = ((!dateTime.HasValue) ? (-962975575) : (-962975576)); - while (true) - { - int num2 = num; - int num3 = -962975574; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return 1; - case 2: - { - DateTime valueOrDefault = dateTime.GetValueOrDefault(); - num = ((!(EventInfoComponent.NormalizeExpiry(valueOrDefault) - DateTime.UtcNow > TimeSpan.Zero)) ? (-962975575) : (-962975573)); - break; - } - case 1: - return 0; - case 0: - num = -962975576; - break; - } - } - } - - internal double _003CDrawDutyTable_003Eb__16_2(SeasonalDutyDefinition d) - { - DateTime? dateTime = _200B_206E_202E_206D_206E_200C_200C_200B_206D_200B_202D_206A_200D_200B_202C_202E_202D_206C_200E_200C_200D_206A_200D_200E_200C_206A_200E_206E_200E_200B_202E_202A_202B_200D_206D_206F_200F_202A_206D_202D_202E(d); - int num = ((!dateTime.HasValue) ? (-1416150355) : (-1416150356)); - TimeSpan timeSpan = default(TimeSpan); - while (true) - { - int num2 = num; - int num3 = -1416150354; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - return double.MaxValue; - case 1: - return timeSpan.TotalSeconds; - case 2: - { - DateTime valueOrDefault = dateTime.GetValueOrDefault(); - timeSpan = EventInfoComponent.NormalizeExpiry(valueOrDefault) - DateTime.UtcNow; - num = ((!(timeSpan > TimeSpan.Zero)) ? (-1416150355) : (-1416150353)); - break; - } - case 0: - num = -1416150356; - break; - } - } - } - - internal string _003CDrawDutyTable_003Eb__16_3(SeasonalDutyDefinition d) - { - return _200F_202B_200D_202C_200E_202C_200C_200D_206E_206E_202C_206F_206D_202E_206F_202D_206C_200C_200E_206E_206B_202E_202A_202D_206B_206B_202D_206F_206F_206C_202C_200D_200B_202B_200D_200D_202A_200E_200D_200E_202E(d); - } - - static DateTime? _200B_206E_202E_206D_206E_200C_200C_200B_206D_200B_202D_206A_200D_200B_202C_202E_202D_206C_200E_200C_200D_206A_200D_200E_200C_206A_200E_206E_200E_200B_202E_202A_202B_200D_206D_206F_200F_202A_206D_202D_202E(SeasonalDutyDefinition P_0) - { - return P_0.EventExpiry; - } - - static string _200F_202B_200D_202C_200E_202C_200C_200D_206E_206E_202C_206F_206D_202E_206F_202D_206C_200C_200E_206E_206B_202E_202A_202D_206B_206B_202D_206F_206F_206C_202C_200D_200B_202B_200D_200D_202A_200E_200D_200E_202E(SeasonalDutyDefinition P_0) - { - return P_0.Name; - } - } - private readonly SeasonalDutyController _seasonalDutyController; private readonly SeasonalDutyDefinitionRegistry _seasonalDutyDefinitionRegistry; @@ -132,9 +44,8 @@ internal sealed class SeasonalDutySelectionWindow : ThemedWindow private string _searchText = string.Empty; - [MethodImpl(MethodImplOptions.NoInlining)] public SeasonalDutySelectionWindow(SeasonalDutyController seasonalDutyController, SeasonalDutyDefinitionRegistry seasonalDutyDefinitionRegistry, QuestController questController, FateController fateController, CustomDeliveryController customDeliveryController, AttunementController attunementController, MovementController movementController, QuestFunctions questFunctions, QuestData questData, TerritoryData territoryData) - : base(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1301104720)) + : base("Seasonal Duty Farming###QuestionableSeasonalDutyFarming") { _seasonalDutyController = seasonalDutyController; _seasonalDutyDefinitionRegistry = seasonalDutyDefinitionRegistry; @@ -146,1179 +57,318 @@ internal sealed class SeasonalDutySelectionWindow : ThemedWindow _questFunctions = questFunctions; _questData = questData; _territoryData = territoryData; - _206A_202B_200C_202B_206D_200C_200E_202B_206F_200D_206E_200D_202A_200E_202E_202C_206D_206A_206E_202A_202B_202B_206C_202A_202D_206C_202E_202E_202E_202A_202E_206C_200E_202C_200D_200B_200C_206E_202C_202E_202E((Vector2?)new Vector2(600f, 400f)); - _206D_200E_200D_200C_206B_202E_206B_200B_206E_200B_200B_206B_200D_200B_202D_200B_202D_202C_200C_200E_200D_202A_200F_200F_206F_202C_202C_200F_206B_206E_202B_200B_200B_206F_202A_202D_202D_200B_200D_202A_202E(ImGuiCond.FirstUseEver); - _200D_200F_206D_206D_200D_206B_206E_202A_206B_206A_202B_206D_206C_202A_206A_206F_200C_202B_206F_202B_202A_202B_206F_202B_206A_202D_200F_206E_202B_202B_200F_200F_206C_206A_200E_206B_200F_202B_206A_200F_202E((WindowSizeConstraints?)new WindowSizeConstraints + base.Size = new Vector2(600f, 400f); + base.SizeCondition = ImGuiCond.FirstUseEver; + base.SizeConstraints = new WindowSizeConstraints { MinimumSize = new Vector2(500f, 300f), MaximumSize = new Vector2(900f, 700f) - }); + }; } - [MethodImpl(MethodImplOptions.NoInlining)] public override void DrawContent() { - int num = ((!_seasonalDutyController.IsRunning) ? 1348613692 : 1348613689); - while (true) + if (_seasonalDutyController.IsRunning) { - int num2 = num; - int num3 = 1348613692; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (CycleSelectionUi.DrawRunningBanner(BuildRunningStatusText(), UiThemeUtils.StatusComplete, FontAwesomeIcon.Play)) { - case 6: - UiThemeUtils.SectionSpacing(); - var (contentStartPos2, availableWidth2, drawList2) = UiThemeUtils.BeginCard(); - UiThemeUtils.SectionHeader(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1468901459)); - UiThemeUtils.SearchInput(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(1363394088), ref _searchText, -13f, 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(1658460666)); - _200D_206C_200D_206A_200D_202D_202E_202B_206F_202D_200F_200C_200E_202B_202D_200E_202E_206B_202E_206D_202E_206A_200E_200B_206B_202D_200B_202D_206C_202C_200E_206E_206F_206E_206D_206B_206C_200D_206A_200D_202E(); - DrawDutyTable(); - UiThemeUtils.EndCard(contentStartPos2, availableWidth2, drawList2); - return; - case 1: - UiThemeUtils.EmptyState(FontAwesomeIcon.Leaf, 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(937132145), 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(-1122952698)); - return; - case 2: - _seasonalDutyController.Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-271672975)); + _seasonalDutyController.Stop("UI stop"); _movementController.Stop(); - num = 1348613688; - break; - case 5: - num = ((!CycleSelectionUi.DrawRunningBanner(BuildRunningStatusText(), UiThemeUtils.StatusComplete, FontAwesomeIcon.Play)) ? 1348613688 : 1348613694); - break; - case 4: - num = ((_seasonalDutyDefinitionRegistry.Definitions.Count != 0) ? 1348613690 : 1348613693); - break; - case 0: - var (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); - UiThemeUtils.SectionHeader(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1066068262)); - DrawControlsStrip(); - UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); - num = 1348613688; - break; - case 3: - num = 1348613689; - break; } } + else + { + var (contentStartPos, availableWidth, drawList) = UiThemeUtils.BeginCard(); + UiThemeUtils.SectionHeader("Cycle Configuration"); + DrawControlsStrip(); + UiThemeUtils.EndCard(contentStartPos, availableWidth, drawList); + } + if (_seasonalDutyDefinitionRegistry.Definitions.Count == 0) + { + UiThemeUtils.EmptyState(FontAwesomeIcon.Leaf, "No Seasonal Duty Definitions", "Add definitions to the SeasonalDutyPaths folder to get started."); + return; + } + UiThemeUtils.SectionSpacing(); + var (contentStartPos2, availableWidth2, drawList2) = UiThemeUtils.BeginCard(); + UiThemeUtils.SectionHeader("Duty List"); + UiThemeUtils.SearchInput("##SeasonalDutySearch", ref _searchText, -13f, "Search duties..."); + ImGui.Spacing(); + DrawDutyTable(); + UiThemeUtils.EndCard(contentStartPos2, availableWidth2, drawList2); } - [MethodImpl(MethodImplOptions.NoInlining)] private string BuildRunningStatusText() { - int num = (_seasonalDutyController.CycleLimit.HasValue ? 1202243472 : 1202243479); - IList remainingTaskNames = default(IList); - string value = default(string); - string value2 = default(string); - string value3 = default(string); - string text = default(string); - while (true) + string value = (_seasonalDutyController.CycleLimit.HasValue ? $"Cycle {_seasonalDutyController.CompletedCycles + 1} / {_seasonalDutyController.CycleLimit}" : $"Cycle {_seasonalDutyController.CompletedCycles + 1}"); + string value2 = FormatElapsed(_seasonalDutyController.ElapsedTime); + IList remainingTaskNames = _seasonalDutyController.GetRemainingTaskNames(); + string text = ((remainingTaskNames.Count > 0) ? remainingTaskNames[0] : ""); + string name = _seasonalDutyController.CurrentDuty.Name; + if (text.Length > 0) { - int num2 = num; - int num3 = 1202243477; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - string text3; - string text2; - switch (num5 - (num6 + num6)) - { - case 4: - text3 = remainingTaskNames[0]; - goto IL_0076; - case 2: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler4 = new DefaultInterpolatedStringHandler(6, 1); - defaultInterpolatedStringHandler4.AppendLiteral(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(-1745458759)); - defaultInterpolatedStringHandler4.AppendFormatted(_seasonalDutyController.CompletedCycles + 1); - text2 = defaultInterpolatedStringHandler4.ToStringAndClear(); - goto IL_01c0; - } - case 3: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(10, 3); - defaultInterpolatedStringHandler3.AppendFormatted(value); - defaultInterpolatedStringHandler3.AppendLiteral(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(-2010167156)); - defaultInterpolatedStringHandler3.AppendFormatted(value2); - defaultInterpolatedStringHandler3.AppendLiteral(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(-2010167156)); - defaultInterpolatedStringHandler3.AppendFormatted(value3); - return defaultInterpolatedStringHandler3.ToStringAndClear(); - } - case 1: - text3 = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1281927779); - goto IL_0076; - case 6: - num = 1202243479; - break; - case 5: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(9, 2); - defaultInterpolatedStringHandler2.AppendLiteral(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(1757472156)); - defaultInterpolatedStringHandler2.AppendFormatted(_seasonalDutyController.CompletedCycles + 1); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1534070043)); - defaultInterpolatedStringHandler2.AppendFormatted(_seasonalDutyController.CycleLimit); - text2 = defaultInterpolatedStringHandler2.ToStringAndClear(); - goto IL_01c0; - } - case 0: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(15, 4); - defaultInterpolatedStringHandler.AppendFormatted(value); - defaultInterpolatedStringHandler.AppendLiteral(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(-930966885)); - defaultInterpolatedStringHandler.AppendFormatted(value2); - defaultInterpolatedStringHandler.AppendLiteral(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(-2010167156)); - defaultInterpolatedStringHandler.AppendFormatted(value3); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1090853622)); - defaultInterpolatedStringHandler.AppendFormatted(text); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - IL_01c0: - value2 = text2; - value3 = FormatElapsed(_seasonalDutyController.ElapsedTime); - remainingTaskNames = _seasonalDutyController.GetRemainingTaskNames(); - num = ((remainingTaskNames.Count > 0) ? 1202243473 : 1202243476); - break; - IL_0076: - text = text3; - value = _200F_200B_200F_200D_202A_202A_206C_202C_202A_202D_200D_200E_202D_200D_200F_202D_200B_200D_202B_202A_200F_206A_200F_206E_206E_202E_200E_202E_206E_202C_202E_206C_202E_206A_202E_206A_202A_202E_200D_200D_202E(_seasonalDutyController.CurrentDuty); - num = ((_200F_206A_206C_200D_200C_206A_200F_202E_202E_206B_200F_202A_206B_202A_200F_202D_202B_206B_202C_200D_200E_202E_206A_202E_200C_206D_200C_202B_200E_200F_202A_206F_202E_202A_200D_206A_206C_206A_206B_202B_202E(text) > 0) ? 1202243477 : 1202243478); - break; - } + return $"{name} · {value} · {value2} · {text}"; } + return $"{name} · {value} · {value2}"; } - [MethodImpl(MethodImplOptions.NoInlining)] private void DrawControlsStrip() { - ImRaii.DisabledDisposable disabledDisposable = _206E_202C_200C_200C_202C_206D_206E_202E_206E_200D_202A_200E_200C_206C_202E_202B_202D_206D_200F_202C_200C_200C_206B_200F_206E_202A_206B_200D_202E_206B_200E_202B_202E_200D_206A_200F_206E_200D_200E_206F_202E(_seasonalDutyController.IsRunning); - try + using (ImRaii.Disabled(_seasonalDutyController.IsRunning)) { - _206A_200F_206F_206D_206C_200C_206F_202E_206C_206E_202A_200E_200F_206F_202B_206E_202A_206F_200F_206F_202A_200E_202A_206B_202E_206E_202B_206C_200B_202B_202E_206C_200C_206B_206E_200E_200B_206B_202C_206C_202E(); - _200B_202C_206B_202C_202B_206B_200B_202B_206D_200E_202A_202D_202C_206A_206C_206E_200F_200C_200F_202C_206D_206D_202D_206E_206E_202B_206C_206B_202B_200C_202A_206C_202E_202C_202C_200C_206B_202E_206E_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(671135877)); - _202C_206F_206D_206A_202E_206D_202C_202B_206A_200D_206F_202C_206F_202C_206F_206F_206F_200E_202E_206F_200B_200F_206A_206A_200E_200C_200C_200F_206F_202B_206B_200B_202A_200C_206D_200D_200B_202D_206B_206A_202E(); - _202B_200F_206F_202D_206C_200B_202E_202D_200E_200D_200C_200F_202B_206F_200F_200B_200D_200C_200C_202E_206B_206A_202C_200B_200D_206D_200C_202A_202C_202D_200D_202B_202E_206D_206F_206B_206C_202C_202C_202C_202E(100f * _206D_200C_200B_202B_206F_206B_206D_202C_200E_200C_202A_206D_202A_202E_202D_200B_200D_202A_200C_206E_206A_202E_206E_200E_206D_206C_206B_200D_202B_206D_202E_206A_200B_206A_200C_200F_202E_206E_200D_200E_202E().FontGlobalScale); - _206A_200D_202B_200C_206B_200E_200C_206F_206F_202B_206A_200D_200F_200B_206C_200C_200D_206D_202A_202E_200E_200D_206C_206F_206B_206E_202D_206E_206F_206A_200E_200C_206D_206B_200F_202E_206B_202D_200C_206B_202E((ImU8String)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(-635900307), ref _cycleLimit, 1, 5, default(ImU8String), ImGuiInputTextFlags.None); - int num = ((_cycleLimit >= 0) ? 518935080 : 518935081); - while (true) + ImGui.AlignTextToFramePadding(); + ImGui.TextUnformatted("Cycles:"); + ImGui.SameLine(); + ImGui.SetNextItemWidth(100f * ImGui.GetIO().FontGlobalScale); + ImGui.InputInt("##CycleLimit", ref _cycleLimit, 1, 5); + if (_cycleLimit < 0) { - int num2 = num; - int num3 = 518935080; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 518935081; - break; - case 1: - _cycleLimit = 0; - num = 518935080; - break; - case 0: - _202C_206F_206D_206A_202E_206D_202C_202B_206A_200D_206F_202C_206F_202C_206F_206F_206F_200E_202E_206F_200B_200F_206A_206A_200E_200C_200C_200F_206F_202B_206B_200B_202A_200C_206D_200D_200B_202D_206B_206A_202E(); - _206A_202A_206E_206E_202E_206C_202B_200B_202A_202D_200E_200D_206A_200C_206C_200E_200F_200C_206A_202A_200D_202B_202D_206A_200E_202E_202D_206A_202B_206A_200D_200C_202D_206D_206B_206D_206E_200E_200B_202C_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)((_cycleLimit == 0) ? global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(819549442) : global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1694032531))); - goto end_IL_0091; - } - continue; - end_IL_0091: - break; + _cycleLimit = 0; } + ImGui.SameLine(); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, (_cycleLimit == 0) ? "(unlimited)" : ""); } - finally - { - int num = ((disabledDisposable == null) ? (-2128582760) : (-2128582757)); - while (true) - { - int num7 = num; - int num3 = -2128582758; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 2: - goto end_IL_0134; - case 1: - _202E_200C_202A_200E_206B_200C_202A_206B_206C_202C_200E_202A_206D_200C_202B_206E_206A_206A_200E_206A_200E_200D_206D_202E_206F_200F_206D_206E_200B_206C_206B_200B_202D_206E_200C_200B_200F_202C_200E_202B_202E((IDisposable)disabledDisposable); - num = -2128582760; - break; - case 0: - num = -2128582757; - break; - } - continue; - end_IL_0134: - break; - } - } - _200D_206C_200D_206A_200D_202D_202E_202B_206F_202D_200F_200C_200E_202B_202D_200E_202E_206B_202E_206D_202E_206A_200E_200B_206B_202D_200B_202D_206C_202C_200E_206E_206F_206E_206D_206B_206C_200D_206A_200D_202E(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private void DrawDutyTable() - { - IEnumerable source = _seasonalDutyDefinitionRegistry.Definitions.Values; - int num = (_200D_202E_202B_206C_200F_202D_202A_200F_206B_200E_202A_206A_200B_202B_200E_202B_200B_206C_200B_206A_206E_200F_206A_200B_206C_200C_206A_202C_200F_200F_202C_200D_202A_200B_200E_202D_200D_200C_202A_206A_202E(_searchText) ? 753052023 : 753052018); - List list = default(List); - SeasonalDutyDefinition current = default(SeasonalDutyDefinition); - bool flag = default(bool); - while (true) - { - int num2 = num; - int num3 = 753052019; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - list = source.OrderBy(delegate(SeasonalDutyDefinition d) - { - DateTime? dateTime = _003C_003Ec._200B_206E_202E_206D_206E_200C_200C_200B_206D_200B_202D_206A_200D_200B_202C_202E_202D_206C_200E_200C_200D_206A_200D_200E_200C_206A_200E_206E_200E_200B_202E_202A_202B_200D_206D_206F_200F_202A_206D_202D_202E(d); - int num11 = ((!dateTime.HasValue) ? (-962975575) : (-962975576)); - while (true) - { - int num12 = num11; - int num13 = -962975574; - int num14 = num12; - switch ((num14 | num13) - (num14 & num13)) - { - case 3: - return 1; - case 2: - { - DateTime valueOrDefault = dateTime.GetValueOrDefault(); - num11 = ((!(EventInfoComponent.NormalizeExpiry(valueOrDefault) - DateTime.UtcNow > TimeSpan.Zero)) ? (-962975575) : (-962975573)); - break; - } - case 1: - return 0; - case 0: - num11 = -962975576; - break; - } - } - }).ThenBy(delegate(SeasonalDutyDefinition d) - { - DateTime? dateTime = _003C_003Ec._200B_206E_202E_206D_206E_200C_200C_200B_206D_200B_202D_206A_200D_200B_202C_202E_202D_206C_200E_200C_200D_206A_200D_200E_200C_206A_200E_206E_200E_200B_202E_202A_202B_200D_206D_206F_200F_202A_206D_202D_202E(d); - int num11 = ((!dateTime.HasValue) ? (-1416150355) : (-1416150356)); - TimeSpan timeSpan = default(TimeSpan); - while (true) - { - int num12 = num11; - int num13 = -1416150354; - int num14 = num12; - int num15 = num14 + num13; - int num16 = num14 & num13; - switch (num15 - (num16 + num16)) - { - case 3: - return double.MaxValue; - case 1: - return timeSpan.TotalSeconds; - case 2: - { - DateTime valueOrDefault = dateTime.GetValueOrDefault(); - timeSpan = EventInfoComponent.NormalizeExpiry(valueOrDefault) - DateTime.UtcNow; - num11 = ((!(timeSpan > TimeSpan.Zero)) ? (-1416150355) : (-1416150353)); - break; - } - case 0: - num11 = -1416150356; - break; - } - } - }).ThenBy((SeasonalDutyDefinition d) => _003C_003Ec._200F_202B_200D_202C_200E_202C_200C_200D_206E_206E_202C_206F_206D_202E_206F_202D_206C_200C_200E_206E_206B_202E_202A_202D_206B_206B_202D_206F_206F_206C_202C_200D_200B_202B_200D_200D_202A_200E_200D_200E_202E(d), _200F_202E_202D_206F_206E_202B_206E_206E_206F_200D_202D_206E_202D_202D_202D_206B_202C_202B_206C_202A_202C_202C_202D_202D_206E_200C_206D_200E_202E_200E_206A_206B_206C_200C_206C_200C_200F_206F_202A_202B_202E()) - .ToList(); - num = ((list.Count != 0) ? 753052017 : 753052019); - break; - case 0: - UiThemeUtils.EmptyState(FontAwesomeIcon.Search, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-469285537)); - return; - case 3: - num = 753052018; - break; - case 1: - source = source.Where(delegate(SeasonalDutyDefinition d) - { - int num11 = (_202B_202C_202B_202A_206B_206A_202C_206D_200E_206D_206C_202C_202D_202C_206A_206C_202C_206F_200C_206F_206F_206A_200B_200D_206A_206B_206D_200E_202E_202C_202C_202B_206F_206B_200B_200E_206A_200E_206D_200E_202E(_200F_200B_200F_200D_202A_202A_206C_202C_202A_202D_200D_200E_202D_200D_200F_202D_200B_200D_202B_202A_200F_206A_200F_206E_206E_202E_200E_202E_206E_202C_202E_206C_202E_206A_202E_206A_202A_202E_200D_200D_202E(d), _searchText, StringComparison.OrdinalIgnoreCase) ? (-1276863877) : (-1276863880)); - while (true) - { - int num12 = num11; - int num13 = -1276863879; - int num14 = num12; - switch ((num14 | num13) - (num14 & num13)) - { - case 0: - goto IL_0052; - case 2: - return true; - case 1: - return _202B_202C_202B_202A_206B_206A_202C_206D_200E_206D_206C_202C_202D_202C_206A_206C_202C_206F_200C_206F_206F_206A_200B_200D_206A_206B_206D_200E_202E_202C_202C_202B_206F_206B_200B_200E_206A_200E_206D_200E_202E(_territoryData.GetName(_200B_202C_206D_200F_200F_200C_206C_200E_200C_206A_200F_206C_200D_200F_206E_200D_206C_202E_200E_202B_200B_206F_206F_206A_206A_200F_206F_200B_206D_200E_200E_200F_202B_200C_200B_206B_206A_200D_200E_202B_202E(d)) ?? _200F_200B_200F_200D_202A_202A_206C_202C_202A_202D_200D_200E_202D_200D_200F_202D_200B_200D_202B_202A_200F_206A_200F_206E_206E_202E_200E_202E_206E_202C_202E_206C_202E_206A_202E_206A_202A_202E_200D_200D_202E(d), _searchText, StringComparison.OrdinalIgnoreCase); - } - continue; - IL_0052: - num11 = -1276863880; - } - }); - num = 753052023; - break; - case 2: - { - using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable(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(1054347422), 4, ImGuiTableFlags.SizingStretchProp | ImGuiTableFlags.ScrollY); - num = ((!(!tableDisposable)) ? 537187736 : 537187737); - while (true) - { - int num7 = num; - num3 = 537187736; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_01b9; - case 1: - return; - case 0: - { - _202A_206D_206D_202D_202B_206E_206D_206A_206F_200E_200B_200E_206B_206E_206E_202A_202B_202C_206D_202A_200B_202E_206C_200D_200B_206A_206A_202A_200C_206B_200E_206A_202C_200D_200F_200E_206E_206A_206B_200C_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1033927912), ImGuiTableColumnFlags.None, 3f, 0u); - _202A_206D_206D_202D_202B_206E_206D_206A_206F_200E_200B_200E_206B_206E_206E_202A_202B_202C_206D_202A_200B_202E_206C_200D_200B_206A_206A_202A_200C_206B_200E_206A_202C_200D_200F_200E_206E_206A_206B_200C_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1292973020), ImGuiTableColumnFlags.None, 2f, 0u); - _202A_206D_206D_202D_202B_206E_206D_206A_206F_200E_200B_200E_206B_206E_206E_202A_202B_202C_206D_202A_200B_202E_206C_200D_200B_206A_206A_202A_200C_206B_200E_206A_202C_200D_200F_200E_206E_206A_206B_200C_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1413203702), ImGuiTableColumnFlags.WidthFixed, 80f, 0u); - _202A_206D_206D_202D_202B_206E_206D_206A_206F_200E_200B_200E_206B_206E_206E_202A_202B_202C_206D_202A_200B_202E_206C_200D_200B_206A_206A_202A_200C_206B_200E_206A_202C_200D_200F_200E_206E_206A_206B_200C_202E((ImU8String)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(-968495481), ImGuiTableColumnFlags.WidthFixed, 30f, 0u); - _202D_200D_206D_202D_202A_200E_202E_206B_206F_206F_202E_202D_206F_202D_200E_200B_202C_206A_200B_200F_206C_200D_202A_200E_206C_202A_200D_200F_202A_206D_202B_202E_202D_206E_200E_200F_202A_206B_206C_206A_202E(); - using List.Enumerator enumerator = list.GetEnumerator(); - num = 647459540; - while (true) - { - int num8 = num; - num3 = 647459542; - num4 = num8; - int num9; - int num10; - bool disabled; - switch ((num4 | num3) - (num4 & num3)) - { - case 8: - num9 = 1; - goto IL_02af; - case 1: - _202E_200B_206A_206E_206C_202C_206C_206B_202A_206C_200E_202E_202B_200C_202D_202C_202D_200F_202D_200D_206A_200F_202E_206A_200B_206D_202E_200C_206E_202B_206D_202D_206D_200D_206C_200D_202E_202A_202E_200F_202E(); - DrawDutyRowName(current, flag); - _202E_200B_206A_206E_206C_202C_206C_206B_202A_206C_200E_202E_202B_200C_202D_202C_202D_200F_202D_200D_206A_200F_202E_206A_200B_206D_202E_200C_206E_202B_206D_202D_206D_200D_206C_200D_202E_202A_202E_200F_202E(); - _200B_202C_206B_202C_202B_206B_200B_202B_206D_200E_202A_202D_202C_206A_206C_206E_200F_200C_200F_202C_206D_206D_202D_206E_206E_202B_206C_206B_202B_200C_202A_206C_202E_202C_202C_200C_206B_202E_206E_202E((ImU8String)(_territoryData.GetName(_200B_202C_206D_200F_200F_200C_206C_200E_200C_206A_200F_206C_200D_200F_206E_200D_206C_202E_200E_202B_200B_206F_206F_206A_206A_200F_206F_200B_206D_200E_200E_200F_202B_200C_200B_206B_206A_200D_200E_202B_202E(current)) ?? _200F_200B_200F_200D_202A_202A_206C_202C_202A_202D_200D_200E_202D_200D_200F_202D_200B_200D_202B_202A_200F_206A_200F_206E_206E_202E_200E_202E_206E_202C_202E_206C_202E_206A_202E_206A_202A_202E_200D_200D_202E(current))); - _202E_200B_206A_206E_206C_202C_206C_206B_202A_206C_200E_202E_202B_200C_202D_202C_202D_200F_202D_200D_206A_200F_202E_206A_200B_206D_202E_200C_206E_202B_206D_202D_206D_200D_206C_200D_202E_202A_202E_200F_202E(); - DrawDutyRowExpiry(current); - _202E_200B_206A_206E_206C_202C_206C_206B_202A_206C_200E_202E_202B_200C_202D_202C_202D_200F_202D_200D_206A_200F_202E_206A_200B_206D_202E_200C_206E_202B_206D_202D_206D_200D_206C_200D_202E_202A_202E_200F_202E(); - num = (_seasonalDutyController.IsRunning ? 647459550 : 647459542); - break; - case 12: - num9 = ((_questController.AutomationType != QuestController.EAutomationType.Manual) ? 1 : 0); - goto IL_02af; - case 9: - num = (_customDeliveryController.IsRunning ? 647459550 : 647459539); - break; - case 2: - num = (enumerator.MoveNext() ? 647459541 : 647459536); - break; - case 10: - num10 = 0; - goto IL_03ae; - case 11: - num10 = ((_seasonalDutyController.CurrentDuty == current) ? 1 : 0); - goto IL_03ae; - case 5: - num = (_attunementController.IsRunning ? 647459550 : 647459546); - break; - case 3: - current = enumerator.Current; - _206E_206E_202E_202B_200F_202E_206A_200D_202A_202E_202A_206F_202D_200E_202A_202A_200C_202C_206A_206A_206F_200F_200F_206A_206D_202C_206B_202B_206F_202B_202C_202B_206E_202E_200B_206E_202D_200C_206C_206D_202E(); - num = ((!_seasonalDutyController.IsRunning) ? 647459548 : 647459549); - break; - case 7: - num = 647459540; - break; - case 4: - _202A_206D_200F_200E_202B_200B_200B_202E_200F_200D_206F_200F_206A_206A_206F_206C_206A_200C_206E_206C_206C_202E_200C_200C_206D_200C_206F_202A_202A_202D_206A_206C_206D_202A_202A_202C_200D_206F_200F_202E(ImGuiTableBgTarget.RowBg0, _200D_202A_200D_200C_202D_200F_206A_206F_206D_200C_202A_206C_200C_200D_202D_202B_202B_206F_206D_202B_206E_202E_200C_200F_200D_200E_202E_206F_206B_202D_206A_206D_206E_200D_202C_206D_200D_202E_202A_200F_202E(UiThemeUtils.AccentDimColor)); - num = 647459543; - break; - case 0: - num = (_fateController.IsRunning ? 647459550 : 647459551); - break; - case 6: - return; - IL_02af: - disabled = (byte)num9 != 0; - DrawDutyRowActions(current, disabled); - num = 647459540; - break; - IL_03ae: - flag = (byte)num10 != 0; - num = ((!flag) ? 647459543 : 647459538); - break; - } - } - } - } - continue; - IL_01b9: - num = 537187737; - } - } - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private void DrawDutyRowName(SeasonalDutyDefinition duty, bool isActive) - { - int num = ((!isActive) ? 42379112 : 42379118); - TimeSpan timeSpan = default(TimeSpan); - while (true) - { - int num2 = num; - int num3 = 42379114; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = 42379118; - break; - case 2: - _200B_202C_206B_202C_202B_206B_200B_202B_206D_200E_202A_202D_202C_206A_206C_206E_200F_200C_200F_202C_206D_206D_202D_206E_206E_202B_206C_206B_202B_200C_202A_206C_202E_202C_202C_200C_206B_202E_206E_202E((ImU8String)_200F_200B_200F_200D_202A_202A_206C_202C_202A_202D_200D_200E_202D_200D_200F_202D_200B_200D_202B_202A_200F_206A_200F_206E_206E_202E_200E_202E_206E_202C_202E_206C_202E_206A_202E_206A_202A_202E_200D_200D_202E(duty)); - num = 42379114; - break; - case 0: - if (_200E_206A_206D_200E_206A_202B_202A_202D_202A_202B_202D_200F_200B_200D_200C_206E_206D_200D_206F_200D_206F_206A_206E_200F_206A_202E_202C_200B_206A_200F_200F_202E_202C_200E_202B_200D_206F_200E_200F_200E_202E()) - { - num = 42379115; - break; - } - return; - case 4: - _206A_202A_206E_206E_202E_206C_202B_200B_202A_202D_200E_200D_206A_200C_206C_200E_200F_200C_206A_202A_200D_202B_202D_206A_200E_202E_202D_206A_202B_206A_200D_200C_202D_206D_206B_206D_206E_200E_200B_202C_202E(ref UiThemeUtils.AccentColor, (ImU8String)_200F_200B_200F_200D_202A_202A_206C_202C_202A_202D_200D_200E_202D_200D_200F_202D_200B_200D_202B_202A_200F_206A_200F_206E_206E_202E_200E_202E_206E_202C_202E_206C_202E_206A_202E_206A_202A_202E_200D_200D_202E(duty)); - num = 42379114; - break; - case 1: - using (_200D_202B_202C_200D_206D_206F_206F_202A_200F_206B_202D_206C_206E_202B_200D_200B_206F_202A_206F_200C_206C_206C_200C_202B_202E_202D_202E_206D_202E_206C_200F_202D_200F_202D_206F_200C_206C_200C_206C_206F_202E()) - { - _206A_202A_206E_206E_202E_206C_202B_200B_202A_202D_200E_200D_206A_200C_206C_200E_200F_200C_206A_202A_200D_202B_202D_206A_200E_202E_202D_206A_202B_206A_200D_200C_202D_206D_206B_206D_206E_200E_200B_202C_202E(ref UiThemeUtils.PrimaryTextColor, (ImU8String)_200F_200B_200F_200D_202A_202A_206C_202C_202A_202D_200D_200E_202D_200D_200F_202D_200B_200D_202B_202A_200F_206A_200F_206E_206E_202E_200E_202E_206E_202C_202E_206C_202E_206A_202E_206A_202A_202E_200D_200D_202E(duty)); - _206E_200C_200D_200F_200C_200F_200C_202B_200B_206A_206B_200B_200F_200E_206B_202C_200B_206D_206C_202A_200C_202A_206B_200C_206C_202D_200C_200E_202D_202C_202C_200C_202C_206A_200C_202B_206A_200E_206F_200F_202E(); - _200D_206C_200D_206A_200D_202D_202E_202B_206F_202D_200F_200C_200E_202B_202D_200E_202E_206B_202E_206D_202E_206A_200E_200B_206B_202D_200B_202D_206C_202C_200E_206E_206F_206E_206D_206B_206C_200D_206A_200D_202E(); - string nameAndId = _territoryData.GetNameAndId(_200B_202C_206D_200F_200F_200C_206C_200E_200C_206A_200F_206C_200D_200F_206E_200D_206C_202E_200E_202B_200B_206F_206F_206A_206A_200F_206F_200B_206D_200E_200E_200F_202B_200C_200B_206B_206A_200D_200E_202B_202E(duty)); - ImU8String imU8String = new ImU8String(6, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(171735185)); - imU8String.AppendFormatted(nameAndId); - _206A_202A_206E_206E_202E_206C_202B_200B_202A_202D_200E_200D_206A_200C_206C_200E_200F_200C_206A_202A_200D_202B_202D_206A_200E_202E_202D_206A_202B_206A_200D_200C_202D_206D_206B_206D_206E_200E_200B_202C_202E(ref UiThemeUtils.DimTextColor, imU8String); - DateTime? dateTime = _200E_202B_206C_202C_206F_202B_206C_202C_206A_200C_206F_202D_200B_200D_202D_202E_206D_206D_200E_206F_200D_202B_200B_206B_206B_206C_206B_206A_206F_202E_206A_206A_206F_202E_202C_202B_200D_200D_202E_202B_202E(duty); - num = ((!dateTime.HasValue) ? 496107524 : 496107525); - while (true) - { - int num5 = num; - num3 = 496107524; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 2: - num = 496107525; - break; - case 3: - { - string text = EventInfoComponent.FormatRemainingFull(timeSpan); - _206A_202A_206E_206E_202E_206C_202B_200B_202A_202D_200E_200D_206A_200C_206C_200E_200F_200C_206A_202A_200D_202B_202D_206A_200E_202E_202D_206A_202B_206A_200D_200C_202D_206D_206B_206D_206E_200E_200B_202C_202E(ref UiThemeUtils.StatusActive, (ImU8String)text); - num = 496107524; - break; - } - case 1: - { - DateTime valueOrDefault = dateTime.GetValueOrDefault(); - timeSpan = EventInfoComponent.NormalizeExpiry(valueOrDefault) - DateTime.UtcNow; - num = ((!(timeSpan > TimeSpan.Zero)) ? 496107524 : 496107527); - break; - } - case 0: - return; - } - } - } - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private static void DrawDutyRowExpiry(SeasonalDutyDefinition duty) - { - DateTime? dateTime = _200E_202B_206C_202C_206F_202B_206C_202C_206A_200C_206F_202D_200B_200D_202D_202E_206D_206D_200E_206F_200D_202B_200B_206B_206B_206C_206B_206A_206F_202E_206A_206A_206F_202E_202C_202B_200D_200D_202E_202B_202E(duty); - int num = ((!dateTime.HasValue) ? 276378103 : 276378100); - TimeSpan timeSpan = default(TimeSpan); - string text = default(string); - while (true) - { - int num2 = num; - int num3 = 276378101; - int num4 = num2; - Vector4 vector; - Vector4 vector2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - _206A_202A_206E_206E_202E_206C_202B_200B_202A_202D_200E_200D_206A_200C_206C_200E_200F_200C_206A_202A_200D_202B_202D_206A_200E_202E_202D_206A_202B_206A_200D_200C_202D_206D_206B_206D_206E_200E_200B_202C_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1934465221)); - return; - case 6: - vector = UiThemeUtils.DimTextColor; - goto IL_00dd; - case 1: - { - DateTime valueOrDefault = dateTime.GetValueOrDefault(); - timeSpan = EventInfoComponent.NormalizeExpiry(valueOrDefault) - DateTime.UtcNow; - num = ((!(timeSpan > TimeSpan.Zero)) ? 276378096 : 276378102); - break; - } - case 4: - vector = UiThemeUtils.StatusActive; - goto IL_00dd; - case 3: - text = EventInfoComponent.FormatRemainingDays(timeSpan); - num = ((timeSpan.TotalDays < 3.0) ? 276378097 : 276378099); - break; - case 2: - _206A_202A_206E_206E_202E_206C_202B_200B_202A_202D_200E_200D_206A_200C_206C_200E_200F_200C_206A_202A_200D_202B_202D_206A_200E_202E_202D_206A_202B_206A_200D_200C_202D_206D_206B_206D_206E_200E_200B_202C_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)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(1003139805)); - return; - case 0: - { - num = 276378100; - break; - } - IL_00dd: - vector2 = vector; - _206A_202A_206E_206E_202E_206C_202B_200B_202A_202D_200E_200D_206A_200C_206C_200E_200F_200C_206A_202A_200D_202B_202D_206A_200E_202E_202D_206A_202B_206A_200D_200C_202D_206D_206B_206D_206E_200E_200B_202C_202E(ref vector2, (ImU8String)text); - return; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private void DrawDutyRowActions(SeasonalDutyDefinition duty, bool disabled) - { - int num = ((!_206B_206E_206E_202A_200B_206B_206B_202D_206B_206D_206C_206F_202D_200D_202D_202D_202E_200F_200C_206E_206B_202A_206D_206D_200B_200E_200F_206B_200C_202D_206B_200E_202A_206E_200C_206C_200E_202D_200B_202A_202E(duty).HasValue) ? 1123314337 : 1123314338); - int num5; - while (true) - { - int num2 = num; - int num3 = 1123314339; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 0: - goto IL_0057; - case 1: - num5 = ((!_questFunctions.IsQuestComplete(_202C_202D_206F_206B_200E_202E_200E_206E_200C_206D_200F_200C_200F_202A_200D_206F_202B_206F_206F_200E_200E_200F_206C_206F_206D_206B_202B_206B_202D_206B_206B_206E_200D_206C_202B_206F_200C_206C_200F_206D_202E(_206B_206E_206E_202A_200B_206B_206B_202D_206B_206D_206C_206F_202D_200D_202D_202D_202E_200F_200C_206E_206B_202A_206D_206D_200B_200E_200F_206B_200C_202D_206B_200E_202A_206E_200C_206C_200E_202D_200B_202A_202E(duty).Value))) ? 1 : 0); - break; - case 2: - num5 = 0; - break; - } - break; - IL_0057: - num = 1123314338; - } - bool flag = (byte)num5 != 0; - ImU8String imU8String = new ImU8String(5, 1); - imU8String.AppendLiteral(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(-1915178109)); - imU8String.AppendFormatted(_200F_200B_200F_200D_202A_202A_206C_202C_202A_202D_200D_200E_202D_200D_200F_202D_200B_200D_202B_202A_200F_206A_200F_206E_206E_202E_200E_202E_206E_202C_202E_206C_202E_206A_202E_206A_202A_202E_200D_200D_202E(duty)); - ImRaii.IdDisposable idDisposable = _206A_206B_200E_206B_206E_200F_206E_206C_206C_200C_206E_200D_202A_206A_200E_206C_200C_206D_200E_200E_202C_206F_200D_206D_206B_200D_202D_206E_206A_202B_200E_202D_202E_206D_202E_202B_206F_206E_202E_200E_202E(imU8String, true); - try - { - if (flag) - { - ImRaii.FontDisposable fontDisposable = _202A_206C_200E_206D_202E_202E_202A_200E_202A_206D_200E_202B_202A_200E_202C_200F_202A_206D_206C_200C_200F_200B_200F_200D_200F_200C_206F_206F_206D_200C_206E_206E_202A_206A_200C_206D_202B_206B_202B_206A_202E(_200B_202C_200C_200F_206F_200B_206C_202E_200D_200D_202A_206A_202D_200D_206E_206B_202B_206A_206E_206E_206D_200B_200E_202C_206C_206B_200B_202A_202E_202A_200D_206E_200B_200E_206A_206B_206D_202B_200C_206D_202E(), true); - try - { - _206A_202A_206E_206E_202E_206C_202B_200B_202A_202D_200E_200D_206A_200C_206C_200E_200F_200C_206A_202A_200D_202B_202D_206A_200E_202E_202D_206A_202B_206A_200D_200C_202D_206D_206B_206D_206E_200E_200B_202C_202E(ref UiThemeUtils.StatusLocked, (ImU8String)_206C_200E_202C_202B_206D_200D_202A_200D_202D_202A_202D_202D_202C_202C_202A_202D_206A_200C_206C_200F_202B_202E_200C_206B_202E_200B_202C_202B_206B_200D_202C_200B_206C_202B_202B_202C_202D_200D_200E_206D_202E(FontAwesomeIcon.Times)); - } - finally - { - num = ((fontDisposable == null) ? (-1842369958) : (-1842369959)); - while (true) - { - int num6 = num; - int num3 = -1842369957; - int num4 = num6; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1842369959; - break; - case 2: - _202E_200C_202A_200E_206B_200C_202A_206B_206C_202C_200E_202A_206D_200C_202B_206E_206A_206A_200E_206A_200E_200D_206D_202E_206F_200F_206D_206E_200B_206C_206B_200B_202D_206E_200C_200B_200F_202C_200E_202B_202E((IDisposable)fontDisposable); - num = -1842369958; - break; - case 1: - goto end_IL_0116; - } - continue; - end_IL_0116: - break; - } - } - if (!_200E_206A_206D_200E_206A_202B_202A_202D_202A_202B_202D_200F_200B_200D_200C_206E_206D_200D_206F_200D_206F_206A_206E_200F_206A_202E_202C_200B_206A_200F_200F_202E_202C_200E_202B_200D_206F_200E_200F_200E_202E()) - { - return; - } - num = 1440609874; - string text; - IQuestInfo questInfo = default(IQuestInfo); - while (true) - { - int num7 = num; - int num3 = 1440609872; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 0: - num = 1440609874; - continue; - case 3: - text = _206B_206E_206E_202A_200B_206B_206B_202D_206B_206D_206C_206F_202D_200D_202D_202D_202E_200F_200C_206E_206B_202A_206D_206D_200B_200E_200F_206B_200C_202D_206B_200E_202A_206E_200C_206C_200E_202D_200B_202A_202E(duty).Value.ToString(_206D_206B_206E_200D_206D_200F_206D_206A_206E_206B_206B_200C_200E_202B_200E_200F_200D_206B_202B_202C_200D_206F_202D_202E_206F_202B_202A_200F_206E_202D_206C_206F_206E_200D_206F_200B_202D_206C_206E_206B_202E()); - break; - case 2: - num = (_questData.TryGetQuestInfo(_202C_202D_206F_206B_200E_202E_200E_206E_200C_206D_200F_200C_200F_202A_200D_206F_202B_206F_206F_200E_200E_200F_206C_206F_206D_206B_202B_206B_202D_206B_206B_206E_200D_206C_202B_206F_200C_206C_200F_206D_202E(_206B_206E_206E_202A_200B_206B_206B_202D_206B_206D_206C_206F_202D_200D_202D_202D_202E_200F_200C_206E_206B_202A_206D_206D_200B_200E_200F_206B_200C_202D_206B_200E_202A_206E_200C_206C_200E_202D_200B_202A_202E(duty).Value), out questInfo) ? 1440609873 : 1440609875); - continue; - case 1: - text = questInfo.Name; - break; - } - break; - } - string value = text; - ImU8String imU8String2 = new ImU8String(33, 1); - imU8String2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1729187626)); - imU8String2.AppendFormatted(value); - imU8String2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-437224182)); - _206E_200F_202B_200C_206D_206C_202C_206D_202C_202D_206F_200D_206B_206C_206A_202A_206A_206C_200C_206B_206D_200C_200E_206A_200F_200E_206A_202D_206D_200D_200B_206B_206A_200C_200D_200D_200E_200C_206F_202E_202E(imU8String2); - return; - } - ImRaii.DisabledDisposable disabledDisposable = _206E_202C_200C_200C_202C_206D_206E_202E_206E_200D_202A_200E_200C_206C_202E_202B_202D_206D_200F_202C_200C_200C_206B_200F_206E_202A_206B_200D_202E_206B_200E_202B_202E_200D_206A_200F_206E_200D_200E_206F_202E(disabled); - try - { - ImRaii.ColorDisposable colorDisposable = _200D_200E_206F_202A_206A_202C_202D_206A_200E_200B_202A_206C_200F_206B_200E_206E_206F_202A_206F_200F_202A_202B_200C_202E_206F_202D_202A_202E_206D_206C_200D_202C_206C_206E_206F_200F_200E_200B_202E_202C_202E(ImGuiCol.Button, UiThemeUtils.PlayButtonColor, true); - try - { - ImRaii.ColorDisposable colorDisposable2 = _200D_200E_206F_202A_206A_202C_202D_206A_200E_200B_202A_206C_200F_206B_200E_206E_206F_202A_206F_200F_202A_202B_200C_202E_206F_202D_202A_202E_206D_206C_200D_202C_206C_206E_206F_200F_200E_200B_202E_202C_202E(ImGuiCol.ButtonHovered, UiThemeUtils.PlayButtonHover, true); - try - { - ImRaii.ColorDisposable colorDisposable3 = _200D_200E_206F_202A_206A_202C_202D_206A_200E_200B_202A_206C_200F_206B_200E_206E_206F_202A_206F_200F_202A_202B_200C_202E_206F_202D_202A_202E_206D_206C_200D_202C_206C_206E_206F_200F_200E_200B_202E_202C_202E(ImGuiCol.ButtonActive, UiThemeUtils.PlayButtonActive, true); - try - { - ImRaii.ColorDisposable colorDisposable4 = _200D_200E_206F_202A_206A_202C_202D_206A_200E_200B_202A_206C_200F_206B_200E_206E_206F_202A_206F_200F_202A_202B_200C_202E_206F_202D_202A_202E_206D_206C_200D_202C_206C_206E_206F_200F_200E_200B_202E_202C_202E(ImGuiCol.Text, UiThemeUtils.PlayButtonText, true); - try - { - num = ((!UiThemeUtils.IconButton(FontAwesomeIcon.Play, _206B_202A_206B_206D_202B_206C_200C_206D_206F_206A_206D_200B_206B_200F_202D_202C_202C_206A_200B_206F_200E_206A_200D_202B_202D_206A_200C_206F_200D_202A_202B_206C_206C_202C_200B_206D_206A_206C_200B_206D_202E())) ? 1149444299 : 1149444296); - while (true) - { - int num8 = num; - int num3 = 1149444297; - int num4 = num8; - int? obj; - int? cycleLimit; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - obj = _cycleLimit; - goto IL_0316; - case 1: - _movementController.Stop(); - _questController.Stop(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1439824701)); - _fateController.Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(876679288)); - _customDeliveryController.Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(876679288)); - _attunementController.Stop(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(379838828)); - num = ((_cycleLimit > 0) ? 1149444297 : 1149444298); - break; - case 4: - num = 1149444296; - break; - case 3: - obj = null; - goto IL_0316; - case 2: - goto end_IL_02d7; - IL_0316: - cycleLimit = obj; - _seasonalDutyController.Start(duty, cycleLimit); - num = 1149444299; - break; - } - continue; - end_IL_02d7: - break; - } - } - finally - { - num = ((colorDisposable4 == null) ? (-4307083) : (-4307084)); - while (true) - { - int num9 = num; - int num3 = -4307083; - int num4 = num9; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -4307084; - break; - case 0: - goto end_IL_0400; - case 1: - _202E_200C_202A_200E_206B_200C_202A_206B_206C_202C_200E_202A_206D_200C_202B_206E_206A_206A_200E_206A_200E_200D_206D_202E_206F_200F_206D_206E_200B_206C_206B_200B_202D_206E_200C_200B_200F_202C_200E_202B_202E((IDisposable)colorDisposable4); - num = -4307083; - break; - } - continue; - end_IL_0400: - break; - } - } - } - finally - { - num = ((colorDisposable3 == null) ? (-1530773788) : (-1530773787)); - while (true) - { - int num10 = num; - int num3 = -1530773788; - int num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1530773787; - break; - case 1: - _202E_200C_202A_200E_206B_200C_202A_206B_206C_202C_200E_202A_206D_200C_202B_206E_206A_206A_200E_206A_200E_200D_206D_202E_206F_200F_206D_206E_200B_206C_206B_200B_202D_206E_200C_200B_200F_202C_200E_202B_202E((IDisposable)colorDisposable3); - num = -1530773788; - break; - case 0: - goto end_IL_046b; - } - continue; - end_IL_046b: - break; - } - } - } - finally - { - num = ((colorDisposable2 == null) ? 1772701694 : 1772701693); - while (true) - { - int num11 = num; - int num3 = 1772701695; - int num4 = num11; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - goto end_IL_04d6; - case 2: - _202E_200C_202A_200E_206B_200C_202A_206B_206C_202C_200E_202A_206D_200C_202B_206E_206A_206A_200E_206A_200E_200D_206D_202E_206F_200F_206D_206E_200B_206C_206B_200B_202D_206E_200C_200B_200F_202C_200E_202B_202E((IDisposable)colorDisposable2); - num = 1772701694; - break; - case 0: - num = 1772701693; - break; - } - continue; - end_IL_04d6: - break; - } - } - } - finally - { - num = ((colorDisposable == null) ? (-1789084300) : (-1789084299)); - while (true) - { - int num12 = num; - int num3 = -1789084300; - int num4 = num12; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto end_IL_0541; - case 1: - _202E_200C_202A_200E_206B_200C_202A_206B_206C_202C_200E_202A_206D_200C_202B_206E_206A_206A_200E_206A_200E_200D_206D_202E_206F_200F_206D_206E_200B_206C_206B_200B_202D_206E_200C_200B_200F_202C_200E_202B_202E((IDisposable)colorDisposable); - num = -1789084300; - break; - case 2: - num = -1789084299; - break; - } - continue; - end_IL_0541: - break; - } - } - } - finally - { - num = ((disabledDisposable == null) ? 1694425464 : 1694425465); - while (true) - { - int num13 = num; - int num3 = 1694425464; - int num4 = num13; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto end_IL_05ac; - case 1: - _202E_200C_202A_200E_206B_200C_202A_206B_206C_202C_200E_202A_206D_200C_202B_206E_206A_206A_200E_206A_200E_200D_206D_202E_206F_200F_206D_206E_200B_206C_206B_200B_202D_206E_200C_200B_200F_202C_200E_202B_202E((IDisposable)disabledDisposable); - num = 1694425464; - break; - case 2: - num = 1694425465; - break; - } - continue; - end_IL_05ac: - break; - } - } - num = ((!disabled) ? (-1979708782) : (-1979708771)); - while (true) - { - int num14 = num; - int num3 = -1979708775; - int num4 = num14; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - num = -1979708771; - break; - case 8: - _206E_200F_202B_200C_206D_206C_202C_206D_202C_202D_206F_200D_206B_206C_206A_202A_206A_206C_200C_206B_206D_200C_200E_206A_200F_200E_206A_202D_206D_200D_200B_206B_206A_200C_200D_200D_200E_200C_206F_202E_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-623887397)); - return; - case 3: - _206E_200F_202B_200C_206D_206C_202C_206D_202C_202D_206F_200D_206B_206C_206A_202A_206A_206C_200C_206B_206D_200C_200E_206A_200F_200E_206A_202D_206D_200D_200B_206B_206A_200C_200D_200D_200E_200C_206F_202E_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(2098903468)); - num = -1979708782; - break; - case 4: - num = ((!_202A_206D_206B_200B_200B_202C_200C_206A_200F_200B_200F_202B_206F_202E_200C_202E_206A_206A_202A_200C_202E_200C_206C_202B_200B_206E_200B_202C_200B_200D_206F_200B_202C_206A_202A_200F_202A_202B_202E_202D_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? (-1979708782) : (-1979708772)); - break; - case 0: - num = ((!_customDeliveryController.IsRunning) ? (-1979708770) : (-1979708784)); - break; - case 5: - num = ((!_seasonalDutyController.IsRunning) ? (-1979708781) : (-1979708783)); - break; - case 10: - num = ((!_fateController.IsRunning) ? (-1979708775) : (-1979708773)); - break; - case 2: - _206E_200F_202B_200C_206D_206C_202C_206D_202C_202D_206F_200D_206B_206C_206A_202A_206A_206C_200C_206B_206D_200C_200E_206A_200F_200E_206A_202D_206D_200D_200B_206B_206A_200C_200D_200D_200E_200C_206F_202E_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1380062247)); - return; - case 9: - _206E_200F_202B_200C_206D_206C_202C_206D_202C_202D_206F_200D_206B_206C_206A_202A_206A_206C_200C_206B_206D_200C_200E_206A_200F_200E_206A_202D_206D_200D_200B_206B_206A_200C_200D_200D_200E_200C_206F_202E_202E((ImU8String)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(445846488)); - return; - case 1: - _206E_200F_202B_200C_206D_206C_202C_206D_202C_202D_206F_200D_206B_206C_206A_202A_206A_206C_200C_206B_206D_200C_200E_206A_200F_200E_206A_202D_206D_200D_200B_206B_206A_200C_200D_200D_200E_200C_206F_202E_202E((ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(513315487)); - return; - case 7: - num = ((!_attunementController.IsRunning) ? (-1979708774) : (-1979708776)); - break; - case 11: - return; - } - } - } - finally - { - num = ((idDisposable == null) ? (-1463456728) : (-1463456727)); - while (true) - { - int num15 = num; - int num3 = -1463456728; - int num4 = num15; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1463456727; - break; - case 1: - _202E_200C_202A_200E_206B_200C_202A_206B_206C_202C_200E_202A_206D_200C_202B_206E_206A_206A_200E_206A_200E_200D_206D_202E_206F_200F_206D_206E_200B_206C_206B_200B_202D_206E_200C_200B_200F_202C_200E_202B_202E((IDisposable)idDisposable); - num = -1463456728; - break; - case 0: - goto end_IL_0810; - } - continue; - end_IL_0810: - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private static string FormatElapsed(TimeSpan elapsed) - { - int num = ((!(elapsed.TotalHours >= 1.0)) ? (-1232601948) : (-1232601945)); - while (true) - { - int num2 = num; - int num3 = -1232601947; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - num = ((!(elapsed.TotalMinutes >= 1.0)) ? (-1232601947) : (-1232601946)); - break; - case 2: - { - IFormatProvider formatProvider = _206D_206B_206E_200D_206D_200F_206D_206A_206E_206B_206B_200C_200E_202B_200E_200F_200D_206B_202B_202C_200D_206F_202D_202E_206F_202B_202A_200F_206E_202D_206C_206F_206E_200D_206F_200B_202D_206C_206E_206B_202E(); - IFormatProvider formatProvider4 = formatProvider; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(5, 3, formatProvider); - defaultInterpolatedStringHandler3.AppendFormatted((int)elapsed.TotalHours); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-794677548)); - defaultInterpolatedStringHandler3.AppendFormatted(elapsed.Minutes, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1194352829)); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1016237535)); - defaultInterpolatedStringHandler3.AppendFormatted(elapsed.Seconds, 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(1462241587)); - defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-838706236)); - return _202A_200C_206A_206D_206F_200B_200B_202E_202C_202B_200B_206F_206F_202B_202D_206F_202B_206D_200B_206A_200C_200C_206C_206E_206E_202B_206B_202D_206A_206B_202C_200D_206A_200D_206B_200E_202D_202B_206A_206D_202E(formatProvider4, ref defaultInterpolatedStringHandler3); - } - case 4: - num = -1232601945; - break; - case 3: - { - IFormatProvider formatProvider = _206D_206B_206E_200D_206D_200F_206D_206A_206E_206B_206B_200C_200E_202B_200E_200F_200D_206B_202B_202C_200D_206F_202D_202E_206F_202B_202A_200F_206E_202D_206C_206F_206E_200D_206F_200B_202D_206C_206E_206B_202E(); - IFormatProvider formatProvider3 = formatProvider; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(3, 2, formatProvider); - defaultInterpolatedStringHandler2.AppendFormatted((int)elapsed.TotalMinutes); - defaultInterpolatedStringHandler2.AppendLiteral(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(-1003686810)); - defaultInterpolatedStringHandler2.AppendFormatted(elapsed.Seconds, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1956092384)); - defaultInterpolatedStringHandler2.AppendLiteral(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(1658952639)); - return _202A_200C_206A_206D_206F_200B_200B_202E_202C_202B_200B_206F_206F_202B_202D_206F_202B_206D_200B_206A_200C_200C_206C_206E_206E_202B_206B_202D_206A_206B_202C_200D_206A_200D_206B_200E_202D_202B_206A_206D_202E(formatProvider3, ref defaultInterpolatedStringHandler2); - } - case 0: - { - IFormatProvider formatProvider = _206D_206B_206E_200D_206D_200F_206D_206A_206E_206B_206B_200C_200E_202B_200E_200F_200D_206B_202B_202C_200D_206F_202D_202E_206F_202B_202A_200F_206E_202D_206C_206F_206E_200D_206F_200B_202D_206C_206E_206B_202E(); - IFormatProvider formatProvider2 = formatProvider; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(1, 1, formatProvider); - defaultInterpolatedStringHandler.AppendFormatted(elapsed.Seconds); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-838706236)); - return _202A_200C_206A_206D_206F_200B_200B_202E_202C_202B_200B_206F_206F_202B_202D_206F_202B_206D_200B_206A_200C_200C_206C_206E_206E_202B_206B_202D_206A_206B_202C_200D_206A_200D_206B_200E_202D_202B_206A_206D_202E(formatProvider2, ref defaultInterpolatedStringHandler); - } - } - } - } - - void _206A_202B_200C_202B_206D_200C_200E_202B_206F_200D_206E_200D_202A_200E_202E_202C_206D_206A_206E_202A_202B_202B_206C_202A_202D_206C_202E_202E_202E_202A_202E_206C_200E_202C_200D_200B_200C_206E_202C_202E_202E(Vector2? P_0) - { - base.Size = P_0; - } - - void _206D_200E_200D_200C_206B_202E_206B_200B_206E_200B_200B_206B_200D_200B_202D_200B_202D_202C_200C_200E_200D_202A_200F_200F_206F_202C_202C_200F_206B_206E_202B_200B_200B_206F_202A_202D_202D_200B_200D_202A_202E(ImGuiCond P_0) - { - base.SizeCondition = P_0; - } - - void _200D_200F_206D_206D_200D_206B_206E_202A_206B_206A_202B_206D_206C_202A_206A_206F_200C_202B_206F_202B_202A_202B_206F_202B_206A_202D_200F_206E_202B_202B_200F_200F_206C_206A_200E_206B_200F_202B_206A_200F_202E(WindowSizeConstraints? P_0) - { - base.SizeConstraints = P_0; - } - - static void _200D_206C_200D_206A_200D_202D_202E_202B_206F_202D_200F_200C_200E_202B_202D_200E_202E_206B_202E_206D_202E_206A_200E_200B_206B_202D_200B_202D_206C_202C_200E_206E_206F_206E_206D_206B_206C_200D_206A_200D_202E() - { ImGui.Spacing(); } - static string _200F_200B_200F_200D_202A_202A_206C_202C_202A_202D_200D_200E_202D_200D_200F_202D_200B_200D_202B_202A_200F_206A_200F_206E_206E_202E_200E_202E_206E_202C_202E_206C_202E_206A_202E_206A_202A_202E_200D_200D_202E(SeasonalDutyDefinition P_0) - { - return P_0.Name; - } - - static int _200F_206A_206C_200D_200C_206A_200F_202E_202E_206B_200F_202A_206B_202A_200F_202D_202B_206B_202C_200D_200E_202E_206A_202E_200C_206D_200C_202B_200E_200F_202A_206F_202E_202A_200D_206A_206C_206A_206B_202B_202E(string P_0) - { - return P_0.Length; - } - - static ImRaii.DisabledDisposable _206E_202C_200C_200C_202C_206D_206E_202E_206E_200D_202A_200E_200C_206C_202E_202B_202D_206D_200F_202C_200C_200C_206B_200F_206E_202A_206B_200D_202E_206B_200E_202B_202E_200D_206A_200F_206E_200D_200E_206F_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static void _206A_200F_206F_206D_206C_200C_206F_202E_206C_206E_202A_200E_200F_206F_202B_206E_202A_206F_200F_206F_202A_200E_202A_206B_202E_206E_202B_206C_200B_202B_202E_206C_200C_206B_206E_200E_200B_206B_202C_206C_202E() - { - ImGui.AlignTextToFramePadding(); - } - - static void _200B_202C_206B_202C_202B_206B_200B_202B_206D_200E_202A_202D_202C_206A_206C_206E_200F_200C_200F_202C_206D_206D_202D_206E_206E_202B_206C_206B_202B_200C_202A_206C_202E_202C_202C_200C_206B_202E_206E_202E(ImU8String P_0) - { - ImGui.TextUnformatted(P_0); - } - - static void _202C_206F_206D_206A_202E_206D_202C_202B_206A_200D_206F_202C_206F_202C_206F_206F_206F_200E_202E_206F_200B_200F_206A_206A_200E_200C_200C_200F_206F_202B_206B_200B_202A_200C_206D_200D_200B_202D_206B_206A_202E() - { - ImGui.SameLine(); - } - - static ImGuiIOPtr _206D_200C_200B_202B_206F_206B_206D_202C_200E_200C_202A_206D_202A_202E_202D_200B_200D_202A_200C_206E_206A_202E_206E_200E_206D_206C_206B_200D_202B_206D_202E_206A_200B_206A_200C_200F_202E_206E_200D_200E_202E() - { - return ImGui.GetIO(); - } - - static void _202B_200F_206F_202D_206C_200B_202E_202D_200E_200D_200C_200F_202B_206F_200F_200B_200D_200C_200C_202E_206B_206A_202C_200B_200D_206D_200C_202A_202C_202D_200D_202B_202E_206D_206F_206B_206C_202C_202C_202C_202E(float P_0) - { - ImGui.SetNextItemWidth(P_0); - } - - static bool _206A_200D_202B_200C_206B_200E_200C_206F_206F_202B_206A_200D_200F_200B_206C_200C_200D_206D_202A_202E_200E_200D_206C_206F_206B_206E_202D_206E_206F_206A_200E_200C_206D_206B_200F_202E_206B_202D_200C_206B_202E(ImU8String P_0, ref int P_1, int P_2, int P_3, ImU8String P_4, ImGuiInputTextFlags P_5) - { - return ImGui.InputInt(P_0, ref P_1, P_2, P_3, P_4, P_5); - } - - static void _206A_202A_206E_206E_202E_206C_202B_200B_202A_202D_200E_200D_206A_200C_206C_200E_200F_200C_206A_202A_200D_202B_202D_206A_200E_202E_202D_206A_202B_206A_200D_200C_202D_206D_206B_206D_206E_200E_200B_202C_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static void _202E_200C_202A_200E_206B_200C_202A_206B_206C_202C_200E_202A_206D_200C_202B_206E_206A_206A_200E_206A_200E_200D_206D_202E_206F_200F_206D_206E_200B_206C_206B_200B_202D_206E_200C_200B_200F_202C_200E_202B_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static bool _200D_202E_202B_206C_200F_202D_202A_200F_206B_200E_202A_206A_200B_202B_200E_202B_200B_206C_200B_206A_206E_200F_206A_200B_206C_200C_206A_202C_200F_200F_202C_200D_202A_200B_200E_202D_200D_200C_202A_206A_202E(string P_0) - { - return string.IsNullOrWhiteSpace(P_0); - } - - static StringComparer _200F_202E_202D_206F_206E_202B_206E_206E_206F_200D_202D_206E_202D_202D_202D_206B_202C_202B_206C_202A_202C_202C_202D_202D_206E_200C_206D_200E_202E_200E_206A_206B_206C_200C_206C_200C_200F_206F_202A_202B_202E() - { - return StringComparer.OrdinalIgnoreCase; - } - - static void _202A_206D_206D_202D_202B_206E_206D_206A_206F_200E_200B_200E_206B_206E_206E_202A_202B_202C_206D_202A_200B_202E_206C_200D_200B_206A_206A_202A_200C_206B_200E_206A_202C_200D_200F_200E_206E_206A_206B_200C_202E(ImU8String P_0, ImGuiTableColumnFlags P_1, float P_2, uint P_3) - { - ImGui.TableSetupColumn(P_0, P_1, P_2, P_3); - } - - static void _202D_200D_206D_202D_202A_200E_202E_206B_206F_206F_202E_202D_206F_202D_200E_200B_202C_206A_200B_200F_206C_200D_202A_200E_206C_202A_200D_200F_202A_206D_202B_202E_202D_206E_200E_200F_202A_206B_206C_206A_202E() + private void DrawDutyTable() { + IEnumerable source = _seasonalDutyDefinitionRegistry.Definitions.Values; + if (!string.IsNullOrWhiteSpace(_searchText)) + { + source = source.Where((SeasonalDutyDefinition d) => d.Name.Contains(_searchText, StringComparison.OrdinalIgnoreCase) || (_territoryData.GetName(d.TerritoryId) ?? d.Name).Contains(_searchText, StringComparison.OrdinalIgnoreCase)); + } + List list = source.OrderBy(delegate(SeasonalDutyDefinition d) + { + DateTime? eventExpiry = d.EventExpiry; + if (eventExpiry.HasValue) + { + DateTime valueOrDefault = eventExpiry.GetValueOrDefault(); + if (EventInfoComponent.NormalizeExpiry(valueOrDefault) - DateTime.UtcNow > TimeSpan.Zero) + { + return 0; + } + } + return 1; + }).ThenBy(delegate(SeasonalDutyDefinition d) + { + DateTime? eventExpiry = d.EventExpiry; + if (eventExpiry.HasValue) + { + DateTime valueOrDefault = eventExpiry.GetValueOrDefault(); + TimeSpan timeSpan = EventInfoComponent.NormalizeExpiry(valueOrDefault) - DateTime.UtcNow; + if (timeSpan > TimeSpan.Zero) + { + return timeSpan.TotalSeconds; + } + } + return double.MaxValue; + }).ThenBy((SeasonalDutyDefinition d) => d.Name, StringComparer.OrdinalIgnoreCase) + .ToList(); + if (list.Count == 0) + { + UiThemeUtils.EmptyState(FontAwesomeIcon.Search, "No duties match your search."); + return; + } + using ImRaii.TableDisposable tableDisposable = UiThemeUtils.BeginThemedTable("SeasonalDutyTable", 4, ImGuiTableFlags.SizingStretchProp | ImGuiTableFlags.ScrollY); + if (!tableDisposable) + { + return; + } + ImGui.TableSetupColumn("Name", ImGuiTableColumnFlags.None, 3f); + ImGui.TableSetupColumn("Zone", ImGuiTableColumnFlags.None, 2f); + ImGui.TableSetupColumn("Expiry", ImGuiTableColumnFlags.WidthFixed, 80f); + ImGui.TableSetupColumn("##Actions", ImGuiTableColumnFlags.WidthFixed, 30f); ImGui.TableHeadersRow(); + foreach (SeasonalDutyDefinition item in list) + { + ImGui.TableNextRow(); + bool flag = _seasonalDutyController.IsRunning && _seasonalDutyController.CurrentDuty == item; + if (flag) + { + ImGui.TableSetBgColor(ImGuiTableBgTarget.RowBg0, ImGui.ColorConvertFloat4ToU32(UiThemeUtils.AccentDimColor)); + } + ImGui.TableNextColumn(); + DrawDutyRowName(item, flag); + ImGui.TableNextColumn(); + ImGui.TextUnformatted(_territoryData.GetName(item.TerritoryId) ?? item.Name); + ImGui.TableNextColumn(); + DrawDutyRowExpiry(item); + ImGui.TableNextColumn(); + bool disabled = _seasonalDutyController.IsRunning || _fateController.IsRunning || _customDeliveryController.IsRunning || _attunementController.IsRunning || _questController.AutomationType != QuestController.EAutomationType.Manual; + DrawDutyRowActions(item, disabled); + } } - static void _206E_206E_202E_202B_200F_202E_206A_200D_202A_202E_202A_206F_202D_200E_202A_202A_200C_202C_206A_206A_206F_200F_200F_206A_206D_202C_206B_202B_206F_202B_202C_202B_206E_202E_200B_206E_202D_200C_206C_206D_202E() + private void DrawDutyRowName(SeasonalDutyDefinition duty, bool isActive) { - ImGui.TableNextRow(); + if (isActive) + { + ImGui.TextColored(in UiThemeUtils.AccentColor, duty.Name); + } + else + { + ImGui.TextUnformatted(duty.Name); + } + if (!ImGui.IsItemHovered()) + { + return; + } + using (ImRaii.Tooltip()) + { + ImGui.TextColored(in UiThemeUtils.PrimaryTextColor, duty.Name); + ImGui.Separator(); + ImGui.Spacing(); + string nameAndId = _territoryData.GetNameAndId(duty.TerritoryId); + ImU8String text = new ImU8String(6, 1); + text.AppendLiteral("Zone: "); + text.AppendFormatted(nameAndId); + ImGui.TextColored(in UiThemeUtils.DimTextColor, text); + DateTime? eventExpiry = duty.EventExpiry; + if (eventExpiry.HasValue) + { + DateTime valueOrDefault = eventExpiry.GetValueOrDefault(); + TimeSpan timeSpan = EventInfoComponent.NormalizeExpiry(valueOrDefault) - DateTime.UtcNow; + if (timeSpan > TimeSpan.Zero) + { + string text2 = EventInfoComponent.FormatRemainingFull(timeSpan); + ImGui.TextColored(in UiThemeUtils.StatusActive, text2); + } + } + } } - static uint _200D_202A_200D_200C_202D_200F_206A_206F_206D_200C_202A_206C_200C_200D_202D_202B_202B_206F_206D_202B_206E_202E_200C_200F_200D_200E_202E_206F_206B_202D_206A_206D_206E_200D_202C_206D_200D_202E_202A_200F_202E(Vector4 P_0) + private static void DrawDutyRowExpiry(SeasonalDutyDefinition duty) { - return ImGui.ColorConvertFloat4ToU32(P_0); + DateTime? eventExpiry = duty.EventExpiry; + if (eventExpiry.HasValue) + { + DateTime valueOrDefault = eventExpiry.GetValueOrDefault(); + TimeSpan timeSpan = EventInfoComponent.NormalizeExpiry(valueOrDefault) - DateTime.UtcNow; + if (timeSpan > TimeSpan.Zero) + { + string text = EventInfoComponent.FormatRemainingDays(timeSpan); + ImGui.TextColored((timeSpan.TotalDays < 3.0) ? UiThemeUtils.StatusActive : UiThemeUtils.DimTextColor, text); + } + else + { + ImGui.TextColored(in UiThemeUtils.MutedTextColor, "Expired"); + } + } + else + { + ImGui.TextColored(in UiThemeUtils.MutedTextColor, "--"); + } } - static void _202A_206D_200F_200E_202B_200B_200B_202E_200F_200D_206F_200F_206A_206A_206F_206C_206A_200C_206E_206C_206C_202E_200C_200C_206D_200C_206F_202A_202A_202D_206A_206C_206D_202A_202A_202C_200D_206F_200F_202E(ImGuiTableBgTarget P_0, uint P_1) + private void DrawDutyRowActions(SeasonalDutyDefinition duty, bool disabled) { - ImGui.TableSetBgColor(P_0, P_1); + bool flag = duty.RequiredQuestId.HasValue && !_questFunctions.IsQuestComplete(new QuestId(duty.RequiredQuestId.Value)); + ImU8String id = new ImU8String(5, 1); + id.AppendLiteral("duty_"); + id.AppendFormatted(duty.Name); + using (ImRaii.PushId(id)) + { + if (flag) + { + using (ImRaii.PushFont(UiBuilder.IconFont)) + { + ImGui.TextColored(in UiThemeUtils.StatusLocked, FontAwesomeIcon.Times.ToIconString()); + } + if (ImGui.IsItemHovered()) + { + IQuestInfo questInfo; + string value = (_questData.TryGetQuestInfo(new QuestId(duty.RequiredQuestId.Value), out questInfo) ? questInfo.Name : duty.RequiredQuestId.Value.ToString(CultureInfo.InvariantCulture)); + ImU8String tooltip = new ImU8String(33, 1); + tooltip.AppendLiteral("Requires \""); + tooltip.AppendFormatted(value); + tooltip.AppendLiteral("\" to be completed first"); + ImGui.SetTooltip(tooltip); + } + return; + } + using (ImRaii.Disabled(disabled)) + { + using (ImRaii.PushColor(ImGuiCol.Button, UiThemeUtils.PlayButtonColor)) + { + using (ImRaii.PushColor(ImGuiCol.ButtonHovered, UiThemeUtils.PlayButtonHover)) + { + using (ImRaii.PushColor(ImGuiCol.ButtonActive, UiThemeUtils.PlayButtonActive)) + { + using (ImRaii.PushColor(ImGuiCol.Text, UiThemeUtils.PlayButtonText)) + { + if (UiThemeUtils.IconButton(FontAwesomeIcon.Play, ImGui.GetFrameHeight())) + { + _movementController.Stop(); + _questController.Stop("Seasonal duty farming start"); + _fateController.Stop("Seasonal duty farming start"); + _customDeliveryController.Stop("Seasonal duty farming start"); + _attunementController.Stop("Seasonal duty farming start"); + int? cycleLimit = ((_cycleLimit > 0) ? new int?(_cycleLimit) : ((int?)null)); + _seasonalDutyController.Start(duty, cycleLimit); + } + } + } + } + } + } + if (disabled && ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) + { + if (_seasonalDutyController.IsRunning) + { + ImGui.SetTooltip("Already farming a seasonal duty"); + } + else if (_fateController.IsRunning) + { + ImGui.SetTooltip("Stop FATE farming first"); + } + else if (_customDeliveryController.IsRunning) + { + ImGui.SetTooltip("Stop custom delivery first"); + } + else if (_attunementController.IsRunning) + { + ImGui.SetTooltip("Stop attunement first"); + } + else + { + ImGui.SetTooltip("Stop quest automation first"); + } + } + } } - static bool _202E_200B_206A_206E_206C_202C_206C_206B_202A_206C_200E_202E_202B_200C_202D_202C_202D_200F_202D_200D_206A_200F_202E_206A_200B_206D_202E_200C_206E_202B_206D_202D_206D_200D_206C_200D_202E_202A_202E_200F_202E() + private static string FormatElapsed(TimeSpan elapsed) { - return ImGui.TableNextColumn(); - } - - static ushort _200B_202C_206D_200F_200F_200C_206C_200E_200C_206A_200F_206C_200D_200F_206E_200D_206C_202E_200E_202B_200B_206F_206F_206A_206A_200F_206F_200B_206D_200E_200E_200F_202B_200C_200B_206B_206A_200D_200E_202B_202E(SeasonalDutyDefinition P_0) - { - return P_0.TerritoryId; - } - - static bool _200E_206A_206D_200E_206A_202B_202A_202D_202A_202B_202D_200F_200B_200D_200C_206E_206D_200D_206F_200D_206F_206A_206E_200F_206A_202E_202C_200B_206A_200F_200F_202E_202C_200E_202B_200D_206F_200E_200F_200E_202E() - { - return ImGui.IsItemHovered(); - } - - static ImRaii.TooltipDisposable _200D_202B_202C_200D_206D_206F_206F_202A_200F_206B_202D_206C_206E_202B_200D_200B_206F_202A_206F_200C_206C_206C_200C_202B_202E_202D_202E_206D_202E_206C_200F_202D_200F_202D_206F_200C_206C_200C_206C_206F_202E() - { - return ImRaii.Tooltip(); - } - - static void _206E_200C_200D_200F_200C_200F_200C_202B_200B_206A_206B_200B_200F_200E_206B_202C_200B_206D_206C_202A_200C_202A_206B_200C_206C_202D_200C_200E_202D_202C_202C_200C_202C_206A_200C_202B_206A_200E_206F_200F_202E() - { - ImGui.Separator(); - } - - static DateTime? _200E_202B_206C_202C_206F_202B_206C_202C_206A_200C_206F_202D_200B_200D_202D_202E_206D_206D_200E_206F_200D_202B_200B_206B_206B_206C_206B_206A_206F_202E_206A_206A_206F_202E_202C_202B_200D_200D_202E_202B_202E(SeasonalDutyDefinition P_0) - { - return P_0.EventExpiry; - } - - static ushort? _206B_206E_206E_202A_200B_206B_206B_202D_206B_206D_206C_206F_202D_200D_202D_202D_202E_200F_200C_206E_206B_202A_206D_206D_200B_200E_200F_206B_200C_202D_206B_200E_202A_206E_200C_206C_200E_202D_200B_202A_202E(SeasonalDutyDefinition P_0) - { - return P_0.RequiredQuestId; - } - - static QuestId _202C_202D_206F_206B_200E_202E_200E_206E_200C_206D_200F_200C_200F_202A_200D_206F_202B_206F_206F_200E_200E_200F_206C_206F_206D_206B_202B_206B_202D_206B_206B_206E_200D_206C_202B_206F_200C_206C_200F_206D_202E(ushort P_0) - { - return new QuestId(P_0); - } - - static ImRaii.IdDisposable _206A_206B_200E_206B_206E_200F_206E_206C_206C_200C_206E_200D_202A_206A_200E_206C_200C_206D_200E_200E_202C_206F_200D_206D_206B_200D_202D_206E_206A_202B_200E_202D_202E_206D_202E_202B_206F_206E_202E_200E_202E(ImU8String P_0, bool P_1) - { - return ImRaii.PushId(P_0, P_1); - } - - static ImFontPtr _200B_202C_200C_200F_206F_200B_206C_202E_200D_200D_202A_206A_202D_200D_206E_206B_202B_206A_206E_206E_206D_200B_200E_202C_206C_206B_200B_202A_202E_202A_200D_206E_200B_200E_206A_206B_206D_202B_200C_206D_202E() - { - return UiBuilder.IconFont; - } - - static ImRaii.FontDisposable _202A_206C_200E_206D_202E_202E_202A_200E_202A_206D_200E_202B_202A_200E_202C_200F_202A_206D_206C_200C_200F_200B_200F_200D_200F_200C_206F_206F_206D_200C_206E_206E_202A_206A_200C_206D_202B_206B_202B_206A_202E(ImFontPtr P_0, bool P_1) - { - return ImRaii.PushFont(P_0, P_1); - } - - static string _206C_200E_202C_202B_206D_200D_202A_200D_202D_202A_202D_202D_202C_202C_202A_202D_206A_200C_206C_200F_202B_202E_200C_206B_202E_200B_202C_202B_206B_200D_202C_200B_206C_202B_202B_202C_202D_200D_200E_206D_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static CultureInfo _206D_206B_206E_200D_206D_200F_206D_206A_206E_206B_206B_200C_200E_202B_200E_200F_200D_206B_202B_202C_200D_206F_202D_202E_206F_202B_202A_200F_206E_202D_206C_206F_206E_200D_206F_200B_202D_206C_206E_206B_202E() - { - return CultureInfo.InvariantCulture; - } - - static void _206E_200F_202B_200C_206D_206C_202C_206D_202C_202D_206F_200D_206B_206C_206A_202A_206A_206C_200C_206B_206D_200C_200E_206A_200F_200E_206A_202D_206D_200D_200B_206B_206A_200C_200D_200D_200E_200C_206F_202E_202E(ImU8String P_0) - { - ImGui.SetTooltip(P_0); - } - - static ImRaii.ColorDisposable _200D_200E_206F_202A_206A_202C_202D_206A_200E_200B_202A_206C_200F_206B_200E_206E_206F_202A_206F_200F_202A_202B_200C_202E_206F_202D_202A_202E_206D_206C_200D_202C_206C_206E_206F_200F_200E_200B_202E_202C_202E(ImGuiCol P_0, Vector4 P_1, bool P_2) - { - return ImRaii.PushColor(P_0, P_1, P_2); - } - - static float _206B_202A_206B_206D_202B_206C_200C_206D_206F_206A_206D_200B_206B_200F_202D_202C_202C_206A_200B_206F_200E_206A_200D_202B_202D_206A_200C_206F_200D_202A_202B_206C_206C_202C_200B_206D_206A_206C_200B_206D_202E() - { - return ImGui.GetFrameHeight(); - } - - static bool _202A_206D_206B_200B_200B_202C_200C_206A_200F_200B_200F_202B_206F_202E_200C_202E_206A_206A_202A_200C_202E_200C_206C_202B_200B_206E_200B_202C_200B_200D_206F_200B_202C_206A_202A_200F_202A_202B_202E_202D_202E(ImGuiHoveredFlags P_0) - { - return ImGui.IsItemHovered(P_0); - } - - static string _202A_200C_206A_206D_206F_200B_200B_202E_202C_202B_200B_206F_206F_202B_202D_206F_202B_206D_200B_206A_200C_200C_206C_206E_206E_202B_206B_202D_206A_206B_202C_200D_206A_200D_206B_200E_202D_202B_206A_206D_202E(IFormatProvider P_0, ref DefaultInterpolatedStringHandler P_1) - { - return string.Create(P_0, ref P_1); - } - - static bool _202B_202C_202B_202A_206B_206A_202C_206D_200E_206D_206C_202C_202D_202C_206A_206C_202C_206F_200C_206F_206F_206A_200B_200D_206A_206B_206D_200E_202E_202C_202C_202B_206F_206B_200B_200E_206A_200E_206D_200E_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.Contains(P_1, P_2); + IFormatProvider invariantCulture; + if (elapsed.TotalHours >= 1.0) + { + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider = invariantCulture; + DefaultInterpolatedStringHandler handler = new DefaultInterpolatedStringHandler(5, 3, invariantCulture); + handler.AppendFormatted((int)elapsed.TotalHours); + handler.AppendLiteral("h "); + handler.AppendFormatted(elapsed.Minutes, "D2"); + handler.AppendLiteral("m "); + handler.AppendFormatted(elapsed.Seconds, "D2"); + handler.AppendLiteral("s"); + return string.Create(provider, ref handler); + } + if (elapsed.TotalMinutes >= 1.0) + { + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider2 = invariantCulture; + DefaultInterpolatedStringHandler handler2 = new DefaultInterpolatedStringHandler(3, 2, invariantCulture); + handler2.AppendFormatted((int)elapsed.TotalMinutes); + handler2.AppendLiteral("m "); + handler2.AppendFormatted(elapsed.Seconds, "D2"); + handler2.AppendLiteral("s"); + return string.Create(provider2, ref handler2); + } + invariantCulture = CultureInfo.InvariantCulture; + IFormatProvider provider3 = invariantCulture; + DefaultInterpolatedStringHandler handler3 = new DefaultInterpolatedStringHandler(1, 1, invariantCulture); + handler3.AppendFormatted(elapsed.Seconds); + handler3.AppendLiteral("s"); + return string.Create(provider3, ref handler3); } } diff --git a/Questionable/Questionable.Windows/SidebarNav.cs b/Questionable/Questionable.Windows/SidebarNav.cs index b51601b..3e67542 100644 --- a/Questionable/Questionable.Windows/SidebarNav.cs +++ b/Questionable/Questionable.Windows/SidebarNav.cs @@ -1,8 +1,5 @@ using System; -using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Bindings.ImGui; using Dalamud.Interface; using Dalamud.Interface.Utility; @@ -12,205 +9,9 @@ namespace Questionable.Windows; internal static class SidebarNav { - public readonly record struct Item(FontAwesomeIcon Icon, string Label) - { - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202E_206B_206D_202E_200D_206D_206C_200E_206C_202E_206B_202D_202B_202C_206A_200B_206B_202B_202B_206D_200C_202A_202A_200F_206E_206E_206C_206E_202C_202C_202E_206F_206D_206D_202B_200D_200D_206B_206A_206F_202E(); - _206C_200B_202A_202C_202C_202E_206A_200B_200F_206F_206B_206E_200B_206C_206C_200D_202E_206A_206D_202D_206F_200C_200E_206F_202B_206C_206E_200D_206F_200F_200C_202B_206D_200F_202B_206B_202E_206C_202A_200F_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1311867403)); - _206C_200B_202A_202C_202C_202E_206A_200B_200F_206F_206B_206E_200B_206C_206C_200D_202E_206A_206D_202D_206F_200C_200E_206F_202B_206C_206E_200D_206F_200F_200C_202B_206D_200F_202B_206B_202E_206C_202A_200F_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1664411125)); - int num = ((!PrintMembers(stringBuilder)) ? (-982248515) : (-982248514)); - while (true) - { - int num2 = num; - int num3 = -982248513; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -982248514; - break; - case 1: - _200D_206B_202D_200E_200E_206D_206E_206D_206F_206C_202C_200D_200F_200C_202B_200B_206E_202B_202D_200D_202E_206C_202C_200E_200C_206C_206A_202C_200C_200F_206C_202D_200C_202C_200E_206C_206D_202B_202D_206F_202E(stringBuilder, ' '); - num = -982248515; - break; - case 2: - _200D_206B_202D_200E_200E_206D_206E_206D_206F_206C_202C_200D_200F_200C_202B_200B_206E_202B_202D_200D_202E_206C_202C_200E_200C_206C_206A_202C_200C_200F_206C_202D_200C_202C_200E_206C_206D_202B_202D_206F_202E(stringBuilder, '}'); - return _200D_206B_206D_206C_200D_200B_200C_202B_202C_200C_202E_202A_206B_200C_200E_202E_202A_200B_206B_200E_206B_206D_202B_206D_206D_206A_200B_206E_202E_200F_202C_200B_202B_206F_200F_202A_206A_202B_202E_202E_202E((object)stringBuilder); - } - } - } + public readonly record struct Item(FontAwesomeIcon Icon, string Label); - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206C_200B_202A_202C_202C_202E_206A_200B_200F_206F_206B_206E_200B_206C_206C_200D_202E_206A_206D_202D_206F_200C_200E_206F_202B_206C_206E_200D_206F_200F_200C_202B_206D_200F_202B_206B_202E_206C_202A_200F_202E(builder, 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(215639633)); - _206C_200B_202A_202C_202C_202E_206A_200B_200F_206F_206B_206E_200B_206C_206C_200D_202E_206A_206D_202D_206F_200C_200E_206F_202B_206C_206E_200D_206F_200F_200C_202B_206D_200F_202B_206B_202E_206C_202A_200F_202E(builder, Icon.ToString()); - _206C_200B_202A_202C_202C_202E_206A_200B_200F_206F_206B_206E_200B_206C_206C_200D_202E_206A_206D_202D_206F_200C_200E_206F_202B_206C_206E_200D_206F_200F_200C_202B_206D_200F_202B_206B_202E_206C_202A_200F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-215899582)); - _202D_202C_206C_206D_200E_200C_202B_200D_202D_206A_200E_202D_202E_200D_202D_202E_202B_206D_200D_200B_200B_202D_200C_206D_202D_202E_200C_202A_202A_206B_200E_202C_206C_202C_206B_202D_206F_200E_202B_200F_202E(builder, (object)Label); - return true; - } - - [CompilerGenerated] - public bool Equals(Item other) - { - int num = ((!EqualityComparer.Default.Equals(Icon, other.Icon)) ? 1781939279 : 1781939276); - while (true) - { - int num2 = num; - int num3 = 1781939278; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0058; - case 1: - return false; - case 2: - return EqualityComparer.Default.Equals(Label, other.Label); - } - continue; - IL_0058: - num = 1781939276; - } - } - - bool IEquatable.Equals(Item other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _202E_206B_206D_202E_200D_206D_206C_200E_206C_202E_206B_202D_202B_202C_206A_200B_206B_202B_202B_206D_200C_202A_202A_200F_206E_206E_206C_206E_202C_202C_202E_206F_206D_206D_202B_200D_200D_206B_206A_206F_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206C_200B_202A_202C_202C_202E_206A_200B_200F_206F_206B_206E_200B_206C_206C_200D_202E_206A_206D_202D_206F_200C_200E_206F_202B_206C_206E_200D_206F_200F_200C_202B_206D_200F_202B_206B_202E_206C_202A_200F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200D_206B_202D_200E_200E_206D_206E_206D_206F_206C_202C_200D_200F_200C_202B_200B_206E_202B_202D_200D_202E_206C_202C_200E_200C_206C_206A_202C_200C_200F_206C_202D_200C_202C_200E_206C_206D_202B_202D_206F_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200D_206B_206D_206C_200D_200B_200C_202B_202C_200C_202E_202A_206B_200C_200E_202E_202A_200B_206B_200E_206B_206D_202B_206D_206D_206A_200B_206E_202E_200F_202C_200B_202B_206F_200F_202A_206A_202B_202E_202E_202E(object P_0) - { - return P_0.ToString(); - } - - static StringBuilder _202D_202C_206C_206D_200E_200C_202B_200D_202D_206A_200E_202D_202E_200D_202D_202E_202B_206D_200D_200B_200B_202D_200C_206D_202D_202E_200C_202A_202A_206B_200E_202C_206C_202C_206B_202D_206F_200E_202B_200F_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - } - - public readonly record struct Group(string Label, Item[] Items) - { - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200F_206C_206E_202D_200E_200C_206E_202C_200D_202D_202D_202D_200F_206B_200F_200F_200D_206E_202A_206C_200B_206E_200B_202D_206D_206F_202A_206F_206B_202D_200B_206A_200C_202B_206F_206C_206A_202C_200C_202A_202E(); - _206D_200E_202C_200D_200D_202D_200B_206C_200E_202B_202B_200C_202A_202E_202B_206B_206F_200D_206F_206D_200F_202B_206F_202E_200F_206E_202A_202D_202E_206D_206E_200B_206E_200F_200E_200C_206A_202C_202D_202A_202E(stringBuilder, 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(433576367)); - _206D_200E_202C_200D_200D_202D_200B_206C_200E_202B_202B_200C_202A_202E_202B_206B_206F_200D_206F_206D_200F_202B_206F_202E_200F_206E_202A_202D_202E_206D_206E_200B_206E_200F_200E_200C_206A_202C_202D_202A_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? (-1191425301) : (-1191425304)); - while (true) - { - int num2 = num; - int num3 = -1191425303; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1191425304; - break; - case 2: - _206F_200C_202D_200F_200C_202A_206F_200C_202E_200B_200E_202A_200D_200B_206F_200E_200D_206C_200E_206A_202C_202C_202D_202A_206C_202B_202A_202B_202C_206D_202D_206B_206C_200D_200F_206A_202D_206A_200E_202B_202E(stringBuilder, '}'); - return _200F_202C_200E_200E_202D_206B_202A_200E_206B_202E_206B_202E_202E_200D_206C_202A_200D_206B_206B_202E_202E_206C_202D_200D_206B_200D_206C_206F_202E_200B_200C_206C_202D_200C_200F_206D_206F_202D_202C_202D_202E((object)stringBuilder); - case 1: - _206F_200C_202D_200F_200C_202A_206F_200C_202E_200B_200E_202A_200D_200B_206F_200E_200D_206C_200E_206A_202C_202C_202D_202A_206C_202B_202A_202B_202C_206D_202D_206B_206C_200D_200F_206A_202D_206A_200E_202B_202E(stringBuilder, ' '); - num = -1191425301; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206D_200E_202C_200D_200D_202D_200B_206C_200E_202B_202B_200C_202A_202E_202B_206B_206F_200D_206F_206D_200F_202B_206F_202E_200F_206E_202A_202D_202E_206D_206E_200B_206E_200F_200E_200C_206A_202C_202D_202A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(502488726)); - _202D_206C_206A_206D_202D_206C_202B_202C_202A_206E_206E_202E_200B_206C_200D_200C_202D_206E_202D_202D_200E_200D_200C_202A_200B_202B_206D_200E_200F_206E_200D_200B_202E_202C_202B_200E_206B_206B_200F_206F_202E(builder, (object)Label); - _206D_200E_202C_200D_200D_202D_200B_206C_200E_202B_202B_200C_202A_202E_202B_206B_206F_200D_206F_206D_200F_202B_206F_202E_200F_206E_202A_202D_202E_206D_206E_200B_206E_200F_200E_200C_206A_202C_202D_202A_202E(builder, 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(-95840427)); - _202D_206C_206A_206D_202D_206C_202B_202C_202A_206E_206E_202E_200B_206C_200D_200C_202D_206E_202D_202D_200E_200D_200C_202A_200B_202B_206D_200E_200F_206E_200D_200B_202E_202C_202B_200E_206B_206B_200F_206F_202E(builder, (object)Items); - return true; - } - - [CompilerGenerated] - public bool Equals(Group other) - { - int num = ((!EqualityComparer.Default.Equals(Label, other.Label)) ? (-61920254) : (-61920255)); - while (true) - { - int num2 = num; - int num3 = -61920253; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return false; - case 2: - return EqualityComparer.Default.Equals(Items, other.Items); - case 0: - goto IL_006f; - } - continue; - IL_006f: - num = -61920255; - } - } - - bool IEquatable.Equals(Group other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _200F_206C_206E_202D_200E_200C_206E_202C_200D_202D_202D_202D_200F_206B_200F_200F_200D_206E_202A_206C_200B_206E_200B_202D_206D_206F_202A_206F_206B_202D_200B_206A_200C_202B_206F_206C_206A_202C_200C_202A_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206D_200E_202C_200D_200D_202D_200B_206C_200E_202B_202B_200C_202A_202E_202B_206B_206F_200D_206F_206D_200F_202B_206F_202E_200F_206E_202A_202D_202E_206D_206E_200B_206E_200F_200E_200C_206A_202C_202D_202A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206F_200C_202D_200F_200C_202A_206F_200C_202E_200B_200E_202A_200D_200B_206F_200E_200D_206C_200E_206A_202C_202C_202D_202A_206C_202B_202A_202B_202C_206D_202D_206B_206C_200D_200F_206A_202D_206A_200E_202B_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200F_202C_200E_200E_202D_206B_202A_200E_206B_202E_206B_202E_202E_200D_206C_202A_200D_206B_206B_202E_202E_206C_202D_200D_206B_200D_206C_206F_202E_200B_200C_206C_202D_200C_200F_206D_206F_202D_202C_202D_202E(object P_0) - { - return P_0.ToString(); - } - - static StringBuilder _202D_206C_206A_206D_202D_206C_202B_202C_202A_206E_206E_202E_200B_206C_200D_200C_202D_206E_202D_202D_200E_200D_200C_202A_200B_202B_206D_200E_200F_206E_200D_200B_202E_202C_202B_200E_206B_206B_200F_206F_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - } + public readonly record struct Group(string Label, Item[] Items); private const float RowMargin = 4f; @@ -220,386 +21,78 @@ internal static class SidebarNav private const float RowRounding = 4f; - [MethodImpl(MethodImplOptions.NoInlining)] public static int Draw(Group[] groups, int selected, float width = 168f) { int result = selected; - using (_200D_206A_202E_200C_200B_200B_200D_200F_200F_206B_206C_206C_206F_206E_202B_200E_202A_206B_200F_202A_206B_206A_206E_202E_206A_202B_206F_206D_200B_200C_206E_206B_200F_206F_200B_200D_202A_202E_206C_206C_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-969524891), new Vector2(width * _206E_206E_206D_202E_200D_200F_202B_200B_202E_206B_206D_202B_202D_206E_200F_202C_206D_202D_206C_202B_202E_202E_202B_200E_200D_206F_200D_200D_200E_202E_206F_202E_206F_200E_206E_202B_206E_200F_200F_200F_202E(), 0f), false)) + using (ImRaii.Child("##qstSidebar", new Vector2(width * ImGuiHelpers.GlobalScale, 0f), border: false)) { - ImRaii.IdDisposable idDisposable = _206E_206E_202D_202A_202C_200B_200F_200F_206F_200C_200E_200C_206B_202D_202B_206D_206C_202C_206D_206C_200B_202E_202A_206E_200E_202C_200B_202A_202C_202D_200B_206A_200C_200E_202A_200F_206D_206D_206A_206A_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-26716039), true); - try + using (ImRaii.PushId("QstSidebar")) { - ImDrawListPtr imDrawListPtr = _206D_202C_202A_206E_202C_206F_206A_200E_200C_202B_200D_206F_202D_200B_200D_206E_206D_202A_202C_206F_206F_200F_206A_200B_200C_206C_200D_206F_200F_202A_206A_206D_206E_200E_206D_202B_206C_202D_200B_202B_202E(); - float num = _200E_202A_206C_202D_200C_200F_202D_200F_202C_200F_202B_206E_200F_206F_202D_202B_202A_206B_202B_200C_202A_202C_202B_200E_206A_200C_206F_206F_206B_206A_206D_206E_206E_202A_202C_202D_206D_202D_206B_202D_202E(); - float num2 = _202C_206B_200E_206D_206F_206C_202D_206E_200C_206C_200B_206C_202C_206B_200E_202E_206B_200B_202B_206A_200E_206F_206C_202C_200E_206A_206A_200B_206A_206C_202A_202B_202C_200E_202B_206E_206E_200E_200B_206B_202E(); - float num3 = _206E_206E_206D_202E_200D_200F_202B_200B_202E_206B_206D_202B_202D_206E_200F_202C_206D_202D_206C_202B_202E_202E_202B_200E_200D_206F_200D_200D_200E_202E_206F_202E_206F_200E_206E_202B_206E_200F_200F_200F_202E(); - float num4 = 4f * num3; - int num5 = 0; + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + float frameHeight = ImGui.GetFrameHeight(); + float fontSize = ImGui.GetFontSize(); + float globalScale = ImGuiHelpers.GlobalScale; + float num = 4f * globalScale; + int num2 = 0; bool flag = true; - int num6 = 0; - Item[] items = default(Item[]); - int num7 = default(int); - Item item = default(Item); - bool flag2 = default(bool); - bool flag3 = default(bool); - Vector2 pMin = default(Vector2); - Vector2 pMax = default(Vector2); - while (true) + for (int i = 0; i < groups.Length; i++) { - if (num6 < groups.Length) + Group obj = groups[i]; + ImGui.SetCursorPosY(ImGui.GetCursorPosY() + (flag ? 2f : 10f)); + flag = false; + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + num); + ImGui.TextColored(in UiThemeUtils.MutedTextColor, obj.Label.ToUpperInvariant()); + Item[] items = obj.Items; + for (int j = 0; j < items.Length; j++) { - Group obj = groups[num6]; - _200F_202D_206B_206C_206A_202E_200B_202E_206F_202E_202B_206C_206A_202C_206D_200B_202D_206D_206F_206A_206C_202C_202D_202C_202A_200D_200F_206D_206C_200E_206A_200F_200D_202C_202B_200D_202D_206D_206C_202A_202E(_206E_206A_202D_200F_206A_202C_206E_206B_206E_206B_200D_202E_202C_206B_202E_206A_200F_206E_206B_200F_206F_202C_202E_200E_202C_206A_206B_206A_206F_202D_206C_200D_200C_206C_206B_202E_202C_200B_206B_206E_202E() + (flag ? 2f : 10f)); - flag = false; - _202B_200D_206D_200E_202C_200B_200E_200C_202B_200C_200B_206A_200C_202E_202C_200D_202E_202E_206F_202A_200B_200E_206C_200F_202C_200B_200F_200E_202B_202A_206A_206F_206D_202B_202B_202E_202A_200E_202A_200D_202E(_206C_206F_202E_206D_206C_206C_200F_206C_200B_200F_206C_200C_202B_202E_200E_200D_202D_202A_206A_202E_206C_202A_200D_202C_202D_202E_200E_206B_200F_200F_206A_200E_206B_202D_206E_202A_202C_206A_206D_202E() + num4); - _202E_202A_200D_200F_200C_200F_200B_206B_202A_206A_206E_200D_206D_202D_200F_206A_206C_200E_200F_200F_206D_206E_206B_206A_202E_200C_202C_200F_206E_202D_202A_200D_206D_202A_200E_206A_206E_206A_202E_202B_202E(ref UiThemeUtils.MutedTextColor, (ImU8String)_200E_202B_200E_202E_200F_202A_206B_200C_200D_206F_202B_200F_206A_202A_200B_206F_202D_202C_206C_200B_202E_200D_202C_206D_200E_206F_200C_202A_202E_200C_200E_200D_200D_200F_206A_202A_200E_202E_202D_206D_202E(obj.Label)); - items = obj.Items; - num7 = 0; - goto IL_04de; - } - int num8 = 781826990; - goto IL_02b7; - IL_04de: - int num10; - int num11; - if (num7 < items.Length) - { - item = items[num7]; - flag2 = num5 == selected; - _202B_200D_206D_200E_202C_200B_200E_200C_202B_200C_200B_206A_200C_202E_202C_200D_202E_202E_206F_202A_200B_200E_206C_200F_202C_200B_200F_200E_202B_202A_206A_206F_206D_202B_202B_202E_202A_200E_202A_200D_202E(_206C_206F_202E_206D_206C_206C_200F_206C_200B_200F_206C_200C_202B_202E_200E_200D_202D_202A_206A_202E_206C_202A_200D_202C_202D_202E_200E_206B_200F_200F_206A_200E_206B_202D_206E_202A_202C_206A_206D_202E() + num4); - ImRaii.ColorDisposable colorDisposable = _206C_206B_202D_202D_202A_206D_202D_206B_206A_200F_206D_206D_202A_206E_202C_202C_200F_202C_206B_206E_200D_202E_206D_206B_206D_202A_202D_202B_200C_200E_200D_202C_206C_206E_202C_206B_202C_200C_206D_206C_202E(ImGuiCol.Header, Vector4.Zero, true); - try + Item item = items[j]; + bool flag2 = num2 == selected; + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + num); + using (ImRaii.ColorDisposable colorDisposable = ImRaii.PushColor(ImGuiCol.Header, Vector4.Zero)) { - _202D_200F_202D_206A_200D_202A_200B_202A_202E_202B_200C_200C_206B_206D_200E_206A_206A_200C_200E_200E_200F_206D_202E_200E_206C_206B_206C_200D_202C_200F_206F_206C_202C_206C_200C_202D_200B_206D_206E_200D_202E(colorDisposable, ImGuiCol.HeaderHovered, Vector4.Zero, true); - _202D_200F_202D_206A_200D_202A_200B_202A_202E_202B_200C_200C_206B_206D_200E_206A_206A_200C_200E_200E_200F_206D_202E_200E_206C_206B_206C_200D_202C_200F_206F_206C_202C_206C_200C_202D_200B_206D_206E_200D_202E(colorDisposable, ImGuiCol.HeaderActive, Vector4.Zero, true); - ImU8String imU8String = new ImU8String(6, 1); - imU8String.AppendLiteral(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(-1193849588)); - imU8String.AppendFormatted(num5); - num8 = ((!_202B_206D_206E_206C_200D_202E_200B_200F_206F_206F_206E_202D_200D_202B_206B_206A_200B_206A_200D_200C_202A_200E_202B_202A_206B_206F_206B_202B_202E_200F_206F_200D_202C_206B_206D_206D_206C_206B_200D_206E_202E(imU8String, flag2, ImGuiSelectableFlags.None, new Vector2(_202D_200D_202C_202C_206F_200E_202D_202C_206A_200D_202C_206E_200F_202B_206E_202D_202C_200C_202D_202A_200F_202D_200F_206C_200B_202D_206F_202E_206C_202B_202A_202A_206F_200D_200B_206C_202A_206B_202E_206D_202E().X - num4, num))) ? (-1361755139) : (-1361755138)); - while (true) + colorDisposable.Push(ImGuiCol.HeaderHovered, Vector4.Zero); + colorDisposable.Push(ImGuiCol.HeaderActive, Vector4.Zero); + ImU8String label = new ImU8String(6, 1); + label.AppendLiteral("##item"); + label.AppendFormatted(num2); + if (ImGui.Selectable(label, flag2, ImGuiSelectableFlags.None, new Vector2(ImGui.GetContentRegionAvail().X - num, frameHeight))) { - int num9 = num8; - num10 = -1361755137; - num11 = num9; - switch ((num11 | num10) - (num11 & num10)) - { - case 0: - num8 = -1361755138; - break; - case 1: - result = num5; - num8 = -1361755139; - break; - case 2: - goto end_IL_0189; - } - continue; - end_IL_0189: - break; + result = num2; } } - finally + bool flag3 = ImGui.IsItemHovered(); + Vector2 itemRectMin = ImGui.GetItemRectMin(); + Vector2 itemRectMax = ImGui.GetItemRectMax(); + float x = ImGui.GetStyle().ItemSpacing.X; + float num3 = MathF.Truncate(x * 0.5f); + itemRectMin.X += num3; + itemRectMax.X -= x - num3; + if (flag2) { - num8 = ((colorDisposable == null) ? 1309247283 : 1309247280); - while (true) - { - int num12 = num8; - num10 = 1309247282; - num11 = num12; - int num13 = num11 + num10; - int num14 = num11 & num10; - switch (num13 - (num14 + num14)) - { - case 0: - num8 = 1309247280; - break; - case 2: - _206A_200E_206E_200E_200D_206E_206F_200E_200B_200C_206C_206A_206B_200F_206C_206A_206F_206B_206C_200E_206E_202D_206E_202B_202D_206E_206B_206D_206B_206D_200E_206D_202D_206E_202A_200F_202B_200E_200B_200F_202E((IDisposable)colorDisposable); - num8 = 1309247283; - break; - case 1: - goto end_IL_01f4; - } - continue; - end_IL_01f4: - break; - } + windowDrawList.AddRectFilled(itemRectMin, itemRectMax, ImGui.ColorConvertFloat4ToU32(UiThemeUtils.AccentDimColor), 4f); } - flag3 = _202D_206E_200B_206E_206E_206B_206A_202B_206B_206F_200D_200B_202A_202B_202C_200B_202E_206E_200D_202A_200D_206D_206F_200D_206F_206C_200F_206C_200B_206F_202B_202B_206E_202C_200F_200D_202C_206F_206D_200F_202E(); - pMin = _206B_202E_200F_206E_206C_202D_206F_200D_206D_202D_200E_206A_206D_200E_202C_206A_200C_200C_202B_202D_200C_202D_206C_206B_206A_202C_206F_206C_200C_202A_202D_200F_200C_202E_206E_200F_202D_202C_200F_200D_202E(); - pMax = _206E_202B_206E_206F_206F_200D_202D_202B_202E_206E_206E_202E_206C_206D_206A_200E_206D_206C_200C_202A_200E_206C_200F_206E_202A_200E_202A_202B_200C_206A_202C_200E_202C_202D_206D_206D_206E_206B_206A_206F_202E(); - float x = _202B_202A_202D_202D_206B_206C_200C_202A_206E_202E_206A_206C_200D_202E_202C_202A_206E_206C_200B_200C_206B_200D_200D_206C_202B_206D_200D_200E_202B_206B_206B_200C_206A_200F_206A_200D_206B_206F_206E_206B_202E().ItemSpacing.X; - float num15 = _200C_206E_206E_200D_200D_200B_206A_202D_202A_200F_200B_206D_206B_206B_202A_202B_200E_202D_202C_200B_200C_206F_200F_200B_202B_202D_202B_206B_206A_206E_206B_202B_202D_200B_206F_206B_200F_206C_202C_206A_202E(x * 0.5f); - pMin.X += num15; - pMax.X -= x - num15; - num8 = ((!flag2) ? 781826988 : 781826983); - } - else - { - num8 = 781826991; - } - goto IL_02b7; - IL_02b7: - while (true) - { - int num16 = num8; - num10 = 781826990; - num11 = num16; - int num17 = num11 + num10; - int num18 = num11 & num10; - Vector4 vector3; - uint col; - string text; - Vector2 vector4; - switch (num17 - (num18 + num18)) + else if (flag3) { - default: - continue; - case 3: - imDrawListPtr.AddRectFilled(pMin, pMax, _202E_202C_206C_200E_200B_202E_206A_202A_202C_202E_206A_200F_206B_206F_206B_200E_206F_206B_200B_206D_200E_202E_206A_202B_206C_200C_202B_202E_202E_206B_200F_202D_200B_202A_206E_206F_200F_206C_206D_202B_202E(UiThemeUtils.SubtleHoverColor), 4f); - num8 = 781826982; - continue; - case 9: - imDrawListPtr.AddRectFilled(pMin, pMax, _202E_202C_206C_200E_200B_202E_206A_202A_202C_202E_206A_200F_206B_206F_206B_200E_206F_206B_200B_206D_200E_202E_206A_202B_206C_200C_202B_202E_202E_206B_200F_202D_200B_202A_206E_206F_200F_206C_206D_202B_202E(UiThemeUtils.AccentDimColor), 4f); - num8 = 781826982; - continue; - case 2: - num8 = ((!flag3) ? 781826982 : 781826989); - continue; - case 8: - num8 = (flag2 ? 781826985 : 781826984); - continue; - case 4: - num8 = 781826983; - continue; - case 6: - vector3 = UiThemeUtils.DimTextColor; - goto IL_03e1; - case 1: - goto end_IL_02b7; - case 7: - vector3 = UiThemeUtils.AccentColor; - goto IL_03e1; - case 10: + windowDrawList.AddRectFilled(itemRectMin, itemRectMax, ImGui.ColorConvertFloat4ToU32(UiThemeUtils.SubtleHoverColor), 4f); + } + uint col = ImGui.ColorConvertFloat4ToU32(flag2 ? UiThemeUtils.AccentColor : UiThemeUtils.DimTextColor); + string text = item.Icon.ToIconString(); + windowDrawList.AddText(UiBuilder.IconFont, fontSize, new Vector2(itemRectMin.X + 6f * globalScale, itemRectMin.Y + (frameHeight - fontSize) / 2f), col, text); + Vector2 vector = ImGui.CalcTextSize(item.Label); + windowDrawList.AddText(new Vector2(itemRectMin.X + 28f * globalScale, itemRectMin.Y + (frameHeight - vector.Y) / 2f), col, item.Label); + if (flag2) { - int num19 = num5; - num10 = 1; - num11 = num19; - int num20 = num11 ^ num10; - int num21 = num11 & num10; - num5 = num20 + (num21 + num21); - int num22 = num7; - num10 = 1; - num11 = num22; - num7 = (num11 | num10) + (num11 & num10); - break; + windowDrawList.AddRect(itemRectMin, itemRectMax, ImGui.ColorConvertFloat4ToU32(UiThemeUtils.CardBorderColor), 4f, ImDrawFlags.None, 1f); } - case 5: - imDrawListPtr.AddRect(pMin, pMax, _202E_202C_206C_200E_200B_202E_206A_202A_202C_202E_206A_200F_206B_206F_206B_200E_206F_206B_200B_206D_200E_202E_206A_202B_206C_200C_202B_202E_202E_206B_200F_202D_200B_202A_206E_206F_200F_206C_206D_202B_202E(UiThemeUtils.CardBorderColor), 4f, ImDrawFlags.None, 1f); - num8 = 781826980; - continue; - case 0: - { - Vector2 vector = _206B_202D_206A_206F_206E_206B_206D_206B_202B_202D_206F_206B_200B_200D_202D_202E_200E_202B_200C_200D_206E_200E_200D_200C_202D_202D_202B_206C_202B_206B_200E_200C_202A_206F_206D_200D_202B_202B_202B_200F_202E(); - Vector2 vector2 = _202A_202C_206B_206A_206D_206B_202E_206A_200D_200D_200C_200D_206B_206E_200E_200D_206B_200B_200E_206F_202B_206E_202A_202E_202C_202B_200B_202A_202A_200F_206F_202B_206F_200F_200B_200C_202A_206D_202E_206E_202E(); - imDrawListPtr.AddLine(new Vector2(vector.X + vector2.X, vector.Y), new Vector2(vector.X + vector2.X, vector.Y + vector2.Y), _202E_202C_206C_200E_200B_202E_206A_202A_202C_202E_206A_200F_206B_206F_206B_200E_206F_206B_200B_206D_200E_202E_206A_202B_206C_200C_202B_202E_202E_206B_200F_202D_200B_202A_206E_206F_200F_206C_206D_202B_202E(UiThemeUtils.CardBorderColor), 1f); - goto end_IL_03c5; - } - IL_03e1: - col = _202E_202C_206C_200E_200B_202E_206A_202A_202C_202E_206A_200F_206B_206F_206B_200E_206F_206B_200B_206D_200E_202E_206A_202B_206C_200C_202B_202E_202E_206B_200F_202D_200B_202A_206E_206F_200F_206C_206D_202B_202E(vector3); - text = _202B_200F_206D_206D_202B_206D_206F_202B_206F_206D_206B_206E_206C_200E_200D_200E_206A_200B_202E_202C_200D_202C_202B_202D_200E_206E_202C_202A_202B_206A_200B_200E_202D_206C_200E_202D_202C_206A_206A_206F_202E(item.Icon); - imDrawListPtr.AddText(_202E_200C_202D_206C_202E_206F_202C_200B_200B_200C_200F_200C_200C_206B_200F_202B_202A_200D_200D_200D_202B_200C_200C_202B_202E_200E_200C_206E_206E_206C_202E_200D_206B_206D_206E_202E_200F_202B_200F_202E(), num2, new Vector2(pMin.X + 6f * num3, pMin.Y + (num - num2) / 2f), col, text); - vector4 = _206B_200F_202B_206E_202A_200B_200D_200D_206A_202B_202E_202E_206B_200F_206A_206D_206A_206E_200C_206D_202B_206A_206C_200F_206F_202C_202C_200D_200C_206A_206A_200B_200B_200C_206C_206C_200C_206F_202D_206C_202E((ImU8String)item.Label, false, -1f); - imDrawListPtr.AddText(new Vector2(pMin.X + 28f * num3, pMin.Y + (num - vector4.Y) / 2f), col, item.Label); - num8 = ((!flag2) ? 781826980 : 781826987); - continue; - } - goto IL_04de; - continue; - end_IL_02b7: - break; + num2++; } - int num23 = num6; - num10 = 1; - num11 = num23; - num6 = (num11 | num10) + (num11 & num10); - continue; - end_IL_03c5: - break; - } - } - finally - { - int num8 = ((idDisposable == null) ? (-1189285151) : (-1189285152)); - while (true) - { - int num24 = num8; - int num10 = -1189285151; - int num11 = num24; - switch ((num11 | num10) - (num11 & num10)) - { - case 2: - num8 = -1189285152; - break; - case 1: - _206A_200E_206E_200E_200D_206E_206F_200E_200B_200C_206C_206A_206B_200F_206C_206A_206F_206B_206C_200E_206E_202D_206E_202B_202D_206E_206B_206D_206B_206D_200E_206D_202D_206E_202A_200F_202B_200E_200B_200F_202E((IDisposable)idDisposable); - num8 = -1189285151; - break; - case 0: - goto end_IL_05a6; - } - continue; - end_IL_05a6: - break; } + Vector2 windowPos = ImGui.GetWindowPos(); + Vector2 windowSize = ImGui.GetWindowSize(); + windowDrawList.AddLine(new Vector2(windowPos.X + windowSize.X, windowPos.Y), new Vector2(windowPos.X + windowSize.X, windowPos.Y + windowSize.Y), ImGui.ColorConvertFloat4ToU32(UiThemeUtils.CardBorderColor), 1f); } } - _200E_206B_200B_206E_202E_202B_202E_206A_200C_206A_200D_202C_206B_206E_206D_200C_202D_200E_206D_206B_206C_200F_202B_202C_202D_206C_202B_206E_202C_206B_206F_200D_206B_206B_202A_202D_202B_200B_202D_202A_202E(); + ImGui.SameLine(); return result; } - - static float _206E_206E_206D_202E_200D_200F_202B_200B_202E_206B_206D_202B_202D_206E_200F_202C_206D_202D_206C_202B_202E_202E_202B_200E_200D_206F_200D_200D_200E_202E_206F_202E_206F_200E_206E_202B_206E_200F_200F_200F_202E() - { - return ImGuiHelpers.GlobalScale; - } - - static ImRaii.ChildDisposable _200D_206A_202E_200C_200B_200B_200D_200F_200F_206B_206C_206C_206F_206E_202B_200E_202A_206B_200F_202A_206B_206A_206E_202E_206A_202B_206F_206D_200B_200C_206E_206B_200F_206F_200B_200D_202A_202E_206C_206C_202E(ImU8String P_0, Vector2 P_1, bool P_2) - { - return ImRaii.Child(P_0, P_1, P_2); - } - - static ImRaii.IdDisposable _206E_206E_202D_202A_202C_200B_200F_200F_206F_200C_200E_200C_206B_202D_202B_206D_206C_202C_206D_206C_200B_202E_202A_206E_200E_202C_200B_202A_202C_202D_200B_206A_200C_200E_202A_200F_206D_206D_206A_206A_202E(ImU8String P_0, bool P_1) - { - return ImRaii.PushId(P_0, P_1); - } - - static ImDrawListPtr _206D_202C_202A_206E_202C_206F_206A_200E_200C_202B_200D_206F_202D_200B_200D_206E_206D_202A_202C_206F_206F_200F_206A_200B_200C_206C_200D_206F_200F_202A_206A_206D_206E_200E_206D_202B_206C_202D_200B_202B_202E() - { - return ImGui.GetWindowDrawList(); - } - - static float _200E_202A_206C_202D_200C_200F_202D_200F_202C_200F_202B_206E_200F_206F_202D_202B_202A_206B_202B_200C_202A_202C_202B_200E_206A_200C_206F_206F_206B_206A_206D_206E_206E_202A_202C_202D_206D_202D_206B_202D_202E() - { - return ImGui.GetFrameHeight(); - } - - static float _202C_206B_200E_206D_206F_206C_202D_206E_200C_206C_200B_206C_202C_206B_200E_202E_206B_200B_202B_206A_200E_206F_206C_202C_200E_206A_206A_200B_206A_206C_202A_202B_202C_200E_202B_206E_206E_200E_200B_206B_202E() - { - return ImGui.GetFontSize(); - } - - static float _206E_206A_202D_200F_206A_202C_206E_206B_206E_206B_200D_202E_202C_206B_202E_206A_200F_206E_206B_200F_206F_202C_202E_200E_202C_206A_206B_206A_206F_202D_206C_200D_200C_206C_206B_202E_202C_200B_206B_206E_202E() - { - return ImGui.GetCursorPosY(); - } - - static void _200F_202D_206B_206C_206A_202E_200B_202E_206F_202E_202B_206C_206A_202C_206D_200B_202D_206D_206F_206A_206C_202C_202D_202C_202A_200D_200F_206D_206C_200E_206A_200F_200D_202C_202B_200D_202D_206D_206C_202A_202E(float P_0) - { - ImGui.SetCursorPosY(P_0); - } - - static float _206C_206F_202E_206D_206C_206C_200F_206C_200B_200F_206C_200C_202B_202E_200E_200D_202D_202A_206A_202E_206C_202A_200D_202C_202D_202E_200E_206B_200F_200F_206A_200E_206B_202D_206E_202A_202C_206A_206D_202E() - { - return ImGui.GetCursorPosX(); - } - - static void _202B_200D_206D_200E_202C_200B_200E_200C_202B_200C_200B_206A_200C_202E_202C_200D_202E_202E_206F_202A_200B_200E_206C_200F_202C_200B_200F_200E_202B_202A_206A_206F_206D_202B_202B_202E_202A_200E_202A_200D_202E(float P_0) - { - ImGui.SetCursorPosX(P_0); - } - - static string _200E_202B_200E_202E_200F_202A_206B_200C_200D_206F_202B_200F_206A_202A_200B_206F_202D_202C_206C_200B_202E_200D_202C_206D_200E_206F_200C_202A_202E_200C_200E_200D_200D_200F_206A_202A_200E_202E_202D_206D_202E(string P_0) - { - return P_0.ToUpperInvariant(); - } - - static void _202E_202A_200D_200F_200C_200F_200B_206B_202A_206A_206E_200D_206D_202D_200F_206A_206C_200E_200F_200F_206D_206E_206B_206A_202E_200C_202C_200F_206E_202D_202A_200D_206D_202A_200E_206A_206E_206A_202E_202B_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static ImRaii.ColorDisposable _206C_206B_202D_202D_202A_206D_202D_206B_206A_200F_206D_206D_202A_206E_202C_202C_200F_202C_206B_206E_200D_202E_206D_206B_206D_202A_202D_202B_200C_200E_200D_202C_206C_206E_202C_206B_202C_200C_206D_206C_202E(ImGuiCol P_0, Vector4 P_1, bool P_2) - { - return ImRaii.PushColor(P_0, P_1, P_2); - } - - static ImRaii.ColorDisposable _202D_200F_202D_206A_200D_202A_200B_202A_202E_202B_200C_200C_206B_206D_200E_206A_206A_200C_200E_200E_200F_206D_202E_200E_206C_206B_206C_200D_202C_200F_206F_206C_202C_206C_200C_202D_200B_206D_206E_200D_202E(ImRaii.ColorDisposable P_0, ImGuiCol P_1, Vector4 P_2, bool P_3) - { - return P_0.Push(P_1, P_2, P_3); - } - - static Vector2 _202D_200D_202C_202C_206F_200E_202D_202C_206A_200D_202C_206E_200F_202B_206E_202D_202C_200C_202D_202A_200F_202D_200F_206C_200B_202D_206F_202E_206C_202B_202A_202A_206F_200D_200B_206C_202A_206B_202E_206D_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static bool _202B_206D_206E_206C_200D_202E_200B_200F_206F_206F_206E_202D_200D_202B_206B_206A_200B_206A_200D_200C_202A_200E_202B_202A_206B_206F_206B_202B_202E_200F_206F_200D_202C_206B_206D_206D_206C_206B_200D_206E_202E(ImU8String P_0, bool P_1, ImGuiSelectableFlags P_2, Vector2 P_3) - { - return ImGui.Selectable(P_0, P_1, P_2, P_3); - } - - static void _206A_200E_206E_200E_200D_206E_206F_200E_200B_200C_206C_206A_206B_200F_206C_206A_206F_206B_206C_200E_206E_202D_206E_202B_202D_206E_206B_206D_206B_206D_200E_206D_202D_206E_202A_200F_202B_200E_200B_200F_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static bool _202D_206E_200B_206E_206E_206B_206A_202B_206B_206F_200D_200B_202A_202B_202C_200B_202E_206E_200D_202A_200D_206D_206F_200D_206F_206C_200F_206C_200B_206F_202B_202B_206E_202C_200F_200D_202C_206F_206D_200F_202E() - { - return ImGui.IsItemHovered(); - } - - static Vector2 _206B_202E_200F_206E_206C_202D_206F_200D_206D_202D_200E_206A_206D_200E_202C_206A_200C_200C_202B_202D_200C_202D_206C_206B_206A_202C_206F_206C_200C_202A_202D_200F_200C_202E_206E_200F_202D_202C_200F_200D_202E() - { - return ImGui.GetItemRectMin(); - } - - static Vector2 _206E_202B_206E_206F_206F_200D_202D_202B_202E_206E_206E_202E_206C_206D_206A_200E_206D_206C_200C_202A_200E_206C_200F_206E_202A_200E_202A_202B_200C_206A_202C_200E_202C_202D_206D_206D_206E_206B_206A_206F_202E() - { - return ImGui.GetItemRectMax(); - } - - static ImGuiStylePtr _202B_202A_202D_202D_206B_206C_200C_202A_206E_202E_206A_206C_200D_202E_202C_202A_206E_206C_200B_200C_206B_200D_200D_206C_202B_206D_200D_200E_202B_206B_206B_200C_206A_200F_206A_200D_206B_206F_206E_206B_202E() - { - return ImGui.GetStyle(); - } - - static float _200C_206E_206E_200D_200D_200B_206A_202D_202A_200F_200B_206D_206B_206B_202A_202B_200E_202D_202C_200B_200C_206F_200F_200B_202B_202D_202B_206B_206A_206E_206B_202B_202D_200B_206F_206B_200F_206C_202C_206A_202E(float P_0) - { - return MathF.Truncate(P_0); - } - - static uint _202E_202C_206C_200E_200B_202E_206A_202A_202C_202E_206A_200F_206B_206F_206B_200E_206F_206B_200B_206D_200E_202E_206A_202B_206C_200C_202B_202E_202E_206B_200F_202D_200B_202A_206E_206F_200F_206C_206D_202B_202E(Vector4 P_0) - { - return ImGui.ColorConvertFloat4ToU32(P_0); - } - - static string _202B_200F_206D_206D_202B_206D_206F_202B_206F_206D_206B_206E_206C_200E_200D_200E_206A_200B_202E_202C_200D_202C_202B_202D_200E_206E_202C_202A_202B_206A_200B_200E_202D_206C_200E_202D_202C_206A_206A_206F_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static ImFontPtr _202E_200C_202D_206C_202E_206F_202C_200B_200B_200C_200F_200C_200C_206B_200F_202B_202A_200D_200D_200D_202B_200C_200C_202B_202E_200E_200C_206E_206E_206C_202E_200D_206B_206D_206E_202E_200F_202B_200F_202E() - { - return UiBuilder.IconFont; - } - - static Vector2 _206B_200F_202B_206E_202A_200B_200D_200D_206A_202B_202E_202E_206B_200F_206A_206D_206A_206E_200C_206D_202B_206A_206C_200F_206F_202C_202C_200D_200C_206A_206A_200B_200B_200C_206C_206C_200C_206F_202D_206C_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static Vector2 _206B_202D_206A_206F_206E_206B_206D_206B_202B_202D_206F_206B_200B_200D_202D_202E_200E_202B_200C_200D_206E_200E_200D_200C_202D_202D_202B_206C_202B_206B_200E_200C_202A_206F_206D_200D_202B_202B_202B_200F_202E() - { - return ImGui.GetWindowPos(); - } - - static Vector2 _202A_202C_206B_206A_206D_206B_202E_206A_200D_200D_200C_200D_206B_206E_200E_200D_206B_200B_200E_206F_202B_206E_202A_202E_202C_202B_200B_202A_202A_200F_206F_202B_206F_200F_200B_200C_202A_206D_202E_206E_202E() - { - return ImGui.GetWindowSize(); - } - - static void _200E_206B_200B_206E_202E_202B_202E_206A_200C_206A_200D_202C_206B_206E_206D_200C_202D_200E_206D_206B_206C_200F_202B_202C_202D_206C_202B_206E_202C_206B_206F_200D_206B_206B_202A_202D_202B_200B_202D_202A_202E() - { - ImGui.SameLine(); - } } diff --git a/Questionable/Questionable.Windows/ThemedWindow.cs b/Questionable/Questionable.Windows/ThemedWindow.cs index 0ff8952..2457dc9 100644 --- a/Questionable/Questionable.Windows/ThemedWindow.cs +++ b/Questionable/Questionable.Windows/ThemedWindow.cs @@ -13,57 +13,19 @@ internal abstract class ThemedWindow : LWindow public void Dispose() { - int num = ((!_disposed) ? (-1959803182) : (-1959803178)); - while (true) + if (!_disposed) { - int num2 = num; - int num3 = -1959803180; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + _disposed = true; + if (styles > 0) { - case 4: - num = -1959803178; - break; - case 2: - return; - case 1: - _206A_206C_202B_200C_206C_200C_202B_200F_202D_200E_202C_200B_206C_202D_200D_202D_202C_202E_202E_206E_202D_206C_200F_202E_206D_202D_206B_200C_202B_200D_206E_200E_202E_202D_200E_202E_200F_202A_202D_202B_202E(styles); - num = -1959803180; - break; - case 5: - _202C_202E_206B_206D_202A_202C_200F_206E_206C_206A_202E_202E_202A_206B_202D_202E_200D_202C_206C_200D_206D_202A_200B_200D_202D_206E_202B_200B_206E_202B_202E_206B_206F_202D_202D_202B_206B_202E_200C_206A_202E(colors); - num = -1959803177; - break; - case 0: - num = ((colors <= 0) ? (-1959803177) : (-1959803183)); - break; - case 3: - return; - case 6: - _disposed = true; - num = ((styles <= 0) ? (-1959803180) : (-1959803179)); - break; + ImGui.PopStyleVar(styles); + } + if (colors > 0) + { + ImGui.PopStyleColor(colors); } } } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static void _206A_206C_202B_200C_206C_200C_202B_200F_202D_200E_202C_200B_206C_202D_200D_202D_202C_202E_202E_206E_202D_206C_200F_202E_206D_202D_206B_200C_202B_200D_206E_200E_202E_202D_200E_202E_200F_202A_202D_202B_202E(int P_0) - { - ImGui.PopStyleVar(P_0); - } - - static void _202C_202E_206B_206D_202A_202C_200F_206E_206C_206A_202E_202E_202A_206B_202D_202E_200D_202C_206C_200D_206D_202A_200B_200D_202D_206E_202B_200B_206E_202B_202E_206B_206F_202D_202D_202B_206B_202E_200C_206A_202E(int P_0) - { - ImGui.PopStyleColor(P_0); - } } private IDisposable? _theme; @@ -75,19 +37,15 @@ internal abstract class ThemedWindow : LWindow public override void PreDraw() { - _206D_200B_206C_206B_200B_206B_206B_202E_200B_206B_202C_202D_206D_202D_206C_206F_206F_206D_200E_206E_200E_200C_202A_202B_206F_206B_200F_202B_206E_200E_206C_206D_200F_206D_202A_206C_206A_200D_200F_200C_202E(); + base.PreDraw(); _theme = PushTheme(); } public override void PostDraw() { - IDisposable? theme = _theme; - if (theme != null) - { - _200F_206E_206B_206C_206C_206D_206A_200D_206D_200C_206A_206A_200C_202E_202D_202C_200B_202D_200B_206D_200D_206E_206E_206C_202D_202B_206C_200F_206C_200B_206D_202B_206B_200C_206B_202E_202D_206C_206D_206B_202E(theme); - } + _theme?.Dispose(); _theme = null; - _206D_202B_202D_202E_206A_206F_200B_206F_206B_200C_206A_206A_200F_200B_202D_200E_202C_200F_200E_200C_202B_200E_202D_206C_206C_206D_206E_200F_206A_202E_206E_206C_200E_200F_206E_200C_206F_206D_206D_200E_202E(); + base.PostDraw(); } public static IDisposable PushTheme() @@ -146,46 +104,13 @@ internal abstract class ThemedWindow : LWindow return new ThemeScope(colors, styles); void C(ImGuiCol col, Vector4 color) { - _202E_200D_200C_200E_202B_206C_206C_206A_206A_206D_200C_206B_200C_206B_200D_206B_200B_202B_206B_200D_206D_202B_206D_206C_200C_202E_202B_206F_200D_206F_202A_200C_206F_206B_206C_202B_202E_200F_206E_206E_202E(col, color); - int num = colors; - int num2 = 1; - int num3 = num; - colors = (num3 | num2) + (num3 & num2); + ImGui.PushStyleColor(col, color); + colors++; } void S(ImGuiStyleVar var, float val) { - _206B_206A_202D_206B_206E_206B_200C_200C_202E_200D_202A_206C_200B_202B_206D_206C_206F_200B_206A_202B_206C_206B_202A_200F_200D_202B_200C_206E_200D_200F_206D_202D_202E_200B_200D_206B_202B_206A_206E_206A_202E(var, val); - int num = styles; - int num2 = 1; - int num3 = num; - int num4 = num3 ^ num2; - int num5 = num3 & num2; - styles = num4 + (num5 + num5); + ImGui.PushStyleVar(var, val); + styles++; } } - - void _206D_200B_206C_206B_200B_206B_206B_202E_200B_206B_202C_202D_206D_202D_206C_206F_206F_206D_200E_206E_200E_200C_202A_202B_206F_206B_200F_202B_206E_200E_206C_206D_200F_206D_202A_206C_206A_200D_200F_200C_202E() - { - base.PreDraw(); - } - - static void _200F_206E_206B_206C_206C_206D_206A_200D_206D_200C_206A_206A_200C_202E_202D_202C_200B_202D_200B_206D_200D_206E_206E_206C_202D_202B_206C_200F_206C_200B_206D_202B_206B_200C_206B_202E_202D_206C_206D_206B_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - void _206D_202B_202D_202E_206A_206F_200B_206F_206B_200C_206A_206A_200F_200B_202D_200E_202C_200F_200E_200C_202B_200E_202D_206C_206C_206D_206E_200F_206A_202E_206E_206C_200E_200F_206E_200C_206F_206D_206D_200E_202E() - { - base.PostDraw(); - } - - static void _202E_200D_200C_200E_202B_206C_206C_206A_206A_206D_200C_206B_200C_206B_200D_206B_200B_202B_206B_200D_206D_202B_206D_206C_200C_202E_202B_206F_200D_206F_202A_200C_206F_206B_206C_202B_202E_200F_206E_206E_202E(ImGuiCol P_0, Vector4 P_1) - { - ImGui.PushStyleColor(P_0, P_1); - } - - static void _206B_206A_202D_206B_206E_206B_200C_200C_202E_200D_202A_206C_200B_202B_206D_206C_206F_200B_206A_202B_206C_206B_202A_200F_200D_202B_200C_206E_200D_200F_206D_202D_202E_200B_200D_206B_202B_206A_206E_206A_202E(ImGuiStyleVar P_0, float P_1) - { - ImGui.PushStyleVar(P_0, P_1); - } } diff --git a/Questionable/Questionable.Windows/UiThemeUtils.cs b/Questionable/Questionable.Windows/UiThemeUtils.cs index c3c6797..c8211ca 100644 --- a/Questionable/Questionable.Windows/UiThemeUtils.cs +++ b/Questionable/Questionable.Windows/UiThemeUtils.cs @@ -1,5 +1,4 @@ using System; -using System.Collections.Generic; using System.Numerics; using System.Runtime.CompilerServices; using System.Text; @@ -15,106 +14,7 @@ namespace Questionable.Windows; internal static class UiThemeUtils { - public readonly record struct GridCheckbox(string Label, bool Value, string? Tooltip = null) - { - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202A_202E_206F_206C_202A_202A_200E_202C_206A_206D_200B_200D_202A_202B_206B_202B_202A_200F_206F_202C_200F_206F_202D_206F_206C_206D_206D_200F_200C_200F_200F_202C_206A_206C_206E_206F_200F_206E_202A_200F_202E(); - _206A_206E_206E_200F_200C_206D_206A_200F_200F_202A_200F_202C_206A_200E_206B_206B_200C_206F_206E_200D_206C_202E_206E_200E_200D_206C_202E_206D_200B_206E_206B_206C_202D_206D_202C_202C_206F_200B_202C_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(179489552)); - _206A_206E_206E_200F_200C_206D_206A_200F_200F_202A_200F_202C_206A_200E_206B_206B_200C_206F_206E_200D_206C_202E_206E_200E_200D_206C_202E_206D_200B_206E_206B_206C_202D_206D_202C_202C_206F_200B_202C_202E(stringBuilder, 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(698284764)); - int num = ((!PrintMembers(stringBuilder)) ? (-1155276585) : (-1155276586)); - while (true) - { - int num2 = num; - int num3 = -1155276585; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - _200B_206C_206C_200E_206C_202B_202E_202B_202B_206E_202E_200D_206A_202E_202B_206A_206A_202A_202A_202B_200F_206C_206A_202A_202B_202E_202D_200C_202C_206C_206E_200B_202B_202E_206D_202E_200D_206E_206D_200E_202E(stringBuilder, '}'); - return _200D_202D_206E_206F_202A_202B_206C_200B_202E_202C_206F_206B_202C_202B_202D_206C_202D_200E_202B_200E_200E_200D_206A_202E_202E_200C_206F_202A_202A_200E_202B_206B_200D_202D_200F_202D_206A_202B_206A_202E_202E((object)stringBuilder); - case 1: - _200B_206C_206C_200E_206C_202B_202E_202B_202B_206E_202E_200D_206A_202E_202B_206A_206A_202A_202A_202B_200F_206C_206A_202A_202B_202E_202D_200C_202C_206C_206E_200B_202B_202E_206D_202E_200D_206E_206D_200E_202E(stringBuilder, ' '); - num = -1155276585; - break; - case 2: - num = -1155276586; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206A_206E_206E_200F_200C_206D_206A_200F_200F_202A_200F_202C_206A_200E_206B_206B_200C_206F_206E_200D_206C_202E_206E_200E_200D_206C_202E_206D_200B_206E_206B_206C_202D_206D_202C_202C_206F_200B_202C_202E(builder, 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(-79426945)); - _200D_206A_200D_206F_202B_206B_206D_206D_200D_202A_202C_202B_206A_202A_200F_206E_206F_206D_202C_206C_202A_206D_200B_202A_206E_202C_202C_200D_206D_206C_202B_202B_202D_200F_206E_206A_200C_202C_206C_200D_202E(builder, (object)Label); - _206A_206E_206E_200F_200C_206D_206A_200F_200F_202A_200F_202C_206A_200E_206B_206B_200C_206F_206E_200D_206C_202E_206E_200E_200D_206C_202E_206D_200B_206E_206B_206C_202D_206D_202C_202C_206F_200B_202C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-89441394)); - _206A_206E_206E_200F_200C_206D_206A_200F_200F_202A_200F_202C_206A_200E_206B_206B_200C_206F_206E_200D_206C_202E_206E_200E_200D_206C_202E_206D_200B_206E_206B_206C_202D_206D_202C_202C_206F_200B_202C_202E(builder, Value.ToString()); - _206A_206E_206E_200F_200C_206D_206A_200F_200F_202A_200F_202C_206A_200E_206B_206B_200C_206F_206E_200D_206C_202E_206E_200E_200D_206C_202E_206D_200B_206E_206B_206C_202D_206D_202C_202C_206F_200B_202C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-2096210289)); - _200D_206A_200D_206F_202B_206B_206D_206D_200D_202A_202C_202B_206A_202A_200F_206E_206F_206D_202C_206C_202A_206D_200B_202A_206E_202C_202C_200D_206D_206C_202B_202B_202D_200F_206E_206A_200C_202C_206C_200D_202E(builder, (object)Tooltip); - return true; - } - - [CompilerGenerated] - public bool Equals(GridCheckbox other) - { - int num = ((!EqualityComparer.Default.Equals(Label, other.Label)) ? (-375874886) : (-375874887)); - while (true) - { - int num2 = num; - int num3 = -375874888; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = -375874887; - break; - case 0: - return EqualityComparer.Default.Equals(Tooltip, other.Tooltip); - case 1: - num = ((!EqualityComparer.Default.Equals(Value, other.Value)) ? (-375874886) : (-375874888)); - break; - case 2: - return false; - } - } - } - - bool IEquatable.Equals(GridCheckbox other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _202A_202E_206F_206C_202A_202A_200E_202C_206A_206D_200B_200D_202A_202B_206B_202B_202A_200F_206F_202C_200F_206F_202D_206F_206C_206D_206D_200F_200C_200F_200F_202C_206A_206C_206E_206F_200F_206E_202A_200F_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206A_206E_206E_200F_200C_206D_206A_200F_200F_202A_200F_202C_206A_200E_206B_206B_200C_206F_206E_200D_206C_202E_206E_200E_200D_206C_202E_206D_200B_206E_206B_206C_202D_206D_202C_202C_206F_200B_202C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200B_206C_206C_200E_206C_202B_202E_202B_202B_206E_202E_200D_206A_202E_202B_206A_206A_202A_202A_202B_200F_206C_206A_202A_202B_202E_202D_200C_202C_206C_206E_200B_202B_202E_206D_202E_200D_206E_206D_200E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200D_202D_206E_206F_202A_202B_206C_200B_202E_202C_206F_206B_202C_202B_202D_206C_202D_200E_202B_200E_200E_200D_206A_202E_202E_200C_206F_202A_202A_200E_202B_206B_200D_202D_200F_202D_206A_202B_206A_202E_202E(object P_0) - { - return P_0.ToString(); - } - - static StringBuilder _200D_206A_200D_206F_202B_206B_206D_206D_200D_202A_202C_202B_206A_202A_200F_206E_206F_206D_202C_206C_202A_206D_200B_202A_206E_202C_202C_200D_206D_206C_202B_202B_202D_200F_206E_206A_200C_202C_206C_200D_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - } + public readonly record struct GridCheckbox(string Label, bool Value, string? Tooltip = null); public const float SpacingInner = 8f; @@ -124,7 +24,7 @@ internal static class UiThemeUtils public const float ControlWidth = 260f; - private static readonly uint AltRowColor = _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(new Vector4(0.15f, 0.12f, 0.2f, 0.3f)); + private static readonly uint AltRowColor = ImGui.ColorConvertFloat4ToU32(new Vector4(0.15f, 0.12f, 0.2f, 0.3f)); public static readonly Vector4 CardBackgroundColor = new Vector4(1f, 1f, 1f, 0.035f); @@ -180,1659 +80,589 @@ internal static class UiThemeUtils public static void WrappedText(string text) { - _202C_200D_202A_206C_200E_202C_200B_200B_202A_206B_202E_202C_202C_200D_206B_202D_200D_206B_202B_206E_206D_202C_200E_202A_202D_206A_206C_202C_202A_200D_202A_200B_200E_206B_202B_200F_202E_202B_200C_200F_202E(_202D_200B_200D_202B_202D_206D_200D_206C_206B_200D_200B_206C_206D_200C_202E_206D_206C_200B_202B_202D_200D_200F_200C_202E_200E_202A_206C_206A_206D_202D_200C_202E_206F_206C_206E_202C_200D_206B_206B_200C_202E() + _206E_200D_200C_206B_200C_206F_200F_200B_200F_206C_206D_200D_206E_202E_200B_202E_200C_206E_206A_202A_202E_200E_206D_206B_200E_202B_202D_206C_200D_202C_202E_202B_202D_200B_200F_202E_200B_202C_200C_206E_202E().X); - _200E_202A_206A_200E_206E_206E_206B_206B_206B_206C_206F_202A_200E_206A_200C_200E_202E_202C_206C_200E_206D_202C_200F_200C_206E_200D_200E_202D_206D_206A_200E_200B_202B_206E_206E_206B_200C_202A_206B_200C_202E((ImU8String)text); - _200C_200C_206E_200B_200E_202C_200E_206D_206C_202C_200D_202C_200D_206B_202C_206D_202D_206C_200E_202D_206A_206B_206D_202C_200C_206A_202D_200E_200E_200B_206C_202B_200D_200F_206D_202A_202C_200B_202E_202A_202E(); + ImGui.PushTextWrapPos(ImGui.GetCursorPosX() + ImGui.GetContentRegionAvail().X); + ImGui.TextUnformatted(text); + ImGui.PopTextWrapPos(); } public static void WrappedTextColored(Vector4 color, string text) { - ImRaii.ColorDisposable colorDisposable = _200C_200C_200F_200D_206A_200E_202A_206D_200E_202C_206F_206D_200E_200B_206E_200D_206C_202C_202A_202D_200B_202D_206B_202A_202B_206A_200B_206F_206E_200B_206A_206A_202E_202A_200E_200F_200F_206B_202B_200F_202E(ImGuiCol.Text, color, true); - try + using (ImRaii.PushColor(ImGuiCol.Text, color)) { WrappedText(text); } - finally - { - int num = ((colorDisposable == null) ? (-1025421329) : (-1025421332)); - while (true) - { - int num2 = num; - int num3 = -1025421331; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto end_IL_0030; - case 1: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)colorDisposable); - num = -1025421329; - break; - case 0: - num = -1025421332; - break; - } - continue; - end_IL_0030: - break; - } - } } public static string TruncateToWidth(string text, float maxWidth) { - int num = (_202B_200F_206E_202D_200E_202B_202B_206C_206E_202B_200C_206B_202C_206A_200E_200F_202D_202C_206C_202B_202B_202E_200B_202D_202C_206A_206E_206A_202B_206D_206B_202A_200E_206A_206B_206E_200D_200E_202D_200E_202E(text) ? (-1626955586) : (-1626955587)); - int num10 = default(int); - int num8 = default(int); - int num7 = default(int); - while (true) + if (string.IsNullOrEmpty(text) || maxWidth <= 0f || ImGui.CalcTextSize(text).X <= maxWidth) { - int num2 = num; - int num3 = -1626955588; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return text; + } + if (ImGui.CalcTextSize(Ellipsis).X > maxWidth) + { + return Ellipsis; + } + int num = 0; + int num2 = text.Length; + while (num < num2) + { + int num3 = (num + num2 + 1) / 2; + if (ImGui.CalcTextSize(string.Concat(text.AsSpan(0, num3), Ellipsis.AsSpan())).X <= maxWidth) { - case 0: - num = -1626955587; - break; - case 3: - { - int num9 = num10; - num3 = 1; - num4 = num9; - num8 = ~(~num4 + num3); - num = -1626955591; - break; + num = num3; } - case 13: - num7 = num10; - num = -1626955591; - break; - case 7: - num = ((num7 <= 0) ? (-1626955593) : (-1626955590)); - break; - case 6: - return _206E_200E_206F_206F_202C_202E_200E_200B_202E_200F_202E_202C_206E_206D_206E_200C_206D_206D_206C_200F_206C_202A_202B_200D_200B_202A_202D_202E_206B_200B_200F_200C_206E_202D_202C_200F_200B_202B_206C_202D_202E(_200D_202A_202C_200D_202E_202D_200E_200D_200C_202A_202A_202C_202E_202D_202A_206E_206F_200E_206C_206D_202A_206D_200F_202E_206E_200D_206A_202B_200D_206D_200F_200E_200F_202C_200E_206C_202A_206D_200F_200D_202E(text, 0, num7), _202B_206B_206C_206C_206F_206A_206D_200F_206C_202D_206A_206C_206A_206C_202C_202D_200F_206F_200B_200C_202C_200B_202D_202B_200E_202A_200D_200B_206C_202E_206F_202E_200D_200E_206E_202C_202A_200F_200B_202C_202E(Ellipsis)); - case 8: - num = ((!(_200D_206B_202E_202A_202A_200F_202A_200F_202E_206B_200B_202E_202B_206A_206B_200F_206C_206D_200F_200D_206B_202A_200E_206A_202E_206B_200E_200E_202A_200C_206D_206D_200C_206F_202C_202E_206D_206D_200C_206A_202E((ImU8String)Ellipsis, false, -1f).X > maxWidth)) ? (-1626955594) : (-1626955592)); - break; - case 9: - num = ((!(_200D_206B_202E_202A_202A_200F_202A_200F_202E_206B_200B_202E_202B_206A_206B_200F_206C_206D_200F_200D_206B_202A_200E_206A_202E_206B_200E_200E_202A_200C_206D_206D_200C_206F_202C_202E_206D_206D_200C_206A_202E((ImU8String)text, false, -1f).X <= maxWidth)) ? (-1626955596) : (-1626955586)); - break; - case 2: - return text; - case 5: - num = ((num7 < num8) ? (-1626955600) : (-1626955589)); - break; - case 12: + else { - int num11 = num7; - num3 = num8; - num4 = num11; - int num12 = (num4 | num3) + (num4 & num3); - num3 = 1; - num4 = num12; - int num13 = num4 ^ num3; - int num14 = num4 & num3; - num10 = (num13 + (num14 + num14)) / 2; - num = ((!(_200D_206B_202E_202A_202A_200F_202A_200F_202E_206B_200B_202E_202B_206A_206B_200F_206C_206D_200F_200D_206B_202A_200E_206A_202E_206B_200E_200E_202A_200C_206D_206D_200C_206F_202C_202E_206D_206D_200C_206A_202E((ImU8String)_206E_200E_206F_206F_202C_202E_200E_200B_202E_200F_202E_202C_206E_206D_206E_200C_206D_206D_206C_200F_206C_202A_202B_200D_200B_202A_202D_202E_206B_200B_200F_200C_206E_202D_202C_200F_200B_202B_206C_202D_202E(_200D_202A_202C_200D_202E_202D_200E_200D_200C_202A_202A_202C_202E_202D_202A_206E_206F_200E_206C_206D_202A_206D_200F_202E_206E_200D_206A_202B_200D_206D_200F_200E_200F_202C_200E_206C_202A_206D_200F_200D_202E(text, 0, num10), _202B_206B_206C_206C_206F_206A_206D_200F_206C_202D_206A_206C_206A_206C_202C_202D_200F_206F_200B_200C_202C_200B_202D_202B_200E_202A_200D_200B_206C_202E_206F_202E_200D_200E_206E_202C_202A_200F_200B_202C_202E(Ellipsis)), false, -1f).X <= maxWidth)) ? (-1626955585) : (-1626955599)); - break; - } - case 1: - num = ((maxWidth <= 0f) ? (-1626955586) : (-1626955595)); - break; - case 4: - return Ellipsis; - case 10: - num7 = 0; - num8 = _206C_202D_206C_200C_202E_206B_206B_202A_206C_206A_200F_206D_202D_202A_202C_200F_202E_202B_206B_202E_206D_206C_206E_206F_206D_202A_206C_200B_202A_200F_206A_200E_202C_200E_206D_202D_206F_200F_206F_206A_202E(text); - num = -1626955591; - break; - case 11: - return Ellipsis; + num2 = num3 - 1; } } + if (num > 0) + { + return string.Concat(text.AsSpan(0, num), Ellipsis.AsSpan()); + } + return Ellipsis; } public static void RowLabel(string text, float reservedRightWidth) { - float maxWidth = _206E_200D_200C_206B_200C_206F_200F_200B_200F_206C_206D_200D_206E_202E_200B_202E_200C_206E_206A_202A_202E_200E_206D_206B_200E_202B_202D_206C_200D_202C_202E_202B_202D_200B_200F_202E_200B_202C_200C_206E_202E().X - reservedRightWidth; - _200E_202A_206A_200E_206E_206E_206B_206B_206B_206C_206F_202A_200E_206A_200C_200E_202E_202C_206C_200E_206D_202C_200F_200C_206E_200D_200E_202D_206D_206A_200E_200B_202B_206E_206E_206B_200C_202A_206B_200C_202E((ImU8String)TruncateToWidth(text, maxWidth)); + float maxWidth = ImGui.GetContentRegionAvail().X - reservedRightWidth; + ImGui.TextUnformatted(TruncateToWidth(text, maxWidth)); } public static void RowLabel(string text, float reservedRightWidth, Vector4 color) { - ImRaii.ColorDisposable colorDisposable = _200C_200C_200F_200D_206A_200E_202A_206D_200E_202C_206F_206D_200E_200B_206E_200D_206C_202C_202A_202D_200B_202D_206B_202A_202B_206A_200B_206F_206E_200B_206A_206A_202E_202A_200E_200F_200F_206B_202B_200F_202E(ImGuiCol.Text, color, true); - try + using (ImRaii.PushColor(ImGuiCol.Text, color)) { RowLabel(text, reservedRightWidth); } - finally - { - int num = ((colorDisposable == null) ? (-1942778121) : (-1942778124)); - while (true) - { - int num2 = num; - int num3 = -1942778122; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1942778124; - break; - case 1: - goto end_IL_0031; - case 2: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)colorDisposable); - num = -1942778121; - break; - } - continue; - end_IL_0031: - break; - } - } } public static (Vector2 ContentStartPos, float AvailableWidth, ImDrawListPtr DrawList) BeginCard() { - Vector2 item = _202E_200D_200E_206B_206E_206C_200D_200B_200B_206A_206B_200E_202B_206C_206B_200B_206F_206B_202B_206A_206E_206D_200C_200E_200D_200C_202E_206C_202E_206B_200B_200C_200E_200B_206C_200B_206D_200B_202E_200C_202E(); - float x = _206E_200D_200C_206B_200C_206F_200F_200B_200F_206C_206D_200D_206E_202E_200B_202E_200C_206E_206A_202A_202E_200E_206D_206B_200E_202B_202D_206C_200D_202C_202E_202B_202D_200B_200F_202E_200B_202C_200C_206E_202E().X; - ImDrawListPtr item2 = _206C_206E_202A_202B_202D_206B_206C_200B_200B_200F_202D_206B_202D_206C_200C_200C_206A_200C_206B_200E_206C_200C_206B_200E_206B_206A_200F_202B_206E_202C_206F_202D_200F_202D_202E_200C_206B_202A_202C_200F_202E(); - item2.ChannelsSplit(2); - item2.ChannelsSetCurrent(1); - _202C_206B_206B_206D_202D_200B_202A_206E_206D_206A_206C_206E_202C_202A_206C_206B_200F_200B_206E_200F_206E_206D_206A_206E_202A_206D_202D_202B_200F_200B_206A_200B_200E_206A_202B_200C_206A_206B_202D_206E_202E(12f); - _200C_202C_206A_206D_202C_202C_200F_202A_206F_202A_200B_202D_200C_200B_206F_200F_206E_206E_200B_202D_200D_202A_206F_202B_206E_202A_200C_206A_206E_200E_202E_200B_206E_202A_202E_200D_202C_206F_206F_202D_202E(item.Y + 12f); - _206F_206F_200B_200D_202B_200D_206D_202C_200E_202E_200F_202E_200E_200E_202B_206A_200C_206B_206A_200E_202B_202B_202E_202E_206A_202B_202E_200B_206F_206C_202D_206A_200C_200E_202D_206D_200C_202D_202C_202A_202E(-13f); + Vector2 cursorPos = ImGui.GetCursorPos(); + float x = ImGui.GetContentRegionAvail().X; + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + windowDrawList.ChannelsSplit(2); + windowDrawList.ChannelsSetCurrent(1); + ImGui.Indent(12f); + ImGui.SetCursorPosY(cursorPos.Y + 12f); + ImGui.PushItemWidth(-13f); _cardContentRightInset = 12f; - return (ContentStartPos: item, AvailableWidth: x, DrawList: item2); + return (ContentStartPos: cursorPos, AvailableWidth: x, DrawList: windowDrawList); } public static void EndCard(Vector2 contentStartPos, float availableWidth, ImDrawListPtr drawList) { - _206F_206E_202B_206D_202E_200D_200E_206A_202D_202C_202E_206A_200C_202C_206E_200C_202C_200F_206F_206A_200F_200F_202E_202A_202D_200E_202C_206A_202E_206B_202E_200E_206B_206C_202E_206D_206B_206A_200B_206B_202E(); - _206B_206A_206E_202D_206A_202C_206C_206B_206D_206C_206B_202A_206A_206A_202C_206B_202E_202B_206B_202B_200C_206D_202E_202C_206D_202D_206C_200B_200B_200D_200D_202E_200C_202A_206B_200B_200B_202D_200F_202A_202E(12f); + ImGui.PopItemWidth(); + ImGui.Unindent(12f); _cardContentRightInset = 0f; - Vector2 vector = _202E_200D_200E_206B_206E_206C_200D_200B_200B_206A_206B_200E_202B_206C_206B_200B_206F_206B_202B_206A_206E_206D_200C_200E_200D_200C_202E_206C_202E_206B_200B_200C_200E_200B_206C_200B_206D_200B_202E_200C_202E(); + Vector2 cursorPos = ImGui.GetCursorPos(); drawList.ChannelsSetCurrent(0); - _202C_206B_206D_206E_200D_206D_202C_206A_206A_206D_206C_202A_200E_206E_206B_202D_206C_200E_200C_202E_200C_200B_206B_200E_206E_200B_206B_202E_202B_200E_200B_206F_206D_206F_202C_200D_200D_200B_206E_200E_202E(contentStartPos); - Vector2 pMin = _202D_202E_200C_202E_200C_202D_206E_206C_202A_200C_200C_206D_202D_202E_206C_206E_206F_206F_202A_202D_200D_202D_200B_206C_202E_202D_206C_200D_202E_206D_202C_200D_202B_200D_206B_202E_206A_206B_206A_202C_202E(); - _202C_206B_206D_206E_200D_206D_202C_206A_206A_206D_206C_202A_200E_206E_206B_202D_206C_200E_200C_202E_200C_200B_206B_200E_206E_200B_206B_202E_202B_200E_200B_206F_206D_206F_202C_200D_200D_200B_206E_200E_202E(vector + new Vector2(0f, 12f)); - Vector2 vector2 = _202D_202E_200C_202E_200C_202D_206E_206C_202A_200C_200C_206D_202D_202E_206C_206E_206F_206F_202A_202D_200D_202D_200B_206C_202E_202D_206C_200D_202E_206D_202C_200D_202B_200D_206B_202E_206A_206B_206A_202C_202E(); - drawList.AddRectFilled(pMin, new Vector2(pMin.X + availableWidth, vector2.Y), _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(CardBackgroundColor), 6f); - drawList.AddRect(pMin, new Vector2(pMin.X + availableWidth, vector2.Y), _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(CardBorderColor), 6f, ImDrawFlags.None, 1f); + ImGui.SetCursorPos(contentStartPos); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + ImGui.SetCursorPos(cursorPos + new Vector2(0f, 12f)); + Vector2 cursorScreenPos2 = ImGui.GetCursorScreenPos(); + drawList.AddRectFilled(cursorScreenPos, new Vector2(cursorScreenPos.X + availableWidth, cursorScreenPos2.Y), ImGui.ColorConvertFloat4ToU32(CardBackgroundColor), 6f); + drawList.AddRect(cursorScreenPos, new Vector2(cursorScreenPos.X + availableWidth, cursorScreenPos2.Y), ImGui.ColorConvertFloat4ToU32(CardBorderColor), 6f, ImDrawFlags.None, 1f); drawList.ChannelsMerge(); - _202C_206B_206D_206E_200D_206D_202C_206A_206A_206D_206C_202A_200E_206E_206B_202D_206C_200E_200C_202E_200C_200B_206B_200E_206E_200B_206B_202E_202B_200E_200B_206F_206D_206F_202C_200D_200D_200B_206E_200E_202E(new Vector2(contentStartPos.X, vector.Y + 12f)); + ImGui.SetCursorPos(new Vector2(contentStartPos.X, cursorPos.Y + 12f)); } public static ImRaii.TableDisposable BeginThemedTable(string id, int columns, ImGuiTableFlags extra = ImGuiTableFlags.None) { - return _200B_200D_202A_206F_200D_206B_202A_202D_200E_202C_206C_206E_202B_202D_200C_200E_202D_206B_206E_200E_200C_202C_206E_202D_202E_206E_200B_202D_200E_200D_206B_200C_200C_206C_202B_206D_202E_206A_206D_202B_202E((ImU8String)id, columns, ImGuiTableFlags.RowBg | ImGuiTableFlags.BordersInnerH | extra); + return ImRaii.Table(id, columns, ImGuiTableFlags.RowBg | ImGuiTableFlags.BordersInnerH | extra); } public static void SectionHeader(string title) { - ImDrawListPtr imDrawListPtr = _206C_206E_202A_202B_202D_206B_206C_200B_200B_200F_202D_206B_202D_206C_200C_200C_206A_200C_206B_200E_206C_200C_206B_200E_206B_206A_200F_202B_206E_202C_206F_202D_200F_202D_202E_200C_206B_202A_202C_200F_202E(); - Vector2 pMin = _202D_202E_200C_202E_200C_202D_206E_206C_202A_200C_200C_206D_202D_202E_206C_206E_206F_206F_202A_202D_200D_202D_200B_206C_202E_202D_206C_200D_202E_206D_202C_200D_202B_200D_206B_202E_206A_206B_206A_202C_202E(); - float num = _200D_202A_202B_200C_206C_206C_200C_200D_206A_206C_202E_206C_202B_206C_200D_206A_200B_200E_202D_206A_200B_206D_206D_206D_202D_200D_202C_202E_206D_206B_200C_206F_206C_200B_202A_206F_206C_200B_200C_202E(); - imDrawListPtr.AddRectFilled(pMin, new Vector2(pMin.X + 3f, pMin.Y + num), _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(AccentColor)); - _202D_200B_200D_206E_206D_200B_202A_206E_206A_200E_202C_206A_202D_202A_200C_206C_206E_206E_202A_206A_202A_202D_202C_206A_206F_200F_206D_202A_202B_200F_200E_200D_200D_206D_206F_202E_206A_202A_202D_202B_202E(_202D_200B_200D_202B_202D_206D_200D_206C_206B_200D_200B_206C_206D_200C_202E_206D_206C_200B_202B_202D_200D_200F_200C_202E_200E_202A_206C_206A_206D_202D_200C_202E_206F_206C_206E_202C_200D_206B_206B_200C_202E() + 3f + 6f); - _206A_200F_200E_200B_206D_200D_202D_206C_206F_202E_200B_202E_206F_202D_206C_206F_206A_206A_206C_206E_202D_206D_202D_202C_202C_206B_200D_200B_202E_206B_200C_206F_200F_206C_202E_202A_202C_200B_200B_202E_202E(ref PrimaryTextColor, (ImU8String)title); + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + float textLineHeight = ImGui.GetTextLineHeight(); + windowDrawList.AddRectFilled(cursorScreenPos, new Vector2(cursorScreenPos.X + 3f, cursorScreenPos.Y + textLineHeight), ImGui.ColorConvertFloat4ToU32(AccentColor)); + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + 3f + 6f); + ImGui.TextColored(in PrimaryTextColor, title); } public static void SectionSpacing() { - _200C_202C_206A_206D_202C_202C_200F_202A_206F_202A_200B_202D_200C_200B_206F_200F_206E_206E_200B_202D_200D_202A_206F_202B_206E_202A_200C_206A_206E_200E_202E_200B_206E_202A_202E_200D_202C_206F_206F_202D_202E(_202C_200C_200C_200C_206E_202E_202E_202E_200E_206C_206B_206E_200F_200E_202D_202D_202A_200C_206A_202C_206A_206B_200D_200E_206E_200F_200F_206F_200B_206C_202B_200B_206A_202A_206F_202D_206B_200C_202C_206B_202E() + 16f); + ImGui.SetCursorPosY(ImGui.GetCursorPosY() + 16f); } public static void SubSectionHeader(string label) { - _200E_202D_200C_206E_200B_206A_200E_206F_200F_200C_200D_202D_200D_200E_200B_206E_206C_206F_202D_202C_206E_200D_206B_206B_206C_206B_202D_202E_206D_202B_202D_202C_206E_206E_200C_200F_206F_206C_202C_206A_202E(); - _206A_200F_200E_200B_206D_200D_202D_206C_206F_202E_200B_202E_206F_202D_206C_206F_206A_206A_206C_206E_202D_206D_202D_202C_202C_206B_200D_200B_202E_206B_200C_206F_200F_206C_202E_202A_202C_200B_200B_202E_202E(ref DimTextColor, (ImU8String)label); + ImGui.Spacing(); + ImGui.TextColored(in DimTextColor, label); } public static void StatusBadge(string text, Vector4 color, FontAwesomeIcon icon) { - ImDrawListPtr imDrawListPtr = _206C_206E_202A_202B_202D_206B_206C_200B_200B_200F_202D_206B_202D_206C_200C_200C_206A_200C_206B_200E_206C_200C_206B_200E_206B_206A_200F_202B_206E_202C_206F_202D_200F_202D_202E_200C_206B_202A_202C_200F_202E(); - Vector2 vector = _202D_202E_200C_202E_200C_202D_206E_206C_202A_200C_200C_206D_202D_202E_206C_206E_206F_206F_202A_202D_200D_202D_200B_206C_202E_202D_206C_200D_202E_206D_202C_200D_202B_200D_206B_202E_206A_206B_206A_202C_202E(); - float fontSize = _200D_202A_206A_206F_202D_206E_206E_206F_206C_206F_200F_200D_200E_200F_202D_202D_202C_202D_206E_202D_202B_206C_202C_206E_206B_200E_202B_206F_202E_202A_206D_202D_200D_206B_200F_202A_202E_206F_206A_202C_202E(); - string text2 = _200E_200B_202B_206D_202E_200F_202D_200F_206C_206C_202E_202D_202D_200F_200E_200F_200F_200C_206B_200D_200D_200B_206E_206B_206B_200C_200C_202C_206C_200F_206B_202E_202B_202D_206D_206E_200E_202C_202C_200C_202E(icon); - ImRaii.FontDisposable fontDisposable = _202A_202E_206A_202E_206D_202A_200B_200B_200F_206D_206E_200E_200C_206B_200C_206A_200F_200E_200E_200D_200F_206B_202D_206C_202A_200D_206A_206D_200C_200D_206A_202C_206C_206C_202A_206A_200E_206C_200F_202E(_206F_206D_206C_200F_200E_206B_202A_200F_202E_206A_206E_200F_206D_206A_206F_206D_206B_200F_200E_202E_200B_206B_200D_200E_206D_200C_206D_206B_202C_202E_206B_202E_206B_202C_202A_200D_202B_200F_202C_200E_202E(), true); - Vector2 vector2; - try + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + float fontSize = ImGui.GetFontSize(); + string text2 = icon.ToIconString(); + Vector2 vector; + using (ImRaii.PushFont(UiBuilder.IconFont)) { - vector2 = _200D_206B_202E_202A_202A_200F_202A_200F_202E_206B_200B_202E_202B_206A_206B_200F_206C_206D_200F_200D_206B_202A_200E_206A_202E_206B_200E_200E_202A_200C_206D_206D_200C_206F_202C_202E_206D_206D_200C_206A_202E((ImU8String)text2, false, -1f); + vector = ImGui.CalcTextSize(text2); } - finally - { - int num = ((fontDisposable == null) ? 481738281 : 481738280); - while (true) - { - int num2 = num; - int num3 = 481738281; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto end_IL_005d; - case 1: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)fontDisposable); - num = 481738281; - break; - case 2: - num = 481738280; - break; - } - continue; - end_IL_005d: - break; - } - } - Vector2 vector3 = _200D_206B_202E_202A_202A_200F_202A_200F_202E_206B_200B_202E_202B_206A_206B_200F_206C_206D_200F_200D_206B_202A_200E_206A_202E_206B_200E_200E_202A_200C_206D_206D_200C_206F_202C_202E_206D_206D_200C_206A_202E((ImU8String)text, false, -1f); - float num7 = 6f; - float num8 = 2f; - float num9 = 4f; - float x = num7 + vector2.X + num9 + vector3.X + num7; - float num10 = num8 + _206D_202B_202D_200F_206A_200D_206E_206C_202C_206B_200E_206B_206B_206C_206B_200E_202C_206C_202A_206F_206E_200E_202A_202A_200B_206F_202C_200C_206E_206D_206F_202E_200F_206B_206D_202E_206E_200C_200C_202C_202E(vector2.Y, vector3.Y) + num8; - Vector2 pMin = vector; - Vector2 pMax = vector + new Vector2(x, num10); - Vector4 vector4 = new Vector4(color.X, color.Y, color.Z, 0.15f); - float rounding = num10 * 0.5f; - imDrawListPtr.AddRectFilled(pMin, pMax, _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(vector4), rounding); - Vector2 pos = vector + new Vector2(num7, num8); - imDrawListPtr.AddText(_206F_206D_206C_200F_200E_206B_202A_200F_202E_206A_206E_200F_206D_206A_206F_206D_206B_200F_200E_202E_200B_206B_200D_200E_206D_200C_206D_206B_202C_202E_206B_202E_206B_202C_202A_200D_202B_200F_202C_200E_202E(), fontSize, pos, _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(color), text2); - Vector2 pos2 = vector + new Vector2(num7 + vector2.X + num9, num8); - imDrawListPtr.AddText(pos2, _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(color), text); - _206E_202D_200E_206B_202E_202E_206A_206E_200B_202A_202D_206E_202B_206F_202A_202C_202C_206E_200C_200C_202D_200E_202A_200C_200B_202E_200D_206B_206F_200C_206A_200C_206A_206A_200D_200D_202E_202C_200C_206E_202E(new Vector2(x, num10)); + Vector2 vector2 = ImGui.CalcTextSize(text); + float num = 6f; + float num2 = 2f; + float num3 = 4f; + float x = num + vector.X + num3 + vector2.X + num; + float num4 = num2 + MathF.Max(vector.Y, vector2.Y) + num2; + Vector2 pMin = cursorScreenPos; + Vector2 pMax = cursorScreenPos + new Vector2(x, num4); + Vector4 input = new Vector4(color.X, color.Y, color.Z, 0.15f); + float rounding = num4 * 0.5f; + windowDrawList.AddRectFilled(pMin, pMax, ImGui.ColorConvertFloat4ToU32(input), rounding); + Vector2 pos = cursorScreenPos + new Vector2(num, num2); + windowDrawList.AddText(UiBuilder.IconFont, fontSize, pos, ImGui.ColorConvertFloat4ToU32(color), text2); + Vector2 pos2 = cursorScreenPos + new Vector2(num + vector.X + num3, num2); + windowDrawList.AddText(pos2, ImGui.ColorConvertFloat4ToU32(color), text); + ImGui.Dummy(new Vector2(x, num4)); } public static void StatusBanner(string text, Vector4 color, FontAwesomeIcon icon) { - ImDrawListPtr imDrawListPtr = _206C_206E_202A_202B_202D_206B_206C_200B_200B_200F_202D_206B_202D_206C_200C_200C_206A_200C_206B_200E_206C_200C_206B_200E_206B_206A_200F_202B_206E_202C_206F_202D_200F_202D_202E_200C_206B_202A_202C_200F_202E(); - Vector2 vector = _202D_202E_200C_202E_200C_202D_206E_206C_202A_200C_200C_206D_202D_202E_206C_206E_206F_206F_202A_202D_200D_202D_200B_206C_202E_202D_206C_200D_202E_206D_202C_200D_202B_200D_206B_202E_206A_206B_206A_202C_202E(); - float fontSize = _200D_202A_206A_206F_202D_206E_206E_206F_206C_206F_200F_200D_200E_200F_202D_202D_202C_202D_206E_202D_202B_206C_202C_206E_206B_200E_202B_206F_202E_202A_206D_202D_200D_206B_200F_202A_202E_206F_206A_202C_202E(); - string text2 = _200E_200B_202B_206D_202E_200F_202D_200F_206C_206C_202E_202D_202D_200F_200E_200F_200F_200C_206B_200D_200D_200B_206E_206B_206B_200C_200C_202C_206C_200F_206B_202E_202B_202D_206D_206E_200E_202C_202C_200C_202E(icon); - float x = _206E_200D_200C_206B_200C_206F_200F_200B_200F_206C_206D_200D_206E_202E_200B_202E_200C_206E_206A_202A_202E_200E_206D_206B_200E_202B_202D_206C_200D_202C_202E_202B_202D_200B_200F_202E_200B_202C_200C_206E_202E().X; - ImRaii.FontDisposable fontDisposable = _202A_202E_206A_202E_206D_202A_200B_200B_200F_206D_206E_200E_200C_206B_200C_206A_200F_200E_200E_200D_200F_206B_202D_206C_202A_200D_206A_206D_200C_200D_206A_202C_206C_206C_202A_206A_200E_206C_200F_202E(_206F_206D_206C_200F_200E_206B_202A_200F_202E_206A_206E_200F_206D_206A_206F_206D_206B_200F_200E_202E_200B_206B_200D_200E_206D_200C_206D_206B_202C_202E_206B_202E_206B_202C_202A_200D_202B_200F_202C_200E_202E(), true); - Vector2 vector2; - try + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + float fontSize = ImGui.GetFontSize(); + string text2 = icon.ToIconString(); + float x = ImGui.GetContentRegionAvail().X; + Vector2 vector; + using (ImRaii.PushFont(UiBuilder.IconFont)) { - vector2 = _200D_206B_202E_202A_202A_200F_202A_200F_202E_206B_200B_202E_202B_206A_206B_200F_206C_206D_200F_200D_206B_202A_200E_206A_202E_206B_200E_200E_202A_200C_206D_206D_200C_206F_202C_202E_206D_206D_200C_206A_202E((ImU8String)text2, false, -1f); + vector = ImGui.CalcTextSize(text2); } - finally - { - int num = ((fontDisposable == null) ? (-1080792538) : (-1080792537)); - while (true) - { - int num2 = num; - int num3 = -1080792538; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -1080792537; - break; - case 0: - goto end_IL_0069; - case 1: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)fontDisposable); - num = -1080792538; - break; - } - continue; - end_IL_0069: - break; - } - } - Vector2 vector3 = _200D_206B_202E_202A_202A_200F_202A_200F_202E_206B_200B_202E_202B_206A_206B_200F_206C_206D_200F_200D_206B_202A_200E_206A_202E_206B_200E_200E_202A_200C_206D_206D_200C_206F_202C_202E_206D_206D_200C_206A_202E((ImU8String)text, false, -1f); - float y = 12f + _206D_202B_202D_200F_206A_200D_206E_206C_202C_206B_200E_206B_206B_206C_206B_200E_202C_206C_202A_206F_206E_200E_202A_202A_200B_206F_202C_200C_206E_206D_206F_202E_200F_206B_206D_202E_206E_200C_200C_202C_202E(vector2.Y, vector3.Y) + 12f; - float num7 = 6f; - Vector2 pMin = vector; - Vector2 pMax = vector + new Vector2(x, y); - Vector4 vector4 = new Vector4(color.X, color.Y, color.Z, 0.1f); - Vector4 vector5 = new Vector4(color.X, color.Y, color.Z, 0.25f); - imDrawListPtr.AddRectFilled(pMin, pMax, _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(vector4), 6f); - imDrawListPtr.AddRect(pMin, pMax, _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(vector5), 6f, ImDrawFlags.None, 1f); - Vector2 pos = vector + new Vector2(12f, 12f); - imDrawListPtr.AddText(_206F_206D_206C_200F_200E_206B_202A_200F_202E_206A_206E_200F_206D_206A_206F_206D_206B_200F_200E_202E_200B_206B_200D_200E_206D_200C_206D_206B_202C_202E_206B_202E_206B_202C_202A_200D_202B_200F_202C_200E_202E(), fontSize, pos, _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(color), text2); - Vector2 pos2 = vector + new Vector2(12f + vector2.X + num7, 12f); - imDrawListPtr.AddText(pos2, _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(color), text); - _206E_202D_200E_206B_202E_202E_206A_206E_200B_202A_202D_206E_202B_206F_202A_202C_202C_206E_200C_200C_202D_200E_202A_200C_200B_202E_200D_206B_206F_200C_206A_200C_206A_206A_200D_200D_202E_202C_200C_206E_202E(new Vector2(x, y)); + Vector2 vector2 = ImGui.CalcTextSize(text); + float y = 12f + MathF.Max(vector.Y, vector2.Y) + 12f; + float num = 6f; + Vector2 pMin = cursorScreenPos; + Vector2 pMax = cursorScreenPos + new Vector2(x, y); + Vector4 input = new Vector4(color.X, color.Y, color.Z, 0.1f); + Vector4 input2 = new Vector4(color.X, color.Y, color.Z, 0.25f); + windowDrawList.AddRectFilled(pMin, pMax, ImGui.ColorConvertFloat4ToU32(input), 6f); + windowDrawList.AddRect(pMin, pMax, ImGui.ColorConvertFloat4ToU32(input2), 6f, ImDrawFlags.None, 1f); + Vector2 pos = cursorScreenPos + new Vector2(12f, 12f); + windowDrawList.AddText(UiBuilder.IconFont, fontSize, pos, ImGui.ColorConvertFloat4ToU32(color), text2); + Vector2 pos2 = cursorScreenPos + new Vector2(12f + vector.X + num, 12f); + windowDrawList.AddText(pos2, ImGui.ColorConvertFloat4ToU32(color), text); + ImGui.Dummy(new Vector2(x, y)); } public static void EmptyState(FontAwesomeIcon icon, string title, string? hint = null) { - float x = _206E_200D_200C_206B_200C_206F_200F_200B_200F_206C_206D_200D_206E_202E_200B_202E_200C_206E_206A_202A_202E_200E_206D_206B_200E_202B_202D_206C_200D_202C_202E_202B_202D_200B_200F_202E_200B_202C_200C_206E_202E().X; - _206E_202D_200E_206B_202E_202E_206A_206E_200B_202A_202D_206E_202B_206F_202A_202C_202C_206E_200C_200C_202D_200E_202A_200C_200B_202E_200D_206B_206F_200C_206A_200C_206A_206A_200D_200D_202E_202C_200C_206E_202E(new Vector2(0f, 12f)); - ImDrawListPtr imDrawListPtr = _206C_206E_202A_202B_202D_206B_206C_200B_200B_200F_202D_206B_202D_206C_200C_200C_206A_200C_206B_200E_206C_200C_206B_200E_206B_206A_200F_202B_206E_202C_206F_202D_200F_202D_202E_200C_206B_202A_202C_200F_202E(); - string text = _200E_200B_202B_206D_202E_200F_202D_200F_206C_206C_202E_202D_202D_200F_200E_200F_200F_200C_206B_200D_200D_200B_206E_206B_206B_200C_200C_202C_206C_200F_206B_202E_202B_202D_206D_206E_200E_202C_202C_200C_202E(icon); - float fontSize = _200D_202A_206A_206F_202D_206E_206E_206F_206C_206F_200F_200D_200E_200F_202D_202D_202C_202D_206E_202D_202B_206C_202C_206E_206B_200E_202B_206F_202E_202A_206D_202D_200D_206B_200F_202A_202E_206F_206A_202C_202E() * 1.4f; - ImRaii.FontDisposable fontDisposable = _202A_202E_206A_202E_206D_202A_200B_200B_200F_206D_206E_200E_200C_206B_200C_206A_200F_200E_200E_200D_200F_206B_202D_206C_202A_200D_206A_206D_200C_200D_206A_202C_206C_206C_202A_206A_200E_206C_200F_202E(_206F_206D_206C_200F_200E_206B_202A_200F_202E_206A_206E_200F_206D_206A_206F_206D_206B_200F_200E_202E_200B_206B_200D_200E_206D_200C_206D_206B_202C_202E_206B_202E_206B_202C_202A_200D_202B_200F_202C_200E_202E(), true); - Vector2 vector; - int num; - try + float x = ImGui.GetContentRegionAvail().X; + ImGui.Dummy(new Vector2(0f, 12f)); + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + string text = icon.ToIconString(); + float fontSize = ImGui.GetFontSize() * 1.4f; + Vector2 size; + using (ImRaii.PushFont(UiBuilder.IconFont)) { - vector = _200D_206B_202E_202A_202A_200F_202A_200F_202E_206B_200B_202E_202B_206A_206B_200F_206C_206D_200F_200D_206B_202A_200E_206A_202E_206B_200E_200E_202A_200C_206D_206D_200C_206F_202C_202E_206D_206D_200C_206A_202E((ImU8String)text, false, -1f) * 1.4f; + size = ImGui.CalcTextSize(text) * 1.4f; } - finally + Vector2 pos = ImGui.GetCursorScreenPos() + new Vector2((x - size.X) / 2f, 0f); + windowDrawList.AddText(UiBuilder.IconFont, fontSize, pos, ImGui.ColorConvertFloat4ToU32(MutedTextColor), text); + ImGui.Dummy(size); + ImGui.Spacing(); + ImGui.SetCursorPosX((x - ImGui.CalcTextSize(title).X) / 2f); + ImGui.TextColored(in DimTextColor, title); + if (hint != null) { - num = ((fontDisposable == null) ? 145311786 : 145311785); - while (true) - { - int num2 = num; - int num3 = 145311787; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - goto end_IL_0086; - case 2: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)fontDisposable); - num = 145311786; - break; - case 0: - num = 145311785; - break; - } - continue; - end_IL_0086: - break; - } - } - Vector2 pos = _202D_202E_200C_202E_200C_202D_206E_206C_202A_200C_200C_206D_202D_202E_206C_206E_206F_206F_202A_202D_200D_202D_200B_206C_202E_202D_206C_200D_202E_206D_202C_200D_202B_200D_206B_202E_206A_206B_206A_202C_202E() + new Vector2((x - vector.X) / 2f, 0f); - imDrawListPtr.AddText(_206F_206D_206C_200F_200E_206B_202A_200F_202E_206A_206E_200F_206D_206A_206F_206D_206B_200F_200E_202E_200B_206B_200D_200E_206D_200C_206D_206B_202C_202E_206B_202E_206B_202C_202A_200D_202B_200F_202C_200E_202E(), fontSize, pos, _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(MutedTextColor), text); - _206E_202D_200E_206B_202E_202E_206A_206E_200B_202A_202D_206E_202B_206F_202A_202C_202C_206E_200C_200C_202D_200E_202A_200C_200B_202E_200D_206B_206F_200C_206A_200C_206A_206A_200D_200D_202E_202C_200C_206E_202E(vector); - _200E_202D_200C_206E_200B_206A_200E_206F_200F_200C_200D_202D_200D_200E_200B_206E_206C_206F_202D_202C_206E_200D_206B_206B_206C_206B_202D_202E_206D_202B_202D_202C_206E_206E_200C_200F_206F_206C_202C_206A_202E(); - _202D_200B_200D_206E_206D_200B_202A_206E_206A_200E_202C_206A_202D_202A_200C_206C_206E_206E_202A_206A_202A_202D_202C_206A_206F_200F_206D_202A_202B_200F_200E_200D_200D_206D_206F_202E_206A_202A_202D_202B_202E((x - _200D_206B_202E_202A_202A_200F_202A_200F_202E_206B_200B_202E_202B_206A_206B_200F_206C_206D_200F_200D_206B_202A_200E_206A_202E_206B_200E_200E_202A_200C_206D_206D_200C_206F_202C_202E_206D_206D_200C_206A_202E((ImU8String)title, false, -1f).X) / 2f); - _206A_200F_200E_200B_206D_200D_202D_206C_206F_202E_200B_202E_206F_202D_206C_206F_206A_206A_206C_206E_202D_206D_202D_202C_202C_206B_200D_200B_202E_206B_200C_206F_200F_206C_202E_202A_202C_200B_200B_202E_202E(ref DimTextColor, (ImU8String)title); - num = ((hint == null) ? 533396990 : 533396989); - while (true) - { - int num5 = num; - int num3 = 533396991; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 0: - num = 533396989; - break; - case 1: - _206E_202D_200E_206B_202E_202E_206A_206E_200B_202A_202D_206E_202B_206F_202A_202C_202C_206E_200C_200C_202D_200E_202A_200C_200B_202E_200D_206B_206F_200C_206A_200C_206A_206A_200D_200D_202E_202C_200C_206E_202E(new Vector2(0f, 12f)); - return; - case 2: - _200E_202D_200C_206E_200B_206A_200E_206F_200F_200C_200D_202D_200D_200E_200B_206E_206C_206F_202D_202C_206E_200D_206B_206B_206C_206B_202D_202E_206D_202B_202D_202C_206E_206E_200C_200F_206F_206C_202C_206A_202E(); - _202D_200B_200D_206E_206D_200B_202A_206E_206A_200E_202C_206A_202D_202A_200C_206C_206E_206E_202A_206A_202A_202D_202C_206A_206F_200F_206D_202A_202B_200F_200E_200D_200D_206D_206F_202E_206A_202A_202D_202B_202E((x - _200D_206B_202E_202A_202A_200F_202A_200F_202E_206B_200B_202E_202B_206A_206B_200F_206C_206D_200F_200D_206B_202A_200E_206A_202E_206B_200E_200E_202A_200C_206D_206D_200C_206F_202C_202E_206D_206D_200C_206A_202E((ImU8String)hint, false, -1f).X) / 2f); - _206A_200F_200E_200B_206D_200D_202D_206C_206F_202E_200B_202E_206F_202D_206C_206F_206A_206A_206C_206E_202D_206D_202D_202C_202C_206B_200D_200B_202E_206B_200C_206F_200F_206C_202E_202A_202C_200B_200B_202E_202E(ref MutedTextColor, (ImU8String)hint); - num = 533396990; - break; - } + ImGui.Spacing(); + ImGui.SetCursorPosX((x - ImGui.CalcTextSize(hint).X) / 2f); + ImGui.TextColored(in MutedTextColor, hint); } + ImGui.Dummy(new Vector2(0f, 12f)); } public static void DrawTrackerCount(string formattedText, bool isComplete, bool isEmpty) { - _206D_202E_202C_206C_206B_200C_200D_206C_206E_200C_202E_202E_206D_200C_200F_202C_202B_200E_200C_206A_206E_202D_206F_200B_200E_200D_200E_202B_206F_202D_202B_206D_206B_200C_200E_206A_206F_200D_206F_200F_202E(_200B_200B_206B_206E_202A_202A_206C_206C_200D_206A_206F_206C_200C_206A_206E_206B_206A_206E_202B_200B_206D_200E_206C_200F_206E_200B_202B_202C_202C_200D_200E_202D_200F_206F_206E_206A_202C_202E_202E_206B_202E()); - int num = ((!isEmpty) ? (-1597827944) : (-1597827942)); - while (true) + ImGui.PushFont(UiBuilder.MonoFont); + if (isEmpty) { - int num2 = num; - int num3 = -1597827941; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - num = -1597827942; - break; - case 0: - _200E_200D_200C_200E_200D_202E_206B_206A_200F_202E_200F_206D_200E_200B_200B_206E_200E_206A_202C_200B_202B_202B_206A_202B_200D_200D_200D_202C_206C_202E_206B_202B_206D_206A_206F_200B_202D_202B_200F_206F_202E(); - return; - case 3: - num = ((!isComplete) ? (-1597827943) : (-1597827937)); - break; - case 1: - _206A_200F_200E_200B_206D_200D_202D_206C_206F_202E_200B_202E_206F_202D_206C_206F_206A_206A_206C_206E_202D_206D_202D_202C_202C_206B_200D_200B_202E_206B_200C_206F_200F_206C_202E_202A_202C_200B_200B_202E_202E(ref StatusUnobtainable, (ImU8String)formattedText); - num = -1597827941; - break; - case 4: - _206A_200F_200E_200B_206D_200D_202D_206C_206F_202E_200B_202E_206F_202D_206C_206F_206A_206A_206C_206E_202D_206D_202D_202C_202C_206B_200D_200B_202E_206B_200C_206F_200F_206C_202E_202A_202C_200B_200B_202E_202E(ref StatusComplete, (ImU8String)formattedText); - num = -1597827941; - break; - case 2: - _200E_202A_206A_200E_206E_206E_206B_206B_206B_206C_206F_202A_200E_206A_200C_200E_202E_202C_206C_200E_206D_202C_200F_200C_206E_200D_200E_202D_206D_206A_200E_200B_202B_206E_206E_206B_200C_202A_206B_200C_202E((ImU8String)formattedText); - num = -1597827941; - break; - } + ImGui.TextColored(in StatusUnobtainable, formattedText); } + else if (isComplete) + { + ImGui.TextColored(in StatusComplete, formattedText); + } + else + { + ImGui.TextUnformatted(formattedText); + } + ImGui.PopFont(); } public static void DrawTrackerGroupCaret(IFontHandle iconFontFixedWidth, bool expanded) { - _206F_202A_202E_202B_200E_202E_206A_200C_202C_200D_202A_200B_206F_202A_206F_200B_202D_200C_206C_200C_202E_200E_202E_206C_202B_200D_202C_202D_200D_206A_202A_200E_202B_206D_200F_206E_206E_206A_206F_200E_202E(ImGuiTableBgTarget.RowBg0, _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(CardBackgroundColor)); - IDisposable disposable = _206B_206B_206D_206A_200E_202C_206C_206F_206E_200B_206F_200E_200D_200C_206B_206C_202C_202A_200D_206E_206F_206F_202B_206C_202E_206B_206A_200D_206B_200B_200C_202A_202A_206F_200E_206F_200B_206D_206B_202E_202E(iconFontFixedWidth); - try + ImGui.TableSetBgColor(ImGuiTableBgTarget.RowBg0, ImGui.ColorConvertFloat4ToU32(CardBackgroundColor)); + using (iconFontFixedWidth.Push()) { - _206A_200F_200E_200B_206D_200D_202D_206C_206F_202E_200B_202E_206F_202D_206C_206F_206A_206A_206C_206E_202D_206D_202D_202C_202C_206B_200D_200B_202E_206B_200C_206F_200F_206C_202E_202A_202C_200B_200B_202E_202E(ref AccentColor, (ImU8String)_200E_200B_202B_206D_202E_200F_202D_200F_206C_206C_202E_202D_202D_200F_200E_200F_200F_200C_206B_200D_200D_200B_206E_206B_206B_200C_200C_202C_206C_200F_206B_202E_202B_202D_206D_206E_200E_202C_202C_200C_202E(expanded ? FontAwesomeIcon.CaretDown : FontAwesomeIcon.CaretRight)); - } - finally - { - int num = ((disposable == null) ? 261348162 : 261348161); - while (true) - { - int num2 = num; - int num3 = 261348160; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 261348161; - break; - case 1: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E(disposable); - num = 261348162; - break; - case 2: - goto end_IL_0061; - } - continue; - end_IL_0061: - break; - } + ImGui.TextColored(in AccentColor, (expanded ? FontAwesomeIcon.CaretDown : FontAwesomeIcon.CaretRight).ToIconString()); } } public static void DrawAltRowBackground(int rowIndex) { - int num = ((rowIndex % 2 != 0) ? 1971807013 : 1971807012); - while (true) + if (rowIndex % 2 == 0) { - int num2 = num; - int num3 = 1971807013; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1971807012; - break; - case 1: - { - ImDrawListPtr imDrawListPtr = _206C_206E_202A_202B_202D_206B_206C_200B_200B_200F_202D_206B_202D_206C_200C_200C_206A_200C_206B_200E_206C_200C_206B_200E_206B_206A_200F_202B_206E_202C_206F_202D_200F_202D_202E_200C_206B_202A_202C_200F_202E(); - Vector2 pMin = _202D_202E_200C_202E_200C_202D_206E_206C_202A_200C_200C_206D_202D_202E_206C_206E_206F_206F_202A_202D_200D_202D_200B_206C_202E_202D_206C_200D_202E_206D_202C_200D_202B_200D_206B_202E_206A_206B_206A_202C_202E(); - imDrawListPtr.AddRectFilled(pMax: new Vector2(pMin.X + _206E_200D_200C_206B_200C_206F_200F_200B_200F_206C_206D_200D_206E_202E_200B_202E_200C_206E_206A_202A_202E_200E_206D_206B_200E_202B_202D_206C_200D_202C_202E_202B_202D_200B_200F_202E_200B_202C_200C_206E_202E().X, pMin.Y + _200E_202A_206E_200F_202C_200C_200B_200F_206F_206F_206E_202E_200D_200D_202C_200E_200B_206D_206A_200E_200F_202C_206A_202C_200D_206A_202B_200E_206A_202C_206F_200B_202E_206E_202A_206D_202E_206C_206D_206E_202E()), pMin: pMin, col: AltRowColor); - num = 1971807013; - break; - } - case 0: - return; - } + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + windowDrawList.AddRectFilled(pMax: new Vector2(cursorScreenPos.X + ImGui.GetContentRegionAvail().X, cursorScreenPos.Y + ImGui.GetTextLineHeightWithSpacing()), pMin: cursorScreenPos, col: AltRowColor); } } public static void DrawRowBackground(Vector2 topLeft, Vector2 bottomRight) { - _206C_206E_202A_202B_202D_206B_206C_200B_200B_200F_202D_206B_202D_206C_200C_200C_206A_200C_206B_200E_206C_200C_206B_200E_206B_206A_200F_202B_206E_202C_206F_202D_200F_202D_202E_200C_206B_202A_202C_200F_202E().AddRectFilled(topLeft, bottomRight, _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(CardBackgroundColor), 3f); + ImGui.GetWindowDrawList().AddRectFilled(topLeft, bottomRight, ImGui.ColorConvertFloat4ToU32(CardBackgroundColor), 3f); } - [MethodImpl(MethodImplOptions.NoInlining)] public static bool ThemedAccordion(string id, string label, string? rightText, ref bool open, bool enabled = true) { - ImRaii.IdDisposable idDisposable = _200D_200F_206C_202D_206B_206F_206E_206E_202D_202C_202E_202B_202D_206E_202B_200E_206C_202B_202D_200E_200B_206F_202B_200E_200B_200C_202A_202A_202C_200C_206A_206F_200E_202C_200F_206F_200D_206E_200C_202D_202E((ImU8String)id, true); - try + using (ImRaii.PushId(id)) { - float x = _206E_200D_200C_206B_200C_206F_200F_200B_200F_206C_206D_200D_206E_202E_200B_202E_200C_206E_206A_202A_202E_200E_206D_206B_200E_202B_202D_206C_200D_202C_202E_202B_202D_200B_200F_202E_200B_202C_200C_206E_202E().X - _cardContentRightInset; - float num = _206B_200B_200D_202B_202D_202E_206F_200E_206A_202D_206C_206E_200F_200F_206A_202B_206D_200D_206B_206E_206D_202C_200E_206E_200E_200F_200E_200B_202A_200B_206B_200C_202E_202A_206C_206F_206F_200D_206C_200D_202E(); - ImRaii.ColorDisposable colorDisposable = _200C_200C_200F_200D_206A_200E_202A_206D_200E_202C_206F_206D_200E_200B_206E_200D_206C_202C_202A_202D_200B_202D_206B_202A_202B_206A_200B_206F_206E_200B_206A_206A_202E_202A_200E_200F_200F_206B_202B_200F_202E(ImGuiCol.Header, Vector4.Zero, true); - int num2; - try + float x = ImGui.GetContentRegionAvail().X - _cardContentRightInset; + float frameHeight = ImGui.GetFrameHeight(); + using (ImRaii.ColorDisposable colorDisposable = ImRaii.PushColor(ImGuiCol.Header, Vector4.Zero)) { - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable, ImGuiCol.HeaderHovered, Vector4.Zero, true); - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable, ImGuiCol.HeaderActive, Vector4.Zero, true); - num2 = ((!(_200C_206D_206C_202B_206F_202B_206B_200F_200F_202B_200D_206C_206D_202A_200F_200E_202A_206C_202A_200F_200B_200E_206B_206A_202B_200B_206C_200D_206C_200E_206A_202D_200F_206C_206A_200F_206E_200C_200E_200D_202E((ImU8String)global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1054108485), false, ImGuiSelectableFlags.None, new Vector2(x, num)) && enabled)) ? (-581565881) : (-581565884)); - while (true) + colorDisposable.Push(ImGuiCol.HeaderHovered, Vector4.Zero); + colorDisposable.Push(ImGuiCol.HeaderActive, Vector4.Zero); + if (ImGui.Selectable("##hdr", selected: false, ImGuiSelectableFlags.None, new Vector2(x, frameHeight)) && enabled) { - int num3 = num2; - int num4 = -581565883; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num2 = -581565884; - break; - case 1: - open = !open; - num2 = -581565881; - break; - case 2: - goto end_IL_0090; - } - continue; - end_IL_0090: - break; + open = !open; } } - finally + bool num = enabled && ImGui.IsItemHovered(); + Vector2 itemRectMin = ImGui.GetItemRectMin(); + Vector2 itemRectMax = ImGui.GetItemRectMax(); + float x2 = ImGui.GetStyle().ItemSpacing.X; + float num2 = MathF.Truncate(x2 * 0.5f); + itemRectMin.X += num2; + itemRectMax.X -= x2 - num2; + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + windowDrawList.AddRectFilled(itemRectMin, itemRectMax, ImGui.ColorConvertFloat4ToU32(CardBackgroundColor), 4f); + windowDrawList.AddRect(itemRectMin, itemRectMax, ImGui.ColorConvertFloat4ToU32(CardBorderColor), 4f, ImDrawFlags.None, 1f); + if (num) { - num2 = ((colorDisposable == null) ? (-1710279402) : (-1710279403)); - while (true) - { - int num6 = num2; - int num4 = -1710279401; - int num5 = num6; - switch ((num5 | num4) - (num5 & num4)) - { - case 1: - goto end_IL_00ff; - case 2: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)colorDisposable); - num2 = -1710279402; - break; - case 0: - num2 = -1710279403; - break; - } - continue; - end_IL_00ff: - break; - } + windowDrawList.AddRectFilled(itemRectMin, itemRectMax, ImGui.ColorConvertFloat4ToU32(SubtleHoverColor), 4f); } - num2 = ((!enabled) ? (-1780703774) : (-1780703775)); - ImDrawListPtr imDrawListPtr = default(ImDrawListPtr); - Vector2 pMin = default(Vector2); - Vector2 pMax = default(Vector2); - float fontSize = default(float); - float num9 = default(float); - while (true) + float fontSize = ImGui.GetFontSize(); + float num3 = itemRectMin.X + 12f; + if (enabled) { - int num7 = num2; - int num4 = -1780703772; - int num5 = num7; - int num11; - int num8; - float x2; - float num10; - string text; - ImRaii.FontDisposable fontDisposable; + string text = (open ? FontAwesomeIcon.CaretDown : FontAwesomeIcon.CaretRight).ToIconString(); Vector2 vector; - switch ((num5 | num4) - (num5 & num4)) + using (ImRaii.PushFont(UiBuilder.IconFont)) { - default: - continue; - case 2: - num2 = (open ? (-1780703769) : (-1780703771)); - continue; - case 5: - num11 = (_200B_202A_202D_206F_206A_200F_206A_206C_200F_202A_202B_202D_200D_200E_202A_206A_206D_206E_202A_206C_200E_206D_202A_206E_202B_200E_202A_206F_206B_202C_206D_200F_206F_206A_200C_200E_202A_206A_206C_202E_202E() ? 1 : 0); - goto IL_01e0; - case 6: - num11 = 0; - goto IL_01e0; - case 0: - num2 = -1780703775; - continue; - case 7: - imDrawListPtr.AddRectFilled(pMin, pMax, _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(SubtleHoverColor), 4f); - num2 = -1780703776; - continue; - case 1: - num8 = 61658; - goto IL_02fe; - case 4: - fontSize = _200D_202A_206A_206F_202D_206E_206E_206F_206C_206F_200F_200D_200E_200F_202D_202D_202C_202D_206E_202D_202B_206C_202C_206E_206B_200E_202B_206F_202E_202A_206D_202D_200D_206B_200F_202A_202E_206F_206A_202C_202E(); - num9 = pMin.X + 12f; - if (enabled) - { - num2 = -1780703770; - continue; - } - break; - case 3: - { - num8 = 61655; - goto IL_02fe; - } - IL_01e0: - pMin = _202B_200E_200C_206B_206B_206C_206E_206E_200D_206A_200E_206C_206C_200D_206B_206D_200D_206F_200E_206D_206D_202A_206A_200E_200B_200F_200C_206B_206C_202B_200D_206B_202D_206F_202E_206C_206D_202D_200F_202C_202E(); - pMax = _200E_202B_202A_206C_206A_206E_206B_206C_200F_200B_206F_200D_200C_206B_202D_200D_200E_202B_206D_200E_202D_202E_200D_202D_200B_206B_200E_202E_200D_206D_200C_206F_200C_202E_206A_206D_206F_200F_206B_206E_202E(); - x2 = _200D_200C_206C_206C_200E_202C_202D_200E_206D_206A_206D_202B_200D_202E_202C_200E_206E_200F_206E_200F_200C_206B_200F_206C_206C_200C_206F_202D_200E_206A_202D_200C_200B_202C_202A_202D_206F_202B_206F_200D_202E().ItemSpacing.X; - num10 = _206F_200C_206A_202A_202B_206C_200C_200E_202A_200F_202C_200C_206D_202C_206D_202A_200D_206A_206F_206A_200B_202B_200C_200E_206B_206F_200B_202A_200E_206B_202E_206B_206F_200E_202B_200B_200C_202E_206F_200C_202E(x2 * 0.5f); - pMin.X += num10; - pMax.X -= x2 - num10; - imDrawListPtr = _206C_206E_202A_202B_202D_206B_206C_200B_200B_200F_202D_206B_202D_206C_200C_200C_206A_200C_206B_200E_206C_200C_206B_200E_206B_206A_200F_202B_206E_202C_206F_202D_200F_202D_202E_200C_206B_202A_202C_200F_202E(); - imDrawListPtr.AddRectFilled(pMin, pMax, _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(CardBackgroundColor), 4f); - imDrawListPtr.AddRect(pMin, pMax, _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(CardBorderColor), 4f, ImDrawFlags.None, 1f); - num2 = ((num11 == 0) ? (-1780703776) : (-1780703773)); - continue; - IL_02fe: - text = _200E_200B_202B_206D_202E_200F_202D_200F_206C_206C_202E_202D_202D_200F_200E_200F_200F_200C_206B_200D_200D_200B_206E_206B_206B_200C_200C_202C_206C_200F_206B_202E_202B_202D_206D_206E_200E_202C_202C_200C_202E((FontAwesomeIcon)num8); - fontDisposable = _202A_202E_206A_202E_206D_202A_200B_200B_200F_206D_206E_200E_200C_206B_200C_206A_200F_200E_200E_200D_200F_206B_202D_206C_202A_200D_206A_206D_200C_200D_206A_202C_206C_206C_202A_206A_200E_206C_200F_202E(_206F_206D_206C_200F_200E_206B_202A_200F_202E_206A_206E_200F_206D_206A_206F_206D_206B_200F_200E_202E_200B_206B_200D_200E_206D_200C_206D_206B_202C_202E_206B_202E_206B_202C_202A_200D_202B_200F_202C_200E_202E(), true); - try - { - vector = _200D_206B_202E_202A_202A_200F_202A_200F_202E_206B_200B_202E_202B_206A_206B_200F_206C_206D_200F_200D_206B_202A_200E_206A_202E_206B_200E_200E_202A_200C_206D_206D_200C_206F_202C_202E_206D_206D_200C_206A_202E((ImU8String)text, false, -1f); - } - finally - { - num2 = ((fontDisposable == null) ? (-309485944) : (-309485943)); - while (true) - { - int num12 = num2; - num4 = -309485944; - num5 = num12; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - num2 = -309485943; - break; - case 0: - goto end_IL_034a; - case 1: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)fontDisposable); - num2 = -309485944; - break; - } - continue; - end_IL_034a: - break; - } - } - imDrawListPtr.AddText(_206F_206D_206C_200F_200E_206B_202A_200F_202E_206A_206E_200F_206D_206A_206F_206D_206B_200F_200E_202E_200B_206B_200D_200E_206D_200C_206D_206B_202C_202E_206B_202E_206B_202C_202A_200D_202B_200F_202C_200E_202E(), fontSize, new Vector2(num9, pMin.Y + (num - vector.Y) / 2f), _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(AccentColor), text); - break; + vector = ImGui.CalcTextSize(text); } - break; + windowDrawList.AddText(UiBuilder.IconFont, fontSize, new Vector2(num3, itemRectMin.Y + (frameHeight - vector.Y) / 2f), ImGui.ColorConvertFloat4ToU32(AccentColor), text); } - Vector2 vector2 = _200D_206B_202E_202A_202A_200F_202A_200F_202E_206B_200B_202E_202B_206A_206B_200F_206C_206D_200F_200D_206B_202A_200E_206A_202E_206B_200E_200E_202A_200C_206D_206D_200C_206F_202C_202E_206D_206D_200C_206A_202E((ImU8String)label, false, -1f); - imDrawListPtr.AddText(new Vector2(num9 + 18f, pMin.Y + (num - vector2.Y) / 2f), _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(enabled ? PrimaryTextColor : DimTextColor), label); - if (!_202B_200F_206E_202D_200E_202B_202B_206C_206E_202B_200C_206B_202C_206A_200E_200F_202D_202C_206C_202B_202B_202E_200B_202D_202C_206A_206E_206A_202B_206D_206B_202A_200E_206A_206B_206E_200D_200E_202D_200E_202E(rightText)) + Vector2 vector2 = ImGui.CalcTextSize(label); + windowDrawList.AddText(new Vector2(num3 + 18f, itemRectMin.Y + (frameHeight - vector2.Y) / 2f), ImGui.ColorConvertFloat4ToU32(enabled ? PrimaryTextColor : DimTextColor), label); + if (!string.IsNullOrEmpty(rightText)) { - ImRaii.FontDisposable fontDisposable = _202A_202E_206A_202E_206D_202A_200B_200B_200F_206D_206E_200E_200C_206B_200C_206A_200F_200E_200E_200D_200F_206B_202D_206C_202A_200D_206A_206D_200C_200D_206A_202C_206C_206C_202A_206A_200E_206C_200F_202E(_200B_200B_206B_206E_202A_202A_206C_206C_200D_206A_206F_206C_200C_206A_206E_206B_206A_206E_202B_200B_206D_200E_206C_200F_206E_200B_202B_202C_202C_200D_200E_202D_200F_206F_206E_206A_202C_202E_202E_206B_202E(), true); Vector2 vector3; - try + using (ImRaii.PushFont(UiBuilder.MonoFont)) { - vector3 = _200D_206B_202E_202A_202A_200F_202A_200F_202E_206B_200B_202E_202B_206A_206B_200F_206C_206D_200F_200D_206B_202A_200E_206A_202E_206B_200E_200E_202A_200C_206D_206D_200C_206F_202C_202E_206D_206D_200C_206A_202E((ImU8String)rightText, false, -1f); + vector3 = ImGui.CalcTextSize(rightText); } - finally - { - num2 = ((fontDisposable == null) ? (-700255459) : (-700255460)); - while (true) - { - int num13 = num2; - int num4 = -700255459; - int num5 = num13; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - num2 = -700255460; - break; - case 1: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)fontDisposable); - num2 = -700255459; - break; - case 0: - goto end_IL_0484; - } - continue; - end_IL_0484: - break; - } - } - float x3 = pMax.X - 12f - vector3.X; - imDrawListPtr.AddText(_200B_200B_206B_206E_202A_202A_206C_206C_200D_206A_206F_206C_200C_206A_206E_206B_206A_206E_202B_200B_206D_200E_206C_200F_206E_200B_202B_202C_202C_200D_200E_202D_200F_206F_206E_206A_202C_202E_202E_206B_202E(), fontSize, new Vector2(x3, pMin.Y + (num - vector3.Y) / 2f), _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(DimTextColor), rightText); + float x3 = itemRectMax.X - 12f - vector3.X; + windowDrawList.AddText(UiBuilder.MonoFont, fontSize, new Vector2(x3, itemRectMin.Y + (frameHeight - vector3.Y) / 2f), ImGui.ColorConvertFloat4ToU32(DimTextColor), rightText); } return open; } - finally - { - int num2 = ((idDisposable == null) ? (-2111830654) : (-2111830655)); - while (true) - { - int num14 = num2; - int num4 = -2111830656; - int num5 = num14; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num2 = -2111830655; - break; - case 2: - goto end_IL_054e; - case 1: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)idDisposable); - num2 = -2111830654; - break; - } - continue; - end_IL_054e: - break; - } - } } - [MethodImpl(MethodImplOptions.NoInlining)] public static bool WrappedCheckbox(string label, ref bool value, string? infoTooltip = null) { - ImU8String imU8String = new ImU8String(2, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(417604067)); - imU8String.AppendFormatted(label); - bool result = _206F_202C_206C_200E_206C_206C_206B_200F_206C_200E_206A_206E_200E_202E_206B_206A_206C_202B_206C_202C_200C_202C_206B_200D_200C_206A_206E_200E_206D_206D_200D_202A_206F_206C_200F_206B_206F_200F_200C_206F_202E(imU8String, ref value); - _206D_206A_206D_202E_206E_206F_206F_206B_200F_200F_202A_206E_206C_200F_200D_200B_206D_206F_206E_206A_202C_200F_206A_200D_200C_206D_206A_206C_206A_206A_206C_206D_202E_202B_206F_200F_200D_200E_206E_202A_202E(); + ImU8String label2 = new ImU8String(2, 1); + label2.AppendLiteral("##"); + label2.AppendFormatted(label); + bool result = ImGui.Checkbox(label2, ref value); + ImGui.SameLine(); if (infoTooltip != null) { - ImRaii.FontDisposable fontDisposable = _202A_202E_206A_202E_206D_202A_200B_200B_200F_206D_206E_200E_200C_206B_200C_206A_200F_200E_200E_200D_200F_206B_202D_206C_202A_200D_206A_206D_200C_200D_206A_202C_206C_206C_202A_206A_200E_206C_200F_202E(_206F_206D_206C_200F_200E_206B_202A_200F_202E_206A_206E_200F_206D_206A_206F_206D_206B_200F_200E_202E_200B_206B_200D_200E_206D_200C_206D_206B_202C_202E_206B_202E_206B_202C_202A_200D_202B_200F_202C_200E_202E(), true); float x; - try + using (ImRaii.PushFont(UiBuilder.IconFont)) { - x = _200D_206B_202E_202A_202A_200F_202A_200F_202E_206B_200B_202E_202B_206A_206B_200F_206C_206D_200F_200D_206B_202A_200E_206A_202E_206B_200E_200E_202A_200C_206D_206D_200C_206F_202C_202E_206D_206D_200C_206A_202E((ImU8String)_200E_200B_202B_206D_202E_200F_202D_200F_206C_206C_202E_202D_202D_200F_200E_200F_200F_200C_206B_200D_200D_200B_206E_206B_206B_200C_200C_202C_206C_200F_206B_202E_202B_202D_206D_206E_200E_202C_202C_200C_202E(FontAwesomeIcon.InfoCircle), false, -1f).X; + x = ImGui.CalcTextSize(FontAwesomeIcon.InfoCircle.ToIconString()).X; } - finally + ImGui.PushTextWrapPos(ImGui.GetCursorPosX() + ImGui.GetContentRegionAvail().X - x - ImGui.GetStyle().ItemSpacing.X); + ImGui.Text(label); + ImGui.PopTextWrapPos(); + ImGui.SameLine(); + using (ImRaii.PushFont(UiBuilder.IconFont)) { - int num = ((fontDisposable == null) ? (-1353435682) : (-1353435683)); - while (true) + ImGui.TextColored(in DimTextColor, FontAwesomeIcon.InfoCircle.ToIconString()); + } + if (ImGui.IsItemHovered()) + { + using (ImRaii.Tooltip()) { - int num2 = num; - int num3 = -1353435681; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1353435683; - break; - case 2: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)fontDisposable); - num = -1353435682; - break; - case 1: - goto end_IL_0084; - } - continue; - end_IL_0084: - break; - } - } - _202C_200D_202A_206C_200E_202C_200B_200B_202A_206B_202E_202C_202C_200D_206B_202D_200D_206B_202B_206E_206D_202C_200E_202A_202D_206A_206C_202C_202A_200D_202A_200B_200E_206B_202B_200F_202E_202B_200C_200F_202E(_202D_200B_200D_202B_202D_206D_200D_206C_206B_200D_200B_206C_206D_200C_202E_206D_206C_200B_202B_202D_200D_200F_200C_202E_200E_202A_206C_206A_206D_202D_200C_202E_206F_206C_206E_202C_200D_206B_206B_200C_202E() + _206E_200D_200C_206B_200C_206F_200F_200B_200F_206C_206D_200D_206E_202E_200B_202E_200C_206E_206A_202A_202E_200E_206D_206B_200E_202B_202D_206C_200D_202C_202E_202B_202D_200B_200F_202E_200B_202C_200C_206E_202E().X - x - _200D_200C_206C_206C_200E_202C_202D_200E_206D_206A_206D_202B_200D_202E_202C_200E_206E_200F_206E_200F_200C_206B_200F_206C_206C_200C_206F_202D_200E_206A_202D_200C_200B_202C_202A_202D_206F_202B_206F_200D_202E().ItemSpacing.X); - _202E_202B_206B_202E_206E_206A_202E_202A_202B_206C_206E_206D_200C_202A_206D_200C_206A_202E_200D_202C_200F_206B_206C_202E_202A_206F_200E_200B_200C_206C_202C_202E_206A_200C_206E_200D_202E_202A_200F_202C_202E((ImU8String)label); - _200C_200C_206E_200B_200E_202C_200E_206D_206C_202C_200D_202C_200D_206B_202C_206D_202D_206C_200E_202D_206A_206B_206D_202C_200C_206A_202D_200E_200E_200B_206C_202B_200D_200F_206D_202A_202C_200B_202E_202A_202E(); - _206D_206A_206D_202E_206E_206F_206F_206B_200F_200F_202A_206E_206C_200F_200D_200B_206D_206F_206E_206A_202C_200F_206A_200D_200C_206D_206A_206C_206A_206A_206C_206D_202E_202B_206F_200F_200D_200E_206E_202A_202E(); - fontDisposable = _202A_202E_206A_202E_206D_202A_200B_200B_200F_206D_206E_200E_200C_206B_200C_206A_200F_200E_200E_200D_200F_206B_202D_206C_202A_200D_206A_206D_200C_200D_206A_202C_206C_206C_202A_206A_200E_206C_200F_202E(_206F_206D_206C_200F_200E_206B_202A_200F_202E_206A_206E_200F_206D_206A_206F_206D_206B_200F_200E_202E_200B_206B_200D_200E_206D_200C_206D_206B_202C_202E_206B_202E_206B_202C_202A_200D_202B_200F_202C_200E_202E(), true); - try - { - _206A_200F_200E_200B_206D_200D_202D_206C_206F_202E_200B_202E_206F_202D_206C_206F_206A_206A_206C_206E_202D_206D_202D_202C_202C_206B_200D_200B_202E_206B_200C_206F_200F_206C_202E_202A_202C_200B_200B_202E_202E(ref DimTextColor, (ImU8String)_200E_200B_202B_206D_202E_200F_202D_200F_206C_206C_202E_202D_202D_200F_200E_200F_200F_200C_206B_200D_200D_200B_206E_206B_206B_200C_200C_202C_206C_200F_206B_202E_202B_202D_206D_206E_200E_202C_202C_200C_202E(FontAwesomeIcon.InfoCircle)); - } - finally - { - int num = ((fontDisposable == null) ? 177849368 : 177849371); - while (true) - { - int num5 = num; - int num3 = 177849369; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 1: - goto end_IL_0157; - case 2: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)fontDisposable); - num = 177849368; - break; - case 0: - num = 177849371; - break; - } - continue; - end_IL_0157: - break; - } - } - if (_200B_202A_202D_206F_206A_200F_206A_206C_200F_202A_202B_202D_200D_200E_202A_206A_206D_206E_202A_206C_200E_206D_202A_206E_202B_200E_202A_206F_206B_202C_206D_200F_206F_206A_200C_200E_202A_206A_206C_202E_202E()) - { - using (_200D_202A_206C_206B_206E_202D_202E_200D_202A_200C_206F_206B_206D_200B_202D_200F_200D_206D_202A_206A_200D_206A_200D_200B_202C_206F_200C_200C_206C_200C_206A_200C_206E_202C_206D_202B_206E_202B_206C_200F_202E()) - { - _202C_200D_202A_206C_200E_202C_200B_200B_202A_206B_202E_202C_202C_200D_206B_202D_200D_206B_202B_206E_206D_202C_200E_202A_202D_206A_206C_202C_202A_200D_202A_200B_200E_206B_202B_200F_202E_202B_200C_200F_202E(400f); - _202E_202B_206B_202E_206E_206A_202E_202A_202B_206C_206E_206D_200C_202A_206D_200C_206A_202E_200D_202C_200F_206B_206C_202E_202A_206F_200E_200B_200C_206C_202C_202E_206A_200C_206E_200D_202E_202A_200F_202C_202E((ImU8String)infoTooltip); - _200C_200C_206E_200B_200E_202C_200E_206D_206C_202C_200D_202C_200D_206B_202C_206D_202D_206C_200E_202D_206A_206B_206D_202C_200C_206A_202D_200E_200E_200B_206C_202B_200D_200F_206D_202A_202C_200B_202E_202A_202E(); + ImGui.PushTextWrapPos(400f); + ImGui.Text(infoTooltip); + ImGui.PopTextWrapPos(); } } } else { - _202C_200D_202A_206C_200E_202C_200B_200B_202A_206B_202E_202C_202C_200D_206B_202D_200D_206B_202B_206E_206D_202C_200E_202A_202D_206A_206C_202C_202A_200D_202A_200B_200E_206B_202B_200F_202E_202B_200C_200F_202E(0f); - _202E_202B_206B_202E_206E_206A_202E_202A_202B_206C_206E_206D_200C_202A_206D_200C_206A_202E_200D_202C_200F_206B_206C_202E_202A_206F_200E_200B_200C_206C_202C_202E_206A_200C_206E_200D_202E_202A_200F_202C_202E((ImU8String)label); - _200C_200C_206E_200B_200E_202C_200E_206D_206C_202C_200D_202C_200D_206B_202C_206D_202D_206C_200E_202D_206A_206B_206D_202C_200C_206A_202D_200E_200E_200B_206C_202B_200D_200F_206D_202A_202C_200B_202E_202A_202E(); + ImGui.PushTextWrapPos(0f); + ImGui.Text(label); + ImGui.PopTextWrapPos(); } return result; } - [MethodImpl(MethodImplOptions.NoInlining)] public static int CheckboxGrid(string id, ReadOnlySpan items, int columns = 2) { - ImRaii.IdDisposable idDisposable = _200D_200F_206C_202D_206B_206F_206E_206E_202D_202C_202E_202B_202D_206E_202B_200E_206C_202B_202D_200E_200B_206F_202B_200E_200B_200C_202A_202A_202C_200C_206A_206F_200E_202C_200F_206F_200D_206E_200C_202D_202E((ImU8String)id, true); - try + using (ImRaii.PushId(id)) { - float x = _206E_200D_200C_206B_200C_206F_200F_200B_200F_206C_206D_200D_206E_202E_200B_202E_200C_206E_206A_202A_202E_200E_206D_206B_200E_202B_202D_206C_200D_202C_202E_202B_202D_200B_200F_202E_200B_202C_200C_206E_202E().X; - float x2 = _200D_200C_206C_206C_200E_202C_202D_200E_206D_206A_206D_202B_200D_202E_202C_200E_206E_200F_206E_200F_200C_206B_200F_206C_206C_200C_206F_202D_200E_206A_202D_200C_200B_202C_202A_202D_206F_202B_206F_200D_202E().ItemSpacing.X; + float x = ImGui.GetContentRegionAvail().X; + float x2 = ImGui.GetStyle().ItemSpacing.X; float num = 0f; ReadOnlySpan readOnlySpan = items; - int num2 = 0; - int num3 = -1026376026; - int num8 = default(int); - float num11 = default(float); - float num7 = default(float); - int result = default(int); - while (true) + for (int i = 0; i < readOnlySpan.Length; i++) { - int num4 = num3; - int num5 = -1026376019; - int num6 = num4; - switch ((num6 | num5) - (num6 & num5)) + GridCheckbox gridCheckbox = readOnlySpan[i]; + float num2 = ImGui.GetFrameHeight() + x2 + ImGui.CalcTextSize(gridCheckbox.Label).X; + if (gridCheckbox.Tooltip != null) { - case 1: - _206D_206A_206D_202E_206E_206F_206F_206B_200F_200F_202A_206E_206C_200F_200D_200B_206D_206F_206E_206A_202C_200F_206A_200D_200C_206D_206A_206C_206A_206A_206C_206D_202E_202B_206F_200F_200D_200E_206E_202A_202E(); - _200E_202A_206A_200E_206E_206E_206B_206B_206B_206C_206F_202A_200E_206A_200C_200E_202E_202C_206C_200E_206D_202C_200F_200C_206E_200D_200E_202D_206D_206A_200E_200B_202B_206E_206E_206B_200C_202A_206B_200C_202E((ImU8String)items[num8].Label); - num3 = ((items[num8].Tooltip == null) ? (-1026376004) : (-1026376018)); - break; - case 3: - _206D_206A_206D_202E_206E_206F_206F_206B_200F_200F_202A_206E_206C_200F_200D_200B_206D_206F_206E_206A_202C_200F_206A_200D_200C_206D_206A_206C_206A_206A_206C_206D_202E_202B_206F_200F_200D_200E_206E_202A_202E(); - InfoIcon(items[num8].Tooltip); - num3 = -1026376004; - break; - case 7: - num11 += x2 + _200D_202A_206A_206F_202D_206E_206E_206F_206C_206F_200F_200D_200E_200F_202D_202D_202C_202D_206E_202D_202B_206C_202C_206E_206B_200E_202B_206F_202E_202A_206D_202D_200D_206B_200F_202A_202E_206F_206A_202C_202E(); - num3 = -1026376017; - break; - case 6: - num3 = ((num > x / (float)columns) ? (-1026376029) : (-1026376032)); - break; - case 13: - num7 = x / (float)columns; - result = -1; - num8 = 0; - num3 = -1026376031; - break; - case 2: - { - num = _206D_202B_202D_200F_206A_200D_206E_206C_202C_206B_200E_206B_206B_206C_206B_200E_202C_206C_202A_206F_206E_200E_202A_202A_200B_206F_202C_200C_206E_206D_206F_202E_200F_206B_206D_202E_206E_200C_200C_202C_202E(num, num11); - int num12 = num2; - num5 = 1; - num6 = num12; - int num13 = num6 ^ num5; - int num14 = num6 & num5; - num2 = num13 + (num14 + num14); - num3 = -1026376026; - break; + num2 += x2 + ImGui.GetFontSize(); } - case 0: + num = MathF.Max(num, num2); + } + while (columns > 1 && num > x / (float)columns) + { + columns--; + } + float num3 = x / (float)columns; + int result = -1; + for (int j = 0; j < items.Length; j++) + { + if (j % columns != 0) { - bool value = items[num8].Value; - ImU8String imU8String = new ImU8String(4, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1503654672)); - imU8String.AppendFormatted(num8); - num3 = ((!_206F_202C_206C_200E_206C_206C_206B_200F_206C_200E_206A_206E_200E_202E_206B_206A_206C_202B_206C_202C_200C_202C_206B_200D_200C_206A_206E_200E_206D_206D_200D_202A_206F_206C_200F_206B_206F_200F_200C_206F_202E(imU8String, ref value)) ? (-1026376020) : (-1026376001)); - break; + ImGui.SameLine(num3 * (float)(j % columns)); } - case 4: - num3 = ((columns <= 1) ? (-1026376032) : (-1026376021)); - break; - case 18: - result = num8; - num3 = -1026376020; - break; - case 9: - num3 = -1026376023; - break; - case 15: + bool v = items[j].Value; + ImU8String label = new ImU8String(4, 1); + label.AppendLiteral("##cg"); + label.AppendFormatted(j); + if (ImGui.Checkbox(label, ref v)) { - GridCheckbox gridCheckbox = readOnlySpan[num2]; - num11 = _206B_200B_200D_202B_202D_202E_206F_200E_206A_202D_206C_206E_200F_200F_206A_202B_206D_200D_206B_206E_206D_202C_200E_206E_200E_200F_200E_200B_202A_200B_206B_200C_202E_202A_206C_206F_206F_200D_206C_200D_202E() + x2 + _200D_206B_202E_202A_202A_200F_202A_200F_202E_206B_200B_202E_202B_206A_206B_200F_206C_206D_200F_200D_206B_202A_200E_206A_202E_206B_200E_200E_202A_200C_206D_206D_200C_206F_202C_202E_206D_206D_200C_206A_202E((ImU8String)gridCheckbox.Label, false, -1f).X; - num3 = ((gridCheckbox.Tooltip == null) ? (-1026376017) : (-1026376022)); - break; + result = j; } - case 8: - num3 = ((num8 % columns == 0) ? (-1026376019) : (-1026376025)); - break; - case 12: - num3 = ((num8 < items.Length) ? (-1026376027) : (-1026376003)); - break; - case 5: - num3 = -1026376026; - break; - case 11: - num3 = ((num2 < readOnlySpan.Length) ? (-1026376030) : (-1026376028)); - break; - case 14: + ImGui.SameLine(); + ImGui.TextUnformatted(items[j].Label); + if (items[j].Tooltip != null) { - int num10 = columns; - num5 = 1; - num6 = num10; - columns = ~(~num6 + num5); - num3 = -1026376023; - break; - } - case 17: - { - int num9 = num8; - num5 = 1; - num6 = num9; - num8 = (num6 | num5) + (num6 & num5); - num3 = -1026376031; - break; - } - case 10: - _202A_200B_206D_202A_206E_206E_206A_202E_206E_206A_202B_200E_206E_200E_202D_206B_206B_206B_200B_206E_200D_202E_206D_200D_206E_206F_202C_206B_200F_206E_200C_200F_202D_200C_200B_202E_202C_202B_200D_206B_202E(num7 * (float)(num8 % columns)); - num3 = -1026376019; - break; - case 16: - return result; + ImGui.SameLine(); + InfoIcon(items[j].Tooltip); } } - } - finally - { - int num3 = ((idDisposable == null) ? 242126912 : 242126915); - while (true) - { - int num15 = num3; - int num5 = 242126913; - int num6 = num15; - switch ((num6 | num5) - (num6 & num5)) - { - case 0: - num3 = 242126915; - break; - case 2: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)idDisposable); - num3 = 242126912; - break; - case 1: - goto end_IL_037b; - } - continue; - end_IL_037b: - break; - } + return result; } } public static bool SearchInput(string id, ref string text, float width = -1E-45f, string hint = "Search...") { - _202E_202A_202C_206B_200E_200F_200E_206F_206C_202C_202A_202C_206D_202C_200B_202E_200E_202A_202D_200C_206B_200C_200B_206B_206E_200F_202E_206A_202C_206E_206C_202C_200B_200E_206F_206A_202C_202C_206C_206E_202E(width); - return _200D_206B_202B_200D_206F_206E_200B_202B_200F_206E_202D_206A_206D_206F_200F_206F_200C_206A_202E_206E_206E_200F_202C_206A_202A_202B_206A_202D_206C_200F_200C_206D_200F_206E_200C_200B_202A_206F_200F_206A_202E((ImU8String)id, (ImU8String)hint, ref text, 256, ImGuiInputTextFlags.None, (ImGui.ImGuiInputTextCallbackDelegate)null); + ImGui.SetNextItemWidth(width); + return ImGui.InputTextWithHint(id, hint, ref text, 256); } public static void InfoIcon(string tooltip) { - ImRaii.FontDisposable fontDisposable = _202A_202E_206A_202E_206D_202A_200B_200B_200F_206D_206E_200E_200C_206B_200C_206A_200F_200E_200E_200D_200F_206B_202D_206C_202A_200D_206A_206D_200C_200D_206A_202C_206C_206C_202A_206A_200E_206C_200F_202E(_206F_206D_206C_200F_200E_206B_202A_200F_202E_206A_206E_200F_206D_206A_206F_206D_206B_200F_200E_202E_200B_206B_200D_200E_206D_200C_206D_206B_202C_202E_206B_202E_206B_202C_202A_200D_202B_200F_202C_200E_202E(), true); - try + using (ImRaii.PushFont(UiBuilder.IconFont)) { - _206A_200F_200E_200B_206D_200D_202D_206C_206F_202E_200B_202E_206F_202D_206C_206F_206A_206A_206C_206E_202D_206D_202D_202C_202C_206B_200D_200B_202E_206B_200C_206F_200F_206C_202E_202A_202C_200B_200B_202E_202E(ref DimTextColor, (ImU8String)_200E_200B_202B_206D_202E_200F_202D_200F_206C_206C_202E_202D_202D_200F_200E_200F_200F_200C_206B_200D_200D_200B_206E_206B_206B_200C_200C_202C_206C_200F_206B_202E_202B_202D_206D_206E_200E_202C_202C_200C_202E(FontAwesomeIcon.InfoCircle)); + ImGui.TextColored(in DimTextColor, FontAwesomeIcon.InfoCircle.ToIconString()); } - finally + if (ImGui.IsItemHovered()) { - int num = ((fontDisposable == null) ? 1404360823 : 1404360820); - while (true) + using (ImRaii.Tooltip()) { - int num2 = num; - int num3 = 1404360821; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_0046; - case 1: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)fontDisposable); - num = 1404360823; - break; - case 0: - num = 1404360820; - break; - } - continue; - end_IL_0046: - break; - } - } - if (_200B_202A_202D_206F_206A_200F_206A_206C_200F_202A_202B_202D_200D_200E_202A_206A_206D_206E_202A_206C_200E_206D_202A_206E_202B_200E_202A_206F_206B_202C_206D_200F_206F_206A_200C_200E_202A_206A_206C_202E_202E()) - { - using (_200D_202A_206C_206B_206E_202D_202E_200D_202A_200C_206F_206B_206D_200B_202D_200F_200D_206D_202A_206A_200D_206A_200D_200B_202C_206F_200C_200C_206C_200C_206A_200C_206E_202C_206D_202B_206E_202B_206C_200F_202E()) - { - _202C_200D_202A_206C_200E_202C_200B_200B_202A_206B_202E_202C_202C_200D_206B_202D_200D_206B_202B_206E_206D_202C_200E_202A_202D_206A_206C_202C_202A_200D_202A_200B_200E_206B_202B_200F_202E_202B_200C_200F_202E(400f); - _202E_202B_206B_202E_206E_206A_202E_202A_202B_206C_206E_206D_200C_202A_206D_200C_206A_202E_200D_202C_200F_206B_206C_202E_202A_206F_200E_200B_200C_206C_202C_202E_206A_200C_206E_200D_202E_202A_200F_202C_202E((ImU8String)tooltip); - _200C_200C_206E_200B_200E_202C_200E_206D_206C_202C_200D_202C_200D_206B_202C_206D_202D_206C_200E_202D_206A_206B_206D_202C_200C_206A_202D_200E_200E_200B_206C_202B_200D_200F_206D_202A_202C_200B_202E_202A_202E(); + ImGui.PushTextWrapPos(400f); + ImGui.Text(tooltip); + ImGui.PopTextWrapPos(); } } } public static bool AccentSliderInt(string label, ref int value, int min, int max, float width = 250f) { - ImDrawListPtr imDrawListPtr = _206C_206E_202A_202B_202D_206B_206C_200B_200B_200F_202D_206B_202D_206C_200C_200C_206A_200C_206B_200E_206C_200C_206B_200E_206B_206A_200F_202B_206E_202C_206F_202D_200F_202D_202E_200C_206B_202A_202C_200F_202E(); - Vector2 pMin = _202D_202E_200C_202E_200C_202D_206E_206C_202A_200C_200C_206D_202D_202E_206C_206E_206F_206F_202A_202D_200D_202D_200B_206C_202E_202D_206C_200D_202E_206D_202C_200D_202B_200D_206B_202E_206A_206B_206A_202C_202E(); - float num = _206B_200B_200D_202B_202D_202E_206F_200E_206A_202D_206C_206E_200F_200F_206A_202B_206D_200D_206B_206E_206D_202C_200E_206E_200E_200F_200E_200B_202A_200B_206B_200C_202E_202A_206C_206F_206F_200D_206C_200D_202E(); - int num2 = ((max > min) ? (-664033253) : (-664033256)); - float num7; - while (true) + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + float frameHeight = ImGui.GetFrameHeight(); + float num = ((max > min) ? ((float)(value - min) / (float)(max - min)) : 0f); + windowDrawList.AddRectFilled(cursorScreenPos, new Vector2(cursorScreenPos.X + width * num, cursorScreenPos.Y + frameHeight), ImGui.ColorConvertFloat4ToU32(AccentDimColor), 4f); + using (ImRaii.PushColor(ImGuiCol.FrameBg, new Vector4(0.15f, 0.12f, 0.2f, 0.5f))) { - int num3 = num2; - int num4 = -664033254; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - default: - continue; - case 0: - goto IL_005d; - case 2: - num7 = 0f; - break; - case 1: - { - float num6 = value - min; - num4 = min; - num5 = max; - num7 = num6 / (float)(~(~num5 + num4)); - break; - } - } - break; - IL_005d: - num2 = -664033256; - } - float num8 = num7; - imDrawListPtr.AddRectFilled(pMin, new Vector2(pMin.X + width * num8, pMin.Y + num), _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(AccentDimColor), 4f); - ImRaii.ColorDisposable colorDisposable = _200C_200C_200F_200D_206A_200E_202A_206D_200E_202C_206F_206D_200E_200B_206E_200D_206C_202C_202A_202D_200B_202D_206B_202A_202B_206A_200B_206F_206E_200B_206A_206A_202E_202A_200E_200F_200F_206B_202B_200F_202E(ImGuiCol.FrameBg, new Vector4(0.15f, 0.12f, 0.2f, 0.5f), true); - try - { - _202E_202A_202C_206B_200E_200F_200E_206F_206C_202C_202A_202C_206D_202C_200B_202E_200E_202A_202D_200C_206B_200C_200B_206B_206E_200F_202E_206A_202C_206E_206C_202C_200B_200E_206F_206A_202C_202C_206C_206E_202E(width); - return _202C_206B_206D_206D_202D_202A_202D_202D_202D_202E_202C_200C_200E_200C_202C_200D_206D_200C_200E_206A_202B_202C_200D_206B_200F_202D_200C_202E_202B_206C_200B_206D_200C_206A_200D_200C_200C_200F_202A_200D_202E((ImU8String)label, ref value, min, max, default(ImU8String), ImGuiSliderFlags.None); - } - finally - { - num2 = ((colorDisposable == null) ? 577315354 : 577315353); - while (true) - { - int num9 = num2; - int num4 = 577315352; - int num5 = num9; - int num10 = num5 + num4; - int num11 = num5 & num4; - switch (num10 - (num11 + num11)) - { - case 2: - goto end_IL_012b; - case 1: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)colorDisposable); - num2 = 577315354; - break; - case 0: - num2 = 577315353; - break; - } - continue; - end_IL_012b: - break; - } + ImGui.SetNextItemWidth(width); + return ImGui.SliderInt(label, ref value, min, max); } } public static bool AccentSliderFloat(string label, ref float value, float min, float max, string format = "%.1f", float width = 250f) { - ImDrawListPtr imDrawListPtr = _206C_206E_202A_202B_202D_206B_206C_200B_200B_200F_202D_206B_202D_206C_200C_200C_206A_200C_206B_200E_206C_200C_206B_200E_206B_206A_200F_202B_206E_202C_206F_202D_200F_202D_202E_200C_206B_202A_202C_200F_202E(); - Vector2 pMin = _202D_202E_200C_202E_200C_202D_206E_206C_202A_200C_200C_206D_202D_202E_206C_206E_206F_206F_202A_202D_200D_202D_200B_206C_202E_202D_206C_200D_202E_206D_202C_200D_202B_200D_206B_202E_206A_206B_206A_202C_202E(); - float num = _206B_200B_200D_202B_202D_202E_206F_200E_206A_202D_206C_206E_200F_200F_206A_202B_206D_200D_206B_206E_206D_202C_200E_206E_200E_200F_200E_200B_202A_200B_206B_200C_202E_202A_206C_206F_206F_200D_206C_200D_202E(); - int num2 = ((max > min) ? 1057697420 : 1057697423); - float num8; - while (true) + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + float frameHeight = ImGui.GetFrameHeight(); + float num = ((max > min) ? ((value - min) / (max - min)) : 0f); + windowDrawList.AddRectFilled(cursorScreenPos, new Vector2(cursorScreenPos.X + width * num, cursorScreenPos.Y + frameHeight), ImGui.ColorConvertFloat4ToU32(AccentDimColor), 4f); + using (ImRaii.PushColor(ImGuiCol.FrameBg, new Vector4(0.15f, 0.12f, 0.2f, 0.5f))) { - int num3 = num2; - int num4 = 1057697422; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - default: - continue; - case 0: - goto IL_005f; - case 1: - num8 = 0f; - break; - case 2: - num8 = (value - min) / (max - min); - break; - } - break; - IL_005f: - num2 = 1057697423; - } - float num9 = num8; - imDrawListPtr.AddRectFilled(pMin, new Vector2(pMin.X + width * num9, pMin.Y + num), _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(AccentDimColor), 4f); - ImRaii.ColorDisposable colorDisposable = _200C_200C_200F_200D_206A_200E_202A_206D_200E_202C_206F_206D_200E_200B_206E_200D_206C_202C_202A_202D_200B_202D_206B_202A_202B_206A_200B_206F_206E_200B_206A_206A_202E_202A_200E_200F_200F_206B_202B_200F_202E(ImGuiCol.FrameBg, new Vector4(0.15f, 0.12f, 0.2f, 0.5f), true); - try - { - _202E_202A_202C_206B_200E_200F_200E_206F_206C_202C_202A_202C_206D_202C_200B_202E_200E_202A_202D_200C_206B_200C_200B_206B_206E_200F_202E_206A_202C_206E_206C_202C_200B_200E_206F_206A_202C_202C_206C_206E_202E(width); - return _200D_202C_206A_200D_200C_200E_200D_202A_202E_202E_200C_206D_206E_202A_200C_200F_200E_200C_202C_202B_202D_206C_202E_202B_206B_200B_202E_202E_202D_206A_206A_202B_206F_206E_206B_206E_202D_202E_202A_206E_202E((ImU8String)label, ref value, min, max, (ImU8String)format, ImGuiSliderFlags.None); - } - finally - { - num2 = ((colorDisposable == null) ? (-509645182) : (-509645183)); - while (true) - { - int num10 = num2; - int num4 = -509645181; - int num5 = num10; - int num11 = num5 + num4; - int num12 = num5 & num4; - switch (num11 - (num12 + num12)) - { - case 0: - num2 = -509645183; - break; - case 2: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)colorDisposable); - num2 = -509645182; - break; - case 1: - goto end_IL_011e; - } - continue; - end_IL_011e: - break; - } + ImGui.SetNextItemWidth(width); + return ImGui.SliderFloat(label, ref value, min, max, format); } } public static bool ThemedCombo(string label, ref int currentItem, string[] items, int itemCount) { - ImRaii.ColorDisposable colorDisposable = _200C_200C_200F_200D_206A_200E_202A_206D_200E_202C_206F_206D_200E_200B_206E_200D_206C_202C_202A_202D_200B_202D_206B_202A_202B_206A_200B_206F_206E_200B_206A_206A_202E_202A_200E_200F_200F_206B_202B_200F_202E(ImGuiCol.FrameBg, new Vector4(0.15f, 0.12f, 0.2f, 0.65f), true); - try + using ImRaii.ColorDisposable colorDisposable = ImRaii.PushColor(ImGuiCol.FrameBg, new Vector4(0.15f, 0.12f, 0.2f, 0.65f)); + colorDisposable.Push(ImGuiCol.FrameBgHovered, new Vector4(0.2f, 0.16f, 0.28f, 0.75f)); + colorDisposable.Push(ImGuiCol.FrameBgActive, new Vector4(0.22f, 0.18f, 0.3f, 0.85f)); + string text = ((currentItem >= 0 && currentItem < itemCount) ? items[currentItem] : string.Empty); + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + float num = ImGui.CalcItemWidth(); + float frameHeight = ImGui.GetFrameHeight(); + bool result = false; + if (ImGui.BeginCombo(label, text, ImGuiComboFlags.NoArrowButton)) { - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable, ImGuiCol.FrameBgHovered, new Vector4(0.2f, 0.16f, 0.28f, 0.75f), true); - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable, ImGuiCol.FrameBgActive, new Vector4(0.22f, 0.18f, 0.3f, 0.85f), true); - int num = ((currentItem < 0) ? (-660884539) : (-660884541)); - bool flag = default(bool); - bool result = default(bool); - ImDrawListPtr imDrawListPtr = default(ImDrawListPtr); - Vector2 vector = default(Vector2); - float num17 = default(float); - float num18 = default(float); - while (true) - { - int num2 = num; - int num3 = -660884543; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - object obj; - string text; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 0: - obj = items[currentItem]; - goto IL_00c0; - case 4: - obj = string.Empty; - goto IL_00c0; - case 2: - num = ((currentItem < itemCount) ? (-660884543) : (-660884539)); - continue; - case 3: - num = -660884541; - continue; - case 1: - { - Vector4 accentColor = AccentColor; - accentColor.W = 0.35f; - ImRaii.ColorDisposable colorDisposable2 = _200C_200C_200F_200D_206A_200E_202A_206D_200E_202C_206F_206D_200E_200B_206E_200D_206C_202C_202A_202D_200B_202D_206B_202A_202B_206A_200B_206F_206E_200B_206A_206A_202E_202A_200E_200F_200F_206B_202B_200F_202E(ImGuiCol.Header, accentColor, true); - try - { - accentColor = AccentColor; - accentColor.W = 0.45f; - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable2, ImGuiCol.HeaderHovered, accentColor, true); - accentColor = AccentColor; - accentColor.W = 0.6f; - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable2, ImGuiCol.HeaderActive, accentColor, true); - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable2, ImGuiCol.Text, new Vector4(0.95f, 0.95f, 1f, 1f), true); - int num7 = 0; - num = -1523793301; - while (true) - { - int num8 = num; - num3 = -1523793297; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 7: - num = -1523793301; - break; - case 4: - num = ((num7 < itemCount) ? (-1523793298) : (-1523793303)); - break; - case 3: - { - int num11 = num7; - num3 = 1; - num4 = num11; - int num12 = num4 ^ num3; - int num13 = num4 & num3; - num7 = num12 + (num13 + num13); - num = -1523793301; - break; - } - case 1: - flag = num7 == currentItem; - num = ((!_200C_206D_206C_202B_206F_202B_206B_200F_200F_202B_200D_206C_206D_202A_200F_200E_202A_206C_202A_200F_200B_200E_206B_206A_202B_200B_206C_200D_206C_200E_206A_202D_200F_206C_206A_200F_206E_200C_200E_200D_202E((ImU8String)items[num7], flag, ImGuiSelectableFlags.None, default(Vector2))) ? (-1523793299) : (-1523793302)); - break; - case 2: - num = ((!flag) ? (-1523793300) : (-1523793297)); - break; - case 5: - currentItem = num7; - result = true; - num = -1523793299; - break; - case 0: - _200E_202D_202E_200E_202E_202A_206F_202A_206E_202D_202A_206A_206A_206F_206D_200C_202B_200F_200C_206E_206F_202A_206B_200B_200C_206A_202E_202E_202B_202C_206B_202C_202C_202B_202C_202C_206A_206D_200F_200F_202E(); - num = -1523793300; - break; - case 6: - _202C_206B_202D_206E_202D_206D_206B_200D_200E_206D_200F_200C_202C_200B_200F_202E_206E_206F_202D_206A_202A_202D_200E_200D_206C_202E_202B_202A_206D_200E_202B_200C_200C_200D_206B_202B_202D_202B_206E_206E_202E(); - goto end_IL_01d5; - } - continue; - end_IL_01d5: - break; - } - } - finally - { - num = ((colorDisposable2 == null) ? (-1128559037) : (-1128559040)); - while (true) - { - int num14 = num; - num3 = -1128559038; - num4 = num14; - int num15 = num4 + num3; - int num16 = num4 & num3; - switch (num15 - (num16 + num16)) - { - case 0: - num = -1128559040; - break; - case 2: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)colorDisposable2); - num = -1128559037; - break; - case 1: - goto end_IL_0311; - } - continue; - end_IL_0311: - break; - } - } - break; - } - IL_00c0: - text = (string)obj; - imDrawListPtr = _206C_206E_202A_202B_202D_206B_206C_200B_200B_200F_202D_206B_202D_206C_200C_200C_206A_200C_206B_200E_206C_200C_206B_200E_206B_206A_200F_202B_206E_202C_206F_202D_200F_202D_202E_200C_206B_202A_202C_200F_202E(); - vector = _202D_202E_200C_202E_200C_202D_206E_206C_202A_200C_200C_206D_202D_202E_206C_206E_206F_206F_202A_202D_200D_202D_200B_206C_202E_202D_206C_200D_202E_206D_202C_200D_202B_200D_206B_202E_206A_206B_206A_202C_202E(); - num17 = _202B_202A_202C_200B_200F_206C_206C_206C_202C_206A_200F_206F_206A_200B_206F_200B_202E_206A_200D_200F_202D_202C_200D_206F_206A_206C_202E_200C_206A_206A_202C_202E_206C_202B_206A_206D_202A_202B_206D_200D_202E(); - num18 = _206B_200B_200D_202B_202D_202E_206F_200E_206A_202D_206C_206E_200F_200F_206A_202B_206D_200D_206B_206E_206D_202C_200E_206E_200E_200F_200E_200B_202A_200B_206B_200C_202E_202A_206C_206F_206F_200D_206C_200D_202E(); - result = false; - if (_206C_206C_200D_202E_200C_206E_200E_206B_206C_200E_200B_200B_206A_202E_206E_202E_206C_206D_200D_202D_200C_206A_202E_206D_206B_206E_200B_202B_200D_202E_202A_206D_206C_200F_200B_200C_200B_202D_206D_202D_202E((ImU8String)label, (ImU8String)text, ImGuiComboFlags.NoArrowButton)) - { - num = -660884544; - continue; - } - break; - } - break; - } - float x = _200D_200C_206C_206C_200E_202C_202D_200E_206D_206A_206D_202B_200D_202E_202C_200E_206E_200F_206E_200F_200C_206B_200F_206C_206C_200C_206F_202D_200E_206A_202D_200C_200B_202C_202A_202D_206F_202B_206F_200D_202E().FramePadding.X; - float num19 = 5f; - float num20 = vector.X + num17 - x - num19; - float num21 = vector.Y + num18 * 0.5f; - imDrawListPtr.AddTriangleFilled(new Vector2(num20 - num19 * 0.5f, num21 - num19 * 0.4f), new Vector2(num20 + num19 * 0.5f, num21 - num19 * 0.4f), new Vector2(num20, num21 + num19 * 0.5f), _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(DimTextColor)); - return result; - } - finally - { - int num = ((colorDisposable == null) ? (-497719698) : (-497719697)); - while (true) - { - int num22 = num; - int num3 = -497719698; - int num4 = num22; - int num23 = num4 + num3; - int num24 = num4 & num3; - switch (num23 - (num24 + num24)) - { - case 0: - goto end_IL_041d; - case 1: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)colorDisposable); - num = -497719698; - break; - case 2: - num = -497719697; - break; - } - continue; - end_IL_041d: - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - public static bool SearchableCombo(string label, ref int currentItem, string[] items, ref string searchText, float width = 250f, string? previewOverride = null) - { - ImRaii.ColorDisposable colorDisposable = _200C_200C_200F_200D_206A_200E_202A_206D_200E_202C_206F_206D_200E_200B_206E_200D_206C_202C_202A_202D_200B_202D_206B_202A_202B_206A_200B_206F_206E_200B_206A_206A_202E_202A_200E_200F_200F_206B_202B_200F_202E(ImGuiCol.FrameBg, new Vector4(0.15f, 0.12f, 0.2f, 0.65f), true); - try - { - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable, ImGuiCol.FrameBgHovered, new Vector4(0.2f, 0.16f, 0.28f, 0.75f), true); - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable, ImGuiCol.FrameBgActive, new Vector4(0.22f, 0.18f, 0.3f, 0.85f), true); - object obj = previewOverride; - int num; - if (obj == null) - { - num = ((currentItem < 0) ? (-1685579580) : (-1685579579)); - goto IL_008f; - } - goto IL_00d5; - IL_0613: - float x = _200D_200C_206C_206C_200E_202C_202D_200E_206D_206A_206D_202B_200D_202E_202C_200E_206E_200F_206E_200F_200C_206B_200F_206C_206C_200C_206F_202D_200E_206A_202D_200C_200B_202C_202A_202D_206F_202B_206F_200D_202E().FramePadding.X; - float num2 = 5f; - Vector2 vector = default(Vector2); - float num4 = default(float); - float num3 = vector.X + num4 - x - num2; - float num6 = default(float); - float num5 = vector.Y + num6 * 0.5f; - ImDrawListPtr imDrawListPtr = default(ImDrawListPtr); - imDrawListPtr.AddTriangleFilled(new Vector2(num3 - num2 * 0.5f, num5 - num2 * 0.4f), new Vector2(num3 + num2 * 0.5f, num5 - num2 * 0.4f), new Vector2(num3, num5 + num2 * 0.5f), _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(DimTextColor)); - bool result = default(bool); - return result; - IL_00d5: - string text = (string)obj; - _202E_202A_202C_206B_200E_200F_200E_206F_206C_202C_202A_202C_206D_202C_200B_202E_200E_202A_202D_200C_206B_200C_200B_206B_206E_200F_202E_206A_202C_206E_206C_202C_200B_200E_206F_206A_202C_202C_206C_206E_202E(width); - imDrawListPtr = _206C_206E_202A_202B_202D_206B_206C_200B_200B_200F_202D_206B_202D_206C_200C_200C_206A_200C_206B_200E_206C_200C_206B_200E_206B_206A_200F_202B_206E_202C_206F_202D_200F_202D_202E_200C_206B_202A_202C_200F_202E(); - vector = _202D_202E_200C_202E_200C_202D_206E_206C_202A_200C_200C_206D_202D_202E_206C_206E_206F_206F_202A_202D_200D_202D_200B_206C_202E_202D_206C_200D_202E_206D_202C_200D_202B_200D_206B_202E_206A_206B_206A_202C_202E(); - num4 = _202B_202A_202C_200B_200F_206C_206C_206C_202C_206A_200F_206F_206A_200B_206F_200B_202E_206A_200D_200F_202D_202C_200D_206F_206A_206C_202E_200C_206A_206A_202C_202E_206C_202B_206A_206D_202A_202B_206D_200D_202E(); - num6 = _206B_200B_200D_202B_202D_202E_206F_200E_206A_202D_206C_206E_200F_200F_206A_202B_206D_200D_206B_206E_206D_202C_200E_206E_200E_200F_200E_200B_202A_200B_206B_200C_202E_202A_206C_206F_206F_200D_206C_200D_202E(); - result = false; - if (_206C_206C_200D_202E_200C_206E_200E_206B_206C_200E_200B_200B_206A_202E_206E_202E_206C_206D_200D_202D_200C_206A_202E_206D_206B_206E_200B_202B_200D_202E_202A_206D_206C_200F_200B_200C_200B_202D_206D_202D_202E((ImU8String)label, (ImU8String)text, ImGuiComboFlags.NoArrowButton)) - { - num = -1685579578; - goto IL_008f; - } - goto IL_0613; - IL_0140: - obj = string.Empty; - goto IL_00d5; - IL_008f: - while (true) - { - int num7 = num; - int num8 = -1685579578; - int num9 = num7; - int num10 = num9 + num8; - int num11 = num9 & num8; - switch (num10 - (num11 + num11)) - { - case 4: - num = -1685579579; - break; - case 1: - goto end_IL_008f; - case 3: - goto IL_011e; - case 2: - goto IL_0140; - case 0: - goto IL_0156; - } - continue; - IL_011e: - num = ((currentItem < items.Length) ? (-1685579577) : (-1685579580)); - continue; - end_IL_008f: - break; - } - obj = items[currentItem]; - goto IL_00d5; - IL_0156: Vector4 accentColor = AccentColor; accentColor.W = 0.35f; - ImRaii.ColorDisposable colorDisposable2 = _200C_200C_200F_200D_206A_200E_202A_206D_200E_202C_206F_206D_200E_200B_206E_200D_206C_202C_202A_202D_200B_202D_206B_202A_202B_206A_200B_206F_206E_200B_206A_206A_202E_202A_200E_200F_200F_206B_202B_200F_202E(ImGuiCol.Header, accentColor, true); - try + using ImRaii.ColorDisposable colorDisposable2 = ImRaii.PushColor(ImGuiCol.Header, accentColor); + accentColor = AccentColor; + accentColor.W = 0.45f; + colorDisposable2.Push(ImGuiCol.HeaderHovered, accentColor); + accentColor = AccentColor; + accentColor.W = 0.6f; + colorDisposable2.Push(ImGuiCol.HeaderActive, accentColor); + colorDisposable2.Push(ImGuiCol.Text, new Vector4(0.95f, 0.95f, 1f, 1f)); + for (int i = 0; i < itemCount; i++) { - accentColor = AccentColor; - accentColor.W = 0.45f; - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable2, ImGuiCol.HeaderHovered, accentColor, true); - accentColor = AccentColor; - accentColor.W = 0.6f; - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable2, ImGuiCol.HeaderActive, accentColor, true); - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable2, ImGuiCol.Text, new Vector4(0.95f, 0.95f, 1f, 1f), true); - num = ((!_206E_202B_202D_206F_200C_206D_206D_206C_206F_200F_202A_202C_206B_202B_200C_202C_206D_200B_206F_202E_202B_206E_206E_202B_200D_206F_202C_200C_206D_200E_206B_200F_206E_202E_206E_206F_206E_200E_200F_206F_202E()) ? 569075453 : 569075443); - int num15 = default(int); - int num21 = default(int); - string[] array = default(string[]); - int num17 = default(int); - bool flag = default(bool); - while (true) + bool flag = i == currentItem; + if (ImGui.Selectable(items[i], flag)) { - int num12 = num; - int num8 = 569075451; - int num9 = num12; - switch ((num9 | num8) - (num9 & num8)) + currentItem = i; + result = true; + } + if (flag) + { + ImGui.SetItemDefaultFocus(); + } + } + ImGui.EndCombo(); + } + float x = ImGui.GetStyle().FramePadding.X; + float num2 = 5f; + float num3 = cursorScreenPos.X + num - x - num2; + float num4 = cursorScreenPos.Y + frameHeight * 0.5f; + windowDrawList.AddTriangleFilled(new Vector2(num3 - num2 * 0.5f, num4 - num2 * 0.4f), new Vector2(num3 + num2 * 0.5f, num4 - num2 * 0.4f), new Vector2(num3, num4 + num2 * 0.5f), ImGui.ColorConvertFloat4ToU32(DimTextColor)); + return result; + } + + public static bool SearchableCombo(string label, ref int currentItem, string[] items, ref string searchText, float width = 250f, string? previewOverride = null) + { + using ImRaii.ColorDisposable colorDisposable = ImRaii.PushColor(ImGuiCol.FrameBg, new Vector4(0.15f, 0.12f, 0.2f, 0.65f)); + colorDisposable.Push(ImGuiCol.FrameBgHovered, new Vector4(0.2f, 0.16f, 0.28f, 0.75f)); + colorDisposable.Push(ImGuiCol.FrameBgActive, new Vector4(0.22f, 0.18f, 0.3f, 0.85f)); + string text = previewOverride ?? ((currentItem >= 0 && currentItem < items.Length) ? items[currentItem] : string.Empty); + ImGui.SetNextItemWidth(width); + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + float num = ImGui.CalcItemWidth(); + float frameHeight = ImGui.GetFrameHeight(); + bool result = false; + if (ImGui.BeginCombo(label, text, ImGuiComboFlags.NoArrowButton)) + { + Vector4 accentColor = AccentColor; + accentColor.W = 0.35f; + using ImRaii.ColorDisposable colorDisposable2 = ImRaii.PushColor(ImGuiCol.Header, accentColor); + accentColor = AccentColor; + accentColor.W = 0.45f; + colorDisposable2.Push(ImGuiCol.HeaderHovered, accentColor); + accentColor = AccentColor; + accentColor.W = 0.6f; + colorDisposable2.Push(ImGuiCol.HeaderActive, accentColor); + colorDisposable2.Push(ImGuiCol.Text, new Vector4(0.95f, 0.95f, 1f, 1f)); + if (ImGui.IsWindowAppearing()) + { + searchText = string.Empty; + ImGui.SetKeyboardFocusHere(); + } + ImGui.SetNextItemWidth(-1E-45f); + ImGui.InputTextWithHint("##search", "Search...", ref searchText, 256); + ImGui.Separator(); + int num2 = items.Length; + if (!string.IsNullOrEmpty(searchText)) + { + num2 = 0; + for (int i = 0; i < items.Length; i++) + { + if (items[i].Contains(searchText, StringComparison.OrdinalIgnoreCase)) { - case 6: - _202E_202A_202C_206B_200E_200F_200E_206F_206C_202C_202A_202C_206D_202C_200B_202E_200E_202A_202D_200C_206B_200C_200B_206B_206E_200F_202E_206A_202C_206E_206C_202C_200B_200E_206F_206A_202C_202C_206C_206E_202E(-1E-45f); - _200D_206B_202B_200D_206F_206E_200B_202B_200F_206E_202D_206A_206D_206F_200F_206F_200C_206A_202E_206E_206E_200F_202C_206A_202A_202B_206A_202D_206C_200F_200C_206D_200F_206E_200C_200B_202A_206F_200F_206A_202E((ImU8String)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(-964626679), (ImU8String)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(1330390258), ref searchText, 256, ImGuiInputTextFlags.None, (ImGui.ImGuiInputTextCallbackDelegate)null); - _202B_202A_202E_206D_200C_206C_200B_206B_202C_200F_200C_200F_202D_200C_202C_200F_206C_202E_206D_202E_202E_202E_202A_200B_202C_206F_202A_206D_202B_202B_206A_202E_200B_200E_202E_200D_202B_200F_200C_202E(); - num15 = items.Length; - num = (_202B_200F_206E_202D_200E_202B_202B_206C_206E_202B_200C_206B_202C_206A_200E_200F_202D_202C_206C_202B_202B_202E_200B_202D_202C_206A_206E_206A_202B_206D_206B_202A_200E_206A_206B_206E_200D_200E_202D_200E_202E(searchText) ? 569075448 : 569075455); - break; - case 7: - { - int num23 = num21; - num8 = 1; - num9 = num23; - num21 = (num9 | num8) + (num9 & num8); - num = 569075449; - break; + num2++; } - case 5: + } + } + float textLineHeightWithSpacing = ImGui.GetTextLineHeightWithSpacing(); + int max = Math.Max(1, (int)(250f * ImGuiHelpers.GlobalScale / textLineHeightWithSpacing)); + float y = (float)Math.Clamp(Math.Max(num2, 1), 1, max) * textLineHeightWithSpacing + 4f; + using (ImRaii.Child("##items", new Vector2(0f, y))) + { + if (num2 == 0) + { + ImGui.TextColored(in MutedTextColor, "No matches"); + } + else + { + for (int j = 0; j < items.Length; j++) { - int num22 = num15; - num8 = 1; - num9 = num22; - num15 = (num9 | num8) + (num9 & num8); - num = 569075452; - break; - } - case 0: - num = 569075443; - break; - case 8: - searchText = string.Empty; - _202D_202A_206E_206F_202D_202A_206C_200C_202E_202C_206C_202E_200F_202B_200C_202A_200D_202D_202D_206A_202E_200C_202C_200E_206A_206E_200B_202E_206E_206C_200C_202D_202C_206F_206E_202B_200E_202B_200D_202D_202E(); - num = 569075453; - break; - case 4: - num15 = 0; - array = items; - num21 = 0; - num = 569075449; - break; - case 2: - num = ((num21 < array.Length) ? 569075450 : 569075448); - break; - case 1: - num = ((!_206A_206C_202B_206B_202B_206F_202E_206F_200F_202B_202D_202D_206D_202C_200B_200F_202C_202E_206C_202E_206A_200B_202B_202A_206E_200E_202E_206E_202B_206B_206A_200E_202C_202A_202B_202A_206E_202C_200E_206E_202E(array[num21], searchText, StringComparison.OrdinalIgnoreCase)) ? 569075452 : 569075454); - break; - case 3: - { - float num13 = _200E_202A_206E_200F_202C_200C_200B_200F_206F_206F_206E_202E_200D_200D_202C_200E_200B_206D_206A_200E_200F_202C_206A_202C_200D_206A_202B_200E_206A_202C_206F_200B_202E_206E_202A_206D_202E_206C_206D_206E_202E(); - int num14 = _202C_202E_200B_200E_200D_206F_202D_200C_206B_202E_200C_202E_202D_202A_206C_202A_206C_202A_202A_202B_206F_200B_206F_200F_200B_200C_206D_200C_200D_206C_206C_206C_202E_202B_206B_206D_206C_206D_200F_202D_202E(1, (int)(250f * _206E_200F_200F_200F_200D_200B_202C_200E_202D_202A_200C_202B_202A_206B_200F_206F_202B_206C_200D_200F_202C_200B_202B_200F_200E_206E_206A_202B_200B_200F_206A_202C_206D_206E_202C_206E_206B_202B_206C_202B_202E() / num13)); - float y = (float)_200F_200C_206F_202A_202B_206C_206C_206D_202D_206B_206C_200B_206B_200C_202E_206F_206F_206F_206E_206C_206E_206B_202E_202B_202B_206C_206C_202A_202A_200F_206A_206E_202B_202E_202E_202A_200F_206E_206B_202E_202E(_202C_202E_200B_200E_200D_206F_202D_200C_206B_202E_200C_202E_202D_202A_206C_202A_206C_202A_202A_202B_206F_200B_206F_200F_200B_200C_206D_200C_200D_206C_206C_206C_202E_202B_206B_206D_206C_206D_200F_202D_202E(num15, 1), 1, num14) * num13 + 4f; - using (_206D_206C_206D_202A_206C_200F_200D_206B_200F_206E_200C_206D_206C_202C_200B_202D_200B_206C_200E_202C_206A_206B_206A_200B_206A_206D_202D_200D_200D_202B_200E_206C_206A_202D_202D_206F_206C_206B_206B_206E_202E((ImU8String)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(740257102), new Vector2(0f, y))) + if (string.IsNullOrEmpty(searchText) || items[j].Contains(searchText, StringComparison.OrdinalIgnoreCase)) { - num = ((num15 != 0) ? 598657922 : 598657935); - while (true) + bool flag = j == currentItem; + if (ImGui.Selectable(items[j], flag)) { - int num16 = num; - num8 = 598657925; - num9 = num16; - switch ((num9 | num8) - (num9 & num8)) - { - case 7: - num17 = 0; - num = 598657927; - break; - case 3: - { - int num18 = num17; - num8 = 1; - num9 = num18; - int num19 = num9 ^ num8; - int num20 = num9 & num8; - num17 = num19 + (num20 + num20); - num = 598657927; - break; - } - case 2: - num = ((num17 < items.Length) ? 598657921 : 598657925); - break; - case 10: - _206A_200F_200E_200B_206D_200D_202D_206C_206F_202E_200B_202E_206F_202D_206C_206F_206A_206A_206C_206E_202D_206D_202D_202C_202C_206B_200D_200B_202E_206B_200C_206F_200F_206C_202E_202A_202C_200B_200B_202E_202E(ref MutedTextColor, (ImU8String)global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1503478926)); - goto end_IL_03e3; - case 9: - num = ((!flag) ? 598657926 : 598657924); - break; - case 11: - flag = num17 == currentItem; - num = ((!_200C_206D_206C_202B_206F_202B_206B_200F_200F_202B_200D_206C_206D_202A_200F_200E_202A_206C_202A_200F_200B_200E_206B_206A_202B_200B_206C_200D_206C_200E_206A_202D_200F_206C_206A_200F_206E_200C_200E_200D_202E((ImU8String)items[num17], flag, ImGuiSelectableFlags.None, default(Vector2))) ? 598657932 : 598657923); - break; - case 5: - num = 598657935; - break; - case 4: - num = (_202B_200F_206E_202D_200E_202B_202B_206C_206E_202B_200C_206B_202C_206A_200E_200F_202D_202C_206C_202B_202B_202E_200B_202D_202C_206A_206E_206A_202B_206D_206B_202A_200E_206A_206B_206E_200D_200E_202D_200E_202E(searchText) ? 598657934 : 598657933); - break; - case 1: - _200E_202D_202E_200E_202E_202A_206F_202A_206E_202D_202A_206A_206A_206F_206D_200C_202B_200F_200C_206E_206F_202A_206B_200B_200C_206A_202E_202E_202B_202C_206B_202C_202C_202B_202C_202C_206A_206D_200F_200F_202E(); - num = 598657926; - break; - case 8: - num = ((!_206A_206C_202B_206B_202B_206F_202E_206F_200F_202B_202D_202D_206D_202C_200B_200F_202C_202E_206C_202E_206A_200B_202B_202A_206E_200E_202E_206E_202B_206B_206A_200E_202C_202A_202B_202A_206E_202C_200E_206E_202E(items[num17], searchText, StringComparison.OrdinalIgnoreCase)) ? 598657926 : 598657934); - break; - case 6: - currentItem = num17; - result = true; - _206B_206C_200E_202E_202B_206A_206B_200D_202E_206F_206F_202A_206F_206C_202A_202E_202C_202D_206A_202A_202C_202D_202E_206D_206F_202E_200F_206D_202D_202B_206D_202A_206B_202E_200C_200E_202C_200F_206B_200C_202E(); - num = 598657932; - break; - case 0: - goto end_IL_03e3; - } - continue; - end_IL_03e3: - break; + currentItem = j; + result = true; + ImGui.CloseCurrentPopup(); + } + if (flag) + { + ImGui.SetItemDefaultFocus(); } } - _202C_206B_202D_206E_202D_206D_206B_200D_200E_206D_200F_200C_202C_200B_200F_202E_206E_206F_202D_206A_202A_202D_200E_200D_206C_202E_202B_202A_206D_200E_202B_200C_200C_200D_206B_202B_202D_202B_206E_206E_202E(); - goto end_IL_01fa; } - } - continue; - end_IL_01fa: - break; } } - finally - { - num = ((colorDisposable2 == null) ? (-531834282) : (-531834283)); - while (true) - { - int num24 = num; - int num8 = -531834284; - int num9 = num24; - switch ((num9 | num8) - (num9 & num8)) - { - case 2: - goto end_IL_05c7; - case 1: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)colorDisposable2); - num = -531834282; - break; - case 0: - num = -531834283; - break; - } - continue; - end_IL_05c7: - break; - } - } - goto IL_0613; - } - finally - { - int num = ((colorDisposable == null) ? (-1283184272) : (-1283184271)); - while (true) - { - int num25 = num; - int num8 = -1283184272; - int num9 = num25; - switch ((num9 | num8) - (num9 & num8)) - { - case 2: - num = -1283184271; - break; - case 0: - goto end_IL_06d1; - case 1: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)colorDisposable); - num = -1283184272; - break; - } - continue; - end_IL_06d1: - break; - } + ImGui.EndCombo(); } + float x = ImGui.GetStyle().FramePadding.X; + float num3 = 5f; + float num4 = cursorScreenPos.X + num - x - num3; + float num5 = cursorScreenPos.Y + frameHeight * 0.5f; + windowDrawList.AddTriangleFilled(new Vector2(num4 - num3 * 0.5f, num5 - num3 * 0.4f), new Vector2(num4 + num3 * 0.5f, num5 - num3 * 0.4f), new Vector2(num4, num5 + num3 * 0.5f), ImGui.ColorConvertFloat4ToU32(DimTextColor)); + return result; } public static ImRaii.ColorDisposable PushProgressBarColors() { - ImRaii.ColorDisposable colorDisposable = _200C_200C_200F_200D_206A_200E_202A_206D_200E_202C_206F_206D_200E_200B_206E_200D_206C_202C_202A_202D_200B_202D_206B_202A_202B_206A_200B_206F_206E_200B_206A_206A_202E_202A_200E_200F_200F_206B_202B_200F_202E(ImGuiCol.PlotHistogram, AccentColor, true); - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable, ImGuiCol.FrameBg, new Vector4(1f, 1f, 1f, 0.12f), true); + ImRaii.ColorDisposable colorDisposable = ImRaii.PushColor(ImGuiCol.PlotHistogram, AccentColor); + colorDisposable.Push(ImGuiCol.FrameBg, new Vector4(1f, 1f, 1f, 0.12f)); return colorDisposable; } public static void DrawTabUnderline() { - ImDrawListPtr imDrawListPtr = _206C_206E_202A_202B_202D_206B_206C_200B_200B_200F_202D_206B_202D_206C_200C_200C_206A_200C_206B_200E_206C_200C_206B_200E_206B_206A_200F_202B_206E_202C_206F_202D_200F_202D_202E_200C_206B_202A_202C_200F_202E(); - Vector2 vector = _202B_200E_200C_206B_206B_206C_206E_206E_200D_206A_200E_206C_206C_200D_206B_206D_200D_206F_200E_206D_206D_202A_206A_200E_200B_200F_200C_206B_206C_202B_200D_206B_202D_206F_202E_206C_206D_202D_200F_202C_202E(); - Vector2 vector2 = _200E_202B_202A_206C_206A_206E_206B_206C_200F_200B_206F_200D_200C_206B_202D_200D_200E_202B_206D_200E_202D_202E_200D_202D_200B_206B_200E_202E_200D_206D_200C_206F_200C_202E_206A_206D_206F_200F_206B_206E_202E(); - imDrawListPtr.AddRectFilled(new Vector2(vector.X, vector2.Y - 3f), new Vector2(vector2.X, vector2.Y), _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(AccentColor)); + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 itemRectMin = ImGui.GetItemRectMin(); + Vector2 itemRectMax = ImGui.GetItemRectMax(); + windowDrawList.AddRectFilled(new Vector2(itemRectMin.X, itemRectMax.Y - 3f), new Vector2(itemRectMax.X, itemRectMax.Y), ImGui.ColorConvertFloat4ToU32(AccentColor)); } public static int DrawTabBar(string label0, string label1, int selected) @@ -1843,785 +673,201 @@ internal static class UiThemeUtils return DrawTabBar(global::_003CPrivateImplementationDetails_003E.InlineArrayAsReadOnlySpan, string>(in buffer, 2), selected, equalWidth: true); } - [MethodImpl(MethodImplOptions.NoInlining)] public static int DrawTabBar(ReadOnlySpan labels, int selected, bool equalWidth = false) { - ImDrawListPtr imDrawListPtr = _206C_206E_202A_202B_202D_206B_206C_200B_200B_200F_202D_206B_202D_206C_200C_200C_206A_200C_206B_200E_206C_200C_206B_200E_206B_206A_200F_202B_206E_202C_206F_202D_200F_202D_202E_200C_206B_202A_202C_200F_202E(); - float x = _206E_200D_200C_206B_200C_206F_200F_200B_200F_206C_206D_200D_206E_202E_200B_202E_200C_206E_206A_202A_202E_200E_206D_206B_200E_202B_202D_206C_200D_202C_202E_202B_202D_200B_200F_202E_200B_202C_200C_206E_202E().X; - float x2 = _200D_200C_206C_206C_200E_202C_202D_200E_206D_206A_206D_202B_200D_202E_202C_200E_206E_200F_206E_200F_200C_206B_200F_206C_206C_200C_206F_202D_200E_206A_202D_200C_200B_202C_202A_202D_206F_202B_206F_200D_202E().ItemSpacing.X; - float x3 = _202D_202E_200C_202E_200C_202D_206E_206C_202A_200C_200C_206D_202D_202E_206C_206E_206F_206F_202A_202D_200D_202D_200B_206C_202E_202D_206C_200D_202E_206D_202C_200D_202B_200D_206B_202E_206A_206B_206A_202C_202E().X; + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + float x = ImGui.GetContentRegionAvail().X; + float x2 = ImGui.GetStyle().ItemSpacing.X; + float x3 = ImGui.GetCursorScreenPos().X; int result = selected; float x4 = 0f; float x5 = 0f; float num = 0f; float num2 = 0f; - int num3 = (equalWidth ? 2129292598 : 2129292599); - float num7; - int num5; - int num6; - while (true) - { - int num4 = num3; - num5 = 2129292598; - num6 = num4; - switch ((num6 | num5) - (num6 & num5)) - { - default: - continue; - case 2: - goto IL_0099; - case 1: - num7 = 0f; - break; - case 0: - num7 = (x - x2 * (float)(labels.Length - 1)) / (float)labels.Length; - break; - } - break; - IL_0099: - num3 = 2129292599; - } - float num8 = num7; + float num3 = (equalWidth ? ((x - x2 * (float)(labels.Length - 1)) / (float)labels.Length) : 0f); Span span = stackalloc float[labels.Length]; - int num9 = 0; - ImRaii.IdDisposable idDisposable = _200D_200F_206C_202D_206B_206F_206E_206E_202D_202C_202E_202B_202D_206E_202B_200E_206C_202B_202D_200E_200B_206F_202B_200E_200B_200C_202A_202A_202C_200C_206A_206F_200E_202C_200F_206F_200D_206E_200C_202D_202E((ImU8String)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(-1419382412), true); - try + int num4 = 0; + using (ImRaii.PushId("QstTabBar")) { - ImRaii.ColorDisposable colorDisposable = _200C_200C_200F_200D_206A_200E_202A_206D_200E_202C_206F_206D_200E_200B_206E_200D_206C_202C_202A_202D_200B_202D_206B_202A_202B_206A_200B_206F_206E_200B_206A_206A_202E_202A_200E_200F_200F_206B_202B_200F_202E(ImGuiCol.Button, Vector4.Zero, true); - try + using (ImRaii.PushColor(ImGuiCol.Button, Vector4.Zero)) { - ImRaii.ColorDisposable colorDisposable2 = _200C_200C_200F_200D_206A_200E_202A_206D_200E_202C_206F_206D_200E_200B_206E_200D_206C_202C_202A_202D_200B_202D_206B_202A_202B_206A_200B_206F_206E_200B_206A_206A_202E_202A_200E_200F_200F_206B_202B_200F_202E(ImGuiCol.ButtonHovered, SubtleHoverColor, true); - try + using (ImRaii.PushColor(ImGuiCol.ButtonHovered, SubtleHoverColor)) { - ImRaii.ColorDisposable colorDisposable3 = _200C_200C_200F_200D_206A_200E_202A_206D_200E_202C_206F_206D_200E_200B_206E_200D_206C_202C_202A_202D_200B_202D_206B_202A_202B_206A_200B_206F_206E_200B_206A_206A_202E_202A_200E_200F_200F_206B_202B_200F_202E(ImGuiCol.ButtonActive, SubtleActiveColor, true); - try + using (ImRaii.PushColor(ImGuiCol.ButtonActive, SubtleActiveColor)) { - float num10 = 0f; - int num11 = 0; - float num12 = default(float); - while (true) + float num5 = 0f; + for (int i = 0; i < labels.Length; i++) { - IL_0376: - if (num11 < labels.Length) + float num6 = (equalWidth ? num3 : (ImGui.CalcTextSize(labels[i]).X + ImGui.GetStyle().FramePadding.X * 2f)); + if (i > 0) { - num12 = (equalWidth ? num8 : (_200D_206B_202E_202A_202A_200F_202A_200F_202E_206B_200B_202E_202B_206A_206B_200F_206C_206D_200F_200D_206B_202A_200E_206A_202E_206B_200E_200E_202A_200C_206D_206D_200C_206F_202C_202E_206D_206D_200C_206A_202E((ImU8String)labels[num11], false, -1f).X + _200D_200C_206C_206C_200E_202C_202D_200E_206D_206A_206D_202B_200D_202E_202C_200E_206E_200F_206E_200F_200C_206B_200F_206C_206C_200C_206F_202D_200E_206A_202D_200C_200B_202C_202A_202D_206F_202B_206F_200D_202E().FramePadding.X * 2f)); - if (num11 > 0) + if (num5 + x2 + num6 <= x) { - if (num10 + x2 + num12 <= x) - { - _206D_206A_206D_202E_206E_206F_206F_206B_200F_200F_202A_206E_206C_200F_200D_200B_206D_206F_206E_206A_202C_200F_206A_200D_200C_206D_206A_206C_206A_206A_206C_206D_202E_202B_206F_200F_200D_200E_206E_202A_202E(); - num10 += x2; - } - else - { - int num13 = num9; - num5 = 1; - num6 = num13; - int num14 = num6 ^ num5; - int num15 = num6 & num5; - num9 = num14 + (num15 + num15); - span[num13] = num2; - num10 = 0f; - } + ImGui.SameLine(); + num5 += x2; } - ImRaii.ColorDisposable colorDisposable4 = _200C_200C_200F_200D_206A_200E_202A_206D_200E_202C_206F_206D_200E_200B_206E_200D_206C_202C_202A_202D_200B_202D_206B_202A_202B_206A_200B_206F_206E_200B_206A_206A_202E_202A_200E_200F_200F_206B_202B_200F_202E(ImGuiCol.Text, (num11 == selected) ? AccentColor : DimTextColor, true); - try + else { - num3 = ((!_206C_200D_206F_206B_202E_202C_200E_202B_202A_206B_200F_200D_206E_202A_206F_202C_202E_206D_200E_202C_200F_200C_206B_206A_206E_206D_206A_200E_200D_206C_202C_202C_202C_206F_202E_206E_202E_202A_206E_206B_202E((ImU8String)labels[num11], new Vector2(num12, 0f))) ? 948298611 : 948298608); - while (true) - { - int num16 = num3; - num5 = 948298609; - num6 = num16; - int num17 = num6 + num5; - int num18 = num6 & num5; - switch (num17 - (num18 + num18)) - { - case 0: - num3 = 948298608; - break; - case 1: - result = num11; - num3 = 948298611; - break; - case 2: - goto end_IL_0235; - } - continue; - end_IL_0235: - break; - } + span[num4++] = num2; + num5 = 0f; } - finally - { - num3 = ((colorDisposable4 == null) ? 1966743355 : 1966743352); - while (true) - { - int num19 = num3; - num5 = 1966743353; - num6 = num19; - int num20 = num6 + num5; - int num21 = num6 & num5; - switch (num20 - (num21 + num21)) - { - case 0: - num3 = 1966743352; - break; - case 2: - goto end_IL_02a3; - case 1: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)colorDisposable4); - num3 = 1966743355; - break; - } - continue; - end_IL_02a3: - break; - } - } - num3 = ((num11 != selected) ? (-1680989916) : (-1680989914)); } - else + using (ImRaii.PushColor(ImGuiCol.Text, (i == selected) ? AccentColor : DimTextColor)) { - num3 = -1680989913; - } - while (true) - { - int num22 = num3; - num5 = -1680989913; - num6 = num22; - switch ((num6 | num5) - (num6 & num5)) + if (ImGui.Button(labels[i], new Vector2(num6, 0f))) { - case 2: - num3 = -1680989914; - break; - case 3: - goto IL_034d; - case 1: - x4 = _202B_200E_200C_206B_206B_206C_206E_206E_200D_206A_200E_206C_206C_200D_206B_206D_200D_206F_200E_206D_206D_202A_206A_200E_200B_200F_200C_206B_206C_202B_200D_206B_202D_206F_202E_206C_206D_202D_200F_202C_202E().X; - x5 = _200E_202B_202A_206C_206A_206E_206B_206C_200F_200B_206F_200D_200C_206B_202D_200D_200E_202B_206D_200E_202D_202E_200D_202D_200B_206B_200E_202E_200D_206D_200C_206F_200C_202E_206A_206D_206F_200F_206B_206E_202E().X; - num = _200E_202B_202A_206C_206A_206E_206B_206C_200F_200B_206F_200D_200C_206B_202D_200D_200E_202B_206D_200E_202D_202E_200D_202D_200B_206B_200E_202E_200D_206D_200C_206F_200C_202E_206A_206D_206F_200F_206B_206E_202E().Y; - num3 = -1680989916; - break; - case 0: - goto end_IL_0311; + result = i; } - continue; - IL_034d: - num2 = _200E_202B_202A_206C_206A_206E_206B_206C_200F_200B_206F_200D_200C_206B_202D_200D_200E_202B_206D_200E_202D_202E_200D_202D_200B_206B_200E_202E_200D_206D_200C_206F_200C_202E_206A_206D_206F_200F_206B_206E_202E().Y; - num10 += num12; - int num23 = num11; - num5 = 1; - num6 = num23; - int num24 = num6 ^ num5; - int num25 = num6 & num5; - num11 = num24 + (num25 + num25); - goto IL_0376; - continue; - end_IL_0311: - break; } - break; - } - } - finally - { - num3 = ((colorDisposable3 == null) ? (-133177192) : (-133177189)); - while (true) - { - int num26 = num3; - num5 = -133177190; - num6 = num26; - int num27 = num6 + num5; - int num28 = num6 & num5; - switch (num27 - (num28 + num28)) + if (i == selected) { - case 2: - goto end_IL_03e4; - case 1: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)colorDisposable3); - num3 = -133177192; - break; - case 0: - num3 = -133177189; - break; + x4 = ImGui.GetItemRectMin().X; + x5 = ImGui.GetItemRectMax().X; + num = ImGui.GetItemRectMax().Y; } - continue; - end_IL_03e4: - break; + num2 = ImGui.GetItemRectMax().Y; + num5 += num6; } } } - finally - { - num3 = ((colorDisposable2 == null) ? 2058513122 : 2058513121); - while (true) - { - int num29 = num3; - num5 = 2058513120; - num6 = num29; - int num30 = num6 + num5; - int num31 = num6 & num5; - switch (num30 - (num31 + num31)) - { - case 2: - goto end_IL_0451; - case 1: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)colorDisposable2); - num3 = 2058513122; - break; - case 0: - num3 = 2058513121; - break; - } - continue; - end_IL_0451: - break; - } - } - } - finally - { - num3 = ((colorDisposable == null) ? (-222793051) : (-222793050)); - while (true) - { - int num32 = num3; - num5 = -222793049; - num6 = num32; - switch ((num6 | num5) - (num6 & num5)) - { - case 0: - num3 = -222793050; - break; - case 1: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)colorDisposable); - num3 = -222793051; - break; - case 2: - goto end_IL_04be; - } - continue; - end_IL_04be: - break; - } } } - finally + span[num4++] = num2; + for (int j = 0; j < num4; j++) { - num3 = ((idDisposable == null) ? 1606233094 : 1606233093); - while (true) - { - int num33 = num3; - num5 = 1606233095; - num6 = num33; - int num34 = num6 + num5; - int num35 = num6 & num5; - switch (num34 - (num35 + num35)) - { - case 1: - goto end_IL_0529; - case 2: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)idDisposable); - num3 = 1606233094; - break; - case 0: - num3 = 1606233093; - break; - } - continue; - end_IL_0529: - break; - } - } - int num36 = num9; - num5 = 1; - num6 = num36; - num9 = (num6 | num5) + (num6 & num5); - span[num36] = num2; - int num37 = 0; - num3 = 958295142; - while (true) - { - int num38 = num3; - num5 = 958295141; - num6 = num38; - switch ((num6 | num5) - (num6 & num5)) - { - case 0: - num3 = 958295142; - break; - case 1: - { - imDrawListPtr.AddRectFilled(new Vector2(x3, span[num37]), new Vector2(x3 + x, span[num37] + 2f), _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(AccentDimColor)); - int num39 = num37; - num5 = 1; - num6 = num39; - num37 = (num6 | num5) + (num6 & num5); - num3 = 958295142; - break; - } - case 3: - num3 = ((num37 < num9) ? 958295140 : 958295143); - break; - case 2: - imDrawListPtr.AddRectFilled(new Vector2(x4, num), new Vector2(x5, num + 2f), _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(AccentColor)); - _200E_202D_200C_206E_200B_206A_200E_206F_200F_200C_200D_202D_200D_200E_200B_206E_206C_206F_202D_202C_206E_200D_206B_206B_206C_206B_202D_202E_206D_202B_202D_202C_206E_206E_200C_200F_206F_206C_202C_206A_202E(); - return result; - } + windowDrawList.AddRectFilled(new Vector2(x3, span[j]), new Vector2(x3 + x, span[j] + 2f), ImGui.ColorConvertFloat4ToU32(AccentDimColor)); } + windowDrawList.AddRectFilled(new Vector2(x4, num), new Vector2(x5, num + 2f), ImGui.ColorConvertFloat4ToU32(AccentColor)); + ImGui.Spacing(); + return result; } - [MethodImpl(MethodImplOptions.NoInlining)] public static bool IconButton(FontAwesomeIcon icon, float size) { - ImDrawListPtr imDrawListPtr = _206C_206E_202A_202B_202D_206B_206C_200B_200B_200F_202D_206B_202D_206C_200C_200C_206A_200C_206B_200E_206C_200C_206B_200E_206B_206A_200F_202B_206E_202C_206F_202D_200F_202D_202E_200C_206B_202A_202C_200F_202E(); - Vector2 vector = _202D_202E_200C_202E_200C_202D_206E_206C_202A_200C_200C_206D_202D_202E_206C_206E_206F_206F_202A_202D_200D_202D_200B_206C_202E_202D_206C_200D_202E_206D_202C_200D_202B_200D_206B_202E_206A_206B_206A_202C_202E(); - ImU8String imU8String = new ImU8String(2, 1); - imU8String.AppendLiteral(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(604327994)); - imU8String.AppendFormatted(icon); - bool result = _206C_200D_206F_206B_202E_202C_200E_202B_202A_206B_200F_200D_206E_202A_206F_202C_202E_206D_200E_202C_200F_200C_206B_206A_206E_206D_206A_200E_200D_206C_202C_202C_202C_206F_202E_206E_202E_202A_206E_206B_202E(imU8String, new Vector2(size, size)); - string text = _200E_200B_202B_206D_202E_200F_202D_200F_206C_206C_202E_202D_202D_200F_200E_200F_200F_200C_206B_200D_200D_200B_206E_206B_206B_200C_200C_202C_206C_200F_206B_202E_202B_202D_206D_206E_200E_202C_202C_200C_202E(icon); - ImRaii.FontDisposable fontDisposable = _202A_202E_206A_202E_206D_202A_200B_200B_200F_206D_206E_200E_200C_206B_200C_206A_200F_200E_200E_200D_200F_206B_202D_206C_202A_200D_206A_206D_200C_200D_206A_202C_206C_206C_202A_206A_200E_206C_200F_202E(_206F_206D_206C_200F_200E_206B_202A_200F_202E_206A_206E_200F_206D_206A_206F_206D_206B_200F_200E_202E_200B_206B_200D_200E_206D_200C_206D_206B_202C_202E_206B_202E_206B_202C_202A_200D_202B_200F_202C_200E_202E(), true); - Vector2 vector2; - try + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + ImU8String label = new ImU8String(2, 1); + label.AppendLiteral("##"); + label.AppendFormatted(icon); + bool result = ImGui.Button(label, new Vector2(size, size)); + string text = icon.ToIconString(); + Vector2 vector; + using (ImRaii.PushFont(UiBuilder.IconFont)) { - vector2 = _200D_206B_202E_202A_202A_200F_202A_200F_202E_206B_200B_202E_202B_206A_206B_200F_206C_206D_200F_200D_206B_202A_200E_206A_202E_206B_200E_200E_202A_200C_206D_206D_200C_206F_202C_202E_206D_206D_200C_206A_202E((ImU8String)text, false, -1f); + vector = ImGui.CalcTextSize(text); } - finally - { - int num = ((fontDisposable == null) ? 1966347384 : 1966347387); - while (true) - { - int num2 = num; - int num3 = 1966347385; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1966347387; - break; - case 2: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)fontDisposable); - num = 1966347384; - break; - case 1: - goto end_IL_0088; - } - continue; - end_IL_0088: - break; - } - } - uint col = _202B_206B_202C_206F_200F_202C_200C_200E_202B_200E_200D_206F_200C_200B_206E_206C_200D_206B_202E_206E_200F_200C_200D_206F_200D_200F_206D_200C_206E_202C_200E_200F_200C_200D_206D_202C_202A_200C_200D_202B_202E(ImGuiCol.Text); - float x = vector.X + (size - vector2.X) / 2f; - float y = vector.Y + (size - vector2.Y) / 2f; - imDrawListPtr.AddText(_206F_206D_206C_200F_200E_206B_202A_200F_202E_206A_206E_200F_206D_206A_206F_206D_206B_200F_200E_202E_200B_206B_200D_200E_206D_200C_206D_206B_202C_202E_206B_202E_206B_202C_202A_200D_202B_200F_202C_200E_202E(), _200D_202A_206A_206F_202D_206E_206E_206F_206C_206F_200F_200D_200E_200F_202D_202D_202C_202D_206E_202D_202B_206C_202C_206E_206B_200E_202B_206F_202E_202A_206D_202D_200D_206B_200F_202A_202E_206F_206A_202C_202E(), new Vector2(x, y), col, text); + uint colorU = ImGui.GetColorU32(ImGuiCol.Text); + float x = cursorScreenPos.X + (size - vector.X) / 2f; + float y = cursorScreenPos.Y + (size - vector.Y) / 2f; + windowDrawList.AddText(UiBuilder.IconFont, ImGui.GetFontSize(), new Vector2(x, y), colorU, text); return result; } public static bool IconTextButton(FontAwesomeIcon icon, string text) { - string text2 = _200E_200B_202B_206D_202E_200F_202D_200F_206C_206C_202E_202D_202D_200F_200E_200F_200F_200C_206B_200D_200D_200B_206E_206B_206B_200C_200C_202C_206C_200F_206B_202E_202B_202D_206D_206E_200E_202C_202C_200C_202E(icon); - ImRaii.FontDisposable fontDisposable = _202A_202E_206A_202E_206D_202A_200B_200B_200F_206D_206E_200E_200C_206B_200C_206A_200F_200E_200E_200D_200F_206B_202D_206C_202A_200D_206A_206D_200C_200D_206A_202C_206C_206C_202A_206A_200E_206C_200F_202E(_206F_206D_206C_200F_200E_206B_202A_200F_202E_206A_206E_200F_206D_206A_206F_206D_206B_200F_200E_202E_200B_206B_200D_200E_206D_200C_206D_206B_202C_202E_206B_202E_206B_202C_202A_200D_202B_200F_202C_200E_202E(), true); + string text2 = icon.ToIconString(); Vector2 vector; - try + using (ImRaii.PushFont(UiBuilder.IconFont)) { - vector = _200D_206B_202E_202A_202A_200F_202A_200F_202E_206B_200B_202E_202B_206A_206B_200F_206C_206D_200F_200D_206B_202A_200E_206A_202E_206B_200E_200E_202A_200C_206D_206D_200C_206F_202C_202E_206D_206D_200C_206A_202E((ImU8String)text2, false, -1f); + vector = ImGui.CalcTextSize(text2); } - finally - { - int num = ((fontDisposable == null) ? (-1536648818) : (-1536648819)); - while (true) - { - int num2 = num; - int num3 = -1536648817; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1536648819; - break; - case 2: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)fontDisposable); - num = -1536648818; - break; - case 1: - goto end_IL_004a; - } - continue; - end_IL_004a: - break; - } - } - Vector2 vector2 = _200D_206B_202E_202A_202A_200F_202A_200F_202E_206B_200B_202E_202B_206A_206B_200F_206C_206D_200F_200D_206B_202A_200E_206A_202E_206B_200E_200E_202A_200C_206D_206D_200C_206F_202C_202E_206D_206D_200C_206A_202E((ImU8String)text, false, -1f); - float num5 = 6f; - float width = vector.X + num5 + vector2.X + 2f * _200D_200C_206C_206C_200E_202C_202D_200E_206D_206A_206D_202B_200D_202E_202C_200E_206E_200F_206E_200F_200C_206B_200F_206C_206C_200C_206F_202D_200E_206A_202D_200C_200B_202C_202A_202D_206F_202B_206F_200D_202E().FramePadding.X; + Vector2 vector2 = ImGui.CalcTextSize(text); + float num = 6f; + float width = vector.X + num + vector2.X + 2f * ImGui.GetStyle().FramePadding.X; return IconTextButton(icon, text, width); } - [MethodImpl(MethodImplOptions.NoInlining)] public static bool IconTextButton(FontAwesomeIcon icon, string text, float width) { - ImDrawListPtr imDrawListPtr = _206C_206E_202A_202B_202D_206B_206C_200B_200B_200F_202D_206B_202D_206C_200C_200C_206A_200C_206B_200E_206C_200C_206B_200E_206B_206A_200F_202B_206E_202C_206F_202D_200F_202D_202E_200C_206B_202A_202C_200F_202E(); - Vector2 vector = _202D_202E_200C_202E_200C_202D_206E_206C_202A_200C_200C_206D_202D_202E_206C_206E_206F_206F_202A_202D_200D_202D_200B_206C_202E_202D_206C_200D_202E_206D_202C_200D_202B_200D_206B_202E_206A_206B_206A_202C_202E(); - float y = _206B_200B_200D_202B_202D_202E_206F_200E_206A_202D_206C_206E_200F_200F_206A_202B_206D_200D_206B_206E_206D_202C_200E_206E_200E_200F_200E_200B_202A_200B_206B_200C_202E_202A_206C_206F_206F_200D_206C_200D_202E(); - ImU8String imU8String = new ImU8String(2, 1); - imU8String.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1426082020)); - imU8String.AppendFormatted(text); - bool result = _206C_200D_206F_206B_202E_202C_200E_202B_202A_206B_200F_200D_206E_202A_206F_202C_202E_206D_200E_202C_200F_200C_206B_206A_206E_206D_206A_200E_200D_206C_202C_202C_202C_206F_202E_206E_202E_202A_206E_206B_202E(imU8String, new Vector2(width, y)); - string text2 = _200E_200B_202B_206D_202E_200F_202D_200F_206C_206C_202E_202D_202D_200F_200E_200F_200F_200C_206B_200D_200D_200B_206E_206B_206B_200C_200C_202C_206C_200F_206B_202E_202B_202D_206D_206E_200E_202C_202C_200C_202E(icon); - ImRaii.FontDisposable fontDisposable = _202A_202E_206A_202E_206D_202A_200B_200B_200F_206D_206E_200E_200C_206B_200C_206A_200F_200E_200E_200D_200F_206B_202D_206C_202A_200D_206A_206D_200C_200D_206A_202C_206C_206C_202A_206A_200E_206C_200F_202E(_206F_206D_206C_200F_200E_206B_202A_200F_202E_206A_206E_200F_206D_206A_206F_206D_206B_200F_200E_202E_200B_206B_200D_200E_206D_200C_206D_206B_202C_202E_206B_202E_206B_202C_202A_200D_202B_200F_202C_200E_202E(), true); - Vector2 vector2; - try + ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList(); + Vector2 cursorScreenPos = ImGui.GetCursorScreenPos(); + float frameHeight = ImGui.GetFrameHeight(); + ImU8String label = new ImU8String(2, 1); + label.AppendLiteral("##"); + label.AppendFormatted(text); + bool result = ImGui.Button(label, new Vector2(width, frameHeight)); + string text2 = icon.ToIconString(); + Vector2 vector; + using (ImRaii.PushFont(UiBuilder.IconFont)) { - vector2 = _200D_206B_202E_202A_202A_200F_202A_200F_202E_206B_200B_202E_202B_206A_206B_200F_206C_206D_200F_200D_206B_202A_200E_206A_202E_206B_200E_200E_202A_200C_206D_206D_200C_206F_202C_202E_206D_206D_200C_206A_202E((ImU8String)text2, false, -1f); + vector = ImGui.CalcTextSize(text2); } - finally - { - int num = ((fontDisposable == null) ? 436293026 : 436293025); - while (true) - { - int num2 = num; - int num3 = 436293027; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 436293025; - break; - case 1: - goto end_IL_0090; - case 2: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)fontDisposable); - num = 436293026; - break; - } - continue; - end_IL_0090: - break; - } - } - Vector2 vector3 = _200D_206B_202E_202A_202A_200F_202A_200F_202E_206B_200B_202E_202B_206A_206B_200F_206C_206D_200F_200D_206B_202A_200E_206A_202E_206B_200E_200E_202A_200C_206D_206D_200C_206F_202C_202E_206D_206D_200C_206A_202E((ImU8String)text, false, -1f); - float num5 = 6f; - float num6 = vector2.X + num5 + vector3.X; - float num7 = vector.X + (width - num6) / 2f; - float y2 = vector.Y + _200D_200C_206C_206C_200E_202C_202D_200E_206D_206A_206D_202B_200D_202E_202C_200E_206E_200F_206E_200F_200C_206B_200F_206C_206C_200C_206F_202D_200E_206A_202D_200C_200B_202C_202A_202D_206F_202B_206F_200D_202E().FramePadding.Y; - uint col = _202B_206B_202C_206F_200F_202C_200C_200E_202B_200E_200D_206F_200C_200B_206E_206C_200D_206B_202E_206E_200F_200C_200D_206F_200D_200F_206D_200C_206E_202C_200E_200F_200C_200D_206D_202C_202A_200C_200D_202B_202E(ImGuiCol.Text); - imDrawListPtr.AddText(_206F_206D_206C_200F_200E_206B_202A_200F_202E_206A_206E_200F_206D_206A_206F_206D_206B_200F_200E_202E_200B_206B_200D_200E_206D_200C_206D_206B_202C_202E_206B_202E_206B_202C_202A_200D_202B_200F_202C_200E_202E(), _200D_202A_206A_206F_202D_206E_206E_206F_206C_206F_200F_200D_200E_200F_202D_202D_202C_202D_206E_202D_202B_206C_202C_206E_206B_200E_202B_206F_202E_202A_206D_202D_200D_206B_200F_202A_202E_206F_206A_202C_202E(), new Vector2(num7, y2), col, text2); - imDrawListPtr.AddText(new Vector2(num7 + vector2.X + num5, y2), col, text); + Vector2 vector2 = ImGui.CalcTextSize(text); + float num = 6f; + float num2 = vector.X + num + vector2.X; + float num3 = cursorScreenPos.X + (width - num2) / 2f; + float y = cursorScreenPos.Y + ImGui.GetStyle().FramePadding.Y; + uint colorU = ImGui.GetColorU32(ImGuiCol.Text); + windowDrawList.AddText(UiBuilder.IconFont, ImGui.GetFontSize(), new Vector2(num3, y), colorU, text2); + windowDrawList.AddText(new Vector2(num3 + vector.X + num, y), colorU, text); return result; } public static bool PillButton(string label, bool selected) { - float num = _206B_200B_200D_202B_202D_202E_206F_200E_206A_202D_206C_206E_200F_200F_206A_202B_206D_200D_206B_206E_206D_202C_200E_206E_200E_200F_200E_200B_202A_200B_206B_200C_202E_202A_206C_206F_206F_200D_206C_200D_202E() * 0.5f; - Vector2 framePadding = _200D_200C_206C_206C_200E_202C_202D_200E_206D_206A_206D_202B_200D_202E_202C_200E_206E_200F_206E_200F_200C_206B_200F_206C_206C_200C_206F_202D_200E_206A_202D_200C_200B_202C_202A_202D_206F_202B_206F_200D_202E().FramePadding; - ImRaii.StyleDisposable styleDisposable = _206D_202C_202C_206B_202A_202A_200C_200E_200E_206F_206B_206C_200B_206B_206D_202D_200C_200D_200C_206F_202C_202B_206A_202C_200E_206D_200B_206E_202E_206B_206F_206C_200C_200C_206C_200D_202A_202B_200B_200E_202E(ImGuiStyleVar.FrameRounding, num, true); - try + float value = ImGui.GetFrameHeight() * 0.5f; + Vector2 framePadding = ImGui.GetStyle().FramePadding; + using (ImRaii.PushStyle(ImGuiStyleVar.FrameRounding, value)) { - ImRaii.StyleDisposable styleDisposable2 = _206C_200B_200D_200C_206E_202D_206B_202C_206D_200C_206A_200B_206E_206B_200B_206B_206D_206C_206C_206B_206D_202E_202B_206F_202B_206D_206E_202A_200D_206D_206D_200D_202B_202A_206A_206D_206E_202A_202A_202E(ImGuiStyleVar.FramePadding, new Vector2(framePadding.X * 2f, framePadding.Y), true); - try + using (ImRaii.PushStyle(ImGuiStyleVar.FramePadding, new Vector2(framePadding.X * 2f, framePadding.Y))) { - ImRaii.StyleDisposable styleDisposable3 = _206D_202C_202C_206B_202A_202A_200C_200E_200E_206F_206B_206C_200B_206B_206D_202D_200C_200D_200C_206F_202C_202B_206A_202C_200E_206D_200B_206E_202E_206B_206F_206C_200C_200C_206C_200D_202A_202B_200B_200E_202E(ImGuiStyleVar.FrameBorderSize, selected ? 1f : 0f, true); - try + using (ImRaii.PushStyle(ImGuiStyleVar.FrameBorderSize, selected ? 1f : 0f)) { - ImRaii.ColorDisposable colorDisposable = _202A_200D_206C_206A_206B_202B_202A_202B_206F_206D_206A_206F_206E_200C_202D_206E_202C_202D_206D_200C_202B_200F_202B_206B_206D_206C_206D_200D_200C_206D_202E_200F_206B_200D_202B_200C_206F_202C_202E_200F_202E(); - try + using ImRaii.ColorDisposable colorDisposable = new ImRaii.ColorDisposable(); + if (selected) { - int num2 = ((!selected) ? 289400424 : 289400427); - while (true) - { - int num3 = num2; - int num4 = 289400425; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 1: - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable, ImGuiCol.Button, Vector4.Zero, true); - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable, ImGuiCol.ButtonHovered, SubtleHoverColor, true); - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable, ImGuiCol.ButtonActive, SubtlePressColor, true); - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable, ImGuiCol.Text, MutedTextColor, true); - num2 = 289400426; - break; - case 2: - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable, ImGuiCol.Button, new Vector4(0.55f, 0.35f, 0.8f, 0.3f), true); - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable, ImGuiCol.ButtonHovered, new Vector4(0.55f, 0.35f, 0.8f, 0.4f), true); - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable, ImGuiCol.ButtonActive, new Vector4(0.55f, 0.35f, 0.8f, 0.5f), true); - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable, ImGuiCol.Border, CardBorderColor, true); - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable, ImGuiCol.Text, AccentColor, true); - num2 = 289400426; - break; - case 0: - num2 = 289400427; - break; - case 3: - return _206C_200D_206F_206B_202E_202C_200E_202B_202A_206B_200F_200D_206E_202A_206F_202C_202E_206D_200E_202C_200F_200C_206B_206A_206E_206D_206A_200E_200D_206C_202C_202C_202C_206F_202E_206E_202E_202A_206E_206B_202E((ImU8String)label, default(Vector2)); - } - } + colorDisposable.Push(ImGuiCol.Button, new Vector4(0.55f, 0.35f, 0.8f, 0.3f)); + colorDisposable.Push(ImGuiCol.ButtonHovered, new Vector4(0.55f, 0.35f, 0.8f, 0.4f)); + colorDisposable.Push(ImGuiCol.ButtonActive, new Vector4(0.55f, 0.35f, 0.8f, 0.5f)); + colorDisposable.Push(ImGuiCol.Border, CardBorderColor); + colorDisposable.Push(ImGuiCol.Text, AccentColor); } - finally + else { - int num2 = ((colorDisposable == null) ? (-1700815628) : (-1700815627)); - while (true) - { - int num8 = num2; - int num4 = -1700815628; - int num5 = num8; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - num2 = -1700815627; - break; - case 1: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)colorDisposable); - num2 = -1700815628; - break; - case 0: - goto end_IL_01e8; - } - continue; - end_IL_01e8: - break; - } + colorDisposable.Push(ImGuiCol.Button, Vector4.Zero); + colorDisposable.Push(ImGuiCol.ButtonHovered, SubtleHoverColor); + colorDisposable.Push(ImGuiCol.ButtonActive, SubtlePressColor); + colorDisposable.Push(ImGuiCol.Text, MutedTextColor); } + return ImGui.Button(label); } - finally - { - int num2 = ((styleDisposable3 == null) ? 104724671 : 104724668); - while (true) - { - int num9 = num2; - int num4 = 104724670; - int num5 = num9; - int num10 = num5 + num4; - int num11 = num5 & num4; - switch (num10 - (num11 + num11)) - { - case 0: - num2 = 104724668; - break; - case 1: - goto end_IL_0253; - case 2: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)styleDisposable3); - num2 = 104724671; - break; - } - continue; - end_IL_0253: - break; - } - } - } - finally - { - int num2 = ((styleDisposable2 == null) ? (-1830419469) : (-1830419470)); - while (true) - { - int num12 = num2; - int num4 = -1830419469; - int num5 = num12; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - num2 = -1830419470; - break; - case 0: - goto end_IL_02bf; - case 1: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)styleDisposable2); - num2 = -1830419469; - break; - } - continue; - end_IL_02bf: - break; - } - } - } - finally - { - int num2 = ((styleDisposable == null) ? 1138450126 : 1138450127); - while (true) - { - int num13 = num2; - int num4 = 1138450126; - int num5 = num13; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - num2 = 1138450127; - break; - case 0: - goto end_IL_0328; - case 1: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)styleDisposable); - num2 = 1138450126; - break; - } - continue; - end_IL_0328: - break; } } } - [MethodImpl(MethodImplOptions.NoInlining)] public static bool DestructiveButton(FontAwesomeIcon icon, string label) { - ImRaii.ColorDisposable colorDisposable = _200C_200C_200F_200D_206A_200E_202A_206D_200E_202C_206F_206D_200E_200B_206E_200D_206C_202C_202A_202D_200B_202D_206B_202A_202B_206A_200B_206F_206E_200B_206A_206A_202E_202A_200E_200F_200F_206B_202B_200F_202E(ImGuiCol.Button, new Vector4(0.55f, 0.2f, 0.2f, 0.45f), true); bool result; - int num; - try + using (ImRaii.ColorDisposable colorDisposable = ImRaii.PushColor(ImGuiCol.Button, new Vector4(0.55f, 0.2f, 0.2f, 0.45f))) { - _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(colorDisposable, ImGuiCol.ButtonHovered, new Vector4(0.7f, 0.25f, 0.25f, 0.65f), true); - ImRaii.DisabledDisposable disabledDisposable = _202E_206C_206B_206A_202A_206B_202D_202A_200F_206D_206B_200D_200D_206E_202C_200D_200F_206B_202C_202C_206C_200C_206B_200C_206F_206D_206A_200E_200D_202A_206C_206D_202D_200C_202A_206C_200B_206D_200E_202E_202E(!_200B_200B_200D_200F_200D_200B_200D_202E_202C_200E_200C_200B_200F_200D_206F_200F_206D_206A_200F_200F_200D_206C_200E_206B_206D_202E_202E_202D_200E_206C_202C_206F_202E_206D_206D_200F_206E_202C_206F_200D_202E(ImGuiKey.ModCtrl)); - try + colorDisposable.Push(ImGuiCol.ButtonHovered, new Vector4(0.7f, 0.25f, 0.25f, 0.65f)); + using (ImRaii.Disabled(!ImGui.IsKeyDown(ImGuiKey.ModCtrl))) { result = IconTextButton(icon, label); } - finally - { - num = ((disabledDisposable == null) ? 217085840 : 217085843); - while (true) - { - int num2 = num; - int num3 = 217085841; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - goto end_IL_0081; - case 2: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)disabledDisposable); - num = 217085840; - break; - case 0: - num = 217085843; - break; - } - continue; - end_IL_0081: - break; - } - } } - finally + if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled)) { - num = ((colorDisposable == null) ? 269409889 : 269409890); - while (true) - { - int num5 = num; - int num3 = 269409891; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_00e5; - case 1: - _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E((IDisposable)colorDisposable); - num = 269409889; - break; - case 0: - num = 269409890; - break; - } - continue; - end_IL_00e5: - break; - } - } - num = ((!_202E_200E_200C_200D_202A_202B_202E_206A_206C_202E_200B_206F_200D_206E_202E_200E_200C_206C_206E_200F_206B_200D_200D_200C_202D_202D_206B_200C_206A_202A_200E_200F_200D_202E_206F_200D_206F_202D_202E_206F_202E(ImGuiHoveredFlags.AllowWhenDisabled)) ? 172403267 : 172403266); - while (true) - { - int num6 = num; - int num3 = 172403267; - int num4 = num6; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 172403266; - break; - case 1: - _206B_202D_206E_202E_200D_206D_202E_206E_206F_200E_202B_206B_202E_206E_202D_200E_200C_206E_202A_202E_202D_200F_202A_200D_202D_206A_200E_202C_206E_202B_206E_200E_206C_206E_206C_206C_202B_206A_206F_200E_202E((ImU8String)global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-136942055)); - num = 172403267; - break; - case 0: - return result; - } + ImGui.SetTooltip("Hold CTRL to enable."); } + return result; } public static string CleanSeString(string text) { - int num = ((!_202B_200F_206E_202D_200E_202B_202B_206C_206E_202B_200C_206B_202C_206A_200E_200F_202D_202C_206C_202B_202B_202E_200B_202D_202C_206A_206E_206A_202B_206D_206B_202A_200E_206A_206B_206E_200D_200E_202D_200E_202E(text)) ? 1734351049 : 1734351052); - char c = default(char); - StringBuilder stringBuilder = default(StringBuilder); - string text2 = default(string); - int num5 = default(int); - while (true) + if (string.IsNullOrEmpty(text)) { - int num2 = num; - int num3 = 1734351055; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return text; + } + StringBuilder stringBuilder = new StringBuilder(text.Length); + foreach (char c in text) + { + if ((c < '\ue000' || c > '\uf8ff') && (c >= ' ' || c == '\n' || c == '\r' || c == '\t')) { - case 11: - num = ((c == '\n') ? 1734351045 : 1734351053); - break; - case 6: - stringBuilder = _202E_206A_206F_206B_200D_206B_200E_202B_200D_200E_206C_200B_206A_200D_206F_202A_200E_200B_202A_202A_202E_206A_202B_206B_206A_202C_200E_206F_206F_202A_206C_206C_202A_206D_202C_202A_200E_200D_200B_202B_202E(_206C_202D_206C_200C_202E_206B_206B_202A_206C_206A_200F_206D_202D_202A_202C_200F_202E_202B_206B_202E_206D_206C_206E_206F_206D_202A_206C_200B_202A_200F_206A_200E_202C_200E_206D_202D_206F_200F_206F_206A_202E(text)); - text2 = text; - num5 = 0; - num = 1734351051; - break; - case 3: - return text; - case 1: - c = _206C_206C_200C_200F_202D_202E_206A_206A_206D_206B_202C_202A_206E_206C_200F_202D_202C_202D_206D_200B_206B_206E_202D_206A_202C_200D_206C_200B_206C_202C_206F_206E_202B_206B_200C_200E_200B_200D_200E_206A_202E(text2, num5); - num = ((c < '\ue000') ? 1734351048 : 1734351047); - break; - case 10: - _200F_202D_206D_206A_200F_206D_206F_202C_202A_206A_202C_206B_206D_200C_206A_206C_206F_202A_200F_206F_206E_206F_206B_202A_200C_200F_206A_200C_202A_206E_202A_206E_200B_200D_206F_202B_202C_206E_202C_200C_202E(stringBuilder, c); - num = 1734351046; - break; - case 7: - num = ((c >= ' ') ? 1734351045 : 1734351044); - break; - case 8: - num = ((c <= '\uf8ff') ? 1734351046 : 1734351048); - break; - case 4: - num = ((num5 < _206C_202D_206C_200C_202E_206B_206B_202A_206C_206A_200F_206D_202D_202A_202C_200F_202E_202B_206B_202E_206D_206C_206E_206F_206D_202A_206C_200B_202A_200F_206A_200E_202C_200E_206D_202D_206F_200F_206F_206A_202E(text2)) ? 1734351054 : 1734351050); - break; - case 12: - num = 1734351052; - break; - case 5: - return _206D_200D_202E_200E_202D_202B_206E_200D_200B_202C_202C_206A_202C_200B_200D_202E_206A_202B_202E_206E_200C_202C_200C_202E_202C_202A_206B_202B_202A_202A_206C_206D_202E_200D_200C_200B_200E_200F_200C_202A_202E(_206D_200F_206A_206B_200E_206E_200F_202E_200E_200D_206A_200C_200E_206D_200F_200C_206F_202A_200F_206F_200D_206A_206C_206B_206E_202D_206F_206A_200E_206E_206A_200C_202E_206F_206D_206B_206B_206A_200B_206E_202E((object)stringBuilder)); - case 0: - num = ((c != '\t') ? 1734351046 : 1734351045); - break; - case 9: - { - int num6 = num5; - num3 = 1; - num4 = num6; - int num7 = num4 ^ num3; - int num8 = num4 & num3; - num5 = num7 + (num8 + num8); - num = 1734351051; - break; - } - case 2: - num = ((c == '\r') ? 1734351045 : 1734351055); - break; + stringBuilder.Append(c); } } + return stringBuilder.ToString().Trim(); } static UiThemeUtils() @@ -2645,478 +891,13 @@ internal static class UiThemeUtils SubtleHoverColor = new Vector4(1f, 1f, 1f, 0.04f); SubtleActiveColor = new Vector4(1f, 1f, 1f, 0.06f); SubtlePressColor = new Vector4(1f, 1f, 1f, 0.08f); - StatusComplete = _202E_206B_202E_200F_206D_206A_202D_206E_200F_200F_200C_206E_200B_200E_200F_206C_200E_200C_206D_206D_200C_200C_206E_200E_202A_206C_206F_200D_200D_206E_206D_202C_202B_206C_206E_206D_206E_202C_200D_200E_202E(); - StatusActive = _200C_206F_200B_200F_206A_206C_202C_200E_206F_200C_200B_200C_206E_200D_202A_200C_206B_206B_206C_206B_206F_206F_202D_200C_202E_202D_200E_200F_200C_206E_202A_202E_202D_202E_200E_202C_200B_200E_202D_206A_202E(); - StatusAvailable = _200C_206F_200B_200F_206A_206C_202C_200E_206F_200C_200B_200C_206E_200D_202A_200C_206B_206B_206C_206B_206F_206F_202D_200C_202E_202D_200E_200F_200C_206E_202A_202E_202D_202E_200E_202C_200B_200E_202D_206A_202E(); - StatusAvailableComplete = _202E_200E_200C_206D_202E_206E_202C_206B_202A_200D_202B_206F_202A_202A_202E_206A_202A_202C_206E_202E_206C_206E_206E_206B_206B_202C_200E_200D_206B_200F_206C_200F_206D_206A_200E_202D_206A_200C_200C_206C_202E(); - StatusLocked = _202C_206D_206B_202B_202C_206E_200D_206D_206E_202D_206E_202D_200F_206C_200E_200B_200C_202B_206E_206C_202A_202E_200F_202A_206C_200C_206E_202A_202B_206A_200B_202B_202D_202E_202E_202C_202B_202C_206B_206D_202E(); - StatusUnobtainable = _200D_206A_200D_206C_206E_200E_206E_202D_206B_206B_206A_200F_206A_200F_206F_206C_202E_200D_206A_206B_202A_200F_206E_206F_202E_200B_200E_206D_206C_202D_206A_200E_202B_206B_206A_200E_206A_206E_202C_202A_202E(); - StatusBlacklisted = _200F_200C_206D_206B_200F_202C_206F_206D_206F_202D_206F_200D_202E_206D_202E_200D_200E_202A_206C_202B_200C_202E_202B_206B_202D_200D_202A_206D_200E_206B_206F_206E_202D_200B_202A_206C_202A_202E_202A_200E_202E(); - Ellipsis = _206F_202C_200E_202E_206A_206F_206A_200E_202A_202E_200C_206A_206E_206B_200F_202B_206C_202E_200B_202E_200F_202B_202B_200D_206B_206E_202E_200E_202A_202B_200D_206C_206C_206D_200F_200D_200F_202A_202D_200D_202E((SeIconChar)57434); - } - - static float _202D_200B_200D_202B_202D_206D_200D_206C_206B_200D_200B_206C_206D_200C_202E_206D_206C_200B_202B_202D_200D_200F_200C_202E_200E_202A_206C_206A_206D_202D_200C_202E_206F_206C_206E_202C_200D_206B_206B_200C_202E() - { - return ImGui.GetCursorPosX(); - } - - static Vector2 _206E_200D_200C_206B_200C_206F_200F_200B_200F_206C_206D_200D_206E_202E_200B_202E_200C_206E_206A_202A_202E_200E_206D_206B_200E_202B_202D_206C_200D_202C_202E_202B_202D_200B_200F_202E_200B_202C_200C_206E_202E() - { - return ImGui.GetContentRegionAvail(); - } - - static void _202C_200D_202A_206C_200E_202C_200B_200B_202A_206B_202E_202C_202C_200D_206B_202D_200D_206B_202B_206E_206D_202C_200E_202A_202D_206A_206C_202C_202A_200D_202A_200B_200E_206B_202B_200F_202E_202B_200C_200F_202E(float P_0) - { - ImGui.PushTextWrapPos(P_0); - } - - static void _200E_202A_206A_200E_206E_206E_206B_206B_206B_206C_206F_202A_200E_206A_200C_200E_202E_202C_206C_200E_206D_202C_200F_200C_206E_200D_200E_202D_206D_206A_200E_200B_202B_206E_206E_206B_200C_202A_206B_200C_202E(ImU8String P_0) - { - ImGui.TextUnformatted(P_0); - } - - static void _200C_200C_206E_200B_200E_202C_200E_206D_206C_202C_200D_202C_200D_206B_202C_206D_202D_206C_200E_202D_206A_206B_206D_202C_200C_206A_202D_200E_200E_200B_206C_202B_200D_200F_206D_202A_202C_200B_202E_202A_202E() - { - ImGui.PopTextWrapPos(); - } - - static ImRaii.ColorDisposable _200C_200C_200F_200D_206A_200E_202A_206D_200E_202C_206F_206D_200E_200B_206E_200D_206C_202C_202A_202D_200B_202D_206B_202A_202B_206A_200B_206F_206E_200B_206A_206A_202E_202A_200E_200F_200F_206B_202B_200F_202E(ImGuiCol P_0, Vector4 P_1, bool P_2) - { - return ImRaii.PushColor(P_0, P_1, P_2); - } - - static void _206E_206D_202E_206C_206F_206C_200F_206A_206E_206D_202A_206D_200F_200F_206F_202C_200C_200E_206C_202D_206A_202C_206C_202C_206A_200C_200E_200E_202E_202E_206C_206F_206E_200D_206F_206D_202E_202A_200F_202D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static bool _202B_200F_206E_202D_200E_202B_202B_206C_206E_202B_200C_206B_202C_206A_200E_200F_202D_202C_206C_202B_202B_202E_200B_202D_202C_206A_206E_206A_202B_206D_206B_202A_200E_206A_206B_206E_200D_200E_202D_200E_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static Vector2 _200D_206B_202E_202A_202A_200F_202A_200F_202E_206B_200B_202E_202B_206A_206B_200F_206C_206D_200F_200D_206B_202A_200E_206A_202E_206B_200E_200E_202A_200C_206D_206D_200C_206F_202C_202E_206D_206D_200C_206A_202E(ImU8String P_0, bool P_1, float P_2) - { - return ImGui.CalcTextSize(P_0, P_1, P_2); - } - - static int _206C_202D_206C_200C_202E_206B_206B_202A_206C_206A_200F_206D_202D_202A_202C_200F_202E_202B_206B_202E_206D_206C_206E_206F_206D_202A_206C_200B_202A_200F_206A_200E_202C_200E_206D_202D_206F_200F_206F_206A_202E(string P_0) - { - return P_0.Length; - } - - static ReadOnlySpan _200D_202A_202C_200D_202E_202D_200E_200D_200C_202A_202A_202C_202E_202D_202A_206E_206F_200E_206C_206D_202A_206D_200F_202E_206E_200D_206A_202B_200D_206D_200F_200E_200F_202C_200E_206C_202A_206D_200F_200D_202E(string P_0, int P_1, int P_2) - { - return P_0.AsSpan(P_1, P_2); - } - - static ReadOnlySpan _202B_206B_206C_206C_206F_206A_206D_200F_206C_202D_206A_206C_206A_206C_202C_202D_200F_206F_200B_200C_202C_200B_202D_202B_200E_202A_200D_200B_206C_202E_206F_202E_200D_200E_206E_202C_202A_200F_200B_202C_202E(string P_0) - { - return P_0.AsSpan(); - } - - static string _206E_200E_206F_206F_202C_202E_200E_200B_202E_200F_202E_202C_206E_206D_206E_200C_206D_206D_206C_200F_206C_202A_202B_200D_200B_202A_202D_202E_206B_200B_200F_200C_206E_202D_202C_200F_200B_202B_206C_202D_202E(ReadOnlySpan P_0, ReadOnlySpan P_1) - { - return string.Concat(P_0, P_1); - } - - static Vector2 _202E_200D_200E_206B_206E_206C_200D_200B_200B_206A_206B_200E_202B_206C_206B_200B_206F_206B_202B_206A_206E_206D_200C_200E_200D_200C_202E_206C_202E_206B_200B_200C_200E_200B_206C_200B_206D_200B_202E_200C_202E() - { - return ImGui.GetCursorPos(); - } - - static ImDrawListPtr _206C_206E_202A_202B_202D_206B_206C_200B_200B_200F_202D_206B_202D_206C_200C_200C_206A_200C_206B_200E_206C_200C_206B_200E_206B_206A_200F_202B_206E_202C_206F_202D_200F_202D_202E_200C_206B_202A_202C_200F_202E() - { - return ImGui.GetWindowDrawList(); - } - - static void _202C_206B_206B_206D_202D_200B_202A_206E_206D_206A_206C_206E_202C_202A_206C_206B_200F_200B_206E_200F_206E_206D_206A_206E_202A_206D_202D_202B_200F_200B_206A_200B_200E_206A_202B_200C_206A_206B_202D_206E_202E(float P_0) - { - ImGui.Indent(P_0); - } - - static void _200C_202C_206A_206D_202C_202C_200F_202A_206F_202A_200B_202D_200C_200B_206F_200F_206E_206E_200B_202D_200D_202A_206F_202B_206E_202A_200C_206A_206E_200E_202E_200B_206E_202A_202E_200D_202C_206F_206F_202D_202E(float P_0) - { - ImGui.SetCursorPosY(P_0); - } - - static void _206F_206F_200B_200D_202B_200D_206D_202C_200E_202E_200F_202E_200E_200E_202B_206A_200C_206B_206A_200E_202B_202B_202E_202E_206A_202B_202E_200B_206F_206C_202D_206A_200C_200E_202D_206D_200C_202D_202C_202A_202E(float P_0) - { - ImGui.PushItemWidth(P_0); - } - - static void _206F_206E_202B_206D_202E_200D_200E_206A_202D_202C_202E_206A_200C_202C_206E_200C_202C_200F_206F_206A_200F_200F_202E_202A_202D_200E_202C_206A_202E_206B_202E_200E_206B_206C_202E_206D_206B_206A_200B_206B_202E() - { - ImGui.PopItemWidth(); - } - - static void _206B_206A_206E_202D_206A_202C_206C_206B_206D_206C_206B_202A_206A_206A_202C_206B_202E_202B_206B_202B_200C_206D_202E_202C_206D_202D_206C_200B_200B_200D_200D_202E_200C_202A_206B_200B_200B_202D_200F_202A_202E(float P_0) - { - ImGui.Unindent(P_0); - } - - static void _202C_206B_206D_206E_200D_206D_202C_206A_206A_206D_206C_202A_200E_206E_206B_202D_206C_200E_200C_202E_200C_200B_206B_200E_206E_200B_206B_202E_202B_200E_200B_206F_206D_206F_202C_200D_200D_200B_206E_200E_202E(Vector2 P_0) - { - ImGui.SetCursorPos(P_0); - } - - static Vector2 _202D_202E_200C_202E_200C_202D_206E_206C_202A_200C_200C_206D_202D_202E_206C_206E_206F_206F_202A_202D_200D_202D_200B_206C_202E_202D_206C_200D_202E_206D_202C_200D_202B_200D_206B_202E_206A_206B_206A_202C_202E() - { - return ImGui.GetCursorScreenPos(); - } - - static uint _200B_206D_206F_200C_206D_206B_202C_202A_200E_206C_206C_200B_206B_206D_200F_200D_202E_200E_202B_202A_202E_200D_202A_200D_200D_200F_202B_200D_202D_202D_200D_200D_206E_200B_200D_200D_200E_200C_206B_206B_202E(Vector4 P_0) - { - return ImGui.ColorConvertFloat4ToU32(P_0); - } - - static ImRaii.TableDisposable _200B_200D_202A_206F_200D_206B_202A_202D_200E_202C_206C_206E_202B_202D_200C_200E_202D_206B_206E_200E_200C_202C_206E_202D_202E_206E_200B_202D_200E_200D_206B_200C_200C_206C_202B_206D_202E_206A_206D_202B_202E(ImU8String P_0, int P_1, ImGuiTableFlags P_2) - { - return ImRaii.Table(P_0, P_1, P_2); - } - - static float _200D_202A_202B_200C_206C_206C_200C_200D_206A_206C_202E_206C_202B_206C_200D_206A_200B_200E_202D_206A_200B_206D_206D_206D_202D_200D_202C_202E_206D_206B_200C_206F_206C_200B_202A_206F_206C_200B_200C_202E() - { - return ImGui.GetTextLineHeight(); - } - - static void _202D_200B_200D_206E_206D_200B_202A_206E_206A_200E_202C_206A_202D_202A_200C_206C_206E_206E_202A_206A_202A_202D_202C_206A_206F_200F_206D_202A_202B_200F_200E_200D_200D_206D_206F_202E_206A_202A_202D_202B_202E(float P_0) - { - ImGui.SetCursorPosX(P_0); - } - - static void _206A_200F_200E_200B_206D_200D_202D_206C_206F_202E_200B_202E_206F_202D_206C_206F_206A_206A_206C_206E_202D_206D_202D_202C_202C_206B_200D_200B_202E_206B_200C_206F_200F_206C_202E_202A_202C_200B_200B_202E_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static float _202C_200C_200C_200C_206E_202E_202E_202E_200E_206C_206B_206E_200F_200E_202D_202D_202A_200C_206A_202C_206A_206B_200D_200E_206E_200F_200F_206F_200B_206C_202B_200B_206A_202A_206F_202D_206B_200C_202C_206B_202E() - { - return ImGui.GetCursorPosY(); - } - - static void _200E_202D_200C_206E_200B_206A_200E_206F_200F_200C_200D_202D_200D_200E_200B_206E_206C_206F_202D_202C_206E_200D_206B_206B_206C_206B_202D_202E_206D_202B_202D_202C_206E_206E_200C_200F_206F_206C_202C_206A_202E() - { - ImGui.Spacing(); - } - - static float _200D_202A_206A_206F_202D_206E_206E_206F_206C_206F_200F_200D_200E_200F_202D_202D_202C_202D_206E_202D_202B_206C_202C_206E_206B_200E_202B_206F_202E_202A_206D_202D_200D_206B_200F_202A_202E_206F_206A_202C_202E() - { - return ImGui.GetFontSize(); - } - - static string _200E_200B_202B_206D_202E_200F_202D_200F_206C_206C_202E_202D_202D_200F_200E_200F_200F_200C_206B_200D_200D_200B_206E_206B_206B_200C_200C_202C_206C_200F_206B_202E_202B_202D_206D_206E_200E_202C_202C_200C_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static ImFontPtr _206F_206D_206C_200F_200E_206B_202A_200F_202E_206A_206E_200F_206D_206A_206F_206D_206B_200F_200E_202E_200B_206B_200D_200E_206D_200C_206D_206B_202C_202E_206B_202E_206B_202C_202A_200D_202B_200F_202C_200E_202E() - { - return UiBuilder.IconFont; - } - - static ImRaii.FontDisposable _202A_202E_206A_202E_206D_202A_200B_200B_200F_206D_206E_200E_200C_206B_200C_206A_200F_200E_200E_200D_200F_206B_202D_206C_202A_200D_206A_206D_200C_200D_206A_202C_206C_206C_202A_206A_200E_206C_200F_202E(ImFontPtr P_0, bool P_1) - { - return ImRaii.PushFont(P_0, P_1); - } - - static float _206D_202B_202D_200F_206A_200D_206E_206C_202C_206B_200E_206B_206B_206C_206B_200E_202C_206C_202A_206F_206E_200E_202A_202A_200B_206F_202C_200C_206E_206D_206F_202E_200F_206B_206D_202E_206E_200C_200C_202C_202E(float P_0, float P_1) - { - return MathF.Max(P_0, P_1); - } - - static void _206E_202D_200E_206B_202E_202E_206A_206E_200B_202A_202D_206E_202B_206F_202A_202C_202C_206E_200C_200C_202D_200E_202A_200C_200B_202E_200D_206B_206F_200C_206A_200C_206A_206A_200D_200D_202E_202C_200C_206E_202E(Vector2 P_0) - { - ImGui.Dummy(P_0); - } - - static ImFontPtr _200B_200B_206B_206E_202A_202A_206C_206C_200D_206A_206F_206C_200C_206A_206E_206B_206A_206E_202B_200B_206D_200E_206C_200F_206E_200B_202B_202C_202C_200D_200E_202D_200F_206F_206E_206A_202C_202E_202E_206B_202E() - { - return UiBuilder.MonoFont; - } - - static void _206D_202E_202C_206C_206B_200C_200D_206C_206E_200C_202E_202E_206D_200C_200F_202C_202B_200E_200C_206A_206E_202D_206F_200B_200E_200D_200E_202B_206F_202D_202B_206D_206B_200C_200E_206A_206F_200D_206F_200F_202E(ImFontPtr P_0) - { - ImGui.PushFont(P_0); - } - - static void _200E_200D_200C_200E_200D_202E_206B_206A_200F_202E_200F_206D_200E_200B_200B_206E_200E_206A_202C_200B_202B_202B_206A_202B_200D_200D_200D_202C_206C_202E_206B_202B_206D_206A_206F_200B_202D_202B_200F_206F_202E() - { - ImGui.PopFont(); - } - - static void _206F_202A_202E_202B_200E_202E_206A_200C_202C_200D_202A_200B_206F_202A_206F_200B_202D_200C_206C_200C_202E_200E_202E_206C_202B_200D_202C_202D_200D_206A_202A_200E_202B_206D_200F_206E_206E_206A_206F_200E_202E(ImGuiTableBgTarget P_0, uint P_1) - { - ImGui.TableSetBgColor(P_0, P_1); - } - - static IDisposable _206B_206B_206D_206A_200E_202C_206C_206F_206E_200B_206F_200E_200D_200C_206B_206C_202C_202A_200D_206E_206F_206F_202B_206C_202E_206B_206A_200D_206B_200B_200C_202A_202A_206F_200E_206F_200B_206D_206B_202E_202E(IFontHandle P_0) - { - return P_0.Push(); - } - - static float _200E_202A_206E_200F_202C_200C_200B_200F_206F_206F_206E_202E_200D_200D_202C_200E_200B_206D_206A_200E_200F_202C_206A_202C_200D_206A_202B_200E_206A_202C_206F_200B_202E_206E_202A_206D_202E_206C_206D_206E_202E() - { - return ImGui.GetTextLineHeightWithSpacing(); - } - - static ImRaii.IdDisposable _200D_200F_206C_202D_206B_206F_206E_206E_202D_202C_202E_202B_202D_206E_202B_200E_206C_202B_202D_200E_200B_206F_202B_200E_200B_200C_202A_202A_202C_200C_206A_206F_200E_202C_200F_206F_200D_206E_200C_202D_202E(ImU8String P_0, bool P_1) - { - return ImRaii.PushId(P_0, P_1); - } - - static float _206B_200B_200D_202B_202D_202E_206F_200E_206A_202D_206C_206E_200F_200F_206A_202B_206D_200D_206B_206E_206D_202C_200E_206E_200E_200F_200E_200B_202A_200B_206B_200C_202E_202A_206C_206F_206F_200D_206C_200D_202E() - { - return ImGui.GetFrameHeight(); - } - - static ImRaii.ColorDisposable _200B_206F_200E_206D_202D_200B_202D_206F_206E_200C_206C_206B_206E_206B_202E_206C_200F_202C_206F_200D_200D_200B_200F_200D_206D_202E_202B_206F_202E_202D_206E_200D_202A_206E_200C_206E_206D_202D_206C_206C_202E(ImRaii.ColorDisposable P_0, ImGuiCol P_1, Vector4 P_2, bool P_3) - { - return P_0.Push(P_1, P_2, P_3); - } - - static bool _200C_206D_206C_202B_206F_202B_206B_200F_200F_202B_200D_206C_206D_202A_200F_200E_202A_206C_202A_200F_200B_200E_206B_206A_202B_200B_206C_200D_206C_200E_206A_202D_200F_206C_206A_200F_206E_200C_200E_200D_202E(ImU8String P_0, bool P_1, ImGuiSelectableFlags P_2, Vector2 P_3) - { - return ImGui.Selectable(P_0, P_1, P_2, P_3); - } - - static bool _200B_202A_202D_206F_206A_200F_206A_206C_200F_202A_202B_202D_200D_200E_202A_206A_206D_206E_202A_206C_200E_206D_202A_206E_202B_200E_202A_206F_206B_202C_206D_200F_206F_206A_200C_200E_202A_206A_206C_202E_202E() - { - return ImGui.IsItemHovered(); - } - - static Vector2 _202B_200E_200C_206B_206B_206C_206E_206E_200D_206A_200E_206C_206C_200D_206B_206D_200D_206F_200E_206D_206D_202A_206A_200E_200B_200F_200C_206B_206C_202B_200D_206B_202D_206F_202E_206C_206D_202D_200F_202C_202E() - { - return ImGui.GetItemRectMin(); - } - - static Vector2 _200E_202B_202A_206C_206A_206E_206B_206C_200F_200B_206F_200D_200C_206B_202D_200D_200E_202B_206D_200E_202D_202E_200D_202D_200B_206B_200E_202E_200D_206D_200C_206F_200C_202E_206A_206D_206F_200F_206B_206E_202E() - { - return ImGui.GetItemRectMax(); - } - - static ImGuiStylePtr _200D_200C_206C_206C_200E_202C_202D_200E_206D_206A_206D_202B_200D_202E_202C_200E_206E_200F_206E_200F_200C_206B_200F_206C_206C_200C_206F_202D_200E_206A_202D_200C_200B_202C_202A_202D_206F_202B_206F_200D_202E() - { - return ImGui.GetStyle(); - } - - static float _206F_200C_206A_202A_202B_206C_200C_200E_202A_200F_202C_200C_206D_202C_206D_202A_200D_206A_206F_206A_200B_202B_200C_200E_206B_206F_200B_202A_200E_206B_202E_206B_206F_200E_202B_200B_200C_202E_206F_200C_202E(float P_0) - { - return MathF.Truncate(P_0); - } - - static bool _206F_202C_206C_200E_206C_206C_206B_200F_206C_200E_206A_206E_200E_202E_206B_206A_206C_202B_206C_202C_200C_202C_206B_200D_200C_206A_206E_200E_206D_206D_200D_202A_206F_206C_200F_206B_206F_200F_200C_206F_202E(ImU8String P_0, ref bool P_1) - { - return ImGui.Checkbox(P_0, ref P_1); - } - - static void _206D_206A_206D_202E_206E_206F_206F_206B_200F_200F_202A_206E_206C_200F_200D_200B_206D_206F_206E_206A_202C_200F_206A_200D_200C_206D_206A_206C_206A_206A_206C_206D_202E_202B_206F_200F_200D_200E_206E_202A_202E() - { - ImGui.SameLine(); - } - - static void _202E_202B_206B_202E_206E_206A_202E_202A_202B_206C_206E_206D_200C_202A_206D_200C_206A_202E_200D_202C_200F_206B_206C_202E_202A_206F_200E_200B_200C_206C_202C_202E_206A_200C_206E_200D_202E_202A_200F_202C_202E(ImU8String P_0) - { - ImGui.Text(P_0); - } - - static ImRaii.TooltipDisposable _200D_202A_206C_206B_206E_202D_202E_200D_202A_200C_206F_206B_206D_200B_202D_200F_200D_206D_202A_206A_200D_206A_200D_200B_202C_206F_200C_200C_206C_200C_206A_200C_206E_202C_206D_202B_206E_202B_206C_200F_202E() - { - return ImRaii.Tooltip(); - } - - static void _202A_200B_206D_202A_206E_206E_206A_202E_206E_206A_202B_200E_206E_200E_202D_206B_206B_206B_200B_206E_200D_202E_206D_200D_206E_206F_202C_206B_200F_206E_200C_200F_202D_200C_200B_202E_202C_202B_200D_206B_202E(float P_0) - { - ImGui.SameLine(P_0); - } - - static void _202E_202A_202C_206B_200E_200F_200E_206F_206C_202C_202A_202C_206D_202C_200B_202E_200E_202A_202D_200C_206B_200C_200B_206B_206E_200F_202E_206A_202C_206E_206C_202C_200B_200E_206F_206A_202C_202C_206C_206E_202E(float P_0) - { - ImGui.SetNextItemWidth(P_0); - } - - static bool _200D_206B_202B_200D_206F_206E_200B_202B_200F_206E_202D_206A_206D_206F_200F_206F_200C_206A_202E_206E_206E_200F_202C_206A_202A_202B_206A_202D_206C_200F_200C_206D_200F_206E_200C_200B_202A_206F_200F_206A_202E(ImU8String P_0, ImU8String P_1, ref string P_2, int P_3, ImGuiInputTextFlags P_4, ImGui.ImGuiInputTextCallbackDelegate P_5) - { - return ImGui.InputTextWithHint(P_0, P_1, ref P_2, P_3, P_4, P_5); - } - - static bool _202C_206B_206D_206D_202D_202A_202D_202D_202D_202E_202C_200C_200E_200C_202C_200D_206D_200C_200E_206A_202B_202C_200D_206B_200F_202D_200C_202E_202B_206C_200B_206D_200C_206A_200D_200C_200C_200F_202A_200D_202E(ImU8String P_0, ref int P_1, int P_2, int P_3, ImU8String P_4, ImGuiSliderFlags P_5) - { - return ImGui.SliderInt(P_0, ref P_1, P_2, P_3, P_4, P_5); - } - - static bool _200D_202C_206A_200D_200C_200E_200D_202A_202E_202E_200C_206D_206E_202A_200C_200F_200E_200C_202C_202B_202D_206C_202E_202B_206B_200B_202E_202E_202D_206A_206A_202B_206F_206E_206B_206E_202D_202E_202A_206E_202E(ImU8String P_0, ref float P_1, float P_2, float P_3, ImU8String P_4, ImGuiSliderFlags P_5) - { - return ImGui.SliderFloat(P_0, ref P_1, P_2, P_3, P_4, P_5); - } - - static float _202B_202A_202C_200B_200F_206C_206C_206C_202C_206A_200F_206F_206A_200B_206F_200B_202E_206A_200D_200F_202D_202C_200D_206F_206A_206C_202E_200C_206A_206A_202C_202E_206C_202B_206A_206D_202A_202B_206D_200D_202E() - { - return ImGui.CalcItemWidth(); - } - - static bool _206C_206C_200D_202E_200C_206E_200E_206B_206C_200E_200B_200B_206A_202E_206E_202E_206C_206D_200D_202D_200C_206A_202E_206D_206B_206E_200B_202B_200D_202E_202A_206D_206C_200F_200B_200C_200B_202D_206D_202D_202E(ImU8String P_0, ImU8String P_1, ImGuiComboFlags P_2) - { - return ImGui.BeginCombo(P_0, P_1, P_2); - } - - static void _200E_202D_202E_200E_202E_202A_206F_202A_206E_202D_202A_206A_206A_206F_206D_200C_202B_200F_200C_206E_206F_202A_206B_200B_200C_206A_202E_202E_202B_202C_206B_202C_202C_202B_202C_202C_206A_206D_200F_200F_202E() - { - ImGui.SetItemDefaultFocus(); - } - - static void _202C_206B_202D_206E_202D_206D_206B_200D_200E_206D_200F_200C_202C_200B_200F_202E_206E_206F_202D_206A_202A_202D_200E_200D_206C_202E_202B_202A_206D_200E_202B_200C_200C_200D_206B_202B_202D_202B_206E_206E_202E() - { - ImGui.EndCombo(); - } - - static bool _206E_202B_202D_206F_200C_206D_206D_206C_206F_200F_202A_202C_206B_202B_200C_202C_206D_200B_206F_202E_202B_206E_206E_202B_200D_206F_202C_200C_206D_200E_206B_200F_206E_202E_206E_206F_206E_200E_200F_206F_202E() - { - return ImGui.IsWindowAppearing(); - } - - static void _202D_202A_206E_206F_202D_202A_206C_200C_202E_202C_206C_202E_200F_202B_200C_202A_200D_202D_202D_206A_202E_200C_202C_200E_206A_206E_200B_202E_206E_206C_200C_202D_202C_206F_206E_202B_200E_202B_200D_202D_202E() - { - ImGui.SetKeyboardFocusHere(); - } - - static void _202B_202A_202E_206D_200C_206C_200B_206B_202C_200F_200C_200F_202D_200C_202C_200F_206C_202E_206D_202E_202E_202E_202A_200B_202C_206F_202A_206D_202B_202B_206A_202E_200B_200E_202E_200D_202B_200F_200C_202E() - { - ImGui.Separator(); - } - - static bool _206A_206C_202B_206B_202B_206F_202E_206F_200F_202B_202D_202D_206D_202C_200B_200F_202C_202E_206C_202E_206A_200B_202B_202A_206E_200E_202E_206E_202B_206B_206A_200E_202C_202A_202B_202A_206E_202C_200E_206E_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.Contains(P_1, P_2); - } - - static float _206E_200F_200F_200F_200D_200B_202C_200E_202D_202A_200C_202B_202A_206B_200F_206F_202B_206C_200D_200F_202C_200B_202B_200F_200E_206E_206A_202B_200B_200F_206A_202C_206D_206E_202C_206E_206B_202B_206C_202B_202E() - { - return ImGuiHelpers.GlobalScale; - } - - static int _202C_202E_200B_200E_200D_206F_202D_200C_206B_202E_200C_202E_202D_202A_206C_202A_206C_202A_202A_202B_206F_200B_206F_200F_200B_200C_206D_200C_200D_206C_206C_206C_202E_202B_206B_206D_206C_206D_200F_202D_202E(int P_0, int P_1) - { - return Math.Max(P_0, P_1); - } - - static int _200F_200C_206F_202A_202B_206C_206C_206D_202D_206B_206C_200B_206B_200C_202E_206F_206F_206F_206E_206C_206E_206B_202E_202B_202B_206C_206C_202A_202A_200F_206A_206E_202B_202E_202E_202A_200F_206E_206B_202E_202E(int P_0, int P_1, int P_2) - { - return Math.Clamp(P_0, P_1, P_2); - } - - static ImRaii.ChildDisposable _206D_206C_206D_202A_206C_200F_200D_206B_200F_206E_200C_206D_206C_202C_200B_202D_200B_206C_200E_202C_206A_206B_206A_200B_206A_206D_202D_200D_200D_202B_200E_206C_206A_202D_202D_206F_206C_206B_206B_206E_202E(ImU8String P_0, Vector2 P_1) - { - return ImRaii.Child(P_0, P_1); - } - - static void _206B_206C_200E_202E_202B_206A_206B_200D_202E_206F_206F_202A_206F_206C_202A_202E_202C_202D_206A_202A_202C_202D_202E_206D_206F_202E_200F_206D_202D_202B_206D_202A_206B_202E_200C_200E_202C_200F_206B_200C_202E() - { - ImGui.CloseCurrentPopup(); - } - - static bool _206C_200D_206F_206B_202E_202C_200E_202B_202A_206B_200F_200D_206E_202A_206F_202C_202E_206D_200E_202C_200F_200C_206B_206A_206E_206D_206A_200E_200D_206C_202C_202C_202C_206F_202E_206E_202E_202A_206E_206B_202E(ImU8String P_0, Vector2 P_1) - { - return ImGui.Button(P_0, P_1); - } - - static uint _202B_206B_202C_206F_200F_202C_200C_200E_202B_200E_200D_206F_200C_200B_206E_206C_200D_206B_202E_206E_200F_200C_200D_206F_200D_200F_206D_200C_206E_202C_200E_200F_200C_200D_206D_202C_202A_200C_200D_202B_202E(ImGuiCol P_0) - { - return ImGui.GetColorU32(P_0); - } - - static ImRaii.StyleDisposable _206D_202C_202C_206B_202A_202A_200C_200E_200E_206F_206B_206C_200B_206B_206D_202D_200C_200D_200C_206F_202C_202B_206A_202C_200E_206D_200B_206E_202E_206B_206F_206C_200C_200C_206C_200D_202A_202B_200B_200E_202E(ImGuiStyleVar P_0, float P_1, bool P_2) - { - return ImRaii.PushStyle(P_0, P_1, P_2); - } - - static ImRaii.StyleDisposable _206C_200B_200D_200C_206E_202D_206B_202C_206D_200C_206A_200B_206E_206B_200B_206B_206D_206C_206C_206B_206D_202E_202B_206F_202B_206D_206E_202A_200D_206D_206D_200D_202B_202A_206A_206D_206E_202A_202A_202E(ImGuiStyleVar P_0, Vector2 P_1, bool P_2) - { - return ImRaii.PushStyle(P_0, P_1, P_2); - } - - static ImRaii.ColorDisposable _202A_200D_206C_206A_206B_202B_202A_202B_206F_206D_206A_206F_206E_200C_202D_206E_202C_202D_206D_200C_202B_200F_202B_206B_206D_206C_206D_200D_200C_206D_202E_200F_206B_200D_202B_200C_206F_202C_202E_200F_202E() - { - return new ImRaii.ColorDisposable(); - } - - static bool _200B_200B_200D_200F_200D_200B_200D_202E_202C_200E_200C_200B_200F_200D_206F_200F_206D_206A_200F_200F_200D_206C_200E_206B_206D_202E_202E_202D_200E_206C_202C_206F_202E_206D_206D_200F_206E_202C_206F_200D_202E(ImGuiKey P_0) - { - return ImGui.IsKeyDown(P_0); - } - - static ImRaii.DisabledDisposable _202E_206C_206B_206A_202A_206B_202D_202A_200F_206D_206B_200D_200D_206E_202C_200D_200F_206B_202C_202C_206C_200C_206B_200C_206F_206D_206A_200E_200D_202A_206C_206D_202D_200C_202A_206C_200B_206D_200E_202E_202E(bool P_0) - { - return ImRaii.Disabled(P_0); - } - - static bool _202E_200E_200C_200D_202A_202B_202E_206A_206C_202E_200B_206F_200D_206E_202E_200E_200C_206C_206E_200F_206B_200D_200D_200C_202D_202D_206B_200C_206A_202A_200E_200F_200D_202E_206F_200D_206F_202D_202E_206F_202E(ImGuiHoveredFlags P_0) - { - return ImGui.IsItemHovered(P_0); - } - - static void _206B_202D_206E_202E_200D_206D_202E_206E_206F_200E_202B_206B_202E_206E_202D_200E_200C_206E_202A_202E_202D_200F_202A_200D_202D_206A_200E_202C_206E_202B_206E_200E_206C_206E_206C_206C_202B_206A_206F_200E_202E(ImU8String P_0) - { - ImGui.SetTooltip(P_0); - } - - static StringBuilder _202E_206A_206F_206B_200D_206B_200E_202B_200D_200E_206C_200B_206A_200D_206F_202A_200E_200B_202A_202A_202E_206A_202B_206B_206A_202C_200E_206F_206F_202A_206C_206C_202A_206D_202C_202A_200E_200D_200B_202B_202E(int P_0) - { - return new StringBuilder(P_0); - } - - static char _206C_206C_200C_200F_202D_202E_206A_206A_206D_206B_202C_202A_206E_206C_200F_202D_202C_202D_206D_200B_206B_206E_202D_206A_202C_200D_206C_200B_206C_202C_206F_206E_202B_206B_200C_200E_200B_200D_200E_206A_202E(string P_0, int P_1) - { - return P_0[P_1]; - } - - static StringBuilder _200F_202D_206D_206A_200F_206D_206F_202C_202A_206A_202C_206B_206D_200C_206A_206C_206F_202A_200F_206F_206E_206F_206B_202A_200C_200F_206A_200C_202A_206E_202A_206E_200B_200D_206F_202B_202C_206E_202C_200C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206D_200F_206A_206B_200E_206E_200F_202E_200E_200D_206A_200C_200E_206D_200F_200C_206F_202A_200F_206F_200D_206A_206C_206B_206E_202D_206F_206A_200E_206E_206A_200C_202E_206F_206D_206B_206B_206A_200B_206E_202E(object P_0) - { - return P_0.ToString(); - } - - static string _206D_200D_202E_200E_202D_202B_206E_200D_200B_202C_202C_206A_202C_200B_200D_202E_206A_202B_202E_206E_200C_202C_200C_202E_202C_202A_206B_202B_202A_202A_206C_206D_202E_200D_200C_200B_200E_200F_200C_202A_202E(string P_0) - { - return P_0.Trim(); - } - - static Vector4 _202E_206B_202E_200F_206D_206A_202D_206E_200F_200F_200C_206E_200B_200E_200F_206C_200E_200C_206D_206D_200C_200C_206E_200E_202A_206C_206F_200D_200D_206E_206D_202C_202B_206C_206E_206D_206E_202C_200D_200E_202E() - { - return ImGuiColors.ParsedGreen; - } - - static Vector4 _200C_206F_200B_200F_206A_206C_202C_200E_206F_200C_200B_200C_206E_200D_202A_200C_206B_206B_206C_206B_206F_206F_202D_200C_202E_202D_200E_200F_200C_206E_202A_202E_202D_202E_200E_202C_200B_200E_202D_206A_202E() - { - return ImGuiColors.DalamudYellow; - } - - static Vector4 _202E_200E_200C_206D_202E_206E_202C_206B_202A_200D_202B_206F_202A_202A_202E_206A_202A_202C_206E_202E_206C_206E_206E_206B_206B_202C_200E_200D_206B_200F_206C_200F_206D_206A_200E_202D_206A_200C_200C_206C_202E() - { - return ImGuiColors.ParsedBlue; - } - - static Vector4 _202C_206D_206B_202B_202C_206E_200D_206D_206E_202D_206E_202D_200F_206C_200E_200B_200C_202B_206E_206C_202A_202E_200F_202A_206C_200C_206E_202A_202B_206A_200B_202B_202D_202E_202E_202C_202B_202C_206B_206D_202E() - { - return ImGuiColors.DalamudRed; - } - - static Vector4 _200D_206A_200D_206C_206E_200E_206E_202D_206B_206B_206A_200F_206A_200F_206F_206C_202E_200D_206A_206B_202A_200F_206E_206F_202E_200B_200E_206D_206C_202D_206A_200E_202B_206B_206A_200E_206A_206E_202C_202A_202E() - { - return ImGuiColors.DalamudGrey; - } - - static Vector4 _200F_200C_206D_206B_200F_202C_206F_206D_206F_202D_206F_200D_202E_206D_202E_200D_200E_202A_206C_202B_200C_202E_202B_206B_202D_200D_202A_206D_200E_206B_206F_206E_202D_200B_202A_206C_202A_202E_202A_200E_202E() - { - return ImGuiColors.DalamudGrey3; - } - - static string _206F_202C_200E_202E_206A_206F_206A_200E_202A_202E_200C_206A_206E_206B_200F_202B_206C_202E_200B_202E_200F_202B_202B_200D_206B_206E_202E_200E_202A_202B_200D_206C_206C_206D_200F_200D_200F_202A_202D_200D_202E(SeIconChar P_0) - { - return P_0.ToIconString(); + StatusComplete = ImGuiColors.ParsedGreen; + StatusActive = ImGuiColors.DalamudYellow; + StatusAvailable = ImGuiColors.DalamudYellow; + StatusAvailableComplete = ImGuiColors.ParsedBlue; + StatusLocked = ImGuiColors.DalamudRed; + StatusUnobtainable = ImGuiColors.DalamudGrey; + StatusBlacklisted = ImGuiColors.DalamudGrey3; + Ellipsis = ((SeIconChar)57434).ToIconString(); } } diff --git a/Questionable/Questionable.Windows/UiUtils.cs b/Questionable/Questionable.Windows/UiUtils.cs index 567fb29..cb9ea97 100644 --- a/Questionable/Questionable.Windows/UiUtils.cs +++ b/Questionable/Questionable.Windows/UiUtils.cs @@ -1,10 +1,7 @@ -using System; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; using Dalamud.Interface; using Dalamud.Interface.Colors; -using Dalamud.Interface.ManagedFontAtlas; using Dalamud.Plugin; using FFXIVClientStructs.FFXIV.Client.Game.UI; using Questionable.Controller; @@ -28,244 +25,87 @@ internal sealed class UiUtils _pluginInterface = pluginInterface; } - [MethodImpl(MethodImplOptions.NoInlining)] public (Vector4 Color, FontAwesomeIcon Icon, string Status) GetQuestStyle(ElementId elementId) { - int num = ((!_questFunctions.IsQuestAccepted(elementId)) ? (-1441801408) : (-1441801406)); - QuestId questId = default(QuestId); - while (true) + if (_questFunctions.IsQuestAccepted(elementId)) { - int num2 = num; - int num3 = -1441801390; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 8: - num = ((!_questFunctions.IsQuestComplete(questId)) ? (-1441801384) : (-1441801407)); - break; - case 19: - return (Color: UiThemeUtils.StatusAvailableComplete, Icon: FontAwesomeIcon.Running, Status: 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(871452467)); - case 18: - questId = elementId as QuestId; - num = (((object)questId == null) ? (-1441801402) : (-1441801380)); - break; - case 21: - num = (_questRegistry.IsKnownQuest(elementId) ? (-1441801386) : (-1441801385)); - break; - case 3: - num = (_questFunctions.IsReadyToAcceptQuest(questId) ? (-1441801382) : (-1441801379)); - break; - case 5: - return (Color: UiThemeUtils.StatusLocked, Icon: FontAwesomeIcon.Times, Status: global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1267300956)); - case 1: - return (Color: UiThemeUtils.StatusBlacklisted, Icon: FontAwesomeIcon.Ban, Status: 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(-833431314)); - case 13: - num = ((!_questFunctions.IsReadyToAcceptQuest(elementId)) ? (-1441801385) : (-1441801401)); - break; - case 10: - return (Color: UiThemeUtils.StatusAvailable, Icon: FontAwesomeIcon.Running, Status: global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1067102916)); - case 14: - num = ((!_questFunctions.IsDailyAlliedSocietyQuestAndAvailableToday(questId)) ? (-1441801402) : (-1441801390)); - break; - case 20: - num = ((!_questFunctions.IsQuestAcceptedOrComplete(elementId)) ? (-1441801388) : (-1441801378)); - break; - case 7: - return (Color: UiThemeUtils.StatusUnobtainable, Icon: FontAwesomeIcon.Minus, Status: 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(576385889)); - case 16: - return (Color: UiThemeUtils.StatusActive, Icon: FontAwesomeIcon.PersonWalkingArrowRight, Status: global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1970753606)); - case 6: - num = ((!_questFunctions.IsQuestUnobtainable(elementId)) ? (-1441801392) : (-1441801387)); - break; - case 15: - return (Color: UiThemeUtils.StatusComplete, Icon: FontAwesomeIcon.Check, Status: 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(1552042899)); - case 0: - num = ((!_questFunctions.IsQuestBlacklisted(questId)) ? (-1441801391) : (-1441801381)); - break; - case 9: - return (Color: UiThemeUtils.StatusBlacklisted, Icon: FontAwesomeIcon.Ban, Status: global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1976852282)); - case 11: - num = -1441801406; - break; - case 17: - num = (_questFunctions.IsQuestLocked(elementId) ? (-1441801385) : (-1441801377)); - break; - case 2: - num = ((!_questFunctions.IsQuestBlacklisted(elementId)) ? (-1441801405) : (-1441801389)); - break; - case 4: - return (Color: UiThemeUtils.StatusAvailable, Icon: FontAwesomeIcon.Running, Status: 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(1166519045)); - case 12: - return (Color: UiThemeUtils.StatusComplete, Icon: FontAwesomeIcon.Check, Status: 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(1552042899)); - } + return (Color: UiThemeUtils.StatusActive, Icon: FontAwesomeIcon.PersonWalkingArrowRight, Status: "Active"); } + if (elementId is QuestId questId && _questFunctions.IsDailyAlliedSocietyQuestAndAvailableToday(questId)) + { + if (_questFunctions.IsQuestBlacklisted(questId)) + { + return (Color: UiThemeUtils.StatusBlacklisted, Icon: FontAwesomeIcon.Ban, Status: "Blacklisted"); + } + if (!_questFunctions.IsReadyToAcceptQuest(questId)) + { + return (Color: UiThemeUtils.StatusComplete, Icon: FontAwesomeIcon.Check, Status: "Complete"); + } + if (_questFunctions.IsQuestComplete(questId)) + { + return (Color: UiThemeUtils.StatusAvailableComplete, Icon: FontAwesomeIcon.Running, Status: "Available (Complete)"); + } + return (Color: UiThemeUtils.StatusAvailable, Icon: FontAwesomeIcon.Running, Status: "Available"); + } + if (_questFunctions.IsQuestAcceptedOrComplete(elementId)) + { + return (Color: UiThemeUtils.StatusComplete, Icon: FontAwesomeIcon.Check, Status: "Complete"); + } + if (_questFunctions.IsQuestUnobtainable(elementId)) + { + return (Color: UiThemeUtils.StatusUnobtainable, Icon: FontAwesomeIcon.Minus, Status: "Unobtainable"); + } + if (_questFunctions.IsQuestBlacklisted(elementId)) + { + return (Color: UiThemeUtils.StatusBlacklisted, Icon: FontAwesomeIcon.Ban, Status: "Blacklisted"); + } + if (_questFunctions.IsQuestLocked(elementId) || !_questFunctions.IsReadyToAcceptQuest(elementId) || !_questRegistry.IsKnownQuest(elementId)) + { + return (Color: UiThemeUtils.StatusLocked, Icon: FontAwesomeIcon.Times, Status: "Locked"); + } + return (Color: UiThemeUtils.StatusAvailable, Icon: FontAwesomeIcon.Running, Status: "Available"); } public static (Vector4 color, FontAwesomeIcon icon) GetInstanceStyle(ushort instanceId) { - int num = ((!UIState.IsInstanceContentCompleted(instanceId)) ? (-627417922) : (-627417921)); - while (true) + if (UIState.IsInstanceContentCompleted(instanceId)) { - int num2 = num; - int num3 = -627417923; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = ((!UIState.IsInstanceContentUnlocked(instanceId)) ? (-627417924) : (-627417927)); - break; - case 2: - return (color: UiThemeUtils.StatusComplete, icon: FontAwesomeIcon.Check); - case 0: - num = -627417921; - break; - case 1: - return (color: UiThemeUtils.StatusLocked, icon: FontAwesomeIcon.Times); - case 4: - return (color: UiThemeUtils.StatusActive, icon: FontAwesomeIcon.Running); - } + return (color: UiThemeUtils.StatusComplete, icon: FontAwesomeIcon.Check); } + if (UIState.IsInstanceContentUnlocked(instanceId)) + { + return (color: UiThemeUtils.StatusActive, icon: FontAwesomeIcon.Running); + } + return (color: UiThemeUtils.StatusLocked, icon: FontAwesomeIcon.Times); } public bool ChecklistItem(string text, Vector4 color, FontAwesomeIcon icon, float extraPadding = 0f, bool asBadge = false) { - int num = ((!asBadge) ? (-1166254314) : (-1166254313)); - while (true) + if (asBadge) { - int num2 = num; - int num3 = -1166254314; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = -1166254313; - break; - case 2: - _206F_200D_200F_200B_200F_200C_206C_206A_202E_206F_206D_200E_202B_202B_202B_200C_206A_206A_200C_200C_200C_200D_202D_200B_206F_202E_206F_202D_206F_200C_206A_202A_202D_200B_202D_202E_206C_202D_206C_200D_202E(_202B_200B_202E_206C_200E_202B_202C_200E_200E_202E_200D_202C_206D_200B_206C_202D_200C_206C_206A_206D_200C_202B_206F_206F_202D_200C_206D_206E_202B_200F_200C_206E_202C_202D_200D_206E_200C_206D_206A_200E_202E() + extraPadding); - num = -1166254318; - break; - case 1: - UiThemeUtils.StatusBadge(text, color, icon); - return _202B_200D_206D_202D_202E_206F_200C_202D_206E_206A_202A_200B_202A_202E_206C_200F_206B_202D_202A_206D_206D_206C_200E_206D_202A_200C_202B_200D_202C_206A_200E_202D_202D_202A_202C_206A_202B_206C_202D_200F_202E(); - case 0: - num = ((!(extraPadding > 0f)) ? (-1166254318) : (-1166254316)); - break; - case 4: - { - IDisposable disposable = _200C_206E_202B_202B_200B_206D_200B_200F_200C_200B_206D_206D_202C_206E_202C_200C_206C_200E_200E_202A_206A_206D_206A_206B_202C_202A_200E_206B_202E_202E_200F_200F_200F_202A_206D_206B_202D_202E_206E_200C_202E(_206B_202B_206A_200F_202B_200F_200C_200B_206A_202B_200B_206F_200C_200F_202C_206E_200C_206F_202C_200D_202D_206A_200D_202D_200E_202D_206F_202B_200F_200F_202E_200C_200B_206A_206A_200E_206C_200E_206D_206F_202E(_202A_206C_206E_202C_206F_206F_206D_206A_206B_200F_206D_206A_206B_200C_202A_206A_200E_206F_200D_206B_206E_200B_206F_206F_200C_202A_206E_202C_200E_206A_206D_206E_206D_202B_202C_206C_202C_202C_206C_206B_202E(_pluginInterface))); - try - { - _206B_206A_206D_200F_202C_202C_200D_206B_206E_202B_202B_206B_200B_206C_202B_202A_200D_206B_206C_202B_206C_200B_200B_202D_206F_200E_206D_202D_206B_202B_202D_202B_202E_202E_206D_206D_206E_206C_206C_202E(ref color, (ImU8String)_200F_200E_202A_206B_206A_206B_200B_200F_206B_206E_200B_206A_206D_206B_202B_206A_206B_206B_206F_206A_202C_202B_200C_206A_200F_206C_206B_202C_202A_202A_202B_206F_200F_202D_200F_200E_206C_206E_202A_200D_202E(icon)); - } - finally - { - num = ((disposable == null) ? 669978987 : 669978984); - while (true) - { - int num5 = num; - num3 = 669978985; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 669978984; - break; - case 1: - _206F_200C_200B_202D_202B_200D_200C_206A_202C_200B_202C_206C_202A_200F_200E_206D_206D_206D_202E_200F_202C_206A_206B_202E_202D_206C_202C_206C_202D_200C_202E_200E_202D_206C_206B_202C_206E_206C_206D_206D_202E(disposable); - num = 669978987; - break; - case 2: - goto end_IL_00e6; - } - continue; - end_IL_00e6: - break; - } - } - bool num6 = _202B_200D_206D_202D_202E_206F_200C_202D_206E_206A_202A_200B_202A_202E_206C_200F_206B_202D_202A_206D_206D_206C_200E_206D_202A_200C_202B_200D_202C_206A_200E_202D_202D_202A_202C_206A_202B_206C_202D_200F_202E(); - _202E_200E_206F_200C_206F_200B_206C_200F_206F_206C_206C_200F_206B_200C_200C_206B_206B_206E_206E_206F_200E_206C_200C_206A_206E_206B_202E_202B_206F_200F_200F_200C_202D_206E_206F_200B_200D_206F_200C_202E_202E(); - if (extraPadding > 0f) - { - _206F_200D_200F_200B_200F_200C_206C_206A_202E_206F_206D_200E_202B_202B_202B_200C_206A_206A_200C_200C_200C_200D_202D_200B_206F_202E_206F_202D_206F_200C_206A_202A_202D_200B_202D_202E_206C_202D_206C_200D_202E(_202B_200B_202E_206C_200E_202B_202C_200E_200E_202E_200D_202C_206D_200B_206C_202D_200C_206C_206A_206D_200C_202B_206F_206F_202D_200C_206D_206E_202B_200F_200C_206E_202C_202D_200D_206E_200C_206D_206A_200E_202E() + extraPadding); - } - _206A_200F_206F_202B_202A_206E_200D_202E_202B_200E_200B_206F_206C_200D_206E_206F_200C_206F_200B_202E_206F_202E_206A_206C_200E_200D_202D_200E_202A_206A_200C_202D_200E_202C_206B_200E_206A_206D_200D_200E_202E((ImU8String)text); - return num6 | _202B_200D_206D_202D_202E_206F_200C_202D_206E_206A_202A_200B_202A_202E_206C_200F_206B_202D_202A_206D_206D_206C_200E_206D_202A_200C_202B_200D_202C_206A_200E_202D_202D_202A_202C_206A_202B_206C_202D_200F_202E(); - } - } + UiThemeUtils.StatusBadge(text, color, icon); + return ImGui.IsItemHovered(); } + if (extraPadding > 0f) + { + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + extraPadding); + } + using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push()) + { + ImGui.TextColored(in color, icon.ToIconString()); + } + bool num = ImGui.IsItemHovered(); + ImGui.SameLine(); + if (extraPadding > 0f) + { + ImGui.SetCursorPosX(ImGui.GetCursorPosX() + extraPadding); + } + ImGui.TextUnformatted(text); + return num | ImGui.IsItemHovered(); } public bool ChecklistItem(string text, bool complete, Vector4? colorOverride = null) { - return ChecklistItem(text, colorOverride ?? (complete ? _200C_206E_202D_202E_200B_202D_200F_206B_206C_202A_200F_202A_202E_206B_206E_200D_200F_202B_202B_202A_206F_200C_206D_202E_200E_202C_206D_206F_202B_200C_202B_206D_200C_200D_202C_200E_206E_200B_206D_206A_202E() : _202A_200B_200B_202A_206A_206F_200D_200E_202D_202E_206A_200F_200E_206E_202B_206D_202C_206B_206F_200E_206D_206F_202A_202C_206D_206F_206E_200F_200E_206F_200C_202C_206B_202D_206E_202E_202E_202D_202B_202E_202E()), complete ? FontAwesomeIcon.Check : FontAwesomeIcon.Times); - } - - static bool _202B_200D_206D_202D_202E_206F_200C_202D_206E_206A_202A_200B_202A_202E_206C_200F_206B_202D_202A_206D_206D_206C_200E_206D_202A_200C_202B_200D_202C_206A_200E_202D_202D_202A_202C_206A_202B_206C_202D_200F_202E() - { - return ImGui.IsItemHovered(); - } - - static float _202B_200B_202E_206C_200E_202B_202C_200E_200E_202E_200D_202C_206D_200B_206C_202D_200C_206C_206A_206D_200C_202B_206F_206F_202D_200C_206D_206E_202B_200F_200C_206E_202C_202D_200D_206E_200C_206D_206A_200E_202E() - { - return ImGui.GetCursorPosX(); - } - - static void _206F_200D_200F_200B_200F_200C_206C_206A_202E_206F_206D_200E_202B_202B_202B_200C_206A_206A_200C_200C_200C_200D_202D_200B_206F_202E_206F_202D_206F_200C_206A_202A_202D_200B_202D_202E_206C_202D_206C_200D_202E(float P_0) - { - ImGui.SetCursorPosX(P_0); - } - - static IUiBuilder _202A_206C_206E_202C_206F_206F_206D_206A_206B_200F_206D_206A_206B_200C_202A_206A_200E_206F_200D_206B_206E_200B_206F_206F_200C_202A_206E_202C_200E_206A_206D_206E_206D_202B_202C_206C_202C_202C_206C_206B_202E(IDalamudPluginInterface P_0) - { - return P_0.UiBuilder; - } - - static IFontHandle _206B_202B_206A_200F_202B_200F_200C_200B_206A_202B_200B_206F_200C_200F_202C_206E_200C_206F_202C_200D_202D_206A_200D_202D_200E_202D_206F_202B_200F_200F_202E_200C_200B_206A_206A_200E_206C_200E_206D_206F_202E(IUiBuilder P_0) - { - return P_0.IconFontFixedWidthHandle; - } - - static IDisposable _200C_206E_202B_202B_200B_206D_200B_200F_200C_200B_206D_206D_202C_206E_202C_200C_206C_200E_200E_202A_206A_206D_206A_206B_202C_202A_200E_206B_202E_202E_200F_200F_200F_202A_206D_206B_202D_202E_206E_200C_202E(IFontHandle P_0) - { - return P_0.Push(); - } - - static string _200F_200E_202A_206B_206A_206B_200B_200F_206B_206E_200B_206A_206D_206B_202B_206A_206B_206B_206F_206A_202C_202B_200C_206A_200F_206C_206B_202C_202A_202A_202B_206F_200F_202D_200F_200E_206C_206E_202A_200D_202E(FontAwesomeIcon P_0) - { - return P_0.ToIconString(); - } - - static void _206B_206A_206D_200F_202C_202C_200D_206B_206E_202B_202B_206B_200B_206C_202B_202A_200D_206B_206C_202B_206C_200B_200B_202D_206F_200E_206D_202D_206B_202B_202D_202B_202E_202E_206D_206D_206E_206C_206C_202E(ref Vector4 P_0, ImU8String P_1) - { - ImGui.TextColored(in P_0, P_1); - } - - static void _206F_200C_200B_202D_202B_200D_200C_206A_202C_200B_202C_206C_202A_200F_200E_206D_206D_206D_202E_200F_202C_206A_206B_202E_202D_206C_202C_206C_202D_200C_202E_200E_202D_206C_206B_202C_206E_206C_206D_206D_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _202E_200E_206F_200C_206F_200B_206C_200F_206F_206C_206C_200F_206B_200C_200C_206B_206B_206E_206E_206F_200E_206C_200C_206A_206E_206B_202E_202B_206F_200F_200F_200C_202D_206E_206F_200B_200D_206F_200C_202E_202E() - { - ImGui.SameLine(); - } - - static void _206A_200F_206F_202B_202A_206E_200D_202E_202B_200E_200B_206F_206C_200D_206E_206F_200C_206F_200B_202E_206F_202E_206A_206C_200E_200D_202D_200E_202A_206A_200C_202D_200E_202C_206B_200E_206A_206D_200D_200E_202E(ImU8String P_0) - { - ImGui.TextUnformatted(P_0); - } - - static Vector4 _202A_200B_200B_202A_206A_206F_200D_200E_202D_202E_206A_200F_200E_206E_202B_206D_202C_206B_206F_200E_206D_206F_202A_202C_206D_206F_206E_200F_200E_206F_200C_202C_206B_202D_206E_202E_202E_202D_202B_202E_202E() - { - return ImGuiColors.DalamudRed; - } - - static Vector4 _200C_206E_202D_202E_200B_202D_200F_206B_206C_202A_200F_202A_202E_206B_206E_200D_200F_202B_202B_202A_206F_200C_206D_202E_200E_202C_206D_206F_202B_200C_202B_206D_200C_200D_202C_200E_206E_200B_206D_206A_202E() - { - return ImGuiColors.ParsedGreen; + return ChecklistItem(text, colorOverride ?? (complete ? ImGuiColors.ParsedGreen : ImGuiColors.DalamudRed), complete ? FontAwesomeIcon.Check : FontAwesomeIcon.Times); } } diff --git a/Questionable/Questionable.csproj b/Questionable/Questionable.csproj index f1ab561..d7a26d1 100644 --- a/Questionable/Questionable.csproj +++ b/Questionable/Questionable.csproj @@ -43,38 +43,38 @@ C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\Lumina.dll - - ..\..\SmartNav.Model.dll - C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\Dalamud.Bindings.ImGui.dll C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\Lumina.Excel.dll + + ..\..\SmartNav.Model.dll + ..\..\JsonSchema.Net.dll ..\..\JsonPointer.Net.dll + + C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\InteropGenerator.Runtime.dll + ..\..\Microsoft.Extensions.Logging.dll - - ..\..\QuestPaths.dll - - - ..\..\GatheringPaths.dll - ..\..\FatePaths.dll + + ..\..\GatheringPaths.dll + + + ..\..\QuestPaths.dll + ..\..\SeasonalDutyPaths.dll - - C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\InteropGenerator.Runtime.dll - \ No newline at end of file diff --git a/Questionable/Questionable/ConfigMigration.cs b/Questionable/Questionable/ConfigMigration.cs index 39de96c..5e56240 100644 --- a/Questionable/Questionable/ConfigMigration.cs +++ b/Questionable/Questionable/ConfigMigration.cs @@ -1,4 +1,3 @@ -using System.Collections.Generic; using Questionable.Controller.Conditions; using Questionable.Model.Questing; @@ -9,75 +8,36 @@ internal static class ConfigMigration public static bool Run(Configuration config) { bool result = false; - int num = ((!RemoveStaleElementIds(config)) ? 64859374 : 64859372); - while (true) + if (RemoveStaleElementIds(config)) { - int num2 = num; - int num3 = 64859370; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = ((config.Stop.Conditions.RemoveAll((StopCondition c) => c == null) <= 0) ? 64859375 : 64859371); - break; - case 1: - result = true; - num = 64859375; - break; - case 5: - num = ((!MigrateStopConditions(config.Stop)) ? 64859373 : 64859369); - break; - case 3: - result = true; - num = 64859373; - break; - case 7: - num = ((!MigrateEquipMode(config.General)) ? 64859362 : 64859368); - break; - case 8: - return result; - case 2: - result = true; - num = 64859362; - break; - case 0: - num = 64859372; - break; - case 6: - result = true; - num = 64859374; - break; - } + result = true; } + if (config.Stop.Conditions.RemoveAll((StopCondition c) => c == null) > 0) + { + result = true; + } + if (MigrateStopConditions(config.Stop)) + { + result = true; + } + if (MigrateEquipMode(config.General)) + { + result = true; + } + return result; } private static bool MigrateEquipMode(Configuration.GeneralConfiguration general) { bool? useSmartEquipRecommended = general.UseSmartEquipRecommended; - int num = ((!useSmartEquipRecommended.HasValue) ? 470555278 : 470555279); - bool valueOrDefault = default(bool); - while (true) + if (useSmartEquipRecommended.HasValue) { - int num2 = num; - int num3 = 470555277; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return false; - case 2: - valueOrDefault = useSmartEquipRecommended == true; - num = 470555276; - break; - case 0: - num = 470555279; - break; - case 1: - general.EquipMode = ((!valueOrDefault) ? Configuration.EEquipMode.GameRecommended : Configuration.EEquipMode.Smart); - general.UseSmartEquipRecommended = null; - return true; - } + bool valueOrDefault = useSmartEquipRecommended == true; + general.EquipMode = ((!valueOrDefault) ? Configuration.EEquipMode.GameRecommended : Configuration.EEquipMode.Smart); + general.UseSmartEquipRecommended = null; + return true; } + return false; } private static bool RemoveStaleElementIds(Configuration config) @@ -85,176 +45,50 @@ internal static class ConfigMigration int num = config.General.PriorityQuests.RemoveAll((ElementId x) => (object)x == null); num += config.General.BlacklistedQuests.RemoveWhere((ElementId x) => (object)x == null); num += config.Stop.QuestsToStopAfter.RemoveAll((ElementId x) => (object)x == null); - using (Dictionary.ValueCollection.Enumerator enumerator = config.General.SavedPresets.Values.GetEnumerator()) + foreach (Configuration.SavedQuestPreset value in config.General.SavedPresets.Values) { - int num2 = 230107548; - while (true) - { - int num3 = num2; - int num4 = 230107549; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 1: - num2 = (enumerator.MoveNext() ? 230107550 : 230107551); - break; - case 3: - { - Configuration.SavedQuestPreset current = enumerator.Current; - num += current.QuestIds.RemoveAll((ElementId x) => (object)x == null); - num2 = 230107548; - break; - } - case 0: - num2 = 230107548; - break; - case 2: - goto end_IL_00be; - } - continue; - end_IL_00be: - break; - } + num += value.QuestIds.RemoveAll((ElementId x) => (object)x == null); } return num > 0; } private static bool MigrateStopConditions(Configuration.StopConfiguration stop) { - int num = ((stop.QuestsToStopAfter.Count > 0) ? 1734695112 : 1734695116); - ElementId current = default(ElementId); - EStopConditionMode value2 = default(EStopConditionMode); - int? value = default(int?); - EStopConditionMode mode = default(EStopConditionMode); - while (true) + if (stop.QuestsToStopAfter.Count <= 0 && stop.QuestStopModes.Count <= 0 && stop.QuestSequences.Count <= 0 && stop.LevelStopMode == EStopConditionMode.Off && stop.SequenceStopMode == EStopConditionMode.Off) { - int num2 = num; - int num3 = 1734695118; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return false; + } + if (stop.Conditions.Count == 0) + { + if (stop.LevelStopMode != EStopConditionMode.Off) { - default: - continue; - case 6: - num = 1734695118; - continue; - case 0: - if (stop.Conditions.Count == 0) - { - num = 1734695111; - continue; - } - break; - case 3: - num = ((stop.SequenceStopMode == EStopConditionMode.Off) ? 1734695115 : 1734695110); - continue; - case 7: - num = 1734695116; - continue; - case 10: - num = ((stop.QuestSequences.Count > 0) ? 1734695112 : 1734695114); - continue; - case 9: - num = ((stop.LevelStopMode == EStopConditionMode.Off) ? 1734695117 : 1734695106); - continue; - case 2: - num = ((stop.QuestStopModes.Count > 0) ? 1734695112 : 1734695108); - continue; - case 11: - return false; - case 8: - stop.Conditions.Add(new GlobalSequenceCondition - { - TargetSequence = stop.TargetSequence, - Mode = stop.SequenceStopMode - }); - num = 1734695115; - continue; - case 1: - if (stop.SequenceStopMode == EStopConditionMode.Off) - { - num = 1734695109; - continue; - } - goto case 6; - case 4: - num = ((stop.LevelStopMode != EStopConditionMode.Off) ? 1734695112 : 1734695119); - continue; - case 12: stop.Conditions.Add(new LevelCondition { TargetLevel = stop.TargetLevel, Mode = stop.LevelStopMode }); - num = 1734695117; - continue; - case 5: + } + if (stop.SequenceStopMode != EStopConditionMode.Off) { - using (List.Enumerator enumerator = stop.QuestsToStopAfter.GetEnumerator()) + stop.Conditions.Add(new GlobalSequenceCondition { - num = 222119304; - while (true) - { - int num7 = num; - num3 = 222119307; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - int num10; - int? obj; - int? sequence; - switch (num8 - (num9 + num9)) - { - case 0: - num10 = 2; - goto IL_02b5; - case 7: - current = enumerator.Current; - num = (stop.QuestStopModes.TryGetValue(_206B_200E_206E_206F_200F_202D_202A_200D_206E_206C_206E_206A_202A_200E_200D_200C_206F_206E_200E_200E_202E_202D_202B_202A_206E_202E_200E_200C_206F_206F_202D_206E_206F_200E_200D_206F_200E_206F_200B_206B_202E((object)current), out value2) ? 222119310 : 222119307); - break; - case 2: - num = 222119304; - break; - case 5: - num10 = (int)value2; - goto IL_02b5; - case 1: - obj = value; - goto IL_02e8; - case 3: - num = (enumerator.MoveNext() ? 222119308 : 222119309); - break; - case 4: - obj = null; - goto IL_02e8; - case 6: - goto end_IL_021c; - IL_02b5: - mode = (EStopConditionMode)num10; - num = (stop.QuestSequences.TryGetValue(_206B_200E_206E_206F_200F_202D_202A_200D_206E_206C_206E_206A_202A_200E_200D_200C_206F_206E_200E_200E_202E_202D_202B_202A_206E_202E_200E_200C_206F_206F_202D_206E_206F_200E_200D_206F_200E_206F_200B_206B_202E((object)current), out value) ? 222119306 : 222119311); - break; - IL_02e8: - sequence = obj; - stop.Conditions.Add(new QuestCompleteCondition - { - QuestId = current, - Sequence = sequence, - Mode = mode - }); - num = 222119304; - break; - } - continue; - end_IL_021c: - break; - } - } - break; + TargetSequence = stop.TargetSequence, + Mode = stop.SequenceStopMode + }); } + foreach (ElementId item in stop.QuestsToStopAfter) + { + EStopConditionMode value; + EStopConditionMode mode = (stop.QuestStopModes.TryGetValue(item.ToString(), out value) ? value : EStopConditionMode.Stop); + int? value2; + int? sequence = (stop.QuestSequences.TryGetValue(item.ToString(), out value2) ? value2 : ((int?)null)); + stop.Conditions.Add(new QuestCompleteCondition + { + QuestId = item, + Sequence = sequence, + Mode = mode + }); } - break; } stop.QuestsToStopAfter.Clear(); stop.QuestStopModes.Clear(); @@ -263,9 +97,4 @@ internal static class ConfigMigration stop.SequenceStopMode = EStopConditionMode.Off; return true; } - - static string _206B_200E_206E_206F_200F_202D_202A_200D_206E_206C_206E_206A_202A_200E_200D_200C_206F_206E_200E_200E_202E_202D_202B_202A_206E_202E_200E_200C_206F_206F_202D_206E_206F_200E_200D_206F_200E_206F_200B_206B_202E(object P_0) - { - return P_0.ToString(); - } } diff --git a/Questionable/Questionable/Configuration.cs b/Questionable/Questionable/Configuration.cs index f47c91b..bf41434 100644 --- a/Questionable/Questionable/Configuration.cs +++ b/Questionable/Questionable/Configuration.cs @@ -1,6 +1,6 @@ using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; +using System.Reflection; using Dalamud.Configuration; using Dalamud.Game.Text; using FFXIVClientStructs.FFXIV.Client.UI.Agent; @@ -14,6 +14,7 @@ using Questionable.Model.Questing; namespace Questionable; +[Obfuscation(Feature = "-rename", Exclude = false, ApplyToMembers = true)] internal sealed class Configuration : IPluginConfiguration { internal sealed class GeneralConfiguration @@ -104,7 +105,7 @@ internal sealed class Configuration : IPluginConfiguration public List Conditions { get; set; } = new List(); - public string CommandAfterStop { get; set; } = 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(-1720149641); + public string CommandAfterStop { get; set; } = ""; [Obsolete("Use Conditions list. Kept only to deserialize pre-unified configs; ConfigMigration clears them on first load.")] [JsonProperty(ItemConverterType = typeof(ElementIdNConverter))] @@ -127,11 +128,6 @@ internal sealed class Configuration : IPluginConfiguration [Obsolete("Use Conditions list. Kept only to deserialize pre-unified configs; ConfigMigration clears them on first load.")] public int TargetSequence { get; set; } = 1; - - [MethodImpl(MethodImplOptions.NoInlining)] - public StopConfiguration() - { - } } internal sealed class DutyConfiguration @@ -212,7 +208,7 @@ internal sealed class Configuration : IPluginConfiguration public bool PlaySound { get; set; } - public string SoundFile { get; set; } = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(2076323066); + public string SoundFile { get; set; } = "Alarm01.wav"; public bool OnlyWhenUnfocused { get; set; } = true; @@ -223,11 +219,6 @@ internal sealed class Configuration : IPluginConfiguration public bool AlertForSnipe { get; set; } = true; public bool AlertForStopConditions { get; set; } = true; - - [MethodImpl(MethodImplOptions.NoInlining)] - public NotificationConfiguration() - { - } } internal sealed class AdvancedConfiguration @@ -352,73 +343,26 @@ internal sealed class Configuration : IPluginConfiguration { public override void WriteJson(JsonWriter writer, ElementId? value, JsonSerializer serializer) { - _202C_200C_202E_200D_200B_202C_206A_200D_206F_200D_206B_206C_206B_200C_206C_200E_202E_200F_200E_200D_202E_206A_202E_200C_200D_200D_202C_202E_202D_200D_202D_206B_200C_206B_202C_200F_206D_202C_200F_202B_202E(writer, ((object)value != null) ? _200C_206A_200C_206C_202C_206B_206D_206F_206F_200E_202D_200E_202C_200C_200D_206F_200C_202A_200F_206D_206D_200C_206B_206F_202A_200E_202D_202A_200D_200F_200F_202A_202C_200B_200B_206E_202A_200B_206E_206E_202E((object)value) : null); + writer.WriteValue(value?.ToString()); } public override ElementId? ReadJson(JsonReader reader, Type objectType, ElementId? existingValue, bool hasExistingValue, JsonSerializer serializer) { try { - object obj = _200F_200C_202D_206A_206A_206A_200F_200D_206D_200D_200D_202D_202E_206A_200D_206F_200E_200B_202C_206C_200C_206B_202B_202B_200C_200C_206F_200F_200B_206E_200B_200C_200C_202C_200D_206B_206E_200E_202B_206C_202E(reader); - string text = ((obj != null) ? _200C_206A_200C_206C_202C_206B_206D_206F_206F_200E_202D_200E_202C_200C_200D_206F_200C_202A_200F_206D_206D_200C_206B_206F_202A_200E_202D_202A_200D_200F_200F_202A_202C_200B_200B_206E_202A_200B_206E_206E_202E(obj) : null); - int num = ((text != null) ? 919867290 : 919867288); - object result; - ElementId elementId = default(ElementId); - while (true) + string text = reader.Value?.ToString(); + if (text == null) { - int num2 = num; - int num3 = 919867289; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - default: - continue; - case 4: - num = 919867288; - continue; - case 1: - return null; - case 2: - result = null; - break; - case 3: - num = (_202E_202E_200F_206F_202E_200C_200E_206D_206C_206E_200B_202C_200E_202E_206D_202C_200F_200E_206F_200E_200C_206B_202A_206B_206C_202E_206B_200C_200B_206F_206F_206A_206D_200F_200B_206F_200F_206E_206E_202D_202E(text, ref elementId) ? 919867289 : 919867291); - continue; - case 0: - result = elementId; - break; - } - break; + return null; } - return (ElementId?)result; + ElementId elementId; + return ElementId.TryFromString(text, out elementId) ? elementId : null; } catch (Exception) { return null; } } - - static string _200C_206A_200C_206C_202C_206B_206D_206F_206F_200E_202D_200E_202C_200C_200D_206F_200C_202A_200F_206D_206D_200C_206B_206F_202A_200E_202D_202A_200D_200F_200F_202A_202C_200B_200B_206E_202A_200B_206E_206E_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202C_200C_202E_200D_200B_202C_206A_200D_206F_200D_206B_206C_206B_200C_206C_200E_202E_200F_200E_200D_202E_206A_202E_200C_200D_200D_202C_202E_202D_200D_202D_206B_200C_206B_202C_200F_206D_202C_200F_202B_202E(JsonWriter P_0, string P_1) - { - P_0.WriteValue(P_1); - } - - static object _200F_200C_202D_206A_206A_206A_200F_200D_206D_200D_200D_202D_202E_206A_200D_206F_200E_200B_202C_206C_200C_206B_202B_202B_200C_200C_206F_200F_200B_206E_200B_200C_200C_202C_200D_206B_206E_200E_202B_206C_202E(JsonReader P_0) - { - return P_0.Value; - } - - static bool _202E_202E_200F_206F_202E_200C_200E_206D_206C_206E_200B_202C_200E_202E_206D_202C_200F_200E_206F_200E_200C_206B_202A_206B_206C_202E_206B_200C_200B_206F_206F_206A_206D_200F_200B_206F_200F_206E_206E_202D_202E(string P_0, ref ElementId P_1) - { - return ElementId.TryFromString(P_0, out P_1); - } } public const int PluginSetupVersion = 6; @@ -447,13 +391,13 @@ internal sealed class Configuration : IPluginConfiguration public CustomDeliveryConfiguration CustomDeliveries { get; } = new CustomDeliveryConfiguration(); - public WindowConfig DebugWindowConfig { get; } = _206C_206E_202B_206F_202E_206D_200F_200F_206C_200D_200C_202D_202A_206D_200E_202D_202A_206A_202C_206E_200E_202B_202D_202A_202B_206B_206B_206D_202B_202E_206D_202E_200B_206A_202C_206B_200B_206A_202A_206D_202E(); + public WindowConfig DebugWindowConfig { get; } = new WindowConfig(); - public WindowConfig ConfigWindowConfig { get; } = _206C_206E_202B_206F_202E_206D_200F_200F_206C_200D_200C_202D_202A_206D_200E_202D_202A_206A_202C_206E_200E_202B_202D_202A_202B_206B_206B_206D_202B_202E_206D_202E_200B_206A_202C_206B_200B_206A_202A_206D_202E(); + public WindowConfig ConfigWindowConfig { get; } = new WindowConfig(); - public WindowConfig QuestValidationWindowConfig { get; set; } = _206C_206E_202B_206F_202E_206D_200F_200F_206C_200D_200C_202D_202A_206D_200E_202D_202A_206A_202C_206E_200E_202B_202D_202A_202B_206B_206B_206D_202B_202E_206D_202E_200B_206A_202C_206B_200B_206A_202A_206D_202E(); + public WindowConfig QuestValidationWindowConfig { get; set; } = new WindowConfig(); - public WindowConfig QuestSequenceWindowConfig { get; set; } = _206C_206E_202B_206F_202E_206D_200F_200F_206C_200D_200C_202D_202A_206D_200E_202D_202A_206A_202C_206E_200E_202B_202D_202A_202B_206B_206B_206D_202B_202E_206D_202E_200B_206A_202C_206B_200B_206A_202A_206D_202E(); + public WindowConfig QuestSequenceWindowConfig { get; set; } = new WindowConfig(); public string? JournalLastPage { get; set; } @@ -466,9 +410,4 @@ internal sealed class Configuration : IPluginConfiguration { PluginSetupCompleteVersion = 6; } - - static WindowConfig _206C_206E_202B_206F_202E_206D_200F_200F_206C_200D_200C_202D_202A_206D_200E_202D_202A_206A_202C_206E_200E_202B_202D_202A_202B_206B_206B_206D_202B_202E_206D_202E_200B_206A_202C_206B_200B_206A_202A_206D_202E() - { - return new WindowConfig(); - } } diff --git a/Questionable/Questionable/DalamudInitializer.cs b/Questionable/Questionable/DalamudInitializer.cs index a087068..8ae17af 100644 --- a/Questionable/Questionable/DalamudInitializer.cs +++ b/Questionable/Questionable/DalamudInitializer.cs @@ -1,12 +1,9 @@ using System; -using System.Runtime.CompilerServices; using Dalamud.Game.Gui.Toast; using Dalamud.Game.Text.SeStringHandling; -using Dalamud.Interface; using Dalamud.Interface.Windowing; using Dalamud.Plugin; using Dalamud.Plugin.Services; -using LLib.ImGui; using Microsoft.Extensions.Logging; using Questionable.Controller; using Questionable.Controller.Steps; @@ -77,26 +74,25 @@ internal sealed class DalamudInitializer : IDisposable _partyWatchdog = partyWatchdog; _reRouteService = reRouteService; _logger = logger; - _206F_206D_200B_206C_200C_202A_206F_206D_206F_206F_206F_206A_202B_200B_200F_200D_206F_202A_202A_200F_206C_202D_200F_206B_206D_202C_206C_202B_202D_206C_200B_202D_202A_202B_200F_206B_202A_202A_206D_202B_202E(_windowSystem, (IWindow)oneTimeSetupWindow); - _206F_206D_200B_206C_200C_202A_206F_206D_206F_206F_206F_206A_202B_200B_200F_200D_206F_202A_202A_200F_206C_202D_200F_206B_206D_202C_206C_202B_202D_206C_200B_202D_202A_202B_200F_206B_202A_202A_206D_202B_202E(_windowSystem, (IWindow)questWindow); - _206F_206D_200B_206C_200C_202A_206F_206D_206F_206F_206F_206A_202B_200B_200F_200D_206F_202A_202A_200F_206C_202D_200F_206B_206D_202C_206C_202B_202D_206C_200B_202D_202A_202B_200F_206B_202A_202A_206D_202B_202E(_windowSystem, (IWindow)configWindow); - _206F_206D_200B_206C_200C_202A_206F_206D_206F_206F_206F_206A_202B_200B_200F_200D_206F_202A_202A_200F_206C_202D_200F_206B_206D_202C_206C_202B_202D_206C_200B_202D_202A_202B_200F_206B_202A_202A_206D_202B_202E(_windowSystem, (IWindow)questSelectionWindow); - _206F_206D_200B_206C_200C_202A_206F_206D_206F_206F_206F_206A_202B_200B_200F_200D_206F_202A_202A_200F_206C_202D_200F_206B_206D_202C_206C_202B_202D_206C_200B_202D_202A_202B_200F_206B_202A_202A_206D_202B_202E(_windowSystem, (IWindow)questSequenceWindow); - _206F_206D_200B_206C_200C_202A_206F_206D_206F_206F_206F_206A_202B_200B_200F_200D_206F_202A_202A_200F_206C_202D_200F_206B_206D_202C_206C_202B_202D_206C_200B_202D_202A_202B_200F_206B_202A_202A_206D_202B_202E(_windowSystem, (IWindow)questValidationWindow); - _206F_206D_200B_206C_200C_202A_206F_206D_206F_206F_206F_206A_202B_200B_200F_200D_206F_202A_202A_200F_206C_202D_200F_206B_206D_202C_206C_202B_202D_206C_200B_202D_202A_202B_200F_206B_202A_202A_206D_202B_202E(_windowSystem, (IWindow)journalProgressWindow); - _206F_206D_200B_206C_200C_202A_206F_206D_206F_206F_206F_206A_202B_200B_200F_200D_206F_202A_202A_200F_206C_202D_200F_206B_206D_202C_206C_202B_202D_206C_200B_202D_202A_202B_200F_206B_202A_202A_206D_202B_202E(_windowSystem, (IWindow)fateSelectionWindow); - _206F_206D_200B_206C_200C_202A_206F_206D_206F_206F_206F_206A_202B_200B_200F_200D_206F_202A_202A_200F_206C_202D_200F_206B_206D_202C_206C_202B_202D_206C_200B_202D_202A_202B_200F_206B_202A_202A_206D_202B_202E(_windowSystem, (IWindow)seasonalDutySelectionWindow); - _206F_206D_200B_206C_200C_202A_206F_206D_206F_206F_206F_206A_202B_200B_200F_200D_206F_202A_202A_200F_206C_202D_200F_206B_206D_202C_206C_202B_202D_206C_200B_202D_202A_202B_200F_206B_202A_202A_206D_202B_202E(_windowSystem, (IWindow)changelogWindow); - _206E_200C_202B_202D_206A_206F_202C_200C_206D_200E_202A_202B_202E_206D_200E_206A_202D_202B_202B_206D_202B_206D_200B_202C_200F_200F_202A_206F_206E_202D_202A_202D_202B_200F_200F_206E_202A_200C_206C_206C_202E(_200E_202E_200B_200D_202C_200E_202E_202A_202B_200C_206A_202C_206C_206C_206A_202A_202E_206D_200D_200F_206F_206A_202C_202D_200E_200D_202E_200C_200D_206F_202E_200C_206D_200D_206A_206C_202E_202C_200C_202E(_pluginInterface), (Action)_windowSystem.Draw); - _202A_202D_202D_202A_206D_206E_200C_202D_206F_200B_202C_202E_202A_200B_202B_206E_200C_202D_200F_200E_202A_202C_202E_202B_206E_206D_206A_206C_206A_206F_200D_206C_206A_206F_206A_200F_200E_206F_202D_206B_202E(_200E_202E_200B_200D_202C_200E_202E_202A_202B_200C_206A_202C_206C_206C_206A_202A_202E_206D_200D_200F_206F_206A_202C_202D_200E_200D_202E_200C_200D_206F_202E_200C_206D_200D_206A_206C_202E_202C_200C_202E(_pluginInterface), (Action)ToggleQuestWindow); - _206B_200F_200D_202B_206D_200D_202C_200F_202B_206C_206E_202C_206A_206A_200D_206F_200E_206D_206C_202A_200E_206A_202D_200E_200E_202D_200E_206D_202C_202A_206E_206C_206B_206E_200C_206E_202B_206A_202D_202E_202E(_200E_202E_200B_200D_202C_200E_202E_202A_202B_200C_206A_202C_206C_206C_206A_202A_202E_206D_200D_200F_206F_206A_202C_202D_200E_200D_202E_200C_200D_206F_202E_200C_206D_200D_206A_206C_202E_202C_200C_202E(_pluginInterface), (Action)_configWindow.Toggle); - _206C_202E_202B_200F_202E_202A_206D_206E_206F_202A_206A_202C_202D_200D_202A_206C_202D_202A_200D_200E_206E_206D_202A_200C_206A_206A_202B_202B_202C_206B_206A_202A_206A_200B_202C_200C_202D_206A_206E_200F_202E(_framework, (IFramework.OnUpdateDelegate)FrameworkUpdate); - _206A_202B_206D_202E_206C_206B_202C_200F_206B_206B_206B_200B_202B_200C_200E_200C_200E_200D_206E_200F_206E_202A_202C_202A_206F_202D_200B_200D_206A_206D_206B_206F_206C_200E_200C_202C_200E_202E_200C_206C_202E(_toastGui, (IToastGui.OnNormalToastDelegate)OnToast); - _202E_202E_200C_206A_202E_206C_200B_206B_206B_202E_200E_202C_202A_200B_200E_206F_202A_206E_202C_200E_206D_206E_206A_206B_206D_200E_202C_202E_200E_202B_200F_200E_200E_206C_202E_206F_200B_202B_202D_202E_202E(_toastGui, (IToastGui.OnErrorToastDelegate)OnErrorToast); - _200D_206D_206E_206A_202B_202B_202A_206A_206C_206C_206D_206E_202A_202E_206B_200C_206F_200C_200B_200E_206A_202C_200B_200D_200F_206C_200F_200E_200E_202B_206A_202D_206B_206D_202C_206E_202E_206E_202C_202E_202E(_toastGui, (IToastGui.OnQuestToastDelegate)OnQuestToast); + _windowSystem.AddWindow(oneTimeSetupWindow); + _windowSystem.AddWindow(questWindow); + _windowSystem.AddWindow(configWindow); + _windowSystem.AddWindow(questSelectionWindow); + _windowSystem.AddWindow(questSequenceWindow); + _windowSystem.AddWindow(questValidationWindow); + _windowSystem.AddWindow(journalProgressWindow); + _windowSystem.AddWindow(fateSelectionWindow); + _windowSystem.AddWindow(seasonalDutySelectionWindow); + _windowSystem.AddWindow(changelogWindow); + _pluginInterface.UiBuilder.Draw += _windowSystem.Draw; + _pluginInterface.UiBuilder.OpenMainUi += ToggleQuestWindow; + _pluginInterface.UiBuilder.OpenConfigUi += _configWindow.Toggle; + _framework.Update += FrameworkUpdate; + _toastGui.Toast += OnToast; + _toastGui.ErrorToast += OnErrorToast; + _toastGui.QuestToast += OnQuestToast; } - [MethodImpl(MethodImplOptions.NoInlining)] private void FrameworkUpdate(IFramework framework) { _partyWatchdog.Update(); @@ -111,106 +107,45 @@ internal sealed class DalamudInitializer : IDisposable } catch (MovementController.PathfindingFailedException ex) { - _206F_206A_200E_206D_200F_202A_200D_200F_200E_202C_206A_206B_202D_202E_200D_202D_202A_200B_206F_202E_200F_202B_206A_202A_200B_200E_206E_200C_200D_202B_206E_202D_206F_206A_202B_202C_200C_206D_200B_200C_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1232235884), new object[1] { _206F_200B_206C_202C_206D_202B_206F_202A_202E_202B_200E_202B_200E_206D_202D_206B_202B_200C_202A_206A_200F_206C_206C_202D_202B_200C_200E_200F_206F_202E_202C_202E_200F_206F_206C_202C_206C_202B_202D_202D_202E((Exception)ex) }); + _logger.LogInformation("Pathfinding interrupted ({Message}), attempting re-route", ex.Message); AttemptReRoute(); } try { _movementController.Update(); } - catch (MovementController.PathfindingFailedException ex2) + catch (MovementController.PathfindingFailedException exception) { - _206B_200B_202E_200F_206F_200D_200D_202B_202E_200F_202A_200E_202C_202D_202D_200B_206C_202E_206B_200F_202E_200C_202B_200B_200B_206B_206E_206D_206A_206B_206D_200F_206D_202C_206F_206A_202D_206F_202A_202E_202E((ILogger)_logger, (Exception)ex2, 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(610209674), Array.Empty()); + _logger.LogWarning(exception, "Pathfinding failed, attempting re-route"); AttemptReRoute(); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void AttemptReRoute() { - int num = ((!_gatheringController.IsRunning) ? (-136136920) : (-136136927)); - TaskQueue taskQueue = default(TaskQueue); - while (true) + if (!_gatheringController.IsRunning || !_gatheringController.TryReplanAfterMovementFailure()) { - int num2 = num; - int num3 = -136136924; - int num4 = num2; - object obj; - switch ((num4 | num3) - (num4 & num3)) + TaskQueue taskQueue = (_questController.IsRunning ? _questController.TaskQueue : (_fateController.IsRunning ? _fateController.TaskQueue : (_seasonalDutyController.IsRunning ? _seasonalDutyController.TaskQueue : (_fishingController.IsRunning ? _fishingController.TaskQueue : (_customDeliveryController.IsRunning ? _customDeliveryController.TaskQueue : null))))); + if (taskQueue == null || !_reRouteService.HandleMovementFailure(taskQueue)) { - default: - continue; - case 0: - _questController.Stop(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(721858876)); - _fateController.Stop(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(1724960299)); - _seasonalDutyController.Stop(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(1724960299)); - _attunementController.Stop(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(692347610)); - _customDeliveryController.Stop(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(721858876)); - _fishingController.Stop(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(704094293)); - num = -136136928; - continue; - case 2: - return; - case 3: - num = (_seasonalDutyController.IsRunning ? (-136136916) : (-136136914)); - continue; - case 5: - num = ((!_gatheringController.TryReplanAfterMovementFailure()) ? (-136136920) : (-136136922)); - continue; - case 7: - num = (_reRouteService.HandleMovementFailure(taskQueue) ? (-136136928) : (-136136924)); - continue; - case 12: - num = (_questController.IsRunning ? (-136136917) : (-136136923)); - continue; - case 1: - num = (_fateController.IsRunning ? (-136136926) : (-136136921)); - continue; - case 4: - return; - case 8: - obj = _seasonalDutyController.TaskQueue; - break; - case 14: - obj = _customDeliveryController.TaskQueue; - break; - case 13: - num = -136136927; - continue; - case 6: - obj = _fateController.TaskQueue; - break; - case 10: - num = (_fishingController.IsRunning ? (-136136908) : (-136136913)); - continue; - case 11: - num = (_customDeliveryController.IsRunning ? (-136136918) : (-136136915)); - continue; - case 16: - obj = _fishingController.TaskQueue; - break; - case 9: - obj = null; - break; - case 15: - obj = _questController.TaskQueue; - break; + _questController.Stop("Pathfinding failed"); + _fateController.Stop("Pathfinding failed"); + _seasonalDutyController.Stop("Pathfinding failed"); + _attunementController.Stop("Pathfinding failed"); + _customDeliveryController.Stop("Pathfinding failed"); + _fishingController.Stop("Pathfinding failed"); } - taskQueue = (TaskQueue)obj; - num = ((taskQueue == null) ? (-136136924) : (-136136925)); } } - [MethodImpl(MethodImplOptions.NoInlining)] private void OnToast(ref SeString message, ref ToastOptions options, ref bool isHandled) { - _200C_206F_202A_200E_202E_200F_200F_200B_206D_200B_202E_206E_200C_206D_206F_202E_206C_206B_206B_202C_202A_200B_200B_200C_206B_200F_200F_206F_202A_202B_200D_202E_200D_206B_200E_202E_200D_202C_200C_200D_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-431443724), new object[1] { message }); + _logger.LogTrace("Normal Toast: {Message}", message); } - [MethodImpl(MethodImplOptions.NoInlining)] private void OnErrorToast(ref SeString message, ref bool isHandled) { - _200C_206F_202A_200E_202E_200F_200F_200B_206D_200B_202E_206E_200C_206D_206F_202E_206C_206B_206B_202C_202A_200B_200B_200C_206B_200F_200F_206F_202A_202B_200D_202E_200D_206B_200E_202E_200D_202C_200C_200D_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(953946217), new object[1] { message }); + _logger.LogTrace("Error Toast: {Message}", message); _fateController.OnErrorToast(ref message, ref isHandled); _seasonalDutyController.OnErrorToast(ref message, ref isHandled); _attunementController.OnErrorToast(ref message, ref isHandled); @@ -218,167 +153,32 @@ internal sealed class DalamudInitializer : IDisposable _fishingController.OnErrorToast(ref message, ref isHandled); } - [MethodImpl(MethodImplOptions.NoInlining)] private void OnQuestToast(ref SeString message, ref QuestToastOptions options, ref bool isHandled) { - _200C_206F_202A_200E_202E_200F_200F_200B_206D_200B_202E_206E_200C_206D_206F_202E_206C_206B_206B_202C_202A_200B_200B_200C_206B_200F_200F_206F_202A_202B_200D_202E_200D_206B_200E_202E_200D_202C_200C_200D_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-364597471), new object[1] { message }); + _logger.LogTrace("Quest Toast: {Message}", message); } private void ToggleQuestWindow() { - int num = ((!_configuration.IsPluginSetupComplete()) ? (-710409484) : (-710409483)); - while (true) + if (_configuration.IsPluginSetupComplete()) { - int num2 = num; - int num3 = -710409484; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_004b; - case 0: - _202B_200C_200D_200B_202D_202C_200B_202A_206C_206A_200E_202B_202E_202D_206C_206E_202B_200E_200D_206E_200E_206D_200F_206D_200E_206D_202B_206F_206C_206A_200B_206F_200B_206F_202A_206B_206C_200F_206E_202A_202E((LWindow)_oneTimeSetupWindow, true); - return; - case 1: - _206E_206C_200F_206B_206E_200C_202A_206C_200F_200C_206F_206B_200C_206D_206C_200D_202A_206E_202D_206B_200C_202B_206B_200F_206E_206C_202B_206C_202D_202E_206E_206C_206F_206E_206F_206D_202D_202E_202C_202D_202E((LWindow)_questWindow); - return; - } - continue; - IL_004b: - num = -710409483; + _questWindow.ToggleOrUncollapse(); + } + else + { + _oneTimeSetupWindow.IsOpenAndUncollapsed = true; } } public void Dispose() { - _202E_206E_200E_202C_206B_206D_202C_202A_202B_202C_202B_202A_202A_202B_200D_202E_200C_202E_202D_202B_202A_202E_206E_206E_200F_206E_206F_206A_202C_206D_206A_200F_206D_206F_206D_206D_206C_200D_200C_202C_202E(_toastGui, (IToastGui.OnQuestToastDelegate)OnQuestToast); - _206D_200F_206C_202E_206A_202A_200D_202C_206D_202E_200C_200D_206A_206E_206E_202A_206B_200D_200D_200E_206D_206F_202C_202B_206E_202D_206D_200B_200C_200E_206F_200E_202E_202E_202A_200D_202E_202A_206D_202E(_toastGui, (IToastGui.OnErrorToastDelegate)OnErrorToast); - _202D_200C_200C_202D_200F_202D_202A_200B_200E_200C_202D_202C_200C_202D_206D_200B_202D_206A_206B_200D_202E_206F_206F_206E_200D_200F_200F_206B_200D_206F_200C_206C_200C_202A_206A_202C_200C_200E_206E_206C_202E(_toastGui, (IToastGui.OnNormalToastDelegate)OnToast); - _206E_202C_202C_206C_202B_200E_202A_202A_200D_206E_206C_202D_202E_200F_206E_206E_200B_202C_202B_202A_202E_206F_200D_202D_202D_202D_206C_202D_202E_206B_200D_200C_202D_202C_202A_206A_206A_206F_206A_200C_202E(_framework, (IFramework.OnUpdateDelegate)FrameworkUpdate); - _200C_202A_200D_200E_200C_200C_206D_206F_200F_206B_200D_206A_206B_206F_206C_202E_200D_202B_200F_206E_206F_206F_200C_200B_200E_206D_202D_202D_202C_202B_206B_206C_202E_200D_206F_206E_200E_202E_206A_206C_202E(_200E_202E_200B_200D_202C_200E_202E_202A_202B_200C_206A_202C_206C_206C_206A_202A_202E_206D_200D_200F_206F_206A_202C_202D_200E_200D_202E_200C_200D_206F_202E_200C_206D_200D_206A_206C_202E_202C_200C_202E(_pluginInterface), (Action)_configWindow.Toggle); - _200C_202A_206E_200B_202B_200B_202B_202C_200B_206D_206E_202B_202D_206D_200E_200E_202A_202A_200D_206F_202E_202D_200C_206F_202B_206E_200B_206E_206C_202B_200E_206C_200B_200C_202D_202A_200C_202A_202E_202D_202E(_200E_202E_200B_200D_202C_200E_202E_202A_202B_200C_206A_202C_206C_206C_206A_202A_202E_206D_200D_200F_206F_206A_202C_202D_200E_200D_202E_200C_200D_206F_202E_200C_206D_200D_206A_206C_202E_202C_200C_202E(_pluginInterface), (Action)ToggleQuestWindow); - _206D_206B_206F_200C_206F_206A_206B_200B_202E_202D_202A_206C_206D_206B_200C_200C_202A_206D_202A_206A_206E_202B_200F_206A_202C_206B_200C_200C_200F_200E_206F_202A_206D_202D_202D_206E_206A_202D_202B_206A_202E(_200E_202E_200B_200D_202C_200E_202E_202A_202B_200C_206A_202C_206C_206C_206A_202A_202E_206D_200D_200F_206F_206A_202C_202D_200E_200D_202E_200C_200D_206F_202E_200C_206D_200D_206A_206C_202E_202C_200C_202E(_pluginInterface), (Action)_windowSystem.Draw); - _200D_200C_206E_200C_202C_200F_200F_202A_206B_202E_206B_206F_200D_200F_202C_200C_202C_202E_206B_202E_206E_202B_202A_206A_202E_202E_202E_206E_200E_206B_206C_202E_202E_200D_202D_200D_200E_200D_202D_206D_202E(_windowSystem); - } - - void IDisposable.Dispose() - { - //ILSpy generated this explicit interface implementation from .override directive in Dispose - this.Dispose(); - } - - static void _206F_206D_200B_206C_200C_202A_206F_206D_206F_206F_206F_206A_202B_200B_200F_200D_206F_202A_202A_200F_206C_202D_200F_206B_206D_202C_206C_202B_202D_206C_200B_202D_202A_202B_200F_206B_202A_202A_206D_202B_202E(WindowSystem P_0, IWindow P_1) - { - P_0.AddWindow(P_1); - } - - static IUiBuilder _200E_202E_200B_200D_202C_200E_202E_202A_202B_200C_206A_202C_206C_206C_206A_202A_202E_206D_200D_200F_206F_206A_202C_202D_200E_200D_202E_200C_200D_206F_202E_200C_206D_200D_206A_206C_202E_202C_200C_202E(IDalamudPluginInterface P_0) - { - return P_0.UiBuilder; - } - - static void _206E_200C_202B_202D_206A_206F_202C_200C_206D_200E_202A_202B_202E_206D_200E_206A_202D_202B_202B_206D_202B_206D_200B_202C_200F_200F_202A_206F_206E_202D_202A_202D_202B_200F_200F_206E_202A_200C_206C_206C_202E(IUiBuilder P_0, Action P_1) - { - P_0.Draw += P_1; - } - - static void _202A_202D_202D_202A_206D_206E_200C_202D_206F_200B_202C_202E_202A_200B_202B_206E_200C_202D_200F_200E_202A_202C_202E_202B_206E_206D_206A_206C_206A_206F_200D_206C_206A_206F_206A_200F_200E_206F_202D_206B_202E(IUiBuilder P_0, Action P_1) - { - P_0.OpenMainUi += P_1; - } - - static void _206B_200F_200D_202B_206D_200D_202C_200F_202B_206C_206E_202C_206A_206A_200D_206F_200E_206D_206C_202A_200E_206A_202D_200E_200E_202D_200E_206D_202C_202A_206E_206C_206B_206E_200C_206E_202B_206A_202D_202E_202E(IUiBuilder P_0, Action P_1) - { - P_0.OpenConfigUi += P_1; - } - - static void _206C_202E_202B_200F_202E_202A_206D_206E_206F_202A_206A_202C_202D_200D_202A_206C_202D_202A_200D_200E_206E_206D_202A_200C_206A_206A_202B_202B_202C_206B_206A_202A_206A_200B_202C_200C_202D_206A_206E_200F_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1) - { - P_0.Update += P_1; - } - - static void _206A_202B_206D_202E_206C_206B_202C_200F_206B_206B_206B_200B_202B_200C_200E_200C_200E_200D_206E_200F_206E_202A_202C_202A_206F_202D_200B_200D_206A_206D_206B_206F_206C_200E_200C_202C_200E_202E_200C_206C_202E(IToastGui P_0, IToastGui.OnNormalToastDelegate P_1) - { - P_0.Toast += P_1; - } - - static void _202E_202E_200C_206A_202E_206C_200B_206B_206B_202E_200E_202C_202A_200B_200E_206F_202A_206E_202C_200E_206D_206E_206A_206B_206D_200E_202C_202E_200E_202B_200F_200E_200E_206C_202E_206F_200B_202B_202D_202E_202E(IToastGui P_0, IToastGui.OnErrorToastDelegate P_1) - { - P_0.ErrorToast += P_1; - } - - static void _200D_206D_206E_206A_202B_202B_202A_206A_206C_206C_206D_206E_202A_202E_206B_200C_206F_200C_200B_200E_206A_202C_200B_200D_200F_206C_200F_200E_200E_202B_206A_202D_206B_206D_202C_206E_202E_206E_202C_202E_202E(IToastGui P_0, IToastGui.OnQuestToastDelegate P_1) - { - P_0.QuestToast += P_1; - } - - static string _206F_200B_206C_202C_206D_202B_206F_202A_202E_202B_200E_202B_200E_206D_202D_206B_202B_200C_202A_206A_200F_206C_206C_202D_202B_200C_200E_200F_206F_202E_202C_202E_200F_206F_206C_202C_206C_202B_202D_202D_202E(Exception P_0) - { - return P_0.Message; - } - - static void _206F_206A_200E_206D_200F_202A_200D_200F_200E_202C_206A_206B_202D_202E_200D_202D_202A_200B_206F_202E_200F_202B_206A_202A_200B_200E_206E_200C_200D_202B_206E_202D_206F_206A_202B_202C_200C_206D_200B_200C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static void _206B_200B_202E_200F_206F_200D_200D_202B_202E_200F_202A_200E_202C_202D_202D_200B_206C_202E_206B_200F_202E_200C_202B_200B_200B_206B_206E_206D_206A_206B_206D_200F_206D_202C_206F_206A_202D_206F_202A_202E_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogWarning(P_1, P_2, P_3); - } - - static void _200C_206F_202A_200E_202E_200F_200F_200B_206D_200B_202E_206E_200C_206D_206F_202E_206C_206B_206B_202C_202A_200B_200B_200C_206B_200F_200F_206F_202A_202B_200D_202E_200D_206B_200E_202E_200D_202C_200C_200D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogTrace(P_1, P_2); - } - - static void _206E_206C_200F_206B_206E_200C_202A_206C_200F_200C_206F_206B_200C_206D_206C_200D_202A_206E_202D_206B_200C_202B_206B_200F_206E_206C_202B_206C_202D_202E_206E_206C_206F_206E_206F_206D_202D_202E_202C_202D_202E(LWindow P_0) - { - P_0.ToggleOrUncollapse(); - } - - static void _202B_200C_200D_200B_202D_202C_200B_202A_206C_206A_200E_202B_202E_202D_206C_206E_202B_200E_200D_206E_200E_206D_200F_206D_200E_206D_202B_206F_206C_206A_200B_206F_200B_206F_202A_206B_206C_200F_206E_202A_202E(LWindow P_0, bool P_1) - { - P_0.IsOpenAndUncollapsed = P_1; - } - - static void _202E_206E_200E_202C_206B_206D_202C_202A_202B_202C_202B_202A_202A_202B_200D_202E_200C_202E_202D_202B_202A_202E_206E_206E_200F_206E_206F_206A_202C_206D_206A_200F_206D_206F_206D_206D_206C_200D_200C_202C_202E(IToastGui P_0, IToastGui.OnQuestToastDelegate P_1) - { - P_0.QuestToast -= P_1; - } - - static void _206D_200F_206C_202E_206A_202A_200D_202C_206D_202E_200C_200D_206A_206E_206E_202A_206B_200D_200D_200E_206D_206F_202C_202B_206E_202D_206D_200B_200C_200E_206F_200E_202E_202E_202A_200D_202E_202A_206D_202E(IToastGui P_0, IToastGui.OnErrorToastDelegate P_1) - { - P_0.ErrorToast -= P_1; - } - - static void _202D_200C_200C_202D_200F_202D_202A_200B_200E_200C_202D_202C_200C_202D_206D_200B_202D_206A_206B_200D_202E_206F_206F_206E_200D_200F_200F_206B_200D_206F_200C_206C_200C_202A_206A_202C_200C_200E_206E_206C_202E(IToastGui P_0, IToastGui.OnNormalToastDelegate P_1) - { - P_0.Toast -= P_1; - } - - static void _206E_202C_202C_206C_202B_200E_202A_202A_200D_206E_206C_202D_202E_200F_206E_206E_200B_202C_202B_202A_202E_206F_200D_202D_202D_202D_206C_202D_202E_206B_200D_200C_202D_202C_202A_206A_206A_206F_206A_200C_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1) - { - P_0.Update -= P_1; - } - - static void _200C_202A_200D_200E_200C_200C_206D_206F_200F_206B_200D_206A_206B_206F_206C_202E_200D_202B_200F_206E_206F_206F_200C_200B_200E_206D_202D_202D_202C_202B_206B_206C_202E_200D_206F_206E_200E_202E_206A_206C_202E(IUiBuilder P_0, Action P_1) - { - P_0.OpenConfigUi -= P_1; - } - - static void _200C_202A_206E_200B_202B_200B_202B_202C_200B_206D_206E_202B_202D_206D_200E_200E_202A_202A_200D_206F_202E_202D_200C_206F_202B_206E_200B_206E_206C_202B_200E_206C_200B_200C_202D_202A_200C_202A_202E_202D_202E(IUiBuilder P_0, Action P_1) - { - P_0.OpenMainUi -= P_1; - } - - static void _206D_206B_206F_200C_206F_206A_206B_200B_202E_202D_202A_206C_206D_206B_200C_200C_202A_206D_202A_206A_206E_202B_200F_206A_202C_206B_200C_200C_200F_200E_206F_202A_206D_202D_202D_206E_206A_202D_202B_206A_202E(IUiBuilder P_0, Action P_1) - { - P_0.Draw -= P_1; - } - - static void _200D_200C_206E_200C_202C_200F_200F_202A_206B_202E_206B_206F_200D_200F_202C_200C_202C_202E_206B_202E_206E_202B_202A_206A_202E_202E_202E_206E_200E_206B_206C_202E_202E_200D_202D_200D_200E_200D_202D_206D_202E(WindowSystem P_0) - { - P_0.RemoveAllWindows(); + _toastGui.QuestToast -= OnQuestToast; + _toastGui.ErrorToast -= OnErrorToast; + _toastGui.Toast -= OnToast; + _framework.Update -= FrameworkUpdate; + _pluginInterface.UiBuilder.OpenConfigUi -= _configWindow.Toggle; + _pluginInterface.UiBuilder.OpenMainUi -= ToggleQuestWindow; + _pluginInterface.UiBuilder.Draw -= _windowSystem.Draw; + _windowSystem.RemoveAllWindows(); } } diff --git a/Questionable/Questionable/QuestionablePlugin.cs b/Questionable/Questionable/QuestionablePlugin.cs index 2576b00..7c4d256 100644 --- a/Questionable/Questionable/QuestionablePlugin.cs +++ b/Questionable/Questionable/QuestionablePlugin.cs @@ -1,24 +1,20 @@ using System; -using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; +using System.Reflection; using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; using System.Threading; using System.Threading.Tasks; -using Dalamud.Configuration; using Dalamud.Interface.Windowing; using Dalamud.Plugin; using Dalamud.Plugin.Services; using LLib; using LLib.GameData; using LLib.Gear; -using LLib.ImGui; using LLib.Logging; using LLib.Notifications; using LLib.Shop; -using Lumina; using Lumina.Data; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; @@ -40,8 +36,6 @@ using Questionable.FatePaths; using Questionable.Functions; using Questionable.GatheringPaths; using Questionable.Model.Changelog; -using Questionable.Model.Gathering; -using Questionable.Model.Questing; using Questionable.Navigation; using Questionable.Notifications; using Questionable.QuestPaths; @@ -56,602 +50,12 @@ using Questionable.Windows.Setup; using Questionable.Windows.Utils; using SmartNav; using SmartNav.Data; -using SmartNav.Model.Navigation; namespace Questionable; +[Obfuscation(Feature = "-ctrl flow", Exclude = false, ApplyToMembers = true)] public sealed class QuestionablePlugin : IAsyncDalamudPlugin, IAsyncDisposable { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static System.Action _003C_003E9__22_0; - - public static Func _003C_003E9__22_7; - - public static Func _003C_003E9__22_3; - - public static Func _003C_003E9__22_4; - - public static Func _003C_003E9__22_5; - - public static Func _003C_003E9__22_6; - - public static Func _003C_003E9__24_0; - - public static Func _003C_003E9__24_1; - - public static Func _003C_003E9__26_0; - - public static Func _003C_003E9__26_1; - - public static Func _003C_003E9__26_2; - - public static Func _003C_003E9__28_0; - - internal void _003CLoadAsync_003Eb__22_0() - { - try - { - _206D_200F_206A_206E_202A_206D_202E_206A_202E_206F_202D_200E_202B_206B_202A_202B_200F_200C_202D_206A_206D_206C_200C_200B_200E_200B_206E_200D_202D_200C_200C_200E_200C_206C_206C_206B_206A_200D_202E_202C_202E(); - _200F_202D_200F_206B_206C_202C_206D_200C_206F_200E_202D_202C_202D_202E_202D_206B_200C_206B_206D_206E_206E_200D_206C_200F_206F_206D_206B_200D_202A_202B_202D_202D_202E_200F_200C_206B_206A_206E_202A_206D_202E(); - _202B_206B_206C_202D_200C_206C_200D_200E_206C_202D_202D_206D_202B_200E_200E_206F_200D_200B_206F_206D_202A_200D_202E_200E_206F_206E_202C_200F_200D_202B_202C_202C_200D_200C_200E_206A_202A_200B_200D_202E(); - _200F_200B_200C_206E_200B_206A_200B_202E_200D_200E_202D_200C_200D_202D_206F_206D_200E_206B_200E_206E_200E_200F_206F_206F_206D_200F_206A_206E_202D_202E_200E_206F_206A_200C_202C_206D_200E_202C_206E_200F_202E(); - } - catch (Exception) - { - } - } - - internal string? _003CLoadAsync_003Eb__22_7(string t) - { - if (t == null) - { - return null; - } - return _202E_206B_202D_206A_206B_206D_200C_202B_200D_206A_202C_206D_202A_200B_202B_206A_206A_202C_202D_202C_206D_202B_202D_206B_206E_200F_206D_206A_200B_200C_206C_200F_206D_202E_206E_200C_202D_200D_206A_202A_202E(t, _200C_200D_202A_202A_202D_206C_202D_200D_202A_200E_206E_206F_206A_202A_206A_200D_206E_206E_202A_200B_202A_206D_200F_200C_202E_202E_206E_206D_200B_202B_202E_200D_206D_206E_206A_202C_206F_202B_206A_200D_202E(t, '.') + 1); - } - - internal TimeSpan? _003CLoadAsync_003Eb__22_3() - { - return _200B_206D_202E_206A_206F_206A_202D_202C_202C_206E_202E_206A_206D_200B_206A_206C_200E_206F_202C_200E_206F_202B_202C_202E_206A_206F_206D_200B_202E_206A_206A_202A_200E_202C_202C_200D_200F_200D_206D_200D_202E(); - } - - internal TimeSpan? _003CLoadAsync_003Eb__22_4() - { - return _202D_200D_206F_202A_202D_200E_206D_202A_202C_206F_206E_200D_200B_206E_206A_202D_206A_200D_202E_202E_200D_200C_200C_202E_202E_202C_200F_202E_206C_202C_206A_202E_202B_200F_206B_206A_200C_206A_206A_200D_202E(); - } - - internal TimeSpan? _003CLoadAsync_003Eb__22_5() - { - return _202B_200F_202E_202E_202B_206C_202D_206E_206F_200D_206B_200D_200E_206F_206D_200F_206C_200C_200D_202C_206E_202E_206D_202E_206C_206C_206F_206C_206E_202C_200C_206A_206B_200E_200B_200C_202E_202A_202B_200C_202E(); - } - - internal TimeSpan? _003CLoadAsync_003Eb__22_6() - { - return _206F_200D_202B_202A_206C_206D_200C_200C_202E_202D_206A_202C_200F_206B_200D_206B_202E_202E_202B_202E_206B_202B_200B_202D_202E_202B_200C_202A_206C_200C_206A_202B_206D_202B_206E_202E_202A_202B_202D_206B_202E(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal SmartNavDataOptions _003CAddBasicFunctionsAndData_003Eb__24_0(IServiceProvider sp) - { - IDalamudPluginInterface requiredService = sp.GetRequiredService(); - DirectoryInfo directoryInfo = null; - _202D_200E_202B_202B_206C_202D_200B_206F_206E_202D_206B_202C_202B_206B_206A_200D_202C_202C_200D_200D_200D_202A_206B_200C_200E_206B_200D_206B_206C_202D_206E_200D_202D_206C_200C_206D_200C_206C_206D_200D_202E(_200D_202E_202D_202A_206F_206D_206F_206E_200F_200D_200B_202C_200B_206B_206E_200F_200C_200C_200D_200F_206A_200B_202D_206C_206B_206D_202C_206A_200D_202C_202A_202E_206D_206B_202E_200F_206F_202B_200B_206F_202E(sp.GetRequiredService())).TryGetValue(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1893535850), out Repository value); - return _200C_206E_206F_200F_202E_202A_200C_200F_202D_202A_202A_206A_202D_206D_202D_206C_206F_202C_200E_202A_200F_202E_200C_200D_206E_200E_200E_200F_200F_206D_200F_202B_206B_206D_200B_202A_202C_200C_206B_206E_202E(_200C_206D_206F_202A_200F_206A_202E_202C_206C_206F_200D_206A_202D_200B_200D_206A_200D_206F_206C_206D_202B_202E_200B_200C_206B_202C_200C_206A_202D_206B_206E_206C_206F_200F_200E_206C_202C_206A_202B_200D_202E(requiredService), directoryInfo, (value != null) ? _206E_206D_206D_202A_200C_202C_200B_202A_200B_202D_200C_200F_202C_206D_202D_206F_200D_200B_200B_202A_206F_202D_202C_206B_202C_206B_202C_202A_202E_200B_206C_206F_202E_202C_202E_200B_206E_202D_206F_202A_202E(value) : null); - } - - internal ITerritoryInfo _003CAddBasicFunctionsAndData_003Eb__24_1(IServiceProvider sp) - { - return sp.GetRequiredService(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - internal NpcPositionCacheOptions _003CAddControllers_003Eb__26_0(IServiceProvider sp) - { - _202D_200E_202B_202B_206C_202D_200B_206F_206E_202D_206B_202C_202B_206B_206A_200D_202C_202C_200D_200D_200D_202A_206B_200C_200E_206B_200D_206B_206C_202D_206E_200D_202D_206C_200C_206D_200C_206C_206D_200D_202E(_200D_202E_202D_202A_206F_206D_206F_206E_200F_200D_200B_202C_200B_206B_206E_200F_200C_200C_200D_200F_206A_200B_202D_206C_206B_206D_202C_206A_200D_202C_202A_202E_206D_206B_202E_200F_206F_202B_200B_206F_202E(sp.GetRequiredService())).TryGetValue(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1502740136), out Repository value); - NpcPositionCacheOptions npcPositionCacheOptions = _206F_206C_206C_206F_206B_202D_202E_206C_206B_202A_202C_200F_206D_206D_202D_202E_200D_200C_202C_202D_202C_200B_202B_206A_202E_202B_206E_206A_206E_200D_200E_202B_200C_206B_206B_202D_200D_206A_200F_200D_202E(); - _206C_206F_200B_206D_206E_206A_202B_200B_206C_206F_206F_202D_206C_202B_202A_206D_200B_200D_200F_202B_202C_200D_202E_200E_206A_200D_206E_200D_200D_206F_200E_202E_206B_200B_200E_206F_200C_202D_200B_202D_202E(npcPositionCacheOptions, _206A_200D_206D_200D_206F_202B_202D_202E_200D_202A_200D_200B_202A_200F_200E_200B_202E_200C_206A_206C_200B_202D_206D_200F_200D_202A_202E_206D_206E_206D_200C_206E_206B_206C_202C_202D_206D_202A_202B_200D_202E((FileSystemInfo)_200C_206D_206F_202A_200F_206A_202E_202C_206C_206F_200D_206A_202D_200B_200D_206A_200D_206F_206C_206D_202B_202E_200B_200C_206B_202C_200C_206A_202D_206B_206E_206C_206F_200F_200E_206C_202C_206A_202B_200D_202E(sp.GetRequiredService()))); - _200E_206E_202B_202B_200C_200B_206D_202D_200E_206F_200F_202D_202D_202E_206F_206E_200F_206B_206E_200F_202A_206A_206E_200D_206F_206B_202B_206B_200F_206F_202D_202A_206A_202A_202C_206C_206E_206B_206C_202C_202E(npcPositionCacheOptions, (value != null) ? _206E_206D_206D_202A_200C_202C_200B_202A_200B_202D_200C_200F_202C_206D_202D_206F_200D_200B_200B_202A_206F_202D_202C_206B_202C_206B_202C_202A_202E_200B_206C_206F_202E_202C_202E_200B_206E_202D_206F_202A_202E(value) : null); - _200C_200E_200E_200F_200B_200E_202D_206D_206E_206E_206E_202D_206F_200C_206C_202C_200E_206A_206F_200B_200D_206F_202A_206A_206A_200D_206D_206B_200B_206F_202D_206C_202E_206F_200D_206D_206B_202E_202B_206B_202E(npcPositionCacheOptions, TimeSpan.FromMilliseconds(10L)); - return npcPositionCacheOptions; - } - - internal ICombatModule _003CAddControllers_003Eb__26_1(IServiceProvider sp) - { - return sp.GetRequiredService(); - } - - internal ICombatModule _003CAddControllers_003Eb__26_2(IServiceProvider sp) - { - return sp.GetRequiredService(); - } - - internal IQuestValidator _003CAddQuestValidators_003Eb__28_0(IServiceProvider sp) - { - return sp.GetRequiredService(); - } - - static IReadOnlyDictionary _206D_200F_206A_206E_202A_206D_202E_206A_202E_206F_202D_200E_202B_206B_202A_202B_200F_200C_202D_206A_206D_206C_200C_200B_200E_200B_206E_200D_202D_200C_200C_200E_200C_206C_206C_206B_206A_200D_202E_202C_202E() - { - return AssemblyQuestLoader.GetQuests(); - } - - static IReadOnlyDictionary _200F_202D_200F_206B_206C_202C_206D_200C_206F_200E_202D_202C_202D_202E_202D_206B_200C_206B_206D_206E_206E_200D_206C_200F_206F_206D_206B_200D_202A_202B_202D_202D_202E_200F_200C_206B_206A_206E_202A_206D_202E() - { - return AssemblyGatheringLocationLoader.GetLocations(); - } - - static IReadOnlyDictionary _202B_206B_206C_202D_200C_206C_200D_200E_206C_202D_202D_206D_202B_200E_200E_206F_200D_200B_206F_206D_202A_200D_202E_200E_206F_206E_202C_200F_200D_202B_202C_202C_200D_200C_200E_206A_202A_200B_200D_202E() - { - return AssemblyFateDefinitionLoader.GetDefinitions(); - } - - static IReadOnlyDictionary _200F_200B_200C_206E_200B_206A_200B_202E_200D_200E_202D_200C_200D_202D_206F_206D_200E_206B_200E_206E_200E_200F_206F_206F_206D_200F_206A_206E_202D_202E_200E_206F_206A_200C_202C_206D_200E_202C_206E_200F_202E() - { - return AssemblySeasonalDutyDefinitionLoader.GetDefinitions(); - } - - static int _200C_200D_202A_202A_202D_206C_202D_200D_202A_200E_206E_206F_206A_202A_206A_200D_206E_206E_202A_200B_202A_206D_200F_200C_202E_202E_206E_206D_200B_202B_202E_200D_206D_206E_206A_202C_206F_202B_206A_200D_202E(string P_0, char P_1) - { - return P_0.LastIndexOf(P_1); - } - - static string _202E_206B_202D_206A_206B_206D_200C_202B_200D_206A_202C_206D_202A_200B_202B_206A_206A_202C_202D_202C_206D_202B_202D_206B_206E_200F_206D_206A_200B_200C_206C_200F_206D_202E_206E_200C_202D_200D_206A_202A_202E(string P_0, int P_1) - { - return P_0.Substring(P_1); - } - - static TimeSpan? _200B_206D_202E_206A_206F_206A_202D_202C_202C_206E_202E_206A_206D_200B_206A_206C_200E_206F_202C_200E_206F_202B_202C_202E_206A_206F_206D_200B_202E_206A_206A_202A_200E_202C_202C_200D_200F_200D_206D_200D_202E() - { - return AssemblyQuestLoader.DecodeDuration; - } - - static TimeSpan? _202D_200D_206F_202A_202D_200E_206D_202A_202C_206F_206E_200D_200B_206E_206A_202D_206A_200D_202E_202E_200D_200C_200C_202E_202E_202C_200F_202E_206C_202C_206A_202E_202B_200F_206B_206A_200C_206A_206A_200D_202E() - { - return AssemblyGatheringLocationLoader.DecodeDuration; - } - - static TimeSpan? _202B_200F_202E_202E_202B_206C_202D_206E_206F_200D_206B_200D_200E_206F_206D_200F_206C_200C_200D_202C_206E_202E_206D_202E_206C_206C_206F_206C_206E_202C_200C_206A_206B_200E_200B_200C_202E_202A_202B_200C_202E() - { - return AssemblyFateDefinitionLoader.DecodeDuration; - } - - static TimeSpan? _206F_200D_202B_202A_206C_206D_200C_200C_202E_202D_206A_202C_200F_206B_200D_206B_202E_202E_202B_202E_206B_202B_200B_202D_202E_202B_200C_202A_206C_200C_206A_202B_206D_202B_206E_202E_202A_202B_202D_206B_202E() - { - return AssemblySeasonalDutyDefinitionLoader.DecodeDuration; - } - - static GameData _200D_202E_202D_202A_206F_206D_206F_206E_200F_200D_200B_202C_200B_206B_206E_200F_200C_200C_200D_200F_206A_200B_202D_206C_206B_206D_202C_206A_200D_202C_202A_202E_206D_206B_202E_200F_206F_202B_200B_206F_202E(IDataManager P_0) - { - return P_0.GameData; - } - - static Dictionary _202D_200E_202B_202B_206C_202D_200B_206F_206E_202D_206B_202C_202B_206B_206A_200D_202C_202C_200D_200D_200D_202A_206B_200C_200E_206B_200D_206B_206C_202D_206E_200D_202D_206C_200C_206D_200C_206C_206D_200D_202E(GameData P_0) - { - return P_0.Repositories; - } - - static DirectoryInfo _200C_206D_206F_202A_200F_206A_202E_202C_206C_206F_200D_206A_202D_200B_200D_206A_200D_206F_206C_206D_202B_202E_200B_200C_206B_202C_200C_206A_202D_206B_206E_206C_206F_200F_200E_206C_202C_206A_202B_200D_202E(IDalamudPluginInterface P_0) - { - return P_0.ConfigDirectory; - } - - static string _206E_206D_206D_202A_200C_202C_200B_202A_200B_202D_200C_200F_202C_206D_202D_206F_200D_200B_200B_202A_206F_202D_202C_206B_202C_206B_202C_202A_202E_200B_206C_206F_202E_202C_202E_200B_206E_202D_206F_202A_202E(Repository P_0) - { - return P_0.Version; - } - - static SmartNavDataOptions _200C_206E_206F_200F_202E_202A_200C_200F_202D_202A_202A_206A_202D_206D_202D_206C_206F_202C_200E_202A_200F_202E_200C_200D_206E_200E_200E_200F_200F_206D_200F_202B_206B_206D_200B_202A_202C_200C_206B_206E_202E(DirectoryInfo P_0, DirectoryInfo P_1, string P_2) - { - return new SmartNavDataOptions(P_0, P_1, P_2); - } - - static NpcPositionCacheOptions _206F_206C_206C_206F_206B_202D_202E_206C_206B_202A_202C_200F_206D_206D_202D_202E_200D_200C_202C_202D_202C_200B_202B_206A_202E_202B_206E_206A_206E_200D_200E_202B_200C_206B_206B_202D_200D_206A_200F_200D_202E() - { - return new NpcPositionCacheOptions(); - } - - static string _206A_200D_206D_200D_206F_202B_202D_202E_200D_202A_200D_200B_202A_200F_200E_200B_202E_200C_206A_206C_200B_202D_206D_200F_200D_202A_202E_206D_206E_206D_200C_206E_206B_206C_202C_202D_206D_202A_202B_200D_202E(FileSystemInfo P_0) - { - return P_0.FullName; - } - - static void _206C_206F_200B_206D_206E_206A_202B_200B_206C_206F_206F_202D_206C_202B_202A_206D_200B_200D_200F_202B_202C_200D_202E_200E_206A_200D_206E_200D_200D_206F_200E_202E_206B_200B_200E_206F_200C_202D_200B_202D_202E(NpcPositionCacheOptions P_0, string P_1) - { - P_0.CacheDirectory = P_1; - } - - static void _200E_206E_202B_202B_200C_200B_206D_202D_200E_206F_200F_202D_202D_202E_206F_206E_200F_206B_206E_200F_202A_206A_206E_200D_206F_206B_202B_206B_200F_206F_202D_202A_206A_202A_202C_206C_206E_206B_206C_202C_202E(NpcPositionCacheOptions P_0, string P_1) - { - P_0.GameVersion = P_1; - } - - static void _200C_200E_200E_200F_200B_200E_202D_206D_206E_206E_206E_202D_206F_200C_206C_202C_200E_206A_206F_200B_200D_206F_202A_206A_206A_200D_206D_206B_200B_206F_202D_206C_202E_206F_200D_206D_206B_202E_202B_206B_202E(NpcPositionCacheOptions P_0, TimeSpan P_1) - { - P_0.ScanThrottle = P_1; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass30_0 - { - public IServiceProvider serviceProvider; - - internal QuestData _003CInitialize_003Eb__0() - { - return serviceProvider.GetRequiredService(); - } - - internal TerritoryData _003CInitialize_003Eb__1() - { - return serviceProvider.GetRequiredService(); - } - - internal GatheringData _003CInitialize_003Eb__2() - { - return serviceProvider.GetRequiredService(); - } - - internal AetheryteData _003CInitialize_003Eb__3() - { - return serviceProvider.GetRequiredService(); - } - - internal AetherCurrentData _003CInitialize_003Eb__4() - { - return serviceProvider.GetRequiredService(); - } - - internal DutyUnlockData _003CInitialize_003Eb__5() - { - return serviceProvider.GetRequiredService(); - } - - internal FishingData _003CInitialize_003Eb__6() - { - return serviceProvider.GetRequiredService(); - } - - internal AlliedSocietyData _003CInitialize_003Eb__7() - { - return serviceProvider.GetRequiredService(); - } - - internal WarpDataService _003CInitialize_003Eb__8() - { - return serviceProvider.GetRequiredService(); - } - - internal TaxiStandDataService _003CInitialize_003Eb__9() - { - return serviceProvider.GetRequiredService(); - } - - internal ZoneSubRegionService _003CInitialize_003Eb__10() - { - return serviceProvider.GetRequiredService(); - } - - internal IReadOnlyList _003CInitialize_003Eb__11() - { - return _200F_202C_202D_202D_202B_200E_206B_202C_202B_202A_202B_202A_200F_200B_200E_200E_206D_200E_200B_200B_202E_200F_200B_200D_206E_200D_200F_202C_200E_200E_200B_202A_206D_200D_200F_202B_202D_206E_200F_206F_202E(serviceProvider.GetRequiredService()); - } - - internal GameStateHelper _003CInitialize_003Eb__12() - { - return serviceProvider.GetRequiredService(); - } - - static IReadOnlyList _200F_202C_202D_202D_202B_200E_206B_202C_202B_202A_202B_202A_200F_200B_200E_200E_206D_200E_200B_200B_202E_200F_200B_200D_206E_200D_200F_202C_200E_200E_200B_202A_206D_200D_200F_202B_202D_206E_200F_206F_202E(IZoneBoundarySource P_0) - { - return P_0.GetBoundaries(); - } - } - - [StructLayout(LayoutKind.Auto)] - [CompilerGenerated] - private struct _003CDisposeAsync_003Ed__31 : IAsyncStateMachine - { - public int _003C_003E1__state; - - public AsyncValueTaskMethodBuilder _003C_003Et__builder; - - public QuestionablePlugin _003C_003E4__this; - - private ValueTaskAwaiter _003C_003Eu__1; - - private void MoveNext() - { - int num = _003C_003E1__state; - QuestionablePlugin questionablePlugin = _003C_003E4__this; - try - { - ValueTaskAwaiter awaiter; - if (num == 0) - { - awaiter = _003C_003Eu__1; - _003C_003Eu__1 = default(ValueTaskAwaiter); - num = (_003C_003E1__state = -1); - goto IL_007e; - } - if (questionablePlugin._serviceProvider != null) - { - awaiter = _206D_200F_206B_200F_200D_200F_206E_202C_202D_200F_206C_206C_200D_206E_206A_200D_200F_206F_206C_202A_202D_200F_202C_202E_202E_200B_202E_200C_202D_202B_202E_206C_202B_200E_206F_202E_202A_202A_202D_206C_202E(questionablePlugin._serviceProvider).GetAwaiter(); - if (!awaiter.IsCompleted) - { - num = (_003C_003E1__state = 0); - _003C_003Eu__1 = awaiter; - _003C_003Et__builder.AwaitUnsafeOnCompleted(ref awaiter, ref this); - return; - } - goto IL_007e; - } - goto end_IL_000e; - IL_007e: - awaiter.GetResult(); - end_IL_000e:; - } - catch (Exception exception) - { - _003C_003E1__state = -2; - _003C_003Et__builder.SetException(exception); - return; - } - _003C_003E1__state = -2; - _003C_003Et__builder.SetResult(); - } - - void IAsyncStateMachine.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - this.MoveNext(); - } - - [DebuggerHidden] - private void SetStateMachine(IAsyncStateMachine stateMachine) - { - _003C_003Et__builder.SetStateMachine(stateMachine); - } - - void IAsyncStateMachine.SetStateMachine(IAsyncStateMachine stateMachine) - { - //ILSpy generated this explicit interface implementation from .override directive in SetStateMachine - this.SetStateMachine(stateMachine); - } - - static ValueTask _206D_200F_206B_200F_200D_200F_206E_202C_202D_200F_206C_206C_200D_206E_206A_200D_200F_206F_206C_202A_202D_200F_202C_202E_202E_200B_202E_200C_202D_202B_202E_206C_202B_200E_206F_202E_202A_202A_202D_206C_202E(ServiceProvider P_0) - { - return P_0.DisposeAsync(); - } - } - - [StructLayout(LayoutKind.Auto)] - [CompilerGenerated] - private struct _003CLoadAsync_003Ed__22 : IAsyncStateMachine - { - public int _003C_003E1__state; - - public AsyncTaskMethodBuilder _003C_003Et__builder; - - public CancellationToken cancellationToken; - - public QuestionablePlugin _003C_003E4__this; - - private Stopwatch _003CtotalStopwatch_003E5__2; - - private Stopwatch _003CproviderStopwatch_003E5__3; - - private TaskAwaiter _003C_003Eu__1; - - [MethodImpl(MethodImplOptions.NoInlining)] - private void MoveNext() - { - int num = _003C_003E1__state; - QuestionablePlugin CS_0024_003C_003E8__locals28 = _003C_003E4__this; - try - { - try - { - TaskAwaiter awaiter; - if (num != 0) - { - _003CtotalStopwatch_003E5__2 = _206D_200F_200F_202E_206D_202C_206F_206B_202B_202D_200F_200E_202B_200F_202D_200B_206C_202B_206B_200D_206C_202E_200F_200D_202E_202C_200F_206D_200C_202E_200B_200D_202E_206C_202B_206B_206B_202E_202A_206C_202E(); - _200D_202D_206A_200B_206B_200E_200C_200C_206F_206F_202B_206B_202A_202D_202B_206A_206A_202C_206A_206E_200C_200F_202B_206C_202E_202B_202E_206F_206C_202A_206C_206E_200C_200D_200F_200B_200B_206B_206C_200E_202E((System.Action)delegate - { - try - { - _003C_003Ec._206D_200F_206A_206E_202A_206D_202E_206A_202E_206F_202D_200E_202B_206B_202A_202B_200F_200C_202D_206A_206D_206C_200C_200B_200E_200B_206E_200D_202D_200C_200C_200E_200C_206C_206C_206B_206A_200D_202E_202C_202E(); - _003C_003Ec._200F_202D_200F_206B_206C_202C_206D_200C_206F_200E_202D_202C_202D_202E_202D_206B_200C_206B_206D_206E_206E_200D_206C_200F_206F_206D_206B_200D_202A_202B_202D_202D_202E_200F_200C_206B_206A_206E_202A_206D_202E(); - _003C_003Ec._202B_206B_206C_202D_200C_206C_200D_200E_206C_202D_202D_206D_202B_200E_200E_206F_200D_200B_206F_206D_202A_200D_202E_200E_206F_206E_202C_200F_200D_202B_202C_202C_200D_200C_200E_206A_202A_200B_200D_202E(); - _003C_003Ec._200F_200B_200C_206E_200B_206A_200B_202E_200D_200E_202D_200C_200D_202D_206F_206D_200E_206B_200E_206E_200E_200F_206F_206F_206D_200F_206A_206E_202D_202E_200E_206F_206A_200C_202C_206D_200E_202C_206E_200F_202E(); - } - catch (Exception) - { - } - }, cancellationToken); - ServiceCollection serviceCollection = _202B_206D_202B_202D_206D_200B_200F_206B_206E_200B_200C_206C_202C_202B_202E_200C_206A_202C_206A_206E_200B_202A_202D_200F_206E_206F_202B_206B_206E_202C_202D_202D_202B_202E_206E_202D_200D_200E_200E_202C_202E(); - _200C_206D_200D_202E_200C_202A_200E_206C_200B_200C_206F_202C_202C_206A_200E_202E_202B_200D_202C_200B_206B_200E_202E_200C_200F_202C_202A_200D_202D_202D_200B_206B_206D_206E_202D_202E_200C_200E_200D_206E_202E((IServiceCollection)serviceCollection, (Action)delegate(ILoggingBuilder builder) - { - QuestionablePlugin._200E_206D_206C_202E_206B_200D_206E_200E_206B_206E_206D_202D_200B_200D_206F_200F_200E_206E_202E_206F_202D_200F_206C_200E_200E_206B_202B_206F_206D_206E_200E_206B_202A_200D_200D_202D_202D_202D_200E_200D_202E(QuestionablePlugin._206B_202C_206A_206D_200B_200B_202D_200D_206F_202C_202C_200F_206B_202A_202B_206E_202D_206C_206D_202E_200E_202A_202E_200E_202C_202B_206E_202E_202A_200E_202B_200F_206C_202D_202E_200E_206D_202C_200F_202E(QuestionablePlugin._202C_202C_206F_206A_202E_200C_206C_200E_202D_200C_200E_200F_206E_200D_206B_200E_206A_202C_200F_200E_200D_206C_200C_202C_202A_206F_200E_206E_206C_206C_206D_202A_200D_202C_202C_200E_206D_200F_206E_206D_202E(builder, LogLevel.Trace)), (ILoggerProvider)QuestionablePlugin._206C_200C_202E_202B_200B_206E_202E_202A_202A_206F_206B_200C_206E_206A_200E_202B_206F_206B_200F_206C_200C_206D_200B_206D_206E_202A_200D_200E_202D_206D_206E_202D_200E_206C_202E_206E_206E_206F_206E_202E(CS_0024_003C_003E8__locals28._pluginLog, (Func)((string t) => (t == null) ? null : _003C_003Ec._202E_206B_202D_206A_206B_206D_200C_202B_200D_206A_202C_206D_202A_200B_202B_206A_206A_202C_202D_202C_206D_202B_202D_206B_206E_200F_206D_206A_200B_200C_206C_200F_206D_202E_206E_200C_202D_200D_206A_202A_202E(t, _003C_003Ec._200C_200D_202A_202A_202D_206C_202D_200D_202A_200E_206E_206F_206A_202A_206A_200D_206E_206E_202A_200B_202A_206D_200F_200C_202E_202E_206E_206D_200B_202B_202E_200D_206D_206E_206A_202C_206F_202B_206A_200D_202E(t, '.') + 1)))); - }); - serviceCollection.AddSingleton(CS_0024_003C_003E8__locals28._pluginInterface); - serviceCollection.AddSingleton(CS_0024_003C_003E8__locals28._clientState); - serviceCollection.AddSingleton(CS_0024_003C_003E8__locals28._targetManager); - serviceCollection.AddSingleton(CS_0024_003C_003E8__locals28._framework); - serviceCollection.AddSingleton(CS_0024_003C_003E8__locals28._gameGui); - serviceCollection.AddSingleton(CS_0024_003C_003E8__locals28._dataManager); - serviceCollection.AddSingleton(CS_0024_003C_003E8__locals28._sigScanner); - serviceCollection.AddSingleton(CS_0024_003C_003E8__locals28._objectTable); - serviceCollection.AddSingleton(CS_0024_003C_003E8__locals28._pluginLog); - serviceCollection.AddSingleton(CS_0024_003C_003E8__locals28._condition); - serviceCollection.AddSingleton(CS_0024_003C_003E8__locals28._chatGui); - serviceCollection.AddSingleton(CS_0024_003C_003E8__locals28._commandManager); - serviceCollection.AddSingleton(CS_0024_003C_003E8__locals28._addonLifecycle); - serviceCollection.AddSingleton(CS_0024_003C_003E8__locals28._keyState); - serviceCollection.AddSingleton(CS_0024_003C_003E8__locals28._contextMenu); - serviceCollection.AddSingleton(CS_0024_003C_003E8__locals28._toastGui); - serviceCollection.AddSingleton(CS_0024_003C_003E8__locals28._gameInteropProvider); - serviceCollection.AddSingleton(CS_0024_003C_003E8__locals28._aetheryteList); - serviceCollection.AddSingleton(CS_0024_003C_003E8__locals28._gameConfig); - serviceCollection.AddSingleton(CS_0024_003C_003E8__locals28._textureProvider); - serviceCollection.AddSingleton(_200B_206C_206E_200E_202B_202D_200D_202A_202C_202C_202B_202D_202E_202D_200C_202D_206D_206D_200B_202C_206E_206A_206D_206A_200C_200D_200E_200B_206A_200D_206A_202D_202E_202C_206F_200C_206D_206F_200C_202E(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(85756196))); - Configuration configuration = ((Configuration)_202B_202C_202C_200B_200F_202A_200D_200E_206D_202A_202E_206E_200B_202E_202A_200C_202D_202B_202E_206D_206A_200B_202B_206C_206D_200D_206A_206C_200B_206C_200B_200E_206B_200E_206C_202B_200D_206E_200F_206F_202E(CS_0024_003C_003E8__locals28._pluginInterface)) ?? new Configuration(); - bool flag = configuration.Version != 3; - if (flag) - { - CS_0024_003C_003E8__locals28.BackupConfig(configuration.Version); - configuration.Version = 3; - } - if (ConfigMigration.Run(configuration) || flag) - { - _200C_202E_202B_206F_202D_200F_206C_206E_200C_206A_202C_206F_200C_202B_200E_200F_200D_206F_206D_200B_206A_200D_200F_202B_206C_202D_202A_206C_206C_206E_206C_202D_206E_202A_202B_202B_206E_202C_202E_200D_202E(CS_0024_003C_003E8__locals28._pluginInterface, (IPluginConfiguration)configuration); - } - serviceCollection.AddSingleton(configuration); - AddBasicFunctionsAndData(serviceCollection); - AddTaskFactories(serviceCollection); - AddControllers(serviceCollection); - AddWindows(serviceCollection); - AddQuestValidators(serviceCollection); - serviceCollection.AddSingleton(); - serviceCollection.AddSingleton(); - _003CproviderStopwatch_003E5__3 = _206D_200F_200F_202E_206D_202C_206F_206B_202B_202D_200F_200E_202B_200F_202D_200B_206C_202B_206B_200D_206C_202E_200F_200D_202E_202C_200F_206D_200C_202E_200B_200D_202E_206C_202B_206B_206B_202E_202A_206C_202E(); - CS_0024_003C_003E8__locals28._serviceProvider = _206A_206D_202A_202A_200F_206B_206A_200C_202D_200E_206F_202A_200F_202B_202C_202E_200B_202D_202C_206F_202B_202A_202A_200F_202D_200B_206F_200D_200B_206F_202E_200E_202A_200B_206D_200F_206E_206F_200F_206E_202E((IServiceCollection)serviceCollection); - _202B_206D_200E_202A_202D_206C_202A_200C_202E_206F_202A_200E_206D_206F_200D_206D_200D_200C_200F_206E_202B_200E_202A_202C_202C_206A_200D_206C_206C_202C_206E_200C_202B_206E_202B_206C_202E_200F_202E_200C_202E(_003CproviderStopwatch_003E5__3); - awaiter = _200E_206D_206B_206E_206A_202C_202A_206B_202A_206A_202E_206D_206A_200E_202E_202D_206F_200E_202E_206A_202A_200C_200C_202A_202E_206B_206D_206E_200C_202C_200E_206A_202B_200B_200B_206A_200C_206C_206F_206C_202E(_200D_202D_206A_200B_206B_200E_200C_200C_206F_206F_202B_206B_202A_202D_202B_206A_206A_202C_206A_206E_200C_200F_202B_206C_202E_202B_202E_206F_206C_202A_206C_206E_200C_200D_200F_200B_200B_206B_206C_200E_202E((System.Action)delegate - { - Initialize(CS_0024_003C_003E8__locals28._serviceProvider); - }, cancellationToken)); - if (!awaiter.IsCompleted) - { - num = (_003C_003E1__state = 0); - _003C_003Eu__1 = awaiter; - _003C_003Et__builder.AwaitUnsafeOnCompleted(ref awaiter, ref this); - return; - } - } - else - { - awaiter = _003C_003Eu__1; - _003C_003Eu__1 = default(TaskAwaiter); - num = (_003C_003E1__state = -1); - } - awaiter.GetResult(); - _206E_206B_200E_202E_200B_202A_200E_200F_200F_202A_200D_202B_202B_202B_202E_206E_206B_202D_206D_200C_202C_200D_206F_206D_206B_200B_206F_200E_206F_206D_202D_206A_206B_206E_202C_206C_202A_202C_202A_202A_202E((Microsoft.Extensions.Logging.ILogger)CS_0024_003C_003E8__locals28._serviceProvider.GetRequiredService>(), 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(-448093395), new object[6] - { - _202E_206B_202C_200D_200B_202D_206B_202D_206D_206B_202A_206C_200D_202A_202A_206D_200F_200C_206A_200E_202D_200B_200C_200C_200D_206B_202D_206F_202C_200F_206A_202C_202C_202B_206A_206D_206F_206B_202D_206F_202E(_003CtotalStopwatch_003E5__2), - _202E_206B_202C_200D_200B_202D_206B_202D_206D_206B_202A_206C_200D_202A_202A_206D_200F_200C_206A_200E_202D_200B_200C_200C_200D_206B_202D_206F_202C_200F_206A_202C_202C_202B_206A_206D_206F_206B_202D_206F_202E(_003CproviderStopwatch_003E5__3), - DecodeMs(() => _003C_003Ec._200B_206D_202E_206A_206F_206A_202D_202C_202C_206E_202E_206A_206D_200B_206A_206C_200E_206F_202C_200E_206F_202B_202C_202E_206A_206F_206D_200B_202E_206A_206A_202A_200E_202C_202C_200D_200F_200D_206D_200D_202E()), - DecodeMs(() => _003C_003Ec._202D_200D_206F_202A_202D_200E_206D_202A_202C_206F_206E_200D_200B_206E_206A_202D_206A_200D_202E_202E_200D_200C_200C_202E_202E_202C_200F_202E_206C_202C_206A_202E_202B_200F_206B_206A_200C_206A_206A_200D_202E()), - DecodeMs(() => _003C_003Ec._202B_200F_202E_202E_202B_206C_202D_206E_206F_200D_206B_200D_200E_206F_206D_200F_206C_200C_200D_202C_206E_202E_206D_202E_206C_206C_206F_206C_206E_202C_200C_206A_206B_200E_200B_200C_202E_202A_202B_200C_202E()), - DecodeMs(() => _003C_003Ec._206F_200D_202B_202A_206C_206D_200C_200C_202E_202D_206A_202C_200F_206B_200D_206B_202E_202E_202B_202E_206B_202B_200B_202D_202E_202B_200C_202A_206C_200C_206A_202B_206D_202B_206E_202E_202A_202B_202D_206B_202E()) - }); - _003CtotalStopwatch_003E5__2 = null; - _003CproviderStopwatch_003E5__3 = null; - } - catch (Exception) - { - _200D_200D_200D_202B_202D_206A_200F_200B_200E_202D_202C_206A_202B_202B_206E_206C_202E_206E_200C_200B_200B_206B_202C_206F_206B_200D_206D_202B_200F_200C_206C_200C_202E_202A_200E_202B_206E_206E_200C_206A_202E(CS_0024_003C_003E8__locals28._chatGui, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1159703040), 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(85756196), (ushort?)null); - throw; - } - } - catch (Exception exception) - { - _003C_003E1__state = -2; - _003C_003Et__builder.SetException(exception); - return; - } - _003C_003E1__state = -2; - _003C_003Et__builder.SetResult(); - } - - void IAsyncStateMachine.MoveNext() - { - //ILSpy generated this explicit interface implementation from .override directive in MoveNext - this.MoveNext(); - } - - [DebuggerHidden] - private void SetStateMachine(IAsyncStateMachine stateMachine) - { - _003C_003Et__builder.SetStateMachine(stateMachine); - } - - void IAsyncStateMachine.SetStateMachine(IAsyncStateMachine stateMachine) - { - //ILSpy generated this explicit interface implementation from .override directive in SetStateMachine - this.SetStateMachine(stateMachine); - } - - static Stopwatch _206D_200F_200F_202E_206D_202C_206F_206B_202B_202D_200F_200E_202B_200F_202D_200B_206C_202B_206B_200D_206C_202E_200F_200D_202E_202C_200F_206D_200C_202E_200B_200D_202E_206C_202B_206B_206B_202E_202A_206C_202E() - { - return Stopwatch.StartNew(); - } - - static Task _200D_202D_206A_200B_206B_200E_200C_200C_206F_206F_202B_206B_202A_202D_202B_206A_206A_202C_206A_206E_200C_200F_202B_206C_202E_202B_202E_206F_206C_202A_206C_206E_200C_200D_200F_200B_200B_206B_206C_200E_202E(System.Action P_0, CancellationToken P_1) - { - return Task.Run(P_0, P_1); - } - - static ServiceCollection _202B_206D_202B_202D_206D_200B_200F_206B_206E_200B_200C_206C_202C_202B_202E_200C_206A_202C_206A_206E_200B_202A_202D_200F_206E_206F_202B_206B_206E_202C_202D_202D_202B_202E_206E_202D_200D_200E_200E_202C_202E() - { - return new ServiceCollection(); - } - - static IServiceCollection _200C_206D_200D_202E_200C_202A_200E_206C_200B_200C_206F_202C_202C_206A_200E_202E_202B_200D_202C_200B_206B_200E_202E_200C_200F_202C_202A_200D_202D_202D_200B_206B_206D_206E_202D_202E_200C_200E_200D_206E_202E(IServiceCollection P_0, Action P_1) - { - return P_0.AddLogging(P_1); - } - - static WindowSystem _200B_206C_206E_200E_202B_202D_200D_202A_202C_202C_202B_202D_202E_202D_200C_202D_206D_206D_200B_202C_206E_206A_206D_206A_200C_200D_200E_200B_206A_200D_206A_202D_202E_202C_206F_200C_206D_206F_200C_202E(string P_0) - { - return new WindowSystem(P_0); - } - - static IPluginConfiguration _202B_202C_202C_200B_200F_202A_200D_200E_206D_202A_202E_206E_200B_202E_202A_200C_202D_202B_202E_206D_206A_200B_202B_206C_206D_200D_206A_206C_200B_206C_200B_200E_206B_200E_206C_202B_200D_206E_200F_206F_202E(IDalamudPluginInterface P_0) - { - return P_0.GetPluginConfig(); - } - - static void _200C_202E_202B_206F_202D_200F_206C_206E_200C_206A_202C_206F_200C_202B_200E_200F_200D_206F_206D_200B_206A_200D_200F_202B_206C_202D_202A_206C_206C_206E_206C_202D_206E_202A_202B_202B_206E_202C_202E_200D_202E(IDalamudPluginInterface P_0, IPluginConfiguration P_1) - { - P_0.SavePluginConfig(P_1); - } - - static ServiceProvider _206A_206D_202A_202A_200F_206B_206A_200C_202D_200E_206F_202A_200F_202B_202C_202E_200B_202D_202C_206F_202B_202A_202A_200F_202D_200B_206F_200D_200B_206F_202E_200E_202A_200B_206D_200F_206E_206F_200F_206E_202E(IServiceCollection P_0) - { - return P_0.BuildServiceProvider(); - } - - static void _202B_206D_200E_202A_202D_206C_202A_200C_202E_206F_202A_200E_206D_206F_200D_206D_200D_200C_200F_206E_202B_200E_202A_202C_202C_206A_200D_206C_206C_202C_206E_200C_202B_206E_202B_206C_202E_200F_202E_200C_202E(Stopwatch P_0) - { - P_0.Stop(); - } - - static TaskAwaiter _200E_206D_206B_206E_206A_202C_202A_206B_202A_206A_202E_206D_206A_200E_202E_202D_206F_200E_202E_206A_202A_200C_200C_202A_202E_206B_206D_206E_200C_202C_200E_206A_202B_200B_200B_206A_200C_206C_206F_206C_202E(Task P_0) - { - return P_0.GetAwaiter(); - } - - static long _202E_206B_202C_200D_200B_202D_206B_202D_206D_206B_202A_206C_200D_202A_202A_206D_200F_200C_206A_200E_202D_200B_200C_200C_200D_206B_202D_206F_202C_200F_206A_202C_202C_202B_206A_206D_206F_206B_202D_206F_202E(Stopwatch P_0) - { - return P_0.ElapsedMilliseconds; - } - - static void _206E_206B_200E_202E_200B_202A_200E_200F_200F_202A_200D_202B_202B_202B_202E_206E_206B_202D_206D_200C_202C_200D_206F_206D_206B_200B_206F_200E_206F_206D_202D_206A_206B_206E_202C_206C_202A_202C_202A_202A_202E(Microsoft.Extensions.Logging.ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static void _200D_200D_200D_202B_202D_206A_200F_200B_200E_202D_202C_206A_202B_202B_206E_206C_202E_206E_200C_200B_200B_206B_202C_206F_206B_200D_206D_202B_200F_200C_206C_200C_202E_202A_200E_202B_206E_206E_200C_206A_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) - { - P_0.PrintError(P_1, P_2, P_3); - } - } - private ServiceProvider? _serviceProvider; private readonly IDalamudPluginInterface _pluginInterface; @@ -694,11 +98,10 @@ public sealed class QuestionablePlugin : IAsyncDalamudPlugin, IAsyncDisposable private readonly ITextureProvider _textureProvider; - [MethodImpl(MethodImplOptions.NoInlining)] public QuestionablePlugin(IDalamudPluginInterface pluginInterface, IClientState clientState, ITargetManager targetManager, IFramework framework, IGameGui gameGui, IDataManager dataManager, ISigScanner sigScanner, IObjectTable objectTable, IPluginLog pluginLog, ICondition condition, IChatGui chatGui, ICommandManager commandManager, IAddonLifecycle addonLifecycle, IKeyState keyState, IContextMenu contextMenu, IToastGui toastGui, IGameInteropProvider gameInteropProvider, IAetheryteList aetheryteList, IGameConfig gameConfig, ITextureProvider textureProvider) { - _206C_200F_206E_200B_200C_200B_206E_200C_206D_202E_200C_200E_200B_202C_202C_206C_206B_202B_206E_206A_206F_200C_206B_206B_202D_202B_200B_200C_202C_200B_206C_206F_202A_206B_206B_200D_202D_206E_206E_200F_202E((object)pluginInterface, 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(-1455256372)); - _206C_200F_206E_200B_200C_200B_206E_200C_206D_202E_200C_200E_200B_202C_202C_206C_206B_202B_206E_206A_206F_200C_206B_206B_202D_202B_200B_200C_202C_200B_206C_206F_202A_206B_206B_200D_202D_206E_206E_200F_202E((object)chatGui, 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(-1831268324)); + ArgumentNullException.ThrowIfNull(pluginInterface, "pluginInterface"); + ArgumentNullException.ThrowIfNull(chatGui, "chatGui"); _pluginInterface = pluginInterface; _clientState = clientState; _targetManager = targetManager; @@ -725,24 +128,24 @@ public sealed class QuestionablePlugin : IAsyncDalamudPlugin, IAsyncDisposable { try { - Stopwatch totalStopwatch = _003CLoadAsync_003Ed__22._206D_200F_200F_202E_206D_202C_206F_206B_202B_202D_200F_200E_202B_200F_202D_200B_206C_202B_206B_200D_206C_202E_200F_200D_202E_202C_200F_206D_200C_202E_200B_200D_202E_206C_202B_206B_206B_202E_202A_206C_202E(); - _003CLoadAsync_003Ed__22._200D_202D_206A_200B_206B_200E_200C_200C_206F_206F_202B_206B_202A_202D_202B_206A_206A_202C_206A_206E_200C_200F_202B_206C_202E_202B_202E_206F_206C_202A_206C_206E_200C_200D_200F_200B_200B_206B_206C_200E_202E((System.Action)delegate + Stopwatch totalStopwatch = Stopwatch.StartNew(); + Task.Run(delegate { try { - _003C_003Ec._206D_200F_206A_206E_202A_206D_202E_206A_202E_206F_202D_200E_202B_206B_202A_202B_200F_200C_202D_206A_206D_206C_200C_200B_200E_200B_206E_200D_202D_200C_200C_200E_200C_206C_206C_206B_206A_200D_202E_202C_202E(); - _003C_003Ec._200F_202D_200F_206B_206C_202C_206D_200C_206F_200E_202D_202C_202D_202E_202D_206B_200C_206B_206D_206E_206E_200D_206C_200F_206F_206D_206B_200D_202A_202B_202D_202D_202E_200F_200C_206B_206A_206E_202A_206D_202E(); - _003C_003Ec._202B_206B_206C_202D_200C_206C_200D_200E_206C_202D_202D_206D_202B_200E_200E_206F_200D_200B_206F_206D_202A_200D_202E_200E_206F_206E_202C_200F_200D_202B_202C_202C_200D_200C_200E_206A_202A_200B_200D_202E(); - _003C_003Ec._200F_200B_200C_206E_200B_206A_200B_202E_200D_200E_202D_200C_200D_202D_206F_206D_200E_206B_200E_206E_200E_200F_206F_206F_206D_200F_206A_206E_202D_202E_200E_206F_206A_200C_202C_206D_200E_202C_206E_200F_202E(); + AssemblyQuestLoader.GetQuests(); + AssemblyGatheringLocationLoader.GetLocations(); + AssemblyFateDefinitionLoader.GetDefinitions(); + AssemblySeasonalDutyDefinitionLoader.GetDefinitions(); } catch (Exception) { } }, cancellationToken); - ServiceCollection serviceCollection = _003CLoadAsync_003Ed__22._202B_206D_202B_202D_206D_200B_200F_206B_206E_200B_200C_206C_202C_202B_202E_200C_206A_202C_206A_206E_200B_202A_202D_200F_206E_206F_202B_206B_206E_202C_202D_202D_202B_202E_206E_202D_200D_200E_200E_202C_202E(); - _003CLoadAsync_003Ed__22._200C_206D_200D_202E_200C_202A_200E_206C_200B_200C_206F_202C_202C_206A_200E_202E_202B_200D_202C_200B_206B_200E_202E_200C_200F_202C_202A_200D_202D_202D_200B_206B_206D_206E_202D_202E_200C_200E_200D_206E_202E((IServiceCollection)serviceCollection, (Action)delegate(ILoggingBuilder builder) + ServiceCollection serviceCollection = new ServiceCollection(); + serviceCollection.AddLogging(delegate(ILoggingBuilder builder) { - _200E_206D_206C_202E_206B_200D_206E_200E_206B_206E_206D_202D_200B_200D_206F_200F_200E_206E_202E_206F_202D_200F_206C_200E_200E_206B_202B_206F_206D_206E_200E_206B_202A_200D_200D_202D_202D_202D_200E_200D_202E(_206B_202C_206A_206D_200B_200B_202D_200D_206F_202C_202C_200F_206B_202A_202B_206E_202D_206C_206D_202E_200E_202A_202E_200E_202C_202B_206E_202E_202A_200E_202B_200F_206C_202D_202E_200E_206D_202C_200F_202E(_202C_202C_206F_206A_202E_200C_206C_200E_202D_200C_200E_200F_206E_200D_206B_200E_206A_202C_200F_200E_200D_206C_200C_202C_202A_206F_200E_206E_206C_206C_206D_202A_200D_202C_202C_200E_206D_200F_206E_206D_202E(builder, LogLevel.Trace)), (ILoggerProvider)_206C_200C_202E_202B_200B_206E_202E_202A_202A_206F_206B_200C_206E_206A_200E_202B_206F_206B_200F_206C_200C_206D_200B_206D_206E_202A_200D_200E_202D_206D_206E_202D_200E_206C_202E_206E_206E_206F_206E_202E(_pluginLog, (Func)((string t) => (t == null) ? null : _003C_003Ec._202E_206B_202D_206A_206B_206D_200C_202B_200D_206A_202C_206D_202A_200B_202B_206A_206A_202C_202D_202C_206D_202B_202D_206B_206E_200F_206D_206A_200B_200C_206C_200F_206D_202E_206E_200C_202D_200D_206A_202A_202E(t, _003C_003Ec._200C_200D_202A_202A_202D_206C_202D_200D_202A_200E_206E_206F_206A_202A_206A_200D_206E_206E_202A_200B_202A_206D_200F_200C_202E_202E_206E_206D_200B_202B_202E_200D_206D_206E_206A_202C_206F_202B_206A_200D_202E(t, '.') + 1)))); + builder.SetMinimumLevel(LogLevel.Trace).ClearProviders().AddProvider(new DalamudLoggerProvider(_pluginLog, (string t) => t?.Substring(t.LastIndexOf('.') + 1))); }); serviceCollection.AddSingleton(_pluginInterface); serviceCollection.AddSingleton(_clientState); @@ -764,8 +167,8 @@ public sealed class QuestionablePlugin : IAsyncDalamudPlugin, IAsyncDisposable serviceCollection.AddSingleton(_aetheryteList); serviceCollection.AddSingleton(_gameConfig); serviceCollection.AddSingleton(_textureProvider); - serviceCollection.AddSingleton(_003CLoadAsync_003Ed__22._200B_206C_206E_200E_202B_202D_200D_202A_202C_202C_202B_202D_202E_202D_200C_202D_206D_206D_200B_202C_206E_206A_206D_206A_200C_200D_200E_200B_206A_200D_206A_202D_202E_202C_206F_200C_206D_206F_200C_202E(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(85756196))); - Configuration configuration = ((Configuration)_003CLoadAsync_003Ed__22._202B_202C_202C_200B_200F_202A_200D_200E_206D_202A_202E_206E_200B_202E_202A_200C_202D_202B_202E_206D_206A_200B_202B_206C_206D_200D_206A_206C_200B_206C_200B_200E_206B_200E_206C_202B_200D_206E_200F_206F_202E(_pluginInterface)) ?? new Configuration(); + serviceCollection.AddSingleton(new WindowSystem("Questionable")); + Configuration configuration = ((Configuration)_pluginInterface.GetPluginConfig()) ?? new Configuration(); bool flag = configuration.Version != 3; if (flag) { @@ -774,7 +177,7 @@ public sealed class QuestionablePlugin : IAsyncDalamudPlugin, IAsyncDisposable } if (ConfigMigration.Run(configuration) || flag) { - _003CLoadAsync_003Ed__22._200C_202E_202B_206F_202D_200F_206C_206E_200C_206A_202C_206F_200C_202B_200E_200F_200D_206F_206D_200B_206A_200D_200F_202B_206C_202D_202A_206C_206C_206E_206C_202D_206E_202A_202B_202B_206E_202C_202E_200D_202E(_pluginInterface, (IPluginConfiguration)configuration); + _pluginInterface.SavePluginConfig(configuration); } serviceCollection.AddSingleton(configuration); AddBasicFunctionsAndData(serviceCollection); @@ -784,62 +187,34 @@ public sealed class QuestionablePlugin : IAsyncDalamudPlugin, IAsyncDisposable AddQuestValidators(serviceCollection); serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); - Stopwatch providerStopwatch = _003CLoadAsync_003Ed__22._206D_200F_200F_202E_206D_202C_206F_206B_202B_202D_200F_200E_202B_200F_202D_200B_206C_202B_206B_200D_206C_202E_200F_200D_202E_202C_200F_206D_200C_202E_200B_200D_202E_206C_202B_206B_206B_202E_202A_206C_202E(); - _serviceProvider = _003CLoadAsync_003Ed__22._206A_206D_202A_202A_200F_206B_206A_200C_202D_200E_206F_202A_200F_202B_202C_202E_200B_202D_202C_206F_202B_202A_202A_200F_202D_200B_206F_200D_200B_206F_202E_200E_202A_200B_206D_200F_206E_206F_200F_206E_202E((IServiceCollection)serviceCollection); - _003CLoadAsync_003Ed__22._202B_206D_200E_202A_202D_206C_202A_200C_202E_206F_202A_200E_206D_206F_200D_206D_200D_200C_200F_206E_202B_200E_202A_202C_202C_206A_200D_206C_206C_202C_206E_200C_202B_206E_202B_206C_202E_200F_202E_200C_202E(providerStopwatch); - TaskAwaiter taskAwaiter = _003CLoadAsync_003Ed__22._200E_206D_206B_206E_206A_202C_202A_206B_202A_206A_202E_206D_206A_200E_202E_202D_206F_200E_202E_206A_202A_200C_200C_202A_202E_206B_206D_206E_200C_202C_200E_206A_202B_200B_200B_206A_200C_206C_206F_206C_202E(_003CLoadAsync_003Ed__22._200D_202D_206A_200B_206B_200E_200C_200C_206F_206F_202B_206B_202A_202D_202B_206A_206A_202C_206A_206E_200C_200F_202B_206C_202E_202B_202E_206F_206C_202A_206C_206E_200C_200D_200F_200B_200B_206B_206C_200E_202E((System.Action)delegate + Stopwatch providerStopwatch = Stopwatch.StartNew(); + _serviceProvider = serviceCollection.BuildServiceProvider(); + providerStopwatch.Stop(); + await Task.Run(delegate { Initialize(_serviceProvider); - }, cancellationToken)); - if (!taskAwaiter.IsCompleted) - { - await taskAwaiter; - TaskAwaiter taskAwaiter2 = default(TaskAwaiter); - taskAwaiter = taskAwaiter2; - } - taskAwaiter.GetResult(); - _003CLoadAsync_003Ed__22._206E_206B_200E_202E_200B_202A_200E_200F_200F_202A_200D_202B_202B_202B_202E_206E_206B_202D_206D_200C_202C_200D_206F_206D_206B_200B_206F_200E_206F_206D_202D_206A_206B_206E_202C_206C_202A_202C_202A_202A_202E((Microsoft.Extensions.Logging.ILogger)_serviceProvider.GetRequiredService>(), 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(-448093395), new object[6] - { - _003CLoadAsync_003Ed__22._202E_206B_202C_200D_200B_202D_206B_202D_206D_206B_202A_206C_200D_202A_202A_206D_200F_200C_206A_200E_202D_200B_200C_200C_200D_206B_202D_206F_202C_200F_206A_202C_202C_202B_206A_206D_206F_206B_202D_206F_202E(totalStopwatch), - _003CLoadAsync_003Ed__22._202E_206B_202C_200D_200B_202D_206B_202D_206D_206B_202A_206C_200D_202A_202A_206D_200F_200C_206A_200E_202D_200B_200C_200C_200D_206B_202D_206F_202C_200F_206A_202C_202C_202B_206A_206D_206F_206B_202D_206F_202E(providerStopwatch), - DecodeMs(() => _003C_003Ec._200B_206D_202E_206A_206F_206A_202D_202C_202C_206E_202E_206A_206D_200B_206A_206C_200E_206F_202C_200E_206F_202B_202C_202E_206A_206F_206D_200B_202E_206A_206A_202A_200E_202C_202C_200D_200F_200D_206D_200D_202E()), - DecodeMs(() => _003C_003Ec._202D_200D_206F_202A_202D_200E_206D_202A_202C_206F_206E_200D_200B_206E_206A_202D_206A_200D_202E_202E_200D_200C_200C_202E_202E_202C_200F_202E_206C_202C_206A_202E_202B_200F_206B_206A_200C_206A_206A_200D_202E()), - DecodeMs(() => _003C_003Ec._202B_200F_202E_202E_202B_206C_202D_206E_206F_200D_206B_200D_200E_206F_206D_200F_206C_200C_200D_202C_206E_202E_206D_202E_206C_206C_206F_206C_206E_202C_200C_206A_206B_200E_200B_200C_202E_202A_202B_200C_202E()), - DecodeMs(() => _003C_003Ec._206F_200D_202B_202A_206C_206D_200C_200C_202E_202D_206A_202C_200F_206B_200D_206B_202E_202E_202B_202E_206B_202B_200B_202D_202E_202B_200C_202A_206C_200C_206A_202B_206D_202B_206E_202E_202A_202B_202D_206B_202E()) - }); + }, cancellationToken); + _serviceProvider.GetRequiredService>().LogDebug("Load complete in {Total}ms (provider build {Provider}ms); bundle decode off critical path: quest {Quest}ms, gathering {Gathering}ms, fate {Fate}ms, seasonal {Seasonal}ms", totalStopwatch.ElapsedMilliseconds, providerStopwatch.ElapsedMilliseconds, DecodeMs(() => AssemblyQuestLoader.DecodeDuration), DecodeMs(() => AssemblyGatheringLocationLoader.DecodeDuration), DecodeMs(() => AssemblyFateDefinitionLoader.DecodeDuration), DecodeMs(() => AssemblySeasonalDutyDefinitionLoader.DecodeDuration)); } catch (Exception) { - _003CLoadAsync_003Ed__22._200D_200D_200D_202B_202D_206A_200F_200B_200E_202D_202C_206A_202B_202B_206E_206C_202E_206E_200C_200B_200B_206B_202C_206F_206B_200D_206D_202B_200F_200C_206C_200C_202E_202A_200E_202B_206E_206E_200C_206A_202E(_chatGui, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-1159703040), 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(85756196), (ushort?)null); + _chatGui.PrintError("Unable to load plugin, check /xllog for details", "Questionable"); throw; } } - Task IAsyncDalamudPlugin.LoadAsync(CancellationToken cancellationToken) - { - //ILSpy generated this explicit interface implementation from .override directive in LoadAsync - return this.LoadAsync(cancellationToken); - } - - [MethodImpl(MethodImplOptions.NoInlining)] private void BackupConfig(int oldVersion) { try { - if (_202B_200B_202C_202D_206F_202A_202B_200E_200D_202B_202E_206C_206D_202A_200E_206D_206F_206E_202E_206A_206F_206B_206F_200D_202E_206A_200C_206F_202C_200C_206D_202C_206C_206B_206F_206A_206B_202C_202C_200F_202E((FileSystemInfo)_202B_200E_200B_206E_200F_200E_200E_206E_206D_206B_200C_206F_202B_202E_202E_200F_200B_206A_202C_206F_200D_206A_202B_206E_202C_206F_206D_206B_202E_200C_202D_200B_202E_200C_202C_200C_202B_206F_200B_206B_202E(_pluginInterface))) + if (_pluginInterface.ConfigFile.Exists) { - FileInfo fileInfo = _202B_200E_200B_206E_200F_200E_200E_206E_206D_206B_200C_206F_202B_202E_202E_200F_200B_206A_202C_206F_200D_206A_202B_206E_202C_206F_206D_206B_202E_200C_202D_200B_202E_200C_202C_200C_202B_206F_200B_206B_202E(_pluginInterface); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(6, 2); - defaultInterpolatedStringHandler.AppendFormatted(_206D_206B_206E_200D_200E_206A_206C_202D_202B_202E_206F_200E_202E_200C_202C_206D_206B_202C_206D_206A_202B_206B_200F_206C_206C_200F_200C_206A_206B_206B_202C_200D_206F_200E_200B_200B_200E_200D_206D_202C_202E((FileSystemInfo)_202B_200E_200B_206E_200F_200E_200E_206E_206D_206B_200C_206F_202B_202E_202E_200F_200B_206A_202C_206F_200D_206A_202B_206E_202C_206F_206D_206B_202E_200C_202D_200B_202E_200C_202C_200C_202B_206F_200B_206B_202E(_pluginInterface))); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(-957700640)); - defaultInterpolatedStringHandler.AppendFormatted(oldVersion); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1701004743)); - _202E_202E_200F_200B_200F_200E_200D_206C_200C_200E_200F_200D_200F_206A_200B_206E_202C_206C_202C_200E_200E_202B_206D_202A_200F_206C_206F_206B_202B_202B_200F_206E_200F_200C_202A_206E_202B_206D_206C_206D_202E(fileInfo, defaultInterpolatedStringHandler.ToStringAndClear(), true); + _pluginInterface.ConfigFile.CopyTo($"{_pluginInterface.ConfigFile.FullName}.v{oldVersion}.bak", overwrite: true); } } - catch (Exception ex) + catch (Exception exception) { - _202D_200C_202B_200D_202C_206E_202E_206E_206B_206D_202B_202A_206E_200E_206A_200E_202E_202D_200D_202D_202C_202A_200C_200D_202C_206A_206A_202C_206E_200F_202B_200E_206D_206C_206B_206A_206C_202E_202E_206B_202E(_pluginLog, ex, 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(1234113757), Array.Empty()); + _pluginLog.Warning(exception, "Unable to back up configuration file"); } } @@ -884,18 +259,18 @@ public sealed class QuestionablePlugin : IAsyncDalamudPlugin, IAsyncDisposable serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); - serviceCollection.AddSingleton([MethodImpl(MethodImplOptions.NoInlining)] (IServiceProvider sp) => + serviceCollection.AddSingleton(delegate(IServiceProvider sp) { IDalamudPluginInterface requiredService = sp.GetRequiredService(); - DirectoryInfo directoryInfo = null; - _003C_003Ec._202D_200E_202B_202B_206C_202D_200B_206F_206E_202D_206B_202C_202B_206B_206A_200D_202C_202C_200D_200D_200D_202A_206B_200C_200E_206B_200D_206B_206C_202D_206E_200D_202D_206C_200C_206D_200C_206C_206D_200D_202E(_003C_003Ec._200D_202E_202D_202A_206F_206D_206F_206E_200F_200D_200B_202C_200B_206B_206E_200F_200C_200C_200D_200F_206A_200B_202D_206C_206B_206D_202C_206A_200D_202C_202A_202E_206D_206B_202E_200F_206F_202B_200B_206F_202E(sp.GetRequiredService())).TryGetValue(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(1893535850), out Repository value); - return _003C_003Ec._200C_206E_206F_200F_202E_202A_200C_200F_202D_202A_202A_206A_202D_206D_202D_206C_206F_202C_200E_202A_200F_202E_200C_200D_206E_200E_200E_200F_200F_206D_200F_202B_206B_206D_200B_202A_202C_200C_206B_206E_202E(_003C_003Ec._200C_206D_206F_202A_200F_206A_202E_202C_206C_206F_200D_206A_202D_200B_200D_206A_200D_206F_206C_206D_202B_202E_200B_200C_206B_202C_200C_206A_202D_206B_206E_206C_206F_200F_200E_206C_202C_206A_202B_200D_202E(requiredService), directoryInfo, (value != null) ? _003C_003Ec._206E_206D_206D_202A_200C_202C_200B_202A_200B_202D_200C_200F_202C_206D_202D_206F_200D_200B_200B_202A_206F_202D_202C_206B_202C_206B_202C_202A_202E_200B_206C_206F_202E_202C_202E_200B_206E_202D_206F_202A_202E(value) : null); + DirectoryInfo devSourceDirectory = null; + sp.GetRequiredService().GameData.Repositories.TryGetValue("ffxiv", out Repository value); + return new SmartNavDataOptions(requiredService.ConfigDirectory, devSourceDirectory, value?.Version); }); serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); - serviceCollection.AddSingleton(); + ((IServiceCollection)serviceCollection).AddSingleton((Func)((IServiceProvider sp) => new LgbZoneBoundarySource(sp.GetRequiredService(), sp.GetRequiredService>(), sp.GetRequiredService()))); ((IServiceCollection)serviceCollection).AddSingleton((Func)((IServiceProvider sp) => sp.GetRequiredService())); serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); @@ -1033,21 +408,24 @@ public sealed class QuestionablePlugin : IAsyncDalamudPlugin, IAsyncDisposable serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); - serviceCollection.AddSingleton([MethodImpl(MethodImplOptions.NoInlining)] (IServiceProvider sp) => + serviceCollection.AddSingleton(delegate(IServiceProvider sp) { - _003C_003Ec._202D_200E_202B_202B_206C_202D_200B_206F_206E_202D_206B_202C_202B_206B_206A_200D_202C_202C_200D_200D_200D_202A_206B_200C_200E_206B_200D_206B_206C_202D_206E_200D_202D_206C_200C_206D_200C_206C_206D_200D_202E(_003C_003Ec._200D_202E_202D_202A_206F_206D_206F_206E_200F_200D_200B_202C_200B_206B_206E_200F_200C_200C_200D_200F_206A_200B_202D_206C_206B_206D_202C_206A_200D_202C_202A_202E_206D_206B_202E_200F_206F_202B_200B_206F_202E(sp.GetRequiredService())).TryGetValue(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1502740136), out Repository value); - NpcPositionCacheOptions npcPositionCacheOptions = _003C_003Ec._206F_206C_206C_206F_206B_202D_202E_206C_206B_202A_202C_200F_206D_206D_202D_202E_200D_200C_202C_202D_202C_200B_202B_206A_202E_202B_206E_206A_206E_200D_200E_202B_200C_206B_206B_202D_200D_206A_200F_200D_202E(); - _003C_003Ec._206C_206F_200B_206D_206E_206A_202B_200B_206C_206F_206F_202D_206C_202B_202A_206D_200B_200D_200F_202B_202C_200D_202E_200E_206A_200D_206E_200D_200D_206F_200E_202E_206B_200B_200E_206F_200C_202D_200B_202D_202E(npcPositionCacheOptions, _003C_003Ec._206A_200D_206D_200D_206F_202B_202D_202E_200D_202A_200D_200B_202A_200F_200E_200B_202E_200C_206A_206C_200B_202D_206D_200F_200D_202A_202E_206D_206E_206D_200C_206E_206B_206C_202C_202D_206D_202A_202B_200D_202E((FileSystemInfo)_003C_003Ec._200C_206D_206F_202A_200F_206A_202E_202C_206C_206F_200D_206A_202D_200B_200D_206A_200D_206F_206C_206D_202B_202E_200B_200C_206B_202C_200C_206A_202D_206B_206E_206C_206F_200F_200E_206C_202C_206A_202B_200D_202E(sp.GetRequiredService()))); - _003C_003Ec._200E_206E_202B_202B_200C_200B_206D_202D_200E_206F_200F_202D_202D_202E_206F_206E_200F_206B_206E_200F_202A_206A_206E_200D_206F_206B_202B_206B_200F_206F_202D_202A_206A_202A_202C_206C_206E_206B_206C_202C_202E(npcPositionCacheOptions, (value != null) ? _003C_003Ec._206E_206D_206D_202A_200C_202C_200B_202A_200B_202D_200C_200F_202C_206D_202D_206F_200D_200B_200B_202A_206F_202D_202C_206B_202C_206B_202C_202A_202E_200B_206C_206F_202E_202C_202E_200B_206E_202D_206F_202A_202E(value) : null); - _003C_003Ec._200C_200E_200E_200F_200B_200E_202D_206D_206E_206E_206E_202D_206F_200C_206C_202C_200E_206A_206F_200B_200D_206F_202A_206A_206A_200D_206D_206B_200B_206F_202D_206C_202E_206F_200D_206D_206B_202E_202B_206B_202E(npcPositionCacheOptions, TimeSpan.FromMilliseconds(10L)); - return npcPositionCacheOptions; + sp.GetRequiredService().GameData.Repositories.TryGetValue("ffxiv", out Repository value); + return new NpcPositionCacheOptions + { + CacheDirectory = sp.GetRequiredService().ConfigDirectory.FullName, + GameVersion = value?.Version, + ScanThrottle = TimeSpan.FromMilliseconds(10L) + }; }); serviceCollection.AddSingleton(); + serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); + serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); @@ -1157,35 +535,33 @@ public sealed class QuestionablePlugin : IAsyncDalamudPlugin, IAsyncDisposable return (long)duration().GetValueOrDefault().TotalMilliseconds; } - [MethodImpl(MethodImplOptions.NoInlining)] private static void Initialize(IServiceProvider serviceProvider) { ILogger requiredService = serviceProvider.GetRequiredService>(); - Stopwatch stopwatch = _202A_202C_206F_200E_202A_202D_200C_202B_206C_206A_202E_200D_202C_202A_200C_206B_202C_206B_202C_206A_200D_206E_202C_202A_200D_206E_206E_200C_206E_200C_206C_200E_202D_206B_206E_202C_202A_206C_206F_206A_202E(); - _202C_202E_202E_200D_202B_206D_200F_200C_202C_200E_206B_206C_206B_206E_206E_202B_200C_200B_206F_206D_200C_200E_202B_206F_200E_202E_206E_206D_202A_200B_202D_200E_200B_206E_206E_206B_206D_200C_202B_206E_202E(serviceProvider.GetRequiredService()); - InlineArray13 buffer = default(InlineArray13); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 0) = Task.Run(() => serviceProvider.GetRequiredService()); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 1) = Task.Run(() => serviceProvider.GetRequiredService()); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 2) = Task.Run(() => serviceProvider.GetRequiredService()); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 3) = Task.Run(() => serviceProvider.GetRequiredService()); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 4) = Task.Run(() => serviceProvider.GetRequiredService()); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 5) = Task.Run(() => serviceProvider.GetRequiredService()); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 6) = Task.Run(() => serviceProvider.GetRequiredService()); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 7) = Task.Run(() => serviceProvider.GetRequiredService()); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 8) = Task.Run(() => serviceProvider.GetRequiredService()); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 9) = Task.Run(() => serviceProvider.GetRequiredService()); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 10) = Task.Run(() => serviceProvider.GetRequiredService()); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 11) = Task.Run(() => _003C_003Ec__DisplayClass30_0._200F_202C_202D_202D_202B_200E_206B_202C_202B_202A_202B_202A_200F_200B_200E_200E_206D_200E_200B_200B_202E_200F_200B_200D_206E_200D_200F_202C_200E_200E_200B_202A_206D_200D_200F_202B_202D_206E_200F_206F_202E(serviceProvider.GetRequiredService())); - global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 12) = Task.Run(() => serviceProvider.GetRequiredService()); - _200E_202B_200F_202B_200F_206A_200C_200F_200F_206C_206A_202A_206E_206E_202B_206D_202C_206C_202A_206E_200E_202D_200E_202A_202C_202E_206A_206A_206E_200D_206C_206B_202E_206A_200C_202A_206E_202C_206C_206C_202E(global::_003CPrivateImplementationDetails_003E.InlineArrayAsReadOnlySpan, Task>(in buffer, 13)); - TimeSpan timeSpan = _200B_206D_206E_206E_202A_202E_202C_206D_202E_206C_206C_206F_206E_206F_206C_200F_200E_206E_200E_200B_200B_200E_202A_200C_206C_200E_200D_206D_206C_200B_206C_200E_206F_206C_200E_200B_200B_200C_202A_200D_202E(stopwatch); - _202B_200C_206A_206E_202D_206A_200E_206F_202D_200F_206E_200C_202B_202E_202E_202C_206B_202D_202C_206F_206E_200C_200D_200E_202E_200F_200D_206E_206D_200D_202D_202E_200B_206E_202E_206E_200B_200E_202C_200C_202E(stopwatch); + Stopwatch stopwatch = Stopwatch.StartNew(); + serviceProvider.GetRequiredService().TryLoadFromDisk(); + InlineArray12 buffer = default(InlineArray12); + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 0) = Task.Run(() => serviceProvider.GetRequiredService()); + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 1) = Task.Run(() => serviceProvider.GetRequiredService()); + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 2) = Task.Run(() => serviceProvider.GetRequiredService()); + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 3) = Task.Run(() => serviceProvider.GetRequiredService()); + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 4) = Task.Run(() => serviceProvider.GetRequiredService()); + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 5) = Task.Run(() => serviceProvider.GetRequiredService()); + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 6) = Task.Run(() => serviceProvider.GetRequiredService()); + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 7) = Task.Run(() => serviceProvider.GetRequiredService()); + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 8) = Task.Run(() => serviceProvider.GetRequiredService()); + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 9) = Task.Run(() => serviceProvider.GetRequiredService()); + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 10) = Task.Run(() => serviceProvider.GetRequiredService()); + global::_003CPrivateImplementationDetails_003E.InlineArrayElementRef, Task>(ref buffer, 11) = Task.Run(() => serviceProvider.GetRequiredService()); + Task.WaitAll(global::_003CPrivateImplementationDetails_003E.InlineArrayAsReadOnlySpan, Task>(in buffer, 12)); + TimeSpan elapsed = stopwatch.Elapsed; + stopwatch.Restart(); serviceProvider.GetRequiredService().Reload(); - TimeSpan timeSpan2 = _200B_206D_206E_206E_202A_202E_202C_206D_202E_206C_206C_206F_206E_206F_206C_200F_200E_206E_200E_200B_200B_200E_202A_200C_206C_200E_200D_206D_206C_200B_206C_200E_206F_206C_200E_200B_200B_200C_202A_200D_202E(stopwatch); - _202B_200C_206A_206E_202D_206A_200E_206F_202D_200F_206E_200C_202B_202E_202E_202C_206B_202D_202C_206F_206E_200C_200D_200E_202E_200F_200D_206E_206D_200D_202D_202E_200B_206E_202E_206E_200B_200E_202C_200C_202E(stopwatch); + TimeSpan elapsed2 = stopwatch.Elapsed; + stopwatch.Restart(); serviceProvider.GetRequiredService().Reload(); - TimeSpan timeSpan3 = _200B_206D_206E_206E_202A_202E_202C_206D_202E_206C_206C_206F_206E_206F_206C_200F_200E_206E_200E_200B_200B_200E_202A_200C_206C_200E_200D_206D_206C_200B_206C_200E_206F_206C_200E_200B_200B_200C_202A_200D_202E(stopwatch); - _202B_200C_206A_206E_202D_206A_200E_206F_202D_200F_206E_200C_202B_202E_202E_202C_206B_202D_202C_206F_206E_200C_200D_200E_202E_200F_200D_206E_206D_200D_202D_202E_200B_206E_202E_206E_200B_200E_202C_200C_202E(stopwatch); + TimeSpan elapsed3 = stopwatch.Elapsed; + stopwatch.Restart(); serviceProvider.GetRequiredService().LoadPriorityQuests(); serviceProvider.GetRequiredService(); serviceProvider.GetRequiredService(); @@ -1210,114 +586,17 @@ public sealed class QuestionablePlugin : IAsyncDalamudPlugin, IAsyncDisposable ChangelogEntry changelogEntry = ChangelogData.Changelogs.FirstOrDefault(); if (changelogEntry != null && changelogEntry.IsNewVersion(requiredService3.LastViewedChangelogVersion, ChangelogData.Changelogs)) { - _206A_206C_200E_206E_202A_202B_202C_200C_202D_206A_206A_200E_206B_202E_200F_206C_200D_202D_202B_200C_200C_206F_202B_202A_202C_200B_200D_200F_200C_200F_200B_206C_206B_202A_202C_200E_206D_206E_200E_206E_202E((LWindow)requiredService2, true); + requiredService2.IsOpenAndUncollapsed = true; } } - _200B_202A_206D_202C_206C_206A_200E_202C_200D_202D_206B_206B_200F_202B_202E_206B_206E_200F_206F_200B_200D_202A_200B_200F_200C_206F_200F_200F_200F_202E_200F_206B_200B_200D_206D_206A_200D_200B_206F_206C_202E((Microsoft.Extensions.Logging.ILogger)requiredService, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1377998422), new object[4] - { - (long)timeSpan.TotalMilliseconds, - (long)timeSpan2.TotalMilliseconds, - (long)timeSpan3.TotalMilliseconds, - (long)_200B_206D_206E_206E_202A_202E_202C_206D_202E_206C_206C_206F_206E_206F_206C_200F_200E_206E_200E_200B_200B_200E_202A_200C_206C_200E_200D_206D_206C_200B_206C_200E_206F_206C_200E_200B_200B_200C_202A_200D_202E(stopwatch).TotalMilliseconds - }); + requiredService.LogDebug("Initialize phases: data warm-up {Warmup}ms, quest reload {Quest}ms, gathering reload {Gathering}ms, init tail {Tail}ms", (long)elapsed.TotalMilliseconds, (long)elapsed2.TotalMilliseconds, (long)elapsed3.TotalMilliseconds, (long)stopwatch.Elapsed.TotalMilliseconds); } public async ValueTask DisposeAsync() { if (_serviceProvider != null) { - await _003CDisposeAsync_003Ed__31._206D_200F_206B_200F_200D_200F_206E_202C_202D_200F_206C_206C_200D_206E_206A_200D_200F_206F_206C_202A_202D_200F_202C_202E_202E_200B_202E_200C_202D_202B_202E_206C_202B_200E_206F_202E_202A_202A_202D_206C_202E(_serviceProvider); + await _serviceProvider.DisposeAsync(); } } - - ValueTask IAsyncDisposable.DisposeAsync() - { - //ILSpy generated this explicit interface implementation from .override directive in DisposeAsync - return this.DisposeAsync(); - } - - static void _206C_200F_206E_200B_200C_200B_206E_200C_206D_202E_200C_200E_200B_202C_202C_206C_206B_202B_206E_206A_206F_200C_206B_206B_202D_202B_200B_200C_202C_200B_206C_206F_202A_206B_206B_200D_202D_206E_206E_200F_202E(object P_0, string P_1) - { - ArgumentNullException.ThrowIfNull(P_0, P_1); - } - - static FileInfo _202B_200E_200B_206E_200F_200E_200E_206E_206D_206B_200C_206F_202B_202E_202E_200F_200B_206A_202C_206F_200D_206A_202B_206E_202C_206F_206D_206B_202E_200C_202D_200B_202E_200C_202C_200C_202B_206F_200B_206B_202E(IDalamudPluginInterface P_0) - { - return P_0.ConfigFile; - } - - static bool _202B_200B_202C_202D_206F_202A_202B_200E_200D_202B_202E_206C_206D_202A_200E_206D_206F_206E_202E_206A_206F_206B_206F_200D_202E_206A_200C_206F_202C_200C_206D_202C_206C_206B_206F_206A_206B_202C_202C_200F_202E(FileSystemInfo P_0) - { - return P_0.Exists; - } - - static string _206D_206B_206E_200D_200E_206A_206C_202D_202B_202E_206F_200E_202E_200C_202C_206D_206B_202C_206D_206A_202B_206B_200F_206C_206C_200F_200C_206A_206B_206B_202C_200D_206F_200E_200B_200B_200E_200D_206D_202C_202E(FileSystemInfo P_0) - { - return P_0.FullName; - } - - static FileInfo _202E_202E_200F_200B_200F_200E_200D_206C_200C_200E_200F_200D_200F_206A_200B_206E_202C_206C_202C_200E_200E_202B_206D_202A_200F_206C_206F_206B_202B_202B_200F_206E_200F_200C_202A_206E_202B_206D_206C_206D_202E(FileInfo P_0, string P_1, bool P_2) - { - return P_0.CopyTo(P_1, P_2); - } - - static void _202D_200C_202B_200D_202C_206E_202E_206E_206B_206D_202B_202A_206E_200E_206A_200E_202E_202D_200D_202D_202C_202A_200C_200D_202C_206A_206A_202C_206E_200F_202B_200E_206D_206C_206B_206A_206C_202E_202E_206B_202E(IPluginLog P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.Warning(P_1, P_2, P_3); - } - - static Stopwatch _202A_202C_206F_200E_202A_202D_200C_202B_206C_206A_202E_200D_202C_202A_200C_206B_202C_206B_202C_206A_200D_206E_202C_202A_200D_206E_206E_200C_206E_200C_206C_200E_202D_206B_206E_202C_202A_206C_206F_206A_202E() - { - return Stopwatch.StartNew(); - } - - static bool _202C_202E_202E_200D_202B_206D_200F_200C_202C_200E_206B_206C_206B_206E_206E_202B_200C_200B_206F_206D_200C_200E_202B_206F_200E_202E_206E_206D_202A_200B_202D_200E_200B_206E_206E_206B_206D_200C_202B_206E_202E(NpcPositionCache P_0) - { - return P_0.TryLoadFromDisk(); - } - - static void _200E_202B_200F_202B_200F_206A_200C_200F_200F_206C_206A_202A_206E_206E_202B_206D_202C_206C_202A_206E_200E_202D_200E_202A_202C_202E_206A_206A_206E_200D_206C_206B_202E_206A_200C_202A_206E_202C_206C_206C_202E(ReadOnlySpan P_0) - { - Task.WaitAll(P_0); - } - - static TimeSpan _200B_206D_206E_206E_202A_202E_202C_206D_202E_206C_206C_206F_206E_206F_206C_200F_200E_206E_200E_200B_200B_200E_202A_200C_206C_200E_200D_206D_206C_200B_206C_200E_206F_206C_200E_200B_200B_200C_202A_200D_202E(Stopwatch P_0) - { - return P_0.Elapsed; - } - - static void _202B_200C_206A_206E_202D_206A_200E_206F_202D_200F_206E_200C_202B_202E_202E_202C_206B_202D_202C_206F_206E_200C_200D_200E_202E_200F_200D_206E_206D_200D_202D_202E_200B_206E_202E_206E_200B_200E_202C_200C_202E(Stopwatch P_0) - { - P_0.Restart(); - } - - static void _206A_206C_200E_206E_202A_202B_202C_200C_202D_206A_206A_200E_206B_202E_200F_206C_200D_202D_202B_200C_200C_206F_202B_202A_202C_200B_200D_200F_200C_200F_200B_206C_206B_202A_202C_200E_206D_206E_200E_206E_202E(LWindow P_0, bool P_1) - { - P_0.IsOpenAndUncollapsed = P_1; - } - - static void _200B_202A_206D_202C_206C_206A_200E_202C_200D_202D_206B_206B_200F_202B_202E_206B_206E_200F_206F_200B_200D_202A_200B_200F_200C_206F_200F_200F_200F_202E_200F_206B_200B_200D_206D_206A_200D_200B_206F_206C_202E(Microsoft.Extensions.Logging.ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static ILoggingBuilder _202C_202C_206F_206A_202E_200C_206C_200E_202D_200C_200E_200F_206E_200D_206B_200E_206A_202C_200F_200E_200D_206C_200C_202C_202A_206F_200E_206E_206C_206C_206D_202A_200D_202C_202C_200E_206D_200F_206E_206D_202E(ILoggingBuilder P_0, LogLevel P_1) - { - return P_0.SetMinimumLevel(P_1); - } - - static ILoggingBuilder _206B_202C_206A_206D_200B_200B_202D_200D_206F_202C_202C_200F_206B_202A_202B_206E_202D_206C_206D_202E_200E_202A_202E_200E_202C_202B_206E_202E_202A_200E_202B_200F_206C_202D_202E_200E_206D_202C_200F_202E(ILoggingBuilder P_0) - { - return P_0.ClearProviders(); - } - - static DalamudLoggerProvider _206C_200C_202E_202B_200B_206E_202E_202A_202A_206F_206B_200C_206E_206A_200E_202B_206F_206B_200F_206C_200C_206D_200B_206D_206E_202A_200D_200E_202D_206D_206E_202D_200E_206C_202E_206E_206E_206F_206E_202E(IPluginLog P_0, Func P_1) - { - return new DalamudLoggerProvider(P_0, P_1); - } - - static ILoggingBuilder _200E_206D_206C_202E_206B_200D_206E_200E_206B_206E_206D_202D_200B_200D_206F_200F_200E_206E_202E_206F_202D_200F_206C_200E_200E_206B_202B_206F_206D_206E_200E_206B_202A_200D_200D_202D_202D_202D_200E_200D_202E(ILoggingBuilder P_0, ILoggerProvider P_1) - { - return P_0.AddProvider(P_1); - } } diff --git a/Questionable/Questionable/ServiceCollectionExtensions.cs b/Questionable/Questionable/ServiceCollectionExtensions.cs index 9bf737c..6aa999b 100644 --- a/Questionable/Questionable/ServiceCollectionExtensions.cs +++ b/Questionable/Questionable/ServiceCollectionExtensions.cs @@ -14,7 +14,7 @@ internal static class ServiceCollectionExtensions public static void AddTaskExecutor(this IServiceCollection serviceCollection) where T : class, ITask where TExecutor : TaskExecutor { - serviceCollection.AddKeyedTransient(_202D_202C_200F_200B_206C_206C_200D_206B_200E_206F_206B_202E_206E_206F_200D_200E_206A_200B_202D_200D_206C_202A_202A_202B_200C_202A_206C_206D_202A_202A_206B_206E_200C_202C_202E_200B_206C_200E_202A_202D_202E(typeof(T).TypeHandle)); + serviceCollection.AddKeyedTransient(typeof(T)); serviceCollection.AddTransient(); } @@ -23,9 +23,4 @@ internal static class ServiceCollectionExtensions serviceCollection.AddTaskFactory(); serviceCollection.AddTaskExecutor(); } - - static Type _202D_202C_200F_200B_206C_206C_200D_206B_200E_206F_206B_202E_206E_206F_200D_200E_206A_200B_202D_200D_206C_202A_202A_202B_200C_202A_206C_206D_202A_202A_206B_206E_200C_202C_202E_200B_206C_200E_202A_202D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } } diff --git a/Questionable/System.Text.RegularExpressions.Generated/-RegexGenerator_g-FF909AF37F4C319C8940E7DA0E71D9E470824ECE485FE299B23B08984F5D534F6__MultipleWhitespaceRegex_0.cs b/Questionable/System.Text.RegularExpressions.Generated/-RegexGenerator_g-FF909AF37F4C319C8940E7DA0E71D9E470824ECE485FE299B23B08984F5D534F6__MultipleWhitespaceRegex_0.cs index c9031aa..7e4daa8 100644 --- a/Questionable/System.Text.RegularExpressions.Generated/-RegexGenerator_g-FF909AF37F4C319C8940E7DA0E71D9E470824ECE485FE299B23B08984F5D534F6__MultipleWhitespaceRegex_0.cs +++ b/Questionable/System.Text.RegularExpressions.Generated/-RegexGenerator_g-FF909AF37F4C319C8940E7DA0E71D9E470824ECE485FE299B23B08984F5D534F6__MultipleWhitespaceRegex_0.cs @@ -13,43 +13,12 @@ internal sealed class _003CRegexGenerator_g_003EFF909AF37F4C319C8940E7DA0E71D9E4 { protected override void Scan(ReadOnlySpan inputSpan) { - int num = 154878099; - while (true) + while (TryFindNextPossibleStartingPosition(inputSpan) && !TryMatchAtCurrentPosition(inputSpan) && runtextpos != inputSpan.Length) { - int num2 = num; - int num3 = 154878099; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + runtextpos++; + if (_003CRegexGenerator_g_003EFF909AF37F4C319C8940E7DA0E71D9E470824ECE485FE299B23B08984F5D534F6__Utilities.s_hasTimeout) { - case 2: CheckTimeout(); - num = 154878099; - break; - case 6: - num = ((runtextpos != inputSpan.Length) ? 154878098 : 154878103); - break; - case 4: - return; - case 0: - num = ((!TryFindNextPossibleStartingPosition(inputSpan)) ? 154878103 : 154878096); - break; - case 3: - num = (TryMatchAtCurrentPosition(inputSpan) ? 154878103 : 154878101); - break; - case 1: - { - int num7 = runtextpos; - num3 = 1; - num4 = num7; - runtextpos = (num4 | num3) + (num4 & num3); - num = ((!_003CRegexGenerator_g_003EFF909AF37F4C319C8940E7DA0E71D9E470824ECE485FE299B23B08984F5D534F6__Utilities.s_hasTimeout) ? 154878099 : 154878097); - break; - } - case 5: - num = 154878099; - break; } } } @@ -57,79 +26,31 @@ internal sealed class _003CRegexGenerator_g_003EFF909AF37F4C319C8940E7DA0E71D9E4 private bool TryFindNextPossibleStartingPosition(ReadOnlySpan inputSpan) { int num = runtextpos; - int num2 = ((num > inputSpan.Length - 2) ? (-448342944) : (-448342943)); - int num9 = default(int); - ReadOnlySpan readOnlySpan = default(ReadOnlySpan); - int num10 = default(int); - while (true) + if (num <= inputSpan.Length - 2) { - int num3 = num2; - int num4 = -448342941; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) + ReadOnlySpan readOnlySpan = inputSpan.Slice(num); + int num2; + for (num2 = 0; num2 < readOnlySpan.Length - 1; num2++) { - case 4: - num2 = ((num9 < readOnlySpan.Length - 1) ? (-448342942) : (-448342944)); - break; - case 0: - { - int num14 = num9; - num4 = 1; - num5 = num14; - int num15 = num5 ^ num4; - int num16 = num5 & num4; - num9 = num15 + (num16 + num16); - num2 = -448342937; - break; - } - case 3: - runtextpos = inputSpan.Length; - return false; - case 2: - readOnlySpan = inputSpan.Slice(num); - num9 = 0; - num2 = -448342937; - break; - case 1: - num10 = readOnlySpan.Slice(num9).IndexOfAny(_003CRegexGenerator_g_003EFF909AF37F4C319C8940E7DA0E71D9E470824ECE485FE299B23B08984F5D534F6__Utilities.s_whitespace); - num2 = ((num10 < 0) ? (-448342944) : (-448342939)); - break; - case 7: - { - int num17 = num9; - num4 = 1; - num5 = num17; - int num18 = num5 ^ num4; - int num19 = num5 & num4; - num2 = ((!char.IsWhiteSpace(readOnlySpan[num18 + (num19 + num19)])) ? (-448342941) : (-448342938)); - break; - } - case 5: - num4 = num9; - num5 = num; - runtextpos = (num5 | num4) + (num5 & num4); - return true; - case 8: - num2 = -448342943; - break; - case 6: - { - int num8 = num9; - num4 = num10; - num5 = num8; - int num11 = num5 ^ num4; - int num12 = num5 & num4; - num9 = num11 + (num12 + num12); - int num13 = num9; - num4 = 1; - num5 = num13; - num2 = (((uint)((num5 | num4) + (num5 & num4)) >= (uint)readOnlySpan.Length) ? (-448342944) : (-448342940)); - break; - } + int num3 = readOnlySpan.Slice(num2).IndexOfAny(_003CRegexGenerator_g_003EFF909AF37F4C319C8940E7DA0E71D9E470824ECE485FE299B23B08984F5D534F6__Utilities.s_whitespace); + if (num3 < 0) + { + break; + } + num2 += num3; + if ((uint)(num2 + 1) >= (uint)readOnlySpan.Length) + { + break; + } + if (char.IsWhiteSpace(readOnlySpan[num2 + 1])) + { + runtextpos = num + num2; + return true; + } } } + runtextpos = inputSpan.Length; + return false; } private bool TryMatchAtCurrentPosition(ReadOnlySpan inputSpan) @@ -137,49 +58,17 @@ internal sealed class _003CRegexGenerator_g_003EFF909AF37F4C319C8940E7DA0E71D9E4 int num = runtextpos; int start = num; ReadOnlySpan readOnlySpan = inputSpan.Slice(num); - int num2 = 0; - int num3 = -1031837865; - while (true) + int i; + for (i = 0; (uint)i < (uint)readOnlySpan.Length && char.IsWhiteSpace(readOnlySpan[i]); i++) { - int num4 = num3; - int num5 = -1031837867; - int num6 = num4; - switch ((num6 | num5) - (num6 & num5)) - { - case 6: - num3 = -1031837865; - break; - case 1: - return false; - case 4: - { - readOnlySpan = readOnlySpan.Slice(num2); - int num7 = num; - num5 = num2; - num6 = num7; - Capture(0, start, runtextpos = (num6 | num5) + (num6 & num5)); - return true; - } - case 5: - num3 = (char.IsWhiteSpace(readOnlySpan[num2]) ? (-1031837866) : (-1031837867)); - break; - case 3: - { - int num8 = num2; - num5 = 1; - num6 = num8; - num2 = (num6 | num5) + (num6 & num5); - num3 = -1031837865; - break; - } - case 2: - num3 = (((uint)num2 >= (uint)readOnlySpan.Length) ? (-1031837867) : (-1031837872)); - break; - case 0: - num3 = ((num2 >= 2) ? (-1031837871) : (-1031837868)); - break; - } } + if (i < 2) + { + return false; + } + readOnlySpan = readOnlySpan.Slice(i); + Capture(0, start, runtextpos = num + i); + return true; } } @@ -191,10 +80,9 @@ internal sealed class _003CRegexGenerator_g_003EFF909AF37F4C319C8940E7DA0E71D9E4 internal static readonly _003CRegexGenerator_g_003EFF909AF37F4C319C8940E7DA0E71D9E470824ECE485FE299B23B08984F5D534F6__MultipleWhitespaceRegex_0 Instance = new _003CRegexGenerator_g_003EFF909AF37F4C319C8940E7DA0E71D9E470824ECE485FE299B23B08984F5D534F6__MultipleWhitespaceRegex_0(); - [MethodImpl(MethodImplOptions.NoInlining)] private _003CRegexGenerator_g_003EFF909AF37F4C319C8940E7DA0E71D9E470824ECE485FE299B23B08984F5D534F6__MultipleWhitespaceRegex_0() { - pattern = 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(-1028830438); + pattern = "\\s\\s+"; roptions = RegexOptions.IgnoreCase; Regex.ValidateMatchTimeout(_003CRegexGenerator_g_003EFF909AF37F4C319C8940E7DA0E71D9E470824ECE485FE299B23B08984F5D534F6__Utilities.s_defaultTimeout); internalMatchTimeout = _003CRegexGenerator_g_003EFF909AF37F4C319C8940E7DA0E71D9E470824ECE485FE299B23B08984F5D534F6__Utilities.s_defaultTimeout; diff --git a/Questionable/System.Text.RegularExpressions.Generated/-RegexGenerator_g-FF909AF37F4C319C8940E7DA0E71D9E470824ECE485FE299B23B08984F5D534F6__Utilities.cs b/Questionable/System.Text.RegularExpressions.Generated/-RegexGenerator_g-FF909AF37F4C319C8940E7DA0E71D9E470824ECE485FE299B23B08984F5D534F6__Utilities.cs index f5916fd..71e4814 100644 --- a/Questionable/System.Text.RegularExpressions.Generated/-RegexGenerator_g-FF909AF37F4C319C8940E7DA0E71D9E470824ECE485FE299B23B08984F5D534F6__Utilities.cs +++ b/Questionable/System.Text.RegularExpressions.Generated/-RegexGenerator_g-FF909AF37F4C319C8940E7DA0E71D9E470824ECE485FE299B23B08984F5D534F6__Utilities.cs @@ -6,24 +6,9 @@ namespace System.Text.RegularExpressions.Generated; [GeneratedCode("System.Text.RegularExpressions.Generator", "10.0.14.37416")] internal static class _003CRegexGenerator_g_003EFF909AF37F4C319C8940E7DA0E71D9E470824ECE485FE299B23B08984F5D534F6__Utilities { - internal static readonly TimeSpan s_defaultTimeout = ((_206B_202A_206B_202C_200B_206A_202E_202C_200D_206E_200D_202E_200E_200B_206F_200C_202B_202A_202A_206B_202C_202A_200E_200D_202E_202E_200D_200E_202E_206E_206D_202E_202B_200F_206A_200E_202E_200E_200F_206B_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(1968606004)) is TimeSpan timeSpan) ? timeSpan : Regex.InfiniteMatchTimeout); + internal static readonly TimeSpan s_defaultTimeout = ((AppContext.GetData("REGEX_DEFAULT_MATCH_TIMEOUT") is TimeSpan timeSpan) ? timeSpan : Regex.InfiniteMatchTimeout); internal static readonly bool s_hasTimeout = s_defaultTimeout != Regex.InfiniteMatchTimeout; - internal static readonly SearchValues s_whitespace = _200B_202D_202C_202E_206B_200C_200F_200D_200E_206C_202B_202C_200F_206B_206A_206A_200E_202D_206A_206F_206E_206C_200D_206E_202A_206A_200B_200C_206D_206F_200B_206A_202B_206C_206B_206F_200D_206F_206A_200F_202E(_200E_200C_200B_202E_202E_200E_206B_202C_206A_206D_206A_200B_202B_202A_206B_202D_202A_206D_202D_206C_200F_202D_200C_206F_206A_202E_200E_202C_202B_200D_206D_200E_202A_206E_200D_202B_202E_206C_206E_206A_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(-1890901268))); - - static object _206B_202A_206B_202C_200B_206A_202E_202C_200D_206E_200D_202E_200E_200B_206F_200C_202B_202A_202A_206B_202C_202A_200E_200D_202E_202E_200D_200E_202E_206E_206D_202E_202B_200F_206A_200E_202E_200E_200F_206B_202E(string P_0) - { - return AppContext.GetData(P_0); - } - - static ReadOnlySpan _200E_200C_200B_202E_202E_200E_206B_202C_206A_206D_206A_200B_202B_202A_206B_202D_202A_206D_202D_206C_200F_202D_200C_206F_206A_202E_200E_202C_202B_200D_206D_200E_202A_206E_200D_202B_202E_206C_206E_206A_202E(string P_0) - { - return P_0.AsSpan(); - } - - static SearchValues _200B_202D_202C_202E_206B_200C_200F_200D_200E_206C_202B_202C_200F_206B_206A_206A_200E_202D_206A_206F_206E_206C_200D_206E_202A_206A_200B_200C_206D_206F_200B_206A_202B_206C_206B_206F_200D_206F_206A_200F_202E(ReadOnlySpan P_0) - { - return SearchValues.Create(P_0); - } + internal static readonly SearchValues s_whitespace = SearchValues.Create("\t\n\v\f\r \u0085\u00a0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000".AsSpan()); } diff --git a/SeasonalDutyPaths/Questionable.SeasonalDutyPaths.SeasonalDutyBundle b/SeasonalDutyPaths/Questionable.SeasonalDutyPaths.SeasonalDutyBundle index 3ff6467..0a93c5d 100644 Binary files a/SeasonalDutyPaths/Questionable.SeasonalDutyPaths.SeasonalDutyBundle and b/SeasonalDutyPaths/Questionable.SeasonalDutyPaths.SeasonalDutyBundle differ diff --git a/SeasonalDutyPaths/Questionable.SeasonalDutyPaths/AssemblySeasonalDutyDefinitionLoader.cs b/SeasonalDutyPaths/Questionable.SeasonalDutyPaths/AssemblySeasonalDutyDefinitionLoader.cs index ea0199f..135b6af 100644 --- a/SeasonalDutyPaths/Questionable.SeasonalDutyPaths/AssemblySeasonalDutyDefinitionLoader.cs +++ b/SeasonalDutyPaths/Questionable.SeasonalDutyPaths/AssemblySeasonalDutyDefinitionLoader.cs @@ -3,8 +3,6 @@ using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.IO; -using System.Reflection; -using System.Runtime.CompilerServices; using System.Security.Cryptography; using System.Threading; using Questionable.Model.IO; @@ -18,127 +16,26 @@ internal static class AssemblySeasonalDutyDefinitionLoader internal static TimeSpan? DecodeDuration { get; private set; } - internal static Stream SeasonalDutyDefinitionSchema - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return _206C_206D_202B_206E_202D_202D_200E_206D_206A_202D_206C_206C_206B_200F_202A_200D_206A_206B_206C_200D_202C_206C_200D_206F_206F_202B_202D_200C_206F_200D_200F_200F_206B_200D_206B_202E_206B_206E_202E_206F_202E(_200C_206C_200D_202D_202B_206D_206C_202C_202B_200F_206E_206E_202C_200F_200D_200D_206C_200C_206A_202A_206B_202A_200E_206A_200B_200C_202D_200C_200E_200C_202A_200F_202D_202C_200B_202C_206E_202C_206E_202A_202E(_206F_200B_200D_206F_200D_200C_202C_206F_200F_202A_206E_206F_202A_202A_206A_202C_202D_200F_202C_206B_202B_200E_206F_206B_202C_200E_202C_206C_202D_206C_206D_202D_202C_202C_200B_202B_206D_206E_200D_206F_202E(typeof(AssemblySeasonalDutyDefinitionLoader).TypeHandle)), global::_003CModule_003E._202C_206C_202B_200B_206A_206E_200C_202C_202D_206B_206D_206F_206F_206D_206E_200C_206A_206B_200F_200E_206A_202B_200B_200E_200C_202C_206A_206C_206B_202A_202C_202B_206A_206F_206D_200D_206D_202C_200D_200E_202E(-1394732188)); - } - } + internal static Stream SeasonalDutyDefinitionSchema => typeof(AssemblySeasonalDutyDefinitionLoader).Assembly.GetManifestResourceStream("Questionable.SeasonalDutyPaths.SeasonalDutyDefinitionSchema"); internal static IReadOnlyDictionary GetDefinitions() { return Definitions.Value; } - [MethodImpl(MethodImplOptions.NoInlining)] private static IReadOnlyDictionary LoadDefinitions() { - Stopwatch stopwatch = _206F_206A_206B_206D_206C_206B_202A_200E_206F_206E_200B_202C_200D_200D_202C_206B_202C_200B_202E_200B_200C_202E_202C_202B_200C_200C_200F_206D_206A_200E_206E_206D_206F_202C_200C_200B_206E_202B_206D_206A_202E(); - Stream stream = _206C_206D_202B_206E_202D_202D_200E_206D_206A_202D_206C_206C_206B_200F_202A_200D_206A_206B_206C_200D_202C_206C_200D_206F_206F_202B_202D_200C_206F_200D_200F_200F_206B_200D_206B_202E_206B_206E_202E_206F_202E(_200C_206C_200D_202D_202B_206D_206C_202C_202B_200F_206E_206E_202C_200F_200D_200D_206C_200C_206A_202A_206B_202A_200E_206A_200B_200C_202D_200C_200E_200C_202A_200F_202D_202C_200B_202C_206E_202C_206E_202A_202E(_206F_200B_200D_206F_200D_200C_202C_206F_200F_202A_206E_206F_202A_202A_206A_202C_202D_200F_202C_206B_202B_200E_206F_206B_202C_200E_202C_206C_202D_206C_206D_202D_202C_202C_200B_202B_206D_206E_200D_206F_202E(typeof(AssemblySeasonalDutyDefinitionLoader).TypeHandle)), global::_003CModule_003E._202A_200F_206B_202B_206C_202D_206A_200F_200E_206B_202A_200D_202A_206C_202C_200C_202D_206E_206B_202B_206D_206F_200F_200B_200B_206E_200C_206D_200B_202B_206D_206E_200E_206F_206A_202E_200C_200C_202C_202E_202E(-1684643272)); - try + Stopwatch stopwatch = Stopwatch.StartNew(); + using Stream stream = typeof(AssemblySeasonalDutyDefinitionLoader).Assembly.GetManifestResourceStream("Questionable.SeasonalDutyPaths.SeasonalDutyBundle"); + byte[] array = PathBundleSecret.Key(); + List> list = PathBundle.Deserialize(stream, array); + CryptographicOperations.ZeroMemory(array); + Dictionary dictionary = new Dictionary(list.Count); + foreach (var (s, value) in list) { - byte[] array = PathBundleSecret.Key(); - List> list = PathBundle.Deserialize(stream, array); - _202D_200C_200B_202E_206E_206C_206E_200D_200D_200D_202B_200D_206E_200B_206D_206C_200C_206C_202B_200B_206A_206F_206E_206E_202E_202D_206D_200C_200F_202A_206B_206F_206F_202E_200E_202B_200B_206A_206E_200E_202E((Span)array); - Dictionary dictionary = new Dictionary(list.Count); - using (List>.Enumerator enumerator = list.GetEnumerator()) - { - int num = -221038175; - while (true) - { - int num2 = num; - int num3 = -221038175; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = (enumerator.MoveNext() ? (-221038176) : (-221038174)); - break; - case 1: - var (s, value) = (KeyValuePair)(ref enumerator.Current); - dictionary[ushort.Parse(s, _206E_202B_200F_206F_206E_206F_206F_200C_202A_206B_206D_200B_206C_200C_202A_200E_200C_202B_200E_200F_202E_200E_202B_200C_206A_200F_202D_206D_202D_202E_200C_202E_206F_206A_202D_202D_200F_202A_206D_200F_202E())] = value; - num = -221038175; - break; - case 2: - num = -221038175; - break; - case 3: - goto end_IL_005c; - } - continue; - end_IL_005c: - break; - } - } - DecodeDuration = _206B_206F_206A_206A_206E_202E_206D_206B_202C_206C_202A_202D_200D_202A_206F_202E_202D_206B_202B_206F_202A_206D_202A_202A_206C_200B_202B_200C_206B_200F_202D_206D_206F_206A_206C_206B_202D_206C_206B_206A_202E(stopwatch); - return dictionary; + dictionary[ushort.Parse(s, CultureInfo.InvariantCulture)] = value; } - finally - { - int num = ((stream == null) ? (-142648274) : (-142648275)); - while (true) - { - int num5 = num; - int num3 = -142648273; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -142648275; - break; - case 2: - _200C_202D_202D_206C_200C_206D_206A_206E_200F_206B_202C_206D_206F_202C_202A_206E_206C_200B_202A_200E_202A_202A_200C_202B_202C_206B_202E_202A_206C_202E_202A_206E_200C_202C_202C_206E_202C_206A_200D_202A_202E((IDisposable)stream); - num = -142648274; - break; - case 1: - goto end_IL_0141; - } - continue; - end_IL_0141: - break; - } - } - } - - static Type _206F_200B_200D_206F_200D_200C_202C_206F_200F_202A_206E_206F_202A_202A_206A_202C_202D_200F_202C_206B_202B_200E_206F_206B_202C_200E_202C_206C_202D_206C_206D_202D_202C_202C_200B_202B_206D_206E_200D_206F_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static Assembly _200C_206C_200D_202D_202B_206D_206C_202C_202B_200F_206E_206E_202C_200F_200D_200D_206C_200C_206A_202A_206B_202A_200E_206A_200B_200C_202D_200C_200E_200C_202A_200F_202D_202C_200B_202C_206E_202C_206E_202A_202E(Type P_0) - { - return P_0.Assembly; - } - - static Stream _206C_206D_202B_206E_202D_202D_200E_206D_206A_202D_206C_206C_206B_200F_202A_200D_206A_206B_206C_200D_202C_206C_200D_206F_206F_202B_202D_200C_206F_200D_200F_200F_206B_200D_206B_202E_206B_206E_202E_206F_202E(Assembly P_0, string P_1) - { - return P_0.GetManifestResourceStream(P_1); - } - - static Stopwatch _206F_206A_206B_206D_206C_206B_202A_200E_206F_206E_200B_202C_200D_200D_202C_206B_202C_200B_202E_200B_200C_202E_202C_202B_200C_200C_200F_206D_206A_200E_206E_206D_206F_202C_200C_200B_206E_202B_206D_206A_202E() - { - return Stopwatch.StartNew(); - } - - static void _202D_200C_200B_202E_206E_206C_206E_200D_200D_200D_202B_200D_206E_200B_206D_206C_200C_206C_202B_200B_206A_206F_206E_206E_202E_202D_206D_200C_200F_202A_206B_206F_206F_202E_200E_202B_200B_206A_206E_200E_202E(Span P_0) - { - CryptographicOperations.ZeroMemory(P_0); - } - - static CultureInfo _206E_202B_200F_206F_206E_206F_206F_200C_202A_206B_206D_200B_206C_200C_202A_200E_200C_202B_200E_200F_202E_200E_202B_200C_206A_200F_202D_206D_202D_202E_200C_202E_206F_206A_202D_202D_200F_202A_206D_200F_202E() - { - return CultureInfo.InvariantCulture; - } - - static TimeSpan _206B_206F_206A_206A_206E_202E_206D_206B_202C_206C_202A_202D_200D_202A_206F_202E_202D_206B_202B_206F_202A_206D_202A_202A_206C_200B_202B_200C_206B_200F_202D_206D_206F_206A_206C_206B_202D_206C_206B_206A_202E(Stopwatch P_0) - { - return P_0.Elapsed; - } - - static void _200C_202D_202D_206C_200C_206D_206A_206E_200F_206B_202C_206D_206F_202C_202A_206E_206C_200B_202A_200E_202A_202A_200C_202B_202C_206B_202E_202A_206C_202E_202A_206E_200C_202C_202C_206E_202C_206A_200D_202A_202E(IDisposable P_0) - { - P_0.Dispose(); + DecodeDuration = stopwatch.Elapsed; + return dictionary; } } diff --git a/SeasonalDutyPaths/Questionable.SeasonalDutyPaths/PathBundleSecret.cs b/SeasonalDutyPaths/Questionable.SeasonalDutyPaths/PathBundleSecret.cs index 49edc23..fac6799 100644 --- a/SeasonalDutyPaths/Questionable.SeasonalDutyPaths/PathBundleSecret.cs +++ b/SeasonalDutyPaths/Questionable.SeasonalDutyPaths/PathBundleSecret.cs @@ -1,66 +1,30 @@ -using System; -using System.Runtime.CompilerServices; - namespace Questionable.SeasonalDutyPaths; internal static class PathBundleSecret { - private static readonly byte[] A; + private static readonly byte[] A = new byte[32] + { + 251, 250, 177, 24, 254, 78, 188, 97, 60, 65, + 105, 80, 183, 91, 229, 181, 77, 98, 171, 136, + 116, 248, 217, 243, 101, 83, 97, 216, 103, 115, + 176, 184 + }; - private static readonly byte[] B; + private static readonly byte[] B = new byte[32] + { + 10, 142, 23, 61, 218, 98, 70, 165, 207, 244, + 222, 75, 120, 153, 93, 56, 21, 57, 47, 72, + 65, 245, 253, 11, 142, 198, 115, 115, 202, 36, + 6, 70 + }; internal static byte[] Key() { byte[] array = new byte[A.Length]; - int num = 0; - int num2 = 320407520; - while (true) + for (int i = 0; i < array.Length; i++) { - int num3 = num2; - int num4 = 320407521; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 3: - num2 = 320407520; - break; - case 0: - return array; - case 2: - { - int num6 = num; - byte num7 = A[num]; - num4 = B[num]; - num5 = num7; - int num8 = num5 + num4; - int num9 = num5 & num4; - array[num6] = (byte)(num8 - (num9 + num9)); - int num10 = num; - num4 = 1; - num5 = num10; - num = (num5 | num4) + (num5 & num4); - num2 = 320407520; - break; - } - case 1: - num2 = ((num < array.Length) ? 320407523 : 320407521); - break; - } + array[i] = (byte)(A[i] ^ B[i]); } - } - - static PathBundleSecret() - { - byte[] array = new byte[32]; - _206E_200C_200D_200F_202A_200D_206C_202E_200E_202C_202E_200D_202D_202C_200D_206D_202B_206A_206C_206F_200D_206C_202B_206B_200F_206B_200F_206D_206F_206B_200D_200E_200B_206E_202E_200B_200B_200C_202E_202A_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - A = array; - byte[] array2 = new byte[32]; - _206E_200C_200D_200F_202A_200D_206C_202E_200E_202C_202E_200D_202D_202C_200D_206D_202B_206A_206C_206F_200D_206C_202B_206B_200F_206B_200F_206D_206F_206B_200D_200E_200B_206E_202E_200B_200B_200C_202E_202A_202E((Array)array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - B = array2; - } - - static void _206E_200C_200D_200F_202A_200D_206C_202E_200E_202C_202E_200D_202D_202C_200D_206D_202B_206A_206C_206F_200D_206C_202B_206B_200F_206B_200F_206D_206F_206B_200D_200E_200B_206E_202E_200B_200B_200C_202E_202A_202E(Array P_0, RuntimeFieldHandle P_1) - { - RuntimeHelpers.InitializeArray(P_0, P_1); + return array; } } diff --git a/SmartNav.Data/SmartNav.Data.chocobo-taxi-stands.bin b/SmartNav.Data/SmartNav.Data.chocobo-taxi-stands.bin index 7971d3a..7f11366 100644 Binary files a/SmartNav.Data/SmartNav.Data.chocobo-taxi-stands.bin and b/SmartNav.Data/SmartNav.Data.chocobo-taxi-stands.bin differ diff --git a/SmartNav.Data/SmartNav.Data.derived-arrivals.bin b/SmartNav.Data/SmartNav.Data.derived-arrivals.bin index d42df9f..c802c27 100644 Binary files a/SmartNav.Data/SmartNav.Data.derived-arrivals.bin and b/SmartNav.Data/SmartNav.Data.derived-arrivals.bin differ diff --git a/SmartNav.Data/SmartNav.Data.teleport-tickets.bin b/SmartNav.Data/SmartNav.Data.teleport-tickets.bin index ab58312..287cbd2 100644 Binary files a/SmartNav.Data/SmartNav.Data.teleport-tickets.bin and b/SmartNav.Data/SmartNav.Data.teleport-tickets.bin differ diff --git a/SmartNav.Data/SmartNav.Data.warp-destinations.bin b/SmartNav.Data/SmartNav.Data.warp-destinations.bin index f8df165..71ffb4b 100644 Binary files a/SmartNav.Data/SmartNav.Data.warp-destinations.bin and b/SmartNav.Data/SmartNav.Data.warp-destinations.bin differ diff --git a/SmartNav.Data/SmartNav.Data.zone-sub-regions.bin b/SmartNav.Data/SmartNav.Data.zone-sub-regions.bin index 6bf25af..22610a4 100644 Binary files a/SmartNav.Data/SmartNav.Data.zone-sub-regions.bin and b/SmartNav.Data/SmartNav.Data.zone-sub-regions.bin differ diff --git a/SmartNav.Data/SmartNav.Data/AssemblyDerivedArrivalLoader.cs b/SmartNav.Data/SmartNav.Data/AssemblyDerivedArrivalLoader.cs index 47a50ab..edaae61 100644 --- a/SmartNav.Data/SmartNav.Data/AssemblyDerivedArrivalLoader.cs +++ b/SmartNav.Data/SmartNav.Data/AssemblyDerivedArrivalLoader.cs @@ -1,18 +1,11 @@ -using System.Runtime.CompilerServices; using SmartNav.Model.Navigation; namespace SmartNav.Data; public static class AssemblyDerivedArrivalLoader { - [MethodImpl(MethodImplOptions.NoInlining)] public static DerivedArrivalFile GetArrivals(string? overrideDirectory = null) { - return SmartNavResources.Load(global::_003CModule_003E._202C_200E_206B_202E_202C_202D_206F_202A_200E_206D_202A_200D_206A_202C_200D_206D_202A_206E_200E_206C_206A_206A_200C_206E_206C_202A_200E_206D_200F_206D_200B_202A_202B_200D_202B_206F_202C_200F_200C_200E_202E(-1394732188), overrideDirectory) ?? _200B_202A_202E_206E_200C_202C_200F_202C_202D_206A_206F_202A_202C_206E_202A_202E_202D_200B_206D_200C_202C_206B_202B_206C_206D_200D_206D_202C_206C_206B_202E_206D_200F_202D_200D_206D_200C_200C_200B_202D_202E(); - } - - static DerivedArrivalFile _200B_202A_202E_206E_200C_202C_200F_202C_202D_206A_206F_202A_202C_206E_202A_202E_202D_200B_206D_200C_202C_206B_202B_206C_206D_200D_206D_202C_206C_206B_202E_206D_200F_202D_200D_206D_200C_200C_200B_202D_202E() - { - return new DerivedArrivalFile(); + return SmartNavResources.Load("derived-arrivals.json", overrideDirectory) ?? new DerivedArrivalFile(); } } diff --git a/SmartNav.Data/SmartNav.Data/AssemblyTaxiStandLoader.cs b/SmartNav.Data/SmartNav.Data/AssemblyTaxiStandLoader.cs index 3d352a6..ba6c4a7 100644 --- a/SmartNav.Data/SmartNav.Data/AssemblyTaxiStandLoader.cs +++ b/SmartNav.Data/SmartNav.Data/AssemblyTaxiStandLoader.cs @@ -1,14 +1,12 @@ using System.Collections.Generic; -using System.Runtime.CompilerServices; using SmartNav.Model.Navigation; namespace SmartNav.Data; public static class AssemblyTaxiStandLoader { - [MethodImpl(MethodImplOptions.NoInlining)] public static IReadOnlyList GetStands(string? overrideDirectory = null) { - return SmartNavResources.Load>(global::_003CModule_003E._202E_202A_206A_202B_202D_206F_202B_200E_200B_200B_206A_206D_200F_202D_206F_200F_206F_206F_206B_206A_206B_202D_206C_206B_202A_200C_206F_206C_200C_206D_202D_202E_202D_202E_202D_206C_200D_206C_206B_200D_202E(1832135283), overrideDirectory) ?? new List(); + return SmartNavResources.Load>("chocobo-taxi-stands.json", overrideDirectory) ?? new List(); } } diff --git a/SmartNav.Data/SmartNav.Data/AssemblyTeleportTicketLoader.cs b/SmartNav.Data/SmartNav.Data/AssemblyTeleportTicketLoader.cs index 6aa6ad0..fb9b9d3 100644 --- a/SmartNav.Data/SmartNav.Data/AssemblyTeleportTicketLoader.cs +++ b/SmartNav.Data/SmartNav.Data/AssemblyTeleportTicketLoader.cs @@ -1,24 +1,12 @@ using System.Collections.Generic; -using System.Runtime.CompilerServices; using SmartNav.Model.Navigation; namespace SmartNav.Data; public static class AssemblyTeleportTicketLoader { - [MethodImpl(MethodImplOptions.NoInlining)] public static IReadOnlyDictionary GetTickets(string? overrideDirectory = null) { - return _206A_200D_200C_200B_200B_200E_200E_200E_202C_200C_206C_200F_200D_206D_202A_200B_200D_200D_202D_202D_206D_200F_202C_200F_206C_202C_202D_202B_202A_202B_206C_206E_200E_200F_202C_202E_200E_206B_206C_200D_202E(SmartNavResources.Load(global::_003CModule_003E._202B_206D_206C_202B_200E_206E_202B_202C_200E_206E_206D_206C_200C_206B_202C_202A_202B_200E_202C_206D_206F_200F_202D_206F_200B_200B_200E_200E_206B_200D_206A_200B_206C_202A_206F_202B_202C_206C_206E_202B_202E(-734508580), overrideDirectory) ?? _206B_206B_200F_206A_206F_202D_202E_202D_206D_200C_200B_206A_200B_202B_200E_206A_200B_206E_206C_200B_202D_202C_200C_206A_200B_200F_200D_200D_206B_200D_206E_202B_202D_200C_206A_206E_202B_202A_206F_202E_202E()); - } - - static TeleportTicketFile _206B_206B_200F_206A_206F_202D_202E_202D_206D_200C_200B_206A_200B_202B_200E_206A_200B_206E_206C_200B_202D_202C_200C_206A_200B_200F_200D_200D_206B_200D_206E_202B_202D_200C_206A_206E_202B_202A_206F_202E_202E() - { - return new TeleportTicketFile(); - } - - static Dictionary _206A_200D_200C_200B_200B_200E_200E_200E_202C_200C_206C_200F_200D_206D_202A_200B_200D_200D_202D_202D_206D_200F_202C_200F_206C_202C_202D_202B_202A_202B_206C_206E_200E_200F_202C_202E_200E_206B_206C_200D_202E(TeleportTicketFile P_0) - { - return P_0.Tickets; + return (SmartNavResources.Load("teleport-tickets.json", overrideDirectory) ?? new TeleportTicketFile()).Tickets; } } diff --git a/SmartNav.Data/SmartNav.Data/AssemblyWarpDestinationLoader.cs b/SmartNav.Data/SmartNav.Data/AssemblyWarpDestinationLoader.cs index ed01603..286220b 100644 --- a/SmartNav.Data/SmartNav.Data/AssemblyWarpDestinationLoader.cs +++ b/SmartNav.Data/SmartNav.Data/AssemblyWarpDestinationLoader.cs @@ -1,30 +1,13 @@ using System.Collections.Generic; -using System.Runtime.CompilerServices; using SmartNav.Model.Navigation; namespace SmartNav.Data; public static class AssemblyWarpDestinationLoader { - [MethodImpl(MethodImplOptions.NoInlining)] public static (IReadOnlyList SkippedWarpIds, IReadOnlyDictionary Destinations) GetOverrides(string? overrideDirectory = null) { - WarpDestinationOverrides warpDestinationOverrides = SmartNavResources.Load(global::_003CModule_003E._206B_206A_206F_206A_202A_206A_202A_202D_206B_206B_202B_200B_200E_206A_202D_202D_200B_200C_200D_202D_206F_200C_200F_206A_202C_202C_202E_200F_200D_200E_206F_202A_202D_206A_200C_206B_202D_206A_206E_206B_202E(1593928925), overrideDirectory) ?? _202D_200E_206B_206E_206E_200C_206F_200F_206D_200E_206A_200B_200C_200D_200D_200D_202A_206C_206D_202E_202D_200B_206C_206F_200C_206A_202B_202E_202E_200E_202A_206C_202C_206B_206B_206C_206F_206C_202B_206F_202E(); - return (SkippedWarpIds: _206D_202E_200D_206D_202E_206A_200F_200E_202C_200E_200F_200D_200E_206B_202C_202E_200F_202C_202E_200B_200C_200F_206A_206A_202E_206E_202E_202B_206C_200C_202B_206B_206E_200C_200D_202E_200E_206A_206F_202E_202E(warpDestinationOverrides), Destinations: _202B_206F_206A_200D_200C_202A_200B_206C_202D_202C_202A_200D_206D_200B_206B_202A_206D_202D_202C_206E_200F_200C_206A_202A_200F_200F_200F_200D_200B_202D_206A_202D_202A_200C_206B_206F_200D_200C_202B_200F_202E(warpDestinationOverrides)); - } - - static WarpDestinationOverrides _202D_200E_206B_206E_206E_200C_206F_200F_206D_200E_206A_200B_200C_200D_200D_200D_202A_206C_206D_202E_202D_200B_206C_206F_200C_206A_202B_202E_202E_200E_202A_206C_202C_206B_206B_206C_206F_206C_202B_206F_202E() - { - return new WarpDestinationOverrides(); - } - - static List _206D_202E_200D_206D_202E_206A_200F_200E_202C_200E_200F_200D_200E_206B_202C_202E_200F_202C_202E_200B_200C_200F_206A_206A_202E_206E_202E_202B_206C_200C_202B_206B_206E_200C_200D_202E_200E_206A_206F_202E_202E(WarpDestinationOverrides P_0) - { - return P_0.SkippedWarpIds; - } - - static Dictionary _202B_206F_206A_200D_200C_202A_200B_206C_202D_202C_202A_200D_206D_200B_206B_202A_206D_202D_202C_206E_200F_200C_206A_202A_200F_200F_200F_200D_200B_202D_206A_202D_202A_200C_206B_206F_200D_200C_202B_200F_202E(WarpDestinationOverrides P_0) - { - return P_0.Destinations; + WarpDestinationOverrides warpDestinationOverrides = SmartNavResources.Load("warp-destinations.json", overrideDirectory) ?? new WarpDestinationOverrides(); + return (SkippedWarpIds: warpDestinationOverrides.SkippedWarpIds, Destinations: warpDestinationOverrides.Destinations); } } diff --git a/SmartNav.Data/SmartNav.Data/AssemblyZoneSubRegionLoader.cs b/SmartNav.Data/SmartNav.Data/AssemblyZoneSubRegionLoader.cs index 43d3dca..3f74415 100644 --- a/SmartNav.Data/SmartNav.Data/AssemblyZoneSubRegionLoader.cs +++ b/SmartNav.Data/SmartNav.Data/AssemblyZoneSubRegionLoader.cs @@ -1,24 +1,12 @@ using System.Collections.Generic; -using System.Runtime.CompilerServices; using SmartNav.Model.Navigation; namespace SmartNav.Data; public static class AssemblyZoneSubRegionLoader { - [MethodImpl(MethodImplOptions.NoInlining)] public static IReadOnlyDictionary GetRegions(string? overrideDirectory = null) { - return _200F_200B_206A_206E_202E_206E_206C_206A_206B_206B_206D_206E_200E_206C_200E_202E_202E_206F_206A_206D_202D_206E_200E_202C_202A_200C_206D_206F_206A_206D_200D_206E_206B_206C_202D_200E_202C_202E_206D_202D_202E(SmartNavResources.Load(global::_003CModule_003E._202B_206C_202B_200C_200D_202B_202C_200E_202A_206C_206C_202E_206F_202E_200B_202D_202C_202D_200C_200D_206F_206E_206E_206F_206A_200F_200D_202A_206C_206C_200F_200E_200B_202D_206E_206B_206B_202A_202B_200E_202E(-1591869045), overrideDirectory) ?? _200B_200F_200C_206B_202D_200C_202D_206F_206D_206A_206F_200E_206B_200C_206A_206A_202B_206F_202A_202C_202D_206F_206A_202C_206B_200E_200B_200D_206D_206A_200F_200B_200F_202C_200F_200D_202B_206F_202A_206D_202E()); - } - - static ZoneSubRegionFile _200B_200F_200C_206B_202D_200C_202D_206F_206D_206A_206F_200E_206B_200C_206A_206A_202B_206F_202A_202C_202D_206F_206A_202C_206B_200E_200B_200D_206D_206A_200F_200B_200F_202C_200F_200D_202B_206F_202A_206D_202E() - { - return new ZoneSubRegionFile(); - } - - static Dictionary _200F_200B_206A_206E_202E_206E_206C_206A_206B_206B_206D_206E_200E_206C_200E_202E_202E_206F_206A_206D_202D_206E_200E_202C_202A_200C_206D_206F_206A_206D_200D_206E_206B_206C_202D_200E_202C_202E_206D_202D_202E(ZoneSubRegionFile P_0) - { - return P_0.Regions; + return (SmartNavResources.Load("zone-sub-regions.json", overrideDirectory) ?? new ZoneSubRegionFile()).Regions; } } diff --git a/SmartNav.Data/SmartNav.Data/DataBundleSecret.cs b/SmartNav.Data/SmartNav.Data/DataBundleSecret.cs index 9d3779f..407b0bc 100644 --- a/SmartNav.Data/SmartNav.Data/DataBundleSecret.cs +++ b/SmartNav.Data/SmartNav.Data/DataBundleSecret.cs @@ -1,68 +1,30 @@ -using System; -using System.Runtime.CompilerServices; - namespace SmartNav.Data; internal static class DataBundleSecret { - private static readonly byte[] A; + private static readonly byte[] A = new byte[32] + { + 249, 130, 120, 19, 233, 226, 108, 14, 107, 82, + 130, 220, 135, 231, 132, 145, 238, 79, 114, 87, + 123, 65, 202, 110, 156, 178, 236, 146, 151, 20, + 187, 222 + }; - private static readonly byte[] B; + private static readonly byte[] B = new byte[32] + { + 4, 22, 39, 195, 114, 48, 170, 103, 209, 88, + 134, 221, 112, 108, 144, 135, 150, 118, 49, 201, + 74, 13, 92, 179, 155, 25, 114, 34, 102, 151, + 79, 34 + }; internal static byte[] Key() { byte[] array = new byte[A.Length]; - int num = 0; - int num2 = 1494450304; - while (true) + for (int i = 0; i < array.Length; i++) { - int num3 = num2; - int num4 = 1494450304; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num2 = ((num < array.Length) ? 1494450305 : 1494450307); - break; - case 1: - { - int num6 = num; - byte num7 = A[num]; - num4 = B[num]; - num5 = num7; - int num8 = num5 + num4; - int num9 = num5 & num4; - array[num6] = (byte)(num8 - (num9 + num9)); - int num10 = num; - num4 = 1; - num5 = num10; - int num11 = num5 ^ num4; - int num12 = num5 & num4; - num = num11 + (num12 + num12); - num2 = 1494450304; - break; - } - case 3: - return array; - case 2: - num2 = 1494450304; - break; - } + array[i] = (byte)(A[i] ^ B[i]); } - } - - static DataBundleSecret() - { - byte[] array = new byte[32]; - _200B_206B_200C_206B_202A_202D_206F_200F_202B_206B_200F_202A_202A_206F_202E_200B_200C_202D_200E_200F_200B_206D_206C_206E_202C_200D_206D_202D_200F_202C_206E_206C_202B_200D_200F_202C_202A_206F_200D_206D_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - A = array; - byte[] array2 = new byte[32]; - _200B_206B_200C_206B_202A_202D_206F_200F_202B_206B_200F_202A_202A_206F_202E_200B_200C_202D_200E_200F_200B_206D_206C_206E_202C_200D_206D_202D_200F_202C_206E_206C_202B_200D_200F_202C_202A_206F_200D_206D_202E((Array)array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - B = array2; - } - - static void _200B_206B_200C_206B_202A_202D_206F_200F_202B_206B_200F_202A_202A_206F_202E_200B_200C_202D_200E_200F_200B_206D_206C_206E_202C_200D_206D_202D_200F_202C_206E_206C_202B_200D_200F_202C_202A_206F_200D_206D_202E(Array P_0, RuntimeFieldHandle P_1) - { - RuntimeHelpers.InitializeArray(P_0, P_1); + return array; } } diff --git a/SmartNav.Data/SmartNav.Data/SmartNavResources.cs b/SmartNav.Data/SmartNav.Data/SmartNavResources.cs index a8639f0..c231172 100644 --- a/SmartNav.Data/SmartNav.Data/SmartNavResources.cs +++ b/SmartNav.Data/SmartNav.Data/SmartNavResources.cs @@ -2,7 +2,6 @@ using System; using System.IO; using System.IO.Compression; using System.Reflection; -using System.Runtime.CompilerServices; using System.Security.Cryptography; using System.Text.Json; @@ -10,315 +9,50 @@ namespace SmartNav.Data; internal static class SmartNavResources { - private static readonly Assembly Assembly = _206F_202B_202E_202D_200E_200B_200C_200D_206D_200B_200C_202C_206E_202D_206F_206E_202A_202E_206D_202A_202E_200B_202A_200F_200B_200C_200C_206E_202B_200C_206F_200B_200C_206A_200F_200E_200B_202A_206B_200E_202E(_202C_206B_202C_202D_200D_206B_200F_206C_202D_202B_206F_202B_202B_200E_202B_206F_202D_200C_202A_200D_200B_206E_202E_202E_206F_200F_206A_206A_200D_200E_206E_202A_206C_202D_200C_200C_200D_206A_200D_206E_202E(typeof(SmartNavResources).TypeHandle)); + private static readonly Assembly Assembly = typeof(SmartNavResources).Assembly; - [MethodImpl(MethodImplOptions.NoInlining)] public static T? Load(string fileName, string? overrideDirectory) { - int num = ((overrideDirectory == null) ? (-221038174) : (-221038176)); - string text = default(string); - while (true) + if (overrideDirectory != null) { - int num2 = num; - int num3 = -221038175; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + string path = Path.Combine(overrideDirectory, fileName); + if (File.Exists(path)) { - case 0: - return DeserializeFile(text); - case 3: - return DeserializeResource(_202B_200C_200D_200C_202A_206F_202A_206B_200B_206E_206A_200D_206E_202C_206C_200C_200B_200F_200E_200F_200E_206D_200F_202A_206F_200C_206A_200C_206B_202A_200C_206B_202D_202C_200D_200D_206A_200C_200C_206A_202E(global::_003CModule_003E._206B_206A_206F_206A_202A_206A_202A_202D_206B_206B_202B_200B_200E_206A_202D_202D_200B_200C_200D_202D_206F_200C_200F_206A_202C_202C_202E_200F_200D_200E_206F_202A_202D_206A_200C_206B_202D_206A_206E_206B_202E(-176470543), fileName)); - case 2: - num = -221038176; - break; - case 1: - text = _200E_206E_202D_200F_200F_200D_202D_206B_200F_206B_200B_200D_202C_206B_200C_206A_202C_200E_206B_206A_202D_200E_206F_206C_200D_206A_202D_202C_206E_206A_202A_200F_206B_206D_202A_202A_202E_206B_202A_202E_202E(overrideDirectory, fileName); - num = ((!_206C_206E_200F_206A_200C_202E_206D_206C_200F_202A_200B_202D_202D_202E_206E_200F_206C_202B_206E_202D_202A_200F_206C_202C_202B_206B_200F_202A_200D_202A_206D_206E_200B_202A_202E_200B_200B_200F_206F_200D_202E(text)) ? (-221038174) : (-221038175)); - break; + return DeserializeFile(path); } } + return DeserializeResource("SmartNav.Data." + fileName); } public static T? DeserializeFile(string path) { - Stream stream = _200E_202B_206F_200B_206A_202C_202A_200E_200C_206D_206B_200D_206B_200D_202D_206F_202D_200F_200D_200F_202D_206E_202E_200B_200D_202E_202C_202E_206D_202A_202D_200E_206C_202A_206F_200D_200E_206D_202D_202B_202E(path); - try - { - return JsonSerializer.Deserialize(stream); - } - finally - { - int num = ((stream == null) ? 1932184292 : 1932184295); - while (true) - { - int num2 = num; - int num3 = 1932184294; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_0030; - case 1: - _206D_202E_202D_202E_206B_206C_202C_206C_202C_206A_206F_200F_200F_202C_202B_202B_206F_202A_200B_200D_202C_200C_202B_202E_206D_200D_206A_202C_202B_202E_206E_206F_206B_200B_206B_206F_202B_206C_202D_206C_202E((IDisposable?)stream); - num = 1932184292; - break; - case 0: - num = 1932184295; - break; - } - continue; - end_IL_0030: - break; - } - } + using Stream utf8Json = File.OpenRead(path); + return JsonSerializer.Deserialize(utf8Json); } - [MethodImpl(MethodImplOptions.NoInlining)] private static T? DeserializeResource(string resourceName) { - string text = _202C_206E_202E_206A_206E_202B_200B_202E_200E_206D_200E_206A_200C_206B_206E_200C_202D_200D_202E_206B_200B_202C_202B_206D_206C_200C_200F_200C_202E_202C_200F_206A_206C_200E_200C_202D_206F_200C_202D_206E_202E(resourceName, global::_003CModule_003E._202E_202A_206A_202B_202D_206F_202B_200E_200B_200B_206A_206D_200F_202D_206F_200F_206F_206F_206B_206A_206B_202D_206C_206B_202A_200C_206F_206C_200C_206D_202D_202E_202D_202E_202D_206C_200D_206C_206B_200D_202E(985938895)); - Stream stream = _200E_206C_200B_202A_202D_206B_206A_206A_206B_202B_202B_206C_206F_206D_200D_200D_202E_206C_200C_200C_206D_202D_202A_206A_200B_200E_206B_202D_206A_202B_200F_200B_206A_206B_202B_200D_202D_200E_206A_206D_202E(Assembly, text); + string name = Path.ChangeExtension(resourceName, ".bin"); + using Stream stream = Assembly.GetManifestResourceStream(name); + if (stream == null) + { + return default(T); + } + using MemoryStream memoryStream = new MemoryStream(); + stream.CopyTo(memoryStream); + byte[] array = memoryStream.ToArray(); + byte[] array2 = new byte[array.Length - 28]; + byte[] array3 = DataBundleSecret.Key(); try { - int num = ((stream != null) ? (-1225651699) : (-1225651698)); - while (true) - { - int num2 = num; - int num3 = -1225651700; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0067; - case 2: - return default(T); - case 1: - { - MemoryStream memoryStream = _206F_206C_206E_206D_206F_202E_200C_200E_202A_206A_202A_206E_206A_200B_206E_206C_206F_206E_200D_202C_200B_202E_200F_200C_206A_206E_200B_206B_206A_206D_200C_202E_202E_202E_200D_206D_202C_206A_206E_206E_202E(); - try - { - _202D_200F_202B_200D_200F_202C_200D_200F_200D_200B_206E_202C_206E_200E_206C_206D_200C_202E_206C_200D_202C_200F_202E_206C_202D_206D_200D_200E_200C_206B_202A_202E_202B_206A_200C_202D_200F_200E_202B_206E_202E(stream, (Stream?)memoryStream); - byte[] array = _202E_200E_202B_202E_206A_206A_206C_200E_206C_200F_202D_202B_202A_200F_200F_206B_206E_202A_200E_206B_206A_202D_206A_206F_206B_200C_206F_202D_202B_206D_200C_200B_200B_200B_200B_206C_206B_206A_202D_202C_202E(memoryStream); - int num5 = array.Length; - num3 = 28; - num4 = num5; - byte[] array2 = new byte[~(~num4 + num3)]; - byte[] array3 = DataBundleSecret.Key(); - try - { - AesGcm aesGcm = _202A_206C_200F_206D_200D_200F_206C_202D_200F_202A_206D_200D_200F_202D_206F_202A_202D_200B_202C_202C_206E_202D_206B_206B_200D_202D_200B_200D_202E_206E_200F_206D_206E_200B_206B_206C_206E_200E_200F_202E(array3, 16); - try - { - _200E_200C_200C_206A_206D_202A_200F_206C_200F_206C_206E_202A_206E_202C_206C_206D_202D_202A_200D_200E_206D_200F_206F_202B_206F_206A_206E_202B_202A_200C_202E_200E_200F_200C_206F_200E_200C_206C_202D_202D_202E(aesGcm, (ReadOnlySpan)array.AsSpan(0, 12), (ReadOnlySpan)array.AsSpan(28), (ReadOnlySpan)array.AsSpan(12, 16), (Span)array2, default(ReadOnlySpan)); - } - finally - { - num = ((aesGcm == null) ? (-507593817) : (-507593820)); - while (true) - { - int num6 = num; - num3 = -507593818; - num4 = num6; - int num7 = num4 + num3; - int num8 = num4 & num3; - switch (num7 - (num8 + num8)) - { - case 1: - goto end_IL_0133; - case 2: - _206D_202E_202D_202E_206B_206C_202C_206C_202C_206A_206F_200F_200F_202C_202B_202B_206F_202A_200B_200D_202C_200C_202B_202E_206D_200D_206A_202C_202B_202E_206E_206F_206B_200B_206B_206F_202B_206C_202D_206C_202E((IDisposable?)aesGcm); - num = -507593817; - break; - case 0: - num = -507593820; - break; - } - continue; - end_IL_0133: - break; - } - } - } - finally - { - _200C_202C_202C_202E_200C_206F_200C_200C_206F_200B_202D_206D_202B_206C_200B_206B_206B_200D_200F_206F_202B_202A_202A_206F_206E_202B_200F_200E_206D_202D_206D_200D_206C_200C_206B_200B_200F_200D_206D_206C_202E((Span)array3); - } - DeflateStream deflateStream = _206A_202E_206B_206A_200B_202E_202B_200F_200D_200E_206F_206F_200F_202B_200E_200E_200B_200D_206B_206B_202E_200C_206F_200D_206D_206D_206B_206E_202C_200D_202E_206F_206E_202B_206F_206A_206A_200B_200E_200E_202E((Stream?)_206B_206A_200B_202D_206E_200E_202A_206C_206E_206A_200D_206E_200B_200E_200F_200B_202A_202D_200E_200B_202E_206C_200F_200E_206A_206C_202E_200F_206A_206E_206D_202C_202C_200E_200D_200E_200F_206F_206F_202A_202E(array2), CompressionMode.Decompress); - try - { - return JsonSerializer.Deserialize(deflateStream); - } - finally - { - num = ((deflateStream == null) ? (-2110403470) : (-2110403471)); - while (true) - { - int num9 = num; - num3 = -2110403472; - num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 2: - goto end_IL_01cb; - case 1: - _206D_202E_202D_202E_206B_206C_202C_206C_202C_206A_206F_200F_200F_202C_202B_202B_206F_202A_200B_200D_202C_200C_202B_202E_206D_200D_206A_202C_202B_202E_206E_206F_206B_200B_206B_206F_202B_206C_202D_206C_202E((IDisposable?)deflateStream); - num = -2110403470; - break; - case 0: - num = -2110403471; - break; - } - continue; - end_IL_01cb: - break; - } - } - } - finally - { - num = ((memoryStream == null) ? (-1202265415) : (-1202265416)); - while (true) - { - int num12 = num; - num3 = -1202265415; - num4 = num12; - int num13 = num4 + num3; - int num14 = num4 & num3; - switch (num13 - (num14 + num14)) - { - case 0: - goto end_IL_0237; - case 1: - _206D_202E_202D_202E_206B_206C_202C_206C_202C_206A_206F_200F_200F_202C_202B_202B_206F_202A_200B_200D_202C_200C_202B_202E_206D_200D_206A_202C_202B_202E_206E_206F_206B_200B_206B_206F_202B_206C_202D_206C_202E((IDisposable?)memoryStream); - num = -1202265415; - break; - case 2: - num = -1202265416; - break; - } - continue; - end_IL_0237: - break; - } - } - } - } - continue; - IL_0067: - num = -1225651698; - } + using AesGcm aesGcm = new AesGcm(array3, 16); + aesGcm.Decrypt(array.AsSpan(0, 12), array.AsSpan(28), array.AsSpan(12, 16), array2); } finally { - int num = ((stream == null) ? (-1412160920) : (-1412160919)); - while (true) - { - int num15 = num; - int num3 = -1412160920; - int num4 = num15; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto end_IL_02a2; - case 1: - _206D_202E_202D_202E_206B_206C_202C_206C_202C_206A_206F_200F_200F_202C_202B_202B_206F_202A_200B_200D_202C_200C_202B_202E_206D_200D_206A_202C_202B_202E_206E_206F_206B_200B_206B_206F_202B_206C_202D_206C_202E((IDisposable?)stream); - num = -1412160920; - break; - case 2: - num = -1412160919; - break; - } - continue; - end_IL_02a2: - break; - } + CryptographicOperations.ZeroMemory(array3); } - } - - static string? _200E_206E_202D_200F_200F_200D_202D_206B_200F_206B_200B_200D_202C_206B_200C_206A_202C_200E_206B_206A_202D_200E_206F_206C_200D_206A_202D_202C_206E_206A_202A_200F_206B_206D_202A_202A_202E_206B_202A_202E_202E(string? P_0, string? P_1) - { - return Path.Combine(P_0, P_1); - } - - static bool _206C_206E_200F_206A_200C_202E_206D_206C_200F_202A_200B_202D_202D_202E_206E_200F_206C_202B_206E_202D_202A_200F_206C_202C_202B_206B_200F_202A_200D_202A_206D_206E_200B_202A_202E_200B_200B_200F_206F_200D_202E(string? P_0) - { - return File.Exists(P_0); - } - - static string? _202B_200C_200D_200C_202A_206F_202A_206B_200B_206E_206A_200D_206E_202C_206C_200C_200B_200F_200E_200F_200E_206D_200F_202A_206F_200C_206A_200C_206B_202A_200C_206B_202D_202C_200D_200D_206A_200C_200C_206A_202E(string? P_0, string? P_1) - { - return P_0 + P_1; - } - - static FileStream? _200E_202B_206F_200B_206A_202C_202A_200E_200C_206D_206B_200D_206B_200D_202D_206F_202D_200F_200D_200F_202D_206E_202E_200B_200D_202E_202C_202E_206D_202A_202D_200E_206C_202A_206F_200D_200E_206D_202D_202B_202E(string? P_0) - { - return File.OpenRead(P_0); - } - - static void _206D_202E_202D_202E_206B_206C_202C_206C_202C_206A_206F_200F_200F_202C_202B_202B_206F_202A_200B_200D_202C_200C_202B_202E_206D_200D_206A_202C_202B_202E_206E_206F_206B_200B_206B_206F_202B_206C_202D_206C_202E(IDisposable? P_0) - { - P_0.Dispose(); - } - - static string? _202C_206E_202E_206A_206E_202B_200B_202E_200E_206D_200E_206A_200C_206B_206E_200C_202D_200D_202E_206B_200B_202C_202B_206D_206C_200C_200F_200C_202E_202C_200F_206A_206C_200E_200C_202D_206F_200C_202D_206E_202E(string? P_0, string? P_1) - { - return Path.ChangeExtension(P_0, P_1); - } - - static Stream? _200E_206C_200B_202A_202D_206B_206A_206A_206B_202B_202B_206C_206F_206D_200D_200D_202E_206C_200C_200C_206D_202D_202A_206A_200B_200E_206B_202D_206A_202B_200F_200B_206A_206B_202B_200D_202D_200E_206A_206D_202E(Assembly? P_0, string? P_1) - { - return P_0.GetManifestResourceStream(P_1); - } - - static MemoryStream? _206F_206C_206E_206D_206F_202E_200C_200E_202A_206A_202A_206E_206A_200B_206E_206C_206F_206E_200D_202C_200B_202E_200F_200C_206A_206E_200B_206B_206A_206D_200C_202E_202E_202E_200D_206D_202C_206A_206E_206E_202E() - { - return new MemoryStream(); - } - - static void _202D_200F_202B_200D_200F_202C_200D_200F_200D_200B_206E_202C_206E_200E_206C_206D_200C_202E_206C_200D_202C_200F_202E_206C_202D_206D_200D_200E_200C_206B_202A_202E_202B_206A_200C_202D_200F_200E_202B_206E_202E(Stream? P_0, Stream? P_1) - { - P_0.CopyTo(P_1); - } - - static byte[]? _202E_200E_202B_202E_206A_206A_206C_200E_206C_200F_202D_202B_202A_200F_200F_206B_206E_202A_200E_206B_206A_202D_206A_206F_206B_200C_206F_202D_202B_206D_200C_200B_200B_200B_200B_206C_206B_206A_202D_202C_202E(MemoryStream? P_0) - { - return P_0.ToArray(); - } - - static AesGcm? _202A_206C_200F_206D_200D_200F_206C_202D_200F_202A_206D_200D_200F_202D_206F_202A_202D_200B_202C_202C_206E_202D_206B_206B_200D_202D_200B_200D_202E_206E_200F_206D_206E_200B_206B_206C_206E_200E_200F_202E(byte[]? P_0, int P_1) - { - return new AesGcm(P_0, P_1); - } - - static void _200E_200C_200C_206A_206D_202A_200F_206C_200F_206C_206E_202A_206E_202C_206C_206D_202D_202A_200D_200E_206D_200F_206F_202B_206F_206A_206E_202B_202A_200C_202E_200E_200F_200C_206F_200E_200C_206C_202D_202D_202E(AesGcm? P_0, ReadOnlySpan P_1, ReadOnlySpan P_2, ReadOnlySpan P_3, Span P_4, ReadOnlySpan P_5) - { - P_0.Decrypt(P_1, P_2, P_3, P_4, P_5); - } - - static void _200C_202C_202C_202E_200C_206F_200C_200C_206F_200B_202D_206D_202B_206C_200B_206B_206B_200D_200F_206F_202B_202A_202A_206F_206E_202B_200F_200E_206D_202D_206D_200D_206C_200C_206B_200B_200F_200D_206D_206C_202E(Span P_0) - { - CryptographicOperations.ZeroMemory(P_0); - } - - static MemoryStream? _206B_206A_200B_202D_206E_200E_202A_206C_206E_206A_200D_206E_200B_200E_200F_200B_202A_202D_200E_200B_202E_206C_200F_200E_206A_206C_202E_200F_206A_206E_206D_202C_202C_200E_200D_200E_200F_206F_206F_202A_202E(byte[]? P_0) - { - return new MemoryStream(P_0); - } - - static DeflateStream? _206A_202E_206B_206A_200B_202E_202B_200F_200D_200E_206F_206F_200F_202B_200E_200E_200B_200D_206B_206B_202E_200C_206F_200D_206D_206D_206B_206E_202C_200D_202E_206F_206E_202B_206F_206A_206A_200B_200E_200E_202E(Stream? P_0, CompressionMode P_1) - { - return new DeflateStream(P_0, P_1); - } - - static Type? _202C_206B_202C_202D_200D_206B_200F_206C_202D_202B_206F_202B_202B_200E_202B_206F_202D_200C_202A_200D_200B_206E_202E_202E_206F_200F_206A_206A_200D_200E_206E_202A_206C_202D_200C_200C_200D_206A_200D_206E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static Assembly? _206F_202B_202E_202D_200E_200B_200C_200D_206D_200B_200C_202C_206E_202D_206F_206E_202A_202E_206D_202A_202E_200B_202A_200F_200B_200C_200C_206E_202B_200C_206F_200B_200C_206A_200F_200E_200B_202A_206B_200E_202E(Type? P_0) - { - return P_0.Assembly; + using DeflateStream utf8Json = new DeflateStream(new MemoryStream(array2), CompressionMode.Decompress); + return JsonSerializer.Deserialize(utf8Json); } } diff --git a/SmartNav.Model/SmartNav.Model.Converter/AetheryteConverter.cs b/SmartNav.Model/SmartNav.Model.Converter/AetheryteConverter.cs index 8dc51f2..b3fa95c 100644 --- a/SmartNav.Model/SmartNav.Model.Converter/AetheryteConverter.cs +++ b/SmartNav.Model/SmartNav.Model.Converter/AetheryteConverter.cs @@ -8,431 +8,431 @@ public sealed class AetheryteConverter : EnumConverter { { EAetheryteLocation.Gridania, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(-599649086) + "Gridania" }, { EAetheryteLocation.CentralShroudBentbranchMeadows, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(1626768764) + "Central Shroud - Bentbranch Meadows" }, { EAetheryteLocation.EastShroudHawthorneHut, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(585431075) + "East Shroud - Hawthorne Hut" }, { EAetheryteLocation.SouthShroudQuarrymill, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(1020891099) + "South Shroud - Quarrymill" }, { EAetheryteLocation.SouthShroudCampTranquil, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(1456351123) + "South Shroud - Camp Tranquil" }, { EAetheryteLocation.NorthShroudFallgourdFloat, - global::_003CModule_003E._206D_200D_202D_200C_202B_206E_206A_206E_206E_202B_202D_200F_206E_202B_206D_200B_206E_202E_206E_206C_200C_200D_202E_206D_206D_200B_200D_202D_200F_206A_202B_200C_202A_202B_200E_202E_200B_202B_202B_206B_202E(-1930385921) + "North Shroud - Fallgourd Float" }, { EAetheryteLocation.Uldah, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(-1122846300) + "Ul'dah" }, { EAetheryteLocation.WesternThanalanHorizon, - global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(-819985826) + "Western Thanalan - Horizon" }, { EAetheryteLocation.CentralThanalanBlackBrushStation, - global::_003CModule_003E._206D_200D_202D_200C_202B_206E_206A_206E_206E_202B_202D_200F_206E_202B_206D_200B_206E_202E_206E_206C_200C_200D_202E_206D_206D_200B_200D_202D_200F_206A_202B_200C_202A_202B_200E_202E_200B_202B_202B_206B_202E(-1162154365) + "Central Thanalan - Black Brush Station" }, { EAetheryteLocation.EasternThanalanCampDrybone, - global::_003CModule_003E._206D_200D_202D_200C_202B_206E_206A_206E_206E_202B_202D_200F_206E_202B_206D_200B_206E_202E_206E_206C_200C_200D_202E_206D_206D_200B_200D_202D_200F_206A_202B_200C_202A_202B_200E_202E_200B_202B_202B_206B_202E(103645348) + "Eastern Thanalan - Camp Drybone" }, { EAetheryteLocation.SouthernThanalanLittleAlaMhigo, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(1263533841) + "Southern Thanalan - Little Ala Mhigo" }, { EAetheryteLocation.SouthernThanalanForgottenSprings, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(1101987304) + "Southern Thanalan - Forgotten Springs" }, { EAetheryteLocation.NorthernThanalanCampBluefog, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(380355622) + "Northern Thanalan - Camp Bluefog" }, { EAetheryteLocation.NorthernThanalanCeruleumProcessingPlant, - global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(-977900880) + "Northern Thanalan - Ceruleum Processing Plant" }, { EAetheryteLocation.Limsa, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(692347610) + "Limsa Lominsa" }, { EAetheryteLocation.MiddleLaNosceaSummerfordFarms, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(-176634534) + "Middle La Noscea - Summerford Farms" }, { EAetheryteLocation.LowerLaNosceaMorabyDrydocks, - global::_003CModule_003E._206D_200D_202D_200C_202B_206E_206A_206E_206E_202B_202D_200F_206E_202B_206D_200B_206E_202E_206E_206C_200C_200D_202E_206D_206D_200B_200D_202D_200F_206A_202B_200C_202A_202B_200E_202E_200B_202B_202B_206B_202E(-1598826239) + "Lower La Noscea - Moraby Drydocks" }, { EAetheryteLocation.EasternLaNosceaCostaDelSol, - global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(625136766) + "Eastern La Noscea - Costa Del Sol" }, { EAetheryteLocation.EasternLaNosceaWineport, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(-1848678476) + "Eastern La Noscea - Wineport" }, { EAetheryteLocation.WesternLaNosceaSwiftperch, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(630947043) + "Western La Noscea - Swiftperch" }, { EAetheryteLocation.WesternLaNosceaAleport, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(-1154838978) + "Western La Noscea - Aleport" }, { EAetheryteLocation.UpperLaNosceaCampBronzeLake, - global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(-1036658167) + "Upper La Noscea - Camp Bronze Lake" }, { EAetheryteLocation.OuterLaNosceaCampOverlook, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(1170140596) + "Outer La Noscea - Camp Overlook" }, { EAetheryteLocation.CoerthasCentralHighlandsCampDragonhead, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(-815843465) + "Coerthas Central Highlands - Camp Dragonhead" }, { EAetheryteLocation.MorDhona, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(1917120265) + "Mor Dhona" }, { EAetheryteLocation.WolvesDenPier, - global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(-70811036) + "Wolves' Den Pier" }, { EAetheryteLocation.GoldSaucer, - global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(-1951121743) + "Gold Saucer" }, { EAetheryteLocation.Ishgard, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(610045683) + "Ishgard" }, { EAetheryteLocation.Idyllshire, - global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(-427041624) + "Idyllshire" }, { EAetheryteLocation.CoerthasWesternHighlandsFalconsNest, - global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(-1495733388) + "Coerthas Western Highlands - Falcon's Nest" }, { EAetheryteLocation.SeaOfCloudsCampCloudtop, - global::_003CModule_003E._206D_200D_202D_200C_202B_206E_206A_206E_206E_202B_202D_200F_206E_202B_206D_200B_206E_202E_206E_206C_200C_200D_202E_206D_206D_200B_200D_202D_200F_206A_202B_200C_202A_202B_200E_202E_200B_202B_202B_206B_202E(2033021693) + "The Sea of Clouds - Camp Cloudtop" }, { EAetheryteLocation.SeaOfCloudsOkZundu, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(-1335307853) + "The Sea of Clouds - Ok' Zundu" }, { EAetheryteLocation.AzysLlaHelix, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(387929564) + "Azys Lla - Helix" }, { EAetheryteLocation.DravanianForelandsTailfeather, - global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(1710341904) + "The Dravanian Forelands - Tailfeather" }, { EAetheryteLocation.DravanianForelandsAnyxTrine, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(1636117458) + "The Dravanian Forelands - Anyx Trine" }, { EAetheryteLocation.ChurningMistsMoghome, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(-1982454238) + "The Churning Mists - Moghome" }, { EAetheryteLocation.ChurningMistsZenith, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(1364214043) + "The Churning Mists - Zenith" }, { EAetheryteLocation.RhalgrsReach, - global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(-1554490675) + "Rhalgr's Reach" }, { EAetheryteLocation.FringesCastrumOriens, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(-930802894) + "Fringes - Castrum Oriens" }, { EAetheryteLocation.FringesPeeringStones, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(774080887) + "Fringes - Peering Stones" }, { EAetheryteLocation.PeaksAlaGannha, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(-1816002628) + "Peaks - Ala Gannha" }, { EAetheryteLocation.PeaksAlaGhiri, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(654078727) + "Peaks - Ala Ghiri" }, { EAetheryteLocation.LochsPortaPraetoria, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(3529823) + "Lochs - Porta Praetoria" }, { EAetheryteLocation.LochsAlaMhiganQuarter, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(1589117804) + "Lochs - Ala Mhigan Quarter" }, { EAetheryteLocation.Kugane, - global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(-643713965) + "Kugane" }, { EAetheryteLocation.RubySeaTamamizu, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(1960458799) + "Ruby Sea - Tamamizu" }, { EAetheryteLocation.RubySeaOnokoro, - global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(-10210316) + "Ruby Sea - Onokoro" }, { EAetheryteLocation.YanxiaNamai, - global::_003CModule_003E._206D_200D_202D_200C_202B_206E_206A_206E_206E_202B_202D_200F_206E_202B_206D_200B_206E_202E_206E_206C_200C_200D_202E_206D_206D_200B_200D_202D_200F_206A_202B_200C_202A_202B_200E_202E_200B_202B_202B_206B_202E(-219345513) + "Yanxia - Namai" }, { EAetheryteLocation.YanxiaHouseOfTheFierce, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(201456790) + "Yanxia - House of the Fierce" }, { EAetheryteLocation.AzimSteppeReunion, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(636916814) + "Azim Steppe - Reunion" }, { EAetheryteLocation.AzimSteppeDawnThrone, - global::_003CModule_003E._206D_200D_202D_200C_202B_206E_206A_206E_206E_202B_202D_200F_206E_202B_206D_200B_206E_202E_206E_206C_200C_200D_202E_206D_206D_200B_200D_202D_200F_206A_202B_200C_202A_202B_200E_202E_200B_202B_202B_206B_202E(199731451) + "Azim Steppe - Dawn Throne" }, { EAetheryteLocation.AzimSteppeDhoroIloh, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(817733533) + "Azim Steppe - Dhoro Iloh" }, { EAetheryteLocation.DomanEnclave, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(249299427) + "Doman Enclave" }, { EAetheryteLocation.Crystarium, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(-1651501989) + "Crystarium" }, { EAetheryteLocation.Eulmore, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(2052538734) + "Eulmore" }, { EAetheryteLocation.LakelandFortJobb, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(52588375) + "Lakeland - Fort Jobb" }, { EAetheryteLocation.LakelandOstallImperative, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(233135752) + "Lakeland - Ostall Imperative" }, { EAetheryteLocation.KholusiaStilltide, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(-1045290338) + "Kholusia - Stilltide" }, { EAetheryteLocation.KholusiaWright, - global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(-68967603) + "Kholusia - Wright" }, { EAetheryteLocation.KholusiaTomra, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(1880124300) + "Kholusia - Tomra" }, { EAetheryteLocation.AmhAraengMordSouq, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(-551660069) + "Amh Araeng - Mord Souq" }, { EAetheryteLocation.AmhAraengInnAtJourneysHead, - global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(-267283137) + "Amh Araeng - Inn at Journey's Head" }, { EAetheryteLocation.AmhAraengTwine, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(1987023047) + "Amh Araeng - Twine" }, { EAetheryteLocation.RaktikaSlitherbough, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(1132009782) + "Rak'tika - Slitherbough" }, { EAetheryteLocation.RaktikaFanow, - global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(1074994822) + "Rak'tika - Fanow" }, { EAetheryteLocation.IlMhegLydhaLran, - global::_003CModule_003E._206D_200D_202D_200C_202B_206E_206A_206E_206E_202B_202D_200F_206E_202B_206D_200B_206E_202E_206E_206C_200C_200D_202E_206D_206D_200B_200D_202D_200F_206A_202B_200C_202A_202B_200E_202E_200B_202B_202B_206B_202E(505584670) + "Il Mheg - Lydha Lran" }, { EAetheryteLocation.IlMhegPlaEnni, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(1207937136) + "Il Mheg - Pla Enni" }, { EAetheryteLocation.IlMhegWolekdorf, - global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(1708498471) + "Il Mheg - Wolekdorf" }, { EAetheryteLocation.TempestOndoCups, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(-1873064654) + "Tempest - Ondo Cups" }, { EAetheryteLocation.TempestMacarensesAngle, - global::_003CModule_003E._206D_200D_202D_200C_202B_206E_206A_206E_206E_202B_202D_200F_206E_202B_206D_200B_206E_202E_206E_206C_200C_200D_202E_206D_206D_200B_200D_202D_200F_206A_202B_200C_202A_202B_200E_202E_200B_202B_202B_206B_202E(-1554610330) + "Tempest - Macarenses Angle" }, { EAetheryteLocation.OldSharlayan, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(-570548611) + "Old Sharlayan" }, { EAetheryteLocation.RadzAtHan, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(1035979644) + "Radz-at-Han" }, { EAetheryteLocation.LabyrinthosArcheion, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(-645021643) + "Labyrinthos - Archeion" }, { EAetheryteLocation.LabyrinthosSharlayanHamlet, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(55146778) + "Labyrinthos - Sharlayan Hamlet" }, { EAetheryteLocation.LabyrinthosAporia, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(225898405) + "Labyrinthos - Aporia" }, { EAetheryteLocation.ThavnairYedlihmad, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(-738978413) + "Thavnair - Yedlihmad" }, { EAetheryteLocation.ThavnairGreatWork, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(-537708772) + "Thavnair - Great Work" }, { EAetheryteLocation.ThavnairPalakasStand, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(1052509040) + "Thavnair - Palaka's Stand" }, { EAetheryteLocation.GarlemaldCampBrokenGlass, - global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(-408684817) + "Garlemald - Camp Broken Glass" }, { EAetheryteLocation.GarlemaldTertium, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(-1717975084) + "Garlemald - Tertium" }, { EAetheryteLocation.MareLamentorumSinusLacrimarum, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(2085214582) + "Mare Lamentorum - Sinus Lacrimarum" }, { EAetheryteLocation.MareLamentorumBestwaysBurrow, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(1790148004) + "Mare Lamentorum - Bestways Burrow" }, { EAetheryteLocation.ElpisAnagnorisis, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(1495081426) + "Elpis - Anagnorisis" }, { EAetheryteLocation.ElpisTwelveWonders, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(-842666565) + "Elpis - Twelve Wonders" }, { EAetheryteLocation.ElpisPoietenOikos, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(-1882174279) + "Elpis - Poieten Oikos" }, { EAetheryteLocation.UltimaThuleReahTahra, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(2128311357) + "Ultima Thule - Reah Tahra" }, { EAetheryteLocation.UltimaThuleAbodeOfTheEa, - global::_003CModule_003E._206D_200D_202D_200C_202B_206E_206A_206E_206E_202B_202D_200F_206E_202B_206D_200B_206E_202E_206E_206C_200C_200D_202E_206D_206D_200B_200D_202D_200F_206A_202B_200C_202A_202B_200E_202E_200B_202B_202B_206B_202E(-2069773397) + "Ultima Thule - Abode of the Ea" }, { EAetheryteLocation.UltimaThuleBaseOmicron, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(1232526705) + "Ultima Thule - Base Omicron" }, { EAetheryteLocation.Tuliyollal, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(-73133818) + "Tuliyollal" }, { EAetheryteLocation.SolutionNine, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(-2002887454) + "Solution Nine" }, { EAetheryteLocation.UrqopachaWachunpelo, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(97617809) + "Urqopacha - Wachunpelo" }, { EAetheryteLocation.UrqopachaWorlarsEcho, - global::_003CModule_003E._206D_200D_202D_200C_202B_206E_206A_206E_206E_202B_202D_200F_206E_202B_206D_200B_206E_202E_206E_206C_200C_200D_202E_206D_206D_200B_200D_202D_200F_206A_202B_200C_202A_202B_200E_202E_200B_202B_202B_206B_202E(-1624532702) + "Urqopacha - Worlar's Echo" }, { EAetheryteLocation.KozamaukaOkHanu, - global::_003CModule_003E._206D_200D_202D_200C_202B_206E_206A_206E_206E_202B_202D_200F_206E_202B_206D_200B_206E_202E_206E_206C_200C_200D_202E_206D_206D_200B_200D_202D_200F_206A_202B_200C_202A_202B_200E_202E_200B_202B_202B_206B_202E(86507706) + "Kozama'uka - Ok'hanu" }, { EAetheryteLocation.KozamaukaManyFires, - global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(-1615091395) + "Kozama'uka - Many Fires" }, { EAetheryteLocation.KozamaukaEarthenshire, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(-1688862953) + "Kozama'uka - Earthenshire" }, { EAetheryteLocation.KozamaukaDockPoga, - global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(-803472452) + "Kozama'uka - Dock Poga" }, { EAetheryteLocation.YakTelIqBraax, - global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(1433068843) + "Yak T'el - Iq Br'aax" }, { EAetheryteLocation.YakTelMamook, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(-1816494601) + "Yak T'el - Mamook" }, { EAetheryteLocation.ShaaloaniHhusatahwi, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(1986695065) + "Shaaloani - Hhusatahwi" }, { EAetheryteLocation.ShaaloaniShesheneweziSprings, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(-603388450) + "Shaaloani - Sheshenewezi Springs" }, { EAetheryteLocation.ShaaloaniMehwahhetsoan, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(-1550065480) + "Shaaloani - Mehwahhetsoan" }, { EAetheryteLocation.HeritageFoundYyasulaniStation, - global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(1962690784) + "Heritage Found - Yyasulani Station" }, { EAetheryteLocation.HeritageFoundTheOutskirts, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(158118256) + "Heritage Found - The Outskirts" }, { EAetheryteLocation.HeritageFoundElectropeStrike, - global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(-106590141) + "Heritage Found - Electrope Strike" }, { EAetheryteLocation.LivingMemoryLeynodeMnemo, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(937296136) + "Living Memory - Leynode Mnemo" }, { EAetheryteLocation.LivingMemoryLeynodePyro, - global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(-1817093795) + "Living Memory - Leynode Pyro" }, { EAetheryteLocation.LivingMemoryLeynodeAero, - global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(-1947853957) + "Living Memory - Leynode Aero" } }; diff --git a/SmartNav.Model/SmartNav.Model.Converter/EnumConverter.cs b/SmartNav.Model/SmartNav.Model.Converter/EnumConverter.cs index 964cb8f..31050ba 100644 --- a/SmartNav.Model/SmartNav.Model.Converter/EnumConverter.cs +++ b/SmartNav.Model/SmartNav.Model.Converter/EnumConverter.cs @@ -21,50 +21,24 @@ public abstract class EnumConverter : JsonConverter where T : Enum public override T? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - int num = ((reader.TokenType == JsonTokenType.String) ? 1875836266 : 1875836268); - string text = default(string); - T value = default(T); - while (true) + if (reader.TokenType != JsonTokenType.String) { - int num2 = num; - int num3 = 1875836271; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = (_stringToEnum.TryGetValue(text, out value) ? 1875836270 : 1875836265); - break; - case 6: - throw _200F_200D_200D_200B_206E_202D_206A_200E_202A_202D_206B_206A_200C_202C_200C_200F_200E_202B_200B_202D_202C_202A_200C_200C_200E_200C_202C_202E_200F_202D_200E_206C_202C_206F_202E_202E_206B_206A_202A_202A_202E(); - case 0: - num = 1875836268; - break; - case 2: - throw _200F_200D_200D_200B_206E_202D_206A_200E_202A_202D_206B_206A_200C_202C_200C_200F_200E_202B_200B_202D_202C_202A_200C_200C_200E_200C_202C_202E_200F_202D_200E_206C_202C_206F_202E_202E_206B_206A_202A_202A_202E(); - case 1: - return value; - case 3: - throw _200F_200D_200D_200B_206E_202D_206A_200E_202A_202D_206B_206A_200C_202C_200C_200F_200E_202B_200B_202D_202C_202A_200C_200C_200E_200C_202C_202E_200F_202D_200E_206C_202C_206F_202E_202E_206B_206A_202A_202A_202E(); - case 5: - text = reader.GetString(); - num = ((text != null) ? 1875836267 : 1875836269); - break; - } + throw new JsonException(); } + string text = reader.GetString(); + if (text == null) + { + throw new JsonException(); + } + if (!_stringToEnum.TryGetValue(text, out var value)) + { + throw new JsonException(); + } + return value; } public override void Write(Utf8JsonWriter writer, T value, JsonSerializerOptions options) { - _202B_206D_206A_202B_200B_200C_202C_206A_206C_200D_200C_206C_202B_206A_200C_200E_206F_200D_202B_202A_206E_200F_206F_200B_202B_206D_200E_206A_200E_202E_202D_202C_200E_202A_200E_202D_200D_202A_206C_202A_202E(writer, _enumToString[value]); - } - - static JsonException _200F_200D_200D_200B_206E_202D_206A_200E_202A_202D_206B_206A_200C_202C_200C_200F_200E_202B_200B_202D_202C_202A_200C_200C_200E_200C_202C_202E_200F_202D_200E_206C_202C_206F_202E_202E_206B_206A_202A_202A_202E() - { - return new JsonException(); - } - - static void _202B_206D_206A_202B_200B_200C_202C_206A_206C_200D_200C_206C_202B_206A_200C_200E_206F_200D_202B_202A_206E_200F_206F_200B_202B_206D_200E_206A_200E_202E_202D_202C_200E_202A_200E_202D_200D_202A_206C_202A_202E(Utf8JsonWriter P_0, string P_1) - { - P_0.WriteStringValue(P_1); + writer.WriteStringValue(_enumToString[value]); } } diff --git a/SmartNav.Model/SmartNav.Model.Converter/VectorConverter.cs b/SmartNav.Model/SmartNav.Model.Converter/VectorConverter.cs index d51dddd..7d96f98 100644 --- a/SmartNav.Model/SmartNav.Model.Converter/VectorConverter.cs +++ b/SmartNav.Model/SmartNav.Model.Converter/VectorConverter.cs @@ -1,6 +1,5 @@ using System; using System.Numerics; -using System.Runtime.CompilerServices; using System.Text.Json; using System.Text.Json.Serialization; @@ -8,152 +7,65 @@ namespace SmartNav.Model.Converter; public sealed class VectorConverter : JsonConverter { - [MethodImpl(MethodImplOptions.NoInlining)] public override Vector3 Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - int num = ((reader.TokenType == JsonTokenType.StartObject) ? (-1454783213) : (-1454783204)); - string text = default(string); - Vector3 result = default(Vector3); - JsonTokenType tokenType = default(JsonTokenType); - while (true) + if (reader.TokenType != JsonTokenType.StartObject) { - int num2 = num; - int num3 = -1454783203; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + throw new JsonException(); + } + Vector3 result = default(Vector3); + while (reader.Read()) + { + switch (reader.TokenType) { - case 15: - num = (reader.Read() ? (-1454783209) : (-1454783205)); - break; - case 16: - num = (reader.Read() ? (-1454783210) : (-1454783218)); - break; - case 12: - num = -1454783220; - break; - case 6: - throw _202D_206A_206B_202B_206C_206D_200C_200E_200D_202D_200D_200F_200D_206A_206D_206C_202D_202A_202A_206C_202A_206B_202B_206F_200B_202D_202A_206B_200D_200F_202E_206A_206B_206C_202E_206D_200D_200E_206E_206F_202E(); - case 8: - num = (_200F_200C_202B_206E_206A_206D_200F_202D_206F_202E_202D_206E_200B_206C_206F_200E_202C_206D_200B_206A_202B_200D_200D_206C_200E_202E_202B_200F_200D_200E_206B_200F_206D_206D_202D_206A_200C_200E_206F_206D_202E(text, global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(874835855)) ? (-1454783206) : (-1454783201)); - break; - case 1: - throw _202D_206A_206B_202B_206C_206D_200C_200E_200D_202D_200D_200F_200D_206A_206D_206C_202D_202A_202A_206C_202A_206B_202B_206F_200B_202D_202A_206B_200D_200F_202E_206A_206B_206C_202E_206D_200D_200E_206E_206F_202E(); - case 0: - throw _202D_206A_206B_202B_206C_206D_200C_200E_200D_202D_200D_200F_200D_206A_206D_206C_202D_202A_202A_206C_202A_206B_202B_206F_200B_202D_202A_206B_200D_200F_202E_206A_206B_206C_202E_206D_200D_200E_206E_206F_202E(); - case 10: - num = (_200F_200C_202B_206E_206A_206D_200F_202D_206F_202E_202D_206E_200B_206C_206F_200E_202C_206D_200B_206A_202B_200D_200D_206C_200E_202E_202B_200F_200D_200E_206B_200F_206D_206D_202D_206A_200C_200E_206F_206D_202E(text, global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(1039097490)) ? (-1454783202) : (-1454783211)); - break; - case 9: - return result; - case 11: - tokenType = reader.TokenType; - num = ((tokenType == JsonTokenType.EndObject) ? (-1454783212) : (-1454783216)); - break; - case 14: - result = default(Vector3); - num = -1454783219; - break; - case 17: - throw _202D_206A_206B_202B_206C_206D_200C_200E_200D_202D_200D_200F_200D_206A_206D_206C_202D_202A_202A_206C_202A_206B_202B_206F_200B_202D_202A_206B_200D_200F_202E_206A_206B_206C_202E_206D_200D_200E_206E_206F_202E(); - case 4: - result.Z = reader.GetSingle(); - num = -1454783219; - break; - case 13: - num = ((tokenType != JsonTokenType.PropertyName) ? (-1454783203) : (-1454783217)); - break; - case 2: - num = (_200F_200C_202B_206E_206A_206D_200F_202D_206F_202E_202D_206E_200B_206C_206F_200E_202C_206D_200B_206A_202B_200D_200D_206C_200E_202E_202B_200F_200D_200E_206B_200F_206D_206D_202D_206A_200C_200E_206F_206D_202E(text, global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(-1524088896)) ? (-1454783207) : (-1454783215)); - break; - case 19: - throw _202D_206A_206B_202B_206C_206D_200C_200E_200D_202D_200D_200F_200D_206A_206D_206C_202D_202A_202A_206C_202A_206B_202B_206F_200B_202D_202A_206B_200D_200F_202E_206A_206B_206C_202E_206D_200D_200E_206E_206F_202E(); - case 18: - text = reader.GetString(); - num = ((text == null) ? (-1454783205) : (-1454783214)); - break; - case 3: - result.X = reader.GetSingle(); - num = -1454783219; - break; - case 7: - result.Y = reader.GetSingle(); - num = -1454783219; - break; - case 5: - num = -1454783204; + case JsonTokenType.PropertyName: + { + string text = reader.GetString(); + if (text == null || !reader.Read()) + { + throw new JsonException(); + } + switch (text) + { + case "X": + result.X = reader.GetSingle(); + break; + case "Y": + result.Y = reader.GetSingle(); + break; + case "Z": + result.Z = reader.GetSingle(); + break; + default: + throw new JsonException(); + } break; } + case JsonTokenType.EndObject: + return result; + default: + throw new JsonException(); + } } + throw new JsonException(); } - [MethodImpl(MethodImplOptions.NoInlining)] public override void Write(Utf8JsonWriter writer, Vector3 value, JsonSerializerOptions options) { - _206F_200E_206F_206E_200E_202D_206D_206F_202C_200D_202D_202D_200C_202C_200E_206B_206B_200F_202C_206A_200B_206C_206C_202D_202C_200F_202B_206C_202A_206E_200E_206E_202B_200D_206F_200B_202A_206A_200F_206D_202E(writer); - _206D_200D_206B_206E_206A_206B_200E_206A_206E_202C_202A_200C_202D_206B_202B_200C_202A_206E_200C_200B_206A_200B_206B_200E_202D_202C_206C_206D_206D_206B_206A_200B_202C_200F_202D_206E_202A_200D_206D_206F_202E(writer, global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(1052951149), RoundValue(value.X)); - _206D_200D_206B_206E_206A_206B_200E_206A_206E_202C_202A_200C_202D_206B_202B_200C_202A_206E_200C_200B_206A_200B_206B_200E_202D_202C_206C_206D_206D_206B_206A_200B_202C_200F_202D_206E_202A_200D_206D_206F_202E(writer, global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(874835855), RoundValue(value.Y)); - _206D_200D_206B_206E_206A_206B_200E_206A_206E_202C_202A_200C_202D_206B_202B_200C_202A_206E_200C_200B_206A_200B_206B_200E_202D_202C_206C_206D_206D_206B_206A_200B_202C_200F_202D_206E_202A_200D_206D_206F_202E(writer, global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(-2144565009), RoundValue(value.Z)); - _200D_200C_200B_202A_200E_206B_202C_206B_206E_206B_202D_202C_206B_206C_206A_200E_206E_200C_200B_200D_206B_202D_206C_202A_206F_206B_202B_206F_206E_202A_200C_200D_200F_200D_206F_200F_206E_200D_206C_206F_202E(writer); + writer.WriteStartObject(); + writer.WriteNumber("X", RoundValue(value.X)); + writer.WriteNumber("Y", RoundValue(value.Y)); + writer.WriteNumber("Z", RoundValue(value.Z)); + writer.WriteEndObject(); } private static float RoundValue(float value) { - float num = _200B_200B_206D_200E_202B_202B_200E_202A_200E_206D_206F_202E_206A_200D_200D_206A_206D_206A_202B_206C_202E_202C_206F_202D_206C_206F_206B_200E_206D_200E_206D_200B_200E_202E_200B_202E_200C_202D_206C_206D_202E(value, 6); - int num2 = ((_202E_206B_202C_202C_206F_206F_202A_200B_206B_206F_200E_202B_206B_206B_202B_202A_200D_200B_200E_206F_206B_206F_202A_200F_202D_200D_206C_206D_202A_206A_202C_206E_200F_200F_206D_202E_200E_202E_206A_206C_202E(num) < 1E-06f) ? (-2086282528) : (-2086282527)); - while (true) + float num = MathF.Round(value, 6); + if (!(MathF.Abs(num) < 1E-06f)) { - int num3 = num2; - int num4 = -2086282528; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 2: - goto IL_0053; - case 0: - return 0f; - case 1: - return num; - } - continue; - IL_0053: - num2 = -2086282527; + return num; } - } - - static JsonException _202D_206A_206B_202B_206C_206D_200C_200E_200D_202D_200D_200F_200D_206A_206D_206C_202D_202A_202A_206C_202A_206B_202B_206F_200B_202D_202A_206B_200D_200F_202E_206A_206B_206C_202E_206D_200D_200E_206E_206F_202E() - { - return new JsonException(); - } - - static bool _200F_200C_202B_206E_206A_206D_200F_202D_206F_202E_202D_206E_200B_206C_206F_200E_202C_206D_200B_206A_202B_200D_200D_206C_200E_202E_202B_200F_200D_200E_206B_200F_206D_206D_202D_206A_200C_200E_206F_206D_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - - static void _206F_200E_206F_206E_200E_202D_206D_206F_202C_200D_202D_202D_200C_202C_200E_206B_206B_200F_202C_206A_200B_206C_206C_202D_202C_200F_202B_206C_202A_206E_200E_206E_202B_200D_206F_200B_202A_206A_200F_206D_202E(Utf8JsonWriter P_0) - { - P_0.WriteStartObject(); - } - - static void _206D_200D_206B_206E_206A_206B_200E_206A_206E_202C_202A_200C_202D_206B_202B_200C_202A_206E_200C_200B_206A_200B_206B_200E_202D_202C_206C_206D_206D_206B_206A_200B_202C_200F_202D_206E_202A_200D_206D_206F_202E(Utf8JsonWriter P_0, string P_1, float P_2) - { - P_0.WriteNumber(P_1, P_2); - } - - static void _200D_200C_200B_202A_200E_206B_202C_206B_206E_206B_202D_202C_206B_206C_206A_200E_206E_200C_200B_200D_206B_202D_206C_202A_206F_206B_202B_206F_206E_202A_200C_200D_200F_200D_206F_200F_206E_200D_206C_206F_202E(Utf8JsonWriter P_0) - { - P_0.WriteEndObject(); - } - - static float _200B_200B_206D_200E_202B_202B_200E_202A_200E_206D_206F_202E_206A_200D_200D_206A_206D_206A_202B_206C_202E_202C_206F_202D_206C_206F_206B_200E_206D_200E_206D_200B_200E_202E_200B_202E_200C_202D_206C_206D_202E(float P_0, int P_1) - { - return MathF.Round(P_0, P_1); - } - - static float _202E_206B_202C_202C_206F_206F_202A_200B_206B_206F_200E_202B_206B_206B_202B_202A_200D_200B_200E_206F_206B_206F_202A_200F_202D_200D_206C_206D_202A_206A_202C_206E_200F_200F_206D_202E_200E_202E_206A_206C_202E(float P_0) - { - return MathF.Abs(P_0); + return 0f; } } diff --git a/SmartNav.Model/SmartNav.Model.Navigation/SubRegionDefinition.cs b/SmartNav.Model/SmartNav.Model.Navigation/SubRegionDefinition.cs index 9965a87..b93f098 100644 --- a/SmartNav.Model/SmartNav.Model.Navigation/SubRegionDefinition.cs +++ b/SmartNav.Model/SmartNav.Model.Navigation/SubRegionDefinition.cs @@ -16,87 +16,34 @@ public sealed class SubRegionDefinition public bool Contains(float x, float y, float z) { - int num = ((!MinY.HasValue) ? 292211161 : 292211158); - float x2 = default(float); - float x3 = default(float); - float z2 = default(float); - float z3 = default(float); - int count = default(int); - int num7 = default(int); - int index = default(int); - bool flag = default(bool); - while (true) + if (MinY.HasValue && y < MinY.Value) { - int num2 = num; - int num3 = 292211164; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 9: - num = ((!(x < (x2 - x3) * (z - z2) / (z3 - z2) + x3)) ? 292211166 : 292211160); - break; - case 10: - num = ((!(y < MinY.Value)) ? 292211161 : 292211153); - break; - case 13: - return false; - case 8: - count = Vertices.Count; - num = ((count >= 3) ? 292211165 : 292211159); - break; - case 2: - { - int num9 = num7; - num3 = 1; - num4 = num9; - num7 = (num4 | num3) + (num4 & num3); - index = num9; - num = 292211162; - break; - } - case 11: - return false; - case 5: - num = ((!MaxY.HasValue) ? 292211156 : 292211154); - break; - case 14: - num = ((!(y > MaxY.Value)) ? 292211156 : 292211163); - break; - case 12: - x3 = Vertices[num7].X; - z2 = Vertices[num7].Z; - x2 = Vertices[index].X; - z3 = Vertices[index].Z; - num = ((z2 > z == z3 > z) ? 292211166 : 292211157); - break; - case 3: - return flag; - case 1: - { - flag = false; - num7 = 0; - int num8 = count; - num3 = 1; - num4 = num8; - index = ~(~num4 + num3); - num = 292211162; - break; - } - case 7: - return false; - case 0: - num = 292211158; - break; - case 4: - flag = !flag; - num = 292211166; - break; - case 6: - num = ((num7 < count) ? 292211152 : 292211167); - break; - } + return false; } + if (MaxY.HasValue && y > MaxY.Value) + { + return false; + } + int count = Vertices.Count; + if (count < 3) + { + return false; + } + bool flag = false; + int num = 0; + int index = count - 1; + while (num < count) + { + float x2 = Vertices[num].X; + float z2 = Vertices[num].Z; + float x3 = Vertices[index].X; + float z3 = Vertices[index].Z; + if (z2 > z != z3 > z && x < (x3 - x2) * (z - z2) / (z3 - z2) + x2) + { + flag = !flag; + } + index = num++; + } + return flag; } } diff --git a/SmartNav.Model/SmartNav.Model.Navigation/TriggerBox.cs b/SmartNav.Model/SmartNav.Model.Navigation/TriggerBox.cs index 2fe9027..ab659af 100644 --- a/SmartNav.Model/SmartNav.Model.Navigation/TriggerBox.cs +++ b/SmartNav.Model/SmartNav.Model.Navigation/TriggerBox.cs @@ -1,144 +1,7 @@ -using System; -using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using System.Text.Json.Serialization; using SmartNav.Model.Converter; namespace SmartNav.Model.Navigation; -public sealed record TriggerBox([property: JsonConverter(typeof(VectorConverter))] Vector3 Translation, [property: JsonConverter(typeof(VectorConverter))] Vector3 RotationRadians, [property: JsonConverter(typeof(VectorConverter))] Vector3 HalfExtents) -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202C_200C_206F_200E_206A_202B_202C_202D_206D_202E_200D_206F_202C_206E_202C_200F_202A_202A_206B_206F_202E_200C_200D_202E_206C_202E_202D_206B_200C_206E_200D_206B_200C_200B_206E_202E_200F_202B_206B_206A_202E(typeof(TriggerBox).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200E_202D_206D_206F_206E_202D_202C_202E_206F_200C_206D_200C_200E_200F_200D_200B_202A_206A_206B_202B_206E_200E_206C_206C_202C_206E_206E_206C_200D_202D_206A_206F_200E_206A_206D_200B_206F_202B_200D_200E_202E(); - _200C_206B_206B_202E_206C_206C_206D_202E_206A_200B_202C_200F_202C_200E_200E_206F_206C_206B_202C_202A_200F_206C_206D_206B_202B_206F_202C_202D_206E_200F_206A_202A_200F_200B_200C_200C_202B_202C_206F_200C_202E(stringBuilder, global::_003CModule_003E._200F_200F_202A_206D_200D_200C_206B_206A_200E_200B_206A_200D_206E_202C_200B_206D_200B_200B_202E_202B_202C_202A_206A_206C_206D_200F_206F_206E_206B_206C_206A_202D_206B_206C_200D_202B_206E_200E_202B_200F_202E(-1856577442)); - _200C_206B_206B_202E_206C_206C_206D_202E_206A_200B_202C_200F_202C_200E_200E_206F_206C_206B_202C_202A_200F_206C_206D_206B_202B_206F_202C_202D_206E_200F_206A_202A_200F_200B_200C_200C_202B_202C_206F_200C_202E(stringBuilder, global::_003CModule_003E._206D_200D_202D_200C_202B_206E_206A_206E_206E_202B_202D_200F_206E_202B_206D_200B_206E_202E_206E_206C_200C_200D_202E_206D_206D_200B_200D_202D_200F_206A_202B_200C_202A_202B_200E_202E_200B_202B_202B_206B_202E(1971668142)); - int num = ((!PrintMembers(stringBuilder)) ? (-1107916789) : (-1107916790)); - while (true) - { - int num2 = num; - int num3 = -1107916789; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1107916790; - break; - case 0: - _206A_200F_200C_200E_202E_206E_206C_206B_206A_206A_202A_202A_200E_206A_206E_200C_200F_202E_202D_202E_202E_202C_202D_200F_206B_206A_202A_202C_202C_206D_202E_200F_200F_206D_200F_206A_202E_206E_206A_206A_202E(stringBuilder, '}'); - return _202E_202D_202A_200F_202D_200E_202B_206B_200C_202D_202D_200B_200C_202D_206B_200B_200D_202E_202C_206C_206D_200E_206F_202B_200C_202C_200D_200B_200B_206A_206C_202E_202A_202B_200E_200E_200C_202B_206F_200E_202E((object)stringBuilder); - case 1: - _206A_200F_200C_200E_202E_206E_206C_206B_206A_206A_202A_202A_200E_206A_206E_200C_200F_202E_202D_202E_202E_202C_202D_200F_206B_206A_202A_202C_202C_206D_202E_200F_200F_206D_200F_206A_202E_206E_206A_206A_202E(stringBuilder, ' '); - num = -1107916789; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206D_202A_206A_200E_206E_200F_206E_200B_206E_206C_202D_206A_200B_200C_206E_202A_206E_202D_200B_202B_202D_200F_206C_202B_202A_206B_202C_202A_206A_200E_202D_206A_202B_202C_202E_202E_206E_206A_200F_200D_202E(); - _200C_206B_206B_202E_206C_206C_206D_202E_206A_200B_202C_200F_202C_200E_200E_206F_206C_206B_202C_202A_200F_206C_206D_206B_202B_206F_202C_202D_206E_200F_206A_202A_200F_200B_200C_200C_202B_202C_206F_200C_202E(builder, global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(-1800837326)); - _200C_206B_206B_202E_206C_206C_206D_202E_206A_200B_202C_200F_202C_200E_200E_206F_206C_206B_202C_202A_200F_206C_206D_206B_202B_206F_202C_202D_206E_200F_206A_202A_200F_200B_200C_200C_202B_202C_206F_200C_202E(builder, Translation.ToString()); - _200C_206B_206B_202E_206C_206C_206D_202E_206A_200B_202C_200F_202C_200E_200E_206F_206C_206B_202C_202A_200F_206C_206D_206B_202B_206F_202C_202D_206E_200F_206A_202A_200F_200B_200C_200C_202B_202C_206F_200C_202E(builder, global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(-1782998798)); - _200C_206B_206B_202E_206C_206C_206D_202E_206A_200B_202C_200F_202C_200E_200E_206F_206C_206B_202C_202A_200F_206C_206D_206B_202B_206F_202C_202D_206E_200F_206A_202A_200F_200B_200C_200C_202B_202C_206F_200C_202E(builder, RotationRadians.ToString()); - _200C_206B_206B_202E_206C_206C_206D_202E_206A_200B_202C_200F_202C_200E_200E_206F_206C_206B_202C_202A_200F_206C_206D_206B_202B_206F_202C_202D_206E_200F_206A_202A_200F_200B_200C_200C_202B_202C_206F_200C_202E(builder, global::_003CModule_003E._202D_200D_206E_202A_202C_202B_200E_202A_202D_202E_200E_200C_200D_206C_200B_206D_202D_202E_202B_202B_206C_202B_206F_202D_202B_200D_202E_200B_200F_206E_202C_202D_200C_206B_200C_206C_202A_202E_200E_200E_202E(-1061445733)); - _200C_206B_206B_202E_206C_206C_206D_202E_206A_200B_202C_200F_202C_200E_200E_206F_206C_206B_202C_202A_200F_206C_206D_206B_202B_206F_202C_202D_206E_200F_206A_202A_200F_200B_200C_200C_202B_202C_206F_200C_202E(builder, HalfExtents.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(TriggerBox? other) - { - int num = (((object)this == other) ? (-1981901632) : (-1981901629)); - while (true) - { - int num2 = num; - int num3 = -1981901626; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 7: - num = -1981901629; - break; - case 0: - num = ((!_206C_206A_206D_202E_202C_202A_206C_206C_202E_200D_200D_206A_206E_202C_200D_202B_206F_206B_206E_200E_202E_200F_202E_206D_202D_206D_206F_202B_206F_206B_206B_206A_202E_200E_200D_202E_202A_206C_202B_202B_202E(EqualityContract, other.EqualityContract)) ? (-1981901630) : (-1981901627)); - break; - case 5: - num = (((object)other == null) ? (-1981901630) : (-1981901626)); - break; - case 6: - return true; - case 3: - num = ((!EqualityComparer.Default.Equals(Translation, other.Translation)) ? (-1981901630) : (-1981901628)); - break; - case 4: - return false; - case 1: - return EqualityComparer.Default.Equals(HalfExtents, other.HalfExtents); - case 2: - num = ((!EqualityComparer.Default.Equals(RotationRadians, other.RotationRadians)) ? (-1981901630) : (-1981901625)); - break; - } - } - } - - bool IEquatable.Equals(TriggerBox? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202C_200C_206F_200E_206A_202B_202C_202D_206D_202E_200D_206F_202C_206E_202C_200F_202A_202A_206B_206F_202E_200C_200D_202E_206C_202E_202D_206B_200C_206E_200D_206B_200C_200B_206E_202E_200F_202B_206B_206A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200E_202D_206D_206F_206E_202D_202C_202E_206F_200C_206D_200C_200E_200F_200D_200B_202A_206A_206B_202B_206E_200E_206C_206C_202C_206E_206E_206C_200D_202D_206A_206F_200E_206A_206D_200B_206F_202B_200D_200E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200C_206B_206B_202E_206C_206C_206D_202E_206A_200B_202C_200F_202C_200E_200E_206F_206C_206B_202C_202A_200F_206C_206D_206B_202B_206F_202C_202D_206E_200F_206A_202A_200F_200B_200C_200C_202B_202C_206F_200C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206A_200F_200C_200E_202E_206E_206C_206B_206A_206A_202A_202A_200E_206A_206E_200C_200F_202E_202D_202E_202E_202C_202D_200F_206B_206A_202A_202C_202C_206D_202E_200F_200F_206D_200F_206A_202E_206E_206A_206A_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202E_202D_202A_200F_202D_200E_202B_206B_200C_202D_202D_200B_200C_202D_206B_200B_200D_202E_202C_206C_206D_200E_206F_202B_200C_202C_200D_200B_200B_206A_206C_202E_202A_202B_200E_200E_200C_202B_206F_200E_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206D_202A_206A_200E_206E_200F_206E_200B_206E_206C_202D_206A_200B_200C_206E_202A_206E_202D_200B_202B_202D_200F_206C_202B_202A_206B_202C_202A_206A_200E_202D_206A_202B_202C_202E_202E_206E_206A_200F_200D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _206C_206A_206D_202E_202C_202A_206C_206C_202E_200D_200D_206A_206E_202C_200D_202B_206F_206B_206E_200E_202E_200F_202E_206D_202D_206D_206F_202B_206F_206B_206B_206A_202E_200E_200D_202E_202A_206C_202B_202B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +public sealed record TriggerBox([property: JsonConverter(typeof(VectorConverter))] Vector3 Translation, [property: JsonConverter(typeof(VectorConverter))] Vector3 RotationRadians, [property: JsonConverter(typeof(VectorConverter))] Vector3 HalfExtents); diff --git a/SmartNav.Model/SmartNav.Model/EAetheryteLocationExtensions.cs b/SmartNav.Model/SmartNav.Model/EAetheryteLocationExtensions.cs index e86cfff..3351ccb 100644 --- a/SmartNav.Model/SmartNav.Model/EAetheryteLocationExtensions.cs +++ b/SmartNav.Model/SmartNav.Model/EAetheryteLocationExtensions.cs @@ -4,35 +4,10 @@ public static class EAetheryteLocationExtensions { public static bool IsFirmamentAetheryte(this EAetheryteLocation aetheryteLocation) { - int num = ((aetheryteLocation == EAetheryteLocation.IshgardFirmament) ? (-221038172) : (-221038174)); - bool result = default(bool); - while (true) + if (aetheryteLocation == EAetheryteLocation.IshgardFirmament || (uint)(aetheryteLocation - 2011373) <= 1u || (uint)(aetheryteLocation - 2011384) <= 5u) { - int num2 = num; - int num3 = -221038175; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -221038174; - break; - case 1: - return result; - case 0: - num = (((uint)(aetheryteLocation - 2011384) > 5u) ? (-221038171) : (-221038172)); - break; - case 3: - num = (((uint)(aetheryteLocation - 2011373) <= 1u) ? (-221038172) : (-221038175)); - break; - case 5: - result = true; - num = -221038176; - break; - case 4: - result = false; - num = -221038176; - break; - } + return true; } + return false; } } diff --git a/SmartNav.Model/SmartNav.Model/ModelResources.cs b/SmartNav.Model/SmartNav.Model/ModelResources.cs index ff66473..5d5e265 100644 --- a/SmartNav.Model/SmartNav.Model/ModelResources.cs +++ b/SmartNav.Model/SmartNav.Model/ModelResources.cs @@ -1,42 +1,10 @@ -using System; using System.IO; -using System.Reflection; -using System.Runtime.CompilerServices; namespace SmartNav.Model; public static class ModelResources { - public static Stream CommonAetheryte - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return _206D_202C_200D_206E_200F_200C_200C_206C_202B_202E_206C_202E_202A_202A_200B_202D_202D_206F_206D_200C_200C_200E_202A_206F_206D_206A_200F_206C_200B_202B_202C_202A_202E_200E_206C_200B_206E_206F_202B_202E(_202E_202B_200E_200E_206C_206D_200B_200D_200C_202A_200C_202E_206C_206E_202E_206C_206F_202D_200C_202D_202C_206C_202E_200B_202A_202D_200C_202C_202E_202E_206D_206E_200E_206B_206C_202C_206C_200E_202C_200D_202E(_206E_202E_202A_202D_206D_202D_206F_200C_206E_202A_206B_206F_206B_200B_202C_206A_202D_206E_200D_202A_200C_200B_206C_202A_202B_202D_202E_200B_206F_200F_206D_206E_202A_206D_206D_206E_202E_206B_206B_206B_202E(typeof(ModelResources).TypeHandle)), global::_003CModule_003E._206F_200B_200B_200C_200E_206C_206C_200D_200F_202D_206C_202E_206D_206B_206E_206A_200E_206E_206E_202A_202D_206B_206E_202E_202B_206F_200D_200B_202A_200C_200B_200B_206F_200F_206A_202A_202A_202E_206E_206C_202E(-1394732188)); - } - } + public static Stream CommonAetheryte => typeof(ModelResources).Assembly.GetManifestResourceStream("SmartNav.Model.CommonAetheryte"); - public static Stream CommonAethernetShard - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return _206D_202C_200D_206E_200F_200C_200C_206C_202B_202E_206C_202E_202A_202A_200B_202D_202D_206F_206D_200C_200C_200E_202A_206F_206D_206A_200F_206C_200B_202B_202C_202A_202E_200E_206C_200B_206E_206F_202B_202E(_202E_202B_200E_200E_206C_206D_200B_200D_200C_202A_200C_202E_206C_206E_202E_206C_206F_202D_200C_202D_202C_206C_202E_200B_202A_202D_200C_202C_202E_202E_206D_206E_200E_206B_206C_202C_206C_200E_202C_200D_202E(_206E_202E_202A_202D_206D_202D_206F_200C_206E_202A_206B_206F_206B_200B_202C_206A_202D_206E_200D_202A_200C_200B_206C_202A_202B_202D_202E_200B_206F_200F_206D_206E_202A_206D_206D_206E_202E_206B_206B_206B_202E(typeof(ModelResources).TypeHandle)), global::_003CModule_003E._202E_202B_202A_206F_202D_206F_206A_206B_202C_202B_202E_206D_202D_202E_200F_202B_200F_202A_200F_202C_200C_200B_206D_202E_200D_202D_206C_200F_206F_202D_200F_202E_200E_200E_200F_206C_202C_200B_202C_200C_202E(905440243)); - } - } - - static Type _206E_202E_202A_202D_206D_202D_206F_200C_206E_202A_206B_206F_206B_200B_202C_206A_202D_206E_200D_202A_200C_200B_206C_202A_202B_202D_202E_200B_206F_200F_206D_206E_202A_206D_206D_206E_202E_206B_206B_206B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static Assembly _202E_202B_200E_200E_206C_206D_200B_200D_200C_202A_200C_202E_206C_206E_202E_206C_206F_202D_200C_202D_202C_206C_202E_200B_202A_202D_200C_202C_202E_202E_206D_206E_200E_206B_206C_202C_206C_200E_202C_200D_202E(Type P_0) - { - return P_0.Assembly; - } - - static Stream _206D_202C_200D_206E_200F_200C_200C_206C_202B_202E_206C_202E_202A_202A_200B_202D_202D_206F_206D_200C_200C_200E_202A_206F_206D_206A_200F_206C_200B_202B_202C_202A_202E_200E_206C_200B_206E_206F_202B_202E(Assembly P_0, string P_1) - { - return P_0.GetManifestResourceStream(P_1); - } + public static Stream CommonAethernetShard => typeof(ModelResources).Assembly.GetManifestResourceStream("SmartNav.Model.CommonAethernetShard"); } diff --git a/SmartNav.Model/SmartNav.Model/MovementData.cs b/SmartNav.Model/SmartNav.Model/MovementData.cs index ab7c34f..f0736d6 100644 --- a/SmartNav.Model/SmartNav.Model/MovementData.cs +++ b/SmartNav.Model/SmartNav.Model/MovementData.cs @@ -38,62 +38,13 @@ public static class MovementData public static float GetMountGroundSpeed(int mountSpeedLevel) { - int num; - float result = default(float); - switch (mountSpeedLevel) + return mountSpeedLevel switch { - default: - num = 1141934779; - goto IL_001d; - case 2: - result = 15f; - num = 1141934782; - goto IL_001d; - case 0: - goto IL_0081; - case 1: - goto IL_0092; - IL_001d: - while (true) - { - int num2 = num; - int num3 = 1141934782; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return result; - case 5: - num = 1141934783; - break; - case 1: - result = 9f; - num = 1141934782; - break; - case 6: - goto end_IL_001d; - case 2: - goto IL_0081; - case 4: - goto IL_0092; - case 3: - num = 1141934779; - break; - } - continue; - end_IL_001d: - break; - } - goto case 2; - IL_0092: - result = 12f; - num = 1141934782; - goto IL_001d; - IL_0081: - result = 9f; - num = 1141934782; - goto IL_001d; - } + 0 => 9f, + 1 => 12f, + 2 => 15f, + _ => 9f, + }; } } diff --git a/SmartNav/--z__ReadOnlyArray.cs b/SmartNav/--z__ReadOnlyArray.cs index e4d4542..840f515 100644 --- a/SmartNav/--z__ReadOnlyArray.cs +++ b/SmartNav/--z__ReadOnlyArray.cs @@ -20,7 +20,7 @@ internal sealed class _003C_003Ez__ReadOnlyArray : IEnumerable, ICollection, } set { - throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E(); + throw new NotSupportedException(); } } @@ -44,7 +44,7 @@ internal sealed class _003C_003Ez__ReadOnlyArray : IEnumerable, ICollection, } set { - throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E(); + throw new NotSupportedException(); } } @@ -55,47 +55,47 @@ internal sealed class _003C_003Ez__ReadOnlyArray : IEnumerable, ICollection, IEnumerator IEnumerable.GetEnumerator() { - return _206A_202A_200B_206E_202C_206C_200E_206D_200C_200C_202D_202D_202A_200F_202C_200D_200C_206D_202C_200F_206F_202D_206A_200B_206F_202E_206A_200F_200C_200C_206A_206A_206B_202C_200E_202A_200D_202E_202B_206E_202E((IEnumerable)_items); + return ((IEnumerable)_items).GetEnumerator(); } void ICollection.CopyTo(Array array, int index) { - _200E_200F_206D_200E_202A_200D_202C_206C_200C_202C_202E_200C_206A_206E_206E_206A_206D_202D_206C_200B_200E_202B_200D_206B_200F_202A_202C_206B_200D_206F_200E_200B_200D_206D_202C_202C_200B_206B_200C_202B_202E((ICollection)_items, array, index); + ((ICollection)_items).CopyTo(array, index); } int IList.Add(object? value) { - throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E(); + throw new NotSupportedException(); } void IList.Clear() { - throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E(); + throw new NotSupportedException(); } bool IList.Contains(object? value) { - return _200F_206F_202C_206A_206E_206E_200B_206A_202E_202A_200C_202C_206E_206C_202C_202E_206B_206B_202C_200E_200C_202E_200E_202D_200B_202A_206A_200E_202E_202B_206B_200E_202C_200B_200C_200E_200F_202D_206F_200C_202E((IList)_items, value); + return ((IList)_items).Contains(value); } int IList.IndexOf(object? value) { - return _202B_200F_202D_200D_200D_206C_202A_200F_200F_202B_200C_200D_200F_202D_206B_202E_202B_206A_206B_200D_202C_200E_206D_206C_200F_206F_206D_200F_202D_206F_200B_206B_206A_200F_200E_200B_206F_202D_200F_202E_202E((IList)_items, value); + return ((IList)_items).IndexOf(value); } void IList.Insert(int index, object? value) { - throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E(); + throw new NotSupportedException(); } void IList.Remove(object? value) { - throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E(); + throw new NotSupportedException(); } void IList.RemoveAt(int index) { - throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E(); + throw new NotSupportedException(); } IEnumerator IEnumerable.GetEnumerator() @@ -105,12 +105,12 @@ internal sealed class _003C_003Ez__ReadOnlyArray : IEnumerable, ICollection, void ICollection.Add(T item) { - throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E(); + throw new NotSupportedException(); } void ICollection.Clear() { - throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E(); + throw new NotSupportedException(); } bool ICollection.Contains(T item) @@ -125,7 +125,7 @@ internal sealed class _003C_003Ez__ReadOnlyArray : IEnumerable, ICollection, bool ICollection.Remove(T item) { - throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E(); + throw new NotSupportedException(); } int IList.IndexOf(T item) @@ -135,36 +135,11 @@ internal sealed class _003C_003Ez__ReadOnlyArray : IEnumerable, ICollection, void IList.Insert(int index, T item) { - throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E(); + throw new NotSupportedException(); } void IList.RemoveAt(int index) { - throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E(); - } - - static IEnumerator _206A_202A_200B_206E_202C_206C_200E_206D_200C_200C_202D_202D_202A_200F_202C_200D_200C_206D_202C_200F_206F_202D_206A_200B_206F_202E_206A_200F_200C_200C_206A_206A_206B_202C_200E_202A_200D_202E_202B_206E_202E(IEnumerable P_0) - { - return P_0.GetEnumerator(); - } - - static void _200E_200F_206D_200E_202A_200D_202C_206C_200C_202C_202E_200C_206A_206E_206E_206A_206D_202D_206C_200B_200E_202B_200D_206B_200F_202A_202C_206B_200D_206F_200E_200B_200D_206D_202C_202C_200B_206B_200C_202B_202E(ICollection P_0, Array P_1, int P_2) - { - P_0.CopyTo(P_1, P_2); - } - - static NotSupportedException _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E() - { - return new NotSupportedException(); - } - - static bool _200F_206F_202C_206A_206E_206E_200B_206A_202E_202A_200C_202C_206E_206C_202C_202E_206B_206B_202C_200E_200C_202E_200E_202D_200B_202A_206A_200E_202E_202B_206B_200E_202C_200B_200C_200E_200F_202D_206F_200C_202E(IList P_0, object P_1) - { - return P_0.Contains(P_1); - } - - static int _202B_200F_202D_200D_200D_206C_202A_200F_200F_202B_200C_200D_200F_202D_206B_202E_202B_206A_206B_200D_202C_200E_206D_206C_200F_206F_206D_200F_202D_206F_200B_206B_206A_200F_200E_200B_206F_202D_200F_202E_202E(IList P_0, object P_1) - { - return P_0.IndexOf(P_1); + throw new NotSupportedException(); } } diff --git a/SmartNav/--z__ReadOnlySingleElementList.cs b/SmartNav/--z__ReadOnlySingleElementList.cs index b20dd67..5b22426 100644 --- a/SmartNav/--z__ReadOnlySingleElementList.cs +++ b/SmartNav/--z__ReadOnlySingleElementList.cs @@ -19,27 +19,11 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList : IEnumerable, I bool IEnumerator.MoveNext() { - int num = (_moveNextCalled ? 247413323 : 247413320); - while (true) + if (!_moveNextCalled) { - int num2 = num; - int num3 = 247413322; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return false; - case 2: - return _moveNextCalled = true; - case 0: - goto IL_0055; - } - continue; - IL_0055: - num = 247413320; + return _moveNextCalled = true; } + return false; } void IEnumerator.Reset() @@ -62,31 +46,15 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList : IEnumerable, I { get { - int num = ((index == 0) ? 2495584 : 2495587); - while (true) + if (index != 0) { - int num2 = num; - int num3 = 2495585; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return _item; - case 2: - throw _202D_202E_202A_206A_206C_200F_202B_200F_202A_206B_200B_202A_202C_202A_206A_206C_202B_200F_202A_206B_202C_202D_200F_200E_202C_206D_206C_206C_202E_200B_200E_200F_200F_200C_206C_202C_206F_206E_200B_202E_202E(); - case 0: - goto IL_0055; - } - continue; - IL_0055: - num = 2495587; + throw new IndexOutOfRangeException(); } + return _item; } set { - throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E(); + throw new NotSupportedException(); } } @@ -100,25 +68,11 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList : IEnumerable, I { get { - int num = ((index == 0) ? (-1500986328) : (-1500986325)); - while (true) + if (index != 0) { - int num2 = num; - int num3 = -1500986327; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return _item; - case 2: - throw _202D_202E_202A_206A_206C_200F_202B_200F_202A_206B_200B_202A_202C_202A_206A_206C_202B_200F_202A_206B_202C_202D_200F_200E_202C_206D_206C_206C_202E_200B_200E_200F_200F_200C_206C_202C_206F_206E_200B_202E_202E(); - case 0: - goto IL_004e; - } - continue; - IL_004e: - num = -1500986325; + throw new IndexOutOfRangeException(); } + return _item; } } @@ -130,29 +84,15 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList : IEnumerable, I { get { - int num = ((index == 0) ? 246612200 : 246612201); - while (true) + if (index != 0) { - int num2 = num; - int num3 = 246612200; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0041; - case 0: - return _item; - case 1: - throw _202D_202E_202A_206A_206C_200F_202B_200F_202A_206B_200B_202A_202C_202A_206A_206C_202B_200F_202A_206B_202C_202D_200F_200E_202C_206D_206C_206C_202E_200B_200E_200F_200F_200C_206C_202C_206F_206E_200B_202E_202E(); - } - continue; - IL_0041: - num = 246612201; + throw new IndexOutOfRangeException(); } + return _item; } set { - throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E(); + throw new NotSupportedException(); } } @@ -168,17 +108,17 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList : IEnumerable, I void ICollection.CopyTo(Array array, int index) { - _206C_200B_202C_206B_206C_200D_202D_202E_206B_206A_206D_200B_206D_200B_206E_200D_206F_206F_206E_206B_202E_200E_206E_200C_202D_202A_206E_206B_200B_202D_202E_202E_206D_202D_202B_200E_206A_202D_202E_206C_202E(array, (object)_item, index); + array.SetValue(_item, index); } int IList.Add(object? value) { - throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E(); + throw new NotSupportedException(); } void IList.Clear() { - throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E(); + throw new NotSupportedException(); } bool IList.Contains(object? value) @@ -188,40 +128,26 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList : IEnumerable, I int IList.IndexOf(object? value) { - int num = (EqualityComparer.Default.Equals(_item, (T)value) ? 135208521 : 135208522); - while (true) + if (!EqualityComparer.Default.Equals(_item, (T)value)) { - int num2 = num; - int num3 = 135208520; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0056; - case 2: - return -1; - case 1: - return 0; - } - continue; - IL_0056: - num = 135208522; + return -1; } + return 0; } void IList.Insert(int index, object? value) { - throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E(); + throw new NotSupportedException(); } void IList.Remove(object? value) { - throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E(); + throw new NotSupportedException(); } void IList.RemoveAt(int index) { - throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E(); + throw new NotSupportedException(); } IEnumerator IEnumerable.GetEnumerator() @@ -231,12 +157,12 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList : IEnumerable, I void ICollection.Add(T item) { - throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E(); + throw new NotSupportedException(); } void ICollection.Clear() { - throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E(); + throw new NotSupportedException(); } bool ICollection.Contains(T item) @@ -251,56 +177,25 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList : IEnumerable, I bool ICollection.Remove(T item) { - throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E(); + throw new NotSupportedException(); } int IList.IndexOf(T item) { - int num = (EqualityComparer.Default.Equals(_item, item) ? (-2052686167) : (-2052686166)); - while (true) + if (!EqualityComparer.Default.Equals(_item, item)) { - int num2 = num; - int num3 = -2052686165; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0053; - case 1: - return -1; - case 2: - return 0; - } - continue; - IL_0053: - num = -2052686166; + return -1; } + return 0; } void IList.Insert(int index, T item) { - throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E(); + throw new NotSupportedException(); } void IList.RemoveAt(int index) { - throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E(); - } - - static void _206C_200B_202C_206B_206C_200D_202D_202E_206B_206A_206D_200B_206D_200B_206E_200D_206F_206F_206E_206B_202E_200E_206E_200C_202D_202A_206E_206B_200B_202D_202E_202E_206D_202D_202B_200E_206A_202D_202E_206C_202E(Array P_0, object P_1, int P_2) - { - P_0.SetValue(P_1, P_2); - } - - static IndexOutOfRangeException _202D_202E_202A_206A_206C_200F_202B_200F_202A_206B_200B_202A_202C_202A_206A_206C_202B_200F_202A_206B_202C_202D_200F_200E_202C_206D_206C_206C_202E_200B_200E_200F_200F_200C_206C_202C_206F_206E_200B_202E_202E() - { - return new IndexOutOfRangeException(); - } - - static NotSupportedException _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E() - { - return new NotSupportedException(); + throw new NotSupportedException(); } } diff --git a/SmartNav/SmartNav.Data/AetheryteData.cs b/SmartNav/SmartNav.Data/AetheryteData.cs index 9cc431c..d165245 100644 --- a/SmartNav/SmartNav.Data/AetheryteData.cs +++ b/SmartNav/SmartNav.Data/AetheryteData.cs @@ -1,10 +1,7 @@ -using System; -using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using Lumina.Excel.Sheets; using SmartNav.Model; @@ -13,58 +10,6 @@ namespace SmartNav.Data; public sealed class AetheryteData { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__1_4; - - public static Func _003C_003E9__1_2; - - public static Func _003C_003E9__1_3; - - internal bool _003C_002Ector_003Eb__1_4(Aetheryte x) - { - return x.RowId != 0; - } - - internal bool _003C_002Ector_003Eb__1_2(TerritoryType x) - { - int num = ((x.RowId == 0) ? 1435581385 : 1435581386); - while (true) - { - int num2 = num; - int num3 = 1435581387; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return x.TerritoryIntendedUse.RowId == 0; - case 1: - num = (_202E_200B_202A_200C_200D_202B_206E_206A_200C_206B_200D_200D_206F_206B_202A_202A_206B_202A_200D_206C_206E_206F_202C_200F_202C_206A_206B_206F_202E_202B_202A_202E_206C_202C_206E_202B_200E_200D_202A_202C_202E(x.Name.ToString()) ? 1435581385 : 1435581384); - break; - case 2: - return false; - case 0: - num = 1435581386; - break; - } - } - } - - internal ushort _003C_002Ector_003Eb__1_3(TerritoryType x) - { - return (ushort)x.RowId; - } - - static bool _202E_200B_202A_200C_200D_202B_206E_206A_200C_206B_200D_200D_206F_206B_202A_202A_206B_202A_200D_206C_206E_206F_202C_200F_202C_206A_206B_206F_202E_202B_202A_202E_206C_202C_206E_202B_200E_200D_202A_202C_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - } - public ReadOnlyDictionary Locations { get; } = new Dictionary { { @@ -1026,29 +971,17 @@ public sealed class AetheryteData { Dictionary territoryIds = new Dictionary(); Dictionary aethernetGroups = new Dictionary(); - IEnumerator enumerator = (from x in dataManager.GetExcelSheet() + foreach (Aetheryte item in from x in dataManager.GetExcelSheet() where x.RowId != 0 - select x).GetEnumerator(); - try + select x) { - while (_206F_200C_200E_200C_200E_200B_206B_200C_200F_200E_206C_200F_202A_202D_206E_200B_202A_202B_206E_206F_200F_202B_206D_202A_200C_202C_206B_206A_206B_200F_200F_200D_200C_206E_202D_206D_206F_200E_202B_200E_202E((IEnumerator)enumerator)) + if (item.Territory.RowId != 0) { - Aetheryte current = enumerator.Current; - if (current.Territory.RowId != 0) - { - territoryIds[(EAetheryteLocation)current.RowId] = (ushort)current.Territory.RowId; - } - if (current.AethernetGroup > 0) - { - aethernetGroups[(EAetheryteLocation)current.RowId] = current.AethernetGroup; - } + territoryIds[(EAetheryteLocation)item.RowId] = (ushort)item.Territory.RowId; } - } - finally - { - if (enumerator != null) + if (item.AethernetGroup > 0) { - _202A_200D_206E_202B_206E_202C_200F_202D_200D_206B_206E_206E_206C_200E_202C_200D_202D_206B_206C_202C_202B_206A_202B_206C_206D_202A_202B_200D_202E_206C_206A_206D_202A_206F_206E_206E_200C_202D_206C_206C_202E((IDisposable)enumerator); + aethernetGroups[(EAetheryteLocation)item.RowId] = item.AethernetGroup; } } ConfigureAetheryte(EAetheryteLocation.IshgardFirmament, 886, aethernetGroups[EAetheryteLocation.Ishgard]); @@ -1062,29 +995,8 @@ public sealed class AetheryteData ConfigureAetheryteWithAutoGroup(EAetheryteLocation.FirmamentEasternRisensongQuarter, 886); TerritoryIds = territoryIds.AsReadOnly(); AethernetGroups = aethernetGroups.AsReadOnly(); - TownTerritoryIds = (from x in dataManager.GetExcelSheet().Where(delegate(TerritoryType x) - { - int num = ((x.RowId == 0) ? 1435581385 : 1435581386); - while (true) - { - int num2 = num; - int num3 = 1435581387; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - return x.TerritoryIntendedUse.RowId == 0; - case 1: - num = (_003C_003Ec._202E_200B_202A_200C_200D_202B_206E_206A_200C_206B_200D_200D_206F_206B_202A_202A_206B_202A_200D_206C_206E_206F_202C_200F_202C_206A_206B_206F_202E_202B_202A_202E_206C_202C_206E_202B_200E_200D_202A_202C_202E(x.Name.ToString()) ? 1435581385 : 1435581384); - break; - case 2: - return false; - case 0: - num = 1435581386; - break; - } - } - }) + TownTerritoryIds = (from x in dataManager.GetExcelSheet() + where x.RowId != 0 && !string.IsNullOrEmpty(x.Name.ToString()) && x.TerritoryIntendedUse.RowId == 0 select (ushort)x.RowId).ToList(); void ConfigureAetheryte(EAetheryteLocation aetheryteLocation, ushort territoryId, ushort aethernetGroup) { @@ -1099,93 +1011,41 @@ public sealed class AetheryteData public float CalculateDistance(Vector3 fromPosition, uint fromTerritoryType, EAetheryteLocation to) { - ushort value; - int num = ((!TerritoryIds.TryGetValue(to, out value)) ? (-1407509287) : (-1407509284)); - Vector3 value2 = default(Vector3); - while (true) + if (!TerritoryIds.TryGetValue(to, out var value) || fromTerritoryType != value) { - int num2 = num; - int num3 = -1407509283; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - num = -1407509284; - break; - case 0: - return float.MaxValue; - case 2: - num = (Locations.TryGetValue(to, out value2) ? (-1407509282) : (-1407509283)); - break; - case 1: - num = ((fromTerritoryType == value) ? (-1407509281) : (-1407509287)); - break; - case 4: - return float.MaxValue; - case 3: - return (fromPosition - value2).Length(); - } + return float.MaxValue; } + if (!Locations.TryGetValue(to, out var value2)) + { + return float.MaxValue; + } + return (fromPosition - value2).Length(); } public float CalculateAirshipLandingDistance(Vector3 fromPosition, uint fromTerritoryType, EAetheryteLocation to) { - ushort value; - int num = ((!TerritoryIds.TryGetValue(to, out value)) ? 1034304709 : 1034304710); - Vector3 value2 = default(Vector3); - while (true) + if (!TerritoryIds.TryGetValue(to, out var value) || fromTerritoryType != value) { - int num2 = num; - int num3 = 1034304708; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return float.MaxValue; - case 5: - return float.MaxValue; - case 3: - num = 1034304710; - break; - case 2: - num = ((fromTerritoryType == value) ? 1034304708 : 1034304709); - break; - case 0: - num = (AirshipLandingLocations.TryGetValue(to, out value2) ? 1034304704 : 1034304705); - break; - case 4: - return (fromPosition - value2).Length(); - } + return float.MaxValue; } + if (!AirshipLandingLocations.TryGetValue(to, out var value2)) + { + return float.MaxValue; + } + return (fromPosition - value2).Length(); } public bool IsCityAetheryte(EAetheryteLocation aetheryte) { - int num = ((aetheryte != EAetheryteLocation.IshgardFirmament) ? 819559610 : 819559608); - ushort value = default(ushort); - while (true) + if (aetheryte == EAetheryteLocation.IshgardFirmament) { - int num2 = num; - int num3 = 819559609; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = 819559608; - break; - case 1: - return true; - case 2: - return TownTerritoryIds.Contains(value); - case 0: - return false; - case 3: - num = ((!TerritoryIds.TryGetValue(aetheryte, out value)) ? 819559609 : 819559611); - break; - } + return true; } + if (TerritoryIds.TryGetValue(aetheryte, out var value)) + { + return TownTerritoryIds.Contains(value); + } + return false; } public bool IsAirshipLanding(EAetheryteLocation aetheryte) @@ -1197,51 +1057,11 @@ public sealed class AetheryteData { ushort value; bool flag = TerritoryIds.TryGetValue(aetheryte, out value); - int num = ((!flag) ? 1444610048 : 1444610051); - bool flag2 = default(bool); - while (true) + if (flag) { - int num2 = num; - int num3 = 1444610054; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = ((value != 388) ? 1444610050 : 1444610055); - break; - case 4: - flag2 = false; - num = 1444610053; - break; - case 3: - flag = flag2; - num = 1444610048; - break; - case 6: - return flag; - case 5: - num = ((value == 144) ? 1444610055 : 1444610054); - break; - case 2: - num = 1444610051; - break; - case 1: - flag2 = true; - num = 1444610053; - break; - } + bool flag2 = ((value == 144 || value == 388) ? true : false); + flag = flag2; } - } - - static bool _206F_200C_200E_200C_200E_200B_206B_200C_200F_200E_206C_200F_202A_202D_206E_200B_202A_202B_206E_206F_200F_202B_206D_202A_200C_202C_206B_206A_206B_200F_200F_200D_200C_206E_202D_206D_206F_200E_202B_200E_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202A_200D_206E_202B_206E_202C_200F_202D_200D_206B_206E_206E_206C_200E_202C_200D_202D_206B_206C_202C_202B_206A_202B_206C_206D_202A_202B_200D_202E_206C_206A_206D_202A_206F_206E_206E_200C_202D_206C_206C_202E(IDisposable P_0) - { - P_0.Dispose(); + return flag; } } diff --git a/SmartNav/SmartNav.Data/ExitRangeEntry.cs b/SmartNav/SmartNav.Data/ExitRangeEntry.cs index d7f0b3f..83e4c61 100644 --- a/SmartNav/SmartNav.Data/ExitRangeEntry.cs +++ b/SmartNav/SmartNav.Data/ExitRangeEntry.cs @@ -1,169 +1,5 @@ -using System; -using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; namespace SmartNav.Data; -internal sealed record ExitRangeEntry(ushort SourceTerritoryId, uint InstanceId, Vector3 SourcePosition, ushort DestTerritoryId, uint DestInstanceId, uint ReturnInstanceId, Vector3 Rotation = default(Vector3), Vector3 HalfExtents = default(Vector3)) -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200F_202B_200D_200E_200B_200B_202A_202A_200E_200B_200B_206D_202B_206B_202D_206D_200B_206D_206F_202C_206A_200D_206D_206D_206E_200E_200B_206A_202E_206C_206C_206C_206A_206D_206C_206B_202D_200E_206A_202C_202E(typeof(ExitRangeEntry).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200E_206B_200D_206D_206D_200E_200B_206C_200D_202E_202A_202D_202C_202E_206A_206F_200C_202A_202A_200F_200C_200E_202C_206D_202D_206A_206E_206B_200D_200C_202C_206E_206B_206F_202E_200F_202B_200F_206E_202A_202E(); - _202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(347281461)); - _202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-979564187)); - int num = ((!PrintMembers(stringBuilder)) ? (-1576777821) : (-1576777824)); - while (true) - { - int num2 = num; - int num3 = -1576777823; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1576777824; - break; - case 1: - _202C_202B_206D_202E_202C_206C_206D_206B_202D_202B_200F_202B_200B_206A_206B_200F_206C_206D_202B_200D_202C_202A_200B_206B_202B_202D_206E_206E_200C_202B_202B_200E_202C_200B_200D_202A_206E_206E_206E_200E_202E(stringBuilder, ' '); - num = -1576777821; - break; - case 2: - _202C_202B_206D_202E_202C_206C_206D_206B_202D_202B_200F_202B_200B_206A_206B_200F_206C_206D_202B_200D_202C_202A_200B_206B_202B_202D_206E_206E_200C_202B_202B_200E_202C_200B_200D_202A_206E_206E_206E_200E_202E(stringBuilder, '}'); - return _202D_206B_206C_200B_202C_206B_200B_200F_200E_206D_200D_202E_202C_200E_202C_206D_200C_206B_206A_206B_202A_202C_206D_202D_206D_206B_202B_200E_200E_206F_200E_206C_206E_206F_206E_202B_206F_200E_206D_202B_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202C_200C_202A_202D_206B_202B_202D_206D_200D_200C_200C_206A_202B_200C_206A_206E_202B_206D_200E_202A_202D_200F_200B_206F_200B_200F_206E_206E_202B_202D_206C_200E_202A_200C_202E_202D_206B_202A_206A_200E_202E(); - _202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(2044495272)); - _202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, SourceTerritoryId.ToString()); - _202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-1866378227)); - _202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, InstanceId.ToString()); - _202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-135037385)); - _202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, SourcePosition.ToString()); - _202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(1613414786)); - _202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, DestTerritoryId.ToString()); - _202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(1889617405)); - _202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, DestInstanceId.ToString()); - _202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(1625716735)); - _202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, ReturnInstanceId.ToString()); - _202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-2061524224)); - _202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, Rotation.ToString()); - _202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-1794994947)); - _202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, HalfExtents.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(ExitRangeEntry? other) - { - int num = (((object)this == other) ? 193782023 : 193782031); - while (true) - { - int num2 = num; - int num3 = 193782030; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 7: - return false; - case 10: - num = ((!EqualityComparer.Default.Equals(SourcePosition, other.SourcePosition)) ? 193782025 : 193782030); - break; - case 2: - num = ((!_202E_202C_206D_206E_202B_202B_202E_202A_200D_200F_206C_206D_200F_200B_200B_206B_200C_200E_202B_206D_202C_200B_202B_206A_206D_200C_202D_202A_202E_206F_202A_200E_206A_206C_200D_202D_202B_202D_200B_202B_202E(EqualityContract, other.EqualityContract)) ? 193782025 : 193782022); - break; - case 5: - num = ((!EqualityComparer.Default.Equals(ReturnInstanceId, other.ReturnInstanceId)) ? 193782025 : 193782024); - break; - case 1: - num = (((object)other == null) ? 193782025 : 193782028); - break; - case 11: - num = ((!EqualityComparer.Default.Equals(DestInstanceId, other.DestInstanceId)) ? 193782025 : 193782027); - break; - case 0: - num = ((!EqualityComparer.Default.Equals(DestTerritoryId, other.DestTerritoryId)) ? 193782025 : 193782021); - break; - case 12: - return EqualityComparer.Default.Equals(HalfExtents, other.HalfExtents); - case 3: - num = 193782031; - break; - case 8: - num = ((!EqualityComparer.Default.Equals(SourceTerritoryId, other.SourceTerritoryId)) ? 193782025 : 193782026); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(InstanceId, other.InstanceId)) ? 193782025 : 193782020); - break; - case 9: - return true; - case 6: - num = ((!EqualityComparer.Default.Equals(Rotation, other.Rotation)) ? 193782025 : 193782018); - break; - } - } - } - - bool IEquatable.Equals(ExitRangeEntry? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200F_202B_200D_200E_200B_200B_202A_202A_200E_200B_200B_206D_202B_206B_202D_206D_200B_206D_206F_202C_206A_200D_206D_206D_206E_200E_200B_206A_202E_206C_206C_206C_206A_206D_206C_206B_202D_200E_206A_202C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200E_206B_200D_206D_206D_200E_200B_206C_200D_202E_202A_202D_202C_202E_206A_206F_200C_202A_202A_200F_200C_200E_202C_206D_202D_206A_206E_206B_200D_200C_202C_206E_206B_206F_202E_200F_202B_200F_206E_202A_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202C_202B_206D_202E_202C_206C_206D_206B_202D_202B_200F_202B_200B_206A_206B_200F_206C_206D_202B_200D_202C_202A_200B_206B_202B_202D_206E_206E_200C_202B_202B_200E_202C_200B_200D_202A_206E_206E_206E_200E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202D_206B_206C_200B_202C_206B_200B_200F_200E_206D_200D_202E_202C_200E_202C_206D_200C_206B_206A_206B_202A_202C_206D_202D_206D_206B_202B_200E_200E_206F_200E_206C_206E_206F_206E_202B_206F_200E_206D_202B_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202C_200C_202A_202D_206B_202B_202D_206D_200D_200C_200C_206A_202B_200C_206A_206E_202B_206D_200E_202A_202D_200F_200B_206F_200B_200F_206E_206E_202B_202D_206C_200E_202A_200C_202E_202D_206B_202A_206A_200E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _202E_202C_206D_206E_202B_202B_202E_202A_200D_200F_206C_206D_200F_200B_200B_206B_200C_200E_202B_206D_202C_200B_202B_206A_206D_200C_202D_202A_202E_206F_202A_200E_206A_206C_200D_202D_202B_202D_200B_202B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +internal sealed record ExitRangeEntry(ushort SourceTerritoryId, uint InstanceId, Vector3 SourcePosition, ushort DestTerritoryId, uint DestInstanceId, uint ReturnInstanceId, Vector3 Rotation = default(Vector3), Vector3 HalfExtents = default(Vector3)); diff --git a/SmartNav/SmartNav.Data/LgbZoneBoundarySource.cs b/SmartNav/SmartNav.Data/LgbZoneBoundarySource.cs index d39631d..6861f7a 100644 --- a/SmartNav/SmartNav.Data/LgbZoneBoundarySource.cs +++ b/SmartNav/SmartNav.Data/LgbZoneBoundarySource.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; +using System.IO; using System.Numerics; -using System.Runtime.CompilerServices; using System.Threading; using Dalamud.Plugin.Services; using LLib.GameData; @@ -16,16 +16,28 @@ namespace SmartNav.Data; public sealed class LgbZoneBoundarySource : IZoneBoundarySource { + private const uint BoundaryFileMagic = 1112425562u; + + private const int BoundaryFileFormatVersion = 1; + + private const string CacheFileName = "zone-boundary-cache.bin"; + private readonly IDataManager _dataManager; private readonly ILogger _logger; private readonly Lazy> _boundaries; - public LgbZoneBoundarySource(IDataManager dataManager, ILogger logger) + private readonly string? _cacheDirectory; + + private readonly string? _gameVersion; + + public LgbZoneBoundarySource(IDataManager dataManager, ILogger logger, SmartNavDataOptions? dataOptions = null) { _dataManager = dataManager; _logger = logger; + _cacheDirectory = dataOptions?.UserOverrideDirectory?.FullName; + _gameVersion = dataOptions?.GameVersion; _boundaries = new Lazy>(Build, LazyThreadSafetyMode.ExecutionAndPublication); } @@ -34,378 +46,195 @@ public sealed class LgbZoneBoundarySource : IZoneBoundarySource return _boundaries.Value; } - IReadOnlyList IZoneBoundarySource.GetBoundaries() - { - //ILSpy generated this explicit interface implementation from .override directive in GetBoundaries - return this.GetBoundaries(); - } - - [MethodImpl(MethodImplOptions.NoInlining)] private IReadOnlyList Build() { try { - (List ExitRanges, Dictionary<(ushort TerritoryId, uint InstanceId), PopRangeEntry> PopRangeIndex) tuple = CollectLgbData(); - List item = tuple.ExitRanges; - Dictionary<(ushort, uint), PopRangeEntry> item2 = tuple.PopRangeIndex; + (List, Dictionary<(ushort, uint), PopRangeEntry>)? tuple = TryLoadFromDisk(); + if (!tuple.HasValue) + { + _logger.LogInformation("No boundary cache found, falling back to in-process LGB scan"); + } + (List, Dictionary<(ushort, uint), PopRangeEntry>) obj = tuple ?? CollectLgbData(); + List item = obj.Item1; + Dictionary<(ushort, uint), PopRangeEntry> item2 = obj.Item2; List list = ZoneBoundaryDerivation.Derive(item, item2, _logger); ZoneBoundaryDerivation.ApplyOverrides(list, ZoneBoundaryOverrides.FlyingPairs, ZoneBoundaryOverrides.PositionOverrides, _logger); - _206C_200B_206A_202D_206B_206B_206B_202B_202C_202E_202D_206B_206B_202C_200E_202E_206A_202E_200D_206E_206E_206D_206A_206C_206A_202E_206B_202E_202B_206E_202C_200C_206B_202B_206F_206C_206C_202E_202C_206D_202E((ILogger)_logger, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-981985917), new object[2] { list.Count, item.Count }); + _logger.LogDebug("Derived {Count} zone boundaries from {ExitCount} ExitRanges{Source}", list.Count, item.Count, tuple.HasValue ? " (from cache)" : ""); return list; } - catch (Exception ex) + catch (Exception exception) { - _202A_200E_202B_202E_200D_200F_200E_206F_206A_206C_202C_202B_200B_200C_200E_206A_206A_200E_202C_206F_202D_200B_202D_206A_200C_206D_200B_206D_206D_202B_206E_206B_206F_200E_202B_202D_200E_206C_202C_202D_202E((ILogger)_logger, ex, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(927516533), Array.Empty()); + _logger.LogError(exception, "Zone boundary derivation failed - building graph without boundary edges"); return Array.Empty(); } } + private (List ExitRanges, Dictionary<(ushort TerritoryId, uint InstanceId), PopRangeEntry> PopRangeIndex)? TryLoadFromDisk() + { + if (string.IsNullOrEmpty(_cacheDirectory) || string.IsNullOrEmpty(_gameVersion)) + { + return null; + } + string path = Path.Combine(_cacheDirectory, "zone-boundary-cache.bin"); + if (!File.Exists(path)) + { + return null; + } + try + { + using BinaryReader binaryReader = new BinaryReader(File.OpenRead(path)); + if (binaryReader.ReadUInt32() != 1112425562 || binaryReader.ReadInt32() != 1) + { + _logger.LogDebug("Zone boundary cache has unknown header, discarding"); + return null; + } + if (binaryReader.ReadString() != _gameVersion) + { + _logger.LogDebug("Zone boundary cache is for a different game version, discarding"); + return null; + } + int num = binaryReader.ReadInt32(); + List list = new List(num); + for (int i = 0; i < num; i++) + { + list.Add(new ExitRangeEntry(binaryReader.ReadUInt16(), binaryReader.ReadUInt32(), new Vector3(binaryReader.ReadSingle(), binaryReader.ReadSingle(), binaryReader.ReadSingle()), binaryReader.ReadUInt16(), binaryReader.ReadUInt32(), binaryReader.ReadUInt32(), new Vector3(binaryReader.ReadSingle(), binaryReader.ReadSingle(), binaryReader.ReadSingle()), new Vector3(binaryReader.ReadSingle(), binaryReader.ReadSingle(), binaryReader.ReadSingle()))); + } + int num2 = binaryReader.ReadInt32(); + Dictionary<(ushort, uint), PopRangeEntry> dictionary = new Dictionary<(ushort, uint), PopRangeEntry>(num2); + for (int j = 0; j < num2; j++) + { + ushort num3 = binaryReader.ReadUInt16(); + uint num4 = binaryReader.ReadUInt32(); + Vector3 position = new Vector3(binaryReader.ReadSingle(), binaryReader.ReadSingle(), binaryReader.ReadSingle()); + dictionary[(num3, num4)] = new PopRangeEntry(num3, num4, position); + } + _logger.LogDebug("Zone boundary cache loaded from disk ({ExitCount} exits, {PopCount} pops)", list.Count, dictionary.Count); + return (list, dictionary); + } + catch (Exception exception) + { + _logger.LogWarning(exception, "Failed to load zone boundary cache, falling back to LGB scan"); + } + try + { + File.Delete(path); + } + catch + { + } + return null; + } + private (List ExitRanges, Dictionary<(ushort TerritoryId, uint InstanceId), PopRangeEntry> PopRangeIndex) CollectLgbData() { List list = new List(); Dictionary<(ushort, uint), PopRangeEntry> dictionary = new Dictionary<(ushort, uint), PopRangeEntry>(); HashSet hashSet = new HashSet(); - using (ExcelSheet.Enumerator enumerator = _dataManager.GetExcelSheet().GetEnumerator()) + foreach (Aetheryte item in _dataManager.GetExcelSheet()) { - int num = 1763362761; - while (true) - { - int num2 = num; - int num3 = 1763362761; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = 1763362761; - break; - case 0: - num = (enumerator.MoveNext() ? 1763362760 : 1763362763); - break; - case 1: - hashSet.Add(enumerator.Current.Territory.RowId); - num = 1763362761; - break; - case 2: - goto end_IL_003b; - } - continue; - end_IL_003b: - break; - } + hashSet.Add(item.Territory.RowId); } ExcelSheet excelSheet = _dataManager.GetExcelSheet(); HashSet visitedLgbPaths = new HashSet(); - using (ExcelSheet.Enumerator enumerator2 = excelSheet.GetEnumerator()) + bool cacheFileResources = _dataManager.GameData.Options.CacheFileResources; + _dataManager.GameData.Options.CacheFileResources = false; + try { - int num = -1445218693; - TerritoryType current = default(TerritoryType); - while (true) + foreach (TerritoryType item2 in excelSheet) { - int num5 = num; - int num3 = -1445218689; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) + if (hashSet.Contains(item2.RowId)) { - case 3: - num = -1445218693; - break; - case 1: - current = enumerator2.Current; - num = ((!hashSet.Contains(current.RowId)) ? (-1445218693) : (-1445218691)); - break; - case 2: - ScanTerritory(list, dictionary, visitedLgbPaths, current); - num = -1445218693; - break; - case 4: - num = (enumerator2.MoveNext() ? (-1445218690) : (-1445218689)); - break; - case 0: - goto end_IL_010c; + ScanTerritory(list, dictionary, visitedLgbPaths, item2); } - continue; - end_IL_010c: - break; + } + foreach (TerritoryType item3 in excelSheet) + { + ScanTerritory(list, dictionary, visitedLgbPaths, item3); } } - using (ExcelSheet.Enumerator enumerator2 = excelSheet.GetEnumerator()) + finally { - int num = -1007277372; - while (true) - { - int num8 = num; - int num3 = -1007277372; - int num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 2: - num = -1007277372; - break; - case 1: - { - TerritoryType current2 = enumerator2.Current; - ScanTerritory(list, dictionary, visitedLgbPaths, current2); - num = -1007277372; - break; - } - case 0: - num = (enumerator2.MoveNext() ? (-1007277371) : (-1007277369)); - break; - case 3: - goto end_IL_01e4; - } - continue; - end_IL_01e4: - break; - } + _dataManager.GameData.Options.CacheFileResources = cacheFileResources; } return (ExitRanges: list, PopRangeIndex: dictionary); } private static bool IsNavigableOverworld(ETerritoryIntendedUse use) { - int num = ((use > ETerritoryIntendedUse.HousingOutdoor) ? (-754120289) : (-754120291)); - bool result = default(bool); - while (true) + switch (use) { - int num2 = num; - int num3 = -754120292; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - num = ((use == ETerritoryIntendedUse.Eureka) ? (-754120298) : (-754120294)); - break; - case 12: - num = ((use - 21 <= ETerritoryIntendedUse.Inn) ? (-754120298) : (-754120295)); - break; - case 11: - num = ((use - 60 > ETerritoryIntendedUse.Overworld) ? (-754120300) : (-754120298)); - break; - case 0: - num = -754120291; - break; - case 6: - num = -754120300; - break; - case 3: - num = ((use > ETerritoryIntendedUse.Eureka) ? (-754120290) : (-754120304)); - break; - case 1: - num = ((use <= ETerritoryIntendedUse.Overworld) ? (-754120298) : (-754120303)); - break; - case 8: - result = false; - num = -754120296; - break; - case 10: - result = true; - num = -754120296; - break; - case 9: - num = ((use == ETerritoryIntendedUse.HousingOutdoor) ? (-754120298) : (-754120293)); - break; - case 13: - num = ((use == ETerritoryIntendedUse.OpeningArea) ? (-754120298) : (-754120299)); - break; - case 4: - return result; - case 2: - num = ((use - 48 <= ETerritoryIntendedUse.Overworld) ? (-754120298) : (-754120297)); - break; - case 7: - num = -754120300; - break; - } + case ETerritoryIntendedUse.Town: + case ETerritoryIntendedUse.Overworld: + case ETerritoryIntendedUse.OpeningArea: + case ETerritoryIntendedUse.HousingOutdoor: + case ETerritoryIntendedUse.Firmament: + case ETerritoryIntendedUse.SanctumOfTheTwelve: + case ETerritoryIntendedUse.GoldSaucer: + case ETerritoryIntendedUse.Eureka: + case ETerritoryIntendedUse.Bozja: + case ETerritoryIntendedUse.IslandSanctuary: + case ETerritoryIntendedUse.CosmicExploration: + case ETerritoryIntendedUse.OccultCrescent: + return true; + default: + return false; } } - [MethodImpl(MethodImplOptions.NoInlining)] private void ScanTerritory(List exitRanges, Dictionary<(ushort TerritoryId, uint InstanceId), PopRangeEntry> popRangeIndex, HashSet visitedLgbPaths, TerritoryType territory) { - int num = ((territory.RowId != 0) ? 954333098 : 954333094); - string text4 = default(string); - int num16 = default(int); - string text = default(string); - int num9 = default(int); - LayerCommon.InstanceObject instanceObject = default(LayerCommon.InstanceObject); - int num11 = default(int); - LayerCommon.Layer[] array = default(LayerCommon.Layer[]); - LayerCommon.InstanceObject[] instanceObjects = default(LayerCommon.InstanceObject[]); - while (true) + if (territory.RowId == 0 || !IsNavigableOverworld((ETerritoryIntendedUse)territory.TerritoryIntendedUse.RowId)) { - int num2 = num; - int num3 = 954333091; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + string text = territory.Bg.ExtractText(); + if (string.IsNullOrEmpty(text)) + { + return; + } + int num = text.IndexOf("/level/", StringComparison.Ordinal); + if (num < 0) + { + return; + } + string text2 = "bg/" + text.Substring(0, num + 1) + "level/planmap.lgb"; + if (!visitedLgbPaths.Add(text2)) + { + return; + } + ushort num2 = (ushort)territory.RowId; + LgbFile file; + try + { + file = _dataManager.GetFile(text2); + } + catch (Exception exception) + { + _logger.LogTrace(exception, "Failed to load {Path}", text2); + return; + } + if (file == null) + { + return; + } + LayerCommon.Layer[] layers = file.Layers; + for (int i = 0; i < layers.Length; i++) + { + LayerCommon.InstanceObject[] instanceObjects = layers[i].InstanceObjects; + for (int j = 0; j < instanceObjects.Length; j++) { - case 0: - num = 954333094; - break; - case 5: - return; - case 4: - { - string text2 = global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-747831667); - string text3 = text4; - int num15 = num16; - num3 = 1; - num4 = num15; - text = _206A_206C_202B_202E_200D_200B_206E_206D_206D_206E_200B_202A_200F_202C_202B_200F_202D_200F_200D_202A_206E_200B_200E_202A_202E_206C_206E_202C_200D_200F_200E_206F_200E_202A_206E_206B_206F_200B_200C_206D_202E(text2, _200F_200B_206F_202B_202D_206F_200D_202C_206F_206C_206E_202E_202D_206E_206B_206C_202E_202D_206E_202E_206D_200B_202D_200D_202A_202D_206C_200C_206B_206B_200C_200B_200F_200D_200C_206B_206B_206A_206B_200C_202E(text3, 0, (num4 | num3) + (num4 & num3)), global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-1939239349)); - num = (visitedLgbPaths.Add(text) ? 954333092 : 954333089); - break; - } - case 1: - num16 = _202A_206F_200D_202A_202C_206A_200C_202A_206C_206A_206F_200E_206D_206F_206C_200D_200B_202E_206F_202E_200E_206B_200C_206D_202A_202E_206E_200C_206E_206A_202B_206F_200F_206C_206A_200B_206B_202B_202E_200D_202E(text4, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(16137996), StringComparison.Ordinal); - num = ((num16 >= 0) ? 954333095 : 954333099); - break; - case 9: - num = (IsNavigableOverworld((ETerritoryIntendedUse)territory.TerritoryIntendedUse.RowId) ? 954333093 : 954333088); - break; - case 8: - return; - case 10: - return; - case 3: - return; - case 2: - return; - case 6: - text4 = territory.Bg.ExtractText(); - num = ((!_206E_206A_200C_200E_202E_202D_202C_200B_206E_206A_200F_206E_202C_206F_200D_200C_200D_200D_202E_206C_206D_202E_206F_206E_200D_202E_206A_206A_200E_206B_200C_202C_202B_200F_206D_200C_202E_206F_202A_206C_202E(text4)) ? 954333090 : 954333097); - break; - case 7: - { - ushort num7 = (ushort)territory.RowId; - LgbFile file; - try + LayerCommon.InstanceObject instanceObject = instanceObjects[j]; + if (instanceObject.AssetType == LayerEntryType.ExitRange) { - file = _dataManager.GetFile(text); + LayerCommon.ExitRangeInstanceObject exitRangeInstanceObject = (LayerCommon.ExitRangeInstanceObject)(object)instanceObject.Object; + exitRanges.Add(new ExitRangeEntry(num2, instanceObject.InstanceId, new Vector3(instanceObject.Transform.Translation.X, instanceObject.Transform.Translation.Y, instanceObject.Transform.Translation.Z), exitRangeInstanceObject.TerritoryType, exitRangeInstanceObject.DestInstanceId, exitRangeInstanceObject.ReturnInstanceId, new Vector3(instanceObject.Transform.Rotation.X, instanceObject.Transform.Rotation.Y, instanceObject.Transform.Rotation.Z), new Vector3(instanceObject.Transform.Scale.X, instanceObject.Transform.Scale.Y, instanceObject.Transform.Scale.Z))); } - catch (Exception ex) + else if (instanceObject.AssetType == LayerEntryType.PopRange) { - _206D_206B_200C_200C_200E_200F_202D_206E_200E_206C_206A_200C_200E_202E_202A_200B_206C_206B_206F_200D_202A_202B_206A_200C_202C_202D_200B_202A_202E_206F_206D_202A_206C_200D_200F_200B_200E_206F_206E_206B_202E((ILogger)_logger, ex, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(422414557), new object[1] { text }); - return; + popRangeIndex[(num2, instanceObject.InstanceId)] = new PopRangeEntry(num2, instanceObject.InstanceId, new Vector3(instanceObject.Transform.Translation.X, instanceObject.Transform.Translation.Y, instanceObject.Transform.Translation.Z)); } - num = ((file != null) ? (-1034574211) : (-1034574214)); - while (true) - { - int num8 = num; - num3 = -1034574218; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 6: - { - int num12 = num9; - num3 = 1; - num4 = num12; - int num13 = num4 ^ num3; - int num14 = num4 & num3; - num9 = num13 + (num14 + num14); - num = -1034574220; - break; - } - case 0: - popRangeIndex[(num7, instanceObject.InstanceId)] = new PopRangeEntry(num7, instanceObject.InstanceId, new Vector3(instanceObject.Transform.Translation.X, instanceObject.Transform.Translation.Y, instanceObject.Transform.Translation.Z)); - num = -1034574224; - break; - case 9: - num = ((num11 < array.Length) ? (-1034574210) : (-1034574219)); - break; - case 11: - array = _206B_202A_206C_200B_200F_202D_200C_202D_206C_206E_206C_206E_202E_200B_202D_202C_206F_206F_202B_200E_202A_200C_202E_206E_206D_206E_202B_206E_200F_206F_200F_200E_206F_202D_202C_206E_200D_200F_202A_200E_202E(file); - num11 = 0; - num = -1034574209; - break; - case 12: - return; - case 8: - instanceObjects = array[num11].InstanceObjects; - num9 = 0; - num = -1034574220; - break; - case 7: - { - int num10 = num11; - num3 = 1; - num4 = num10; - num11 = (num4 | num3) + (num4 & num3); - num = -1034574209; - break; - } - case 3: - return; - case 10: - num = -1034574214; - break; - case 2: - num = ((num9 < instanceObjects.Length) ? (-1034574222) : (-1034574223)); - break; - case 1: - { - LayerCommon.ExitRangeInstanceObject exitRangeInstanceObject = (LayerCommon.ExitRangeInstanceObject)(object)instanceObject.Object; - exitRanges.Add(new ExitRangeEntry(num7, instanceObject.InstanceId, new Vector3(instanceObject.Transform.Translation.X, instanceObject.Transform.Translation.Y, instanceObject.Transform.Translation.Z), exitRangeInstanceObject.TerritoryType, exitRangeInstanceObject.DestInstanceId, exitRangeInstanceObject.ReturnInstanceId, new Vector3(instanceObject.Transform.Rotation.X, instanceObject.Transform.Rotation.Y, instanceObject.Transform.Rotation.Z), new Vector3(instanceObject.Transform.Scale.X, instanceObject.Transform.Scale.Y, instanceObject.Transform.Scale.Z))); - num = -1034574224; - break; - } - case 5: - num = ((instanceObject.AssetType != LayerEntryType.PopRange) ? (-1034574224) : (-1034574218)); - break; - case 4: - instanceObject = instanceObjects[num9]; - num = ((instanceObject.AssetType != LayerEntryType.ExitRange) ? (-1034574221) : (-1034574217)); - break; - } - } - } } } } - - static void _206C_200B_206A_202D_206B_206B_206B_202B_202C_202E_202D_206B_206B_202C_200E_202E_206A_202E_200D_206E_206E_206D_206A_206C_206A_202E_206B_202E_202B_206E_202C_200C_206B_202B_206F_206C_206C_202E_202C_206D_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static void _202A_200E_202B_202E_200D_200F_200E_206F_206A_206C_202C_202B_200B_200C_200E_206A_206A_200E_202C_206F_202D_200B_202D_206A_200C_206D_200B_206D_206D_202B_206E_206B_206F_200E_202B_202D_200E_206C_202C_202D_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogError(P_1, P_2, P_3); - } - - static bool _206E_206A_200C_200E_202E_202D_202C_200B_206E_206A_200F_206E_202C_206F_200D_200C_200D_200D_202E_206C_206D_202E_206F_206E_200D_202E_206A_206A_200E_206B_200C_202C_202B_200F_206D_200C_202E_206F_202A_206C_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static int _202A_206F_200D_202A_202C_206A_200C_202A_206C_206A_206F_200E_206D_206F_206C_200D_200B_202E_206F_202E_200E_206B_200C_206D_202A_202E_206E_200C_206E_206A_202B_206F_200F_206C_206A_200B_206B_202B_202E_200D_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.IndexOf(P_1, P_2); - } - - static string _200F_200B_206F_202B_202D_206F_200D_202C_206F_206C_206E_202E_202D_206E_206B_206C_202E_202D_206E_202E_206D_200B_202D_200D_202A_202D_206C_200C_206B_206B_200C_200B_200F_200D_200C_206B_206B_206A_206B_200C_202E(string P_0, int P_1, int P_2) - { - return P_0.Substring(P_1, P_2); - } - - static string _206A_206C_202B_202E_200D_200B_206E_206D_206D_206E_200B_202A_200F_202C_202B_200F_202D_200F_200D_202A_206E_200B_200E_202A_202E_206C_206E_202C_200D_200F_200E_206F_200E_202A_206E_206B_206F_200B_200C_206D_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static void _206D_206B_200C_200C_200E_200F_202D_206E_200E_206C_206A_200C_200E_202E_202A_200B_206C_206B_206F_200D_202A_202B_206A_200C_202C_202D_200B_202A_202E_206F_206D_202A_206C_200D_200F_200B_200E_206F_206E_206B_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) - { - P_0.LogTrace(P_1, P_2, P_3); - } - - static LayerCommon.Layer[] _206B_202A_206C_200B_200F_202D_200C_202D_206C_206E_206C_206E_202E_200B_202D_202C_206F_206F_202B_200E_202A_200C_202E_206E_206D_206E_202B_206E_200F_206F_200F_200E_206F_202D_202C_206E_200D_200F_202A_200E_202E(LgbFile P_0) - { - return P_0.Layers; - } } diff --git a/SmartNav/SmartNav.Data/PopRangeEntry.cs b/SmartNav/SmartNav.Data/PopRangeEntry.cs index 7dd4257..19069f8 100644 --- a/SmartNav/SmartNav.Data/PopRangeEntry.cs +++ b/SmartNav/SmartNav.Data/PopRangeEntry.cs @@ -1,142 +1,5 @@ -using System; -using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; namespace SmartNav.Data; -internal sealed record PopRangeEntry(ushort TerritoryId, uint InstanceId, Vector3 Position) -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _200C_202C_200D_206B_206B_200C_202A_202A_200D_206C_200B_206D_200C_202E_200D_200E_202C_206D_200D_202E_200B_202D_202E_202B_202E_200D_200F_206D_202E_202C_202C_202E_206A_200F_202E_206E_206D_202A_200E_202E_202E(typeof(PopRangeEntry).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202B_200C_206E_200B_206F_200E_206F_206B_202C_202E_206E_206E_202C_200C_202B_206D_206A_206C_206B_202B_206B_200F_202A_206F_206A_202B_202B_200F_200B_206B_202D_206F_206D_206B_200B_202B_200D_200C_200B_200E_202E(); - _202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-808505002)); - _202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(stringBuilder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(1886515922)); - int num = ((!PrintMembers(stringBuilder)) ? 514533744 : 514533747); - while (true) - { - int num2 = num; - int num3 = 514533746; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - _200E_200E_206E_206B_206B_200C_206C_206D_206A_206B_206D_200C_206A_202E_206A_202D_200C_200B_202C_206A_202B_202E_206E_206A_202B_202C_200E_200E_206B_206B_200F_206C_200E_202E_206B_206D_200C_206A_202D_206E_202E(stringBuilder, '}'); - return _202A_202C_200F_206D_206E_202C_206A_206F_206A_206D_206C_206C_200E_206E_200B_202D_202E_202D_206E_206C_206C_202C_200C_200D_206F_206E_206C_202A_200B_206B_206C_206E_202B_206C_200E_206E_206D_202D_200B_206E_202E((object)stringBuilder); - case 1: - _200E_200E_206E_206B_206B_200C_206C_206D_206A_206B_206D_200C_206A_202E_206A_202D_200C_200B_202C_206A_202B_202E_206E_206A_202B_202C_200E_200E_206B_206B_200F_206C_200E_202E_206B_206D_200C_206A_202D_206E_202E(stringBuilder, ' '); - num = 514533744; - break; - case 0: - num = 514533747; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200E_206A_202C_200C_200E_202A_206E_206B_200B_206E_202C_200F_202B_200F_202D_206E_206B_200D_202D_200F_202B_206F_202A_202B_206E_202C_202C_200C_200E_200B_206D_200F_200C_200D_202B_200E_202E_202B_206E_206F_202E(); - _202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(167583641)); - _202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(builder, TerritoryId.ToString()); - _202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(299588646)); - _202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(builder, InstanceId.ToString()); - _202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-14976604)); - _202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(builder, Position.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(PopRangeEntry? other) - { - int num = (((object)this == other) ? (-1947000687) : (-1947000681)); - while (true) - { - int num2 = num; - int num3 = -1947000682; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1947000681; - break; - case 5: - return EqualityComparer.Default.Equals(Position, other.Position); - case 1: - num = (((object)other == null) ? (-1947000686) : (-1947000688)); - break; - case 3: - num = ((!EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId)) ? (-1947000686) : (-1947000682)); - break; - case 7: - return true; - case 4: - return false; - case 6: - num = ((!_200E_206D_206F_200E_206B_206B_206B_206B_206E_202B_200F_206F_206F_206E_202A_200C_202C_206F_200D_206F_202E_206D_206F_206E_200E_202A_200F_202D_202D_200B_206F_202D_202D_206E_200E_200E_206C_206A_202C_202E(EqualityContract, other.EqualityContract)) ? (-1947000686) : (-1947000683)); - break; - case 0: - num = ((!EqualityComparer.Default.Equals(InstanceId, other.InstanceId)) ? (-1947000686) : (-1947000685)); - break; - } - } - } - - bool IEquatable.Equals(PopRangeEntry? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200C_202C_200D_206B_206B_200C_202A_202A_200D_206C_200B_206D_200C_202E_200D_200E_202C_206D_200D_202E_200B_202D_202E_202B_202E_200D_200F_206D_202E_202C_202C_202E_206A_200F_202E_206E_206D_202A_200E_202E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202B_200C_206E_200B_206F_200E_206F_206B_202C_202E_206E_206E_202C_200C_202B_206D_206A_206C_206B_202B_206B_200F_202A_206F_206A_202B_202B_200F_200B_206B_202D_206F_206D_206B_200B_202B_200D_200C_200B_200E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200E_200E_206E_206B_206B_200C_206C_206D_206A_206B_206D_200C_206A_202E_206A_202D_200C_200B_202C_206A_202B_202E_206E_206A_202B_202C_200E_200E_206B_206B_200F_206C_200E_202E_206B_206D_200C_206A_202D_206E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202A_202C_200F_206D_206E_202C_206A_206F_206A_206D_206C_206C_200E_206E_200B_202D_202E_202D_206E_206C_206C_202C_200C_200D_206F_206E_206C_202A_200B_206B_206C_206E_202B_206C_200E_206E_206D_202D_200B_206E_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200E_206A_202C_200C_200E_202A_206E_206B_200B_206E_202C_200F_202B_200F_202D_206E_206B_200D_202D_200F_202B_206F_202A_202B_206E_202C_202C_200C_200E_200B_206D_200F_200C_200D_202B_200E_202E_202B_206E_206F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _200E_206D_206F_200E_206B_206B_206B_206B_206E_202B_200F_206F_206F_206E_202A_200C_202C_206F_200D_206F_202E_206D_206F_206E_200E_202A_200F_202D_202D_200B_206F_202D_202D_206E_200E_200E_206C_206A_202C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +internal sealed record PopRangeEntry(ushort TerritoryId, uint InstanceId, Vector3 Position); diff --git a/SmartNav/SmartNav.Data/SmartNavDataOptions.cs b/SmartNav/SmartNav.Data/SmartNavDataOptions.cs index f578512..1822314 100644 --- a/SmartNav/SmartNav.Data/SmartNavDataOptions.cs +++ b/SmartNav/SmartNav.Data/SmartNavDataOptions.cs @@ -1,149 +1,5 @@ -using System; -using System.Collections.Generic; using System.IO; -using System.Runtime.CompilerServices; -using System.Text; namespace SmartNav.Data; -public sealed record SmartNavDataOptions(DirectoryInfo? UserOverrideDirectory = null, DirectoryInfo? DevSourceDirectory = null, string? GameVersion = null) -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206B_202A_200C_202A_200E_200C_206E_200E_200F_206D_206A_206B_202C_202B_202C_200E_200B_206B_206C_202D_206A_206D_202C_200B_200C_202B_206A_202E_206E_206F_202C_200E_206E_206F_206F_200C_200E_206F_202A_202A_202E(typeof(SmartNavDataOptions).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200E_206C_200D_200F_206B_202A_200C_206C_202E_202A_206A_200E_200C_206D_202B_200B_206C_202A_202E_206F_200F_206F_202E_202E_206A_202E_202E_202A_206F_202B_202A_200F_200C_206D_200D_200D_206F_202D_202D_202B_202E(); - _206A_202A_200F_206B_206A_200B_202C_206F_200C_200D_206E_200B_202C_200D_206D_202B_200F_200D_206D_200C_206D_200B_202E_206E_206E_206E_200F_206B_200B_206F_206A_200E_206D_206B_206C_200B_206B_206F_200D_202D_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-1494308078)); - _206A_202A_200F_206B_206A_200B_202C_206F_200C_200D_206E_200B_202C_200D_206D_202B_200F_200D_206D_200C_206D_200B_202E_206E_206E_206E_200F_206B_200B_206F_206A_200E_206D_206B_206C_200B_206B_206F_200D_202D_202E(stringBuilder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(1120247710)); - int num = ((!PrintMembers(stringBuilder)) ? (-1057108320) : (-1057108319)); - while (true) - { - int num2 = num; - int num3 = -1057108320; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -1057108319; - break; - case 0: - _202A_200C_200D_206D_202A_200F_200F_200D_200D_206D_206A_202D_200B_200C_200D_206C_202E_200F_200F_202C_200F_206A_206D_200F_202E_206B_202B_200E_206E_202A_202C_206E_202B_200B_206F_202E_206A_200E_206B_202A_202E(stringBuilder, '}'); - return _200C_206C_206C_202E_200D_206B_202B_202B_202B_200B_202C_200D_202A_202A_200F_206E_206E_200F_202E_202C_202D_202C_202E_206B_202E_202C_200C_200E_200E_206F_200C_206D_206F_202E_200F_202C_206E_206E_200C_200F_202E((object?)stringBuilder); - case 1: - _202A_200C_200D_206D_202A_200F_200F_200D_200D_206D_206A_202D_200B_200C_200D_206C_202E_200F_200F_202C_200F_206A_206D_200F_202E_206B_202B_200E_206E_202A_202C_206E_202B_200B_206F_202E_206A_200E_206B_202A_202E(stringBuilder, ' '); - num = -1057108320; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _206F_200F_206D_206B_200B_200F_206A_202D_202E_200C_206A_202C_202A_200E_200B_202B_200C_202B_206E_206F_202E_206F_206F_202A_206B_206A_206A_206B_200C_206E_206C_200C_202D_200C_202C_206F_200C_202A_206F_200C_202E(); - _206A_202A_200F_206B_206A_200B_202C_206F_200C_200D_206E_200B_202C_200D_206D_202B_200F_200D_206D_200C_206D_200B_202E_206E_206E_206E_200F_206B_200B_206F_206A_200E_206D_206B_206C_200B_206B_206F_200D_202D_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-148533820)); - _206E_206F_206E_202A_202E_202A_200F_206D_206C_206B_206F_206F_206A_200B_206B_202B_200D_206B_202E_206A_200F_200F_202C_202C_206C_200E_206A_200B_202C_202A_200E_206B_202A_206D_200C_206E_200C_206E_202B_202D_202E(builder, (object?)UserOverrideDirectory); - _206A_202A_200F_206B_206A_200B_202C_206F_200C_200D_206E_200B_202C_200D_206D_202B_200F_200D_206D_200C_206D_200B_202E_206E_206E_206E_200F_206B_200B_206F_206A_200E_206D_206B_206C_200B_206B_206F_200D_202D_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-1567612591)); - _206E_206F_206E_202A_202E_202A_200F_206D_206C_206B_206F_206F_206A_200B_206B_202B_200D_206B_202E_206A_200F_200F_202C_202C_206C_200E_206A_200B_202C_202A_200E_206B_202A_206D_200C_206E_200C_206E_202B_202D_202E(builder, (object?)DevSourceDirectory); - _206A_202A_200F_206B_206A_200B_202C_206F_200C_200D_206E_200B_202C_200D_206D_202B_200F_200D_206D_200C_206D_200B_202E_206E_206E_206E_200F_206B_200B_206F_206A_200E_206D_206B_206C_200B_206B_206F_200D_202D_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-204927746)); - _206E_206F_206E_202A_202E_202A_200F_206D_206C_206B_206F_206F_206A_200B_206B_202B_200D_206B_202E_206A_200F_200F_202C_202C_206C_200E_206A_200B_202C_202A_200E_206B_202A_206D_200C_206E_200C_206E_202B_202D_202E(builder, (object?)GameVersion); - return true; - } - - [CompilerGenerated] - public bool Equals(SmartNavDataOptions? other) - { - int num = (((object)this == other) ? (-1367918412) : (-1367918411)); - while (true) - { - int num2 = num; - int num3 = -1367918409; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1367918411; - break; - case 6: - return false; - case 3: - return true; - case 4: - num = ((!_202B_200E_200F_206E_200B_206D_200D_206C_202B_206B_202D_200F_200C_206F_200F_200C_202D_206B_202D_200B_202D_206F_200D_202B_206C_202E_200B_202A_206A_206D_202D_206B_206E_202D_206E_206B_206A_202C_200C_202A_202E(EqualityContract, other.EqualityContract)) ? (-1367918415) : (-1367918410)); - break; - case 2: - num = (((object)other == null) ? (-1367918415) : (-1367918413)); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(UserOverrideDirectory, other.UserOverrideDirectory)) ? (-1367918415) : (-1367918414)); - break; - case 7: - return EqualityComparer.Default.Equals(GameVersion, other.GameVersion); - case 5: - num = ((!EqualityComparer.Default.Equals(DevSourceDirectory, other.DevSourceDirectory)) ? (-1367918415) : (-1367918416)); - break; - } - } - } - - bool IEquatable.Equals(SmartNavDataOptions? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type? _206B_202A_200C_202A_200E_200C_206E_200E_200F_206D_206A_206B_202C_202B_202C_200E_200B_206B_206C_202D_206A_206D_202C_200B_200C_202B_206A_202E_206E_206F_202C_200E_206E_206F_206F_200C_200E_206F_202A_202A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder? _200E_206C_200D_200F_206B_202A_200C_206C_202E_202A_206A_200E_200C_206D_202B_200B_206C_202A_202E_206F_200F_206F_202E_202E_206A_202E_202E_202A_206F_202B_202A_200F_200C_206D_200D_200D_206F_202D_202D_202B_202E() - { - return new StringBuilder(); - } - - static StringBuilder? _206A_202A_200F_206B_206A_200B_202C_206F_200C_200D_206E_200B_202C_200D_206D_202B_200F_200D_206D_200C_206D_200B_202E_206E_206E_206E_200F_206B_200B_206F_206A_200E_206D_206B_206C_200B_206B_206F_200D_202D_202E(StringBuilder? P_0, string? P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder? _202A_200C_200D_206D_202A_200F_200F_200D_200D_206D_206A_202D_200B_200C_200D_206C_202E_200F_200F_202C_200F_206A_206D_200F_202E_206B_202B_200E_206E_202A_202C_206E_202B_200B_206F_202E_206A_200E_206B_202A_202E(StringBuilder? P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string? _200C_206C_206C_202E_200D_206B_202B_202B_202B_200B_202C_200D_202A_202A_200F_206E_206E_200F_202E_202C_202D_202C_202E_206B_202E_202C_200C_200E_200E_206F_200C_206D_206F_202E_200F_202C_206E_206E_200C_200F_202E(object? P_0) - { - return P_0.ToString(); - } - - static void _206F_200F_206D_206B_200B_200F_206A_202D_202E_200C_206A_202C_202A_200E_200B_202B_200C_202B_206E_206F_202E_206F_206F_202A_206B_206A_206A_206B_200C_206E_206C_200C_202D_200C_202C_206F_200C_202A_206F_200C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder? _206E_206F_206E_202A_202E_202A_200F_206D_206C_206B_206F_206F_206A_200B_206B_202B_200D_206B_202E_206A_200F_200F_202C_202C_206C_200E_206A_200B_202C_202A_200E_206B_202A_206D_200C_206E_200C_206E_202B_202D_202E(StringBuilder? P_0, object? P_1) - { - return P_0.Append(P_1); - } - - static bool _202B_200E_200F_206E_200B_206D_200D_206C_202B_206B_202D_200F_200C_206F_200F_200C_202D_206B_202D_200B_202D_206F_200D_202B_206C_202E_200B_202A_206A_206D_202D_206B_206E_202D_206E_206B_206A_202C_200C_202A_202E(Type? P_0, Type? P_1) - { - return P_0 == P_1; - } -} +public sealed record SmartNavDataOptions(DirectoryInfo? UserOverrideDirectory = null, DirectoryInfo? DevSourceDirectory = null, string? GameVersion = null); diff --git a/SmartNav/SmartNav.Data/TaxiStandDataService.cs b/SmartNav/SmartNav.Data/TaxiStandDataService.cs index 12438ec..ecf1caa 100644 --- a/SmartNav/SmartNav.Data/TaxiStandDataService.cs +++ b/SmartNav/SmartNav.Data/TaxiStandDataService.cs @@ -1,11 +1,6 @@ -using System; -using System.Collections; using System.Collections.Generic; -using System.IO; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using Dalamud.Plugin.Services; using Lumina.Excel; using Lumina.Excel.Sheets; @@ -16,295 +11,9 @@ namespace SmartNav.Data; public sealed class TaxiStandDataService { - public sealed record TaxiStandInfo(uint StandRowId, string PlaceName, ushort TerritoryId, Vector3 Position, uint NpcDataId, TaxiRoute[] Routes) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206B_202A_202D_206F_202E_206A_206E_200E_200C_200D_200D_200E_206F_202B_202C_202C_206B_202C_206F_200D_202E_200D_206E_206E_200B_202B_206B_206F_200D_206E_200E_200B_200B_202D_200F_206F_206D_202A_200C_200D_202E(typeof(TaxiStandInfo).TypeHandle); - } - } + public sealed record TaxiStandInfo(uint StandRowId, string PlaceName, ushort TerritoryId, Vector3 Position, uint NpcDataId, TaxiRoute[] Routes); - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206F_202D_206A_206E_200B_202B_200E_202A_206A_202B_202C_206A_202C_206F_202A_206E_206B_200D_200D_202B_202B_206A_202D_202B_206E_206E_202E_202C_202D_206E_202B_206E_202B_200E_200B_202A_200C_206C_206E_200F_202E(); - _200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-457906279)); - _200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-169322018)); - int num = ((!PrintMembers(stringBuilder)) ? (-7237964) : (-7237961)); - while (true) - { - int num2 = num; - int num3 = -7237962; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -7237961; - break; - case 1: - _200F_206A_206F_200E_206F_200B_200E_202B_202B_200E_206D_200D_206F_200B_200D_206B_202C_206C_200F_206D_200D_206A_200B_202A_200D_202C_200D_200F_200F_202C_202A_202B_206B_202D_200B_206B_202C_200B_206A_206F_202E(stringBuilder, ' '); - num = -7237964; - break; - case 2: - _200F_206A_206F_200E_206F_200B_200E_202B_202B_200E_206D_200D_206F_200B_200D_206B_202C_206C_200F_206D_200D_206A_200B_202A_200D_202C_200D_200F_200F_202C_202A_202B_206B_202D_200B_206B_202C_200B_206A_206F_202E(stringBuilder, '}'); - return _206D_200D_202A_206A_202A_206D_200E_206C_206A_202E_206C_202C_202E_202E_206B_202A_200B_206E_206A_202D_200D_206B_206F_206E_200E_202A_202B_206D_202C_200D_200B_206A_206F_206E_200F_202C_202C_202C_206F_202D_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200C_200F_206C_206F_202B_202D_206C_200C_202D_202D_202D_206C_206D_206A_206A_206C_200B_206D_206F_200D_202E_202D_206B_202A_206F_206F_200C_202E_206B_200B_200E_206F_206C_206A_200B_206E_200C_206C_202B_200F_202E(); - _200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-1862745090)); - _200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, StandRowId.ToString()); - _200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(1386669126)); - _206C_202D_206E_200B_200D_200C_200E_200D_202C_200D_200E_206E_202A_206A_206B_200C_206B_200F_200E_200F_206F_202C_200C_206F_206A_200C_202A_202A_202A_202C_206B_200C_202D_200D_200E_200E_202D_206C_206A_206F_202E(builder, (object)PlaceName); - _200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(1283726812)); - _200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, TerritoryId.ToString()); - _200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(772692776)); - _200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, Position.ToString()); - _200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-1004265433)); - _200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, NpcDataId.ToString()); - _200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-1716966096)); - _206C_202D_206E_200B_200D_200C_200E_200D_202C_200D_200E_206E_202A_206A_206B_200C_206B_200F_200E_200F_206F_202C_200C_206F_206A_200C_202A_202A_202A_202C_206B_200C_202D_200D_200E_200E_202D_206C_206A_206F_202E(builder, (object)Routes); - return true; - } - - [CompilerGenerated] - public bool Equals(TaxiStandInfo? other) - { - int num = (((object)this == other) ? 1006480636 : 1006480639); - while (true) - { - int num2 = num; - int num3 = 1006480638; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 7: - num = 1006480639; - break; - case 10: - num = ((!EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId)) ? 1006480634 : 1006480637); - break; - case 0: - num = ((!EqualityComparer.Default.Equals(NpcDataId, other.NpcDataId)) ? 1006480634 : 1006480631); - break; - case 3: - num = ((!EqualityComparer.Default.Equals(Position, other.Position)) ? 1006480634 : 1006480638); - break; - case 5: - num = ((!EqualityComparer.Default.Equals(PlaceName, other.PlaceName)) ? 1006480634 : 1006480628); - break; - case 8: - num = ((!_202A_200F_206B_200D_206F_202D_206D_202A_206D_200E_202C_206A_206D_200B_202C_206E_206E_202C_200F_206D_206C_206F_200F_200B_202D_202E_202D_206F_202B_200F_200E_200C_202D_206E_200B_206F_206F_202E_202B_202B_202E(EqualityContract, other.EqualityContract)) ? 1006480634 : 1006480632); - break; - case 9: - return EqualityComparer.Default.Equals(Routes, other.Routes); - case 4: - return false; - case 2: - return true; - case 6: - num = ((!EqualityComparer.Default.Equals(StandRowId, other.StandRowId)) ? 1006480634 : 1006480635); - break; - case 1: - num = (((object)other == null) ? 1006480634 : 1006480630); - break; - } - } - } - - bool IEquatable.Equals(TaxiStandInfo? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206B_202A_202D_206F_202E_206A_206E_200E_200C_200D_200D_200E_206F_202B_202C_202C_206B_202C_206F_200D_202E_200D_206E_206E_200B_202B_206B_206F_200D_206E_200E_200B_200B_202D_200F_206F_206D_202A_200C_200D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206F_202D_206A_206E_200B_202B_200E_202A_206A_202B_202C_206A_202C_206F_202A_206E_206B_200D_200D_202B_202B_206A_202D_202B_206E_206E_202E_202C_202D_206E_202B_206E_202B_200E_200B_202A_200C_206C_206E_200F_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200F_206A_206F_200E_206F_200B_200E_202B_202B_200E_206D_200D_206F_200B_200D_206B_202C_206C_200F_206D_200D_206A_200B_202A_200D_202C_200D_200F_200F_202C_202A_202B_206B_202D_200B_206B_202C_200B_206A_206F_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206D_200D_202A_206A_202A_206D_200E_206C_206A_202E_206C_202C_202E_202E_206B_202A_200B_206E_206A_202D_200D_206B_206F_206E_200E_202A_202B_206D_202C_200D_200B_206A_206F_206E_200F_202C_202C_202C_206F_202D_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200C_200F_206C_206F_202B_202D_206C_200C_202D_202D_202D_206C_206D_206A_206A_206C_200B_206D_206F_200D_202E_202D_206B_202A_206F_206F_200C_202E_206B_200B_200E_206F_206C_206A_200B_206E_200C_206C_202B_200F_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206C_202D_206E_200B_200D_200C_200E_200D_202C_200D_200E_206E_202A_206A_206B_200C_206B_200F_200E_200F_206F_202C_200C_206F_206A_200C_202A_202A_202A_202C_206B_200C_202D_200D_200E_200E_202D_206C_206A_206F_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202A_200F_206B_200D_206F_202D_206D_202A_206D_200E_202C_206A_206D_200B_202C_206E_206E_202C_200F_206D_206C_206F_200F_200B_202D_202E_202D_206F_202B_200F_200E_200C_202D_206E_200B_206F_206F_202E_202B_202B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - public sealed record TaxiRoute(uint DestStandRowId, int Fare, int TimeRequiredSeconds) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202E_206D_200F_202E_206E_200B_202C_200C_202C_200F_200C_206C_206A_206C_202E_200C_200B_206E_206B_200B_202A_206B_200C_206A_200E_202D_200F_200F_202B_206F_206A_206B_206B_202A_206E_206A_206D_200B_200C_202D_202E(typeof(TaxiRoute).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206D_206A_206B_202D_200E_206E_200E_200B_200E_206C_206B_200B_206E_202B_200D_206E_206A_206F_202E_206B_206E_202B_206B_206A_206F_200B_200B_202B_206E_206C_200E_202C_200B_206F_206D_200B_206C_202E_202C_202A_202E(); - _200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(76454572)); - _200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-979564187)); - int num = ((!PrintMembers(stringBuilder)) ? 956238306 : 956238307); - while (true) - { - int num2 = num; - int num3 = 956238306; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _200D_206E_202C_200F_200C_200E_202A_202E_202A_206C_206E_202E_206B_200B_206A_200B_206F_206E_202C_206C_200E_206E_206A_206B_202B_206A_206A_206B_206D_202C_206F_202A_202A_202B_200D_206A_206C_206F_202D_206D_202E(stringBuilder, '}'); - return _200F_200F_202E_202B_202A_206A_206D_200E_202B_206C_200E_206C_202D_200C_202B_202D_202E_206C_206A_200F_200B_206C_206B_206F_202D_206E_206F_202D_202B_202E_200B_200C_206E_200E_202B_206C_200B_200C_202A_206D_202E((object)stringBuilder); - case 1: - _200D_206E_202C_200F_200C_200E_202A_202E_202A_206C_206E_202E_206B_200B_206A_200B_206F_206E_202C_206C_200E_206E_206A_206B_202B_206A_206A_206B_206D_202C_206F_202A_202A_202B_200D_206A_206C_206F_202D_206D_202E(stringBuilder, ' '); - num = 956238306; - break; - case 2: - num = 956238307; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200B_200F_206C_200C_206F_206B_206A_206B_200E_206E_206A_202B_206D_200E_202A_206E_202C_202D_200B_200F_200B_202E_202D_206A_206F_200F_202E_202E_202E_200E_200C_206D_202E_206E_200E_206E_206E_202E_202A_206B_202E(); - _200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-1487307401)); - _200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(builder, DestStandRowId.ToString()); - _200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-418458906)); - _200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(builder, Fare.ToString()); - _200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-568235594)); - _200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(builder, TimeRequiredSeconds.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(TaxiRoute? other) - { - int num = (((object)this == other) ? 1209102583 : 1209102576); - while (true) - { - int num2 = num; - int num3 = 1209102581; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return false; - case 5: - num = (((object)other == null) ? 1209102580 : 1209102582); - break; - case 0: - num = ((!EqualityComparer.Default.Equals(Fare, other.Fare)) ? 1209102580 : 1209102578); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(DestStandRowId, other.DestStandRowId)) ? 1209102580 : 1209102581); - break; - case 4: - num = 1209102576; - break; - case 7: - return EqualityComparer.Default.Equals(TimeRequiredSeconds, other.TimeRequiredSeconds); - case 2: - return true; - case 3: - num = ((!_200D_202A_200B_206A_200B_200B_206F_206C_206B_206C_200F_200F_202D_206C_202A_206D_200D_200F_200E_200D_200C_206C_206A_200F_202D_206B_202D_200F_206B_206F_200C_202A_206C_202B_206A_202E_206C_206F_200E_202D_202E(EqualityContract, other.EqualityContract)) ? 1209102580 : 1209102579); - break; - } - } - } - - bool IEquatable.Equals(TaxiRoute? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202E_206D_200F_202E_206E_200B_202C_200C_202C_200F_200C_206C_206A_206C_202E_200C_200B_206E_206B_200B_202A_206B_200C_206A_200E_202D_200F_200F_202B_206F_206A_206B_206B_202A_206E_206A_206D_200B_200C_202D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206D_206A_206B_202D_200E_206E_200E_200B_200E_206C_206B_200B_206E_202B_200D_206E_206A_206F_202E_206B_206E_202B_206B_206A_206F_200B_200B_202B_206E_206C_200E_202C_200B_206F_206D_200B_206C_202E_202C_202A_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200D_206E_202C_200F_200C_200E_202A_202E_202A_206C_206E_202E_206B_200B_206A_200B_206F_206E_202C_206C_200E_206E_206A_206B_202B_206A_206A_206B_206D_202C_206F_202A_202A_202B_200D_206A_206C_206F_202D_206D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200F_200F_202E_202B_202A_206A_206D_200E_202B_206C_200E_206C_202D_200C_202B_202D_202E_206C_206A_200F_200B_206C_206B_206F_202D_206E_206F_202D_202B_202E_200B_200C_206E_200E_202B_206C_200B_200C_202A_206D_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200B_200F_206C_200C_206F_206B_206A_206B_200E_206E_206A_202B_206D_200E_202A_206E_202C_202D_200B_200F_200B_202E_202D_206A_206F_200F_202E_202E_202E_200E_200C_206D_202E_206E_200E_206E_206E_202E_202A_206B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _200D_202A_200B_206A_200B_200B_206F_206C_206B_206C_200F_200F_202D_206C_202A_206D_200D_200F_200E_200D_200C_206C_206A_200F_202D_206B_202D_200F_206B_206F_200C_202A_206C_202B_206A_202E_206C_206F_200E_202D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } + public sealed record TaxiRoute(uint DestStandRowId, int Fare, int TimeRequiredSeconds); public IReadOnlyDictionary Stands { get; } @@ -314,27 +23,13 @@ public sealed class TaxiStandDataService public int TotalRoutes { get; } - [MethodImpl(MethodImplOptions.NoInlining)] public TaxiStandDataService(IDataManager dataManager, SmartNavDataOptions dataOptions, ILogger logger) { - DirectoryInfo? devSourceDirectory = dataOptions.DevSourceDirectory; - IReadOnlyList readOnlyList = _200B_202B_202B_206B_202E_202D_206E_202D_200F_206F_200C_206D_202E_200B_202A_200F_200B_206F_200D_200C_200D_206B_202E_206D_206B_202A_206E_202D_200C_206C_202A_202A_202A_206B_200C_200E_202E_200D_202C_202E_202E((devSourceDirectory != null) ? _200D_202C_206E_202D_202C_206B_206C_200E_200D_200C_200F_200B_206B_202C_202C_200F_200E_206D_200E_200D_206D_200D_200D_200B_206D_202A_202E_206D_200B_200B_200B_202A_206B_206D_206D_200F_200E_206B_200E_206C_202E((FileSystemInfo)devSourceDirectory) : null); + IReadOnlyList stands = AssemblyTaxiStandLoader.GetStands(dataOptions.DevSourceDirectory?.FullName); Dictionary dictionary = new Dictionary(); - IEnumerator enumerator = readOnlyList.GetEnumerator(); - try + foreach (TaxiStandEntry item in stands) { - while (_202A_200C_206F_200D_206A_202A_206F_206B_200D_202E_202C_200F_206B_206C_200D_206F_202D_206D_206F_206A_202B_200C_202E_206B_200C_202D_200B_202C_200F_200D_200E_206F_200B_206C_206A_202D_206F_200E_200C_202C_202E((IEnumerator)enumerator)) - { - TaxiStandEntry current = enumerator.Current; - dictionary[_206F_202E_200E_200E_206A_206C_202E_202A_206B_202D_206A_200F_206D_206C_206B_200B_206D_202A_200B_200D_206B_206A_206B_202B_200F_202C_200D_206D_202C_200C_206B_202C_206D_202E_206C_206F_206E_206B_200B_206B_202E(current)] = current; - } - } - finally - { - if (enumerator != null) - { - _202A_202D_206F_206B_206A_206E_202D_202A_206E_206C_200B_200E_200E_206A_202D_202E_206C_202A_206D_200F_200E_202A_200C_202D_202B_206E_206D_206C_200B_200D_206D_200F_200D_200C_200E_200B_200F_200B_206D_202B_202E((IDisposable)enumerator); - } + dictionary[item.ChocoboTaxiStandId] = item; } Dictionary dictionary2 = new Dictionary(); int num = 0; @@ -347,18 +42,14 @@ public sealed class TaxiStandDataService } ChocoboTaxiStand row = excelSheet.GetRow(num3); string text = row.PlaceName.ToString(); - if (_206C_200B_202E_206C_206D_206C_200C_206C_200D_206F_202E_202A_206F_202C_202B_202B_202A_200C_200B_202B_200F_200C_202B_202C_202D_206E_200B_206B_200C_206A_202C_206D_200E_206D_200C_206A_206D_206E_202C_202E(text)) + if (string.IsNullOrEmpty(text)) { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(12, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(1902166363)); - defaultInterpolatedStringHandler.AppendFormatted(num3, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-2030066311)); - text = defaultInterpolatedStringHandler.ToStringAndClear(); + text = $"TaxiStand 0x{num3:X}"; } List list = new List(); - int num4 = 0; - while (num4 < 8) + for (int i = 0; i < 8; i++) { - ChocoboTaxi? valueNullable = row.TargetLocations[num4].ValueNullable; + ChocoboTaxi? valueNullable = row.TargetLocations[i].ValueNullable; if (valueNullable.HasValue && valueNullable.Value.TimeRequired != 0) { uint rowId = valueNullable.Value.Location.RowId; @@ -367,68 +58,14 @@ public sealed class TaxiStandDataService list.Add(new TaxiRoute(rowId, valueNullable.Value.Fare, valueNullable.Value.TimeRequired * 60)); } } - int num5 = num4; - int num6 = 1; - int num7 = num5; - num4 = (num7 | num6) + (num7 & num6); } num += list.Count; - dictionary2[num3] = new TaxiStandInfo(num3, text, _202B_206C_202A_206A_206B_206E_206E_200B_206A_200C_200D_202A_206B_206E_202C_202C_202C_206A_200E_202D_206F_206A_206F_202E_206E_200F_202B_200E_200F_200E_200D_202E_202A_200E_200E_206E_206D_206E_200D_202C_202E(taxiStandEntry2), _206E_206F_200F_206B_202E_202B_202D_206A_202C_200E_206B_200D_200F_200C_202D_200D_202A_202C_200E_200E_206F_200F_200B_200B_206E_206D_206F_202B_206C_200E_206A_202B_206C_200B_202A_200E_202B_202B_202E_202A_202E(taxiStandEntry2), _202A_206A_200F_206B_206A_202E_206B_202D_200E_200C_202A_200E_202E_200D_202E_200B_206B_206F_206A_202E_202B_202E_206E_202E_202A_200F_202C_200B_202D_206A_202E_202E_200F_202A_206C_200F_200E_206F_202C_202E(taxiStandEntry2), list.ToArray()); + dictionary2[num3] = new TaxiStandInfo(num3, text, taxiStandEntry2.TerritoryId, taxiStandEntry2.Location, taxiStandEntry2.Id, list.ToArray()); } Stands = dictionary2; StandsByNpcDataId = dictionary2.Values.ToDictionary((TaxiStandInfo s) => s.NpcDataId, (TaxiStandInfo s) => s); TotalStands = dictionary2.Count; TotalRoutes = num; - _206C_200C_202E_200C_200F_206B_200B_206C_200E_202D_200F_200E_206B_202D_202B_200F_200C_206B_202C_200B_206D_200B_202A_206D_202E_206A_206F_206F_200F_202C_200F_202D_202B_206A_200E_206E_200E_206A_202E_200C_202E((ILogger)logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(863793575), new object[2] { TotalStands, TotalRoutes }); - } - - static string _200D_202C_206E_202D_202C_206B_206C_200E_200D_200C_200F_200B_206B_202C_202C_200F_200E_206D_200E_200D_206D_200D_200D_200B_206D_202A_202E_206D_200B_200B_200B_202A_206B_206D_206D_200F_200E_206B_200E_206C_202E(FileSystemInfo P_0) - { - return P_0.FullName; - } - - static IReadOnlyList _200B_202B_202B_206B_202E_202D_206E_202D_200F_206F_200C_206D_202E_200B_202A_200F_200B_206F_200D_200C_200D_206B_202E_206D_206B_202A_206E_202D_200C_206C_202A_202A_202A_206B_200C_200E_202E_200D_202C_202E_202E(string P_0) - { - return AssemblyTaxiStandLoader.GetStands(P_0); - } - - static uint _206F_202E_200E_200E_206A_206C_202E_202A_206B_202D_206A_200F_206D_206C_206B_200B_206D_202A_200B_200D_206B_206A_206B_202B_200F_202C_200D_206D_202C_200C_206B_202C_206D_202E_206C_206F_206E_206B_200B_206B_202E(TaxiStandEntry P_0) - { - return P_0.ChocoboTaxiStandId; - } - - static bool _202A_200C_206F_200D_206A_202A_206F_206B_200D_202E_202C_200F_206B_206C_200D_206F_202D_206D_206F_206A_202B_200C_202E_206B_200C_202D_200B_202C_200F_200D_200E_206F_200B_206C_206A_202D_206F_200E_200C_202C_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202A_202D_206F_206B_206A_206E_202D_202A_206E_206C_200B_200E_200E_206A_202D_202E_206C_202A_206D_200F_200E_202A_200C_202D_202B_206E_206D_206C_200B_200D_206D_200F_200D_200C_200E_200B_200F_200B_206D_202B_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static bool _206C_200B_202E_206C_206D_206C_200C_206C_200D_206F_202E_202A_206F_202C_202B_202B_202A_200C_200B_202B_200F_200C_202B_202C_202D_206E_200B_206B_200C_206A_202C_206D_200E_206D_200C_206A_206D_206E_202C_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static ushort _202B_206C_202A_206A_206B_206E_206E_200B_206A_200C_200D_202A_206B_206E_202C_202C_202C_206A_200E_202D_206F_206A_206F_202E_206E_200F_202B_200E_200F_200E_200D_202E_202A_200E_200E_206E_206D_206E_200D_202C_202E(TaxiStandEntry P_0) - { - return P_0.TerritoryId; - } - - static Vector3 _206E_206F_200F_206B_202E_202B_202D_206A_202C_200E_206B_200D_200F_200C_202D_200D_202A_202C_200E_200E_206F_200F_200B_200B_206E_206D_206F_202B_206C_200E_206A_202B_206C_200B_202A_200E_202B_202B_202E_202A_202E(TaxiStandEntry P_0) - { - return P_0.Location; - } - - static uint _202A_206A_200F_206B_206A_202E_206B_202D_200E_200C_202A_200E_202E_200D_202E_200B_206B_206F_206A_202E_202B_202E_206E_202E_202A_200F_202C_200B_202D_206A_202E_202E_200F_202A_206C_200F_200E_206F_202C_202E(TaxiStandEntry P_0) - { - return P_0.Id; - } - - static void _206C_200C_202E_200C_200F_206B_200B_206C_200E_202D_200F_200E_206B_202D_202B_200F_200C_206B_202C_200B_206D_200B_202A_206D_202E_206A_206F_206F_200F_202C_200F_202D_202B_206A_200E_206E_200E_206A_202E_200C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); + logger.LogDebug("TaxiStandDataService: {Stands} stands, {Routes} routes loaded", TotalStands, TotalRoutes); } } diff --git a/SmartNav/SmartNav.Data/TeleportTicketService.cs b/SmartNav/SmartNav.Data/TeleportTicketService.cs index a94df0c..b626c63 100644 --- a/SmartNav/SmartNav.Data/TeleportTicketService.cs +++ b/SmartNav/SmartNav.Data/TeleportTicketService.cs @@ -1,10 +1,7 @@ using System; -using System.Collections; using System.Collections.Generic; using System.IO; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using System.Text.Json; using Dalamud.Plugin.Services; using Lumina.Excel; @@ -16,307 +13,11 @@ namespace SmartNav.Data; public sealed class TeleportTicketService { - public sealed record ScannedTicket(uint ItemId, string Name, uint ItemActionRowId, ushort[] ItemActionData) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202C_200D_200C_206E_200F_200E_206D_206F_202D_200D_202C_202A_206A_206F_200D_202E_200C_202A_202B_200E_206E_206F_202A_202E_202A_202C_202C_206E_206D_206D_200F_200D_202B_206C_202A_206D_202A_202C_206F_202C_202E(typeof(ScannedTicket).TypeHandle); - } - } + public sealed record ScannedTicket(uint ItemId, string Name, uint ItemActionRowId, ushort[] ItemActionData); - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206F_200D_202D_202D_200D_202C_206B_202E_200B_202B_206F_206D_200F_206F_200D_202C_206B_206E_206A_202A_206F_202B_206C_202B_206C_206D_202C_206A_200B_202C_202C_202A_206F_206B_202C_206A_202B_206E_206D_206E_202E(); - _200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(1489802368)); - _200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-169322018)); - int num = ((!PrintMembers(stringBuilder)) ? (-550622530) : (-550622529)); - while (true) - { - int num2 = num; - int num3 = -550622530; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -550622529; - break; - case 0: - _200C_200F_200F_200C_206D_200C_200B_200D_206C_200D_200D_202D_202D_206C_200D_202B_202B_200B_202C_200E_202D_202A_202B_202D_206E_200C_200E_202E_206A_200D_200E_206C_206F_206D_206E_202E_200F_200B_206C_206C_202E(stringBuilder, '}'); - return _202B_202E_202A_202B_200F_200F_200C_202B_202C_202B_202A_200C_206B_200C_202C_206E_206A_200B_206D_206D_206E_206D_200F_200F_200E_202C_206A_200D_200E_202A_202B_206A_202B_206A_200D_206F_206C_206B_206E_206D_202E((object)stringBuilder); - case 1: - _200C_200F_200F_200C_206D_200C_200B_200D_206C_200D_200D_202D_202D_206C_200D_202B_202B_200B_202C_200E_202D_202A_202B_202D_206E_200C_200E_202E_206A_200D_200E_206C_206F_206D_206E_202E_200F_200B_206C_206C_202E(stringBuilder, ' '); - num = -550622530; - break; - } - } - } + public sealed record TeleportTicket(uint ItemId, string Name, ushort TerritoryId, Vector3 Position, byte RequiredGrandCompany = 0, uint RequiredQuestId = 0u); - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200E_202B_206A_206B_202E_200D_206D_206A_202C_200E_206F_202C_206D_202E_206F_202C_206D_202E_206E_206F_202A_206D_206A_206C_202D_202E_200D_206D_202B_202C_202E_206D_200B_206E_200C_206C_202E_200C_202D_200D_202E(); - _200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(825996996)); - _200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(builder, ItemId.ToString()); - _200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-710038733)); - _206E_202A_202C_206A_202E_202A_206C_200E_202E_200F_202D_206E_200F_200B_206B_206A_200D_200B_200B_200E_206C_202A_206F_206E_206F_206C_202E_202E_202A_200D_206F_206C_200C_202B_202E_200E_202E_202E_206D_206B_202E(builder, (object)Name); - _200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-297009185)); - _200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(builder, ItemActionRowId.ToString()); - _200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(539792921)); - _206E_202A_202C_206A_202E_202A_206C_200E_202E_200F_202D_206E_200F_200B_206B_206A_200D_200B_200B_200E_206C_202A_206F_206E_206F_206C_202E_202E_202A_200D_206F_206C_200C_202B_202E_200E_202E_202E_206D_206B_202E(builder, (object)ItemActionData); - return true; - } - - [CompilerGenerated] - public bool Equals(ScannedTicket? other) - { - int num = (((object)this == other) ? 1004047218 : 1004047227); - while (true) - { - int num2 = num; - int num3 = 1004047226; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - num = ((!EqualityComparer.Default.Equals(ItemActionRowId, other.ItemActionRowId)) ? 1004047225 : 1004047230); - break; - case 3: - return false; - case 7: - num = 1004047227; - break; - case 8: - return true; - case 0: - num = ((!_202D_200D_202B_206C_202D_206C_206D_202B_202C_206B_206C_202E_206B_200E_206C_202C_202D_202B_206D_202A_200D_200B_202C_200D_200B_200D_206A_206A_202C_206E_202C_200E_206A_206B_200D_202B_206F_202A_200C_206F_202E(EqualityContract, other.EqualityContract)) ? 1004047225 : 1004047228); - break; - case 4: - return EqualityComparer.Default.Equals(ItemActionData, other.ItemActionData); - case 2: - num = ((!EqualityComparer.Default.Equals(Name, other.Name)) ? 1004047225 : 1004047231); - break; - case 1: - num = (((object)other == null) ? 1004047225 : 1004047226); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(ItemId, other.ItemId)) ? 1004047225 : 1004047224); - break; - } - } - } - - bool IEquatable.Equals(ScannedTicket? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202C_200D_200C_206E_200F_200E_206D_206F_202D_200D_202C_202A_206A_206F_200D_202E_200C_202A_202B_200E_206E_206F_202A_202E_202A_202C_202C_206E_206D_206D_200F_200D_202B_206C_202A_206D_202A_202C_206F_202C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206F_200D_202D_202D_200D_202C_206B_202E_200B_202B_206F_206D_200F_206F_200D_202C_206B_206E_206A_202A_206F_202B_206C_202B_206C_206D_202C_206A_200B_202C_202C_202A_206F_206B_202C_206A_202B_206E_206D_206E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200C_200F_200F_200C_206D_200C_200B_200D_206C_200D_200D_202D_202D_206C_200D_202B_202B_200B_202C_200E_202D_202A_202B_202D_206E_200C_200E_202E_206A_200D_200E_206C_206F_206D_206E_202E_200F_200B_206C_206C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202B_202E_202A_202B_200F_200F_200C_202B_202C_202B_202A_200C_206B_200C_202C_206E_206A_200B_206D_206D_206E_206D_200F_200F_200E_202C_206A_200D_200E_202A_202B_206A_202B_206A_200D_206F_206C_206B_206E_206D_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200E_202B_206A_206B_202E_200D_206D_206A_202C_200E_206F_202C_206D_202E_206F_202C_206D_202E_206E_206F_202A_206D_206A_206C_202D_202E_200D_206D_202B_202C_202E_206D_200B_206E_200C_206C_202E_200C_202D_200D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206E_202A_202C_206A_202E_202A_206C_200E_202E_200F_202D_206E_200F_200B_206B_206A_200D_200B_200B_200E_206C_202A_206F_206E_206F_206C_202E_202E_202A_200D_206F_206C_200C_202B_202E_200E_202E_202E_206D_206B_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202D_200D_202B_206C_202D_206C_206D_202B_202C_206B_206C_202E_206B_200E_206C_202C_202D_202B_206D_202A_200D_200B_202C_200D_200B_200D_206A_206A_202C_206E_202C_200E_206A_206B_200D_202B_206F_202A_200C_206F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - public sealed record TeleportTicket(uint ItemId, string Name, ushort TerritoryId, Vector3 Position, byte RequiredGrandCompany = 0, uint RequiredQuestId = 0u) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206D_206F_206B_200F_206E_200E_206D_200D_202D_202C_200C_202A_202E_206D_200C_206B_206C_202B_202D_200D_200F_200C_202A_202A_200C_200C_200D_200C_202C_202C_202C_202A_206C_206D_200D_202D_200B_202D_202A_202E(typeof(TeleportTicket).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202A_202E_206D_206B_202C_200E_202D_202D_206D_202B_206B_206D_202B_206E_200F_202B_206E_206B_206F_206C_200C_200F_202B_206F_200D_206E_206A_202A_200C_202A_206E_206F_202E_200C_206B_200C_202D_202A_202E_202C_202E(); - _202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-657525992)); - _202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(stringBuilder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(1120247710)); - int num = ((!PrintMembers(stringBuilder)) ? 1884459870 : 1884459871); - while (true) - { - int num2 = num; - int num3 = 1884459870; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1884459871; - break; - case 1: - _202B_206C_206B_202D_206E_200C_206E_200C_200C_200E_202A_206C_206E_200C_202D_206D_206B_206A_202E_202C_202E_202D_200E_206C_200F_202D_202B_206E_206B_206E_200F_200B_206C_202D_200E_206B_206A_202A_206F_200D_202E(stringBuilder, ' '); - num = 1884459870; - break; - case 0: - _202B_206C_206B_202D_206E_200C_206E_200C_200C_200E_202A_206C_206E_200C_202D_206D_206B_206A_202E_202C_202E_202D_200E_206C_200F_202D_202B_206E_206B_206E_200F_200B_206C_202D_200E_206B_206A_202A_206F_200D_202E(stringBuilder, '}'); - return _202C_200F_206F_200B_206D_202D_202E_200B_202D_202C_200B_202A_206A_206A_202C_200D_206A_206E_206A_202D_202E_206E_206E_200C_200B_200B_202B_206A_206C_202B_200F_206F_200F_206F_202E_206B_200C_206F_200F_206B_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200B_202C_202C_200C_200C_206E_202E_202C_202E_206B_200B_200D_202E_206C_202E_200B_200E_202C_206A_200E_206E_206A_206D_200B_202C_200C_206C_206D_206A_202B_202B_200B_200C_200D_202A_206E_200D_202B_206C_200C_202E(); - _202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-625074920)); - _202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, ItemId.ToString()); - _202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(844509483)); - _200E_206A_202E_200F_202C_200D_202A_202D_206D_206C_202E_200B_200E_200E_206C_202D_202B_206B_206E_202A_202A_202D_200D_202C_200B_206D_202B_206F_206C_200B_200E_206C_206A_206F_202E_202A_206F_202D_200E_206C_202E(builder, (object)Name); - _202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-1370916953)); - _202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, TerritoryId.ToString()); - _202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-1811452076)); - _202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, Position.ToString()); - _202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-772128166)); - _202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, RequiredGrandCompany.ToString()); - _202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(1957211680)); - _202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, RequiredQuestId.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(TeleportTicket? other) - { - int num = (((object)this == other) ? 1321105694 : 1321105681); - while (true) - { - int num2 = num; - int num3 = 1321105684; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = ((!EqualityComparer.Default.Equals(RequiredGrandCompany, other.RequiredGrandCompany)) ? 1321105686 : 1321105685); - break; - case 5: - num = (((object)other == null) ? 1321105686 : 1321105693); - break; - case 8: - num = ((!EqualityComparer.Default.Equals(Position, other.Position)) ? 1321105686 : 1321105687); - break; - case 9: - num = ((!_200E_202B_200F_206F_200C_200D_200E_200F_206A_200D_202D_206A_206A_202E_202E_202D_206A_202A_200B_200F_200F_202A_200B_206A_206F_206C_200F_200C_206A_206B_202D_200F_200C_200C_206F_200B_206B_202D_202B_206C_202E(EqualityContract, other.EqualityContract)) ? 1321105686 : 1321105680); - break; - case 7: - num = ((!EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId)) ? 1321105686 : 1321105692); - break; - case 1: - return EqualityComparer.Default.Equals(RequiredQuestId, other.RequiredQuestId); - case 6: - num = ((!EqualityComparer.Default.Equals(Name, other.Name)) ? 1321105686 : 1321105683); - break; - case 0: - num = 1321105681; - break; - case 10: - return true; - case 2: - return false; - case 4: - num = ((!EqualityComparer.Default.Equals(ItemId, other.ItemId)) ? 1321105686 : 1321105682); - break; - } - } - } - - bool IEquatable.Equals(TeleportTicket? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206D_206F_206B_200F_206E_200E_206D_200D_202D_202C_200C_202A_202E_206D_200C_206B_206C_202B_202D_200D_200F_200C_202A_202A_200C_200C_200D_200C_202C_202C_202C_202A_206C_206D_200D_202D_200B_202D_202A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202A_202E_206D_206B_202C_200E_202D_202D_206D_202B_206B_206D_202B_206E_200F_202B_206E_206B_206F_206C_200C_200F_202B_206F_200D_206E_206A_202A_200C_202A_206E_206F_202E_200C_206B_200C_202D_202A_202E_202C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202B_206C_206B_202D_206E_200C_206E_200C_200C_200E_202A_206C_206E_200C_202D_206D_206B_206A_202E_202C_202E_202D_200E_206C_200F_202D_202B_206E_206B_206E_200F_200B_206C_202D_200E_206B_206A_202A_206F_200D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202C_200F_206F_200B_206D_202D_202E_200B_202D_202C_200B_202A_206A_206A_202C_200D_206A_206E_206A_202D_202E_206E_206E_200C_200B_200B_202B_206A_206C_202B_200F_206F_200F_206F_202E_206B_200C_206F_200F_206B_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200B_202C_202C_200C_200C_206E_202E_202C_202E_206B_200B_200D_202E_206C_202E_200B_200E_202C_206A_200E_206E_206A_206D_200B_202C_200C_206C_206D_206A_202B_202B_200B_200C_200D_202A_206E_200D_202B_206C_200C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200E_206A_202E_200F_202C_200D_202A_202D_206D_206C_202E_200B_200E_200E_206C_202D_202B_206B_206E_202A_202A_202D_200D_202C_200B_206D_202B_206F_206C_200B_200E_206C_206A_206F_202E_202A_206F_202D_200E_206C_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200E_202B_200F_206F_200C_200D_200E_200F_206A_200D_202D_206A_206A_202E_202E_202D_206A_202A_200B_200F_200F_202A_200B_206A_206F_206C_200F_200C_206A_206B_202D_200F_200C_200C_206F_200B_206B_202D_202B_206C_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - private static readonly uint[] KnownTicketItemIds; + private static readonly uint[] KnownTicketItemIds = new uint[5] { 21069u, 21070u, 21071u, 28064u, 30362u }; public IReadOnlyList ScannedTickets { get; } @@ -328,359 +29,104 @@ public sealed class TeleportTicketService Tickets = tickets; } - [MethodImpl(MethodImplOptions.NoInlining)] public TeleportTicketService(IDataManager dataManager, SmartNavDataOptions dataOptions, ILogger logger) { ScannedTickets = ScanTicketItems(dataManager, logger); Dictionary dictionary = new Dictionary(); - DirectoryInfo? devSourceDirectory = dataOptions.DevSourceDirectory; - IEnumerator enumerator = _206D_206F_206E_206F_200C_200B_202C_200C_200C_206D_200F_206B_202D_202C_206F_200C_202B_206C_202A_202A_206E_200C_202C_200E_202C_206A_206E_202C_200C_200E_200F_206D_200C_202B_206F_206D_200E_202D_200F_202A_202E((devSourceDirectory != null) ? _206C_206F_200C_202C_206B_202A_200B_202A_206F_206F_200D_206D_206F_202C_200F_200C_200B_206A_206D_206E_202D_200E_206C_200C_200E_200B_202E_206D_200D_202E_206D_206F_200E_200D_206B_206E_206A_200B_202E_206C_202E((FileSystemInfo)devSourceDirectory) : null).Values.GetEnumerator(); - try + foreach (TeleportTicketEntry value2 in AssemblyTeleportTicketLoader.GetTickets(dataOptions.DevSourceDirectory?.FullName).Values) { - while (_206D_206B_206F_206A_206A_200B_202C_202E_206E_202C_200B_200E_202D_206C_200B_200C_202D_206D_206A_200E_202C_206D_206D_206F_206C_200F_206D_200E_206F_206B_206E_202E_206F_206A_202A_200F_200D_202D_202D_200E_202E((IEnumerator)enumerator)) - { - TeleportTicketEntry current = enumerator.Current; - ApplyEntry(dictionary, current); - } - } - finally - { - if (enumerator != null) - { - _200B_200C_200D_202C_200C_202A_202A_200F_200F_202A_200D_200C_202E_200D_202E_200B_206A_202E_200C_200D_202C_206C_202B_200C_200D_202C_206E_202C_202E_206B_200F_206C_202A_202D_202B_202C_202C_206D_202D_206C_202E((IDisposable)enumerator); - } + ApplyEntry(dictionary, value2); } if (dataOptions.UserOverrideDirectory != null) { - LoadDestinationsFrom(_200D_206A_206D_206A_206C_202C_200E_206D_206C_206F_200C_200D_206A_202B_202C_200C_202A_200B_202B_200E_206F_206A_206B_200B_202E_200E_200C_200D_200C_202D_202C_202C_202A_200E_202E_200E_200D_206A_202B_200C_202E(_206C_206F_200C_202C_206B_202A_200B_202A_206F_206F_200D_206D_206F_202C_200F_200C_200B_206A_206D_206E_202D_200E_206C_200C_200E_200B_202E_206D_200D_202E_206D_206F_200E_200D_206B_206E_206A_200B_202E_206C_202E((FileSystemInfo)dataOptions.UserOverrideDirectory), global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-214131285)), dictionary, logger); + LoadDestinationsFrom(Path.Combine(dataOptions.UserOverrideDirectory.FullName, "teleport-tickets.json"), dictionary, logger); } ExcelSheet excelSheet = dataManager.GetExcelSheet(); List list = new List(); - IEnumerator enumerator2 = ScannedTickets.GetEnumerator(); - try + foreach (ScannedTicket scannedTicket in ScannedTickets) { - while (_206D_206B_206F_206A_206A_200B_202C_202E_206E_202C_200B_200E_202D_206C_200B_200C_202D_206D_206A_200E_202C_206D_206D_206F_206C_200F_206D_200E_206F_206B_206E_202E_206F_206A_202A_200F_200D_202D_202D_200E_202E((IEnumerator)enumerator2)) + if (!dictionary.TryGetValue(scannedTicket.ItemId, out var value)) { - ScannedTicket current2 = enumerator2.Current; - if (!dictionary.TryGetValue(current2.ItemId, out var value)) - { - _206B_206F_200D_206E_202B_202E_206A_200F_202A_206C_206F_202A_200F_206D_206A_202D_206C_202C_202E_206B_206F_202E_206F_206D_202A_200F_200F_200E_206D_206A_202E_206C_206D_202C_200F_200F_206F_206D_200F_202C_202E((ILogger)logger, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-1318998580), new object[2] { current2.ItemId, current2.Name }); - } - else - { - uint num = excelSheet.GetRowOrDefault(current2.ItemActionData[0])?.Requirement.RowId ?? 0; - list.Add(new TeleportTicket(current2.ItemId, current2.Name, value.Item1, value.Item2, (byte)((num >= 1 && num <= 3) ? ((byte)num) : 0), (num >= 65536) ? num : 0u)); - } + logger.LogDebug("Teleport ticket {ItemId} ({Name}) has no known destination - record it via the debug window to make it routable", scannedTicket.ItemId, scannedTicket.Name); } - } - finally - { - if (enumerator2 != null) + else { - _200B_200C_200D_202C_200C_202A_202A_200F_200F_202A_200D_200C_202E_200D_202E_200B_206A_202E_200C_200D_202C_206C_202B_200C_200D_202C_206E_202C_202E_206B_200F_206C_202A_202D_202B_202C_202C_206D_202D_206C_202E((IDisposable)enumerator2); + uint num = excelSheet.GetRowOrDefault(scannedTicket.ItemActionData[0])?.Requirement.RowId ?? 0; + list.Add(new TeleportTicket(scannedTicket.ItemId, scannedTicket.Name, value.Item1, value.Item2, (byte)((num >= 1 && num <= 3) ? ((byte)num) : 0), (num >= 65536) ? num : 0u)); } } Tickets = list; - _206A_206C_206C_202C_202C_206E_202C_206F_202C_200F_200F_206F_206B_206F_200E_202C_200D_200E_206A_206E_200B_200D_206B_206D_200D_202C_206A_202C_200B_206E_200D_202B_202E_206C_206A_200F_202C_202E_206C_206E_202E((ILogger)logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-1282340065), new object[2] { ScannedTickets.Count, list.Count }); + logger.LogInformation("Teleport tickets: {Scanned} items found, {Resolved} with destinations", ScannedTickets.Count, list.Count); } - [MethodImpl(MethodImplOptions.NoInlining)] private static List ScanTicketItems(IDataManager dataManager, ILogger logger) { ExcelSheet excelSheet = dataManager.GetExcelSheet(); uint? num = null; uint[] knownTicketItemIds = KnownTicketItemIds; - int num2 = 0; - int num3 = -2085150822; - List list = default(List); - ItemAction? itemAction = default(ItemAction?); - Item current = default(Item); - string text = default(string); - ItemAction? valueNullable = default(ItemAction?); - while (true) + foreach (uint rowId in knownTicketItemIds) { - int num4 = num3; - int num5 = -2085150820; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) + ItemAction? itemAction = excelSheet.GetRowOrDefault(rowId)?.ItemAction.ValueNullable; + if (itemAction.HasValue) { - case 5: - _206B_202B_206F_200B_206A_200D_206D_200D_206E_202A_206A_202B_202E_202D_200C_206F_200C_200D_202A_202B_200B_206F_200D_206C_206B_206B_202B_202D_206F_202A_202A_200C_200C_206F_206B_206F_202A_206E_200B_200F_202E(logger, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(258108496), Array.Empty()); - return list; - case 1: - { - int num12 = num2; - num5 = 1; - num6 = num12; - int num13 = num6 ^ num5; - int num14 = num6 & num5; - num2 = num13 + (num14 + num14); - num3 = -2085150822; - break; - } - case 6: - num3 = ((num2 < knownTicketItemIds.Length) ? (-2085150821) : (-2085150824)); - break; - case 7: - { - uint rowId = knownTicketItemIds[num2]; - itemAction = excelSheet.GetRowOrDefault(rowId)?.ItemAction.ValueNullable; - num3 = ((!itemAction.HasValue) ? (-2085150819) : (-2085150820)); - break; - } - case 2: - num3 = -2085150822; - break; - case 4: - list = new List(); - num3 = (num.HasValue ? (-2085150817) : (-2085150823)); - break; - case 0: num = itemAction.Value.Action.RowId; - num3 = -2085150824; break; - case 3: - { - using (ExcelSheet.Enumerator enumerator = excelSheet.GetEnumerator()) - { - num3 = -1333025980; - while (true) - { - int num9 = num3; - num5 = -1333025980; - num6 = num9; - int num10 = num6 + num5; - int num11 = num6 & num5; - switch (num10 - (num11 + num11)) - { - case 6: - list.Add(new ScannedTicket(current.RowId, text, valueNullable.Value.RowId, new ushort[3] - { - valueNullable.Value.Data[0], - valueNullable.Value.Data[1], - valueNullable.Value.Data[2] - })); - num3 = -1333025980; - break; - case 4: - text = current.Name.ExtractText(); - num3 = (_206A_200B_200F_202E_202C_202B_206A_202B_206F_206D_206A_202E_206E_200F_200E_206F_206E_206E_206C_206E_202B_206E_206C_202B_202A_206D_200E_200F_200B_200F_200C_200B_206C_200C_206A_200D_206D_206D_202E_206D_202E(text) ? (-1333025980) : (-1333025982)); - break; - case 2: - num3 = ((valueNullable.Value.Action.RowId != num) ? (-1333025980) : (-1333025984)); - break; - case 3: - current = enumerator.Current; - num3 = ((current.RowId == 0) ? (-1333025980) : (-1333025979)); - break; - case 0: - num3 = (enumerator.MoveNext() ? (-1333025977) : (-1333025981)); - break; - case 5: - num3 = -1333025980; - break; - case 1: - valueNullable = current.ItemAction.ValueNullable; - num3 = ((!valueNullable.HasValue) ? (-1333025980) : (-1333025978)); - break; - case 7: - goto end_IL_01ae; - } - continue; - end_IL_01ae: - break; - } - } - list.Sort((ScannedTicket a, ScannedTicket b) => a.ItemId.CompareTo(b.ItemId)); - return list; - } } } + List list = new List(); + if (!num.HasValue) + { + logger.LogWarning("Teleport tickets: could not discover the ItemAction type from known items"); + return list; + } + foreach (Item item in excelSheet) + { + if (item.RowId == 0) + { + continue; + } + ItemAction? valueNullable = item.ItemAction.ValueNullable; + if (valueNullable.HasValue && valueNullable.Value.Action.RowId == num) + { + string text = item.Name.ExtractText(); + if (!string.IsNullOrEmpty(text)) + { + list.Add(new ScannedTicket(item.RowId, text, valueNullable.Value.RowId, new ushort[3] + { + valueNullable.Value.Data[0], + valueNullable.Value.Data[1], + valueNullable.Value.Data[2] + })); + } + } + } + list.Sort((ScannedTicket a, ScannedTicket b) => a.ItemId.CompareTo(b.ItemId)); + return list; } private static void ApplyEntry(Dictionary destinations, TeleportTicketEntry entry) { - int num = ((_206A_202A_206E_200E_206B_200E_200D_202C_202D_202A_206D_206B_206A_202C_200C_202E_206A_206D_202B_202A_202A_200E_200E_206A_202D_206A_206D_206A_202B_200C_200D_206C_206D_200C_202D_202A_202A_200E_206B_200E_202E(entry) == 0) ? 1762997114 : 1762997112); - while (true) + if (entry.ItemId != 0 && entry.DestTerritoryId > 0) { - int num2 = num; - int num3 = 1762997113; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - return; - case 0: - destinations[_206A_202A_206E_200E_206B_200E_200D_202C_202D_202A_206D_206B_206A_202C_200C_202E_206A_206D_202B_202A_202A_200E_200E_206A_202D_206A_206D_206A_202B_200C_200D_206C_206D_200C_202D_202A_202A_200E_206B_200E_202E(entry)] = (_200D_206A_202E_206E_200B_206D_206D_202E_200C_206E_202E_202B_200F_206D_202A_206D_202D_202A_200D_200F_206B_202E_200C_206B_202B_202A_202D_206D_206B_202C_200C_202C_202A_200F_206A_200B_202A_202A_200C_206E_202E(entry), _206C_200B_200F_202B_202A_206E_206C_202C_206A_202E_200C_202D_202A_206E_202C_200F_206A_202E_202A_206F_202D_200B_200E_200B_200C_206D_206A_206C_202A_202A_200E_200D_206C_200E_202A_202A_206B_206A_202A_206D_202E(entry)); - num = 1762997114; - break; - case 1: - num = ((_200D_206A_202E_206E_200B_206D_206D_202E_200C_206E_202E_202B_200F_206D_202A_206D_202D_202A_200D_200F_206B_202E_200C_206B_202B_202A_202D_206D_206B_202C_200C_202C_202A_200F_206A_200B_202A_202A_200C_206E_202E(entry) <= 0) ? 1762997114 : 1762997113); - break; - case 2: - num = 1762997112; - break; - } + destinations[entry.ItemId] = (entry.DestTerritoryId, entry.DestPosition); } } - [MethodImpl(MethodImplOptions.NoInlining)] private static void LoadDestinationsFrom(string path, Dictionary destinations, ILogger logger) { - int num = (_200C_200F_206E_202A_206A_202B_200E_202B_202A_202B_202C_202A_200F_206D_202A_200B_200C_200D_200C_202A_206D_206D_200B_206B_200E_200C_202D_200B_200C_202C_202E_206E_200B_200B_202E_206D_206F_206F_200F_202C_202E(path) ? (-1900473582) : (-1900473579)); - TeleportTicketFile teleportTicketFile = default(TeleportTicketFile); - while (true) + if (!File.Exists(path)) { - int num2 = num; - int num3 = -1900473583; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = -1900473579; - break; - case 0: - return; - case 3: - teleportTicketFile = JsonSerializer.Deserialize(_206D_200F_206B_206E_206B_202B_200B_206F_200E_206C_206D_200C_206A_202B_200B_202E_200C_202A_206D_206E_202C_206F_202A_200F_200E_202E_206B_200E_200E_202A_206A_200F_202B_200B_206C_200F_206A_202A_202B_202B_202E(path)); - num = ((teleportTicketFile != null) ? (-1900473584) : (-1900473583)); - break; - case 4: - return; - case 1: - { - using (Dictionary.ValueCollection.Enumerator enumerator = _206D_200B_206D_206E_200B_200D_202B_200D_200E_202A_206B_206F_200F_200F_202A_206E_200C_200B_200E_200C_202A_200F_202B_202D_206A_202B_202D_206A_202A_200C_206C_206A_200B_206E_202C_202A_202E_206B_206E_202C_202E(teleportTicketFile).Values.GetEnumerator()) - { - num = -1775010946; - while (true) - { - int num7 = num; - num3 = -1775010946; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1775010946; - break; - case 0: - num = (enumerator.MoveNext() ? (-1775010945) : (-1775010947)); - break; - case 1: - { - TeleportTicketEntry current = enumerator.Current; - ApplyEntry(destinations, current); - num = -1775010946; - break; - } - case 3: - goto end_IL_00a8; - } - continue; - end_IL_00a8: - break; - } - } - _206B_206F_200D_206E_202B_202E_206A_200F_202A_206C_206F_202A_200F_206D_206A_202D_206C_202C_202E_206B_206F_202E_206F_206D_202A_200F_200F_200E_206D_206A_202E_206C_206D_202C_200F_200F_206F_206D_200F_202C_202E(logger, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(1363837168), new object[2] - { - _206D_200B_206D_206E_200B_200D_202B_200D_200E_202A_206B_206F_200F_200F_202A_206E_200C_200B_200E_200C_202A_200F_202B_202D_206A_202B_202D_206A_202A_200C_206C_206A_200B_206E_202C_202A_202E_206B_206E_202C_202E(teleportTicketFile).Count, - path - }); - return; - } - } + return; } - } - - static TeleportTicketService() - { - uint[] array = new uint[5]; - _200C_202E_200C_202A_202E_202D_202A_200F_206E_202A_206A_200B_206F_200F_202C_202B_206A_202B_200C_200C_200B_206E_202B_202A_206C_206E_206D_202E_200D_202D_200F_206A_206C_200D_202C_206E_200F_206F_206F_202B_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); - KnownTicketItemIds = array; - } - - static string _206C_206F_200C_202C_206B_202A_200B_202A_206F_206F_200D_206D_206F_202C_200F_200C_200B_206A_206D_206E_202D_200E_206C_200C_200E_200B_202E_206D_200D_202E_206D_206F_200E_200D_206B_206E_206A_200B_202E_206C_202E(FileSystemInfo P_0) - { - return P_0.FullName; - } - - static IReadOnlyDictionary _206D_206F_206E_206F_200C_200B_202C_200C_200C_206D_200F_206B_202D_202C_206F_200C_202B_206C_202A_202A_206E_200C_202C_200E_202C_206A_206E_202C_200C_200E_200F_206D_200C_202B_206F_206D_200E_202D_200F_202A_202E(string P_0) - { - return AssemblyTeleportTicketLoader.GetTickets(P_0); - } - - static bool _206D_206B_206F_206A_206A_200B_202C_202E_206E_202C_200B_200E_202D_206C_200B_200C_202D_206D_206A_200E_202C_206D_206D_206F_206C_200F_206D_200E_206F_206B_206E_202E_206F_206A_202A_200F_200D_202D_202D_200E_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200B_200C_200D_202C_200C_202A_202A_200F_200F_202A_200D_200C_202E_200D_202E_200B_206A_202E_200C_200D_202C_206C_202B_200C_200D_202C_206E_202C_202E_206B_200F_206C_202A_202D_202B_202C_202C_206D_202D_206C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static string _200D_206A_206D_206A_206C_202C_200E_206D_206C_206F_200C_200D_206A_202B_202C_200C_202A_200B_202B_200E_206F_206A_206B_200B_202E_200E_200C_200D_200C_202D_202C_202C_202A_200E_202E_200E_200D_206A_202B_200C_202E(string P_0, string P_1) - { - return Path.Combine(P_0, P_1); - } - - static void _206B_206F_200D_206E_202B_202E_206A_200F_202A_206C_206F_202A_200F_206D_206A_202D_206C_202C_202E_206B_206F_202E_206F_206D_202A_200F_200F_200E_206D_206A_202E_206C_206D_202C_200F_200F_206F_206D_200F_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static void _206A_206C_206C_202C_202C_206E_202C_206F_202C_200F_200F_206F_206B_206F_200E_202C_200D_200E_206A_206E_200B_200D_206B_206D_200D_202C_206A_202C_200B_206E_200D_202B_202E_206C_206A_200F_202C_202E_206C_206E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); - } - - static void _206B_202B_206F_200B_206A_200D_206D_200D_206E_202A_206A_202B_202E_202D_200C_206F_200C_200D_202A_202B_200B_206F_200D_206C_206B_206B_202B_202D_206F_202A_202A_200C_200C_206F_206B_206F_202A_206E_200B_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static bool _206A_200B_200F_202E_202C_202B_206A_202B_206F_206D_206A_202E_206E_200F_200E_206F_206E_206E_206C_206E_202B_206E_206C_202B_202A_206D_200E_200F_200B_200F_200C_200B_206C_200C_206A_200D_206D_206D_202E_206D_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static uint _206A_202A_206E_200E_206B_200E_200D_202C_202D_202A_206D_206B_206A_202C_200C_202E_206A_206D_202B_202A_202A_200E_200E_206A_202D_206A_206D_206A_202B_200C_200D_206C_206D_200C_202D_202A_202A_200E_206B_200E_202E(TeleportTicketEntry P_0) - { - return P_0.ItemId; - } - - static ushort _200D_206A_202E_206E_200B_206D_206D_202E_200C_206E_202E_202B_200F_206D_202A_206D_202D_202A_200D_200F_206B_202E_200C_206B_202B_202A_202D_206D_206B_202C_200C_202C_202A_200F_206A_200B_202A_202A_200C_206E_202E(TeleportTicketEntry P_0) - { - return P_0.DestTerritoryId; - } - - static Vector3 _206C_200B_200F_202B_202A_206E_206C_202C_206A_202E_200C_202D_202A_206E_202C_200F_206A_202E_202A_206F_202D_200B_200E_200B_200C_206D_206A_206C_202A_202A_200E_200D_206C_200E_202A_202A_206B_206A_202A_206D_202E(TeleportTicketEntry P_0) - { - return P_0.DestPosition; - } - - static bool _200C_200F_206E_202A_206A_202B_200E_202B_202A_202B_202C_202A_200F_206D_202A_200B_200C_200D_200C_202A_206D_206D_200B_206B_200E_200C_202D_200B_200C_202C_202E_206E_200B_200B_202E_206D_206F_206F_200F_202C_202E(string P_0) - { - return File.Exists(P_0); - } - - static string _206D_200F_206B_206E_206B_202B_200B_206F_200E_206C_206D_200C_206A_202B_200B_202E_200C_202A_206D_206E_202C_206F_202A_200F_200E_202E_206B_200E_200E_202A_206A_200F_202B_200B_206C_200F_206A_202A_202B_202B_202E(string P_0) - { - return File.ReadAllText(P_0); - } - - static Dictionary _206D_200B_206D_206E_200B_200D_202B_200D_200E_202A_206B_206F_200F_200F_202A_206E_200C_200B_200E_200C_202A_200F_202B_202D_206A_202B_202D_206A_202A_200C_206C_206A_200B_206E_202C_202A_202E_206B_206E_202C_202E(TeleportTicketFile P_0) - { - return P_0.Tickets; - } - - static void _200C_202E_200C_202A_202E_202D_202A_200F_206E_202A_206A_200B_206F_200F_202C_202B_206A_202B_200C_200C_200B_206E_202B_202A_206C_206E_206D_202E_200D_202D_200F_206A_206C_200D_202C_206E_200F_206F_206F_202B_202E(Array P_0, RuntimeFieldHandle P_1) - { - RuntimeHelpers.InitializeArray(P_0, P_1); + TeleportTicketFile teleportTicketFile = JsonSerializer.Deserialize(File.ReadAllText(path)); + if (teleportTicketFile == null) + { + return; + } + foreach (TeleportTicketEntry value in teleportTicketFile.Tickets.Values) + { + ApplyEntry(destinations, value); + } + logger.LogDebug("Teleport tickets: loaded {Count} destinations from {Path}", teleportTicketFile.Tickets.Count, path); } } diff --git a/SmartNav/SmartNav.Data/WarpDataService.cs b/SmartNav/SmartNav.Data/WarpDataService.cs index ee6c3a0..dccad78 100644 --- a/SmartNav/SmartNav.Data/WarpDataService.cs +++ b/SmartNav/SmartNav.Data/WarpDataService.cs @@ -1,13 +1,9 @@ using System; -using System.Collections; using System.Collections.Generic; using System.IO; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using System.Text.Json; -using System.Threading; using Dalamud.Plugin.Services; using LLib.GameData; using LLib.Shop; @@ -20,467 +16,9 @@ namespace SmartNav.Data; public sealed class WarpDataService { - private sealed record Snapshot(IReadOnlyList Warps, IReadOnlyDictionary WarpsByRowId, IReadOnlySet SkippedWarpIds, int TotalLuminaWarps, int NavigationRelevantWarps, int WarpsWithDestination, int WarpsWithUnknownSource, int WarpsWithDerivedSource, int WarpsWithDerivedArrival, int SkippedNoDest, int SkippedSourceBlocked, int SkippedDestBlocked, bool DerivedSourcesPending) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206C_200E_202B_200D_206C_202B_200C_206F_200D_200F_200B_202A_206C_206F_202C_206E_202D_202E_202A_206A_202B_200B_202D_202E_200F_206F_200C_200C_206F_200D_202B_200F_206A_202D_200C_200D_206F_206D_202B_206E_202E(typeof(Snapshot).TypeHandle); - } - } + private sealed record Snapshot(IReadOnlyList Warps, IReadOnlyDictionary WarpsByRowId, IReadOnlySet SkippedWarpIds, int TotalLuminaWarps, int NavigationRelevantWarps, int WarpsWithDestination, int WarpsWithUnknownSource, int WarpsWithDerivedSource, int WarpsWithDerivedArrival, int SkippedNoDest, int SkippedSourceBlocked, int SkippedDestBlocked, bool DerivedSourcesPending); - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202E_202D_206E_202E_206A_200F_202A_202A_202B_200D_206F_200D_206A_202C_202D_200D_200C_202E_202C_202A_200B_200F_206A_200E_202B_206F_206E_202A_206D_200E_206F_202E_202A_200C_206F_200C_206C_200E_200D_202C_202E(); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(1756001868)); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-169322018)); - int num = ((!PrintMembers(stringBuilder)) ? (-373285292) : (-373285289)); - while (true) - { - int num2 = num; - int num3 = -373285290; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -373285289; - break; - case 1: - _202E_200D_202E_200D_202C_202D_206D_202A_200E_202A_206D_206D_200D_200F_206F_206E_206F_202C_202A_202E_202A_202A_202D_200B_200F_200B_202E_206F_206F_202C_206B_202C_202B_202A_206B_202E_202B_206D_206D_202C_202E(stringBuilder, ' '); - num = -373285292; - break; - case 2: - _202E_200D_202E_200D_202C_202D_206D_202A_200E_202A_206D_206D_200D_200F_206F_206E_206F_202C_202A_202E_202A_202A_202D_200B_200F_200B_202E_206F_206F_202C_206B_202C_202B_202A_206B_202E_202B_206D_206D_202C_202E(stringBuilder, '}'); - return _202D_206D_202D_206A_200D_202E_202E_200E_202B_206E_200E_206A_206E_206C_202A_200E_202A_202B_202C_200D_200D_200D_206F_200F_206E_200C_206B_200D_206F_202B_200E_200D_200B_202C_200D_202D_202C_200D_200C_206C_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200E_200F_200E_200E_202D_202A_206D_206F_206B_200E_200D_206B_202D_200C_202B_202E_202C_200F_200E_202B_202E_206D_206E_200E_202D_206B_200B_206F_200E_206F_202A_200D_206B_202B_200B_202D_200C_206C_206B_202B_202E(); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-144598280)); - _200B_202B_206B_200D_202C_200F_206D_202E_200B_202E_202A_206C_200B_202C_206F_202B_202B_202B_202C_206E_200D_202D_200D_206B_206E_202B_200C_202E_206F_200F_200F_200F_202A_206F_206A_202E_206E_206B_206F_202B_202E(builder, (object)Warps); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-686068959)); - _200B_202B_206B_200D_202C_200F_206D_202E_200B_202E_202A_206C_200B_202C_206F_202B_202B_202B_202C_206E_200D_202D_200D_206B_206E_202B_200C_202E_206F_200F_200F_200F_202A_206F_206A_202E_206E_206B_206F_202B_202E(builder, (object)WarpsByRowId); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-867140763)); - _200B_202B_206B_200D_202C_200F_206D_202E_200B_202E_202A_206C_200B_202C_206F_202B_202B_202B_202C_206E_200D_202D_200D_206B_206E_202B_200C_202E_206F_200F_200F_200F_202A_206F_206A_202E_206E_206B_206F_202B_202E(builder, (object)SkippedWarpIds); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-1874028006)); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, TotalLuminaWarps.ToString()); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(285549254)); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, NavigationRelevantWarps.ToString()); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-2005174402)); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, WarpsWithDestination.ToString()); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(882690042)); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, WarpsWithUnknownSource.ToString()); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-729388178)); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, WarpsWithDerivedSource.ToString()); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-404384534)); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, WarpsWithDerivedArrival.ToString()); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(133303081)); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, SkippedNoDest.ToString()); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(504753412)); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, SkippedSourceBlocked.ToString()); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-321305684)); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, SkippedDestBlocked.ToString()); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(201100359)); - _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(builder, DerivedSourcesPending.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(Snapshot? other) - { - int num = (((object)this == other) ? 730754972 : 730754966); - while (true) - { - int num2 = num; - int num3 = 730754975; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 730754966; - break; - case 14: - num = ((!EqualityComparer>.Default.Equals(WarpsByRowId, other.WarpsByRowId)) ? 730754963 : 730754971); - break; - case 13: - num = ((!EqualityComparer.Default.Equals(SkippedDestBlocked, other.SkippedDestBlocked)) ? 730754963 : 730754964); - break; - case 12: - return false; - case 9: - num = (((object)other == null) ? 730754963 : 730754959); - break; - case 15: - num = ((!EqualityComparer.Default.Equals(TotalLuminaWarps, other.TotalLuminaWarps)) ? 730754963 : 730754975); - break; - case 3: - return true; - case 4: - num = ((!EqualityComparer>.Default.Equals(SkippedWarpIds, other.SkippedWarpIds)) ? 730754963 : 730754960); - break; - case 10: - num = ((!EqualityComparer.Default.Equals(WarpsWithDerivedSource, other.WarpsWithDerivedSource)) ? 730754963 : 730754974); - break; - case 7: - num = ((!EqualityComparer.Default.Equals(SkippedNoDest, other.SkippedNoDest)) ? 730754963 : 730754970); - break; - case 0: - num = ((!EqualityComparer.Default.Equals(NavigationRelevantWarps, other.NavigationRelevantWarps)) ? 730754963 : 730754969); - break; - case 16: - num = ((!_202A_206D_202B_206C_200B_202E_206F_200B_206C_206A_202B_206F_202A_202D_200D_202D_200D_200E_200F_206E_206E_202A_202A_206C_202A_206B_206D_200B_200C_206C_206A_206E_200E_206D_206B_200D_206E_202A_206D_200F_202E(EqualityContract, other.EqualityContract)) ? 730754963 : 730754967); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(WarpsWithDestination, other.WarpsWithDestination)) ? 730754963 : 730754958); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(WarpsWithDerivedArrival, other.WarpsWithDerivedArrival)) ? 730754963 : 730754968); - break; - case 5: - num = ((!EqualityComparer.Default.Equals(SkippedSourceBlocked, other.SkippedSourceBlocked)) ? 730754963 : 730754962); - break; - case 11: - return EqualityComparer.Default.Equals(DerivedSourcesPending, other.DerivedSourcesPending); - case 17: - num = ((!EqualityComparer.Default.Equals(WarpsWithUnknownSource, other.WarpsWithUnknownSource)) ? 730754963 : 730754965); - break; - case 8: - num = ((!EqualityComparer>.Default.Equals(Warps, other.Warps)) ? 730754963 : 730754961); - break; - } - } - } - - bool IEquatable.Equals(Snapshot? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206C_200E_202B_200D_206C_202B_200C_206F_200D_200F_200B_202A_206C_206F_202C_206E_202D_202E_202A_206A_202B_200B_202D_202E_200F_206F_200C_200C_206F_200D_202B_200F_206A_202D_200C_200D_206F_206D_202B_206E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202E_202D_206E_202E_206A_200F_202A_202A_202B_200D_206F_200D_206A_202C_202D_200D_200C_202E_202C_202A_200B_200F_206A_200E_202B_206F_206E_202A_206D_200E_206F_202E_202A_200C_206F_200C_206C_200E_200D_202C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206C_206E_202B_202D_206B_200F_200F_200F_200C_206C_206A_206C_206E_202E_206F_200F_206B_206A_206C_206F_200C_200D_200C_200D_206F_200F_200F_202A_200D_206F_202E_200C_206A_206A_200B_202B_206C_202B_200B_202B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202E_200D_202E_200D_202C_202D_206D_202A_200E_202A_206D_206D_200D_200F_206F_206E_206F_202C_202A_202E_202A_202A_202D_200B_200F_200B_202E_206F_206F_202C_206B_202C_202B_202A_206B_202E_202B_206D_206D_202C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202D_206D_202D_206A_200D_202E_202E_200E_202B_206E_200E_206A_206E_206C_202A_200E_202A_202B_202C_200D_200D_200D_206F_200F_206E_200C_206B_200D_206F_202B_200E_200D_200B_202C_200D_202D_202C_200D_200C_206C_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200E_200F_200E_200E_202D_202A_206D_206F_206B_200E_200D_206B_202D_200C_202B_202E_202C_200F_200E_202B_202E_206D_206E_200E_202D_206B_200B_206F_200E_206F_202A_200D_206B_202B_200B_202D_200C_206C_206B_202B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200B_202B_206B_200D_202C_200F_206D_202E_200B_202E_202A_206C_200B_202C_206F_202B_202B_202B_202C_206E_200D_202D_200D_206B_206E_202B_200C_202E_206F_200F_200F_200F_202A_206F_206A_202E_206E_206B_206F_202B_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202A_206D_202B_206C_200B_202E_206F_200B_206C_206A_202B_206F_202A_202D_200D_202D_200D_200E_200F_206E_206E_202A_202A_206C_202A_206B_206D_200B_200C_206C_206A_206E_200E_206D_206B_200D_206E_202A_206D_200F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } - } - - public sealed record WarpInfo(uint RowId, string? Name, string? Question, ushort SourceTerritoryId, Vector3 SourcePosition, uint? NpcDataId, string? NpcName, ushort DestTerritoryId, Vector3? DestPosition, int GilCost, uint[] RequiredQuestIds, uint[]? AvailableDuringMsqIds = null, ushort RequiredClassLevel = 0, bool DerivedSource = false, bool RequireAllQuests = true, bool DerivedArrival = false) - { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202B_202D_202D_202E_202C_206A_206C_206C_202D_200E_206F_202A_206B_206C_206F_202A_202E_200D_202D_200E_202B_200F_200C_206A_200E_200F_202D_206F_206A_206C_206F_206E_202E_200E_202A_202C_202C_202C_202C_202E(typeof(WarpInfo).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206C_200F_200E_202B_202B_206C_206F_206D_200D_206F_206F_202B_202B_202D_202E_202C_202D_202A_206F_200C_202D_206B_202A_200F_206C_206E_200B_202B_200B_202C_202E_200C_206C_200E_200B_202D_200D_202C_206D_206F_202E(); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-1185315143)); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-169322018)); - int num = ((!PrintMembers(stringBuilder)) ? 2109038316 : 2109038319); - while (true) - { - int num2 = num; - int num3 = 2109038317; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 2109038319; - break; - case 2: - _202B_206B_202B_206F_202A_202A_202B_202E_206C_202C_206E_202D_202D_200D_200C_200D_202B_202B_202E_202A_206A_202A_206B_206C_202B_202E_200F_202C_206F_206C_206A_200F_200F_206D_200E_206C_202C_206A_206F_200C_202E(stringBuilder, ' '); - num = 2109038316; - break; - case 1: - _202B_206B_202B_206F_202A_202A_202B_202E_206C_202C_206E_202D_202D_200D_200C_200D_202B_202B_202E_202A_206A_202A_206B_206C_202B_202E_200F_202C_206F_206C_206A_200F_200F_206D_200E_206C_202C_206A_206F_200C_202E(stringBuilder, '}'); - return _200C_206F_202B_206F_206D_202B_202B_202A_202C_206F_200B_202D_206E_200C_206A_206A_202D_200D_202E_206F_206F_202E_202A_202A_206F_206B_206C_200D_206E_200C_202D_202E_202B_206B_200F_202C_206F_202B_202E_206E_202E((object?)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202E_206E_202D_202B_200D_206D_202B_206D_200E_206D_206C_202E_200E_206D_200C_200E_206D_202E_206E_200E_202E_200B_200F_206A_202E_206F_202A_202C_200F_206A_206A_202B_206F_202D_202A_202D_200F_202A_206A_206D_202E(); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(514129598)); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, RowId.ToString()); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-350069621)); - _202B_206E_202A_206C_206E_202D_206E_200C_206F_200C_206F_206E_206D_202D_206D_202D_202E_202E_202A_206A_206F_206B_202A_206A_200E_200E_206B_206D_200E_202E_206E_200D_202D_206F_206F_200D_202E_206D_202C_206D_202E(builder, (object?)Name); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-1584832933)); - _202B_206E_202A_206C_206E_202D_206E_200C_206F_200C_206F_206E_206D_202D_206D_202D_202E_202E_202A_206A_206F_206B_202A_206A_200E_200E_206B_206D_200E_202E_206E_200D_202D_206F_206F_200D_202E_206D_202C_206D_202E(builder, (object?)Question); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-894729286)); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, SourceTerritoryId.ToString()); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(6170393)); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, SourcePosition.ToString()); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(995075649)); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, NpcDataId.ToString()); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(1189830150)); - _202B_206E_202A_206C_206E_202D_206E_200C_206F_200C_206F_206E_206D_202D_206D_202D_202E_202E_202A_206A_206F_206B_202A_206A_200E_200E_206B_206D_200E_202E_206E_200D_202D_206F_206F_200D_202E_206D_202C_206D_202E(builder, (object?)NpcName); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(1613414786)); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, DestTerritoryId.ToString()); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(526349895)); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, DestPosition.ToString()); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(353108370)); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, GilCost.ToString()); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(1935506742)); - _202B_206E_202A_206C_206E_202D_206E_200C_206F_200C_206F_206E_206D_202D_206D_202D_202E_202E_202A_206A_206F_206B_202A_206A_200E_200E_206B_206D_200E_202E_206E_200D_202D_206F_206F_200D_202E_206D_202C_206D_202E(builder, (object?)RequiredQuestIds); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-1563123768)); - _202B_206E_202A_206C_206E_202D_206E_200C_206F_200C_206F_206E_206D_202D_206D_202D_202E_202E_202A_206A_206F_206B_202A_206A_200E_200E_206B_206D_200E_202E_206E_200D_202D_206F_206F_200D_202E_206D_202C_206D_202E(builder, (object?)AvailableDuringMsqIds); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(1694220309)); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, RequiredClassLevel.ToString()); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(1760540087)); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, DerivedSource.ToString()); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(219114932)); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, RequireAllQuests.ToString()); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(1955470053)); - _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(builder, DerivedArrival.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(WarpInfo? other) - { - int num = (((object)this == other) ? (-469766671) : (-469766678)); - while (true) - { - int num2 = num; - int num3 = -469766688; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = ((!EqualityComparer.Default.Equals(RequiredQuestIds, other.RequiredQuestIds)) ? (-469766669) : (-469766672)); - break; - case 12: - num = ((!EqualityComparer.Default.Equals(Name, other.Name)) ? (-469766669) : (-469766679)); - break; - case 9: - num = ((!EqualityComparer.Default.Equals(Question, other.Question)) ? (-469766669) : (-469766674)); - break; - case 6: - return EqualityComparer.Default.Equals(DerivedArrival, other.DerivedArrival); - case 17: - return true; - case 0: - num = ((!EqualityComparer.Default.Equals(SourcePosition, other.SourcePosition)) ? (-469766669) : (-469766673)); - break; - case 8: - num = ((!EqualityComparer.Default.Equals(DestTerritoryId, other.DestTerritoryId)) ? (-469766669) : (-469766685)); - break; - case 18: - num = ((!EqualityComparer.Default.Equals(RowId, other.RowId)) ? (-469766669) : (-469766676)); - break; - case 16: - num = ((!EqualityComparer.Default.Equals(AvailableDuringMsqIds, other.AvailableDuringMsqIds)) ? (-469766669) : (-469766687)); - break; - case 5: - num = ((!EqualityComparer.Default.Equals(RequireAllQuests, other.RequireAllQuests)) ? (-469766669) : (-469766682)); - break; - case 3: - num = ((!EqualityComparer.Default.Equals(DestPosition, other.DestPosition)) ? (-469766669) : (-469766681)); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(RequiredClassLevel, other.RequiredClassLevel)) ? (-469766669) : (-469766668)); - break; - case 19: - return false; - case 13: - num = -469766678; - break; - case 7: - num = ((!EqualityComparer.Default.Equals(GilCost, other.GilCost)) ? (-469766669) : (-469766684)); - break; - case 11: - num = ((!_206A_200D_202A_200D_206F_206F_202B_206D_200E_202E_206D_206C_200D_202C_202A_200C_200D_202B_206A_200F_206C_206E_202E_206D_202B_206C_200F_200F_202E_202B_200D_202E_206B_206A_206A_200B_202C_200C_202D_206F_202E(EqualityContract, other.EqualityContract)) ? (-469766669) : (-469766670)); - break; - case 14: - num = ((!EqualityComparer.Default.Equals(SourceTerritoryId, other.SourceTerritoryId)) ? (-469766669) : (-469766688)); - break; - case 20: - num = ((!EqualityComparer.Default.Equals(DerivedSource, other.DerivedSource)) ? (-469766669) : (-469766683)); - break; - case 15: - num = ((!EqualityComparer.Default.Equals(NpcDataId, other.NpcDataId)) ? (-469766669) : (-469766686)); - break; - case 10: - num = (((object)other == null) ? (-469766669) : (-469766677)); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(NpcName, other.NpcName)) ? (-469766669) : (-469766680)); - break; - } - } - } - - bool IEquatable.Equals(WarpInfo? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type? _202B_202D_202D_202E_202C_206A_206C_206C_202D_200E_206F_202A_206B_206C_206F_202A_202E_200D_202D_200E_202B_200F_200C_206A_200E_200F_202D_206F_206A_206C_206F_206E_202E_200E_202A_202C_202C_202C_202C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder? _206C_200F_200E_202B_202B_206C_206F_206D_200D_206F_206F_202B_202B_202D_202E_202C_202D_202A_206F_200C_202D_206B_202A_200F_206C_206E_200B_202B_200B_202C_202E_200C_206C_200E_200B_202D_200D_202C_206D_206F_202E() - { - return new StringBuilder(); - } - - static StringBuilder? _200E_200B_200D_200C_206C_202C_200D_200F_202B_200D_206F_202B_206E_200F_202D_202A_202C_202C_206D_206D_206E_206B_200D_200C_202D_200C_200E_202A_202C_200E_202A_202B_202C_200E_202D_200C_206E_206A_200D_202D_202E(StringBuilder? P_0, string? P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder? _202B_206B_202B_206F_202A_202A_202B_202E_206C_202C_206E_202D_202D_200D_200C_200D_202B_202B_202E_202A_206A_202A_206B_206C_202B_202E_200F_202C_206F_206C_206A_200F_200F_206D_200E_206C_202C_206A_206F_200C_202E(StringBuilder? P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string? _200C_206F_202B_206F_206D_202B_202B_202A_202C_206F_200B_202D_206E_200C_206A_206A_202D_200D_202E_206F_206F_202E_202A_202A_206F_206B_206C_200D_206E_200C_202D_202E_202B_206B_200F_202C_206F_202B_202E_206E_202E(object? P_0) - { - return P_0.ToString(); - } - - static void _202E_206E_202D_202B_200D_206D_202B_206D_200E_206D_206C_202E_200E_206D_200C_200E_206D_202E_206E_200E_202E_200B_200F_206A_202E_206F_202A_202C_200F_206A_206A_202B_206F_202D_202A_202D_200F_202A_206A_206D_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder? _202B_206E_202A_206C_206E_202D_206E_200C_206F_200C_206F_206E_206D_202D_206D_202D_202E_202E_202A_206A_206F_206B_202A_206A_200E_200E_206B_206D_200E_202E_206E_200D_202D_206F_206F_200D_202E_206D_202C_206D_202E(StringBuilder? P_0, object? P_1) - { - return P_0.Append(P_1); - } - - static bool _206A_200D_202A_200D_206F_206F_202B_206D_200E_202E_206D_206C_200D_202C_202A_200C_200D_202B_206A_200F_206C_206E_202E_206D_202B_206C_200F_200F_202E_202B_200D_202E_206B_206A_206A_200B_202C_200C_202D_206F_202E(Type? P_0, Type? P_1) - { - return P_0 == P_1; - } - } - - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass39_0 - { - public ExcelSheet arrayEventHandlers; - - public IDataManager dataManager; - - public ExcelSheet levelSheet; - - internal IEnumerable? _003CBuildSnapshot_003Eb__4(uint handlerId) - { - ArrayEventHandler? rowOrDefault = arrayEventHandlers.GetRowOrDefault(handlerId); - int num = (rowOrDefault.HasValue ? (-2031263627) : (-2031263628)); - while (true) - { - int num2 = num; - int num3 = -2031263627; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return (from x in rowOrDefault.GetValueOrDefault().Data - where x.RowId != 0 - select x.RowId).ToList(); - case 1: - return null; - case 2: - goto IL_00c3; - } - continue; - IL_00c3: - num = -2031263628; - } - } - - internal (ushort TerritoryId, Vector3 Position)? _003CBuildSnapshot_003Eb__6(uint popId) - { - Level? rowOrDefault = levelSheet.GetRowOrDefault(popId); - int num = (rowOrDefault.HasValue ? (-1803587058) : (-1803587059)); - while (true) - { - int num2 = num; - int num3 = -1803587060; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - return ((ushort)rowOrDefault.Value.Territory.RowId, new Vector3(rowOrDefault.Value.X, rowOrDefault.Value.Y, rowOrDefault.Value.Z)); - case 1: - return null; - case 0: - goto IL_00bc; - } - continue; - IL_00bc: - num = -1803587059; - } - } - - static bool _202E_202A_206E_202C_206B_206A_202E_202D_206D_206C_200F_206B_200E_202D_202E_206D_200C_206D_206E_202D_200E_206A_206E_200B_206C_206E_200F_200E_200C_200E_206E_200F_200C_206C_206B_206D_206A_206E_200E_206D_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - } + public sealed record WarpInfo(uint RowId, string? Name, string? Question, ushort SourceTerritoryId, Vector3 SourcePosition, uint? NpcDataId, string? NpcName, ushort DestTerritoryId, Vector3? DestPosition, int GilCost, uint[] RequiredQuestIds, uint[]? AvailableDuringMsqIds = null, ushort RequiredClassLevel = 0, bool DerivedSource = false, bool RequireAllQuests = true, bool DerivedArrival = false); private const uint WarpHandlerType = 2u; @@ -538,7 +76,7 @@ public sealed class WarpDataService private readonly ILogger? _logger; - private readonly object _applyLock = _202E_200E_206C_202E_202C_200E_202B_202D_206B_206E_202C_200F_200E_200D_206A_206F_200B_206E_200E_206C_202D_206E_206D_206A_202B_200D_206F_200D_200E_206C_202C_206E_202E_202A_206E_200D_206C_202B_202A_200D_202E(); + private readonly object _applyLock = new object(); private volatile Snapshot _current; @@ -589,1693 +127,485 @@ public sealed class WarpDataService public bool ApplyDerivedSources() { - int num = ((_npcPositionCache != null) ? 690668671 : 690668670); - while (true) + if (_npcPositionCache == null) { - int num2 = num; - int num3 = 690668671; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return false; + } + lock (_applyLock) + { + if (!_current.DerivedSourcesPending || !_npcPositionCache.IsBuilt) { - case 2: - goto IL_004c; - case 1: return false; - case 0: - { - object applyLock = _applyLock; - bool flag = false; - try - { - _200F_206E_200B_206B_202A_202C_200B_206E_206B_200F_200E_202E_200D_206C_200D_206D_202C_200F_206D_200B_200F_202E_202A_200B_206D_200D_202C_202A_206B_202C_200F_200D_202B_202D_200F_202D_202B_202C_206F_202E_202E(applyLock, ref flag); - num = ((!_current.DerivedSourcesPending) ? (-1198875736) : (-1198875733)); - while (true) - { - int num5 = num; - num3 = -1198875735; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 3: - num = -1198875733; - break; - case 2: - num = (_202B_200B_206B_200C_200D_202A_206B_202A_206A_200C_206C_206A_200C_200F_206E_200F_200E_206D_202A_202D_202E_202E_200C_200D_200B_200E_206B_206B_206B_200B_200E_202C_206C_202B_206C_202B_200F_200E_202B_202D_202E(_npcPositionCache) ? (-1198875735) : (-1198875736)); - break; - case 1: - return false; - case 0: - _current = BuildSnapshot(); - return true; - } - } - } - finally - { - num = ((!flag) ? (-242398341) : (-242398344)); - while (true) - { - int num8 = num; - num3 = -242398343; - num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -242398344; - break; - case 1: - _206B_202E_206F_200C_200F_206D_202A_206E_206E_206D_202D_200C_200F_206A_200B_202C_202E_206E_206C_202E_206F_200B_206B_206F_200E_206A_206A_200D_202E_206C_202C_200F_200B_206E_200E_200B_202D_202B_200F_202E(applyLock); - num = -242398341; - break; - case 2: - goto end_IL_0137; - } - continue; - end_IL_0137: - break; - } - } } - } - continue; - IL_004c: - num = 690668670; + _current = BuildSnapshot(); + return true; } } - [MethodImpl(MethodImplOptions.NoInlining)] private Snapshot BuildSnapshot() { IDataManager dataManager = _dataManager; SmartNavDataOptions dataOptions = _dataOptions; NpcPositionCache npcPositionCache = _npcPositionCache; ILogger logger = _logger; - bool flag = _202B_200B_206B_200C_200D_202A_206B_202A_206A_200C_206C_206A_200C_200F_206E_200F_200E_206D_202A_202D_202E_202E_200C_200D_200B_200E_206B_206B_206B_200B_200E_202C_206C_202B_206C_202B_200F_200E_202B_202D_202E(npcPositionCache); - int num = (flag ? (-539051135) : (-539051134)); - object obj; - while (true) - { - int num2 = num; - int num3 = -539051136; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 0: - goto IL_007a; - case 2: - obj = (Func)((uint _) => ((ushort TerritoryId, Vector3 Position, bool FestivalOnly)?)null); - break; - case 1: - obj = new Func(npcPositionCache.TryGetPlacement); - break; - } - break; - IL_007a: - num = -539051134; - } - Func getPlacement = (Func)obj; + bool isBuilt = npcPositionCache.IsBuilt; + Func getPlacement = (isBuilt ? new Func(npcPositionCache.TryGetPlacement) : ((Func)((uint _) => ((ushort TerritoryId, Vector3 Position, bool FestivalOnly)?)null))); List list = new List(); HashSet hashSet = new HashSet(); - DirectoryInfo? devSourceDirectory = dataOptions.DevSourceDirectory; - (IReadOnlyList, IReadOnlyDictionary) tuple = _206E_202B_202A_200D_206D_202D_202B_202C_200B_200E_202C_200C_206B_202D_202D_202C_202A_202B_200D_206B_202E_200B_202B_206F_206E_206A_202B_200C_202A_202C_200D_200B_206F_202B_206C_202C_200B_206F_200E_206B_202E((devSourceDirectory != null) ? _202B_206F_206A_200E_200C_202E_202D_202C_200F_202C_202C_206E_200C_206C_206A_206D_206B_200F_206E_200B_202E_206C_200C_200B_202A_200F_206A_200F_202D_206E_202E_202E_206A_206F_202E_200B_202A_206F_202B_206A_202E((FileSystemInfo)devSourceDirectory) : null); - IReadOnlyList item = tuple.Item1; - IReadOnlyDictionary item2 = tuple.Item2; - IEnumerator enumerator = item.GetEnumerator(); - try + var (readOnlyList, readOnlyDictionary) = AssemblyWarpDestinationLoader.GetOverrides(dataOptions.DevSourceDirectory?.FullName); + foreach (uint item4 in readOnlyList) { - num = 1091070719; - while (true) - { - int num5 = num; - int num3 = 1091070718; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 0: - num = 1091070719; - break; - case 2: - { - uint current = enumerator.Current; - hashSet.Add(current); - num = 1091070719; - break; - } - case 1: - num = (_200B_206F_206C_202E_202E_202D_200E_202C_206B_206D_202C_200B_206E_200D_200D_206B_200D_202A_206D_200B_206F_202D_200F_202B_202B_202D_202A_206B_206B_200B_200C_202D_200F_206A_202C_206B_206C_206C_206E_202D_202E((IEnumerator)enumerator) ? 1091070716 : 1091070717); - break; - case 3: - goto end_IL_0116; - } - continue; - end_IL_0116: - break; - } + hashSet.Add(item4); } - finally - { - num = ((enumerator == null) ? 866852118 : 866852117); - while (true) - { - int num8 = num; - int num3 = 866852119; - int num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 866852117; - break; - case 2: - _200B_200D_202B_202C_200D_206D_206C_200F_202C_200F_200D_200F_206B_202E_202C_206F_206A_200C_206B_202D_206F_202B_206E_206E_200E_206F_200C_202E_200E_200B_206A_202C_206C_206D_200F_206B_200B_202A_202E_200F_202E((IDisposable)enumerator); - num = 866852118; - break; - case 1: - goto end_IL_01bb; - } - continue; - end_IL_01bb: - break; - } - } - IEnumerator> enumerator2 = item2.GetEnumerator(); WarpDestinationEntry value; - try + foreach (KeyValuePair item5 in readOnlyDictionary) { - num = -296082524; - while (true) + item5.Deconstruct(out var _, out value); + WarpDestinationEntry item = value; + list.Add(item); + } + if (dataOptions.UserOverrideDirectory != null) + { + LoadWarpOverridesFrom(Path.Combine(dataOptions.UserOverrideDirectory.FullName, "warp-destinations.json"), list, hashSet); + } + Dictionary<(uint, uint), WarpDestinationEntry> dictionary = new Dictionary<(uint, uint), WarpDestinationEntry>(); + Dictionary dictionary2 = new Dictionary(); + foreach (WarpDestinationEntry item6 in list) + { + uint? npcDataId = item6.NpcDataId; + if (npcDataId.HasValue) { - int num9 = num; - int num3 = -296082521; - int num4 = num9; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = (_200B_206F_206C_202E_202E_202D_200E_202C_206B_206D_202C_200B_206E_200D_200D_206B_200D_202A_206D_200B_206F_202D_200F_202B_202B_202D_202A_206B_206B_200B_200C_202D_200F_206A_202C_206B_206C_206C_206E_202D_202E((IEnumerator)enumerator2) ? (-296082522) : (-296082521)); - break; - case 1: - { - enumerator2.Current.Deconstruct(out var _, out value); - WarpDestinationEntry item3 = value; - list.Add(item3); - num = -296082524; - break; - } - case 2: - num = -296082524; - break; - case 0: - goto end_IL_021c; - } + uint valueOrDefault = npcDataId.GetValueOrDefault(); + dictionary[(item6.WarpRowId, valueOrDefault)] = item6; + } + else + { + dictionary2[item6.WarpRowId] = item6; + } + } + HashSet hashSet2 = new HashSet(); + foreach (WarpDestinationEntry item7 in list) + { + if (item7.SourceTerritoryId > 0) + { + hashSet2.Add(item7.SourceTerritoryId); + } + if (item7.DestTerritoryId > 0) + { + hashSet2.Add(item7.DestTerritoryId); + } + } + Dictionary dictionary3 = (from x in dataManager.GetExcelSheet() + where x.RowId != 0 + select x).ToDictionary((TerritoryType x) => (ushort)x.RowId, (TerritoryType x) => (ETerritoryIntendedUse)x.TerritoryIntendedUse.RowId); + Dictionary> dictionary4 = new Dictionary>(); + int nestedArraysSkipped = 0; + ExcelSheet arrayEventHandlers = dataManager.GetExcelSheet(); + Func> arrayMemberLookup = delegate(uint handlerId) + { + ArrayEventHandler? rowOrDefault = arrayEventHandlers.GetRowOrDefault(handlerId); + return (!rowOrDefault.HasValue) ? null : (from x in rowOrDefault.GetValueOrDefault().Data + where x.RowId != 0 + select x.RowId).ToList(); + }; + foreach (ENpcBase item8 in dataManager.GetExcelSheet()) + { + foreach (RowRef eNpcDatum in item8.ENpcData) + { + AddWarpFronter(dictionary4, eNpcDatum.RowId, item8.RowId, arrayMemberLookup, ref nestedArraysSkipped); + } + } + foreach (EObj item9 in dataManager.GetExcelSheet()) + { + AddWarpFronter(dictionary4, item9.Data.RowId, item9.RowId, arrayMemberLookup, ref nestedArraysSkipped); + } + if (nestedArraysSkipped > 0) + { + logger.LogWarning("Warp fronter index: {Count} nested ArrayEventHandler refs skipped (hop depth capped at 1)", nestedArraysSkipped); + } + Dictionary dictionary5 = new Dictionary(); + Dictionary dictionary6 = new Dictionary(); + Dictionary> dictionary7 = new Dictionary>(); + int num = 0; + int num2 = 0; + int num3 = 0; + int num4 = 0; + (uint, uint) key2; + foreach (Warp item10 in from x in dataManager.GetExcelSheet() + where x.RowId != 0 + select x) + { + num++; + ushort num5 = (ushort)item10.TerritoryType.RowId; + if (num5 == 0) + { + num2++; continue; - end_IL_021c: - break; } - } - finally - { - num = ((enumerator2 == null) ? 208700910 : 208700909); - while (true) + if (dictionary3.TryGetValue(num5, out var value2) && NonNavigableIntendedUses.Contains(value2) && !hashSet2.Contains(num5)) { - int num10 = num; - int num3 = 208700911; - int num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - case 0: - num = 208700909; - break; - case 2: - _200B_200D_202B_202C_200D_206D_206C_200F_202C_200F_200D_200F_206B_202E_202C_206F_206A_200C_206B_202D_206F_202B_206E_206E_200E_206F_200C_202E_200E_200B_206A_202C_206C_206D_200F_206B_200B_202A_202E_200F_202E((IDisposable)enumerator2); - num = 208700910; - break; - case 1: - goto end_IL_02cd; - } + num4++; continue; - end_IL_02cd: - break; } + dictionary6[item10.RowId] = item10.PopRange.RowId; + ushort num6 = 0; + Vector3 sourcePosition = Vector3.Zero; + uint? npcDataId2 = null; + string npcName = null; + if (dictionary2.TryGetValue(item10.RowId, out var value3)) + { + num6 = value3.SourceTerritoryId; + sourcePosition = value3.SourcePosition; + npcDataId2 = value3.NpcDataId; + } + if (num6 == 0) + { + foreach (KeyValuePair<(uint, uint), WarpDestinationEntry> item11 in dictionary) + { + item11.Deconstruct(out key2, out value); + (uint, uint) tuple2 = key2; + WarpDestinationEntry warpDestinationEntry = value; + if (tuple2.Item1 == item10.RowId && warpDestinationEntry.SourceTerritoryId > 0) + { + num6 = warpDestinationEntry.SourceTerritoryId; + sourcePosition = warpDestinationEntry.SourcePosition; + npcDataId2 = warpDestinationEntry.NpcDataId; + break; + } + } + } + bool derivedSource = false; + if (num6 == 0) + { + List<(uint, ushort, Vector3)> list2 = ResolveDerivedSources(item10.RowId, dictionary4, getPlacement); + if (list2.Count > 0) + { + (uint, ushort, Vector3) tuple3 = list2[0]; + num6 = tuple3.Item2; + sourcePosition = tuple3.Item3; + npcDataId2 = tuple3.Item1; + npcName = ResolveObjectName(tuple3.Item1); + derivedSource = true; + if (list2.Count > 1) + { + dictionary7[item10.RowId] = list2; + } + } + } + if (num6 > 0 && dictionary3.TryGetValue(num6, out var value4) && NonNavigableIntendedUses.Contains(value4) && !hashSet2.Contains(num6)) + { + num3++; + continue; + } + int gilCost = 0; + ushort requiredClassLevel = 0; + List list3 = new List(); + bool requireAllQuests = true; + WarpCondition? valueNullable = item10.WarpCondition.ValueNullable; + if (valueNullable.HasValue) + { + gilCost = valueNullable.Value.Gil; + requiredClassLevel = valueNullable.Value.ClassLevel; + if (valueNullable.Value.RequiredQuest1.RowId != 0) + { + list3.Add(valueNullable.Value.RequiredQuest1.RowId); + } + if (valueNullable.Value.RequiredQuest2.RowId != 0) + { + list3.Add(valueNullable.Value.RequiredQuest2.RowId); + } + if (valueNullable.Value.RequiredQuest3.RowId != 0) + { + list3.Add(valueNullable.Value.RequiredQuest3.RowId); + } + if (valueNullable.Value.RequiredQuest4.RowId != 0) + { + list3.Add(valueNullable.Value.RequiredQuest4.RowId); + } + requireAllQuests = valueNullable.Value.CompleteParam == 1; + } + string text = item10.Name.ExtractText(); + if (string.IsNullOrEmpty(text)) + { + text = null; + } + string text2 = item10.Question.ExtractText(); + if (string.IsNullOrEmpty(text2)) + { + text2 = null; + } + dictionary5[item10.RowId] = new WarpInfo(item10.RowId, text, text2, num6, sourcePosition, npcDataId2, npcName, num5, null, gilCost, list3.ToArray(), null, requiredClassLevel, derivedSource, requireAllQuests); } - num = ((dataOptions.UserOverrideDirectory == null) ? (-616875928) : (-616875925)); - uint? num17 = default(uint?); - WarpDestinationEntry current2 = default(WarpDestinationEntry); - WarpDestinationEntry current3 = default(WarpDestinationEntry); - ExcelSheet arrayEventHandlers; - Warp current6 = default(Warp); - ushort num35 = default(ushort); - ushort num40 = default(ushort); - Vector3 sourcePosition = default(Vector3); - uint? npcDataId = default(uint?); - string npcName = default(string); - WarpDestinationEntry warpDestinationEntry = default(WarpDestinationEntry); - bool derivedSource = default(bool); - List list2 = default(List); - WarpCondition? valueNullable = default(WarpCondition?); - List<(uint, ushort, Vector3)> list3 = default(List<(uint, ushort, Vector3)>); - string text = default(string); - string text2 = default(string); - bool requireAllQuests = default(bool); - int gilCost = default(int); - ushort requiredClassLevel = default(ushort); - ETerritoryIntendedUse value4 = default(ETerritoryIntendedUse); - ExcelSheet levelSheet; - uint num46 = default(uint); - WarpInfo warpInfo = default(WarpInfo); - Vector3? destPosition = default(Vector3?); - uint[] array = default(uint[]); - WarpDestinationEntry warpDestinationEntry2 = default(WarpDestinationEntry); - Vector3? vector = default(Vector3?); - bool derivedArrival = default(bool); - WarpDestinationEntry value8 = default(WarpDestinationEntry); - WarpDestinationEntry value7 = default(WarpDestinationEntry); - uint value6 = default(uint); - WarpInfo warpInfo4 = default(WarpInfo); - (uint, uint) item4 = default((uint, uint)); - WarpInfo warpInfo3 = default(WarpInfo); - WarpDestinationEntry warpDestinationEntry3 = default(WarpDestinationEntry); - List list5 = default(List); - (uint, ushort, Vector3) current7 = default((uint, ushort, Vector3)); - ETerritoryIntendedUse value11 = default(ETerritoryIntendedUse); - while (true) + List list4 = new List(); + Dictionary dictionary8 = new Dictionary(); + HashSet<(uint, uint)> hashSet3 = new HashSet<(uint, uint)>(); + ExcelSheet levelSheet = dataManager.GetExcelSheet(); + Func levelLookup = delegate(uint popId) { - int num13 = num; - int num3 = -616875927; - int num4 = num13; - int num14 = num4 + num3; - int num15 = num4 & num3; - switch (num14 - (num15 + num15)) + Level? rowOrDefault = levelSheet.GetRowOrDefault(popId); + return (!rowOrDefault.HasValue) ? (((ushort, Vector3)?)null) : new(ushort, Vector3)?(((ushort)rowOrDefault.Value.Territory.RowId, new Vector3(rowOrDefault.Value.X, rowOrDefault.Value.Y, rowOrDefault.Value.Z))); + }; + DerivedArrivalFile arrivals = AssemblyDerivedArrivalLoader.GetArrivals(dataOptions.DevSourceDirectory?.FullName); + if (!string.IsNullOrEmpty(arrivals.GameVersion) && !string.IsNullOrEmpty(dataOptions.GameVersion) && arrivals.GameVersion != dataOptions.GameVersion) + { + logger.LogWarning("Derived-arrival data was generated for game version {DataVersion} but the game is {LiveVersion} - rerun SmartNav.Data.ArrivalScanner", arrivals.GameVersion, dataOptions.GameVersion); + } + uint key3; + foreach (KeyValuePair item12 in dictionary5) + { + item12.Deconstruct(out key3, out var value5); + uint num7 = key3; + WarpInfo warpInfo = value5; + Vector3? destPosition = null; + uint[] array = null; + foreach (KeyValuePair<(uint, uint), WarpDestinationEntry> item13 in dictionary) { - case 0: - num = -616875925; - break; - case 2: - LoadWarpOverridesFrom(_206B_206F_200C_206F_206C_202D_202A_206D_200D_206E_202D_206F_200F_206D_202A_202C_200E_200C_200B_202D_206D_202B_200B_200E_200F_200F_200C_200E_206D_202B_202B_206A_200F_200B_202A_202B_206E_202E_206A_206E_202E(_202B_206F_206A_200E_200C_202E_202D_202C_200F_202C_202C_206E_200C_206C_206A_206D_206B_200F_206E_200B_202E_206C_200C_200B_202A_200F_206A_200F_202D_206E_202E_202E_206A_206F_202E_200B_202A_206F_202B_206A_202E((FileSystemInfo)dataOptions.UserOverrideDirectory), global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-1598187262)), list, hashSet); - num = -616875928; - break; - case 1: - { - Dictionary<(uint, uint), WarpDestinationEntry> dictionary = new Dictionary<(uint, uint), WarpDestinationEntry>(); - Dictionary dictionary2 = new Dictionary(); - using (List.Enumerator enumerator3 = list.GetEnumerator()) + item13.Deconstruct(out key2, out value); + (uint, uint) tuple4 = key2; + WarpDestinationEntry warpDestinationEntry2 = value; + if (tuple4.Item1 != num7) { - num = 1236181802; - while (true) - { - int num16 = num; - num3 = 1236181801; - num4 = num16; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - { - uint valueOrDefault = num17.GetValueOrDefault(); - dictionary[(_206F_200B_200D_200C_202D_202B_200C_202A_202B_200C_200C_206F_206F_202D_200E_206B_200D_206B_200D_202B_206E_200F_202E_202E_200B_200F_200D_200C_200C_206B_200C_202A_202B_202A_202A_206E_206E_202D_202C_200D_202E(current2), valueOrDefault)] = current2; - num = 1236181802; - break; - } - case 2: - dictionary2[_206F_200B_200D_200C_202D_202B_200C_202A_202B_200C_200C_206F_206F_202D_200E_206B_200D_206B_200D_202B_206E_200F_202E_202E_200B_200F_200D_200C_200C_206B_200C_202A_202B_202A_202A_206E_206E_202D_202C_200D_202E(current2)] = current2; - num = 1236181802; - break; - case 3: - num = (enumerator3.MoveNext() ? 1236181804 : 1236181800); - break; - case 5: - current2 = enumerator3.Current; - num17 = _202B_206D_206C_206C_206E_200F_202E_206D_200E_200C_206E_206A_200D_200E_206A_200C_206E_202C_206A_200E_202B_202C_200B_202B_206E_206D_202C_206F_202D_202A_206F_206A_206F_206A_200B_206B_202A_206C_200E_200C_202E(current2); - num = ((!num17.HasValue) ? 1236181803 : 1236181805); - break; - case 0: - num = 1236181802; - break; - case 1: - goto end_IL_03ca; - } - continue; - end_IL_03ca: - break; - } + continue; } - HashSet hashSet2 = new HashSet(); - using (List.Enumerator enumerator3 = list.GetEnumerator()) + if (!destPosition.HasValue && warpDestinationEntry2.DestPosition != Vector3.Zero) { - num = 2031466588; - while (true) - { - int num18 = num; - num3 = 2031466586; - num4 = num18; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - hashSet2.Add(_206F_206B_200F_206C_202C_202C_200C_206F_206A_202A_206F_206E_206D_206D_206B_206F_206D_202D_200E_202B_200D_206D_200B_200F_206A_202A_206C_206C_200D_206C_202A_202D_206F_202D_200E_202A_206D_202C_202C_202E_202E(current3)); - num = 2031466588; - break; - case 6: - num = (enumerator3.MoveNext() ? 2031466584 : 2031466590); - break; - case 3: - num = ((_206F_206B_200F_206C_202C_202C_200C_206F_206A_202A_206F_206E_206D_206D_206B_206F_206D_202D_200E_202B_200D_206D_200B_200F_206A_202A_206C_206C_200D_206C_202A_202D_206F_202D_200E_202A_206D_202C_202C_202E_202E(current3) <= 0) ? 2031466588 : 2031466586); - break; - case 2: - current3 = enumerator3.Current; - num = ((_206F_200E_206D_206A_200F_202D_206D_202B_200F_206B_200C_200C_200D_206F_200C_206E_206C_202B_200C_206C_206D_202B_206E_202E_200D_206E_206C_200B_202B_202D_200F_202A_206B_206B_206D_202D_206F_206B_206E_206C_202E(current3) <= 0) ? 2031466585 : 2031466587); - break; - case 5: - num = 2031466588; - break; - case 1: - hashSet2.Add(_206F_200E_206D_206A_200F_202D_206D_202B_200F_206B_200C_200C_200D_206F_200C_206E_206C_202B_200C_206C_206D_202B_206E_202E_200D_206E_206C_200B_202B_202D_200F_202A_206B_206B_206D_202D_206F_206B_206E_206C_202E(current3)); - num = 2031466585; - break; - case 4: - goto end_IL_04df; - } - continue; - end_IL_04df: - break; - } + destPosition = warpDestinationEntry2.DestPosition; } - Dictionary dictionary3 = (from x in dataManager.GetExcelSheet() - where x.RowId != 0 - select x).ToDictionary((TerritoryType x) => (ushort)x.RowId, (TerritoryType x) => (ETerritoryIntendedUse)x.TerritoryIntendedUse.RowId); - Dictionary> dictionary4 = new Dictionary>(); - int nestedArraysSkipped = 0; - arrayEventHandlers = dataManager.GetExcelSheet(); - Func> arrayMemberLookup = delegate(uint handlerId) + if (array == null) { - ArrayEventHandler? rowOrDefault = arrayEventHandlers.GetRowOrDefault(handlerId); - int num60 = (rowOrDefault.HasValue ? (-2031263627) : (-2031263628)); - while (true) + List availableDuringMsqIds = warpDestinationEntry2.AvailableDuringMsqIds; + if (availableDuringMsqIds != null && availableDuringMsqIds.Count > 0) { - int num61 = num60; - int num62 = -2031263627; - int num63 = num61; - int num64 = num63 + num62; - int num65 = num63 & num62; - switch (num64 - (num65 + num65)) - { - case 0: - return (from x in rowOrDefault.GetValueOrDefault().Data - where x.RowId != 0 - select x.RowId).ToList(); - case 1: - return (IEnumerable?)null; - case 2: - goto IL_00c3; - } - continue; - IL_00c3: - num60 = -2031263628; - } - }; - foreach (ENpcBase item6 in dataManager.GetExcelSheet()) - { - using Collection.Enumerator enumerator5 = item6.ENpcData.GetEnumerator(); - num = 1868823740; - while (true) - { - int num19 = num; - num3 = 1868823740; - num4 = num19; - int num20 = num4 + num3; - int num21 = num4 & num3; - switch (num20 - (num21 + num21)) - { - case 0: - num = (enumerator5.MoveNext() ? 1868823741 : 1868823743); - break; - case 1: - AddWarpFronter(dictionary4, enumerator5.Current.RowId, item6.RowId, arrayMemberLookup, ref nestedArraysSkipped); - num = 1868823740; - break; - case 2: - num = 1868823740; - break; - case 3: - goto end_IL_06ec; - } - continue; - end_IL_06ec: - break; - } - } - using (ExcelSheet.Enumerator enumerator6 = dataManager.GetExcelSheet().GetEnumerator()) - { - num = 1015784097; - while (true) - { - int num22 = num; - num3 = 1015784097; - num4 = num22; - int num23 = num4 + num3; - int num24 = num4 & num3; - switch (num23 - (num24 + num24)) - { - case 0: - num = (enumerator6.MoveNext() ? 1015784096 : 1015784098); - break; - case 1: - { - EObj current5 = enumerator6.Current; - AddWarpFronter(dictionary4, current5.Data.RowId, current5.RowId, arrayMemberLookup, ref nestedArraysSkipped); - num = 1015784097; - break; - } - case 2: - num = 1015784097; - break; - case 3: - goto end_IL_07d7; - } - continue; - end_IL_07d7: - break; - } - } - num = ((nestedArraysSkipped <= 0) ? (-762848955) : (-762848956)); - while (true) - { - int num25 = num; - num3 = -762848955; - num4 = num25; - int num26 = num4 + num3; - int num27 = num4 & num3; - switch (num26 - (num27 + num27)) - { - case 2: - num = -762848956; - break; - case 1: - _206E_202D_202C_200E_200B_206C_206F_202C_206A_202A_202E_200B_206B_200B_200C_206C_202E_200C_202D_206B_206F_202A_206F_202C_200C_200E_200B_200D_206B_200B_206E_206E_206B_206A_202A_206E_202E_202B_202C_206F_202E((ILogger)logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-1287740097), new object[1] { nestedArraysSkipped }); - num = -762848955; - break; - case 0: - { - Dictionary dictionary5 = new Dictionary(); - Dictionary dictionary6 = new Dictionary(); - Dictionary> dictionary7 = new Dictionary>(); - int num28 = 0; - int num29 = 0; - int num30 = 0; - int num31 = 0; - IEnumerator enumerator7 = (from x in dataManager.GetExcelSheet() - where x.RowId != 0 - select x).GetEnumerator(); - (uint, uint) key2; - try - { - while (true) - { - IL_0c47: - if (_200B_206F_206C_202E_202E_202D_200E_202C_206B_206D_202C_200B_206E_200D_200D_206B_200D_202A_206D_200B_206F_202D_200F_202B_202B_202D_202A_206B_206B_200B_200C_202D_200F_206A_202C_206B_206C_206C_206E_202D_202E((IEnumerator)enumerator7)) - { - current6 = enumerator7.Current; - int num32 = num28; - num3 = 1; - num4 = num32; - int num33 = num4 ^ num3; - int num34 = num4 & num3; - num28 = num33 + (num34 + num34); - num35 = (ushort)current6.TerritoryType.RowId; - if (num35 == 0) - { - int num36 = num29; - num3 = 1; - num4 = num36; - num29 = (num4 | num3) + (num4 & num3); - continue; - } - if (dictionary3.TryGetValue(num35, out var value2) && NonNavigableIntendedUses.Contains(value2) && !hashSet2.Contains(num35)) - { - int num37 = num31; - num3 = 1; - num4 = num37; - int num38 = num4 ^ num3; - int num39 = num4 & num3; - num31 = num38 + (num39 + num39); - continue; - } - dictionary6[current6.RowId] = current6.PopRange.RowId; - num40 = 0; - sourcePosition = Vector3.Zero; - npcDataId = null; - npcName = null; - if (dictionary2.TryGetValue(current6.RowId, out var value3)) - { - num40 = _206F_200E_206D_206A_200F_202D_206D_202B_200F_206B_200C_200C_200D_206F_200C_206E_206C_202B_200C_206C_206D_202B_206E_202E_200D_206E_206C_200B_202B_202D_200F_202A_206B_206B_206D_202D_206F_206B_206E_206C_202E(value3); - sourcePosition = _200F_202B_200E_200C_206A_202E_206D_206B_200B_200C_206C_206E_202A_200F_200E_200F_200B_202B_200B_206F_200E_202D_202C_206C_200E_202E_206C_202C_200B_200C_206F_206C_206D_202B_206E_206B_206D_200D_206B_202B_202E(value3); - npcDataId = _202B_206D_206C_206C_206E_200F_202E_206D_200E_200C_206E_206A_200D_200E_206A_200C_206E_202C_206A_200E_202B_202C_200B_202B_206E_206D_202C_206F_202D_202A_206F_206A_206F_206A_200B_206B_202A_206C_200E_200C_202E(value3); - } - if (num40 == 0) - { - using Dictionary<(uint, uint), WarpDestinationEntry>.Enumerator enumerator8 = dictionary.GetEnumerator(); - num = -1191632534; - while (true) - { - int num41 = num; - num3 = -1191632533; - num4 = num41; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - num = -1191632534; - break; - case 0: - num40 = _206F_200E_206D_206A_200F_202D_206D_202B_200F_206B_200C_200C_200D_206F_200C_206E_206C_202B_200C_206C_206D_202B_206E_202E_200D_206E_206C_200B_202B_202D_200F_202A_206B_206B_206D_202D_206F_206B_206E_206C_202E(warpDestinationEntry); - sourcePosition = _200F_202B_200E_200C_206A_202E_206D_206B_200B_200C_206C_206E_202A_200F_200E_200F_200B_202B_200B_206F_200E_202D_202C_206C_200E_202E_206C_202C_200B_200C_206F_206C_206D_202B_206E_206B_206D_200D_206B_202B_202E(warpDestinationEntry); - npcDataId = _202B_206D_206C_206C_206E_200F_202E_206D_200E_200C_206E_206A_200D_200E_206A_200C_206E_202C_206A_200E_202B_202C_200B_202B_206E_206D_202C_206F_202D_202A_206F_206A_206F_206A_200B_206B_202A_206C_200E_200C_202E(warpDestinationEntry); - goto end_IL_0a8e; - case 2: - { - enumerator8.Current.Deconstruct(out key2, out value); - (uint, uint) tuple2 = key2; - warpDestinationEntry = value; - num = ((tuple2.Item1 != current6.RowId) ? (-1191632534) : (-1191632529)); - break; - } - case 1: - num = (enumerator8.MoveNext() ? (-1191632535) : (-1191632536)); - break; - case 4: - num = ((_206F_200E_206D_206A_200F_202D_206D_202B_200F_206B_200C_200C_200D_206F_200C_206E_206C_202B_200C_206C_206D_202B_206E_202E_200D_206E_206C_200B_202B_202D_200F_202A_206B_206B_206D_202D_206F_206B_206E_206C_202E(warpDestinationEntry) <= 0) ? (-1191632534) : (-1191632533)); - break; - case 3: - goto end_IL_0a8e; - } - continue; - end_IL_0a8e: - break; - } - } - derivedSource = false; - num = ((num40 != 0) ? (-788834391) : (-788834390)); - } - else - { - num = -788834381; - } - while (true) - { - int num42 = num; - num3 = -788834371; - num4 = num42; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 1: - break; - case 25: - list2.Add(valueNullable.Value.RequiredQuest4.RowId); - num = -788834383; - continue; - case 23: - list3 = ResolveDerivedSources(current6.RowId, dictionary4, getPlacement); - num = ((list3.Count <= 0) ? (-788834391) : (-788834370)); - continue; - case 7: - text = current6.Name.ExtractText(); - num = ((!_206A_202D_200C_206F_206A_206C_206C_202B_206C_200E_206A_200E_206A_200C_206E_206C_200F_206F_202A_206E_202B_200D_206F_206F_200B_206A_206B_200D_200B_202C_206A_202C_202E_206A_206D_202E_206A_200E_206C_202A_202E(text)) ? (-788834369) : (-788834392)); - continue; - case 16: - num = ((valueNullable.Value.RequiredQuest4.RowId == 0) ? (-788834383) : (-788834396)); - continue; - case 20: - num = ((num40 <= 0) ? (-788834385) : (-788834379)); - continue; - case 10: - text2 = null; - num = -788834376; - continue; - case 17: - num = ((valueNullable.Value.RequiredQuest2.RowId == 0) ? (-788834386) : (-788834380)); - continue; - case 12: - requireAllQuests = valueNullable.Value.CompleteParam == 1; - num = -788834374; - continue; - case 9: - list2.Add(valueNullable.Value.RequiredQuest2.RowId); - num = -788834386; - continue; - case 6: - num = -788834390; - continue; - case 2: - text2 = current6.Question.ExtractText(); - num = ((!_206A_202D_200C_206F_206A_206C_206C_202B_206C_200E_206A_200E_206A_200C_206E_206C_200F_206F_202A_206E_202B_200D_206F_206F_200B_206A_206B_200D_200B_202C_206A_202C_202E_206A_206D_202E_206A_200E_206C_202A_202E(text2)) ? (-788834376) : (-788834377)); - continue; - case 18: - gilCost = 0; - requiredClassLevel = 0; - list2 = new List(); - requireAllQuests = true; - valueNullable = current6.WarpCondition.ValueNullable; - num = ((!valueNullable.HasValue) ? (-788834374) : (-788834395)); - continue; - case 21: - text = null; - num = -788834369; - continue; - case 4: - num = ((!NonNavigableIntendedUses.Contains(value4)) ? (-788834385) : (-788834378)); - continue; - case 3: - { - (uint, ushort, Vector3) tuple3 = list3[0]; - num40 = tuple3.Item2; - sourcePosition = tuple3.Item3; - npcDataId = tuple3.Item1; - npcName = ResolveObjectName(tuple3.Item1); - derivedSource = true; - num = ((list3.Count <= 1) ? (-788834391) : (-788834371)); - continue; - } - case 8: - num = ((!dictionary3.TryGetValue(num40, out value4)) ? (-788834385) : (-788834375)); - continue; - case 13: - list2.Add(valueNullable.Value.RequiredQuest1.RowId); - num = -788834388; - continue; - case 24: - gilCost = valueNullable.Value.Gil; - requiredClassLevel = valueNullable.Value.ClassLevel; - num = ((valueNullable.Value.RequiredQuest1.RowId == 0) ? (-788834388) : (-788834384)); - continue; - case 19: - num = ((valueNullable.Value.RequiredQuest3.RowId == 0) ? (-788834387) : (-788834382)); - continue; - case 22: - { - int num43 = num30; - num3 = 1; - num4 = num43; - num30 = (num4 | num3) + (num4 & num3); - num = -788834372; - continue; - } - case 15: - list2.Add(valueNullable.Value.RequiredQuest3.RowId); - num = -788834387; - continue; - case 0: - dictionary7[current6.RowId] = list3; - num = -788834391; - continue; - case 11: - num = (hashSet2.Contains(num40) ? (-788834385) : (-788834389)); - continue; - case 5: - dictionary5[current6.RowId] = new WarpInfo(current6.RowId, text, text2, num40, sourcePosition, npcDataId, npcName, num35, null, gilCost, list2.ToArray(), null, requiredClassLevel, derivedSource, requireAllQuests); - num = -788834372; - continue; - case 14: - goto end_IL_0bbf; - } - goto IL_0c47; - continue; - end_IL_0bbf: - break; - } - break; - } - } - finally - { - num = ((enumerator7 == null) ? (-2087080931) : (-2087080930)); - while (true) - { - int num44 = num; - num3 = -2087080932; - num4 = num44; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -2087080930; - break; - case 1: - goto end_IL_10ea; - case 2: - _200B_200D_202B_202C_200D_206D_206C_200F_202C_200F_200D_200F_206B_202E_202C_206F_206A_200C_206B_202D_206F_202B_206E_206E_200E_206F_200C_202E_200E_200B_206A_202C_206C_206D_200F_206B_200B_202A_202E_200F_202E((IDisposable)enumerator7); - num = -2087080931; - break; - } - continue; - end_IL_10ea: - break; - } - } - List list4 = new List(); - Dictionary dictionary8 = new Dictionary(); - HashSet<(uint, uint)> hashSet3 = new HashSet<(uint, uint)>(); - levelSheet = dataManager.GetExcelSheet(); - Func levelLookup = delegate(uint popId) - { - Level? rowOrDefault = levelSheet.GetRowOrDefault(popId); - int num60 = (rowOrDefault.HasValue ? (-1803587058) : (-1803587059)); - while (true) - { - int num61 = num60; - int num62 = -1803587060; - int num63 = num61; - switch ((num63 | num62) - (num63 & num62)) - { - case 2: - return ((ushort)rowOrDefault.Value.Territory.RowId, new Vector3(rowOrDefault.Value.X, rowOrDefault.Value.Y, rowOrDefault.Value.Z)); - case 1: - return ((ushort TerritoryId, Vector3 Position)?)null; - case 0: - goto IL_00bc; - } - continue; - IL_00bc: - num60 = -1803587059; - } - }; - DirectoryInfo? devSourceDirectory2 = dataOptions.DevSourceDirectory; - DerivedArrivalFile derivedArrivalFile = _200E_202D_206A_202D_206A_206C_206F_206B_200F_200C_202E_200F_200B_200C_206A_206F_206C_200E_202C_206B_206C_200B_206A_200F_206B_202B_202D_200B_206A_200F_206A_202E_202D_202A_202C_200B_202B_200D_200B_206E_202E((devSourceDirectory2 != null) ? _202B_206F_206A_200E_200C_202E_202D_202C_200F_202C_202C_206E_200C_206C_206A_206D_206B_200F_206E_200B_202E_206C_200C_200B_202A_200F_206A_200F_202D_206E_202E_202E_206A_206F_202E_200B_202A_206F_202B_206A_202E((FileSystemInfo)devSourceDirectory2) : null); - num = (_206A_202D_200C_206F_206A_206C_206C_202B_206C_200E_206A_200E_206A_200C_206E_206C_200F_206F_202A_206E_202B_200D_206F_206F_200B_206A_206B_200D_200B_202C_206A_202C_202E_206A_206D_202E_206A_200E_206C_202A_202E(_202D_202B_200E_200C_200F_200C_206F_206D_206D_206C_206E_200F_200B_200C_206F_202B_206E_202A_202B_206E_206E_206F_202E_200C_206C_200E_206B_202E_200F_202B_206A_200F_200E_206D_206D_200D_200E_206C_202A_200C_202E(derivedArrivalFile)) ? (-1202914817) : (-1202914824)); - while (true) - { - int num45 = num; - num3 = -1202914820; - num4 = num45; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - _206E_202D_202C_200E_200B_206C_206F_202C_206A_202A_202E_200B_206B_200B_200C_206C_202E_200C_202D_206B_206F_202A_206F_202C_200C_200E_200B_200D_206B_200B_206E_206E_206B_206A_202A_206E_202E_202B_202C_206F_202E((ILogger)logger, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-174820420), new object[2] - { - _202D_202B_200E_200C_200F_200C_206F_206D_206D_206C_206E_200F_200B_200C_206F_202B_206E_202A_202B_206E_206E_206F_202E_200C_206C_200E_206B_202E_200F_202B_206A_200F_200E_206D_206D_200D_200E_206C_202A_200C_202E(derivedArrivalFile), - dataOptions.GameVersion - }); - num = -1202914817; - break; - case 4: - num = (_206A_202D_200C_206F_206A_206C_206C_202B_206C_200E_206A_200E_206A_200C_206E_206C_200F_206F_202A_206E_202B_200D_206F_206F_200B_206A_206B_200D_200B_202C_206A_202C_202E_206A_206D_202E_206A_200E_206C_202A_202E(dataOptions.GameVersion) ? (-1202914817) : (-1202914819)); - break; - case 1: - num = ((!_202A_206C_206D_206F_200B_202C_202E_200C_206E_206C_202E_202C_200F_200F_202A_202A_206F_200E_200D_202C_202A_200E_202E_202D_206B_202A_200C_202E_206F_206F_200C_206C_206D_206D_202E_206F_206D_202A_206F_202D_202E(_202D_202B_200E_200C_200F_200C_206F_206D_206D_206C_206E_200F_200B_200C_206F_202B_206E_202A_202B_206E_206E_206F_202E_200C_206C_200E_206B_202E_200F_202B_206A_200F_200E_206D_206D_200D_200E_206C_202A_200C_202E(derivedArrivalFile), dataOptions.GameVersion)) ? (-1202914817) : (-1202914818)); - break; - case 0: - num = -1202914824; - break; - case 3: - { - uint key3; - using (Dictionary.Enumerator enumerator9 = dictionary5.GetEnumerator()) - { - while (true) - { - IL_151e: - if (enumerator9.MoveNext()) - { - enumerator9.Current.Deconstruct(out key3, out var value5); - num46 = key3; - warpInfo = value5; - destPosition = null; - array = null; - using (Dictionary<(uint, uint), WarpDestinationEntry>.Enumerator enumerator8 = dictionary.GetEnumerator()) - { - num = -1453011060; - while (true) - { - int num47 = num; - num3 = -1453011061; - num4 = num47; - switch ((num4 | num3) - (num4 & num3)) - { - case 8: - array = _206E_206F_200C_200B_206C_206D_200E_202A_206D_202C_202D_200C_200C_206F_206E_206B_206F_202C_202C_200F_206F_202B_200E_202C_200D_200C_206D_200D_202A_200D_200C_200B_206F_200B_202B_200E_206C_206A_202E_206D_202E(warpDestinationEntry2).ToArray(); - num = -1453011060; - break; - case 0: - destPosition = _206F_200F_202D_206B_206A_202B_200F_206A_206F_206C_206F_202A_200D_206B_202C_200F_202A_206B_206F_202C_206B_200E_200C_202E_200F_202B_200C_202C_202E_206E_200B_202D_202C_202A_200B_202C_202C_206A_200C_200C_202E(warpDestinationEntry2); - num = -1453011063; - break; - case 6: - num = ((!(_206F_200F_202D_206B_206A_202B_200F_206A_206F_206C_206F_202A_200D_206B_202C_200F_202A_206B_206F_202C_206B_200E_200C_202E_200F_202B_200C_202C_202E_206E_200B_202D_202C_202A_200B_202C_202C_206A_200C_200C_202E(warpDestinationEntry2) != Vector3.Zero)) ? (-1453011063) : (-1453011061)); - break; - case 2: - num = ((array != null) ? (-1453011060) : (-1453011057)); - break; - case 5: - num = ((list5.Count <= 0) ? (-1453011060) : (-1453011069)); - break; - case 7: - num = (enumerator8.MoveNext() ? (-1453011070) : (-1453011071)); - break; - case 1: - num = (destPosition.HasValue ? (-1453011063) : (-1453011059)); - break; - case 9: - { - enumerator8.Current.Deconstruct(out key2, out value); - (uint, uint) tuple4 = key2; - warpDestinationEntry2 = value; - num = ((tuple4.Item1 != num46) ? (-1453011060) : (-1453011062)); - break; - } - case 4: - list5 = _206E_206F_200C_200B_206C_206D_200E_202A_206D_202C_202D_200C_200C_206F_206E_206B_206F_202C_202C_200F_206F_202B_200E_202C_200D_200C_206D_200D_202A_200D_200C_200B_206F_200B_202B_200E_206C_206A_202E_206D_202E(warpDestinationEntry2); - num = ((list5 == null) ? (-1453011060) : (-1453011058)); - break; - case 3: - num = -1453011060; - break; - case 10: - goto end_IL_12d3; - } - continue; - end_IL_12d3: - break; - } - } - num = (destPosition.HasValue ? 322550405 : 322550421); - } - else - { - num = 322550414; - } - while (true) - { - int num48 = num; - num3 = 322550405; - num4 = num48; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 12: - break; - case 0: - num = ((array != null) ? 322550403 : 322550408); - continue; - case 2: - destPosition = vector; - derivedArrival = true; - num = 322550412; - continue; - case 9: - { - WarpInfo warpInfo2 = warpInfo with - { - DestPosition = destPosition, - AvailableDuringMsqIds = array, - DerivedArrival = derivedArrival - }; - list4.Add(warpInfo2); - dictionary8[num46] = warpInfo2; - num17 = warpInfo.NpcDataId; - num = ((!num17.HasValue) ? 322550409 : 322550402); - continue; - } - case 13: - num = ((!dictionary2.TryGetValue(num46, out value8)) ? 322550403 : 322550401); - continue; - case 15: - destPosition = _206F_200F_202D_206B_206A_202B_200F_206A_206F_206C_206F_202A_200D_206B_202C_200F_202A_206B_206F_202C_206B_200E_200C_202E_200F_202B_200C_202C_202E_206E_200B_202D_202C_202A_200B_202C_202C_206A_200C_200C_202E(value7); - num = 322550405; - continue; - case 16: - num = ((!dictionary2.TryGetValue(num46, out value7)) ? 322550405 : 322550415); - continue; - case 17: - num = ((list5.Count <= 0) ? 322550403 : 322550411); - continue; - case 10: - num = ((!(_206F_200F_202D_206B_206A_202B_200F_206A_206F_206C_206F_202A_200D_206B_202C_200F_202A_206B_206F_202C_206B_200E_200C_202E_200F_202B_200C_202C_202E_206E_200B_202D_202C_202A_200B_202C_202C_206A_200C_200C_202E(value7) != Vector3.Zero)) ? 322550405 : 322550410); - continue; - case 7: - { - uint valueOrDefault2 = num17.GetValueOrDefault(); - hashSet3.Add((num46, valueOrDefault2)); - num = 322550409; - continue; - } - case 5: - num = 322550421; - continue; - case 8: - num = ((value6 == 0) ? 322550412 : 322550404); - continue; - case 4: - list5 = _206E_206F_200C_200B_206C_206D_200E_202A_206D_202C_202D_200C_200C_206F_206E_206B_206F_202C_202C_200F_206F_202B_200E_202C_200D_200C_206D_200D_202A_200D_200C_200B_206F_200B_202B_200E_206C_206A_202E_206D_202E(value8); - num = ((list5 == null) ? 322550403 : 322550420); - continue; - case 6: - derivedArrival = false; - num = (destPosition.HasValue ? 322550412 : 322550406); - continue; - case 14: - array = _206E_206F_200C_200B_206C_206D_200E_202A_206D_202C_202D_200C_200C_206F_206E_206B_206F_202C_202C_200F_206F_202B_200E_202C_200D_200C_206D_200D_202A_200D_200C_200B_206F_200B_202B_200E_206C_206A_202E_206D_202E(value8).ToArray(); - num = 322550403; - continue; - case 1: - vector = ResolveDerivedArrival(value6, warpInfo.DestTerritoryId, _202C_206D_206C_200E_206C_202C_206A_202B_200E_206C_200B_200B_206D_202A_202B_206E_206F_206B_202A_200C_202B_206A_206D_200F_206E_202A_202B_206B_200E_200C_200C_200B_206C_200D_206A_202C_202A_202B_206D_206C_202E(derivedArrivalFile).GetValueOrDefault(num46), levelLookup); - num = ((!vector.HasValue) ? 322550412 : 322550407); - continue; - case 3: - num = ((!dictionary6.TryGetValue(num46, out value6)) ? 322550412 : 322550413); - continue; - case 11: - goto end_IL_14b6; - } - goto IL_151e; - continue; - end_IL_14b6: - break; - } - break; - } - } - using (Dictionary<(uint, uint), WarpDestinationEntry>.Enumerator enumerator8 = dictionary.GetEnumerator()) - { - num = 1428496538; - while (true) - { - int num49 = num; - num3 = 1428496536; - num4 = num49; - int num50 = num4 + num3; - int num51 = num4 & num3; - Vector3? vector2; - Vector3? destPosition2; - uint item5; - string? name; - string? question; - ushort sourceTerritoryId; - Vector3 sourcePosition2; - uint? npcDataId2; - ushort destTerritoryId; - int gilCost2; - uint[] requiredQuestIds; - switch (num50 - (num51 + num51)) - { - case 1: - warpInfo4 = dictionary5[item4.Item1]; - warpInfo3 = dictionary8[item4.Item1]; - num = ((_206F_200F_202D_206B_206A_202B_200F_206A_206F_206C_206F_202A_200D_206B_202C_200F_202A_206B_206F_202C_206B_200E_200C_202E_200F_202B_200C_202C_202E_206E_200B_202D_202C_202A_200B_202C_202C_206A_200C_200C_202E(warpDestinationEntry3) != Vector3.Zero) ? 1428496542 : 1428496536); - break; - case 7: - num = (hashSet3.Contains(item4) ? 1428496538 : 1428496537); - break; - case 0: - vector2 = warpInfo3.DestPosition; - goto IL_18d3; - case 2: - num = (enumerator8.MoveNext() ? 1428496539 : 1428496541); - break; - case 6: - vector2 = _206F_200F_202D_206B_206A_202B_200F_206A_206F_206C_206F_202A_200D_206B_202C_200F_202A_206B_206F_202C_206B_200E_200C_202E_200F_202B_200C_202C_202E_206E_200B_202D_202C_202A_200B_202C_202C_206A_200C_200C_202E(warpDestinationEntry3); - goto IL_18d3; - case 3: - enumerator8.Current.Deconstruct(out key2, out value); - item4 = key2; - warpDestinationEntry3 = value; - num = ((!dictionary5.ContainsKey(item4.Item1)) ? 1428496538 : 1428496543); - break; - case 4: - num = 1428496538; - break; - case 5: - goto end_IL_17d5; - IL_18d3: - destPosition2 = vector2; - item5 = item4.Item1; - name = warpInfo4.Name; - question = warpInfo4.Question; - sourceTerritoryId = _206F_200E_206D_206A_200F_202D_206D_202B_200F_206B_200C_200C_200D_206F_200C_206E_206C_202B_200C_206C_206D_202B_206E_202E_200D_206E_206C_200B_202B_202D_200F_202A_206B_206B_206D_202D_206F_206B_206E_206C_202E(warpDestinationEntry3); - sourcePosition2 = _200F_202B_200E_200C_206A_202E_206D_206B_200B_200C_206C_206E_202A_200F_200E_200F_200B_202B_200B_206F_200E_202D_202C_206C_200E_202E_206C_202C_200B_200C_206F_206C_206D_202B_206E_206B_206D_200D_206B_202B_202E(warpDestinationEntry3); - npcDataId2 = _202B_206D_206C_206C_206E_200F_202E_206D_200E_200C_206E_206A_200D_200E_206A_200C_206E_202C_206A_200E_202B_202C_200B_202B_206E_206D_202C_206F_202D_202A_206F_206A_206F_206A_200B_206B_202A_206C_200E_200C_202E(warpDestinationEntry3); - destTerritoryId = warpInfo4.DestTerritoryId; - gilCost2 = warpInfo4.GilCost; - requiredQuestIds = warpInfo4.RequiredQuestIds; - list5 = _206E_206F_200C_200B_206C_206D_200E_202A_206D_202C_202D_200C_200C_206F_206E_206B_206F_202C_202C_200F_206F_202B_200E_202C_200D_200C_206D_200D_202A_200D_200C_200B_206F_200B_202B_200E_206C_206A_202E_206D_202E(warpDestinationEntry3); - list4.Add(new WarpInfo(item5, name, question, sourceTerritoryId, sourcePosition2, npcDataId2, null, destTerritoryId, destPosition2, gilCost2, requiredQuestIds, (list5 != null && list5.Count > 0) ? _206E_206F_200C_200B_206C_206D_200E_202A_206D_202C_202D_200C_200C_206F_206E_206B_206F_202C_202C_200F_206F_202B_200E_202C_200D_200C_206D_200D_202A_200D_200C_200B_206F_200B_202B_200E_206C_206A_202E_206D_202E(warpDestinationEntry3).ToArray() : null, warpInfo4.RequiredClassLevel, DerivedSource: false, warpInfo4.RequireAllQuests, _206F_200F_202D_206B_206A_202B_200F_206A_206F_206C_206F_202A_200D_206B_202C_200F_202A_206B_206F_202C_206B_200E_200C_202E_200F_202B_200C_202C_202E_206E_200B_202D_202C_202A_200B_202C_202C_206A_200C_200C_202E(warpDestinationEntry3) == Vector3.Zero && warpInfo3.DerivedArrival)); - hashSet3.Add(item4); - num = 1428496538; - break; - } - continue; - end_IL_17d5: - break; - } - } - foreach (KeyValuePair> item7 in dictionary7) - { - item7.Deconstruct(out key3, out var value9); - uint num52 = key3; - List<(uint, ushort, Vector3)> list6 = value9; - if (!dictionary8.TryGetValue(num52, out var value10)) - { - continue; - } - using List<(uint, ushort, Vector3)>.Enumerator enumerator11 = list6.GetEnumerator(); - num = -909189203; - while (true) - { - int num53 = num; - num3 = -909189201; - num4 = num53; - int num54 = num4 + num3; - int num55 = num4 & num3; - switch (num54 - (num55 + num55)) - { - case 5: - list4.Add(value10 with - { - SourceTerritoryId = current7.Item2, - SourcePosition = current7.Item3, - NpcDataId = current7.Item1, - NpcName = ResolveObjectName(current7.Item1), - DerivedSource = true - }); - num = -909189203; - break; - case 7: - num = ((!NonNavigableIntendedUses.Contains(value11)) ? (-909189206) : (-909189202)); - break; - case 6: - num = -909189203; - break; - case 2: - num = (enumerator11.MoveNext() ? (-909189204) : (-909189205)); - break; - case 1: - num = ((!hashSet2.Contains(current7.Item2)) ? (-909189203) : (-909189206)); - break; - case 0: - num = ((!dictionary3.TryGetValue(current7.Item2, out value11)) ? (-909189206) : (-909189208)); - break; - case 3: - current7 = enumerator11.Current; - num = ((!hashSet3.Add((num52, current7.Item1))) ? (-909189203) : (-909189201)); - break; - case 4: - goto end_IL_1a4f; - } - continue; - end_IL_1a4f: - break; - } - } - int num56 = list4.Count((WarpInfo w) => w.DestPosition.HasValue); - int num57 = list4.Count((WarpInfo w) => w.SourceTerritoryId == 0); - int num58 = list4.Count((WarpInfo w) => w.DerivedSource); - int num59 = list4.Count((WarpInfo w) => w.DerivedArrival); - _200E_202A_206B_202A_200B_202B_202E_202A_200B_206E_206D_206D_206C_206F_200E_200D_202C_202C_200F_206D_200B_206B_202C_206B_206A_202B_206E_202B_200B_206D_206C_206D_202E_202E_200D_202A_200B_206E_202B_206C_202E((ILogger)logger, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-1204221542), new object[8] - { - num28, - list4.Count, - dictionary8.Count, - num56, - num58, - num59, - num57, - flag ? global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-1568919776) : global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(1048379339) - }); - _200E_202A_206B_202A_200B_202B_202E_202A_200B_206E_206D_206D_206C_206F_200E_200D_202C_202C_200F_206D_200B_206B_202C_206B_206A_202B_206E_202B_200B_206D_206C_206D_202E_202E_200D_202A_200B_206E_202B_206C_202E((ILogger)logger, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-64023076), new object[4] { num29, hashSet.Count, num30, num31 }); - return new Snapshot(list4, dictionary8, hashSet, num28, list4.Count, num56, num57, num58, num59, num29, num30, num31, !flag); - } - } - } - } + array = warpDestinationEntry2.AvailableDuringMsqIds.ToArray(); } } } + if (!destPosition.HasValue && dictionary2.TryGetValue(num7, out var value6) && value6.DestPosition != Vector3.Zero) + { + destPosition = value6.DestPosition; + } + if (array == null && dictionary2.TryGetValue(num7, out var value7)) + { + List availableDuringMsqIds = value7.AvailableDuringMsqIds; + if (availableDuringMsqIds != null && availableDuringMsqIds.Count > 0) + { + array = value7.AvailableDuringMsqIds.ToArray(); + } + } + bool derivedArrival = false; + if (!destPosition.HasValue && dictionary6.TryGetValue(num7, out var value8) && value8 != 0) + { + Vector3? vector = ResolveDerivedArrival(value8, warpInfo.DestTerritoryId, arrivals.Arrivals.GetValueOrDefault(num7), levelLookup); + if (vector.HasValue) + { + destPosition = vector; + derivedArrival = true; + } + } + WarpInfo warpInfo2 = warpInfo with + { + DestPosition = destPosition, + AvailableDuringMsqIds = array, + DerivedArrival = derivedArrival + }; + list4.Add(warpInfo2); + dictionary8[num7] = warpInfo2; + uint? npcDataId = warpInfo.NpcDataId; + if (npcDataId.HasValue) + { + uint valueOrDefault2 = npcDataId.GetValueOrDefault(); + hashSet3.Add((num7, valueOrDefault2)); } } + foreach (KeyValuePair<(uint, uint), WarpDestinationEntry> item14 in dictionary) + { + item14.Deconstruct(out key2, out value); + (uint, uint) item2 = key2; + WarpDestinationEntry warpDestinationEntry3 = value; + if (dictionary5.ContainsKey(item2.Item1) && !hashSet3.Contains(item2)) + { + WarpInfo warpInfo3 = dictionary5[item2.Item1]; + WarpInfo warpInfo4 = dictionary8[item2.Item1]; + Vector3? destPosition2 = ((warpDestinationEntry3.DestPosition != Vector3.Zero) ? new Vector3?(warpDestinationEntry3.DestPosition) : warpInfo4.DestPosition); + uint item3 = item2.Item1; + string? name = warpInfo3.Name; + string? question = warpInfo3.Question; + ushort sourceTerritoryId = warpDestinationEntry3.SourceTerritoryId; + Vector3 sourcePosition2 = warpDestinationEntry3.SourcePosition; + uint? npcDataId3 = warpDestinationEntry3.NpcDataId; + ushort destTerritoryId = warpInfo3.DestTerritoryId; + int gilCost2 = warpInfo3.GilCost; + uint[] requiredQuestIds = warpInfo3.RequiredQuestIds; + List availableDuringMsqIds = warpDestinationEntry3.AvailableDuringMsqIds; + list4.Add(new WarpInfo(item3, name, question, sourceTerritoryId, sourcePosition2, npcDataId3, null, destTerritoryId, destPosition2, gilCost2, requiredQuestIds, (availableDuringMsqIds != null && availableDuringMsqIds.Count > 0) ? warpDestinationEntry3.AvailableDuringMsqIds.ToArray() : null, warpInfo3.RequiredClassLevel, DerivedSource: false, warpInfo3.RequireAllQuests, warpDestinationEntry3.DestPosition == Vector3.Zero && warpInfo4.DerivedArrival)); + hashSet3.Add(item2); + } + } + foreach (KeyValuePair> item15 in dictionary7) + { + item15.Deconstruct(out key3, out var value9); + uint num8 = key3; + List<(uint, ushort, Vector3)> list5 = value9; + if (!dictionary8.TryGetValue(num8, out var value10)) + { + continue; + } + foreach (var item16 in list5) + { + if (hashSet3.Add((num8, item16.Item1)) && (!dictionary3.TryGetValue(item16.Item2, out var value11) || !NonNavigableIntendedUses.Contains(value11) || hashSet2.Contains(item16.Item2))) + { + list4.Add(value10 with + { + SourceTerritoryId = item16.Item2, + SourcePosition = item16.Item3, + NpcDataId = item16.Item1, + NpcName = ResolveObjectName(item16.Item1), + DerivedSource = true + }); + } + } + } + int num9 = list4.Count((WarpInfo w) => w.DestPosition.HasValue); + int num10 = list4.Count((WarpInfo w) => w.SourceTerritoryId == 0); + int num11 = list4.Count((WarpInfo w) => w.DerivedSource); + int num12 = list4.Count((WarpInfo w) => w.DerivedArrival); + logger.LogDebug("WarpDataService: {Total} Lumina warps, {Relevant} navigation-relevant ({UniqueIds} unique IDs), {WithDest} with destination, {DerivedSrc} derived source, {DerivedArr} derived arrival, {UnknownSrc} unknown source{Pending}", num, list4.Count, dictionary8.Count, num9, num11, num12, num10, isBuilt ? "" : " (derived sources pending NPC position cache)"); + logger.LogDebug("WarpDataService filtered: {NoDest} no dest territory, {UserSkipped} user-skipped, {SourceBlocked} source territory blocked, {DestBlocked} dest territory blocked", num2, hashSet.Count, num3, num4); + return new Snapshot(list4, dictionary8, hashSet, num, list4.Count, num9, num10, num11, num12, num2, num3, num4, !isBuilt); string? ResolveObjectName(uint objectId) { ENpcResident? rowOrDefault = dataManager.GetExcelSheet().GetRowOrDefault(objectId); - int num60 = ((!rowOrDefault.HasValue) ? (-389697121) : (-389697126)); - string text3 = default(string); - EObjName? rowOrDefault2 = default(EObjName?); - string text4 = default(string); - while (true) + if (rowOrDefault.HasValue) { - int num61 = num60; - int num62 = -389697122; - int num63 = num61; - switch ((num63 | num62) - (num63 & num62)) + string text3 = rowOrDefault.Value.Singular.ExtractText(); + if (!string.IsNullOrEmpty(text3)) { - case 6: - num60 = -389697126; - break; - case 5: - text3 = rowOrDefault2.Value.Singular.ExtractText(); - num60 = (_003C_003Ec__DisplayClass39_0._202E_202A_206E_202C_206B_206A_202E_202D_206D_206C_200F_206B_200E_202D_202E_206D_200C_206D_206E_202D_200E_206A_206E_200B_206C_206E_200F_200E_200C_200E_206E_200F_200C_206C_206B_206D_206A_206E_200E_206D_202E(text3) ? (-389697122) : (-389697123)); - break; - case 3: return text3; - case 4: - text4 = rowOrDefault.Value.Singular.ExtractText(); - num60 = (_003C_003Ec__DisplayClass39_0._202E_202A_206E_202C_206B_206A_202E_202D_206D_206C_200F_206B_200E_202D_202E_206D_200C_206D_206E_202D_200E_206A_206E_200B_206C_206E_200F_200E_200C_200E_206E_200F_200C_206C_206B_206D_206A_206E_200E_206D_202E(text4) ? (-389697121) : (-389697124)); - break; - case 2: - return text4; - case 1: - rowOrDefault2 = dataManager.GetExcelSheet().GetRowOrDefault(objectId); - num60 = ((!rowOrDefault2.HasValue) ? (-389697122) : (-389697125)); - break; - case 0: - return null; } } + EObjName? rowOrDefault2 = dataManager.GetExcelSheet().GetRowOrDefault(objectId); + if (rowOrDefault2.HasValue) + { + string text4 = rowOrDefault2.Value.Singular.ExtractText(); + if (!string.IsNullOrEmpty(text4)) + { + return text4; + } + } + return null; } } internal static void AddWarpFronter(Dictionary> index, uint handlerId, uint fronterObjectId, Func?> arrayMemberLookup, ref int nestedArraysSkipped) { - int num = ((handlerId != 0) ? (-1948350651) : (-1948350649)); - uint num9 = default(uint); - IEnumerable enumerable = default(IEnumerable); - uint current = default(uint); - while (true) + if (handlerId == 0) { - int num2 = num; - int num3 = -1948350653; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return; + } + switch (handlerId >> 16) + { + case 2u: + AddFronterEntry(index, handlerId, fronterObjectId); + break; + case 13u: + { + IEnumerable enumerable = arrayMemberLookup(handlerId); + if (enumerable == null) { - case 0: - num = -1948350649; break; - case 3: - AddFronterEntry(index, handlerId, fronterObjectId); - return; - case 4: - return; - case 6: - num9 = handlerId >> 16; - num = ((num9 != 2) ? (-1948350652) : (-1948350656)); - break; - case 1: - return; - case 7: - if (num9 == 13) - { - num = -1948350655; - break; - } - return; - case 2: - enumerable = arrayMemberLookup(handlerId); - num = ((enumerable != null) ? (-1948350650) : (-1948350654)); - break; - case 5: + } { - IEnumerator enumerator = enumerable.GetEnumerator(); - try + foreach (uint item in enumerable) { - num = 145017122; - while (true) + if (item >> 16 == 2) { - int num5 = num; - num3 = 145017123; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - nestedArraysSkipped++; - num = 145017122; - break; - case 4: - current = enumerator.Current; - num = ((current >> 16 != 2) ? 145017123 : 145017121); - break; - case 1: - num = (_200B_206F_206C_202E_202E_202D_200E_202C_206B_206D_202C_200B_206E_200D_200D_206B_200D_202A_206D_200B_206F_202D_200F_202B_202B_202D_202A_206B_206B_200B_200C_202D_200F_206A_202C_206B_206C_206C_206E_202D_202E((IEnumerator)enumerator) ? 145017127 : 145017120); - break; - case 2: - AddFronterEntry(index, current, fronterObjectId); - num = 145017122; - break; - case 6: - num = 145017122; - break; - case 0: - num = ((current >> 16 != 13) ? 145017122 : 145017126); - break; - case 3: - return; - } - } - } - finally - { - num = ((enumerator == null) ? (-2062162633) : (-2062162636)); - while (true) - { - int num6 = num; - num3 = -2062162635; - num4 = num6; - int num7 = num4 + num3; - int num8 = num4 & num3; - switch (num7 - (num8 + num8)) - { - case 0: - num = -2062162636; - break; - case 2: - goto end_IL_01e8; - case 1: - _200B_200D_202B_202C_200D_206D_206C_200F_202C_200F_200D_200F_206B_202E_202C_206F_206A_200C_206B_202D_206F_202B_206E_206E_200E_206F_200C_202E_200E_200B_206A_202C_206C_206D_200F_206B_200B_202A_202E_200F_202E((IDisposable)enumerator); - num = -2062162633; - break; - } - continue; - end_IL_01e8: - break; + AddFronterEntry(index, item, fronterObjectId); + } + else if (item >> 16 == 13) + { + nestedArraysSkipped++; } } + break; } - } + } } } private static void AddFronterEntry(Dictionary> index, uint warpRowId, uint fronterObjectId) { - List value; - int num = (index.TryGetValue(warpRowId, out value) ? 1144046997 : 1144046998); - while (true) + if (!index.TryGetValue(warpRowId, out List value)) { - int num2 = num; - int num3 = 1144046997; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - value.Add(fronterObjectId); - num = 1144046999; - break; - case 0: - num = (value.Contains(fronterObjectId) ? 1144046999 : 1144046996); - break; - case 3: - value = (index[warpRowId] = new List()); - num = 1144046997; - break; - case 4: - num = 1144046998; - break; - case 2: - return; - } + value = (index[warpRowId] = new List()); + } + if (!value.Contains(fronterObjectId)) + { + value.Add(fronterObjectId); } } internal static Vector3? ResolveDerivedArrival(uint popRangeId, ushort destTerritoryId, DerivedArrivalEntry? embedded, Func levelLookup) { - int num = ((popRangeId != 0) ? 693111575 : 693111576); - (ushort, Vector3) valueOrDefault = default((ushort, Vector3)); - (ushort, Vector3)? tuple = default((ushort, Vector3)?); - while (true) + if (popRangeId == 0) { - int num2 = num; - int num3 = 693111569; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return null; + } + if (embedded != null && embedded.PopRangeId == popRangeId && embedded.TerritoryId == destTerritoryId) + { + return new Vector3(embedded.X, embedded.Y, embedded.Z); + } + (ushort, Vector3)? tuple = levelLookup(popRangeId); + if (tuple.HasValue) + { + (ushort, Vector3) valueOrDefault = tuple.GetValueOrDefault(); + if (valueOrDefault.Item1 == destTerritoryId) { - case 8: - num = ((_200D_202A_202B_206E_202C_202D_206A_200C_206D_200B_206E_206D_206D_206F_206C_202E_200C_200B_202E_202A_206D_202D_200C_200E_206C_200D_202B_206E_200D_202A_206C_202D_200C_206F_206C_200B_202C_202A_200D_200D_202E(embedded) != popRangeId) ? 693111569 : 693111570); - break; - case 9: - return null; - case 6: - num = ((embedded == null) ? 693111569 : 693111577); - break; - case 3: - num = ((_206A_202E_202A_206A_206B_206F_202D_206B_202E_200B_202B_202A_200C_202A_202C_206C_200E_202C_202B_206E_206E_200F_200F_206D_206F_202E_202E_206E_206D_200F_202E_202B_206B_202E_206D_200B_206A_202A_206C_206E_202E(embedded) != destTerritoryId) ? 693111569 : 693111571); - break; - case 1: return valueOrDefault.Item2; - case 5: - valueOrDefault = tuple.GetValueOrDefault(); - num = ((valueOrDefault.Item1 != destTerritoryId) ? 693111573 : 693111568); - break; - case 4: - return null; - case 2: - return new Vector3(_202B_202C_206E_202A_200E_200B_206C_202E_200F_206A_202A_206C_202A_200E_206C_200E_206B_206A_206F_200B_200E_206B_202D_206C_206B_202C_206E_200B_200C_200F_200C_202E_202E_206F_202A_206E_200B_206E_200C_202A_202E(embedded), _206E_200D_202A_206C_202E_200C_206A_202C_200B_200D_200D_202B_206F_200E_202A_206A_200E_200D_206A_200B_206A_200B_202E_200F_206C_202A_200D_200D_206C_202A_200F_202D_206A_206D_200E_206E_200D_200F_200C_202B_202E(embedded), _200D_202B_202D_206B_206B_206C_200C_202A_202C_202C_202D_206D_206C_206F_206E_200C_206F_200D_202B_200C_206F_206A_200D_200C_202B_200F_202C_200B_200E_206C_202D_206B_202B_200B_202C_206D_206A_200E_206F_200E_202E(embedded)); - case 7: - num = 693111576; - break; - case 0: - tuple = levelLookup(popRangeId); - num = ((!tuple.HasValue) ? 693111573 : 693111572); - break; } } + return null; } internal static List<(uint NpcDataId, ushort TerritoryId, Vector3 Position)> ResolveDerivedSources(uint warpRowId, IReadOnlyDictionary> fronterIndex, Func getPlacement) { List<(uint, ushort, Vector3)> list = new List<(uint, ushort, Vector3)>(); - int num = (fronterIndex.TryGetValue(warpRowId, out List value) ? 337465769 : 337465770); - uint current = default(uint); - (ushort, Vector3, bool) valueOrDefault = default((ushort, Vector3, bool)); - (ushort, Vector3, bool)? tuple = default((ushort, Vector3, bool)?); - while (true) + if (!fronterIndex.TryGetValue(warpRowId, out List value)) { - int num2 = num; - int num3 = 337465768; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0058; - case 2: - return list; - case 1: - { - IEnumerator enumerator = value.Order().GetEnumerator(); - try - { - num = -304547261; - while (true) - { - int num5 = num; - num3 = -304547258; - num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - list.Add((current, valueOrDefault.Item1, valueOrDefault.Item2)); - num = -304547261; - break; - case 5: - num = (_200B_206F_206C_202E_202E_202D_200E_202C_206B_206D_202C_200B_206E_200D_200D_206B_200D_202A_206D_200B_206F_202D_200F_202B_202B_202D_202A_206B_206B_200B_200C_202D_200F_206A_202C_206B_206C_206C_206E_202D_202E((IEnumerator)enumerator) ? (-304547257) : (-304547258)); - break; - case 4: - num = -304547261; - break; - case 2: - valueOrDefault = tuple.GetValueOrDefault(); - num = (valueOrDefault.Item3 ? (-304547261) : (-304547259)); - break; - case 1: - current = enumerator.Current; - tuple = getPlacement(current); - num = ((!tuple.HasValue) ? (-304547261) : (-304547260)); - break; - case 0: - return list; - } - } - } - finally - { - num = ((enumerator == null) ? (-1914934886) : (-1914934885)); - while (true) - { - int num6 = num; - num3 = -1914934886; - num4 = num6; - int num7 = num4 + num3; - int num8 = num4 & num3; - switch (num7 - (num8 + num8)) - { - case 2: - num = -1914934885; - break; - case 1: - _200B_200D_202B_202C_200D_206D_206C_200F_202C_200F_200D_200F_206B_202E_202C_206F_206A_200C_206B_202D_206F_202B_206E_206E_200E_206F_200C_202E_200E_200B_206A_202C_206C_206D_200F_206B_200B_202A_202E_200F_202E((IDisposable)enumerator); - num = -1914934886; - break; - case 0: - goto end_IL_018f; - } - continue; - end_IL_018f: - break; - } - } - } - } - continue; - IL_0058: - num = 337465770; + return list; } + foreach (uint item in value.Order()) + { + (ushort, Vector3, bool)? tuple = getPlacement(item); + if (tuple.HasValue) + { + (ushort, Vector3, bool) valueOrDefault = tuple.GetValueOrDefault(); + if (!valueOrDefault.Item3) + { + list.Add((item, valueOrDefault.Item1, valueOrDefault.Item2)); + } + } + } + return list; } private static void LoadWarpOverridesFrom(string path, List target, HashSet skippedIds) { - int num = (_202D_200C_206F_206C_206F_200D_200D_206C_202A_200F_200F_200F_206F_200E_200F_206C_206A_202A_202B_206F_200C_202D_200E_202D_202A_202C_206F_206F_202B_200F_202C_202C_206E_206E_200C_202E_202A_206B_206A_200D_202E(path) ? 1659706856 : 1659706857); - WarpDestinationOverrides warpDestinationOverrides = default(WarpDestinationOverrides); - while (true) + if (!File.Exists(path)) { - int num2 = num; - int num3 = 1659706856; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - return; - case 0: - warpDestinationOverrides = JsonSerializer.Deserialize(_206E_200E_206F_200E_200E_202B_202E_202B_200F_206A_200D_200D_202A_206A_206A_206E_202E_202B_202D_200E_202D_202C_202E_206A_202B_206F_206D_202C_202C_202C_206C_200D_200E_200D_202E_206B_206C_206A_206A_206D_202E(path)); - num = ((warpDestinationOverrides != null) ? 1659706858 : 1659706860); - break; - case 1: - return; - case 3: - num = 1659706857; - break; - case 2: - { - using (List.Enumerator enumerator = _206A_202C_206C_202C_200E_200F_202D_206C_200E_200D_206E_200C_206B_200F_202E_202C_206C_200B_202E_200E_206F_206A_206D_202B_202E_206D_206E_202B_206F_202C_206F_206A_200B_200C_206E_200D_206D_206F_202B_206F_202E(warpDestinationOverrides).GetEnumerator()) - { - num = 1865429245; - while (true) - { - int num5 = num; - num3 = 1865429247; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 0: - num = 1865429245; - break; - case 2: - num = (enumerator.MoveNext() ? 1865429246 : 1865429244); - break; - case 1: - { - uint current = enumerator.Current; - skippedIds.Add(current); - num = 1865429245; - break; - } - case 3: - goto end_IL_00a8; - } - continue; - end_IL_00a8: - break; - } - } - using Dictionary.Enumerator enumerator2 = _202C_206A_200C_200D_200F_206C_200C_202B_202A_202B_202B_206E_206D_206D_202C_202E_202D_200D_206F_206E_200B_202A_200E_200E_206B_202D_200B_202A_206C_206C_200D_206F_202A_206B_202B_202E_202E_202D_202E_206B_202E(warpDestinationOverrides).GetEnumerator(); - num = 1971888332; - while (true) - { - int num8 = num; - num3 = 1971888334; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 2: - num = (enumerator2.MoveNext() ? 1971888333 : 1971888335); - break; - case 3: - var (_, item) = (KeyValuePair)(ref enumerator2.Current); - target.Add(item); - num = 1971888332; - break; - case 0: - num = 1971888332; - break; - case 1: - return; - } - } - } - } + return; + } + WarpDestinationOverrides warpDestinationOverrides = JsonSerializer.Deserialize(File.ReadAllText(path)); + if (warpDestinationOverrides == null) + { + return; + } + foreach (uint skippedWarpId in warpDestinationOverrides.SkippedWarpIds) + { + skippedIds.Add(skippedWarpId); + } + foreach (var (_, item) in warpDestinationOverrides.Destinations) + { + target.Add(item); } } - - static object _202E_200E_206C_202E_202C_200E_202B_202D_206B_206E_202C_200F_200E_200D_206A_206F_200B_206E_200E_206C_202D_206E_206D_206A_202B_200D_206F_200D_200E_206C_202C_206E_202E_202A_206E_200D_206C_202B_202A_200D_202E() - { - return new object(); - } - - static void _200F_206E_200B_206B_202A_202C_200B_206E_206B_200F_200E_202E_200D_206C_200D_206D_202C_200F_206D_200B_200F_202E_202A_200B_206D_200D_202C_202A_206B_202C_200F_200D_202B_202D_200F_202D_202B_202C_206F_202E_202E(object P_0, ref bool P_1) - { - Monitor.Enter(P_0, ref P_1); - } - - static bool _202B_200B_206B_200C_200D_202A_206B_202A_206A_200C_206C_206A_200C_200F_206E_200F_200E_206D_202A_202D_202E_202E_200C_200D_200B_200E_206B_206B_206B_200B_200E_202C_206C_202B_206C_202B_200F_200E_202B_202D_202E(NpcPositionCache P_0) - { - return P_0.IsBuilt; - } - - static void _206B_202E_206F_200C_200F_206D_202A_206E_206E_206D_202D_200C_200F_206A_200B_202C_202E_206E_206C_202E_206F_200B_206B_206F_200E_206A_206A_200D_202E_206C_202C_200F_200B_206E_200E_200B_202D_202B_200F_202E(object P_0) - { - Monitor.Exit(P_0); - } - - static string _202B_206F_206A_200E_200C_202E_202D_202C_200F_202C_202C_206E_200C_206C_206A_206D_206B_200F_206E_200B_202E_206C_200C_200B_202A_200F_206A_200F_202D_206E_202E_202E_206A_206F_202E_200B_202A_206F_202B_206A_202E(FileSystemInfo P_0) - { - return P_0.FullName; - } - - static (IReadOnlyList, IReadOnlyDictionary) _206E_202B_202A_200D_206D_202D_202B_202C_200B_200E_202C_200C_206B_202D_202D_202C_202A_202B_200D_206B_202E_200B_202B_206F_206E_206A_202B_200C_202A_202C_200D_200B_206F_202B_206C_202C_200B_206F_200E_206B_202E(string P_0) - { - return AssemblyWarpDestinationLoader.GetOverrides(P_0); - } - - static bool _200B_206F_206C_202E_202E_202D_200E_202C_206B_206D_202C_200B_206E_200D_200D_206B_200D_202A_206D_200B_206F_202D_200F_202B_202B_202D_202A_206B_206B_200B_200C_202D_200F_206A_202C_206B_206C_206C_206E_202D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _200B_200D_202B_202C_200D_206D_206C_200F_202C_200F_200D_200F_206B_202E_202C_206F_206A_200C_206B_202D_206F_202B_206E_206E_200E_206F_200C_202E_200E_200B_206A_202C_206C_206D_200F_206B_200B_202A_202E_200F_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static string _206B_206F_200C_206F_206C_202D_202A_206D_200D_206E_202D_206F_200F_206D_202A_202C_200E_200C_200B_202D_206D_202B_200B_200E_200F_200F_200C_200E_206D_202B_202B_206A_200F_200B_202A_202B_206E_202E_206A_206E_202E(string P_0, string P_1) - { - return Path.Combine(P_0, P_1); - } - - static uint? _202B_206D_206C_206C_206E_200F_202E_206D_200E_200C_206E_206A_200D_200E_206A_200C_206E_202C_206A_200E_202B_202C_200B_202B_206E_206D_202C_206F_202D_202A_206F_206A_206F_206A_200B_206B_202A_206C_200E_200C_202E(WarpDestinationEntry P_0) - { - return P_0.NpcDataId; - } - - static uint _206F_200B_200D_200C_202D_202B_200C_202A_202B_200C_200C_206F_206F_202D_200E_206B_200D_206B_200D_202B_206E_200F_202E_202E_200B_200F_200D_200C_200C_206B_200C_202A_202B_202A_202A_206E_206E_202D_202C_200D_202E(WarpDestinationEntry P_0) - { - return P_0.WarpRowId; - } - - static ushort _206F_200E_206D_206A_200F_202D_206D_202B_200F_206B_200C_200C_200D_206F_200C_206E_206C_202B_200C_206C_206D_202B_206E_202E_200D_206E_206C_200B_202B_202D_200F_202A_206B_206B_206D_202D_206F_206B_206E_206C_202E(WarpDestinationEntry P_0) - { - return P_0.SourceTerritoryId; - } - - static ushort _206F_206B_200F_206C_202C_202C_200C_206F_206A_202A_206F_206E_206D_206D_206B_206F_206D_202D_200E_202B_200D_206D_200B_200F_206A_202A_206C_206C_200D_206C_202A_202D_206F_202D_200E_202A_206D_202C_202C_202E_202E(WarpDestinationEntry P_0) - { - return P_0.DestTerritoryId; - } - - static void _206E_202D_202C_200E_200B_206C_206F_202C_206A_202A_202E_200B_206B_200B_200C_206C_202E_200C_202D_206B_206F_202A_206F_202C_200C_200E_200B_200D_206B_200B_206E_206E_206B_206A_202A_206E_202E_202B_202C_206F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static Vector3 _200F_202B_200E_200C_206A_202E_206D_206B_200B_200C_206C_206E_202A_200F_200E_200F_200B_202B_200B_206F_200E_202D_202C_206C_200E_202E_206C_202C_200B_200C_206F_206C_206D_202B_206E_206B_206D_200D_206B_202B_202E(WarpDestinationEntry P_0) - { - return P_0.SourcePosition; - } - - static bool _206A_202D_200C_206F_206A_206C_206C_202B_206C_200E_206A_200E_206A_200C_206E_206C_200F_206F_202A_206E_202B_200D_206F_206F_200B_206A_206B_200D_200B_202C_206A_202C_202E_206A_206D_202E_206A_200E_206C_202A_202E(string P_0) - { - return string.IsNullOrEmpty(P_0); - } - - static DerivedArrivalFile _200E_202D_206A_202D_206A_206C_206F_206B_200F_200C_202E_200F_200B_200C_206A_206F_206C_200E_202C_206B_206C_200B_206A_200F_206B_202B_202D_200B_206A_200F_206A_202E_202D_202A_202C_200B_202B_200D_200B_206E_202E(string P_0) - { - return AssemblyDerivedArrivalLoader.GetArrivals(P_0); - } - - static string _202D_202B_200E_200C_200F_200C_206F_206D_206D_206C_206E_200F_200B_200C_206F_202B_206E_202A_202B_206E_206E_206F_202E_200C_206C_200E_206B_202E_200F_202B_206A_200F_200E_206D_206D_200D_200E_206C_202A_200C_202E(DerivedArrivalFile P_0) - { - return P_0.GameVersion; - } - - static bool _202A_206C_206D_206F_200B_202C_202E_200C_206E_206C_202E_202C_200F_200F_202A_202A_206F_200E_200D_202C_202A_200E_202E_202D_206B_202A_200C_202E_206F_206F_200C_206C_206D_206D_202E_206F_206D_202A_206F_202D_202E(string P_0, string P_1) - { - return P_0 != P_1; - } - - static Vector3 _206F_200F_202D_206B_206A_202B_200F_206A_206F_206C_206F_202A_200D_206B_202C_200F_202A_206B_206F_202C_206B_200E_200C_202E_200F_202B_200C_202C_202E_206E_200B_202D_202C_202A_200B_202C_202C_206A_200C_200C_202E(WarpDestinationEntry P_0) - { - return P_0.DestPosition; - } - - static List _206E_206F_200C_200B_206C_206D_200E_202A_206D_202C_202D_200C_200C_206F_206E_206B_206F_202C_202C_200F_206F_202B_200E_202C_200D_200C_206D_200D_202A_200D_200C_200B_206F_200B_202B_200E_206C_206A_202E_206D_202E(WarpDestinationEntry P_0) - { - return P_0.AvailableDuringMsqIds; - } - - static Dictionary _202C_206D_206C_200E_206C_202C_206A_202B_200E_206C_200B_200B_206D_202A_202B_206E_206F_206B_202A_200C_202B_206A_206D_200F_206E_202A_202B_206B_200E_200C_200C_200B_206C_200D_206A_202C_202A_202B_206D_206C_202E(DerivedArrivalFile P_0) - { - return P_0.Arrivals; - } - - static void _200E_202A_206B_202A_200B_202B_202E_202A_200B_206E_206D_206D_206C_206F_200E_200D_202C_202C_200F_206D_200B_206B_202C_206B_206A_202B_206E_202B_200B_206D_206C_206D_202E_202E_200D_202A_200B_206E_202B_206C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static uint _200D_202A_202B_206E_202C_202D_206A_200C_206D_200B_206E_206D_206D_206F_206C_202E_200C_200B_202E_202A_206D_202D_200C_200E_206C_200D_202B_206E_200D_202A_206C_202D_200C_206F_206C_200B_202C_202A_200D_200D_202E(DerivedArrivalEntry P_0) - { - return P_0.PopRangeId; - } - - static ushort _206A_202E_202A_206A_206B_206F_202D_206B_202E_200B_202B_202A_200C_202A_202C_206C_200E_202C_202B_206E_206E_200F_200F_206D_206F_202E_202E_206E_206D_200F_202E_202B_206B_202E_206D_200B_206A_202A_206C_206E_202E(DerivedArrivalEntry P_0) - { - return P_0.TerritoryId; - } - - static float _202B_202C_206E_202A_200E_200B_206C_202E_200F_206A_202A_206C_202A_200E_206C_200E_206B_206A_206F_200B_200E_206B_202D_206C_206B_202C_206E_200B_200C_200F_200C_202E_202E_206F_202A_206E_200B_206E_200C_202A_202E(DerivedArrivalEntry P_0) - { - return P_0.X; - } - - static float _206E_200D_202A_206C_202E_200C_206A_202C_200B_200D_200D_202B_206F_200E_202A_206A_200E_200D_206A_200B_206A_200B_202E_200F_206C_202A_200D_200D_206C_202A_200F_202D_206A_206D_200E_206E_200D_200F_200C_202B_202E(DerivedArrivalEntry P_0) - { - return P_0.Y; - } - - static float _200D_202B_202D_206B_206B_206C_200C_202A_202C_202C_202D_206D_206C_206F_206E_200C_206F_200D_202B_200C_206F_206A_200D_200C_202B_200F_202C_200B_200E_206C_202D_206B_202B_200B_202C_206D_206A_200E_206F_200E_202E(DerivedArrivalEntry P_0) - { - return P_0.Z; - } - - static bool _202D_200C_206F_206C_206F_200D_200D_206C_202A_200F_200F_200F_206F_200E_200F_206C_206A_202A_202B_206F_200C_202D_200E_202D_202A_202C_206F_206F_202B_200F_202C_202C_206E_206E_200C_202E_202A_206B_206A_200D_202E(string P_0) - { - return File.Exists(P_0); - } - - static string _206E_200E_206F_200E_200E_202B_202E_202B_200F_206A_200D_200D_202A_206A_206A_206E_202E_202B_202D_200E_202D_202C_202E_206A_202B_206F_206D_202C_202C_202C_206C_200D_200E_200D_202E_206B_206C_206A_206A_206D_202E(string P_0) - { - return File.ReadAllText(P_0); - } - - static List _206A_202C_206C_202C_200E_200F_202D_206C_200E_200D_206E_200C_206B_200F_202E_202C_206C_200B_202E_200E_206F_206A_206D_202B_202E_206D_206E_202B_206F_202C_206F_206A_200B_200C_206E_200D_206D_206F_202B_206F_202E(WarpDestinationOverrides P_0) - { - return P_0.SkippedWarpIds; - } - - static Dictionary _202C_206A_200C_200D_200F_206C_200C_202B_202A_202B_202B_206E_206D_206D_202C_202E_202D_200D_206F_206E_200B_202A_200E_200E_206B_202D_200B_202A_206C_206C_200D_206F_202A_206B_202B_202E_202E_202D_202E_206B_202E(WarpDestinationOverrides P_0) - { - return P_0.Destinations; - } } diff --git a/SmartNav/SmartNav.Data/ZoneBoundaryDerivation.cs b/SmartNav/SmartNav.Data/ZoneBoundaryDerivation.cs index 154a178..dbd1648 100644 --- a/SmartNav/SmartNav.Data/ZoneBoundaryDerivation.cs +++ b/SmartNav/SmartNav.Data/ZoneBoundaryDerivation.cs @@ -1,9 +1,6 @@ -using System; -using System.Collections; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using Microsoft.Extensions.Logging; using SmartNav.Model.Navigation; @@ -11,910 +8,192 @@ namespace SmartNav.Data; internal static class ZoneBoundaryDerivation { - [Serializable] - [CompilerGenerated] - private sealed class _003C_003Ec - { - public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec(); - - public static Func _003C_003E9__1_1; - - public static Func, (ushort, ushort)> _003C_003E9__1_2; - - public static Func, List> _003C_003E9__1_3; - - public static Func _003C_003E9__1_4; - - public static Func<(float Distance, int GateIdx, int OverrideIdx), float> _003C_003E9__1_5; - - internal (ushort, ushort) _003CApplyOverrides_003Eb__1_1(ZoneBoundary b) - { - return _003CApplyOverrides_003Eg__PairKey_007C1_0(_206D_206F_200D_206F_206B_202C_206B_206C_200F_206E_202A_202E_202B_202E_200D_206A_200D_202A_206A_202D_200D_200B_206E_200F_202C_202D_206A_200F_200C_206C_206B_206C_200B_202D_202C_202C_200C_200C_200C_202E_202E(_200B_202E_206E_206E_206E_202A_202D_202A_202D_206A_206F_202B_200C_206B_206C_200E_206D_202B_200D_200B_202B_206F_206C_202B_206B_200C_206A_206E_202D_200F_206C_200B_206C_200E_202A_202C_202B_206B_200D_202C_202E(b)), _206D_206F_200D_206F_206B_202C_206B_206C_200F_206E_202A_202E_202B_202E_200D_206A_200D_202A_206A_202D_200D_200B_206E_200F_202C_202D_206A_200F_200C_206C_206B_206C_200B_202D_202C_202C_200C_200C_200C_202E_202E(_202B_206C_206B_202E_202D_200C_200F_200C_206D_200C_206F_202B_200F_200C_206E_200C_200E_202E_206E_202B_206E_202A_206A_200D_200D_206B_202D_202D_200D_202E_206D_202E_202E_206C_202D_202E_200C_202E_200C_200F_202E(b))); - } - - internal (ushort, ushort) _003CApplyOverrides_003Eb__1_2(IGrouping<(ushort, ushort), ZoneBoundary> g) - { - return g.Key; - } - - internal List _003CApplyOverrides_003Eb__1_3(IGrouping<(ushort, ushort), ZoneBoundary> g) - { - return g.ToList(); - } - - internal (ushort TerritoryA, ushort TerritoryB) _003CApplyOverrides_003Eb__1_4(ZoneBoundaryPositionOverride o) - { - return (TerritoryA: o.TerritoryA, TerritoryB: o.TerritoryB); - } - - internal float _003CApplyOverrides_003Eb__1_5((float Distance, int GateIdx, int OverrideIdx) c) - { - return c.Distance; - } - - static BoundarySide _200B_202E_206E_206E_206E_202A_202D_202A_202D_206A_206F_202B_200C_206B_206C_200E_206D_202B_200D_200B_202B_206F_206C_202B_206B_200C_206A_206E_202D_200F_206C_200B_206C_200E_202A_202C_202B_206B_200D_202C_202E(ZoneBoundary P_0) - { - return P_0.Side1; - } - - static ushort _206D_206F_200D_206F_206B_202C_206B_206C_200F_206E_202A_202E_202B_202E_200D_206A_200D_202A_206A_202D_200D_200B_206E_200F_202C_202D_206A_200F_200C_206C_206B_206C_200B_202D_202C_202C_200C_200C_200C_202E_202E(BoundarySide P_0) - { - return P_0.TerritoryId; - } - - static BoundarySide _202B_206C_206B_202E_202D_200C_200F_200C_206D_200C_206F_202B_200F_200C_206E_200C_200E_202E_206E_202B_206E_202A_206A_200D_200D_206B_202D_202D_200D_202E_206D_202E_202E_206C_202D_202E_200C_202E_200C_200F_202E(ZoneBoundary P_0) - { - return P_0.Side2; - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public static List Derive(IReadOnlyList exitRanges, IReadOnlyDictionary<(ushort TerritoryId, uint InstanceId), PopRangeEntry> popRangeIndex, ILogger logger) { List list = new List(); HashSet<(ushort, uint)> hashSet = new HashSet<(ushort, uint)>(); List list2 = new List(); - IEnumerator enumerator = exitRanges.GetEnumerator(); - try + foreach (ExitRangeEntry exitRange in exitRanges) { - ExitRangeEntry current = default(ExitRangeEntry); - Vector3? vector = default(Vector3?); - ExitRangeEntry exitRangeEntry = default(ExitRangeEntry); - ExitRangeEntry current2 = default(ExitRangeEntry); - ExitRangeEntry exitRangeEntry2 = default(ExitRangeEntry); - ExitRangeEntry current3 = default(ExitRangeEntry); - PopRangeEntry value2 = default(PopRangeEntry); - float num12 = default(float); - Vector3? vector3 = default(Vector3?); - while (true) + if (hashSet.Contains((exitRange.SourceTerritoryId, exitRange.InstanceId)) || exitRange.DestTerritoryId == 0) { - int num; - if (_202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E((IEnumerator)enumerator)) + continue; + } + Vector3? vector = null; + if (popRangeIndex.TryGetValue((exitRange.DestTerritoryId, exitRange.DestInstanceId), out PopRangeEntry value)) + { + vector = value.Position; + } + ExitRangeEntry exitRangeEntry = null; + foreach (ExitRangeEntry exitRange2 in exitRanges) + { + if (exitRange2.SourceTerritoryId == exitRange.DestTerritoryId && exitRange2.DestTerritoryId == exitRange.SourceTerritoryId && !hashSet.Contains((exitRange2.SourceTerritoryId, exitRange2.InstanceId)) && ((exitRange2.DestInstanceId != 0 && exitRange2.DestInstanceId == exitRange.ReturnInstanceId) || (exitRange.DestInstanceId != 0 && exitRange.DestInstanceId == exitRange2.ReturnInstanceId) || (exitRange2.ReturnInstanceId != 0 && exitRange2.ReturnInstanceId == exitRange.InstanceId))) { - current = enumerator.Current; - if (hashSet.Contains((current.SourceTerritoryId, current.InstanceId)) || current.DestTerritoryId == 0) + exitRangeEntry = exitRange2; + break; + } + } + if (exitRangeEntry == null) + { + float num = float.MaxValue; + ExitRangeEntry exitRangeEntry2 = null; + foreach (ExitRangeEntry exitRange3 in exitRanges) + { + if (exitRange3.SourceTerritoryId != exitRange.DestTerritoryId || exitRange3.DestTerritoryId != exitRange.SourceTerritoryId || hashSet.Contains((exitRange3.SourceTerritoryId, exitRange3.InstanceId))) { continue; } - vector = null; - if (popRangeIndex.TryGetValue((current.DestTerritoryId, current.DestInstanceId), out PopRangeEntry value)) + if (popRangeIndex.TryGetValue((exitRange.SourceTerritoryId, exitRange3.DestInstanceId), out PopRangeEntry value2)) { - vector = value.Position; - } - exitRangeEntry = null; - IEnumerator enumerator2 = exitRanges.GetEnumerator(); - try - { - num = 2034045205; - while (true) + float num2 = Vector3.Distance(exitRange.SourcePosition, value2.Position); + if (num2 < num) { - int num2 = num; - int num3 = 2034045207; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 10: - num = 2034045205; - break; - case 9: - num = ((current2.DestInstanceId == 0) ? 2034045207 : 2034045215); - break; - case 6: - num = ((current2.ReturnInstanceId == 0) ? 2034045205 : 2034045202); - break; - case 0: - num = ((current.DestInstanceId == 0) ? 2034045201 : 2034045211); - break; - case 8: - num = ((current2.DestInstanceId == current.ReturnInstanceId) ? 2034045212 : 2034045207); - break; - case 5: - num = ((current2.ReturnInstanceId != current.InstanceId) ? 2034045205 : 2034045212); - break; - case 4: - num = ((current2.DestTerritoryId != current.SourceTerritoryId) ? 2034045205 : 2034045204); - break; - case 7: - current2 = enumerator2.Current; - num = ((current2.SourceTerritoryId != current.DestTerritoryId) ? 2034045205 : 2034045203); - break; - case 3: - num = (hashSet.Contains((current2.SourceTerritoryId, current2.InstanceId)) ? 2034045205 : 2034045214); - break; - case 2: - num = (_202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E((IEnumerator)enumerator2) ? 2034045200 : 2034045206); - break; - case 11: - exitRangeEntry = current2; - goto end_IL_009f; - case 12: - num = ((current.DestInstanceId == current2.ReturnInstanceId) ? 2034045212 : 2034045201); - break; - case 1: - goto end_IL_009f; - } - continue; - end_IL_009f: - break; + num = num2; + exitRangeEntry = exitRange3; } } - finally + else if ((object)exitRangeEntry2 == null) { - num = ((enumerator2 == null) ? 704950987 : 704950984); - while (true) - { - int num7 = num; - int num3 = 704950985; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 704950984; - break; - case 1: - _206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E((IDisposable)enumerator2); - num = 704950987; - break; - case 2: - goto end_IL_02e0; - } - continue; - end_IL_02e0: - break; - } + exitRangeEntry2 = exitRange3; } - if (!(exitRangeEntry == null)) - { - goto IL_07b3; - } - float num8 = float.MaxValue; - exitRangeEntry2 = null; - enumerator2 = exitRanges.GetEnumerator(); - try - { - num = 1641010271; - while (true) - { - int num9 = num; - int num3 = 1641010266; - int num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 6: - num = ((!popRangeIndex.TryGetValue((current.SourceTerritoryId, current3.DestInstanceId), out value2)) ? 1641010256 : 1641010267); - break; - case 4: - current3 = enumerator2.Current; - num = ((current3.SourceTerritoryId != current.DestTerritoryId) ? 1641010271 : 1641010258); - break; - case 5: - num = (_202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E((IEnumerator)enumerator2) ? 1641010270 : 1641010269); - break; - case 1: - num12 = Vector3.Distance(current.SourcePosition, value2.Position); - num = ((!(num12 < num8)) ? 1641010271 : 1641010259); - break; - case 0: - num = 1641010271; - break; - case 2: - exitRangeEntry2 = current3; - num = 1641010271; - break; - case 3: - num = (hashSet.Contains((current3.SourceTerritoryId, current3.InstanceId)) ? 1641010271 : 1641010268); - break; - case 10: - num = (((object)exitRangeEntry2 != null) ? 1641010271 : 1641010264); - break; - case 8: - num = ((current3.DestTerritoryId != current.SourceTerritoryId) ? 1641010271 : 1641010265); - break; - case 9: - num8 = num12; - exitRangeEntry = current3; - num = 1641010271; - break; - case 7: - goto end_IL_0357; - } - continue; - end_IL_0357: - break; - } - } - finally - { - num = ((enumerator2 == null) ? (-564357358) : (-564357359)); - while (true) - { - int num13 = num; - int num3 = -564357357; - int num4 = num13; - int num14 = num4 + num3; - int num15 = num4 & num3; - switch (num14 - (num15 + num15)) - { - case 0: - num = -564357359; - break; - case 1: - goto end_IL_053f; - case 2: - _206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E((IDisposable)enumerator2); - num = -564357358; - break; - } - continue; - end_IL_053f: - break; - } - } - num = (((object)exitRangeEntry != null) ? (-267048228) : (-267048233)); } - else + if ((object)exitRangeEntry == null) { - num = -267048227; + exitRangeEntry = exitRangeEntry2; } - goto IL_05ac; - IL_07b3: - num = (((object)exitRangeEntry != null) ? (-267048226) : (-267048232)); - goto IL_05ac; - IL_05ac: - while (true) - { - int num16 = num; - int num3 = -267048226; - int num4 = num16; - Vector3? vector2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = -267048233; - break; - case 6: - vector2 = vector; - goto IL_061f; - case 0: - vector2 = exitRangeEntry.SourcePosition; - goto IL_061f; - case 7: - list2.Add(current); - num = -267048234; - break; - case 1: - goto IL_0659; - case 8: - goto end_IL_05ac; - case 2: - goto IL_07b3; - case 9: - exitRangeEntry = exitRangeEntry2; - num = -267048228; - break; - case 5: - hashSet.Add((exitRangeEntry.SourceTerritoryId, exitRangeEntry.InstanceId)); - num = -267048234; - break; - case 3: - goto end_IL_079b; - IL_061f: - vector3 = vector2; - num = (vector3.HasValue ? (-267048225) : (-267048231)); - break; - } - continue; - IL_0659: - ZoneBoundary zoneBoundary = _202E_200D_206B_202D_206A_206B_200F_202B_200B_206D_202C_206E_206F_206B_206B_202C_202E_202A_202B_200D_200B_200E_202A_202A_206F_202C_206F_206B_200C_200C_200C_206C_200B_202D_200D_206F_202D_200F_200B_206C_202E(); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(6, 3); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-1989489141)); - defaultInterpolatedStringHandler.AppendFormatted(current.SourceTerritoryId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-642304930)); - defaultInterpolatedStringHandler.AppendFormatted(current.DestTerritoryId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-493592002)); - defaultInterpolatedStringHandler.AppendFormatted(current.InstanceId); - _202D_202C_206F_206A_202B_200E_206C_206C_206F_202B_202B_206B_206D_206F_206A_202E_202D_206A_200F_200B_206E_200B_200D_206C_206B_202C_202B_206D_206B_206A_202B_206E_202B_202E_202D_200E_200D_206A_200B_206B_202E(zoneBoundary, defaultInterpolatedStringHandler.ToStringAndClear()); - BoundarySide boundarySide = _202A_202A_202B_206F_200B_200B_206A_206F_206A_202A_206A_200B_200B_200F_202B_206C_200C_206F_200B_206C_200E_200B_202A_200E_200C_200C_202A_200D_206F_206C_202D_202E_202B_202C_200B_200E_206B_202D_202D_206F_202E(); - _202A_202A_200F_206F_206B_206B_206D_206B_200B_200B_206F_200D_206F_202D_200B_200F_202D_206A_202A_200B_206A_200F_206A_200B_200C_200B_202A_200C_206F_200C_200C_200C_202D_200F_200C_202E_202A_200D_202A_202A_202E(boundarySide, current.SourceTerritoryId); - _200C_202D_200E_202A_202C_206D_200D_202C_200D_202E_202E_206B_206D_202E_202B_206A_200E_202A_202B_200F_202C_206C_206B_200B_200B_200D_202A_206A_206A_202E_200F_206B_206C_202E_200C_206A_200D_202A_202C_200D_202E(boundarySide, current.SourcePosition); - _200C_206F_200C_202B_206A_202A_206E_200F_202E_200E_202A_200D_200B_202D_200B_202A_202B_206B_206A_200B_206F_202C_202C_202C_202C_206D_202E_202E_200B_202A_206E_202B_206B_206A_202C_202E_202E_206F_206E_200F_202E(boundarySide, TriggerOf(current)); - _206E_206D_200C_200F_202C_202D_200F_206F_200D_206E_202E_202B_200D_206E_202D_200D_200B_202B_202B_202E_202E_200F_206F_200C_202A_200B_206B_202E_206A_202C_202D_206E_206F_202E_200F_200B_202D_206A_206C_200C_202E(zoneBoundary, boundarySide); - BoundarySide boundarySide2 = _202A_202A_202B_206F_200B_200B_206A_206F_206A_202A_206A_200B_200B_200F_202B_206C_200C_206F_200B_206C_200E_200B_202A_200E_200C_200C_202A_200D_206F_206C_202D_202E_202B_202C_200B_200E_206B_202D_202D_206F_202E(); - _202A_202A_200F_206F_206B_206B_206D_206B_200B_200B_206F_200D_206F_202D_200B_200F_202D_206A_202A_200B_206A_200F_206A_200B_200C_200B_202A_200C_206F_200C_200C_200C_202D_200F_200C_202E_202A_200D_202A_202A_202E(boundarySide2, current.DestTerritoryId); - _200C_202D_200E_202A_202C_206D_200D_202C_200D_202E_202E_206B_206D_202E_202B_206A_200E_202A_202B_200F_202C_206C_206B_200B_200B_200D_202A_206A_206A_202E_200F_206B_206C_202E_200C_206A_200D_202A_202C_200D_202E(boundarySide2, vector3.Value); - _200C_206F_200C_202B_206A_202A_206E_200F_202E_200E_202A_200D_200B_202D_200B_202A_202B_206B_206A_200B_206F_202C_202C_202C_202C_206D_202E_202E_200B_202A_206E_202B_206B_206A_202C_202E_202E_206F_206E_200F_202E(boundarySide2, (exitRangeEntry == null) ? null : TriggerOf(exitRangeEntry)); - _206C_202E_202B_200D_202A_200C_200C_206A_200C_202C_206E_206A_200C_206F_206B_206E_206B_206E_206E_206E_206A_200E_200E_206D_206C_206F_200D_202A_202D_200E_202A_200C_200B_206E_200C_206C_200B_206A_200C_202A_202E(zoneBoundary, boundarySide2); - _202D_202D_206F_202D_206F_202C_206C_202C_206D_206D_202C_206D_200B_206E_206A_202E_206E_202B_202A_206D_202E_206F_202D_200F_200D_206C_202B_200C_206A_206E_202C_206F_202D_202D_200F_202E_200C_202B_200F_200F_202E(zoneBoundary, exitRangeEntry == null); - list.Add(zoneBoundary); - hashSet.Add((current.SourceTerritoryId, current.InstanceId)); - num = ((!(exitRangeEntry != null)) ? (-267048234) : (-267048229)); - continue; - end_IL_05ac: - break; - } - continue; - end_IL_079b: - break; } - } - finally - { - int num = ((enumerator == null) ? (-1091399177) : (-1091399180)); - while (true) + Vector3? vector2 = (((object)exitRangeEntry != null) ? new Vector3?(exitRangeEntry.SourcePosition) : vector); + if (!vector2.HasValue) { - int num17 = num; - int num3 = -1091399178; - int num4 = num17; - int num18 = num4 + num3; - int num19 = num4 & num3; - switch (num18 - (num19 + num19)) - { - case 0: - num = -1091399180; - break; - case 2: - _206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E((IDisposable)enumerator); - num = -1091399177; - break; - case 1: - goto end_IL_082c; - } + list2.Add(exitRange); continue; - end_IL_082c: - break; + } + list.Add(new ZoneBoundary + { + Id = $"lgb-{exitRange.SourceTerritoryId}-{exitRange.DestTerritoryId}-{exitRange.InstanceId}", + Side1 = new BoundarySide + { + TerritoryId = exitRange.SourceTerritoryId, + Position = exitRange.SourcePosition, + Trigger = TriggerOf(exitRange) + }, + Side2 = new BoundarySide + { + TerritoryId = exitRange.DestTerritoryId, + Position = vector2.Value, + Trigger = ((exitRangeEntry == null) ? null : TriggerOf(exitRangeEntry)) + }, + OneWay = (exitRangeEntry == null) + }); + hashSet.Add((exitRange.SourceTerritoryId, exitRange.InstanceId)); + if (exitRangeEntry != null) + { + hashSet.Add((exitRangeEntry.SourceTerritoryId, exitRangeEntry.InstanceId)); } } HashSet<(ushort, ushort)> hashSet2 = new HashSet<(ushort, ushort)>(); - using (List.Enumerator enumerator3 = list.GetEnumerator()) + foreach (ZoneBoundary item in list) { - int num = 1178177588; - while (true) + hashSet2.Add((item.Side1.TerritoryId, item.Side2.TerritoryId)); + hashSet2.Add((item.Side2.TerritoryId, item.Side1.TerritoryId)); + } + foreach (ExitRangeEntry item2 in list2) + { + if (hashSet2.Contains((item2.SourceTerritoryId, item2.DestTerritoryId))) { - int num20 = num; - int num3 = 1178177589; - int num4 = num20; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = 1178177588; - break; - case 2: - { - ZoneBoundary current4 = enumerator3.Current; - hashSet2.Add((_202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(current4)), _202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(current4)))); - hashSet2.Add((_202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(current4)), _202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(current4)))); - num = 1178177588; - break; - } - case 1: - num = (enumerator3.MoveNext() ? 1178177591 : 1178177589); - break; - case 0: - goto end_IL_0894; - } - continue; - end_IL_0894: - break; - } - } - using List.Enumerator enumerator4 = list2.GetEnumerator(); - int num = -784506281; - ExitRangeEntry current5 = default(ExitRangeEntry); - while (true) - { - int num21 = num; - int num3 = -784506286; - int num4 = num21; - int num22 = num4 + num3; - int num23 = num4 & num3; - switch (num22 - (num23 + num23)) - { - case 2: - _200D_206A_206E_206E_202D_206D_206C_202A_200E_202B_200D_200E_206A_200C_202E_206D_202E_200B_200B_206A_200B_206D_206E_202E_200D_202C_200E_200B_200B_206F_206E_206E_200F_202D_200B_200B_206E_206F_206C_202B_202E(logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(1622363206), new object[4] { current5.InstanceId, current5.SourceTerritoryId, current5.DestTerritoryId, current5.DestInstanceId }); - num = -784506281; - break; - case 5: - num = (enumerator4.MoveNext() ? (-784506285) : (-784506287)); - break; - case 1: - current5 = enumerator4.Current; - num = ((!hashSet2.Contains((current5.SourceTerritoryId, current5.DestTerritoryId))) ? (-784506288) : (-784506282)); - break; - case 0: - num = -784506281; - break; - case 4: - _202D_200E_200D_200C_206C_200C_200E_202E_206E_202A_200B_200C_206A_200E_206B_200C_200E_200C_200B_206E_206A_206D_202E_200B_200B_202B_202D_206D_202E_202A_202C_200C_206F_202E_206C_202D_202D_206F_206E_206F_202E(logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-566963400), new object[3] { current5.InstanceId, current5.SourceTerritoryId, current5.DestTerritoryId }); - num = -784506281; - break; - case 3: - return list; + logger.LogDebug("Skipped redundant unresolvable ExitRange {InstanceId} in territory {SrcTerritory} -> {DestTerritory}", item2.InstanceId, item2.SourceTerritoryId, item2.DestTerritoryId); + } + else + { + logger.LogWarning("ExitRange {InstanceId} in territory {SrcTerritory} -> {DestTerritory}: could not resolve destination position (DestInstanceId={DestId})", item2.InstanceId, item2.SourceTerritoryId, item2.DestTerritoryId, item2.DestInstanceId); } } + return list; } - [MethodImpl(MethodImplOptions.NoInlining)] public static void ApplyOverrides(List boundaries, IReadOnlyCollection<(ushort TerritoryA, ushort TerritoryB)> flyingPairs, IReadOnlyList positionOverrides, ILogger logger) { HashSet<(ushort, ushort)> hashSet = new HashSet<(ushort, ushort)>(flyingPairs); - int num; - using (List.Enumerator enumerator = boundaries.GetEnumerator()) + foreach (ZoneBoundary boundary in boundaries) { - num = -1561912476; - ZoneBoundary current = default(ZoneBoundary); - while (true) + if (hashSet.Contains(PairKey(boundary.Side1.TerritoryId, boundary.Side2.TerritoryId))) { - int num2 = num; - int num3 = -1561912474; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _206D_200F_200E_202B_202D_200F_206D_200C_200C_200E_206E_202C_202D_206A_206C_200F_200E_206C_206A_206F_206A_200C_206E_206D_202B_206F_200C_206E_200C_202A_202C_206A_200D_206C_200C_206B_200D_202A_200C_206E_202E(current, true); - num = -1561912476; - break; - case 1: - current = enumerator.Current; - num = ((!hashSet.Contains(PairKey(_202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(current)), _202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(current))))) ? (-1561912476) : (-1561912474)); - break; - case 2: - num = (enumerator.MoveNext() ? (-1561912473) : (-1561912475)); - break; - case 4: - num = -1561912476; - break; - case 3: - goto end_IL_001a; - } - continue; - end_IL_001a: - break; + boundary.RequiresFlying = true; } } Dictionary<(ushort, ushort), List> dictionary = (from b in boundaries - group b by PairKey(_003C_003Ec._206D_206F_200D_206F_206B_202C_206B_206C_200F_206E_202A_202E_202B_202E_200D_206A_200D_202A_206A_202D_200D_200B_206E_200F_202C_202D_206A_200F_200C_206C_206B_206C_200B_202D_202C_202C_200C_200C_200C_202E_202E(_003C_003Ec._200B_202E_206E_206E_206E_202A_202D_202A_202D_206A_206F_202B_200C_206B_206C_200E_206D_202B_200D_200B_202B_206F_206C_202B_206B_200C_206A_206E_202D_200F_206C_200B_206C_200E_202A_202C_202B_206B_200D_202C_202E(b)), _003C_003Ec._206D_206F_200D_206F_206B_202C_206B_206C_200F_206E_202A_202E_202B_202E_200D_206A_200D_202A_206A_202D_200D_200B_206E_200F_202C_202D_206A_200F_200C_206C_206B_206C_200B_202D_202C_202C_200C_200C_200C_202E_202E(_003C_003Ec._202B_206C_206B_202E_202D_200C_200F_200C_206D_200C_206F_202B_200F_200C_206E_200C_200E_202E_206E_202B_206E_202A_206A_200D_200D_206B_202D_202D_200D_202E_206D_202E_202E_206C_202D_202E_200C_202E_200C_200F_202E(b)))).ToDictionary((IGrouping<(ushort, ushort), ZoneBoundary> g) => g.Key, (IGrouping<(ushort, ushort), ZoneBoundary> g) => g.ToList()); - int num7 = 0; - IEnumerator> enumerator2 = (from o in positionOverrides - group o by (TerritoryA: o.TerritoryA, TerritoryB: o.TerritoryB)).GetEnumerator(); - try + group b by PairKey(b.Side1.TerritoryId, b.Side2.TerritoryId)).ToDictionary((IGrouping<(ushort, ushort), ZoneBoundary> g) => g.Key, (IGrouping<(ushort, ushort), ZoneBoundary> g) => g.ToList()); + int num = 0; + foreach (IGrouping<(ushort, ushort), ZoneBoundaryPositionOverride> item in from o in positionOverrides + group o by (TerritoryA: o.TerritoryA, TerritoryB: o.TerritoryB)) { - List list = default(List); - bool[] array2 = default(bool[]); - (float, int, int) current3 = default((float, int, int)); - int num14 = default(int); - while (true) + List list = item.ToList(); + if (!dictionary.TryGetValue(item.Key, out var value)) { - IL_0519: - if (_202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E((IEnumerator)enumerator2)) - { - IGrouping<(ushort, ushort), ZoneBoundaryPositionOverride> current2 = enumerator2.Current; - list = current2.ToList(); - if (!dictionary.TryGetValue(current2.Key, out var value)) - { - num7 += list.Count; - _200D_206A_206E_206E_202D_206D_206C_202A_200E_202B_200D_200E_206A_200C_202E_206D_202E_200B_200B_206A_200B_206D_206E_202E_200D_202C_200E_200B_200B_206F_206E_206E_200F_202D_200B_200B_206E_206F_206C_202B_202E(logger, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-1356546708), new object[3] - { - current2.Key.Item1, - current2.Key.Item2, - list.Count - }); - continue; - } - List<(float, int, int)> list2 = new List<(float, int, int)>(); - int num8 = 0; - while (num8 < value.Count) - { - int num3; - int num4; - for (int num9 = 0; num9 < list.Count; num9 = (num4 | num3) + (num4 & num3)) - { - list2.Add((OverrideDistance(value[num8], list[num9]), num8, num9)); - int num10 = num9; - num3 = 1; - num4 = num10; - } - int num11 = num8; - num3 = 1; - num4 = num11; - num8 = (num4 | num3) + (num4 & num3); - } - bool[] array = new bool[value.Count]; - array2 = new bool[list.Count]; - IEnumerator<(float, int, int)> enumerator3 = list2.OrderBy<(float, int, int), float>(((float Distance, int GateIdx, int OverrideIdx) c) => c.Distance).GetEnumerator(); - try - { - num = -397486009; - while (true) - { - int num12 = num; - int num3 = -397486013; - int num4 = num12; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = -397486009; - break; - case 5: - num = (array2[current3.Item3] ? (-397486009) : (-397486015)); - break; - case 4: - num = (_202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E((IEnumerator)enumerator3) ? (-397486014) : (-397486013)); - break; - case 2: - { - array[current3.Item2] = true; - array2[current3.Item3] = true; - ZoneBoundary zoneBoundary = value[current3.Item2]; - ZoneBoundaryPositionOverride zoneBoundaryPositionOverride = list[current3.Item3]; - bool flag = _202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(zoneBoundary)) == zoneBoundaryPositionOverride.TerritoryA; - _200C_202D_200E_202A_202C_206D_200D_202C_200D_202E_202E_206B_206D_202E_202B_206A_200E_202A_202B_200F_202C_206C_206B_200B_200B_200D_202A_206A_206A_202E_200F_206B_206C_202E_200C_206A_200D_202A_202C_200D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(zoneBoundary), flag ? zoneBoundaryPositionOverride.PositionA : zoneBoundaryPositionOverride.PositionB); - _200C_202D_200E_202A_202C_206D_200D_202C_200D_202E_202E_206B_206D_202E_202B_206A_200E_202A_202B_200F_202C_206C_206B_200B_200B_200D_202A_206A_206A_202E_200F_206B_206C_202E_200C_206A_200D_202A_202C_200D_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(zoneBoundary), flag ? zoneBoundaryPositionOverride.PositionB : zoneBoundaryPositionOverride.PositionA); - num = -397486009; - break; - } - case 1: - current3 = enumerator3.Current; - num = (array[current3.Item2] ? (-397486009) : (-397486010)); - break; - case 0: - goto end_IL_02f4; - } - continue; - end_IL_02f4: - break; - } - } - finally - { - num = ((enumerator3 == null) ? 386803249 : 386803248); - while (true) - { - int num13 = num; - int num3 = 386803249; - int num4 = num13; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 386803248; - break; - case 0: - goto end_IL_0476; - case 1: - _206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E((IDisposable)enumerator3); - num = 386803249; - break; - } - continue; - end_IL_0476: - break; - } - } - num14 = 0; - num = -1707302670; - } - else - { - num = -1707302671; - } - while (true) - { - int num15 = num; - int num3 = -1707302671; - int num4 = num15; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 5: - num = -1707302670; - continue; - case 2: - break; - case 1: - { - int num19 = num14; - num3 = 1; - num4 = num19; - int num20 = num4 ^ num3; - int num21 = num4 & num3; - num14 = num20 + (num21 + num21); - num = -1707302670; - continue; - } - case 4: - num = (array2[num14] ? (-1707302672) : (-1707302665)); - continue; - case 3: - num = ((num14 < list.Count) ? (-1707302667) : (-1707302669)); - continue; - case 6: - { - int num16 = num7; - num3 = 1; - num4 = num16; - int num17 = num4 ^ num3; - int num18 = num4 & num3; - num7 = num17 + (num18 + num18); - num = -1707302672; - continue; - } - case 0: - goto end_IL_04d1; - } - goto IL_0519; - continue; - end_IL_04d1: - break; - } - break; - } - } - finally - { - num = ((enumerator2 == null) ? (-284585100) : (-284585099)); - while (true) - { - int num22 = num; - int num3 = -284585100; - int num4 = num22; - int num23 = num4 + num3; - int num24 = num4 & num3; - switch (num23 - (num24 + num24)) - { - case 0: - goto end_IL_05df; - case 1: - _206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E((IDisposable)enumerator2); - num = -284585100; - break; - case 2: - num = -284585099; - break; - } + num += list.Count; + logger.LogWarning("No derived boundary for override pair {TerritoryA}<->{TerritoryB} ({Count} overrides) - game data drift?", item.Key.Item1, item.Key.Item2, list.Count); continue; - end_IL_05df: - break; + } + List<(float, int, int)> list2 = new List<(float, int, int)>(); + for (int num2 = 0; num2 < value.Count; num2++) + { + for (int num3 = 0; num3 < list.Count; num3++) + { + list2.Add((OverrideDistance(value[num2], list[num3]), num2, num3)); + } + } + bool[] array = new bool[value.Count]; + bool[] array2 = new bool[list.Count]; + foreach (var item2 in list2.OrderBy<(float, int, int), float>(((float Distance, int GateIdx, int OverrideIdx) c) => c.Distance)) + { + if (!array[item2.Item2] && !array2[item2.Item3]) + { + array[item2.Item2] = true; + array2[item2.Item3] = true; + ZoneBoundary zoneBoundary = value[item2.Item2]; + ZoneBoundaryPositionOverride zoneBoundaryPositionOverride = list[item2.Item3]; + bool flag = zoneBoundary.Side1.TerritoryId == zoneBoundaryPositionOverride.TerritoryA; + zoneBoundary.Side1.Position = (flag ? zoneBoundaryPositionOverride.PositionA : zoneBoundaryPositionOverride.PositionB); + zoneBoundary.Side2.Position = (flag ? zoneBoundaryPositionOverride.PositionB : zoneBoundaryPositionOverride.PositionA); + } + } + for (int num4 = 0; num4 < list.Count; num4++) + { + if (!array2[num4]) + { + num++; + } } } - num = ((num7 <= 0) ? 1969313430 : 1969313429); - while (true) + if (num > 0) { - int num25 = num; - int num3 = 1969313428; - int num4 = num25; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1969313429; - break; - case 2: - return; - case 1: - _200D_206A_206E_206E_202D_206D_206C_202A_200E_202B_200D_200E_206A_200C_202E_206D_202E_200B_200B_206A_200B_206D_206E_202E_200D_202C_200E_200B_200B_206F_206E_206E_200F_202D_200B_200B_206E_206F_206C_202B_202E(logger, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-1309944593), new object[1] { num7 }); - num = 1969313430; - break; - } + logger.LogWarning("{Count} position overrides had no gate to attach to", num); } static (ushort, ushort) PairKey(ushort a, ushort b) { - int num26 = ((a <= b) ? 1834815279 : 1834815278); - while (true) + if (a > b) { - int num27 = num26; - int num28 = 1834815279; - int num29 = num27; - int num30 = num29 + num28; - int num31 = num29 & num28; - switch (num30 - (num31 + num31)) - { - case 2: - goto IL_0044; - case 1: - return (b, a); - case 0: - return (a, b); - } - continue; - IL_0044: - num26 = 1834815278; + return (b, a); } + return (a, b); } } private static TriggerBox? TriggerOf(ExitRangeEntry exit) { - int num = ((exit.HalfExtents == Vector3.Zero) ? 1355373667 : 1355373664); - while (true) + if (!(exit.HalfExtents == Vector3.Zero)) { - int num2 = num; - int num3 = 1355373666; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0052; - case 1: - return null; - case 2: - return _202A_200B_206C_200F_202B_206B_200C_202D_202D_202D_200B_206E_206F_202C_206F_206D_202B_200E_206A_206D_206A_206A_206C_206C_202E_202D_202C_206B_206B_200C_202A_206A_202B_200B_206E_206A_206A_202C_200C_200D_202E(exit.SourcePosition, exit.Rotation, exit.HalfExtents); - } - continue; - IL_0052: - num = 1355373664; + return new TriggerBox(exit.SourcePosition, exit.Rotation, exit.HalfExtents); } + return null; } private static float OverrideDistance(ZoneBoundary gate, ZoneBoundaryPositionOverride ovr) { - int num = ((_202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(gate)) == ovr.TerritoryA) ? (-1856097741) : (-1856097744)); - while (true) + if (gate.Side1.TerritoryId != ovr.TerritoryA) { - int num2 = num; - int num3 = -1856097743; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0053; - case 1: - return Vector3.Distance(_202B_200F_206F_202D_200E_206B_206F_206F_202B_200D_202B_202D_202B_202A_206E_206E_200F_206E_206A_206E_202D_200D_202B_206F_200F_206C_200E_206D_200F_202E_206C_202C_200F_202E_206F_200B_200E_206C_206E_202C_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(gate)), ovr.PositionB) + Vector3.Distance(_202B_200F_206F_202D_200E_206B_206F_206F_202B_200D_202B_202D_202B_202A_206E_206E_200F_206E_206A_206E_202D_200D_202B_206F_200F_206C_200E_206D_200F_202E_206C_202C_200F_202E_206F_200B_200E_206C_206E_202C_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(gate)), ovr.PositionA); - case 2: - return Vector3.Distance(_202B_200F_206F_202D_200E_206B_206F_206F_202B_200D_202B_202D_202B_202A_206E_206E_200F_206E_206A_206E_202D_200D_202B_206F_200F_206C_200E_206D_200F_202E_206C_202C_200F_202E_206F_200B_200E_206C_206E_202C_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(gate)), ovr.PositionA) + Vector3.Distance(_202B_200F_206F_202D_200E_206B_206F_206F_202B_200D_202B_202D_202B_202A_206E_206E_200F_206E_206A_206E_202D_200D_202B_206F_200F_206C_200E_206D_200F_202E_206C_202C_200F_202E_206F_200B_200E_206C_206E_202C_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(gate)), ovr.PositionB); - } - continue; - IL_0053: - num = -1856097744; + return Vector3.Distance(gate.Side1.Position, ovr.PositionB) + Vector3.Distance(gate.Side2.Position, ovr.PositionA); } - } - - [CompilerGenerated] - internal static (ushort, ushort) _003CApplyOverrides_003Eg__PairKey_007C1_0(ushort a, ushort b) - { - int num = ((a <= b) ? 1834815279 : 1834815278); - while (true) - { - int num2 = num; - int num3 = 1834815279; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0044; - case 1: - return (b, a); - case 0: - return (a, b); - } - continue; - IL_0044: - num = 1834815278; - } - } - - static bool _202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static ZoneBoundary _202E_200D_206B_202D_206A_206B_200F_202B_200B_206D_202C_206E_206F_206B_206B_202C_202E_202A_202B_200D_200B_200E_202A_202A_206F_202C_206F_206B_200C_200C_200C_206C_200B_202D_200D_206F_202D_200F_200B_206C_202E() - { - return new ZoneBoundary(); - } - - static void _202D_202C_206F_206A_202B_200E_206C_206C_206F_202B_202B_206B_206D_206F_206A_202E_202D_206A_200F_200B_206E_200B_200D_206C_206B_202C_202B_206D_206B_206A_202B_206E_202B_202E_202D_200E_200D_206A_200B_206B_202E(ZoneBoundary P_0, string P_1) - { - P_0.Id = P_1; - } - - static BoundarySide _202A_202A_202B_206F_200B_200B_206A_206F_206A_202A_206A_200B_200B_200F_202B_206C_200C_206F_200B_206C_200E_200B_202A_200E_200C_200C_202A_200D_206F_206C_202D_202E_202B_202C_200B_200E_206B_202D_202D_206F_202E() - { - return new BoundarySide(); - } - - static void _202A_202A_200F_206F_206B_206B_206D_206B_200B_200B_206F_200D_206F_202D_200B_200F_202D_206A_202A_200B_206A_200F_206A_200B_200C_200B_202A_200C_206F_200C_200C_200C_202D_200F_200C_202E_202A_200D_202A_202A_202E(BoundarySide P_0, ushort P_1) - { - P_0.TerritoryId = P_1; - } - - static void _200C_202D_200E_202A_202C_206D_200D_202C_200D_202E_202E_206B_206D_202E_202B_206A_200E_202A_202B_200F_202C_206C_206B_200B_200B_200D_202A_206A_206A_202E_200F_206B_206C_202E_200C_206A_200D_202A_202C_200D_202E(BoundarySide P_0, Vector3 P_1) - { - P_0.Position = P_1; - } - - static void _200C_206F_200C_202B_206A_202A_206E_200F_202E_200E_202A_200D_200B_202D_200B_202A_202B_206B_206A_200B_206F_202C_202C_202C_202C_206D_202E_202E_200B_202A_206E_202B_206B_206A_202C_202E_202E_206F_206E_200F_202E(BoundarySide P_0, TriggerBox P_1) - { - P_0.Trigger = P_1; - } - - static void _206E_206D_200C_200F_202C_202D_200F_206F_200D_206E_202E_202B_200D_206E_202D_200D_200B_202B_202B_202E_202E_200F_206F_200C_202A_200B_206B_202E_206A_202C_202D_206E_206F_202E_200F_200B_202D_206A_206C_200C_202E(ZoneBoundary P_0, BoundarySide P_1) - { - P_0.Side1 = P_1; - } - - static void _206C_202E_202B_200D_202A_200C_200C_206A_200C_202C_206E_206A_200C_206F_206B_206E_206B_206E_206E_206E_206A_200E_200E_206D_206C_206F_200D_202A_202D_200E_202A_200C_200B_206E_200C_206C_200B_206A_200C_202A_202E(ZoneBoundary P_0, BoundarySide P_1) - { - P_0.Side2 = P_1; - } - - static void _202D_202D_206F_202D_206F_202C_206C_202C_206D_206D_202C_206D_200B_206E_206A_202E_206E_202B_202A_206D_202E_206F_202D_200F_200D_206C_202B_200C_206A_206E_202C_206F_202D_202D_200F_202E_200C_202B_200F_200F_202E(ZoneBoundary P_0, bool P_1) - { - P_0.OneWay = P_1; - } - - static BoundarySide _206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(ZoneBoundary P_0) - { - return P_0.Side1; - } - - static ushort _202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(BoundarySide P_0) - { - return P_0.TerritoryId; - } - - static BoundarySide _206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(ZoneBoundary P_0) - { - return P_0.Side2; - } - - static void _202D_200E_200D_200C_206C_200C_200E_202E_206E_202A_200B_200C_206A_200E_206B_200C_200E_200C_200B_206E_206A_206D_202E_200B_200B_202B_202D_206D_202E_202A_202C_200C_206F_202E_206C_202D_202D_206F_206E_206F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static void _200D_206A_206E_206E_202D_206D_206C_202A_200E_202B_200D_200E_206A_200C_202E_206D_202E_200B_200B_206A_200B_206D_206E_202E_200D_202C_200E_200B_200B_206F_206E_206E_200F_202D_200B_200B_206E_206F_206C_202B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static void _206D_200F_200E_202B_202D_200F_206D_200C_200C_200E_206E_202C_202D_206A_206C_200F_200E_206C_206A_206F_206A_200C_206E_206D_202B_206F_200C_206E_200C_202A_202C_206A_200D_206C_200C_206B_200D_202A_200C_206E_202E(ZoneBoundary P_0, bool P_1) - { - P_0.RequiresFlying = P_1; - } - - static TriggerBox _202A_200B_206C_200F_202B_206B_200C_202D_202D_202D_200B_206E_206F_202C_206F_206D_202B_200E_206A_206D_206A_206A_206C_206C_202E_202D_202C_206B_206B_200C_202A_206A_202B_200B_206E_206A_206A_202C_200C_200D_202E(Vector3 P_0, Vector3 P_1, Vector3 P_2) - { - return new TriggerBox(P_0, P_1, P_2); - } - - static Vector3 _202B_200F_206F_202D_200E_206B_206F_206F_202B_200D_202B_202D_202B_202A_206E_206E_200F_206E_206A_206E_202D_200D_202B_206F_200F_206C_200E_206D_200F_202E_206C_202C_200F_202E_206F_200B_200E_206C_206E_202C_202E(BoundarySide P_0) - { - return P_0.Position; + return Vector3.Distance(gate.Side1.Position, ovr.PositionA) + Vector3.Distance(gate.Side2.Position, ovr.PositionB); } } diff --git a/SmartNav/SmartNav.Data/ZoneBoundaryPositionOverride.cs b/SmartNav/SmartNav.Data/ZoneBoundaryPositionOverride.cs index 10d9f28..3c734be 100644 --- a/SmartNav/SmartNav.Data/ZoneBoundaryPositionOverride.cs +++ b/SmartNav/SmartNav.Data/ZoneBoundaryPositionOverride.cs @@ -1,145 +1,5 @@ -using System; -using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; namespace SmartNav.Data; -internal sealed record ZoneBoundaryPositionOverride(ushort TerritoryA, ushort TerritoryB, Vector3 PositionA, Vector3 PositionB) -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202A_206A_200B_206E_206E_206B_200B_206A_200E_200B_206B_206A_206C_206C_206D_200D_206E_200E_200D_200C_202E_200B_202E_202A_200B_200C_200E_200B_200F_202C_206E_200C_200C_202B_206C_206D_202A_200C_200E_200C_202E(typeof(ZoneBoundaryPositionOverride).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202A_202D_202A_206A_206F_206D_200B_206E_200C_206D_206A_200E_200F_200C_202B_202C_206A_206B_202A_206B_200B_206A_202D_206D_206A_206F_200D_202C_206B_206A_200D_200C_200C_206C_202D_200C_200B_200E_202C_202E_202E(); - _206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(128434039)); - _206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(1547267250)); - int num = ((!PrintMembers(stringBuilder)) ? 377403111 : 377403110); - while (true) - { - int num2 = num; - int num3 = 377403111; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 377403110; - break; - case 1: - _200B_206D_206F_200B_200B_206F_202D_206A_200C_202E_202B_200F_200D_200C_200F_202C_206E_202D_206F_200D_202A_202D_206B_200B_200B_200E_202C_202C_206E_202B_200C_206E_206D_202E_202C_200D_200D_206E_206E_206E_202E(stringBuilder, ' '); - num = 377403111; - break; - case 0: - _200B_206D_206F_200B_200B_206F_202D_206A_200C_202E_202B_200F_200D_200C_200F_202C_206E_202D_206F_200D_202A_202D_206B_200B_200B_200E_202C_202C_206E_202B_200C_206E_206D_202E_202C_200D_200D_206E_206E_206E_202E(stringBuilder, '}'); - return _206F_206A_202C_202C_206E_206D_202C_202C_200C_200C_200E_202B_206E_206E_202A_200D_206C_206D_206B_202C_202B_200B_200C_206F_206C_202D_200B_206C_202A_202C_202E_202E_206B_200B_200B_206D_206A_206B_200F_206E_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200D_206B_200F_200E_206C_202A_202A_200F_206F_200C_200C_202A_200B_202C_200D_202C_206E_202A_202D_202D_206E_200B_206C_200E_206D_202D_202D_206E_202C_206A_202E_200C_206A_200C_200E_206B_202B_206D_206B_202A_202E(); - _206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-1709044676)); - _206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, TerritoryA.ToString()); - _206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(1792963311)); - _206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, TerritoryB.ToString()); - _206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(1559417746)); - _206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, PositionA.ToString()); - _206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(900245019)); - _206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, PositionB.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(ZoneBoundaryPositionOverride? other) - { - int num = (((object)this == other) ? 975251074 : 975251072); - while (true) - { - int num2 = num; - int num3 = 975251074; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = ((!EqualityComparer.Default.Equals(TerritoryA, other.TerritoryA)) ? 975251073 : 975251077); - break; - case 7: - num = ((!EqualityComparer.Default.Equals(TerritoryB, other.TerritoryB)) ? 975251073 : 975251076); - break; - case 1: - num = ((!_202C_202A_200E_200C_206D_206A_206D_202C_206C_206A_200D_200C_202C_202B_202D_200E_202B_200D_202B_202C_202C_200C_200F_200B_202B_200C_202E_202D_202E_200E_200F_200F_202D_206B_206D_202C_206E_200E_206E_202A_202E(EqualityContract, other.EqualityContract)) ? 975251073 : 975251078); - break; - case 0: - return true; - case 2: - num = (((object)other == null) ? 975251073 : 975251075); - break; - case 5: - num = 975251072; - break; - case 8: - return EqualityComparer.Default.Equals(PositionB, other.PositionB); - case 3: - return false; - case 6: - num = ((!EqualityComparer.Default.Equals(PositionA, other.PositionA)) ? 975251073 : 975251082); - break; - } - } - } - - bool IEquatable.Equals(ZoneBoundaryPositionOverride? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202A_206A_200B_206E_206E_206B_200B_206A_200E_200B_206B_206A_206C_206C_206D_200D_206E_200E_200D_200C_202E_200B_202E_202A_200B_200C_200E_200B_200F_202C_206E_200C_200C_202B_206C_206D_202A_200C_200E_200C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202A_202D_202A_206A_206F_206D_200B_206E_200C_206D_206A_200E_200F_200C_202B_202C_206A_206B_202A_206B_200B_206A_202D_206D_206A_206F_200D_202C_206B_206A_200D_200C_200C_206C_202D_200C_200B_200E_202C_202E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200B_206D_206F_200B_200B_206F_202D_206A_200C_202E_202B_200F_200D_200C_200F_202C_206E_202D_206F_200D_202A_202D_206B_200B_200B_200E_202C_202C_206E_202B_200C_206E_206D_202E_202C_200D_200D_206E_206E_206E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206F_206A_202C_202C_206E_206D_202C_202C_200C_200C_200E_202B_206E_206E_202A_200D_206C_206D_206B_202C_202B_200B_200C_206F_206C_202D_200B_206C_202A_202C_202E_202E_206B_200B_200B_206D_206A_206B_200F_206E_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200D_206B_200F_200E_206C_202A_202A_200F_206F_200C_200C_202A_200B_202C_200D_202C_206E_202A_202D_202D_206E_200B_206C_200E_206D_202D_202D_206E_202C_206A_202E_200C_206A_200C_200E_206B_202B_206D_206B_202A_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static bool _202C_202A_200E_200C_206D_206A_206D_202C_206C_206A_200D_200C_202C_202B_202D_200E_202B_200D_202B_202C_202C_200C_200F_200B_202B_200C_202E_202D_202E_200E_200F_200F_202D_206B_206D_202C_206E_200E_206E_202A_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +internal sealed record ZoneBoundaryPositionOverride(ushort TerritoryA, ushort TerritoryB, Vector3 PositionA, Vector3 PositionB); diff --git a/SmartNav/SmartNav.Data/ZoneSubRegionService.cs b/SmartNav/SmartNav.Data/ZoneSubRegionService.cs index 2a16d43..84ecdb9 100644 --- a/SmartNav/SmartNav.Data/ZoneSubRegionService.cs +++ b/SmartNav/SmartNav.Data/ZoneSubRegionService.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections; using System.Collections.Generic; -using System.IO; -using System.Runtime.CompilerServices; using Microsoft.Extensions.Logging; using SmartNav.Model.Navigation; @@ -14,30 +10,16 @@ public sealed class ZoneSubRegionService public IReadOnlyDictionary AllRegions => _regions; - [MethodImpl(MethodImplOptions.NoInlining)] public ZoneSubRegionService(SmartNavDataOptions dataOptions, ILogger logger) { - DirectoryInfo? devSourceDirectory = dataOptions.DevSourceDirectory; - IEnumerator> enumerator = _206A_202C_202C_200B_206D_202D_200F_200F_200B_206E_200C_202B_200F_206E_206B_202E_202E_202C_200E_200E_206A_206D_202A_200C_200C_202D_206D_202E_200E_200C_206A_202E_200D_200F_202D_206A_206D_206F_200E_206C_202E((devSourceDirectory != null) ? _200D_202A_206E_200F_202A_206C_206B_206C_206E_206A_202C_206F_206B_202C_202E_206C_200C_200F_200F_200D_206A_206B_206F_206B_206D_202A_202E_200F_202C_206D_200B_206B_206A_200C_200F_202A_202A_200E_200C_202B_202E((FileSystemInfo)devSourceDirectory) : null).GetEnumerator(); - try + foreach (var (s, value) in AssemblyZoneSubRegionLoader.GetRegions(dataOptions.DevSourceDirectory?.FullName)) { - while (_206A_200B_200B_206A_202C_202D_202D_202D_206F_206A_200F_206C_206F_202A_200D_202E_200D_200F_200B_200F_206D_202C_200E_200D_200B_206E_206B_206E_200E_206D_202E_200D_202C_206C_206C_202B_206B_206B_206B_206D_202E((IEnumerator)enumerator)) + if (uint.TryParse(s, out var result)) { - var (s, value) = (KeyValuePair)(ref enumerator.Current); - if (uint.TryParse(s, out var result)) - { - _regions[result] = value; - } + _regions[result] = value; } } - finally - { - if (enumerator != null) - { - _202E_202A_202C_202A_206F_202E_200B_206E_202D_206F_200D_202E_206D_202D_206A_206F_202B_200D_202C_202D_200D_200B_206A_200E_202C_206C_200D_202B_206D_202D_200D_202E_202A_202B_202A_206F_200D_206C_200E_206B_202E((IDisposable)enumerator); - } - } - _200E_202C_200B_200F_202C_200D_206B_200B_202A_206F_206B_202B_206F_200C_202E_200D_200B_202B_200C_206A_206D_206B_202A_202B_200C_200B_202D_206E_202D_202E_206E_206E_200B_200D_200F_200E_200E_206D_200E_200F_202E((ILogger)logger, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-1099723978), new object[1] { _regions.Count }); + logger.LogDebug("ZoneSubRegionService: {Count} territories with sub-regions loaded", _regions.Count); } public bool HasSubRegions(uint territoryId) @@ -45,155 +27,37 @@ public sealed class ZoneSubRegionService return _regions.ContainsKey(territoryId); } - [MethodImpl(MethodImplOptions.NoInlining)] public string? GetSubRegionId(uint territoryId, float x, float y, float z) { - int num = (_regions.TryGetValue(territoryId, out TerritorySubRegions value) ? 728841310 : 728841311); - SubRegionDefinition current = default(SubRegionDefinition); - while (true) + if (!_regions.TryGetValue(territoryId, out TerritorySubRegions value)) { - int num2 = num; - int num3 = 728841310; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0057; - case 1: - return null; - case 0: - { - using (List.Enumerator enumerator = _206C_202E_200E_202E_206C_206D_206C_202E_202E_206A_200C_206F_206C_202A_202A_206A_200D_200F_206C_200D_202D_202B_206C_206F_200F_202D_206F_200E_202D_202E_202E_202D_202C_202E_202D_206E_200B_206B_202D_206A_202E(value).GetEnumerator()) - { - num = 607334794; - while (true) - { - int num5 = num; - num3 = 607334794; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 0: - num = (enumerator.MoveNext() ? 607334798 : 607334792); - break; - case 4: - current = enumerator.Current; - num = ((!_202E_200C_202A_206E_206C_202E_206F_202B_200F_202C_206E_202E_206D_200D_202B_200D_202C_206C_202B_206B_206A_202C_200D_200D_202B_202C_202D_200B_200C_200C_200D_202B_202B_202A_200F_206B_206F_206E_202D_202D_202E(current, x, y, z)) ? 607334794 : 607334795); - break; - case 3: - num = 607334794; - break; - case 1: - return _206D_200C_202E_206A_206F_200B_202D_202B_206D_206E_206E_200F_206C_206E_206E_200F_202D_206E_202E_206C_206E_202E_202B_202A_206E_206B_202C_202D_200E_202B_200F_206E_200B_202A_200C_206E_200C_202C_202B_200F_202E(current); - case 2: - goto end_IL_007d; - } - continue; - end_IL_007d: - break; - } - } - return global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-1484802432); - } - } - continue; - IL_0057: - num = 728841311; + return null; } + foreach (SubRegionDefinition subRegion in value.SubRegions) + { + if (subRegion.Contains(x, y, z)) + { + return subRegion.Id; + } + } + return "_default"; } public IReadOnlyList? GetSubRegions(uint territoryId) { - TerritorySubRegions value; - int num = (_regions.TryGetValue(territoryId, out value) ? 1403983688 : 1403983691); - while (true) + if (!_regions.TryGetValue(territoryId, out TerritorySubRegions value)) { - int num2 = num; - int num3 = 1403983689; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004e; - case 2: - return null; - case 1: - return _206C_202E_200E_202E_206C_206D_206C_202E_202E_206A_200C_206F_206C_202A_202A_206A_200D_200F_206C_200D_202D_202B_206C_206F_200F_202D_206F_200E_202D_202E_202E_202D_202C_202E_202D_206E_200B_206B_202D_206A_202E(value); - } - continue; - IL_004e: - num = 1403983691; + return null; } + return value.SubRegions; } public IReadOnlyList? GetConnectors(uint territoryId) { - TerritorySubRegions value; - int num = (_regions.TryGetValue(territoryId, out value) ? 240767514 : 240767513); - while (true) + if (!_regions.TryGetValue(territoryId, out TerritorySubRegions value)) { - int num2 = num; - int num3 = 240767515; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004e; - case 1: - return _202B_202E_206A_206C_202D_200B_202B_206A_202E_200E_200C_206D_206D_200E_206C_206E_206D_200D_206F_206C_206D_202D_200E_206F_202E_202E_200E_200F_202A_202E_206D_202A_200F_202E_200D_202A_206A_202D_202A_206E_202E(value); - case 2: - return null; - } - continue; - IL_004e: - num = 240767513; + return null; } - } - - static string _200D_202A_206E_200F_202A_206C_206B_206C_206E_206A_202C_206F_206B_202C_202E_206C_200C_200F_200F_200D_206A_206B_206F_206B_206D_202A_202E_200F_202C_206D_200B_206B_206A_200C_200F_202A_202A_200E_200C_202B_202E(FileSystemInfo P_0) - { - return P_0.FullName; - } - - static IReadOnlyDictionary _206A_202C_202C_200B_206D_202D_200F_200F_200B_206E_200C_202B_200F_206E_206B_202E_202E_202C_200E_200E_206A_206D_202A_200C_200C_202D_206D_202E_200E_200C_206A_202E_200D_200F_202D_206A_206D_206F_200E_206C_202E(string P_0) - { - return AssemblyZoneSubRegionLoader.GetRegions(P_0); - } - - static bool _206A_200B_200B_206A_202C_202D_202D_202D_206F_206A_200F_206C_206F_202A_200D_202E_200D_200F_200B_200F_206D_202C_200E_200D_200B_206E_206B_206E_200E_206D_202E_200D_202C_206C_206C_202B_206B_206B_206B_206D_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202E_202A_202C_202A_206F_202E_200B_206E_202D_206F_200D_202E_206D_202D_206A_206F_202B_200D_202C_202D_200D_200B_206A_200E_202C_206C_200D_202B_206D_202D_200D_202E_202A_202B_202A_206F_200D_206C_200E_206B_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static void _200E_202C_200B_200F_202C_200D_206B_200B_202A_206F_206B_202B_206F_200C_202E_200D_200B_202B_200C_206A_206D_206B_202A_202B_200C_200B_202D_206E_202D_202E_206E_206E_200B_200D_200F_200E_200E_206D_200E_200F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static List _206C_202E_200E_202E_206C_206D_206C_202E_202E_206A_200C_206F_206C_202A_202A_206A_200D_200F_206C_200D_202D_202B_206C_206F_200F_202D_206F_200E_202D_202E_202E_202D_202C_202E_202D_206E_200B_206B_202D_206A_202E(TerritorySubRegions P_0) - { - return P_0.SubRegions; - } - - static bool _202E_200C_202A_206E_206C_202E_206F_202B_200F_202C_206E_202E_206D_200D_202B_200D_202C_206C_202B_206B_206A_202C_200D_200D_202B_202C_202D_200B_200C_200C_200D_202B_202B_202A_200F_206B_206F_206E_202D_202D_202E(SubRegionDefinition P_0, float P_1, float P_2, float P_3) - { - return P_0.Contains(P_1, P_2, P_3); - } - - static string _206D_200C_202E_206A_206F_200B_202D_202B_206D_206E_206E_200F_206C_206E_206E_200F_202D_206E_202E_206C_206E_202E_202B_202A_206E_206B_202C_202D_200E_202B_200F_206E_200B_202A_200C_206E_200C_202C_202B_200F_202E(SubRegionDefinition P_0) - { - return P_0.Id; - } - - static List _202B_202E_206A_206C_202D_200B_202B_206A_202E_200E_200C_206D_206D_200E_206C_206E_206D_200D_206F_206C_206D_202D_200E_206F_202E_202E_200E_200F_202A_202E_206D_202A_200F_202E_200D_202A_206A_202D_202A_206E_202E(TerritorySubRegions P_0) - { - return P_0.Connectors; + return value.Connectors; } } diff --git a/SmartNav/SmartNav.Graph/NavEdge.cs b/SmartNav/SmartNav.Graph/NavEdge.cs index d376300..8d9a283 100644 --- a/SmartNav/SmartNav.Graph/NavEdge.cs +++ b/SmartNav/SmartNav.Graph/NavEdge.cs @@ -1,156 +1,3 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; - namespace SmartNav.Graph; -public sealed record NavEdge(string FromNodeId, string ToNodeId, NavEdgeType EdgeType, float TimeCostSeconds, int GilCost) -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206E_200D_200E_206F_200E_206D_206A_200E_206A_202E_202A_202C_206F_206D_200E_200E_202C_206F_200E_206C_202D_200F_206D_200E_206A_206F_202A_206F_202A_206D_202B_200D_206B_206E_200E_200C_206A_206D_200E_200D_202E(typeof(NavEdge).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202E_206C_206D_200D_200B_206C_200D_200B_200F_200E_202E_206B_206A_206A_206D_206C_200D_206B_206A_200F_202B_202E_200F_202E_202B_202C_206A_200E_200F_206E_202B_206A_200F_202E_206B_206C_200C_206D_206F_202B_202E(); - _202E_206F_202A_202D_200B_206F_206B_200F_202E_206E_206A_200F_200B_202A_206F_202B_206D_202E_202A_202B_202B_200E_206F_200B_202D_200B_200D_202B_200F_200E_200B_206B_206F_202D_206E_202B_200D_202E_200B_200C_202E(stringBuilder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-524076477)); - _202E_206F_202A_202D_200B_206F_206B_200F_202E_206E_206A_200F_200B_202A_206F_202B_206D_202E_202A_202B_202B_200E_206F_200B_202D_200B_200D_202B_200F_200E_200B_206B_206F_202D_206E_202B_200D_202E_200B_200C_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-979564187)); - int num = ((!PrintMembers(stringBuilder)) ? 1302447791 : 1302447790); - while (true) - { - int num2 = num; - int num3 = 1302447791; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1302447790; - break; - case 0: - _206A_206F_202C_202A_200C_206B_202B_202A_206A_202E_202B_200C_202D_200D_202D_206E_206F_206D_200B_202C_200C_202D_206D_200E_202B_200C_200C_200F_202C_202C_206E_200C_206E_202A_202E_202D_206F_200C_202B_202E_202E(stringBuilder, '}'); - return _206F_202B_200C_200E_206F_206D_202A_200F_200C_202D_200E_206B_206E_200B_206B_206F_206E_200F_206E_206C_200D_206F_206F_206C_202A_200D_200C_206D_206E_200E_206E_202E_202D_206B_200C_206C_206A_202D_206F_206E_202E((object)stringBuilder); - case 1: - _206A_206F_202C_202A_200C_206B_202B_202A_206A_202E_202B_200C_202D_200D_202D_206E_206F_206D_200B_202C_200C_202D_206D_200E_202B_200C_200C_200F_202C_202C_206E_200C_206E_202A_202E_202D_206F_200C_202B_202E_202E(stringBuilder, ' '); - num = 1302447791; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200C_202C_206D_202B_202A_206C_206C_202A_200E_202B_206E_202D_202A_206B_202D_202D_206B_206A_202B_206F_206B_206A_206C_200C_202A_206B_206E_202A_206B_200C_200E_200C_206C_202A_202C_202C_200B_200C_200E_206B_202E(); - _202E_206F_202A_202D_200B_206F_206B_200F_202E_206E_206A_200F_200B_202A_206F_202B_206D_202E_202A_202B_202B_200E_206F_200B_202D_200B_200D_202B_200F_200E_200B_206B_206F_202D_206E_202B_200D_202E_200B_200C_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-117326766)); - _200B_200F_200E_206A_206B_202A_206E_206C_200B_202B_206D_200B_202A_202C_206A_200B_206E_206A_200D_202B_206D_200E_206C_200D_200D_200E_206F_206B_206F_202B_206E_202D_206E_206B_206F_200E_200E_206D_206F_200C_202E(builder, (object)FromNodeId); - _202E_206F_202A_202D_200B_206F_206B_200F_202E_206E_206A_200F_200B_202A_206F_202B_206D_202E_202A_202B_202B_200E_206F_200B_202D_200B_200D_202B_200F_200E_200B_206B_206F_202D_206E_202B_200D_202E_200B_200C_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(1889543298)); - _200B_200F_200E_206A_206B_202A_206E_206C_200B_202B_206D_200B_202A_202C_206A_200B_206E_206A_200D_202B_206D_200E_206C_200D_200D_200E_206F_206B_206F_202B_206E_202D_206E_206B_206F_200E_200E_206D_206F_200C_202E(builder, (object)ToNodeId); - _202E_206F_202A_202D_200B_206F_206B_200F_202E_206E_206A_200F_200B_202A_206F_202B_206D_202E_202A_202B_202B_200E_206F_200B_202D_200B_200D_202B_200F_200E_200B_206B_206F_202D_206E_202B_200D_202E_200B_200C_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(323881500)); - _202E_206F_202A_202D_200B_206F_206B_200F_202E_206E_206A_200F_200B_202A_206F_202B_206D_202E_202A_202B_202B_200E_206F_200B_202D_200B_200D_202B_200F_200E_200B_206B_206F_202D_206E_202B_200D_202E_200B_200C_202E(builder, EdgeType.ToString()); - _202E_206F_202A_202D_200B_206F_206B_200F_202E_206E_206A_200F_200B_202A_206F_202B_206D_202E_202A_202B_202B_200E_206F_200B_202D_200B_200D_202B_200F_200E_200B_206B_206F_202D_206E_202B_200D_202E_200B_200C_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(682092795)); - _202E_206F_202A_202D_200B_206F_206B_200F_202E_206E_206A_200F_200B_202A_206F_202B_206D_202E_202A_202B_202B_200E_206F_200B_202D_200B_200D_202B_200F_200E_200B_206B_206F_202D_206E_202B_200D_202E_200B_200C_202E(builder, TimeCostSeconds.ToString()); - _202E_206F_202A_202D_200B_206F_206B_200F_202E_206E_206A_200F_200B_202A_206F_202B_206D_202E_202A_202B_202B_200E_206F_200B_202D_200B_200D_202B_200F_200E_200B_206B_206F_202D_206E_202B_200D_202E_200B_200C_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-492476942)); - _202E_206F_202A_202D_200B_206F_206B_200F_202E_206E_206A_200F_200B_202A_206F_202B_206D_202E_202A_202B_202B_200E_206F_200B_202D_200B_200D_202B_200F_200E_200B_206B_206F_202D_206E_202B_200D_202E_200B_200C_202E(builder, GilCost.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(NavEdge? other) - { - int num = (((object)this == other) ? 1316647872 : 1316647875); - while (true) - { - int num2 = num; - int num3 = 1316647876; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 8: - num = ((!EqualityComparer.Default.Equals(ToNodeId, other.ToNodeId)) ? 1316647876 : 1316647877); - break; - case 7: - num = (((object)other == null) ? 1316647876 : 1316647874); - break; - case 5: - num = ((!EqualityComparer.Default.Equals(FromNodeId, other.FromNodeId)) ? 1316647876 : 1316647884); - break; - case 6: - num = ((!_200F_206D_202D_206A_202D_202E_200C_200F_206F_200B_206A_202B_200C_202D_202A_206C_202B_202C_200D_202E_202B_200C_206A_206A_206A_200B_206C_202B_206C_200E_206D_206B_202E_200E_202A_200B_202C_206B_202B_202D_202E(EqualityContract, other.EqualityContract)) ? 1316647876 : 1316647873); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(EdgeType, other.EdgeType)) ? 1316647876 : 1316647885); - break; - case 4: - return true; - case 3: - return EqualityComparer.Default.Equals(GilCost, other.GilCost); - case 9: - num = ((!EqualityComparer.Default.Equals(TimeCostSeconds, other.TimeCostSeconds)) ? 1316647876 : 1316647879); - break; - case 2: - num = 1316647875; - break; - case 0: - return false; - } - } - } - - bool IEquatable.Equals(NavEdge? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206E_200D_200E_206F_200E_206D_206A_200E_206A_202E_202A_202C_206F_206D_200E_200E_202C_206F_200E_206C_202D_200F_206D_200E_206A_206F_202A_206F_202A_206D_202B_200D_206B_206E_200E_200C_206A_206D_200E_200D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202E_206C_206D_200D_200B_206C_200D_200B_200F_200E_202E_206B_206A_206A_206D_206C_200D_206B_206A_200F_202B_202E_200F_202E_202B_202C_206A_200E_200F_206E_202B_206A_200F_202E_206B_206C_200C_206D_206F_202B_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202E_206F_202A_202D_200B_206F_206B_200F_202E_206E_206A_200F_200B_202A_206F_202B_206D_202E_202A_202B_202B_200E_206F_200B_202D_200B_200D_202B_200F_200E_200B_206B_206F_202D_206E_202B_200D_202E_200B_200C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206A_206F_202C_202A_200C_206B_202B_202A_206A_202E_202B_200C_202D_200D_202D_206E_206F_206D_200B_202C_200C_202D_206D_200E_202B_200C_200C_200F_202C_202C_206E_200C_206E_202A_202E_202D_206F_200C_202B_202E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206F_202B_200C_200E_206F_206D_202A_200F_200C_202D_200E_206B_206E_200B_206B_206F_206E_200F_206E_206C_200D_206F_206F_206C_202A_200D_200C_206D_206E_200E_206E_202E_202D_206B_200C_206C_206A_202D_206F_206E_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200C_202C_206D_202B_202A_206C_206C_202A_200E_202B_206E_202D_202A_206B_202D_202D_206B_206A_202B_206F_206B_206A_206C_200C_202A_206B_206E_202A_206B_200C_200E_200C_206C_202A_202C_202C_200B_200C_200E_206B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200B_200F_200E_206A_206B_202A_206E_206C_200B_202B_206D_200B_202A_202C_206A_200B_206E_206A_200D_202B_206D_200E_206C_200D_200D_200E_206F_206B_206F_202B_206E_202D_206E_206B_206F_200E_200E_206D_206F_200C_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200F_206D_202D_206A_202D_202E_200C_200F_206F_200B_206A_202B_200C_202D_202A_206C_202B_202C_200D_202E_202B_200C_206A_206A_206A_200B_206C_202B_206C_200E_206D_206B_202E_200E_202A_200B_202C_206B_202B_202D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +public sealed record NavEdge(string FromNodeId, string ToNodeId, NavEdgeType EdgeType, float TimeCostSeconds, int GilCost); diff --git a/SmartNav/SmartNav.Graph/NavGraph.cs b/SmartNav/SmartNav.Graph/NavGraph.cs index 195ce98..fe2bfef 100644 --- a/SmartNav/SmartNav.Graph/NavGraph.cs +++ b/SmartNav/SmartNav.Graph/NavGraph.cs @@ -1,45 +1,10 @@ using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; namespace SmartNav.Graph; public sealed class NavGraph { - [CompilerGenerated] - private sealed class _003C_003Ec__DisplayClass11_0 - { - public NavEdge edge; - - internal bool _003CReplaceEdge_003Eb__0(NavEdge e) - { - int num = ((!_206D_200B_200F_202D_206A_206D_206E_202E_200C_202D_200B_206A_206D_200B_206B_200E_202B_202C_202C_202B_200F_206A_202A_202C_202C_200F_206D_202C_200F_206E_200B_200C_206B_202A_202A_206D_206C_200C_200B_206D_202E(e.ToNodeId, edge.ToNodeId)) ? 1864125654 : 1864125653); - while (true) - { - int num2 = num; - int num3 = 1864125655; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0056; - case 2: - return e.EdgeType == edge.EdgeType; - case 1: - return false; - } - continue; - IL_0056: - num = 1864125653; - } - } - - static bool _206D_200B_200F_202D_206A_206D_206E_202E_200C_202D_200B_206A_206D_200B_206B_200E_202B_202C_202C_202B_200F_206A_202A_202C_202C_200F_206D_202C_200F_206E_200B_200C_206B_202A_202A_206D_206C_200C_200B_206D_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - } - private readonly Dictionary _nodes = new Dictionary(); private readonly Dictionary> _adjacency = new Dictionary>(); @@ -59,34 +24,11 @@ public sealed class NavGraph get { int num = 0; - using Dictionary>.ValueCollection.Enumerator enumerator = _adjacency.Values.GetEnumerator(); - int num2 = 165728447; - while (true) + foreach (List value in _adjacency.Values) { - int num3 = num2; - int num4 = 165728444; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) - { - case 3: - num2 = (enumerator.MoveNext() ? 165728445 : 165728446); - break; - case 1: - { - List current = enumerator.Current; - num += current.Count; - num2 = 165728447; - break; - } - case 0: - num2 = 165728447; - break; - case 2: - return num; - } + num += value.Count; } + return num; } } @@ -94,210 +36,71 @@ public sealed class NavGraph { bool num = !_nodes.ContainsKey(node.Id); _nodes[node.Id] = node; - int num2 = ((!num) ? (-2079391440) : (-2079391437)); - List value = default(List); - while (true) + if (num) { - int num3 = num2; - int num4 = -2079391439; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) + _adjacency[node.Id] = new List(); + if (!_territoryIndex.TryGetValue(node.TerritoryId, out List value)) { - case 0: - num2 = -2079391437; - break; - case 4: - value.Add(node.Id); - num2 = -2079391440; - break; - case 3: value = new List(); _territoryIndex[node.TerritoryId] = value; - num2 = -2079391435; - break; - case 2: - _adjacency[node.Id] = new List(); - num2 = (_territoryIndex.TryGetValue(node.TerritoryId, out value) ? (-2079391435) : (-2079391438)); - break; - case 1: - return; } + value.Add(node.Id); } } public void AddEdge(NavEdge edge) { - List value; - int num = (_adjacency.TryGetValue(edge.FromNodeId, out value) ? (-2081875728) : (-2081875725)); - while (true) + if (!_adjacency.TryGetValue(edge.FromNodeId, out List value)) { - int num2 = num; - int num3 = -2081875726; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -2081875725; - break; - case 2: - value.Add(edge); - return; - case 1: - value = new List(); - _adjacency[edge.FromNodeId] = value; - num = -2081875728; - break; - } + value = new List(); + _adjacency[edge.FromNodeId] = value; } + value.Add(edge); } public void ReplaceEdge(NavEdge edge) { - List value; - int num = (_adjacency.TryGetValue(edge.FromNodeId, out value) ? (-1414739437) : (-1414739440)); - while (true) + if (!_adjacency.TryGetValue(edge.FromNodeId, out List value)) { - int num2 = num; - int num3 = -1414739438; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - value.RemoveAll(delegate(NavEdge e) - { - int num5 = ((!_003C_003Ec__DisplayClass11_0._206D_200B_200F_202D_206A_206D_206E_202E_200C_202D_200B_206A_206D_200B_206B_200E_202B_202C_202C_202B_200F_206A_202A_202C_202C_200F_206D_202C_200F_206E_200B_200C_206B_202A_202A_206D_206C_200C_200B_206D_202E(e.ToNodeId, edge.ToNodeId)) ? 1864125654 : 1864125653); - while (true) - { - int num6 = num5; - int num7 = 1864125655; - int num8 = num6; - switch ((num8 | num7) - (num8 & num7)) - { - case 0: - goto IL_0056; - case 2: - return e.EdgeType == edge.EdgeType; - case 1: - return false; - } - continue; - IL_0056: - num5 = 1864125653; - } - }); - value.Add(edge); - return; - case 2: - value = new List(); - _adjacency[edge.FromNodeId] = value; - num = -1414739437; - break; - case 0: - num = -1414739440; - break; - } + value = new List(); + _adjacency[edge.FromNodeId] = value; } + value.RemoveAll((NavEdge e) => e.ToNodeId == edge.ToNodeId && e.EdgeType == edge.EdgeType); + value.Add(edge); } public void RemoveEdges(string fromNodeId, Predicate predicate) { - List value; - int num = ((!_adjacency.TryGetValue(fromNodeId, out value)) ? 1405127907 : 1405127904); - while (true) + if (_adjacency.TryGetValue(fromNodeId, out List value)) { - int num2 = num; - int num3 = 1405127906; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1405127904; - break; - case 1: - return; - case 2: - value.RemoveAll(predicate); - num = 1405127907; - break; - } + value.RemoveAll(predicate); } } public NavNode? GetNode(string nodeId) { - NavNode value; - int num = (_nodes.TryGetValue(nodeId, out value) ? 640244294 : 640244295); - while (true) + if (!_nodes.TryGetValue(nodeId, out NavNode value)) { - int num2 = num; - int num3 = 640244294; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return value; - case 1: - return null; - case 2: - goto IL_0054; - } - continue; - IL_0054: - num = 640244295; + return null; } + return value; } public IReadOnlyList GetEdges(string nodeId) { - List value; - int num = (_adjacency.TryGetValue(nodeId, out value) ? 577743021 : 577743022); - while (true) + if (!_adjacency.TryGetValue(nodeId, out List value)) { - int num2 = num; - int num3 = 577743023; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - return value; - case 1: - return new List(); - case 0: - goto IL_0058; - } - continue; - IL_0058: - num = 577743022; + return new List(); } + return value; } public IReadOnlyList GetNodesInTerritory(uint territoryId) { - List value; - int num = (_territoryIndex.TryGetValue(territoryId, out value) ? 111271957 : 111271958); - while (true) + if (!_territoryIndex.TryGetValue(territoryId, out List value)) { - int num2 = num; - int num3 = 111271959; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_004e; - case 1: - return new List(); - case 2: - return value; - } - continue; - IL_004e: - num = 111271958; + return new List(); } + return value; } } diff --git a/SmartNav/SmartNav.Graph/NavNode.cs b/SmartNav/SmartNav.Graph/NavNode.cs index a77b5dc..d1d2787 100644 --- a/SmartNav/SmartNav.Graph/NavNode.cs +++ b/SmartNav/SmartNav.Graph/NavNode.cs @@ -1,8 +1,5 @@ -using System; -using System.Collections.Generic; using System.Numerics; using System.Runtime.CompilerServices; -using System.Text; using SmartNav.Model; using SmartNav.Model.Navigation; @@ -12,123 +9,14 @@ public abstract record NavNode(string Id, uint TerritoryId, Vector3 Position) { public sealed record AetheryteNode : NavNode { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _202E_200D_200B_202B_206E_202A_200E_200B_206E_206F_202C_202C_200E_206C_200D_200C_206F_206A_200B_200F_206D_200D_206B_202C_206D_206B_206B_202A_206A_200C_202E_200C_206D_206D_202D_202B_202A_200C_206C_200F_202E(typeof(AetheryteNode).TypeHandle); - } - } - public EAetheryteLocation Aetheryte { get; init; } public override string Label => Aetheryte.ToString(); - [MethodImpl(MethodImplOptions.NoInlining)] public AetheryteNode(EAetheryteLocation Aetheryte, uint TerritoryId, Vector3 Position) { this.Aetheryte = Aetheryte; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(10, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-980256187)); - defaultInterpolatedStringHandler.AppendFormatted((int)Aetheryte); - base._002Ector(defaultInterpolatedStringHandler.ToStringAndClear(), TerritoryId, Position); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202A_206A_200F_206A_202E_202B_206E_206D_200D_206D_206A_206A_200D_200C_202E_206A_200E_200D_202E_202B_202C_206D_206D_200B_200E_206A_202E_200D_200D_202C_206A_202C_206B_202A_202A_200C_202C_202A_200B_200D_202E(); - _206E_200F_206F_206F_202D_200E_206C_200C_202D_206D_206B_206D_206D_202A_202D_206B_202A_200B_200C_202A_200D_202C_202B_200D_202B_206C_200E_200F_206B_206B_202E_202B_206D_200F_206D_206F_200E_206E_206D_206F_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-1485406646)); - _206E_200F_206F_206F_202D_200E_206C_200C_202D_206D_206B_206D_206D_202A_202D_206B_202A_200B_200C_202A_200D_202C_202B_200D_202B_206C_200E_200F_206B_206B_202E_202B_206D_200F_206D_206F_200E_206E_206D_206F_202E(stringBuilder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(1886515922)); - int num = ((!PrintMembers(stringBuilder)) ? (-1372731699) : (-1372731698)); - while (true) - { - int num2 = num; - int num3 = -1372731700; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _206D_200D_202D_202B_202D_206F_200E_206E_200E_206E_200F_202D_206B_202C_206B_200B_200D_206A_206B_202A_202C_206B_206B_206E_206D_200C_206E_200D_200B_200D_202B_200C_206B_202D_206B_202C_202B_202A_206C_202A_202E(stringBuilder, '}'); - return _202A_202E_206B_200D_200B_206B_202D_202A_206E_206C_202C_202E_206A_206F_202E_200B_206B_200D_206E_206F_206C_200F_206A_206F_200B_200F_202D_202B_206E_206E_206A_202C_200B_202A_206F_202B_200F_200D_206B_206C_202E((object)stringBuilder); - case 2: - _206D_200D_202D_202B_202D_206F_200E_206E_200E_206E_200F_202D_206B_202C_206B_200B_200D_206A_206B_202A_202C_206B_206B_206E_206D_200C_206E_200D_200B_200D_202B_200C_206B_202D_206B_202C_202B_202A_206C_202A_202E(stringBuilder, ' '); - num = -1372731699; - break; - case 0: - num = -1372731698; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected override bool PrintMembers(StringBuilder builder) - { - int num = ((!base.PrintMembers(builder)) ? 1376880192 : 1376880195); - while (true) - { - int num2 = num; - int num3 = 1376880193; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1376880195; - break; - case 2: - _206E_200F_206F_206F_202D_200E_206C_200C_202D_206D_206B_206D_206D_202A_202D_206B_202A_200B_200C_202A_200D_202C_202B_200D_202B_206C_200E_200F_206B_206B_202E_202B_206D_200F_206D_206F_200E_206E_206D_206F_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-1584690827)); - num = 1376880192; - break; - case 1: - _206E_200F_206F_206F_202D_200E_206C_200C_202D_206D_206B_206D_206D_202A_202D_206B_202A_200B_200C_202A_200D_202C_202B_200D_202B_206C_200E_200F_206B_206B_202E_202B_206D_200F_206D_206F_200E_206E_206D_206F_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-1843848623)); - _206E_200F_206F_206F_202D_200E_206C_200C_202D_206D_206B_206D_206D_202A_202D_206B_202A_200B_200C_202A_200D_202C_202B_200D_202B_206C_200E_200F_206B_206B_202E_202B_206D_200F_206D_206F_200E_206E_206D_206F_202E(builder, Aetheryte.ToString()); - return true; - } - } - } - - [CompilerGenerated] - public bool Equals(AetheryteNode? other) - { - int num = (((object)this == other) ? 346069447 : 346069445); - while (true) - { - int num2 = num; - int num3 = 346069444; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = 346069445; - break; - case 2: - return false; - case 0: - return EqualityComparer.Default.Equals(Aetheryte, other.Aetheryte); - case 3: - return true; - case 1: - num = ((!base.Equals(other)) ? 346069446 : 346069444); - break; - } - } - } - - bool IEquatable.Equals(AetheryteNode? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); + base._002Ector($"aetheryte:{Aetheryte}", TerritoryId, Position); } [CompilerGenerated] @@ -138,163 +26,21 @@ public abstract record NavNode(string Id, uint TerritoryId, Vector3 Position) TerritoryId = base.TerritoryId; Position = base.Position; } - - static Type _202E_200D_200B_202B_206E_202A_200E_200B_206E_206F_202C_202C_200E_206C_200D_200C_206F_206A_200B_200F_206D_200D_206B_202C_206D_206B_206B_202A_206A_200C_202E_200C_206D_206D_202D_202B_202A_200C_206C_200F_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202A_206A_200F_206A_202E_202B_206E_206D_200D_206D_206A_206A_200D_200C_202E_206A_200E_200D_202E_202B_202C_206D_206D_200B_200E_206A_202E_200D_200D_202C_206A_202C_206B_202A_202A_200C_202C_202A_200B_200D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206E_200F_206F_206F_202D_200E_206C_200C_202D_206D_206B_206D_206D_202A_202D_206B_202A_200B_200C_202A_200D_202C_202B_200D_202B_206C_200E_200F_206B_206B_202E_202B_206D_200F_206D_206F_200E_206E_206D_206F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206D_200D_202D_202B_202D_206F_200E_206E_200E_206E_200F_202D_206B_202C_206B_200B_200D_206A_206B_202A_202C_206B_206B_206E_206D_200C_206E_200D_200B_200D_202B_200C_206B_202D_206B_202C_202B_202A_206C_202A_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202A_202E_206B_200D_200B_206B_202D_202A_206E_206C_202C_202E_206A_206F_202E_200B_206B_200D_206E_206F_206C_200F_206A_206F_200B_200F_202D_202B_206E_206E_206A_202C_200B_202A_206F_202B_200F_200D_206B_206C_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _206C_200E_200E_206F_206C_200D_200D_202A_206A_200D_202D_202A_202D_206B_200C_200E_200F_206A_206D_202D_200E_206B_202A_206D_202C_206A_202A_206C_200E_200E_202A_200D_200C_206F_206C_202C_202D_200C_202D_200C_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } } public sealed record AethernetNode : NavNode { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _206F_200B_202C_206C_206B_200E_202A_200C_202B_206F_200E_200B_200C_206B_206B_202D_202D_206C_200D_202D_206F_206B_206A_200C_200E_202D_200F_200E_202D_206B_206B_206C_200B_200F_200D_206C_200F_200B_200D_206C_202E(typeof(AethernetNode).TypeHandle); - } - } - public EAetheryteLocation Aethernet { get; init; } public EAetheryteLocation ParentAetheryte { get; init; } public override string Label => Aethernet.ToString(); - [MethodImpl(MethodImplOptions.NoInlining)] public AethernetNode(EAetheryteLocation Aethernet, uint TerritoryId, Vector3 Position, EAetheryteLocation ParentAetheryte) { this.Aethernet = Aethernet; this.ParentAetheryte = ParentAetheryte; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(10, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-1430819075)); - defaultInterpolatedStringHandler.AppendFormatted((int)Aethernet); - base._002Ector(defaultInterpolatedStringHandler.ToStringAndClear(), TerritoryId, Position); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200F_206C_206A_202A_200F_200F_200F_206C_202D_200B_206F_206D_202C_202C_200B_202C_200E_200E_206E_202B_206C_202A_200D_202E_206B_206A_206E_200D_206C_200B_206A_206D_206F_200E_206C_202B_200D_202B_200E_202B_202E(); - _200D_200E_202E_206C_206A_200F_202D_202E_202D_200D_200E_200F_200F_202D_202B_202C_206C_206D_200D_206B_200D_202D_206E_206F_206D_200F_206F_200B_206E_206A_206C_200E_206F_206E_206F_206F_206D_200E_200E_206A_202E(stringBuilder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(645503319)); - _200D_200E_202E_206C_206A_200F_202D_202E_202D_200D_200E_200F_200F_202D_202B_202C_206C_206D_200D_206B_200D_202D_206E_206F_206D_200F_206F_200B_206E_206A_206C_200E_206F_206E_206F_206F_206D_200E_200E_206A_202E(stringBuilder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(1886515922)); - int num = ((!PrintMembers(stringBuilder)) ? 1761676226 : 1761676225); - while (true) - { - int num2 = num; - int num3 = 1761676227; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _202C_206F_202C_206B_202C_202D_200D_202A_206B_206F_202A_200E_206C_202A_206B_206E_200F_200C_202A_206D_206D_202D_200B_202D_202E_202B_202A_200D_200B_202B_206C_200B_200C_202D_200D_200D_202B_200C_202B_206C_202E(stringBuilder, '}'); - return _202E_206C_206B_200C_200B_206E_200B_206E_206C_202D_200D_206D_206E_202B_206F_206A_206C_206D_202D_206C_206A_206A_206D_206D_206B_200D_206A_206D_202E_200F_202B_202D_206A_200F_202E_206C_206C_206B_206F_206B_202E((object)stringBuilder); - case 2: - _202C_206F_202C_206B_202C_202D_200D_202A_206B_206F_202A_200E_206C_202A_206B_206E_200F_200C_202A_206D_206D_202D_200B_202D_202E_202B_202A_200D_200B_202B_206C_200B_200C_202D_200D_200D_202B_200C_202B_206C_202E(stringBuilder, ' '); - num = 1761676226; - break; - case 0: - num = 1761676225; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected override bool PrintMembers(StringBuilder builder) - { - int num = ((!base.PrintMembers(builder)) ? (-1711944682) : (-1711944683)); - while (true) - { - int num2 = num; - int num3 = -1711944681; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1711944683; - break; - case 2: - _200D_200E_202E_206C_206A_200F_202D_202E_202D_200D_200E_200F_200F_202D_202B_202C_206C_206D_200D_206B_200D_202D_206E_206F_206D_200F_206F_200B_206E_206A_206C_200E_206F_206E_206F_206F_206D_200E_200E_206A_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-1735617534)); - num = -1711944682; - break; - case 1: - _200D_200E_202E_206C_206A_200F_202D_202E_202D_200D_200E_200F_200F_202D_202B_202C_206C_206D_200D_206B_200D_202D_206E_206F_206D_200F_206F_200B_206E_206A_206C_200E_206F_206E_206F_206F_206D_200E_200E_206A_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-1717054096)); - _200D_200E_202E_206C_206A_200F_202D_202E_202D_200D_200E_200F_200F_202D_202B_202C_206C_206D_200D_206B_200D_202D_206E_206F_206D_200F_206F_200B_206E_206A_206C_200E_206F_206E_206F_206F_206D_200E_200E_206A_202E(builder, Aethernet.ToString()); - _200D_200E_202E_206C_206A_200F_202D_202E_202D_200D_200E_200F_200F_202D_202B_202C_206C_206D_200D_206B_200D_202D_206E_206F_206D_200F_206F_200B_206E_206A_206C_200E_206F_206E_206F_206F_206D_200E_200E_206A_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-77039164)); - _200D_200E_202E_206C_206A_200F_202D_202E_202D_200D_200E_200F_200F_202D_202B_202C_206C_206D_200D_206B_200D_202D_206E_206F_206D_200F_206F_200B_206E_206A_206C_200E_206F_206E_206F_206F_206D_200E_200E_206A_202E(builder, ParentAetheryte.ToString()); - return true; - } - } - } - - [CompilerGenerated] - public bool Equals(AethernetNode? other) - { - int num = (((object)this == other) ? (-1733424681) : (-1733424685)); - while (true) - { - int num2 = num; - int num3 = -1733424686; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - return true; - case 2: - num = ((!EqualityComparer.Default.Equals(Aethernet, other.Aethernet)) ? (-1733424686) : (-1733424687)); - break; - case 3: - return EqualityComparer.Default.Equals(ParentAetheryte, other.ParentAetheryte); - case 1: - num = ((!base.Equals(other)) ? (-1733424686) : (-1733424688)); - break; - case 0: - return false; - case 4: - num = -1733424685; - break; - } - } - } - - bool IEquatable.Equals(AethernetNode? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); + base._002Ector($"aethernet:{Aethernet}", TerritoryId, Position); } [CompilerGenerated] @@ -305,50 +51,10 @@ public abstract record NavNode(string Id, uint TerritoryId, Vector3 Position) Position = base.Position; ParentAetheryte = this.ParentAetheryte; } - - static Type _206F_200B_202C_206C_206B_200E_202A_200C_202B_206F_200E_200B_200C_206B_206B_202D_202D_206C_200D_202D_206F_206B_206A_200C_200E_202D_200F_200E_202D_206B_206B_206C_200B_200F_200D_206C_200F_200B_200D_206C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200F_206C_206A_202A_200F_200F_200F_206C_202D_200B_206F_206D_202C_202C_200B_202C_200E_200E_206E_202B_206C_202A_200D_202E_206B_206A_206E_200D_206C_200B_206A_206D_206F_200E_206C_202B_200D_202B_200E_202B_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200D_200E_202E_206C_206A_200F_202D_202E_202D_200D_200E_200F_200F_202D_202B_202C_206C_206D_200D_206B_200D_202D_206E_206F_206D_200F_206F_200B_206E_206A_206C_200E_206F_206E_206F_206F_206D_200E_200E_206A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202C_206F_202C_206B_202C_202D_200D_202A_206B_206F_202A_200E_206C_202A_206B_206E_200F_200C_202A_206D_206D_202D_200B_202D_202E_202B_202A_200D_200B_202B_206C_200B_200C_202D_200D_200D_202B_200C_202B_206C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202E_206C_206B_200C_200B_206E_200B_206E_206C_202D_200D_206D_206E_202B_206F_206A_206C_206D_202D_206C_206A_206A_206D_206D_206B_200D_206A_206D_202E_200F_202B_202D_206A_200F_202E_206C_206C_206B_206F_206B_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _200E_200B_200D_200F_202C_206F_200F_202D_202A_206C_200E_200E_200B_200B_202C_200E_200C_202D_206E_206E_206E_200C_200C_206C_200B_202C_206E_202E_202A_200D_206E_202B_200B_206C_206B_206D_206F_202E_202E_202B_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } } public sealed record ZoneBoundaryNode : NavNode { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _200E_200C_206D_202A_200D_200D_200C_200E_202A_200C_200E_202A_202C_200B_202A_200F_200F_206C_206D_206B_202E_200B_206A_206D_206C_202C_200C_200C_200B_206A_206E_202B_206B_200D_206D_202A_202D_200E_206E_202E(typeof(ZoneBoundaryNode).TypeHandle); - } - } - public string BoundaryId { get; init; } public string PairedNodeId { get; init; } @@ -359,16 +65,8 @@ public abstract record NavNode(string Id, uint TerritoryId, Vector3 Position) public TriggerBox? Trigger { get; init; } - public override string Label - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return _202C_202B_206A_202D_206D_200F_202E_202C_206A_206A_202D_200F_200C_202D_200D_200E_202E_200B_202A_206E_202D_206B_206C_202E_200F_206F_202C_200E_202C_206B_206B_202D_200B_206C_202B_206A_200E_206E_202C_202B_202E(global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(1109447646), BoundaryId, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(998949340)); - } - } + public override string Label => "boundary (" + BoundaryId + ")"; - [MethodImpl(MethodImplOptions.NoInlining)] public ZoneBoundaryNode(string BoundaryId, uint TerritoryId, Vector3 Position, string PairedNodeId, bool RequiresFlying = false, uint? RequiredQuestId = null, TriggerBox? Trigger = null) { this.BoundaryId = BoundaryId; @@ -376,123 +74,7 @@ public abstract record NavNode(string Id, uint TerritoryId, Vector3 Position) this.RequiresFlying = RequiresFlying; this.RequiredQuestId = RequiredQuestId; this.Trigger = Trigger; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(10, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-699242314)); - defaultInterpolatedStringHandler.AppendFormatted(BoundaryId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-286212766)); - defaultInterpolatedStringHandler.AppendFormatted(TerritoryId); - base._002Ector(defaultInterpolatedStringHandler.ToStringAndClear(), TerritoryId, Position); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202E_206A_206B_206A_202B_206C_202A_202B_206E_206A_206C_206B_206F_200E_206C_206A_202D_202B_200E_206C_200F_200E_200D_200B_202A_200E_202A_200C_200E_200D_200E_200B_206B_202D_206E_206A_202C_200E_206D_200C_202E(); - _206E_206A_206C_200C_206D_206E_206C_202E_200B_200E_202D_202C_200E_206F_200D_200F_206C_200B_200B_202D_206D_206B_202D_206A_202D_206B_206F_202E_200B_206D_200D_206D_200F_206D_206A_200D_202D_200E_206A_206C_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(586794401)); - _206E_206A_206C_200C_206D_206E_206C_202E_200B_200E_202D_202C_200E_206F_200D_200F_206C_200B_200B_202D_206D_206B_202D_206A_202D_206B_206F_202E_200B_206D_200D_206D_200F_206D_206A_200D_202D_200E_206A_206C_202E(stringBuilder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(1120247710)); - int num = ((!PrintMembers(stringBuilder)) ? 670681123 : 670681120); - while (true) - { - int num2 = num; - int num3 = 670681121; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 670681120; - break; - case 1: - _206D_200F_202D_202C_202D_202C_206C_202A_202E_206E_202C_202C_206D_206A_200D_206C_206E_200D_200E_206A_202B_200E_200B_202D_200C_206E_206C_200D_206E_202D_202D_200D_206E_206E_202B_202C_206F_202C_202A_200F_202E(stringBuilder, ' '); - num = 670681123; - break; - case 2: - _206D_200F_202D_202C_202D_202C_206C_202A_202E_206E_202C_202C_206D_206A_200D_206C_206E_200D_200E_206A_202B_200E_200B_202D_200C_206E_206C_200D_206E_202D_202D_200D_206E_206E_202B_202C_206F_202C_202A_200F_202E(stringBuilder, '}'); - return _206E_206F_200E_200C_202A_206D_202E_200C_202C_200D_206B_200D_206A_206B_200B_206E_200B_200C_206B_206C_202A_206A_206B_200B_202C_206F_206C_200E_200E_206B_202B_202C_200F_206D_200C_200E_200E_202C_202A_206B_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected override bool PrintMembers(StringBuilder builder) - { - int num = ((!base.PrintMembers(builder)) ? 1187079342 : 1187079343); - while (true) - { - int num2 = num; - int num3 = 1187079342; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - _206E_206A_206C_200C_206D_206E_206C_202E_200B_200E_202D_202C_200E_206F_200D_200F_206C_200B_200B_202D_206D_206B_202D_206A_202D_206B_206F_202E_200B_206D_200D_206D_200F_206D_206A_200D_202D_200E_206A_206C_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-1310304385)); - _206A_202A_200B_206F_200B_202E_206C_200C_206B_200E_206E_206C_206B_206D_202C_200E_200B_206B_206E_206C_206A_206F_206E_202E_206C_200F_206E_206D_202A_206F_202B_206C_206A_202B_202B_200E_200F_202E_200C_202E(builder, (object)BoundaryId); - _206E_206A_206C_200C_206D_206E_206C_202E_200B_200E_202D_202C_200E_206F_200D_200F_206C_200B_200B_202D_206D_206B_202D_206A_202D_206B_206F_202E_200B_206D_200D_206D_200F_206D_206A_200D_202D_200E_206A_206C_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(404562551)); - _206A_202A_200B_206F_200B_202E_206C_200C_206B_200E_206E_206C_206B_206D_202C_200E_200B_206B_206E_206C_206A_206F_206E_202E_206C_200F_206E_206D_202A_206F_202B_206C_206A_202B_202B_200E_200F_202E_200C_202E(builder, (object)PairedNodeId); - _206E_206A_206C_200C_206D_206E_206C_202E_200B_200E_202D_202C_200E_206F_200D_200F_206C_200B_200B_202D_206D_206B_202D_206A_202D_206B_206F_202E_200B_206D_200D_206D_200F_206D_206A_200D_202D_200E_206A_206C_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-129640998)); - _206E_206A_206C_200C_206D_206E_206C_202E_200B_200E_202D_202C_200E_206F_200D_200F_206C_200B_200B_202D_206D_206B_202D_206A_202D_206B_206F_202E_200B_206D_200D_206D_200F_206D_206A_200D_202D_200E_206A_206C_202E(builder, RequiresFlying.ToString()); - _206E_206A_206C_200C_206D_206E_206C_202E_200B_200E_202D_202C_200E_206F_200D_200F_206C_200B_200B_202D_206D_206B_202D_206A_202D_206B_206F_202E_200B_206D_200D_206D_200F_206D_206A_200D_202D_200E_206A_206C_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-19022085)); - _206E_206A_206C_200C_206D_206E_206C_202E_200B_200E_202D_202C_200E_206F_200D_200F_206C_200B_200B_202D_206D_206B_202D_206A_202D_206B_206F_202E_200B_206D_200D_206D_200F_206D_206A_200D_202D_200E_206A_206C_202E(builder, RequiredQuestId.ToString()); - _206E_206A_206C_200C_206D_206E_206C_202E_200B_200E_202D_202C_200E_206F_200D_200F_206C_200B_200B_202D_206D_206B_202D_206A_202D_206B_206F_202E_200B_206D_200D_206D_200F_206D_206A_200D_202D_200E_206A_206C_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-1049678914)); - _206A_202A_200B_206F_200B_202E_206C_200C_206B_200E_206E_206C_206B_206D_202C_200E_200B_206B_206E_206C_206A_206F_206E_202E_206C_200F_206E_206D_202A_206F_202B_206C_206A_202B_202B_200E_200F_202E_200C_202E(builder, (object)Trigger); - return true; - case 1: - _206E_206A_206C_200C_206D_206E_206C_202E_200B_200E_202D_202C_200E_206F_200D_200F_206C_200B_200B_202D_206D_206B_202D_206A_202D_206B_206F_202E_200B_206D_200D_206D_200F_206D_206A_200D_202D_200E_206A_206C_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-1735617534)); - num = 1187079342; - break; - case 2: - num = 1187079343; - break; - } - } - } - - [CompilerGenerated] - public bool Equals(ZoneBoundaryNode? other) - { - int num = (((object)this == other) ? 1762989533 : 1762989534); - while (true) - { - int num2 = num; - int num3 = 1762989531; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = ((!EqualityComparer.Default.Equals(BoundaryId, other.BoundaryId)) ? 1762989532 : 1762989531); - break; - case 5: - num = ((!base.Equals(other)) ? 1762989532 : 1762989529); - break; - case 7: - return false; - case 8: - num = 1762989534; - break; - case 0: - num = ((!EqualityComparer.Default.Equals(PairedNodeId, other.PairedNodeId)) ? 1762989532 : 1762989528); - break; - case 6: - return true; - case 1: - num = ((!EqualityComparer.Default.Equals(RequiredQuestId, other.RequiredQuestId)) ? 1762989532 : 1762989535); - break; - case 3: - num = ((!EqualityComparer.Default.Equals(RequiresFlying, other.RequiresFlying)) ? 1762989532 : 1762989530); - break; - case 4: - return EqualityComparer.Default.Equals(Trigger, other.Trigger); - } - } - } - - bool IEquatable.Equals(ZoneBoundaryNode? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); + base._002Ector($"boundary:{BoundaryId}:{TerritoryId}", TerritoryId, Position); } [CompilerGenerated] @@ -506,60 +88,10 @@ public abstract record NavNode(string Id, uint TerritoryId, Vector3 Position) RequiredQuestId = this.RequiredQuestId; Trigger = this.Trigger; } - - static Type _200E_200C_206D_202A_200D_200D_200C_200E_202A_200C_200E_202A_202C_200B_202A_200F_200F_206C_206D_206B_202E_200B_206A_206D_206C_202C_200C_200C_200B_206A_206E_202B_206B_200D_206D_202A_202D_200E_206E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static string _202C_202B_206A_202D_206D_200F_202E_202C_206A_206A_202D_200F_200C_202D_200D_200E_202E_200B_202A_206E_202D_206B_206C_202E_200F_206F_202C_200E_202C_206B_206B_202D_200B_206C_202B_206A_200E_206E_202C_202B_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static StringBuilder _202E_206A_206B_206A_202B_206C_202A_202B_206E_206A_206C_206B_206F_200E_206C_206A_202D_202B_200E_206C_200F_200E_200D_200B_202A_200E_202A_200C_200E_200D_200E_200B_206B_202D_206E_206A_202C_200E_206D_200C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206E_206A_206C_200C_206D_206E_206C_202E_200B_200E_202D_202C_200E_206F_200D_200F_206C_200B_200B_202D_206D_206B_202D_206A_202D_206B_206F_202E_200B_206D_200D_206D_200F_206D_206A_200D_202D_200E_206A_206C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206D_200F_202D_202C_202D_202C_206C_202A_202E_206E_202C_202C_206D_206A_200D_206C_206E_200D_200E_206A_202B_200E_200B_202D_200C_206E_206C_200D_206E_202D_202D_200D_206E_206E_202B_202C_206F_202C_202A_200F_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206E_206F_200E_200C_202A_206D_202E_200C_202C_200D_206B_200D_206A_206B_200B_206E_200B_200C_206B_206C_202A_206A_206B_200B_202C_206F_206C_200E_200E_206B_202B_202C_200F_206D_200C_200E_200E_202C_202A_206B_202E(object P_0) - { - return P_0.ToString(); - } - - static StringBuilder _206A_202A_200B_206F_200B_202E_206C_200C_206B_200E_206E_206C_206B_206D_202C_200E_200B_206B_206E_206C_206A_206F_206E_202E_206C_200F_206E_206D_202A_206F_202B_206C_206A_202B_202B_200E_200F_202E_200C_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206D_200C_200C_206A_200B_200F_206F_202A_200B_206A_200C_202A_202A_206F_206A_200C_202C_202D_200C_206C_202A_202A_206D_200B_202C_202B_206F_200F_206A_200C_202D_202B_200C_200C_200C_206A_200B_202E_206F_202D_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } } public sealed record WarpNode : NavNode { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _202E_206D_200E_200E_206E_206F_200C_200D_200C_200E_200B_202E_200B_200E_206E_206D_200E_202A_202C_206A_200C_206E_200D_202D_200E_202C_206C_206E_200F_200B_206D_206B_206E_202B_200B_200F_200F_200D_206D_206C_202E(typeof(WarpNode).TypeHandle); - } - } - public uint WarpRowId { get; init; } public uint? NpcDataId { get; init; } @@ -574,19 +106,8 @@ public abstract record NavNode(string Id, uint TerritoryId, Vector3 Position) public bool RequireAllQuests { get; init; } - public override string Label - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(5, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-1730029279)); - defaultInterpolatedStringHandler.AppendFormatted(WarpRowId); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - } + public override string Label => $"warp {WarpRowId}"; - [MethodImpl(MethodImplOptions.NoInlining)] public WarpNode(uint WarpRowId, uint TerritoryId, Vector3 Position, uint? NpcDataId, uint[] RequiredQuestIds, int GilCost, uint[]? AvailableDuringMsqIds = null, ushort RequiredClassLevel = 0, bool RequireAllQuests = true) { this.WarpRowId = WarpRowId; @@ -596,145 +117,7 @@ public abstract record NavNode(string Id, uint TerritoryId, Vector3 Position) this.AvailableDuringMsqIds = AvailableDuringMsqIds; this.RequiredClassLevel = RequiredClassLevel; this.RequireAllQuests = RequireAllQuests; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(10, 6); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(1220390922)); - defaultInterpolatedStringHandler.AppendFormatted(WarpRowId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-286212766)); - defaultInterpolatedStringHandler.AppendFormatted(NpcDataId.GetValueOrDefault()); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(376013902)); - defaultInterpolatedStringHandler.AppendFormatted(TerritoryId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-136850898)); - defaultInterpolatedStringHandler.AppendFormatted(Position.X, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-640541805)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(376013902)); - defaultInterpolatedStringHandler.AppendFormatted(Position.Y, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(285114899)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-286212766)); - defaultInterpolatedStringHandler.AppendFormatted(Position.Z, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(285114899)); - base._002Ector(defaultInterpolatedStringHandler.ToStringAndClear(), TerritoryId, Position); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202B_202B_206C_206D_206D_200F_200E_206E_200E_200F_200C_206F_200E_206C_206B_200D_202B_202D_206A_202C_206F_206B_202B_206F_206F_202A_202B_206F_200C_200B_206F_206C_206C_206A_202A_202B_206D_200F_206B_202E_202E(); - _206B_206A_206A_206E_206E_200D_202E_202B_206F_200E_202D_206B_206C_206B_206B_202E_200C_200C_200C_200F_200E_206A_202E_206D_200C_206D_200D_200D_200D_200F_202A_202B_202A_200D_200C_206E_200C_200D_200E_206C_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(975218546)); - _206B_206A_206A_206E_206E_200D_202E_202B_206F_200E_202D_206B_206C_206B_206B_202E_200C_200C_200C_200F_200E_206A_202E_206D_200C_206D_200D_200D_200D_200F_202A_202B_202A_200D_200C_206E_200C_200D_200E_206C_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-169322018)); - int num = ((!PrintMembers(stringBuilder)) ? 233217275 : 233217272); - while (true) - { - int num2 = num; - int num3 = 233217273; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 233217272; - break; - case 2: - _206C_202E_206B_206F_200B_206D_200C_202E_200D_206E_200B_200C_202D_200B_206C_206D_200C_206C_206D_202A_200F_200C_206C_200C_202C_202B_206A_206F_200D_202D_202B_206E_206A_202C_200B_202B_202D_200F_206F_206D_202E(stringBuilder, '}'); - return _200F_206B_200E_206A_206A_200D_200E_200D_206C_200C_206E_202B_200B_202B_202B_200F_202A_206C_202E_202C_200F_200D_206C_206D_206A_202D_202C_206A_206F_206E_206E_202C_206B_206B_202D_202B_206C_206D_200F_202B_202E((object)stringBuilder); - case 1: - _206C_202E_206B_206F_200B_206D_200C_202E_200D_206E_200B_200C_202D_200B_206C_206D_200C_206C_206D_202A_200F_200C_206C_200C_202C_202B_206A_206F_200D_202D_202B_206E_206A_202C_200B_202B_202D_200F_206F_206D_202E(stringBuilder, ' '); - num = 233217275; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected override bool PrintMembers(StringBuilder builder) - { - int num = ((!base.PrintMembers(builder)) ? (-1453356101) : (-1453356104)); - while (true) - { - int num2 = num; - int num3 = -1453356103; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - _206B_206A_206A_206E_206E_200D_202E_202B_206F_200E_202D_206B_206C_206B_206B_202E_200C_200C_200C_200F_200E_206A_202E_206D_200C_206D_200D_200D_200D_200F_202A_202B_202A_200D_200C_206E_200C_200D_200E_206C_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(1020632027)); - _206B_206A_206A_206E_206E_200D_202E_202B_206F_200E_202D_206B_206C_206B_206B_202E_200C_200C_200C_200F_200E_206A_202E_206D_200C_206D_200D_200D_200D_200F_202A_202B_202A_200D_200C_206E_200C_200D_200E_206C_202E(builder, WarpRowId.ToString()); - _206B_206A_206A_206E_206E_200D_202E_202B_206F_200E_202D_206B_206C_206B_206B_202E_200C_200C_200C_200F_200E_206A_202E_206D_200C_206D_200D_200D_200D_200F_202A_202B_202A_200D_200C_206E_200C_200D_200E_206C_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(554799412)); - _206B_206A_206A_206E_206E_200D_202E_202B_206F_200E_202D_206B_206C_206B_206B_202E_200C_200C_200C_200F_200E_206A_202E_206D_200C_206D_200D_200D_200D_200F_202A_202B_202A_200D_200C_206E_200C_200D_200E_206C_202E(builder, NpcDataId.ToString()); - _206B_206A_206A_206E_206E_200D_202E_202B_206F_200E_202D_206B_206C_206B_206B_202E_200C_200C_200C_200F_200E_206A_202E_206D_200C_206D_200D_200D_200D_200F_202A_202B_202A_200D_200C_206E_200C_200D_200E_206C_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-804506538)); - _200B_206C_206F_206A_202B_206E_202E_206B_200E_202B_202A_206A_200E_202D_202C_202E_200B_200F_200B_206A_200F_202A_200B_206E_202C_200B_200F_206D_206E_206E_200C_200C_200C_206B_202D_206B_206E_202E_200B_202D_202E(builder, (object)RequiredQuestIds); - _206B_206A_206A_206E_206E_200D_202E_202B_206F_200E_202D_206B_206C_206B_206B_202E_200C_200C_200C_200F_200E_206A_202E_206D_200C_206D_200D_200D_200D_200F_202A_202B_202A_200D_200C_206E_200C_200D_200E_206C_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(353108370)); - _206B_206A_206A_206E_206E_200D_202E_202B_206F_200E_202D_206B_206C_206B_206B_202E_200C_200C_200C_200F_200E_206A_202E_206D_200C_206D_200D_200D_200D_200F_202A_202B_202A_200D_200C_206E_200C_200D_200E_206C_202E(builder, GilCost.ToString()); - _206B_206A_206A_206E_206E_200D_202E_202B_206F_200E_202D_206B_206C_206B_206B_202E_200C_200C_200C_200F_200E_206A_202E_206D_200C_206D_200D_200D_200D_200F_202A_202B_202A_200D_200C_206E_200C_200D_200E_206C_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-822611509)); - _200B_206C_206F_206A_202B_206E_202E_206B_200E_202B_202A_206A_200E_202D_202C_202E_200B_200F_200B_206A_200F_202A_200B_206E_202C_200B_200F_206D_206E_206E_200C_200C_200C_206B_202D_206B_206E_202E_200B_202D_202E(builder, (object)AvailableDuringMsqIds); - _206B_206A_206A_206E_206E_200D_202E_202B_206F_200E_202D_206B_206C_206B_206B_202E_200C_200C_200C_200F_200E_206A_202E_206D_200C_206D_200D_200D_200D_200F_202A_202B_202A_200D_200C_206E_200C_200D_200E_206C_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(1419894811)); - _206B_206A_206A_206E_206E_200D_202E_202B_206F_200E_202D_206B_206C_206B_206B_202E_200C_200C_200C_200F_200E_206A_202E_206D_200C_206D_200D_200D_200D_200F_202A_202B_202A_200D_200C_206E_200C_200D_200E_206C_202E(builder, RequiredClassLevel.ToString()); - _206B_206A_206A_206E_206E_200D_202E_202B_206F_200E_202D_206B_206C_206B_206B_202E_200C_200C_200C_200F_200E_206A_202E_206D_200C_206D_200D_200D_200D_200F_202A_202B_202A_200D_200C_206E_200C_200D_200E_206C_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-2077824329)); - _206B_206A_206A_206E_206E_200D_202E_202B_206F_200E_202D_206B_206C_206B_206B_202E_200C_200C_200C_200F_200E_206A_202E_206D_200C_206D_200D_200D_200D_200F_202A_202B_202A_200D_200C_206E_200C_200D_200E_206C_202E(builder, RequireAllQuests.ToString()); - return true; - case 1: - _206B_206A_206A_206E_206E_200D_202E_202B_206F_200E_202D_206B_206C_206B_206B_202E_200C_200C_200C_200F_200E_206A_202E_206D_200C_206D_200D_200D_200D_200F_202A_202B_202A_200D_200C_206E_200C_200D_200E_206C_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-1113468835)); - num = -1453356101; - break; - case 0: - num = -1453356104; - break; - } - } - } - - [CompilerGenerated] - public bool Equals(WarpNode? other) - { - int num = (((object)this == other) ? (-1614053652) : (-1614053664)); - while (true) - { - int num2 = num; - int num3 = -1614053654; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = -1614053664; - break; - case 5: - return false; - case 4: - num = ((!EqualityComparer.Default.Equals(RequiredQuestIds, other.RequiredQuestIds)) ? (-1614053649) : (-1614053654)); - break; - case 8: - num = ((!EqualityComparer.Default.Equals(RequiredClassLevel, other.RequiredClassLevel)) ? (-1614053649) : (-1614053651)); - break; - case 10: - num = ((!base.Equals(other)) ? (-1614053649) : (-1614053656)); - break; - case 6: - return true; - case 1: - num = ((!EqualityComparer.Default.Equals(AvailableDuringMsqIds, other.AvailableDuringMsqIds)) ? (-1614053649) : (-1614053662)); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(WarpRowId, other.WarpRowId)) ? (-1614053649) : (-1614053661)); - break; - case 0: - num = ((!EqualityComparer.Default.Equals(GilCost, other.GilCost)) ? (-1614053649) : (-1614053653)); - break; - case 9: - num = ((!EqualityComparer.Default.Equals(NpcDataId, other.NpcDataId)) ? (-1614053649) : (-1614053650)); - break; - case 7: - return EqualityComparer.Default.Equals(RequireAllQuests, other.RequireAllQuests); - } - } - } - - bool IEquatable.Equals(WarpNode? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); + base._002Ector($"warp:{WarpRowId}:{NpcDataId.GetValueOrDefault()}:{TerritoryId}:{Position.X:F1}:{Position.Y:F1}:{Position.Z:F1}", TerritoryId, Position); } [CompilerGenerated] @@ -750,180 +133,21 @@ public abstract record NavNode(string Id, uint TerritoryId, Vector3 Position) RequiredClassLevel = this.RequiredClassLevel; RequireAllQuests = this.RequireAllQuests; } - - static Type _202E_206D_200E_200E_206E_206F_200C_200D_200C_200E_200B_202E_200B_200E_206E_206D_200E_202A_202C_206A_200C_206E_200D_202D_200E_202C_206C_206E_200F_200B_206D_206B_206E_202B_200B_200F_200F_200D_206D_206C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202B_202B_206C_206D_206D_200F_200E_206E_200E_200F_200C_206F_200E_206C_206B_200D_202B_202D_206A_202C_206F_206B_202B_206F_206F_202A_202B_206F_200C_200B_206F_206C_206C_206A_202A_202B_206D_200F_206B_202E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206B_206A_206A_206E_206E_200D_202E_202B_206F_200E_202D_206B_206C_206B_206B_202E_200C_200C_200C_200F_200E_206A_202E_206D_200C_206D_200D_200D_200D_200F_202A_202B_202A_200D_200C_206E_200C_200D_200E_206C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206C_202E_206B_206F_200B_206D_200C_202E_200D_206E_200B_200C_202D_200B_206C_206D_200C_206C_206D_202A_200F_200C_206C_200C_202C_202B_206A_206F_200D_202D_202B_206E_206A_202C_200B_202B_202D_200F_206F_206D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200F_206B_200E_206A_206A_200D_200E_200D_206C_200C_206E_202B_200B_202B_202B_200F_202A_206C_202E_202C_200F_200D_206C_206D_206A_202D_202C_206A_206F_206E_206E_202C_206B_206B_202D_202B_206C_206D_200F_202B_202E(object P_0) - { - return P_0.ToString(); - } - - static StringBuilder _200B_206C_206F_206A_202B_206E_202E_206B_200E_202B_202A_206A_200E_202D_202C_202E_200B_200F_200B_206A_200F_202A_200B_206E_202C_200B_200F_206D_206E_206E_200C_200C_200C_206B_202D_206B_206E_202E_200B_202D_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206A_202A_206B_200E_200C_200F_202D_202A_200F_206B_200D_200E_200F_206D_202C_206E_200F_206C_206E_202A_206B_202E_200E_202D_202C_202C_202E_206B_202C_200B_206B_200D_206B_200D_200C_206D_202E_206E_206D_202D_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } } public sealed record ChocoboTaxiNode : NavNode { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _200C_202A_200C_202B_200C_206B_202B_206D_206B_206C_206E_202C_206B_200C_206A_206A_202D_206F_202C_202B_206B_206C_206B_202A_200C_206E_206B_206B_206A_202D_206A_206C_206A_200E_200E_202E_206E_200C_200D_202B_202E(typeof(ChocoboTaxiNode).TypeHandle); - } - } - public uint StandRowId { get; init; } public uint NpcDataId { get; init; } - public override string Label - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(5, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(944775830)); - defaultInterpolatedStringHandler.AppendFormatted(StandRowId); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - } + public override string Label => $"taxi {StandRowId}"; - [MethodImpl(MethodImplOptions.NoInlining)] public ChocoboTaxiNode(uint StandRowId, uint TerritoryId, Vector3 Position, uint NpcDataId) { this.StandRowId = StandRowId; this.NpcDataId = NpcDataId; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(6, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-1222129299)); - defaultInterpolatedStringHandler.AppendFormatted(StandRowId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(376013902)); - defaultInterpolatedStringHandler.AppendFormatted(TerritoryId); - base._002Ector(defaultInterpolatedStringHandler.ToStringAndClear(), TerritoryId, Position); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202B_202A_206A_202A_206A_206F_202A_202D_200F_206E_206E_202C_206C_206C_200C_206C_200C_200B_206D_206F_206B_200D_202E_202A_206A_200D_202D_202E_202D_202C_200B_200C_206F_206D_202B_200C_200B_202D_200E_206B_202E(); - _200B_202A_206B_206A_202D_200B_202E_206B_206F_200E_200E_202E_202D_200C_200D_200B_206B_206E_206F_206B_200C_206F_200B_206F_206D_206B_200D_200F_202B_206E_200D_200B_202C_202C_200F_206A_200E_202C_202A_206D_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(613920348)); - _200B_202A_206B_206A_202D_200B_202E_206B_206F_200E_200E_202E_202D_200C_200D_200B_206B_206E_206F_206B_200C_206F_200B_206F_206D_206B_200D_200F_202B_206E_200D_200B_202C_202C_200F_206A_200E_202C_202A_206D_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(1547267250)); - int num = ((!PrintMembers(stringBuilder)) ? 590040144 : 590040147); - while (true) - { - int num2 = num; - int num3 = 590040145; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 590040147; - break; - case 2: - _202E_206F_202D_206D_200C_202E_206C_202E_202C_200C_206E_202E_200D_206D_202E_206C_202B_206B_206C_206C_200B_202C_206E_206D_202B_206B_206E_202E_202D_202B_202B_202B_206E_206F_206F_202B_200D_206F_202E_206E_202E(stringBuilder, ' '); - num = 590040144; - break; - case 1: - _202E_206F_202D_206D_200C_202E_206C_202E_202C_200C_206E_202E_200D_206D_202E_206C_202B_206B_206C_206C_200B_202C_206E_206D_202B_206B_206E_202E_202D_202B_202B_202B_206E_206F_206F_202B_200D_206F_202E_206E_202E(stringBuilder, '}'); - return _206D_200D_200C_200B_202D_202E_200E_202A_202E_206D_206F_202D_202B_200D_200F_200E_200F_206A_206D_206D_206B_200C_202D_202C_202D_200F_206E_206E_202D_200F_200D_200E_200D_200C_202C_200C_202A_202B_200D_202B_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected override bool PrintMembers(StringBuilder builder) - { - int num = ((!base.PrintMembers(builder)) ? 973932099 : 973932096); - while (true) - { - int num2 = num; - int num3 = 973932097; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 973932096; - break; - case 1: - _200B_202A_206B_206A_202D_200B_202E_206B_206F_200E_200E_202E_202D_200C_200D_200B_206B_206E_206F_206B_200C_206F_200B_206F_206D_206B_200D_200F_202B_206E_200D_200B_202C_202C_200F_206A_200E_202C_202A_206D_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(520781629)); - num = 973932099; - break; - case 2: - _200B_202A_206B_206A_202D_200B_202E_206B_206F_200E_200E_202E_202D_200C_200D_200B_206B_206E_206F_206B_200C_206F_200B_206F_206D_206B_200D_200F_202B_206E_200D_200B_202C_202C_200F_206A_200E_202C_202A_206D_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-1862745090)); - _200B_202A_206B_206A_202D_200B_202E_206B_206F_200E_200E_202E_202D_200C_200D_200B_206B_206E_206F_206B_200C_206F_200B_206F_206D_206B_200D_200F_202B_206E_200D_200B_202C_202C_200F_206A_200E_202C_202A_206D_202E(builder, StandRowId.ToString()); - _200B_202A_206B_206A_202D_200B_202E_206B_206F_200E_200E_202E_202D_200C_200D_200B_206B_206E_206F_206B_200C_206F_200B_206F_206D_206B_200D_200F_202B_206E_200D_200B_202C_202C_200F_206A_200E_202C_202A_206D_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(554799412)); - _200B_202A_206B_206A_202D_200B_202E_206B_206F_200E_200E_202E_202D_200C_200D_200B_206B_206E_206F_206B_200C_206F_200B_206F_206D_206B_200D_200F_202B_206E_200D_200B_202C_202C_200F_206A_200E_202C_202A_206D_202E(builder, NpcDataId.ToString()); - return true; - } - } - } - - [CompilerGenerated] - public bool Equals(ChocoboTaxiNode? other) - { - int num = (((object)this == other) ? (-659902032) : (-659902028)); - while (true) - { - int num2 = num; - int num3 = -659902027; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = ((!EqualityComparer.Default.Equals(StandRowId, other.StandRowId)) ? (-659902027) : (-659902025)); - break; - case 5: - return true; - case 4: - num = -659902028; - break; - case 1: - num = ((!base.Equals(other)) ? (-659902027) : (-659902026)); - break; - case 2: - return EqualityComparer.Default.Equals(NpcDataId, other.NpcDataId); - case 0: - return false; - } - } - } - - bool IEquatable.Equals(ChocoboTaxiNode? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); + base._002Ector($"taxi:{StandRowId}:{TerritoryId}", TerritoryId, Position); } [CompilerGenerated] @@ -934,182 +158,24 @@ public abstract record NavNode(string Id, uint TerritoryId, Vector3 Position) Position = base.Position; NpcDataId = this.NpcDataId; } - - static Type _200C_202A_200C_202B_200C_206B_202B_206D_206B_206C_206E_202C_206B_200C_206A_206A_202D_206F_202C_202B_206B_206C_206B_202A_200C_206E_206B_206B_206A_202D_206A_206C_206A_200E_200E_202E_206E_200C_200D_202B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202B_202A_206A_202A_206A_206F_202A_202D_200F_206E_206E_202C_206C_206C_200C_206C_200C_200B_206D_206F_206B_200D_202E_202A_206A_200D_202D_202E_202D_202C_200B_200C_206F_206D_202B_200C_200B_202D_200E_206B_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200B_202A_206B_206A_202D_200B_202E_206B_206F_200E_200E_202E_202D_200C_200D_200B_206B_206E_206F_206B_200C_206F_200B_206F_206D_206B_200D_200F_202B_206E_200D_200B_202C_202C_200F_206A_200E_202C_202A_206D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202E_206F_202D_206D_200C_202E_206C_202E_202C_200C_206E_202E_200D_206D_202E_206C_202B_206B_206C_206C_200B_202C_206E_206D_202B_206B_206E_202E_202D_202B_202B_202B_206E_206F_206F_202B_200D_206F_202E_206E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206D_200D_200C_200B_202D_202E_200E_202A_202E_206D_206F_202D_202B_200D_200F_200E_200F_206A_206D_206D_206B_200C_202D_202C_202D_200F_206E_206E_202D_200F_200D_200E_200D_200C_202C_200C_202A_202B_200D_202B_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _200C_200B_200E_202B_206B_206E_206E_206A_200D_202C_206E_200C_202B_206E_202A_200F_202A_202D_206A_200D_202E_200E_206A_200F_202B_206F_202A_202D_200F_202E_200F_200D_200B_206D_200F_202A_202A_202D_200B_200F_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } } public sealed record SubRegionConnectorNode : NavNode { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _206C_202D_206E_200D_202C_200F_202B_202A_202D_200D_206D_206B_200B_206F_202D_206E_202A_200C_200D_202A_206C_200B_200E_202D_206F_202B_200C_202A_206D_202B_202A_202A_200B_202E_202E_202E_206D_200D_202E_202E_202E(typeof(SubRegionConnectorNode).TypeHandle); - } - } - public string SubRegionId { get; init; } public int ConnectorIndex { get; init; } public SubRegionConnectorKind Kind { get; init; } - public override string Label - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - return _202E_206E_206D_202C_200F_200F_206C_206D_200D_200B_200E_200D_206A_200E_200F_200C_200E_206F_206B_206A_200D_200F_200E_200E_206F_200C_206F_202E_200F_206D_202C_200E_200E_206E_202C_206A_202E_206E_206A_206D_202E(global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-1545521953), SubRegionId, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(998949340)); - } - } + public override string Label => "connector (" + SubRegionId + ")"; - [MethodImpl(MethodImplOptions.NoInlining)] public SubRegionConnectorNode(uint TerritoryId, Vector3 Position, string SubRegionId, int ConnectorIndex, SubRegionConnectorKind Kind = SubRegionConnectorKind.Pad) { this.SubRegionId = SubRegionId; this.ConnectorIndex = ConnectorIndex; this.Kind = Kind; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(12, 3); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(2126027042)); - defaultInterpolatedStringHandler.AppendFormatted(TerritoryId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(960996185)); - defaultInterpolatedStringHandler.AppendFormatted(ConnectorIndex); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-286212766)); - defaultInterpolatedStringHandler.AppendFormatted(SubRegionId); - base._002Ector(defaultInterpolatedStringHandler.ToStringAndClear(), TerritoryId, Position); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200E_200B_200B_206C_202C_200F_200D_200C_200C_202E_200F_200B_200C_206F_200B_200E_206D_200B_206C_206D_202E_202E_200C_206D_206B_206B_200F_200C_200E_206F_202C_206E_200E_206E_202A_200B_200E_206A_202D_202A_202E(); - _206F_206B_202B_206E_200E_202D_200D_206D_206C_202A_206E_200B_200F_200D_202B_206F_202B_206B_200B_202A_202B_200C_202E_206C_206F_206C_200D_202A_202E_202C_202D_202E_200C_206D_202C_200F_206C_202B_200D_202E_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(952806469)); - _206F_206B_202B_206E_200E_202D_200D_206D_206C_202A_206E_200B_200F_200D_202B_206F_202B_206B_200B_202A_202B_200C_202E_206C_206F_206C_200D_202A_202E_202C_202D_202E_200C_206D_202C_200F_206C_202B_200D_202E_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-979564187)); - int num = ((!PrintMembers(stringBuilder)) ? 1284783278 : 1284783277); - while (true) - { - int num2 = num; - int num3 = 1284783279; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _206A_200E_206A_202A_200C_206F_206C_206F_200B_200B_200E_200E_206C_202A_202A_206D_200C_202A_206E_202D_202E_206A_200F_206D_202C_202B_202D_200B_206C_200D_200F_206E_200F_202B_200E_206C_200D_200F_206A_202E(stringBuilder, '}'); - return _200E_200F_200F_206C_206A_206B_206C_202B_202C_200C_202C_200C_206B_206F_202A_206B_206D_202D_206B_200D_200C_200F_200F_200F_206D_202D_202B_206C_202E_206B_200C_200C_206A_206F_202C_206A_206F_200C_200B_202D_202E((object)stringBuilder); - case 2: - _206A_200E_206A_202A_200C_206F_206C_206F_200B_200B_200E_200E_206C_202A_202A_206D_200C_202A_206E_202D_202E_206A_200F_206D_202C_202B_202D_200B_206C_200D_200F_206E_200F_202B_200E_206C_200D_200F_206A_202E(stringBuilder, ' '); - num = 1284783278; - break; - case 0: - num = 1284783277; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected override bool PrintMembers(StringBuilder builder) - { - int num = ((!base.PrintMembers(builder)) ? 950981017 : 950981018); - while (true) - { - int num2 = num; - int num3 = 950981019; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 950981018; - break; - case 2: - _206F_206B_202B_206E_200E_202D_200D_206D_206C_202A_206E_200B_200F_200D_202B_206F_202B_206B_200B_202A_202B_200C_202E_206C_206F_206C_200D_202A_202E_202C_202D_202E_200C_206D_202C_200F_206C_202B_200D_202E_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-1212839402)); - _206A_206D_206D_200F_206D_200B_200B_200D_200D_202D_202D_206E_200F_206A_206F_202C_206B_202D_206E_200E_202A_200D_202E_202B_206E_200C_200F_202A_206E_200C_200D_202E_206E_200B_200D_200B_206F_206C_202C_206D_202E(builder, (object)SubRegionId); - _206F_206B_202B_206E_200E_202D_200D_206D_206C_202A_206E_200B_200F_200D_202B_206F_202B_206B_200B_202A_202B_200C_202E_206C_206F_206C_200D_202A_202E_202C_202D_202E_200C_206D_202C_200F_206C_202B_200D_202E_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(719570479)); - _206F_206B_202B_206E_200E_202D_200D_206D_206C_202A_206E_200B_200F_200D_202B_206F_202B_206B_200B_202A_202B_200C_202E_206C_206F_206C_200D_202A_202E_202C_202D_202E_200C_206D_202C_200F_206C_202B_200D_202E_202E(builder, ConnectorIndex.ToString()); - _206F_206B_202B_206E_200E_202D_200D_206D_206C_202A_206E_200B_200F_200D_202B_206F_202B_206B_200B_202A_202B_200C_202E_206C_206F_206C_200D_202A_202E_202C_202D_202E_200C_206D_202C_200F_206C_202B_200D_202E_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-1170933717)); - _206F_206B_202B_206E_200E_202D_200D_206D_206C_202A_206E_200B_200F_200D_202B_206F_202B_206B_200B_202A_202B_200C_202E_206C_206F_206C_200D_202A_202E_202C_202D_202E_200C_206D_202C_200F_206C_202B_200D_202E_202E(builder, Kind.ToString()); - return true; - case 1: - _206F_206B_202B_206E_200E_202D_200D_206D_206C_202A_206E_200B_200F_200D_202B_206F_202B_206B_200B_202A_202B_200C_202E_206C_206F_206C_200D_202A_202E_202C_202D_202E_200C_206D_202C_200F_206C_202B_200D_202E_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-1584690827)); - num = 950981017; - break; - } - } - } - - [CompilerGenerated] - public bool Equals(SubRegionConnectorNode? other) - { - int num = (((object)this == other) ? (-1558239083) : (-1558239087)); - while (true) - { - int num2 = num; - int num3 = -1558239085; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - return EqualityComparer.Default.Equals(Kind, other.Kind); - case 2: - num = ((!base.Equals(other)) ? (-1558239085) : (-1558239081)); - break; - case 5: - num = ((!EqualityComparer.Default.Equals(ConnectorIndex, other.ConnectorIndex)) ? (-1558239085) : (-1558239086)); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(SubRegionId, other.SubRegionId)) ? (-1558239085) : (-1558239082)); - break; - case 3: - num = -1558239087; - break; - case 0: - return false; - case 6: - return true; - } - } - } - - bool IEquatable.Equals(SubRegionConnectorNode? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); + base._002Ector($"connector:{TerritoryId}:{ConnectorIndex}:{SubRegionId}", TerritoryId, Position); } [CompilerGenerated] @@ -1121,175 +187,18 @@ public abstract record NavNode(string Id, uint TerritoryId, Vector3 Position) ConnectorIndex = this.ConnectorIndex; Kind = this.Kind; } - - static Type _206C_202D_206E_200D_202C_200F_202B_202A_202D_200D_206D_206B_200B_206F_202D_206E_202A_200C_200D_202A_206C_200B_200E_202D_206F_202B_200C_202A_206D_202B_202A_202A_200B_202E_202E_202E_206D_200D_202E_202E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static string _202E_206E_206D_202C_200F_200F_206C_206D_200D_200B_200E_200D_206A_200E_200F_200C_200E_206F_206B_206A_200D_200F_200E_200E_206F_200C_206F_202E_200F_206D_202C_200E_200E_206E_202C_206A_202E_206E_206A_206D_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static StringBuilder _200E_200B_200B_206C_202C_200F_200D_200C_200C_202E_200F_200B_200C_206F_200B_200E_206D_200B_206C_206D_202E_202E_200C_206D_206B_206B_200F_200C_200E_206F_202C_206E_200E_206E_202A_200B_200E_206A_202D_202A_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206F_206B_202B_206E_200E_202D_200D_206D_206C_202A_206E_200B_200F_200D_202B_206F_202B_206B_200B_202A_202B_200C_202E_206C_206F_206C_200D_202A_202E_202C_202D_202E_200C_206D_202C_200F_206C_202B_200D_202E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206A_200E_206A_202A_200C_206F_206C_206F_200B_200B_200E_200E_206C_202A_202A_206D_200C_202A_206E_202D_202E_206A_200F_206D_202C_202B_202D_200B_206C_200D_200F_206E_200F_202B_200E_206C_200D_200F_206A_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200E_200F_200F_206C_206A_206B_206C_202B_202C_200C_202C_200C_206B_206F_202A_206B_206D_202D_206B_200D_200C_200F_200F_200F_206D_202D_202B_206C_202E_206B_200C_200C_206A_206F_202C_206A_206F_200C_200B_202D_202E(object P_0) - { - return P_0.ToString(); - } - - static StringBuilder _206A_206D_206D_200F_206D_200B_200B_200D_200D_202D_202D_206E_200F_206A_206F_202C_206B_202D_206E_200E_202A_200D_202E_202B_206E_200C_200F_202A_206E_200C_200D_202E_206E_200B_200D_200B_206F_206C_202C_206D_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _200C_206F_202C_202C_206F_200C_206F_202E_206C_200F_206A_202E_202D_200B_206F_206F_200E_200F_200C_202C_202C_200E_206F_200F_206F_200C_202A_202C_202A_202B_206A_206A_206A_206A_200F_206A_206D_202A_206F_202D_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } } public sealed record TicketNode : NavNode { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _200D_206C_200B_202E_206A_200B_202C_202B_200D_202E_206F_200B_200F_206D_200F_200F_200C_202C_202D_206F_206C_206E_206A_206C_206B_200C_202D_206A_206F_202E_202B_202C_206A_200B_200D_200E_206E_206D_200B_206D_202E(typeof(TicketNode).TypeHandle); - } - } - public uint ItemId { get; init; } - public override string Label - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(7, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-563207380)); - defaultInterpolatedStringHandler.AppendFormatted(ItemId); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - } + public override string Label => $"ticket {ItemId}"; - [MethodImpl(MethodImplOptions.NoInlining)] public TicketNode(uint ItemId, uint TerritoryId, Vector3 Position) { this.ItemId = ItemId; - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(8, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(1008041231)); - defaultInterpolatedStringHandler.AppendFormatted(ItemId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-968357598)); - defaultInterpolatedStringHandler.AppendFormatted(TerritoryId); - base._002Ector(defaultInterpolatedStringHandler.ToStringAndClear(), TerritoryId, Position); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202B_206E_206E_200D_202D_202C_200D_206F_202A_202B_206E_206E_202D_206D_202A_202B_200C_202A_206E_206A_200B_200E_202E_206B_206D_202D_202E_206C_202B_202B_202B_202A_202C_206E_202D_206E_202E_200E_206C_202C_202E(); - _206D_206C_206D_206E_202C_202B_202B_200C_206C_200B_206B_200E_200D_200E_206E_200C_206C_202D_206E_200B_206B_206F_206F_200D_206F_206B_200E_202E_206D_200C_202B_200C_200F_206B_206B_200C_206F_206F_206D_206D_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(1284211481)); - _206D_206C_206D_206E_202C_202B_202B_200C_206C_200B_206B_200E_200D_200E_206E_200C_206C_202D_206E_200B_206B_206F_206F_200D_206F_206B_200E_202E_206D_200C_202B_200C_200F_206B_206B_200C_206F_206F_206D_206D_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(1547267250)); - int num = ((!PrintMembers(stringBuilder)) ? 1054078675 : 1054078672); - while (true) - { - int num2 = num; - int num3 = 1054078674; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1054078672; - break; - case 2: - _200B_206F_202D_206E_206E_200F_200E_202C_202D_202A_206A_206F_206E_206F_206C_202B_202C_202D_200C_202A_202B_200D_202E_206F_206E_206A_202E_206F_206C_200F_202A_200E_202E_206D_202C_206D_200B_206B_200F_200C_202E(stringBuilder, ' '); - num = 1054078675; - break; - case 1: - _200B_206F_202D_206E_206E_200F_200E_202C_202D_202A_206A_206F_206E_206F_206C_202B_202C_202D_200C_202A_202B_200D_202E_206F_206E_206A_202E_206F_206C_200F_202A_200E_202E_206D_202C_206D_200B_206B_200F_200C_202E(stringBuilder, '}'); - return _206A_206B_200B_206E_206C_202B_200F_206F_206A_200E_202B_206C_206E_200D_202A_206D_202D_206F_200D_202B_200B_206D_202E_206B_200F_200E_202C_200B_206F_202A_200B_206C_202A_202A_200C_200E_206C_200D_200F_206B_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected override bool PrintMembers(StringBuilder builder) - { - int num = ((!base.PrintMembers(builder)) ? 342150993 : 342150992); - while (true) - { - int num2 = num; - int num3 = 342150993; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - _206D_206C_206D_206E_202C_202B_202B_200C_206C_200B_206B_200E_200D_200E_206E_200C_206C_202D_206E_200B_206B_206F_206F_200D_206F_206B_200E_202E_206D_200C_202B_200C_200F_206B_206B_200C_206F_206F_206D_206D_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(1694792627)); - _206D_206C_206D_206E_202C_202B_202B_200C_206C_200B_206B_200E_200D_200E_206E_200C_206C_202D_206E_200B_206B_206F_206F_200D_206F_206B_200E_202E_206D_200C_202B_200C_200F_206B_206B_200C_206F_206F_206D_206D_202E(builder, ItemId.ToString()); - return true; - case 1: - _206D_206C_206D_206E_202C_202B_202B_200C_206C_200B_206B_200E_200D_200E_206E_200C_206C_202D_206E_200B_206B_206F_206F_200D_206F_206B_200E_202E_206D_200C_202B_200C_200F_206B_206B_200C_206F_206F_206D_206D_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(520781629)); - num = 342150993; - break; - case 2: - num = 342150992; - break; - } - } - } - - [CompilerGenerated] - public bool Equals(TicketNode? other) - { - int num = (((object)this == other) ? (-184917179) : (-184917184)); - while (true) - { - int num2 = num; - int num3 = -184917183; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -184917184; - break; - case 1: - num = ((!base.Equals(other)) ? (-184917183) : (-184917182)); - break; - case 3: - return EqualityComparer.Default.Equals(ItemId, other.ItemId); - case 0: - return false; - case 4: - return true; - } - } - } - - bool IEquatable.Equals(TicketNode? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); + base._002Ector($"ticket:{ItemId}:{TerritoryId}", TerritoryId, Position); } [CompilerGenerated] @@ -1299,139 +208,15 @@ public abstract record NavNode(string Id, uint TerritoryId, Vector3 Position) TerritoryId = base.TerritoryId; Position = base.Position; } - - static Type _200D_206C_200B_202E_206A_200B_202C_202B_200D_202E_206F_200B_200F_206D_200F_200F_200C_202C_202D_206F_206C_206E_206A_206C_206B_200C_202D_206A_206F_202E_202B_202C_206A_200B_200D_200E_206E_206D_200B_206D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202B_206E_206E_200D_202D_202C_200D_206F_202A_202B_206E_206E_202D_206D_202A_202B_200C_202A_206E_206A_200B_200E_202E_206B_206D_202D_202E_206C_202B_202B_202B_202A_202C_206E_202D_206E_202E_200E_206C_202C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206D_206C_206D_206E_202C_202B_202B_200C_206C_200B_206B_200E_200D_200E_206E_200C_206C_202D_206E_200B_206B_206F_206F_200D_206F_206B_200E_202E_206D_200C_202B_200C_200F_206B_206B_200C_206F_206F_206D_206D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200B_206F_202D_206E_206E_200F_200E_202C_202D_202A_206A_206F_206E_206F_206C_202B_202C_202D_200C_202A_202B_200D_202E_206F_206E_206A_202E_206F_206C_200F_202A_200E_202E_206D_202C_206D_200B_206B_200F_200C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206A_206B_200B_206E_206C_202B_200F_206F_206A_200E_202B_206C_206E_200D_202A_206D_202D_206F_200D_202B_200B_206D_202E_206B_200F_200E_202C_200B_206F_202A_200B_206C_202A_202A_200C_200E_206C_200D_200F_206B_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _202C_206D_200B_202D_202D_200E_206C_202B_206E_200C_206B_202A_206A_206D_206D_200F_202C_200C_202A_202B_206B_206C_202D_200B_206E_206C_200E_200F_202A_206F_200F_206F_206D_200E_206F_202D_206E_202D_200C_200F_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } } public sealed record PositionNode : NavNode { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _206A_206C_206F_206D_206F_200F_202E_206F_200B_206D_202B_206E_200D_206E_206F_202E_206C_206E_200B_206A_200F_206C_202C_206E_200E_206C_202D_200D_202B_200D_200D_206F_200F_206F_206D_202B_200B_206E_206C_202B_202E(typeof(PositionNode).TypeHandle); - } - } + public override string Label => $"position ({base.Position.X:F0}, {base.Position.Z:F0})"; - public override string Label - { - [MethodImpl(MethodImplOptions.NoInlining)] - get - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(13, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-1142645933)); - defaultInterpolatedStringHandler.AppendFormatted(base.Position.X, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(362137046)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(1789050939)); - defaultInterpolatedStringHandler.AppendFormatted(base.Position.Z, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(362137046)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-494077548)); - return defaultInterpolatedStringHandler.ToStringAndClear(); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] public PositionNode(uint TerritoryId, Vector3 Position) + : base($"pos:{TerritoryId}:{Position.X:F1}:{Position.Y:F1}:{Position.Z:F1}", TerritoryId, Position) { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(7, 4); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-2022016874)); - defaultInterpolatedStringHandler.AppendFormatted(TerritoryId); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-968357598)); - defaultInterpolatedStringHandler.AppendFormatted(Position.X, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-640541805)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-286212766)); - defaultInterpolatedStringHandler.AppendFormatted(Position.Y, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-640541805)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-136850898)); - defaultInterpolatedStringHandler.AppendFormatted(Position.Z, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(978384048)); - base._002Ector(defaultInterpolatedStringHandler.ToStringAndClear(), TerritoryId, Position); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200B_202C_202C_206A_200B_206C_206A_200C_200C_206E_202C_200C_200F_206E_200C_202D_202D_200C_202E_206C_200C_202A_200F_202C_200D_200D_200C_202D_202E_200B_200F_200D_206F_200D_202C_200B_202A_206E_202E_200C_202E(); - _202B_200D_200F_200D_200C_200D_206F_202D_206D_206A_206A_206D_200B_200B_202D_206F_206E_206E_202E_206B_200C_200D_206A_206A_206E_206E_200F_200C_206C_206C_200F_200E_206C_202A_202D_202A_206B_200C_200B_202A_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-1140203769)); - _202B_200D_200F_200D_200C_200D_206F_202D_206D_206A_206A_206D_200B_200B_202D_206F_206E_206E_202E_206B_200C_200D_206A_206A_206E_206E_200F_200C_206C_206C_200F_200E_206C_202A_202D_202A_206B_200C_200B_202A_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-979564187)); - int num = ((!PrintMembers(stringBuilder)) ? (-501789777) : (-501789780)); - while (true) - { - int num2 = num; - int num3 = -501789778; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -501789780; - break; - case 1: - _206B_200B_206B_200D_206F_206A_206A_202B_202E_200E_202C_202E_202A_206F_202C_200C_202D_200F_200F_206C_202E_200F_200C_206F_206C_200C_206F_200B_200E_206A_206C_206F_202E_202B_200E_206F_202C_206C_206C_200D_202E(stringBuilder, '}'); - return _206E_200E_206A_206B_202C_202E_200F_202A_206E_202C_206C_206E_200D_200C_206A_200C_202C_202A_206C_200D_200F_206F_206C_202A_202A_206E_206C_206F_202A_206A_206D_202D_200E_200F_200B_200F_202B_200D_202E_202D_202E((object)stringBuilder); - case 2: - _206B_200B_206B_200D_206F_206A_206A_202B_202E_200E_202C_202E_202A_206F_202C_200C_202D_200F_200F_206C_202E_200F_200C_206F_206C_200C_206F_200B_200E_206A_206C_206F_202E_202B_200E_206F_202C_206C_206C_200D_202E(stringBuilder, ' '); - num = -501789777; - break; - } - } - } - - [CompilerGenerated] - public bool Equals(PositionNode? other) - { - int num = (((object)this == other) ? (-1213911154) : (-1213911153)); - while (true) - { - int num2 = num; - int num3 = -1213911154; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0044; - case 1: - return base.Equals(other); - case 0: - return true; - } - continue; - IL_0044: - num = -1213911153; - } - } - - bool IEquatable.Equals(PositionNode? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); } [CompilerGenerated] @@ -1440,176 +225,7 @@ public abstract record NavNode(string Id, uint TerritoryId, Vector3 Position) TerritoryId = base.TerritoryId; Position = base.Position; } - - static Type _206A_206C_206F_206D_206F_200F_202E_206F_200B_206D_202B_206E_200D_206E_206F_202E_206C_206E_200B_206A_200F_206C_202C_206E_200E_206C_202D_200D_202B_200D_200D_206F_200F_206F_206D_202B_200B_206E_206C_202B_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200B_202C_202C_206A_200B_206C_206A_200C_200C_206E_202C_200C_200F_206E_200C_202D_202D_200C_202E_206C_200C_202A_200F_202C_200D_200D_200C_202D_202E_200B_200F_200D_206F_200D_202C_200B_202A_206E_202E_200C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202B_200D_200F_200D_200C_200D_206F_202D_206D_206A_206A_206D_200B_200B_202D_206F_206E_206E_202E_206B_200C_200D_206A_206A_206E_206E_200F_200C_206C_206C_200F_200E_206C_202A_202D_202A_206B_200C_200B_202A_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206B_200B_206B_200D_206F_206A_206A_202B_202E_200E_202C_202E_202A_206F_202C_200C_202D_200F_200F_206C_202E_200F_200C_206F_206C_200C_206F_200B_200E_206A_206C_206F_202E_202B_200E_206F_202C_206C_206C_200D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206E_200E_206A_206B_202C_202E_200F_202A_206E_202C_206C_206E_200D_200C_206A_200C_202C_202A_206C_200D_200F_206F_206C_202A_202A_206E_206C_206F_202A_206A_206D_202D_200E_200F_200B_200F_202B_200D_202E_202D_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _202D_202A_202E_206C_200E_206A_200B_206B_206C_200C_200C_206C_206B_202C_200D_200E_206A_200B_206C_202A_200B_206B_200B_206F_206D_202C_200E_202A_206A_202A_206A_206D_200F_206F_200C_202C_202E_206A_202C_200C_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } - } - - [CompilerGenerated] - protected virtual Type EqualityContract - { - [CompilerGenerated] - get - { - return _200E_202D_206D_200D_206E_200D_206E_206E_202D_206C_200C_206A_206E_200C_202E_202E_202D_206D_200C_206D_206D_200F_200E_200B_200B_200D_206A_202C_206E_206C_202E_202D_202B_206C_206D_206E_202D_206C_206C_200F_202E(typeof(NavNode).TypeHandle); - } } public abstract string Label { get; } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206A_206B_206A_200C_206E_206E_202E_206F_206E_206D_206A_200B_202D_206D_200E_206C_206A_206B_200C_200E_200C_200D_206A_206A_200B_202A_206D_206D_200E_206C_206D_202A_200C_202C_202A_206A_206C_206D_202B_206C_202E(); - _200E_200F_200D_202B_202A_202B_202B_206E_206D_202D_206D_200B_200B_202D_206E_206B_206E_206B_206F_202B_200B_200F_200E_206E_200C_202D_200F_202A_200D_206E_202D_200B_200B_202D_206C_206D_206F_202B_200B_206D_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(1771580269)); - _200E_200F_200D_202B_202A_202B_202B_206E_206D_202D_206D_200B_200B_202D_206E_206B_206E_206B_206F_202B_200B_200F_200E_206E_200C_202D_200F_202A_200D_206E_202D_200B_200B_202D_206C_206D_206F_202B_200B_206D_202E(stringBuilder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(1886515922)); - int num = ((!PrintMembers(stringBuilder)) ? 1763600103 : 1763600100); - while (true) - { - int num2 = num; - int num3 = 1763600102; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 1763600100; - break; - case 1: - _206C_200B_200E_206B_206F_202A_200C_200E_206C_202A_200E_206B_200F_202C_206A_206E_200B_206D_200E_206D_200C_200C_200D_200C_202C_206F_200F_200B_206B_202E_202E_202B_206A_206B_200B_206B_206A_202E_200D_206A_202E(stringBuilder, '}'); - return _206C_206A_200C_202C_200C_206C_200E_202B_206A_200E_200D_206B_200B_202B_200F_206B_206C_206B_200F_206B_206E_200D_202C_206C_202A_202D_202E_200C_206F_200B_200F_200C_206F_206E_206C_200C_202C_206D_202B_200D_202E((object)stringBuilder); - case 2: - _206C_200B_200E_206B_206F_202A_200C_200E_206C_202A_200E_206B_200F_202C_206A_206E_200B_206D_200E_206D_200C_200C_200D_200C_202C_206F_200F_200B_206B_202E_202E_202B_206A_206B_200B_206B_206A_202E_200D_206A_202E(stringBuilder, ' '); - num = 1763600103; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected virtual bool PrintMembers(StringBuilder builder) - { - _206E_202C_202C_202E_206B_200D_200E_202E_206B_206B_202E_206A_202D_200C_206E_202A_206F_200F_202E_206C_206D_200C_202E_202C_200B_206C_200E_206A_206A_200C_200E_200B_206C_202B_202D_200D_200C_202C_202C_206C_202E(); - _200E_200F_200D_202B_202A_202B_202B_206E_206D_202D_206D_200B_200B_202D_206E_206B_206E_206B_206F_202B_200B_200F_200E_206E_200C_202D_200F_202A_200D_206E_202D_200B_200B_202D_206C_206D_206F_202B_200B_206D_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(1765352694)); - _202B_200D_206D_200F_206B_200D_202E_202B_202C_200D_206F_200E_206C_200B_202C_206B_202E_206D_206A_206C_202A_202C_200D_202D_202B_202D_200B_206B_200E_202A_200F_206B_206F_200B_202A_206A_202D_200C_206F_206B_202E(builder, (object)Id); - _200E_200F_200D_202B_202A_202B_202B_206E_206D_202D_206D_200B_200B_202D_206E_206B_206E_206B_206F_202B_200B_200F_200E_206E_200C_202D_200F_202A_200D_206E_202D_200B_200B_202D_206C_206D_206F_202B_200B_206D_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-1370916953)); - _200E_200F_200D_202B_202A_202B_202B_206E_206D_202D_206D_200B_200B_202D_206E_206B_206E_206B_206F_202B_200B_200F_200E_206E_200C_202D_200F_202A_200D_206E_202D_200B_200B_202D_206C_206D_206F_202B_200B_206D_202E(builder, TerritoryId.ToString()); - _200E_200F_200D_202B_202A_202B_202B_206E_206D_202D_206D_200B_200B_202D_206E_206B_206E_206B_206F_202B_200B_200F_200E_206E_200C_202D_200F_202A_200D_206E_202D_200B_200B_202D_206C_206D_206F_202B_200B_206D_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-1811452076)); - _200E_200F_200D_202B_202A_202B_202B_206E_206D_202D_206D_200B_200B_202D_206E_206B_206E_206B_206F_202B_200B_200F_200E_206E_200C_202D_200F_202A_200D_206E_202D_200B_200B_202D_206C_206D_206F_202B_200B_206D_202E(builder, Position.ToString()); - _200E_200F_200D_202B_202A_202B_202B_206E_206D_202D_206D_200B_200B_202D_206E_206B_206E_206B_206F_202B_200B_200F_200E_206E_200C_202D_200F_202A_200D_206E_202D_200B_200B_202D_206C_206D_206F_202B_200B_206D_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-743080443)); - _202B_200D_206D_200F_206B_200D_202E_202B_202C_200D_206F_200E_206C_200B_202C_206B_202E_206D_206A_206C_202A_202C_200D_202D_202B_202D_200B_206B_200E_202A_200F_206B_206F_200B_202A_206A_202D_200C_206F_206B_202E(builder, (object)Label); - return true; - } - - [CompilerGenerated] - public virtual bool Equals(NavNode? other) - { - int num = (((object)this == other) ? 164514831 : 164514827); - while (true) - { - int num2 = num; - int num3 = 164514829; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 7: - num = ((!_202C_202B_206E_206A_202D_206E_202A_206A_206B_206F_200E_200D_200B_202A_202D_200F_200E_200F_202C_200E_206D_202E_200F_206B_206C_206E_200B_200F_200D_200D_200F_202A_202E_202C_202B_202D_202B_202B_202E(EqualityContract, other.EqualityContract)) ? 164514828 : 164514825); - break; - case 2: - return true; - case 3: - num = 164514827; - break; - case 0: - num = ((!EqualityComparer.Default.Equals(TerritoryId, other.TerritoryId)) ? 164514828 : 164514824); - break; - case 1: - return false; - case 4: - num = ((!EqualityComparer.Default.Equals(Id, other.Id)) ? 164514828 : 164514829); - break; - case 6: - num = (((object)other == null) ? 164514828 : 164514826); - break; - case 5: - return EqualityComparer.Default.Equals(Position, other.Position); - } - } - } - - bool IEquatable.Equals(NavNode? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200E_202D_206D_200D_206E_200D_206E_206E_202D_206C_200C_206A_206E_200C_202E_202E_202D_206D_200C_206D_206D_200F_200E_200B_200B_200D_206A_202C_206E_206C_202E_202D_202B_206C_206D_206E_202D_206C_206C_200F_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206A_206B_206A_200C_206E_206E_202E_206F_206E_206D_206A_200B_202D_206D_200E_206C_206A_206B_200C_200E_200C_200D_206A_206A_200B_202A_206D_206D_200E_206C_206D_202A_200C_202C_202A_206A_206C_206D_202B_206C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200E_200F_200D_202B_202A_202B_202B_206E_206D_202D_206D_200B_200B_202D_206E_206B_206E_206B_206F_202B_200B_200F_200E_206E_200C_202D_200F_202A_200D_206E_202D_200B_200B_202D_206C_206D_206F_202B_200B_206D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206C_200B_200E_206B_206F_202A_200C_200E_206C_202A_200E_206B_200F_202C_206A_206E_200B_206D_200E_206D_200C_200C_200D_200C_202C_206F_200F_200B_206B_202E_202E_202B_206A_206B_200B_206B_206A_202E_200D_206A_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206C_206A_200C_202C_200C_206C_200E_202B_206A_200E_200D_206B_200B_202B_200F_206B_206C_206B_200F_206B_206E_200D_202C_206C_202A_202D_202E_200C_206F_200B_200F_200C_206F_206E_206C_200C_202C_206D_202B_200D_202E(object P_0) - { - return P_0.ToString(); - } - - static void _206E_202C_202C_202E_206B_200D_200E_202E_206B_206B_202E_206A_202D_200C_206E_202A_206F_200F_202E_206C_206D_200C_202E_202C_200B_206C_200E_206A_206A_200C_200E_200B_206C_202B_202D_200D_200C_202C_202C_206C_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _202B_200D_206D_200F_206B_200D_202E_202B_202C_200D_206F_200E_206C_200B_202C_206B_202E_206D_206A_206C_202A_202C_200D_202D_202B_202D_200B_206B_200E_202A_200F_206B_206F_200B_202A_206A_202D_200C_206F_206B_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _202C_202B_206E_206A_202D_206E_202A_206A_206B_206F_200E_200D_200B_202A_202D_200F_200E_200F_202C_200E_206D_202E_200F_206B_206C_206E_200B_200F_200D_200D_200F_202A_202E_202C_202B_202D_202B_202B_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } } diff --git a/SmartNav/SmartNav.csproj b/SmartNav/SmartNav.csproj index c50361d..1dbb74c 100644 --- a/SmartNav/SmartNav.csproj +++ b/SmartNav/SmartNav.csproj @@ -22,18 +22,18 @@ C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\Dalamud.dll + + C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\FFXIVClientStructs.dll + + + C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\Lumina.dll + C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\Lumina.Excel.dll ..\..\LLib.dll - - C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\Lumina.dll - - - C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\FFXIVClientStructs.dll - ..\..\SmartNav.Data.dll diff --git a/SmartNav/SmartNav/CostCalculator.cs b/SmartNav/SmartNav/CostCalculator.cs index fd77bd8..3f84671 100644 --- a/SmartNav/SmartNav/CostCalculator.cs +++ b/SmartNav/SmartNav/CostCalculator.cs @@ -8,50 +8,21 @@ public sealed class CostCalculator(ITerritoryInfo territoryInfo) { public float EstimateWithinZoneTravelTime(Vector3 from, Vector3 to, uint territoryId, PlayerNavState playerState) { - int num = (territoryInfo.CanUseMount(territoryId) ? (-1627784527) : (-1627784525)); - float num7 = default(float); - while (true) + if (!territoryInfo.CanUseMount(territoryId)) { - int num2 = num; - int num3 = -1627784522; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 8: - { - float num8 = _200D_202D_202A_202D_202B_206A_202A_202A_206F_200B_206C_206F_202A_206D_202C_206D_202A_206C_202C_202D_200E_202A_200D_206F_200B_200B_206F_206C_202E_206D_202D_206D_206E_200E_200C_206E_206E_206B_202C_202C_202E(playerState.GetMountSpeedLevel(territoryId)); - return num7 / num8 + 1f; - } - case 7: - num = ((!playerState.MountUnlocked) ? (-1627784528) : (-1627784521)); - break; - case 4: - num7 = Estimate2DDistance(from, to) * 1.3f; - num = (playerState.MountUnlocked ? (-1627784514) : (-1627784524)); - break; - case 1: - if (playerState.IsFlyingUnlocked(territoryId)) - { - num = -1627784523; - break; - } - goto case 6; - case 5: - return Estimate2DDistance(from, to) * 1.1f / 7.8f; - case 0: - num = -1627784525; - break; - case 2: - return num7 / 6f; - case 6: - num = -1627784526; - break; - case 3: - return Vector3.Distance(from, to) / 20f + 1f; - } + return Estimate2DDistance(from, to) * 1.1f / 7.8f; } + if (playerState.MountUnlocked && playerState.IsFlyingUnlocked(territoryId)) + { + return Vector3.Distance(from, to) / 20f + 1f; + } + float num = Estimate2DDistance(from, to) * 1.3f; + if (!playerState.MountUnlocked) + { + return num / 6f; + } + float mountGroundSpeed = MovementData.Speeds.GetMountGroundSpeed(playerState.GetMountSpeedLevel(territoryId)); + return num / mountGroundSpeed + 1f; } public static float EstimateTeleportTime() @@ -68,16 +39,6 @@ public sealed class CostCalculator(ITerritoryInfo territoryInfo) { float num = from.X - to.X; float num2 = from.Z - to.Z; - return _202B_202B_206C_206D_200B_206B_206C_202B_200B_206E_200E_200E_200F_206F_206C_200D_206C_206A_202E_202B_200E_206F_202B_202B_206E_200D_202A_202D_200E_202E_206A_200C_202E_200D_202E_206D_200B_200C_206D_202E_202E(num * num + num2 * num2); - } - - static float _200D_202D_202A_202D_202B_206A_202A_202A_206F_200B_206C_206F_202A_206D_202C_206D_202A_206C_202C_202D_200E_202A_200D_206F_200B_200B_206F_206C_202E_206D_202D_206D_206E_200E_200C_206E_206E_206B_202C_202C_202E(int P_0) - { - return MovementData.Speeds.GetMountGroundSpeed(P_0); - } - - static float _202B_202B_206C_206D_200B_206B_206C_202B_200B_206E_200E_200E_200F_206F_206C_200D_206C_206A_202E_202B_200E_206F_202B_202B_206E_200D_202A_202D_200E_202E_206A_200C_202E_200D_202E_206D_200B_200C_206D_202E_202E(float P_0) - { - return MathF.Sqrt(P_0); + return MathF.Sqrt(num * num + num2 * num2); } } diff --git a/SmartNav/SmartNav/NavGraphBuilder.cs b/SmartNav/SmartNav/NavGraphBuilder.cs index 8c57dfa..002c1ad 100644 --- a/SmartNav/SmartNav/NavGraphBuilder.cs +++ b/SmartNav/SmartNav/NavGraphBuilder.cs @@ -1,8 +1,5 @@ -using System; -using System.Collections; using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; using Microsoft.Extensions.Logging; using SmartNav.Data; using SmartNav.Graph; @@ -35,7 +32,6 @@ public sealed class NavGraphBuilder _logger = logger; } - [MethodImpl(MethodImplOptions.NoInlining)] public NavGraph Build() { NavGraph navGraph = new NavGraph(); @@ -44,990 +40,231 @@ public sealed class NavGraphBuilder AddZoneBoundaryNodes(navGraph); AddWarpNodes(navGraph); AddSubRegionConnectorNodes(navGraph); - _200D_206F_200E_200E_206F_202A_200E_206E_200F_202B_200B_206C_206E_200F_206C_202B_202B_200D_200F_206C_206A_202C_206D_206B_202C_206E_200E_202D_202C_200F_200E_206B_202B_206F_202D_202C_206B_202D_206A_202A_202E((ILogger)_logger, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(657022072), new object[2] { navGraph.NodeCount, navGraph.EdgeCount }); + _logger.LogDebug("NavGraph built: {NodeCount} nodes, {EdgeCount} edges", navGraph.NodeCount, navGraph.EdgeCount); return navGraph; } - [MethodImpl(MethodImplOptions.NoInlining)] private void AddAetheryteNodes(NavGraph graph) { - IEnumerator> enumerator = _aetheryteData.Locations.GetEnumerator(); - try + foreach (var (eAetheryteLocation2, position) in _aetheryteData.Locations) { - int num = 2034033446; - EAetheryteLocation eAetheryteLocation = default(EAetheryteLocation); - ushort value = default(ushort); - Vector3 position = default(Vector3); - while (true) + if (_aetheryteData.TerritoryIds.TryGetValue(eAetheryteLocation2, out var value)) { - int num2 = num; - int num3 = 2034033443; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (AetheryteConverter.IsLargeAetheryte(eAetheryteLocation2)) { - case 3: - num = 2034033446; - break; - case 6: - num = ((!_206E_202A_202A_200D_206E_200C_200B_206C_206F_202E_200C_206E_206A_206E_202A_206D_200C_202A_200D_202B_202B_206F_206C_206C_206C_200B_202C_202B_200B_206F_202A_202E_202C_202B_200D_202D_206E_202B_200E_202E(eAetheryteLocation)) ? 2034033443 : 2034033447); - break; - case 0: - { - EAetheryteLocation parentAetheryte = FindParentAetheryte(eAetheryteLocation); - graph.AddNode(new NavNode.AethernetNode(eAetheryteLocation, value, position, parentAetheryte)); - num = 2034033446; - break; + graph.AddNode(new NavNode.AetheryteNode(eAetheryteLocation2, value, position)); + continue; } - case 2: - { - enumerator.Current.Deconstruct(out var key, out var value2); - eAetheryteLocation = key; - position = value2; - num = ((!_aetheryteData.TerritoryIds.TryGetValue(eAetheryteLocation, out value)) ? 2034033446 : 2034033445); - break; - } - case 5: - num = (_206C_200C_206C_202E_200E_206A_200C_200F_206E_206B_200E_206C_206C_206F_202B_200C_206E_202B_200D_206F_202E_206E_200C_200B_200E_200E_202E_200C_202E_200B_202B_202D_206F_206F_206A_206D_206B_206B_206C_206F_202E((IEnumerator)enumerator) ? 2034033441 : 2034033442); - break; - case 4: - graph.AddNode(new NavNode.AetheryteNode(eAetheryteLocation, value, position)); - num = 2034033446; - break; - case 1: - goto end_IL_001d; - } - continue; - end_IL_001d: - break; + EAetheryteLocation parentAetheryte = FindParentAetheryte(eAetheryteLocation2); + graph.AddNode(new NavNode.AethernetNode(eAetheryteLocation2, value, position, parentAetheryte)); } } - finally - { - int num = ((enumerator == null) ? 1399376806 : 1399376805); - while (true) - { - int num7 = num; - int num3 = 1399376804; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1399376805; - break; - case 2: - goto end_IL_0159; - case 1: - _206C_206E_206D_200B_206E_202A_202B_200B_202B_202A_206B_200D_202B_202A_206E_202C_206A_206E_202A_200F_200D_200E_202D_206C_202D_206C_202E_200F_200E_200F_202C_200F_206A_200B_202A_206A_202E_206A_202D_206F_202E((IDisposable)enumerator); - num = 1399376806; - break; - } - continue; - end_IL_0159: - break; - } - } - _200D_206F_200E_200E_206F_202A_200E_206E_200F_202B_200B_206C_206E_200F_206C_202B_202B_200D_200F_206C_206A_202C_206D_206B_202C_206E_200E_202D_202C_200F_200E_206B_202B_206F_202D_202C_206B_202D_206A_202A_202E((ILogger)_logger, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-1881698), new object[1] { graph.NodeCount }); + _logger.LogDebug("Added {Count} aetheryte/aethernet nodes", graph.NodeCount); } private EAetheryteLocation FindParentAetheryte(EAetheryteLocation aethernet) { - int num = (_aetheryteData.AethernetGroups.TryGetValue(aethernet, out var value) ? (-326015895) : (-326015894)); - EAetheryteLocation eAetheryteLocation = default(EAetheryteLocation); - while (true) + if (!_aetheryteData.AethernetGroups.TryGetValue(aethernet, out var value)) { - int num2 = num; - int num3 = -326015896; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_005e; - case 2: - return EAetheryteLocation.None; - case 1: - { - IEnumerator> enumerator = _aetheryteData.AethernetGroups.GetEnumerator(); - try - { - num = -719267663; - while (true) - { - int num7 = num; - num3 = -719267664; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 3: - num = ((!_206E_202A_202A_200D_206E_200C_200B_206C_206F_202E_200C_206E_206A_206E_202A_206D_200C_202A_200D_202B_202B_206F_206C_206C_206C_200B_202C_202B_200B_206F_202A_202E_202C_202B_200D_202D_206E_202B_200E_202E(eAetheryteLocation)) ? (-719267663) : (-719267662)); - break; - case 4: - { - enumerator.Current.Deconstruct(out var key, out var value2); - eAetheryteLocation = key; - num = ((value2 != value) ? (-719267663) : (-719267661)); - break; - } - case 0: - num = -719267663; - break; - case 2: - return eAetheryteLocation; - case 1: - num = (_206C_200C_206C_202E_200E_206A_200C_200F_206E_206B_200E_206C_206C_206F_202B_200C_206E_202B_200D_206F_202E_206E_200C_200B_200E_200E_202E_200C_202E_200B_202B_202D_206F_206F_206A_206D_206B_206B_206C_206F_202E((IEnumerator)enumerator) ? (-719267660) : (-719267659)); - break; - case 5: - goto end_IL_0089; - } - continue; - end_IL_0089: - break; - } - } - finally - { - num = ((enumerator == null) ? 1291922987 : 1291922984); - while (true) - { - int num10 = num; - num3 = 1291922985; - num4 = num10; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1291922984; - break; - case 1: - _206C_206E_206D_200B_206E_202A_202B_200B_202B_202A_206B_200D_202B_202A_206E_202C_206A_206E_202A_200F_200D_200E_202D_206C_202D_206C_202E_200F_200E_200F_202C_200F_206A_200B_202A_206A_202E_206A_202D_206F_202E((IDisposable)enumerator); - num = 1291922987; - break; - case 2: - goto end_IL_0181; - } - continue; - end_IL_0181: - break; - } - } - return EAetheryteLocation.None; - } - } - continue; - IL_005e: - num = -326015894; + return EAetheryteLocation.None; } + foreach (var (eAetheryteLocation2, num2) in _aetheryteData.AethernetGroups) + { + if (num2 == value && AetheryteConverter.IsLargeAetheryte(eAetheryteLocation2)) + { + return eAetheryteLocation2; + } + } + return EAetheryteLocation.None; } - [MethodImpl(MethodImplOptions.NoInlining)] private void AddAethernetEdges(NavGraph graph) { Dictionary> dictionary = new Dictionary>(); - IEnumerator enumerator = graph.Nodes.Values.GetEnumerator(); - try + foreach (NavNode value4 in graph.Nodes.Values) { - int num = -250279135; - List value2 = default(List); - ushort value = default(ushort); - NavNode current = default(NavNode); - NavNode.AetheryteNode aetheryteNode = default(NavNode.AetheryteNode); - NavNode.AethernetNode aethernetNode = default(NavNode.AethernetNode); - while (true) + ushort value = 0; + if (value4 is NavNode.AetheryteNode aetheryteNode) { - int num2 = num; - int num3 = -250279125; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + _aetheryteData.AethernetGroups.TryGetValue(aetheryteNode.Aetheryte, out value); + } + else if (value4 is NavNode.AethernetNode aethernetNode) + { + _aetheryteData.AethernetGroups.TryGetValue(aethernetNode.Aethernet, out value); + } + if (value != 0) + { + if (!dictionary.TryGetValue(value, out var value2)) { - case 0: value2 = (dictionary[value] = new List()); - num = -250279126; - break; - case 9: - current = enumerator.Current; - value = 0; - aetheryteNode = current as NavNode.AetheryteNode; - num = (((object)aetheryteNode == null) ? (-250279128) : (-250279133)); - break; - case 4: - num = (dictionary.TryGetValue(value, out value2) ? (-250279126) : (-250279125)); - break; - case 8: - _aetheryteData.AethernetGroups.TryGetValue(aetheryteNode.Aetheryte, out value); - num = -250279123; - break; - case 6: - num = ((value == 0) ? (-250279135) : (-250279121)); - break; - case 3: - aethernetNode = current as NavNode.AethernetNode; - num = (((object)aethernetNode == null) ? (-250279123) : (-250279124)); - break; - case 10: - num = (_206C_200C_206C_202E_200E_206A_200C_200F_206E_206B_200E_206C_206C_206F_202B_200C_206E_202B_200D_206F_202E_206E_200C_200B_200E_200E_202E_200C_202E_200B_202B_202D_206F_206F_206A_206D_206B_206B_206C_206F_202E((IEnumerator)enumerator) ? (-250279134) : (-250279127)); - break; - case 1: - value2.Add(current); - num = -250279135; - break; - case 5: - num = -250279135; - break; - case 7: - _aetheryteData.AethernetGroups.TryGetValue(aethernetNode.Aethernet, out value); - num = -250279123; - break; - case 2: - goto end_IL_0023; } - continue; - end_IL_0023: - break; + value2.Add(value4); } } - finally + int num = 0; + foreach (KeyValuePair> item in dictionary) { - int num = ((enumerator == null) ? (-924795166) : (-924795165)); - while (true) + item.Deconstruct(out var _, out var value3); + List list2 = value3; + for (int i = 0; i < list2.Count; i++) { - int num7 = num; - int num3 = -924795166; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) + for (int j = i + 1; j < list2.Count; j++) { - case 2: - num = -924795165; - break; - case 1: - _206C_206E_206D_200B_206E_202A_202B_200B_202B_202A_206B_200D_202B_202A_206E_202C_206A_206E_202A_200F_200D_200E_202D_206C_202D_206C_202E_200F_200E_200F_202C_200F_206A_200B_202A_206A_202E_206A_202D_206F_202E((IDisposable)enumerator); - num = -924795166; - break; - case 0: - goto end_IL_01de; + EAetheryteLocation? aethernetParticipant = GetAethernetParticipant(list2[i]); + if (aethernetParticipant.HasValue) + { + EAetheryteLocation valueOrDefault = aethernetParticipant.GetValueOrDefault(); + if (HasInteractableShard(valueOrDefault)) + { + graph.AddEdge(new NavEdge(list2[i].Id, list2[j].Id, NavEdgeType.AethernetHop, 0f, 0)); + num++; + } + } + aethernetParticipant = GetAethernetParticipant(list2[j]); + if (aethernetParticipant.HasValue) + { + EAetheryteLocation valueOrDefault2 = aethernetParticipant.GetValueOrDefault(); + if (HasInteractableShard(valueOrDefault2)) + { + graph.AddEdge(new NavEdge(list2[j].Id, list2[i].Id, NavEdgeType.AethernetHop, 0f, 0)); + num++; + } + } } - continue; - end_IL_01de: - break; } } - int num8 = 0; - using (Dictionary>.Enumerator enumerator2 = dictionary.GetEnumerator()) - { - int num = -381431416; - int num14 = default(int); - List list2 = default(List); - int num12 = default(int); - EAetheryteLocation? aethernetParticipant = default(EAetheryteLocation?); - while (true) - { - int num9 = num; - int num3 = -381431411; - int num4 = num9; - int num10 = num4 + num3; - int num11 = num4 & num3; - switch (num10 - (num11 + num11)) - { - case 12: - num = ((num14 < list2.Count) ? (-381431414) : (-381431415)); - break; - case 14: - { - int num17 = num12; - num3 = 1; - num4 = num17; - int num18 = num4 ^ num3; - int num19 = num4 & num3; - num14 = num18 + (num19 + num19); - num = -381431423; - break; - } - case 6: - { - EAetheryteLocation valueOrDefault2 = aethernetParticipant.GetValueOrDefault(); - num = ((!HasInteractableShard(valueOrDefault2)) ? (-381431419) : (-381431420)); - break; - } - case 2: - aethernetParticipant = GetAethernetParticipant(list2[num14]); - num = ((!aethernetParticipant.HasValue) ? (-381431419) : (-381431413)); - break; - case 5: - num = (enumerator2.MoveNext() ? (-381431417) : (-381431410)); - break; - case 11: - num = ((num12 < list2.Count) ? (-381431421) : (-381431416)); - break; - case 1: - { - graph.AddEdge(new NavEdge(list2[num12].Id, list2[num14].Id, NavEdgeType.AethernetHop, 0f, 0)); - int num24 = num8; - num3 = 1; - num4 = num24; - num8 = (num4 | num3) + (num4 & num3); - num = -381431409; - break; - } - case 4: - { - int num21 = num12; - num3 = 1; - num4 = num21; - int num22 = num4 ^ num3; - int num23 = num4 & num3; - num12 = num22 + (num23 + num23); - num = -381431418; - break; - } - case 0: - num = -381431416; - break; - case 9: - { - graph.AddEdge(new NavEdge(list2[num14].Id, list2[num12].Id, NavEdgeType.AethernetHop, 0f, 0)); - int num20 = num8; - num3 = 1; - num4 = num20; - num8 = (num4 | num3) + (num4 & num3); - num = -381431419; - break; - } - case 7: - aethernetParticipant = GetAethernetParticipant(list2[num12]); - num = ((!aethernetParticipant.HasValue) ? (-381431409) : (-381431424)); - break; - case 13: - { - EAetheryteLocation valueOrDefault = aethernetParticipant.GetValueOrDefault(); - num = ((!HasInteractableShard(valueOrDefault)) ? (-381431409) : (-381431412)); - break; - } - case 8: - { - int num13 = num14; - num3 = 1; - num4 = num13; - int num15 = num4 ^ num3; - int num16 = num4 & num3; - num14 = num15 + (num16 + num16); - num = -381431423; - break; - } - case 10: - { - enumerator2.Current.Deconstruct(out var _, out var value3); - list2 = value3; - num12 = 0; - num = -381431418; - break; - } - case 3: - goto end_IL_023f; - } - continue; - end_IL_023f: - break; - } - } - _200D_206F_200E_200E_206F_202A_200E_206E_200F_202B_200B_206C_206E_200F_206C_202B_202B_200D_200F_206C_206A_202C_206D_206B_202C_206E_200E_202D_202C_200F_200E_206B_202B_206F_202D_202C_206B_202D_206A_202A_202E((ILogger)_logger, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(387174688), new object[2] { num8, dictionary.Count }); + _logger.LogDebug("Added {Count} aethernet edges across {GroupCount} groups", num, dictionary.Count); } private static EAetheryteLocation? GetAethernetParticipant(NavNode node) { - NavNode.AetheryteNode aetheryteNode = node as NavNode.AetheryteNode; - int num = (((object)aetheryteNode != null) ? (-160602075) : (-160602078)); - NavNode.AethernetNode aethernetNode = default(NavNode.AethernetNode); - EAetheryteLocation? result = default(EAetheryteLocation?); - while (true) + if (!(node is NavNode.AetheryteNode aetheryteNode)) { - int num2 = num; - int num3 = -160602077; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + if (node is NavNode.AethernetNode aethernetNode) { - case 2: - num = -160602078; - break; - case 1: - aethernetNode = node as NavNode.AethernetNode; - num = (((object)aethernetNode != null) ? (-160602077) : (-160602074)); - break; - case 6: - result = aetheryteNode.Aetheryte; - num = -160602080; - break; - case 0: - result = aethernetNode.Aethernet; - num = -160602080; - break; - case 4: - result = null; - num = -160602080; - break; - case 3: - return result; - case 5: - num = -160602073; - break; + return aethernetNode.Aethernet; } + return null; } + return aetheryteNode.Aetheryte; } private bool HasInteractableShard(EAetheryteLocation aetheryte) { - int num = (_aetheryteData.IsCityAetheryte(aetheryte) ? (-621220771) : (-621220770)); - ushort value = default(ushort); - while (true) + if (_aetheryteData.IsCityAetheryte(aetheryte) || _aetheryteData.IsGoldSaucerAetheryte(aetheryte)) { - int num2 = num; - int num3 = -621220772; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = -621220770; - break; - case 5: - return value == 886; - case 0: - return false; - case 4: - num = ((!_aetheryteData.TerritoryIds.TryGetValue(aetheryte, out value)) ? (-621220772) : (-621220775)); - break; - case 1: - return true; - case 2: - num = ((!_aetheryteData.IsGoldSaucerAetheryte(aetheryte)) ? (-621220776) : (-621220771)); - break; - } + return true; } + if (_aetheryteData.TerritoryIds.TryGetValue(aetheryte, out var value)) + { + return value == 886; + } + return false; } - [MethodImpl(MethodImplOptions.NoInlining)] private void AddZoneBoundaryNodes(NavGraph graph) { IReadOnlyList boundaries = _boundarySource.GetBoundaries(); int num = 0; int num2 = 0; - IEnumerator enumerator = boundaries.GetEnumerator(); - try + foreach (ZoneBoundary item in boundaries) { - int num3 = -1183918559; - ZoneBoundary current = default(ZoneBoundary); - NavNode.ZoneBoundaryNode zoneBoundaryNode2 = default(NavNode.ZoneBoundaryNode); - NavNode.ZoneBoundaryNode zoneBoundaryNode = default(NavNode.ZoneBoundaryNode); - while (true) + if (item.Side1.TerritoryId == item.Side2.TerritoryId) { - int num4 = num3; - int num5 = -1183918557; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) - { - case 6: - num3 = -1183918559; - break; - case 2: - num3 = (_206C_200C_206C_202E_200E_206A_200C_200F_206E_206B_200E_206C_206C_206F_202B_200C_206E_202B_200D_206F_202E_206E_200C_200B_200E_200E_202E_200C_202E_200B_202B_202D_206F_206F_206A_206D_206B_206B_206C_206F_202E((IEnumerator)enumerator) ? (-1183918558) : (-1183918553)); - break; - case 1: - current = enumerator.Current; - num3 = ((_206D_206D_200E_202C_200F_202B_202B_206C_206A_200D_202D_202B_202A_202D_200D_202E_206D_206F_206F_200C_206C_200D_200F_200C_202E_200E_200D_206E_200D_202C_206F_206B_202E_206C_200F_206F_200C_200D_202B_202E_202E(_206A_206D_200D_200D_202D_206E_206E_200B_206D_206D_202E_200B_200C_206E_206C_200B_206A_200B_206A_200F_202A_200B_200E_200C_200B_206E_200E_200B_206B_202D_202D_200D_206C_200F_206D_200D_200C_206A_200F_202B_202E(current)) != _206D_206D_200E_202C_200F_202B_202B_206C_206A_200D_202D_202B_202A_202D_200D_202E_206D_206F_206F_200C_206C_200D_200F_200C_202E_200E_200D_206E_200D_202C_206F_206B_202E_206C_200F_206F_200C_200D_202B_202E_202E(_206E_202E_200D_206B_202E_202E_206C_206E_202E_206D_206B_202B_206E_202D_206F_202C_206E_202D_200C_202B_206A_202C_200F_200E_206A_200B_202D_200B_200C_206B_206B_206C_200C_202A_206A_202A_200E_200D_206C_200E_202E(current))) ? (-1183918560) : (-1183918554)); - break; - case 3: - { - string boundaryId = _206D_206B_206C_206B_206A_200B_200E_202D_206A_206E_206D_200D_200D_206F_206B_202C_202B_206D_206D_200C_202A_200E_202E_200C_202E_202C_206E_206A_206E_200D_200E_206E_202B_202C_200B_202E_200B_202E_206D_202E(current); - ushort territoryId = _206D_206D_200E_202C_200F_202B_202B_206C_206A_200D_202D_202B_202A_202D_200D_202E_206D_206F_206F_200C_206C_200D_200F_200C_202E_200E_200D_206E_200D_202C_206F_206B_202E_206C_200F_206F_200C_200D_202B_202E_202E(_206A_206D_200D_200D_202D_206E_206E_200B_206D_206D_202E_200B_200C_206E_206C_200B_206A_200B_206A_200F_202A_200B_200E_200C_200B_206E_200E_200B_206B_202D_202D_200D_206C_200F_206D_200D_200C_206A_200F_202B_202E(current)); - Vector3 position = _202C_206E_206A_202A_206C_200D_202A_206A_202E_200C_200D_202A_202C_206C_206B_206A_202A_200C_206E_206C_206F_200B_202E_200D_200C_206A_206C_206C_206D_202B_206B_202C_200E_202E_202A_206C_200B_200B_206D_206C_202E(_206A_206D_200D_200D_202D_206E_206E_200B_206D_206D_202E_200B_200C_206E_206C_200B_206A_200B_206A_200F_202A_200B_200E_200C_200B_206E_200E_200B_206B_202D_202D_200D_206C_200F_206D_200D_200C_206A_200F_202B_202E(current)); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(10, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(537411549)); - defaultInterpolatedStringHandler.AppendFormatted(_206D_206B_206C_206B_206A_200B_200E_202D_206A_206E_206D_200D_200D_206F_206B_202C_202B_206D_206D_200C_202A_200E_202E_200C_202E_202C_206E_206A_206E_200D_200E_206E_202B_202C_200B_202E_200B_202E_206D_202E(current)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-286212766)); - defaultInterpolatedStringHandler.AppendFormatted(_206D_206D_200E_202C_200F_202B_202B_206C_206A_200D_202D_202B_202A_202D_200D_202E_206D_206F_206F_200C_206C_200D_200F_200C_202E_200E_200D_206E_200D_202C_206F_206B_202E_206C_200F_206F_200C_200D_202B_202E_202E(_206E_202E_200D_206B_202E_202E_206C_206E_202E_206D_206B_202B_206E_202D_206F_202C_206E_202D_200C_202B_206A_202C_200F_200E_206A_200B_202D_200B_200C_206B_206B_206C_200C_202A_206A_202A_200E_200D_206C_200E_202E(current))); - zoneBoundaryNode2 = new NavNode.ZoneBoundaryNode(boundaryId, territoryId, position, defaultInterpolatedStringHandler.ToStringAndClear(), _206A_202B_200E_206C_206C_202C_206B_206A_206B_202B_200D_202B_206A_206D_200F_200C_202C_202D_206D_202E_202A_206F_200F_202A_200B_202D_200E_202B_200E_200B_206E_206A_206C_206A_202A_206D_200B_202A_202B_202B_202E(current), _200D_206B_206C_202C_200F_200E_200E_200D_202D_206F_206E_206A_202D_200F_202B_202C_206D_202C_202B_202D_202A_202B_202E_200D_206B_206F_206C_202B_202A_202A_206E_206B_200B_200C_202B_200F_200C_200D_200F_206F_202E(current), _202B_206E_202B_202E_200B_206F_200B_202B_202B_206D_202A_202A_200D_200C_202A_202D_200F_202B_206D_202D_202C_202B_206F_202D_202B_200D_200C_206F_206E_206C_206E_202B_200F_206B_206D_206D_206A_200B_200B_206A_202E(_206A_206D_200D_200D_202D_206E_206E_200B_206D_206D_202E_200B_200C_206E_206C_200B_206A_200B_206A_200F_202A_200B_200E_200C_200B_206E_200E_200B_206B_202D_202D_200D_206C_200F_206D_200D_200C_206A_200F_202B_202E(current))); - string boundaryId2 = _206D_206B_206C_206B_206A_200B_200E_202D_206A_206E_206D_200D_200D_206F_206B_202C_202B_206D_206D_200C_202A_200E_202E_200C_202E_202C_206E_206A_206E_200D_200E_206E_202B_202C_200B_202E_200B_202E_206D_202E(current); - ushort territoryId2 = _206D_206D_200E_202C_200F_202B_202B_206C_206A_200D_202D_202B_202A_202D_200D_202E_206D_206F_206F_200C_206C_200D_200F_200C_202E_200E_200D_206E_200D_202C_206F_206B_202E_206C_200F_206F_200C_200D_202B_202E_202E(_206E_202E_200D_206B_202E_202E_206C_206E_202E_206D_206B_202B_206E_202D_206F_202C_206E_202D_200C_202B_206A_202C_200F_200E_206A_200B_202D_200B_200C_206B_206B_206C_200C_202A_206A_202A_200E_200D_206C_200E_202E(current)); - Vector3 position2 = _202C_206E_206A_202A_206C_200D_202A_206A_202E_200C_200D_202A_202C_206C_206B_206A_202A_200C_206E_206C_206F_200B_202E_200D_200C_206A_206C_206C_206D_202B_206B_202C_200E_202E_202A_206C_200B_200B_206D_206C_202E(_206E_202E_200D_206B_202E_202E_206C_206E_202E_206D_206B_202B_206E_202D_206F_202C_206E_202D_200C_202B_206A_202C_200F_200E_206A_200B_202D_200B_200C_206B_206B_206C_200C_202A_206A_202A_200E_200D_206C_200E_202E(current)); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(10, 2); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-699242314)); - defaultInterpolatedStringHandler2.AppendFormatted(_206D_206B_206C_206B_206A_200B_200E_202D_206A_206E_206D_200D_200D_206F_206B_202C_202B_206D_206D_200C_202A_200E_202E_200C_202E_202C_206E_206A_206E_200D_200E_206E_202B_202C_200B_202E_200B_202E_206D_202E(current)); - defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-286212766)); - defaultInterpolatedStringHandler2.AppendFormatted(_206D_206D_200E_202C_200F_202B_202B_206C_206A_200D_202D_202B_202A_202D_200D_202E_206D_206F_206F_200C_206C_200D_200F_200C_202E_200E_200D_206E_200D_202C_206F_206B_202E_206C_200F_206F_200C_200D_202B_202E_202E(_206A_206D_200D_200D_202D_206E_206E_200B_206D_206D_202E_200B_200C_206E_206C_200B_206A_200B_206A_200F_202A_200B_200E_200C_200B_206E_200E_200B_206B_202D_202D_200D_206C_200F_206D_200D_200C_206A_200F_202B_202E(current))); - zoneBoundaryNode = new NavNode.ZoneBoundaryNode(boundaryId2, territoryId2, position2, defaultInterpolatedStringHandler2.ToStringAndClear(), _206A_202B_200E_206C_206C_202C_206B_206A_206B_202B_200D_202B_206A_206D_200F_200C_202C_202D_206D_202E_202A_206F_200F_202A_200B_202D_200E_202B_200E_200B_206E_206A_206C_206A_202A_206D_200B_202A_202B_202B_202E(current), _200D_206B_206C_202C_200F_200E_200E_200D_202D_206F_206E_206A_202D_200F_202B_202C_206D_202C_202B_202D_202A_202B_202E_200D_206B_206F_206C_202B_202A_202A_206E_206B_200B_200C_202B_200F_200C_200D_200F_206F_202E(current), _202B_206E_202B_202E_200B_206F_200B_202B_202B_206D_202A_202A_200D_200C_202A_202D_200F_202B_206D_202D_202C_202B_206F_202D_202B_200D_200C_206F_206E_206C_206E_202B_200F_206B_206D_206D_206A_200B_200B_206A_202E(_206E_202E_200D_206B_202E_202E_206C_206E_202E_206D_206B_202B_206E_202D_206F_202C_206E_202D_200C_202B_206A_202C_200F_200E_206A_200B_202D_200B_200C_206B_206B_206C_200C_202A_206A_202A_200E_200D_206C_200E_202E(current))); - graph.AddNode(zoneBoundaryNode2); - graph.AddNode(zoneBoundaryNode); - int num10 = num; - num5 = 2; - num6 = num10; - int num11 = num6 ^ num5; - int num12 = num6 & num5; - num = num11 + (num12 + num12); - graph.AddEdge(new NavEdge(zoneBoundaryNode2.Id, zoneBoundaryNode.Id, NavEdgeType.ZoneBoundary, 2f, 0)); - int num13 = num2; - num5 = 1; - num6 = num13; - int num14 = num6 ^ num5; - int num15 = num6 & num5; - num2 = num14 + (num15 + num15); - num3 = (_200D_202E_200B_200C_202E_206B_200D_202C_202C_200D_202C_202D_200B_206A_200E_206F_206E_206D_200D_202B_200D_206A_206A_200F_200F_206A_206A_206E_202E_206B_200E_202B_202D_206C_206A_202E_202C_200E_206F_200F_202E(current) ? (-1183918559) : (-1183918557)); - break; - } - case 0: - { - graph.AddEdge(new NavEdge(zoneBoundaryNode.Id, zoneBoundaryNode2.Id, NavEdgeType.ZoneBoundary, 2f, 0)); - int num9 = num2; - num5 = 1; - num6 = num9; - num2 = (num6 | num5) + (num6 & num5); - num3 = -1183918559; - break; - } - case 5: - _206F_200E_206A_202C_206D_200D_206C_200E_200E_202A_206E_206E_200F_206D_200E_200C_202B_200F_202C_206A_206F_206C_200F_200E_206A_206D_200D_206B_202A_206F_202D_200F_202C_206D_206C_202C_206A_202C_200C_206F_202E((ILogger)_logger, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-568839808), new object[2] - { - _206D_206B_206C_206B_206A_200B_200E_202D_206A_206E_206D_200D_200D_206F_206B_202C_202B_206D_206D_200C_202A_200E_202E_200C_202E_202C_206E_206A_206E_200D_200E_206E_202B_202C_200B_202E_200B_202E_206D_202E(current), - _206D_206D_200E_202C_200F_202B_202B_206C_206A_200D_202D_202B_202A_202D_200D_202E_206D_206F_206F_200C_206C_200D_200F_200C_202E_200E_200D_206E_200D_202C_206F_206B_202E_206C_200F_206F_200C_200D_202B_202E_202E(_206A_206D_200D_200D_202D_206E_206E_200B_206D_206D_202E_200B_200C_206E_206C_200B_206A_200B_206A_200F_202A_200B_200E_200C_200B_206E_200E_200B_206B_202D_202D_200D_206C_200F_206D_200D_200C_206A_200F_202B_202E(current)) - }); - num3 = -1183918559; - break; - case 4: - goto end_IL_0021; - } + _logger.LogWarning("Skipping zone boundary {Id}: both sides are in territory {Territory}", item.Id, item.Side1.TerritoryId); continue; - end_IL_0021: - break; + } + NavNode.ZoneBoundaryNode zoneBoundaryNode = new NavNode.ZoneBoundaryNode(item.Id, item.Side1.TerritoryId, item.Side1.Position, $"boundary:{item.Id}:{item.Side2.TerritoryId}", item.RequiresFlying, item.RequiredQuest, item.Side1.Trigger); + NavNode.ZoneBoundaryNode zoneBoundaryNode2 = new NavNode.ZoneBoundaryNode(item.Id, item.Side2.TerritoryId, item.Side2.Position, $"boundary:{item.Id}:{item.Side1.TerritoryId}", item.RequiresFlying, item.RequiredQuest, item.Side2.Trigger); + graph.AddNode(zoneBoundaryNode); + graph.AddNode(zoneBoundaryNode2); + num += 2; + graph.AddEdge(new NavEdge(zoneBoundaryNode.Id, zoneBoundaryNode2.Id, NavEdgeType.ZoneBoundary, 2f, 0)); + num2++; + if (!item.OneWay) + { + graph.AddEdge(new NavEdge(zoneBoundaryNode2.Id, zoneBoundaryNode.Id, NavEdgeType.ZoneBoundary, 2f, 0)); + num2++; } } - finally - { - int num3 = ((enumerator == null) ? (-1939360855) : (-1939360856)); - while (true) - { - int num16 = num3; - int num5 = -1939360855; - int num6 = num16; - switch ((num6 | num5) - (num6 & num5)) - { - case 2: - num3 = -1939360856; - break; - case 0: - goto end_IL_02ff; - case 1: - _206C_206E_206D_200B_206E_202A_202B_200B_202B_202A_206B_200D_202B_202A_206E_202C_206A_206E_202A_200F_200D_200E_202D_206C_202D_206C_202E_200F_200E_200F_202C_200F_206A_200B_202A_206A_202E_206A_202D_206F_202E((IDisposable)enumerator); - num3 = -1939360855; - break; - } - continue; - end_IL_02ff: - break; - } - } - _200D_206F_200E_200E_206F_202A_200E_206E_200F_202B_200B_206C_206E_200F_206C_202B_202B_200D_200F_206C_206A_202C_206D_206B_202C_206E_200E_202D_202C_200F_200E_206B_202B_206F_202D_202C_206B_202D_206A_202A_202E((ILogger)_logger, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(2007378728), new object[2] { num, num2 }); + _logger.LogDebug("Added {NodeCount} boundary nodes and {EdgeCount} boundary edges", num, num2); } - [MethodImpl(MethodImplOptions.NoInlining)] private void AddWarpNodes(NavGraph graph) { int num = 0; int num2 = 0; int num3 = 0; int num4 = 0; - IEnumerator enumerator = _warpDataService.Warps.GetEnumerator(); - try + foreach (WarpDataService.WarpInfo warp in _warpDataService.Warps) { - int num5 = -1488329845; - Vector3? destPosition = default(Vector3?); - NavNode.WarpNode warpNode2 = default(NavNode.WarpNode); - WarpDataService.WarpInfo current = default(WarpDataService.WarpInfo); - NavNode.WarpNode warpNode = default(NavNode.WarpNode); - while (true) + if (_warpDataService.SkippedWarpIds.Contains(warp.RowId)) { - int num6 = num5; - int num7 = -1488329841; - int num8 = num6; - switch ((num8 | num7) - (num8 & num7)) + continue; + } + if (warp.SourceTerritoryId == 0) + { + num4++; + continue; + } + NavNode.WarpNode warpNode = new NavNode.WarpNode(warp.RowId, warp.SourceTerritoryId, warp.SourcePosition, warp.NpcDataId, warp.RequiredQuestIds, warp.GilCost, warp.AvailableDuringMsqIds, warp.RequiredClassLevel, warp.RequireAllQuests); + graph.AddNode(warpNode); + num++; + Vector3? destPosition = warp.DestPosition; + if (destPosition.HasValue) + { + Vector3 valueOrDefault = destPosition.GetValueOrDefault(); + NavNode.WarpNode warpNode2 = new NavNode.WarpNode(warp.RowId, warp.DestTerritoryId, valueOrDefault, null, warp.RequiredQuestIds, 0, warp.AvailableDuringMsqIds, warp.RequiredClassLevel, warp.RequireAllQuests); + if (warpNode2.Id == warpNode.Id) { - case 7: - { - int num12 = num3; - num7 = 1; - num8 = num12; - num3 = (num8 | num7) + (num8 & num7); - num5 = -1488329845; - break; + _logger.LogWarning("Skipping warp {RowId}: source and destination resolve to the same node {Id}", warp.RowId, warpNode.Id); + num3++; } - case 10: - { - Vector3 valueOrDefault = destPosition.GetValueOrDefault(); - warpNode2 = new NavNode.WarpNode(current.RowId, current.DestTerritoryId, valueOrDefault, null, current.RequiredQuestIds, 0, current.AvailableDuringMsqIds, current.RequiredClassLevel, current.RequireAllQuests); - num5 = ((!_202C_206C_206A_200B_206F_202D_200C_206A_200E_206B_206F_206E_200C_202A_202B_206E_200C_202E_202D_206B_206E_202D_200E_206E_200B_200C_202B_202B_202C_206B_206C_202D_200D_206D_206C_200F_206C_206F_206D_202C_202E(warpNode2.Id, warpNode.Id)) ? (-1488329850) : (-1488329847)); - break; - } - case 2: - { - int num18 = num4; - num7 = 1; - num8 = num18; - int num19 = num8 ^ num7; - int num20 = num8 & num7; - num4 = num19 + (num20 + num20); - num5 = -1488329845; - break; - } - case 9: + else { graph.AddNode(warpNode2); - int num16 = num; - num7 = 1; - num8 = num16; - num = (num8 | num7) + (num8 & num7); - graph.AddEdge(new NavEdge(warpNode.Id, warpNode2.Id, NavEdgeType.Warp, 2f, current.GilCost)); - int num17 = num2; - num7 = 1; - num8 = num17; - num2 = (num8 | num7) + (num8 & num7); - num5 = -1488329845; - break; + num++; + graph.AddEdge(new NavEdge(warpNode.Id, warpNode2.Id, NavEdgeType.Warp, 2f, warp.GilCost)); + num2++; } - case 3: - current = enumerator.Current; - num5 = (_warpDataService.SkippedWarpIds.Contains(current.RowId) ? (-1488329845) : (-1488329846)); - break; - case 6: - { - _206F_200E_206A_202C_206D_200D_206C_200E_200E_202A_206E_206E_200F_206D_200E_200C_202B_200F_202C_206A_206F_206C_200F_200E_206A_206D_200D_206B_202A_206F_202D_200F_202C_206D_206C_202C_206A_202C_200C_206F_202E((ILogger)_logger, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-1069269509), new object[2] { current.RowId, warpNode.Id }); - int num9 = num3; - num7 = 1; - num8 = num9; - int num10 = num8 ^ num7; - int num11 = num8 & num7; - num3 = num10 + (num11 + num11); - num5 = -1488329845; - break; - } - case 8: - { - warpNode = new NavNode.WarpNode(current.RowId, current.SourceTerritoryId, current.SourcePosition, current.NpcDataId, current.RequiredQuestIds, current.GilCost, current.AvailableDuringMsqIds, current.RequiredClassLevel, current.RequireAllQuests); - graph.AddNode(warpNode); - int num13 = num; - num7 = 1; - num8 = num13; - int num14 = num8 ^ num7; - int num15 = num8 & num7; - num = num14 + (num15 + num15); - destPosition = current.DestPosition; - num5 = ((!destPosition.HasValue) ? (-1488329848) : (-1488329851)); - break; - } - case 5: - num5 = ((current.SourceTerritoryId != 0) ? (-1488329849) : (-1488329843)); - break; - case 4: - num5 = (_206C_200C_206C_202E_200E_206A_200C_200F_206E_206B_200E_206C_206C_206F_202B_200C_206E_202B_200D_206F_202E_206E_200C_200B_200E_200E_202E_200C_202E_200B_202B_202D_206F_206F_206A_206D_206B_206B_206C_206F_202E((IEnumerator)enumerator) ? (-1488329844) : (-1488329842)); - break; - case 0: - num5 = -1488329845; - break; - case 1: - goto end_IL_0026; - } - continue; - end_IL_0026: - break; } - } - finally - { - int num5 = ((enumerator == null) ? (-1858874036) : (-1858874035)); - while (true) + else { - int num21 = num5; - int num7 = -1858874036; - int num8 = num21; - int num22 = num8 + num7; - int num23 = num8 & num7; - switch (num22 - (num23 + num23)) - { - case 2: - num5 = -1858874035; - break; - case 0: - goto end_IL_031d; - case 1: - _206C_206E_206D_200B_206E_202A_202B_200B_202B_202A_206B_200D_202B_202A_206E_202C_206A_206E_202A_200F_200D_200E_202D_206C_202D_206C_202E_200F_200E_200F_202C_200F_206A_200B_202A_206A_202E_206A_202D_206F_202E((IDisposable)enumerator); - num5 = -1858874036; - break; - } - continue; - end_IL_031d: - break; + num3++; } } - _200D_206F_200E_200E_206F_202A_200E_206E_200F_202B_200B_206C_206E_200F_206C_202B_202B_200D_200F_206C_206A_202C_206D_206B_202C_206E_200E_202D_202C_200F_200E_206B_202B_206F_202D_202C_206B_202D_206A_202A_202E((ILogger)_logger, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(1235670639), new object[4] { num, num2, num3, num4 }); + _logger.LogDebug("Added {NodeCount} warp nodes and {EdgeCount} warp edges ({SkippedDest} missing destination, {SkippedSource} unknown source)", num, num2, num3, num4); } - [MethodImpl(MethodImplOptions.NoInlining)] private void AddSubRegionConnectorNodes(NavGraph graph) { int num = 0; int num2 = 0; - IEnumerator> enumerator = _zoneSubRegionService.AllRegions.GetEnumerator(); - int num3; - try + foreach (KeyValuePair allRegion in _zoneSubRegionService.AllRegions) { - num3 = -1049806291; - int num9 = default(int); - uint territoryId = default(uint); - List list = default(List); - NavNode.SubRegionConnectorNode subRegionConnectorNode2 = default(NavNode.SubRegionConnectorNode); - NavNode.SubRegionConnectorNode subRegionConnectorNode = default(NavNode.SubRegionConnectorNode); - SubRegionConnector subRegionConnector = default(SubRegionConnector); - while (true) + allRegion.Deconstruct(out var key, out var value); + uint territoryId = key; + List connectors = value.Connectors; + for (int i = 0; i < connectors.Count; i++) { - int num4 = num3; - int num5 = -1049806294; - int num6 = num4; - int num7 = num6 + num5; - int num8 = num6 & num5; - switch (num7 - (num8 + num8)) + SubRegionConnector subRegionConnector = connectors[i]; + NavNode.SubRegionConnectorNode subRegionConnectorNode = new NavNode.SubRegionConnectorNode(territoryId, subRegionConnector.SourcePosition, subRegionConnector.SourceSubRegion, i, subRegionConnector.Kind); + graph.AddNode(subRegionConnectorNode); + NavNode.SubRegionConnectorNode subRegionConnectorNode2 = new NavNode.SubRegionConnectorNode(territoryId, subRegionConnector.DestPosition, subRegionConnector.DestSubRegion, i + connectors.Count, subRegionConnector.Kind); + graph.AddNode(subRegionConnectorNode2); + num += 2; + graph.AddEdge(new NavEdge(subRegionConnectorNode.Id, subRegionConnectorNode2.Id, NavEdgeType.SubRegionTransport, subRegionConnector.TimeCostSeconds, 0)); + num2++; + if (subRegionConnector.Bidirectional) { - case 7: - num3 = (_206C_200C_206C_202E_200E_206A_200C_200F_206E_206B_200E_206C_206C_206F_202B_200C_206E_202B_200D_206F_202E_206E_200C_200B_200E_200E_202E_200C_202E_200B_202B_202D_206F_206F_206A_206D_206B_206B_206C_206F_202E((IEnumerator)enumerator) ? (-1049806296) : (-1049806292)); - break; - case 5: - { - int num13 = num9; - num5 = 1; - num6 = num13; - int num14 = num6 ^ num5; - int num15 = num6 & num5; - num9 = num14 + (num15 + num15); - num3 = -1049806290; - break; + graph.AddEdge(new NavEdge(subRegionConnectorNode2.Id, subRegionConnectorNode.Id, NavEdgeType.SubRegionTransport, subRegionConnector.TimeCostSeconds, 0)); + num2++; } - case 2: - { - enumerator.Current.Deconstruct(out var key, out var value); - territoryId = key; - list = _200E_202E_206C_200C_200F_206C_202E_200D_202A_200F_200E_200F_202C_202B_202E_202E_202A_206F_206F_206A_200B_206C_206E_202B_206C_200D_206B_202E_206A_200E_206B_202D_206E_200F_200B_206A_202E_200E_200F_206A_202E(value); - num9 = 0; - num3 = -1049806290; - break; - } - case 3: - { - graph.AddEdge(new NavEdge(subRegionConnectorNode2.Id, subRegionConnectorNode.Id, NavEdgeType.SubRegionTransport, _202E_200B_200C_200D_206E_200F_202D_202E_200C_206A_200B_200C_202D_200C_206B_206E_200B_206D_200B_202C_202B_200D_202D_202E_202C_200E_200E_200B_200D_202C_200B_206A_202A_200E_200E_202E_202B_202C_200E_200E_202E(subRegionConnector), 0)); - int num12 = num2; - num5 = 1; - num6 = num12; - num2 = (num6 | num5) + (num6 & num5); - num3 = -1049806289; - break; - } - case 4: - num3 = ((num9 < list.Count) ? (-1049806293) : (-1049806291)); - break; - case 1: - { - subRegionConnector = list[num9]; - subRegionConnectorNode = new NavNode.SubRegionConnectorNode(territoryId, _200F_200E_200E_206C_206F_202D_202A_202C_206F_206F_202D_200C_206A_202D_206B_202D_202C_200E_202A_202C_200D_206E_202B_206F_202C_202D_206F_202C_200F_200C_206C_200E_206C_200E_206D_206D_202A_202D_206D_202A_202E(subRegionConnector), _200D_200C_202B_202E_202D_206D_206F_206E_202E_202D_202D_206F_206C_202A_202B_200E_202A_206E_206F_202D_200C_206B_206F_206E_200C_202A_200E_202C_206A_200B_206D_206D_206C_200E_202D_200C_206F_206F_206E_206F_202E(subRegionConnector), num9, _202A_202A_202D_202A_200F_206B_206B_206E_202B_200B_206C_206F_200D_202E_200E_206A_202C_206C_206D_206F_202A_202C_206A_202B_206E_200C_202A_206E_202D_200C_202C_200F_200F_206A_202A_202D_200D_202C_202D_206D_202E(subRegionConnector)); - graph.AddNode(subRegionConnectorNode); - subRegionConnectorNode2 = new NavNode.SubRegionConnectorNode(territoryId, _202A_206C_200F_206E_200C_206F_200E_200B_202B_202C_206B_206E_200E_206A_206E_206A_206E_206E_206A_200F_206A_200B_206D_202E_200D_202C_202A_200F_202C_202E_202D_206E_200E_200C_206A_200B_200E_202E_206B_206C_202E(subRegionConnector), _202A_200E_200C_206E_202E_206D_202C_202E_206A_200F_206A_200D_202A_202E_202D_206C_202C_206D_200B_200E_202B_202A_202C_202D_200E_206B_206B_206E_200D_206B_200D_200B_206E_202A_206C_206C_206F_206E_202E_202D_202E(subRegionConnector), num9 + list.Count, _202A_202A_202D_202A_200F_206B_206B_206E_202B_200B_206C_206F_200D_202E_200E_206A_202C_206C_206D_206F_202A_202C_206A_202B_206E_200C_202A_206E_202D_200C_202C_200F_200F_206A_202A_202D_200D_202C_202D_206D_202E(subRegionConnector)); - graph.AddNode(subRegionConnectorNode2); - int num10 = num; - num5 = 2; - num6 = num10; - num = (num6 | num5) + (num6 & num5); - graph.AddEdge(new NavEdge(subRegionConnectorNode.Id, subRegionConnectorNode2.Id, NavEdgeType.SubRegionTransport, _202E_200B_200C_200D_206E_200F_202D_202E_200C_206A_200B_200C_202D_200C_206B_206E_200B_206D_200B_202C_202B_200D_202D_202E_202C_200E_200E_200B_200D_202C_200B_206A_202A_200E_200E_202E_202B_202C_200E_200E_202E(subRegionConnector), 0)); - int num11 = num2; - num5 = 1; - num6 = num11; - num2 = (num6 | num5) + (num6 & num5); - num3 = ((!_206A_202B_200C_202C_202C_206F_202D_200E_200D_200D_200B_206E_206A_206A_206C_206D_206F_206D_202D_200F_200E_200B_206E_206A_200F_206C_200C_200D_206D_206B_206C_202B_200B_206E_202E_200B_206F_202D_206F_206C_202E(subRegionConnector)) ? (-1049806289) : (-1049806295)); - break; - } - case 0: - num3 = -1049806291; - break; - case 6: - goto end_IL_0021; - } - continue; - end_IL_0021: - break; } } - finally + if (num > 0) { - num3 = ((enumerator == null) ? 1756470352 : 1756470355); - while (true) - { - int num16 = num3; - int num5 = 1756470353; - int num6 = num16; - int num17 = num6 + num5; - int num18 = num6 & num5; - switch (num17 - (num18 + num18)) - { - case 1: - goto end_IL_0236; - case 2: - _206C_206E_206D_200B_206E_202A_202B_200B_202B_202A_206B_200D_202B_202A_206E_202C_206A_206E_202A_200F_200D_200E_202D_206C_202D_206C_202E_200F_200E_200F_202C_200F_206A_200B_202A_206A_202E_206A_202D_206F_202E((IDisposable)enumerator); - num3 = 1756470352; - break; - case 0: - num3 = 1756470355; - break; - } - continue; - end_IL_0236: - break; - } + _logger.LogDebug("Added {NodeCount} sub-region connector nodes and {EdgeCount} transport edges", num, num2); } - num3 = ((num <= 0) ? (-368100620) : (-368100619)); - while (true) - { - int num19 = num3; - int num5 = -368100620; - int num6 = num19; - int num20 = num6 + num5; - int num21 = num6 & num5; - switch (num20 - (num21 + num21)) - { - case 2: - num3 = -368100619; - break; - case 1: - _200D_206F_200E_200E_206F_202A_200E_206E_200F_202B_200B_206C_206E_200F_206C_202B_202B_200D_200F_206C_206A_202C_206D_206B_202C_206E_200E_202D_202C_200F_200E_206B_202B_206F_202D_202C_206B_202D_206A_202A_202E((ILogger)_logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-1957227425), new object[2] { num, num2 }); - num3 = -368100620; - break; - case 0: - return; - } - } - } - - static void _200D_206F_200E_200E_206F_202A_200E_206E_200F_202B_200B_206C_206E_200F_206C_202B_202B_200D_200F_206C_206A_202C_206D_206B_202C_206E_200E_202D_202C_200F_200E_206B_202B_206F_202D_202C_206B_202D_206A_202A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _206E_202A_202A_200D_206E_200C_200B_206C_206F_202E_200C_206E_206A_206E_202A_206D_200C_202A_200D_202B_202B_206F_206C_206C_206C_200B_202C_202B_200B_206F_202A_202E_202C_202B_200D_202D_206E_202B_200E_202E(EAetheryteLocation P_0) - { - return AetheryteConverter.IsLargeAetheryte(P_0); - } - - static bool _206C_200C_206C_202E_200E_206A_200C_200F_206E_206B_200E_206C_206C_206F_202B_200C_206E_202B_200D_206F_202E_206E_200C_200B_200E_200E_202E_200C_202E_200B_202B_202D_206F_206F_206A_206D_206B_206B_206C_206F_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206C_206E_206D_200B_206E_202A_202B_200B_202B_202A_206B_200D_202B_202A_206E_202C_206A_206E_202A_200F_200D_200E_202D_206C_202D_206C_202E_200F_200E_200F_202C_200F_206A_200B_202A_206A_202E_206A_202D_206F_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static BoundarySide _206A_206D_200D_200D_202D_206E_206E_200B_206D_206D_202E_200B_200C_206E_206C_200B_206A_200B_206A_200F_202A_200B_200E_200C_200B_206E_200E_200B_206B_202D_202D_200D_206C_200F_206D_200D_200C_206A_200F_202B_202E(ZoneBoundary P_0) - { - return P_0.Side1; - } - - static ushort _206D_206D_200E_202C_200F_202B_202B_206C_206A_200D_202D_202B_202A_202D_200D_202E_206D_206F_206F_200C_206C_200D_200F_200C_202E_200E_200D_206E_200D_202C_206F_206B_202E_206C_200F_206F_200C_200D_202B_202E_202E(BoundarySide P_0) - { - return P_0.TerritoryId; - } - - static BoundarySide _206E_202E_200D_206B_202E_202E_206C_206E_202E_206D_206B_202B_206E_202D_206F_202C_206E_202D_200C_202B_206A_202C_200F_200E_206A_200B_202D_200B_200C_206B_206B_206C_200C_202A_206A_202A_200E_200D_206C_200E_202E(ZoneBoundary P_0) - { - return P_0.Side2; - } - - static string _206D_206B_206C_206B_206A_200B_200E_202D_206A_206E_206D_200D_200D_206F_206B_202C_202B_206D_206D_200C_202A_200E_202E_200C_202E_202C_206E_206A_206E_200D_200E_206E_202B_202C_200B_202E_200B_202E_206D_202E(ZoneBoundary P_0) - { - return P_0.Id; - } - - static void _206F_200E_206A_202C_206D_200D_206C_200E_200E_202A_206E_206E_200F_206D_200E_200C_202B_200F_202C_206A_206F_206C_200F_200E_206A_206D_200D_206B_202A_206F_202D_200F_202C_206D_206C_202C_206A_202C_200C_206F_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static Vector3 _202C_206E_206A_202A_206C_200D_202A_206A_202E_200C_200D_202A_202C_206C_206B_206A_202A_200C_206E_206C_206F_200B_202E_200D_200C_206A_206C_206C_206D_202B_206B_202C_200E_202E_202A_206C_200B_200B_206D_206C_202E(BoundarySide P_0) - { - return P_0.Position; - } - - static bool _206A_202B_200E_206C_206C_202C_206B_206A_206B_202B_200D_202B_206A_206D_200F_200C_202C_202D_206D_202E_202A_206F_200F_202A_200B_202D_200E_202B_200E_200B_206E_206A_206C_206A_202A_206D_200B_202A_202B_202B_202E(ZoneBoundary P_0) - { - return P_0.RequiresFlying; - } - - static uint? _200D_206B_206C_202C_200F_200E_200E_200D_202D_206F_206E_206A_202D_200F_202B_202C_206D_202C_202B_202D_202A_202B_202E_200D_206B_206F_206C_202B_202A_202A_206E_206B_200B_200C_202B_200F_200C_200D_200F_206F_202E(ZoneBoundary P_0) - { - return P_0.RequiredQuest; - } - - static TriggerBox _202B_206E_202B_202E_200B_206F_200B_202B_202B_206D_202A_202A_200D_200C_202A_202D_200F_202B_206D_202D_202C_202B_206F_202D_202B_200D_200C_206F_206E_206C_206E_202B_200F_206B_206D_206D_206A_200B_200B_206A_202E(BoundarySide P_0) - { - return P_0.Trigger; - } - - static bool _200D_202E_200B_200C_202E_206B_200D_202C_202C_200D_202C_202D_200B_206A_200E_206F_206E_206D_200D_202B_200D_206A_206A_200F_200F_206A_206A_206E_202E_206B_200E_202B_202D_206C_206A_202E_202C_200E_206F_200F_202E(ZoneBoundary P_0) - { - return P_0.OneWay; - } - - static bool _202C_206C_206A_200B_206F_202D_200C_206A_200E_206B_206F_206E_200C_202A_202B_206E_200C_202E_202D_206B_206E_202D_200E_206E_200B_200C_202B_202B_202C_206B_206C_202D_200D_206D_206C_200F_206C_206F_206D_202C_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - - static List _200E_202E_206C_200C_200F_206C_202E_200D_202A_200F_200E_200F_202C_202B_202E_202E_202A_206F_206F_206A_200B_206C_206E_202B_206C_200D_206B_202E_206A_200E_206B_202D_206E_200F_200B_206A_202E_200E_200F_206A_202E(TerritorySubRegions P_0) - { - return P_0.Connectors; - } - - static Vector3 _200F_200E_200E_206C_206F_202D_202A_202C_206F_206F_202D_200C_206A_202D_206B_202D_202C_200E_202A_202C_200D_206E_202B_206F_202C_202D_206F_202C_200F_200C_206C_200E_206C_200E_206D_206D_202A_202D_206D_202A_202E(SubRegionConnector P_0) - { - return P_0.SourcePosition; - } - - static string _200D_200C_202B_202E_202D_206D_206F_206E_202E_202D_202D_206F_206C_202A_202B_200E_202A_206E_206F_202D_200C_206B_206F_206E_200C_202A_200E_202C_206A_200B_206D_206D_206C_200E_202D_200C_206F_206F_206E_206F_202E(SubRegionConnector P_0) - { - return P_0.SourceSubRegion; - } - - static SubRegionConnectorKind _202A_202A_202D_202A_200F_206B_206B_206E_202B_200B_206C_206F_200D_202E_200E_206A_202C_206C_206D_206F_202A_202C_206A_202B_206E_200C_202A_206E_202D_200C_202C_200F_200F_206A_202A_202D_200D_202C_202D_206D_202E(SubRegionConnector P_0) - { - return P_0.Kind; - } - - static Vector3 _202A_206C_200F_206E_200C_206F_200E_200B_202B_202C_206B_206E_200E_206A_206E_206A_206E_206E_206A_200F_206A_200B_206D_202E_200D_202C_202A_200F_202C_202E_202D_206E_200E_200C_206A_200B_200E_202E_206B_206C_202E(SubRegionConnector P_0) - { - return P_0.DestPosition; - } - - static string _202A_200E_200C_206E_202E_206D_202C_202E_206A_200F_206A_200D_202A_202E_202D_206C_202C_206D_200B_200E_202B_202A_202C_202D_200E_206B_206B_206E_200D_206B_200D_200B_206E_202A_206C_206C_206F_206E_202E_202D_202E(SubRegionConnector P_0) - { - return P_0.DestSubRegion; - } - - static float _202E_200B_200C_200D_206E_200F_202D_202E_200C_206A_200B_200C_202D_200C_206B_206E_200B_206D_200B_202C_202B_200D_202D_202E_202C_200E_200E_200B_200D_202C_200B_206A_202A_200E_200E_202E_202B_202C_200E_200E_202E(SubRegionConnector P_0) - { - return P_0.TimeCostSeconds; - } - - static bool _206A_202B_200C_202C_202C_206F_202D_200E_200D_200D_200B_206E_206A_206A_206C_206D_206F_206D_202D_200F_200E_200B_206E_206A_200F_206C_200C_200D_206D_206B_206C_202B_200B_206E_202E_200B_206F_202D_206F_206C_202E(SubRegionConnector P_0) - { - return P_0.Bidirectional; } } diff --git a/SmartNav/SmartNav/NavGraphView.cs b/SmartNav/SmartNav/NavGraphView.cs index 4459c42..5d2951b 100644 --- a/SmartNav/SmartNav/NavGraphView.cs +++ b/SmartNav/SmartNav/NavGraphView.cs @@ -1,9 +1,6 @@ -using System; -using System.Collections; using System.Collections.Generic; using System.Linq; using System.Numerics; -using System.Runtime.CompilerServices; using Microsoft.Extensions.Logging; using SmartNav.Data; using SmartNav.Graph; @@ -15,267 +12,72 @@ public sealed class NavGraphView(CostCalculator costCalculator, ITerritoryInfo t { public (NavGraph EffectiveGraph, string OriginId, string DestinationId) CreateQueryGraph(NavGraph staticGraph, PlayerNavState playerState, uint destinationTerritoryId, Vector3 destinationPosition) { - int num = ((playerState.CurrentTerritoryId != destinationTerritoryId) ? 851259110 : 851259111); - while (true) + if (playerState.CurrentTerritoryId == destinationTerritoryId) { - int num2 = num; - int num3 = 851259110; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - goto IL_0049; - case 1: - return CreateSameZoneQueryGraph(staticGraph, playerState, destinationTerritoryId, destinationPosition); - case 0: - return CreateCrossZoneQueryGraph(staticGraph, playerState, destinationTerritoryId, destinationPosition); - } - continue; - IL_0049: - num = 851259111; + return CreateSameZoneQueryGraph(staticGraph, playerState, destinationTerritoryId, destinationPosition); } + return CreateCrossZoneQueryGraph(staticGraph, playerState, destinationTerritoryId, destinationPosition); } - [MethodImpl(MethodImplOptions.NoInlining)] private (NavGraph EffectiveGraph, string OriginId, string DestinationId) CreateSameZoneQueryGraph(NavGraph staticGraph, PlayerNavState playerState, uint territoryId, Vector3 destinationPosition) { NavGraph navGraph = new NavGraph(); HashSet hashSet = new HashSet(); - IEnumerator enumerator = staticGraph.Nodes.Values.GetEnumerator(); - int num; - try + foreach (NavNode value in staticGraph.Nodes.Values) { - NavEdge current2 = default(NavEdge); - while (_202B_202B_200F_206B_206A_206A_200E_206A_200E_206C_206A_200E_200F_206A_200C_200D_202B_202D_206B_202B_200B_200F_202E_202E_206C_206A_200B_206E_202D_206B_202B_206C_200E_200D_206F_206D_202A_200F_202D_202A_202E((IEnumerator)enumerator)) + if (value.TerritoryId != territoryId) { - NavNode current = enumerator.Current; - if (current.TerritoryId != territoryId) - { - continue; - } - IEnumerator enumerator2 = staticGraph.GetEdges(current.Id).GetEnumerator(); - try - { - num = -617250015; - while (true) - { - int num2 = num; - int num3 = -617250012; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -617250015; - break; - case 1: - { - NavNode? node = staticGraph.GetNode(current2.ToNodeId); - num = (((object)node == null || node.TerritoryId != territoryId) ? (-617250015) : (-617250010)); - break; - } - case 5: - num = (_202B_202B_200F_206B_206A_206A_200E_206A_200E_206C_206A_200E_200F_206A_200C_200D_202B_202D_206B_202B_200B_200F_202E_202E_206C_206A_200B_206E_202D_206B_202B_206C_200E_200D_206F_206D_202A_200F_202D_202A_202E((IEnumerator)enumerator2) ? (-617250016) : (-617250009)); - break; - case 4: - current2 = enumerator2.Current; - num = ((current2.EdgeType != NavEdgeType.Warp) ? (-617250015) : (-617250011)); - break; - case 2: - hashSet.Add(current2.FromNodeId); - hashSet.Add(current2.ToNodeId); - num = -617250015; - break; - case 3: - goto end_IL_0059; - } - continue; - end_IL_0059: - break; - } - } - finally - { - num = ((enumerator2 == null) ? 1553981208 : 1553981211); - while (true) - { - int num5 = num; - int num3 = 1553981210; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 0: - num = 1553981211; - break; - case 1: - _206E_200F_206F_202C_202C_206E_206C_200F_202A_200F_200F_202B_200B_200D_200D_206A_200D_206F_206A_200E_202D_202D_202A_200D_206F_206C_206B_200D_200C_206B_202E_200B_202D_202C_206D_206C_206A_206D_206F_200E_202E((IDisposable)enumerator2); - num = 1553981208; - break; - case 2: - goto end_IL_017a; - } - continue; - end_IL_017a: - break; - } - } - } - } - finally - { - num = ((enumerator == null) ? 2134888700 : 2134888703); - while (true) - { - int num8 = num; - int num3 = 2134888702; - int num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 2: - goto end_IL_01f8; - case 1: - _206E_200F_206F_202C_202C_206E_206C_200F_202A_200F_200F_202B_200B_200D_200D_206A_200D_206F_206A_200E_202D_202D_202A_200D_206F_206C_206B_200D_200C_206B_202E_200B_202D_202C_206D_206C_206A_206D_206F_200E_202E((IDisposable)enumerator); - num = 2134888700; - break; - case 0: - num = 2134888703; - break; - } continue; - end_IL_01f8: - break; + } + foreach (NavEdge edge in staticGraph.GetEdges(value.Id)) + { + if (edge.EdgeType == NavEdgeType.Warp) + { + NavNode? node = staticGraph.GetNode(edge.ToNodeId); + if ((object)node != null && node.TerritoryId == territoryId) + { + hashSet.Add(edge.FromNodeId); + hashSet.Add(edge.ToNodeId); + } + } } } List list = new List(); - enumerator = staticGraph.Nodes.Values.GetEnumerator(); - try + foreach (NavNode value2 in staticGraph.Nodes.Values) { - num = 352472166; - NavNode current3 = default(NavNode); - NavNode.AetheryteNode aetheryteNode = default(NavNode.AetheryteNode); - NavNode.WarpNode warpNode = default(NavNode.WarpNode); - NavNode.AethernetNode aethernetNode = default(NavNode.AethernetNode); - uint[] availableDuringMsqIds = default(uint[]); - while (true) + if (value2.TerritoryId != territoryId || value2 is NavNode.ZoneBoundaryNode) { - int num11 = num; - int num3 = 352472174; - int num4 = num11; - int num12 = num4 + num3; - int num13 = num4 & num3; - switch (num12 - (num13 + num13)) - { - case 13: - navGraph.AddNode(current3); - list.Add(aetheryteNode); - num = 352472166; - break; - case 15: - navGraph.AddNode(current3); - num = 352472166; - break; - case 3: - warpNode = current3 as NavNode.WarpNode; - num = (((object)warpNode == null) ? 352472186 : 352472165); - break; - case 14: - num = ((!playerState.IsAetheryteUnlocked(aethernetNode.Aethernet)) ? 352472166 : 352472190); - break; - case 20: - navGraph.AddNode(current3); - num = 352472166; - break; - case 19: - num = 352472166; - break; - case 4: - availableDuringMsqIds = warpNode.AvailableDuringMsqIds; - num = ((availableDuringMsqIds == null) ? 352472172 : 352472187); - break; - case 7: - current3 = enumerator.Current; - num = ((current3.TerritoryId != territoryId) ? 352472166 : 352472174); - break; - case 1: - num = ((warpNode.RequiredClassLevel > playerState.CurrentLevel) ? 352472166 : 352472164); - break; - case 2: - num = ((!hashSet.Contains(warpNode.Id)) ? 352472166 : 352472161); - break; - case 9: - num = ((!playerState.IsAetheryteUnlocked(aetheryteNode.Aetheryte)) ? 352472166 : 352472163); - break; - case 18: - aetheryteNode = current3 as NavNode.AetheryteNode; - num = (((object)aetheryteNode == null) ? 352472162 : 352472167); - break; - case 0: - num = ((current3 is NavNode.ZoneBoundaryNode) ? 352472166 : 352472188); - break; - case 5: - num = ((!playerState.CurrentMsqQuestId.HasValue) ? 352472166 : 352472191); - break; - case 10: - num = ((!WarpQuestGateSatisfied(warpNode, playerState)) ? 352472166 : 352472170); - break; - case 17: - num = ((!availableDuringMsqIds.Contains(playerState.CurrentMsqQuestId.Value)) ? 352472166 : 352472172); - break; - case 21: - num = ((availableDuringMsqIds.Length <= 0) ? 352472172 : 352472171); - break; - case 16: - navGraph.AddNode(current3); - num = 352472166; - break; - case 12: - aethernetNode = current3 as NavNode.AethernetNode; - num = (((object)aethernetNode == null) ? 352472173 : 352472160); - break; - case 11: - num = (warpFailureTracker.IsBlacklisted(warpNode.WarpRowId) ? 352472166 : 352472175); - break; - case 8: - num = (_202B_202B_200F_206B_206A_206A_200E_206A_200E_206C_206A_200E_200F_206A_200C_200D_202B_202D_206B_202B_200B_200F_202E_202E_206C_206A_200B_206E_202D_206B_202B_206C_200E_200D_206F_206D_202A_200F_202D_202A_202E((IEnumerator)enumerator) ? 352472169 : 352472168); - break; - case 6: - goto end_IL_026a; - } continue; - end_IL_026a: - break; } - } - finally - { - num = ((enumerator == null) ? (-1533943948) : (-1533943945)); - while (true) + if (value2 is NavNode.AetheryteNode aetheryteNode) { - int num14 = num; - int num3 = -1533943947; - int num4 = num14; - int num15 = num4 + num3; - int num16 = num4 & num3; - switch (num15 - (num16 + num16)) + if (playerState.IsAetheryteUnlocked(aetheryteNode.Aetheryte)) { - case 0: - num = -1533943945; - break; - case 1: - goto end_IL_05ff; - case 2: - _206E_200F_206F_202C_202C_206E_206C_200F_202A_200F_200F_202B_200B_200D_200D_206A_200D_206F_206A_200E_202D_202D_202A_200D_206F_206C_206B_200D_200C_206B_202E_200B_202D_202C_206D_206C_206A_206D_206F_200E_202E((IDisposable)enumerator); - num = -1533943948; - break; + navGraph.AddNode(value2); + list.Add(aetheryteNode); } - continue; - end_IL_05ff: - break; + } + else if (value2 is NavNode.AethernetNode aethernetNode) + { + if (playerState.IsAetheryteUnlocked(aethernetNode.Aethernet)) + { + navGraph.AddNode(value2); + } + } + else if (value2 is NavNode.WarpNode warpNode) + { + if (!warpFailureTracker.IsBlacklisted(warpNode.WarpRowId) && warpNode.RequiredClassLevel <= playerState.CurrentLevel && WarpQuestGateSatisfied(warpNode, playerState)) + { + uint[] availableDuringMsqIds = warpNode.AvailableDuringMsqIds; + if ((availableDuringMsqIds == null || availableDuringMsqIds.Length <= 0 || (playerState.CurrentMsqQuestId.HasValue && availableDuringMsqIds.Contains(playerState.CurrentMsqQuestId.Value))) && hashSet.Contains(warpNode.Id)) + { + navGraph.AddNode(value2); + } + } + } + else + { + navGraph.AddNode(value2); } } CopyStaticEdges(navGraph, staticGraph); @@ -283,200 +85,78 @@ public sealed class NavGraphView(CostCalculator costCalculator, ITerritoryInfo t NavNode.PositionNode positionNode = new NavNode.PositionNode(territoryId, playerState.CurrentPosition); navGraph.AddNode(positionNode); NavNode.PositionNode positionNode2 = new NavNode.PositionNode(territoryId, destinationPosition); - num = ((!_202D_206F_202C_200B_206E_200E_200C_200D_202A_202B_206B_206B_200B_202A_202B_202C_206B_202C_200E_200F_202E_206C_202D_206B_202E_202E_202C_206E_202C_206B_200F_200D_200B_206E_206F_206B_206B_202E_200C_202A_202E(positionNode2.Id, positionNode.Id)) ? 1977419108 : 1977419113); - while (true) + if (positionNode2.Id != positionNode.Id) { - int num17 = num; - int num3 = 1977419105; - int num4 = num17; - int num18 = num4 + num3; - int num19 = num4 & num3; - switch (num18 - (num19 + num19)) - { - case 1: - num = ((playerState == null) ? 1977419106 : 1977419107); - break; - case 2: - num = ((!playerState.TeleportUnlocked) ? 1977419106 : 1977419110); - break; - case 3: - AddTicketTeleportEdges(navGraph, positionNode, playerState, territoryId); - AddWarpWithinZoneEdges(navGraph, playerState); - AddConnectorWithinZoneEdges(navGraph, playerState); - _206B_206A_206F_206B_200C_200D_200C_206E_206F_202E_200E_206D_206C_206D_202B_202D_200C_202E_202C_206C_200D_206D_200B_200B_200E_200C_206C_202E_200B_202D_200C_206A_206E_202D_206F_202B_206E_200D_202D_202B_202E((ILogger)logger, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-305562461), new object[2] { navGraph.NodeCount, navGraph.EdgeCount }); - return (EffectiveGraph: navGraph, OriginId: positionNode.Id, DestinationId: positionNode2.Id); - case 7: - num = ((!playerState.ReturnAvailable) ? 1977419106 : 1977419111); - break; - case 4: - AddTeleportEdgesFromOrigin(navGraph, positionNode, list, playerState); - num = 1977419104; - break; - case 6: - AddReturnEdge(navGraph, positionNode, playerState); - num = 1977419106; - break; - case 5: - AddWithinZoneEdgesFrom(navGraph, positionNode, playerState); - AddWithinZoneEdgesTo(navGraph, positionNode2, playerState); - num = ((!playerState.TeleportUnlocked) ? 1977419104 : 1977419109); - break; - case 8: - navGraph.AddNode(positionNode2); - num = 1977419108; - break; - case 0: - num = 1977419113; - break; - } + navGraph.AddNode(positionNode2); } + AddWithinZoneEdgesFrom(navGraph, positionNode, playerState); + AddWithinZoneEdgesTo(navGraph, positionNode2, playerState); + if (playerState.TeleportUnlocked) + { + AddTeleportEdgesFromOrigin(navGraph, positionNode, list, playerState); + } + if (playerState != null && playerState.TeleportUnlocked && playerState.ReturnAvailable) + { + AddReturnEdge(navGraph, positionNode, playerState); + } + AddTicketTeleportEdges(navGraph, positionNode, playerState, territoryId); + AddWarpWithinZoneEdges(navGraph, playerState); + AddConnectorWithinZoneEdges(navGraph, playerState); + logger.LogDebug("Same-zone query graph: {NodeCount} nodes, {EdgeCount} edges", navGraph.NodeCount, navGraph.EdgeCount); + return (EffectiveGraph: navGraph, OriginId: positionNode.Id, DestinationId: positionNode2.Id); } - [MethodImpl(MethodImplOptions.NoInlining)] private (NavGraph EffectiveGraph, string OriginId, string DestinationId) CreateCrossZoneQueryGraph(NavGraph staticGraph, PlayerNavState playerState, uint destinationTerritoryId, Vector3 destinationPosition) { NavGraph navGraph = new NavGraph(); List list = new List(); - IEnumerator enumerator = staticGraph.Nodes.Values.GetEnumerator(); - int num; - try + foreach (NavNode value in staticGraph.Nodes.Values) { - num = -608712639; - NavNode.WarpNode warpNode = default(NavNode.WarpNode); - NavNode current = default(NavNode); - NavNode.AetheryteNode aetheryteNode = default(NavNode.AetheryteNode); - uint[] availableDuringMsqIds = default(uint[]); - uint? num5 = default(uint?); - NavNode.ZoneBoundaryNode zoneBoundaryNode = default(NavNode.ZoneBoundaryNode); - NavNode.AethernetNode aethernetNode = default(NavNode.AethernetNode); - while (true) + if (territoryInfo.GetExVersion(value.TerritoryId) > playerState.MaxExpansion) { - int num2 = num; - int num3 = -608712618; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - warpNode = current as NavNode.WarpNode; - num = (((object)warpNode == null) ? (-608712609) : (-608712613)); - break; - case 18: - current = enumerator.Current; - num = ((territoryInfo.GetExVersion(current.TerritoryId) > playerState.MaxExpansion) ? (-608712639) : (-608712615)); - break; - case 8: - navGraph.AddNode(current); - list.Add(aetheryteNode); - num = -608712639; - break; - case 20: - navGraph.AddNode(current); - num = -608712639; - break; - case 23: - num = (_202B_202B_200F_206B_206A_206A_200E_206A_200E_206C_206A_200E_200F_206A_200C_200D_202B_202D_206B_202B_200B_200F_202E_202E_206C_206A_200B_206E_202D_206B_202B_206C_200E_200D_206F_206D_202A_200F_202D_202A_202E((IEnumerator)enumerator) ? (-608712636) : (-608712635)); - break; - case 12: - navGraph.AddNode(current); - num = -608712639; - break; - case 11: - num = ((availableDuringMsqIds.Length <= 0) ? (-608712623) : (-608712616)); - break; - case 14: - num5 = playerState.CurrentMsqQuestId; - num = ((!num5.HasValue) ? (-608712639) : (-608712618)); - break; - case 6: - num = ((!WarpQuestGateSatisfied(warpNode, playerState)) ? (-608712639) : (-608712640)); - break; - case 10: - num5 = zoneBoundaryNode.RequiredQuestId; - num = ((!num5.HasValue) ? (-608712638) : (-608712633)); - break; - case 9: - navGraph.AddNode(current); - num = -608712639; - break; - case 22: - availableDuringMsqIds = warpNode.AvailableDuringMsqIds; - num = ((availableDuringMsqIds == null) ? (-608712623) : (-608712611)); - break; - case 15: - aetheryteNode = current as NavNode.AetheryteNode; - num = (((object)aetheryteNode == null) ? (-608712621) : (-608712634)); - break; - case 13: - num = (warpFailureTracker.IsBlacklisted(warpNode.WarpRowId) ? (-608712639) : (-608712617)); - break; - case 1: - num = ((warpNode.RequiredClassLevel > playerState.CurrentLevel) ? (-608712639) : (-608712624)); - break; - case 0: - { - uint[] source = availableDuringMsqIds; - num5 = playerState.CurrentMsqQuestId; - num = ((!source.Contains(num5.Value)) ? (-608712639) : (-608712623)); - break; - } - case 7: - navGraph.AddNode(current); - num = -608712639; - break; - case 3: - zoneBoundaryNode = current as NavNode.ZoneBoundaryNode; - num = (((object)zoneBoundaryNode == null) ? (-608712622) : (-608712612)); - break; - case 16: - num = ((!playerState.IsAetheryteUnlocked(aetheryteNode.Aetheryte)) ? (-608712639) : (-608712610)); - break; - case 17: - { - uint valueOrDefault = num5.GetValueOrDefault(); - num = ((!playerState.IsQuestComplete(valueOrDefault)) ? (-608712639) : (-608712638)); - break; - } - case 2: - num = -608712639; - break; - case 5: - aethernetNode = current as NavNode.AethernetNode; - num = (((object)aethernetNode == null) ? (-608712619) : (-608712637)); - break; - case 21: - num = ((!playerState.IsAetheryteUnlocked(aethernetNode.Aethernet)) ? (-608712639) : (-608712614)); - break; - case 19: - goto end_IL_002a; - } continue; - end_IL_002a: - break; } - } - finally - { - num = ((enumerator == null) ? 1459189528 : 1459189531); - while (true) + if (value is NavNode.AetheryteNode aetheryteNode) { - int num6 = num; - int num3 = 1459189530; - int num4 = num6; - switch ((num4 | num3) - (num4 & num3)) + if (playerState.IsAetheryteUnlocked(aetheryteNode.Aetheryte)) { - case 0: - num = 1459189531; - break; - case 2: - goto end_IL_041e; - case 1: - _206E_200F_206F_202C_202C_206E_206C_200F_202A_200F_200F_202B_200B_200D_200D_206A_200D_206F_206A_200E_202D_202D_202A_200D_206F_206C_206B_200D_200C_206B_202E_200B_202D_202C_206D_206C_206A_206D_206F_200E_202E((IDisposable)enumerator); - num = 1459189528; - break; + navGraph.AddNode(value); + list.Add(aetheryteNode); } - continue; - end_IL_041e: - break; + } + else if (value is NavNode.AethernetNode aethernetNode) + { + if (playerState.IsAetheryteUnlocked(aethernetNode.Aethernet)) + { + navGraph.AddNode(value); + } + } + else if (value is NavNode.ZoneBoundaryNode { RequiredQuestId: var requiredQuestId }) + { + if (requiredQuestId.HasValue) + { + uint valueOrDefault = requiredQuestId.GetValueOrDefault(); + if (!playerState.IsQuestComplete(valueOrDefault)) + { + continue; + } + } + navGraph.AddNode(value); + } + else if (value is NavNode.WarpNode warpNode) + { + if (!warpFailureTracker.IsBlacklisted(warpNode.WarpRowId) && warpNode.RequiredClassLevel <= playerState.CurrentLevel && WarpQuestGateSatisfied(warpNode, playerState)) + { + uint[] availableDuringMsqIds = warpNode.AvailableDuringMsqIds; + if (availableDuringMsqIds == null || availableDuringMsqIds.Length <= 0 || (playerState.CurrentMsqQuestId.HasValue && availableDuringMsqIds.Contains(playerState.CurrentMsqQuestId.Value))) + { + navGraph.AddNode(value); + } + } + } + else + { + navGraph.AddNode(value); } } CopyStaticEdges(navGraph, staticGraph); @@ -484,395 +164,95 @@ public sealed class NavGraphView(CostCalculator costCalculator, ITerritoryInfo t NavNode.PositionNode positionNode = new NavNode.PositionNode(playerState.CurrentTerritoryId, playerState.CurrentPosition); navGraph.AddNode(positionNode); NavNode.PositionNode positionNode2 = new NavNode.PositionNode(destinationTerritoryId, destinationPosition); - num = ((!_202D_206F_202C_200B_206E_200E_200C_200D_202A_202B_206B_206B_200B_202A_202B_202C_206B_202C_200E_200F_202E_206C_202D_206B_202E_202E_202C_206E_202C_206B_200F_200D_200B_206E_206F_206B_206B_202E_200C_202A_202E(positionNode2.Id, positionNode.Id)) ? 1956503777 : 1956503780); - while (true) + if (positionNode2.Id != positionNode.Id) { - int num7 = num; - int num3 = 1956503781; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 7: - num = ((!playerState.TeleportUnlocked) ? 1956503789 : 1956503783); - break; - case 4: - AddWithinZoneEdgesFrom(navGraph, positionNode, playerState); - AddWithinZoneEdgesTo(navGraph, positionNode2, playerState); - num = ((!playerState.TeleportUnlocked) ? 1956503779 : 1956503776); - break; - case 3: - AddReturnEdge(navGraph, positionNode, playerState); - num = 1956503789; - break; - case 1: - navGraph.AddNode(positionNode2); - num = 1956503777; - break; - case 5: - AddTeleportEdgesFromOrigin(navGraph, positionNode, list, playerState); - num = 1956503779; - break; - case 0: - num = 1956503780; - break; - case 6: - num = ((playerState == null) ? 1956503789 : 1956503778); - break; - case 8: - AddTicketTeleportEdges(navGraph, positionNode, playerState, null); - RecomputeAethernetCosts(navGraph); - AddBoundaryWithinZoneEdges(navGraph, playerState); - AddWarpWithinZoneEdges(navGraph, playerState); - AddConnectorWithinZoneEdges(navGraph, playerState); - _206B_206A_206F_206B_200C_200D_200C_206E_206F_202E_200E_206D_206C_206D_202B_202D_200C_202E_202C_206C_200D_206D_200B_200B_200E_200C_206C_202E_200B_202D_200C_206A_206E_202D_206F_202B_206E_200D_202D_202B_202E((ILogger)logger, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-1776596717), new object[2] { navGraph.NodeCount, navGraph.EdgeCount }); - return (EffectiveGraph: navGraph, OriginId: positionNode.Id, DestinationId: positionNode2.Id); - case 2: - num = ((!playerState.ReturnAvailable) ? 1956503789 : 1956503782); - break; - } + navGraph.AddNode(positionNode2); } + AddWithinZoneEdgesFrom(navGraph, positionNode, playerState); + AddWithinZoneEdgesTo(navGraph, positionNode2, playerState); + if (playerState.TeleportUnlocked) + { + AddTeleportEdgesFromOrigin(navGraph, positionNode, list, playerState); + } + if (playerState != null && playerState.TeleportUnlocked && playerState.ReturnAvailable) + { + AddReturnEdge(navGraph, positionNode, playerState); + } + AddTicketTeleportEdges(navGraph, positionNode, playerState, null); + RecomputeAethernetCosts(navGraph); + AddBoundaryWithinZoneEdges(navGraph, playerState); + AddWarpWithinZoneEdges(navGraph, playerState); + AddConnectorWithinZoneEdges(navGraph, playerState); + logger.LogDebug("Cross-zone query graph: {NodeCount} nodes, {EdgeCount} edges", navGraph.NodeCount, navGraph.EdgeCount); + return (EffectiveGraph: navGraph, OriginId: positionNode.Id, DestinationId: positionNode2.Id); } private static bool WarpQuestGateSatisfied(NavNode.WarpNode warpNode, PlayerNavState playerState) { - int num = ((warpNode.RequiredQuestIds.Length != 0) ? (-1021069975) : (-1021069970)); - while (true) + if (warpNode.RequiredQuestIds.Length == 0) { - int num2 = num; - int num3 = -1021069971; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - return warpNode.RequiredQuestIds.All(playerState.IsQuestComplete); - case 4: - num = (warpNode.RequireAllQuests ? (-1021069971) : (-1021069972)); - break; - case 1: - return warpNode.RequiredQuestIds.Any(playerState.IsQuestComplete); - case 3: - return true; - case 2: - num = -1021069970; - break; - } + return true; } + if (!warpNode.RequireAllQuests) + { + return warpNode.RequiredQuestIds.Any(playerState.IsQuestComplete); + } + return warpNode.RequiredQuestIds.All(playerState.IsQuestComplete); } private static void PruneUncrossableFlyingBoundaries(NavGraph queryGraph, PlayerNavState playerState) { - IEnumerator enumerator = queryGraph.Nodes.Values.GetEnumerator(); - try + foreach (NavNode value in queryGraph.Nodes.Values) { - int num = 1561411569; - NavNode.ZoneBoundaryNode zoneBoundaryNode = default(NavNode.ZoneBoundaryNode); - while (true) + if (value is NavNode.ZoneBoundaryNode { RequiresFlying: not false } zoneBoundaryNode && !playerState.IsFlyingUnlocked(zoneBoundaryNode.TerritoryId)) { - int num2 = num; - int num3 = 1561411575; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 3: - num = ((!zoneBoundaryNode.RequiresFlying) ? 1561411569 : 1561411574); - break; - case 4: - zoneBoundaryNode = enumerator.Current as NavNode.ZoneBoundaryNode; - num = (((object)zoneBoundaryNode == null) ? 1561411569 : 1561411572); - break; - case 0: - num = 1561411569; - break; - case 1: - num = (playerState.IsFlyingUnlocked(zoneBoundaryNode.TerritoryId) ? 1561411569 : 1561411570); - break; - case 5: - queryGraph.RemoveEdges(zoneBoundaryNode.Id, (NavEdge e) => e.EdgeType == NavEdgeType.ZoneBoundary); - num = 1561411569; - break; - case 6: - num = (_202B_202B_200F_206B_206A_206A_200E_206A_200E_206C_206A_200E_200F_206A_200C_200D_202B_202D_206B_202B_200B_200F_202E_202E_206C_206A_200B_206E_202D_206B_202B_206C_200E_200D_206F_206D_202A_200F_202D_202A_202E((IEnumerator)enumerator) ? 1561411571 : 1561411573); - break; - case 2: - return; - } - } - } - finally - { - int num = ((enumerator == null) ? (-1966182711) : (-1966182710)); - while (true) - { - int num7 = num; - int num3 = -1966182709; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 0: - num = -1966182710; - break; - case 1: - _206E_200F_206F_202C_202C_206E_206C_200F_202A_200F_200F_202B_200B_200D_200D_206A_200D_206F_206A_200E_202D_202D_202A_200D_206F_206C_206B_200D_200C_206B_202E_200B_202D_202C_206D_206C_206A_206D_206F_200E_202E((IDisposable)enumerator); - num = -1966182711; - break; - case 2: - goto end_IL_014c; - } - continue; - end_IL_014c: - break; + queryGraph.RemoveEdges(zoneBoundaryNode.Id, (NavEdge e) => e.EdgeType == NavEdgeType.ZoneBoundary); } } } private static void CopyStaticEdges(NavGraph queryGraph, NavGraph staticGraph) { - IEnumerator enumerator = queryGraph.Nodes.Values.GetEnumerator(); - try + foreach (NavNode value in queryGraph.Nodes.Values) { - NavEdge current2 = default(NavEdge); - while (_202B_202B_200F_206B_206A_206A_200E_206A_200E_206C_206A_200E_200F_206A_200C_200D_202B_202D_206B_202B_200B_200F_202E_202E_206C_206A_200B_206E_202D_206B_202B_206C_200E_200D_206F_206D_202A_200F_202D_202A_202E((IEnumerator)enumerator)) + foreach (NavEdge edge in staticGraph.GetEdges(value.Id)) { - NavNode current = enumerator.Current; - IEnumerator enumerator2 = staticGraph.GetEdges(current.Id).GetEnumerator(); - try + if (queryGraph.GetNode(edge.ToNodeId) != null) { - int num = 30778255; - while (true) - { - int num2 = num; - int num3 = 30778255; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = (_202B_202B_200F_206B_206A_206A_200E_206A_200E_206C_206A_200E_200F_206A_200C_200D_202B_202D_206B_202B_200B_200F_202E_202E_206C_206A_200B_206E_202D_206B_202B_206C_200E_200D_206F_206D_202A_200F_202D_202A_202E((IEnumerator)enumerator2) ? 30778251 : 30778254); - break; - case 2: - queryGraph.AddEdge(current2); - num = 30778255; - break; - case 4: - current2 = enumerator2.Current; - num = ((!(queryGraph.GetNode(current2.ToNodeId) != null)) ? 30778255 : 30778253); - break; - case 3: - num = 30778255; - break; - case 1: - goto end_IL_003b; - } - continue; - end_IL_003b: - break; - } + queryGraph.AddEdge(edge); } - finally - { - int num = ((enumerator2 == null) ? 975603848 : 975603851); - while (true) - { - int num7 = num; - int num3 = 975603850; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 975603851; - break; - case 1: - _206E_200F_206F_202C_202C_206E_206C_200F_202A_200F_200F_202B_200B_200D_200D_206A_200D_206F_206A_200E_202D_202D_202A_200D_206F_206C_206B_200D_200C_206B_202E_200B_202D_202C_206D_206C_206A_206D_206F_200E_202E((IDisposable)enumerator2); - num = 975603848; - break; - case 2: - goto end_IL_010c; - } - continue; - end_IL_010c: - break; - } - } - } - } - finally - { - int num = ((enumerator == null) ? 1159160104 : 1159160107); - while (true) - { - int num8 = num; - int num3 = 1159160106; - int num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1159160107; - break; - case 2: - goto end_IL_0185; - case 1: - _206E_200F_206F_202C_202C_206E_206C_200F_202A_200F_200F_202B_200B_200D_200D_206A_200D_206F_206A_200E_202D_202D_202A_200D_206F_206C_206B_200D_200C_206B_202E_200B_202D_202C_206D_206C_206A_206D_206F_200E_202E((IDisposable)enumerator); - num = 1159160104; - break; - } - continue; - end_IL_0185: - break; } } } private void AddWithinZoneEdgesFrom(NavGraph queryGraph, NavNode origin, PlayerNavState playerState) { - IEnumerator enumerator = queryGraph.GetNodesInTerritory(origin.TerritoryId).GetEnumerator(); - try + foreach (string item in queryGraph.GetNodesInTerritory(origin.TerritoryId)) { - int num = -845739614; - NavNode node = default(NavNode); - string current = default(string); - while (true) + if (!(item == origin.Id)) { - int num2 = num; - int num3 = -845739616; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 6: + NavNode node = queryGraph.GetNode(item); + if (!(node == null) && AreNodesConnectedWithinZone(origin, node, origin.TerritoryId)) { float timeCostSeconds = costCalculator.EstimateWithinZoneTravelTime(origin.Position, node.Position, origin.TerritoryId, playerState); - queryGraph.AddEdge(new NavEdge(origin.Id, current, NavEdgeType.WithinZone, timeCostSeconds, 0)); - num = -845739614; - break; + queryGraph.AddEdge(new NavEdge(origin.Id, item, NavEdgeType.WithinZone, timeCostSeconds, 0)); } - case 1: - num = ((!AreNodesConnectedWithinZone(origin, node, origin.TerritoryId)) ? (-845739614) : (-845739610)); - break; - case 5: - num = -845739614; - break; - case 4: - current = enumerator.Current; - num = (_206D_206B_202A_200E_200B_206E_202E_206E_206E_206E_202B_200B_200F_202E_202E_200E_200F_202C_200C_202A_206B_200C_202D_200E_206C_206E_200F_202E_200B_200D_206C_200C_206F_206A_202D_200D_200E_200E_202D_202E(current, origin.Id) ? (-845739614) : (-845739616)); - break; - case 0: - node = queryGraph.GetNode(current); - num = ((node == null) ? (-845739614) : (-845739615)); - break; - case 2: - num = (_202B_202B_200F_206B_206A_206A_200E_206A_200E_206C_206A_200E_200F_206A_200C_200D_202B_202D_206B_202B_200B_200F_202E_202E_206C_206A_200B_206E_202D_206B_202B_206C_200E_200D_206F_206D_202A_200F_202D_202A_202E((IEnumerator)enumerator) ? (-845739612) : (-845739613)); - break; - case 3: - return; - } - } - } - finally - { - int num = ((enumerator == null) ? (-1480647069) : (-1480647070)); - while (true) - { - int num7 = num; - int num3 = -1480647069; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto end_IL_0175; - case 1: - _206E_200F_206F_202C_202C_206E_206C_200F_202A_200F_200F_202B_200B_200D_200D_206A_200D_206F_206A_200E_202D_202D_202A_200D_206F_206C_206B_200D_200C_206B_202E_200B_202D_202C_206D_206C_206A_206D_206F_200E_202E((IDisposable)enumerator); - num = -1480647069; - break; - case 2: - num = -1480647070; - break; - } - continue; - end_IL_0175: - break; } } } private void AddWithinZoneEdgesTo(NavGraph queryGraph, NavNode destination, PlayerNavState playerState) { - IEnumerator enumerator = queryGraph.GetNodesInTerritory(destination.TerritoryId).GetEnumerator(); - try + foreach (string item in queryGraph.GetNodesInTerritory(destination.TerritoryId)) { - int num = 1437904752; - string current = default(string); - NavNode node = default(NavNode); - while (true) + if (!(item == destination.Id)) { - int num2 = num; - int num3 = 1437904757; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1437904752; - break; - case 3: - current = enumerator.Current; - num = (_206D_206B_202A_200E_200B_206E_202E_206E_206E_206E_202B_200B_200F_202E_202E_200E_200F_202C_200C_202A_206B_200C_202D_200E_206C_206E_200F_202E_200B_200D_206C_200C_206F_206A_202D_200D_200E_200E_202D_202E(current, destination.Id) ? 1437904752 : 1437904757); - break; - case 6: + NavNode node = queryGraph.GetNode(item); + if (!(node == null) && AreNodesConnectedWithinZone(node, destination, destination.TerritoryId)) { float timeCostSeconds = costCalculator.EstimateWithinZoneTravelTime(node.Position, destination.Position, destination.TerritoryId, playerState); - queryGraph.AddEdge(new NavEdge(current, destination.Id, NavEdgeType.WithinZone, timeCostSeconds, 0)); - num = 1437904752; - break; + queryGraph.AddEdge(new NavEdge(item, destination.Id, NavEdgeType.WithinZone, timeCostSeconds, 0)); } - case 5: - num = (_202B_202B_200F_206B_206A_206A_200E_206A_200E_206C_206A_200E_200F_206A_200C_200D_202B_202D_206B_202B_200B_200F_202E_202E_206C_206A_200B_206E_202D_206B_202B_206C_200E_200D_206F_206D_202A_200F_202D_202A_202E((IEnumerator)enumerator) ? 1437904758 : 1437904753); - break; - case 0: - node = queryGraph.GetNode(current); - num = ((node == null) ? 1437904752 : 1437904756); - break; - case 1: - num = ((!AreNodesConnectedWithinZone(node, destination, destination.TerritoryId)) ? 1437904752 : 1437904755); - break; - case 4: - return; - } - } - } - finally - { - int num = ((enumerator == null) ? 594834347 : 594834346); - while (true) - { - int num5 = num; - int num3 = 594834347; - int num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 2: - num = 594834346; - break; - case 0: - goto end_IL_0173; - case 1: - _206E_200F_206F_202C_202C_206E_206C_200F_202A_200F_200F_202B_200B_200D_200D_206A_200D_206F_206A_200E_202D_202D_202A_200D_206F_206C_206B_200D_200C_206B_202E_200B_202D_202C_206D_206C_206A_206D_206F_200E_202E((IDisposable)enumerator); - num = 594834347; - break; - } - continue; - end_IL_0173: - break; } } } @@ -880,221 +260,55 @@ public sealed class NavGraphView(CostCalculator costCalculator, ITerritoryInfo t private void AddTeleportEdgesFromOrigin(NavGraph queryGraph, NavNode origin, List largeAetherytes, PlayerNavState playerState) { float num = CostCalculator.EstimateTeleportTime(); - int num2 = ((!playerState.PreferFreeTravel) ? (-1195937511) : (-1195937512)); - int num8; - while (true) + bool flag = playerState.PreferFreeTravel && !territoryInfo.CanUseMount(playerState.CurrentTerritoryId); + foreach (NavNode.AetheryteNode largeAetheryte in largeAetherytes) { - int num3 = num2; - int num4 = -1195937511; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) + if (largeAetheryte.Aetheryte == playerState.HomeAetheryte && playerState.ReturnAvailable) { - default: continue; - case 2: - goto IL_0058; - case 1: - num8 = ((!territoryInfo.CanUseMount(playerState.CurrentTerritoryId)) ? 1 : 0); - break; - case 0: - num8 = 0; - break; } - break; - IL_0058: - num2 = -1195937512; - } - bool flag = (byte)num8 != 0; - using List.Enumerator enumerator = largeAetherytes.GetEnumerator(); - num2 = -745052022; - float num10 = default(float); - int num11 = default(int); - NavNode.AetheryteNode current = default(NavNode.AetheryteNode); - while (true) - { - int num9 = num2; - int num4 = -745052019; - int num5 = num9; - switch ((num5 | num4) - (num5 & num4)) + int num2 = EstimateTeleportGilCost(largeAetheryte.Aetheryte, playerState); + if (playerState.CanAffordTeleport(num2)) { - case 2: - num10 = num; - num2 = ((!flag) ? (-745052020) : (-745052023)); - break; - case 8: - num11 = EstimateTeleportGilCost(current.Aetheryte, playerState); - num2 = ((!playerState.CanAffordTeleport(num11)) ? (-745052022) : (-745052017)); - break; - case 0: - num2 = -745052022; - break; - case 6: - current = enumerator.Current; - num2 = ((current.Aetheryte != playerState.HomeAetheryte) ? (-745052027) : (-745052024)); - break; - case 9: - num10 *= 10f; - num2 = -745052020; - break; - case 7: - num2 = (enumerator.MoveNext() ? (-745052021) : (-745052018)); - break; - case 1: - queryGraph.AddEdge(new NavEdge(origin.Id, current.Id, NavEdgeType.Teleport, num10, num11)); - num2 = -745052022; - break; - case 4: - num2 = ((num11 <= 0) ? (-745052020) : (-745052028)); - break; - case 5: - num2 = (playerState.ReturnAvailable ? (-745052022) : (-745052027)); - break; - case 3: - return; + float num3 = num; + if (flag && num2 > 0) + { + num3 *= 10f; + } + queryGraph.AddEdge(new NavEdge(origin.Id, largeAetheryte.Id, NavEdgeType.Teleport, num3, num2)); } } } private void AddTicketTeleportEdges(NavGraph queryGraph, NavNode origin, PlayerNavState playerState, uint? restrictToTerritory) { - int num = ((playerState.AvailableTeleportTickets.Count != 0) ? 532905786 : 532905785); - TeleportTicketService.TeleportTicket current = default(TeleportTicketService.TeleportTicket); - NavNode.TicketNode ticketNode = default(NavNode.TicketNode); - while (true) + if (playerState.AvailableTeleportTickets.Count == 0) { - int num2 = num; - int num3 = 532905787; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return; + } + foreach (TeleportTicketService.TeleportTicket ticket in teleportTicketService.Tickets) + { + if (playerState.AvailableTeleportTickets.Contains(ticket.ItemId) && (!restrictToTerritory.HasValue || ticket.TerritoryId == restrictToTerritory) && territoryInfo.GetExVersion(ticket.TerritoryId) <= playerState.MaxExpansion) { - case 0: - goto IL_0056; - case 2: - return; - case 1: - { - IEnumerator enumerator = teleportTicketService.Tickets.GetEnumerator(); - try + NavNode.TicketNode ticketNode = new NavNode.TicketNode(ticket.ItemId, ticket.TerritoryId, ticket.Position); + if (queryGraph.GetNode(ticketNode.Id) == null) { - num = -129183693; - while (true) - { - int num7 = num; - num3 = -129183693; - num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 9: - num = ((current.TerritoryId != restrictToTerritory) ? (-129183693) : (-129183696)); - break; - case 1: - ticketNode = new NavNode.TicketNode(current.ItemId, current.TerritoryId, current.Position); - num = ((!(queryGraph.GetNode(ticketNode.Id) == null)) ? (-129183691) : (-129183695)); - break; - case 4: - num = -129183693; - break; - case 5: - num = ((!restrictToTerritory.HasValue) ? (-129183696) : (-129183686)); - break; - case 6: - queryGraph.AddEdge(new NavEdge(origin.Id, ticketNode.Id, NavEdgeType.TicketTeleport, CostCalculator.EstimateTeleportTime(), 0)); - AddWithinZoneEdgesFrom(queryGraph, ticketNode, playerState); - num = -129183693; - break; - case 0: - num = (_202B_202B_200F_206B_206A_206A_200E_206A_200E_206C_206A_200E_200F_206A_200C_200D_202B_202D_206B_202B_200B_200F_202E_202E_206C_206A_200B_206E_202D_206B_202B_206C_200E_200D_206F_206D_202A_200F_202D_202A_202E((IEnumerator)enumerator) ? (-129183692) : (-129183685)); - break; - case 7: - current = enumerator.Current; - num = ((!playerState.AvailableTeleportTickets.Contains(current.ItemId)) ? (-129183693) : (-129183690)); - break; - case 3: - num = ((territoryInfo.GetExVersion(current.TerritoryId) > playerState.MaxExpansion) ? (-129183693) : (-129183694)); - break; - case 2: - queryGraph.AddNode(ticketNode); - num = -129183691; - break; - case 8: - return; - } - } - } - finally - { - num = ((enumerator == null) ? 1931890800 : 1931890803); - while (true) - { - int num10 = num; - num3 = 1931890802; - num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - case 2: - goto end_IL_026d; - case 1: - _206E_200F_206F_202C_202C_206E_206C_200F_202A_200F_200F_202B_200B_200D_200D_206A_200D_206F_206A_200E_202D_202D_202A_200D_206F_206C_206B_200D_200C_206B_202E_200B_202D_202C_206D_206C_206A_206D_206F_200E_202E((IDisposable)enumerator); - num = 1931890800; - break; - case 0: - num = 1931890803; - break; - } - continue; - end_IL_026d: - break; - } + queryGraph.AddNode(ticketNode); } + queryGraph.AddEdge(new NavEdge(origin.Id, ticketNode.Id, NavEdgeType.TicketTeleport, CostCalculator.EstimateTeleportTime(), 0)); + AddWithinZoneEdgesFrom(queryGraph, ticketNode, playerState); } - } - continue; - IL_0056: - num = 532905785; } } - [MethodImpl(MethodImplOptions.NoInlining)] private static void AddReturnEdge(NavGraph queryGraph, NavNode origin, PlayerNavState playerState) { - int num = ((playerState.HomeAetheryte != EAetheryteLocation.None) ? 410582311 : 410582309); - string text = default(string); - while (true) + if (playerState.HomeAetheryte != EAetheryteLocation.None) { - int num2 = num; - int num3 = 410582308; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + string text = $"aetheryte:{playerState.HomeAetheryte}"; + if (!(queryGraph.GetNode(text) == null)) { - case 0: - num = 410582309; - break; - case 2: queryGraph.AddEdge(new NavEdge(origin.Id, text, NavEdgeType.Return, CostCalculator.EstimateTeleportTime(), 0)); - return; - case 3: - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(10, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(623658432)); - defaultInterpolatedStringHandler.AppendFormatted((int)playerState.HomeAetheryte); - text = defaultInterpolatedStringHandler.ToStringAndClear(); - num = ((!(queryGraph.GetNode(text) == null)) ? 410582310 : 410582304); - break; - } - case 1: - return; - case 4: - return; } } } @@ -1102,609 +316,120 @@ public sealed class NavGraphView(CostCalculator costCalculator, ITerritoryInfo t private static void RecomputeAethernetCosts(NavGraph queryGraph) { List list = new List(); - IEnumerator> enumerator = queryGraph.Nodes.GetEnumerator(); - try + foreach (var (nodeId, _) in queryGraph.Nodes) { - NavEdge current = default(NavEdge); - while (_202B_202B_200F_206B_206A_206A_200E_206A_200E_206C_206A_200E_200F_206A_200C_200D_202B_202D_206B_202B_200B_200F_202E_202E_206C_206A_200B_206E_202D_206B_202B_206C_200E_200D_206F_206D_202A_200F_202D_202A_202E((IEnumerator)enumerator)) + foreach (NavEdge edge in queryGraph.GetEdges(nodeId)) { - enumerator.Current.Deconstruct(out var key, out var _); - string nodeId = key; - IEnumerator enumerator2 = queryGraph.GetEdges(nodeId).GetEnumerator(); - try + if (edge.EdgeType == NavEdgeType.AethernetHop && edge.TimeCostSeconds == 0f) { - int num = -1315650651; - while (true) - { - int num2 = num; - int num3 = -1315650655; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - num = -1315650651; - break; - case 2: - num = ((current.TimeCostSeconds != 0f) ? (-1315650651) : (-1315650655)); - break; - case 0: - { - float timeCostSeconds = CostCalculator.EstimateAethernetHopTime(); - list.Add(new NavEdge(current.FromNodeId, current.ToNodeId, NavEdgeType.AethernetHop, timeCostSeconds, 0)); - num = -1315650651; - break; - } - case 4: - num = (_202B_202B_200F_206B_206A_206A_200E_206A_200E_206C_206A_200E_200F_206A_200C_200D_202B_202D_206B_202B_200B_200F_202E_202E_206C_206A_200B_206E_202D_206B_202B_206C_200E_200D_206F_206D_202A_200F_202D_202A_202E((IEnumerator)enumerator2) ? (-1315650656) : (-1315650654)); - break; - case 1: - current = enumerator2.Current; - num = ((current.EdgeType != NavEdgeType.AethernetHop) ? (-1315650651) : (-1315650653)); - break; - case 3: - goto end_IL_0046; - } - continue; - end_IL_0046: - break; - } - } - finally - { - int num = ((enumerator2 == null) ? 1575360777 : 1575360778); - while (true) - { - int num5 = num; - int num3 = 1575360779; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_0159; - case 1: - _206E_200F_206F_202C_202C_206E_206C_200F_202A_200F_200F_202B_200B_200D_200D_206A_200D_206F_206A_200E_202D_202D_202A_200D_206F_206C_206B_200D_200C_206B_202E_200B_202D_202C_206D_206C_206A_206D_206F_200E_202E((IDisposable)enumerator2); - num = 1575360777; - break; - case 0: - num = 1575360778; - break; - } - continue; - end_IL_0159: - break; - } + float timeCostSeconds = CostCalculator.EstimateAethernetHopTime(); + list.Add(new NavEdge(edge.FromNodeId, edge.ToNodeId, NavEdgeType.AethernetHop, timeCostSeconds, 0)); } } } - finally + foreach (NavEdge item in list) { - int num = ((enumerator == null) ? (-258534269) : (-258534272)); - while (true) - { - int num6 = num; - int num3 = -258534270; - int num4 = num6; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -258534272; - break; - case 2: - _206E_200F_206F_202C_202C_206E_206C_200F_202A_200F_200F_202B_200B_200D_200D_206A_200D_206F_206A_200E_202D_202D_202A_200D_206F_206C_206B_200D_200C_206B_202E_200B_202D_202C_206D_206C_206A_206D_206F_200E_202E((IDisposable)enumerator); - num = -258534269; - break; - case 1: - goto end_IL_01d3; - } - continue; - end_IL_01d3: - break; - } - } - using List.Enumerator enumerator3 = list.GetEnumerator(); - int num = -1541576202; - while (true) - { - int num7 = num; - int num3 = -1541576203; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1541576202; - break; - case 3: - num = (enumerator3.MoveNext() ? (-1541576201) : (-1541576204)); - break; - case 2: - { - NavEdge current2 = enumerator3.Current; - queryGraph.ReplaceEdge(current2); - num = -1541576202; - break; - } - case 1: - return; - } + queryGraph.ReplaceEdge(item); } } private void AddBoundaryWithinZoneEdges(NavGraph queryGraph, PlayerNavState playerState) { - IEnumerator enumerator = queryGraph.Nodes.Values.GetEnumerator(); - try + foreach (NavNode value in queryGraph.Nodes.Values) { - NavNode node = default(NavNode); - string current = default(string); - while (_202B_202B_200F_206B_206A_206A_200E_206A_200E_206C_206A_200E_200F_206A_200C_200D_202B_202D_206B_202B_200B_200F_202E_202E_206C_206A_200B_206E_202D_206B_202B_206C_200E_200D_206F_206D_202A_200F_202D_202A_202E((IEnumerator)enumerator)) + if (!(value is NavNode.ZoneBoundaryNode zoneBoundaryNode)) { - if (!(enumerator.Current is NavNode.ZoneBoundaryNode zoneBoundaryNode)) - { - continue; - } - IEnumerator enumerator2 = queryGraph.GetNodesInTerritory(zoneBoundaryNode.TerritoryId).GetEnumerator(); - try - { - int num = 678629672; - while (true) - { - int num2 = num; - int num3 = 678629672; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = (_202B_202B_200F_206B_206A_206A_200E_206A_200E_206C_206A_200E_200F_206A_200C_200D_202B_202D_206B_202B_200B_200F_202E_202E_206C_206A_200B_206E_202D_206B_202B_206C_200E_200D_206F_206D_202A_200F_202D_202A_202E((IEnumerator)enumerator2) ? 678629664 : 678629675); - break; - case 5: - { - float timeCostSeconds = costCalculator.EstimateWithinZoneTravelTime(node.Position, zoneBoundaryNode.Position, zoneBoundaryNode.TerritoryId, playerState); - float timeCostSeconds2 = costCalculator.EstimateWithinZoneTravelTime(zoneBoundaryNode.Position, node.Position, zoneBoundaryNode.TerritoryId, playerState); - queryGraph.AddEdge(new NavEdge(current, zoneBoundaryNode.Id, NavEdgeType.WithinZone, timeCostSeconds, 0)); - queryGraph.AddEdge(new NavEdge(zoneBoundaryNode.Id, current, NavEdgeType.WithinZone, timeCostSeconds2, 0)); - num = 678629672; - break; - } - case 4: - num = ((_202B_200E_206B_200C_200F_202B_202D_200C_206E_200B_206C_200B_200D_202A_200D_206B_200E_206A_206B_202E_206A_200F_206A_200D_202D_202A_206A_206D_206E_202C_202C_206F_200F_202E_206B_200E_200F_202C_206D_200E_202E(zoneBoundaryNode.Id, current) >= 0) ? 678629672 : 678629679); - break; - case 1: - node = queryGraph.GetNode(current); - num = ((node == null) ? 678629672 : 678629674); - break; - case 6: - num = 678629672; - break; - case 2: - num = ((!(node is NavNode.ZoneBoundaryNode)) ? 678629679 : 678629676); - break; - case 8: - current = enumerator2.Current; - num = (_206D_206B_202A_200E_200B_206E_202E_206E_206E_206E_202B_200B_200F_202E_202E_200E_200F_202C_200C_202A_206B_200C_202D_200E_206C_206E_200F_202E_200B_200D_206C_200C_206F_206A_202D_200D_200E_200E_202D_202E(current, zoneBoundaryNode.Id) ? 678629672 : 678629673); - break; - case 7: - num = ((!AreNodesConnectedWithinZone(zoneBoundaryNode, node, zoneBoundaryNode.TerritoryId)) ? 678629672 : 678629677); - break; - case 3: - goto end_IL_0046; - } - continue; - end_IL_0046: - break; - } - } - finally - { - int num = ((enumerator2 == null) ? 947622411 : 947622408); - while (true) - { - int num7 = num; - int num3 = 947622409; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 947622408; - break; - case 2: - goto end_IL_0230; - case 1: - _206E_200F_206F_202C_202C_206E_206C_200F_202A_200F_200F_202B_200B_200D_200D_206A_200D_206F_206A_200E_202D_202D_202A_200D_206F_206C_206B_200D_200C_206B_202E_200B_202D_202C_206D_206C_206A_206D_206F_200E_202E((IDisposable)enumerator2); - num = 947622411; - break; - } - continue; - end_IL_0230: - break; - } - } - } - } - finally - { - int num = ((enumerator == null) ? 920604177 : 920604178); - while (true) - { - int num8 = num; - int num3 = 920604179; - int num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 920604178; - break; - case 2: - goto end_IL_02a9; - case 1: - _206E_200F_206F_202C_202C_206E_206C_200F_202A_200F_200F_202B_200B_200D_200D_206A_200D_206F_206A_200E_202D_202D_202A_200D_206F_206C_206B_200D_200C_206B_202E_200B_202D_202C_206D_206C_206A_206D_206F_200E_202E((IDisposable)enumerator); - num = 920604177; - break; - } continue; - end_IL_02a9: - break; + } + foreach (string item in queryGraph.GetNodesInTerritory(zoneBoundaryNode.TerritoryId)) + { + if (!(item == zoneBoundaryNode.Id)) + { + NavNode node = queryGraph.GetNode(item); + if (!(node == null) && (!(node is NavNode.ZoneBoundaryNode) || string.CompareOrdinal(zoneBoundaryNode.Id, item) < 0) && AreNodesConnectedWithinZone(zoneBoundaryNode, node, zoneBoundaryNode.TerritoryId)) + { + float timeCostSeconds = costCalculator.EstimateWithinZoneTravelTime(node.Position, zoneBoundaryNode.Position, zoneBoundaryNode.TerritoryId, playerState); + float timeCostSeconds2 = costCalculator.EstimateWithinZoneTravelTime(zoneBoundaryNode.Position, node.Position, zoneBoundaryNode.TerritoryId, playerState); + queryGraph.AddEdge(new NavEdge(item, zoneBoundaryNode.Id, NavEdgeType.WithinZone, timeCostSeconds, 0)); + queryGraph.AddEdge(new NavEdge(zoneBoundaryNode.Id, item, NavEdgeType.WithinZone, timeCostSeconds2, 0)); + } + } } } } private void AddWarpWithinZoneEdges(NavGraph queryGraph, PlayerNavState playerState) { - IEnumerator enumerator = queryGraph.Nodes.Values.GetEnumerator(); - try + foreach (NavNode value in queryGraph.Nodes.Values) { - NavNode node = default(NavNode); - string current = default(string); - while (_202B_202B_200F_206B_206A_206A_200E_206A_200E_206C_206A_200E_200F_206A_200C_200D_202B_202D_206B_202B_200B_200F_202E_202E_206C_206A_200B_206E_202D_206B_202B_206C_200E_200D_206F_206D_202A_200F_202D_202A_202E((IEnumerator)enumerator)) + if (!(value is NavNode.WarpNode warpNode)) { - if (!(enumerator.Current is NavNode.WarpNode warpNode)) - { - continue; - } - IEnumerator enumerator2 = queryGraph.GetNodesInTerritory(warpNode.TerritoryId).GetEnumerator(); - try - { - int num = 1985395046; - while (true) - { - int num2 = num; - int num3 = 1985395046; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 8: - num = ((!(node is NavNode.WarpNode)) ? 1985395043 : 1985395040); - break; - case 7: - current = enumerator2.Current; - num = (_206D_206B_202A_200E_200B_206E_202E_206E_206E_206E_202B_200B_200F_202E_202E_200E_200F_202C_200C_202A_206B_200C_202D_200E_206C_206E_200F_202E_200B_200D_206C_200C_206F_206A_202D_200D_200E_200E_202D_202E(current, warpNode.Id) ? 1985395046 : 1985395045); - break; - case 2: - num = 1985395046; - break; - case 3: - node = queryGraph.GetNode(current); - num = ((node == null) ? 1985395046 : 1985395054); - break; - case 0: - num = (_202B_202B_200F_206B_206A_206A_200E_206A_200E_206C_206A_200E_200F_206A_200C_200D_202B_202D_206B_202B_200B_200F_202E_202E_206C_206A_200B_206E_202D_206B_202B_206C_200E_200D_206F_206D_202A_200F_202D_202A_202E((IEnumerator)enumerator2) ? 1985395041 : 1985395042); - break; - case 1: - { - float timeCostSeconds = costCalculator.EstimateWithinZoneTravelTime(node.Position, warpNode.Position, warpNode.TerritoryId, playerState); - float timeCostSeconds2 = costCalculator.EstimateWithinZoneTravelTime(warpNode.Position, node.Position, warpNode.TerritoryId, playerState); - queryGraph.AddEdge(new NavEdge(current, warpNode.Id, NavEdgeType.WithinZone, timeCostSeconds, 0)); - queryGraph.AddEdge(new NavEdge(warpNode.Id, current, NavEdgeType.WithinZone, timeCostSeconds2, 0)); - num = 1985395046; - break; - } - case 5: - num = ((node is NavNode.ZoneBoundaryNode) ? 1985395046 : 1985395055); - break; - case 6: - num = ((_202B_200E_206B_200C_200F_202B_202D_200C_206E_200B_206C_200B_200D_202A_200D_206B_200E_206A_206B_202E_206A_200F_206A_200D_202D_202A_206A_206D_206E_202C_202C_206F_200F_202E_206B_200E_200F_202C_206D_200E_202E(warpNode.Id, current) >= 0) ? 1985395046 : 1985395043); - break; - case 9: - num = ((!AreNodesConnectedWithinZone(warpNode, node, warpNode.TerritoryId)) ? 1985395046 : 1985395047); - break; - case 4: - goto end_IL_0046; - } - continue; - end_IL_0046: - break; - } - } - finally - { - int num = ((enumerator2 == null) ? (-1883846692) : (-1883846689)); - while (true) - { - int num5 = num; - int num3 = -1883846690; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto end_IL_0256; - case 1: - _206E_200F_206F_202C_202C_206E_206C_200F_202A_200F_200F_202B_200B_200D_200D_206A_200D_206F_206A_200E_202D_202D_202A_200D_206F_206C_206B_200D_200C_206B_202E_200B_202D_202C_206D_206C_206A_206D_206F_200E_202E((IDisposable)enumerator2); - num = -1883846692; - break; - case 0: - num = -1883846689; - break; - } - continue; - end_IL_0256: - break; - } - } - } - } - finally - { - int num = ((enumerator == null) ? 1643037069 : 1643037070); - while (true) - { - int num6 = num; - int num3 = 1643037071; - int num4 = num6; - int num7 = num4 + num3; - int num8 = num4 & num3; - switch (num7 - (num8 + num8)) - { - case 0: - num = 1643037070; - break; - case 2: - goto end_IL_02cf; - case 1: - _206E_200F_206F_202C_202C_206E_206C_200F_202A_200F_200F_202B_200B_200D_200D_206A_200D_206F_206A_200E_202D_202D_202A_200D_206F_206C_206B_200D_200C_206B_202E_200B_202D_202C_206D_206C_206A_206D_206F_200E_202E((IDisposable)enumerator); - num = 1643037069; - break; - } continue; - end_IL_02cf: - break; + } + foreach (string item in queryGraph.GetNodesInTerritory(warpNode.TerritoryId)) + { + if (!(item == warpNode.Id)) + { + NavNode node = queryGraph.GetNode(item); + if (!(node == null) && (!(node is NavNode.WarpNode) || string.CompareOrdinal(warpNode.Id, item) < 0) && !(node is NavNode.ZoneBoundaryNode) && AreNodesConnectedWithinZone(warpNode, node, warpNode.TerritoryId)) + { + float timeCostSeconds = costCalculator.EstimateWithinZoneTravelTime(node.Position, warpNode.Position, warpNode.TerritoryId, playerState); + float timeCostSeconds2 = costCalculator.EstimateWithinZoneTravelTime(warpNode.Position, node.Position, warpNode.TerritoryId, playerState); + queryGraph.AddEdge(new NavEdge(item, warpNode.Id, NavEdgeType.WithinZone, timeCostSeconds, 0)); + queryGraph.AddEdge(new NavEdge(warpNode.Id, item, NavEdgeType.WithinZone, timeCostSeconds2, 0)); + } + } } } } private void AddConnectorWithinZoneEdges(NavGraph queryGraph, PlayerNavState playerState) { - IEnumerator enumerator = queryGraph.Nodes.Values.GetEnumerator(); - try + foreach (NavNode value in queryGraph.Nodes.Values) { - bool flag = default(bool); - NavNode node = default(NavNode); - string current = default(string); - while (_202B_202B_200F_206B_206A_206A_200E_206A_200E_206C_206A_200E_200F_206A_200C_200D_202B_202D_206B_202B_200B_200F_202E_202E_206C_206A_200B_206E_202D_206B_202B_206C_200E_200D_206F_206D_202A_200F_202D_202A_202E((IEnumerator)enumerator)) + if (!(value is NavNode.SubRegionConnectorNode subRegionConnectorNode)) { - if (!(enumerator.Current is NavNode.SubRegionConnectorNode subRegionConnectorNode)) + continue; + } + foreach (string item in queryGraph.GetNodesInTerritory(subRegionConnectorNode.TerritoryId)) + { + if (item == subRegionConnectorNode.Id) { continue; } - IEnumerator enumerator2 = queryGraph.GetNodesInTerritory(subRegionConnectorNode.TerritoryId).GetEnumerator(); - try + NavNode node = queryGraph.GetNode(item); + if (!(node == null) && (!(node is NavNode.SubRegionConnectorNode) || string.CompareOrdinal(subRegionConnectorNode.Id, item) < 0)) { - int num = -20087948; - while (true) + bool flag = ((node is NavNode.ZoneBoundaryNode || node is NavNode.WarpNode) ? true : false); + if (!flag && AreNodesConnectedWithinZone(subRegionConnectorNode, node, subRegionConnectorNode.TerritoryId)) { - int num2 = num; - int num3 = -20087938; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 11: - flag = false; - num = -20087938; - break; - case 3: - { - float timeCostSeconds = costCalculator.EstimateWithinZoneTravelTime(node.Position, subRegionConnectorNode.Position, subRegionConnectorNode.TerritoryId, playerState); - float timeCostSeconds2 = costCalculator.EstimateWithinZoneTravelTime(subRegionConnectorNode.Position, node.Position, subRegionConnectorNode.TerritoryId, playerState); - queryGraph.AddEdge(new NavEdge(current, subRegionConnectorNode.Id, NavEdgeType.WithinZone, timeCostSeconds, 0)); - queryGraph.AddEdge(new NavEdge(subRegionConnectorNode.Id, current, NavEdgeType.WithinZone, timeCostSeconds2, 0)); - num = -20087948; - break; - } - case 6: - num = ((node is NavNode.ZoneBoundaryNode) ? (-20087937) : (-20087943)); - break; - case 8: - node = queryGraph.GetNode(current); - num = ((node == null) ? (-20087948) : (-20087940)); - break; - case 12: - num = ((_202B_200E_206B_200C_200F_202B_202D_200C_206E_200B_206C_200B_200D_202A_200D_206B_200E_206A_206B_202E_206A_200F_206A_200D_202D_202A_206A_206D_206E_202C_202C_206F_200F_202E_206B_200E_200F_202C_206D_200E_202E(subRegionConnectorNode.Id, current) >= 0) ? (-20087948) : (-20087944)); - break; - case 4: - current = enumerator2.Current; - num = (_206D_206B_202A_200E_200B_206E_202E_206E_206E_206E_202B_200B_200F_202E_202E_200E_200F_202C_200C_202A_206B_200C_202D_200E_206C_206E_200F_202E_200B_200D_206C_200C_206F_206A_202D_200D_200E_200E_202D_202E(current, subRegionConnectorNode.Id) ? (-20087948) : (-20087946)); - break; - case 10: - num = (_202B_202B_200F_206B_206A_206A_200E_206A_200E_206C_206A_200E_200F_206A_200C_200D_202B_202D_206B_202B_200B_200F_202E_202E_206C_206A_200B_206E_202D_206B_202B_206C_200E_200D_206F_206D_202A_200F_202D_202A_202E((IEnumerator)enumerator2) ? (-20087942) : (-20087941)); - break; - case 7: - num = ((!(node is NavNode.WarpNode)) ? (-20087947) : (-20087937)); - break; - case 0: - num = (flag ? (-20087948) : (-20087949)); - break; - case 1: - flag = true; - num = -20087938; - break; - case 9: - num = -20087948; - break; - case 2: - num = ((!(node is NavNode.SubRegionConnectorNode)) ? (-20087944) : (-20087950)); - break; - case 13: - num = ((!AreNodesConnectedWithinZone(subRegionConnectorNode, node, subRegionConnectorNode.TerritoryId)) ? (-20087948) : (-20087939)); - break; - case 5: - goto end_IL_0046; - } - continue; - end_IL_0046: - break; + float timeCostSeconds = costCalculator.EstimateWithinZoneTravelTime(node.Position, subRegionConnectorNode.Position, subRegionConnectorNode.TerritoryId, playerState); + float timeCostSeconds2 = costCalculator.EstimateWithinZoneTravelTime(subRegionConnectorNode.Position, node.Position, subRegionConnectorNode.TerritoryId, playerState); + queryGraph.AddEdge(new NavEdge(item, subRegionConnectorNode.Id, NavEdgeType.WithinZone, timeCostSeconds, 0)); + queryGraph.AddEdge(new NavEdge(subRegionConnectorNode.Id, item, NavEdgeType.WithinZone, timeCostSeconds2, 0)); } } - finally - { - int num = ((enumerator2 == null) ? 1921938678 : 1921938679); - while (true) - { - int num7 = num; - int num3 = 1921938678; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) - { - case 2: - num = 1921938679; - break; - case 0: - goto end_IL_02c9; - case 1: - _206E_200F_206F_202C_202C_206E_206C_200F_202A_200F_200F_202B_200B_200D_200D_206A_200D_206F_206A_200E_202D_202D_202A_200D_206F_206C_206B_200D_200C_206B_202E_200B_202D_202C_206D_206C_206A_206D_206F_200E_202E((IDisposable)enumerator2); - num = 1921938678; - break; - } - continue; - end_IL_02c9: - break; - } - } - } - } - finally - { - int num = ((enumerator == null) ? (-1456790234) : (-1456790235)); - while (true) - { - int num10 = num; - int num3 = -1456790236; - int num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - case 2: - goto end_IL_0344; - case 1: - _206E_200F_206F_202C_202C_206E_206C_200F_202A_200F_200F_202B_200B_200D_200D_206A_200D_206F_206A_200E_202D_202D_202A_200D_206F_206C_206B_200D_200C_206B_202E_200B_202D_202C_206D_206C_206A_206D_206F_200E_202E((IDisposable)enumerator); - num = -1456790234; - break; - case 0: - num = -1456790235; - break; - } - continue; - end_IL_0344: - break; } } } private bool AreNodesConnectedWithinZone(NavNode a, NavNode b, uint territoryId) { - int num = (zoneSubRegionService.HasSubRegions(territoryId) ? 257099617 : 257099621); - NavNode.SubRegionConnectorNode subRegionConnectorNode2 = default(NavNode.SubRegionConnectorNode); - string text2 = default(string); - string text = default(string); - NavNode.SubRegionConnectorNode subRegionConnectorNode = default(NavNode.SubRegionConnectorNode); - while (true) + if (!zoneSubRegionService.HasSubRegions(territoryId)) { - int num2 = num; - int num3 = 257099617; - int num4 = num2; - string subRegionId2; - string subRegionId; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 7: - num = 257099621; - continue; - case 3: - subRegionId2 = zoneSubRegionService.GetSubRegionId(territoryId, a.Position.X, a.Position.Y, a.Position.Z); - goto IL_00c1; - case 8: - subRegionId2 = subRegionConnectorNode2.SubRegionId; - goto IL_00c1; - case 0: - subRegionConnectorNode2 = a as NavNode.SubRegionConnectorNode; - num = (((object)subRegionConnectorNode2 != null) ? 257099625 : 257099618); - continue; - case 9: - return true; - case 4: - return true; - case 1: - subRegionId = zoneSubRegionService.GetSubRegionId(territoryId, b.Position.X, b.Position.Y, b.Position.Z); - break; - case 5: - return _206D_206B_202A_200E_200B_206E_202E_206E_206E_206E_202B_200B_200F_202E_202E_200E_200F_202C_200C_202A_206B_200C_202D_200E_206C_206E_200F_202E_200B_200D_206C_200C_206F_206A_202D_200D_200E_200E_202D_202E(text2, text); - case 6: - num = ((text != null) ? 257099620 : 257099624); - continue; - case 2: - { - subRegionId = subRegionConnectorNode.SubRegionId; - break; - } - IL_00c1: - text2 = subRegionId2; - subRegionConnectorNode = b as NavNode.SubRegionConnectorNode; - num = (((object)subRegionConnectorNode != null) ? 257099619 : 257099616); - continue; - } - text = subRegionId; - num = ((text2 == null) ? 257099624 : 257099623); + return true; } + string text = ((a is NavNode.SubRegionConnectorNode subRegionConnectorNode) ? subRegionConnectorNode.SubRegionId : zoneSubRegionService.GetSubRegionId(territoryId, a.Position.X, a.Position.Y, a.Position.Z)); + string text2 = ((b is NavNode.SubRegionConnectorNode subRegionConnectorNode2) ? subRegionConnectorNode2.SubRegionId : zoneSubRegionService.GetSubRegionId(territoryId, b.Position.X, b.Position.Y, b.Position.Z)); + if (text == null || text2 == null) + { + return true; + } + return text == text2; } private static int EstimateTeleportGilCost(EAetheryteLocation aetheryte, PlayerNavState playerState) { return playerState.GetTeleportCost(aetheryte); } - - static bool _202B_202B_200F_206B_206A_206A_200E_206A_200E_206C_206A_200E_200F_206A_200C_200D_202B_202D_206B_202B_200B_200F_202E_202E_206C_206A_200B_206E_202D_206B_202B_206C_200E_200D_206F_206D_202A_200F_202D_202A_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206E_200F_206F_202C_202C_206E_206C_200F_202A_200F_200F_202B_200B_200D_200D_206A_200D_206F_206A_200E_202D_202D_202A_200D_206F_206C_206B_200D_200C_206B_202E_200B_202D_202C_206D_206C_206A_206D_206F_200E_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static bool _202D_206F_202C_200B_206E_200E_200C_200D_202A_202B_206B_206B_200B_202A_202B_202C_206B_202C_200E_200F_202E_206C_202D_206B_202E_202E_202C_206E_202C_206B_200F_200D_200B_206E_206F_206B_206B_202E_200C_202A_202E(string P_0, string P_1) - { - return P_0 != P_1; - } - - static void _206B_206A_206F_206B_200C_200D_200C_206E_206F_202E_200E_206D_206C_206D_202B_202D_200C_202E_202C_206C_200D_206D_200B_200B_200E_200C_206C_202E_200B_202D_200C_206A_206E_202D_206F_202B_206E_200D_202D_202B_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _206D_206B_202A_200E_200B_206E_202E_206E_206E_206E_202B_200B_200F_202E_202E_200E_200F_202C_200C_202A_206B_200C_202D_200E_206C_206E_200F_202E_200B_200D_206C_200C_206F_206A_202D_200D_200E_200E_202D_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - - static int _202B_200E_206B_200C_200F_202B_202D_200C_206E_200B_206C_200B_200D_202A_200D_206B_200E_206A_206B_202E_206A_200F_206A_200D_202D_202A_206A_206D_206E_202C_202C_206F_200F_202E_206B_200E_200F_202C_206D_200E_202E(string P_0, string P_1) - { - return string.CompareOrdinal(P_0, P_1); - } } diff --git a/SmartNav/SmartNav/NavInstruction.cs b/SmartNav/SmartNav/NavInstruction.cs index f5f8120..8261171 100644 --- a/SmartNav/SmartNav/NavInstruction.cs +++ b/SmartNav/SmartNav/NavInstruction.cs @@ -1,1481 +1,32 @@ -using System; using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using SmartNav.Model; namespace SmartNav; public abstract record NavInstruction { - public sealed record Teleport(EAetheryteLocation Target, ushort ExpectedTerritory) : NavInstruction() - { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _202B_206A_202A_202E_206C_200C_206B_202D_200D_200F_206B_200E_202C_202B_206E_202A_202A_200C_200D_206D_202B_202C_206F_206F_202E_200C_206D_206C_202A_200C_206A_202B_202B_206B_206D_200E_206C_202A_202B_202D_202E(typeof(Teleport).TypeHandle); - } - } + public sealed record Teleport(EAetheryteLocation Target, ushort ExpectedTerritory) : NavInstruction(); - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200B_202C_206B_206A_206A_200F_200C_200F_202A_200F_200C_206D_200C_206E_206A_206C_202D_206E_202D_206E_206D_202D_206C_202D_202C_206F_206C_202C_206F_200B_200D_200D_202C_202A_200B_200F_206A_206E_200F_206C_202E(); - _200E_202B_202C_202C_200F_206F_200F_200B_206A_202C_200F_206D_202E_200F_206F_202C_202D_206A_206B_206D_200F_206D_206D_206D_206E_206F_206F_200B_206D_202A_206A_202A_200F_202B_202C_200D_202A_200C_206E_206C_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(520762376)); - _200E_202B_202C_202C_200F_206F_200F_200B_206A_202C_200F_206D_202E_200F_206F_202C_202D_206A_206B_206D_200F_206D_206D_206D_206E_206F_206F_200B_206D_202A_206A_202A_200F_202B_202C_200D_202A_200C_206E_206C_202E(stringBuilder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(1886515922)); - int num = ((!PrintMembers(stringBuilder)) ? (-334069347) : (-334069346)); - while (true) - { - int num2 = num; - int num3 = -334069348; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -334069346; - break; - case 1: - _206F_200D_206B_200B_202C_206B_206B_206B_200D_200B_206A_202E_202C_202A_202E_206B_202C_200B_202B_206D_202A_202A_206A_200D_202C_202E_200C_206C_206E_202A_206B_206E_202C_202E_200D_206C_202E_200E_202E_200C_202E(stringBuilder, '}'); - return _206C_200B_202E_200E_206F_200D_202B_200D_200E_200F_206D_200B_202E_206A_202C_206F_206B_200B_202A_206A_202B_200F_200E_206A_202A_202C_202E_200C_206B_200C_202E_206C_206C_200C_202A_206F_200E_202A_206E_200E_202E((object)stringBuilder); - case 2: - _206F_200D_206B_200B_202C_206B_206B_206B_200D_200B_206A_202E_202C_202A_202E_206B_202C_200B_202B_206D_202A_202A_206A_200D_202C_202E_200C_206C_206E_202A_206B_206E_202C_202E_200D_206C_202E_200E_202E_200C_202E(stringBuilder, ' '); - num = -334069347; - break; - } - } - } + public sealed record AethernetHop(EAetheryteLocation From, EAetheryteLocation To) : NavInstruction(); - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected override bool PrintMembers(StringBuilder builder) - { - int num = ((!base.PrintMembers(builder)) ? (-955478791) : (-955478790)); - while (true) - { - int num2 = num; - int num3 = -955478792; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - _200E_202B_202C_202C_200F_206F_200F_200B_206A_202C_200F_206D_202E_200F_206F_202C_202D_206A_206B_206D_200F_206D_206D_206D_206E_206F_206F_200B_206D_202A_206A_202A_200F_202B_202C_200D_202A_200C_206E_206C_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-882810597)); - _200E_202B_202C_202C_200F_206F_200F_200B_206A_202C_200F_206D_202E_200F_206F_202C_202D_206A_206B_206D_200F_206D_206D_206D_206E_206F_206F_200B_206D_202A_206A_202A_200F_202B_202C_200D_202A_200C_206E_206C_202E(builder, Target.ToString()); - _200E_202B_202C_202C_200F_206F_200F_200B_206A_202C_200F_206D_202E_200F_206F_202C_202D_206A_206B_206D_200F_206D_206D_206D_206E_206F_206F_200B_206D_202A_206A_202A_200F_202B_202C_200D_202A_200C_206E_206C_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-647095476)); - _200E_202B_202C_202C_200F_206F_200F_200B_206A_202C_200F_206D_202E_200F_206F_202C_202D_206A_206B_206D_200F_206D_206D_206D_206E_206F_206F_200B_206D_202A_206A_202A_200F_202B_202C_200D_202A_200C_206E_206C_202E(builder, ExpectedTerritory.ToString()); - return true; - case 2: - _200E_202B_202C_202C_200F_206F_200F_200B_206A_202C_200F_206D_202E_200F_206F_202C_202D_206A_206B_206D_200F_206D_206D_206D_206E_206F_206F_200B_206D_202A_206A_202A_200F_202B_202C_200D_202A_200C_206E_206C_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-1735617534)); - num = -955478791; - break; - case 0: - num = -955478790; - break; - } - } - } + public sealed record Move(ushort Territory, Vector3 Position, bool Fly, bool LandAtTarget, float? StopDistance, uint? DataId, bool? Mount, bool DisableNavmesh, bool AllowZoneTransition, string? TargetNodeId, string? ApproachNodeId, bool IsFinal) : NavInstruction(); - [CompilerGenerated] - public bool Equals(Teleport? other) - { - int num = (((object)this == other) ? (-1930487852) : (-1930487849)); - while (true) - { - int num2 = num; - int num3 = -1930487852; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - num = -1930487849; - break; - case 0: - return true; - case 2: - num = ((!EqualityComparer.Default.Equals(Target, other.Target)) ? (-1930487856) : (-1930487851)); - break; - case 3: - num = ((!base.Equals(other)) ? (-1930487856) : (-1930487850)); - break; - case 4: - return false; - case 1: - return EqualityComparer.Default.Equals(ExpectedTerritory, other.ExpectedTerritory); - } - } - } + public sealed record Land : NavInstruction; - bool IEquatable.Equals(Teleport? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } + public sealed record Unmount : NavInstruction; - static Type _202B_206A_202A_202E_206C_200C_206B_202D_200D_200F_206B_200E_202C_202B_206E_202A_202A_200C_200D_206D_202B_202C_206F_206F_202E_200C_206D_206C_202A_200C_206A_202B_202B_206B_206D_200E_206C_202A_202B_202D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } + public sealed record WaitForTerritory(IReadOnlyList Acceptable, string Description) : NavInstruction(); - static StringBuilder _200B_202C_206B_206A_206A_200F_200C_200F_202A_200F_200C_206D_200C_206E_206A_206C_202D_206E_202D_206E_206D_202D_206C_202D_202C_206F_206C_202C_206F_200B_200D_200D_202C_202A_200B_200F_206A_206E_200F_206C_202E() - { - return new StringBuilder(); - } + public sealed record WaitForNavmesh : NavInstruction; - static StringBuilder _200E_202B_202C_202C_200F_206F_200F_200B_206A_202C_200F_206D_202E_200F_206F_202C_202D_206A_206B_206D_200F_206D_206D_206D_206E_206F_206F_200B_206D_202A_206A_202A_200F_202B_202C_200D_202A_200C_206E_206C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } + public sealed record InteractWarp(uint NpcDataId, uint WarpRowId, ushort FromTerritory, ushort ToTerritory) : NavInstruction(); - static StringBuilder _206F_200D_206B_200B_202C_206B_206B_206B_200D_200B_206A_202E_202C_202A_202E_206B_202C_200B_202B_206D_202A_202A_206A_200D_202C_202E_200C_206C_206E_202A_206B_206E_202C_202E_200D_206C_202E_200E_202E_200C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } + public sealed record UseTeleportTicket(uint ItemId, ushort Territory) : NavInstruction(); - static string _206C_200B_202E_200E_206F_200D_202B_200D_200E_200F_206D_200B_202E_206A_202C_206F_206B_200B_202A_206A_202B_200F_200E_206A_202A_202C_202E_200C_206B_200C_202E_206C_206C_200C_202A_206F_200E_202A_206E_200E_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _200E_200E_200C_206C_200E_200C_206E_206B_200B_206D_206F_200E_206B_202A_200D_206F_200B_200E_206B_200C_200D_202C_206F_202E_200E_206E_200C_202B_200E_200C_202C_206D_200E_206D_206B_200B_206C_206A_200F_200E_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } - } - - public sealed record AethernetHop(EAetheryteLocation From, EAetheryteLocation To) : NavInstruction() - { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _200F_200E_202D_206F_202C_202D_200E_206A_200C_206A_206A_200D_206A_202D_206C_206F_206C_200E_200F_200C_206F_200E_206F_202D_200D_202B_202C_200D_200B_202A_202A_200E_200E_200C_206E_200F_200B_202D_200F_200C_202E(typeof(AethernetHop).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206F_206D_202B_200E_200E_200C_206D_206B_200B_202A_200D_200B_200E_206F_206E_206A_206F_206C_206F_206A_200F_200F_200B_200C_206C_202B_200F_200C_200B_206C_206E_200C_202E_200F_206F_202A_200F_202D_202E_202A_202E(); - _200D_202E_206C_206F_206C_200D_202C_202B_206D_202E_202E_202A_202B_206E_206B_202D_200E_200F_202A_200E_200C_206D_206E_202B_206C_206F_200E_200E_206F_206C_200B_200C_200B_202E_202D_200E_206E_202B_206C_206C_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(646727576)); - _200D_202E_206C_206F_206C_200D_202C_202B_206D_202E_202E_202A_202B_206E_206B_202D_200E_200F_202A_200E_200C_206D_206E_202B_206C_206F_200E_200E_206F_206C_200B_200C_200B_202E_202D_200E_206E_202B_206C_206C_202E(stringBuilder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(1120247710)); - int num = ((!PrintMembers(stringBuilder)) ? 731190541 : 731190540); - while (true) - { - int num2 = num; - int num3 = 731190541; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _206E_202B_206F_202B_200F_200E_200C_200F_206E_206F_200B_206D_206A_200F_200F_206B_200D_202B_202A_202E_202E_206C_200E_202A_206D_206A_200B_206F_206B_202E_200E_206E_200E_206B_202C_206C_202A_200C_206C_202D_202E(stringBuilder, '}'); - return _200B_200F_200E_206C_206B_202C_200D_206A_206B_202C_200E_200F_200F_200D_200C_206D_200E_206C_200B_200C_206B_200E_202E_200D_206A_200E_206A_200C_202C_202D_200B_206A_200D_202C_202E_202C_202A_200F_200B_200E_202E((object)stringBuilder); - case 1: - _206E_202B_206F_202B_200F_200E_200C_200F_206E_206F_200B_206D_206A_200F_200F_206B_200D_202B_202A_202E_202E_206C_200E_202A_206D_206A_200B_206F_206B_202E_200E_206E_200E_206B_202C_206C_202A_200C_206C_202D_202E(stringBuilder, ' '); - num = 731190541; - break; - case 2: - num = 731190540; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected override bool PrintMembers(StringBuilder builder) - { - int num = ((!base.PrintMembers(builder)) ? 262222259 : 262222258); - while (true) - { - int num2 = num; - int num3 = 262222259; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 262222258; - break; - case 1: - _200D_202E_206C_206F_206C_200D_202C_202B_206D_202E_202E_202A_202B_206E_206B_202D_200E_200F_202A_200E_200C_206D_206E_202B_206C_206F_200E_200E_206F_206C_200B_200C_200B_202E_202D_200E_206E_202B_206C_206C_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(520781629)); - num = 262222259; - break; - case 0: - _200D_202E_206C_206F_206C_200D_202C_202B_206D_202E_202E_202A_202B_206E_206B_202D_200E_200F_202A_200E_200C_206D_206E_202B_206C_206F_200E_200E_206F_206C_200B_200C_200B_202E_202D_200E_206E_202B_206C_206C_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-1585380673)); - _200D_202E_206C_206F_206C_200D_202C_202B_206D_202E_202E_202A_202B_206E_206B_202D_200E_200F_202A_200E_200C_206D_206E_202B_206C_206F_200E_200E_206F_206C_200B_200C_200B_202E_202D_200E_206E_202B_206C_206C_202E(builder, From.ToString()); - _200D_202E_206C_206F_206C_200D_202C_202B_206D_202E_202E_202A_202B_206E_206B_202D_200E_200F_202A_200E_200C_206D_206E_202B_206C_206F_200E_200E_206F_206C_200B_200C_200B_202E_202D_200E_206E_202B_206C_206C_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-1504115831)); - _200D_202E_206C_206F_206C_200D_202C_202B_206D_202E_202E_202A_202B_206E_206B_202D_200E_200F_202A_200E_200C_206D_206E_202B_206C_206F_200E_200E_206F_206C_200B_200C_200B_202E_202D_200E_206E_202B_206C_206C_202E(builder, To.ToString()); - return true; - } - } - } - - [CompilerGenerated] - public bool Equals(AethernetHop? other) - { - int num = (((object)this == other) ? 1340176582 : 1340176578); - while (true) - { - int num2 = num; - int num3 = 1340176583; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 4: - num = ((!EqualityComparer.Default.Equals(From, other.From)) ? 1340176583 : 1340176581); - break; - case 5: - num = ((!base.Equals(other)) ? 1340176583 : 1340176579); - break; - case 3: - num = 1340176578; - break; - case 0: - return false; - case 1: - return true; - case 2: - return EqualityComparer.Default.Equals(To, other.To); - } - } - } - - bool IEquatable.Equals(AethernetHop? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200F_200E_202D_206F_202C_202D_200E_206A_200C_206A_206A_200D_206A_202D_206C_206F_206C_200E_200F_200C_206F_200E_206F_202D_200D_202B_202C_200D_200B_202A_202A_200E_200E_200C_206E_200F_200B_202D_200F_200C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206F_206D_202B_200E_200E_200C_206D_206B_200B_202A_200D_200B_200E_206F_206E_206A_206F_206C_206F_206A_200F_200F_200B_200C_206C_202B_200F_200C_200B_206C_206E_200C_202E_200F_206F_202A_200F_202D_202E_202A_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200D_202E_206C_206F_206C_200D_202C_202B_206D_202E_202E_202A_202B_206E_206B_202D_200E_200F_202A_200E_200C_206D_206E_202B_206C_206F_200E_200E_206F_206C_200B_200C_200B_202E_202D_200E_206E_202B_206C_206C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206E_202B_206F_202B_200F_200E_200C_200F_206E_206F_200B_206D_206A_200F_200F_206B_200D_202B_202A_202E_202E_206C_200E_202A_206D_206A_200B_206F_206B_202E_200E_206E_200E_206B_202C_206C_202A_200C_206C_202D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200B_200F_200E_206C_206B_202C_200D_206A_206B_202C_200E_200F_200F_200D_200C_206D_200E_206C_200B_200C_206B_200E_202E_200D_206A_200E_206A_200C_202C_202D_200B_206A_200D_202C_202E_202C_202A_200F_200B_200E_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _200C_206A_202D_202A_200B_202A_202D_206B_206D_200E_200E_200D_202A_206F_202B_200D_202A_202C_200D_202D_200D_202E_200F_202C_200D_206A_206C_206D_200B_206D_202D_206E_202C_202A_200E_206A_206A_202B_206D_206C_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } - } - - public sealed record Move(ushort Territory, Vector3 Position, bool Fly, bool LandAtTarget, float? StopDistance, uint? DataId, bool? Mount, bool DisableNavmesh, bool AllowZoneTransition, string? TargetNodeId, string? ApproachNodeId, bool IsFinal) : NavInstruction() - { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _200F_202B_202C_200E_202B_200D_202C_206F_202E_200D_202D_202B_202D_202E_206B_206C_200B_200C_206E_200E_202B_206F_200E_202E_206C_206F_206D_202E_200C_206B_206C_206F_200B_202D_206F_202B_200D_202B_200E_200C_202E(typeof(Move).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200C_200E_202D_200E_206B_202E_206B_202E_200D_206E_206F_202D_206C_202B_206E_206A_200D_206A_206A_206A_200D_206F_202E_200F_200E_206F_202E_202C_202E_200E_206E_202B_206F_200D_206B_206D_200B_206B_202A_206A_202E(); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(stringBuilder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-1783373874)); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-979564187)); - int num = ((!PrintMembers(stringBuilder)) ? 184319925 : 184319924); - while (true) - { - int num2 = num; - int num3 = 184319925; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 184319924; - break; - case 1: - _206F_206F_200E_202D_202B_206B_202D_206E_206B_202E_206A_202A_202D_202E_200B_200F_200B_202C_200B_200C_202E_200D_200C_206C_206E_200D_202D_202E_202A_206B_200D_200C_206D_200C_206D_206C_202E_200C_202D_206A_202E(stringBuilder, ' '); - num = 184319925; - break; - case 0: - _206F_206F_200E_202D_202B_206B_202D_206E_206B_202E_206A_202A_202D_202E_200B_200F_200B_202C_200B_200C_202E_200D_200C_206C_206E_200D_202D_202E_202A_206B_200D_200C_206D_200C_206D_206C_202E_200C_202D_206A_202E(stringBuilder, '}'); - return _200B_206E_202E_206F_200E_202C_206B_200E_202D_200C_202A_200D_202A_202E_206F_200B_206A_202A_206E_200F_202D_206F_200B_200C_200E_202B_200B_202D_206C_200C_200D_202C_202A_200F_200D_206C_206B_202D_200F_206C_202E((object?)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected override bool PrintMembers(StringBuilder builder) - { - int num = ((!base.PrintMembers(builder)) ? (-1550275483) : (-1550275484)); - while (true) - { - int num2 = num; - int num3 = -1550275483; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(1301726024)); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, Territory.ToString()); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-14976604)); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, Position.ToString()); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(579183541)); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, Fly.ToString()); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(1438832715)); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, LandAtTarget.ToString()); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(1925162850)); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, StopDistance.ToString()); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-1217334372)); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, DataId.ToString()); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(961640576)); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, Mount.ToString()); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-87396488)); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, DisableNavmesh.ToString()); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-977259030)); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, AllowZoneTransition.ToString()); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(515549831)); - _206F_206D_206B_202A_206A_200E_206E_206E_200C_200F_200C_206F_206A_202A_200C_200B_206C_206F_202C_206B_202A_206D_206D_206D_200B_202E_202D_206C_206A_202C_200E_202C_202A_200D_206F_202E_206C_206B_200E_200C_202E(builder, (object?)TargetNodeId); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(1412207095)); - _206F_206D_206B_202A_206A_200E_206E_206E_200C_200F_200C_206F_206A_202A_200C_200B_206C_206F_202C_206B_202A_206D_206D_206D_200B_202E_202D_206C_206A_202C_200E_202C_202A_200D_206F_202E_206C_206B_200E_200C_202E(builder, (object?)ApproachNodeId); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(1726787616)); - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, IsFinal.ToString()); - return true; - case 1: - _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-1735617534)); - num = -1550275483; - break; - case 2: - num = -1550275484; - break; - } - } - } - - [CompilerGenerated] - public bool Equals(Move? other) - { - int num = (((object)this == other) ? (-1381192085) : (-1381192092)); - while (true) - { - int num2 = num; - int num3 = -1381192088; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = ((!EqualityComparer.Default.Equals(DisableNavmesh, other.DisableNavmesh)) ? (-1381192095) : (-1381192090)); - break; - case 11: - num = ((!EqualityComparer.Default.Equals(Position, other.Position)) ? (-1381192095) : (-1381192086)); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(ApproachNodeId, other.ApproachNodeId)) ? (-1381192095) : (-1381192089)); - break; - case 7: - num = ((!EqualityComparer.Default.Equals(TargetNodeId, other.TargetNodeId)) ? (-1381192095) : (-1381192087)); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(Mount, other.Mount)) ? (-1381192095) : (-1381192088)); - break; - case 3: - return true; - case 14: - num = ((!EqualityComparer.Default.Equals(AllowZoneTransition, other.AllowZoneTransition)) ? (-1381192095) : (-1381192081)); - break; - case 9: - return false; - case 4: - num = ((!EqualityComparer.Default.Equals(LandAtTarget, other.LandAtTarget)) ? (-1381192095) : (-1381192096)); - break; - case 13: - num = ((!EqualityComparer.Default.Equals(DataId, other.DataId)) ? (-1381192095) : (-1381192082)); - break; - case 10: - num = -1381192092; - break; - case 2: - num = ((!EqualityComparer.Default.Equals(Fly, other.Fly)) ? (-1381192095) : (-1381192084)); - break; - case 5: - num = ((!EqualityComparer.Default.Equals(Territory, other.Territory)) ? (-1381192095) : (-1381192093)); - break; - case 15: - return EqualityComparer.Default.Equals(IsFinal, other.IsFinal); - case 8: - num = ((!EqualityComparer.Default.Equals(StopDistance, other.StopDistance)) ? (-1381192095) : (-1381192091)); - break; - case 12: - num = ((!base.Equals(other)) ? (-1381192095) : (-1381192083)); - break; - } - } - } - - bool IEquatable.Equals(Move? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type? _200F_202B_202C_200E_202B_200D_202C_206F_202E_200D_202D_202B_202D_202E_206B_206C_200B_200C_206E_200E_202B_206F_200E_202E_206C_206F_206D_202E_200C_206B_206C_206F_200B_202D_206F_202B_200D_202B_200E_200C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder? _200C_200E_202D_200E_206B_202E_206B_202E_200D_206E_206F_202D_206C_202B_206E_206A_200D_206A_206A_206A_200D_206F_202E_200F_200E_206F_202E_202C_202E_200E_206E_202B_206F_200D_206B_206D_200B_206B_202A_206A_202E() - { - return new StringBuilder(); - } - - static StringBuilder? _200B_202A_202B_200D_200D_206B_206A_206F_206A_202C_200D_202C_206C_202D_206C_202C_202B_200B_206C_200C_206A_200E_200F_200F_202C_202E_200C_202E_206C_202B_200D_200F_202A_200B_200D_200D_200E_202B_200D_202E_202E(StringBuilder? P_0, string? P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder? _206F_206F_200E_202D_202B_206B_202D_206E_206B_202E_206A_202A_202D_202E_200B_200F_200B_202C_200B_200C_202E_200D_200C_206C_206E_200D_202D_202E_202A_206B_200D_200C_206D_200C_206D_206C_202E_200C_202D_206A_202E(StringBuilder? P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string? _200B_206E_202E_206F_200E_202C_206B_200E_202D_200C_202A_200D_202A_202E_206F_200B_206A_202A_206E_200F_202D_206F_200B_200C_200E_202B_200B_202D_206C_200C_200D_202C_202A_200F_200D_206C_206B_202D_200F_206C_202E(object? P_0) - { - return P_0.ToString(); - } - - static StringBuilder? _206F_206D_206B_202A_206A_200E_206E_206E_200C_200F_200C_206F_206A_202A_200C_200B_206C_206F_202C_206B_202A_206D_206D_206D_200B_202E_202D_206C_206A_202C_200E_202C_202A_200D_206F_202E_206C_206B_200E_200C_202E(StringBuilder? P_0, object? P_1) - { - return P_0.Append(P_1); - } - - static bool _200B_200C_200E_200B_206C_206C_206F_202E_202E_206C_202C_200B_206B_200F_200D_202C_206E_200C_200D_200F_202E_200C_202C_206D_200F_206F_206E_200B_206C_206A_202E_202C_200C_202B_202B_200F_206C_200F_200B_200F_202E(object? P_0, object? P_1) - { - return P_0.Equals(P_1); - } - } - - public sealed record Land : NavInstruction - { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _206C_206B_206B_200D_200C_206A_200C_202B_202A_206F_206B_206A_202E_206D_206D_206E_200D_206B_202C_200F_206A_200B_206C_200B_206F_206B_206F_200B_202D_202D_202A_200C_202E_200C_206C_206C_202A_206C_202C_206E_202E(typeof(Land).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206B_202A_206D_202A_202E_200F_202E_200F_206D_200B_200E_200C_200E_200D_200F_200D_202C_206D_200E_200D_200B_202B_206F_206E_200B_202A_202C_200C_206C_200E_200D_206A_206F_200B_206F_200B_206E_200F_202D_202A_202E(); - _206F_202B_202C_202E_200D_206B_206B_200E_202E_200F_206C_200D_206F_206A_206E_200F_202A_200C_200E_200C_200F_202E_202A_206F_206E_202B_206E_206F_200C_200C_200E_202E_202D_202E_202C_200C_206B_202C_202A_202D_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-2144595044)); - _206F_202B_202C_202E_200D_206B_206B_200E_202E_200F_206C_200D_206F_206A_206E_200F_202A_200C_200E_200C_200F_202E_202A_206F_206E_202B_206E_206F_200C_200C_200E_202E_202D_202E_202C_200C_206B_202C_202A_202D_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-979564187)); - int num = ((!PrintMembers(stringBuilder)) ? (-1706563255) : (-1706563254)); - while (true) - { - int num2 = num; - int num3 = -1706563256; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _200E_202B_200B_200E_202C_202D_202D_206F_202E_206C_202A_200B_202D_200B_206F_202D_206F_200B_206E_206A_200D_206E_202E_206F_202E_202D_202C_202E_200B_206F_202D_206C_206F_202A_202E_200F_206B_206D_200E_202E(stringBuilder, '}'); - return _202A_202B_200D_206D_200D_206A_206D_206A_200B_202A_206E_202E_206B_200D_206D_202B_206B_200B_200C_206E_206E_206A_206B_206C_206C_200E_202B_200F_206A_206B_200C_206F_200D_206D_200C_202D_202E_202A_206F_206F_202E((object)stringBuilder); - case 2: - _200E_202B_200B_200E_202C_202D_202D_206F_202E_206C_202A_200B_202D_200B_206F_202D_206F_200B_206E_206A_200D_206E_202E_206F_202E_202D_202C_202E_200B_206F_202D_206C_206F_202A_202E_200F_206B_206D_200E_202E(stringBuilder, ' '); - num = -1706563255; - break; - case 0: - num = -1706563254; - break; - } - } - } - - [CompilerGenerated] - public bool Equals(Land? other) - { - int num = (((object)this == other) ? 56353034 : 56353033); - while (true) - { - int num2 = num; - int num3 = 56353035; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0042; - case 2: - return base.Equals(other); - case 1: - return true; - } - continue; - IL_0042: - num = 56353033; - } - } - - bool IEquatable.Equals(Land? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206C_206B_206B_200D_200C_206A_200C_202B_202A_206F_206B_206A_202E_206D_206D_206E_200D_206B_202C_200F_206A_200B_206C_200B_206F_206B_206F_200B_202D_202D_202A_200C_202E_200C_206C_206C_202A_206C_202C_206E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206B_202A_206D_202A_202E_200F_202E_200F_206D_200B_200E_200C_200E_200D_200F_200D_202C_206D_200E_200D_200B_202B_206F_206E_200B_202A_202C_200C_206C_200E_200D_206A_206F_200B_206F_200B_206E_200F_202D_202A_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206F_202B_202C_202E_200D_206B_206B_200E_202E_200F_206C_200D_206F_206A_206E_200F_202A_200C_200E_200C_200F_202E_202A_206F_206E_202B_206E_206F_200C_200C_200E_202E_202D_202E_202C_200C_206B_202C_202A_202D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200E_202B_200B_200E_202C_202D_202D_206F_202E_206C_202A_200B_202D_200B_206F_202D_206F_200B_206E_206A_200D_206E_202E_206F_202E_202D_202C_202E_200B_206F_202D_206C_206F_202A_202E_200F_206B_206D_200E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202A_202B_200D_206D_200D_206A_206D_206A_200B_202A_206E_202E_206B_200D_206D_202B_206B_200B_200C_206E_206E_206A_206B_206C_206C_200E_202B_200F_206A_206B_200C_206F_200D_206D_200C_202D_202E_202A_206F_206F_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _206F_202A_202A_206A_200F_206C_200F_200F_200D_206D_206B_200F_200E_206B_200D_206F_206D_202B_202C_202C_200B_200D_206C_202E_200F_206B_202D_202B_200C_206B_200F_200C_202B_200E_200E_200B_206B_202B_200F_206B_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } - } - - public sealed record Unmount : NavInstruction - { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _200F_202C_202C_206B_202D_206A_206B_206B_206D_202D_202E_202B_206F_200E_206F_200C_206B_206A_206E_206B_200F_206B_206E_202E_200D_202C_200B_206D_200C_206E_206E_206F_206C_206F_206F_202B_206A_206F_200C_202D_202E(typeof(Unmount).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200E_202B_206D_200B_206D_202D_202D_200C_200B_202A_200B_202C_202D_202D_206D_202A_200E_202D_206C_206C_202D_200B_206B_200B_206A_206F_202B_206C_206B_206B_206E_200D_200B_202D_202A_206F_202C_206D_206A_202C_202E(); - _202A_200E_200E_206F_200C_200E_202D_200B_200E_200B_200F_202A_200C_206F_206F_202E_200C_202C_200E_206D_200D_206D_206F_200B_206E_206B_202A_200D_206F_200D_202E_206F_202D_200D_202B_200C_206C_202E_200B_206C_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(1982914453)); - _202A_200E_200E_206F_200C_200E_202D_200B_200E_200B_200F_202A_200C_206F_206F_202E_200C_202C_200E_206D_200D_206D_206F_200B_206E_206B_202A_200D_206F_200D_202E_206F_202D_200D_202B_200C_206C_202E_200B_206C_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-169322018)); - int num = ((!PrintMembers(stringBuilder)) ? (-986476098) : (-986476099)); - while (true) - { - int num2 = num; - int num3 = -986476100; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -986476099; - break; - case 1: - _200C_206A_206E_202B_202C_202C_200B_200E_200B_202E_206D_206F_202C_200B_202A_206A_202E_200B_206F_202C_206F_206B_206F_206B_206C_206C_206B_202B_200F_200B_206E_206D_206C_206E_202B_206F_206E_200B_206B_202B_202E(stringBuilder, ' '); - num = -986476098; - break; - case 2: - _200C_206A_206E_202B_202C_202C_200B_200E_200B_202E_206D_206F_202C_200B_202A_206A_202E_200B_206F_202C_206F_206B_206F_206B_206C_206C_206B_202B_200F_200B_206E_206D_206C_206E_202B_206F_206E_200B_206B_202B_202E(stringBuilder, '}'); - return _206C_202A_200F_202E_202B_206D_200D_200D_200F_202B_202A_200B_200F_202C_206D_206E_202D_202A_206E_200F_206B_200D_200D_206F_206F_206A_200F_200F_200D_206C_200B_202A_202B_202B_202E_206A_206E_200D_200B_200E_202E((object)stringBuilder); - } - } - } - - [CompilerGenerated] - public bool Equals(Unmount? other) - { - int num = (((object)this == other) ? 967887402 : 967887403); - while (true) - { - int num2 = num; - int num3 = 967887402; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return true; - case 1: - return base.Equals(other); - case 2: - goto IL_004c; - } - continue; - IL_004c: - num = 967887403; - } - } - - bool IEquatable.Equals(Unmount? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200F_202C_202C_206B_202D_206A_206B_206B_206D_202D_202E_202B_206F_200E_206F_200C_206B_206A_206E_206B_200F_206B_206E_202E_200D_202C_200B_206D_200C_206E_206E_206F_206C_206F_206F_202B_206A_206F_200C_202D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200E_202B_206D_200B_206D_202D_202D_200C_200B_202A_200B_202C_202D_202D_206D_202A_200E_202D_206C_206C_202D_200B_206B_200B_206A_206F_202B_206C_206B_206B_206E_200D_200B_202D_202A_206F_202C_206D_206A_202C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202A_200E_200E_206F_200C_200E_202D_200B_200E_200B_200F_202A_200C_206F_206F_202E_200C_202C_200E_206D_200D_206D_206F_200B_206E_206B_202A_200D_206F_200D_202E_206F_202D_200D_202B_200C_206C_202E_200B_206C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200C_206A_206E_202B_202C_202C_200B_200E_200B_202E_206D_206F_202C_200B_202A_206A_202E_200B_206F_202C_206F_206B_206F_206B_206C_206C_206B_202B_200F_200B_206E_206D_206C_206E_202B_206F_206E_200B_206B_202B_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206C_202A_200F_202E_202B_206D_200D_200D_200F_202B_202A_200B_200F_202C_206D_206E_202D_202A_206E_200F_206B_200D_200D_206F_206F_206A_200F_200F_200D_206C_200B_202A_202B_202B_202E_206A_206E_200D_200B_200E_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _200D_206A_202A_206F_200C_202C_206E_206B_206F_202D_206F_206C_202A_206C_202C_200E_202B_202A_202D_202B_200B_200E_202C_200C_202E_206C_206C_206C_202A_202A_202C_206C_202A_202B_206B_206D_206B_200C_206D_206F_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } - } - - public sealed record WaitForTerritory(IReadOnlyList Acceptable, string Description) : NavInstruction() - { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _206D_202D_206C_202B_202D_206B_200E_202B_206F_200D_202B_202D_200D_200D_206F_206C_202E_202C_202D_202E_206E_206D_202E_206A_202B_202B_202E_200B_206F_202D_202B_200E_202C_206B_206A_200F_202D_200C_206D_202D_202E(typeof(WaitForTerritory).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202A_202E_200E_202B_200C_200B_200C_200D_202A_206E_202D_200E_202E_200D_202E_202E_200B_206B_206E_202E_200E_202E_206B_202C_206F_202D_202E_206F_206C_202D_206B_206A_200F_200F_202D_200C_202A_200D_200C_200C_202E(); - _206D_200F_200B_202A_206A_206F_200E_206F_202D_200C_202A_200D_206D_206E_202E_206E_202B_200D_202C_202A_200C_202D_206F_206D_206B_206D_202A_200C_202D_206B_202B_206E_200C_200B_206D_206E_200F_206C_206A_206F_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(66948926)); - _206D_200F_200B_202A_206A_206F_200E_206F_202D_200C_202A_200D_206D_206E_202E_206E_202B_200D_202C_202A_200C_202D_206F_206D_206B_206D_202A_200C_202D_206B_202B_206E_200C_200B_206D_206E_200F_206C_206A_206F_202E(stringBuilder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(1120247710)); - int num = ((!PrintMembers(stringBuilder)) ? 322249372 : 322249375); - while (true) - { - int num2 = num; - int num3 = 322249373; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 322249375; - break; - case 2: - _202A_206B_202E_202C_206B_202B_202B_200B_206A_206A_202E_206B_200C_202D_206A_202C_200F_202D_202C_202E_200F_200E_206C_200B_200B_202A_202D_206A_206B_200F_200E_202D_206D_202D_206C_202D_202A_206C_206A_206C_202E(stringBuilder, ' '); - num = 322249372; - break; - case 1: - _202A_206B_202E_202C_206B_202B_202B_200B_206A_206A_202E_206B_200C_202D_206A_202C_200F_202D_202C_202E_200F_200E_206C_200B_200B_202A_202D_206A_206B_200F_200E_202D_206D_202D_206C_202D_202A_206C_206A_206C_202E(stringBuilder, '}'); - return _206B_202C_206D_200E_202C_202B_200B_206C_206A_206B_202D_200E_200C_200E_206B_202C_206B_202C_206B_206F_206A_202C_200B_202B_200F_206A_206F_206A_206D_200F_206C_206C_200B_202D_206C_202E_206C_200C_202B_202C_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected override bool PrintMembers(StringBuilder builder) - { - int num = ((!base.PrintMembers(builder)) ? (-276328762) : (-276328763)); - while (true) - { - int num2 = num; - int num3 = -276328764; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -276328763; - break; - case 1: - _206D_200F_200B_202A_206A_206F_200E_206F_202D_200C_202A_200D_206D_206E_202E_206E_202B_200D_202C_202A_200C_202D_206F_206D_206B_206D_202A_200C_202D_206B_202B_206E_200C_200B_206D_206E_200F_206C_206A_206F_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-1735617534)); - num = -276328762; - break; - case 2: - _206D_200F_200B_202A_206A_206F_200E_206F_202D_200C_202A_200D_206D_206E_202E_206E_202B_200D_202C_202A_200C_202D_206F_206D_206B_206D_202A_200C_202D_206B_202B_206E_200C_200B_206D_206E_200F_206C_206A_206F_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-632488350)); - _202E_200F_202B_202D_206F_202D_202E_202B_200D_202B_206D_200D_206D_206F_202E_206B_200F_200C_206B_206A_200F_206B_200F_206D_206A_206D_202D_200C_202A_206F_206D_202B_200F_202C_206A_206B_202E_206F_202A_202D_202E(builder, (object)Acceptable); - _206D_200F_200B_202A_206A_206F_200E_206F_202D_200C_202A_200D_206D_206E_202E_206E_202B_200D_202C_202A_200C_202D_206F_206D_206B_206D_202A_200C_202D_206B_202B_206E_200C_200B_206D_206E_200F_206C_206A_206F_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-1652180292)); - _202E_200F_202B_202D_206F_202D_202E_202B_200D_202B_206D_200D_206D_206F_202E_206B_200F_200C_206B_206A_200F_206B_200F_206D_206A_206D_202D_200C_202A_206F_206D_202B_200F_202C_206A_206B_202E_206F_202A_202D_202E(builder, (object)Description); - return true; - } - } - } - - [CompilerGenerated] - public bool Equals(WaitForTerritory? other) - { - int num = (((object)this == other) ? (-116518482) : (-116518483)); - while (true) - { - int num2 = num; - int num3 = -116518484; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - return EqualityComparer.Default.Equals(Description, other.Description); - case 1: - num = ((!base.Equals(other)) ? (-116518488) : (-116518481)); - break; - case 3: - num = ((!EqualityComparer>.Default.Equals(Acceptable, other.Acceptable)) ? (-116518488) : (-116518484)); - break; - case 5: - num = -116518483; - break; - case 4: - return false; - case 2: - return true; - } - } - } - - bool IEquatable.Equals(WaitForTerritory? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206D_202D_206C_202B_202D_206B_200E_202B_206F_200D_202B_202D_200D_200D_206F_206C_202E_202C_202D_202E_206E_206D_202E_206A_202B_202B_202E_200B_206F_202D_202B_200E_202C_206B_206A_200F_202D_200C_206D_202D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202A_202E_200E_202B_200C_200B_200C_200D_202A_206E_202D_200E_202E_200D_202E_202E_200B_206B_206E_202E_200E_202E_206B_202C_206F_202D_202E_206F_206C_202D_206B_206A_200F_200F_202D_200C_202A_200D_200C_200C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206D_200F_200B_202A_206A_206F_200E_206F_202D_200C_202A_200D_206D_206E_202E_206E_202B_200D_202C_202A_200C_202D_206F_206D_206B_206D_202A_200C_202D_206B_202B_206E_200C_200B_206D_206E_200F_206C_206A_206F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202A_206B_202E_202C_206B_202B_202B_200B_206A_206A_202E_206B_200C_202D_206A_202C_200F_202D_202C_202E_200F_200E_206C_200B_200B_202A_202D_206A_206B_200F_200E_202D_206D_202D_206C_202D_202A_206C_206A_206C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206B_202C_206D_200E_202C_202B_200B_206C_206A_206B_202D_200E_200C_200E_206B_202C_206B_202C_206B_206F_206A_202C_200B_202B_200F_206A_206F_206A_206D_200F_206C_206C_200B_202D_206C_202E_206C_200C_202B_202C_202E(object P_0) - { - return P_0.ToString(); - } - - static StringBuilder _202E_200F_202B_202D_206F_202D_202E_202B_200D_202B_206D_200D_206D_206F_202E_206B_200F_200C_206B_206A_200F_206B_200F_206D_206A_206D_202D_200C_202A_206F_206D_202B_200F_202C_206A_206B_202E_206F_202A_202D_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206A_200E_202C_200F_202B_200D_200B_200F_202C_206D_206C_206B_200E_202C_200D_200B_202C_206B_202A_200C_206B_200B_202D_200F_200F_206B_206F_202C_206C_202B_200D_202C_200F_202A_206E_202B_206B_202C_202E_202D_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } - } - - public sealed record WaitForNavmesh : NavInstruction - { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _206C_202D_200F_200B_206F_206C_206E_202D_206A_206B_200C_200D_202A_200F_200F_206A_200E_202E_206A_206D_202B_206C_206F_206D_202C_200E_202D_206F_202E_200F_200B_202A_200E_206F_206E_206D_200F_200F_200C_202E_202E(typeof(WaitForNavmesh).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202D_202B_206E_200E_202B_200C_206B_202E_200C_200B_206F_200C_206F_202E_206B_202B_200E_200B_206D_202E_200B_202B_206C_202B_200B_206D_206F_200E_206B_206E_202C_206A_206B_206B_206B_202A_200B_206A_200C_202B_202E(); - _200B_200C_202A_202A_200D_202C_206B_200B_206D_200E_202E_200D_202B_202E_202E_200F_206B_200B_206D_202C_202C_200D_202E_200C_202A_202C_202B_200D_202D_206F_202E_200F_200E_200D_200F_200F_206D_202A_202E_202C_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-814720200)); - _200B_200C_202A_202A_200D_202C_206B_200B_206D_200E_202E_200D_202B_202E_202E_200F_206B_200B_206D_202C_202C_200D_202E_200C_202A_202C_202B_200D_202D_206F_202E_200F_200E_200D_200F_200F_206D_202A_202E_202C_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-979564187)); - int num = ((!PrintMembers(stringBuilder)) ? 1083442519 : 1083442516); - while (true) - { - int num2 = num; - int num3 = 1083442518; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _206B_202B_206E_200B_206D_202C_200F_200B_202D_206C_200B_200B_200F_206D_202A_202B_200F_202D_202C_202B_206D_200E_202E_202C_206C_200F_200C_206C_200F_206A_206F_200D_202A_200F_206E_202B_206C_200B_200D_200E_202E(stringBuilder, '}'); - return _200F_206D_200B_200F_200C_202A_206D_202A_200B_206A_200B_206B_200C_202D_206E_200F_206F_200B_202C_202D_200B_206B_206F_200E_200C_206D_206A_200B_206A_202D_200F_206F_202E_206E_202E_206A_206C_202C_206A_202E((object)stringBuilder); - case 2: - _206B_202B_206E_200B_206D_202C_200F_200B_202D_206C_200B_200B_200F_206D_202A_202B_200F_202D_202C_202B_206D_200E_202E_202C_206C_200F_200C_206C_200F_206A_206F_200D_202A_200F_206E_202B_206C_200B_200D_200E_202E(stringBuilder, ' '); - num = 1083442519; - break; - case 0: - num = 1083442516; - break; - } - } - } - - [CompilerGenerated] - public bool Equals(WaitForNavmesh? other) - { - int num = (((object)this == other) ? 192095984 : 192095987); - while (true) - { - int num2 = num; - int num3 = 192095985; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return true; - case 2: - return base.Equals(other); - case 0: - goto IL_004c; - } - continue; - IL_004c: - num = 192095987; - } - } - - bool IEquatable.Equals(WaitForNavmesh? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206C_202D_200F_200B_206F_206C_206E_202D_206A_206B_200C_200D_202A_200F_200F_206A_200E_202E_206A_206D_202B_206C_206F_206D_202C_200E_202D_206F_202E_200F_200B_202A_200E_206F_206E_206D_200F_200F_200C_202E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202D_202B_206E_200E_202B_200C_206B_202E_200C_200B_206F_200C_206F_202E_206B_202B_200E_200B_206D_202E_200B_202B_206C_202B_200B_206D_206F_200E_206B_206E_202C_206A_206B_206B_206B_202A_200B_206A_200C_202B_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200B_200C_202A_202A_200D_202C_206B_200B_206D_200E_202E_200D_202B_202E_202E_200F_206B_200B_206D_202C_202C_200D_202E_200C_202A_202C_202B_200D_202D_206F_202E_200F_200E_200D_200F_200F_206D_202A_202E_202C_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206B_202B_206E_200B_206D_202C_200F_200B_202D_206C_200B_200B_200F_206D_202A_202B_200F_202D_202C_202B_206D_200E_202E_202C_206C_200F_200C_206C_200F_206A_206F_200D_202A_200F_206E_202B_206C_200B_200D_200E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200F_206D_200B_200F_200C_202A_206D_202A_200B_206A_200B_206B_200C_202D_206E_200F_206F_200B_202C_202D_200B_206B_206F_200E_200C_206D_206A_200B_206A_202D_200F_206F_202E_206E_202E_206A_206C_202C_206A_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _206C_206E_202A_206D_202C_206B_202B_202B_202C_206E_202C_200C_200F_206A_206E_200C_202D_202D_200F_206D_202A_200D_206A_200D_206A_200B_206B_206A_206C_206E_206E_200F_202E_202B_206E_202E_206D_200B_200F_206C_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } - } - - public sealed record InteractWarp(uint NpcDataId, uint WarpRowId, ushort FromTerritory, ushort ToTerritory) : NavInstruction() - { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _200B_202A_206C_206F_202A_200D_206A_202B_206C_206F_202B_206D_200B_200B_202B_202D_206C_200D_206F_200B_206E_206B_206B_200F_200E_202B_202A_206E_200E_206B_202B_206B_202B_202D_200F_206D_206B_202B_206A_202E(typeof(InteractWarp).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202C_206C_202E_206A_202B_200C_202A_200B_206C_200C_200F_200B_206D_202B_206C_206C_206B_202A_206C_206F_206C_202D_202D_202D_206A_202E_206D_206F_206A_200B_202B_206E_202B_202B_202B_202D_202A_200E_200B_202E_202E(); - _202E_206B_206A_206B_202A_200E_206E_202E_202A_202D_206E_206F_206B_206A_206D_202A_200E_206D_202C_202C_200B_200D_206A_206A_202E_200E_200E_200E_206B_202C_206D_202D_200E_206F_206F_200D_202B_200B_200E_202D_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-1147188911)); - _202E_206B_206A_206B_202A_200E_206E_202E_202A_202D_206E_206F_206B_206A_206D_202A_200E_206D_202C_202C_200B_200D_206A_206A_202E_200E_200E_200E_206B_202C_206D_202D_200E_206F_206F_200D_202B_200B_200E_202D_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-169322018)); - int num = ((!PrintMembers(stringBuilder)) ? (-399761928) : (-399761925)); - while (true) - { - int num2 = num; - int num3 = -399761927; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -399761925; - break; - case 2: - _206A_202D_202E_202A_202C_200D_200E_200B_200D_206F_206D_202E_202B_200B_206B_206A_202D_206B_206C_202C_202C_202E_206E_206B_202B_206B_206C_206B_206F_202E_200B_200C_206B_200E_202E_206A_206D_202E_206E_200F_202E(stringBuilder, ' '); - num = -399761928; - break; - case 1: - _206A_202D_202E_202A_202C_200D_200E_200B_200D_206F_206D_202E_202B_200B_206B_206A_202D_206B_206C_202C_202C_202E_206E_206B_202B_206B_206C_206B_206F_202E_200B_200C_206B_200E_202E_206A_206D_202E_206E_200F_202E(stringBuilder, '}'); - return _200E_202B_200E_200B_200B_200D_200B_200C_200D_202B_200E_206A_200F_206F_206C_202B_206C_202C_202D_200D_202B_206E_202E_202D_206E_206E_200C_206E_206E_206A_206F_200B_206F_200E_200C_206A_202A_200B_202A_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected override bool PrintMembers(StringBuilder builder) - { - int num = ((!base.PrintMembers(builder)) ? 1383636572 : 1383636575); - while (true) - { - int num2 = num; - int num3 = 1383636574; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - _202E_206B_206A_206B_202A_200E_206E_202E_202A_202D_206E_206F_206B_206A_206D_202A_200E_206D_202C_202C_200B_200D_206A_206A_202E_200E_200E_200E_206B_202C_206D_202D_200E_206F_206F_200D_202B_200B_200E_202D_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(312121302)); - _202E_206B_206A_206B_202A_200E_206E_202E_202A_202D_206E_206F_206B_206A_206D_202A_200E_206D_202C_202C_200B_200D_206A_206A_202E_200E_200E_200E_206B_202C_206D_202D_200E_206F_206F_200D_202B_200B_200E_202D_202E(builder, NpcDataId.ToString()); - _202E_206B_206A_206B_202A_200E_206E_202E_202A_202D_206E_206F_206B_206A_206D_202A_200E_206D_202C_202C_200B_200D_206A_206A_202E_200E_200E_200E_206B_202C_206D_202D_200E_206F_206F_200D_202B_200B_200E_202D_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-1903510194)); - _202E_206B_206A_206B_202A_200E_206E_202E_202A_202D_206E_206F_206B_206A_206D_202A_200E_206D_202C_202C_200B_200D_206A_206A_202E_200E_200E_200E_206B_202C_206D_202D_200E_206F_206F_200D_202B_200B_200E_202D_202E(builder, WarpRowId.ToString()); - _202E_206B_206A_206B_202A_200E_206E_202E_202A_202D_206E_206F_206B_206A_206D_202A_200E_206D_202C_202C_200B_200D_206A_206A_202E_200E_200E_200E_206B_202C_206D_202D_200E_206F_206F_200D_202B_200B_200E_202D_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-149782778)); - _202E_206B_206A_206B_202A_200E_206E_202E_202A_202D_206E_206F_206B_206A_206D_202A_200E_206D_202C_202C_200B_200D_206A_206A_202E_200E_200E_200E_206B_202C_206D_202D_200E_206F_206F_200D_202B_200B_200E_202D_202E(builder, FromTerritory.ToString()); - _202E_206B_206A_206B_202A_200E_206E_202E_202A_202D_206E_206F_206B_206A_206D_202A_200E_206D_202C_202C_200B_200D_206A_206A_202E_200E_200E_200E_206B_202C_206D_202D_200E_206F_206F_200D_202B_200B_200E_202D_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(883191091)); - _202E_206B_206A_206B_202A_200E_206E_202E_202A_202D_206E_206F_206B_206A_206D_202A_200E_206D_202C_202C_200B_200D_206A_206A_202E_200E_200E_200E_206B_202C_206D_202D_200E_206F_206F_200D_202B_200B_200E_202D_202E(builder, ToTerritory.ToString()); - return true; - case 1: - _202E_206B_206A_206B_202A_200E_206E_202E_202A_202D_206E_206F_206B_206A_206D_202A_200E_206D_202C_202C_200B_200D_206A_206A_202E_200E_200E_200E_206B_202C_206D_202D_200E_206F_206F_200D_202B_200B_200E_202D_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-1735617534)); - num = 1383636572; - break; - case 0: - num = 1383636575; - break; - } - } - } - - [CompilerGenerated] - public bool Equals(InteractWarp? other) - { - int num = (((object)this == other) ? 589898297 : 589898296); - while (true) - { - int num2 = num; - int num3 = 589898298; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 7: - num = ((!EqualityComparer.Default.Equals(FromTerritory, other.FromTerritory)) ? 589898300 : 589898298); - break; - case 1: - num = ((!EqualityComparer.Default.Equals(NpcDataId, other.NpcDataId)) ? 589898300 : 589898303); - break; - case 2: - num = ((!base.Equals(other)) ? 589898300 : 589898299); - break; - case 6: - return false; - case 0: - return EqualityComparer.Default.Equals(ToTerritory, other.ToTerritory); - case 5: - num = ((!EqualityComparer.Default.Equals(WarpRowId, other.WarpRowId)) ? 589898300 : 589898301); - break; - case 4: - num = 589898296; - break; - case 3: - return true; - } - } - } - - bool IEquatable.Equals(InteractWarp? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _200B_202A_206C_206F_202A_200D_206A_202B_206C_206F_202B_206D_200B_200B_202B_202D_206C_200D_206F_200B_206E_206B_206B_200F_200E_202B_202A_206E_200E_206B_202B_206B_202B_202D_200F_206D_206B_202B_206A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202C_206C_202E_206A_202B_200C_202A_200B_206C_200C_200F_200B_206D_202B_206C_206C_206B_202A_206C_206F_206C_202D_202D_202D_206A_202E_206D_206F_206A_200B_202B_206E_202B_202B_202B_202D_202A_200E_200B_202E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202E_206B_206A_206B_202A_200E_206E_202E_202A_202D_206E_206F_206B_206A_206D_202A_200E_206D_202C_202C_200B_200D_206A_206A_202E_200E_200E_200E_206B_202C_206D_202D_200E_206F_206F_200D_202B_200B_200E_202D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206A_202D_202E_202A_202C_200D_200E_200B_200D_206F_206D_202E_202B_200B_206B_206A_202D_206B_206C_202C_202C_202E_206E_206B_202B_206B_206C_206B_206F_202E_200B_200C_206B_200E_202E_206A_206D_202E_206E_200F_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200E_202B_200E_200B_200B_200D_200B_200C_200D_202B_200E_206A_200F_206F_206C_202B_206C_202C_202D_200D_202B_206E_202E_202D_206E_206E_200C_206E_206E_206A_206F_200B_206F_200E_200C_206A_202A_200B_202A_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _202B_206C_202E_206F_200F_202E_202A_206F_206A_200B_206F_200F_202D_200D_206C_200E_206E_200D_202A_202D_202C_200F_206C_202D_202E_202A_202B_206A_200E_200D_200C_202B_206E_206F_206B_206A_202A_200E_206F_202D_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } - } - - public sealed record UseTeleportTicket(uint ItemId, ushort Territory) : NavInstruction() - { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _202D_200D_206F_202A_202D_206A_206E_200D_200F_206D_200D_200E_202D_200B_206E_202C_200F_202C_206E_206E_206B_200F_200D_200D_206B_200C_202D_206E_202B_206C_206E_200C_206A_206B_206A_206A_202E_206C_202D_200C_202E(typeof(UseTeleportTicket).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202A_202B_200C_206D_200B_202D_206D_202A_200B_206F_202E_206A_206A_200F_200C_206B_200F_206D_206F_206C_206F_202E_206F_206F_202A_206D_206F_206D_202B_206B_202A_206A_202E_202E_200E_202D_200D_206B_202C_200D_202E(); - _202E_200D_200F_200D_202E_202B_202B_200B_202E_202D_206C_202A_206D_200E_206F_206E_202B_202E_200B_200C_206F_206F_206E_206B_200E_202B_200B_200E_202E_206B_206E_200C_202E_200F_202D_202A_206B_202C_202E_200D_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(606270569)); - _202E_200D_200F_200D_202E_202B_202B_200B_202E_202D_206C_202A_206D_200E_206F_206E_202B_202E_200B_200C_206F_206F_206E_206B_200E_202B_200B_200E_202E_206B_206E_200C_202E_200F_202D_202A_206B_202C_202E_200D_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-169322018)); - int num = ((!PrintMembers(stringBuilder)) ? 2026509155 : 2026509152); - while (true) - { - int num2 = num; - int num3 = 2026509154; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 2026509152; - break; - case 1: - _202D_200C_202E_206A_200E_206D_200B_206A_206B_202C_206E_202B_206C_200D_202C_200C_200D_200E_202B_202A_206E_202A_206B_200E_206F_206B_206E_206A_202C_202B_200F_206B_206A_200D_200F_206E_206A_202E_206B_200C_202E(stringBuilder, '}'); - return _202B_206C_202A_206D_202C_206A_200B_200E_202D_202B_206A_200C_206F_206C_206B_206D_206E_206E_202E_206F_200D_206A_200D_200D_206D_202A_206C_206D_202A_206F_206D_200D_202B_206E_202E_202B_206A_200E_202E_202D_202E((object)stringBuilder); - case 2: - _202D_200C_202E_206A_200E_206D_200B_206A_206B_202C_206E_202B_206C_200D_202C_200C_200D_200E_202B_202A_206E_202A_206B_200E_206F_206B_206E_206A_202C_202B_200F_206B_206A_200D_200F_206E_206A_202E_206B_200C_202E(stringBuilder, ' '); - num = 2026509155; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected override bool PrintMembers(StringBuilder builder) - { - int num = ((!base.PrintMembers(builder)) ? 1289841688 : 1289841689); - while (true) - { - int num2 = num; - int num3 = 1289841688; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 1289841689; - break; - case 1: - _202E_200D_200F_200D_202E_202B_202B_200B_202E_202D_206C_202A_206D_200E_206F_206E_202B_202E_200B_200C_206F_206F_206E_206B_200E_202B_200B_200E_202E_206B_206E_200C_202E_200F_202D_202A_206B_202C_202E_200D_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-1735617534)); - num = 1289841688; - break; - case 0: - _202E_200D_200F_200D_202E_202B_202B_200B_202E_202D_206C_202A_206D_200E_206F_206E_202B_202E_200B_200C_206F_206F_206E_206B_200E_202B_200B_200E_202E_206B_206E_200C_202E_200F_202D_202A_206B_202C_202E_200D_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(825996996)); - _202E_200D_200F_200D_202E_202B_202B_200B_202E_202D_206C_202A_206D_200E_206F_206E_202B_202E_200B_200C_206F_206F_206E_206B_200E_202B_200B_200E_202E_206B_206E_200C_202E_200F_202D_202A_206B_202C_202E_200D_202E(builder, ItemId.ToString()); - _202E_200D_200F_200D_202E_202B_202B_200B_202E_202D_206C_202A_206D_200E_206F_206E_202B_202E_200B_200C_206F_206F_206E_206B_200E_202B_200B_200E_202E_206B_206E_200C_202E_200F_202D_202A_206B_202C_202E_200D_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(1553900028)); - _202E_200D_200F_200D_202E_202B_202B_200B_202E_202D_206C_202A_206D_200E_206F_206E_202B_202E_200B_200C_206F_206F_206E_206B_200E_202B_200B_200E_202E_206B_206E_200C_202E_200F_202D_202A_206B_202C_202E_200D_202E(builder, Territory.ToString()); - return true; - } - } - } - - [CompilerGenerated] - public bool Equals(UseTeleportTicket? other) - { - int num = (((object)this == other) ? (-307246510) : (-307246506)); - while (true) - { - int num2 = num; - int num3 = -307246509; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = ((!EqualityComparer.Default.Equals(ItemId, other.ItemId)) ? (-307246505) : (-307246512)); - break; - case 3: - return EqualityComparer.Default.Equals(Territory, other.Territory); - case 1: - return true; - case 4: - return false; - case 5: - num = ((!base.Equals(other)) ? (-307246505) : (-307246509)); - break; - case 2: - num = -307246506; - break; - } - } - } - - bool IEquatable.Equals(UseTeleportTicket? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202D_200D_206F_202A_202D_206A_206E_200D_200F_206D_200D_200E_202D_200B_206E_202C_200F_202C_206E_206E_206B_200F_200D_200D_206B_200C_202D_206E_202B_206C_206E_200C_206A_206B_206A_206A_202E_206C_202D_200C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202A_202B_200C_206D_200B_202D_206D_202A_200B_206F_202E_206A_206A_200F_200C_206B_200F_206D_206F_206C_206F_202E_206F_206F_202A_206D_206F_206D_202B_206B_202A_206A_202E_202E_200E_202D_200D_206B_202C_200D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202E_200D_200F_200D_202E_202B_202B_200B_202E_202D_206C_202A_206D_200E_206F_206E_202B_202E_200B_200C_206F_206F_206E_206B_200E_202B_200B_200E_202E_206B_206E_200C_202E_200F_202D_202A_206B_202C_202E_200D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202D_200C_202E_206A_200E_206D_200B_206A_206B_202C_206E_202B_206C_200D_202C_200C_200D_200E_202B_202A_206E_202A_206B_200E_206F_206B_206E_206A_202C_202B_200F_206B_206A_200D_200F_206E_206A_202E_206B_200C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202B_206C_202A_206D_202C_206A_200B_200E_202D_202B_206A_200C_206F_206C_206B_206D_206E_206E_202E_206F_200D_206A_200D_200D_206D_202A_206C_206D_202A_206F_206D_200D_202B_206E_202E_202B_206A_200E_202E_202D_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _200E_206F_206B_202D_200F_202E_202A_202B_206E_200F_206B_200F_206A_200C_200E_202E_200B_202D_206C_206E_202A_202B_202A_202B_206B_206B_200E_202B_200D_202A_206C_200F_206B_206F_206F_200F_206A_200C_200C_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } - } - - public sealed record SubRegionTransport(Vector3 From, Vector3 To, ushort Territory) : NavInstruction() - { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _206F_202D_200F_200C_200E_206B_206B_202E_206F_202D_206E_206B_202D_202A_202E_200B_206A_202B_200E_200F_200C_206F_200B_206B_206D_202D_202E_200C_200F_200D_202B_202B_206D_200F_206E_200C_206C_206E_206C_206A_202E(typeof(SubRegionTransport).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206F_200B_202A_206F_200D_202C_202E_202D_202A_200E_202B_206C_200B_202A_206B_206D_206F_202C_202C_200D_200C_206D_202C_200C_200E_200E_206F_206A_202C_206F_202B_200B_206D_202A_206C_202A_202E_202D_202B_206C_202E(); - _206E_206F_202D_202E_202E_202C_200F_206F_206F_200D_200E_206D_200C_202C_206B_202B_200C_206C_200C_206D_200B_202B_206B_202B_206E_206C_206E_200B_202C_200F_202D_206C_200E_202C_202B_206C_200F_200E_200F_200F_202E(stringBuilder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(1176937111)); - _206E_206F_202D_202E_202E_202C_200F_206F_206F_200D_200E_206D_200C_202C_206B_202B_200C_206C_200C_206D_200B_202B_206B_202B_206E_206C_206E_200B_202C_200F_202D_206C_200E_202C_202B_206C_200F_200E_200F_200F_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-979564187)); - int num = ((!PrintMembers(stringBuilder)) ? 281305733 : 281305732); - while (true) - { - int num2 = num; - int num3 = 281305733; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 281305732; - break; - case 0: - _202A_206F_200E_202B_200E_200E_206F_202E_202D_200F_206C_202B_202D_202D_206D_202E_202D_206A_202A_202A_200E_200B_202D_206D_206E_206A_200B_206B_202C_200B_200E_206D_202A_202B_206F_200B_202C_200E_200C_200C_202E(stringBuilder, '}'); - return _200E_206C_202E_200C_200D_206A_200C_206F_200D_206A_206A_206D_200C_200E_202C_200C_202E_206F_206C_206B_200E_202B_202D_202A_202C_206C_206B_206A_202E_206E_202B_202A_206B_206B_200C_202D_202B_200D_206A_200D_202E((object)stringBuilder); - case 1: - _202A_206F_200E_202B_200E_200E_206F_202E_202D_200F_206C_202B_202D_202D_206D_202E_202D_206A_202A_202A_200E_200B_202D_206D_206E_206A_200B_206B_202C_200B_200E_206D_202A_202B_206F_200B_202C_200E_200C_200C_202E(stringBuilder, ' '); - num = 281305733; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected override bool PrintMembers(StringBuilder builder) - { - int num = ((!base.PrintMembers(builder)) ? (-47435612) : (-47435609)); - while (true) - { - int num2 = num; - int num3 = -47435611; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 1: - _206E_206F_202D_202E_202E_202C_200F_206F_206F_200D_200E_206D_200C_202C_206B_202B_200C_206C_200C_206D_200B_202B_206B_202B_206E_206C_206E_200B_202C_200F_202D_206C_200E_202C_202B_206C_200F_200E_200F_200F_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(583039296)); - _206E_206F_202D_202E_202E_202C_200F_206F_206F_200D_200E_206D_200C_202C_206B_202B_200C_206C_200C_206D_200B_202B_206B_202B_206E_206C_206E_200B_202C_200F_202D_206C_200E_202C_202B_206C_200F_200E_200F_200F_202E(builder, From.ToString()); - _206E_206F_202D_202E_202E_202C_200F_206F_206F_200D_200E_206D_200C_202C_206B_202B_200C_206C_200C_206D_200B_202B_206B_202B_206E_206C_206E_200B_202C_200F_202D_206C_200E_202C_202B_206C_200F_200E_200F_200F_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-1504115831)); - _206E_206F_202D_202E_202E_202C_200F_206F_206F_200D_200E_206D_200C_202C_206B_202B_200C_206C_200C_206D_200B_202B_206B_202B_206E_206C_206E_200B_202C_200F_202D_206C_200E_202C_202B_206C_200F_200E_200F_200F_202E(builder, To.ToString()); - _206E_206F_202D_202E_202E_202C_200F_206F_206F_200D_200E_206D_200C_202C_206B_202B_200C_206C_200C_206D_200B_202B_206B_202B_206E_206C_206E_200B_202C_200F_202D_206C_200E_202C_202B_206C_200F_200E_200F_200F_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(424038719)); - _206E_206F_202D_202E_202E_202C_200F_206F_206F_200D_200E_206D_200C_202C_206B_202B_200C_206C_200C_206D_200B_202B_206B_202B_206E_206C_206E_200B_202C_200F_202D_206C_200E_202C_202B_206C_200F_200E_200F_200F_202E(builder, Territory.ToString()); - return true; - case 2: - _206E_206F_202D_202E_202E_202C_200F_206F_206F_200D_200E_206D_200C_202C_206B_202B_200C_206C_200C_206D_200B_202B_206B_202B_206E_206C_206E_200B_202C_200F_202D_206C_200E_202C_202B_206C_200F_200E_200F_200F_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-1735617534)); - num = -47435612; - break; - case 0: - num = -47435609; - break; - } - } - } - - [CompilerGenerated] - public bool Equals(SubRegionTransport? other) - { - int num = (((object)this == other) ? (-1244234066) : (-1244234072)); - while (true) - { - int num2 = num; - int num3 = -1244234067; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1244234072; - break; - case 4: - num = ((!EqualityComparer.Default.Equals(From, other.From)) ? (-1244234069) : (-1244234065)); - break; - case 2: - num = ((!EqualityComparer.Default.Equals(To, other.To)) ? (-1244234069) : (-1244234068)); - break; - case 5: - num = ((!base.Equals(other)) ? (-1244234069) : (-1244234071)); - break; - case 1: - return EqualityComparer.Default.Equals(Territory, other.Territory); - case 3: - return true; - case 6: - return false; - } - } - } - - bool IEquatable.Equals(SubRegionTransport? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206F_202D_200F_200C_200E_206B_206B_202E_206F_202D_206E_206B_202D_202A_202E_200B_206A_202B_200E_200F_200C_206F_200B_206B_206D_202D_202E_200C_200F_200D_202B_202B_206D_200F_206E_200C_206C_206E_206C_206A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206F_200B_202A_206F_200D_202C_202E_202D_202A_200E_202B_206C_200B_202A_206B_206D_206F_202C_202C_200D_200C_206D_202C_200C_200E_200E_206F_206A_202C_206F_202B_200B_206D_202A_206C_202A_202E_202D_202B_206C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206E_206F_202D_202E_202E_202C_200F_206F_206F_200D_200E_206D_200C_202C_206B_202B_200C_206C_200C_206D_200B_202B_206B_202B_206E_206C_206E_200B_202C_200F_202D_206C_200E_202C_202B_206C_200F_200E_200F_200F_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202A_206F_200E_202B_200E_200E_206F_202E_202D_200F_206C_202B_202D_202D_206D_202E_202D_206A_202A_202A_200E_200B_202D_206D_206E_206A_200B_206B_202C_200B_200E_206D_202A_202B_206F_200B_202C_200E_200C_200C_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200E_206C_202E_200C_200D_206A_200C_206F_200D_206A_206A_206D_200C_200E_202C_200C_202E_206F_206C_206B_200E_202B_202D_202A_202C_206C_206B_206A_202E_206E_202B_202A_206B_206B_200C_202D_202B_200D_206A_200D_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _206D_200E_206C_200C_202E_200D_202A_202B_200D_202A_200C_206A_202D_202A_202D_206E_202E_200C_206D_206C_200B_206B_200F_206C_200F_202A_202A_200F_206B_200E_206C_202B_206C_202D_206F_200E_202B_206A_202E_206B_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } - } - - [CompilerGenerated] - protected virtual Type EqualityContract - { - [CompilerGenerated] - get - { - return _206E_202C_200D_202D_200D_206A_202E_206E_206B_202A_202A_202B_200B_200C_202C_206C_200B_206E_206C_206F_206D_206A_200C_200D_202A_206E_200F_202A_202A_202E_206C_206D_206D_202C_206D_200D_202E_206B_206E_202D_202E(typeof(NavInstruction).TypeHandle); - } - } + public sealed record SubRegionTransport(Vector3 From, Vector3 To, ushort Territory) : NavInstruction(); private NavInstruction() { } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200B_206B_206F_202B_206B_202D_206D_206D_206E_206E_206F_202B_206A_206E_206B_200F_202D_200F_206B_200C_202A_200B_200D_206D_206D_206D_206B_200D_202C_200B_206A_202C_200E_200E_200F_206C_200D_206C_200E_206C_202E(); - _202E_200F_206F_202D_200C_206A_206C_200D_202C_202C_206B_202C_200C_206F_206C_206D_206B_202D_200E_202E_206A_202E_202C_200E_200F_200D_202C_206A_202E_206D_202D_206F_202A_206B_206D_202D_200E_206C_206D_206B_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(983817871)); - _202E_200F_206F_202D_200C_206A_206C_200D_202C_202C_206B_202C_200C_206F_206C_206D_206B_202D_200E_202E_206A_202E_202C_200E_200F_200D_202C_206A_202E_206D_202D_206F_202A_206B_206D_202D_200E_206C_206D_206B_202E(stringBuilder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(1120247710)); - int num = ((!PrintMembers(stringBuilder)) ? (-354215280) : (-354215279)); - while (true) - { - int num2 = num; - int num3 = -354215280; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - _202B_202A_200B_206C_200B_202E_202C_202C_202B_202C_206B_206E_202B_200B_206E_200C_200D_206F_200E_200F_200C_202C_206A_202B_200E_206D_200F_202B_200C_206C_206C_206D_200B_206B_200E_202B_200C_206E_206E_206E_202E(stringBuilder, '}'); - return _202D_206C_206B_206A_202C_206F_200C_206D_202E_202E_206A_202E_202D_206F_202E_202B_202A_206F_200D_202A_202C_202B_202B_202A_206B_206F_200F_206F_206D_200C_206D_206B_206E_206C_206C_202D_206D_200D_200E_200E_202E((object)stringBuilder); - case 1: - _202B_202A_200B_206C_200B_202E_202C_202C_202B_202C_206B_206E_202B_200B_206E_200C_200D_206F_200E_200F_200C_202C_206A_202B_200E_206D_200F_202B_200C_206C_206C_206D_200B_206B_200E_202B_200C_206E_206E_206E_202E(stringBuilder, ' '); - num = -354215280; - break; - case 2: - num = -354215279; - break; - } - } - } - - [CompilerGenerated] - public virtual bool Equals(NavInstruction? other) - { - int num = (((object)this == other) ? 1638669967 : 1638669964); - while (true) - { - int num2 = num; - int num3 = 1638669967; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 4: - num = 1638669964; - break; - case 1: - return _202C_206E_206C_202D_206C_200B_206B_202C_200B_200C_206B_200E_206E_202B_202C_200C_206E_206F_200B_200D_200C_202B_202A_202E_200B_206B_202E_200C_206A_206D_202E_206E_206E_202A_206E_200C_206E_206C_202B_206D_202E(EqualityContract, other.EqualityContract); - case 2: - return false; - case 0: - return true; - case 3: - num = (((object)other == null) ? 1638669965 : 1638669966); - break; - } - } - } - - bool IEquatable.Equals(NavInstruction? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206E_202C_200D_202D_200D_206A_202E_206E_206B_202A_202A_202B_200B_200C_202C_206C_200B_206E_206C_206F_206D_206A_200C_200D_202A_206E_200F_202A_202A_202E_206C_206D_206D_202C_206D_200D_202E_206B_206E_202D_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200B_206B_206F_202B_206B_202D_206D_206D_206E_206E_206F_202B_206A_206E_206B_200F_202D_200F_206B_200C_202A_200B_200D_206D_206D_206D_206B_200D_202C_200B_206A_202C_200E_200E_200F_206C_200D_206C_200E_206C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202E_200F_206F_202D_200C_206A_206C_200D_202C_202C_206B_202C_200C_206F_206C_206D_206B_202D_200E_202E_206A_202E_202C_200E_200F_200D_202C_206A_202E_206D_202D_206F_202A_206B_206D_202D_200E_206C_206D_206B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202B_202A_200B_206C_200B_202E_202C_202C_202B_202C_206B_206E_202B_200B_206E_200C_200D_206F_200E_200F_200C_202C_206A_202B_200E_206D_200F_202B_200C_206C_206C_206D_200B_206B_200E_202B_200C_206E_206E_206E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202D_206C_206B_206A_202C_206F_200C_206D_202E_202E_206A_202E_202D_206F_202E_202B_202A_206F_200D_202A_202C_202B_202B_202A_206B_206F_200F_206F_206D_200C_206D_206B_206E_206C_206C_202D_206D_200D_200E_200E_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _202C_206E_206C_202D_206C_200B_206B_202C_200B_200C_206B_200E_206E_202B_202C_200C_206E_206F_200B_200D_200C_202B_202A_202E_200B_206B_202E_200C_206A_206D_202E_206E_206E_202A_206E_200C_206E_206C_202B_206D_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } } diff --git a/SmartNav/SmartNav/NavRouter.cs b/SmartNav/SmartNav/NavRouter.cs index 3182fe5..246289a 100644 --- a/SmartNav/SmartNav/NavRouter.cs +++ b/SmartNav/SmartNav/NavRouter.cs @@ -1,9 +1,6 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; -using System.Text; using System.Threading; using Microsoft.Extensions.Logging; using SmartNav.Graph; @@ -25,129 +22,16 @@ public sealed class NavRouter public int CompareTo(RouteCost other) { int num = Time.CompareTo(other.Time); - int num2 = ((num == 0) ? (-471116150) : (-471116149)); - int num6 = default(int); - while (true) + if (num != 0) { - int num3 = num2; - int num4 = -471116152; - int num5 = num3; - switch ((num5 | num4) - (num5 & num4)) - { - case 0: - num2 = -471116149; - break; - case 1: - return Hops.CompareTo(other.Hops); - case 3: - return num; - case 4: - return num6; - case 2: - num6 = Gil.CompareTo(other.Gil); - num2 = ((num6 == 0) ? (-471116151) : (-471116148)); - break; - } + return num; } - } - - int IComparable.CompareTo(RouteCost other) - { - //ILSpy generated this explicit interface implementation from .override directive in CompareTo - return this.CompareTo(other); - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202B_206A_200B_202B_202E_200C_202A_206A_202D_202A_202E_206F_206D_200E_206F_200B_202A_200B_206E_202D_202E_206A_200B_206E_202B_206F_202A_202C_206C_206D_206C_200B_200F_202C_202E_206A_200E_206A_202B_206C_202E(); - _202E_206D_206C_202B_200B_202C_206C_202C_206A_202B_202B_206B_200F_202E_202D_206A_202C_202A_206F_206D_202E_202E_206A_200D_202C_202A_206F_202A_200F_202C_206F_202C_206D_202B_200E_200E_200C_206E_202A_200D_202E(stringBuilder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(1818956806)); - _202E_206D_206C_202B_200B_202C_206C_202C_206A_202B_202B_206B_200F_202E_202D_206A_202C_202A_206F_206D_202E_202E_206A_200D_202C_202A_206F_202A_200F_202C_206F_202C_206D_202B_200E_200E_200C_206E_202A_200D_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-169322018)); - int num = ((!PrintMembers(stringBuilder)) ? 1574210164 : 1574210167); - while (true) + int num2 = Gil.CompareTo(other.Gil); + if (num2 != 0) { - int num2 = num; - int num3 = 1574210166; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - _202E_206C_200F_206A_200C_202C_200B_200E_206F_202D_206C_202A_206B_206C_202B_202B_200F_206C_200C_206F_200C_200D_202E_202E_206F_202C_200D_202B_202E_206C_206C_206B_206C_202A_200D_206A_206C_202A_206A_206A_202E(stringBuilder, '}'); - return _202D_202E_206C_200F_202B_200B_206E_200C_202D_206F_202D_200D_202C_200E_202E_202B_206E_206A_200D_206D_206C_200D_200B_202B_206B_202D_202C_200D_202A_200F_206A_202A_200C_200D_200F_200C_202B_206A_202A_202B_202E((object)stringBuilder); - case 1: - _202E_206C_200F_206A_200C_202C_200B_200E_206F_202D_206C_202A_206B_206C_202B_202B_200F_206C_200C_206F_200C_200D_202E_202E_206F_202C_200D_202B_202E_206C_206C_206B_206C_202A_200D_206A_206C_202A_206A_206A_202E(stringBuilder, ' '); - num = 1574210164; - break; - case 0: - num = 1574210167; - break; - } + return num2; } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202E_206D_206C_202B_200B_202C_206C_202C_206A_202B_202B_206B_200F_202E_202D_206A_202C_202A_206F_206D_202E_202E_206A_200D_202C_202A_206F_202A_200F_202C_206F_202C_206D_202B_200E_200E_200C_206E_202A_200D_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(193985830)); - _202E_206D_206C_202B_200B_202C_206C_202C_206A_202B_202B_206B_200F_202E_202D_206A_202C_202A_206F_206D_202E_202E_206A_200D_202C_202A_206F_202A_200F_202C_206F_202C_206D_202B_200E_200E_200C_206E_202A_200D_202E(builder, Time.ToString()); - _202E_206D_206C_202B_200B_202C_206C_202C_206A_202B_202B_206B_200F_202E_202D_206A_202C_202A_206F_206D_202E_202E_206A_200D_202C_202A_206F_202A_200F_202C_206F_202C_206D_202B_200E_200E_200C_206E_202A_200D_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-143137433)); - _202E_206D_206C_202B_200B_202C_206C_202C_206A_202B_202B_206B_200F_202E_202D_206A_202C_202A_206F_206D_202E_202E_206A_200D_202C_202A_206F_202A_200F_202C_206F_202C_206D_202B_200E_200E_200C_206E_202A_200D_202E(builder, Gil.ToString()); - _202E_206D_206C_202B_200B_202C_206C_202C_206A_202B_202B_206B_200F_202E_202D_206A_202C_202A_206F_206D_202E_202E_206A_200D_202C_202A_206F_202A_200F_202C_206F_202C_206D_202B_200E_200E_200C_206E_202A_200D_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-304888681)); - _202E_206D_206C_202B_200B_202C_206C_202C_206A_202B_202B_206B_200F_202E_202D_206A_202C_202A_206F_206D_202E_202E_206A_200D_202C_202A_206F_202A_200F_202C_206F_202C_206D_202B_200E_200E_200C_206E_202A_200D_202E(builder, Hops.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(RouteCost other) - { - int num = ((!EqualityComparer.Default.Equals(Time, other.Time)) ? (-631091536) : (-631091534)); - while (true) - { - int num2 = num; - int num3 = -631091536; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - num = -631091534; - break; - case 1: - return EqualityComparer.Default.Equals(Hops, other.Hops); - case 2: - num = ((!EqualityComparer.Default.Equals(Gil, other.Gil)) ? (-631091536) : (-631091535)); - break; - case 0: - return false; - } - } - } - - bool IEquatable.Equals(RouteCost other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static StringBuilder _202B_206A_200B_202B_202E_200C_202A_206A_202D_202A_202E_206F_206D_200E_206F_200B_202A_200B_206E_202D_202E_206A_200B_206E_202B_206F_202A_202C_206C_206D_206C_200B_200F_202C_202E_206A_200E_206A_202B_206C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202E_206D_206C_202B_200B_202C_206C_202C_206A_202B_202B_206B_200F_202E_202D_206A_202C_202A_206F_206D_202E_202E_206A_200D_202C_202A_206F_202A_200F_202C_206F_202C_206D_202B_200E_200E_200C_206E_202A_200D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202E_206C_200F_206A_200C_202C_200B_200E_206F_202D_206C_202A_206B_206C_202B_202B_200F_206C_200C_206F_200C_200D_202E_202E_206F_202C_200D_202B_202E_206C_206C_206B_206C_202A_200D_206A_206C_202A_206A_206A_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202D_202E_206C_200F_202B_200B_206E_200C_202D_206F_202D_200D_202C_200E_202E_202B_206E_206A_200D_206D_206C_200D_200B_202B_206B_202D_202C_200D_202A_200F_206A_202A_200C_200D_200F_200C_202B_206A_202A_202B_202E(object P_0) - { - return P_0.ToString(); + return Hops.CompareTo(other.Hops); } } @@ -179,44 +63,21 @@ public sealed class NavRouter _staticGraph = new Lazy(_graphBuilder.Build, LazyThreadSafetyMode.ExecutionAndPublication); } - [MethodImpl(MethodImplOptions.NoInlining)] public RouteResult FindRoute(PlayerNavState playerState, uint destinationTerritoryId, Vector3 destinationPosition, IReadOnlySet? penalizedTargets = null) { - (NavGraph EffectiveGraph, string OriginId, string DestinationId) tuple = _graphView.CreateQueryGraph(StaticGraph, playerState, destinationTerritoryId, destinationPosition); - NavGraph item = tuple.EffectiveGraph; - string item2 = tuple.OriginId; - string item3 = tuple.DestinationId; - int num = ((item.GetNode(item2) == null) ? (-322814782) : (-322814778)); - List<(string, NavEdge)> list = default(List<(string, NavEdge)>); - while (true) + var (navGraph, text, text2) = _graphView.CreateQueryGraph(StaticGraph, playerState, destinationTerritoryId, destinationPosition); + if (navGraph.GetNode(text) == null || navGraph.GetNode(text2) == null) { - int num2 = num; - int num3 = -322814777; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - _202C_200E_200B_200F_200E_202A_200F_206E_206E_206E_200E_202B_202A_200B_202E_200E_206A_206E_200D_200B_200C_202C_202C_202A_202E_200D_200F_200F_206C_200B_206A_202B_200B_206A_200E_200E_206A_202A_202A_206E_202E((ILogger)_logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(599235747), new object[2] { item2, destinationTerritoryId }); - return RouteResult.Empty; - case 3: - list = Dijkstra(item, item2, item3, penalizedTargets); - num = ((list != null) ? (-322814781) : (-322814777)); - break; - case 5: - _202C_200E_200B_200F_200E_202A_200F_206E_206E_206E_200E_202B_202A_200B_202E_200E_206A_206E_200D_200B_200C_202C_202C_202A_202E_200D_200F_200F_206C_200B_206A_202B_200B_206A_200E_200E_206A_202A_202A_206E_202E((ILogger)_logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(310385065), Array.Empty()); - return RouteResult.Empty; - case 1: - num = ((!(item.GetNode(item3) == null)) ? (-322814780) : (-322814782)); - break; - case 4: - return BuildRouteResult(item, list, playerState); - case 2: - num = -322814778; - break; - } + _logger.LogWarning("Origin or destination node missing from query graph"); + return RouteResult.Empty; } + List<(string, NavEdge)> list = Dijkstra(navGraph, text, text2, penalizedTargets); + if (list == null) + { + _logger.LogWarning("No route found from {Origin} to territory {Territory}", text, destinationTerritoryId); + return RouteResult.Empty; + } + return BuildRouteResult(navGraph, list, playerState); } internal static List<(string NodeId, NavEdge? ViaEdge)>? Dijkstra(NavGraph graph, string startId, string endId, IReadOnlySet? penalizedTargets) @@ -227,458 +88,112 @@ public sealed class NavRouter PriorityQueue priorityQueue = new PriorityQueue(); dictionary[startId] = default(RouteCost); priorityQueue.Enqueue(startId, default(RouteCost)); - IEnumerator enumerator = graph.Nodes.Keys.GetEnumerator(); - try + foreach (string key in graph.Nodes.Keys) { - int num = 1145583331; - string current = default(string); - while (true) + if (key != startId) + { + dictionary[key] = RouteCost.Max; + } + dictionary2[key] = null; + } + while (priorityQueue.Count > 0) + { + string text = priorityQueue.Dequeue(); + if (text == endId) + { + break; + } + if (!hashSet.Add(text)) { - int num2 = num; - int num3 = 1145583330; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 5: - dictionary2[current] = null; - num = 1145583331; - break; - case 3: - dictionary[current] = RouteCost.Max; - num = 1145583335; - break; - case 4: - current = enumerator.Current; - num = ((!_206C_206C_206F_202B_206E_202D_206B_200C_202E_202A_202B_206E_200D_206A_200D_202C_202A_206E_206A_206F_200C_200B_206F_202A_202C_206F_206D_202D_206D_200C_206E_206C_206F_200E_202A_202B_206C_206D_202D_206A_202E(current, startId)) ? 1145583335 : 1145583329); - break; - case 0: - num = 1145583331; - break; - case 1: - num = (_202E_202B_206E_206A_202D_206A_206D_202D_206B_206E_200E_202C_206E_202D_206B_202C_206D_202A_200B_206F_206E_200D_206E_200D_202C_200C_202D_206B_206E_200D_206B_200E_206C_200F_202B_200B_202B_200B_200D_206B_202E((IEnumerator)enumerator) ? 1145583334 : 1145583328); - break; - case 2: - goto end_IL_0058; - } continue; - end_IL_0058: - break; } - } - finally - { - int num = ((enumerator == null) ? (-807240815) : (-807240814)); - while (true) + foreach (NavEdge edge in graph.GetEdges(text)) { - int num7 = num; - int num3 = -807240816; - int num4 = num7; - int num8 = num4 + num3; - int num9 = num4 & num3; - switch (num8 - (num9 + num9)) + if (!hashSet.Contains(edge.ToNodeId) && !(graph.GetNode(edge.ToNodeId) == null)) { - case 0: - num = -807240814; - break; - case 1: - goto end_IL_014b; - case 2: - _206C_206D_206D_200F_206D_202B_202A_206A_200D_206D_206E_202B_206C_202C_202C_200C_206F_200F_202B_200B_200E_206A_202B_206F_206A_202D_200F_200F_206A_202E_200E_202B_200C_206F_200B_206E_200C_202E_206A_206F_202E((IDisposable)enumerator); - num = -807240815; - break; - } - continue; - end_IL_014b: - break; - } - } - NavEdge current2 = default(NavEdge); - RouteCost routeCost = default(RouteCost); - List<(string, NavEdge)> list = default(List<(string, NavEdge)>); - (string, NavEdge)? tuple = default((string, NavEdge)?); - string text2 = default(string); - (string, NavEdge)? value = default((string, NavEdge)?); - while (true) - { - int num; - if (priorityQueue.Count > 0) - { - string text = priorityQueue.Dequeue(); - if (!_202C_200F_206E_202A_200E_206D_206B_202E_200D_200B_202A_202A_206A_200F_202A_206F_202C_206C_200E_206D_202E_202A_200B_202C_202D_206A_206E_202E_200F_206B_202B_200E_206A_206D_202C_202B_200C_202E_206E_202E(text, endId)) - { - num = -1852685480; - while (true) + float penalty = ((penalizedTargets != null && penalizedTargets.Contains(edge.ToNodeId)) ? 1000000f : 0f); + RouteCost routeCost = dictionary[text].Add(edge, penalty); + if (routeCost.CompareTo(dictionary[edge.ToNodeId]) < 0) { - int num10 = num; - int num3 = -1852685479; - int num4 = num10; - int num11 = num4 + num3; - int num12 = num4 & num3; - switch (num11 - (num12 + num12)) - { - default: - continue; - case 0: - num = -1852685480; - continue; - case 1: - if (hashSet.Add(text)) - { - num = -1852685477; - continue; - } - break; - case 2: - { - IEnumerator enumerator2 = graph.GetEdges(text).GetEnumerator(); - try - { - num = -890864952; - while (true) - { - int num13 = num; - num3 = -890864947; - num4 = num13; - float num14; - switch ((num4 | num3) - (num4 & num3)) - { - default: - continue; - case 9: - num = -890864952; - continue; - case 2: - num14 = 0f; - break; - case 1: - num = (penalizedTargets.Contains(current2.ToNodeId) ? (-890864946) : (-890864945)); - continue; - case 8: - current2 = enumerator2.Current; - num = (hashSet.Contains(current2.ToNodeId) ? (-890864952) : (-890864950)); - continue; - case 4: - dictionary[current2.ToNodeId] = routeCost; - dictionary2[current2.ToNodeId] = (text, current2); - priorityQueue.Enqueue(current2.ToNodeId, routeCost); - num = -890864952; - continue; - case 7: - num = ((graph.GetNode(current2.ToNodeId) == null) ? (-890864952) : (-890864947)); - continue; - case 0: - num = ((penalizedTargets == null) ? (-890864945) : (-890864948)); - continue; - case 5: - num = (_202E_202B_206E_206A_202D_206A_206D_202D_206B_206E_200E_202C_206E_202D_206B_202C_206D_202A_200B_206F_206E_200D_206E_200D_202C_200C_202D_206B_206E_200D_206B_200E_206C_200F_202B_200B_202B_200B_200D_206B_202E((IEnumerator)enumerator2) ? (-890864955) : (-890864949)); - continue; - case 3: - num14 = 1000000f; - break; - case 6: - goto end_IL_0228; - } - float penalty = num14; - routeCost = dictionary[text].Add(current2, penalty); - num = ((routeCost.CompareTo(dictionary[current2.ToNodeId]) >= 0) ? (-890864952) : (-890864951)); - continue; - end_IL_0228: - break; - } - } - finally - { - num = ((enumerator2 == null) ? (-1559785427) : (-1559785428)); - while (true) - { - int num15 = num; - num3 = -1559785427; - num4 = num15; - int num16 = num4 + num3; - int num17 = num4 & num3; - switch (num16 - (num17 + num17)) - { - case 0: - goto end_IL_041a; - case 1: - _206C_206D_206D_200F_206D_202B_202A_206A_200D_206D_206E_202B_206C_202C_202C_200C_206F_200F_202B_200B_200E_206A_202B_206F_206A_202D_200F_200F_206A_202E_200E_202B_200C_206F_200B_206E_200C_202E_206A_206F_202E((IDisposable)enumerator2); - num = -1559785427; - break; - case 2: - num = -1559785428; - break; - } - continue; - end_IL_041a: - break; - } - } - break; - } - } - break; + dictionary[edge.ToNodeId] = routeCost; + dictionary2[edge.ToNodeId] = (text, edge); + priorityQueue.Enqueue(edge.ToNodeId, routeCost); } - continue; } - goto IL_055e; } - num = 1361377681; - goto IL_0480; - IL_055e: - num = ((!(dictionary[endId] == RouteCost.Max)) ? 1361377683 : 1361377691); - goto IL_0480; - IL_0480: - while (true) - { - int num18 = num; - int num3 = 1361377682; - int num4 = num18; - int num19 = num4 + num3; - int num20 = num4 & num3; - object obj2; - (string, NavEdge)? obj; - switch (num19 - (num20 + num20)) - { - default: - continue; - case 10: - list.Reverse(); - return list; - case 6: - obj2 = tuple.GetValueOrDefault().Item1; - goto IL_04e4; - case 1: - list = new List<(string, NavEdge)>(); - text2 = endId; - num = 1361377690; - continue; - case 4: - obj = value; - goto IL_050a; - case 9: - return null; - case 3: - break; - case 5: - num = (dictionary2.TryGetValue(text2, out value) ? 1361377686 : 1361377680); - continue; - case 8: - num = ((text2 != null) ? 1361377687 : 1361377688); - continue; - case 7: - obj2 = null; - goto IL_04e4; - case 2: - obj = null; - goto IL_050a; - case 0: - { - num = 1361377681; - continue; - } - IL_04e4: - text2 = (string)obj2; - num = 1361377690; - continue; - IL_050a: - tuple = obj; - list.Add((text2, tuple?.Item2)); - num = (tuple.HasValue ? 1361377684 : 1361377685); - continue; - } - break; - } - goto IL_055e; } + if (dictionary[endId] == RouteCost.Max) + { + return null; + } + List<(string, NavEdge)> list = new List<(string, NavEdge)>(); + string text2 = endId; + while (text2 != null) + { + (string, NavEdge)? value; + (string, NavEdge)? tuple = (dictionary2.TryGetValue(text2, out value) ? value : (((string, NavEdge)?)null)); + list.Add((text2, tuple?.Item2)); + text2 = tuple?.Item1; + } + list.Reverse(); + return list; } - [MethodImpl(MethodImplOptions.NoInlining)] private RouteResult BuildRouteResult(NavGraph graph, List<(string NodeId, NavEdge? ViaEdge)> path, PlayerNavState playerState) { List list = new List(); float num = 0f; int num2 = 0; - int num3 = 1; - int num4 = -1379840966; - NavNode node = default(NavNode); - NavEdge item2 = default(NavEdge); - NavNode node2 = default(NavNode); - NavEdgeType edgeType = default(NavEdgeType); - bool flag2 = default(bool); - int num11 = default(int); - while (true) + for (int i = 1; i < path.Count; i++) { - int num5 = num4; - int num6 = -1379840964; - int num7 = num5; - int num8 = num7 + num6; - int num9 = num7 & num6; - switch (num8 - (num9 + num9)) + NavEdge item = path[i].ViaEdge; + if (!(item == null)) { - case 13: - node = graph.GetNode(item2.FromNodeId); - node2 = graph.GetNode(item2.ToNodeId); - edgeType = item2.EdgeType; - num4 = ((edgeType == NavEdgeType.WithinZone) ? (-1379840963) : (-1379840964)); - break; - case 8: - { - bool flag = flag2; - RouteSegment item = new RouteSegment(item2.EdgeType, node, node2, item2.TimeCostSeconds, item2.GilCost, GetTeleportTarget(node2), GetAethernetLocation(node), GetAethernetLocation(node2), flag && IsFlyingSegment(node, playerState)); - list.Add(item); - num += item2.TimeCostSeconds; - num2 += item2.GilCost; - num4 = -1379840962; - break; - } - case 11: - num4 = -1379840966; - break; - case 3: - return new RouteResult(list, num, num2); - case 4: - flag2 = false; - num4 = -1379840972; - break; - case 9: - num11 = 0; - num4 = -1379840976; - break; - case 7: - { - RouteSegment routeSegment = list[num11]; - string text = FormatNodeLabel(routeSegment.From); - string text2 = FormatNodeLabel(routeSegment.To); - ILogger logger = _logger; - string text3 = global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-1568494376); - object[] array = new object[6]; - int num12 = num11; - num6 = 1; - num7 = num12; - array[0] = (num7 | num6) + (num7 & num6); - array[1] = routeSegment.EdgeType; - array[2] = text; - array[3] = text2; - array[4] = routeSegment.TimeCost; - array[5] = routeSegment.GilCost; - _206E_200F_202A_200D_206F_206C_200E_200F_206A_202B_202D_202A_202A_206D_200D_202D_200B_200F_202B_206A_206E_202A_202E_206F_202E_202A_200D_206A_202D_200F_206D_206E_200D_202E_202B_206C_206D_202D_202A_202E((ILogger)logger, text3, array); - int num13 = num11; - num6 = 1; - num7 = num13; - int num14 = num7 ^ num6; - int num15 = num7 & num6; - num11 = num14 + (num15 + num15); - num4 = -1379840976; - break; - } - case 0: - num4 = (((uint)(edgeType - 3) > 1u) ? (-1379840968) : (-1379840963)); - break; - case 12: - num4 = ((num11 < list.Count) ? (-1379840965) : (-1379840961)); - break; - case 5: - _206E_200F_202A_200D_206F_206C_200E_200F_206A_202B_202D_202A_202A_206D_200D_202D_200B_200F_202B_206A_206E_202A_202E_206F_202E_202A_200D_206A_202D_200F_206D_206E_200D_202E_202B_206C_206D_202D_202A_202E((ILogger)_logger, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-876283160), new object[3] { list.Count, num, num2 }); - num4 = ((!_206E_202B_202B_206F_200C_200D_206E_202D_202C_206E_206B_200D_206F_202C_200D_206A_200F_206D_202D_200B_200E_206F_202C_200B_200B_206D_200D_202A_206D_206E_206A_202C_202A_200F_200D_202D_200C_206A_202B_200E_202E((ILogger)_logger, LogLevel.Debug)) ? (-1379840961) : (-1379840971)); - break; - case 10: - item2 = path[num3].ViaEdge; - num4 = ((item2 == null) ? (-1379840962) : (-1379840975)); - break; - case 2: - { - int num10 = num3; - num6 = 1; - num7 = num10; - num3 = (num7 | num6) + (num7 & num6); - num4 = -1379840966; - break; - } - case 1: - flag2 = true; - num4 = -1379840972; - break; - case 6: - num4 = ((num3 < path.Count) ? (-1379840970) : (-1379840967)); - break; + NavNode node = graph.GetNode(item.FromNodeId); + NavNode node2 = graph.GetNode(item.ToNodeId); + NavEdgeType edgeType = item.EdgeType; + bool flag = ((edgeType == NavEdgeType.WithinZone || (uint)(edgeType - 3) <= 1u) ? true : false); + bool flag2 = flag; + RouteSegment item2 = new RouteSegment(item.EdgeType, node, node2, item.TimeCostSeconds, item.GilCost, GetTeleportTarget(node2), GetAethernetLocation(node), GetAethernetLocation(node2), flag2 && IsFlyingSegment(node, playerState)); + list.Add(item2); + num += item.TimeCostSeconds; + num2 += item.GilCost; } } + _logger.LogDebug("Route found: {SegmentCount} segments, {Time:F1}s, {Gil} gil", list.Count, num, num2); + if (_logger.IsEnabled(LogLevel.Debug)) + { + for (int j = 0; j < list.Count; j++) + { + RouteSegment routeSegment = list[j]; + string text = FormatNodeLabel(routeSegment.From); + string text2 = FormatNodeLabel(routeSegment.To); + _logger.LogDebug(" [{Index}] {Type}: {From} -> {To} ({Time:F1}s, {Gil} gil)", j + 1, routeSegment.EdgeType, text, text2, routeSegment.TimeCost, routeSegment.GilCost); + } + } + return new RouteResult(list, num, num2); } private static EAetheryteLocation? GetTeleportTarget(NavNode node) { - NavNode.AetheryteNode aetheryteNode = node as NavNode.AetheryteNode; - int num = (((object)aetheryteNode == null) ? 580580720 : 580580722); - EAetheryteLocation? result = default(EAetheryteLocation?); - while (true) + if (node is NavNode.AetheryteNode aetheryteNode) { - int num2 = num; - int num3 = 580580721; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = 580580722; - break; - case 1: - result = null; - num = 580580723; - break; - case 3: - result = aetheryteNode.Aetheryte; - num = 580580723; - break; - case 2: - return result; - } + return aetheryteNode.Aetheryte; } + return null; } private static EAetheryteLocation? GetAethernetLocation(NavNode node) { - NavNode.AetheryteNode aetheryteNode = node as NavNode.AetheryteNode; - int num = (((object)aetheryteNode != null) ? (-1554241774) : (-1554241770)); - EAetheryteLocation? result = default(EAetheryteLocation?); - NavNode.AethernetNode aethernetNode = default(NavNode.AethernetNode); - while (true) + if (!(node is NavNode.AetheryteNode aetheryteNode)) { - int num2 = num; - int num3 = -1554241772; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + if (node is NavNode.AethernetNode aethernetNode) { - case 6: - result = aetheryteNode.Aetheryte; - num = -1554241776; - break; - case 4: - return result; - case 2: - aethernetNode = node as NavNode.AethernetNode; - num = (((object)aethernetNode != null) ? (-1554241769) : (-1554241771)); - break; - case 5: - result = null; - num = -1554241776; - break; - case 0: - num = -1554241770; - break; - case 3: - result = aethernetNode.Aethernet; - num = -1554241776; - break; - case 1: - num = -1554241775; - break; + return aethernetNode.Aethernet; } + return null; } + return aetheryteNode.Aetheryte; } private static bool IsFlyingSegment(NavNode from, PlayerNavState playerState) @@ -686,58 +201,9 @@ public sealed class NavRouter return playerState.IsFlyingUnlocked(from.TerritoryId); } - [MethodImpl(MethodImplOptions.NoInlining)] private string FormatNodeLabel(NavNode node) { - string text = _territoryInfo.GetName(node.TerritoryId); - if (text == null) - { - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(1, 1); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-907107096)); - defaultInterpolatedStringHandler.AppendFormatted(node.TerritoryId); - text = defaultInterpolatedStringHandler.ToStringAndClear(); - } - string text2 = text; - return _206C_206A_200F_202B_202D_206B_206D_206A_206E_206E_200E_200B_206D_206B_206A_206E_202B_206F_200E_202A_200F_202C_200E_202E_202D_200D_200B_200D_200C_206A_200F_206A_206F_200F_200C_206D_200D_200B_202D_202A_202E(node.Label, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-546241467), text2, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(998949340)); - } - - static void _202C_200E_200B_200F_200E_202A_200F_206E_206E_206E_200E_202B_202A_200B_202E_200E_206A_206E_200D_200B_200C_202C_202C_202A_202E_200D_200F_200F_206C_200B_206A_202B_200B_206A_200E_200E_206A_202A_202A_206E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static bool _206C_206C_206F_202B_206E_202D_206B_200C_202E_202A_202B_206E_200D_206A_200D_202C_202A_206E_206A_206F_200C_200B_206F_202A_202C_206F_206D_202D_206D_200C_206E_206C_206F_200E_202A_202B_206C_206D_202D_206A_202E(string P_0, string P_1) - { - return P_0 != P_1; - } - - static bool _202E_202B_206E_206A_202D_206A_206D_202D_206B_206E_200E_202C_206E_202D_206B_202C_206D_202A_200B_206F_206E_200D_206E_200D_202C_200C_202D_206B_206E_200D_206B_200E_206C_200F_202B_200B_202B_200B_200D_206B_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _206C_206D_206D_200F_206D_202B_202A_206A_200D_206D_206E_202B_206C_202C_202C_200C_206F_200F_202B_200B_200E_206A_202B_206F_206A_202D_200F_200F_206A_202E_200E_202B_200C_206F_200B_206E_200C_202E_206A_206F_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static bool _202C_200F_206E_202A_200E_206D_206B_202E_200D_200B_202A_202A_206A_200F_202A_206F_202C_206C_200E_206D_202E_202A_200B_202C_202D_206A_206E_202E_200F_206B_202B_200E_206A_206D_202C_202B_200C_202E_206E_202E(string P_0, string P_1) - { - return P_0 == P_1; - } - - static void _206E_200F_202A_200D_206F_206C_200E_200F_206A_202B_202D_202A_202A_206D_200D_202D_200B_200F_202B_206A_206E_202A_202E_206F_202E_202A_200D_206A_202D_200F_206D_206E_200D_202E_202B_206C_206D_202D_202A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _206E_202B_202B_206F_200C_200D_206E_202D_202C_206E_206B_200D_206F_202C_200D_206A_200F_206D_202D_200B_200E_206F_202C_200B_200B_206D_200D_202A_206D_206E_206A_202C_202A_200F_200D_202D_200C_206A_202B_200E_202E(ILogger P_0, LogLevel P_1) - { - return P_0.IsEnabled(P_1); - } - - static string _206C_206A_200F_202B_202D_206B_206D_206A_206E_206E_200E_200B_206D_206B_206A_206E_202B_206F_200E_202A_200F_202C_200E_202E_202D_200D_200B_200D_200C_206A_200F_206A_206F_200F_200C_206D_200D_200B_202D_202A_202E(string P_0, string P_1, string P_2, string P_3) - { - return P_0 + P_1 + P_2 + P_3; + string text = _territoryInfo.GetName(node.TerritoryId) ?? $"t{node.TerritoryId}"; + return node.Label + " (" + text + ")"; } } diff --git a/SmartNav/SmartNav/PlayerNavState.cs b/SmartNav/SmartNav/PlayerNavState.cs index c4269e9..96462f1 100644 --- a/SmartNav/SmartNav/PlayerNavState.cs +++ b/SmartNav/SmartNav/PlayerNavState.cs @@ -49,51 +49,20 @@ public sealed class PlayerNavState public bool CanAffordTeleport(int gilCost) { - int num = ((gilCost == 0) ? (-1679548290) : (-1679548289)); - while (true) + if (gilCost != 0) { - int num2 = num; - int num3 = -1679548290; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - goto IL_0041; - case 0: - return true; - case 1: - return Gil - gilCost >= GilReserve; - } - continue; - IL_0041: - num = -1679548289; + return Gil - gilCost >= GilReserve; } + return true; } public int GetTeleportCost(EAetheryteLocation aetheryte) { - int value; - int num = (TeleportCosts.TryGetValue(aetheryte, out value) ? 1986787901 : 1986787902); - while (true) + if (!TeleportCosts.TryGetValue(aetheryte, out var value)) { - int num2 = num; - int num3 = 1986787900; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0050; - case 2: - return 999; - case 1: - return value; - } - continue; - IL_0050: - num = 1986787902; + return 999; } + return value; } public bool IsAetheryteUnlocked(EAetheryteLocation aetheryte) @@ -108,28 +77,11 @@ public sealed class PlayerNavState public int GetMountSpeedLevel(uint territoryId) { - int value; - int num = (MountSpeedLevels.TryGetValue(territoryId, out value) ? (-743814756) : (-743814753)); - while (true) + if (!MountSpeedLevels.TryGetValue(territoryId, out var value)) { - int num2 = num; - int num3 = -743814754; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0050; - case 1: - return 0; - case 2: - return value; - } - continue; - IL_0050: - num = -743814753; + return 0; } + return value; } public bool IsQuestComplete(uint questRowId) diff --git a/SmartNav/SmartNav/PlayerNavStateBuilder.cs b/SmartNav/SmartNav/PlayerNavStateBuilder.cs index 4fce80d..683bc26 100644 --- a/SmartNav/SmartNav/PlayerNavStateBuilder.cs +++ b/SmartNav/SmartNav/PlayerNavStateBuilder.cs @@ -1,7 +1,4 @@ -using System; -using System.Collections; using System.Collections.Generic; -using System.Numerics; using Dalamud.Game.ClientState.Aetherytes; using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; @@ -19,608 +16,146 @@ public class PlayerNavStateBuilder(IClientState clientState, IObjectTable object { public virtual PlayerNavState? Build(int? gilReserveOverride = null) { - IGameObject gameObject = _206E_202E_200C_206A_202C_202C_206E_202E_206C_202A_206D_202D_206B_206B_202B_206D_206C_206C_206D_206A_206E_200F_206A_206C_200D_206B_200E_206A_206E_206B_206D_202B_202A_206F_202A_202B_202D_202C_206E_202A_202E(objectTable, 0); - int num = ((gameObject != null) ? 1190878108 : 1190878111); - EAetheryteLocation current2 = default(EAetheryteLocation); - EAetheryteLocation current3 = default(EAetheryteLocation); - while (true) + IGameObject gameObject = objectTable[0]; + if (gameObject == null) { - int num2 = num; - int num3 = 1190878109; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - goto IL_0057; - case 2: - return null; - case 1: - { - HashSet hashSet = new HashSet(); - Dictionary dictionary = new Dictionary(); - EAetheryteLocation homeAetheryte = (EAetheryteLocation)_200D_200E_202C_202E_206F_200E_202C_206F_200F_200C_206C_200D_200F_200E_202B_200C_202B_200F_200C_200F_206D_206F_202B_206B_202D_200E_200D_206E_206F_202E_206D_202C_202B_200C_200B_206D_206D_202A_206E_206B_202E(); - EAetheryteLocation? freeAetheryte = null; - byte maxExpansion = _202A_200E_200B_200F_206A_202C_202A_206D_202C_206A_202C_206F_202C_202B_206E_206A_202A_200E_200D_206C_202B_200D_206E_200D_206D_200F_206A_202D_202C_206F_200D_200C_206B_206B_206A_206E_200E_200E_206A_202B_202E(); - IEnumerator enumerator = aetheryteList.GetEnumerator(); - try - { - num = -2145786572; - while (true) - { - int num5 = num; - num3 = -2145786572; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 0: - num = (_200F_200B_206B_200F_200E_202B_200F_202B_206B_202D_202A_206E_200F_200E_202E_206C_206D_202E_206F_202E_206B_202D_202D_202B_202D_202C_202C_206E_202C_200D_202A_200E_206D_200B_202E_200F_206E_206E_200D_206C_202E((IEnumerator)enumerator) ? (-2145786571) : (-2145786570)); - break; - case 1: - { - IAetheryteEntry current = enumerator.Current; - EAetheryteLocation eAetheryteLocation = (EAetheryteLocation)_200C_200D_202E_202B_206B_202A_206C_202E_206D_202D_206A_206A_202A_206F_202D_200F_202A_206B_206A_206F_200B_202C_206E_206B_200D_200D_200E_206B_202C_206D_206A_200F_202B_202A_200D_202B_206C_206D_200F_200D_202E(current); - hashSet.Add(eAetheryteLocation); - dictionary[eAetheryteLocation] = (int)_202B_206D_202D_200B_200B_200C_206B_200E_200B_202A_200D_206E_202D_200B_206F_206B_200D_202E_200E_206E_202E_200D_206F_206D_206A_200F_206E_200C_202D_202D_206C_206D_202E_200B_200D_206F_202D_200B_206E_200D_202E(current); - num = -2145786572; - break; - } - case 3: - num = -2145786572; - break; - case 2: - goto end_IL_009f; - } - continue; - end_IL_009f: - break; - } - } - finally - { - num = ((enumerator == null) ? 1827327183 : 1827327180); - while (true) - { - int num8 = num; - num3 = 1827327181; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 0: - num = 1827327180; - break; - case 1: - _202B_200E_206C_200E_200E_206E_202B_200C_202B_200B_206D_202E_200C_200F_206C_202D_200D_202A_200E_206B_202B_206B_202A_200C_206D_200D_206E_202C_202B_206E_206A_200B_206D_200E_202A_202D_200B_206F_200C_202E((IDisposable)enumerator); - num = 1827327183; - break; - case 2: - goto end_IL_015b; - } - continue; - end_IL_015b: - break; - } - } - IEnumerator enumerator2 = aetheryteData.Locations.Keys.GetEnumerator(); - try - { - num = 463235074; - while (true) - { - int num11 = num; - num3 = 463235072; - num4 = num11; - int num12 = num4 + num3; - int num13 = num4 & num3; - switch (num12 - (num13 + num13)) - { - case 2: - num = (_200F_200B_206B_200F_200E_202B_200F_202B_206B_202D_202A_206E_200F_200E_202E_206C_206D_202E_206F_202E_206B_202D_202D_202B_202D_202C_202C_206E_202C_200D_202A_200E_206D_200B_202E_200F_206E_206E_200D_206C_202E((IEnumerator)enumerator2) ? 463235076 : 463235073); - break; - case 4: - current2 = enumerator2.Current; - num = ((!playerContext.IsAetheryteUnlocked(current2)) ? 463235074 : 463235072); - break; - case 0: - hashSet.Add(current2); - num = 463235074; - break; - case 3: - num = 463235074; - break; - case 1: - goto end_IL_01cc; - } - continue; - end_IL_01cc: - break; - } - } - finally - { - num = ((enumerator2 == null) ? 1430009245 : 1430009244); - while (true) - { - int num14 = num; - num3 = 1430009245; - num4 = num14; - int num15 = num4 + num3; - int num16 = num4 & num3; - switch (num15 - (num16 + num16)) - { - case 2: - num = 1430009244; - break; - case 1: - _202B_200E_206C_200E_200E_206E_202B_200C_202B_200B_206D_202E_200C_200F_206C_202D_200D_202A_200E_206B_202B_206B_202A_200C_206D_200D_206E_202C_202B_206E_206A_200B_206D_200E_202A_202D_200B_206F_200C_202E((IDisposable)enumerator2); - num = 1430009245; - break; - case 0: - goto end_IL_029e; - } - continue; - end_IL_029e: - break; - } - } - using (HashSet.Enumerator enumerator3 = hashSet.GetEnumerator()) - { - num = 1372900048; - while (true) - { - int num17 = num; - num3 = 1372900048; - num4 = num17; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - { - EAetheryteLocation value = current3; - freeAetheryte = value; - num = 1372900050; - break; - } - case 2: - dictionary[current3] = 0; - num = 1372900048; - break; - case 3: - { - EAetheryteLocation value = freeAetheryte.GetValueOrDefault(); - num = (freeAetheryte.HasValue ? 1372900050 : 1372900049); - break; - } - case 0: - num = (enumerator3.MoveNext() ? 1372900054 : 1372900052); - break; - case 6: - current3 = enumerator3.Current; - num = ((!_206D_200C_206C_206D_200F_202A_206C_206D_200D_200E_202C_206D_200C_202E_200C_202E_200E_202C_206F_206C_206A_206C_200B_202E_202C_206B_200E_200B_202D_206D_200F_202D_200C_200E_200C_200F_200B_202C_206C_200D_202E((uint)current3)) ? 1372900048 : 1372900051); - break; - case 5: - num = 1372900048; - break; - case 4: - goto end_IL_0300; - } - continue; - end_IL_0300: - break; - } - } - int currentGil = GetCurrentGil(); - HashSet flyingUnlockedTerritories = BuildFlyingUnlockedSet(); - Dictionary mountSpeedLevels = BuildMountSpeedLevels(); - PlayerNavState obj = new PlayerNavState - { - CurrentTerritoryId = _206F_206D_202D_206C_202E_200E_202A_206C_206C_206D_202D_200B_202D_202C_200C_202D_202C_206D_200E_206D_202C_206A_200B_202D_200B_206C_200B_200C_200E_206E_200E_200F_206E_202B_202E_206A_200C_206A_206E_206B_202E(clientState), - CurrentPosition = _206E_206B_200F_200B_206D_202B_202E_200E_200C_202D_200E_202B_200F_206D_200B_206A_206C_206D_206A_202B_202C_206E_206E_202C_206B_202C_206B_200C_200C_206D_206C_202D_206B_206B_206C_202D_202B_206D_202E(gameObject), - Gil = currentGil, - GilReserve = (gilReserveOverride ?? playerContext.GilReserve), - TeleportUnlocked = playerContext.IsTeleportUnlocked(), - ReturnAvailable = playerContext.IsReturnAvailable(), - MountUnlocked = _202C_200C_202D_206E_206F_202A_200C_202C_206D_206E_202E_200E_206A_200E_202C_200F_206D_200E_200D_202C_202C_202A_200F_202E_206A_206E_206A_206A_206C_202B_206B_206A_200B_202E_206E_200B_202D_202B_206C_200F_202E(), - UnlockedAetherytes = hashSet, - HomeAetheryte = homeAetheryte, - FreeAetheryte = freeAetheryte, - TeleportCosts = dictionary, - FlyingUnlockedTerritories = flyingUnlockedTerritories, - MountSpeedLevels = mountSpeedLevels, - MaxExpansion = maxExpansion - }; - ICharacter obj2 = gameObject as ICharacter; - obj.CurrentLevel = ((obj2 != null) ? _200B_202C_202B_202D_206F_206B_206C_200F_206D_206E_200D_200B_202D_202E_202B_202C_206A_206C_202A_200D_202B_206E_200E_206F_202E_206E_200F_200D_200E_206C_202C_206C_202A_202E_206B_200F_206E_202B_202E_202E_202E(obj2) : 0); - obj.CurrentMsqQuestId = playerContext.CurrentMsqQuestId; - obj.PreferFreeTravel = playerContext.PreferFreeTravel; - obj.QuestCompleteChecker = delegate(uint rowId) - { - int num18 = 65535; - return QuestManager.IsQuestComplete((ushort)((rowId | (uint)num18) - (rowId ^ (uint)num18))); - }; - obj.QuestSequenceChecker = delegate(uint rowId) - { - int num18 = 65535; - return QuestManager.GetQuestSequence((ushort)((rowId | (uint)num18) - (rowId ^ (uint)num18))); - }; - obj.AvailableTeleportTickets = BuildAvailableTeleportTickets(); - return obj; - } - } - continue; - IL_0057: - num = 1190878111; + return null; } + HashSet hashSet = new HashSet(); + Dictionary dictionary = new Dictionary(); + EAetheryteLocation homeAetheryteId = (EAetheryteLocation)PlayerStateHelper.GetHomeAetheryteId(); + EAetheryteLocation? freeAetheryte = null; + byte maxExpansion = PlayerStateHelper.GetMaxExpansion(); + foreach (IAetheryteEntry item in aetheryteList) + { + EAetheryteLocation aetheryteId = (EAetheryteLocation)item.AetheryteId; + hashSet.Add(aetheryteId); + dictionary[aetheryteId] = (int)item.GilCost; + } + foreach (EAetheryteLocation key in aetheryteData.Locations.Keys) + { + if (playerContext.IsAetheryteUnlocked(key)) + { + hashSet.Add(key); + } + } + foreach (EAetheryteLocation item2 in hashSet) + { + if (PlayerStateHelper.IsFreeAetheryte((uint)item2)) + { + EAetheryteLocation valueOrDefault = freeAetheryte.GetValueOrDefault(); + if (!freeAetheryte.HasValue) + { + valueOrDefault = item2; + freeAetheryte = valueOrDefault; + } + dictionary[item2] = 0; + } + } + int currentGil = GetCurrentGil(); + HashSet flyingUnlockedTerritories = BuildFlyingUnlockedSet(); + Dictionary mountSpeedLevels = BuildMountSpeedLevels(); + return new PlayerNavState + { + CurrentTerritoryId = clientState.TerritoryType, + CurrentPosition = gameObject.Position, + Gil = currentGil, + GilReserve = (gilReserveOverride ?? playerContext.GilReserve), + TeleportUnlocked = playerContext.IsTeleportUnlocked(), + ReturnAvailable = playerContext.IsReturnAvailable(), + MountUnlocked = PlayerStateHelper.IsAnyMountUnlocked(), + UnlockedAetherytes = hashSet, + HomeAetheryte = homeAetheryteId, + FreeAetheryte = freeAetheryte, + TeleportCosts = dictionary, + FlyingUnlockedTerritories = flyingUnlockedTerritories, + MountSpeedLevels = mountSpeedLevels, + MaxExpansion = maxExpansion, + CurrentLevel = ((gameObject as ICharacter)?.Level ?? 0), + CurrentMsqQuestId = playerContext.CurrentMsqQuestId, + PreferFreeTravel = playerContext.PreferFreeTravel, + QuestCompleteChecker = (uint rowId) => QuestManager.IsQuestComplete((ushort)(rowId & 0xFFFF)), + QuestSequenceChecker = (uint rowId) => QuestManager.GetQuestSequence((ushort)(rowId & 0xFFFF)), + AvailableTeleportTickets = BuildAvailableTeleportTickets() + }; } private unsafe HashSet BuildAvailableTeleportTickets() { HashSet hashSet = new HashSet(); - int num = (playerContext.UseTeleportTickets ? 339924904 : 339924909); - InventoryManager* ptr = default(InventoryManager*); - TeleportTicketService.TeleportTicket current = default(TeleportTicketService.TeleportTicket); - while (true) + if (!playerContext.UseTeleportTickets) { - int num2 = num; - int num3 = 339924908; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) + return hashSet; + } + InventoryManager* ptr = InventoryManager.Instance(); + if (ptr == null) + { + return hashSet; + } + byte grandCompanyId = GrandCompanyHelper.GetGrandCompanyId(); + foreach (TeleportTicketService.TeleportTicket ticket in teleportTicketService.Tickets) + { + if ((ticket.RequiredGrandCompany == 0 || ticket.RequiredGrandCompany == grandCompanyId) && (ticket.RequiredQuestId == 0 || QuestManager.IsQuestComplete((ushort)(ticket.RequiredQuestId & 0xFFFF))) && ptr->GetInventoryItemCount(ticket.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0) > 0) { - case 0: - return hashSet; - case 4: - ptr = InventoryManager.Instance(); - num = ((ptr != null) ? 339924911 : 339924908); - break; - case 1: - return hashSet; - case 2: - num = 339924909; - break; - case 3: - { - byte b = _206E_202C_202E_206F_206F_200B_206B_202E_200C_200E_202D_206B_206F_200D_200F_206A_206C_200C_200E_202C_206D_200D_202D_202D_206D_206C_200D_200F_202C_200C_206B_202D_206F_202B_206A_200C_202D_200E_206A_202B_202E(); - IEnumerator enumerator = teleportTicketService.Tickets.GetEnumerator(); - try - { - num = 1253116756; - while (true) - { - int num5 = num; - num3 = 1253116758; - num4 = num5; - int num6 = num4 + num3; - int num7 = num4 & num3; - switch (num6 - (num7 + num7)) - { - case 5: - num = 1253116756; - break; - case 3: - num = ((ptr->GetInventoryItemCount(current.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0) <= 0) ? 1253116756 : 1253116752); - break; - case 0: - num = ((current.RequiredGrandCompany != b) ? 1253116756 : 1253116754); - break; - case 8: - num = ((!QuestManager.IsQuestComplete((ushort)(current.RequiredQuestId & 0xFFFF))) ? 1253116756 : 1253116757); - break; - case 2: - num = (_200F_200B_206B_200F_200E_202B_200F_202B_206B_202D_202A_206E_200F_200E_202E_206C_206D_202E_206F_202E_206B_202D_202D_202B_202D_202C_202C_206E_202C_200D_202A_200E_206D_200B_202E_200F_206E_206E_200D_206C_202E((IEnumerator)enumerator) ? 1253116759 : 1253116753); - break; - case 4: - num = ((current.RequiredQuestId == 0) ? 1253116757 : 1253116766); - break; - case 6: - hashSet.Add(current.ItemId); - num = 1253116756; - break; - case 1: - current = enumerator.Current; - num = ((current.RequiredGrandCompany == 0) ? 1253116754 : 1253116758); - break; - case 7: - return hashSet; - } - } - } - finally - { - num = ((enumerator == null) ? (-2039650) : (-2039651)); - while (true) - { - int num8 = num; - num3 = -2039649; - num4 = num8; - int num9 = num4 + num3; - int num10 = num4 & num3; - switch (num9 - (num10 + num10)) - { - case 0: - num = -2039651; - break; - case 2: - _202B_200E_206C_200E_200E_206E_202B_200C_202B_200B_206D_202E_200C_200F_206C_202D_200D_202A_200E_206B_202B_206B_202A_200C_206D_200D_206E_202C_202B_206E_206A_200B_206D_200E_202A_202D_200B_206F_200C_202E((IDisposable)enumerator); - num = -2039650; - break; - case 1: - goto end_IL_0241; - } - continue; - end_IL_0241: - break; - } - } - } + hashSet.Add(ticket.ItemId); } } + return hashSet; } private HashSet BuildFlyingUnlockedSet() { HashSet hashSet = new HashSet(); HashSet hashSet2 = new HashSet(); - IEnumerator enumerator = aetheryteData.Locations.Keys.GetEnumerator(); - try + foreach (EAetheryteLocation key in aetheryteData.Locations.Keys) { - int num = -1033431506; - ushort value = default(ushort); - while (true) + if (aetheryteData.TerritoryIds.TryGetValue(key, out var value) && hashSet2.Add(value) && playerContext.IsFlyingUnlocked(value)) { - int num2 = num; - int num3 = -1033431507; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - hashSet.Add(value); - num = -1033431506; - break; - case 3: - num = (_200F_200B_206B_200F_200E_202B_200F_202B_206B_202D_202A_206E_200F_200E_202E_206C_206D_202E_206F_202E_206B_202D_202D_202B_202D_202C_202C_206E_202C_200D_202A_200E_206D_200B_202E_200F_206E_206E_200D_206C_202E((IEnumerator)enumerator) ? (-1033431511) : (-1033431507)); - break; - case 1: - num = ((!playerContext.IsFlyingUnlocked(value)) ? (-1033431506) : (-1033431505)); - break; - case 4: - { - EAetheryteLocation current = enumerator.Current; - num = ((!aetheryteData.TerritoryIds.TryGetValue(current, out value)) ? (-1033431506) : (-1033431512)); - break; - } - case 6: - num = -1033431506; - break; - case 5: - num = ((!hashSet2.Add(value)) ? (-1033431506) : (-1033431508)); - break; - case 0: - return hashSet; - } - } - } - finally - { - int num = ((enumerator == null) ? 115549312 : 115549315); - while (true) - { - int num5 = num; - int num3 = 115549313; - int num4 = num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 115549315; - break; - case 1: - goto end_IL_0157; - case 2: - _202B_200E_206C_200E_200E_206E_202B_200C_202B_200B_206D_202E_200C_200F_206C_202D_200D_202A_200E_206B_202B_206B_202A_200C_206D_200D_206E_202C_202B_206E_206A_200B_206D_200E_202A_202D_200B_206F_200C_202E((IDisposable)enumerator); - num = 115549312; - break; - } - continue; - end_IL_0157: - break; + hashSet.Add(value); } } + return hashSet; } private unsafe Dictionary BuildMountSpeedLevels() { Dictionary dictionary = new Dictionary(); ExcelSheet excelSheet = dataManager.GetExcelSheet(); - int num = ((excelSheet != null) ? 2051337213 : 2051337214); - MountSpeed value = default(MountSpeed); - TerritoryType current = default(TerritoryType); - int num8 = default(int); - while (true) + if (excelSheet == null) { - int num2 = num; - int num3 = 2051337215; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + return dictionary; + } + UIState* ptr = UIState.Instance(); + foreach (TerritoryType item in excelSheet) + { + if (item.RowId != 0 && item.MountSpeed.RowId != 0) { - case 0: - goto IL_0068; - case 1: - return dictionary; - case 2: - { - UIState* ptr = UIState.Instance(); - using ExcelSheet.Enumerator enumerator = excelSheet.GetEnumerator(); - num = 667862093; - while (true) + MountSpeed value = item.MountSpeed.Value; + int num = 0; + if (value.Quest.RowId != 0 && ptr != null && ptr->IsUnlockLinkUnlockedOrQuestCompleted(value.Quest.RowId, 0)) { - int num7 = num; - num3 = 667862084; - num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 667862093; - break; - case 0: - value = current.MountSpeed.Value; - num8 = 0; - num = ((value.Quest.RowId == 0) ? 667862082 : 667862080); - break; - case 6: - num = ((value.Unknown0 == 0) ? 667862087 : 667862083); - break; - case 14: - dictionary[current.RowId] = num8; - num = 667862093; - break; - case 8: - num = ((current.MountSpeed.RowId == 0) ? 667862093 : 667862084); - break; - case 7: - num = ((ptr == null) ? 667862087 : 667862095); - break; - case 9: - num = (enumerator.MoveNext() ? 667862088 : 667862094); - break; - case 3: - num = ((num8 <= 0) ? 667862093 : 667862090); - break; - case 12: - current = enumerator.Current; - num = ((current.RowId == 0) ? 667862093 : 667862092); - break; - case 5: - { - int num12 = num8; - num3 = 1; - num4 = num12; - num8 = (num4 | num3) + (num4 & num3); - num = 667862087; - break; - } - case 1: - num = ((!ptr->IsUnlockLinkUnlockedOrQuestCompleted(value.Quest.RowId, 0)) ? 667862082 : 667862089); - break; - case 11: - num = ((!ptr->IsUnlockLinkUnlockedOrQuestCompleted(value.Unknown0, 0)) ? 667862087 : 667862081); - break; - case 13: - { - int num9 = num8; - num3 = 1; - num4 = num9; - int num10 = num4 ^ num3; - int num11 = num4 & num3; - num8 = num10 + (num11 + num11); - num = 667862082; - break; - } - case 4: - num = ((ptr == null) ? 667862082 : 667862085); - break; - case 10: - return dictionary; - } + num++; + } + if (value.Unknown0 != 0 && ptr != null && ptr->IsUnlockLinkUnlockedOrQuestCompleted(value.Unknown0, 0)) + { + num++; + } + if (num > 0) + { + dictionary[item.RowId] = num; } } - } - continue; - IL_0068: - num = 2051337214; } + return dictionary; } private unsafe static int GetCurrentGil() { InventoryManager* ptr = InventoryManager.Instance(); - int num = ((ptr != null) ? (-57715473) : (-57715476)); - while (true) + if (ptr == null) { - int num2 = num; - int num3 = -57715475; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_004b; - case 1: - return 0; - case 2: - return ptr->GetItemCountInContainer(1u, InventoryType.Currency, isHq: false, 0); - } - continue; - IL_004b: - num = -57715476; + return 0; } - } - - static IGameObject _206E_202E_200C_206A_202C_202C_206E_202E_206C_202A_206D_202D_206B_206B_202B_206D_206C_206C_206D_206A_206E_200F_206A_206C_200D_206B_200E_206A_206E_206B_206D_202B_202A_206F_202A_202B_202D_202C_206E_202A_202E(IObjectTable P_0, int P_1) - { - return P_0[P_1]; - } - - static uint _200D_200E_202C_202E_206F_200E_202C_206F_200F_200C_206C_200D_200F_200E_202B_200C_202B_200F_200C_200F_206D_206F_202B_206B_202D_200E_200D_206E_206F_202E_206D_202C_202B_200C_200B_206D_206D_202A_206E_206B_202E() - { - return PlayerStateHelper.GetHomeAetheryteId(); - } - - static byte _202A_200E_200B_200F_206A_202C_202A_206D_202C_206A_202C_206F_202C_202B_206E_206A_202A_200E_200D_206C_202B_200D_206E_200D_206D_200F_206A_202D_202C_206F_200D_200C_206B_206B_206A_206E_200E_200E_206A_202B_202E() - { - return PlayerStateHelper.GetMaxExpansion(); - } - - static uint _200C_200D_202E_202B_206B_202A_206C_202E_206D_202D_206A_206A_202A_206F_202D_200F_202A_206B_206A_206F_200B_202C_206E_206B_200D_200D_200E_206B_202C_206D_206A_200F_202B_202A_200D_202B_206C_206D_200F_200D_202E(IAetheryteEntry P_0) - { - return P_0.AetheryteId; - } - - static uint _202B_206D_202D_200B_200B_200C_206B_200E_200B_202A_200D_206E_202D_200B_206F_206B_200D_202E_200E_206E_202E_200D_206F_206D_206A_200F_206E_200C_202D_202D_206C_206D_202E_200B_200D_206F_202D_200B_206E_200D_202E(IAetheryteEntry P_0) - { - return P_0.GilCost; - } - - static bool _200F_200B_206B_200F_200E_202B_200F_202B_206B_202D_202A_206E_200F_200E_202E_206C_206D_202E_206F_202E_206B_202D_202D_202B_202D_202C_202C_206E_202C_200D_202A_200E_206D_200B_202E_200F_206E_206E_200D_206C_202E(IEnumerator P_0) - { - return P_0.MoveNext(); - } - - static void _202B_200E_206C_200E_200E_206E_202B_200C_202B_200B_206D_202E_200C_200F_206C_202D_200D_202A_200E_206B_202B_206B_202A_200C_206D_200D_206E_202C_202B_206E_206A_200B_206D_200E_202A_202D_200B_206F_200C_202E(IDisposable P_0) - { - P_0.Dispose(); - } - - static bool _206D_200C_206C_206D_200F_202A_206C_206D_200D_200E_202C_206D_200C_202E_200C_202E_200E_202C_206F_206C_206A_206C_200B_202E_202C_206B_200E_200B_202D_206D_200F_202D_200C_200E_200C_200F_200B_202C_206C_200D_202E(uint P_0) - { - return PlayerStateHelper.IsFreeAetheryte(P_0); - } - - static uint _206F_206D_202D_206C_202E_200E_202A_206C_206C_206D_202D_200B_202D_202C_200C_202D_202C_206D_200E_206D_202C_206A_200B_202D_200B_206C_200B_200C_200E_206E_200E_200F_206E_202B_202E_206A_200C_206A_206E_206B_202E(IClientState P_0) - { - return P_0.TerritoryType; - } - - static Vector3 _206E_206B_200F_200B_206D_202B_202E_200E_200C_202D_200E_202B_200F_206D_200B_206A_206C_206D_206A_202B_202C_206E_206E_202C_206B_202C_206B_200C_200C_206D_206C_202D_206B_206B_206C_202D_202B_206D_202E(IGameObject P_0) - { - return P_0.Position; - } - - static bool _202C_200C_202D_206E_206F_202A_200C_202C_206D_206E_202E_200E_206A_200E_202C_200F_206D_200E_200D_202C_202C_202A_200F_202E_206A_206E_206A_206A_206C_202B_206B_206A_200B_202E_206E_200B_202D_202B_206C_200F_202E() - { - return PlayerStateHelper.IsAnyMountUnlocked(); - } - - static byte _200B_202C_202B_202D_206F_206B_206C_200F_206D_206E_200D_200B_202D_202E_202B_202C_206A_206C_202A_200D_202B_206E_200E_206F_202E_206E_200F_200D_200E_206C_202C_206C_202A_202E_206B_200F_206E_202B_202E_202E_202E(ICharacter P_0) - { - return P_0.Level; - } - - static byte _206E_202C_202E_206F_206F_200B_206B_202E_200C_200E_202D_206B_206F_200D_200F_206A_206C_200C_200E_202C_206D_200D_202D_202D_206D_206C_200D_200F_202C_200C_206B_202D_206F_202B_206A_200C_202D_200E_206A_202B_202E() - { - return GrandCompanyHelper.GetGrandCompanyId(); + return ptr->GetItemCountInContainer(1u, InventoryType.Currency, isHq: false, 0); } } diff --git a/SmartNav/SmartNav/ReRouteDecision.cs b/SmartNav/SmartNav/ReRouteDecision.cs index 60626b3..cdb8880 100644 --- a/SmartNav/SmartNav/ReRouteDecision.cs +++ b/SmartNav/SmartNav/ReRouteDecision.cs @@ -1,462 +1,16 @@ -using System; using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; namespace SmartNav; public abstract record ReRouteDecision { - public sealed record Replan(IReadOnlyList Instructions) : ReRouteDecision() - { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _202E_200B_206E_202C_200E_202C_200B_200E_206A_200B_206E_206A_202C_202E_202B_202E_202D_202E_206B_206B_200E_206E_200C_202A_202C_200F_206B_202E_206B_200F_202A_200F_200D_202C_200D_202D_200D_200E_206F_202C_202E(typeof(Replan).TypeHandle); - } - } + public sealed record Replan(IReadOnlyList Instructions) : ReRouteDecision(); - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206A_200D_206A_202D_200E_202C_202C_206C_200C_206C_206F_202B_202D_200C_202B_202A_206D_206D_200C_206A_200B_202D_206E_206C_206B_200C_202E_206B_202C_202B_200E_200E_206E_206A_200B_200C_206F_200E_206E_202C_202E(); - _200B_206A_206F_206B_200B_200C_200D_206E_206C_206D_200D_200E_200C_202C_200C_200E_202B_202B_206B_206D_202D_200B_202A_206C_200C_202B_206C_202A_200E_206F_202C_202D_202E_206B_200F_200F_202C_202C_200E_202E(stringBuilder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(901484357)); - _200B_206A_206F_206B_200B_200C_200D_206E_206C_206D_200D_200E_200C_202C_200C_200E_202B_202B_206B_206D_202D_200B_202A_206C_200C_202B_206C_202A_200E_206F_202C_202D_202E_206B_200F_200F_202C_202C_200E_202E(stringBuilder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(1886515922)); - int num = ((!PrintMembers(stringBuilder)) ? 1327623448 : 1327623451); - while (true) - { - int num2 = num; - int num3 = 1327623450; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1327623451; - break; - case 2: - _200E_202E_206D_202A_206F_200E_206A_200D_206F_206B_200F_202C_206D_206A_206C_202C_206E_206E_202C_206F_200C_202E_206F_200F_202A_202D_206D_202B_200D_202A_202A_202E_206B_202D_200E_206A_202B_200F_206C_206E_202E(stringBuilder, '}'); - return _206F_206A_202A_206A_200C_200F_200F_206E_202E_202A_206A_200C_206D_206B_200B_200B_200E_202B_206D_202A_206C_202D_202B_206B_206D_202D_206A_202A_200D_206F_200B_202E_202D_202B_206E_200B_200F_206A_202D_206B_202E((object)stringBuilder); - case 1: - _200E_202E_206D_202A_206F_200E_206A_200D_206F_206B_200F_202C_206D_206A_206C_202C_206E_206E_202C_206F_200C_202E_206F_200F_202A_202D_206D_202B_200D_202A_202A_202E_206B_202D_200E_206A_202B_200F_206C_206E_202E(stringBuilder, ' '); - num = 1327623448; - break; - } - } - } + public sealed record SkipMovement : ReRouteDecision; - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - protected override bool PrintMembers(StringBuilder builder) - { - int num = ((!base.PrintMembers(builder)) ? 1920917747 : 1920917746); - while (true) - { - int num2 = num; - int num3 = 1920917747; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 1920917746; - break; - case 0: - _200B_206A_206F_206B_200B_200C_200D_206E_206C_206D_200D_200E_200C_202C_200C_200E_202B_202B_206B_206D_202D_200B_202A_206C_200C_202B_206C_202A_200E_206F_202C_202D_202E_206B_200F_200F_202C_202C_200E_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-15988092)); - _200D_200D_200F_200C_200D_202C_206F_206F_200C_206F_200E_202A_200F_202C_200F_206D_200D_200F_200E_202C_202D_202B_206E_200F_200B_206D_202A_206C_206A_202B_200B_206B_206C_200B_206E_202B_200E_206B_202C_206C_202E(builder, (object)Instructions); - return true; - case 1: - _200B_206A_206F_206B_200B_200C_200D_206E_206C_206D_200D_200E_200C_202C_200C_200E_202B_202B_206B_206D_202D_200B_202A_206C_200C_202B_206C_202A_200E_206F_202C_202D_202E_206B_200F_200F_202C_202C_200E_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(520781629)); - num = 1920917747; - break; - } - } - } - - [CompilerGenerated] - public bool Equals(Replan? other) - { - int num = (((object)this == other) ? (-1432120076) : (-1432120078)); - while (true) - { - int num2 = num; - int num3 = -1432120080; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return EqualityComparer>.Default.Equals(Instructions, other.Instructions); - case 4: - return true; - case 3: - num = -1432120078; - break; - case 0: - return false; - case 2: - num = ((!base.Equals(other)) ? (-1432120080) : (-1432120079)); - break; - } - } - } - - bool IEquatable.Equals(Replan? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202E_200B_206E_202C_200E_202C_200B_200E_206A_200B_206E_206A_202C_202E_202B_202E_202D_202E_206B_206B_200E_206E_200C_202A_202C_200F_206B_202E_206B_200F_202A_200F_200D_202C_200D_202D_200D_200E_206F_202C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206A_200D_206A_202D_200E_202C_202C_206C_200C_206C_206F_202B_202D_200C_202B_202A_206D_206D_200C_206A_200B_202D_206E_206C_206B_200C_202E_206B_202C_202B_200E_200E_206E_206A_200B_200C_206F_200E_206E_202C_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200B_206A_206F_206B_200B_200C_200D_206E_206C_206D_200D_200E_200C_202C_200C_200E_202B_202B_206B_206D_202D_200B_202A_206C_200C_202B_206C_202A_200E_206F_202C_202D_202E_206B_200F_200F_202C_202C_200E_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200E_202E_206D_202A_206F_200E_206A_200D_206F_206B_200F_202C_206D_206A_206C_202C_206E_206E_202C_206F_200C_202E_206F_200F_202A_202D_206D_202B_200D_202A_202A_202E_206B_202D_200E_206A_202B_200F_206C_206E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206F_206A_202A_206A_200C_200F_200F_206E_202E_202A_206A_200C_206D_206B_200B_200B_200E_202B_206D_202A_206C_202D_202B_206B_206D_202D_206A_202A_200D_206F_200B_202E_202D_202B_206E_200B_200F_206A_202D_206B_202E(object P_0) - { - return P_0.ToString(); - } - - static StringBuilder _200D_200D_200F_200C_200D_202C_206F_206F_200C_206F_200E_202A_200F_202C_200F_206D_200D_200F_200E_202C_202D_202B_206E_200F_200B_206D_202A_206C_206A_202B_200B_206B_206C_200B_206E_202B_200E_206B_202C_206C_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206B_206F_202E_200D_200E_200E_200E_206B_206E_202E_206D_200C_206E_200E_206C_200D_202E_200F_200C_200B_202E_206B_206D_200C_206B_206C_206B_206C_206C_202E_206F_200C_200C_200B_202D_206D_202C_202B_206F_200E_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } - } - - public sealed record SkipMovement : ReRouteDecision - { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _206E_206D_202D_206C_202A_206C_202B_200F_202E_200F_206B_206B_206B_202D_200D_200E_206F_200B_206F_206A_206D_206D_206D_206E_206A_206A_206C_200E_206C_206A_206A_202B_202E_206E_206E_200D_200B_206B_206E_202E_202E(typeof(SkipMovement).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206D_202A_200E_200F_202D_200C_200C_200B_206E_202C_206F_206F_206F_200D_206C_206C_200E_200D_202E_206B_200E_202A_206A_206B_200F_200B_202E_200F_200B_200B_202B_206B_202E_200E_202B_206D_202B_206C_202A_202A_202E(); - _206F_206C_202E_202E_200E_200C_200B_206F_206E_200E_200D_206C_200D_206E_200F_200E_200C_206A_200D_206D_202D_206D_202D_200D_202E_200D_206E_206D_200E_206D_202B_202A_206E_202D_206A_200E_200D_202D_206C_206D_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-187513109)); - _206F_206C_202E_202E_200E_200C_200B_206F_206E_200E_200D_206C_200D_206E_200F_200E_200C_206A_200D_206D_202D_206D_202D_200D_202E_200D_206E_206D_200E_206D_202B_202A_206E_202D_206A_200E_200D_202D_206C_206D_202E(stringBuilder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(1120247710)); - int num = ((!PrintMembers(stringBuilder)) ? 321527536 : 321527539); - while (true) - { - int num2 = num; - int num3 = 321527537; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - _206C_202D_202A_200B_202D_200B_200D_200E_202B_202E_206E_202B_202B_202B_206C_200D_200B_206A_206A_206A_202E_200B_200C_206F_206B_200C_202B_206D_206E_200C_206F_202B_206A_200D_206E_202B_202A_202E_202B_206E_202E(stringBuilder, '}'); - return _206D_200B_206A_202A_206E_202B_206E_206C_206E_206C_206B_206B_200F_206A_202B_200D_200F_206C_202E_200D_200F_206A_200F_206C_202A_200F_200E_202E_200E_202D_202A_202A_206B_206E_202C_202A_200B_202B_206A_202D_202E((object)stringBuilder); - case 2: - _206C_202D_202A_200B_202D_200B_200D_200E_202B_202E_206E_202B_202B_202B_206C_200D_200B_206A_206A_206A_202E_200B_200C_206F_206B_200C_202B_206D_206E_200C_206F_202B_206A_200D_206E_202B_202A_202E_202B_206E_202E(stringBuilder, ' '); - num = 321527536; - break; - case 0: - num = 321527539; - break; - } - } - } - - [CompilerGenerated] - public bool Equals(SkipMovement? other) - { - int num = (((object)this == other) ? (-1667378002) : (-1667378003)); - while (true) - { - int num2 = num; - int num3 = -1667378001; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 1: - return true; - case 2: - return base.Equals(other); - case 0: - goto IL_004c; - } - continue; - IL_004c: - num = -1667378003; - } - } - - bool IEquatable.Equals(SkipMovement? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206E_206D_202D_206C_202A_206C_202B_200F_202E_200F_206B_206B_206B_202D_200D_200E_206F_200B_206F_206A_206D_206D_206D_206E_206A_206A_206C_200E_206C_206A_206A_202B_202E_206E_206E_200D_200B_206B_206E_202E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206D_202A_200E_200F_202D_200C_200C_200B_206E_202C_206F_206F_206F_200D_206C_206C_200E_200D_202E_206B_200E_202A_206A_206B_200F_200B_202E_200F_200B_200B_202B_206B_202E_200E_202B_206D_202B_206C_202A_202A_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206F_206C_202E_202E_200E_200C_200B_206F_206E_200E_200D_206C_200D_206E_200F_200E_200C_206A_200D_206D_202D_206D_202D_200D_202E_200D_206E_206D_200E_206D_202B_202A_206E_202D_206A_200E_200D_202D_206C_206D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206C_202D_202A_200B_202D_200B_200D_200E_202B_202E_206E_202B_202B_202B_206C_200D_200B_206A_206A_206A_202E_200B_200C_206F_206B_200C_202B_206D_206E_200C_206F_202B_206A_200D_206E_202B_202A_202E_202B_206E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206D_200B_206A_202A_206E_202B_206E_206C_206E_206C_206B_206B_200F_206A_202B_200D_200F_206C_202E_200D_200F_206A_200F_206C_202A_200F_200E_202E_200E_202D_202A_202A_206B_206E_202C_202A_200B_202B_206A_202D_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _202B_206B_200F_200B_206E_200D_202C_200C_200C_200B_200D_202B_200B_206A_202D_200D_200E_202A_206D_206A_206C_200E_200F_206A_206D_206D_206E_206E_200E_200C_206E_200B_200D_206C_206D_202B_206E_202B_206B_206A_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } - } - - public sealed record GiveUp : ReRouteDecision - { - [CompilerGenerated] - protected override Type EqualityContract - { - [CompilerGenerated] - get - { - return _202D_200F_206C_200B_200C_206D_200C_200C_206A_206C_202E_206D_202C_206D_202A_206C_202D_206A_206C_200D_200E_206E_200D_206A_200E_206C_206D_202E_202C_200B_202B_206A_202C_206C_200D_206E_202B_206B_206C_202A_202E(typeof(GiveUp).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _200D_200D_202E_200D_200F_202B_206D_206F_206D_200B_206B_202D_202A_206A_202C_206D_200D_200F_202D_206C_200E_206F_202A_206A_200B_206D_200D_200C_200E_200C_202B_206F_202C_202E_206A_206C_200E_206C_202C_202A_202E(); - _200D_202D_202A_202C_206D_202E_206E_206E_202A_206D_200C_200C_200E_200C_206D_200B_202E_206B_206E_206B_200C_200B_206C_206E_206E_202C_202D_202A_200C_200E_200C_200B_202B_206F_206D_202B_202B_200C_200B_202D_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(1991461839)); - _200D_202D_202A_202C_206D_202E_206E_206E_202A_206D_200C_200C_200E_200C_206D_200B_202E_206B_206E_206B_200C_200B_206C_206E_206E_202C_202D_202A_200C_200E_200C_200B_202B_206F_206D_202B_202B_200C_200B_202D_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(1547267250)); - int num = ((!PrintMembers(stringBuilder)) ? (-1750477906) : (-1750477905)); - while (true) - { - int num2 = num; - int num3 = -1750477906; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - _200D_202E_206D_202B_202C_200B_206F_206B_200C_202A_202B_200E_200B_200D_200D_200F_202E_206A_200B_206A_202D_200B_206D_200F_206C_202D_202D_202D_206C_200C_206F_206B_200F_200D_206A_206E_200C_206D_200B_200E_202E(stringBuilder, '}'); - return _200F_202C_206C_202B_200F_206A_202E_206E_206A_202A_200C_202D_202C_206B_200E_202A_202A_206B_206C_206D_200C_200B_202D_202D_206E_200B_206D_200C_206C_206C_206C_206F_200C_202B_206E_206A_206E_206E_206E_202B_202E((object)stringBuilder); - case 1: - _200D_202E_206D_202B_202C_200B_206F_206B_200C_202A_202B_200E_200B_200D_200D_200F_202E_206A_200B_206A_202D_200B_206D_200F_206C_202D_202D_202D_206C_200C_206F_206B_200F_200D_206A_206E_200C_206D_200B_200E_202E(stringBuilder, ' '); - num = -1750477906; - break; - case 2: - num = -1750477905; - break; - } - } - } - - [CompilerGenerated] - public bool Equals(GiveUp? other) - { - int num = (((object)this == other) ? 639070582 : 639070581); - while (true) - { - int num2 = num; - int num3 = 639070583; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - goto IL_0044; - case 2: - return base.Equals(other); - case 1: - return true; - } - continue; - IL_0044: - num = 639070581; - } - } - - bool IEquatable.Equals(GiveUp? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202D_200F_206C_200B_200C_206D_200C_200C_206A_206C_202E_206D_202C_206D_202A_206C_202D_206A_206C_200D_200E_206E_200D_206A_200E_206C_206D_202E_202C_200B_202B_206A_202C_206C_200D_206E_202B_206B_206C_202A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _200D_200D_202E_200D_200F_202B_206D_206F_206D_200B_206B_202D_202A_206A_202C_206D_200D_200F_202D_206C_200E_206F_202A_206A_200B_206D_200D_200C_200E_200C_202B_206F_202C_202E_206A_206C_200E_206C_202C_202A_202E() - { - return new StringBuilder(); - } - - static StringBuilder _200D_202D_202A_202C_206D_202E_206E_206E_202A_206D_200C_200C_200E_200C_206D_200B_202E_206B_206E_206B_200C_200B_206C_206E_206E_202C_202D_202A_200C_200E_200C_200B_202B_206F_206D_202B_202B_200C_200B_202D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200D_202E_206D_202B_202C_200B_206F_206B_200C_202A_202B_200E_200B_200D_200D_200F_202E_206A_200B_206A_202D_200B_206D_200F_206C_202D_202D_202D_206C_200C_206F_206B_200F_200D_206A_206E_200C_206D_200B_200E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200F_202C_206C_202B_200F_206A_202E_206E_206A_202A_200C_202D_202C_206B_200E_202A_202A_206B_206C_206D_200C_200B_202D_202D_206E_200B_206D_200C_206C_206C_206C_206F_200C_202B_206E_206A_206E_206E_206E_202B_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _202C_206A_206B_200D_202E_206D_202A_200C_206E_206A_206A_202D_206B_200E_202E_206B_200F_200C_202A_206A_200D_206C_200D_206C_206F_202C_202B_206D_206C_200C_202D_202E_200C_202C_206A_200D_200F_202B_202E_202D_202E(object P_0, object P_1) - { - return P_0.Equals(P_1); - } - } - - [CompilerGenerated] - protected virtual Type EqualityContract - { - [CompilerGenerated] - get - { - return _202E_206B_206C_202D_206F_200C_202B_206F_200B_202A_202B_206C_202C_202A_200F_200D_200F_206E_206A_206D_206F_200B_206D_200D_202B_206B_206D_206F_200E_206E_200D_206A_206B_202D_206D_206E_206E_200D_200E_202E_202E(typeof(ReRouteDecision).TypeHandle); - } - } + public sealed record GiveUp : ReRouteDecision; private ReRouteDecision() { } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206E_206A_206F_200B_202A_200E_206E_200E_200C_202A_206F_202C_206C_206F_206E_206F_206C_206D_202D_202C_206A_202E_206A_200C_202C_200D_200B_206B_200F_200B_206F_202E_202D_200C_200E_200B_202B_202A_200C_200D_202E(); - _206A_206E_202D_200D_202B_206E_202A_200C_206D_200B_200F_200E_206A_206A_202B_206E_206C_200D_206C_206C_200D_200E_200C_200B_206D_206D_200C_206C_202D_206A_200E_206F_200F_200C_200B_202A_200C_200B_200B_202D_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-1884726920)); - _206A_206E_202D_200D_202B_206E_202A_200C_206D_200B_200F_200E_206A_206A_202B_206E_206C_200D_206C_206C_200D_200E_200C_200B_206D_206D_200C_206C_202D_206A_200E_206F_200F_200C_200B_202A_200C_200B_200B_202D_202E(stringBuilder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(1120247710)); - int num = ((!PrintMembers(stringBuilder)) ? 1070703260 : 1070703263); - while (true) - { - int num2 = num; - int num3 = 1070703262; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - _206C_202E_202A_206A_206A_202E_200B_200F_202A_200F_202A_200E_206E_202E_202A_200E_200C_206F_206D_202A_200F_206C_200B_206D_202E_206E_206C_206A_206D_206D_206A_206E_202C_206C_206B_200B_206B_200C_200B_202E_202E(stringBuilder, '}'); - return _200B_206A_200E_202D_206A_202B_200D_202E_200B_200C_202B_200F_206E_200B_200E_200B_202E_202D_200F_206A_206D_200C_202C_206B_206B_202A_202E_200C_206D_206E_200E_200F_200B_200F_200D_206E_202B_200F_202A_202E((object)stringBuilder); - case 1: - _206C_202E_202A_206A_206A_202E_200B_200F_202A_200F_202A_200E_206E_202E_202A_200E_200C_206F_206D_202A_200F_206C_200B_206D_202E_206E_206C_206A_206D_206D_206A_206E_202C_206C_206B_200B_206B_200C_200B_202E_202E(stringBuilder, ' '); - num = 1070703260; - break; - case 0: - num = 1070703263; - break; - } - } - } - - [CompilerGenerated] - public virtual bool Equals(ReRouteDecision? other) - { - int num = (((object)this == other) ? (-390682939) : (-390682942)); - while (true) - { - int num2 = num; - int num3 = -390682938; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -390682942; - break; - case 1: - return _206C_206C_200B_200B_200B_206C_200C_200E_206B_202D_200D_200F_202E_202E_202C_206B_202C_200C_200E_202E_206C_200F_206B_206F_202B_206D_202E_200E_202B_202B_200E_202E_206A_200E_200B_206F_200D_206A_206A_202E(EqualityContract, other.EqualityContract); - case 4: - num = (((object)other == null) ? (-390682940) : (-390682937)); - break; - case 2: - return false; - case 3: - return true; - } - } - } - - bool IEquatable.Equals(ReRouteDecision? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _202E_206B_206C_202D_206F_200C_202B_206F_200B_202A_202B_206C_202C_202A_200F_200D_200F_206E_206A_206D_206F_200B_206D_200D_202B_206B_206D_206F_200E_206E_200D_206A_206B_202D_206D_206E_206E_200D_200E_202E_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206E_206A_206F_200B_202A_200E_206E_200E_200C_202A_206F_202C_206C_206F_206E_206F_206C_206D_202D_202C_206A_202E_206A_200C_202C_200D_200B_206B_200F_200B_206F_202E_202D_200C_200E_200B_202B_202A_200C_200D_202E() - { - return new StringBuilder(); - } - - static StringBuilder _206A_206E_202D_200D_202B_206E_202A_200C_206D_200B_200F_200E_206A_206A_202B_206E_206C_200D_206C_206C_200D_200E_200C_200B_206D_206D_200C_206C_202D_206A_200E_206F_200F_200C_200B_202A_200C_200B_200B_202D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _206C_202E_202A_206A_206A_202E_200B_200F_202A_200F_202A_200E_206E_202E_202A_200E_200C_206F_206D_202A_200F_206C_200B_206D_202E_206E_206C_206A_206D_206D_206A_206E_202C_206C_206B_200B_206B_200C_200B_202E_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _200B_206A_200E_202D_206A_202B_200D_202E_200B_200C_202B_200F_206E_200B_200E_200B_202E_202D_200F_206A_206D_200C_202C_206B_206B_202A_202E_200C_206D_206E_200E_200F_200B_200F_200D_206E_202B_200F_202A_202E(object P_0) - { - return P_0.ToString(); - } - - static bool _206C_206C_200B_200B_200B_206C_200C_200E_206B_202D_200D_200F_202E_202E_202C_206B_202C_200C_200E_202E_206C_200F_206B_206F_202B_206D_202E_200E_202B_202B_200E_202E_206A_200E_200B_206F_200D_206A_206A_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } } diff --git a/SmartNav/SmartNav/ReRoutePolicy.cs b/SmartNav/SmartNav/ReRoutePolicy.cs index c941cae..f2732a0 100644 --- a/SmartNav/SmartNav/ReRoutePolicy.cs +++ b/SmartNav/SmartNav/ReRoutePolicy.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; using Microsoft.Extensions.Logging; namespace SmartNav; @@ -20,49 +19,19 @@ public sealed class ReRoutePolicy(NavRouter navRouter, PlayerNavStateBuilder pla private const int MaxReRoutes = 3; - [MethodImpl(MethodImplOptions.NoInlining)] public void SetDestination(uint territoryId, Vector3 position) { - int num = ((!_hasDestination) ? 887432114 : 887432119); - while (true) + bool num = _hasDestination && _destinationTerritoryId == territoryId && Vector3.DistanceSquared(_destinationPosition, position) < 1f; + _destinationTerritoryId = territoryId; + _destinationPosition = position; + _hasDestination = true; + _reRouteCount = 0; + _penalizedTargets.Clear(); + if (!num) { - int num2 = num; - int num3 = 887432118; - int num4 = num2; - int num5; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num5 = ((Vector3.DistanceSquared(_destinationPosition, position) < 1f) ? 1 : 0); - goto IL_00d1; - case 2: - _202D_206B_200F_202E_206E_206B_202D_202D_206F_200B_206B_206F_200E_206E_200B_202E_206B_200F_202A_206F_206B_202A_202C_202D_206A_206B_200C_202B_206B_200D_206D_200E_206E_202A_202D_206C_202D_200B_202D_200C_202E((ILogger)logger, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(1448570799), new object[2] { territoryId, position }); - return; - case 5: - num = 887432119; - break; - case 1: - num = ((_destinationTerritoryId != territoryId) ? 887432114 : 887432118); - break; - case 4: - num5 = 0; - goto IL_00d1; - case 3: - { - warpFailureTracker.Reset(); - num = 887432116; - break; - } - IL_00d1: - _destinationTerritoryId = territoryId; - _destinationPosition = position; - _hasDestination = true; - _reRouteCount = 0; - _penalizedTargets.Clear(); - num = ((num5 != 0) ? 887432116 : 887432117); - break; - } + warpFailureTracker.Reset(); } + logger.LogDebug("Re-route destination set: territory {Territory}, position {Position}", territoryId, position); } public void ClearDestination() @@ -73,116 +42,46 @@ public sealed class ReRoutePolicy(NavRouter navRouter, PlayerNavStateBuilder pla warpFailureTracker.Reset(); } - [MethodImpl(MethodImplOptions.NoInlining)] public ReRouteDecision HandleMovementFailure(string? failedTargetNodeId, string? failedApproachNodeId, bool hasPreservedTasks) { - int num = ((failedTargetNodeId == null) ? 1235919696 : 1235919704); - RouteResult routeResult = default(RouteResult); - PlayerNavState playerNavState = default(PlayerNavState); - while (true) + if (failedTargetNodeId != null) { - int num2 = num; - int num3 = 1235919696; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) + _penalizedTargets.Add(failedTargetNodeId); + if (failedTargetNodeId.StartsWith("pos:", StringComparison.Ordinal) && failedApproachNodeId != null) { - case 1: - routeResult = navRouter.FindRoute(playerNavState, _destinationTerritoryId, _destinationPosition, _penalizedTargets); - num = ((routeResult.Segments.Count != 0) ? 1235919700 : 1235919698); - break; - case 4: - { - int reRouteCount2 = _reRouteCount; - num3 = 1; - num4 = reRouteCount2; - int num8 = num4 ^ num3; - int num9 = num4 & num3; - _reRouteCount = num8 + (num9 + num9); - _200D_202E_200C_202A_206E_206D_206B_200F_202B_202B_200E_202E_202A_206E_202D_202A_200F_206D_206E_206E_200E_202C_200C_206A_200C_200E_206E_202A_206C_200C_206F_206D_202B_206B_206C_202C_200D_206F_202D_202E_202E((ILogger)logger, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-2130024542), new object[4] - { - _reRouteCount, - 3, - routeResult.Segments.Count, - routeResult.TotalTimeCost - }); - return new ReRouteDecision.Replan(instructionBuilder.Build(routeResult, _destinationTerritoryId)); - } - case 10: - num = ((_reRouteCount < 3) ? 1235919702 : 1235919709); - break; - case 3: - _200D_202A_206C_202A_202E_200E_202A_202B_202D_200D_202D_206F_206D_200F_206F_200B_200F_200D_206D_202D_206E_206E_200C_206C_200F_206A_206A_200D_202D_200B_206D_200E_206E_202D_200B_206A_206E_200B_202A_202C_202E((ILogger)logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-1773659142), Array.Empty()); - return new ReRouteDecision.GiveUp(); - case 12: - { - bool num7 = playerNavState.CurrentTerritoryId != _destinationTerritoryId; - num3 = (hasPreservedTasks ? 1 : 0); - num4 = (num7 ? 1 : 0); - num = (((num4 | num3) - (num4 ^ num3) == 0) ? 1235919697 : 1235919710); - break; - } - case 7: - num = 1235919704; - break; - case 2: - _200D_202A_206C_202A_202E_200E_202A_202B_202D_200D_202D_206F_206D_200F_206F_200B_200F_200D_206D_202D_206E_206E_200C_206C_200F_206A_206A_200D_202D_200B_206D_200E_206E_202D_200B_206A_206E_200B_202A_202C_202E((ILogger)logger, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(399693509), new object[1] { _destinationTerritoryId }); - return new ReRouteDecision.GiveUp(); - case 13: - _200D_202A_206C_202A_202E_200E_202A_202B_202D_200D_202D_206F_206D_200F_206F_200B_200F_200D_206D_202D_206E_206E_200C_206C_200F_206A_206A_200D_202D_200B_206D_200E_206E_202D_200B_206A_206E_200B_202A_202C_202E((ILogger)logger, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(-1940106289), new object[2] { _reRouteCount, 3 }); - return new ReRouteDecision.GiveUp(); - case 8: - _penalizedTargets.Add(failedTargetNodeId); - num = ((!_200D_202D_200B_206B_206D_202C_206C_206C_206F_206E_200E_200D_202A_202B_202D_200F_200F_200F_206E_206E_200F_200B_202A_200B_206C_206B_206A_200F_200C_206C_200E_206A_202D_200E_206E_206A_202B_202A_202E_206D_202E(failedTargetNodeId, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-1541648262), StringComparison.Ordinal)) ? 1235919696 : 1235919705); - break; - case 11: - _200D_202A_206C_202A_202E_200E_202A_202B_202D_200D_202D_206F_206D_200F_206F_200B_200F_200D_206D_202D_206E_206E_200C_206C_200F_206A_206A_200D_202D_200B_206D_200E_206E_202D_200B_206A_206E_200B_202A_202C_202E((ILogger)logger, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(466466716), Array.Empty()); - return new ReRouteDecision.GiveUp(); - case 6: - playerNavState = playerNavStateBuilder.Build(); - num = ((playerNavState != null) ? 1235919708 : 1235919699); - break; - case 0: - num = (_hasDestination ? 1235919706 : 1235919707); - break; - case 5: _penalizedTargets.Add(failedApproachNodeId); - num = 1235919696; - break; - case 14: - { - int reRouteCount = _reRouteCount; - num3 = 1; - num4 = reRouteCount; - _reRouteCount = (num4 | num3) + (num4 & num3); - _200D_202E_200C_202A_206E_206D_206B_200F_202B_202B_200E_202E_202A_206E_202D_202A_200F_206D_206E_206E_200E_202C_200C_206A_200C_200E_206E_202A_206C_200C_206F_206D_202B_206B_206C_202C_200D_206F_202D_202E_202E((ILogger)logger, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(303219870), new object[3] { _reRouteCount, playerNavState.CurrentTerritoryId, _destinationTerritoryId }); - return new ReRouteDecision.SkipMovement(); - } - case 9: - num = ((failedApproachNodeId == null) ? 1235919696 : 1235919701); - break; } } - } - - static void _202D_206B_200F_202E_206E_206B_202D_202D_206F_200B_206B_206F_200E_206E_200B_202E_206B_200F_202A_206F_206B_202A_202C_202D_206A_206B_200C_202B_206B_200D_206D_200E_206E_202A_202D_206C_202D_200B_202D_200C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogDebug(P_1, P_2); - } - - static bool _200D_202D_200B_206B_206D_202C_206C_206C_206F_206E_200E_200D_202A_202B_202D_200F_200F_200F_206E_206E_200F_200B_202A_200B_206C_206B_206A_200F_200C_206C_200E_206A_202D_200E_206E_206A_202B_202A_202E_206D_202E(string P_0, string P_1, StringComparison P_2) - { - return P_0.StartsWith(P_1, P_2); - } - - static void _200D_202A_206C_202A_202E_200E_202A_202B_202D_200D_202D_206F_206D_200F_206F_200B_200F_200D_206D_202D_206E_206E_200C_206C_200F_206A_206A_200D_202D_200B_206D_200E_206E_202D_200B_206A_206E_200B_202A_202C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static void _200D_202E_200C_202A_206E_206D_206B_200F_202B_202B_200E_202E_202A_206E_202D_202A_200F_206D_206E_206E_200E_202C_200C_206A_200C_200E_206E_202A_206C_200C_206F_206D_202B_206B_206C_202C_200D_206F_202D_202E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogInformation(P_1, P_2); + if (!_hasDestination) + { + logger.LogWarning("No destination registered, cannot re-route"); + return new ReRouteDecision.GiveUp(); + } + if (_reRouteCount >= 3) + { + logger.LogWarning("Re-route limit reached ({Count}/{Max}), giving up", _reRouteCount, 3); + return new ReRouteDecision.GiveUp(); + } + PlayerNavState playerNavState = playerNavStateBuilder.Build(); + if (playerNavState == null) + { + logger.LogWarning("Cannot build PlayerNavState for re-routing"); + return new ReRouteDecision.GiveUp(); + } + if (playerNavState.CurrentTerritoryId != _destinationTerritoryId && hasPreservedTasks) + { + _reRouteCount++; + logger.LogInformation("Re-route #{Count}: still in wrong territory ({Current} vs destination {Destination}), skipping movement with preserved tasks", _reRouteCount, playerNavState.CurrentTerritoryId, _destinationTerritoryId); + return new ReRouteDecision.SkipMovement(); + } + RouteResult routeResult = navRouter.FindRoute(playerNavState, _destinationTerritoryId, _destinationPosition, _penalizedTargets); + if (routeResult.Segments.Count == 0) + { + logger.LogWarning("No route found during re-routing to territory {Territory}", _destinationTerritoryId); + return new ReRouteDecision.GiveUp(); + } + _reRouteCount++; + logger.LogInformation("Re-routed successfully ({Count}/{Max}): {SegmentCount} segments, {Time:F1}s estimated", _reRouteCount, 3, routeResult.Segments.Count, routeResult.TotalTimeCost); + return new ReRouteDecision.Replan(instructionBuilder.Build(routeResult, _destinationTerritoryId)); } } diff --git a/SmartNav/SmartNav/RouteInstructionBuilder.cs b/SmartNav/SmartNav/RouteInstructionBuilder.cs index 0f00a5e..1ed20a0 100644 --- a/SmartNav/SmartNav/RouteInstructionBuilder.cs +++ b/SmartNav/SmartNav/RouteInstructionBuilder.cs @@ -1,7 +1,5 @@ -using System; using System.Collections.Generic; using System.Numerics; -using System.Runtime.CompilerServices; using Microsoft.Extensions.Logging; using SmartNav.Data; using SmartNav.Graph; @@ -16,497 +14,151 @@ public sealed class RouteInstructionBuilder(AetheryteData aetheryteData, ITerrit public IReadOnlyList Build(RouteResult route, uint destinationTerritory, bool disableNavmesh = false) { List list = new List(); - int num = 0; - int num2 = -1441158643; - RouteSegment routeSegment = default(RouteSegment); - while (true) + for (int i = 0; i < route.Segments.Count; i++) { - int num3 = num2; - int num4 = -1441158642; - int num5 = num3; - int num6 = num5 + num4; - int num7 = num5 & num4; - switch (num6 - (num7 + num7)) + RouteSegment routeSegment = route.Segments[i]; + if (routeSegment.EdgeType != NavEdgeType.WithinZone || i + 1 >= route.Segments.Count || route.Segments[i + 1].EdgeType != NavEdgeType.ZoneBoundary) { - case 4: - { - int num10 = num; - num4 = 1; - num5 = num10; - num = (num5 | num4) + (num5 & num4); - num2 = -1441158643; - break; - } - case 6: - { - RouteSegment seg = routeSegment; - object previous; - if (num <= 0) - { - previous = null; - } - else - { - IReadOnlyList segments = route.Segments; - int num9 = num; - num4 = 1; - num5 = num9; - previous = segments[~(~num5 + num4)]; - } - BuildSegment(list, seg, (RouteSegment?)previous, num, route.Segments.Count, destinationTerritory, disableNavmesh); - num2 = -1441158646; - break; - } - case 5: - { - IReadOnlyList segments2 = route.Segments; - int num11 = num; - num4 = 1; - num5 = num11; - num2 = ((segments2[(num5 | num4) + (num5 & num4)].EdgeType == NavEdgeType.ZoneBoundary) ? (-1441158646) : (-1441158648)); - break; - } - case 1: - { - int num8 = num; - num4 = 1; - num5 = num8; - num2 = (((num5 | num4) + (num5 & num4) >= route.Segments.Count) ? (-1441158648) : (-1441158645)); - break; - } - case 0: - return list; - case 7: - num2 = -1441158643; - break; - case 2: - routeSegment = route.Segments[num]; - num2 = ((routeSegment.EdgeType != NavEdgeType.WithinZone) ? (-1441158648) : (-1441158641)); - break; - case 3: - num2 = ((num < route.Segments.Count) ? (-1441158644) : (-1441158642)); - break; + BuildSegment(list, routeSegment, (i > 0) ? route.Segments[i - 1] : null, i, route.Segments.Count, destinationTerritory, disableNavmesh); } } + return list; } private static bool TryComputeApproach(TriggerBox trigger, Vector3 walkTo, Vector3? origin, out Vector3 approach) { approach = default(Vector3); - int num = (origin.HasValue ? 1645228260 : 1645228262); - bool flag = default(bool); - Matrix4x4 matrix = default(Matrix4x4); - Vector3 vector2 = default(Vector3); - float num7 = default(float); - while (true) + if (!origin.HasValue) { - int num2 = num; - int num3 = 1645228263; - int num4 = num2; - float num8; - Vector3 normal; - float num5; - float num6; - Vector3 vector; - switch ((num4 | num3) - (num4 & num3)) - { - case 3: - flag = _202D_200F_202D_206F_206E_200B_202A_206C_206B_202B_200F_200C_206F_206E_200D_202E_206B_202B_200C_206F_200B_202D_202D_206C_202A_206C_200C_206B_202B_200C_206C_206A_202C_202B_202B_200C_206C_200E_202B_206E_202E(trigger).X <= _202D_200F_202D_206F_206E_200B_202A_206C_206B_202B_200F_200C_206F_206E_200D_202E_206B_202B_200C_206F_200B_202D_202D_206C_202A_206C_200C_206B_202B_200C_206C_206A_202C_202B_202B_200C_206C_200E_202B_206E_202E(trigger).Z; - num = (flag ? 1645228259 : 1645228257); - break; - case 4: - num8 = _202D_200F_202D_206F_206E_200B_202A_206C_206B_202B_200F_200C_206F_206E_200D_202E_206B_202B_200C_206F_200B_202D_202D_206C_202A_206C_200C_206B_202B_200C_206C_206A_202C_202B_202B_200C_206C_200E_202B_206E_202E(trigger).X; - goto IL_00c4; - case 6: - num8 = _202D_200F_202D_206F_206E_200B_202A_206C_206B_202B_200F_200C_206F_206E_200D_202E_206B_202B_200C_206F_200B_202D_202D_206C_202A_206C_200C_206B_202B_200C_206C_206A_202C_202B_202B_200C_206C_200E_202B_206E_202E(trigger).Z; - goto IL_00c4; - case 2: - matrix = Matrix4x4.CreateFromYawPitchRoll(_206D_202C_200C_202D_206B_200C_200B_206C_202C_202C_202B_206C_202B_200C_202D_206A_202B_202C_202D_200C_206E_202A_206D_206E_200B_206C_206F_200C_206D_200C_202D_206C_200D_206A_206D_206E_202C_206E_206D_202E(trigger).Y, _206D_202C_200C_202D_206B_200C_200B_206C_202C_202C_202B_206C_202B_200C_202D_206A_202B_202C_202D_200C_206E_202A_206D_206E_200B_206C_206F_200C_206D_200C_202D_206C_200D_206A_206D_206E_202C_206E_206D_202E(trigger).X, _206D_202C_200C_202D_206B_200C_200B_206C_202C_202C_202B_206C_202B_200C_202D_206A_202B_202C_202D_200C_206E_202A_206D_206E_200B_206C_206F_200C_206D_200C_202D_206C_200D_206A_206D_206E_202C_206E_206D_202E(trigger).Z); - num = (flag ? 1645228258 : 1645228263); - break; - case 12: - vector2 = Vector3.Normalize(vector2); - num = ((Vector3.Dot(origin.Value - _202E_202E_200B_202A_206D_200C_202C_206F_202E_202D_200B_202A_206C_202D_206C_200F_202A_206D_202C_202D_206E_206C_200D_202B_206E_202E_202D_200C_206F_200F_202D_200B_200C_200D_202B_206E_200E_202B_206B_206F_202E(trigger), vector2) >= 0f) ? 1645228270 : 1645228271); - break; - case 11: - return false; - case 7: - num = 1645228262; - break; - case 0: - normal = Vector3.UnitZ; - goto IL_021a; - case 8: - num5 = -1f; - goto IL_01cf; - case 9: - num5 = 1f; - goto IL_01cf; - case 10: - return false; - case 5: - normal = Vector3.UnitX; - goto IL_021a; - case 1: - { - return false; - } - IL_01cf: - num6 = num5; - vector = _202E_202E_200B_202A_206D_200C_202C_206F_202E_202D_200B_202A_206C_202D_206C_200F_202A_206D_202C_202D_206E_206C_200D_202B_206E_202E_202D_200C_206F_200F_202D_200B_200C_200D_202B_206E_200E_202B_206B_206F_202E(trigger) + vector2 * num6 * (num7 + 5f); - approach = new Vector3(vector.X, walkTo.Y, vector.Z); - return true; - IL_021a: - vector2 = Vector3.TransformNormal(normal, matrix); - vector2.Y = 0f; - num = ((!(vector2.LengthSquared() < 0.01f)) ? 1645228267 : 1645228268); - break; - IL_00c4: - num7 = num8; - num = ((!(_202D_200F_202D_206F_206E_200B_202A_206C_206B_202B_200F_200C_206F_206E_200D_202E_206B_202B_200C_206F_200B_202D_202D_206C_202A_206C_200C_206B_202B_200C_206C_206A_202C_202B_202B_200C_206C_200E_202B_206E_202E(trigger).Y < num7)) ? 1645228261 : 1645228269); - break; - } + return false; } + bool flag = trigger.HalfExtents.X <= trigger.HalfExtents.Z; + float num = (flag ? trigger.HalfExtents.X : trigger.HalfExtents.Z); + if (trigger.HalfExtents.Y < num) + { + return false; + } + Matrix4x4 matrix = Matrix4x4.CreateFromYawPitchRoll(trigger.RotationRadians.Y, trigger.RotationRadians.X, trigger.RotationRadians.Z); + Vector3 value = Vector3.TransformNormal(flag ? Vector3.UnitX : Vector3.UnitZ, matrix); + value.Y = 0f; + if (value.LengthSquared() < 0.01f) + { + return false; + } + value = Vector3.Normalize(value); + float num2 = ((Vector3.Dot(origin.Value - trigger.Translation, value) >= 0f) ? 1f : (-1f)); + Vector3 vector = trigger.Translation + value * num2 * (num + 5f); + approach = new Vector3(vector.X, walkTo.Y, vector.Z); + return true; } - [MethodImpl(MethodImplOptions.NoInlining)] private void BuildSegment(List instructions, RouteSegment seg, RouteSegment? previous, int index, int segmentCount, uint destinationTerritory, bool disableNavmesh) { + uint territoryId4; switch (seg.EdgeType) { - case NavEdgeType.TicketTeleport: - goto IL_01d4; - case NavEdgeType.WithinZone: - goto IL_027e; - case NavEdgeType.Warp: - goto IL_044c; - case NavEdgeType.ChocoboTaxi: - goto IL_06b0; case NavEdgeType.Teleport: case NavEdgeType.Return: - goto IL_078c; - case NavEdgeType.ZoneBoundary: - goto IL_07b7; - case NavEdgeType.SubRegionTransport: - goto IL_08c6; - case NavEdgeType.AethernetHop: - goto IL_0afd; - } - int num = 807288899; - goto IL_003d; - IL_044c: - uint territoryId = seg.From.TerritoryId; - uint territoryId2 = seg.To.TerritoryId; - _206F_206D_206C_202A_200C_206F_202C_206D_200B_206D_202E_200E_206C_206F_202B_200E_202B_200B_200B_202B_206F_206F_202C_206E_202A_206A_200B_206B_202E_202E_202D_206D_202D_200B_200F_206A_202D_202E_206E_202E((ILogger)logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(699118114), new object[2] - { - territoryInfo.GetNameAndId(territoryId), - territoryInfo.GetNameAndId(territoryId2) - }); - NavNode.WarpNode warpNode = seg.From as NavNode.WarpNode; - num = (((object)warpNode == null) ? 807288921 : 807288909); - goto IL_003d; - IL_003d: - uint territoryId6 = default(uint); - ushort value = default(ushort); - uint territoryId5 = default(uint); - Vector3 approach = default(Vector3); - uint? num8 = default(uint?); - uint territoryId4 = default(uint); - bool flag = default(bool); - NavNode.WarpNode warpNode2 = default(NavNode.WarpNode); - NavNode.TicketNode ticketNode = default(NavNode.TicketNode); - uint territoryId3 = default(uint); - NavNode.SubRegionConnectorNode subRegionConnectorNode = default(NavNode.SubRegionConnectorNode); - TriggerBox trigger = default(TriggerBox); - NavNode.ZoneBoundaryNode zoneBoundaryNode = default(NavNode.ZoneBoundaryNode); - int num3; - int num4; - while (true) - { - int num2 = num; - num3 = 807288896; - num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - int num9; - int num7; - ushort expectedTerritory; - switch (num5 - (num6 + num6)) + if (seg.TeleportTarget.HasValue) { - case 25: - _200E_200E_200B_206E_206C_200C_200B_200E_206E_206D_200D_200D_200C_206F_202B_202C_206A_206A_202E_206F_202B_200D_200F_206B_200D_200D_206B_206B_202E_206F_202E_206A_200F_202B_202E_200F_206B_206E_202B_200C_202E((ILogger)logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-1406522576), new object[2] - { - territoryInfo.GetNameAndId(territoryId), - territoryInfo.GetNameAndId(territoryId2) - }); - return; - case 15: - _200E_200E_200B_206E_206C_200C_200B_200E_206E_206D_200D_200D_200C_206F_202B_202C_206A_206A_202E_206F_202B_200D_200F_206B_200D_200D_206B_206B_202E_206F_202E_206A_200F_202B_202E_200F_206B_206E_202B_200C_202E((ILogger)logger, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-399339980), Array.Empty()); - return; - case 32: - num = 807288899; - break; - case 30: - _206F_206D_206C_202A_200C_206F_202C_206D_200B_206D_202E_200E_206C_206F_202B_200E_202B_200B_200B_202B_206F_206F_202C_206E_202A_206A_200B_206B_202E_202E_202D_206D_202D_200B_200F_206A_202D_202E_206E_202E((ILogger)logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-1015089511), new object[2] - { - seg.AethernetFrom.Value, - seg.AethernetTo.Value - }); + ushort value; + ushort expectedTerritory = (aetheryteData.TerritoryIds.TryGetValue(seg.TeleportTarget.Value, out value) ? value : ((ushort)seg.To.TerritoryId)); + logger.LogTrace("SmartNav: Teleport to {Aetheryte}", seg.TeleportTarget.Value); + instructions.Add(new NavInstruction.Teleport(seg.TeleportTarget.Value, expectedTerritory)); + } + break; + case NavEdgeType.AethernetHop: + if (seg.AethernetFrom.HasValue && seg.AethernetTo.HasValue) + { + logger.LogTrace("SmartNav: Aethernet {From} -> {To}", seg.AethernetFrom.Value, seg.AethernetTo.Value); instructions.Add(new NavInstruction.WaitForNavmesh()); instructions.Add(new NavInstruction.AethernetHop(seg.AethernetFrom.Value, seg.AethernetTo.Value)); - return; - case 0: - goto end_IL_003d; - case 6: - goto IL_0200; - case 34: - num9 = ((seg.To.TerritoryId == destinationTerritory) ? 1 : 0); - goto IL_0562; - case 16: - instructions.Add(new NavInstruction.WaitForTerritory(new global::_003C_003Ez__ReadOnlySingleElementList(territoryId6), _200D_200B_202E_206A_202B_200E_202E_206D_206E_200C_200E_202B_206B_200F_206A_200D_206E_206D_206D_200D_206B_200C_206A_200D_202C_202C_206B_202D_206A_202B_202B_206A_200C_206A_202B_206B_206E_206B_206F_200F_202E(global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-2121195380), territoryInfo.GetNameAndId(territoryId6), global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-2010692120)))); - return; - case 21: - goto IL_027e; - case 19: - goto IL_02b8; - case 20: - num7 = value; - goto IL_02e1; - case 7: - goto IL_032e; - case 17: - { - instructions.Add(new NavInstruction.Move((ushort)territoryId5, approach, Fly: true, LandAtTarget: true, 3f, null, null, DisableNavmesh: false, AllowZoneTransition: true, seg.From.Id, null, IsFinal: false)); - ushort territory2 = (ushort)territoryId5; - Vector3 position2 = seg.From.Position; - float? stopDistance2 = 0f; - num8 = null; - instructions.Add(new NavInstruction.Move(territory2, position2, Fly: false, LandAtTarget: false, stopDistance2, num8, null, DisableNavmesh: false, AllowZoneTransition: true, seg.From.Id, null, IsFinal: false)); - num = 807288912; - break; } - case 31: - return; - case 2: + break; + case NavEdgeType.WithinZone: + { + uint territoryId = seg.From.TerritoryId; + bool flag = index == segmentCount - 1 && seg.To.TerritoryId == destinationTerritory; + logger.LogTrace("SmartNav: Move within {Territory}{Final}", territoryInfo.GetNameAndId(territoryId), flag ? " (final)" : ""); + instructions.Add(new NavInstruction.WaitForTerritory(new global::_003C_003Ez__ReadOnlySingleElementList(territoryId), "Wait(territory: " + territoryInfo.GetNameAndId(territoryId) + ")")); + if (!disableNavmesh) { - ushort territory = (ushort)territoryId5; - Vector3 position = seg.From.Position; - bool fly = seg.Fly; - bool fly2 = seg.Fly; - float? stopDistance = 0f; - num8 = null; - instructions.Add(new NavInstruction.Move(territory, position, fly, fly2, stopDistance, num8, null, DisableNavmesh: false, AllowZoneTransition: true, seg.From.Id, null, IsFinal: false)); - num = 807288912; - break; - } - case 12: - goto IL_044c; - case 24: - { - uint valueOrDefault = num8.GetValueOrDefault(); - instructions.Add(new NavInstruction.InteractWarp(valueOrDefault, warpNode.WarpRowId, (ushort)territoryId, (ushort)territoryId2)); - return; - } - case 1: - { - uint? dataId = num8; - instructions.Add(new NavInstruction.Move((ushort)territoryId4, seg.To.Position, seg.Fly, seg.Fly, flag ? ((float?)null) : new float?(3f), dataId, null, DisableNavmesh: false, AllowZoneTransition: false, seg.To.Id, seg.From.Id, flag)); - return; - } - case 5: - num9 = 0; - goto IL_0562; - case 37: - goto IL_0609; - case 28: instructions.Add(new NavInstruction.WaitForNavmesh()); - num = 807288933; - break; - case 29: - num8 = warpNode2.NpcDataId; - num = 807288897; - break; - case 23: - goto IL_0661; - case 18: - goto IL_0685; - case 10: - goto IL_06b0; - case 14: - _206F_206D_206C_202A_200C_206F_202C_206D_200B_206D_202E_200E_206C_206F_202B_200E_202B_200B_200B_202B_206F_206F_202C_206E_202A_206A_200B_206B_202E_202E_202D_206D_202D_200B_200F_206A_202D_202E_206E_202E((ILogger)logger, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(630015669), new object[2] - { - ticketNode.ItemId, - territoryInfo.GetNameAndId(ticketNode.TerritoryId) - }); - instructions.Add(new NavInstruction.Unmount()); - instructions.Add(new NavInstruction.UseTeleportTicket(ticketNode.ItemId, (ushort)ticketNode.TerritoryId)); - instructions.Add(new NavInstruction.WaitForTerritory(new global::_003C_003Ez__ReadOnlySingleElementList(ticketNode.TerritoryId), _200D_200B_202E_206A_202B_200E_202E_206D_206E_200C_200E_202B_206B_200F_206A_200D_206E_206D_206D_200D_206B_200C_206A_200D_202C_202C_206B_202D_206A_202B_202B_206A_200C_206A_202B_206B_206E_206B_206F_200F_202E(global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-2762116), territoryInfo.GetNameAndId(ticketNode.TerritoryId), global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-2010692120)))); - return; - case 8: - goto IL_078c; - case 11: - goto IL_07b7; - case 22: - goto IL_08c6; - case 36: - instructions.Add(new NavInstruction.Move((ushort)territoryId3, seg.To.Position, Fly: false, LandAtTarget: false, 3f, null, false, DisableNavmesh: true, AllowZoneTransition: false, seg.To.Id, seg.From.Id, IsFinal: false)); - return; - case 9: - goto IL_0a00; - case 27: - goto IL_0a3d; - case 35: - num8 = null; - num = 807288897; - break; - case 13: - goto IL_0aab; - case 33: - instructions.Add(new NavInstruction.SubRegionTransport(seg.From.Position, seg.To.Position, (ushort)territoryId3)); - return; - case 4: - goto IL_0afd; - case 26: - num7 = (ushort)seg.To.TerritoryId; - goto IL_02e1; - case 3: - { - num = 807288906; - break; - } - IL_02e1: - expectedTerritory = (ushort)num7; - _206F_206D_206C_202A_200C_206F_202C_206D_200B_206D_202E_200E_206C_206F_202B_200E_202B_200B_200B_202B_206F_206F_202C_206E_202A_206A_200B_206B_202E_202E_202D_206D_202D_200B_200F_206A_202D_202E_206E_202E((ILogger)logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(1751938459), new object[1] { seg.TeleportTarget.Value }); - instructions.Add(new NavInstruction.Teleport(seg.TeleportTarget.Value, expectedTerritory)); - return; - IL_0562: - flag = (byte)num9 != 0; - _206F_206D_206C_202A_200C_206F_202C_206D_200B_206D_202E_200E_206C_206F_202B_200E_202B_200B_200B_202B_206F_206F_202C_206E_202A_206A_200B_206B_202E_202E_202D_206D_202D_200B_200F_206A_202D_202E_206E_202E((ILogger)logger, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(363490105), new object[2] - { - territoryInfo.GetNameAndId(territoryId4), - flag ? global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(988567605) : global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-1568919776) - }); - instructions.Add(new NavInstruction.WaitForTerritory(new global::_003C_003Ez__ReadOnlySingleElementList(territoryId4), _200D_200B_202E_206A_202B_200E_202E_206D_206E_200C_200E_202B_206B_200F_206A_200D_206E_206D_206D_200D_206B_200C_206A_200D_202C_202C_206B_202D_206A_202B_202B_206A_200C_206A_202B_206B_206E_206B_206F_200F_202E(global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-2762116), territoryInfo.GetNameAndId(territoryId4), global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-2010692120)))); - num = (disableNavmesh ? 807288933 : 807288924); - break; } - continue; - IL_0aab: - num8 = warpNode.NpcDataId; - num = ((!num8.HasValue) ? 807288921 : 807288920); - continue; - IL_0a00: - num = (aetheryteData.TerritoryIds.TryGetValue(seg.TeleportTarget.Value, out value) ? 807288916 : 807288922); - continue; - IL_0200: - num = ((subRegionConnectorNode.Kind != SubRegionConnectorKind.Move) ? 807288929 : 807288932); - continue; - IL_0a3d: - num = ((!TryComputeApproach(trigger, seg.From.Position, previous?.From.Position, out approach)) ? 807288898 : 807288913); - continue; - IL_0685: - num = ((!seg.AethernetTo.HasValue) ? 807288927 : 807288926); - continue; - IL_0609: - warpNode2 = seg.To as NavNode.WarpNode; - num = (((object)warpNode2 == null) ? 807288931 : 807288925); - continue; - IL_032e: - zoneBoundaryNode = seg.From as NavNode.ZoneBoundaryNode; - num = (((object)zoneBoundaryNode == null) ? 807288898 : 807288919); - continue; - IL_02b8: - trigger = zoneBoundaryNode.Trigger; - num = (((object)trigger == null) ? 807288898 : 807288923); - continue; - IL_0661: - num = (zoneBoundaryNode.RequiresFlying ? 807288898 : 807288915); - continue; - end_IL_003d: + uint? num = ((!(seg.To is NavNode.WarpNode warpNode)) ? ((uint?)null) : warpNode.NpcDataId); + uint? dataId = num; + instructions.Add(new NavInstruction.Move((ushort)territoryId, seg.To.Position, seg.Fly, seg.Fly, flag ? ((float?)null) : new float?(3f), dataId, null, DisableNavmesh: false, AllowZoneTransition: false, seg.To.Id, seg.From.Id, flag)); break; } - goto IL_01d4; - IL_01d4: - ticketNode = seg.To as NavNode.TicketNode; - num = (((object)ticketNode != null) ? 807288910 : 807288911); - goto IL_003d; - IL_0afd: - num = ((!seg.AethernetFrom.HasValue) ? 807288927 : 807288914); - goto IL_003d; - IL_027e: - territoryId4 = seg.From.TerritoryId; - num3 = 1; - num4 = segmentCount; - num = ((index != ~(~num4 + num3)) ? 807288901 : 807288930); - goto IL_003d; - IL_06b0: - _200E_200E_200B_206E_206C_200C_200B_200E_206E_206D_200D_200D_200C_206F_202B_202C_206A_206A_202E_206F_202B_200D_200F_206B_200D_200D_206B_206B_202E_206F_202E_206A_200F_202B_202E_200F_206B_206E_202B_200C_202E((ILogger)logger, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(968645964), new object[1] { seg.EdgeType }); - num = 807288927; - goto IL_003d; - IL_07b7: - territoryId5 = seg.From.TerritoryId; - territoryId6 = seg.To.TerritoryId; - _206F_206D_206C_202A_200C_206F_202C_206D_200B_206D_202E_200E_206C_206F_202B_200E_202B_200B_200B_202B_206F_206F_202C_206E_202A_206A_200B_206B_202E_202E_202D_206D_202D_200B_200F_206A_202D_202E_206E_202E((ILogger)logger, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-940746981), new object[2] + case NavEdgeType.ZoneBoundary: { - territoryInfo.GetNameAndId(territoryId5), - territoryInfo.GetNameAndId(territoryId6) - }); - global::_003C_003Ez__ReadOnlyArray acceptable = new global::_003C_003Ez__ReadOnlyArray(new uint[2] { territoryId5, territoryId6 }); - DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(21, 2); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-2121195380)); - defaultInterpolatedStringHandler.AppendFormatted(territoryInfo.GetNameAndId(territoryId5)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-1654880308)); - defaultInterpolatedStringHandler.AppendFormatted(territoryInfo.GetNameAndId(territoryId6)); - defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-2010692120)); - instructions.Add(new NavInstruction.WaitForTerritory(acceptable, defaultInterpolatedStringHandler.ToStringAndClear())); - instructions.Add(new NavInstruction.WaitForNavmesh()); - num = ((!seg.Fly) ? 807288898 : 807288903); - goto IL_003d; - IL_078c: - num = ((!seg.TeleportTarget.HasValue) ? 807288927 : 807288905); - goto IL_003d; - IL_08c6: - territoryId3 = seg.From.TerritoryId; - _206F_206D_206C_202A_200C_206F_202C_206D_200B_206D_202E_200E_206C_206F_202B_200E_202B_200B_200B_202B_206F_206F_202C_206E_202A_206A_200B_206B_202E_202E_202D_206D_202D_200B_200F_206A_202D_202E_206E_202E((ILogger)logger, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(713062435), new object[1] { territoryInfo.GetNameAndId(territoryId3) }); - instructions.Add(new NavInstruction.WaitForTerritory(new global::_003C_003Ez__ReadOnlySingleElementList(territoryId3), _200D_200B_202E_206A_202B_200E_202E_206D_206E_200C_200E_202B_206B_200F_206A_200D_206E_206D_206D_200D_206B_200C_206A_200D_202C_202C_206B_202D_206A_202B_202B_206A_200C_206A_202B_206B_206E_206B_206F_200F_202E(global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(71095156), territoryInfo.GetNameAndId(territoryId3), global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(998949340)))); - instructions.Add(new NavInstruction.WaitForNavmesh()); - ushort territory3 = (ushort)territoryId3; - Vector3 position3 = seg.From.Position; - float? stopDistance3 = 0f; - num8 = null; - instructions.Add(new NavInstruction.Move(territory3, position3, Fly: false, LandAtTarget: false, stopDistance3, num8, false, DisableNavmesh: false, AllowZoneTransition: false, seg.From.Id, null, IsFinal: false)); - subRegionConnectorNode = seg.From as NavNode.SubRegionConnectorNode; - num = (((object)subRegionConnectorNode == null) ? 807288929 : 807288902); - goto IL_003d; - } - - static Vector3 _202D_200F_202D_206F_206E_200B_202A_206C_206B_202B_200F_200C_206F_206E_200D_202E_206B_202B_200C_206F_200B_202D_202D_206C_202A_206C_200C_206B_202B_200C_206C_206A_202C_202B_202B_200C_206C_200E_202B_206E_202E(TriggerBox P_0) - { - return P_0.HalfExtents; - } - - static Vector3 _206D_202C_200C_202D_206B_200C_200B_206C_202C_202C_202B_206C_202B_200C_202D_206A_202B_202C_202D_200C_206E_202A_206D_206E_200B_206C_206F_200C_206D_200C_202D_206C_200D_206A_206D_206E_202C_206E_206D_202E(TriggerBox P_0) - { - return P_0.RotationRadians; - } - - static Vector3 _202E_202E_200B_202A_206D_200C_202C_206F_202E_202D_200B_202A_206C_202D_206C_200F_202A_206D_202C_202D_206E_206C_200D_202B_206E_202E_202D_200C_206F_200F_202D_200B_200C_200D_202B_206E_200E_202B_206B_206F_202E(TriggerBox P_0) - { - return P_0.Translation; - } - - static void _206F_206D_206C_202A_200C_206F_202C_206D_200B_206D_202E_200E_206C_206F_202B_200E_202B_200B_200B_202B_206F_206F_202C_206E_202A_206A_200B_206B_202E_202E_202D_206D_202D_200B_200F_206A_202D_202E_206E_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogTrace(P_1, P_2); - } - - static string _200D_200B_202E_206A_202B_200E_202E_206D_206E_200C_200E_202B_206B_200F_206A_200D_206E_206D_206D_200D_206B_200C_206A_200D_202C_202C_206B_202D_206A_202B_202B_206A_200C_206A_202B_206B_206E_206B_206F_200F_202E(string P_0, string P_1, string P_2) - { - return P_0 + P_1 + P_2; - } - - static void _200E_200E_200B_206E_206C_200C_200B_200E_206E_206D_200D_200D_200C_206F_202B_202C_206A_206A_202E_206F_202B_200D_200F_206B_200D_200D_206B_206B_202E_206F_202E_206A_200F_202B_202E_200F_206B_206E_202B_200C_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); + uint territoryId3 = seg.From.TerritoryId; + territoryId4 = seg.To.TerritoryId; + logger.LogTrace("SmartNav: Cross boundary {From} -> {To}", territoryInfo.GetNameAndId(territoryId3), territoryInfo.GetNameAndId(territoryId4)); + instructions.Add(new NavInstruction.WaitForTerritory(new global::_003C_003Ez__ReadOnlyArray(new uint[2] { territoryId3, territoryId4 }), $"Wait(territory: {territoryInfo.GetNameAndId(territoryId3)} or {territoryInfo.GetNameAndId(territoryId4)})")); + instructions.Add(new NavInstruction.WaitForNavmesh()); + if (seg.Fly && seg.From is NavNode.ZoneBoundaryNode { RequiresFlying: false } zoneBoundaryNode) + { + TriggerBox trigger = zoneBoundaryNode.Trigger; + if ((object)trigger != null && TryComputeApproach(trigger, seg.From.Position, previous?.From.Position, out var approach)) + { + instructions.Add(new NavInstruction.Move((ushort)territoryId3, approach, Fly: true, LandAtTarget: true, 3f, null, null, DisableNavmesh: false, AllowZoneTransition: true, seg.From.Id, null, IsFinal: false)); + instructions.Add(new NavInstruction.Move((ushort)territoryId3, seg.From.Position, Fly: false, LandAtTarget: false, 0f, null, null, DisableNavmesh: false, AllowZoneTransition: true, seg.From.Id, null, IsFinal: false)); + goto IL_04b4; + } + } + instructions.Add(new NavInstruction.Move((ushort)territoryId3, seg.From.Position, seg.Fly, seg.Fly, 0f, null, null, DisableNavmesh: false, AllowZoneTransition: true, seg.From.Id, null, IsFinal: false)); + goto IL_04b4; + } + case NavEdgeType.Warp: + { + uint territoryId5 = seg.From.TerritoryId; + uint territoryId6 = seg.To.TerritoryId; + logger.LogTrace("SmartNav: Warp from {From} to {To}", territoryInfo.GetNameAndId(territoryId5), territoryInfo.GetNameAndId(territoryId6)); + if (seg.From is NavNode.WarpNode { NpcDataId: { } npcDataId } warpNode2) + { + instructions.Add(new NavInstruction.InteractWarp(npcDataId, warpNode2.WarpRowId, (ushort)territoryId5, (ushort)territoryId6)); + break; + } + logger.LogWarning("SmartNav: warp segment {From} -> {To} has no interactable source NPC; segment dropped", territoryInfo.GetNameAndId(territoryId5), territoryInfo.GetNameAndId(territoryId6)); + break; + } + case NavEdgeType.SubRegionTransport: + { + uint territoryId2 = seg.From.TerritoryId; + logger.LogTrace("SmartNav: Sub-region transport in {Territory}", territoryInfo.GetNameAndId(territoryId2)); + instructions.Add(new NavInstruction.WaitForTerritory(new global::_003C_003Ez__ReadOnlySingleElementList(territoryId2), "Wait(territory: " + territoryInfo.GetNameAndId(territoryId2) + ")")); + instructions.Add(new NavInstruction.WaitForNavmesh()); + instructions.Add(new NavInstruction.Move((ushort)territoryId2, seg.From.Position, Fly: false, LandAtTarget: false, 0f, null, false, DisableNavmesh: false, AllowZoneTransition: false, seg.From.Id, null, IsFinal: false)); + if (seg.From is NavNode.SubRegionConnectorNode { Kind: SubRegionConnectorKind.Move }) + { + instructions.Add(new NavInstruction.Move((ushort)territoryId2, seg.To.Position, Fly: false, LandAtTarget: false, 3f, null, false, DisableNavmesh: true, AllowZoneTransition: false, seg.To.Id, seg.From.Id, IsFinal: false)); + } + else + { + instructions.Add(new NavInstruction.SubRegionTransport(seg.From.Position, seg.To.Position, (ushort)territoryId2)); + } + break; + } + case NavEdgeType.TicketTeleport: + if (!(seg.To is NavNode.TicketNode ticketNode)) + { + logger.LogWarning("SmartNav: ticket teleport segment without a ticket node; segment dropped"); + break; + } + logger.LogTrace("SmartNav: Teleport ticket {ItemId} to {Territory}", ticketNode.ItemId, territoryInfo.GetNameAndId(ticketNode.TerritoryId)); + instructions.Add(new NavInstruction.Unmount()); + instructions.Add(new NavInstruction.UseTeleportTicket(ticketNode.ItemId, (ushort)ticketNode.TerritoryId)); + instructions.Add(new NavInstruction.WaitForTerritory(new global::_003C_003Ez__ReadOnlySingleElementList(ticketNode.TerritoryId), "Wait(territory: " + territoryInfo.GetNameAndId(ticketNode.TerritoryId) + ")")); + break; + default: + { + logger.LogWarning("SmartNav: unhandled edge type {EdgeType}; segment dropped", seg.EdgeType); + break; + } + IL_04b4: + instructions.Add(new NavInstruction.WaitForTerritory(new global::_003C_003Ez__ReadOnlySingleElementList(territoryId4), "Wait(territory: " + territoryInfo.GetNameAndId(territoryId4) + ")")); + break; + } } } diff --git a/SmartNav/SmartNav/RouteResult.cs b/SmartNav/SmartNav/RouteResult.cs index f252a4e..e8b9c42 100644 --- a/SmartNav/SmartNav/RouteResult.cs +++ b/SmartNav/SmartNav/RouteResult.cs @@ -1,111 +1,13 @@ using System; using System.Collections.Generic; using System.Runtime.CompilerServices; -using System.Text; namespace SmartNav; public sealed record RouteResult(IReadOnlyList Segments, float TotalTimeCost, int TotalGilCost) { - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _202A_202E_200E_206E_206D_200C_200B_206A_200D_206B_200F_200C_200C_202B_202E_202D_200B_200E_202A_206F_200F_202D_202A_202C_202A_200C_206C_206A_200C_206C_206B_200D_200E_202E_202A_206F_200C_202D_200B_202C_202E(typeof(RouteResult).TypeHandle); - } - } - public static readonly RouteResult Empty = new RouteResult(Array.Empty(), 0f, 0); - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _202A_206D_202D_200B_202E_202E_202D_206C_200C_200E_206D_200E_206D_202C_200B_202B_206A_202C_206F_206A_206E_206C_202D_200D_200C_200F_206D_200C_202C_202B_202A_200B_206A_202E_206E_202C_200D_206B_200C_206E_202E(); - _202A_206B_202A_200E_206D_202B_202E_202D_206F_200D_206F_202A_206E_202D_202E_200D_206F_206F_202E_200F_200E_202B_200F_206C_202C_200C_202E_202E_202B_206D_206E_200E_206E_202E_202B_202D_200E_202D_200D_206D_202E(stringBuilder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-577380167)); - _202A_206B_202A_200E_206D_202B_202E_202D_206F_200D_206F_202A_206E_202D_202E_200D_206F_206F_202E_200F_200E_202B_200F_206C_202C_200C_202E_202E_202B_206D_206E_200E_206E_202E_202B_202D_200E_202D_200D_206D_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(1547267250)); - int num = ((!PrintMembers(stringBuilder)) ? (-6444735) : (-6444734)); - while (true) - { - int num2 = num; - int num3 = -6444733; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -6444734; - break; - case 2: - _202D_202C_200F_200E_206C_200D_206B_202A_200C_200B_206E_202A_200B_200D_202A_206C_200C_200C_202C_206C_202D_202B_206D_206A_202E_200C_200D_200F_200B_202A_206A_206D_202B_206F_200B_200F_202B_206F_206F_206A_202E(stringBuilder, '}'); - return _206C_200C_200C_202B_200C_200B_200B_200C_206B_200D_206A_206B_206A_206B_202D_206C_200C_206B_202E_200C_200E_206D_206B_202D_200F_202D_200F_202E_206C_206D_202E_206D_206E_206C_202D_206A_200D_200D_202E_202D_202E((object)stringBuilder); - case 1: - _202D_202C_200F_200E_206C_200D_206B_202A_200C_200B_206E_202A_200B_200D_202A_206C_200C_200C_202C_206C_202D_202B_206D_206A_202E_200C_200D_200F_200B_202A_206A_206D_202B_206F_200B_200F_202B_206F_206F_206A_202E(stringBuilder, ' '); - num = -6444735; - break; - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _202E_206B_202C_206E_202E_206C_206A_200F_200C_206A_200D_206D_202C_202C_202A_206B_200C_206A_206E_200C_200D_200C_202E_200E_200E_206E_202E_200F_206B_202A_206E_206D_206E_202A_202A_206C_202E_206D_200B_202B_202E(); - _202A_206B_202A_200E_206D_202B_202E_202D_206F_200D_206F_202A_206E_202D_202E_200D_206F_206F_202E_200F_200E_202B_200F_206C_202C_200C_202E_202E_202B_206D_206E_200E_206E_202E_202B_202D_200E_202D_200D_206D_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-1058882453)); - _200E_200E_206D_206A_206A_200B_206C_200B_200B_200B_206B_200C_206B_202C_200D_202A_206A_200C_200C_202B_202E_200B_202D_202A_206C_200C_202E_206C_202D_206A_202C_200C_206D_200C_200E_206B_200C_202D_206B_206D_202E(builder, (object)Segments); - _202A_206B_202A_200E_206D_202B_202E_202D_206F_200D_206F_202A_206E_202D_202E_200D_206F_206F_202E_200F_200E_202B_200F_206C_202C_200C_202E_202E_202B_206D_206E_200E_206E_202E_202B_202D_200E_202D_200D_206D_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-36131857)); - _202A_206B_202A_200E_206D_202B_202E_202D_206F_200D_206F_202A_206E_202D_202E_200D_206F_206F_202E_200F_200E_202B_200F_206C_202C_200C_202E_202E_202B_206D_206E_200E_206E_202E_202B_202D_200E_202D_200D_206D_202E(builder, TotalTimeCost.ToString()); - _202A_206B_202A_200E_206D_202B_202E_202D_206F_200D_206F_202A_206E_202D_202E_200D_206F_206F_202E_200F_200E_202B_200F_206C_202C_200C_202E_202E_202B_206D_206E_200E_206E_202E_202B_202D_200E_202D_200D_206D_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-169019911)); - _202A_206B_202A_200E_206D_202B_202E_202D_206F_200D_206F_202A_206E_202D_202E_200D_206F_206F_202E_200F_200E_202B_200F_206C_202C_200C_202E_202E_202B_206D_206E_200E_206E_202E_202B_202D_200E_202D_200D_206D_202E(builder, TotalGilCost.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(RouteResult? other) - { - int num = (((object)this == other) ? (-1895963469) : (-1895963465)); - while (true) - { - int num2 = num; - int num3 = -1895963466; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = -1895963465; - break; - case 6: - return EqualityComparer.Default.Equals(TotalGilCost, other.TotalGilCost); - case 4: - num = ((!_206F_200F_202B_206C_200B_202A_200E_202A_206F_200D_202B_202D_202B_200C_202B_202C_206C_206A_202C_206C_206D_200B_206F_200E_202D_202C_202D_200E_202A_202A_206E_206F_202E_200B_206B_206C_206D_206B_202E_200F_202E(EqualityContract, other.EqualityContract)) ? (-1895963467) : (-1895963466)); - break; - case 5: - return true; - case 7: - num = ((!EqualityComparer.Default.Equals(TotalTimeCost, other.TotalTimeCost)) ? (-1895963467) : (-1895963472)); - break; - case 0: - num = ((!EqualityComparer>.Default.Equals(Segments, other.Segments)) ? (-1895963467) : (-1895963471)); - break; - case 3: - return false; - case 1: - num = (((object)other == null) ? (-1895963467) : (-1895963470)); - break; - } - } - } - - bool IEquatable.Equals(RouteResult? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - [CompilerGenerated] private RouteResult(RouteResult original) { @@ -113,44 +15,4 @@ public sealed record RouteResult(IReadOnlyList Segments, float Tot TotalTimeCost = original.TotalTimeCost; TotalGilCost = original.TotalGilCost; } - - static Type _202A_202E_200E_206E_206D_200C_200B_206A_200D_206B_200F_200C_200C_202B_202E_202D_200B_200E_202A_206F_200F_202D_202A_202C_202A_200C_206C_206A_200C_206C_206B_200D_200E_202E_202A_206F_200C_202D_200B_202C_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _202A_206D_202D_200B_202E_202E_202D_206C_200C_200E_206D_200E_206D_202C_200B_202B_206A_202C_206F_206A_206E_206C_202D_200D_200C_200F_206D_200C_202C_202B_202A_200B_206A_202E_206E_202C_200D_206B_200C_206E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202A_206B_202A_200E_206D_202B_202E_202D_206F_200D_206F_202A_206E_202D_202E_200D_206F_206F_202E_200F_200E_202B_200F_206C_202C_200C_202E_202E_202B_206D_206E_200E_206E_202E_202B_202D_200E_202D_200D_206D_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _202D_202C_200F_200E_206C_200D_206B_202A_200C_200B_206E_202A_200B_200D_202A_206C_200C_200C_202C_206C_202D_202B_206D_206A_202E_200C_200D_200F_200B_202A_206A_206D_202B_206F_200B_200F_202B_206F_206F_206A_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _206C_200C_200C_202B_200C_200B_200B_200C_206B_200D_206A_206B_206A_206B_202D_206C_200C_206B_202E_200C_200E_206D_206B_202D_200F_202D_200F_202E_206C_206D_202E_206D_206E_206C_202D_206A_200D_200D_202E_202D_202E(object P_0) - { - return P_0.ToString(); - } - - static void _202E_206B_202C_206E_202E_206C_206A_200F_200C_206A_200D_206D_202C_202C_202A_206B_200C_206A_206E_200C_200D_200C_202E_200E_200E_206E_202E_200F_206B_202A_206E_206D_206E_202A_202A_206C_202E_206D_200B_202B_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _200E_200E_206D_206A_206A_200B_206C_200B_200B_200B_206B_200C_206B_202C_200D_202A_206A_200C_200C_202B_202E_200B_202D_202A_206C_200C_202E_206C_202D_206A_202C_200C_206D_200C_200E_206B_200C_202D_206B_206D_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206F_200F_202B_206C_200B_202A_200E_202A_206F_200D_202B_202D_202B_200C_202B_202C_206C_206A_202C_206C_206D_200B_206F_200E_202D_202C_202D_200E_202A_202A_206E_206F_202E_200B_206B_206C_206D_206B_202E_200F_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } } diff --git a/SmartNav/SmartNav/RouteSegment.cs b/SmartNav/SmartNav/RouteSegment.cs index 2fe3526..8b2cbf7 100644 --- a/SmartNav/SmartNav/RouteSegment.cs +++ b/SmartNav/SmartNav/RouteSegment.cs @@ -1,176 +1,6 @@ -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; using SmartNav.Graph; using SmartNav.Model; namespace SmartNav; -public sealed record RouteSegment(NavEdgeType EdgeType, NavNode From, NavNode To, float TimeCost, int GilCost, EAetheryteLocation? TeleportTarget = null, EAetheryteLocation? AethernetFrom = null, EAetheryteLocation? AethernetTo = null, bool Fly = false) -{ - [CompilerGenerated] - private Type EqualityContract - { - [CompilerGenerated] - get - { - return _206E_202B_206E_200F_200F_206A_202D_202C_200D_200C_200D_206E_206E_206D_206C_206A_206B_202D_202A_200B_200C_206F_200D_202E_206C_202A_200F_206A_202D_206A_200D_202D_200C_206B_206B_200C_202C_206B_206E_202A_202E(typeof(RouteSegment).TypeHandle); - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - public override string ToString() - { - StringBuilder stringBuilder = _206A_200B_206F_202E_202E_200B_200C_202A_202D_202C_202E_202C_202E_200E_200B_202B_200C_202D_202D_206E_206A_200B_206F_206B_200C_206C_200B_202C_200D_202C_206E_202E_202E_206B_206A_200E_206D_202D_202D_200E_202E(); - _202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E(604182264)); - _202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(stringBuilder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(1886515922)); - int num = ((!PrintMembers(stringBuilder)) ? 113490331 : 113490328); - while (true) - { - int num2 = num; - int num3 = 113490330; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 113490328; - break; - case 2: - _200E_202D_206B_206F_206F_206F_200C_202E_202D_200F_206B_202B_200D_206E_202C_202B_206F_206F_206F_200B_200D_200D_200F_202D_206F_200C_202A_200F_200B_206B_202A_202A_202C_200F_202A_200D_206A_202D_200D_202D_202E(stringBuilder, ' '); - num = 113490331; - break; - case 1: - _200E_202D_206B_206F_206F_206F_200C_202E_202D_200F_206B_202B_200D_206E_202C_202B_206F_206F_206F_200B_200D_200D_200F_202D_206F_200C_202A_200F_200B_206B_202A_202A_202C_200F_202A_200D_206A_202D_200D_202D_202E(stringBuilder, '}'); - return _202C_206B_202C_202D_202A_206E_206C_202D_200D_206D_206F_202C_206C_206A_206D_200B_200F_202E_202B_202D_200D_200C_202C_202C_202E_206A_200D_206A_202B_202B_202C_202A_206A_206E_202E_200D_202D_200B_200F_202A_202E((object)stringBuilder); - } - } - } - - [MethodImpl(MethodImplOptions.NoInlining)] - [CompilerGenerated] - private bool PrintMembers(StringBuilder builder) - { - _200E_206C_206D_200D_206C_200B_202C_202C_206A_200B_200D_206B_206D_206D_202C_206B_206F_200D_200F_206D_206D_202A_200F_202B_200C_202B_202C_206B_206B_200B_202B_202C_202B_202A_200D_200F_200F_200E_202D_206E_202E(); - _202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-1357100031)); - _202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, EdgeType.ToString()); - _202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(-813710077)); - _206D_202D_202D_206E_200B_200F_200C_200D_202A_200B_200C_206A_200F_202C_200E_206E_200F_200C_202E_200E_206D_202E_200B_206B_206B_200D_206D_202D_200C_206D_206B_206E_200C_202A_206E_206F_206F_200D_202E_200C_202E(builder, (object)From); - _202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E(-865901425)); - _206D_202D_202D_206E_200B_200F_200C_200D_202A_200B_200C_206A_200F_202C_200E_206E_200F_200C_202E_200E_206D_202E_200B_206B_206B_200D_206D_202D_200C_206D_206B_206E_200C_202A_206E_206F_206F_200D_202E_200C_202E(builder, (object)To); - _202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(1456359759)); - _202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, TimeCost.ToString()); - _202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(777403998)); - _202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, GilCost.ToString()); - _202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(1828871146)); - _202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, TeleportTarget.ToString()); - _202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E(448663852)); - _202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, AethernetFrom.ToString()); - _202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E(-874714194)); - _202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, AethernetTo.ToString()); - _202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(-1888043309)); - _202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, Fly.ToString()); - return true; - } - - [CompilerGenerated] - public bool Equals(RouteSegment? other) - { - int num = (((object)this == other) ? 128949533 : 128949523); - while (true) - { - int num2 = num; - int num3 = 128949535; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 5: - num = 128949523; - break; - case 2: - return true; - case 10: - num = ((!EqualityComparer.Default.Equals(TimeCost, other.TimeCost)) ? 128949534 : 128949527); - break; - case 8: - num = ((!EqualityComparer.Default.Equals(GilCost, other.GilCost)) ? 128949534 : 128949535); - break; - case 12: - num = (((object)other == null) ? 128949534 : 128949526); - break; - case 4: - num = ((!EqualityComparer.Default.Equals(AethernetFrom, other.AethernetFrom)) ? 128949534 : 128949522); - break; - case 3: - num = ((!EqualityComparer.Default.Equals(EdgeType, other.EdgeType)) ? 128949534 : 128949528); - break; - case 1: - return false; - case 0: - num = ((!EqualityComparer.Default.Equals(TeleportTarget, other.TeleportTarget)) ? 128949534 : 128949531); - break; - case 6: - num = ((!EqualityComparer.Default.Equals(To, other.To)) ? 128949534 : 128949525); - break; - case 7: - num = ((!EqualityComparer.Default.Equals(From, other.From)) ? 128949534 : 128949529); - break; - case 11: - return EqualityComparer.Default.Equals(Fly, other.Fly); - case 13: - num = ((!EqualityComparer.Default.Equals(AethernetTo, other.AethernetTo)) ? 128949534 : 128949524); - break; - case 9: - num = ((!_206C_200B_200C_206F_206A_202A_202E_200B_202C_200B_200B_206D_202E_206E_206A_202E_206C_200B_200B_200C_202E_202B_206B_206F_206B_206B_200F_206C_206C_206F_206A_206A_206A_200E_206C_200C_200E_200C_202E_202E_202E(EqualityContract, other.EqualityContract)) ? 128949534 : 128949532); - break; - } - } - } - - bool IEquatable.Equals(RouteSegment? other) - { - //ILSpy generated this explicit interface implementation from .override directive in Equals - return this.Equals(other); - } - - static Type _206E_202B_206E_200F_200F_206A_202D_202C_200D_200C_200D_206E_206E_206D_206C_206A_206B_202D_202A_200B_200C_206F_200D_202E_206C_202A_200F_206A_202D_206A_200D_202D_200C_206B_206B_200C_202C_206B_206E_202A_202E(RuntimeTypeHandle P_0) - { - return Type.GetTypeFromHandle(P_0); - } - - static StringBuilder _206A_200B_206F_202E_202E_200B_200C_202A_202D_202C_202E_202C_202E_200E_200B_202B_200C_202D_202D_206E_206A_200B_206F_206B_200C_206C_200B_202C_200D_202C_206E_202E_202E_206B_206A_200E_206D_202D_202D_200E_202E() - { - return new StringBuilder(); - } - - static StringBuilder _202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(StringBuilder P_0, string P_1) - { - return P_0.Append(P_1); - } - - static StringBuilder _200E_202D_206B_206F_206F_206F_200C_202E_202D_200F_206B_202B_200D_206E_202C_202B_206F_206F_206F_200B_200D_200D_200F_202D_206F_200C_202A_200F_200B_206B_202A_202A_202C_200F_202A_200D_206A_202D_200D_202D_202E(StringBuilder P_0, char P_1) - { - return P_0.Append(P_1); - } - - static string _202C_206B_202C_202D_202A_206E_206C_202D_200D_206D_206F_202C_206C_206A_206D_200B_200F_202E_202B_202D_200D_200C_202C_202C_202E_206A_200D_206A_202B_202B_202C_202A_206A_206E_202E_200D_202D_200B_200F_202A_202E(object P_0) - { - return P_0.ToString(); - } - - static void _200E_206C_206D_200D_206C_200B_202C_202C_206A_200B_200D_206B_206D_206D_202C_206B_206F_200D_200F_206D_206D_202A_200F_202B_200C_202B_202C_206B_206B_200B_202B_202C_202B_202A_200D_200F_200F_200E_202D_206E_202E() - { - RuntimeHelpers.EnsureSufficientExecutionStack(); - } - - static StringBuilder _206D_202D_202D_206E_200B_200F_200C_200D_202A_200B_200C_206A_200F_202C_200E_206E_200F_200C_202E_200E_206D_202E_200B_206B_206B_200D_206D_202D_200C_206D_206B_206E_200C_202A_206E_206F_206F_200D_202E_200C_202E(StringBuilder P_0, object P_1) - { - return P_0.Append(P_1); - } - - static bool _206C_200B_200C_206F_206A_202A_202E_200B_202C_200B_200B_206D_202E_206E_206A_202E_206C_200B_200B_200C_202E_202B_206B_206F_206B_206B_200F_206C_206C_206F_206A_206A_206A_200E_206C_200C_200E_200C_202E_202E_202E(Type P_0, Type P_1) - { - return P_0 == P_1; - } -} +public sealed record RouteSegment(NavEdgeType EdgeType, NavNode From, NavNode To, float TimeCost, int GilCost, EAetheryteLocation? TeleportTarget = null, EAetheryteLocation? AethernetFrom = null, EAetheryteLocation? AethernetTo = null, bool Fly = false); diff --git a/SmartNav/SmartNav/WarpFailureTracker.cs b/SmartNav/SmartNav/WarpFailureTracker.cs index 5522114..df2f00b 100644 --- a/SmartNav/SmartNav/WarpFailureTracker.cs +++ b/SmartNav/SmartNav/WarpFailureTracker.cs @@ -1,6 +1,4 @@ using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Threading; using Microsoft.Extensions.Logging; namespace SmartNav; @@ -9,226 +7,58 @@ public sealed class WarpFailureTracker(ILogger logger) { private const int BlacklistThreshold = 3; - private readonly object _gate = _202B_206F_206C_202E_206C_200B_206F_206A_206D_200E_200D_200B_200C_200B_200C_206D_206F_202A_200E_206A_200F_206A_206B_200F_206F_200D_202B_206C_206F_200E_206D_206F_202E_200C_200B_206C_202D_200F_200F_200C_202E(); + private readonly object _gate = new object(); private readonly Dictionary _consecutiveFailures = new Dictionary(); private readonly HashSet _blacklisted = new HashSet(); - [MethodImpl(MethodImplOptions.NoInlining)] public bool RecordAttempt(uint warpRowId) { - object gate = _gate; - bool flag = false; - try + lock (_gate) { - _206C_200C_200F_206A_202B_200C_206B_206C_202E_202A_206F_206C_200E_200B_202C_206C_206A_200D_202C_202E_206F_202E_202C_200C_206B_206C_206A_202E_206C_206B_206A_206D_200F_200D_202E_206A_200F_200E_206D_200E_202E(gate, ref flag); - int num = ((!_blacklisted.Contains(warpRowId)) ? (-1875615629) : (-1875615627)); - int num7 = default(int); - while (true) + if (_blacklisted.Contains(warpRowId)) { - int num2 = num; - int num3 = -1875615625; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 0: - num = -1875615627; - break; - case 4: - num7 = _consecutiveFailures.GetValueOrDefault(warpRowId) + 1; - _consecutiveFailures[warpRowId] = num7; - num = ((num7 >= 3) ? (-1875615628) : (-1875615626)); - break; - case 1: - return false; - case 2: - return false; - case 3: - _blacklisted.Add(warpRowId); - _202B_202C_206C_206E_206E_200F_200F_206F_202A_206D_206D_206B_206C_206C_200D_206A_202C_206F_206F_206F_200D_200B_200B_200B_206C_202E_206C_202A_202C_200F_200F_200C_206E_200E_202C_200E_200C_202C_200C_202A_202E((ILogger)logger, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E(1267719469), new object[2] { warpRowId, num7 }); - return true; - } + return false; } - } - finally - { - int num = ((!flag) ? (-1114779348) : (-1114779345)); - while (true) + int num = _consecutiveFailures.GetValueOrDefault(warpRowId) + 1; + _consecutiveFailures[warpRowId] = num; + if (num < 3) { - int num8 = num; - int num3 = -1114779347; - int num4 = num8; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -1114779345; - break; - case 1: - goto end_IL_013c; - case 2: - _206C_200E_200B_202C_202A_200C_206E_206A_206E_206D_202B_202E_200C_202D_202E_200D_202A_202C_202E_200E_202C_206E_206D_202E_206F_202B_206B_200B_202E_202E_206C_202A_202B_206C_206F_202C_202E_206F_206E_202A_202E(gate); - num = -1114779348; - break; - } - continue; - end_IL_013c: - break; + return false; } + _blacklisted.Add(warpRowId); + logger.LogWarning("WarpFailureTracker: warp {WarpRowId} failed {Count} consecutive attempts without completing, blacklisting it for this navigation goal so routing avoids it", warpRowId, num); + return true; } } public void RecordSuccess(uint warpRowId) { - object gate = _gate; - bool flag = false; - try + lock (_gate) { - _206C_200C_200F_206A_202B_200C_206B_206C_202E_202A_206F_206C_200E_200B_202C_206C_206A_200D_202C_202E_206F_202E_202C_200C_206B_206C_206A_202E_206C_206B_206A_206D_200F_200D_202E_206A_200F_200E_206D_200E_202E(gate, ref flag); _consecutiveFailures.Remove(warpRowId); _blacklisted.Remove(warpRowId); } - finally - { - int num = ((!flag) ? 903611662 : 903611663); - while (true) - { - int num2 = num; - int num3 = 903611662; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 2: - num = 903611663; - break; - case 1: - _206C_200E_200B_202C_202A_200C_206E_206A_206E_206D_202B_202E_200C_202D_202E_200D_202A_202C_202E_200E_202C_206E_206D_202E_206F_202B_206B_200B_202E_202E_206C_202A_202B_206C_206F_202C_202E_206F_206E_202A_202E(gate); - num = 903611662; - break; - case 0: - goto end_IL_004c; - } - continue; - end_IL_004c: - break; - } - } } public bool IsBlacklisted(uint warpRowId) { - object gate = _gate; - bool flag = false; - try + lock (_gate) { - _206C_200C_200F_206A_202B_200C_206B_206C_202E_202A_206F_206C_200E_200B_202C_206C_206A_200D_202C_202E_206F_202E_202C_200C_206B_206C_206A_202E_206C_206B_206A_206D_200F_200D_202E_206A_200F_200E_206D_200E_202E(gate, ref flag); return _blacklisted.Contains(warpRowId); } - finally - { - int num = ((!flag) ? (-120992941) : (-120992944)); - while (true) - { - int num2 = num; - int num3 = -120992943; - int num4 = num2; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = -120992944; - break; - case 1: - _206C_200E_200B_202C_202A_200C_206E_206A_206E_206D_202B_202E_200C_202D_202E_200D_202A_202C_202E_200E_202C_206E_206D_202E_206F_202B_206B_200B_202E_202E_206C_202A_202B_206C_206F_202C_202E_206F_206E_202A_202E(gate); - num = -120992941; - break; - case 2: - goto end_IL_003f; - } - continue; - end_IL_003f: - break; - } - } } public void Reset() { - object gate = _gate; - bool flag = false; - try + lock (_gate) { - _206C_200C_200F_206A_202B_200C_206B_206C_202E_202A_206F_206C_200E_200B_202C_206C_206A_200D_202C_202E_206F_202E_202C_200C_206B_206C_206A_202E_206C_206B_206A_206D_200F_200D_202E_206A_200F_200E_206D_200E_202E(gate, ref flag); - int num = ((_consecutiveFailures.Count != 0) ? 1048906019 : 1048906018); - while (true) + if (_consecutiveFailures.Count != 0 || _blacklisted.Count != 0) { - int num2 = num; - int num3 = 1048906019; - int num4 = num2; - int num5 = num4 + num3; - int num6 = num4 & num3; - switch (num5 - (num6 + num6)) - { - case 2: - num = 1048906018; - break; - case 1: - num = ((_blacklisted.Count != 0) ? 1048906019 : 1048906016); - break; - case 3: - return; - case 0: - _consecutiveFailures.Clear(); - _blacklisted.Clear(); - return; - } + _consecutiveFailures.Clear(); + _blacklisted.Clear(); } } - finally - { - int num = ((!flag) ? 1457557147 : 1457557144); - while (true) - { - int num7 = num; - int num3 = 1457557146; - int num4 = num7; - switch ((num4 | num3) - (num4 & num3)) - { - case 0: - num = 1457557144; - break; - case 1: - goto end_IL_00dd; - case 2: - _206C_200E_200B_202C_202A_200C_206E_206A_206E_206D_202B_202E_200C_202D_202E_200D_202A_202C_202E_200E_202C_206E_206D_202E_206F_202B_206B_200B_202E_202E_206C_202A_202B_206C_206F_202C_202E_206F_206E_202A_202E(gate); - num = 1457557147; - break; - } - continue; - end_IL_00dd: - break; - } - } - } - - static object _202B_206F_206C_202E_206C_200B_206F_206A_206D_200E_200D_200B_200C_200B_200C_206D_206F_202A_200E_206A_200F_206A_206B_200F_206F_200D_202B_206C_206F_200E_206D_206F_202E_200C_200B_206C_202D_200F_200F_200C_202E() - { - return new object(); - } - - static void _206C_200C_200F_206A_202B_200C_206B_206C_202E_202A_206F_206C_200E_200B_202C_206C_206A_200D_202C_202E_206F_202E_202C_200C_206B_206C_206A_202E_206C_206B_206A_206D_200F_200D_202E_206A_200F_200E_206D_200E_202E(object P_0, ref bool P_1) - { - Monitor.Enter(P_0, ref P_1); - } - - static void _202B_202C_206C_206E_206E_200F_200F_206F_202A_206D_206D_206B_206C_206C_200D_206A_202C_206F_206F_206F_200D_200B_200B_200B_206C_202E_206C_202A_202C_200F_200F_200C_206E_200E_202C_200E_200C_202C_200C_202A_202E(ILogger P_0, string P_1, object[] P_2) - { - P_0.LogWarning(P_1, P_2); - } - - static void _206C_200E_200B_202C_202A_200C_206E_206A_206E_206D_202B_202E_200C_202D_202E_200D_202A_202C_202E_200E_202C_206E_206D_202E_206F_202B_206B_200B_202E_202E_206C_202A_202B_206C_206F_202C_202E_206F_206E_202A_202E(object P_0) - { - Monitor.Exit(P_0); } }